説明

ユーザのコンテキスト情報の使用を制御する方法及び装置

【課題】
ユーザの状況(コンテキスト)情報の使用を制御する方法及び装置を提供する。
【解決手段】
ユーザのコンテキスト情報の使用を制御する方法及び装置は、移動式コンピューティング装置上にコンテキストポリシー執行エンジンを構築することを含む。コンテキストポリシー執行エンジンは、ソフトウェア及び/又はハードウェア要素として具現化され得る。コンテキストポリシー執行エンジンは、ユーザに関するコンテキスト情報の要求を受信したことに応答して、コンテキストポリシーデータを検索する。コンテキストポリシーデータは、コンテキスト要求に応答するためのコンテキストルールの組を定める。コンテキストポリシー執行エンジンは、このコンテキストルールの組に基づいて要求に応答する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ユーザの状況(コンテキスト)情報の使用を制御する方法及び装置に関する。
【背景技術】
【0002】
位置認識コンピューティングは、コンピューティング装置、特に、例えば携帯電話及びモバイルコンピュータなどの移動式コンピューティング装置が、位置認識を可能にされたコンピューティング装置の位置に基づいて様々な機能を実行することを可能にする。そのような機能は、例えば、ユーザインタフェースを適応させること、ソフトウェアアプリケーション及び/又はアプリケーションデータを調整すること、及びコンピューティング装置の位置に関するデータ若しくは該位置に基づくデータを公表することを含み得る。また、位置認識を可能にされたコンピューティング装置から遠隔のその他の装置が、該可能にされた装置と相互作用して位置情報を取得し、その位置情報に基づいて、例えば装置ユーザの位置を公表するなどの遠隔機能を実行することも可能になり得る。
【0003】
コンピューティング装置の位置は、装置自体(例えば、コンピューティング装置がグローバル・ポジショニング・システム(GPS)回路を含んでいる)から取得されてもよいし、該装置の機能又は使用に基づいて計算されてもよい。一般的な位置認識コンピューティング装置及び関連システムにおいては、位置情報の流布の制御は利用可能でない。故に、位置情報の使用は、ほとんど制御なく公に利用可能にされるか、あるいは、場合により、コンピューティング装置のユーザによる知識によって公に利用可能にされるかとなり得る。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施形態は、ユーザの状況(本願においてコンテキストとも称する)情報の使用を制御する方法及び装置を提供する。
【課題を解決するための手段】
【0005】
一態様によれば、ユーザのコンテキスト情報の使用を制御する方法及び装置は、移動式コンピューティング装置上にコンテキストポリシー執行エンジンを構築することを含む。コンテキストポリシー執行エンジンは、ユーザに関するコンテキスト情報の要求を受信したことに応答して、コンテキストポリシー(方針)データを検索する。コンテキストポリシーデータは、コンテキスト要求に応答するためのルールの組を定める。コンテキストポリシー執行エンジンは、このルールの組に基づいて要求に応答する。
【図面の簡単な説明】
【0006】
ここに記載される発明は、例示であり、添付の図面に限定されるものではない。説明の簡便性及び明瞭性のため、図示される要素は必ずしも縮尺通りに描かれていない。例えば、一部の要素の寸法は、明瞭性のために、その他の要素より誇張されていることがある。また、適切であると考えられる場合、参照符号は、複数の図の間で対応する要素又は類似の要素を指し示すために繰り返されている。
【図1】ユーザのコンテキスト情報の使用を制御する移動式コンピューティング装置の一実施形態を示す簡略化したブロック図である。
【図2】図1の移動式コンピューティング装置のソフトウェア環境を示す簡略化したブロック図である。
【図3】コンテキストデータベースの一実施形態を示す簡略化したデータ構造である。
【図4】コンテキストポリシーデータベースの一実施形態を示す簡略化したデータ構造である。
【図5】図1の移動式コンピューティング装置によって実行される、ユーザのコンテキスト情報の使用を制御する方法の一実施形態を示す簡略化したフロー図である。
【発明を実施するための形態】
【0007】
ここに開示する概念は様々な変更及び代替形態を受け入れ得るものであり、その特定の例示的な実施形態を図面に例示し、ここで詳細に説明する。しかしながら、理解されるように、ここで開示する概念は、ここで開示する特定の形態に限定されるものではなく、対照的に、添付の請求項によって定められる本発明の精神及び範囲内に入る全ての変形、均等物、及び代替物に及ぶものである。
【0008】
以下の記載において、この開示の一層完全な理解を提供するために、例えばロジック実装、オペレーションコード、オペランドを指定する手段、リソースの区分け/共有/重複実装、システムコンポーネントの種類及び相互関係、及びロジックの区分け/統合選択などの数多くの具体的細部を説明する。しかしながら、当業者に認識されるように、開示される実施形態はそのような具体的細部を用いずに実施されることも可能である。また、発明を不明瞭にしないよう、制御構造、ゲートレベル回路、及び完全なソフトウェア命令シーケンスについては詳細に示していない。当業者は、ここに含まれる説明を用いることにより、過度の実験を行うことなく適切な機能を実現することができるであろう。
【0009】
明細書中での“一実施形態”、“一実施形態例”などへの言及は、そこで説明される実施形態が特定の特徴、構造又は特性を含み得ることを指し示すものであるが、必ずしも、全ての実施形態がその特定の特徴、構造又は特性を含むことを指し示すものではない。また、そのような言い回しは必ずしも同一の実施形態に言及するものではない。さらに、特定の特徴、構造又は特性が1つの実施形態との関連で説明されるとき、明示されているか否かにかかわらず、その特徴、構造又は特性を他の実施形態との関連で実現することは当業者の知識の範囲内であろう。
【0010】
本発明の実施形態は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせにて実現され得る。コンピュータシステムにて実現される本発明の実施形態は、構成要素間の1つ以上のバスに基づく相互接続、及び/又は構成要素間の1つ以上の二点間相互接続を含み得る。本発明の実施形態はまた、1つ以上のプロセッサによって読み出されて実行され得る機械読み取り可能媒体に格納された命令として実現され得る。機械読み取り可能媒体は、機械(例えば、コンピューティング装置)によって読み取り可能な形態で情報の記憶又は伝送を行う如何なる媒体をも含み得る。例えば、機械読み取り可能媒体は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスなどを含み得る。
【0011】
図1を参照するに、当該装置100のユーザに関するコンテキストデータの使用を制御するように構成された移動式コンピューティング装置100は、コンテキストポリシー執行エンジン102、プロセッサ104、チップセット106、及びメモリ108を含んでいる。コンピューティング装置100は、ここで説明する機能を実行可能な如何なる種類の可搬式コンピューティング装置として具現化されてもよい。例えば、一部の実施形態において、コンピューティング装置100は、携帯電話、携帯情報端末(PDA)、ノート型コンピュータ、モバイルインターネットデバイス、又はその他のコンピュータベースの移動式装置として具現化される。
【0012】
コンテキストポリシー執行エンジン102は、ここで更に詳細に説明するように装置100のユーザに関するコンテキストデータの或る程度のプライバシー及び制御を提供するように強調して相互作用する、ハードウェア部品、ファームウェア要素及びソフトウェア要素を含む複数の構成要素として具現化されてもよい。故に、コンテキストポリシー執行エンジン102は、装置100のプロセッサ104とは別個の専用ハードウェアプロセッサ及び/又はその他の回路を含み得る。また、このポリシー執行エンジンは、安全な環境内で当該ポリシー執行エンジンの初期化又はその他の起動を行うように構成されたファームウェア命令を含んでいてもよい。一部の実施形態において、ポリシー執行エンジン102は、より高いセキュリティのため、メインメモリ108とは別個のメモリ(図示せず)を含んでいてもよいし、あるいはそのようなメモリに通信可能に結合されていてもよい。
【0013】
プロセッサ104は、例として、プロセッサコア110を有するシングルコアプロセッサとして具現化される。しかしながら、他の実施形態において、プロセッサ104は複数のプロセッサコア110を有するマルチコアプロセッサとして具現化されてもよい。さらに、コンピューティング装置100は、1つ以上のプロセッサコア110を有する更なるプロセッサ104を含んでいてもよい。プロセッサ104は、多数の信号パス112を介して、チップセット106に通信可能に結合される。信号パス112は、プロセッサ104とチップセット106との間での通信を助けることが可能な如何なる種類の信号パスとして具現化されてもよい。例えば、信号パス112は、任意の数のワイヤ、印刷回路基盤配線、ビア、バス、介在デバイス及び/又はこれらに類するものとして具現化され得る。チップセット106は、メモリコントローラハブ(MCH)若しくはノースブリッジ、入力/出力コントローラハブ(ICH)若しくはサウスブリッジ、及びファームウェアデバイスを含み得る。そのような実施形態において、ファームウェアデバイスは、基本入出力システム(BIOS)データ、命令及び/又はその他の情報を格納するメモリ記憶装置として具現化され得る。
【0014】
チップセット106は、多数の信号パス114を介して、メモリ108に通信可能に結合される。信号パス112と同様に、信号パス114は、チップセット106とメモリデバイス108との間での通信を助けることが可能な如何なる種類の信号パスとして具現化されてもよく、例えば、任意の数のワイヤ、印刷回路基盤配線、ビア、バス、介在デバイス及び/又はこれらに類するものとして具現化され得る。メモリ108は、例えばダイナミックランダムアクセスメモリデバイス(DRAM)、同期型ダイナミックランダムアクセスメモリデバイス(SDRAM)、ダブルデータレート型ダイナミックランダムアクセスメモリデバイス(DDR SDRAM)、及び/又はその他の揮発性メモリデバイスを含む、1つ以上のメモリデバイス、又はデータ記憶場所として具現化され得る。また、図1には単一のメモリデバイス108のみが示されているが、他の実施形態において、移動式コンピューティング装置100は更なるメモリデバイスを含んでいてもよい。
【0015】
一部の実施形態において、コンピューティング装置100は、データ記憶装置118、1つ以上の周辺装置120、及び通信回路124を含み得る。そのような実施形態において、チップセット106は、データ記憶装置118、周辺装置120、通信回路124及びコンテキストポリシー執行エンジン102にも、信号パス116を介して通信可能に結合される。やはり信号パス112、114と同様に、信号パス116は、チップセット106と、データ記憶装置118、周辺装置120、通信回路124及びコンテキストポリシー執行エンジン102との間での通信を助けることが可能な如何なる種類の信号パスとして具現化されてもよく、例えば、任意の数のワイヤ、印刷回路基盤配線、ビア、バス、介在デバイス及び/又はこれらに類するものとして具現化され得る。
【0016】
データ記憶装置118は、例えば、メモリデバイス及び回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブ、又はその他のデータ記憶装置など、短期あるいは長期のデータ記憶用に構成された如何なる種類の装置として具現化されてもよい。周辺装置120は、入力装置、出力装置、及びその他のインタフェース装置を含む如何なる数の周辺デバイスを含んでいてもよい。例えば、周辺装置120は、コンピューティング装置100の表示スクリーン及びキーボードを含み得る。周辺装置120に含まれる具体的な装置は、例えば、コンピューティング装置の意図される用途に依存し得る。
【0017】
通信回路124は、移動式コンピューティング装置100と1つ以上の遠隔装置との間で通信を可能にする如何なる数のデバイス及び回路として具現化されてもよい。例えば、通信回路124は、遠隔装置130、140との有線通信又は無線通信を助ける1つ以上の有線又は無線のネットワークインタフェースを含み得る。一部の実施形態において、遠隔装置130は、有線及び/又は無線とし得る通信パス132上で、移動式コンピューティング装置100と通信し得る。加えて、あるいは代替的に、遠隔装置140は、ネットワーク144を介する有線及び/又は無線とし得る通信パス142上で、移動式コンピューティング装置100と通信し得る。
【0018】
ネットワーク144は、例えばローカルエリアネットワーク、ワイドエリアネットワーク、公衆利用可能な世界規模のネットワーク(例えば、インターネット)又はその他のネットワークなど、如何なる種類の有線ネットワーク及び/又は無線ネットワークとして具現化されてもよい。また、ネットワーク144は、例えばルータ、スイッチ、介在コンピュータ及びこれらに類するものなど、移動式コンピューティング装置100と遠隔装置140との間での通信を容易にする如何なる数の更なる装置を含んでいてもよい。遠隔装置130、140は、コンピューティング装置100とは別個の如何なる種類のコンピューティング装置として具現化されてもよい。例えば、遠隔装置130、140は、移動式コンピューティング装置100と通信するように構成された、1つ以上のコンピュータ、例えばノート型コンピュータ、携帯電話及びモバイルインターネットデバイスなどの移動式装置、又はその他のコンピューティング装置として具現化され得る。
【0019】
一部の実施形態において、移動式コンピューティング装置100はまた、コンテキストポリシー執行エンジン102に信号パス152を介して通信可能に結合された1つ以上のセンサ150を含んでいてもよい。信号パス112、114、116と同様に、信号パス152は、センサ150とポリシー執行エンジン102との間での通信を助けることが可能な如何なる種類の信号パスとして具現化されてもよい。センサ150は、ユーザのコンテキストの1つ以上のパラメータを決定するように構成された如何なる種類のセンサ又はセンサネットワークとして具現化されてもよい。例えば、センサ150は、任意の数の、ユーザの位置を決定する位置センサ、ユーザの生体データを決定する生体センサ、温度センサ、高度センサ、無線識別(RFID)送信器及び/又は受信器、データスキャナ若しくはリーダ、ユーザのコンテキストのパラメータを表すデータを検知あるいはその他の方法で集めるように構成されたその他のセンサ及び/又はデバイス、として具現化され得る。また、認識されるように、コンピューティング装置100は、説明の明瞭性のために図1には示していないその他の要素、サブ要素、及びデバイスを含み得る。
【0020】
上述のように、コンピューティング装置100は、ユーザのコンテキスト情報の使用の制御を容易にするように構成される。例えば、コンピューティング装置100は、遠隔装置130、140によって要求されるコンテキスト情報の使用、及び/又は、移動式コンピューティング装置100、その他の装置やセンサによって別の方法で与えられるコンテキスト情報の使用を制御し得る。このコンテキスト情報は、例えばユーザの位置、活動若しくは環境など、ユーザのコンテキストを定める如何なる情報又はデータをも含んでいてもよい。例えば、一部の実施形態において、ユーザのコンテキストは、各パラメータが特定の時点におけるユーザのコンテキストの特定の観点を定めるような複数のコンテキストパラメータによって定められ得る。このようなコンテキストパラメータは、例えば、ユーザの位置、ユーザの現在の活動、ユーザが位置する環境の環境データ、及びユーザの生体データなどを含み得る。さらに、各コンテキストパラメータは、当該コンテキストパラメータの具体性の程度を定める、当該コンテキストパラメータに関連付けられた1つ以上の特性を有していてもよい。そのような特性は、例えば、コンテキストパラメータデータの粒度(例えば、どの町にユーザがいるか、どの建物にユーザがいるか、ユーザのGPS座標は何か、等々)、コンテキストパラメータの信頼性(例えば、そのコンテキストパラメータデータが正確である可能性はどれほどか、どのようなデータ収集法が用いられたか、等々)、及びコンテキストパラメータデータの現在性(例えば、そのデータはいつ収集されたか、そのデータはどれくらい古いか、次のコンテキスト更新はいつか、等々)を含み得る。認識されるように、当然ながら、他の実施形態においてユーザのコンテキストはその他のコンテキストスキーマ、データ構造及びデータで定められてもよい。
【0021】
続いて図2を参照するに、使用時において、移動式コンピューティング装置100は、ユーザのコンテキスト情報の使用の制御を助けるための複数のソフトウェアモジュール、アプリケーション、及び/又はプログラムを含んでいる。上述のように、コンテキストポリシー執行エンジン102は、ハードウェア、ファームウェア及び/又はソフトウェアのモジュール並びに装置として具現化され得る。図示した実施形態において、コンテキストポリシー執行エンジン102は、コンテキストポリシー執行エンジン102と、ローカルアプリケーション202及び/又は遠隔アプリケーション204、206との間の相互作用を助けるアプリケーションプログラムインタフェース200を含んでいる。ローカルアプリケーション202は、装置100のユーザに関するコンテキスト情報を要求する移動式コンピューティング装置100上で実行されるソフトウェアアプリケーション又はファームウェアアプリケーションとして具現化され得る。同様に、遠隔アプリケーション204、206は、装置100のユーザに関するコンテキスト情報を要求する遠隔装置130、140上で実行されるソフトウェアアプリケーション又はファームウェアアプリケーションとして具現化され得る。遠隔アプリケーション204は、通信パス132上で、移動式コンピューティング装置100からのコンテキスト情報を要求し、遠隔アプリケーション206は、通信パス142上で、装置100からのコンテキスト情報を要求し得る。
【0022】
移動式コンピューティング装置100はまた、コンテキストデータベース220とコンテキストポリシーデータベース222とを含んでいる。データベース220、222は、例えば関係データベース、カード型データベースなどの好適な位置に好適なデータ構造で格納されたデータ、又は、メモリ108及び/又はデータ記憶装置118に格納されたデータとして具現化され得る。一部の実施形態において、コンテキストデータベース220及びコンテキストポリシーデータベース222は、暗号化されてもよいし、あるいは別の方法で何らかの形態のセキュリティを含んでいてもよい。
【0023】
コンテキストデータは、コンテキストデータベース220に、如何なる好適なデータ形式又はスキーマで格納されてもよい。例えば、ユーザに関するコンテキストデータを格納する一実施形態に係るデータ構造又はスキーマ300を図3に示す。上述のように、一部の実施形態において、ユーザのコンテキストは、各々が付随特性(例えば、粒度、信頼性、現在性など)を有する複数のコンテキストパラメータ(例えば、位置、活動、環境的側面など)によって定められ得る。各パラメータ−特性の組み合わせに対し、様々な具体性レベルのコンテキストデータが格納、あるいは別の方法で決定され、それにより、コンテキストデータの要求が、ユーザが望む選択された具体性レベルを有するコンテキストデータで応答され得るようにされる。例えば、一実施形態において、コンテキストデータ構造300は、位置コンテキストパラメータの粒度特性に関して3つの具体性レベルを定めるコンテキストデータ302を含み得る。図示のように、位置粒度は、ユーザが特定のGPS座標位置にいることを指し示す高粒度レベルと、ユーザが仕事中で特定の建物の中にいることを指し示す中粒度レベルと、単にユーザが仕事中であることを指し示す低粒度レベルとを含んでいる。更に詳細に後述するように、ユーザ及び/又はポリシー執行エンジン102は、コンテキストポリシールールデータに基づいて、コンテキストデータの具体性レベルを選択して要求元のアプリケーション又はエンティティに提供し得る。故に、ユーザは、例えば公衆が利用可能なアプリケーション(例えば、ツイッター(登録商標)アプリケーション)に対して、低い粒度レベルのユーザ位置のみを提供することを決定し得る。他の例では、更に詳細に後述するように、ユーザ又はコンピューティング装置100は、要求元のアプリケーションが職場のアプリケーションである場合、あるいは家族からのものである場合に、高い粒度レベルのユーザ位置を提供することを決定してもよい。
【0024】
図示したコンテキストデータ構造300はまた、位置コンテキストパラメータの信頼性特性に関して3つの具体性レベルを定めるコンテキストデータ304を含んでいる。図示した信頼性特性は、ユーザが実際にその部屋又はその中の或るGPS座標にいることを高い信頼度で与える、ユーザが特定の部屋への入室ドアにRFIDタグをかざしたことを指し示す高信頼性レベルを含んでいる。図示した信頼性特性はまた、ユーザが特定の建物内にいる信頼度を与える、ユーザが仕事中で特定の建物への入館ドアにRFIDをかざしたことを指し示す中信頼性レベルを含んでいる。さらに、図示した信頼性特性は、ユーザがその建物を含む(しかし、作業キャンパス領域内のその他の建物も含み得る)無線アクセスポイントにアクセスしたことを指し示す低信頼性レベルを含んでいる。
【0025】
図示したコンテキストデータ構造300は更に、位置コンテキストパラメータの現在性に関して3つの具体性レベルを定めるコンテキストデータ306を含んでいる。図示した現在性特性は、入室ドアのRFIDスキャナが最近作動されたことを指し示す高現在性レベルと、無線アクセスポイントが高現在性レベルの出来事より前の特定の時点にアクセスされたことを指し示す中現在性レベルと、ユーザがその朝早くに建物への入館ドアのRFIDスキャナを作動させたことを指し示す低現在性レベルとを含んでいる。
【0026】
コンテキストデータ構造300は、移動式コンピューティング装置100のユーザのコンテキストを定める更なるコンテキストパラメータに関する更なるデータを含み得る。例えば、図3に示すように、コンテキストデータ構造は、活動コンテキストパラメータの粒度特性を定めるコンテキストデータ308、活動コンテキストパラメータの信頼性特性を定めるコンテキストデータ310、活動コンテキストパラメータの現在性特性を定めるコンテキストデータ312、及びユーザの現在又は過去のコンテキストを定めるために用いられるその他のコンテキストデータを含んでもよい。しかしながら、認識されるように、コンテキストデータ構造300は、ユーザに関するコンテキストデータを格納するために使用され得る幾つものデータスキーマのうちの単なる1つである。例えば、一部の実施形態において、コンテキストデータは、コンテキストパラメータ特性を用いることなく(例えば、コンテキスト位置パラメータは単に、ユーザのGPS座標、ユーザが現在いる建物などによって定められる)、各コンテキストパラメータの、より多い、あるいはより少ない具体性レベルを用いて格納されてもよいし、移動式コンピューティング装置100の具体的な用途及び実装に応じたその他のデータ構造又はスキーマを用いて格納されてもよい。また、一部の実施形態において、ユーザのコンテキストデータは記憶されずに、“必要に応じて”収集されてもよい。例えば、移動式コンピューティング装置のユーザの位置は、コンテキストデータの要求に先立ってではなく、該要求の受信時に決定されてもよい。
【0027】
コンテキストポリシーデータベース222は、例えばアプリケーション202、204、206からの、ユーザのコンテキスト情報の要求にコンピューティング装置100がどのように応答すべきかを定める一組のコンテキストポリシールールを含んでいる。コンテキストポリシールールは、コンテキスト要求への応答の仕方を、例えば、要求元エンティティに関するデータ(例えば、どのアプリケーションがデータを要求しているか、要求しているエンティティの識別子など)、現在若しくは過去のコンテキストデータ(例えば、ユーザの現在の位置又は活動)、又はユーザのコンテキストに関するその他のデータ(例えば、日時、曜日等)などの、何らかの適当なデータに基づいて指示し得る。上述のように、一部の実施形態において、コンテキストデータは複数の具体性レベルのコンテキストデータを含むことができ、そのような実施形態において、コンテキストポリシールールは、どの具体性レベルが要求元のアプリケーション又はエンティティに提供されるべきかを定めてもよい。
【0028】
コンテキストポリシールールは、様々なコンテキストデータ要求にコンピューティング装置100がどのように応答すべきかを定める如何なる種類のルール、ルール群及び/又はこれらに類するものとして具現化されてもよい。上述のように、ルールの決定は、以下に限られないがコンテキストデータを要求するアプリケーションの種類、要求元エンティティの識別子、要求元エンティティの位置、要求元エンティティ/アプリケーションが関連する所定のグループ、ユーザのその他のコンテキストデータ、及び/又はユーザのコンテキストを定めるその他の環境若しくはその他のデータを含む、様々なパラメータ及び/又はデータに基づき得る。また、コンテキストポリシールールの構造は、移動式コンピューティング装置100の用途及び実装に応じて変わり得る。
【0029】
例示的な一実施形態に係るコンテキストポリシールールのスキーマ又はデータ構造400を図4に示す。図示したコンテキストポリシールールスキーマ400は、コンテキストデータの要求にコンピューティング装置100がどのように応答すべきか(例えば、コンテキストデータのうちのどのコンテンツが要求元アプリケーション又はエンティティに届けられるべきか)を定める複数のコンテキストポリシールール402、404、406、408、410、412を含んでいる。例えば、コンテキストポリシールール402は、ユーザのコンテキストの位置パラメータの各特性についての具体性レベルを定めている。この実施形態において、要求元エンティティ(例えば、アプリケーション、企業又は個人)が“仕事”と呼ぶグループに属し、且つコンピューティング装置100のユーザが現在仕事中である場合、高信頼性、高粒度及び高現在性を有するとして定められたコンテキストデータが、要求元のアプリケーション又はエンティティに提供され得る。上述のように、一部の実施形態において、コンテキストデータベース220に格納されたコンテキストデータは、具体性レベルごとのデータエントリを含み得る。しかしながら、他の実施形態においては、コンテキストデータは、コンテキストデータ要求に応答してポリシールール402に基づいて決定されてもよい。すなわち、コンテキストポリシールール402は、要求に応答するために決定されなければならないコンテキストパラメータの具体性レベルを定めている。
【0030】
一部の実施形態において、コンテキストポリシールール400はまた、データの具体性又はデータ自体を定めるのではなく、特定のコンテキストデータへのアクセスを許可するか却下するかの二元型のルールを含み得る。例えば、コンテキストポリシールール402は、活動コンテキストパラメータのアクセス特性について、ユーザが“仕事”中であるときにグループ“仕事”内のアプリケーションがユーザの活動に関するコンテキストデータにアクセスすることを許可する定めを含んでいる。また、コンテキストポリシールール400は、例えば、グループ“家族”及びグループ“公衆”などのその他のグループに関するエンティティからの要求に移動式コンピューティング装置100がどのように応答すべきかを定めるポリシールール404及び406など、その他のルールを含んでいてもよい。このようなグループは、予め定められていてもよいし、ユーザによって定められてもよいし、あるいは要求元のアプリケーション又はエンティティによって定められてもよい。
【0031】
一部の実施形態において、コンテキストポリシールール400はまた、コンテキストデータに加えて、あるいはそれに代えて、移動式コンピューティング装置100がとるべき動作を定めてもよい。例えば、コンテキストポリシールール408は、位置パラメータの信頼性特性を、ユーザの位置を証明する証拠(トークン)を要求するものとして定めている。故に、移動式コンピューティング装置100は、ユーザの位置の裏付けとして以前に受信されたソフトウェアトークンを要求元アプリケーション/エンティティ(例えば、遠隔アプリケーション204、206)に送信するように構成され得る。また、コンテキストポリシールール400は、ルールそれ自体を定めるために如何なる数のルール限定詞を用いてもよい。例えば、コンテキストポリシールール412は、要求者が“配偶者”として特定され、ユーザの活動が“買い物”であり、且つユーザが現在、“花屋”として特定される位置にいる場合に、要求元アプリケーションに提供されるべきコンテキストデータを定めている。図示のように、コンテキストポリシールール412は、ユーザが居る場所を要求元エンティティが正確に決定することができないよう(例えば、計画的な奇襲を実行することができないよう)、位置パラメータについて低い粒度を提供する。コンテキストポリシールール400は例示的な一組のコンテキストポリシールールを定めているが、認識されるように、コンテキストポリシールールは、同一又はその他のルール形式を有する更なる或いはその他のコンテキストポリシールールを含んでいてもよい。また、一部の実施形態において、コンテキストデータベース220及びコンテキストポリシーデータベース222は、各コンテキストポリシールールにて特定される特定の限定詞が与えられて、ユーザのコンテキストデータの要求に応答するために用いられるべきコンテキストデータをコンテキストポリシールールが直接的に定める、あるいは特定する単一のデータベースへと結合されてもよい。
【0032】
再び図2を参照するに、移動式コンピューティング装置100は更に、ポリシー執行エンジン102、コンテキストデータベース220及び/又はコンテキストポリシーデータベース222とやり取りするためにユーザによって使用可能なユーザインタフェース210を含み得る。ユーザインタフェース210は、ユーザと移動式コンピューティング装置100との間での相互作用を容易にする、例えばグラフィカルユーザインタフェース(GUI)などの、如何なる好適なユーザインタフェースとして具現化されてもよい。ユーザインタフェース210は、例えば、コンテキストポリシーデータベース222内に含められたコンテキストポリシールールをユーザが追加、削除、更新、あるいは別の方法で変更することを可能にするように構成され得る。例えば、高粒度を有する位置コンテキストデータへのアクセスを、“公衆”グループ内の全てのアプリケーションに許可することをユーザが決定することがある。その場合、ユーザは、ユーザインタフェースとやり取りし、関連するコンテキストポリシールールを更新し得る。また、ユーザは、どの要求元アプリケーション又はエンティティがどのグループに属するかを定めてもよいし、様々なコンテキストポリシールールの作成及び定義に用いられ得るアプリケーション及びエンティティのグループ又は関連付けを定めてもよい。
【0033】
一部の実施形態において、ポリシー執行エンジン102は、コンテキストデータベースに格納されたユーザに関連するコンテキストデータを該ユーザが更新することを可能にしてもよい。例えば、一定の状況において、コンテキストデータの一部は自動収集手段によって利用可能でなくなり得る(例えば、GPSセンサによる位置)。そのような場合、ユーザが、ユーザインタフェースの使用を介して、コンテキストデータを供給、更新、変更あるいは訂正したり、あるいはコンテキストデータに関する更なる詳細を追加したりしてもよい。例えば、ユーザが特定の花屋にいる場合、該ユーザは、権限ある要求元アプリケーションがより具体的なコンテキストデータ又は増量されたコンテキストデータにアクセスできるよう、総称的な“花屋”という位置タグではなく特定の花屋の名称を入力し得る。
【0034】
一部の実施形態において、移動式コンピューティング装置100はまた、データ入力212を含み得る。データ入力212は、コンテキストデータをポリシー執行エンジン102に送達する如何なる種類のデータ入力として具現化されてもよい。例えば、移動式コンピューティング装置100がセンサ150を含む実施形態において、データ入力212は、そのようなセンサ150からのセンサデータとして具現化され得る。例えば、センサ150は、温度、高度若しくは位置などのユーザ環境に関連するコンテキストデータをポリシー執行エンジン102に提供し得る。それに応答し、ポリシー執行エンジン102は、コンテキストデータベース220に格納されたコンテキストデータを更新する。
【0035】
次に図5を参照するに、使用時において、移動式コンピューティング装置100は当該装置100のユーザに関するコンテキストデータの使用を制御する方法500を実行するように構成され得る。方法500は、例えば、ポリシー執行エンジン102及び/又はプロセッサ104によって実行され得る。方法500はステップ502から開始し、そこで、ユーザコンテキストの要求が、例えばローカルアプリケーション202又は遠隔アプリケーション204、206などのアプリケーションから受信される。ブロック504にて、コンピューティング装置100は、コンテキストポリシールールデータベース222に格納されたコンテキストポリシールールに基づいてコンテキスト要求を認証するように構成され得る。ユーザコンテキストの要求は、要求が装置100のユーザのコンテキストデータに対するものであり且つ何らかの具体性レベルのコンテキストデータを受信する権限が与えられていることを保証する如何なる好適な機構によって認証されてもよい。故に、装置100のユーザは、一日のうちの特定の時間の間、特定の日、又はその他の所定の基準に基づいて、特定の要求元アプリケーション又はエンティティから受信したコンテキストデータ要求を、単に無視、あるいはそれに応答することを拒否し得る。
【0036】
ブロック506にて要求が許可されなかった場合、方法500はブロック52へと戻る。ブロック506にてコンテキストデータ要求が許可された場合、ブロック508にて、コンテキストポリシールールデータベース222に格納されたコンテキストポリシールールに基づいて、あるいは従って、コンテキストデータが決定される。すなわち、ブロック508にて、要求元アプリケーション又はエンティティに提供されるべきコンテキストデータが決定される。上述のように、コンテキストポリシールールデータベース222の1つ以上のコンテキストポリシールールは、コンテキストデータベース220に格納されたコンテキストデータのどれが、また、どれだけが、要求元アプリケーション/エンティティに提供されるべきかを決定するために使用され得る。例えば、図3及び4に示した実施形態を参照するに、要求元アプリケーションがグループ“公衆”に属し、且つユーザが現在、“仕事”として定義される位置にいる場合、パラメータ特性は“低”に定められ、故に、要求元アプリケーションに提供され得るコンテキスト位置はコンテキストデータ300にて“仕事”として特定される。
【0037】
再び図5を参照するに、ブロック510にて、移動式コンピューティング装置100は、要求元のアプリケーション又はエンティティに、ブロック508で決定されたコンテキストデータで応答する。それを行うため、移動式コンピューティング装置100は、サブブロック512にて要求元アプリケーションにコンテキストデータを送信するように構成され得る。それに加えて、あるいは代えて、コンテキストポリシールールが動作又は動作制限を定めている場合、移動式コンピューティング装置100は、要求された動作をサブブロック514にて許可あるいは拒否するように構成され得る。例えば、移動式コンピューティング装置100が携帯電話として具現化され、且つコンテキストポリシールールが、ユーザの現在の活動コンテキストが“ミーティング”として定められているときには呼出音は使用されるべきでないと指示している場合、装置100上で実行されるローカル呼出音アプリケーションは、携帯電話の呼出音を作動させる許可をポリシー執行エンジン102から要求し得る。それに応答し、ポリシー執行エンジンは、その要求に時点でのユーザの位置に基づいて(すなわち、コンテキストポリシールールとユーザのコンテキストデータとに基づいて)、呼出音アプリケーションを許可あるいは拒否することになる。故に、移動式コンピューティング装置100は、コンテキストポリシールールデータベース222に含められたポリシールールの組に基づいてそのような要求への応答を決定するコンテキストポリシーエンジン102を構築することによって、ユーザのコンテキストデータの使用を制御するように構成され得る。
【0038】
図面及び以上の説明にて実施形態を図示し且つ詳細に説明したが、このような図示及び説明は、その性格として、限定的なものではなく例示的なものとして見なされるべきである。理解されるように、例示的な実施形態のみが図示・説明されたが、この開示の精神の範囲内に入る全ての変形及び変更も保護されるべきである。
【符号の説明】
【0039】
100 移動式コンピューティング装置
102 ポリシー執行エンジン
104 プロセッサ
106 チップセット
108 メモリ
118 データ記憶装置
120 周辺装置
124 通信回路
130、140 遠隔装置
144 ネットワーク
150 センサ
220 コンテキストデータベース
222 コンテキストポリシールールデータベース
212 データ入力
210 ユーザインタフェース
202 ローカルアプリケーション
204、206 遠隔アプリケーション
300 コンテキストデータのスキーマ(データ構造)
302、304、306、308、310、312 コンテキストデータ
400 コンテキストポリシールールのスキーマ(データ構造)
402、404、406、408、410、412 コンテキストポリシールール

