特集
» 2015年01月27日 11時00分 公開

ARM「mbed OS」とは何か?その詳細と動向mbed OS(2/4 ページ)

[大原雄介,MONOist]

フィンランドからもたらされたコア技術

 実のところ、このmbed OSとかmbed Device Serverそのものは、ARMが2013年8月に買収したフィンランドの「Sensinode Oy」が保有していた技術である。

 SensinodeはもともとPhoto07のような3階層のネットワーク接続構成をベースとしたサービスを提供していた。各エンドデバイスには「NanoStack」と呼ばれる6LowPanベースの非常に軽いネットワークスタックと、その上に動作する「NanoService」と呼ばれるサービスレイヤーのみが搭載され、それが「NanoService Platform」と接続、これが外部のサービスと接続される形態である。

photo (photo07)

 エンドデバイスとNanoService Platformの中間に「NanoRouter」と呼ばれるものが入り、NanoService Platformとエンドデバイスの間をつなぐという仕組みだ。NanoRouterそのものはこちら(「NanoRouter 2.0 Border Router Software」:リンク先PDF)を見ると分かる通り、本当に6LowPanとIPv6のブリッジというかルータになるもので、性能的にはARM 9ベースのCPUパワーがあれば十分とされている。

 ここでエンドデバイスとNanoService Platformの間をつなげるプロトコルは6LowPANなりIPv6なりというのが低レベルの通信プロトコルであるが、その上にCoAP(Constrained Application Protocol)をベースとしたアプリケーションプロトコルを実装している。このアプリケーションプロトコルをSensinode Oyでは「IoT Interface」と呼んでおり、従来ベースのHTTPプロトコルと比べて、大幅にオーバーヘッドの削減につながるとしていた(Photo08)

photo (Photo08) 左が従来の、TCP/IPの上にHTTPを乗せ、さらにXMLを載せた場合のパケットサイズ、右が今回のIoT Interfaceを利用する場合のパケットサイズ。1〜2桁の節約になる

 IoTのエンドデバイスの中には、火災報知器などバッテリー駆動のものもあるので、消費電力を抑えることは至上命題となっている。そうなると、可能な限り通信量も抑えたい(Bluetooth SmartにしてもZigBeeにしても、送受信を行う限りはどうしても電力消費量が増える)から、通信量は少なければ少ないほど良い。こうしたものに向けて、IoT Interfaceは極端にデータ量と処理負荷を減らす形で実装されるようになった。

 ただ、処理負荷を減らした結果として、今度は到達距離が短くなるという問題が出てくるのは致し方ない。そもそもエンドデバイス向けのNano Serviceは6LowPAN(=ZigBeeベース)を前提としていたから、ここで直接イーサネットやWi-Fi、Cellularなどのその他のネットワーク接続をカバーできなかった。そこで、NanoRouterを別に用意する形で、より長距離接続が可能なオプションを残した、という形になる。

 一方のNanoService Platformであるが、これは具体的な製品というよりもソフトウェアの形で提供予定だった(Photo09)。同社のカタログ(リンク先PDF)によれば

  • ServerからCloud Serviceまで幅広くスケール可能で、最大20Mノードまでの管理、あるいはクラスタあたり100Mトランザクション/日に対応
  • 資源管理/検索機能を搭載
  • PushイベントやSubscriptionにも対応
  • 名前付け(Semantic Name)や名前の検索が可能
  • E2EのWeb Serviceに対応
  • WebベースのGUIを提供

 といった機能が並んでいる。

photo (Photo09) 要するにNanoServiceとWeb Serviceのブリッジ機能ということになるが、それ以上の機能も搭載されている

Copyright © ITmedia, Inc. All Rights Reserved.