【2003年度 森泰吉郎記念研究振興基金 研究助成金報告書】
 
 

視覚的な分散アプリケーション構築ツールの開発研究

 

 
 
政策・メディア研究科・ 博士課程 2 年
 
 
岩井将行
 
 
 
共同研究者  
 
  • 岩井 将行  [政策・メディア研究科・博士課程2 ソフトウエア設計,開発,評価]
  • 徳田 英幸  [環境情報学部 教授 研究指導]
 
     
研究概要  
  近年,RF(無線電波)tagとreaderの小型化と低価格化によって一般的な企業や家庭内への普及が可能になった. 
しかし,ユーザが,望まない人や望まないアプリケーションにユーザの位置情報が伝わってしまい,不快な思
いをする弊害がある.また既存の位置情報システムの多くは,DB(データベース)を中心に作ってしまったため
にC/S(サーバクライアント)モデルになってしまい,拡張性や柔軟な変更可能性を欠いてしまったことである.
我々は,「望む相手に」「望む場所において」「望む時間帯だけ」公開可能であり,公開した情報が信頼
している人に使われている事を保証できる 分散システムTachyon(タキオン)の研究開発を行った.
 
     
1.  研究概要
 
 

まず第1の弊害を解決する手法として,ユーザの位置情報はプライベートな情報を含むため,そのユーザの情報の伝播をユーザが望む範囲で制限しなければならない.ユーザに信頼して利用してもらうシステムであるためには,「望む相手に」「望む場所において」「望む時間帯だけ」公開可能であり公開した情報が信頼している人に使われていることを保証しなければならない.我々はXMLでユーザのポリシを定義してポリシ同士をネゴシエーションさせることで解決した.

例えば,ユーザAのプライバシポリシとしてもつ信頼する相手のタグの中にユーザBが存在しても,ユーザBのプライバシポリシのXMLにユーザAを信頼する人物にいれていなければ,通信しない.このようにして,ユーザ望む位置情報の通知を実現した.

第2の問題を解決するためにp2pな完全分散システムを適応させることを考えた. 既存のp2p(ピアツーピア)通信機構の多くが,スケーラビリティ,コンテンツ分散,コンテンツ検索の効率性などに重点を置いているが,通信の柔軟性と信頼性,システム管理の容易さが備わっていない.位置情報を扱うシステムでは,ユーザが日常的な生活の場で頻繁に利用する場所が主であり,スケーラビリティとしてのノード数は,高々数十個程度で十分であるといえる.むしろ,ノードは,ユーザの状況によって構築されるノード関係が変更されるその変更がユーザの認識できる範囲で行えることが必要である.

例えば,会議を行うために急遽部屋を押さえた場合,一日だけその部屋に位置情報取得ノードを設置し,一日だけ分散位置情報管理システムに追加すればよいというアドホックな分散位置情報管理システムの構築ができなければならない.これらの機構を備えたシステムは今まで存在していない.

我々は,以上の2点の特徴をもった,プライバシを考慮する分散型位置管理機構Tachyon(タキオン)を開発した.Tachyonは,プライバシの保護と使いやすさの両輪をバランスよく保つことを目指した分散位置情報管理システムである.

研究開発A:位置情報ノードに適したp2pネットワークの研究[4月〜11月期]
組織内の位置情報を扱うノード(以下Tachyonノード)間のp2pオーバレイネットワークの研究を行う.他の研究と異なり,Tachyonではこれらのノードが組み替え可能である.例えば一日だけは 会議があるので会議室を位置情報システムに組み込むなどの自由度の高い設定が可能である.4つの部屋を接続すると図2の様になる.

研究開発B: プライバシコントロール機構[10月〜3月期]
RFタグから得られる情報はその人のプライバシにかかわる情報を含むため,自らがその情報の伝播を制限/管理できるようにしなければならない[図1参考] .プライバシの設定項目として,以下の6つを考慮する:自らの情報を公開するグループ,自らの情報を非公開するグループ,自らの情報を公開するユーザID,自らの情報を非公開するユーザID,公開したい時間帯,公開したい位置情報のリスト.


