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 PDF

Info

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
Application number
JP2009294971A
Other languages
Japanese (ja)
Other versions
JP2011135482A (en
Inventor
正樹 厩橋
珍龍 崔
和男 高木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009294971A priority Critical patent/JP5515735B2/en
Publication of JP2011135482A publication Critical patent/JP2011135482A/en
Application granted granted Critical
Publication of JP5515735B2 publication Critical patent/JP5515735B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional 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 version 2 defines a Transparent Clock (TC) function. In the following description, IEEE 1588 using the TC function is referred to as IEEE 1588v2 w / TC.

IEEE P1588 TM/D1, “Draft Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems”, June, 2007.IEEE P1588 TM / D1, “Draft Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems”, June, 2007.

しかしながら、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の時刻同期アルゴリズムによる通信シーケンスを表すシーケンス図である。FIG. 3 is a sequence diagram showing a communication sequence by an IEEE 1588 time synchronization algorithm. IEEE1588及びIEEE1588v2 w/TCの時刻同期アルゴリズムの概略を表す概略図である。It is the schematic showing the outline of the time synchronization algorithm of IEEE1588 and IEEE1588v2 w / TC. 第1実施形態における通信システムのシステム構成図である。It is a system configuration figure of the communications system in a 1st embodiment. マスタノードの機能構成を表す機能ブロック図である。It is a functional block diagram showing the functional structure of a master node. 遅延計測部の詳細な機能構成を表す機能ブロック図である。It is a functional block diagram showing the detailed functional structure of a delay measurement part. パケットカウンタの動作の概略を表す概略図である。It is the schematic showing the outline | summary of operation | movement of a packet counter. スレーブノードの機能構成を表す機能ブロック図である。It is a functional block diagram showing the functional structure of a slave node. 遅延計測部の詳細な機能構成を表す機能ブロック図である。It is a functional block diagram showing the detailed functional structure of a delay measurement part. 時刻同期制御部の詳細な機能構成を表す機能ブロック図である。It is a functional block diagram showing the detailed functional structure of a time synchronous control part. マスタノードによるマスタ第1処理の流れを表すフローチャートである。It is a flowchart showing the flow of the master 1st process by a master node. スレーブノードによるスレーブ第1処理の流れを表すフローチャートである。It is a flowchart showing the flow of the slave 1st process by a slave node. マスタノードによるマスタ第2処理の流れを表すフローチャートである。It is a flowchart showing the flow of the master 2nd process by a master node. スレーブノードによるスレーブ第2処理の流れを表すフローチャートである。It is a flowchart showing the flow of the slave 2nd process by a slave node. 通信システムによる時刻同期処理の具体例を表すシーケンス図である。It is a sequence diagram showing the specific example of the time synchronous process by a communication system. 通信システムによる時刻同期処理の具体例を表すシーケンス図である。It is a sequence diagram showing the specific example of the time synchronous process by a communication system. 通信システムにおいて計測される遅延量の確率分布を表す図である。It is a figure showing the probability distribution of the delay amount measured in a communication system. パケットバッファを用いて構成された場合の、遅延計測部の処理の概略を表す図である。It is a figure showing the outline of a process of a delay measurement part at the time of comprising using a packet buffer. 第2実施形態におけるマスタノードの機能構成を表す機能ブロック図である。It is a functional block diagram showing the functional structure of the master node in 2nd Embodiment. 第2実施形態におけるスレーブノードの機能構成を表す機能ブロック図である。It is a functional block diagram showing the functional structure of the slave node in 2nd Embodiment. 第2実施形態における時刻同期制御部の機能構成を表す機能ブロック図である。It is a functional block diagram showing the functional structure of the time synchronous control part in 2nd Embodiment. 第2実施形態におけるマスタ第2処理の流れを表すフローチャートである。It is a flowchart showing the flow of the master 2nd process in 2nd Embodiment. 第2実施形態におけるスレーブ第2処理の流れを表すフローチャートである。It is a flowchart showing the flow of the slave 2nd process in 2nd Embodiment. 第2実施形態における通信システムによる時刻同期処理の具体例を表すシーケンス図である。It is a sequence diagram showing the specific example of the time synchronous process by the communication system in 2nd Embodiment. 第3実施形態における通信システムのシステム構成図である。It is a system configuration figure of the communications system in a 3rd embodiment. 第3実施形態におけるマスタノードの機能構成を表す機能ブロック図である。It is a functional block diagram showing the functional structure of the master node in 3rd Embodiment. 第3実施形態におけるスレーブノードの機能構成を表す機能ブロック図である。It is a functional block diagram showing the functional structure of the slave node in 3rd Embodiment. 時刻同期制御部の詳細な機能構成を表す機能ブロック図である。It is a functional block diagram showing the detailed functional structure of a time synchronous control part. 第3実施形態におけるエミュレーションノードの機能構成を表す機能ブロック図である。It is a functional block diagram showing the functional structure of the emulation node in 3rd Embodiment. 第3実施形態におけるスレーブ第1処理の流れを表すフローチャートである。It is a flowchart showing the flow of the slave 1st process in 3rd Embodiment. 第3実施形態におけるマスタ第2処理の流れを表すフローチャートである。It is a flowchart showing the flow of the master 2nd process in 3rd Embodiment. 第3実施形態におけるスレーブ第2処理の流れを表すフローチャートである。It is a flowchart showing the flow of the slave 2nd process in 3rd Embodiment. 第3実施形態におけるエミュレーションノードによる処理の流れを表すフローチャートである。It is a flowchart showing the flow of the process by the emulation node in 3rd Embodiment. 第3実施形態における通信システムによる時刻同期処理の具体例を表すシーケンス図である。It is a sequence diagram showing the specific example of the time synchronous process by the communication system in 3rd Embodiment.

[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 master node 100 and the slave node 200 perform bidirectional communication, and the slave node 200 periodically synchronizes the time with the master node 100.

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

スレーブノード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 slave node 200 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 S102). Next, the slave node 200 receives the Follow_up message and extracts and records the Sync transmission time Tm (0) stored in the Follow_up message. Next, the slave node 200 transmits a Delay_Request message to the master node 100 (step S104). Then, the slave node 200 records the transmission time of this Delay_Request message (hereinafter referred to as “Delay transmission time”) Ts (1) (step S105).

マスタノード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 master node 100 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 100 transmits a Delay_Response message to the slave node 200 (step S107). At this time, the master node 100 stores the Delay reception time Tm (1) in the Delay_Response message.

スレーブノード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 slave node 200 receives the Delay_Response message, the slave node 200 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 200 calculates the time at the master node 100 (hereinafter referred to as “master time”) and the slave node 200 from the following Expression 1. The difference MS_Diff from the time (hereinafter referred to as “slave time”) is calculated.
MS_Diff = Ts (0)-Tm (0) = MS_Delay + Offset ・ ・ ・ Equation 1

また、スレーブノード200は、Delay送信時刻Ts(1)、Delay受信時刻Tm(1)に基づいて、以下の式2から、スレーブ時刻とマスタ時刻との差分を求める。
SM_Diff = Tm(1) - Ts(1) = SM_Delay - Offset ・・・式2
In addition, the slave node 200 obtains a difference between the slave time and the master time from the following formula 2 based on the Delay transmission time Ts (1) and the Delay reception time Tm (1).
SM_Diff = Tm (1)-Ts (1) = SM_Delay-Offset ・ ・ ・ Equation 2

ここで、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 master node 100 to the slave node 200, SM_Delay represents a transmission delay from the slave node 200 to the master node 100, and Offset represents a time offset (advance) of the slave node 200 with respect to the master node 100. Represents. The transmission delays MS_Delay and SM_Delay are composed of a propagation delay between the master node 100 and the slave node 200 and a queuing delay that occurs at a relay node on the network between the master node 100 and the slave node 200.

以上のように、マスタノード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, Expression 1 and Expression 2, are obtained with respect to Offset, which is a time lag of the slave node 200 with respect to the master node 100. 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, in IEEE1588, assuming that the transmission delay MS_Delay from the master node 100 to the slave node 200 is equal to the transmission delay SM_Delay from the slave node 200 to the master node 100, and that both values are delays, 1 and 2 are transformed into the following equations 3 and 4.

MS_Diff = Delay + Offset ・・・式3
SM_Diff = Delay - Offset ・・・式4
式3及び式4の連立方程式を解くことによって、以下の式5が導出される。
Offset = (MS_Diff - SM_Diff) / 2 ・・・式5
MS_Diff = Delay + Offset ・ ・ ・ Equation 3
SM_Diff = Delay-Offset ・ ・ ・ Equation 4
By solving the simultaneous equations of Equation 3 and Equation 4, the following Equation 5 is derived.
Offset = (MS_Diff-SM_Diff) / 2 ... Formula 5

スレーブノード200は、式5に基づいてOffsetを算出し、Offsetに基づいてスレーブ時刻を補正することによって、スレーブ時刻をマスタ時刻に同期させる。以上が、IEEE1588に規定される時刻同期アルゴリズムである。   The slave node 200 calculates Offset based on Equation 5, and corrects the slave time based on Offset to synchronize the slave time with the master time. The above is the time synchronization algorithm defined in IEEE1588.

[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 slave node 200 can accurately acquire the sum of the queuing delays that have occurred in the relay nodes Re1 to Re3 in the transmission from the master node 100 to the slave node 200. Similarly, the master node 100 can accurately obtain the sum of the queuing delays that occurred in the relay nodes Re1 to Re3 in the transmission from the slave node 200 to the master node 100.

マスタノード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 master node 100 to the slave node 200 are MS_Q and MS_P, respectively, and the total queuing delay and propagation delay in transmission from the slave node 200 to the master node 100 are SM_Q, respectively. , SM_P, Equation 1 and Equation 2 described above can be transformed into Equation 6 and Equation 7 below.
MS_Diff = MS_P + MS_Q + Offset ・ ・ ・ Formula 6
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 master node 100 to the slave node 200 and the transmission from the slave node 200 to the master node 100 are equal in both directions, MS_P = SM_P = Propagation_Delay. In this case, Equation 6 and Equation 7 can be transformed as Equation 8 and Equation 9 below.
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 Expression 10 can be obtained as an expression for calculating Offset.
Offset = {(MS_Diff-SM_Diff)-(MS_Q-SM_Q)} / 2 Equation 10

図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 master node 100 to the slave node 200 (D1 + D2 + D3) and the total queuing delay in transmission from the slave node 200 to the master node 100 (D4 + D5 + D6) Was assumed to be equal. However, since they are not actually equal, the error has caused the deterioration of synchronization accuracy.

これに対して、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 slave node 200 accurately acquires the total value (D1 + D2 + D3) of the queuing delay in the transmission from the master node 100 to the slave node 200. Further, the master node 100 accurately acquires the total value (D4 + D5 + D6) of the queuing delay in the transmission from the slave node 200 to the master node 100. With such an operation, IEEE 1588v2 w / TC enables highly accurate time synchronization. The above is the time synchronization algorithm defined in IEEE1588v2 w / TC.

[第1実施形態]
図3は、第1実施形態における通信システム1のシステム構成図である。通信システム1は、マスタノード300、スレーブノード400(400a〜400c)、パケットネットワークPNを備える。以下、マスタノード300及びスレーブノード400の構成の詳細についてそれぞれ説明する。
[First Embodiment]
FIG. 3 is a system configuration diagram of the communication system 1 in the first embodiment. The communication system 1 includes a master node 300, slave nodes 400 (400a to 400c), and a packet network PN. Hereinafter, details of the configurations of the master node 300 and the slave node 400 will be described.

〔マスタノード〕
図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 master node 300. The master node 300 includes a clock generation unit 301, a master clock unit 302, a packet generation unit 303, a packet transmission unit 304, a packet reception unit 305, and a delay measurement unit 306. The master node 300 includes, for example, a CPU (Central Processing Unit) connected via a bus, a memory, an auxiliary storage device, a communication interface, and the like, and is configured as a device including each of the above functional units by executing a time synchronization program. Also good.

クロック生成部301は、マスタノード300の基準クロックを生成する。具体的には、クロック生成部301は、マスタノード300における1秒の時間幅を決める。なお、クロック生成部301は、マスタノード300の外部に存在しても良い。その場合、マスタノード300は、外部に設置されるクロック生成部301からのクロックを確実に同期して取得するように構成される。   The clock generation unit 301 generates a reference clock for the master node 300. Specifically, the clock generation unit 301 determines a time width of 1 second in the master node 300. Note that the clock generation unit 301 may exist outside the master node 300. In this case, the master node 300 is configured to reliably acquire a clock from the clock generation unit 301 installed outside.

マスタクロック部302は、クロック生成部301で生成される基準クロックに従い、マスタノード300の時刻(マスタ時刻)を決定する。具体的には、マスタクロック部302は、マスタノード300において何時何分何秒であるかを決める。   The master clock unit 302 determines the time (master time) of the master node 300 according to the reference clock generated by the clock generation unit 301. Specifically, the master clock unit 302 determines what hours, minutes, and seconds in the master node 300.

パケット生成部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 packet generation unit 303 generates an IEEE 1588 message and sends it to the packet transmission unit 304. Specifically, the IEEE 1588 message includes a Sync message, a Follow_up message, and a Delay_Response message. The packet generation unit 303 periodically transmits a Sync message to the slave node 400 via the packet transmission unit 304, and simultaneously records the Sync transmission time Tm (0) with reference to the master clock unit 302. Further, after transmitting the Sync message, the packet generation unit 303 generates a Follow_up message storing the Sync transmission time Tm (0), and transmits it to the slave node 400 via the packet transmission unit 304. Also, the packet generation unit 303 receives the Delay_Request message reception time (Delay reception time) Tm (1) received by the packet reception unit 305, and the delay amount SM_Q (first delay amount) of the Delay_Request message measured by the delay measurement unit 306. ) Is stored and transmitted to the slave node 400 via the packet transmission unit 304. Note that the delay amount SM_Q represents the delay amount of the queuing delay received while the Delay_Request message is transferred from each slave node 400a to 400c to the master node 300 as described above.

また、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 slave nodes 400a to 400c. Therefore, the packet generation unit 303 manages the Delay reception time Tm (1) and the delay amount SM_Q stored in the Delay_Response message for each slave node 400a to 400c that is the source of the Delay_Request message.

パケット送信部304は、パケット生成部303から受けるSyncメッセージ、Follow_upメッセージ、Delay_Responseメッセージを、パケットネットワークPNを経由してスレーブノード400a〜400cに送信する。なお、パケット送信部304は、Syncメッセージ及びFollow_upメッセージを、スレーブノード400a〜400cに対してブロードキャストする。また、パケット送信部304は、Delay_Responseメッセージを、各Delay_Requestメッセージの送信元のスレーブノード400a〜400cに対してユニキャストする。   The packet transmission unit 304 transmits the Sync message, Follow_up message, and Delay_Response message received from the packet generation unit 303 to the slave nodes 400a to 400c via the packet network PN. The packet transmission unit 304 broadcasts a Sync message and Follow_up message to the slave nodes 400a to 400c. The packet transmission unit 304 unicasts the Delay_Response message to the slave nodes 400a to 400c that are the transmission sources of the Delay_Request messages.

パケット受信部305は、スレーブノード400a〜400cからパケットネットワークPNを経由して送られてくるDelay_Requestメッセージを受信する。そして、パケット受信部305は、受信されたDelay_Requestメッセージを、パケット生成部303及び遅延計測部306に転送する。   The packet receiving unit 305 receives a Delay_Request message sent from the slave nodes 400a to 400c via the packet network PN. Then, the packet reception unit 305 transfers the received Delay_Request message to the packet generation unit 303 and the delay measurement unit 306.

遅延計測部306は、パケットカウンタを備える。遅延計測部306は、パケットカウンタのカウンタ値の増減状況をモニタすることによって、到着するDelay_Requestメッセージの遅延量SM_Qを算出する。そして、遅延計測部306は、算出された遅延量SM_Qをパケット生成部303に通知する。   The delay measurement unit 306 includes a packet counter. The delay measuring unit 306 calculates the delay amount SM_Q of the arriving Delay_Request message by monitoring the increase / decrease state of the counter value of the packet counter. Then, the delay measurement unit 306 notifies the packet generation unit 303 of the calculated delay amount SM_Q.

図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 delay measurement unit 306. The delay measurement unit 306 includes a packet counter 501, a counter maximum value monitor unit 502, an arrival counter value monitor unit 503, and a delay calculation unit 504. The counter maximum value monitoring unit 502 and the arrival time counter value monitoring unit 503 monitor the counter value of the packet counter 501 and notify the delay calculation unit 504 of the result. The delay calculation unit 504 calculates the delay amount SM_Q using information notified from the counter maximum value monitor unit 502 and the arrival time counter value monitor unit 503. Then, the delay calculation unit 504 notifies the packet generation unit 303 of the calculated delay amount SM_Q.

パケットカウンタ501は、パケット受信部305からDelay_Requestメッセージを受信する毎に、カウンタの値を所定の値分だけ増加させる。また、パケットカウンタ501は、クロック生成部301から出力される基準クロックの周波数に従い、カウンタの値を減少させる。パケットカウンタ501のカウンタ値が基準クロックの周波数に従って減少するのは、パケット受信部305によって受信されたDelay_Requestメッセージのパケットが、基準クロックの周波数に従って受信パケットのバッファから読み出されるためである。   Each time the packet counter 501 receives a Delay_Request message from the packet receiver 305, the packet counter 501 increases the counter value by a predetermined value. Further, the packet counter 501 decreases the counter value according to the frequency of the reference clock output from the clock generation unit 301. The counter value of the packet counter 501 decreases according to the frequency of the reference clock because the packet of the Delay_Request message received by the packet receiving unit 305 is read from the buffer of the received packet according to the frequency of the reference clock.

カウンタ最大値モニタ部502は、パケットカウンタ501のカウンタ値の最大値を検出する。具体的には、カウンタ最大値モニタ部502は、予め決められた所定の時間(例えば10秒)のモニタ期間内の最大値を検出する。以下、モニタ期間iにおけるカウンタの最大値を、カウンタ最大値P(i)と表す。カウンタ最大値モニタ部502は、モニタ期間iが終了すると、検出結果であるカウンタ最大値P(i)を遅延算出部504に通知する。   The counter maximum value monitor unit 502 detects the maximum value of the counter value of the packet counter 501. Specifically, the counter maximum value monitoring unit 502 detects the maximum value within a monitoring period of a predetermined time (for example, 10 seconds). Hereinafter, the maximum value of the counter in the monitoring period i is expressed as a counter maximum value P (i). When the monitoring period i ends, the counter maximum value monitoring unit 502 notifies the delay calculating unit 504 of the counter maximum value P (i) that is the detection result.

到着時カウンタ値モニタ部503は、モニタ期間iにおけるn番目のDelay_Requestメッセージパケットが到着すると、到着時のカウンタ値C(i,n)を検出する。到着時カウンタ値モニタ部503は、Delay_Requestメッセージパケットの到着毎にカウンタ値C(i,n)を検出し、検出結果を遅延算出部504に通知する。   Upon arrival, the counter value monitor unit 503 detects the counter value C (i, n) upon arrival when the n-th Delay_Request message packet arrives in the monitoring period i. The arrival time counter value monitoring unit 503 detects the counter value C (i, n) every time the Delay_Request message packet arrives, and notifies the delay calculation unit 504 of the detection result.

遅延算出部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 value monitoring unit 503, and the following equation is obtained. 11 is used to calculate the delay amount SM_Q.
SM_Q = P (i-1)-C (i, n) Equation 11
The delay calculation unit 504 notifies the packet generation unit 303 of the delay amount SM_Q every time the delay amount SM_Q is calculated.

図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 packet counter 501. In FIG. 6, the vertical axis represents the counter value, and represents a high counter value from the bottom to the top. The horizontal axis represents time and progresses from left to right. A plurality of broken lines arranged at equal intervals in the vertical direction represent the timing at which a packet of a Delay_Request message is received when no queuing delay occurs. The arrow pointing upward indicates the timing when the packet of the Delay_Request message is actually received. When receiving the Delay_Request message packet, the packet counter 501 increases the counter value by a fixed value (CV in FIG. 6). When the vertically extending broken line and the upward arrow coincide with each other on the time axis, that is, when a Delay_Request message packet is received without causing a queuing delay, the counter value takes the maximum value Cmax. In this case, the packet counter 501 matches the total number of received bits with the total number of bits read periodically according to the frequency of the reference clock. On the other hand, when a queuing delay occurs, the counter value is smaller than Cmax. At this time, the difference between the maximum value Cmax and the counter value is equivalent to the delay amount of the generated queuing delay.

〔スレーブノード〕
図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 slave node 400. Note that each of the slave nodes 400 a to 400 c has the same configuration as that of the slave node 400. The slave node 400 includes a packet reception unit 401, a PLL (Phase Locked Loop) unit 402, a delay measurement unit 403, a slave clock unit 404, a time synchronization control unit 405, and a packet transmission unit 406. The slave node 400 may include, for example, a CPU, a memory, an auxiliary storage device, a communication interface, and the like connected by a bus, and may be configured as a device including the above-described functional units by executing a time synchronization program.

パケット受信部401は、マスタノード300からパケットネットワークPNを経由して送信されてきたSyncメッセージ、Follow_upメッセージ、Delay_Requestメッセージを受信し、時刻同期制御部405に転送する。パケット受信部401は、Syncメッセージに限り、PLL部402及び遅延計測部403にも転送する。   The packet receiving unit 401 receives the Sync message, Follow_up message, and Delay_Request message transmitted from the master node 300 via the packet network PN, and transfers them to the time synchronization control unit 405. The packet reception unit 401 transfers only the Sync message to the PLL unit 402 and the delay measurement unit 403.

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 PLL unit 402 includes a phase comparator 407, an LPF (Low Pass Filter) 408, a PI (Proportional Integral) controller 409, a VCO (voltage controlled oscillator) 410, and a counter 411. However, such a configuration of the PLL unit 402 is merely an example. That is, the PLL unit 402 can calculate a difference between a TS (Time Stamp) generated from its own clock and a TS received from the master node 300, and adjust its own clock based on the difference. Any other configuration may be used.

位相比較器407は、パケット受信部401から受信したSyncメッセージパケットに格納される受信タイムスタンプと、カウンタ411で生成されるタイムスタンプとの差分信号を計算する。そして、位相比較器407は、その計算結果を表す差分信号をLPF408に出力する。   The phase comparator 407 calculates a difference signal between the reception time stamp stored in the Sync message packet received from the packet reception unit 401 and the time stamp generated by the counter 411. Then, the phase comparator 407 outputs a differential signal representing the calculation result to the LPF 408.

LPF408は、位相比較器407によって出力された差分信号を平準化し、ジッタやノイズを抑圧し、PI制御器409に出力する。
PI制御器409は、平準化された差分信号が最終的にゼロとなるような制御信号を生成し、VCO410に出力する。
The LPF 408 levels the difference signal output by the phase comparator 407, suppresses jitter and noise, and outputs the result to the PI controller 409.
The PI controller 409 generates a control signal such that the leveled difference signal finally becomes zero and outputs it to the VCO 410.

VCO410は、PI制御器409から出力された制御信号によって決定される周波数のクロックを生成し、カウンタ411に出力する。また、VCO410は、生成された周波数のクロックに従い、遅延計測部403のパケットカウンタのカウンタ値を減少させる。
カウンタ411は、VCO410によって生成されたクロックを元にタイムスタンプを生成し、位相比較器407に転送する。
The VCO 410 generates a clock having a frequency determined by the control signal output from the PI controller 409 and outputs the clock to the counter 411. In addition, the VCO 410 decreases the counter value of the packet counter of the delay measurement unit 403 according to the generated frequency clock.
The counter 411 generates a time stamp based on the clock generated by the VCO 410 and transfers the time stamp to the phase comparator 407.

以上説明したPLL部402の動作により、VCO410によって生成されるスレーブノード400のクロックが、マスタノード300のクロックに同期される。
遅延計測部403は、パケットカウンタを備える。遅延計測部403は、パケットカウンタのカウンタ値の増減状況をモニタすることによって、到着するSyncメッセージの遅延量MS_Q(第二遅延量)を算出する。そして、遅延計測部403は、算出された遅延量MS_Qを時刻同期制御部405に通知する。なお、遅延量MS_Qは、上述したようにSyncメッセージがマスタノード300からスレーブノード400まで転送される間に受けたキューイング遅延の遅延量を表す。
With the operation of the PLL unit 402 described above, the clock of the slave node 400 generated by the VCO 410 is synchronized with the clock of the master node 300.
The delay measurement unit 403 includes a packet counter. The delay measurement unit 403 calculates the delay amount MS_Q (second delay amount) of the incoming Sync message by monitoring the increase / decrease state of the counter value of the packet counter. Then, the delay measurement unit 403 notifies the time synchronization control unit 405 of the calculated delay amount MS_Q. Note that the delay amount MS_Q represents the delay amount of the queuing delay received while the Sync message is transferred from the master node 300 to the slave node 400 as described above.

図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 delay measurement unit 403. The delay measurement unit 403 includes a packet counter 601, a counter maximum value monitor unit 602, an arrival counter value monitor unit 603, and a delay calculation unit 604. Each configuration provided in the delay measurement unit 403 is the same as each configuration having the same name provided in the delay measurement unit 306 of the master node 300. However, each time the packet counter 601 receives a Sync message from the packet receiver 401, the packet counter 601 increases the counter value by a predetermined value. Further, the packet counter 601 decreases the counter value in accordance with the frequency of the clock output by the VCO 410. Further, the delay calculation unit 604 calculates the delay amount MS_Q by the same process instead of the delay amount SM_Q, and notifies the time synchronization control unit 405 of the calculated delay amount MS_Q.

図7に戻ってスレーブノード400の構成の説明を続ける。スレーブクロック部404は、VCO410によって生成されるクロックに従い、スレーブノード400a〜400cの時刻(スレーブ時刻)を決める。   Returning to FIG. 7, the description of the configuration of the slave node 400 will be continued. The slave clock unit 404 determines the time (slave time) of the slave nodes 400a to 400c according to the clock generated by the VCO 410.

時刻同期制御部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 synchronization control unit 405 transmits and receives Sync message and Delay_Request message transmission / reception time information (Sync transmission time Tm (0), Sync reception time Ts (0), Delay transmission time Ts (1), Delay reception time Tm (1)), Using the delay amount SM_Q and the delay amount MS_Q, an offset that is a time lag of the slave node 400 with respect to the master node 300 is obtained. Then, the time synchronization control unit 405 corrects the time of the slave clock unit 404 (slave time). Also, the time synchronization control unit 405 generates a Delay_Request message and sends it to the packet transmission unit 406.
The packet transmission unit 406 transmits the Delay_Request message received from the time synchronization control unit 405 to the master node 300 via the packet network PN.

図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 synchronization control unit 405. The time synchronization control unit 405 includes a packet analysis unit 701, a packet generation unit 702, an offset calculation unit 703, and a time adjustment unit 704.
The packet analysis unit 701 receives a Sync message, Follow_up message, and Delay_Response message from the packet reception unit 401. When receiving the Sync message, the packet analysis unit 701 refers to the slave clock unit 404 and acquires the Sync reception time Ts (0). The packet analysis unit 701 notifies the offset calculation unit 703 of the acquired Sync reception time Ts (0).

また、パケット解析部701は、Follow_upメッセージを受信すると、Follow_upメッセージ内に格納されるSync送信時刻Tm(0)を抽出する。そして、パケット解析部701は、抽出されたSync送信時刻Tm(0)をオフセット計算部703に通知すると共に、パケット生成部702に対しDelay_Requestメッセージの生成トリガを送る。   Further, when receiving the Follow_up message, the packet analysis unit 701 extracts the Sync transmission time Tm (0) stored in the Follow_up message. Then, the packet analysis unit 701 notifies the extracted Sync transmission time Tm (0) to the offset calculation unit 703 and sends a generation trigger of a Delay_Request message to the packet generation unit 702.

また、パケット解析部701は、Delay_Responseメッセージを受信すると、Delay_Responseメッセージ内に格納されるDelay受信時刻Tm(1)及び遅延量SM_Qを抽出し、オフセット計算部703に通知する。   Further, when receiving the Delay_Response message, the packet analysis unit 701 extracts the Delay reception time Tm (1) and the delay amount SM_Q stored in the Delay_Response message, and notifies the offset calculation unit 703 of them.

パケット生成部702は、Delay_Requestメッセージを生成する。具体的には、パケット生成部702は、パケット解析部701からDelay_Requestメッセージの生成トリガを受信すると、Delay_Requestメッセージを生成する。パケット生成部702は、生成されたDelay_Requestメッセージをパケット送信部406に転送すると共に、スレーブクロック部404を参照し、Delay送信時刻Ts(1)を取得する。そして、パケット生成部702は、取得されたDelay送信時刻Ts(1)をオフセット計算部703に通知する。   The packet generator 702 generates a Delay_Request message. Specifically, upon receiving a Delay_Request message generation trigger from the packet analysis unit 701, the packet generation unit 702 generates a Delay_Request message. The packet generation unit 702 transfers the generated Delay_Request message to the packet transmission unit 406 and refers to the slave clock unit 404 to acquire the Delay transmission time Ts (1). Then, the packet generation unit 702 notifies the obtained delay transmission time Ts (1) to the offset calculation unit 703.

オフセット計算部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 calculation unit 703 calculates Offset and notifies the time adjustment unit 704 of the calculated Offset. Specifically, each time received from the packet analysis unit 701 and the packet generation unit 702 (Sync transmission time Tm (0), Sync reception time Ts (0), Delay transmission time Ts (1), Delay reception time Tm (1) )), The delay amount SM_Q received from the packet analysis unit 701, and the delay amount MS_Q received from the delay measurement unit 403, the offset is calculated.

