(57)【要約】  推論されたコンテキストのカレンダー整合のための方法、システム、コンピュータ可読媒体、および装置について説明する。1つの潜在的な実施形態では、モバイルデバイスは、コンテキスト情報を使用して、推論されたコンテキストのカレンダーを生成することができる。生のカレンダーデータからのラベル情報を使用して、推論されたコンテキストのカレンダー内の推論されたコンテキストを更新することができる。加えて、ラベルを推論されたコンテキストカレンダー内の将来のコンテキストおよびエントリーに伝搬することができる。
2015516101.tif 000002
【特許請求の範囲】
【請求項１】
モバイルデバイスに関連するコンテキスト情報にアクセスするステップと、
前記コンテキスト情報を使用して、第1の期間に関する前記モバイルデバイスの第1の推論されたコンテキストを識別して、第1の推論されたカレンダー情報を作成するステップと、
前記モバイルデバイスのユーザと前記第1の期間とに関連する第1の生のカレンダーデータにアクセスするステップと、
前記第1の生のカレンダーデータから、前記第1の生のカレンダーデータ内の1つまたは複数のラベルからの第1のラベルを識別するステップと、
前記第1のラベルが前記第1の推論されたコンテキストに矛盾しないことを確認することによって、前記第1のラベルと前記第1の推論されたコンテキストとを整合させるステップと、
前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させるステップに基づいて、前記コンテキスト情報と前記第1のラベルとを関連付けるステップと、
前記コンテキスト情報と前記第1のラベルとを前記関連付けるステップに基づいて、かつ前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させるステップに基づいて、前記モバイルデバイスを更新するステップと
を含む方法。
【請求項２】
前記1つまたは複数のラベルが、前記第1の生のカレンダーデータ内に含まれた場所識別子に関連する場所ラベル付け情報を含む、請求項1に記載の方法。
【請求項３】
前記1つまたは複数のラベルが、前記第1の生のカレンダーデータ内に含まれた人物識別子に関連する人物ラベル付け情報を含む、請求項1に記載の方法。
【請求項４】
前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させるステップに基づいて、前記モバイルデバイスを前記更新するステップが、前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させるステップに基づいて、前記第1の期間よりも後の第2の期間に関する第2の推論されたコンテキストを変更するステップを含む、請求項1に記載の方法。
【請求項５】
前記コンテキスト情報が、モバイルデバイスセンサ、ユーザインターフェース入力、およびネットワーク通信から導出される、請求項1に記載の方法。
【請求項６】
前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させるステップに基づいて、前記モバイルデバイスを前記更新するステップが、
前記コンテキスト情報を使用して、前記第1の推論されたコンテキストを前記第1の期間とは異なる第2の期間に関連する第2の推論されたコンテキストと整合させるステップと、
前記第1のラベルを前記第2の推論されたコンテキストに伝搬するステップと
を含む、請求項1に記載の方法。
【請求項７】
第1のラベルを前記第2の推論されたコンテキストに前記伝搬するステップが、前記第2の推論されたコンテキストに関連する第2のラベルを変更して、前記第1のラベルと整合させるステップを含む、請求項6に記載の方法。
【請求項８】
前記コンテキスト情報が、ハードウェアセンサからのセンサ情報のコンテキストストリームを含み、前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させるステップに基づいて、前記モバイルデバイスを前記更新するステップが、ラベル付け情報と前記センサ情報とを関連付けるステップを含む、請求項1に記載の方法。
【請求項９】
前記モバイルデバイスの前記ユーザと前記第1の期間とに関連する第2の生のカレンダーデータにアクセスするステップと、
前記第2の生のカレンダーデータから、前記第2の生のカレンダーデータ内の1つまたは複数のラベルからの第2のラベルを識別するステップと、
前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させるステップに基づいて、前記コンテキスト情報と前記第1のラベルとを前記関連付けるステップに先立って、前記第2のラベルが前記第1の推論されたコンテキストに矛盾することを判断するステップと
をさらに含む、請求項1に記載の方法。
【請求項１０】
デバイスであって、
前記デバイスに関連するコンテキスト情報にアクセスするセンサと、
少なくとも第1のラベルを備えた第1の生のカレンダーデータを含む生のカレンダーデータを記憶するメモリと、
前記センサから前記コンテキスト情報を受信して、前記コンテキスト情報を使用して、第1の期間に関する前記デバイスの第1の推論されたコンテキストを識別して、第1の推論されたカレンダー情報を作成し、前記第1の生のカレンダーデータをさらに受信して、前記第1の生のカレンダーデータ内の1つまたは複数のラベルから前記第1のラベルを識別し、前記第1のラベルが前記第1の推論されたコンテキストに矛盾しないことを確認することによって、前記第1のラベルと前記第1の推論されたコンテキストとを整合させ、前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させることに基づいて、前記コンテキスト情報と前記第1のラベルとを関連付け、前記コンテキスト情報と前記第1のラベルとを前記関連付けることに基づいて、前記デバイスを更新するプロセッサと
を備えるデバイス。
【請求項１１】
前記プロセッサに結合されたディスプレイモジュールをさらに含み、
前記プロセッサから前記ディスプレイモジュールへの出力が、前記コンテキスト情報と前記第1のラベルとを前記関連付けること基づいて、前記デバイスを前記更新することの一環として調整される
請求項10に記載のデバイス。
【請求項１２】
前記センサが、位置信号を受信する全地球測位システム受信機を備えた位置モジュールを含み、前記コンテキスト情報が前記デバイスの位置を識別する、請求項11に記載のデバイス。
【請求項１３】
前記センサが、Bluetooth(登録商標)モジュールを含み、前記コンテキスト情報が、前記デバイスに近接する他のBluetooth(登録商標)モジュールを識別する、請求項11に記載のデバイス。
【請求項１４】
前記センサが、前記プロセッサによって実行されるカレンダーアプリケーションを含み、前記コンテキスト情報が前記第1の生のカレンダーデータを含む、請求項11に記載のデバイス。
【請求項１５】
ユーザから規則および制約を受信するユーザ入力モジュールであって、前記ディスプレイモジュールに対する前記出力の前記調整が、前記規則および前記制約に基づく、ユーザ入力モジュール
をさらに含む、請求項11に記載のデバイス。
【請求項１６】
デバイスであって、
前記デバイスに関連するコンテキスト情報を受信するための手段と、
前記デバイスに関連する第1の生のカレンダーデータを含む生のカレンダーデータを受信するための手段と、
前記コンテキスト情報を受信して、前記コンテキスト情報を使用して、第1の期間に関する前記デバイスの第1の推論されたコンテキストを識別して、第1の推論されたカレンダー情報を作成し、前記第1の生のカレンダーデータをさらに受信して、前記第1の生のカレンダーデータ内の1つまたは複数のラベルから第1のラベルを識別し、前記第1のラベルが前記第1の推論されたコンテキストに矛盾しないことを確認することによって、前記第1のラベルと前記第1の推論されたコンテキストとを整合させ、前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させることに基づいて、前記コンテキスト情報と前記第1のラベルとを関連付けるプロセッサと、
前記コンテキスト情報と前記第1のラベルとを前記関連付けることに基づいて、前記デバイスを更新するための手段と
を備えるデバイス。
【請求項１７】
プロセッサによって実行されるとき、前記プロセッサを含むデバイスに、
モバイルデバイスに関連するコンテキスト情報にアクセスするステップと、
前記コンテキスト情報を使用して、第1の期間に関する前記モバイルデバイスの第1の推論されたコンテキストを識別して、第1の推論されたカレンダー情報を作成するステップと、
前記モバイルデバイスのユーザと前記第1の期間とに関連する第1の生のカレンダーデータにアクセスするステップと、
前記第1の生のカレンダーデータから、前記第1の生のカレンダーデータ内の1つまたは複数のラベルからの第1のラベルを識別するステップと、
前記第1のラベルが前記第1の推論されたコンテキストに矛盾しないことを確認することによって、前記第1のラベルと前記第1の推論されたコンテキストとを整合させるステップと、
前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させるステップに基づいて、前記コンテキスト情報と前記第1のラベルとを関連付けるステップと、
前記コンテキスト情報と前記第1のラベルとを前記関連付けるステップに基づいて、かつ前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させるステップに基づいて、前記モバイルデバイスを更新するステップと
を含むコンテキスト推論の方法を実行させるためのコンピュータ可読命令を含む非一時的コンピュータ可読メモリ。
【請求項１８】
前記コンピュータ可読命令の実行によって実行される前記方法が、
前記モバイルデバイスの前記ユーザと前記第1の期間とに関連する第2の生のカレンダーデータにアクセスするステップと、
前記第2の生のカレンダーデータから、前記第2の生のカレンダーデータ内の1つまたは複数のラベルからの第2のラベルを識別するステップと、
前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させるステップに基づいて、前記コンテキスト情報と前記第1のラベルとを前記関連付けるステップに先立って、前記第2のラベルが前記第1の推論されたコンテキストに矛盾することを判断するステップと
をさらに含む、請求項17に記載の非一時的コンピュータ可読メモリ。
【請求項１９】
デバイスであって、
前記デバイスに関連するコンテキスト情報にアクセスするための手段と、
前記コンテキスト情報を使用して、第1の期間に関する前記デバイスの第1の推論されたコンテキストを識別して、第1の推論されたカレンダー情報を作成するための手段と、
前記デバイスのユーザと前記第1の期間とに関連する第1の生のカレンダーデータにアクセスするための手段と、
前記第1の生のカレンダーデータから、前記第1の生のカレンダーデータ内の1つまたは複数のラベルからの第1のラベルを識別するための手段と、
前記第1のラベルが前記第1の推論されたコンテキストに矛盾しないことを確認することによって、前記第1のラベルと前記第1の推論されたコンテキストとを整合させるための手段と、
前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させることに基づいて、前記コンテキスト情報と前記第1のラベルとを関連付けるための手段と、
前記コンテキスト情報と前記第1のラベルとを前記関連付けることに基づいて、かつ前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させることに基づいて、前記デバイスを更新するための手段と
を含むデバイス。
【請求項２０】
前記コンテキスト情報が、少なくとも一部、ネットワーク支援位置決めサービスによって受信された位置署名情報を含む、請求項19に記載のデバイス。
【請求項２１】
前記コンテキスト情報と前記第1のラベルとを前記関連付けることに基づいて、かつ前記第1のラベルと前記第1の推論されたコンテキストとを前記整合させることに基づいて、前記デバイスによって提示されるユーザインターフェースを更新するための手段
をさらに備える、請求項19に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の態様は、電子コンテキスト判断に関する。詳細には、コンテキストエンジンによる解析のために利用可能なセンサまたはアプリケーションデータを使用して、電子デバイスのコンテキストを判断するためのデバイス、システム、および方法に関する。
【背景技術】
【０００２】
今日の目まぐるしく変化する社会で、人々は、無数の活動に参加すること、多数の場所を訪れること、数十から数百人の人々と対話することをすべて一日で行うことができる。人物の状況またはコンテキストを正確に推定することは、サービスもしくは機能が選択的に提示または実行されることを可能にし得る。
【０００３】
多くのモバイルデバイスは、現在、そのデバイスが動作している、かつ/または将来のある時点で動作することが予想される環境についてのデータを収集するアプリケーションを含む。そのようなアプリケーションは、モバイルデバイスが、その情報に基づいて、動作特性に反応すること、または動作特性を変更することを可能にし得る。そのようなコンテキストアウェアネス機能(context awareness capabilities)が通信業界においてますます普及している。しかしながら、多数の潜在的なコンテキストは、コンテキストを確実かつ正確に推定することを困難にする。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、通信デバイス内でコンテキストアウェアネスを実施するための新しく有用な技法および構成の必要性が高まっている。
【課題を解決するための手段】
【０００５】
本明細書で説明する様々な実施形態は、コンテキストエンジンによる解析のために利用可能なセンサまたはアプリケーションデータを使用して、電子デバイスのコンテキストを判断するためのデバイス、システム、および方法に関する。たとえば、一実施形態は、モバイルデバイスに関連するコンテキスト情報にアクセスするステップと、コンテキスト情報を使用して、第1の期間に関するモバイルデバイスの第1の推論されたコンテキストを識別して、第1の推論されたカレンダー情報を作成するステップと、モバイルデバイスのユーザと第1の期間とに関連する第1の生のカレンダーデータにアクセスするステップと、第1の生のカレンダーデータから、第1の生のカレンダーデータ内の1つまたは複数のラベルからの第1のラベルを識別するステップと、第1のラベルが第1の推論されたコンテキストに矛盾しないことを確認することによって、第1のラベルと第1の推論されたコンテキストとを整合させるステップと、第1のラベルと第1の推論されたコンテキストとを整合させるステップに基づいて、コンテキスト情報と第1のラベルとを関連付けるステップと、コンテキスト情報と第1のラベルとを関連付けるステップに基づいて、かつ第1のラベルと第1の推論されたコンテキストとを整合させるステップに基づいて、モバイルデバイスを更新するステップとを含む方法に関する。
【０００６】
1つもしくは複数のラベルが、第1の生のカレンダーデータ内に含まれた場所識別子に関連する場所ラベル付け情報を備えるか、または1つもしくは複数のラベルが、第1の生のカレンダーデータ内に含まれた人物識別子に関連する人物ラベル付け情報を備える、そのような方法の追加の実施形態がさらに機能し得る。第1のラベルと第1の推論されたコンテキストとを整合させるステップに基づいて、モバイルデバイスを更新するステップが、第1のラベルと第1の推論されたコンテキストとを整合させるステップに基づいて、第1の期間よりも後の第2の期間に関する第2の推論されたコンテキストを変更するステップを含む、そのような方法のさらにまた追加の実施形態が機能し得る。コンテキスト情報が、モバイルデバイスセンサ、ユーザインターフェース入力、およびネットワーク通信から導出される、そのような方法の追加の実施形態がさらに機能し得る。
【０００７】
第1のラベルと第1の推論されたコンテキストとを整合させるステップに基づいて、モバイルデバイスを更新するステップが、コンテキスト情報を使用して、第1の推論されたコンテキストを第1の期間とは異なる第2の期間に関連する第2の推論されたコンテキストに整合させるステップと、第1のラベルを第2の推論されたコンテキストに伝搬するステップとを含む、そのような方法の追加の実施形態がさらに機能し得る。
【０００８】
第1のラベルを第2の推論されたコンテキストに伝搬するステップが、第2の推論されたコンテキストに関連する第2のラベルを変更して、第1のラベルと整合させるステップを含む、そのような方法の追加の実施形態がさらに機能し得る。
【０００９】
コンテキスト情報が、ハードウェアセンサからのセンサ情報のコンテキストストリームを含み、第1のラベルと第1の推論されたコンテキストとを整合させるステップに基づいて、モバイルデバイスを更新するステップが、ラベル付け情報とセンサ情報とを関連付けるステップを含む、そのような方法の追加の実施形態がさらに機能し得る。
【００１０】
そのような方法の追加の実施形態は、モバイルデバイスのユーザと第1の期間とに関連する第2の生のカレンダーデータにアクセスするステップと、第2の生のカレンダーデータから、第2の生のカレンダーデータ内の1つまたは複数のラベルからの第2のラベルを識別するステップと、第1のラベルと第1の推論されたコンテキストとを整合させるステップに基づいて、コンテキスト情報と第1のラベルとを関連付けるステップに先立って、第2のラベルが第1の推論されたコンテキストに矛盾することを判断するステップとをさらに含み得る。
【００１１】
代替実施形態は、デバイスに関連するコンテキスト情報にアクセスするセンサと、少なくとも第1のラベルを備えた第1の生のカレンダーデータを含む生のカレンダーデータを記憶するメモリと、
【００１２】
センサからコンテキスト情報を受信して、コンテキスト情報を使用して、第1の期間に関するデバイスの第1の推論されたコンテキストを識別して、第1の推論されたカレンダー情報を作成し、第1の生のカレンダーデータをさらに受信して、第1の生のカレンダーデータ内の1つまたは複数のラベルから第1のラベルを識別し、第1のラベルが第1の推論されたコンテキストに矛盾しないことを確認することによって、第1のラベルと第1の推論されたコンテキストとを整合させ、第1のラベルと第1の推論されたコンテキストとを整合させることに基づいて、コンテキスト情報と第1のラベルとを関連付け、コンテキスト情報と第1のラベルとを関連付けることに基づいて、デバイスを更新するプロセッサと
を備えるデバイスであり得る。
【００１３】
そのようなデバイスの代替実施形態は、プロセッサに結合されたディスプレイモジュールをさらに含むことが可能であり、この場合、プロセッサからディスプレイモジュールへの出力は、コンテキスト情報と第1のラベルとを関連付けることに基づいて、デバイスを更新することの一環として調整される。
【００１４】
センサが、位置信号を受信する全地球測位システム受信機を備えた位置モジュールを含み、コンテキスト情報がデバイスの位置を識別する、そのようなデバイスの代替実施形態が機能し得る。センサがBluetooth(登録商標)モジュールを含み、コンテキスト情報が、デバイスに近接する他のBluetooth(登録商標)モジュールを識別するか、またはセンサが、第1の生のカレンダーデータを含むコンテキスト情報を用いて、プロセッサによって実行されるカレンダーアプリケーションを含む、そのようなデバイスの代替実施形態が機能し得る。
【００１５】
そのようなデバイスの代替実形態は、ユーザから規則および制約を受信するユーザ入力モジュールであって、ディスプレイモジュールに対する出力の調整が、それらの規則および制約に基づく、ユーザ入力モジュールをさらに含み得る。
【００１６】
別の代替実施形態は、デバイスに関連するコンテキスト情報を受信するための手段と、デバイスに関連する第1の生のカレンダーデータを含む生のカレンダーデータを受信するための手段と備えたデバイスと、コンテキスト情報を受信して、コンテキスト情報を使用して、第1の期間に関するデバイスの第1の推論されたコンテキストを識別して、第1の推論されたカレンダー情報を作成し、第1の生のカレンダーデータをさらに受信して、第1の生のカレンダーデータ内の1つまたは複数のラベルから第1のラベルを識別し、第1のラベルが第1の推論されたコンテキストに矛盾しないことを確認することによって、第1のラベルと第1の推論されたコンテキストとを整合させ、第1のラベルと第1の推論されたコンテキストとを整合させることに基づいて、コンテキスト情報と第1のラベルとを関連付けるプロセッサと、コンテキスト情報と第1のラベルとを関連付けることに基づいて、デバイスを更新するための手段とを含み得る。
【００１７】
さらに別の実施形態は、プロセッサによって実行されるとき、プロセッサを含むデバイスに、モバイルデバイスに関連するコンテキスト情報にアクセスするステップと、コンテキスト情報を使用して、第1の期間に関するモバイルデバイスの第1の推論されたコンテキストを識別して、第1の推論されたカレンダー情報を作成するステップと、モバイルデバイスのユーザと第1の期間とに関連する第1の生のカレンダーデータにアクセスするステップと、第1のカレンダーデータから、第1の生のカレンダーデータ内の1つまたは複数のラベルからの第1のラベルを識別するステップと、第1のラベルが第1の推論されたコンテキストに矛盾しないことを確認することによって、第1のラベルと第1の推論されたコンテキストとを整合させるステップと、第1のラベルと第1の推論されたコンテキストとを整合させるステップに基づいて、コンテキスト情報と第1のラベルとを関連付けるステップと、コンテキスト情報と第1のラベルとを関連付けるステップに基づいて、かつ第1のラベルと第1の推論されたコンテキストとを整合させるステップに基づいて、モバイルデバイスを更新するステップとを含むコンテキスト推論の方法を実行させるコンピュータ可読命令を含む非一時的コンピュータ可読メモリであり得る。
【００１８】
非一時的コンピュータ可読メモリのそのような実施形態の代替例では、コンピュータ可読命令の実行によって実行される方法は、モバイルデバイスのユーザと第1の期間とに関連する第2の生のカレンダーデータにアクセスするステップと、第2の生のカレンダーデータから、第2の生のカレンダーデータ内の1つまたは複数のラベルからの第2のラベルを識別するステップと、第1のラベルと第1の推論されたコンテキストとを整合させるステップに基づいて、コンテキスト情報と第1のラベルとを関連付けるステップに先立って、第2のラベルが第1の推論されたコンテキストに矛盾することを判断するステップとをさらに含み得る。
【００１９】
別の代替実施形態は、デバイスに関連するコンテキスト情報にアクセスするための手段と、コンテキスト情報を使用して、第1の期間に関するデバイスの第1の推論されたコンテキストを識別して、第1の推論されたカレンダー情報を作成するための手段と、デバイスのユーザと第1の期間とに関連する第1の生のカレンダーデータにアクセスするための手段と、第1のカレンダーデータから、第1の生のカレンダーデータ内の1つまたは複数のラベルからの第1のラベルを識別するための手段と、第1のラベルが第1の推論されたコンテキストに矛盾しないことを確認することによって、第1のラベルと第1の推論されたコンテキストとを整合させるための手段と、第1のラベルと第1の推論されたコンテキストとを整合させることに基づいて、コンテキスト情報と第1のラベルとを関連付けるための手段と、コンテキスト情報と第1のラベルとを関連付けることに基づいて、かつ第1のラベルと第1の推論されたコンテキストとを整合させることに基づいて、デバイスを更新するための手段とを備えたデバイスであり得る。
【００２０】
コンテキスト情報が、少なくとも一部、ネットワーク支援位置決めサービス(network assisted location service)によって受信された位置署名(location signature)情報を備える、そのようなデバイスの代替実施形態がさらに機能し得る。
【００２１】
そのようなデバイスの代替実施形態は、コンテキスト情報と第1のラベルとを関連付けることに基づいて、かつ第1のラベルと第1の推論されたコンテキストとを整合させることに基づいて、デバイスによって提示されるユーザインターフェースを更新するための手段をさらに含み得る。
【００２２】
本明細書では、特定の例について説明することによってコンテキストが提供されるが、本明細書で提示する革新の範囲内にとどまりながら、本明細書で具体的に提供する例に対するさらなる代替例が可能になり、様々な実施形態の趣旨および範囲から逸脱せずに、要素の機能および構成に様々な変更を行うことが可能であることが理解されよう。
【００２３】
本開示の態様が例として示される。添付の図面において、同様の参照番号は類似の要素を示す。
【図面の簡単な説明】
【００２４】
【図１Ａ】1つの潜在的な実施形態で使用するためのコンテキストエンジンのシステム図である。
【図１Ｂ】1つの潜在的な実施形態による、デバイス内のアプリケーションの制御に関するシステムを例示する図である。
【図２】様々な実施形態による、コンテキストシステムとともに使用するためのモバイルデバイスを例示する図である。
【図３】推論された状況に関するラベルを整合および伝搬するための方法を例示する図である。
【図４】1つの潜在的な実施形態による、推論されたコンテキストを判断するための方法について説明する図である。
【図５】1つの潜在的な実施形態による、推論されたコンテキストを判断するための方法について説明する図である。
【図６】1つまたは複数の態様が様々な実施形態に従って実行され得るコンピューティングシステムの一例を示す図である。
【発明を実施するための形態】
【００２５】
次に、いくつかの例示的な実施形態について、それらの実施形態の一部を形成する添付の図面に関連して説明する。本開示の1つまたは複数の態様が実装され得る特定の実施形態について以下で説明するが、本開示の範囲、または添付の特許請求の範囲の趣旨を逸脱することなく、他の実施形態を使用することができ、様々な変更を行うことができる。
【００２６】
実施形態は、生のカレンダーデータを推論されたコンテキストと整合させて、このように整合された情報を、将来の推論されたコンテキストに伝搬して、コンテキスト推論システムの機能を改善することに関する。他のコンテキスト情報に整合するカレンダー情報を使用するシステム、方法、およびデバイスは、コンテキストを確実かつ正確に推定するための能力を改善することができ、将来のその位置に関して改善されたコンテキストを可能にし得る、知られていない位置またはコンテキストのラベル付けを可能にし得る。そのようなシステム、方法、およびデバイスはまた、推論されたコンテキストを使用する、デバイス上で動作するアプリケーションの改善された機能が、特定の時間枠に関して予想される推論されたコンテキストの改善された予測によって機能することを可能にし得る。たとえば、カレンダー事象がBobとの会議が会議室Aで午後1時から午後2時まで予定されていることを示すと仮定する。午後1:15である場合、(GPS衛星信号またはWiFi署名ベースの技術を使用することができるネットワーク支援位置決めシステムからの測位技術を使用して検出された)現在の位置署名は位置ラベル「会議室A」と関連付けられることが可能であり、近接するBluetooth(登録商標)署名はBobと関連付けられることが可能である。現在の位置署名およびBluetooth(登録商標)署名をコンテキスト情報と見なすことができる。他方で、デバイスの速度コンテキストが60mphである場合、60mphコンテキスト情報に基づいて、会議に出席していないと仮定することができる。推論されたコンテキストが、会議に出席していることである場合、位置ラベルは位置署名とBluetooth(登録商標)署名の両方と関連付けられることが可能であり、将来のコンテキスト解析において再使用され得る。たとえば、位置ラベルは、類似の識別子を有する、カレンダーに記入された将来の会議に伝搬されることが可能であり、Bobに関連するBluetooth(登録商標)署名が、会議が予定される将来の時間の間に見られる場合、デバイスによってなされる会議の推論はより迅速に生じ得る。複数のコンテキスト情報ストリームの使用は、これにより、デバイスにおいてより円滑なコンテキスト提示を提供することができ、推論されたコンテキストの作成および予測
の精度と速度とをさらに改善することができる。
【００２７】
本明細書で使用する場合、「コンテキスト情報」は、コンテキストを推論する際に使用するためにコンピューティングシステムで受信されるデータを指す。そのような情報は、光、音声、またはデバイスの動きなど、環境の物理的態様を直接測定するハードウェアトランシーバからのものであり得る。そのような情報は、全地球測位システム(GPS)、マイクロフォン、ワイヤレスアンテナ、加速度計、磁力計、ジャイロスコープ、Bluetooth(登録商標)システム、WIFIシステム、周辺光モニタ、近接度モニタ、カメラ、圧力センサ、温度センサ、または任意の他のそのような類似のハードウェアセンサなど、「ハード」センサから入ると見なすことができる。コンテキスト情報は、加えて、デバイス内のアプリケーションによって記憶された抽象情報であり得る。カレンダー、連絡先、あるいは、ユーザもしくはユーザデバイスと対話する他の当事者またはデバイスを識別するプロフィールは、そのような抽象情報の例であり得る。そのようなコンテキスト情報は、カレンダー、電子メール、SMSログ、呼出ログ、アプリケーション使用、またはデータをコンテキストシステムに入力するためのセンサとして機能する他のそのようなアプリケーションなど、「ソフト」または「ソフトウェア」センサから入ると見なすことができる。
【００２８】
本明細書で使用する場合、「コンテキスト」は、デバイスが動作する状況について説明するために使用される。コンテキストの例は、使用中、対応可能、会議中、車で移動中、飛行機で移動中、在宅、オフィス内、ジム内、食事中、または任意の他のそのような環境概念を含む。環境コンテキストは、次いで、デバイスによって、設定を選択するために使用され得る。たとえば、コンテキストが「飛行機で移動中」である場合、デバイスは、電話メッセージに自動的に応答して、ユーザが対応可能でないことを示すように設定され得る。コンテキストが「会議中」である場合、呼出音は自動的に無音にされ得る。
【００２９】
一例では、デバイスは、モバイルデバイスのコンテキストを示す情報と、モバイルデバイスのユーザに関連するカレンダー情報とにアクセスすることができる。モバイルデバイスのコンテキストを示す情報とカレンダー情報とに基づいて、1つまたは複数のラベルが更新され得る。たとえば、コンテキストを示す情報は、ユーザが会議中であることを示すことができ、カレンダーエントリーは、ユーザが部屋ラベルを有する特定の部屋での会議に参加する予定であることを示すことができる。これらの表示に応答して、モバイルデバイスの位置署名を示す情報は、カレンダー情報から取得される部屋ラベルと関連付けられることが可能である。WiFi測位の例の場合、1つもしくは複数のWiFiアクセスポイントに関する識別子、および/または信号強度、あるいはWiFiアクセスポイントに関する他の情報は場所ラベルと関連付けられることが可能である。一部の測位技法の場合、緯度、経度、ならびに/または高度(または、所在地住所、およびオプションで、階表示など、類似の情報)を場所ラベルと関連付けることが可能である。
【００３０】
別の例では、コンテキスト情報は、ユーザが会議中であることを示すことができ、場所ラベル情報は、(たとえば、上で説明した技法の前の使用によって)その会議室に関してすでに利用可能であり得る。しかしながら、システムに対して識別可能でない1人または複数の話者が存在する場合がある。カレンダー情報は、会議出席者に関するラベル情報にアクセスして、出席者のうちの1人または複数を音声情報と関連付けることが可能である。この情報は将来の使用のために記憶され得る。
【００３１】
同様に、本明細書で使用する「推論されたコンテキスト」は、デバイスが現在どんなコンテキストの下で動作中であるかを判断するための、デバイスによるコンピュータ実施意思決定を指す。推論されたコンテキストは、センサデータから行われ得る何らかの(高レベルまたは低レベルの)推論を記述する。可能なコンテキストのリストは、特定のコンテキストシステムまたはコンテキストエンジンに特定のアプリケーションであり得る。コンテキストは、単一のセンサ(ユニモーダルデータ)から、または複数のセンサ(マルチモーダルデータ)から推論され得る。いくつかのサンプルリストは、企業状況推論(会議中、単独作業、昼食、ジム、通勤中、講義)、運動のタイプ(車両の運動、歩行車の運動、静止)、運動状態分類(歩いている、走っている、座っている、立っている、ぶらぶらしている、休んでいる、運転している)、音声検出(音声あり、音声なし)、屋内/屋外検出(屋内、屋外)、会議検出(会議中、会議中でない)、位置検出(GPS座標の500フィートの範囲内、WIFIベース署名によって識別された位置の範囲内)、または任意の他のそのようなコンテキストである。いくつかの実施形態では、予想される推論されたコンテキストは、将来の時間に関連して推論されたコンテキストであり得る。その時間に関連する追加のコンテキスト情報が利用可能になると、予想される推論されたコンテキストは更新され得る。最終的に、予想される推論されたコンテキストと、予想される推論されたコンテキストが予想された時間の間に受信された何らかの追加のコンテキスト情報の両方を使用して、デバイスの現在のコンテキストを識別するために、実際の時間の間、リアルタイムのまたは最近のコンテキスト情報が収集され得る。
【００３２】
いくつかの実施形態では、予想される、または将来の推論されたコンテキストは、推論されたカレンダーとして集約され得る。本明細書で説明するように、「推論されたカレンダー」は、様々な時間枠に関して予想される推論されたコンテキストを作成するためにコンテキスト情報が利用可能な時間枠のカレンダーを指す。推論されたカレンダーは、推論されたコンテキストが判断および利用された過去の時間枠から履歴的な推論されたコンテキストを記憶することも可能である。「推論されたカレンダー情報」は、推論されたカレンダー内に記憶された任意の情報を指し、過去の、現在の、および将来の推論されたコンテキストと、これらの推論されたコンテキストを作成するために使用されたコンテキスト情報のリストと、コンテキスト情報および/または推論されたコンテキストに関連するラベルとを含み得る。
【００３３】
対照的に、「生のカレンダーデータ」は、デバイスのカレンダーアプリケーションまたは機能内に記憶された情報を指す。そのような情報は、ユーザによって、ユーザのカレンダーに対するアクセスを有する第三者によって、またはカレンダーアプリケーションにアクセスするアプリケーションによって入力され得る。そのような生のカレンダーデータは、特定の時間に関連する事象の記述を含み得る。これらの記述は、人々、場所、および/または特定の時間に関連する活動に関する情報を識別することを含み得る。
【００３４】
「ラベル」は、上で説明したように、特定の時間に関連する識別情報を指す。ラベルは、様々な様式で特定の時間を用いて作成されること、および特定の時間と関連付けられることが可能である。1つの潜在的な実施形態では、テキストパーサ(text parser)は、主要な項目を識別するための、生のカレンダーデータの一部である記述を通して解析することができる。それらの項目は、ラベルとして識別されることが可能であるか、または同義語、反義語、もしくは生のカレンダーデータとラベルとの間の他の前に識別された関係の言語学的解析などの解析によってラベルと関連付けられることが可能である。1つの特定の例では、ある電話番号がダイヤルされた場所の履歴とともに、その電話番号が識別され得る。十分に大きなサンプルサイズに基づいて、時間の100%、その番号がユーザのオフィスからダイヤルされた場合、「オフィス」というラベルは、生のカレンダーデータからの電話番号と関連付けられることが可能である。前の例で、位置ラベルは、事象の記述の一環として、生のカレンダーデータから抽出され得る。
【００３５】
本明細書で使用される「コンピュータ」、「パーソナルコンピュータ」、および「コンピューティングデバイス」という用語は、既知の、または将来に開発されることになる任意のプログラマブルコンピュータシステムを指す。いくつかの実施形態では、コンピュータは、本明細書で説明されるようなネットワークに結合されることになる。コンピュータシステムは、本明細書で説明されるプロセスを実行するためのプロセッサ実行可能ソフトウェア命令で構成され得る。そのようなコンピューティングデバイスは、電話、情報端末、タブレットコンピュータ、または他のそのようなモバイルデバイスなど、モバイルデバイスであり得る。あるいは、そのようなコンピューティングデバイスは、モバイルでなくてもよく、サーバコンピュータの場合、デスクトップコンピューティングシステム、または非モバイル構成要素と一体化されたシステムであり得る。図6は、下で説明するようなコンピュータの追加の詳細を提供する。
【００３６】
本明細書で使用する「構成要素」、「モジュール」、および「システム」という用語は、ハードウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピュータ関連のエンティティを指すことが意図されている。たとえば、構成要素は、限定されないが、プロセッサ上で動作しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび/またはコンピュータであってよい。例として、サーバ上で動作しているアプリケーションとそのサーバの両方が構成要素であり得る。1つもしくは複数の構成要素は、プロセスおよび/または実行スレッド内に存在してよく、1つの構成要素を1つのコンピュータに局在化すること、および/または2つ以上のコンピュータ間に分散することが可能である。
【００３７】
図1Aは、推論された、かつ/または集約されたコンテキスト決定を作成するために機能し得るコンテキストエンジン100の1つの潜在的な実装形態について説明する。コンテキストエンジン100は、ユーザ入力モジュール110と、知識モジュール120と、学習モジュール130と、コンテキスト情報モジュール140と、確率的推論モジュール150と、テキスト処理モジュール160と、推論モジュール170と、決定モジュール180とを含む。
【００３８】
ユーザ入力モジュール110は、コンテキストシステムに関するユーザ設定を受信するための任意の入力システムとして機能し得る。いくつかの実施形態では、ユーザ入力モジュール110は、ウェブサーバまたは他のそのような登録サービスを介したユーザ登録情報の入力を含めて、コンテキストサービスに関するユーザ登録を含み得る。ユーザ入力モジュール110はまた、知識モジュール120内に記憶するためのユーザコンテキスト選択および設定を受信するように機能し得る。たとえば、ユーザは、ユーザがコンテキストエンジン100によって自動的に推論させることを望む特定のコンテキストを識別することができる。ユーザは、加えて、音声設定、アプリケーション設定、および異なるコンテキスト同士の間で変更し得るユーザインターフェース設定など、各識別されたコンテキストに関する設定を識別することができる。ユーザは、推論されるべきではないコンテキストを具体的に識別することも可能であり、デフォルトコンテキストと、コンテキストエンジン100がコンテキストを十分に推論することができないときに使用されることになる、デフォルトコンテキストに関するデバイス設定とを識別することも可能である。
【００３９】
知識モジュール120は、コンテキスト意思決定を改善するためのモデル、規則、およびコンテキスト履歴の記録を含み得る。図1Aに示すように、知識モジュールは、規則および制約122と、セマンティックモデル124と、推論されたカレンダー126とを含み得る。規則および制約は、集約されたコンテキスト決定の判断時に、コンテキストシステムに利用可能なデバイス制御上にデバイスによって設定される規則および限界であり得る。規則および制約122は、ユーザ設定も含み得る。セマンティックモデル124は、コンテキストを推論するためにテキストが使用されるとき、コンテキスト情報に関する、適合またはカスタマイズされた規則を含み得る。たとえば、いくつかの実施形態では、カレンダーの「コーヒー」は、「会議」またはある特定のタイプの会議に等しいと解釈され得る。学習モジュール130が、コンテキスト情報に基づいて、コンテキスト意思決定を識別、更新、および改善し、学習された情報を推論されたカレンダー126内に記憶するにつれて、特定のコンテキストに関連して経時的に識別された特定の言語使用をセマンティックモデル124内に含めることも可能である。推論されたカレンダー126は、したがって、推論されたコンテキストの履歴と、履歴的な推論されたコンテキスト、現在の推論されたコンテキスト、および予想される推論されたコンテキストを作成するために使用されるコンテキスト情報の詳細、モデル、ならびに推論プロセスと、推論されたコンテキストの品質または精度に関してユーザ使用またはユーザ入力から受信されたフィードバックと、推論されたコンテキストに関連する任意の他の情報とを記憶することができる。そのような情報は、次いで、ユーザに関する推論を将来作成する際に使用され得る。
【００４０】
学習モジュール130は、コンテキストエンジン100の将来の動作を改善するために、推論されたコンテキストの誤差または誤った割当てを識別することも可能である。そのような誤差は、ユーザフィードバックに応答して識別され得るか、または予想されない形でのコンテキスト変更によって、もしくは現在の推論されたコンテキストを有する特徴とは異なるユーザデバイス使用によって識別され得る。そのような学習は、さらに、学習モジュール130が、コンテキストを推論する際に学習した成功に基づいて、規則および制約122を自動的に更新するのを可能にするために、ユーザによって設定されるオプションであり得る。
【００４１】
コンテキスト情報モジュール140は、センサからコンテキスト情報を収集して、コンテキストを推論する際に使用するために、その情報を様々な解析モジュールに通信するのに役立つことができる。確率的推論モジュール150、テキスト処理モジュール160、および推論モジュール170は、各々、コンテキスト情報からコンテキストを推論するための異なる方法を含み得る。確率的推論モジュール150は、コンテキストデータから導出され得る予想の解析を含み、テキスト処理モジュールは、コンテキスト情報として受信されたテキスト情報を解析して、識別されたテキストに矛盾しないコンテキストを識別することができる。コンテキスト情報の複数のストリームと様々な推論または中間コンテキスト推論とを含むこの情報はすべて、推論モジュール170に通信されることが可能であり、推論モジュール170は、学習された規則およびコンテキスト知識または履歴を備えた事前定義された規則を使用して、様々な形でコンテキスト情報を解析することができる。決定モジュール180は、次いで、受信されたコンテキスト情報および解析のすべてから、1つもしくは複数の最終的な推論されたコンテキスト決定または集約されたコンテキスト決定を識別することができる。いくつかの実施形態では、たとえば、図1Bに関してさらに議論されるように、複数のコンテキストおよびそれらの関連する規則が同時に選択されるように、いくつかのコンテキストは関係し、かつ互換性があり得る。
【００４２】
いくつかの実施形態では、決定モジュール180からのこの決定は、過剰な不確実性が存在するということであり得、推論されたコンテキストは識別されない場合がある。1つの例示的な実施形態では、複数の潜在的なコンテキストが推論モジュール170によって識別されて、各潜在的なコンテキストにスコアを割り当てることが可能である。最高スコアが、規則および制約122によって設定されたしきい値未満である場合、決定モジュール180は、集約されたコンテキストが識別されなかったとして、デフォルトコンテキストを設定することができる。
【００４３】
図1Bは、図1Aで説明したコンテキストエンジン100と連携して動作し得るコンテキストシステムをさらに例示する。図1Bは、コンテキストエンジン100と、潜在的な推論されたコンテキスト196と、アプリケーション198とを含む。1つの潜在的な実施形態では、これらはすべて単一のモバイルデバイス上に存在し得る。代替実施形態では、コンテキストエンジンの様々なモジュール、またはコンテキストエンジンによって推論されたコンテキストは、モバイルデバイスにネットワーク接続されたデバイス上で実行されることが可能であり、ネットワークを介して、モバイルデバイスと通信することが可能である。最終的な推論されたコンテキストまたは集約されたコンテキストが、コンテキストエンジン100によってすべての潜在的な推論されたコンテキスト196から識別されたとき、システムは、選択されたアプリケーション198に対して特定の設定を呼び出すか、または提供するように機能し得る。
【００４４】
たとえば、いくつかの実施形態では、推論されたコンテキストとして「使用中」が識別された場合、インスタントメッセージングは、ある設定を起動させることが可能である。「重要な会議」が推論されたコンテキストである場合、ある種の呼出規則が起動され得、これらのコンテキストは関連するため、「使用中」コンテキストに関連する規則も起動され得る。同様に、推論されたコンテキストとして「ジョギング」が識別された場合、モバイルデバイス上のマイルトラッカー(miles tracker)アプリケーションがアクティブ化され得、スポーツオーソリティ(sports authority)アプリケーションも自動的に起動され得る。同様に、コンテキストエンジン100から出力された識別された推論されたコンテキストに応じて、特定のアプリケーションまたはデバイス全体に関するプライバシー設定がアプリケーション198に関して設定され得る。したがって、コンテキストシステムは、コンテキストエンジン100が潜在的な推論されたコンテキスト196からの1つまたは複数の推論されたコンテキストを識別することに応答して、アプリケーション198を介して機能を提供するように動作することが可能である。
【００４５】
図2は、本明細書で説明する実施形態に関して使用され得るモバイルデバイスの1つの潜在的な実施形態を例示するブロック図である。そのようなモバイルデバイスは、単独で、または追加のネットワーク接続されたコンピューティングデバイスと併せてコンテキスト推論システムのすべてもしくは一部を実行するために、ハードウェア、ソフトウェア、あるいはファームウェアを含み得る。そのようなコンテキストシステムは、スマートフォン、セルラーフォン、携帯情報端末、タブレットコンピュータ、パーソナルメディアプレイヤ、ならびに類似の機能または組み合わされた機能を提供する任意の他のタイプのポータブル電子デバイスなど、任意のモバイルデバイスであってよい、モバイルデバイス200であり得る。そのようなモバイルデバイス200は、図1に示した、コンテキストエンジン100またはアプリケーション198の任意の態様を実行することができる。
【００４６】
デバイス200は、接触ボタン、電源デバイス(たとえば、電池)、ならびに、通常、ポータブル電子デバイスに関連する他の構成要素も含み得ることを諒解されたい。したがって、一部の構成要素は省かれるため、図2は、限定的であると解釈されるべきではない。
【００４７】
図2に示す実施形態では、デバイス200は、いくつかの構成要素において動作を実行するための命令を実行するように構成され、たとえば、ポータブル電子デバイス内の実装に適した、汎用プロセッサ、またはマイクロプロセッサであってよいプロセッサ210を含む。プロセッサ210は、モバイルデバイス200内の複数の構成要素と伝達可能に結合される。この伝達可能結合を実現するために、プロセッサ210は、バス240を介して、他の例示された構成要素と通信することができる。バス240は、モバイルデバイス200内でデータを転送するように適合された任意のサブシステムであり得る。バス240は、複数のコンピュータバスであってよく、データを転送するための追加の回路を含む。
【００４８】
メモリ220は、プロセッサ210に接続され得る。いくつかの実施形態では、メモリ220は、短期ストレージと長期ストレージの両方を提供し、実際には、いくつかのユニットに分割され得る。メモリ220は、スタティックランダムアクセスメモリ(SRAM)および/もしくはダイナミックランダムアクセスメモリ(DRAM)など、揮発性であってよく、かつ/または読取り専用メモリ(ROM)、フラッシュメモリなど、不揮発性であってもよい。さらに、メモリ220は、セキュアデジタル(SD)カードなど、取外し可能記憶デバイスを含み得る。したがって、メモリ220は、モバイルデバイス200用のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージを提供する。いくつかの実施形態では、メモリ220は、異なるハードウェアモジュールに分散され得る。
【００４９】
いくつかの実施形態では、メモリ220は、複数のアプリケーションモジュール221A〜221Mを記憶する。アプリケーションモジュール221A〜221Mは、プロセッサ210によって実行されることになる特定の命令を含む。メモリ220は、任意の数のアプリケーションモジュールを記憶することができる。アプリケーションモジュール221A〜221Mのそれぞれは、たとえば、カレンダーアプリケーション、地図位置決め情報アプリケーション、電力管理アプリケーション、スマートアラートアプリケーション、ソーシャルメディアアプリケーション(たとえば、Twitter(登録商標)もしくはFacebook(登録商標))、加速度計アプリケーション、天気アプリケーション、温度表示アプリケーション、またはプロセッサ210によって実行される命令を有する任意のアプリケーションタイプモジュールであってよい。いくつかの実施形態では、モバイルデバイス200によって操作されるセンサからのコンテキスト情報が、センサまたはセンサファームウェアから直接的にではなく、アプリケーションによってアクセスされ得るように、モバイルデバイスによって操作されるセンサは、関連するアプリケーションを有し得る。
【００５０】
1つの潜在的な実施形態では、コンテキスト推論システムは、特別なコンテキストモジュール221Nとして動作し得る。そのようなモジュールは、様々な実施形態で説明するように、モバイルデバイス200のコンテキストを判断することに関連する任意の動作、判断、または計算を実行することができる。たとえば、コンテキストモジュール221Nは、センサまたは他のアプリケーションからコンテキスト情報を収集し、コンテキスト情報の個々のセットから、推論されたコンテキストを判断し、推論されたコンテキストカレンダーを生成し、推論されたコンテキストに基づくインターフェース設定の変更など、モバイルデバイス200に対するコンテキストベースの変更を制御することができる。
【００５１】
いくつかの実施形態では、メモリ220はオペレーティングシステム223を含む。オペレーティングシステム223は、アプリケーションモジュール221A〜221Nによって提供された命令の実行を開始するように、かつ/またはハードウェアモジュール201〜502を管理するように動作可能であり得る。オペレーティングシステム223は、スレッディング(threading)と、リソース管理と、データ記憶制御と、他の類似の機能とを含めて、デバイス200の構成要素を通して他の動作を実行するように適合され得る。
【００５２】
いくつかの実施形態では、モバイルデバイス200は、1つまたは複数のワイヤレスモジュール212を含む。ワイヤレスモジュール212は、Wi-Fiトランシーバ、セルラー電話塔との通信のためのトランシーバ、またはワイヤレス通信を実行するための任意の他のそのようなモジュールを含み得る。そのようなワイヤレスモジュール212は、コンテキスト判断において役立つ可能性があるサーバと通信するために、モバイルデバイス200およびアプリケーションモジュール221A〜221Mの一部として使用され得る。たとえば、いくつかの実施形態では、コンテキストモジュール221Nは、ワイヤレスモジュール212上で、推論されたコンテキストを判断する際に支援することができる支援サーバにコンテキスト情報を通信することができる。解析されたデータまたはコンテキスト関連情報は、次いで、推論されたコンテキストをモバイルデバイス200に設定するために、ワイヤレスモジュール212を介して、モバイルデバイス200に返送され得る。
【００５３】
加えて、いくつかの実施形態では、モバイルデバイス200は、複数のハードウェアモジュール201〜202を含む。ハードウェアモジュール201〜202の各々は、デバイス200内の物理モジュールである。しかしながら、ハードウェアモジュール201〜202の各々は、構造として永続的に構成されるが、ハードウェアモジュール201〜202のそれぞれは、特定の機能を実行するように一時的に構成され得るか、または一時的にアクティブ化され得る。一般的な例は、シャッターを切るため、および画像を捕捉するためのカメラモジュール(すなわち、ハードウェアモジュール)をプログラムすることができるアプリケーションモジュールである。ハードウェアモジュール201〜202のそれぞれは、たとえば、加速度計、衛星ナビゲーションシステム受信機(たとえば、GPSモジュール)、圧力モジュール、温度モジュール、音声出力および/または入力モジュール(たとえば、マイクロフォン)、カメラモジュール、近接センサ、代替回線サービス(ALS)モジュール、容量性タッチセンサ、近距離通信(NFC)モジュール、Bluetooth(登録商標)トランシーバ、セルラートランシーバ、磁力計、ジャイロスコープ、慣性センサ(たとえば、加速度計とジャイロスコープとを結合するモジュール)、周辺光センサ、相対湿度センサ、または知覚出力を提供するように、かつ/もしくは知覚入力を受信するように動作可能な任意の他の類似のモジュールであってよい。いくつかの実施形態では、ハードウェアモジュール201〜202の1つまたは複数の機能は、ファームウェア内またはソフトウェア内で様々なモジュールとして実行され得る。
【００５４】
ハードウェアモジュール201〜202およびアプリケーションモジュール221A〜221Mに加えて、モバイルデバイス200は、ディスプレイモジュール203と、ユーザ入力モジュール204とを有し得る。ディスプレイモジュール203は、デバイス200からの情報をユーザにグラフィカルに提示する。この情報は、1つもしくは複数のアプリケーションモジュール221A〜221M、1つもしくは複数のハードウェアモジュール201〜202、それらの組合せ、または(たとえば、オペレーティングシステム224によって)ユーザ用のグラフィカルコンテンツを分解するための任意の他の適切な手段から導出され得る。ディスプレイモジュール203は、液晶ディスプレイ(LCD)技術、発光ポリマーディスプレイ(LPD)技術、または何らかの他のディスプレイ技術であってよい。いくつかの実施形態では、ディスプレイモジュール203は、容量性または抵抗性のタッチスクリーンであり、ユーザとの触覚および/または触知性接触に反応し得る。そのような実施形態では、ディスプレイモジュール203は、マルチタッチセンシティブディスプレイ(multi-touch-sensitive display)を含み得る。
【００５５】
モバイルデバイスのさらなる実施形態は、図6に関して下で詳述するようなコンピューティングデバイスの様々な部分をさらに含み得る。
【００５６】
図3は、カレンダー310内の生のカレンダーデータからのラベルを推論されたカレンダー330内の推論されたコンテキストに対して整合させ、伝搬することを例示する。カレンダー310は、生のカレンダーデータ312〜316から作られる。推論されたカレンダー330は、コンテキスト情報331から導出され、推論されたコンテキスト332a、332b、334、336、338、および339を含む。コンテキスト情報は、たとえば、物理座標もしくはデバイスに関連する他の位置情報、または上で説明した任意の他のそのようなコンテキスト情報を識別する位置署名情報であり得る。カレンダー310と推論されたカレンダー330は両方とも、期間302を識別する。期間は、特定の生のカレンダーデータまたは推論されたコンテキストに関連し得る。そのような期間は、特定の年、月、日、時間、分、および秒の長さ、もしくはこれらのうちのいずれかの小部分によって識別され得るか、または任意の時間基準もしくは時間コードを使用して、開始時間および終了時間によって識別され得る。
【００５７】
次いで、特定の生のカレンダーデータと推論されたコンテキストとの間の整合340が行われ得る。図3では、生のカレンダーデータ312と推論されたコンテキスト332aの間、生のカレンダーデータ313と推論されたコンテキスト338の間、生のカレンダーデータ315と推論されたコンテキスト332bの間、および生のカレンダーデータ316と推論されたコンテキスト339との間の整合が示される。様々な実施形態では、生のカレンダーデータに関連する時間の一部だけが整合された推論されたコンテキストと重複し得る。
【００５８】
たとえば、(位置ラベル334bに関連する情報を備えるかまたは含む可能性がある)生のカレンダーデータ312、および(たとえば、コンテキスト情報331から導出された第1の位置署名に関連し得る)推論されたコンテキスト332aは十分に近接する時間枠内で生じるため、これらは整合され得る。この整合は、正確な時間枠整合に基づいて、整合に関して許容可能な識別された時間窓に基づいて、または生のカレンダーデータ312を推論されたコンテキスト332aと関連付けるために使用され得る任意の他のそのような整合に基づいて生じ得る。これは、次いで、位置ラベル334bと、推論されたコンテキスト332aを識別するために使用されたコンテキスト情報331から導出された位置署名との間の関連付けを可能にする。
【００５９】
午後3時から4時までに示される、カレンダー310内の重複する事象の場合、2つの構成された事象が存在する。これらは、生のカレンダーデータ314、および生のカレンダーデータ315として示される。生のカレンダーデータ315は、たとえば、生のカレンダーデータ312と同じラベル情報を含み得る。午後3に達すると、デバイスは、そのデバイスが、推論されたコンテキスト332aに関して上で識別された同じ位置である第1の位置にあることを識別することができる。システムは伝搬されたラベル352をコンテキスト情報331からの第1の位置とすでに関連付けているため、デバイスがそのデバイスが午後3時に第1の位置にあることを識別するとき、デバイスは、伝搬されたラベル352を伝搬されたラベル358として設定することができ、デバイスが午後3時に、午後10時におけるのと同じコンテキスト内にあることをさらに推論することができ、ラベルから識別された生のカレンダーデータ315との整合に基づいて、生のカレンダーデータ312内のラベル情報と生のカレンダーデータ315とをさらに整合することができる。生のカレンダーデータ314からのラベル情報が、位置署名と、推論されたコンテキスト332aから伝搬されたラベルとに整合しない場合、ラベル情報は推論されたコンテキスト332bが生のカレンダーデータ314に関連しないことを確認するためにさらに使用され得る。伝搬された位置ラベル352は、したがって、位置署名整合とラベル伝搬とに基づいて、生のカレンダーデータ315が午後3〜4時の時間枠に関して正確な推論されたコンテキストとより適切に関連付けられるという確信を改善するために使用される。
【００６０】
さらなる類似の実施形態では、例示的な生のカレンダーデータ315は、特定の会議終了時間まで続く、予想される推論されたコンテキスト332bを作成することができるが、推論されたコンテキストの変化を示す、リアルタイムのまたは最近のコンテキスト情報は、予想されるよりも早い時点で、推論されたコンテキスト332bを新しいコンテキストに変更し得る。会議が終了する予定の前に、ユーザが部屋を去ったことを示す位置署名情報は、そのような状況を作成し得る。同様に、上で議論したように、かつ推論されたコンテキスト338と推論されたコンテキスト332bとの間に示されるように、推論されたコンテキストはある期間に関して識別されない場合がある。
【００６１】
さらに、カレンダー310は、生のカレンダーデータ314および315を用いて示すように、会議が重複期間に対して予定されているときなど、相反する生のカレンダーデータを含む場合がある。そのような状況で、これらはまだ併合されていない別個の異なる会議に関連すると仮定して、生のカレンダー情報314または315のいずれかに関連する、可能性が最も高い、推論されたコンテキストを識別するために、他のコンテキスト情報が使用され得る。生のカレンダーデータのうちの一方のセットは、位置と会議出席者など、コンテキスト情報に矛盾しないが、生のカレンダーデータのもう一方のセットは他のコンテキスト情報に矛盾することを識別するために、他のコンテキスト情報が使用され得る。すべてのこの情報は、次いで、推論されたカレンダー330内の推論されたコンテキストを作成または更新するために、集約され得る。
【００６２】
図3は、カレンダー整合に応答して生じ得るデバイス更新と、生のカレンダーデータ内で識別されたラベルと推論されたコンテキストを導出するために使用されたコンテキスト情報との間の関連付けとについてさらに説明する。たとえば、デバイス内で、ラベルを追加するために、推論されたコンテキスト内で関連付けられた情報が更新され得る。たとえば、伝搬されたラベルが生のカレンダーデータ316内で識別され、推論されたコンテキスト339、および推論されたコンテキスト339と関連付けられた任意のコンテキスト情報と関連付けられることが可能である。同様に、伝搬されたラベル352は、生のカレンダーデータ312内で識別され、推論されたコンテキスト332aに対する伝搬されたラベル352の複製として、伝搬されたラベル358を更新するために使用され得る。これは、結果として、追加の伝搬をもたらす場合があり、この場合、伝搬されたラベル352と推論されたコンテキスト332aに関連するコンテキスト情報との間の新しい関連付けは、そのラベルを、推論されたコンテキスト332aと同じまたは類似のコンテキストであり得る、推論されたコンテキスト332bに割り当てるために使用され得る。加えて、いくつかのラベルは推定されたラベルと見なされ得る。たとえば、生のカレンダーデータ313は、何のラベルも含まない場合があるが、そこからラベルが確率的に推論され得る情報を含む場合がある。そのようなラベルは、コンテキストエンジン内の過去の履歴または特定の解析システムを使用してやはり判断され得る。たとえば、履歴データは、推定されたラベルを作成するために使用されることが可能であり、所定の規則は、ある種のタイプの情報をラベルと整合させるように設定されることが可能であり、統計的学習はラベルを生成、改善、および適用することが可能である。様々な実施形態による、デバイス更新の追加の実施形態および例が下でさらに説明され得る。
【００６３】
図4は、推論されたコンテキストのカレンダー整合とラベル伝搬とに関する1つの潜在的な方法について説明する。S410で、モバイルデバイスに関連するコンテキスト情報にアクセスすることができる。最も簡単な事例では、これは、将来の事象を識別する、単なる生のカレンダー情報であり得る。あるいは、上で説明されたように、これは、平日の午前6時から午前6時半の間に定期的にアクセスおよび訪問される、関連する注文アプリケーションを有するコーヒーショップなど、将来の位置を予測するために使用され得る反復パターンを示す位置データなど、任意の他のそのような情報であり得る。これは、勤務地内で毎週訪問される特定の部屋と関連付けられる場合もある。S412で、次いで、この情報を使用して、推論されたコンテキストを識別することができる。たとえば、いずれの生のカレンダー情報も上で説明されたコーヒーショップに関連しないにもかかわらず、この位置情報は、月曜日から金曜日の午前6時から午前6時半の期間に関して、予想される推論されたコンテキストを作成するために使用され得る。部屋に関しても同様に、推論された会議が識別され得る。後で、関連する期間の間の、追加の位置情報および/またはコーヒーショップに関連する支払アプリケーションの使用は、推論されたコンテキストの信頼性を確認すること、および高めることができる。
【００６４】
S420で、コンテキスト情報に関する同じ期間、およびS412の期間の間にユーザに関する生のカレンダーデータにアクセスする。勤務地内の特定の部屋に毎週移動する例では、その部屋への毎週の移動が生じる時間の間に、生のカレンダー情報を用いた単一のカレンダーエントリーが入力される場合、この生のカレンダー情報にアクセスすることができる。S422で、次いで、生のカレンダー情報を解析して、少なくとも1つのラベルを識別する。たとえば、「部屋A」はそのような生のカレンダーデータ内のラベルであり得る。S430で、次いで、第1のラベルと推論されたコンテキストとを整合させることができる。これは、たとえば、特定の部屋への前の移動が生じた毎週の期間の間にユーザが同じ位置に戻ることを確認することによって生じ得る。次いで、S432で、一貫性の確認が生じた後で、前に推論されたコンテキストをコンテキスト情報と関連付けることができる。位置の例を続けると、位置は「部屋A」とラベル付けされ得る。S434で、次いで、コンテキスト情報とラベルとの間で作成された関連付けに基づいて、モバイルデバイスを更新する。この例では、このことは、その位置への訪問の履歴記録を識別し、各訪問に関して、「部屋A」というラベルで履歴データベースを更新することと同じであり得る。このことは、その位置への毎週の訪問が継続するという十分な確信に基づいて、生のカレンダーデータがそのことを示すとして識別されない場合であっても、毎週の時間に関して予想される推論されたコンテキストを「部屋A」というラベルで更新することも含み得る。後で、毎週の会議が終了した場合、予想される推論されたコンテキストは終了し得るが、相反する情報が受信されるまで、または使用の欠如により、その情報が無関係であると見なされるまで、特定の位置情報と「部屋A」というラベルとの関連性は継続的に使用され得る。
【００６５】
図5は、様々な実施形態の態様による、追加の代替案について説明する。S510で、デバイスユーザは、ユーザモバイルデバイス上のコンテキストエンジンをアクティブ化して、コンテキスト対応動作を開始して、モバイルデバイスと対話することができる。ユーザは、ウェブサイトに申し込んで、そのようなアクティブ化の一環として、コンテキストサービスに加入することができるか、またはそのようなアクティブ化の一環として、アプリケーションをダウンロードすることができる。ユーザは、ユーザ設定、デフォルト、プライバシー設定、およびコンテキストエンジンの動作に関する他の類似の設定をさらに選択することができる。ユーザは、コンテキストエンジンまたはアプリケーションに関する任意の必要とされる認証を提供して、モバイルデバイス上のハードセンサおよびソフトセンサからのコンテキスト情報の収集を開始し、コンテキストエンジンによるこのコンテキスト情報に対するアクセスを可能にすることもできる。
【００６６】
S512で、コンテキストエンジンは、1つまたは複数のコンテキスト情報源からコンテキスト情報を受信することができる。上で説明したように、これらは、モバイルデバイスが動作しているコンテキストに関連する情報を提供する任意の種類のハードセンサもしくはハードアプリケーション、またはソフトセンサもしくはソフトアプリケーションであってよい。これは、モバイルデバイス上に局所的に、またはサーバコンピュータ内に遠隔に記憶されたデータベース情報をさらに含み得る。S514で、この情報を使用して、新しい推論されたカレンダーを作成するか、または既存の推論されたカレンダーを更新することができる。
【００６７】
S516で、ユーザもしくはモバイルデバイスおよび特定の期間に関する、新しい、または更新された生のカレンダー情報を受信することができる。このことは、結果として、相反するラベルをもたらす、カレンダーに関する重複エントリーを含み得る。S518で、S516の生のカレンダー情報から、1つまたは複数のラベルを識別することができる。S520で、その期間の間に識別された任意のラベルに関して、各ラベルが他のコンテキスト情報に矛盾しないかどうかを判断する。このことは、一貫性を確認するために実際の期間の間待つことを必要とする場合があるか、または実際の期間の間にさらに確認され得る予測コンテキスト情報を使用して行われることが可能である。S522で、推論されたコンテキストに矛盾しないとして識別されたラベルに関して、ラベルを、推論されたコンテキストを作成するために使用された適切なコンテキスト情報と関連付ける。他のコンテキスト情報と相反するラベルを廃棄することができるか、または、コンテキストを予測する際に将来使用するため、およびコンテキストを予測するためのモデルを形成するために、ある種のラベルが推論されたコンテキストに矛盾したという記録を維持することができる。限定されたコンテキスト情報が利用可能であり、すべての情報が相反する場合、推論されたコンテキストを識別することができないという判断を下すことができる。システムは、次いで、コンテキスト情報のうちのすべてまたは一部を記憶し、追加のコンテキスト情報が推論されたコンテキストを作成するための十分な確信を得るのを待つことができる。
【００６８】
S524で、次いで、推論されたコンテキスト、および互いに関連する他のコンテキスト情報に矛盾しないラベルを、十分に類似のコンテキスト情報を有する他の類似のコンテキストに伝搬することができる。コンテキストエンジン内で追加の解析を実行して、他の推論されたコンテキストがラベルの伝搬を是認するのに十分に類似するかどうかを判断することができ、ラベルが伝搬された先である推論されたコンテキストに関して、相反するコンテキスト情報が生じた場合、伝搬されたラベルを後で変更または除去することができる。最終的に、S526で、システムおよびシステム内の任意のデバイスに更新が行われた後で、デバイス更新の一環として識別された何らかの変更または遷移を使用して、現在の推論されたコンテキストとモバイルデバイス設定のセットとの間の関連付けに基づいて、デバイスを新しい特徴セットまたはデバイス設定に遷移させることができる。このことの一環として、デバイスおよびシステムに対する更新に基づいて、追加の解析の一環として、コンテキスト履歴データベース、または過去の推論されたコンテキストに対する何らかの追加の更新を行うことができる。
【００６９】
これにより、コンテキスト情報の複数のストリームを使用して、ユーザの状況をある程度推論することができる。スケジューリングサービス(たとえば、電子カレンダー)内に存在するデータを利用することによって、ユーザの状況を、利用可能なとき、様々なスケジュールされた事象と整合させることができる。これを行うために、カレンダー整合を理解するための様々なタイプの情報が使用され得る。カレンダー上に相反する事象が存在する場合、データの情報源を組み合わせて、整合を推論することができる。さらに、カレンダーをソースとして使用して、訪問した様々な場所のラベルおよび/または他のラベルを学習することができる。
【００７０】
代替実施形態では、複数のタイプのコンテキスト情報を使用して、ユーザのコンテキストまたは状況が推論される。たとえば、ユーザが会議に出席しているという表示は、音声の存在を検出することと、訪問した場所を検出または推論することと、同一の場所にいる出席者を検出または推論することとを含み得る。会議の推論と併せて、ある種の基準を使用して、推論を(たとえば、電子カレンダー上の)スケジューリングサービスに関連する特定のエントリーと整合させることができる。たとえば、コンテキストエンジンは、ユーザが会議中であること、または会議中であり得ることを推定し、次いで、後でカレンダー情報にアクセスして、その判断を1つまたは複数のカレンダーエントリーと整合させることができる。
【００７１】
カレンダー情報は、スケジューリングサービスのカレンダーエントリーに関連する情報を含み得る。カレンダー情報は、事象ラベル(たとえば、「会議」)、位置ラベル(たとえば、「会議室A」)、共同出席者(たとえば、「JohnおよびBill」もしくは「他4名の出席者」)、および/あるいは時間データ(たとえば、「午後3時〜午後4時」もしくは「開始時間:午後3時」または「開始時間:午後3時、期間:1時間」)を含み得る。たとえば、カレンダー情報を使用して、カレンダーエントリーを他のコンテキスト情報と整合させることができる。たとえば、ユーザがエントリーの位置にいること、ユーザがエントリー内で指摘された共同出席者と一緒にいること、ユーザがエントリー内で共同出席者として指摘された数人の人々と一緒にいること、および/または現在の時間がエントリー内で指摘された時間内であることを判断するとすぐに、カレンダーエントリー#1に対する整合が検出され得る。
【００７２】
1つの潜在的な実施形態では、現在の場所ラベルを推定し、その場所ラベルを1つまたは複数のカレンダーエントリーの場所ラベルと比較することによって、カレンダーエントリーは他のコンテキスト情報と整合される。場所ラベルは、任意の利用可能な情報を使用してまず推定され得る。場所ラベルは、統計的に学習すること、背景知識のデータベースもしくは関心地点から獲得すること、または常識タイプの規則によって推論することができる。たとえば、共有パターン(collective occupancy pattern)が会議室またはユーザの家であることを観察することによって場所タイプを学習することができる。(たとえば、「家」または「職場」の位置を識別する)何らかのユーザプロフィール情報によって場所名を学習することができる。別の例として、ユーザのオフィスへの訪問パターンを観察することによって、その場所がユーザのオフィスであると推論することができる。これらの場所ラベルを使用して、訪問をカレンダーの位置ラベルと整合させて、ユーザが特定の事象に出席していること(たとえば、会議にいること)を推論することができる。
【００７３】
さらに、カレンダー事象を推論と整合させる他の様式が存在し得る。たとえば、ユーザの(知られていないラベルの)ある場所に対する訪問がカレンダー上の事象の期間と時間の点でおよそ整合する場合、事象の最も可能性の高い整合を示唆する時間ベースの整合がある。別の例として、Bluetooth(登録商標)または他の近接性検出技法によって、近接する他のユーザのデバイスの存在を観察することによって、(観察されたデバイス/ユーザを会議の出席予定者と整合させることによって)ユーザが特定の会議中であるかどうかを推論することができる。
【００７４】
いくつかの実施形態では、カレンダーエントリー整合は、複数の技法に依存する。たとえば、どの現在の情報が利用可能であるか(たとえば、現在の場所ラベルが利用可能であるかどうか)、およびどんなカレンダーエントリー情報が利用可能であるか(たとえば、特定の事象が共同出席者を指摘しているかどうか)をまず判断することができる。利用可能な現在の情報のうちの一部またはすべてを、1つまたは複数のエントリーに関して利用可能なカレンダー情報のうちの一部またはすべてと比較することができる。あるタイプの情報(たとえば、時間データ)の整合は、他のタイプの情報の整合(たとえば、共同出席者情報)よりもより高く重み付けされ得る。1つまたは複数のエントリーの各々に関して、整合スコアを計算することができる。最高の整合スコアまたはしきい値を超える整合スコアに関連するカレンダー事象を整合として識別することができる。
【００７５】
カレンダー整合が判断されると、場所ラベルがすでに知られていない場合、カレンダーからラベルが獲得され、その訪問に対応する場所のモデルに伝搬され得る。学習されると、この情報は、次いで、カレンダー事象および状況の後続の推論に関して使用され得る。このタイプの推論は、オフラインモードもしくはオンラインモードでクライアント上またはサーバ上で生じ得る。
【００７６】
図6は、1つまたは複数の実施形態が実行され得るコンピューティングシステムの一例を示す。図6に例示するコンピュータシステムは、図2のモバイルデバイス、または図1Aおよび図1Bによって説明したコンテキストエンジンもしくはコンテキスト推論システムの要素のうちのいずれかなど、前に説明したコンピュータ化デバイスの一部として組み込まれることが可能である。様々な実施形態によるシステムの任意の構成要素は、様々なモバイルデバイスまたはネットワーク接続されたデバイスおよびサーバを含めて、図6で説明するコンピュータシステムを含み得る。図6は、本明細書で説明するような、様々な他の実施形態によって提供される方法を実行することができ、かつ/またはコンテキストが判断されている対象であるモバイルデバイス、もしくはモバイルデバイスに関連するコンテキスト情報を処理して、モバイルデバイスのコンテキストを判断することができるネットワーク接続されたコンピューティングシステムのいずれかとして機能し得るコンピュータシステム600の一実施形態の概略図を提供する。図6は、様々な構成要素の一般化された図を与えるものにすぎず、それらの構成要素のいずれかまたはすべては適宜に利用され得る。したがって、図6は個別のシステム要素が比較的個別化された様式または比較的一体化された様式でどのように実装され得るかを大まかに示す。
【００７７】
コンピュータシステム600は、バス605を介して電気的に結合され得る(あるいはその他の様式で、適宜、通信し得る)ハードウェア要素を備えるように図示されている。ハードウェア要素には、限定はしないが、1つもしくは複数の汎用プロセッサおよび/または1つもしくは複数の(デジタル信号処理チップ、グラフィックス加速プロセッサなどの)専用プロセッサを含む1つもしくは複数のプロセッサ610と、限定はしないが、マウス、キーボードなどを含むことができる1つもしくは複数の入力デバイス615と、限定はしないが、表示デバイス、プリンタなどを含むことができる1つもしくは複数の出力デバイス620とが含まれ得る。
【００７８】
コンピュータシステム600は、1つもしくは複数の非一時的記憶デバイス625をさらに含むこと(および/またはそれらと通信すること)ができ、非一時的記憶デバイス625は、限定することなく、ローカルおよび/もしくはネットワークアクセス可能なストレージを備えることができ、かつ/または限定することなく、プログラム可能、フラッシュ更新可能などであり得る、ディスクドライブ、ドライブアレイ、光記憶デバイス、ランダムアクセスメモリ(「RAM」)および/もしくは読取り専用メモリ(「ROM」)などのソリッドステート記憶デバイスを含み得る。そのような記憶デバイスは、限定はしないが、様々なファイルシステム、データベース構造などを含む任意の適切なデータストアを実装するように構成されてもよい。
【００７９】
コンピュータシステム600は、限定はしないが、モデム、(ワイヤレスもしくは有線)ネットワークカード、赤外線通信デバイス、ワイヤレス通信デバイス、および/または(Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備などの)チップセット、ならびに/あるいは同様の通信インターフェースを含むことができる、通信サブシステム630を含むことも可能である。通信サブシステム630は、(一例を挙げると、下で説明するネットワークなど)ネットワーク、他のコンピュータシステム、および/または本明細書で説明した任意の他のデバイスとのデータの交換を可能にし得る。多くの実施形態では、コンピュータシステム600は、上で説明したRAMまたはROMデバイスを含み得る非一時的ワーキングメモリ635をさらに備えることになる。
【００８０】
コンピュータシステム600はまた、オペレーティングシステム640、デバイスドライバ、実行可能ライブラリ、および/または1つもしくは複数のアプリケーションプログラム645などの他のコードを含む、現在、ワーキングメモリ635内に配置されたものとして示されている、ソフトウェア要素も備えることができ、他のコードは、様々な実施形態によって提供されるコンピュータプログラムを備えることができ、かつ/または本明細書で説明するように、他の実施形態によって提供される方法を実行するように、および/もしくはシステムを構成するように設計され得る。単に例として、上で議論した方法に関して記載された1つもしくは複数の手順は、コンピュータ(および/またはコンピュータ内のプロセッサ)によって実行可能なコードならびに/あるいは命令として実装され得、一態様では、次いで、そのようなコードおよび/または命令は、記載された方法に従って1つもしくは複数の動作を実行するように汎用コンピュータ(または他のデバイス)を構成し、かつ/あるいは適合させるために使用することができる。
【００８１】
これらの命令および/またはコードのセットは、上で説明した記憶デバイス625などのコンピュータ可読記憶媒体上に記憶され得る。場合によっては、記憶媒体は、コンピュータシステム600などのコンピュータシステム内に組み込まれることが可能である。他の実施形態では、記憶媒体が命令/コードを記憶した汎用コンピュータをプログラムする、構成する、および/または適合させるために使用され得るように、記憶媒体は、コンピュータシステムから分離され得(たとえば、コンパクトディスクなどの取外し可能媒体)、かつ/またはインストールパッケージ内に備えられ得る。これらの命令は、コンピュータシステム600によって実行可能である、実行可能コードの形態をとることが可能であり、かつ/または、(たとえば、様々な一般的に利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを使用して)コンピュータシステム600上にコンパイルおよび/またはインストールするとすぐに、実行可能コードの形態をとるソースコードおよび/もしくはインストール可能コードの形態をとることが可能である。
【００８２】
大幅な変形が、特定の要件に従ってなされ得る。たとえば、カスタマイズされたハードウェアが使用されることも可能であり、かつ/または特定の要素が、ハードウェア、(アプレットなどのポータブルソフトウェアを含む)ソフトウェア、もしくは両方で実装されることも可能である。その上、ある機能を提供するハードウェアおよび/またはソフトウェア構成要素は、(専門構成要素を有する)専用システムを備えることが可能であるか、またはより一般的なシステムの一部であってもよい。たとえば、コンテキスト情報モジュール140による活動の選択に関して本明細書で説明する機能のうちのいくつかまたはすべてを提供するように構成されたアクティビティ選択サブシステム(activity selection subsystem)は、専門化されたハードウェアおよび/もしくはソフトウェア(たとえば、特定用途向け集積回路(ASIC)、ソフトウェア方法など)、または一般的ハードウェアおよび/もしくはソフトウェア(たとえば、プロセッサ610、アプリケーション645など)を備え得る。さらに、ネットワーク入出力デバイスなどの他のコンピューティングデバイスとの接続が用いられてもよい。
【００８３】
いくつかの実施形態は、本開示による方法を実行するために、(コンピュータシステム600など)コンピュータシステムを使用し得る。たとえば、説明した方法の手順のうちのいくつかまたはすべては、ワーキングメモリ635に含まれる(オペレーティングシステム640、および/またはアプリケーションプログラム645などの他のコード内に組み込まれ得る)1つもしくは複数の命令の1つもしくは複数のシーケンスを実行しているプロセッサ610に応答して、コンピュータシステム600によって実行され得る。そのような命令は、記憶デバイス625のうちの1つまたは複数など、別のコンピュータ可読媒体からワーキングメモリ635内に読み込まれ得る。単に例として、ワーキングメモリ635内に含まれる命令のシーケンスの実行では、プロセッサ610に、本明細書で説明する方法の1つまたは複数の手順を実行させ得る。
【００８４】
本明細で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械を特定の方式で動作させるデータを与えることに関与する任意の媒体を指す。コンピュータシステム600を使用して実装される一実施形態では、様々なコンピュータ可読媒体が、実行のためにプロセッサ610に命令/コードを与えることに関与し得、かつ/または(たとえば、信号など)そのような命令/コードを記憶および/もしくは搬送するために使用され得る。多くの実装形態では、コンピュータ可読媒体は、物理的および/または有形のストレージ媒体である。そのような媒体は、限定はしないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む多くの形態を取り得る。不揮発性媒体は、たとえば、記憶デバイス625などの光ディスクおよび/または磁気ディスクを含む。揮発性媒体は、限定はしないが、ワーキングメモリ635などの動的メモリを含む。伝送媒体は、限定はしないが、バス605、ならびに通信サブシステム630(および/または通信サブシステム630が他のデバイスとの通信を提供する媒体)の様々な構成要素を備える線を含めて、同軸ケーブル、銅線、および光ファイバーを含む。したがって、伝送媒体はまた、(限定はしないが、無線波データ通信および赤外線データ通信中に生成されるもののような無線波、音波、および/または光波を含めて)波の形態を取り得る。他方で、非一時的記憶媒体はそのような形をとらなくてもよく、様々な実施形態では、機械に特定の様式で動作させるデータを提供することに関与する任意の記憶媒体は、非一時的記憶媒体を使用して実装され得る。
【００８５】
一般的な形態の物理的および/または有形コンピュータ可読媒体には、たとえば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気媒体、CD-ROM、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップもしくはカートリッジ、後に説明するような搬送波、または、コンピュータが命令および/もしくはコードを読み取ることができる任意の他の媒体が含まれる。
【００８６】
様々な形態のコンピュータ可読媒体は、実行のためにプロセッサ610に1つまたは複数の命令の1つまたは複数のシーケンスを搬送することに関与し得る。単に例として、命令は、最初に、リモートコンピュータの磁気ディスクおよび/または光ディスク上で搬送され得る。リモートコンピュータは、命令をその動的メモリ内にロードし、コンピュータシステム600によって受信および/または実行される伝送媒体上の信号として、命令を送信し得る。電磁信号、音響信号、光信号などの形態であり得るこれらの信号は、すべて、様々な実施形態による、命令が符号化され得る搬送波の例である。
【００８７】
通信サブシステム630(および/またはその構成要素)は、一般に信号を受信し、次いで、バス605は、信号(および/または、信号によって搬送されるデータ、命令など)をワーキングメモリ635に搬送することができ、プロセッサ605は、ワーキングメモリ635から命令を取り出し、実行する。ワーキングメモリ635によって受信された命令は、オプションで、プロセッサ610による実行の前または後のいずれかに、非一時的記憶デバイス625上に記憶され得る。
【００８８】
上記で議論した方法、システム、およびデバイスは例である。様々な実施形態は、様々な手順または構成要素を、適宜、省略し、置換し、もしくは加えることができる。たとえば、代替構成では、説明した方法は、説明した順序とは異なる順序で実行されてもよく、かつ/または、様々なステージが加えられ、省略され、および/もしくは組み合わされてもよい。また、いくつかの実施形態に関して説明した特徴が、様々な他の実施形態と組み合わされてもよい。実施形態の様々な態様および要素を同様に組み合わせることができる。また、技術は発展し、したがって、要素の多くは、本開示の範囲をそれらの特定の例に限定しない例である。
【００８９】
実施形態の完全な理解を与えるために、説明に具体的な詳細が与えられている。しかしながら、実施形態は、これらの具体的な詳細なしに実践され得る。たとえば、実施形態が不明瞭になることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不必要な詳細を記載せずに示されている。この説明は、例示的な実施形態のみを提供し、様々な実施形態の範囲、適用可能性、または構成を限定することは意図されない。むしろ、実施形態の前述の説明は、実施形態を実施するための権能を付与する記載を当業者に提供する。様々な実施形態の趣旨および範囲から逸脱することなく、要素の機能および構成に様々な変更を行うことができる。
【００９０】
また、いくつかの実施形態について、プロセス矢印を用いて、フローの形で示されるプロセスとして説明した。各々は動作を逐次プロセスとして記載する場合があるが、動作の多くは、並行して実行するか、または同時に実行することができる。加えて、動作の順序は並び替えられてもよい。プロセスは、図に含まれていない追加のステップを有していてもよい。さらに、本方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、関連するタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読媒体に記憶され得る。プロセッサは関連するタスクを実行し得る。
【００９１】
いくつかの実施形態について説明してきたが、様々な変更、代替構造、および均等物は、本開示の趣旨から逸脱することなく使用され得る。たとえば、上記の要素は単により大きいシステムの構成要素であってもよく、他の規則が様々な実施形態のアプリケーションに優先してもよく、あるいはこれらのアプリケーションを修正してもよい。また、上記の要素が考慮される前、間、または後に、いくつかのステップを行うことができる。したがって、上記の説明は、本開示の範囲を制限しない。
【符号の説明】
【００９２】
100  コンテキストエンジン
110  ユーザ入力モジュール
120  知識モジュール
122  規則および制約
124  セマンティックモデル
126  推論されたカレンダー
130  学習モジュール
140  コンテキスト情報モジュール
150  確率的推論モジュール
160  テキスト処理モジュール
170  推論モジュール
180  決定モジュール
196  潜在的な推論されたコンテキスト
198  アプリケーション
200  モバイルデバイス、デバイス
201〜202  ハードウェアモジュール
203  ディスプレイモジュール
204  ユーザ入力モジュール
210  プロセッサ
212  ワイヤレスモジュール
220  メモリ
221A〜221M  アプリケーションモジュール
221N  コンテキストモジュール
223  オペレーティングシステム
224  オペレーティングシステム
240  バス
302  期間
310  カレンダー
312〜316  生のカレンダーデータ
330  推論されたカレンダー
331  コンテキスト情報
332a  推論されたコンテキスト
332b  推論されたコンテキスト
334  推論されたコンテキスト
334b  位置ラベル
336  推論されたコンテキスト
338  推論されたコンテキスト
339  推論されたコンテキスト
352  伝搬されたラベル、伝搬された位置ラベル
600  コンピュータシステム
605  バス
610  プロセッサ
615  入力デバイス
620  出力デバイス
625  非一時的記憶装置、記憶装置
630  通信サブシステム
635  ワーキングメモリ
640  オペレーティングシステム
645  アプリケーションプログラム
【図１Ａ】
2015516101.tif 000003
【図１Ｂ】
2015516101.tif 000004
【図２】
2015516101.tif 000005
【図３】
2015516101.tif 000006
【図４】
2015516101.tif 000007
【図５】
2015516101.tif 000008
【図６】
2015516101.tif 000009
【国際調査報告】
2015516101.tif 000010