(57)【特許請求の範囲】
【請求項１】
無線デバイスであって、
センサデータを取得するセンサと、
無線ネットワークにおける複数の無線デバイスからの他の無線デバイスと共に前記無線デバイスをクラスタに編成するクラスタリングモジュールと、
前記クラスタのリーダを選択するため、前記クラスタにおける他の無線デバイスと協調するリーダ選択モジュールと、
前記無線デバイスの予想される動作を記述する動作記述モジュールと、
前記クラスタ内の侵害されている無線デバイスを検出する動作観察モジュールと、
前記侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐ軽減モジュールと、
を有し、
各クラスタは、前記クラスタの近傍クラスタと前記予想される動作及び前記センサデータを共有することによって、クラスタ内及びクラスタ間ヘルスチェックを実行する無線デバイス。
【請求項２】
前記無線デバイスの動作観察モジュールは、前記無線デバイスが前記クラスタのリーダである間を検出する、請求項１記載の無線デバイス。
【請求項３】
前記無線デバイスの軽減モジュールは、前記無線デバイスが前記クラスタのリーダである間に、前記侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐ、請求項１記載の無線デバイス。
【請求項４】
前記侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐことは、前記軽減モジュールが、前記クラスタにおける前記他の無線デバイスに侵害されていることに応答して前記クラスタの新たなリーダを選択するよう指示することを含む、請求項３記載の無線デバイス。
【請求項５】
前記侵害されている無線デバイスを検出することは、前記動作観察モジュールが、
疑わしい無線デバイスの通信を解析し、
前記疑わしい無線デバイスの通信における異常を特定することを含む、請求項１記載の無線デバイス。
【請求項６】
前記疑わしい無線デバイスの通信における異常を特定することは、前記動作観察モジュールが、機械学習アルゴリズムを利用することを含む、請求項５記載の無線デバイス。
【請求項７】
前記動作観察モジュールは、前記疑わしい無線デバイスの記述された予想される動作からのずれの量、前記疑わしい無線デバイスの類似の無線デバイスとの近接性、他の無線デバイスを探索するための前記疑わしい無線デバイスによる試み、並びに前記疑わしい無線デバイス上でオープンなポートの数及びタイプの少なくとも１つに基づき、前記疑わしい無線デバイスの脅威レベルを計算する、請求項６記載の無線デバイス。
【請求項８】
前記動作観察モジュールは、前記疑わしい無線デバイスの計算された脅威レベルに基づき、前記疑わしい無線デバイスを侵害されていると判断する、請求項７記載の無線デバイス。
【請求項９】
前記クラスタのリーダは、前記クラスタにおける何れか他の無線デバイスによって送信又は受信される全ての通信をプロキシ処理する、請求項１記載の無線デバイス。
【請求項１０】
前記無線デバイスの軽減モジュールは、前記侵害されている無線デバイスによって生成される通信を送信することを拒絶することによって、前記侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐ、請求項９記載の無線デバイス。
【請求項１１】
前記無線デバイスの軽減モジュールは、前記侵害されている無線デバイスに送信される通信を送信することを拒絶することによって、前記侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐ、請求項９記載の無線デバイス。
【請求項１２】
前記無線デバイスの軽減モジュールは、前記侵害されている無線デバイスに非侵害状態に強制的に自らをリセットさせることによって、前記侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐ、請求項１記載の無線デバイス。
【請求項１３】
複数の無線デバイスを有する無線センサネットワークをセキュアにする方法であって、前記方法は、前記複数の無線デバイスの無線デバイスによって実行され、
前記複数の無線デバイスからの他の無線デバイスと共に前記無線デバイスをクラスタに編成するステップと、
前記クラスタのリーダを選択するため、前記クラスタにおける他の無線デバイスと協調するステップと、
前記無線デバイスの予想される動作を記述するステップと、
前記クラスタ内の侵害されている無線デバイスを検出するステップと、
前記侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐステップと、
を有し、
各クラスタは、前記クラスタの近傍クラスタと前記予想される動作及びセンサデータを共有することによって、クラスタ内及びクラスタ間ヘルスチェックを実行する方法。
【請求項１４】
前記検出するステップは、前記無線デバイスが前記クラスタのリーダである間に実行される、請求項１３記載の方法。
【請求項１５】
前記防ぐステップは、前記無線デバイスが前記クラスタのリーダである間に実行される、請求項１３記載の方法。
【請求項１６】
前記侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐステップは、前記クラスタにおける他の無線デバイスに侵害されていることに応答して前記クラスタの新たなリーダを選択するよう指示するステップを含む、請求項１５記載の方法。
【請求項１７】
前記クラスタ内の侵害されている無線デバイスを検出するステップは、
疑わしい無線デバイスの通信を解析するステップと、
前記疑わしい無線デバイスの通信における異常を特定するステップと、
を含む、請求項１３記載の方法。
【請求項１８】
前記疑わしい無線デバイスの通信における異常を特定するステップは、機械学習アルゴリズムを利用するステップを含む、請求項１７記載の方法。
【請求項１９】
前記検出するステップは、前記疑わしい無線デバイスの記述された予想される動作からのずれの量、前記疑わしい無線デバイスの類似の無線デバイスとの近接性、他の無線デバイスを探索するための前記疑わしい無線デバイスによる試み、並びに前記疑わしい無線デバイス上でオープンなポートの数及びタイプの少なくとも１つに基づき、前記疑わしい無線デバイスの脅威レベルを計算するステップを含む、請求項１８記載の方法。
【請求項２０】
前記検出するステップは、前記疑わしい無線デバイスが前記疑わしい無線デバイスの計算された脅威レベルに基づき侵害されていると判断するステップを含む、請求項１９記載の方法。
【請求項２１】
前記クラスタのリーダは、前記クラスタにおける他の何れかの無線デバイスによって送信又は受信される全ての通信をプロキシ処理する、請求項１３記載の方法。
【請求項２２】
前記侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐステップは、前記侵害されている無線デバイスによって生成される通信を送信することを拒絶するステップを含む、請求項２１記載の方法。
【請求項２３】
前記侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐステップは、前記侵害されている無線デバイスに送信される通信を送信することを拒絶するステップを含む、請求項２１記載の方法。
【請求項２４】
マシーンによって実行されると、請求項１３乃至２３何れか一項記載の方法をマシーンに実行させるマシーン可読命令を含む少なくとも１つのマシーン可読媒体。
【請求項２５】
請求項１３乃至２３何れか一項記載の方法を実行する手段を有する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［優先権主張］
本国際出願は、参照することによってその全体がここに援用される、“ＣＯＯＰＥＲＡＴＩＶＥ  ＳＥＣＵＲＩＴＹ  ＩＮ  ＷＩＲＥＬＥＳＳ  ＳＥＮＳＯＲ  ＮＥＴＷＯＲＫＳ”という名称の２０１４年１２月１９日に出願された米国出願第１４／５７７，７６４号に対する優先権の利益を主張する。
［技術分野］
本開示は、一般に無線センサネットワークに関し、実施例では、無線センサネットワークにおける協調セキュリティに関する。
【背景技術】
【０００２】
無線センサネットワーク（ＷＳＮ）は、温度、気圧、流量、音圧等の物理又は環境状態を監視するセンサを備えた無線ノードのネットワークである。無線ノードは、それのセンサによって収集されたデータを宛先に送信する。一例では、無線ノードは、発信元の無線ノードよりも宛先に“より近い”（物理的又は論理的の何れか）別の無線ノードに渡すことができ、このプロセスが、データが宛先に配信されるまで続く。
【図面の簡単な説明】
【０００３】
いくつかの実施例は、添付した図面の図における限定なく例示的に示される。
【図１】図１は、実施例による無線センサネットワーク内で協調セキュリティに参加するよう構成される無線センサノードのブロック図である。
【図２】図２は、実施例による協調セキュリティを使用する無線センサネットワーク内の無線センサノードによって実行される処理を示すフローチャートである。
【図３】図３は、実施例による下流クラスタからの通信を解析する際に上流クラスタによって実行される処理を示すフローチャートである。
【図４】図４は、実施例によるクラスタ内の無線センサノードの動作を観察して、クラスタ内の無線センサノードに対する予想される動作のモデルを開発するための機械学習処理を示す図である。
【図５】図５は、１つ以上の例示的な実施例が実装されうるマシーンの具体例を示すブロック図である。
【発明を実施するための形態】
【０００４】
以下の詳細な説明では、説明のために、本開示の主題の様々な態様の完全な理解を提供するために、多数の特定の詳細が示される。しかしながら、本開示の主題がこれらの特定の詳細なしに実施されてもよいことは当業者に明らかであろう。他の具体例では、本開示の主題を不明瞭にしないために、周知の方法、手順及び構成要素については詳細には説明されない。
【０００５】
無線センサネットワークの使用は、製造、サプライチェーン及びエネルギー生産／流通などの産業設定を含む様々な用途において急速に増加している。さらに、無線センサネットワークの配備における無線センサノード（例えば、デバイス）の数は増加し続けている。いくつかの無線センサネットワークが数百又は数千の無線センサノードを有することは一般的である。無線センサノードの数が増加すると、（例えば、ウイルス、マルウェアなどによって）侵害された（ｃｏｍｐｒｏｍｉｓｅｄ）ノードを識別することは、ますます複雑になる。偽陽性を適時に管理しながら、侵害されたノードを正確に特定することは、大きな課題になる可能性がある。
【０００６】
無線センサノードの数が増加すると、無線センサネットワークの無線センサノードは、（１）バックエンド／集中化された設備によって消費される計算リソースを低減する、（２）ネットワークトラフィックを低減するためにデバイスの機能及び近接性の共通性を活用する、（３）偽陽性アラートを最小化するためのインテリジェントな方法で監視しうる。これらの目的は、分散された無線センサノードがネットワーク内のノードの予想される動作をパターン化し、予想される動作からの乖離に適切に反応することを可能にする協調セキュリティモデルによって満たされうる。
【０００７】
実施例では、無線センサノード（無線センサネットワークのエッジにあるノードを含む）は、協調的に動作して侵害されたノードを特定し、侵害されたノードからの上流又は下流にかかわらず、ネットワーク内の他の無線センサノードを侵害する機会を軽減する。無線センサノードは協調してクラスタに組織化し、各クラスタはリーダノードを選択する。リーダノードは、機械学習技術を利用して、当該クラスタ内のノードの予想される動作のモデルを作成し、それから予想される動作のモデルを使用して、クラスタ内のノードの観察された動作が当該ノードが侵害されていることを示すか決定する。リーダノードは、観測された動作と予想される動作とを比較し、これらの観測に基づき、そのクラスタ内の無線センサノードが侵害されていると判断する。そのクラスタ内の無線センサノードが侵害されていると判断すると、リーダは、侵害されているノードがクラスタ内の他のノードを侵害する能力を軽減する。
【０００８】
図１は、実施例による無線センサネットワーク内において協調セキュリティに参加するよう構成された（例えば、設定、設計、製造された）無線センサノード１０２のブロック図である。実施例では、無線センサノード１０２はセンサ１０４のセットを含む。実施例では、センサセット１０４は１つのセンサを含む。実施例では、センサ１０４は、温度、気圧、流量、音圧、ｐＨレベル、放射能などの１つ以上の物理及び／又は環境状態を監視するよう構成される。実施例では、センサセット１０４は複数のセンサを含み、それぞれが１つ以上の物理及び／又は環境状態を監視するよう構成され、いくつかは互いに異なっていてもよい。例えば、１つのセンサは温度を監視するよう構成され、別のセンサは流量を監視するよう構成される。
【０００９】
実施例では、無線センサノード１０２は、無線センサノード１０２がデータ送信（インバウンドとアウトバウンドの両方）に使用する少なくとも１つのアンテナ１１６を含む。実施例では、無線センサノード１０２は、センサ１０４によって収集されたデータを取得し、このデータをリアルタイム、実質的にほぼリアルタイム又はバッチモードで送信する。実施例では、無線センサノード１０２は、データを送信する前にセンサ１０４によって収集されたデータの一部を分析又は変換するよう構成される。実施例では、無線センサノード１０２は、データを送信する前に、センサ１０４によって収集されたデータを追加又は削除するよう構成される。実施例では、無線センサノード１０２は、センサ１０４によって収集されたデータの一部又は全部を送信することを選択的に拒否するよう構成される。
【００１０】
実施例では、無線センサノード１０２はクラスタリングモジュール１０６を含む。実施例では、無線センサノード１０２のクラスタリングノード１０６は、無線センサノード１０２を他の無線センサノード１０２と共にクラスタに編成するため、無線ネットワークにおける他の無線センサノード１０２と協調するよう構成される。実施例では、無線センサノード１０２のクラスタは、近接性（物理近接性、ネットワーク近接性及び／又は論理近接性）、無線センサノード１０２に含まれるセンサ１０４の種類、クラスタ内で作成されるべき冗長レベル、無線センサノード１０２等のハードウェア及び／又はソフトウェア能力、又はこれらの何らかの組合せに基づき形成されるよう構成される。
【００１１】
実施例では、無線センサノード１０２はリーダ選択モジュール１０８を含む。実施例では、無線センサノード１０２のリーダ選択モジュール１０８は、クラスタのリーダノードになるべきクラスタにおける無線センサノード１０２の１つを選択するため、クラスタにおける他の無線センサノード１０２のリーダ選択モジュール１０８と協調するよう構成される。
【００１２】
実施例では、無線センサノード１０２がそれのクラスタ内の無線センサノード１０２によってリーダノードとして選択されると、リーダノードは、クラスタ内の無線センサノード１０２から送受信されるべき全ての通信をプロキシ処理するよう構成される。リーダノードは、他のリーダノードが選択されるまで、及び／又はリーダノードが自らが侵害されたと判断するまで、クラスタ内外へ全ての通信をプロキシ処理し続ける。
【００１３】
実施例では、無線センサノード１０２は動作記述モジュール１１０を含む、実施例では、動作記述モジュール１１０は、無線センサノード１０２の予想される動作を記述するよう構成される。実施例では、動作記述モジュール１１０は、無線センサノード１０２によって送受信される１つ以上のデータパラメータを記述することによって、無線センサノード１０２の予想される動作を記述するよう構成される。データパラメータは、センサ１０４によって収集されたデータサンプル、センサ１０４によって収集されて無線センサノード１０２によって生成された（例えば、数値とＵ．Ｓ．／Ｉｍｐｅｒｉａｌ値との変換）データサンプル、無線センサノード１０２により生成されたデータ（例えば、ノードＩＤ、アップタイム、ＧＰＳ座標など）又は無線センサノード１０２が受信すると予想されるデータ（例えば、クラスタＩＤ、クラスタのリーダノードからの処理命令など）であってもよい。
【００１４】
実施例では、データパラメータは、パラメータの名前、パラメータのデータタイプ（例えば、日付、時刻、整数、日時、ロング、ダブルなど）及びパラメータの有効範囲を含む。実施例では、当該範囲は、パラメータについて許容されるデータタイプの最小値を示すボトム値（例えば、−１００）と、パラメータについて許容されるデータタイプの最大値を示すトップ値（例えば、３０００）とによって示される。実施例では、動作記述モジュール１１０は、XML（Extensible  Markup  Language）、JSON（JavaScript（登録商標）  Object  Notation）、YAML（YAML  Ain’t  Markup  Language）又は他のいくつかのデータ表現を使用して、無線センサノード１０２の予想される動作を記述するよう構成される。実施例では、無線センサノード１０２の予想される動作の記述は信頼される第三者からのデジタル署名を含む。実施例では、デジタル署名は、無線センサノード１０２の予想される動作の記述が修正又は損傷されていないことを検証するために使用される。実施例では、無線センサノード１０２の動作記述モジュール１１０は、無線センサノード１０２が配置された後に設定可能になるよう構成される。実施例では、無線センサノード１０２の動作記述モジュール１１０は、無線センサノード１０２が動作している間に設定可能であるよう構成される。実施例では、無線センサノード１０２の動作記述モジュール１１０は、無線センサノード１０２の新たな予想される動作を記述するために、更新された又は新しいデータパラメータの記述によって設定可能になるよう構成される。
【００１５】
実施例では、動作記述モジュール１１０は、それの予想される動作の記述を他の無線センサノード１０２にブロードキャストするよう構成される。実施例では、当該ブロードキャストは、クラスタ内の他の無線センサノード１０２にのみ向けられる。実施例では、動作記述モジュール１１０は、アプリケーションプログラミングインタフェース（ＡＰＩ）を介し予想される動作の記述を提供するよう構成される。実施例では、クラスタ内の他の無線センサノード１０２のみが、クラスタ内の別の無線センサノード１０２のＡＰＩにアクセスするか、又はそれからデータの受信成功をすることができる。
【００１６】
実施例では、無線センサノード１０２及び／又は１つ以上のセンサ１０４は設定可能である。このような実施例では、動作記述モジュール１１０はまた、無線センサノード１０２及び／又は１つ以上のセンサ１０４の新しい設定の予想される動作を反映するよう設定可能である。
【００１７】
実施例では、無線センサノード１０２は動作観察モジュール１１２を含む。実施例では、動作観察モジュール１１２は、無線センサノード１０２が無線センサノード１０２のそれのクラスタのリーダノードであるときにのみ動作するよう構成される。
【００１８】
実施例では、動作観察モジュール１１２は、クラスタ内の各無線センサノード１０２の予想される動作の記述を受信し、クラスタ内の無線センサノード１０２の動作（例えば、通信）を観察し、予想される動作と観察された動作とを比較することによって、疑わしい無線センサノード１０２の通信における異常を特定することによって、クラスタ内の侵害された無線センサノード１０２を検出するよう構成される。
【００１９】
実施例では、動作観察モジュール１１２は、疑わしい無線センサノード１０２の通信における異常を特定するため、１つ以上の機械学習アルゴリズムを利用する。機械学習アルゴリズムは、無線センサノード１０２の通信の解析において１つ以上の統計モデル（例えば、トピックモデル）を利用する。機械学習アルゴリズムによって使用されるいくつかの統計モデルは、限定することなく、解析された無線センサノード１０２の予想される動作の記述からの逸脱の量又は程度、解析された無線センサノード１０２と類似の無線センサノード１０２との近接性、他の無線センサノード１０２を探索しようとする解析された無線センサノード１０２による試みの数及び／又は性質、並びに解析された無線センサノード１０２上でオープン又はクローズされるポートの数とタイプを含む。
【００２０】
実施例では、動作観察モジュール１１２は、限定することなく、解析された無線センサノード１０２の予想される動作の記述からの逸脱の量又は程度、解析された無線センサノード１０２と類似の無線センサノード１０２との近接性、他の無線センサノード１０２を探索しようとする解析された無線センサノード１０２による試みの数及び／又は性質、並びに解析された無線センサノード１０２上でオープン又はクローズされるポートの数とタイプを含む複数のファクタの少なくとも１つを重み付けすることによって、解析された無線センサノード１０２の脅威レベルを計算するよう構成される。実施例では、脅威レベルは、単純なバイナリ（例えば、侵害された又は侵害されていない）ではなく、可変的スケールで測定される。実施例では、動作観察モジュール１１２は、解析された無線センサノード１０２が解析された無線センサノード１０２の計算された脅威レベルに基づき侵害されたと判定する。
【００２１】
実施例では、無線センサノード１０２は軽減モジュール１１４を含む。実施例では、軽減モジュール１１４は、侵害された無線センサノード１０２がクラスタ内の他の無線センサノード１０２を侵害するのを防ぐよう構成される。実施例では、軽減モジュール４は、無線センサノード１０２が無線センサノード１０２のクラスタのリーダノードであるときにのみ動作するよう構成される。
【００２２】
実施例では、軽減モジュール１１４は、侵害された無線センサノード１０２に送信又は生成された一部又は全ての通信を送信することを拒絶することによって、侵害された無線センサノード１０２が、クラスタ内の他の無線センサノード１０２を侵害することを防ぐよう構成される。実施例では、軽減モジュール１１４は、侵害された無線センサノード１０２に非侵害状態にリセット（例えば、工場リセット）させることによって、侵害された無線センサノード１０２がクラスタ内の他の無線センサノード１０２を侵害するのを防ぐよう構成される。
【００２３】
実施例では、侵害されていると判定された疑いのある無線センサノード１０２は、定期的に再評価されてもよい。一例では、当該再評価は第三者エンティティデバイスによって行われてもよい。そのような再評価は、疑わしい無線センサノード１０２が侵害されているか標準的な脅威検出機構を介し確かめてもよい。疑わしい無線センサノード１０２が再評価をパスした場合、異常な動作は、例えば、変化した状態に基づく適切な緊急的な動作に起因する可能性がある。
【００２４】
実施例では、侵害されていると判定された疑いのある無線センサノード１０２は、この判定に反対することができる。実施例では、疑わしい無線センサノード１０２による異論は、証明処理をトリガする。実施例では、証明処理は、クラスタのリーダノードが疑わしい無線センサノード１０２の予想される動作の現在の記述を要求し、疑わしい無線センサノード１０２の予想される動作の現在の記述と疑わしい無線センサノード１０２の予想される動作の以前の記述とを比較し、予想される動作の現在の記述と以前の記述との間に相違が検出された場合、リーダノードは、予想される動作の現在の記述に対して疑わしい無線センサノード１０２の動作を再解析する（潜在的な無線センサノード１０２が侵害されたという決定につながる）ことを含む。実施例では、疑わしい無線センサノード１０２の動作の再解析によって疑わしい無線センサノード１０２が侵害されていないという判定が得られた場合、軽減モジュール１１４は、それの“侵害されている”状態の疑わしい無線センサノード１０２をクリアし、疑わしい無線センサノード１０２が動作を継続することを可能にする。
【００２５】
図２は、いくつかの例示的な実施例による協調セキュリティを使用する無線センサネットワーク内の無線センサノード（例えば、図１に関して上述した無線センサノード１０２）によって実行される処理２００を示すフローチャートである。実施例では、無線センサノード１０２は、無線ネットワーク内の他の無線センサノード１０２と協調することによって、（自らを含む）無線センサノード１０２のクラスタを編成する（処理２０２）。
【００２６】
実施例では、無線センサノード１０２は、クラスタ内の他の無線センサノード１０２と協調して、クラスタのリーダノードを選択する（処理２０４）。
【００２７】
実施例では、無線センサノード１０２は、無線センサノード１０２に対して予想される動作を記述し、その動作記述をそれのクラスタ内の他の無線センサノード１０２に利用可能にする（処理２０６）。
【００２８】
無線センサノード１０２がそれのクラスタのリーダノードである実施例では、無線センサノード１０２は、それのクラスタ内の他の無線センサノード１０２の実際の動作を分析し、無線センサノード１０２の実際の動作と無線センサノード１０２の予想される動作の記述とを比較することによって、侵害されている無線センサノード１０２を検出する（処理２０８）。
【００２９】
無線センサノード１０２がそれのクラスタのリーダノードである実施例では、無線センサノード１０２は、侵害されている無線センサノード１０２がそれのクラスタ内の他の無線センサノード１０２を侵害するのを防ぐ（処理２１０）。
【００３０】
図３は、いくつかの例示的な実施形態による下流クラスタからの通信を分析する際に上流クラスタによって実行される処理３００を示すフローチャートである。上流のクラスタ（例えば、データが送信される宛先により近いクラスタ）は、下流のクラスタ（例えば、データが送信される宛先から更に離れたクラスタ）よりも階層において“より上位”である。無線センサノード１０２がそれのクラスタのリーダノードである実施例では、無線センサノード１０２は、クラスタに対する“クラスタ内”ヘルスチェックを、それの近傍クラスタとそれのクラスタ内のノードの予想される動作の記述を共有することによって実行する。その後、近傍クラスタは、クラスタの実際の動作を分析し、クラスタの実際の動作とクラスタの予想される動作の記述とを比較することによって、自身のクラスタ内のリーダノードによって実行される“クラスタ内”ヘルスチェックと同様に、クラスタを侵害されていると検出する。近傍クラスタがクラスタを侵害されていると決定した場合、近傍クラスタは、それ自身のクラスタ内のリーダノードによって実行される“クラスタ内”軽減と同様に、“クラスタ間”軽減を実行する。
【００３１】
実施例では、無線ネットワーク内の無線センサノード１０２のクラスタは、無線センサノード１０２が自らをクラスタに編成するのと同じ方法で、自らを“クラスタのクラスタ”又は“スーパークラスタ”に編成する。実施例では、クラスタのリーダノードのクラスタリングモジュール１０６及びリーダ選択モジュール１０８は、他のクラスタのリーダノードのクラスタリングモジュール１０６及びリーダ選択モジュール１０８と協調して、クラスタのクラスタに編成する。実施例では、当該処理は、スーパークラスタが他のクラスタ又は他のスーパークラスタによって編成して、より大きなスーパークラスタを形成するという点で再帰的である。
【００３２】
実施例では、クラスタは階層的に編成される。例えば、クラスタ階層はツリーベース、線形又はそれらの何らかの組合せであってもよい。実施例では、クラスタは、１つ以上の下流クラスタ及び１つ以上の上流クラスタとの通信に限定される。実施例では、ＡＲＰテーブルによるＭＡＣ／ＶＬＡＮフィルタリングが、クラスタの通信をそれの割り当てられた上流クラスタ及び下流クラスタに制限するのに利用される。
【００３３】
実施例では、上流クラスタは、下流クラスタからの通信を分析する処理３００を開始する（処理３０２）。実施例では、上流クラスタは、下流クラスタから、下流クラスタの実際の動作を含むデータペイロードを取得する（処理３０４）。
【００３４】
実施例では、上流クラスタは、下流クラスタの予想される動作の現在の記述を取得する（処理３０６）。実施例では、上流クラスタは、下流クラスタの予想される動作の以前の記述を取得する（処理３０８）。実施例では、上流クラスタは、（処理３０６において取得された）下流クラスタの予想される動作の現在の記述が、（処理３０８において取得された）下流クラスタの予想される動作の以前の記述と一致するか判定する（処理３１０）。
【００３５】
下流クラスタの予想される動作の現在の記述が、下流クラスタの予想される動作の以前の記述と一致する場合、上流クラスタは、（処理３０４において取得された）データペイロードを分析することに進む（処理３１２）。実施例では、上流クラスタは、データペイロードを分析するため、１つ以上の機械学習アルゴリズム３３０を利用する。実施例では、上流クラスタは、データペイロードが動作異常を含むか判定する（処理３１４）。実施例では、データペイロードに異常が存在する場合、上流クラスタは、下流クラスタが侵害されたとみなし、侵害されている下流クラスタを軽減し（処理３１６）、当該処理３００を再開する（処理３２２）。実施例では、下流クラスタを軽減することは、下流クラスタに自らを非侵害状態にリセットさせることを含む（例えば、下流クラスタの各クラスタ及び各無線センサノード１０２は、非侵害状態に強制的にリセットされる）。実施例では、異常がデータペイロードに存在しない場合、上流クラスタはデータペイロードを受け入れ、データペイロードをそれの上流クラスタに渡す。
【００３６】
実施例では、上流クラスタが、下流クラスタの予想される動作の現在の記述が下流クラスタの予想される動作の以前の記述に一致しないと判断した場合（処理３１０）、上流クラスタは、予想される動作の現在の記述の変更のタイプを決定する（処理３２０）。実施例では、変更のタイプがデータ境界変更（例えば、データパラメータの範囲値が変更された）である場合、上流クラスタは、下流クラスタの予想される動作の現在の記述を格納させ、データペイロードを受け入れ、データペイロードをそれの上流クラスタに渡し（処理３１８）、処理３００を再開する（処理３２２）。実施例では、変更のタイプが下流クラスタのポート動作に関する場合、上流クラスタは、下流クラスタを侵害されているとみなし、侵害されている下流クラスタを軽減し（処理３１６）、処理３００を再開する（処理３２２）。
【００３７】
異常及び脅威検出のための追加のアプローチは、ロックステップ投票（ｌｏｃｋｓｔｅｐ  ｖｏｔｉｎｇ）を利用することである。例えば、２イン３ロックステップ投票では、３つのクラスタのリーダはそれらのデータと投票とを比較する。２つのクラスタのみからの測定値が類似している場合、第３のクラスタは異常を有すると判定される。それから、異常を有するクラスタは、他の２つのクラスタによって監視され、当該異常が１回限りのエラーであるか、又は侵害されているクラスタを表しているか判断する。いくつかのこのような実施例では、各クラスタの基数（例えば、ノードの数）は、そのような機能を可能にする少量のノードに限定される。実施例では、投票は、３つ全てのクラスタが他の２つのクラスタからデータを受信し、測定結果を計算し、それからそれらの検出結果を交換することによって実行され、一致する２つのクラスタは、その後、上流クラスタに報告することが可能とされる。
【００３８】
図４は、いくつかの例示的な実施例によるクラスタ４０２内の無線センサノード１０２の予想される動作のモデルを開発するため、クラスタ４０２内の無線センサノード１０２の動作を観察する機械学習処理４００の図である。
【００３９】
実施例では、クラスタ４０２内の無線センサノード１０がリーダノードであるとき、無線センサノード１０２内の機械学習アルゴリズム３３０はトレーニングモード４０４に入る。実施例では、機械学習アルゴリズム３３０は、それのクラスタ内の無線センサノード１０２から予想される動作の記述を取得する（処理４０６）。実施例では、機械学習アルゴリズム３３０は、それのクラスタ内の各無線センサノード１０２との間で送信されたデータを格納することによって、それのクラスタ内の各無線センサノード１０２のネットワーク動作を観察する（処理４０８）。
【００４０】
実施例では、機械学習アルゴリズム３３０は、（処理４０６において取得された）予想される動作の記述と（処理４０８において取得された）記憶されたデータ送信に対してデータ解析（処理４１０）を実行することに進む。実施例では、データ解析（処理４１０）は、格納されたデータ送信からのサンプルの分類（処理４１２）を含む。実施例では、機械学習アルゴリズム３３０は、それのデータ解析において１つ以上の統計モデル４１４を利用する。機械学習アルゴリズムによって使用されるいくつかの統計モデルは、限定されることなく、解析された無線センサノード１０２のデータ伝送が解析された無線センサノード１０２の予想される動作の記述から逸脱する量又は程度、解析された無線センサノード１０２と同様の無線センサノード１０２との近接性、他の無線センサノード１０２を探索するため解析された無線センサノード１０２による試行の数及び／又は性質、解析された無線センサノード１０２上のオープン又はクローズされているポートの数及びタイプ、並びに解析された無線センサノード１０２の電力リサイクルを含む。
【００４１】
実施例では、データ解析（処理４１０）が完了した後、機械学習アルゴリズム３３０は、データ解析によって出力された範囲境界を記憶し（処理４１６）、トレーニングモード４０４を終了する。
【００４２】
図５は、ここで説明される技術（例えば、方法論）の何れか１つ以上が実行しうる例示的なマシーン５００のブロック図を示す。実施例では、マシーン５００は他のマシーンに接続される（例えば、ネットワーク接続される）。ネットワーク展開では、マシーン５００は、サーバ−クライアントネットワーク環境におけるサーバマシーン、クライアントマシーン又はクライアントマシーンとサーバマシーンとの両方の能力において動作しうる。実施例では、マシーン５００はピア・ツー・ピア（Ｐ２Ｐ）（又は他の分散）ネットワーク環境におけるピアマシーンとして動作する。実施例では、マシーン５００は、ネットワークルータ、スイッチ若しくはブリッジ又は当該マシーンがとるべき動作を指定する命令（シーケンシャル又はその他）を実行可能な何れかのマシーンである。さらに、単一のマシーンしか示されていないが、“マシーン”という用語は、クラウドコンピューティング、ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）、他のコンピュータクラスタ構成など、ここで説明される方法の何れか１つ以上を実行するための命令のセット（又は複数のセット）を個別又は結合して実行する何れかのマシーンの集合を含むとされる。
【００４３】
ここで説明される具体例は、論理又は多数の構成要素又は機構を含むか、又はそれらによって動作してもよい。回路セットは、ハードウェア（例えば、単純な回路、ゲート、ロジックなど）を含む有形のエンティティにおいて実現される回路の集合である。回路セットのメンバーシップは、時間の経過とともにフレキシブルであり、基礎となるハードウェア可変性であってもよい。回路セットは、動作時に指定された動作を単独又は組み合わせて実行しうるメンバを含む。一例では、回路セットのハードウェアは、特定の処理を実行するように不変的に設計されてもよい（例えば、配線化）。一例では、回路セットのハードウェアは、特定の処理の命令を符号化するよう物理的に変更されたマシーン可読媒体（例えば、磁気的、電気的、不変の質量の粒子の移動可能な配置）を含む可変的に接続された物理的構成要素（例えば、実行ユニット、トランジスタ、シンプルな回路など）を含むものであってもよい。物理的構成要素の接続において、ハードウェア構成要素の基礎となる電気的特性は、例えば、絶縁体から導体へ、またはその逆に変更される。命令は、組み込みハードウェア（例えば、実行ユニット又はローディング機構）が、動作中に特定の処理の部分を実行するために、可変的接続を介してハードウェアにおける回路セットのメンバを作成することを可能にする。従って、マシーン可読媒体は、デバイスが動作しているときに回路セットのメンバの他の構成要素に通信可能に結合される。一例では、物理的構成要素のいずれかが、複数の回路セットの複数の構成要素において使用されてもよい。例えば、動作中、実行ユニットは、ある時点で第１の回路セットの第１の回路において使用され、異なる時点において第１の回路セットの第２の回路又は第２の回路セットの第３の回路によって再利用されてもよい。
【００４４】
マシーン（例えば、コンピュータシステム）５００は、ハードウェアプロセッサ５０２（例えば、中央処理ユニット（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）、ハードウェアプロセッサコア又はこれらの何れかの組み合わせ）、メインメモリ５０４及びスタティックメモリ５０６を含むものであってもよく、これらの一部又は全てが、インターリンク（例えば、バス）５０８を介し互いに通信可能である。マシーン５００は更に、ディスプレイデバイス５１０、入力デバイス５１２（例えば、ボタン、スイッチ、キーボードなど）及びユーザインターフェース（ＵＩ）ナビゲーションデバイス５１４（例えば、ポインティングスティック、アイソメトリックジョイスティック又は他のアイソメトリックデバイスなど）を含んでもよい。実施例では、ディスプレイデバイス５１０、入力デバイス５１２及びＵＩナビゲーションデバイス５１４は、タッチスクリーンディスプレイであってもよい。マシーン５００は更に、記憶装置（例えば、ドライブユニット）５１６、信号生成デバイス５１８（例えば、スピーカ）、ネットワークインタフェースデバイス５２０及びグローバルポジショニングシステム（ＧＰＳ）センサ、コンパス、加速度計又は他のセンサなどの１つ以上のセンサ５２１を含むものであってもよい。マシーン５００は、１つ以上の周辺デバイス（例えば、プリンタ、カードリーダなど）を制御又は通信するため、シリアル（例えば、ユニバーサルシリアルバス（ＵＳＢ）、パラレル又は他の有線若しくは無線（例えば、赤外線（ＩＲ）、近距離通信（ＮＦＣ）など）接続などの出力コントローラ５２８を含むものであってもよい。
【００４５】
記憶デバイス５１６は、ここに説明される技術又は機能の何れか１つ以上を利用するか、又は利用されるデータ構造又は命令５２４（例えば、ソフトウェア）の１つ以上のセットが記憶されるマシーン可読媒体５２２を含むものであってもよい。命令５２４はまた、マシーン５００による実行中、メインメモリ５０４内、スタティックメモリ５０６内又はハードウェアプロセッサ５０２内に完全に又は少なくとも部分的に配置されてもよい。一例では、ハードウェアプロセッサ５０２、メインメモリ５０４、スタティックメモリ５０６又は記憶デバイス５１６の１つ又は何れかの組み合わせが、マシーン可読媒体を構成してもよい。
【００４６】
マシーン可読媒体５２２は単一の媒体として示されているが、“マシーン可読媒体”という用語は、１つ以上の命令を記憶するよう構成される単一の媒体又は複数の媒体（例えば、集中化又は分散化されたデータベース及び／又は関連するキャッシュ及びサーバ）を含むものであってもよい。
【００４７】
“マシーン可読媒体”という用語は、マシーン５００による実行のための命令を格納、符号化又は担持することが可能であって、マシーン５００に本開示の技術のいずれか１つ以上を実行させるか、又はそのような命令によって使用されるか、又は関連するデータ構造を格納、符号化又は担持することが可能である何れかの媒体を含むものであってもよい。非限定的なマシーン可読媒体の例は、ソリッドステートメモリ、光及び磁気媒体を含むことができる。一例では、質量を有するマシーン可読媒体は、不変（例えば、静止）質量を有する複数の粒子を有するマシーン可読媒体を含む。従って、質量のあるマシーン可読媒体は、一時的な伝搬信号ではない。質量のあるマシーン可読媒体の特定の例は、例えば、半導体メモリデバイス（例えば、電気的にプログラム可能な読み出し専用メモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ））及びフラッシュメモリデバイスなどの不揮発性メモリ、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク及びＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを含むものであってもよい。
【００４８】
命令５２４は更に、複数の伝送プロトコル（例えば、フレームリレー、インターネットプロトコル（ＩＰ）、送信制御プロトコル（ＴＣＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）など）の何れか１つを利用して、ネットワークインタフェースデバイス５２０を介し送信媒体を用いて通信ネットワーク５２６を介し送信又は受信されてもよい。例示的な通信ネットワークは、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、パケットデータネットワーク（例えば、インターネット）、携帯電話ネットワーク（例えば、セルラネットワーク）、ＰＯＴＳ（Ｐｌａｉｎ  Ｏｌｄ  Ｔｅｌｅｐｈｏｎｅ）ネットワーク、無線データネットワーク（例えば、Ｗｉ−Ｆｉ（登録商標）として知られるＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）  ８０２．１１規格ファミリ、ＷｉＭＡＸ（登録商標）として知られるＩＥＥＥ  ８０２．１６規格ファミリ）、ＩＥＥＥ  ８０２．１５．４規格ファミリ、ＩＥＥＥ  ８０２．１５．１規格ファミリ（Ｂｌｕｅｔｏｏｔｈ（登録商標）として知られる）、ピア・ツー・ピア（Ｐ２Ｐ）ネットワークを含むものであってもよい。実施例では、ネットワークインタフェースデバイス５２０は、通信ネットワーク５２６に接続するための１つ以上の物理ジャック（例えば、イーサネット（登録商標）、同軸又は電話ジャック）及び／又は１つ以上のアンテナを含むことができる。一例では、ネットワークインタフェースデバイス５２０は、ＳＩＭＯ（Ｓｉｎｇｌｅ−Ｉｎｐｕｔ  Ｍｕｌｔｉｐｌｅ−Ｏｕｔｐｕｔ）、ＭＩＭＯ（Ｍｕｌｔｉｐｌｅ−Ｉｎｐｕｔ  Ｍｕｌｔｉｐｌｅ−Ｏｕｔｐｕｔ）又はＭＩＳＯ（Ｍｕｌｔｉｐｌｅ−Ｉｎｐｕｔ  Ｓｉｎｇｌｅ−Ｏｕｔｐｕｔ）技術の少なくとも１つを用いて無線通信するための複数のアンテナを含むものであってもよい。“伝送媒体”という用語は、マシーン５００による実行のための命令を記憶、符号化又は担持することが可能な何れかの無形媒体を含むとされ、また、このようなソフトウェアの通信を実現するデジタル又はアナログ通信信号又は他の無形媒体を含む。
【００４９】
ここに説明される例示的方法の様々な処理は、（例えば、ソフトウェア命令によって）一時的に配置されるか、又は関連する処理を実行するように恒久的に配置される１つ以上のプロセッサによって少なくとも部分的に実行されうる。一時的又は恒久的に配置されるかにかかわらず、そのようなプロセッサは、１つ以上の処理又は機能を実行するように動作するプロセッサにより実現されるモジュール又はオブジェクトを構成しうる。いくつかの例示的な実施例では、ここで言及されるモジュール及びオブジェクトは、プロセッサによって実現されるモジュール及び／又はオブジェクトを有してもよい。
【００５０】
同様に、ここに説明される方法は、少なくとも部分的にプロセッサによって実現されてもよい。例えば、方法の処理の少なくとも一部は、１つ以上のプロセッサ又はプロセッサにより実現されるモジュールによって実行されてもよい。特定の処理の実行は、単一のマシーン又はコンピュータ内に存在するだけでなく、多数のマシーン又はコンピュータにわたって展開される１つ以上のプロセッサに分散されてもよい。いくつかの例示的な実施例では、１つ以上のプロセッサは、単一の場所（例えば、家庭環境、オフィス環境、サーバファームなど）に配置されてもよく、他の実施例では、プロセッサは複数の場所に分散されてもよい。
【００５１】
１つ以上のプロセッサはまた、“クラウドコンピューティング”環境又はＳａａＳとしてのソフトウェアのコンテキスト内で関連する処理の実行をサポートするように動作することもできる。例えば、処理の少なくとも一部は、コンピュータのグループ（プロセッサを含むマシーンの具体例として）によって実行されてもよく、これらの処理は、ネットワーク（例えば、インターネット）を介して、また１つ以上の適切なインタフェース（例えば、アプリケーションプログラムインターフェイス（ＡＰＩ））を介しアクセス可能である。
【００５２】
追加の留意点及び例示的な実施例
具体例１は、データを取得するセンサと、無線ネットワークにおける複数の無線デバイスからの他の無線デバイスと共に無線デバイスをクラスタに編成するクラスタリングモジュールと、クラスタのリーダを選択するため、クラスタにおける他の無線デバイスと協調するリーダ選択モジュールと、無線デバイスの予想される動作を記述する動作記述モジュールと、クラスタ内の侵害されている無線デバイスを検出する動作観察モジュールと、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐ軽減モジュールとを有する主題（デバイス、装置又はマシーンなど）を含む。
【００５３】
具体例２では、具体例１の主題は、無線デバイスの動作観察モジュールは、無線デバイスがクラスタのリーダである間を検出することを含むものであってもよい。
【００５４】
具体例３では、具体例１〜２の何れか１つの主題は、無線デバイスの軽減モジュールは、無線デバイスがクラスタのリーダである間に、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐことを含むものであってもよい。
【００５５】
具体例４では、具体例１〜３の何れか１つの主題は、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐことは、軽減モジュールが、クラスタにおける他の無線デバイスに侵害されていることに応答してクラスタの新たなリーダを選択するよう指示することを含むことを含むものであってもよい。
【００５６】
具体例５では、具体例１〜４の何れか１つの主題は、侵害されている無線デバイスを検出することは、動作観察モジュールが、疑わしい無線デバイスの通信を解析し、疑わしい無線デバイスの通信における異常を特定することを含むことを含むものであってもよい。
【００５７】
具体例６では、具体例１〜５の何れか１つの主題は、疑わしい無線デバイスの通信における異常を特定することは、動作観察モジュールが、機械学習アルゴリズムを利用することを含むことを含むものであってもよい。
【００５８】
具体例７では、具体例１〜６の何れか１つの主題は、動作観察モジュールは、疑わしい無線デバイスの記述された予想される動作からのずれの量、疑わしい無線デバイスの類似の無線デバイスとの近接性、他の無線デバイスを探索するための疑わしい無線デバイスによる試み、並びに疑わしい無線デバイス上でオープンなポートの数及びタイプの少なくとも１つに基づき、疑わしい無線デバイスの脅威レベルを計算することを含むものであってもよい。
【００５９】
具体例８では、具体例１〜７の何れか１つの主題は、動作観察モジュールは、疑わしい無線デバイスの計算された脅威レベルに基づき、疑わしい無線デバイスを侵害されていると判断することを含むものであってもよい。
【００６０】
具体例９では、具体例１〜８の何れか１つの主題は、クラスタのリーダは、クラスタにおける何れか他の無線デバイスによって送信又は受信される全ての通信をプロキシ処理することを含むものであってもよい。
【００６１】
具体例１０では、具体例１〜９の何れか１つの主題は、無線デバイスの軽減モジュールは、侵害されている無線デバイスによって生成される通信を送信することを拒絶することによって、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐことを含むものであってもよい。
【００６２】
具体例１１では、具体例１〜１０の何れか１つの主題は、無線デバイスの軽減モジュールは、侵害されている無線デバイスに送信される通信を送信することを拒絶することによって、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐことを含むものであってもよい。
【００６３】
具体例１２では、具体例１〜１１の何れか１つの主題は、無線デバイスの軽減モジュールは、侵害されている無線デバイスに非侵害状態に強制的に自らをリセットさせることによって、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐことを含むものであってもよい。
【００６４】
具体例１３では、具体例１〜１２の何れか１つの主題は、クラスタが同様のタイプの無線デバイスを含むことを含むものであってもよい。
【００６５】
具体例１４では、具体例１〜１３の何れか１つの主題は、クラスタにおける無線デバイスは冗長であることを含むものであってもよい。
【００６６】
具体例１５では、具体例１〜１４の何れか１つの主題は、複数の無線デバイスが複数のクラスタに編成されることを含むものであってもよい。
【００６７】
具体例１６では、具体例１〜１５の何れか１つの主題は、各クラスタは、それの近傍クラスタとそれの記述された予想される動作及びそれのセンサデータを共有することによってヘルスチェックを実行することを含むものであってもよい。
【００６８】
具体例１７では、具体例１〜１６の何れか１つの主題は、複数のクラスタ内のクラスタのサブセットがクラスタのクラスタに編成されることを含むものであってもよい。
【００６９】
具体例１８では、具体例１〜１７の何れか１つの主題は、複数のクラスタ内の選択されたクラスタが、選択されたクラスタと複数のクラスタからの他のクラスタとを組み合わせることによって、スーパークラスタを生成し、スーパークラスタのリーダクラスタを選択するため、スーパークラスタにおける他のクラスタと協調し、選択されたクラスタの予想される動作を記述し、スーパークラスタ内の侵害されているクラスタを検出し、侵害されているクラスタが他のクラスタを侵害することを防ぐことを含むものであってもよい。
【００７０】
具体例１９では、具体例１〜１８の何れか１つの主題は、複数のクラスタが階層的に編成されることを含むものであってもよい。
【００７１】
具体例２０では、具体例１〜１９の何れか１つの主題は、上流クラスタが下流クラスタより階層的に上位にあることを含むものであってもよい。
【００７２】
具体例２１では、具体例１〜２０の何れか１つの主題は、動作記述モジュールは、ＸＭＬを利用して無線デバイスの予想される動作を記述することを含むものであってもよい。
【００７３】
具体例２２では、具体例１〜２１の何れか１つの主題は、動作記述モジュールは、無線デバイスの記述された予想される動作をブロードキャストすることを含むものであってもよい。
【００７４】
具体例２３では、具体例１〜２２の何れか１つの主題は、動作記述モジュールは、アプリケーションプログラミングインタフェースを介し無線デバイスの記述された予想される動作を提供することを含むものであってもよい。
【００７５】
具体例２４では、具体例１〜２３の何れか１つの主題は、動作記述モジュールは、無線デバイスによって送信又は受信されるパラメータを記述することによって、無線デバイスの予想される動作を記述し、パラメータは、名前、データタイプ及びパラメータに余興されるデータタイプの最小値を示すボトム値と、パラメータに許容されるデータタイプの最大値を示すトップ値とを含む範囲であることを含むものであってもよい。
【００７６】
具体例２５では、具体例１〜２４の何れか１つの主題は、無線デバイスはエンドカスタマによって設定可能であることを含むものであってもよい。
【００７７】
具体例２６は、複数の無線デバイスを有する無線センサネットワークをセキュアにするための主題であって（方法、処理を実行する手段、マシーンにより実行されると、マシーンに処理を実行させる命令を含むマシーン可読媒体又は実行する装置など）、当該方法は、複数の無線デバイスの無線デバイスによって実行され、複数の無線デバイスからの他の無線デバイスと共に無線デバイスをクラスタに編成するステップと、クラスタのリーダを選択するため、クラスタにおける他の無線デバイスと協調するステップと、無線デバイスの予想される動作を記述するステップと、クラスタ内の侵害されている無線デバイスを検出するステップと、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐステップとを有する主題を含む。
【００７８】
具体例２７では、具体例２６の主題は、検出するステップは、無線デバイスがクラスタのリーダである間に実行されることを含むものであってもよい。
【００７９】
具体例２８では、具体例２６〜２７の何れか１つの主題は、防ぐステップは、無線デバイスがクラスタのリーダである間に実行されることを含むものであってもよい。
【００８０】
具体例２９では、具体例２６〜２８の何れか１つの主題は、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐステップは、クラスタにおける他の無線デバイスに侵害されていることに応答してクラスタの新たなリーダを選択するよう指示するステップを含むことを含むものであってもよい。
【００８１】
具体例３０では、具体例２６〜２９の何れか１つの主題は、クラスタ内の侵害されている無線デバイスを検出するステップは、疑わしい無線デバイスの通信を解析するステップと、疑わしい無線デバイスの通信における異常を特定するステップとを含むことを含むものであってもよい。
【００８２】
具体例３１では、具体例２６〜３０の何れか１つの主題は、疑わしい無線デバイスの通信における異常を特定するステップは、機械学習アルゴリズムを利用するステップを含むことを含むものであってもよい。
【００８３】
具体例３２では、具体例２６〜３１の何れか１つの主題は、検出するステップは、疑わしい無線デバイスの記述された予想される動作からのずれの量、疑わしい無線デバイスの類似の無線デバイスとの近接性、他の無線デバイスを探索するための疑わしい無線デバイスによる試み、並びに疑わしい無線デバイス上でオープンなポートの数及びタイプの少なくとも１つに基づき、疑わしい無線デバイスの脅威レベルを計算するステップを含むことを含むものであってもよい。
【００８４】
具体例３３では、具体例２６〜３２の何れか１つの主題は、検出するステップは、疑わしい無線デバイスが疑わしい無線デバイスの計算された脅威レベルに基づき侵害されていると判断するステップを含むことを含むものであってもよい。
【００８５】
具体例３４では、具体例２６〜３３の何れか１つの主題は、クラスタのリーダは、クラスタにおける他の何れかの無線デバイスによって送信又は受信される全ての通信をプロキシ処理することを含むものであってもよい。
【００８６】
具体例３５では、具体例２６〜３４の何れか１つの主題は、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐステップは、侵害されている無線デバイスによって生成される通信を送信することを拒絶するステップを含むことを含むものであってもよい。
【００８７】
具体例３６では、具体例２６〜３５の何れか１つの主題は、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐステップは、侵害されている無線デバイスに送信される通信を送信することを拒絶するステップを含むことを含むものであってもよい。
【００８８】
具体例３７では、具体例２６〜３６の何れか１つの主題は、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐステップは、侵害されている無線デバイスに非侵害状態に強制的に自らをリセットさせることを含むものであってもよい。
【００８９】
具体例３８では、具体例２６〜３７の何れか１つの主題は、クラスタが同様のタイプの無線デバイスを含むことを含むものであってもよい。
【００９０】
具体例３９では、具体例２６〜３８の何れか１つの主題は、クラスタにおける無線デバイスは冗長であることを含むものであってもよい。
【００９１】
具体例４０では、具体例２６〜３９の何れか１つの主題は、複数の無線デバイスが複数のクラスタに編成されることを含むものであってもよい。
【００９２】
具体例４１では、具体例２６〜４０の何れか１つの主題は、各クラスタは、それの近傍クラスタとそれの記述された予想される動作及びそれのセンサデータを共有することによってヘルスチェックを実行することを含むものであってもよい。
【００９３】
具体例４２では、具体例２６〜４１の何れか１つの主題は、複数のクラスタ内のクラスタのサブセットがクラスタのクラスタに編成されることを含むものであってもよい。
【００９４】
具体例４３では、具体例２６〜４２の何れか１つの主題は、複数のクラスタ内の選択されたクラスタが、選択されたクラスタと複数のクラスタからの他のクラスタとを組み合わせることによって、スーパークラスタを生成し、スーパークラスタのリーダクラスタを選択するため、スーパークラスタにおける他のクラスタと協調し、選択されたクラスタの予想される動作を記述し、スーパークラスタ内の侵害されているクラスタを検出し、侵害されているクラスタが他のクラスタを侵害することを防ぐことを含むものであってもよい。
【００９５】
具体例４４では、具体例２６〜４３の何れか１つの主題は、複数のクラスタが階層的に編成されることを含むものであってもよい。
【００９６】
具体例４５では、具体例２６〜４４の何れか１つの主題は、上流クラスタが下流クラスタより階層的に上位にあることを含むものであってもよい。
【００９７】
具体例４６では、具体例２６〜４５の何れか１つの主題は、動作記述モジュールは、ＸＭＬを利用して無線デバイスの予想される動作を記述することを含むものであってもよい。
【００９８】
具体例４７では、具体例２６〜４６の何れか１つの主題は、動作記述モジュールは、無線デバイスの記述された予想される動作をブロードキャストすることを含むものであってもよい。
【００９９】
具体例４８では、具体例２６〜４７の何れか１つの主題は、動作記述モジュールは、アプリケーションプログラミングインタフェースを介し無線デバイスの記述された予想される動作を提供することを含むものであってもよい。
【０１００】
具体例４９では、具体例２６〜４８の何れか１つの主題は、動作記述モジュールは、無線デバイスによって送信又は受信されるパラメータを記述することによって、無線デバイスの予想される動作を記述し、パラメータは、名前、データタイプ及びパラメータに余興されるデータタイプの最小値を示すボトム値と、パラメータに許容されるデータタイプの最大値を示すトップ値とを含む範囲であることを含むものであってもよい。
【０１０１】
具体例５０では、具体例２６〜４９の何れか１つの主題は、無線デバイスはエンドカスタマによって設定可能であることを含むものであってもよい。
【０１０２】
具体例５１は、マシーンにより実行されると、マシーンに具体例２６〜５０の何れかを実行させる命令を含む少なくとも１つのマシーン可読媒体を含む。
【０１０３】
具体例５２は、具体例２６〜５０の何れかを実行する手段を有する装置を含む。
【０１０４】
具体例５３は、複数の無線デバイスを有する無線センサネットワークをセキュアにするための主題（デバイス、装置又はマシーンなど）であって、デバイスは、複数の無線デバイスの無線デバイスによって実行され、複数の無線デバイスからの他の無線デバイスと共に無線デバイスをクラスタに編成する手段と、クラスタのリーダを選択するため、クラスタにおける他の無線デバイスと協調する手段と、無線デバイスの予想される動作を記述するステップと、クラスタ内の侵害されている無線デバイスを検出する手段と、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐ手段とを有する主題を含む。
【０１０５】
具体例５４では、具体例５３の主題は、検出する手段は、無線デバイスがクラスタのリーダである間に動作することを含むものであってもよい。
【０１０６】
具体例５５では、具体例５３〜５４の何れか１つの主題は、防ぐ手段は、無線デバイスがクラスタのリーダである間に動作することを含むものであってもよい。
【０１０７】
具体例５６では、具体例５３〜５５の何れか１つの主題は、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐ手段は、クラスタにおける他の無線デバイスに侵害されていることに応答してクラスタの新たなリーダを選択するよう指示する手段を含むことを含むものであってもよい。
【０１０８】
具体例５７では、具体例５３〜５６の何れか１つの主題は、クラスタ内の侵害されている無線デバイスを検出する手段は、疑わしい無線デバイスの通信を解析する手段と、疑わしい無線デバイスの通信における異常を特定する手段とを含むことを含むものであってもよい。
【０１０９】
具体例５８では、具体例５３〜５７の何れか１つの主題は、疑わしい無線デバイスの通信における異常を特定する手段は、機械学習アルゴリズムを利用するステップを含むことを含むものであってもよい。
【０１１０】
具体例５９では、具体例５３〜５８の何れか１つの主題は、検出する手段は、疑わしい無線デバイスの記述された予想される動作からのずれの量、疑わしい無線デバイスの類似の無線デバイスとの近接性、他の無線デバイスを探索するための疑わしい無線デバイスによる試み、並びに疑わしい無線デバイス上でオープンなポートの数及びタイプの少なくとも１つに基づき、疑わしい無線デバイスの脅威レベルを計算する手段を含むことを含むものであってもよい。
【０１１１】
具体例６０では、具体例５３〜５９の何れか１つの主題は、検出する手段は、疑わしい無線デバイスが疑わしい無線デバイスの計算された脅威レベルに基づき侵害されていると判断する手段を含むことを含むものであってもよい。
【０１１２】
具体例６１では、具体例５３〜６０の何れか１つの主題は、クラスタのリーダは、クラスタにおける他の何れかの無線デバイスによって送信又は受信される全ての通信をプロキシ処理する手段を含むものであってもよい。
【０１１３】
具体例６２では、具体例５３〜６１の何れか１つの主題は、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐ手段は、侵害されている無線デバイスによって生成される通信を送信することを拒絶する手段を含むことを含むものであってもよい。
【０１１４】
具体例６３では、具体例５３〜６２の何れか１つの主題は、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐ手段は、侵害されている無線デバイスに送信される通信を送信することを拒絶する手段を含むことを含むものであってもよい。
【０１１５】
具体例６４では、具体例５３〜６３の何れか１つの主題は、侵害されている無線デバイスが他の無線デバイスを侵害することを防ぐ手段は、侵害されている無線デバイスに非侵害状態に強制的に自らをリセットさせる手段を含むものであってもよい。
【０１１６】
具体例６５では、具体例５３〜６４の何れか１つの主題は、クラスタが同様のタイプの無線デバイスを含むことを含むものであってもよい。
【０１１７】
具体例６６では、具体例５３〜６５の何れか１つの主題は、クラスタにおける無線デバイスは冗長であることを含むものであってもよい。
【０１１８】
具体例６７では、具体例５３〜６６の何れか１つの主題は、複数の無線デバイスが複数のクラスタに編成されることを含むものであってもよい。
【０１１９】
具体例６８では、具体例５３〜６７の何れか１つの主題は、各クラスタは、それの近傍クラスタとそれの記述された予想される動作及びそれのセンサデータを共有することによってヘルスチェックを実行する手段を含むものであってもよい。
【０１２０】
具体例６９では、具体例５３〜６８の何れか１つの主題は、複数のクラスタ内のクラスタのサブセットがクラスタのクラスタに編成されることを含むものであってもよい。
【０１２１】
具体例７０では、具体例５３〜６９の何れか１つの主題は、複数のクラスタ内の選択されたクラスタが、選択されたクラスタと複数のクラスタからの他のクラスタとを組み合わせることによって、スーパークラスタを生成する手段、スーパークラスタのリーダクラスタを選択するため、スーパークラスタにおける他のクラスタと協調する手段、選択されたクラスタの予想される動作を記述する手段、スーパークラスタ内の侵害されているクラスタを検出する手段、侵害されているクラスタが他のクラスタを侵害することを防ぐ手段を含むものであってもよい。
【０１２２】
具体例７１では、具体例５３〜７０の何れか１つの主題は、複数のクラスタが階層的に編成されることを含むものであってもよい。
【０１２３】
具体例７２では、具体例５３〜７１の何れか１つの主題は、上流クラスタが下流クラスタより階層的に上位にあることを含むものであってもよい。
【０１２４】
具体例７３では、具体例５３〜７２の何れか１つの主題は、動作記述モジュールは、ＸＭＬを利用して無線デバイスの予想される動作を記述する手段を含むものであってもよい。
【０１２５】
具体例７４では、具体例５３〜７３の何れか１つの主題は、動作記述モジュールは、無線デバイスの記述された予想される動作をブロードキャストする手段を含むものであってもよい。
【０１２６】
具体例７５では、具体例５３〜７４の何れか１つの主題は、動作記述モジュールは、アプリケーションプログラミングインタフェースを介し無線デバイスの記述された予想される動作を提供する手段を含むものであってもよい。
【０１２７】
具体例７６では、具体例５３〜７５の何れか１つの主題は、動作記述モジュールは、無線デバイスによって送信又は受信されるパラメータを記述することによって、無線デバイスの予想される動作を記述し、パラメータは、名前、データタイプ及びパラメータに余興されるデータタイプの最小値を示すボトム値と、パラメータに許容されるデータタイプの最大値を示すトップ値とを含む範囲であることを含むものであってもよい。
【０１２８】
具体例７７では、具体例５３〜７６の何れか１つの主題は、無線デバイスはエンドカスタマによって設定される手段を含むものであってもよい。
【０１２９】
具体例７８は、請求項１〜２５のデバイスの何れかによる複数の無線デバイスを含む無線ネットワークを含む。
【０１３０】
コンピュータネットワーキング及びコンピュータシステムの分野における従来の用語がここでは使用されている。これらの用語は、当該技術分野で知られており、便宜上の限定ではない例としてのみ提供される。従って、特許請求の範囲内の対応する用語の解釈は、特に明記しない限り、何れか特定の定義に限定されない。
【０１３１】
特定の実施例がここに図示及び説明されたが、同じ目的を達成するために計算された任意の構成が図示された特定の実施例に置き換えられてもよいことが、当業者に理解されるであろう。多くの適応が当業者には明らかであろう。従って、本出願は何れかの適応又は変形を包含するように意図される。
【０１３２】
上記の詳細な説明は、詳細な説明の一部を形成する添付の図面の参照を含む。図面は、実例として、実施されうる特定の実施例を示す。これらの実施例はまた、ここでは“具体例”として参照される。そのような具体例は、図示又は説明されたものに加えて要素を含んでもよい。しかしながら、本発明者らはまた、図示又は説明された要素のみが提供される例を想起する。さらに、本発明者らはまた、特定の具体例（又はその１つ以上の態様）に関して、又はここに図示若しくは説明された他の具体例（又はその１つ以上の態様）に関して、図示又は説明されたこれらの要素（又はその１つ以上の態様）の何れかの組合せ又は置換を利用する具体例を想到する。
【０１３３】
本文書では、“少なくとも１つの”又は“１つ以上の”の他の何れかのインスタンス又は仕様から独立して、“ある”という用語は１つ以上を含む特許文献において一般的であるよう使用される。本文書において、“又は”という用語は、特に断らない限り、“Ａ又はＢ”が“ＢでなくＡ”、“ＡでなくＢ”及び“Ａ及びＢ”を含むように、非排他的であることを参照するのに用いられる。本文書では、“含む（including）”及び“そこで（in which）”という用語は、それぞれ“含む（comprising）”及び“そこで（wherein）”という用語の平易な英語の等価物として使用される。また、以下の請求項において、“含む（including）”及び“含む（comprising）”という用語は、オープンエンドであり、すなわち、請求項におけるそのような用語の後に列挙される要素に加えて要素を含むシステム、デバイス、物又は処理が当該請求項の範囲に含まれるものとみなされる。さらに、以下の請求項では、“第１の”、“第２の”及び“第３の”などの用語は、単なるラベルとして用いられ、それらの対象に対する数値要求を課すことを意図するものでない。
【０１３４】
ここに説明される方法の例は、少なくとも部分的にマシーン又はコンピュータによって実現されてもよい。いくつかの例は、上記の例で説明した方法を実行するように電子デバイスを構成するように動作可能な命令で符号化されたマシーン可読媒体又はマシーン可読媒体を含むことができる。このような方法の実装には、マイクロコード、アセンブリ言語コード、高水準言語コードなどのコードを含めることができる。そのようなコードは、様々な方法を実行するためのマシーン可読命令を含むことができる。コードは、コンピュータプログラム製品の一部を形成してもよい。さらに、一例では、コードは、実行中又は他の時点などに、１つ以上の揮発性、非一時的又は不揮発性の有形のマシーン可読媒体に有形に格納されてもよい。これらの有形のマシーン可読媒体の例は、限定することなく、ハードディスク、着脱可能磁気ディスク、着脱可能な光ディスク（例えば、コンパクトディスク及びデジタルビデオディスク）、磁気カセット、メモリカード若しくはスティック、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）などを含んでもよい。
【０１３５】
上記の説明は例示的なものであり、限定的なものではない。例えば、上述した具体例（又はそれの１つ以上の態様）は、互いに組み合わせて使用されてもよい。上記の説明を検討することにより、当業者によって他の実施例が使用されてもよい。要約は、３７Ｃ．Ｆ．Ｒ．１．７２（ｂ）に準拠し、読者が技術的開示の性質を迅速に確認することを可能にするため提供され、請求項の範囲又は意味を解釈又は限定するために使用されないという理解によって提出される。
【０１３６】
この詳細な説明では、各種特徴が開示を概略するのに一緒にグループ化されてもよい。これは、請求されていない開示された特徴が何れかの請求項に必須であることを意図するものとして解釈されるべきでない。むしろ、発明の主題は開示された特定の実施例の全ての特徴より少なくてもよい。従って、以下の請求項はここで詳細な説明に含まれ、各請求項は別の実施例として自ら成立し、このような実施例が各種組み合わせ又は置換において互いに組み合わされてもよいことが想到される。実施例の範囲は、このような請求項に権利付与される均等の完全な範囲と共に、添付した請求項を参照して決定されるべきである。
【図１】
0006644784.tif 000002
【図２】
0006644784.tif 000003
【図３】
0006644784.tif 000004
【図４】
0006644784.tif 000005
【図５】
0006644784.tif 000006