分散 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. 基本から理解するJWTとJWT認証の仕組み (2022-12-08)
  2. AWS認定資格を12個すべて取得したので勉強したことなどをまとめます (2022-12-12)
  3. Nuxt3入門(第4回) - Nuxtのルーティングを理解する (2022-10-09)
  4. Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する (2022-09-25)
  5. Nuxt3入門(第8回) - Nuxt3のuseStateでコンポーネント間で状態を共有する (2022-10-28)
  6. Jest再入門 - 関数・モジュールモック編 (2022-07-03)
  7. 自然言語処理初心者が「GPT2-japanese」で遊んでみた (2022-07-08)
  8. IoT を使ってみる(その6:MQTTブローカー Mosquitto編) (2022-10-08)
  9. Nuxt3入門(第3回) - ユニバーサルフェッチでデータを取得する (2022-10-06)
  10. 統計学で避けて通れない自由度の話 (2022-06-20)