研究紹介シリーズ(第6回)

オープン無線センサーネットワークのためのミドルウェア研究開発プロジェクト「XACプロジェクト」

自動車の通行量を検知するための「VICSシステム」や、降水量や気温を観測するための「アメダス」など、センサーを使って実世界の状態を把握し、生活の利便性を高めるサービスの提供が行われている。これらのサービスのインフラとなっているのが、センサーネットワークだ。センサーネットワークの活用は、今後さまざまな分野でさらに広がっていくことが期待されている。

そこで注目されているのが、「無線センサーネットワーク」である。センサー機能に加えて、無線通信機能を備え、バッテリーで駆動する小さなコンピュータ(センサーノード)同士が無線通信によってネットワークを築くという技術である。

この無線センサーネットワークをさまざまなサービスで共有しようという研究が進められている。いわば、“オープンインフラ”としての無線センサーネットワークに関する研究開発を行っているのが、国立情報学研究所(以下、NII)アーキテクチャ科学研究系の鄭顕志特任助教である。現在、鄭特任助教はNIIをはじめ東京大学、早稲田大学、日本ユニシス、三菱総合研究所と「XACプロジェクト」を立ち上げ、共同で研究開発を進めている。

1つの無線センサーネットワークを複数のサービスで共有する「オープン無線センサーネットワーク」の課題

アーキテクチャ科学研究系 鄭顕志特任助教

そもそも、センサーネットワークは、各種センサー群、情報通信網、ソフトウェアの3つによって構成されている。今後、ユビキタスコンピューティング、パーベイシブコンピューティングの基盤となっていくものだが、現状、開発コストが非常に大きいことが課題だ。センサーネットワークの多くは有線を使った情報通信網によって構築されているため、敷設工事が大掛かりとなるためだ。

そこで、有線よりコストを下げられる「無線センサーネットワーク」への期待が高まっている。無線センサーネットワークとは、センサー自身に小さなコンピュータと無線通信機能、バッテリーを搭載し、センサー同士が無線通信によって情報網を築き、収集した情報を管理サーバーに蓄積する仕組みをもつ。

「ここ数年、ユビキタスコンピューティングやパーベイシブコンピューティングといったキーワードが頻繁に使われるようになってきています。これからのコンピューティングシステムが目指しているのは、実世界とサイバー世界を密接に関連付けることによって、我々の生活をより豊かなものにしていくこと。しかし、そのためには、まずはコンピューティングシステムが、実世界の状態を把握できなければなりません。なぜなら、実世界に対して適切なフィードバックが行えないからです。そこで重要になってくるのがセンサーネットワークです」と鄭特任助教は説明する。

センサーネットワークではセンサーを使って実世界の情報を取得している。しかし、より多くの情報をより広範囲にわたって取得するには、多くのセンサーを広範囲にわたって設置する必要がある。これを有線ネットワークの敷設で実現するのは容易なことではないが、無線であれば敷設が容易でコストを軽減できる。とはいえ、広範囲にわたって沢山の無線センサーを設置しようとすると、やはり莫大なコストがかかるのだ。

これを解決する新しいセンサーネットワークの考え方に「オープン無線センサーネットワーク」がある。鄭特任助教は「オープン無線センサーネットワーク」を次のように説明する。

「センサーノードの持つ『ソフトウェアの入れ替えができる』というメリットを活かし、1つの無線センサーネットワークを“オープンインフラ”として、複数のサービスで共有するということが考えられています。これが『オープン無線センサーネットワーク』と呼ばれるものです」

ところが、無線センサーネットワークをオープン化しようとすると、新たにさまざまな課題が発生してしまうのである。

1つのサービスに特化した無線センサーネットワークであれば、あらかじめ計測処理を行うアプリケーションプログラムをセンサーノードにインストールしておけばそれで済む。しかし、複数のサービスで共用しようとすると、1つのセンサーノードに複数のアプリケーションプログラムをインストールしなければならない。センサーノードに搭載されている計算能力、メモリー容量、バッテリー容量には限りがある。通信帯域に関しても同様に制限がある。

複数あるセンサーノードの中からどのセンサーノードを使い、センサーノードが備えるどのセンサーを使用して、どのような情報を、どの程度の精度で取得したいかは各サービスによって異なるが、情報の精度と消費資源量はトレードオフの関係にあるため、何らかの資源配分に関する工夫や調整が必要だ。

