JP6869447B1 - 時刻同期装置、時刻同期システム、時刻同期方法及びプログラム - Google Patents

時刻同期装置、時刻同期システム、時刻同期方法及びプログラム Download PDF

Info

Publication number
JP6869447B1
JP6869447B1 JP2020567628A JP2020567628A JP6869447B1 JP 6869447 B1 JP6869447 B1 JP 6869447B1 JP 2020567628 A JP2020567628 A JP 2020567628A JP 2020567628 A JP2020567628 A JP 2020567628A JP 6869447 B1 JP6869447 B1 JP 6869447B1
Authority
JP
Japan
Prior art keywords
time
synchronization
information
unit
slave device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020567628A
Other languages
English (en)
Other versions
JPWO2022003865A1 (ja
Inventor
磊 李
磊 李
宇志 市村
宇志 市村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6869447B1 publication Critical patent/JP6869447B1/ja
Publication of JPWO2022003865A1 publication Critical patent/JPWO2022003865A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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
    • 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
    • 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/0673Clock or time synchronisation among packet nodes using intermediate nodes, e.g. modification of a received timestamp before further transmission to the next packet node, e.g. including internal delay time or residence time into the packet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electric Clocks (AREA)

Abstract

第1スレーブ装置(300)は、基準時刻を保持するマスタ装置(200)と第2スレーブ装置(400)との間に接続され、PTPに従って第2スレーブ装置(400)とともにマスタ装置(200)との時刻同期を行う。第1同期情報送信部(332)は、第2スレーブ装置(400)にSyncメッセージ、Follow_Upメッセージを送信し、第1要求情報受信部(313)は、第2スレーブ装置(400)からDelay_Reqメッセージを受信し、第1応答情報送信部(333)は、Delay_Respメッセージを第2スレーブ装置(400)に送信する。第1時刻補正部(320)は、Syncメッセージの送信からDelay_Reqメッセージの受信までの期間とは異なる期間においてマスタ装置(200)とメッセージを送受信したときに特定した時刻から算出されるマスタ装置(200)との伝搬遅延時間に基づいて時刻を補正する。

Description

本開示は、時刻同期装置、時刻同期システム、時刻同期方法及びプログラムに関する。
ネットワーク内の装置の時刻を同期させる時刻同期システムは、金融業、製造業、通信業等の様々な産業において利用されている。また、このような時刻同期システムにおいて、IEEE(Institute of Electrical and Electronics Engineers)1588に規定されているPTP(Precision Time Protocol)が用いられていることが知られている。PTPは、グランドマスタクロック(GMC, Gland Master Clock)、所謂グランドマスタが送信したメッセージを受信したスレーブがグランドマスタの時刻と同期する規格である。PTPでは、ネットワーク内において高精度な時刻を持つ装置がグランドマスタとして機能し、グランドマスタ以外の装置がスレーブとして機能する。また、PTPでは、ネットワークが大規模であれば何れかのスレーブがバウンダリークロック(BC, Boundary Clock)として機能し、バウンダリークロックは、グランドマスタから受信したメッセージを接続された他のスレーブに中継する。
このようなPTPを用いた時刻同期システムの一例として、特許文献1には、無線基地局に設けられたベースバンドユニットと、複数のスイッチ装置を含むパケット転送ネットワークと、パケット転送ネットワークに対する基準時刻の供給源であるグランドマスタとを有する無線通信システムが開示されている。特許文献1では、スイッチ装置はバウンダリークロックとして機能しており、グランドマスタから8台のスイッチ装置を経由してベースバンドユニットに基準時刻が供給される。また、特許文献1では、グランドマスタの基準時刻に対する時刻の誤差の予め定めた上限値、グランドマスタから経由するスイッチ装置の台数及び経路上のスイッチ装置毎の時刻の誤差に基づいて、ベースバンドユニットにおける時刻の誤差の許容量を算出している。なお、特許文献1では、経路上のスイッチ装置毎の時刻の誤差が50nsで同一となる場合が例示されている。
特開2018−088646号公報
特許文献1に記載の無線通信システムでは、同一のスイッチ装置を用いて時刻同期の精度を同一としていると考えられるが、例えば、インターネットを用いる時刻同期システムでは、スイッチ装置毎に所有者が異なり、スイッチ装置のメーカ、仕様等が異なることで時刻同期の精度も異なることがある。時刻同期の精度が異なる複数種類のスイッチ装置を用いる場合、スイッチ装置毎に時刻同期のタイミングが設定されている可能姓が高く、スイッチ装置毎に時刻同期のタイミングが設定されているときには、スイッチ装置やベースバンドユニットが時刻を補正しても補正した時刻と基準時刻との誤差が大きくなる可能姓がある。例えば、第1のスイッチ装置から第2のスイッチ装置がメッセージを送受信することで第2のスイッチ装置が時刻を補正する場合においてスイッチ装置毎に時刻同期のタイミングが設定されているときには、第2のスイッチ装置が第1のスイッチ装置とメッセージを送受信しているときに第1のスイッチ装置が時刻を補正する可能性がある。この場合、第2のスイッチ装置が受信したメッセージに第1のスイッチ装置の補正前の時刻に関する情報と補正後の時刻に関する情報とが含まれることがあり、これらの情報に基づいて第2のスイッチ装置が時刻を補正すると、補正した時刻と基準時刻との誤差が大きくなる問題がある。
本開示は、上述のような事情に鑑みてなされたものであり、時刻の誤差を低減することを目的とする。
上記目的を達成するため、本開示に係る時刻同期装置は、時刻を保持する時刻保持装置に接続され、IEEE(Institute of Electrical and Electronics Engineers)1588規格のPTP(Precision Time Protocol)に従って前記時刻保持装置に接続されていない他の時刻同期装置とともに時刻保持装置との時刻同期を行う。時刻同期装置は、同期情報送信部と、要求情報受信部と、応答情報送信部と、時刻補正部とを備える。同期情報送信部は、時刻同期に関する同期情報を他の時刻同期装置に送信する。要求情報受信部は、同期情報送信部が同期情報を送信した後に他の時刻同期装置から送信された要求情報を受信する。応答情報送信部は、要求情報受信部が受信した要求情報に対する応答情報を他の時刻同期装置に送信する。時刻補正部は、同期情報送信部が同期情報を送信してから要求情報受信部が要求情報を受信するまでの所定期間とは異なる期間において、時刻保持装置と情報を送受信したときに特定した時刻から算出される時刻保持装置との伝搬遅延時間に基づいて時刻を補正する一方、所定期間において、時刻の補正を行わない
本開示によれば、他の時刻同期装置に同期情報を送信してから要求情報を他の時刻同期装置から受信するまでの期間に時刻同期装置が時刻を補正しない。このため、時刻同期装置と他の時刻同期装置とが別々に時刻同期のタイミングを設定していたとしても、他の時刻同期装置では、当該期間において算出した伝搬遅延時間に誤差が発生することを防止できる。したがって、他の時刻同期装置に同期情報を送信してから要求情報を他の時刻同期装置から受信するまでの期間に時刻を補正する時刻同期装置よりも他の時刻同期装置の時刻の誤差を低減できる。
本開示の実施の形態に係る時刻同期システムの全体説明図 本実施の形態に係る時刻同期システムの機能構成を示す図 本実施の形態に係る第1スレーブ装置及び第2スレーブ装置のハードウェア構成を示すブロック図 本実施の形態に係る第1時刻同期処理の流れを示すフローチャート 本実施の形態に係る第2時刻同期処理の流れを示すフローチャート 本実施の形態に係る時刻同期システムにおけるメッセージの送受信の例を示すタイミングチャート 従来の時刻同期システムにおけるメッセージの送受信の例を示すタイミングチャート 従来の時刻同期システムにおける時刻の誤差の変化の例を示す図 本実施の形態に係る時刻同期システムにおける時刻の誤差の変化の例を示す図 本実施の形態の変更例に係る時刻同期システムにおけるメッセージの送受信の例を示すタイミングチャート
以下に、本開示を実施するための形態に係る時刻同期装置、時刻同期システム、時刻同期方法及びプログラムについて図面を参照して詳細に説明する。なお、図中同一または相当する部分には同じ符号を付す。
本開示の実施の形態に係る時刻同期システムは、PTPに従って時刻保持装置の一例としてのマスタ装置に接続された時刻同期装置の一例としてのスレーブ装置の時刻をマスタ装置の時刻と同期させるシステムである。なお、PTPに従って時刻同期を行う時刻同期システムでは、マスタ装置とスレーブ装置との間で時刻情報の一例としてのメッセージを送受信し、スレーブ装置がマスタ装置とのメッセージの伝搬遅延時間を算出して時刻を補正する。
具体的には、先ず、マスタ装置は、時刻同期に関する同期情報の一例としてのSyncメッセージ(Sync Message)、Follow_Upメッセージ(Follow Up Message)の順にスレーブ装置に送信する。なお、Follow_Upメッセージには、Syncメッセージを送信した時刻である第1時刻T1を特定可能な情報が含まれている。次に、スレーブ装置は、Syncメッセージを受信して受信した第2時刻T2を特定した後、Follow_Upメッセージを受信して第1時刻T1を特定する。次に、スレーブ装置は、同期情報に基づいて伝搬遅延時間の算出に用いる情報を要求する要求情報の一例としてのDelay_Reqメッセージ(Delay Request Message)をマスタ装置に送信して送信した時刻である第3時刻T3を特定する。次に、マスタ装置は、Delay_Reqメッセージを受信して受信した第4時刻T4を特定した後、要求情報に対する応答情報の一例としてのDelay_Respメッセージ(Delay Response message)をスレーブ装置に送信する。なお、Delay_Respメッセージには、Delay_Reqメッセージを送信した時刻である第4時刻T4を特定可能な情報が含まれている。次に、スレーブ装置は、Delay_Respメッセージを受信して第4時刻T4を特定する。そして、スレーブ装置は、特定した第1時刻T1、第2時刻T2、第3時刻T3、第4時刻T4から伝搬遅延時間を算出し、時刻を補正する。なお、伝搬遅延時間をdとし、時刻の補正量をtcとした場合、伝搬遅延時間dは、以下の(1)に示す数式を用いて算出され、時刻の補正量tcは、以下の(2)に示す数式を用いて算出される。
d={(T4−T1)−(T3−T2)}/2 …(1)
tc=T1+d …(2)
このため、以下に説明する本実施の形態に係る時刻同期システムにおいても同様に、マスタ装置とスレーブ装置との間でメッセージが送受信され、スレーブ装置においてマスタ装置とのメッセージの伝搬遅延時間が算出されて時刻が補正される。
図1は、本開示の実施の形態に係る時刻同期システムの全体説明図である。
本実施の形態に係る時刻同期システム100は、図1に示すように、時刻保持装置の一例としてのマスタ装置200を備える。また、時刻同期システム100は、マスタ装置200に接続された時刻同期装置の一例であって第1時刻同期装置の一例としての第1スレーブ装置300を備える。また、時刻同期システム100は、マスタ装置200に接続されずに第1スレーブ装置300に接続された他の時刻同期装置の一例であって第2時刻同期装置の一例としての第2スレーブ装置400を備える。
マスタ装置200、第1スレーブ装置300、第2スレーブ装置400は、LAN(Local Area Network)を介してデータの送受信が可能となっている。具体的には、マスタ装置200は、マスターポート201を備え、第1スレーブ装置300は、スレーブポート301及びマスターポート302を備え、第2スレーブ装置400は、スレーブポート401及びマスターポート402を備える。そして、マスタ装置200は、マスターポート201がLANを介して第1スレーブ装置300のスレーブポート301と接続されることで、第1スレーブ装置300との時刻同期に関するデータの送受信が可能となっている。また、第1スレーブ装置300もマスタ装置200と同様に、マスターポート302がLANを介して第2スレーブ装置400のスレーブポート401と接続されることで、第2スレーブ装置400とのデータの送受信が可能となっている。
マスタ装置200は、例えば、PTPにおいてグランドマスタとして機能するコンピュータであり、時刻同期システム100において基準時刻として最高品質のクロックを保持する。なお、マスタ装置200は、PTPにおいて基準時刻を保持している限りにおいてグランドマスタに限定されず、例えば、グランドマスタの基準時刻との誤差がないバウンダリークロックとして機能するコンピュータであってもよい。具体的には、先ず、マスタ装置200は、Syncメッセージ、Follow_Upメッセージの順に第1スレーブ装置300に送信する。そして、マスタ装置200は、第1スレーブ装置300からDelay_Reqメッセージを受信した後、Delay_Respメッセージを第1スレーブ装置300に送信する。
図2は、本実施の形態に係る時刻同期システムの機能構成を示す図である。
第1スレーブ装置300及び第2スレーブ装置400は、例えば、PTPにおいてバウンダリークロックとして機能するコンピュータである。図2に示すように、第1スレーブ装置300は、マスタ装置200から送信された基準時刻に基づく時刻情報を受信する時刻情報受信部の一例としての第1時刻情報受信部310を備える。また、第1スレーブ装置300は、時刻を補正する時刻補正部の一例としての第1時刻補正部320、時刻情報を第2スレーブ装置400に送信する時刻情報送信部の一例としての第1時刻情報送信部330を備える。
第1時刻情報受信部310は、マスタ装置200から送信された同期情報を受信する同期情報受信部の一例としての第1同期情報受信部311、マスタ装置200から送信された応答情報を受信する応答情報受信部の一例としての第1応答情報受信部312を備える。また、第1時刻情報受信部310は、第2スレーブ装置400から送信された要求情報を受信する要求情報受信部の一例としての第1要求情報受信部313を備える。
第1時刻情報送信部330は、要求情報をマスタ装置200に送信する要求情報送信部の一例としての第1要求情報送信部331を備える。また、第1時刻情報送信部330は、同期情報を第2スレーブ装置400に送信する同期情報送信部の一例としての第1同期情報送信部332、応答情報を第2スレーブ装置400に送信する応答情報送信部の一例としての第1応答情報送信部333を備える。
具体的には、第1同期情報受信部311は、マスタ装置200から送信されたSyncメッセージ及びFollow_Upメッセージを受信する。また、第1要求情報送信部331は、Delay_Reqメッセージをマスタ装置200に送信する。また、第1応答情報受信部312は、マスタ装置200から送信されたDelay_Respメッセージを受信する。また、第1同期情報送信部332は、Syncメッセージ及びFollow_Upメッセージを第2スレーブ装置400に送信する。また、第1要求情報受信部313は、第2スレーブ装置400から送信されたDelay_Reqメッセージを受信する。また、第1応答情報送信部333は、Delay_Respメッセージを第2スレーブ装置400に送信する。
第1時刻補正部320は、第1同期情報受信部311と第1要求情報送信部331と第1応答情報受信部312とによってマスタ装置200とメッセージを送受信したときに特定した時刻Ta1〜Ta4から算出されるマスタ装置200との伝搬遅延時間dに基づいて時刻を補正する。具体的には、第1時刻補正部320は、第1応答情報受信部312がDelay_Respメッセージの受信を完了したタイミングから時刻の補正を開始し、先ず、第1時刻補正部320は、第1同期情報受信部311がSyncメッセージを受信した第2時刻Ta2を特定する。次に、第1時刻補正部320は、第1同期情報受信部311が受信したFollow_Upメッセージからマスタ装置200がSyncメッセージを送信した第1時刻Ta1を特定する。次に、第1時刻補正部320は、第1要求情報送信部331がDelay_Reqメッセージをマスタ装置200に送信した第3時刻Ta3を特定する。次に、第1時刻補正部320は、第1応答情報受信部312が受信したDelay_Respメッセージからマスタ装置200がDelay_Reqメッセージを受信した第4時刻Ta4を特定する。そして、第1時刻補正部320は、T1=Ta1、T2=Ta2、T3=Ta3、T4=Ta4とすることで、上述した(1)に示す数式を用いて伝搬遅延時間dを算出し、上述した(2)に示す数式を用いて補正量tcを算出し、算出した補正量tcに基づいて時刻を補正する。
なお、第1同期情報送信部332は、第1時刻補正部320が時刻を補正してから第1同期情報受信部311が新たな同期情報を受信するまでの間に補正した時刻に基づく同期情報を送信する。例えば、第1同期情報送信部332は、第1時刻補正部320が時刻の補正を完了したタイミングから同期情報の送信を開始する。具体的には、第1同期情報送信部332は、第1時刻補正部320が時刻の補正を完了したタイミングにSyncメッセージの送信を開始する。
また、第1時刻補正部320は、第1同期情報送信部332がSyncメッセージを送信してから第1要求情報受信部313がDelay_Reqメッセージを受信するまでの期間において、時刻の補正を行うことができない。例えば、第1スレーブ装置300は、Syncメッセージを送信してからDelay_Reqメッセージを受信するまでの期間において、時刻の補正を禁止するフラグをオンにし、フラグがオンになっている間、第1時刻補正部320が時刻の補正を行わないようにしてもよい。
第2スレーブ装置400は、第1スレーブ装置300から送信された時刻情報を受信する時刻情報受信部の一例としての第2時刻情報受信部410、時刻を補正する時刻補正部の一例としての第2時刻補正部420を備える。また、第2スレーブ装置400は、時刻情報を送信する時刻情報送信部の一例としての第2時刻情報送信部430を備える。
第2時刻情報受信部410は、第1スレーブ装置300から送信された同期情報を受信する同期情報受信部の一例としての第2同期情報受信部411、第1スレーブ装置300から送信された応答情報を受信する応答情報受信部の一例としての第2応答情報受信部412を備える。また、第2時刻情報受信部410は、第2スレーブ装置400に図示しない第3スレーブ装置が接続されているときに、第3スレーブ装置から送信された要求情報を受信する要求情報受信部の一例としての第2要求情報受信部413を備える。
第2時刻情報送信部430は、要求情報を第1スレーブ装置300に送信する要求情報送信部の一例としての第2要求情報送信部431を備える。また、第2時刻情報送信部430は、第3スレーブ装置が接続されているときに、同期情報を第3スレーブ装置に送信する同期情報送信部の一例としての第2同期情報送信部432、応答情報を第3スレーブ装置に送信する応答情報送信部の一例としての第2応答情報送信部433を備える。
具体的には、第2同期情報受信部411は、第1同期情報送信部332が送信したSyncメッセージ及びFollow_Upメッセージを受信する。また、第2要求情報送信部431は、Delay_Reqメッセージを第1要求情報受信部313に送信する。また、第2応答情報受信部412は、第1応答情報送信部333が送信したDelay_Respメッセージを受信する。また、第2同期情報送信部432は、Syncメッセージ及びFollow_Upメッセージを第3スレーブ装置に送信する。また、第2要求情報受信部413は、第3スレーブ装置から送信されたDelay_Reqメッセージを受信する。また、第2応答情報送信部433は、Delay_Respメッセージを第3スレーブ装置に送信する。
第2時刻補正部420は、第1時刻補正部320と同様に、第2同期情報受信部411と第2要求情報送信部431と第2応答情報受信部412とによって第1スレーブ装置300とメッセージを送受信したときに特定した時刻Tb1〜Tb4から算出される第1スレーブ装置300との伝搬遅延時間dとに基づいて時刻を補正する。具体的には、第2時刻補正部420は、第2応答情報受信部412がDelay_Respメッセージの受信を完了したタイミングから時刻の補正を開始し、先ず、第2時刻補正部420は、第2同期情報受信部411がSyncメッセージを受信した第2時刻Tb2を特定する。次に、第2時刻補正部420は、第2同期情報受信部411が受信したFollow_Upメッセージから第1同期情報送信部332がSyncメッセージを送信した第1時刻Tb1を特定する。次に、第2時刻補正部420は、第2要求情報送信部431がDelay_Reqメッセージを第1要求情報受信部313に送信した第3時刻Tb3を特定する。次に、第2時刻補正部420は、第2応答情報受信部412が受信したDelay_Respメッセージから第2応答情報受信部412がDelay_Reqメッセージを受信した第4時刻Tb4を特定する。そして、第2時刻補正部420は、第1時刻補正部320と同様に、T1=Tb1、T2=Tb2、T3=Tb3、T4=Tb4とすることで、上述した(1)に示す数式を用いて伝搬遅延時間dを算出し、上述した(2)に示す数式を用いて補正量tcを算出し、算出した補正量tcに基づいて時刻を補正する。
なお、第2同期情報送信部432は、第2スレーブ装置400に第3スレーブ装置が接続されている場合、第1同期情報送信部332と同様に、第2時刻補正部420が時刻を補正してから第2同期情報受信部411が新たな同期情報を受信するまでの間に補正した時刻に基づく同期情報を送信する。例えば、第2同期情報送信部432は、第2時刻補正部420が時刻の補正を完了したタイミングから同期情報の送信を開始する。具体的には、第2同期情報送信部432は、第2時刻補正部420が時刻の補正を完了したタイミングにSyncメッセージの送信を開始する。
また、第2時刻補正部420は、第1時刻補正部320と同様に、例えば、時刻の補正を禁止するフラグがオンになっていることにより、第2同期情報送信部432がSyncメッセージを送信してから第2要求情報受信部413がDelay_Reqメッセージを受信するまでの期間において、時刻の補正が行うことができない。
図3は、本実施の形態に係る第1スレーブ装置及び第2スレーブ装置のハードウェア構成を示すブロック図である。
図1、図2に示す第1スレーブ装置300及び第2スレーブ装置400は、図3に示すハードウェアによって構成されている。第1スレーブ装置300は、制御部51、主記憶部52、外部記憶部53、送受信部54を備える。また、第2スレーブ装置400は、第1スレーブ装置300と同様に、制御部51、主記憶部52、外部記憶部53、送受信部54を備える。なお、図示は省略するが、マスタ装置200は、第1スレーブ装置300及び第2スレーブ装置400と同様に、制御部51、主記憶部52、外部記憶部53、送受信部54を備えてもよい。
制御部51は、制御プログラム59に従って処理を実行する。制御部51は、CPU(Central Processing Unit)を備える。制御部51は、制御プログラム59に従って、第1スレーブ装置300が備える第1時刻補正部320として機能する。また、制御部51は、制御プログラム59に従って、第2スレーブ装置400が備える第2時刻補正部420として機能する。
主記憶部52は、制御プログラム59をロードし、制御部51の作業領域として用いられる。主記憶部52は、RAM(Random-Access Memory)を備える。
外部記憶部53は、制御プログラム59を予め記憶する。外部記憶部53は、制御部51の指示に従って、このプログラムが記憶するデータを制御部51に供給し、制御部51から供給されたデータを記憶する。外部記憶部53は、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Dive)等の不揮発性メモリを備える。
送受信部54は、情報を送受信する。送受信部54は、ネットワークに接続する網終端装置、無線通信装置等の情報通信部品を備える。送受信部54は、第1スレーブ装置300が備える第1時刻情報受信部310、第1同期情報受信部311、第1応答情報受信部312、第1要求情報受信部313、第1時刻情報送信部330、第1要求情報送信部331、第1同期情報送信部332、第1応答情報送信部333として機能する。また、送受信部54は、第2スレーブ装置400が備える第2時刻情報受信部410、第2同期情報受信部411、第2応答情報受信部412、第2要求情報受信部413、第2時刻情報送信部430、第2要求情報送信部431、第2同期情報送信部432、第2応答情報送信部433として機能する。
第1スレーブ装置300では、主記憶部52、外部記憶部53及び送受信部54はいずれも内部バス50を介して制御部51に接続されている。また、第2スレーブ装置400では、第1スレーブ装置300と同様に、主記憶部52、外部記憶部53及び送受信部54はいずれも内部バス50を介して制御部51に接続されている。
図1、図2に示す第1スレーブ装置300は、制御部51が主記憶部52、外部記憶部53及び送受信部54を資源として用いることによって、第1時刻情報受信部310、第1同期情報受信部311、第1応答情報受信部312、第1要求情報受信部313、第1時刻補正部320、第1時刻情報送信部330、第1要求情報送信部331、第1同期情報送信部332、第1応答情報送信部333の機能を実現する。例えば、第1スレーブ装置300は、第1時刻情報受信部310が行う時刻情報受信ステップの一例としての第1時刻情報受信ステップを実行する。また、第1スレーブ装置300は、第1同期情報受信部311が行う同期情報受信ステップの一例としての第1同期情報受信ステップ、第1応答情報受信部312が行う応答情報受信ステップの一例としての第1応答情報受信ステップ、第1要求情報受信部313が行う要求情報受信ステップの一例としての第1要求情報受信ステップを実行する。また、第1スレーブ装置300は、第1時刻補正部320が行う時刻補正ステップの一例としての第1時刻補正ステップを実行する。また、第1スレーブ装置300は、第1時刻情報送信部330が行う時刻情報送信ステップの一例としての第1時刻情報送信ステップを実行する。また、第1スレーブ装置300は、第1要求情報送信部331が行う要求情報送信ステップの一例としての第1要求情報送信ステップ、第1同期情報送信部332が行う同期情報送信ステップの一例としての第1同期情報送信ステップ、第1応答情報送信部333が行う応答情報送信ステップの一例としての第1応答情報送信ステップを実行する。
また、第2スレーブ装置400は、制御部51が主記憶部52、外部記憶部53及び送受信部54を資源として用いることによって、第2時刻情報受信部410、第2同期情報受信部411、第2応答情報受信部412、第2要求情報受信部413、第2時刻補正部420、第2時刻情報送信部430、第2要求情報送信部431、第2同期情報送信部432、第2応答情報送信部433の機能を実現する。例えば、第2スレーブ装置400は、第2時刻情報受信部410が行う時刻情報受信ステップの一例としての第1時刻情報受信ステップを実行する。また、第2スレーブ装置400は、第2同期情報受信部411が行う同期情報受信ステップの一例としての第2同期情報受信ステップ、第2応答情報受信部412が行う応答情報受信ステップの一例としての第2応答情報受信ステップ、第2要求情報受信部413が行う要求情報受信ステップの一例としての第2要求情報受信ステップを実行する。また、第2スレーブ装置400は、第2時刻補正部320が行う時刻補正ステップの一例としての第2時刻補正ステップを実行する。また、第2スレーブ装置400は、第2時刻情報送信部430が行う時刻情報送信ステップの一例としての第2時刻情報送信ステップを実行する。また、第2スレーブ装置400は、第2要求情報送信部431が行う要求情報送信ステップの一例としての第2要求情報送信ステップ、第2同期情報送信部432が行う同期情報送信ステップの一例としての第2同期情報送信ステップ、第2応答情報送信部433が行う応答情報送信ステップの一例としての第2応答情報送信ステップを実行する。
なお、第1スレーブ装置300及び第2スレーブ装置400では、データの入出力を送受信部54で行っており、入力されたデータを制御部51に供給する操作部は不要であるが、このような操作部を備えてもよい。この場合、操作部は、キーボード、マウス、タッチパネル、操作ボタン等の情報入力部品を備えてもよい。
なお、第1スレーブ装置300及び第2スレーブ装置400では、入出力されるデータを表示する表示部は不要であるが、このような表示部を備えてもよい。この場合、表示部は、LCD(Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を備えてもよい。
図4は、本実施の形態に係る第1時刻同期処理の流れを示すフローチャートである。
次に、図4に示すフローチャートを用いて第1スレーブ装置300がマスタ装置200の時刻と同期する動作について説明する。先ず、図4に示すように、第1スレーブ装置300は、第1同期情報受信部311がマスタ装置200からSyncメッセージ及びFollow_Upメッセージを受信したか否かを判定する(ステップS101)。Syncメッセージ及びFollow_Upメッセージを受信していない場合(ステップS101;N)、第1スレーブ装置300は、第1同期情報受信部311がSyncメッセージ及びFollow_Upメッセージを受信するまでステップS101の処理を繰り返す。一方、Syncメッセージ及びFollow_Upメッセージを受信した場合(ステップS101;Y)、第1要求情報送信部331は、マスタ装置200にDelay_Reqメッセージを送信する(ステップS102)。
Delay_Reqメッセージ送信後、第1スレーブ装置300は、第1応答情報受信部312がマスタ装置200からDelay_Respメッセージを受信したか否かを判定する(ステップS103)。Delay_Respメッセージを受信していない場合(ステップS103;N)、第1スレーブ装置300は、第1応答情報受信部312がDelay_Respメッセージを受信するまでステップS103の処理を繰り返す。一方、Delay_Respメッセージを受信した場合(ステップS103;Y)、第1時刻補正部320は、メッセージの送受信によって特定した第1時刻Ta1、第2時刻Ta2、第3時刻Ta3、第4時刻Ta4を用いて時刻の補正を開始する(ステップS104)。時刻補正開始後、第1スレーブ装置300は、第1時刻補正部320が時刻の補正が完了したか否かを判定する(ステップS105)。時刻の補正が完了していない場合(ステップS105;N)、第1スレーブ装置300は、第1時刻補正部320が時刻の補正が完了するまでステップS105の処理を繰り返す。一方、時刻の補正が完了した場合(ステップS105;Y)、第1同期情報送信部332は、第2スレーブ装置400にSyncメッセージ、Follow_Upメッセージの順に送信する(ステップS106)。
Follow_Upメッセージ送信後、第1スレーブ装置300は、第1要求情報受信部313が第2スレーブ装置400からDelay_Reqメッセージを受信したか否かを判定する(ステップS107)。Delay_Reqメッセージを受信していない場合(ステップS107;N)、第1スレーブ装置300は、第1要求情報受信部313が第2スレーブ装置400からDelay_Reqメッセージを受信するまでステップS107の処理を繰り返す。一方、Delay_Reqメッセージを受信した場合(ステップS107;Y)、第1応答情報送信部333は、第2スレーブ装置400にDelay_Respメッセージを送信し(ステップS108)、第1時刻同期処理を終了する。
図5は、本実施の形態に係る第2時刻同期処理の流れを示すフローチャートである。
次に、図5に示すフローチャートを用いて第2スレーブ装置400が第1スレーブ装置300を経由してマスタ装置200の時刻と同期する動作について説明する。先ず、図5に示すように、第2スレーブ装置400は、第2同期情報受信部411が第1スレーブ装置300からSyncメッセージ及びFollow_Upメッセージを受信したか否かを判定する(ステップS201)。Syncメッセージ及びFollow_Upメッセージを受信していない場合(ステップS201;N)、第2スレーブ装置400は、第2同期情報受信部411がSyncメッセージ及びFollow_Upメッセージを受信するまでステップS201の処理を繰り返す。一方、Syncメッセージ及びFollow_Upメッセージを受信した場合(ステップS201;Y)、第2要求情報送信部431は、第1スレーブ装置300にDelay_Reqメッセージを送信する(ステップS202)。
Delay_Reqメッセージ送信後、第2スレーブ装置400は、第2応答情報受信部412が第1スレーブ装置300からDelay_Respメッセージを受信したか否かを判定する(ステップS203)。Delay_Respメッセージを受信していない場合(ステップS203;N)、第2スレーブ装置400は、第2応答情報受信部412がDelay_Respメッセージを受信するまでステップS203の処理を繰り返す。一方、Delay_Respメッセージを受信した場合(ステップS203;Y)、第2時刻補正部420は、メッセージの送受信によって特定した第1時刻Tb1、第2時刻Tb2、第3時刻Tb3、第4時刻Tb4を用いて時刻の補正を開始する(ステップS204)。時刻補正開始後、第2スレーブ装置400は、第2時刻補正部420が時刻の補正が完了したか否かを判定する(ステップS205)。時刻の補正が完了していない場合(ステップS205;N)、第2スレーブ装置400は、第2時刻補正部420が時刻の補正が完了するまでステップS205の処理を繰り返す。一方、時刻の補正が完了した場合(ステップS205;Y)、第2スレーブ装置400は、第3スレーブ装置が接続されていなければ、第2時刻同期処理を終了する。
なお、図示は省略するが、第2スレーブ装置400は、第3スレーブ装置が接続されていれば、第1時刻同期処理のステップS106〜S108の処理と同様の処理を実行し、第2時刻同期処理を終了する。具体的には、第2同期情報送信部432は、第3スレーブ装置にSyncメッセージ、Follow_Upメッセージの順に送信する。そして、第2要求情報受信部413が第3スレーブ装置からDelay_Reqメッセージを受信した場合、第2応答情報送信部433は、第3スレーブ装置にDelay_Respメッセージを送信し、第2時刻同期処理を終了する。
図6は、本実施の形態に係る時刻同期システムにおけるメッセージの送受信の例を示すタイミングチャートである。
次に、図6に示すタイミングチャートを用いて時刻同期システムにおいてマスタ装置200、第1スレーブ装置300、第2スレーブ装置400がメッセージを送受信して第1スレーブ装置300および第2スレーブ装置400が時刻を補正するタイミングについて説明する。図6に示すように、マスタ装置200は、第1時刻Ta1においてSyncメッセージを第1スレーブ装置300に送信し、第1スレーブ装置300は、第2時刻Ta2においてSyncメッセージを受信する。また、マスタ装置200は、Syncメッセージ送信後に第1時刻Ta1を特定可能なFollow_Upメッセージを第1スレーブ装置300に送信し、第1スレーブ装置300は、Follow_Upメッセージを受信して第1時刻Ta1を特定する。
Follow_Upメッセージ受信後、第1スレーブ装置300は、第3時刻Ta3においてDelay_Reqメッセージをマスタ装置200に送信し、マスタ装置200は、第4時刻Ta4においてDelay_Reqメッセージを受信する。また、マスタ装置200は、Delay_Reqメッセージ受信後に第4時刻Ta4を特定可能なDelay_Respメッセージを第1スレーブ装置300に送信し、第1スレーブ装置300は、Delay_Respメッセージを受信して第4時刻T4を特定する。
よって、第1スレーブ装置300は、マスタ装置200がSyncメッセージを送信してからDelay_Reqメッセージを受信するまでの期間において第1時刻Ta1、第2時刻Ta2、第3時刻Ta3、第4時刻Ta4を測定することになり、最終的に第4時刻Ta4を特定可能なDelay_Respメッセージを受信することで伝搬遅延時間dが算出できる。以下、マスタ装置200がSyncメッセージを送信してからDelay_Reqメッセージを受信するまでの期間を第1スレーブ装置300とマスタ装置200との伝搬遅延測定期間として説明する。
マスタ装置200との伝搬遅延測定期間が経過してDelay_Respメッセージを受信した後、第1スレーブ装置300は、上述した(1)に示す数式を用いて測定した第1時刻Ta1、第2時刻Ta2、第3時刻Ta3、第4時刻Ta4から伝搬遅延時間dを算出する。また、第1スレーブ装置300は、上述した(2)に示す数式を用いて算出した伝搬遅延時間dから補正量tcを算出し、算出した補正量tcに基づいて時刻を補正する。以下、第1スレーブ装置300が伝搬遅延時間dの算出を開始してから時刻を補正するまでの期間を第1スレーブ装置300の時刻補正期間として説明する。
時刻補正期間経過後、第1スレーブ装置300は、第1時刻Tb1においてSyncメッセージを第2スレーブ装置400に送信し、第2スレーブ装置400は、第2時刻Tb2においてSyncメッセージを受信して伝搬遅延測定期間を開始する。また、第1スレーブ装置300は、Syncメッセージ送信後に第1時刻Tb1を特定可能なFollow_Upメッセージを第2スレーブ装置400に送信し、第2スレーブ装置400は、Follow_Upメッセージを受信して第1時刻Tb1を特定する。また、第2スレーブ装置400は、Follow_Upメッセージ受信後の第3時刻Tb3においてDelay_Reqメッセージを第1スレーブ装置300に送信し、第1スレーブ装置300は、第4時刻Tb4においてDelay_Reqメッセージを受信する。
Delay_Reqメッセージ受信後、第1スレーブ装置300は、第4時刻Tb4を特定可能なDelay_Respメッセージを第2スレーブ装置400に送信し、第2スレーブ装置400は、Delay_Respメッセージを受信して第4時刻Tb4を特定して伝搬遅延測定期間を終了する。なお、第1スレーブ装置300は、Syncメッセージを送信してからDelay_Reqメッセージを受信するまでの期間、すなわち、第1スレーブ装置300と第2スレーブ装置400との伝搬遅延測定期間において、新たに時刻を補正することが禁止される。以下、第1スレーブ装置300がSyncメッセージを送信してからDelay_Reqメッセージを受信するまでの期間を第1スレーブ装置300の時刻補正禁止期間と説明することがある。
第1スレーブ装置300との伝搬遅延測定期間が経過してDelay_Respメッセージを受信した後、第2スレーブ装置400は、時刻補正期間を開始して上述した(1)に示す数式を用いて測定した第1時刻Tb1、第2時刻Tb2、第3時刻Tb3、第4時刻Tb4から伝搬遅延時間dを算出する。そして、第2スレーブ装置400は、上述した(2)に示す数式を用いて算出した伝搬遅延時間dから補正量tcを算出し、算出した補正量tcに基づいて時刻を補正して時刻補正期間を終了する。
以上説明したように、本実施の形態に係る時刻同期システム100によれば、第1スレーブ装置300は、基準時刻を保持するマスタ装置200と第2スレーブ装置400との間に接続されており、PTPに従って第2スレーブ装置400とともにマスタ装置200との時刻同期を行う。
第1同期情報送信部332は、第2スレーブ装置400にSyncメッセージ、Follow_Upメッセージの順に送信する。また、第1要求情報受信部313は、第1同期情報送信部332がFollow_Upメッセージを送信した後に第2スレーブ装置400から送信されたDelay_Reqメッセージを受信する。また、第1応答情報送信部333は、第1要求情報受信部313が受信したDelay_Reqメッセージに対するDelay_Respメッセージを第2スレーブ装置400に送信する。そして、第1時刻補正部320は、第1同期情報送信部332がSyncメッセージを送信してから第1要求情報受信部313がDelay_Reqメッセージを受信するまでの伝搬遅延測定期間とは異なる期間において、マスタ装置200とメッセージを送受信したときに特定した時刻Ta1〜Ta4から算出されるマスタ装置200との伝搬遅延時間dに基づいて時刻を補正する。
このようにすることで、第1スレーブ装置300か第2スレーブ装置400にSyncメッセージを送信してからDelay_Reqメッセージを第2スレーブ装置400から受信するまでの期間、すなわち、第2スレーブ装置400との伝搬遅延測定期間において第1スレーブ装置300が時刻を補正しない。このため、第1スレーブ装置300と第2スレーブ装置400とが別々に時刻同期のタイミングを設定していたとしても、第2スレーブ装置400では、当該期間において算出した伝搬遅延時間に誤差が発生することを防止できる。したがって、第1スレーブ装置が第2スレーブ装置にSyncメッセージを送信してからDelay_Reqメッセージを第2スレーブ装置から受信するまでの期間に時刻を補正する時刻同期システムよりも第2スレーブ装置400の時刻の誤差を低減できる。
ここで、IEEE1588規格では、バウンダリークロックが時刻の補正を実行するタイミングと、バウンダリークロックが接続されたスレーブ装置にメッセージを送信するタイミングとについて規定していない。このため、PTPに従って時刻同期を行う従来の時刻同期システムは、バウンダリークロックとして機能するスレーブ装置毎に、例えば、メーカ、仕様等が異なることで、時刻同期の精度が異なる問題がある。例えば、従来の時刻同期システムでは、バウンダリークロックとして機能する第1スレーブ装置が第2スレーブ装置とメッセージを送受信している間、すなわち、第1スレーブ装置と第2スレーブ装置との伝搬遅延測定期間中に第1スレーブ装置がマスタ装置とメッセージを送受信して時刻を補正する可能性がある。
図7は、従来の時刻同期システムにおけるメッセージの送受信の例を示すタイミングチャートである。
例えば、図7に示すように、従来の時刻同期システムにおいて、第1スレーブ装置が第2スレーブ装置にSyncメッセージ、Follow_Upメッセージを送信した後にマスタ装置からDelay_Respメッセージを受信する場合について考える。この場合、第1スレーブ装置が第2スレーブ装置からDelay_Reqメッセージを受信する前に時刻の補正を完了する場合がある。この場合、第1スレーブ装置は、補正前の時刻に基づく第1時刻Tb1を特定可能なFollow_Upメッセージを送信した後に補正後の時刻に基づく第4時刻Tb4を特定可能なDelay_Respメッセージを送信することになる。この結果、第1スレーブ装置は、第2スレーブ装置との伝搬遅延測定期間中に時刻の補正を完了することになり、第2スレーブ装置は、第1スレーブ装置の補正前の時刻に基づく第1時刻Tb1及び補正後の時刻に基づく第4時刻Tb4を用いて時刻の補正を行うことになる。
図8は、従来の時刻同期システムにおける時刻の誤差の変化の例を示す図である。なお、図8は、第1スレーブ装置とマスタ装置との時刻差の変化を1点鎖線で例示し、第2スレーブ装置とマスタ装置との時刻差の変化を2点鎖線で例示している。
この場合、図8に示すように、先ず、第1スレーブ装置は、第11タイミングt11においてSyncメッセージを送信した後に補正前の時刻に基づく第1時刻Tb1を特定可能なFollow_Upメッセージを第2スレーブ装置に送信する。次に、第2スレーブ装置は、第12タイミングt12においてSyncメッセージを受信し第2時刻Tb2を特定した後、Follow_Upメッセージを受信し第1時刻Tb1を特定する。
次に、第1スレーブ装置は、第13タイミングt13において時刻の補正を開始し、第14タイミングt14において時刻の補正を完了する。次に、第2スレーブ装置は、第15タイミングt15においてDelay_Reqメッセージを第1スレーブ装置に送信して第3時刻Tb3を特定する。次に、第1スレーブ装置は、第16タイミングt16においてDelay_Reqメッセージを受信し、第17タイミングt17において補正後の時刻に基づく第4時刻Tb4を特定可能なDelay_Respメッセージを第2スレーブ装置に送信する。次に、第2スレーブ装置は、第18タイミングt18においてDelay_Respメッセージを受信し第1時刻Tb1から第4時刻Tb4の測定を完了して時刻の補正を開始し、第19タイミングt19において時刻の補正を完了する。
この結果、図8に示すように、第1スレーブ装置で時刻の補正を行いマスタ装置との時刻差が0にリセットされても、第2スレーブ装置では時刻の補正を行うと時刻差βが残ってしまう問題がある。なお、第1スレーブ装置とマスタ装置との補正前の時刻差をα、補正後に時刻差βが残ってしまう伝搬遅延時間をd′とすると、伝搬遅延時間d′は、以下の(3)に示す数式を用いて算出される値であり、時刻差βは、以下の(4)に示す数式を用いて算出される値である。
d′={(Tb4+α−Tb1)−(Tb3−Tb2)}/2=d+α/2 …(3)
β=d′−d=α/2 …(4)
図9は、本実施の形態に係る時刻同期システムにおける時刻の誤差の変化の例を示す図である。なお、図9は図8と同様に、第1スレーブ装置とマスタ装置との時刻差の変化を1点鎖線で例示し、第2スレーブ装置とマスタ装置との時刻差の変化を2点鎖線で例示している。
これに対して、本実施の形態に係る時刻同期システム100では、第2スレーブ装置400が第1スレーブ装置300の補正後の時刻に基づく第1時刻Tb1及び第4時刻Tb4を用いて時刻の補正を行っている。具体的には、図9に示すように、先ず、第1スレーブ装置300は、第21タイミングt21において時刻の補正を開始し、第22タイミングt22において時刻の補正を完了し、Syncメッセージを送信した後に補正後の時刻に基づく第1時刻Tb1を特定可能なFollow_Upメッセージを第2スレーブ装置400に送信する。
次に、第2スレーブ装置400は、第23タイミングt23においてSyncメッセージを受信し第2時刻Tb2を特定した後、Follow_Upメッセージを受信し第1時刻Tb1を特定する。次に、第2スレーブ装置400は、第24タイミングt24においてDelay_Reqメッセージを第1スレーブ装置300に送信して第3時刻Tb3を特定する。次に、第1スレーブ装置300は、第25タイミングt25においてDelay_Reqメッセージを受信し、第26タイミングt26において補正後の時刻に基づく第4時刻Tb4を特定可能なDelay_Respメッセージを第2スレーブ装置400に送信する。次に、第2スレーブ装置400は、第27タイミングt27においてDelay_Respメッセージを受信し第1時刻Tb1から第4時刻Tb4の測定を完了して時刻の補正を開始し、第28タイミングt28において時刻の補正を完了する。
この結果、図9に示すように、第1スレーブ装置300で時刻の補正を行いマスタ装置200との時刻差が0にリセットされれば、第2スレーブ装置400でも時刻の補正を行うことでマスタ装置200との時刻差が0にリセットされる。
この結果、本実施の形態に係る時刻同期システム100は、上述した従来の時刻同期システムにおける問題を解決している。
特に、本実施の形態に係る時刻同期システム100によれば、第1スレーブ装置300において、第2スレーブ装置400との伝搬遅延測定期間が時刻補正禁止期間となっており、例えば、時刻の補正を禁止するフラグをオンにして、第1時刻補正部320が時刻を補正することができないように制御している。
このようにすることで、第2スレーブ装置400との伝搬遅延測定期間中に第1スレーブ装置300が時刻を補正することを確実に防止できる。
なお、本実施の形態では、時刻補正禁止期間は、第2スレーブ装置400との伝搬遅延測定期間、すなわち、第1スレーブ装置300か第2スレーブ装置400にSyncメッセージを送信してからDelay_Reqメッセージを第2スレーブ装置400から受信するまでの期間としたが、これに限定されない。例えば、時刻補正禁止期間は、第1スレーブ装置300かSyncメッセージを第2スレーブ装置400に送信してからDelay_Reqメッセージを第2スレーブ装置400から受信した後にDelay_Respメッセージを第2スレーブ装置400に送信するまでの間としてもよい。
また、本実施の形態に係る時刻同期システム100によれば、第1同期情報送信部332は、第1時刻補正部320が時刻の補正を完了したタイミングから第2スレーブ装置400にSyncメッセージの送信を開始する。
このようにすることで、第1スレーブ装置300が時刻の補正を完了したタイミングから第2スレーブ装置400との伝搬遅延測定期間を開始でき、第2スレーブ装置400が第1スレーブ装置300の補正後の時刻に基づいて伝搬遅延時間を算出して時刻を補正できる。また、このようにすることで、時刻の補正を完了したタイミングからスレーブ装置にSyncメッセージの送信を開始しない時刻同期システムよりも第2スレーブ装置400においてマスタ装置200との時刻の誤差が発生している期間を低減できる。
なお、本実施の形態のように、第1スレーブ装置300が時刻の補正を完了したタイミングから第2スレーブ装置400にSyncメッセージの送信を開始することが好ましいが、第2スレーブ装置400との伝搬遅延測定期間に第1スレーブ装置300が時刻の補正を行わない限りにおいてこれに限定されない。例えば、第1同期情報送信部332は、第1時刻補正部320が時刻の補正を完了してから予め定めた期間が経過した後に第2スレーブ装置400にSyncメッセージの送信を開始してもよい。また、例えば、第1同期情報送信部332は、第1時刻補正部320が時刻の補正を開始する前に第2スレーブ装置400にSyncメッセージの送信を開始してもよい。
図10は、従本実施の形態の変更例に係る時刻同期システムにおけるメッセージの送受信の例を示すタイミングチャートである。
例えば、図10に示すように、第1スレーブ装置300がマスタ装置200にDelay_Reqメッセージを送信する前に第2スレーブ装置400にSyncメッセージを送信してもよい。この場合、第1スレーブ装置300は、第2スレーブ装置400にSyncメッセージを送信した後にマスタ装置200にDelay_Reqメッセージを送信してから第2スレーブ装置400にFollow_Upメッセージを送信し、マスタ装置200からDelay_Respメッセージを受信してから第2スレーブ装置400からDelay_Reqメッセージを受信する場合がある。この場合、図10に示すように、第2スレーブ装置400からDelay_Reqメッセージを受信するまでが第1スレーブ装置300と第2スレーブ装置400との伝搬遅延測定期間、すなわち、第1スレーブ装置300の時刻補正禁止期間となる。このため、第1スレーブ装置300は、マスタ装置200からDelay_Respメッセージを受信しても時刻の補正を開始せず、第2スレーブ装置400からDelay_Reqメッセージを受信して当該期間が経過してから時刻の補正を開始してもよい。
また、本実施の形態に係る時刻同期システム100によれば、第1時刻補正部320は、第1応答情報受信部312がDelay_Respメッセージの受信を完了したタイミングから時刻の補正を開始する。
このようにすることで、第1スレーブ装置においてDelay_Respメッセージの受信を完了したタイミングから時刻の補正を開始しない時刻同期システムよりも第1スレーブ装置300においてマスタ装置200との時刻の誤差が発生している期間を低減できる。また、このようにすることで、第1スレーブ装置においてDelay_Respメッセージの受信を完了したタイミングから時刻の補正を開始しない時刻同期システムよりも第1スレーブ装置300がマスタ装置200から新たなSyncメッセージを受信する前に時刻の補正を完了し易くなる。また、このようにすることで、第1スレーブ装置においてDelay_Respメッセージの受信を完了したタイミングから時刻の補正を開始しない時刻同期システムよりも早いタイミングで時刻の補正を完了し、補正した時刻に基づいて第2スレーブ装置400との伝搬遅延測定期間を開始できる。この結果、第2スレーブ装置400においてマスタ装置200との時刻の誤差が発生している期間を低減できる。
なお、本実施の形態のように、第1スレーブ装置300においてDelay_Respメッセージの受信を完了したタイミングから時刻の補正を開始することが好ましいが、第2スレーブ装置400との伝搬遅延測定期間に第1スレーブ装置300が時刻の補正を行わない限りにおいてこれに限定されない。例えば、第1時刻補正部320は、第1応答情報受信部312がDelay_Respメッセージの受信を完了してから予め定めた期間が経過した後に時刻の補正を開始してもよい。
また、本実施の形態に係る時刻同期システム100によれば、第2時刻補正部420は、第2応答情報受信部412がDelay_Respメッセージの受信を完了したタイミングから時刻の補正を開始する。
このようにすることで、第2スレーブ装置においてDelay_Respメッセージの受信を完了したタイミングから時刻の補正を開始しない時刻同期システムよりも第2スレーブ装置400においてマスタ装置200との時刻の誤差が発生している期間を低減できる。また、このようにすることで、第2スレーブ装置においてDelay_Respメッセージの受信を完了したタイミングから時刻の補正を開始しない時刻同期システムよりも第2スレーブ装置400が第1スレーブ装置300から新たなSyncメッセージを受信する前に時刻の補正を完了し易くなる。また、このようにすることで、第2スレーブ装置においてDelay_Respメッセージの受信を完了したタイミングから時刻の補正を開始しない時刻同期システムよりも早いタイミングで時刻の補正を完了し、第2スレーブ装置400に第3スレーブ装置が接続されている場合には、補正した時刻に基づいて第3スレーブ装置との伝搬遅延測定期間を開始することができる。この結果、第3スレーブ装置においてマスタ装置200との時刻の誤差が発生している期間を低減できる。
なお、本実施の形態のように、第2スレーブ装置400においてDelay_Respメッセージの受信を完了したタイミングから時刻の補正を開始することが好ましいが、第3スレーブ装置との伝搬遅延測定期間に第2スレーブ装置400が時刻の補正を行わない限りにおいてこれに限定されない。例えば、第2時刻補正部420は、第2応答情報受信部412がDelay_Respメッセージの受信を完了してから予め定めた期間が経過した後に時刻の補正を開始してもよい。
なお、本実施の形態のように、第2スレーブ装置400に第3スレーブ装置が接続されている場合、第2スレーブ装置400が時刻の補正を完了したタイミングから第3スレーブ装置にSyncメッセージの送信を開始することが好ましいが、第3スレーブ装置との伝搬遅延測定期間に第2スレーブ装置400が時刻の補正を行わない限りにおいてこれに限定されない。例えば、第2同期情報送信部432は、第2時刻補正部420が時刻の補正を完了してから予め定めた期間が経過した後に第3スレーブ装置にSyncメッセージの送信を開始してもよい。
なお、本実施の形態では、Syncメッセージを送信した後に、Syncメッセージを送信した第1時刻T1を特定可能なFollow_Upメッセージを送信する所謂Two−Step方式で同期情報を送信したが、これに限定されない。例えば、送信時刻としての第1時刻T1を特定可能なSyncメッセージを送信してFollow_Upメッセージを送信しない所謂One−Step方式で同期情報を送信してもよい。
なお、本実施の形態では、時刻同期装置の一例としての第1スレーブ装置300がマスタ装置200に接続されているが、第1スレーブ装置300の接続先は、時刻保持装置である限りにおいてマスタ装置200に限定されない。例えば、第1スレーブ装置300が時刻保持装置の一例としての上位のスレーブ装置に接続されていてもよい。ここで、上位のスレーブ装置とは、第1スレーブ装置300よりもグランドマスタまでのバウンダリークロックの中継台数が少ないスレーブ装置である。このため、上位のスレーブ装置は、第1スレーブ装置300及び第2スレーブ装置400と同様に、例えば、PTPにおいてバウンダリークロックとして機能するコンピュータである必要がある。すなわち、時刻保持装置は、グランドマスタとして機能するマスタ装置200に限定されず、バウンダリークロックとして機能する上位のスレーブ装置であってもよい。なお、第1スレーブ装置300の接続先を上位のスレーブ装置とした場合、上位のスレーブ装置についても第1スレーブ装置300と同様に、第1スレーブ装置300との伝搬遅延測定期間において時刻を補正しない構成であれば、本開示の作用効果を奏する。
なお、本実施の形態では、マスタ装置200、第1スレーブ装置300、第2スレーブ装置400、第3スレーブ装置、…をライン状に接続したライン接続でLANのネットワークを構成しているが、LANのネットワークの形態については限定されない。例えば、マスタ装置200と、第1スレーブ装置300及び第2スレーブ装置400を含む複数のスレーブ装置とをリング状に接続するリング接続であってもよい。また、例えば、マスタ装置200をルートとするツリー状に複数のスレーブ装置を接続するツリー接続であってもよい。また、例えば、マスタ装置200と複数のスレーブ装置とを1本のバスラインに接続するバス接続であってもよく、1台のハブに接続するスター接続であってもよい。また、例えば、マスタ装置200と複数のスレーブ装置とをメッシュ状に接続するメッシュ接続であってもよい。これらの場合であっても、マスタ装置200と直接接続されているスレーブ装置を第1スレーブ装置300とし、マスタ装置200と直接接続されずに第1スレーブ装置300と直接接続されているスレーブ装置を第2スレーブ装置400とすれば本開示の作用効果を奏することができる。
なお、制御部51、主記憶部52、外部記憶部53、送受信部54、内部バス50等を備える第1スレーブ装置300及び第2スレーブ装置400の処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体、例えば、フレキシブルディスク、DVD−ROM(Read-Only Memory)等に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、上記の処理を実行する第1スレーブ装置300及び第2スレーブ装置400を構成してもよい。また、インターネットなどの通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロードすることで第1スレーブ装置300及び第2スレーブ装置400を構成してもよい。
また、第1スレーブ装置300及び第2スレーブ装置400の機能を、OS(オペレーティングシステム)とアプリケーションプログラムの分担により実現する場合、または、OSとアプリケーションプログラムとの協働により実現する場合には、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して提供することも可能である。例えば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを提供してもよい。そして、このコンピュータプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行してもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
50 内部バス、51 制御部、52 主記憶部、53 外部記憶部、54 送受信部、59 制御プログラム、100 時刻同期システム、200 マスタ装置、201,302,402 マスターポート、300 第1スレーブ装置、301,401 スレーブポート、310 第1時刻情報受信部、311 第1同期情報受信部、312 第1応答情報受信部、313 第1要求情報受信部、320 第1時刻補正部、330 第1時刻情報送信部、331 第1要求情報送信部、332 第1同期情報送信部、333 第1応答情報送信部、400 第2スレーブ装置、410 第2時刻情報受信部、411 第2同期情報受信部、412 第2応答情報受信部、413 第2要求情報受信部、420 第2時刻補正部、430 第2時刻情報送信部、431 第2要求情報送信部、432 第2同期情報送信部、433 第2応答情報送信部。

Claims (7)

  1. 時刻を保持する時刻保持装置に接続され、IEEE(Institute of Electrical and Electronics Engineers)1588規格のPTP(Precision Time Protocol)に従って前記時刻保持装置に接続されていない他の時刻同期装置とともに前記時刻保持装置との時刻同期を行う時刻同期装置であって、
    時刻同期に関する同期情報を前記他の時刻同期装置に送信する同期情報送信部と、
    前記同期情報送信部が前記同期情報を送信した後に前記他の時刻同期装置から送信された前記同期情報に基づく要求情報を受信する要求情報受信部と、
    前記要求情報受信部が受信した前記要求情報に対する応答情報を前記他の時刻同期装置に送信する応答情報送信部と、
    前記同期情報送信部が前記同期情報を送信してから前記要求情報受信部が前記要求情報を受信するまでの所定期間とは異なる期間において、前記時刻保持装置と情報を送受信したときに特定した時刻から算出される前記時刻保持装置との伝搬遅延時間に基づいて時刻を補正する一方、前記所定期間において、前記時刻保持装置と情報を送受信しても時刻の補正を行わない時刻補正部と、
    を備える時刻同期装置。
  2. 前記時刻保持装置から送信された前記同期情報を受信する同期情報受信部と、
    前記同期情報受信部が受信した前記同期情報に基づく前記要求情報を前記時刻保持装置に送信する要求情報送信部と、
    前記要求情報を受信した前記時刻保持装置から送信された前記応答情報を受信する応答情報受信部とを更に備え、
    前記時刻補正部は、前記所定期間に前記応答情報受信部が前記応答情報を受信した場合、前記要求情報受信部が前記要求情報の受信を完了した後に時刻の補正を開始する、
    請求項1に記載の時刻同期装置。
  3. 前記同期情報送信部は、前記時刻補正部が時刻の補正を完了したタイミングから前記同期情報の送信を開始する、
    請求項1又は2に記載の時刻同期装置。
  4. 時刻を保持する時刻保持装置と、前記時刻保持装置に接続された第1時刻同期装置と、前記第1時刻同期装置に接続された第2時刻同期装置とを備え、前記第1時刻同期装置及び前記第2時刻同期装置が前記時刻保持装置との時刻同期を行う時刻同期システムであって、
    前記第1時刻同期装置は、
    前記時刻保持装置から送信された時刻同期に関する同期情報を受信する第1同期情報受信部と、
    前記第1同期情報受信部が受信した前記同期情報に基づく要求情報を前記時刻保持装置に送信する第1要求情報送信部と、
    前記要求情報を受信した前記時刻保持装置から送信された応答情報を受信する第1応答情報受信部と、
    前記第1同期情報受信部と前記第1要求情報送信部と前記第1応答情報受信部とによって前記時刻保持装置と情報を送受信したときに特定した時刻から算出される前記時刻保持装置との伝搬遅延時間に基づいて時刻を補正する第1時刻補正部と、
    前記同期情報を前記第2時刻同期装置に送信する第1同期情報送信部と、
    前記第1同期情報送信部が前記同期情報を送信した後に前記第2時刻同期装置から送信された前記要求情報を受信する第1要求情報受信部と、
    前記第1要求情報受信部が受信した前記要求情報に対する前記応答情報を前記第2時刻同期装置に送信する第1応答情報送信部と、
    を備え、
    前記第2時刻同期装置は、
    前記第1同期情報送信部が送信した前記同期情報を受信する第2同期情報受信部と、
    前記第2同期情報受信部が受信した前記同期情報に基づく前記要求情報を前記第1時刻同期装置に送信する第2要求情報送信部と、
    前記第1応答情報送信部が送信した前記応答情報を受信する第2応答情報受信部と、
    前記第2同期情報受信部と前記第2要求情報送信部と前記第2応答情報受信部とによって前記第1時刻同期装置と情報を送受信したときに特定した時刻から算出される前記第1時刻同期装置との伝搬遅延時間に基づいて時刻を補正する第2時刻補正部と、
    を備え、
    前記第1時刻同期装置は、前記第1同期情報送信部が前記同期情報を送信してから前記第1要求情報受信部が前記要求情報を受信するまでの所定期間において、前記時刻保持装置と情報を送受信しても時刻の補正を行わない、
    時刻同期システム。
  5. 前記第2時刻補正部は、前記第2応答情報受信部が前記応答情報の受信を完了したタイミングから時刻の補正を開始する、
    請求項4に記載の時刻同期システム。
  6. 時刻を保持する時刻保持装置と接続されずに前記時刻保持装置との時刻同期を行う他の時刻同期装置に時刻同期に関する同期情報を送信する同期情報送信ステップと、
    前記同期情報送信ステップで前記同期情報を送信した後に前記他の時刻同期装置から送信された前記同期情報に基づく要求情報を受信する要求情報受信ステップと、
    前記要求情報受信ステップで受信した前記要求情報に対する応答情報を前記他の時刻同期装置に送信する応答情報送信ステップと、
    前記同期情報送信ステップで前記同期情報を送信してから前記要求情報受信ステップで前記要求情報を受信するまでの期間とは異なる期間において、前記時刻保持装置と情報を送受信したときに特定した時刻から算出される前記時刻保持装置との伝搬遅延時間に基づいて時刻を補正する一方、前記所定期間において、前記時刻保持装置と情報を送受信しても時刻の補正を行わない時刻補正ステップと、
    を行う時刻同期方法。
  7. コンピュータを、
    時刻を保持する時刻保持装置と接続されずに前記時刻保持装置との時刻同期を行う他の時刻同期装置に時刻同期に関する同期情報を送信する同期情報送信部、
    前記同期情報送信部が前記同期情報を送信した後に前記他の時刻同期装置から送信された前記同期情報に基づく要求情報を受信する要求情報受信部、
    前記要求情報受信部が受信した前記要求情報に対する応答情報を前記他の時刻同期装置に送信する応答情報送信部、
    前記同期情報送信部が前記同期情報を送信してから前記要求情報受信部が前記要求情報を受信するまでの所定期間とは異なる期間において、前記時刻保持装置と情報を送受信したときに特定した時刻から算出される前記時刻保持装置との伝搬遅延時間に基づいて時刻を補正する一方、前記所定期間において、前記時刻保持装置と情報を送受信しても時刻の補正を行わない時刻補正部、
    として機能させるプログラム。
JP2020567628A 2020-07-01 2020-07-01 時刻同期装置、時刻同期システム、時刻同期方法及びプログラム Active JP6869447B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/025827 WO2022003865A1 (ja) 2020-07-01 2020-07-01 時刻同期装置、時刻同期システム、時刻同期方法及びプログラム

Publications (2)

Publication Number Publication Date
JP6869447B1 true JP6869447B1 (ja) 2021-05-12
JPWO2022003865A1 JPWO2022003865A1 (ja) 2022-01-06

Family

ID=75801837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020567628A Active JP6869447B1 (ja) 2020-07-01 2020-07-01 時刻同期装置、時刻同期システム、時刻同期方法及びプログラム

Country Status (5)

Country Link
US (1) US20230179312A1 (ja)
JP (1) JP6869447B1 (ja)
CN (1) CN115735351A (ja)
DE (1) DE112020007374T5 (ja)
WO (1) WO2022003865A1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101509243B1 (ko) * 2007-07-12 2015-04-08 한국전자통신연구원 무선 센서 네트워크에서 시간 동기화 방법 및 예약 기법을이용한 저전력 라우팅 방법, 그리고 이를 수행하기 위한장치
JP6536398B2 (ja) * 2015-12-25 2019-07-03 株式会社デンソー 無線通信システムおよび無線通信端末
JP2018088646A (ja) 2016-11-29 2018-06-07 富士通株式会社 時刻同期装置及び時刻同期方法

Also Published As

Publication number Publication date
US20230179312A1 (en) 2023-06-08
WO2022003865A1 (ja) 2022-01-06
DE112020007374T5 (de) 2023-05-04
CN115735351A (zh) 2023-03-03
JPWO2022003865A1 (ja) 2022-01-06

Similar Documents

Publication Publication Date Title
CN110176973B (zh) 时钟同步的方法、系统、计算机设备和存储介质
US20220248353A1 (en) Synchronization method and device
CN115080495B (zh) 一种标准外设扩展接口设备的时间同步方法及系统
JP6707209B1 (ja) 時刻同期システム、マスタ装置、スレーブ装置およびプログラム
JP4744199B2 (ja) 時刻補正方法および時刻補正装置
JP6869447B1 (ja) 時刻同期装置、時刻同期システム、時刻同期方法及びプログラム
US20210152322A1 (en) Communication apparatus, communication system, communication method, and computer readable medium
US10318547B2 (en) Technologies for achieving synchronized overclocking setting on multiple computing devices
CN109660310B (zh) 一种时钟同步的方法、装置、计算设备及计算机存储介质
CN105577310A (zh) 一种时间触发网络中任务分区与通信调度的同步方法
CN115694704A (zh) 一种时间同步方法、装置、设备及存储介质
CN113204516B (zh) 处理器时间同步的方法和装置
CN113259039A (zh) 时间同步方法、装置、计算机设备和存储介质
JP2008187235A (ja) ネットワークシステムおよびスレーブ同期方法
EP3963762B1 (en) Method and apparatus for switching clock sources
JP6310758B2 (ja) 時刻同期装置および方法
CN112703704B (zh) 通信装置、通信系统、通信方法及计算机可读取的记录介质
CN111638749A (zh) 一种仿真系统同步方法、仿真设备及系统
US11294421B2 (en) Precision timing between systems
JP5035416B2 (ja) 情報処理装置、情報処理装置の制御方法および半導体装置
US20230198651A1 (en) Method for synchronizing time in multiple time domains, and apparatus implementing the same method
US20230198650A1 (en) Method for synchronizing time in multiple time domains, and apparatus implementing the same method
US20230259485A1 (en) Communication apparatus, communication method, and program
JP2018121123A (ja) 時刻同期装置、システム、方法およびプログラム
CN115459897B (zh) 电力实时仿真中的步长同步校准方法、装置及相关设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201203

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201203

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210413

R150 Certificate of patent or registration of utility model

Ref document number: 6869447

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250