お客様の価値向上につながるIoTサービスを共創する

IoTソリューション

IoTメッセージングプラットフォーム「MessagePub+」

MessagePub+ はオージス総研が開発した つなげることに特化した“IoTメッセージングプラットフォーム” です。
MessagePub+は、メッセージの配信を司るbrokerと、brokerにつながるclientから構成されており、データの収集や、収集したデータに基づく制御を行うシステムを簡単に構築することが可能です。

MessagePub+ の構成イメージMessagePub+ の構成イメージ

MessagePub+ の特長

MessagePub+ は以下の特長により『つなげること』を柔軟に、簡単に実現します。


1. End to Endの完全到達保証

MQTTには、3段階の到達保証レベル(QoS)が定義されています。
0は高々1回届くat most once、1は少なくとも1回届くat least once、2は必ず1回だけ届く exactly onceです。
ただ、送信者から受信者までの経路全体(End to End)で、到達保証レベルを満たせるかどうかは、 brokerの実装次第です。MessagePub+では、これを実現しています。

たとえば、受信者がbroker1につながっており、送信者からのメッセージを受信前に切断が発生したとします。
受信者は再接続しますが、broker1に再接続できるとは限りません。
仮にbroker3に再接続したとしても、broker3が通信を継続し、メッセージを確実に受信者に届けることができます。


End to Endの完全到達保証


2. ラベル機能により 複雑なデータ集配信を 簡単に実現

任意のtopicにラベルを指定することが可能です。
そのラベルに対して、publish/subscribeを行うことで、柔軟に同報などを行うことができます。
ラベルは単体で利用することもできますが、論理式を用いて指定することで、その真価を発揮します。
たとえば、工場内に6つのラインがあるとします(line1, line2, ・・・, line6)。 そのラインの制御を行うtopicを、「line1」, 「line2」, 「line3」... と設定し、それらのライン全てを一括制御するラベルを「all_lines」として定義します。
そして、line2とline3がメンテナンスの場合は、これらのラインに「maintaining」ラベルをつけます。
「all_lines & !maintaing」 というラベルを用いた論理式を作成し、publishを行うことで、メンテナンス中のライン以外のすべてのラインに対して、指示を送ることができます。

ラベルを用いた同報
ラベルを用いた同報

3. 高いレスポンス性とスケーラビリティ

数msレベルの高い応答性能を持ちます。
1台のbrokerインスタンスで、数万~数十万のセッションを処理することができます。
複数台のbrokerインスタンスで、クラスタを構成し、スケールアウトさせることが可能です。
グラフに示すデータは、brokerをc4.xlargeインスタンス 1台 5台でそれぞれ動作させ、1秒に1回、1Kbytesのデータをやりとりするという負荷をかけた状況での、応答時間(対応する2つのclientでのメッセージ往復にかかる時間)です。

高い応答性能

4. IoTやWebで標準的なプロトコルに対応

MessagePub+は、MQTTという軽量なプロトコルを用いて実現されています。

MQTTは、イベントドリブンでのアプリケーションの実現に適した、Pub/Subモデルを採用しています。
topicをsubscribe(購読)しておくことで、そのtopicに対するpublish(データ送信)があったときに、そのデータを受け取ることができます。
やりとり可能なデータは、任意のバイナリデータです。
1bitのON/OFF情報から、画像、音声といった約256MBytesまでのデータを1回のpublishで送受信できます。
WebSocketもサポートしており、MQTTをWebブラウザからも利用することができます。

さらに、httpのPOSTを利用したデータのpublishや、GETを利用したデータの受信が可能です。
httpを用いる場合は、MessagePub+のクライアントライブラリは不要です。


5. クラウド環境、オンプレミス環境、どちらにも導入可能

MessagePub+は、お客様の構内サーバおよびネットワークを用いて、オンプレミスに構築することが可能です。
AWSなどを利用して、クラウド上にMessagePub+を構築することも可能です。


6. 安心のセキュリティ

サポートするすべての通信方式において、TLSによる暗号化通信をサポートします。
clientをMessagePub+のbrokerに接続する際には、user名(MQTTのClient Id)とtoken(MQTTのPassword)で認証され、不正な接続を防ぐことができます。
clientがtopicに対して、publish/subscribeを行う際は、user名-topicの組み合わせでpublish権/subscribe権をそれぞれ設定可能で、権限のあるclientからのみpublish/subscribeを受け付けます。

認証と権限の設定
認証と権限の設定

7. 柔軟で軽量なメッセージフォーマット MessagePack を採用

JSONのような柔軟性を持ちながらも、バイナリデータをサポートし、小サイズで、内容解析に必要なCPUリソースも少ないデータフォーマットである、MessagePackをサポートしています。
たとえば、映像と音声とメタ情報をまとめて、MessagePackにパックしてやりとりするといったことが簡単にできます。


ページトップへ戻る

お問い合わせ

お問い合わせ

IoTソリューションに関するお問い合わせはこちら