プレゼンス情報を用いたアプリケーションのフレームワーク

プレゼンス情報を用いたアプリケーションのフレー
ムワーク
谷 隆三郎(tani)
親 みなみさん
サブ親 kwktさん
背景
• 実空間アプリケーション
– コンテクストアウェア
– センサ情報収集
– 利用者の状況に合わせて動作するアプリケーション
• 個体認識技術
– IDと情報の関連付け
– 位置情報の取得
実空間アプリケーション
• 個体認識技術を利用した実空間アプリケーション
–
–
–
–
入退室通知アプリケーション
忘れ物検出アプリケーション
出席管理アプリケーション
物品管理アプリケーション
問題点
• 実空間アプリケーションにおける問題点
• ハードウェアごとに異なる実装
• 多くのアプリケーションに共通する機能
• 不必要なタグの情報が多い
– ハードウェアとソフトウェアの結びつきが強い
目的
• 実空間アプリケーションへ共通のインターフェー
スを提供するミドルウェアの構築
• 利点
– リーダの隠蔽化
• 実空間の情報をリーダの種類によらず同じ様に扱える
• アプリケーションの移植性向上
– 実空間アプリケーション開発の効率化
利用モデル
• リーダからみたミドルウェア
検出
LQWHZLT
リーダA
2004/12/12
12:34:54
aさんが入室しました
実空間
アプリケーション1
実空間
アプリケーション2
• アプリケーションからみたミド
ルウェア
API
ミドルウェア
サーバ
H,LQWHZLT,2092,1,0
aさん
タグ
10007A4001120005
リーダB
リーダA
– リーダの種類ごとに異なる
フォーマットで送信
– いつでも送信可能
– APIを利用してサーバから情報
を取得
– 取得する情報のフォーマットは
共通
– 必要なイベントのみ取得
機能要件
• 共通フォーマットへの変換
– リーダの種類によるフォーマットの違いを統一
• 検出・消失の判定
• 検出状況の保持
– リーダの出力とアプリケーションの取得タイミングが異
なるため
• 条件判定
– 不要なイベントの破棄
システムモデル
•
実空間
アプリケーション
API
コンディション情報
– 共通フォーマットへの変換
– リーダ出力情報
• リーダから出力された情報
– リーダイベント情報
プレゼンス情報
コンディション層
リーダ設定情報
リーダイベント層
• 共通フォーマットへ変換されたリーダ出
力情報
•
プレゼンス層
– 検出・消失の判定
– 検出状況の保持
– リーダ設定情報
プレゼンス情報
• 検出・消失を判定するためのパラメータ
プレゼンス層 実空間情報
– プレゼンス情報
• 検出・消失などのイベント情報
– 実空間情報
リーダイベント情報
リーダイベント層
リーダ出力情報
リーダ
リーダ
リーダ
• タグの検出状況を表す情報
•
コンディション層
– 条件判定
– コンディション情報
• 必要な情報かどうかを判定するための
条件
実装
• ハードウェア部
– 2つのアクティブ型RFIDシステム
• RF CODE社 SPIDER READER
– シリアルサーバ
CYCLADES-TS100
• 東京特殊電線 MEGRAS
• ミドルウェア部
– FreeBSD 5.3
– C言語
• アプリケーション部
– C言語ライブラリの提供
ミドルウェアの実装
• リーダイベント層
– リーダイベント情報を定義
– リーダの種類ごとの解析メソッドへハ
ンドリング
• プレゼンス層
–
–
–
–
プレゼンス情報を定義
検出・消失の判定
実空間情報の更新
プレゼンス情報の生成・送信
データタイプ
タグID
位置情報ラベル
最終検出時間
検出開始時間
発信間隔
検出回数
イベントタイプ
タグID
位置情報ラベル
最終検出時間
検出開始時間
次ポインタ
リーダイベント情報
プレゼンス情報
プレゼンス層
• コンディション層
– コンディション情報(条件)の定義
• イベントタイプ(検出・消失)
• タグID
• リーダ
– 条件一致判定
参照
リーダ設定
情報管理
モジュール
リーダ設定
情報
ガベージ
コレクション
モジュール
リーダ設定情報
実空間情報
管理モジュール
実空間
情報
リーダ
イベント解析
リーダイベント情報 モジュール
プレゼンス情報
生成モジュール
プレゼンス情報
ライブラリ
•
•
•
•
ミドルウェアへの接続・切断
コンディション情報の登録
リーダ設定情報の変更
プレゼンス情報の取得
– 現在の状態を取得
– 変化があった時に通知
評価(1)
• アプリケーション開発が効
率的になったかどうか
• タグの移動通知アプリケー
ションの構築
– 入退室通知アプリケーション
– 忘れ物検出アプリケーション
• コード量は主な機能だけで
約50%の削減
主要な機能のコード量比較
ミドルウェア有
ミドルウェア無
条件読み込み
146行
109行
条件登録
61行
0行
情報取得
26行
113行
データの解析
0行
120行
検出・消失の
判定
0行
142行
条件一致の判
定
0行
114行
メール送信
144行
144行
合計
377行
742行
評価(2)
• 異なる種類のリーダを追加するこ
とが容易になったかどうか
• アプリケーションごとに必要だった
機能変更
– リーダの種類別にハンドリング
– フォーマットの解析メソッドの追加
– 各フォーマットを統合したデータ構
造の定義
• ミドルウェアの提供する機能
– ハンドリング機構
– 変換後のデータ構造の定義
• 3つの必要であった機能変更を1つ
に軽減
リーダ追加時に必要な機能変更
○・・・不要
×・・・要
ミドルウェア有
ミドルウェア無
ハンドリング
○
×
データ解析
×
×
データ定義
○
×
まとめ
• リーダとアプリケーションを切り分けるミドルウェ
アの構築
– 実空間アプリケーションの開発コストを軽減
– 異なる種類のリーダも容易に追加可能
• 今後の課題
– リーダ・ユーザの認証
– 分散処理