時刻調整部704は、オフセット計算部703から通知されるOffsetを用いて、スレーブクロック部404のスレーブ時刻を調整する。時刻調整部704のこの処理によって、スレーブクロック部404のスレーブ時刻は、マスタノード300のマスタクロック部302のマスタ時刻に同期する。   The time adjustment unit 704 adjusts the slave time of the slave clock unit 404 using Offset notified from the offset calculation unit 703. By this processing of the time adjustment unit 704, the slave time of the slave clock unit 404 is synchronized with the master time of the master clock unit 302 of the master node 300.

〔動作〕
次に、第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 communication system 1 in the first embodiment will be described. In the communication system 1, as processing for time synchronization, master first processing by the master node 300, slave first processing by the slave node 400, master second processing by the master node 300, slave second processing by the slave node 400, Each is executed in this order. 10 and 12 are flowcharts showing the flow of the master first process and the master second process by the master node 300, respectively. 11 and 13 are flowcharts showing the flow of the slave first process and the slave second process by the slave node 400, respectively. The slave nodes 400a to 400c individually execute the first slave process and the second slave process illustrated in FIGS. 11 and 13.

まず、図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 master node 300 will be described with reference to FIG. First, the master node 300 transmits a Sync message to the slave node 400 (step S201). Specifically, the packet generation unit 303 generates a Sync message, and the packet transmission unit 304 broadcasts the Sync message to the slave nodes 400 (400a to 400c). Next, the master node 300 records the Sync transmission time Tm (0) (step S202). Specifically, the packet generation unit 303 refers to the master clock unit 302 to acquire and hold the Sync transmission time Tm (0). Then, the master node 300 transmits a Follow_up message to the slave node 400 (step S203). Specifically, the packet generation unit 303 generates a Follow_up message storing the Sync transmission time Tm (0), and the packet transmission unit 304 broadcast-transmits the Follow_up message to the slave nodes 400 (400a to 400c). The master node 300 periodically repeats the master first process.

