(57)【特許請求の範囲】
【請求項１】
自立ルーティングエリアネットワークの制御デバイスであって、
前記自立ルーティングエリアネットワークに参加することの要求を、要求デバイスから受信することと、
前記要求を受信したことに応答して、
前記要求に含まれる情報に基づいて、前記要求デバイスが独立デバイスであるかを判定することであって、前記独立デバイスは、前記自立ルーティングエリアネットワークと異なる他のネットワークに参加することが不可能である、ことと、
前記要求デバイスが独立デバイスであるかに基づいて、前記要求デバイスの前記自立ルーティングエリアネットワークへのアドミッションを制御することと
を備えた動作を実行するように構成されたプロセッサを備えていることを特徴とする制御デバイス。
【請求項２】
前記動作は、
前記要求デバイスが独立デバイスであると判定することと、
前記要求デバイスが独立デバイスであると判定したことに応答して、前記自立ルーティングエリアネットワーク上での負荷が、収容に対する所定の閾値以上であるかに関わらず、前記要求デバイスを、前記自立ルーティングエリアネットワークへ許可することと
をさらに備えていることを特徴とする請求項１に記載の制御デバイス。
【請求項３】
前記要求は、前記要求デバイスが独立デバイスであるかを示すインジケータまたはメッセージを備えていることを特徴とする請求項２に記載の制御デバイス。
【請求項４】
前記動作は、
前記自立ルーティングエリアネットワーク上での前記負荷が、収容に対する前記所定の閾値以上であるかを判定することと、
前記自立ルーティングエリアネットワーク上での前記負荷が、収容に対する前記所定の閾値以上であると判定したことに応答して、
前記自立ルーティングエリアネットワークに含まれるデバイスに対し、前記自立ルーティングエリアネットワークを離脱することを強制することと、
前記要求デバイスが前記自立ルーティングエリアネットワークに参加することを許可することと
をさらに備えていることを特徴とする請求項２に記載の制御デバイス。
【請求項５】
前記動作は、
前記自立ルーティングエリアネットワーク上での前記負荷が、収容に対する前記所定の閾値以上であるかを判定することと、
前記自立ルーティングエリアネットワーク上での前記負荷が、収容に対する前記所定の閾値以上であると判定したことに応答して、
前記自立ルーティングエリアネットワークを離脱する、前記自立ルーティングエリアネットワークに現在含まれているデバイスを選択することと、
前記選択されたデバイスに、前記自立ルーティングエリアネットワークを離脱することを要求するメッセージを、前記選択されたデバイスに送信することと
をさらに備えていることを特徴とする請求項２に記載の制御デバイス。
【請求項６】
前記動作は、
前記自立ルーティングエリアネットワーク上での前記負荷が、収容に対する前記所定の閾値以上であるかを判定することと、
前記自立ルーティングエリアネットワーク上での前記負荷が、収容に対する前記所定の閾値以上であると判定したことに応答して、
前記自立ルーティングエリアネットワークに現在含まれているどのデバイスが、別のネットワークに移動することが可能であるかをクエリするメッセージをブロードキャストすることと、
１つまたは複数のデバイスから、前記１つまたは複数のデバイスが別のネットワークに移動することが可能であることを示す１つまたは複数の応答を受信することと、
前記自立ルーティングエリアネットワークを離脱するデバイスを、前記１つまたは複数のデバイスから選択することと、
前記選択されたデバイスに、前記自立ルーティングエリアネットワークを離脱することを要求するメッセージを、前記選択されたデバイスに送信することと
をさらに備えていることを特徴とする請求項２に記載の制御デバイス。
【請求項７】
前記動作は、
前記自立ルーティングエリアネットワーク上での前記負荷が、収容に対する前記所定の閾値以上であるかを判定することと、
前記自立ルーティングエリアネットワーク上での前記負荷が、収容に対する前記所定の閾値以上であると判定したことに応答して、前記自立ルーティングエリアネットワークの各デバイスに関連付けられた、記憶された情報に基づいて、他のネットワークに参加することが可能な、前記自立ルーティングエリアネットワークに含まれる複数のデバイスを判定することと、
前記他のネットワークに参加することが可能なデバイスを、前記自立ルーティングエリアネットワークに含まれる前記複数のデバイスから選択することと、
前記選択されたデバイスに、前記自立ルーティングエリアネットワークを離脱することを要求または強制することと
をさらに備えていることを特徴とする請求項２に記載の制御デバイス。
【請求項８】
前記動作は、
前記要求デバイスが独立デバイスでないと判定することと、
前記自立ルーティングエリアネットワーク上での負荷が、収容に対する所定の閾値以上であるかを判定することと、
前記要求デバイスが独立デバイスでなく、および、前記自立ルーティングエリアネットワーク上での前記負荷が、収容に対する前記所定の閾値以上であると判定したことに応答して、前記要求デバイスの前記自立ルーティングエリアネットワークに参加することの前記要求を拒絶することと
をさらに備えていることを特徴とする請求項１に記載の制御デバイス。
【請求項９】
前記動作は、
前記自立ルーティングエリアネットワーク上での負荷が、収容に対する所定の閾値以上であるかを判定することと、
前記自立ルーティングエリアネットワーク上での前記負荷が、収容に対する前記所定の閾値以上でないと判定したことに応答して、前記要求デバイスが独立デバイスであるかに関わらず、前記要求デバイスが前記自立ルーティングエリアネットワークに参加することを許可することと
をさらに備えていることを特徴とする請求項１に記載の制御デバイス。
【請求項１０】
前記動作は、
前記自立ルーティングエリアネットワークに参加することの前記要求デバイスの前記要求を許可することと、
前記要求を許可したことに応答して、前記自立ルーティングエリアネットワークに関連付けられたグループ鍵、前記自立ルーティングエリアネットワークに参加する前記要求デバイスに対する構成情報、および前記要求デバイスに割り当てられたグローバルアドレスを送信することと
をさらに備えていることを特徴とする請求項１に記載の制御デバイス。
【請求項１１】
前記受信することは、前記自立ルーティングエリアネットワークにおける１つまたは複数の中間デバイスを介して、前記要求デバイスの前記要求を受信することを備え、ならびに、
前記送信することは、前記１つまたは複数の中間デバイスを介して、前記自立ルーティングエリアネットワークに関連付けられた前記グループ鍵、前記自立ルーティングエリアネットワークに参加する前記要求デバイスに対する前記構成情報、および前記要求デバイスに割り当てられた前記グローバルアドレスを送信することを備えている
ことを特徴とする請求項１０に記載の制御デバイス。
【請求項１２】
前記自立ルーティングエリアネットワークは、メッシュネットワークを備えていることを特徴とする請求項１に記載の制御デバイス。
【請求項１３】
前記要求デバイスは、固定ノードを備えていることを特徴とする請求項１に記載の制御デバイス。
【請求項１４】
前記動作は、
前記要求デバイスが、前記要求デバイスの送信範囲内で、前記自立ルーティングエリアネットワーク以外の任意のネットワークを検出することに失敗し、または、
前記要求デバイスが、前記自立ルーティングエリアネットワークを除く前記要求デバイスの送信範囲内で検出された全てのネットワークへの参加を試行し、および、失敗したとき、
前記要求デバイスが独立デバイスであると判定することをさらに備えていることを特徴とする請求項１３に記載の制御デバイス。
【請求項１５】
コンピュータ可読命令を有する１つまたは複数のコンピュータ可読記憶媒体であって、前記コンピュータ可読命令は、１つまたは複数のプロセッサによって実行されると、
デバイスにおいて、前記デバイスが現在接続されている現在の自立ルーティングエリアネットワークを離脱する命令を受信することと、
前記命令を受信したことに応答して、前記デバイスが参加することが可能な１つまたは複数の他のネットワークが存在するかを判定することと、
前記デバイスが参加することが可能な１つまたは複数の他のネットワークが存在すると判定したことに応答して、前記１つまたは複数のネットワークからネットワークを選択し、および、前記選択されたネットワークに参加する要求を送信することと、
前記デバイスが参加することが可能な１つまたは複数の他のネットワークが存在しないことに応答して、前記デバイスが、前記現在の自立ルーティングエリアネットワークを離脱することが不可能であることを示す応答を、前記現在のネットワークに送信することであって、前記デバイスは、前記自立ルーティングエリアネットワークと異なる他のネットワークに参加することは不可能である独立デバイスである、送信することと
を備えた動作を前記プロセッサに実行させることを特徴とする１つまたは複数のコンピュータ可読記憶媒体。
【請求項１６】
前記動作は、
前記デバイスが、前記選択されたネットワークに参加することが許可されることを示す応答を、前記選択されたネットワークから受信することと、
前記選択されたネットワークからの前記応答において提供される情報に基づいて、前記現在のネットワークから前記選択されたネットワークに移動することと
をさらに備えていることを特徴とする請求項１５に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項１７】
前記選択されたネットワークからの前記応答において提供される前記情報は、前記選択されたネットワークに関連付けられたグループ鍵、前記選択されたネットワークに参加する前記デバイスに対する構成情報、および前記デバイスに割り当てられた新たなアドレスを備えていることを特徴とする請求項１６に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項１８】
前記動作は、前記デバイスの旧アドレスを、前記新たなアドレスに更新し、および、移動すると、前記新たなアドレスを宛先とするパケットを受信することをさらに備えていることを特徴とする請求項１７に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項１９】
前記動作は、
前記移動することが完了する前に、および、前記デバイスの旧アドレスにおいてパケットを受信したことに応答して、
前記受信されたパケットをドロップすることと、
前記デバイスと前記現在のネットワークとの間の接続が未だに存在する場合、前記受信されたパケットを、前記現在のネットワークに転送することと、
前記デバイスに割り当てられた新たなアドレスを受信すると、前記受信されたパケットを新たなパケットに含め、および、前記デバイスの新たなアドレスを使用して、前記新たなパケットを送信することと
をさらに備えていることを特徴とする請求項１６に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項２０】
前記デバイスはノードを備え、および、前記現在のネットワークはメッシュネットワークを備えていることを特徴とする請求項１５に記載の１つまたは複数のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信に関する。
【０００２】
本出願は、２０１２年５月３日に出願され、「メッシュネットワークにおける効率的なデバイスハンドオーバ／移動」と題する欧州特許出願第１２１６６６９７．８号の優先権を主張するものであり、その出願の内容が参照により本明細書に組み込まれる。
【背景技術】
【０００３】
スマートデバイス技術の登場にともなって、最近では、一般的、商業的、および軍事的使用に対して、ますます多くのスマートデバイスが配備されてきた。これらのデバイスの例は、スマートユーティリティメータ、センサ、制御デバイス、ルータ、レギュレータなどを含む。一般的に、新たなデバイスが配備されるときに、技術者は、新たなデバイスが配備されるフィールドに行き、当該フィールドにおいて新たなデバイスを手動でセットアップする。技術者は、例えば、新たなデバイスを構成し、および、ネットワークで認証することがある。そして、技術者は、ネットワーク、場合によっては、ネットワークにおける各デバイスの情報を維持する中央サーバに、新たなデバイスを登録する。
【０００４】
登録および無線ネットワークに参加する（join）ことの標準的な方法は、無線ネットワークに高負荷を与え、すでに高負荷が加わったネットワーク上での輻輳につながることがある。無線ネットワークに参加することの標準的なアプローチは、最初に、参加ノード（joining node）が８０２．１ｘ認証を完了しなければならず、次に、動的ホスト構成プロトコル（ＤＨＣＰ）サーバと通信して、インターネットプロトコル（ＩＰ）アドレスを取得し、最後に、ノードがネットワーク管理サーバ（ＮＭＳ）とコンタクトして、要求された構成情報を取得する、３つのステップから構成される。これらの３つのステップは、課題となる（challenged）無線通信ネットワークに対し甚大な負荷を与える、大量のエンドツーエンドパケット交換を必要とする。
【図面の簡単な説明】
【０００５】
添付図面を参照して、以下の発明の詳細な説明が示される。図面では、参照符号の最も左の桁は、参照符号が最初に現れる図を識別する。異なる図面における同一の参照符号の使用は、類似のまたは同一の要素を示している。
【図１】ネットワークにおいてデバイスの登録および移動（migration）を実行することに適した例示的な環境を示す。
【図２】図１の例示的なデバイスをより詳細に示す。
【図３】ネットワークにおけるデバイス登録の例示的な方法を示す。
【図４】ネットワークに加わるデバイスの要求を許可または拒絶するかを判定する例示的な方法を示す。
【図５】１つのネットワークから別のネットワークへのデバイス移動の例示的な方法を示す。
【発明を実施するための形態】
【０００６】
［概要］
上述したように、新たなデバイスの既存の配備は、一般的に、技術者が、フィールドにおいて、ネットワークで新たなデバイスを構成および認証し、新たなデバイスをネットワークに接続することを必要とする。この接続および認証プロセスは、厄介であり、および、多大な時間を要することになる。この状況は、ネットワークが、その容量（capacity）にあり、または、その容量に近いときに（例えば、新たなデバイスをサポートするのに残っている帯域幅が制限され、または、帯域幅が存在しない）、より複雑となる。この例では、技術者は、新たなデバイスを、存在する場合に別の利用可能なネットワークに接続することを試みることがある。これらの状況は、新たなデバイスを配備し、および、１つのネットワークから別のネットワークへ移動（migrate）するのに困難をもたらすのみでなく、ネットワーク内でおよびネットワークをまたがって、異なるデバイスを同期することに問題をもたらす。
【０００７】
本開示は、自立（autonomous）ルーティングネットワークにおける自動デバイス登録およびデバイス移動の方法を示している。方法は、新たなデバイスとネットワークとの間の最少数の交換を通じて、新たなデバイスのネットワークへの自動登録を可能にする。さらに、方法は、ネットワークの状態および／またはネットワークに配備されることになる新たなデバイスの状態に起因して、ネットワークから別のネットワークへのデバイスの移動またはハンドオーバを可能にする。
【０００８】
一般的に、デバイスは、ネットワークに参加することを要求することがある。一部の実装では、要求デバイスは、ネットワークに関連付けられたどのデバイスが、新たなデバイスのネットワークに参加することの許可（admission）に対処（addressing）または制御するかを担当しているかを認識していることがあり、または、認識していないことがある。一部の実装では、要求デバイスは、近隣デバイス（例えば、要求デバイスの送信範囲内にあるデバイス）によってヒア（hear）されてもよいネットワークに参加することの要求をブロードキャストしてもよい。加えて、または、その代わりに、要求デバイスは、近隣デバイスからの送信をオーバヒア（overhearing）することによって、ネットワークにおいて近隣デバイスを検出（discover）してもよい。要求デバイスは、例えば、メッセージまたはビーコンを通じて、要求を直接、近隣デバイスに送信してもよい。
【０００９】
要求を受信したことに応答して、近隣デバイスは、要求を解析し（parse）、および、要求デバイスがネットワークに参加することを要求していることを認識してもよい。１つの実装では、近隣デバイスは、要求デバイスの要求を、新たなデバイスのネットワークに参加することの許可に対処または制御することを担当する制御デバイスに中継してもよい。代わりに、近隣デバイスは、近隣デバイスの親である、ネットワークにおけるデバイスに要求を中継し、親デバイスに対し、要求を制御デバイス、または親デバイスよりも階層的に制御デバイスに近い別のデバイスに中継するように指示（direct）してもよい。１つの実装では、例えば、近隣デバイスが、どのデバイスが新たなデバイスのネットワークに参加することの許可に対処または制御するかを担当しているかを認識していない場合に、近隣デバイスは、要求をその親デバイスに中継してもよい。
【００１０】
要求が制御デバイスまたは親デバイスに中継されたかにかかわらず、近隣デバイスは、要求に、当該要求が案内される宛先を示している宛先アドレス（例えば、制御デバイスまたは親デバイスのＩＰアドレス）を挿入してもよい。
【００１１】
要求を受信したことに応答して、ネットワークに関連付けられた制御デバイスは、要求デバイスのネットワークに参加することの要求を許可または拒絶するかを判定してもよい。１つの実装では、制御デバイスは、要求デバイスの状態に基づいて、要求デバイスの要求を許可または拒絶するかを判定してもよい。例示的かつ非限定的に、制御デバイスは、受信された要求に含まれる情報に基づいて、要求デバイスが独立デバイス（isolated device）であるかを判定してもよい。１つの実装では、要求デバイスが制御デバイスのネットワーク以外のネットワークに参加することが不可能である場合に、要求デバイスは、独立することになると判定されてもよい。加えて、または、代わりに、要求デバイスが、当該要求デバイスが位置しているエリアをカバーする他のネットワークを検出しない場合に、要求デバイスは、独立することになると判定されてもよい。加えて、または、代わりに、要求デバイスが別のネットワークから制御デバイスのネットワークに移動することを試み、または、強制される場合に、要求デバイスは、独立することになると判定されてもよく、ならびに、この他のネットワークおよび制御デバイスのネットワークは単に、要求デバイスが位置するエリアをカバーするネットワークである。加えて、または、代わりに、要求デバイスが、制御デバイスのネットワーク以外のそのエリアにおけるすべての検出されたネットワークを使い果たす（exhaust）ことが不成功となった場合に、要求デバイスは、独立することになると判定されてもよい。加えて、または、代わりに、制御デバイスのネットワークが単に、要求デバイスと、ネットワークに関連付けられた認証、承認、および／またはアカウンティング（ＡＡＡ）サーバなどのサーバとの間で接続性を提供することができるネットワークである場合に、要求デバイスは、独立することになると判定されてもよい。
【００１２】
加えて、または、代わりに、制御デバイスは、ネットワークの状態に基づいて、要求デバイスのネットワークに参加することの要求を許可または拒絶するかを判定してもよい。例えば、制御デバイスは、ネットワークにおけるデバイスの現在の数、現在のトラフィック、現在または平均パケットドロップ率、現在または平均帯域幅使用量などの、ネットワーク上での負荷が、所定の閾値以上であるかを判定してもよい。加えて、または、代わりに、制御デバイスは、ネットワークに関する負荷またはネットワーク統計（現在または平均パケットドロップ率、現在または平均帯域幅使用量など）を記憶または取り出してもよく、ならびに、負荷またはネットワーク統計（例えば、現在の帯域幅使用量）が所定の閾値以上であるかを判定してもよい。
【００１３】
判定に基づいて、制御デバイスは、要求デバイスの要求を許可または拒絶してもよい。例えば、要求デバイスが独立デバイスであると判定したことに応答して、制御デバイスは、要求デバイスのネットワークに参加することの要求を許可してもよい。制御デバイスがさらにネットワーク上での負荷（または統計）、例えば、現在の帯域幅使用量、がそれぞれの閾値以上であると判定した場合に、制御デバイスは、ネットワークにおける１つもしくは複数のデバイスに対し、ネットワークを離脱し、または、当該ネットワークから別のネットワークに移動することを強制してもよい。例示的かつ非限定的に、制御デバイスは、ネットワークにおけるどのデバイスが別のネットワークを移動し、または参加することが可能であるかの認識に基づいて、１つもしくは複数のデバイスを選択してもよく、ならいに、１つもしくは複数のデバイスに対し、制御デバイスのネットワークを離脱することを強制もしくは要求してもよい。この方法では、制御デバイスは、負荷を十分なもしくは所定のレベルまで軽減させて、要求している独立デバイスがネットワークに参加することを可能にする。
【００１４】
要求デバイスのネットワークに参加することの要求を許可すると判定したことに応答して（ネットワークの状態にかかわらず）、制御デバイスはさらに、要求デバイスに対してネットワークに参加することに関連する情報を作成してもよい。情報は、ネットワークに関連付けられたグループ鍵、要求デバイスがネットワークでセットアップするための構成情報、および／または、要求デバイスに割り当てられた新たなアドレス（ＩＰアドレスなど）などを含んでもよいが、それらに限定されない。制御デバイスは、近隣デバイスを介して、情報を要求デバイスに送信してもよい。
【００１５】
上述した方法は、ネットワークに参加することを望む要求デバイスが、ネットワークとシングルハンドシェイクを実行して、ネットワークに参加することを可能にする。一部の実装では、要求デバイスの近隣に位置し、および、要求デバイスから１ホップ離れている近隣デバイスは、要求デバイスの代わりに要求を制御デバイスに中継してもよく、したがって、要求デバイスがランダムに、または目的もなく要求をネットワークに送信することを防ぐ。上述した方法はさらに、ネットワークにおける既存のデバイスの別のネットワークへの円滑な移動を可能にし、したがって、ネットワークのリソースを過負荷にし、過密集させ、または使い果たすことを避けることができる。さらに、制御デバイスは、ネットワークに関連付けられた、帯域幅使用量の割合、すべてのデバイスの中での独立デバイスの割合などのその他の統計を記憶または取り出してもよく、ならびに、これらのその他の統計の１つもしくは複数が、それぞれの所定の閾値に到達する場合に、管理者にワーニングもしくはアラートを送信してもよい。このことは、管理者が、ネットワークの帯域幅を改善する、新たなサポートハードウェアを追加し、ならびに／または、ネットワークにおいてデバイスの一部を再構成もしくは再移転させるかを決定することを容易にする。
【００１６】
上述した例では、制御デバイスは、要求を受信し、要求を許可もしくは拒絶するかを判定し、ネットワークにおける１つもしくは複数のデバイスに対し、ネットワークを離脱することを強制するか否かを判定し、ならびに、要求デバイスがネットワークに参加することを可能にすることに関連する情報を作成する。しかしながら、他の実装では、１つもしくは複数の他のデバイスまたはサービスは、これらの機能の一部もしくはすべてを実行してもよい。例えば、制御デバイスは、ネットワークの状態の情報を、ネットワークにおけるデバイスの一部もしくはすべてに、定期的にもしくは必要に応じて、送信もしくはブロードキャストしてもよい。制御デバイスは、送信もしくはブロードキャストされた情報において、ネットワークが独立デバイス以外の新たなデバイスのアドミッションを受け入れないことを示してもよい。したがって、１つの実装では、デバイス（例えば、近隣デバイス）もしくはサービスは、要求デバイスのネットワークに参加することの要求を許可もしくは拒絶するかを判定してもよく、別のデバイスもしくはサービスは、ネットワークにおける１つもしくは複数のデバイスに対し、ネットワークを離脱することを強制するかを判定してもよく、さらなる別のデバイスもしくはサービスは、要求デバイスがネットワークに参加することを可能にすることに関連する情報を作成してもよい。
【００１７】
本出願は、複数のおよび多様な実装を示している。以下の章は、種々の実装を実現するのに適した例示的な環境を示している。次に、本出願は、デバイス登録およびデバイス移動を実行するための例示的なシステム、デバイスおよび処理を示している。
【００１８】
＜例示的な環境＞
図１は、デバイス登録およびデバイス移動を実行するのに適した例示的なアーキテクチャ１００のブロック図である。アーキテクチャ１００は、直接通信パスもしくは「リンク」を介して互いに通信可能に結合された、複数のノードもしくはデバイス１０２−１、１０２−２、１０２−３、１０２−４、１０２−５、．．．、１０２−Ｎ（総じてデバイス１０２と称される）を含んでいる。この例では、Ｎは、ワイドエリアネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ネイバーフッドエリアネットワーク（ＮＡＮ）、もしくはパーソナルエリアネットワーク（ＰＡＮ）などの、自立ルーティングエリア（ＡＲＡ）に配置されたデバイスの数を表している。図１では、１つのＡＲＡのみが示されているが、実際には、複数のＡＲＡが存在してもよく、および、総じて、アドバンスドメータリングインフラストラクチャ（ＡＭＩ：advanced metering infrastructure）ネットワークなどの大規模ネットワークを定義してもよい。常時、各々の個々のデバイスは、特定のＡＲＡのメンバーであってもよい。しかしながら、時間とともに、それぞれのＡＲＡ上での負荷もしくは干渉などの種々の要因に基づいて、デバイスは、１つのＡＲＡから別の地理的に隣接もしくはオーバラップしているＡＲＡに移動することがある。
【００１９】
上述したように、用語「リンク」は、２つのデバイスの間の直接通信パスを指す（別のデバイスを通り抜けることがなく、もしくは別のデバイスによって伝播されることなく）。リンクは、有線もしくは無線通信パス上にあってもよい。各リンクは、デバイスがデータを送信もしくは受信することが可能な複数のチャネルを表してもよい。複数のチャネルの各々は、複数のチャネルの各々に対して同一もしくは異なる周波数範囲によって定義されてもよい。一部の例では、複数のチャネルは、無線周波数（ＲＦ）チャネルを備えている。複数のチャネルは、制御チャネルおよび複数のデータチャネルを備えてもよい。一部の例では、制御チャネルは、デバイス間で１つもしくは複数のメッセージを通信するのに利用されて、データを転送するのに利用されることになるデータチャネルの１つを特定する。一般的に、制御チャネル上での送信は、データチャネル上での送信と比較して短い。
【００２０】
１つの実装では、デバイス１０２の一部もしくはすべては、例えば、スマートユーティリティメータ（例えば、電気、ガス、および／または水道メータなど）、センサ（例えば、温度センサ、ウェザーステーション、周波数センサなど）、制御デバイス、変圧器、ルータ、サーバ、中継機（例えば、セルラ中継機）、スイッチ、バルブ、上述したものの組合せ、または、通信ネットワークに結合可能であり、およびデータを送信もしくは受信することが可能な任意のデバイスなどの、任意の種々のデバイスとして実装されてもよい。
【００２１】
一部の実装では、デバイス１０２の一部もしくはすべては、加えてもしくは代わりに、例えば、ノートブックもしくはポータブルコンピュータ、ハンドヘルドデバイス、ネットブック、インターネット機器、ポータブルリーディングデバイス、電子ブックリーダデバイス、タブレットもしくはスレートコンピュータ、ゲームコンソール、モバイルデバイス（例えば、モバイルフォン、携帯型情報端末、スマートフォンなど）、メディアプレイヤなど、または、それらの組合せを含む、任意の種々の従来型コンピューティングデバイスとして実装されてもよい。
【００２２】
この例では、デバイス１０２はさらに、インターネットなどのバックホールネットワーク１０６へのＡＲＡの接続ポイントとしてサービスするエッジデバイス（例えば、デバイス１０２−４）を介して、中央オフィス１０４と通信するように構成されてもよい。１つの実装では、エッジデバイスは、セルラ中継機、セルラルータ、エッジルータ、ＤＯＤＡＧ（Destination Oriented Directed Acyclic Graph）ルート、ルートデバイス、またはＡＲＡネットワークのノードを含んでもよいが、これらに限定されない。この示された例では、デバイス１０２−１は、セルラ中継機、および／または、ＡＲＡにおける他のノードに対する転送デバイスとしてサービスしてもよく、例えば、ネットワーク１０６を介して、ＡＲＡの他のデバイス１０２−２乃至１０２−Ｎから中央オフィス１０４に、および、中央オフィス１０４から通信を中継する。
【００２３】
１つの実装では、デバイス１０２の一部もしくはすべては、プロセシングユニット１０８を含んでもよい。プロセシングユニット１０８は、メモリ１１２に通信可能に結合された１つもしくは複数のプロセッサ１１０を含んでもよい。メモリ１１２は、種々の機能を実行するようにプロセッサ１１０上で実行可能である１つもしくは複数のソフトウェアおよび／またはファームウェアモジュールを記憶するように構成されてもよい。本明細書では、モジュールは、メモリに記憶され、および、プロセッサ上で実行可能なソフトウェアおよび／またはファームウェアとして示されたが、他の実装では、任意のもしくはすべてのモジュールは、ハードウェア（例えば、ＡＳＩＣ、専用プロセシングユニットなどとして）によって全体的にもしくは部分的に実装されて、上述した機能を実行してもよい。
【００２４】
メモリ１１２は、コンピュータ可読媒体を備えてもよく、ならびに、ランダムアクセスメモリ（ＲＡＭ）などの揮発性メモリ、および／または、リードオンリメモリ（ＲＯＭ）もしくはフラッシュＲＡＭなどの不揮発性メモリの形式をとってもよい。コンピュータ可読媒体は、コンピューティングデバイスの１つもしくは複数のプロセッサによる実行のための、コンピュータ可読命令、データ構造、プログラムモジュールもしくは他のデータなどの情報を記憶するための任意の方法もしくは技術によって実装される、揮発性および不揮発性、着脱可能および着脱不能媒体を含んでいる。コンピュータ可読媒体の例は、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他のタイプのランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、電気的消去可能リードオンリメモリ（ＥＥＰＲＯＭ）、フラッシュメモリもしくは他のメモリ技術、コンパクトディスクリードオンリメモリ（ＣＤ-ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、コンピューティングデバイスによるアクセスのための情報を記憶するのに使用することができる任意の他の非送信媒体を含むが、これらに限定されない。本明細書で定義されたように、コンピュータ可読媒体は、変調データ信号および搬送波などの通信媒体を含んでいない。
【００２５】
１つの実装では、デバイス１０２の一部もしくはすべては、追加的に、無線１１４を含んでもよい。無線１１４は、１つもしくは複数のチャネル／周波数を介して、ＲＦ信号を送信および／または受信するように構成された無線周波数（ＲＦ）送受信機を備えている。一部の実装では、デバイス１０２の一部もしくはすべては、各通信リンクの制御チャネルおよび複数のデータチャネルなどの複数の異なるチャネル上でデータを送信および受信するように構成された単一無線１１４を含んでいる。無線１１４はさらに、複数の異なる変調技術、データレート、プロトコル、信号強度、および／または電力レベルを実装するように構成されてもよい。アーキテクチャ１００は、デバイス１０２が異なるタイプのデバイス（例えば、スマートメータ、セルラ中継機、センサなど）、異なる世代もしくはモデルのデバイス、ならびに／または、異なるチャネル上で、および異なる変調技術、データレート、プロトコル、信号強度、および／もしくは電量レベルを使用して、送信することが可能なデバイスを含んでもよいという点で、デバイスの異種ネットワークを表してもよい。
【００２６】
加えて、または、代わりに、一部の実装では、デバイス１０２の一部もしくはすべては、ネットワークインタフェース１１６および／または入出力インタフェース１１８を含んでもよい。プロセシングユニット１０８はさらに、ネットワークインタフェース１１６からデータを受信し、ならびに、入出力インタフェース１１８から受信されたデータ、および／もしくはメモリ１１２にデータを記憶されたデータについて動作するように構成されてもよい。
【００２７】
一方で、ネットワーク１０６は、自身が無線もしくは有線ネットワーク、またはそれらの組合せを備えることができるバックホールネットワークを表している。ネットワーク１０６は、互いに相互接続され、および、単一の大規模ネットワーク（例えば、インターネットまたはイントラネット）として機能している個々のネットワークの集合であってもよい。さらに、個々のネットワークは、無線もしくは有線ネットワーク、またはそれらの組合せであってもよい。
【００２８】
中央オフィス１０４は、サーバ、パーソナルコンピュータ、ラップトップコンピュータ、ルータ、スイッチなどの１つまたは複数のコンピューティングデバイスによって実装されてもよい。１つまたは複数のコンピューティングデバイスは、メモリに通信可能に結合された１つまたは複数のプロセッサを備えてもよい。一部の例では、中央オフィス１０４は、１つもしくは複数のデバイス１０２から受信されたデータの処理、分析、記憶、および／または管理を実行する、集中型メータデータ管理システムを含んでいる。例えば、中央オフィス１０４は、スマートユーティリティメータ、センサ、制御デバイス、ルータ、レギュレータ、サーバ、中継機、スイッチ、バルブ、および／または他のデバイスから取得されたデータを処理、分析、記憶、および／または管理してもよい。中央オフィス１０４は、追加的にまたはそれに代えて、ＡＭＩネットワークのデバイスのレジストリ、デバイス構成設定、およびバージョン情報などを維持するためのネットワーク管理システム（ＮＭＳ）を含んでもよい。図１の例は、中央オフィス１０４を単一のロケーションで示しているが、一部の例では、中央オフィスは、複数のロケーションの間で分散されてもよく、ならびに／または、完全に除外されてもよい（例えば、高度非集中分散コンピューティングプラットフォームの場合に）。
【００２９】
１つの実装では、アーキテクチャはさらに、ＡＲＡネットワークにおいてデバイス１０２の識別を認証することを担当する認証サーバ１２０を含んでもよい。一部の実装では、アーキテクチャ１００はさらに、新たなデバイスのＡＲＡネットワークへのアドミッションを制御またはサポートすることができる他のサーバ１２２を含んでもよい。１つの実装では、他のサーバ１２２は、ＡＲＡネットワークへのセキュリティサービスを維持および／または提供することを担当するセキュリティサーバを含んでもよい。
【００３０】
＜例示的なデバイス＞
図２は、図１のデバイス１０２（例えば、代表的なデバイス１０２−２）の追加的な詳細を示しているブロック図である。この例では、無線１１４は、ＲＦフロントエンド２０２およびベースバンドプロセッサ２０４に結合されたアンテナ２００を含んでいる。ＲＦフロントエンド２０２は、送信および／または受信機能を提供してもよい。ＲＦフロントエンド２０２は、アンテナによって提供され、ならびに、１つもしくは複数のデバイス１０２から取得された信号を同調および減衰するなどの機能を提供する、高周波数アナログおよび／またはハードウェアコンポーネントを含んでもよい。ＲＦフロントエンド２０２は、信号をベースバンドプロセッサ２０４に提供してもよい。
【００３１】
１つの例では、ベースバンドプロセッサ２０４のすべてまたは一部は、ソフトウェア（ＳＷ）定義無線として構成されてもよい。１つの例では、ベースバンドプロセッサ２０４は、周波数および／またはチャネル選択機能を無線１１４に提供する。例えば、ＳＷ定義無線は、プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、または他の組み込みコンピューティングデバイスによって実行されるソフトウェアにおいて実装される、ミキサ、フィルタ、増幅器、変調器および／もしくは復調器、ディテクタなどを含んでもよい。ＳＷ定義無線は、プロセッサ１１０、およびメモリ１１２において定義もしくは記憶されたソフトウェアを利用してもよい。代わりに、無線１１４は、アナログコンポーネントの少なくとも一部を使用して実装されてもよい。
【００３２】
プロセシングユニット１０８はさらに、時刻を維持するように構成されたクロック２０６を含んでもよい。クロック２０６はさらに、１つもしくは複数のカウントアップまたはカウントダウンタイマを提供するように構成されてもよい。このようなタイマは、複数の通信チャネル間での周波数ホッピングに使用されてもよい。
【００３３】
周波数ホッピングモジュール２０８は、ベースバンドプロセッサ２０４およびクロック２０６と通信するように構成されてもよい。１つの例では、周波数ホッピングモジュール２０８は、クロック２０６において時間情報および／または周波数ホッピングタイマの組を取得するように構成されている。このような時間情報および／またはタイマは、周波数ホッピングモジュール２０８に、いつ異なるチャネルまたは周波数を「ホッピング」または同調するかを示すことになる。加えて、周波数ホッピングモジュール２０８は、ＳＷ定義無線または無線１１４の他のコンポーネントに対し、実際の周波数変更を実行することを命令するように構成されてもよい。したがって、周波数ホッピングモジュール２０８は、繰り返して、同意された時間で、同意された周波数間でシフトし、および、同意された期間に同意されたプロトコルで別のデバイスと通信することが可能である。
【００３４】
一部の実装では（例えば、デバイスがユーティリティメータであるときに）、メモリ１１２はまた、中央オフィス１０４または他の宛先への最終的な伝播のために、１つまたは複数の他のデバイス１０２に送信することができる、１つまたは複数のリソース（例えば、電気、水道、天然ガスなど）の消費データを収集するように構成された計量モジュール２１０を含んでもよい。
【００３５】
デバイス１０２は、追加的にまたは代わりに、ＡＲＡネットワークにおけるデバイス１０２の役割または機能性に応じて、検出（discovery）モジュール２１２、ブロードキャスティングモジュール２１４、送信モジュール２１６、暗号化／復号化モジュール２１８、受信モジュール２２０、分析モジュール２２２、中継モジュール２２４、制御モジュール２２６、認証モジュール２２８、および／またはアドレス割り当てモジュール２３０を含んでもよい。これらのモジュールの詳細な機能は、以下で示される。
【００３６】
＜例示的なデバイス登録＞
１つの実装では、中央オフィス１０４においてＮＭＳに登録し、および／または、ＡＲＡネットワークのメンバーになる前に、デバイス１０２（例えば、デバイス１０２−３）は、最初にＡＲＡネットワークにアタッチしてもよい。例示的かつ非限定的に、要求デバイス１０２−３は、最初に、ＡＲＡネットワークにアタッチして、要求デバイス１０２−３がＡＲＡネットワークへの参加要求を、例えば、ＩＰレベルまたはレイヤにおいて送信することができることを示してもよい。例えば、要求デバイス１０２−３は最初に、ＭＡＣ（例えば、媒体アクセス制御）レベルまたはＭＡＣレイヤでＡＲＡネットワークにアタッチしてもよい。１つの実装では、要求デバイス１０２−３は、スマートユーティリティメータなどの、ＡＲＡネットワークを含むエリアに新たに配置されるデバイスに対応してもよい。代わりに、要求デバイス１０２−３は、図１に示すように、別のＡＲＡネットワークからＡＲＡネットワークに移動することを試みているデバイスに対応してもよい。
【００３７】
１つの実装では、要求デバイス１０２−３の検出モジュール２１２は、能動的にまたは受動的に、その近隣における１つまたは複数の近隣デバイス１０２（例えば、デバイス１０２−２）を検出してもよい。要求デバイス１０２−３の近隣デバイスは、例えば、要求デバイス１０２−３から通信可能に１ホップ離れたデバイスを含んでもよい。すなわち、近隣デバイスは、要求デバイスが通信リンクを介して直接通信することができるデバイスである。１つの実装では、要求デバイス１０２−３は、ＭＡＣレイヤにおいて、近隣検出サービスを実行してもよい。加えて、または、代わりに、検出モジュール２１２は、要求デバイス１０２−３が参加することを望んでいるＡＲＡネットワークに対して指定された所定の周波数または周波数範囲において、検出または受信された信号を調査することを通じて、その近隣における１つまたは複数の近隣デバイスを検出してもよい。
【００３８】
加えて、または代わりに、一部の実装では、要求デバイス１０２−３は、その近隣にある１つまたは複数のデバイスが要求を受信することを試みている際に、最初に、デバイスの近隣の任意のデバイスを認識もしくは検出して、または、認識もしくは検出することなく、ブロードキャストモジュール２１４を使用して、ＡＲＡネットワークに参加することの要求をブロードキャストしてもよく、ならびに、要求デバイス１０２−３の代わりに要求を処理し、および／または、要求デバイス１０２−３との接続を確立してもよい。
【００３９】
加えて、または代わりに、１つの実装では、ブロードキャストモジュール２１４は、要求デバイス１０２−３の存在をブロードキャストし、および、要求デバイス１０２−３の存在を監視して、要求デバイス１０２−３と通信する、ＡＲＡネットワークにおける１つまたは複数のデバイスを待ってもよい。１つの実装では、ブロードキャストモジュール２１４は、所定の周波数または周波数範囲で所定のコードまたはメッセージを使用して、要求デバイス１０２−３の存在をブロードキャストしてもよい。
【００４０】
要求デバイス１０２−３が、１つもしくは複数の近隣デバイス１０２を検出し、または、１つもしくは複数の近隣デバイス１０２が、要求デバイス１０２−３を検出したかにかかわらず、要求デバイス１０２−３は、近隣デバイス１０２（例えば、デバイス１０２-２）を選択し、および、近隣デバイス１０２−２に関連付けられたＡＲＡネットワークに参加することの要求を近隣デバイス１０２−２に送信してもよい。１つの実施形態では、要求デバイス１０２−３は、送信モジュール２１６を通じて、動的ホスト構成プロトコルバージョン６（ＤＨＣＰｖ６）またはＤＨＣＰｖ４要求を近隣デバイス１０２−２に送信してもよい。代わりに、要求デバイス１０２−３は、参加要求をビーコンメッセージに含め、および、送信モジュール２１６を通じて、ビーコンメッセージを近隣デバイス１０２−２に送信してもよい。
【００４１】
要求デバイス１０２−３は、ＡＲＡネットワークへの新たなデバイスのアドミッションを制御し、または、新たなデバイスの追加することを担当する、ＡＲＡネットワークに関連付けられた制御デバイスのアドレス（例えば、インターネットプロトコル（ＩＰ）アドレス）を認識してもよく、または、認識していなくてもよい。この例における制御デバイスは、エッジデバイス１０２−４、ＤＨＣＰサーバまたはＡＲＡの外部の別のデバイスを備えてもよい。特に、参加要求またはビーコンメッセージは、要求デバイス１０２−３の参加要求が最終的にそこに案内される必要があるＡＲＡネットワークに関連付けられた制御デバイスの宛先アドレスを含んでもよく、または、含まなくてもよい。
【００４２】
１つの実装では、要求デバイス１０２−３は、暗号化／復号化モジュール２１８を使用して、暗号鍵によって参加要求またはビーコンメッセージのすべてまたは一部を暗号化してもよい。暗号鍵は、秘密鍵または対称鍵を備えてもよい。１つの実装では、デバイス１０２の各々は（ＡＲＡネットワークのメンバーであるデバイス、または、ＡＲＡネットワークに参加することが許可可能なデバイスであるか）、製造の間にまたはその後に、同一の公開／秘密鍵のペア、または、同一の対称鍵を共有してもよい。一部の実装では、デバイス１０２の各々は（ＡＲＡネットワークのメンバーであるデバイス、または、ＡＲＡネットワークに参加することが許可可能なデバイスであるか）、デバイス１０２の各々によってアクセス可能な所定の暗号／復号鍵のプールから選択された暗号／復号鍵または対称鍵を有してもよい。１つの実装では、デバイス１０２の各々は（ＡＲＡネットワークのメンバーであるデバイス、または、ＡＲＡネットワークに参加することが許可可能なデバイスであるか）、自身、ならびに１つもしくは複数の他のデバイスおよび／もしくはサーバ（中央オフィス１０４、認証サーバ１２０、および／またはＡＲＡネットワークの制御デバイスなど）のみに知られた暗号／復号鍵または対称鍵を有してもよい。他の実装では、要求デバイス１０２は、例えば、プレーンフォーマットで、暗号化をせずに参加要求またはビーコンメッセージを送信してもよい。
【００４３】
加えて、または、代わりに、１つの実装では、参加要求は、要求デバイス１０２−３の識別子、ならびに／または、認証署名（authentication signature）、ノンス、または要求デバイス１０２−３に登録されており、および、ＡＲＡネットワーク、ＡＲＡネットワークの制御デバイス、中央オフィス１０４におけるＮＭＳ、および／もしくは認証サーバ１２０に知られた所定の鍵（例えば、上記暗号鍵、対称鍵、または公開鍵）を使用して、署名もしくは暗号化されている任意の値などの認証情報を含んでもよいが、それらに限定されない。一部の実装では、参加要求はさらに、メッセージ、コード、または要求デバイス１０２−３が独立デバイスであるかを示している他のインジケータを含んでもよい。例示的かつ非限定的に、要求デバイス１０２−３は、要求デバイス１０２−３がＡＲＡネットワーク以外の他のネットワーク（図示せず）に参加することが不可能な場合に、独立しているものと判定されてもよい。加えて、または、代わりに、要求デバイス１０２−３は、要求デバイス１０２−３が、要求デバイス１０２−３が位置しているエリアをカバーする他のネットワークを検出しない場合に、独立しているものと判定されてもよい。加えて、または、代わりに、要求デバイス１０２−３は、要求デバイス１０２−３が別のネットワーク（図１に示すような）からＡＲＡネットワークへ移動することを試みており、ならびに、この別のネットワークおよびＡＲＡネットワークが、要求デバイス１０２−３が位置しているエリアをカバーしているネットワークのみである場合に、独立しているものと判定されてもよい。加えて、または、代わりに、要求デバイス１０２−３は、ＡＲＡネットワーク以外のそのエリアにおけるすべての検出されたネットワークを使い果たしていた場合に（すなわち、参加することを試行し、および、失敗していた）、独立しているものと判定されてもよい。加えて、または、代わりに、要求デバイス１０２−３（すなわち、参加することに失敗していた）は、ＡＲＡネットワークが、要求デバイス１０２−３と、例えば、ＮＭＳおよびＤＨＣＰサーバなどの１つもしくは複数のサーバとの間の接続性を提供することができるネットワークのみである場合に、独立しているものと判定されてもよい。
【００４４】
一部の実装では、参加要求を近隣デバイス１０２−２に送信すると、要求デバイス１０２−３は、近隣デバイス１０２−２を介してＡＲＡネットワークから応答を待つ。応答は、ＡＲＡネットワークに参加することの要求デバイス１０２−３の参加要求が許可または拒絶されるかを示してもよい。応答が、要求デバイス１０２−３の参加要求が拒絶または否定されたことを示している場合に、要求デバイス１０２−３は、別のＡＲＡネットワークを探索し、および、要求デバイスが発見することができる他のＡＲＡネットワークに参加要求を送信してもよい。
【００４５】
参加要求が許可される場合、応答は、例えば、ＡＲＡネットワークに関連付けられたグループ鍵、要求デバイス１０２−３がＡＲＡネットワークに参加するための構成情報、および／または要求デバイス１０２−３に割り当てられたアドレス（例えば、インターネットプロトコル（ＩＰ）アドレス）を含んでもよい。加えて、または、代わりに、一部の実装では、応答は、例えば、ＡＲＡネットワーク内で要求デバイス１０２−３からデータパケットをルーティングする制御デバイスによって指定された１つもしくは複数のパスに従ったデバイスのアドレス情報、ならびに／または、ＡＲＡネットワークに関連付けられた制御デバイスのアドレス情報を含む、ＡＲＡネットワーク内の１つもしくは複数のデバイス１０２のアドレス情報を含んでもよい。１つの実装では、応答の一部もしくはすべては（例えば、グループ鍵など）は、要求デバイス１０２−３の対称鍵を使用して暗号化されてもよい。加えて、または、代わりに、応答の一部もしくはすべては（例えば、制御デバイスのアドレス情報など）は、ＡＲＡネットワークに関連付けられたグループ鍵を使用して暗号化されてもよい。
【００４６】
一部の実装では、要求デバイス１０２−３は単に、例えば、ＤＨＣＰｖ６もしくはＤＨＣＰｖ４プロトコルを使用して、ＡＲＡネットワーク（例えば、ＡＲＡネットワークの近隣デバイス１０２−２）とシングルハンドシェイクまたは交換（例えば、参加要求に対するシングルアップストリームメッセージおよび参加要求への応答に対するシングルダウンストリームメッセージ）を実行して、ＡＲＡネットワークへの参加を実現してもよい。１つの実装では、要求デバイス１０２−３および／またはＡＲＡネットワークは、シングルハンドシェイクまたは交換を使用して、相互認証（例えば、ＡＲＡネットワークもしくは認証サーバ１２０による要求デバイス１０２−３の識別の認証、または、要求デバイス１０２−３によるＡＲＡネットワークの識別の認証）を実現してもよい。
【００４７】
例示的および非限定的に、要求デバイス１０２−３の対称または非対称鍵（例えば、秘密／公開鍵）が、要求デバイス１０２−３、ならびに、ＡＲＡネットワークに関連付けられた１つもしくは複数の他のデバイスおよび／またはサーバ（認証サーバ１２０、中央オフィス１０４、および／または制御デバイス）のみに知られる場合（または、知られると仮定される場合）、要求デバイス１０２−３およびＡＲＡネットワークは、要求デバイス１０２−３の対称または非対称鍵を使用して相互に認証してもよい。例えば、認証サーバ１２０が、例えば、要求デバイス１０２−３の対称もしくは非対称鍵（例えば、公開鍵）を使用して、暗号化されていたノンスまたは署名（参加要求に含まれてもよい）を復号化することに成功していた場合、ＡＲＡネットワークは、要求デバイス１０２−３の識別を認証してもよい。さらに、例えば、要求デバイス１０２−３が、要求デバイス１０２−３の対称もしくは非対称鍵（例えば、公開鍵）を使用して、暗号化されていた暗号グループ鍵（例えば、参加要求への応答に含まれる、以前に送信されたノンスまたは署名などの他の情報）を復号化するに成功することができた場合、要求デバイス１０２−３は、ＡＲＡネットワークを認証してもよい。一部の実装では、暗号グループ鍵が、ＡＲＡネットワークを認証するソースとして使用される場合、要求デバイス１０２−３はさらに、要求デバイス１０２−３が復号グループ鍵を使用してＡＲＡネットワークにおける他のデバイスとの通信に成功することができる場合に、ＡＲＡネットワークの信頼性（authenticity）を判定してもよい。代替的な実装では、要求デバイス１０２−３は、場合によってはＴＣＰ／ＩＰプロトコルおよび／またはインターネットプロトコルなどの１つもしくは複数のプロトコルを使用して、ＡＲＡネットワークとの複数のハンドシェイクまたは交換を実行して、ＡＲＡネットワークに参加することを実現してもよい。
【００４８】
１つの実装では、近隣デバイス１０２−２は、近隣デバイス１０２−２の受信モジュール２２０を通じて、要求デバイス１０２−３から送信またはブロードキャストされた参加要求を受信してもよい。参加要求またはビーコンメッセージが暗号化されている場合、近隣デバイス１０２−２は、近隣デバイス１０２−２の暗号化／復号化モジュール２１８を使用して、参加要求またはビーコンメッセージを復号化してもよい。近隣デバイス１０２−２は、参加要求を解析し（復号化され、または暗号化されていない場合の元々プレーンの）、および、分析モジュール２２２を通じて、要求デバイス１０２−３がＡＲＡネットワークに参加することを要求しているかの判定をしてもよい。
【００４９】
一部の実装では、要求デバイス１０２が近隣デバイス１０２−２のＡＲＡネットワークに参加することを要求していると判定したことに応答して、近隣デバイス１０２−２は、参加要求をＡＲＡネットワークに関連付けられた制御デバイス（例えば、デバイス１０２−４）に中継してもよい。１つの実装では、近隣デバイス１０２−２は、制御デバイスのアドレス（例えば、ＩＰアドレス）を認識してもよく、および、中継モジュール２２４を通じて参加要求を制御デバイスに中継してもよい。１つの実装では、例示的および非限定的に、中継モジュール２２４は、要求デバイス１０２−３から送信された参加要求を制御デバイスに中継する（ＤＨＣＰｖ６）、中継エージェント、例えば、ＤＨＣＰｖ６中継エージェントを含んでもよい。例えば、近隣デバイス１０２−２の中継モジュール２２４は、要求デバイス１０２−３の参加要求を含むデータパケットの宛先アドレスとして、制御デバイスのＩＰアドレスを挿入し、および、近隣デバイス１０２−２の親デバイスを通じて、データパケットを制御デバイスに、直接または間接に中継してもよい。
【００５０】
代わりに、近隣デバイス１０２−２が制御デバイスのアドレスを認識していない場合、近隣デバイス１０２−２の中継モジュール２２４は、例えば、親デバイスのＩＰアドレスを挿入し、ならびに、近隣デバイス１０２−２の親デバイスが、要求デバイス１０２−３の参加要求を制御デバイスに中継することを指示または許可することによって、データパケット（要求デバイス１０２−３の要求を含む）をＡＲＡネットワークにおける近隣デバイス１０２−２の親デバイスに中継してもよい。
【００５１】
加えて、または、代わりに、参加要求が制御デバイスまたは近隣デバイス１０２−２の親デバイスに中継されるかにかかわらず、近隣デバイス１０２−２はさらに、近隣デバイス１０２−２の暗号鍵を使用して、中継された要求を暗号化してもよい。１つの実装では、この暗号鍵は、ＡＲＡネットワークに関連付けられ、および、ＡＲＡネットワークにおける各デバイスに配信されるグループ鍵を含んでもよい。一部の実装では、この暗号鍵は、ＡＲＡネットワークの各デバイス１０２によりアクセス可能であり、および、近隣デバイス１０２−２に割り当てられた暗号／復号鍵のプールから選択された暗号鍵を含んでもよい。一部の他の実装では、近隣デバイス１０２−２は、例えば、暗号化しないで要求をプレーンフォーマットで中継してもよい。１つの実装では、近隣デバイス１０２−２は、そのアドレスを、近隣デバイス１０２−２が要求デバイス１０２−３の代わりに中継している要求のソースアドレスとして使用してもよい（または、要求デバイス１０２−３の参加要求のソースアドレスを近隣デバイス１０２−２のアドレスに置き換える）。このことは、ＡＲＡネットワークに関連付けられた他のデバイスまたはサーバからの応答を、要求デバイス１０２−３に返信（例えば、参加要求に対する）を適切に転送し戻すことを可能にする。例えば、要求デバイス１０２−３への応答または返信（例えば、参加要求に対する）は、近隣デバイス１０２−２のアドレスを、宛先アドレスとして使用してもよく、したがって、近隣デバイス１０２−２に対し、要求デバイス１０２−３への応答または返信を転送または中継することを要求してもよい。
【００５２】
一部の実装では、近隣デバイス１０２−２は、ＡＲＡネットワークの状態、および／または、要求デバイス１０２−３の状態にかかわらず、要求デバイス１０２−３の参加要求を中継する。加えて、または、代わりに、一部の実装では、近隣デバイス１０２−２は、制御デバイス１０２−４から、ＡＲＡネットワークに追加または参加されることになる新たなデバイスが独立デバイスでないかぎり、ＡＲＡネットワークへの新たなデバイスのアドミッションを受け入れなくてもよいことを示す命令を受信してもよい。この後者のケースでは、近隣デバイス１０２−２の分析モジュール２２２はさらに、例えば、受信モジュール２２０から受信された参加要求に基づいて、要求デバイス１０２−３が独立デバイスであるかを判定してもよい。要求デバイス１０２−３が独立デバイスでないと判定したことに応答して、近隣デバイス１０２−２は、要求デバイス１０２−３に、例えば、近隣デバイス１０２−２が前に、制御デバイス１０２−４から、独立デバイス以外の新たなデバイスのアドミッションを拒絶する命令を受信していたことを理由に、ＡＲＡネットワークへの参加の要求が拒絶されることを示す応答またはフィードバックを送信してもよい。
【００５３】
一部の実装では、近隣デバイス１０２−２からの中継された要求を受信したことに応答して、ＡＲＡネットワークに関連付けられた制御デバイスは、ＡＲＡネットワークの状態に基づいて、要求デバイス１０２−３の参加要求を許可または拒絶するかを判定してもよい。制御デバイスは、制御モジュール２２６を使用して、要求デバイス１０２−３の参加要求を許可または拒絶するかを判定してもよい。１つの実装では、制御デバイスは、アドミッション制御の権限（authority）の役割を果たしてもよい。１つの実装では、制御デバイスは、ＡＲＡネットワークのルートもしくはエッジデバイス（例えば、デバイス１０２−４）、ＡＲＡネットワークのルータを備えてもよく、または、ＡＲＡネットワークの１つもしくは複数のノードに分散されてもよい。一部の実装では、制御デバイスは、代わりに、中央オフィス１０４などのバックエンドデバイス、中央オフィス１０４によって管理される１つもしくは複数のＡＲＡネットワークのルーティングツリーのルート、または中央オフィス１０４に所属することができる別のサーバ１２２に位置してもよい。一部の実装では、制御デバイスは、１つまたは複数の他のサーバ１２２に含まれてもよいＤＨＣＰまたはＤＨＣＰｖ６サーバを含んでもよい。１つの実装では、制御デバイスがＤＨＣＰもしくはＤＨＣＰｖ６サーバを含まず、またはＤＨＣＰもしくはＤＨＣＰｖ６サーバの１つもしくは複数の機能を含んでいる場合、制御デバイスは、参加要求をＤＨＣＰもしくはＤＨＣＰｖ６サーバに中継してもよい。一部の実装では、制御デバイスは、ＤＨＣＰもしくはＤＨＣＰｖ６サーバ、ルートデバイス、エッジデバイス、ルータ、中央オフィス１０４などのバックエンドデバイス、または別のサーバ１２２を含む、１つまたは複数のデバイスの組み合わせを含んでもよい。本出願の参照を容易にするために、デバイス１０２−４は、制御デバイスと称される。デバイス１０２−４は、ルートノード、エッジルータ、またはバックホールネットワーク１０６を介して、ＡＲＡネットワークを中央オフィス１０４に結合するＡＲＡネットワークの他のエッジデバイスを表す。
【００５４】
一部の実装では、近隣デバイス１０２−２から中継された要求を受信したことに応答して、制御デバイス１０２−４は、ＡＲＡネットワーク上での負荷が所定の閾値を超えているかに基づいて、要求デバイス１０２−３の要求を許可または拒絶するかを判定してもよい。例示的かつ非限定的に、制御デバイス１０２−４は、ＡＲＡネットワークが、過負荷（例えば、ＡＲＡネットワークにおけるデバイスの現在の数が、収容に対する所定の閾値以上であるか）であるかに基づいて、要求デバイス１０２−３の要求を許可または拒絶するかを判定してもよい。加えて、または、代わりに、制御デバイス１０２−４は、ＡＲＡネットワークの統計（現在／平均帯域幅使用量、現在／平均衝突率、現在／平均のデータパケットのドロップ率、現在／平均データトラフィックなど）が、統計に対する所定の閾値以上であるかに基づいて、要求デバイス１０２−３の要求を許可または拒絶するかを判定してもよい。
【００５５】
１つの実装では、ＡＲＡネットワーク上での負荷が所定の閾値を超えていると判定したことに応答して（例えば、統計が、統計に対する所定の閾値以上である）、制御デバイス１０２−４は、要求デバイス１０２−３の（ＤＨＣＰまたはＤＨＣＰｖ６）参加要求を拒絶してもよい。代わりに、一部の実装では、制御デバイス１０２−４はさらに、例えば、受信された要求における情報に基づいて、要求デバイス１０２-４が独立デバイスであるかを判定してもよい。受信された要求における情報は、例えば、要求デバイス１０２−３が独立デバイスであることを示すインジケータを含んでもよい。要求デバイス１０２−３が独立デバイスであると判定したことに応答して、制御デバイス１０２−４は、ＡＲＡネットワークの状態にかかわらず（すなわち、ＡＲＡネットワーク上での負荷が所定の閾値を超えているかにかかわらず）、要求デバイス１０２−３がＡＲＡネットワークに参加することを許可してもよい。
【００５６】
一部の実装では、制御デバイス１０２−４はさらに、認証モジュール２２８を使用して、要求デバイス１０２−３の信頼性を判定してもよい。例えば、制御デバイス１０２−４の認証モジュール２２８は、要求デバイス１０２−３の識別子、または、受信された要求に含まれる認証署名に基づいて、要求デバイス１０２−３の信頼性を判定してもよい。加えて、または、代わりに、制御デバイス１０２−４は、要求を解析し、および、要求デバイス１０２−３の識別子または認証署名を、セキュリティサーバまたは認証・認可・会計（ＡＡＡ）サーバ１２０などの認証サーバに送信してもよい。セキュリティサーバまたＡＡＡサーバ１２０は、例えば、中央オフィス１０４によって管理される１つもしくは複数のＡＲＡネットワーク（現在のＡＲＡネットワークを含む）に参加しているデバイスの識別を認証することを担当してもよい。１つの実装では、セキュリティサーバまたＡＡＡサーバ１２０は、ＡＲＡネットワークの外部に位置してもよい。一部の実装では、セキュリティサーバまたＡＡＡサーバ１２０は、制御デバイス１０２−４の同一のＡＲＡネットワーク内の別のノードまたはデバイス（例えば、デバイス１０２−１）であってもよい。制御デバイス１０２−４は、例えば、ＲＡＤＩＵＳ（すなわち、Ｒｅｍｏｔｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｄｉａｌ  Ｉｎ  Ｕｓｅｒ  Ｓｅｒｖｉｃｅ）などのネットワークのプロトコルを使用して、要求デバイス１０２−３の識別子および／または認証署名を含む情報を、セキュリティサーバまたＡＡＡサーバに送信してもよい。本出願における参照を容易にするために、ＡＡＡサーバは、１つまたは複数のＡＲＡネットワークに参加するデバイスの識別を認証する動作を示す例として使用されてもよい。
【００５７】
１つの実装では、例えば、要求デバイス１０２−３の識別子および／または認証署名に基づいて、要求デバイス１０２−３の識別の認証に成功すると、ＡＡＡサーバ１２０は、制御デバイス１０２−４または制御デバイス１０２−４に関連付けられ、または、接続されたＤＨＣＰサーバに、要求デバイス１０２−３の識別の認証が成功したことを示すメッセージを送信してもよい。加えて、または、代わりに、一部の実装では、ＡＡＡサーバ１２０はさらに、ＡＲＡネットワークに関連付けられたグループ鍵（例えば、グループリンクレイヤ鍵）を、制御デバイス１０２−４または制御デバイス１０２−４のＤＨＣＰサーバに送信してもよい。加えて、または、代わりに、ＡＡＡサーバ１２０は、ＡＲＡネットワークに関連付けられたグループ鍵（例えば、グループリンクレイヤ鍵）によって署名または暗号化されたメッセージを、制御デバイス１０２−４または制御デバイス１０２−４に関連付けられたＤＨＣＰサーバに送信してもよい。１つの実装では、制御デバイス１０２−４は、ＡＲＡネットワークに関連付けられたグループ鍵を事前に格納していてもよく、したがって、グループ鍵を使用して、暗号化されたメッセージを復号化してもよい。１つの実装では、制御デバイス１０２−４は、要求デバイス１０２−３の公開または対称鍵の情報を有しなくてもよい。この例では、ＡＡＡサーバ１２０は、要求デバイス１０２−３の公開または対称鍵を使用して、グループ鍵を暗号化してもよく、および、要求デバイス１０２−３の公開または対称鍵を使用して暗号化されていたグループ鍵を、要求デバイス１０２−３に転送することができる制御デバイス１０２−４へのメッセージ（暗号化されたグループ鍵を含む）を、ＡＲＡネットワークに関連付けられたグループ鍵を使用して暗号化してもよい。
【００５８】
１つの実装では、制御デバイス１０２−４およびＤＨＣＰサーバが別個のデバイスである場合に、ＡＡＡサーバ１２０は、メッセージを制御デバイス１２０−４に関連付けられたＤＨＣＰサーバに送信してもよい（例えば、認証要求が、ＤＨＣＰサーバから、またはＤＨＣＰを通じて制御デバイス１０２−４から送信された後に）。メッセージを受信したことに応答して、ＤＨＣＰサーバはメッセージを分析し、および、要求デバイス１０２−３の識別が認証されたかを判定してもよい。加えて、または、代わりに、ＤＨＣＰサーバは、メッセージを制御デバイス１０２−４に中継してもよい。一部の実装では、認証要求が制御デバイス１０２−４から送信されたときに（または、制御デバイス１０２−４およびＤＨＣＰサーバが別個のデバイスである場合に、ＤＨＣＰサーバを通じて制御デバイス１０２−４から）、ＡＡＡサーバ１２０は、メッセージを制御デバイス１０２−４に直接送信してもよい。メッセージがＤＨＣＰサーバから中継され、または、ＡＡＡサーバ１２０から直接送信されるかにかかわらず、１つの実装では、ＡＡＡサーバ１２０からメッセージを受信したことに応答して、制御デバイス１０２−４は、メッセージを分析し、および、要求デバイス１０２−３の識別が認証されるかを判定してもよい。要求デバイス１０２−３の識別が認証されることを判定したことに応答して、制御デバイス１０２−４は、上述した実装で示したような、要求デバイス１０２−３の公開鍵または対称鍵（制御デバイス１０２−４が、例えば、要求デバイス１０２−３の公開鍵または対称鍵を有しているかに応じて）を使用して暗号化されてもよく、または、暗号化されていなくてもよいメッセージを、要求デバイス１０２−３に送信してもよく、メッセージは、要求デバイス１０２−３の識別が認証されているか、および／または、要求デバイス１０２−３がＡＲＡネットワークに加わることを許可されているかを示している。加えて、または、代わりに、一部の実装では、制御デバイス１０２−４は、ＡＲＡネットワークに関連付けられたグループ鍵を使用して、後に近隣デバイス１０２−２によって後に復号化および解析されてもよいメッセージを、要求デバイス１０２−３を暗号化してもよい。１つの実装では、メッセージはさらに、例えば、ＡＲＡネットワークに関連付けられたグループ鍵、および、例えば、ＡＡＡサーバ１２０から受信された暗号グループ鍵などの、要求デバイス１０２−３の公開または対称鍵を使用して暗号化されてもよく、または、暗号化されなくてもよい他の情報を含んでもよい。一部の実装では、メッセージを受信したことに応答して、要求デバイス１０２−３は、暗号化されている場合に（例えば、要求デバイス１０２−３の公開または対称鍵を使用して）、メッセージを復号化し、および、ＡＲＡネットワークに関連付けられたグループ鍵を取り出してもよい。加えて、または、代わりに、要求デバイス１０２−３は、暗号化されたグループ鍵（要求デバイス１０２−３の公開または対称鍵を使用して、ＡＡＡサーバ１２０において暗号化されたグループ鍵など）を復号化して、グループ鍵を取り出してもよい。そして、要求デバイス１０２−３は、ＡＲＡネットワークの他のデバイスとのデータ（例えば、グループ鍵を使用して暗号化されたデータ）の送信および／または受信を許可されてもよい。
【００５９】
一部の実装では、制御デバイス１０２−４（または、制御デバイス１０２−４に関連付けられたＤＨＣＰサーバ）はさらに、送信モジュール２１６を使用して、登録要求をＮＭＳに送信してもよい。登録要求は、例えば、制御デバイスに関連付けられた秘密鍵（公開／秘密鍵の）、ＡＲＡネットワークに関連付けられたグループ鍵、および／または要求デバイス１０２−３に関連付けられた鍵を使用して署名または暗号化されてもよい、要求デバイス１０２−３の識別子を含んでもよい。１つの実装では、制御デバイス１０２−４は、プレーンの非暗号化フォーマットで登録要求をＮＭＳに送信してもよい。
【００６０】
登録要求を制御デバイス１０２−４から受信すると、ＮＭＳは、メッセージが暗号化されている場合に、メッセージを復号化し、メッセージを解析し、および、要求デバイス１０２−３の識別子を取得してもよい。一部の実装では、ＮＭＳはさらに、要求デバイス１０２−３に関連付けられた情報および／またはＡＲＡネットワークに関連付けられた情報を取り出してもよい。１つの実装では、ＮＭＳは、取り出した情報に基づいて、要求デバイス１０２−３がＡＲＡネットワークに参加し、または、セットアップすることに利用可能な構成情報またはパラメータを判定してもよい。取り出した情報は、要求デバイス１０２−３のモデルタイプもしくはデバイスタイプ、要求デバイス１０２−３が参加を要求しているＡＲＡネットワークのタイプを含んでもよいが、それらに限定されない。加えて、または、代わりに、ＮＭＳは、構成情報またはパラメータを、制御デバイス１０２−４または制御デバイス１０２−４のＤＨＣＰサーバに送信してもよい。
【００６１】
１つの実装では、ＮＭＳから構成情報またはパラメータを受信したことに応答して、制御デバイス１０２−４（または、ＤＨＣＰサーバ）のアドレス割り当てモジュール２３０は、要求デバイス１０２−３に対する新たなアドレス（例えば、ＩＰｖ６アドレスなどの新たなＩＰアドレス）を判定してもよい。１つの実装では、制御デバイス１０２−４（または、ＤＨＣＰサーバ）は、中継エージェントに割り当てられたプレフィックスに基づいて、例えば、制御デバイス１０２−４（または、ＤＨＣＰサーバ）が採用することができる新たなアドレスを判定してもよい。加えて、または、代わりに、制御デバイス１０２−４（または、ＤＨＣＰサーバ）は、制御デバイス１０２−４のＡＲＡネットワークにおけるデバイスに割り当てられ、または、デバイスによって共有されるプレフィックスに基づいて、新たなアドレスを判定してもよい。１つの実装では、要求デバイス１０２−３に割り当てられた新たなアドレスは、制御デバイス１０２−４（または、ＤＨＣＰサーバ）の中継エージェントに割り当てられ、または、ＡＲＡネットワークにおける各デバイスによって指定もしくは共有されたプレフィックスを含んでもよい。一部の実装では、制御デバイス１０２−４（または、ＤＨＣＰサーバ）はさらに、ランダム番号を生成し、および、このランダム番号を新たなアドレスの残りに使用してもよい。加えて、または、代わりに、制御デバイス１０２−４（または、ＤＨＣＰサーバ）は、前に、デバイスがＡＲＡネットワークに追加するのに使用されることになる複数のアドレス（例えば、ＩＰｖ６アドレス）を保持および記憶していてもよい。制御デバイス１０２−４（または、ＤＨＣＰサーバ）は、要求デバイス１０２−３に割り当てるために複数のアドレスから、ランダムにまたはシーケンシャルにアドレスを選択してもよい。
【００６２】
加えて、または、代わりに、一部の実装では、要求デバイス１０２−３に割り当てられることになる新たなアドレスを判定すると、制御デバイス１０２−４（または、ＤＨＣＰサーバ）はさらに、ＤＮＳ（すなわち、ドメインネームシステム）でこの新たなアドレスをチェックして、この新たなアドレスが現在、任意の他のデバイスに割り当てられているかを判定してもよい。１つの実装では、制御デバイス１０２−４（または、ＤＨＣＰサーバ）は、新たなアドレスおよび要求デバイス１０２−３の識別子をＤＮＳサーバに送信してもよい。制御デバイス１０２−４（または、ＤＨＣＰサーバ）がＤＮＳサーバから、新たなアドレスが現在他のデバイスに割り当てられていることを示す返信を受信した場合、制御デバイスは、要求デバイス１０２−３に対して別の新たなアドレスを再判定し、および、ＤＮＳサーバで再判定した新たなアドレスをチェックして、再判定した新たなアドレスの使用可能性を保証してもよい。新たなアドレスまたは再判定した新たなアドレスが利用可能である場合、ＤＮＳサーバは、新たなアドレスまたは再判定した新たなアドレスを、要求デバイス１０２−３の識別子で登録し、および、要求デバイス１０２−３に対して、新たなアドレスまたは再判定した新たなアドレスを保持してもよい。
【００６３】
１つの実装では、要求デバイス１０２−３に割り当てられることになる新たなアドレスを確認すると、制御デバイス１０２−４は、応答（例えば、ＤＨＣＰ応答）を要求デバイス１０２−３に提供してもよい。例示的かつ非限定的に、応答は、割り当てられたアドレス（例えば、割り当てられたＩＰｖ６グローバルアドレス）、ＡＲＡネットワークに関連付けられたグループ鍵（例えば、グループリンクレイヤ鍵）、および／または要求デバイス１０２−３がＡＲＡネットワークに参加もしくはセットアップすることに利用可能な構成情報もしくはパラメータを含んでもよいが、これらに限定されない。１つの実装では、制御デバイス１０２−４（または、ＤＨＣＰサーバ）は、要求デバイス１０２−３に応答を送信してもよい。一部の実装では、要求デバイス１０２−３のグローバルアドレスを認識し、または認識しないで（例えば、新たなアドレスがいまだに割り当てられていないことから）、制御デバイス１０２−４（または、ＤＨＣＰサーバ）は、近隣デバイス１０２−２（および、制御デバイス１０２−４がＡＲＡネットワークの外部に位置している場合に、ＡＲＡネットワークに向かわせる（heading）ルータ）を介して、応答を要求デバイス１０２−３に送信してもよい。例えば、制御デバイス１０２−４（または、ＤＨＣＰサーバ）は、近隣デバイス１０２−２に応答を送信し、および、近隣デバイス１０２−２が応答を要求デバイス１０２−３に中継することを要求してもよい。要求デバイス１０２−３との通信を確立した近隣デバイス１０２−２は、ＤＨＣＰｖ６プロトコルを使用したメッセージまたはビーコンメッセージを通じて、応答を要求デバイス１０２−３に中継してもよい。加えて、または、代わりに、近隣デバイス１０２−２は、その近隣において、応答をブロードキャストしてもよく、ならびに、近隣デバイス１０２−２に隣接する要求デバイス１０２−３は、ブロードキャスト応答を受信し、および、応答を解析して、例えば、ＡＲＡネットワークに参加することなどの新たなアドレスが割り当てられた情報を取得してもよい。
【００６４】
参加要求への応答を受信すると、要求デバイス１０２−３は、例えば、応答に含まれる構成情報またはパラメータに基づいて、ＡＲＡネットワーク内の通信に対する構成パラメータを構成してもよい。例えば、要求デバイス１０２−３は、２以上のルーティングパスおよび／または近隣デバイスが利用可能である場合に、どのルーティングパスおよび／または近隣デバイスを使用するかを決定することによって、ＡＲＡネットワークへのルーティングトポロジにアタッチしてもよい。加えてまたは、代わりに、要求デバイス１０２−３は、ＡＲＡネットワークのルートノードにメッセージを送信して、例えば、ＡＲＡネットワークへのその到達を通知してもよい。要求デバイス１０２−３は、ルートノードからの確認応答を要求もしくは必要としてもよく、または、要求もしくは必要としなくてもよい。ルートノードからの確認応答が要求もしくは必要とされる場合、要求デバイス１０２−３は、ルートノードから送信される確認応答を待ってもよい。１つの実装では、所定の期間にルートノードから確認応答が受信されない場合、要求デバイス１０２−３が、メッセージをルートノードに再送信してもよい。要求デバイス１０２−３は、確認応答の受信失敗の所定の数、メッセージを再送信してもよい。加えて、または、代わりに、要求デバイス１０２−３は、異なるルーティングパスおよび／または近隣デバイス１０２を選択して、メッセージをルートノードに転送または中継してもよい。ルートノードから確認応答を受信すると、要求デバイス１０２−３は、ＡＲＡネットワークにおいて、例えば、要求デバイス１０２−３に宛先指定されていないパケットをルーティングおよび／もしくは転送し、要求デバイス１０２−３にアドレス指定されたパケットを処理し、要求ノード１０２-３に宛先指定されたパケット（要求された場合）に応答するなどの通常の動作の実行を開始してもよい。所定の数の再試行の間に、ルートノードから確認応答が受信されない場合、要求デバイス１０２−３は、ルートノードから確認応答が受信されているか、所定の時間間隔の後に再び、到達メッセージを再送信し、または、利用可能である場合に別の隣接ＡＲＡネットワークに移動することを決定するなどの通常動作の実行を開始してもよい。
【００６５】
＜例示的なデバイス移動＞
一部の実装では、ＡＲＡネットワーク内のデバイス１０２は、ＡＲＡネットワークから別のＡＲＡネットワークに離脱または移動することを決定または開始してもよい。例示的かつ非限定的に、デバイス１０２は、デバイス１０２および／またはＡＲＡネットワークに関連付けられた１つもしくは複数のネットワーク状態に基づいて、ＡＲＡネットワーク（デバイス１０２が現在アタッチしている）から、別のＡＲＡネットワークに離脱または移動することを決定または開始してもよい。例えば、デバイス１０２は、デバイス１０２との通信品質（例えば、リンクレイヤ通信品質）が、例えば、所定の品質閾値を下回る、プア（ｐｏｏｒ）または低下している場合に、ＡＲＡネットワークから別のＡＲＡネットワークに移動することを開始してもよい。加えて、または、代わりに、デバイス１０２は、ＡＲＡネットワークのルータが機能していない場合に、ＡＲＡネットワークから別のＡＲＡネットワークに移動してもよい。加えて、または、代わりに、デバイス１０２は、現在のＡＲＡネットワークにアタッチしている間に、その環境におけるそれをリスン（listen）し、および、他の隣接ＡＲＡネットワークの存在を検出もしくは発見してもよい。デバイス１０２は、これらの隣接ネットワークによって提供されるサービス品質（ＱｏＳ）などの性能に関して学習してもよい。デバイス１０２は、他のＡＲＡネットワークが、デバイス１０２が現在アタッチしているＡＲＡネットワークよりも高い、サービス品質などの性能を提供している場合に、ＡＲＡネットワークから別のＡＲＡネットワークに移動してもよい。１つの実装では、デバイス１０２は、１つまたは複数のポリシまたは基準に基づいて、移動に対して、隣接ＡＲＡネットワークを選択してもよい。これらのポリシまたは基準の例は、デバイス１０２が現在アタッチしているＡＲＡネットワークと比較した、少なくとも、ＱｏＳ、時間もしくは応答遅延、スループット、パケットドロップ率などの性能に関する改善の所定の量または割合を提供するネットワークを選択することを含んでもよいが、それに限定されない。
【００６６】
加えて、または、代わりに、デバイス１０２は、制御デバイス１０２−４（または、ＡＲＡネットワークに向かわせるルータなどのＡＲＡネットワークにおけるデバイス１０２）によって、ＡＲＡネットワークにおけるデバイスの過密集もしくは過負荷、ＡＲＡネットワークに関連付けられた性能の低下（例えば、パケットドロップ率の増加、利用可能な帯域幅の低減、衝突率の増加など）、ＡＲＡネットワークと別のネットワークとの間の負荷分散などの、ＡＲＡネットワークに関連付けられた管理上の理由から、ＡＲＡネットワークから別のＡＲＡネットワークに移動することを強制されてもよい。加えて、または、代わりに、制御デバイス１０２−４は、ＡＲＡネットワークがフル（full）であり（例えば、ＡＲＡネットワーク上での現在の負荷が所定の閾値以上）、および、ＡＲＡネットワークに参加することを要求している新たなデバイスが独立デバイスである場合に、デバイス１０２が、ＡＲＡネットワークから別のＡＲＡネットワークに移動することを強制してもよい。
【００６７】
１つの実装では、制御デバイス１０２−４が、一部のデバイス１０２がＡＲＡネットワークから離脱し、または、別のＡＲＡネットワークに移動することを必要としている場合に、制御デバイス１０２−４は、ＡＲＡネットワークからデバイス１０２をランダムに選択することによって、ＡＲＡネットワークにおけるどの１つまたは複数のデバイスが離脱または移動するかを判定してもよい。一部の実装では、制御デバイス１０２−４は、ＡＲＡネットワークにおける各デバイスに関連付けられた情報に基づいて、離脱または移動するか１つまたは複数のデバイスを選択してもよい。１つの実装では、制御デバイス１０２−４は、個々のデバイス１０２がＡＲＡネットワークに参加するときに、ＡＲＡネットワークにおける各デバイス１０２に関連付けられた情報を記憶してもよい。
【００６８】
加えて、または、代わりに、制御デバイス１０２−４は、ＡＲＡネットワークにおける１つまたは複数のデバイス１０２が別のＡＲＡネットワークに離脱、または、移動することを強制することを決定したことに応答して、ＡＲＡネットワークにおける各デバイスを調査してもよい。加えて、または、代わりに、制御デバイス１０２−４は、ＡＲＡネットワークにおけるデバイス１０２に問い合わせて、それらのどのデバイスが、ＡＲＡネットワークから離脱、または、移動することが可能であるかを判定してもよい。加えて、または、代わりに、制御デバイス１０２−４は、ＡＲＡネットワークにおける各デバイス１０２に関連付けられたトポロジ情報を、中央オフィス１０４、または、制御デバイス１０２−４から階層的に上流にあるデバイスもしくはノードから取り出してもよい。１つの実装では、各デバイス１０２に関連付けられた情報は、個々のデバイス１０２が独立デバイスであるか、個々のデバイス１０２が子デバイスを有しているか（例えば、個々のデバイス１０２から階層的に下流にあるデバイス）、個々のデバイス１０２が有している子デバイスがいくつあるか、などを含んでもよいが、それらに限定されない。
【００６９】
ＡＲＡネットワークにおける各デバイス１０２に関連付けられた情報を受信し、または、ＡＲＡネットワークにおけるデバイスから応答を受信したことに応答して、制御デバイス１０２−４は、１つまたは複数のヒューリスティック戦略（heuristics strategies）に基づいて、ＡＲＡネットワークにおけるどの１つまたは複数のデバイス１０２が、離脱、または、移動するかを選択してもよい。例示的かつ非限定的に、制御デバイス１０２−４は、情報において示されるように、独立していない１つまたは複数のデバイスを選択してもよい。加えて、または、代わりに、制御デバイス１０２−４は、より少ない子デバイスを有している、例えば、所定の閾値数よりも少ない、１つまたは複数のデバイスを選択してもよい。加えて、または、代わりに、制御デバイス１０２−４は、子デバイスの閾値数よりも少ないデバイスを有する第１の少数デバイス１０２の所定の数（例えば、１つ、２つなど）を選択してもよい。加えて、または、代わりに、制御デバイス１０２−４は、例えば、ルーティング情報に基づいて、制御デバイス１０２−４から最も離れた１つまたは複数のデバイスを選択してもよい。
【００７０】
１つまたは複数のデバイスを選択して、ＡＲＡネットワークから離脱または移動すると、制御デバイス１０２−４は、ＡＲＡネットワークから離脱または移動することの命令または要求を、１つまたは複数のデバイス１０２に送信してもよい。１つの実装では、制御デバイス１０２−４は、命令または要求をデバイス１０２に送信し、または、命令または要求を別のデバイス１０２に送信してもよい（前者のデバイス１０２がいくつかの理由でＡＲＡネットワークから離脱または移動できない場合（例えば、第１のデバイスが現在のＡＲＡネットワークを離脱することを強制されていた場合に、第１のデバイスが独立する場合）。一部の実装では、前に送信した命令または要求が、前に命令または要求されたデバイスによって満たすことができない場合に、制御デバイス１０２−４は、命令または要求を２以上の（または、所定の数の）デバイス１０２に送信して、命令または要求を他のデバイス１０２に再送信することの問題を回避してもよい。
【００７１】
１つの特定の例では、制御デバイス１０２−４は、ＡＲＡネットワークから離脱または移動するデバイス１０２−５を選択してもよい。移動命令または要求を受信したことに応答して、デバイス１０２−５は、デバイス１０２−５がそこに移動することができる１つまたは複数のＡＲＡネットワークが存在するかを判定してもよい。例えば、デバイス１０２−５は、検出モジュール２１２およびブロードキャストモジュール２１４を使用して、他のＡＲＡネットワークに属する近隣デバイスが存在するかを判定してもよい。デバイス１０２−５が、移動する他のＡＲＡネットワークを発見することができない場合、デバイス１０２−５は、移動することが、デバイス１０２−５が独立してしまうことになることから、制御デバイス１０２−４のＡＲＡネットワークを離脱することを拒絶するメッセージを制御デバイス１０２−４に送信してもよい。
【００７２】
代わりに、デバイス１０２−５は、別のＡＲＡネットワークを検出してもよいが、この他のＡＲＡネットワークとの通信の品質が、プアまたは散発的であるかを判定してもよい。そのケースでは、デバイス１０２−５は、デバイス１０２−５がＡＲＡネットワークから離脱または移動することができないことを示すメッセージを、制御デバイス１０２−４に送信してもよい。加えて、または、代わりに、移動命令または要求を受信するときに、デバイス１０２−５は、所定の時間閾値以上の、ある期間を必要とするデータを処理、受信、および／または送信するのにデバイス１０２−５がビジー（busy）であることを判定してもよい。それに応答して、デバイス１０２−５は、デバイス１０２−５がＡＲＡネットワークから離脱または移動することができないことのメッセージを制御デバイス１０２−４に送信してもよい。１つの実装では、デバイス１０２−５は、移動によってデバイス１０２−５が独立してしまうことになる場合に、デバイス１０２−５がＡＲＡネットワークから離脱または移動することを強制されないことを除いて、そのような移動の結果にかかわらず、ＡＲＡネットワークを離脱または移動することを強制されてもよい。
【００７３】
１つの実装では、デバイス１０２−５が別のＡＲＡネットワークを検出し、および、デバイス１０２−５がＡＲＡネットワークから離脱または移動することができると判定する場合に、デバイス１０２−５は、上記セクションでの例示的なデバイス登録において示したように、他のＡＲＡネットワークに参加することを開始してもよい。例えば、デバイス１０２−５は、要求（暗号鍵および／または上記実装で示したアルゴリズムを使用して暗号化されてもよく、または、暗号化されなくてもよい）を、隣接ＡＲＡネットワークに属する近隣デバイス１０２に送信して、隣接ネットワークに参加することを要求してもよい。加えて、デバイス１０２−５はさらに、デバイス１０２−５がネットワークを離脱していることを示すメッセージを、デバイス１０２−５がそこから離脱または移動しているネットワークにおけるデバイス１０２にブロードキャストしてもよい。一部の実装では、デバイス１０２−５が、制御デバイス１０２−４のＡＲＡネットワークに参加するときに、前にＮＭＳに登録することを成功しているので、デバイス１０２−５は、新たなＡＲＡネットワークに参加するときに、上記認証プロセスの一部またはすべてが免除されてもよい（例えば、ＡＲＡネットワークに関連付けられたグループ鍵、および／または、デバイス１０２−５のデバイス識別子を別のＡＲＡネットワークの制御デバイスに提供することによって）。
【００７４】
１つの実装では、デバイス１０２−５は、他のＡＲＡネットワークに指定された特定のプレフィックス（例えば、ＩＰｖ６プレフィックスを含む、新たなアドレスを受信してもよい。新たなアドレスを受信すると、デバイス１０２−５は、その旧アドレスを（すなわち、制御デバイス１０２−４によって前にデバイス１０２−５に割り当てられたアドレス）を、例えば、米国規格協会（ＡＮＳＩ）Ｃ１２．２２などのアプリケーションレベルにおける新たなアドレスで更新してもよい。
【００７５】
１つの実装では、移動の期間、および、移動の完了の前に、デバイス１０２−５は、それが現在または最初にアタッチしていたＡＲＡネットワークへの接続またはアタッチを維持してもよい。例えば、デバイス１０２−５は、現在のＡＲＡネットワークにおいて、例えば、デバイス１０２−５に宛先指定されていないパケットのルーティングおよび転送、デバイス１０２−５にアドレス指定されたパケットの処理、要求された場合に、現在のＡＲＡネットワークを介して、デバイス１０２−５に宛先指定されたパケットに対する応答、を含む通常動作をいまだに実行していてもよい。加えて、または、代わりに、デバイス１０２−５は、新たなＡＲＡネットワークから近隣デバイス１０２を選択し、ならびに、この近隣デバイス１０２を、データパケットに対する中継および／または転送デバイスとして採用してもよい。加えて、または、代わりに、デバイス１０２−５は、ＡＲＡネットワークにおける他のデバイスから、その旧アドレスに宛先指定されたデータパケットをいまだに受信していてもよい。一部の実装では、移動の期間、デバイス１０２−５は、その旧アドレスを記憶またはキャッシュしてもよく、ならびに、その旧アドレスに宛先指定されたデータまたはデータパケットを通常のように処理することを継続してもよく、したがって、それが、移動期間にそこから移動しているＡＲＡネットワークとの接続を維持することができる。１つの実装では、デバイス１０２−５が、それがそこから移動しているＡＲＡネットワークのその親デバイスとの接続を失った場合に、デバイス１０２−５は、例えば、そのバッファからすべての上流パケット（ＡＲＡネットワークの上位階層レベルにおけるデバイスに送信されたデータパケット）をドロップしてもよい。一部の実装では、デバイス１０２−５は、受信したデータパケットを、移動の期間に、デバイス１０２−５がそこから移動している（いまだにアタッチしている場合）ＡＲＡネットワークに転送してもよい。１つの実装では、デバイス１０２−５その新たなアドレスを受信し、および、現在、別のＡＲＡネットワーク（すなわち、新たなＡＲＡネットワーク）にアタッチしている場合、デバイス１０２−５は、バッファされたデータ、すなわち、その「旧」ＡＲＡネットワークから来たデータパケットを「トンネリング」し、および、その新たなアドレスを使用して、例えば、新たなＡＲＡネットワークを通じて、受信したデータパケット（例えば、新たなパケットに含まれ、または、カプセル化された）を送信してもよい。
【００７６】
１つの実装では、新たなＡＲＡネットワークへのアタッチまたは移動に成功すると、デバイス１０２−５は、自身をデタッチし、または、旧ＡＲＡネットワークから離脱してもよい。１つの実装では、デバイス１０２−５は、旧ＡＲＡネットワークのルートノードにメッセージを送信して、旧ＡＲＡネットワークからのその離脱（departure）を通知または公表してもよい。加えて、または、代わりに、デバイス１０２−５は、メッセージ（旧ＡＲＡネットワークからのその離脱を示す）を、デバイス１０２−５を通じてそのデータパケットを転送および／またはルーティングする、旧ＡＲＡネットワークにおける１つもしくは複数のデバイスに送信してもよい。これらのメッセージ（すなわち、ルートノードおよび／または旧ＡＲＡネットワークにおける他のデバイスへのメッセージ）は、ルートノードおよび／または旧ＡＲＡネットワークにおける他のデバイスからの確認応答を要求してもよく、または、要求しなくてもよい。さらに、一部の実装では、デバイス１０２−５は、メッセージを、ルートノードおよび／または旧ＡＲＡネットワークにおける他のデバイスに繰り返して送信して、メッセージを受信する、ルートノードおよび／または他のデバイス１０２の可能性を増大または保証してもよい。
【００７７】
加えて、または、代わりに、デバイス１０２−５は、その旧アドレスに宛先指定されていないデータパケットの処理を停止してもよい。１つの実装では、データパケットが、デバイス１０２−５の旧アドレスに宛先指定されたデータパケットであり、ならびに／または、例えば、緊急性もしくは重要性の程度を示す（応答が必要とされる時間によって示されるような）データパケット（デバイス１０２−５の旧アドレスに宛先指定されてもよく、または、宛先指定されていなくてもよい）である場合、デバイス１０２−５は、データパケットを処理することを選択してもよい。加えて、または、代わりに、デバイス１０２−５は、データパケットがデバイス１０２−５の旧アドレスに宛先指定されている場合に、特定の範囲もしくは目的を有している、あるタイプのデータパケットに応答することを選択してもよい。例示的かつ非限定的に、デバイス１０２−５は、事前定義された組のアプリケーションに宛先指定されたデータを搬送し、および、デバイス１０２−５から応答を要求する、データパケットを処理してもよい。デバイス１０２−５は、新たなＡＲＡネットワークを介して応答を送信し、および、新たなＡＲＡネットワークにおけるデバイス１０２−５の新たなアドレスを、応答のソースアドレスとして使用してもよい。加えて、または、代わりに、デバイス１０２−５は、特定の範囲の１つでなく、または、事前定義されたアプリケーションの組に宛先指定されていないデータパケットを無視またはドロップしてもよい。一部の実装では、デバイス１０２−５が旧ＡＲＡネットワークからデタッチし、および、新たなＡＲＡネットワークにおいて通常動作を実行していた後、デバイス１０２−５は、旧もしくは新たなＡＲＡネットワークによってデフォルトとすることができ、または、旧もしくは新たなＡＲＡネットワークの管理者によって事前定義することができる所定の期間に、旧アドレスに宛先指定されたパケットをいまだに受け入れてもよい。デバイス１０２−５は、上記示した実施形態に従って、その旧アドレスに宛先指定されたデータパケット（および／または、その旧アドレスに宛先指定されていないデータパケット）を処理してもよい。
【００７８】
一部の実装では、デバイス１０２−５の旧アドレスは、移動期間と称される、ある期間に、別のデバイスに再分散されない。この移動期間は、全体のシステム（例えば、旧および新たなＡＲＡネットワークのルートノード、ＤＮＳサーバなどを含む）がデバイス１０２−５の移動を反映するように更新されるまで、全体のＡＲＡ切替え処理をカバーするのに十分な長さにセットされる。
【００７９】
＜代替的な実装＞
上述した実施形態は、アドバンスドメータリングインフラストラクチャ（ＡＭＩ：advanced metering infrastructure）の自立ルーティングエリアネットワークを示してきたが、本開示は、それらに限定されない。１つの実装では、本開示を、セルラネットワーク、ホームネットワーク、オフィスネットワークなどのネットワークに適用することができる。例えば、移動局がセルラネットワークで上の負荷が制御されることによって、所定の閾値を上回ると判定するときに、移動局は、そのネットワークに接続された一部の移動デバイスを選択し、および、別のセルラネットワークに離脱もしくは移動することを強制してもよく、それによって、その制御されたネットワークに対する負荷分散を実行することができる。
【００８０】
＜例示的な方法＞
図３は、ネットワークにおけるデバイス登録の例示的な方法３００を示すフローチャートである。図４は、デバイスがネットワークに参加することを許可または拒絶するかを判定する例示的な方法４００を示すフローチャートである。図５は、ネットワークからのデバイス移動の例示的な方法５００を示すフローチャートである。図３、図４、および図５の方法は、図１の環境において実装され、図２のデバイスを使用して実装されてもよいが、それらが必須ではない。説明を簡易にするために、方法３００、４００、および５００は、図１および２を参照して示される。しかしながら、方法３００、４００、および５００は、代替的に、他の環境においておよび／または他のシステムを使用して実装されてもよい。
【００８１】
方法３００、４００、および５００は、コンピュータ可読命令の一般的なコンテキストにおいて示される。一般に、コンピュータ可読命令は、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、プロシージャ、モジュール、機能、および特定の機能を実行し、または、特定の抽象データタイプを実装するものなどを含むことができる。方法を、通信ネットワークを通じてリンクされたリモート処理デバイスにより機能が実行される、分散型コンピューティング環境において実施することができる。分散型コンピューティング環境では、コンピュータ可読命令は、メモリ記憶装置を含むローカルおよび／またはリモートコンピュータ記憶媒体に位置してもよい。
【００８２】
例示的な方法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせにおいて実装することができる、オペレーションのシーケンスを示す、論理フローチャートにおけるブロックの集合として示される。方法が示される順序は、限定として解釈されるものではなく、任意の数の示される方法ブロックを任意の順序で組み合わせて、方法または代替的な方法を実装することができる。加えて、個々のブロックは、本明細書で示される主題の精神および範囲から逸脱することなく、方法から省略されてもよい。ソフトウェアのコンテキストにおいて、ブロックは、１つまたは複数のプロセッサにより実行されると、定義されたオペレーションを実行するコンピュータ命令を示している。
【００８３】
図３を参照すると、ブロック３０２において、要求デバイス１０２−３は、要求デバイス１０２−３が位置するエリアをカバーするネットワークに参加することを要求してもよい。要求デバイス１０２−３は、近隣デバイス１０２−２を検出し、および、参加要求（例えば、ＤＨＣＰｖ６要求または参加要求を含むビーコンメッセージ）を近隣デバイス１０２−２に送信してもよい。
【００８４】
ブロック３０４においては、参加要求を受信したことに応答して、近隣デバイス１０２−２は、要求を解析し、および、要求デバイス１０２−３が、近隣デバイス１０２−２がメンバーであるネットワークに参加することを要求しているかを判定してもよい。
【００８５】
ブロック３０６においては、要求デバイス１０２−３がネットワークに参加することを要求しているかを判定したことに応答して、近隣デバイス１０２−２は、オプションで、参加要求をフィルタリングしてもよい。１つの実装では、近隣デバイス１０２−２は、参加要求をネットワークの他のデバイスに中継するかを判定してもよい。例えば、近隣デバイス１０２−２は、ネットワークの過密集または過負荷などの管理上またはネットワーク上の理由で、ネットワークに受け入れられる独立デバイス以外のデバイスが存在しないことの命令または要求を、制御デバイス１０２−４から受信していてもよい。このケースでは、近隣デバイス１０２−２は、例えば、参加要求に含まれる情報に基づいて、要求デバイス１０２−３が独立デバイスであるかを判定してもよい。１つの実装では、近隣デバイス１０２−２が、ネットワーク受け入れられる独立デバイス以外のデバイスが存在しないことの命令または要求を受信しており、ならびに、要求デバイス１０２−３が独立デバイスである場合、近隣デバイス１０２−２は、参加要求が拒絶されたことを示す応答を要求デバイス１０２−３に送信してもよい。他に、近隣デバイス１０２−２は、要求デバイス１０２−３の参加要求を、ネットワークの他のデバイスに中継することを準備してもよい。
【００８６】
ブロック３０８においては、要求デバイス１０２−３は、参加要求が拒絶されたことを示す応答を近隣デバイス１０２−２から受信する。
【００８７】
ブロック３１０においては、近隣デバイス１０２−２は、近隣デバイス１０２−２が制御デバイス１０２−４のアドレスを認識しているかに基づいて、参加要求を制御デバイス１０２−４または近隣デバイス１０２−２の親デバイスに中継してもよい。
【００８８】
ブロック３１２においては、近隣デバイス１０２−２から中継された参加要求を受信したことに応答して、制御デバイス１０２−４は、要求デバイス１０２−３の参加要求を許可または拒絶するかを判定してもよい。１つの実装では、制御デバイス１０２−４は、ネットワークの状態および／または要求デバイス１０２−３の状態に基づいて、参加要求を許可するかを判定してもよい。制御デバイス１０２−４が、要求デバイス１０２−３の参加要求を拒絶すると判定する場合、制御デバイス１０２−４は、制御デバイス１０２−４またはネットワークが、要求デバイス１０２−３参加することを許可することができないことを示す応答を、近隣デバイス１０２−２を介して、要求デバイス１０２−３に送信してもよい。
【００８９】
ブロック３１４においては、要求デバイス１０２−３の要求を許可すると判定したことに応答して、制御デバイス１０２−４は、要求デバイス１０２−３の参加要求に含まれる、要求デバイス１０２−３の識別子および／または認証署名を含むメッセージを、認証サーバ（例えば、ＡＡＡサーバ１２０）に送信してもよい。１つの実装では、制御デバイス１０２−４はさらに、ネットワークに関連付けられたグループ鍵または制御デバイス１０２−４に関連付けられた暗号鍵を使用して、メッセージを署名または暗号化してもよい。
【００９０】
ブロック３１６においては、メッセージを受信すると、認証サーバ１２０は、暗号化されていた場合に、メッセージを復号化し、ならびに、メッセージを解析して、要求デバイス１０２−３の識別子および／または認証署名を取得してもよい。認証サーバ１２０は、取得した要求デバイス１０２−３の識別子および／または認証署名に基づいて、認証を実行してもよい。要求デバイス１０２−３の識別の認証に成功したことに応答して、認証サーバ１２０は、場合によってはネットワークに関連付けられたグループ鍵（要求デバイス１０２−４の公開または対称鍵を使用して暗号化されてもよく、または、されていなくてもよい）を含む、成功した認証メッセージを制御デバイス１０２−４に送信してもよい。１つの実装では、要求デバイス１０２-４の公開または対称鍵は、要求デバイス１０２-４および認証サーバ１２０のみに知られてもよい。一部の実装では、要求デバイス１０２−４の公開または対称鍵はさらに、ネットワーク管理または監視を担当するＡＲＡネットワークの他のデバイスまたはサーバ（例えば、中央オフィス１０４および／または制御デバイス１０２−４など）に知られてもよい。例えば、認証サーバ１２０は、ＡＲＡネットワークに関連付けられたグループ鍵を使用して暗号化されている要求デバイス１０２−４の公開または対称鍵をさらに含む、成功した認証メッセージを送信してもよい。代わりに、認証サーバ１２０が、要求デバイス１０２−３の識別を認証するのに失敗した場合、認証サーバ１２０は、認証が失敗したことを示す失敗した認証メッセージを制御デバイス１０２−４に送信してもよい。
【００９１】
ブロック３１８においては、認証サーバ１２０からメッセージを受信したことに応答して、制御デバイス１０２−４は、要求デバイス１０２−３の識別の認証が成功したかを判定してもよい。失敗した場合、制御デバイス１０２−４は、要求デバイス１０２−３の参加要求が拒否されたことを示す応答を、近隣デバイス１０２−２を介して要求デバイス１０２−３に送信してもよい。要求デバイス１０２−３の識別の認証が成功したと判定したことに応答して、制御デバイス１０２−４は、要求デバイス１０２−３の参加要求が許可されたことを示すメッセージを含む、アドミッション応答を、近隣デバイス１０２−２を介して要求デバイス１０２−３に送信してもよい。１つの実装では、応答はさらに、要求デバイス１０２−３の公開または対称鍵を使用して認証サーバにおいて暗号化されてもよく、または、暗号化されなくてもよい、ネットワークに関連付けられたグループ鍵を含んでもよいが、それに限定されない。加えて、または、代わりに、一部の実装では、制御デバイス１０２−４が、例えば、認証サーバ１２０からの要求デバイス１０２−３の公開または対称鍵を認識している場合に、制御デバイス１０２−４は、要求デバイス１０２−３の公開または対称鍵を使用して、応答を暗号化してもよい。加えて、または、代わりに、１つの実装では、制御デバイス１０２−４は、要求デバイス１０２−３の公開または対称鍵を使用して（この公開または対称鍵が制御デバイス１０２−４に知られている場合）、グループ鍵（および／または、ネットワークに参加することに関連する他の情報）を暗号化してもよく、ならびに、ネットワークに関連付けられたグループ鍵を使用して、暗号化されたグループ鍵および／またはメッセージを暗号化してもよい。一部の実装では、制御デバイス１０２−４は、要求デバイス１０２−３の公開または対称鍵を使用して、グループ鍵およびメッセージを暗号化してもよく、ならびに、グループ鍵を使用して、暗号化されたグループ鍵、暗号化されたメッセージ、および／または他の情報（応答を要求デバイス１０２−３にルーティングすることが可能な情報、例えば、近隣デバイス１０２−２のアドレスおよび／または要求デバイス１０２−３の識別など）を暗号化してもよい。
【００９２】
一部の実装では、制御デバイス１０２−４は、認証サーバ１２０から、要求デバイス１０２−３の成功した識別認証を受信すると（すなわち、要求デバイス１０２−３の識別の認証が成功したと判定した後）、アドミッション応答を要求デバイス１０２−３に送信しなくてもよい。これらの代替的な実装では、制御デバイス１０２−４はオプションで、登録要求をＮＭＳに送信して、以下のブロック３２４で示すように、要求デバイス１０２−３をＮＭＳまたは中央オフィス１０４に登録してもよい。
【００９３】
ブロック３２０においては、近隣デバイス１０２−２は、制御デバイス１０２−４から送信されたアドミッション応答を受信および解析してもよい。１つの実装では、ネットワークに関連付けられたグループ鍵を使用して応答が暗号化される場合、近隣デバイス１０２−２は、暗号化された応答を復号化してもよい。１つの実装では、アドミッション応答が要求デバイス１０２−３の参加要求に関連する応答であると判定したことに応答して、近隣デバイス１０２−２は、応答の一部またはすべてを要求デバイス１０２−３に中継してもよい。例えば、近隣デバイス１０２−２は、要求デバイス１０２−３の公開または対称鍵を使用して暗号化された応答の一部またはすべてを要求デバイス１０２−３に中継してもよい。
【００９４】
ブロック３２２においては、要求デバイス１０２−３は、近隣デバイス１０２−２から中継された応答を受信し、ならびに、応答を解析して、参加要求および／またはネットワークのグループ鍵（含まれる場合）の結果を取り出す。要求デバイス１０２−３は、グループ鍵を使用して、ネットワークの他のデバイスからデータを受信し、および／または、それらにデータを送信することを開始してもよい。
【００９５】
ブロック３２４においては、制御デバイス１０２−４はオプションで、登録要求をＮＭＳに送信して、要求デバイス１０２−３をＮＭＳまたは中央オフィス１０４に登録してもよい。登録要求は、要求デバイス１０２−３の識別子を含んでもよいが、それに限定されない。
【００９６】
ブロック３２６においては、制御デバイス１０２−４から登録要求を受信したことに応答して、ＮＭＳは、ネットワークに関連付けられた情報、および、要求デバイス１０２−３に関連付けられ、もしくは、他のデバイスからの情報を取得してもよい。ＮＭＳは、取得した情報に基づいて、要求デバイス１０２−３に対して利用可能な構成情報またはパラメータを判定してもよい。例えば、ＮＭＳは、例えば、要求デバイス１０２−３のタイプ、ネットワークのタイプなどに基づいて、要求デバイス１０２−３に対して利用可能な構成情報またはパラメータを判定してもよい。構成情報またはパラメータを判定すると、ＮＭＳは、構成情報またはパラメータを制御デバイス１０２−４に送信してもよい。
【００９７】
ブロック３２８においては、ＮＭＳから構成情報またはパラメータを取得したことに応答して、制御デバイス１０２−４は、新たなアドレスを要求デバイス１０２−３に割り当ててもよい。１つの実装では、制御デバイス１０２−４は、ネットワークに規定または指定されたプレフィックスを含む新たなアドレスを割り当ててもよい。制御デバイス１０２−４はさらに、要求デバイス１０２−３への応答（例えば、ＤＨＣＰ応答）を準備してもよい。１つの実装では、応答は、割り当てられた新たなアドレス、構成情報もしくはパラメータ、および／またはネットワークに関連付けられたグループ鍵を含んでもよいが、それらに限定されない。１つの実装では、制御デバイス１０２−４が、要求デバイス１０２−３の識別の認証が成功したと判定した直後に、アドミッション応答を要求デバイス１０２−３に送信していなかった場合、制御デバイス１０２−４からのこの応答の送信は、要求デバイス１０２−３の識別の認証が成功したことを示してもよい。一部の実装では、制御デバイス１０２−４はさらに、要求デバイス１０２−３の識別の認証に関連する認証サーバ１２０から受信された情報を、応答にマージしてもよい。１つの実装では、制御デバイス１０２−４は、近隣デバイス１０２−２を介して（および、制御デバイスがネットワークの外部に位置する場合は、ネットワークに向かわせるルータ）、応答を要求デバイス１０２−３に送信してもよい。
【００９８】
ブロック３３０においては、近隣デバイス１０２−２は、制御デバイス１０２−４からの応答を、要求デバイス１０２−３に中継する。
【００９９】
ブロック３３２においては、要求デバイス１０２−３は、応答において受信された情報（例えば、グループ鍵、割り当てられたアドレス、および／または構成情報もしくはパラメータ）を使用して、ネットワークへの参加および登録に成功する。１つの実装では、要求デバイス１０２−３はさらに、要求デバイス１０２−３の対称または非対称鍵が自身および１つもしくは複数の承認されたデバイスおよび／もしくはサーバ（例えば、認証サーバ１２０、中央オフィス１０４、および／または制御デバイス１０２−４）にのみ知られている場合、ネットワークを認証してもよい。例えば、応答に含まれるグループ鍵は、要求デバイス１０２−３の対称または非対称鍵（例えば、公開鍵）を使用して暗号化されてもよい。したがって、要求デバイス１０２−３は、要求デバイス１０２−３が自身の対象または非対称鍵を使用して、暗号化されたグループ鍵を復号化することができ、ならびに、復号化されたグループ鍵を使用して、ＡＲＡネットワークの他のデバイスと通信することができる場合、ネットワークを認証してもよい。しかしながら、要求デバイス１０２−３が復号化されたグループ鍵を使用して、他のデバイスとデータを通信することができない場合、要求デバイス１０２−３は、ネットワークの認証が失敗し、および、ネットワークを離脱（または切断）することを判定してもよい。
【０１００】
図４を参照して、ブロック４０２においては、制御デバイス１０２−４は、近隣デバイス１０２−２を介して、要求デバイス１０２−３から要求を受信してもよい。要求デバイス１０２−３は、ネットワーク内で新たに配置されたデバイス、または、別のネットワークからネットワークに移動することを試みているデバイスを含んでもよい。１つの実装では、制御デバイス１０２−４は、要求デバイス１０２−３の要求が、制御デバイス１０２−４に関連付けられたネットワークに参加することを要求する、参加要求であることを判定してもよい。参加要求は、少なくとも、要求デバイス１０２−３が独立デバイスであるかに関する情報を含んでもよい。一部の実装では、参加要求はさらに、要求デバイス１０２−３の識別などを含んでもよいが、それに限定されない。１つの実装では、参加要求は、要求デバイス１０２−３の秘密または対称鍵によって暗号化または署名されてもよい。制御デバイス１０２−４は、要求が暗号化されていた場合、要求デバイス１０２−３の公開または対称鍵を使用して、要求を復号化してもよい。
【０１０１】
ブロック４０４においては、要求が参加要求であると判定したことに応答して、制御デバイス１０２−４は、ネットワークが追加デバイスを収容する能力を有しているかを判定してもよい。例えば、制御デバイス１０２−４は、ネットワークに関連付けられた負荷が所定の閾値以上であるかを判定してもよい。ネットワークに関連付けられた負荷は、現在のデバイスの数、現在のトラフィック、現在または平均パケットドロップ率、現在または平均帯域幅使用量などを含んでもよいが、それらに限定されない。
【０１０２】
ブロック４０６においては、制御デバイス１０２−４が、ネットワークが追加デバイスを収容することができると判定する場合、例えば、負荷が所定の閾値よりも少ない場合、制御デバイス１０２−４は、例えば、他のデバイスおよび／またはサーバとの、図３における実施形態で示したような要求デバイス１０２−３の参加要求を処理することを進めてもよい。
【０１０３】
ブロック４０８においては、制御デバイス１０２−４が、ネットワークが追加デバイスを収容することができないと判定する場合、例えば、負荷が所定の閾値を上回る場合、制御デバイス１０２−４は、例えば、参加要求に含まれる情報に基づいて、要求デバイス１０２−３が独立デバイスであるかを判定してもよい。
【０１０４】
ブロック４１０においては、制御デバイス１０２−４が、要求デバイス１０２−３が独立デバイスでないと判定する場合、制御デバイス１０２−４は、要求デバイス１０２−３の参加要求を拒絶し、および、近隣デバイス１０２−２を介して、拒絶の応答を要求デバイス１０２−３に送信してもよい。
【０１０５】
ブロック４１２においては、制御デバイス１０２−４が、要求デバイス１０２−３が独立デバイスであると判定する場合、制御デバイス１０２−４は、例えば、他のデバイスおよび／またはサーバとの、図３における実施形態で示したような要求デバイス１０２−３の参加要求を処理することを進めてもよい。さらに、制御デバイス１０２−４は、ネットワークの１つまたは複数のデバイスに対し、上述した実施形態、および、図５で説明されるように、ネットワークから離脱または移動することを強制してもよい。
【０１０６】
図５を参照して、ブロック５０２においては、制御デバイス１０２−４は、１つまたは複数のデバイス１０２に対し、ネットワークから離脱または移動することを強制することを決定する。制御デバイス１０２−４は、ネットワークの負荷分散、すでに過負荷となっているネットワークに参加することの独立デバイスの要求などの、１つまたは複数の理由に基づいて、この決定を行ってもよい。
【０１０７】
ブロック５０４においては、制御デバイス１０２−４は、１つまたは複数のヒューリスティック戦略に基づいて、離脱または移動する、ネットワークにおける１つまたは複数のデバイス１０２を選択してもよい。１つまたは複数のヒューリスティック戦略は、独立していないデバイスを選択すること、子デバイスを有していないもしくは少数の子デバイスを有しているデバイスを選択すること、制御デバイスから通信可能な最も遠いデバイスを選択することなどを含んでもよいが、これらに限定されにない。
【０１０８】
ブロック５０６においては、離脱または移動する１つまたは複数のデバイスを選択すると、制御デバイス１０２−４は、１つまたは複数のデバイスに対してネットワークから離脱または移動することを強制または要求する命令または要求を、１つまたは複数のデバイスに送信してもよい。
【０１０９】
ブロック５０８においては、移動命令または要求を受信したことに応答して、１つまたは複数のデバイス、例えば、デバイス１０２−５は、デバイス１０２−５がネットワークから離脱または移動することができるかを判定してもよい。１つの実装では、デバイス１０２−５は、１つまたは複数のネットワーク（デバイス１０２−５が現在、メンバーであるネットワーク以外の）が、デバイス１０２−５が位置しているエリアに存在するかを検出または発見することによって、デバイス１０２−５が現在、独立デバイスであるかを判定してもよい。デバイス１０２−５は、デバイス１０２−５が別のネットワークに離脱または移動することができないと判定したことに応答して、メッセージを制御デバイス１０２−４に送信してもよい。
【０１１０】
ブロック５１０においては、１つまたは複数のネットワーク（デバイス１０２−５が現在、メンバーであるネットワーク以外の）が存在していると判定したことに応答して、デバイス１０２−５は、例えば、図３に関して上記示した１つまたは複数のネットワークの１つに参加することを開始してもよい。加えて、デバイス１０２−５はさらに、デバイス１０２−５がネットワークから離脱または移動していることのメッセージを、ネットワークにおけるデバイス１０２にブロードキャストしてもよい。
【０１１１】
ブロック５１２においては、移動の期間の間、または、移動の完了の前に、デバイス１０２−５の「旧」アドレス（すなわち、デバイス１０２−５が、そこから離脱または移動しているネットワークによってデバイス１０２−５に割り当てられたアドレス）に宛先指定されたデータパケットを受信したことに応答して、デバイス１０２−５は、データパケットをドロップし、または、データパケットを、デバイス１０２−５がいまだに接続されているネットワークにおける他のデバイスに転送してもよい。
【０１１２】
ブロック５１４においては、新たなアドレスの取得に成功し、および、新たなネットワークにアタッチすると、デバイス１０２−５は、ネットワークにおいて、その標準または割り当てられた動作または機能を実行することを開始してもよい。
【０１１３】
図５は、デバイス１０２−５が制御デバイス１０２−４によって、ＡＲＡネットワークから離脱または移動することを強制または命令されてもよいことを示したが、一部の実装では、デバイス１０２−５は実際には、自身がＡＲＡネットワークから別のＡＲＡネットワークに離脱または移動することを開始する。例示的かつ非限定的に、デバイス１０２−５は、デバイス１０２−５および／またはＡＲＡネットワークに関連付けられた１つまたは複数のネットワーク状態に基づいて、ＡＲＡネットワークから別のＡＲＡネットワークに離脱または移動することを決定または開始してもよい。例えば、デバイス１０２−５は、デバイス１０２−５との通信品質（例えば、リンクレイヤ通信品質）がプアまたは悪化、例えば、所定の品質閾値を下回る場合に、ＡＲＡネットワークから別のＡＲＡネットワークに移動することを開始してもよい。加えて、または、代わりに、デバイス１０２−５は、ＡＲＡネットワークのルータが機能していない場合に、ＡＲＡネットワークから別のＡＲＡネットワークに移動してもよい。加えて、または、代わりに、デバイス１０２−５は、現在のＡＲＡネットワークにアタッチしている間に、その環境をリスン（listen）してもよく、ならびに、他の隣接ＡＲＡネットワークの存在を検出もしくは発見してもよい。デバイス１０２−５は、隣接ネットワークによって提供されるサービスの性能／品質に関して学習してもよい。デバイス１０２−５は、他のＡＲＡネットワークが、デバイス１０２−５が現在アタッチしているＡＲＡネットワークよりも良好なサービスの性能／品質を提供している場合に、ＡＲＡネットワークから別のＡＲＡネットワークに移動してもよい。
【０１１４】
本明細書で示した任意の方法の任意の動作は、少なくとも部分的に、プロセッサまたは１つもしくは複数のコンピュータ可読媒体に記憶された命令に基づいている他の電子デバイスによって実装されてもよい。例示的かつ非限定的に、本明細書で示した任意の方法の任意の動作は、１つまたは複数のコンピュータ記憶媒体などの１つまたは複数のコンピュータ可読媒体に記憶することができる、実行可能命令で構成された、１つまたは複数のプロセッサの制御の下に実装されてもよい。
【０１１５】
＜結論＞
本発明は、機能的特徴または方法的動作に特有な言語で説明してきたが、本発明は、必ずしも説明してきた特定の特徴または動作に限定されるものではない、むしろ、特定の特徴または動作は、本発明を実装する例示的な形式で開示される。
【図１】
0006045685.tif 000002
【図２】
0006045685.tif 000003
【図３】
0006045685.tif 000004
【図４】
0006045685.tif 000005
【図５】
0006045685.tif 000006