(57)【特許請求の範囲】
【請求項１】
１つまたは複数のコンピューティングシステムによって、
前記１つまたは複数のコンピューティングシステムが第１の状態にある間、複数の第１のセンサからの第１の入力のセットを検出し、
第１のセンサ値アレイ内の複数のセンサ値の各々が前記第１の入力のセットのうちの１つに対応するものである、前記第１のセンサ値アレイを生成し、
前記第１のセンサ値アレイを、第１のニューラルネットワークによって生成された第１の関数に入力として給送し、
前記第１の関数に少なくとも部分的に基づいて、１つまたは複数の第１の出力値を計算し、
前記１つまたは複数の第１の出力値に少なくとも部分的に基づいて、第１の動作が発生したかどうかを判断し、
前記第１の動作が発生したという判断に応答して、
第２のセンサ入力のセットに関する１つまたは複数の第２のセンサをポーリングし、
複数のセンサ値からなる第２のセンサ値セットを含む第２のセンサ値アレイであって、前記第２のセンサ値セットの各センサ値が前記第２のセンサ入力のセットのうちの１つに対応するものである、前記第２のセンサ値セットを含む第２のセンサ値アレイを生成し、
前記第２のセンサ値アレイを、第２のニューラルネットワークによって生成された第２の関数に入力として給送し、
前記第２の関数に少なくとも部分的に基づいて、１つまたは複数の第２の出力値を計算し、
前記第２の関数によって戻された前記１つまたは複数の第２の出力値に少なくとも部分的に基づいて、前記第１の状態を終了すること
を備える方法。
【請求項２】
前記１つまたは複数の第１の出力値が低電力マイクロコントローラによって計算され、前記第１の動作が発生したという判断に応答して、前記マイクロコントローラが、前記１つまたは複数の第２の出力値を計算するために、プロセッサをスリープモードから起動させる、請求項１に記載の方法。
【請求項３】
前記複数の第１のセンサが複数のタッチセンサを備える、請求項１に記載の方法。
【請求項４】
前記タッチセンサが容量式である、請求項３に記載の方法。
【請求項５】
前記１つまたは複数の第２のセンサが、
加速度計、
光センサ、または
マルチタッチディスプレイ表面
を備える請求項１に記載の方法。
【請求項６】
前記第１の状態はロック状態である、請求項１に記載の方法。
【請求項７】
前記第１の動作は手に取る動作である、請求項１に記載の方法。
【請求項８】
前記第１の関数および前記第２の関数はサーバの前記第１のニューラルネットワーク及び前記第２のニューラルネットワークによって生成される、請求項１に記載の方法。
【請求項９】
１つまたは複数のコンピューティングシステム内の１つまたは複数の非一時的なコンピュータ可読記憶媒体であって、１つまたは複数のプロセッサによって実行されたときに、
前記１つまたは複数のコンピューティングシステムが第１の状態にある間、複数の第１のセンサからの第１の入力のセットを検出し、
第１のセンサ値アレイ内の複数のセンサ値の各々が前記第１の入力のセットのうちの１つに対応するものである、前記第１のセンサ値アレイを生成し、
前記第１のセンサ値アレイを、第１のニューラルネットワークによって生成された第１の関数に入力として給送し、
前記第１の関数に少なくとも部分的に基づいて、１つまたは複数の第１の出力値を計算し、
前記１つまたは複数の第１の出力値に少なくとも部分的に基づいて、第１の動作が発生したかどうかを判断し、
前記第１の動作が発生したという判断に応答して、
第２のセンサ入力のセットに関する１つまたは複数の第２のセンサをポーリングし、
複数のセンサ値からなる第２のセンサ値セットを含む第２のセンサ値アレイであって、前記第２のセンサ値セットの各センサ値が前記第２のセンサ入力のセットのうちの１つに対応するものである、前記第２のセンサ値セットを含む第２のセンサ値アレイを生成し、
前記第２のセンサ値アレイを、第２のニューラルネットワークによって生成された第２の関数に入力として給送し、
前記第２の関数に少なくとも部分的に基づいて、１つまたは複数の第２の出力値を計算し、
前記第２の関数によって戻された前記１つまたは複数の第２の出力値に少なくとも部分的に基づいて、前記第１の状態を終了する
ように動作可能なロジックを実施するものである、記憶媒体。
【請求項１０】
前記１つまたは複数の第１の出力値が低電力マイクロコントローラによって計算され、前記第１の動作が発生したという判断に応答して、前記マイクロコントローラが、前記１つまたは複数の第２の出力値を計算するために、プロセッサをスリープモードから起動させる、
請求項９に記載の記憶媒体。
【請求項１１】
前記複数の第１のセンサが複数の容量式タッチセンサを備える、請求項９に記載の記憶媒体。
【請求項１２】
前記１つまたは複数の第２のセンサが、
加速度計、
光センサ、または
マルチタッチディスプレイ表面
を備える、請求項９に記載の記憶媒体。
【請求項１３】
前記第１の状態はロック状態である、請求項９に記載の記憶媒体。
【請求項１４】
前記第１の動作は手に取る動作である、請求項９に記載の記憶媒体。
【請求項１５】
前記第１の関数および前記第２の関数はサーバの前記第１のニューラルネットワーク及び前記第２のニューラルネットワークによって生成される、請求項９に記載の記憶媒体。
【請求項１６】
プロセッサと、複数の第１のセンサと、１つまたは複数の第２のセンサと、前記プロセッサに接続されて前記プロセッサによって実行可能な指令を備えるメモリと、を備える装置であって、前記プロセッサが、前記指令を実行したときに、
前記装置が第１の状態にある間、複数の第１のセンサからの第１の入力のセットを検出し、
第１のセンサ値アレイ内の複数のセンサ値の各々が前記第１の入力のセットのうちの１つに対応するものである、前記第１のセンサ値アレイを生成し、
前記第１のセンサ値アレイを、第１のニューラルネットワークによって生成された第１の関数に入力として給送し、
前記第１の関数に少なくとも部分的に基づいて、１つまたは複数の第１の出力値を計算し、
前記１つまたは複数の第１の出力値に少なくとも部分的に基づいて、第１の動作が発生したかどうかを判断し、
前記第１の動作が発生したという判断に応答して、
第２のセンサ入力のセットに関する１つまたは複数の前記第２のセンサをポーリングし、
複数のセンサ値からなる第２のセンサ値セットを含む第２のセンサ値アレイであって、前記第２のセンサ値セットの各センサ値が前記第２のセンサ入力のセットのうちの１つに対応するものである、前記第２のセンサ値セットを含む第２のセンサ値アレイを生成し、
前記第２のセンサ値アレイを、第２のニューラルネットワークによって生成された第２の関数に入力として給送し、
前記第２の関数に少なくとも部分的に基づいて、１つまたは複数の第２の出力値を計算し、
前記第２の関数によって戻された前記１つまたは複数の第２の出力値に少なくとも部分的に基づいて、前記第１の状態を終了するように動作可能である
ことを特徴とする装置。
【請求項１７】
低電力マイクロコントローラを更に備え、前記１つまたは複数の第１の出力値は前記低電力マイクロコントローラによって計算されたものであり、前記第１の動作が発生したという判断に応答して、前記マイクロコントローラが、前記１つまたは複数の第２の出力値を計算するために、前記プロセッサをスリープモードから起動させる、請求項１６に記載の装置。
【請求項１８】
前記複数の第１のセンサが複数のタッチセンサを備える、請求項１６に記載の装置。
【請求項１９】
前記複数のタッチセンサが容量式である、請求項１６に記載の装置。
【請求項２０】
前記１つまたは複数の第２のセンサが、
加速度計、
光センサ、または
マルチタッチディスプレイ表面
を備える請求項１６に記載の装置。
【請求項２１】
前記第１の状態はロック状態である、請求項１６に記載の装置。
【請求項２２】
前記第１の動作は手に取る動作である、請求項１６に記載の装置。
【請求項２３】
前記第１の関数および前記第２の関数はサーバの前記第１のニューラルネットワーク及び前記第２のニューラルネットワークによって生成される、請求項１６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、モバイル電子デバイスに関する。
【背景技術】
【０００２】
スマートフォン、タブレット、ノートブックコンピュータなどのモバイル電子デバイスは、複数の動作状態を有することが可能である。例えば、モバイルデバイスがそのユーザによって使用されていない間、モバイルデバイスは、電力消費レベルを低減して、電池寿命を長持ちさせるために、電力節約状態、すなわち、スリープ状態であること（例えば、スクリーンを薄暗くすること、もしくは暗くすること）が可能である。場合によっては、モバイルデバイスは、モバイルデバイスが意図しない動作または誤った動作を実行しないように、（例えば、モバイルデバイスのタッチスクリーンまたはキーパッドがロックされる）入力ロック状態であることも可能である。他の場合では、モバイルデバイスは、デバイスをロック解除して使用するために、ユーザが正確なパスワードまたは個人識別番号（ＰＩＮ）を提供することが要求されるように、セキュリティロックであり得る。他方で、モバイルデバイスがそのユーザによって盛んに使用されている間、モバイルデバイスは、（例えば、全出力レベルで、スクリーンまたはキーパッドがロック解除されて、ユーザ入力を受け取る準備ができている）通常動作状態であり得る。
【図面の簡単な説明】
【０００３】
【図１】ある例示的なモバイル電子デバイスを示す図。
【図２】ある例示的なモバイルデバイスの外観を示す図。
【図３】１つまたは複数のモバイルデバイスからトレーニングデータを受信するための、ある例示的なネットワーク環境を示す図。
【図４】トレーニングデータを取得および送信する、ある例示的な方法を示す図。
【図５】ニューラルネットワークによって関数を生成する、ある例示的な方法を示す図。
【図６】モバイルデバイスセンサによってモバイルデバイスの物理的状態を検出する、ある例示的な方法を示す図。
【図７】ある例示的なコンピュータシステムを示す図。
【発明を実施するための形態】
【０００４】
本開示は、次に、添付の図面に示される、それらの少数の実施形態を参照して詳細に説明される。以下の説明では、本開示の十分な理解をもたらすために、多数の特定の詳細が記載される。しかし、本開示は、これらの特定の詳細のうちのいくつかまたはすべてを伴わずに実践され得る。他の場合では、本開示を不必要にあいまいにしないために、よく知られている方法工程および／または構造は詳細に説明されていない。加えて、本開示は特定の実施形態に関して説明されるが、この説明は本開示を説明される実施形態に限定することが意図されないことを理解されたい。それと反対に、この説明は、添付の請求項によって定義される、本開示の趣旨内および範囲内に含まれ得る改変形態、修正形態、および均等物をカバーすることが意図される。
【０００５】
スマートフォン、タブレット、またはノートブックなど、モバイル電子デバイスは、複数の動作状態を有することが可能である。例えば、モバイルデバイスがある期間（例えば、数秒）にわたってそのユーザによって使用されていないとき、モバイルデバイスは、電力節約状態に入ることができる。電力節約状態で、モバイルデバイスは、エネルギーを節約して、電池寿命を長持ちさせるために、低電力レベルで動作することができる。モバイルデバイスのスクリーンを薄暗くすること、または暗くすることができる。モバイルデバイスを電力節約状態から通常の電力状態にするために、ユーザはモバイルデバイスに動作を実行すること（例えば、モバイルデバイスの電力ボタンを押すこと）が必要な場合がある。場合によっては（例えば、モバイルデバイスが数秒にわたって電力節約状態にあった後）、モバイルデバイスは入力ロック状態に入ることも可能である。入力ロック状態で、モバイルデバイスの入力構成要素（例えば、キーパッドまたはタッチ感応スクリーン）はロックされて、意図しない動作を引き起こす誤った入力を防ぐことができる。モバイルデバイスのキーパッドまたはスクリーンをロック解除するために、ユーザはモバイルデバイスに別の動作を実行することが必要な場合がある。例えば、モバイルデバイスがキーパッドを有する場合、ユーザは、キーを押下することが必要な場合がある。モバイルデバイスがタッチ感応スクリーンを有する場合、ユーザは、制御部を押下して、デバイスの出力を上げて、スクリーン上でスワイプジェスチャーを行うことが必要な場合がある。加えて、モバイルデバイスは、セキュリティロック状態を有することが可能である。セキュリティロック状態で、モバイルデバイスは、パスワードもしくはＰＩＮ（個人識別番号）でロックされて、モバイルデバイスに対する未許可のアクセスまたはモバイルデバイスの未許可の使用を防ぐ。モバイルデバイスをロック解除するために、ユーザは、適切なパスワードまたはＰＩＮを入力することが必要な場合がある。モバイルデバイスがそのユーザによって盛んに使用されているとき、モバイルデバイスは（例えば、全出力レベルで動作し、ユーザ入力を受け取る準備ができている）通常動作であり得る。場合によっては、モバイルデバイスは、その音声出力がオンにされる動作状態、その音声出力がオフにされる動作状態、またはその音声出力が（例えば、大きい、小さい、振動など）特定のモードである動作状態であり得る。他の動作状態もやはり可能であり、本開示は任意の適用可能な動作状態を企図する。
【０００６】
任意の所与の時点で、モバイルデバイスは、例えば、ユーザが現在そのモバイルデバイスを使用しているかどうか、ユーザの最後のモバイルデバイス使用から経過した時間量、または（例えば、携帯用ケース内、ユーザのポケットまたはハンドバッグの中など）モバイルデバイスの位置に応じて、これらの動作状態のうちのいずれか１つであり得る。
【０００７】
例えば、ユーザが、しばらくの間自らのモバイルデバイス（例えば、Ａｐｐｌｅ  ｉＰｈｏｎｅ）を使用しておらず、モバイルデバイスがユーザのポケット内に格納されていたと仮定する。この場合、モバイルデバイスは、電池を節約するために電力節約状態であると同様に、誤った入力を防ぐために入力ロック状態である可能性が高い。加えて、モバイルデバイスは、モバイルデバイスに対する未許可のアクセスを防ぐためにセキュリティロック状態である可能性もある。さらに、ユーザが、このとき、自らのモバイルデバイスを使用することを望むと仮定する。ユーザは、（１）モバイルデバイスを自らのポケットから取り出し、（２）電源ボタンを押下して、モバイルデバイスを電力節約状態から解き、（３）タッチスクリーンをスワイプして、モバイルデバイスの入力構成要素をロック解除することが必要な場合がある。加えて、モバイルデバイスが同様にセキュリティロックされている場合、ユーザは、パスワードまたはＰＩＮを入力して、モバイルデバイスをロック解除することも必要である。少なくとも、ユーザは少数の動作を実行する必要があり、これは、モバイルデバイスを使用する準備が整うまでに数秒かかる場合がある。そのような一連の動作が１日に（例えば、自らのモバイルデバイスをある期間にわたって使用しない後で、ユーザがそのモバイルデバイスを使用する必要があるたびに）何度も実行される必要があることを考えると、これは不便になる可能性がある。
【０００８】
したがって、特定の実施形態は、モバイル電子デバイスに関するユーザの意図に基づいて、モバイル電子デバイスの現在の状態を自動的に調整することができる。特定の実施形態では、モバイルデバイスなどのモバイル電子デバイスは、例えば、限定なく、ユーザが（例えば、１本または複数の指を使用して）モバイル電子デバイスの表面に触れたことを検出するための、（例えば、デバイスのディスプレイ、デバイスの背面、および／またはデバイスの１つもしくは複数の外側縁の上に配置された）タッチセンサ、モバイル電子デバイスが移動しているかどうか、およびその移動の速度を検出するための加速度計、モバイル電子デバイス付近の温度変化を測定するための温度計、別のオブジェクト（例えば、手、机、または他のオブジェクト）に対するモバイル電子デバイスの近接性を検出するための近接センサ、モバイル電子デバイスの周囲の周辺光を測定するための光センサ、モバイル電子デバイス付近のオブジェクトのデジタル画像を捕捉するための画像センサ（例えば、カメラ）、モバイル電子デバイスの（例えば、緯度および経緯の点で）位置を判断するための位置センサ（例えば、全地球測位システム（ＧＰＳ））、近距離通信（ＮＦＣ）センサ、Ｂｌｕｅｔｏｏｔｈセンサなど、様々なタイプのセンサを含み得る。本開示は、モバイル電子デバイスが任意の適用可能なタイプのセンサを含み得ることを企図する。これらのセンサは、所与の時点で、モバイル電子デバイスに関するユーザの意図を判断するために解析され得る、様々なタイプのセンサデータを提供することが可能である。
【０００９】
図１は、ある例示的なモバイル電子デバイス１００を示す。特定の実施形態では、モバイル電子デバイス１００は、プロセッサ１１０と、メモリ１２０と、通信構成要素１３０（例えば、ワイヤレス通信のためのアンテナおよび通信インターフェース）と、（例えば、タッチセンサ、加速度計、温度計、近接センサ、光センサ、画像センサなど）様々なタイプのいくつかのセンサ１５０とを含み得る。特定の実施形態では、センサハブ１４０を、オプションで、モバイルデバイス１００内に含めることが可能である。センサ１５０は、センサ１５０を制御して、センサ１５０用の電力を管理して、センサ入力を処理して、センサデータを集約して、ある種のセンサ機能を実行する低電力消費プロセッサであり得るセンサハブ１４０に接続され得る。加えて、特定の実施形態では、いくつかのタイプのセンサ１５０をコントローラ１６０に接続することが可能である。この場合、センサハブ１４０は、次に、センサ１５０に接続されるコントローラ１６０に接続され得る。あるいは、特定の実施形態では、センサ１５０を管理するために、センサハブ１４０の代わりにセンサモニタが存在し得る。
【００１０】
特定の実施形態では、モバイル電子デバイス１００（例えば、モバイルデバイス）は、その入力構成要素としてタッチスクリーンを有することが可能である。図２は、ある例示的なモバイルデバイス２００の外観を示す。モバイルデバイス２００は、６つの側面、すなわち、正面、背面、上面、底面、左側面、および右側面を有する。タッチセンサは、モバイルデバイス２００の６つの側面のうちのいずれか任意の場所に配置され得る。例えば、図２では、タッチセンサ２１０Ａを組み込んだタッチスクリーンがモバイルデバイス２００の正面に配置されている。タッチスクリーンは、モバイルデバイス２００用の入出力（ＩＯ）構成要素として機能し得る。加えて、タッチセンサ２１０Ｂおよび２１０Ｃは、モバイルデバイス２００の左側面および右側面にそれぞれ配置される。タッチセンサ２１０Ｂおよび２１０Ｃは、ユーザの手がモバイルデバイス２００の側面に触れるのを検出することができる。特定の実施形態では、タッチセンサ２１０Ａ、２１０Ｂ、および２１０Ｃは、抵抗タッチセンサ、容量タッチセンサ、および／または誘導タッチセンサを使用して実装され得る。タッチセンサ２１０Ａ、２１０Ｂ、および２１０Ｃの電極は、薄い固体材料片上または薄いワイヤメッシュ上に配列され得る。容量タッチセンサの場合、２つのタイプの電極、すなわち、送信電極および受信電極が存在し得る。これらの電極は、電気パルスを用いて送信電極を駆動して、ユーザのタッチの位置を検出するために、ユーザのタッチによって引き起こされた、受信電極からの容量の変化を測定するように設計されたマイクロチップであってよいコントローラ（例えば、図１に示されたコントローラ１６０）に接続され得る。
【００１１】
モバイルデバイス２００は、モバイル電子デバイス１００の１例であり、実際には、デバイスは、任意の数の側面を有することが可能である。本開示は、任意の数の側面を有するデバイスを企図する。タッチセンサは、デバイスの任意の側面上に配置され得る。モバイルデバイスは、各デバイスに関して異なる位置に配列された複数のタッチセンサ２１０Ａ〜Ｃを有することが可能である。
【００１２】
特定の実施形態では、モバイルデバイス２００は、その背面に配置された近接センサ２２０（例えば、赤外線ＬＥＤ（発光ダイオード））を有することが可能である。近接センサ２２０は、別のオブジェクトに対するその近接性、したがって、モバイルデバイス２００の近接性を判断するためのセンサデータを供給することが可能であり得る。
【００１３】
特定の実施形態では、正面に加えて、モバイルデバイスは、左側面上および右側面上にタッチセンサを有することが可能である。オプションで、モバイルデバイスは、背面、上面、または底面にタッチセンサを有することも可能である。したがって、ユーザの手がモバイルデバイスに触れて、モバイルデバイスをしっかりと手に取ると、タッチセンサは、ユーザの指または手のひらがモバイルデバイスに触れるのを検出することができる。タッチセンサデータを解析して、ユーザがモバイルデバイスのどこをいつ触れたかを判断することができる。ユーザがモバイルデバイスに触れるとき、それは、ユーザがモバイルデバイスを使用することを望む可能性があることの表示であり得る。特定の実施形態では、ユーザがモバイルデバイスに触れたことを検出するとすぐに、モバイルデバイスを電力節約状態から通常動作状態にすることができる。メインＣＰＵを電力投入状態に遷移させることができ、モバイルデバイスのスクリーンをオンにして、明るくすることができ、モバイルデバイスの入力構成要素（例えば、正面のキーパッドまたはタッチスクリーン）を自動的にロック解除することができる。結果として、ユーザが使用するためにモバイルデバイスを自らのポケットから出すときには、モバイルデバイスは、ユーザ入力を受け取り、通常動作を開始する準備が整っている。
【００１４】
特定の実施形態では、タッチセンサを左側面、右側面、上面、および／または底面に配置することは、ユーザがモバイルデバイスの両方の側面に触れているか（すなわち、ユーザがモバイルデバイスを手に取っているか）どうかを感知することを可能にし得る。したがって、タッチセンサは、モバイルデバイスに単に触れることに加えて、モバイルデバイスを手に取っていることを区別することができる。特定の実施形態では、ユーザがモバイルデバイスを手に取っていることを検出することができることは、ユーザの意図のより正確な、したがってより良好な表示をもたらすことができる。この意図を使用して、モバイルデバイスを電力節約状態から通常動作状態にすることができる。メインＣＰＵを電力投入状態に遷移させることができ、モバイルデバイスのスクリーンをオンにして、明るくすることができ、モバイルデバイスの入力構成要素（例えば、正面のキーパッドまたはタッチスクリーン）を自動的にロック解除することができる。結果として、ユーザが使用するためにモバイルデバイスを自らのポケットから出すときには、モバイルデバイスは、ユーザ入力を受け取り、通常動作を開始する準備が整っている。それでもなお、上で説明したように、単一のタッチを使用して、ユーザの意図を推定することが可能である。
【００１５】
特定の実施形態では、モバイルデバイスは、タッチセンサに加えて、またはその代わりに、加速度計を左側面上および右側面上に有することが可能である。時には、ユーザは、その時点でユーザがモバイルデバイスを使用する意図がないときですら、モバイルデバイスが格納されているポケットの中に自らの手を入れ、したがって、モバイルデバイスに触れる場合がある。モバイルデバイスが加速度計をやはり有する場合、加速度計が提供するセンサデータを使用して、ユーザがモバイルデバイスを使用する意図があるかどうかを推定することができる。モバイルデバイスがユーザのポケット内に格納されている場合、ユーザが移動するにつれて、モバイルデバイスは移動し得る。しかし、そのような移動は、通常、比較的遅い。他方で、ユーザがモバイルデバイスをしっかりと手に取って、使用するためにモバイルデバイスをポケットから取り出すとき、モバイルデバイスの移動速度に比較的突然の増加が存在し得る。モバイルデバイスの移動速度のこの変更は、加速度計が供給するセンサデータに基づいて検出され得る。特定の実施形態では、モバイルデバイスの移動の速度に著しい増加が存在することを検出するとすぐに、単独で、または、ユーザがモバイルデバイスに触れたことを検出することに加えて、モバイルデバイスを電力節約状態から通常動作状態にすること（例えば、モバイルデバイスのスクリーンをオンにすること）ができ、モバイルデバイスの入力構成要素を自動的にロック解除することができる。
【００１６】
特定の実施形態では、モバイルデバイスは、タッチセンサ（例えば、モバイルデバイスの左側面上および右側面上のタッチセンサ）に加えて、またはその代わりに、ジャイロメータを有することが可能である。ジャイロスコープとしても知られているジャイロメータは、１つまたは複数の空間的次元に沿って向きを測定するためのデバイスである。特定の実施形態では、ジャイロメータを使用して、モバイルデバイスの向きを測定することができる。モバイルデバイスがユーザのポケット内に格納されているとき、モバイルデバイスは、大抵、１つの向きにとどまる可能性がある。しかし、ユーザがモバイルデバイスをしっかりと手に取って、使用するためにモバイルデバイスをポケットから取り出すとき、モバイルデバイスの向きに比較的突然の変化が存在し得る。モバイルデバイスの向きは、ジャイロメータによって検出および測定され得る。モバイルデバイスの向きが著しく変化した場合、それは、ユーザが自らのポケットからデバイスを取り出した可能性があるという別の表示であり得る。
【００１７】
特定の実施形態では、モバイルデバイスは光センサを有することが可能である。モバイルデバイスがユーザのポケット内に格納されているとき、モバイルデバイスの周囲は比較的暗い。他方で、ユーザがモバイルデバイスを自らのポケットから取り出すとき、特に、日中の間、または明るい領域内で、モバイルデバイスの周囲は比較的明るい可能性がある。光センサが供給するセンサデータを解析して、モバイルデバイスの周囲の周辺光レベルの著しい変化がいつ発生するかを検出することができる。特定の実施形態では、モバイルデバイスの周囲に周辺光レベルの著しい増加が存在することを検出するとすぐに、単独で、またはユーザがモバイルデバイスに触れたことを検出すること、もしくはモバイルデバイスの移動の速度に著しい増加が存在することを検出することを含めて（しかし、これらに限定されない）他の特性を検出することに加えて、モバイルデバイスを電力節約状態から通常動作状態にすることができ、モバイルデバイスの入力構成要素を自動的にロック解除することができる。
【００１８】
特定の実施形態では、モバイルデバイスは近接センサを有することが可能である。近接センサが供給するセンサデータを解析して、モバイルデバイスが、ユーザの手など、オブジェクトにいつ近接するかを検出することができる。例えば、図２に示すように、モバイルデバイス２００は、その背面上に配置された赤外線ＬＥＤ２２０（すなわち、近接センサ）を有することが可能である。ユーザがそのようなモバイルデバイスを手に取っているとき、ユーザの手のひらは赤外線ＬＥＤ２２０をカバーし得る。結果として、赤外線ＬＥＤ２２０は、ユーザの手がモバイルデバイス２００にいつ近接するかを検出することができる。特定の実施形態では、モバイルデバイスがユーザの手に近接していることを検出するとすぐに、単独で、または本明細書で説明される他のタイプのセンサ表示と組合せて、モバイルデバイスを電力節約状態から通常動作状態にすることができ、モバイルデバイスの入力構成要素を自動的にロック解除することができる。
【００１９】
モバイルデバイスは、様々なタイプの任意の数のセンサを有することが可能であり、これらのセンサは、異なるタイプのセンサデータを供給することができる。個々のタイプのセンサデータの異なる組合せを一緒に使用して、モバイルデバイスに関するユーザの意図（例えば、ユーザがモバイルデバイスを自らのポケットから取り出して、それを使用することを意図しているかどうか）を検出および推定することができる。複数のタイプのセンサデータを組合せて使用することは、単一のタイプのセンサデータを使用するよりも、所与の時点で、モバイルデバイスに関するユーザの意図のより正確な、したがって、より良好な推定をもたらすことができる。それでもなお、単一のタイプのセンサデータ（例えば、タッチセンサデータ）を使用して、ユーザの意図を推定することが可能であり、多くの場合、これが望ましい。加えて、すべてのユーザは自らのモバイルデバイスを異なって手に取っている可能性があるため、手に取る動作に関するセンサ入力はユーザおよびデバイスを通して一貫しない可能性がある。ユーザがモバイルデバイスを手に取るときの特定のセンサ値に関して、すべてのユーザおよびデバイスを通したパターンを検出することは、数千人時を費やす可能性があり、したがって、このタスクは、特定の実施形態では、人工ニューラルネットワークによって実行されるのに適切な場合がある。
【００２０】
図３は、クライアントモバイルデバイスからのトレーニングデータを利用する特定の実施形態に関する、ある例示的なネットワーク環境を示す。図３は、複数のモバイルデバイス２００ａ〜２００ｎを示す。モバイルデバイス２００ａ〜ｎは、上で説明した任意のタイプのものであってよい。特定の実施形態では、モバイルデバイス２００ａ〜ｎは、スマートフォンなど、特定のクラスのモバイルデバイスのものであってよい。特定の実施形態では、モバイルデバイス２００ａ〜ｎは、特定のタイプまたはモデルのスマートフォンのものであってよい。しかし、特定の実施形態では、モバイルデバイス２００ａ〜ｎの各々は、任意の製造業者またはモデルのものであってよい。
【００２１】
特定の実施形態では、モバイルデバイス２００ａ〜ｎの各々は、トレーニングデータ３０５を記録して、中央ニューラルネットワークサーバ３０１に送信するためのアプリケーションプログラムを含み得る。モバイルデバイス２００ａ〜ｎが収集するトレーニングデータ３０５を使用して、１次ニューラルネットワーク３０２と２次ニューラルネットワーク３０３とをトレーニングすることができる。特定の実施形態では、任意の適切な数のニューラルネットワークを利用することができる。特定の実施形態では、１つのニューラルネットワークだけを使用することができる。本開示は、任意の数のニューラルネットワークが任意の数の出力または関数を生成することを企図する。
【００２２】
モバイルデバイス２００ａ〜ｎの各々の上に常駐するアプリケーションプログラムは、トレーニング段階の間、所定の期間内に特定の運動を実行するようにユーザに催促することができる。例えば、アプリケーションは、「あなたの電話を平面上に置いて、次の１５秒以内に、通常行うように、使用するために取り上げてください」とユーザに催促することができる。ユーザが応じるとき、トレーニングアプリケーションは、特定の動作に関して様々なセンサ１５０からのセンサデータを記録することができ、値のアレイおよび状態値として、それらのセンサ値を送信することができる。例えば、トレーニングデータ３０５は、容量Ｃ０〜Ｃｎとセンサ値Ｓ０〜Ｓｎとを有する１次元アレイを示す。特定の実施形態では、容量Ｃ０〜Ｃｎはタッチセンサ２１０Ａ〜Ｃによって生成される。特定の実施形態では、タッチセンサ２１０Ａ〜Ｃは抵抗方式であってよく、トレーニングデータ３０５は、タッチセンサ２１０Ａ〜Ｃによって測定されたインピーダンスを含む。トレーニングデータ３０５は状態も含む。例えば、トレーニングアプリケーションは、使用するために、テーブルから電話を手に取って、持ち上げることを表す第１の状態に「０」を割り当てることができる。別の例として、トレーニングアプリケーションは、使用するために電話をポケットから手に取ることを表す第２の状態に「１」を割り当てることができ、トレーニングアプリケーションは、ポケットまたはハンドバッグの中の電話を表す第３の状態に「２」を割り当てることができる。特定の実施形態では、トレーニングアプリケーションは、任意の適切な動作または移動を表す、任意の数の状態を有することが可能である。本開示は、任意の数の可能な状態を企図する。
【００２３】
モバイルデバイス２００ａ〜ｎ上のトレーニングアプリケーションは、インターネット３０４を介して、トレーニングデータをニューラルネットワークサーバ３０１に送信する。ニューラルネットワークサーバ３０１は、１つまたは複数のニューラルネットワーク、この例では、１次ニューラルネットワーク３０２および２次ニューラルネットワーク３０３を維持する。ニューラルネットワーク３０２および３０３は、複数のモバイルデバイス２００ａ〜ｎからトレーニングデータを受信して、機械学習アルゴリズムを使用して、１つまたは複数の状態と相関するセンサ値のパターンを認識することができる。特定の実施形態では、ニューラルネットワーク３０２および３０３は、リカレントニューラルネットワーク（ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）であり得る。特定の実施形態では、ニューラルネットワークは、フィードフォーワードニューラルネットワーク（ｆｅｅｄｆｏｒｗａｒｄ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）であり得る。特定の実施形態では、通時的逆伝播（ＢＰＴＴ：ｂａｃｋｐｒｏｐａｇａｔｉｏｎ  ｔｈｒｏｕｇｈ  ｔｉｍｅ）トレーニングが利用される。特定の実施形態では、逆伝播トレーニングが利用される。本開示は、任意の適切なニューラルネットワークと、ニューラルネットワーク３０２および３０３をトレーニングする任意に適切な方法とを使用することを企図する。
【００２４】
１次ニューラルネットワーク３０２および２次ニューラルネットワーク３０３は、トレーニングデータ３０５内に含まれたセンサ値の一部だけを利用することができる。例えば、特定の実施形態では、１次ニューラルネットワーク３０２は、複数のモバイルデバイス２００ａ〜ｎのうちの１つまたは複数のタッチセンサ２１０Ａ〜Ｃからの容量値だけを入力として受信する。特定の実施形態では、１次ニューラルネットワーク３０２は、常に実行しているセンサから、または低電力センサからだけセンサ値を受信することができる。特定の実施形態では、２次ニューラルネットワーク３０３は、１次ニューラルネットワーク３０２のセンサセットとは異なるか、またはそのセンサセットと重複するセンサセットから入力を受信することができる。例えば、２次ニューラルネットワーク３０３は、スリープモードまたはロックモードの間に活性化されない、複数のモバイルデバイス２００ａ〜ｎのうちの１つもしくは複数の加速度計、ジャイロメータ、光センサ、近接センサ、または別のセンサからセンサ値を受信することができる。
【００２５】
１次ニューラルネットワーク３０２は、センサ値Ｃ０〜Ｃｎのセットに関して実行されるか、またはそのセットと畳み込むことが可能な関数ｆ０を出力する。特定の実施形態では、関数ｆ０は、コントローラ１６０など、モバイルデバイス２００内の低電力マイクロコントローラの処理機能に限定され得る。特定の実施形態では、関数ｆ０は、メモリリソースまたはプロセッサリソースを節約することができる、左シフト、もしくは右シフトなど、一連の論理動作であってよい。数学演算を実装する任意の適切な方法を使用することが可能である。同様に、２次ニューラルネットワーク３０３は、センサ値Ｓ０〜Ｓｎのセットに関して実行されるか、またはそのセットと畳み込まれることが可能な関数ｆ１を出力する。特定の実施形態では、関数ｆ１は、より高い機能の浮動小数点演算装置または他の処理要素を必要とする関数ｆ０よりも、計算的により著しく複雑な場合がある。特定の実施形態では、関数ｆ１は、モバイルデバイス２００のメインプロセッサ１１０によってのみ実行可能である。計算の後、ニューラルネットワークサーバ３０１は、インターネット３０４を介して、関数ｆ０およびｆ１をモバイルデバイス２００ａ〜ｎに送信することができる。
【００２６】
特定の実施形態では、ニューラルネットワーク３０２および３０３は、所定の間隔で、関数ｆ０および関数ｆ１をそれぞれ計算する。特定の実施形態では、この間隔は、１週間であってよい。特定の実施形態では、トレーニングデータ３０５の量が所定のサンプル数を超えるとき、ニューラルネットワーク３０２および３０３は、関数ｆ０およびｆ１を計算する。特定の実施形態では、ニューラルネットワーク３０２および３０３は、関数ｆ０および関数ｆ１を連続的に計算して、関数ｆ０またはｆ１が、それぞれ、最近送信された関数値とは所定の量だけ異なる場合だけ、モバイルデバイス２００ａ〜ｎのユーザに更新を送信する。本開示は、関数ｆ０またはｆ１を計算して、モバイルデバイス２００ａ〜ｎに送信するための任意の適切な間隔を企図する。
【００２７】
ニューラルネットワーク３０２および３０３によって生成される関数ｆ０ならびにｆ１は、受信されたトレーニングデータ３０５のセットの数に関する精度を改善する。特定の実施形態では、ニューラルネットワークサーバ３０１およびトレーニングアプリケーションは、ソーシャルネットワーキングシステムなど、アプリケーションまたはサービスのユーザからトレーニングデータを取得することができる。特定の実施形態では、ニューラルネットワークサーバ３０１は、モバイルデバイス２００ａ〜ｎ上に常駐するソーシャルネットワーキングアプリケーションを有するソーシャルネットワーキングシステムによってホストされ得る。
【００２８】
図４は、特定の実施形態による、トレーニングデータを収集するための、ある例示的な方法を示す。工程４００で、トレイナーアプリケーションは、所定の時間量内で１つまたは複数の状態によって表される動作を実行するようにユーザに催促する。前に議論したように、この動作は、電話をポケットから取り出すこと、電話を平面から手に取ること、または電話をポケットもしくはハンドバッグの中に残しておくことを含み得る。特定の実施形態では、トレーニングアプリケーションは、遷移状態を含めて、任意の数の状態を有することが可能である。例えば、トレーニングアプリケーションは、第１の状態として、モバイルデバイス２００をポケットの中に入れて、第２の状態を表す、モバイルデバイス２００をポケットから取り出して、データを収集することをユーザに要求することができる。特定の実施形態では、この催促は、可視であってよく、または可聴であってもよい。例えば、モバイルデバイス２００を自らのポケット内に入れた後、モバイルデバイス２００のセンサが「雑音」、すなわち、例えば、ポケットまたはバッグの中で使用されない間の移動によって生成されるデータの例を記録することができるように、ある数の歩数を歩くように可聴式にユーザに催促することができる。本開示は、任意の適切な数の状態、およびそれらの状態によって表される動作を実行するようにユーザに催促する任意の適切な手段を企図する。
【００２９】
工程４０１で、トレーニングアプリケーションは、所定の存続期間内にセンサ値を記録する。特定の実施形態では、モバイルデバイス２００は、すべての利用可能なセンサから記録する。特定の実施形態では、モバイルデバイス２００は、利用可能なセンサのサブセットからだけ記録する。本開示は、モバイルデバイス２００の複数のセンサからのセンサデータを捕捉する任意の適切な方法を企図する。特定の実施形態では、トレーニングアプリケーションは、異なるモデルのモバイルデバイス２００ａ〜ｎに関する各タッチセンサ１２０Ａ〜Ｃの位置を考慮に入れる。例えば、モバイルデバイス２００ａは、モバイルデバイス２００ｂとは異なる位置内にタッチセンサを有することが可能である。特定の実施形態では、トレーニングアプリケーションは、センサ出力の各々がニューラルネットワーク３０２および３０３の正確な入力にマッピングされ得るように、自らの特定のモバイルデバイスの型式（ｍａｋｅ）およびモデルを入力するようにユーザに要求することができる。特定の実施形態では、トレーニングアプリケーションは、モバイルデバイス自体から、例えば、モバイルデバイスのファームウェアまたはＢＩＯＳからモバイルデバイスの型式およびモデルを読み取ることができる。
【００３０】
工程４０２で、各モバイルデバイス２００ａ〜２００ｎ内のトレーニングアプリケーションは、センサ値および状態をニューラルネットワークサーバ３０１に送信する。特定の実施形態では、各状態に関して工程４００および４０１の方法が繰り返されて、特定の状態によって表される各動作からのすべてのトレーニングデータが同時に集約および送信される。特定の実施形態では、方法は各状態に関して工程４００〜４０２を繰り返し、トレーニングデータ３０５が捕捉されるとすぐに、トレーニングデータ３０５はニューラルネットワークサーバ３０１に送信される。特定の実施形態では、すべてのモバイルデバイス２００ａ〜ｎがトレーニングに参加するとは限らないことになる。例えば、モバイルデバイス２００ｎは、トレーニングデータ３０５をニューラルネットワークサーバ３０１に提供せずに、関数ｆ０およびｆ１を受信することができる。より多くのデバイスがトレーニングデータ３０５を提出すればするほど、関数ｆ０およびｆ１はより正確かつ頑強になる。特定の実施形態では、トレーニングは、モバイルデバイス２００ａ〜ｎに要求され得る。特定の実施形態では、様々なデバイスが図４のトレーニングを周期的に実行することが必要とされる場合がある。本開示は、トレーニングデータ３０５を収集する任意の適切な方法を企図する。
【００３１】
図５は、関数ｆ０およびｆ１を生成するために、ニューラルネットワークサーバ３０１によって実行される、ある例示的な方法を示す。工程５００で、ニューラルネットワークサーバ３０１は、様々なモバイルデバイス２００ａ〜ｎからトレーニングデータ３０５を受信する。特定の実施形態では、受信されたトレーニングデータ３０５のセットの数が所定の閾値を超えるとき、ニューラルネットワークサーバ３０１は、関数ｆ０およびｆ１を生成することができる。特定の実施形態では、ニューラルネットワークサーバ３０１は、関数ｆ０およびｆ１を連続的に生成するが、生成された関数をモバイルデバイス２００ａ〜ｎに周期的に送信することだけが可能である。本開示は、任意の適切なタイミングの関数生成、関数更新、および関数送信を企図する。
【００３２】
工程５０１で、ニューラルネットワークサーバ３０１は、センサタイプに基づいてセンサ値を分別する。特定の実施形態では、１次ニューラルネットワーク３０２および２次ニューラルネットワーク３０３は、入力として、異なるセンサを利用することができる。例えば、１次ニューラルネットワーク３０２は、入力として、容量タッチセンサ１２０Ａ〜Ｃからのセンサ値だけを受け入れることができる。したがって、容量値Ｃ０〜Ｃｎおよび状態インジケータが１次ニューラルネットワーク３０２内に給送され得る。対照的に、２次ニューラルネットワーク３０２は、ジャイロメータ、加速度計、光センサなどからのセンサ値だけを受け入れることができる。したがって、センサ値Ｓ０〜Ｓｎおよび状態インジケータが２次ニューラルネットワーク３０３に供給され得る。特定の実施形態では、各ニューラルネットワークによって受け入れられるセンサ入力同士の間に著しい重複が存在し得る。例えば、２次ニューラルネットワーク３０３は、１つまたは複数のタッチセンサ１２０Ａ〜Ｃからのセンサ値、ならびに、カメラ、光センサ、近接センサなど、他の高電力センサからのセンサ値の両方を受け入れることができる。本開示は、ニューラルネットワーク３０２および３０３に対する入力の任意の組合せを企図する。
【００３３】
工程５０２ａおよび５０２ｂで、特定のセンサ値がニューラルネットワーク３０２および３０３に送信される。特定の実施形態では、トレーニングデータ３０５内に含まれた状態値とともに、特定のセンサ値が送信される。したがって、１次ニューラルネットワーク３０２は、センサ入力の間、例えば、デバイスが手に取られていた、デバイスがテーブルの上に水平に置かれていた、またはデバイスがバッグもしくはポケット内にあったという、デバイスの状態とともに、タッチセンサ１２０Ａ〜Ｃから容量Ｃ０〜Ｃｎを受信することができる。同様に、２次ニューラルネットワーク３０３は、状態値とともに、センサ値Ｓ０〜Ｓｎ（および、特定の実施形態では、Ｃ０〜Ｃｎ）を受信することができる。
【００３４】
工程５０３および５０４で、ニューラルネットワーク３０２および３０３は、関数ｆ０およびｆ１をそれぞれ生成する。ニューラルネットワーク３０２および３０３は、任意のタイプのニューラルネットワークのものであり得る。特定の実施形態では、ニューラルネットワーク３０２および３０３は、リカレントニューラルネットワークであり得る。特定の実施形態では、ニューラルネットワーク３０２および３０３は、Ｈｏｐｆｉｅｌｄリカレントニューラルネットワーク、Ｅｌｍａｎリカレントニューラルネットワーク、Ｊｏｒｄａｎリカレントニューラルネットワーク、Ｅｃｈｏ状態リカレントニューラルネットワーク、長期短期メモリ（ｌｏｎｇ  ｓｈｏｒｔ−ｔｅｒｍ  ｍｅｍｏｒｙ）リカレントニューラルネットワーク、双方向リカレントニューラルネットワーク、または連続時間リカレントニューラルネットワークであり得る。特定の実施形態では、ニューラルネットワーク３０２および３０３は、フィードフォーワードニューラルネットワークであり得る。特定の実施形態では、ニューラルネットワーク３０２および３０３は、適応型線形要素（ＡＤＡＬＩＮＥ：ａｄａｐｔｉｖｅ  ｌｉｎｅａｒ  ｅｌｅｍｅｎｔｓ）と多重適応型線形要素（ＭＡＤＡＬＩＮＥ：ｍｕｌｔｉｐｌｅ  ａｄａｐｔｉｖｅ  ｌｉｎｅａｒ  ｅｌｅｍｅｎｔｓ）とを利用することができる。本開示は、関数ｆ０およびｆ１を生成するための、任意の適切なニューラルネットワーク３０２および３０３を企図する。特定の実施形態では、ニューラルネットワーク３０２は、ニューラルネットワーク３０３とは異なるタイプ、トレーニング方法、またはアーキテクチャのものであってよい。特定の実施形態では、ニューラルネットワーク３０２および３０３の計算の複雑性は、関数ｆ０またはｆ１が実行されることになるプロセッサによって制限される。例えば、ｆ０は、低電力マイクロコントローラ上で実行するために、計算的に単純になるように設計され得る。対照的に、関数ｆ１は、プロセッサ１１０など、高電力メインプロセッサユニットによって実行するために、計算的により複雑またはプロセッサ集約的になるように設計され得る。
【００３５】
工程５０５で、ニューラルネットワークサーバ３０１は、関数ｆ０およびｆ１をクライアントデバイス２００ａ〜２００ｎに送信する。前に議論したように、ニューラルネットワークサーバ３０１は、関数ｆ０およびｆ１を任意のモバイルデバイス２００に送信することができる。特定の実施形態では、モバイルデバイス２００は、トレーニングデータ３０５をニューラルネットワークサーバ３０１に送信することによって、ニューラルネットワークトレーニングに参加したことを必要とされない。特定の実施形態では、ニューラルネットワークサーバ３０１は、所定の間隔で関数ｆ０およびｆ１を送信することができる。前に説明したように、関数ｆ０またはｆ１が前に送信された関数とは所定の量異なるとき、関数ｆ０またはｆ１が送信され得る。本開示は、任意の適切な送信方法または送信タイミングを企図する。
【００３６】
図６は、センサデータを使用して、ロック状態を選択的に終了するために、モバイルデバイス２００ａ〜ｎによって実行される、ある例示的な方法を示す。例えば、ユーザがデバイスを手動でロックした後、または長期的な不活性の後、工程が開始するとき、モバイルデバイス２００はアイドルであるか、またはロックされている。
【００３７】
工程６０１で、マイクロコントローラ、すなわち、センサコントローラ１６０は、その１次センサの入力を検出する。特定の実施形態では、１次センサは、１次ニューラルネットワーク３０２によって生成された関数ｆ０によって利用されるセンサである。特定の実施形態では、１次センサは、タッチセンサ１２０Ａ〜Ｃであり、アイドル状態の場合ですら、マイクロコントローラ、すなわち、センサコントローラ１６０によって連続的に監視される。
【００３８】
工程６０２で、マイクロコントローラ、すなわちセンサコントローラ１６０は、入力値として、１次センサによって生成された値を有する関数ｆ０を実行する。特定の実施形態では、１次センサのセンサ値は、アレイなど、データ構造の形で特定の順序で配列され得る。例えば、関数ｆ０は、入力が、左側面容量タッチセンサ、背面容量タッチセンサ、右側面容量タッチセンサの順番に配列されることを要求する場合がある。特定の実施形態では、センサ値をベクトルとして表現することが可能である。特定の実施形態では、関数ｆ０は、入力ベクトル内の値の各々によって乗算されることになる重みのセットであり得る。特定の実施形態では、関数ｆ０は、センサ値の入力ベクトルと単に畳み込まれることが可能である。そのような実施形態では、計算的な効率性を保つために、一連のビットシフト、およびｆ０と入力ベクトルとの間の論理演算として畳み込み演算を実行することができ、関数ｆ０が、アセンブリなど、低レベル言語で実行されるのを可能にする。
【００３９】
関数ｆ０は、入力ベクトルとの畳み込みの結果として、１つまたは複数の値を出力する。特定の実施形態では、単一の出力値だけが存在し得る。特定の実施形態では、「手に取る」、「テーブル」、または（例えば、デバイスがポケットもしくはバッグの中にあることを示す）「雑音」など、可能な出力状態の各々に関する出力値が存在し得る。特定の実施形態では、１つまたは複数の出力値は離散的であり得る。特定の実施形態では、１つまたは複数の出力値は連続的であり得、これは、モバイルデバイス２００が１つまたは複数の状態である確率を表す。本開示は、関数ｆ０からの任意の適切な出力値を企図する。
【００４０】
工程６０３で、モバイルデバイス２００は、関数ｆ０の出力にアクセスして、メインプロセッサ１１０を起動させて関数ｆ１に進むかどうかを判断する。そのような判断は、ｆ０の出力値が、手に取る動作が起こる可能性が高いことを示すという判断に対応する。特定の実施形態では、この判断は、すべての出力値の平均に基づくことが可能である。特定の実施形態では、この判断は、単一の出力値、例えば、「手に取る」動作に対応する値が特定の閾値を超えるかどうかに基づくことが可能である。特定の実施形態では、この判断は、「雑音」状態に関連する値など、特定の出力値が所定の閾値未満であるかどうかに基づくことが可能である。本開示は、関数ｆ０からの出力に基づく任意の適切な決定アルゴリズムを企図する。
【００４１】
工程６０４で、工程６０３で手に取る動作が起こる可能性が高いという肯定的な判断時に、マイクロコントローラ、すなわち、センサプロセッサ１６０は、通知メッセージを送信して、モバイルデバイス２００のメインプロセッサ１１０を起動させることができる。特定の実施形態では、この通知メッセージは、メインプロセッサ１１０を起動させるためのハードウェア割込みであり得る。特定の実施形態では、マイクロコントローラ、すなわち、センサプロセッサ１６０は、特に、メインプロセッサ１１０を起動させるように設計されたハードワイヤ回路を有することが可能である。本開示は、メインプロセッサ１１０を起動させる任意の適切な手段を企図する。
【００４２】
工程６０５で、モバイルデバイス２００は、関数ｆ１によって使用される２次センサからセンサデータを取得する。特定の実施形態では、２次センサは加速度計を含み得る。例えば、２次ニューラルネットワーク３０３は、モバイルデバイス２００がポケットから取り出されていること、またはテーブルから取り上げられていることを示す特定の加速度計パターンを認識するために、関数ｆ１を生成した可能性がある。したがって、マイクロコントローラによる最初の起動の後、メインプロセッサ１１０は、加速度計からセンサ値を引き出すことができる。特定の実施形態では、２次センサは、ジャイロメータを含み得る。例えば、２次ニューラルネットワーク３０３は、モバイルデバイス２００がポケットから取り出されていること、またはテーブルから取り上げられていることを信号伝達する１つもしくは複数の軸の周囲の回転を示す特定のジャイロメータセンサ値パターンを認識するために、関数ｆ１を生成した可能性がある。特定の実施形態では、２次センサは、光センサを含み得る。特定の日中の環境で、暗いところから明るいこところへの遷移は、モバイルデバイス２００がポケットから引き出されたことを信号伝達することができる。特定の実施形態では、２次センサは、センサ値の任意の組合せを含み得る。特定の実施形態では、２次センサは、モバイルデバイス２００のカメラサブシステムからの値を含み得る。特定の実施形態では、２次センサは、システムクロックを含むことが可能であり、例えば、関数ｆ１は、時刻に応じて、所与の入力のセットが手に取ることに対応する確率を調整することができる。本開示は、工程６０５で、任意の数のセンサまたはセンサの組合せからデータを取得することを企図する。
【００４３】
工程６０６で、モバイルデバイス２００は、メインプロセッサ１１０を介して、工程６０５で入力として取得された２次センサ値を使用して、関数ｆ１を実行する。前に議論したように、２次センサ値は、アレイまたはベクトルデータ構造の形に配列され得る。特定の実施形態では、センサデータＳ０〜Ｓｎは、データ構造の形に特定の順次で配列され得る。特定の実施形態では、関数ｆ１は、入力ベクトルを関数重みと畳み込むことによって実行可能である。本開示は、２次センサから取得された値を入力として使用して関数ｆ１を実行する任意の適切な方法を企図する。
【００４４】
工程６０７で、メインプロセッサ１１０は、関数ｆ１の出力からモバイルデバイス２００の物理的状態（すなわち、ユーザの意図）を判断する。前に議論したように、関数ｆ１は、各々がモバイルデバイス２００の特定の物理的状態に対応する、１つまたは複数の値を出力することができる。例えば、関数ｆ１は、デバイスが手に取られた可能性があること、テーブルの上に水平に置かれている可能性があること、またはポケット内にあること（「雑音」）を信号伝達する値を出力することができる。特定の実施形態では、各値は、離散的であってよく、または連続的であってもよい。特定の実施形態では、この判断は、和、平均、加重平均、または所定の閾値を上回る値、もしくは所定の閾値未満の値の別の数学的組合せに基づくことが可能である。工程６０８および６１０で、モバイルデバイス２００が「テーブル」状態または「雑音」状態にある場合、モバイルデバイスは、アイドル／ロック状態に戻って、メインプロセッサ１１０の電源を落とす。しかし、モバイルデバイス２００が、ユーザがそのデバイスを使用することを意図すると判断した場合、モバイルデバイス２００は、工程６１１で、ロック解除状態に自動的に遷移することができる。
【００４５】
特定の実施形態では、モバイルデバイスを現在扱っているユーザの識別情報を検証することができる。モバイルデバイスを現在扱っているユーザがモバイルデバイスの真の所有者である場合、モバイルデバイスは自動的にロック解除することができる。他方で、モバイルデバイスを現在扱っているユーザの識別情報が満足に検証され得ない場合、ユーザは、モバイルデバイスをロック解除して使用するために、パスワードまたはＰＩＮを提供するように催促され、かつそれが必要とされ得る。
【００４６】
ユーザの識別情報を検証するための様々な手段が存在し得る。特定の実施形態では、モバイルデバイスは、画像センサ（例えば、カメラ）を有することが可能である。ユーザがモバイルデバイスを自らの顔の前に持ってくると、カメラは、ユーザの顔を捕捉するために、そのレンズの前面でオブジェクトの捕捉されたデジタル画像を解析することができる。これらの画像は、ユーザの顔を位置特定して、モバイルデバイスの所有者の顔（例えば、モバイルデバイスに接続されたファイル上に記憶された顔）と比較するために、１つまたは複数の適切な顔認識アルゴリズムを使用して解析され得る。２つの顔の間に十分な量の類似（すなわち、整合）が存在する場合、モバイルデバイスを現在扱っているユーザをモバイルデバイスの実際の所有者として検証することができ、ユーザにパスワードまたはＰＩＮを明示的に提供することを要求せずに、モバイルデバイスをロック解除することができる。モバイルデバイスの所有者の顔を表す画像は、モバイルデバイス自体の上にまたはその他の場所に（例えば、モバイルデバイスにアクセス可能なサーバ上に）記憶可能である。
【００４７】
特定の実施形態では、モバイルデバイスのユーザは、ソーシャルネットワーキングシステムのメンバーであり得る。ソーシャルネットワークは、一般に、友情、親族関係、共通の関心、金融取引、または信仰もしくは知識の関係など、１つもしくは複数のタイプの相互依存性あるいは関係によって結びついた、個人または組織などのエンティティで構成された社会構造である。さらに近年では、ソーシャルネットワークは、インターネットから利益を得ている。インターネット上には、ソーシャルネットワーキングウェブサイトの形でソーシャルネットワーキングシステムが存在する。そのようなソーシャルネットワーキングウェブサイトは、一般に、ウェブサイトユーザと呼ばれる、そのメンバーが様々な社会的活動を実行するのを可能にする。例えば、ｗｗｗ．ｆａｃｅｂｏｏｋ．ｃｏｍでＦａｃｅｂｏｏｋ  Ｉｎｃ．によって運営されたソーシャルネットワーキングウェブサイトは、そのユーザが、電子メール、インスタントメッセージ、またはブログ投稿を介してその友人たちと通信すること、社交行事（ｓｏｃｉａｌ  ｅｖｅｎｔ）を組織すること、写真を共有すること、その友人たちまたは興味あるイベントのニュースを受信すること、ゲームをすることなどを可能にする。
【００４８】
ユーザは、ユーザに関連する情報（例えば、人口統計データ、社会的な関係者および活動、関心、趣味など）を含むソーシャルネットワーキングシステムにプロファイルを有することができる。特定の実施形態では、ユーザのプロファイル内に見出される情報を使用して、所与の時点でのモバイルデバイスに関するユーザの意図を判断すること、またはユーザの識別情報を推定することを助けることも可能である。例えば、ソーシャルネットワーキングシステムに記憶されたユーザのカレンダーに基づいて、ユーザがあるイベント（例えば、会議）に参加していると判断された場合、モバイルデバイスは、ある状態に遷移することが可能であり、この場合、スクリーンはオフにされて、入力構成要素がロックされる。別の例では、ソーシャルネットワーキングシステムで利用可能な情報に基づいて、ユーザが、所与の時点および場所でその社会的な関係者（例えば、友人）といると判断することができる。モバイルデバイスがその所有者に関して非典型的な場所にあるものの、同時に、所有者の家族または友人のうちの何人かもはやりそこにいる場合、これは、モバイルデバイスがその真の所有者とともにあることを示唆することができ、この場合、デバイスは、パスワードまたはＰＩＮを必要とせずに、ロック解除され得る。他方で、モバイルデバイスが非典型的な場所にあり、その所有者の社会的な関係者のうちのいずれもそこにいない場合、そのデバイスのユーザが実際にその真の所有者であることを確実にするために、デバイスをロック解除するためのパスワードまたはＰＩＮが必要とされる可能性がある。
【００４９】
特定の実施形態では、モバイルデバイスの真の所有者は、設定を指定して、パスワードまたはＰＩＮを必要とせずにデバイスをロック解除するための条件を示すことが可能であり得る。例えば、所有者は、（例えば、ＮＦＣ、音声認識または顔認識など、任意の適切な手段を使用して）何人かのその社会的関係者（例えば、友人または家族）がそのデバイスの近くに検出されたとき、パスワードもしくはＰＩＮを必要とせずに電話がロック解除可能であるか、またはセキュリティに関して低い閾値を有することが可能であることを指定することができ、逆もまた同様である。
【００５０】
特定の実施形態では、ソーシャルネットワーキングシステムにおけるユーザの状態更新は、ユーザを認証するのに役立つ信号として使用され得る。例えば、ユーザの状態更新は、ユーザが実際に特定の場所にいることを示すことができ、ユーザの友人が近くにいることを検出するために使用可能であり、またはユーザはチェックインの際に友人によってタグ付され、これは、次に、ユーザが特定の場所にいることを示す。
【００５１】
特定の実施形態では、モバイルデバイス内に含まれたセンサを使用して、ソーシャルネットワーキングシステムを介して提供された第三者アプリケーション（例えば、オンラインゲーム）を含めて、ソーシャルネットワーキングシステム内をナビゲートすることができる。
【００５２】
特定の実施形態は、１つまたは複数のコンピュータシステム上で実装可能である。図７は、ある例示的なコンピュータシステム７００を示す。特定の実施形態では、１つまたは複数のコンピュータシステム７００は、本明細書で説明または例示される１つもしくは複数の方法の１つもしくは複数の工程を実行する。特定の実施形態では、１つまたは複数のコンピュータシステム７００は、本明細書で説明または例示される機能性を提供する。特定の実施形態では、１つまたは複数のコンピュータシステム７００上で実行しているソフトウェアは、本明細書で説明または例示される１つもしくは複数の方法の１つもしくは複数の工程を実行するか、あるいは本明細書で説明または例示される機能性を提供する。特定の実施形態は、１つまたは複数のコンピュータシステム７００の１つまたは複数の部分を含む。
【００５３】
本開示は、任意の適切な数のコンピュータシステム７００を企図する。本開示は、任意の適切な物理形態をとるコンピュータシステム７００を企図する。限定ではなく、ある例として、コンピュータシステム７００は、埋め込み式コンピュータシステム、システムオンチップ（ＳＯＣ）、（例えば、コンピュータオンモジュール（ＣＯＭ）またはシステムオンモジュール（ＳＯＭ）など）シングルボードコンピュータシステム（ＳＢＣ）、デスクトップコンピュータシステム、ラップトップコンピュータシステムまたはノートブックコンピュータシステム、インタラクティブキオスク（ｉｎｔｅｒａｃｔｉｖｅ  ｋｉｏｓｋ）、メインフレーム、コンピュータシステムのメッシュ、モバイルデバイス、携帯情報端末（ＰＤＡ）、サーバ、ツール、トイ、ウェアラブル品目（ｗｅａｒａｂｌｅ  ｉｔｅｍ）、またはこれらのうちの２つ以上の組合せであり得る。必要に応じて、コンピュータシステム７００は、単体でまたは分散されて、複数の場所にわたって、複数のマシンにわたって、あるいは、１つまたは複数のネットワーク内に１つもしくは複数のクラウド構成要素を含み得るクラウド内に常駐する、１つもしくは複数のコンピュータシステム７００を含むことが可能である。必要に応じて、１つまたは複数のコンピュータシステム７００は、実質的な空間的または時間的な限定なしに、本明細書で説明または例示される１つもしくは複数の方法の１つもしくは複数の工程を実行することが可能である。限定としてではなく、ある例として、１つまたは複数のコンピュータシステム７００は、本明細書で説明または例示される１つもしくは複数の方法の１つもしくは複数の工程をリアルタイムで、あるいはバッチモードで実行することができる。１つまたは複数のコンピュータシステム７００は、必要に応じて、異なる時点で、または異なる場所で、本明細書で説明または例示される１つもしくは複数の方法の１つもしくは複数の工程を実行することが可能である。
【００５４】
特定の実施形態では、コンピュータシステム７００は、プロセッサ７０２と、メモリ７０４と、ストレージ７０６と、入出力（Ｉ／Ｏ）インターフェース７０８と、通信インターフェース７１０と、バス７１２とを含む。本開示は特定の数の特定の構成要素を特定の配列で有する特定のコンピュータシステムを説明および例示するが、本開示は、任意の適切な数の任意の適切な構成要素を任意の適切な配列で有する任意の適切なコンピュータシステムを企図する。
【００５５】
特定の実施形態では、プロセッサ７０２は、コンピュータプログラムを構成する命令など、命令を実行するためのハードウェアを含む。限定ではなく、ある例として、命令を実行するために、プロセッサ７０２は、内部レジスタ、内部キャッシュ、メモリ７０４、またはストレージ７０６から命令を取り出して（すなわち、フェッチして）、それらを復号および実行し、次いで、１つもしくは複数の結果を内部レジスタ、内部キャッシュ、メモリ７０４、またはストレージ７０６に書き込むことができる。特定の実施形態では、プロセッサ７０２は、データ、命令、またはアドレスのための１つもしくは複数の内部キャッシュを含み得る。本開示は、必要に応じて、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ７０２を企図する。限定ではなく、ある例として、プロセッサ７０２は、１つまたは複数の命令キャッシュと、１つまたは複数のデータキャッシュと、１つまたは複数のトランスレーションルックアサイドバッファ（ＴＬＢ：ｔｒａｎｓｌａｔｉｏｎ  ｌｏｏｋａｓｉｄｅ  ｂｕｆｆｅｒｓ）とを含み得る。命令キャッシュ内の命令は、メモリ７０４またはストレージ７０６の中の、命令の複製であり得、命令キャッシュは、プロセッサ７０２によるそれらの命令の取り出しを加速することができる。データキャッシュ内のデータは、プロセッサ７０２において実行する後続の命令によってアクセスする目的で、プロセッサ７０２において実行される前の命令の結果に関して動作するためにプロセッサ７０２において実行する命令のための、またはメモリ７０４もしくはストレージ７０６に書き込むための、メモリ７０４内もしくはストレージ７０６内のデータ、あるいは他の適切なデータの複製であり得る。データキャッシュは、プロセッサ７０２による読取りまたは書込み動作を加速することができる。ＴＬＢは、プロセッサ７０２に関する仮想アドレス変換を加速することができる。特定の実施形態では、プロセッサ７０２は、データ、命令、またはアドレスのための１つもしくは複数の内部レジスタを含み得る。本開示は、必要に応じて、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ７０２を企図する。必要に応じて、プロセッサ７０２は、１つもしくは複数の算術論理演算装置（ＡＬＵ）を含むことが可能であり、マルチコアプロセッサであってよく、または１つもしくは複数のプロセッサ７０２を含むことが可能である。本開示は特定のプロセッサを説明および例示するが、本開示は任意の適切なプロセッサを企図する。
【００５６】
特定の実施形態では、メモリ７０４は、プロセッサ７０２が実行するための命令、またはプロセッサ７０２が動作するためのデータを記憶するためのメインメモリを含む。限定ではなく、ある例として、コンピュータシステム７００は、ストレージ７０６または（例えば、別のコンピュータシステム７００など）別のソースからメモリ７０４に命令をロードすることができる。プロセッサ７０２は、次いで、メモリ７０４から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ７０２は、内部レジスタまたは内部キャッシュから命令を取り出して、それらを復号することができる。命令の実行の間またはその後、プロセッサ７０２は、（中間結果または最終結果であり得る）１つもしくは複数の結果を内部レジスタあるいは内部キャッシュに書き込むことができる。プロセッサ７０２は、次いで、それらの結果のうちの１つまたは複数をメモリ７０４に書き込むことができる。特定の実施形態では、プロセッサ７０２は、（ストレージ７０６または他の場所ではなく）１つもしくは複数の内部レジスタまたは内部キャッシュ内、あるいはメモリ７０４内の命令だけを実行して、（ストレージ７０６または他の場所ではなく）１つもしくは複数の内部レジスタまたは内部キャッシュ内あるいはメモリ７０４内のデータに関してだけ動作する。（各々がアドレスバスとデータバスとを含み得る）１つまたは複数のメモリバスは、プロセッサ７０２をメモリ７０４に結合することができる。バス７１２は、下で説明するように、１つまたは複数のメモリバスを含み得る。特定の実施形態では、１つまたは複数のメモリ管理ユニット（ＭＭＵ）がプロセッサ７０２とメモリ７０４との間に常駐して、プロセッサ７０２が要求するメモリ７０４に対するアクセスを円滑にする。特定の実施形態では、メモリ７０４はランダムアクセスメモリ（ＲＡＭ）を含む。このＲＡＭは、必要に応じて、揮発性メモリであり得る。必要に応じて、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）または静的ＲＡＭ（ＳＲＡＭ）であり得る。さらに、必要に応じて、このＲＡＭは、単一ポートＲＡＭであってよく、または複数ポートＲＡＭであってもよい。本開示は任意の適切なＲＡＭを企図する。メモリ７０４は、必要に応じて、１つまたは複数のメモリ７０４を含み得る。本開示は特定のメモリを説明および例示するが、本開示は任意の適切なメモリを企図する。
【００５７】
特定の実施形態では、ストレージ７０６は、データまたは命令のための大容量記憶装置を含む。限定ではなく、ある例として、ストレージ７０６は、ＨＤＤ、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサルシリアルバス（ＵＳＢ）ドライブ、またはこれらのうちの２つ以上の組合せを含み得る。ストレージ７０６は、必要に応じて、取外し可能媒体、または取外し不可能（すなわち、固定）媒体を含み得る。ストレージ７０６は、必要に応じて、コンピュータシステム７００の内部であってよく、または外部であってもよい。特定の実施形態では、ストレージ７０６は、不揮発性メモリ、固体メモリである。特定の実施形態では、ストレージ７０６は、読出し専用メモリ（ＲＯＭ）を含む。必要に応じて、このＲＯＭは、マスクプログラムＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的に変更可能なＲＯＭ（ＥＡＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ａｌｔｅｒａｂｌｅ  ＲＯＭ）、もしくはフラッシュメモリ、またはこれらのうちの２つ以上の組合せであり得る。本開示は、任意の適切な物理形態をとる大容量記憶装置７０６を企図する。ストレージ７０６は、必要に応じて、プロセッサ７０２とストレージ７０６との間の通信を円滑にする、１つまたは複数の記憶制御装置を含み得る。必要に応じて、ストレージ７０６は、１つまたは複数のストレージ７０６を含み得る。本開示は特定のストレージを説明および例示するが、本開示は、任意の適切なストレージを企図する。
【００５８】
特定の実施形態では、Ｉ／Ｏインターフェース７０８は、コンピュータシステム７００と１つもしくは複数のＩ／Ｏデバイスとの間の通信のための１つもしくは複数のインターフェースを提供するハードウェア、ソフトウェア、またはそれらの両方を含む。コンピュータシステム７００は、必要に応じて、これらのＩ／Ｏデバイスのうちの１つまたは複数を含み得る。これらのＩ／Ｏデバイスのうちの１つまたは複数は、人物とコンピュータシステム７００との間の通信を可能にし得る。限定ではなく、ある例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、静止カメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適切なＩ／Ｏデバイス、またはこれらのうちの２つ以上の組合せを含み得る。Ｉ／Ｏデバイスは１つまたは複数のセンサを含み得る。本開示は、これらに関して任意の適切なＩ／Ｏデバイスおよび任意の適切なＩ／Ｏインターフェース７０８を企図する。必要に応じて、Ｉ／Ｏインターフェース７０８は、プロセッサ７０２がこれらのＩ／Ｏデバイスのうちの１つもしくは複数を駆動させるのを可能にする、１つもしくは複数のデバイスドライバまたはソフトウェアドライバを含み得る。Ｉ／Ｏインターフェース７０８は、必要に応じて、１つまたは複数のＩ／Ｏインターフェース７０８を含み得る。本開示は特定のＩ／Ｏインターフェースを説明および例示するが、本開示は任意の適切なＩ／Ｏインターフェースを企図する。
【００５９】
特定の実施形態では、通信インターフェース７１０は、コンピュータシステム７００と１つもしくは複数の他のコンピュータシステム７００または１つもしくは複数のネットワークとの間の（例えば、パケットベースの通信など）通信のために１つもしくは複数のインターフェースを提供するハードウェア、ソフトウェア、あるいはそれらの両方を含む。限定ではなく、ある例として、通信インターフェース７１０は、Ｅｔｈｅｒｎｅｔ、もしくは他のワイヤーベースのネットワークと通信するためのネットワークインターフェースコントローラ（ＮＩＣ）またはネットワークアダプタ、あるいはＷＩ−ＦＩネットワークなど、ワイヤレスネットワークと通信するためのワイヤレスＮＩＣ（ＷＮＩＣ）またはワイヤレスアダプタを含み得る。本開示は、そのために任意の適切なネットワークおよび任意の適切な通信インターフェース７１０を企図する。限定ではなく、ある例として、コンピュータシステム７００は、アドホックネットワーク、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、またはインターネットの１つもしくは複数の部分、あるいはこれらのうちの２つ以上の組合せと通信することができる。これらのネットワークのうちの１つもしくは複数の１つもしくは複数の部分は、ワイヤードであってよく、またはワイヤレスであってもよい。ある例として、コンピュータシステム７００は、（例えば、ＢＬＵＥＴＯＯＴＨ  ＷＰＡＮなど）ワイヤレスＰＡＮ（ＷＰＡＮ）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、（例えば、広域移動通信システム（ＧＳＭ）ネットワークなど）モバイルデバイスネットワーク、もしくは他の適切なワイヤレスネットワーク、またはこれらのうちの２つ以上の組合せと通信することができる。コンピュータシステム７００は、必要に応じて、これらのネットワークのうちのいずれかに関する任意の適切な通信インターフェース７１０を含み得る。通信インターフェース７１０は、必要に応じて、１つまたは複数の通信インターフェース７１０を含み得る。本開示は特定の通信インターフェースを説明および例示するが、本開示は任意の適切な通信インターフェースを企図する。
【００６０】
特定の実施形態では、バス７１２は、コンピュータシステム７００の構成要素を互いに結合するハードウェア、ソフトウェア、またはそれら両方を含む。限定ではなく、ある例として、バス７１２は、アクセラレーテッドグラフィックスポート（ＡＧＰ）もしくは他のグラフィックスバス、拡張業界標準アーキテクチャ（ＥＩＳＡ）バス、フロントサイドバス（ＦＳＢ）、ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ（ＨＴ）相互接続、業界標準アーキテクチャ（ＩＳＡ）バス、ＩＮＦＩＮＩＢＡＮＤ相互接続、ローピンカウント（ＬＰＣ）バス、メモリバス、マクロチャネルアーキテクチャ（ＭＣＡ）バス、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）バス、ＰＣＩ−エクスプレス（ＰＣＩ−Ｘ）バス、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ：ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）バス、ビデオエレクトロニクススタンダードアソーシエーションローカル（ＶＬＢ：Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ  ｌｏｃａｌ）バス、もしくは別の適切なバス、またはこれらのうちの２つ以上の組合せを含み得る。バス７１２は、必要に応じて、１つまたは複数のバス７１２を含み得る。本開示は特定のバスを説明および例示するが、本開示は任意の適切なバスまたは相互接続を企図する。
【００６１】
本明細書で、コンピュータ可読記憶媒体の参照は、１つまたは複数の非一時的な有形コンピュータ可読記憶媒体所有構造（ｐｏｓｓｅｓｓｉｎｇ  ｓｔｒｕｃｔｕｒｅ）を包含する。限定ではなく、ある例として、コンピュータ可読記憶媒体は、必要に応じて、半導体ベース集積回路もしくは他の集積回路（ＩＣ）（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは特定用途向けＩＣ（ＡＳＩＣ））、ハードディスク、ＨＤＤ、ハイブリッドハードドライブ（ＨＨＤ）、光ディスク、光ディスクドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピーディスク、フロッピーディスクドライブ（ＦＤＤ）、磁気テープ、ホログラフィック記憶媒体、固体ドライブ（ＳＳＤ）、ＲＡＭドライブ、ＳＥＣＵＲＥ  ＤＩＧＩＴＡＬカード、ＳＥＣＵＲＥ  ＤＩＧＩＴＡＬドライブ、または別の適切なコンピュータ可読記憶媒体、あるいはこれらのうちの２つ以上の組合せを含み得る。本明細書においてコンピュータ可読記憶媒体を参照する場合、米国特許法第１０１条に基づく特許保護の資格を有さない媒体は除外される。本明細書においてコンピュータ可読記憶媒体を参照する場合、米国特許法第１０１条に基づく特許保護の資格を有さない（電気信号または電磁信号自体を伝搬するなど）の一時的形式の信号伝送は除外される。非一時的なコンピュータ可読記憶媒体は、揮発性であってよく、不揮発性であってよく、または必要に応じて揮発性と不揮発性の組合せであってよい。
【００６２】
本開示は、任意の適切なストレージを実装する、１つまたは複数のコンピュータ可読記憶媒体を企図する。特定の実施形態では、必要に応じて、コンピュータ可読記憶媒体は、プロセッサ７０２の１つもしくは複数の部分（例えば、１つもしくは複数の内部レジスタまたはキャッシュ）、メモリ７０４の１つもしくは複数の部分、ストレージ７０６の１つもしくは複数の部分、あるいはそれらの組合せを実装する。特定の実施形態では、コンピュータ可読記憶媒体は、ＲＡＭまたはＲＯＭを実装する。特定の実施形態では、コンピュータ可読記憶媒体は、揮発性メモリまたは永続メモリを実装する。特定の実施形態では、１つまたは複数のコンピュータ可読記憶媒体はソフトウェアを実施する。本明細書で、ソフトウェアの参照は、必要に応じて、１つもしくは複数のアプリケーション、バイトコード、１つもしくは複数のコンピュータプログラム、１つもしくは複数の実行可能物、１つもしくは複数の命令、ロジック、マシンコード、１つもしくは複数のスクリプト、またはソースコードを包含することが可能であり、逆もまた同様である。特定の実施形態では、ソフトウェアは、１つまたは複数のアプリケーションプログラミングインターフェース（ＡＰＩ）を含む。本開示は、任意の適切なプログラミング言語またはプログラミング言語の組合せで書き込まれるか、あるいは、表現された任意の適切なソフトウェアを企図する。特定の実施形態では、ソフトウェアは、ソースコードまたはオブジェクトコードとして表現される。特定の実施形態では、ソフトウェアは、例えば、Ｃ、Ｐｅｒｌ、またはそれらの適切な拡張など、高水準プログラミング言語で表現される。特定の実施形態では、ソフトウェアは、アセンブリ言語（すなわち、マシンコード）など、低水準プログラミング言語で表現される。特定の実施形態では、ソフトウェアは、ＪＡＶＡ、Ｃ、またはＣ＋＋で表現される。特定の実施形態では、ソフトウェアは、ハイパーテキストマークアップ言語（ＨＴＭＬ）、拡張可能マークアップ言語（ＸＭＬ）、または他の適切なマークアップ言語で表現される。
【００６３】
本明細書で、別段に明記されているか、あるいは、文脈によって記述されていない限り、「または」は包括的であるが、排他的ではない。したがって、別段に明記されているか、あるいは、文脈によって記述されていない限り、本明細書で、「ＡまたはＢ」は、「Ａ、Ｂ、またはこれらの両方」を意味する。さらに、別段に明記されているか、あるいは、文脈によって記述されていない限り、「および」は、ともに（ｊｏｉｎｔ）、および別々に（ｓｅｖｅｒａｌ）、の両方である。したがって、別段に明記されているか、あるいは、文脈によって記述されていない限り、本明細書で、「ＡおよびＢ」は「ＡおよびＢをともに、または別々に」を意味する。
【００６４】
本開示は、当業者が理解するであろう、本明細書の例示的な実施形態に対するすべての変更、置換、変種、改変、および修正を包含する。さらに、本開示は、特定の構成要素、要素、機能、動作、または工程を含むとして、本明細書でそれぞれの実施形態を説明および例示するが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のいずれかの場所で説明もしくは例示されたこれらの構成要素、要素、機能、動作、または工程のうちのいずれかの任意の組合せあるいは交換を含み得る。さらに、添付の請求項において、特定の機能を実行するように適合された、実行するように配列された、実行することが可能な、実行するように構成された、実行することができる、実行するように動作可能な、または実行するように動作する装置、もしくはシステム、あるいは装置またはシステムの構成要素の参照は、その装置、システム、または構成要素がそのように適合されるか、そのように配列されるか、そのように可能であるか、そのように構成されるか、そのようにできるか、そのように動作可能であるか、またはそのように動作する限り、その機能、またはその特定機能が活性化されるか、オンにされるか、またはロック解除にされるか、否かにかかわらず、その装置、システム、構成要素を包含する。
【図２】
0006039072.tif 000002
【図１】
0006039072.tif 000003
【図３】
0006039072.tif 000004
【図４】
0006039072.tif 000005
【図５】
0006039072.tif 000006
【図６】
0006039072.tif 000007
【図７】
0006039072.tif 000008