次に、図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 slave node 400 will be described with reference to FIG. First, the slave node 400 receives a Sync message from the master node 300 (step S301). Specifically, the packet reception unit 401 receives a Sync message from the master node 300 and transfers the received Sync message to the PLL unit 402, the delay measurement unit 403, and the time synchronization control unit 405. In the operation after receiving the Sync message, the processes in steps S302 to S306 and the processes in steps S307 and S308 are executed in parallel.

まず、ステップ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 slave node 400 records the Sync reception time Ts (0) (step S302). Specifically, the packet analysis unit 701 of the time synchronization control unit 405 acquires the Sync reception time Ts (0) by referring to the slave clock unit 404 in response to the reception of the Sync message, and notifies the offset calculation unit 703 To do.

次に、スレーブノード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 slave node 400 receives a Follow_up message from the master node 300 (step S303). Specifically, the packet reception unit 401 receives a Follow_up message from the master node 300 and transfers the received Follow_up message to the time synchronization control unit 405. Next, the slave node 400 records the Sync transmission time Tm (0) (step S304). Specifically, the packet analysis unit 701 of the time synchronization control unit 405 extracts and acquires the Sync transmission time Tm (0) stored in the payload part of the Follow_up message in response to reception of the Follow_up message. Then, the packet analysis unit 701 notifies the obtained Sync transmission time Tm (0) to the offset calculation unit 703.

