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

IoTソリューション

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

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

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

MessagePub+ の特長

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


1. 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+のクライアントライブラリは不要です。


2. 安心のセキュリティ

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

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

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

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

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

4. クラウド環境へもオンプレミス環境へも導入可能

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


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

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


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

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

高い応答性能

ページトップへ戻る

お問い合わせ

お問い合わせ

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