IoTプラットフォームのロックインを回避? マルチプロトコルなメッセージブローカーの可能性Solaceを例に考える

IoTにおいて選択肢を狭めたくなかったら、メッセージ層で考えるのがいいのかもしれない。Solaceを例に、メッセージブローカー/メッセージルータのIoTにおける役割を考える。

» 2017年03月06日 05時00分 公開
[三木泉@IT]

 IoTにおいて選択肢を狭めたくなかったら、メッセージ層で考えるのがいいのかもしれない。

 IoT(Internet of Things)では、運用開始後に規模、対象、アプリケーションが大きく変わる可能性がある。これに対応できるような仕組みをどう構築すればいいのか。また、複数の組織が共同で使うようなIoTインフラを構築する場合、柔軟性やセキュリティはどう確保すればいいのか。例えばパブリッククラウドにおけるIoTプラットフォームやIoTソリューションは、スモールスタートできるなどの点で優れているものの、将来の選択肢が実質的に限定されてしまう懸念がないとはいえない。

 だが、メッセージブローカー/メッセージルータの機能進化により、こうした課題が軽減できる可能性がある。本記事では一例として、カナダのIT企業Solace Systems(以下、Solace)の製品を取り上げ、同社の技術担当シニアバイスプレジデントなどへの取材に基づいて、これを紹介する。

 Solaceの「Virtual Messaging Router(以下、VMR)」は、「メッセージ層におけるIoTプラットフォームを目指している」と同社は説明する。理由は第1に、VMRがメッセージブローカーとして、IoTソリューションおよび既存システム接続に使われるプロトコル/APIに幅広く対応し、相互のプロトコル変換ができること、そして第2に、仮想マシンとして多様な環境に展開でき、メッセージのヘッダに基づくルーティングが実行できるため、例えば複数のデータセンターやクラウドにまたがるIoTシステムの運用や移行が行いやすいという点にある。

 幅広いプロトコル/APIに対応し、さまざまなインフラ上で稼働できると、IoTアプリケーションにおいてメッセージング層を分離し、これを統合的に制御・運用できるようになる。インフラや上位レイヤの「IoTプラットフォーム」に振り回されなくて済むようになる可能性が生まれる。

 メッセージブローカーとしてのVMRは、単一プロトコルによるメッセージの仲介機能を果たすだけでなく、異なるプロトコル間の変換や、メッセージのバッファリングを実行する。従って、IoTの文脈では、IoTデバイスから例えばREST APIやMQTTで送られてくるデータをSolaceのVMRが受け、これを例えばJMS(Java Message Service)やAMQP(Advanced Message Queuing Protocol)経由で企業社内の既存アプリケーションにつなぐことができる。

 VMRの対応しているプロトコル、APIは下の図の通りだ。メッセージブローカー製品は以前から複数存在しているが、Solaceは自社製品がIoTやWeb/モバイルのユースケースを幅広くカバーできるプロトコルを提供していること、そして独自実装ではなく、オープンソース実装をサポートすることで、ロックインを防いでいることを特徴として挙げる。

 具体的には、例えばMQTTでEclipse Paho、AMQPではApache Qpidといったクライアント実装に対応している。JMSも標準でサポート。REST API/WebSocketsで端末と通信することもできる。

 VMSは、仮想アプライアンスとして、VMware vSphere、Amazon Web Services、Microsoft Azure上での動作がサポート対象となっている。また、Cloud FoundryやOpenShiftとの統合も進められていて、Cloud FoundryではTILEとして利用できる(これはベータ段階)。

シンガポールの交通システムではどう使われているか

 Solaceのメッセージブローカー/メッセージルータは、シンガポールにおける交通システムのIT化プロジェクトで採用されているという。Solaceによると、その内容は次の通りだ。

 シンガポールでは2020年を目指してITを活用した新交通システムの開発を進めている。その基盤となるのが、国内の全車両に搭載を義務付ける車載ユニット。GPSを搭載し、モバイル通信を通じ、データセンターのIoTシステムとリアルタイム通信を行う。車両側は位置情報をはじめとした情報を送信、一方で情報その他のサービスを受けられる。

 1つのアプリケーションは高速道路料金のダイナミックプライシング。シンガポールは現在、日本と同様に高速道路走行料金をゲートで徴収している。だが、位置情報を取得することで、ゲートでの支払いをなくそうとしているようだ。走行日時、混雑度などに応じて料金を変え、これを自動的に徴収するようになる。

 こうした仕組みを実現するために、150万台ともいう車両が全て、リアルタイムでGPS情報などを送信し続けることになる。車載ユニットからの情報はMQTTで送られ、データセンターではJMS経由でこの情報を用い、請求処理を行う。

 新交通システムでは、他のアプリケーションも追加していく予定で、これには路上における駐車スペースの利用料金を自動徴収する仕組みもあるという。停止時間を基に、料金を計算することになる。

 Solaceの製品が搭載するメッセージフィルタリング機能が、ここに生かされているという。すなわち、各アプリケーションのバックエンドシステムは、不必要にメッセージ通信を共有する必要がない。MQTTなどではTLSによるデータ暗号化が行えるが、Solaceの製品はこれに加えてトピックに基づくメッセージのルーティング、ACL(アクセス制御リスト)に基づくメッセージのフィルタリング制御が行える。これは、シンガポールの交通システムのようにアプリケーションが後から追加される可能性がある場合、そして特に各アプリケーションの運営主体が異なるマルチテナント環境で、プラットフォームの統合活用とセキュリティとを両立させたい場合に役に立つと考えられる。

 VMRはオープンソースソフトウェアではないが、無償のコミュニティ版が提供されているという。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。