次に、スレーブノード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 slave node 400 transmits a Delay_Request message to the master node 300 (step S305). Specifically, the packet analysis unit 701 sends a Delay_Request message generation trigger to the packet generation unit 702. The packet generation unit 702 generates a Delay_Request message according to the generation trigger, and transfers it to the packet transmission unit 406. Then, the packet transmission unit 406 transmits a Delay_Request message to the master node 300. At this time, the slave node 400 records the Delay transmission time Ts (1) (step S306). Specifically, the packet generation unit 702 refers to the slave clock unit 404, acquires the Delay transmission time Ts (1), and transfers it to the offset calculation unit 703.

次に、ステップ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 slave node 400 measures the delay amount MS_Q (step S307). Specifically, the counter maximum value monitoring unit 502 and the arrival time counter value monitoring unit 503 of the delay measurement unit 403 monitor the counter value of the packet counter 501, respectively, and the maximum counter value during the interval period and the counter when each Sync message arrives. Get the value. Then, the delay calculation unit 504 of the delay measurement unit 403 calculates the delay amount MS_Q based on both counter values.

次に、スレーブノード400が、計測された遅延量MS_Qを記録する(ステップS308)。具体的には、遅延算出部504が、算出された遅延量MS_Qを時刻同期制御部405のオフセット計算部703に通知する。   Next, the slave node 400 records the measured delay amount MS_Q (step S308). Specifically, the delay calculation unit 504 notifies the calculated delay amount MS_Q to the offset calculation unit 703 of the time synchronization control unit 405.

次に、図12を参照してマスタノード300によるマスタ第2処理について説明する。まず、マスタノード300がスレーブノード400からDelay_Requestメッセージを受信する(ステップS401)。具体的には、パケット受信部305がスレーブノード400からDelay_Requestメッセージを受信し、受信されたDelay_Requestメッセージをパケット生成部303及び遅延計測部306に転送する。   Next, the master second process by the master node 300 will be described with reference to FIG. First, the master node 300 receives a Delay_Request message from the slave node 400 (step S401). Specifically, the packet reception unit 305 receives a Delay_Request message from the slave node 400 and transfers the received Delay_Request message to the packet generation unit 303 and the delay measurement unit 306.

次に、マスタノード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 master node 300 records the delay reception time Tm (1) (step S402). Specifically, the packet generation unit 303 refers to the master clock unit 302 in response to receiving the Delay_Request message, and acquires the time Tm (1) at the time of receiving the Delay_Request message. Then, the packet generation unit 303 records the Delay reception time Tm (1) of each Delay_Request message in association with the node information of the slave nodes 400a to 400c that is the transmission source of each Delay_Request message.

次に、マスタノード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 master node 300 measures the delay amount SM_Q for each Delay_Request message (step S403). Specifically, the counter maximum value monitoring unit 502 and the arrival time counter value monitoring unit 503 of the delay measurement unit 306 monitor the counter value of the packet counter 501, and each of the maximum counter value in the interval period and the time when each Delay_Request message arrives. Get the counter value. Next, the delay calculation unit 504 calculates the delay amount SM_Q of each Delay_Request message based on both counter value information. Then, the delay measurement unit 306 notifies the packet generation unit 303 of each calculated delay amount SM_Q. The packet generation unit 303 records the delay amount SM_Q of each Delay_Request message in association with the node information of the slave nodes 400a to 400c that is the transmission source of each Delay_Request message.

次に、マスタノード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 master node 300 transmits a Delay_Response message storing the delay amount SM_Q and the Delay reception time Tm (1) to each of the slave nodes 400a to 400c (step S404). Specifically, the packet generation unit 303 generates a Delay_Response message storing the delay amount SM_Q and time information Tm (1) corresponding to each of the slave nodes 400a to 400c, and transfers the Delay_Response message to the packet transmission unit 304. Then, the packet transmission unit 304 unicasts each Delay_Response message to the slave nodes 400a to 400c.

次に、図13を参照してスレーブノード400によるスレーブ第2処理について説明する。まず、スレーブノード400がマスタノード300からDelay_Responseメッセージを受信する(ステップS501)。具体的には、パケット受信部401がマスタノード300からDelay_Responseメッセージを受信し、受信されたDelay_Responseメッセージを時刻同期制御部405に転送する。   Next, the slave second process by the slave node 400 will be described with reference to FIG. First, the slave node 400 receives a Delay_Response message from the master node 300 (step S501). Specifically, the packet receiving unit 401 receives a Delay_Response message from the master node 300 and transfers the received Delay_Response message to the time synchronization control unit 405.

次に、スレーブノード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 slave node 400 extracts and records the delay amount SM_Q and the delay reception time Tm (1) from the received Delay_Response message (step S502). Specifically, the packet analysis unit 701 of the time synchronization control unit 405 extracts and acquires the delay amount SM_Q and the delay reception time Tm (1) stored in the payload part of the delay_response message in response to the reception of the delay_response message. . Then, the packet analysis unit 701 notifies the offset calculation unit 703 of the acquired delay amount SM_Q and Delay reception time Tm (1).

次に、スレーブノード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 slave node 400 calculates values of the time difference MS_Diff and the time difference SM_Diff (step S503). Specifically, the offset calculation unit 703 calculates and holds values of the time difference MS_Diff and the time difference SM_Diff based on the following two expressions (Expression 12 and Expression 13).
MS_Diff = Ts (0)-Tm (0) (12)
SM_Diff = Tm (1)-Ts (1) Equation 13

次に、スレーブノード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 slave node 400 calculates Offset (step S504). Specifically, the offset calculation unit 703 calculates Offset based on the time difference MS_Diff, the time difference SM_Diff, the delay amount MS_Q, and the delay amount SM_Q according to the following Expression 14. Then, the offset calculation unit 703 notifies the time adjustment unit 704 of the calculated Offset value.
Offset = {(MS_Diff-SM_Diff)-(MS_Q-SM_Q)} / 2 Equation 14

なお、式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との間の伝播遅延の遅延量を表す。
Equation 14 is obtained as follows. First, the following Expression 15 is obtained from the time difference MS_Diff and the delay amount MS_Q.
MS_Diff = Propagation_Delay + MS_Q + Offset ・ ・ ・ Equation 15
Further, the following Expression 16 is obtained from the time difference SM_Diff and the delay amount SM_Q.
SM_Diff = Propagation_Delay + SM_Q-Offset ・ ・ ・ Equation 16
From the equations 15 and 16, the above equation 14 is obtained. Note that propagation_Delay in Expression 15 and Expression 16 represents the amount of propagation delay between the master node 300 and the slave node 400.

