|

本プロジェクトで開
発したものは,大きく3つに分かれる.
(1) 無線LANを利用した端末の測位システム
測位システムは,開発者の所属する研究室で考案されたWiPS方式を参考にして開発した
(図2.6.1 WiPS方式による,端末の相対位置の測定).この測位方式は2つのソフトウェア部品で構成されている.1つは,端末間でパケットを相互
に飛ばし,電波強度を測定するスニファ,もう1つは電波強度による距離情報を集約して位置を計算し,セッションマネージャへ位置情報を提供するサーバであ
る.
(2) サーバとアプリケーション間の通信を受け持つセッションマネージャ
これはサーバから位置情報を受け取る,サーバを発見する,などの機能をもつ.
(3) 位置情報を利用して近距離端末間の通信を行なうアプリケーション
端末情報の表示と通信相手の指定を行なうためのGUI,メッセージやファイル送受信などの通信サービス機能がこれに相当する.
本システムはインフラストラクチャモードの無線LAN上にこのソフトを配置すれば動作させることができる.ソフトはすべて同一のセグメント内に存在する
必要がある.システム構成を図2.6.2 システム構成
に示す.位置計算はサーバPC上で動作しており,通信端末ではスニファ,セッションマネージャ,およびアプリケーションが動作している.しかし,サーバ
PCがない場合は,通信端末内でサーバ機能を動作させることも可能である.
スニファ,セッションマネージャ,アプリケーション開発はSHARP
zaurusのSL-B500で行なった.セッションマネージャ,アプリケーション,サーバについてはそれ以外の機種でも動作可能である.スニファは無線
LANのドライバを書き換えて電波強度情報を取得しているので,SL-B500以外の機種で動作させるためにはドライバを書き換える必要がある.
図 2.6.1 WiPS 方式による,端末の相対位置の測定
図
2.6.2 システム構成
以下各ソフトの開発の要所について簡単に述べる.
スニファによる電波強度の測定とそれに基づく端末間の距離の測定を,移動端末に向いた実時間的なものにするために,送信電波のサンプリングタイミングや
手法をそれまどのプロトタイプから改善した.また,マルチパスノイズによる測定の不安定性を,少し前の受信電波の強度を利用したフィルタリングで大幅に改
善した.
位置計算サーバの構成を図2.6.3 位置計算サーバの構成 に示す.サーバは多くの端末の対の (やや不正確な)
距離情報から最急降下法を用いて各端末の平面上の相対位置関係を導く.ほぼ90%は正しく計算することが可能で,正しくない場合でもそれを自動的に判断
し,再計算する.この計算はプロジェクト開始前のJavaをCで書き直すことによって50倍速度が向上し
(1回の計算が0.5秒から,0.01秒に短縮),実用上ストレスを感じることはなくなった.ただし,配置情報が完全に反転してしまう可能性はこれだけで
は除去できないことに注意しておく.
セッションマネージャは近距離にある端末の情報を取得し,位置情報サーバを発見するのが主要な仕事であるが,サーバが見つからない場合は,自端末に暫定
サーバを立ち上げることも行なう.
セッションマネージャと密接につながっているアプリケーションの中の一番基本的な機能は,近隣にある端末の位置情報をGUI画面に表示し,ファイル転送
などのアプリケーションの起動を補助することである.図2.6.4 セッションマネージャとアプリケーションのやや詳細な構成
にセッションマネージャとアプリケーションのやや詳細な構成を示す.
本プロジェクトで開発したGUIはプロトタイプに比べてはっきりと見やすくかつ使いやすくなっている.図2.6.5
新旧GUIの比較に新旧GUIの比較を示す.新しいほうが文字が重ならないようにするなど,きめ細かい工夫が織り込まれている.ユーザは,この画面の上
で,たとえばメッセージを送りたい相手のアイコンをクリックすればよい.
本プロジェクトで開発したソフトの大きな特徴は,測位システムやセッションマネージャ,さらにGUIの一部も含めて,個別のアプリケーションに依存しな
いフレームワークとしてまとめたことである.このフレームワークを利用すれば,多くの人が新しい位置情報利用アプリケーションを開発することが可能にな
る.
図 2.6.3 位置計算サーバの構成
図 2.6.4 セッションマネージャとアプリケーションのやや詳細な構成
図 2.6.5
新旧 GUI の
比較

|