(58)【調査した分野】(Int.Cl.,DB名)
前記使用決定工程は、前記コンピューティング・デバイスが、前記射影を前記コンピューティング・デバイスの前記差し迫った使用に対応する射影と比較する工程を含む、請求項1に記載の方法。
前記センサのうちの1または複数はタッチ・センサであり、前記タッチ・センサのうちの少なくとも1つは側面上に位置し、前記タッチ・センサのうちの少なくとも1つはモバイル・コンピューティング・デバイスの底面上に位置する、請求項1に記載の方法。
前記センサのうちの1または複数はタッチ・センサであり、前記タッチ・センサのうちの少なくとも1つは側面に沿って位置し、前記タッチ・センサのうちの少なくとも1つは前記側面の一部およびモバイル・コンピューティング・デバイスの底面の一部に沿って位置する、請求項1に記載の方法。
前記センサのうちの1または複数はタッチ・センサであり、前記タッチ・センサのうちの少なくとも1つは側面上に位置し、前記タッチ・センサのうちの少なくとも1つはモバイル・コンピューティング・デバイスの底面上に位置する、請求項8に記載の媒体。
前記センサのうちの1または複数はタッチ・センサであり、前記タッチ・センサのうちの少なくとも1つは側面に沿って位置し、前記タッチ・センサのうちの少なくとも1つは前記側面の一部およびモバイル・コンピューティング・デバイスの底面の一部に沿って位置する、請求項8に記載の媒体。
【発明を実施するための形態】
【0004】
特定の実施形態において、タッチ・センサは、デバイスの手把持を検出するために、特定のロケーションに位置付けられ得る。例えば、デバイスの側面上のタッチ・センサは、そのような検出のために使用され得る。こうしたタッチ・センサは、テーブルまたは他の面などの、手ではない何かとデバイスが接触している場合を検出することができる特定のロケーションにタッチ・センサを配置することによって強化され得る。ある実施形態における第1のタッチ・センサは、デバイスの一側面上のみにおいて、そのデバイスの2つの面(例えば、側面+背面)を覆っている第2のタッチ・センサの非常に近くに含まれてもよく、それによって、デバイスは、第1のタッチ・センサからの測定値を使用し、第2のタッチ・センサの背面成分を減算して、デバイスの側面との接触に関連する入力を分離し得る。
【0005】
いったん通信デバイスが手把持をより正確に検出し得るようになると、そのデバイスは、ユーザによるデバイスの使用が差し迫っていることを推測し、したがって、デバイス上のアプリケーションおよび/またはデータを最新にするために、データをダウンロードおよび/またはアップロードするための任意のプロセスを開始することが可能になり得る。
【0006】
図1は、例示的なモバイル・コンピューティング・デバイスを例示する。特定の実施形態において、クライアント・システムは、前述されたようなモバイル・コンピューティング・デバイス10であり得る。本開示は、任意の適切な物理的形態をとるモバイル・コンピューティング・デバイス10を企図する。特定の実施形態において、モバイル・コンピューティング・デバイス10は、後述されるようなコンピューティング・システムであり得る。限定ではなく例として、モバイル・コンピューティング・デバイス10は、シングルボード・コンピュータ・システム(SBC:single−board computer system)(例えば、コンピュータ・オン・モジュール(COM:computer−on−module)もしくはシステム・オン・モジュール(SOM:system−on−module)など)、ラップトップ・コンピュータ・システムもしくはノートブック・コンピュータ・システム、携帯電話、スマートフォン、携帯情報端末(PDA:personal digital assistant)、タブレット・コンピュータ・システム、または、これらのうちの2つ以上の組合せであり得る。特定の実施形態において、モバイル・コンピューティング・デバイス10は、入力コンポーネントとして一次タッチ・センサ12を有し得る。容量タッチ・センサの場合においては、3つのタイプの電極、すなわち、送信、受信、およびローディングがあり得る。これらの電極は、電気パルスを用いて送信電極を駆動するように設計されたコントローラに接続され得る。
図1の例において、タッチ・センサ12は、モバイル・コンピューティング・デバイス10の前面上に組み込まれている。
図1の例において、1または複数の二次タッチ・センサ14A〜14Dは、モバイル・コンピューティング・デバイス10の1または複数の面内に組み込まれ得る。特定の実施形態において、1または複数の二次タッチ・センサ14A〜14Dは、モバイル・コンピューティング・デバイス10の複数の面の一部、例えば、側面または底面の一部などに対するカバレッジを有し得る。後述されるように、モバイル・コンピューティング・デバイス10に関連付けられているユーザの意図は、1もしくは複数のタッチ・センサ12および14A〜14D、またはセンサ・タイプの任意の組合せによって検出されるセンサ・データにおける遷移を通じて推定され得る。
【0007】
モバイル・コンピューティング・デバイス10は、イーサネット(登録商標)もしくは他の有線ベースのネットワークもしくは無線NIC(WNIC:wireless NIC)と通信するための通信コンポーネント、無線ネットワーク、例えば、WI−FIネットワークなどと通信するための無線アダプタ、またはセルラネットワーク、例えば、第3世代モバイル通信(3G)ネットワークもしくはロング・ターム・エボリューション(LTE:Long Term Evolution)ネットワークなどと通信するためのモデムを含み得る。本開示は、任意の適切なネットワークと、そのための任意の適切な通信コンポーネントとを企図する。限定ではなく例として、モバイル・コンピューティング・デバイス10は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN:personal area network)、ローカル・エリア・ネットワーク(LAN:local area network)、広域ネットワーク(WAN:wide area network)、メトロポリタン・エリア・ネットワーク(MAN:metropolitan area network)、もしくはインターネット、または、これらのうちの2つ以上の組合せの1もしくは複数の部分と通信し得る。これらのネットワークのうちの1または複数の1または複数の部分は、有線でも、無線でもよい。別の例として、モバイル・コンピューティング・デバイス10は、無線PAN(WPAN:wireless PAN)(例えば、BLUETOOTH(登録商標)WPANなど)、WI−FIネットワーク、WI−MAXネットワーク、セルラ電話ネットワーク(
例えば、汎ヨーロッパ・デジタル移動通信システム(GSM(登録商標):Global
System for Mobile Communications)ネットワーク、3Gネットワーク、もしくはLTEネットワークなど)、もしくは他の適切な無線ネットワーク、または、これらのうちの2つ以上の組合せと通信し得る。モバイル・コンピューティング・デバイス10は、適当な場合には、これらのネットワークのうちの任意のものについての任意の適切な通信コンポーネントを含み得る。
【0008】
特定の実施形態において、モバイル・コンピューティング・デバイス10は、複数の動作状態を有し得る。限定ではなく例として、モバイル・コンピューティング・デバイス10が、そのユーザによってある期間(例えば、数秒間)使用されていなかった場合、モバイル・コンピューティング・デバイス10は、電力節約状態に入り得る。電力節約状態において、モバイル・コンピューティング・デバイス10は、エネルギーを節約し、バッテリ寿命を延ばすために、より低い電力レベルで動作し得る。モバイル・コンピューティング・デバイス10のディスプレイは、薄暗くなるか、またはパワー・ダウンさせられ得る。いかなるときでも、モバイル・コンピューティング・デバイス10は、例えば、ユーザが現在、モバイル・コンピューティング・デバイス10を使用中であるか否か、モバイル・コンピューティング・デバイス10の直近の使用から経過した時間、モバイル・コンピューティング・デバイス10の物理的環境(例えば、携帯用ケース、ポケット、または引き出しの中)に応じて、任意の適切な動作状態にあり得る。
【0009】
特定の実施形態において、モバイル・コンピューティング・デバイス10のアプリケーション・プロセッサによって実行されるアプリケーションは、ユーザに対して所定の期間内に具体的なアクションを実行するように促して、機械学習アルゴリズム、例えば、サポート・ベクトル・マシン(SVM:support vector machine)、ニューラル・ネットワーク、確率伝搬法、またはk平均アルゴリズムなどのためのトレーニング・データとして機能し得るセンサ・データを提供し得る。限定ではなく例として、ユーザは、アプリケーションに対して、特定のアクション、例えば、自転車に乗ること、モバイル・コンピューティング・デバイス10をポケットに入れて座ること、またはモバイル・コンピューティング・デバイス10をポケットから取り出すことなどが実行されていることを示し得、トレーニング・アプリケーションは、1または複数のタイプのセンサを通じて、特定のアクションに対応するセンサ・データを記録し得る。特定の実施形態において、アクションの各々は、モバイル・コンピューティング・デバイス10に関連付けられている複数の状態、例えば、モバイル・コンピューティング・デバイス10と物理的接触することに関連付けられているアクション、またはモバイル・コンピューティング・デバイス10との物理的接触に関連付けられていないアクションなどのうちの特定の1つに分類され得る。
【0010】
限定ではなく例として、モバイル・コンピューティング・デバイス10は、センサ・データを、測定値の配列および各アクションに関連付けられている特定の状態に対応する状態値として送り得る。例えば、トレーニング・データは、モバイル・コンピューティング・デバイス10の1または複数のタッチ・センサからの容量値の配列であり得る。別の例として、トレーニング・データは、特定のアクションが実行されている間に加速度計によって測定された加速度を含み得る。前述されたように、トレーニング・データは、特定のアクションをモバイル・コンピューティング・デバイス10の特定の状態、例えば、モバイル・コンピューティング・デバイス10との物理的な接触などに関連付けるインジケータ情報も含み得る。限定ではなく例として、「0」は、ある面、例えば、テーブル上に置かれているモバイル・コンピューティング・デバイス10を表す状態に割り当てられ得る。別の例として、「1」は、モバイル・コンピューティング・デバイス10と物理的に接触していること、例えば、テーブルから拾い上げることなどを表す状態に割り当てられる。本開示は、モバイル・コンピューティング・デバイスに関連付けられている特定の数の
特定の状態についてトレーニング・データを収集することを説明するが、本開示は、任意の適切なコンピューティング・デバイスに関連付けられている任意の適切な数の状態についてトレーニング・データを収集することを企図する。
【0011】
特定の実施形態において、リアルタイム・センサ・データは、リアルタイム・センサ・データとトレーニング・データとを比較することに少なくとも部分的に基づいて、モバイル・コンピューティング・デバイス10の1または複数の所定の意図される使用に対応するイベントであると決定され得る。後述されるように、トレーニング・データは、センサ・データをモバイル・コンピューティング・デバイス10の複数の所定の使用に分類し、センサ・データをモバイル・コンピューティング・デバイス10の所定の使用に分離する超平面を定義するために使用され得る。さらに、超平面を定義するパラメータは、モバイル・コンピューティング・デバイス10へ送られ得、モバイル・コンピューティング・デバイス10のプロセッサ(例えば、センサ・ハブ)は、後述されるように、超平面に対するリアルタイム・センサ・データの比較に少なくとも部分的に基づいて、リアルタイム・センサがモバイル・コンピューティング・デバイス10の所定の意図される使用のうちの1つに対応するイベントであると決定し得る。
【0012】
特定の実施形態において、リアルタイム・センサ・データは、リアルタイム・センサ・データのベクトル・マッピング(写像)の射影を解析することに少なくとも部分的に基づいて、モバイル・コンピューティング・デバイス10の切迫した(imminent)使用に対応すると決定され得る。後述されるように、定常状態条件に対応するベクトルへのリアルタイム・センサ・データに対応するベクトルの射影は、ベクトルの線形依存性を低減し得る。さらに、プロセッサ(例えば、センサ・ハブ)は、後述されるように、ベクトルのドット積を計算することを通じて射影を計算し、モバイル・コンピューティング・デバイス10の切迫した使用を決定し得る。
【0013】
図2は、例示的なモバイル・コンピューティング・デバイスの例示的なセンサ構成を例示する。特定の実施形態において、モバイル・コンピューティング・デバイス10のセンサ・アレイ20は、1または複数のタイプのセンサを含み得る。1または複数のタイプのセンサは、タッチ・センサ、加速度計、ジャイロスコープ、光学近接センサ、環境光センサ、画像センサ、マイクロフォン、または、これらの任意の組合せを含み得る。異なるセンサ・タイプのセンサ・アレイ20の各々は、異なるタイプのデータを測定し得る。本開示は、特定のタイプのセンサによる、モバイル・コンピューティング・デバイスに関連付けられている環境データの収集を説明するが、本開示は、任意の適切なタイプのセンサによる、モバイル・コンピューティング・デバイスに関連付けられているセンサ・データの収集を企図する。センサ・アレイ20の1または複数のセンサは、モバイル・コンピューティング・デバイス10のセンサ・ハブ40に結合され得る。限定ではなく例として、センサ・ハブ40は、センサ・アレイ20の1または複数のセンサを制御し、センサのための電力を管理し、センサ入力を処理し、センサ・データをアグリゲートし、一定のセンサ機能を実行する低電力消費プロセッサであり得る。特定の実施形態において、センサ・アレイ20の1または複数のタイプのセンサは、コントローラ42に結合され得る。限定ではなく例として、センサ・ハブ40は、センサ・アレイ20に次に結合されるコントローラ42に結合され得る。特定の実施形態において、センサ・モニタは、センサ・アレイ20を管理し得る。特定の実施形態において、モバイル・コンピューティング・デバイス10のセンサ・ハブ40またはアプリケーション・プロセッサは、後述されるように、センサ・アレイ20の1または複数のタイプのセンサによって測定されるデータにおける遷移を検出し、異なるタイプのセンサからのデータにおける遷移とモバイル・コンピューティング・デバイス10の切迫した意図される使用とを相関させる。
【0014】
特定の実施形態において、前述されたように、モバイル・コンピューティング・デバイ
ス10のセンサ・アレイ20は、1または複数の他のタイプのセンサに加えて、加速度計を含み得る。加速度計によって提供されるセンサ・データは、ユーザがモバイル・コンピューティング・デバイス10を使用することを意図するか否かを少なくとも部分的に推定するために使用され得る。モバイル・コンピューティング・デバイス10がユーザのポケットに格納されている場合、モバイル・コンピューティング・デバイス10は、ユーザが移動するにつれて移動し得る。しかしながら、そのような移動は、比較的長期間にわたって発生する。他方で、ユーザが、モバイル・コンピューティング・デバイス10と物理的接触し、モバイル・コンピューティング・デバイス10をポケットから取り出して、ユーザの顔の正面に持ってくる場合、比較的短期間のうちにモバイル・コンピューティング・デバイス10の移動速度の上昇があり得る。モバイル・コンピューティング・デバイス10の移動速度におけるこの変化は、加速度計によって供給されるセンサ・データに基づいて検出され得る。
【0015】
特定の実施形態において、前述されたように、モバイル・コンピューティング・デバイス10のセンサ・アレイ20は、1または複数の他のタイプのセンサに加えて、ジャイロスコープを含み得る。ジャイロスコープは、1または複数の位置軸に沿った角速度を測定するように構成されたセンサの一種である。さらに、ジャイロスコープは、モバイル・コンピューティング・デバイス10の向きを測定するために使用され得る。限定ではなく例として、モバイル・コンピューティング・デバイス10がユーザのポケットに格納されている場合、モバイル・コンピューティング・デバイス10は、特定の向きに沿って実質的に定位置に留まり得る。しかしながら、ユーザがモバイル・コンピューティング・デバイス10と物理的接触し、モバイル・コンピューティング・デバイス10をポケットから取り出して、ユーザの顔の正面に持ってくる場合、比較的短期間で発生する、モバイル・コンピューティング・デバイス10の向きの変化があり得る。モバイル・コンピューティング・デバイス10の向きの変化は、ジャイロスコープによって検出および測定され得る。モバイル・コンピューティング・デバイス10の向きが著しく変化した場合、向きの変化は、別のタイプのセンサからのデータ、例えば、タッチ・センサ・データまたは加速度計データなどとともに、ユーザがモバイル・コンピューティング・デバイス10と物理的接触したかもしれないという補強インジケータとなり得る。
【0016】
特定の実施形態において、モバイル・コンピューティング・デバイス10のセンサ・アレイ20は、光学近接センサを含み得る。光学近接センサによって供給されるセンサ・データは、モバイル・コンピューティング・デバイス10が具体的な物体、例えば、いつユーザの手などに極めて近接しているか検出するために解析され得る。特定の実施形態において、モバイル・コンピューティング・デバイス10は、その背面に配置される赤外線発光ダイオード(IR LED:infrared light−emitting diode)とともに、光学近接センサを有し得る。限定ではなく例として、ユーザがモバイル・コンピューティング・デバイス10をユーザの手の中に保持する場合、ユーザの手の手のひらは、IR LEDを覆い得る。結果として、IR LEDは、いつある物体がモバイル・コンピューティング・デバイス10に近接しているか検出し得る。特定の実施形態において、モバイル・コンピューティング・デバイス10に近接した物体の決定は、別のタイプのセンサからのデータ、例えば、タッチ・センサ・データまたは加速度計データなどとともに、ユーザがモバイル・コンピューティング・デバイス10と物理的接触したかもしれないという補強インジケータとなり得る。
【0017】
特定の実施形態において、個々のタイプのセンサ・データを相関させることは、モバイル・コンピューティング・デバイス10に関するユーザの意図を推定するために使用され得る(例えば、ユーザが、モバイル・コンピューティング・デバイス10を把持し、使用することを本当に意味するか否か)。後述されるように、複数のタイプのセンサ・データを組み合わせて使用することは、単一のタイプのセンサからのデータを単独で使用するこ
とと比較して、モバイル・コンピューティング・デバイス10に関するユーザの意図のより正確な推定を生み出し得る。限定ではなく例として、モバイル・コンピューティング・デバイス10の使用は、1または複数のタッチ・センサを通じて、モバイル・コンピューティング・デバイス10に近接するユーザの身体の一部を検出することに加えて、加速度計を通じて、モバイル・コンピューティング・デバイス10の移動の速度における著しい上昇を検出することに部分的に基づいて、推定され得る。別の例として、モバイル・コンピューティング・デバイス10の使用は、光学近接センサを通じて、モバイル・コンピューティング・デバイス10に近接するユーザの身体部分を検出することに加えて、ジャイロスコープを通じて、モバイル・コンピューティング・デバイス10の向きの変化を検出することに部分的に基づいて、推定され得る。特定の実施形態において、モバイル・コンピューティング・デバイス10の所定の機能は、後述されるように、モバイル・コンピューティング・デバイス10に関するユーザの推定された意図に少なくとも部分的に基づいて、開始され得る。限定ではなく例として、モバイル・コンピューティング・デバイス10は、電力節約状態から通常の動作状態にされ(例えば、モバイル・デバイスのディスプレイをオンにし)、モバイル・コンピューティング・デバイス10の入力コンポーネントは、ユーザがモバイル・コンピューティング・デバイス10を使用しようとしているかもしれないと推定することに少なくとも部分的に基づいて、自動的に解除され得る。
【0018】
図3は、切迫した意図される使用に基づいてコンピューティング・デバイスの所定の機能を開始するための例示的な方法を例示する。本方法は、コンピューティング・デバイスが複数のセンサ・タイプのコンピューティング・デバイスからリアルタイム・センサ・データを受信する、工程300において開始し得る。後述されるように、コンピューティング・デバイスは、センサ・データにおける遷移を決定するために、センサ・データの導関数を計算し得る。限定ではなく例として、モバイル・コンピューティング・デバイスのプロセッサは、センサ・データを受信し、演算、例えば、センサ・データの導関数を時間の関数として計算することなどを実行し得る。特定の実施形態において、コンピューティング・デバイスのうちの1つのセンサは、異なるセンサ・タイプ、例えば、タッチ・センサ、加速度計、ジャイロスコープ、光学近接センサ、または、これらの任意の組合せなどを含む。
【0019】
工程302は、コンピューティング・デバイスによって、異なるセンサ・タイプのセンサからのリアルタイム・センサ・データを相関させる。特定の実施形態において、プロセッサは、データが時間について重なり合うか否かを決定するために、センサ・データに対して畳み込み演算を適用し得る。例示的な畳み込み演算は、下記の方程式によって例示され得る。
【0020】
【数1】
Mは、複数のタイプのセンサからのデータの畳み込みの結果であり、f’およびg’は、センサからのデータの導関数である。例えば、f’は、加速度計によって測定されたデータの導関数であり得、g’は、タッチ・センサによって測定されたデータの導関数などであり得る。特定の実施形態において、畳み込み演算の結果は、異なるタイプのセンサからのセンサ・データにおける遷移が時間について重なり合うか否かを決定し得る。別の実施形態において、先験的な関数、例えば、ヘヴィサイド関数またはシグモイド関数などは、導関数演算子を置換し得る。限定ではなく例として、プロセッサは、第1のタイプのセンサ、例えば、タッチ・センサなどによって測定されるデータを、第2のタイプのセンサ、
例えば、加速度計などによって測定されるデータで畳み込み得る。別の例として、モバイル・コンピューティング・デバイスのアプリケーション・プロセッサまたはセンサ・ハブは、第1のタイプのセンサ、例えば、タッチ・センサなどによって測定されるデータを、第2のタイプのセンサ、例えば、光学近接センサなどによって測定されるデータで畳み込み得る。工程304は、コンピューティング・デバイスによって、上記相関させることに基づいて、コンピューティング・デバイスの意図される切迫した使用を決定し得る。特定の実施形態において、時間について重なり合う、複数のセンサ・タイプのデータにおける遷移に少なくとも部分的に基づく。限定ではなく例として、コンピューティング・デバイスは、実質的に同時に発生するタッチ・センサおよび加速度計からのリアルタイム・センサ・データにおける遷移に少なくとも部分的に基づいて、コンピューティング・デバイスの切迫した意図される使用を決定し得る。
【0021】
工程306において、コンピューティング・デバイスは、コンピューティング・デバイスの意図される切迫した使用の決定に少なくとも部分的に基づいて、コンピューティング・デバイスの所定の機能を自動的に開始し得る。この時点で、本方法は終了し得る。限定ではなく例として、所定の機能は、方程式(1)によって例示される畳み込み演算Mの結果が所定の閾値よりも大きいことに応答して、開始され得る。特定の実施形態において、所定の機能は、畳み込み演算の結果が所定の閾値よりも大きいことに応答して、センサに関連付けられているコンピューティング・デバイスをパワー・ダウンさせ得る。本開示は、
図3の方法の特定の工程が特定の順序で発生するものとして説明および例示するが、本開示は、
図3の方法の任意の適切な工程が任意の適切な順序で発生することを企図する。特定の実施形態は、適当な場合には、
図3の方法の1または複数の工程を繰り返してもよい。さらに、本開示は、
図3の方法の特定の工程を実施する特定のコンポーネントを説明および例示するが、本開示は、任意の適切なコンポーネントの任意の適切な組合せ、例えば、
図3の方法の任意の適切な工程を実施する、モバイル・コンピューティング・デバイスのプロセッサなどを企図する。
【0022】
図4A〜
図4Bは、例示的なセンサ・データにおける遷移の例示的な検出を例示する。本開示は、特定の線形関数、例えば、導関数などを通じて、センサ・データを前処理することを説明するが、本開示は、ここでは任意の適切な線形関数、例えば、ヘヴィサイド関数またはシグモイド関数を用いる畳み込みなどを通じて、センサ・データを前処理することを企図する。特定の実施形態において、1または複数のセンサからのセンサ・データ52および54は、
図4Aの例において44および46によって例示されるように、時間の関数として測定され得、センサ・データ52および54は、センサに関連付けられているコンピューティング・デバイスに関するユーザの意図を推定するために解析され得る。特定の実施形態において、特定のコンピューティング・デバイスに関するユーザの意図の推定は、複数のセンサ・タイプからのセンサ・データ52および54から実行され得る。限定ではなく例として、センサ・データ52は、モバイル・コンピューティング・デバイスのタッチ・センサによって測定されるデータであり得、センサ・データ54は、加速度計によって測定されるデータであり得る。さらに、本開示は、任意の適切な形式のセンサ・データ52および54、例えば、電流、電圧、電荷、または、これらの任意の組合せなどを企図する。
【0023】
特定の実施形態において、コンピューティング・デバイスの意図される使用は、前述されたように、コンピューティング・デバイスに関連付けられているセンサによって測定される1つの状態から別の状態へのデータにおける遷移を通じて決定され得る。限定ではなく例として、センサ・データにおける遷移は、前述されたように、モバイル・コンピューティング・デバイスが拾い上げられ、使用されようとしていることを示し得る。特定の実施形態において、センサ・データ52および54における遷移は、
図4Bの例において48および50によって例示されるように、センサ・データ52および54のそれぞれの導
関数56および58を計算することに少なくとも部分的に基づいて、検出され得る。限定ではなく例として、センサ・データ52および54のそれぞれの導関数56および58における変化は、センサ・データ52および54における変化が比較的小さくなり得る場合には、期間49の間に検出可能であり得る。別の例として、センサ・データの導関数56および58は、前述されたように、コンピューティング・デバイスの意図される即時使用を決定するために、プロセッサへ提供され得る。
【0024】
図5は、ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境100を示す。ネットワーク環境100は、互いにネットワーク110によって接続されたユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を含む。
図5は、ユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の特定の構成を示すが、この開示は、ユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の任意の好適な構成を企図する。限定するものとしてではなく一例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170の2以上は、ネットワーク110をバイパスして互いに直接的に接続されてもよい。別の例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170の2以上が、全体として、または部分的に互いに物理的に、または論理的に同じ場所にあってもよい。さらに、
図5は、特定の数のユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を示すが、この開示は、任意の好適な数のユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を企図する。限定するものとしてではなく一例として、ネットワーク環境100は、複数のユーザ101、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を含んでもよい。
【0025】
特定の実施形態において、ソーシャルネットワーキング・システム160は、1または複数のサーバを含み得る。各サーバは、単一サーバ、または、複数のコンピュータもしくは複数のデータセンタに広がる分散サーバであり得る。サーバは、色々なタイプ、例えば、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、交換サーバ、データベース・サーバ、プロキシ・サーバ、本明細書において説明される機能もしくはプロセスを実行するために適切な別のサーバ、または、これらの任意の組合せなどであり得るが、これらに限定されない。特定の実施形態において、各サーバは、ハードウェア・コンポーネント、ソフトウェア・コンポーネント、もしくは埋め込みロジック・コンポーネント、または、サーバによって実装またはサポートされる適当な機能を実施するための2つ以上のそのようなコンポーネントの組合せを含み得る。特定の実施形態において、ソーシャルネットワーキング・システム164は、1または複数のデータ・ストアを含み得る。データ・ストアは、色々なタイプの情報を格納するために使用され得る。特定の実施形態において、データ・ストアに格納される情報は、具体的なデータ構造に従って体系化され得る。特定の実施形態において、各データ・ストアは、リレーショナル・データベース、カラム型データベース、相関関係データベース、または他の適切なデータベースであり得る。本開示は、特定のタイプのデータベースを説明または例示するが、本開示は、任意の適切なタイプのデータベースを企図する。特定の実施形態は、クライアント・システム130、ソーシャルネットワーキング・システム160、または第三者システム170が、データ・ストアに格納される情報を管理し、検索し、変更し、追加し、または削除することを可能にするイン
ターフェースを提供し得る。
【0026】
特定の実施形態において、前述されたように、クライアント・システム130から受信されるセンサ・データは、機械学習アルゴリズム、例えば、ソーシャルネットワーキング・システム160上で実行されるSVM、k平均、ベイズ推論、またはニューラル・ネットワークなどのためのトレーニング・データとして機能し得る。限定ではなく例として、ソーシャルネットワーキング・システム160の1または複数のサーバは、クライアント・システム130(例えば、モバイル・コンピューティング・デバイス)のうちの1または複数からトレーニング・データを受信し、クライアント・システム130を使用する特定のアクティビティからのセンサ・データ値とクライアント・システム130の1または複数の特定の状態とを相関させるために、機械学習アルゴリズムを使用し得る。限定ではなく例として、機械学習アルゴリズムを実行する1または複数のサーバは、クライアント・システム130のセンサ、例えば、1または複数のクライアント・システム130の加速度計、ジャイロスコープ、環境光センサ、光学近接センサ、または別のセンサなどからのセンサ値を受信し得る。特定の実施形態において、トレーニング・データから決定される超平面を定義するデータは、クライアント・システム130の切迫した意図される使用を決定するために、クライアント・システム130へ送られ得る。特定の実施形態において、後続のセンサ・データは、超平面を再定義するために、モバイル・コンピューティング・デバイス10によって送られ得る。さらに、超平面を再定義する更新済みデータは、モバイル・コンピューティング・デバイス10によって受信され得る。
【0027】
特定の実施形態では、ユーザ101は、ソーシャルネットワーキング・システム160と、またはソーシャルネットワーキング・システム160を通じて対話、すなわち通信する個人(人間のユーザ)、エンティティ(たとえば、企業、事業者、またはサードパーティ・アプリケーション)、または(たとえば、個人またはエンティティの)グループであってよい。特定の実施形態では、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークをホストするネットワークアドレス指定可能なコンピューティング・システムであってよい。ソーシャルネットワーキング・システム160は、たとえばユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関係する他の好適なデータなど、ソーシャル・ネットワーキング・データを生成、記憶、受信、および送信する。ソーシャルネットワーキング・システム160は、ネットワーク環境100の他の構成要素によって、直接的に、またはネットワーク110を通じてアクセスされてもよい。特定の実施形態では、ソーシャルネットワーキング・システム160は、ユーザ101がたとえば適切なプライバシ設定を設定することによってなど、自分達のアクションをソーシャルネットワーキング・システム160によって記録させる、または他のシステム(たとえば、サードパーティ・システム170)と共有させることについてオプトインまたはオプトアウトすることを可能にする認可サーバ(または他の適切な構成要素)を含んでもよい。ユーザのプライバシ設定は、そのユーザに関連付けられているどの情報が記録されるか、そのユーザに関連付けられている情報がどのように記録されるか、そのユーザに関連付けられている情報がいつ記録されるか、そのユーザに関連付けられている情報を誰が記録するか、そのユーザに関連付けられている情報が誰と共有されるか、およびそのユーザに関連付けられている情報が何の目的で記録され共有されるかを決定することができる。認可サーバは、ブロッキング、データのハッシュ化、匿名化、または他の適切な技術を通じて、ソーシャルネットワーキング・システム160のユーザの1以上のプライバシ設定を適切に実施するために用いられる。サードパーティ・システム170は、ネットワーク環境100の他の構成要素によって、直接的に、またはネットワーク110を通じてアクセスされてもよい。特定の実施形態では、1または複数のユーザ101が1または複数のクライアント・システム130を使用し、ソーシャルネットワーキング・システム160またはサードパーティ・システム170にアクセスし、データを送り、それらからデータを
受信してもよい。クライアント・システム130は、ソーシャルネットワーキング・システム160またはサードパーティ・システム170に直接的に、ネットワーク110を通じて、またはサードパーティ・システムを通じてアクセスしてもよい。限定するものとしてではなく一例として、クライアント・システム130は、サードパーティ・システム170にソーシャルネットワーキング・システム160を通じてアクセスしてもよい。クライアント・システム130は、たとえばパーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話、スマートフォン、またはタブレット・コンピュータなど、任意の好適なコンピューティング・デバイスであってよい。
【0028】
この開示は、任意の好適なネットワーク110を企図する。限定するものとしてではなく一例として、ネットワーク110の1または複数の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、携帯電話ネットワーク、またはこれらの2以上の組合せを含んでもよい。ネットワーク110は、1または複数のネットワーク110を含んでもよい。
【0029】
リンク150は、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を通信ネットワーク110に、または互いに接続する。この開示は、任意の好適なリンク150を企図する。特定の実施形態では、1または複数のリンク150は、1または複数の有線(たとえば、デジタル加入者線(DSL)またはDOCSIS(Data Over Cable Service Interface Specification)など)、無線(たとえば、Wi−FiまたはWiMAX(Worldwide interoperability for
Microwave Access)など)、または光(たとえば、同期光ネットワーク(SONET)または同期デジタル・ハイアラーキ(SDH)など)リンクを含む。特定の実施形態では、1または複数のリンク150は、それぞれ、アドホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラ技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク150、または2以上のそのようなリンク150の組合せを含む。リンク150は、必ずしもネットワーク環境100全体を通じて同じであることを必要としない。1または複数の第1のリンク150は、1または複数の点で1または複数の第2のリンク150と異なってもよい。
【0030】
図6は、例示的な機械学習アルゴリズムを使用した、センサ・データの例示的な分類を例示する。前述されたように、クライアント・システム、例えば、モバイル・コンピューティング・デバイスの1または複数のセンサからのトレーニング・データは、特定のアクティビティの実行中にキャプチャされる各センサからのセンサ・データと、その特定のアクティビティに関連付けられている、クライアント・システムの特定の状態に対応するインジケータ情報とを含み得る。限定ではなく例として、センサ・データは、センサからの生(処理前)の測定データ、または、前述されたように、例えば、生のセンサ・データの導関数を計算するためなどに、前処理されたセンサ・データであり得る。さらに、センサ・データは、クライアント・システムの物理的状態における遷移(例えば、移動)に対応し得る。特定の実施形態において、センサ・データは、例えば、フィルタリング演算または畳み込み演算などを通じて、さらに処理され得る。限定ではなく例として、各特定のアクティビティからのトレーニング・データは、前述されたように、センサ・データの各セットに関連付けられているインジケータ情報に少なくとも部分的に基づいて、クライアント・デバイスに関連付けられている2つの特定の状態のうちの1つに分類され得る。例えば、センサ・データの1または複数のセットは、モバイル・コンピューティング・デバイ
スとの物理的接触に関連付けられているアクティビティ、例えば、モバイル・コンピューティング・デバイスを保持することに対応し得、センサ・データの1または複数のセットは、モバイル・コンピューティング・デバイスとの物理的接触に関連付けられていないアクティビティ、例えば、モバイル・コンピューティング・デバイスをテーブル上に置いておくことに対応し得る。
【0031】
図6の例に例示されるように、各特定のアクションについてのトレーニング・データは、N次元空間200におけるベクトル202A〜202Bとして表され得る。ここで、Nは、クライアント・システムのセンサの数に等しくなり得る。限定ではなく例として、各ベクトル202A〜202Bは、カーネル関数を通じてN次元空間200にマッピングされ得る。さらに、各ベクトル202A〜202Bは、センサ・データの導関数のNタプルに少なくとも部分的に基づき得る。
図6の例に例示されるように、ベクトル202A〜202Bは、N次元空間200における超平面206または非線形表面によって分離される、クライアント・システムに関連付けられている2つの特定の状態のうちの1つに分類され得る。特定の実施形態において、超平面206はN−1次元を有し、各状態の1または複数のサポート・ベクトルとの一定なドット積を有する点のセットによって定義され得る。限定ではなく例として、サポート・ベクトルは、最大の導関数を有する各特定の状態についてのベクトルとして定義され得、超平面206と各サポート・ベクトルとの間の距離は、最大化され得る。特定の実施形態において、超平面206を定義するデータは、クライアント・システムへ送られ得る。特定の実施形態において、超平面206は、クライアント・システムから受信される後続のセンサ・データから決定される後続のベクトルに基づいて、変更され得る。さらに、超平面206を再定義する更新済みデータは、クライアント・システムへ送られ得る。
【0032】
特定の実施形態において、クライアント・システムの切迫した使用は、クライアント・システムからの後続のセンサ・データに対応するベクトルの、クライアント・システムの特定の状態への分類に少なくとも部分的に基づいて、クライアント・システムによって決定され得る。特定の実施形態において、後続のセンサ・データに対応するベクトルの分類は、超平面206に対するベクトルの位置に少なくとも部分的に基づき得る。限定ではなく例として、クライアント・システムのユーザがクライアント・システムを使用することを意図することは、後続のセンサ・データに対応するベクトルがクライアント・システムとの物理的接触に対応する状態に分類されること、例えば、ベクトル202Aによって定義されることなどに少なくとも部分的に基づいて、推定され得る。さらに、クライアント・システムの切迫した使用は、ベクトルが超平面206のベクトル202Aと同じ側に存在する場合に、クライアント・システムとの物理的接触に対応すると決定され得る。そうでない場合、後続のベクトルが、超平面206のベクトル202Bと同じ側に位置する場合、クライアント・システムは実質的に動いていないと決定され得る。特定の実施形態において、クライアント・システムのプロセッサは、後続のベクトルをクライアント・システムの特定の状態に分類することに少なくとも部分的に基づいて、クライアント・システムの所定の機能を開始し得る。
【0033】
図7は、センサ・データがクライアント・システムの所定の使用に対応するか否かを決定する例示的な方法を例示する。本方法は、コンピューティング・デバイスがそのコンピューティング・デバイス上のセンサからリアルタイム・センサ・データを受信する、工程310において開始し得る。特定の実施形態において、リアルタイム・センサ・データは、コンピューティング・デバイスのユーザによって引き起こされる、コンピューティング・デバイスの物理的状態における遷移に対応し得る。工程312は、コンピューティング・デバイスによって、各センサからのリアルタイム・センサ・データに対して線形関数を適用する。限定ではなく例として、線形関数は、フィルタリング関数、導関数、ヘヴィサイド関数もしくはシグモイド関数の畳み込み、または、これらの任意の組合せを備え得る
。さらに、モバイル・コンピューティング・デバイスのプロセッサは、センサ・データを受信し、演算、例えば、センサ・データの導関数を時間の関数として計算することなどを実行し得る。工程314は、コンピューティング・デバイスによって、導関数のタプルに基づいてベクトルを決定する。特定の実施形態において、タプルは、センサの数に等しい次元を有し得る。工程316において、コンピューティング・デバイスは、ベクトルと所定の超平面とを比較し得る。前述されたように、超平面は、コンピューティング・デバイスのセンサの数よりも1つ少ない次元を有し得る。
【0034】
工程318において、コンピューティング・デバイスは、上記比較に基づいて、遷移がコンピューティング・デバイスの所定の切迫した使用のいずれかに対応するイベントであるか否かを決定し得る。この時点で、本方法は終了し得る。特定の実施形態において、この決定は、所定の超平面に対するベクトルの位置を決定することを通じて行われ得る。本開示は、
図7の方法の特定の工程を特定の順序で発生するものとして説明および例示するが、本開示は、
図7の方法の任意の適切な工程が任意の適切な順序で発生することを企図する。特定の実施形態は、適当な場合には、
図7の方法の1または複数の工程を繰り返してもよい。さらに、本開示は、
図7の方法の特定の工程を実施する特定のコンポーネントを説明および例示するが、本開示は、任意の適切なコンポーネントの任意の適切な組合せ、例えば、
図7の方法の任意の適切な工程を実施する、モバイル・コンピューティング・デバイスのプロセッサなどを企図する。
【0035】
図8は、例示的な射影の計算を通じた、センサ・データの成分の例示的な分離を例示する。特定の実施形態において、センサ・データをN次元の空間200にマッピングすることは、センサ・データの特定の成分を分離するために使用され得る。限定ではなく例として、ある程度の空間的な重なりを有する、1つのセンサから別のセンサへの線形依存性は、後述されるように、1つのセンサから別のセンサへのデータの射影84Aの決定を通じて低減され得る。特定の実施形態において、モバイル・コンピューティング・デバイスは、
図1の例に例示されるように、モバイル・コンピューティング・デバイスの複数のロケーションにおいて複数のタッチ・センサを含み得る。限定ではなく例として、モバイル・コンピューティング・デバイスは、モバイル・コンピューティング・デバイスのある側面に沿ったカバレッジを有したタッチ感応領域を有する第1のタッチ・センサと、2つ以上の面(例えば、側面と底面)の少なくとも一部を含み得るタッチ感応領域を有する第2のタッチ・センサとを含み得る。別の例として、ある程度の時間的分離を有する、センサ・データの線形依存性は、センサ・データの射影の決定を通じて低減され得る。例えば、現在のセンサ・データの一部は、過去の定常状態条件に対応するベクトルへの、現在のセンサ・データに対応するベクトルの射影を決定することに少なくとも部分的に基づいて、分離され得る。
【0036】
さらに、クライアント・システムの切迫した使用は、射影84Aまたは84Bを解析することによって決定され得る。限定ではなく例として、クライアント・システムからのセンサ・データは、1または複数の空間的に重なるセンサからの時間的に分離されたデータであり、クライアント・システムの定常状態条件からの遷移に対応し得る。特定の実施形態において、射影は、生の測定データ、または、前述されたように、例えば、生のセンサ・データの導関数を計算することなどによって、前処理されたセンサ・データを使用して計算され得る。さらに、センサ・データは、例えば、フィルタリング演算または畳み込み演算などを通じて、さらに処理され得る。特定の実施形態において、特定の時間にキャプチャされたセンサ・データの各々は、N次元空間200におけるベクトル80および82として表され得る。ここで、Nは、クライアント・システムのセンサの数に等しくなり得る。限定ではなく例として、各ベクトル80および82は、カーネル関数を通じてN次元空間200にマッピングされ得る。さらに、各ベクトル80および82は、センサ・データの導関数のNタプルに少なくとも部分的に基づき得る。
【0037】
特定の実施形態において、リアルタイム・センサ・データに対応するベクトル82への、定常状態条件に対応するベクトル80の射影84Aは、ベクトル80および82のドット積に少なくとも部分的に基づいて、決定され得る。
図4の例に例示されるように、ベクトル80および82は、クライアント・システムのセンサ・データの導関数であり得る。特定の実施形態において、時間的に分離された測定からベクトル80と異なるベクトル82の1または複数の成分は、ベクトル80へのベクトル82の射影84Aによって分離され得る。ベクトル80へのベクトル82の射影84Aの例示的な計算は、下記の方程式によって例示され得る。
【0038】
【数2】
また、原点に平行移動された、ベクトル80へのベクトル82の射影84Bの例示的な計算は、下記の方程式によって例示され得る。
【0039】
【数3】
80は、定常状態条件に関連付けられているベクトルであり、|80|は、ベクトル80の大きさであり、θは、ベクトル80および82によって形成される角度である。
【0040】
限定ではなく例として、定常状態条件(すなわち、空間200のベクトル80)は、ある面(例えば、テーブル)上に置いてあり得るモバイル・コンピューティング・デバイスに対応し得、リアルタイム・データ(すなわち、ベクトル82)は、モバイル・コンピューティング・デバイスを拾い上げることに関連付けられている物理的接触に対応し得る。さらに、ベクトル80への射影84Aは、方程式(2)によって例示されるように、ドット積を通じて計算され得る。特定の実施形態において、
図8の例の84Bによって例示されるように、射影84Aは、後述されるように、クライアント・システムに関するユーザの意図を推定するために、N次元空間200の原点に平行移動され得る。
【0041】
さらに、クライアント・システムに関するユーザの意図は、射影84Bの解析に少なくとも部分的に基づいて、推定され得る。特定の実施形態において、射影84Bは、前述されたように、クライアント・システムの予め定義された切迫した使用に分類され得る。特定の実施形態において、射影84Bは、クライアント・システムの切迫した使用に対応する予め定義された射影と比較され得る。限定ではなく例として、特定のクライアント・システムのユーザがそのクライアント・システムを使用することを意図することは、射影84Bがクライアント・システムとの物理的接触に対応する状態に分類されることに少なくとも部分的に基づいて、決定され得る。前述されたように、クライアント・システムのプロセッサは、射影84Bの解析に少なくとも部分的に基づいてユーザの意図を推定することに少なくとも部分的に基づいて、クライアント・システムの所定の機能を開始し得る。
【0042】
図9は、センサ・データの成分を分離する例示的な方法を例示する。本方法は、コンピューティング・デバイスがそのコンピューティング・デバイス上のセンサからリアルタイム・センサ・データを受信する、工程320において開始し得る。特定の実施形態において、センサは、コンピューティング・デバイスの複数の面に位置し得る。工程322は、
コンピューティング・デバイスによって、定常状態からのリアルタイム・センサ・データにおける遷移を検出する。限定ではなく例として、モバイル・コンピューティング・デバイスのプロセッサは、センサ・データを受信し、演算、例えば、センサ・データの導関数を時間の関数として計算することなどを実行し得る。工程324において、コンピューティング・デバイスは、上記検出に基づいて、コンピューティング・デバイスの切迫した使用を決定し得る。この時点で、本方法は終了し得る。特定の実施形態において、コンピューティング・デバイスは、導関数のタプルに基づいてベクトルを決定することと、コンピューティング・デバイスの定常状態のベクトルへの、リアルタイム・センサ・データのベクトルの射影を計算することとを含み得る。特定の実施形態において、上記決定は、上記射影と1または複数の切迫した使用に対応する所定の射影とを比較することを通じて行われ得る。本開示は、
図9の方法の特定の工程を特定の順序で発生するものとして説明および例示するが、本開示は、
図9の方法の任意の適切な工程が任意の適切な順序で発生することを企図する。特定の実施形態は、適当な場合には、
図9の方法の1または複数の工程を繰り返してもよい。さらに、本開示は、
図9の方法の特定の工程を実施する特定のコンポーネントを説明および例示するが、本開示は、任意の適切なコンポーネントの任意の適切な組合せ、例えば、
図9の方法の任意の適切な工程を実施する、モバイル・コンピューティング・デバイスのプロセッサなどを企図する。
【0043】
図5は、例示的なコンピューティング・システム60を示す。特定の実施形態では、1または複数のコンピュータ・システム60は、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施する。特定の実施形態では、1または複数のコンピュータ・システム60は、本明細書に記載され、または示されている機能を提供する。特定の実施形態では、1または複数のコンピュータ・システム60上で動作するソフトウェアは、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施し、または本明細書に記載され、または示されている機能を提供する。特定の実施形態は、1または複数のコンピュータ・システム60の1または複数の部分を含む。本明細書では、コンピュータ・システムに言及することは、適切な場合、コンピューティング・デバイスを包含してもよく、逆も同様である。さらに、コンピュータ・システムに言及することは、適切な場合、1または複数のコンピュータ・システムを包含してもよい。
【0044】
この開示は、任意の好適な数のコンピュータ・システム60を企図する。この開示は、任意の好適な物理形態をとるコンピュータ・システム60を企図する。限定するものとしてではなく一例として、コンピュータ・システム60は、組込みコンピュータ・システム、システム・オン・チップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータ・オン・モジュール(COM)またはシステム・オン・モジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル・コンピューティング・システム10、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらの2以上の組合せであってよい。適切な場合、コンピュータ・システム60は、1または複数のコンピュータ・システム60を含んでもよく、一元的なものであっても分散型であってもよく、複数のロケーションに跨ってもよく、複数のマシンに跨ってもよく、複数のデータセンタに跨ってもよく、クラウド内にあってもよく、クラウドは、1または複数のネットワーク内で1または複数のクラウド・コンポーネントを含んでもよい。適切な場合、1または複数のコンピュータ・システム60は、実質的な空間的または時間的制限なしに、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。限定するものとしてではなく一例として、1つまたは複数のコンピュータ・システム60は、リアルタイムで、またはバッチ・モードで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。1また
は複数のコンピュータ・システム60は、適切な場合、異なる時に、または異なるロケーションで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。
【0045】
特定の実施形態では、コンピュータ・システム60は、プロセッサ62、メモリ64、ストレージ66、入力/出力(I/O)インターフェース68、通信インターフェース70、およびバス72を含む。この開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記載し示しているが、この開示は、任意の好適な数の任意の好適な構成要素を任意の好適な構成で有する任意の好適なコンピュータ・システムを企図する。
【0046】
特定の実施形態では、プロセッサ62は、コンピュータ・プログラムを構成するものなど命令を実行するためのハードウェアを含む。限定するものとしてではなく一例として、命令を実行するために、プロセッサ62は、内部レジスタ、内部キャッシュ、メモリ64、またはストレージ66から命令を取り出し(またはフェッチし)、それらを復号および実行し、次いで、1または複数の結果を内部レジスタ、内部キャッシュ、メモリ64、またはストレージ66に書き込む。特定の実施形態では、プロセッサ62は、データ、命令、またはアドレス用に1または複数の内部キャッシュを含んでもよい。この開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ62を企図する。限定するものとしてではなく一例として、プロセッサ62は、1または複数の命令キャッシュ、1または複数のデータ・キャッシュ、および1または複数の変換索引バッファ(TLB)を含んでもよい。命令キャッシュ内の命令は、メモリ64またはストレージ66内の命令のコピーであってもよく、命令キャッシュは、プロセッサ62によるこれらの命令の取り出しを高速化する。データ・キャッシュ内のデータは、プロセッサ62にて実行される命令が操作するための、メモリ64またはストレージ66内のデータのコピー、プロセッサ62で実行される後続の命令によるアクセスための、またはメモリ64もしくはストレージ66に書き込むための、プロセッサ62で実行された以前の命令の結果、あるいは他の好適なデータであってもよい。データ・キャッシュは、プロセッサ62による読出しまたは書込み動作を高速化する。TLBは、プロセッサ62のために仮想アドレス変換を高速化する。特定の実施形態では、プロセッサ62は、データ、命令、またはアドレス用に1または複数の内部レジスタを含む。この開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ62を企図する。適切な場合、プロセッサ62は、1または複数の算術論理演算ユニット(ALU)を含むことができ、マルチコア・プロセッサであってもよく、1または複数のプロセッサ62を含んでもよい。この開示は、特定のプロセッサについて記載し示しているが、この開示は、任意の好適なプロセッサを企図する。
【0047】
特定の実施形態では、メモリ64は、プロセッサ62が実行するための命令、またはプロセッサ62が操作するためのデータを記憶するための主記憶装置を含む。限定するものとしてではなく一例として、コンピュータ・システム60は、ストレージ66または別のソース(たとえば、別のコンピュータ・システム60など)からメモリ64に命令をロードする。次いで、プロセッサ62は、メモリ64から内部レジスタまたは内部キャッシュに命令をロードする。命令を実行するために、プロセッサ62は、内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号する。命令の実行中、または実行後、プロセッサ62は、1または複数の結果(中間結果であることも最終結果であることもある)を内部レジスタまたは内部キャッシュに書き込む。次いで、プロセッサ62は、それらの結果の1または複数をメモリ64に書き込む。特定の実施形態では、プロセッサ62は、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ66もしくは他の場所ではなく)メモリ64内の命令だけを実行し、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ806もしくは他の場所ではなく)
メモリ64内のデータだけを操作する。1または複数のメモリ・バス(それぞれがアドレス・バスとデータ・バスを含むことがある)がプロセッサ62をメモリ64に結合してもよい。バス72は、下記に記載されているように、1または複数のメモリ・バスを含んでもよい。特定の実施形態では、1または複数のメモリ管理ユニット(MMU)が、プロセッサ62とメモリ64との間に存在し、プロセッサ62によって要求されるメモリ64へのアクセスを容易にする。特定の実施形態では、メモリ64は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であってよい。さらに、適切な場合、このRAMは、シングルポート型またはマルチポート型RAMであってよい。この開示は、任意の好適なRAMを企図する。メモリ64は、適切な場合、1または複数のメモリ64を含んでもよい。この開示は、特定のメモリについて記載し示しているが、この開示は、任意の好適なメモリを企図する。
【0048】
特定の実施形態では、ストレージ66は、データまたは命令用のマス・ストレージを含む。限定するものとしてではなく一例として、ストレージ66は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらの2以上の組合せを含んでもよい。ストレージ66は、適切な場合、取外し式または非取外し式(または固定)媒体を含んでもよい。ストレージ66は、適切な場合、コンピュータ・システム60に対して内部であっても外部であってもよい。特定の実施形態では、ストレージ66は、不揮発性のソリッドステート・メモリである。特定の実施形態では、ストレージ66は、読出し専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムドROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、もしくはフラッシュ・メモリ、またはこれらの2以上の組合せであってよい。この開示は、任意の好適な物理形態をとるマス・ストレージ66を企図する。ストレージ66は、適切な場合、プロセッサ62とストレージ66の間の通信を容易にする1または複数のストレージ制御ユニットを含んでもよい。適切な場合、ストレージ66は、1または複数のストレージ66を含んでもよい。この開示は、特定のストレージについて記載し示しているが、この開示は、任意の好適なストレージを企図する。
【0049】
特定の実施形態では、I/Oインターフェース68は、コンピュータ・システム60と1または複数のI/Oデバイスとの間の通信のために1または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム60は、適切な場合、これらのI/Oデバイスの1または複数を含んでもよい。これらのI/Oデバイスの1または複数は、人とコンピュータ・システム60の間の通信を可能にする。限定するものとしてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオ・カメラ、別の好適なI/Oデバイス、またはこれらの2以上の組合せを含んでもよい。I/Oデバイスは、1または複数のセンサを含んでもよい。この開示は、任意の好適なI/Oデバイス、およびそれらのための任意の好適なI/Oインターフェース68を企図する。適切な場合、I/Oインターフェース68は、プロセッサ62がこれらのI/Oデバイスの1または複数を駆動することを可能にする1または複数のデバイスまたはソフトウェア・ドライバを含む。I/Oインターフェース68は、適切な場合、1または複数のI/Oインターフェース68を含んでもよい。この開示は、特定のI/Oインターフェースについて記載し示しているが、この開示は、任意の好適なI/Oインターフェースを企図する。
【0050】
特定の実施形態では、通信インターフェース70は、コンピュータ・システム60と1
もしくは複数の他のコンピュータ・システム60または1もしくは複数のネットワークとの間の通信(たとえば、パケットベースの通信など)のために1または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、通信インターフェース70は、ETHERNET(登録商標)もしくは他の有線ベースのネットワークとの通信のためのインターフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなど無線ネットワークとの通信のための無線NIC(WNIC)もしくは無線アダプタを含んでもよい。この開示は、任意の好適なネットワーク、およびそのための任意の好適な通信インターフェース70を企図する。限定するものとしてではなく一例として、コンピュータ・システム60は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1もしくは複数の部分、あるいはこれらの2以上の組合せと通信する。これらのネットワークの1または複数のうちの1または複数の部分は、有線であっても無線であってもよい。一例として、コンピュータ・システム60は、無線PAN(WPAN)(たとえば、BLUETOOTH(登録商標)WPANなど)、WI−FIネットワーク、WI−MAXネットワーク、携帯電話ネットワーク(たとえば、グローバル移動体通信システム(GSM(登録商標))ネットワークなど)、もしくは他の好適な無線ネットワーク、またはこれらの2以上の組合せと通信する。コンピュータ・システム60は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース70を含んでもよい。通信インターフェース70は、適切な場合、1または複数の通信インターフェース70を含んでもよい。この開示は、特定の通信インターフェースについて記載し示しているが、この開示は、任意の好適な通信インターフェースを企図する。
【0051】
特定の実施形態では、バス72は、コンピュータ・システム60の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、バス72は、アクセラレィティッド・グラフィックス・ポート(AGP)もしくは他のグラフィックス・バス、EISA(Enhanced Industry Standard Architecture)バス、フロントサイド・バス(FSB)、HT(HYPERTRANSPORT)相互接続、ISA(Industry Standard Architecture)バス、インフィニバンド相互接続、LPC(low−pin−count)バス、メモリ・バス、MCA(Micro Channel
Architecture)バス、PCI(Peripheral Component Interconnect)バス、PCIエクスプレス(PCIe)バス、SATA(serial advanced technology attachment)バス、VLB(Video Electronics Standards Association local)バス、もしくは別の好適なバス、またはこれらの2以上の組合せを含んでもよい。バス72は、適切な場合、1または複数のバス72を含んでもよい。この開示は、特定のバスについて記載し示しているが、この開示は、任意の好適なバスまたは相互接続を企図する。
【0052】
本明細書では、1または複数の非一時的コンピュータ可読記憶媒体は、適切な場合、1または複数の半導体ベースの、もしくは他の集積回路(IC)(たとえば、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC))、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはセキュア・デジタル・ドライブ、任意の他の好適な非一時的コンピュータ可読記憶媒体、またはこれらの2以上の組合せを含んでもよい。非一時的
コンピュータ可読記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せであってよい。
【0053】
本明細書では、「または(もしくは)」は、別段明確に示されていない限り、または別段文脈によって示されない限り、包括的(inclusive)であり、排他的なものではない。したがって、本明細書では、「AまたはB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「A、B、またはその両方」を意味する。さらに、「および」は、別段明確に示されていない限り、または別段文脈によって示されない限り、共同であり、個別的でもある。したがって、本明細書では、「AおよびB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「AおよびBを共同で、または個別的に」意味する。
【0054】
この開示の範囲は、当業者であれば理解するであろう、本明細書に記載され、または示されている例示的な実施形態に対する変更、置換、変形、代替、および修正すべてを包含する。この開示の範囲は、本明細書に記載され、または示されている例示的な実施形態に限定されない。さらに、この開示は、それぞれの実施形態について、本明細書では、特定の構成要素、要素、機能、動作、またはステップを含むものとして記載し示しているが、これらの実施形態のいずれも、当業者であれば理解するであろう、本明細書のどこかに記載され、または示されている構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは並べ替えを含んでもよい。さらに、添付の特許請求の範囲において、特定の機能を実施するように適合された、するように配置された、することが可能な、するように構成された、することが可能である、するように動作可能である、またはするように動作する装置もしくはシステム、または装置もしくはシステムの構成要素に言及することは、その装置、システム、または構成要素がそのように適合され、配置され、動作可能であり、構成され、可能であり、動作可能であり、動作する限り、それ、またはその特定の機能が作動される、オンにされる、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。
一実施形態において、方法は、コンピューティング・デバイスの複数の面上に位置する複数のセンサからリアルタイム・センサ・データを受信する工程と、定常状態からのリアルタイム・センサ・データにおける遷移を検出する工程と、検出に基づいて、コンピューティング・デバイスの差し迫った使用を決定する工程とを含む。