(概要)
前述したとおり、新たなデバイスの既存の展開は、一般に、技術者が、現場でネットワークに対して新たなデバイスを手作業で構成し、認証し、さらに新たなデバイスをネットワークに接続することを要求する。この接続および認証プロセスは、厄介であるとともに、時間がかかる可能性がある。この状況は、ネットワークが、ネットワークの容量に、またはその容量近くに達している(例えば、その新たなデバイスをサポートするのに限られた帯域幅しか残っていない、または全く帯域幅が残っていない)場合、より複雑になる。その時点で、技術者は、その新たなデバイスを、利用可能な別のネットワークが存在する場合、そのネットワークに接続しようと試みることができる。これらの状況は、新たなデバイスを展開する際、および1のネットワークから別のネットワークにノードを移行させる際の困難をもたらすだけでなく、ネットワーク内で、またはネットワークをまたいで異なるデバイスを同期させることに問題を生じさせもする。
本開示は、自律的ルーティングネットワークにおける自動化されたデバイス登録およびデバイス移行の方法を説明する。これらの方法は、ネットワークに対する新たなデバイスの自動的登録を、その新たなデバイスとそのネットワークの間の最小限の回数の交換を介して可能にする。さらに、これらの方法は、ネットワークの条件、および/またはネットワークに展開されるべき新たなデバイスの条件による、デバイスの、1のネットワークから別のネットワークへの移行またはハンドオーバを可能にする。
一般に、デバイスは、ネットワークに参加することを要求することができる。一部の実施形態において、要求側デバイスは、そのネットワークに関連するどのデバイスが、そのネットワークに参加するように新たなデバイスにアドレス指定すること、またはそのようなデバイスの受け付けを制御することを担うかを知っていることも、知らないこともある。一部の実施形態において、要求側デバイスは、ネットワークに参加する要求をブロードキャストすることができ、この要求は、隣接デバイス(すなわち、その要求側デバイスの伝送範囲のデバイス)によって聞かれることが可能である。さらに、または代替として、要求側デバイスは、隣接デバイスからの伝送が聞こえてくる(overhear)ことによってネットワーク内の隣接デバイスを発見してもよい。要求側デバイスは、例えば、メッセージまたはビーコンを介して隣接デバイスにその要求を直接に送信することができる。
その要求を受信したことに応答して、隣接デバイスは、その要求を構文解析し、要求側デバイスがネットワークに参加することを要求することを知ることができる。一実施形態において、隣接デバイスは、要求側デバイスの要求を、ネットワークに参加する新たなデバイスにアドレス指定すること、またはそのようなデバイスの受け付けを制御することを担う制御側デバイスに中継することができる。代替として、隣接デバイスは、その要求を、隣接デバイスの親であるネットワークにおけるデバイスに中継して、その要求を制御側デバイスに中継するよう親デバイスを誘導してもよく、または親デバイスよりも、制御側デバイスに階層的により近い別のデバイスに中継してもよい。一実施形態において、隣接デバイスは、例えば、隣接デバイスが、どのデバイスがネットワークに参加する新たなデバイスにアドレス指定すること、またはそのようなデバイスの受け付けを制御することを担うかを知らない場合、その要求を隣接デバイスの親デバイスに中継することができる。
その要求が制御側デバイスに中継されるか、または親デバイスに中継されるかに関わらず、隣接デバイスは、その要求が向かう宛先を示す宛先アドレス(例えば、制御側デバイスまたは親デバイスのIPアドレス)をその要求の中に挿入することができる。
その要求を受信したことに応答して、ネットワークに関連付けられた制御側デバイスは、要求側デバイスの、ネットワークに参加する要求を許可するか、または拒否するかを判定することができる。一実施形態において、制御側デバイスは、要求側デバイスの条件に基づいて、要求側デバイスの要求を許可するか、または拒否するかを判定することができる。例として、限定としてではなく、制御側デバイスは、受信された要求の中に含められた情報に基づいて、要求側デバイスが孤立したデバイスであるかどうかを判定することができる。一実施形態において、要求側デバイスは、要求側デバイスが制御側デバイスのネットワーク以外のネットワークに参加することができない場合、孤立していると決定され得る。さらに、または代替として、要求側デバイスは、要求側デバイスが位置するエリアを範囲に含む他のネットワークを要求側デバイスが全く検出しない場合、孤立していると決定され得る。さらに、または代替として、要求側デバイスは、要求側デバイスが、別のネットワークから制御側デバイスのネットワークに移行しようと試み、またはそうするように強制され、さらに要求側デバイスが位置するエリアを範囲に含むネットワークが、この別のネットワークと制御側デバイスのネットワークだけに限られる場合、孤立していると決定され得る。さらに、または代替として、要求側デバイスは、要求側デバイスが、制御側デバイスのネットワークを除いて、要求側デバイスのエリア内の検出される全てのネットワークについて残らず成功しなかった(すなわち、参加できなかった)場合、孤立していると決定され得る。さらに、または代替として、要求側デバイスは、制御側デバイスのネットワークが、要求側デバイスと、ネットワークに関連付けられた認証、許可および/またはアカウンティング(AAA)サーバなどのサーバとの間で接続をもたらすことができる唯一のネットワークである場合、孤立していると決定され得る。
さらに、または代替として、制御側デバイスは、要求側デバイスの、ネットワークに参加する要求を、ネットワークの条件に基づいて、許可するかまたは拒否するかを判定してもよい。例えば、制御側デバイスは、ネットワークにおける現在のデバイス数、現在のトラフィック、現在もしくは平均のパケットドロップ率、現在もしくは平均の帯域幅使用率などの、ネットワークにかかる負荷が、所定の閾値以上であるかどうかを判定することができる。さらに、または代替として、制御側デバイスは、ネットワークについての負荷統計またはネットワーク統計(現在もしくは平均のパケットドロップ率、現在もしくは平均の帯域幅使用率などの)を格納して、または取り出して、その負荷統計またはネットワーク統計(例えば、現在の帯域幅使用率)が、所定の閾値以上であるかどうかを判定してもよい。
この判定に基づいて、制御側デバイスは、要求側デバイスの要求を許可する、または拒否することができる。例えば、要求側デバイスが孤立したデバイスであると決定したことに応答して、制御側デバイスは、要求側デバイスの、ネットワークに参加する要求を許可することができる。制御側デバイスが、ネットワークにかかっている負荷(または統計)、例えば、現在の帯域幅使用率が、それぞれの閾値以上であるとさらに判定した場合、制御側デバイスは、ネットワークにおける1または複数のデバイスを、そのネットワークを離れるよう、またはそのネットワークから別のネットワークに移行するよう強制することができる。例として、限定としてではなく、制御側デバイスは、ネットワークにおけるどのデバイスが別のネットワークに移行すること、または参加することができるかの知識に基づいて、1または複数のデバイスを選択することができ、さらに制御側デバイスのネットワークを離れるようその1または複数のデバイスを強制することができる。このようにして、制御側デバイスは、要求側の孤立したデバイスがネットワークに参加することを許す十分なレベルまたは所定のレベルまで負荷を低減することができる。
要求側デバイスの、ネットワークに参加する要求を許可すると決定したことに応答して(ネットワークの条件に関わらず)、制御側デバイスは、要求側デバイスのためのネットワークに参加することと関係する情報をさらに準備することができる。この情報には、そのネットワークに関連付けられたグループ鍵、そのネットワークに対して要求側デバイスがセットアップすべき構成情報、および/または要求側デバイスに割り当てられた新たなアドレス(IPアドレスなどの)が含まれ得るが、それらには限定されない。制御側デバイスは、隣接デバイスを介して要求側デバイスに情報を送信することができる。
説明される方法は、ネットワークに参加することを所望する要求側デバイスが、ネットワークを相手に単一回のハンドシェークを実行して、ネットワークに参加することを可能にする。一部の実施形態において、要求側デバイスの近隣に位置しており、要求側デバイスから1ホップ離れている隣接デバイスは、要求側デバイスに代行して要求を制御側デバイスに中継して、これにより、要求側デバイスがネットワークに要求をランダムに、またはあてもなく送信することをせずに済むようにすることができる。説明される方法は、ネットワークにおける既存のデバイスの別のネットワークへのスムーズな移行をさらに可能にして、これにより、ネットワークが、ネットワークのリソースを過負荷にすること、過密化させること、または使い果たすことを回避する。さらに、制御側デバイスは、ネットワークに関連する帯域幅使用率のパーセンテージ、全てのデバイスのなかの孤立したデバイスのパーセンテージなどの他の統計を格納し、または取り出し、さらにこれらの他の統計のうちの1または複数がそれぞれの所定の閾値に達した場合、管理者に警報またはアラートを送信することができる。このことは、管理者が、ネットワークの帯域幅を改善するために新たなサポートするハードウェアを追加すること、および/またはネットワークにおけるデバイスのうちのいくつかを物理的に並べ替える、または再配置することを決定するのを容易にする。
本明細書で説明される実施例において、制御側デバイスが、要求を受信し、要求を許可するか、または拒否するかを判定し、ネットワークにおける1または複数のデバイスを、ネットワークを離れるよう強制するか否かを判定し、さらに要求側デバイスがネットワークに参加することを可能にすることと関係する情報を準備する。しかし、他の実施形態において、他の1または複数のデバイスまたはサービスが、これらの機能のうちのいくつか、または全てを実行してもよい。例えば、制御側デバイスが、ネットワークの条件の情報を、ネットワークにおけるデバイスの一部または全てに定期的に、または必要に応じて送信する、またはブロードキャストすることができる。制御側デバイスは、送信される、またはブロードキャストされる情報の中で、ネットワークが、孤立したデバイス以外の新たなデバイスの受け付けを承認しないことを示すことができる。従って、一実施形態において、デバイス(例えば、隣接デバイス)またはサービスが、要求側デバイスの、ネットワークに参加する要求を許可するか、または拒否するかを判定することが可能である一方で、別のデバイスまたは別のサービスが、ネットワークにおける1または複数のデバイスを、ネットワークを離れるように強制するかどうかを判定することが可能であり、さらに別のデバイスまたはさらに別のサービスが、要求側デバイスがネットワークに参加することを可能にすることと関係する情報を準備することが可能である。
本出願は、複数の様々な実施形態を説明する。以下のセクションは、様々な実施形態を実施するのに適した例示的な環境を説明する。次に、本出願は、デバイス登録およびデバイス移行を実施するための例示的なシステム、デバイス、およびプロセスを説明する。
(例示的な環境)
図1は、デバイス登録およびデバイス移行を実施するのに使用可能な例示的なアーキテクチャ100の概略図である。アーキテクチャ100は、直接通信経路、つまり、「リンク」を介して互いに通信可能に結合された複数のノードまたはデバイス102−1、102−2、102−3、102−4、102−5、...、102−N(まとめてデバイス102と呼ばれる)を含む。この実施例において、Nは、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、ローカルエリアネットワーク(LAN)、NAN(neighborhood area network)、パーソナルエリアネットワーク(PAN)などの自律的ルーティングエリア(ARA)内に構成されたデバイスの数を表す。1だけのARAしか図1に示されないが、実際には、複数のARAが存在することが可能であり、集合的に、AMI(advanced metering infrastructure)ネットワークなどの、より大きいネットワークを規定することが可能である。任意の所与の時点で、個別の各デバイスは、特定のARAのメンバであり得る。しかし、時が経つにつれ、デバイスは、ARAにかかるそれぞれの負荷、干渉などの様々な要因に基づいて、1のARAから、地理的に近い、または重なり合う別のARAに移行する可能性がある。
前述したとおり、「リンク」という用語は、2つのデバイス間の直接通信経路(別のデバイスを経由せず、別のデバイスによって伝搬されることもない)を指す。リンクは、有線通信経路を介しても、無線通信経路を介してもよい。各リンクは、デバイスがデータを送信する、または受信することができる複数のチャネルを表し得る。複数のチャネルのそれぞれは、複数のチャネルのそれぞれに関して同一な、または異なる周波数範囲によって規定され得る。一部の事例において、複数のチャネルは無線周波数(RF)チャネルを備える。複数のチャネルは、制御チャネルと、複数のデータチャネルとを備え得る。一部の事例において、制御チャネルは、データチャネルのうちの1のデータチャネルを、データを転送するのに利用されるように指定する1または複数のメッセージをデバイス間で通信するために利用される。一般に、制御チャネル上の伝送は、データチャネル上の伝送と比べて、より短い。
一実施形態において、デバイス102のいくつか、または全てが、例えば、スマートユーティリティメータ(電気メータ、ガスメータおよび/または水道メータ)、センサ(例えば、温度センサ、気象観測所、周波数センサなど)、制御装置、トランス、ルータ、サーバ、中継器(例えば、セルラ中継器)、スイッチ、バルブ、以上の組み合わせ、または通信ネットワークに結合可能であり、データを送受信することができる任意デバイスなどの、様々なデバイスのいずれとして実装されることも可能である。
一部の実施形態において、デバイス102のいくつか、または全てが、さらに、または代替として、例えば、ノートブックコンピュータもしくはポータブルコンピュータ、ハンドヘルドデバイス、ネットブック、インターネット機器、ポータブル読み取りデバイス、電子ブックリーダデバイス、タブレットコンピュータもしくはスレートコンピュータ、ゲームコンソール、モバイルデバイス(例えば、モバイル電話機、携帯情報端末、スマートフォンなど)、メディアプレーヤなど、または以上の組み合わせを含む様々な従来のコンピューティングデバイスのいずれとして実装されてもよい。
この例において、デバイス102は、インターネットなどのバックホールネットワーク106に対するARAの接続ポイントの役割をするエッジデバイス(例えば、デバイス102−4)経由で中央局104と通信するようにさらに構成され得る。一実施形態において、エッジデバイスには、セルラ中継器、セルラルータ、エッジルータ、DODAG(Destination Oriented Directed Acyclic Graph)ルート、ARAネットワークのルートデバイスもしくはルートノード等が含まれ得るが、以上には限定されない。この図示される実施例において、デバイス102−1は、ARAにおける他のノードのためのセルラ中継器および/または転送デバイスの役割をして、例えば、ARAのその他のデバイス102−2〜102−Nからの通信を、ネットワーク106を介して中央局104との間で中継する。
一実施形態において、デバイス102のいくつか、または全てが、処理装置108を含み得る。処理装置108は、メモリ112と通信可能に結合された1または複数のプロセッサ110を含み得る。メモリ112は、様々な機能を実施するようにプロセッサ110上で実行可能である、1または複数のソフトウェアモジュールおよび/またはファームウェアモジュールを格納するように構成され得る。これらのモジュールは、メモリの中に格納され、プロセッサ上で実行可能なソフトウェアおよび/またはファームウェアとして本明細書で説明されるが、他の実施形態において、これらのモジュールのうちの任意のモジュールまたは全てのモジュールが、全体として、または部分的に、説明される機能を実行するようにハードウェアによって(例えば、ASIC、専用の処理装置などとして)実装されてもよい。
メモリ112は、コンピュータ可読媒体を備えることが可能であり、さらにランダムアクセスメモリ(RAM)などの揮発性メモリ、および/または読み取り専用メモリ(ROM)またはフラッシュRAMなどの不揮発性メモリの形態をとることができる。コンピュータ可読媒体には、コンピューティングデバイスの1または複数のプロセッサによって実行されるようにコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するために任意の方法または技術で実装された揮発性媒体および不揮発性媒体、リムーバブルメディアおよび非リムーバブルメディアが含まれる。コンピュータ可読媒体の例には、相変化メモリ(PRAM)、スタティックRAM(SRAM)、DRAM、他のタイプのRAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、DVDもしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、またはコンピューティングデバイスによってアクセスされるように情報を格納するのに使用され得る他の任意の非伝送媒体が含まれるが、以上には限定されない。本明細書で定義されるコンピュータ可読媒体は、変調されたデータ信号および搬送波などの通信媒体を含まない。
一実施形態において、デバイス102のいくつか、または全てが、無線機114をさらに含み得る。無線機114は、複数のチャネル/周波数のうちの1または複数を介してRF信号を送信するように、かつ/または受信するように構成された無線周波数(RF)トランシーバを備える。一部の実施形態において、デバイス102のいくつか、または全てが、各通信リンクの制御チャネルおよび複数のデータチャネルなどの異なる複数のチャネル上でデータを送受信するように構成された単一の無線機114を含む。無線機114は、異なる複数の変調技法、データレート、プロトコル、信号強度および/または電力レベルを実施するようにさらに構成され得る。アーキテクチャ100は、デバイス102に、様々なタイプのデバイス(例えば、スマートメータ、セルラ中継器、センサなど)、様々な世代もしくはモデルのデバイス、および/またはそれ以外で様々なチャネル上で伝送することができるとともに、様々な変調技法、データレート、プロトコル、信号強度および/または電力レベルを使用することができるデバイスが含まれ得るという点で、デバイスの異種のネットワークを表すことが可能である。
さらに、または代替として、一部の実施形態において、デバイス102のいくつか、または全てが、ネットワークインターフェース116、および/または入出力インターフェース118を含んでもよい。処理装置108は、ネットワークインターフェース116からのデータ、入出力インターフェース118から受け取られたデータ、および/またはメモリ112の中に格納されたデータを受け取り、操作するようにさらに構成され得る。
一方、ネットワーク106は、無線ネットワークもしくは有線ネットワーク、または無線ネットワークと有線ネットワークの組み合わせを自らが備え得るバックホールネットワークを表す。ネットワーク106は、相互接続され、単一の大型ネットワーク(例えば、インターネットまたはイントラネット)として機能する個々のネットワークを集めたものであり得る。さらに、それらの個々のネットワークは、無線ネットワークもしくは有線ネットワーク、または無線ネットワークと有線ネットワークの組み合わせであり得る。
中央局104は、サーバ、パーソナルコンピュータ、ラップトップコンピュータ、ルータ、スイッチなどの1または複数のコンピューティングデバイスによって実装され得る。この1または複数のコンピューティングデバイスは、メモリに通信可能に結合された1または複数のプロセッサを備え得る。一部の実施形態において、中央局104は、デバイス102のうちの1または複数から受信されたデータの処理、解析、格納、および/または管理を実行する集中メータデータ管理システムを含む。例えば、中央局104は、スマートユーティリティメータ、センサ、制御装置、ルータ、レギュレータ、サーバ、中継器、スイッチ、バルブ、および/または他のデバイスから獲得されたデータを処理すること、解析すること、格納すること、および/または管理することができる。中央局104は、さらに、または代替として、AMIネットワークのデバイスのレジストリ、デバイス構成設定、バージョン情報などを保持するためのネットワーク管理システム(NMS)を含んでもよい。図1の例は、単一のロケーションにおける中央局104を示すものの、一部の実施形態において、中央局は、複数のロケーションに分散していてもよく、かつ/または完全に無くされてもよい(例えば、極めて非集中化された分散コンピューティングプラットフォームの事例において)。
一実施形態において、このアーキテクチャは、ARAネットワークにおけるデバイス102のIDを認証することを担う認証サーバ120をさらに含み得る。一部の実施形態において、アーキテクチャ100は、ARAネットワークに対する新たなデバイスの受け付けを制御する、またはサポートすることが可能な他のサーバ122をさらに含み得る。一実施形態において、それらの他のサーバ122には、ARAネットワークに対してセキュリティサービスを維持すること、および/または提供することを担うセキュリティサーバが含まれ得る。
(例示的なデバイス)
図2は、図1のデバイス102(例えば、代表的デバイス102−2)の詳細を示す概略図である。この実施例において、無線機114は、RFフロントエンド202およびベースバンドプロセッサ204に結合されたアンテナ200を含む。RFフロントエンド202は、送信機能および/または受信機能をもたらすことができる。RFフロントエンド202は、アンテナによってもたらされた信号、およびデバイス102のうちの1または複数から獲得された信号に調整する(tune)こと、および/または当該信号を減衰させることなどの機能をもたらす高周波数アナログ構成要素および/またはハードウェア構成要素を含み得る。RFフロントエンド202は、ベースバンドプロセッサ204に信号を供給することができる。
一実施例において、ベースバンドプロセッサ204の全て、または一部が、ソフトウェア(SW)無線機として構成され得る。一実施例において、ベースバンドプロセッサ204は、無線機114に周波数選択機能および/またはチャネル選択機能をもたらす。例えば、SW無線機は、プロセッサ、または特定用途向け集積回路(ASIC)、または他の組み込まれたコンピューティングデバイスによって実行されるソフトウェアとして実装されたミキサ、フィルタ、増幅器、変調器および/または復調器、検出器などを含み得る。SW無線機は、プロセッサ110、およびメモリ112の中で定義された、またはメモリ112の中に格納されたソフトウェアを利用することができる。代替として、無線機114は、少なくとも部分的に、アナログ構成要素を使用して実装されてもよい。
処理装置108は、時刻を保持するように構成されたクロック206をさらに含み得る。クロック206は、1または複数のカウントアップタイマまたはカウントダウンタイマをもたらすようにさらに構成され得る。そのようなタイマは、複数の通信チャネルの間で周波数ホッピングする際に使用され得る。
周波数ホッピングモジュール208が、ベースバンドプロセッサ204およびクロック206と通信するように構成され得る。一実施例において、周波数ホッピングモジュール208は、時刻情報を獲得し、さらに/またはクロック206における周波数ホッピングタイマを設定するように構成される。そのような時刻情報および/またはタイマは、異なるチャネルまたは異なる周波数をいつ「ホップ」すべきか、または異なるチャネルまたは異なる周波数にいつ調整すべきかを周波数ホッピングモジュール208に示す。さらに、周波数ホッピングモジュール208は、実際の周波数変更を実行するよう無線機114のSW無線機または他の構成要素を誘導するように構成され得る。従って、周波数ホッピングモジュール208は、合意された周波数の間で、合意された時刻に繰り返し移り、合意された期間にわたって、合意されたプロトコルで別のデバイスと通信することができる。
一部の実施形態において(例えば、デバイスがユーティリティメータである場合)、メモリ112は、1または複数のリソース(例えば、電気、水道、天然ガスなど)の消費データを収集するように構成された計測モジュール210をさらに含むことが可能であり、次に、この消費データが、中央局102または他の宛先に最終的に伝搬されるように他の1または複数のデバイス102に送信されることが可能である。
デバイス102は、さらに、または代替として、ARAネットワークにおけるデバイス102の役割または機能に依存して、発見モジュール212、ブロードキャストモジュール214、送信モジュール216、暗号化/解読モジュール218、受信モジュール220、解析モジュール222、中継モジュール224、制御モジュール226、認証モジュール228、および/またはアドレス割り当てモジュール230を含んでもよい。これらのモジュールの機能の詳細は、後段で説明される。
(例示的なデバイス登録)
一実施形態において、デバイス102(例えば、デバイス102−3)が、中央局104におけるNMSに登録すること、および/またはARAネットワークのメンバになることに先立って、最初に、ARAネットワークにアタッチされることが可能である。例として、限定としてではなく、要求側デバイス102−3はまず、ARAネットワークに、要求側デバイス102−3がARAネットワークに参加する要求を送信することができるポイント、例えば、IPレベルまたはIPレイヤでアタッチされることが可能である。例えば、要求側デバイス102−3はまず、ARAネットワークにMAC(すなわち、媒体アクセス制御)レベルまたはMACレイヤでアタッチされることが可能である。一実施形態において、要求側デバイス102−3は、ARAネットワークを含むエリアに新たに展開されたスマートユーティリティメータなどのデバイスに対応することが可能である。代替として、要求側デバイス102−3は、図1に示されるとおり、別のARAネットワークからそのARAネットワークに移行しようと試みているデバイスに対応してもよい。
一実施形態において、要求側デバイス102−3の発見モジュール212は、要求側デバイス102−3の近隣に存在する1または複数の隣接デバイス102(例えば、デバイス102−2)を能動的に、または受動的に発見することができる。要求側デバイス102−3の隣接デバイスには、例えば、要求側デバイス102−3から通信可能に1ホップ離れたデバイスが含まれ得る。つまり、隣接デバイスは、要求側デバイスが通信リンクを介して直接に通信することができるデバイスである。一実施形態において、要求側デバイス102−3は、MACレイヤにおいて近隣発見サービスを実行することができる。さらに、または代替として、発見モジュール212は、要求側デバイス102−3が参加することを所望するARAネットワークのために指定された所定の周波数または所定の周波数範囲で検出された、または受信された信号を調べることを介して、発見モジュール212の近隣に存在する1または複数の隣接デバイスを発見してもよい。
さらに、または代替として、一部の実施形態において、要求側デバイス102−3は、要求側デバイス102−3の近隣の範囲内の1または複数のデバイスが要求を受信し、さらに要求側デバイス102−3に代行してその要求を処理し、さらに/または要求側デバイス102−3と接続を確立することができるように、要求側デバイス102−3の近隣に存在する任意のデバイスをまず知るもしくは発見して、またはまず知るもしくは発見することなしに、ブロードキャストモジュール214を使用してARAネットワークに参加する要求をブロードキャストしてもよい。
さらに、または代替として、一実施形態において、ブロードキャストモジュール214は、要求側デバイス102−3の存在をブロードキャストし、要求側デバイス102−3の存在に気付くARAネットワークにおける1または複数のデバイスは、要求側デバイス102−3と通信するのを待つことができる。一部の実施形態において、ブロードキャストモジュール214は、所定の周波数、または所定の周波数範囲において所定のコードまたは所定のメッセージを使用して、要求側デバイス102−3の存在をブロードキャストすることができる。
要求側デバイス102−3が1または複数の隣接デバイス102を発見するか、または1または複数の隣接デバイス102が要求側デバイス102−3を発見するかに関わらず、要求側デバイス102−3は、隣接デバイス102(例えば、デバイス102−2)を選択し、さらに隣接デバイス102−2に関連するARAネットワークに参加する要求を隣接デバイス102−2に送信することができる。一実施形態において、要求側デバイス102−3は、動的ホスト構成プロトコルバージョン6(DHCPv6)要求またはDHCPv4要求を、送信モジュール216を介して隣接デバイス102−2に送信することができる。代替として、要求側デバイス102−3は、参加する要求をビーコンメッセージの中に含めて、そのビーコンメッセージを、送信モジュール216を介して隣接デバイス102−2に送信してもよい。
要求側デバイス102−3は、ARAネットワークに対する新たなデバイスの受け付けまたは追加を制御することを担うARAネットワークに関連する制御側デバイスのアドレス(例えば、IPアドレス)を知っていることも、知らないことも可能である。この例における制御側デバイスは、エッジデバイス102−4、DHCPサーバ、またはARA外部の別のデバイスを備え得る。具体的には、参加要求またはビーコンメッセージは、要求側デバイス102−3の参加要求が最終的に向かう必要があるARAネットワークに関連する制御側デバイスの宛先アドレスを含むことも、含まないことも可能である。
一部の実施形態において、要求側デバイス102−3は、暗号化/解読モジュール218を使用して暗号化鍵によって参加要求またはビーコンメッセージの全体または一部を暗号化することができる。この暗号化鍵は、秘密鍵または対称鍵を備え得る。一実施例において、デバイス102のそれぞれ(ARAネットワークのメンバであるデバイス、またはARAネットワークに参加することを許可され得るデバイス)が、デバイスの製造中に、または製造後に同一の公開鍵/秘密鍵ペアまたは同一の対称鍵を共有することができる。一部の実施形態において、デバイス102のそれぞれ(ARAネットワークのメンバであるデバイス、またはARAネットワークに参加することを許可され得るデバイス)が、デバイス102のそれぞれによるアクセスが可能な暗号化/解読鍵の所定のプールから選択された暗号化/解読鍵または対称鍵を有することができる。一部の実施形態において、デバイス102のそれぞれ(ARAネットワークのメンバであるデバイス、またはARAネットワークに参加することを許可され得るデバイス)は、そのデバイス、並びに他の1または複数のデバイスおよび/またはサーバ(中央局104、認証サーバ120、および/またはARAネットワークの制御側デバイスなど)だけに知られている暗号化/解読鍵または対称鍵を有することが可能である。他の実施形態において、要求側デバイス102は、暗号化なしに、すなわち、平文フォーマットで参加要求またはビーコンメッセージを送信することができる。
さらに、または代替として、一実施形態において、参加要求は、要求側デバイス102−3の識別子、および/または要求側デバイス102−3に登録されており、さらにARAネットワーク、ARAネットワークの制御側デバイス、中央局104におけるNM、および/または認証サーバ120に知られている所定の鍵(例えば、前述の暗号化鍵、対称鍵もしくは公開鍵)を使用して署名された、または暗号化された認証署名、ナンスもしくは任意の値などの認証情報を含み得るが、以上には限定されない。一部の実施形態において、参加要求は、要求側デバイス102−3が孤立したデバイスであるかどうかを示すメッセージ、コードまたは他の標識をさらに含み得る。例として、限定としてではなく、要求側デバイス102−3は、要求側デバイス102−3が、ARAネットワーク以外のネットワーク(図示せず)に参加することができない場合、孤立していると決定され得る。さらに、または代替として、要求側デバイス102−3は、要求側デバイス102−3が位置するエリアを範囲に含む他のネットワークを要求側デバイス102−3が全く検出しない場合、孤立していると決定され得る。さらに、または代替として、要求側デバイス102−3は、要求側デバイス102−3が、別のネットワーク(図1に示される)からARAネットワークに移行しようと試みて、この別のネットワークとARAネットワークだけしか、要求側デバイス102−3が位置するエリアを範囲に含むネットワークが存在しない場合、孤立していると決定され得る。さらに、または代替として、要求側デバイス102−3は、要求側デバイス102−3が、ARAネットワークを除いて、要求側デバイス102−3のエリア内の検出される全てのネットワークについて残らず成功しなかった(すなわち、参加しようと試みて、失敗した)場合、孤立していると決定され得る。さらに、または代替として、要求側デバイス102−3(すなわち、参加することに失敗した)は、ARAネットワークが、要求側デバイス102−3と、例えば、NMSサーバおよびDHCPサーバなどの1または複数のサーバとの間で接続をもたらすことができる唯一のネットワークである場合、孤立している。
一部の実施形態において、隣接デバイス102−2に参加要求を送信後、要求側デバイス102−3は、隣接デバイス102−2を介したARAネットワークからの応答を待つ。この応答は、ARAネットワークに参加する、要求側デバイス102−3の参加要求が許可されたか、または拒否されたかを示すことができる。この応答が、要求側デバイス102−3の参加要求が拒否された、または否定されたことを示す場合、要求側デバイス102−3は、別のARAネットワークを探索し、要求側デバイス102−3が見出すことが可能なその別のARAネットワークに参加する要求を送信することができる。
参加要求が許可された場合、応答は、例えば、ARAネットワークに関連するグループ鍵、要求側デバイス102−3がARAネットワークに参加するための構成情報、および/または要求側デバイス102−3に割り当てられたアドレス(例えば、IPアドレス)を含み得る。さらに、または代替として、一部の実施形態において、この応答は、例えば、ARAネットワーク内で要求側デバイス102−3からデータパケットをルーティングするために制御側デバイスによって指定された1または複数の経路上のデバイスのアドレス情報、および/またはARAネットワークに関連する制御側デバイスのアドレス情報を含め、ARAネットワーク内の1または複数のデバイス102のアドレス情報を含み得る。一部の実施形態において、この応答の一部または全体(例えば、グループ鍵など)が、要求側デバイス102−3の対称鍵を使用して暗号化され得る。さらに、または代替として、この応答の一部または全体(例えば、制御側デバイスのアドレス情報など)が、ARAネットワークに関連するグループ鍵を使用して暗号化されてもよい。
一部の実施形態において、要求側デバイス102−3は、例えばARAネットワーク(例えば、ARAネットワークの隣接デバイス102−2)を相手に、DHCPv6プロトコルまたはDHCPv4プロトコルを使用して、単一回のハンドシェークまたは交換(すなわち、参加要求のための単一の上流メッセージ、および参加要求に対する応答のための単一の下流メッセージ)だけを実行して、ARAネットワークに参加することを実現することができる。一実施形態において、要求側デバイス102−3および/またはARAネットワークは、この単一回のハンドシェークまたは交換を使用して相互認証(すなわち、ARAネットワークまたは認証サーバ120による要求側デバイス102−3のIDの認証、および要求側デバイス102−3によるARAネットワークのIDの認証)を実現することができる。
例として、限定としてではなく、要求側デバイス102−3の対称鍵または非対称鍵(例えば、公開鍵/秘密鍵)が、要求側デバイス102−3と、ARAネットワークに関連する他の1または複数のデバイスおよび/またはサーバ(例えば、認証サーバ120、中央局104、および/または制御側デバイス)だけにしか知られていない(または知られていないことになっている)場合、要求側デバイス102−3とARAネットワークは、要求側デバイス102−3の対称鍵または非対称鍵を使用することによって互いを認証することができる。例えば、ARAネットワークは、認証サーバ120が、要求側デバイス102−3の対称鍵または非対称鍵(例えば、公開鍵)を使用して暗号化されているナンスまたは署名(参加要求に含められていることが可能な)をうまく解読することができた場合、要求側デバイス102−3のIDを認証することができる。さらに、要求側デバイス102−3は、例えば、要求側デバイス102−3が、要求側デバイス102−3の対称鍵または非対称鍵(例えば、公開鍵)を使用して暗号化されている暗号化されたグループ鍵(または、例えば、参加要求に応答して含められた、以前に送信されたナンスもしくは署名などの他の情報)をうまく解読することができた場合、ARAネットワークを認証することができる。一部の実施形態において、暗号化されたグループ鍵が、ARAネットワークを認証することの源として使用される場合、要求側デバイス102−3は、要求側デバイス102−3が、解読されたグループ鍵を使用してARAネットワークにおける他のデバイスとうまく通信することができた場合、ARAネットワークの認証をさらに判定することができる。代替の実施形態において、要求側デバイス102−3は、場合により、TCP/IPプロトコルおよび/または他のインターネットプロトコルなどの1または複数のプロトコルを使用して、ARAネットワークを相手に複数回のハンドシェークまたは交換を実行して、ARAネットワークに参加することを実現してもよい。
一実施形態において、隣接デバイス102−2は、要求側デバイス102−3から送信された、またはブロードキャストされた参加要求を、隣接デバイス102−2の受信モジュール220を介して受信することができる。参加要求またはビーコンメッセージが暗号化されている場合、隣接デバイス102−2は、隣接デバイス102−2の暗号化/解読モジュール218を使用して参加要求またはビーコンメッセージを解読することができる。隣接デバイス102−2は、(解読された、または暗号化されていない場合、最初から平文の)参加要求を構文解析し、解析モジュール222を介して、要求側デバイス102−3がARAネットワークに参加することを要求していると決定することができる。
一部の実施形態において、要求側デバイス102が隣接デバイス102−2のARAネットワークに参加することを要求していると決定したことに応答して、隣接デバイス102−2は、その参加要求を、そのARAネットワークに関連する制御側デバイス(例えば、デバイス102−4)に中継することができる。一実施形態において、隣接デバイス102−2は、制御側デバイスのアドレス(例えば、IPアドレス)を知っていることが可能であり、さらにその参加要求を、中継モジュール224を介して制御側デバイスに中継することができる。例として、限定としてではなく、中継モジュール224は、要求側デバイス102−3から送信された(DHCPv6の)参加要求を制御側デバイスに中継する中継エージェント、例えば、DHCPv6中継エージェントを含み得る。例えば、隣接デバイス102−2の中継モジュール224は、制御側デバイスのIPアドレスを、要求側デバイス102−3の参加要求を含むデータパケットの宛先アドレスとして挿入し、さらにそのデータパケットを制御側デバイスに直接に、または隣接デバイス102−2の親デバイス経由で間接的に中継することができる。
代替として、隣接デバイス102−2が、制御側デバイスのアドレスを知らない場合、隣接デバイス102−2の中継モジュール224が、(要求側デバイス102−3の要求を含む)そのデータパケットを、ARAネットワークにおける隣接デバイス102−2の親デバイスに中継することを、例えば、その親デバイスのIPアドレスを挿入して、隣接デバイス102−2の親デバイスが、要求側デバイス102−3の参加要求を制御側デバイスに中継するように誘導すること、または中継することを可能にすることによって、行ってもよい。
さらに、または代替として、参加要求が制御側デバイスに中継されるか、または隣接デバイス102−2の親デバイスに中継されるかに関わらず、隣接デバイス102−2は、隣接デバイス102−2の暗号化鍵を使用して、中継された要求をさらに暗号化することができる。一実施形態において、この暗号化鍵は、ARAネットワークに関連し、ARAネットワークにおける各デバイス102に配信されるグループ鍵を含むことができる。一部の実施形態において、この暗号化鍵は、ARAネットワークの各デバイス102によるアクセスが可能であり、かつ/または隣接デバイス102−2に割り当てられた暗号化/解読鍵のプールから選択された暗号化鍵を含み得る。他の一部の実施形態において、隣接デバイス102−2は、要求を平文フォーマットで、即ち、暗号化なしに中継することができる。一実施形態において、隣接デバイス102−2は、隣接デバイス102−2が要求側デバイス102−3に代行して中継する要求の送信元アドレスとして、隣接デバイス102−2のアドレスを使用する(または、要求側デバイス102−3の参加要求の送信元アドレスを、隣接デバイス102−2のアドレスで置き換える)ことができる。このことは、ARAネットワークに関連する他のデバイスまたはサーバから要求側デバイス102−3に戻す返信を適切に転送することを可能にする。例えば、要求側デバイス102−3に対する応答または返信(例えば、参加要求に関する)は、隣接デバイス102−2のアドレスを宛先アドレスとして使用することが可能であり、さらにそれに相応して要求側デバイス102−3に応答または返信を転送する、または中継するように隣接デバイス102−2に要求することができる。
一部の実施形態において、隣接デバイス102−2は、要求側デバイス102−3の参加要求を、ARAネットワークの条件、および/または要求側デバイス102−3の条件に関わらず、中継する。さらに、または代替として、一部の実施形態において、隣接デバイス102−2は、ARAネットワークは、ARAネットワークに対する新たなデバイスの受け付けを、ARAネットワークに追加されるべき、または加えられるべきその新たなデバイスが孤立したデバイスでない限り、承認することができないことを示す指示を、制御側デバイス102−4から受信することが可能である。そのような指示を受信する事例において、隣接デバイス102−2の解析モジュール222は、例えば、受信モジュール220によって受信された参加要求に基づいて、要求側デバイス102−3が孤立したデバイスであるかどうかをさらに判定することができる。要求側デバイス102−3が孤立したデバイスではないと決定したことに応答して、隣接デバイス102−2は、例えば、隣接デバイス102−2が、孤立したデバイスを除いて、新たなデバイスの受け付けを拒否する指示を制御側デバイス102−4からそれまでに受信しているために、ARAネットワークに参加する要求が拒否されたことを示す応答またはフィードバックを要求側デバイス102−3に送信することができる。
一部の実施形態において、隣接デバイス102−2から中継された要求を受信したことに応答して、ARAネットワークに関連する制御側デバイスは、ARAネットワークの条件に基づいて、要求側デバイス102−3の参加要求を許可するか、または拒否するかを判定することができる。制御側デバイスは、制御モジュール226を使用して、要求側デバイス102−3の参加要求を許可するか、または拒否するかを判定することができる。一実施形態において、制御側デバイスは、受け付け制御権限の役割をすることができる。一実施形態において、制御側デバイスは、ARAネットワークのルートデバイスもしくはエッジデバイス(例えば、デバイス102−4)、ARAネットワークのルータを備えることが可能であり、またはARAネットワークの1または複数のノードに分散されることが可能である。一部の実施形態において、制御側デバイスは、代替として、中央局104、中央局104によって管理可能な1または複数のARAネットワークのルーティングツリーのルート、または中央局104の系列に属することが可能な別のサーバ122などのバックエンドデバイスに配置されてもよい。一部の実施形態において、制御側デバイスは、他のサーバ122のうちの1または複数に含められることが可能なDHCPサーバまたはDHCPv6サーバを含み得る。一実施形態において、制御側デバイスがDHCPサーバもDHCPv6サーバを、またはDHCPサーバもしくはDHCPv6サーバの1または複数の機能を含まない場合に、制御側デバイスは、DHCPサーバまたはDCHPv6サーバに参加要求を中継することができる。一部の実施形態において、制御側デバイスは、DHCPサーバもしくはDCHPv6サーバ、ルートデバイス、エッジデバイス、ルータ、中央局104などのバックエンドデバイス、または別のサーバ122を含む1または複数のデバイスの組み合わせを含み得る。本出願における参照を容易にするため、デバイス102−4は、制御側デバイスと呼ばれる。デバイス102−Aは、ARAネットワークを、バックホールネットワーク106を介して中央局104に結合する、ARAネットワークのルートノード、エッジルータ、または他のエッジデバイスを表す。
一部の実施形態において、隣接デバイス102−2から中継される要求を受信したことに応答して、制御側デバイス102−4は、ARAネットワークにかかっている負荷が所定の閾値を超えているかどうかに基づいて、要求側デバイス102−3の要求を許可するか、または拒否するかを判定することができる。例として、限定としてではなく、制御側デバイス102−4は、ARAネットワークが過負荷になっているかどうか(例えば、ARAネットワークにおけるデバイスの現在の数が、収容に関する所定の閾値以上であるかどうか)に基づいて、要求側デバイス102−3の要求を許可するか、または拒否するかを判定することができる。さらに、または代替として、制御側デバイス102−4は、ARAネットワークの統計(現在の/平均の帯域幅使用率、現在の/平均の衝突率、データパケットの現在の/平均のドロップ率、現在の/平均のデータトラフィックなど)が、その統計に関する所定の閾値以上であるかどうかに基づいて、要求側デバイス102−3の要求を許可するか、または拒否するかを判定してもよい。
一実施形態において、ARAネットワークにかかっている負荷が所定の閾値を超えた(例えば、統計が、その統計に関する所定の閾値以上である)ことに応答して、制御側デバイス102−4は、要求側デバイス102−3の(DHCPまたはDHCPv6の)参加要求を拒否することができる。代替として、一部の実施形態において、制御側デバイス102−4は、例えば、受信された要求の中の情報に基づいて、要求側デバイス102−3が孤立したデバイスであるかどうかをさらに判定することができる。受信された要求の中の情報は、例えば、要求側デバイス102−3が孤立したデバイスであることを示す標識を含み得る。要求側デバイス102−3が孤立したデバイスであると決定したことに応答して、制御側デバイス102−4は、ARAネットワークの条件に関わらず(即ち、ARAネットワークにかかっている負荷が所定の閾値を超えているかどうかに関わらず)、要求側デバイス102−3がARAネットワークに参加することを許可することができる。
一部の実施形態において、制御側デバイス102−4は、認証モジュール228を使用して要求側デバイス102−3の認証をさらに判定することができる。例えば、制御側デバイス102−4の認証モジュール228は、受信された要求の中に含められた要求側デバイス102−3の識別子または認証署名に基づいて、要求側デバイス102−3の認証を判定することができる。さらに、または代替として、制御側デバイス102−4は、要求を構文解析して、要求側デバイス102−3の識別子および/または認証署名を、セキュリティサーバまたは認証−許可−アカウンティング(AAA)サーバ120などの認証サーバに送信してもよい。セキュリティサーバまたはAAAサーバ120は、例えば、中央局104によって管理される1または複数のARAネットワーク(現在のARAネットワークを含む)に参加するデバイスのIDを認証することを担う。一実施形態において、セキュリティサーバまたはAAAサーバ120は、ARAネットワークの外部に配置され得る。一部の実施形態において、セキュリティサーバまたはAAAサーバ120は、制御側デバイス102−4の同一のARAネットワーク内の別のノードまたはデバイス(例えば、デバイス102−1)であり得る。制御側デバイス102−4は、例えば、RADIUS(Remote Authentication Dial In User Service)などのネットワーキングプロトコルを使用して、要求側デバイス102−3の識別子および/または認証署名を含む情報をセキュリティサーバまたはAAAサーバ120に送信することができる。本出願における参照を容易にするため、AAAサーバが、1または複数のARAネットワークに参加するデバイスのIDを認証する動作を説明する例として使用される。
一実施形態において、例えば、要求側デバイス102−3の識別子および/または認証署名に基づいて要求側デバイス102−3のIDを認証することに成功した後、AAAサーバ120は、要求側デバイス102−3のIDが認証されることに成功したことを示すメッセージを、制御側デバイス102−4、または制御側デバイス102−4に関連する、もしくは接続されたDHCPサーバに送信することができる。さらに、または代替として、一部の実施形態において、AAAサーバ120は、ARAネットワークに関連するグループ鍵(例えば、グループリンクレイヤ鍵)を、制御側デバイス102−4、または制御側デバイス102−4のDHCPサーバにさらに送信することができる。さらに、または代替として、AAAサーバ120は、ARAネットワークに関連するグループ鍵(例えば、グループリンクレイヤ鍵)によって署名された、または暗号化されたメッセージを、制御側デバイス102−4、または制御側デバイス102−4のDHCPサーバにさらに送信してもよい。一実施形態において、制御側デバイス102−4は、ARAネットワークに関連するグループ鍵をあらかじめ格納することができ、従って、暗号化されたメッセージを、そのグループ鍵を使用して解読することができる。一部の実施形態において、制御側デバイス102−4は、要求側デバイス102−3の公開鍵または対称鍵の情報を有さない可能性がある。その事例において、AAAサーバ120は、要求側デバイス102−3の公開鍵または対称鍵を使用してグループ鍵を暗号化し、さらにARAネットワークに関連するグループ鍵を使用して制御側デバイス102−4に対するメッセージ(暗号化されたグループ鍵を含む)を暗号化することができ、制御側デバイス102−4が、要求側デバイス102−3の公開鍵または対称鍵を使用して暗号化されているグループ鍵を要求側デバイス102−3に転送することができる。
一実施形態において、制御側デバイス102−4とDHCPサーバが別々のデバイスである場合、AAAサーバ120は、制御側デバイス102−4に関連するDHCPサーバにそのメッセージを送信することができる(例えば、認証要求が、DHCPサーバから、または制御側デバイス102−4からDHCPサーバ経由で送信された後)。メッセージを受信したことに応答して、DHCPサーバは、そのメッセージを解析して、要求側デバイス102−3のIDが認証されるかどうかを判定することができる。さらに、または代替として、DHCPサーバは、そのメッセージを制御側デバイス102−4に中継してもよい。一部の実施形態において、AAAサーバ120は、認証要求が制御側デバイス102−4から(または制御側デバイス102−4とDHCPサーバが別々のデバイスである場合、DHCPサーバ経由で制御側デバイス102−4から)送信された場合、メッセージを制御側デバイス102−4に直接に送信することができる。メッセージがDCHPサーバから中継されるか、またはAAAサーバ120から直接に送信されるかに関わらず、一実施形態において、AAAサーバ120からメッセージを受信したことに応答して、制御側デバイス102−4は、そのメッセージを解析して、要求側デバイス102−3のIDが認証されるかどうかを判定することができる。要求側デバイス102−3のIDが認証されると決定したことに応答して、制御側デバイス102−4は、要求側デバイス102−3のIDが認証され、かつ/または要求側デバイス102−3がARAネットワークに参加することを許可されることを示す、前述の実施形態において説明される通り、要求側デバイス102−3の公開鍵または対称鍵を使用して暗号化されることも、暗号化されないことも可能な(このことは、例えば、制御側デバイス102−4が要求側デバイス102−3の公開鍵または対称鍵を有するかどうかに依存し得る)メッセージを要求側デバイス102−3に送信することができる。さらに、または代替として、一部の実施形態において、制御側デバイス102−4は、要求側デバイス102−3に対する、隣接デバイス102−2によって後に解読され、構文解析され得るメッセージを、ARAネットワークに関連するグループ鍵を使用して暗号化してもよい。一実施形態において、メッセージは、例えば、ARAネットワークに関連するグループ鍵、および、例えば、AAAサーバ120から受信された暗号化されたグループ鍵などの、要求側デバイス102−3の公開鍵または対称鍵を使用して暗号化されることも、暗号化されないことも可能な他の情報をさらに含み得る。一部の実施形態において、メッセージを受信したことに応答して、要求側デバイス102−3は、そのメッセージを、暗号化されている(例えば、要求側デバイス102−3の公開鍵または対称鍵を使用して)場合、解読して、ARAネットワークに関連するグループ鍵を取り出すことができる。さらに、または代替として、要求側デバイス102−3は、暗号化されたグループ鍵(要求側デバイス102−3の公開鍵または対称鍵を使用してAAAサーバ120において暗号化されたグループ鍵などの)を解読して、グループ鍵を取り出すことができる。すると、要求側デバイス102−3は、ARAネットワークの他のデバイスを相手にデータ(例えば、グループ鍵を使用して暗号化されたデータなど)を送信すること、および/または受信することを許されることができる。
一部の実施形態において、制御側デバイス102−4(または制御側デバイス102−4に関連するDHCPサーバ)は、送信モジュール216を使用してNMSに登録要求をさらに送信することができる。登録要求は、例えば、制御側デバイス102−4に関連する秘密鍵(公開鍵/秘密鍵のうちの)を使用して署名される、もしくは暗号化されることが可能な、要求側デバイス102−3の識別子、ARAネットワークに関連するグループ鍵、および/または要求側デバイス102−3に関連する鍵を含むことができる。一実施形態において、制御側デバイス102−4は、登録要求を、平文の、暗号化されていないフォーマットでNMSに送信することができる。
制御側デバイス102−4から登録要求を受信した後、NMSは、そのメッセージが暗号化されている場合、そのメッセージを解読し、そのメッセージを構文解析し、さらに要求側デバイス102−3の識別子を獲得することができる。一部の実施形態において、NMSは、要求側デバイス102−3に関連する情報、および/またはARAネットワークに関連する情報をさらに取り出すことができる。一実施形態において、NMSは、取り出された情報に基づいて、要求側デバイス102−3がARAネットワークに参加するのに、またはARAネットワークに対してセットアップするのに使用可能な構成情報または構成パラメータを決定することができる。取り出された情報には、要求側デバイス102−3のモデルタイプまたはデバイスタイプ、要求側デバイス102−3が参加することを要求しているARAネットワークのタイプなどが含まれ得るが、以上には限定されない。さらに、または代替として、NMSは、構成情報または構成パラメータを制御側デバイス102−4、または制御側デバイス102−4のDHCPサーバに送信することができる。
一実施形態において、NMSから構成情報または構成パラメータを受信したことに応答して、制御側デバイス102−4(またはDHCPサーバ)のアドレス割り当てモジュール230が、要求側デバイス102−3のための新たなアドレス(例えば、IPv6アドレスなどの新たなIPアドレス)を決定することができる。一実施形態において、制御側デバイス102−4(またはDHCPサーバ)は、例えば、制御側デバイス102−4(またはDHCPサーバ)が使用可能な中継エージェントに割り当てられたプレフィックスに基づいて、その新たなアドレスを決定することができる。さらに、または代替として、制御側デバイス102−4(またはDHCPサーバ)は、制御側デバイス102−4のARAネットワークにおけるデバイスに指定された、またはそれらのデバイスによって共有されるプレフィックスに基づいて、その新たなアドレスを決定することができる。一実施形態において、要求側デバイス102−3に割り当てられた新たなアドレスは、制御側デバイス102−4(またはDHCPサーバ)の中継エージェントに割り当てられた、またはARAネットワークにおける各デバイスに指定された、もしくはARAネットワークにおける各デバイスによって共有されるプレフィックスを含み得る。一部の実施形態において、制御側デバイス102−4(またはDHCPサーバ)は、乱数をさらに生成して、その新たなアドレスの残りの部分に関してこの乱数を使用することができる。さらに、または代替として、制御側デバイス102−4(またはDHCPサーバ)は、ARAネットワークに追加されるデバイスのために使用されるべき複数のアドレス(例えば、IPv6アドレス)を予め確保して、格納していてもよい。その場合、制御側デバイス102−4(またはDHCPサーバ)は、要求側デバイス102−3に割り当てるためにその複数のアドレスからアドレスをランダムに、または順次に選択することができる。
さらに、または代替として、一部の実施形態において、要求側デバイス102−3に割り当てられるべき新たなアドレスを決定した後、制御側デバイス102−4(またはDHCPサーバ)は、DNS(即ち、ドメインネームシステム)サーバにその新たなアドレスをさらに確認して、その新たなアドレスが現在、割り当てられている他のデバイスが存在するかどうかを判定することができる。一実施形態において、制御側デバイス102−4(またはDHCPサーバ)は、要求側デバイス102−3の新たなアドレスおよび識別子をDNSサーバに送信することができる。制御側デバイス102−4(またはDHCPサーバ)が、DNSサーバから、その新たなアドレスが現在、別のデバイスに割り当てられていることを示す返信を受信した場合、制御側デバイスは、要求側デバイス102−3のための別の新たなアドレスを再決定して、DNSサーバにその再決定された新たなアドレスを確認して、その再決定された新たなアドレスが利用できることを確実にすることができる。その新たなアドレス、またはその再決定された新たなアドレスが利用可能である場合、DNSサーバは、その新たなアドレス、またはその再決定された新たなアドレスを要求側デバイス102−3の識別子と一緒に登録して、要求側デバイス102−3のためにその新たなアドレス、またはその再決定された新たなアドレスを確保することができる。
一実施形態において、要求側デバイス102−3に割り当てられるべき新たなアドレスを確認した後、制御側デバイス102−4は、要求側デバイス102−3に返信(例えば、DHCP返信)を与えることができる。例として、限定としてではなく、この返信は、割り当てられたアドレス(例えば、割り当てられたIPv6グローバルアドレス)、ARAネットワークに関連するグループ鍵(例えば、グループリンクレイヤ鍵)、および/または要求側デバイス102−3がARAネットワークに参加するのに、またはARAネットワークに対してセットアップするのに使用可能な構成情報もしくは構成パラメータを含み得るが、これらには限定されない。一実施形態において、制御側デバイス102−4(またはDHCPサーバ)は、要求側デバイス102−3にその返信を送信することができる。一部の実施形態において、要求側デバイス102−3のグローバルアドレスの知識を有して、または有さずに(例えば、その新たなアドレスが要求側デバイス102−3にまだ割り当てられていないので)、制御側デバイス102−4(またはDHCPサーバ)は、その返信を、隣接デバイス102−2を介して(さらに、制御側デバイス102−4がARAネットワークの外部に位置している場合、ARAネットワークの先頭のルータを介して)要求側デバイス102−3に送信することができる。例えば、制御側デバイス102−4(またはDHCPサーバ)は、隣接デバイス102−2にその返信を送信して、隣接デバイス102−2がその返信を要求側デバイス102−3に中継することを要求することができる。要求側デバイス102−3を相手に通信を確立した隣接デバイス102−2は、次に、その返信を、DHCPv6プロトコルを使用するメッセージ、またはビーコンメッセージを介して要求側デバイス102−3に中継することができる。さらに、または代替として、隣接デバイス102−2は、隣接デバイス102−2の近隣においてその返信をブロードキャストしてもよく、隣接デバイス102−2に隣接する要求側デバイス102−3が、そのブロードキャストされた返信を受信し、その返信を構文解析して、割り当てられた新たなアドレスなどの情報を獲得して、ARAネットワークに参加することができる。
参加要求に対する返信を受信した後、要求側デバイス102−3は、例えば、その返信の中に含められた構成情報または構成パラメータに基づいて、ARAネットワーク内の通信のための構成パラメータを構成することができる。例えば、要求側デバイス102−3は、複数のルーティングパス、および/または複数の隣接デバイスが利用可能である場合、いずれのルーティングパスおよび/または隣接デバイスを使用すべきか決定することによって、ARAネットワークに入るルーティングトポロジにアタッチされることができる。さらに、または代替として、要求側デバイス102−3は、例えば、ARAネットワークに要求側デバイス102−3の到着を通知するメッセージを、ARAネットワークのルートノードに送信してもよい。要求側デバイス102−3は、ルートノードからの確認応答を要求する、もしくは必要とする可能性も、要求することも必要とすることもない可能性もある。ルートノードからの確認応答が要求される、もしくは必要とされる場合、要求側デバイス102−3は、ルートノードから送信される確認応答を待つことができる。一実施形態において、所定の期間にわたってルートノードからの確認応答が受信されなかった場合、要求側デバイス102−3は、メッセージをルートノードに再送信することができる。要求側デバイス102−3は、確認応答が所定の回数、受信されなかったことに対してメッセージを再送信してもよい。さらに、または代替として、要求側デバイス102−3は、ルートノードにメッセージを転送する、または中継するのに異なるルーティングパスおよび/または異なる隣接デバイス102を選択してもよい。ルートノードから確認応答を受信した後、要求側デバイス102−3は、例えば、要求側デバイス102−3を宛先としないパケットをルーティングすること、および/または転送すること、要求側デバイス102−3にアドレス指定されたパケットを処理すること、要求側ノード102−3を宛先とするパケットに関して返信すること(要求された場合)などを含め、ARAネットワークにおける通常の動作を実行することを始めることができる。ルートノードからの確認応答が、所定の回数の再試行にわたって受信されない場合、要求側デバイス102−3は、ルートノードから確認応答が受信されているかのように通常の動作を実行すること、所定の時間間隔の後に到着メッセージを再送信すること、または隣接する別のARAネットワークが利用可能である場合、そのようなARAネットワークに移行することを決定することなどを開始することができる。
(例示的なデバイス移行)
一部の実施形態において、ARAネットワーク内のデバイス102は、そのARAネットワークから離れること、または別のARAネットワークに移行することを決定する、または開始することができる。例として、限定としてではなく、デバイス102は、デバイス102および/またはARAネットワークに関連する1または複数のネットワーク条件に基づいて、ARAネットワーク(デバイス102が、現在、アタッチされている)から離れること、または別のARAネットワークに移行することを決定する、または開始することができる。例えば、デバイス102は、デバイス102に対する通信品質(例えば、リンクレイヤ通信品質)が劣悪である、または低下している、例えば、所定の品質閾値を下回っている場合、ARAネットワークから別のARAネットワークに移行することを開始することができる。さらに、または代替として、デバイス102は、ARAネットワークのルータに障害が生じた場合、ARAネットワークから別のARAネットワークに移行してもよい。さらに、または代替として、デバイス102は、現在のARAネットワークにアタッチされている間、そのARAネットワークの環境をリッスンして、隣接する他のARAネットワークの存在を検出する、または発見することができる。デバイス102は、これらの隣接ネットワークによって提供されるサービス品質(QoS)などのパフォーマンスについて知ることができる。デバイス102は、ARAネットワークから別のARAネットワークに、その別のARAネットワークが、デバイス102が現在、アタッチされているARAネットワークと比べて、サービス品質などのより良好なパフォーマンスを提供する場合、移行することが可能である。一実施形態において、デバイス102は、1または複数のポリシーまたは基準に基づいて、移行するための隣接するARAネットワークを選択してもよい。これらのポリシーまたは基準の例には、デバイス102が現在、アタッチされているARAネットワークと比べて、QoS、待ち時間もしくは応答待ち時間、スループット、パケットドロップ率などのパフォーマンスに関して少なくとも所定の量の向上、または所定のパーセンテージの向上を提供するネットワークを選択することが含まれ得るが、以上には限定されない。
さらに、または代替として、デバイス102は、ARAネットワークにおけるデバイスの過密または過負荷、ARAネットワークに関連するパフォーマンスの低下(例えば、パケットドロップ率の増加、利用可能な帯域幅の低下、衝突率の増加など)、ARAネットワークと別のネットワークの間の負荷分散などの、ARAネットワークに関連する管理上の理由で、ARAネットワークから別のARAネットワークに移行するよう制御側デバイス102−4(またはARAネットワークの先頭のルータなどのARAネットワークにおけるデバイス102)によって強制されてもよい。さらに、または代替として、制御側デバイス102−4は、デバイス102がARAネットワークから別のARAネットワークに移行することを、そのARAネットワークがいっぱいであり(例えば、そのARAネットワークにかかっている現在の負荷が、所定の閾値以上である)、さらにそのARAネットワークに参加することを要求している新たなデバイスが、孤立したデバイスである場合、強制してもよい。
一実施形態において、制御側デバイス102−4が、あるデバイス102にARAネットワークを離れること、または別のARAネットワークに移行することを強制する必要があり得る場合、制御側デバイス102−4は、離れるべき、または移行すべきARAネットワークにおける1または複数のデバイス102を、ARAネットワークからデバイス102をランダムに選択することによって決定することができる。一部の実施形態において、制御側デバイス102−4は、ARAネットワークにおける各デバイスに関連する情報に基づいて、離れるべき、または移行すべき1または複数のデバイスを選択することができる。一部の実施形態において、制御側デバイス102−4は、ARAネットワークにおける各デバイス102に関連する情報を、それぞれのデバイス102がARAネットワークに参加する際に、格納することができる。
さらに、または代替として、制御側デバイス102−4は、ARAネットワークにおける1または複数のデバイス102が離れること、または別のARAネットワークに移行することを強制するように決定したことに応答して、ARAネットワークにおける各デバイスを調査することができる。さらに、または代替として、制御側デバイス102−4は、ARAネットワークにおけるデバイス102にクエリを行って、デバイス102のうちのいずれがARAネットワークから離れること、または移行することができるかを判定してもよい。さらに、または代替として、制御側デバイス102−4は、中央局104から、または制御側デバイス102−4から階層関係において上流にある任意のデバイスもしくはノードから、ARAネットワークにおける各デバイス102に関連するトポロジ情報を取り出してもよい。一実施形態において、各デバイス102に関連する情報には、それぞれのデバイス102が孤立したデバイスであるかどうか、それぞれのデバイス102が子デバイス(すなわち、それぞれのデバイス102から階層関係において下流にあるデバイス)を有するかどうか、それぞれのデバイス102がいくつの子デバイスを有するかなどが含まれ得るが、以上には限定されない。
ARAネットワークにおける各デバイス102に関連する情報を取り出したこと、またはARAネットワークにおけるデバイスから返信を受信したことに応答して、制御側デバイス102−4は、1または複数のヒューリスティクス戦略(heuristics strategies)に基づいて、離れるべき、または移行すべきARAネットワークにおける1または複数のデバイス102を選択することができる。例として、限定としてではなく、制御側デバイス102−4は、その情報に孤立していないことが示される1または複数のデバイス102を選択することができる。さらに、または代替として、制御側デバイス102−4は、有する子デバイスの数がより少ない、例えば、所定の閾値数より少ない1または複数のデバイス102を選択してもよい。さらに、または代替として、制御側デバイス102−4は、閾値数より少ない数の子デバイスを有する所定の数(例えば、1、2など)の最初のいくつかのデバイス102を選択してもよい。さらに、または代替として、制御側デバイス102−4は、例えば、ルーティング情報に基づいて、制御側デバイス102−4から最も遠く離れた1または複数のデバイスを選択してもよい。
ARAネットワークから離れるべき、または移行すべき1または複数のデバイス102を選択した後、制御側デバイス102−4は、ARAネットワークから離れる、または移行する指示または要求をその1または複数のデバイス102に送信することができる。一実施形態において、制御側デバイス102−4は、その指示または要求をデバイス102に送信し、このデバイス102が、何らかの理由で(例えば、最初のデバイスが、現在のARAネットワークを離れることを強制されたとした場合、孤立することになる)ARAネットワークから離れる、または移行することができない場合、別のデバイス102にその指示または要求を送信することができる。一部の実施形態において、制御側デバイス102−4が、複数の(または所定の数の)デバイス102にその指示または要求を送信して、前に送信された指示または要求が前に指示された、または要求されたデバイスによって満たされ得ない場合に、他のデバイス102にその指示または要求を再送信する問題を回避することができる。
特定の一実施例として、制御側デバイス102−4が、ARAネットワークから離れるよう、または移行するようデバイス102−5を選択することができる。移行指示または移行要求を受信したことに応答して、デバイス102−5は、デバイス102−5が移行することが可能な他の1または複数のARAネットワークが存在するかどうかを判定することができる。例えば、デバイス102−5は、発見モジュール212およびブロードキャストモジュール214を使用して、他のARAネットワークに属する隣接デバイスが存在するかどうかを判定することができる。デバイス102−5が、移行すべき他のARAネットワークを見出すことができない場合、デバイス102−5は、制御側デバイス102−4のARAネットワークを離れることを、そうすることにより、デバイス102−5が孤立することになるので、拒否するメッセージを制御側デバイス102−4に送信することができる。
代替として、デバイス102−5は、別のARAネットワークを検出するが、この別のARAネットワークとの通信の品質が劣悪である、または散発的であると決定することができる。その事例において、デバイス102−5は、デバイス102−5がARAネットワークから離れることも、移行することもできないことを示すメッセージを制御側デバイス102−4に送信することができる。さらに、または代替として、移行指示または移行要求を受信した時点で、デバイス102−5は、デバイス102−5が、所定の時間閾値以上の或る期間を必要とする可能性があるデータを処理すること、受信すること、および/または送信することで忙しいと決定する可能性がある。このことに応答して、デバイス102−5は、デバイス102−5がARAネットワークから離れることも、移行することもできないというメッセージを制御側デバイス102−4に送信することができる。一実施形態において、デバイス102−5は、デバイス102−5がARAネットワークから離れる、または移行することにより、デバイス102−5が孤立することになる場合、デバイス102−5がARAネットワークから離れることも、移行することも強制されないことを例外として、そのような移行の結果に関わらず、ARAネットワークから離れる、または移行することを強制されることができる。
一実施形態において、デバイス102−5が、別のARAネットワークを検出し、さらにデバイス102−5が、ARAネットワークから離れること、または移行することができる場合、デバイス102−5は、前段の例示的なデバイス登録セクションにおいて説明されるとおり、その別のARAネットワークに参加することを開始することができる。例えば、デバイス102−5は、隣接するARAネットワークに属する隣接デバイス102に、その隣接ネットワークに参加することを要求する要求(前述の実施形態において説明されるとおり、暗号化鍵および/または暗号化アルゴリズムを使用して暗号化されても、暗号化されなくてもよい)を送信することができる。さらに、デバイス102−5は、デバイス102−5がネットワークを離れることを示すメッセージを、デバイス102−5が離れつつある、もしくは移行しつつある元のネットワークにおけるデバイス102にさらにブロードキャストすることができる。一部の実施形態において、デバイス102−5は、制御側デバイス102−4のARAネットワークに参加する際に、それまでにNMSに登録することに成功しているので、デバイス102−5は、新たなARAネットワークに参加する際に、前述した認証プロセスの一部または全てを免除され得る(例えば、そのARAネットワークに関連するグループ鍵、および/またはデバイス102−5のデバイス識別子を、その別のARAネットワークの制御側デバイスに供給することによって)。
一実施形態において、デバイス102−5は、その別のARAネットワークに指定された特定のプレフィックス(例えば、IPv6プレフィックス)を含む新たなアドレスを受信することができる。その新たなアドレスを受信した後、デバイス102−5は、デバイス102−5の古いアドレス(すなわち、制御側デバイス102−4によってデバイス102−5に以前に割り当てられたアドレス)を、米国国家規格協会(ANSI)C12.22、DNSにおいてなど、アプリケーションレベルにおいて、その新たなアドレスで更新することができる。
一実施形態において、移行の期間中、および移行の完了前に、デバイス102−5は、デバイス102−5が現在、アタッチされている、または最初にアタッチされたARAネットワークに対する接続またはアタッチメントを維持することができる。例えば、デバイス102−5は、デバイス102−5を宛先としないパケットをルーティングすること、および転送すること、デバイス102−5にアドレス指定されたパケットを処理すること、要求された場合、現在のARAネットワークを介してデバイス102−5を宛先とするパケットに返信することなどを含め、現在のARAネットワークにおける通常の動作を依然として実行することができる。さらに、または代替として、デバイス102−5は、新たなARAネットワークから隣接デバイス102を選択し、この隣接デバイス102を、データパケットに関する中継器および/または転送するデバイスとして使用してもよい。さらに、または代替として、デバイス102−5は、ARAネットワークにおける他のデバイス102からの、デバイス102−5の古いアドレスを宛先とするデータパケットを依然として受信することができる。一部の実施形態において、移行の期間中、デバイス102−5は、デバイス102−5の古いアドレスを格納して、もしくはキャッシュして、デバイス102−5の古いアドレスにアドレス指定されたデータまたはデータパケットを引き続き通常どおり処理し、このため、移行のこの期間中、デバイス102−5が移行する元のARAネットワークとの接続を維持することができる。一実施形態において、デバイス102−5が、移行する元のARAネットワークのデバイス102−5の親デバイスとの接続を失った場合、デバイス102−5は、例えば、デバイス102−5のバッファから全ての上流パケット(そのARAネットワークのより上位の階層レベルにおけるデバイスに送信されるデータパケット)をドロップすることができる。一部の実施形態において、デバイス102−5は、移行の期間中、受信されたデータパケットを、デバイス102−5が移行している元のARAネットワークに転送することができる(依然としてアタッチされている場合)。一実施形態において、デバイス102−5が、デバイス102−5の新たなアドレスを受け取り、現時点でその別のARAネットワーク(すなわち、新たなARAネットワーク)にアタッチされている場合、デバイス102−5は、バッファリングされたデータパケット、すなわち、デバイス102−5の「古い」ARAネットワークから来るデータパケットを、例えば、新たなARAネットワークを介してデバイス102−5の新たなアドレスを使用して、「トンネリング」し、それらの受信されたデータパケット(例えば、新たなパケットの中に含められる、またはカプセル化される)を送信することができる。
一実施形態において、新たなARAネットワークにアタッチされること、または移行することに成功した後、デバイス102−5は、古いARAネットワークから自らをデタッチする、または離れる。一実施形態において、デバイス102−5は、古いARAネットワークのルートノードに、古いARAネットワークからのデバイス102−5の離脱を通知する、または告知するメッセージを送信することができる。さらに、または代替として、デバイス102−5は、デバイス102−5経由でデータパケットを転送し、さらに/またはルーティングする古いARAネットワークにおける1または複数のデバイス102にメッセージ(古いARAネットワークからのデバイス102−5の離脱を示す)を送信することができる。これらのメッセージ(すなわち、古いARAネットワークにおけるルートノードおよび/またはその他のデバイス102に対するメッセージ)は、古いARAネットワークにおけるルートノードおよび/またはその他のデバイス102から確認応答を要求することも、要求しないこともできる。さらに、一部の実施形態において、デバイス102−5は、これらのメッセージを古いARAネットワークにおけるルートノードおよび/またはその他のデバイス102に繰り返し送信して、ルートノードおよび/またはその他のデバイス102がこれらのメッセージを受信する見込みを高める、または確実にすることができる。
さらに、または代替として、デバイス102−5は、デバイス102−5の古いアドレスを宛先とするいずれのデータパケットも処理することを停止することができる。一実施形態において、デバイス102−5は、データパケットが、例えば、デバイス102−5の古いアドレスを宛先とするデータパケット、および/または高い度合の緊急性もしくは重要性(応答が必要とされる時刻によって示される)を示すデータパケット(デバイス102−5の古いアドレスを宛先とすることも、宛先としないことも可能である)である場合、データパケットを処理することを選択することが可能である。さらに、または代替として、デバイス102−5は、データパケットがデバイス102−5の古いアドレスを宛先とする場合、特定の意図または目的を有するいくつかのタイプのデータパケットに応答することを選択してもよい。例として、限定としてではなく、デバイス102−5は、事前定義されたセットのアプリケーションを宛先とするデータを伝送するとともに、デバイス102−5からの応答を要求するデータパケットを処理することができる。デバイス102−5は、新たなARAネットワークを介して応答を送信するとともに、その新たなARAネットワークにおけるデバイス102−5の新たなアドレスを応答の送信元アドレスとして使用することができる。さらに、または代替として、デバイス102−5は、特定の意図のデータパケットでも、事前定義されたセットのアプリケーションを宛先とするデータパケットでもないデータパケットを無視する、またはドロップすることができる。一部の実施形態において、デバイス102−5が、古いARAネットワークからデタッチされ、新たなARAネットワークにおける通常の動作を実行しているとき、デバイス102−5は、古いARAネットワークもしくは新たなARAネットワークによってデフォルトであり得る、または古いARAネットワークもしくは新たなARAネットワークの管理者によって事前定義され得る所定の期間にわたって、古いアドレスを宛先とするパケットを依然として受け付けることができる。デバイス102−5は、前段で説明される前述の実施形態により、デバイス102−5の古いアドレス(および/またはデバイス102−5の古いアドレスを宛先としないデータパケット)を処理することができる。
一部の実施形態において、デバイス102−5の古いアドレスは、移行期間と呼ばれる、或る期間中、別のデバイスに再割り振りされることはない。この移行期間は、システム全体(例えば、古いARAネットワークおよび新たなARAネットワークのルートノード、DNSサーバなどを含む)が、デバイス102−5の移行を反映するように更新されるまで、ARA切り換えプロセス全体に及ぶだけ十分に長く設定される。
(代替の実施形態)
前述の実施形態は、AMI(Advanced Metering Infrastructure)の自律的ルーティングエリアネットワークにおける応用例を説明するものの、本開示は、そのような応用例に限定されない。一実施形態において、本開示は、セルラネットワーク、ホームネットワーク、オフィスネットワークなどのネットワークに適用され得る。例えば、セルラ局が、セルラ局によって制御されるセルラネットワークにかかる負荷が所定の閾値を超えたと決定した場合に、セルラ局は、セルラ局のネットワークに接続されたモバイルデバイスのうちのいくつかを選択して、離脱するよう、または別のセルラネットワークに移行するよう強制して、その結果、セルラ局によって制御されるネットワークに関する負荷分散を実行することができる。
(例示的な方法)
図3は、ネットワークにおけるデバイス登録の例示的な方法300を示す流れ図である。図4は、デバイスがネットワークに参加することを許可するか、または拒否するかの判定の例示的な方法400を示す流れ図である。図5は、ネットワークからのデバイス移行の例示的な方法500を示す流れ図である。図3、図4および図5の方法は、図1の環境において、図2のデバイスを使用して実施され得るが、そうでなくてもよい。説明を容易にするため、方法300、400および500は、図1および図2を参照して説明される。しかし、方法300、400および500は、代替として、他の環境において、さらに/または他のシステムを使用して実施されてもよい。
方法300、400および500は、コンピュータ実行可能命令の一般的な脈絡で説明される。一般に、コンピュータ実行可能命令には、特定の機能を実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造、プロシージャ、モジュール、関数などが含まれ得る。また、これらの方法は、通信ネットワークを介して結び付けられた遠隔処理デバイスによって機能が実行される分散コンピューティング環境において実施されることも可能である。分散コンピューティング環境において、コンピュータ実行可能命令は、メモリストレージデバイスを含む、ローカルコンピュータ記憶媒体および/または遠隔コンピュータ記憶媒体の中に配置され得る。
例示的な方法は、ハードウェアとして、ソフトウェアとして、ファームウェアとして、または以上の組み合わせとして実装され得る一連の動作を表すロジカルフローグラフ(logical flow graph)におけるブロックを集めたものとして示される。これらの方法が説明される順序は、限定として解釈されることは意図しておらず、任意の数の説明される方法ブロックが、これらの方法、または代替の方法を実施するように任意の順序で組み合わされることが可能である。さらに、個々のブロックは、本明細書で説明される主題の趣旨および範囲を逸脱することなく、方法から省かれてもよい。ソフトウェアの脈絡で、ブロックは、1または複数のプロセッサによって実行されたとき記載される動作を実行するコンピュータ命令を表す。
図3を再び参照すると、ブロック302で、要求側デバイス102−3は、要求側デバイス102−3が位置するエリアを範囲に含むネットワークに参加することを所望することができる。要求側デバイス102−3は、隣接デバイス102−2を発見することが可能であり、隣接デバイス102−2に参加要求(例えば、参加する要求を含むDHCPv6要求またはビーコンメッセージ)を送信する。
ブロック304で、参加要求を受信したことに応答して、隣接デバイス102−2は、その要求を解析し、要求側デバイス102−3が、隣接デバイス102−2がメンバであるネットワークに参加することを要求すると決定することができる。
ブロック306で、要求側デバイス102−3がそのネットワークに参加することを要求すると決定したことに応答して、隣接デバイス102−2は、オプションとして、その参加要求を選別することができる。一実施形態において、隣接デバイス102−2は、その参加要求をネットワークの他のデバイスに中継すべきかどうかを判定することができる。例えば、隣接デバイス102−2は、孤立したデバイス以外、いずれのデバイスも、ネットワークの過密または過負荷などの管理上の理由またはネットワーキング上の理由でネットワークに受け付けられ得ないという指示または要求を、制御側デバイス102−4から受信していることができる。この事例において、隣接デバイス102−2は、例えば、参加要求の中に含められた情報に基づいて、要求側デバイス102−3が孤立したデバイスであるかどうかを判定することができる。一実施形態において、隣接デバイス102−2が、孤立したデバイス以外、いずれのデバイスもネットワークに受け付けられ得ないという指示もしくは要求を受信しており、さらに要求側デバイス102−3が、孤立したデバイスではない場合、隣接デバイス102−2は、参加要求が拒否されたことを示す応答を要求側デバイス102−3に送信することができる。そうでない場合には、隣接デバイス102−2は、要求側デバイス102−3の参加要求をネットワークの他のデバイスに中継する準備をすることができる。
ブロック308で、要求側デバイス102−3は、要求側デバイス102−3の参加要求が拒否されたことを示す応答を隣接デバイス102−2から受信する。
ブロック310で、隣接デバイス102−2は、参加要求を、隣接デバイス102−2が制御側デバイス102−4のアドレスを知っているかどうかに基づいて、制御側デバイス102−4、または隣接デバイス102−2の親デバイスに中継することができる。
ブロック312で、隣接デバイス102−2から中継された参加要求を受信したことに応答して、制御側デバイス102−4は、要求側デバイス102−3の参加要求を許可するか、または拒否するかを判定することができる。一実施形態において、制御側デバイス102−4は、ネットワークの条件、および/または要求側デバイス102−3の条件に基づいて、参加要求を許可するかどうかを判定することができる。制御側デバイス102−4が、要求側デバイス102−3の参加要求を拒否すると決定した場合、制御側デバイス102−4は、制御側デバイス102−4またはネットワークが、要求側デバイス102−3が参加することを許可することができないことを示す返信を、隣接デバイス102−2を介して要求側デバイス102−3に送信することができる。
ブロック314で、要求側デバイス102−3の要求を許可すると決定したことに応答して、制御側デバイス102−4は、要求側デバイス102−3の参加要求の中に含められた要求側デバイス102−3の識別子および/または認証署名を含むメッセージを認証サーバ(例えば、AAAサーバ120)に送信することができる。一実施形態において、制御側デバイス102−4は、ネットワークに関連するグループ鍵、または制御側デバイス102−4に関連する暗号化鍵を使用して、そのメッセージにさらに署名する、またはそのメッセージをさらに暗号化することができる。
ブロック316で、メッセージを受信した後、認証サーバ120は、暗号化されている場合、メッセージを解読し、さらにメッセージを構文解析して、要求側デバイス102−3の識別子および/または認証署名を獲得することができる。次に、認証サーバ120は、要求側デバイス102−3の獲得された識別子、および/または獲得された認証署名に基づいて、認証を実行することができる。要求側デバイス102−3のIDを認証することに成功したことに応答して、認証サーバ120は、場合により、ネットワークに関連するグループ鍵(要求側デバイス102−4の公開鍵または対称鍵を使用して暗号化されても、暗号化されなくてもよい)を含む認証成功メッセージを制御側デバイス102−4に送信することができる。一実施形態において、要求側デバイス102−4の公開鍵または対称鍵は、要求側デバイス102−4と認証サーバ120だけにしか知られていないことが可能である。一部の実施形態において、要求側デバイス102−4の公開鍵または対称鍵は、ネットワーク管理またはネットワーク監視を担うARAネットワークの他のデバイスまたは他のサーバ(例えば、中央局104および/または制御側デバイス102−4など)にさらに知られていることが可能である。例えば、認証サーバ120は、ARAネットワークに関連するグループ鍵で暗号化されている、要求側デバイス102−4の公開鍵または対称鍵をさらに含む認証成功メッセージを送信することができる。代替として、認証サーバ120が要求側デバイス102−3のIDを認証できなかった場合、認証サーバ120は、認証が失敗したことを示す認証失敗メッセージを制御側デバイス102−4に送信してもよい。
ブロック318で、認証サーバ120からメッセージを受信したことに応答して、制御側デバイス102−4は、要求側デバイス102−3のIDの認証が成功したかどうかを判定することができる。失敗した場合、制御側デバイス102−4は、要求側デバイス102−3の参加要求が拒否されたことを示す返信を、隣接デバイス102−2を介して要求側デバイス102−3に送信することができる。要求側デバイス102−3のIDの認証が成功したと決定したことに応答して、制御側デバイス102−4は、要求側デバイス102−3の参加要求が許可されることを示すメッセージを含む受け付け応答を、隣接デバイス102−2を介して要求側デバイス102−3に送信することができる。一実施形態において、応答は、要求側デバイス102−3の公開鍵または対称鍵を使用して認証サーバにおいて暗号化されても、されなくてもよいネットワークに関連するグループ鍵をさらに含み得るが、そのようなグループ鍵には限定されない。さらに、または代替として、一部の実施形態において、制御側デバイス102−4は、制御側デバイス102−4が、例えば、認証サーバ120から要求側デバイス102−3の公開鍵または対称鍵を知っている場合、要求側デバイス102−3の公開鍵または対称鍵を使用して応答を暗号化してもよい。さらに、または代替として、一部の実施形態において、制御側デバイス102−4は、要求側デバイス102−3の公開鍵または対称鍵を使用して(この公開鍵または対称鍵が制御側デバイス102−4に知られている場合)グループ鍵(および/またはネットワークに参加することと関係する他の情報)を暗号化し、さらにネットワークに関連するグループ鍵を使用して、暗号化されたグループ鍵および/またはメッセージを暗号化してもよい。一部の実施形態において、制御側デバイス102−4は、要求側デバイス102−3の公開鍵または対称鍵を使用してグループ鍵およびメッセージを暗号化し、さらにグループ鍵を使用して、暗号化されたグループ鍵、暗号化されたメッセージ、および/または他の情報(要求側デバイス102−3に応答をルーティングすることを可能にする情報、例えば、隣接デバイス102−2のアドレス、および/または要求側デバイス102−3のIDなど)をさらに暗号化することができる。
一部の実施形態において、制御側デバイス102−4は、認証サーバ120から要求側デバイス102−3のID認証成功を受信した後(すなわち、要求側デバイス102−3のIDの認証が成功したと決定した後)、要求側デバイス102−3に受け付け応答を送信しなくてもよい。これらの代替の実施形態において、制御側デバイス102−4は、オプションとして、後段のブロック324で説明されるとおり、要求側デバイス102−3をNMSまたは中央局104に登録する登録要求をNMSに送信することができる。
ブロック320で、隣接デバイス102−2は、制御側デバイス102−4から送信された受け付け応答を受信し、解析することができる。一実施形態において、この応答が、ネットワークに関連するグループ鍵を使用して暗号化されている場合、隣接デバイス102−2は、暗号化された応答を解読することができる。一実施形態において、受け付け応答が、要求側デバイス102−3の参加要求と関係する応答であると決定したことに応答して、隣接デバイス102−2は、この応答の一部または全体を要求側デバイス102−3に中継することができる。例えば、隣接デバイス102−2は、要求側デバイス102−3の公開鍵または対称鍵を使用して暗号化されたこの応答の一部を要求側デバイス102−3に中継することができる。
ブロック322で、要求側デバイス102−3は、隣接デバイス102−2から中継された応答を受信し、さらにこの応答を解析して、参加要求の結果、および/またはネットワークのグループ鍵(含まれる場合)を取り出す。要求側デバイス102−3は、そのグループ鍵を使用してネットワークの他のデバイスからデータを受信すること、および/またはそのようなデバイスにデータを送信することを開始することができる。
ブロック324で、制御側デバイス102−4は、オプションとして、要求側デバイス102−3をNMSまたは中央局104に登録する登録要求をNMSに送信することができる。この登録要求は、要求側デバイス102−3の識別子を含み得るが、そのような識別子には限定されない。
ブロック326で、制御側デバイス102−4から登録要求を受信したことに応答して、NMSは、ネットワークに関連する情報、およびネットワークにおける要求側デバイス102−3に関連する情報、または他のデバイスからの情報を獲得することができる。NMSは、獲得された情報に基づいて、要求側デバイス102−3のために使用可能な構成情報または構成パラメータを決定することができる。例えば、NMSは、要求側デバイス102−3のタイプ、ネットワークのタイプなどに基づいて、要求側デバイス102−3のために使用可能な構成情報または構成パラメータを決定することができる。構成情報または構成パラメータを決定した後、NMSは、その構成情報または構成パラメータを制御側デバイス102−4に送信することができる。
ブロック328で、NMSから構成情報または構成パラメータを獲得したことに応答して、制御側デバイス102−4は、要求側デバイス102−3に新たなアドレスを割り当てることができる。一実施形態において、制御側デバイス102−4は、ネットワークに規定された、または指定されたプレフィックスを含む新たなアドレスを割り当てることができる。制御側デバイス102−4は、要求側デバイス102−3に対する返信(例えば、DHCP返信)をさらに準備することができる。一実施形態において、この返信は、割り当てられた新たなアドレス、構成情報もしくは構成パラメータ、および/またはネットワークに関連するグループ鍵を含み得るが、以上には限定されない。一実施形態において、制御側デバイス102−4が、要求側デバイス102−3のIDの認証が成功したと決定した直後に、要求側デバイス102−3に受け付け応答を送信していない場合、制御側デバイス102−4からこの返信を送信することによって、要求側デバイス102−3のIDの認証が成功したことを示すことが可能である。一部の実施形態において、制御側デバイス102−4は、要求側デバイス102−3のIDの認証と関係する認証サーバ120から受信された情報をこの返信にさらにマージすることができる。一部の実施形態において、制御側デバイス102−4は、隣接デバイス102−2(および、制御側デバイスがネットワークの外部に位置する場合、ネットワークの先頭のルータ)を介してこの返信を要求側デバイス102−3に送信することができる。
ブロック330で、隣接デバイス102−2は、制御側デバイス102−4からの返信を要求側デバイス102−3に中継する。
ブロック332で、要求側デバイス102−3が、返信の中で受信された情報(例えば、グループ鍵、割り当てられたアドレス、および/または構成情報もしくは構成パラメータ)を使用してネットワークに参加することに成功し、ネットワークに登録される。一実施形態において、要求側デバイス102−3は、要求側デバイス102−3の対称鍵もしくは非対称鍵が要求側デバイス102−3自らと許可された1または複数のデバイスおよび/またはサーバ(例えば、認証サーバ120、中央局104、および/または制御側デバイス102−4)だけにしか知られていない場合、ネットワークをさらに認証することができる。例えば、返信の中に含められたグループ鍵が、要求側デバイス102−3の対称鍵または非対称鍵(例えば、公開鍵)を使用して暗号化されることが可能である。従って、要求側デバイス102−3が、要求側デバイス102−3の対称鍵または非対称鍵(例えば、秘密鍵)を使用して、暗号化されたグループ鍵を解読することができ、さらにその解読されたグループ鍵を使用してARAネットワークの他のデバイスとうまく通信することができる場合、要求側デバイス102−3はネットワークを認証することができる。しかし、要求側デバイス102−3が、その解読されたグループ鍵を使用して他のデバイスとデータを通信することができない場合、要求側デバイス102−3は、ネットワークの認証が失敗したと決定し、それに相応してネットワークを離れる(またはネットワークから切断する)ことができる。
図4を再び参照すると、ブロック402で、制御側デバイス102−4は、隣接デバイス102−2を介して要求側デバイス102−3から要求を受信することができる。要求側デバイス102−3は、ネットワーク内に新たに展開されたデバイス、または別のネットワークからそのネットワークに移行しようと試みているデバイスを含み得る。一実施形態において、制御側デバイス102−4は、要求側デバイス102−3の要求が制御側デバイス102−4に関連付けられたネットワークに参加することを要求する参加要求であると決定することができる。この参加要求は、要求側デバイス102−3が孤立したデバイスであるかどうかについての情報を少なくとも含み得る。一部の実施形態において、この参加要求は、要求側デバイス102−3のIDなどをさらに含み得るが、そのようなIDなどには限定されない。一部の実施形態において、この参加要求は、要求側デバイス102−3の秘密鍵または対称鍵によって暗号化される、または署名されることが可能である。制御側デバイス102−4は、要求が暗号化されている場合、要求側デバイス102−3の公開鍵または対称鍵を使用して要求を解読することができる。
ブロック404で、要求が参加要求であると決定したことに応答して、制御側デバイス102−4は、ネットワークがさらなるデバイスを収容する容量を有するかどうかを判定することができる。例えば、制御側デバイス102−4は、ネットワークに関連する負荷が所定の閾値以上であるかどうかを判定することができる。ネットワークに関連する負荷には、デバイスの現在の数、現在のトラフィック、現在もしくは平均のパケットドロップ率、現在もしくは平均の帯域幅使用率などが含まれ得るが、以上には限定されない。
ブロック406で、制御側デバイス102−4が、ネットワークがさらなるデバイスを収容できる、例えば、負荷が所定の閾値未満であると決定した場合、制御側デバイス102−4は、他のデバイスおよび/または他のサーバに対して、前述の実施形態、例えば、図3で説明されるとおり、要求側デバイス102−3の参加要求を処理することに進むことができる。
ブロック408で、制御側デバイス102−4が、ネットワークがさらなるデバイスを収容できない、例えば、負荷が所定の閾値を超えていると決定した場合、制御側デバイス102−4は、要求側デバイス102−3が、例えば、参加要求の中に含められた情報に基づいて、孤立したデバイス102−3であるかどうかを判定することができる。
ブロック410で、制御側デバイス102−4が、要求側デバイス102−3が孤立したデバイスではないと決定した場合、制御側デバイス102−4は、要求側デバイス102−3の参加要求を拒否し、隣接デバイス102−2を介して要求側デバイス102−3に拒否の応答を送信することができる。
ブロック412で、制御側デバイス102−4が、要求側デバイス102−3が孤立したデバイスであると決定した場合、制御側デバイス102−4は、他のデバイスおよび/または他のサーバに対して、前述の実施形態、例えば、図3で説明されるとおり、要求側デバイス102−3の参加要求を処理することに進むことができる。さらに、制御側デバイス102−4は、ネットワークの1または複数のデバイスが、前述の実施形態において説明され、さらに図5および後段の付随する説明において説明されるとおり、ネットワークの1または複数のデバイスがネットワークから離れること、または移行することを強制することができる。
図5を再び参照すると、ブロック502で、制御側デバイス102−4は、1または複数のデバイス102がネットワークから離れる、または移行することを強制することを決定する。制御側デバイス102−4は、ネットワークの負荷分散、孤立したデバイスの、既に過負荷になったネットワークに参加する要求などの、1または複数の理由に基づいて、この決定を行うことができる。
ブロック504で、制御側デバイス102−4は、1または複数のヒューリスティクス戦略に基づいて、離れるべき、または移行すべきネットワークにおける1または複数のデバイス102を選択することができる。この1または複数のヒューリスティクス戦略には、孤立していないデバイスを選択すること、子デバイスを有さない、もしくは有する子デバイスの数がより少ないデバイスを選択すること、制御側デバイスから通信上、最も遠く離れたデバイスを選択することが含まれ得るが、以上には限定されない。
ブロック506で、離れるべき、または移行すべき1または複数のデバイスを選択した後、制御側デバイス102−4は、その1または複数のデバイスがネットワークから離れること、または移行することを強制する、または要求する指示または要求をその1または複数のデバイスに送信することができる。
ブロック508で、移行指示または移行要求を受信したことに応答して、その1または複数のデバイス、例えば、デバイス102−5は、デバイス102−5がネットワークから離れること、または移行することができると決定することができる。一実施形態において、デバイス102−5は、デバイス102−5が位置しているエリア内に1または複数のネットワーク(デバイス102−5が、現在、メンバであるネットワーク以外の)が存在するかどうかを検出すること、または発見することによって、デバイス102−5が、現在、孤立したデバイスであるかどうかを判定することができる。デバイス102−5は、デバイス102−5が離れること、または別のネットワークに移行することができないと決定したことに応答して、制御側デバイス102−4にメッセージを送信することができる。
ブロック510で、1または複数のネットワーク(デバイス102−5が、現在、メンバであるネットワーク以外の)が存在すると決定したことに応答して、デバイス102−5は、例えば、図3に関連して前述したとおり、その1または複数のネットワークのうちの1のネットワークに参加することを開始することができる。さらに、デバイス102−5は、デバイス102−5がネットワークから離れつつある、または移行しつつあるというメッセージを、そのネットワークにおけるデバイス102にさらにブロードキャストすることができる。
ブロック512で、移行の期間中、および移行の完了前に、デバイス102−5の「古い」アドレス(すなわち、デバイス102−5が離れつつある、または移行しつつある元のネットワークによってデバイス102−5に割り当てられたアドレス)を宛先とするデータパケットを受信したことに応答して、デバイス102−5は、それらのデータパケットをドロップすること、またはそれらのデータパケットを、デバイス102−5が依然として接続されているネットワークにおける他のデバイスに転送することができる。
ブロック514で、新たなアドレスを獲得することに成功し、新たなネットワークにアタッチされた後、デバイス102−5は、新たなネットワークにおいて通常の、または割り当てられた動作または機能を実行することを始めることができる。
図5は、デバイス102−5が、制御側デバイス102−4によってARAネットワークから離れること、または移行することを強制され得る、または指示され得ることを説明するものの、一部の実施形態において、デバイス102−5は、実際には、ARAネットワークから離れること、またはARAネットワークから別のARAネットワークに移行することを自ら開始する。例として、限定としてではなく、デバイス102−5は、デバイス102−5および/またはARAネットワークに関連する1または複数のネットワーク条件に基づいて、ARAネットワークから離れること、またはARAネットワークから別のARAネットワークに移行することを決定する、または開始することができる。例えば、デバイス102−5は、デバイス102−5に対する通信品質(例えば、リンクレイヤ通信品質)が劣悪である、または低下している、例えば、所定の品質閾値を下回っている場合、そのARAネットワークから別のARAネットワークに移行することを開始することができる。さらに、または代替として、デバイス102−5は、ARAネットワークのルータに障害が生じた場合、そのARAネットワークから別のARAネットワークに移行してもよい。さらに、または代替として、デバイス102−5は、現在のARAネットワークにアタッチされている間、そのARAネットワークの環境をリッスンして、隣接する他のARAネットワークの存在を検出する、または発見することができる。デバイス102−5は、これらの隣接ネットワークによって提供されるパフォーマンス/サービス品質について知ることができる。デバイス102−5は、別のARAネットワークが、デバイス102−5が現在アタッチされているARAネットワークと比べて、より良好なパフォーマンス/サービス品質を提供する場合、ARAネットワークからその別のARAネットワークに移行することができる。
本明細書で説明されるいずれの方法のうちのいずれの動作も、少なくとも部分的には、1または複数のコンピュータ可読媒体上に格納された命令に基づいてプロセッサまたは他の電子デバイスによって実施され得る。例として、限定としてではなく、本明細書で説明されるいずれの方法のうちのいずれの動作も、1または複数のコンピュータ記憶媒体などの1または複数のコンピュータ可読媒体上に格納され得る実行可能命令で構成された1または複数のプロセッサの制御下で実施され得る。
(結論)
本発明は、構造上の特徴、および/または方法上の動作に特有の言い回しで説明されてきたものの、本発明は、説明される特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および動作は、本発明を実施する例示的な形態として開示される。