分散 IoT Hub プラットフォーム

| 2 min read
Author: shigeki-shoji shigeki-shojiの画像

グローバルに展開する IoT プロダクトの場合、IoT デバイスとの通信のレイテンシーが非常に大きな課題となります。また、それぞれの地域で異なるセキュリティポリシーの課題もあり、可能な限りデバイスに近接したロケーションで処理を行い、中央との通信をフィルターし、通信量の低減も求められます。

AI の領域では、2021年11月8日の QCon Plus での Katharine Jarmul 氏のセッション「Machine Learning at the Edge」で説明されたように、連合機械学習 (Federated Machine Learning) によって、エッジデバイスで低レイテンシーな ML を実現することも可能となってきました。

マイクロサービスの領域では、2021年11月23日の Alaa Tadmori 氏の記事「Microservices — the Letter and the Spirit」や2020年9月3日の Paulo Merson 氏の記事「Principles for Microservice Design: Think IDEALS, Rather than SOLID」等で指摘されているように、イベント駆動の重要性が強調されています。

これらのことから、IoT Hub プラットフォームは、低レイテンシーを実現するために、各ロケーションと、グローバルな要件に対応した中央とに階層化された分散 IoT Hub プラットフォームを構築することが必要だろうと考えています。

それぞれのロケーションでは、下図のようなイベント駆動と HTTP や gRPC のための CDN で構成されたプラットフォームが配置されます。低レイテンシーな要件を処理するサービスが、エッジデバイス内または、各ロケーション内に実装され、稼働します。

図1

そして、グローバルな要件のためのプラットフォームは中央ロケーションに Event Bus や Message Bus として配置され、そのプラットフォーム上でさまざまなサービスが実装され、実行されることになります。

図2

参考

#
豆蔵デベロッパーサイト - 先週のアクセスランキング
  1. 自然言語処理初心者が「GPT2-japanese」で遊んでみた (2022-07-08)
  2. Tauri でデスクトップアプリ開発を始める (2022-07-08)
  3. Deno による Slack プラットフォーム(オープンベータ) (2022-09-27)
  4. Jest再入門 - 関数・モジュールモック編 (2022-07-03)
  5. ORマッパーのTypeORMをTypeScriptで使う (2022-07-27)
  6. 第1回 OpenAPI Generator を使ったコード生成 (2022-06-04)
  7. 直感が理性に大反抗!「モンティ・ホール問題」 (2022-07-04)
  8. Rust によるデスクトップアプリケーションフレームワーク Tauri (2022-03-06)
  9. 箱ひげ図で外れ値を確認する (2022-05-18)
  10. Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する (2022-09-25)