(57)【特許請求の範囲】
【請求項１】
メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する方法であって、
１つの所与の通信デバイスを除く全ての前記通信デバイスは、第１の分散コンセンサスベース同期を実行することを特徴とし、
前記所与の通信デバイスは、
−  少なくとも前記第１の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される第１の補正情報を取得することと、
−  前記メッシュ通信ネットワークを通じて前記第１の補正情報を送信することと
を実行することを特徴とし、
前記所与の通信デバイスを除く全ての前記通信デバイスは、
−  前記送信された第１の補正情報を考慮に入れることによって、前記第１の分散コンセンサスベース同期の結果として得られた前記クロックタイミングを更新すること
を更に実行することを特徴とする、メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する方法。
【請求項２】
前記所与の通信デバイスは、前記第１の分散コンセンサスベース同期を実行したときに少なくとも１つの各通信デバイスから受信された同期信号から導出された少なくとも１つのクロックタイミングから、前記第１の補正情報を取得することを特徴とする、請求項１に記載の方法。
【請求項３】
前記所与の通信デバイスは、サーバデバイスから前記第１の補正情報を取得することを特徴とし、
前記所与の通信デバイスは、
−  前記分散コンセンサスベース同期を実行したときに少なくとも１つの各通信デバイスから受信された同期信号から導出された１つのクロックタイミングから、ローカル補正情報を取得することと、
−  前記ローカル補正情報を前記サーバデバイスに送信することと
を実行することを特徴とし、
前記サーバデバイスは、それぞれがメッシュ通信ネットワークを形成するように相互接続された複数の通信デバイスからなる複数の群に接続され、
前記サーバデバイスは、
−  前記各群のそれぞれ１つの通信デバイスからローカル補正情報を受信することと、
−  前記受信されたローカル補正情報を組み合わせて前記第１の補正情報を取得することと
を実行することを特徴とする、請求項１に記載の方法。
【請求項４】
前記所与の通信デバイスは、少なくとも１つの他のメッシュ通信ネットワークを形成するように相互接続された複数の通信デバイスからなる少なくとも１つの群と相互接続され、
前記所与の通信デバイスは、
−  前記第１の分散コンセンサスベース同期を実行したときに少なくとも１つの各通信デバイスから受信された同期信号から導出された１つのクロックタイミングと、前記基準クロックとから、ローカル補正情報を取得することと、
−  前記ローカル補正情報を別の前記各群のそれぞれ１つの通信デバイスに送信することと、
−  別の前記各群の前記各通信デバイスから別のローカル補正情報をそれぞれ受信することと、
−  前記受信されたローカル補正情報を組み合わせて前記第１の補正情報を取得することと
を実行することを特徴とする、請求項１に記載の方法。
【請求項５】
前記所与の通信デバイスは、それぞれが複数の他のメッシュ通信ネットワークを形成するように相互接続された複数の通信デバイスからなる複数の群と相互接続され、
一組の通信デバイスが、第２の分散コンセンサスベース同期を実行し、該一組は、前記他のメッシュ通信ネットワークごとに１つの通信デバイスによって形成され、
前記所与の通信デバイスは、
−  少なくとも前記第２の分散コンセンサスベース同期の結果として得られるクロックタイミングと前記基準クロックタイミングとの間の差から導出される、第２の補正情報を取得することと、
−  前記第２の補正情報を前記一組の通信デバイスに送信することと
を実行することを特徴とし、
前記一組の通信デバイスは、
−  前記送信された第２の補正情報を考慮に入れることによって、前記第２の分散コンセンサスベース同期の結果として得られた前記クロックタイミングを更新すること
を更に実行することを特徴とする、請求項１に記載の方法。
【請求項６】
前記所与の通信デバイスは、前記第１の分散コンセンサスベース同期を実行したときに少なくとも１つの各通信デバイスから受信された同期信号から導出された少なくとも１つのクロックタイミングと、別の分散コンセンサスベース同期を実行したときに前記少なくとも１つの各通信デバイスから受信された他の同期信号から導出された少なくとも１つの他のクロックタイミングとから、前記第１の補正情報を取得することを特徴とする、請求項１に記載の方法。
【請求項７】
前記所与の通信デバイスは、前記第１の分散コンセンサスベース同期を実行したときに前記少なくとも１つの各通信デバイスから受信された同期信号から導出された少なくとも１つのクロックタイミングと、前記別の分散コンセンサスベース同期を実行したときに前記少なくとも１つの各通信デバイスから受信された他の同期信号から導出された少なくとも１つの他のクロックタイミングとから、前記基準クロックタイミングを調整することを特徴とする、請求項６に記載の方法。
【請求項８】
メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償するシステムであって、
１つの所与の通信デバイスを除く全ての前記通信デバイスは、第１の分散コンセンサスベース同期を実行する手段を備えることを特徴とし、
前記所与の通信デバイスは、
−  少なくとも前記第１の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される、第１の補正情報を取得する手段と、
−  前記メッシュ通信ネットワークを通じて前記第１の補正情報を送信する手段と
を備えることを特徴とし、
前記所与の通信デバイスを除く全ての前記通信デバイスは、
−  前記送信された第１の補正情報を考慮に入れることによって、前記第１の分散コンセンサスベース同期の結果として得られた前記クロックタイミングを更新する手段
を更に備えることを特徴とする、メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償するシステム。
【請求項９】
メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する方法であって、
所与の通信デバイスが、
−  少なくとも第１の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される、第１の補正情報を取得することであって、前記第１の分散コンセンサスベース同期は、該所与の通信デバイスを除く全ての前記通信デバイスによって実行される、取得することと、
−  前記メッシュ通信ネットワークを通じて前記第１の補正情報を送信することであって、該送信される第１の補正情報は、該所与の通信デバイスを除く全ての前記通信デバイスに前記第１の分散コンセンサスベース同期の結果として得られた前記クロックタイミングを更新させることを意図する、送信することと
を実行することを特徴とする、メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する方法。
【請求項１０】
メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する通信デバイスであって、
−  少なくとも第１の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される、第１の補正情報を取得する手段であって、前記第１の分散コンセンサスベース同期は、該特許請求されている通信デバイスを除く全ての前記通信デバイスによって実行される、取得する手段と、
−  前記メッシュ通信ネットワークを通じて前記第１の補正情報を送信する手段であって、該送信される第１の補正情報は、前記所与の通信デバイスを除く全ての前記通信デバイスに、前記第１の分散コンセンサスベース同期の結果として得られた前記クロックタイミングを更新させることを意図する、送信する手段と
を備えることを特徴とする、メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する通信デバイス。
【請求項１１】
同期を実行してクロックドリフトを補償する方法であって、
該方法は、それぞれがメッシュ通信ネットワークを形成するように相互接続された複数の通信デバイスからなる複数の群に接続されたサーバデバイスによって実行され、
前記サーバデバイスは、
−  前記各群のそれぞれ１つの通信デバイスからローカル補正情報を受信することであって、該ローカル補正情報は、第１の分散コンセンサスベース同期を実行したときに少なくとも１つの各通信デバイスから受信される同期信号から導出される１つのクロックタイミングと、基準クロックとから取得される、受信することと、
−  前記受信されたローカル補正情報を組み合わせて第１の補正情報を取得することと、
−  前記第１の補正情報を前記各群の前記それぞれ１つの通信デバイスに送信することと
を実行することを特徴とする、同期を実行してクロックドリフトを補償する方法。
【請求項１２】
同期を実行してクロックドリフトを補償するサーバデバイスであって、
該サーバデバイスは、それぞれがメッシュ通信ネットワークを形成するように相互接続された複数の通信デバイスからなる複数の群に接続されることを意図し、
前記サーバデバイスは、
前記各群のそれぞれ１つの通信デバイスからローカル補正情報を受信する手段であって、該ローカル補正情報は、第１の分散コンセンサスベース同期を実行したときに少なくとも１つの各通信デバイスから受信される同期信号から導出される１つのクロックタイミングと、基準クロックとから取得される、受信する手段と、
−  前記受信されたローカル補正情報を組み合わせて第１の補正情報を取得する、組み合わせる手段と、
−  前記第１の補正情報を前記各群の前記それぞれ１つの通信デバイスに送信する手段であって、該送信される第１の補正情報は、前記各群の前記それぞれ１つの通信デバイスに、前記第１の分散コンセンサスベース同期の結果として得られたクロックタイミングの更新を可能にすることを意図する、送信する手段と
を備えることを特徴とする、同期を実行してクロックドリフトを補償するサーバデバイス。
【請求項１３】
メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する方法であって、
着目している通信デバイスが、１つの所与の通信デバイスを除く全ての前記通信デバイスと共同して第１の分散コンセンサスベース同期を実行し、
−  前記所与の通信デバイスから第１の補正情報を受信することであって、該第１の補正情報は、少なくとも前記第１の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される、受信することと、
−  前記受信された第１の補正情報を考慮に入れることによって、前記第１の分散コンセンサスベース同期の結果として得られた前記クロックタイミングを更新することであって、前記送信された第１の補正情報は、前記各群の前記それぞれ１つの通信デバイスに、前記第１の分散コンセンサスベース同期の結果として得られた前記クロックタイミングの更新を可能にすることを意図する、更新することと
を実行することを特徴とする、メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する方法。
【請求項１４】
メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する通信デバイスであって、
該特許請求される通信デバイスは、
−  １つの所与の通信デバイスを除く全ての前記通信デバイスと共同して第１の分散コンセンサスベース同期を実行する手段と、
−  前記所与の通信デバイスから第１の補正情報を受信する手段であって、該第１の補正情報は、少なくとも前記第１の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される、受信する手段と、
−  前記受信された第１の補正情報を考慮に入れることによって、前記第１の分散コンセンサスベース同期の結果として得られた前記クロックタイミングを更新する手段と
を備えることを特徴とする、メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する通信デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、メッシュベース通信ネットワークの通信デバイス間の同期及びクロックドリフト補正に関する。
【背景技術】
【０００２】
無線センサーネットワーク（ＷＳＮ）は、自己構成型で、かなり安価で、またエネルギー制御、環境監視、産業オートメーション等の非常に広範囲の可能な用途に有用であるために、興味と人気を博してきた。
【０００３】
スマートメーターネットワーク（ＳＭＮ）は、そのような無線センサネットワークの応用例である。スマートメーターは、通常、監視目的及び課金目的で所与の期間間隔で電気エネルギーの消費を記録し、その情報をサーバに通信する電気メーターである。スマートメーターは、通常、中央システムからコマンドを受信することができる。スマートメーターは、他のデータ取り込み分野においても用いられ、例えば、天然ガス又は天然水の消費を測定するデバイスを意味することもできる。
【０００４】
そのような通信ネットワークにおいては、通信デバイスは同期形式で動作することが望ましい。特に、グローバルクロック同期を設定することが望ましく、すなわち、全ての通信デバイスが共通の時間基準を参照する。これは、通信デバイス間の伝播時間期間及び通信デバイスの発振器が厳密に等しくないために、或る通信デバイスから別の通信デバイスへのクロックドリフトが現れることを意味する。このクロックドリフトは、補正又は補償をする必要がある。さらに、絶対クロックタイミングも、２つの通信デバイス間で可能な限り整合しなければならない。
【０００５】
グローバルクロック同期は、無線センサネットワークにおいて、したがって、スマートメーターネットワークにおいては、これらのネットワークのメッシュ構造のために複雑になる。確かに、そのような通信ネットワークは、通常、アドホック形式で形成される。したがって、全ての通信デバイスは、互いに直接通信することもできなければ、マスタ通信デバイスと直接通信することもできず、マルチホップ通信が設定されなければならない。
【０００６】
このような無線メッシュ通信ネットワークのマルチホップ特性を用いることによって、グローバルクロック同期を実行することが可能である。１つのマスタ通信デバイスがグローバルクロック基準として規定され、このマスタ通信デバイスをルートとしたスパニングツリーが構築される。各ノードは、規定されたスパニングツリーにおける自身の親ノードと自身を同期させ、自身の親ノードを用いて検出されるクロックドリフトを補償する。しかしながら、この手法は重大な欠点を有する。確かに、無線メッシュ通信ネットワークが多数の通信デバイスを有する場合、又は通信デバイス間の地理的距離が数百メートル程度、更には数キロメートル程度ある場合、同期情報の伝播時間はかなり大きい。これは、ＴＤＭＡ（時分割多重アクセス）スケジューリングにとっては、特に損害となりやすい。その理由は、ＴＤＭＡスケジューリングでは、通信デバイス間のホップ数の増加及び／又は通信デバイス間の距離の増加とともに相互通信ギャップの長さを増加させることが必要となるからである。これは、通信干渉を回避するために、全体的な無線メッシュ通信ネットワーク有用帯域幅を大幅に低減する。
【０００７】
この伝播時間問題を回避するために、分散コンセンサスベース同期（distributed consensus-based synchronization）手法を用いることができる。この手法は、ネットワークトポロジーの変化に対してもよりロバストである。この手法によれば、無線メッシュ通信ネットワークの全てのデバイスが基準クロックタイミングの確定に参加する。各通信デバイスは、事前に規定された時刻に同期信号を送信することによって、自身のクロックタイミングのビュー（view）を示す。クロックタイミングのビューは、無視することができない伝播時間期間及び発振器性能の相違の結果として生じるクロックタイミングの不整合に起因して通信デバイスごとに異なるので、送信は異なる時刻に効果的に実行される。各通信デバイスは、自身のクロックタイミングと他の通信デバイスによって示されたクロックタイミングの観察値との間の相対時間差を測定し、それに従って、自身のクロックタイミングを調整する。したがって、通信デバイスは、実質的に同一のクロックタイミングに向かって収束する。しかしながら、通信デバイスが収束に向かうクロックタイミングは、クロックドリフトを受ける場合があり、その結果、伝送周波数がシフトする場合がある。それに加えて、分散コンセンサスベース同期のそのようなドリフトは、通信デバイスの各クラスタが自身の分散コンセンサスベース同期を適用すると、全てのクラスタが同一の伝送リソース、すなわちＴＤＭＡタイプのアクセスにおける時間又はＦＤＭＡ（周波数分割多重アクセス）タイプのアクセスにおける周波数を共有し、クラスタ間の干渉を生み出す場合がある。
【０００８】
上述した不整合問題及びクロックドリフト問題は、長距離メッシュ光ネットワーク又は長距離メッシュ有線ネットワーク等の他の種類のメッシュ通信ネットワークにおいても発生する場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
メッシュ通信ネットワーク、より詳細にはスマートメーターのクラスタにおいて発生する上述した問題を克服することが望ましい。
【００１０】
特に、メッシュ通信ネットワークにおけるクロックドリフトを補償すると共に精細なグローバル同期を提供することを可能にする解決策を提供することが望ましい。
【００１１】
同一の伝送リソースを共有するクラスタを形成するメッシュ通信ネットワークにおけるクロックドリフトを補償すると共に精細なグローバル同期を提供することを可能にする解決策を提供することが更に望ましい。
【課題を解決するための手段】
【００１２】
そのため、本発明は、メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する方法に関する。本方法では、１つの所与の通信デバイスを除く全ての通信デバイスは、第１の分散コンセンサスベース同期を実行する。本方法では、更に、上記所与の通信デバイスは、少なくとも第１の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される第１の補正情報を取得することと、メッシュ通信ネットワークを通じて第１の補正情報を送信することとを実行する。本方法では、更に、上記所与の通信デバイスを除く全ての通信デバイスは、送信された第１の補正情報を考慮に入れることによって、第１の分散コンセンサスベース同期の結果として得られたクロックタイミングを更新する。
【００１３】
したがって、いわゆる「所与の通信デバイス」である１つを除く全ての通信デバイスは、分散コンセンサスベース同期を実行する。所与の通信デバイスは、分散コンセンサスベース同期には関与しないが、分散コンセンサスベース同期の経過を観察する。精細なグローバル同期を実行し、上記所与の通信デバイスによって観察される分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックとの間のクロックドリフトを補償するために、上記所与の通信デバイスは、いわゆる「第１の補正情報」である補正情報を取得し、この補正情報をメッシュ通信ネットワーク全体にわたってブロードキャストする。分散コンセンサスベース同期の経過を観察することによって、分散コンセンサスベース同期の結果として得られるクロックタイミングを補正情報に基づいて調整することが可能になり、これによって、全ての通信デバイスのクロックタイミングを整合させることが更に可能になる。これによって、基準クロックへのクロックタイミングの整合を確実に行うことが可能になる。
【００１４】
特定の特徴によれば、上記所与の通信デバイスは、第１の分散コンセンサスベース同期を実行したときに少なくとも１つの各通信デバイスから受信された同期信号から導出された少なくとも１つのクロックタイミングから、第１の補正情報を取得する。
【００１５】
したがって、クロックドリフトは補償され、通信デバイスのクロックタイミングは、メッシュ通信ネットワーク内で実行される分散コンセンサスベース同期にのみ基づいて整合される。
【００１６】
特定の特徴によれば、上記所与の通信デバイスは、サーバデバイスから第１の補正情報を取得し、上記所与の通信デバイスは、分散コンセンサスベース同期を実行したときに少なくとも１つの各通信デバイスから受信された同期信号から導出された１つのクロックタイミングから、ローカル補正情報を取得することと、ローカル補正情報をサーバデバイスに送信することとを実行する。本方法では、サーバデバイスは、それぞれがメッシュ通信ネットワークを形成するように相互接続された複数の通信デバイスからなる複数の群に接続され、上記サーバデバイスは、上記各群のそれぞれ１つの通信デバイスからローカル補正情報を受信することと、受信されたローカル補正情報を組み合わせて上記第１の補正情報を取得することとを実行する。
【００１７】
したがって、上記サーバデバイスを使用することによって、通信デバイスは、あたかも単一のクラスタに属しているように同期され、クラスタ間の脱同期はもはや存在しない。
【００１８】
特定の特徴によれば、上記所与の通信デバイスは、少なくとも１つの他のメッシュ通信ネットワークを形成するように相互接続された複数の通信デバイスからなる少なくとも１つの群と相互接続され、上記所与の通信デバイスは、第１の分散コンセンサスベース同期を実行したときに少なくとも１つの各通信デバイスから受信された同期信号から導出された１つのクロックタイミングと、基準クロックとから、ローカル補正情報を取得することと、ローカル補正情報を別の上記各群のそれぞれ１つの通信デバイスに送信することと、別の上記各群の上記各通信デバイスから別のローカル補正情報をそれぞれ受信することと、受信されたローカル補正情報を組み合わせて第１の補正情報を取得することとを実行する。
【００１９】
したがって、各メッシュ通信ネットワーク内の１つの通信デバイスの協力によって、通信デバイスは、サーバノードを用いる必要なく、あたかも単一のクラスタに属しているように同期され、クラスタ間の脱同期はもはや存在しない。
【００２０】
特定の特徴によれば、上記所与の通信デバイスは、それぞれが複数の他のメッシュ通信ネットワークを形成するように相互接続された複数の通信デバイスからなる群と相互接続され、一組の通信デバイスが、第２の分散コンセンサスベース同期を実行し、当該一組は、上記他のメッシュ通信ネットワークごとに１つの通信デバイスによって形成される。本方法では、上記所与の通信デバイスは、少なくとも第２の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される、第２の補正情報を取得することと、第２の補正情報を上記一組の通信デバイスに送信することとを実行する。本方法では、更に、上記一組の通信デバイスは、送信された第２の補正情報を考慮に入れることによって、第２の分散コンセンサスベース同期の結果として得られたクロックタイミングを更新することを更に実行する。
【００２１】
したがって、２段階の分散コンセンサスベースのアルゴリズムが設定される。したがって、そのような方法によって、上記所与の通信デバイスによって規定された基準クロックタイミングに向けた収束が可能になる。これによって、例えば同期された基準クロックＧＰＳ（グローバルポジショニングシステム）シグナリングに基づく同期された基準クロック等の各メッシュ通信ネットワークに利用可能な同期された基準クロックを実装することが回避される。
【００２２】
特定の特徴によれば、上記所与の通信デバイスは、第１の分散コンセンサスベース同期を実行したときに少なくとも１つの各通信デバイスから受信された同期信号から導出された少なくとも１つのクロックタイミングと、別の分散コンセンサスベース同期を実行したときに上記少なくとも１つの各通信デバイスから受信された他の同期信号から導出された少なくとも１つの他のクロックタイミングとから、第１の補正情報を取得する。
【００２３】
したがって、所与の通信デバイスは、別のメッシュ通信ネットワークのデバイスと基準クロックタイミングを共有していなくても、上記別の分散コンセンサスベース同期の結果として得られるクロックタイミングを観察することができるので、全ての分散コンセンサスベース同期を同一の基準クロックタイミングに向けて収束させることができる。
【００２４】
特定の特徴によれば、上記所与の通信デバイスは、第１の分散コンセンサスベース同期を実行したときに上記少なくとも１つの各通信デバイスから受信された同期信号から導出された少なくとも１つのクロックタイミングと、上記別の分散コンセンサスベース同期を実行したときに上記少なくとも１つの各通信デバイスから受信された他の同期信号から導出された少なくとも１つの他のクロックタイミングとから、基準クロックタイミングを調整する。
【００２５】
したがって、基準クロックタイミングは、上記別の分散コンセンサスベース同期を実行する他のデバイスによって用いられるクロックタイミングに向けて収束する。
【００２６】
また、本発明は、メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償するシステムにも関する。本システムでは、１つの所与の通信デバイスを除く全ての上記通信デバイスは、第１の分散コンセンサスベース同期を実行する手段を備える。本システムでは、更に、上記所与の通信デバイスは、少なくとも第１の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される、第１の補正情報を取得する手段と、メッシュ通信ネットワークを通じて第１の補正情報を送信する手段とを備える。本システムでは、更に、上記所与の通信デバイスを除く全ての上記通信デバイスは、送信された第１の補正情報を考慮に入れることによって、第１の分散コンセンサスベース同期の結果として得られたクロックタイミングを更新する手段を更に備える。
【００２７】
また、本発明は、メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する方法にも関する。本方法では、所与の通信デバイスが、少なくとも第１の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される、第１の補正情報を取得することであって、第１の分散コンセンサスベース同期は、上記所与の通信デバイスを除く全ての上記通信デバイスによって実行される、取得することと、メッシュ通信ネットワークを通じて第１の補正情報を送信することであって、送信される第１の補正情報は、上記所与の通信デバイスを除く全ての上記通信デバイスに第１の分散コンセンサスベース同期の結果として得られたクロックタイミングを更新させることを意図する、送信することとを実行する。
【００２８】
また、本発明は、メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する通信デバイスにも関する。検討される通信デバイスは、少なくとも第１の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される、第１の補正情報を取得する手段であって、第１の分散コンセンサスベース同期は、特許請求されている通信デバイスを除く全ての上記通信デバイスによって実行される、取得する手段と、メッシュ通信ネットワークを通じて第１の補正情報を送信する手段であって、送信される第１の補正情報は、上記所与の通信デバイスを除く全ての上記通信デバイスに、第１の分散コンセンサスベース同期の結果として得られたクロックタイミングを更新させることを意図する、送信する手段とを備える。
【００２９】
また、本発明は、同期を実行してクロックドリフトを補償する方法であって、当該方法は、それぞれがメッシュ通信ネットワークを形成するように相互接続された複数の通信デバイスからなる複数の群に接続されたサーバデバイスによって実行される、方法にも関する。本方法では、上記サーバデバイスは、上記各群のそれぞれ１つの通信デバイスからローカル補正情報を受信することであって、当該ローカル補正情報は、第１の分散コンセンサスベース同期を実行したときに少なくとも１つの各通信デバイスから受信される同期信号から導出される１つのクロックタイミングと、基準クロックとから取得される、受信することと、受信されたローカル補正情報を組み合わせて第１の補正情報を取得することと、第１の補正情報を上記各群の上記それぞれ１つの通信デバイスに送信することであって、送信される第１の補正情報は、上記各群の上記それぞれ１つの通信デバイスに、第１の分散コンセンサスベース同期の結果として得られたクロックタイミングの更新を可能にすることを意図する、送信することとを実行する。
【００３０】
また、本発明は、同期を実行してクロックドリフトを補償するサーバデバイスであって、当該サーバデバイスは、それぞれがメッシュ通信ネットワークを形成するように相互接続された複数の通信デバイスからなる複数の群に接続されることを意図する、サーバデバイスにも関する。本サーバデバイスは、上記各群のそれぞれ１つの通信デバイスからローカル補正情報を受信する手段であって、当該ローカル補正情報は、第１の分散コンセンサスベース同期を実行したときに少なくとも１つの各通信デバイスから受信される同期信号から導出される１つのクロックタイミングと、基準クロックとから取得される、受信する手段と、受信されたローカル補正情報を組み合わせて第１の補正情報を取得する、組み合わせる手段と、第１の補正情報を上記各群の上記それぞれ１つの通信デバイスに送信する手段であって、送信される第１の補正情報は、上記各群の上記それぞれ１つの通信デバイスに、第１の分散コンセンサスベース同期の結果として得られたクロックタイミングの更新を可能にすることを意図する、送信する手段とを備える。
【００３１】
また、本発明は、メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する方法にも関する。本方法では、検討される通信デバイスが、１つの所与の通信デバイスを除く全ての通信デバイスと共同して第１の分散コンセンサスベース同期を実行し、上記所与の通信デバイスから第１の補正情報を受信することであって、当該第１の補正情報は、少なくとも第１の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される、受信することと、受信された第１の補正情報を考慮に入れることによって、第１の分散コンセンサスベース同期の結果として得られたクロックタイミングを更新することとを実行する。
【００３２】
また、本発明は、メッシュ通信ネットワークを形成するように相互接続された複数の通信デバイス間で同期を実行してクロックドリフトを補償する通信デバイスにも関する。検討される通信デバイスは、１つの所与の通信デバイスを除く全ての上記通信デバイスと共同して第１の分散コンセンサスベース同期を実行する手段と、上記所与の通信デバイスから第１の補正情報を受信する手段であって、当該第１の補正情報は、少なくとも第１の分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される、受信する手段と、受信された第１の補正情報を考慮に入れることによって、第１の分散コンセンサスベース同期の結果として得られたクロックタイミングを更新する手段とを備える。
【００３３】
また、本発明は、少なくとも１つの実施の形態において、通信ネットワークからダウンロード可能かつ／又はコンピュータ読出可能な媒体に記憶可能であり、プロセッサによって実行することができるコンピュータプログラムにも関する。このコンピュータプログラムは、当該プログラムがプロセッサによって実行されると、上述した方法を実施する命令を含む。
【００３４】
また、本発明は、情報格納手段であって、格納された情報がコンピュータによって読み出されてプロセッサによって実行されると、上述した方法を実施するプロセッサが実行することができる一組の命令を含むコンピュータプログラムを格納する情報格納手段にも関する。
【００３５】
デバイス、システム、及びコンピュータプログラムに関係する特徴及び利点は、対応する上述した方法に関連して既述したものと同じであるので、ここでは繰り返さない。
【００３６】
本発明の特徴は、一実施形態例の以下の説明を読むことによってより明確になるであろう。当該説明は、添付図面に関連して作成されたものである。
【図面の簡単な説明】
【００３７】
【図１】本発明を実施することができる通信ネットワークの第１のアーキテクチャを概略的に表す図である。
【図２】本発明を実施することができる通信ネットワークの第２のアーキテクチャを概略的に表す図である。
【図３ａ】図１又は図２の通信ネットワークにおけるコンセントレータデバイスのアーキテクチャを概略的に表す図である。
【図３ｂ】図２の通信ネットワークにおけるサーバデバイスのアーキテクチャを概略的に表す図である。
【図４】図１又は図２の通信ネットワークにおけるスマートメーターのアーキテクチャを概略的に表す図である。
【図５】図１又は図２の通信ネットワークにおけるコンセントレータデバイスによって実行される、同期及びクロックドリフト補償を実行するアルゴリズムを概略的に表す図である。
【図６】図１又は図２の通信ネットワークにおけるスマートメーターによって実行される、同期及びクロックドリフト補償を実行するアルゴリズムを概略的に表す図である。
【図７】図２の通信ネットワークにおけるコンセントレータデバイスによって実行される、同期及びクロックドリフト補償を実行するアルゴリズムを概略的に表す図である。
【図８】図２の通信ネットワークにおけるサーバデバイスによって実行される、同期及びクロックドリフト補償を実行するアルゴリズムを概略的に表す図である。
【図９】図２の通信ネットワークにおけるコンセントレータデバイスによって実行される、同期及びクロックドリフト補償を実行する別のアルゴリズムを概略的に表す図である。
【図１０】図２の通信ネットワークにおけるコンセントレータデバイスによって実行される、同期及びクロックドリフト補償を実行する更に別のアルゴリズムを概略的に表す図である。
【図１１】図２の通信ネットワークにおけるコンセントレータデバイスによって実行される、同期及びクロックドリフト補償を実行する更に別のアルゴリズムを概略的に表す図である。
【図１２】図２の通信ネットワークにおけるスマートメーターによって実行される、同期及びクロックドリフト補償を実行する別のアルゴリズムを概略的に表す図である。
【図１３】図２の通信ネットワークにおけるコンセントレータデバイスによって実行される、同期及びクロックドリフト補償を実行する更に別のアルゴリズムを概略的に表す図である。
【発明を実施するための形態】
【００３８】
以下の説明は、スマートメーターの無線メッシュ通信ネットワークのデプロイを対象として本発明を詳述するが、以下で詳述する原理は、他の種類の無線メッシュ通信ネットワークのデプロイにおいても同様に適用することができる。例えば、以下で詳述する原理は、フェムトセルのデプロイ、すなわち、屋内、特に、アクセスが通常ならば制限されるか又は利用可能でない箇所にサービスプロバイダーがサービスカバレッジを拡大することを可能にする、通常、ホームオフィス又はスモールオフィスでの使用に設計されたセルラー基地局のデプロイにおいても同様に適用することができる。その場合、セルラー基地局は、同期を実行するために互いに無線通信するように適合される。
【００３９】
その上、以下の説明は、無線メッシュ通信ネットワークのデプロイを対象として本発明を詳述するが、以下で詳述する原理は、他の種類のメッシュ通信ネットワークのデプロイにおいても同様に適用することができる。例えば、以下で詳述する原理は、光メッシュ通信ネットワーク又は有線メッシュ通信ネットワークのデプロイにおいても同様に適用することができる。
【００４０】
図１は、本発明を実施することができる通信ネットワーク１００の第１のアーキテクチャを概略的に表している。
【００４１】
通信ネットワーク１００は、コンセントレータデバイス１１０と、１組のスマートメーターとを備えるメッシュ通信ネットワークである。なお、スマートメーターは、スマート計測デバイスとも呼ばれる。図１には、６つのスマートメーター１２０ｉ（ｉ＝ａ，ｂ，...，ｇ）が示されている。種々の複数のスマートメーターが通信ネットワーク１００に存在することができる。通信ネットワーク１００は、クラスタとも呼ばれる。
【００４２】
通信ネットワーク１００のデバイスは、好ましくは半二重無線通信を用いる。しかしながら、通信ネットワーク１００のデバイスは、全二重無線通信を用いることもできる。
【００４３】
そのような無線メッシュ通信ネットワークは、アドホック形式でのスマートメーターのデプロイに特に適合している。
【００４４】
電力消費と放射を制限するために、通信ネットワーク１００内のデバイスは、通信ネットワーク１００内の他のどのデバイスとも直接通信することができるわけではない。通信ネットワーク１００内の各デバイスは、通常、通信ネットワーク１００内の他の少数のデバイスとしか直接通信することができない。これは、これら他の数個のデバイスについては、同期信号、メッセージ、及びより一般的にはデータを交換するための送信信号強度が十分に高く、例えば所定のしきい値を上回っていると考えられることを意味する。
【００４５】
したがって、メッシュ通信ネットワーク１００の各デバイスは、メッシュ通信ネットワーク１００の少なくとも１つの他のデバイスと直接通信することができる。
【００４６】
互いに直接通信するメッシュ通信ネットワーク１００の２つのデバイスは、近隣デバイスである。より一般的には、近隣デバイスは、以下で詳述するように、分散コンセンサスベース同期の範囲で同期信号を交換することができるデバイスである。
【００４７】
メッシュ通信ネットワーク１００の任意の２つのデバイスは、直接的又は間接的に、すなわちメッシュ通信ネットワーク１００の少なくとも１つの他のデバイスを介して互いに通信することができる。より詳細には、各スマートメーター１２０ｉ（ｉ＝ａ，ｂ，...，ｇ）は、直接的又は間接的に、コンセントレータデバイス１１０と通信することができる。
【００４８】
図１において、可能な直接通信は、関係しているデバイス間のそれぞれの直線によって例示的に表されている。例えば、コンセントレータデバイス１１０は、スマートメーター１２０ａ、１２０ｂという２つの近隣デバイスを有し、スマートメーター１２０ａは、スマートメーター１２０ｃとコンセントレータデバイス１１０という２つの近隣デバイスを有し、スマートメーター１２０ｂは、スマートメーター１２０ｃ、１２０ｄ、及びコンセントレータデバイス１１０という３つの近隣デバイスを有する。図１は、メッシュ通信ネットワーク１００内の他の可能な直接通信も例示的に示しているが、それらの直接通信についてはこれ以上詳述しない。
【００４９】
メッシュ通信ネットワーク１００内の通信は、好ましくはＴＤＭＡを用いて実行される。メッシュ通信ネットワーク１００内の通信は、ＦＤＭＡ又はＣＤＭＡ（符号分割多重アクセス）を用いて実行することもできる。
【００５０】
無線メッシュ通信ネットワーク１００内の通信は、送信サイクルに従ってスケジューリングされる。無線メッシュ通信ネットワーク１００の全てのデバイスは、理想的には共通の基準クロックタイミングを共有する。しかしながら、通信デバイス間の無視することができない伝播時間期間に起因して、また、通信デバイスは完全には同一でない内部発振器を有するので、各通信デバイスは、自身のクロックタイミング、すなわち送信サイクルを規定する自身のクロックタイミングのビューを有する。
【００５１】
上記に加えて、分散コンセンサスベースのアルゴリズムが所与のクラスタにおいて用いられたとしても、周囲の通信デバイスとの干渉が発生する場合がある。図５及び図６に関連する後の説明は、特にこの問題に対処することを目標としている。
【００５２】
図２は、本発明を実施することができる通信ネットワーク２００の第２のアーキテクチャを概略的に表している。
【００５３】
通信ネットワーク２００は、サーバデバイス２３０と１組のコンセントレータデバイスを備えている。図２には、３つのコンセントレータデバイス１１０ｍ（ｍ＝ａ，ｂ又はｃ）が示されている。種々の複数のコンセントレータデバイスが、通信ネットワーク２００に存在することができる。
【００５４】
各コンセントレータデバイス１１０ｍは、サーバデバイス２３０と通信する。コンセントレータデバイス１１０ｍとサーバデバイス２３０との間の通信は、ＲＦＣ７９１の仕様によって詳述されているように、好ましくはインターネットプロトコル（ＩＰ）を用いて実行され、有線又は無線のいずれかとすることができる。コンセントレータデバイス１１０ｍは、好ましくは同様にインターネットプロトコルを用いて互いに通信することができる。
【００５５】
各コンセントレータデバイス１１０ｍは、図１に示すメッシュ無線通信ネットワーク１００に対応するクラスタ１００ｍ（ｍ＝ａ，ｂ又はｃ）の一部である。コンセントレータデバイス１１０ｍは、サーバデバイス２３０と、自身が属するクラスタ１００ｍのスマートメーターとの間のゲートウェイとして機能する。
【００５６】
図２に示すアーキテクチャでは、各スマートメーターは、唯一つのクラスタにのみ属し、単一のコンセントレータデバイス１１０ｍを介してサーバデバイス２３０と通信する。  
【００５７】
図２に示すアーキテクチャでは、メッシュタイプであるクラスタ１００ｍは、スタートポロジーネットワークを用いて、各コンセントレータデバイス１１０ｍを介してサーバデバイス２３０に接続されている。
【００５８】
サーバデバイス２３０は、コンセントレータデバイス１１０ｍを介してスマートメーターによって提供されたデータを収集し、例えば統計をとるために、及び／又は監視のために、及び／又は課金のために、収集されたデータを処理する。サーバデバイス２３０は、コンセントレータデバイス１１０ｍを介して任意のスマートメーターにコマンドを送信することもできる。そのようなコマンドは、例えば、スマートメーターに報告を要求するものや、スマートメーターによって監視されているシステムのシャットダウンを命令するものや、スマートメーターにソフトウェア更新を提供するもの等である。
【００５９】
図２に示すアーキテクチャでは、所与のクラスタ内の少なくとも１つのスマートメーターは、別のクラスタ内の少なくとも１つの他のスマートメーターから同期信号を受信できることに留意されたい。この場合、着目しているスマートメーターは、同じクラスタに属していない場合であっても、近隣デバイスとみなされる。したがって、スマートメーターは、自身が分散コンセンサスベース同期を実施する際に、異なるクラスタに属するスマートメーターから受信された同期信号を、あたかも同じクラスタに属するスマートメーターがそれらの同期信号を受信したように、考慮に入れることができる。
【００６０】
図１に関連して既に述べたように、通信デバイス間の伝播時間期間が無視することができないことと、通信デバイスが完全に同一ではない内部発振器を有することとを考慮すると、各通信デバイスは、自身のクロックタイミング、すなわち送信サイクルを規定する自身のクロックタイミングのビューを有する。
【００６１】
上記に加えて、分散コンセンサスベースのアルゴリズムが所与のクラスタにおいて用いられたとしても、クラスタ間のクロックドリフトに起因して干渉が発生する場合がある。図７〜図１３に関連する後の説明は、この問題に対処することを特に目標としている。
【００６２】
図３ａは、コンセントレータデバイス１１０のアーキテクチャを概略的に表している。コンセントレータデバイス１１０は、任意のコンセントレータデバイス１１０ｍ（図２においては、ｍ＝ａ，ｂ又はｃ）に対応することができる。
【００６３】
図示したアーキテクチャによれば、コンセントレータデバイス１１０は、通信バス３０６によって相互接続された次の構成要素を備えている。すなわち、プロセッサ、マイクロプロセッサ、マイクロコントローラ、又はＣＰＵ（中央処理装置）３００；ＲＡＭ（ランダムアクセスメモリ）３０１；ＲＯＭ（読出し専用メモリ）３０２；ＳＤ（セキュアデジィタル）カードリーダ３０３、又はストレージ手段に格納された情報を読み出すように適合された他の任意のデバイス；第１の通信インターフェース３０４及び第２の通信インターフェース３０５を備えている。
【００６４】
第１の通信インターフェース３０４は、コンセントレータデバイス１１０がメッシュ通信ネットワーク１００内の近隣スマートメーターと無線通信することを可能にする。
【００６５】
第２の通信インターフェース３０５は、コンセントレータデバイス１１０がサーバ２３０と通信することを可能にする。
【００６６】
ＣＰＵ３００は、ＲＯＭ３０２から又はＳＤカード等の外部メモリからＲＡＭ３０１内にロードされた命令を実行することができる。コンセントレータデバイス１１０に電源が投入された後、ＣＰＵ３００は、ＲＡＭ３０１から命令を読み出し、これらの命令を実行することができる。命令は、図５、図７、図９、図１０、図１１、及び図１３に関連して後に説明するアルゴリズムのステップのうちの幾つか又は全てをＣＰＵ３００に実行させる１つのコンピュータプログラムを形成する。
【００６７】
図５、図７、図９、図１０、図１１、及び図１３に関連して後に説明するアルゴリズムのありとあらゆるステップは、ソフトウェアとして、ＰＣ（パーソナルコンピュータ）、ＤＳＰ（ディジタル信号プロセッサ）、又はマイクロコントローラ等のプログラマブル計算機による１組の命令又はプログラムの実行によって実施することもできるし、それ以外に、ハードウェアとして、機械によって、又はＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（特定用途向け集積回路）等の専用構成要素によって実施することもできる。
【００６８】
図３ｂは、サーバデバイス２３０のアーキテクチャを概略的に表している。
【００６９】
図示したアーキテクチャによれば、サーバデバイス２３０は、通信バス３１６によって相互接続された次の構成要素を備えている。すなわち、プロセッサ、マイクロプロセッサ、マイクロコントローラ又はＣＰＵ３１０；ＲＡＭ３１１；ＲＯＭ３１２；ＨＤＤ（ハードディスクドライブ）３１３、又はストレージ手段に格納された情報を読み出すように適合された他の任意のデバイス；通信インターフェース３１４を備える。
【００７０】
通信インターフェース３１４は、サーバデバイス２３０がコンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃと通信することを可能にする。
【００７１】
ＣＰＵ３１０は、ＲＯＭ３１２から又はＨＤＤ３１３等の外部メモリからＲＡＭ３１１内にロードされた命令を実行することができる。サーバデバイス２３０に電源が投入された後、ＣＰＵ３１０は、ＲＡＭ３１１から命令を読み出し、これらの命令を実行することができる。命令は、図８に関連して後に説明するアルゴリズムのステップのうちの幾つか又は全てをＣＰＵ３１０に実行させる１つのコンピュータプログラムを形成する。
【００７２】
図８に関連して後に説明するアルゴリズムのありとあらゆるステップは、ソフトウェアとして、ＰＣ、ＤＳＰ、又はマイクロコントローラ等のプログラマブル計算機による１組の命令又はプログラムの実行によって実施することもできるし、それ以外に、ハードウェアとして、機械によって、又はＦＰＧＡ又はＡＳＩＣ等の専用構成要素によって実施することもできる。
【００７３】
図４は、スマートメーター１２０のアーキテクチャを概略的に表している。スマートメーター１２０は、任意のスマートメーター１２０ｉ（図１においては、ｉ＝ａ、ｂ，．．．，ｇ）に対応する。
【００７４】
図示したアーキテクチャによれば、スマートメーター１２０は、通信バス４０６によって相互接続された次の構成要素を備えている。すなわち、プロセッサ、マイクロプロセッサ、マイクロコントローラ、又はＣＰＵ４００；ＲＡＭ４０１；ＲＯＭ４０２；ＳＤカードリーダ４０３、又はストレージ手段に格納された情報を読み出すように適合された他の任意のデバイス；通信インターフェース４０４；及び計測インターフェース４０５を備えている。
【００７５】
第１の通信インターフェース４０４は、スマートメーター１２０が無線メッシュ通信ネットワーク１００又は通信ネットワーク２００内の任意の近隣デバイスと無線通信することを可能にする。上記近隣デバイスは、別のスマートメーター又はコンセントレータデバイスのいずれかである。
【００７６】
計測インターフェース４０５は、スマートメーター１２０が、電気又は水の消費データ等の監視、測定、及びデータの取り込みを行えるようにする。計測インターフェース４０５は、スマートメーター１２０が、監視されているシステムにコマンドを送信できるようにする。
【００７７】
ＣＰＵ４００は、ＲＯＭ４０２から又はＳＤカード等の外部メモリからＲＡＭ４０１内にロードされた命令を実行することができる。スマートメーターデバイス１２０に電源が投入された後、ＣＰＵ４００は、ＲＡＭ４０１から命令を読み出し、これらの命令を実行することができる。命令は、図６及び図１２に関連して後に説明するアルゴリズムのステップのうちの幾つか又は全てをＣＰＵ４００に実行させる１つのコンピュータプログラムを形成する。
【００７８】
図６及び図１２に関連して後に説明するアルゴリズムのありとあらゆるステップは、ソフトウェアとして、ＰＣ、ＤＳＰ、又はマイクロコントローラ等のプログラマブル計算機による１組の命令又はプログラムの実行によって実施することもできるし、それ以外に、ハードウェアとして、機械によって、又はＦＰＧＡ又はＡＳＩＣ等の専用構成要素によって実施することもできる。
【００７９】
図５は、コンセントレータデバイス１１０によって実行される、同期及びクロックドリフト補償を実行するアルゴリズムを概略的に表している。
【００８０】
図５のアルゴリズムは、好ましくは、予め規定された時間期間に基づいて繰り返される。
【００８１】
ステップＳ５０１において、コンセントレータデバイス１１０は、自身の近隣デバイス、すなわちスマートメーター１２０ａ及び１２０ｂから同期信号を受信する。これらの同期信号は、図６に関連して後に詳述するように、スマートメーター１２０ｉ（ｉ＝ａ，ｂ，．．．，ｇ）によって実行される分散コンセンサスベース同期中に送信される。これらの同期信号によって、コンセントレータデバイス１１０は、スマートメーター１２０ｉによって実行される分散コンセンサスベース同期の結果として得られるクロックタイミングを確定することが可能になる。コンセントレータデバイス１１０によって行われる観察は、スマートメーター１２０ａ、１２０ｂとコンセントレータデバイス１１０との間の伝播遅延を受けることに注意されたい。
【００８２】
換言すれば、コンセントレータデバイス１１０は、以下のように表されるタイミング不整合を測定することによって、スマートメーター１２０ｉによって実行される分散コンセンサスベース同期の経過を観察する。
【数１】
0005992233.tif 000002
【００８３】
ここで、コンセントレータデバイス１１０は、インデックス０を有し、ｎは、アルゴリズムの着目中の繰り返しのインデックスである。
ｔj,n-1は、アルゴリズムのｎ−１回目の繰り返しにおけるｊ番目の通信デバイスのクロックタイミング、すなわち、スマートメーター１２０ａ、１２０ｂの中の着目中の１つのスマートメーターにおけるコンセントレータデバイス１１０から見たクロックタイミングである。
εjは、ｊ番目の通信デバイスのクロックドリフトである。
τ0,jは、コンセントレータデバイス１１０とｊ番目の通信デバイスとの間の伝播遅延である。
【００８４】
次のステップＳ５０２において、コンセントレータデバイス１１０は、スマートメーター１２０ｉによって実行された分散コンセンサスベース同期の結果として得られたクロックタイミングと基準クロックタイミングとの間の相対クロックタイミング差を求める。
【００８５】
基準クロックタイミングは、好ましくはコンセントレータデバイス１１０の内部クロックから得られるが、外部クロックから得ることもできる。
【００８６】
次のステップＳ５０３において、コンセントレータデバイス１１０は、分散コンセンサスベース同期の結果として生じたクロックドリフトを補償して同期を確実にするために、スマートメーターによって用いられることになる補正情報を取得する。補正情報は、少なくとも、分散コンセンサスベース同期の結果として得られたクロックタイミングと基準クロックタイミングとの間の差から導出される。より詳細には、図１の無線メッシュ通信ネットワーク１００の範囲内では、コンセントレータデバイス１１０は、求められたクロックタイミング差から、分散コンセンサスベース同期の結果として生じたクロックドリフトを補償するために、スマートメーターによって用いられることになる補正情報を求める。さらに、図２の無線メッシュ通信ネットワーク２００の範囲においては、図７〜図１３に関連して後に他の実施形態において詳述するように、コンセントレータデバイスは、クラスタ１００ａ、１００ｂ、１００ｃのそれぞれの分散コンセンサスベース同期から得られたクロックタイミングと基準クロックタイミングとの間の差から導出された補正情報を取得する。
【００８７】
クロックタイミング差を近隣スマートメーターと組み合わせたものは、以下のように表すことができる。
【数２】
0005992233.tif 000003
ここで、
Ｔは、アルゴリズムの２つの繰り返しの間の基準時間期間であり、
Ωn（０）は、コンセントレータデバイス１１０がアルゴリズムのｎ回目の繰り返しにおいて同期信号を受信した近隣デバイスのインデックスの集合、すなわちスマートメーター１２０ａ及び／又はスマートメーター１２０ｂのインデックスの集合であり、
｛∀ｊ∈Ωn（０），ｔj,n-1＋εj＋τ0,j−ｔ0,n-1｝は、アルゴリズムのｎ回目の繰り返しにおいてコンセントレータデバイス１１０によって求められた相対クロックタイミング差の集合であり、
ｆ（・）は、
【数３】
0005992233.tif 000004
として定義することができるコンビネーション関数である。
【００８８】
コンセントレータデバイス１１０が基準クロックタイミングを提供するので、
【数４】
0005992233.tif 000005
であることに注意されたい。
【００８９】
換言すれば、コンセントレータデバイス１１０は、スマートメーター１２０ｉによって実行される分散コンセンサスベース同期の観察の結果として得られるクロックタイミング
【数５】
0005992233.tif 000006
を求めるが、自身のクロックタイミングｔ0,nが依然として基準クロックタイミングのままであるので、自身のクロックタイミングｔ0,nを更新しない。
【００９０】
次に、補正情報に対応する補正値ξnが、
【数６】
0005992233.tif 000007
によって求められる。
【００９１】
換言すれば、補正情報は、補正値ξnであるか、又は補正値ξnを表す情報であるか、又はアルゴリズムの幾つかの繰り返しにわたって求められた補正値ξnのフィルタリングされた値であるか、又はそのようなフィルタリングされた値を表す情報である。以下では、無線メッシュ通信ネットワーク１００において伝播される値に対応する補正値をξで示すことにする。
【００９２】
次のステップＳ５０４において、コンセントレータデバイス１１０は、無線メッシュ通信ネットワーク１００全体にわたって補正情報を送信する。換言すれば、図１に示す無線メッシュ通信ネットワーク１００を考えた場合には、コンセントレータデバイス１１０は、自身の近隣デバイス、すなわちスマートメーター１２０ａ及び１２０ｂに補正情報を送信する。次に、スマートメーター１２０ａ及び１２０ｂは、コンセントレータデバイス１１０を除くそれぞれの近隣デバイス、すなわちスマートメーター１２０ｃ及び１２０ｄに補正情報を中継し、以下同様に中継が行われる。補正情報の中継は、図６に関連して後に更に詳述する。
【００９３】
図６は、スマートメーター１２０によって実行される、同期及びクロックドリフト補償を実行するアルゴリズムを概略的に表している。図６に示すアルゴリズムは、図５に示すアルゴリズムと共に実行される。また、図６に示すアルゴリズムは、図７及び図８に示すアルゴリズムと共に実行することもできるし、図９に示すアルゴリズムと共に実行することもできる。
【００９４】
図６のアルゴリズムは、好ましくは、予め規定された時間期間に基づいて繰り返される。
【００９５】
ステップＳ６００において、スマートメーター１２０は、無線メッシュ通信ネットワーク１００の他のスマートメーターと共に、分散コンセンサスベース同期を実行する。スマートメーターは、同期信号を送信することによって、自身のクロックタイミングのビューを示す。同期信号は、予め規定された時刻に送信されると予想される。クロックタイミングのビューは通信デバイスごとに異なるので、同期信号は異なる時刻に送信され、通信デバイス間の伝播時間期間に起因して、同期信号は更に異なる時刻に受信される。分散コンセンサスベース同期の目標は、スマートメーターが同一のクロックタイミングのビューに向けて収束することである。そのために、各スマートメーターは、自身のクロックタイミングのビューを、自身の近隣デバイスによって示されるクロックタイミングの観察値と組み合わせる。このようにスマートメーターの自身のクロックタイミングを他のもののクロックタイミングに従って調整することによって、より良好な同期が達成される。これによって、例えば、通信間ギャップを低減することが可能になり、したがって、ネットワークスループットを増加させることが可能になるり、又は例えば、ＴＤＭＡ通信における干渉の制限が可能になり、又は低レイテンシマルチホップ中継プロトコルを用いることによって無線メッシュ通信ネットワーク１００におけるレイテンシ低減が可能になる。
【００９６】
ステップＳ６００は、図６においてステップＳ６０１〜Ｓ６０６によって概略的に表されているアルゴリズムに詳述される。
【００９７】
ステップＳ６０１において、通信デバイスが半二重通信を用いている場合には、スマートメーター１２０は送信モード又は受信モードのいずれかを選択し、そうではなく、通信デバイスが全二重通信を用いている場合には、信号の送信及び信号の受信は並列に実行される。
【００９８】
送信モードと受信モードとの間の選択は、ランダムに実行することができる。一変形形態では、送信モードと受信モードとの間の選択は、所定のシーケンスに従って行うこともできる。
【００９９】
次のステップＳ６０２において、送信モードが選択されているのか又は受信モードが選択されているのかが調べられる。送信モードが選択されている場合、ステップＳ６０３が実行され、そうでない場合、ステップＳ６０４が実行される。
【０１００】
ステップＳ６０３において、スマートメーター１２０は、無線メッシュ通信ネットワーク１００内の自身の近隣デバイスに同期信号を送信する。同期信号は、自己相関特性及び相互相関特性を有する予め規定された形状及び／又は内容の信号である。
【０１０１】
送信された同期信号は、スマートメーター１２０のクロックタイミングと整合される。換言すれば、スマートメーター１２０は、基準クロックタイミングに従って規定される所与の時刻に同期信号を送信すると予想される。スマートメーター１２０は、分散コンセンサスベース同期の結果によって駆動され、自身の発振器によってはそれほど大きく駆動されないので、むしろ所与の時刻ではあるが自身のクロックタイミングに従って規定される時刻に同期信号を送信する。それに加えて、通信デバイス間の伝播時間期間は、基準クロックタイミングに従って規定される所与の時刻と、同期信号が有効に受信される時刻との間の差を増加させる。したがって、同期期間は、通信デバイスが同期信号を送信することを可能にするように規定され、この同期期間は、分散コンセンサスベース同期の結果として生じる不整合、伝播時間期間、及びスマートメーターの発振器の性能の許容誤差に起因して起こり得る、クロックドリフトを考慮に入れた所与の時刻周辺のマージンに対応する。
【０１０２】
ステップＳ６０３が実行されると、アルゴリズムは終了する。
【０１０３】
ステップＳ６０４において、スマートメーター１２０は、自身の近隣デバイスのうちの少なくとも１つから同期信号を受信する。これらの同期信号は、上記近隣デバイスがステップＳ６０３を実行したときに当該該近隣デバイスによって送信された信号である。
【０１０４】
次のステップＳ６０５において、スマートメーター１２０は、自身の近隣デバイスから受信された同期信号の結果として得られるクロックタイミングと、自身のクロックタイミングとの間の相対クロックタイミング差を求める。この相対クロックタイミング差は、以下のように表される。
【数７】
0005992233.tif 000008
ここで、
ｋは、着目しているスマートメーターのインデックスであり、
ｔk,n-1は、アルゴリズムのｎ−１回目の繰り返しにおける着目しているスマートメーターのクロックタイミングであり、
εkは、着目しているスマートメーターのクロックドリフトであり、
τk,jは、着目しているスマートメーターとｊ番目のスマートメーターとの間の伝播遅延である。
【０１０５】
次のステップＳ６０６において、スマートメーター１２０は、ステップＳ６０５において求められた相対クロックタイミング差に基づいて、自身のクロックタイミングを更新する。換言すれば、スマートメーター１２０は、自身のクロックタイミングと自身の近隣デバイスから観察されるクロックタイミングとの間のコンセンサスに対応する値と一致するように、自身のクロックタイミングを調整する。
【０１０６】
次のステップＳ６０７において、スマートメーター１２０は、ステップＳ５０４においてコンセントレータデバイス１１０によって送信された補正情報を受信する。
【０１０７】
次のステップＳ６０８において、スマートメーター１２０は、受信された補正情報に基づいて、自身のクロックタイミングを更新する。換言すれば、スマートメーター１２０は、コンセントレータデバイス１１０から受信された補正情報に対応する補正値を用いて、自身のクロックタイミングを調整する。
【０１０８】
例えば、スマートメーターの自身のクロックタイミングの更新は、次のように実行することができる。
【数８】
0005992233.tif 000009
ここで、
ｋは、着目しているスマートメーターのインデックスであり、
ξは、コンセントレータデバイス１１０から受信される補正情報に対応する補正値である。
【０１０９】
次のステップＳ６０９において、スマートメーター１２０は、受信された補正情報を、無線メッシュ通信ネットワーク１００内の自身の近隣スマートメーターに中継する。
【０１１０】
補正情報が中継されるメッセージ又はパケット又はフレームフィールドは、好ましくは補正情報識別子を含む。これによって、同じ補正情報が無線メッシュ通信ネットワーク内でループするのが回避される。通信デバイスは、既に受信された識別子を有する補正情報を受信した場合、その補正情報を廃棄して中継しない。
【０１１１】
ステップＳ６０７〜Ｓ６０９は、ステップＳ６０１〜Ｓ６０６と並列に実行することができることに留意されたい。
【０１１２】
補正値は、スマートメーターの自身のクロックタイミングに対して徐々に適用することができることに留意されたい。これは、サイクル長の変動を平滑化するために、補正を幾つかのクロックサイクルにわたって分散させることができることを意味する。
【０１１３】
図５及び図６のアルゴリズムから、コンセントレータデバイス１１０を除く無線メッシュ通信ネットワーク１００の全ての通信デバイスが、同期信号を送信することによって分散コンセンサスベース同期に参加し、それに従ってそれらの通信デバイスの各内部クロックタイミングを更新することを理解することができる。コンセントレータデバイス１１０は、分散コンセンサスベース同期に参加せず、同期信号を送信せず、自身の内部クロックタイミングを更新しない。しかしながら、コンセントレータデバイス１１０は、分散コンセンサスベース同期の結果得られるクロックタイミングにおける基準クロックと比較したあらゆるドリフトを回避するために、スマートメーター１２０ｉ（ｉ＝ａ，ｂ，．．．，ｇ）によって実行される分散コンセンサスベース同期の進展を観察し、補正情報をブロードキャストする。
【０１１４】
仮に、コンセントレータデバイス１１０が、自身の順番において同期信号を送信することによって分散コンセンサスベース同期に参加すると、通信デバイスは、実質的に同一のクロックタイミングに向けて収束するが、そのクロックタイミングはクロックドリフトを受けることになり、その結果、送信周波数がシフトする場合がある。コンセントレータデバイス１１０は、分散コンセンサスベース同期の結果として生じるクロックタイミングのあらゆるドリフトを回避するために、スマートメーター１２０ｉ（ｉ＝ａ，ｂ，．．．，ｇ）によって実行される分散コンセンサスベース同期の進展を観察し、補正情報をブロードキャストすることによって、そのような送信周波数のシフトを回避することを可能にし、デバイスクロックタイミングの整合を確実にすることを可能にし、したがって、通信ネットワークの全体的な性能を向上させることを可能にする。
【０１１５】
図７は、通信ネットワーク２００のコンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃによって実行される、同期及びクロックドリフト補償を実行するアルゴリズムを概略的に表している。このアルゴリズムがコンセントレータデバイス１１０ａによって実行される場合を考えることにする。
【０１１６】
図７のアルゴリズムは、好ましくは、予め規定された時間期間に基づいて繰り返される。
【０１１７】
ステップＳ７０１において、クラスタ１００ａが図１の無線メッシュ通信ネットワーク１００に対応すると考えた場合、コンセントレータデバイス１１０ａは、自身の近隣デバイス、すなわちスマートメーター１２０ａ及び１２０ｂから同期信号を受信する。これらの同期信号は、図６に関連して既に詳述したように、スマートメーター１２０ｉ（ｉ＝ａ，ｂ，．．．，ｇ）によって実行される分散コンセンサスベース同期の結果として得られる。これらの同期信号によって、コンセントレータデバイス１１０ａは、スマートメーター１２０ｉによって実行される分散コンセンサスベース同期の結果として得られるクロックタイミングを求めることが可能になる。
【０１１８】
換言すれば、コンセントレータデバイス１１０ａは、クラスタ１００ａのスマートメーターによって実行される分散コンセンサスベース同期の経過を観察する。
【０１１９】
次のステップＳ７０２において、コンセントレータデバイス１１０ａは、スマートメーター１２０ｉによって実行された分散コンセンサスベース同期の結果として得られたクロックタイミングと基準クロックタイミングとの間の相対クロックタイミング差を求める。基準クロックタイミングは、ＧＰＳによって与えられる外部クロックから導出することができる。基準クロックタイミングを規定する別の手法は、図１０及び図１１に関連して後に詳述する。基準クロックタイミングを規定する更に別の手法は、図１２及び図１３に関連して後に詳述する。
【０１２０】
次のステップＳ７０３において、コンセントレータデバイス１１０ａは、ローカル補正情報を取得する。ローカル補正情報は、図１の無線メッシュ通信ネットワーク１００の範囲でステップＳ５０３において取得された補正情報に対応する。換言すれば、ローカル補正情報は、求められたクロックタイミング差から導出される。
【０１２１】
次のステップＳ７０４において、コンセントレータデバイス１１０ａは、取得されたローカル補正情報をサーバデバイス２３０に送信する。
【０１２２】
次のステップＳ７０５において、コンセントレータデバイス１１０ａは、サーバデバイス２３０からグローバル補正情報を受信する。図８に関連して後に詳述するように、グローバル補正情報は、クラスタ１００ａ、１００ｂ、１００ｃの各分散コンセンサスベース同期の結果として得られたクロックタイミングと基準クロックタイミングとの間の差から導出される。
【０１２３】
次のステップＳ７０６において、コンセントレータデバイス１１０ａは、受信されたグローバル補正情報をクラスタ１００ａ全体にわたって送信する。換言すれば、クラスタ１００ａが図１の無線メッシュ通信ネットワーク１００に対応すると考えた場合には、コンセントレータデバイスは、グローバル補正情報を、自身の近隣デバイス、すなわちスマートメーター１２０ａ及び１２０ｂに送信する。次に、スマートメーター１２０ａ及び１２０ｂは、コンセントレータデバイス１１０ａを除く自身の各近隣デバイス、すなわちスマートメーター１２０ｃ及び１２０ｄに補正情報を中継し、以下同様に中継が行われる。
【０１２４】
図８は、通信ネットワーク２００のサーバデバイス２３０によって実行される、同期及びクロックドリフト補償を実行するアルゴリズムを概略的に表している。図８のアルゴリズムは、図７のアルゴリズムと共に実行される。
【０１２５】
図８のアルゴリズムが開始されると、サーバデバイス２３０は、コンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃからローカル補正情報が受信されるのを待つ。
【０１２６】
ステップＳ８０１において、サーバデバイス２３０は、各コンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃからローカル補正情報を受信する。換言すれば、サーバデバイス２３０は、クラスタ１００ａ用にコンセントレータデバイス１１０ａによって求められたローカル補正情報と、クラスタ１００ｂ用にコンセントレータデバイス１１０ｂによって求められたローカル補正情報と、クラスタ１００ｃ用にコンセントレータデバイス１１０ｃによって求められたローカル補正情報とを受信する。
【０１２７】
次のステップＳ８０２において、サーバデバイス２３０は、全てのクラスタ１００ａ、１００ｂ、及び１００ｃ内に適用されることになるグローバル補正情報を求める。グローバル補正情報は、受信されたローカル補正情報を組み合わせた結果得られる。例えば、グローバル補正情報は、受信されたローカル補正情報の値の算術平均であるか、又は、グローバル補正情報は、受信されたローカル補正情報の値の加重平均である。各ローカル補正情報に適用される重みは、対応するクラスタ１００ａ、１００ｂ、１００ｃ内の通信デバイスの数に基づくか、又は対応するコンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃの近隣デバイスの数に基づいて求められる。
【０１２８】
次のステップＳ８０３において、サーバデバイス２３０は、求められたグローバル補正情報を各コンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃに送信する。
【０１２９】
したがって、コンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃは、それぞれのクラスタ１００ａ、１００ｂ、１００ｃ全体にわたって同一のグローバル補正情報を送信するので、通信ネットワーク２００の全てのスマートメーターは、自身のクロックタイミングに対して同一の補正情報を適用する。この手法は、クラスタ１００ａ、１００ｂ、１００ｃが互いに十分近く、その結果、或るクラスタの少なくとも１つのスマートメーターが別のクラスタの少なくとも１つのスマートメーターから同期信号を受信することができ、自身のクラスタの分散コンセンサスベース同期において、これらの同期信号を更に考慮に入れるときに特に適している。
【０１３０】
次に、サーバデバイス２３０は、コンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃから更新されたローカル補正情報が受信されるのを待つ。
【０１３１】
図９は、通信ネットワーク２００のコンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃによって実行される、同期及びクロックドリフト補償を実行する別のアルゴリズムを概略的に表している。このアルゴリズムがコンセントレータデバイス１１０ａによって実行される場合を考える。
【０１３２】
図９のアルゴリズムは、好ましくは、予め規定された時間期間に基づいて繰り返される。
【０１３３】
ステップＳ９０１において、クラスタ１００ａが図１の無線メッシュ通信ネットワーク１００に対応すると考えた場合、コンセントレータデバイス１１０ａは、自身の近隣デバイス、すなわちスマートメーター１２０ａ及び１２０ｂから同期信号を受信する。これらの同期信号は、図６に関連して既に詳述したように、スマートメーター１２０ｉ（ｉ＝ａ，ｂ，．．．，ｇ）によって実行される分散コンセンサスベース同期の結果として得られる。これらの同期信号によって、コンセントレータデバイス１１０ａは、スマートメーター１２０ｉによって実行される分散コンセンサスベース同期の結果として得られるクロックタイミングを求めることが可能になる。
【０１３４】
換言すれば、コンセントレータデバイス１１０ａは、クラスタ１００ａのスマートメーターによって実行される分散コンセンサスベース同期の経過を観察する。
【０１３５】
次のステップＳ９０２において、コンセントレータデバイス１１０ａは、スマートメーター１２０ｉによって実行された分散コンセンサスベース同期の結果として得られたクロックタイミングと、基準クロックタイミングとの間の相対クロックタイミング差を求める。基準クロックタイミングは、ＧＰＳによって提供される外部クロックから導出することができる。
【０１３６】
次のステップＳ９０３において、コンセントレータデバイス１１０ａは、ローカル補正情報を取得する。ローカル補正情報は、図１の無線メッシュ通信ネットワーク１００の範囲でステップＳ５０３において取得された補正情報に対応する。換言すれば、ローカル補正情報は、求められたクロックタイミング差から導出される。
【０１３７】
次のステップＳ９０４において、コンセントレータデバイス１１０ａは、取得されたローカル補正情報を他のコンセントレータデバイス１１０ｂ、１１０ｃに送信する。
【０１３８】
次のステップＳ９０５において、コンセントレータデバイス１１０ａは、他のコンセントレータデバイス１１０ｂ、１１０ｃから他のローカル補正情報を受信する。換言すれば、コンセントレータデバイス１１０ａは、クラスタ１００ｂ用にコンセントレータデバイス１１０ｂによって求められたローカル補正情報と、クラスタ１００ｃ用にコンセントレータデバイス１１０ｃによって求められたローカル補正情報とを受信する。
【０１３９】
次のステップＳ９０６において、コンセントレータデバイス１１０ａは、全てのクラスタ１００ａ、１００ｂ、及び１００ｃ内に適用されることになるグローバル補正情報を求める。グローバル補正情報は、ステップＳ８０２においてサーバデバイス２３０によって実行されるたのと同様に、受信されたローカル補正情報を組み合わせた結果として得られる。
【０１４０】
全てのコンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃは、同一のプロセスを実行してグローバル補正情報を求める。したがって、同一のグローバル補正情報が、全てのクラスタ１００ａ、１００ｂ、及び１００ｃ内で適用される。
【０１４１】
次のステップＳ９０７において、コンセントレータデバイス１１０ａは、求められたグローバル補正情報をクラスタ１００ａ全体にわたって送信する。換言すれば、クラスタ１００ａが図１の無線メッシュ通信ネットワーク１００に対応すると考えた場合には、コンセントレータデバイス１１０ａは、自身の近隣デバイス、すなわちスマートメーター１２０ａ及び１２０ｂにグローバル補正情報を送信する。次に、スマートメーター１２０ａ及び１２０ｂは、コンセントレータデバイス１１０ａを除くそれぞれの近隣デバイス、すなわちスマートメーター１２０ｃ及び１２０ｄに補正情報を中継し、以下同様に中継が行われる。
【０１４２】
したがって、コンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃは、それぞれのクラスタ１００ａ、１００ｂ、１００ｃ全体にわたって同一のグローバル補正情報を送信するので、通信ネットワーク２００の全てのスマートメーターは、自身のクロックタイミングに同一の補正情報を適用する。この手法は、クラスタ１００ａ、１００ｂ、１００ｃが互いに十分近く、その結果、或るクラスタの少なくとも１つのスマートメーターが別のクラスタの少なくとも１つのスマートメーターから同期信号を受信することができ、自身のクラスタの分散コンセンサスベース同期においてこれらの同期信号を更に考慮に入れる場合に特に適している。
【０１４３】
図１０は、無線メッシュ通信ネットワーク２００のコンセントレータデバイスによって実行される、同期及びクロックドリフト補償を実行する更に別のアルゴリズムを概略的に表している。図１０に示すアルゴリズムは、図１１に示す後に詳述するアルゴリズムと共に実行される。
【０１４４】
図１０及び図１１のアルゴリズムの実行範囲において、コンセントレータデバイス１１０ａ、１１０ｂ、及び１１０ｃは、第２のレベルのメッシュ通信ネットワークを形成する。コンセントレータデバイス１１０ａ、１１０ｂ、及び１１０ｃは、好ましくは無線で相互接続されるが、光リンク又は有線によって相互接続することもできる。
【０１４５】
図１０及び図１１のアルゴリズムのグローバル原理は、コンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃ間で分散コンセンサスベース同期を用いて基準クロックタイミングを規定することである。この場合、時間又は周波数等の種々のリソースに対して適用される分散コンセンサスベース同期の２つの段階がある。第１の段階は、各クラスタ内でスマートメーターによって実行され、第２の段階は、コンセントレータデバイス間で実行される。
【０１４６】
同様の方法で、分散コンセンサスベース同期のより多くの段階を、実施することができる。
【０１４７】
１つのコンセントレータデバイスが、基準として規定、選出、又は選択される。そのコンセントレータデバイスを「基準コンセントレータデバイス」と呼ぶことにし、基準コンセントレータデバイスはコンセントレータデバイス１１０ａであると考えることにする。このとき、コンセントレータデバイス１１０ｂ、１１０ｃは、「スレーブコンセントレータデバイス」と呼ばれる。
【０１４８】
図１０のアルゴリズムは、各スレーブコンセントレータデバイス１１０ｂ、１１０ｃによって実行され、好ましくは予め規定された時間期間に基づいて繰り返される。以下の詳細な説明について、アルゴリズムは、スレーブコンセントレータデバイス１１０ｂによって実行されるものと考えることにする。
【０１４９】
ステップＳ１０００において、スレーブコンセントレータデバイス１１０ｂは、通信ネットワーク２００の他のスレーブコンセントレータデバイスと共に分散コンセンサスベース同期を実行する。スレーブコンセントレータデバイスは、同期信号を送信することによって、それぞれのクロックタイミングのビューを示す。同期信号は、予め規定された時刻に送信されると予想される。クロックタイミングのビューはコンセントレータデバイスごとに異なるので、同期信号は異なる時刻に送信され、コンセントレータデバイス間の伝播時間期間に起因して、同期信号は更に異なる時刻に受信される。分散コンセンサスベース同期の目標は、スレーブコンセントレータデバイスが同一のクロックタイミングのビューに向けて収束することである。そのために、各スレーブコンセントレータデバイスは、自身のクロックタイミングのビューを、他のスレーブコンセントレータデバイスによって示されるクロックタイミングの観察値と組み合わせる。
【０１５０】
ステップＳ１０００は、ステップＳ１００１〜Ｓ１００６によって図１０に概略的に表されたアルゴリズムに詳述される。
【０１５１】
ステップＳ１００１において、コンセントレータデバイスが半二重通信を用いる場合には、スレーブコンセントレータデバイス１１０ｂは、送信モード又は受信モードのいずれかを選択し、そうではなく、コンセントレータデバイスが全二重通信を用いる場合には、信号の送信及び信号の受信が並列に実行される。
【０１５２】
送信モードと受信モードとの間の選択は、ランダムに実行することができる。一変形形態では、送信モードと受信モードとの間の選択は、所定のシーケンスに従って行うことができる。
【０１５３】
次のステップＳ１００２において、送信モードが選択されているのか受信モードが選択されているのかが調べられる。送信モードが選択されている場合、ステップＳ１００３が実行され、そうでない場合、ステップＳ１００４が実行される。
【０１５４】
ステップＳ１００３において、スレーブコンセントレータデバイス１１０ｂは、通信ネットワーク２００内の少なくとも１つの他のスレーブコンセントレータデバイス１１０ｃに同期信号を送信する。同期信号は、自己相関特性及び相互相関特性を有する予め規定された形状及び／又は内容の信号である。送信された同期信号は、基準コンセントレータデバイス１１０ａによって受信することができる。
【０１５５】
送信された同期信号は、スレーブコンセントレータデバイス１１０ｂのクロックタイミングと整合される。換言すれば、スレーブコンセントレータデバイス１１０ｂは、基準クロックタイミングに従って規定される所与の時刻に同期信号を送信すると予想される。スレーブコンセントレータデバイス１１０ｂは、分散コンセンサスベース同期の結果によって駆動され、自身の発振器によってはそれほど大きく駆動されないので、むしろ所与の時刻ではあるが自身のクロックタイミングに従って規定される時刻に同期信号を送信する。それに加えて、コンセントレータデバイス間の伝播時間期間は、基準クロックタイミングに従って規定される所与の時刻と、同期信号が有効に受信される時刻との間の差を増加させる。したがって、同期期間は、コンセントレータデバイスが同期信号を送信することを可能にするように規定され、この同期期間は、分散コンセンサスベース同期の結果として生じる不整合と、スレーブコンセントレータの発振器の性能の許容誤差とに起因して起こり得る、クロックドリフトを考慮に入れた所与の時刻周辺のマージンに対応する。
【０１５６】
ステップＳ１００３が実行されると、アルゴリズムは終了する。
【０１５７】
ステップＳ１００４において、スレーブコンセントレータデバイス１１０ｂは、少なくとも１つの他のスレーブコンセントレータデバイス１１０ｃから同期信号を受信する。これらの同期信号は、上記スレーブコンセントレータデバイスがステップＳ１００３を実行したときに上記スレーブコンセントレータデバイスによって送信された信号である。
【０１５８】
次のステップＳ１００５において、スレーブコンセントレータデバイス１１０ｂは、上記他のスレーブコンセントレータデバイス１１０ｃから受信された同期信号の結果として得られるクロックタイミングと、自身のクロックタイミングとの間の相対クロックタイミング差を求める。
【０１５９】
次のステップＳ１００６において、スレーブコンセントレータデバイス１１０ｂは、ステップＳ１００５において求められた相対クロックタイミング差に基づいて、自身のクロックタイミングを更新する。換言すれば、スレーブコンセントレータデバイス１１０ｂは、自身のクロックタイミングと上記他のスレーブコンセントレータデバイスのクロックタイミングとの間のコンセンサスに対応する値と一致するように、自身のクロックタイミングを調整する。
【０１６０】
次のステップＳ１００７において、スレーブコンセントレータデバイス１１０ｂは、図１１に関連して後に詳述するように、ステップＳ１１０４において、基準コンセントレータデバイス１１０ａによって送信された補正情報を受信する。
【０１６１】
次のステップＳ１００８において、スレーブコンセントレータデバイス１１０ｂは、受信された補正情報に基づいて、自身のクロックタイミングを更新する。換言すれば、スレーブコンセントレータデバイス１１０ｂは、基準コンセントレータデバイス１１０ａから受信された補正情報に対応する補正値を用いて、自身のクロックタイミングを調整する。
【０１６２】
例えば、スレーブコンセントレータデバイスの自身のクロックタイミングの更新は、次のように実行することができる。
【数９】
0005992233.tif 000010
ここで、
ｎ’は、アルゴリズムの着目している繰り返しのインデックスであり、
ｋ’は、着目しているスレーブコンセントレータデバイス１１０ｂのインデックスであり、
ｔj',n'-1は、アルゴリズムのｎ’−１回目の繰り返しにおけるｊ’番目の通信デバイスのクロックタイミングであり、
Ｔ’は、アルゴリズムの２つの繰り返しの間の基準時間期間であり、
ε’j'は、ｊ’番目の通信デバイスのクロックドリフトであり、
Ω’n'（ｋ’）は、スレーブコンセントレータデバイス１１０ｂがアルゴリズムのｎ’回目の繰り返しにおいて同期信号を受信したスレーブコンセントレータデバイスのインデックスの集合であり、
τ’k',j'は、スレーブコンセントレータデバイス１１０ｂとｊ’番目のスレーブコンセントレータデバイスとの間の伝播遅延であり、
｛∀ｊ’∈Ω’n'（ｋ’），ｔj',n'-1＋ε’j'＋τ’k',j'−ｔk',n'-1｝は、アルゴリズムのｎ’回目の繰り返しにおいてスレーブコンセントレータデバイス１１０ｂによって求められる相対クロックタイミング差の集合であり、
ｇ（・）は、既述したコンビネーション関数ｆ（・）と同様に規定することができるコンビネーション関数であり、
ξ’は、基準コンセントレータデバイス１１０ａから受信される補正情報に対応する補正値である。
【０１６３】
次のステップＳ１００９において、スレーブコンセントレータデバイス１１０ｂは、受信された補正情報を通信ネットワーク２００内の他のスレーブコンセントレータデバイスに中継する。
【０１６４】
補正情報が中継されるメッセージ又はパケット又はフレームフィールドは、好ましくは補正情報識別子を含む。これによって、同一の補正情報が通信ネットワーク２００内でループすることが回避される。スレーブコンセントレータデバイスは、既に受信された識別子を有する補正情報を受信した場合、その補正情報を廃棄して中継しない。
【０１６５】
ステップＳ１００７〜Ｓ１００９は、ステップＳ１００１〜Ｓ１００６と並列に実行することができることに留意されたい。
【０１６６】
補正値は、スレーブコンセントレータデバイスの自身のクロックタイミングに徐々に適用することができることに留意されたい。これは、サイクル長の変動を平滑化するために、補正を幾つかのクロックサイクルにわたって分散させることができることを意味する。
【０１６７】
したがって、ステップＳ１００６及びＳ１００８において実行されるクロックタイミング調整は、スレーブコンセントレータデバイス１１０ｂが属するクラスタ１００ｂの基準クロックタイミングに影響を与え、その結果、図５及び図６のアルゴリズムの実行の際に伝播される補正値ξに影響を与える。
【０１６８】
図１１は、通信ネットワーク２００のコンセントレータデバイスによって実行される、同期及びクロックドリフト補償を実行する更に別のアルゴリズムを概略的に表している。図１１のアルゴリズムは、図１０のアルゴリズムと共に実行される。図１１のアルゴリズムは、基準コンセントレータデバイス１１０ａによって実行される。
【０１６９】
図１１のアルゴリズムは、好ましくは、予め規定された時間期間に基づいて繰り返される。
【０１７０】
ステップＳ１１０１において、基準コンセントレータデバイス１１０は、少なくとも１つのスレーブコンセントレータデバイス１１０ｂ、１１０ｃから同期信号を受信する。これらの同期信号は、図１０に関連して上記で詳述したように、スレーブコンセントレータデバイスによって実行される分散コンセンサスベース同期中に送信される。これらの同期信号によって、基準コンセントレータデバイス１１０ａは、スレーブコンセントレータデバイス１１０ｂ、１１０ｃによって実行される分散コンセンサスベース同期の結果として得られるクロックタイミングを求めることが可能になる。
【０１７１】
換言すれば、基準コンセントレータデバイス１１０ａは、スレーブコンセントレータデバイス１１０ｂ、１１０ｃによって実行される分散コンセンサスベース同期の経過を観察する。
【０１７２】
次のステップＳ１１０２において、基準コンセントレータデバイス１１０ａは、スレーブコンセントレータデバイス１１０ｂ、１１０ｃによって実行された分散コンセンサスベース同期の結果として得られたクロックタイミングと、通信ネットワーク２００において基準として用いられる自身のクロックタイミングとの間の相対クロックタイミング差を求める。
【０１７３】
基準クロックタイミングは、好ましくは、基準コンセントレータデバイス１１０ａの内部クロックから得られるが、外部クロックから得ることもできる。
【０１７４】
次のステップＳ１１０３において、基準コンセントレータデバイス１１０ａは、分散コンセンサスベース同期の結果として生じるクロックドリフトを補償するために、スレーブコンセントレータデバイス１１０ｂ、１１０ｃによって用いられることになる補正情報を求める。補正情報は、少なくとも、分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の差から導出される。より詳細には、通信ネットワーク２００の範囲内で、基準コンセントレータデバイス１１０ａは、分散コンセンサスベース同期の結果として生じるクロックドリフトを補償して同期を確実にするために、スレーブコンセントレータデバイス１１０ｂ、１１０ｃによって用いられることになる補正情報を、求められたクロックタイミング差から求める。
【０１７５】
クロックタイミング差をスレーブコンセントレータデバイスと組み合わせたものは、次のように表すことができる。
【数１０】
0005992233.tif 000011
ここで、基準コンセントレータデバイス１１０ａは、インデックス０を有する。
【０１７６】
基準コンセントレータデバイス１１０ａが基準クロックタイミングを提供するので、
【数１１】
0005992233.tif 000012
であることに注意されたい。
【０１７７】
換言すれば、基準コンセントレータデバイス１１０ａは、コンセントレータデバイス１１０ｂ、１１０ｃによって実行される分散コンセンサスベース同期の観察の結果として得られるクロックタイミング
【数１２】
0005992233.tif 000013
を求めるが、自身のクロックタイミングｔ0,n'が依然として基準クロックタイミングのままであるので、自身のクロックタイミングｔ0,n'を更新しない。
【０１７８】
次に、補正情報に対応する補正値ξ’が、
【数１３】
0005992233.tif 000014
によって求められる。
【０１７９】
換言すれば、補正情報は、補正値ξ’であるか、又は補正値ξ’を表す情報であるか、又はアルゴリズムの幾つかの繰り返しにわたって求められる補正値ξ’のフィルタリングされた値であるか、又はそのようなフィルタリングされた値を表す情報である。
【０１８０】
次のステップＳ１１０４において、基準コンセントレータデバイス１１０ａは、通信ネットワーク２００全体にわたって補正情報を送信する。送信される補正情報は、通信ネットワーク２００のスレーブコンセントレータデバイス１１０ｂ、１１０ｃにアドレス指定される。補正情報の伝播は、図１０に関連して上記で既に詳述したように、スレーブコンセントレータデバイスによって実行される中継によって確保される。
【０１８１】
基準コンセントレータデバイス１１０ａを除く通信ネットワーク２００の全てのコンセントレータデバイスが、同期信号を送信することによって分散コンセンサスベース同期に参加し、それに従ってそれらのコンセントレータデバイスの各内部クロックタイミング（当該コンセントレータデバイスの各クラスタにおいて基準として用いられる）を更新することが、図１０及び図１１のアルゴリズムから理解することができる。基準コンセントレータデバイス１１０ａは、分散コンセンサスベース同期に参加せず、同期信号を送信せず、自身の内部クロックタイミングを更新しない。しかしながら、基準コンセントレータデバイス１１０ａは、同期を確実にして分散コンセンサスベース同期の結果として得られるクロックタイミングにおける基準クロックと比較したあらゆるドリフトを回避するために、スレーブコンセントレータデバイス１１０ｂ、１１０ｃによって実行される分散コンセンサスベース同期の進展を観察し、補正情報をブロードキャストする。
【０１８２】
図１２は、通信ネットワーク２００の範囲における、スマートメーター１２０によって実行される、同期及びクロックドリフト補償を実行する別のアルゴリズムを概略的に表している。
【０１８３】
通信ネットワーク２００において、スマートメーターは、異なるクラスタに属する近隣デバイスを有する場合がある。そのようなスマートメーターは、自身のクラスタにおける分散コンセンサスベース同期において、他のクラスタに属する近隣スマートメーターによって送信された同期信号を考慮に入れることができることを既に述べた。
【０１８４】
したがって、そのようなスマートメーターは、そのような他のクラスタ内で伝播された補正情報を受信する状態にあることができる。これによって、そのようなスマートメーターは、上記他のクラスタの分散コンセンサスベース同期に参加する状態にあることが可能になる。それに加えて、そのようなスマートメーターは、上記他のクラスタの分散コンセンサスベース同期の結果として得られる自身のクロックタイミングのビューを表す同期信号を生成することができ、そのような他のクラスタ内で伝播される補正情報を更に中継することができる。
【０１８５】
この手法によれば、通信ネットワーク２００の全てのスマートメーターは、当該通信ネットワーク２００の任意のクラスタ１００ａ、１００ｂ、１００ｃの分散コンセンサスベース同期に参加する状態にある。この手法は、通信ネットワーク２００のコンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃ間に直接的な通信がない場合、及び全ての上記コンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃのための共通の外部基準クロックタイミングがない場合に、特に役に立つ。
【０１８６】
図１２のアルゴリズムは、ステップＳ６００から開始され、ステップＳ６００において、スマートメーター１２０は、所与のクラスタ１００ａ、１００ｂ、又は１００ｃについて、通信ネットワーク２００の他のスマートメーターと共同で分散コンセンサスベース同期を実行する。
【０１８７】
次のステップＳ１２０１において、スマートメーター１２０は、自身のクラスタ内の近隣スマートメーター、又は別のクラスタの近隣通信デバイスのいずれかから、所与のクラスタ１００ａ、１００ｂ、又は１００ｃの補正情報を受信する。
【０１８８】
次のステップＳ１２０２において、スマートメーター１２０は、受信された補正情報に基づいて、所与のクラスタ１００ａ、１００ｂ、又は１００ｃのクロックタイミングを更新する。
【０１８９】
次のステップＳ１２０３において、スマートメーター１２０は、受信された補正情報を自身の近隣通信デバイスに中継する。
【０１９０】
次のステップＳ１２０４において、スマートメーター１２０は、全てのクラスタについて分散コンセンサスベース同期が実行されたか否かを調べる。実行された場合、ステップＳ１２０５が実行され、そうでない場合、ステップＳ６００が別のクラスタについて繰り返される。
【０１９１】
ステップＳ１２０５において、スマートメーター１２０は、自身のクラスタを代表するクロックタイミング、すなわち、通信ネットワーク２００の全てのスマートメーターによって実行される分散コンセンサスベース同期の結果として自身が属するクラスタについて得られたクロックタイミングに、自身の通信を整合させる。
【０１９２】
換言すれば、スマートメーター１２０は、通信ネットワーク２００の全てのスマートメーターによって実行される分散コンセンサスベース同期の結果として自身が属するクラスタについて得られたクロックタイミングを通信に用い、また、スマートメーター１２０は、通信ネットワーク２００の全てのスマートメーターによって実行される分散コンセンサスベース同期用の少なくとも１つの他のクラスタについての同期信号も送信する。同期信号は、所与のクラスタについて実行される分散コンセンサスベース同期の結果として得られており、別のクラスタについて実行される分散コンセンサスベース同期の結果として得られた同期信号とアプリオリに整合されていない。同期、すなわち整合は、図１３に関連して後に詳述するように、コンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃによって実行されるプロセスによって実際に達成される。
【０１９３】
ステップＳ６００及びＳ１２０１〜Ｓ１２０３は、クラスタ１００ａ、１００ｂ、１００ｃごとに独立して並列に実行することができることに留意されたい。その後、ステップＳ１２０５が、分離されたプロセスにおいて、又は上記スマートメーター１２０が属するクラスタについてのステップＳ６００及びＳ１２０１〜Ｓ１２０３の実行と連続して実行される。
【０１９４】
図１３は、通信ネットワーク２００のコンセントレータデバイスによって実行される、同期及びクロックドリフト補償を実行する更に別のアルゴリズムを概略的に表している。図１３のアルゴリズムは、図１２のアルゴリズムと共に実行される。図１３のアルゴリズムがコンセントレータデバイス１１０ａによって実行されることを考える。
【０１９５】
図１３のアルゴリズムは、好ましくは、予め規定された時間期間に基づいて繰り返される。
【０１９６】
ステップＳ１３０１において、コンセントレータデバイス１１０ａは、自身の近隣デバイスから同期信号を受信する。これらの同期信号は、図１２に関連して上記で詳述したように、通信ネットワーク２００のスマートメーターによって実行される分散コンセンサスベース同期中に送信される。これらの同期信号によって、コンセントレータデバイス１１０ａは、クラスタ１００ａ、１００ｂ、１００ｃごとに通信ネットワーク２００のスマートメーターによって実行される分散コンセンサスベース同期の結果として得られるクロックタイミングを求めることが可能になる。
【０１９７】
換言すれば、コンセントレータデバイス１１０ａは、以下のように表されるタイミング不整合を測定することによって、通信ネットワーク２００のスマートメーターによって所与のクラスタ１００ａ、１００ｂ、又は１００ｃについて実行される分散コンセンサスベース同期の経過を観察する。
【数１４】
0005992233.tif 000015
ここで、コンセントレータデバイス１１０ａはインデックス０を有し、ｎは、所与のクラスタ１００ａ、１００ｂ、又は１００ｃについてのアルゴリズムの着目中の繰り返しのインデックスである。
また、ここで、
ｔj,n-1は、所与のクラスタ１００ａ、１００ｂ、又は１００ｃについてのアルゴリズムのｎ−１回目の繰り返しにおけるｊ番目の通信デバイスのクロックタイミングであり、
εjは、所与のクラスタ１００ａ、１００ｂ、又は１００ｃについてのクロックタイミングに対応するｊ番目の通信デバイスのクロックドリフトであり、
τ0,jは、コンセントレータデバイス１１０ａとｊ番目の通信デバイスとの間の伝播遅延である。
【０１９８】
次のステップＳ１３０２において、コンセントレータデバイス１１０ａは、スマートメーターによって実行される所与のクラスタ１００ａ、１００ｂ、又は１００ｃについての分散コンセンサスベース同期の結果として得られるクロックタイミングと基準クロックタイミングとの間の相対クロックタイミング差を求める。
【０１９９】
次のステップＳ１３０３において、コンセントレータデバイス１１０ａは、全てのクラスタについての分散コンセンサスベース同期が観察されたか否かを調べる。観察された場合、ステップＳ１３０４が実行され、そうでない場合、ステップＳ１３０１が別のクラスタについて繰り返される。
【０２００】
ステップＳ１３０４において、コンセントレータデバイス１１０ａは、各クラスタ１００ａ、１００ｂ、１００ｃについて、ステップＳ１３０２において求められた相対クロック差に基づいて基準クロックタイミングを調整する。換言すれば、コンセントレータデバイス１１０ａは、基準クロックタイミングと、通信ネットワーク２００のスマートメーターによって実行される全てのクラスタ１００ａ、１００ｂ、１００ｃについての分散コンセンサスベース同期の結果として得られたクロックタイミングとを組み合わせたものによって、基準クロックタイミングを調整する。
【０２０１】
次のステップＳ１３０５において、コンセントレータデバイス１１０ａは、同期を確実にすると共に自身のクラスタ１００ａについて実行された分散コンセンサスベース同期の結果として生じたクロックドリフトを補償するために、スマートメーター１２０ｉ（ｉ＝ａ，ｂ，．．．，ｇ）によって用いられることになる補正情報を取得する。補正情報は、図５に関連して上記で既述したように求められる補正値ξに対応する。補正情報は、コンセントレータデバイス１１０ａの自身のクラスタ１００ａについての分散コンセンサスベース同期の結果として得られたクロックタイミングと調整された基準クロックタイミングとの間の差から導出される。
【０２０２】
換言すれば、コンセントレータデバイス１１０ａは、同期を確実にすると共に、自身のクラスタ１００ａについて実行された分散コンセンサスベース同期と、自身のクラスタ１００ａについて実行された分散コンセンサスベース同期の結果として得られた同期信号と、別のクラスタ１００ａ、１００ｂについて実行された分散コンセンサスベース同期と、の結果として生じるクロックドリフトを補償するために、スマートメーター１２０ｉ（ｉ＝ａ，ｂ，．．．，ｇ）によって用いられることになる補正情報を取得する。
【０２０３】
次のステップＳ１３０６において、コンセントレータデバイス１１０ａは、自身のクラスタ全体にわたって補正情報を送信し、したがって、通信ネットワーク２００全体にわたって補正情報を送信する。換言すれば、図２に示す通信ネットワーク２００を考えると、補正情報は、クラスタ１００ａからクラスタ１００ｂ、１００ｃに向けてスマートメーターによって中継される。
【０２０４】
図１２及び図１３のアルゴリズムを実行することによって、コンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃは、共通の外部基準クロックタイミングを共有していないにもかかわらず、同一の基準クロックタイミングに向かって収束することができる。確かに、スマートメーターは、各クラスタ１００ａ、１００ｂ、１００ｃの分散コンセンサスベース同期に参加するので、スマートメーターがそれぞれ属するクラスタが何であろうと、コンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃは、上記分散コンセンサスベース同期の経過を観察することができ、したがって、他のコンセントレータデバイスによって用いられる基準クロックタイミングに関係した情報を取得することができる。その後、コンセントレータデバイス１１０ａ、１１０ｂ、１１０ｃは、これらの観察に基づいてそれぞれの基準クロックを調整することができ、同一の基準クロックタイミングに向けたコンセンサスを見つけることができ、したがって、通信ネットワーク２００の全体的な性能を改善することができる。
【図１】
0005992233.tif 000016
【図２】
0005992233.tif 000017
【図３ａ】
0005992233.tif 000018
【図３ｂ】
0005992233.tif 000019
【図４】
0005992233.tif 000020
【図５】
0005992233.tif 000021
【図６】
0005992233.tif 000022
【図７】
0005992233.tif 000023
【図８】
0005992233.tif 000024
【図９】
0005992233.tif 000025
【図１０】
0005992233.tif 000026
【図１１】
0005992233.tif 000027
【図１２】
0005992233.tif 000028
【図１３】
0005992233.tif 000029