Webプロトコルの選択基準 • デバイスにはどの程度の制約がありますか?• 信頼できる/信頼できないネットワーク?• メッセージレートはどれくらいですか?• データはさらにどのように処理されますか?• 押すか引くか?• セキュリティ要件とは何ですか?• 必要な応答時間はどれくらいですか?
MQTT – メッセージ キューイング テレメトリ トランスポート
オープン、シンプル、軽量、実装しやすいように設計された軽量ブローカーベースのパブリッシュ/サブスクライブメッセージングプロトコル
• 理想的な場合
-
– ネットワークが高価、帯域幅が低い、または信頼性が低い
-
– プロセッサやメモリリソースが制限された組み込みデバイスで実行
特徴
-
– 1対多のメッセージを提供するためのパブリッシュ/サブスクライブメッセージパターン
-
– アプリケーションの分散と分離
-
– ペイロードの内容に依存しないメッセージングトランスポート
-
– 基本的なネットワーク接続を提供するためのTCP/IPの使用
-
– メッセージ配信のための3つのサービス品質
-
– 小さなトランスポートオーバーヘッド - 固定長ヘッダーはわずか2バイトです
MQTTの利点
ユーザーエクスペリエンスの向上
-
ほぼリアルタイムの情報プッシュ
-
バッテリー消費が最小限
-
メッセージングの保存と転送
-
1回限りの配信(必要な場合)
柔軟性と拡張性
イベント駆動型なので、1台のサーバーで100万のユーザーやデバイスをサポートできます。
パブリッシュ/サブスクライブアーキテクチャにより、既存のコードを変更することなく追加機能を簡単に統合できます。
ランニングコストの削減
非常にコンパクトなワイヤフォーマットにより、ネットワークコストが削減されます
フットプリントが軽量 – プロトコルは低電力デバイスで動作しますHTTPに比べてバッテリー消費が非常に少ない
開発コストの削減
リカバリ、ストアアンドフォワード、パブリッシュ/サブスクライブはMQTT実装によって提供される。
アプリケーション ロジックにコーディングする必要もありません。
開発者が簡単に習得できるシンプルな動詞のセット。
記録システムとの簡単な統合
CoAP – 制約付きアプリケーション プロトコル
CoAPは、制約のあるノードおよび制約のある (低電力、損失の多い) ネットワークで使用するための特殊なWeb転送プロトコルです。
• 理想的な場合
– 非常に低いオーバーヘッドを必要とする無線センサーネットワーク(WSN)などの制約のあるノード(例:RAMとROMが限られた8ビットマイクロコントローラ)
• 主な特徴
-
– 制約のある環境でM2M要件を満たすWebプロトコル
-
– ユニキャストおよびマルチキャスト要求をサポートするオプションの信頼性を備えたUDP [RFC0768] バインディング。
-
– 非同期メッセージ交換
-
– ヘッダーのオーバーヘッドと解析の複雑さが低い
-
– URI(Uniform Resource Identifier)とコンテンツタイプのサポート
-
– シンプルなプロキシとキャッシュ機能
-
– データグラム トランスポート層セキュリティ (DTLS) へのセキュリティ バインディング
CoAPのメリット
-
オープンIETF標準
-
オーバーヘッドが低く、制約アプリケーションに最適
-
ノイズやロスの多い環境でも問題なく動作します
-
組み込みの検出
-
強力なDTLSセキュリティ
-
非同期サブスクリプション
XMPP – 拡張可能なメッセージングおよびプレゼンス プロトコル
XMPPは、通常、クライアントサーバーアーキテクチャを介して実装されるオープンインスタントメッセージングプロトコルであり、XMPPを使用するクライアントはTCP接続を介してサーバーにアクセスし、サーバーもTCP接続を介して相互に通信します。
• 理想的な場合
– デバイスと人を繋ぐ。例えば、家庭用サーモスタットをウェブサーバーに接続して、携帯電話からデータにアクセスできるようにする -
• 主な特徴
-
– あらゆるピア間のエンドツーエンドの通信。name@domain.comアドレス指定方式により、遠く離れた、ほとんど無関係なエンドポイント間の接続が可能になります。
-
– エンドノードを使用したトランスポートは、任意のタイプ(IP、ZigBee、Bluetoothなど)にすることができます。
-
– XMLベース - 任意のペイロードで簡単に拡張できます。「Webサービス」の分散ネットワーク
-
– セキュリティ: 暗号化、クライアント認証、クライアント承認が必須で非常に堅牢
-
– ほぼリアルタイムのコミュニケーション
IoT向けXMPP拡張プロトコル (XEP)
XMPPネットワークを介したセンサーデータ通信のための基盤となるアーキテクチャ、基本操作、データ構造を提供します。
XMPPの利点
• 大規模なリアルタイムメッセージング - 100,000以上のノード
• 安全 – XMPPサーバーはパブリックネットワークから分離されており、SASLとTSLを使用した堅牢なセキュリティがコアに組み込まれています。-
• オープン – XMPPプロトコルは無料、オープン、パブリックであり、広く採用されています。
-
• 分散型 - XMPPネットワークのアーキテクチャは電子メールに似ており、誰でも独自のXMPPサーバーを実行できます。
データ配信サービス (DDS)
リアルタイムおよび組み込みシステムのパブリッシュ・サブスクライブ通信を直接扱う初のオープンな国際ミドルウェア標準
システム
-
• 理想的なのは
– デバイス間のリアルタイムで安全な通信
• 主な特徴
-
– DDSは分散化されており、サーバーやブローカーなしで展開できます。
-
– パブリッシュ/サブスクライブアーキテクチャ
-
– スケーラブルなパフォーマンス
-
数百万のデータ要素
-
0.5m更新/秒
-
10usのレイテンシー
-
1000人の消費者/更新
-
-
– QoSで管理
-
– 信頼性が高い - 単一障害点がない
-
– アプリケーションの存在を検出する機能が組み込まれています
DDSプロトコルの利点
-
プラットフォームに依存しない: オペレーティングシステムとプログラミング言語
-
複雑なリアルタイムアプリケーションに必要な柔軟性、信頼性、パフォーマンスを提供します
-
リアルタイムのサービス品質 (QoS) 制御
-
分散型アーキテクチャにより、変更を頻繁に監視し、ネットワークリソースを効率的に使用できます。
-
パブリッシャーとサブスクライバーの動的検出
AMQP – 高度なメッセージング キューイング プロトコル
Advanced Message Queuing Protocol (AMQP) は、ビジネス メッセージング用のオープン インターネット プロトコルです。これは、2者間でビジネスメッセージを確実に交換できるバイナリワイヤレベルプロトコルを定義します。
• 理想的なのは
– 企業内のさまざまなエンタープライズシステムを接続し、ビジネスプロセスに必要な情報を提供します
• 主な特徴
-
– 複数のメッセージング関連機能 - 信頼性の高いキューイング、トピックベースのパブリッシュとサブスクライブ、柔軟なルーティングなど
-
– セッションとトランザクションメッセージの転送
-
– 効率的 – パケットサイズ60バイト
-
– セキュリティ – SSL/TLS、SASL
-
– サービス品質 – ベストエフォート、少なくとも1回、正確に1回
-
すべてのAMQPクライアントはすべてのAMQPサーバーと相互運用可能
-
多様なプログラミング言語が簡単に通信できる
-
レガシーメッセージブローカーは、独自のプロトコルを削除するように改造できる。
-
クラウドサービスとしてメッセージングを可能にする
AMQPの利点
• 柔軟性、オープン性、相互運用性を備えています。AMQPは、QoSとセキュリティを保証しながら、組織やテクノロジーを超えて接続できます。
– コモディティ化によってもたらされる節約を実現し、ベンダーロックインを排除する -
-
– 異なるプラットフォーム上のアプリケーションを接続し、作業に適したプラットフォームを選択します
-
– フル機能のオープンスタンダードを使用してビジネスパートナーと接続し、貿易の技術的障壁を排除します。
-
– 遠隔地やネットワークの悪い場所でも信頼性高く動作する
-
-
-
-
-
-
-
-