近くにいればすべて仲間

図5●頼朝
センサー同士が一定の間隔で互いの状態をブロードキャストによって通知し合い,グループを作る。ここでは,照度センサーから得られた数値が一定以上のものは青いランプを,一定以下のものは赤いランプを点灯するようにしている。同じ状態を持つセンサーが他にいない場合は,ランプを消す。慶應義塾大学の徳田研究室が開発している。
図6●頼朝の通信手順
一定の間隔ごとに(1)~(4)の手順を踏んで自律的にグループ分けをする。照明の明るさを変化させても,2~3秒でグループ分けが終わる。
図7●Bionet
さまざまな機器やソフトウェア,そしてユーザーを,cyber-entity(CE)と呼ばれるオブジェクトでモデル化する。このオブジェクトが,各ネットワーク・ノードに用意されたプラットフォームで自律的に動作する。一つのネットワーク・ノードで複数のCEが動作できる。CEはボディ,動作,属性情報という三つの要素から成る。CEはメッセージを周囲に送信しながら,自分が提供できるサービスと連携できる相手を探し続ける。関係が深いことが分かったCEの情報は関係テーブルに追加され,次回の連携時に優先的に利用される。

 次に,ノードが自動的に連携相手を見つける方法を取り上げる。まず考えられる単純な方式が,通信できるすべてのノードと情報を交換するというもの。無線なら,電波の強さで距離が分かる。近くに存在するものは“仲間”と考える。

 慶應義塾大学政策・メディア研究科委員長で環境情報学部の徳田英幸教授の研究室で開発されている「頼朝」はその一例。同一の機能を持つ複数のセンサーが協調し合って,自律的にグループを形成するシステムだ(図5[拡大表示])。

 頼朝はシンプルな仕組みをもつ。各センサーノードは,一定のタイミングで自分の状態を他のノードにブロードキャストする(図6[拡大表示])。こうして互いの状態を把握し合い,自分と同じ状態のノードとグループを形成する。同じ状態のノードがいなければ,自分は仲間はずれだと認識する。こうして,すべてのノードが自律的にいくつかのグループに分かれる。

 この技術の応用例としては,忘れ物を防止するためのシステムなどが考えられる。財布と定期入れ,携帯電話など,いつも一緒に持ち歩く者同士にセンサーを付けておく。携帯電話だけを机の上に置き忘れ,あとはバッグに入れてオフィスを出ようとした。すると携帯電話は自分に仲間がいなくなったことを検知し,警告を発することができる。

連携相手を自分で探す

 次に考えられるのが,あらかじめノードが持っている機能を記述しておき,それに基づいて連携相手を決めるアプローチ。例えば米カリフォルニア大学アーバイン校の須田達也教授の研究室が開発する「Bionet」では,自分の持っている機能の情報などを他のノードと交換し合い,連携相手を見つけ出す。

 Bionetは,種類の異なるさまざまなセンサーや機器を協調動作させながら,ユーザーの生活をサポートすることを目指した研究である(別掲記事「センサー同士の関係を導き出す」参照)。各センサーや機器,ユーザー自身などは,それぞれcyber-entity(CE)というJavaのオブジェクトとしてネットワーク上に存在している(図7[拡大表示] )。CEは自律的に動作し,他と協調しあいながらサービスを提供する。

 各CEは,自分が提供するサービス(ボディ),CEが共通して持つ機能(動作),自分の識別子や提供するサービスを抽象的に記述した情報(属性情報)の三つから成る。CEは,属性情報などを基にして自分と連携相手できそうな相手を探す。

 CEはまず,近くのノードにいるCEを見つける。例えば無線の場合,ホップ数を基に近いノードを特定する。次に属性情報などを条件として,そのCEに問い合わせを送る。例えばエアコンに存在するCEが,温度に関連するサービスを条件にして相手を探す,といった具合だ。条件に適合するCEは,自分の情報を問い合わせ元に返す。適合しない場合,他のCEに問い合わせの転送を行う。あらかじめ指定された回数まで,問い合わせを転送する。こうして,センサーや機器,パソコンなどさまざまなノード上にいるCEに対して問い合わせを送る。

 問い合わせに適合した他のCEの情報は,自分の関係テーブルに保持しておく。ここには自分と関連の深いCEのIDや位置,属性情報,関係の強さなどが記述されている。他のCEと連携して何かをしたい場合は,このテーブルを参照して相手を決める。

