*コンテキストアウェアアプリケーションの開発を容易化するセンササービス基盤 [#eba2d13e] **コンテキストアウェアって? [#wf2baed4] コンテキストアウェアアプリケーションとは多様なセンサから収集されるセンサ情報やユーザ、機器の情報から現在の状況を推定し、状況に応じたサービスを提供するアプリケーションです。例えば、、、 -センサライト --人感センサにより「人が来た!」を検知するとライトをつける。 -自動空調管理 --温度センサにより「暑い!」と検知されれば自動的にエアコンの冷房運転スタート。 &attachref(); &attachref(ContextAware.jpg); しかし、もっと便利なサービスを提供する為にはより多くのセンサを利用してより細かい状況を推測する必要があります。 **コンテキストアウェアアプリケーション開発の課題 [#b745e5ac] アプリケーション開発者は利用するセンサの数が増え、アプリケーション規模が増大するに伴い、以下のような問題に取り組まなければなりません。 ***センサとアプリケーションが密に結合している [#iadfeb70] センサを扱うアプリケーションがセンサの値を得ようとした場合、センサへのアクセス方法やセンサの値の解釈といったセンサ固有の処理をアプリケーション内に作り込む必要があります。 そのため、センサが増加するとアプリケーションの複雑さが増大し、センサの追加・変更時のアプリケーションの改修コストが大きくなってしまいます。 ***センサへのポーリングによるトラヒックの増加 [#d2e9f6a5] センサを利用するアプリケーションは絶えずその値を監視し続けている必要があるため、センサ数の増加に伴い、センサとアプリケーション間の通信量が増大してしまいます。 **提案手法 [#x453e130] そこで、本研究ではアプリケーション開発者がこのような問題を気にすることなくセンサを利用することができるセンササービス基盤を提案します。 ***(1)サービスレイヤの導入 [#l34edc05] センササービス基盤では、センサデバイスをサービスレイヤと呼ぶ層で包み込みます。 このサービスレイヤはセンサ固有のアクセス方法や値解釈に関するロジックをWebサービス技術を利用した標準的なAPIに変換するラッパーで、センサとアプリケーション間の疎結合を実現します。 アプリケーションは、サービスレイヤの提供する標準的なインタフェースを通じてセンサの違いを意識することなくセンサ値を取得することができるようになります。 ***(2)Publish/Subscribe型のメッセージ交換パターンの採用 [#pf09b137] Publish/Subscribeとは、「事前にsubscribe(登録)しておいた条件が成立したときのみ通知してもらう」という仕組みのメッセージ交換のパターンです。 例えば、温度センサーの「28℃以上になったら」という条件に対してsubscribeしておくと、その条件が満たされた時、センサーはアプリケーションに通知します。 このように、従来のポーリング型のメッセージ交換だけでなく、Publish/Subscribe型メッセージ交換パターンも利用することで、通信量の削減を図ります。 &attachref(); &attachref(pubsub.jpg); **発表文献 [#cbdc430a] -坂本 寛幸, 井垣 宏, 中村 匡秀, ``コンテキストアウェアアプリケーションの開発を容易化するセンササービス基盤,'' 電子情報通信学会技術研究報告, vol.108, no.458, pp.381-386, March 2009.&attachref(200903IN_sakamoto.pdf); -Yoji Onishi, Hiroshi Igaki, Masahide Nakamura, and Ken-ichi Matsumoto. ``A Scalable Sensor Application Framework Based on Hierarchical Load-Balancing Architecture,'' In Proceedings of the IASTED International Conference on Software Engineering (IASTED SE 2008), pp.37-42, February 2008. [[[PDF]:http://www27.cs.kobe-u.ac.jp/achieve/data/pdf/289.pdf]]