(57)【要約】  方法、および方法を実装するデバイスは、デバイス挙動のクラウドソーシングのためのプライバシー保護挙動監視および分析システムにおいてデバイス固有分類器を使う。様々な程度の「スマート」能力を有する多様なデバイスが、動作挙動を監視することができる。集められた動作挙動情報は、それぞれの収集デバイスよりも大きい処理能力を有する近くのデバイスに送信されてよく、または「常時オン」デバイスに直接送信されてよい。挙動情報は、挙動ベクトルを生成するのに使われてよく、挙動ベクトルは、異常があるかどうか分析され得る。異常フラグを含むベクトルは、いかなるユーザ識別情報も削除するために匿名化され、その後、サービスプロバイダやデバイス製造元などのリモート受信者に送信され得る。このようにして、デバイスユーザについての個人情報を漏らすことなく、動作挙動情報が、デバイスの具体的な型式およびモデルについての動作挙動の統計的分析を取得するために、異なるデバイスについて多数のユーザから集められ得る。
2018513467.tif 000002
【特許請求の範囲】
【請求項１】
デバイス挙動情報を匿名で共有する方法であって、
異常挙動を検出したことに応答して、第1のデバイスのプロセッサによって、匿名化されたデバイス挙動ベクトルを生成するためにユーザ識別情報を削除するようにデバイス挙動ベクトルを匿名化するステップと、
前記第1のデバイスのトランシーバによって、前記匿名化されたデバイス挙動ベクトルを、ネットワークを介してリモートサーバに送信するステップとを含む方法。
【請求項２】
前記第1のデバイスの前記プロセッサによって、デバイス構成要素から挙動情報を収集することによってデバイスの前記挙動をある時間期間にわたって監視するステップと、
前記第1のデバイスの前記プロセッサによって、前記デバイスの前記収集された挙動情報を使ってデバイス挙動ベクトルを構築するステップと、
前記第1のデバイスの前記プロセッサによって、異常挙動を検出するために前記デバイス挙動ベクトルを分析するステップとをさらに含む、請求項1に記載の方法。
【請求項３】
第2のデバイスのプロセッサによって、デバイス構成要素から挙動情報を収集することによって前記第2のデバイスの前記挙動をある時間期間にわたって監視するステップと、
前記第2のデバイスの送信機によって、前記収集された挙動情報を前記第1のデバイスに送信するステップと、
前記第1のデバイスの前記プロセッサによって、前記第2のデバイスの前記収集された挙動情報を使ってデバイス挙動ベクトルを構築するステップと、
前記第1のデバイスの前記プロセッサによって、異常挙動を検出するために前記デバイス挙動ベクトルを分析するステップとをさらに含む、請求項1に記載の方法。
【請求項４】
第2のデバイスのプロセッサによって、デバイス構成要素から挙動情報を収集することによって前記第2のデバイスの前記挙動をある時間期間にわたって監視するステップと、
前記第2のデバイスの送信機によって、前記収集された挙動情報を第3のデバイスに送信するステップと、
前記第3のデバイスのプロセッサによって、前記第2のデバイスから受信された、前記収集された挙動情報を使ってデバイス挙動ベクトルを構築するステップと、
前記第3のデバイスのトランシーバによって、前記デバイス挙動ベクトルを前記第1のデバイスに送信するステップと、
前記第1のデバイスの前記プロセッサによって、異常挙動を検出するために前記デバイス挙動ベクトルを分析するステップとをさらに含む、請求項1に記載の方法。
【請求項５】
第3のデバイスの前記プロセッサによって、デバイス構成要素から挙動情報を収集することによって前記第3のデバイスの挙動をある時間期間にわたって監視するステップと、
前記第3のデバイスの前記プロセッサによって、前記第3のデバイスの前記収集された挙動情報を使って第3のデバイス挙動ベクトルを構築するステップと、
前記第3のデバイスのトランシーバによって、前記第3のデバイス挙動ベクトルを前記第1のデバイスに送信するステップと、
前記第1のデバイスの前記プロセッサによって、異常挙動を検出するために前記第3のデバイス挙動ベクトルを分析するステップとをさらに含む、請求項4に記載の方法。
【請求項６】
第2のデバイスのプロセッサによって、デバイス構成要素から挙動情報を収集することによって前記第2のデバイスの前記挙動をある時間期間にわたって監視するステップと、
前記第2のデバイスの送信機によって、前記収集された挙動情報を第3のデバイスに送信するステップと、
前記第3のデバイスのプロセッサによって、前記第2のデバイスから受信された、前記収集された挙動情報を使ってデバイス挙動ベクトルを構築するステップと、
前記第3のデバイスの前記プロセッサによって、異常挙動を検出するために前記デバイス挙動ベクトルを分析するステップと、
異常挙動を検出したことに応答して、前記第3のデバイスのトランシーバによって、前記デバイス挙動ベクトルを前記第1のデバイスに送信するステップとをさらに含む、請求項1に記載の方法。
【請求項７】
第3のデバイスの前記プロセッサによって、デバイス構成要素から挙動情報を収集することによって前記第3のデバイスの挙動をある時間期間にわたって監視するステップと、
前記第3のデバイスの前記プロセッサによって、前記第3のデバイスの前記収集された挙動情報を使って第3のデバイス挙動ベクトルを構築するステップと、
前記第3のデバイスの前記プロセッサによって、異常挙動を検出するために前記第3のデバイス挙動ベクトルを分析するステップと、
異常挙動を検出したことに応答して、前記第3のデバイスのトランシーバによって、前記第3のデバイス挙動ベクトルを前記第1のデバイスに送信するステップとをさらに含む、請求項6に記載の方法。
【請求項８】
前記第1のデバイスの前記プロセッサによって、異常挙動を検出したことに応答して特徴ベクトルを生成するステップであって、前記特徴ベクトルは、検出された異常挙動に関連付けられる、ステップと、
前記第1のデバイスの前記プロセッサによって、第1のデバイスとローカル通信している1つまたは複数のデバイスに前記特徴ベクトルを送信するステップと、
前記1つまたは複数のデバイスのプロセッサによって、前記特徴ベクトルに含まれる特徴に関連した挙動を監視するステップとをさらに含む、請求項1に記載の方法。
【請求項９】
前記第1のデバイスの前記トランシーバによって、リモートサーバから、第1のデバイスとローカル通信している1つまたは複数のデバイスに関連した1つまたは複数の特徴ベクトルを受信するステップと、
前記第1のデバイスの前記プロセッサによって、前記第1のデバイスとローカル通信している前記1つまたは複数のデバイスに、前記1つまたは複数の特徴ベクトルを送信するステップと、
前記1つまたは複数のデバイスのプロセッサによって、前記1つまたは複数の特徴ベクトルに含まれる特徴に関連した挙動を監視するステップとをさらに含む、請求項1に記載の方法。
【請求項１０】
前記デバイス挙動ベクトルを匿名化するステップは、前記第1のデバイスにとって一意のアノニマイザモデルを前記デバイス挙動ベクトルに適用するステップを含む、請求項1に記載の方法。
【請求項１１】
複合技術通信デバイスであって、
アンテナと、
前記アンテナに通信可能に接続され、動作を実施するためのプロセッサ実行可能命令を有して構成されたプロセッサとを備え、前記動作は、
異常挙動を検出したことに応答して、匿名化されたデバイス挙動ベクトルを生成するためにユーザ識別情報を削除するようにデバイスのデバイス挙動ベクトルを匿名化すること、および
前記匿名化されたデバイス挙動ベクトルを、ネットワークを介してリモートサーバに送信することを含む、複合技術通信デバイス。
【請求項１２】
前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたってデバイスの前記挙動を監視すること、
前記デバイスの前記収集された挙動情報を使って、デバイス挙動ベクトルを構築すること、および
異常挙動を検出するために、前記デバイス挙動ベクトルを分析することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項11に記載の複合技術通信デバイス。
【請求項１３】
前記プロセッサは、
異常挙動を検出したことに応答して特徴ベクトルを生成することであって、前記特徴ベクトルは、検出された異常挙動に関連付けられる、生成すること、
第1のデバイスとローカル通信している1つまたは複数のデバイスに前記特徴ベクトルを送信すること、および
前記特徴ベクトルに含まれる特徴に関連した挙動を監視することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項11に記載の複合技術通信デバイス。
【請求項１４】
前記プロセッサは、
リモートサーバから、第1のデバイスとローカル通信している1つまたは複数のデバイスに関連した1つまたは複数の特徴ベクトルを受信すること、
前記1つまたは複数の特徴ベクトルを、前記第1のデバイスとローカル通信している前記1つまたは複数のデバイスに送信すること、および
前記1つまたは複数の特徴ベクトルに含まれる特徴に関連した挙動を監視することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項11に記載の複合技術通信デバイス。
【請求項１５】
前記プロセッサは、前記デバイス挙動ベクトルを匿名化することが、前記デバイスにとって一意のアノニマイザモデルを前記デバイス挙動ベクトルに適用することを含むような動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項11に記載の複合技術通信デバイス。
【請求項１６】
通信システムであって、
ローカルワイヤレスネットワークおよび通信ネットワークを介してデータを受信および送信するように構成された第1のデバイスと、
ローカルワイヤレスネットワークを介してデータを受信および送信するように構成された第2のデバイスと、
ローカルワイヤレスネットワークを介してデータを送信するように構成された第3のデバイスとを備え、
前記第1のデバイスは、動作を実施するためのプロセッサ実行可能命令を有して構成されたプロセッサを有する複合技術通信デバイスを備え、前記動作は、
異常挙動を検出したことに応答して、匿名化されたデバイス挙動ベクトルを生成するためにユーザ識別情報を削除するようにデバイス挙動ベクトルを匿名化すること、および
前記匿名化されたデバイス挙動ベクトルを、ネットワークを介してリモートサーバに送信することをさらに含み、
前記第2のデバイスは、プロセッサ実行可能命令を有して構成されたプロセッサを備え、
前記第1のデバイスは、プロセッサ実行可能命令を有して構成されたプロセッサを有するデバイスを備える、通信システム。
【請求項１７】
前記第1のデバイスの前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたってデバイスの前記挙動を監視すること、
前記デバイスの前記収集された挙動情報を使って、デバイス挙動ベクトルを構築すること、および
異常挙動を検出するために、前記デバイス挙動ベクトルを分析することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項16に記載のシステム。
【請求項１８】
前記第2のデバイスの前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたって前記第2のデバイスの前記挙動を監視すること、および
前記収集された挙動情報を前記第1のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成され、
前記第1のデバイスの前記プロセッサは、
前記第2のデバイスの前記収集された挙動情報を使って、デバイス挙動ベクトルを構築すること、および
異常挙動を検出するために、前記デバイス挙動ベクトルを分析することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項16に記載のシステム。
【請求項１９】
前記第2のデバイスの前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたって前記第2のデバイスの前記挙動を監視すること、および
前記収集された挙動情報を第3のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成され、
前記第3のデバイスの前記プロセッサは、
前記第2のデバイスから受信された、前記収集された挙動情報を使って、デバイス挙動ベクトルを構築すること、および
前記デバイス挙動ベクトルを前記第1のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有してさらに構成され、
前記第1のデバイスの前記プロセッサは、
前記第1のデバイスの前記プロセッサによって、異常挙動を検出するために前記デバイス挙動ベクトルを分析することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項16に記載のシステム。
【請求項２０】
前記第3のデバイスの前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたって前記第3のデバイスの挙動を監視すること、
前記第3のデバイスの前記収集された挙動情報を使って、第3のデバイス挙動ベクトルを構築すること、および
前記第3のデバイス挙動ベクトルを前記第1のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成され、
前記第1のデバイスの前記プロセッサは、異常挙動を検出するために前記第3のデバイス挙動ベクトルを分析することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項19に記載のシステム。
【請求項２１】
前記第2のデバイスの前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたって前記第2のデバイスの前記挙動を監視すること、
前記収集された挙動情報を前記第3のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成され、
前記第3のデバイスの前記プロセッサは、
前記第2のデバイスから受信された、前記収集された挙動情報を使って、デバイス挙動ベクトルを構築すること、
異常挙動を検出するために、前記デバイス挙動ベクトルを分析すること、および
異常挙動を検出したことに応答して、前記デバイス挙動ベクトルを前記第1のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項16に記載のシステム。
【請求項２２】
前記第3のデバイスの前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたって前記第3のデバイスの前記挙動を監視すること、
前記第3のデバイスの前記収集された挙動情報を使って、第3のデバイス挙動ベクトルを構築すること、
異常挙動を検出するために、前記第3のデバイス挙動ベクトルを分析すること、および
異常挙動を検出したことに応答して、前記第3のデバイス挙動ベクトルを前記第1のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項21に記載のシステム。
【請求項２３】
前記第1のデバイスの前記プロセッサは、
異常挙動を検出したことに応答して特徴ベクトルを生成することであって、前記特徴ベクトルは、検出された異常挙動に関連付けられる、生成すること、
第1のデバイスとローカル通信している1つまたは複数のデバイスに前記特徴ベクトルを送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成され、
前記第1、第2、および第3のデバイスの前記プロセッサは、
前記特徴ベクトルに含まれる特徴に関連した挙動を監視するためのプロセッサ実行可能命令を有してさらに構成される、請求項16に記載のシステム。
【請求項２４】
前記第1のデバイスの前記プロセッサは、
リモートサーバから、第1のデバイスとローカル通信している1つまたは複数のデバイスに関連した1つまたは複数の特徴ベクトルを受信すること、
前記1つまたは複数の特徴ベクトルを、前記第1のデバイスとローカル通信している前記1つまたは複数のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成され、
前記第1、第2、および第3のデバイスの前記プロセッサは、
前記1つまたは複数の特徴ベクトルに含まれる特徴に関連した挙動を監視することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項16に記載のシステム。
【請求項２５】
複合技術通信デバイスのプロセッサに、動作を実施させるためのプロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読媒体であって、前記動作は、
異常挙動を検出したことに応答して、匿名化されたデバイス挙動ベクトルを生成するためにユーザ識別情報を削除するようにデバイスのデバイス挙動ベクトルを匿名化すること、および
前記匿名化されたデバイス挙動ベクトルを、ネットワークを介してリモートサーバに送信することを含む、非一時的プロセッサ可読媒体。
【請求項２６】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、複合技術通信デバイスのプロセッサに、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたってデバイスの前記挙動を監視すること、
前記デバイスの前記収集された挙動情報を使って、デバイス挙動ベクトルを構築すること、および
異常挙動を検出するために、前記デバイス挙動ベクトルを分析することをさらに含む動作を実施させるように構成される、請求項25に記載の非一時的プロセッサ可読媒体。
【請求項２７】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、複合技術通信デバイスのプロセッサに、
異常挙動を検出したことに応答して特徴ベクトルを生成することであって、前記特徴ベクトルは、検出された異常挙動に関連付けられる、生成すること、
第1のデバイスとローカル通信している1つまたは複数のデバイスに前記特徴ベクトルを送信すること、および
前記特徴ベクトルに含まれる特徴に関連した挙動を監視することをさらに含む動作を実施させるように構成される、請求項25に記載の非一時的プロセッサ可読媒体。
【請求項２８】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、複合技術通信デバイスのプロセッサに、
リモートサーバから、第1のデバイスとローカル通信している1つまたは複数のデバイスに関連した1つまたは複数の特徴ベクトルを受信すること、
前記1つまたは複数の特徴ベクトルを、前記第1のデバイスとローカル通信している前記1つまたは複数のデバイスに送信すること、および
前記1つまたは複数の特徴ベクトルに含まれる特徴に関連した挙動を監視することをさらに含む動作を実施させるように構成される、請求項25に記載の非一時的プロセッサ可読媒体。
【請求項２９】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、複合技術通信デバイスのプロセッサに、前記デバイス挙動ベクトルを匿名化することが、前記デバイスにとって一意のアノニマイザモデルを前記デバイス挙動ベクトルに適用することを含むような動作を実施させるように構成される、請求項25に記載の非一時的プロセッサ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
ここ数年における通信技術における爆発的成長が、家庭、オフィス、または他の施設においてデバイスをスマートオブジェクトとして接続する「モノのインターネット」の出現につながった。この発展は、より優れた通信、ハードウェア、より大きいネットワークおよびより信頼できるプロトコルによって促進されている。結果として、通信サービスプロバイダは今では、情報、リソース、および通信に対する前例のないレベルのアクセスを顧客に提供することができる。
【０００２】
これらのサービス向上と歩調を合わせて、電子デバイス(たとえば、セルラーフォン、タブレット、ラップトップ、テレビ、冷蔵庫、スマートバルブなど)は、これまでよりも強力かつ複雑になってきている。この複雑さは、ソフトウェアの競合、ハードウェアの欠陥、マルウェア、および他の同様のエラーまたは現象が、デバイスの長期的かつ連続的な性能および電力利用レベル、ならびにエンドユーザエクスペリエンスに悪影響を与える新たな機会を生み出した。結果として、各デバイスの長期的かつ連続的な性能および電力利用レベルに悪影響を与える可能性がある条件および/またはデバイスの挙動を特定し補正することは、消費者に対して有益である。
【０００３】
サービスプロバイダおよび製造元による、デバイス条件および挙動についての情報の収集および集約は、悪性挙動および性能劣化条件のより速い識別および訂正を可能にし得る。挙動情報は、多くのタイプの「モノのインターネット」デバイスについて集められ、サービスプロバイダおよび製造元に渡されてよく、プロバイダおよび製造元は、長期間のデバイス挙動傾向、エラー、誤動作などについてデータを分析することができる。このようにして、サービスプロバイダおよび製造元は、多様な動作条件の対象であるデバイスの動作および機能についての有用な情報を得ることができる。ただし、そのような情報を集めることは、サービスプロバイダおよび製造元に機密個人情報を明らかにする可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
様々な態様の方法および装置は、特性化されたデバイス挙動の自動化匿名クラウドソーシングのための回路および方法を提供する。態様方法は、異常挙動を検出したことに応答して、第1のデバイスのプロセッサによって、ユーザ識別情報を削除するためにデバイス挙動ベクトルを匿名化するステップと、第1のデバイスのトランシーバによって、ネットワークを介してリモートサーバにデバイス匿名化デバイス挙動ベクトルを送信するステップとを含み得る。
【０００５】
いくつかの態様は、第1のデバイスのプロセッサによって、デバイス構成要素から挙動情報を収集することによってデバイスの挙動をある時間期間にわたって監視するステップと、第1のデバイスのプロセッサによって、デバイスの収集された挙動情報を使ってデバイス挙動ベクトルを構築するステップと、第1のデバイスのプロセッサによって、異常挙動を検出するためにデバイス挙動ベクトルを分析するステップとを含み得る。
【０００６】
いくつかの態様は、第2のデバイスのプロセッサによって、デバイス構成要素から挙動情報を収集することによって第2のデバイスの挙動をある時間期間にわたって監視するステップと、第2のデバイスの送信機によって、収集された挙動情報を第1のデバイスに送信するステップと、第1のデバイスのプロセッサによって、第2のデバイスの収集された挙動情報を使ってデバイス挙動ベクトルを構築するステップと、第1のデバイスのプロセッサによって、異常挙動を検出するためにデバイス挙動ベクトルを分析するステップとを含み得る。
【０００７】
いくつかの態様は、第2のデバイスのプロセッサによって、デバイス構成要素から挙動情報を収集することによって第2のデバイスの挙動をある時間期間にわたって監視するステップと、第2のデバイスの送信機によって、収集された挙動情報を第3のデバイスに送信するステップと、第3のデバイスのプロセッサによって、第2のデバイスから受信された、収集された挙動情報を使ってデバイス挙動ベクトルを構築するステップと、第3のデバイスのトランシーバによって、デバイス挙動ベクトルを第1のデバイスに送信するステップと、第1のデバイスのプロセッサによって、異常挙動を検出するためにデバイス挙動ベクトルを分析するステップとを含み得る。そのような態様は、第3のデバイスのプロセッサによって、デバイス構成要素から挙動情報を収集することによって第3のデバイスの挙動をある時間期間にわたって監視するステップと、第3のデバイスのプロセッサによって、第3のデバイスの収集された挙動情報を使って第3のデバイス挙動ベクトルを構築するステップと、第3のデバイスのトランシーバによって、第3のデバイス挙動ベクトルを第1のデバイスに送信するステップと、第1のデバイスのプロセッサによって、異常挙動を検出するために第3のデバイス挙動ベクトルを分析するステップとをさらに含み得る。
【０００８】
いくつかの態様は、第2のデバイスのプロセッサによって、デバイス構成要素から挙動情報を収集することによって第2のデバイスの挙動をある時間期間にわたって監視するステップと、第2のデバイスの送信機によって、収集された挙動情報を第3のデバイスに送信するステップと、第3のデバイスのプロセッサによって、第2のデバイスから受信された、収集された挙動情報を使ってデバイス挙動ベクトルを構築するステップと、第3のデバイスのプロセッサによって、異常挙動を検出するためにデバイス挙動ベクトルを分析するステップと、異常挙動を検出したことに応答して、第3のデバイスのトランシーバによって、デバイス挙動ベクトルを第1のデバイスに送信するステップとを含み得る。そのような態様は、第3のデバイスのプロセッサによって、デバイス構成要素から挙動情報を収集することによって第3のデバイスの挙動をある時間期間にわたって監視するステップと、第3のデバイスのプロセッサによって、第3のデバイスの収集された挙動情報を使って第3のデバイス挙動ベクトルを構築するステップと、第3のデバイスのプロセッサによって、異常挙動を検出するために第3のデバイス挙動ベクトルを分析するステップと、異常挙動を検出したことに応答して、第3のデバイスのトランシーバによって、第3のデバイス挙動ベクトルを第1のデバイスに送信するステップとをさらに含み得る。
【０００９】
いくつかの態様は、第1のデバイスのプロセッサによって、異常挙動を検出したことに応答して特徴ベクトルを生成するステップであって、特徴ベクトルは、検出された異常挙動に関連付けられる、ステップと、第1のデバイスのプロセッサによって、第1のデバイスとローカル通信している1つまたは複数のデバイスに特徴ベクトルを送信するステップと、1つまたは複数のデバイスのプロセッサによって、特徴ベクトルに含まれる特徴に関連した挙動を監視するステップとを含み得る。
【００１０】
いくつかの態様は、第1のデバイスのトランシーバによって、リモートサーバから、第1のデバイスとローカル通信している1つまたは複数のデバイスに関連した1つまたは複数の特徴ベクトルを受信するステップと、第1のデバイスのプロセッサによって、第1のデバイスとローカル通信している1つまたは複数のデバイスに、1つまたは複数の特徴ベクトルを送信するステップと、1つまたは複数のデバイスのプロセッサによって、1つまたは複数の特徴ベクトルに含まれる特徴に関連した挙動を監視するステップとを含み得る。
【００１１】
いくつかの態様では、デバイス挙動ベクトルを匿名化するステップは、デバイスにとって一意のアノニマイザモデルをデバイス挙動ベクトルに適用するステップを含み得る。
【００１２】
態様は、アンテナと、アンテナに通信可能に接続されるとともに、上述した態様方法のうちの1つまたは複数の、動作を実施するためのプロセッサ実行可能命令を有して構成されるプロセッサとを有する複合技術通信デバイスを含む。
【００１３】
態様は、上述した態様方法のうちの1つまたは複数の、機能を実施するための手段を有する複合技術通信デバイスを含む。
【００１４】
態様は、上述した態様方法のうちの1つまたは複数の、動作をプロセッサに実施させるプロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読媒体を含む。
【００１５】
態様は、上術した態様方法のうちの1つまたは複数の、動作を実施するためのプロセッサ実行可能命令を有して構成された複数のデバイスからなる通信システムを含み得る。
【００１６】
本明細書に組み込まれ、本明細書の一部を構成している添付の図面は、本発明の例示的な態様を示すものであり、上で与えられた全般的な説明、および下で与えられる詳細な説明とともに、本発明の特徴について説明するのに役立つ。
【図面の簡単な説明】
【００１７】
【図１Ａ】様々な態様での使用に適した例示的スマートデバイスシステムおよび関連ネットワーキングフレームワークのネットワーク構成要素を示す通信システムブロック図である。
【図１Ｂ】様々な態様での使用に適した例示的スマートデバイスシステムおよび関連ネットワーキングフレームワークのネットワーク構成要素を示す通信システムブロック図である。
【図１Ｃ】様々な態様での使用に適した例示的スマートデバイスシステムおよび関連ネットワーキングフレームワークのネットワーク構成要素を示す通信システムブロック図である。
【図２】様々な態様での使用に適したスマートデバイスネットワーキングフレームワークの構成要素を示すブロック図である。
【図３】特定のスマートデバイスの挙動が悪性であるか、性能を劣化させるか、疑わしいか、または良性であるか判断するように構成される、ある態様のスマートデバイスにおける例示的な論理構成要素および情報フローを示すブロック図である。
【図４】データ、挙動ベクトル、または分類器モデルをトレーニングし直すことなくアプリケーションベースの分類器モデルを生成するように構成されたスマートデバイスを含む、ある態様のシステム中の例示的な構成要素および情報フローを示すブロック図である。
【図５】スマートデバイスのローカルネットワークにおけるデバイス固有挙動を分析し、匿名化する別の態様スマートデバイス方法を示すプロセスフロー図である。
【図６】限定能力スマートデバイスにおけるデバイス挙動を分析する別の態様スマートデバイス方法を示すプロセスフロー図である。
【図７】スマートデバイスにおける特徴固有デバイス挙動を分析する別の態様スマートデバイス方法を示すプロセスフロー図である。
【図８】別の態様による、観測器デーモンを実装するコンピューティングシステム内の論理構成要素および情報フローを示すブロック図である。
【図９】様々な態様での使用に適したスマートデバイスの構成要素ブロック図である。
【図１０】様々な態様での使用に適した、スマート電球の形のスマートデバイスの例の構成要素図である。
【図１１】様々な態様での使用に適したサーバデバイスの構成要素ブロック図である。
【発明を実施するための形態】
【００１８】
添付の図面を参照して、様々な態様について詳細に説明する。可能な場合はいつでも、同じまた同様の部分を指すために、図面全体を通して同じ参照番号が使用される。特定の例および実装形態へと行われる言及は、説明を目的とし、本発明の範囲または特許請求の範囲を限定するものではない。
【００１９】
概して、様々な態様は、プライバシーを保護するようにデバイス挙動情報をクラウドソーシングする方法、およびそれらの方法を実装するように構成されたスマートデバイスを含む。言及を簡単にするために、「デバイス固有分類器モデル」という用語が、下で説明されるようなデバイス固有分類器モデルと特徴タイプに固有の分類器モデルのいずれかまたは両方に言及するために、本明細書および特許請求の範囲において使用される。
【００２０】
「例示的」という言葉は、本明細書では、「例、事例、または例示として役立つ」ことを意味するように使用される。「例示的」として本明細書で説明する任意の実装形態は、必ずしも他の実装形態よりも好ましいか、または有利であると解釈されるべきではない。
【００２１】
本明細書で使用する「スマートデバイス」または「デバイス」という用語は、スマート家電(コーヒーメーカー、冷蔵庫、サーモスタット、ブラインド制御、オーブン、洗濯機/乾燥機など)、スマート電球、スマートスピーカー、スマートパーソナルデバイス、スマートマルチメディアプレーヤ、テレビセットトップボックス、一体型デジタルスマートテレビ、ケーブルテレビ受信機、および同様のパーソナル電子スマートデバイス、ならびに、ワイヤレスネットワーク(たとえば、WiFi、Bluetooth（登録商標）(BT)、BTLEなど)を介して情報を交換するプログラム可能プロセッサおよびメモリおよび回路構成を含む、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、パームトップコンピュータ、およびパーソナルコンピュータなどのコンピューティングデバイスのうちのいずれか1つまたは全部を指し得る。これらのスマートデバイスに関連する「スマート」への言及は、デバイスステータスを通信し、通信ネットワークまたはネットワーキングフレームワークを通してリモートにデバイスを制御し、操作するための能力を指し得る。
【００２２】
本明細書で使用する「ネットワーキングフレームワーク」という用語は、通信フレームワークと、アプリケーションフレームワークと、デバイス間(たとえば、ピアツーピア、すなわち「P2P」)およびアプリケーション間の通信および対話を容易にするための通信およびアプリケーション対話プロトコルおよびコマンドからなる組織化システムとを互換的に指し得る。ネットワーキングフレームワークは、アドホックネットワークであってよい通信ネットワークを通して結合された制御側スマートデバイスと被制御スマートデバイスとの間でインターフェースをとることを可能にするための標準機構およびインターフェース定義を集合的に提供する、アプリケーションプログラミングインターフェース(API)、ソフトウェア開発キット(SDK)、および他のアプリケーションまたはシステムソフトウェアの集合体として実装することができる。様々なAPIおよびSDKが、通常はソフトウェアアーキテクチャ中の下位レイヤにおいてアクセスまたは制御されることになる機能への、(たとえば、アプリケーションレイヤからの)高水準アクセスを提供し得る。そのような機能は、アドホックネットワーキング、セキュリティ、ペアリング、デバイス発見、サービス発見、プラットフォーム透明性、無線アクセス制御、メッセージフォーマット化、メッセージ送信、メッセージ受信および復号などを含み得るが、それらに限定されない。ピアツーピア双方向性に対するサポートを提供する編成のいくつかの例は、デジタルリビングネットワークアライアンス(DLNA(登録商標))、ユニバーサルプラグアンドプレイ(UPnP)アライアンス、およびBonjourを含む。ただし、これらの技術は、概してデバイス中心であり、ソフトウェアアーキテクチャ内の下位レイヤにおいて(たとえば、IPトランスポートレイヤにおいて)動作する傾向がある。包括的ネットワーキングフレームワークの例が、Qualcomm Innovation Centerによって最初に開発され、Allseen Allianceによって管理されるAllJoyn(商標)コアフレームワークである。
【００２３】
AllJoynコアフレームワークは、単純であるとともに、ユーザが近くのデバイスと対話することを可能にするサービスフレームワークのセットを含む。サービスフレームワークのセットの例は、以下を含み得る。すなわち、デバイス情報および構成:デバイスが、デバイスタイプ、製造元およびシリアルナンバーなどの情報をブロードキャストし、ユーザが名称およびパスワードをデバイスに割り当てることも可能にする。搭載:デバイスが、(たとえば、アクセスポイントなどの媒介により)ユーザのネットワークに容易に接続されるようにする。通知:デバイスが、基本通信(たとえば、テキスト、画像/ビデオ、オーディオ、制御、ステータス)をブロードキャストし、受信し得る。制御パネル:スマートフォンまたはタブレットなどの制御スマートデバイスが、グラフィカルインターフェース(たとえば、GUIまたはUI)を介して別のデバイスを制御し得る。オーディオ:オーディオソースデバイスが、選択されたAllJoyn対応スピーカー、オーディオ受信機および他のオーディオ再生スマートデバイスにストリーミングし得る。
【００２４】
様々な態様は、エラー報告、誤動作監視、およびデバイス性能分析の使用のための、ユーザプライバシーを保護するやり方での、スマートデバイス挙動情報のクラウドソーシングを容易にするための方法を提供する。様々な態様は、様々な程度の「スマート」能力を有し得るスマートデバイスからの挙動情報の収集を可能にする。収集された情報は、収集スマートデバイスによって、または収集側よりも大きい処理能力をもつ近くのスマートデバイスによって分析され得る。収集された挙動情報は、デバイス挙動または機能異常があるかどうか分析され得る。異常が検出された場合、分析スマートデバイスは、いかなるユーザ識別情報も削除して、収集された挙動情報を匿名化し、匿名化された挙動情報を、集約またはさらなる分析のためにリモート当事者に送信すればよい。こうすることにより、製造元、サービスプロバイダ、デバイス安全性研究/調査に関与するエンティティなどが、デバイスの所有者からいかなる個人情報も受信することなく、多数のソースから取得された匿名化デバイス固有データにアクセスすることが可能になり得る。
【００２５】
一般に、スマートデバイスの性能および電力効率は経時的に劣化し得る。同様に、スマートデバイスは、その存続期間を通して、実行における多数のエラーまたは動作不良を被り得る。現在、コンピューティングデバイスの動作および機能の挙動をモデル化するための様々なソリューションが存在し、これらのソリューションは、コンピューティングデバイス挙動が悪性であるか良性であるかを判断するために、機械学習技法とともに使用され得る。ただし、これらのソリューションは、非常に大きい挙動情報コーパスを評価することを要求し、かつ/またはスマートデバイスにおける計算集約的プロセスの実行を要求するので、様々な程度の処理能力のスマートデバイス上での使用には適していない。さらに、これらのソリューションは、挙動情報を、リモートプロバイダに送るのに先立って匿名化せず、送信に先立って、スマートデバイス上での挙動情報分析を可能にしないので、プライバシーを保護しない。したがって、スマートデバイスネットワークにおいてこれらの既存のソリューションを実装または実施することは、ネットワーク内のスマートデバイスの応答性、性能、または電力消費特性に対して、大きな悪影響および/またはユーザが知覚できる影響を及ぼし得る。
【００２６】
現代的なスマートデバイスは、処理能力の程度ならびに機能性およびデバイス挙動が大きく異なる。したがって、特定のスマートデバイス挙動が良性であるか、それとも良性でない(たとえば、異常、悪性または性能を劣化させる)を判断するために最も重要である特徴は、異なるタイプのスマートデバイスの間で大きく変わり得る。さらに、特徴の異なる組合せは、特定の挙動が良性であるか、それとも良性でないかをそのスマートデバイスが迅速かつ効率的に判断するために、各スマートデバイスにおける監視および/または分析を必要とすることがある。監視および分析を必要とする特徴の正確な組合せ、ならびに各特徴または特徴の組合せの相対的な優先度または重要性は、しばしば、それにおいて挙動が監視または分析されるべきである特定のスマートデバイスから取得されたデバイス固有の情報を使用してのみ判断され得る。上記のおよび他の理由で、挙動モデルが使用される特定のデバイス以外の任意のコンピューティングデバイスにおいて生成された挙動モデルは、そのデバイスにおけるソフトウェアアプリケーションまたはスマートデバイスの挙動を分類することに対して最も重要である、特徴の厳密な組合せを特定する情報を含み得ない。
【００２７】
様々な態様は、スマートデバイスの性能および/または電力利用レベルを経時的に、または攻撃されたときに劣化させ得る、条件、要因、および/またはスマートデバイスの挙動をインテリジェントかつ効率的に特定するための、包括的な挙動監視および分析ならびに匿名化システムを含む。ある態様では、スマートデバイスの観測器プロセス、デーモン、モジュール、またはサブシステム(本明細書では集合的に「モジュール」と呼ばれる)が、スマートデバイスシステムの様々なレベルにおいて、様々なアプリケーションプログラミングインターフェース(API)、レジスタ、カウンタ、または他のスマートデバイスの構成要素(本明細書では集合的に「計装化構成要素」と呼ばれる)を計装し、または協調させることができる。観測器モジュールは、計装化構成要素から挙動情報を収集することによって、スマートデバイス挙動を連続的に(またはほぼ連続的に)監視することができる。スマートデバイスはまた、分析器モジュールを含んでよく、観測器モジュールは、収集された挙動情報を(たとえば、メモリ書込み動作、関数呼出しなどを介して)分析器モジュールに通信することができる。分析器モジュールは、挙動情報を受信し使用して特徴ベクトルまたは挙動ベクトルを生成し、特徴/挙動ベクトルに基づいて空間的なおよび/または時間的な相関関係を生成し、この情報を使用して、特定のスマートデバイスの挙動、条件、サブシステム、ソフトウェアアプリケーション、またはプロセスが、異常か、良性か、または良性でない(すなわち、悪性または性能を劣化させる)か判断することができる。次いで、スマートデバイスは、この分析の結果を使用して、特定された問題を解消し、回復させ、隔離し、または別様に修復もしくはそれに対応することができる。
【００２８】
様々な態様では、スマートデバイスは、他のスマートデバイスから挙動情報を受信するように構成され得る。特に、限定能力スマートデバイス(たとえばスマート電球、トースター、家庭電化製品など)は、それら自体の監視される挙動に関連付けられた挙動ベクトルを生成する処理能力が欠けている場合があり、収集された情報を、全範囲の処理能力を有するスマートデバイス(たとえば、ルータ)または中間スマートデバイス(「観測器デバイス」)に直接(たとえば、ワイヤレスデータリンクを介して)送信する場合があり、これらのデバイスは、主要スマートデバイスの機能性の一部を実行するように構成され得る。観測器デバイスは、他のデバイスから受信された挙動データ、ならびにそれら自体の収集された挙動情報を、分析および匿名化のために主要スマートデバイスに送信し得る。したがって、分析器モジュールは、それ自体の挙動についての、ならびに多くの他のローカルスマートデバイスについての挙動ベクトルを生成し、分析することができる。
【００２９】
分析器モジュールはまた、リアルタイムの挙動分析動作を実施するように構成される場合があり、リアルタイムの挙動分析動作は、データ、アルゴリズム、分類器またはモデル(本明細書では集合的に「分類器モデル」と呼ぶ)を実施、実行、および/または収集された挙動情報に適用して、デバイスの挙動が異常か、良性か、良性でない(たとえば、悪性もしくは性能を劣化させる)か判断することを含む場合がある。各分類器モデルは、スマートデバイスの挙動の特定の特徴または態様を評価するためにスマートデバイスプロセッサによって使用される場合があるデータおよび/または情報構造(たとえば、特徴ベクトル、挙動ベクトル、構成要素リストなど)を含む挙動モデルであってもよい。各分類器モデルはまた、スマートデバイスデバイス内のいくつかの特徴、要因、データポイント、項目、API、状態、条件、挙動、アプリケーション、プロセス、動作、構成要素など(本明細書では集合的に「特徴」)を監視するための決定基準を含む場合がある。分類器モデルは、スマートデバイス上にプレインストールされてもよく、ネットワークサーバからダウンロードもしくは受信されてもよく、スマートデバイスにおいて生成されてもよく、またはそれらの任意の組合せであってもよい。分類器モデルは、クラウドソーシングソリューション、挙動モデル化技法、機械学習アルゴリズムなどを使用することによって、生成されてもよい。
【００３０】
様々な態様では、アノニマイザモジュールは、異常要素を含むものとしてフラグ付けされた挙動ベクトルを受け取り得る。これらの挙動ベクトルは、どのユーザ識別情報も削除するために、アノニマイザモジュールを実行するプロセッサによって「スクラブ」されてよく、デバイス型式、モデル、エラー挙動、およびエラーの日付など、必要な情報のみを挙動ベクトル中に残す。この匿名化された挙動ベクトルは、インターネットなどの通信ネットワークを介して、1つまたは複数のリモートプロバイダ(たとえば、製造元、安全性研究管理者、サービスプロバイダなど)に送信され得る。匿名化された挙動ベクトルは、サイズが数ビットのみであってよく、そうすることによって、デバイスから転送されるデータの量を削減し、帯域幅リソースを節約し、ネットワークチャターを削減し、電力リソースを節約する。
【００３１】
様々な態様は、スマートデバイス挙動が異常であるか、良性であるか、それとも良性でない(たとえば、悪性であるか、または性能を劣化させる)か判断することに最も関連がある特徴、要因、およびデータポイントをインテリジェントに特定するために互いに連携して働くように構成されたスマートデバイスおよびネットワークサーバを含む。様々な態様では、スマートデバイス(または主要スマートデバイス)は、スマートデバイスにおいて、デバイス固有の特徴および/またはデバイスの状態に固有の特徴を考慮する特徴標的分類器モデルをローカルに生成し、様々な態様は、スマートデバイスのプロセッサが、専心的な分類器モデルを適用して、スマートデバイスの応答性、性能、または電力消費特性において大きな負の変化またはユーザが感知できる変化を引き起こすことなく、(たとえば、観測器モジュールおよび分析器モジュールなどを介して)複雑なスマートデバイスの挙動を迅速かつ効率的に特定し、分析し、または分類することを可能にする。特徴標的分類器モデルは、デバイス挙動が異常であると判断したことに応答して生成され得る。たとえば、スマート電球が過熱していると判断すると、主要スマートデバイスは、超過動作温度の事例をより良好に識別するために、スマート電球分類器モデルを更新するか、または動作温度の特徴を標的とする第2のモデルを生成してよい。
【００３２】
様々な態様では、スマートデバイスは、挙動のモデル化および機械学習技法を使用して、特徴標的分類器モデルをインテリジェントにかつ動的に生成することができ、その結果、簡潔な分類器モデルは、スマートデバイスのデバイス固有の特徴および/もしくはデバイスの状態に固有の特徴(たとえば、スマートデバイスの構成、機能性、接続される/含まれるハードウェアなどに関連がある特徴)を考慮し、スマートデバイスのエラー、誤動作、経時的な劣化の原因または根源を特定するために重要であると判断された特徴の専心的な標的サブセットを含み、試験し、もしくは評価し、かつ/または、特徴の標的サブセットが使用/評価される特定のスマートデバイスにおける挙動の分類に成功するための特徴の標的サブセットの相対的な重要性を特定する確率または信頼値に基づいて、特徴の標的サブセットを優先順位付ける。いくつかの態様では、ローカルスマートデバイスネットワーク内では、各スマートデバイス用に異なる分類器モデルが存在し得る。それら自体の分析を実施するのに十分な処理能力をもつデバイスは、それらのデバイス固有分類器モデルをローカルストレージ中に維持することができ、限定能力デバイスは、分類器モデルの維持および分析のために観測器または主要スマートデバイスに依拠し得る。
【００３３】
様々な態様では、スマートデバイスは、1つまたは複数の分類器モデルを使用して、リアルタイムの挙動監視および分析動作を実施するように構成され得る。たとえば、スマートデバイスは、スマートデバイスから挙動情報を収集すること、挙動ベクトルを生成するのに、収集された挙動情報を使うこと、分類器モデル中に含まれる各テスト条件を評価するために、生成された挙動ベクトルを関連付けられた分類器モデルに適用すること、異常挙動を検出したことに応答して挙動ベクトルを匿名化すること、および匿名化されたデータをリモートロケーションに送信することによって、スマートデバイス動作の挙動を分類するのに分類器モデルを使うことができる。スマートデバイスは、限定能力の、および観測器タイプのスマートデバイスの挙動情報を分析し、匿名化し、送信することもできる。このようにして、デバイス挙動情報の匿名クラウドソーシングは、スマートデバイスネットワークに適用され得る。
【００３４】
様々な態様は、図1Aに示す例示的な通信システム100など、様々な通信システム内で実装され得る。ある態様では、通信システム100は、スマート通信デバイス(たとえば、スマートフォン、タブレットなど)またはルータなどの制御スマートデバイス120を含み得る。制御スマートデバイス120は、アクセスポイント130(たとえば、ワイヤレスアクセスポイント、ワイヤレスルータなど)との確立されたリンク111、121を通して、1つまたは複数のスマートデバイス110(たとえば、スマートデバイス)を制御することができる。リンク111、121はワイヤレスであってもよく、たとえばイーサネット（登録商標）接続や電力線通信(PLC)接続、または他のワイヤード接続でのように、ワイヤードであってもよい。ある代替態様または複数の態様では、制御スマートスマートデバイス120は、直接リンク101を通して、スマートデバイス110と直接接続することができる。さらに、ある代替態様または複数の態様では、スマートデバイス110は、直接リンク(たとえば、リンク101)を通して、またはアクセスポイント130を通して提供されるリンクを通して、互いと接続することができる。アクセスポイント130は、サービスプロバイダ131を通してインターネット102に接続され得る。いくつかの態様では、ローカルネットワークサーバ140がネットワーク内に存在してよく、ネットワーキングフレームワークに組み込まれてよい。
【００３５】
様々なさらなる代替態様では、制御スマートデバイス120は、セルラーサービスを提供するためのセルラーインフラストラクチャ構成要素を集合的に指し得るセルラーインフラストラクチャ103を通してネットワークに接続することができる。セルラーインフラストラクチャ103は、1つの構成要素または一連の構成要素を含むことができ、これらの構成要素は、セルラーアンテナ、基地局(たとえば、eノードB)などのうちのいくつかまたは全部を含み得る。制御スマートデバイス120は、アクセスポイント130に関連付けられたユニバーサルリソースロケータ(URL)に基づいて、インターネット102などの公衆網、または私設ネットワークを通してセルラーインフラストラクチャ103によって提供される接続を通して、アクセスポイント130に接続することができる。セキュリティの理由により、アクセスポイント130を通したネットワークへのアクセスは、パスワード保護されてよく、暗号化を使ってよく、他のセキュリティ対策を使ってよく、またはセキュリティ設備の組合せを使ってよい。より詳細に説明するように、ネットワーキングフレームワークは、アプリケーションレイヤにおいてセキュリティを実装するためのAPIを提供し得る。セキュリティAPIを提供することによって、制御スマートデバイスおよびスマートデバイス向けの特定のハードウェアの詳細は、詳細なプラットフォーム固有の実装を理解する必要なく、ネットワーキングフレームワークの範囲内で扱われ得る。
【００３６】
通信システム100はさらに、電話網およびインターネット102に接続されたネットワークサーバ140を含み得る。ネットワークサーバ140と電話網との間の接続は、インターネット102を通したものであるか、または私設ネットワークを通したものであり得る。ネットワークサーバ140は、クラウドサービスプロバイダネットワークのネットワークインフラストラクチャ内のサーバとしても実装され得る。ネットワークサーバ140とスマートデバイス110との間の通信は、ワイヤレスデータネットワーク、電話網、インターネット102、私設ネットワーク(図示せず)、またはそれらの任意の組合せを通して達成され得る。
【００３７】
ネットワークサーバ140は、中央データベースまたはクラウドサービスプロバイダネットワークから、様々な条件、特徴、挙動、および修正動作についての情報を受信し、この情報を使用して、コンピューティングデバイスの挙動のある特定の態様を評価するためにスマートコンピューティングデバイスのプロセッサによって使用され得るデータおよび/または情報構造(たとえば、特徴ベクトル、挙動ベクトル、構成要素リストなど)を含むデータ、アルゴリズム、分類器、または挙動モデル(本明細書では集合的に「分類器モデル」)を生成するように構成され得る。
【００３８】
ある態様では、ネットワークサーバ140は、分類器モデルを生成するように構成され得る。完全な分類器モデルは、数千の特徴および数十億のエントリを含み得る大規模トレーニングデータセットの関数として生成される、堅牢なデータモデルであってよい。ある態様では、ネットワークサーバ140は、いくつかの異なる製造元、モデル、および構成のスマートデバイス102のいずれかの劣化に寄与し得る、特徴、データポイント、および/または要因のすべてまたは大半を含むように、完全な分類器モデルを生成するように構成され得る。様々な態様では、ネットワークサーバは、挙動情報の大きな集積を、有限状態機械、決定ノード、決定木、または、より簡潔な分類器モデルを迅速かつ効率的に生成するために変更され、選別され、補足され、または別様に使用され得る任意の情報構造として、記述または表現するように、完全な分類器モデルを生成するように構成され得る。
【００３９】
加えて、スマートデバイス120は、1つまたは複数の分類器モデルをネットワークサーバ140から受信するように構成され得る。スマートデバイスは、スマートデバイス110の特定の特徴および機能性を分析するのに、分類器モデルを使うようにさらに構成され得る。スマートデバイスは、挙動ベクトルを生成し、そのようなベクトルを、取得された分類器モデルとベクトルを比較することによって分析するのに、収集された挙動情報を使うように構成され得る。したがって、比較中に検出されたいかなる区別も、異常であると見なされてよく、次いで、良性、または良性でない(たとえば、悪性、もしくは劣化性)と分類されてよい。異常挙動ベクトルは、デバイスユーザにとって個人的であり得る情報を削除するために匿名化されてよく、次いで、集約およびさらなる分析のためにリモートサーバに送信される。
【００４０】
様々な態様では、制御スマートデバイスおよびスマートデバイス相互接続が、図1Bに示すようにネットワーキングフレームワーク150を通して確立され得る。DEV1 110a、DEV2 110b、DEVn 110cなど、1つまたは複数のスマートデバイスが、CTL DEV1 120a、CTL DEV2 120b、およびCTL DEVn 120cなど、1つまたは複数の制御スマートデバイスに結合され得る。図1Bでは、実線は、スマートデバイスすべてが、ネットワーキングフレームワーク150を通して互いに接続され得ることを示す。ネットワーキングフレームワーク150を通した相互接続は、これ以降でより詳細に記載するように、スマートデバイスがネットワーキングフレームワークに登録されることを必要とし得る。様々な態様では、点線は、スマートデバイスのうちの少なくともいくつかが、互いと直接接続され得ることを示す。たとえばアクセスポイントを通して、ネットワーキングフレームワーク150に直接アクセスすることが可能でないスマートデバイスとのアドホック接続が確立され得るので、直接接続は、ネットワーキングフレームワーク150と両立可能であり得る。そのような例では、スマートデバイスのうちの少なくとも1つがネットワーク接続へのアクセスを有するのであれば、あるスマートデバイスが、別のスマートデバイスに、スマートデバイスの間の直接接続を通してネットワーキングフレームワークへのアクセスを提供し得る。ネットワークアクセスは、スマートデバイスが制御スマートデバイスによって制御されるために重要である。
【００４１】
様々な態様では、制御スマートデバイスおよびスマートデバイス相互接続が、図1Cに示すように確立され得る。ある態様では、制御または主要スマートデバイス120は、スマートデバイス挙動を監視し、収集された挙動情報から挙動ベクトルを生成し、生成された挙動ベクトルを分析し、挙動ベクトルを匿名化し、匿名化された挙動ベクトルを送信し、新たな特徴優先度を含むように分類器モデルを受信/更新するのに十分な全範囲の処理能力を有するどのデバイスであってもよい。制御スマートデバイス120の例は、概して昼夜を通して電源投入される、ルータ、タブレット、ホームサーバ、および他のデバイスを含むが、それらに限定されない。
【００４２】
制御スマートデバイス120は、限定能力スマートデバイス112、114(「限定デバイス」)から挙動情報を受信することができ、限定デバイスは、デバイス挙動を監視し、収集された情報を別のスマートデバイスに送信する能力は有し得るが、挙動ベクトルを生成する、分析し、匿名化するための処理能力は欠けている場合がある。たとえば、限定デバイスは、スマート電球(図10)、トースター、サーモスタット、煙探知器などのような家庭電化製品を含み得る。
【００４３】
中間または観測器スマートデバイス116、118(「観測器デバイス」)は、制御スマートデバイスの、すべてではないがいくつかの機能(すなわち、監視、ベクトル生成、分析、匿名化、送信)を実践するのに十分な処理能力を有し得る。たとえば、観測器デバイスは、テレビ、エンターテインメントシステム、冷蔵庫などを含み得る。これらのデバイスは、リモートサービスと定常通信していてよく、それら自体の挙動情報を生成するように構成され得る。
【００４４】
様々な態様では、限定デバイス112、114は、それら自体の動作および機能を観測することができ、連続するか、または所定であり得る時間期間を通して、そのような挙動情報を収集する。この挙動情報は、制御スマートデバイス120に、またはどのデバイスも通信距離内にない場合は、観測器デバイスに送信され得る。制御スマートデバイス120または観測器デバイス116、118は、報告されたデバイス動作および機能についての具体的な情報を含む挙動ベクトルを生成するのに挙動情報を使い得るベクトルジェネレータモジュール122によって受信された挙動情報を使うことができる。同様に、観測器デバイス116、118は、それら自体の挙動情報を制御スマートデバイス120に渡してよく、または送信に先立って適切な挙動ベクトルを生成してよい。
【００４５】
様々な態様では、生成された挙動ベクトルは分析器モジュール124に送信される。分析器モジュールは、挙動情報がそこから取得されたデバイスに関連付けられた、記憶された分類器モデルをルックアップすればよい。代替として、分析器モジュール124は、挙動がそこから取得されたデバイスによって送信された分類器モデルを使ってよい。挙動ベクトルは、異常挙動の存在を検出するために、分類器モデルと比較され得る。どの挙動も異常と認められない場合、制御スマートデバイス120によってさらなるアクションがとられる必要はない。
【００４６】
様々な態様では、分析器モジュール124による、異常挙動の検出は、匿名挙動に関連付けられた挙動ベクトル、または挙動ベクトルの特定の成分のフラグ付けを生じ得る。異常挙動のタイプはさらに、良性または悪性として分類され得る。いくつかの態様では、この分類は、誤動作を評価し、ユーザがエラーを認知したかどうかについての入力を与えるために、ユーザの照会を伴い得る。異常挙動ベクトルは、エラーおよび誤動作率についての正確なデータを与えるために、良性または悪性という分類にかかわらず、匿名化され、送信されてよい。
【００４７】
挙動ベクトルはアノニマイザモジュール126に送信されてよく、モジュール126は、ユーザにとって個人的またはデバイス所有者もしくはユーザの識別用と見なされ得るどの情報も削除してよい。いくつかの態様では、各タイプのスマートデバイスは、識別用または個人データを挙動ベクトルから削除するための、関連付けられた匿名化方式を有し得る。アノニマイザ分類器モデルは、アノニマイザモジュールによって、挙動ベクトル内のどの情報が個人的または識別用であり得るか判断するのに使われ得る。たとえば、テレビジョンアノニマイザ分類器モデルは、特定のベクトル要素が機械アドレスに関することを示す構成要素またはエントリを含んでよい。アノニマイザ分類器モデルを挙動ベクトルに適用することによって、アノニマイザモジュール126は、送信の前に削除されるべきである情報を容易および迅速に識別することができる。すべての識別用情報は、挙動ベクトルから削除されると、他のデバイス情報との集約のためにリモートロケーションに送信され得る。
【００４８】
様々な態様では、ネットワーキングフレームワーク150におけるスマートデバイス構成は、図2に示すように実装され得る。ネットワーキングフレームワーク150は、AllJoynフレームワークなどのネットワーキングフレームワークの核心態様を指し得る。ネットワーキングフレームワーク150は、制御スマートデバイス120および被制御スマートデバイス110にクライアントサービスを提供し、制御スマートデバイス120がフレームワーク接続144および134、ならびに一連のAPI、SDK、および他のソフトウェア機構を通して被制御スマートデバイス110を制御することを可能にする分散ソフトウェアバスアーキテクチャを表す。フレームワーク接続144および134は、分散ソフトウェアバスの一部と見なすことができる。一態様では、ネットワーキングフレームワーク150により、アプリケーションは、一連のユニバーサル高水準ソフトウェア機構を通して対話することができる。
【００４９】
ネットワーキングフレームワーク150と両立可能なアプリケーションは、ネットワーキングフレームワーク150(たとえば、ソフトウェアバス)に接続され得る。AllJoynフレームワークでは、たとえば、そのようなアプリケーションはバスアタッチメントと呼ばれ得る。バスアタッチメントは、どのタイプのアプリケーションであってもよく、一意の名称を有し得る。一意の名称は、バスアタッチメントがAllJoynバスに(たとえば、搭載中に)接続されると、自動的に割り当てられ得る。バスアタッチメントはバスデバイスを作成することができ、バスデバイスは、それらの存在をブロードキャストするように広告するプロセスを使って、それら自体を他のバスデバイスに対して識別することができる。発見処理により、バスデバイスは、他のバスデバイスの存在を判断することができる。バスデバイスは、他のAllJoynバスアタッチメントによって提供されるサービスにアクセスすることができる。
【００５０】
様々な態様では、制御スマートデバイス120は、制御スマートデバイス120のリソースへの直接または間接アクセスを提供するネットワーキングフレームワーク標準クライアント142を有して構成され得る。ネットワーキングフレームワーク標準クライアント142向けのアクセスは、制御スマートデバイスオペレーティングシステム125ならびに制御スマートデバイス120のデバイスプラットフォーム146のハードウェア(およびソフトウェア)リソースへのアクセスを通して提供され得る。リソースは、表示リソースおよび入力リソース(たとえば、ハードまたはソフトキーボード、タッチスクリーン、マウス、カメラ、マイクロフォン、加速度計など)を含み得る、プロセッサ、メモリ、およびユーザインターフェース148へのアクセスを含み得る。
【００５１】
スマートバルブ、スマート家電、または限定スマートデバイスとして構成された他のデバイスなど、制御され得るスマートデバイス110は一般に、限られた処理リソースを有する。様々な態様では、そのようなスマートデバイス110は、スマートデバイス110のリソースへの直接または間接アクセスを提供するネットワーキングフレームワークシンクライアント132を有して構成され得る。ネットワーキングフレームワークシンクライアント132向けのアクセスは、スマートデバイス組込みオペレーティングシステムまたは組込みシステム115へのアクセスを通して提供され得る。スマートデバイス110が大量の処理リソースを有する状況では、スマートデバイス110はそれにもかかわらず、ネットワーキングフレームワークシンクライアント132を装備し得る。シンクライアント132は、スマートデバイス110が主として、被制御デバイスであるように構成されるときに設けられ得る。ただし、スマートデバイス110が、他のスマートデバイスを制御するように動作することもできるとき、スマートデバイス110は、ネットワーキングフレームワーク標準クライアント142をもつ制御スマートデバイス120として構成されてよい。いくつかの態様では、スマートデバイス110は、処理タスクを完了するのに十分なリソースをもたない場合がある。そのような状況において、処理要件は、制御スマートデバイス120上のネットワーキングフレームワーク標準クライアント142など、他のクライアントに、または観測器デバイス116、118など、他のスマートデバイスに分散されてよい。
【００５２】
スマートデバイス110上のネットワーキングフレームワークシンクライアント132は、スマートデバイス110によって提供される機能またはサービス138へのアクセスをさらに有し得る。機能138は、たとえば、スマートバルブの減光またはオンおよびオフ、スマートコーヒーメーカーにおける抽出(brewing)サイクルの開始など、制御スマートデバイス120によって制御することができるアクションであり得る。機能138は、スマートコーヒーメーカーにおける抽出サイクルが完了したなどのステータス表示または通知を制御スマートデバイス120に与えることをさらに含み得る。代替または追加として、スマートデバイス110は、利用可能であるその機能またはサービス138など、スマートデバイス110の能力についての情報を提供し得る。
【００５３】
AllJoynフレームワークの例において、AllJoynシンクライアント(AJTC)は、組込みシステムとして構成されたスマートデバイス110の概ね限られたリソースに、分散プログラミング環境を提供する。AJTCが動作する動作環境は非常に制約され得るので、バスデバイスなどのAllJoyn構成要素はシステム制約内で存続しなければならない。AllJoyn標準クライアント(AJSC)は、マルチスレッド能力など、一般に制御スマートデバイス内にインストールされる高性能プロセッサの特徴を利用するように構成され得る。ただし、AJTCを稼働させるスマートデバイスは一般に、そのようなリソースをもたない。したがって、一般にAJSCに付随するとともにマルチスレッドを必要とするAllJoynデーモンが、多くのネットワーク接続を扱い、AJTC中に設けることができない比較的大量のメモリを使う。代替言語束縛を含むデバイス指向プログラミング環境を稼働させる能力など、AJSCの他の拡張態様はまた、AJTCにおいて利用可能でない。したがって、AJTCは、スマートデバイスのインターフェース、メソッド、信号、プロパティに対応するデータ構造を有するバスアタッチメントとして構成される。AJTC中のバスデバイスは、メモリ空間の効率的使用のために高度に最適化され得る。したがって、AJTC中のAPIは一般に、AJSC中で提供されるものとは異なる。APIはAJTCにおいて異なり得るが、AJSC中に見られるAllJoynフレームワークの主要な概念ブロックはすべて、コンパクトな形でAJTCシステム中に見ることができる。いくつかの事例では、いくつかのバスデバイスは、別の、より性能の高い機械上でリモートに稼働するように構成され得る。
【００５４】
図3は、リアルタイムの挙動監視および分析動作300を実行して、特定のスマートデバイス挙動、ソフトウェアアプリケーション、またはプロセスが、異常である、良性である、および/または悪性である/性能を劣化させるか判断するように、さらに、挙動についての情報を匿名化し、リモートサーバに送信するように構成される、ある態様の制御スマートデバイス120における例示的な論理構成要素および情報フローを示す。これらの動作300は、スマートデバイスの過剰な量の処理、メモリ、またはエネルギーのリソースを消費することなく、継続的に(またはほぼ継続的に)スマートデバイス120の中の1つまたは複数の処理コアによって実施され得る。
【００５５】
図3に示される例では、スマートデバイス120は、挙動観測器モジュール302と、挙動分析器モジュール304と、外部状況情報モジュール306と、分類器モジュール308と、匿名化器モジュール310とを含む。ある態様では、分類器モジュール308は、挙動分析器モジュール304の一部として実装され得る。ある態様では、挙動分析器モジュール304は、1つまたは複数の分類器モジュール308を生成するように構成されてよく、分類器モジュール308の各々は、ソフトウェアアプリケーションの特定の特徴またはスマートデバイス挙動を評価するためにスマートデバイスプロセッサによって使用され得るデータおよび/または情報構造(たとえば、決定ノードなど)を含む、1つまたは複数の分類器モデル(たとえば、データ/挙動モデル)を含み得る。
【００５６】
モジュール302〜310の各々は、ソフトウェア、ハードウェア、またはこれらの組合せにおいて実装される、スレッド、プロセス、デーモン、モジュール、サブシステム、または構成要素であり得る。様々な態様では、モジュール302〜310は、オペレーティングシステムの部分の中(たとえば、カーネル内、カーネル空間中、ユーザ空間中など)で、個別のプログラムもしくはアプリケーションの中で、専用のハードウェアバッファもしくはプロセッサの中で、またはそれらの任意の組合せにて実装され得る。ある態様では、モジュール302〜310のうちの1つまたは複数は、スマートデバイス120の1つまたは複数のプロセッサ上で実行するソフトウェア命令として実装されてもよい。
【００５７】
挙動観測器モジュール302は、スマートデバイスシステムの様々なレベルにおいて、様々なAPI、レジスタ、カウンタ、または他の構成要素(本明細書では、集合的に「計装化構成要素」)を計装し、または協調させ、計装化構成要素から挙動情報ならびに他のものの情報を収集することによって、ある時間期間にわたってリアルタイムでスマートデバイスの挙動を継続的に(またはほぼ継続的に)監視するように構成され得る。たとえば、挙動観測器モジュール302は、スマートデバイス120のメモリに記憶されているログファイル(たとえば、APIログなど)から情報を読み取ることによって、ライブラリAPIコール、システムコールAPI、ドライバAPIコール、および他の計装化構成要素を監視することができる。
【００５８】
挙動観測器モジュール302はまた、計装化構成要素を介してスマートデバイスの動作およびイベント(たとえば、システムイベント、状態変化など)を監視/観測し、観測された動作/イベントに関する情報を収集し、収集された情報をインテリジェントにフィルタリングし、フィルタリングされた情報に基づいて1つまたは複数の観測結果(たとえば、挙動ベクトルなど)を生成し、生成された観測結果をメモリに(たとえば、ログファイルなどに)記憶し、かつ/または、ローカルデバイスからの、もしくは限定デバイスおよび観測器デバイスなど、他のスマートデバイスからの、生成された観測結果または収集された挙動情報を挙動分析器モジュール304に(たとえば、メモリ書込み、関数呼出しなどを介して)送信するように構成され得る。様々な態様では、生成された観測値は、挙動ベクトルとしておよび/またはAPIログファイルもしくは構造に記憶され得る。
【００５９】
挙動観測器モジュール302は、アプリケーションフレームワークまたはランタイムライブラリにおけるライブラリAPIコール、システムコールAPI、ファイルシステムおよびネットワーキングサブシステムの動作、デバイス(センサーデバイスを含む)の状態変化、ならびに他の同様のイベントに関する情報を収集することによって、スマートデバイスの動作およびイベントを監視/観測することができる。挙動観測器モジュール302はまた、ファイル名、ファイルアクセスのカテゴリ(個人情報または通常のデータファイル)を探索すること、ファイル(たとえば、type exe、zipなど)を作成または削除すること、ファイル読取り/書込み/シーク動作、ファイルパーミッションを変更することなどを含み得る、ファイルシステムのアクティビティを監視し得る。限定デバイスおよび観測器デバイスについて、観測されるアプリケーション情報は最小限であってよい。
【００６０】
挙動観測器モジュール302はまた、データネットワークアクティビティを監視することもでき、データネットワークアクティビティは、接続の種類、プロトコル、ポート番号、デバイスが接続されるサーバ/クライアント、接続の数、通信の量または頻度などを含み得る。挙動観測器ユニット302は、電話ネットワークアクティビティを監視することができ、監視は、送出され、受信され、または妨害された通話またはメッセージ(たとえば、SMSなど)のタイプおよび数(たとえば、かけられた割増し料金の通話の数)を監視することを含む場合がある。
【００６１】
挙動観測器モジュール302はまた、フォークの数、メモリアクセス動作、開かれたファイルの数などを監視することを含み得る、システムリソース使用を監視することもできる。挙動観測器モジュール302は、ディスプレイがオンであるかオフであるか、デバイスがロックされているかロックされていないか、バッテリーの残量、カメラの状態など、様々な要因を監視することを含み得る、スマートデバイスの状態を監視し得る。
【００６２】
挙動観測器モジュール302はまた、カメラ、センサー、電子ディスプレイ、WiFi通信構成要素、データコントローラ、メモリコントローラ、システムコントローラ、アクセスポート、タイマー、周辺デバイス、ワイヤレス通信構成要素、外部メモリチップ、電圧調整器、発振器、位相ロックループ、周辺ブリッジ、ならびに、スマートコンピューティングデバイス上で稼働するプロセッサおよびクライアントをサポートするために使用される他の同様の構成要素を含み得る、1つまたは複数のハードウェア構成要素のドライバ統計および/またはステータスを監視/観測し得る。
【００６３】
挙動観測器モジュール302はまた、スマートコンピューティングデバイスおよび/またはスマートデバイスサブシステムの状態またはステータスを示す1つまたは複数のハードウェアカウンタを監視/観測し得る。ハードウェアカウンタは、スマートコンピューティングデバイスにおいて発生するハードウェア関連アクティビティまたはイベントのカウントまたは状態を記憶するように構成されるプロセッサ/コアの専用レジスタを含み得る。たとえば、観測器モジュール302は、熱スパイク、電力サージ、構成要素故障および他のハードウェア関連エラーを監視または観測することができる。
【００６４】
挙動観測器モジュール302はまた、ソフトウェアアプリケーションのアクションまたは動作、アプリケーションダウンロードサーバ(たとえば、Apple(登録商標)App Storeサーバ)からのソフトウェアダウンロード、ソフトウェアアプリケーションによって使用されるスマートデバイス情報、通話情報、テキストメッセージング情報(たとえば、SendSMS、BlockSMS、ReadSMSなど)、メディアメッセージング情報(たとえば、ReceiveMMS)、ユーザアカウント情報、ロケーション情報、カメラ情報、加速度計情報、ブラウザ情報、ブラウザベースの通信の内容、音声ベースの通信の内容、短距離無線通信(たとえば、Bluetooth(登録商標)、WiFiなど)、テキストベースの通信の内容、記録されたオーディオファイルの内容、電話帳または連絡先情報、連絡先リストなどを監視/観測し得る。
【００６５】
挙動観測器モジュール302は、ボイスメールを含む通信(VoiceMailComm)、デバイス識別子を含む通信(DeviceIDComm)、ユーザアカウント情報を含む通信(UserAccountComm)、カレンダー情報を含む通信(CalendarComm)、ロケーション情報を含む通信(LocationComm)、記録されたオーディオ情報を含む通信(RecordAudioComm)、加速度計情報を含む通信(AccelerometerComm)などを含む、スマートデバイスの送信または通信を監視/観測することができる。
【００６６】
挙動観測器モジュール302は、コンパス情報、スマートデバイス設定、バッテリー寿命、ジャイロスコープ情報、圧力センサー、磁気センサー、スクリーンアクティビティなどの使用、およびそれらに対する更新/変更を監視/観測することができる。挙動観測器モジュール302は、ソフトウェアアプリケーションとの間で通信される通知(AppNotifications)、アプリケーション更新などを監視/観測し得る。挙動観測器モジュール302は、第2のソフトウェアアプリケーションのダウンロードおよび/またはインストールを要求している第1のソフトウェアアプリケーションに関係する条件またはイベントを監視/観測し得る。挙動観測器モジュール302は、パスワードの入力などのユーザ検証に関係する条件またはイベントを監視/観測し得る。
【００６７】
挙動観測器モジュール302はまた、アプリケーションレベル、無線レベル、およびセンサーレベルを含む、スマートデバイスの複数のレベルにおける条件またはイベントを監視/観測し得る。アプリケーションレベルの観測は、顔認識ソフトウェアを介してユーザを観測すること、ソーシャルストリームを観測すること、ユーザによって入力されたメモを観測すること、PassBook、Google(登録商標) wallet、およびPaypalのような金融アプリケーションの使用に関するイベントを観測すること、ソフトウェアアプリケーションによる保護された情報へのアクセスおよびその使用を観測することなどを含み得る。アプリケーションレベルの観測はまた、仮想プライベートネットワーク(VPN)の使用に関するイベント、および同期、音声探索、音声制御(たとえば、1語を発することによる電話のロック/アンロック)、言語翻訳機、計算用のデータのオフローディング、ビデオストリーミング、ユーザアクティビティなしでのカメラの使用、ユーザアクティビティなしでのマイクロフォンの使用などに関係するイベントを観測することを含み得る。アプリケーションレベルの観測はまた、金融取引を承認するためのソフトウェアアプリケーションによる生体センサー(たとえば、指紋読取器、音声認識サブシステム、網膜スキャナなど)の使用と、生体センサーのアクセスおよび使用に関する条件とを監視することを含み得る。
【００６８】
無線レベルの観測は、無線通信リンクを確立するかまたは情報を送信する前のスマートデバイスとのユーザの対話、二重/多重の加入者識別モジュール(SIM)カード、インターネット無線、スマートフォンテザリング、計算のためのデータのオフロード、デバイス状態の通信、ゲームコントローラまたはホームコントローラとしての使用、車両通信、スマートデバイスの同期などのいずれかまたは複数の存在、実在、または量を判断することを含み得る。無線レベルの観測はまた、測位、ピアツーピア(p2p)通信、同期、車両間通信、および/または機械間(m2m)のための、無線(WiFi、WiMax、Bluetooth（登録商標）など)の使用を監視することを含み得る。無線レベルの観測は、ネットワークトラフィックの使用、統計値、またはプロファイルを監視することをさらに含み得る。
【００６９】
使用環境または外部環境に関するセンサーレベルの観測の他の例は、近距離場通信(NFC)を検出すること、クレジットカードスキャナ、バーコードスキャナ、またはスマートタグリーダから情報を収集すること、ユニバーサルシリアルバス(USB)電力充電源の存在を検出すること、キーボードまたは補助デバイスがスマートデバイスに結合されていることを検出すること、スマートデバイスが(たとえば、USBなどを介して)コンピューティングデバイスに結合されていることを検出すること、LED、フラッシュ、フラッシュライト、または光源が変更または(たとえば、緊急シグナリングアプリケーションなどを、悪意をもって無効にして)無効化されているかどうか判断すること、スピーカーまたはマイクロフォンがオンであるまたは電源がついていることを検出すること、充電または電力供給イベントを検出すること、スマートデバイスがゲームコントローラとして使用されていることを検出することなどを含み得る。センサーレベルの観測はまた、医療もしくは健康管理のセンサーから、またはユーザの体をスキャンすることから情報を収集すること、USB/オーディオジャックに差し込まれた外部センサーから情報を収集すること、(たとえば、バイブレータインターフェースなどを介して)触知センサーまたは触覚センサーから情報を収集すること、スマートデバイスの温度状態に関する情報を収集すること、指紋読取器、音声認識サブシステム、網膜スキャナから情報を収集することなどを含み得る。
【００７０】
挙動観測器モジュール302は、観測された挙動の簡明な定義を含む挙動ベクトルを生成するように構成され得る。各挙動ベクトルは、スマートデバイス、ソフトウェアアプリケーション、またはプロセスの観測された挙動を、値またはベクトルデータ構造で(たとえば、数字の列などの形で)簡潔に記述し得る。挙動ベクトルはまた、スマートデバイスシステムがスマートデバイス挙動を迅速に認識、特定、および/または分析することを可能にする識別子として機能し得る。ある態様では、挙動観測器モジュール302は、一連の数字を含む挙動ベクトルを生成することができ、これらの数字の各々がスマートデバイスの特徴または挙動を表す。たとえば、挙動ベクトルに含まれる数字は、スマートデバイスのカメラが使用されているかどうか(たとえば、カメラがオフであるときは0、カメラがアクティブであるときは1として)、スマートデバイスから送信された、またはスマートデバイスによって生成されたネットワークトラフィックの量(たとえば、20KB/秒など)、通信されたインターネットメッセージの数(たとえば、SMSメッセージの数など)などを表すことができる。
【００７１】
不十分に設計されたソフトウェアアプリケーション、マルウェア、ウイルス、断片化されたメモリ、バックグラウンドプロセスを含む、デバイス誤動作、実行エラー、スマートデバイスの性能および電力利用レベルの経時的な劣化に寄与し得る、多種多様な要因が存在し得る。これらの要因の数、多様性、および複雑さに起因して、現代のスマートデバイスの複雑でありながらリソースが制約されたシステムの性能および/または電力利用レベルを劣化させ得る、様々な構成要素、挙動、プロセス、動作、条件、状態、または特徴(またはそれらの組合せ)のすべてを同時に評価することは、実現可能ではないことが多い。ある態様では、監視される要因の数を管理可能レベルにまで減らすために、挙動観測器モジュール302は、スマートデバイスの劣化に寄与し得るすべての要因の小さなサブセットである、挙動または要因の初期セットまたは縮小セットを監視/観測するように構成され得る。
【００７２】
ある態様では、挙動観測器モジュール302は、ネットワークサーバ140および/またはクラウドサービスもしくはネットワークの中の構成要素から、挙動および/または要因の初期セットを分類器モデルの形で受信することができる。ある態様では、挙動/要因の初期セットは、ネットワークサーバ140から受信された完全な分類器モデルにおいて指定され得る。ある態様では、挙動/要因の初期セットは、ネットワークサーバによって与えられる挙動および要因に基づいてスマートデバイスにおいて生成されるデバイス固有分類器モデルにおいて指定され得る。
【００７３】
挙動観測器モジュール302は、収集された挙動情報を挙動分析器モジュール304に(たとえば、メモリ書込み動作、関数呼出しなどを介して)通信することができる。挙動分析器モジュール304は、挙動情報を受信し使用して挙動ベクトルを生成し、挙動ベクトルに基づいて空間的および/または時間的な相関関係を生成し、この情報を使用して、特定のスマートデバイスの挙動、条件、サブシステム、ソフトウェアアプリケーション、またはプロセスが、良性か、疑わしいか、または良性でない(すなわち、悪性もしくは性能を劣化させる)か判断することができる。
【００７４】
挙動分析器モジュール304および/または分類器モジュール308は、リアルタイムの挙動分析動作を実施するように構成されてよく、リアルタイムの挙動分析動作は、データ、アルゴリズム、分類器、またはモデル(集合的に「分類器モデル」と呼ばれる)を収集された挙動情報に対して実施、実行、および/または適用して、スマートデバイスの挙動が異常であるかどうか判断し、異常な挙動を良性かまたは良性でない(たとえば、悪性もしくは性能を劣化させる)ものとして分類することを含み得る。各分類器モデルは、スマートデバイス挙動の特定の特徴または態様を評価するためにスマートデバイスプロセッサによって使用される場合があるデータおよび/または情報構造(たとえば、特徴ベクトル、挙動ベクトル、構成要素リストなど)を含む挙動モデルであってもよい。各スマートデバイスは、関連付けられたデバイス固有分類器モデルを有することができ、モデルは、(たとえば、制御デバイスおよび観測器デバイス用に)スマートデバイス上に記憶され得るか、または他のデバイス(たとえば、限定デバイス、観測器デバイス)の挙動を分析する際の参照のために、制御デバイス上に記憶され得る。各分類器モデルはまた、スマートデバイス120におけるいくつかの特徴、要因、データポイント、エントリ、API、状態、条件、挙動、アプリケーション、プロセス、動作、構成要素など(集合的に「特徴」と呼ばれる)を(すなわち、挙動観測器モジュール302を介して)監視するための決定基準を含み得る。分類器モデルは、制御スマートデバイス120にプレインストールされてよく、ネットワークサーバ140からダウンロードもしくは受信されてよく、制御スマートデバイス120において生成されてよく、またはそれらの任意の組合せであってよい。分類器モデルは、クラウドソーシングソリューション、挙動モデル化技法、機械学習アルゴリズムなどを使用することによって生成されてもよい。
【００７５】
挙動分析器モジュール304および/または分類器モジュール308は、挙動観測器モジュール302から観測もしくは挙動情報を受信し得るか、または制御スマートデバイス120への送信に先立ってそれら自体の挙動ベクトルを生成した観測器デバイスなど、他のスマートデバイスから観測を受信し、受信された情報(すなわち、観測)を、外部コンテキスト情報モジュール306から受信されたコンテキスト情報と比較し、異常であるか、またはそうでなければ正常なデバイス動作と整合しない、受信された観測に関連付けられたサブシステム、プロセス、および/またはアプリケーションを識別することができる。
【００７６】
ある態様では、挙動分析器モジュール304および/または分類器モジュール308は、デバイスの劣化に経時的に寄与し、もしくは寄与しそうであるか、または場合によってはデバイスに問題を引き起こす可能性がある、挙動、プロセス、またはプログラムを特定するために、情報の限定セット(すなわち、粗い観測値)を利用するためのインテリジェンスを含み得る。たとえば、挙動分析器モジュール304は、様々なモジュール(たとえば、挙動観測器モジュール302、外部コンテキスト情報モジュール306など)から収集された(たとえば、観測結果の形の)情報を分析し、スマートデバイスの正常な動作挙動を学習し、比較の結果に基づいて1つまたは複数の挙動ベクトルを生成するように構成され得る。挙動分析器モジュール304は、生成された挙動ベクトルをさらなる分析のために分類器モジュール308に送信することができる。
【００７７】
ある態様では、分類器モジュール308は、挙動ベクトルを分類器モデルに対して適用または比較し、分析器モジュール304によって異常であると認識された、特定のスマートデバイス挙動、ソフトウェアアプリケーション、またはプロセスが性能を劣化させる/悪性であるか、または良性であるか判断するように構成され得る。分類器モジュール308が、挙動、ソフトウェアアプリケーション、またはプロセスが悪性であるか、または性能を劣化させると判断すると、分類器モジュール308は、アノニマイザモジュール310に通知してよく、モジュール310は、異常挙動を含むと判断された挙動ベクトルを匿名化するための様々なアクションまたは動作を実施し、匿名化された挙動ベクトル情報を送信するための動作を実施することができる。
【００７８】
挙動、ソフトウェアアプリケーション、またはプロセスが疑わしいと分類器モジュール308が判断したとき、分類器モジュール308は挙動観測器モジュール302に通知することができ、挙動観測器モジュール302は、その観測の細分性(すなわち、スマートデバイスの挙動が観測される詳細さのレベル)を調整し、かつ/または、分類器モジュール308から受信された情報(たとえば、リアルタイムの分析動作の結果)に基づいて観測される挙動を変更し、新しいまたは追加の挙動情報を生成または収集し、さらなる分析/分類のために新しい/追加の情報を挙動分析器モジュール304および/または分類器モジュール308へ送信することができる。挙動観測器モジュール302と分類器モジュール308との間のそのようなフィードバック通信により、疑わしいかもしくは性能を劣化させるスマートデバイス挙動の根源が特定されるまで、処理もしくはバッテリー消費の閾に達するまで、または、観測の細分性のさらなる向上によっても疑わしいかまたは性能を劣化させるスマートデバイス挙動の根源が特定され得ないとスマートデバイスのプロセッサが判断するまで、制御スマートデバイス120が繰り返し、観測の細分性を向上させる(すなわち、より微細にまたはより詳細に観測する)こと、または観測される特徴/挙動を変更することが可能になる。そのようなフィードバック通信はまた、スマートデバイス120が、スマートデバイスの過剰な量の処理リソース、メモリリソース、またはエネルギーリソースを消費することなしに、スマートデバイスにおいてローカルにデータ/挙動モデルを調整または修正することを可能にする。
【００７９】
ある態様では、アノニマイザモジュール310は、良性または悪性のいずれかとしての異常挙動の分類とともに、異常挙動事例を含むと判断された挙動ベクトルを受信するように構成され得る。いくつかの態様は、スマート制御デバイス120の関連モジュール(たとえば、分析器モジュール304および/または分類器モジュール308)によって送信される挙動ベクトルを含み得る。他の態様は、観測器デバイスから送信された挙動情報を含んでよく、挙動ベクトルは、観測器デバイス上で生成され、分析されたが、匿名化のために制御スマートデバイス120に送信されている。
【００８０】
アノニマイザモジュール310は、挙動ベクトル匿名化動作を実施するように構成されてよく、匿名化動作は、ユーザにとって個人的であるか、またはユーザ識別用(たとえば機械アドレス、ユーザデータ、ロケーションデータなど)であり得るどのデバイス情報も削除するために、データ、アルゴリズム、分類器、もしくはモデル(集合的に、「アノニマイザ分類器モデル」と呼ばれる)を、実施し、実行し、かつ/または識別された挙動ベクトルに適用することを含み得る。各アノニマイザ分類器モデルは、標準分類器モデルのような挙動モデルであり、スマートデバイスプロセッサによって、スマートデバイス挙動のどの特定の特徴または側面が、個人的またはユーザ識別であり得るかを評価するのに使うことができるデータおよび/または情報構造(たとえば、特徴ベクトル、挙動ベクトル、構成要素リストなど)を含み得る。各スマートデバイスは、関連付けられたデバイス固有アノニマイザ分類器モデルを有することができ、モデルは、(たとえば、制御デバイスおよび観測器デバイス用に)スマートデバイス上に記憶され得るか、または他のデバイス(たとえば、限定デバイス、観測器デバイス)に関連付けられた挙動ベクトルを匿名化する際の参照のために、制御デバイス上に記憶され得る。アノニマイザ分類器モデルは、制御スマートデバイス120にプレインストールされてよく、ネットワークサーバ140からダウンロードもしくは受信されてよく、制御スマートデバイス120において生成されてよく、またはそれらの任意の組合せであってよい。モデルは、スマートデバイス特徴が修正または更新されると、更新されてよい。個人的またはユーザ識別用情報が、挙動ベクトルおよび付加分類情報から削除されると、匿名化された挙動ベクトルは、ネットワークを介してネットワークサーバ140に送信されてよい。
【００８１】
ある態様では、分析器モジュール304によって異常として識別された挙動は、追加観測を要求すると判断され得る。いくつかの態様は、ネットワークサーバ140から送信される、特定の特徴を観測するための要求を含み得る。挙動観測を特定のデバイスの特定の特徴に集中させるために、スマートデバイス(たとえば、制御スマートデバイス)は、標準分類器モデルに加え、またはその代わりに使うことができる特徴標的分類器モデルを生成すればよい。
【００８２】
挙動観測器モジュール302および挙動分析器モジュール304は、限られた粗い観測値から疑わしい挙動を特定するため、挙動を動的に判断してより詳細に観測するため、および観測に必要な詳細さのレベルを動的に判断するために、スマートデバイスの挙動のリアルタイムの挙動分析を、個別にまたは集合的にのいずれかで提供し得る。このようにして、挙動観測器モジュール302は、デバイス上のプロセッサ、メモリ、またはバッテリーの大量のリソースを必要とすることなく、制御スマートデバイス120が、スマートデバイス上で発生する問題を効率的に特定することを可能にし得る。
【００８３】
様々な態様では、挙動観測器モジュール302および/または挙動分析器モジュール304は、前に観測された異常挙動など、スマートデバイス固有の複数のテスト条件を識別するのに、1つまたは複数のスマートデバイスのデバイス固有情報を使うように構成され得る。これらのテスト条件は、1つまたは複数のスマートデバイスに関連する、観測された挙動をより厳密に監視するのに使われ得る特徴標的分類器モデルを生成するのに使うことができる。ある態様では、特徴標的分類器モデルは、スマートデバイスの過去の異常、最近の更新または修正された特徴、現在の動作状態または構成に関連があるスマートデバイスの特徴を評価する決定ノードを含むように、または優先順位を付けるように生成され得る。さらなる態様では、簡潔な分類器モデルを生成することは、過剰な量のスマートデバイスのリソース(たとえば、処理リソース、メモリリソース、またはエネルギーリソース)を消費することなく挙動を分類するために評価されるべきである、固有のテスト条件の数を判断すること、標準分類器モデルの中の複数のテスト条件を順次トラバースし、テスト条件のリストが判断された数の固有のテスト条件を含むまで、スマートデバイスの目標挙動を分類することに関連のあるテスト条件をテスト条件のリストに挿入することによって、テスト条件のリストを生成すること、および、生成されたテスト条件のリストに含まれる条件のうちの1つをテストする、標準分類器モデルに含まれる決定ノードを含むように、特徴標的分類器モデルを生成することを含み得る。特徴標的分類器モデルは、後続の分析での使用のために記憶され得るか、または記憶のためにスマートデバイス(たとえば、観測器デバイス)に返送され得る。
【００８４】
様々な態様は、多様な処理能力をもつスマートデバイスへの、スマートデバイス挙動観測、分析、および匿名化の分散を容易にする方法およびシステムを含む。たとえば、単一の制御スマートデバイス120が、それ自体の挙動を観測し、その挙動を分析し、挙動情報を匿名化し、情報を送信し得る。別の例として、トースターなどの限定デバイス112、114が、その正常動作を監視し、観測された挙動のログを、分析および匿名化のために制御スマートデバイス120に送信してよく、またはどの制御スマートデバイス120も範囲内にない場合、観測された挙動のログは、観測器デバイス116、118に送信されてよい。観測器デバイス116、118は、それら自体の観測された挙動を、受信された限定デバイス110、112の挙動ログに加えて送信することができる。同様に、観測器デバイス116、118は、それら自体の挙動および限定デバイス挙動についての挙動ベクトルを生成することができ、挙動ベクトルのみを制御スマートデバイス120に送信する。
【００８５】
いくつかの態様では、デバイス間送信を削減するために、観測器デバイス116、118は、それら自体の観測された挙動ならびに近くの限定デバイス110、112の観測された挙動についての挙動ベクトル生成および分析を実施すればよい。そのような態様では、挙動ベクトルは、異常が検出された場合に制御スマートデバイス120に送信されるだけでよい。したがって、制御スマートデバイス120上の処理負荷は、いくつかの生成および分析タスクを、かなりの処理能力をもつとともにダウンタイム中の処理負荷が低い観測器デバイス116、118(たとえば、テレビ、冷蔵庫、ラジオ、エンターテインメントシステムなど)に分散することによって削減され得る。様々な構成および態様では、挙動情報は、スマートデバイスネットワークの中でローカルに送信されるだけでよく、個人情報を削除するために最初に匿名化されずに、インターネットなど、どのオープン通信ネットワークを介しても送信されなくてよい。
【００８６】
図4は、制御スマートデバイス120においてデバイス固有分類器モデルを生成する態様方法400を示す。方法400は、制御スマートデバイス120の処理コアによって実施され得る。
【００８７】
ブロック402において、処理コアは、分類器モデル452に含まれる情報を使用して、観測されるスマートデバイス挙動が良性であるか、またはスマートデバイス120の性能もしくは電力消費特性の経時的な劣化に寄与しているか判断することに関連がある特徴およびデータポイントのすべてまたは多くを集合的に特定し、記述し、試験し、または評価する、多数の決定ノード448を生成することができる。たとえば、ブロック402において、処理コアは、40個の固有の条件を試験する100個の決定ノード448を生成することができる。
【００８８】
ある態様では、決定ノード448は決定株であり得る。各決定株は、1つの条件またはスマートデバイスの特徴を試験する1つだけのノードを有する、1レベル決定木であり得る。決定株には1つのノードしかないので、特徴ベクトルを決定株に適用することは2値の答え(たとえば、yesまたはno、悪性または良性、など)をもたらす。たとえば、決定株448bによって試験される条件が「SMS送信の頻度が毎分x回未満であるか」である場合、「3」という値を決定株448bに適用することで、(「3回未満」のSMS送信に対して)「yes」の答えと(「3回以上」のSMS送信に対して)「no」の答えのいずれかがもたらされる。この2値の「yes」または「no」の答えが次いで、挙動が異常である(A)または正常である(N)かのいずれかであることを示すものとして、結果を分類するために使用され得る。これらの株は非常に単純な評価(基本的に2値)であるので、各株を実施するための処理は非常に単純であり、したがってより小さい処理オーバーヘッドで迅速におよび/または並列に達成され得る。
【００８９】
ある態様では、各決定ノード448は、試験質問に答えることからどれだけの知識が得られるか、および/または、スマートデバイスの挙動が異常であるかどうかを処理コアが判断することを試験質問に答えることが可能にするであろう確率に基づくか、またはそれらを反映し得る重み値に関連付けられ得る。決定ノード448に関連付けられた重みは、スマートデバイス挙動、ソフトウェアアプリケーション、またはスマートデバイス中のプロセスの、以前の観測または分析から収集された情報に基づいて計算され得る。ある態様では、各決定ノード448に関連付けられた重みはまた、データの集積(たとえば、データまたは挙動ベクトルのクラウド集積)のどれだけ多くのユニットがノードを構築するために使用されるかに基づいて計算され得る。ある態様では、重み値は、以前のデータ/挙動モデルまたは分類器の実行/適用から収集される正確さまたは性能の情報に基づいて生成され得る。
【００９０】
ブロック410において、処理コアは、リアルタイムの挙動監視および分析動作を実施し、観測されたスマートデバイス挙動またはルーチンデバイス動作の一部かを予測するために、分類器モデル452の1つまたはいずれかの組合せを使うことができる。ある態様では、スマートデバイスは、標準分類器モデルおよび特徴標的分類器モデルなど、複数の分類器モデル452を、並行して使うか、または適用するように構成され得る。ある態様では、処理コアは、特定のスマートデバイス挙動を評価するときに標準分類器モデル452を適用/使用することで得られる結果よりも、特徴標的分類器モデルを適用または使用することで得られる結果に、選好または優先度を与えることができる。処理コアは、分類器モデルを適用した結果を、スマートデバイス挙動が正常である(たとえば、デバイスのルーチン動作および機能に関連付けられている)か、それとも異常であるかを予測するのに使うことができる。
【００９１】
ブロック406において、別の分類器モデルが、異常挙動を生じる任意の決定スタブに適用され得る。各決定木は、異常挙動が「良性」それとも「悪性」と分類されるか判断するための2値オプションを含み得る。いくつかの異常挙動は、影響を受けるスマートデバイスに対していかなる悪影響も与えない場合があり、他の異常は、デバイスの動作上の完全性またはユーザ安全性に深刻な危険を課すデバイス誤動作であり得る。異常挙動分類の結果は、検出された異常の性質についての情報をリモート受信エンティティに与えるために、匿名化に先立って、その間に、またはその後で挙動ベクトルに付加され得る。
【００９２】
図5は、一態様による、スマートデバイス挙動の匿名クラウドソーシングを実施するための例示的な方法500を示す。ブロック502において、スマートデバイスプロセッサは、スマートデバイスの動作および機能に関連する多数の要因/挙動のサブセットを監視/観測することによって、粗い観測を実施することができる。ブロック504において、スマートデバイスプロセッサは、粗い観測および/または粗い観測に基づくスマートデバイス挙動を特性化する挙動ベクトルを生成してもよい。ブロック506において、スマートデバイスプロセッサは、それぞれのスマートデバイスに関連付けられた1つまたは複数の分類器モデルを識別し得る。たとえば、プロセッサは、ローカルストレージ上でルックアップを実行することができ、または適切な分類器モデルが、挙動情報とともに観測器デバイスまたは他の制御スマートデバイスから送信されたと判断することができる。ある態様では、ブロック504および506の一部として、スマートデバイスのプロセッサは、図2〜図4を参照して上で論じられた動作の1つまたは複数を実施することができる。
【００９３】
ブロック508で、スマートデバイスプロセッサは、粗い観測に基づいて挙動分析動作を実施することができる。これは、それぞれのスマートデバイスに関連付けられた1つまたは複数の分類器モデルを挙動ベクトルイベントと比較することによって遂行され得る。
【００９４】
判断ブロック510で、スマートデバイスプロセッサは、異常挙動または潜在的問題が挙動分析の結果に基づいて特定され得るかどうか判断することができる。スマートデバイスプロセッサが、異常挙動または潜在的問題が挙動分析の結果に基づいて識別され得ると判断すると(すなわち、判断ブロック510=「Yes」)、プロセッサは、ユーザアイデンティティ、ロケーションなどに関連したいかなる情報も削除するために、ブロック512において、挙動ベクトルおよび任意の分類情報を匿名化するためのプロセスを始動してよい。ブロック514において、匿名化された挙動ベクトルおよび任意の付加分類情報は、インターネットなどのネットワークを介してネットワークサーバに送信され得る。
【００９５】
いくつかの態様では、プロセッサは、異常挙動が、優先される監視を保証すると判断し得る。ブロック516において、スマートデバイスのプロセッサは、異常挙動を、さらに監視するために優先する特徴標的分類器モデルを生成し得る。ブロック518において、特徴標的分類器モデルは、ローカルに記憶されるか、または関連付けられたスマートデバイスに送信され得る。プロセッサは次いで、ブロック502において粗い観測を続けてよい。
【００９６】
異常挙動または潜在的問題が挙動分析の結果に基づいて識別され得ないとスマートデバイスプロセッサが判断した(すなわち、判断ブロック510=「No」)とき、プロセッサは、ブロック502において、追加の粗い観測を実施してよい。
【００９７】
ある態様では、方法500のブロック502〜518における動作の一部として、スマートデバイスプロセッサは、限定された、および粗い観測から異常挙動を識別するために、システムの挙動のリアルタイムの挙動分析を実施し、異常挙動についての観測された挙動を分析し、どの検出された異常挙動の挙動情報も匿名化し、匿名化された挙動を、集約およびさらなる分析のためにリモートサーバに送信してよい。こうすることにより、製造元、サービスプロバイダ、および研究管理者は、ユーザにとって個人的な、またはユーザ識別用のいかなる情報も開示することなく、特定のスマートデバイスの動作および機能についてのデータの大きいコーパスを収集することが可能になる。
【００９８】
図6は、限定または観測器スマートデバイスの挙動観測を収集し、送信する態様方法600を示す。ブロック602において、スマート家庭電化製品などの限定デバイスのプロセッサは、デバイス動作および機能を監視し、観測し得る。観測は、連続して、または所定の間隔だけ行われてよい。ブロック604において、収集された挙動ログが、制御スマートデバイスまたは観測器デバイスに送信され得る。受信スマートデバイスのプロセッサコアは、ブロック504における動作に関して上で論じたように挙動ベクトルを生成し得る。いくつかの態様では、送信デバイスは観測器デバイスであってよく、これは、制御スマートデバイスに挙動情報を送信するのに先立って、方法500のブロック504〜508に関連付けられたタスクのいずれをも実施することができる。
【００９９】
図7は、限定または観測器スマートデバイスの特徴情報を更新するか、または特徴観測に優先順序を付け直す態様方法700を示す。
【０１００】
方法700のブロック702において、処理コアは、特定のスマートデバイスの1つまたは複数の特定の特徴に関する複数のテスト条件を識別する情報構造であるか、またはそれを含む分類器モデルを受信し得る。ある態様では、分類器モデルは、複数の決定株を表すのに適した情報を含み、かつ/またはスマートデバイスによる複数の決定株へのコンバージョンに適した情報を含み得る。ある態様では、特徴情報は、決定株の順序付きまたは優先的リストを含み得る。決定株の各々は、テスト条件および重み値を含み得る。ある態様では、特徴情報は、制御スマートデバイスまたは観測器デバイスによって受信されてよく、ネットワークサーバ(たとえば、サービスプロバイダ、デバイスの製造元など)によって送られてよい。特徴情報は、特定の特徴、監視するべき挙動のリストに追加するべき新たな特徴に監視、および既存の分類器モデルおよび観測リストへの他のそのような修正に優先順序を付け直すための、更新された重み付け情報を含み得る。
【０１０１】
ブロック704において、処理コアは、更新された特徴標的分類器モデルを生成し得る。特徴標的分類器モデルは、スマートデバイスの過度の量の処理、メモリ、またはエネルギーリソースを消費せずに、目標特徴に関連付けられたスマートデバイス挙動を、異常または正常であると正確に分類するために評価されるべきであるいくつかの一意のテスト条件を含み得る。処理コアは、含まれるか、または特徴標的分類器モデルから除かれるべきである特徴および/またはテスト条件を迅速に識別するのに、デバイス固有またはデバイス状態固有情報を使えばよい。別の例として、処理コアは、スマートデバイス中に存在しなくてよい、および/またはスマートデバイスの目標特徴に関連しない標準モデルおよびテスト条件に含まれる特徴/ノード/株を、特徴標的分類器モデルから識別し、除いてよい。
【０１０２】
ブロック706において、プロセッサコアは、特徴標的分類器モデルを、制御スマートデバイスと通信しているすべての関連スマートデバイスに送信してよい。たとえば、ネットワークサーバが、スマート電球における動作持続時間の安全性についての更新された情報を送信した場合、生成された動作時間特徴標的分類器モデルは、ログをとられたスマート電球挙動を分析する際の使用のために、すべての制御スマートデバイスおよび観測器デバイスに送信され得る。いくつかの態様では、特徴標的分類器モデルはスマート電球に送信され得る。制御スマートデバイスは、「動作持続時間」の特徴が前に監視されていなかった場合、更新された挙動観測情報をすべてのスマート電球に送信してもよい。スマートデバイス挙動の観測は次いで、上述したように方法500のブロック502および/または方法600のブロック602を開始し得る。
【０１０３】
図8は、ある態様の観測器デーモンを実装するコンピューティングシステム800における論理構成要素および情報フローをより詳細に示す。図8に示す例では、コンピューティングシステム800は、ユーザ空間内に挙動検出器802モジュール、データベースエンジン804モジュールならびに挙動分析器モジュール304および匿名化モジュール310と、カーネル空間内にリングバッファ814、フィルタ規則816モジュール、スロットリング規則818モジュールおよびセキュアバッファ820とを含む。コンピューティングシステム800は、ユーザ空間内に挙動検出器802およびデータベースエンジン804を含む観測器デーモンと、カーネル空間内にセキュアバッファマネージャ806、規則マネージャ808およびシステムヘルスモニタ810とをさらに含み得る。
【０１０４】
様々な態様は、システム挙動を特性化するために、webkit、SDK、NDK、カーネル、ドライバ、およびハードウェアを包含するスマートデバイス上でレイヤにまたがる観測を提供できる。挙動の観測は、リアルタイムで行われ得る。
【０１０５】
観測器モジュールは、適応的観測技法を実施し、観測の粒度を制御することができる。上で論じたように、スマートデバイスの誤動作または誤った挙動に寄与する可能性のある多数(すなわち、数千)の要因が存在し、異常挙動イベントの発生に寄与し得る異なる要因のすべてを監視/観測することは実現不可能であり得る。しかし、特徴観測の優先度は、スマートデバイスの特定の特徴の動作および機能についての情報を望む製造元、サービスプロバイダ、および他のエンティティによって所望されるように、システムのライフサイクルを通して動的に修正されてよい。特徴情報は、他のスマートデバイスへの配布のために、制御スマートデバイスに送信され得る。このようにして、クラウドソーシングされる匿名化された挙動情報は、データを収集し、分析することを認可された当事者によって影響され得る。
【０１０６】
様々な態様が、種々のコンピューティングデバイス上で実装されてよく、それらの一例が、スマートフォンの形で図9に示されている。スマートフォン900は、内部メモリ904と、ディスプレイ912と、スピーカー914とに結合されたプロセッサ902を含み得る。加えて、スマートフォン900は、プロセッサ902に結合されたワイヤレスデータリンクおよび/またはセルラー電話トランシーバ908に接続される場合がある、電磁放射を送信および受信するためのアンテナを含んでもよい。スマートフォン900は通常、ユーザ入力を受信するためのメニュー選択ボタンまたはロッカースイッチ920も含む。
【０１０７】
典型的なスマートフォン900はまた、マイクロフォンから受信された音をワイヤレス送信に適したデータパケットにデジタル化し、受信された音のデータパケットを復号して、音を生成するためにスピーカーに供給されるアナログ信号を生成する、音符号化/復号(コーデック)回路906を含む。また、プロセッサ902、ワイヤレストランシーバ908およびコーデック906のうちの1つまたは複数は、デジタル信号プロセッサ(DSP)回路(個別には図示せず)を含み得る。
【０１０８】
様々な態様とともに用いるのに適したスマートデバイスの別の例が、図10に示されるスマート電球1000である。スマート電球1000は、スマート電球1000をソケットまたはレセプタクル(図示せず)に差し込むための口金1032を含み得る。口金1032は、当業者によく知られているねじタイプバルブ口金など、非常に様々なバルブ口金タイプのうちのいずれであってもよい。ソケットまたはレセプタクルは一般に、スマート電球1000が能動素子1039を操作するための電力を取得し得るための電力源、概して交流(AC)電力を提供する。
【０１０９】
スマート電球1000は制御ユニット1010を含むことができ、制御ユニット1010は、プロセッサ1002およびメモリ1006と、RFユニット1008と、要素制御ユニット1022と、口金1032上の電気コネクタに結合された電源ユニット1024とを含み得る。制御ユニット1010内の様々なユニットは、接続1001を通して結合されてよく、システムオンチップ(SOC)として一体化されてよい。プロセッサ1002は、組込みプロセッサもしくはコントローラ、汎用プロセッサ、または同様のプロセッサであってよく、メモリ1006を装備し得る。内部/外部メモリ1006は、揮発性または不揮発性メモリであってよい。制御ユニット1010は、通信を送り、受信するための、プロセッサ1002およびアンテナ1009に結合された無線信号トランシーバ1008(たとえば、Bluetooth（登録商標）、Bluetooth（登録商標） LE、Zigbee、Wi-Fi、RF無線など)を有し得る。プロセッサ1002は、挙動を監視すること、任意選択で挙動ベクトルを生成すること、ならびにトランシーバ1008を介して挙動データおよび/または挙動ベクトルを送信することを含む、様々な態様のいくつかの動作を実施するためのプロセッサ実行可能命令を有して構成され得る。
【０１１０】
態様の方法の一部は、態様方法を実行している間にスマートデバイスプロセッサによってアクセスされ得る正常な動作挙動のデータベースを維持することなど、サーバにおいて発生する処理のいくつかによって、クライアントサーバアーキテクチャにおいて達成され得る。そのような態様は、図11に示すサーバ1100のような、様々な市販のサーバデバイスのいずれかにおいて実装され得る。そのようなサーバ1100は、通常、揮発性メモリ1102と、ディスク(disk)ドライブ1103などの大容量不揮発性メモリとに結合された、プロセッサ1101を含む。サーバ1100は、プロセッサ1101に結合された、フロッピーディスク(disk)ドライブ、コンパクトディスク(disc)(CD)またはDVDディスク(disc)ドライブ1104も含むことができる。サーバ1100はまた、他のブロードキャストシステムコンピュータおよびサーバに結合されたローカルエリアネットワークなどのネットワーク1105とデータ接続を確立するためにプロセッサ1101に結合されたネットワークアクセスポート1106を含んでよい。
【０１１１】
プロセッサ902、1002、1101は、以下で説明する様々な態様の機能を含む、種々の機能を実施するためのソフトウェア命令(アプリケーション)によって構成することができる、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであってもよい。いくつかのスマートデバイスでは、ワイヤレス通信機能専用の1つのプロセッサおよび他のアプリケーションを稼働することに専用の1つのプロセッサのような、多重プロセッサ902、1002、1101が提供され得る。通常、ソフトウェアアプリケーションは、アクセスされてプロセッサ902、1002、1101にロードされる前に、内部メモリ904、1006、1102、1103に記憶され得る。プロセッサ902、1002、1101は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。
【０１１２】
いくつかの異なるセルラー通信およびスマート通信のサービスおよび規格が利用可能であるか、または将来考えられ、それらのすべてが様々な態様を実装し、様々な態様から恩恵を受けることができる。そのようなサービスおよび規格は、たとえば、第3世代パートナーシッププロジェクト(3GPP)、ロングタームエボリューション(LTE)システム、第3世代ワイヤレススマート通信技術(3G)、第4世代ワイヤレススマート通信技術(4G)、スマート通信用グローバルシステム(GSM（登録商標）)、ユニバーサルスマートテレコミュニケーションシステム(UMTS)、3GSM（登録商標）、汎用パケット無線サービス(GPRS)、符号分割多元接続(CDMA)システム(たとえば、cdmaOne、CDMA1020(商標))、GSM（登録商標）エボリューション用発展型データレート(EDGE)、高度スマートフォンシステム(AMPS)、デジタルAMPS(IS-136/TDMA)、エボリューションデータオプティマイズド(EV-DO)、デジタル発展型コードレステレコミュニケーション(DECT)、マイクロ波アクセス用ワールドワイドインターオペラビリティ(WiMAX)、ワイヤレスローカルエリアネットワーク(WLAN)、Wi-Fi保護アクセスI&II(WPA、WPA2)、および統合デジタル発展型ネットワーク(iden)を含む。これらの技術の各々は、たとえば、音声、データ、シグナリング、および/またはコンテンツメッセージの送信および受信を伴う。個々の電気通信の規格または技術に関係する用語および/または技術的詳細に対するいかなる言及も例示目的にすぎず、請求項の文言に具体的に記載されない限り、特許請求の範囲を特定の通信システムまたは通信技術に限定するものではないことを理解されたい。
【０１１３】
「性能劣化」という用語は、本出願では、より長い処理時間、より遅いリアルタイム応答性、より短いバッテリー寿命、個人データの損失、悪意のある経済活動(たとえば、無許可のプレミアムSMSメッセージを送信すること)、サービス拒否(DoS)、スマートデバイスを乗っ取ることまたはスパイ活動もしくはボットネット活動のために電話を利用することに関する動作などのような、多種多様な望ましくないスマートデバイスの動作および特性を指すために使用される。
【０１１４】
様々な態様の動作を遂行するためにプログラマブルプロセッサ上で実行するためのコンピュータプログラムコードまたは「プログラムコード」は、C、C++、C#、Smalltalk、Java（登録商標）、JavaScript（登録商標）、Visual Basic、構造化照会言語(たとえば、Transact-SQL)、Perlなどの高水準プログラミング言語で、または様々な他のプログラミング言語で書かれる場合がある。本出願で使用する、コンピュータ可読記憶媒体上に記憶されるプログラムコードまたはプログラムは、そのフォーマットがプロセッサによって理解可能である(デバイスコードなどの)機械言語コードを指す場合がある。
【０１１５】
多くのスマートコンピューティングデバイスのオペレーティングシステムカーネルは、(非特権コードが動作する場合)ユーザ空間内に編成され、(特権コードが動作する場合)カーネル空間内に編成される。この分離は、カーネル空間の一部であるコードが一般公有使用許諾(GPL)許諾される必要がある一方で、ユーザ空間において動作するコードがGPL許諾されなくてもよい、Android(登録商標)および他のGPL環境において特に重要である。本明細書で説明する様々なソフトウェア構成要素/モジュールは、別段に明記されていない限り、カーネル空間またはユーザ空間のいずれかにおいて実装されてもよいことを理解されたい。
【０１１６】
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供され、様々な態様の動作が、提示された順序で実施されなければならないことを要求または暗示するものではない。当業者には理解されるように、上記の態様における動作の順序は、任意の順序で実施され得る。「その後」、「次いで」、「次に」などのような語は、動作の順序を限定するものではなく、これらの語は単に、本方法の説明を通して読者を導くために使用される。さらに、特許請求要素に対して単数形で行われるいかなる言及、たとえば、冠詞「a」、「an」、または「the」の使用も、その要素を単数に限定するものとして解釈すべきではない。
【０１１７】
本出願で使用する「構成要素」、「モジュール」、「システム」、「エンジン」、「ジェネレータ」、「マネージャ」などの用語は、限定はしないが、特定の動作または機能を実施するように構成された、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなどのコンピュータ関連エンティティを含むものとする。たとえば、構成要素は、限定はしないが、プロセッサ上で動作しているプロセス、プロセッサ、デバイス、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであってもよい。例として、コンピューティングデバイス上で実行するアプリケーションとコンピューティングデバイスの両方は、構成要素と呼ばれる場合がある。1つまたは複数の構成要素が、プロセスおよび/または実行スレッド内に存在することがあり、1つの構成要素が、1つのプロセッサもしくはコアに局在することがあり、かつ/または2つ以上のプロセッサもしくはコアに分散されることがある。加えて、これらの構成要素は、様々な命令および/またはデータ構造を記憶した様々な非一時的コンピュータ可読媒体から実行することができる。構成要素は、ローカルプロセスおよび/またはリモートプロセス、関数呼出しまたはプロシージャ呼出し、電子信号、データパケット、メモリ読取り/書込み、ならびに他の知られているネットワーク、コンピュータ、プロセッサ、および/またはプロセス関連の通信方法によって通信することができる。
【０１１８】
本明細書において開示されている態様に関連して説明されている様々な実例論理ブロック、モジュール、回路およびアルゴリズム動作は、電子ハードウェア、コンピュータソフトウェアまたは両方の組合せとして実現することができる。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路および動作について、概してそれらの機能性に関して上記で説明してきた。そのような機能性がハードウェアとして実装されるのか、それともソフトウェアとして実装されるのかは、特定の適用例および全体的なシステムに課された設計制約で決まる。当業者は、特定の適用例ごとに様々な方法で説明した機能性を実装してもよいが、そのような実装決定は、本発明の範囲からの逸脱を引き起こすと解釈されるべきではない。
【０１１９】
本明細書で開示する態様に関して説明する様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(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  通信システム
101  直接リンク、リンク
102  インターネット
103  セルラーインフラストラクチャ
110  スマートデバイス、被制御スマートデバイス、限定デバイス
110a  DEV1
110b  DEV2
110c  DEVn
111  リンク
112  限定能力スマートデバイス、限定デバイス
114  限定能力スマートデバイス、限定デバイス
115  スマートデバイス組込みオペレーティングシステムまたは組込みシステム
116  中間または観測器スマートデバイス、観測器デバイス
118  中間または観測器スマートデバイス、観測器デバイス
120  制御スマートデバイス
120a  CTL DEV1
120b  CTL DEV2
120c  CTL DEVn
121  リンク
122  ベクトルジェネレータモジュール
124  分析器モジュール
125  制御スマートデバイスオペレーティングシステム
126  アノニマイザモジュール
130  アクセスポイント
131  サービスプロバイダ
132  ネットワーキングフレームワークシンクライアント
134  フレームワーク接続
138  機能またはサービス
140  ローカルネットワークサーバ、ネットワークサーバ
142  ネットワーキングフレームワーク標準クライアント
144  フレームワーク接続
146  デバイスプラットフォーム
148  ユーザインターフェース
150  ネットワーキングフレームワーク
302  挙動観測器モジュール
304  挙動分析器モジュール、分析器モジュール
306  外部コンテキスト情報モジュール
308  分類器モジュール
310  アノニマイザモジュール、匿名化モジュール
448  決定ノード
448b  決定株
452  分類器モデル、標準分類器モデル
800  コンピューティングシステム
802  挙動検出器
804  データベースエンジン
806  セキュアバッファマネージャ
808  規則マネージャ
810  システムヘルスモニタ
814  リングバッファ
816  フィルタ規則
818  スロットリング規則
820  セキュアバッファ
900  スマートフォン
902  プロセッサ
904  内部メモリ
906  音符号化/復号(コーデック)回路、コーデック
908  セルラー電話トランシーバ、ワイヤレストランシーバ
912  ディスプレイ
914  スピーカー
920  メニュー選択ボタン、ロッカースイッチ
1000  スマート電球
1001  接続
1002  プロセッサ
1006  メモリ、内部/外部メモリ
1008  RFユニット、無線信号トランシーバ、トランシーバ
1009  アンテナ
1010  制御ユニット
1022  要素制御ユニット
1024  電源ユニット
1032  口金
1039  能動素子
1100  サーバ
1101  プロセッサ
1102  揮発性メモリ
1103  ディスクドライブ
1104  フロッピーディスクドライブ、コンパクトディスク(CD)、DVDディスクドライブ
1105  ネットワーク
1106  ネットワークアクセスポート
【図１Ａ】
2018513467.tif 000003
【図１Ｂ】
2018513467.tif 000004
【図１Ｃ】
2018513467.tif 000005
【図２】
2018513467.tif 000006
【図３】
2018513467.tif 000007
【図４】
2018513467.tif 000008
【図５】
2018513467.tif 000009
【図６】
2018513467.tif 000010
【図７】
2018513467.tif 000011
【図８】
2018513467.tif 000012
【図９】
2018513467.tif 000013
【図１０】
2018513467.tif 000014
【図１１】
2018513467.tif 000015
【手続補正書】
【提出日】平成29年9月20日(2017.9.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デバイス挙動情報を匿名で共有する方法であって、
異常挙動を検出したことに応答して、第1のデバイスのプロセッサによって、前記第1のデバイスにとって一意のアノニマイザモデルをデバイス挙動ベクトルに適用することによって、匿名化されたデバイス挙動ベクトルを生成するためにユーザ識別情報を削除するように前記デバイス挙動ベクトルを匿名化するステップと、
前記第1のデバイスのトランシーバによって、前記匿名化されたデバイス挙動ベクトルを、ネットワークを介してリモートサーバに送信するステップとを含む方法。
【請求項２】
前記第1のデバイスの前記プロセッサによって、デバイス構成要素から挙動情報を収集することによってデバイスの挙動をある時間期間にわたって監視するステップと、
前記第1のデバイスの前記プロセッサによって、前記デバイスの前記収集された挙動情報を使ってデバイス挙動ベクトルを構築するステップと、
前記第1のデバイスの前記プロセッサによって、異常挙動を検出するために前記デバイス挙動ベクトルを分析するステップとをさらに含む、請求項1に記載の方法。
【請求項３】
第2のデバイスのプロセッサによって、デバイス構成要素から挙動情報を収集することによって前記第2のデバイスの挙動をある時間期間にわたって監視するステップと、
前記第2のデバイスの送信機によって、前記収集された挙動情報を前記第1のデバイスに送信するステップと、
前記第1のデバイスの前記プロセッサによって、前記第2のデバイスの前記収集された挙動情報を使ってデバイス挙動ベクトルを構築するステップと、
前記第1のデバイスの前記プロセッサによって、異常挙動を検出するために前記デバイス挙動ベクトルを分析するステップとをさらに含む、請求項1に記載の方法。
【請求項４】
第2のデバイスのプロセッサによって、デバイス構成要素から挙動情報を収集することによって前記第2のデバイスの挙動をある時間期間にわたって監視するステップと、
前記第2のデバイスの送信機によって、前記収集された挙動情報を第3のデバイスに送信するステップと、
前記第3のデバイスのプロセッサによって、前記第2のデバイスから受信された、前記収集された挙動情報を使ってデバイス挙動ベクトルを構築するステップと、
前記第3のデバイスのトランシーバによって、前記デバイス挙動ベクトルを前記第1のデバイスに送信するステップと、
前記第1のデバイスの前記プロセッサによって、異常挙動を検出するために前記デバイス挙動ベクトルを分析するステップとをさらに含む、請求項1に記載の方法。
【請求項５】
第3のデバイスの前記プロセッサによって、デバイス構成要素から挙動情報を収集することによって前記第3のデバイスの挙動をある時間期間にわたって監視するステップと、
前記第3のデバイスの前記プロセッサによって、前記第3のデバイスの前記収集された挙動情報を使って第3のデバイス挙動ベクトルを構築するステップと、
前記第3のデバイスのトランシーバによって、前記第3のデバイス挙動ベクトルを前記第1のデバイスに送信するステップと、
前記第1のデバイスの前記プロセッサによって、異常挙動を検出するために前記第3のデバイス挙動ベクトルを分析するステップとをさらに含む、請求項4に記載の方法。
【請求項６】
第2のデバイスのプロセッサによって、デバイス構成要素から挙動情報を収集することによって前記第2のデバイスの挙動をある時間期間にわたって監視するステップと、
前記第2のデバイスの送信機によって、前記収集された挙動情報を第3のデバイスに送信するステップと、
前記第3のデバイスのプロセッサによって、前記第2のデバイスから受信された、前記収集された挙動情報を使ってデバイス挙動ベクトルを構築するステップと、
前記第3のデバイスの前記プロセッサによって、異常挙動を検出するために前記デバイス挙動ベクトルを分析するステップと、
異常挙動を検出したことに応答して、前記第3のデバイスのトランシーバによって、前記デバイス挙動ベクトルを前記第1のデバイスに送信するステップとをさらに含む、請求項1に記載の方法。
【請求項７】
第3のデバイスの前記プロセッサによって、デバイス構成要素から挙動情報を収集することによって前記第3のデバイスの挙動をある時間期間にわたって監視するステップと、
前記第3のデバイスの前記プロセッサによって、前記第3のデバイスの前記収集された挙動情報を使って第3のデバイス挙動ベクトルを構築するステップと、
前記第3のデバイスの前記プロセッサによって、異常挙動を検出するために前記第3のデバイス挙動ベクトルを分析するステップと、
異常挙動を検出したことに応答して、前記第3のデバイスのトランシーバによって、前記第3のデバイス挙動ベクトルを前記第1のデバイスに送信するステップとをさらに含む、請求項6に記載の方法。
【請求項８】
前記第1のデバイスの前記プロセッサによって、異常挙動を検出したことに応答して特徴ベクトルを生成するステップであって、前記特徴ベクトルは、検出された異常挙動に関連付けられる、ステップと、
前記第1のデバイスの前記プロセッサによって、第1のデバイスとローカル通信している1つまたは複数のデバイスに前記特徴ベクトルを送信するステップと、
前記1つまたは複数のデバイスのプロセッサによって、前記特徴ベクトルに含まれる特徴に関連した挙動を監視するステップとをさらに含む、請求項1に記載の方法。
【請求項９】
前記第1のデバイスの前記トランシーバによって、リモートサーバから、第1のデバイスとローカル通信している1つまたは複数のデバイスに関連した1つまたは複数の特徴ベクトルを受信するステップと、
前記第1のデバイスの前記プロセッサによって、前記第1のデバイスとローカル通信している前記1つまたは複数のデバイスに、前記1つまたは複数の特徴ベクトルを送信するステップと、
前記1つまたは複数のデバイスのプロセッサによって、前記1つまたは複数の特徴ベクトルに含まれる特徴に関連した挙動を監視するステップとをさらに含む、請求項1に記載の方法。
【請求項１０】
複合技術通信デバイスであって、
アンテナと、
前記アンテナに通信可能に接続されたプロセッサとを備え、前記プロセッサは、
異常挙動を検出したことに応答して、デバイスにとって一意のアノニマイザモデルをデバイス挙動ベクトルに適用することによって、匿名化されたデバイス挙動ベクトルを生成するためにユーザ識別情報を削除するように前記デバイスの前記デバイス挙動ベクトルを匿名化し、
前記匿名化されたデバイス挙動ベクトルを、ネットワークを介してリモートサーバに送信するように構成される、複合技術通信デバイス。
【請求項１１】
前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたってデバイスの挙動を監視し、
前記デバイスの前記収集された挙動情報を使って、デバイス挙動ベクトルを構築し、
異常挙動を検出するために、前記デバイス挙動ベクトルを分析するようにさらに構成される、請求項10に記載の複合技術通信デバイス。
【請求項１２】
前記プロセッサは、
異常挙動を検出したことに応答して特徴ベクトルを生成することであって、前記特徴ベクトルは、検出された異常挙動に関連付けられる、生成すること、
第1のデバイスとローカル通信している1つまたは複数のデバイスに前記特徴ベクトルを送信すること、および
前記特徴ベクトルに含まれる特徴に関連した挙動を監視することを行うようにさらに構成される、請求項10に記載の複合技術通信デバイス。
【請求項１３】
前記プロセッサは、
リモートサーバから、第1のデバイスとローカル通信している1つまたは複数のデバイスに関連した1つまたは複数の特徴ベクトルを受信し、
前記1つまたは複数の特徴ベクトルを、前記第1のデバイスとローカル通信している前記1つまたは複数のデバイスに送信し、
前記1つまたは複数の特徴ベクトルに含まれる特徴に関連した挙動を監視するようにさらに構成される、請求項10に記載の複合技術通信デバイス。
【請求項１４】
通信システムであって、
ローカルワイヤレスネットワークおよび通信ネットワークを介してデータを受信および送信するように構成された第1のデバイスと、
ローカルワイヤレスネットワークを介してデータを受信および送信するように構成された第2のデバイスと、
ローカルワイヤレスネットワークを介してデータを送信するように構成された第3のデバイスとを備え、
前記第1のデバイスは、動作を実施するためのプロセッサ実行可能命令を有して構成されたプロセッサを有する複合技術通信デバイスを備え、前記動作は、
異常挙動を検出したことに応答して、前記第1のデバイスにとって一意のアノニマイザモデルをデバイス挙動ベクトルに適用することによって、匿名化されたデバイス挙動ベクトルを生成するためにユーザ識別情報を削除するように前記デバイス挙動ベクトルを匿名化すること、および
前記匿名化されたデバイス挙動ベクトルを、ネットワークを介してリモートサーバに送信することをさらに含み、
前記第2のデバイスは、プロセッサ実行可能命令を有して構成されたプロセッサを備え、
前記第1のデバイスは、プロセッサ実行可能命令を有して構成されたプロセッサを有するデバイスを備える、通信システム。
【請求項１５】
前記第1のデバイスの前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたってデバイスの挙動を監視すること、
前記デバイスの前記収集された挙動情報を使って、デバイス挙動ベクトルを構築すること、および
異常挙動を検出するために、前記デバイス挙動ベクトルを分析することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項14に記載のシステム。
【請求項１６】
前記第2のデバイスの前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたって前記第2のデバイスの挙動を監視すること、および
前記収集された挙動情報を前記第1のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成され、
前記第1のデバイスの前記プロセッサは、
前記第2のデバイスの前記収集された挙動情報を使って、デバイス挙動ベクトルを構築すること、および
異常挙動を検出するために、前記デバイス挙動ベクトルを分析することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項14に記載のシステム。
【請求項１７】
前記第2のデバイスの前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたって前記第2のデバイスの挙動を監視すること、および
前記収集された挙動情報を第3のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成され、
前記第3のデバイスの前記プロセッサは、
前記第2のデバイスから受信された、前記収集された挙動情報を使って、デバイス挙動ベクトルを構築すること、および
前記デバイス挙動ベクトルを前記第1のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有してさらに構成され、
前記第1のデバイスの前記プロセッサは、
前記第1のデバイスの前記プロセッサによって、異常挙動を検出するために前記デバイス挙動ベクトルを分析することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項14に記載のシステム。
【請求項１８】
前記第3のデバイスの前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたって前記第3のデバイスの挙動を監視すること、
前記第3のデバイスの前記収集された挙動情報を使って、第3のデバイス挙動ベクトルを構築すること、および
前記第3のデバイス挙動ベクトルを前記第1のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成され、
前記第1のデバイスの前記プロセッサは、異常挙動を検出するために前記第3のデバイス挙動ベクトルを分析することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項17に記載のシステム。
【請求項１９】
前記第2のデバイスの前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたって前記第2のデバイスの挙動を監視すること、
前記収集された挙動情報を前記第3のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成され、
前記第3のデバイスの前記プロセッサは、
前記第2のデバイスから受信された、前記収集された挙動情報を使って、デバイス挙動ベクトルを構築すること、
異常挙動を検出するために、前記デバイス挙動ベクトルを分析すること、および
異常挙動を検出したことに応答して、前記デバイス挙動ベクトルを前記第1のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項14に記載のシステム。
【請求項２０】
前記第3のデバイスの前記プロセッサは、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたって前記第3のデバイスの挙動を監視すること、
前記第3のデバイスの前記収集された挙動情報を使って、第3のデバイス挙動ベクトルを構築すること、
異常挙動を検出するために、前記第3のデバイス挙動ベクトルを分析すること、および
異常挙動を検出したことに応答して、前記第3のデバイス挙動ベクトルを前記第1のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項19に記載のシステム。
【請求項２１】
前記第1のデバイスの前記プロセッサは、
異常挙動を検出したことに応答して特徴ベクトルを生成することであって、前記特徴ベクトルは、検出された異常挙動に関連付けられる、生成すること、
第1のデバイスとローカル通信している1つまたは複数のデバイスに前記特徴ベクトルを送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成され、
前記第1、第2、および第3のデバイスの前記プロセッサは、
前記特徴ベクトルに含まれる特徴に関連した挙動を監視するためのプロセッサ実行可能命令を有してさらに構成される、請求項14に記載のシステム。
【請求項２２】
前記第1のデバイスの前記プロセッサは、
リモートサーバから、第1のデバイスとローカル通信している1つまたは複数のデバイスに関連した1つまたは複数の特徴ベクトルを受信すること、
前記1つまたは複数の特徴ベクトルを、前記第1のデバイスとローカル通信している前記1つまたは複数のデバイスに送信することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成され、
前記第1、第2、および第3のデバイスの前記プロセッサは、
前記1つまたは複数の特徴ベクトルに含まれる特徴に関連した挙動を監視することをさらに含む動作を実施するためのプロセッサ実行可能命令を有して構成される、請求項14に記載のシステム。
【請求項２３】
複合技術通信デバイスのプロセッサに動作を実施させるためのプロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記動作は、
異常挙動を検出したことに応答して、デバイスにとって一意のアノニマイザモデルをデバイス挙動ベクトルに適用することによって、匿名化されたデバイス挙動ベクトルを生成するためにユーザ識別情報を削除するように前記デバイスの前記デバイス挙動ベクトルを匿名化すること、および
前記匿名化されたデバイス挙動ベクトルを、ネットワークを介してリモートサーバに送信することを含む、非一時的プロセッサ可読記憶媒体。
【請求項２４】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、複合技術通信デバイスのプロセッサに、
デバイス構成要素から挙動情報を収集することによって、ある時間期間にわたってデバイスの挙動を監視すること、
前記デバイスの前記収集された挙動情報を使って、デバイス挙動ベクトルを構築すること、および
異常挙動を検出するために、前記デバイス挙動ベクトルを分析することをさらに含む動作を実施させるように構成される、請求項23に記載の非一時的プロセッサ可読記憶媒体。
【請求項２５】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、複合技術通信デバイスのプロセッサに、
異常挙動を検出したことに応答して特徴ベクトルを生成することであって、前記特徴ベクトルは、検出された異常挙動に関連付けられる、生成すること、
第1のデバイスとローカル通信している1つまたは複数のデバイスに前記特徴ベクトルを送信すること、および
前記特徴ベクトルに含まれる特徴に関連した挙動を監視することをさらに含む動作を実施させるように構成される、請求項23に記載の非一時的プロセッサ可読記憶媒体。
【請求項２６】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、複合技術通信デバイスのプロセッサに、
リモートサーバから、第1のデバイスとローカル通信している1つまたは複数のデバイスに関連した1つまたは複数の特徴ベクトルを受信すること、
前記1つまたは複数の特徴ベクトルを、前記第1のデバイスとローカル通信している前記1つまたは複数のデバイスに送信すること、および
前記1つまたは複数の特徴ベクトルに含まれる特徴に関連した挙動を監視することをさらに含む動作を実施させるように構成される、請求項23に記載の非一時的プロセッサ可読記憶媒体。
【国際調査報告】
2018513467.tif 000016
2018513467.tif 000017
2018513467.tif 000018