(57)【特許請求の範囲】
【請求項１】
複数のネットワークノードを有するマルチチャネルメッシュ型ネットワークにおけるチャネル切り替えを制御するためのコントローラデバイスであって、前記コントローラデバイスは、前記ネットワークノードにメインチャネル切り替えコマンドを送信し、前記メインチャネル切り替えコマンドに対する受信された応答に基づき、前記メインチャネル切り替えコマンドに対する応答が受信されなかった１つ以上の前記ネットワークノードを孤児ノードとしてリストし、少なくとも１つの前記孤児ノードの近隣の１つ以上の代理ノードを選択し、前記１つ以上の代理ノードから、前記少なくとも１つの孤児ノードにローカルチャネル切り替えコマンドを送信するよう、前記１つ以上の代理ノードを制御する、コントローラデバイス。
【請求項２】
前記孤児ノードの近隣ノードを前記代理ノードとして選択する、請求項１に記載のコントローラデバイス。
【請求項３】
前記ネットワークノードがそれらの現在のチャネルに留まるべき期間を指定するタイミングパラメータを前記チャネル切り替えコマンドに加える、請求項１に記載のコントローラデバイス。
【請求項４】
前記メッシュ型ネットワークの認められたサイズ及びリンク品質のうちの一方又は両方に基づき前記タイミングパラメータを選択する、請求項３に記載のコントローラデバイス。
【請求項５】
孤児ノードのリストを保持し、前記ローカルチャネル切り替えコマンドに対する応答に基づき前記孤児ノードのリストを更新する、請求項１に記載のコントローラデバイス。
【請求項６】
前記孤児ノードへの過去のリンク品質又は地理的近さに基づき、前記選択された代理ノードに優先順位を付ける、請求項１に記載のコントローラデバイス。
【請求項７】
前記代理ノード及び／又は孤児ノードのコミッショニングフェーズ中に取得された位置情報に基づき、又は、前記ネットワークの動作中に前記代理ノード及び／又は孤児ノードから受信されたデータに基づき、前記選択された代理ノードに優先順位を付ける、請求項６に記載のコントローラデバイス。
【請求項８】
前記コントローラデバイスと前記孤児ノードとの間のルーティング経路若しくはリンク品質、又は両者の組み合わせに基づき前記孤児ノードに優先順位を付ける、請求項１に記載のコントローラデバイス。
【請求項９】
前記メインチャネル切り替えコマンド又は前記ローカルチャネル切り替えコマンドに対する応答が受信されたネットワークノードと、前記メイン及びローカルチャネル切り替えコマンドに対する応答が受信されなかった孤児ノードとの間の距離若しくはリンク品質、又は両者の組み合わせの順位表を作成し、前記コントローラデバイスが前記メッシュ型ネットワークの全ての孤児ノードの回復を試み終えるまで、前記順位表内の順位に基づき孤児ノード及び代理ノードを適切に選択する、請求項１に記載のコントローラデバイス。
【請求項１０】
マルチチャネルメッシュ型ネットワークのネットワークノードであって、コントローラデバイスからのチャネル切り替え委任コマンドの受信に応じて前のチャネル又はデフォルトのチャネルに切り替え、前記前のチャネル又は前記デフォルトのチャネル上でローカルチャネル切り替えコマンドを送信する、ネットワークノード。
【請求項１１】
前記ネットワークノードは、前記メッシュ型ネットワークの現在のチャネル上で更なるローカルチャネル切り替えコマンドを送信する、請求項１０に記載のネットワークノード。
【請求項１２】
複数のネットワークノードを有するマルチチャネルメッシュ型ネットワークにおけるチャネル切り替えを制御する方法であって、前記ネットワークノードにメインチャネル切り替えコマンドを送信するステップと、前記メインチャネル切り替えコマンドに対する受信された応答に基づき、前記メインチャネル切り替えコマンドに対する応答が受信されなかった１つ以上の前記ネットワークノードを孤児ノードとしてリストするステップと、少なくとも１つの前記孤児ノードの近隣の１つ以上の代理ノードを選択するステップと、前記１つ以上の代理ノードから、前記少なくとも１つの孤児ノードに１つ以上のローカルチャネル切り替えコマンドを送信するステップとを含む、方法。
【請求項１３】
コンピュータデバイス上で実行されたとき、請求項１２に記載の方法のステップを生じさせるためのコード手段を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば照明制御、ホームオートメーション、患者モニタリング、インテリジェントビル管理、又はセンサネットワーキングアプリケーションに利用可能であり、通信のための中継ノードとなる複数のネットワークノードを含むマルチチャネルメッシュ型ネットワークの分野に関する。
【背景技術】
【０００２】
通信のために何らかの形式の無線通信を使用するデバイスの数は、照明制御、ビル又は都市管理、高速インターネットアクセス、セキュリティ及び監視、ホームオートメーション、並びに産業用監視及び制御システム等、様々な応用分野において急増している。無線ネットワーキング技術の広範な採用の結果、異なるシステム間の干渉は、益々、このようなネットワーク化システムの動作性能に影響を及ぼすファクタとなっている。多くのシステムが無免許のＩＳＭ（industrial, scientific and medical）バンド、例えばｓｕｂ−１−ＧＨｚバンド及び２．４ＧＨｚ  ＩＳＭバンド等を使用するため、これは特に顕著である。例えば、後者のバンドには、異なる応用シナリオに対する様々なシステム、例えばＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、及びＺｉｇｂｅｅ（登録商標）等が存在する。
【０００３】
医療用又は照明用モニタリング及び制御用途に使用されるシステムはロバストであるべきであり、よって、ある程度の干渉に対応できる干渉アジリティ機構を含むべきである。しかし、無線通信を用いるシステムのパフォーマンスは、電波干渉が存在すると低下又は妨害され得る。十分なパワーの電波を放射し、影響を受けるシステムが使用する動作周波数に略等しい周波数を使用するあらゆる電気機器によって干渉が引き起こされ得る。
【０００４】
同じバンドを共有するデバイスの数が増えているため、電波干渉に対応するという課題はこれまでになく重要になりつつある。電波干渉は、無線で通信するあらゆるシステムのネットワークパフォーマンスを著しく低下させる可能性を有する。これは、干渉の問題を軽減することを援助できる技術の開発を不可欠にする。
【０００５】
マルチチャネルシステム（例えばＺｉｇｂｅｅ（登録商標）、及び２．４ＧＨｚ  ＩＳＭバンド内に１６チャネルを有し、ｓｕｂ−ＧＨｚバンド内に４〜１０のバンドを有する他の８０２．１５．４ベースシステム）において、干渉問題を解決するために考えられるソリューションは、システムの動作周波数をクリーンなチャネルに移すことである。これはシングルホップネットワークアプリケーション、例えばワイヤレスマウス等では比較的単純である。ピアデバイス間の単純な同期が、チャネル切り替えの成功を十分に保証する。
【０００６】
マルチホップメッシュトポロジーでは、全てのノードがエンドツーエンドルーティング機能の潜在的な中継（中間）ノードとなる。任意の２つのノード間のルートの冗長性及び自己組織化性質のため、メッシュトポロジーは周囲環境における変化に対してロバストである。しかし、同時に、ネットワーク化システムの異なるキャリア周波数への切り替えの複雑さも上昇させる。
【０００７】
最も簡単なアプローチは、新しいチャネルを指定する新しいシステム／ネットワーク管理メッセージを導入することであろう。しかし、（例えば干渉による）メッセージの紛失、（例えば電源が入っていなかったことによる）ノードの一時的な利用不可、メッセージ遅延等により、一部のノードはこのメッセージを受信しない（又は時間内に受信しない）可能性がある。「チャネル切り替え」メッセージを受信しなかったノードは指定時間に指示されたチャネルに移行せず、当該１つ又は複数のノードがクリティカルなルーティング経路上に存在する場合、切断されたネットワークをもたらすおそれがあるので、これはメッシュネットワークにおいて重要な問題である。
【０００８】
如何にしてシステムは新しいチャネルに切り替わらなかったノード（以下、「孤児ノード」と呼ぶ）に効率的且つ効果的に対応するのか。如何にしてシステムは一緒に新しいチャネルに移行するよう全ノード（特に、メッセージのためのルーターとなるノード）を同期させるのか。如何にしてシステムはシステム全体が新しいチャネルに移行したことを保証できるのか。解決されなければならない多数のチャネル切り替えに関する課題がメッシュネットワークコンテキストに存在することは明らかである。さもなければ、システムは適切に機能することができず、十分なＱｏＳ（quality of service）を提供しない。 
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の一課題は、メッシュ型ネットワーク全体を円滑に且つ確実に新しいチャネルに切り替え、干渉の影響を抑えることができるマルチチャネルメッシュ型ネットワークを提供することである。
【課題を解決するための手段】
【００１０】
この課題は、請求項１でクレームされるコントローラデバイス、請求項１０及び１１でクレームされるネットワークデバイス、請求項１３及び１４でクレームされる方法、並びに請求項１５でクレームされるコンピュータプログラムによって達成される。
【００１１】
上記装置及び方法の独立クレームに記載されるソリューションは全て、上記課題を達成するためにメッシュ型ネットワークにおいて相互作用する相互に関係する製品に関する。
【００１２】
したがって、ネットワークノードにメインチャネル切り替えコマンドが送信され、メインチャネル切り替えコマンドに対する受信された応答に基づき、１つ以上の代理ノード、例えば１つ又は複数の孤児ノードの１つ又は複数の近隣ノードが選択される。その後、１つ以上の代理ノードから、メインチャネル切り替え応答に対する応答が受信されなかった１つ以上の孤児ノードに１つ以上のローカルチャネル切り替えコマンドが（ローカルに）送信される。したがって、いくつかのノードがチャネルを切り替えることができない、最初の試みにおける不成功なチャネル切り替えの場合、特定のノードが選択されて代理ノードに任命される。その後、これらの代理ノードには、チャネルを切り替えていない孤児ノードの回復を保証する責任が与えられる。更に、ネットワークノードは、所定の期間内にコマンド（例えば、チャネル切り替えコマンド又は任意の他のコマンド）を受信したか否かを確認し、所定の期間内にコマンドを受信していない場合、メッシュ型ネットワークの使用チャネルを見つけるために利用可能な周波数バンドをスキャンしてもよい。これらの手段はいずれも、大規模メッシュネットワークシステムが円滑に新しいチャネルに移行し得ることを保証する。また、提案される代理ノード戦略は、不使用のノードのための通信トラフィック及び処理能力を低減させる。また、このプロセスのために前のチャネルに戻るノードの数は最小で済むので、この戦略はリスクを最小化する。
【００１３】
第１の側面によれば、ネットワークノードがそれらの現在のチャネルに留まるべき期間を指定するタイミングパラメータがメインチャネル切り替えコマンドに加えられてもよい。これにより、実際のチャネル切り替えをある時間遅らせることができ、コントローラデバイスから遠方のノードまでのルート上のリレーとなるノードの早すぎるチャネル切り替えに起因する、遠方のノードの切断を防ぐことができる。第１の側面の具体例では、タイミングパラメータは、メッシュ型ネットワークの認められたサイズ及びリンク品質のうちの一方又は両方に基づき選択され得る。
【００１４】
第１の側面と組み合わせることができる第２の側面によれば、コントローラデバイスにおいて孤児ノードのリストが保持され、ローカルチャネル切り替えコマンドに対する応答に基づき孤児ノードのリストが更新されてもよい。したがって、コントローラデバイスは孤児ノードの数及び位置について継続的に知らされ、これらに従って、ルーティング決定又は孤児ノードの数及び位置によって影響される他の決定を適合させることができる。
【００１５】
第１及び第２の側面の一方又は両方と組み合わせることができる第３の側面によれば、孤児ノードへの過去のリンク品質又は地理的近さに基づき、選択された代理ノードに優先順位が付けられてもよい。これにより、委任切り替えプロセスの成功率を高めることができる。第３の側面の具体例によれば、選択された代理ノードの優先順位付けは、代理ノード及び／又は孤児ノードのコミッショニングフェーズ中に取得された位置情報に基づき、又は、ネットワークの動作中に代理ノード及び／又は孤児ノードから受信されたデータに基づき得る。したがって、優先順位付けは、集中型又は分散型アプローチに基づき得る。
【００１６】
第１乃至第３の側面のうちの少なくとも１つと組み合わせることができる第４の側面によれば、コントローラデバイスと孤児ノードとの間のルーティング経路に基づき孤児ノードに優先順位が付けられてもよい。これにより、クリティカルなルーティング経路上に位置する孤児ノードにより優先的に取り組み、適切なネットワーク動作を保証することができる。
【００１７】
第１乃至第４の側面のうちの少なくとも１つと組み合わせることができる第５の側面によれば、最初の又はローカルチャネル切り替えコマンドに対する応答が受信されたネットワークノードと、最初の及びローカルチャネル切り替えコマンドに対する応答が受信されなかった孤児ノードとの間の距離の順位表が作成され、コントローラデバイスがメッシュ型ネットワークの全ての孤児ノードの回復を試み終えるまで、距離順位表内の順位に基づき孤児ノード及び代理ノードが適切に選択されてもよい。この手法は、ノード回復の成功率を高めるために近いノードペアを優先しつつ、全ての孤児ノードが処理されることを保証する。
【００１８】
第１乃至５の側面のうちの少なくとも１つと組み合わせることができる第６の側面によれば、代理ノードは、第１のローカルチャネル切り替えコマンドを送信した後に前のチャネル又はデフォルトのチャネルに切り替え、その後、前のチャネル又はデフォルトのチャネル上で第２のローカルチャネル切り替えコマンドを送信してもよい。これにより、まだ現在のチャネルに切り替えていない又はネットワークに新たに加えられたような孤児ノードにチャネル切り替えコマンドが届くことが保証され得る。
【００１９】
制御デバイス及びネットワークデバイスは、それぞれ、ディスクリートハードウェア部品を有するディスクリートハードウェア回路、集積チップ、若しくはチップモジュールの組み合わせに基づき、又は、メモリ内に保存され、コンピュータ可読媒体上に書き込まれ、若しくはインターネット等のネットワークからダウンロードされたソフトウェアルーチン若しくはプログラムによって制御される信号処理装置若しくはチップに基づき実装され得る。
【００２０】
請求項１のコントローラデバイス、請求項１０及び１１のネットワークノード、請求項１３及び１４の方法、並びに請求項１５のコンピュータプログラムは、類似の及び／又は同一の好適な実施形態、特に従属請求項に記載されるような実施形態を有することが理解されよう。
【００２１】
また、本発明の好ましい実施形態は、従属請求項又は上記実施形態と各独立請求項との任意の組み合わせであり得ることが理解されよう。
【００２２】
本発明の上記及び他の側面は、後述される実施形態を参照して説明され、明らかになるであろう。
【図面の簡単な説明】
【００２３】
【図１】図１は、無線メッシュ照明制御ネットワークの概略的な構造を示す。
【図２】図２は、同期チャネル切り替えプロセスの概略的な処理及びシグナリングダイアグラムを示す。
【図３】図３は、第１の実施形態に係る委任チャネル切り替えプロセスの概略的な処理及びシグナリングダイアグラムを示す。
【図４】図４は、複数の登録された孤児ノードを有する概略的なネットワーク構造を示す。
【図５】図５は、孤児及び有効ノードの例示的な距離マトリックスを示す。
【図６】図６は、例示的な距離順位表を示す。
【図７】図７は、第２の実施形態に係る代理ノードを任命するためのプロトコルのフロー図を示す。
【発明を実施するための形態】
【００２４】
以下、無線メッシュ照明制御ネットワークのチャネル切り替えプロセス、システム、及び対応するプロトコルに基づき本発明の実施形態を説明する。しかし、提案のソリューションは他のメッシュネットワークにも適用することができる。
【００２５】
図１は、メッシュネットワークのルート、及びネットワークのバックエンド部へのゲートウェイとして機能するセグメントコントローラ（ＳＣ）１０と、典型的には数百から数千程度の多数の屋外照明コントローラ（ＯＬＣ）２０又はノードとからなる無線メッシュ照明制御ネットワークの概略的な構造を示す。ＳＣ１０が照明器具の切り替え及び調光を制御できるよう、各ＯＬＣ２０は照明システムの対応する照明器具を制御する。
【００２６】
また、ＳＣ１０はシステム全体の情報、並びにチャネル切り替えプロセスを調整するのに十分な処理能力及び記憶容量を有するので、チャネル切り替えプロセスはＳＣ１０によって開始及び管理される。より具体的には、ＳＣ１０がシステム内の全ノード（すなわちＯＬＣ２０）にチャネル切り替えコマンドをブロードキャストする同期ブロードキャストチャネル切り替えにより、確実で効率的なチャネル切り替えが達成される。目標は、このフェーズ中に可能な限りのノードが新しいチャネルに移行することを保証することである。コマンドを受信したノードは、ＳＣ１０に受信を通知する。したがって、ＳＣ１０はどのノードがコマンドを受信せず又は受信を通知しなかったかを知り、これは登録される。ＳＣ１０において受信通知（すなわちＳＣＲ）が受信されなかったこれらのノードは、「孤児ノード」と呼ばれる。
【００２７】
図２は、同期チャネル切り替えプロセスの相互作用及びメッセージを示す概略的な処理及びシグナリングダイアグラムを示す。ＳＣ１０は、少なくともチャネル及びタイミング情報を含むチャネル切り替えコマンド（チャネル切り替えメッセージ（ＳＣＭ；Switch Channel message））を、図２ではそのうちの２つの例示的なＯＬＣ（ＯＬＣ１及びＯＬＣ２）が示されているＯＬＣ２０にブロードキャストする。ＯＬＣ２０はＳＣＭを受信すると、少なくともステータス及びチャネル情報（同じチャネル又は同じチャネルではない）を含むチャネル切り替え応答（ＳＣＲ；Switch Channel response）によって応答する。その後、ＯＬＣはチャネル切り替えアクション（Ｓｗ）を実行する前に、ＳＣＭ受信後の所定のタイムアウト又は遅延Ｄｓｗを待つ。ＳＣ１０は、ステータス及びチャネル情報（同じチャネル又は同じチャネルではない）を含むＳＣＲによってＯＬＣ２０が受信通知する新しいＳＣＭをブロードキャストすることによる切り替えプロセスの確認をする前に、ＳＣＲ受信後の所定のタイムアウト又は遅延Ｄｃｈを待つ。
【００２８】
したがって、実際のチャネル切り替えアクションは、ある期間（遅延Ｄｓｗ）を経過してやっと施行される。これは、ＳＣ１０から１つ又は複数のノードまでのルート上のリレーとなる１つ又は複数の中間ノードの不都合な早すぎる切り替え時間に起因するノードの切断を防止する。これを達成するために、ＯＬＣがどれだけの時間現在のチャネルに依然として留まるべきかをＳＣが伝えられるよう、チャネル切り替えコマンド内にタイミングパラメータ又は情報（例えばタイムアウト値）が用いられてもよい。ＳＣ１０はシステムの情報へのアクセスを有し、よって、最悪のケースにおける切り替えメッセージ、すなわちチャネル切り替えコマンドの配信時間を評価することができ、これを使用してタイミングパラメータを導き出す。したがって、このタイミングパラメータは実際のネットワークのサイズ、例えばシステム内に認められるノードの数及び最大ホップカウントの両方に基づく。また、システムの（平均）メッセージ成功率は要求されるユニキャスト再送の数を決定するので、タイミングパラメータはこれにも基づき得る。
【００２９】
しかし、上記チャネル切り替えプロセスの間に一部のノード（ＯＬＣ２０）が新しいチャネルに移行しなかった、又はＳＣ１０が新しいチャネルに切り替わったノードから受信通知を受信しなかった可能性がある。この場合において、これらの孤児ノードを新しいチャネルにいるシステムに呼び戻す機構が提案される。実際のチャネル切り替えの後、ＳＣ１０は、孤児ノードに新しいチャネルに切り替わるよう求める責任を孤児ノードの選択されたネットワーク近隣に委任することにより、委任チャネル切り替えプロセスを開始する。このアプローチは、孤児ノードを効率的に（例えばメッセージ中継を減らして）新しいチャネルに移行させる。
【００３０】
図３は、第１の実施形態に係るメイン及びローカルチャネル切り替えコマンドを有する提案される委任チャネル切り替えプロセスの概略的な処理及びシグナリングダイアグラムを示す。
【００３１】
ＳＣ１０は、過去のルーティング経路、ＯＬＣ２０の地理的位置、ユーザー入力、又は何らかの他の情報源から、孤児ノードの近隣に関する知識を有する。（まずネットワーク全体が古い（前の）チャネルに戻ることが要求されるであろう）（メイン）チャネル切り替えコマンド（ＳＣＭ）を再度ブロードキャストする代わりに、ＳＣ１０は、少なくともチャネル、タイミング、及び孤児アドレス情報を含むチャネル切り替え委任コマンド（ＳＣＭ１）を孤児ノード（ＯＬＣ−Ｏ）２４の１つ又は複数の近隣ノード（ＯＬＣ−Ｄ）２２に送る。この委任コマンド（ＳＣＭ１）を受信した代理ＯＬＣ（ＯＬＣ−Ｄ）２２は、近くの１つ又は複数の孤児ノード（例えばＯＬＣ−Ｏ２４）をシステムに連れ戻す責任を負う。これを達成するために、代理ＯＬＣ（ＯＬＣ−Ｄ）２２は前のチャネルに移行するチャネル切り替えアクション（Ｓｗ）を開始し、前のチャネルを介して少なくともチャネル及び遅延情報を含むローカルチャネル切り替えコマンド（ＳＣＭ２）を送る。まだ現在のチャネルに切り替わっておらず、依然として前のチャネル上で動作する孤児ノード（例えばＯＬＣ−Ｏ２４）が近くに存在する場合、当該ノードは（少なくともステータス及びチャネル情報を含む）ＳＣＲ受信通知によってＳＣ１０に報告をする。その後、オプションで、ＯＬＣ−Ｄ２２は現在のチャネルを介して更なるローカルチャネル切り替えコマンド（図３には図示無し）を送ってもよい。現在のチャネル上で動作する孤児ノード（例えばＯＬＣ−Ｏ２４）が近くに存在する場合、当該ノードはＳＣ１０において保持される孤児ノードリストを更新するために（少なくともステータス及びチャネル情報を含む）ＳＣＲ受信通知によってＳＣ１０に報告をする。しかし、孤児ノード（例えばＯＬＣ−Ｏ２４）が同様にＳＣ１０も使用する現在のチャネル上で動作する場合にのみ、ＳＣ１０によってＳＣＲ受信通知が受信される。その後、ローカルチャネル切り替えコマンド（ＳＣＭ２）内に指定される切り替え遅延Ｄｓｗの後、孤児ノード（例えばＯＬＣ−Ｏ２４）は現在のチャネルへの切り替えアクション（Ｓｗ）を開始する。確認遅延Ｄｃｈの満了後、ＳＣ１０は次のメイン切り替えチャネルコマンド（ＳＣＭ３）をブロードキャストし、回復した孤児ノード（例えばＯＬＣ−Ｏ２４）から所望のＳＣＲ受信通知を受信する。これにより、まだ前のチャネルにいる孤児ノードを現在のチャネルにいるシステムに連れ戻すことができる。
【００３２】
次の方法により、提案の調整されたチャネル切り替えプロセスを更に改良することができる。ノード又はＯＬＣが指定された長い期間メッセージを受信しない場合、ＯＬＣが自ら自分が孤児ノードになったと見なしてもよい。その後、このようなＯＬＣは、ネットワーク化システムが現在動作している（新しい）チャネルを見つけるために利用可能な周波数バンドをスキャンしてもよい。また、このアプローチは、工場出荷時のＯＣＬを既存のシステムに導入するのにも使用することができる。このアプローチは、全ノードが最終的に新しいチャネルに移行することを保証する、前２回のスイッチングプロセスのバックアップ機構として使用されてもよい。代替的なアプローチとして、ノード又はＯＬＣがネットワークに割り当てられた瞬間、製造中に各ノード又はＯＬＣに与えられたデフォルトのチャネルを使用する同期又は委任チャネル切り替えの実行をＳＣが開始してもよい。
【００３３】
システムの信頼性を高めるために、複数の代理ノード（すなわちＯＬＣ−Ｄ）が用いられてもよい。ＳＣは代理ノードを１つずつ任命してもよいし、又はマルチキャストメッセージによって任命してもよい。また、孤児ノードへの過去のリンク品質、孤児への地理的近さ、又は他の基準に基づき、代理ノードに優先順位が付けられてもよい。
【００３４】
更に、ＳＣは、前のチャネルにおけるシステムトポロジーに基づき孤児ノードに優先順位を付けてもよい。例えば、クリティカルな経路上に存在し且つＳＣに近い孤児ノードが最初に対処されるべきである。その後、ＳＣは他の（例えば更に遠方の）孤児ノードに取り組むことができる。
【００３５】
ノード又はＯＬＣが新しいチャネルに移行しないことの１つの具体的な原因は、新しいチャネルの情報が破損することであり得る。これは、例えば新しいチャネル情報の書き込み又は提供中の停電の場合に起こり得る。チャネル情報が破損する場合、ノード又はＯＬＣはデフォルトのチャネルに戻る。したがって、代理ノードはデフォルトのチャネル上でもローカルチャネル切り替えコマンドを送ることができる。これにより、代理ノードはデフォルトのチャネルに戻った孤児ノードを現在のチャネルにいるシステムに連れ戻し又は回復させることができる。
【００３６】
上記切り替え制御プロセスの後、例えばメッセージ紛失又は一時停電のため、いくつかのノードが依然として前のチャネルに「固着」している可能性がある。したがって、上記したように、孤児ノードは長い所定期間メッセージを受信しなかった場合、周波数バンド全体又は利用可能な周波数バンドを積極的にスキャンしてもよい。このために、システム内でメッセージ（例えばＳＣＭ）が少なくともＸ秒毎に配信される一方、所定期間は少なくともＭ×Ｘ秒に設定されてもよい（Ｍ＞＞１）。孤児ノードは、チャネル内で使用されるネットワークアイデンティティ（ＩＤ、例えばパーソナルエリアネットワークＩＤ（ＰＡＮ−ＩＤ））及び／又はセキュリティキーに基づき、システムが現在の（又は新しい）チャネルにいると判断する。このために、孤児ノードは自身に宛てられたメッセージを確認する必要はなく、他のノードに宛てられたメッセージを使用してもよい。ＳＣ又はＯＬＣのブロードキャストメッセージを介してシステムの使用チャネルが見つけられた場合、孤児ノードは新しいチャネルに切り替わり、自分が新しいチャネルに移行したことをＳＣに報告することができる。その後、ＳＣは孤児ノードリストを更新することができる。
【００３７】
干渉が存在する場合、複数のＯＬＣ２０がＳＣと通信できない可能性がある。このような状況を解消するために、委任切り替えプロセスにおいて、システムが複数の代理ノードを任命する必要があり得る。
【００３８】
以下、第１の実施形態において説明されたチャネル切り替えプロトコル又はプロセスの一部として代理ノードを選択するために優先順位付けアプローチが使用される第２の実施形態を説明する。提案される優先順位付けは、有効（すなわち応答している）ＯＬＣと孤児ＯＬＣとの間の地理的距離、有効ＯＬＣと孤児ＯＬＣとの間のホップカウント距離、有効ＯＬＣと孤児ＯＬＣとの間のＲＳＳＩ（received signal strength indicator）値等のパラメータに依存し得る。優先順位付けは、コミッショニングフェーズ中にＳＣに割り当てられたＯＬＣの位置情報を使用してＳＣが決定を下す集中型アプローチに基づき実行されてもよく（すなわち、決定プロセス中にはＳＣを援助する情報はＯＬＣから集められない）、又は、ＳＣがＯＬＣによって定期的に供給されるデータ（ＲＳＳＩ又は近隣情報等）を使用する分散型アプローチに基づき実行されてもよい。
【００３９】
図４は、ＳＣ１０、複数のＯＬＣ２０、及び切断のためにＳＣ１０において孤児ＯＬＣ（ＯＬＣ−Ｏ）として登録される複数の切断ノード２４を有する概略的なネットワーク構造を示す。ネットワークトポロジーの途中のどこかに位置するノード２５が干渉に直面すると、ネットワークが切断される可能性がある。その結果、図４に示されるように、ＳＣ１０において複数のＯＬＣ２４がＯＬＣ−Ｏとして登録される。
【００４０】
この問題を解決するために、ＳＣ１０はその後、ネットワーク全体の使用チャネルを干渉が存在しない別のチャネルに切り替えてもよい。ＳＣ１０は切断のためにいずれのＯＬＣ−Ｏ２４とも接触することができないので、ＳＣ１０は代理ＯＬＣとなり得る適切なノードを選択する必要がある。代理ＯＬＣは、ＯＬＣ−Ｏ２４のうちの１つの通信範囲内にあるよう選択されるべきである。しかし、複数のＯＬＣ−Ｏ２４が存在する場合、複数の代理ＯＬＣを使用しなければならない可能性があり、すなわち、全てのＯＬＣが単一の代理ＯＬＣの直接の通信範囲内に存在しない可能性がある。この場合に問題となるのは、正しいＯＬＣを代理ノードとして選択するために、ＳＣ１０が如何にして潜在的な代理ＯＬＣに優先順位付けをすべきかである。
【００４１】
第２の実施形態に係る提案される優先順位付けスキームは、距離、ホップカウント、又はＲＳＳＩ値等のいくつかのパラメータのうちの１つ又は組み合わせに基づく。優先順位付けスキームは、最終的に適切な代理ＯＬＣを選択することを助ける。しかし、上記パラメータは単にいくつかの例に過ぎないことに留意されたい。一般的に、パケット受信率に対してポジティブな影響を及ぼし得る任意のパラメータ又はパラメータの組み合わせは、代理ＯＬＣの選択を支援すると考えられる。選択されたパラメータはその後、潜在的な代理ノードの順位表を作成するために使用され得る。
【００４２】
第２の実施形態において、システム（例えばＳＣ）が適切な代理ＯＬＣを選択するのを援助し得る例示的なパラメータとして距離が使用されてもよい。特定の孤児ＯＬＣを回復させるために、プロトコルの優先順位付けプロセスはまず、孤児ＯＬＣからの距離に基づきネットワーク内の全ての非孤児ＯＬＣに順位を付ける。この順位付けされたリストは、ＳＣにおいて保持され得る距離順位表内に保存される。
【００４３】
複数の孤児ＯＬＣが存在する場合、近隣非孤児ＯＬＣに最も近い孤児ＯＬＣが特定され得る。これは、距離順位表内にリストされた一番目（一番上のエントリ）の孤児／非孤児ＯＬＣペアを選択することによって実行されてもよく、ここで、距離順位表内の一番目のエントリは、孤児ＯＬＣと非孤児ＯＬＣとの間の最小距離を有するペアを示す。この距離ベースアプローチが失敗し、孤児ＯＬＣに最も近い非孤児ＯＬＣが孤児ＯＬＣに適切にメッセージを送信できない場合、ＳＣは単純にタイムアウトしてもよい。その後、ＳＣは距離順位表内にリストされた次の孤児／非孤児ＯＬＣペアを選択することによりプロセスを繰り返す。プロセスは、ＳＣがネットワーク内の全ノードの回復を試み終えるまで繰り返されてもよい。
【００４４】
距離順位表内に入力される必要な距離情報は、コミッショニングフェーズ中にＳＣによって保存された全ＯＬＣのＧＰＳ（Global Positioning System）座標に基づき取得されてもよく、又は、（例えば、ＯＬＣの近隣からのＲＳＳＩ又は接続性情報に基づく）ローカライゼーションアルゴリズムを使用してＯＬＣの距離を推定するＯＬＣの推定結果に基づき取得されてもよい。
【００４５】
システムがネットワーク内の全ての孤児ＯＬＣを回復させられるよう、複数のテーブルが使用されてもよい。全テーブルがＳＣに又はネットワークのバックエンド部に保存されてもよい。孤児リスト表は、ＳＣによって送られたメッセージに応答しないＯＬＣのＩＤを保存し得る。言い換えれば、孤児リスト表は、ＳＣが接触を確立するのに失敗したノードを示す。このテーブルのコンテンツは動的であり、ＳＣによって定期的に及び適時更新される。
【００４６】
また、孤児／有効ＯＬＣ距離マトリックス（ＯＷＤＭ；orphan/working OLC distance matrix）が全孤児ＯＬＣと有効ＯＬＣとの間の距離を保存してもよい。このテーブルは孤児リスト表が更新される度にＳＣによって更新されてもよい。距離は、例えば、コミッショニング中にシステムに入力されたＯＬＣの位置情報を使用して又はＯＬＣから受信された位置推定を使用して計算され得る。
【００４７】
図５は、孤児ノード（ＯＬＣ−Ｏ）と有効ノード（ＯＬＣ）の例示的な距離マトリックスを示し、ここで、ｄ（ＩＤａ，ＩＤｂ）は、ＩＤａの孤児ＯＬＣとＩＤｂの有効ＯＬＣとの間の距離を示す。
【００４８】
また、距離が順に大きくなるようＯＷＤＭのＯＬＣ−Ｏ／ＯＬＣペアに順位を付ける距離順位表（ＤＲＴ；distance ranking table）が使用されてもよい。したがって、順位が大きい程、各ペアの孤児ＯＬＣ（ＯＬＣ−Ｏ）と有効ＯＬＣ（ＯＬＣ）との間の距離は遠い。距離情報はＯＷＤＭから取得され得る。
【００４９】
ＤＲＴの作成にあたり、いくつかの規則が適用されてもよい。第１の規則として、ユーザー定義の最大伝送距離未満の距離を有するペアのみがこのテーブルにリストされる。これは、孤児ＯＬＣの伝送距離外の有効ＯＬＣが孤児ＯＬＣの代理として任命されないことを保証する。第２の規則として、各孤児ＯＬＣはＤＲＴ内に１つだけエントリを有することができる。ＤＲＴは孤児リスト表に変化がある度に更新される。
【００５０】
図６は、Ｒが順位を示し、各テーブルエントリが各ペアのＯＬＣ−ＯのＩＤ及びＯＬＣのＩＤ、並びにそれぞれの距離ｄ（ＩＤａ，ＩＤｂ）を含む例示的な距離順位表を示す。
【００５１】
また、１回目の試みにおいて回復しなかった孤児ＯＬＣをリストする失敗孤児リスト表、及び、ＳＣが複数回の試みを経ても回復させることができなかった孤児ＯＬＣをリストする永続的な失敗孤児リスト表が設けられてもよい。
【００５２】
追加のオプションとして、ＯＷＤＭと類似するが失敗孤児ＯＬＣを含む、失敗孤児／有効ＯＬＣ距離マトリックス（ＦＯＷＤＭ；failed orphan/working OLC distance matrix）が保持されてもよい。
【００５３】
ＳＣの孤児リスト表内に１つ以上の孤児ＯＬＣがリストされると、ＳＣはどの孤児ＯＬＣの回復をまず試みるかを決定しなければならず、孤児ＯＬＣが特定されると、ＳＣは、孤児ＯＬＣの回復が成功し得ることを高確率で保証できる適切な代理ノードを選択しなければならない。
【００５４】
図７は、第２の実施形態に係る代理ノードを任命するためのプロトコルのフロー図を示す。
【００５５】
図７に示されるように、プロセスはステップＳ７００において開始し、ＳＣの上記タスクは、互いに最も近い孤児／有効ＯＬＣペアを選択することによって実行される。これは、ＤＲＴの最上位の孤児／有効ＯＬＣペアを対象とすることによって達成される。
【００５６】
まず、ステップＳ７０１において図２のチャネル切り替え動作が実行され、ステップＳ７０２において、孤児リスト表内に孤児ＯＬＣが存在するか否かが確認される。存在しない場合、プロセスはステップＳ７１０にジャンプし、失敗孤児リスト表内に孤児ＯＬＣが存在するか否かが確認される。存在しない場合、プロセスはステップＳ７２３において終了する。ステップＳ７０２において孤児リスト表内に孤児ノードが発見された場合、ステップＳ７０３において、ＯＷＤＭが作成又は更新される。その後、ステップＳ７０４において、ＯＷＤＭに基づきＤＲＴが作成又は更新される。その後、ステップＳ７０５において、ＤＲＴの最上位の孤児ＯＲＴ及び最上位の代理（すなわち有効）ＯＲＴが選択される。孤児／有効ＯＬＣペアが特定されると、次のステップＳ７０６は図３の委任チャネル切り替えプロセスを使用し、選択された代理ＯＬＣを用いて特定された孤児ＯＬＣの回復を試みる。ステップＳ７０７において、回復が成功したか否かが確認される。ステップＳ７０７において特定された孤児ＯＬＣの回復が失敗したと決定された場合、ステップＳ７０８において、孤児ＯＬＣは失敗孤児リスト表に移動され、ステップＳ７０９において、そのエントリが孤児リスト表から削除される。ステップＳ７０７において回復作業が成功したと決定された場合、プロセスは分岐してステップＳ７０９に直接進み、孤児ＯＬＣは単に孤児リスト表から削除される。いずれの場合でも、ステップＳ７０９の後、プロセスはステップＳ７０２にジャンプして戻り、孤児リスト表内に他の孤児ＯＬＣがリストされているかが確認される。孤児リスト表内の全エントリが処理されるまで、このステップＳ７０２〜Ｓ７０９のプロセスが継続する。孤児ＯＬＣの回復が成功する度に、次の孤児／有効ＯＬＣペアに取りかかる前に、ＯＷＤＭ及びＤＲＴテーブルが再作成される。
【００５７】
孤児リスト表が完全に処理されると、次のステップは、ステップＳ７１０において失敗孤児リスト表内にエントリが存在するか否かを確認することである。このステージでは、失敗孤児ＯＬＣと有効ＯＬＣの全ペアが１つずつ処理され、システムは、失敗孤児ＯＬＣと伝送距離内の有効ＯＬＣの全てのペアを使用して、前に失敗した孤児ＯＬＣの回復を成功させようと試みる。回復はステップＳ７１１〜Ｓ７２２において、各ペアを一度に１つずつ使用して試みられる。ステップＳ７１０において失敗孤児リスト表内に失敗孤児ノードが発見された場合、回復カウンタがゼロに設定される。その後、ステップＳ７１２においてＦＯＷＤＭが作成又は更新される。その後、ステップＳ７１３において、ＦＯＷＤＭに基づきＤＲＴが作成又は更新される。その後、ステップＳ７１４において、ＤＲＴの最上位の孤児ＯＲＴ及び最上位の代理（すなわち有効）ＯＲＴが選択される。次のステップＳ７１５において、図３の委任チャネル切り替えプロセスを使用し、選択された代理ＯＬＣを用いて特定された失敗孤児ＯＬＣの回復が試みられる。ステップＳ７１６において、前に失敗した孤児ＯＬＣの回復が成功したか否かが確認される。ステップＳ７１６において失敗孤児ノードの回復作業が成功したと決定された場合、プロセスはステップＳ７２２に分岐し、失敗孤児ＯＬＣは失敗孤児リスト表から削除される。その後、プロセスはジャンプしてステップＳ７１０に戻り、失敗孤児リスト表内に他の失敗孤児ＯＬＣがリストされているか否かが確認される。一方、ステップＳ７１６において特定された失敗孤児ＯＬＣの回復が再び失敗したと決定された場合、ステップＳ７０８において回復カウンタが１増加され、その後、ステップＳ７１８において失敗孤児リスト表からこの失敗孤児ノードが削除される。その後、ステップＳ７１９において、回復カウンタが３未満の値までカウントされたか否かが確認される。回復カウンタの値が３未満の場合、プロセスはステップＳ７２０に分岐し、ＦＯＷＤＭ内で特定される現在の失敗孤児ＯＬＣから次に短い距離を有する代理（すなわち有効）ＯＬＣと共に現在の失敗孤児ＯＲＴが再び使用される。その後、プロセスはジャンプしてステップＳ７１５に戻り、委任チャネル切り替えプロセスにより新たな回復試行を開始する。一方、ステップＳ７１９において回復カウンタが既に値３に達したと決定された場合、プロセスはＳ７２１に分岐し、失敗孤児ノードは永続的な失敗孤児リスト表に追加され、プロセスはジャンプしてステップＳ７１０に戻る。
【００５８】
したがって、システムが３回の試行後に依然として失敗孤児ＯＬＣを回復できない場合、システムはこの失敗孤児ノードを回復不能だと見なす。しかし、値「３」は単なる例に過ぎないことに留意されたい。個別の用途及び目的に応じて、任意の整数値がここで使用され得る。
【００５９】
また、ＳＣのコントローラ機能又はＳＣ自体がインターネットに接続されたリモートコンピュータ内に設けられてもよい。したがって、ＳＣに関して上記された全ての機能がリモートコンピュータ内に実装され得る。
【００６０】
要約すると、ＳＣ又は他の遠隔制御コントローラと、多数のＯＬＣ又は他のネットワークノードとを含むメッシュネットワークのためのチャネル切り替え戦略及び対応するプロトコルが説明された。チャネル切り替えプロセスは、システム内の全ノードにメインチャネル切り替えコマンドを送信するＳＣによって開始及び管理される。実際のチャネル切り替えの後、ＳＣは、新しいチャネルに切り替えるよう孤児ノードに求める責任を、孤児ノードの近隣ノードであり得る選択された代理ノードに委任する。代理ノードの選択は優先順位付けに基づいてもよい。ＯＬＣが指定された長い期間メッセージを受信しない場合、ＯＬＣはネットワーク化システムが現在動作している（新しい）チャネルを見つけるために利用可能な周波数バンドをスキャンしてもよい。
【００６１】
本発明を図面及び上記において詳細に図解及び記述してきたが、このような図解及び記述は制限的ではなく、説明的又は例示的であると考えられたい。本発明は開示の実施形態に限定されない。屋外照明制御の他、提案される切り替え制御プロセス及びシステムは例えば照明制御、ホームオートメーション、患者モニタリング、インテリジェントビル管理、及び他のセンサネットワーキングアプリケーション等に使用される様々な他のメッシュネットワーキングシステムにも実装され得る。
【００６２】
図面、開示、及び添付の特許請求の範囲を分析することにより、当業者は、開示の実施形態の他の変形例を理解し実施できるであろう。請求項において、「含む（又は有する若しくは備える）」等の用語は他の要素又はステップを除外せず、要素は複数を除外しない。単一のプロセッサ又は他のユニットが複数の請求項に記載される複数のアイテムの機能を果たし得る。単にいくつかの手段が互いに異なる従属請求項内に記載されているからといって、これらの手段の組み合わせを好適に使用できないとは限らない。
【００６３】
本明細書の記載は、本発明の特定の実施形態を詳述する。しかし、記載が文章上如何に詳細に見えようとも、本発明は多様な態様で実施され、よって開示の実施形態に限定されないことを理解されたい。本発明の特徴又は側面を説明するにあたり使用される特定の用語は、その用語が関連付けられた本発明の特徴又は側面の特定の特性を含むよう制限するために、本明細書においてその用語が再定義されることを示唆すると解されるべきではないことに留意されたい。
【００６４】
単一のユニット又はデバイスが請求項に記載される複数のアイテムの機能を果たしてもよい。単にいくつかの手段が互いに異なる従属請求項内に記載されているからといって、これらの手段の組み合わせを好適に使用できないとは限らない。
【００６５】
図２、図３、及び図７に示されるような説明された動作は、コンピュータプログラムのプログラムコード手段及び／又は専用ハードウェアとして実装され得る。コンピュータプログラムは、他のハードウェアと共に又はその一部として供給される光学記憶媒体又はソリッドステート媒体等の適切な媒体上で記憶及び／又は供給されてもよいし、また、インターネット又は他の有線若しくは無線電気通信システムを介して等他の形態で供給されてもよい。 
【図１】
0006290251.tif 000002
【図２】
0006290251.tif 000003
【図３】
0006290251.tif 000004
【図４】
0006290251.tif 000005
【図５】
0006290251.tif 000006
【図６】
0006290251.tif 000007
【図７】
0006290251.tif 000008