OMOIKANetプラットフォームの基本構造

OMOIKANetプラットフォームは、以下の特徴を備えています。

  1. MQTT
    OMOIKANetプラットフォームでは、組込端末(IoTノードのことをOMOIKANetプラットフォームでは組込端末と呼称します)ーサーバ間の通信プロトコルにMQTTを採用しています。多くのケースにおいて組込端末ーサーバ間通信にはHTTPが利用されておりますが、組込端末から送信されるデータは、データ量は少ないものの、同時に多数のアクセスがあり、また接続頻度が高いという特徴があります。このような特徴を持つ組込端末に最適なプロトコルとして、高頻度アクセスに対応しつつ軽量なデータ処理を可能とするMQTTを採用しています。OMOIKANetプラットフォームでは組込端末の接続側にMQTTブローカを設置して、多量高頻度にアクセスしてくる組込端末との通信を捌く一方、通信品質の管理や組込端末のバージョン管理、接続監視に QoS、Retain、Last Will & Testament 等 MQTTプロトコルの提供する機能を利用しています。
  2. NoSQLサーバ
    OMOIKANetプラットフォームは様々な目的に利用することを想定して、Cloudant NoSQLserverを採用しています。CloudantはApache CouchDBベースのJSONドキュメントベースのデータベースです。ドキュメントベースですので、開発者は全体のDB構造を気にせず、自分のアプリケーションに必要なデータのみ記述すればシステムを構築できる環境を享受できます。この点は大変重要で、OMOIKANetプラットフォーム全体としてテーブル間のリレーションを定義する必要がなく、開発者がそれぞれの用途に応じて自由にデータ構造を定義できるメリットをもたらします。例えば、IoTを実現するために仕様化されているいくつかの標準仕様では、接続される装置のクラスやプロパティを予め全て定義しているため、自ら仕様を策定する必要はなく容易に接続することが可能です。しかし、一方では仕様に合わせて定義されていない新商品や新機能は接続できず、他社との差別化を図りにくいというデメリットも存在します。ドキュメントベースのDBを採用しているOMOIKANetプラットフォームでは、OMOIKANetプラットフォームに接続するために規定されている仕様を除けば、開発者が自身のアプリケーションに合わせて自由に仕様を策定することができます。
  3. IBM Bluemix
    OMOIKANetプラットフォームは、IBMの提供するBluemixを採用しております。Bluemixは組込端末との接続側にMQTTを、サーバ部にCloudant NoSQLサーバを利用することのできる、クラウド上のPaaS(Platform as a Service)オファリングです。IBM Bluemix上では様々なフレームワークやサービスが提供され、ユーザーは容易にこれらを利用してアプリケーションやサービスを作成、管理することができます。又、IBMがこれまで研究してきた様々な蓄積が将来に亘って順次追加される予定であり、例えば Analytics や Watson などのサービスを利用することで、効率的なデータ解析や次世代型のコグニティブ・コンピューティングを実現することが可能になります。OMOIKANetプラットフォームを使って開発すれば、開発者はIBM Bluemixが提供する様々なサービスやフレームワークを、自身のアプリケーションに利用することが可能になります。
  4. 組込端末に搭載される通信シールド
    OMOIKANetプラットフォームに接続する組込端末は、必ずOMOIKANet標準に従って製造された通信シールド(通信モジュールのこと。OMOIKANetでは無線LANモジュールやEthernetモジュール等の通信モジュールのことを「通信シールド」と呼称します。)を搭載している必要があります。通信シールドは、通信モジュール部とOMOIKANetプロトコル制御部ならびにIoT接続部から構成されています。IoT接続部は2線式シリアル(UART)接続で開発者の構築する組込制御装置(IoTノードの制御部のこと)と接続されます。開発者は組込制御端末からJSONベースの文字列を送信するだけで、OMOIKANetプロトコル制御部で必要な情報を付加して通信モジュール部から送信します。通信シールドには固有のシリアルナンバーならびに乱数を使って一意に生成される DeviceID 及びパスフレーズのペアが予め設定されています。このペアはOMOIKANetプラットフォームのサーバにも登録されており、正しいペアを用いて接続することで認証されています。
  5. アクション
    OMOIKANetプラットフォームでは、開発者が組込端末に対して、メール送信機能や遠隔操作など複数の機能をアクションとして設定することが可能です。例えば定期的にセンサデータを送信するセンサネットワークシステムで、異常値を検知した際に特定のアドレスにメールを送信したり、ユーザが遠隔地からセンサの設定を変更するようなアプリケーションを構築することが、設定だけで簡単に行えます。
  6. API リクエスト&レスポンス
    データ閲覧や遠隔操作などのユーザ操作は、APIサーバに対するリクエストと、それに対するレスポンスで提供されます。PCやタブレット、スマホ等、ユーザ端末の機種やOSに依存しないため、開発者はひとつの開発で多くのユーザにアプリケーションを提供することができます。従って、Webデザイナのように専門のプログラミング言語を習得していない開発者でも容易に全ての機能を実装することが可能であり、WebデザイナにIoTシステム構築ビジネスへの参加を容易にします。一方で、開発者は自身の開発したAPIをAPIマーケットプレイス上で公開し対価を得ることが可能です(将来対応)。WebデザイナはAPIマーケットプレイスで最適なAPIを検索すれば、より優れたUXを実現することができます。又、APIプログラマーには新しいビジネスチャンスを提供します。