(57)【特許請求の範囲】
【請求項１】
マスタ局と、前記マスタ局と通信可能に接続された複数のスレーブ局と、を含み、
前記マスタ局は、
前記複数のスレーブ局の各々から送信された第１の時刻同期フレームの受信タイミングに基づいて、前記第１の時刻同期フレームが中継処理において競合した可能性があるか否かを判定する競合判定手段と、
前記競合判定手段が前記第１の時刻同期フレームが競合した可能性があると判定した場合、互いに競合した可能性がある第１の時刻同期フレームのうち、後に受信した第１の時刻同期フレームを破棄する時刻同期フレーム処理手段と、を備える、
時刻同期システム。
【請求項２】
前記競合判定手段は、前記第１の時刻同期フレームの受信間隔が、予め定められた一定間隔よりも短い場合、前記第１の時刻同期フレームが中継処理において競合した可能性があると判定する、
請求項１に記載の時刻同期システム。
【請求項３】
前記スレーブ局は、
前記第１の時刻同期フレームを送信してから、前記第１の時刻同期フレームの応答として前記マスタ局から送信される第２の時刻同期フレームを受信するまでの受信待機時間を計測する受信待機時間計測手段と、
前記受信待機時間が予め定められた閾値を超えるまでに前記第２の時刻同期フレームを受信しない場合、前記第１の時刻同期フレームを前記マスタ局に再送する第２時刻同期フレーム処理手段と、を備える、
請求項１または２に記載の時刻同期システム。
【請求項４】
複数のスレーブ局と通信可能に接続されたマスタ局であって、
前記複数のスレーブ局の各々から送信された第１の時刻同期フレームの受信タイミングに基づいて、前記第１の時刻同期フレームが中継処理において競合した可能性があるか否かを判定する競合判定手段と、
前記競合判定手段が前記第１の時刻同期フレームが競合した可能性があると判定した場合、互いに競合した可能性がある第１の時刻同期フレームのうち、後に受信した第１の時刻同期フレームを破棄する時刻同期フレーム処理手段と、を備える、
マスタ局。
【請求項５】
複数のスレーブ局と通信可能に接続されたマスタ局が実行する時刻同期方法であって、
前記複数のスレーブ局の各々から送信された第１の時刻同期フレームの受信タイミングに基づいて、前記第１の時刻同期フレームが中継処理において競合した可能性があるか否かを判定し、
前記第１の時刻同期フレームが競合した可能性があると判定した場合、互いに競合した可能性がある第１の時刻同期フレームのうち、後に受信した第１の時刻同期フレームを破棄する、
時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、時刻同期システム、マスタ局、及び時刻同期方法に関する。
【背景技術】
【０００２】
ネットワーク上の装置を高精度で時刻同期させる手段として、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）１５８８に定義されたＰＴＰ（Precision Time Protocol）が知られている。このプロトコルでは、基準時刻を持つマスタ局とそれに従属するスレーブ局との間で、定期的に時刻同期フレームを交信し、スレーブ局が自局の時刻をマスタ局の基準時刻に補正することにより時刻同期を実現する。【０００３】
スレーブ局からマスタ局に送信される時刻同期フレームは、各スレーブ局から任意のタイミングで送信される。このため、マスタ局に接続されているスレーブ局の数が増加するほど、スレーブ局からマスタ局に送信される時刻同期フレームの送信タイミングが重複し、フレームロスが発生する可能性が増大するため、時刻同期精度が低下することとなる。【０００４】
そこで、特許文献１は、マスタ局が、スレーブ局が時刻同期フレームを送信するタイミングを送信可能領域としてスレーブ局毎に管理することにより、時刻同期精度の低下を回避する技術を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−３２０５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、例えば、マスタ局と複数のスレーブ局とがスイッチングハブをはじめとする中継装置を介して接続されている場合には、中継装置においてマスタ局に対して各スレーブ局から送信された時刻同期フレームを中継する際に定常的に発生する固定遅延時間が発生する。また、時刻同期フレームが競合した場合、他の時刻同期フレームを同一ポートから既に送信中である場合には、送信完了を待機する競合遅延時間が発生するため、更なる遅延が生じる。このように、スレーブ局の時刻同期フレームの送信タイミングを調整したとしても、中継処理における遅延時間の増加、ゆらぎ等により伝播遅延時間を正確に算出することが困難であるため、時刻同期の精度が低下するおそれがある。【０００７】
本開示は、上述のような事情に鑑みてなされたものであり、マスタ局とスレーブ局との間の時刻同期の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、本開示に係る時刻同期システムは、マスタ局と、マスタ局と通信可能に接続された複数のスレーブ局と、を含む。マスタ局は、競合判定手段と、時刻同期フレーム処理手段と、を備える。競合判定手段は、複数のスレーブ局の各々から送信された第１の時刻同期フレームの受信タイミングに基づいて、第１の時刻同期フレームが中継処理において競合した可能性があるか否かを判定する。時刻同期フレーム処理手段は、競合判定手段が第１の時刻同期フレームが競合した可能性があると判定した場合、互いに競合した可能性がある第１の時刻同期フレームのうち、後に受信した第１の時刻同期フレームを破棄する。
【発明の効果】
【０００９】
本開示に係る時刻同期システムにおいて、マスタ局は、複数のスレーブ局の各々から送信された第１の時刻同期フレームの受信タイミングに基づいて、第１の時刻同期フレームが中継処理において競合した可能性があるか否かを判定し、競合した可能性があると判定した場合には、互いに競合した可能性がある時刻同期フレームのうち、後に受信した時刻同期フレームを破棄する。これにより、遅延時間が増幅した時刻同期フレームに基づく時刻同期を抑止し、マスタ局とスレーブ局との間の時刻同期の精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態に係る時刻同期システムの構成を示すブロック図
【図２】マスタ局のハードウェア構成を示すブロック図
【図３】マスタ局の機能構成を示すブロック図
【図４】スレーブ局のハードウェア構成を示すブロック図
【図５】スレーブ局の機能構成を示すブロック図
【図６】マスタ局とスレーブ局の時刻同期の手順を示すシーケンス図
【図７】マスタ局の時刻同期処理の流れを示すフローチャート
【図８】スレーブ局の時刻同期処理の流れを示すフローチャート
【図９】変形例に係る時刻同期システムの構成を示すブロック図
【図１０】変形例に係る時刻同期システムにおける時刻同期フレームの競合について説明するための図
【発明を実施するための形態】
【００１１】
以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。
【００１２】
本開示の実施の形態に係る時刻同期システム１は、図１に示すように、時刻同期システム１全体を制御するマスタ局１００と、マスタ局１００に従属するスレーブ局２００Ａ，２００Ｂと、マスタ局１００とスレーブ局２００Ａ，２００Ｂとの間の通信を中継する中継装置３００とを含む。マスタ局１００と中継装置３００、中継装置３００とスレーブ局２００Ａ，２００Ｂとは、有線ネットワーク回線を介して相互に通信可能に接続されている。マスタ局１００とスレーブ局２００Ａ，２００Ｂとは、ＩＥＥＥ１５８８規格のＰＴＰに準拠した時刻同期フレームを授受することにより時刻同期を行うものとする。
【００１３】
本実施の形態では、時刻同期システム１が２台のスレーブ局２００Ａ，２００Ｂを備えるものとして説明するが、時刻同期システム１は３台以上のスレーブ局を備えていてもよい。また、以下の説明において、スレーブ局２００Ａとスレーブ局２００Ｂを特に区別しない場合には、「スレーブ局２００」と称することがある。
【００１４】
（マスタ局１００のハードウェア構成）
マスタ局１００は、物理的には、図２に示すように、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、補助記憶装置１０４、表示装置１０５、入力装置１０６、通信装置１０７を備える。これらの各部は、バスラインＢＬを介して相互に電気的に接続されている。
【００１５】
ＣＰＵ１０１は、ＲＯＭ１０２または補助記憶装置１０４に格納されたプログラムをＲＡＭ１０３上に読み出して実行することにより、マスタ局１００の各種機能を実現する処理装置である。ＣＰＵ１０１は、例えば、マスタ局１００とスレーブ局２００の時刻を同期させる時刻同期処理を実行する。
【００１６】
ＲＯＭ１０２は、ＣＰＵ１０１が実行する各種プログラムやプログラム実行の際に使用する各種固定データ等を記憶する不揮発性メモリである。
【００１７】
ＲＡＭ１０３は、ＲＯＭ１０２または補助記憶装置１０４から読み出されたプログラムやデータを一時的に保持する揮発性メモリであり、ＣＰＵ１０１の作業領域として使用される。
【００１８】
補助記憶装置１０４は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等の記憶内容が書き換え可能な不揮発性の記憶装置である。補助記憶装置２０４は、例えば、ＣＰＵ１０１が実行するプログラム、そのプログラム実行の際に用いられるデータ、そのプログラム実行により生成されたデータを記憶する。
【００１９】
表示装置１０５は、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、有機ＥＬ（Electro-Luminescence）ディスプレイ等の画像表示装置であり、ＣＰＵ１０１の制御に従って、各種画像を表示する。
【００２０】
入力装置１０６は、キーボード、マウス、スイッチボタン等の操作入力装置であり、利用者による各種操作を受け付け、受け付けた操作に応じた操作信号をＣＰＵ１０１に供給する。なお、入力装置１０６は、表示装置１０５の表示画面とこれに重ねて設けられたタッチセンサとを有するタッチパネルであってもよい。この場合、入力装置１０６は、タッチパネルにおける利用者の接触動作に係る接触位置や接触態様等のタッチセンサによる検出結果に応じた操作信号をＣＰＵ１０１に供給する。
【００２１】
通信装置１０７は、スレーブ局２００と通信するための通信インタフェースである。通信装置１０７は、ＣＰＵ１０１の制御に従って、中継装置３００を介してスレーブ局２００との間で各種データを送受信する。
【００２２】
測位衛星信号受信装置１０８は、ＧＰＳ（Global Positioning System）、ＧＬＯＮＡＳＳ（Global Navigation Satellite System）等の測位衛星から衛星測位信号を受信する通信インタフェースである。衛星測位信号は、測位衛星が衛星測位信号を送信した時刻を含む。
【００２３】
（マスタ局１００の機能構成）
マスタ局１００は、機能的には、図３に示すように、制御部１１０、記憶部１２０、表示部１３０、操作部１４０、通信部１５０、基準時刻情報取得部１６０を備える。
【００２４】
制御部１１０は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３等を備え、ＣＰＵ１０１がＲＯＭ１０２または記憶部１２０に記憶された各種の制御プログラムを読み出してＲＡＭ１０３上で実行することにより、マスタ局１００の各構成部位を制御する。制御部１１０は、基準時刻管理部１１１、時刻同期フレーム生成部１１２、時刻同期フレーム処理部１１３、競合判定部１１４を有する。
【００２５】
基準時刻管理部１１１は、マスタ局１００とスレーブ局２００との間で時刻を同期するための基準時刻を管理する。基準時刻管理部１１１は、例えば、基準時刻情報取得部１６０が受信したＧＰＳ信号に含まれる時刻情報に基づいて、時刻同期の基準となる基準時刻を生成し管理する。
【００２６】
時刻同期フレーム生成部１１２は、スレーブ局２００に送信するメッセージを含む時刻同期フレームを生成する。時刻同期フレーム生成部１１２は、例えば、Ｓｙｎｃメッセージ、Ｆｏｌｌｏｗ−Ｕｐメッセージ、Ｄｅｌａｙ＿Ｒｅｓｐメッセージの各々を含む時刻同期フレームを生成する。なお、以下の説明では、Ｓｙｎｃメッセージ含む時刻同期フレームを、単に「Ｓｙｎｃメッセージ」と称することがある。また、同様に、Ｆｏｌｌｏｗ−Ｕｐメッセージを含む時刻同期フレームを「Ｆｏｌｌｏｗ−Ｕｐメッセージ」と、Ｄｅｌａｙ＿Ｒｅｓｐメッセージを含む時刻同期フレームを「Ｄｅｌａｙ＿Ｒｅｓｐメッセージ」と称することがある。
【００２７】
時刻同期フレーム処理部１１３は、時刻同期フレームに関する各種処理を行う。時刻同期フレーム処理部１１３は、例えば、通信部１５０を制御して、時刻同期フレーム生成部１１２により生成された時刻同期フレームをスレーブ局２００に送信する。また、時刻同期フレーム処理部１１３は、通信部１５０を介してスレーブ局２００から受信した時刻同期フレームに含まれる時刻情報をＲＡＭ１０３に記憶する。
【００２８】
さらに、時刻同期フレーム処理部１１３は、スレーブ局２００Ａとスレーブ局２００Ｂの各々から受信した時刻同期フレームが中継装置３００の中継処理において競合した可能性があると判定した場合、互いに競合した可能性がある時刻同期フレームのうち、後に受信した時刻同期フレームを破棄する。中継装置３００の中継処理において競合した可能性がある時刻同期フレームのうち、マスタ局１００が先に受信した時刻同期フレームは、定常的に発生する固定遅延時間を経て中継装置３００から送出されたものである。一方、マスタ局１００が後に受信した時刻同期フレームは、固定遅延時間に加えて、同一ポートから送信される先の時刻同期フレームの送信完了を待機する競合遅延時間が発生している。このため、マスタ局１００が後に受信した時刻同期フレームに含まれるスレーブ局２００の送信時刻の誤差が増大しており、この時刻同期フレームに基づいて時刻同期を実行すると時刻同期精度が低下するため、時刻同期フレーム処理部１１３は、後に受信した時刻同期フレームを破棄する。時刻同期フレーム処理部１１３は、時刻同期フレーム処理手段の一例である。
【００２９】
競合判定部１１４は、スレーブ局２００Ａとスレーブ局２００Ｂの各々から受信した時刻同期フレームの受信タイミングに基づいて、これらの時刻同期フレームが中継装置３００の中継処理において競合した可能性があるか否かを判定する。例えば、競合判定部１１４は、スレーブ局２００Ａとスレーブ局２００Ｂの各々から受信した時刻同期フレームの受信間隔が予め定められた一定間隔よりも小さい場合には、時刻同期フレームが競合した可能性があると判定する。一方、競合判定部１１４は、スレーブ局２００Ａとスレーブ局２００Ｂの各々から受信した時刻同期フレームの受信間隔が予め定められた一定間隔よりも大きい場合には、時刻同期フレームが競合した可能性がないと判定する。競合判定部１１４は、競合判定手段の一例である。
【００３０】
記憶部１２０は、補助記憶装置１０４により実現され、制御部１１０が実行する各種プログラム、入力データおよび送受信データ等の各種データを記憶する。
【００３１】
表示部１３０は、表示装置１０５により実現され、制御部１１０の制御に従って、各種画像を表示画面に表示する。
【００３２】
操作部１４０は、入力装置１０６により実現され、利用者の操作、各種データの入力等を受け付ける。操作部１４０は、受け付けた操作に応じた操作信号を生成して制御部１１０に供給する。
【００３３】
通信部１５０は、通信装置１０７により実現され、制御部１１０の制御に従って、中継装置３００を介してスレーブ局２００との間でデータの送受信を行う。通信部１５０は、例えば、スレーブ局２００との間で時刻同期フレームを交信する。
【００３４】
基準時刻情報取得部１６０は、測位衛星信号受信装置１０８により実現され、スレーブ局２００との時刻同期の基準となる基準時刻を示す基準時刻情報を取得する。基準時刻情報取得部１６０は、例えば、ＧＰＳ衛星、ＧＬＯＮＡＳＳ衛星等の測位衛生からの測位衛星信号に含まれる時刻情報を基準時刻情報として取得する。なお、基準時刻情報の取得手段は、測位衛星からの衛星電波を受信するものに限られず、例えば、地上送信局から送信される標準電波を受信することにより基準時刻情報を取得してもよい。
【００３５】
（スレーブ局２００のハードウェア構成）
スレーブ局２００は、物理的には、図４に示すように、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、補助記憶装置２０４、表示装置２０５、入力装置２０６、通信装置２０７を備える。これらの各部は、バスラインＢＬを介して相互に電気的に接続されている。
【００３６】
ＣＰＵ２０１は、ＲＯＭ２０２または補助記憶装置２０４に格納されたプログラムをＲＡＭ２０３上に読み出して実行することにより、スレーブ局２００の各種機能を実現する処理装置である。ＣＰＵ２０１は、例えば、マスタ局１００とスレーブ局２００の時刻を同期させる時刻同期処理を実行する。
【００３７】
ＲＯＭ２０２は、ＣＰＵ２０１が実行する各種プログラムやプログラム実行の際に使用する各種固定データ等を記憶する不揮発性メモリである。ＲＯＭ２０２は、例えば、後述する受信待機時間の閾値を記憶する。
【００３８】
ＲＡＭ２０３は、ＲＯＭ２０２または補助記憶装置２０４から読み出されたプログラムやデータを一時的に保持する揮発性メモリであり、ＣＰＵ２０１の作業領域として使用される。
【００３９】
補助記憶装置２０４は、ＨＤＤ、ＳＳＤ等の記憶内容が書き換え可能な不揮発性の記憶装置である。補助記憶装置２０４は、例えば、ＣＰＵ２０１が実行するプログラム、そのプログラム実行の際に用いられるデータ、そのプログラム実行により生成されたデータを記憶する。
【００４０】
表示装置２０５は、ＬＣＤ、ＰＤＰ、有機ＥＬディスプレイ等の画像表示装置であり、ＣＰＵ２０１の制御に従って、各種画像を表示する。
【００４１】
入力装置２０６は、キーボード、マウス、スイッチボタン等の操作入力装置であり、利用者による各種操作を受け付け、受け付けた操作に応じた操作信号をＣＰＵ２０１に供給する。なお、入力装置２０６は、表示装置２０５の表示画面とこれに重ねて設けられたタッチセンサとを有するタッチパネルであってもよい。この場合、入力装置２０６は、タッチパネルにおける利用者の接触動作に係る接触位置や接触態様等のタッチセンサによる検出結果に応じた操作信号をＣＰＵ２０１に供給する。
【００４２】
通信装置２０７は、マスタ局１００と通信するための通信インタフェースである。通信装置２０７は、ＣＰＵ２０１の制御に従って、中継装置３００を介してマスタ局１００との間で各種データを送受信する。
【００４３】
（スレーブ局２００の機能構成）
スレーブ局２００は、機能的には、図５に示すように、制御部２１０、記憶部２２０、表示部２３０、操作部２４０、通信部２５０を備える。
【００４４】
制御部２１０は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３等を備え、ＣＰＵ２０１がＲＯＭ２０２または記憶部２２０に記憶された各種の制御プログラムを読み出してＲＡＭ２０３上で実行することにより、スレーブ局２００の各構成部位を制御する。制御部２１０は、受信待機時間計測部２１１、時刻同期フレーム生成部２１２、時刻同期フレーム処理部２１３、時刻同期部２１４を有する。
【００４５】
受信待機時間計測部２１１は、マスタ局１００にＤｅｌａｙ＿Ｒｅｑメッセージを含む時刻同期フレームを送信してから、その応答であるＤｅｌａｙ＿Ｒｅｓｐメッセージを含む時刻同期フレームを受信するまでの受信待機時間を計測する。受信待機時間計測部２１１は、受信待機時間計測手段の一例である。また、Ｄｅｌａｙ＿Ｒｅｑメッセージを含む時刻同期フレームは、第１の時刻同期フレームの一例である。
【００４６】
時刻同期フレーム生成部２１２は、マスタ局１００に送信するメッセージを含む時刻同期フレームを生成する。時刻同期フレーム生成部２１２は、例えば、Ｄｅｌａｙ＿Ｒｅｑメッセージを含む時刻同期フレームを生成する。なお、以下の説明では、Ｄｅｌａｙ＿Ｒｅｑメッセージを含む時刻同期フレームを、単に「Ｄｅｌａｙ＿Ｒｅｑメッセージ」と称することがある。
【００４７】
時刻同期フレーム処理部２１３は、時刻同期フレームに関する各種処理を行う。時刻同期フレーム処理部２１３は、例えば、通信部２５０を制御して、時刻同期フレーム生成部２１２により生成された時刻同期フレームをマスタ局１００に送信する。時刻同期フレーム処理部２１３は、時刻同期フレームの送信時刻情報をＲＡＭ２０３に記憶する。また、時刻同期フレーム処理部２１３は、通信部２５０を介してマスタ局１００から受信した時刻同期フレームに含まれる時刻情報をＲＡＭ２０３に記憶する。さらに、マスタ局１００に対してＤｅｌａｙ＿Ｒｅｑメッセージを含む時刻同期フレームを送信してから、受信待機時間計測部２１１が計測する受信待機時間が予め定められた閾値を超えるまでに、マスタ局１００からＤｅｌａｙ＿Ｒｅｓｐメッセージを含む時刻同期フレームを受信しない場合には、マスタ局１００に対してＤｅｌａｙ＿Ｒｅｑメッセージを含む時刻同期フレームを再送する。ここで、マスタ局１００から送信されるＤｅｌａｙ＿Ｒｅｓｐメッセージを含む時刻同期フレームは、第２の時刻同期フレームの一例である。また、時刻同期フレーム処理部２１３は、第２時刻同期フレーム処理手段の一例である。
【００４８】
時刻同期部２１４は、マスタ局１００との時刻同期フレームの授受により得られた時刻情報に基づいてマスタ局１００と自局との間の伝播遅延時間を算出し、算出した伝播遅延時間に基づいて自局の時刻を補正する。これにより、時刻同期部２１４は、自局の時刻をマスタ局１００と同期させる。伝播遅延時間の算出方法については、後述する。
【００４９】
（中継装置３００）
中継装置３００は、例えば、例えば、汎用のスイッチングハブであり、マスタ局１００とスレーブ局２００との通信を中継する。
【００５０】
次に、図６に示すシーケンス図を参照して、時刻同期システム１における時刻同期フレームの送受信動作について説明する。
【００５１】
まず、マスタ局１００は、スレーブ局２００に対してＳｙｎｃメッセージをマルチキャストで送信する（ステップＳ１）。このとき、マスタ局１００は、Ｓｙｎｃメッセージの送信時刻Ｔ１を記憶する。
【００５２】
中継装置３００は、マスタ局１００から受信したＳｙｎｃメッセージをスレーブ局２００Ａとスレーブ局２００Ｂにそれぞれ送信する。中継装置３００がＳｙｎｃメッセージを受信してからスレーブ局２００Ａとスレーブ局２００Ｂに送信するまでには、中継装置３００の内部処理により定常的に発生する一定の固定遅延時間を要する。
【００５３】
スレーブ局２００Ａは、Ｓｙｎｃメッセージを受信すると、Ｓｙｎｃメッセージの受信時刻Ｔ２ａを記憶する。同様に、スレーブ局２００Ｂは、Ｓｙｎｃメッセージを受信すると、Ｓｙｎｃメッセージの受信時刻Ｔ２ｂを記憶する。
【００５４】
次に、マスタ局１００は、Ｓｙｎｃメッセージの送信時刻Ｔ１を含むＦｏｌｌｏｗ−Ｕｐメッセージをスレーブ局２００に対してマルチキャストで送信する（ステップＳ２）。
【００５５】
中継装置３００は、マスタ局１００から受信したＦｏｌｌｏｗ−Ｕｐメッセージをスレーブ局２００Ａとスレーブ局２００Ｂにそれぞれ送信する。Ｓｙｎｃメッセージの中継と同様、中継装置３００がＦｏｌｌｏｗ−Ｕｐメッセージを受信してからスレーブ局２００Ａとスレーブ局２００Ｂに送信するまでには、一定の固定遅延時間を要する。
【００５６】
スレーブ局２００Ａは、Ｆｏｌｌｏｗ−Ｕｐメッセージを受信すると、Ｆｏｌｌｏｗ−Ｕｐメッセージに含まれるＳｙｎｃメッセージの送信時刻Ｔ１を記憶する。スレーブ局２００Ｂについても同様である。
【００５７】
次に、スレーブ局２００Ａは、マスタ局１００に対してＤｅｌａｙ＿Ｒｅｑメッセージを送信する（ステップＳ３）。このとき、スレーブ局２００Ａは、Ｄｅｌａｙ＿Ｒｅｑメッセージの送信時刻Ｔ３ａを記憶する。また、スレーブ局２００Ｂは、マスタ局１００に対してＤｅｌａｙ＿Ｒｅｑメッセージを送信する（ステップＳ４）。このとき、スレーブ局２００Ｂは、Ｄｅｌａｙ＿Ｒｅｑメッセージの送信時刻Ｔ３ｂを記憶する。ここで、送信時刻Ｔ３ａは、送信時刻Ｔ３ｂよりも早いものとする。
【００５８】
中継装置３００は、スレーブ局２００Ａとスレーブ局２００Ｂからそれぞれ送信されたＤｅｌａｙ＿Ｒｅｑメッセージを受信すると、それに応じて中継処理を開始する。ここで、スレーブ局２００ＡのＤｅｌａｙ＿Ｒｅｑメッセージと同一ポートから送信されるスレーブ局２００ＢのＤｅｌａｙ＿Ｒｅｑメッセージは、スレーブ局２００ＡのＤｅｌａｙ＿Ｒｅｑメッセージの中継処理が完了するまで待機させられる。このため、スレーブ局２００ＢのＤｅｌａｙ＿Ｒｅｑメッセージの遅延時間Ｌｂは、スレーブ局２００ＡのＤｅｌａｙ＿Ｒｅｑメッセージの遅延時間Ｌａよりも長くなる。
【００５９】
マスタ局１００は、中継装置３００を介して、スレーブ局２００Ａとスレーブ局２００Ｂからそれぞれ送信されたＤｅｌａｙ＿Ｒｅｑメッセージを受信すると、Ｄｅｌａｙ＿Ｒｅｑメッセージの受信時刻Ｔ４ａ，Ｔ４ｂを記憶する。ここで、Ｄｅｌａｙ＿Ｒｅｑメッセージの受信時刻Ｔ４ａとＤｅｌａｙ＿Ｒｅｑメッセージの受信時刻Ｔ４ｂの間隔Ｒが予め定められた一定間隔より小さい場合、マスタ局１００は、これらのＤｅｌａｙ＿Ｒｅｑメッセージが中継装置３００の中継処理において競合した可能性があると判定し、後に受信したスレーブ局２００ＢのＤｅｌａｙ＿Ｒｅｑメッセージを破棄する。
【００６０】
次に、マスタ局１００は、Ｄｅｌａｙ＿Ｒｅｑメッセージの受信時刻Ｔ４ａを含むＤｅｌａｙ＿Ｒｅｓｐメッセージをスレーブ局２００Ａに対してユニキャストで送信する（ステップＳ５）。スレーブ局２００Ａは、Ｄｅｌａｙ＿Ｒｅｓｐメッセージを受信すると、Ｄｅｌａｙ＿Ｒｅｓｐメッセージに含まれるＤｅｌａｙ＿Ｒｅｑメッセージの受信時刻Ｔ４ａを記憶する。
【００６１】
スレーブ局２００Ｂは、マスタ局１００に対してＤｅｌａｙ＿Ｒｅｑメッセージを送信してから、予め定められた受信待機時間が経過するまで、マスタ局１００からＤｅｌａｙ＿Ｒｅｓｐメッセージを受信しない場合には、マスタ局１００に対してＤｅｌａｙ＿Ｒｅｑメッセージを再送する（ステップＳ６）。このとき、スレーブ局２００Ｂは、Ｄｅｌａｙ＿Ｒｅｑメッセージの送信時刻Ｔ３ｂｂを記憶する。
【００６２】
マスタ局１００は、中継装置３００を介して、スレーブ局２００Ｂから再送されたＤｅｌａｙ＿Ｒｅｑメッセージを受信すると、Ｄｅｌａｙ＿Ｒｅｑメッセージの受信時刻Ｔ４ｂｂを記憶する。マスタ局１００は、スレーブ局２００ＢのＤｅｌａｙ＿Ｒｅｑメッセージと競合した可能性があるＤｅｌａｙ＿Ｒｅｑメッセージがないため、Ｄｅｌａｙ＿Ｒｅｑメッセージの受信時刻Ｔ４ｂｂを含むＤｅｌａｙ＿Ｒｅｓｐメッセージをスレーブ局２００Ａに対してユニキャストで送信する（ステップＳ７）。
【００６３】
スレーブ局２００Ａは、Ｄｅｌａｙ＿Ｒｅｓｐメッセージを受信すると、Ｄｅｌａｙ＿Ｒｅｓｐメッセージに含まれるＤｅｌａｙ＿Ｒｅｑメッセージの受信時刻Ｔ４ｂｂを記憶する。
【００６４】
上記の動作により、スレーブ局２００Ａは、Ｓｙｎｃメッセージの送信時刻Ｔ１および受信時刻Ｔ２ａ、Ｄｅｌａｙ＿Ｒｅｑメッセージの送信時刻Ｔ３ａおよび受信時刻Ｔ４ａを取得する。スレーブ局２００Ａは、伝播遅延時間Ｄａを、例えば、Ｄａ＝（（Ｔ４ａ−Ｔ１）−（Ｔ３ａ−Ｔ２ａ））／２から算出できる。また、マスタ局１００とスレーブ局２００Ａの時刻差であるオフセット値Ｅａは、例えば、Ｅａ＝（Ｔ２ａ−Ｔ１）−Ｄａから算出できる。
【００６５】
また、スレーブ局２００Ｂは、Ｓｙｎｃメッセージの送信時刻Ｔ１および受信時刻Ｔ２ｂ、Ｄｅｌａｙ＿Ｒｅｑメッセージの送信時刻Ｔ３ｂｂおよび受信時刻Ｔ４ｂｂを取得する。スレーブ局２００Ｂは、伝播遅延時間Ｄｂを、例えば、Ｄｂ＝（（Ｔ４ｂｂ−Ｔ１）−（Ｔ３ｂｂ−Ｔ２ｂ））／２から算出できる。また、時刻同期のためのオフセット値Ｅｂは、例えば、Ｅｂ＝（Ｔ２ｂ−Ｔ１）−Ｄｂから算出できる。
【００６６】
なお、以下の説明では、スレーブ局２００Ａとスレーブ局２００Ｂのそれぞれに係るＳｙｎｃメッセージの受信時刻、Ｄｅｌａｙ＿Ｒｅｑメッセージの送信時刻および受信時刻、伝播遅延時間、オフセット値を特に区別しない場合には、「ａ」、「ｂ」等の添え字を付せずに表記するものとする。
【００６７】
次に、図７に示すフローチャートを参照して、マスタ局１００の制御部１１０が実行する時刻同期処理について説明する。マスタ局１００の時刻同期処理は、スレーブ局２００からの有効な時刻同期フレームを識別して高精度な時刻同期を実行するための処理である。制御部１１０は、例えば、時刻同期の実施周期が到来したことに応答して時刻同期処理を開始する。
【００６８】
制御部１１０は、時刻同期処理を開始すると、まず、Ｓｙｎｃメッセージをスレーブ局２００に送信する（ステップＳ１０１）。制御部１１０の時刻同期フレーム処理部１１３は、通信部１５０を制御して、時刻同期フレーム生成部１１２により生成されたＳｙｎｃメッセージをスレーブ局２００に送信する。このとき、時刻同期フレーム処理部１１３は、Ｓｙｎｃメッセージの送信時刻Ｔ１を例えばＲＡＭ１０３に記憶する。
【００６９】
続いて、制御部１１０は、Ｆｏｌｌｏｗ−Ｕｐメッセージをスレーブ局２００に送信する（ステップＳ１０２）。時刻同期フレーム処理部１１３は、通信部１５０を制御して、時刻同期フレーム生成部１１２により生成されたＦｏｌｌｏｗ−Ｕｐメッセージをスレーブ局２００に送信する。Ｆｏｌｌｏｗ−Ｕｐメッセージには、Ｓｙｎｃメッセージの送信時刻Ｔ１を示す時刻情報が含まれる。Ｆｏｌｌｏｗ−Ｕｐメッセージを受信したスレーブ局２００は、Ｓｙｎｃメッセージの送信時刻Ｔ１を取得することができる。
【００７０】
次に、制御部１１０は、スレーブ局２００からＤｅｌａｙ＿Ｒｅｑメッセージを受信したか否かを判定する（ステップＳ１０３）。時刻同期フレーム処理部１１３は、通信部１５０が少なくとも１つのスレーブ局２００からＤｅｌａｙ＿Ｒｅｑメッセージを受信したか否かに応じて判定する。スレーブ局２００からＤｅｌａｙ＿Ｒｅｑメッセージを受信していないと判定した場合（ステップＳ１０３：ＮＯ）、制御部１１０は、Ｄｅｌａｙ＿Ｒｅｑメッセージを受信するまでステップＳ１０３の処理を繰り返す。
【００７１】
一方、スレーブ局２００からＤｅｌａｙ＿Ｒｅｑメッセージを受信したと判定した場合（ステップＳ１０３：ＹＥＳ）、制御部１１０は、中継装置３００の中継処理においてＤｅｌａｙ＿Ｒｅｑメッセージが競合した可能性があるか否かを判定する（ステップＳ１０４）。制御部１１０の競合判定部１１４は、例えば、異なるスレーブ局２００から受信したＤｅｌａｙ＿Ｒｅｑメッセージの受信時刻の差、すなわち、Ｄｅｌａｙ＿Ｒｅｑメッセージの受信間隔が、予め定められた一定間隔よりも小さい場合には、中継装置３００の中継処理においてこれらのＤｅｌａｙ＿Ｒｅｑメッセージが競合した可能性があると判定する。
【００７２】
Ｄｅｌａｙ＿Ｒｅｑメッセージが競合した可能性があると判定した場合（ステップＳ１０４：ＹＥＳ）、制御部１１０は、互いに競合した可能性があるＤｅｌａｙ＿Ｒｅｑメッセージのうち、後に受信したＤｅｌａｙ＿Ｒｅｑメッセージを破棄する（ステップＳ１０５）。
【００７３】
ステップＳ１０４においてＤｅｌａｙ＿Ｒｅｑメッセージが競合した可能性がないと判定した場合（ステップＳ１０４：ＮＯ）、または、ステップＳ１０５の処理を実行した後、制御部１１０は、競合した可能性がないＤｅｌａｙ＿Ｒｅｑメッセージの送信元であるスレーブ局２００、または、競合した可能性がある先に受信したＤｅｌａｙ＿Ｒｅｑメッセージの送信元であるスレーブ局２００に対して、Ｄｅｌａｙ＿Ｒｅｓｐメッセージを送信する（ステップＳ１０６）。時刻同期フレーム処理部１１３は、通信部１５０を制御して、時刻同期フレーム生成部１１２により生成されたＤｅｌａｙ＿Ｒｅｓｐメッセージをスレーブ局２００に送信する。Ｄｅｌａｙ＿Ｒｅｓｐメッセージには、Ｄｅｌａｙ＿Ｒｅｑメッセージの受信時刻Ｔ４を示す時刻情報が含まれる。Ｄｅｌａｙ＿Ｒｅｓｐメッセージを受信したスレーブ局２００は、Ｄｅｌａｙ＿Ｒｅｑメッセージの受信時刻Ｔ４を取得することができる。
【００７４】
ステップＳ１０６の処理を実行した後、制御部１１０は、時刻同期システム１内のすべてのスレーブ局２００にＤｅｌａｙ＿Ｒｅｓｐメッセージを送信したか否かを判定する（ステップＳ１０７）。Ｄｅｌａｙ＿Ｒｅｓｐメッセージを送信していないスレーブ局２００が存在すると判定した場合（ステップＳ１０７：ＮＯ）、制御部１１０は、処理をステップＳ１０３に戻し、Ｄｅｌａｙ＿Ｒｅｑメッセージの受信を待機する。
【００７５】
一方、時刻同期システム１内のすべてのスレーブ局２００にＤｅｌａｙ＿Ｒｅｓｐメッセージを送信したと判定した場合（ステップＳ１０７：ＹＥＳ）、制御部１１０は、時刻同期処理を終了する。
【００７６】
続いて、図８に示すフローチャートを参照して、スレーブ局２００の制御部２１０が実行する時刻同期処理について説明する。スレーブ局２００の時刻同期処理は、マスタ局１００に送信した時刻同期フレームが他の時刻同期フレームと競合した可能性があることにより破棄された場合であっても、マスタ局１００から確実に時刻同期に必要な情報を取得するための処理である。制御部２１０は、マスタ局１００からＳｙｎｃメッセージを受信したことに応答して時刻同期処理を開始する。
【００７７】
制御部２１０は、時刻同期処理を開始すると、まず、Ｓｙｎｃメッセージの受信時刻Ｔ２を記憶する（ステップＳ２０１）。制御部２１０の時刻同期フレーム処理部２１３は、マスタ局１００から送信されたＳｙｎｃメッセージの受信時刻Ｔ２を、例えばＲＡＭ２０３に記憶する。
【００７８】
続いて、制御部２１０は、マスタ局１００からＦｏｌｌｏｗ−Ｕｐメッセージを受信したか否かを判定する（ステップＳ２０２）。時刻同期フレーム処理部２１３は、通信部２５０がマスタ局１００からＦｏｌｌｏｗ−Ｕｐメッセージを受信したか否かに応じて判定する。マスタ局１００からＦｏｌｌｏｗ−Ｕｐメッセージを受信していないと判定した場合（ステップＳ２０２：ＮＯ）、制御部２１０は、Ｆｏｌｌｏｗ−Ｕｐメッセージを受信するまでステップＳ２０２の処理を繰り返す。
【００７９】
一方、マスタ局１００からＦｏｌｌｏｗ−Ｕｐメッセージを受信したと判定した場合（ステップＳ２０２：ＹＥＳ）、制御部２１０は、Ｆｏｌｌｏｗ−Ｕｐメッセージに含まれるＳｙｎｃメッセージの送信時刻Ｔ１を記憶する（ステップＳ２０３）。時刻同期フレーム処理部２１３は、Ｆｏｌｌｏｗ−Ｕｐメッセージに含まれる、マスタ局１００がＳｙｎｃメッセージを送信した際の送信時刻Ｔ１を、例えばＲＡＭ２０３に記憶する。
【００８０】
続いて、制御部２１０は、Ｄｅｌａｙ＿Ｒｅｑメッセージをマスタ局１００に送信する（ステップＳ２０４）。時刻同期フレーム処理部２１３は、通信部２５０を制御して、時刻同期フレーム生成部２１２により生成されたＤｅｌａｙ＿Ｒｅｑメッセージをマスタ局１００に送信する。そして、時刻同期フレーム処理部２１３は、Ｄｅｌａｙ＿Ｒｅｑメッセージの送信時刻Ｔ３をＲＡＭ２０３に記憶する（ステップＳ２０５）。
【００８１】
ステップＳ２０５の処理を実行した後、制御部２１０は、受信待機時間の計測を開始する（ステップＳ２０６）。受信待機時間計測部２１１は、例えば、ＣＰＵ２０１のカウンタ値に基づいて、Ｄｅｌａｙ＿Ｒｅｑメッセージの応答としてマスタ局１００から送信されるＤｅｌａｙ＿Ｒｅｓｐメッセージを待ち受ける受信待機時間を計測する。
【００８２】
続いて、制御部２１０は、受信待機時間が予め定められた閾値を超えたか否かを判定する（ステップＳ２０７）。受信待機時間計測部２１１は、例えば、ＣＰＵ２０１のカウンタ値が受信待機時間の計測開始時から予め定められた閾値を超えたか否かに応じて判定する。
【００８３】
受信待機時間が予め定められた閾値を超えていないと判定した場合（ステップＳ２０７：ＮＯ）、制御部２１０は、Ｄｅｌａｙ＿Ｒｅｓｐメッセージをマスタ局１００から受信したか否かを判定する（ステップＳ２０８）。時刻同期フレーム処理部２１３は、通信部２５０がマスタ局１００からＤｅｌａｙ＿Ｒｅｓｐメッセージを受信したか否かに応じて判定する。マスタ局１００からＤｅｌａｙ＿Ｒｅｓｐメッセージを受信していないと判定した場合（ステップＳ２０８：ＮＯ）、制御部２１０は、処理をステップＳ２０７に戻す。
【００８４】
Ｄｅｌａｙ＿Ｒｅｓｐメッセージをマスタ局１００から受信したと判定した場合（ステップＳ２０８：ＹＥＳ）、制御部２１０は、Ｄｅｌａｙ＿Ｒｅｓｐメッセージに含まれるＤｅｌａｙ＿Ｒｅｑメッセージの受信時刻Ｔ４を記憶する（ステップＳ２０３）。時刻同期フレーム処理部２１３は、マスタ局１００がＤｅｌａｙ＿Ｒｅｑメッセージを受信した際の送信時刻Ｔ４を、例えばＲＡＭ２０３に記憶する。
【００８５】
続いて、制御部２１０は、受信待機時間の計測を停止する（ステップＳ２１０）。受信待機時間計測部２１１は、マスタ局１００からＤｅｌａｙ＿Ｒｅｓｐメッセージを受信したことに応じて、例えばＣＰＵ２０１のカウンタ値に基づく受信待機時間の計測を停止する。
【００８６】
次に、制御部２１０は、自局の時刻をマスタ局１００と同期する（ステップＳ２１１）。時刻同期部２１４は、例えばＲＡＭ２０３に記憶された、Ｓｙｎｃメッセージの送信時刻Ｔ１および受信時刻Ｔ２、Ｄｅｌａｙ＿Ｒｅｑメッセージの送信時刻Ｔ３および受信時刻Ｔ４に基づいて、上述したように、伝播遅延時間Ｄおよびオフセット値Ｅを算出することにより、自局の時刻を補正する。これにより、スレーブ局２００の時刻はマスタ局１００の基準時効と同期する。マスタ局１００との時効同期を実施した後、制御部２１０は、時刻同期処理を終了する。
【００８７】
ステップＳ２０７において、受信待機時間が閾値を超えたと判定した場合（ステップＳ２０７：ＹＥＳ）、制御部２１０は、受信待機時間の計測を停止し（ステップＳ２１２）、マスタ局１００にＤｅｌａｙ＿Ｒｅｑメッセージを再送する（ステップＳ２１３）。すなわち、受信待機時間が閾値を超えるまでにＤｅｌａｙ＿Ｒｅｓｐメッセージをマスタ局１００から受信しなかった場合、ステップＳ２０５において送信したＤｅｌａｙ＿Ｒｅｑメッセージは他のスレーブ局２００のＤｅｌａｙ＿Ｒｅｑメッセージと競合した可能性があると判定され、マスタ局１００が後に受信したものであるため破棄された可能性がある。そのため、制御部２１０は、再度、Ｄｅｌａｙ＿Ｒｅｑメッセージを送信する。
【００８８】
Ｄｅｌａｙ＿Ｒｅｑメッセージを再送した後、制御部２１０は、処理をステップＳ２０６に戻し、Ｄｅｌａｙ＿Ｒｅｓｐメッセージの受信を待機する。
【００８９】
以上に述べたように、本実施の形態に係る時刻同期システム１では、マスタ局１００は、中継装置３００を介してスレーブ局２００から受信した複数のＤｅｌａｙ＿Ｒｅｑメッセージが、中継装置３００の中継処理において競合した可能性があるか否かを判定し、受信した複数のＤｅｌａｙ＿Ｒｅｑメッセージが競合した可能性があると判定した場合、互いに競合した可能性があるＤｅｌａｙ＿Ｒｅｑメッセージのうち後に受信した時刻同期フレームを破棄する。遅延時間が増幅した時刻同期フレームに基づく時刻同期を抑止し、中継装置を介して接続されたマスタ局とスレーブ局との間の時刻同期の精度を向上させることができる。
【００９０】
なお、本開示は、上記の実施の形態に限定されず、本開示の要旨を逸脱しない範囲での種々の変形および応用が可能である。
【００９１】
上記の実施の形態では、時刻同期システム１は、マスタ局１００と、スレーブ局２００と、マスタ局１００とスレーブ局２００との間の通信を中継する中継装置３００とを含むものとして説明したが、時刻同期システム１のネットワーク構成はこれに限定されない。例えば、時刻同期システム１は、図９に示すように、マスタ局１００と、複数のスレーブ局２００Ａ，２００Ｂ，２００Ｃとを含み、これらの装置が有線ネットワーク回線を介して直列に数珠つなぎされた、いわゆるライン型接続によりデータ通信可能となっていてもよい。この場合、スレーブ局２００Ａ，２００Ｂ，２００Ｃの各々は、データ信号を順次中継する機能を有し、データ信号は、スレーブ局２００間をリレー式で順次転送されて、目的のマスタ局１００またはスレーブ局２００に送信される。
【００９２】
より具体的には、図１０に示すように、マスタ局１００から受信したＳｙｎｃメッセージおよびＦｏｌｌｏｗ＿Ｕｐメッセージに応答して、スレーブ局２００Ａ，２００Ｂ，２００Ｃの各々は、Ｄｅｌａｙ＿ＲｅｑメッセージＡ、Ｄｅｌａｙ＿ＲｅｑメッセージＢ、Ｄｅｌａｙ＿ＲｅｑメッセージＣをマスタ局１００に対して送信する。上記の実施の形態と同様、マスタ局１００は、直近のスレーブ局２００Ａを介して受信したＤｅｌａｙ＿ＲｅｑメッセージＢとＤｅｌａｙ＿ＲｅｑメッセージＣとの間隔Ｒが予め定められた一定間隔よりも小さい場合には、スレーブ局２００Ａの中継処理において競合した可能性があると判定する。そして、マスタ局１００は、スレーブ局２００Ａの中継処理において競合した可能性があるＤｅｌａｙ＿ＲｅｑメッセージＢとＤｅｌａｙ＿ＲｅｑメッセージＣのうち、後に受信したＤｅｌａｙ＿ＲｅｑメッセージＣを破棄する。これにより、本変形例においても、遅延時間が増幅した時刻同期フレームに基づく時刻同期を抑止し、ライン型接続されたマスタ局とスレーブ局との間の時刻同期の精度を向上させることができる。
【００９３】
また、上記の実施の形態において、例えばマスタ局１００の制御部１１０を構成するＣＰＵ１０１が実行する制御プログラムは、ＲＯＭ１０２または補助記憶装置１０４に予め記憶されていた。しかしながら、本開示は、これに限定されず、上記の各種処理を実行させるための動作プログラムを、既存の汎用コンピュータや、フレームワーク、ワークステーション等に実装することにより、上記の実施の形態に係るマスタ局１００に相当する装置として機能させてもよい。
【００９４】
このようなプログラムの提供方法は任意であり、例えば、コンピュータが読取可能な記録媒体（フレキシブルディスク、ＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ）等に格納して配布してもよいし、インターネットをはじめとするネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。
【００９５】
また、上記の処理をＯＳ（Operating System）とアプリケーションプログラムとの分担、または、ＯＳとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板（Bulletin Board System：BBS）に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行するべく設計してもよい。
【００９６】
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
【符号の説明】
【００９７】
１…時刻同期システム、１００…マスタ局、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…補助記憶装置、１０５…表示装置、１０６…入力装置、１０７…通信装置、１０８…測位衛星信号受信装置、１１０…制御部、１２０…記憶部、１３０…表示部、１４０…操作部、１５０…通信部、１６０…基準時刻情報取得部、２００，２００Ａ，２００Ｂ，２００Ｃ…スレーブ局、２０１…ＣＰＵ、２０２…ＲＯＭ、２０３…ＲＡＭ、２０４…補助記憶装置、２０５…表示装置、２０６…入力装置、２０７…通信装置、２１０…制御部、２１１…受信待機時間計測部、２１２…時刻同期フレーム生成部、２１３…時刻同期フレーム処理部、２１４…時刻同期部、２２０…記憶部、２３０…表示部、２４０…操作部、２５０…通信部、３００…中継装置、ＢＬ…バスライン。
【要約】
時刻同期システムは、マスタ局（１００）と、マスタ局（１００）と通信可能に接続された複数のスレーブ局（２００）と、を含む。マスタ局（１００）は、競合判定部（１１４）と、時刻同期フレーム処理部（１１３）を備える。競合判定部（１１４）は、複数のスレーブ局（２００）の各々から送信された第１の時刻同期フレームの受信タイミングに基づいて、第１の時刻同期フレームが中継処理において競合した可能性があるか否かを判定する。時刻同期フレーム処理部（１１３）は、競合判定部（１１４）が第１の時刻同期フレームが競合した可能性があると判定した場合、互いに競合した可能性がある第１の時刻同期フレームのうち、後に受信した第１の時刻同期フレームを破棄する。【図１】
0006749531.tif 000002
【図２】
0006749531.tif 000003
【図３】
0006749531.tif 000004
【図４】
0006749531.tif 000005
【図５】
0006749531.tif 000006
【図６】
0006749531.tif 000007
【図７】
0006749531.tif 000008
【図８】
0006749531.tif 000009
【図９】
0006749531.tif 000010
【図１０】
0006749531.tif 000011