図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 slave node 400 adjusts the slave time using the calculated offset value (step S505). Specifically, the time adjustment unit 704 delays the slave time by Offset when Offset is a positive value, and advances the slave time by Offset when Offset is a negative value. By adjusting the slave time, the slave time is synchronized with the master time of the master node 300.

図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 communication system 1. First, a specific example of time synchronization processing by the communication system 1 will be described with reference to FIG. In FIG. 14, the offset of the slave node 400 with respect to the master node 300 is “3”, the delay amount Propagation_Delay of the propagation delay between the master node 300 and the slave node 400 is “3”, and the queue from the master node 300 to the slave node 400 The delay amount MS_Q of the ing delay is “0”, and the delay amount SM_Q of the queuing delay from the slave node 400 to the master node 300 is “0”. In FIG. 14 and FIG. 15, for convenience of explanation, the master time and the slave time are indicated by integer values instead of the notation of hour / minute / second.

マスタ第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 master node 300 to the slave node 400 is measured as “0” by the delay measuring unit 403 in the first slave process. Further, the delay amount SM_Q of the queuing delay from the slave node 400 to the master node 300 is measured as “0” by the delay measuring unit 306 in the second master process. In the slave second process, the offset calculation unit 703 of the slave node 400 calculates the value of Offset as “3” based on the above values as follows.

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 communication system 1 as described above.

次に、図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 communication system 1 will be described with reference to FIG. In FIG. 15, the offset of the slave node 400 with respect to the master node 300 is “4”, the delay amount Propagation_Delay of the propagation delay between the master node 300 and the slave node 400 is “3”, and the queue from the master node 300 to the slave node 400 The delay amount MS_Q of the ing delay is “2”, and the delay amount SM_Q of the queuing delay from the slave node 400 to the master node 300 is “3”.

マスタ第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 master node 300 to the slave node 400 is measured as “2” by the delay measurement unit 403 in the first slave process. Further, the delay amount SM_Q of the queuing delay from the slave node 400 to the master node 300 is measured as “3” by the delay measuring unit 306 in the second master process. In the slave second process, the offset calculation unit 703 of the slave node 400 calculates the value of Offset as “4” as follows based on the above values.

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 communication system 1 as described above. It is possible to do.

図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 communication system 1. In the experiment in FIG. 16, a network emulator is connected instead of the packet network PN, a delay amount is added to the packet of the Sync message periodically transmitted from the master node 300, and the delay measurement unit 403 of the slave node 400 The amount of delay was measured. FIG. 16 shows the distribution of the delay amount added by the network emulator and the distribution of the delay amount measured by the slave node 400. The horizontal axis of FIG. 16 represents the delay amount, and the vertical axis represents the probability. In both cases of the uniform distribution and the Poisson distribution, the measured delay amount distribution substantially coincides with the delay amount distribution added by the network emulator. Therefore, it is clear that the delay measurement unit 403 can correctly measure the delay amount MS_Q. Since the delay measuring unit 306 of the master node 300 performs the same operation as the delay measuring unit 403 of the slave node 400, it is clear that SM_Q can be correctly measured. Therefore, it is clear that the offset value is accurately calculated by the time synchronization process by the communication system 1, and the slave time can be accurately synchronized with the master time.

上記の通信システム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 communication system 1 described above, the delay measurement unit 403 of the slave node 400 accurately measures the delay amount MS_Q of the queuing delay from the master node 300 to the slave node 400. Further, the delay measuring unit 306 of the master node 300 accurately measures the delay amount SM_Q of the queuing delay from the slave node 400 to the master node 300. Then, by notifying the slave node 400 of the delay amount SM_Q from the master node 300, the slave node 400 can individually recognize the delay amount of the bidirectional queuing delay between the master node 300 and the slave node 400. . This eliminates the error caused by the actual difference in bidirectional queuing delay compared to the case of calculating Offset assuming that the bidirectional queuing delay is equal as in Pure IEEE1588. It becomes possible to realize time synchronization with higher accuracy.

また、通信システム1では、各々の方向のキューイング遅延の遅延量を、マスタノード300及びスレーブノード400のみによって計測することができる。そのため、パケットネットワークPNにおける中継ノードにおいてTC機能などの特別な機能を実装する必要がなく、既存の中継ノードで対応することが可能である。すなわち、中継ノードに対してTC機能を実装する必要があるIEEE1588v2 w/TCに比べて、中継ノードを置き換える必要が生じず、導入に要するコストを抑えることができ、導入が容易であるという効果がある。   Further, in the communication system 1, the delay amount of the queuing delay in each direction can be measured only by the master node 300 and the slave node 400. Therefore, it is not necessary to implement a special function such as the TC function in the relay node in the packet network PN, and it is possible to cope with the existing relay node. In other words, compared to IEEE 1588v2 w / TC, which needs to implement the TC function for the relay node, there is no need to replace the relay node, the cost required for the introduction can be reduced, and the introduction is easy. is there.

