JP6170456B2 - スレーブノード、制御サーバ、時刻同期先決定方法及びコンピュータプログラム - Google Patents

スレーブノード、制御サーバ、時刻同期先決定方法及びコンピュータプログラム Download PDF

Info

Publication number
JP6170456B2
JP6170456B2 JP2014064693A JP2014064693A JP6170456B2 JP 6170456 B2 JP6170456 B2 JP 6170456B2 JP 2014064693 A JP2014064693 A JP 2014064693A JP 2014064693 A JP2014064693 A JP 2014064693A JP 6170456 B2 JP6170456 B2 JP 6170456B2
Authority
JP
Japan
Prior art keywords
master node
time
node
master
slave
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
Application number
JP2014064693A
Other languages
English (en)
Other versions
JP2015188152A (ja
Inventor
豪 矢沢
豪 矢沢
秀胤 村山
秀胤 村山
浩治 渡部
浩治 渡部
小林 正啓
正啓 小林
克俊 行田
克俊 行田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone East Corp
Original Assignee
Nippon Telegraph and Telephone East Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone East Corp filed Critical Nippon Telegraph and Telephone East Corp
Priority to JP2014064693A priority Critical patent/JP6170456B2/ja
Publication of JP2015188152A publication Critical patent/JP2015188152A/ja
Application granted granted Critical
Publication of JP6170456B2 publication Critical patent/JP6170456B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electric Clocks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は、時刻同期の技術に関する。
近年、複数の基地局間で連係した動作を行うため、高精度な時刻同期が求められている。そこで、ネットワーク接続された複数の機器の時刻をマイクロ秒以下の精度で同期させる技術として、IEEE1588で定義されたPTP(Precision Time Protocol)が知られている(例えば、非特許文献1参照)。PTPでは、マスターノードとスレーブノードとの間で時刻情報を含むメッセージが定期的に交換される。スレーブノードは、マスターノード及びスレーブノードにおけるメッセージが送受信された時刻情報から、マスターノードに対するスレーブノードの時刻のずれ(Offset)を計算する。そして、スレーブノードは、計算したOffsetに基づいてスレーブノードの時刻を補正して、スレーブノードの時刻をマスターノードの時刻に同期させる。また、PTPでは、マスターノードの時刻源の品質を255段階でスレーブノードに通知することができ、同期確立によって期待される時刻同期精度の品質を255段階でスレーブノードに通知することができる。
しかしながら、通常、マスターノードは、経年劣化による時刻源の品質の変化をモニターする機能を有さないため、マスターノードの時刻源の精度が緩やかに劣化した場合、時刻源の精度の劣化に気付くことができない。したがって、複数のマスターノードのいずれかのマスターノードの時刻源の精度が劣化した場合に、スレーブノードは複数のマスターノードのうち、時刻源の精度が劣化したマスターノードに同期してしまうおそれがある。このような場合、スレーブノードの時刻同期の精度が劣化してしまうという問題があった。このような問題は、PTPに限らず、時刻同期を行う全ての通信プロトコルに共通する問題である。
上記事情に鑑み、本発明は、複数のマスターノードのいずれかのマスターノードの時刻源の精度が劣化した場合におけるスレーブノードの時刻同期の精度低下を抑えることができる技術の提供を目的としている。
本発明の一態様は、自装置における時刻をマスターノードにおける時刻に同期させるための処理である時刻同期処理を自装置との間で行う複数のマスターノードのいずれかのマスターノードの時刻源の精度の劣化を示す条件が満たされた場合に、前記条件が満たされたマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する決定部、を備えるスレーブノードである。
本発明の一態様は、上記のスレーブノードであって、各マスターノードとの間で行われる時刻同期処理時の所定のタイミングで取得される時刻の平均値を算出する算出部をさらに備え、前記決定部は、各マスターノードとの間で行われる時刻同期処理時の所定のタイミングで取得される時刻のいずれかが、算出された前記平均値に所定の値を加減して得られる閾値の範囲外である場合に、閾値の範囲外となった時刻に関連するマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する。
本発明の一態様は、上記のスレーブノードであって、各マスターノードとの間で行われる時刻同期処理時の所定のタイミングで取得される時刻の平均値を算出する算出部をさらに備え、前記決定部は、各マスターノードにおける時刻同期処理時の所定のタイミングの時刻と、算出された前記平均値との差分値のいずれかが、所定の閾値の範囲外である場合に、閾値の範囲外となった時刻に関連するマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する。
本発明の一態様は、上記のスレーブノードであって、前記決定部は、他のスレーブノードに対して前記マスターノードの時刻源の精度の劣化を示す通知を送信する送信部をさらに備え、前記送信部は、前記閾値の範囲外となった時刻に関連するマスターノードの劣化を示す通知を前記他のスレーブノードに送信する。
本発明の一態様は、上記のスレーブノードであって、前記決定部は、他装置から前記マスターノードの時刻源の精度の劣化を示す通知が受信された場合に、受信された通知で示されるマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する。
本発明の一態様は、上記のスレーブノードであって、各マスターノードとの間で行われる時刻同期処理時の所定のタイミングで取得される時刻の平均値を算出する算出部と、他装置から前記マスターノードの時刻源の精度の劣化を示す通知を受信する受信部と、をさらに備え、前記決定部は、所定の優先度に基づいて、前記通知により特定される、時刻源の精度が劣化しているマスターノード又は前記平均値に基づいて特定されるマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する。
本発明の一態様は、複数のノードを制御する制御サーバであって、各マスターノードとの間で行われる時刻同期処理時の所定のタイミングで取得される時刻の平均値を算出する算出部と、各マスターノードにおける時刻同期処理時の所定のタイミングの時刻と、算出された前記平均値との差分値のいずれが、所定の閾値の範囲外である場合に、閾値の範囲外となった時刻に関連するマスターノードの時刻源の精度の劣化を示す通知を前記マスターノードに接続するスレーブノードに送信する送信部と、を備える制御サーバである。
本発明の一態様は、スレーブノードにおける時刻をマスターノードにおける時刻に同期させるための処理である時刻同期処理を前記スレーブノードとの間で行う複数のマスターノードのいずれかのマスターノードの時刻源の精度の劣化を示す条件が満たされた場合に、前記条件が満たされたマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する決定ステップ、を有する時刻同期先決定方法である。
本発明の一態様は、スレーブノードにおける時刻をマスターノードにおける時刻に同期させるための処理である時刻同期処理を前記スレーブノードとの間で行う複数のマスターノードのいずれかのマスターノードの時刻源の精度の劣化を示す条件が満たされた場合に、前記条件が満たされたマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する決定ステップ、をコンピュータに実行させるためのコンピュータプログラムである。
本発明により、複数のマスターノードのいずれかのマスターノードの時刻源の精度が劣化した場合におけるスレーブノードの時刻同期の精度低下を抑えることが可能となる。
IEEE1588の時刻同期アルゴリズムによる通信シーケンスの動作を表すシーケンス図である。 本発明の時刻同期システム100のシステム構成を示す図である。 マスターノード10及びスレーブノード20の概略ブロック図である。 判定処理の判定基準に関する概略図である。 本実施形態におけるスレーブノード20の処理の流れを示すフローチャートである。 変形例における判定処理の判定基準に関する概略図である。
以下、本発明の一実施形態を、図面を参照しながら説明する。
まず、図1を用いてIEEE1588の時刻同期アルゴリズムについて説明する。図1は、IEEE1588の時刻同期アルゴリズムによる通信シーケンスの動作を表すシーケンス図である。図1では、マスターノードとスレーブノードとが双方向通信を行っており、スレーブノードが定期的にマスターノードの時刻にスレーブノードの時刻を同期させる。
マスターノードは、スレーブノードに対して定期的にSyncメッセージを送信する(ステップS100)。Syncメッセージは、時刻同期の動作を開始するために送信されるメッセージである。マスターノードは、Syncメッセージの送信時刻(以下、「Sync送信時刻」という。)Tm(0)を記録する(ステップS101)。次に、マスターノードは、スレーブノードに対して、Follow_upメッセージを送信する(ステップS102)。この際、マスターノードは、Follow_upメッセージの中に、Sync送信時刻Tm(0)を格納する。Follow_upメッセージは、Syncメッセージが送信された後に、Sync送信時刻Tm(0)の時刻情報を通知するために送信されるメッセージである。
スレーブノードは、Syncメッセージを受信すると、この受信処理をトリガとしてSyncメッセージの受信時刻(以下、「Sync受信時刻」という。)Ts(0)を記録する(ステップS103)。次に、スレーブノードはFollow_upメッセージを受信し、Follow_upメッセージ中に格納されるSync送信時刻Tm(0)を抽出し記録する。次に、スレーブノードは、マスターノードに対して、Delay_Requestメッセージを送信する(ステップS104)。Delay_Requestメッセージは、スレーブノードがマスターノードから送信されるFollow_upメッセージを受信した後に、マスターノードにDelay_Responseメッセージを要求するために送信されるメッセージである。そして、スレーブノードは、Delay_Requestメッセージの送信時刻(以下、「Delay送信時刻」という。)Ts(1)を記録する(ステップS105)。
マスターノードは、Delay_Requestメッセージを受信すると、この受信処理をトリガとしてDelay_Requestメッセージの受信時刻(以下、「Delay受信時刻」という。)Tm(1)を記録する(ステップS106)。次に、マスターノードは、スレーブノードに対してDelay_Responseメッセージを送信する(ステップS107)。この際、マスターノードは、Delay_Responseメッセージの中に、Delay受信時刻Tm(1)を格納する。Delay_Responseメッセージは、Delay_Requestメッセージの応答として送信されるメッセージである。
スレーブノードは、Delay_Responseメッセージを受信すると、Delay_Responseメッセージ中に格納されるDelay受信時刻Tm(1)を抽出し記録する。
スレーブノードは、Sync送信時刻Tm(0)、Sync受信時刻Ts(0)に基づいて、以下の式1によってマスターノードにおける時刻(以下、「マスター時刻」という。)とスレーブノードにおける時刻(以下、「スレーブ時刻」という。)との差分MS_Diffを算出する。
Figure 0006170456
また、スレーブノードは、Delay送信時刻Ts(1)、Delay受信時刻Tm(1)に基づいて、以下の式2によってスレーブ時刻とマスター時刻との差分SM_Diffを求める。
Figure 0006170456
式1のMS_Delayはマスターノードからスレーブノードへの伝送遅延を表し、式2のSM_Delayはスレーブノードからマスターノードへの伝送遅延を表し、式1及び式2のOffset(オフセット)はマスターノードに対するスレーブノードの時刻オフセット(進み)を表す。なお、伝送遅延MS_Delay及びSM_Delayは、マスターノードとスレーブノードとの間の伝播遅延と、マスターノードとスレーブノードとの間のネットワーク上の中継ノードで生じるキューイング遅延から構成される。
以上のように、マスターノードに対するスレーブノードの時刻のずれであるOffsetに関して、式1及び式2の2つの式が得られる。しかし、この2つの式には、Offsetの他にMS_Delay及びSM_Delayという未知のパラメータが含まれている。したがって、3つの未知のパラメータに対し2つの式しか存在しないため、Offsetを算出することができない。そのため、IEEE1588では、マスターノードからスレーブノードへの伝送遅延MS_Delayと、スレーブノードからマスターノードへの伝送遅延SM_Delayとが等しく、いずれの値もDelayであると仮定して、上記の式1及び式2を以下の式3及び式4に変形する。
Figure 0006170456
Figure 0006170456
式3及び式4の連立方程式を解くことによって、以下の式5が導出される。
Figure 0006170456
スレーブノードは、導出された式5に基づいてOffsetを算出する。スレーブノードは、算出したOffsetに基づいてスレーブ時刻を補正することによって、スレーブ時刻をマスター時刻に同期させる。以上が、IEEE1588に規定される時刻同期アルゴリズムである。なお、以下の説明では、上述した時刻同期アルゴリズムによる処理を時刻同期処理と称する。
図2は、本発明の時刻同期システム100のシステム構成を示す図である。本発明の時刻同期システム100は、複数のマスターノード10−1〜10−M(Mは2以上の整数)及び複数のスレーブノード20−1〜20−N(Nは2以上の整数)を備える。マスターノード10−1〜10−M及びスレーブノード20−1〜20−Nはそれぞれ、ネットワーク30−1〜30−L(Lは2以上の整数)を介して互いに通信可能に接続される。なお、以下の説明では、マスターノード10−1〜10−Mについて特に区別しない場合にはマスターノード10と記載する。また、スレーブノード20−1〜20−Nについて特に区別しない場合にはスレーブノード20と記載する。また、以下の説明では、ネットワーク30−1〜30−Lについて特に区別しない場合にはネットワーク30と記載する。
マスターノード10は、定期的にスレーブノード20との間でPTPメッセージ(制御メッセージ)を送受信する。PTPメッセージとは、時刻同期処理に使用される制御メッセージであり、例えばAnnounceメッセージ、Syncメッセージ、Follow_upメッセージ、Delay_Requestメッセージ、Delay_Responseメッセージである。
スレーブノード20は、マスターノード10との間で時刻同期処理を行うことによって自装置の時刻をマスターノード10の時刻に同期させる。
ネットワーク30は、どのように構成されたネットワークでもよい。例えば、ネットワーク30はLAN(Local Area Network)を用いて構成されてもよい。
以下、マスターノード10及びスレーブノード20の構成の詳細についてそれぞれ説明する。
図3は、マスターノード10及びスレーブノード20の概略ブロック図である。
まず、マスターノード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等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、時刻同期用プログラムは、電気通信回線を介して送受信されてもよい。
マスタークロック生成部101は、例えば、VCXO(Voltage controlled xtal oscillators)等の電圧可変型の水晶発振器等を用いて構成される。また、マスタークロック生成部101は、マスタークロックを生成する。具体的には、マスタークロック生成部101は、マスターノード10における1秒の時間幅を決定する。なお、マスタークロック生成部101は、マスターノード10の外部に存在してもよい。
時計部102は、マスタークロック生成部101が生成したマスタークロックに従い、マスター時刻を決定する。具体的には、時計部102は、マスターノード10において何時何分何秒であるかを決める。時計部102は、マスター時刻の時刻情報をパケット生成部103に出力する。
パケット生成部103は、Syncメッセージ、Follow_upメッセージ、Delay_Responseメッセージを生成する。例えば、パケット生成部103は、定期的にSyncメッセージを生成する。パケット生成部103は、通信部104を介してスレーブノード20にSyncメッセージを送信し、略同時に時計部102を参照してSync送信時刻Tm(0)を記録する。また、例えば、パケット生成部103は、Syncメッセージ送信後に、Sync送信時刻Tm(0)を格納したFollow_upメッセージを生成する。パケット生成部103は、通信部104を介してスレーブノード20にFollow_upメッセージを送信する。
また、パケット生成部103は、通信部104によって受信されるDelay_Requestメッセージの受信時刻(Delay受信時刻)Tm(1)を時計部102を参照して記録する。その後、パケット生成部103は、記録した受信時刻Tm(1)を格納したDelay_Responseメッセージを生成し、通信部104を介してスレーブノード20にDelay_Responseメッセージを送信する。
通信部104は、スレーブノード20との間で通信を行う。例えば、通信部104は、スレーブノード20からDelay_Requestメッセージを受信し、パケット生成部103に転送する。また、通信部104は、Syncメッセージ、Follow_upメッセージ、Delay_Responseメッセージをスレーブノード20に送信する。
次に、スレーブノード20の機能構成を説明する。
スレーブノード20は、バスで接続されたCPUやメモリや補助記憶装置などを備え、時刻同期用プログラムを実行する。時刻同期用プログラムの実行によって、スレーブノード20は、通信部201、制御部202、同期処理部203、時計部204、算出部205、判定部206、決定部207を備える装置として機能する。なお、スレーブノード20の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、時刻同期用プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、時刻同期用プログラムは、電気通信回線を介して送受信されてもよい。
通信部201は、各マスターノード10との間で通信を行う。例えば、通信部201は、各マスターノード10からSyncメッセージ、Follow_upメッセージ、Delay_Responseメッセージを受信し、Delay_Requestメッセージを各マスターノード10に送信する。
制御部202は、スレーブノード20の各機能部を制御する。制御部202は、Follow_upメッセージの受信後、Delay_Requestメッセージを生成する。その後、制御部202は、生成したDelay_Requestメッセージを通信部201に送信させ、略同時に時計部204を参照してDelay送信時刻Ts(1)を記録する。また、制御部202は、Syncメッセージが通信部201から転送された際にSync受信時刻Ts(0)を記録する。また、制御部202は、Follow_upメッセージ中に格納されているSync送信時刻Tm(0)を抽出し記録する。また、制御部202は、Delay_Responseメッセージ中に格納されているDelay受信時刻Tm(1)を抽出し記録する。その後、制御部202は、各時刻情報(Sync送信時刻Tm(0)、Sync受信時刻Ts(0)、Delay送信時刻Ts(1)、Delay受信時刻Tm(1))に基づいてOffsetを算出する。そして、制御部202は、算出したOffsetに基づいてスレーブノード20の時刻を補正する。つまり、制御部202は、算出したOffsetに基づいて時計部204の時刻を補正する。
また、制御部202は、時刻同期処理時の所定のタイミングの時刻(以下、「絶対時刻」という。)をマスターノード10毎に取得する。所定のタイミングは、例えばOffsetが算出されたタイミングであってもよいし、スレーブノード20の時刻が補正されたタイミングであってもよいし、その他のタイミングであってもよい。絶対時刻は、時、分、秒で表される。
同期処理部203は、スレーブノード20における1秒の時間幅を決定する。具体的には、同期処理部203は、通信部201によって受信されたSyncメッセージに基づいてスレーブクロックを生成することによって、スレーブノード20における1秒の時間幅を決定する。生成されたスレーブクロックは、マスターノード10のマスタークロックに同期される。同期処理部203は、自身のクロックから生成するタイムスタンプとマスターノード10から受信したタイムスタンプとの差分を計算し、計算された差分を元に自身のクロックを調整できる構成であれば、どのような構成であってもよい。
時計部204は、同期処理部203によって生成されたスレーブクロックに従い、スレーブ時刻を決定する。具体的には、時計部204は、スレーブノード20において何時何分何秒であるかを決める。時計部204は、スレーブ時刻の時刻情報を制御部202に出力する。
算出部205は、マスターノード10毎に取得された絶対時刻の平均値を算出する。
判定部206は、算出部205によって算出された絶対時刻の平均値と、各マスターノード10から取得された絶対時刻とに基づいて、時刻源の精度が劣化しているマスターノード10が存在するか否か判定する。
決定部207は、判定結果に応じて複数のマスターノード10の中から自装置が同期するマスターノード10を決定する。具体的には、時刻源の精度が劣化しているマスターノード10が存在すると判定された場合、決定部207は時刻源の精度が劣化していると判定されたマスターノード10を除くマスターノード10を、時刻源の精度が劣化していないマスターノード10と判断して自装置が同期するマスターノード10に決定する。一方、時刻源の精度が劣化しているマスターノード10が存在しないと判定された場合、決定部207は全てのマスターノード10を自装置が同期するマスターノード10に決定する。決定部207は、決定結果を制御部202に出力する。
図4は、判定部206が行う判定処理の判定基準に関する概略図である。以下、図4を用いて、判定部206が行う判定処理について具体的に説明する。なお、図4では、1台のスレーブノード20が時刻同期処理を行っているマスターノード10の台数が3台である場合を例に説明する。
図4において、縦軸は絶対時刻(時、分、秒)を表し、横軸tは時間を表す。図4には、5つの遷移線が表されている。5つの遷移線は、遷移線31、遷移線32、遷移線33、遷移線34、遷移線35である。遷移線31〜33は、スレーブノード20が各マスターノード10(図4では、3台)との時刻同期処理時の所定のタイミングで取得した絶対時刻の推移を表す。遷移線34は、取得された絶対時刻の平均値Mに所定の値Aを加算した上限値(M+A)の推移を表す。遷移線35は、取得された絶対時刻の平均値Mを所定の値Aだけ減算した下限値(M−A)の推移を表す。
まず、図4(A)について説明する。
図4(A)に示されるように、遷移線31〜33のいずれもが、遷移線34を超えていない、かつ、遷移線35を下回っていない場合、判定部206は遷移線31〜33の全てが絶対時刻の平均値Mに所定の値Aを加減した閾値の範囲内であると判定する。この場合、判定部206は、時刻源の精度が劣化しているマスターノード10がないと判定する。
次に、図4(B)について説明する。
図4(B)に示されるように、遷移線31が、遷移線34で示される上限値(M+A)を超えている場合(円36内)、遷移線31で示される絶対時刻に関連するマスターノード10の時刻源の精度が劣化しているおそれがある。このような時刻源の精度が劣化しているおそれのあるマスターノード10を検知するため、判定部206は、各マスターノード10との間で取得される絶対時刻のいずれかが、絶対時刻の平均値Mに所定の値Aを加算した値(遷移線34)を超えている場合、時刻源の精度が劣化しているマスターノード10があると判定する。この場合、判定部206は、絶対時刻の平均値Mに所定の値Aを加算した値(遷移線34)を超えている絶対時刻に関連するマスターノード10を、時刻源の精度が劣化しているマスターノード10と判定する。
また、図4には図示していないが、判定部206は、各マスターノード10との間で取得される絶対時刻のいずれかが、絶対時刻の平均値Mに所定の値Aを減算した値(遷移線35)を下回っている場合、時刻源の精度が劣化しているマスターノード10があると判定する。この場合、判定部206は、絶対時刻の平均値Mに所定の値Aを減算した値(遷移線35)を下回っている絶対時刻に関連するマスターノード10を、時刻源の精度が劣化しているマスターノード10と判定する。
上述したように、各マスターノード10との間で取得される絶対時刻のいずれもが、絶対時刻の平均値Mに所定の値Aを加減した閾値の範囲内(遷移線34を上限値として遷移線35を下限値とした範囲内)である場合、判定部206は時刻源の精度が劣化しているマスターノード10がないと判定する。一方、各マスターノード10との間で取得される絶対時刻のいずれかが、絶対時刻の平均値Mに所定の値Aを加減した閾値の範囲外(遷移線34を上限値として遷移線35を下限値とした範囲外)である場合、判定部206は時刻源の精度が劣化しているマスターノード10があると判定する。
図5は、本実施形態におけるスレーブノード20の処理の流れを示すフローチャートである。
スレーブノード20は、自装置が同期するマスターノード10との間で時刻同期処理を行う(ステップS201)。制御部202は、時刻同期処理時を行ったマスターノード10との間で絶対時刻を取得する(ステップS202)。制御部202は、自装置が同期する全てのマスターノード10との間で絶対時刻を取得したか否か判定する(ステップS203)。自装置が同期する全てのマスターノード10との間で絶対時刻を取得していない場合(ステップS203−NO)、ステップS201以降の処理が繰り返し実行される。この場合、スレーブノード20は、絶対時刻を取得していないマスターノード10との間でS201以降の処理を実行する。
一方、自装置が同期する全てのマスターノード10との間で絶対時刻を取得した場合(ステップS203−YES)、算出部205は取得された絶対時刻の平均値を算出する(ステップS204)。
判定部206は、時刻源の精度が劣化しているマスターノード10があるか否か判定する(ステップS205)。具体的には、各マスターノード10の絶対時刻のいずれかが、絶対時刻の平均値に所定の値を加減した閾値の範囲外である場合、判定部206は時刻源の精度が劣化しているマスターノード10があると判定する。一方、各マスターノード10の絶対時刻の全てが、絶対時刻の平均値に所定の値を加減した閾値の範囲内である場合、判定部206は時刻源の精度が劣化しているマスターノード10がないと判定する。
時刻源の精度が劣化しているマスターノード10がある場合(ステップS205−YES)、決定部207は時刻源の精度が劣化しているマスターノード10を除くマスターノード10を自装置が同期するマスターノード10に決定する(ステップS207)。つまり、決定部207は、時刻源の精度が劣化していないマスターノード10を自装置が同期するマスターノード10に決定する。
一方、時刻源の精度が劣化しているマスターノード10がない場合(ステップS205−NO)、決定部207は全てのマスターノードを自装置が同期するマスターノード10に決定する(ステップS206)。
以上のように構成されたスレーブノード20では、時刻源の精度が劣化しているおそれのあるマスターノード10が特定される。通常、時刻源の精度が劣化していない複数のマスターノード10間では、各マスターノード10の時刻に大きな違いは見られない。したがって、スレーブノード20が各マスターノード10との間で時刻同期処理を行った時のある瞬間の絶対時刻においても大きな違いは見られない。そのため、各マスターノード10との間で取得された絶対時刻のうち、各絶対時刻の平均値に所定の値を加減した閾値の範囲内に収まらない絶対時刻が存在する場合、範囲内に収まらない絶対時刻に関連するマスターノード10の時刻源の精度が劣化しているおそれがある。そこで、スレーブノード20が、時刻源の精度が劣化しているおそれがあると判定されたマスターノード10を除くマスターノード10と時刻同期するように自装置を制御する。つまり、スレーブノード20は、時刻源の精度が劣化していないマスターノード10と時刻同期処理を行うように制御する。したがって、スレーブノード20が、時刻源の精度が劣化しているマスターノード10との間で時刻同期処理を行ってしまうおそれがなくなる。そのため、複数のマスターノード10のいずれかのマスターノード10の時刻源の精度が劣化した場合におけるスレーブノード20の時刻同期の精度低下を抑えることが可能になる。
<変形例>
1台のスレーブノード20が上記判定処理を行う対象のマスターノード10は3台以上であれば何台であってもよい。また、スレーブノード20のそれぞれは、互いに異なる台数のマスターノード10と時刻同期処理を行ってもよい。
また、複数のスレーブノード20のうち、1台のスレーブノード20が判定処理を行い、判定結果を他のスレーブノード20に通知するように構成されてもよい。このように構成される場合、1台のスレーブノード20が判定部206を備え、その他のスレーブノード20が判定部206を備えないように構成される。以下、このように構成される場合における時刻同期システム100の動作について説明する。
判定部206を備えるスレーブノード20は、複数のマスターノード10−1〜10−Mとの間で時刻同期処理を行う。そして、判定部206を備えるスレーブノード20は、各マスターノード10−1〜10−Mとの間で取得された各絶対時刻と、各絶対時刻の平均値とに基づいて判定処理を行う。判定処理の結果、時刻源の精度が劣化しているマスターノード10が存在する場合、判定部206を備えるスレーブノード20は他のスレーブノード20(判定部206を備えないスレーブノード20)に対して時刻源の精度が劣化しているマスターノード10の情報(例えば、MACアドレスなど)を通知する。
一方、時刻源の精度が劣化しているマスターノード10が存在しない場合、判定部206を備えるスレーブノード20は他のスレーブノード20に対して全てのマスターノード10の時刻源の精度が正常である旨の情報を通知する。
他のスレーブノード20の決定部207は、判定部206を備えるスレーブノード20から通知された情報に基づいて自装置が同期するマスターノード10を決定する。例えば、他のスレーブノード20の決定部207は、判定部206を備えるスレーブノード20から通知された時刻源の精度が劣化しているマスターノード10を除くマスターノード10を、時刻源の精度が劣化していないマスターノード10と判断して自装置が同期するマスターノード10に決定する。
このように構成された時刻同期システム100によれば、全てのスレーブノード20が判定部206を備えている必要がない。つまり、最低1台のスレーブノード20が判定部206を備えていればよい。そのため、製造コストを抑えることができる。また、判定部206を備えないスレーブノード20では、判定処理を行う必要がないため、処理負荷を抑えることができる。さらに、他のスレーブノード20は、時刻源の精度が劣化していないマスターノード10と同期するように自装置を制御する。そのため、複数のマスターノード10のいずれかのマスターノード10の時刻源の精度が劣化した場合におけるスレーブノード20の時刻同期の精度低下を抑えることが可能になる。
また、本発明の時刻同期システム100は、制御サーバを備えるように構成されてもよい。制御サーバは、パーソナルコンピュータ等の情報処理装置を用いて構成され、全てのマスターノード10及びスレーブノード20の制御を行う。制御サーバは、スレーブノード20と略同じ各機能部を有する。制御サーバは、通信部、制御部、同期処理部、時計部、算出部、判定部を備える。各機能部は、スレーブノード20における同名の各機能部と略同様に機能する。以下、スレーブノード20における同名の各機能部と異なる処理を行う機能部(通信部、制御部)について説明する。つまり、同期処理部、時計部、算出部、判定部は、スレーブノード20における同名の各機能部と同様の処理を行う。
通信部は、スレーブノード20における同名の機能部(通信部201)と同様の処理を行う。また、通信部は、時刻源の精度が劣化しているマスターノード10の情報を、スレーブノード20に通知する。
制御部は、スレーブノード20における同名の機能部(制御部202)と同様の処理を行う。また、制御部は、判定部の判定結果において時刻源の精度が劣化しているマスターノード10が存在すると判定された場合、時刻源の精度が劣化しているマスターノード10の情報を通信部に出力する。
スレーブノード20の決定部207は、通知された情報に基づいて自装置が同期するマスターノード10を決定する。例えば、スレーブノード20の決定部207は、制御サーバから通知された時刻源の精度が劣化しているマスターノード10を除くマスターノード10を、時刻源の精度が劣化していないマスターノード10と判断して自装置が同期するマスターノード10に決定する。つまり、スレーブノード20の決定部207は、制御サーバから通知されたマスターノード10の情報で示されるマスターノード10を除くマスターノード10を、時刻源の精度が劣化していないマスターノード10と判断して自装置が同期するマスターノード10に決定する。
このように構成された時刻同期システム100によれば、全てのスレーブノード20に判定部206を備える必要がない。そのため、製造コストを抑えることができる。さらに、制御サーバから判定結果が通知されるため、全てのスレーブノード20は判定処理を行う必要がない。そのため、スレーブノード20の処理負荷を軽減することができる。
また、スレーブノード20は、以下のようにして自装置が同期するマスターノード10を決定してもよい。具体的には、まず、スレーブノード20は、他装置(他のスレーブノード20又は制御サーバ)から時刻源の精度が劣化しているマスターノード10の情報(例えば、MACアドレスなど)を受信する。これにより、スレーブノード20は、時刻源の精度が劣化しているマスターノード10の情報を取得する。次に、スレーブノード20は、複数のマスターノード10−1〜10−Mとの間で時刻同期処理を行うことによって取得された各絶対時刻と、各絶対時刻の平均値とに基づいて判定処理を行う。これにより、スレーブノード20は、時刻源の精度が劣化しているマスターノード10の情報を取得する。その後、スレーブノード20の決定部207は、所定の優先度に基づいて、取得された情報のいずれかの情報で特定されるマスターノード10を除く他のマスターノード10を自装置が同期するマスターノード10に決定する。つまり、スレーブノード20は、受信された情報により特定されるマスターノード10又は判定処理によって時刻源の精度が劣化していると特定されたマスターノード10を除く他のマスターノード10を自装置が同期するマスターノード10に決定する。
所定の優先度は、例えば他装置の時刻源の品質を表すクロック品質(以下、「他装置クロック品質」という。)及び自装置の時刻源の品質を表すクロック品質(以下、「自装置クロック品質」という。)に基づいて決定される。より具体的には、他装置クロック品質が自装置クロック品質よりも高い場合、他装置から受信された情報が優先される。この場合、決定部207は、受信された情報により特定されるマスターノード10を除く他のマスターノード10を自装置が同期するマスターノード10に決定する。一方、他装置クロック品質が自装置クロック品質よりも低い場合、自装置で行った判定処理によって取得された情報が優先される。この場合、決定部207は、判定処理によって時刻源の精度が劣化していると特定されたマスターノード10を除く他のマスターノード10を自装置が同期するマスターノード10に決定する。
以上のように構成されたスレーブノード20は、時刻源の品質が高い装置によって時刻源の精度が劣化していると特定されたマスターノード10を除く他のマスターノード10を自装置が同期するマスターノード10に決定する。したがって、時刻源の精度が劣化していると特定されたマスターノード10の時刻が劣化している可能性が高い。そのため、精度の高い同期が可能になる。
本実施形態では、スレーブノード20が各マスターノード10との時刻同期処理時の所定のタイミングで取得した絶対時刻が、取得した絶対時刻の平均値Mに所定の値Aを加減した閾値の範囲内であるか否かに応じて時刻源の精度が劣化しているマスターノード10を判定する構成を示したが、これに限定される必要はない。例えば、スレーブノード20は、スレーブノード20が各マスターノード10との時刻同期処理時の所定のタイミングで取得した絶対時刻と、取得した絶対時刻の平均値Mとの差分値が、所定の値±Aの範囲内であるか否かに応じて時刻源の精度が劣化しているマスターノード10を判定するように構成されてもよい。以下、図6を用いて具体的に説明する。
図6は、判定部206が行う変形例における判定処理の判定基準に関する概略図である。なお、図6では、1台のスレーブノード20が時刻同期処理を行っているマスターノード10の台数が3台である場合を例に説明する。
図6において、縦軸は位相を表し、横軸tは時間を表す。位相は、スレーブノード20が各マスターノード10との時刻同期処理時の所定のタイミングで取得した絶対時刻と、取得した絶対時刻の平均値Mとの差分値(例えば、位相=平均値M−各絶対時刻)で表される。また、図6に示される遷移線37及び遷移線38は、時刻源の精度が劣化しているマスターノード10が存在すると判定する基準となる上限値A及び下限値−Aを表す。遷移線39、遷移線40及び遷移線41は、スレーブノード20が各マスターノード10(図6では、3台)との時刻同期処理時の所定のタイミングで取得した絶対時刻と、取得した絶対時刻の平均値Mとの差分値の推移を表す。各マスターノード10との時刻同期処理時の所定のタイミングで取得した絶対時刻と、取得した絶対時刻の平均値Mとの差分値(遷移線39、遷移線40及び遷移線41)のいずれもが、所定の値±Aの範囲内(遷移線37を上限値として遷移線38を下限値とした範囲内)である場合、判定部206は時刻源の精度が劣化しているマスターノード10がないと判定する。この場合、決定部207は、全てのマスターノード10を自装置が同期するマスターノード10に決定する。
一方、各マスターノード10との時刻同期処理時の所定のタイミングで取得した絶対時刻と、取得した絶対時刻の平均値Mとの差分値(遷移線39、遷移線40及び遷移線41)のいずれかが、所定の値±Aの範囲外(遷移線37を上限値として遷移線38を下限値とした範囲外)である場合、判定部206は時刻源の精度が劣化しているマスターノード10があると判定する。この場合、決定部207は、時刻源の精度が劣化しているマスターノード10を除く他のマスターノード10を自装置が同期するマスターノード10に決定する。すなわち、決定部207は、所定の値±Aの範囲外である差分値に関連するマスターノード10を除く他のマスターノード10を自装置が同期するマスターノード10に決定する。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
10(10−1〜10−M)…マスターノード, 20(20−1〜20−N)…スレーブノード, 30(30−1〜30−L)…ネットワーク, 101…マスタークロック生成部, 102…時計部, 103…パケット生成部, 104…通信部, 201…通信部, 202…制御部, 203…同期処理部, 204…時計部, 205…算出部, 206…判定部, 207…決定部

Claims (9)

  1. 自装置における時刻をマスターノードにおける時刻に同期させるための処理である時刻同期処理を自装置との間で行う複数のマスターノードのいずれかのマスターノードの時刻源の精度の劣化を示す条件が満たされた場合に、前記条件が満たされたマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する決定部
    他のスレーブノードに対して前記マスターノードの時刻源の精度の劣化を示す通知を送信する送信部と、
    を備えるスレーブノード。
  2. 各マスターノードとの間で行われる時刻同期処理時の所定のタイミングで取得される時刻の平均値を算出する算出部をさらに備え、
    前記決定部は、各マスターノードとの間で行われる時刻同期処理時の所定のタイミングで取得される時刻のいずれかが、算出された前記平均値に所定の値を加減して得られる閾値の範囲外である場合に、閾値の範囲外となった時刻に関連するマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する、請求項1に記載のスレーブノード。
  3. 各マスターノードとの間で行われる時刻同期処理時の所定のタイミングで取得される時刻の平均値を算出する算出部をさらに備え、
    前記決定部は、各マスターノードにおける時刻同期処理時の所定のタイミングの時刻と、算出された前記平均値との差分値のいずれかが、所定の閾値の範囲外である場合に、閾値の範囲外となった時刻に関連するマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する、請求項1に記載のスレーブノード。
  4. 記送信部は、前記閾値の範囲外となった時刻に関連するマスターノードの劣化を示す通知を前記他のスレーブノードに送信する、請求項2又は3のいずれか1項に記載のスレーブノード。
  5. 自装置における時刻をマスターノードにおける時刻に同期させるための処理である時刻同期処理を自装置との間で行う複数のマスターノードのいずれかのマスターノードの時刻源の精度の劣化を示す条件が満たされた場合に、前記条件が満たされたマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する決定部、
    を備え、
    前記決定部は、他装置から前記マスターノードの時刻源の精度の劣化を示す通知が受信された場合に、受信された通知で示されるマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定するスレーブノード。
  6. 各マスターノードとの間で行われる時刻同期処理時の所定のタイミングで取得される時刻の平均値を算出する算出部と、
    他装置から前記マスターノードの時刻源の精度の劣化を示す通知を受信する受信部と、をさらに備え、
    前記決定部は、所定の優先度に基づいて、前記通知により特定される、時刻源の精度が劣化しているマスターノード又は前記平均値に基づいて特定されるマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する、請求項1に記載のスレーブノード。
  7. 複数のノードを制御する制御サーバであって、
    各マスターノードとの間で行われる時刻同期処理時の所定のタイミングで取得される時刻の平均値を算出する算出部と、
    各マスターノードにおける時刻同期処理時の所定のタイミングの時刻と、算出された前記平均値との差分値のいずれが、所定の閾値の範囲外である場合に、閾値の範囲外となった時刻に関連するマスターノードの時刻源の精度の劣化を示す通知を前記マスターノードに接続するスレーブノードに送信する送信部と、
    を備える制御サーバ。
  8. スレーブノードにおける時刻をマスターノードにおける時刻に同期させるための処理である時刻同期処理を前記スレーブノードとの間で行う複数のマスターノードのいずれかのマスターノードの時刻源の精度の劣化を示す条件が満たされた場合に、前記条件が満たされたマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する決定ステップ
    他のスレーブノードに対して前記マスターノードの時刻源の精度の劣化を示す通知を送信する送信ステップと、
    を有する時刻同期先決定方法。
  9. スレーブノードにおける時刻をマスターノードにおける時刻に同期させるための処理である時刻同期処理を前記スレーブノードとの間で行う複数のマスターノードのいずれかのマスターノードの時刻源の精度の劣化を示す条件が満たされた場合に、前記条件が満たされたマスターノードを除く他のマスターノードを自装置が同期するマスターノードに決定する決定ステップ
    他のスレーブノードに対して前記マスターノードの時刻源の精度の劣化を示す通知を送信する送信ステップと、
    をコンピュータに実行させるためのコンピュータプログラム。
JP2014064693A 2014-03-26 2014-03-26 スレーブノード、制御サーバ、時刻同期先決定方法及びコンピュータプログラム Active JP6170456B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014064693A JP6170456B2 (ja) 2014-03-26 2014-03-26 スレーブノード、制御サーバ、時刻同期先決定方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014064693A JP6170456B2 (ja) 2014-03-26 2014-03-26 スレーブノード、制御サーバ、時刻同期先決定方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2015188152A JP2015188152A (ja) 2015-10-29
JP6170456B2 true JP6170456B2 (ja) 2017-07-26

Family

ID=54430195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014064693A Active JP6170456B2 (ja) 2014-03-26 2014-03-26 スレーブノード、制御サーバ、時刻同期先決定方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6170456B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
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 株式会社メディアリンクス 時刻同期システム
WO2020105130A1 (ja) 2018-11-20 2020-05-28 三菱電機株式会社 通信システム、リスト参照局、リスト配信局、通信方法、および通信プログラム
JP7520748B2 (ja) 2021-02-26 2024-07-23 株式会社東芝 時刻同期システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006228010A (ja) * 2005-02-18 2006-08-31 Ricoh Co Ltd 画像形成装置
JP5495323B2 (ja) * 2010-07-16 2014-05-21 Kddi株式会社 ネットワークを介した時刻同期装置
US9634782B2 (en) * 2012-06-19 2017-04-25 Nec Corporation Clock synchronization system, clock synchronization method, and storage medium whereupon clock synchronization program is stored
JP6079442B2 (ja) * 2013-05-31 2017-02-15 三菱電機株式会社 時刻同期装置、時刻同期システム及び時刻同期方法

Also Published As

Publication number Publication date
JP2015188152A (ja) 2015-10-29

Similar Documents

Publication Publication Date Title
JP5561426B2 (ja) 同期システム、同期方法、第一の同期装置、第二の同期装置及びコンピュータプログラム
JP5358813B2 (ja) ネットワークノード、時刻同期方法及びネットワークシステム
JP6170456B2 (ja) スレーブノード、制御サーバ、時刻同期先決定方法及びコンピュータプログラム
JP5495323B2 (ja) ネットワークを介した時刻同期装置
US8953645B2 (en) Communication system, communication apparatus and time synchronization method
JP6170415B2 (ja) 時刻同期システム、時刻同期方法及びコンピュータプログラム
US20170150464A1 (en) Communication apparatus, time synchronizing method, and non-transitory computer-readable storage medium
US9651984B2 (en) Feed-forward time transfer mechanism for time synchronization
US20160156427A1 (en) Clock recovery in a packet based network
JP6132734B2 (ja) 時刻同期システム及び装置
US9641269B2 (en) Apparatus and method for synchronizing clocks among communication devices
JP2011135482A (ja) 時刻同期システム、マスタノード、スレーブノード、中継装置、時刻同期方法及び時刻同期用プログラム
JP2017069669A (ja) 時刻同期装置、基地局装置、及び、時刻同期方法
JP2019505127A (ja) 同期方法及び装置
JP2013138312A5 (ja)
JP6254028B2 (ja) スレーブノード及び時刻同期方法
JP5736550B1 (ja) 基地局装置
US8472370B2 (en) Apparatus and method for timing synchronization in a communication system
JP6010802B2 (ja) 時刻同期システム、時刻同期方法、スレーブノード及びコンピュータプログラム
JP2016025474A (ja) 遅延測定方法、遅延測定装置、及びプログラム
US20130229982A1 (en) Synchronization method, device, and system
EP3163788B1 (en) Communication system, communication method, and communication program
JP6085864B2 (ja) 時刻同期システム、時刻同期方法、スレーブノード及びコンピュータプログラム
KR20100048124A (ko) 근거리 통신망에서의 시간 동기화 방법
US20220131681A1 (en) Communication control apparatus and communication control method

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: 20170417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170614

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: 20170627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170630

R150 Certificate of patent or registration of utility model

Ref document number: 6170456

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250