鄭特任助教はこの資源配分について次のように語る。

「例えば、無線センサーネットワークを使って移動する人を検知したいといった場合を考えてみましょう。人の移動に伴ってセンシングするセンサーノードも刻々と移っていきます。そのため、使われていないセンサーノードはスリープさせるとか、その都度、センサーのタスクグループを切り替えていき、必要なアプリケーションプログラムを追加、削除するとかいった対応が考えられます」

すなわち、センサーネットワーク上におけるアプリケーションプログラムの最適なマッピングや取得した情報の通信経路の割り出し、センサーノードや通信帯域資源に関する最適な資源配分を行う必要がある。

「しかし、一方で無線アドホックネットワークプログラミングは非常に複雑となり、開発を困難にしてしまう恐れもあります。そこで、XACプロジェクトでは、システム開発者のプログラミングにおける負担の軽減、支援を目的に、無線センサーネットワークをオープンインフラとして複数のサービスで共用するためのミドルウェアの研究開発に取り組んでいます」(鄭特任助教)。

XACプロジェクトが進めている研究テーマは4つ

XACプロジェクトでは、システム開発者の 生産性向上を目指したミドルウェア開発を 行っています(鄭顕志特任助教)

現在、XACプロジェクトが進めている研究テーマは、(1)開発方法論の整備、(2)複数アプリケーションの運用時管理、(3)自己最適化、(4)セキュリティの4つである。

(1)開発方法論の整備では、システム開発者が、各種アプリケーションに求められる機能を、品質(精度、応答時間)を満たしつつ消費資源量を最小化するための開発方法論の確立に取り組んでいる。特に、多くの開発者にとって無線センサーネットワークプログラミングは非常に複雑で開発の敷居が高いため、ネットワークの詳細を開発者に対して適切な抽象度で隠蔽するしくみが必要となる。XACプロジェクトではモデル駆動開発に基づいた開発方法論の整備を行っている。

(2)複数アプリケーションの運用時管理では、複数のタスクの並列分散処理を行う際に、どのように無線センサーネットワーク上にタスクグループを追加したり削除したりすればよいか、また、資源制約を考慮した上でどのようにタスクグループを配置すべきかなどについて研究している。

(3)自己最適化では、アプリケーションプログラムの実行時において、タスクグループの再配備やネットワークプロトコルの切り替えを行うことで消費資源量と観測精度の最適化を行うためのしくみ作りに関する研究を行っている。このような最適化は、システム自身が、その都度、置かれた状況に応じて自己最適化を図る必要がある。XACプロジェクトでは、ネットワーク上のタスクグループの配備、再配置タイミングの調整、通信トポロジーの変更、データ観測タイミングの調整など様々な観点から自己最適化に関する研究を行っている。

(4)セキュリティでは、悪意あるノード・タスクへの対応として、DoS攻撃の検知や攻撃者を排除するための機能に関する研究を行っている。オープン環境で、広範囲にわたってセンサーノードを設置するとなると、センサーノードが盗難に遭うリスクは急速に高まる。結果、盗難したセンサーノードのメモリーから抜き出した情報を用いたり、盗難下センサーノードのプログラムを書き換えて、DoSアタックなどの攻撃を受けることが考えられる。そのため、有線のセンサーネットワーク以上にセキュリティへの配慮が求められるのである。XACプロジェクトでは、統計手法を用いてアタッカを推定する手法など、DoS攻撃への耐性を高めるための研究を行っている。

「XACプロジェクトでは、このように4つの研究テーマを設置し、研究開発を進めています。2009年6月にはマクロプログラミングとタスクの運用時の配備を行うミドルウェアのα版を完成し、同年9月にXACプロジェクトのWebページで一般公開を開始しています。次世代版では不正メッセージの検知やタスク配備の運用時における調整機能を搭載する予定です」(鄭特任助教)

鄭顕志特任助教より
今後、ソフトウェアシステムはより実世界との連携が求められてきます。無線センサーネットワークは実世界と連携したシステムの基盤として重要性を増してくるでしょう。無線センサーネットワークの実用化に向けて共同研究、実証実験に共に取り組んでいただける企業や研究者を広く募集しています。

関連情報

コメントは停止中です。