(57)【要約】【課題】  ユーザの状況（コンテキスト）情報の使用を制御する方法及び装置を提供する。【解決手段】  ユーザのコンテキスト情報の使用を制御する方法及び装置は、移動式コンピューティング装置上にコンテキストポリシー執行エンジンを構築することを含む。コンテキストポリシー執行エンジンは、ソフトウェア及び／又はハードウェア要素として具現化され得る。コンテキストポリシー執行エンジンは、ユーザに関するコンテキスト情報の要求を受信したことに応答して、コンテキストポリシーデータを検索する。コンテキストポリシーデータは、コンテキスト要求に応答するためのコンテキストルールの組を定める。コンテキストポリシー執行エンジンは、このコンテキストルールの組に基づいて要求に応答する。【選択図】  図２
2011071978.tif 000002
【特許請求の範囲】
【請求項１】
移動式コンピューティング装置上にコンテキストポリシー執行エンジンを構築するステップ；
前記移動式コンピューティング装置のユーザに関するコンテキスト情報の要求を受信するステップ；
コンテキスト要求に応答するためのルールの組を定めるコンテキストポリシーデータを、前記コンテキストポリシー執行エンジンを用いて検索するステップ；及び
前記コンテキストポリシーデータに基づいて、前記コンテキスト情報の要求に応答するステップ；
を有する方法。
【請求項２】
前記コンテキストポリシー執行エンジンを構築するステップは、前記コンテキストポリシー執行エンジンを安全な起動環境に構築することを有する、請求項１に記載の方法。
【請求項３】
前記コンテキストポリシー執行エンジンを構築するステップは、前記コンテキストポリシー執行エンジンをソフトウェアにて構築することを有する、請求項１に記載の方法。
【請求項４】
前記コンテキスト情報の要求を受信するステップは、前記コンテキスト情報の要求をソフトウェアアプリケーションから受信することを有する、請求項１に記載の方法。
【請求項５】
前記コンテキスト情報の要求を受信するステップは、前記ユーザの位置、前記ユーザの活動、前記ユーザが位置する環境の特徴、及び前記ユーザに関する生体データのうちの少なくとも１つの要求を受信することを有する、請求項１に記載の方法。
【請求項６】
前記コンテキスト情報の要求を受信するステップは、（ｉ）前記ユーザの位置及び（ｉｉ）前記ユーザに関する少なくとも１つの更なるコンテキストパラメータの要求を受信することを有する、請求項１に記載の方法。
【請求項７】
前記コンテキスト情報の要求を受信するステップは、要求元エンティティから前記要求を受信することを有し；且つ
前記コンテキストポリシーデータは、前記要求元エンティティの識別子に基づいたルールを定める；
請求項１に記載の方法。
【請求項８】
前記コンテキストポリシーデータは、要求元エンティティの所定のグループに基づいたルールを定める、請求項７に記載の方法。
【請求項９】
前記コンテキストポリシーデータは、前記ユーザに関連付けられたコンテキストパラメータに基づいたルールを定める、請求項１に記載の方法。
【請求項１０】
前記コンテキストポリシーデータは、要求されたコンテキスト情報と、前記コンテキスト情報の要求が受信された時点での前記ユーザの位置とに基づいたルールを定める、請求項１に記載の方法。
【請求項１１】
前記コンテキストポリシーデータは、要求されたコンテキスト情報と、前記コンテキスト情報の要求が受信された日時とに基づいたルールを定める、請求項１に記載の方法。
【請求項１２】
前記コンテキストポリシーデータは、要求されたコンテキスト情報と前記ユーザの活動とに基づいたルールを定める、請求項１に記載の方法。
【請求項１３】
前記要求に応答するステップは、前記コンテキストポリシーデータの前記ルールの組に基づいてコンテキストデータを決定するステップを有する、請求項１に記載の方法。
【請求項１４】
前記要求に応答するステップは更に、前記コンテキストポリシーデータの前記ルールの組に基づいて、前記コンテキストポリシー執行エンジンを用いて、前記コンテキストデータをコンテキストデータベースから検索するステップを有する、請求項１３に記載の方法。
【請求項１５】
前記要求に応答するステップは更に、前記コンテキストデータを送信するステップを有する、請求項１４に記載の方法。
【請求項１６】
前記コンテキストデータを決定するステップは、前記ユーザのコンテキストパラメータを定める複数のデータからコンテキストデータを選択することを有し、前記複数のデータは、前記コンテキストポリシーデータの前記ルールの組にて定められた異なる具体性レベルを有する、請求項１３に記載の方法。
【請求項１７】
前記ユーザのコンテキストは複数のコンテキストパラメータによって定められ、前記コンテキストポリシーデータは、各コンテキストパラメータに関連付けられた複数のパラメータ特性に基づいて前記ルールの組を定め、
前記コンテキストデータを決定するステップは、前記コンテキストポリシーデータにて定められた前記複数のパラメータ特性のうちの少なくとも１つに関して前記コンテキストデータを決定することを有する、
請求項１３に記載の方法。
【請求項１８】
前記移動式コンピューティング装置にて、ユーザ提供されたコンテキストポリシールールを受信するステップ；及び
前記コンテキストポリシー執行エンジンにて、前記ユーザ提供されたコンテキストポリシールールを用いて、前記コンテキストポリシーデータを更新するステップ；
を更に有する請求項１に記載の方法。
【請求項１９】
前記移動式コンピューティング装置にて、前記ユーザに関するユーザ提供されたコンテキストデータを受信するステップ；及び
前記ユーザ提供されたコンテキストデータを用いて、前記移動式コンピューティング装置に格納されたコンテキストデータベースを更新するステップ；
を更に有する請求項１に記載の方法。
【請求項２０】
前記移動式コンピューティング装置に対して遠隔のソースから、前記ユーザに関するコンテキストデータを受信するステップ；及び
受信した該コンテキストデータを用いて、前記移動式コンピューティング装置に格納されたコンテキストデータベースを更新するステップ；
を更に有する請求項１に記載の方法。
【請求項２１】
複数の命令を格納した機械読み取り可能媒体であって、前記複数の命令は実行されることに応答してコンピューティング装置に：
移動式コンピューティング装置上にコンテキストポリシー執行エンジンを構築するステップ；
前記移動式コンピューティング装置のユーザに関するコンテキスト情報の要求を受信したことに応答して、コンテキスト要求に応答するためのルールの組を定めるコンテキストポリシーデータを、前記コンテキストポリシー執行エンジンを用いて検索するステップ；及び
前記コンテキストポリシーデータに基づいて、前記コンテキスト情報の要求に応答するステップ；
を実行させる、機械読み取り可能媒体。
【請求項２２】
前記要求に応答するステップは、前記コンテキストポリシーデータの前記ルールの組に基づいてコンテキストデータを決定するステップを有する、請求項２１に記載の機械読み取り可能媒体。
【請求項２３】
前記要求に応答するステップは更に、前記コンテキストポリシーデータの前記ルールの組に基づいて、前記コンテキストポリシー執行エンジンを用いて、前記コンテキストデータをコンテキストデータベースから検索するステップを有する、請求項２２に記載の機械読み取り可能媒体。
【請求項２４】
前記コンテキストデータを決定するステップは、前記ユーザのコンテキストパラメータを定める複数のデータからコンテキストデータを選択することを有し、前記複数のデータは、前記コンテキストポリシーデータの前記ルールの組にて定められた異なる具体性レベルを有する、請求項２２に記載の機械読み取り可能媒体。
【請求項２５】
コンテキストポリシー執行エンジン；
プロセッサ；及び
複数の命令を格納したメモリデバイス；
を有する移動式コンピューティング装置であって：
前記複数の命令は、前記プロセッサによって実行されるとき、前記コンテキストポリシー執行エンジンに：
当該移動式コンピューティング装置のユーザに関するコンテキスト情報の要求を受信したことに応答して、コンテキスト要求に応答するためのルールの組を定めるコンテキストポリシーデータを検索させ；
前記コンテキストポリシーデータの前記ルールの組に基づいて、当該移動式コンピューティング装置のユーザに関するコンテキストデータを決定され；且つ
決定されたコンテキストデータを用いて前記コンテキスト情報の要求に応答させる；
移動式コンピューティング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ユーザの状況（コンテキスト）情報の使用を制御する方法及び装置に関する。
【背景技術】
【０００２】
位置認識コンピューティングは、コンピューティング装置、特に、例えば携帯電話及びモバイルコンピュータなどの移動式コンピューティング装置が、位置認識を可能にされたコンピューティング装置の位置に基づいて様々な機能を実行することを可能にする。そのような機能は、例えば、ユーザインタフェースを適応させること、ソフトウェアアプリケーション及び／又はアプリケーションデータを調整すること、及びコンピューティング装置の位置に関するデータ若しくは該位置に基づくデータを公表することを含み得る。また、位置認識を可能にされたコンピューティング装置から遠隔のその他の装置が、該可能にされた装置と相互作用して位置情報を取得し、その位置情報に基づいて、例えば装置ユーザの位置を公表するなどの遠隔機能を実行することも可能になり得る。
【０００３】
コンピューティング装置の位置は、装置自体（例えば、コンピューティング装置がグローバル・ポジショニング・システム（ＧＰＳ）回路を含んでいる）から取得されてもよいし、該装置の機能又は使用に基づいて計算されてもよい。一般的な位置認識コンピューティング装置及び関連システムにおいては、位置情報の流布の制御は利用可能でない。故に、位置情報の使用は、ほとんど制御なく公に利用可能にされるか、あるいは、場合により、コンピューティング装置のユーザによる知識によって公に利用可能にされるかとなり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、ユーザの状況（本願においてコンテキストとも称する）情報の使用を制御する方法及び装置を提供する。
【課題を解決するための手段】
【０００５】
一態様によれば、ユーザのコンテキスト情報の使用を制御する方法及び装置は、移動式コンピューティング装置上にコンテキストポリシー執行エンジンを構築することを含む。コンテキストポリシー執行エンジンは、ユーザに関するコンテキスト情報の要求を受信したことに応答して、コンテキストポリシー（方針）データを検索する。コンテキストポリシーデータは、コンテキスト要求に応答するためのルールの組を定める。コンテキストポリシー執行エンジンは、このルールの組に基づいて要求に応答する。
【図面の簡単な説明】
【０００６】
ここに記載される発明は、例示であり、添付の図面に限定されるものではない。説明の簡便性及び明瞭性のため、図示される要素は必ずしも縮尺通りに描かれていない。例えば、一部の要素の寸法は、明瞭性のために、その他の要素より誇張されていることがある。また、適切であると考えられる場合、参照符号は、複数の図の間で対応する要素又は類似の要素を指し示すために繰り返されている。
【図１】ユーザのコンテキスト情報の使用を制御する移動式コンピューティング装置の一実施形態を示す簡略化したブロック図である。
【図２】図１の移動式コンピューティング装置のソフトウェア環境を示す簡略化したブロック図である。
【図３】コンテキストデータベースの一実施形態を示す簡略化したデータ構造である。
【図４】コンテキストポリシーデータベースの一実施形態を示す簡略化したデータ構造である。
【図５】図１の移動式コンピューティング装置によって実行される、ユーザのコンテキスト情報の使用を制御する方法の一実施形態を示す簡略化したフロー図である。
【発明を実施するための形態】
【０００７】
ここに開示する概念は様々な変更及び代替形態を受け入れ得るものであり、その特定の例示的な実施形態を図面に例示し、ここで詳細に説明する。しかしながら、理解されるように、ここで開示する概念は、ここで開示する特定の形態に限定されるものではなく、対照的に、添付の請求項によって定められる本発明の精神及び範囲内に入る全ての変形、均等物、及び代替物に及ぶものである。
【０００８】
以下の記載において、この開示の一層完全な理解を提供するために、例えばロジック実装、オペレーションコード、オペランドを指定する手段、リソースの区分け／共有／重複実装、システムコンポーネントの種類及び相互関係、及びロジックの区分け／統合選択などの数多くの具体的細部を説明する。しかしながら、当業者に認識されるように、開示される実施形態はそのような具体的細部を用いずに実施されることも可能である。また、発明を不明瞭にしないよう、制御構造、ゲートレベル回路、及び完全なソフトウェア命令シーケンスについては詳細に示していない。当業者は、ここに含まれる説明を用いることにより、過度の実験を行うことなく適切な機能を実現することができるであろう。
【０００９】
明細書中での“一実施形態”、“一実施形態例”などへの言及は、そこで説明される実施形態が特定の特徴、構造又は特性を含み得ることを指し示すものであるが、必ずしも、全ての実施形態がその特定の特徴、構造又は特性を含むことを指し示すものではない。また、そのような言い回しは必ずしも同一の実施形態に言及するものではない。さらに、特定の特徴、構造又は特性が１つの実施形態との関連で説明されるとき、明示されているか否かにかかわらず、その特徴、構造又は特性を他の実施形態との関連で実現することは当業者の知識の範囲内であろう。
【００１０】
本発明の実施形態は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせにて実現され得る。コンピュータシステムにて実現される本発明の実施形態は、構成要素間の１つ以上のバスに基づく相互接続、及び／又は構成要素間の１つ以上の二点間相互接続を含み得る。本発明の実施形態はまた、１つ以上のプロセッサによって読み出されて実行され得る機械読み取り可能媒体に格納された命令として実現され得る。機械読み取り可能媒体は、機械（例えば、コンピューティング装置）によって読み取り可能な形態で情報の記憶又は伝送を行う如何なる媒体をも含み得る。例えば、機械読み取り可能媒体は、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスなどを含み得る。
【００１１】
図１を参照するに、当該装置１００のユーザに関するコンテキストデータの使用を制御するように構成された移動式コンピューティング装置１００は、コンテキストポリシー執行エンジン１０２、プロセッサ１０４、チップセット１０６、及びメモリ１０８を含んでいる。コンピューティング装置１００は、ここで説明する機能を実行可能な如何なる種類の可搬式コンピューティング装置として具現化されてもよい。例えば、一部の実施形態において、コンピューティング装置１００は、携帯電話、携帯情報端末（ＰＤＡ）、ノート型コンピュータ、モバイルインターネットデバイス、又はその他のコンピュータベースの移動式装置として具現化される。
【００１２】
コンテキストポリシー執行エンジン１０２は、ここで更に詳細に説明するように装置１００のユーザに関するコンテキストデータの或る程度のプライバシー及び制御を提供するように強調して相互作用する、ハードウェア部品、ファームウェア要素及びソフトウェア要素を含む複数の構成要素として具現化されてもよい。故に、コンテキストポリシー執行エンジン１０２は、装置１００のプロセッサ１０４とは別個の専用ハードウェアプロセッサ及び／又はその他の回路を含み得る。また、このポリシー執行エンジンは、安全な環境内で当該ポリシー執行エンジンの初期化又はその他の起動を行うように構成されたファームウェア命令を含んでいてもよい。一部の実施形態において、ポリシー執行エンジン１０２は、より高いセキュリティのため、メインメモリ１０８とは別個のメモリ（図示せず）を含んでいてもよいし、あるいはそのようなメモリに通信可能に結合されていてもよい。
【００１３】
プロセッサ１０４は、例として、プロセッサコア１１０を有するシングルコアプロセッサとして具現化される。しかしながら、他の実施形態において、プロセッサ１０４は複数のプロセッサコア１１０を有するマルチコアプロセッサとして具現化されてもよい。さらに、コンピューティング装置１００は、１つ以上のプロセッサコア１１０を有する更なるプロセッサ１０４を含んでいてもよい。プロセッサ１０４は、多数の信号パス１１２を介して、チップセット１０６に通信可能に結合される。信号パス１１２は、プロセッサ１０４とチップセット１０６との間での通信を助けることが可能な如何なる種類の信号パスとして具現化されてもよい。例えば、信号パス１１２は、任意の数のワイヤ、印刷回路基盤配線、ビア、バス、介在デバイス及び／又はこれらに類するものとして具現化され得る。チップセット１０６は、メモリコントローラハブ（ＭＣＨ）若しくはノースブリッジ、入力／出力コントローラハブ（ＩＣＨ）若しくはサウスブリッジ、及びファームウェアデバイスを含み得る。そのような実施形態において、ファームウェアデバイスは、基本入出力システム（ＢＩＯＳ）データ、命令及び／又はその他の情報を格納するメモリ記憶装置として具現化され得る。
【００１４】
チップセット１０６は、多数の信号パス１１４を介して、メモリ１０８に通信可能に結合される。信号パス１１２と同様に、信号パス１１４は、チップセット１０６とメモリデバイス１０８との間での通信を助けることが可能な如何なる種類の信号パスとして具現化されてもよく、例えば、任意の数のワイヤ、印刷回路基盤配線、ビア、バス、介在デバイス及び／又はこれらに類するものとして具現化され得る。メモリ１０８は、例えばダイナミックランダムアクセスメモリデバイス（ＤＲＡＭ）、同期型ダイナミックランダムアクセスメモリデバイス（ＳＤＲＡＭ）、ダブルデータレート型ダイナミックランダムアクセスメモリデバイス（ＤＤＲ  ＳＤＲＡＭ）、及び／又はその他の揮発性メモリデバイスを含む、１つ以上のメモリデバイス、又はデータ記憶場所として具現化され得る。また、図１には単一のメモリデバイス１０８のみが示されているが、他の実施形態において、移動式コンピューティング装置１００は更なるメモリデバイスを含んでいてもよい。
【００１５】
一部の実施形態において、コンピューティング装置１００は、データ記憶装置１１８、１つ以上の周辺装置１２０、及び通信回路１２４を含み得る。そのような実施形態において、チップセット１０６は、データ記憶装置１１８、周辺装置１２０、通信回路１２４及びコンテキストポリシー執行エンジン１０２にも、信号パス１１６を介して通信可能に結合される。やはり信号パス１１２、１１４と同様に、信号パス１１６は、チップセット１０６と、データ記憶装置１１８、周辺装置１２０、通信回路１２４及びコンテキストポリシー執行エンジン１０２との間での通信を助けることが可能な如何なる種類の信号パスとして具現化されてもよく、例えば、任意の数のワイヤ、印刷回路基盤配線、ビア、バス、介在デバイス及び／又はこれらに類するものとして具現化され得る。
【００１６】
データ記憶装置１１８は、例えば、メモリデバイス及び回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブ、又はその他のデータ記憶装置など、短期あるいは長期のデータ記憶用に構成された如何なる種類の装置として具現化されてもよい。周辺装置１２０は、入力装置、出力装置、及びその他のインタフェース装置を含む如何なる数の周辺デバイスを含んでいてもよい。例えば、周辺装置１２０は、コンピューティング装置１００の表示スクリーン及びキーボードを含み得る。周辺装置１２０に含まれる具体的な装置は、例えば、コンピューティング装置の意図される用途に依存し得る。
【００１７】
通信回路１２４は、移動式コンピューティング装置１００と１つ以上の遠隔装置との間で通信を可能にする如何なる数のデバイス及び回路として具現化されてもよい。例えば、通信回路１２４は、遠隔装置１３０、１４０との有線通信又は無線通信を助ける１つ以上の有線又は無線のネットワークインタフェースを含み得る。一部の実施形態において、遠隔装置１３０は、有線及び／又は無線とし得る通信パス１３２上で、移動式コンピューティング装置１００と通信し得る。加えて、あるいは代替的に、遠隔装置１４０は、ネットワーク１４４を介する有線及び／又は無線とし得る通信パス１４２上で、移動式コンピューティング装置１００と通信し得る。
【００１８】
ネットワーク１４４は、例えばローカルエリアネットワーク、ワイドエリアネットワーク、公衆利用可能な世界規模のネットワーク（例えば、インターネット）又はその他のネットワークなど、如何なる種類の有線ネットワーク及び／又は無線ネットワークとして具現化されてもよい。また、ネットワーク１４４は、例えばルータ、スイッチ、介在コンピュータ及びこれらに類するものなど、移動式コンピューティング装置１００と遠隔装置１４０との間での通信を容易にする如何なる数の更なる装置を含んでいてもよい。遠隔装置１３０、１４０は、コンピューティング装置１００とは別個の如何なる種類のコンピューティング装置として具現化されてもよい。例えば、遠隔装置１３０、１４０は、移動式コンピューティング装置１００と通信するように構成された、１つ以上のコンピュータ、例えばノート型コンピュータ、携帯電話及びモバイルインターネットデバイスなどの移動式装置、又はその他のコンピューティング装置として具現化され得る。
【００１９】
一部の実施形態において、移動式コンピューティング装置１００はまた、コンテキストポリシー執行エンジン１０２に信号パス１５２を介して通信可能に結合された１つ以上のセンサ１５０を含んでいてもよい。信号パス１１２、１１４、１１６と同様に、信号パス１５２は、センサ１５０とポリシー執行エンジン１０２との間での通信を助けることが可能な如何なる種類の信号パスとして具現化されてもよい。センサ１５０は、ユーザのコンテキストの１つ以上のパラメータを決定するように構成された如何なる種類のセンサ又はセンサネットワークとして具現化されてもよい。例えば、センサ１５０は、任意の数の、ユーザの位置を決定する位置センサ、ユーザの生体データを決定する生体センサ、温度センサ、高度センサ、無線識別（ＲＦＩＤ）送信器及び／又は受信器、データスキャナ若しくはリーダ、ユーザのコンテキストのパラメータを表すデータを検知あるいはその他の方法で集めるように構成されたその他のセンサ及び／又はデバイス、として具現化され得る。また、認識されるように、コンピューティング装置１００は、説明の明瞭性のために図１には示していないその他の要素、サブ要素、及びデバイスを含み得る。
【００２０】
上述のように、コンピューティング装置１００は、ユーザのコンテキスト情報の使用の制御を容易にするように構成される。例えば、コンピューティング装置１００は、遠隔装置１３０、１４０によって要求されるコンテキスト情報の使用、及び／又は、移動式コンピューティング装置１００、その他の装置やセンサによって別の方法で与えられるコンテキスト情報の使用を制御し得る。このコンテキスト情報は、例えばユーザの位置、活動若しくは環境など、ユーザのコンテキストを定める如何なる情報又はデータをも含んでいてもよい。例えば、一部の実施形態において、ユーザのコンテキストは、各パラメータが特定の時点におけるユーザのコンテキストの特定の観点を定めるような複数のコンテキストパラメータによって定められ得る。このようなコンテキストパラメータは、例えば、ユーザの位置、ユーザの現在の活動、ユーザが位置する環境の環境データ、及びユーザの生体データなどを含み得る。さらに、各コンテキストパラメータは、当該コンテキストパラメータの具体性の程度を定める、当該コンテキストパラメータに関連付けられた１つ以上の特性を有していてもよい。そのような特性は、例えば、コンテキストパラメータデータの粒度（例えば、どの町にユーザがいるか、どの建物にユーザがいるか、ユーザのＧＰＳ座標は何か、等々）、コンテキストパラメータの信頼性（例えば、そのコンテキストパラメータデータが正確である可能性はどれほどか、どのようなデータ収集法が用いられたか、等々）、及びコンテキストパラメータデータの現在性（例えば、そのデータはいつ収集されたか、そのデータはどれくらい古いか、次のコンテキスト更新はいつか、等々）を含み得る。認識されるように、当然ながら、他の実施形態においてユーザのコンテキストはその他のコンテキストスキーマ、データ構造及びデータで定められてもよい。
【００２１】
続いて図２を参照するに、使用時において、移動式コンピューティング装置１００は、ユーザのコンテキスト情報の使用の制御を助けるための複数のソフトウェアモジュール、アプリケーション、及び／又はプログラムを含んでいる。上述のように、コンテキストポリシー執行エンジン１０２は、ハードウェア、ファームウェア及び／又はソフトウェアのモジュール並びに装置として具現化され得る。図示した実施形態において、コンテキストポリシー執行エンジン１０２は、コンテキストポリシー執行エンジン１０２と、ローカルアプリケーション２０２及び／又は遠隔アプリケーション２０４、２０６との間の相互作用を助けるアプリケーションプログラムインタフェース２００を含んでいる。ローカルアプリケーション２０２は、装置１００のユーザに関するコンテキスト情報を要求する移動式コンピューティング装置１００上で実行されるソフトウェアアプリケーション又はファームウェアアプリケーションとして具現化され得る。同様に、遠隔アプリケーション２０４、２０６は、装置１００のユーザに関するコンテキスト情報を要求する遠隔装置１３０、１４０上で実行されるソフトウェアアプリケーション又はファームウェアアプリケーションとして具現化され得る。遠隔アプリケーション２０４は、通信パス１３２上で、移動式コンピューティング装置１００からのコンテキスト情報を要求し、遠隔アプリケーション２０６は、通信パス１４２上で、装置１００からのコンテキスト情報を要求し得る。
【００２２】
移動式コンピューティング装置１００はまた、コンテキストデータベース２２０とコンテキストポリシーデータベース２２２とを含んでいる。データベース２２０、２２２は、例えば関係データベース、カード型データベースなどの好適な位置に好適なデータ構造で格納されたデータ、又は、メモリ１０８及び／又はデータ記憶装置１１８に格納されたデータとして具現化され得る。一部の実施形態において、コンテキストデータベース２２０及びコンテキストポリシーデータベース２２２は、暗号化されてもよいし、あるいは別の方法で何らかの形態のセキュリティを含んでいてもよい。
【００２３】
コンテキストデータは、コンテキストデータベース２２０に、如何なる好適なデータ形式又はスキーマで格納されてもよい。例えば、ユーザに関するコンテキストデータを格納する一実施形態に係るデータ構造又はスキーマ３００を図３に示す。上述のように、一部の実施形態において、ユーザのコンテキストは、各々が付随特性（例えば、粒度、信頼性、現在性など）を有する複数のコンテキストパラメータ（例えば、位置、活動、環境的側面など）によって定められ得る。各パラメータ−特性の組み合わせに対し、様々な具体性レベルのコンテキストデータが格納、あるいは別の方法で決定され、それにより、コンテキストデータの要求が、ユーザが望む選択された具体性レベルを有するコンテキストデータで応答され得るようにされる。例えば、一実施形態において、コンテキストデータ構造３００は、位置コンテキストパラメータの粒度特性に関して３つの具体性レベルを定めるコンテキストデータ３０２を含み得る。図示のように、位置粒度は、ユーザが特定のＧＰＳ座標位置にいることを指し示す高粒度レベルと、ユーザが仕事中で特定の建物の中にいることを指し示す中粒度レベルと、単にユーザが仕事中であることを指し示す低粒度レベルとを含んでいる。更に詳細に後述するように、ユーザ及び／又はポリシー執行エンジン１０２は、コンテキストポリシールールデータに基づいて、コンテキストデータの具体性レベルを選択して要求元のアプリケーション又はエンティティに提供し得る。故に、ユーザは、例えば公衆が利用可能なアプリケーション（例えば、ツイッター（登録商標）アプリケーション）に対して、低い粒度レベルのユーザ位置のみを提供することを決定し得る。他の例では、更に詳細に後述するように、ユーザ又はコンピューティング装置１００は、要求元のアプリケーションが職場のアプリケーションである場合、あるいは家族からのものである場合に、高い粒度レベルのユーザ位置を提供することを決定してもよい。
【００２４】
図示したコンテキストデータ構造３００はまた、位置コンテキストパラメータの信頼性特性に関して３つの具体性レベルを定めるコンテキストデータ３０４を含んでいる。図示した信頼性特性は、ユーザが実際にその部屋又はその中の或るＧＰＳ座標にいることを高い信頼度で与える、ユーザが特定の部屋への入室ドアにＲＦＩＤタグをかざしたことを指し示す高信頼性レベルを含んでいる。図示した信頼性特性はまた、ユーザが特定の建物内にいる信頼度を与える、ユーザが仕事中で特定の建物への入館ドアにＲＦＩＤをかざしたことを指し示す中信頼性レベルを含んでいる。さらに、図示した信頼性特性は、ユーザがその建物を含む（しかし、作業キャンパス領域内のその他の建物も含み得る）無線アクセスポイントにアクセスしたことを指し示す低信頼性レベルを含んでいる。
【００２５】
図示したコンテキストデータ構造３００は更に、位置コンテキストパラメータの現在性に関して３つの具体性レベルを定めるコンテキストデータ３０６を含んでいる。図示した現在性特性は、入室ドアのＲＦＩＤスキャナが最近作動されたことを指し示す高現在性レベルと、無線アクセスポイントが高現在性レベルの出来事より前の特定の時点にアクセスされたことを指し示す中現在性レベルと、ユーザがその朝早くに建物への入館ドアのＲＦＩＤスキャナを作動させたことを指し示す低現在性レベルとを含んでいる。
【００２６】
コンテキストデータ構造３００は、移動式コンピューティング装置１００のユーザのコンテキストを定める更なるコンテキストパラメータに関する更なるデータを含み得る。例えば、図３に示すように、コンテキストデータ構造は、活動コンテキストパラメータの粒度特性を定めるコンテキストデータ３０８、活動コンテキストパラメータの信頼性特性を定めるコンテキストデータ３１０、活動コンテキストパラメータの現在性特性を定めるコンテキストデータ３１２、及びユーザの現在又は過去のコンテキストを定めるために用いられるその他のコンテキストデータを含んでもよい。しかしながら、認識されるように、コンテキストデータ構造３００は、ユーザに関するコンテキストデータを格納するために使用され得る幾つものデータスキーマのうちの単なる１つである。例えば、一部の実施形態において、コンテキストデータは、コンテキストパラメータ特性を用いることなく（例えば、コンテキスト位置パラメータは単に、ユーザのＧＰＳ座標、ユーザが現在いる建物などによって定められる）、各コンテキストパラメータの、より多い、あるいはより少ない具体性レベルを用いて格納されてもよいし、移動式コンピューティング装置１００の具体的な用途及び実装に応じたその他のデータ構造又はスキーマを用いて格納されてもよい。また、一部の実施形態において、ユーザのコンテキストデータは記憶されずに、“必要に応じて”収集されてもよい。例えば、移動式コンピューティング装置のユーザの位置は、コンテキストデータの要求に先立ってではなく、該要求の受信時に決定されてもよい。
【００２７】
コンテキストポリシーデータベース２２２は、例えばアプリケーション２０２、２０４、２０６からの、ユーザのコンテキスト情報の要求にコンピューティング装置１００がどのように応答すべきかを定める一組のコンテキストポリシールールを含んでいる。コンテキストポリシールールは、コンテキスト要求への応答の仕方を、例えば、要求元エンティティに関するデータ（例えば、どのアプリケーションがデータを要求しているか、要求しているエンティティの識別子など）、現在若しくは過去のコンテキストデータ（例えば、ユーザの現在の位置又は活動）、又はユーザのコンテキストに関するその他のデータ（例えば、日時、曜日等）などの、何らかの適当なデータに基づいて指示し得る。上述のように、一部の実施形態において、コンテキストデータは複数の具体性レベルのコンテキストデータを含むことができ、そのような実施形態において、コンテキストポリシールールは、どの具体性レベルが要求元のアプリケーション又はエンティティに提供されるべきかを定めてもよい。
【００２８】
コンテキストポリシールールは、様々なコンテキストデータ要求にコンピューティング装置１００がどのように応答すべきかを定める如何なる種類のルール、ルール群及び／又はこれらに類するものとして具現化されてもよい。上述のように、ルールの決定は、以下に限られないがコンテキストデータを要求するアプリケーションの種類、要求元エンティティの識別子、要求元エンティティの位置、要求元エンティティ／アプリケーションが関連する所定のグループ、ユーザのその他のコンテキストデータ、及び／又はユーザのコンテキストを定めるその他の環境若しくはその他のデータを含む、様々なパラメータ及び／又はデータに基づき得る。また、コンテキストポリシールールの構造は、移動式コンピューティング装置１００の用途及び実装に応じて変わり得る。
【００２９】
例示的な一実施形態に係るコンテキストポリシールールのスキーマ又はデータ構造４００を図４に示す。図示したコンテキストポリシールールスキーマ４００は、コンテキストデータの要求にコンピューティング装置１００がどのように応答すべきか（例えば、コンテキストデータのうちのどのコンテンツが要求元アプリケーション又はエンティティに届けられるべきか）を定める複数のコンテキストポリシールール４０２、４０４、４０６、４０８、４１０、４１２を含んでいる。例えば、コンテキストポリシールール４０２は、ユーザのコンテキストの位置パラメータの各特性についての具体性レベルを定めている。この実施形態において、要求元エンティティ（例えば、アプリケーション、企業又は個人）が“仕事”と呼ぶグループに属し、且つコンピューティング装置１００のユーザが現在仕事中である場合、高信頼性、高粒度及び高現在性を有するとして定められたコンテキストデータが、要求元のアプリケーション又はエンティティに提供され得る。上述のように、一部の実施形態において、コンテキストデータベース２２０に格納されたコンテキストデータは、具体性レベルごとのデータエントリを含み得る。しかしながら、他の実施形態においては、コンテキストデータは、コンテキストデータ要求に応答してポリシールール４０２に基づいて決定されてもよい。すなわち、コンテキストポリシールール４０２は、要求に応答するために決定されなければならないコンテキストパラメータの具体性レベルを定めている。
【００３０】
一部の実施形態において、コンテキストポリシールール４００はまた、データの具体性又はデータ自体を定めるのではなく、特定のコンテキストデータへのアクセスを許可するか却下するかの二元型のルールを含み得る。例えば、コンテキストポリシールール４０２は、活動コンテキストパラメータのアクセス特性について、ユーザが“仕事”中であるときにグループ“仕事”内のアプリケーションがユーザの活動に関するコンテキストデータにアクセスすることを許可する定めを含んでいる。また、コンテキストポリシールール４００は、例えば、グループ“家族”及びグループ“公衆”などのその他のグループに関するエンティティからの要求に移動式コンピューティング装置１００がどのように応答すべきかを定めるポリシールール４０４及び４０６など、その他のルールを含んでいてもよい。このようなグループは、予め定められていてもよいし、ユーザによって定められてもよいし、あるいは要求元のアプリケーション又はエンティティによって定められてもよい。
【００３１】
一部の実施形態において、コンテキストポリシールール４００はまた、コンテキストデータに加えて、あるいはそれに代えて、移動式コンピューティング装置１００がとるべき動作を定めてもよい。例えば、コンテキストポリシールール４０８は、位置パラメータの信頼性特性を、ユーザの位置を証明する証拠（トークン）を要求するものとして定めている。故に、移動式コンピューティング装置１００は、ユーザの位置の裏付けとして以前に受信されたソフトウェアトークンを要求元アプリケーション／エンティティ（例えば、遠隔アプリケーション２０４、２０６）に送信するように構成され得る。また、コンテキストポリシールール４００は、ルールそれ自体を定めるために如何なる数のルール限定詞を用いてもよい。例えば、コンテキストポリシールール４１２は、要求者が“配偶者”として特定され、ユーザの活動が“買い物”であり、且つユーザが現在、“花屋”として特定される位置にいる場合に、要求元アプリケーションに提供されるべきコンテキストデータを定めている。図示のように、コンテキストポリシールール４１２は、ユーザが居る場所を要求元エンティティが正確に決定することができないよう（例えば、計画的な奇襲を実行することができないよう）、位置パラメータについて低い粒度を提供する。コンテキストポリシールール４００は例示的な一組のコンテキストポリシールールを定めているが、認識されるように、コンテキストポリシールールは、同一又はその他のルール形式を有する更なる或いはその他のコンテキストポリシールールを含んでいてもよい。また、一部の実施形態において、コンテキストデータベース２２０及びコンテキストポリシーデータベース２２２は、各コンテキストポリシールールにて特定される特定の限定詞が与えられて、ユーザのコンテキストデータの要求に応答するために用いられるべきコンテキストデータをコンテキストポリシールールが直接的に定める、あるいは特定する単一のデータベースへと結合されてもよい。
【００３２】
再び図２を参照するに、移動式コンピューティング装置１００は更に、ポリシー執行エンジン１０２、コンテキストデータベース２２０及び／又はコンテキストポリシーデータベース２２２とやり取りするためにユーザによって使用可能なユーザインタフェース２１０を含み得る。ユーザインタフェース２１０は、ユーザと移動式コンピューティング装置１００との間での相互作用を容易にする、例えばグラフィカルユーザインタフェース（ＧＵＩ）などの、如何なる好適なユーザインタフェースとして具現化されてもよい。ユーザインタフェース２１０は、例えば、コンテキストポリシーデータベース２２２内に含められたコンテキストポリシールールをユーザが追加、削除、更新、あるいは別の方法で変更することを可能にするように構成され得る。例えば、高粒度を有する位置コンテキストデータへのアクセスを、“公衆”グループ内の全てのアプリケーションに許可することをユーザが決定することがある。その場合、ユーザは、ユーザインタフェースとやり取りし、関連するコンテキストポリシールールを更新し得る。また、ユーザは、どの要求元アプリケーション又はエンティティがどのグループに属するかを定めてもよいし、様々なコンテキストポリシールールの作成及び定義に用いられ得るアプリケーション及びエンティティのグループ又は関連付けを定めてもよい。
【００３３】
一部の実施形態において、ポリシー執行エンジン１０２は、コンテキストデータベースに格納されたユーザに関連するコンテキストデータを該ユーザが更新することを可能にしてもよい。例えば、一定の状況において、コンテキストデータの一部は自動収集手段によって利用可能でなくなり得る（例えば、ＧＰＳセンサによる位置）。そのような場合、ユーザが、ユーザインタフェースの使用を介して、コンテキストデータを供給、更新、変更あるいは訂正したり、あるいはコンテキストデータに関する更なる詳細を追加したりしてもよい。例えば、ユーザが特定の花屋にいる場合、該ユーザは、権限ある要求元アプリケーションがより具体的なコンテキストデータ又は増量されたコンテキストデータにアクセスできるよう、総称的な“花屋”という位置タグではなく特定の花屋の名称を入力し得る。
【００３４】
一部の実施形態において、移動式コンピューティング装置１００はまた、データ入力２１２を含み得る。データ入力２１２は、コンテキストデータをポリシー執行エンジン１０２に送達する如何なる種類のデータ入力として具現化されてもよい。例えば、移動式コンピューティング装置１００がセンサ１５０を含む実施形態において、データ入力２１２は、そのようなセンサ１５０からのセンサデータとして具現化され得る。例えば、センサ１５０は、温度、高度若しくは位置などのユーザ環境に関連するコンテキストデータをポリシー執行エンジン１０２に提供し得る。それに応答し、ポリシー執行エンジン１０２は、コンテキストデータベース２２０に格納されたコンテキストデータを更新する。
【００３５】
次に図５を参照するに、使用時において、移動式コンピューティング装置１００は当該装置１００のユーザに関するコンテキストデータの使用を制御する方法５００を実行するように構成され得る。方法５００は、例えば、ポリシー執行エンジン１０２及び／又はプロセッサ１０４によって実行され得る。方法５００はステップ５０２から開始し、そこで、ユーザコンテキストの要求が、例えばローカルアプリケーション２０２又は遠隔アプリケーション２０４、２０６などのアプリケーションから受信される。ブロック５０４にて、コンピューティング装置１００は、コンテキストポリシールールデータベース２２２に格納されたコンテキストポリシールールに基づいてコンテキスト要求を認証するように構成され得る。ユーザコンテキストの要求は、要求が装置１００のユーザのコンテキストデータに対するものであり且つ何らかの具体性レベルのコンテキストデータを受信する権限が与えられていることを保証する如何なる好適な機構によって認証されてもよい。故に、装置１００のユーザは、一日のうちの特定の時間の間、特定の日、又はその他の所定の基準に基づいて、特定の要求元アプリケーション又はエンティティから受信したコンテキストデータ要求を、単に無視、あるいはそれに応答することを拒否し得る。
【００３６】
ブロック５０６にて要求が許可されなかった場合、方法５００はブロック５２へと戻る。ブロック５０６にてコンテキストデータ要求が許可された場合、ブロック５０８にて、コンテキストポリシールールデータベース２２２に格納されたコンテキストポリシールールに基づいて、あるいは従って、コンテキストデータが決定される。すなわち、ブロック５０８にて、要求元アプリケーション又はエンティティに提供されるべきコンテキストデータが決定される。上述のように、コンテキストポリシールールデータベース２２２の１つ以上のコンテキストポリシールールは、コンテキストデータベース２２０に格納されたコンテキストデータのどれが、また、どれだけが、要求元アプリケーション／エンティティに提供されるべきかを決定するために使用され得る。例えば、図３及び４に示した実施形態を参照するに、要求元アプリケーションがグループ“公衆”に属し、且つユーザが現在、“仕事”として定義される位置にいる場合、パラメータ特性は“低”に定められ、故に、要求元アプリケーションに提供され得るコンテキスト位置はコンテキストデータ３００にて“仕事”として特定される。
【００３７】
再び図５を参照するに、ブロック５１０にて、移動式コンピューティング装置１００は、要求元のアプリケーション又はエンティティに、ブロック５０８で決定されたコンテキストデータで応答する。それを行うため、移動式コンピューティング装置１００は、サブブロック５１２にて要求元アプリケーションにコンテキストデータを送信するように構成され得る。それに加えて、あるいは代えて、コンテキストポリシールールが動作又は動作制限を定めている場合、移動式コンピューティング装置１００は、要求された動作をサブブロック５１４にて許可あるいは拒否するように構成され得る。例えば、移動式コンピューティング装置１００が携帯電話として具現化され、且つコンテキストポリシールールが、ユーザの現在の活動コンテキストが“ミーティング”として定められているときには呼出音は使用されるべきでないと指示している場合、装置１００上で実行されるローカル呼出音アプリケーションは、携帯電話の呼出音を作動させる許可をポリシー執行エンジン１０２から要求し得る。それに応答し、ポリシー執行エンジンは、その要求に時点でのユーザの位置に基づいて（すなわち、コンテキストポリシールールとユーザのコンテキストデータとに基づいて）、呼出音アプリケーションを許可あるいは拒否することになる。故に、移動式コンピューティング装置１００は、コンテキストポリシールールデータベース２２２に含められたポリシールールの組に基づいてそのような要求への応答を決定するコンテキストポリシーエンジン１０２を構築することによって、ユーザのコンテキストデータの使用を制御するように構成され得る。
【００３８】
図面及び以上の説明にて実施形態を図示し且つ詳細に説明したが、このような図示及び説明は、その性格として、限定的なものではなく例示的なものとして見なされるべきである。理解されるように、例示的な実施形態のみが図示・説明されたが、この開示の精神の範囲内に入る全ての変形及び変更も保護されるべきである。
【符号の説明】
【００３９】
１００  移動式コンピューティング装置
１０２  ポリシー執行エンジン
１０４  プロセッサ
１０６  チップセット
１０８  メモリ
１１８  データ記憶装置
１２０  周辺装置
１２４  通信回路
１３０、１４０  遠隔装置
１４４  ネットワーク
１５０  センサ
２２０  コンテキストデータベース
２２２  コンテキストポリシールールデータベース
２１２  データ入力
２１０  ユーザインタフェース
２０２  ローカルアプリケーション
２０４、２０６  遠隔アプリケーション
３００  コンテキストデータのスキーマ（データ構造）
３０２、３０４、３０６、３０８、３１０、３１２  コンテキストデータ
４００  コンテキストポリシールールのスキーマ（データ構造）
４０２、４０４、４０６、４０８、４１０、４１２  コンテキストポリシールール
【図１】
2011071978.tif 000003
【図２】
2011071978.tif 000004
【図３】
2011071978.tif 000005
【図４】
2011071978.tif 000006
【図５】
2011071978.tif 000007