【図1 Tachyonネットワークのトポロジを構築している場面】

 

 


 
     
2.  研究開発A  
 

位置情報ノードに適したp2pネットワークの研究

分散されるサービス間の制御情報(イベント)は, Dragonを通しJavaオブジェクトのイベント配送によって協調動作を行う.多様なサービスが偏在するユビキタス空間では,単純に制御情報は,一方通行ではなく,配送形態も多様である.分散イベント配送ミドルウェアDragonは,push型配送,実時間性がありかつ信頼性のあるput型配送,pull型配送,callback型配送,callbackpull型配送などのサービス間通信手法を実現した.


●[push(A,B,evt)] AからBに通知を非同期で通知を行う(drg.core.service.exports.EventOutPutModule)
●[pushR(A,B,evt)] AからBに信頼性をもって非同期で通知を行う(drg.core.service.exports.EventOutPutModule)
●[pull(A,B)] BからAに対してイベントを同期的に要求する(package drg.event.datatype.newtype.DropetEvent)
●[callBack(A,B)] AがBに対して自らの参照を送付,BがAに対してイベントを送付する(drg.event.rmitype.DAsyncBack)
●[callBackPull(A,B)] AがBに対して自らの参照を送付,BがAに対してイベントを要求する(drg.event.rmitype.DPullEvts)

これらの配送モデル定義はユーザから隠蔽され, Dragonミドルウェア内部ですべて吸収される.Dragonで定義するAPIにより開発者は,ユビキタスサービスを低コストで実装できた.

本通信ミドルウエアを利用して、RFリーダごとにノードを存在させ、図1のように各ノードがオーバーレイのネットワークを構築できる。各ノードは管理するTagの数、つまりユーザの数だけUser Representを作成し管理する。ノードは、モバイルエージェントのランタイムと似ているがRepresentはノードを経由してのみ、他のRepresentとの通信を行うことで単純なオーバレイネットワークが実現できている。

図2に示すようにサーバレスであるTachyonはアドバタイズメントによって互いの存在を認識する。

 

【図2】アドバタイズメントは,特定のユーザのみが開けるようにすることが可能

ユーザAをTag Readerが検知すると,N1はユーザAのUser Representation(分身)をTachyonノードのネットワーク内から検索する.ユーザAのUser Representationが保持するポリシに基づき自らのノードに新ノードが検知されたことを各ノードに自分のポリシーと共に配布する.

ユーザAのAdvertisementを認識したBは,図3のように直接TachyonノードN1を検索する.ユーザAはBが信頼できる人物であると確認し自らの位置情報および付加情報を返信する.ユーザBがノードN3上に存在する限りユーザAの情報を利用することが可能になる

【図3に示すように特定の】

 
     
3.  研究開発B  
 

研究開発B: プライバシコントロール機構

Tachyonシステムでは,ユーザ一人に対して,RFタグが一つと,Representationと呼ぶ分散オブジェクトを配置する.
RFタグがリーダに読み取られたIDからユーザの場所を認識し,ユーザが存在している時間と場所をRepresentationが保持する.
タグとユーザの関係は,各ユーザが固有のタグを持ち歩く.ノードは,RFIDのリーダが接続され常にタグが検出範囲内に存在するかを認識している計算機である.この計算機上に分散オブジェクトであるReresentationが存在をさせる.

Representationは,それぞれのユーザのプライバシポリシも保持し他のユーザのRepresentationと交渉を行う.
考慮するプライバシの項目には,位置情報を公開するユーザの視点を優先し
以下ものを利用する.


-位置情報を公開する相手/位置情報を伝達依頼を受け付ける相手
-位置情報を公開する時間帯と曜日
-位置情報を公開する場所
-入退出後の情報更新の遅延


 

 

Privacyの情報を以下のXMLで規定した。


位置情報を公開する相手

