JP5515735B2 - Time synchronization system, master node, slave node, relay device, time synchronization method, and time synchronization program - Google Patents
Time synchronization system, master node, slave node, relay device, time synchronization method, and time synchronization program Download PDFInfo
- Publication number
- JP5515735B2 JP5515735B2 JP2009294971A JP2009294971A JP5515735B2 JP 5515735 B2 JP5515735 B2 JP 5515735B2 JP 2009294971 A JP2009294971 A JP 2009294971A JP 2009294971 A JP2009294971 A JP 2009294971A JP 5515735 B2 JP5515735 B2 JP 5515735B2
- Authority
- JP
- Japan
- Prior art keywords
- delay
- node
- time
- master node
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Description
本発明は、通信を行うノード間で時刻の同期を行うための技術に関する。 The present invention relates to a technique for synchronizing time between nodes that perform communication.
従来、モバイルバックホールやファクトリオートメーション、家庭内AV用LAN(Local Area Network)などで高精度の時刻同期が求められている。このような背景の元で、時刻同期を行うための技術の標準化が進められている。例えば、パケットネットワークにおいて、マイクロ秒未満の精度で時刻同期を行なうための技術としてIEEE1588がある(非特許文献1参照)。 Conventionally, high-accuracy time synchronization is required for mobile backhaul, factory automation, home AV LAN (Local Area Network), and the like. Against this background, standardization of technology for performing time synchronization is underway. For example, there is IEEE 1588 as a technique for performing time synchronization with accuracy of less than microseconds in a packet network (see Non-Patent Document 1).
IEEE1588に規定されている技術では、マスタ/スレーブノード間でのメッセージ交換によってタイムスタンプ情報が交換される。スレーブノードは、マスタ及びスレーブノードにおけるメッセージ送受信時刻から、マスタノードに対するスレーブノードの時刻のずれ(Offset)を計算する。そして、スレーブノードは、このOffsetに基づいてスレーブノードの時刻を補正し、スレーブノードの時刻をマスタノードに同期させる。 In the technology defined in IEEE1588, time stamp information is exchanged by exchanging messages between master / slave nodes. The slave node calculates a time lag (Offset) of the slave node with respect to the master node from the message transmission / reception times at the master and the slave node. Then, the slave node corrects the time of the slave node based on this Offset, and synchronizes the time of the slave node with the master node.
IEEE1588では、Offsetを求めるために、マスタノードからスレーブノードへの伝送遅延(MS_Delay)と、スレーブノードからマスタノードへの伝送遅延(SM_Delay)は等しいと仮定する。しかしながら、パケットネットワークではルータ、スイッチ等の中継ノードにおけるキューイング遅延等により、MS_DelayとSM_Delayとは異なる値となる可能性が高い。そのため、MS_DelayとSM_Delayとが等しいという仮定により、Offsetに誤差が生じてしまい、時刻同期精度が劣化してしまっていた。 In IEEE1588, in order to obtain Offset, it is assumed that the transmission delay (MS_Delay) from the master node to the slave node is equal to the transmission delay (SM_Delay) from the slave node to the master node. However, in packet networks, MS_Delay and SM_Delay are likely to be different values due to queuing delays in relay nodes such as routers and switches. For this reason, the assumption that MS_Delay and SM_Delay are equal causes an error in Offset, which degrades the time synchronization accuracy.
このような問題を解決するために、IEEE1588 version 2において、Transparent Clock (TC)機能が規定されている。なお、以降の説明では、このTC機能を利用したIEEE1588をIEEE1588v2 w/TCと記す。
In order to solve such a problem, IEEE 1588
しかしながら、IEEE1588v2 w/TCでは、高精度を実現するためにはより多くの中継ノード(究極的には全中継ノード)がTC機能を有する必要がある。一方、既にネットワークに配置されている既存ノードはTC機能を持たないものが大部分を占める。そのため、IEEE1588v2 w/TCを実現するためには、中継ノードの置き換えや機能追加が必要となる。したがって、IEEE1588v2 w/TCの実現は、コストや手間などの観点から非常に困難であるという問題がある。
上記事情に鑑み、本発明は、導入に要するコストを抑え、高精度の時刻同期を実現する技術を提供することを目的とする。
However, in IEEE1588v2 w / TC, in order to achieve high accuracy, more relay nodes (ultimately all relay nodes) need to have a TC function. On the other hand, most existing nodes already placed in the network do not have the TC function. Therefore, in order to realize IEEE1588v2 w / TC, it is necessary to replace the relay node and add functions. Therefore, there is a problem that the realization of IEEE1588v2 w / TC is very difficult from the viewpoint of cost and labor.
In view of the above circumstances, it is an object of the present invention to provide a technique for reducing the cost required for introduction and realizing highly accurate time synchronization.
本発明の一態様は、互いに通信するマスタノード及びスレーブノードと、前記マスタノード及びスレーブノード間の通信を中継する中継装置とを備え、スレーブノードにおける時刻をマスタノードにおける時刻に同期させる時刻同期システムであって、前記マスタノードは、前記スレーブノードに対し制御メッセージを送信する送信部と、前記スレーブノードから制御メッセージを受信する受信部と、を備え、前記マスタノード又は前記中継装置は、前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量を計測する第一遅延計測部と、前記第一遅延計測部によって計測された前記第一遅延量を前記スレーブノードに通知する通知部と、を備え、前記スレーブノード又は前記中継装置は、前記マスタノードから前記スレーブノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測する第二遅延計測部、を備え、前記スレーブノードは、前記マスタノードに対し制御メッセージを送信する送信部と、前記マスタノードから前記制御メッセージを受信する受信部と、前記マスタノードから通知された前記第一遅延量と、前記第二遅延計測部によって計測された前記第二遅延量とを用いて、前記スレーブノードにおける時刻と前記マスタノードにおける時刻との差分を計算し、前記スレーブノードにおける時刻を前記マスタノードにおける時刻に同期させる時刻同期制御部と、を備えることを特徴とする。 One aspect of the present invention includes a master node and a slave node that communicate with each other, and a relay device that relays communication between the master node and the slave node, and synchronizes the time at the slave node with the time at the master node. The master node includes a transmission unit that transmits a control message to the slave node, and a reception unit that receives a control message from the slave node, and the master node or the relay device includes the slave A first delay measuring unit for measuring a first delay amount representing a queuing delay received in a communication path by a control message transmitted from a node to the master node; and the first delay measured by the first delay measuring unit. A notification unit for notifying the slave node of the amount, Alternatively, the relay device includes a second delay measuring unit that measures a second delay amount indicating a queuing delay received in a communication path by a control message transmitted from the master node to the slave node, A transmission unit that transmits a control message to the master node, a reception unit that receives the control message from the master node, the first delay amount notified from the master node, and the second delay measurement unit. A time synchronization control unit that calculates a difference between the time at the slave node and the time at the master node using the measured second delay amount, and synchronizes the time at the slave node with the time at the master node; It is characterized by providing.
本発明の一態様は、マスタノードと通信し、前記マスタノードに対し制御メッセージを送信する送信部と、前記マスタノードから制御メッセージを受信する受信部と、前記マスタノードから送信される前記制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測する第二遅延計測部と、前記マスタノードから通知される前記第一遅延量と、前記第二遅延計測部によって計測された前記第二遅延量とを用いて、時刻を前記マスタノードにおける時刻に同期させる時刻同期制御部と、を備えるスレーブノードを有する時刻同期システムに具備されるマスタノードであって、前記スレーブノードに対し制御メッセージを送信する送信部と、前記スレーブノードから制御メッセージを受信する受信部と、前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量を計測する第一遅延計測部と、前記第一遅延計測部によって計測された前記第一遅延量を前記スレーブノードに通知する通知部と、を備えること特徴とする。 One aspect of the present invention is a transmitter that communicates with a master node and transmits a control message to the master node; a receiver that receives a control message from the master node; and the control message transmitted from the master node A second delay measuring unit that measures a second delay amount representing a queuing delay received in the communication path, the first delay amount notified from the master node, and the second delay measuring unit measured by the second delay measuring unit And a time synchronization control unit that synchronizes the time with the time in the master node using a second delay amount, and is a master node provided in a time synchronization system having a slave node, and controls the slave node A transmitter for transmitting a message, a receiver for receiving a control message from the slave node, and the slave node A first delay measuring unit for measuring a first delay amount representing a queuing delay received in a communication path from a control message transmitted from the master node to the master node, and the first delay amount measured by the first delay measuring unit And a notification unit for notifying the slave node.
本発明の一態様は、スレーブノードと通信し、前記スレーブノードに対し制御メッセージを送信する送信部と、前記スレーブノードから制御メッセージを受信する受信部と、前記スレーブノードから送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量を計測する第一遅延計測部と、前記第一遅延計測部によって計測された前記第一遅延量を通知する通知部と、を備えるマスタノードを有する時刻同期システムに具備されるスレーブノードであって、前記マスタノードに対し制御メッセージを送信する送信部と、前記マスタノードから前記制御メッセージを受信する受信部と、前記マスタノードから前記スレーブノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測する第二遅延計測部と、前記マスタノードから通知された前記第一遅延量と、自装置の前記第二遅延計測部によって計測された前記第二遅延量とを用いて、前記スレーブノードにおける時刻と前記マスタノードにおける時刻との差分を計算し、前記スレーブノードにおける時刻を前記マスタノードにおける時刻に同期させる時刻同期制御部と、を備えることを特徴とする。 One aspect of the present invention is a transmitter that communicates with a slave node and transmits a control message to the slave node; a receiver that receives a control message from the slave node; and a control message transmitted from the slave node. A master node comprising: a first delay measurement unit that measures a first delay amount that represents a queuing delay received in a communication path; and a notification unit that notifies the first delay amount measured by the first delay measurement unit A slave node provided in a time synchronization system having a transmitter that transmits a control message to the master node, a receiver that receives the control message from the master node, and a slave node from the master node A second delay that represents the queuing delay that the control message sent to Using the second delay measuring unit that measures the amount, the first delay amount notified from the master node, and the second delay amount measured by the second delay measuring unit of the device itself, the slave A time synchronization control unit that calculates a difference between the time at the node and the time at the master node and synchronizes the time at the slave node with the time at the master node.
本発明の一態様は、マスタノードと、時刻を前記マスタノードの時刻に同期させるスレーブノードと、の間の通信を中継する中継装置であって、前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量を計測する第一遅延計測部と、前記マスタノードから前記スレーブノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測し、前記第一遅延量と、計測された前記第二遅延量とを用いて、前記スレーブノードにおける時刻と前記マスタノードにおける時刻との差分を計算し、前記スレーブノードにおける時刻を前記マスタノードにおける時刻に同期させる前記スレーブノードに対し、前記第一遅延計測部によって計測された前記第一遅延量を通知する通知部と、を備える。 One aspect of the present invention is a relay device that relays communication between a master node and a slave node that synchronizes the time with the time of the master node, the control being transmitted from the slave node to the master node A first delay measurement unit that measures a first delay amount that represents a queuing delay that the message has received in the communication path, and a control message that is transmitted from the master node to the slave node represents the queuing delay that has been received in the communication path A second delay amount is measured, and the difference between the time at the slave node and the time at the master node is calculated using the first delay amount and the measured second delay amount; The first delay measuring unit measures the slave node that synchronizes the time with the time in the master node. Comprising a notification unit, a notifying said first delay amount which is.
本発明の一態様は、マスタノードと、時刻を前記マスタノードの時刻に同期させるスレーブノードと、の間の通信を中継する中継装置であって、前記マスタノードから前記スレーブノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測する第二遅延計測部と、前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量と、前記第二遅延量とを用いて、前記スレーブノードにおける時刻と前記マスタノードにおける時刻との差分を計算し、前記スレーブノードにおける時刻を前記マスタノードにおける時刻に同期させる前記スレーブノードに対し、前記第二遅延計測部によって計測された前記第二遅延量を通知する通知部と、を備える。 One aspect of the present invention is a relay device that relays communication between a master node and a slave node that synchronizes time with the time of the master node, the control being transmitted from the master node to the slave node A second delay measuring unit that measures a second delay amount that represents a queuing delay that the message has received in the communication path; and a control message that is transmitted from the slave node to the master node represents the queuing delay that has been received in the communication path. The slave that calculates the difference between the time at the slave node and the time at the master node by using the first delay amount and the second delay amount, and synchronizes the time at the slave node with the time at the master node The node that notifies the second delay amount measured by the second delay measurement unit to the node. It comprises a part, a.
本発明の一態様は、互いに通信するマスタノード及びスレーブノードと、前記マスタノード及びスレーブノード間の通信を中継する中継装置とを備え、スレーブノードにおける時刻をマスタノードにおける時刻に同期させる時刻同期システムが行う時刻同期方法であって、前記マスタノードが、前記スレーブノードに対し制御メッセージを送信する送信ステップと、前記マスタノードが、前記スレーブノードから制御メッセージを受信する受信ステップと、前記マスタノード又は前記中継装置が、前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量を計測する第一遅延計測ステップと、前記マスタノード又は前記中継装置が、前記第一遅延計測ステップによって計測された前記第一遅延量を前記スレーブノードに通知する通知ステップと、前記スレーブノードが、前記マスタノードに対し制御メッセージを送信する送信ステップと、前記スレーブノードが、前記マスタノードから前記制御メッセージを受信する受信ステップと、前記スレーブノード又は前記中継装置が、前記マスタノードから前記スレーブノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測する第二遅延計測ステップと、前記スレーブノードが、前記マスタノードから通知された前記第一遅延量と、前記第二遅延計測ステップによって計測された前記第二遅延量とを用いて、前記スレーブノードにおける時刻と前記マスタノードにおける時刻との差分を計算し、前記スレーブノードにおける時刻を前記マスタノードにおける時刻に同期させる時刻同期制御ステップと、を備えることを特徴とする。 One aspect of the present invention includes a master node and a slave node that communicate with each other, and a relay device that relays communication between the master node and the slave node, and synchronizes the time at the slave node with the time at the master node. The master node transmits a control message to the slave node, the master node receives a control message from the slave node, and the master node or A first delay measuring step in which the relay device measures a first delay amount representing a queuing delay received in a communication path by a control message transmitted from the slave node to the master node; and the master node or the relay device. Is determined by the first delay measurement step. A notification step of notifying the slave node of the measured first delay amount, a transmission step of the slave node transmitting a control message to the master node, and the slave node from the master node to the control message And a second delay in which the slave node or the relay device measures a second delay amount representing a queuing delay received in a communication path by a control message transmitted from the master node to the slave node. The measurement step, the slave node using the first delay amount notified from the master node and the second delay amount measured by the second delay measurement step, the time at the slave node and the The difference with the time at the master node is calculated, and the slave node Characterized in that it comprises a time synchronization control step of synchronizing the time to time in the master node, the at.
本発明の一態様は、互いに通信するマスタノード及びスレーブノードと、前記マスタノード及びスレーブノード間の通信を中継する中継装置とを備え、スレーブノードにおける時刻をマスタノードにおける時刻に同期させる時刻同期システムとして、前記マスタノードに相当する第一のコンピュータ、前記スレーブノードに相当する第二のコンピュータ、及び前記中継装置に相当する第三のコンピュータを動作させるための時刻同期用プログラムであって、前記第一のコンピュータに対し、前記スレーブノードに対し制御メッセージを送信する送信ステップと、前記スレーブノードから制御メッセージを受信する受信ステップと、を実行させ、前記第一のコンピュータ又は前記第三のコンピュータに対し、前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量を計測する第一遅延計測ステップと、前記第一遅延計測ステップによって計測された前記第一遅延量を前記スレーブノードに通知する通知ステップと、を実行させ、前記第二のコンピュータ又は前記第三のコンピュータに対し、前記マスタノードから前記スレーブノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測する第二遅延計測ステップ、を実行させ、前記第二のコンピュータに対し、前記マスタノードに対し制御メッセージを送信する送信ステップと、前記マスタノードから前記制御メッセージを受信する受信ステップと、前記マスタノードから通知された前記第一遅延量と、前記第二遅延計測ステップによって計測された前記第二遅延量とを用いて、前記スレーブノードにおける時刻と前記マスタノードにおける時刻との差分を計算し、前記スレーブノードにおける時刻を前記マスタノードにおける時刻に同期させる時刻同期制御ステップと、を実行させることを特徴とする。 One aspect of the present invention includes a master node and a slave node that communicate with each other, and a relay device that relays communication between the master node and the slave node, and synchronizes the time at the slave node with the time at the master node. A time synchronization program for operating a first computer corresponding to the master node, a second computer corresponding to the slave node, and a third computer corresponding to the relay device, One computer is caused to execute a transmission step of transmitting a control message to the slave node and a reception step of receiving a control message from the slave node, to the first computer or the third computer , From the slave node to the master A first delay measurement step of measuring a first delay amount representing a queuing delay received in a communication path by a control message transmitted to a communication path, and the first delay amount measured by the first delay measurement step A notification step of notifying a slave node, and causing the second computer or the third computer to receive a queuing delay received in a communication path by a control message transmitted from the master node to the slave node. A second delay measuring step of measuring a second delay amount to be expressed, a transmission step of transmitting a control message to the master node to the second computer, and receiving the control message from the master node A receiving step, the first delay amount notified from the master node, and the first delay amount. A time for calculating a difference between the time at the slave node and the time at the master node using the second delay amount measured by the delay measurement step, and synchronizing the time at the slave node with the time at the master node And a synchronization control step.
本発明により、導入に要するコストを抑え、高精度の時刻同期を実現することが可能となる。 According to the present invention, it is possible to reduce the cost required for introduction and realize highly accurate time synchronization.
[IEEE1588]
まず、IEEE1588の時刻同期アルゴリズムについて説明する。図1は、IEEE1588の時刻同期アルゴリズムによる通信シーケンスを表すシーケンス図である。図1では、マスタノード100とスレーブノード200とが双方向通信を行っており、スレーブノード200が定期的にマスタノード100に時刻を同期させる。
[IEEE1588]
First, the IEEE 1588 time synchronization algorithm will be described. FIG. 1 is a sequence diagram showing a communication sequence according to the IEEE 1588 time synchronization algorithm. In FIG. 1, the
マスタノード100は、スレーブノード200に対して、定期的にSyncメッセージを送信する(ステップS100)。マスタノード100は、このSyncメッセージの送信時刻(以下、「Sync送信時刻」という。)Tm(0)を記録する(ステップS101)。次に、マスタノード100は、スレーブノード200に対して、Follow_upメッセージを送信する。このとき、マスタノード100は、Follow_upメッセージの中に、Sync送信時刻Tm(0)を格納する。
The
スレーブノード200は、Syncメッセージを受信すると、この受信処理をトリガとしてSyncメッセージの受信時刻(以下、「Sync受信時刻」という。)Ts(0)を記録する(ステップS102)。次に、スレーブノード200はFollow_upメッセージを受信し、Follow_upメッセージ中に格納されるSync送信時刻Tm(0)を抽出し記録する。次に、スレーブノード200は、マスタノード100に対して、Delay_Requestメッセージを送信する(ステップS104)。そして、スレーブノード200は、このDelay_Requestメッセージの送信時刻(以下、「Delay送信時刻」という。)Ts(1)を記録する(ステップS105)。
Upon receiving the Sync message, the
マスタノード100は、Delay_Requestメッセージを受信すると、この受信処理をトリガとしてDelay_Requestメッセージの受信時刻(以下、「Delay受信時刻」という。)Tm(1)を記録する(ステップS106)。次に、マスタノード100は、スレーブノード200に対してDelay_Responseメッセージを送信する(ステップS107)。このとき、マスタノード100は、Delay_Responseメッセージの中に、Delay受信時刻Tm(1)を格納する。
When receiving the Delay_Request message, the
スレーブノード200は、Delay_Responseメッセージを受信すると、Delay_Responseメッセージ中に格納されるDelay受信時刻Tm(1)を抽出し記録する。
スレーブノード200は、Sync送信時刻Tm(0)、Sync受信時刻Ts(0)に基づいて、以下の式1から、マスタノード100における時刻(以下、「マスタ時刻」という。)とスレーブノード200における時刻(以下、「スレーブ時刻」という。)との差分MS_Diffを算出する。
MS_Diff = Ts(0) - Tm(0) = MS_Delay + Offset ・・・式1
When the
Based on the Sync transmission time Tm (0) and the Sync reception time Ts (0), the
MS_Diff = Ts (0)-Tm (0) = MS_Delay + Offset ・ ・ ・
また、スレーブノード200は、Delay送信時刻Ts(1)、Delay受信時刻Tm(1)に基づいて、以下の式2から、スレーブ時刻とマスタ時刻との差分を求める。
SM_Diff = Tm(1) - Ts(1) = SM_Delay - Offset ・・・式2
In addition, the
SM_Diff = Tm (1)-Ts (1) = SM_Delay-Offset ・ ・ ・
ここで、MS_Delayはマスタノード100からスレーブノード200への伝送遅延を表し、SM_Delayはスレーブノード200からマスタノード100への伝送遅延を表し、Offsetはマスタノード100に対するスレーブノード200の時刻オフセット(進み)を表す。なお、伝送遅延MS_Delay及びSM_Delayは、マスタノード100とスレーブノード200との間の伝播遅延と、マスタノード100とスレーブノード200との間のネットワーク上の中継ノードで生じるキューイング遅延から構成される。
Here, MS_Delay represents a transmission delay from the
以上のように、マスタノード100に対するスレーブノード200の時刻のずれであるOffsetに関して、式1及び式2の二つの式が得られる。しかし、この二つの式には、Offsetの他にMS_Delay及びSM_Delayという未知のパラメータが含まれている。したがって、三つの未知のパラメータに対し二つの式しか存在しないため、Offsetを算出することができない。そのため、IEEE1588では、マスタノード100からスレーブノード200への伝送遅延MS_Delayと、スレーブノード200からマスタノード100への伝送遅延SM_Delayとが等しく、いずれの値もDelayであると仮定して、上記の式1及び式2を以下の式3及び式4に変形する。
As described above, two expressions,
MS_Diff = Delay + Offset ・・・式3
SM_Diff = Delay - Offset ・・・式4
式3及び式4の連立方程式を解くことによって、以下の式5が導出される。
Offset = (MS_Diff - SM_Diff) / 2 ・・・式5
MS_Diff = Delay + Offset ・ ・ ・
SM_Diff = Delay-Offset ・ ・ ・
By solving the simultaneous equations of
Offset = (MS_Diff-SM_Diff) / 2 ...
スレーブノード200は、式5に基づいてOffsetを算出し、Offsetに基づいてスレーブ時刻を補正することによって、スレーブ時刻をマスタ時刻に同期させる。以上が、IEEE1588に規定される時刻同期アルゴリズムである。
The
[IEEE1588v2 w/TC]
次に、IEEE1588v2 w/TCの時刻同期アルゴリズムについて説明する。図2は、IEEE1588及びIEEE1588v2 w/TCの時刻同期アルゴリズムの概略を表す概略図である。図2Aは、IEEE1588の時刻同期アルゴリズムの概略を表す。図2Bは、IEEE1588v2 w/TC の時刻同期アルゴリズムの概略を表す。図2A及び図2BのD1〜D6は、それぞれ各中継ノードRe1〜Re3において発生する、矢印方向への伝送におけるキューイング遅延を表す。
[IEEE1588v2 w / TC]
Next, the IEEE 1588v2 w / TC time synchronization algorithm will be described. FIG. 2 is a schematic diagram showing an outline of the time synchronization algorithm of IEEE1588 and IEEE1588v2 w / TC. FIG. 2A shows an outline of the IEEE 1588 time synchronization algorithm. FIG. 2B shows an outline of the IEEE 1588v2 w / TC time synchronization algorithm. D1 to D6 in FIGS. 2A and 2B represent queuing delays in transmission in the direction of the arrow, which occur in the relay nodes Re1 to Re3, respectively.
IEEE1588v2 w/TCでは、各中継ノードRe1〜Re3はTC機能を備える。TC機能とは、制御メッセージ(IEEE1588メッセージ)のパケットのノード内滞在時間を計測し、その時間を制御パケットの所定のフィールドに記載し、累積加算していく機能である。なお、IEEE1588メッセージとは、具体的にはSyncメッセージ及びDelay_Requestメッセージである。IEEE1588v2 w/TCでは、TC機能により、制御パケットが中継ノードRe1〜Re3を経由するごとに、中継ノードRe1〜Re3での滞在時間がメッセージ内に累積加算される。そのため、スレーブノード200は、マスタノード100からスレーブノード200へ向けた伝送における各中継ノードRe1〜Re3で生じたキューイング遅延の合計を正確に取得できる。同様に、マスタノード100は、スレーブノード200からマスタノード100へ向けた伝送における各中継ノードRe1〜Re3で生じたキューイング遅延の合計を正確に取得できる。
In IEEE1588v2 w / TC, each relay node Re1 to Re3 has a TC function. The TC function is a function that measures the stay time in the node of the packet of the control message (IEEE 1588 message), writes the time in a predetermined field of the control packet, and cumulatively adds it. Note that the IEEE 1588 message is specifically a Sync message and a Delay_Request message. In IEEE1588v2 w / TC, the stay time at the relay nodes Re1 to Re3 is cumulatively added to the message every time the control packet passes through the relay nodes Re1 to Re3 by the TC function. Therefore, the
マスタノード100からスレーブノード200へ向けた伝送におけるキューイング遅延の合計及び伝播遅延をそれぞれMS_Q、MS_Pとし、スレーブノード200からマスタノード100へ向けた伝送におけるキューイング遅延の合計及び伝播遅延をそれぞれSM_Q、SM_Pとすると、上述した式1及び式2は下記の式6及び式7に変形できる。
MS_Diff = MS_P + MS_Q + Offset ・・・式6
SM_Diff = SM_P + SM_Q - Offset ・・・式7
The total queuing delay and propagation delay in transmission from the
MS_Diff = MS_P + MS_Q + Offset ・ ・ ・
SM_Diff = SM_P + SM_Q-Offset ・ ・ ・ Equation 7
ここで、マスタノード100からスレーブノード200へ向けた伝送とスレーブノード200からマスタノード100へ向けた伝送のメッセージ伝送経路が双方向で等しい場合は、MS_P = SM_P = Propagation_Delayとなる。この場合、式6及び式7は、下記の式8及び式9のように変形できる。
MS_Diff = Propagation_Delay + MS_Q + Offset ・・・式8
SM_Diff = Propagation_Delay + SM_Q - Offset ・・・式9
Here, when the message transmission path of the transmission from the
MS_Diff = Propagation_Delay + MS_Q + Offset ・ ・ ・ Formula 8
SM_Diff = Propagation_Delay + SM_Q-Offset ・ ・ ・ Equation 9
そして、式8及び式9から、Offsetを算出するための式として下記の式10を得ることができる。
Offset = {(MS_Diff - SM_Diff) - (MS_Q - SM_Q)} / 2 ・・・式10
Then, from Expression 8 and Expression 9, the following
Offset = {(MS_Diff-SM_Diff)-(MS_Q-SM_Q)} / 2
図2Aに示すように、IEEE1588v2 w/TC ではないIEEE1588(以下、「Pure IEEE1588」ともいう。)では、各中継ノードRe1〜Re3で生じるキューイング遅延の合計は、双方向で等しいと仮定していた。すなわち、マスタノード100からスレーブノード200への伝送におけるキューイング遅延の合計(D1+D2+D3)と、スレーブノード200からマスタノード100への伝送におけるキューイング遅延の合計(D4+D5+D6)とは等しいと仮定していた。しかしながら、実際には等しくないため、その誤差が同期精度の劣化の要因となっていた。
As shown in FIG. 2A, IEEE1588 (hereinafter also referred to as “Pure IEEE1588”), which is not IEEE1588v2 w / TC, assumes that the sum of queuing delays occurring in each relay node Re1 to Re3 is equal in both directions. It was. That is, the total queuing delay in transmission from the
これに対して、IEEE1588v2 w/TCでは、各中継ノードRe1〜Re3に実装されたTC機能によって各中継ノードRe1〜Re3でのキューイング遅延の合計を計測している。そして、スレーブノード200は、マスタノード100からスレーブノード200への伝送におけるキューイング遅延の合計値(D1+D2+D3)を正確に取得する。また、マスタノード100は、スレーブノード200からマスタノード100への伝送におけるキューイング遅延の合計値(D4+D5+D6)を、正確に取得する。このような動作によって、IEEE1588v2 w/TCでは、高精度の時刻同期が可能となる。以上が、IEEE1588v2 w/TCに規定される時刻同期アルゴリズムである。
On the other hand, in IEEE1588v2 w / TC, the total of queuing delays at each relay node Re1 to Re3 is measured by the TC function implemented at each relay node Re1 to Re3. Then, the
[第1実施形態]
図3は、第1実施形態における通信システム1のシステム構成図である。通信システム1は、マスタノード300、スレーブノード400(400a〜400c)、パケットネットワークPNを備える。以下、マスタノード300及びスレーブノード400の構成の詳細についてそれぞれ説明する。
[First Embodiment]
FIG. 3 is a system configuration diagram of the
〔マスタノード〕
図4は、マスタノード300の機能構成を表す機能ブロック図である。マスタノード300は、クロック生成部301、マスタクロック部302、パケット生成部303、パケット送信部304、パケット受信部305、遅延計測部306を備える。マスタノード300は、例えばバスで接続されたCPU(Central Processing Unit)、メモリ、補助記憶装置、通信インタフェース等を備え、時刻同期用プログラムを実行することによって上記各機能部を備える装置として構成されても良い。
[Master node]
FIG. 4 is a functional block diagram showing the functional configuration of the
クロック生成部301は、マスタノード300の基準クロックを生成する。具体的には、クロック生成部301は、マスタノード300における1秒の時間幅を決める。なお、クロック生成部301は、マスタノード300の外部に存在しても良い。その場合、マスタノード300は、外部に設置されるクロック生成部301からのクロックを確実に同期して取得するように構成される。
The
マスタクロック部302は、クロック生成部301で生成される基準クロックに従い、マスタノード300の時刻(マスタ時刻)を決定する。具体的には、マスタクロック部302は、マスタノード300において何時何分何秒であるかを決める。
The
パケット生成部303は、IEEE1588のメッセージを生成し、パケット送信部304に送る。IEEE1588のメッセージとは、具体的には、Syncメッセージ、Follow_upメッセージ、Delay_Responseメッセージである。パケット生成部303は、定期的にパケット送信部304を介してSyncメッセージをスレーブノード400へ送信し、同時にマスタクロック部302を参照してSync送信時刻Tm(0)を記録する。また、パケット生成部303は、Syncメッセージ送信後に、Sync送信時刻Tm(0)を格納したFollow_upメッセージを生成し、パケット送信部304を介してスレーブノード400へ送信する。また、パケット生成部303は、パケット受信部305によって受信されるDelay_Requestメッセージの受信時刻(Delay受信時刻)Tm(1)と、遅延計測部306で計測するDelay_Requestメッセージの遅延量SM_Q(第一遅延量)を格納したDelay_Responseメッセージを生成し、パケット送信部304を介してスレーブノード400へ送信する。なお、遅延量SM_Qは、上述したようにDelay_Requestメッセージが各スレーブノード400a〜400cからマスタノード300まで転送される間に受けたキューイング遅延の遅延量を表す。
The
また、Delay_Responseメッセージは、スレーブノード400a〜400cから送信されたDelay_Requestメッセージへの返信となる。そのため、パケット生成部303は、Delay_Responseメッセージに格納されるDelay受信時刻Tm(1)、遅延量SM_Qを、Delay_Requestメッセージの送信元のスレーブノード400a〜400c毎に管理する。
The Delay_Response message is a reply to the Delay_Request message transmitted from the
パケット送信部304は、パケット生成部303から受けるSyncメッセージ、Follow_upメッセージ、Delay_Responseメッセージを、パケットネットワークPNを経由してスレーブノード400a〜400cに送信する。なお、パケット送信部304は、Syncメッセージ及びFollow_upメッセージを、スレーブノード400a〜400cに対してブロードキャストする。また、パケット送信部304は、Delay_Responseメッセージを、各Delay_Requestメッセージの送信元のスレーブノード400a〜400cに対してユニキャストする。
The
パケット受信部305は、スレーブノード400a〜400cからパケットネットワークPNを経由して送られてくるDelay_Requestメッセージを受信する。そして、パケット受信部305は、受信されたDelay_Requestメッセージを、パケット生成部303及び遅延計測部306に転送する。
The
遅延計測部306は、パケットカウンタを備える。遅延計測部306は、パケットカウンタのカウンタ値の増減状況をモニタすることによって、到着するDelay_Requestメッセージの遅延量SM_Qを算出する。そして、遅延計測部306は、算出された遅延量SM_Qをパケット生成部303に通知する。
The
図5は、遅延計測部306の詳細な機能構成を表す機能ブロック図である。遅延計測部306は、パケットカウンタ501、カウンタ最大値モニタ部502、到着時カウンタ値モニタ部503、遅延算出部504を備える。カウンタ最大値モニタ部502及び到着時カウンタ値モニタ部503は、パケットカウンタ501のカウンタ値をモニタし、結果を遅延算出部504に通知する。遅延算出部504は、カウンタ最大値モニタ部502及び到着時カウンタ値モニタ部503から通知された情報を用いて遅延量SM_Qを算出する。そして、遅延算出部504は、算出された遅延量SM_Qをパケット生成部303に通知する。
FIG. 5 is a functional block diagram illustrating a detailed functional configuration of the
パケットカウンタ501は、パケット受信部305からDelay_Requestメッセージを受信する毎に、カウンタの値を所定の値分だけ増加させる。また、パケットカウンタ501は、クロック生成部301から出力される基準クロックの周波数に従い、カウンタの値を減少させる。パケットカウンタ501のカウンタ値が基準クロックの周波数に従って減少するのは、パケット受信部305によって受信されたDelay_Requestメッセージのパケットが、基準クロックの周波数に従って受信パケットのバッファから読み出されるためである。
Each time the
カウンタ最大値モニタ部502は、パケットカウンタ501のカウンタ値の最大値を検出する。具体的には、カウンタ最大値モニタ部502は、予め決められた所定の時間(例えば10秒)のモニタ期間内の最大値を検出する。以下、モニタ期間iにおけるカウンタの最大値を、カウンタ最大値P(i)と表す。カウンタ最大値モニタ部502は、モニタ期間iが終了すると、検出結果であるカウンタ最大値P(i)を遅延算出部504に通知する。
The counter maximum
到着時カウンタ値モニタ部503は、モニタ期間iにおけるn番目のDelay_Requestメッセージパケットが到着すると、到着時のカウンタ値C(i,n)を検出する。到着時カウンタ値モニタ部503は、Delay_Requestメッセージパケットの到着毎にカウンタ値C(i,n)を検出し、検出結果を遅延算出部504に通知する。
Upon arrival, the counter
遅延算出部504は、到着時カウンタ値モニタ部503からカウンタ値C(i,n)を受ける毎に、カウンタ値C(i,n)及びカウンタ最大値P(i)を用いて、以下の式11に基づき遅延量SM_Qを算出する。
SM_Q = P(i-1) - C(i,n) ・・・式11
遅延算出部504は、遅延量SM_Qを計算する毎に、パケット生成部303に遅延量SM_Qを通知する。
The delay calculation unit 504 uses the counter value C (i, n) and the counter maximum value P (i) each time the counter value C (i, n) is received from the arrival counter
SM_Q = P (i-1)-C (i, n)
The delay calculation unit 504 notifies the
図6は、パケットカウンタ501の動作の概略を表す概略図である。図6において、縦軸はカウンタ値を表し、下から上へ向けて高いカウンタ値を表す。横軸は時間を表し、左から右へ向けて進行する。縦に伸びる等間隔に並んだ複数の破線は、キューイング遅延が発生しない場合にDelay_Requestメッセージのパケットが受信されるタイミングを表す。上方向を指す矢印は、Delay_Requestメッセージのパケットが実際に受信されたタイミングを表す。パケットカウンタ501は、Delay_Requestメッセージのパケットを受信すると、カウンタ値を固定値分(図6のCV分)上昇させる。縦に伸びる破線と上方向の矢印とが時間軸で一致している場合、すなわちキューイング遅延が発生せずにDelay_Requestメッセージのパケットが受信されている場合は、カウンタ値は最大値Cmaxをとる。この場合、パケットカウンタ501は、受信されたビット数の総和と、基準クロックの周波数に従って定期的に読み出されるビット数の総和とが一致する。一方、キューイング遅延が発生している場合には、カウンタ値はCmaxよりも小さい値となる。このとき、最大値Cmaxとカウンタ値との差分が、発生しているキューイング遅延の遅延量と等価となる。
FIG. 6 is a schematic diagram showing an outline of the operation of the
〔スレーブノード〕
図7は、スレーブノード400の機能構成を表す機能ブロック図である。なお、スレーブノード400a〜400cは、いずれもスレーブノード400と同様の構成を備える。スレーブノード400は、パケット受信部401、PLL(Phase Locked Loop)部402、遅延計測部403、スレーブクロック部404、時刻同期制御部405、パケット送信部406を備える。スレーブノード400は、例えばバスで接続されたCPU、メモリ、補助記憶装置、通信インタフェース等を備え、時刻同期用プログラムを実行することによって上記各機能部を備える装置として構成されても良い。
[Slave node]
FIG. 7 is a functional block diagram illustrating a functional configuration of the
パケット受信部401は、マスタノード300からパケットネットワークPNを経由して送信されてきたSyncメッセージ、Follow_upメッセージ、Delay_Requestメッセージを受信し、時刻同期制御部405に転送する。パケット受信部401は、Syncメッセージに限り、PLL部402及び遅延計測部403にも転送する。
The
PLL部402は、位相比較器407、LPF(Low Pass Filter)408、PI(Proportional Integral)制御器409、VCO(voltage controlled oscillator)410、カウンタ411を備える。ただし、PLL部402のこのような構成は一例に過ぎない。すなわち、PLL部402は、自身のクロックから生成するTS(Time Stamp)とマスタノード300から受信したTSとの差分を計算し、その差分を元に自身のクロックを調整することができる構成であれば、その他どのような構成であっても良い。
The
位相比較器407は、パケット受信部401から受信したSyncメッセージパケットに格納される受信タイムスタンプと、カウンタ411で生成されるタイムスタンプとの差分信号を計算する。そして、位相比較器407は、その計算結果を表す差分信号をLPF408に出力する。
The
LPF408は、位相比較器407によって出力された差分信号を平準化し、ジッタやノイズを抑圧し、PI制御器409に出力する。
PI制御器409は、平準化された差分信号が最終的にゼロとなるような制御信号を生成し、VCO410に出力する。
The
The
VCO410は、PI制御器409から出力された制御信号によって決定される周波数のクロックを生成し、カウンタ411に出力する。また、VCO410は、生成された周波数のクロックに従い、遅延計測部403のパケットカウンタのカウンタ値を減少させる。
カウンタ411は、VCO410によって生成されたクロックを元にタイムスタンプを生成し、位相比較器407に転送する。
The
The
以上説明したPLL部402の動作により、VCO410によって生成されるスレーブノード400のクロックが、マスタノード300のクロックに同期される。
遅延計測部403は、パケットカウンタを備える。遅延計測部403は、パケットカウンタのカウンタ値の増減状況をモニタすることによって、到着するSyncメッセージの遅延量MS_Q(第二遅延量)を算出する。そして、遅延計測部403は、算出された遅延量MS_Qを時刻同期制御部405に通知する。なお、遅延量MS_Qは、上述したようにSyncメッセージがマスタノード300からスレーブノード400まで転送される間に受けたキューイング遅延の遅延量を表す。
With the operation of the
The
図8は、遅延計測部403の詳細な機能構成を表す機能ブロック図である。遅延計測部403は、パケットカウンタ601、カウンタ最大値モニタ部602、到着時カウンタ値モニタ部603、遅延算出部604を備える。遅延計測部403が備える各構成は、それぞれマスタノード300の遅延計測部306が備える同名の各構成と同じである。ただし、パケットカウンタ601は、パケット受信部401からSyncメッセージを受信する毎に、カウンタの値を所定の値分だけ増加させる。また、パケットカウンタ601は、VCO410によって出力されるクロックの周波数に従い、カウンタの値を減少させる。また、遅延算出部604は、遅延量SM_Qに代えて同様の処理によって遅延量MS_Qを算出し、算出された遅延量MS_Qを時刻同期制御部405に通知する。
FIG. 8 is a functional block diagram illustrating a detailed functional configuration of the
図7に戻ってスレーブノード400の構成の説明を続ける。スレーブクロック部404は、VCO410によって生成されるクロックに従い、スレーブノード400a〜400cの時刻(スレーブ時刻)を決める。
Returning to FIG. 7, the description of the configuration of the
時刻同期制御部405は、Syncメッセージ及びDelay_Requestメッセージの送受信時刻情報(Sync送信時刻Tm(0)、Sync受信時刻Ts(0)、Delay送信時刻Ts(1)、Delay受信時刻Tm(1))、遅延量SM_Q、遅延量MS_Qを用いて、マスタノード300に対するスレーブノード400の時刻のずれであるOffsetを求める。そして、時刻同期制御部405は、スレーブクロック部404の時刻(スレーブ時刻)を補正する。また、時刻同期制御部405は、Delay_Requestメッセージを生成し、パケット送信部406に送る。
パケット送信部406は、時刻同期制御部405から受信するDelay_Requestメッセージを、パケットネットワークPNを介してマスタノード300に対して送信する。
The time
The
図9は、時刻同期制御部405の詳細な機能構成を表す機能ブロック図である。時刻同期制御部405は、パケット解析部701、パケット生成部702、オフセット計算部703、時刻調整部704を備える。
パケット解析部701は、パケット受信部401からSyncメッセージ、Follow_upメッセージ、Delay_Responseメッセージを受信する。パケット解析部701は、Syncメッセージを受信すると、スレーブクロック部404を参照し、Sync受信時刻Ts(0)を取得する。そして、パケット解析部701は、取得されたSync受信時刻Ts(0)をオフセット計算部703に通知する。
FIG. 9 is a functional block diagram illustrating a detailed functional configuration of the time
The
また、パケット解析部701は、Follow_upメッセージを受信すると、Follow_upメッセージ内に格納されるSync送信時刻Tm(0)を抽出する。そして、パケット解析部701は、抽出されたSync送信時刻Tm(0)をオフセット計算部703に通知すると共に、パケット生成部702に対しDelay_Requestメッセージの生成トリガを送る。
Further, when receiving the Follow_up message, the
また、パケット解析部701は、Delay_Responseメッセージを受信すると、Delay_Responseメッセージ内に格納されるDelay受信時刻Tm(1)及び遅延量SM_Qを抽出し、オフセット計算部703に通知する。
Further, when receiving the Delay_Response message, the
パケット生成部702は、Delay_Requestメッセージを生成する。具体的には、パケット生成部702は、パケット解析部701からDelay_Requestメッセージの生成トリガを受信すると、Delay_Requestメッセージを生成する。パケット生成部702は、生成されたDelay_Requestメッセージをパケット送信部406に転送すると共に、スレーブクロック部404を参照し、Delay送信時刻Ts(1)を取得する。そして、パケット生成部702は、取得されたDelay送信時刻Ts(1)をオフセット計算部703に通知する。
The
オフセット計算部703は、Offsetを計算し、算出されたOffsetを時刻調整部704に通知する。具体的には、パケット解析部701及びパケット生成部702から受信する各時刻(Sync送信時刻Tm(0)、Sync受信時刻Ts(0)、Delay送信時刻Ts(1)、Delay受信時刻Tm(1))と、パケット解析部701から受信する遅延量SM_Qと、遅延計測部403から受信する遅延量MS_Qとを用いて、Offsetを計算する。
The offset
時刻調整部704は、オフセット計算部703から通知されるOffsetを用いて、スレーブクロック部404のスレーブ時刻を調整する。時刻調整部704のこの処理によって、スレーブクロック部404のスレーブ時刻は、マスタノード300のマスタクロック部302のマスタ時刻に同期する。
The
〔動作〕
次に、第1実施形態における通信システム1の各装置の処理の流れについて説明する。通信システム1では、時刻同期のための処理として、マスタノード300によるマスタ第1処理、スレーブノード400によるスレーブ第1処理、マスタノード300によるマスタ第2処理、スレーブノード400によるスレーブ第2処理が、それぞれこの順で実行される。図10及び図12は、それぞれマスタノード300によるマスタ第1処理及びマスタ第2処理の流れを表すフローチャートである。図11及び図13は、それぞれスレーブノード400によるスレーブ第1処理及びスレーブ第2処理の流れを表すフローチャートである。スレーブノード400a〜400cは、それぞれ個別に図11及び図13に表されるスレーブ第1処理及びスレーブ第2処理を実行する。
[Operation]
Next, the flow of processing of each device of the
まず、図10を参照してマスタノード300によるマスタ第1処理について説明する。まず、マスタノード300がSyncメッセージをスレーブノード400へ送信する(ステップS201)。具体的には、パケット生成部303がSyncメッセージを生成し、パケット送信部304がSyncメッセージをスレーブノード400(400a〜400c)へブロードキャスト送信する。次に、マスタノード300がSync送信時刻Tm(0)を記録する(ステップS202)。具体的には、パケット生成部303がマスタクロック部302を参照してSync送信時刻Tm(0)を取得し保持する。そして、マスタノード300がFollow_upメッセージをスレーブノード400へ送信する(ステップS203)。具体的には、パケット生成部303が、Sync送信時刻Tm(0)を格納したFollow_upメッセージを生成し、パケット送信部304がFollow_upメッセージをスレーブノード400(400a〜400c)にブロードキャスト送信する。マスタノード300は、マスタ第1処理を定期的に繰り返し実行する。
First, the master first process by the
次に、図11を参照してスレーブノード400によるスレーブ第1処理について説明する。まず、スレーブノード400はマスタノード300からSyncメッセージを受信する(ステップS301)。具体的には、パケット受信部401は、マスタノード300からSyncメッセージを受信し、受信したSyncメッセージをPLL部402、遅延計測部403、時刻同期制御部405に転送する。Syncメッセージ受信後の動作は、ステップS302〜S306の処理と、ステップS307及びステップS308の処理とが並行して実行される。
Next, the slave first process by the
まず、ステップS302〜S306の処理について説明する。まず、スレーブノード400がSync受信時刻Ts(0)を記録する(ステップS302)。具体的には、時刻同期制御部405のパケット解析部701が、Syncメッセージの受信に応じて、スレーブクロック部404を参照してSync受信時刻Ts(0)を取得し、オフセット計算部703に通知する。
First, the processing of steps S302 to S306 will be described. First, the
次に、スレーブノード400がマスタノード300からFollow_upメッセージを受信する(ステップS303)。具体的には、パケット受信部401がマスタノード300からFollow_upメッセージを受信し、受信されたFollow_upメッセージを時刻同期制御部405に転送する。次に、スレーブノード400がSync送信時刻Tm(0)を記録する(ステップS304)。具体的には、時刻同期制御部405のパケット解析部701が、Follow_upメッセージの受信に応じて、Follow_upメッセージのペイロード部に格納されたSync送信時刻Tm(0)を抽出して取得する。そして、パケット解析部701が、取得されたSync送信時刻Tm(0)をオフセット計算部703に通知する。
Next, the
次に、スレーブノード400がDelay_Requestメッセージをマスタノード300へ送信する(ステップS305)。具体的には、パケット解析部701がパケット生成部702に対し、Delay_Requestメッセージの生成トリガを送る。パケット生成部702が生成トリガに応じてDelay_Requestメッセージを生成し、パケット送信部406に転送する。そして、パケット送信部406がマスタノード300に対して、Delay_Requestメッセージを送信する。このとき、スレーブノード400がDelay送信時刻Ts(1)を記録する(ステップS306)。具体的には、パケット生成部702がスレーブクロック部404を参照して、Delay送信時刻Ts(1)を取得し、オフセット計算部703に転送する。
Next, the
次に、ステップS307及びS308の処理について説明する。まず、スレーブノード400が遅延量MS_Qを計測する(ステップS307)。具体的には、遅延計測部403のカウンタ最大値モニタ部502及び到着時カウンタ値モニタ部503がパケットカウンタ501のカウンタ値をモニタし、それぞれインターバル期間における最大カウンタ値及び各Syncメッセージ到着時のカウンタ値を取得する。そして、遅延計測部403の遅延算出部504が双方のカウンタ値に基づいて遅延量MS_Qを算出する。
Next, the processing of steps S307 and S308 will be described. First, the
次に、スレーブノード400が、計測された遅延量MS_Qを記録する(ステップS308)。具体的には、遅延算出部504が、算出された遅延量MS_Qを時刻同期制御部405のオフセット計算部703に通知する。
Next, the
次に、図12を参照してマスタノード300によるマスタ第2処理について説明する。まず、マスタノード300がスレーブノード400からDelay_Requestメッセージを受信する(ステップS401)。具体的には、パケット受信部305がスレーブノード400からDelay_Requestメッセージを受信し、受信されたDelay_Requestメッセージをパケット生成部303及び遅延計測部306に転送する。
Next, the master second process by the
次に、マスタノード300がDelay受信時刻Tm(1)を記録する(ステップS402)。具体的には、パケット生成部303が、Delay_Requestメッセージの受信に応じて、マスタクロック部302を参照してDelay_Requestメッセージ受信時の時刻Tm(1)を取得する。そして、パケット生成部303が、各Delay_Requestメッセージの送信元であるスレーブノード400a〜400cのノード情報に対応付けて、各Delay_RequestメッセージのDelay受信時刻Tm(1)を記録する。
Next, the
次に、マスタノード300が各Delay_Requestメッセージについて遅延量SM_Qを計測する(ステップS403)。具体的には、遅延計測部306のカウンタ最大値モニタ部502及び到着時カウンタ値モニタ部503が、パケットカウンタ501のカウンタ値をモニタし、それぞれインターバル期間における最大カウンタ値及び各Delay_Requestメッセージ到着時のカウンタ値を取得する。次に、遅延算出部504が双方のカウンタ値情報に基づいて、各Delay_Requestメッセージの遅延量SM_Qを算出する。そして、遅延計測部306が、算出された各遅延量SM_Qをパケット生成部303に通知する。パケット生成部303は、各Delay_Requestメッセージの送信元であるスレーブノード400a〜400cのノード情報に対応付けて、各Delay_Requestメッセージの遅延量SM_Qを記録する。
Next, the
次に、マスタノード300が、遅延量SM_Q及びDelay受信時刻Tm(1)が格納されたDelay_Responseメッセージを、各スレーブノード400a〜400cに対して送信する(ステップS404)。具体的には、パケット生成部303が、各スレーブノード400a〜400cに対応する遅延量SM_Q及び時刻情報Tm(1)を格納したDelay_Responseメッセージを生成し、パケット送信部304に転送する。そして、パケット送信部304がスレーブノード400a〜400cに対して、各Delay_Responseメッセージをユニキャスト送信する。
Next, the
次に、図13を参照してスレーブノード400によるスレーブ第2処理について説明する。まず、スレーブノード400がマスタノード300からDelay_Responseメッセージを受信する(ステップS501)。具体的には、パケット受信部401がマスタノード300からDelay_Responseメッセージを受信し、受信されたDelay_Responseメッセージを時刻同期制御部405に転送する。
Next, the slave second process by the
次に、スレーブノード400が、受信されたDelay_Responseメッセージから遅延量SM_Q及びDelay受信時刻Tm(1)を抽出し記録する(ステップS502)。具体的には、時刻同期制御部405のパケット解析部701が、Delay_Responseメッセージの受信に応じて、Delay_Responseメッセージのペイロード部に格納された遅延量SM_Q及びDelay受信時刻Tm(1)を抽出し取得する。そして、パケット解析部701が、取得された遅延量SM_Q及びDelay受信時刻Tm(1)をオフセット計算部703に通知する。
Next, the
次に、スレーブノード400が、時刻差MS_Diff及び時刻差SM_Diffの値を算出する(ステップS503)。具体的には、オフセット計算部703が以下の二つの式(式12及び式13)に基づいて、時刻差MS_Diff及び時刻差SM_Diffの値を算出し、保持する。
MS_Diff = Ts(0) - Tm(0) ・・・式12
SM_Diff = Tm(1) - Ts(1) ・・・式13
Next, the
MS_Diff = Ts (0)-Tm (0) (12)
SM_Diff = Tm (1)-Ts (1)
次に、スレーブノード400がOffsetを算出する(ステップS504)。具体的には、オフセット計算部703が、時刻差MS_Diff及び時刻差SM_Diffと、遅延量MS_Q及び遅延量SM_Qとに基づいて、以下の式14によりOffsetを算出する。そして、オフセット計算部703が、算出されたOffsetの値を時刻調整部704に通知する。
Offset = {(MS_Diff - SM_Diff) - (MS_Q - SM_Q)} / 2 ・・・式14
Next, the
Offset = {(MS_Diff-SM_Diff)-(MS_Q-SM_Q)} / 2
なお、式14は以下のようにして求められる。まず、時刻差MS_Diffと遅延量MS_Qとから以下のような式15が求められる。
MS_Diff = Propagation_Delay + MS_Q + Offset ・・・式15
また、時刻差SM_Diffと遅延量SM_Qとから以下のような式16が求められる。
SM_Diff = Propagation_Delay + SM_Q - Offset ・・・式16
式15及び式16から、上記の式14が求められる。なお、式15及び式16におけるpropagation_Delayは、マスタノード300とスレーブノード400との間の伝播遅延の遅延量を表す。
MS_Diff = Propagation_Delay + MS_Q + Offset ・ ・ ・
Further, the following
SM_Diff = Propagation_Delay + SM_Q-Offset ・ ・ ・
From the
図13に表される処理の説明に戻る。上記のステップS504の処理の後、スレーブノード400が、算出されたOffsetの値を用いてスレーブ時刻を調整する(ステップS505)。具体的には、時刻調整部704が、Offsetが正の値の場合にはスレーブ時刻をOffset分遅らせ、Offsetが負の値の場合にはスレーブ時刻をOffset分進める。このようなスレーブ時刻の調整により、スレーブ時刻はマスタノード300のマスタ時刻に同期する。
Returning to the description of the processing shown in FIG. After the process of step S504, the
図14及び図15は、通信システム1による時刻同期処理の具体例を表すシーケンス図である。まず、図14を用いて通信システム1による時刻同期処理の具体例について説明する。図14では、マスタノード300に対するスレーブノード400のOffsetが“3”、マスタノード300とスレーブノード400との間の伝播遅延の遅延量Propagation_Delayが“3”、マスタノード300からスレーブノード400へのキューイング遅延の遅延量MS_Qが“0”、スレーブノード400からマスタノード300へのキューイング遅延の遅延量SM_Qが“0”である。なお、図14及び図15では、説明の便宜のため、マスタ時刻及びスレーブ時刻を時/分/秒の表記ではなく、整数値で示す。
14 and 15 are sequence diagrams illustrating a specific example of time synchronization processing by the
マスタ第1処理においてSync送信時刻Tm(0)は、“4”である。スレーブ第1処理において、Sync受信時刻Ts(0)は“10”であり、Delay送信時刻Ts(1)は“15”である。マスタ第2処理において、Delay受信時刻Tm(1)は“15”である。マスタノード300からスレーブノード400へのキューイング遅延の遅延量MS_Qは、スレーブ第1処理において遅延計測部403によって“0”と計測される。また、スレーブノード400からマスタノード300へのキューイング遅延の遅延量SM_Qは、マスタ第2処理において遅延計測部306によって、“0”と計測される。スレーブノード400のオフセット計算部703は、スレーブ第2処理において、以上の各値に基づいて以下の通りOffsetの値を“3”と算出する。
In the first master process, the Sync transmission time Tm (0) is “4”. In the first slave process, the Sync reception time Ts (0) is “10”, and the Delay transmission time Ts (1) is “15”. In the second master process, the delay reception time Tm (1) is “15”. The delay amount MS_Q of the queuing delay from the
MS_Diff = Ts(0) - Tm(0) = 10 - 4 = 6
SM_Diff = Tm(1) - Ts(1) = 15 - 15 = 0
Offset = {(MS_Diff - SM_Diff) - (MS_Q - SM_Q)} / 2 = {(6 - 0) - (0 - 0)} / 2 = 3
MS_Diff = Ts (0)-Tm (0) = 10-4 = 6
SM_Diff = Tm (1)-Ts (1) = 15-15 = 0
Offset = {(MS_Diff-SM_Diff)-(MS_Q-SM_Q)} / 2 = {(6-0)-(0-0)} / 2 = 3
なお、図14は、Offsetが“3”となる条件下でのシーケンスであり、上記のように通信システム1の時刻同期処理によってOffsetを正確に算出することが可能となっている。
FIG. 14 shows a sequence under a condition where Offset is “3”, and Offset can be accurately calculated by the time synchronization processing of the
次に、図15を用いて通信システム1による時刻同期処理の具体例について説明する。図15では、マスタノード300に対するスレーブノード400のOffsetが“4”、マスタノード300とスレーブノード400との間の伝播遅延の遅延量Propagation_Delayが“3”、マスタノード300からスレーブノード400へのキューイング遅延の遅延量MS_Qが“2”、スレーブノード400からマスタノード300へのキューイング遅延の遅延量SM_Qが“3”である。
Next, a specific example of time synchronization processing by the
マスタ第1処理においてSync送信時刻Tm(0)は、“4”である。スレーブ第1処理において、Sync受信時刻Ts(0)は“13”であり、Delay送信時刻Ts(1)は“17”である。マスタ第2処理において、Delay受信時刻Tm(1)は“19”である。マスタノード300からスレーブノード400へのキューイング遅延の遅延量MS_Qは、スレーブ第1処理において遅延計測部403によって“2”と計測される。また、スレーブノード400からマスタノード300へのキューイング遅延の遅延量SM_Qは、マスタ第2処理において遅延計測部306によって、“3”と計測される。スレーブノード400のオフセット計算部703は、スレーブ第2処理において、以上の各値に基づいて以下の通りOffsetの値を“4”と算出する。
In the first master process, the Sync transmission time Tm (0) is “4”. In the first slave process, the Sync reception time Ts (0) is “13”, and the Delay transmission time Ts (1) is “17”. In the second master process, the delay reception time Tm (1) is “19”. The delay amount MS_Q of the queuing delay from the
MS_Diff = Ts(0) - Tm(0) = 13 - 4 = 9
SM_Diff = Tm(1) - Ts(1) = 19 - 17 = 2
Offset = {(MS_Diff - SM_Diff) - (MS_Q - SM_Q)} / 2 = {(9 - 2) - (2 - 3)} / 2 = 4
MS_Diff = Ts (0)-Tm (0) = 13-4 = 9
SM_Diff = Tm (1)-Ts (1) = 19-17 = 2
Offset = {(MS_Diff-SM_Diff)-(MS_Q-SM_Q)} / 2 = {(9-2)-(2-3)} / 2 = 4
なお、図15は、Offsetが“4”となる条件下でのシーケンスであり、キューイング遅延がゼロでない場合であっても、上記のように通信システム1の時刻同期処理によってOffsetを正確に算出することが可能となっている。
Note that FIG. 15 is a sequence under a condition where Offset is “4”, and even when the queuing delay is not zero, Offset is accurately calculated by the time synchronization processing of the
図16は、通信システム1において計測される遅延量の確率分布を表す図である。図16における実験では、パケットネットワークPNの代わりにネットワークエミュレータを接続し、マスタノード300から定期的に送信されるSyncメッセージのパケットに対して遅延量を付加し、スレーブノード400の遅延計測部403において遅延量を測定した。図16では、ネットワークエミュレータによって付加した遅延量の分布と、スレーブノード400で計測された遅延量の分布を示している。図16の横軸が遅延量を表し、縦軸が確率を示す。一様分布及びポアソン分布のいずれの場合も、計測された遅延量の分布がネットワークエミュレータによって付加された遅延量の分布とほぼ一致している。したがって、遅延計測部403において、遅延量MS_Qが正しく計測できていることが明らかである。マスタノード300の遅延計測部306も、スレーブノード400の遅延計測部403と同様の動作を行なうため、SM_Qを正しく計測できていることが明らかである。そのため、通信システム1による時刻同期処理によって、Offsetの値を正確に算出し、マスタ時刻に対してスレーブ時刻を正確に同期できていることが明らかである。
FIG. 16 is a diagram illustrating a probability distribution of delay amounts measured in the
上記の通信システム1によれば、スレーブノード400の遅延計測部403が、マスタノード300からスレーブノード400へのキューイング遅延の遅延量MS_Qを正確に計測する。また、マスタノード300の遅延計測部306がスレーブノード400からマスタノード300へのキューイング遅延の遅延量SM_Qを正確に計測する。そして、マスタノード300から遅延量SM_Qをスレーブノード400に通知することによって、スレーブノード400が、マスタノード300とスレーブノード400との間の双方向のキューイング遅延の遅延量をそれぞれ個別に認識できる。これによって、Pure IEEE1588のように、双方向のキューイング遅延を等しいと仮定してOffsetを算出する場合に比べて、双方向のキューイング遅延の実際の差異によって生じる誤差を除外することができ、より精度の高い時刻同期を実現することが可能となる。
According to the
また、通信システム1では、各々の方向のキューイング遅延の遅延量を、マスタノード300及びスレーブノード400のみによって計測することができる。そのため、パケットネットワークPNにおける中継ノードにおいてTC機能などの特別な機能を実装する必要がなく、既存の中継ノードで対応することが可能である。すなわち、中継ノードに対してTC機能を実装する必要があるIEEE1588v2 w/TCに比べて、中継ノードを置き換える必要が生じず、導入に要するコストを抑えることができ、導入が容易であるという効果がある。
Further, in the
<変形例>
遅延計測部306は、パケットカウンタ501に代えてパケットバッファを用いて構成されても良い。パケットバッファは、パケット受信部401からDelay_Requestメッセージのパケットを受信すると、受信されたパケットをバッファに蓄積する。また、パケットバッファは、クロック生成部301で決定される周波数に従って、蓄積しているパケットを出力する。図17は、パケットバッファを用いて構成された場合の、遅延計測部306の処理の概略を表す図である。図17において、縦軸はバッファへの蓄積量を表し、下から上へ向けて高い蓄積量を表す。横軸は時間を表し、左から右へ向けて進行する。縦に伸びる等間隔に並んだ複数の破線は、キューイング遅延が発生しない場合にDelay_Requestメッセージのパケットが受信されるタイミングを表す。上方向を指す矢印は、Delay_Requestメッセージのパケットが実際に受信されたタイミングを表す。パケットバッファは、Delay_Requestメッセージのパケットが受信されると、受信されたビット数分だけ蓄積量が増加する。縦に伸びる破線と上方向の矢印とが時間軸で一致している場合、すなわちキューイング遅延が発生せずにDelay_Requestメッセージのパケットが受信されている場合は、読み出されたタイミング(蓄積量が減るタイミング)から新たに受信されるタイミング(蓄積量が増えるタイミング)との間の時間幅は最小Tminとなる。一方、キューイング遅延が発生している場合には、上記の時間幅はTminよりも大きい値となる。このとき、最小値Tminと時間幅との差分が、発生しているキューイング遅延の遅延量と等価となる。
<Modification>
The
なお、上述した遅延計測部306のいずれの構成も、遅延を計測するための構成の一例にすぎず、キューイング遅延の遅延量SM_Qを計測できる構成であればその他の構成が採用されても良い。また、遅延計測部403についても同様である。
Note that any of the configurations of the
[第2実施形態]
通信システム1の第1実施形態では、マスタノード300が遅延量SM_Qを計測しDelay_Responseメッセージに格納してスレーブノード400へ送信する。しかしながら、IEEE1588の標準では、Delay_Responseメッセージ内にDelay受信時刻Tm(1)を格納するためのフィールドはあるものの、遅延量SM_Qを格納するためのフィールドはない。そのため、第1実施形態では、Delay_Responseメッセージの標準フォーマットを変更する必要が生じる。そこで、通信システム1の第2実施形態は、Delay_Responseメッセージの標準フォーマットを変更することなく、時刻同期処理を実現することを可能とする。以下、通信システム1の第2実施形態について、第1実施形態と異なる点を中心に説明する。
[Second Embodiment]
In the first embodiment of the
〔マスタノード〕
図18は、第2実施形態におけるマスタノード300の機能構成を表す機能ブロック図である。第2実施形態におけるマスタノード300は、パケット生成部303に代えてパケット生成部303aを備える点で第1実施形態におけるマスタノード300と異なり、その他の構成は同じである。
[Master node]
FIG. 18 is a functional block diagram illustrating a functional configuration of the
パケット生成部303aは、Delay_Responseメッセージに関する処理がパケット生成部303と異なり、他の構成は同じである。パケット生成部303aは、Delay受信時刻Tm(1)を、遅延量SM_Qを用いて、補正Delay受信時刻Tm(2)(補正時刻)として補正する。具体的には、パケット生成部303aは、Delay受信時刻Tm(1)から遅延量SM_Qを減算した結果として補正Delay受信時刻Tm(2)を算出する。そして、パケット生成部303aは、補正Delay受信時刻Tm(2)をDelay_Responseメッセージに格納し、パケット送信部304へ送る。
The
〔スレーブノード〕
図19は、第2実施形態におけるスレーブノード400の機能構成を表す機能ブロック図である。第2実施形態におけるスレーブノード400は、時刻同期制御部405に代えて時刻同期制御部405aを備える点で第1実施形態におけるスレーブノード400と異なり、その他の構成は同じである。
[Slave node]
FIG. 19 is a functional block diagram illustrating a functional configuration of the
時刻同期制御部405aは、Delay_Requestメッセージの受信時刻情報として補正Delay受信時刻Tm(2)を用いる点、遅延量SM_Qを用いない点で時刻同期制御部405と異なり、他の構成は同じである。
The time
図20は、第2実施形態における時刻同期制御部405aの機能構成を表す機能ブロック図である。第2実施形態における時刻同期制御部405aは、パケット解析部701及びオフセット計算部703に代えて、パケット解析部701a及びオフセット計算部703aを備える点で第1実施形態における時刻同期制御部405と異なり、他の構成は同じである。
FIG. 20 is a functional block diagram illustrating a functional configuration of the time
パケット解析部701aは、Delay_Responseメッセージに関する処理がパケット解析部701と異なり、他の構成は同じである。パケット解析部701aは、Delay_Responseメッセージから補正Delay受信時刻Tm(2)を抽出し、抽出された補正Delay受信時刻Tm(2)をオフセット計算部703aに通知する。
The
オフセット計算部703aは、Delay受信時刻Tm(1)に代えて補正Delay受信時刻Tm(2)を用いてOffsetを計算する点でオフセット計算部703と異なる。オフセット計算部703aの処理の詳細については後述する。
The offset
〔動作〕
次に、第2実施形態における通信システム1の各装置の処理の流れについて説明する。ただし、マスタ第1処理及びスレーブ第1処理は、それぞれ第1実施形態における処理(図10及び図11)と同じであるため説明を省略する。
[Operation]
Next, the flow of processing of each device of the
図21は、第2実施形態におけるマスタ第2処理の流れを表すフローチャートである。図21において、図12と同じ処理については同じ符号を付して表し説明を省略する。第2実施形態では、ステップS403の後、マスタノード300が補正Delay受信時刻Tm(2)を算出する(ステップS411)。具体的には、パケット生成部303aが遅延量SM_Q及びDelay受信時刻Tm(1)を用いて下記の式17により補正Delay受信時刻Tm(2)を算出する。
Tm(2) = Tm(1) - SM_Q ・・・式17
FIG. 21 is a flowchart showing the flow of the master second process in the second embodiment. In FIG. 21, the same processes as those in FIG. In the second embodiment, after step S403, the
Tm (2) = Tm (1)-
このとき、パケット生成部303aは、スレーブノード400a〜400c毎の補正Delay受信時刻Tm(2)を算出する。そして、パケット生成部303aは、Delay_Requestメッセージの送信元であるスレーブノード400a〜400cのノード情報に対応付けて、補正Delay受信時刻Tm(2)を記録する。なお、補正Delay受信時刻Tm(2)は、キューイング遅延が付加されずにDelay_Requestメッセージが転送された場合の受信時刻を示す。
At this time, the
次に、マスタノード300が、算出された補正Delay受信時刻Tm(2)を格納したDelay_Responseメッセージをスレーブノード400に送信する(ステップS412)。具体的には、パケット生成部303aは、スレーブノード400a〜400c毎に、補正Delay受信時刻Tm(2)を格納したDelay_Responseメッセージを生成し、パケット送信部304に送る。パケット送信部304は、各スレーブノード400a〜400cに対して、Delay_Responseメッセージをユニキャスト送信する。
Next, the
図22は、第2実施形態におけるスレーブ第2処理の流れを表すフローチャートである。図22において、図13と同じ処理については同じ符号を付して表し説明を省略する。第2実施形態では、ステップS501の処理の後、スレーブノード400がDelay_Responseメッセージから補正Delay受信時刻Tm(2)を抽出し記録する(ステップS511)。具体的には、時刻同期制御部405aのパケット解析部701aが、Delay_Responseメッセージの受信に応じて、Delay_Responseメッセージのペイロード部に格納される補正Delay受信時刻Tm(2)を抽出し、記録する。そして、パケット解析部701aが補正Delay受信時刻Tm(2)をオフセット計算部703aに通知する。
FIG. 22 is a flowchart showing the flow of the slave second process in the second embodiment. In FIG. 22, the same processes as those in FIG. In the second embodiment, after the process of step S501, the
次に、スレーブノード400が、時刻差MS_Diff及び補正時刻差SM_Diff2の値を算出する(ステップS512)。このとき、時刻差MS_Diffを算出する処理は第1実施形態と同じである。オフセット計算部703aは、Delay送信時刻Ts(1)及び補正Delay受信時刻Tm(2)を用いて、以下の式17に基づいて補正時刻差SM_Diff2を算出する。
SM_Diff2 = Tm(2)- Ts(1) ・・・式17
Next, the
SM_Diff2 = Tm (2)-Ts (1)
次に、スレーブノード400が、時刻差MS_Diff、補正時刻差SM_Diff2、遅延量MS_Qを用いてOffsetを計算する(ステップS513)。具体的には、オフセット計算部703aが、時刻差MS_Diff、補正時刻差SM_Diff2、遅延量MS_Qに基づいて、以下の式18によりOffsetを算出する。そして、オフセット計算部703aが、算出されたOffsetの値を時刻調整部704に通知する。
Offset = {(MS_Diff - SM_Diff2) - MS_Q} / 2 ・・・式18
Next, the
Offset = {(MS_Diff-SM_Diff2)-MS_Q} / 2 ... Equation 18
なお、式18は以下のようにして求められる。まず、時刻差MS_Diffと遅延量MS_Qとから以下のような式19が求められる。なお、式19は式15と同じである。
MS_Diff = Propagation_Delay + MS_Q + Offset ・・・式19
また、補正時刻差SM_Diff2から以下のような式20が求められる。
SM_Diff2 = Propagation_Delay - Offset ・・・式20
式19及び式20から、上記の式18が求められる。なお、式19及び式20におけるpropagation_Delayも、上記のものと同様に、マスタノード300とスレーブノード400との間の伝播遅延の遅延量を表す。
Equation 18 is obtained as follows. First, the following
MS_Diff = Propagation_Delay + MS_Q + Offset ・ ・ ・
Further, the following
SM_Diff2 = Propagation_Delay-Offset ・ ・ ・
From the
図23は、第2実施形態における通信システム1による時刻同期処理の具体例を表すシーケンス図である。図23では、マスタノード300に対するスレーブノード400のOffsetが“4”、マスタノード300とスレーブノード400との間の伝播遅延の遅延量Propagation_Delayが“3”、マスタノード300からスレーブノード400へのキューイング遅延の遅延量MS_Qが“2”、スレーブノード400からマスタノード300へのキューイング遅延の遅延量SM_Qが“3”である。
FIG. 23 is a sequence diagram illustrating a specific example of time synchronization processing by the
マスタ第1処理においてSync送信時刻Tm(0)は、“4”である。スレーブ第1処理において、Sync受信時刻Ts(0)は“13”であり、Delay送信時刻Ts(1)は“17”である。マスタ第2処理において、Delay受信時刻Tm(1)は“19”である。マスタノード300からスレーブノード400へのキューイング遅延の遅延量MS_Qは、スレーブ第1処理において遅延計測部403によって“2”と計測される。また、スレーブノード400からマスタノード300へのキューイング遅延の遅延量SM_Qは、マスタ第2処理において遅延計測部306によって、“3”と計測される。マスタノード300のパケット生成部303aは、以下のように補正Delay受信時刻Tm(2)を算出する。
Tm(2)= Tm(1) - SM_Q = 19 - 3 = 16
In the first master process, the Sync transmission time Tm (0) is “4”. In the first slave process, the Sync reception time Ts (0) is “13”, and the Delay transmission time Ts (1) is “17”. In the second master process, the delay reception time Tm (1) is “19”. The delay amount MS_Q of the queuing delay from the
Tm (2) = Tm (1)-SM_Q = 19-3 = 16
スレーブノード400のオフセット計算部703aは、スレーブ第2処理において、以上の各値に基づいて以下の通りOffsetの値を“4”と算出する。
MS_Diff = Ts(0) - Tm(0) = 13 - 4 = 9
SM_Diff2 = Tm(2) - Ts(1) = 16 - 17 = -1
Offset = {(MS_Diff - SM_Diff2) - MS_Q} / 2 = {(9 - (- 1)) - 2} / 2 = 4
In the second slave process, the offset
MS_Diff = Ts (0)-Tm (0) = 13-4 = 9
SM_Diff2 = Tm (2)-Ts (1) = 16-17 = -1
Offset = {(MS_Diff-SM_Diff2)-MS_Q} / 2 = {(9-(-1))-2} / 2 = 4
なお、図23は、Offsetが“4”となる条件下でのシーケンスであり、Delay_Responseメッセージに遅延量SM_Qを格納するためのフィールドを設けない場合であっても、上記のように通信システム1の時刻同期処理によってOffsetを正確に算出することが可能となっている。
Note that FIG. 23 shows a sequence under a condition where Offset is “4”, and even when the Delay_Response message does not include a field for storing the delay amount SM_Q, the
このように構成された第2実施形態における通信システム1では、Delay_Responseメッセージに遅延量SM_Qを格納するためのフィールドを設けることなく、第1実施形態における通信システム1と同程度の精度で時刻同期処理を実行することが可能となる。したがって、標準フォーマットのDelay Responseメッセージを用いることが可能となる。そのため、例えば通信システム1を実装する際のコストの低減や時間の削減を行うことが可能となるとの効果を奏する。
In the
[第3実施形態]
上述した第1実施形態及び第2実施形態では、マスタノード300及びスレーブノード400が遅延量MS_Q及びSM_Qの計測を行なうことによって、既存の中継ノードのままで、マスタ/スレーブ間の双方向の遅延の非対称性を考慮した高精度の時刻同期を実現した。これに対し、第3実施形態では、マスタノード300及びスレーブノード400それぞれの前段に各遅延量を計測するノード(以下、「エミュレーションノード」という。)を配置することによって、全ての中継ノードを置き換えることなく、IEEE1588v2 w/TCを実現する。
[Third Embodiment]
In the first embodiment and the second embodiment described above, the
図24は、第3実施形態における通信システム1のシステム構成図である。第3実施形態における通信システム1は、マスタノード300、スレーブノード400(400a〜400c)、エミュレーションノード800(800a〜800d)、パケットネットワークPNを備える。エミュレーションノード800a〜800dは、それぞれスレーブノード400a〜400c及びマスタノード300の前段に配置される。なお、エミュレーションノード800は、パケットネットワークPNの中継ノードの機能として実装されても良いし、パケットネットワークPNの中継ノードとは異なる装置として実装されても良い。エミュレーションノード800は、中継ノードとは異なる装置として実装される場合には、例えば単一の装置として実装され、マスタノード300やスレーブノード400に対して接続される。以下、通信システム1の第3実施形態について、第1実施形態と異なる点を中心に説明する。
FIG. 24 is a system configuration diagram of the
〔マスタノード〕
図25は第3実施形態におけるマスタノード300の機能構成を表す機能ブロック図である。第3実施形態におけるマスタノード300は、IEEE1588v2 w/TCに基づいて動作する。具体的には、第3実施形態におけるマスタノード300は、パケット生成部303に代えてパケット生成部303bを備える点、遅延計測部306を備えない点で、第1実施形態におけるマスタノード300と異なり、その他の構成は同じである。
[Master node]
FIG. 25 is a functional block diagram showing a functional configuration of the
パケット生成部303bは、Delay_Responseメッセージに関する処理がパケット生成部303と異なり、他の構成は同じである。パケット生成部303bは、Delay_Requestメッセージの受信に応じて、Delay受信時刻Tm(1)を取得すると共に、Delay_Requestメッセージ内からCF_SM値を抽出する。そして、パケット生成部303bは、Delay受信時刻Tm(1)及びCF_SM値を格納したDelay_Responseメッセージを生成する。
The
〔スレーブノード〕
図26は、第3実施形態におけるスレーブノード400の機能構成を表す機能ブロック図である。第3実施形態におけるスレーブノード400は、IEEE1588v2 w/TCに基づいて動作する。具体的には、第3実施形態におけるスレーブノード400は、時刻同期制御部405に代えて時刻同期制御部405bを備える点、遅延計測部403を備えない点で第1実施形態におけるスレーブノード400と異なり、その他の構成は同じである。
[Slave node]
FIG. 26 is a functional block diagram illustrating a functional configuration of the
時刻同期制御部405bは、遅延量SM_Q及び遅延量MS_Qに代えて、CF値(CF_MS、CF_SM)を用いてOffsetを求める点で時刻同期制御部405と異なり、他の構成は同じである。
The time
図27は、時刻同期制御部405bの詳細な機能構成を表す機能ブロック図である。時刻同期制御部405bは、パケット解析部701に代えてパケット解析部701bを備える点、オフセット計算部703に代えてオフセット計算部703bを備える点で時刻同期制御部405と異なり、その他の構成は同じである。
FIG. 27 is a functional block diagram illustrating a detailed functional configuration of the time
パケット解析部701bは、Syncメッセージ及びDelay_Responseメッセージに関する処理がパケット解析部701と異なる。具体的には、パケット解析部701bは、Syncメッセージを受信すると、スレーブクロック部404を参照しSync受信時刻Ts(0)を取得すると共に、SyncメッセージからCF値CF_MSを抽出する。そして、パケット解析部701bは、抽出されたSync受信時刻Ts(0)及びCF値CF_MSを、オフセット計算部703bに通知する。また、パケット解析部701bは、Delay_Responseメッセージを受信すると、格納されるDelay受信時刻Tm(1)及びCF値CF_SMを抽出し、オフセット計算部703bに通知する。
The
オフセット計算部703bは、Syncメッセージ及びDelay_Requestメッセージの送受信時刻情報(Sync送信時刻Tm(0)、Sync受信時刻Ts(0)、Delay送信時刻Ts(1)、Delay受信時刻Tm(1))、CF値CF_MS及びCF_SMを用いてOffsetを計算する。なお、CF値とは、Delay ResponseメッセージのCorrection Fieldに格納される二つの値CF_MS及びCF_SMである。CF_MSは遅延量MS_Qと同じ値であり、CF_SMは遅延量SM_Qと同じ値である。したがって、オフセット計算部703bは、上記の式14においてMS_Q及びSM_Qの値をそれぞれCF_MS及びCF_SMに置き換えることによって、Offsetの値を算出する。
The offset
〔エミュレーションノード〕
図28は、第3実施形態におけるエミュレーションノード800の機能構成を表す機能ブロック図である。エミュレーションノード800は、パケット受信部801と、PLL部402と、遅延計測部803と、クロック部804と、TC処理部805と、パケット送信部806とから構成される。PLL部402は、第1実施形態におけるスレーブノード400が備えるPLL部402と同じ構成である。クロック部804は、第1実施形態におけるスレーブクロック部404と同じ構成である。なお、エミュレーションノード800は、例えばバスで接続されたCPU、メモリ、補助記憶装置、通信インタフェース等を備え、時刻同期用プログラムを実行することによって上記各機能部を備える装置として構成されても良い。
[Emulation node]
FIG. 28 is a functional block diagram showing a functional configuration of the
遅延計測部803は、マスタノード300bの前段に配置されるエミュレーションノード800dと、スレーブノード400bの前段に配置されるエミュレーションノード800a〜cとでは、その構成が異なる。エミュレーションノード800dの遅延計測部803は、第1実施形態におけるマスタノード300の遅延計測部306と同じ構成である。一方、エミュレーションノード800a〜800cの遅延計測部803は、第1実施形態におけるスレーブノード400の遅延計測部403と同じ構成である。いずれの場合も、遅延計測部803は、計測結果をTC処理部805に通知する。
The configuration of the
パケット受信部801は、Syncメッセージ又はDelay_Requestメッセージを受信すると、受信されたメッセージをTC処理部805に転送すると共に、クロック部804を参照して各メッセージの受信時刻を取得する。そして、パケット受信部801は、各メッセージの受信時刻をパケット送信部806に通知する。また、パケット受信部801は、Follow_upメッセージ又はDelay_Responseメッセージを受信すると、そのままパケット送信部806に転送する。
When receiving the Sync message or the Delay_Request message, the
遅延計測部803は、エミュレーションノード800にメッセージが至るまでのキューイング遅延の遅延量(以下、「予備遅延量」という。)MS_Q2及びSM_Q2を計測する。なお、上述したように、遅延計測部803の構成は、第1実施形態におけるスレーブノード400の遅延計測部403と同じ構成であり、遅延計測部403と同じ処理によって算出された結果の遅延量が予備遅延量を表す。
The
TC処理部805は、パケット受信部801から受信するSyncメッセージ及びDelay_RequestメッセージのCorrection Fieldに、予備遅延量MS_Q2及びSM_Q2を、それぞれCF値CF_MS及びCF_SMとして記録し、パケット送信部806に転送する。
The
パケット送信部806は、TC処理部805からSyncメッセージ又はDelay_Requestメッセージを送信すると、クロック部804を参照して送信時刻を取得する。そして、パケット送信部806は、送信時刻と、パケット受信部801から通知された受信時刻と、に基づいてノード内滞在時間を計算する。ノード内滞在時間とは、自装置内にパケットが滞在していた時間を表す。そして、パケット送信部806は、Correction Fieldに格納されているCF値にノード内滞在時間を加算し、パケットネットワークPN又は宛先となる各ノード(マスタノード300又はスレーブノード400)に転送する。CF値である予備遅延量MS_Q2及びSM_Q2にノード内滞在時間が加算されることによって、加算後のCF値は遅延量MS_Q及びSM_Qと同じ値となる。また、パケット送信部806は、Follow_upメッセージ及びDelay_Responseメッセージについては、そのままパケットネットワークPN又は宛先となる各ノード(マスタノード300又はスレーブノード400)に転送する。
When the
〔動作〕
次に、第3実施形態における通信システム1の各装置の処理の流れについて説明する。ただし、マスタ第1処理は、第1実施形態における処理(図10)と同じであるため説明を省略する。
[Operation]
Next, the processing flow of each device of the
図29は、第3実施形態におけるスレーブ第1処理の流れを表すフローチャートである。図29において、図11と同じ処理については同じ符号を付して表し説明を省略する。第3実施形態では、ステップS302の処理の後、スレーブノード400が、受信されたSyncメッセージからCF_MSを抽出する(ステップS321)。具体的には、時刻同期制御部405bのパケット解析部701bが、受信されたSyncメッセージからCF_MSを抽出し、CF_MSをオフセット計算部703bに通知する。そして、ステップS311の処理の後は、スレーブノード400はS303〜S306の処理を実行する。
FIG. 29 is a flowchart showing the flow of the slave first process in the third embodiment. In FIG. 29, the same processes as those in FIG. In the third embodiment, after the process of step S302, the
図30は、第3実施形態におけるマスタ第2処理の流れを表すフローチャートである。図30において、図12と同じ処理については同じ符号を付して表し説明を省略する。第3実施形態では、ステップS402の後、マスタノード300が、受信されたDelay_RequestメッセージからCF_SMを抽出する(ステップS421)。具体的には、パケット生成部303bが、受信されたDelay_RequestメッセージからCF_SMを抽出し、Delay_Requestメッセージの送信元である各スレーブノード400のノード情報と共に保持する。
FIG. 30 is a flowchart showing the flow of the master second process in the third embodiment. In FIG. 30, the same processes as those in FIG. In the third embodiment, after step S402, the
次に、マスタノード300が、CF値CF_SM及びDelay受信時刻Tm(1)が格納されたDelay_Responseメッセージを、各スレーブノード400a〜400cに対して送信する(ステップS422)。具体的には、パケット生成部303bが、各スレーブノード400a〜400cに対応するCF値CF_SM及び時刻情報Tm(1)を格納したDelay_Responseメッセージを生成し、パケット送信部304に転送する。そして、パケット送信部304がスレーブノード400a〜400cに対して、各Delay_Responseメッセージをユニキャスト送信する。
Next, the
図31は、第3実施形態におけるスレーブ第2処理の流れを表すフローチャートである。図31において、図13と同じ処理については同じ符号を付して表し説明を省略する。第3実施形態では、ステップS501の後、スレーブノード400が、受信されたDelay_ResponseメッセージからCF値CF_SM及びDelay受信時刻Tm(1)を抽出し記録する(ステップS521)。具体的には、時刻同期制御部405bのパケット解析部701bが、Delay_Responseメッセージの受信に応じて、Delay_Responseメッセージのペイロード部に格納されたCF値CF_SM及びDelay受信時刻Tm(1)を抽出し取得する。そして、パケット解析部701bが、取得されたCF値CF_SM及びDelay受信時刻Tm(1)をオフセット計算部703bに通知する。
FIG. 31 is a flowchart showing the flow of the slave second process in the third embodiment. In FIG. 31, the same processes as those of FIG. In the third embodiment, after step S501, the
次に、スレーブノード400が、時刻差MS_Diff及び時刻差SM_Diffの値を算出する(ステップS522)。具体的には、オフセット計算部703bが以下の二つの式(式21及び式22)に基づいて、時刻差MS_Diff及び時刻差SM_Diffの値を算出し、保持する。
MS_Diff = (Ts(0) - CF_MS) - Tm(0) ・・・式21
SM_Diff = (Tm(1) - CF_SM) - Ts(1) ・・・式22
Next, the
MS_Diff = (Ts (0)-CF_MS)-Tm (0) ...
SM_Diff = (Tm (1)-CF_SM)-Ts (1) Equation 22
次に、スレーブノード400がOffsetを算出する(ステップS523)。具体的には、オフセット計算部703bが、時刻差MS_Diff及び時刻差SM_Diffに基づいて、以下の式23によりOffsetを算出する。そして、オフセット計算部703bが、算出されたOffsetの値を時刻調整部704に通知する。
Next, the
Offset = (MS_Diff - SM_Diff) / 2
={(Ts(0) - CF_MS) - Tm(0) - ((Tm(1) - CF_SM) - Ts(1))} / 2
={Ts(0) - CF_MS - Tm(0) - Tm(1) + CF_SM + Ts(1)} / 2 ・・・式23
Offset = (MS_Diff-SM_Diff) / 2
= {(Ts (0)-CF_MS)-Tm (0)-((Tm (1)-CF_SM)-Ts (1))} / 2
= {Ts (0)-CF_MS-Tm (0)-Tm (1) + CF_SM + Ts (1)} / 2 Equation 23
なお、式23は以下のようにして求められる。まず、時刻差MS_Diffは以下のような式24により表される。
MS_Diff = Propagation_Delay + Offset ・・・式24
また、時刻差SM_Diffは以下のような式25により表される。
SM_Diff = Propagation_Delay - Offset ・・・式25
そして、式24及び式25から、上記の式23が求められる。式24及び式25におけるpropagation_Delayは、マスタノード300とスレーブノード400との間の伝播遅延の遅延量を表す。
Equation 23 is obtained as follows. First, the time difference MS_Diff is expressed by the following
MS_Diff = Propagation_Delay + Offset ・ ・ ・
Further, the time difference SM_Diff is expressed by the following
SM_Diff = Propagation_Delay-Offset ・ ・ ・
Then, the above equation 23 is obtained from the
なお、オフセット計算部703bは、CF_SM及びCF_MSをそれぞれSM_Q及びMS_Qに置き換えることによって、第1実施形態と同様に式12〜式14を用いてOffsetを算出するように構成されても良い。
Note that the offset
図32は、第3実施形態におけるエミュレーションノード800による処理の流れを表すフローチャートである。まず、エミュレーションノード800が1588メッセージを受信する(ステップS601)。具体的には、パケット受信部801が1588パケットを受信する。受信された1588メッセージがSyncメッセージ又はDelay_Requestメッセージである場合には、エミュレーションノード800がキューイング遅延の予備遅延量を計測する(ステップS602)。具体的には、遅延計測部803の遅延算出部604が、予備遅延量MS_Q2及びSM_Q2を算出する。
FIG. 32 is a flowchart showing the flow of processing by the
次に、エミュレーションノード800が、予備遅延量MS_Q2及びSM_Q2をCF値として記録する(ステップS603)。具体的には、TC処理部805が、Syncメッセージ又はDelay_RequestメッセージのCorrection Fieldに、予備遅延量MS_Q2及びSM_Q2を、それぞれCF値CF_MS及びCF_SMとして記録する。次に、エミュレーションノード800が、ノード内滞在時間を計測する(ステップS604)。具体的には、パケット送信部806が、Syncメッセージ又はDelay_Requestメッセージの受信時刻及び送信時刻に基づいて、ノード内滞在時間を計算する。次に、エミュレーションノード800が、CF値に対してノード内滞在時間を加算する(ステップS605)。具体的には、パケット送信部806が、Correction Fieldに格納されているCF値にノード内滞在時間を加算する。そして、エミュレーションノード800が1588メッセージを送信する(ステップS606)。具体的には、パケット送信部806が、ノード内滞在時間が加算された後のSyncメッセージ又はDelay_Requestメッセージを、パケットネットワークPN又は宛先となる各ノード(マスタノード300又はスレーブノード400)に転送する。
Next, the
一方、ステップS601において受信された1588メッセージがSyncメッセージ及びDelay_Requestメッセージ以外のメッセージである場合には、エミュレーションノード800がこの1588メッセージを送信する(ステップS607)。具体的には、パケット送信部806が、受信されたメッセージを、パケットネットワークPN又は宛先となる各ノード(マスタノード300又はスレーブノード400)に転送する。
On the other hand, when the 1588 message received in step S601 is a message other than the Sync message and the Delay_Request message, the
図33は、第3実施形態における通信システム1による時刻同期処理の具体例を表すシーケンス図である。図33では、マスタノード300に対するスレーブノード400aのOffsetが“4”、マスタノード300とスレーブノード400aとの間の伝播遅延の遅延量Propagation_Delayが“3”、マスタノード300からスレーブノード400aへのキューイング遅延の遅延量MS_Qが“2”、スレーブノード400aからマスタノード300へのキューイング遅延の遅延量SM_Qが“3”である。
FIG. 33 is a sequence diagram illustrating a specific example of time synchronization processing by the
マスタ第1処理においてSync送信時刻Tm(0)は、“4”である。スレーブ第1処理において、Sync受信時刻Ts(0)は“13”であり、Delay送信時刻Ts(1)は“17”である。マスタ第2処理において、Delay受信時刻Tm(1)は“19”である。 In the first master process, the Sync transmission time Tm (0) is “4”. In the first slave process, the Sync reception time Ts (0) is “13”, and the Delay transmission time Ts (1) is “17”. In the second master process, the delay reception time Tm (1) is “19”.
エミュレーションノード800aは、Syncメッセージに対してマスタノード300からエミュレーションノード800aまでの間で付加されたキューイング遅延(予備遅延量)MS_Q2を計測する。また、エミュレーションノード800aは、自装置におけるノード内滞在時間Ts_syncを予備遅延量MS_Q2に加算し、CF_MS=2としてSyncメッセージに格納する。そして、エミュレーションノード800aは、Syncメッセージをスレーブノード400aに転送する。
The
エミュレーションノード800dは、Delay_Requestメッセージに対してスレーブノード400aからエミュレーションノード800dまでの間で付加されたキューイング遅延(予備遅延量)SM_Q2を計測する。また、エミュレーションノード800dは、自装置におけるノード内滞在時間Ts_dreqを予備遅延量SM_Q2に加算し、CF_SM=3としてDelay_Requestメッセージに格納する。そして、エミュレーションノード800dは、Delay_Requestメッセージをマスタノード300に転送する。
The
スレーブノード400aのオフセット計算部703bは、スレーブ第2処理において、以上の各値に基づいて以下の通りOffsetの値を“4”と算出する。
MS_Diff = (Ts(0) - CF_MS) - Tm(0) = (13 - 2) - 4 = 7
SM_Diff = (Tm(1) - CF_SM) - Ts(1) = (19 - 3) - 17 = -1
Offset = (MS_Diff - SM_Diff) / 2 = (7 - ( -1)) / 2 = 4
In the slave second process, the offset
MS_Diff = (Ts (0)-CF_MS)-Tm (0) = (13-2)-4 = 7
SM_Diff = (Tm (1)-CF_SM)-Ts (1) = (19-3)-17 = -1
Offset = (MS_Diff-SM_Diff) / 2 = (7-(-1)) / 2 = 4
なお、図33は、Offsetが“4”となる条件下でのシーケンスであり、実施例3の時刻同期制御方式により、エミュレーションノード800が中継ノードのTC機能を代替し、IEEE1588v2 w/TCでOffsetを求める場合でも上記のように通信システム1の時刻同期処理によってOffsetを正確に算出することが可能となっている。
FIG. 33 is a sequence under a condition where Offset is “4”. By the time synchronization control method of the third embodiment, the
このように構成された第3実施形態における通信システム1では、マスタノード300及びスレーブノード400の前段に配置されたエミュレーションノード800が、他方のノードから自装置までのキューイング遅延の合計値である予備遅延量を計測して1588メッセージのCorrection Fieldに格納する。そのため、中継ノードに対してTC機能を実装しなくとも、エミュレーションノード800がCorrection Field に格納すべき遅延量を正確に計測する。したがって、IEEE1588v2 w/TCを実装する場合に、パケットネットワークPNにおける中継ノード全てに対してTC機能を実装する必要が無い。そのため、IEEE1588v2 w/TCによる時刻同期制御を実装する際のコストの低減や時間の削減を行うことが可能となるとの効果を奏する。
In the
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 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.
300…マスタノード, 301…クロック生成部, 302…マスタクロック部, 303…パケット生成部(通知部), 304…パケット送信部(送信部、通知部), 305…パケット受信部, 306…遅延計測部(第一遅延計測部), 400…スレーブノード, 401…パケット受信部, 402…PLL部, 403…遅延計測部(第二遅延計測部), 404…スレーブクロック部, 405…時刻同期制御部, 406…パケット送信部(送信部), 407…位相比較器, 408…LPF, 409…PI制御器, 410…VCO, 411…カウンタ, 501…パケットカウンタ, 502…カウンタ最大値モニタ部, 503…到着時カウンタ値モニタ部, 504…遅延算出部, 601…パケットカウンタ, 602…カウンタ最大値モニタ部, 603…到着時カウンタ値モニタ部, 604…遅延算出部, 701…パケット解析部, 702…パケット生成部, 703…オフセット計算部, 704…時刻調整部, 800…エミュレーションノード(中継装置), 801…パケット受信部, 803…遅延計測部, 804…クロック部, 805…TC処理部, 806…パケット送信部 300 ... Master node, 301 ... Clock generation unit, 302 ... Master clock unit, 303 ... Packet generation unit (notification unit), 304 ... Packet transmission unit (transmission unit, notification unit), 305 ... Packet reception unit, 306 ... Delay measurement Unit (first delay measurement unit), 400 ... slave node, 401 ... packet reception unit, 402 ... PLL unit, 403 ... delay measurement unit (second delay measurement unit), 404 ... slave clock unit, 405 ... time synchronization control unit , 406 ... Packet transmitter (transmitter), 407 ... Phase comparator, 408 ... LPF, 409 ... PI controller, 410 ... VCO, 411 ... Counter, 501 ... Packet counter, 502 ... Counter maximum value monitor, 503 ... Arrival time counter value monitoring unit, 504... Delay calculation unit, 601... Packet counter, 602 Counter maximum value monitoring unit, 603... Arrival counter value monitoring unit, 604. Delay calculating unit, 701. Packet analyzing unit, 702. Packet generating unit, 703. Offset calculating unit, 704 ... Time adjusting unit, 800 ... Emulation node ( Relay device), 801 ... packet receiving unit, 803 ... delay measuring unit, 804 ... clock unit, 805 ... TC processing unit, 806 ... packet transmitting unit
Claims (10)
前記マスタノードは、
前記スレーブノードに対し制御メッセージを送信する送信部と、
前記スレーブノードから制御メッセージを受信する受信部と、
を備え、
前記マスタノード又は前記中継装置は、
前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量を計測する第一遅延計測部と、
前記第一遅延計測部によって計測された前記第一遅延量を前記スレーブノードに通知する通知部と、
を備え、
前記スレーブノード又は前記中継装置は、
前記マスタノードから前記スレーブノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測する第二遅延計測部、
を備え、
前記スレーブノードは、
前記マスタノードに対し制御メッセージを送信する送信部と、
前記マスタノードから前記制御メッセージを受信する受信部と、
前記マスタノードから通知された前記第一遅延量と、前記第二遅延計測部によって計測された前記第二遅延量とを用いて、前記スレーブノードにおける時刻と前記マスタノードにおける時刻との差分を計算し、前記スレーブノードにおける時刻を前記マスタノードにおける時刻に同期させる時刻同期制御部と、
を備えることを特徴とする時刻同期システム。 A time synchronization system comprising a master node and a slave node that communicate with each other, and a relay device that relays communication between the master node and the slave node, and synchronizes the time at the slave node with the time at the master node,
The master node is
A transmission unit for transmitting a control message to the slave node;
A receiver for receiving a control message from the slave node;
With
The master node or the relay device is
A first delay measuring unit that measures a first delay amount representing a queuing delay received in a communication path by a control message transmitted from the slave node to the master node;
A notification unit for notifying the slave node of the first delay amount measured by the first delay measurement unit;
With
The slave node or the relay device is
A second delay measuring unit that measures a second delay amount representing a queuing delay received in a communication path by a control message transmitted from the master node to the slave node;
With
The slave node is
A transmitter for transmitting a control message to the master node;
A receiving unit for receiving the control message from the master node;
The difference between the time at the slave node and the time at the master node is calculated using the first delay amount notified from the master node and the second delay amount measured by the second delay measurement unit. A time synchronization control unit that synchronizes the time at the slave node with the time at the master node;
A time synchronization system comprising:
前記スレーブノードに対し制御メッセージを送信する送信部と、
前記スレーブノードから制御メッセージを受信する受信部と、
前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量を計測する第一遅延計測部と、
前記第一遅延計測部によって計測された前記第一遅延量を前記スレーブノードに通知する通知部と、
を備えること特徴とするマスタノード。 A transmission unit that communicates with a master node and transmits a control message to the master node; a reception unit that receives a control message from the master node; and a queue that the control message transmitted from the master node receives on a communication path A second delay measuring unit that measures a second delay amount representing an in-gear delay, the first delay amount notified from the master node, and the second delay amount measured by the second delay measuring unit. A time synchronization control unit that synchronizes the time with the time in the master node, and a master node provided in a time synchronization system including a slave node,
A transmission unit for transmitting a control message to the slave node;
A receiver for receiving a control message from the slave node;
A first delay measuring unit that measures a first delay amount representing a queuing delay received in a communication path by a control message transmitted from the slave node to the master node;
A notification unit for notifying the slave node of the first delay amount measured by the first delay measurement unit;
A master node comprising:
前記マスタノードに対し制御メッセージを送信する送信部と、
前記マスタノードから前記制御メッセージを受信する受信部と、
前記マスタノードから前記スレーブノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測する第二遅延計測部と、
前記マスタノードから通知された前記第一遅延量と、自装置の前記第二遅延計測部によって計測された前記第二遅延量とを用いて、前記スレーブノードにおける時刻と前記マスタノードにおける時刻との差分を計算し、前記スレーブノードにおける時刻を前記マスタノードにおける時刻に同期させる時刻同期制御部と、
を備えることを特徴とするスレーブノード。 A transmitting unit that communicates with a slave node and transmits a control message to the slave node; a receiving unit that receives a control message from the slave node; and a queuing received by the control message transmitted from the slave node on a communication path Provided in a time synchronization system having a master node comprising: a first delay measurement unit that measures a first delay amount that represents a delay; and a notification unit that notifies the first delay amount measured by the first delay measurement unit. A slave node,
A transmitter for transmitting a control message to the master node;
A receiving unit for receiving the control message from the master node;
A second delay measuring unit that measures a second delay amount representing a queuing delay received in a communication path by a control message transmitted from the master node to the slave node;
Using the first delay amount notified from the master node and the second delay amount measured by the second delay measurement unit of the own device, the time at the slave node and the time at the master node A time synchronization controller that calculates the difference and synchronizes the time at the slave node with the time at the master node;
A slave node comprising:
前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量を計測する第一遅延計測部と、
前記マスタノードから前記スレーブノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測し、前記第一遅延量と、計測された前記第二遅延量とを用いて、前記スレーブノードにおける時刻と前記マスタノードにおける時刻との差分を計算し、前記スレーブノードにおける時刻を前記マスタノードにおける時刻に同期させる前記スレーブノードに対し、前記第一遅延計測部によって計測された前記第一遅延量を通知する通知部と、
を備える中継装置。 A relay device that relays communication between a master node and a slave node that synchronizes time with the time of the master node,
A first delay measuring unit that measures a first delay amount representing a queuing delay received in a communication path by a control message transmitted from the slave node to the master node;
A control message transmitted from the master node to the slave node measures a second delay amount indicating a queuing delay received in a communication path, and uses the first delay amount and the measured second delay amount. The difference between the time at the slave node and the time at the master node is calculated and measured by the first delay measurement unit for the slave node that synchronizes the time at the slave node with the time at the master node. A notification unit for notifying the first delay amount;
A relay device comprising:
前記マスタノードから前記スレーブノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測する第二遅延計測部と、
前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量と、前記第二遅延量とを用いて、前記スレーブノードにおける時刻と前記マスタノードにおける時刻との差分を計算し、前記スレーブノードにおける時刻を前記マスタノードにおける時刻に同期させる前記スレーブノードに対し、前記第二遅延計測部によって計測された前記第二遅延量を通知する通知部と、
を備える中継装置。 A relay device that relays communication between a master node and a slave node that synchronizes time with the time of the master node,
A second delay measuring unit that measures a second delay amount representing a queuing delay received in a communication path by a control message transmitted from the master node to the slave node;
Using the first delay amount indicating the queuing delay received in the communication path from the slave node to the master node and the second delay amount, the time at the slave node and the master node A notifying unit that calculates a difference with time and notifies the second delay amount measured by the second delay measuring unit to the slave node that synchronizes the time at the slave node with the time at the master node;
A relay device comprising:
前記マスタノードが、前記スレーブノードに対し制御メッセージを送信する送信ステップと、
前記マスタノードが、前記スレーブノードから制御メッセージを受信する受信ステップと、
前記マスタノード又は前記中継装置が、前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量を計測する第一遅延計測ステップと、
前記マスタノード又は前記中継装置が、前記第一遅延計測ステップによって計測された前記第一遅延量を前記スレーブノードに通知する通知ステップと、
前記スレーブノードが、前記マスタノードに対し制御メッセージを送信する送信ステップと、
前記スレーブノードが、前記マスタノードから前記制御メッセージを受信する受信ステップと、
前記スレーブノード又は前記中継装置が、前記マスタノードから前記スレーブノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測する第二遅延計測ステップと、
前記スレーブノードが、前記マスタノードから通知された前記第一遅延量と、前記第二遅延計測ステップによって計測された前記第二遅延量とを用いて、前記スレーブノードにおける時刻と前記マスタノードにおける時刻との差分を計算し、前記スレーブノードにおける時刻を前記マスタノードにおける時刻に同期させる時刻同期制御ステップと、
を備えることを特徴とする時刻同期方法。 A time synchronization method performed by a time synchronization system that includes a master node and a slave node that communicate with each other, and a relay device that relays communication between the master node and the slave node, and synchronizes the time at the slave node with the time at the master node. And
A transmission step in which the master node transmits a control message to the slave node;
A receiving step in which the master node receives a control message from the slave node;
A first delay measuring step in which the master node or the relay device measures a first delay amount representing a queuing delay received in a communication path by a control message transmitted from the slave node to the master node;
A notification step in which the master node or the relay device notifies the slave node of the first delay amount measured in the first delay measurement step;
A transmission step in which the slave node transmits a control message to the master node;
A receiving step in which the slave node receives the control message from the master node;
A second delay measurement step in which the slave node or the relay device measures a second delay amount representing a queuing delay received in a communication path by a control message transmitted from the master node to the slave node;
The slave node uses the first delay amount notified from the master node and the second delay amount measured in the second delay measurement step, and uses the time at the slave node and the time at the master node. And a time synchronization control step for synchronizing the time at the slave node with the time at the master node;
A time synchronization method comprising:
前記第一のコンピュータに対し、
前記スレーブノードに対し制御メッセージを送信する送信ステップと、
前記スレーブノードから制御メッセージを受信する受信ステップと、
を実行させ、
前記第一のコンピュータ又は前記第三のコンピュータに対し、
前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量を計測する第一遅延計測ステップと、
前記第一遅延計測ステップによって計測された前記第一遅延量を前記スレーブノードに通知する通知ステップと、
を実行させ、
前記第二のコンピュータ又は前記第三のコンピュータに対し、
前記マスタノードから前記スレーブノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測する第二遅延計測ステップ、
を実行させ、
前記第二のコンピュータに対し、
前記マスタノードに対し制御メッセージを送信する送信ステップと、
前記マスタノードから前記制御メッセージを受信する受信ステップと、
前記マスタノードから通知された前記第一遅延量と、前記第二遅延計測ステップによって計測された前記第二遅延量とを用いて、前記スレーブノードにおける時刻と前記マスタノードにおける時刻との差分を計算し、前記スレーブノードにおける時刻を前記マスタノードにおける時刻に同期させる時刻同期制御ステップと、
を実行させることを特徴とする時刻同期用プログラム。 Corresponding to the master node as a time synchronization system that includes a master node and a slave node that communicate with each other and a relay device that relays communication between the master node and the slave node, and synchronizes the time at the slave node with the time at the master node A time synchronization program for operating a first computer, a second computer corresponding to the slave node, and a third computer corresponding to the relay device,
For the first computer,
A transmission step of transmitting a control message to the slave node;
Receiving a control message from the slave node;
And execute
For the first computer or the third computer,
A first delay measurement step of measuring a first delay amount representing a queuing delay received in a communication path by a control message transmitted from the slave node to the master node;
A notification step of notifying the slave node of the first delay amount measured by the first delay measurement step;
And execute
For the second computer or the third computer,
A second delay measurement step of measuring a second delay amount representing a queuing delay received in a communication path by a control message transmitted from the master node to the slave node;
And execute
For the second computer,
A transmission step of transmitting a control message to the master node;
Receiving the control message from the master node;
The difference between the time at the slave node and the time at the master node is calculated using the first delay amount notified from the master node and the second delay amount measured at the second delay measurement step. A time synchronization control step for synchronizing the time at the slave node with the time at the master node;
The program for time synchronization characterized by performing this.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009294971A JP5515735B2 (en) | 2009-12-25 | 2009-12-25 | Time synchronization system, master node, slave node, relay device, time synchronization method, and time synchronization program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009294971A JP5515735B2 (en) | 2009-12-25 | 2009-12-25 | Time synchronization system, master node, slave node, relay device, time synchronization method, and time synchronization program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011135482A JP2011135482A (en) | 2011-07-07 |
JP5515735B2 true JP5515735B2 (en) | 2014-06-11 |
Family
ID=44347704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009294971A Expired - Fee Related JP5515735B2 (en) | 2009-12-25 | 2009-12-25 | Time synchronization system, master node, slave node, relay device, time synchronization method, and time synchronization program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5515735B2 (en) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013074338A (en) * | 2011-09-26 | 2013-04-22 | Nec Saitama Ltd | Time server, terminal, time synchronization system, time synchronization method, and program |
JP5716229B2 (en) | 2011-12-28 | 2015-05-13 | 株式会社日立製作所 | Time synchronization system, management node, and time synchronization method |
JP5792125B2 (en) * | 2012-06-15 | 2015-10-07 | 日本電信電話株式会社 | Frequency synchronization circuit and receiver |
WO2013190602A1 (en) | 2012-06-19 | 2013-12-27 | 日本電気株式会社 | Clock synchronization system, clock synchronization method, and storage medium whereupon clock synchronization program is stored |
EP2879322A4 (en) | 2012-07-27 | 2016-04-06 | Nec Corp | Communication apparatus, time synchronization system, and time synchronization method |
DE112012006890B4 (en) | 2012-09-11 | 2020-03-26 | Mitsubishi Electric Corporation | Correction parameter calculation device, system, correction parameter calculation method, and computer program |
JP6025700B2 (en) * | 2013-12-17 | 2016-11-16 | 株式会社日立製作所 | Time synchronization system, slave device, and time synchronization method |
JP6437909B2 (en) * | 2015-12-18 | 2018-12-12 | 大井電気株式会社 | Base station and radio communication system |
CN106385299B (en) * | 2016-09-22 | 2018-02-02 | 国家电网公司 | The master-salve clock synchronous method of intelligent substation maintenance service category information background stream |
WO2020054219A1 (en) * | 2018-09-13 | 2020-03-19 | ソニーセミコンダクタソリューションズ株式会社 | Communication device and communication system |
JP7318228B2 (en) * | 2019-02-13 | 2023-08-01 | 株式会社リコー | Information processing device, control method, and program |
CN112398557B (en) * | 2019-08-16 | 2022-06-28 | 华为技术有限公司 | Time delay statistical method, device, storage medium and system |
JP2021077974A (en) * | 2019-11-07 | 2021-05-20 | 日本放送協会 | Radio transmission system and radio relay device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001177570A (en) * | 1999-12-17 | 2001-06-29 | Mitsubishi Electric Corp | Communication network system, and slave unit, master unit, repeater and synchronization controlling method in communication network system |
JP2005253033A (en) * | 2004-02-06 | 2005-09-15 | Nippon Telegr & Teleph Corp <Ntt> | Network synchronization device, clock transmission method, and clock transmission packet network |
WO2008093600A1 (en) * | 2007-01-29 | 2008-08-07 | Nec Corporation | Time synchronization system, time synchronization method, and program |
WO2009034984A1 (en) * | 2007-09-14 | 2009-03-19 | Nec Corporation | Clock synchronization system in packet network, its method and program |
WO2011074529A1 (en) * | 2009-12-18 | 2011-06-23 | 日本電気株式会社 | Time synchronization system, slave node, time synchronization method, and program for time synchronization |
-
2009
- 2009-12-25 JP JP2009294971A patent/JP5515735B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011135482A (en) | 2011-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5515735B2 (en) | Time synchronization system, master node, slave node, relay device, time synchronization method, and time synchronization program | |
JP5358813B2 (en) | Network node, time synchronization method, and network system | |
EP3491753B1 (en) | System and methods for network synchronization | |
US9154292B2 (en) | Communication apparatus, communication system, and time synchronization method | |
US8964790B2 (en) | Communication apparatus | |
KR101426325B1 (en) | Network element for a packet-switched network | |
US10979164B2 (en) | Peer-to-peer transparent clocks and methods of estimating skew in peer-to-peer transparent clocks | |
EP2541815B1 (en) | Clock synchronization network | |
US9548831B2 (en) | Synchronizing system, synchronizing method, first synchronizing device, second synchronizing device, and computer program | |
US8953645B2 (en) | Communication system, communication apparatus and time synchronization method | |
EP2530860B1 (en) | A method and apparatus for transporting time related information in a packet switched network | |
JP2017050730A (en) | Wireless device and base station system | |
KR20090032306A (en) | Time synchronization system and method on the network | |
US8856367B2 (en) | Arrangement and method for interchanging time markers | |
US9641269B2 (en) | Apparatus and method for synchronizing clocks among communication devices | |
JP2008182385A (en) | Mobile communication system, time server and intra-station synchronization method used for the same | |
JP2013017104A (en) | Communication system | |
WO2011074529A1 (en) | Time synchronization system, slave node, time synchronization method, and program for time synchronization | |
JP5650072B2 (en) | Frequency / time synchronization method and frequency / time synchronization apparatus | |
CN102342051B (en) | For coming the method for synchronised clock and relevant system and module by separating transmission first and second data via at least one time distribution protocol | |
JP6684409B1 (en) | Time synchronization system | |
JP2012114815A (en) | Phase synchronization device and phase synchronization method | |
JP5391964B2 (en) | Clock synchronization method and packet communication system | |
KR20100048124A (en) | Time synchronization method in bridged local area network | |
WO2017150306A1 (en) | Communication system, backup communication device, main communication device, time synchronization method, and non-transitory computer-readable medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121108 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131217 |
|
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: 20140304 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140317 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5515735 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |