(57)【要約】  様々な態様のシステム、方法、およびデバイスは、無線周波数(RF)干渉によって引き起こされる誤動作を検出することを可能にする。コンピューティングデバイスプロセッサは、コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて、コンピューティングデバイスのロケーションを識別することができる。プロセッサは、識別されたロケーションおよび複数のリアルタイムデータ入力に基づいて、コンピューティングデバイスのRF環境を特性化することができる。プロセッサは、RF環境の特性化に基づいて、少なくとも1つのRF放出しきい値を決定することができる。プロセッサは、RF環境の特性化を少なくとも1つのRF放出しきい値と比較することができ、RF環境の特性化が少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施することができる。
2018514095.tif 000002
【特許請求の範囲】
【請求項１】
無線周波数(RF)干渉によって引き起こされる誤動作を検出する方法であって、
コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのロケーションを識別するステップと、
前記識別されたロケーションおよび前記複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのRF環境を特性化するステップと、
前記RF環境の前記特性化に基づいて、少なくとも1つのRF放出しきい値を決定するステップと、
前記RF環境の前記特性化を前記少なくとも1つのRF放出しきい値と比較するステップと、
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施するステップとを含む方法。
【請求項２】
コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのロケーションを識別するステップが、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算するステップと、
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記ロケーションを識別するステップとを含む、請求項1に記載の方法。
【請求項３】
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記ロケーションを識別するステップが、
分析結果を生成するために、前記複数のRF挙動ベクトルを複数のRF分類器モデルに適用するステップと、
前記分析結果に基づいて、前記コンピューティングデバイスの前記ロケーションを識別するステップとを含む、請求項2に記載の方法。
【請求項４】
前記識別されたロケーションおよび前記複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのRF環境を特性化するステップが、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算するステップと、
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記RF環境を特性化するステップとを含む、請求項1に記載の方法。
【請求項５】
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記RF環境を特性化するステップが、
分析結果を生成するために、複数のRF分類器モデルに複数のRF挙動ベクトルを適用するステップと、
前記分析結果に基づいて、前記コンピューティングデバイスの前記RF環境を特性化するステップとを含む、請求項4に記載の方法。
【請求項６】
前記環境の前記RF特性化に基づいて少なくとも1つのRF放出しきい値を決定するステップが、前記分析結果に基づいて、少なくとも1つのRF放出しきい値を決定するステップをさらに含む、請求項5に記載の方法。
【請求項７】
前記少なくとも1つのRF放出しきい値が、前記コンピューティングデバイスによるRF放出のRF放出しきい値、および前記ロケーションにおける別のデバイスのRF放出のRF放出しきい値のうちの1つまたは複数を含む、請求項1に記載の方法。
【請求項８】
前記RF環境の前記特性化を前記少なくとも1つのRF放出しきい値と比較するステップが、前記RF環境の前記特性化を、前記コンピューティングデバイスによるRF放出の前記RF放出しきい値および前記ロケーションにおける別のデバイスのRF放出の前記RF放出しきい値のうちの少なくとも1つと比較するステップを含む、請求項7に記載の方法。
【請求項９】
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施するステップが、前記RF環境の前記特性化が前記コンピューティングデバイスによるRF放出の前記RF放出しきい値を超えるとの決定に応答して、前記別のデバイスを保護するためのアクションを実施するステップを含む、請求項7に記載の方法。
【請求項１０】
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施するステップが、前記RF環境の前記特性化が前記コンピューティングデバイスによるRF放出の前記RF放出しきい値を超えるとの決定に応答して、前記コンピューティングデバイスを保護するためのアクションを実施するステップを含む、請求項7に記載の方法。
【請求項１１】
前記複数のリアルタイムデータ入力が、ビデオ入力、オーディオ入力、周辺光レベル、振動、加速度、コンパス情報、全地球測位情報、RFIDタグ情報、無線アクセス技術信号レベル、周辺FM信号レベル、および周辺AM信号レベルのうちの少なくとも1つを含む、請求項7に記載の方法。
【請求項１２】
モバイルコンピューティングデバイスであって、
動作を実施するためのプロセッサ実行可能命令で構成されたプロセッサを備え、前記動作が、
前記コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのロケーションを識別すること、
前記識別されたロケーションおよび前記複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのRF環境を特性化すること、
前記RF環境の前記特性化に基づいて、少なくとも1つのRF放出しきい値を決定すること、
前記RF環境の前記特性化を前記少なくとも1つのRF放出しきい値と比較すること、および
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施することを含む、モバイルコンピューティングデバイス。
【請求項１３】
コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて前記コンピューティングデバイスのロケーションを識別することが、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算すること、および
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記ロケーションを識別することを含むような動作を実施するためのプロセッサ実行可能命令で前記プロセッサが構成される、請求項12に記載のモバイルコンピューティングデバイス。
【請求項１４】
前記複数のRF挙動ベクトルを使って前記コンピューティングデバイスの前記ロケーションを識別することが、
分析結果を生成するために、前記複数のRF挙動ベクトルを複数のRF分類器モデルに適用すること、および
前記分析結果に基づいて、前記コンピューティングデバイスの前記ロケーションを識別することを含むような動作を実施するためのプロセッサ実行可能命令で前記プロセッサが構成される、請求項13に記載のモバイルコンピューティングデバイス。
【請求項１５】
前記識別されたロケーションおよび前記複数のリアルタイムデータ入力に基づいて前記コンピューティングデバイスのRF環境を特性化することが、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算すること、および
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記RF環境を特性化することを含むような動作を実施するためのプロセッサ実行可能命令で前記プロセッサが構成される、請求項12に記載のモバイルコンピューティングデバイス。
【請求項１６】
前記複数のRF挙動ベクトルを使って前記コンピューティングデバイスの前記RF環境を特性化することが、
分析結果を生成するために、複数のRF分類器モデルに複数のRF挙動ベクトルを適用すること、および
前記分析結果に基づいて、前記コンピューティングデバイスの前記RF環境を特性化することを含むような動作を実施するためのプロセッサ実行可能命令で前記プロセッサが構成される、請求項15に記載のモバイルコンピューティングデバイス。
【請求項１７】
前記環境の前記RF特性化に基づいて少なくとも1つのRF放出しきい値を決定することが、前記分析結果に基づいて、少なくとも1つのRF放出しきい値を決定することをさらに含むような動作を実施するためのプロセッサ実行可能命令で前記プロセッサが構成される、請求項16に記載のモバイルコンピューティングデバイス。
【請求項１８】
前記少なくとも1つのRF放出しきい値が前記コンピューティングデバイスによるRF放出のRF放出しきい値、および前記ロケーションにおける別のデバイスのRF放出のRF放出しきい値のうちの1つまたは複数を含むような動作を実施するためのプロセッサ実行可能命令で前記プロセッサが構成される、請求項12に記載のモバイルコンピューティングデバイス。
【請求項１９】
前記RF環境の前記特性化を前記少なくとも1つのRF放出しきい値と比較することが、前記RF環境の前記特性化を、前記コンピューティングデバイスによるRF放出の前記RF放出しきい値および前記ロケーションにおける別のデバイスのRF放出の前記RF放出しきい値のうちの少なくとも1つと比較することを含むような動作を実施するためのプロセッサ実行可能命令で前記プロセッサが構成される、請求項18に記載のモバイルコンピューティングデバイス。
【請求項２０】
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施することが、前記RF環境の前記特性化が前記コンピューティングデバイスによるRF放出の前記RF放出しきい値を超えるとの決定に応答して、前記別のデバイスを保護するためのアクションを実施することを含む、請求項18に記載のモバイルコンピューティングデバイス。
【請求項２１】
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施することが、前記RF環境の前記特性化が前記コンピューティングデバイスによるRF放出の前記RF放出しきい値を超えるとの決定に応答して、前記コンピューティングデバイスを保護するためのアクションを実施することを含むような動作を実施するためのプロセッサ実行可能命令で前記プロセッサが構成される、請求項18に記載のモバイルコンピューティングデバイス。
【請求項２２】
前記複数のリアルタイムデータ入力がビデオ入力、オーディオ入力、周辺光レベル、振動、加速度、コンパス情報、全地球測位情報、RFIDタグ情報、無線アクセス技術信号レベル、周辺FM信号レベル、および周辺AM信号レベルのうちの少なくとも1つを含むような動作を実施するためのプロセッサ実行可能命令で前記プロセッサが構成される、請求項18に記載のモバイルコンピューティングデバイス。
【請求項２３】
プロセッサに、無線周波数(RF)干渉によって引き起こされる誤動作を検出するための動作を実施させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶しているプロセッサ可読記憶媒体であって、前記動作が、
コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのロケーションを識別すること、
前記識別されたロケーションおよび前記複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのRF環境を特性化すること、
前記RF環境の前記特性化に基づいて、少なくとも1つのRF放出しきい値を決定すること、
前記RF環境の前記特性化を前記少なくとも1つのRF放出しきい値と比較すること、および
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施することを含む、プロセッサ可読記憶媒体。
【請求項２４】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて前記コンピューティングデバイスのロケーションを識別することが、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算すること、および
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記ロケーションを識別することを含むような動作をプロセッサに実施させるように構成される、請求項23に記載のプロセッサ可読記憶媒体。
【請求項２５】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記複数のRF挙動ベクトルを使って前記コンピューティングデバイスの前記ロケーションを識別することが、
分析結果を生成するために、前記複数のRF挙動ベクトルを複数のRF分類器モデルに適用すること、および
前記分析結果に基づいて、前記コンピューティングデバイスの前記ロケーションを識別することを含むような動作をプロセッサに実施させるように構成される、請求項24に記載のプロセッサ可読記憶媒体。
【請求項２６】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記識別されたロケーションおよび前記複数のリアルタイムデータ入力に基づいて前記コンピューティングデバイスのRF環境を特性化することが、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算すること、および
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記RF環境を特性化することを含むような動作をプロセッサに実施させるように構成される、請求項23に記載のプロセッサ可読記憶媒体。
【請求項２７】
モバイルコンピューティングデバイスであって、
前記コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのロケーションを識別するための手段と、
前記識別されたロケーションおよび前記複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのRF環境を特性化するための手段と、
前記RF環境の前記特性化に基づいて、少なくとも1つのRF放出しきい値を決定するための手段と、
前記RF環境の前記特性化を前記少なくとも1つのRF放出しきい値と比較するための手段と、
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施するための手段とを備えるモバイルコンピューティングデバイス。
【請求項２８】
コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて前記コンピューティングデバイスのロケーションを識別するための手段が、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算するための手段と、
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記ロケーションを識別するための手段とを備える、請求項27に記載のコンピューティングデバイス。
【請求項２９】
前記複数のRF挙動ベクトルを使って前記コンピューティングデバイスの前記ロケーションを識別するための手段が、
分析結果を生成するために、前記複数のRF挙動ベクトルを複数のRF分類器モデルに適用するための手段と、
前記分析結果に基づいて、前記コンピューティングデバイスの前記ロケーションを識別するための手段とを備える、請求項28に記載のコンピューティングデバイス。
【請求項３０】
前記識別されたロケーションおよび前記複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのRF環境を特性化するための手段が、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算するための手段と、
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記RF環境を特性化するための手段とを備える、請求項27に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
ＲＦ干渉による誤動作を検出するためのオンデバイス挙動分析
【背景技術】
【０００２】
可搬型電子機器、コンピューティングデバイス、および通信デバイスの普及により、人々が生活し、働き、遊ぶ環境が根本的に変わった。ほんのいくつか例を挙げると、場所の物理的セキュリティ、患者の状態、子供のセキュリティ、および機械類の物理的状態を監視するなど、重要な任務を実施するために、電子デバイスに依拠している。電子環境は、電子デバイスが互いと干渉する可能性があるように、かなり複雑になっている。たとえば、あるデバイスの無線周波数(RF)放出が、別のデバイスの機能と干渉する場合がある。特に、ヘルスおよびセキュリティアプリケーションにおいて電子デバイスが使われる場合、デバイス誤動作を引き起こし得る潜在的RF干渉を予想することが非常に重要であり得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
様々な態様のシステム、方法、およびデバイスは、コンピューティングデバイスのプロセッサが、コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて、コンピューティングデバイスのロケーションを識別すること、識別されたロケーションおよび複数のリアルタイムデータ入力に基づいて、コンピューティングデバイスのRF環境を特性化すること、RF環境の特性化に基づいて、少なくとも1つのRF放出しきい値を決定すること、RF環境の特性化を少なくとも1つのRF放出しきい値と比較すること、およびRF環境の特性化が少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施することによって、無線周波数(RF)干渉によって引き起こされる誤動作を検出することを可能にする。
【０００４】
ある態様では、コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて、コンピューティングデバイスのロケーションを識別することは、複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算すること、および複数のRF挙動ベクトルを使って、コンピューティングデバイスのロケーションを識別することを含み得る。ある態様では、複数のRF挙動ベクトルを使って、コンピューティングデバイスのロケーションを識別することは、分析結果を生成するために、複数のRF挙動ベクトルを複数のRF分類器モデルに適用すること、および分析結果に基づいて、コンピューティングデバイスのロケーションを識別することを含み得る。ある態様では、識別されたロケーションおよび複数のリアルタイムデータ入力に基づいて、コンピューティングデバイスのRF環境を特性化することは、複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算すること、および複数のRF挙動ベクトルを使って、コンピューティングデバイスのRF環境を特性化することを含み得る。
【０００５】
ある態様では、複数のRF挙動ベクトルを使って、コンピューティングデバイスのRF環境を特性化することは、分析結果を生成するために、複数のRF分類器モデルに複数のRF挙動ベクトルを適用すること、および分析結果に基づいて、コンピューティングデバイスのRF環境を特性化することを含み得る。ある態様では、環境のRF特性化に基づいて少なくとも1つのRF放出しきい値を決定することは、分析結果に基づいて、少なくとも1つのRF放出しきい値を決定することを含み得る。ある態様では、少なくとも1つのRF放出しきい値は、コンピューティングデバイスによるRF放出のRF放出しきい値、およびロケーションにおける別のデバイスのRF放出のRF放出しきい値のうちの1つまたは複数を含み得る。
【０００６】
ある態様では、RF環境の特性化を少なくとも1つのRF放出しきい値と比較することは、RF環境の特性化を、コンピューティングデバイスによるRF放出のRF放出しきい値およびロケーションにおける別のデバイスのRF放出のRF放出しきい値のうちの少なくとも1つと比較することを含み得る。ある態様では、RF環境の特性化が少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施することは、RF環境の特性化がコンピューティングデバイスによるRF放出のRF放出しきい値を超えるとの決定に応答して、別のデバイスを保護するためのアクションを実施することを含む。
【０００７】
ある態様では、RF環境の特性化が少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施することは、RF環境の特性化がコンピューティングデバイスによるRF放出のRF放出しきい値を超えるとの決定に応答して、コンピューティングデバイスを保護するためのアクションを実施することを含み得る。ある態様では、複数のリアルタイムデータ入力は、ビデオ入力、オーディオ入力、周辺光レベル、振動、加速度、コンパス情報、全地球測位情報、RFIDタグ情報、無線アクセス技術信号レベル、周辺FM信号レベル、および周辺AM信号レベルのうちの少なくとも1つを含み得る。
【０００８】
さらなる態様は、上で説明した態様方法の動作を実施するためのプロセッサ実行可能命令で構成されたプロセッサを含むコンピューティングデバイスを含む。さらなる態様は、上で説明した態様方法の動作をプロセッサに実施させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶している非一時的プロセッサ可読記憶媒体を含む。さらなる態様は、上で説明した態様方法の動作の機能を実施するための手段を含むコンピューティングデバイスを含む。
【０００９】
本明細書に組み込まれ、本明細書の一部を構成する添付図面は、例示的な態様を示し、上記の全体的な説明および以下の詳細な説明とともに、様々な態様の特徴を説明するのに役立つ。
【図面の簡単な説明】
【００１０】
【図１Ａ】様々な態様を実装するのに適した、例示的なシステムオンチップのアーキテクチャ図である。
【図１Ｂ】様々な態様を実施するのに適した、例示的なセンサーのアーキテクチャ図である。
【図２】様々な態様との使用に適した、RF環境特性化システムにおける例示的な論理構成要素および情報フローを示すブロック図である。
【図３】様々な態様による、RF干渉によって引き起こされる誤動作を検出するための方法を示すプロセスフロー図である。
【図４】様々な態様による、RF干渉によって引き起こされる誤動作を検出するための方法を示すプロセスフロー図である。
【図５】ある態様による、リアルタイムセンサーデータの動的および適応的な観測および分析を実施するための方法を示すプロセスフロー図である。
【図６】ある態様による、リアルタイムセンサーデータの動的および適応的な観測および分析を実施するための方法を示すプロセスフロー図である。
【図７】様々な態様との使用に適したモバイルデバイスの構成要素ブロック図である。
【発明を実施するための形態】
【００１１】
添付の図面を参照して、様々な態様について詳細に説明する。可能な場合はいつでも、同じまた同様の部分を指すために、図面全体を通して同じ参照番号が使用される。特定の例および実施態様に対してなされる参照は、例示を目的とし、様々な態様の範囲または特許請求の範囲を限定するものではない。
【００１２】
様々な態様は、挙動分析システムを使って、RF環境を評価し、その環境中の電子デバイスにおける誤動作をRF干渉が引き起こし得るかどうか決定し、環境中のコンピューティングデバイスおよび/または別のデバイスを保護するためのアクションを開始または実施する方法と、それらの方法を実装するように構成されたコンピューティングデバイスとを含む。モバイル通信デバイスなどのコンピューティングデバイスが、オーディオ、ビデオ、周辺光、振動、加速度、全地球測位情報(たとえば、GPS)、(たとえば、問合せRFIDタグまたはアクティブRFIDタグからの)RFID信号、無線信号レベル(たとえば、セルラー、Wi-Fi、AM、FMなど)などのような、コンピューティングデバイスの周りの環境についてのリアルタイム情報を提供する様々なデバイスセンサーからデータ入力を受信し得る。コンピューティングデバイスは、リアルタイムデータ入力を、コンピューティングデバイスのロケーションを識別するための状況の手掛かり(context clue)として使うことができる。いくつかの態様では、ロケーションを識別することは、リアルタイムデータを使って、環境中の少なくとも1つの他の電子デバイスを識別することを含み得る。コンピューティングデバイスは、識別されたロケーションおよびリアルタイムデータ入力を使って、RF環境を特性化することができ、これは、環境中のRF干渉の臨界を含む特性化を含み得る。たとえば、病院は、RF干渉にセンシティブである多くの電子デバイスを含み得るので、コンピューティングデバイスが病院内に位置すると決定したとき、コンピューティングデバイスは、RFセンシティブ環境に位置すると決定し得る。
【００１３】
コンピューティングデバイスは、環境中にある1つまたは複数の電子デバイスを識別することができ、それらの実際および/または潜在的RF放出を特性化することができる。たとえば、コンピューティングデバイスは、環境中のワイヤレス乳児モニタを識別することができ、ワイヤレス乳児モニタを識別したことに応答して、環境を、RF干渉にセンシティブであるものとして特性化することができる。別の例として、コンピューティングデバイスは、磁気共鳴撮像(MRI)デバイスなど、コンピューティングデバイスと干渉し得るRF放出のソースである別のデバイスを識別することができ、MRIデバイスを識別したことに応答して、環境を、コンピューティングデバイスに潜在的RFリスクを課すものとして特性化することができる。コンピューティングデバイスは、環境中の他のデバイスの現在の放射線放出が限度内であることを確かにするための自己分析を実施することによって、それ自体の実際および/または潜在的RF放出を特性化することもできる。
【００１４】
コンピューティングデバイスは、検知されたリアルタイムデータを使って1つまたは複数のRF挙動ベクトルを生成することができる挙動分析システムを含み得る。コンピューティングデバイスは、RF挙動ベクトルを、1つまたは複数のRF分類器モデルと比較して、環境中の別のデバイスが、コンピューティングデバイスとのRF干渉を引き起こし得るかどうか、および/またはコンピューティングデバイス自体のRF放出が、環境中の別のデバイスと干渉し得るかどうか決定することができる。コンピューティングデバイスは、実際または潜在的RF放出または干渉の重大度レベルを決定することもできる。コンピューティングデバイスは、コンピューティングデバイスを(たとえば、そのメモリをセキュアにすることによって)環境から保護し、またはデバイスが環境から取り除かれることを推奨するアラートを表示するなどのアクションを、決定に基づいて開始または推奨してよい。アクションは、たとえば、RF放出を放射している無線およびアンテナをシャットダウンし、デバイスをスリープモードにし、またはデバイスをシャットダウンすることによって、デバイスから環境を保護することもできる。
【００１５】
「コンピューティングデバイス」および「モバイルデバイス」という用語は、セルラー電話、スマートフォン、パーソナルまたはモバイルマルチメディアプレーヤー、携帯情報端末(PDA)、ラップトップコンピュータ、タブレットコンピュータ、スマートブック、ウルトラブック、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応セルラー電話、ワイヤレスゲームコントローラ、ならびに、メモリ、プログラム可能プロセッサおよびRFセンサーを含む同様のパーソナル電子デバイスのうちの任意の1つまたはすべてを指すように、本明細書では交換可能に使用される。
【００１６】
「構成要素」、「モジュール」、「システム」などの用語は、本明細書において、限定はされないが、特定の動作もしくは機能を実施するように構成された、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなどのコンピュータ関連エンティティを指すのに使われる。たとえば、構成要素は、プロセッサ上で動作しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであってもよいが、それらに限定されない。例として、通信デバイス上で稼働するアプリケーションと通信デバイスの両方が、構成要素と呼ばれる場合がある。1つまたは複数の構成要素が、プロセスおよび/または実行スレッド内に存在することがあり、1つの構成要素が、1つのプロセッサもしくはコアに局在することがあり、かつ/または2つ以上のプロセッサもしくはコアに分散されることがある。加えて、これらの構成要素は、様々な命令および/またはデータ構造を記憶した様々な非一時的コンピュータ可読媒体から実行することができる。各構成要素は、ローカルおよび/またはリモートプロセス、関数呼出しまたはプロシージャ呼出し、電子信号、データパケット、メモリ読出し/書込み、ならびに他の知られているコンピュータ、プロセッサ、および/または通信方法に関するプロセスによって通信してもよい。
【００１７】
挙動分析システムは、挙動観測器モジュールおよび挙動分析器モジュールを含み得る。挙動観測器モジュールは、デバイスの挙動(たとえば、活動、条件、動作、およびイベント)(たとえば、システムイベント、状態変化など)を監視するために、デバイスの様々なハードウェアおよびソフトウェアにおいてアプリケーションプログラミングインターフェース(API)を実装するように構成され得る。実行中のAPIの監視は、リアルタイムセンサーデータを検出するのに使われ得る。観測される挙動の例は、ハードウェアデバイスを通して受信されるデータ、ソフトウェア活動、ならびにハードウェアデバイスおよび/またはソフトウェアデバイスの間で送られる通信および/または命令を含み得る。挙動観測器モジュールは、観測されるリアルタイムデータに関する挙動情報を収集することができ、収集された情報を、メモリに(たとえば、ログファイルなどに)挙動ベクトルの形で記憶すればよい。様々な態様では、分析器モジュールは、生成された挙動ベクトルを1つまたは複数の分類器モデルと比較して、コンピューティングデバイスのロケーションを決定し、RF環境を特性化し、コンピューティングデバイスに対して、および/または環境中の別の電子デバイスに対して、RF放出干渉のリスクがあるかどうか決定することができる。
【００１８】
様々な態様では、挙動分析システムは、検知されたリアルタイムデータを使って1つまたは複数のRF挙動ベクトルを生成することができる。いくつかの態様では、挙動分析システムは、生成されたRF挙動ベクトルを複数のRF分類器モデルと比較して、環境中のデバイスがモバイルデバイスとのRF干渉を引き起こす場合があるかどうか、および/またはモバイルデバイスの放出が、環境中の別のデバイスとのRF干渉を引き起こす場合があるかどうか決定することができる。挙動分析システムは、実際または潜在的RF干渉の重大度レベルを決定することもできる。生成されたRF挙動ベクトルと、1つまたは複数のRF分類器モデルの比較に基づいて、挙動分析システムは、アクションを開始または推奨してよい。いくつかの態様では、アクションは、たとえば、デバイスのメモリをセキュアにし、または環境からデバイスが取り除かれることを推奨するアラートを表示することによって、デバイスを環境から保護することができる。いくつかの態様では、アクションは、たとえば、RF放出を放射しているアンテナをシャットダウンし、またはデバイスをスリープモードにし、またはデバイスをシャットダウンすることによって、デバイスから環境を保護することもできる。アクションは、他の例、ならびに上記の組合せを含み得る。
【００１９】
機械学習技法および/または挙動分析技法を使用することによって、コンピューティングデバイスは、このような状況下で過剰な量のデバイスの処理リソースまたは電力リソースを消費することなしに、デバイスのハードウェアシステムおよび/またはソフトウェアシステムを連続的に(またはほぼ連続的に)監視し、コンピューティングデバイスのRF環境を特性化することができる。上述したすべての理由で、様々な態様は、限られた処理およびバッテリーリソースを有するとともに、コンピューティングデバイスのRF環境を決定し、コンピューティングデバイスと環境中の他の電子デバイスの両方を保護することが重要である、モバイルデバイスなど、リソース制約のあるコンピューティングデバイスに含めるか、またはそのコンピューティングデバイスにおいて使用するのに好適である。
【００２０】
挙動分析システムは、コンピューティングデバイスのリアルタイムセンサーデータを観測し、リアルタイムセンサーデータの1つまたは複数の特徴を抽出するための、および抽出された1つまたは複数の特徴を分析するためのプロセス、デーモン、モジュール、またはサブシステム(本明細書ではまとめて、「モジュール」と呼ばれる)を含み得る。観測器モジュールは、コンピューティングデバイスシステムの様々なレベルにおいて様々なAPI、レジスタ、カウンタ、または他のデバイス構成要素(本明細書では、まとめて「計測対象構成要素(instrumented components)」)を計測するかまたはそれらを協調させ、計測対象構成要素からリアルタイムセンサーデータを収集し、収集されたリアルタイムデータを特徴抽出器モジュールに(たとえば、メモリ書込み動作、関数呼出しなどを介して)通信するように構成されてもよい。
【００２１】
特徴抽出器モジュールは、収集されたリアルタイムデータを使って、観測されるリアルタイムデータの多くまたはすべてを各々が表すか、または特性化する挙動ベクトルを生成することができる。特徴抽出器モジュールは、生成された挙動ベクトルを分析器モジュールに(たとえば、メモリ書込み動作、関数呼出しなどを介して)通信することができる。
【００２２】
分析器モジュールは、分類器モデルに挙動ベクトルを適用して分析結果を生成し、分析結果を使って、コンピューティングデバイスのロケーションを識別し、コンピューティングデバイスのRF環境を特性化し、RF干渉がコンピューティングデバイスおよび/または環境(たとえば、環境中の別の電子デバイス)に悪影響を与え得るかどうか決定することができる。デバイスプロセッサは、コンピューティングデバイスおよび/または環境中の別の電子デバイスを保護するための様々な動作を実施することができる。
【００２３】
各挙動ベクトルは、1つまたは複数の特徴を含むかまたはカプセル化するデータ構造または情報構造であってよい。挙動ベクトルは、コンピューティングデバイスのセンサーによって観測されるリアルタイムデータ(すなわち、特徴)の全部または一部分を表す抽象的な数またはシンボルを含み得る。各特徴は、可能な値の範囲、それらの値に対して実施される場合がある動作、値の意味、および他の同様の情報を識別するデータタイプに関連付けられてよい。データタイプは、対応する特徴(または特徴値)がどのように測定され、分析され、重み付けられ、または使用されるべきかを決定するために、コンピューティングデバイスによって使用され得る。
【００２４】
一態様では、コンピューティングデバイスは、観測器リアルタイムデータをn次元空間にマップする、サイズ「n」の挙動ベクトルを生成するように構成され得る。挙動ベクトル中の各数またはシンボル(すなわち、ベクトルによって記憶された「n」値の各々)は、特徴の値を表し得る。コンピューティングデバイスは、(たとえば、様々なリアルタイムデータと符号する様々な環境のモデルに挙動ベクトルを適用することによって)挙動ベクトルを分析して、コンピューティングデバイスのロケーションを決定し、コンピューティングデバイスのRF環境を特性化することができる。いくつかの態様では、コンピューティングデバイスは、すべての観測されるリアルタイムデータの挙動スコアを、たとえば、平均挙動スコア、加重平均挙動スコア、または別のアグリゲーションにアグリゲートすることもできる。いくつかの態様では、リアルタイムデータの特徴に基づいて、1つまたは複数の重みが選択されてよい。
【００２５】
ある態様では、コンピューティングデバイスは、RFセンシティブ環境および非RFセンシティブ環境のモデルを記憶するように構成され得る。RFセンシティブ環境のモデルは、RFセンシティブ環境に関連付けられ得る観測可能リアルタイムデータの1つまたは複数の特徴を識別し得る。いくつかの態様では、RF環境のモデルは、クラウドサーバまたはネットワークに記憶され、多数のデバイスにわたって共有され、定期的にまたはオンデマンドでコンピューティングデバイスに送られ、コンピューティングデバイスの利用可能センサーに基づいて、デバイス中でカスタマイズされ得る。RFセンシティブ環境および/または非RFセンシティブの1つまたは複数のモデルは、分類器モデルであり得るか、またはそれに含まれ得る。いくつかの態様では、挙動分析システムは、リアルタイムデータから抽出される特徴の粒度を変更するために、挙動ベクトルのサイズを調節することができる。
【００２６】
分類器モデルは、デバイスプロセッサによって、観測されるリアルタイムデータの特徴(たとえば、特定の因子、データポイント、エントリ、API、状態、条件、挙動、ソフトウェアアプリケーション、プロセス、動作、および/または構成要素など)を迅速および効率的にテストまたは評価するのに使うことができる、データ、エントリ、決定ノード、決定基準、および/または情報構造を含む挙動モデルであってよい。分類器モデルは、より大きいまたはより小さいデータセットを含んでもよく、そのサイズは、分類器モデルに挙動ベクトルを適用するのに要求される処理の量に影響し得る。たとえば、「フル」分類器モデルは、大きいトレーニングデータセットの関数として生成され得るとともに、たとえば、数千の特徴および数十億のエントリを含み得る大規模および堅牢なデータモデルであってもよい。別の例として、「リーン」分類器モデルは、その特定のコンピューティングデバイス上で利用可能なセンサーおよびソフトウェアを使って特定のコンピューティングデバイスのRF環境を決定し、特性化するのに最も適した特徴/エントリに対するテストを含むか、または優先する縮小データセットから生成される、より集中型のデータモデルであってよい。いくつかの態様では、挙動分析システムは、挙動ベクトルを分析するのに使われる分類器モデルの堅牢性および/またはサイズを変更することができる。
【００２７】
ローカル分類器モデルは、モバイルコンピューティングデバイスにおいて生成されるリーン分類器モデルであり得る。モデルが使用されるコンピューティングデバイスにおいて分類器モデルを生成することによって、様々な態様は、コンピューティングデバイスが、その特定のコンピューティングデバイス上で利用可能なセンサーおよびソフトウェアを使って特定のコンピューティングデバイスのRF環境を決定し、特性化する際に最も重要な特定の特徴を正確に識別することができるようにする。これらの態様はまた、コンピューティングデバイスが、分類器モデルにおける特徴を、その特定のデバイスにおける挙動を分類することに対するその相対的重要度に従って正確に優先することを可能にする。
【００２８】
様々な態様は、単一のプロセッサおよび多重プロセッサのシステム、ならびにシステムオンチップ(SOC)を含む、いくつかの異なるコンピューティングデバイス内で実装され得る。図1Aは、様々な態様を実装するコンピューティングデバイスにおいて使われ得る例示的なSOC100アーキテクチャを示すアーキテクチャ図である。SOC100は、デジタル信号プロセッサ(DSP)101、モデムプロセッサ104、グラフィックスプロセッサ106、およびアプリケーションプロセッサ108など、いくつかの異種プロセッサを含んでもよい。SOC100はまた、異種プロセッサ101、104、106、108のうちの1つまたは複数に接続された1つまたは複数のコプロセッサ110(たとえば、ベクトルコプロセッサ)を含んでもよい。各プロセッサ101、104、106、108、110は、1つまたは複数のコアを含んでもよく、各プロセッサ/コアは、その他のプロセッサ/コアとは無関係に動作を実施してもよい。たとえば、SOC100は、第1のタイプのオペレーティングシステム(たとえば、FreeBSD、LINUX、OS Xなど)を実行するプロセッサ、および第2のタイプのオペレーティングシステム(たとえば、Microsoft Windows 8)を実行するプロセッサを含み得る。
【００２９】
SOC100は、1つまたは複数のデバイスセンサーによって検知することができるオーディオ、ビデオ、周辺光、振動、加速度、全地球測位情報(たとえば、GPS)、(たとえば、問合せRFIDタグまたはアクティブRFIDタグからの)RFID情報、セルラー信号レベル、および他のデータを含むリアルタイムデータを観測することができる1つまたは複数のリアルタイムデータセンサー102を含み得る。リアルタイムデータセンサーは、カメラ、マイクロフォン、ジャイロスコープ、加速度計、圧力センサー、磁界センサー、(内部および/または外部の温度用の)熱センサー、電子ディスプレイ、データコントローラ、メモリコントローラ、システムコントローラ、アクセスポート、タイマー、周辺デバイス、ワイヤレス通信構成要素(たとえば、セルラー、Wi-Fi、Bluetooth(登録商標)など)、近距離通信(NFC)シグナリング構成要素、バーコードスキャナまたはタグリーダ(たとえば、RFIDタグリーダ)、デバイス周辺ポートまたはコネクタ(たとえば、USB、オーディオジャックなど)にプラグインされた外部センサー、外部メモリチップ、電圧調整器、発振器、位相ロックループ、周辺ブリッジ、ならびにコンピューティングデバイス上で稼働し得るプロセッサおよびソフトウェアをサポートするのに使われる他の同様の構成要素のうちの1つまたは複数からリアルタイムデータを受信するためのハードウェアおよびソフトウェアを含み得る。SOC100はまた、センサーデータ、アナログデジタル変換、ワイヤレスデータ送信を管理し、ゲームおよび映画用の符号化オーディオ信号の処理などの他の特殊な動作を実施するためのアナログ回路構成およびカスタム回路構成114を含んでもよい。SOC100は、電圧調整器、発振器、位相ロックループ、周辺ブリッジ、データコントローラ、メモリコントローラ、システムコントローラ、アクセスポート、タイマー、ならびに、コンピューティングデバイス上で稼働しているプロセッサおよびクライアントをサポートするのに使われる他の同様の構成要素などのシステム構成要素およびリソース116をさらに含んでもよい。
【００３０】
システム構成要素116およびカスタム回路構成114は、カメラ、電子ディスプレイ、ワイヤレス通信デバイス、外部メモリチップなどの周辺デバイスとインターフェースする回路構成を含んでもよい。プロセッサ101、104、106、および108は、相互接続/バスモジュール124を介して、1つまたは複数のメモリ要素112、システム構成要素およびリソース116、ならびにカスタム回路構成114に相互接続されてもよく、相互接続/バスモジュール124は、再構成可能な論理ゲートのアレイを含み、かつ/またはバスアーキテクチャ(たとえば、CoreConnect、AMBAなど)を実装することができる。通信は、高性能ネットワークオンチップ(NoC)などの高度な相互接続によって提供されてもよい。
【００３１】
SOC100は、クロック118および電圧調整器120など、SOCの外部のリソースと通信するための入力/出力モジュール(図示せず)をさらに含み得る。SOCの外部のリソース(たとえば、クロック118、電圧調整器120)は、内部SOCプロセッサ/コア(たとえば、DSP101、モデムプロセッサ104、グラフィックスプロセッサ106、アプリケーションプロセッサ108など)のうちの2つ以上によって共有されてもよい。
【００３２】
SOC100はまた、スピーカー、ユーザインターフェース要素(たとえば、入力ボタン、タッチスクリーンディスプレイなど)、マイクロフォンアレイ、物理条件(たとえば、ロケーション、方向、動き、方位、振動、圧力など)を監視するためのセンサー、カメラ、コンパス、GPS受信機、通信回路構成(たとえば、Bluetooth(登録商標)、WLAN、Wi-Fiなど)、および現代の電子デバイスの他のよく知られている構成要素(たとえば、加速度計など)を含む、センサーからセンサーデータを収集するのに適したハードウェア構成要素および/またはソフトウェア構成要素を含んでもよい。
【００３３】
上で論じたSOC100に加えて、様々な態様が、単一のプロセッサ、複数のプロセッサ、マルチコアプロセッサ、またはこれらの任意の組合せを含み得る、多種多様なコンピューティングシステムにおいて実装され得る。
【００３４】
図1Bは、様々な態様を実装するコンピューティングデバイスにおいて使われ得る例示的なリアルタイムデータセンサー102を示すアーキテクチャ図である。リアルタイムデータセンサー102は、カメラ130、マイクロフォン132、加速度計134、ジャイロスコープ136、フォトセンサー138、振動センサー140、および圧力センサー142を含むことができ、これらの各々は、SOC100の他の構成要素(たとえば、プロセッサ101、104、106、および/または108のうちの1つ)と、相互接続/バスモジュール124を介して通信することができる。リアルタイムデータセンサーは、ワイヤレス通信センサー144も含むことができ、これは、1つまたは複数のアンテナ144aと通信して、ワイヤレス通信信号、RF信号、NFC信号、GPS信号、および他の同様のワイヤレス通信信号を検出することができる。アンテナ144aは、信号を受信するための、信号受信回路構成、モデム、ならびに他のハードウェアおよび/またはソフトウェア(図示せず)を含み得る。
【００３５】
リアルタイムデータセンサーは、1つまたは複数の熱センサー146も含むことができ、これは、モバイルデバイスの内部温度および/またはモバイルデバイスの外の周辺温度を検出することができる。リアルタイムデータセンサーは、磁界センサー148も含むことができ、これは、1つまたは複数の電子デバイスからの地磁界ならびに磁気放散を検出することができる。バーコードスキャナまたはタグリーダ(たとえば、RFIDタグリーダ)などのスキャナ150もリアルタイムデータセンサー中に含まれてよく、これは、1つまたは複数の問合せ信号または走査信号を放出するように、およびたとえば、バーコードまたは信号問合せ可能タグから応答を受信するように構成され得る。リアルタイムデータセンサーは、モバイルデバイスの電子ディスプレイ、データコントローラ、メモリコントローラ、システムコントローラ、アクセスポート、タイマー、および他の同様のハードウェアからのデータの受信を可能にするように構成されたハードウェアインターフェース152も含み得る。ソフトウェアインターフェース154も、モバイルデバイスの1つもしくは複数のソフトウェアアプリケーション、ドライバ、API、オペレーティングシステム、または他のソフトウェアからのデータの受信を可能にするために、リアルタイムデータセンサー中に含まれ得る。リアルタイムデータセンサーは、外部センサーまたはデバイス周辺ポートもしくはコネクタ(たとえば、USB、オーディオジャックなど)にプラグインされた周辺デバイスからのデータの受信を可能にするように構成された外部デバイスインターフェース156も含み得る。
【００３６】
図2は、様々な態様による、挙動分析技法を使ってRF環境を特性化するように構成されたRF環境特性化システム200を含む態様コンピューティングデバイスにおける例示的な論理構成要素および情報フローを示す。図2に示す例では、コンピューティングデバイスは、リアルタイムデータ観測器モジュール202と、リアルタイムデータ抽出器モジュール204と、分析器モジュール206と、アクチュエータモジュール208と、RF環境特性化モジュール210とを含む実行可能命令モジュールで構成されたデバイスプロセッサ(たとえば、モバイルデバイスプロセッサ)を含むモバイルデバイス220である。
【００３７】
様々な態様では、RF環境特性化モジュール210の全部またはいくつかの部分は、リアルタイムデータ観測器モジュール202、リアルタイムデータ抽出器モジュール204、分析器モジュール206、またはアクチュエータモジュール208の一部として実装され得る。モジュール202〜210の各々は、ソフトウェア、ハードウェア、またはこれらの組合せにおいて実装される、スレッド、プロセス、デーモン、モジュール、サブシステム、または構成要素であり得る。様々な態様では、モジュール202〜210は、オペレーティングシステムの部分の中(たとえば、カーネル内、カーネル空間中、ユーザ空間中など)で、個別のプログラムもしくはアプリケーションの中で、専用のハードウェアバッファもしくはプロセッサの中で、またはそれらの任意の組合せにて実装され得る。一態様では、モジュール202〜210のうちの1つまたは複数は、モバイルデバイス220の1つまたは複数のプロセッサ上で稼働するソフトウェア命令として実装され得る。
【００３８】
RF環境特性化モジュール210は、コンピューティングデバイスのRF環境を特性化し、環境のRF特性化に基づいて少なくとも1つのRFしきい値を決定するように、ならびに他のモジュール202〜208によって収集され、生成され、または分析された情報のいずれかまたはすべてに基づいて、コンピューティングデバイスおよび/または環境中の別のデバイスを、RF干渉から保護するためのアクションを開始または実施するように構成され得る。RF環境特性化モジュール210は、リアルタイムデータ観測器モジュール202によって収集された情報を使って、コンピューティングデバイスのローカル環境における条件を決定し、いずれかまたはすべてのそのような情報を使って、コンピューティングデバイスの現在のロケーションを識別することができる。RF環境特性化モジュール210は、コンピューティングデバイスのローカル環境における条件および/またはコンピューティングデバイスの識別されたロケーションを使って、コンピューティングデバイスが位置するRF環境を特性化することができる。
【００３９】
リアルタイムデータ観測器モジュール202は、デバイスの様々なレベル/モジュールにおいてアプリケーションプログラミングインターフェース(API)、カウンタ、ハードウェアモニタなどをそろえ、様々なリアルタイムデータセンサー(たとえば、図1A、図1Bおよび図2のリアルタイムデータセンサー102)において活動、条件、動作、およびイベント(たとえば、システムイベント、状態変化など)を監視するように構成され得る。リアルタイムデータ観測器モジュール202は、アプリケーションフレームワークまたはランタイムライブラリにおけるライブラリAPIコール、システムコールAPI、ファイルシステムおよびネットワーキングサブシステム動作、デバイス(センサーデバイスを含む)状態変化、ならびに他の同様のイベントに関する情報を収集することによって、コンピューティングデバイス(たとえば、図1Aに示したSOC100を含むコンピューティングデバイス)によって受信されたリアルタイムデータを監視するように構成され得る。
【００４０】
リアルタイムデータ観測器モジュールによって観測することができるリアルタイムデータは、1つまたは複数のデバイスセンサーによって検知することができる、オーディオ、ビデオ、周辺光、振動、加速度、全地球測位情報(たとえば、GPS)、(たとえば、問合せRFIDタグまたはアクティブRFIDタグからの)RFID情報、セルラー信号レベル、および他のデータを含む。リアルタイムデータ観測器モジュール202はまた、1つまたは複数のハードウェア構成要素のドライバの統計データおよび/またはステータスを監視することができ、ハードウェア構成要素には、カメラ、センサー、電子ディスプレイ、Wi-Fi通信構成要素、データコントローラ、メモリコントローラ、システムコントローラ、アクセスポート、タイマー、周辺デバイス、ワイヤレス通信構成要素、外部メモリチップ、電圧調整器、発振器、位相ロックループ、周辺ブリッジ、ならびに、プロセッサ、およびコンピューティングデバイス220上で動作するクライアントをサポートするのに使われる他の同様の構成要素が含まれ得る。リアルタイムデータ観測器モジュール202は、コンパス情報、コンピューティングデバイスの設定、バッテリー持続時間、ジャイロスコープ情報、圧力センサー、磁気センサー、スクリーン活動などによって検知されたデータ、およびそれらに対する更新も監視することができる。リアルタイムセンサー観測の他の例は、近距離通信(NFC)シグナリングを検出すること、バーコードスキャナまたはタグリーダからの情報(たとえば、RFIDタグ情報)を収集すること、およびモバイルコンピューティングデバイス220が別のコンピューティングデバイスに(たとえば、Bluetooth(登録商標)またはWi-Fiを介して)結合されたことを検出すること、デバイス周辺ポートまたはコネクタ(たとえば、USB、オーディオジャックなど)にプラグインされた外部センサーから情報を収集すること、触覚またはハプティックセンサーから(たとえば、振動センサー、加速度計などを介して)情報を収集すること、およびコンピューティングデバイス220の熱状態に関する情報を収集することを含み得る。
【００４１】
監視される要素の数を管理可能なレベルまで低減するために、ある態様では、リアルタイムデータ観測器モジュール202は、コンピューティングデバイスの脆弱性または劣化に寄与する可能性があるすべての要素の小さいサブセットである、挙動または要素の初期セットを監視/観測することによって、粗い観測を実施するように構成されてもよい。いくつかの態様では、リアルタイムデータ観測器モジュール202は、クラウドサービスまたはネットワーク内のサーバおよび/または構成要素から挙動および/または要素の初期セットを受信することができる。いくつかの態様では、挙動/要素の初期セットは、機械学習分類器モデル中で指定されてもよい。
【００４２】
リアルタイムデータ観測器モジュール202は、収集されたリアルタイムデータを特徴抽出器モジュール204に(たとえば、メモリ書込み動作、関数呼出しなどを介して)通信することができる。特徴抽出器モジュール204は、収集されたリアルタイムデータを受信および取り出し、1つまたは複数の挙動ベクトルを生成するのにこの情報を使うように構成され得る。各挙動ベクトルは、観測されたリアルタイムデータを、値またはベクトルデータ構造中で簡潔に記述し得る。いくつかの態様では、ベクトルデータ構造は一連の数を含むことができ、その各々は、挙動観測器モジュール202によって収集されたリアルタイムデータの部分的または完全表現を意味する。
【００４３】
いくつかの実施形態では、特徴抽出器モジュール204は、挙動ベクトルが、挙動分析システム(たとえば、分析器モジュール206)がデバイスのリアルタイムセンサーデータを迅速に認識すること、特定すること、または分析することを可能にする識別子として機能するように挙動ベクトルを生成するように構成可能である。ある態様では、特徴抽出器モジュール204は、サイズ「n」の挙動ベクトルを生成するように構成されてよく、挙動ベクトルの各々は、センサーまたはハードウェアもしくはソフトウェア挙動のリアルタイムデータをn次元空間にマップする。ある態様では、特徴抽出器モジュール204は、コンピューティングデバイスのRF環境を特性化するためのリアルタイムデータの1つまたは複数の特徴に関する照会への回答を生成するために、RF環境特性化モジュール中の特徴/決定ノードに入力され得る情報を含むように、挙動ベクトルを生成するように構成され得る。
【００４４】
特徴抽出器モジュール204は、生成された挙動ベクトルを分析器モジュール206に(たとえば、メモリ書込み動作、関数呼出しなどを介して)通信することができる。分析器モジュール206は、コンピューティングデバイスのロケーションを決定するために、挙動ベクトルを分類器モジュールに適用するように構成され得る。さらに、挙動分析器モジュール206は、コンピューティングデバイスのRF環境を特性化するために、挙動ベクトルを分類器モジュールに適用するように構成されてよい。
【００４５】
各分類器モデルは、検知されたリアルタイムデータの特定の特徴または態様を評価するためにコンピューティングデバイスプロセッサによって使われ得るデータおよび/または情報構造(たとえば、特徴ベクトル、挙動ベクトル、構成要素リストなど)を含む挙動モデルであってよい。各分類器モデルはまた、コンピューティングデバイスデバイス内のいくつかの特徴、因子、データポイント、項目、API、状態、条件、挙動、アプリケーション、プロセス、動作、構成要素など(本明細書では総称して「特徴」)を監視するための決定基準を含む場合がある。分類器モデルは、コンピューティングデバイス上にプレインストールされてもよく、ネットワークサーバからダウンロードもしくは受信されてもよく、コンピューティングデバイスにおいて生成されてもよく、またはそれらの任意の組合せであってもよい。分類器モデルは、クラウドソーシングソリューション、挙動モデル化技法、機械学習アルゴリズム、または分類器モデルを生成する他の方法を使用することによって生成されてよい。
【００４６】
各分類器モデルは、フル分類器モデルまたはリーン分類器モデルであってよい。フル分類器モデルは、数千の特徴および数十億のエントリを含み得る大規模トレーニングデータセットの関数として生成される、堅牢なデータモデルであってよい。リーン分類器モデルは、リアルタイムデータを評価するのに最も適した特徴/エントリのみを分析またはテストする縮小データセットから生成される、より集中型のデータモデルであってよい。リーン分類器モデルは、コンピューティングデバイス中で観測され得る特徴および挙動の総数のサブセットを含む挙動ベクトルを分析するのに使うことができる。一例として、デバイスプロセッサは、ネットワークサーバからフル分類器モデルを受信し、フル分類器に基づいて、モバイルデバイス中でリーン分類器モデルを生成し、挙動ベクトル中で収集されたリアルタイムデータを評価するのに、ローカルに生成されたリーン分類器モデルを使うように構成されてよい。
【００４７】
ローカルに生成されたリーン分類器モデルは、コンピューティングデバイスにおいて生成されたリーン分類器モデルである。つまり、モバイルコンピューティングデバイスは、高度に構成可能であり複雑なシステムなので、リアルタイムデータから抽出され得る特徴は、各デバイスにおいて異なり得る。さらに、特徴の異なる組合せが、各デバイスにおいて、そのデバイスがコンピューティングデバイスのロケーションを迅速および効率的に決定するため、およびRF環境を特性化するために、監視および/または分析され得る。監視および分析を必要とする特徴の正確な組合せ、ならびに各特徴または特徴の組合せの相対的優先度または重要度は、しばしば、ロケーションが決定されるべき特定のデバイスおよび特性化されたRF環境から取得された情報を使用してのみ決定されてもよい。これらおよび他の理由で、様々な態様は、モデルが使用されるモバイルデバイスにおいて分類器モデルを生成してもよい。
【００４８】
ローカル分類器モデルは、デバイスプロセッサが、コンピューティングデバイスのロケーションを決定し、そのコンピューティングデバイス向けのRF環境を特性化するのに最も重要である特定の特徴を正確に識別することを可能にし得る。ローカル分類器モデルはまた、デバイスプロセッサが、コンピューティングデバイスのロケーションの決定およびRF環境の特性化に対する相対的重要度に従ってテストまたは評価される特徴を優先順位付けすることを可能にし得る。
【００４９】
いくつかの態様では、デバイス固有分類器モデルが使われてよく、これは、コンピューティングデバイスのロケーションを決定し、RF環境を特性化するのに最も適していると決定されたコンピューティングデバイス固有特徴/エントリのみを含む/テストする、集中型のデータモデルを含む分類器モデルである。モバイルデバイス中でローカルに、デバイス固有分類器モデルを動的に生成することによって、様々な態様は、デバイスプロセッサが、コンピューティングデバイスのロケーションを決定し、その特定のコンピューティングデバイス向けのRF環境を特性化するのに最も重要であり、適用可能であり、および/または適した少数の特徴に監視および分析動作を集中させることができるようにする。
【００５０】
ある態様では、分析器モジュール206は、特に、リアルタイムデータの分析特徴が決定的でないとき、分析器モジュールが評価するリアルタイムデータの特徴の詳細粒度またはレベルを調節するように構成され得る。たとえば、分析器モジュール206は、分析器モジュールに与えられたリアルタイムデータの現在の特徴セットに基づいて、ロケーションを識別し、かつ/またはRF環境を特性化することができない(すなわち、確実性のしきい値レベルまで、ロケーションを決定し、かつ/またはRF環境を特性化することができない)との決定に応答して、リアルタイムデータ観測器モジュール202に通知するように構成され得る。それに応答して、リアルタイムデータ観測器モジュール202は、分析器モジュール206から送られる通知(たとえば、リアルタイムデータ特徴の分析の結果に基づく通知)に基づいて、監視される因子もしくは挙動を変更し、かつ/またはその観測の粒度(すなわち、リアルタイムデータが観測される詳細レベルおよび/もしくは頻度)を調節してよい。
【００５１】
リアルタイムデータ観測器モジュールはまた、新規または追加リアルタイムデータを生成または収集し、新規/追加リアルタイムデータを、さらなる分析/分類のために特徴抽出器モジュール204および分析器モジュール206に送ることができる。リアルタイムデータ観測器モジュール202と分析器モジュール206との間のそのようなフィードバック通信により、コンピューティングデバイス220は、信頼性の範囲内まで、または信頼性のしきい値レベルまで、分析器モジュールがロケーションを識別し、かつ/またはRF環境を特性化することができるまで、観測の粒度を再帰的に増大させ(すなわち、より詳細なおよび/もしくはより頻繁な観測を行う)、または観測されるリアルタイムデータを変更することが可能になり得る。そのようなフィードバック通信はまた、モバイルコンピューティングデバイス220が、過剰な量のコンピューティングデバイスの処理リソース、メモリリソース、またはエネルギーリソースを消費することなしに、挙動ベクトルおよび分類器モデルを調節または修正することを可能にし得る。
【００５２】
様々な態様では、モバイルデバイス220は、コンピューティングデバイスのロケーションを決定し、かつ/またはRF環境を特性化するのに最も適した特徴、因子、およびデータポイントを知的および効率的に識別するために、ネットワークサーバとともに作動するように構成され得る。たとえば、デバイスプロセッサは、ネットワークサーバからフル分類器モデルを受信し、デバイスまたはそのソフトウェアアプリケーションの特徴および機能性に固有であるリーン分類器モデル(すなわち、データ/挙動モデル)を生成するために、受信されたフル分類器モデルを使用するように構成され得る。デバイスプロセッサは、様々なレベルの複雑さ(または「リーンネス」)のリーン分類器のモデルのファミリーを生成するために、フル分類器モデルを使用してもよい。分析器モジュールが、コンピューティングデバイスのロケーションの確実な決定、およびRF環境の特性化ができないと決定するまで、リーン分類器モデルの最もリーンなファミリー(すなわち、最も少ない数のテスト条件に基づくリーン分類器モデル)が、ルーチン的に適用されてよい。そのような決定に応答して、コンピューティングデバイスのロケーションの確定決定および/または挙動のRF環境分類の特性化が分析器モジュールによって行われ得るまで、分析器モジュールは、生成されたリーン分類器モデルのファミリーにおいてより一層堅牢な分類器モデルを使うためのフィードバック(たとえば、通知または命令)を、リアルタイムデータ観測器モジュールおよび/または特徴抽出器モジュールに与え得る。このようにして、コンピューティングデバイスプロセッサは、最も完全だが、リソース集約的な分類器モデルの使用を、コンピューティングデバイスのロケーションを確定的に決定し、かつ/またはそのRF環境を特性化するのに、堅牢な分類器モデルが必要とされる状況に制限することによって、効率と正確さとの間の均衡をとることができる。
【００５３】
様々な態様では、デバイスプロセッサは、フル分類器モデル中に含まれるリアルタイムセンサーデータの表現または表式を、ブーストされた決定株に変換することによって、リーン分類器モデルを生成するように構成され得る。デバイスプロセッサは、フル分類器モデルに含まれるブーストされた決定株のサブセットを含むリーン分類器モデルを生成するために、アプリケーション、デバイス、またはセンサー固有の特徴に基づいて、ブーストされた決定株のフルセットをプルーニングするかまたは選び出すことができる。デバイスプロセッサは次いで、リーン分類器モデルを使って、リアルタイムセンサーデータを知的に監視し、コンピューティングデバイスのロケーションを決定し、ロケーションのRF環境を特性化すればよい。
【００５４】
ブーストされた決定株は、厳密に1つのノード(すなわち、1つのテスト質問またはテスト条件)と重み値とを有することができ、データ/挙動の、軽い、非プロセッサ集約的な2値分類における使用に好適な、1レベル決定木であり得る。挙動ベクトルをブーストされた決定株に適用することで、2値の回答(たとえば、1または0、yesまたはnoなど)がもたらされ得る。たとえば、ブーストされた決定株によってテストされる質問/条件は、デバイスマイクロフォンによって検出された単語もしくは音がRFセンシティブ環境の特性であるかどうか、またはデバイスカメラによってキャプチャされた、別のデバイスの画像が、ハザードを生成するRF放出として認識可能であるかどうかを含んでよく、これらに対する回答は2値であってよい。ブーストされた決定株は、2値回答を生成するのに大幅な処理リソースを必要としないので、効率的である。ブーストされた決定株はまた、高度に並列化可能であってよく、したがって、(たとえば、コンピューティングデバイス内の複数のコアまたはプロセッサによって)多くの株が並列に/同時に適用またはテストされてもよい。
【００５５】
図3は、ある態様による、RF干渉によって引き起こされる誤動作を検出する方法300を示す。方法300は、システムオンチップ上のプロセッサ(たとえば、図1Aに示すSOC100上のプロセッサ101、104、106、および108)など、モバイルまたはリソース制約コンピューティングデバイスの処理コアもしくはデバイスプロセッサまたは任意の同様のプロセッサによって実施することができ、RF環境を特性化するための挙動分析システム(たとえば、図2のRF環境特性化システム200)を利用することができる。
【００５６】
ブロック302において、デバイスプロセッサが、コンピューティングデバイスの1つまたは複数のセンサーを使って、リアルタイムセンサーデータを受信し得る。コンピューティングデバイスのセンサーは、コンピューティングデバイスの、オーディオ(たとえば、マイクロフォン)、ビデオ(たとえば、カメラ)、周辺光、振動、加速度、全地球測位情報(たとえば、GPS)、(たとえば、問合せRFIDタグもしくはアクティブRFIDタグからの)RFID情報、無線アクセス技術信号レベル(たとえば、セルラーもしくはWi-Fi信号強度)、周辺FMもしくAM無線信号レベルまたは他のそのような信号、および他の、センサーを含み得る。リアルタイムデータはしたがって、たとえば、単語、機械ノイズ、および他の音、ロケーション、アーキテクチャ特徴、機械類および他のデバイスの画像、アイコンまたは他の記号情報を含むバーコード、ラベルおよび標識、任意の筆記システム(Brailleを含む)、GPS信号、コンパス情報、ジャイロスコープ情報、圧力センサーデータ、および磁界または磁束示度を使うラベルおよび標識、ならびにコンピューティングデバイスセンサーにおいて受信され得る他のリアルタイムデータを含み得る。
【００５７】
ブロック304において、デバイスプロセッサは、リアルタイムデータ入力を、コンピューティングデバイスのロケーション、相対ロケーション、および/またはロケーションのタイプを識別するための状況の手掛かりとして使うことによって、コンピューティングデバイスのロケーションを識別することができる。たとえば、受信された音は、特定のタイプのロケーションにおいて(たとえば、エレベーターは、複数階の建物の中心寄りに位置する傾向がある)、または特定の固有ロケーションにおいて(たとえば、MRI機械は通常、病院内または医療検査機関内に位置する)見られる傾向がある特定のタイプの機械類と合致する音響フィンガープリントを有する場合がある。受信された音は、(たとえば、音声認識、オーディオフィンガープリント認識、または別の音識別方法によって)識別され得るとともに、デバイスプロセッサがコンピューティングデバイスロケーションについての1つまたは複数の状況の手掛かりとして使うことができる認識可能単語も含み得る。周辺音レベル(たとえば、周辺ノイズ音圧レベル)または周辺音のタイプ(たとえば、反復機械ノイズ、不規則な自然/生体音など)も、コンピューティングデバイスロケーションに関する状況の手掛かりを与え得る。
【００５８】
別の例として、デバイスプロセッサは、カメラによって受信された画像を識別し、ロケーションおよび状況の手掛かりに対する画像を分析することができる。たとえば、画像は、建物、標識、ラベル、シンボル、印刷された単語、電子デバイス、バーコード、ラベルまたはコンピューティングデバイスロケーションに関する状況の手掛かりを与えるために分析され得る他の可視的手がかりを含み得る。
【００５９】
別の例として、GPS情報が、コンピューティングデバイスの地理的ロケーションについての詳細な情報を提供し得る。別の例として、加速度計データは、エレベーター、上りおよび下り階段における相対運動、またはコンピューティングデバイスロケーションに関する状況の手掛かりを与え得る他のデータを示すことができる。同様に、コンパスおよびジャイロスコープデータは、相対ロケーション情報を提供し得る。コンピューティングデバイスの利用可能センサーに基づいて、他の例も可能である。
【００６０】
いくつかの態様では、識別されたロケーションは固有(たとえば、病院、コンピュータサーバファーム、高セキュリティ環境など)であってよい。いくつかの態様では、ロケーションは、識別されたアスペクトまたはデバイスに相対して(たとえば、ワイヤレス乳児モニタに近接して、ワイヤレスセキュリティカメラに近く、緊急無線ビーコンに近く、など)識別され得る。
【００６１】
ブロック306において、デバイスプロセッサは、コンピューティングデバイスのロケーションのRF環境を特性化することができる。デバイスプロセッサは、識別されたロケーションおよびリアルタイムデータ入力を使って、RF環境を特性化することができ、これは、環境中のRF干渉の臨界を含む特性化を含み得る。デバイスプロセッサは、環境中の特定の電子デバイスを識別することもでき、それらの実際および/または潜在的RF放出を特性化することができる。デバイスプロセッサは、コンピューティングデバイスによって放出される放射線の現在の周波数および強度が環境中の他のデバイスの限度内であることを確実にするために、自己分析を実施することによって、それ自体の実際および/または潜在的RF放出を特性化することもできる。
【００６２】
コンピューティングデバイスは、実際または潜在的RF放出または干渉の重大度レベルを決定することもできる。たとえば、病院として識別されたロケーションは、RF干渉にセンシティブである多くの電子デバイスを含み得るので、RFセンシティブ環境として特性化され得る。別の例として、MRI機械に近接していると識別されたロケーションは、コンピューティングデバイス機能との干渉のリスクにより、RFセンシティブであるとして特性化され得る。同様に、ワイヤレス乳児モニタに近いと識別されたロケーションは、コンピューティングデバイスのRF放出による、乳児モニタとの起こり得る干渉により、RFセンシティブであるとして特性化され得る。
【００６３】
ブロック308において、デバイスプロセッサは、識別された環境に適した1つまたは複数のRF放出しきい値を決定することができる。いくつかの態様では、RF放出しきい値は、環境中に存在すると認識された電子デバイスに対して干渉のリスクを課し得る、コンピューティングデバイスによるRF放出のレベルに関し得る。いくつかの態様では、RF放出しきい値は、コンピューティングデバイスに対して干渉のリスクを課し得る、環境中に存在すると認識された電子デバイスによるRF放出のレベルに関し得る。RF放出しきい値は、環境中で測定された、実際または潜在的RF放出または干渉の決定された重大度レベルにも基づき得る。
【００６４】
ブロック310において、デバイスプロセッサは、環境中の電子デバイスとのRF干渉についての可能性の分析結果を生成し得る。分析結果は、1つまたは複数のRF放出しきい値と、リアルタイムセンサーデータ、コンピューティングデバイスの識別されたロケーションの1つまたは複数のアスペクトを比較すること、およびコンピューティングデバイスのRF環境の特性化を含み得る。
【００６５】
ブロック312において、デバイスプロセッサは、分析結果に基づいてアクションを実施し得る。たとえば、デバイスプロセッサは、たとえば、コンピューティングデバイスのメモリをセキュアにすることによって、またはデバイスが環境から取り除かれることを推奨するアラートを表示することによって、環境中の実際または潜在的RF干渉リスクからコンピューティングデバイスを保護するためのアクションを開始または推奨することができる。別の例として、アクションは、たとえば、RF放出を放射しているコンピューティングデバイスのアンテナをシャットダウンすることによって、またはコンピューティングデバイスを、そのRF放出を削減もしくは停止するためにスリープモードにすることによって、またはデバイスをシャットダウンすることによって、コンピューティングデバイスからの実際または潜在的RF放出から環境(または環境中の電子デバイス)を保護することもできる。
【００６６】
図4は、ある態様による、RF干渉によって引き起こされる誤動作を検出する方法400を示す。方法400は、システムオンチップ上のプロセッサ(たとえば、図1Aに示すSOC100上のプロセッサ101、104、106、および108)など、モバイルまたはリソース制約コンピューティングデバイスの処理コアもしくはデバイスプロセッサまたは任意の同様のプロセッサによって実施することができ、RF環境を特性化するための挙動分析システム(たとえば、図2のRF環境特性化システム200)を利用することができる。ブロック302〜312において実施される動作のいくつかの態様では、デバイスプロセッサは、方法300のブロック302〜312を参照して記載したものと同様の動作を実施し得る(図3参照)。
【００６７】
ブロック302において、図3を参照して記載したように、デバイスプロセッサが、コンピューティングデバイスの1つまたは複数のセンサーを使って、リアルタイムセンサーデータを受信し得る。ブロック402において、デバイスプロセッサは、複数のRF挙動ベクトルを計算することができる。たとえば、挙動分析システムは、検知されたリアルタイムデータを使って1つまたは複数のRF挙動ベクトルを生成することができる。ブロック404において、デバイスプロセッサは、計算されたRF挙動ベクトルを、複数のRF分類器モデルに適用し得る。ブロック304において、複数のRF分類器モデルへの、生成されたRF挙動ベクトルの適用に基づいて、デバイスプロセッサは、図3を参照して記載したように、コンピューティングデバイスのロケーションを識別することができる。
【００６８】
任意選択のブロック406において、デバイスプロセッサは、コンピューティングデバイスの識別されたロケーションおよび/または検知されたリアルタイムデータを使って、第2の複数のRF挙動ベクトルを計算することができる。任意選択のブロック408において、デバイスプロセッサは、生成された第2のRF挙動ベクトルを、第2の複数のRF分類器モデルに適用し得る。ブロック306において、第2の複数のRF分類器モデルへの、生成された第2のRF挙動ベクトルの適用に基づいて、デバイスプロセッサは、図3を参照して記載したように、コンピューティングデバイスのロケーションのRF環境を特性化することができる。
【００６９】
図5は、様々な態様によるリアルタイムセンサーデータの動的および適応観測を実施するための例示的な方法500を示す。方法500は、システムオンチップ上のプロセッサ(たとえば、図1Aに示すSOC100上のプロセッサ101、104、106、および108)など、モバイルまたはリソース制約コンピューティングデバイスの処理コアもしくはデバイスプロセッサまたは任意の同様のプロセッサによって実施することができ、RF環境を特性化するための挙動分析システム(たとえば、図2のRF環境特性化システム200)を利用することができる。ブロック302、402および404において実施される動作のいくつかの態様では、デバイスプロセッサは、方法300のブロック302ならびに方法400のブロック402および404を参照して記載したものと同様の動作を実施し得る(図3および図4参照)。
【００７０】
ブロック302において、図3を参照して記載したように、デバイスプロセッサが、コンピューティングデバイスの1つまたは複数のセンサーを使って、リアルタイムセンサーデータを受信し得る。リアルタイムセンサーデータは、リアルタイムデータ観測器モジュール(たとえば、図2のリアルタイムデータ観測器モジュール202)によって監視され得る。図4を参照して記載したように、ブロック402において、デバイスプロセッサは複数のRF挙動ベクトルを計算することができ、ブロック404において、デバイスプロセッサは、計算されたRF挙動ベクトルを複数のRF分類器モデルに適用することができる。
【００７１】
ブロック502において、複数のRF分類器モデルへの、生成されたRF挙動ベクトルの適用に基づいて、デバイスプロセッサは、コンピューティングデバイスのロケーションを識別することを試みればよい。決定ブロック504において、デバイスプロセッサは、コンピューティングデバイスのロケーションが識別されるかどうか決定することができる。たとえば、検知されたリアルタイムデータは、デバイスプロセッサが、コンピューティングデバイスのロケーションを、信頼性のしきい値レベルまで決定することを可能にするのに不十分な状況の手掛かりを与える場合がある。コンピューティングデバイスのロケーションが識別されると決定したこと(たとえば、決定ブロック504=「Yes」)に応答して、デバイスプロセッサは、ブロック406において複数の挙動ベクトルを計算し、図6を参照して以下で説明する方法600における動作を進めることができる。
【００７２】
コンピューティングデバイスのロケーションが識別されないと決定したこと(すなわち、決定ブロック504=「No」)に応答して、デバイスプロセッサは、ブロック506において、リアルタイムデータの評価の粒度を調節し、ブロック402において複数の挙動ベクトルを再計算することによって、方法500の動作を繰り返せばよい。たとえば、分析器モジュール(すなわち、図2の分析器モジュール206)は、ロケーションが識別されないとの決定に応答して、分析器モジュールが評価するリアルタイムデータの特徴の数、またはリアルタイムデータの特徴の詳細のレベルを調節するように構成され得る。いくつかの態様では、分析器モジュールは、監視される因子または挙動を増やし、かつ/またはリアルタイムデータ観測の詳細を増大させるよう、リアルタイムデータ観測器モジュール(たとえば、図2のリアルタイムデータ観測器モジュール202)に通知するように構成され得る。
【００７３】
いくつかの態様では、リアルタイムデータ観測器モジュールは、その観測の粒度を調節することができる。特徴抽出器モジュール(たとえば、図2の特徴抽出器モジュール204)は、リアルタイムセンサーデータから、より大きい数の特徴を抽出し、より大きい数の抽出された特徴を使って、ブロック402において複数のRF挙動ベクトルを計算することもできる。いくつかの態様では、リアルタイムデータ観測器モジュールは、ブロック302において、新規または追加リアルタイムデータを収集することもできる。リアルタイムデータ観測器モジュール、特徴抽出器モジュール、および分析器モジュールの間のフィードバック通信により、コンピューティングデバイスは、分析器モジュールがコンピューティングデバイスのロケーションを信頼性のしきい値レベルまで識別し得るまで、観測の粒度を再帰的に増大させ(すなわち、より詳細なおよび/もしくはより頻繁な観測を行い)、観測されるリアルタイムデータを変更し、かつ/またはリアルタイムセンサーデータから異なるおよび/もしくはより詳細な特徴を抽出することが可能になり得る。そのようなフィードバック通信はまた、モバイルコンピューティングデバイスが、過剰な量のコンピューティングデバイスの処理リソース、メモリリソース、またはエネルギーリソースを消費することなしに、挙動ベクトルおよび分類器モデルを調節または修正することを可能にし得る。
【００７４】
図6は、様々な態様によるリアルタイムセンサーデータの動的および適応観測を実施するための例示的な方法600を示す。方法600は、システムオンチップ上のプロセッサ(たとえば、図1Aに示すSOC100上のプロセッサ101、104、106、および108)など、モバイルまたはリソース制約コンピューティングデバイスの処理コアもしくはデバイスプロセッサまたは任意の同様のプロセッサによって実施することができ、RF環境を特性化するための挙動分析システム(たとえば、図2のRF環境特性化システム200)を利用することができる。ブロック302、308、310、406、および408において実施される動作のいくつかの態様では、デバイスプロセッサは、方法300のブロック302、308および310ならびに方法400のブロック402および404を参照して記載したものと同様の動作を実施し得る(図3および図4参照)。
【００７５】
コンピューティングデバイスのロケーションが識別されると決定したこと(たとえば、図5の決定ブロック504=「Yes」)に応答して、デバイスプロセッサは、ブロック406において、コンピューティングデバイスの識別されたロケーションおよび/または検知されたリアルタイムデータを使って、第2の複数のRF挙動ベクトルを計算すればよい。ブロック408において、デバイスプロセッサは、生成された第2のRF挙動ベクトルを、第2の複数のRF分類器モデルに適用し得る。いくつかの態様では、ブロック406および408において実施される動作は任意選択であってよく、ブロック406および408の動作を実施せずに、ブロック602の動作が実施され得る。
【００７６】
ブロック602において、第2の複数のRF分類器モデルへの、生成された第2のRF挙動ベクトルの適用に基づいて、デバイスプロセッサは、コンピューティングデバイスのロケーションのRF環境を特性化することを試みればよい。RF環境が特性化されると決定したこと(すなわち、決定ブロック604=「Yes」)に応答して、デバイスプロセッサは、ブロック308において、環境についての1つまたは複数のRF放出しきい値を決定することができる。ブロック310において、デバイスプロセッサは、環境中の電子デバイスとのRF干渉についての可能性の分析結果を生成することができ、ブロック312において、デバイスプロセッサは、分析結果に基づいてアクションを実施し得る。
【００７７】
RF環境が特性化されないと決定したこと(すなわち、決定ブロック604=「No」)に応答して、デバイスプロセッサは、ブロック606において、リアルタイムデータの評価の粒度を調節し、ブロック406において、複数のRF挙動ベクトルを再計算することができる。たとえば、分析器モジュール(たとえば、図2の分析器モジュール206)は、ロケーションが識別されないとの決定に応答して、分析器モジュールが評価するリアルタイムデータの特徴の数、またはリアルタイムデータの特徴の詳細のレベルを調節するように構成され得る。いくつかの態様では、分析器モジュールは、監視される因子または挙動を増やし、かつ/またはリアルタイムデータ観測の詳細を増大させるよう、リアルタイムデータ観測器モジュール(たとえば、図2のリアルタイムデータ観測器モジュール202)に通知するように構成され得る。
【００７８】
いくつかの態様では、リアルタイムデータ観測器モジュールは、その観測の粒度を調節することができる。特徴抽出器モジュール(たとえば、図2の特徴抽出器モジュール204)は次いで、リアルタイムセンサーデータから、より大きい数の特徴を抽出し、より大きい数の抽出された特徴を使って、ブロック406において複数のRF挙動ベクトルを計算すればよい。いくつかの態様では、リアルタイムデータ観測器モジュールは、ブロック302において、新規または追加リアルタイムデータを収集することもできる。リアルタイムデータ観測器モジュール、特徴抽出器モジュール、および分析器モジュールの間のフィードバック通信により、コンピューティングデバイスは、分析器モジュールがコンピューティングデバイスのロケーションのRF環境を信頼性のしきい値レベルまで特性化し得るまで、観測の粒度を再帰的に増大させ(すなわち、より詳細なおよび/もしくはより頻繁な観測を行い)、観測されるリアルタイムデータを変更し、かつ/またはリアルタイムセンサーデータから異なるおよび/もしくはより詳細な特徴を抽出することが可能になり得る。そのようなフィードバック通信はまた、モバイルコンピューティングデバイスが、過剰な量のコンピューティングデバイスの処理リソース、メモリリソース、またはエネルギーリソースを消費することなしに、挙動ベクトルおよび分類器モデルを調節または修正することを可能にし得る。
【００７９】
様々な態様は、環境中の電子デバイスに対する実際または潜在的RF干渉リスクを決定するために、リアルタイムデータを監視し、分析するための挙動分析および/または機械学習技法を使うことによって、既存ソリューションに改良を加えることができる。現代のコンピューティングデバイスは高度に構成可能であり複雑なシステムであるとともに、適切および/もしくは利用可能なデータまたは抽出可能な特徴は各コンピューティングデバイスにおいて異なり得るので、挙動分析または機械学習技法の使用が重要である。さらに、デバイス特徴/因子の異なる組合せは、そのデバイスが、環境中の電子デバイスに対する実際または潜在的RF干渉リスクを決定するために、各デバイスにおける分析を要求し得る。コンピューティングデバイスが監視し得るデータおよび/または特徴の厳密な組合せは、いくつかのケースでは、データがリアルタイムで監視される特定のコンピューティングデバイスから取得された情報を使って決定され得る。これらおよび他の理由により、既存ソリューションは、コンピューティングデバイスの処理リソース、メモリリソース、または電力リソースのかなりの量を消費せずに、コンピューティングデバイスによって受信されたリアルタイムセンサーデータを監視し、環境中の電子デバイス(コンピューティングデバイスまたは別の電子デバイスのいずれか)に対する実際または潜在的RF干渉リスクを決定するのに適当でない。
【００８０】
図1〜図6を参照して上で論じた態様を含む様々な態様は、様々なコンピューティングデバイス上で実装することができ、その例が、図7に示すモバイル通信デバイス700である。モバイルコンピューティングデバイス700は、内部メモリ704と、ディスプレイ712と、スピーカー714とに結合されたプロセッサ702を含み得る。プロセッサ702は、全般的な処理タスクまたは特定の処理タスクのために指定された1つまたは複数のマルチコア集積回路であり得る。内部メモリ704は揮発性もしくは不揮発性メモリであってもよく、また、セキュアおよび/もしくは暗号化メモリであっても、または非セキュアおよび/もしくは非暗号化メモリであっても、あるいはそれらの任意の組合せであってもよい。モバイル通信デバイス700は、互いに、およびプロセッサ702に結合された、通信を送受信するための2つ以上の無線信号トランシーバ708(たとえば、Peanut、Bluetooth(登録商標)、Zigbee、Wi-Fi、RF無線など)と、アンテナ710とを有する場合がある。さらに、モバイル通信デバイス700は、プロセッサ702に結合されたワイヤレスデータリンクおよび/またはトランシーバ708に接続され得る、電磁放射を送り、受信するためのアンテナ710を含み得る。モバイル通信デバイス700は、2つ以上の無線アクセス技術を介し、2つ以上のセルラーネットワークを介する通信を可能にする、プロセッサ702およびアンテナ710に結合された1つまたは複数のセルラーネットワークワイヤレスモデムチップ716を含むことができる。
【００８１】
モバイル通信デバイス700は、プロセッサ702に結合された周辺デバイス接続インターフェース718を含むことができる。周辺デバイス接続インターフェース718は、1つのタイプの接続を受け入れるように単独で構成され得るか、または、USB、FireWire、Thunderbolt、もしくはPCIeなどの共通もしくはプロプライエタリの様々なタイプの物理接続および通信接続を受け入れるように構成され得る。周辺デバイス接続インターフェース718はまた、同様に構成された周辺デバイス接続ポート(図示せず)に結合され得る。モバイル通信デバイス700はまた、オーディオ出力を提供するためのスピーカー714を含むことができる。モバイル通信デバイス700はまた、本明細書で説明する構成要素のすべてまたは一部を収容するための、プラスチック、金属、または材料の組合せから構成された筐体720をも含むことができる。モバイル通信デバイス700は、使い捨て電池または再充電可能電池など、プロセッサ702に結合された電源722を含むことができる。再充電可能電池は、モバイル通信デバイス700の外部の電源から充電電流を受け取るために周辺デバイス接続ポートにも結合され得る。モバイル通信デバイス700はまた、ユーザ入力を受け取るための物理ボタン724を含むことができる。モバイル通信デバイス700はまた、モバイル通信デバイス700をオンおよびオフするための電源ボタン726を含むことができる。
【００８２】
プロセッサ702は、以下で説明する様々な態様の機能を含む、様々な機能を実施するようにソフトウェア命令(アプリケーション)によって構成される場合がある、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであってもよい。いくつかのモバイル通信デバイスでは、1つのプロセッサをワイヤレス通信機能専用にし、1つのプロセッサを他のアプリケーションの稼働専用にするなどして、複数のプロセッサ702が設けられてもよい。通常、ソフトウェアアプリケーションは、アクセスされ、プロセッサ702にロードされる前に、内部メモリ704に記憶されてもよい。プロセッサ702は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含んでもよい。様々な態様では、プロセッサ712は、デバイスプロセッサ、処理コア、または(図1Aに示す例示的なSOC100などの)SOCであってもよい。ある態様では、モバイル通信デバイス700はSOCを含んでよく、プロセッサ702は(図1Aに示したプロセッサ101、104、106、108、および110のうちの1つなど)SOC内に含まれるプロセッサのうちの1つであってよい。
【００８３】
本出願で使用する「構成要素」、「モジュール」などの用語は、限定はしないが、特定の動作または機能を実施するように構成された、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなどの、コンピュータ関連のエンティティを含むものとする。たとえば、構成要素は、プロセッサ上で動作しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであってもよいが、それらに限定されない。例として、コンピューティングデバイス上で動作しているアプリケーションとコンピューティングデバイスの両方は、構成要素と呼ばれる場合がある。1つまたは複数の構成要素は、プロセスおよび/または実行スレッドの中に存在する場合があり、1つの構成要素は、1つのプロセッサもしくはコアに局在する場合があり、かつ/または2つ以上のプロセッサもしくはコアの間に分散する場合がある。加えて、これらの構成要素は、様々な命令および/またはデータ構造を記憶した様々な非一時的コンピュータ可読媒体から実行することができる。構成要素は、ローカルプロセスおよび/またはリモートプロセス、関数呼出しまたはプロシージャ呼出し、電子信号、データパケット、メモリ読出し/書込み、ならびに他の知られているネットワーク、コンピュータ、プロセッサ、および/またはプロセス関連の通信方法によって通信することができる。
【００８４】
様々な態様の動作を遂行するためにプログラマブルプロセッサ上で実行されるコンピュータコードまたはプログラムコードは、C、C++、C#、Smalltalk、Java(登録商標)、JavaScript(登録商標)、Visual Basic、構造化照会言語(たとえば、Transact-SQL)、Perlなどの高水準プログラミング言語で、または様々な他のプログラミング言語で書かれる場合がある。本出願で使用する、コンピュータ可読記憶媒体上に記憶されるプログラムコードまたはプログラムは、そのフォーマットがプロセッサによって理解可能である(オブジェクトコードなどの)機械言語コードを指す場合がある。
【００８５】
多くのモバイルコンピューティングデバイスのオペレーティングシステムのカーネルは、(非特権コードが稼働する場合)ユーザ空間へと編成され、(特権コードが稼働する場合)カーネル空間へと編成される。この分離は、カーネル空間の一部であるコードが一般公有使用許諾(GPL)許諾される必要がある一方で、ユーザ空間において動作するコードがGPL許諾されなくてもよい、Android(登録商標)および他のGPL環境において特に重要である。本明細書で説明する様々なソフトウェア構成要素/モジュールは、別段に明記されていない限り、カーネル空間またはユーザ空間のいずれかにおいて実装されてもよいことを理解されたい。
【００８６】
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供され、様々な態様の動作が、提示された順序で実施されなければならないことを要求または暗示するものではない。当業者には理解されるように、上記の態様における動作の順序は、任意の順序で実施され得る。「その後」、「次いで」、「次に」などのような語は、動作の順序を限定するものではなく、これらの語は単に、本方法の説明を通して読者を導くために使用される。さらに、たとえば、冠詞「a」、「an」または「the」を使用する、単数形での請求項の要素へのいかなる言及も、その要素を単数形に限定するものとして解釈されるべきではない。
【００８７】
本明細書において開示されている態様に関連して説明されている様々な実例論理ブロック、モジュール、回路およびアルゴリズム動作は、電子ハードウェア、コンピュータソフトウェアまたは両方の組合せとして実現することができる。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路および動作について、概してそれらの機能性に関して上記で説明してきた。そのような機能性がハードウェアとして実装されるのか、それともソフトウェアとして実装されるのかは、特定の適用例および全体的なシステムに課された設計制約で決まる。当業者は、説明した機能性を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、様々な態様の範囲からの逸脱を生じるものと解釈すべきではない。
【００８８】
本明細書で開示される態様に関連して説明される様々な例示的論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、本明細書で説明される機能を実施するように設計された汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェア構成要素、またはそれらの任意の組合せとともに実装または実施され得る。汎用プロセッサはマルチプロセッサであってもよいが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマルチプロセッサの組合せ、複数のマルチプロセッサ、DSPコアと連携する1つもしくは複数のマルチプロセッサ、または任意の他のそのような構成として実装されてもよい。代替的に、いくつかの動作または方法は、所与の機能に固有の回路構成によって実施され得る。
【００８９】
1つまたは複数の例示的な態様では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装することができる。ソフトウェアにおいて実装される場合、機能は、非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体上で1つまたは複数のプロセッサ実行可能命令またはコードとして記憶されてもよい。本明細書において開示されている方法またはアルゴリズムの動作は、非一時的コンピュータ可読記憶媒体上または非一時的プロセッサ可読記憶媒体上に常駐させることができるプロセッサ実行可能ソフトウェアモジュールの中で具体化することができる。非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスすることができる任意の記憶媒体であってもよい。限定ではなく例として、そのような非一時的コンピュータ可読媒体または非一時的プロセッサ可読媒体は、RAM、ROM、EEPROM、FLASHメモリ、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用される場合があり、コンピュータによってアクセスされる場合がある任意の他の媒体を含んでもよい。ディスク(disk)およびディスク(disc)は、本明細書において使用されるときに、コンパクトディスク(disc)(「CD」)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(「DVD」)、フロッピーディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、一方、ディスク(disc)は、レーザを用いてデータを光学的に再生する。上記の組合せも、非一時的コンピュータ可読媒体およびプロセッサ可読媒体の範囲内に含まれる。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、非一時的プロセッサ可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の、1つまたは任意の組合せ、またはそのセットとして存在し得る。
【００９０】
開示された態様の上記の説明は、任意の当業者が様々な態様を作成または使用することを可能にするように提供される。これらの態様に対する様々な修正は当業者に容易に明らかになり、本明細書で定義する一般原理は、様々な態様の趣旨または範囲から逸脱することなく、他の態様に適用されてもよい。したがって、様々な態様は、本明細書に示す態様に限定されるものではなく、以下の特許請求の範囲、ならびに、本明細書で開示する原理および新規の特徴と一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００９１】
100  SOC
101  デジタル信号プロセッサ(DSP)、プロセッサ
102  リアルタイムデータセンサー
104  モデムプロセッサ、プロセッサ
106  グラフィックスプロセッサ、プロセッサ
108  アプリケーションプロセッサ、プロセッサ
110  コプロセッサ、プロセッサ
112  メモリ要素
114  アナログ回路構成およびカスタム回路構成、カスタム回路構成
116  システム構成要素およびリソース、システム構成要素
118  クロック
120  電圧調整器
124  相互接続/バスモジュール
130  カメラ
132  マイクロフォン
134  加速度計
136  ジャイロスコープ
138  フォトセンサー
140  振動センサー
142  圧力センサー
144  ワイヤレス通信センサー
144a  アンテナ
146  熱センサー
148  磁界センサー
150  スキャナ
152  ハードウェアインターフェース
154  ソフトウェアインターフェース
156  外部デバイスインターフェース
200  RF環境特性化システム
202  リアルタイムデータ観測器モジュール、モジュール、挙動観測器モジュール
204  リアルタイムデータ抽出器モジュール、モジュール、特徴抽出器モジュール
206  分析器モジュール、モジュール、挙動分析器モジュール
208  アクチュエータモジュール、モジュール
210  RF環境特性化モジュール、モジュール
220  モバイルデバイス、コンピューティングデバイス、モバイルコンピューティングデバイス
700  モバイル通信デバイス、モバイルコンピューティングデバイス
702  プロセッサ
704  内部メモリ
708  無線信号トランシーバ、トランシーバ
710  アンテナ
712  ディスプレイ
714  スピーカー
716  セルラーネットワークワイヤレスモデムチップ
718  周辺デバイス接続インターフェース
720  筐体
722  電源
724  物理ボタン
726  電源ボタン
【図１Ａ】
2018514095.tif 000003
【図１Ｂ】
2018514095.tif 000004
【図２】
2018514095.tif 000005
【図３】
2018514095.tif 000006
【図４】
2018514095.tif 000007
【図５】
2018514095.tif 000008
【図６】
2018514095.tif 000009
【図７】
2018514095.tif 000010
【手続補正書】
【提出日】平成29年8月15日(2017.8.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
無線周波数(RF)干渉によって引き起こされる誤動作を検出する方法であって、
コンピューティングデバイスのプロセッサによって、前記コンピューティングデバイスによって受信された1つまたは複数の非RFリアルタイムデータ入力によってもたらされる状況の手掛かりに基づいて、前記コンピューティングデバイスのロケーションを識別するステップと、
前記コンピューティングデバイスの前記プロセッサによって、前記識別されたロケーションおよび前記1つまたは複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのRF環境を特性化するステップと、
前記コンピューティングデバイスの前記プロセッサによって、前記RF環境の前記特性化に基づいて、少なくとも1つのRF放出しきい値を決定するステップと、
前記コンピューティングデバイスの前記プロセッサによって、前記RF環境の前記特性化を前記少なくとも1つのRF放出しきい値と比較するステップと、
前記コンピューティングデバイスの前記プロセッサによって、前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施するステップとを含む方法。
【請求項２】
コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのロケーションを識別するステップが、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算するステップと、
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記ロケーションを識別するステップとを含む、請求項1に記載の方法。
【請求項３】
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記ロケーションを識別するステップが、
分析結果を生成するために、前記複数のRF挙動ベクトルを複数のRF分類器モデルに適用するステップと、
前記分析結果に基づいて、前記コンピューティングデバイスの前記ロケーションを識別するステップとを含む、請求項2に記載の方法。
【請求項４】
前記識別されたロケーションおよび前記複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのRF環境を特性化するステップが、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算するステップと、
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記RF環境を特性化するステップとを含む、請求項1に記載の方法。
【請求項５】
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記RF環境を特性化するステップが、
分析結果を生成するために、複数のRF分類器モデルに複数のRF挙動ベクトルを適用するステップと、
前記分析結果に基づいて、前記コンピューティングデバイスの前記RF環境を特性化するステップとを含む、請求項4に記載の方法。
【請求項６】
前記環境の前記RF特性化に基づいて少なくとも1つのRF放出しきい値を決定するステップが、前記分析結果に基づいて、少なくとも1つのRF放出しきい値を決定するステップをさらに含む、請求項5に記載の方法。
【請求項７】
前記少なくとも1つのRF放出しきい値が、前記コンピューティングデバイスによるRF放出のRF放出しきい値、および前記ロケーションにおける別のデバイスのRF放出のRF放出しきい値のうちの1つまたは複数を含む、請求項1に記載の方法。
【請求項８】
前記RF環境の前記特性化を前記少なくとも1つのRF放出しきい値と比較するステップが、前記RF環境の前記特性化を、前記コンピューティングデバイスによるRF放出の前記RF放出しきい値および前記ロケーションにおける別のデバイスのRF放出の前記RF放出しきい値のうちの少なくとも1つと比較するステップを含む、請求項7に記載の方法。
【請求項９】
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施するステップが、前記RF環境の前記特性化が前記コンピューティングデバイスによるRF放出の前記RF放出しきい値を超えるとの決定に応答して、前記別のデバイスを保護するためのアクションを実施するステップを含む、請求項7に記載の方法。
【請求項１０】
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施するステップが、前記RF環境の前記特性化が前記コンピューティングデバイスによるRF放出の前記RF放出しきい値を超えるとの決定に応答して、前記コンピューティングデバイスを保護するためのアクションを実施するステップを含む、請求項7に記載の方法。
【請求項１１】
前記複数のリアルタイムデータ入力が、ビデオ入力、オーディオ入力、周辺光レベル、振動、加速度、コンパス情報、全地球測位情報、RFIDタグ情報、無線アクセス技術信号レベル、周辺FM信号レベル、および周辺AM信号レベルのうちの少なくとも1つを含む、請求項7に記載の方法。
【請求項１２】
プロセッサ実行可能命令で構成されたプロセッサを備えるモバイルコンピューティングデバイスであって、前記命令が、
前記モバイルコンピューティングデバイスによって受信された1つまたは複数の非RFリアルタイムデータ入力によってもたらされる状況の手掛かりに基づいて、前記コンピューティングデバイスのロケーションを識別し、
前記識別されたロケーションおよび前記1つまたは複数の非RFリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのRF環境を特性化し、
前記RF環境の前記特性化に基づいて、少なくとも1つのRF放出しきい値を決定し、
前記RF環境の前記特性化を前記少なくとも1つのRF放出しきい値と比較し、
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施するための命令である、モバイルコンピューティングデバイス。
【請求項１３】
前記プロセッサが、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算し、
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記ロケーションを識別するためのプロセッサ実行可能命令でさらに構成される、請求項12に記載のモバイルコンピューティングデバイス。
【請求項１４】
前記プロセッサが、
分析結果を生成するために、前記複数のRF挙動ベクトルを複数のRF分類器モデルに適用し、
前記分析結果に基づいて、前記コンピューティングデバイスの前記ロケーションを識別するためのプロセッサ実行可能命令でさらに構成される、請求項13に記載のモバイルコンピューティングデバイス。
【請求項１５】
前記プロセッサが、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算し、
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記RF環境を特性化するためのプロセッサ実行可能命令でさらに構成される、請求項12に記載のモバイルコンピューティングデバイス。
【請求項１６】
前記プロセッサが、
分析結果を生成するために、複数のRF分類器モデルに複数のRF挙動ベクトルを適用し、
前記分析結果に基づいて、前記コンピューティングデバイスの前記RF環境を特性化するためのプロセッサ実行可能命令でさらに構成される、請求項15に記載のモバイルコンピューティングデバイス。
【請求項１７】
前記プロセッサが、前記分析結果に基づいて、少なくとも1つのRF放出しきい値を決定するためのプロセッサ実行可能命令で構成される、請求項16に記載のモバイルコンピューティングデバイス。
【請求項１８】
前記少なくとも1つのRF放出しきい値が前記コンピューティングデバイスによるRF放出のRF放出しきい値、および前記ロケーションにおける別のデバイスのRF放出のRF放出しきい値のうちの1つまたは複数を含むようなプロセッサ実行可能命令で前記プロセッサがさらに構成される、請求項12に記載のモバイルコンピューティングデバイス。
【請求項１９】
前記プロセッサが、前記RF環境の前記特性化を、前記コンピューティングデバイスによるRF放出の前記RF放出しきい値および前記ロケーションにおける別のデバイスのRF放出の前記RF放出しきい値のうちの少なくとも1つと比較するためのプロセッサ実行可能命令でさらに構成される、請求項18に記載のモバイルコンピューティングデバイス。
【請求項２０】
前記プロセッサが、前記RF環境の前記特性化が前記コンピューティングデバイスによるRF放出の前記RF放出しきい値を超えるとの決定に応答して、前記別のデバイスを保護するためのアクションを実施するためのプロセッサ実行可能命令でさらに構成される、請求項18に記載のモバイルコンピューティングデバイス。
【請求項２１】
前記プロセッサが、前記RF環境の前記特性化が前記コンピューティングデバイスによるRF放出の前記RF放出しきい値を超えるとの決定に応答して、前記コンピューティングデバイスを保護するためのアクションを実施するためのプロセッサ実行可能命令でさらに構成される、請求項18に記載のモバイルコンピューティングデバイス。
【請求項２２】
前記複数のリアルタイムデータ入力がビデオ入力、オーディオ入力、周辺光レベル、振動、加速度、コンパス情報、全地球測位情報、RFIDタグ情報、無線アクセス技術信号レベル、周辺FM信号レベル、および周辺AM信号レベルのうちの少なくとも1つを含むようなプロセッサ実行可能命令で前記プロセッサが構成される、請求項18に記載のモバイルコンピューティングデバイス。
【請求項２３】
コンピューティングデバイスのプロセッサに、無線周波数(RF)干渉によって引き起こされる誤動作を検出するための動作を実施させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶しているプロセッサ可読記憶媒体であって、前記動作が、
前記コンピューティングデバイスによって受信された1つまたは複数の非RFリアルタイムデータ入力によってもたらされる状況の手掛かりに基づいて、前記コンピューティングデバイスのロケーションを識別すること、
前記識別されたロケーションおよび前記1つまたは複数の非RFリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのRF環境を特性化すること、
前記RF環境の前記特性化に基づいて、少なくとも1つのRF放出しきい値を決定すること、
前記RF環境の前記特性化を前記少なくとも1つのRF放出しきい値と比較すること、および
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施することを含む、プロセッサ可読記憶媒体。
【請求項２４】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて前記コンピューティングデバイスのロケーションを識別することが、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算すること、および
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記ロケーションを識別することを含むような動作を前記プロセッサに実施させるように構成される、請求項23に記載のプロセッサ可読記憶媒体。
【請求項２５】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記複数のRF挙動ベクトルを使って前記コンピューティングデバイスの前記ロケーションを識別することが、
分析結果を生成するために、前記複数のRF挙動ベクトルを複数のRF分類器モデルに適用すること、および
前記分析結果に基づいて、前記コンピューティングデバイスの前記ロケーションを識別することを含むような動作を前記プロセッサに実施させるように構成される、請求項24に記載のプロセッサ可読記憶媒体。
【請求項２６】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記識別されたロケーションおよび前記複数のリアルタイムデータ入力に基づいて前記コンピューティングデバイスのRF環境を特性化することが、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算すること、および
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記RF環境を特性化することを含むような動作を前記プロセッサに実施させるように構成される、請求項23に記載のプロセッサ可読記憶媒体。
【請求項２７】
モバイルコンピューティングデバイスであって、
前記コンピューティングデバイスによって受信された1つまたは複数の非RFリアルタイムデータ入力によってもたらされる状況の手掛かりに基づいて、前記コンピューティングデバイスのロケーションを識別するための手段と、
前記識別されたロケーションおよび前記1つまたは複数の非RFリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのRF環境を特性化するための手段と、
前記RF環境の前記特性化に基づいて、少なくとも1つのRF放出しきい値を決定するための手段と、
前記RF環境の前記特性化を前記少なくとも1つのRF放出しきい値と比較するための手段と、
前記RF環境の前記特性化が前記少なくとも1つのRF放出しきい値を超えるとの決定に応答してアクションを実施するための手段とを備えるモバイルコンピューティングデバイス。
【請求項２８】
コンピューティングデバイスによって受信された複数のリアルタイムデータ入力に基づいて前記コンピューティングデバイスのロケーションを識別するための手段が、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算するための手段と、
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記ロケーションを識別するための手段とを備える、請求項27に記載のコンピューティングデバイス。
【請求項２９】
前記複数のRF挙動ベクトルを使って前記コンピューティングデバイスの前記ロケーションを識別するための手段が、
分析結果を生成するために、前記複数のRF挙動ベクトルを複数のRF分類器モデルに適用するための手段と、
前記分析結果に基づいて、前記コンピューティングデバイスの前記ロケーションを識別するための手段とを備える、請求項28に記載のコンピューティングデバイス。
【請求項３０】
前記識別されたロケーションおよび前記複数のリアルタイムデータ入力に基づいて、前記コンピューティングデバイスのRF環境を特性化するための手段が、
前記複数のリアルタイムデータ入力に基づいて、複数のRF挙動ベクトルを計算するための手段と、
前記複数のRF挙動ベクトルを使って、前記コンピューティングデバイスの前記RF環境を特性化するための手段とを備える、請求項27に記載のコンピューティングデバイス。
【国際調査報告】
2018514095.tif 000011
2018514095.tif 000012
2018514095.tif 000013