<変形例>
遅延計測部306は、パケットカウンタ501に代えてパケットバッファを用いて構成されても良い。パケットバッファは、パケット受信部401からDelay_Requestメッセージのパケットを受信すると、受信されたパケットをバッファに蓄積する。また、パケットバッファは、クロック生成部301で決定される周波数に従って、蓄積しているパケットを出力する。図17は、パケットバッファを用いて構成された場合の、遅延計測部306の処理の概略を表す図である。図17において、縦軸はバッファへの蓄積量を表し、下から上へ向けて高い蓄積量を表す。横軸は時間を表し、左から右へ向けて進行する。縦に伸びる等間隔に並んだ複数の破線は、キューイング遅延が発生しない場合にDelay_Requestメッセージのパケットが受信されるタイミングを表す。上方向を指す矢印は、Delay_Requestメッセージのパケットが実際に受信されたタイミングを表す。パケットバッファは、Delay_Requestメッセージのパケットが受信されると、受信されたビット数分だけ蓄積量が増加する。縦に伸びる破線と上方向の矢印とが時間軸で一致している場合、すなわちキューイング遅延が発生せずにDelay_Requestメッセージのパケットが受信されている場合は、読み出されたタイミング(蓄積量が減るタイミング)から新たに受信されるタイミング(蓄積量が増えるタイミング)との間の時間幅は最小Tminとなる。一方、キューイング遅延が発生している場合には、上記の時間幅はTminよりも大きい値となる。このとき、最小値Tminと時間幅との差分が、発生しているキューイング遅延の遅延量と等価となる。
<Modification>
The delay measurement unit 306 may be configured using a packet buffer instead of the packet counter 501. When receiving the packet of the Delay_Request message from the packet receiving unit 401, the packet buffer accumulates the received packet in the buffer. Further, the packet buffer outputs accumulated packets according to the frequency determined by the clock generation unit 301. FIG. 17 is a diagram illustrating an outline of processing of the delay measurement unit 306 when configured using a packet buffer. In FIG. 17, the vertical axis represents the accumulation amount in the buffer, and represents a high accumulation amount from bottom to top. The horizontal axis represents time and progresses from left to right. A plurality of broken lines arranged at equal intervals in the vertical direction represent the timing at which a packet of a Delay_Request message is received when no queuing delay occurs. The arrow pointing upward indicates the timing when the packet of the Delay_Request message is actually received. When a packet of a Delay_Request message is received, the amount of accumulation in the packet buffer is increased by the number of received bits. When the vertically extending broken line and the upward arrow coincide with each other on the time axis, that is, when a Delay_Request message packet is received without causing a queuing delay, the read timing (accumulation amount is The time width between the timing (decrease timing) and the newly received timing (timing at which the accumulation amount increases) is the minimum Tmin. On the other hand, when a queuing delay occurs, the above time width becomes a value larger than Tmin. At this time, the difference between the minimum value Tmin and the time width is equivalent to the delay amount of the generated queuing delay.

なお、上述した遅延計測部306のいずれの構成も、遅延を計測するための構成の一例にすぎず、キューイング遅延の遅延量SM_Qを計測できる構成であればその他の構成が採用されても良い。また、遅延計測部403についても同様である。   Note that any of the configurations of the delay measurement unit 306 described above is merely an example of a configuration for measuring a delay, and other configurations may be employed as long as the configuration can measure the delay amount SM_Q of the queuing delay. . The same applies to the delay measurement unit 403.

[第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 communication system 1, the master node 300 measures the delay amount SM_Q, stores it in the Delay_Response message, and transmits it to the slave node 400. However, in the IEEE1588 standard, although there is a field for storing the Delay reception time Tm (1) in the Delay_Response message, there is no field for storing the delay amount SM_Q. Therefore, in the first embodiment, it is necessary to change the standard format of the Delay_Response message. Therefore, the second embodiment of the communication system 1 makes it possible to realize time synchronization processing without changing the standard format of the Delay_Response message. Hereinafter, the second embodiment of the communication system 1 will be described focusing on differences from the first embodiment.

〔マスタノード〕
図18は、第2実施形態におけるマスタノード300の機能構成を表す機能ブロック図である。第2実施形態におけるマスタノード300は、パケット生成部303に代えてパケット生成部303aを備える点で第1実施形態におけるマスタノード300と異なり、その他の構成は同じである。
[Master node]
FIG. 18 is a functional block diagram illustrating a functional configuration of the master node 300 in the second embodiment. The master node 300 in the second embodiment is different from the master node 300 in the first embodiment in that it includes a packet generation unit 303a instead of the packet generation unit 303, and the other configurations are the same.

パケット生成部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 packet generation unit 303a differs from the packet generation unit 303 in the processing related to the Delay_Response message, and the other configuration is the same. The packet generation unit 303a corrects the Delay reception time Tm (1) as the corrected Delay reception time Tm (2) (correction time) using the delay amount SM_Q. Specifically, the packet generation unit 303a calculates the corrected delay reception time Tm (2) as a result of subtracting the delay amount SM_Q from the delay reception time Tm (1). Then, the packet generation unit 303a stores the corrected delay reception time Tm (2) in the Delay_Response message and sends it to the packet transmission unit 304.

〔スレーブノード〕
図19は、第2実施形態におけるスレーブノード400の機能構成を表す機能ブロック図である。第2実施形態におけるスレーブノード400は、時刻同期制御部405に代えて時刻同期制御部405aを備える点で第1実施形態におけるスレーブノード400と異なり、その他の構成は同じである。
[Slave node]
FIG. 19 is a functional block diagram illustrating a functional configuration of the slave node 400 according to the second embodiment. The slave node 400 according to the second embodiment is different from the slave node 400 according to the first embodiment in that the slave node 400 includes a time synchronization control unit 405a instead of the time synchronization control unit 405, and other configurations are the same.

時刻同期制御部405aは、Delay_Requestメッセージの受信時刻情報として補正Delay受信時刻Tm(2)を用いる点、遅延量SM_Qを用いない点で時刻同期制御部405と異なり、他の構成は同じである。   The time synchronization control unit 405a is different from the time synchronization control unit 405 in that the corrected Delay reception time Tm (2) is used as the reception time information of the Delay_Request message and the delay amount SM_Q is not used.

図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 synchronization control unit 405a in the second embodiment. The time synchronization control unit 405a in the second embodiment is different from the time synchronization control unit 405 in the first embodiment in that it includes a packet analysis unit 701a and an offset calculation unit 703a instead of the packet analysis unit 701 and the offset calculation unit 703. Other configurations are the same.

パケット解析部701aは、Delay_Responseメッセージに関する処理がパケット解析部701と異なり、他の構成は同じである。パケット解析部701aは、Delay_Responseメッセージから補正Delay受信時刻Tm(2)を抽出し、抽出された補正Delay受信時刻Tm(2)をオフセット計算部703aに通知する。   The packet analysis unit 701a differs from the packet analysis unit 701 in the processing related to the Delay_Response message, and the other configuration is the same. The packet analysis unit 701a extracts the corrected delay reception time Tm (2) from the Delay_Response message, and notifies the offset calculation unit 703a of the extracted corrected delay reception time Tm (2).

オフセット計算部703aは、Delay受信時刻Tm(1)に代えて補正Delay受信時刻Tm(2)を用いてOffsetを計算する点でオフセット計算部703と異なる。オフセット計算部703aの処理の詳細については後述する。   The offset calculation unit 703a differs from the offset calculation unit 703 in that the offset is calculated using the corrected delay reception time Tm (2) instead of the delay reception time Tm (1). Details of the processing of the offset calculation unit 703a will be described later.

〔動作〕
次に、第2実施形態における通信システム1の各装置の処理の流れについて説明する。ただし、マスタ第1処理及びスレーブ第1処理は、それぞれ第1実施形態における処理(図10及び図11)と同じであるため説明を省略する。
[Operation]
Next, the flow of processing of each device of the communication system 1 in the second embodiment will be described. However, since the master first process and the slave first process are the same as the processes in the first embodiment (FIGS. 10 and 11), the description thereof is omitted.

図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 master node 300 calculates a corrected delay reception time Tm (2) (step S411). Specifically, the packet generation unit 303a calculates the corrected delay reception time Tm (2) by the following equation 17 using the delay amount SM_Q and the delay reception time Tm (1).
Tm (2) = Tm (1)-SM_Q Equation 17

このとき、パケット生成部303aは、スレーブノード400a〜400c毎の補正Delay受信時刻Tm(2)を算出する。そして、パケット生成部303aは、Delay_Requestメッセージの送信元であるスレーブノード400a〜400cのノード情報に対応付けて、補正Delay受信時刻Tm(2)を記録する。なお、補正Delay受信時刻Tm(2)は、キューイング遅延が付加されずにDelay_Requestメッセージが転送された場合の受信時刻を示す。   At this time, the packet generation unit 303a calculates a corrected delay reception time Tm (2) for each of the slave nodes 400a to 400c. Then, the packet generation unit 303a records the corrected delay reception time Tm (2) in association with the node information of the slave nodes 400a to 400c that is the transmission source of the Delay_Request message. The corrected Delay reception time Tm (2) indicates the reception time when the Delay_Request message is transferred without adding a queuing delay.

次に、マスタノード300が、算出された補正Delay受信時刻Tm(2)を格納したDelay_Responseメッセージをスレーブノード400に送信する(ステップS412)。具体的には、パケット生成部303aは、スレーブノード400a〜400c毎に、補正Delay受信時刻Tm(2)を格納したDelay_Responseメッセージを生成し、パケット送信部304に送る。パケット送信部304は、各スレーブノード400a〜400cに対して、Delay_Responseメッセージをユニキャスト送信する。   Next, the master node 300 transmits a Delay_Response message storing the calculated corrected Delay reception time Tm (2) to the slave node 400 (step S412). Specifically, the packet generation unit 303a generates a Delay_Response message storing the corrected Delay reception time Tm (2) for each of the slave nodes 400a to 400c, and sends it to the packet transmission unit 304. The packet transmission unit 304 unicasts a Delay_Response message to each of the slave nodes 400a to 400c.

図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 slave node 400 extracts and records the corrected delay reception time Tm (2) from the Delay_Response message (step S511). Specifically, the packet analysis unit 701a of the time synchronization control unit 405a extracts and records the corrected Delay reception time Tm (2) stored in the payload part of the Delay_Response message in response to reception of the Delay_Response message. Then, the packet analysis unit 701a notifies the offset calculation unit 703a of the corrected delay reception time Tm (2).

次に、スレーブノード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 slave node 400 calculates values of the time difference MS_Diff and the correction time difference SM_Diff2 (step S512). At this time, the process for calculating the time difference MS_Diff is the same as in the first embodiment. The offset calculation unit 703a calculates a corrected time difference SM_Diff2 based on the following Expression 17 using the Delay transmission time Ts (1) and the corrected Delay reception time Tm (2).
SM_Diff2 = Tm (2)-Ts (1) Equation 17

次に、スレーブノード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 slave node 400 calculates Offset using the time difference MS_Diff, the correction time difference SM_Diff2, and the delay amount MS_Q (step S513). Specifically, the offset calculation unit 703a calculates Offset by the following Expression 18 based on the time difference MS_Diff, the correction time difference SM_Diff2, and the delay amount MS_Q. The offset calculation unit 703a notifies the time adjustment unit 704 of the calculated Offset value.
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 Expression 19 is obtained from the time difference MS_Diff and the delay amount MS_Q. Equation 19 is the same as Equation 15.
MS_Diff = Propagation_Delay + MS_Q + Offset ・ ・ ・ Equation 19
Further, the following equation 20 is obtained from the corrected time difference SM_Diff2.
SM_Diff2 = Propagation_Delay-Offset ・ ・ ・ Equation 20
From the equations 19 and 20, the above equation 18 is obtained. Note that propagation_Delay in Expression 19 and Expression 20 also represents the amount of propagation delay between the master node 300 and the slave node 400, as described above.

図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 communication system 1 in the second embodiment. In FIG. 23, the offset of the slave node 400 with respect to the master node 300 is “4”, the delay amount Propagation_Delay of the propagation delay between the master node 300 and the slave node 400 is “3”, and the queue from the master node 300 to the slave node 400 The delay amount MS_Q of the ing delay is “2”, and the delay amount SM_Q of the queuing delay from the slave node 400 to the master node 300 is “3”.

マスタ第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 master node 300 to the slave node 400 is measured as “2” by the delay measurement unit 403 in the first slave process. Further, the delay amount SM_Q of the queuing delay from the slave node 400 to the master node 300 is measured as “3” by the delay measuring unit 306 in the second master process. The packet generation unit 303a of the master node 300 calculates the corrected delay reception time Tm (2) as follows.
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 calculation unit 703a of the slave node 400 calculates the value of Offset as “4” based on the above values as follows.
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 communication system 1 as described above. Offset can be accurately calculated by time synchronization processing.

このように構成された第2実施形態における通信システム1では、Delay_Responseメッセージに遅延量SM_Qを格納するためのフィールドを設けることなく、第1実施形態における通信システム1と同程度の精度で時刻同期処理を実行することが可能となる。したがって、標準フォーマットのDelay Responseメッセージを用いることが可能となる。そのため、例えば通信システム1を実装する際のコストの低減や時間の削減を行うことが可能となるとの効果を奏する。   In the communication system 1 in the second embodiment configured as described above, the time synchronization process is performed with the same accuracy as the communication system 1 in the first embodiment without providing a field for storing the delay amount SM_Q in the Delay_Response message. Can be executed. Accordingly, it is possible to use a standard format Delay Response message. Therefore, for example, there is an effect that it is possible to reduce cost and time when the communication system 1 is mounted.

[第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 master node 300 and the slave node 400 measure the delay amounts MS_Q and SM_Q, so that the bidirectional delay between the master and the slave is maintained without changing the existing relay node. Realized highly accurate time synchronization considering the asymmetry of. On the other hand, in the third embodiment, all relay nodes are replaced by arranging nodes (hereinafter referred to as “emulation nodes”) for measuring the respective delay amounts in the preceding stage of each of the master node 300 and the slave node 400. Without realizing IEEE1588v2 w / TC.

図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 communication system 1 according to the third embodiment. The communication system 1 in the third embodiment includes a master node 300, slave nodes 400 (400a to 400c), an emulation node 800 (800a to 800d), and a packet network PN. Emulation nodes 800a to 800d are arranged in front of slave nodes 400a to 400c and master node 300, respectively. Note that the emulation node 800 may be implemented as a function of a relay node of the packet network PN, or may be implemented as a device different from the relay node of the packet network PN. When the emulation node 800 is mounted as a device different from the relay node, for example, it is mounted as a single device and is connected to the master node 300 and the slave node 400. Hereinafter, the third embodiment of the communication system 1 will be described focusing on differences from the first embodiment.

〔マスタノード〕
図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 master node 300 in the third embodiment. The master node 300 in the third embodiment operates based on IEEE1588v2 w / TC. Specifically, the master node 300 in the third embodiment is different from the master node 300 in the first embodiment in that it includes a packet generation unit 303b instead of the packet generation unit 303 and does not include a delay measurement unit 306. Other configurations are the same.

パケット生成部303bは、Delay_Responseメッセージに関する処理がパケット生成部303と異なり、他の構成は同じである。パケット生成部303bは、Delay_Requestメッセージの受信に応じて、Delay受信時刻Tm(1)を取得すると共に、Delay_Requestメッセージ内からCF_SM値を抽出する。そして、パケット生成部303bは、Delay受信時刻Tm(1)及びCF_SM値を格納したDelay_Responseメッセージを生成する。   The packet generation unit 303b differs from the packet generation unit 303 in the processing related to the Delay_Response message, and the other configuration is the same. In response to the reception of the Delay_Request message, the packet generation unit 303b acquires the Delay reception time Tm (1) and extracts the CF_SM value from the Delay_Request message. Then, the packet generation unit 303b generates a Delay_Response message that stores the Delay reception time Tm (1) and the CF_SM value.

〔スレーブノード〕
図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 slave node 400 according to the third embodiment. The slave node 400 in the third embodiment operates based on IEEE1588v2 w / TC. Specifically, the slave node 400 in the third embodiment differs from the slave node 400 in the first embodiment in that it includes a time synchronization control unit 405b instead of the time synchronization control unit 405 and does not include a delay measurement unit 403. Different, other configurations are the same.

時刻同期制御部405bは、遅延量SM_Q及び遅延量MS_Qに代えて、CF値(CF_MS、CF_SM)を用いてOffsetを求める点で時刻同期制御部405と異なり、他の構成は同じである。   The time synchronization control unit 405b is different from the time synchronization control unit 405 in that the offset is obtained using the CF value (CF_MS, CF_SM) instead of the delay amount SM_Q and the delay amount MS_Q, and the other configuration is the same.

図27は、時刻同期制御部405bの詳細な機能構成を表す機能ブロック図である。時刻同期制御部405bは、パケット解析部701に代えてパケット解析部701bを備える点、オフセット計算部703に代えてオフセット計算部703bを備える点で時刻同期制御部405と異なり、その他の構成は同じである。   FIG. 27 is a functional block diagram illustrating a detailed functional configuration of the time synchronization control unit 405b. The time synchronization control unit 405b is different from the time synchronization control unit 405 in that a packet analysis unit 701b is provided instead of the packet analysis unit 701, and an offset calculation unit 703b is provided instead of the offset calculation unit 703, and other configurations are the same. It is.

パケット解析部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 packet analysis unit 701b is different from the packet analysis unit 701 in processing related to the Sync message and the Delay_Response message. Specifically, when receiving the Sync message, the packet analysis unit 701b refers to the slave clock unit 404, acquires the Sync reception time Ts (0), and extracts the CF value CF_MS from the Sync message. The packet analysis unit 701b notifies the offset calculation unit 703b of the extracted Sync reception time Ts (0) and the CF value CF_MS. Further, when receiving the Delay_Response message, the packet analysis unit 701b extracts the stored Delay reception time Tm (1) and the CF value CF_SM and notifies the offset calculation unit 703b.

オフセット計算部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 calculation unit 703b transmits and receives Sync message and Delay_Request message transmission / reception time information (Sync transmission time Tm (0), Sync reception time Ts (0), Delay transmission time Ts (1), Delay reception time Tm (1)), CF Calculate Offset using the values CF_MS and CF_SM. Note that the CF values are two values CF_MS and CF_SM stored in the Correction Field of the Delay Response message. CF_MS has the same value as the delay amount MS_Q, and CF_SM has the same value as the delay amount SM_Q. Therefore, the offset calculation unit 703b calculates the value of Offset by replacing the values of MS_Q and SM_Q with CF_MS and CF_SM, respectively, in Equation 14 above.

〔エミュレーションノード〕
図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 emulation node 800 in the third embodiment. The emulation node 800 includes a packet reception unit 801, a PLL unit 402, a delay measurement unit 803, a clock unit 804, a TC processing unit 805, and a packet transmission unit 806. The PLL unit 402 has the same configuration as the PLL unit 402 included in the slave node 400 in the first embodiment. The clock unit 804 has the same configuration as the slave clock unit 404 in the first embodiment. The emulation node 800 may include a CPU, a memory, an auxiliary storage device, a communication interface, and the like connected by a bus, for example, and may be configured as a device including the above-described functional units by executing a time synchronization program.

遅延計測部803は、マスタノード300bの前段に配置されるエミュレーションノード800dと、スレーブノード400bの前段に配置されるエミュレーションノード800a〜cとでは、その構成が異なる。エミュレーションノード800dの遅延計測部803は、第1実施形態におけるマスタノード300の遅延計測部306と同じ構成である。一方、エミュレーションノード800a〜800cの遅延計測部803は、第1実施形態におけるスレーブノード400の遅延計測部403と同じ構成である。いずれの場合も、遅延計測部803は、計測結果をTC処理部805に通知する。   The configuration of the delay measurement unit 803 is different between the emulation node 800d arranged in the preceding stage of the master node 300b and the emulation nodes 800a to 800c arranged in the preceding stage of the slave node 400b. The delay measurement unit 803 of the emulation node 800d has the same configuration as the delay measurement unit 306 of the master node 300 in the first embodiment. On the other hand, the delay measurement unit 803 of the emulation nodes 800a to 800c has the same configuration as the delay measurement unit 403 of the slave node 400 in the first embodiment. In either case, the delay measurement unit 803 notifies the TC processing unit 805 of the measurement result.

パケット受信部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 packet receiving unit 801 transfers the received message to the TC processing unit 805 and acquires the reception time of each message with reference to the clock unit 804. Then, the packet reception unit 801 notifies the packet transmission unit 806 of the reception time of each message. Further, when receiving the Follow_up message or the Delay_Response message, the packet receiving unit 801 transfers the packet receiving unit 801 to the packet transmitting unit 806 as it is.

遅延計測部803は、エミュレーションノード800にメッセージが至るまでのキューイング遅延の遅延量(以下、「予備遅延量」という。)MS_Q2及びSM_Q2を計測する。なお、上述したように、遅延計測部803の構成は、第1実施形態におけるスレーブノード400の遅延計測部403と同じ構成であり、遅延計測部403と同じ処理によって算出された結果の遅延量が予備遅延量を表す。   The delay measuring unit 803 measures a delay amount of a queuing delay until the message reaches the emulation node 800 (hereinafter referred to as “preliminary delay amount”) MS_Q2 and SM_Q2. As described above, the configuration of the delay measurement unit 803 is the same as that of the delay measurement unit 403 of the slave node 400 in the first embodiment, and the delay amount calculated as a result of the same processing as the delay measurement unit 403 is the same. Represents the amount of preliminary delay.

TC処理部805は、パケット受信部801から受信するSyncメッセージ及びDelay_RequestメッセージのCorrection Fieldに、予備遅延量MS_Q2及びSM_Q2を、それぞれCF値CF_MS及びCF_SMとして記録し、パケット送信部806に転送する。   The TC processing unit 805 records the spare delay amounts MS_Q2 and SM_Q2 as CF values CF_MS and CF_SM in the Correction Field of the Sync message and Delay_Request message received from the packet receiving unit 801, respectively, and transfers them to the packet transmitting unit 806.

パケット送信部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 packet transmission unit 806 transmits the Sync message or the Delay_Request message from the TC processing unit 805, the packet transmission unit 806 refers to the clock unit 804 and acquires the transmission time. Then, the packet transmission unit 806 calculates the stay time in the node based on the transmission time and the reception time notified from the packet reception unit 801. The staying time in the node represents the time during which the packet stayed in the own device. Then, the packet transmission unit 806 adds the stay time in the node to the CF value stored in the Correction Field, and transfers it to the packet network PN or each destination node (master node 300 or slave node 400). By adding the stay time in the node to the preliminary delay amounts MS_Q2 and SM_Q2 which are CF values, the CF value after the addition becomes the same value as the delay amounts MS_Q and SM_Q. Further, the packet transmission unit 806 transfers the Follow_up message and the Delay_Response message as they are to the packet network PN or each destination node (master node 300 or slave node 400).

〔動作〕
次に、第3実施形態における通信システム1の各装置の処理の流れについて説明する。ただし、マスタ第1処理は、第1実施形態における処理(図10)と同じであるため説明を省略する。
[Operation]
Next, the processing flow of each device of the communication system 1 in the third embodiment will be described. However, since the master first process is the same as the process (FIG. 10) in the first embodiment, the description is omitted.

図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 slave node 400 extracts CF_MS from the received Sync message (step S321). Specifically, the packet analysis unit 701b of the time synchronization control unit 405b extracts CF_MS from the received Sync message and notifies the offset calculation unit 703b of CF_MS. Then, after the process of step S311, the slave node 400 executes the processes of S303 to S306.

図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 master node 300 extracts CF_SM from the received Delay_Request message (step S421). Specifically, the packet generation unit 303b extracts CF_SM from the received Delay_Request message, and holds it together with the node information of each slave node 400 that is the transmission source of the Delay_Request message.

次に、マスタノード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 master node 300 transmits a Delay_Response message storing the CF value CF_SM and the Delay reception time Tm (1) to each of the slave nodes 400a to 400c (step S422). Specifically, the packet generation unit 303b generates a Delay_Response message storing the CF value CF_SM and time information Tm (1) corresponding to each of the slave nodes 400a to 400c, and transfers the Delay_Response message to the packet transmission unit 304. Then, the packet transmission unit 304 unicasts each Delay_Response message to the slave nodes 400a to 400c.

図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 slave node 400 extracts and records the CF value CF_SM and the delay reception time Tm (1) from the received Delay_Response message (step S521). Specifically, the packet analysis unit 701b of the time synchronization control unit 405b extracts and acquires the CF value CF_SM and the Delay reception time Tm (1) stored in the payload part of the Delay_Response message in response to the reception of the Delay_Response message. . Then, the packet analysis unit 701b notifies the offset calculation unit 703b of the acquired CF value CF_SM and Delay reception time Tm (1).

次に、スレーブノード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 slave node 400 calculates values of the time difference MS_Diff and the time difference SM_Diff (step S522). Specifically, the offset calculation unit 703b calculates and holds values of the time difference MS_Diff and the time difference SM_Diff based on the following two expressions (Expression 21 and Expression 22).
MS_Diff = (Ts (0)-CF_MS)-Tm (0) ... Equation 21
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 slave node 400 calculates Offset (step S523). Specifically, the offset calculation unit 703b calculates Offset by the following Expression 23 based on the time difference MS_Diff and the time difference SM_Diff. Then, the offset calculation unit 703b notifies the time adjustment unit 704 of the calculated Offset value.

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 equation 24.
MS_Diff = Propagation_Delay + Offset ・ ・ ・ Equation 24
Further, the time difference SM_Diff is expressed by the following Expression 25.
SM_Diff = Propagation_Delay-Offset ・ ・ ・ Equation 25
Then, the above equation 23 is obtained from the equations 24 and 25. Propagation_Delay in Expression 24 and Expression 25 represents the amount of propagation delay between the master node 300 and the slave node 400.

なお、オフセット計算部703bは、CF_SM及びCF_MSをそれぞれSM_Q及びMS_Qに置き換えることによって、第1実施形態と同様に式12〜式14を用いてOffsetを算出するように構成されても良い。   Note that the offset calculation unit 703b may be configured to calculate Offset using Expressions 12 to 14 as in the first embodiment by replacing CF_SM and CF_MS with SM_Q and MS_Q, respectively.

図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 emulation node 800 in the third embodiment. First, the emulation node 800 receives a 1588 message (step S601). Specifically, the packet receiving unit 801 receives 1588 packets. If the received 1588 message is a Sync message or a Delay_Request message, the emulation node 800 measures the preliminary delay amount of the queuing delay (step S602). Specifically, the delay calculation unit 604 of the delay measurement unit 803 calculates the spare delay amounts MS_Q2 and SM_Q2.

次に、エミュレーションノード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 emulation node 800 records the preliminary delay amounts MS_Q2 and SM_Q2 as CF values (step S603). Specifically, the TC processing unit 805 records the preliminary delay amounts MS_Q2 and SM_Q2 as CF values CF_MS and CF_SM in the Correction field of the Sync message or Delay_Request message, respectively. Next, the emulation node 800 measures the stay time in the node (step S604). Specifically, the packet transmission unit 806 calculates the stay time in the node based on the reception time and transmission time of the Sync message or Delay_Request message. Next, the emulation node 800 adds the stay time in the node to the CF value (step S605). Specifically, the packet transmission unit 806 adds the stay time in the node to the CF value stored in the Correction Field. Then, the emulation node 800 transmits a 1588 message (step S606). Specifically, the packet transmission unit 806 transfers the Sync message or Delay_Request message after the in-node residence time is added to the packet network PN or each node (master node 300 or slave node 400) serving as the destination.

一方、ステップ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 emulation node 800 transmits the 1588 message (step S607). Specifically, the packet transmission unit 806 transfers the received message to the packet network PN or each node (master node 300 or slave node 400) serving as a destination.

図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 communication system 1 according to the third embodiment. In FIG. 33, the offset of the slave node 400a with respect to the master node 300 is “4”, the delay amount Propagation_Delay of the propagation delay between the master node 300 and the slave node 400a is “3”, and the queue from the master node 300 to the slave node 400a. The delay amount MS_Q of the ing delay is “2”, and the delay amount SM_Q of the queuing delay from the slave node 400a to the master node 300 is “3”.

マスタ第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 emulation node 800a measures the queuing delay (preliminary delay amount) MS_Q2 added between the master node 300 and the emulation node 800a with respect to the Sync message. Also, the emulation node 800a adds the in-node residence time Ts_sync in its own device to the spare delay amount MS_Q2, and stores it in the Sync message as CF_MS = 2. Then, the emulation node 800a transfers the Sync message to the slave node 400a.

エミュレーションノード800dは、Delay_Requestメッセージに対してスレーブノード400aからエミュレーションノード800dまでの間で付加されたキューイング遅延(予備遅延量)SM_Q2を計測する。また、エミュレーションノード800dは、自装置におけるノード内滞在時間Ts_dreqを予備遅延量SM_Q2に加算し、CF_SM=3としてDelay_Requestメッセージに格納する。そして、エミュレーションノード800dは、Delay_Requestメッセージをマスタノード300に転送する。   The emulation node 800d measures the queuing delay (preliminary delay amount) SM_Q2 added between the slave node 400a and the emulation node 800d in response to the Delay_Request message. Also, the emulation node 800d adds the in-node residence time Ts_dreq in its own device to the spare delay amount SM_Q2, and stores it in the Delay_Request message as CF_SM = 3. Then, the emulation node 800d transfers the Delay_Request message to the master node 300.

スレーブノード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 calculation unit 703b of the slave node 400a calculates the value of Offset as “4” as follows based on the above values.
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 emulation node 800 substitutes the TC function of the relay node, and is offset by IEEE1588v2 w / TC. As described above, Offset can be accurately calculated by the time synchronization processing of the communication system 1 as described above.

このように構成された第3実施形態における通信システム1では、マスタノード300及びスレーブノード400の前段に配置されたエミュレーションノード800が、他方のノードから自装置までのキューイング遅延の合計値である予備遅延量を計測して1588メッセージのCorrection Fieldに格納する。そのため、中継ノードに対してTC機能を実装しなくとも、エミュレーションノード800がCorrection Field に格納すべき遅延量を正確に計測する。したがって、IEEE1588v2 w/TCを実装する場合に、パケットネットワークPNにおける中継ノード全てに対してTC機能を実装する必要が無い。そのため、IEEE1588v2 w/TCによる時刻同期制御を実装する際のコストの低減や時間の削減を行うことが可能となるとの効果を奏する。   In the communication system 1 according to the third embodiment configured as described above, the emulation node 800 arranged in the preceding stage of the master node 300 and the slave node 400 is the total value of the queuing delay from the other node to the own device. Measure the preliminary delay amount and store it in the Correction Field of the 1588 message. For this reason, the emulation node 800 accurately measures the delay amount to be stored in the Correction Field without mounting the TC function on the relay node. Therefore, when IEEE 1588v2 w / TC is implemented, it is not necessary to implement the TC function for all relay nodes in the packet network PN. Therefore, there is an effect that it is possible to reduce costs and time when implementing time synchronization control by IEEE1588v2 w / TC.

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   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:
前記第一遅延計測部又は前記第二遅延計測部は、自装置において受信された前記制御メッセージのパケットの量と、定期的に読み出されるパケットの量とに基づいて、前記第一遅延量又は前記第二遅延量を計測することを特徴とする請求項1に記載の時刻同期システム。   The first delay measurement unit or the second delay measurement unit, based on the amount of packets of the control message received in its own device and the amount of packets that are periodically read, The time synchronization system according to claim 1, wherein the second delay amount is measured. 前記第一遅延計測部又は前記第二遅延計測部は、自装置において受信された前記制御メッセージを蓄積するバッファを備え、前記制御メッセージが前記バッファに蓄積されたタイミングと、前記バッファから前記制御メッセージが定期的に読み出されるタイミングとに基づいて、前記第一遅延量又は前記第二遅延量を計測することを特徴とする請求項1に記載の時刻同期システム。   The first delay measurement unit or the second delay measurement unit includes a buffer for accumulating the control message received in its own device, the timing at which the control message is accumulated in the buffer, and the control message from the buffer. 2. The time synchronization system according to claim 1, wherein the first delay amount or the second delay amount is measured based on a timing at which is read periodically. 前記マスタノードの前記通知部は、前記制御メッセージが前記マスタノードにおいて受信された時刻を表す受信時刻から前記第一遅延量を減算した結果を表す補正時刻を算出し、前記制御メッセージに予め設けられている前記受信時刻を格納するためのフィールドに前記補正時刻を格納することによって通知を行うことを特徴とする請求項1〜3のいずれか一項に記載の時刻同期システム。   The notification unit of the master node calculates a correction time that represents a result of subtracting the first delay amount from a reception time that represents a time when the control message is received at the master node, and is provided in advance in the control message. The time synchronization system according to any one of claims 1 to 3, wherein notification is performed by storing the correction time in a field for storing the reception time. マスタノードと通信し、前記マスタノードに対し制御メッセージを送信する送信部と、前記マスタノードから制御メッセージを受信する受信部と、前記マスタノードから送信される前記制御メッセージが通信経路において受けたキューイング遅延を表す第二遅延量を計測する第二遅延計測部と、前記マスタノードから通知される前記第一遅延量と、前記第二遅延計測部によって計測された前記第二遅延量とを用いて、時刻を前記マスタノードにおける時刻に同期させる時刻同期制御部と、を備えるスレーブノードを有する時刻同期システムに具備されるマスタノードであって、
前記スレーブノードに対し制御メッセージを送信する送信部と、
前記スレーブノードから制御メッセージを受信する受信部と、
前記スレーブノードから前記マスタノードへ送信される制御メッセージが通信経路において受けたキューイング遅延を表す第一遅延量を計測する第一遅延計測部と、
前記第一遅延計測部によって計測された前記第一遅延量を前記スレーブノードに通知する通知部と、
を備えること特徴とするマスタノード。
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.
JP2009294971A 2009-12-25 2009-12-25 Time synchronization system, master node, slave node, relay device, time synchronization method, and time synchronization program Expired - Fee Related JP5515735B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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