JP6254028B2 - スレーブノード及び時刻同期方法 - Google Patents
スレーブノード及び時刻同期方法 Download PDFInfo
- Publication number
- JP6254028B2 JP6254028B2 JP2014064791A JP2014064791A JP6254028B2 JP 6254028 B2 JP6254028 B2 JP 6254028B2 JP 2014064791 A JP2014064791 A JP 2014064791A JP 2014064791 A JP2014064791 A JP 2014064791A JP 6254028 B2 JP6254028 B2 JP 6254028B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- node
- master node
- master
- slave node
- 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.)
- Active
Links
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Description
図1は、本発明の時刻同期システム100のシステム構成を示す図である。本発明の時刻同期システム100は、マスターノード10(10−1及び10−2)及びスレーブノード20を備える。マスターノード10−1及びスレーブノード20は、ネットワーク30−1を介して互いに通信可能に接続される。マスターノード10−2及びスレーブノード20は、ネットワーク30−2を介して互いに通信可能に接続される。図1では、時刻同期システム100が2台のマスターノード10を備える構成を示しているが、時刻同期システム100は3台以上のマスターノード10を備えるように構成されてもよい。また、図1では、時刻同期システム100が1台のスレーブノード20を備える構成を示しているが、時刻同期システム100は2台以上のスレーブノード20を備えるように構成されてもよい。
ネットワーク30−1は、どのように構成されたネットワークでもよい。例えば、ネットワーク30−1はLAN(Local Area Network)を用いて構成されてもよい。
ネットワーク30−2は、どのように構成されたネットワークでもよい。例えば、ネットワーク30−2はLANを用いて構成されてもよい。
まず、マスターノード10の具体的な機能構成について説明する。マスターノード10は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、時刻同期用プログラムを実行する。時刻同期用プログラムの実行によって、マスターノード10は、マスタークロック生成部101、時計部102、パケット生成部103、通信部104を備える装置として機能する。なお、マスターノード10の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。また、時刻同期用プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、時刻同期用プログラムは、電気通信回線を介して送受信されてもよい。
スレーブノード20は、バスで接続されたCPUやメモリや補助記憶装置などを備え、時刻同期用プログラムを実行する。時刻同期用プログラムの実行によって、スレーブノード20は、通信部201、制御部202、同期処理部203、時計部204、算出部205、時刻補正部206を備える装置として機能する。なお、スレーブノード20の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、時刻同期用プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、時刻同期用プログラムは、電気通信回線を介して送受信されてもよい。
時計部204は、同期処理部203によって生成されたスレーブクロックに従い、スレーブ時刻を決定する。具体的には、時計部204は、スレーブノード20において何時何分何秒であるかを決める。時計部204は、スレーブ時刻の時刻情報を制御部202に出力する。
以上で、算出部205の動作についての説明を終了する。
時刻補正部206は、算出部205によって算出された時刻差平均値に基づいてスレーブ時刻を補正する。
以下、本発明の時刻同期システム100の具体的な動作例(第1動作例〜第5動作例)について説明する。
図3は、本発明の第1動作例における時刻同期処理の通信シーケンスの動作例を表すシーケンス図である。なお、図3の説明では、マスターノード10の台数が2台(マスターノード10−1、マスターノード10−2)であり、スレーブノード20の台数が1台である場合を例に説明する。
マスターノード10−1は、スレーブノード20に対して定期的にSyncメッセージを送信する(ステップS101)。マスターノード10−1は、Sync送信時刻T11を記録する(ステップS102)。次に、マスターノード10−1は、スレーブノード20に対して、Follow_upメッセージを送信する(ステップS103)。この際、マスターノード10−1は、Follow_upメッセージの中に、Sync送信時刻T11を格納する。
スレーブノード20の通信部201は、マスターノード10から送信されるSyncメッセージを受信する(ステップS201)。通信部201は、マスターノード10からSyncメッセージを受信すると、受信したSyncメッセージを制御部202に転送する。制御部202は、Syncメッセージが転送されると、時計部204を参照してSync受信時刻T2kを記録する。
一方、接続している全てのマスターノード10との間で時刻情報を取得した場合(ステップS206−YES)、制御部202は記録している、各マスターノード10との間で取得した各時刻情報(Sync送信時刻T1k、Sync受信時刻T2k、Delay送信時刻T3k、Delay受信時刻T4k)を算出部205に出力する。
本動作例では、マスターノード10の台数が2台である場合の時刻差平均値aveを算出する式(式1)を示したが、マスターノード10の台数が3台以上である場合には、算出部205は以下の式2に基づいて時刻差平均値aveを算出する。
図5は、本発明の第2動作例における時刻同期処理の通信シーケンスの動作例を表すシーケンス図である。なお、図5の説明では、マスターノード10の台数が2台(マスターノード10−1、マスターノード10−2)であり、スレーブノード20の台数が1台である場合を例に説明する。また、図3と同様の処理については、図5において図3と同様の符号を付して説明を省略する。
上述した処理によってスレーブノード20の時刻が補正される。
ステップS206までの処理が終了し、ステップS206において、全てのマスターノード10との間で時刻情報が取得された場合(ステップS206−YES)、制御部202は所定の期間T0が経過したか否か判定する(ステップS401)。所定の期間T0が経過していない場合(ステップS401−NO)、スレーブノード20はステップS201以降の処理を繰り返し実行する。
本動作例では、マスターノード10の台数が2台である場合の時刻差平均値ave1を算出する式(式10)を示したが、マスターノード10の台数が3台以上である場合には、算出部205は以下の式11に基づいて時刻差平均値ave1を算出する。
図7は、本発明の第3動作例における時刻同期処理の通信シーケンスの動作例を表すシーケンス図である。なお、図7の説明では、マスターノード10の台数が2台(マスターノード10−1、マスターノード10−2)であり、スレーブノード20の台数が1台である場合を例に説明する。また、図3と同様の処理については、図7において図3と同様の符号を付して説明を省略する。
上述した処理によってスレーブノード20の時刻が補正される。
スレーブノード20の通信部201は、マスターノード10から送信されるAnnounceメッセージを受信する(ステップS601)。通信部201は、マスターノード10からAnnounceメッセージを受信すると、受信したAnnounceメッセージを制御部202に転送する。制御部202は、Announceメッセージ中に格納されている品質情報を抽出し保持する。
算出部205は、制御部202から出力された品質情報及び各時刻情報に基づいて時刻差平均値ave2を算出する(ステップS603)。時刻補正部206は、算出された時刻差平均値ave2に基づいてスレーブ時刻を補正する(ステップS604)。
本動作例では、マスターノード10の台数が2台である場合の時刻差平均値ave2を算出する式(式16)を示したが、マスターノード10の台数が3台以上(例えば、n台)である場合には、算出部205は以下の式17に基づいて時刻差平均値ave2を算出する。
また、本動作例では、スレーブノード20が、接続している全てのマスターノード10との間で品質情報及び各時刻情報を取得した後、つまり、全てのマスターノード10との間で品質情報が取得され、かつ、時刻同期に関わる一連のやり取りが1回行われた後に時刻差平均値ave2を算出する構成を示したが、これに限定される必要はない。例えば、以下のような処理が行なわれてもよい。スレーブノード20は、接続しているマスターノード10毎に、Announceメッセージを受信し、受信したAnnounceメッセージからマスターノード10毎の時刻源の品質情報を取得する。また、スレーブノード20は、接続しているマスターノード10毎に、時刻同期に関わる一連のやり取りが行われた後に、時刻同期に関わる一連のやり取りが行われたマスターノード10と、スレーブノードとのノード間時刻差を算出する。スレーブノード20は、この処理を繰り返し実行し、接続しているマスターノード10毎のノード間時刻差をそれぞれ算出した後に、算出した各ノード間時刻差と取得した品質情報とに基づいて時刻差平均値ave2を算出する。以下、具体例を挙げて説明する。
同様に、スレーブノード20が、マスターノード10−2との間で時刻源の品質情報及び各時刻情報を全て取得すると、スレーブノード20は上記式4に基づいてマスターノード10−2とスレーブノード20とのノード間時刻差m2を算出する。
図9は、本発明の第4動作例における時刻同期処理の通信シーケンスの動作例を表すシーケンス図である。なお、図9の説明では、マスターノード10の台数が2台(マスターノード10−1、マスターノード10−2)であり、スレーブノード20の台数が1台である場合を例に説明する。また、図7と同様の処理については、図9において図7と同様の符号を付して説明を省略する。
上述した処理によってスレーブノード20の時刻が補正される。
ステップS602までの処理が終了し、ステップS602において、全てのマスターノード10との間で品質情報及び時刻情報が取得された場合(ステップS602−YES)、制御部202は所定の期間T0が経過したか否か判定する(ステップS801)。所定の期間T0が経過していない場合(ステップS801−NO)、スレーブノード20はステップS201以降の処理を繰り返し実行する。
本動作例では、マスターノード10の台数が2台である場合の時刻差平均値ave3を算出する式(式19)を示したが、マスターノード10の台数が3台以上である場合には、算出部205は上記式17の時間間隔T0における平均で表される式に基づいて時刻差平均値ave3を算出する。
同様に、スレーブノード20が、マスターノード10−2との間で各時刻情報を全て取得すると、スレーブノード20は上記式13に基づいてマスターノード10−2とスレーブノード20とのノード間時刻差m2(l)を算出する。
その後、算出部205は、算出した各期間平均値M1及びM2と、品質情報(例えば、a及びb)とに基づいて時刻差平均値ave3を上記式19に基づいて算出する。
図11は、本発明の第5動作例における時刻同期処理の通信シーケンスの動作例を表すシーケンス図である。なお、図11の説明では、マスターノード10の台数が2台(マスターノード10−1、マスターノード10−2)であり、スレーブノード20の台数が1台である場合を例に説明する。また、図5と同様の処理については、図11において図5と同様の符号を付して説明を省略する。
上述した処理によってスレーブノード20の時刻が補正される。
図12において、縦軸はノード間時刻差mkを表し、横軸tは時間を表す。点線41は、所定の期間T0の間におけるマスターノード10−1とスレーブノード20とのノード間時刻差m1の推移を表す。長鎖線42は、所定の期間T0の間におけるマスターノード10−1とスレーブノード20とのノード間時刻差m2の推移を表す。矢印43は、マスターノード10−1とスレーブノード20との間で時刻同期に関わる一連のやり取りが行われたタイミングを表す。つまり、矢印43で示される時間にマスターノード10−1とスレーブノード20との間のノード間時刻差m1が算出されている。矢印44は、マスターノード10−2とスレーブノード20との間で時刻同期に関わる一連のやり取りが行われたタイミングを表す。つまり、矢印44で示される時間にマスターノード10−2とスレーブノード20との間のノード間時刻差m2が算出されている。
スレーブノード20は、各タイミングで算出されたノード間時刻差mkと、所定の期間T0における期間平均値Mkとに基づいてノード間時刻差mkの分散値Vkを算出する。
ステップS401までの処理が終了し、ステップS401において、所定の期間T0が経過した場合(ステップS401−YES)、算出部205は所定の期間T0の間に取得された時刻情報に基づいて期間平均値をマスターノード10毎に算出する(ステップS1001)。算出部205は、算出されたマスターノード10毎の期間平均値と、所定の期間T0の間に行われた時刻同期に関わる一連のやり取り毎のノード間時刻差とに基づいて分散値をマスターノード10毎に算出する(ステップS1002)。算出部205は、マスターノード10毎の期間平均値と、マスターノード10毎の分散値とに基づいて時刻差平均値ave4を算出する(ステップS1003)。時刻補正部206は、算出された時刻差平均値ave2に基づいてスレーブ時刻を補正する(ステップS1004)。
本動作例では、マスターノード10の台数が2台である場合の時刻差平均値ave4を算出する式(式22)を示したが、マスターノード10の台数が3台以上である場合には、算出部205は以下の式23に基づいて時刻差平均値ave4を算出する。
同様に、スレーブノード20が、マスターノード10−2との間で各時刻情報を全て取得すると、スレーブノード20は上記式13に基づいてマスターノード10−2とスレーブノード20とのノード間時刻差m2(l)を算出する。
Claims (4)
- スレーブノードにおける時刻をマスターノードにおける時刻に同期させるための処理である時刻同期処理に使用される制御メッセージを複数のマスターノードとの間で送受信する通信部と、
前記通信部が前記制御メッセージを送受信した際に取得される時刻情報に基づいて自装置の時刻を補正する時刻補正部と、
を備え、
取得される時刻情報に基づいて各マスターノードの時刻と自装置の時刻との時刻差の統計値を算出する算出部をさらに備え、
前記時刻補正部は、算出された前記統計値に基づいて自装置の時刻を補正し、
前記算出部は、所定の期間の間に取得された前記時刻情報に基づいて、前記所定の期間におけるマスターノードの時刻と自装置の時刻との時刻差の統計値である第1の統計値を前記マスターノード毎に算出し、算出した前記マスターノード毎の第1の統計値に基づいて、各マスターノードの時刻と自装置の時刻との時刻差の統計値である第2の統計値を算出するスレーブノード。 - スレーブノードにおける時刻をマスターノードにおける時刻に同期させるための処理である時刻同期処理に使用される制御メッセージを複数のマスターノードとの間で送受信する通信部と、
前記通信部が前記制御メッセージを送受信した際に取得される時刻情報に基づいて自装置の時刻を補正する時刻補正部と、
を備え、
取得される時刻情報に基づいて各マスターノードの時刻と自装置の時刻との時刻差の統計値を算出する算出部をさらに備え、
前記時刻補正部は、算出された前記統計値に基づいて自装置の時刻を補正し、
前記算出部は、所定の期間の間に取得された前記時刻情報に基づいて、前記所定の期間におけるマスターノードの時刻と自装置の時刻との時刻差の統計値である第1の統計値を前記マスターノード毎に算出し、算出した前記マスターノード毎の第1の統計値に対し、所定の期間における前記マスターノード毎の時刻差の分散値で重み付けした後に、重み付けされた前記第1の統計値に基づいて、各マスターノードの時刻と自装置の時刻との時刻差の統計値である第2の統計値を算出するスレーブノード。 - スレーブノードにおける時刻をマスターノードにおける時刻に同期させるための処理である時刻同期処理に使用される制御メッセージを複数のマスターノードとの間で送受信する通信ステップと、
前記通信ステップによって前記制御メッセージを送受信した際に取得される時刻情報に基づいて前記スレーブノードの時刻を補正する時刻補正ステップと、
を有し、
取得される時刻情報に基づいて各マスターノードの時刻と自装置の時刻との時刻差の統計値を算出する算出ステップをさらに有し、
前記時刻補正ステップにおいて、算出された前記統計値に基づいて自装置の時刻を補正し、
前記算出ステップにおいて、所定の期間の間に取得された前記時刻情報に基づいて、前記所定の期間におけるマスターノードの時刻と自装置の時刻との時刻差の統計値である第1の統計値を前記マスターノード毎に算出し、算出した前記マスターノード毎の第1の統計値に基づいて、各マスターノードの時刻と自装置の時刻との時刻差の統計値である第2の統計値を算出する時刻同期方法。 - スレーブノードにおける時刻をマスターノードにおける時刻に同期させるための処理である時刻同期処理に使用される制御メッセージを複数のマスターノードとの間で送受信する通信ステップと、
前記通信ステップによって前記制御メッセージを送受信した際に取得される時刻情報に基づいて前記スレーブノードの時刻を補正する時刻補正ステップと、
を有し、
取得される時刻情報に基づいて各マスターノードの時刻と自装置の時刻との時刻差の統計値を算出する算出ステップをさらに有し、
前記時刻補正ステップにおいて、算出された前記統計値に基づいて自装置の時刻を補正し、
前記算出ステップにおいて、所定の期間の間に取得された前記時刻情報に基づいて、前記所定の期間におけるマスターノードの時刻と自装置の時刻との時刻差の統計値である第1の統計値を前記マスターノード毎に算出し、算出した前記マスターノード毎の第1の統計値に対し、所定の期間における前記マスターノード毎の時刻差の分散値で重み付けした後に、重み付けされた前記第1の統計値に基づいて、各マスターノードの時刻と自装置の時刻との時刻差の統計値である第2の統計値を算出する時刻同期方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014064791A JP6254028B2 (ja) | 2014-03-26 | 2014-03-26 | スレーブノード及び時刻同期方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014064791A JP6254028B2 (ja) | 2014-03-26 | 2014-03-26 | スレーブノード及び時刻同期方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015188159A JP2015188159A (ja) | 2015-10-29 |
JP6254028B2 true JP6254028B2 (ja) | 2017-12-27 |
Family
ID=54430200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014064791A Active JP6254028B2 (ja) | 2014-03-26 | 2014-03-26 | スレーブノード及び時刻同期方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6254028B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5937243B1 (ja) * | 2015-02-17 | 2016-06-22 | 日本電信電話株式会社 | 時刻同期方法および時刻同期装置 |
JP6488195B2 (ja) * | 2015-05-27 | 2019-03-20 | 株式会社日立製作所 | 時刻同期を行う通信装置 |
JP6820586B2 (ja) | 2016-08-31 | 2021-01-27 | 株式会社メディアリンクス | 時刻同期システム |
US11159303B1 (en) | 2018-11-20 | 2021-10-26 | Mitsubishi Electric Corporation | Communication system, list distribution station, communication method, and computer readable medium |
JP7029428B2 (ja) * | 2019-07-09 | 2022-03-03 | 株式会社日立製作所 | 時刻同期システム、時刻同期方法及び時刻スレーブ装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2658962B2 (ja) * | 1995-03-15 | 1997-09-30 | 日本電気株式会社 | ネットワークの時刻情報同期方式 |
JP5025130B2 (ja) * | 2005-12-27 | 2012-09-12 | 株式会社日立製作所 | 通信装置および通信方法ならびに通信方式 |
JP2009065579A (ja) * | 2007-09-10 | 2009-03-26 | Nec Corp | 時刻同期システム、時刻同期方法、ノード及びプログラム |
CN104396180A (zh) * | 2012-06-19 | 2015-03-04 | 日本电气株式会社 | 时钟同步***、时钟同步方法和存储有时钟同步程序的存储介质 |
-
2014
- 2014-03-26 JP JP2014064791A patent/JP6254028B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015188159A (ja) | 2015-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5561426B2 (ja) | 同期システム、同期方法、第一の同期装置、第二の同期装置及びコンピュータプログラム | |
US10615898B2 (en) | System and method of clock management in a packet data network | |
JP6254028B2 (ja) | スレーブノード及び時刻同期方法 | |
US9634782B2 (en) | Clock synchronization system, clock synchronization method, and storage medium whereupon clock synchronization program is stored | |
JP6192995B2 (ja) | 通信装置、通信システム、通信方法およびコンピュータプログラム | |
US20180097610A1 (en) | Synchronization apparatus, synchronization system, radio communication apparatus and synchronization method | |
JP2010527193A (ja) | ネットワークコンポーネントのクロックを別のネットワークコンポーネントのクロックに同期させる方法及びネットワークコンポーネント | |
JP2004186877A (ja) | 無線アクセスネットワークシステム、無線通信方法、同期サーバ及びノード装置 | |
CN106464397B (zh) | 在分组交换网络中动态重新分配定时和同步的***和方法 | |
US9651984B2 (en) | Feed-forward time transfer mechanism for time synchronization | |
JP6036179B2 (ja) | 通信装置及び同期方法 | |
EP3593572B1 (en) | Remote signal synchronization | |
JP2016139846A (ja) | 時刻同期システム、マスタ装置およびスレーブ装置、並びに時刻同期方法 | |
JP2017069669A (ja) | 時刻同期装置、基地局装置、及び、時刻同期方法 | |
Resner et al. | Speculative Precision Time Protocol: submicrosecond clock synchronization for the IoT | |
JP2011176768A (ja) | プッシュ型時刻配信装置、時刻同期サーバおよび時刻同期クライアント | |
JP6010802B2 (ja) | 時刻同期システム、時刻同期方法、スレーブノード及びコンピュータプログラム | |
JP6170456B2 (ja) | スレーブノード、制御サーバ、時刻同期先決定方法及びコンピュータプログラム | |
Gong et al. | Temperature compensated Kalman distributed clock synchronization | |
US20170117980A1 (en) | Time synchronization for network device | |
WO2020090664A1 (ja) | 時刻同期システム | |
JP6085864B2 (ja) | 時刻同期システム、時刻同期方法、スレーブノード及びコンピュータプログラム | |
JP6216692B2 (ja) | 通信システム、通信方法、及び、通信プログラム | |
Saarnisaari et al. | Internetwork time synchronization of mobile ad hoc networks | |
JPWO2020095413A1 (ja) | 通信システム、通信装置、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160705 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170718 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171027 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6254028 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |