JP2014165581A - Time synchronization system, time synchronization method, slave node and computer program - Google Patents

Time synchronization system, time synchronization method, slave node and computer program Download PDF

Info

Publication number
JP2014165581A
JP2014165581A JP2013033192A JP2013033192A JP2014165581A JP 2014165581 A JP2014165581 A JP 2014165581A JP 2013033192 A JP2013033192 A JP 2013033192A JP 2013033192 A JP2013033192 A JP 2013033192A JP 2014165581 A JP2014165581 A JP 2014165581A
Authority
JP
Japan
Prior art keywords
time
average delay
unit
threshold
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.)
Granted
Application number
JP2013033192A
Other languages
Japanese (ja)
Other versions
JP6085864B2 (en
Inventor
Toshihiro Kohashi
敏浩 小橋
Kentaro Oikawa
健太郎 及川
Katsutoshi Gyoda
克俊 行田
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 Corp
Nippon Telegraph and Telephone East Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Corp, Nippon Telegraph and Telephone East Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013033192A priority Critical patent/JP6085864B2/en
Publication of JP2014165581A publication Critical patent/JP2014165581A/en
Application granted granted Critical
Publication of JP6085864B2 publication Critical patent/JP6085864B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve time synchronization accuracy with a reduced influence caused by packet fluctuation etc.SOLUTION: In a time synchronization system including a master node and a slave node that perform bidirectional communication, for synchronizing the time of the slave node with the time of the master node, the master node includes a communication unit for transmitting/receiving a control message to/from the slave node and the slave node includes: a communication unit for transmitting/receiving a control message to/from the master node; a calculation unit for calculating an average delay time using time information acquired when the communication unit transmits/receives the control message; and a time correction unit for correcting the time of the self-node if the average delay time calculated in the calculation unit is smaller than a threshold, and not correcting the time of the self-node if the average delay time calculated in the calculation unit is the threshold or larger.

Description

本発明は、時刻同期の技術に関する。   The present invention relates to a time synchronization technique.

従来、ネットワーク接続された複数の機器の時刻をマイクロ秒以下の精度で同期させる技術として、IEEE1588で定義されたPTP(Precision Time Protocol)が知られている(例えば、非特許文献1参照)。PTPでは、マスターノードとスレーブノードとの間で時刻情報を含むメッセージが定期的に交換される。スレーブノードは、マスターノード及びスレーブノードにおけるメッセージが送受信された時刻情報から、マスターノードに対するスレーブノードの時刻のずれ(Offset)を計算する。そして、スレーブノードは、計算したOffsetに基づいてスレーブノードの時刻を補正して、スレーブノードの時刻をマスターノードの時刻に同期させる。   Conventionally, PTP (Precision Time Protocol) defined by IEEE 1588 is known as a technique for synchronizing the times of a plurality of devices connected to a network with an accuracy of microseconds or less (see, for example, Non-Patent Document 1). In PTP, messages including time information are periodically exchanged between a master node and a slave node. The slave node calculates the time lag (Offset) of the slave node with respect to the master node from the time information at which the messages at the master node and the slave node are transmitted and received. Then, the slave node corrects the time of the slave node based on the calculated offset, and synchronizes the time of the slave node with the time of the master node.

“IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems,” IEEE Standard 1588-2008.“IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems,” IEEE Standard 1588-2008.

しかしながら、上述したPTPによる時刻同期は、ネットワーク環境によっては適切に機能しないことがある。例えば、PTPによる時刻同期は、Offsetを求めるために、マスターノードからスレーブノードへの伝送遅延と、スレーブノードからマスターノードへの伝送遅延とが等しいと仮定している。それに対して、一般的なネットワークでは、パケットの揺らぎなどの影響により、マスターノードからスレーブノードへの伝送遅延と、スレーブノードからマスターノードへの伝送遅延とが異なる値となる可能性が高い。このような場合、スレーブノードの時刻を補正する際に求められるOffsetの値には誤差が含まれる。   However, the above time synchronization by PTP may not function properly depending on the network environment. For example, time synchronization by PTP assumes that the transmission delay from the master node to the slave node is equal to the transmission delay from the slave node to the master node in order to obtain Offset. On the other hand, in a general network, there is a high possibility that the transmission delay from the master node to the slave node and the transmission delay from the slave node to the master node are different due to the influence of packet fluctuation or the like. In such a case, the offset value obtained when correcting the time of the slave node includes an error.

さらに、パケットの揺らぎなどの影響が大きい場合、求められるOffsetの値に含まれる誤差も大きくなってしまう。したがって、スレーブノードは、パケットの揺らぎなどの影響によって誤差の大きいOffsetの値でスレーブノードの時刻を補正してしまうおそれがあった。このような問題が発生すると、マスターノードとスレーブノードとの間で行われる時刻同期の精度が低下してしまう。このような問題は、PTPに限らず、時刻同期を行う全ての通信プロトコルに共通する問題である。   Further, when the influence of packet fluctuation or the like is large, the error included in the obtained offset value also increases. Therefore, the slave node may correct the time of the slave node with the offset value having a large error due to the influence of packet fluctuations. When such a problem occurs, the accuracy of time synchronization performed between the master node and the slave node decreases. Such a problem is not limited to PTP but is common to all communication protocols that perform time synchronization.

上記事情に鑑み、本発明は、パケットの揺らぎなどによる影響を軽減し、時刻同期の精度を向上させる技術の提供を目的としている。   In view of the above circumstances, an object of the present invention is to provide a technique for reducing the influence of packet fluctuations and the like and improving the accuracy of time synchronization.

本発明の一態様は、双方向通信を行うマスターノードとスレーブノードとを備え、前記スレーブノードにおける時刻を前記マスターノードにおける時刻に同期させる時刻同期システムであって、前記マスターノードは、前記スレーブノードと制御メッセージの送受信を行う通信部を備え、前記スレーブノードは、前記マスターノードと制御メッセージの送受信を行う通信部と、前記通信部が前記制御メッセージを送受信した際に取得される時刻情報を用いて平均遅延時間を算出する演算部と、前記演算部によって算出された前記平均遅延時間が閾値未満である場合に自装置の時刻を補正し、前記演算部によって算出された前記平均遅延時間が閾値以上である場合に自装置の時刻を補正しない時刻補正部と、を備える時刻同期システムである。   One aspect of the present invention is a time synchronization system that includes a master node and a slave node that perform bidirectional communication, and synchronizes the time in the slave node with the time in the master node, wherein the master node is the slave node A communication unit that transmits and receives control messages to and from the slave node, and a communication unit that transmits and receives control messages to and from the master node, and time information acquired when the communication unit transmits and receives the control messages. A calculation unit that calculates an average delay time, and corrects the time of the device itself when the average delay time calculated by the calculation unit is less than a threshold, and the average delay time calculated by the calculation unit is a threshold A time synchronization system comprising: a time correction unit that does not correct the time of the device itself in the above case.

本発明の一態様は、上記の時刻同期システムであって、前記演算部が算出する前記平均遅延時間を複数記憶する記憶部と、前記記憶部に記憶されている複数の前記平均遅延時間の統計値に基づいて閾値を選択する閾値選択部と、を更に備え、前記時刻補正部は、前記演算部によって算出された前記平均遅延時間が、閾値選択部が選択した閾値未満である場合に自装置の時刻を補正し、前記演算部によって算出された前記平均遅延時間が、閾値選択部が選択した閾値以上である場合に自装置の時刻を補正しない。   One aspect of the present invention is the time synchronization system described above, wherein the storage unit stores a plurality of the average delay times calculated by the arithmetic unit, and the statistics of the plurality of average delay times stored in the storage unit. A threshold value selection unit that selects a threshold value based on the value, and the time correction unit is self-apparatus when the average delay time calculated by the calculation unit is less than the threshold value selected by the threshold value selection unit. When the average delay time calculated by the calculation unit is equal to or greater than the threshold selected by the threshold selection unit, the time of the own device is not corrected.

本発明の一態様は、双方向通信を行うマスターノードとスレーブノードとを備え、前記スレーブノードにおける時刻を前記マスターノードにおける時刻に同期させる時刻同期システムが行う時刻同期方法であって、前記マスターノードが、前記スレーブノードと制御メッセージの送受信を行う通信ステップと、前記スレーブノードが、前記マスターノードと制御メッセージの送受信を行う通信ステップと、前記通信ステップによって前記制御メッセージを送受信した際に取得される時刻情報を用いて平均遅延時間を算出する演算ステップと、前記演算ステップによって算出された前記平均遅延時間が閾値未満である場合に自装置の時刻を補正し、前記演算ステップによって算出された前記平均遅延時間が閾値以上である場合に自装置の時刻を補正しない時刻補正ステップと、を有する時刻同期方法である。   One aspect of the present invention is a time synchronization method performed by a time synchronization system that includes a master node and a slave node that perform bidirectional communication, and synchronizes the time in the slave node with the time in the master node, the master node Is acquired when the slave node transmits / receives the control message, the communication step of transmitting / receiving the control message to / from the master node, and the communication step transmits / receives the control message. A calculation step of calculating an average delay time using time information, and correcting the time of the own apparatus when the average delay time calculated by the calculation step is less than a threshold, and the average calculated by the calculation step If the delay time is greater than or equal to the threshold, Positive and a time correction step is not a time synchronization method having a.

本発明の一態様は、上記の時刻同期方法であって、前記スレーブノードが、前記演算ステップによって算出される前記平均遅延時間を記憶部に記憶する記憶ステップと、前記記憶部に記憶されている複数の前記平均遅延時間の統計値に基づいて閾値を選択する閾値選択ステップと、を更に有し、前記スレーブノードは、前記時刻補正ステップにおいて、前記平均遅延時間が前記閾値未満である場合に自装置の時刻を補正し、前記平均遅延時間が前記閾値以上である場合に自装置の時刻を補正しない。   One aspect of the present invention is the time synchronization method described above, in which the slave node stores the average delay time calculated by the calculation step in a storage unit, and the storage unit stores the average delay time. A threshold selection step of selecting a threshold based on a plurality of statistical values of the average delay time, and the slave node automatically detects when the average delay time is less than the threshold in the time correction step. The time of the device is corrected, and the time of the own device is not corrected when the average delay time is equal to or greater than the threshold value.

本発明の一態様は、マスターノードに対して時刻同期を行うスレーブノードであって、前記マスターノードと制御メッセージの送受信を行う通信部と、前記通信部が前記制御メッセージを送受信した際に取得される時刻情報を用いて平均遅延時間を算出する演算部と、前記演算部によって算出された前記平均遅延時間が閾値未満である場合に自装置の時刻を補正し、前記演算部によって算出された前記平均遅延時間が閾値以上である場合に自装置の時刻を補正しない時刻補正部と、を備えるスレーブノードである。   One aspect of the present invention is a slave node that performs time synchronization with a master node, the communication unit transmitting and receiving a control message to and from the master node, and acquired when the communication unit transmits and receives the control message. A calculation unit that calculates an average delay time using time information, and corrects the time of the own device when the average delay time calculated by the calculation unit is less than a threshold, and the calculation unit calculates the time And a time correction unit that does not correct the time of the own device when the average delay time is equal to or greater than a threshold.

本発明の一態様は、上記のスレーブノードであって、前記演算部によって算出される前記平均遅延時間を複数記憶する記憶部と、前記記憶部に記憶されている複数の前記平均遅延時間の統計値に基づいて閾値を選択する閾値選択部と、を更に備え、前記時刻補正部は、前記平均遅延時間が、閾値未満である場合に自装置の時刻を補正し、前記平均遅延時間が、閾値以上である場合に自装置の時刻を補正しない。   One aspect of the present invention is the slave node, the storage unit storing a plurality of the average delay times calculated by the arithmetic unit, and the statistics of the plurality of average delay times stored in the storage unit A threshold selection unit that selects a threshold based on a value, and the time correction unit corrects the time of the device itself when the average delay time is less than the threshold, and the average delay time If it is above, the time of the own device is not corrected.

本発明の一態様は、双方向通信を行うマスターノードとスレーブノードとを備え、前記スレーブノードにおける時刻を前記マスターノードにおける時刻に同期させる時刻同期システムとして、前記マスターノードに相当する第一のコンピュータ及び前記スレーブノードに相当する第二のコンピュータを動作させるためのコンピュータプログラムであって、前記第一のコンピュータに対し、前記スレーブノードと制御メッセージの送受信を行う通信ステップを実行させ、前記第二のコンピュータに対し、前記マスターノードと制御メッセージの送受信を行う通信ステップと、前記通信ステップによって前記制御メッセージを送受信した際に取得される時刻情報を用いて平均遅延時間を算出する演算ステップと、前記演算ステップによって算出された前記平均遅延時間が閾値未満である場合に自装置の時刻を補正し、前記演算ステップによって算出された前記平均遅延時間が閾値以上である場合に自装置の時刻を補正しない時刻補正ステップと、を実行させるためのコンピュータプログラムである。   One aspect of the present invention includes a first computer corresponding to the master node as a time synchronization system that includes a master node and a slave node that perform bidirectional communication, and synchronizes the time in the slave node with the time in the master node. And a computer program for operating a second computer corresponding to the slave node, wherein the first computer is caused to execute a communication step of transmitting and receiving control messages to and from the slave node, and A communication step for transmitting / receiving control messages to / from the master node to the computer, a calculation step for calculating an average delay time using time information acquired when the control message is transmitted / received by the communication step, and the calculation Calculated by step A time correction step of correcting the time of the own device when the average delay time is less than a threshold, and not correcting the time of the own device when the average delay time calculated by the calculation step is greater than or equal to the threshold; Is a computer program for executing

本発明の一態様は、上記のコンピュータプログラムであって、前記演算ステップによって算出される前記平均遅延時間を記憶部に記憶する記憶ステップと、前記記憶部に記憶されている複数の前記平均遅延時間の統計値に基づいて閾値を選択する閾値選択ステップと、を更に実行させ、前記時刻補正ステップにおいて、前記平均遅延時間が前記閾値未満である場合に自装置の時刻を補正し、前記平均遅延時間が前記閾値以上である場合に自装置の時刻を補正しない。   One aspect of the present invention is the above-described computer program, wherein the storage step stores in the storage unit the average delay time calculated by the calculation step, and the plurality of average delay times stored in the storage unit And a threshold selection step of selecting a threshold based on the statistical value of the time, and in the time correction step, when the average delay time is less than the threshold, the time of its own device is corrected, and the average delay time Is not corrected when the time is equal to or greater than the threshold.

本発明により、パケットの揺らぎなどによる影響を軽減し、時刻同期の精度を向上させることが可能となる。   According to the present invention, it is possible to reduce the influence of packet fluctuations and the like and improve the accuracy of time synchronization.

IEEE1588の時刻同期アルゴリズムによる通信シーケンスの動作を表すシーケンス図である。It is a sequence diagram showing the operation | movement of the communication sequence by the time synchronous algorithm of IEEE1588. マスターノード10及びスレーブノード20の機能構成を表す概略ブロック図である。2 is a schematic block diagram illustrating functional configurations of a master node 10 and a slave node 20. FIG. 平均遅延時間DBの構成例を示す図である。It is a figure which shows the structural example of average delay time DB. 本実施形態におけるスレーブノード20による時刻同期処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the time synchronous process by the slave node 20 in this embodiment.

以下、本発明の一実施形態を、図面を参照しながら説明する。
まず、図1を用いてIEEE1588の時刻同期アルゴリズムについて説明する。図1は、IEEE1588の時刻同期アルゴリズムによる通信シーケンスの動作を表すシーケンス図である。図1では、マスターノード10とスレーブノード20とが双方向通信を行っており、スレーブノード20が定期的にマスターノード10の時刻にスレーブノード20の時刻を同期させる。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
First, an IEEE 1588 time synchronization algorithm will be described with reference to FIG. FIG. 1 is a sequence diagram showing the operation of a communication sequence according to the IEEE 1588 time synchronization algorithm. In FIG. 1, the master node 10 and the slave node 20 perform two-way communication, and the slave node 20 periodically synchronizes the time of the slave node 20 with the time of the master node 10.

マスターノード10は、スレーブノード20に対して、定期的にSyncメッセージを送信する(ステップS100)。マスターノード10は、Syncメッセージの送信時刻(以下、「Sync送信時刻」という。)Tm(0)を記録する(ステップS101)。次に、マスターノード10は、スレーブノード20に対して、Follow_upメッセージを送信する(ステップS102)。この際、マスターノード10は、Follow_upメッセージの中に、Sync送信時刻Tm(0)を格納する。   The master node 10 periodically transmits a Sync message to the slave node 20 (step S100). The master node 10 records the transmission time of the Sync message (hereinafter referred to as “Sync transmission time”) Tm (0) (step S101). Next, the master node 10 transmits a Follow_up message to the slave node 20 (step S102). At this time, the master node 10 stores the Sync transmission time Tm (0) in the Follow_up message.

スレーブノード20は、Syncメッセージを受信すると、この受信処理をトリガとしてSyncメッセージの受信時刻(以下、「Sync受信時刻」という。)Ts(0)を記録する(ステップS103)。次に、スレーブノード20はFollow_upメッセージを受信し、Follow_upメッセージ中に格納されるSync送信時刻Tm(0)を抽出し記録する。次に、スレーブノード20は、マスターノード10に対して、Delay_Requestメッセージを送信する(ステップS104)。そして、スレーブノード20は、Delay_Requestメッセージの送信時刻(以下、「Delay送信時刻」という。)Ts(1)を記録する(ステップS105)。   When receiving the Sync message, the slave node 20 records the reception time of the Sync message (hereinafter referred to as “Sync reception time”) Ts (0) using this reception process as a trigger (step S103). Next, the slave node 20 receives the Follow_up message, extracts and records the Sync transmission time Tm (0) stored in the Follow_up message. Next, the slave node 20 transmits a Delay_Request message to the master node 10 (step S104). Then, the slave node 20 records the transmission time of the Delay_Request message (hereinafter referred to as “Delay transmission time”) Ts (1) (step S105).

マスターノード10は、Delay_Requestメッセージを受信すると、この受信処理をトリガとしてDelay_Requestメッセージの受信時刻(以下、「Delay受信時刻」という。)Tm(1)を記録する(ステップS106)。次に、マスターノード10は、スレーブノード20に対してDelay_Responseメッセージを送信する(ステップS107)。この際、マスターノード10は、Delay_Responseメッセージの中に、Delay受信時刻Tm(1)を格納する。   When receiving the Delay_Request message, the master node 10 records the reception time of the Delay_Request message (hereinafter referred to as “Delay reception time”) Tm (1) using this reception process as a trigger (step S106). Next, the master node 10 transmits a Delay_Response message to the slave node 20 (step S107). At this time, the master node 10 stores the Delay reception time Tm (1) in the Delay_Response message.

スレーブノード20は、Delay_Responseメッセージを受信すると、Delay_Responseメッセージ中に格納されるDelay受信時刻Tm(1)を抽出し記録する。
スレーブノード20は、Sync送信時刻Tm(0)、Sync受信時刻Ts(0)に基づいて、以下の式1によってマスターノード10における時刻(以下、「マスター時刻」という。)とスレーブノード20における時刻(以下、「スレーブ時刻」という。)との差分MS_Diffを算出する。

Figure 2014165581
When receiving the Delay_Response message, the slave node 20 extracts and records the Delay reception time Tm (1) stored in the Delay_Response message.
Based on the Sync transmission time Tm (0) and the Sync reception time Ts (0), the slave node 20 calculates the time at the master node 10 (hereinafter referred to as “master time”) and the time at the slave node 20 according to the following formula 1. The difference MS_Diff from (hereinafter referred to as “slave time”) is calculated.
Figure 2014165581

また、スレーブノード20は、Delay送信時刻Ts(1)、Delay受信時刻Tm(1)に基づいて、以下の式2によってスレーブ時刻とマスター時刻との差分SM_Diffを求める。

Figure 2014165581
Further, the slave node 20 obtains a difference SM_Diff between the slave time and the master time by the following equation 2 based on the Delay transmission time Ts (1) and the Delay reception time Tm (1).
Figure 2014165581

式1のMS_Delayはマスターノード10からスレーブノード20への伝送遅延を表し、式2のSM_Delayはスレーブノード20からマスターノード10への伝送遅延を表し、式1及び式2のOffsetはマスターノード10に対するスレーブノード20の時刻オフセット(進み)を表す。なお、伝送遅延MS_Delay及びSM_Delayは、マスターノード10とスレーブノード20との間の伝播遅延と、マスターノード10とスレーブノード20との間のネットワーク上の中継ノードで生じるキューイング遅延などから構成される。   MS_Delay in Equation 1 represents the transmission delay from the master node 10 to the slave node 20, SM_Delay in Equation 2 represents the transmission delay from the slave node 20 to the master node 10, and Offset in Equation 1 and Equation 2 is relative to the master node 10. This represents the time offset (advance) of the slave node 20. The transmission delays MS_Delay and SM_Delay are composed of a propagation delay between the master node 10 and the slave node 20 and a queuing delay that occurs at a relay node on the network between the master node 10 and the slave node 20. .

以上のように、マスターノード10に対するスレーブノード20の時刻のずれであるOffsetに関して、式1及び式2の二つの式が得られる。しかし、この二つの式には、Offsetの他にMS_Delay及びSM_Delayという未知のパラメータが含まれている。したがって、三つの未知のパラメータに対し二つの式しか存在しないため、Offsetを算出することができない。そのため、IEEE1588では、マスターノード10からスレーブノード20への伝送遅延MS_Delayと、スレーブノード20からマスターノード10への伝送遅延SM_Delayとが等しく、いずれの値もDelayであると仮定して、上記の式1及び式2を以下の式3及び式4に変形する。   As described above, two expressions, Expression 1 and Expression 2, are obtained with respect to Offset, which is a time lag of the slave node 20 with respect to the master node 10. However, these two equations include unknown parameters MS_Delay and SM_Delay in addition to Offset. Therefore, since there are only two equations for the three unknown parameters, Offset cannot be calculated. Therefore, IEEE 1588 assumes that the transmission delay MS_Delay from the master node 10 to the slave node 20 is equal to the transmission delay SM_Delay from the slave node 20 to the master node 10, and that both values are delays. 1 and 2 are transformed into the following equations 3 and 4.

Figure 2014165581
Figure 2014165581
式3及び式4の連立方程式を解くことによって、以下の式5が導出される。
Figure 2014165581
Figure 2014165581
Figure 2014165581
By solving the simultaneous equations of Equation 3 and Equation 4, the following Equation 5 is derived.
Figure 2014165581

スレーブノード20は、導出された式5に基づいてOffsetを算出する。スレーブノード20は、算出したOffsetに基づいてスレーブ時刻を補正することによって、スレーブ時刻をマスター時刻に同期させる。以上が、IEEE1588に規定される時刻同期アルゴリズムである。   The slave node 20 calculates Offset based on the derived formula 5. The slave node 20 synchronizes the slave time with the master time by correcting the slave time based on the calculated offset. The time synchronization algorithm defined in IEEE 1588 has been described above.

図2は、マスターノード10及びスレーブノード20の機能構成を表す概略ブロック図である。まず、マスターノード10の機能構成を説明する。
マスターノード10は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、時刻同期用プログラムを実行する。時刻同期用プログラムの実行によって、マスターノード10は、マスタークロック生成部11、時計部12、パケット生成部13、通信部14を備える装置として機能する。なお、マスターノード10の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されても良い。また、時刻同期用プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、時刻同期用プログラムは、電気通信回線を介して送受信されても良い。
FIG. 2 is a schematic block diagram illustrating the functional configuration of the master node 10 and the slave node 20. First, the functional configuration of the master node 10 will be described.
The master node 10 includes a CPU (Central Processing Unit), a memory, an auxiliary storage device, and the like connected by a bus, and executes a time synchronization program. By executing the time synchronization program, the master node 10 functions as an apparatus including a master clock generation unit 11, a clock unit 12, a packet generation unit 13, and a communication unit 14. All or some of the functions of the master node 10 may be realized by using hardware such as an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a field programmable gate array (FPGA). The time synchronization program may be recorded on a computer-readable recording medium. The computer-readable recording medium is, for example, a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in the computer system. The time synchronization program may be transmitted / received via a telecommunication line.

マスタークロック生成部11は、例えば、VCXO(Voltage controlled xtal oscillators)等の電圧可変型の水晶発振器等を用いて構成される。また、マスタークロック生成部11は、マスタークロックを生成する。具体的には、マスタークロック生成部11は、マスターノード10における1秒の時間幅を決定する。なお、マスタークロック生成部11は、マスターノード10の外部に存在しても良い。   The master clock generation unit 11 is configured using, for example, a voltage variable crystal oscillator such as VCXO (Voltage controlled xtal oscillators). The master clock generator 11 generates a master clock. Specifically, the master clock generation unit 11 determines a time width of 1 second in the master node 10. The master clock generation unit 11 may exist outside the master node 10.

時計部12は、マスタークロック生成部11が生成したマスタークロックに従い、マスター時刻を決定する。具体的には、時計部12は、マスターノード10において何時何分何秒であるかを決める。時計部12は、マスター時刻の時刻情報をパケット生成部13に出力する。   The clock unit 12 determines the master time according to the master clock generated by the master clock generation unit 11. Specifically, the clock unit 12 determines what hour, minute, and second in the master node 10. The clock unit 12 outputs time information of the master time to the packet generation unit 13.

パケット生成部13は、PTPメッセージ(制御メッセージ)を生成する。PTPメッセージとは、具体的には、Syncメッセージ、Follow_upメッセージ、Delay_Responseメッセージである。Syncメッセージは、時刻同期化の動作を開始するために送信されるメッセージである。Follow_upメッセージは、Syncメッセージが送信された後に、Sync送信時刻Tm(0)の時刻情報を通知するために送信されるメッセージである。Delay_Responseメッセージは、マスターノード10がスレーブノード20から送信されるPTPメッセージに応答するために送信されるメッセージである。   The packet generator 13 generates a PTP message (control message). Specifically, the PTP message is a Sync message, a Follow_up message, or a Delay_Response message. The Sync message is a message that is transmitted to start the time synchronization operation. The Follow_up message is a message transmitted to notify the time information of the Sync transmission time Tm (0) after the Sync message is transmitted. The Delay_Response message is a message transmitted so that the master node 10 responds to the PTP message transmitted from the slave node 20.

パケット生成部13は、定期的に通信部14を介してSyncメッセージをスレーブノード20に送信し、同時に時計部12を参照してSync送信時刻Tm(0)を記録する。また、パケット生成部13は、Syncメッセージ送信後に、Sync送信時刻Tm(0)を格納したFollow_upメッセージを生成する。パケット生成部13は、通信部14を介してスレーブノード20にFollow_upメッセージを送信する。   The packet generation unit 13 periodically transmits a Sync message to the slave node 20 via the communication unit 14, and simultaneously records the Sync transmission time Tm (0) with reference to the clock unit 12. Further, the packet generation unit 13 generates a Follow_up message storing the Sync transmission time Tm (0) after transmitting the Sync message. The packet generation unit 13 transmits a Follow_up message to the slave node 20 via the communication unit 14.

また、パケット生成部13は、通信部14によって受信されるDelay_Requestメッセージの受信時刻(Delay受信時刻)Tm(1)を時計部12を参照して記録する。その後、パケット生成部13は記録した受信時刻Tm(1)を格納したDelay_Responseメッセージを生成し、通信部14を介してスレーブノード20にDelay_Responseメッセージを送信する。
通信部14は、スレーブノード20との間で通信を行う。例えば、通信部14は、スレーブノード20からDelay_Requestメッセージを受信し、パケット生成部13に転送する。また、通信部14は、Syncメッセージ、Follow_upメッセージ、Delay_Responseメッセージをスレーブノード20に送信する。
Further, the packet generator 13 records the reception time (Delay reception time) Tm (1) of the Delay_Request message received by the communication unit 14 with reference to the clock unit 12. Thereafter, the packet generator 13 generates a Delay_Response message storing the recorded reception time Tm (1), and transmits the Delay_Response message to the slave node 20 via the communication unit 14.
The communication unit 14 communicates with the slave node 20. For example, the communication unit 14 receives a Delay_Request message from the slave node 20 and transfers it to the packet generation unit 13. In addition, the communication unit 14 transmits a Sync message, a Follow_up message, and a Delay_Response message to the slave node 20.

次に、スレーブノード20の機能構成を説明する。
スレーブノード20は、バスで接続されたCPUやメモリや補助記憶装置などを備え、時刻同期用プログラムを実行する。時刻同期用プログラムの実行によって、スレーブノード20は、スレーブクロック生成部21、時計部22、通信部23、制御部24、演算部25、平均遅延時間記憶部26、閾値選択部27、判定部28、時刻補正部29を備える装置として機能する。なお、スレーブノード20の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されても良い。また、時刻同期用プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、時刻同期用プログラムは、電気通信回線を介して送受信されても良い。
Next, the functional configuration of the slave node 20 will be described.
The slave node 20 includes a CPU, a memory, an auxiliary storage device, and the like connected by a bus, and executes a time synchronization program. By executing the time synchronization program, the slave node 20 is connected to the slave clock generation unit 21, the clock unit 22, the communication unit 23, the control unit 24, the calculation unit 25, the average delay time storage unit 26, the threshold selection unit 27, and the determination unit 28. , Function as a device including the time correction unit 29. All or some of the functions of the slave node 20 may be realized using hardware such as an ASIC, PLD, or FPGA. The time synchronization program may be recorded on a computer-readable recording medium. The computer-readable recording medium is, for example, a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in the computer system. The time synchronization program may be transmitted / received via a telecommunication line.

スレーブクロック生成部21は、例えば、VCXO等の電圧可変型の水晶発振器等を用いて構成される。スレーブクロック生成部21は、スレーブクロックを生成する。具体的には、スレーブクロック生成部21は、スレーブノード20における1秒の時間幅を決定する。なお、スレーブクロック生成部21は、スレーブノード20の外部に存在しても良い。   The slave clock generation unit 21 is configured using, for example, a voltage variable crystal oscillator such as VCXO. The slave clock generation unit 21 generates a slave clock. Specifically, the slave clock generation unit 21 determines a time width of 1 second in the slave node 20. The slave clock generator 21 may exist outside the slave node 20.

時計部22は、スレーブクロック生成部21が生成したスレーブクロックに従い、スレーブ時刻を決定する。具体的には、時計部22は、スレーブノード20において何時何分何秒であるかを決める。時計部22は、スレーブ時刻の時刻情報を制御部24に出力する。   The clock unit 22 determines the slave time according to the slave clock generated by the slave clock generation unit 21. Specifically, the clock unit 22 determines what hour, minute, and second in the slave node 20. The clock unit 22 outputs the time information of the slave time to the control unit 24.

通信部23は、マスターノード10との間で通信を行う。例えば、通信部23は、マスターノード10からSyncメッセージ、Follow_upメッセージ、Delay_Responseメッセージを受信し、制御部24に転送する。また、通信部23は、Delay_Requestメッセージをマスターノード10に送信する。
制御部24は、スレーブノード20の各機能部を制御する。また、制御部24は、Delay_Requestメッセージ(制御メッセージ)を生成し、通信部23を介してマスターノード10にDelay_Requestメッセージを送信する。この際、制御部24は、時計部22を参照してDelay送信時刻Ts(1)を記録する。Delay_Requestメッセージは、通信部23がマスターノード10から送信されるFollow_upメッセージを受信した後に、マスターノード10にDelay_Responseメッセージを要求するために送信されるメッセージである。
The communication unit 23 communicates with the master node 10. For example, the communication unit 23 receives a Sync message, Follow_up message, and Delay_Response message from the master node 10 and transfers them to the control unit 24. In addition, the communication unit 23 transmits a Delay_Request message to the master node 10.
The control unit 24 controls each functional unit of the slave node 20. Further, the control unit 24 generates a Delay_Request message (control message) and transmits the Delay_Request message to the master node 10 via the communication unit 23. At this time, the control unit 24 refers to the clock unit 22 and records the Delay transmission time Ts (1). The Delay_Request message is a message transmitted to request a Delay_Response message from the master node 10 after the communication unit 23 receives a Follow_up message transmitted from the master node 10.

また、制御部24は、通信部23からSyncメッセージが転送された際に時計部22を参照してSync受信時刻Ts(0)を記録する。また、制御部24は、Follow_upメッセージに格納されているSync送信時刻Tm(0)を抽出し記録する。また、制御部24は、Delay_Responseメッセージに格納されているDelay受信時刻Tm(1)を抽出し記録する。その後、制御部24は、各時刻情報(Sync送信時刻Tm(0)、Sync受信時刻Ts(0)、Delay送信時刻Ts(1)、Delay受信時刻Tm(1))を演算部25及び時刻補正部29に出力する。   Further, when the Sync message is transferred from the communication unit 23, the control unit 24 refers to the clock unit 22 and records the Sync reception time Ts (0). Further, the control unit 24 extracts and records the Sync transmission time Tm (0) stored in the Follow_up message. Further, the control unit 24 extracts and records the Delay reception time Tm (1) stored in the Delay_Response message. Thereafter, the control unit 24 calculates each time information (Sync transmission time Tm (0), Sync reception time Ts (0), Delay transmission time Ts (1), Delay reception time Tm (1)) with the arithmetic unit 25 and time correction. To the unit 29.

演算部25は、制御部24から出力された各時刻情報を用いて平均遅延時間を算出する。平均遅延時間は、マスターノード10からスレーブノード20への伝送遅延MS_Diffと、スレーブノード20からマスターノード10への伝送遅延SM_Diffとの平均時間である。具体的には、演算部25は、以下の式6に基づいて平均遅延時間t_dを算出する。

Figure 2014165581
The computing unit 25 calculates the average delay time using each time information output from the control unit 24. The average delay time is an average time of the transmission delay MS_Diff from the master node 10 to the slave node 20 and the transmission delay SM_Diff from the slave node 20 to the master node 10. Specifically, the calculation unit 25 calculates the average delay time t_d based on the following Expression 6.
Figure 2014165581

平均遅延時間記憶部26は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。平均遅延時間記憶部26は、平均遅延時間DB(Data Base:データベース)を記憶している。平均遅延時間DBには、演算部25によって算出された平均遅延時間の値が複数格納されている。平均遅延時間記憶部26は、演算部25が平均遅延時間を算出する度に、算出された平均遅延時間の値を平均遅延時間DBに追加して記憶する。   The average delay time storage unit 26 is configured using a storage device such as a magnetic hard disk device or a semiconductor storage device. The average delay time storage unit 26 stores an average delay time DB (Data Base). In the average delay time DB, a plurality of values of the average delay time calculated by the calculation unit 25 are stored. The average delay time storage unit 26 stores the calculated average delay time value in addition to the average delay time DB every time the arithmetic unit 25 calculates the average delay time.

閾値選択部27は、平均遅延時間DBに格納されている複数の平均遅延時間に基づいて閾値を選択する。例えば、閾値選択部27は、平均遅延時間DBに格納されている複数の平均遅延時間の統計を取ることによって閾値を選択しても良い。より具体的には、閾値選択部27は、複数の平均遅延時間の中から最小の平均遅延時間の値を閾値に選択しても良いし、複数の平均遅延時間の平均値を閾値に選択しても良いし、その他の統計値を閾値に選択しても良い。また、閾値は、閾値選択部27によって出荷時に予め記憶されていても良いし、ユーザによって任意に決定されても良い。   The threshold selection unit 27 selects a threshold based on a plurality of average delay times stored in the average delay time DB. For example, the threshold selection unit 27 may select a threshold by taking statistics of a plurality of average delay times stored in the average delay time DB. More specifically, the threshold selection unit 27 may select a minimum average delay time value from among a plurality of average delay times as a threshold, or select an average value of a plurality of average delay times as a threshold. Alternatively, other statistical values may be selected as threshold values. The threshold value may be stored in advance by the threshold selection unit 27 at the time of shipment, or may be arbitrarily determined by the user.

判定部28は、演算部25が算出した平均遅延時間と、閾値選択部27が選択した閾値とに基づいて時計部22のスレーブ時刻の補正を行うか否かを判定する。演算部25が算出した平均遅延時間が閾値以上である場合、判定部28は時計部22のスレーブ時刻の補正を行わないと判定する。一方、演算部25が算出した平均遅延時間が閾値未満である場合、判定部28は時計部22のスレーブ時刻の補正を行うと判定する。この場合、判定部28は、時刻補正部29にスレーブ時刻を補正するように指示する。   The determination unit 28 determines whether or not to correct the slave time of the clock unit 22 based on the average delay time calculated by the calculation unit 25 and the threshold selected by the threshold selection unit 27. When the average delay time calculated by the calculation unit 25 is equal to or greater than the threshold, the determination unit 28 determines not to correct the slave time of the clock unit 22. On the other hand, when the average delay time calculated by the calculation unit 25 is less than the threshold, the determination unit 28 determines to correct the slave time of the clock unit 22. In this case, the determination unit 28 instructs the time correction unit 29 to correct the slave time.

時刻補正部29は、判定部28の判定結果に基づいて時計部22のスレーブ時刻を補正する。具体的には、時刻補正部29は、以下のようにしてスレーブ時刻を補正する。時刻補正部29は、制御部24から出力された各時刻情報を用いてOffsetを算出する。そして、時刻補正部29は、算出したOffsetを用いてスレーブ時刻を補正する。時刻補正部29のこの処理によって、時計部22のスレーブ時刻は、マスターノード10の時計部12のマスター時刻に同期する。   The time correction unit 29 corrects the slave time of the clock unit 22 based on the determination result of the determination unit 28. Specifically, the time correction unit 29 corrects the slave time as follows. The time correction unit 29 calculates Offset using each time information output from the control unit 24. Then, the time correction unit 29 corrects the slave time using the calculated offset. By this processing of the time correction unit 29, the slave time of the clock unit 22 is synchronized with the master time of the clock unit 12 of the master node 10.

図3は、平均遅延時間DBの構成例を示す図である。
平均遅延時間DBは、平均遅延時間に関する情報を表すレコード30を複数有する。レコード30は、番号、平均遅延時間の各値を有する。番号の値は、レコード30によって表される平均遅延時間が格納された順番を表す。平均遅延時間の値は、レコード30によって表される平均遅延時間の項目を表す。
FIG. 3 is a diagram illustrating a configuration example of the average delay time DB.
The average delay time DB has a plurality of records 30 representing information related to the average delay time. The record 30 has each value of number and average delay time. The value of the number represents the order in which the average delay time represented by the record 30 is stored. The value of the average delay time represents an item of the average delay time represented by the record 30.

図3に示す例では、平均遅延時間DBには番号“1”から番号“N”までN個の平均遅延時間(“t_d1”〜“t_dN”)が格納されている。例えば、図3において、平均遅延時間DBの最上段の行は、番号の値が“1”、平均遅延時間の値が“t_d1”である。即ち、平均遅延時間DBに1番目に格納された平均遅延時間の値が“t_d1”であることが表されている。   In the example illustrated in FIG. 3, N average delay times (“t_d1” to “t_dN”) from number “1” to number “N” are stored in the average delay time DB. For example, in FIG. 3, the uppermost row of the average delay time DB has a number value “1” and an average delay time value “t_d1”. That is, the value of the average delay time stored first in the average delay time DB is “t_d1”.

閾値選択部27は、平均遅延時間DBに格納されている複数の平均遅延時間の値に基づいて閾値を選択する。なお、閾値選択部27は、平均遅延時間の値が平均遅延時間DBに格納されると、次回の処理において、新たに格納された平均遅延時間の値を含めた複数の平均遅延時間の値に基づいて閾値を選択する。   The threshold selection unit 27 selects a threshold based on a plurality of average delay time values stored in the average delay time DB. When the average delay time value is stored in the average delay time DB, the threshold selection unit 27 sets a plurality of average delay time values including the newly stored average delay time value in the next process. Based on this, a threshold is selected.

図4は、本実施形態におけるスレーブノード20による時刻同期処理の流れを示すフローチャートである。図4では、平均遅延時間DBにN個の平均遅延時間が格納されている状態における処理の流れについて説明する。
スレーブノード20の通信部23は、マスターノード10から送信されるSyncメッセージを受信する(ステップS201)。具体的には、通信部23は、マスターノード10からSyncメッセージを受信し、受信したSyncメッセージを制御部24に転送する。制御部24は、Syncメッセージが転送されると、時計部22を参照してSync受信時刻Ts(0)を記録する。
FIG. 4 is a flowchart showing the flow of time synchronization processing by the slave node 20 in the present embodiment. FIG. 4 illustrates a processing flow in a state where N average delay times are stored in the average delay time DB.
The communication unit 23 of the slave node 20 receives the Sync message transmitted from the master node 10 (step S201). Specifically, the communication unit 23 receives a Sync message from the master node 10 and transfers the received Sync message to the control unit 24. When the Sync message is transferred, the control unit 24 refers to the clock unit 22 and records the Sync reception time Ts (0).

次に、通信部23は、マスターノード10から送信されるFollow_upメッセージを受信する(ステップS202)。具体的には、通信部23は、マスターノード10からFollow_upメッセージを受信し、受信したFollow_upメッセージを制御部24に転送する。制御部24は、Follow_upメッセージ中に格納されているSync送信時刻Tm(0)を抽出し記録する。   Next, the communication unit 23 receives a Follow_up message transmitted from the master node 10 (step S202). Specifically, the communication unit 23 receives a Follow_up message from the master node 10 and transfers the received Follow_up message to the control unit 24. The control unit 24 extracts and records the Sync transmission time Tm (0) stored in the Follow_up message.

制御部24は、Delay_Requestメッセージを生成し、通信部23を介してマスターノード10にDelay_Requestメッセージを送信する(ステップS203)。この際、制御部24は、時計部22を参照してDelay送信時刻Ts(1)を記録する(ステップS204)。その後、通信部23は、マスターノード10から送信されるDelay_Responseメッセージを受信する(ステップS205)。   The control unit 24 generates a Delay_Request message and transmits the Delay_Request message to the master node 10 via the communication unit 23 (step S203). At this time, the control unit 24 refers to the clock unit 22 and records the Delay transmission time Ts (1) (step S204). Thereafter, the communication unit 23 receives a Delay_Response message transmitted from the master node 10 (step S205).

具体的には、通信部23は、マスターノード10からDelay_Responseメッセージ受信し、受信したDelay_Responseメッセージを制御部24に転送する。制御部24は、Delay_Responseメッセージ中に格納されているDelay受信時刻Tm(1)を抽出し記録する。制御部24は、記録している各時刻情報(Sync送信時刻Tm(0)、Sync受信時刻Ts(0)、Delay送信時刻Ts(1)、Delay受信時刻Tm(1))を演算部25及び時刻補正部29に出力する。   Specifically, the communication unit 23 receives the Delay_Response message from the master node 10 and transfers the received Delay_Response message to the control unit 24. The control unit 24 extracts and records the Delay reception time Tm (1) stored in the Delay_Response message. The control unit 24 outputs the recorded time information (Sync transmission time Tm (0), Sync reception time Ts (0), Delay transmission time Ts (1), Delay reception time Tm (1)) to the arithmetic unit 25 and Output to the time correction unit 29.

演算部25は、制御部24から出力された各時刻情報を用いて平均遅延時間を算出する(ステップS206)。次に、閾値選択部27は、平均遅延時間記憶部26に記憶されている平均遅延時間DBを読み出す。閾値選択部27は、読み出した平均遅延時間DBに基づいて閾値を選択する(ステップS207)。具体的には、閾値選択部27は、平均遅延時間DBに格納されている複数の平均遅延時間の統計を取ることによって閾値を選択する。   The computing unit 25 calculates the average delay time using each time information output from the control unit 24 (step S206). Next, the threshold selection unit 27 reads the average delay time DB stored in the average delay time storage unit 26. The threshold selection unit 27 selects a threshold based on the read average delay time DB (step S207). Specifically, the threshold selection unit 27 selects a threshold by taking statistics of a plurality of average delay times stored in the average delay time DB.

判定部28は、演算部25がステップS206で算出した平均遅延時間が、閾値選択部27が選択した閾値以上であるか否かを判定する(ステップS208)。平均遅延時間が閾値以上である場合(ステップS208−YES)、判定部28は時計部22のスレーブ時刻の補正を行わないと判定する。そして、演算部25はステップS206で算出した平均遅延時間を平均遅延時間DBに追加して記録する(ステップS209)。その後、図4の処理は終了する。   The determination unit 28 determines whether or not the average delay time calculated by the calculation unit 25 in step S206 is equal to or greater than the threshold selected by the threshold selection unit 27 (step S208). When the average delay time is equal to or greater than the threshold (step S208—YES), the determination unit 28 determines not to correct the slave time of the clock unit 22. And the calculating part 25 adds and records the average delay time calculated by step S206 to average delay time DB (step S209). Thereafter, the process of FIG. 4 ends.

一方、平均遅延時間が閾値未満である場合(ステップS208−NO)、判定部28は時計部22のスレーブ時刻の補正を行うと判定する。この場合、判定部28は、時刻補正部29に時計部22のスレーブ時刻の補正を行うように指示する。
時刻補正部29は、判定部28からの指示を受けると、制御部24から出力された各時刻情報を用いてOffsetを算出する。時刻補正部29は、算出したOffsetに基づいて時計部22のスレーブ時刻を補正する。具体的には、以下のように時計部22のスレーブ時刻を補正する。補正前の時計部22のスレーブ時刻は、マスターノード10の時計部12のマスター時刻にOffsetの値が加わった時刻である。そのため、時刻補正部29は、補正前の時計部22のスレーブ時刻を、Offsetの値だけ減算した時刻となるように補正する(ステップS210)。演算部25は、ステップS206で算出した平均遅延時間を平均遅延時間DBに追加して記録する(ステップS209)。その後、図4の処理が終了する。
On the other hand, when the average delay time is less than the threshold value (NO in step S208), the determination unit 28 determines to correct the slave time of the clock unit 22. In this case, the determination unit 28 instructs the time correction unit 29 to correct the slave time of the clock unit 22.
When receiving the instruction from the determination unit 28, the time correction unit 29 calculates Offset using each time information output from the control unit 24. The time correction unit 29 corrects the slave time of the clock unit 22 based on the calculated offset. Specifically, the slave time of the clock unit 22 is corrected as follows. The slave time of the clock unit 22 before correction is the time when the offset value is added to the master time of the clock unit 12 of the master node 10. Therefore, the time correction unit 29 corrects the slave time of the clock unit 22 before correction to be a time obtained by subtracting only the value of Offset (step S210). The calculation unit 25 adds the average delay time calculated in step S206 to the average delay time DB and records it (step S209). Thereafter, the process of FIG. 4 ends.

以上のように構成されたスレーブノード20によれば、平均遅延時間DBに格納されている全ての平均遅延時間を用いて選択された閾値に基づいて、スレーブ時刻の補正を行うか否かが判定される。算出された平均遅延時間が閾値以上である場合、スレーブノード20はパケットの揺らぎなどによる影響が大きいと判定し、スレーブ時刻の補正を行わない。一方、算出された平均遅延時間が閾値未満である場合、スレーブノード20はパケットの揺らぎなどによる影響が小さいと判定し、スレーブ時刻の補正を行う。したがって、スレーブノード20は、パケットの揺らぎなどによる影響が大きい場合にはスレーブ時刻の補正を行わず、パケットの揺らぎなどによる影響が小さい場合にのみスレーブノード20のスレーブ時刻を補正することができる。そのため、パケットの揺らぎなどによる影響を軽減し、時刻同期の精度を向上させることが可能となる。   According to the slave node 20 configured as described above, it is determined whether or not to correct the slave time based on a threshold value selected using all the average delay times stored in the average delay time DB. Is done. If the calculated average delay time is equal to or greater than the threshold, the slave node 20 determines that the influence of packet fluctuation or the like is large, and does not correct the slave time. On the other hand, when the calculated average delay time is less than the threshold, the slave node 20 determines that the influence of the packet fluctuation is small, and corrects the slave time. Therefore, the slave node 20 can correct the slave time of the slave node 20 only when the influence of the packet fluctuation is small, without correcting the slave time when the influence of the fluctuation of the packet is large. Therefore, it is possible to reduce the influence of packet fluctuations and improve the accuracy of time synchronization.

<変形例>
一台のマスターノード10に対してスレーブノード20が複数台接続されて構成されても良い。
また、本実施例では、マスターノード10とスレーブノード20との間で送受信されるメッセージとしてPTPメッセージを示したが、これに限定される必要はない。例えば、NTP(Network Time Protocol)メッセージやSNTP(Simple Network Time Protocol)メッセージなどのメッセージが用いられても良いし、その他のメッセージが用いられても良い。
<Modification>
A plurality of slave nodes 20 may be connected to one master node 10.
In this embodiment, the PTP message is shown as a message transmitted / received between the master node 10 and the slave node 20, but the present invention is not limited to this. For example, a message such as an NTP (Network Time Protocol) message or an SNTP (Simple Network Time Protocol) message may be used, or another message may be used.

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes designs and the like that do not depart from the gist of the present invention.

10…マスターノード, 20…スレーブノード, 11…マスタークロック生成部, 12…時計部, 13…パケット生成部, 14…通信部, 21…スレーブクロック生成部, 22…時計部, 23…通信部, 24…制御部, 25…演算部, 26…平均遅延時間記憶部(記憶部), 27…閾値選択部, 28…判定部, 29…時刻補正部 DESCRIPTION OF SYMBOLS 10 ... Master node, 20 ... Slave node, 11 ... Master clock generation part, 12 ... Clock part, 13 ... Packet generation part, 14 ... Communication part, 21 ... Slave clock generation part, 22 ... Clock part, 23 ... Communication part, 24 ... Control unit, 25 ... Calculation unit, 26 ... Average delay time storage unit (storage unit), 27 ... Threshold selection unit, 28 ... Determination unit, 29 ... Time correction unit

Claims (8)

双方向通信を行うマスターノードとスレーブノードとを備え、前記スレーブノードにおける時刻を前記マスターノードにおける時刻に同期させる時刻同期システムであって、
前記マスターノードは、
前記スレーブノードと制御メッセージの送受信を行う通信部を備え、
前記スレーブノードは、
前記マスターノードと制御メッセージの送受信を行う通信部と、
前記通信部が前記制御メッセージを送受信した際に取得される時刻情報を用いて平均遅延時間を算出する演算部と、
前記演算部によって算出された前記平均遅延時間が閾値未満である場合に自装置の時刻を補正し、前記演算部によって算出された前記平均遅延時間が閾値以上である場合に自装置の時刻を補正しない時刻補正部と、
を備える時刻同期システム。
A time synchronization system comprising a master node and a slave node that perform bidirectional communication, and synchronizes the time at the slave node with the time at the master node,
The master node is
A communication unit that transmits and receives control messages to and from the slave node;
The slave node is
A communication unit that transmits and receives control messages to and from the master node;
An arithmetic unit that calculates an average delay time using time information acquired when the communication unit transmits and receives the control message;
When the average delay time calculated by the calculation unit is less than the threshold, the time of the own device is corrected. When the average delay time calculated by the calculation unit is equal to or greater than the threshold, the time of the own device is corrected. Not time correction unit,
A time synchronization system comprising:
前記演算部が算出する前記平均遅延時間を複数記憶する記憶部と、
前記記憶部に記憶されている複数の前記平均遅延時間の統計値に基づいて閾値を選択する閾値選択部と、を更に備え、
前記時刻補正部は、演算部によって算出された前記平均遅延時間が、前記閾値選択部によって選択された閾値未満である場合に自装置の時刻を補正し、前記演算部によって算出された前記平均遅延時間が、前記閾値選択部によって選択された閾値以上である場合に自装置の時刻を補正しない請求項1に記載の時刻同期システム。
A storage unit for storing a plurality of the average delay times calculated by the calculation unit;
A threshold selection unit that selects a threshold based on a plurality of statistical values of the average delay time stored in the storage unit,
The time correction unit corrects the time of its own device when the average delay time calculated by the calculation unit is less than the threshold selected by the threshold selection unit, and the average delay calculated by the calculation unit The time synchronization system according to claim 1, wherein the time of the own device is not corrected when the time is equal to or greater than a threshold selected by the threshold selection unit.
双方向通信を行うマスターノードとスレーブノードとを備え、前記スレーブノードにおける時刻を前記マスターノードにおける時刻に同期させる時刻同期システムが行う時刻同期方法であって、
前記マスターノードが、
前記スレーブノードと制御メッセージの送受信を行う通信ステップと、
前記スレーブノードが、
前記マスターノードと制御メッセージの送受信を行う通信ステップと、
前記通信ステップによって前記制御メッセージを送受信した際に取得される時刻情報を用いて平均遅延時間を算出する演算ステップと、
前記演算ステップによって算出された前記平均遅延時間が閾値未満である場合に自装置の時刻を補正し、前記演算ステップによって算出された前記平均遅延時間が閾値以上である場合に自装置の時刻を補正しない時刻補正ステップと、
を有する時刻同期方法。
A time synchronization method comprising a master node and a slave node that perform bidirectional communication, and a time synchronization system that synchronizes the time at the slave node with the time at the master node,
The master node is
A communication step for transmitting and receiving control messages to and from the slave node;
The slave node is
A communication step for transmitting and receiving control messages to and from the master node;
A calculation step of calculating an average delay time using time information acquired when the control message is transmitted and received by the communication step;
When the average delay time calculated by the calculation step is less than a threshold, the time of the own device is corrected, and when the average delay time calculated by the calculation step is equal to or greater than the threshold, the time of the own device is corrected. No time correction step,
A time synchronization method.
前記スレーブノードが、前記演算ステップによって算出される前記平均遅延時間を記憶部に記憶する記憶ステップと、
前記記憶部に記憶されている複数の前記平均遅延時間の統計値に基づいて閾値を選択する閾値選択ステップと、を更に有し、
前記スレーブノードは、前記時刻補正ステップにおいて、前記平均遅延時間が前記閾値未満である場合に自装置の時刻を補正し、前記平均遅延時間が前記閾値以上である場合に自装置の時刻を補正しない請求項3に記載の時刻同期方法。
A storage step in which the slave node stores the average delay time calculated by the calculation step in a storage unit;
A threshold selection step of selecting a threshold based on a plurality of statistical values of the average delay time stored in the storage unit,
In the time correction step, the slave node corrects the time of the own device when the average delay time is less than the threshold, and does not correct the time of the own device when the average delay time is equal to or greater than the threshold. The time synchronization method according to claim 3.
マスターノードに対して時刻同期を行うスレーブノードであって、
前記マスターノードと制御メッセージの送受信を行う通信部と、
前記通信部が前記制御メッセージを送受信した際に取得される時刻情報を用いて平均遅延時間を算出する演算部と、
前記演算部によって算出された前記平均遅延時間が閾値未満である場合に自装置の時刻を補正し、前記演算部によって算出された前記平均遅延時間が閾値以上である場合に自装置の時刻を補正しない時刻補正部と、
を備えるスレーブノード。
A slave node that performs time synchronization with a master node,
A communication unit that transmits and receives control messages to and from the master node;
An arithmetic unit that calculates an average delay time using time information acquired when the communication unit transmits and receives the control message;
When the average delay time calculated by the calculation unit is less than the threshold, the time of the own device is corrected. When the average delay time calculated by the calculation unit is equal to or greater than the threshold, the time of the own device is corrected. Not time correction unit,
A slave node comprising
前記演算部によって算出される前記平均遅延時間を複数記憶する記憶部と、
前記記憶部に記憶されている複数の前記平均遅延時間の統計値に基づいて閾値を選択する閾値選択部と、を更に備え、
前記時刻補正部は、前記平均遅延時間が、閾値未満である場合に自装置の時刻を補正し、前記平均遅延時間が、閾値以上である場合に自装置の時刻を補正しない請求項5に記載のスレーブノード。
A storage unit for storing a plurality of the average delay times calculated by the calculation unit;
A threshold selection unit that selects a threshold based on a plurality of statistical values of the average delay time stored in the storage unit,
The said time correction part correct | amends the time of an own apparatus, when the said average delay time is less than a threshold value, and does not correct the time of an own apparatus, when the said average delay time is more than a threshold value. Slave node.
双方向通信を行うマスターノードとスレーブノードとを備え、前記スレーブノードにおける時刻を前記マスターノードにおける時刻に同期させる時刻同期システムとして、前記マスターノードに相当する第一のコンピュータ及び前記スレーブノードに相当する第二のコンピュータを動作させるためのコンピュータプログラムであって、
前記第一のコンピュータに対し、
前記スレーブノードと制御メッセージの送受信を行う通信ステップを実行させ、
前記第二のコンピュータに対し、
前記マスターノードと制御メッセージの送受信を行う通信ステップと、
前記通信ステップによって前記制御メッセージを送受信した際に取得される時刻情報を用いて平均遅延時間を算出する演算ステップと、
前記演算ステップによって算出された前記平均遅延時間が閾値未満である場合に自装置の時刻を補正し、前記演算ステップによって算出された前記平均遅延時間が閾値以上である場合に自装置の時刻を補正しない時刻補正ステップと、
を実行させるためのコンピュータプログラム。
A time synchronization system that includes a master node and a slave node that perform bidirectional communication, and synchronizes the time at the slave node with the time at the master node, and corresponds to a first computer corresponding to the master node and the slave node A computer program for operating a second computer,
For the first computer,
Executing a communication step of transmitting and receiving control messages to and from the slave node;
For the second computer,
A communication step for transmitting and receiving control messages to and from the master node;
A calculation step of calculating an average delay time using time information acquired when the control message is transmitted and received by the communication step;
When the average delay time calculated by the calculation step is less than a threshold, the time of the own device is corrected, and when the average delay time calculated by the calculation step is equal to or greater than the threshold, the time of the own device is corrected. No time correction step,
A computer program for running.
前記演算ステップによって算出される前記平均遅延時間を記憶部に記憶する記憶ステップと、
前記記憶部に記憶されている複数の前記平均遅延時間の統計値に基づいて閾値を選択する閾値選択ステップと、を更に実行させ、
前記時刻補正ステップにおいて、前記平均遅延時間が前記閾値未満である場合に自装置の時刻を補正し、前記平均遅延時間が前記閾値以上である場合に自装置の時刻を補正しない請求項7に記載のコンピュータプログラム。
A storage step of storing the average delay time calculated by the calculation step in a storage unit;
A threshold selection step of selecting a threshold based on a plurality of statistical values of the average delay time stored in the storage unit, and
The time correction step corrects the time of the own device when the average delay time is less than the threshold, and does not correct the time of the own device when the average delay time is greater than or equal to the threshold. Computer program.
JP2013033192A 2013-02-22 2013-02-22 Time synchronization system, time synchronization method, slave node, and computer program Active JP6085864B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013033192A JP6085864B2 (en) 2013-02-22 2013-02-22 Time synchronization system, time synchronization method, slave node, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013033192A JP6085864B2 (en) 2013-02-22 2013-02-22 Time synchronization system, time synchronization method, slave node, and computer program

Publications (2)

Publication Number Publication Date
JP2014165581A true JP2014165581A (en) 2014-09-08
JP6085864B2 JP6085864B2 (en) 2017-03-01

Family

ID=51615849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013033192A Active JP6085864B2 (en) 2013-02-22 2013-02-22 Time synchronization system, time synchronization method, slave node, and computer program

Country Status (1)

Country Link
JP (1) JP6085864B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9602271B2 (en) 2015-06-01 2017-03-21 Globalfoundries Inc. Sub-nanosecond distributed clock synchronization using alignment marker in ethernet IEEE 1588 protocol
CN113923837A (en) * 2021-10-14 2022-01-11 深圳市轩火部落科技有限公司 Display control method for Christmas lamp group and related product

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007174676A (en) * 2005-12-23 2007-07-05 Agilent Technol Inc Removing delay fluctuation in network time synchronization
JP2009077207A (en) * 2007-09-21 2009-04-09 Nippon Telegr & Teleph Corp <Ntt> Client device and synchronization system
JP2011071869A (en) * 2009-09-28 2011-04-07 Oki Electric Industry Co Ltd Clock synchronizing method and packet communication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007174676A (en) * 2005-12-23 2007-07-05 Agilent Technol Inc Removing delay fluctuation in network time synchronization
JP2009077207A (en) * 2007-09-21 2009-04-09 Nippon Telegr & Teleph Corp <Ntt> Client device and synchronization system
JP2011071869A (en) * 2009-09-28 2011-04-07 Oki Electric Industry Co Ltd Clock synchronizing method and packet communication system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9602271B2 (en) 2015-06-01 2017-03-21 Globalfoundries Inc. Sub-nanosecond distributed clock synchronization using alignment marker in ethernet IEEE 1588 protocol
CN113923837A (en) * 2021-10-14 2022-01-11 深圳市轩火部落科技有限公司 Display control method for Christmas lamp group and related product

Also Published As

Publication number Publication date
JP6085864B2 (en) 2017-03-01

Similar Documents

Publication Publication Date Title
JP5561426B2 (en) Synchronization system, synchronization method, first synchronization device, second synchronization device, and computer program
JP3993508B2 (en) Wireless access network system, wireless communication method, synchronization server, and node device
US9634782B2 (en) Clock synchronization system, clock synchronization method, and storage medium whereupon clock synchronization program is stored
US9203725B2 (en) Update of a cumulative residence time of a packet in a packet-switched communication network
JP6192995B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMPUTER PROGRAM
JP6010802B2 (en) Time synchronization system, time synchronization method, slave node, and computer program
JP2013152095A (en) Time control device, time control method and program
JP6170415B2 (en) Time synchronization system, time synchronization method, and computer program
US9651984B2 (en) Feed-forward time transfer mechanism for time synchronization
EP2749968A1 (en) Time control device, time control method, and program
KR102103698B1 (en) Communication system and slave device
WO2013051447A1 (en) Time control device, time control method, and program
US9641269B2 (en) Apparatus and method for synchronizing clocks among communication devices
JP6254028B2 (en) Slave node and time synchronization method
JP2017069669A (en) Time synchronizing device, base station device, and time synchronizing method
JP6170456B2 (en) Slave node, control server, time synchronization destination determination method and computer program
JP6085864B2 (en) Time synchronization system, time synchronization method, slave node, and computer program
US9442511B2 (en) Method and a device for maintaining a synchronized local timer using a periodic signal
JP6198075B2 (en) Time synchronization apparatus, time synchronization method, and time synchronization program
KR20170058629A (en) Method, apparatus, system and computer program for enhancing the accuracy of Time Synchronization between devices
JPWO2020095413A1 (en) Communication systems, communication devices, and programs
JP6572136B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE, SECOND DEVICE, COMMUNICATION METHOD, AND COMPUTER PROGRAM
JP6010803B2 (en) Time synchronization system, time synchronization method, slave node, and computer program
JP2024011842A (en) Information communication system and information communication device
JP2023003969A (en) Slave device, time synchronization method, and time synchronization program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160801

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170113

R150 Certificate of patent or registration of utility model

Ref document number: 6085864

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250