(57)【要約】コンテキストセンシングのための方法及びシステムが明細書において説明される。本方法は、複数のセンサを介して取得されたセンサデータが予め定められた閾値を超えるかどうかを判定するステップを含む。本方法はまた、前記センサデータが前記閾値を超えた場合、コンピューティングデバイスに対応するコンテキストデータを取得するために、前記複数のセンサのいずれかのサンプリングレートを増大するステップを含む。本方法はさらに、前記コンピューティングデバイスのコンテキストを分類するために、前記コンテキストデータを分析するステップを含む。
2015506047.tif 000002
【特許請求の範囲】
【請求項１】
コンテキストセンシングのための方法であって、
複数のセンサを介して取得されたセンサデータが予め定められた閾値を超えるかどうかを判定するステップと、
前記センサデータが前記閾値を超えた場合、コンピューティングデバイスに対応するコンテキストデータを取得するために、前記複数のセンサのいずれかのサンプリングレートを増大するステップと、
前記コンピューティングデバイスのコンテキストを分類するために、前記コンテキストデータを分析するステップと、
を含む、方法。
【請求項２】
前記コンテキストを前記コンピューティングデバイスのプロセッサに提供するステップ
を含み、
前記プロセッサは、前記コンテキストを複数のコンテキストアウェアアプリケーションのいずれかに送信するよう構成されている、請求項１記載の方法。
【請求項３】
前記コンピューティングデバイスの環境の変化を判定するために、前記コンテキストデータを分析するステップと、
前記コンピューティングデバイスのプロセッサに、前記環境の前記変化を通知するステップと、
を含む、請求項１記載の方法。
【請求項４】
意味のあるコンテキストデータ及び意味のないコンテキストデータを判定するために、前記コンテキストデータを分析するステップと、
前記意味のないコンテキストデータを破棄するステップと、
前記コンピューティングデバイスの前記コンテキストを分類するために、前記意味のあるコンテキストデータを分析するステップと、
を含む、請求項１記載の方法。
【請求項５】
前記複数のセンサを介して取得された前記コンテキストデータを結合するステップと、
前記閾値を決定するために、前記結合されたコンテキストデータを分析するステップと、
を含む、請求項１記載の方法。
【請求項６】
前記コンピューティングデバイスの電力レベルを判定するステップと、
前記電力レベルが特定の下限閾値を下回る場合、前記複数のセンサの前記サンプリングレートを低減するステップと、
を含む、請求項１記載の方法。
【請求項７】
複数の共通コンテキストセンサから取得されたセンサデータが前記閾値を超えた場合、コンテキストセンシングシステムの共通コンテキストソーストリガを介して、前記複数の共通コンテキストセンサのサンプリングレートを増大するステップ
を含む、請求項１記載の方法。
【請求項８】
オーディオセンサから取得されたセンサデータが前記閾値を超えた場合、コンテキストセンシングシステムのオーディオ分類トリガを介して、前記オーディオセンサのサンプリングレートを増大するステップ
を含む、請求項１記載の方法。
【請求項９】
コンピューティングデバイスであって、
コンテキストセンシングシステムと、
中央処理装置（ＣＰＵ）と、
を備え、
前記コンテキストセンシングシステムは、
複数のセンサを介して取得されたセンサデータが閾値を超えた場合、前記複数のセンサのサンプリングレートを増大し、
前記複数のセンサを介して、前記コンピューティングデバイスに対応するコンテキストデータを取得し、
前記コンピューティングデバイスに対応するコンテキスト情報を判定するために、前記コンテキストデータを分析し、
前記コンテキスト情報を前記コンピューティングデバイスの前記ＣＰＵに送信するよう構成され、
前記ＣＰＵは、
前記コンテキストセンシングシステムから前記コンテキスト情報を受信し、
前記コンテキスト情報をコンテキストアウェアアプリケーションに送信するよう構成されている、コンピューティングデバイス。
【請求項１０】
前記コンテキストセンシングシステムは、
前記コンピューティングデバイスの環境の変化を判定するために、前記コンテキストデータを分析し、
前記ＣＰＵに前記環境の前記変化を通知するよう構成されている、請求項９記載のコンピューティングデバイス。
【請求項１１】
複数の共通コンテキストセンサから取得されたセンサデータが前記閾値を超えた場合、前記コンテキストセンシングシステムの共通コンテキストソーストリガは、前記複数の共通コンテキストセンサのサンプリングレートを増大するよう構成されている、請求項９記載のコンピューティングデバイス。
【請求項１２】
オーディオコンテキストセンサから取得されたセンサデータが前記閾値を超えた場合、前記コンテキストセンシングシステムのオーディオ分類トリガは、前記オーディオコンテキストセンサのサンプリングレートを増大するよう構成されている、請求項９記載のコンピューティングデバイス。
【請求項１３】
前記コンテキストセンシングシステムは、
前記複数のセンサからの前記コンテキストデータを結合し、
前記複数のセンサの前記サンプリングレートを増大するための前記閾値を決定するために、前記結合されたコンテキストデータを分析するよう構成されている、請求項９記載のコンピューティングデバイス。
【請求項１４】
前記コンテキストセンシングシステムは、
意味のあるコンテキストデータ及び意味のないコンテキストデータを判定するために、前記コンテキストデータを分析し、
前記意味のないコンテキストデータを破棄し、
前記コンピューティングデバイスに対応する前記コンテキスト情報を判定するために、前記意味のあるコンテキストデータを分析するよう構成されている、請求項９記載のコンピューティングデバイス。
【請求項１５】
前記コンテキストセンシングシステムは、
前記コンピューティングデバイスの電力レベルを判定し、
前記電力レベルが特定の下限閾値を下回る場合、前記複数のセンサの前記サンプリングレートを低減するよう構成されている、請求項９記載のコンピューティングデバイス。
【請求項１６】
前記コンテキストセンシングシステムは、
前記コンピューティングデバイスの電力消費に基づいて前記閾値を決定し、
前記電力消費が特定の上限閾値を超えた場合、前記閾値を増大するよう構成されている、請求項９記載のコンピューティングデバイス。
【請求項１７】
前記コンテキストセンシングシステムは、
コンテキストアウェアアプリケーションから、前記ＣＰＵを介して、コンテキスト情報の要求を受信し、
前記コンテキスト情報を判定し、
前記コンテキスト情報を前記ＣＰＵに返すよう構成され、
前記ＣＰＵは、
前記コンテキスト情報を前記コンテキストアウェアアプリケーションに送信するよう構成されている、請求項９記載のコンピューティングデバイス。
【請求項１８】
命令を記憶した少なくとも１つのマシン読み取り可能な媒体であって、前記命令がコンピューティングデバイス上で実行されたことに応答して、前記命令は前記コンピューティングデバイスに、
複数のセンサを介して取得されたセンサデータが閾値を超えた場合、前記複数のセンサのサンプリングレートを増大させ、
前記複数のセンサを介して、前記コンピューティングに対応するコンテキストデータを取得させ、
前記コンピューティングデバイスのコンテキストを分類するために、前記コンテキストデータを分析させる、少なくとも１つのマシン読み取り可能な媒体。
【請求項１９】
前記命令は、前記コンピューティングデバイスに、前記コンテキストを前記コンピューティングデバイスの中央処理装置（ＣＰＵ）に送信させ、
前記ＣＰＵは、前記コンテキストを前記ＣＰＵ上で実行されている複数のコンテキストアウェアアプリケーションのいずれかに送信するよう構成されている、請求項１８記載の少なくとも１つのマシン読み取り可能な媒体。
【請求項２０】
前記閾値は、前記コンピューティングデバイスの電力消費に基づいて決定され、
前記コンピューティングデバイスの前記電力消費が特定の上限閾値を超えた場合、前記閾値が増大される、請求項１８記載の少なくとも１つのマシン読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピューティングデバイスのためのコンテキストセンシングに関する。より詳細には、本発明は、コンテキストベースのトリガメカニズムに従った、モバイルコンピューティングデバイスのためのコンテキストセンシングに関する。
【背景技術】
【０００２】
一般的なコンテキストアルゴリズムは、モバイルコンピューティングデバイスにコンテキスト情報を提供するために使用される。しかしながら、モバイルコンピューティングデバイスが、常に最新の周囲環境又はデバイスステータスを認識し得るように、そのようなコンテキストアルゴリズムは、ノンストップのセンシング能力に依拠する。モバイルコンピューティングデバイスのメインホストプロセッサ上でノンストップに実行されるそのようなコンテキストアルゴリズムは、大量の電力を消費し得るので、バッテリを非常に早く枯渇させる。
【図面の簡単な説明】
【０００３】
【図１】実施形態に従った、使用することができるコンピューティングデバイスのブロック図。
【図２】実施形態に従った、コンテキストセンシングプロシージャを管理するよう構成されているいくつかのオフロードエンジンを含むシステムオンチップ（ＳＯＣ）のブロック図。
【図３】実施形態に従ったコンテキストセンシングシステムのブロック図。
【図４】実施形態に従った、コンピューティングデバイスのためのコンテキストセンシングを提供する方法を示すプロセスフロー図。
【図５】実施形態に従った、コンテキストセンシングのためのコードを記憶する有体の非トランジトリなコンピュータ読み取り可能な媒体を示すブロック図。
【発明を実施するための形態】
【０００４】
類似のコンポーネント及び特徴を参照するために、同一の符号が、本開示及び図面を通じて使用される。１００番台の符号は、元々図１で見つかる特徴を指し、２００番台の符号は、元々図２で見つかる特徴を指す、などである。
【０００５】
上述したように、コンピューティングデバイスのプロセッサ上でノンストップに実行されるコンテキストアルゴリズムは、大量の電力を消費するので、バッテリを非常に早く枯渇させる。したがって、本明細書で説明する実施形態は、コンテキストベースのトリガメカニズムに基づくコンテキストセンシングを提供する。コンテキストベースのトリガメカニズムにより、電力消費の観点で、コンテキストセンシングを効率的に実行することが可能となる。これは、コンテキストベースのトリガメカニズムに関連するトリガ間隔（trigger  interval）に基づいて識別することができる意味のあるコンテキストデータだけをキャプチャすることにより実現され得る。様々な実施形態において、コンピューティングデバイスのユーザ、コンピューティングデバイス若しくはコンピューティングデバイス上で実行される任意の数のコンテキストアウェアアプリケーションのプログラマ若しくは開発者、又はそれらの任意の組合せは、どのコンテキストデータが意味があるかを指定することができる。したがって、意味のあるコンテキストデータは、関心があるものとして指定された任意のコンテキストデータであり得、特定のコンピューティングデバイス又はコンピューティングデバイスの特定の実装に応じて変わり得る。さらに、意味のないコンテキストデータは、関心があるものとして指定されなかった任意のコンテキストデータを含み得る。
【０００６】
本明細書で説明する実施形態はまた、コンテキストセンシングプロシージャを実行するオフロードエンジンを含むコンテキストセンシングシステムを提供する。オフロードエンジンにより、コンテキストセンシングプロシージャを、コンピューティングデバイスのメインプロセッサからコンテキストセンシングシステムにオフロードすることが可能となり、コンピューティングデバイスの電力消費を低減することが可能となる。
【０００７】
以下の説明及び特許請求の範囲において、「結合される（coupled）」及び「接続される（connected）」という用語、並びにそれらの派生語が使用されるかもしれない。これらの用語は、互いに同義語として意図されてはいないことを理解すべきである。むしろ、特定の実施形態において、「接続される」は、２以上の要素が互いに直接的に物理的又は電気的に接触していることを示すために使用され得る。「結合される」は、２以上の要素が直接的に物理的又は電気的に接触していることを意味し得る。しかしながら、「結合される」はまた、２以上の要素が互いに直接的には接触しないが、依然として互いに協働又は相互作用することも意味し得る。
【０００８】
いくつかの実施形態は、ハードウェア、ファームウェア、及びソフトウェアの１つ又はそれらの組合せにより実現され得る。いくつかの実施形態は、マシン読み取り可能な媒体上に記憶された命令として実現され得る。そうした命令は、本明細書で説明する動作を実行するために、コンピューティングプラットフォームにより読み込まれ実行され得る。マシン読み取り可能な媒体は、例えばコンピュータといったマシンにより読み取り可能な形態で情報を記憶又は送信する任意のメカニズムを含み得る。例えば、マシン読み取り可能な媒体は、特に、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、又は、例えば、搬送波、赤外線信号、デジタル信号、若しくは信号を送信及び／又は受信するインタフェースなどの電気的伝搬信号、光学的伝搬信号、音響的伝搬信号、若しくは他の形態の伝搬信号を含み得る。
【０００９】
実施形態は、実装例又は実施例である。本明細書における「１つの実施形態」、「一実施形態」、「いくつかの実施形態」、「様々な実施形態」、又は「他の実施形態」への言及は、実施形態に関連して説明される特定の機能、構造、又は特徴が、本発明の少なくともいくつかの実施形態に含まれることを意味するものであって、本発明の全ての実施形態に必ずしも含まれるものではないことを意味する。「１つの実施形態」、「一実施形態」、又は「いくつかの実施形態」の様々な出現は、必ずしも全てが同一の実施形態を指すものではない。１つの実施形態の要素又は態様は、別の実施形態の要素又は態様と組み合わせることができる。
【００１０】
本明細書で説明し図面に示す全てのコンポーネント、機能、構造、特徴などが、必ずしも特定の実施形態（群）に含まれる必要はない。本明細書が、あるコンポーネント、機能、構造、又は特徴を含め得ることを述べる場合、その特定のコンポーネント、機能、構造、又は特徴を含ませることは要求されない。明細書又は請求項が、単数の要素に言及する場合、それは、その要素が１つだけあることを意味しない。明細書又は請求項が、「追加的な」要素に言及する場合、それは、その追加的な要素が１つよりも多くあることを排除しない。
【００１１】
いくつかの実施形態が特定の実装例に関連して説明されるが、いくつかの実施形態に従った他の実装例も可能であることに留意されたい。さらに、図面に示し且つ／又は本明細書で説明する回路要素又は他の特徴の配置及び／又は順番は、図示され説明される特定の態様で構成される必要はない。いくつかの実施形態に従った多くの他の構成が可能である。
【００１２】
図面に示す各システムにおいて、場合によっては、要素は、表された要素が異なる且つ／又は類似であることを示すために、異なる参照符号又は同一の参照符号を有する場合がある。しかしながら、ある要素は、異なる実装を有し図示又は説明するシステムの一部又は全てと協働するのに十分なほど柔軟であり得る。図面に示す様々な要素は、同一であってもよいし、異なっていてもよい。どの要素を第１の要素と呼び、どの要素を第２の要素と呼ぶかは、任意である。
【００１３】
図１は、実施形態に従った、使用することができるコンピューティングデバイス１００のブロック図である。コンピューティングデバイス１００は、例えば、携帯電話などのモバイルコンピューティングデバイスとすることができる。そのような実施形態において、コンピューティングデバイス１００は、システムオンチップ（ＳＯＣ）として実現され得る。コンピューティングデバイス１００は、特に、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、モバイルデバイス、又はサーバなどの、任意の他の適切なタイプのコンピューティングデバイスであってもよい。コンピューティングデバイス１００は、記憶された命令を実行するよう構成された中央処理装置（ＣＰＵ）１０２と、ＣＰＵ１０２により実行可能な命令を記憶するメモリデバイス１０４とを含み得る。ＣＰＵ１０２は、バス１０６を介してメモリデバイス１０４に接続され得る。さらに、ＣＰＵ１０２は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、又は任意の数の他の構成であってよい。さらに、コンピューティングデバイス１００は、２以上のＣＰＵ１０２を含んでもよい。ＣＰＵ１０２によって実行される命令を使用して、コンピューティングデバイス１００のためのコンテキストセンシングプロシージャを管理することができる。
【００１４】
メモリデバイス１０４は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、フラッシュメモリ、又は任意の他の適切なメモリシステムを含み得る。例えば、メモリデバイス１０４は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）を含み得る。
【００１５】
ＣＰＵ１０２は、バス１０６を介して入力／出力（Ｉ／Ｏ）デバイスインタフェース１０８に接続され得る。Ｉ／Ｏデバイスインタフェース１０８は、コンピューティングデバイス１００を１以上のＩ／Ｏデバイス１１０に接続するよう構成される。Ｉ／Ｏデバイス１１０は、例えば、キーボード及びポインティングデバイスを含み得る。ポインティングデバイスは、特に、タッチパッド又はタッチスクリーンを含み得る。Ｉ／Ｏデバイス１１０は、コンピューティングデバイス１００の内蔵コンポーネントであってもよいし、又は、コンピューティングデバイス１００に外部的に接続されるデバイスであってもよい。
【００１６】
ＣＰＵ１０２はまた、バス１０６を介してディスプレイインタフェース１１２にリンクされ得る。ディスプレイインタフェース１１２は、コンピューティングデバイス１００をディスプレイデバイス１１４に接続するよう構成される。ディスプレイデバイス１１４は、コンピューティングデバイス１００の内蔵コンポーネントであるディスプレイスクリーンを含み得る。ディスプレイデバイス１１４はまた、特に、コンピューティングデバイス１００に外部的に接続されるコンピュータモニタ、テレビジョン、又はプロジェクタを含み得る。
【００１７】
コンピューティングデバイス１００はまた、ネットワークインタフェースコントローラ（ＮＩＣ）１１６を含み得る。ＮＩＣ１１６は、バス１０６を介してコンピューティングデバイス１００をネットワーク１１８に接続するよう構成され得る。ネットワーク１１８は、特に、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、又はインタネットとすることができる。
【００１８】
コンピューティングデバイス１００はまた、１以上のセンサ１２０を含み得る。センサ１２０は、例えば、特に、光センサ、気圧計、近接センサ、磁力計、ジャイロスコープ、加速度計、又はマイクロフォンを含み得る。様々な実施形態において、センサ１２０は、コンピューティングデバイス１００の内蔵コンポーネントである。しかしながら、いくつかの実施形態では、センサ１２０のいくつかは、コンピューティングデバイス１００に外部的に接続されるコンポーネントである。
【００１９】
コンピューティングデバイス１００はまた、ストレージデバイス１２２を含み得る。ストレージデバイス１２２は、ハードドライブ、光ドライブ、サムドライブ、ドライブのアレイ、又はそれらの任意の組合せなどの物理メモリである。ストレージデバイス１２２はまた、リモートストレージドライブを含み得る。ストレージデバイス１２２は、コンピューティングデバイス１００上で実行されるよう構成された、任意の数のコンテキストアウェアアプリケーション１２４を含み得る。
【００２０】
さらに、ストレージデバイス１２２は、センサハブエンジン１２６及びデジタル信号処理（ＤＳＰ）エンジン１２８を含み得る。センサハブエンジン１２６及びＤＳＰエンジン１２８は、コンピューティングデバイス１００のＣＰＵ１０２からコンテキストセンシングプロシージャをオフロードするよう構成され得、以下でさらに説明するように、コンテキストベースのトリガメカニズムに基づくコンテキストセンシングプロシージャを管理するよう構成され得る。コンテキストセンシングプロシージャは、図１に示されるように、センサ１２０をＣＰＵ１０２ではなくセンサハブエンジン１２６に直接的に接続することにより、ＣＰＵ１０２からセンサハブエンジン１２６にオフロードされ得る。さらに、いくつかの実施形態では、センサ１２０のいずれもが、センサハブエンジン１２６ではなく、ＤＳＰエンジン１２８に直接的に接続され得る。
【００２１】
図１のブロック図は、コンピューティングデバイス１００が図１に示されるコンポーネントの全てを含むことを示すよう意図されるものではない。さらに、コンピューティングデバイス１００は、特定の実装の詳細に応じて、図１には示されていない任意の数の追加のコンポーネントを含み得る。
【００２２】
図２は、実施形態に従った、コンテキストセンシングプロシージャを管理するよう構成されているいくつかのオフロードエンジン２０２Ａ〜２０２Ｂを含むシステムオンチップ（ＳＯＣ）２００のブロック図である。ＳＯＣ２００は、図１を参照して説明したコンピューティングデバイス１００などのコンピューティングデバイス内に実装される。様々な実施形態において、コンピューティングデバイスは、モバイルコンピューティングデバイスである。
【００２３】
ＳＯＣ２００は、プロセッサ２０４を含み得る。プロセッサ２０４は、コンテキストセンシングプロシージャの実行中に取得されるコンテキスト情報を、コンピューティングデバイス上で実行されている任意の数のコンテキストアウェアアプリケーション（図示せず）に提供するよう構成される。ＳＯＣ２００はまた、オフロードエンジン２０２Ａ〜２０２Ｂを含み得る。より詳細には、ＳＯＣ２００は、センサハブエンジン２０２Ａ及びＤＳＰエンジン２０２Ｂを含み得る。センサハブエンジン２０２Ａは、図３を参照して説明するように、コンテキストセンシングプロシージャを管理するためのコンテキストベースのトリガメカニズムと、コンテキストセンシングプロシージャ中に取得されるコンテキストデータを分類する複数の分類部とを含み得る。ＳＯＣ２００はまた、ＤＳＰエンジン２０２Ｂを含み得る。ＤＳＰエンジン２０２Ｂは、センサハブエンジン２０２Ａとインタラクトすることができ、オーディオコンテキストセンシングプロシージャの管理を助けることができる。
【００２４】
センサハブエンジン２０２Ａは、例えば、光センサ２０６Ａ、気圧計２０６Ｂ、近接センサ２０６Ｃ、磁力計２０６Ｄ、ジャイロスコープ２０６Ｅ、加速度計２０６Ｆ、及び全地球的航法衛星システム（ＧＮＳＳ）ロケーションセンサ２０６Ｇを含む複数のセンサ２０６Ａ〜２０６Ｇに接続され得る。センサハブエンジン２０２Ａは、Ｉ２Ｃ（inter-integrated  circuit）２０８を介して、光センサ２０６Ａ、気圧計２０６Ｂ、近接センサ２０６Ｃ、磁力計２０６Ｄ、ジャイロスコープ２０６Ｅ、及び加速度計２０６Ｆに接続され得る。センサハブエンジン２０２Ａは、ＵＡＲＴ（universal  asynchronous  receiver/transmitter）２１０を介して、ＧＮＳＳロケーションセンサ２０６Ｇに接続され得る。
【００２５】
ＤＳＰエンジン２０２Ｂは、マイクロフォン２０６Ｈなどのオーディオセンサに間接的に接続され得る。詳細には、マイクロフォン２０６Ｈは、オーディオコーダ／デコーダ（コーデック）２１２に接続され得、オーディオコーデック２１２は、Ｉ２Ｃ２１４及びＳＳＰ（synchronous  serial  port）２１６を介して、ＤＳＰエンジン２０２Ｂに接続され得る。
【００２６】
したがって、様々な実施形態において、センサ２０６Ａ〜２０６Ｈは、プロセッサ２０４に直接的に接続されず、センサハブエンジン２０２Ａ又はＤＳＰエンジン２０２Ｂに接続される。これにより、コンピューティングデバイスにより消費される電力量の低減が可能となる。というのは、コンテキストセンシングプロシージャが、プロセッサ２０４からセンサハブエンジン２０２Ａ及びＤＳＰエンジン２０２Ｂにオフロードされるからである。
【００２７】
センサハブエンジン２０２Ａは、光センサ２０６Ａ、気圧計２０６Ｂ、近接センサ２０６Ｃ、磁力計２０６Ｄ、ジャイロスコープ２０６Ｅ、若しくは加速度計２０６Ｆ、又はそれらの任意の組合せからコンテキストデータを受信することができる。さらに、ＤＳＰエンジン２０２Ｂは、マイクロフォン２０６Ｈからオーディオコンテキストデータを受信することができる。センサハブエンジン２０２Ａ及びＤＳＰエンジン２０２Ｂは、そのようなコンテキストデータを分析して、コンピューティングデバイスに対応するコンテキスト情報を判定することができる。次いで、センサハブエンジン２０２Ａ及びＤＳＰエンジン２０２Ｂは、コンテキスト情報をプロセッサ２０４に送信することができ、プロセッサ２０４は、そのようなコンテキスト情報を要求した任意の数のコンテキストアウェアアプリケーションに、コンテキスト情報を転送することができる。さらに、いくつかの実施形態では、センサハブエンジン２０２Ａ及びＤＳＰエンジン２０２Ｂは、コンテキスト情報をコンテキストアウェアアプリケーションに直接送信することができる。
【００２８】
図２のブロック図は、ＳＯＣ２００が図２に示されるコンポーネントの全てを含むことを示すよう意図されるものではない。さらに、ＳＯＣ２００は、特定の実装の詳細に応じて、図２には示されていない任意の数の追加のコンポーネントを含み得る。
【００２９】
図３は、実施形態に従ったコンテキストセンシングシステム３００のブロック図である。同様の番号が付されたアイテムは、図２を参照して説明したものである。コンテキストセンシングシステム３００は、複数のコンテキストアウェアアプリケーション３０２を含み得る。コンテキストアウェアアプリケーション３０２は、コンピューティングデバイス上で実行され、コンピューティングデバイス又はコンピューティングデバイスの環境に対応するコンテキスト情報を利用するアプリケーションを含み得る。コンテキストアウェアアプリケーション３０２は、常に適切に機能するために、そのようなコンテキスト情報に依拠し得る、又は、そのようなコンテキスト情報を、例えば、定期的に要求し得る。
【００３０】
コンテキストセンシングシステム３００はまた、コンテキストフレームワーク３０４を含み得る。コンテキストフレームワーク３０４は、コンテキストセンシングプロシージャに含まれるべきコンテキストアウェアアプリケーション３０２を判定するよう構成され得る。詳細には、コンテキストフレームワーク３０４は、どのアプリケーションが、コンテキスト情報、及び各コンテキストアウェアアプリケーション３０２により受信され得るコンテキスト情報のタイプを受信することを許可されるべきであるかを指定することができる。コンテキストフレームワーク３０４はまた、以下でさらに説明するように、コンテキストセンシングプロシージャ中に使用され得るプラグインのタイプを指定することもできる。
【００３１】
さらに、コンテキストフレームワーク３０４は、コンテキスト情報の履歴のデータベースを含み得る。コンテキスト情報の履歴は、コンテキストの変化又は以前のコンテキストの変化に基づくコンピューティングデバイスの環境の変化を判定するために、コンテキストセンシングプロシージャで使用され得る。例えば、コンテキスト情報の履歴は、加速度計２０６Ｆを介して取得される、ユーザが座ったことを示す物理的アクティビティデータを含み得る。さらに、他のセンサからの情報が、ユーザの位置を判定するために、物理的アクティビティデータとともに使用され得る。
【００３２】
様々な実施形態において、コンテキストセンシングシステム３００は、コンテキストフュージョンミドルウェア（context  fusion  middleware）３０６を含む。コンテキストフュージョンミドルウェア３０６は、センサ２０６Ａ〜２０６Ｈを介して取得されるコンテキスト情報の全てを結合することができる。次いで、コンテキストフュージョンミドルウェア３０６は、以下でさらに説明するように、結合されたコンテキスト情報に基づいて、コンテキストベースのトリガメカニズムのための適切なトリガ間隔を決定することができる。さらに、コンテキストフュージョンミドルウェア３０６は、記憶するために且つ／又はいずれかのコンテキストアウェアアプリケーション３０２に送信するために、結合されたコンテキスト情報をコンテキストフレームワーク３０４に送信することができる。
【００３３】
コンテキストセンシングシステム３００はまた、複数のコンテキストソース３０８を含む。コンテキストソース３０８は、センサ２０６Ａ〜２０６Ｈを介してセンサハブエンジン２０２Ａ及びＤＳＰエンジン２０２Ｂから取得されるセンサ情報を収集するよう構成されているプラグインを含む。例えば、コンテキストソース３０８は、ＤＳＰエンジン２０２Ｂからオーディオコンテキスト情報を収集するよう構成されているオーディオ分類コンテキストプラグイン３１０Ａを含み得る。さらに、コンテキストソース３０８は、センサハブエンジン２０２Ａから、物理的アクティビティコンテキスト情報、ターミナルコンテキスト情報、及びジェスチャ認識コンテキスト情報をそれぞれ収集するよう構成されている物理的アクティビティコンテキストプラグイン３１０Ｂ、ターミナルコンテキストプラグイン３１０Ｃ、及びジェスチャ認識コンテキストプラグイン３１０Ｄを含み得る。
【００３４】
物理的アクティビティコンテキスト情報は、任意の物理的アクティビティのコンテキストを判定するために使用することができる、センサ２０６Ａ〜２０６Ｇからのコンテキストデータを含む。したがって、加速度計２０６Ｆは、物理的加速を判定するために使用され得るのに対し、ジャイロスコープ２０６Ｅは、コンピューティングデバイスの向きを判定するために使用され得る。さらに、近接センサ２０６Ｃは、デバイスの他の物体に対する物理的近接さを判定するために使用され得る。
【００３５】
ターミナルコンテキスト情報は、デバイスのステータスに関する情報を含む。デバイスのステータスに関する情報としては、例えば、デバイスが上向きであるか、下向きであるか、デバイスの縦方向が上を向いているか、下を向いているか、デバイスの横方向が上を向いているか、下を向いているか、などである。いくつかの実施形態では、ターミナルコンテキスト情報は、３軸加速度データを用いて検出される。さらに、ジェスチャ認識コンテキスト情報は、モーションジェスチャを含む。例えば、デバイスの左／右／上／下の１回のフリック及び左／右の２回のフリックのモーションジェスチャを使用して、例えば、メディア再生、スライドショー、又はデバイスアンロックなどの、所定のアプリケーションの挙動を制御することができる。さらに、電話に出るため及び電話を切るために、イアータッチ（ear  touch）又はイアータッチバック（ear  touch  back）のモーションジェスチャを使用することができる。いくつかの実施形態では、ジェスチャ認識情報は、加速度計及び／又はジャイロスコープセンサデータを用いて検出される。
【００３６】
いくつかの実施形態において、物理的アクティビティコンテキストプラグイン３１０Ｂ、ターミナルコンテキストプラグイン３１０Ｃ、及びジェスチャ認識コンテキストプラグイン３１０Ｄは、センサハブデーモン３１２を介してセンサハブエンジン２０２Ａに接続される。センサハブデーモン３１２は、物理的アクティビティコンテキストプラグイン３１０Ｂ、ターミナルコンテキストプラグイン３１０Ｃ、及びジェスチャ認識コンテキストプラグイン３１０Ｄから受信されるコンテキスト情報の複数の同時要求を処理し管理するよう構成され得る。様々な実施形態において、センサハブデーモン３１２は、コンテキストセンシングプロシージャに関する情報をコンピューティングデバイスのメインプロセッサに報告するよう構成される。
【００３７】
センサハブエンジン２０２Ａは、センサハブファームウェア３１４、センサドライバ３１６、及びリアルタイムオペレーティングシステム（ＲＴＯＳ）カーネル３１８などの複数のコンポーネントを含み得る。センサハブエンジン２０２Ａはまた、コンテキストセンシングプロシージャを実装するための複数のコンポーネントを含み得る。例えば、センサハブエンジン２０２Ａは、共通コンテキストソーストリガ３２０を含み得る。共通コンテキストソーストリガ３２０は、センサ２０６Ａ〜２０６Ｇのいずれかのサンプリングレートを設定するよう構成され得る。さらに、共通コンテキストソーストリガ３２０は、特定のトリガポイントにおいて、又は特定のトリガ間隔で、コンテキストデータを複数の分類部３２２Ａ〜３２２Ｃに送信することができる。特定のトリガポイントは、センサ２０６Ａ〜２０６Ｇを介して取得されたセンサデータが予め定められた閾値を超えたときに、生じ得る。共通コンテキストソーストリガ３２０は、分類部３２２Ａ〜３２２Ｃ内でのコンテキストセンシングアルゴリズムの前処理及びトリガリングを提供することができる。
【００３８】
分類部３２２Ａ〜３２２Ｃは、物理的アクティビティコンテキスト分類部３２２Ａ、ターミナルコンテキスト分類部３２２Ｂ、及びジェスチャ認識コンテキスト分類部３２２Ｃを含む。各分類部３２２Ａ〜３２２Ｃは、センサ２０６Ａ〜２０６Ｇの１以上に対応するコンテキストセンシングアルゴリズムを実行するよう構成され得る。したがって、各コンテキストアルゴリズムは、センサ２０６Ａ〜２０６Ｇの任意の組合せからのコンテキストデータを分析することができる。例えば、物理的アクティビティコンテキスト分類部３２２Ａは、加速度計２０６Ｆを介して取得されるコンテキストデータを分析するコンテキストセンシングアルゴリズムを実行するよう構成され得る。別の例として、ジェスチャ認識コンテキスト分類部３２２Ｃは、加速度計２０６Ｆ及びジャイロスコープ２０６Ｅを介して取得されるコンテキストデータを分析するコンテキストセンシングアルゴリズムを実行するよう構成され得る。そのようなコンテキストデータの分析に基づいて、分類部３２２Ａ〜３２２Ｃは、コンピューティングデバイスに関するコンテキスト情報を判定することができる。次いで、判定されたコンテキスト情報は、対応するプラグイン３１０Ｂ〜３１０Ｄに送信され得る。
【００３９】
様々な実施形態において、センサハブエンジン２０２Ａはまた、オーディオコンテキストソーストリガ３２４を含む。オーディオコンテキストソーストリガ３２４は、オーディオコンテキストセンシングアルゴリズムの前処理及びトリガリングを提供することができる。オーディオコンテキストソーストリガ３２４は、トリガレベルテーブルを含み得る。トリガレベルテーブルは、オーディオコンテキストセンシングプロシージャに関するトリガポイント又はトリガ間隔を決定するために使用され得る。トリガポイントは、例えば、オーディオ分類結果の履歴、コンピューティングデバイスを保持する人の物理的アクティビティの結果、現在時刻、コンピューティングデバイスの位置、コンピューティングデバイスの速度、及び／又はコンピューティングデバイスのバッテリレベルに基づいて決定され得る。さらに、オーディオコンテキストソーストリガ３２４は、物理的アクティビティコンテキスト分類部３２２Ａ、ターミナルコンテキスト分類部３２２Ｂ、若しくはジェスチャ認識コンテキスト分類部３２２Ｃ、又はそれらの任意の組合せにより判定されるコンテキスト情報に依拠し得る。オーディオコンテキストソーストリガ３２４はまた、変化する条件に基づくトリガポイントの調整を可能にするフィードバックメカニズムを含み得る。
【００４０】
センサハブエンジン２０２Ａのオーディオコンテキストソーストリガ３２４は、プロセス間通信（ＩＰＣ：inter-process  communication）３２８を介して、ＤＳＰエンジン２０２Ｂのオーディオコンテキスト分類部３２６と通信することができる。オーディオコンテキストソーストリガ３２４から受信されるトリガに基づいて、オーディオコンテキスト分類部３２６は、マイクロフォン２０６Ｈから取得されるオーディオコンテキストデータを分析するコンテキストセンシングアルゴリズムを実行するよう構成され得る。オーディオコンテキスト分類部３２６は、例えば、オーディオコンテキストソーストリガ３２４からの入力に応答して、コンテキストセンシングアルゴリズムを開始することができる。そのようなオーディオコンテキストデータの分析に基づいて、オーディオコンテキスト分類部３２６は、コンピューティングデバイスに関するオーディオコンテキスト情報を判定することができる。例えば、オーディオコンテキスト分類部３２６は、キャプチャされたオーディオパルス符号変調（ＰＣＭ）データを使用して、コンピューティングデバイスの環境内における会話、音楽、雑踏音、静寂、機械音、又は動き音などのコンピューティングデバイスのオーディオコンテキストを分類することができる。次いで、判定されたオーディオコンテキスト情報は、オーディオ分類コンテキストプラグイン３１０Ａに送信され得る。
【００４１】
いくつかの実施形態において、ＤＳＰエンジン２０２Ｂはまた、ＤＳＰファームウェア３３０、再生インタフェース３３２、及び記録インタフェース３３４などの複数のコンポーネントを含む。しかしながら、いくつかのケースでは、再生インタフェース３３２は、ＤＳＰエンジン２０２Ｂに含まれない場合がある。
【００４２】
さらに、いくつかの実施形態において、物理的アクティビティコンテキスト分類部３２２Ａ、ターミナルコンテキスト分類部３２２Ｂ、ジェスチャ認識コンテキスト分類部３２２Ｃ、及びオーディオコンテキスト分類部３２６は、意味のあるコンテキストデータを意味のないコンテキストデータと区別するよう構成される。分類部３２２Ａ〜３２２Ｃ及び３２６は、次いで、意味のないコンテキストデータを破棄し、意味のあるコンテキストデータのみに基づいて、コンピューティングデバイスのためのコンテキスト情報を判定することができる。
【００４３】
図３のブロック図は、コンテキストセンシングシステム３００が図３に示されるコンポーネントの全てを含むことを示すよう意図されるものではない。さらに、コンテキストセンシングシステム３００は、特定の実装の詳細に応じて、図３には示されていない任意の数の追加のコンポーネントを含み得る。コンテキストセンシングシステム３００はまた、異なる構成を含み得る。例えば、マイクロフォン２０６Ｈは、ＤＳＰエンジン２０２Ｂと直接的に通信してもよい。
【００４４】
いくつかの実施形態では、共通コンテキストソーストリガ３２０は、以下に示すロジックに従って動作する。
【００４５】
【表１】
2015506047.tif 000003
さらに、いくつかの実施形態では、オーディオコンテキストソーストリガ３２４は、以下に示すロジックに従って動作する。
【００４６】
【表２】
2015506047.tif 000004
しかしながら、共通コンテキストソーストリガ３２０及びオーディオコンテキストソーストリガ３２４は、特定の実装の詳細に応じて、任意の数の上記ロジックの変形例に従って動作してもよいことを理解されたい。
【００４７】
図４は、実施形態に従った、コンピューティングデバイスのためのコンテキストセンシングを提供する方法４００を示すプロセスフロー図である。方法４００は、コンテキスト及び／又はコンピューティングデバイスの環境の判定を提供することができ、コンピューティングデバイス上で実行されている任意の数のコンテキストアウェアアプリケーションにより要求され得る。様々な実施形態において、方法４００は、図１を参照して説明したコンピューティングデバイス１００などのコンピューティングデバイス内に実装される。方法４００は、図３を参照して説明したコンテキストセンシングシステム３００などのコンテキストセンシングシステムを含むコンピューティングデバイス内に実装されてもよい。
【００４８】
方法は、ブロック４０２で開始する。ブロック４０２において、複数のセンサを介して取得されたセンサデータが閾値を超えるかどうかが判定される。閾値は、上述したように、予め定められたものであってよい。センサデータが閾値を超えた場合、特定のトリガポイントが、以下でさらに説明するように、特定の実装の詳細に従って調整され得る。センサは、例えば、光センサ、気圧計、近接センサ、磁力計、ジャイロスコープ、加速度計、又はマイクロフォンなどのオーディオセンサを含み得る。
【００４９】
ブロック４０４において、センサデータが閾値を超えた場合、コンピューティングデバイスに対応するコンテキストデータを取得するために、センサのサンプリングレートが増大される。コンテキストデータは、センサのサンプリングレートが低減される前に、特定の時間期間収集され得る。コンテキストデータを収集するための時間期間は、少なくとも、コンピューティングデバイスの電力レベル及び電力消費に部分的に基づいて調整され得る。
【００５０】
いくつかの実施形態では、複数の共通コンテキストセンサから取得されたセンサデータが閾値を超えたときに、複数の共通コンテキストセンサのサンプリングレートが、コンテキストセンシングシステムの共通コンテキストソーストリガを介して増大される。さらに、いくつかの実施形態では、オーディオセンサから取得されたセンサデータが閾値を超えたときに、オーディオセンサのサンプリングレートが、コンテキストセンシングシステムのオーディオ分類トリガを介して増大される。
【００５１】
様々な実施形態において、コンピューティングデバイスのセンサは、非常に低い電力状態で継続的に動作することができる。例えば、マイクロフォンは、トリガ間隔により指定される閾値を超えるノイズが記録されるまで、オーディオセンサデータを定期的に収集することができ、マイクロフォンのサンプリングレートは、トリガ間隔により指定される閾値を超えるノイズが記録されるポイントで増大される。
【００５２】
ブロック４０６において、コンテキストデータは、コンピューティングデバイスのコンテキストを分類するために分析される、あるいは、コンピューティングデバイスに関連するコンテキスト情報を判定するために分析される。コンテキストは、コンピューティングデバイスのプロセッサに提供することができ、プロセッサは、複数のコンテキストアウェアアプリケーションのいずれかにコンテキストを送信することができる。さらに、コンテキストデータは、コンピューティングデバイスの環境の変化を判定するために分析され得、プロセッサには、その環境の変化が通知され得る。いくつかの実施形態において、プロセッサは、コンテキスト又はコンピューティングデバイスの環境に基づく、任意の数の適切なアクションを実行することができる。
【００５３】
様々な実施形態において、コンテキストデータは、意味のあるコンテキストデータ及び意味のないコンテキストデータを判定するために分析される。意味のあるコンテキストデータは、関心があるものとして指定された任意のコンテキストデータであり得、上述したように、特定のコンピューティングデバイス又はコンピューティングデバイスの特定の実装に応じて変わり得る。関心があるものとして指定されなかったコンテキストデータは、意味のないコンテキストデータとして識別され得る。意味のないコンテキストデータは、破棄され得、意味のあるコンテキストデータだけが、コンピューティングデバイスのコンテキストを分類するために分析され得る。
【００５４】
さらに、様々な実施形態において、センサから取得された全てのコンテキストデータを結合するために、フュージョンアルゴリズム（fusion  algorithm）が使用され得る。次いで、コンテキストセンシングプロシージャに関する適切なトリガポイント又は適切なトリガ間隔を決定するために、結合されたコンテキストデータが分析され得る。決定されたトリガ間隔は、センサのサンプリングレートを増大するための特定の閾値に対応し得る。いくつかの実施形態では、トリガ間隔を決定する場合において、コンピューティングデバイスの電力消費が考慮され得る。例えば、コンピューティングデバイスの電力消費が特定の閾値を超える場合、トリガレベル、したがって閾値が増大され得る。これにより、コンピューティングデバイスの電力消費の低減が可能となる。というのは、センサのサンプリングレートは、頻繁に増大されないからである。さらに、いくつかの実施形態では、コンピューティングデバイスの電力レベルが特定の下限閾値以下に低下する場合、センサのサンプリングレートは低減され得、コンテキストセンシングプロシージャは、電力を節約するために一時的に無効にされ得る。
【００５５】
さらに、いくつかの実施形態では、トリガ間隔は、コンピューティングデバイスのコンテキストに基づいて調整され得る。例えば、コンピューティングデバイスが動いている乗り物の中に存在すると判定された場合、マイクロフォンが非常に騒々しいノイズによってのみアクティブ化されるように、トリガ間隔、したがってオーディオコンテキストデータを取得するための閾値は、増大され得る。
【００５６】
図４のプロセスフロー図は、方法４００のブロックが特定の順番で実行されることを示すよう、又は全てのブロックが全ての場合に含まれることを示すよう意図されるものではない。さらに、任意の数の追加のブロックが、特定の実装の詳細に応じて、方法４００に含まれてよい。
【００５７】
図５は、実施形態に従った、コンテキストセンシングのためのコードを記憶する有体の非トランジトリなコンピュータ読み取り可能な媒体５００を示すブロック図である。有体の非トランジトリなコンピュータ読み取り可能な媒体５００は、コンピュータバス５０４を介してプロセッサ５０２によりアクセスすることができる。さらに、有体の非トランジトリなコンピュータ読み取り可能な媒体５００は、プロセッサ５０２に本明細書で説明した技術を実行するよう命令するように構成されたコードを含み得る。
【００５８】
本明細書で説明した様々なソフトウェアコンポーネントは、図５に示される有体の非トランジトリなコンピュータ読み取り可能な媒体５００に記憶することができる。例えば、コンテキストセンシングトリガモジュール５０６は、任意の数のセンサから取得されるセンサデータが特定のトリガ間隔に基づいて定められる閾値を超えるかどうかを判定するよう構成され得る。センサデータが閾値を超えた場合、コンテキストセンシングトリガモジュール５０６は、コンテキストデータを取得するために、センサのサンプリングレートを増大するよう構成され得る。コンテキストセンシング分類モジュール５０８は、コンテキストデータにより表されるコンテキストを分類するために、センサから取得されたコンテキストデータを分析するよう構成され得る。さらに、コンテキストフュージョンモジュール５１０は、コンテキストセンシングトリガモジュール５０６のためのトリガ間隔及び対応する閾値を決定するために、任意の数のセンサから取得されたコンテキストデータを分析するよう構成され得る。
【００５９】
図５のブロック図は、有体の非トランジトリなコンピュータ読み取り可能な媒体５００が図５に示されるコンポーネントの全てを含むことを示すよう意図されるものではない。さらに、有体の非トランジトリなコンピュータ読み取り可能な媒体５００は、特定の実装の詳細に応じて、図５には示されていない任意の数の追加のコンポーネントを含み得る。
【００６０】
例１
ここで、コンテキストセンシングのための方法について説明する。この方法は、複数のセンサを介して取得されたセンサデータが予め定められた閾値を超えるかどうかを判定するステップと、センサデータが閾値を超えた場合、コンピューティングデバイスに対応するコンテキストデータを取得するために、複数のセンサのいずれかのサンプリングレートを増大するステップと、を含む。この方法はまた、コンピューティングデバイスのコンテキストを分類するために、コンテキストデータを分析するステップを含む。
【００６１】
この方法は、コンテキストをコンピューティングデバイスのプロセッサに提供するステップを含んでもよく、プロセッサは、コンテキストを複数のコンテキストアウェアアプリケーションのいずれかに送信するよう構成されている。この方法はまた、コンピューティングデバイスの環境の変化を判定するために、コンテキストデータを分析するステップと、コンピューティングデバイスのプロセッサに、環境の変化を通知するステップと、を含んでもよい。さらに、この方法は、意味のあるコンテキストデータ及び意味のないコンテキストデータを判定するために、コンテキストデータを分析するステップと、意味のないコンテキストデータを破棄するステップと、コンピューティングデバイスのコンテキストを分類するために、意味のあるコンテキストデータを分析するステップと、を含んでもよい。
【００６２】
この方法はまた、複数のセンサを介して取得されたコンテキストデータを結合するステップと、閾値を決定するために、結合されたコンテキストデータを分析するステップと、を含んでもよい。この方法はまた、コンピューティングデバイスの電力レベルを判定するステップと、電力レベルが特定の下限閾値を下回る場合、複数のセンサのサンプリングレートを低減するステップと、を含んでもよい。いくつかの実施形態において、この方法は、複数の共通コンテキストセンサから取得されたセンサデータが閾値を超えた場合、コンテキストセンシングシステムの共通コンテキストソーストリガを介して、複数の共通コンテキストセンサのサンプリングレートを増大するステップを含む。さらに、いくつかの実施形態において、この方法は、オーディオセンサから取得されたセンサデータが閾値を超えた場合、コンテキストセンシングシステムのオーディオ分類トリガを介して、オーディオセンサのサンプリングレートを増大するステップを含む。
【００６３】
例２
ここで、コンピューティングデバイスについて説明する。このコンピューティングデバイスは、コンテキストセンシングシステムを含み、コンテキストセンシングシステムは、複数のセンサを介して取得されたセンサデータが閾値を超えた場合、複数のセンサのサンプリングレートを増大し、複数のセンサを介して、コンピューティングデバイスに対応するコンテキストデータを取得するよう構成されている。コンテキストセンシングシステムはまた、コンピューティングデバイスに対応するコンテキスト情報を判定するために、コンテキストデータを分析し、コンテキスト情報をコンピューティングデバイスの中央処理装置（ＣＰＵ）に送信するよう構成されている。ＣＰＵは、コンテキストセンシングシステムからコンテキスト情報を受信し、コンテキスト情報をコンテキストアウェアアプリケーションに送信するよう構成されている。
【００６４】
コンテキストセンシングシステムはまた、コンピューティングデバイスの環境の変化を判定するために、コンテキストデータを分析し、ＣＰＵに環境の変化を通知するよう構成されてもよい。複数の共通コンテキストセンサから取得されたセンサデータが閾値を超えた場合、コンテキストセンシングシステムの共通コンテキストソーストリガは、複数の共通コンテキストセンサのサンプリングレートを増大するよう構成されてもよい。オーディオコンテキストセンサから取得されたセンサデータが閾値を超えた場合、コンテキストセンシングシステムのオーディオ分類トリガは、オーディオコンテキストセンサのサンプリングレートを増大するよう構成されてもよい。
【００６５】
いくつかの実施形態において、コンテキストセンシングシステムは、複数のセンサからのコンテキストデータを結合し、複数のセンサのサンプリングレートを増大するための閾値を決定するために、結合されたコンテキストデータを分析するよう構成されている。さらに、いくつかの実施形態において、コンテキストセンシングシステムは、意味のあるコンテキストデータ及び意味のないコンテキストデータを判定するために、コンテキストデータを分析し、意味のないコンテキストデータを破棄し、コンピューティングデバイスに対応するコンテキスト情報を判定するために、意味のあるコンテキストデータを分析するよう構成されている。
【００６６】
コンテキストセンシングシステムは、コンピューティングデバイスの電力レベルを判定し、電力レベルが特定の下限閾値を下回る場合、複数のセンサのサンプリングレートを低減するよう構成されてもよい。コンテキストセンシングシステムはまた、コンピューティングデバイスの電力消費に基づいて閾値を決定し、電力消費が特定の上限閾値を超えた場合、閾値を増大するよう構成されてもよい。さらに、コンテキストセンシングシステムは、コンテキストアウェアアプリケーションから、ＣＰＵを介して、コンテキスト情報の要求を受信し、コンテキスト情報を判定し、コンテキスト情報をＣＰＵに返すよう構成されてもよい。ＣＰＵは、コンテキスト情報をコンテキストアウェアアプリケーションに送信するよう構成されている。
【００６７】
例３
ここで、少なくとも１つのマシン読み取り可能な媒体について説明する。この少なくとも１つのマシン読み取り可能な媒体は、命令を記憶しており、命令がコンピューティングデバイス上で実行されたことに応答して、命令はコンピューティングデバイスに、複数のセンサを介して取得されたセンサデータが閾値を超えた場合、複数のセンサのサンプリングレートを増大させ、複数のセンサを介して、コンピューティングに対応するコンテキストデータを取得させ、コンピューティングデバイスのコンテキストを分類するために、コンテキストデータを分析させる。
【００６８】
命令はまた、コンピューティングデバイスに、コンテキストをコンピューティングデバイスの中央処理装置（ＣＰＵ）に送信させ、ＣＰＵは、コンテキストをＣＰＵ上で実行されている複数のコンテキストアウェアアプリケーションのいずれかに送信するよう構成されている。さらに、いくつかの実施形態において、閾値は、コンピューティングデバイスの電力消費に基づいて決定され、コンピューティングデバイスの電力消費が特定の上限閾値を超えた場合、閾値が増大される。
【００６９】
前述の例における詳細は、１以上の実施形態のいずれかで使用され得ることを理解されたい。例えば、上述したコンピューティングデバイスの全ての任意的な特徴が、本明細書で説明した方法又はコンピュータ読み取り可能な媒体にいずれかに関連して実施されてもよい。さらに、実施形態を説明するために、本明細書においてフロー図及び／又は状態図が使用されたかもしれないが、本発明は、それらの図又は本明細書における対応する説明に限定されるものではない。例えば、フローは、図示した各ボックス又は各状態を必ずしも通る必要はなく、図示し説明した順番と全く同じ順番で移動する必要はない。
【００７０】
本発明は、本明細書に記載された特定の詳細に限定されるものではない。実際、本開示の恩恵を受ける当業者は、前述の記載及び図面からの多くの他の変形が本発明の範囲内でなされ得ることを理解されよう。したがって、本発明の範囲を定めるのは、任意の補正を含む請求項である。
【図１】
2015506047.tif 000005
【図２】
2015506047.tif 000006
【図３】
2015506047.tif 000007
【図４】
2015506047.tif 000008
【図５】
2015506047.tif 000009
【国際調査報告】
2015506047.tif 000010
2015506047.tif 000011