生物界の法則を採り入れる

 さらにBionetは,人間にとって有益なサービスを提供する環境を自然に作り上げることを目指している。そのために,生物界の法則をCEの動作に取り入れた。「大規模なセンサー・ネットワークでは,人が予測できない事態が多く発生する。数が多く,さらにそれらが移動し,ネットワークも頻繁に切断されるような状況では,事前に最良の設計を考えておくのは難しい。環境が変化してもそれなりに動くシステムを作ろうとすると,生物界の法則が役に立つ」(須田教授)。

 例えば,有益でないサービスを淘汰する仕組みである。複数のCEが連携して一つのサービスを提供しても,それがユーザーに評価されなければそのCE間の関係性は低くなる。その結果,それらが連携し合う頻度は低下する。逆にユーザーに評価されたサービスにかかわったCEの間の関係は強くなり,再度利用されやすくなる。

 具体的な想定シナリオを挙げよう。人が帰ってきたときに玄関のカメラが顔を撮影し,パソコン上の顔認識CEに送った。顔認識CEはこれを解析し,玄関の人物はその家に住む中学生の息子であると判断した。

 顔認識CEの関係テーブルには,いくつものCEが登録されている。その中から息子の部屋のテレビに存在するものを選び,メッセージを伝えた。テレビのCEは,ニュース番組を流し始める。しかし息子は部屋に入るなり,テレビの電源を切ってしまった。ユーザーがそのサービスを好まなかったことになり,テレビCEと顔認識CEの関係は弱くなる。

 翌日の息子の帰宅時,顔認識CEは関係テーブルからオーディオのCEを選び,メッセージを送信した。オーディオのCEは音楽をかけ始めた。部屋に入ってきた息子は,音楽を長い時間聴いていた。その結果,顔認識CEとオーディオCEの関係は強くなる。

 サービスの生成と淘汰を繰り返せば,いずれ人間の役に立つサービスだけが提供されるようになるはずだ。ただ「自然淘汰ですべてやると,とても時間がかかる。実運用を考えると,妥当なルールをある程度人手で埋め込んでおくのが現実的」(須田教授)。結局は,結びつけてはならないCEの関係をあらかじめルール化しておくといった作業が必要になるだろう。

(八木玲子)

図●センサーの関連を導き出す
位置の分からないさまざまなセンサーから得られた値を統計的に分析し,クラスタ分析によって分類した例。大きく6個のクラスタができている。大きな二つの緑のクラスタは,それぞれの部屋に対応する。照明の点灯や人を検知するタイミングは部屋ごとに異なるので,こうした分類が可能になる。さらにそれぞれの部屋の中でも,ドアやコーヒーメーカー,冷蔵庫など特定のモノの近くにあるセンサーは一つのクラスタに分類される。

センサー同士の関係を導き出す

 センサーによって人の状況を把握し,その人の動作を支援する。これは,センサー・ネットワークのアプリケーションとして有望なものの一つである。コンテクスト・アウェアネス(Context Awareness)と呼ばれる。

 コンテクスト・アウェアネスが期待されるのは,家庭や街角である。こうした場所にセンサー・ネットワークを構築する場合,センサーの設置と管理が課題となる。センサーの数が多ければ,それだけ人の動作を細かく把握できる。ただそのためには,「それぞれのセンサーをあらかじめ決められた位置に正確に設置する必要がある。家の建築時に設計図通りにセンサーを埋め込めばそれも可能だが,既に建てられた家では設置が困難」(NTT コミュニケーション科学基礎研究所 メディア情報研究部メディアインタラクション原理オープンラボの高田敏弘主任研究員)。家の中や街角にあとからセンサーを付け足すたびに,その位置を新たに登録するのも大変だ。

 したがって,逆にセンサーが得たデータから,センサーの位置関係や関連の強さを導き出す必要が出てくる。NTT コミュニケーション科学基礎研究所では,設置場所の分からないセンサーから得られたデータを基に,それらの関連性を導き出すことを試みている。そのセンサーがどのような位置関係にあるか,そしてセンサーが置かれた空間がどのような使われ方をしているかが,ある程度判断できる段階まで来ている。

 センサーのデータと取得時刻を蓄積しておき,クラスタ分析する。こうして似た傾向のセンサーを抽出する([拡大表示])。例えば,同じ時間に明るくなったり暗くなったりする複数のセンサーがあるとする。するとそれらのセンサーは,同じ部屋の中にあることが分かる。またセンサーの種類が異なっても,同時に状態が変化するものは関係が強い可能性が高い。例えば湿度センサーと匂いセンサーの状態が,ほぼ同じタイミングで変化する。そこには,湿度を上げ何か匂いを発する機器があると想定できる。例えばコーヒーメーカーのようなものだ。

 どのセンサーがどの部屋にあるかが分かると,部屋と部屋の位置関係も推測できるという。例えばある部屋の入り口に置かれた人感センサーが,人の接近を検知した。次に廊下の人感センサーが反応し,すぐに別の部屋の入り口に置かれた照度センサーが明るくなったことを検知した。これはある人が部屋を出て,隣の部屋に入ったと考えられる。その時間差によっては,この2部屋は隣り合っていると推測できる。

 高田氏は,こうして得られた情報などから,人間の行動パターンを導き出すことに取り組んでいる。それが分かれば,人間の先回りをして生活を支援できる。例えば現状でも「朝起きてすぐ,その人が何をするかくらいは分かる」(高田氏)。毎朝コーヒーを入れるユーザーには,起床時間の少し前にコーヒーメーカーを作動させればよい。ユーザーは起きてすぐ,入れ立てのコーヒーが飲める。