• 検索結果がありません。

外部への標準化された API をもつモジュール設計

3.4. FieldCast のソフトウェアアーキテクチャ

3.4.1. 外部への標準化された API をもつモジュール設計

プレゼンスエンジンは、他のコミュニケーションアプリケーション(文字チャット、VoIP、 ビデオチャット)とは独立しており、外部のコミュニケーションアプリケーションのため のプレゼンスAPIを提供する。我々のプレゼンスAPIの制御構文と構造はPAM API[29]

の標準に基づいている。

また、プレゼンスエンジンとそれぞれのノードのデバイスはセンサインターフェースで 分けられ、デバイスはユーザコンテキストの変更通知を送ることができる。

3.4.2. メディアハンドオーバ機能を持つセンサデバイス

FieldCast ではセンサインターフェースで接続されたセンサデバイスのひとつとして、別に

実装をしたL2/L3のシームレスハンドオーバー[30]を用いた。Field Castではメディアハンド オーバによって、(有線)イーサネットワーク、無線LAN、PHSの三種類の通信メディアを動 的に切り替えることを可能にしている。さらに、MobileIPv6 を用いることで、メディアが切

トワークの情報やワイヤレスネットワークの受信強度を含んでいる。これらの情報を用いて、

L2/L3ハンドオーバー機能はネットワークパフォーマンスを改善することができる。たとえば

有線LANが切れたことを検出して自動的にワイヤレスLANに切り替えたり、ワイヤレスLAN の強度が弱くなった際に、自動的に PHS に切り替えたりする。逆に、PHS を利用中に無線 LANが利用可能になれば、自動的に無線LANに切り替えることでパフォーマンスを改善する。

また、ネットワークへの認証情報は各ノード内にあるデータベースに格納されている。適切な

L2ネットワークに接続するのに必要な認証手続きやパラメーター、ユーザ ID のような情報

をデータベースから得ることで、前述した接続の自動化を可能にしている。

このメディアハンドオーバ機能から接続しているネットワークの情報をプレゼンス情 報として用いることで、利用可能帯域についてのコンテキスト情報などを生成することが できる[30]。基本的な情報としては利用している回線種別、すなわち有線LAN、無線LAN、 PHSのいずれかであるかをプレゼンス情報に含めることができる。この情報は、回線が広 帯域もしくは狭帯域かといった情報として用いることができ、回線の帯域によって文字チ ャットから VoIP、ビデオチャットと利用可能なアプリケーションの表示を切り替えるこ とに利用できる。

3.4.3. ローダブルモジュールを持つプライバシ制御の実行機構

プレゼンスエンジンはセンサインターフェース経由でコンテキスト情報を取得する。プ レゼンス情報の一部はこの情報を用いてプレゼンスポリシとプライバシポリシの規定に 従って整形されて生成される。

我々は初期の実装後にプレゼンス情報生成機能について再検討し、新しい実装は着脱可 能なモジュールとして実装した。これによりプライバシポリシのカスタマイズ性を大きく 向上させた。この機能は動的読み込み可能なスクリプトモジュールによって実装されてお り、そのことにより、ポリシ記述の方法やポリシの変更自体を容易にしている。

ユーザのコンテキストの変化は、プレゼンス情報のコンテキストに自動的に反映される。

このようにセンサデバイスから得た情報を外部に出さないままで、端末内で公開するプレ ゼンス情報を生成する機構は、プライバシ関連の情報を PDA 上で一元管理することを可 能にし、個人情報を中央サーバのシステム管理者などの他人が知る必要がないという利点 がある。

プレゼンスサーバはユーザノードにある多様なセンサデバイスからの大量の情報を用 いてプレゼンス情報の高度な生成処理を行えるべきである。ユーザの様々な状況に応じて、

ユーザの希望するようにコンフィグレーションできるプライバシ情報のフィルタリング 機構を実装した。実装したフィルタリング機構では図 3-6 に示すようにユーザは if-then 節を用いて各自のプライバシプロファイルを構築することができる。これはプレゼンスエ ンジンと対応するローダブルスクリプトモジュールによって実装されている。

たとえば、時刻の範囲によってプレゼンス情報を自動生成したり、位置情報から取得した 情報に基づいて希望するコミュニケーションツールを自動で選択したりルールを記述す

ることができる。

Presence Engine

“Befor 8:00”

Privacy profiles (configured by the user)

and “After17:00” “Respond BUSY”

“In the office” and “Not walking” “Ring Office Phone”

“At home” and “Daytime” “Ring Cell Phone”

. .

Time

module Geolocation

module Motion

module

script modules

Presence User Info

profile

(loading) (interpretation)

図3-6 プライバシポリシエンジンの概略

図3-7はFieldCastのシステムのプレゼンス情報の閲覧アプリケーションの画面を示して いる。ユーザはグラフィカルなアイコンを通じて、登録メンバーのプレゼンス情報である、

可用性と、優先するコミュニケーション手段を知ることができる。

登録されたユーザ(Buddy)がユーザのコンテキストを変更したり、センサデバイスから 更新情報を受け取ったりした際には、上記のプレゼンス情報は自動的に更新され、登録・

許可された他のユーザにプレゼンスエンジンが送信する。

Buddy /Group

Reload Buddy /Group

Reload

Presence information for the owner

Buddy Groups

Buddy name and icon indicating Tom’s

communication status

Available communication methods for Tom

Currently available

communication methods for the owner (Launches each application when clicking the button)

(yellow) Connected

IP Communication failure (gray) Timeout occurred for obtaining buddy’s presence info

図3-7 プレゼンスビューワ画面

3.5. FieldCast の実装評価

全節で述べたFieldCastアーキテクチャに基づいてLinuxで動作するPDA上での実装 を行った。この実装を用いて、FieldCast アーキテクチャを主にリソース消費とプレゼン ス情報の更新間隔、実際の有用性の観点から評価を行った。