コンテキストアウェアアプリケーションとは多様なセンサから収集されるセンサ情報やユーザ、機器の情報から現在の状況を推定し、状況に応じたサービスを提供するアプリケーションです。例えば、、、
しかし、もっと便利なサービスを提供する為にはより多くのセンサを利用してより細かい状況を推測する必要があります。
アプリケーション開発者は利用するセンサの数が増え、アプリケーション規模が増大するに伴い、以下のような問題に取り組まなければなりません。
センサを扱うアプリケーションがセンサの値を得ようとした場合、センサへのアクセス方法やセンサの値の解釈といったセンサ固有の処理をアプリケーション内に作り込む必要があります。 そのため、センサが増加するとアプリケーションの複雑さが増大し、センサの追加・変更時のアプリケーションの改修コストが大きくなってしまいます。
センサを利用するアプリケーションは絶えずその値を監視し続けている必要があるため、センサ数の増加に伴い、センサとアプリケーション間の通信量が増大してしまいます。
そこで、本研究ではアプリケーション開発者がこのような問題を気にすることなくセンサを利用することができるセンササービス基盤を提案します。
センササービス基盤では、センサデバイスをサービスレイヤと呼ぶ層で包み込みます。 このサービスレイヤはセンサ固有のアクセス方法や値解釈に関するロジックをWebサービス技術を利用した標準的なAPIに変換するラッパーで、センサとアプリケーション間の疎結合を実現します。
アプリケーションは、サービスレイヤの提供する標準的なインタフェースを通じてセンサの違いを意識することなくセンサ値を取得することができるようになります。
Publish/Subscribeとは、「事前にsubscribe(登録)しておいた条件が成立したときのみ通知してもらう」という仕組みのメッセージ交換のパターンです。 例えば、温度センサーの「28℃以上になったら」という条件に対してsubscribeしておくと、その条件が満たされた時、センサーはアプリケーションに通知します。
このように、従来のポーリング型のメッセージ交換だけでなく、Publish/Subscribe型メッセージ交換パターンも利用することで、通信量の削減を図ります。