位置情報を公開する相手とは,ユーザAのポリシによって検索クエリーに反応する相手でINCOMMING COMPANIONSで規定する.
INCOMMING COMPANIONSには自分へ位置情報の検索依頼を許可するユーザを記述する.
INCOMMING COMPANIONSタグにないユーザからの検索依頼は受け付けず拒否する.
OUTGOING COMPANIONSには自分から発生した位置情報クエリを閲覧できるユーザを示す.
「あるユーザAが検索を実行していること」が別のユーザBから認識できたとする.
ユーザBからは,ユーザAの具体的な位置情報は分からなくてもある程度ユーザAが現在いる場所が推測できるため問題である.
「ユーザAが検索をかけていること」をユーザBには認識させないようにするのが
OUTGOING COMPANIONSの項目を設けた理由である.
<incomming_query> //自分への検索に答える人
<include>user_A@ht.sfc.keio.ac.jp</include>
<exclude>user_B@ht.sfc.keio.ac.jp</exclude>
</incomming_query>

<outgoing_query> //自分からの検索が届く人
<include>user_A@ht.sfc.keio.ac.jp</include>
<include>user_B@ht.sfc.keio.ac.jp</include>
</outgoing_query>

位置情報を公開する時間帯と曜日

自分がいるということを他のユーザに「望む時間帯だけ」通知するために
TIME SLOTSタグを用い曜日と時間を限定できる(図\ref{tag.timezone}参照).
これにより,休憩時間や非番曜日のプライバシを保護できる.

 

<time zone>
<include>
<monday hour=8-11,14-17/>
</include>
</time zone>

位置情報を公開する場所

PLACEタグは,「望む場所」とは各リーダがある部屋の文字列で記述する.
この文字列は第3章で示すトポロジで一意であればどのような記述でも構わない.
インターネットのスケールで運用する場合は,FrankらのGeocast記述を利用してもよい.

例えばLiving Room,Kitchen Room,Bath Room,Entaranceの4つのリーダがある場合がユーザが望むならばBathRoomのリーダに対しては自分の位置情報を報告しないということ可能である.
PLACEタグの記述を示す.

例えばLivingRoom、KitchenRoom、BathRoom、Entaranceの4つのReaderがある場合がユーザが望むならばBathRoomのReaderに対しては自分の位置情報を報告しないということ可能。

<place>
< include >ANY</include>
<exclude>BathRoom</exclude>
</place>

入退出後の情報更新の遅延
ユーザにとって必ずしも位置情報が正確であればよいということではない.
位置情報をぼやかすことが必要である.
Delayとは,ユーザの情報を曖昧にするパラメータである.
ユーザは時に機敏に位置情報管理のシステムが反応してしまうことを嫌う場合がある.
曖昧さを設定できることで,数分間席をはずしていることを逐次通知されることはない.
APPEARANCEタグはユーザが現れてからその情報を他のノードに通知するまでの遅延秒数を表す.
DISAPPEARANCEユーザが立ち去ってからその情報を他のノードに通知するまでのの遅延秒数を表す.
<DELAY>
<APPEARANCE>1000</APPEARANCE>
<DISAPPEARANCE>1000</DISAPPEARANCE>
</DELAY>

 

Represent(ユーザ)に関する一般的な設定を行う。もっともよく存在するノード

この設定の有効期間が設定できる。

また オーナーの名前や

オーナーの所属グループを登録する。

自分の情報を伝えるべき相手の名前の設定(Outgoing)、

情報を知るべき相手の設定(Incoming)などが行える

同様に自らの情報を伝えることが可能なグループを設定できる。

(最終的な整合性は、許可グループ、許可個人名、非許可グループ、非許可個人名)の順番にチェックしていく予定。)

移動した先、移動する前に応じて自分が存在した場合その情報を公開する場所を定義する。

「トイレ以外の場所は許可」なども定義できる。