【特許請求の範囲】
【請求項1】
移動式コンピューティング装置上にコンテキストポリシー執行エンジンを構築するステップ;
前記移動式コンピューティング装置のユーザに関するコンテキスト情報の要求を受信するステップ;
コンテキスト要求に応答するためのルールの組を定めるコンテキストポリシーデータを、前記コンテキストポリシー執行エンジンを用いて検索するステップ;及び
前記コンテキストポリシーデータに基づいて、前記コンテキスト情報の要求に応答するステップ;
を有する方法。
【請求項2】
前記コンテキストポリシー執行エンジンを構築するステップは、前記コンテキストポリシー執行エンジンを安全な起動環境に構築することを有する、請求項1に記載の方法。
【請求項3】
前記コンテキストポリシー執行エンジンを構築するステップは、前記コンテキストポリシー執行エンジンをソフトウェアにて構築することを有する、請求項1に記載の方法。
【請求項4】
前記コンテキスト情報の要求を受信するステップは、前記コンテキスト情報の要求をソフトウェアアプリケーションから受信することを有する、請求項1に記載の方法。
【請求項5】
前記コンテキスト情報の要求を受信するステップは、前記ユーザの位置、前記ユーザの活動、前記ユーザが位置する環境の特徴、及び前記ユーザに関する生体データのうちの少なくとも1つの要求を受信することを有する、請求項1に記載の方法。
【請求項6】
前記コンテキスト情報の要求を受信するステップは、(i)前記ユーザの位置及び(ii)前記ユーザに関する少なくとも1つの更なるコンテキストパラメータの要求を受信することを有する、請求項1に記載の方法。
【請求項7】
前記コンテキスト情報の要求を受信するステップは、要求元エンティティから前記要求を受信することを有し;且つ
前記コンテキストポリシーデータは、前記要求元エンティティの識別子に基づいたルールを定める;
請求項1に記載の方法。
【請求項8】
前記コンテキストポリシーデータは、要求元エンティティの所定のグループに基づいたルールを定める、請求項7に記載の方法。
【請求項9】
前記コンテキストポリシーデータは、前記ユーザに関連付けられたコンテキストパラメータに基づいたルールを定める、請求項1に記載の方法。
【請求項10】
前記コンテキストポリシーデータは、要求されたコンテキスト情報と、前記コンテキスト情報の要求が受信された時点での前記ユーザの位置とに基づいたルールを定める、請求項1に記載の方法。
【請求項11】
前記コンテキストポリシーデータは、要求されたコンテキスト情報と、前記コンテキスト情報の要求が受信された日時とに基づいたルールを定める、請求項1に記載の方法。
【請求項12】
前記コンテキストポリシーデータは、要求されたコンテキスト情報と前記ユーザの活動とに基づいたルールを定める、請求項1に記載の方法。
【請求項13】
前記要求に応答するステップは、前記コンテキストポリシーデータの前記ルールの組に基づいてコンテキストデータを決定するステップを有する、請求項1に記載の方法。
【請求項14】
前記要求に応答するステップは更に、前記コンテキストポリシーデータの前記ルールの組に基づいて、前記コンテキストポリシー執行エンジンを用いて、前記コンテキストデータをコンテキストデータベースから検索するステップを有する、請求項13に記載の方法。
【請求項15】
前記要求に応答するステップは更に、前記コンテキストデータを送信するステップを有する、請求項14に記載の方法。
【請求項16】
前記コンテキストデータを決定するステップは、前記ユーザのコンテキストパラメータを定める複数のデータからコンテキストデータを選択することを有し、前記複数のデータは、前記コンテキストポリシーデータの前記ルールの組にて定められた異なる具体性レベルを有する、請求項13に記載の方法。
【請求項17】
前記ユーザのコンテキストは複数のコンテキストパラメータによって定められ、前記コンテキストポリシーデータは、各コンテキストパラメータに関連付けられた複数のパラメータ特性に基づいて前記ルールの組を定め、
前記コンテキストデータを決定するステップは、前記コンテキストポリシーデータにて定められた前記複数のパラメータ特性のうちの少なくとも1つに関して前記コンテキストデータを決定することを有する、
請求項13に記載の方法。
【請求項18】
前記移動式コンピューティング装置にて、ユーザ提供されたコンテキストポリシールールを受信するステップ;及び
前記コンテキストポリシー執行エンジンにて、前記ユーザ提供されたコンテキストポリシールールを用いて、前記コンテキストポリシーデータを更新するステップ;
を更に有する請求項1に記載の方法。
【請求項19】
前記移動式コンピューティング装置にて、前記ユーザに関するユーザ提供されたコンテキストデータを受信するステップ;及び
前記ユーザ提供されたコンテキストデータを用いて、前記移動式コンピューティング装置に格納されたコンテキストデータベースを更新するステップ;
を更に有する請求項1に記載の方法。
【請求項20】
前記移動式コンピューティング装置に対して遠隔のソースから、前記ユーザに関するコンテキストデータを受信するステップ;及び
受信した該コンテキストデータを用いて、前記移動式コンピューティング装置に格納されたコンテキストデータベースを更新するステップ;
を更に有する請求項1に記載の方法。
【請求項21】
複数の命令を格納した機械読み取り可能媒体であって、前記複数の命令は実行されることに応答してコンピューティング装置に:
移動式コンピューティング装置上にコンテキストポリシー執行エンジンを構築するステップ;
前記移動式コンピューティング装置のユーザに関するコンテキスト情報の要求を受信したことに応答して、コンテキスト要求に応答するためのルールの組を定めるコンテキストポリシーデータを、前記コンテキストポリシー執行エンジンを用いて検索するステップ;及び
前記コンテキストポリシーデータに基づいて、前記コンテキスト情報の要求に応答するステップ;
を実行させる、機械読み取り可能媒体。
【請求項22】
前記要求に応答するステップは、前記コンテキストポリシーデータの前記ルールの組に基づいてコンテキストデータを決定するステップを有する、請求項21に記載の機械読み取り可能媒体。
【請求項23】
前記要求に応答するステップは更に、前記コンテキストポリシーデータの前記ルールの組に基づいて、前記コンテキストポリシー執行エンジンを用いて、前記コンテキストデータをコンテキストデータベースから検索するステップを有する、請求項22に記載の機械読み取り可能媒体。
【請求項24】
前記コンテキストデータを決定するステップは、前記ユーザのコンテキストパラメータを定める複数のデータからコンテキストデータを選択することを有し、前記複数のデータは、前記コンテキストポリシーデータの前記ルールの組にて定められた異なる具体性レベルを有する、請求項22に記載の機械読み取り可能媒体。
【請求項25】
コンテキストポリシー執行エンジン;
プロセッサ;及び
複数の命令を格納したメモリデバイス;
を有する移動式コンピューティング装置であって:
前記複数の命令は、前記プロセッサによって実行されるとき、前記コンテキストポリシー執行エンジンに:
当該移動式コンピューティング装置のユーザに関するコンテキスト情報の要求を受信したことに応答して、コンテキスト要求に応答するためのルールの組を定めるコンテキストポリシーデータを検索させ;
前記コンテキストポリシーデータの前記ルールの組に基づいて、当該移動式コンピューティング装置のユーザに関するコンテキストデータを決定され;且つ
決定されたコンテキストデータを用いて前記コンテキスト情報の要求に応答させる;
移動式コンピューティング装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate