JP2017513285A - 時間同期チャネルホッピングネットワークにおけるクロックドリフト補償 - Google Patents
時間同期チャネルホッピングネットワークにおけるクロックドリフト補償 Download PDFInfo
- Publication number
- JP2017513285A JP2017513285A JP2016553383A JP2016553383A JP2017513285A JP 2017513285 A JP2017513285 A JP 2017513285A JP 2016553383 A JP2016553383 A JP 2016553383A JP 2016553383 A JP2016553383 A JP 2016553383A JP 2017513285 A JP2017513285 A JP 2017513285A
- Authority
- JP
- Japan
- Prior art keywords
- node
- drift
- clock
- network
- compensation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0037—Delay of clock signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
- H04W56/0015—Synchronization between nodes one node acting as a reference for the others
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/003—Arrangements to increase tolerance to errors in transmission or reception timing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
時間同期ネットワーク中のノード間のクロックドリフトを補償するための種々の実施形態を開示する。ノードは、上記ネットワーク内で、親ノードから時間同期情報を受信する。上記時間同期情報に基づいて、上記ノードのクロックと親ノードのクロックとの間のドリフトを決定する。上記ノードは、親ノードから伝送された前回の時間同期情報に基づいて、最後の時間同期の実施以降のネットワークのタイムスロットの数を識別する。補償間隔を算出する。この補償間隔は、上記ノードのクロックが親ノードに対してある既定義の補償値だけ偏移するタイムスロットの数を表す。上記ノードは、上記補償間隔に従って、上記タイムスロットのうちの1つを上記補償値だけ補償する。【選択図】図4
Description
本出願は、2014年2月21日出願の米国仮特許出願第61/943,176号に対する優先権を主張するものであり、その内容は参照により本明細書に援用される。
IEEE802.15.4eに定義されているような時間同期チャネルホッピング(time synchronous channel hopping:TSCH)ネットワークでは、ネットワーク通信は定義されたタイムスロット内で実行されるため、ネットワークのノードを互いに同期する必要がある。あるノードとその親ノードといった2つのノードにおいて、それらの電子ハードウェアの仕様の許容誤差に起因するドリフトが時間と共に生じることがある。ノードが高精度の発振器を使用している場合は、そのドリフトが小さくなり得る。しかしある時点において、ネットワークの安定性及び性能に悪影響を与え、ネットワーク障害を発生させる程度に、累積的なドリフトが大きくなる。
本発明の種々の態様は、時間同期ネットワークにおいて、あるノードとその親ノードとの間に通信リンクを確立するために使用される無線のクロック間のドリフトを補償することに関する。一態様では、ネットワーク内で、あるノードが親ノードから時間同期情報を受信する。このネットワークは、IEEE802.15.4eに定義されているようなTSCHネットワークであってよい。上記ノードは、上記時間同期情報に基づいて、それ自体のクロックと親ノードのクロックとの間のドリフトを決定する。上記ノードは、親ノードから伝送された前回の時間同期情報に基づいて、最後の時間同期の実施以降のネットワークのタイムスロットの数を識別することにより、上記ドリフトの補償を開始してよい。いくつかの実施形態では、上記ノードは、ドリフトの補償を開始する前に、ドリフトが既定義のしきい値以上であるかどうかを決定する。
続いてこのノードは、このノードのクロックが親ノードに対して偏移するタイムスロットの数を表す補償間隔を、補償値によって計算する。そしてこのノードは、上記補償間隔に従って、タイムスロットのうちの1つ又は複数を上記補償値で補償する。このノードは、後続のドリフトが既定義のしきい値以上であると決定されるまで、補償値及び補償間隔を用いてドリフトの補償を続けてよい。ドリフトが再びしきい値以上になれば、このノードは、最近のドリフト値に基づいて新しい補償間隔を決定する動作を繰り返してよい。
本開示の多数の態様は、以下の図面を参照するとより良好に理解できる。図面中の構成要素は、必ずしも一定の縮尺ではなく、むしろ本開示の原理を明確に説明することに重点が置かれている。またこれらの図面において、同様の参照番号は複数の図面を通して対応する部分を指示している。
本開示の技術は、TSCHネットワークのような時間同期ネットワーク内のノード間のクロックドリフトを補償することを目指している。このような補償は、複数のノードが、あるノードとその親ノードとの間のクロックドリフトを低減するために、上記ノード間の無線リンクにおいて使用される選択されたタイムスロットを調整することにより達成できる。例えば、各ノードは、通信可能な他のノード(一般に隣接ノードと呼ばれる)を取得又は識別でき、また通信を容易にするために、これらのノードに関する所定の情報及び性能メトリックを取得できる。ノードはこのメトリックを用いて、識別した各ノードにスコアを付けることにより、情報を目的地まで送るために、及びメッセージを受信するために、上記識別したノードのうちのどれが最良の選択肢を提供するかを、すなわち、親ノードを決定する。親ノードを識別したノードは、これと同じものを指して、上記親ノードの子ノードと呼ぶことができる。
上述のように他のノードを識別してこれらのノードとの通信リンクを確立することにより、各ノードはそれ自体のノードのネットワークを確立し、上記ネットワークを活用して、メッシュネットワーク内で情報を送信及び受信できる。あるノードは、その親ノードに頼って、例えば中央ノード又は他のノードからのメッセージを受信できる。ノードはその親ノードまで辿ることができるが、通信リンクを確立するために各ノードが使用する無線装置は、上記無線装置が使用するクロック間のクロックドリフト(又は単に「ドリフト」と呼ばれる)の結果として、非同調状態となり得る。ノードがそのクロックを同期するために使用できる時間同期情報は、1つ又は複数のメッセージ伝送を使用して、ノードの間で共有してよい。一例としてビーコンがあるが、時間同期情報は他の種類のメッセージで搬送してよい。
しかしながら、時間同期情報の頻繁な伝送や、頻繁なクロック同期をノードに要求することに関連する処理オーバーヘッドには、追加電力の使用が必要となり、これは例えば、いくつかのメッシュネットワークで使用されるバッテリ駆動のノードのような低電力使用環境には、有害となり得る。時間同期情報への依存及び頻繁な同期動作を低減するために、本明細書における実装形態は、あるノードが親ノードとの通信リンクにおいて選択したタイムスロットのスロット幅を調整することに重点を置く。
この目的のために、例示的な実施形態では、時間同期情報が親ノードから受信されると、あるノードとその親ノードとの間のドリフトが決定される。ドリフトがしきい値を超えている場合は、選択されたタイムスロットのスロット幅を所定の補償値で調整することにより、ドリフトが次回の時間同期情報の受信時に低減される。所定の補償値の一例は、ノードの発振器のクロック単位に相当する。本発明では、スロット幅を決定された補償間隔で僅かに変更し、ドリフトが再びドリフトしきい値を超えた場合には、新しい調整パラメータ(例えば補償間隔、補償値等)を算出してよい。このようにして、ネットワーク層を通した伝播のための連続的な時間調整の必要が最小化される。
本明細書において定義すると、「ノード」は、メッシュネットワーク内でのメッセージの配信に関する機能を実行できるインテリジェントデバイスを含む。一つのシステムにおいて、ノードは、家又はアパートのような施設に配置されて、ガス、水道又は電力のような公共サービスの消費量を測定するメーターとすることができる。このようなメーターは高度メータリングインフラストラクチャ(AMI)、無線周波数(RF)ネットワークの一部であってもよい。ノードの他の例は、ネットワークに接続され、通信チャネルを介して情報の送信、受信又は転送を行うことができる、ルータ、コレクタ若しくは収集ポイント、ホストコンピュータ、ハブ又はその他の電子デバイスを含む。
ノードは、本発明の実装形態内でノードが機能できるようにする、いくつかの構成要素を含む。例えばノードは、メッシュネットワークにおける類似のノード及び/又は他の装置との通信を可能にする無線装置を含むことができる。各ノードの無線装置は、上記無線装置が、本明細書に記載の本発明の実装形態を提供するためのコンピュータ及びコマンド機能を実行するコンピュータのように機能することを可能にすることができる、プログラマブルロジックコントローラ(PLC)のようなデバイスを有してよい。またノードは、他のノードとの通信に関する情報を記憶するための記憶媒体も含んでよい。このような記憶媒体は例えば、メモリ、フロッピーディスク、CD−ROM、DVD、又はノードに内蔵された、若しくはネットワークを介してノードがアクセス可能な他の記憶装置を含むことができる。またノードは、計時機能を提供する水晶発振器(すなわちクロック)、及びバックアップ用電源を提供するバッテリも含んでよい。いくつかのノードがバッテリ電源のみで動作してもよい。
ノードは、種々の周波数チャネルを介して、メッシュネットワーク内の他のノードと通信できる。同じ周波数ホッピングシーケンスを共有する、すなわち周波数間を同時にホップする複数のノードは、同じ周波数を介して互いに通信できる。したがって、TSCHネットワークでは、複数のノードは異なる時点においてホップすることにより、利用可能な周波数スペクトルにおいて、例示的な実装形態によれば例えば240チャネルを介した他のノードとの通信を確立できる。ノードは、ある時間増分又は滞留時間、例えば700ミリ秒にしたがってホップでき、このときノードは、ある所与のチャネル又は周波数を介してメッセージを伝送又は受信できる。ある所与のチャネルに関する各滞留時間は複数のタイムスロットに分割され、これらのタイムスロットは集合的にスロットフレームと呼ぶことができる。本明細書に記載のチャネルは例えば、240チャネル周波数範囲内に存在し、例えば700ミリ秒といったある時間増分により分離されており、上記時間増分は周波数チャネル間の「スペース」に相当し得る。したがって、例示的な実装形態によると、メッシュネットワーク内で240の個別の通信を同時に行うことができ、各通信は別々のチャネルで行われる。このような通信は、240チャネルネットワークの全帯域幅を利用できる。
本明細書で使用する場合、「時間同期情報」は、あるメッセージ又は複数のメッセージのシーケンス中で通信される情報を指し、ノードはこの情報から、メッシュネットワーク内の他のノードと通信するための無線装置で使用されるクロックを同期できる。IEEE802.15.4eで定義されたネットワークのいくつかの実施形態では、時間同期情報をビーコンによって搬送してよい。ビーコンは、スケジュール駆動及び/又はイベント駆動に基づいて伝送してよい。
本明細書で使用する場合、「補償値」は、ある通信リンクに関するタイムスロットのスロット幅を、ノードがドリフト補償のために調整する際の、調整の時間量を指す。補償値は、ある所与のノードのために予め定義されていてよく、また補償値は、ノードが無線通信リンクのためのタイムスロットの幅を調整するのに好適な任意の小さな調整値であってよい。一実装形態では、補償値はクロック単位である。
本明細書で使用する場合、「補償間隔」は、スロット幅が補償値によって調整されることになる、規定のタイムスロットの数を指す。例えば1000という補償間隔は、1000スロット毎に1スロットのスロット幅が補償値によって調整されることを示すことになる。
ここで図面を参照すると、図1は、本明細書に記載のシステムを実装するための例示的なメッシュネットワーク10を示す。メッシュネットワーク10は、コレクタノード20及び無線ノード21−31を含むことができる。コレクタノード20は、ノードに関連付けられた施設におけるガス、水道又は電力の消費量の測定値といった情報をノード21−31がコレクタ送信する収集ポイントとして機能する。ノード21−31は前述のように、メッシュネットワークにおいて他のノードと通信するために、及び上記通信を容易にするためのインテリジェントな決定をするために、十分なネットワーキング及び計算能力を有することができる。「コレクタノード」は、少なくともノード21−31が有するものと同一の機能性及び能力を有するように構成できる。更に、コレクタノード20は、ノード21−31からの情報を記憶するために十分な記憶能力と、いくつかの実施例では、ノードから受信した情報を処理するためのより高い計算能力とを備えてよい。他の実施例では、ノードから受信した情報を処理するために、指令センタ又は他の計算デバイス(図示せず)を使用できる。
図1では、メッシュネットワーク10におけるノードの層が3つ示されている(層1、層2及び層3)。他の構成では、層はこれより少なくても多くてもよい。ノードは、コレクタノード20に対するノードの論理距離及びそのデータ伝送の信頼性といった特定の要因に基づいて、ある特定の層に関連付けることができる。要因及び/又は要因に付与された重みは、ネットワークが異なれば変化し得る。層1に位置するノードは、これらノードがコレクタノード20に対する「比較的良好な」接続を有し、コレクタノード20との通信のために仲介ノードを使用する必要がないことを指示している。より大きな番号の層に位置するノードは、少なくとも1つの仲介ノードを介してコレクタノード20と通信する。例えば、層2に位置するノードは層1の親ノードに対する子ノードであり、層3に位置するノードは層2の親ノードに対する子ノードである(すなわち、ここでは層2のノードは、異なるノードとのペアリングにおいて、親ノードとしても子ノードとしても働き得る)。したがって、層3のノードはその親である層2のノードを介してコレクタノードと通信し、層2のノードはその親である層1のノードと通信し、層1のノードはコレクタと通信する。図1は、層1のノードが層2のノードよりもコレクタノード20に近く、層2のノードが層3のノードよりもコレクタノード20に近いことを示しているが、これらの層は単に物理的な距離のみによって決定できるものではない。ノードを評価する方法によっては、層1のノードが層2のノードよりもコレクタノード20から遠くに位置してよい。
前述のように、通常動作中、メッシュネットワーク10内での通信のためにノード21−31の無線装置によって使用されるクロックは、クロックの変動及び/又は不正確さに起因する同期状態からのドリフトを生じることがある。図2にクロック同期図を示す。これは、親ノードの無線装置のためのクロック信号206と、親ノードと通信する子ノードの無線装置のためのクロック信号208との間に生じ得るドリフトの例を示している。図2のクロック同期図は、一対のノードの無線装置の間に時間と共に蓄積される典型的な不一致の例示的な結果を示している。クロック信号206、208のエッジの対応する位置の差がドリフト211を表す。
図1に戻って、本明細書において開示された技術を用いることにより、メッシュネットワーク10のノード21−31間のドリフトを最小化でき、これによってノード21−31間の長期にわたる時間同期が改善される。その結果、メッシュネットワーク10の性能及び効率を改善できる一方で、要求される時間同期動作の数を削減することによって、ノード21−31の消費電力を大幅に削減できる。時間同期情報への依存及び頻繁な同期動作を低減するために、子ノードは、タイムスロット化ネットワーク内の通信リンクのために使用されるタイムスロットのうちの1つ又は複数の幅を調整することにより、あるノードの無線装置とその親ノードの無線装置との間に観察されるドリフトを補償してよい。
この目的のために、ノード21−31がその親ノードから第1の時間同期情報を受信すると、ノード21−31は、それ自体のクロックを親ノードのクロックに同期させてよい。その後、親ノードから後続の時間同期情報を受信すると、ノード21−31はそれ自体のクロックと親ノードのクロックとの間のドリフト量を決定してよい。ドリフトがしきい値以上でない場合は、親ノードに対する調整(すなわち時間同期情報の使用)は行われない。
ある実施形態では、ドリフトがしきい値以上である場合は、ノード21−31は、時間同期情報に基づいて、最後の時間調整以降に経過した、上記ノード21−31とその親ノードとの間の通信リンクのタイムスロットの数を決定してよい。本開示において後により詳細に説明するように、最後の時間調整以降のドリフト量及び最後の時間調整以降に経過したタイムスロットの数に基づいて、ノードは、既定義の補償値に相当するドリフト量が発生したであろうタイムスロットの数、すなわち補償間隔を決定してよい。その後ノードは、補償間隔にしたがってタイムスロットを調整してよく(例えば、1000タイムスロット毎に1タイムスロットを調整してよく)、ここで各間隔内に行われる調整は補償値に等しい(例えば、1000スロット毎に1タイムスロットを4マイクロ秒だけ調整する)。この技術を用いると、ドリフトを増分制御の形で補償でき、種々のノード間の通信を混乱させ得る通信リンクのクロック生成の突然の変動を最小化できる。
例えば、200マイクロ秒のドリフトが検出され、最後の時間調整から20,000タイムスロットが経過している場合、100タイムスロット毎に平均1マイクロ秒のドリフトがあることになる。この例において、望ましい補償値が4マイクロ秒に予め定義されている場合、400タイムスロットごとに1タイムスロットを補償値4マイクロ秒だけ調整することにより、次の20,000タイムスロットに亘るドリフトに対する補償が得られることになる。上記の例におけるドリフトの補償の結果として、図3のクロック同期図は、親ノードの無線装置のためのクロック信号306と、上記親ノードと通信するノードの無線装置のためのクロック信号308との間の同期の例を示している。クロック信号306、308のエッジの対応する位置の差はドリフト311を表し、これは現在のところ、ノード間に識別可能なドリフトが存在しないことを示している。
図1に戻ると、タイムスロットに適用されるドリフト補償動作は、ドリフトが再びしきい値以上になったと判断されるまで、同一の調整パラメータを用いて続行してよい。これを実施する場合、ノードは上記動作を繰り返して、最近のドリフト値と、親ノードとの最新の時間同期以降に経過したタイムスロットの数とを用いて、新しいドリフト補償間隔を決定できる。
次に図4にはフローチャートが示されており、これは、種々の実施形態による、メッシュネットワーク10内の子ノードのための、方法400のドリフト補償動作の一例を示している。なお、図4のフローチャートは、本明細書に記載されているような方法400のドリフト補償動作を実装するために採用できる多くの異なる種類の機能的配置の一例を提供するに過ぎない。図4のフローチャートに示された動作は、メッシュネットワーク10内のあるノードがその親ノードに対して既に時間を同期した後、そのノードによって開始される。
ブロック403から開始して、ノードはその親ノードから時間同期情報を受信し、上記ノードはこの時間同期情報を用いて、それ自体のローカルクロックを親ノードのクロックと比較できる。IEEE802.15.4eに定義されているようなTSCHネットワークのいくつかの実施形態では、時間同期情報はビーコンメッセージとして具現化してよい。次にブロック406において、ノードは、上記時間同期情報を用いて、最新の時間同期の実施以降にそれ自体のクロックと親ノードのクロックとの間に生じたドリフト量を決定してよい。
続いてブロック409において、ノードは、ドリフトが既定義のドリフトしきい値を超えているか否かを判断する。非限定的な例として、ノードは既定義のドリフトしきい値を128マイクロ秒と予め定義してよく、これにより、上記ノードとその親ノードとの間のドリフトがこのドリフトしきい値以上となった場合にのみ、ドリフト補償が開始されるか又は調整される。フローチャートの説明に戻ると、ブロック409において、ドリフトがドリフトしきい値より小さい場合は、方法400はブロック421に進む。
あるいは、ドリフトがドリフトしきい値以上となった場合、ブロック412において、ノードは、メッシュネットワーク10を介して受信した時間同期情報に基づいて、最後の時間調整以降に経過した、親ノードと共有される通信リンクのタイムスロットの数を決定してよい。ある実施形態では、下記の関数を使用して、最後の時間同期以降に経過したタイムスロットの数を計算できる。
(数1)
(経過時間)・(タイムスロット周波数)=経過したスロット
(経過時間)・(タイムスロット周波数)=経過したスロット
上記の関数において、「経過時間(elapsed time)」は、時間同期情報を使用するノードによる最後の時間調整動作以降に経過した時間であり、「タイムスロット周波数(time slot frequency)」は、親ノードと子ノードとの間の通信リンクに関して生じるタイムスロットのレートであり、「経過したスロット(slots elapsed)」は、時間同期情報を用いた前回の時間調整以降に経過したタイムスロットの数である。例えば、最後の時間調整から10秒が経過しており、かつタイムスロットが毎秒40スロットの周波数で(すなわち25ミリ秒ごとに1スロット)発生する場合、最後の時間同期から400タイムスロットが経過している。
続いて、ブロック415において、ノードは、親ノードに対して観察されたドリフトを補償するために、無線通信リンクの1つ又は複数のタイムスロットがある補償値によって調整されることになる補償間隔を決定する。ある実施形態では、下記の関数を使用して、補償間隔を決定できる。
(数2)
(経過したスロット)・(補償値)/(ドリフト)=補償間隔
(経過したスロット)・(補償値)/(ドリフト)=補償間隔
上記の関数において、「経過スロット(slots elapsed)」は、最後の時間同期以降に経過したスロットの数であり、「ドリフト(drift)」は、最新の時間同期情報に基づいて子ノードと親ノードとの間に観察されるクロックドリフトの量であり、「補償値(compensation value)」は、1つ又は複数のタイムスロットを調整するべき既定義の量であり、「補償間隔(compensation interval)」は、1タイムスロットが調整されることになるタイムスロットの数である(例えば補償間隔100は、100タイムスロット毎に1タイムスロットが調整されることを意味する)。
例えば、200マイクロ秒のドリフトが検出され、最後の時間調整から20,000タイムスロットが経過している場合は、4マイクロ秒に予め定義された補償値を用いると、補償間隔は400タイムスロットとなり、これは、400タイムスロット毎に1タイムスロットが、上記補償値と等しい量だけ調整されることを意味する。一実装形態では、補償値はノードのクロック周期又はクロック単位に基づいている。
別の例として、223マイクロ秒のドリフトが検出され、最後の時間調整から5,045タイムスロットが経過している場合は、補償値として4.26マイクロ秒のクロック単位を使用すると、補償間隔は約96タイムスロットとなり、これは、96タイムスロット毎に1タイムスロットが、クロック単位と等しい量だけ調整されることを意味する。補償間隔を整数個のタイムスロット境界に揃えること(すなわち補償間隔96.375を用いない)、及び/又は他の数学的精度に関する制約の結果として、調整動作は、観察されたドリフトのすべてを正確に補償できない場合がある。本例では、96スロット毎に1タイムスロットを4.26マイクロ秒だけ補償すれば、次の5,045タイムスロットに亘って約223.9マイクロ秒を補償する結果となる。
次に、ブロック418において、ブロック415において決定された補償間隔を用いて補償を開始する前に、ノードは、受信した時間同期情報を用いて次のタイムスロットを調整して親に揃えてよく、これによりノードのクロックとその親のクロックとが再び同期される。別の時間同期を行うことにより、ノードに関するクロックを、同期された状態で開始でき、また本明細書に開示された技術を用いて、観察されたドリフトに基づいて親と子との間に予測されるドリフトにしたがって調整できる。
次にブロック421において、ノードは、補償間隔及び補償値にしたがって、選択されたタイムスロットの幅を調整することにより、親ノードのクロックとの間に観察されたドリフトの補償を開始してよい。続いて、ブロック424において、ノードは、他の時間同期情報が受信されたか否かを判断する。他の時間同期情報が受信された場合は、ノードのための方法400はブロック406に戻る。あるいは、他の時間同期情報がまだ受信されていない場合は、ブロック421において、ノードは、前回決定されたものと同一の補償間隔及び補償値を用いて、タイムスロットに適用されるドリフト補償動作を継続する。
次に、図5にブロック図が示されており、これは、無線メッシュネットワーク又は他のデータネットワーク内に、本明細書に開示された技術を実装するために使用される、ノード21−31の例を示している。
ノード21−31は、処理装置502を含むことができる。処理装置502の非限定的な例は、マイクロプロセッサ、特定用途向け集積回路(application−specific integrated circuit:ASIC)、状態機械、又は他の好適な処理装置を含む。処理装置502は、1個を含むいずれの個数の処理装置を含むことができる。処理装置502は、メモリ装置504等のコンピュータ可読媒体と通信可能に接続できる。処理装置502は、メモリ装置504に記憶されたコンピュータ実行可能なプログラム命令を実行でき、及び/又はメモリ装置504に記憶された情報にアクセスできる。
メモリ装置504は命令を記憶でき、処理装置502がこの命令を実行すると、処理装置502は本明細書に記載の動作を実行する。メモリ装置504は、コンピュータ可読命令をプロセッサに提供できる、(限定するものではないが)電子、光学、磁気又は他の記憶装置といった可読コンピュータ可読媒体である。このような光学、磁気又は他の記憶装置の非限定的な例は、1つ若しくは複数の読み出し専用メモリ(read−only memory:ROM)デバイス、1つ若しくは複数のランダムアクセスメモリ(RAM)デバイス、1つ若しくは複数の磁気ディスク、1つ若しくは複数の磁気テープ若しくは他の磁気記憶、1つ若しくは複数のメモリチップ、ASIC、1つ若しくは複数の構成されたプロセッサ、1つ若しくは複数の光学記憶デバイス、又はコンピュータプロセッサが命令を読み出すことができる任意の他の媒体を含む。命令は、任意の好適なコンピュータプログラミング言語で書かれたコードからコンパイラ及び/又はインタープリタが生成した、プロセッサ固有命令を含んでよい。好適なコンピュータプログラミング言語の非限定的な例は、C、C++、C#、VisualBasic、Java、Python、Perl、JavaScript等を含む。
ノード21−31は、ノード21−31の1つ又は複数の構成要素を通信可能に接続できるバス506を含むことができる。プロセッサ502、メモリ504及びバス506は、図5では互いに通信する個別の構成要素として示されているが、他の実装形態が可能である。例えば、プロセッサ502、メモリ504及びバス506は、プリント回路基板の構成要素、又はプログラミングコードを記憶して実行するためにノード21−31に配置できる他の好適なデバイスとすることができる。
ノード21−31はネットワークインタフェースデバイス508を含むこともできる。ネットワークインタフェースデバイス508は、アンテナ510を介して無線通信リンクのうちの1つ又は複数を確立するように構成された、送受信デバイスとすることができる。ネットワークインタフェースデバイス508の非限定的な例はRFトランシーバであり、またメッシュネットワーク10内で他のノード21−31との通信リンクを確立するための1つ又は複数の構成要素を含むことができる。
請求の対象である主題の完全な理解を提供するために、本明細書には多くの具体的な詳細を記載している。しかしながら、当業者であれば、これらの具体的な詳細を用いずに、上記請求の対象である主題を実施可能であることを理解するであろう。他の例では、請求の対象である主題を不明瞭にしないよう、当業者に公知であろう方法、装置又はシステムについては詳細に説明しなかった。
いくつかの部分は、コンピュータメモリ等の計算システムメモリ内に記憶されたデータビット又は2進ディジタル信号による動作のアルゴリズム又は記号表現の形で提供される。これらのアルゴリズムの記述又は表現は、データ処理技術分野において当業者が他の当業者に研究の実質を伝達するために使用する技術の例である。アルゴリズムは、望ましい結果へと繋がる複数の動作又は類似の処理の自己矛盾のないシーケンスである。これに関して、動作又は処理は物理量の物理操作を含む。このような量は典型的には、記憶、移動、結合、比較又はその他の操作が可能な電気又は磁気信号の形をとり得るが、必ずしもそうとは限らない。場合によっては、主に共用化のために、上述のような信号をビット、データ、数値、要素、記号、文字、項、番号、数等と呼ぶと便利であることが分かっている。しかしながら、これらの及び類似の用語はすべて、適切な物理量に対応付けられており、単に便利な標識に過ぎないことを理解すべきである。そうでないことが言明されていない限り、本明細書全体を通して、「処理(processing)」、「計算(computing)」、「算出(calculating)」、「判断・決定(determining)」及び「識別(identifying)」等の用語を使用した議論は、計算プラットフォームのメモリ、レジスタ又は他の記憶装置、送信装置若しくは表示装置内において物理的な電子又は磁気量で表されるデータを操作又は変換する、1つ又は複数のコンピュータ又は類似の電子計算装置等の計算装置の動作又は処理に関するものである。
本明細書において議論した1つ又は複数のシステムは、いずれの特定のハードウェアアーキテクチャ又は構成に限定されない。計算デバイスは、1つ又は複数の機能呼出しを条件とする結果を提供する複数の構成要素の任意の好適な配列を含むことができる。好適な計算デバイスは多目的マイクロプロセッサベースのコンピュータシステムを含み、これは、汎用計算装置から、本発明の主題の1つ又は複数の態様を実装する専用計算装置へと、計算システムをプログラム又は構成する、記憶されたソフトウェアにアクセスする。任意の好適なプログラミング言語、記述言語、又は他の種類の言語若しくは言語の組み合わせを使用して、本明細書に含まれる教示内容を、プログラミング又は計算装置の構成に使用されるソフトウェアに実装してよい。
本明細書に開示した方法の態様は、上述のような計算デバイスの動作において実行できる。上述の例で示したブロックの順番は変更でき、例えば、ブロックを並び替え、結合し、そして/又はサブブロックに分割できる。複数の特定のブロック又は処理は並列に実行できる。
本明細書における「…するよう適合される(adapted to)」又は「…するよう構成される(configured to)」の使用は、無制限かつ包括的な用語法を意図したものであり、デバイスが更なるタスク又はステップを実行するよう適合される又は構成されることを除外しない。また、「に基づく(based on)」の使用は、無制限かつ包括的であることを意図したものであり、1つ又は複数の記載された条件又は値「に基づく」処理、ステップ、計算、又はその他の動作が、実際には、記載されたもの以外の更なる条件又は値「に基づく」ものであってもよい。本明細書に含まれる表題、リスト、及び番号付与は、説明を容易にするためだけのものであり、限定を意図したものではない。
本発明の主題をその具体的な態様について詳細に説明したが、当業者は、前述の理解に到達することにより、このような態様の変更、変形及び均等物を容易に生み出すことができることが理解されるだろう。したがって、本開示は、限定ではなく例示の目的で提示されたものであり、本発明の主題に対する上述のような改変、変形及び/又は追加が、当業者にとって容易に明らかなものとして含まれていることを排除するものではないということを理解すべきである。
Claims (20)
- プロセッサによる、ネットワーク内のノードのクロックドリフト補償のための方法であって:
前記ネットワーク内で、親ノードから時間同期情報を受信するステップ;
前記時間同期情報に基づいて、前記ノードのクロックと前記親ノードのクロックとの間のドリフトを決定するステップ;
前記親ノードから受信した前回の時間同期情報に基づいて、最後の時間調整の実施以降に経過した前記ネットワークのタイムスロットの数を決定するステップ;
前記ドリフト中のクロック単位の数を算出するステップ;
前記タイムスロットの数を前記クロック単位の数で除算して補償間隔を得ることにより、前記ドリフトの1クロック単位をもたらす経過した前記タイムスロットの数を算出するステップ;及び
前記補償間隔を用いて、選択された前記タイムスロットを、1クロック単位だけ補償するステップであって、前記選択されたタイムスロットは、前記補償間隔内の1つの前記タイムスロットに対応する、ステップ
を含む、方法。 - 前記タイムスロットの数を決定するステップ、前記算出するステップ及び前記補償するステップは、前記ドリフトが既定義のしきい値以上である場合に実施される、請求項1に記載の方法。
- 後続の時間同期情報に基づいて、後続のドリフトが前記しきい値以上となるまで、前記補償するステップを繰り返すステップを更に含む、請求項2に記載の方法。
- 前記後続のドリフトが前記しきい値以上となり:
前記ノードの前記クロックの前記同期以降の、前記ネットワークの後続の前記タイムスロットの数を識別するステップ;
前記ノードの前記クロックが前記親ノードに対して1クロック単位だけ偏移する前記後続のタイムスロットの数を表す、後続の補償間隔を算出するステップ;及び
前記後続の補償間隔に従って、前記タイムスロットのうちの1つを1クロック単位だけ補償するステップ
を更に含む、請求項3に記載の方法。 - 前記後続のドリフトが前記しきい値以上となるまで、前記補償間隔を保持するステップを更に含む、請求項3に記載の方法。
- 前記ネットワークは、米国電気電子技術者協会(Institute of Electrical and Electronics Engineers:IEEE)802.15.4eによって定義される、請求項1に記載の方法。
- 前記時間同期情報は、前記ネットワーク上のビーコン中で伝送される、請求項6に記載の方法。
- 前記ノードは、前記ネットワーク中の別のノードの親ノードでもある、請求項1に記載の方法。
- ネットワークのノードデバイス中で実行可能なプログラムを実現する、非一時的コンピュータ可読媒体であって:
ノードの親ノードから前記ネットワークを介して時間同期情報を受信するコード;
前記時間同期情報に基づいて、前記ノードのクロックと前記親ノードのクロックとの間のドリフトを決定するコード;並びに
前記ドリフトが既定義のしきい値以上である場合に、前記ドリフトを補償するコードであって:
前記親ノードから受信した前回の前記時間同期情報に基づいて、最後の時間調整以降に経過した前記ネットワークのタイムスロットの数を識別するコード;
既定義の補償値に関して、前記ノードの前記クロックが前記親ノードに対して前記補償値だけ偏移する前記タイムスロットの数を算出することによって、補償間隔を決定するコード;及び
前記補償間隔及び前記補償値を用いて、選択された前記タイムスロットを前記補償間隔内で調整することにより、前記選択されたタイムスロットが前記補償値だけ調整され、前記選択されたタイムスロットは前記補償間隔内の1つの前記タイムスロットとなる、コード
を含む、コード
を備える、非一時的コンピュータ可読媒体。 - 前記ドリフトを補償する前記コードは、後続の前記時間同期情報に基づいて、後続の前記ドリフトが前記しきい値以上となるまで繰り返されるよう構成される、請求項9に記載の非一時的コンピュータ可読媒体。
- 前記補償間隔は、前記後続のドリフトが前記しきい値以上となるまで保持される、請求項9に記載の非一時的コンピュータ可読媒体。
- 前記ネットワークは、米国電気電子技術者協会(Institute of Electrical and Electronics Engineers:IEEE)802.15.4eによって定義されるメッシュネットワークである、請求項9に記載の非一時的コンピュータ可読媒体。
- 前記補償値は、前記ノードの前記クロックのクロック単位に等しい、請求項9に記載の非一時的コンピュータ可読媒体。
- 前記ノードは、前記ネットワーク中の別のノードの親ノードでもある、請求項9に記載の非一時的コンピュータ可読媒体。
- ノードであって:
プロセッサ;
ネットワーク上での通信のためのネットワークインタフェース;及び
前記ノード内で実行されるドリフト補償アプリケーションによって構成されたメモリ
を備え、
前記ドリフト補償アプリケーションは、前記ノードに:
前記ネットワークを介して、前記ノードの親ノードから時間同期情報を受信させ;
前記時間同期情報に基づいて、前記ノードのクロックと前記親ノードのクロックとの間のドリフトを決定させ;
前記ドリフトが既定義のしきい値以上である場合に、前記ドリフト補償アプリケーションは更に、前記ノードに:
前記親ノードから伝送された前回の前記時間同期情報に基づいて、最後の時間同期の実施以降の前記ネットワークのタイムスロットの数を決定させ;
前記ノードの前記クロックが前記親ノードに対して既定義の補償値だけ偏移する前記タイムスロットの数を表す、補償間隔を算出させ;また
後続の前記時間同期情報に基づいて、後続の前記ドリフトが前記しきい値以上となるまで、前記補償間隔に従って、前記タイムスロットのうちのいくつかを、前記補償値だけ補償させる、ノード。 - 前記ノードは、前記ネットワーク中の別のノードの親ノードでもある、請求項15に記載のシステム。
- 前記ノードの前記クロックに対する調整は、前記ノードの前記クロックと前記別のノードのクロックとの間のドリフトに影響を及ぼす、請求項16に記載のシステム。
- 前記後続のドリフトが前記しきい値以上となるまで、前記補償間隔を保持することを更に含む、請求項15に記載のシステム。
- 前記後続のドリフトが前記しきい値以上となり、かつ:
前記ノードの前記クロックの前記同期以降の、前記ネットワークの後続の前記タイムスロットの数を識別すること;
前記ノードの前記クロックが前記親ノードに対して前記補償値だけ偏移する前記後続のタイムスロットの数を表す、後続の補償間隔を算出すること;及び
前記後続の補償間隔に従って、前記タイムスロットのうちの1つを前記補償値だけ補償すること
を更に含む、請求項15に記載のシステム。 - 前記ネットワークは、時間同期チャネルホッピング(time synchronous channel hopping:TSCH)ネットワークである、請求項15に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461943176P | 2014-02-21 | 2014-02-21 | |
US61/943,176 | 2014-02-21 | ||
PCT/US2015/013030 WO2015126577A1 (en) | 2014-02-21 | 2015-01-27 | Clock drift compensation in a time synchronous channel hopping network |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017513285A true JP2017513285A (ja) | 2017-05-25 |
Family
ID=52469330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016553383A Pending JP2017513285A (ja) | 2014-02-21 | 2015-01-27 | 時間同期チャネルホッピングネットワークにおけるクロックドリフト補償 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9602270B2 (ja) |
JP (1) | JP2017513285A (ja) |
CA (1) | CA2937366C (ja) |
MX (1) | MX354001B (ja) |
WO (1) | WO2015126577A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9602270B2 (en) | 2014-02-21 | 2017-03-21 | Landis+Gyr Innovations, Inc. | Clock drift compensation in a time synchronous channel hopping network |
WO2015127983A1 (en) * | 2014-02-28 | 2015-09-03 | Telefonaktiebolaget L M Ericsson (Publ) | Clock synchronization with hysteresis state switching |
WO2017095882A1 (en) * | 2015-11-30 | 2017-06-08 | Landis+Gyr Innovations, Inc. | Selecting a parent node in a time-slotted channel hopping network |
US11076370B2 (en) | 2016-06-07 | 2021-07-27 | Texas Instruments Incorporated | Node synchronization for networks |
US10237008B2 (en) | 2016-06-10 | 2019-03-19 | Apple Inc. | Synchronization with different clock transport protocols |
US10404347B2 (en) * | 2016-07-13 | 2019-09-03 | Qualcomm Incorporated | Beamforming in TDD MIMO systems with asymmetric antenna configuration |
US10912051B2 (en) * | 2016-07-22 | 2021-02-02 | Fundació Per A La Universitat Oberta De Catalunya | Drift correction in a wireless network |
US10509434B1 (en) * | 2016-09-27 | 2019-12-17 | Amazon Technologies, Inc. | Oscillator profiling for time synchronization |
CN106506136B (zh) * | 2016-11-24 | 2019-05-17 | 上海市计量测试技术研究院 | 一种基于原子钟组的网络时间传输方法与装置 |
US11197222B2 (en) | 2017-02-16 | 2021-12-07 | Texas Instruments Incorporated | Systems and methods to support node mobility in wireless networks |
US10477500B2 (en) * | 2017-03-07 | 2019-11-12 | Itron Networked Solutions, Inc. | Time distribution scheme for wireless mesh networks |
IL257997B (en) | 2018-03-08 | 2019-09-26 | Connected Intelligence Systems Ltd | Method and system for synchronizing a mesh network |
US10536891B1 (en) | 2018-06-29 | 2020-01-14 | Texas Instruments Incorporated | Using estimated time drift to determine keep alive periodicity in synchronized networks |
US11089560B2 (en) * | 2019-07-15 | 2021-08-10 | Cisco Technology, Inc. | Distributed time sync in a directed acyclic graph of a time-synchronized network based on correlating timing information from higher network devices |
CN111179570B (zh) * | 2020-01-14 | 2020-11-06 | 上海辉电电力设备工程有限公司 | 一种基于hplc载波通信的低压台区采集设备时钟同步方法 |
CN114520703B (zh) * | 2020-11-19 | 2023-12-29 | 中国科学院沈阳自动化研究所 | 用于工业网络设备间时间同步的时钟漂移补偿方法及电路 |
CN113949476B (zh) * | 2021-10-08 | 2023-05-09 | 中国电子科技集团公司第三十研究所 | 基于安全时间质量的光纤时间同步网络组网方法与装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7072432B2 (en) | 2002-07-05 | 2006-07-04 | Meshnetworks, Inc. | System and method for correcting the clock drift and maintaining the synchronization of low quality clocks in wireless networks |
WO2006069067A2 (en) * | 2004-12-20 | 2006-06-29 | Sensicast Systems | Method for reporting and accumulating data in a wireless communication network |
US8059011B2 (en) * | 2006-09-15 | 2011-11-15 | Itron, Inc. | Outage notification system |
US8194636B1 (en) * | 2006-10-05 | 2012-06-05 | Dust Networks, Inc. | Adaptive timing synchronization for mesh networks |
EP2034629A1 (en) | 2007-09-05 | 2009-03-11 | Technische Universität Kaiserlautern | Method, computer program product and system for the tick synchronization of nodes in a wireless multi-hop network |
US7667577B2 (en) * | 2007-12-06 | 2010-02-23 | Simplexgrinnell Lp | Tuning algorithm for clock source frequency drift |
US8699406B1 (en) * | 2009-05-13 | 2014-04-15 | Dust Networks, Inc. | Timing synchronization for wireless networks |
US9014321B2 (en) * | 2011-10-31 | 2015-04-21 | Texas Instruments Incorporated | Clock drift compensation interpolator adjusting buffer read and write clocks |
US9602270B2 (en) | 2014-02-21 | 2017-03-21 | Landis+Gyr Innovations, Inc. | Clock drift compensation in a time synchronous channel hopping network |
-
2014
- 2014-05-08 US US14/272,582 patent/US9602270B2/en active Active
-
2015
- 2015-01-27 MX MX2016010434A patent/MX354001B/es active IP Right Grant
- 2015-01-27 WO PCT/US2015/013030 patent/WO2015126577A1/en active Application Filing
- 2015-01-27 CA CA2937366A patent/CA2937366C/en active Active
- 2015-01-27 JP JP2016553383A patent/JP2017513285A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
MX2016010434A (es) | 2016-10-31 |
US20150244513A1 (en) | 2015-08-27 |
US9602270B2 (en) | 2017-03-21 |
WO2015126577A1 (en) | 2015-08-27 |
CA2937366A1 (en) | 2015-08-27 |
CA2937366C (en) | 2020-07-14 |
MX354001B (es) | 2018-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017513285A (ja) | 時間同期チャネルホッピングネットワークにおけるクロックドリフト補償 | |
EP3533272B1 (en) | Channel structure for communication in wireless networks | |
KR101275548B1 (ko) | 무선 시스템에서의 노드 및 무선 시스템에서 노드를 시간 및 주파수 동기화하기 위한 방법 | |
CN102457371B (zh) | 时间同步方法和相关设备及系统 | |
US10028269B2 (en) | Concept for bidirectional data transmission between a base station and a node | |
JP5117507B2 (ja) | 無線通信システム、基地局間同期方法および基地局 | |
CN111511030B (zh) | 频率调整方法、装置及设备 | |
US11728943B2 (en) | Methods and apparatuses for communicating position reference signals | |
CN110557823A (zh) | 时钟同步方法、装置、终端设备、芯片及可读存储介质 | |
AU2019295486B2 (en) | Coordinating communications between nodes having asynchronous time slot schedules | |
CN106162856A (zh) | 一种无线AdHoc网络中的节点同步方法 | |
KR102351197B1 (ko) | 동기화 방법 및 액세스 포인트 | |
CN103220243B (zh) | 一种确定频偏估计值的方法和设备 | |
JP2005322982A (ja) | 周波数同期ネットワーク及び時刻同期ネットワーク、周波数同期方法及び時刻同期方法、ならびに通信局 | |
CN110430614B (zh) | 基于gps信号的基站信号同步方法、装置、设备及存储介质 | |
KR101593822B1 (ko) | 통신 서비스 제공 장치 및 그 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체와, 하드웨어와 결합되어 그 제어방법을 실행시키기 위하여 매체에 저장된 애플리케이션 | |
JP5092115B2 (ja) | 通信装置、移動体通信システム及び通信方法 | |
EP3563488B1 (en) | System, method and article for adaptive framing for tdma mac protocols | |
JP2024507999A (ja) | ネットワーク機器間の時刻同期を維持するシステムおよび方法 | |
CN117793213A (zh) | 通信协议的生成方法、装置和无线短距离通信系统 | |
KR20170109830A (ko) | 기지국 간 동기화를 위한 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170223 |