(☆現在のバーションは場所の名前付けに広域なインターネットにコリジョンが起こらない仕組みを採用していない。アドホックである。今後別の研究成果などを取り入れたい。(On a Location Model for Fine-Grained Geocast  Frank Durr and Kurt Rothermel Institute of Parallel and Distributed Systems (IPVS), University of Stuttgart)

曜日ごとに自分の情報を公開する時間帯をセットする。

いずれの許可を得ている人物にも情報が制限される。

月曜日から9:15−11:00

13:00−17:45までなど

時間を区切って細かく定義できる。

   


 

 
     
4.  関連研究  
  Tachyonの特徴は,位置情報を検知するノード間を接続するだけで動作可能なサーバレスなシステムである。
管理者はGUIを使って簡単にトポロジを構成し、ユーザの一人一人のエージェントである
Representationをトポロジ内部に放流する.

ユーザの位置情報を管理するのは,各ノードが分散して行う.RFIDのタグを持っているユーザの近傍には常にRepresentationが存在し,他からのユーザに対する位置情報の獲得要求の正当性をユーザのPrivacy Policyに照らし合わせて検査する.Privacy Policyの項目として,位置情報を公開する相手/位置情報の伝達依頼を受け付ける相手,位置情報を公開する時間帯と曜日,位置情報を公開する場所,入退出後の情報更新の遅延を設定できる.

Tachyonと既存の製品や研究との違いを述べる。

Microsoft Windows Messenger(http://messenger.msn.com)は、個人の情報を登録し、他のユーザに公開し、プライバシにかかわる情報の通知/非通知やONLINE/OFFLINEの情報をユーザが自由に設定できる.しかし,ネットワークが同一なセグメントでの位置情報管理や、他のユビキタスアプリケーションとの連携を行うことはできない.またサーバの障害時には利用することはできないなどの問題点がある.

Marc Langheinrichらの行っているPrivacy in Ubiquitous Systems[MarcUbiComp02]のプロジェクトは、PrivacyDBというDBサーバを設置し,一度位置情報を登録すると、そのサーバの管理者を全面的に信頼しなければならないC/Sモデルである.Stephen A. WeisらのCryptography and Information Security Group[StephenICSPC03] ではRFIDの物理的なセキュリティとプライバシの保護機構が研究されているが分散システム全体として捉えた研究ではない。Michael Beigl[PhilipICSPC03]らの仕事は近傍におけるサービスの共有のあり方を探るものであり、ユーザ間での位置情報を検索する機構は備えていない.

ピアツーピアを用いたシステムの代表例であるIon Stoicaら[IonSIGCOMM01,IonSIGCOMM02]のシステムシステムは,分散ハッシテーブルを用いてpeerが組まれるため小規模で信頼できるノード間での通信に限りたい場合には,不向きである.

 
     
5.  開発成果  
 

【デモビデオ】
デモビデオ1デモビデオ2

【注意点】

開発成果の配布方法やライセンスについて述べ,製品化する際の注意事項を示す.
また,本開発成果によって実現される世界や,今後の展望についての述べる.

【配布方法およびライセンス】

Tachyonは,ユーザが無料でダウンロードし使用できる.但し,Jini,JMF, JCAのバイナリは再配布できないのでSun Microsystemsよりダウンロードする.こちらも無料である.

【Tachyonを用いたソフトウェアの開発について】

本ソフトウェアは,オープンソースで,無償に情報家電開発者や研究者に公開する.
ソースコード公開により,バグフィックスができるだけでなく,開発者同士が双発的に意識しあいながらよい製品の開発が行える.そのため,主に開発者が利用できるAPIを提供し,さらに,本ソフトウェアはGNU Public License(以降,GPLライセンス)で配布する.本ソフトウェアのソースコードはWeb(\verb+http://www.uBlocks.org/+)での入手を可能にする.また,開発に関わる第三者の利用者のコミュニティへの参加として開発中のソースコードを管理するサーバへのアクセスも可能にする.

【 製品化する上での注意】

情報家電メーカによる製品化は大いに歓迎する.ただ,Jiniに対応した組み込みハードウェアを生産する場合は,Sun Community Source License (SCSL)によってロイヤリティが発生する場合がある.

 
     
6.  本年度の研究成果  
 

=============ポスタ==============

[1]ソフトウェア科学会SPAサマーワークショップ2003

「Tachyon:オーバレイネットワークを用いる位置情報管理機構の設計」

岩井 将行,2004年3月箱根

==============口頭発表予定==============

[2]第66回全国大会TT1 特別トラック(1)ユビキタス社会とセキュリティ
「Tachyon:プライバシを考慮する電子タグ位置情報管理機構」
岩井 将行、高橋 元、門田 昌哉、中島 達夫、徳田 英幸
2004年3月慶應大学湘南藤沢キャンパス

zenkoku.pdf

[3]ソフトウェア科学会SPAワークショップ2004
「Tachyon:オーバレイネットワークを用いる位置情報管理機構」
岩井 将行、徳田 英幸、2004年3月上諏訪

==============論文誌==============

[4]ソフトウェア科学会論文誌
分散アプリケーション構築操作を複数種インタフェースから可能にする研究
岩井 将行, 中澤 仁, 徳田 英幸
日本ソフトウェア学会コンピュータソフトウェア
Vol.21 No.1(2004) 2004年1月 pp.13-26

ronbunshi.pdf

 
     
7.  現在までの主な研究成果  
 

[1]2002年6月 情報処理学会論文誌,特集号 『分散コンポーネントによる即興的アプリケーション構成機構の実現』
[2]2001年9月 Roma, Italy 3rd International Symposium on Distributed Objects and Applications  『Flexible Distributed Event-Driven Programming Framework for Networked Appliances and Sensors 』
[3]2000年12月 Korea, Cheju. IEEE the Seventh International Conference on Real-Time Systems and Applications 『Dragon:Soft Real-Time Event Delivering Architecture for Networked Sensors and Appliances』
[4]2001年11月 石川 情報処理学会,第105回マルチメディア通信と分散処理研究会 『広域および小規模分散コンポーネント間通信機構の評価 』
[5]2000年5月 沖縄, 情報処理学会 システムソフトウェアとオペレーティングシステム研究会, 『情報家電機器間の動的なイベントバインディング機構の構築』
[6]1999年9月 岩手, 情報処理学会 第59回全国大会,『家電ネットワークにおけるサービスの動的提供機構』
[7]"複数個インタフェースからの一貫性のある分散アプリケーション構築に関する研究 " 岩井 将行, 中澤仁, 徳田英幸 日本ソフトウェア科学会 ソフトウェアシステム研究会SPAサマーワークショップSPA-SUMMER 2002年8月
[8]"uBlocks: Enabling User-side Composition of Distributed Ubiquitous Application "岩井 将行, 中澤 仁, 徳田 英幸 情報処理学会 情報家電コンピューティング研究会(IAC-4) Vol.4 2002年11月 pp.29-36

 


(ソフトウエア開発プロジェクト3件)
『Dragon Event Binding Binding Editor Library』, Real-time Audio and Video Intelligent Operation (RAVIO) プロジェクト(2000)., http://www.coe.keio.ac.jp/project/dmbase/
『Event Driven Programming Toolkit for Embedded System』, Real-time Human Device Interactionプロジェクト (2000)., http://www.mkg.sfc.keio.ac.jp/HDI/
『動的適応支援ミドルウェア:Dragon1.0』, .Homeプロジェクト (2000-)., http://www.mkg.sfc.keio.ac.jp/dotthome/

 
     
8. まとめ  
 

本年度は,ユーザが,望まない人や望まないアプリケーションにRFIDを使った位置 情報が伝わる危惧をできるだけ排除することを目的として,分散型位置管理機構「Tachyon」の開発を行なった.Tachyonは,位置情報を検知するノード間をオーバレイネットワークのように接続するだけで動作可能なサーバレスなシステムである.ユーザの分身であるRepresentationがユーザ近傍のノードに常に存在し,他のユーザに位置情報を開示するべきかを検査し,プライバシを保護する機構である.本報告書は,その成果を報告するものである.

 

関連Webサイト:

http://www.ht.sfc.keio.ac.jp/~tailor/dragon

http://www.ublocks.org/