(57)【要約】【課題】ネットワークの対称性が崩れてもマスタ装置とスレーブ装置とが１対多で高精度に同期できるようにすることを目的とする。【解決手段】マスタ装置は計測フレーム１１１を送信し、スレーブ装置Ａ・Ｂは中継時間「α１＋α２」を設定して中継する。スレーブ装置Ｃはこの中継時間を設定して計測応答フレーム１１２を返信し、スレーブ装置Ｂ・Ａは中継時間「β１」「β２」を加算して中継する。マスタ装置は計測フレーム１１１と計測応答フレーム１１２との送受信時間「Ｄｍ’」から中継時間を引いた時間Ｄｍを算出し、算出した時間Ｄｍと基準時刻Ｔｍとを設定して通知フレーム１１３を送信する。スレーブ装置Ａ・Ｂは中継時間「γ１＋γ２」を設定して通知フレーム１１３を中継する。スレーブ装置Ａ・Ｂ・Ｃは計測フレーム１１１と計測応答フレーム１１２との送受信時間「Ｄｓｘ’」と通知フレーム１１３の設定値とに基づいて同期時刻を算出する。【選択図】図６
2012175567.tif 000002
【特許請求の範囲】
【請求項１】
端末装置と、前記端末装置に計測フレームを送信して前記端末装置から計測応答フレームを受信するマスタ装置と、前記マスタ装置と前記端末装置との間で通信される前記計測フレームと前記計測応答フレームとを所定の中継準備処理後に中継する１台以上の中継装置とを備える同期システムにおいて、
前記マスタ装置は、
前記計測フレームを送信すると共に、各中継装置が前記計測フレームの中継準備処理と前記計測応答フレームの中継準備処理とに要した中継準備時間を表す中継準備時間情報を含んだ計測応答フレームを受信するマスタ装置通信部と、
前記マスタ装置通信部が前記計測フレームを送信してから前記マスタ装置通信部が前記計測応答フレームを受信するまでの時間をマスタ装置通信時間として計測するマスタ装置計測部と、
前記マスタ装置計測部によって計測されたマスタ装置通信時間と前記計測応答フレームに含まれる前記中継準備時間情報とに基づいて前記マスタ装置通信時間から前記マスタ装置通信時間に含まれる中継準備時間を除いた時間をマスタ装置伝播時間として算出するマスタ装置算出部と、
現在時刻を基準時刻として含むと共に前記マスタ装置算出部によって算出されたマスタ装置伝播時間を含む通知フレームを生成するマスタ装置フレーム生成部とを備え、
前記マスタ装置通信部は、前記マスタ装置フレーム生成部によって生成された通知フレームを前記端末装置へ送信し、
各中継装置は、
前記計測フレームと前記計測応答フレームと前記通知フレームとを送受信する中継装置通信部と、
前記中継装置通信部が前記計測フレームを受信してから前記中継装置通信部が前記計測応答フレームを送信するまでの時間を中継装置通信時間として計測する中継装置計測部と、
前記中継装置計測部によって計測された中継装置通信時間と前記計測応答フレームに含まれる中継準備時間情報とに基づいて前記中継装置通信時間から前記中継装置通信時間に含まれる中継準備時間を除いた時間を中継装置伝播時間として算出し、算出した中継装置伝播時間と前記通知フレームに含まれるマスタ装置伝播時間とに基づいて前記マスタ装置が前記通知フレームを送信してから前記中継装置通信部が前記通知フレームを受信するまでに要する時間を通知伝播時間として算出し、算出した通知伝播時間と前記通知フレームに含まれる基準時刻とに基づいて前記基準時刻から前記通知伝播時間が経過した時刻を同期時刻として算出し、算出した同期時刻を内部時計に設定する中継装置同期部とを備えることを特徴とする同期システム。
【請求項２】
前記計測フレームは、前記計測フレームの中継準備処理に要した中継準備時間の合計値を示す先行中継準備時間を含み、
前記計測応答フレームは、前記計測フレームの中継準備処理と前記計測応答フレームの中継準備処理とに要した中継準備時間の合計値を示す総中継準備時間を前記中継準備時間情報として含み、
前記マスタ装置フレーム生成部は、前記先行中継準備時間として初期値「０」を設定して前記計測フレームを生成し、
前記マスタ装置通信部は、前記マスタ装置フレーム生成部によって生成された計測フレームを送信し、
各中継装置の中継装置通信部は、前記マスタ装置と他の中継装置とのいずれかから送信された計測フレームを受信し、
各中継装置は、さらに、
前記中継装置通信部によって受信された計測フレームに基づいて前記計測フレームに含まれる先行中継準備時間を記憶する先行中継準備時間記憶部を備え、
前記中継装置計測部は、前記中継装置通信部が前記計測フレームを受信してから前記計測フレームの中継準備処理が終了するまでの時間を前記計測フレームの中継準備時間として計測し、
前記中継装置計測部によって計測された前記計測フレームの中継準備時間と前記計測フレームに含まれる先行中継準備時間とを合計した時間を新たな先行中継準備時間として算出する中継装置算出部と、
前記中継装置算出部によって算出された新たな先行中継準備時間に基づいて前記計測フレームに含まれる先行中継準備時間を新たな先行中継準備時間に更新する中継装置フレーム更新部とを備え、
前記中継装置通信部は、前記中継装置フレーム更新部によって更新された計測フレームを送信し、
前記端末装置は、
前記計測フレームを中継する最後の中継装置から送信された計測フレームを受信する端末装置通信部と、
前記端末装置通信部によって受信された計測フレームに基づいて前記計測フレームに含まれる先行中継準備時間を前記総中継準備時間として設定して前記計測応答フレームを生成する端末装置フレーム生成部とを備え、
前記端末装置通信部は、前記端末装置フレーム生成部によって生成された計測応答フレームを送信し、
各中継装置の中継装置通信部は、前記端末装置と他の中継装置とのいずれかから送信された計測応答フレームを受信し、
前記中継装置計測部は、前記中継装置通信部が前記計測応答フレームを受信してから前記計測応答フレームの中継準備処理が終了するまでの時間を前記計測応答フレームの中継準備時間として計測し、
前記中継装置算出部は、前記中継装置計測部によって計測された前記計測応答フレームの中継準備時間と前記計測応答フレームに含まれる総中継準備時間とを合計した時間を新たな総中継準備時間として算出し、
前記中継装置フレーム更新部は、前記中継装置算出部によって算出された新たな総中継準備時間に基づいて前記計測応答フレームに含まれる総中継準備時間を新たな総中継準備時間に更新し、
前記中継装置通信部は、前記中継装置フレーム更新部によって更新された計測応答フレームを送信し、
各中継装置は、さらに、
前記中継装置算出部によって算出された新たな総中継準備時間を記憶する総中継準備時間記憶部を備え、
前記マスタ装置通信部は、前記計測フレームを中継する先頭の中継装置から送信された計測応答フレームを受信し、
前記マスタ装置算出部は、前記マスタ装置通信部によって受信された計測応答フレームと前記マスタ装置計測部によって計測されたマスタ装置通信時間とに基づいて、前記マスタ装置通信時間から前記計測応答フレームに含まれる総中継準備時間を除算した時間を前記マスタ装置伝播時間として算出し、
前記マスタ装置フレーム生成部は、初期値「０」を通知中継準備時間として含めて前記通知フレームを生成し、
前記マスタ装置通信部は、前記マスタ装置フレーム生成部によって生成された通知フレームを送信し、
各中継装置の中継装置通信部は、前記マスタ装置と他の中継装置とのいずれかから送信された通知フレームを受信し、
前記中継装置計測部は、前記中継装置通信部が前記通知フレームを受信してから前記通知フレームの中継準備処理が終了するまでの時間を前記通知フレームの中継準備時間として計測し、
前記中継装置算出部は、前記中継装置計測部によって計測された前記通知フレームの中継準備時間と前記通知フレームに含まれる通知中継準備時間とを合計した時間を新たな通知中継準備時間として算出し、
前記中継装置フレーム更新部は、前記中継装置算出部によって算出された新たな通知中継準備時間に基づいて前記通知フレームに含まれる通知中継準備時間を新たな通知中継準備時間に更新し、
前記中継装置通信部は、前記中継装置フレーム更新部によって更新された通知フレームを送信し、
前記中継装置同期部は、前記中継装置計測部によって計測された中継装置通信時間と前記総中継時間記憶部に記憶された総中継準備時間と前記先行中継準備時間記憶部に記憶された先行中継準備時間とに基づいて前記中継装置伝播時間を算出し、算出した中継装置伝播時間と前記中継装置通信部によって受信された通知フレームとに基づいて前記同期時刻を算出し、算出した同期時刻を前記内部時計に設定する
ことを特徴とする請求項１記載の同期システム。
【請求項３】
前記中継装置同期部は、
前記総中継準備時間から前記先行中継準備時間を減算した時間を往復中継準備時間として算出し、
算出した往復中継準備時間を前記中継装置通信時間から減算した時間を前記中継装置伝播時間として算出し、
算出した中継装置伝播時間を前記通知フレームに含まれるマスタ装置伝播時間から減算し、減算して得られた時間を半分にした時間を前記通知伝播時間として算出し、
算出した通知伝播時間と前記通知フレームに含まれる通知中継準備時間とを前記通知フレームに含まれる基準時刻に加算した時刻を前記同期時刻として算出する
ことを特徴とする請求項２記載の同期システム。
【請求項４】
前記端末装置は、さらに、
前記端末装置通信部が前記計測フレームを受信してから前記端末装置通信部が前記計測応答フレームを送信するまでの時間を端末装置遅延時間として計測する端末装置計測部と、
前記端末装置計測部によって計測された端末装置遅延時間と前記通知フレームとに基づいて前記マスタ装置と同期する時刻を端末装置時刻として算出し、算出した端末装置時刻を内部時計に設定する端末装置同期部とを備える
ことを特徴とする請求項３記載の同期システム。
【請求項５】
前記端末装置同期部は、
前記通知フレームに含まれるマスタ装置伝播時間から前記端末装置遅延時間を減算し、減算して得られた時間を半分にした時間を通知伝播時間として算出し、
算出した通知伝播時間と前記通知フレームに含まれる通知中継準備時間とを前記通知フレームに含まれる基準時刻に加算した時刻を前記端末装置時刻として算出する
ことを特徴とする請求項４記載の同期システム。
【請求項６】
端末装置と、前記端末装置に計測フレームを送信して前記端末装置から計測応答フレームを受信するマスタ装置と、前記マスタ装置と前記端末装置との間で通信される前記計測フレームと前記計測応答フレームとを所定の中継準備処理後に中継する１台以上の中継装置とを備える同期システムの同期方法において、
前記マスタ装置は、
前記計測フレームを送信すると共に、各中継装置が前記計測フレームの中継準備処理と前記計測応答フレームの中継準備処理とに要した中継準備時間を表す中継準備時間情報を含んだ計測応答フレームを受信し、
前記計測フレームを送信してから前記計測応答フレームを受信するまでの時間をマスタ装置通信時間として計測し、
前記マスタ装置通信時間と前記計測応答フレームに含まれる前記中継準備時間情報とに基づいて前記マスタ装置通信時間から前記マスタ装置通信時間に含まれる中継準備時間を除いた時間をマスタ装置伝播時間として算出し、
現在時刻を基準時刻として含むと共に前記マスタ装置伝播時間を含む通知フレームを生成し、
前記通知フレームを前記端末装置へ送信し、
各中継装置は、
前記計測フレームと前記計測応答フレームと前記通知フレームとを送受信し、
前記計測フレームを受信してから前記計測応答フレームを送信するまでの時間を中継装置通信時間として計測し、
前記中継装置通信時間と前記計測応答フレームに含まれる中継準備時間情報とに基づいて前記中継装置通信時間から前記中継装置通信時間に含まれる中継準備時間を除いた時間を中継装置伝播時間として算出し、算出した中継装置伝播時間と前記通知フレームに含まれるマスタ装置伝播時間とに基づいて前記マスタ装置が前記通知フレームを送信してから自中継装置が前記通知フレームを受信するまでに要する時間を通知伝播時間として算出し、算出した通知伝播時間と前記通知フレームに含まれる基準時刻とに基づいて前記基準時刻から前記通知伝播時間が経過した時刻を同期時刻として算出し、算出した同期時刻を内部時計に設定する
ことを特徴とする同期システムの同期方法。
【請求項７】
端末装置と、マスタ装置と、前記マスタ装置と前記端末装置との間で通信されるフレームを所定の中継処理によって中継する１台以上の中継装置とを備える同期システムにおいて、
前記マスタ装置は、
所定の計測フレームを送信し、前記端末装置から送信される計測応答フレームを受信するマスタ装置通信部と、
前記マスタ装置通信部が前記計測フレームを送信してから前記マスタ装置通信部が前記計測応答フレームを受信するまでの時間をマスタ装置通信時間として計測するマスタ装置計測部とを備え、
前記マスタ装置通信部は、所定の通知フレームを送信し、前記端末装置から送信される計測補助フレームであって各中継装置が前記計測フレームの中継処理と前記計測応答フレームの中継処理とに要した中継処理時間を表す中継処理時間情報を含んだ計測補助フレームを受信し、
前記マスタ装置は、さらに、
前記計測補助フレームに含まれる中継処理時間情報と前記マスタ装置計測部によって計測されたマスタ装置通信時間とに基づいて前記マスタ装置通信時間から前記マスタ装置通信時間に含まれる中継処理時間を除いた時間をマスタ装置伝播時間として算出するマスタ装置算出部と、
前記マスタ装置通信部が前記通知フレームを送信した時刻をマスタ装置時刻として含むと共に前記マスタ装置算出部によって算出されたマスタ装置伝播時間を含む通知補助フレームを生成するマスタ装置フレーム生成部とを備え、
前記マスタ装置通信部は、前記マスタ装置フレーム生成部によって生成された通知補助フレームを送信し、
各中継装置は、
前記計測フレームと前記計測応答フレームと前記通知フレームと前記計測補助フレームと前記通知補助フレームとを送受信する中継装置通信部と、
前記中継装置通信部が前記計測フレームを受信してから前記中継装置通信部が前記計測応答フレームを送信するまでの時間を中継装置通信時間として計測する中継装置計測部と、
前記中継装置計測部によって計測された中継装置通信時間と前記計測補助フレームに含まれる中継処理時間情報とに基づいて前記中継装置通信時間から前記中継装置通信時間に含まれる中継処理時間を除いた時間を中継装置伝播時間として算出し、算出した中継装置伝播時間と前記通知補助フレームに含まれるマスタ装置伝播時間とに基づいて前記マスタ装置が前記通知フレームを送信してから前記中継装置通信部が前記通知フレームを受信するまでに要する時間を通知伝播時間として算出し、算出した通知伝播時間と前記通知補助フレームに含まれるマスタ装置時刻と前記中継装置通信部が前記通知フレームを受信した中継装置時刻とに基づいて前記マスタ装置との時刻差を補正時間として算出し、算出した補正時間だけ内部時計の時刻を変更する中継装置同期部とを備える
ことを特徴とする同期システム。
【請求項８】
前記計測補助フレームは、前記計測フレームの中継処理と前記計測応答フレームの中継処理とに要した中継処理時間の合計値を示す往復中継処理時間を前記中継処理時間情報として含み、
前記マスタ装置は、さらに、
前記マスタ装置通信部が前記通知フレームを送信した時刻を前記マスタ装置時刻として記憶するマスタ装置時刻記憶部を備え、
各中継装置の中継装置計測部は、前記中継装置通信部が前記計測フレームを受信してから前記計測フレームを送信するまでの時間を前記計測フレームの中継処理時間として計測し、前記中継装置通信部が前記計測応答フレームを受信してから前記計測応答フレームを送信するまでの時間を前記計測応答フレームの中継処理時間として計測し、前記中継装置通信部が前記通知フレームを受信してから前記通知フレームを送信するまでの時間を前記通知フレームの中継処理時間として計測し、
各中継装置は、さらに、
前記中継装置計測部によって計測された前記計測フレームの中継処理時間と前記計測応答フレームの中継処理時間と前記通知フレームの中継処理時間とを記憶する個別中継処理時間記憶部と、
前記中継装置通信部が前記通知フレームを受信した時刻を前記中継装置時刻として記憶する中継装置時刻記憶部とを備え、
前記端末装置は、
前記往復中継処理時間として初期値「０」を設定して前記計測補助フレームを生成する端末装置フレーム生成部と、
前記端末装置フレーム生成部によって生成された計測補助フレームを送信する端末装置通信部とを備え、
各中継装置は、さらに、
前記中継装置通信部によって受信された計測補助フレームと前記個別中継処理時間記憶部とに基づいて前記往復中継処理時間と前記計測フレームの中継処理時間と前記計測応答フレームの中継処理時間とを合計した時間を新たな往復中継処理時間として算出する中継装置算出部と、
前記中継装置算出部によって算出された新たな往復中継処理時間を記憶する往復中継処理時間記憶部と、
前記中継装置算出部によって算出された新たな往復中継処理時間に基づいて前記計測補助フレームに含まれる往復中継処理時間を新たな往復中継処理時間に更新する中継装置フレーム更新部とを備え、
前記中継装置通信部は、前記中継装置フレーム更新部によって更新された計測補助フレームを送信し、
前記マスタ装置のマスタ装置算出部は、前記マスタ装置計測部によって計測されたマスタ装置通信時間と前記マスタ装置通信部によって受信された計測補助フレームとに基づいて前記マスタ装置通信時間から前記計測補助フレームに含まれる往復中継処理時間を減算した時間を前記マスタ装置伝播時間として算出し、
前記マスタ装置フレーム生成部は、前記マスタ装置時刻記憶部に記憶されたマスタ装置時刻を設定すると共に初期値「０」を通知中継処理時間として設定して前記通知補助フレームを生成し、
前記マスタ装置通信部は、前記マスタ装置フレーム生成部によって生成された通知補助フレームを送信し、
各中継装置の中継装置算出部は、前記中継装置通信部によって受信された通知補助フレームと前記個別中継処理時間記憶部とに基づいて前記通知補助フレームに含まれる通知中継処理時間と前記通知フレームの中継処理時間とを合計した時間を新たな通知中継処理時間として算出し、
前記中継装置フレーム更新部は、前記中継装置算出部によって算出された新たな通知中継処理時間に基づいて前記通知補助フレームに含まれる通知中継処理時間を新たな通知中継処理時間に更新し、
前記中継装置通信部は、前記中継装置フレーム更新部によって更新された通知補助フレームを送信し、
前記中継装置同期部は、前記中継装置計測部によって計測された中継装置通信時間と前記往復中継処理時間記憶部に記憶された往復中継処理時間とに基づいて前記中継装置伝播時間を算出し、算出した中継装置伝播時間と前記通知補助フレームに含まれるマスタ装置時刻と前記中継装置時刻記憶部に記憶された中継装置時刻とに基づいて前記補正時間を算出し、算出した補正時間だけ内部時計の時刻を変更する
ことを特徴とする請求項７記載の同期システム。
【請求項９】
前記中継装置同期部は、
前記中継装置通信時間から前記往復中継処理時間を減算した時間を前記中継装置伝播時間として算出し、
算出した中継装置伝播時間を前記通知補助フレームに含まれるマスタ装置伝播時間から減算し、減算して得られた時間を半分にした時間を前記通知伝播時間として算出し、
前記通知補助フレームに含まれるマスタ装置時刻と前記中継装置時刻記憶部に記憶された中継装置時刻との時刻差を誤差時間として算出し、
算出した誤差時間に前記通知伝播時間と前記通知補助フレームに含まれる通知中継処理時間とを加算した時間を補正時間として算出する
ことを特徴とする請求項８記載の同期システム。
【請求項１０】
前記端末装置は、さらに、
前記端末装置通信部が前記計測フレームを受信してから前記端末装置通信部が前記計測応答フレームを送信するまでの時間を端末装置遅延時間として計測する端末装置計測部と、
前記端末装置通信部が前記通知フレームを受信した時刻を端末装置時刻として記憶する端末装置時刻記憶部とを備え、
前記端末装置計測部によって計測された端末装置遅延時間と前記端末装置時刻記憶部に記憶された端末装置時刻と前記端末装置通信部によって受信される通知補助フレームとに基づいて前記マスタ装置との時刻差を補正時間として算出し、算出した補正時間だけ内部時計の時刻を変更する端末装置同期部とを備える
ことを特徴とする請求項９記載の同期システム。
【請求項１１】
前記端末装置同期部は、
前記通知補助フレームに含まれるマスタ装置伝播時間から前記端末装置遅延時間を減算し、減算して得られた時間を半分にした時間を通知伝播時間として算出し、
前記通知補助フレームに含まれるマスタ装置時刻と前記端末装置時刻記憶部に記憶された端末装置時刻との時刻差を誤差時間として算出し、
算出した誤差時間に前記通知伝播時間と前記通知補助フレームに含まれる通知中継処理時間とを加算した時間を補正時間として算出する
ことを特徴とする請求項１０記載の同期システム。
【請求項１２】
端末装置と、マスタ装置と、前記マスタ装置と前記端末装置との間で通信されるフレームを所定の中継処理によって中継する１台以上の中継装置とを備える同期システムの同期方法において、
前記マスタ装置は、
所定の計測フレームを送信し、前記端末装置から送信される計測応答フレームを受信し、
前記計測フレームを送信してから前記計測応答フレームを受信するまでの時間をマスタ装置通信時間として計測し、
所定の通知フレームを送信し、前記端末装置から送信される計測補助フレームであって各中継装置が前記計測フレームの中継処理と前記計測応答フレームの中継処理とに要した中継処理時間を表す中継処理時間情報を含んだ計測補助フレームを受信し、
前記計測補助フレームに含まれる中継処理時間情報と計測された前記マスタ装置通信時間とに基づいて前記マスタ装置通信時間から前記マスタ装置通信時間に含まれる中継処理時間を除いた時間をマスタ装置伝播時間として算出し、
前記通知フレームを送信した時刻をマスタ装置時刻として含むと共に前記マスタ装置伝播時間を含む通知補助フレームを生成し、
前記通知補助フレームを送信し、
各中継装置は、
前記計測フレームと前記計測応答フレームと前記通知フレームと前記計測補助フレームと前記通知補助フレームとを送受信し、
前記計測フレームを受信してから前記計測応答フレームを送信するまでの時間を中継装置通信時間として計測し、
計測された中継装置通信時間と前記計測補助フレームに含まれる中継処理時間情報とに基づいて前記中継装置通信時間から前記中継装置通信時間に含まれる中継処理時間を除いた時間を中継装置伝播時間として算出し、算出した中継装置伝播時間と前記通知補助フレームに含まれるマスタ装置伝播時間とに基づいて前記マスタ装置が前記通知フレームを送信してから自中継装置が前記通知フレームを受信するまでに要する時間を通知伝播時間として算出し、算出した通知伝播時間と前記通知補助フレームに含まれるマスタ装置時刻と前記通知フレームを受信した中継装置時刻とに基づいて前記マスタ装置との時刻差を補正時間として算出し、算出した補正時間だけ内部時計の時刻を変更する
ことを特徴とする同期システムの同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、マスタ装置の時刻とスレーブ装置の時刻とを同期する同期システムおよび同期システムの同期方法に関するものである。
【背景技術】
【０００２】
従来の同期方式は、マスタ装置とスレーブ装置との間に中継装置（例えばハブやルータ）が接続された構成を前提としてネットワークの対称性を仮定し、時刻同期を実現していた。
ネットワークの対称性とは、中継装置がフレームを中継する場合に必要となる処理時間が、スレーブ装置からマスタ装置への通信とマスタ装置からスレーブ装置への通信とで等しい、つまり、往復の通信時間が等しい、ことを意味する。
【０００３】
従来の同期方式は、ネットワークの対称性が保証されている場合に正確な同期を実現できる。しかし、実際の運用上、ネットワークの負荷等によってはネットワークの対称性が保証されない場合もある。このため、実際には従来の同期方式では正確な同期を実現できない。
【０００４】
この課題を解決する同期方式として、中継装置の処理時間を計測し、その計測結果を利用する同期方式がある（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−６２７２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した同期方式は、マスタ装置とスレーブ装置とが１対１で同期することを前提としているため、マスタ装置とスレーブ装置とが１対多で同期するような方式として利用することができない。
【０００７】
本発明は、例えば、ネットワークの対称性が崩れてもマスタ装置とスレーブ装置とが１対多で高精度に同期できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の同期システムは、端末装置と、前記端末装置に計測フレームを送信して前記端末装置から計測応答フレームを受信するマスタ装置と、前記マスタ装置と前記端末装置との間で通信される前記計測フレームと前記計測応答フレームとを所定の中継準備処理後に中継する１台以上の中継装置とを備える。
前記マスタ装置は、
前記計測フレームを送信すると共に、各中継装置が前記計測フレームの中継準備処理と前記計測応答フレームの中継準備処理とに要した中継準備時間を表す中継準備時間情報を含んだ計測応答フレームを受信するマスタ装置通信部と、
前記マスタ装置通信部が前記計測フレームを送信してから前記マスタ装置通信部が前記計測応答フレームを受信するまでの時間をマスタ装置通信時間として計測するマスタ装置計測部と、
前記マスタ装置計測部によって計測されたマスタ装置通信時間と前記計測応答フレームに含まれる前記中継準備時間情報とに基づいて前記マスタ装置通信時間から前記マスタ装置通信時間に含まれる中継準備時間を除いた時間をマスタ装置伝播時間として算出するマスタ装置算出部と、
現在時刻を基準時刻として含むと共に前記マスタ装置算出部によって算出されたマスタ装置伝播時間を含む通知フレームを生成するマスタ装置フレーム生成部とを備える。
前記マスタ装置通信部は、前記マスタ装置フレーム生成部によって生成された通知フレームを前記端末装置へ送信する。
各中継装置は、
前記計測フレームと前記計測応答フレームと前記通知フレームとを送受信する中継装置通信部と、
前記中継装置通信部が前記計測フレームを受信してから前記中継装置通信部が前記計測応答フレームを送信するまでの時間を中継装置通信時間として計測する中継装置計測部と、
前記中継装置計測部によって計測された中継装置通信時間と前記計測応答フレームに含まれる中継準備時間情報とに基づいて前記中継装置通信時間から前記中継装置通信時間に含まれる中継準備時間を除いた時間を中継装置伝播時間として算出し、算出した中継装置伝播時間と前記通知フレームに含まれるマスタ装置伝播時間とに基づいて前記マスタ装置が前記通知フレームを送信してから前記中継装置通信部が前記通知フレームを受信するまでに要する時間を通知伝播時間として算出し、算出した通知伝播時間と前記通知フレームに含まれる基準時刻とに基づいて前記基準時刻から前記通知伝播時間が経過した時刻を同期時刻として算出し、算出した同期時刻を内部時計に設定する中継装置同期部とを備える。
【発明の効果】
【０００９】
本発明によれば、例えば、ネットワークの対称性が崩れてもマスタ装置とスレーブ装置（中継装置）とが１対多で高精度に同期できる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１における同期システム１００の構成図。
【図２】実施の形態１における通信フレームのフォーマットを示す図。
【図３】実施の形態１におけるマスタ装置２００の機能構成図。
【図４】実施の形態１におけるスレーブ装置３００の機能構成図。
【図５】実施の形態１における同期システム１００の同期方法を示すフローチャート。
【図６】実施の形態１における同期システム１００の処理の具体例を示すシーケンス図。
【図７】実施の形態１における同期システム１００で記憶する計測時間の具体例を示す一覧表。
【図８】実施の形態１におけるマスタ装置２００およびスレーブ装置３００のハードウェア資源の一例を示す図。
【図９】実施の形態２における同期システム１００の構成図。
【図１０】実施の形態３における通信フレームのフォーマットを示す図。
【図１１】実施の形態３におけるマスタ装置２００の機能構成図。
【図１２】実施の形態３におけるスレーブ装置３００の機能構成図。
【図１３】実施の形態３における同期システム１００の同期方法を示すフローチャート。
【図１４】実施の形態３における同期システム１００の処理の具体例を示すシーケンス図。
【図１５】実施の形態３における同期システム１００の処理の具体例を示すシーケンス図。
【図１６】実施の形態３における同期システム１００で記憶する計測時間の具体例を示す一覧表。
【図１７】実施の形態３における同期処理の一例を示す図である。
【図１８】実施の形態３における同期処理の一例を示す図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
マスタ装置と複数台のスレーブ装置とを同期する同期システムについて説明する。
【００１２】
図１は、実施の形態１における同期システム１００の構成図である。
実施の形態１における同期システム１００の構成について、図１に基づいて説明する。
【００１３】
同期システム１００は、１台のマスタ装置と３台のスレーブ装置Ａ・Ｂ・Ｃとを備える。
マスタ装置は一つ以上の通信ポート１０１を持ち、スレーブ装置Ａ・Ｂ・Ｃは二つ以上の通信ポート１０１を持ち、各通信ポート１０１には通信ケーブル１０２が接続される。
つまり、マスタ装置とスレーブ装置Ａ・Ｂ・Ｃとは通信ケーブル１０２を用いてデイジーチェーン方式で接続されている。
【００１４】
マスタ装置とスレーブ装置Ａ・Ｂ・Ｃとは、後述する計測フレーム１１１、計測応答フレーム１１２および通知フレーム１１３を通信して時刻を同期させる。
【００１５】
以下、マスタ装置を「マスタ装置２００」と記し、末端に接続されたスレーブ装置Ｃを「末端のスレーブ装置３００」と記し、マスタ装置とスレーブ装置Ｃとの間に接続されているスレーブ装置Ａ・Ｂを「中間のスレーブ装置３００」と記す。
【００１６】
図１に示す構成は同期システム１００の構成の一例であり、スレーブ装置３００の台数は２台または４台以上であっても構わない。
また、マスタ装置２００と各スレーブ装置３００との接続形態（トポロジ）は、デイジーチェーン方式によるライン構造以外の接続形態であっても構わない。例えば、ツリー状、スター状またはリング状の接続形態を用いて構わない。
【００１７】
図２は、実施の形態１における通信フレームのフォーマットを示す図である。
実施の形態１で通信される計測フレーム１１１、計測応答フレーム１１２および通知フレーム１１３について、図２に基づいて説明する。
【００１８】
計測フレーム１１１は、マスタ装置２００によって生成される。
計測フレーム１１１は、マスタ装置２００によって送信され、中間のスレーブ装置３００によって中継（転送）され、末端のスレーブ装置３００によって受信される。
【００１９】
計測フレーム１１１は、「宛先」「送信元」「フレーム種別」「先行中継時間」を含んだ通信データ（パケットともいう）である。
「宛先」には、末端のスレーブ装置３００Ｃのアドレス情報（例えば、ＩＰアドレス）が設定される。
「送信元」には、マスタ装置２００のアドレス情報が設定される。
「フレーム種別」には、計測フレーム１１１を識別する識別子が設定される。
「先行中継時間」には、計測フレーム１１１を中継するための中継準備処理に要した中継準備時間の合計値（先行中継準備時間）が設定される。以下、計測フレーム１１１に設定された先行中継時間を「ＭＦＰ」と記す。
【００２０】
計測応答フレーム１１２は、末端のスレーブ装置３００によって生成される。
計測応答フレーム１１２は、末端のスレーブ装置３００によって送信され、中間のスレーブ装置３００によって中継され、マスタ装置２００によって受信される。
【００２１】
計測応答フレーム１１２は、「宛先」「送信元」「フレーム種別」「総中継時間」を含んだ通信データである。
「宛先」には、マスタ装置２００のアドレス情報が設定される。
「送信元」には、末端のスレーブ装置３００のアドレス情報が設定される。
「フレーム種別」には、計測応答フレーム１１２を識別する識別子が設定される。
「総中継時間」には、計測フレーム１１１の中継準備処理と計測応答フレーム１１２の中継準備処理とに要した中継準備時間の合計値（総中継準備時間、中継準備時間情報）が設定される。以下、計測応答フレーム１１２に設定された総中継時間を「ＴＰ」と記す。
【００２２】
通知フレーム１１３は、マスタ装置２００によって生成される。
通知フレーム１１３は、マスタ装置２００によって送信され、中間のスレーブ装置３００によって中継され、末端のスレーブ装置３００によって受信される。
【００２３】
通知フレーム１１３は、「宛先」「送信元」「フレーム種別」「基準時刻」「補正後マスタ往復伝播遅延時間」「先行中継時間」を含んだ通信データである。
「宛先」には、末端のスレーブ装置３００のアドレス情報が設定される。
「送信元」には、マスタ装置２００のアドレス情報が設定される。
「フレーム種別」には、通知フレーム１１３を識別する識別子が設定される。
「基準時刻」には、通知フレーム１１３を送信するときの時刻が設定される。以下、通知フレーム１１３に設定された基準時刻を「Ｔｍ」と記す。
「補正後マスタ往復伝播遅延時間」には、マスタ装置２００が計測フレーム１１１を送信してから計測応答フレーム１１２を受信するまでの時間から総中継時間ＴＰを差し引いた時間（マスタ装置伝播時間）が設定される。以下、通知フレーム１１３に設定された補正後マスタ往復伝播遅延時間を「Ｄｍ」と記す。
「先行中継時間」には、通知フレーム１１３の中継準備処理に要した中継準備時間の合計値（通知中継準備時間）が設定される。以下、通知フレーム１１３に設定された先行中継時間を「ＳＦＰ」と記す。
【００２４】
図３は、実施の形態１におけるマスタ装置２００の機能構成図である。
実施の形態１におけるマスタ装置２００の機能構成について、図３に基づいて説明する。
【００２５】
マスタ装置２００は、マスタ装置通信部２１０、マスタ装置フレーム生成部２２０、マスタ装置算出部２３０、マスタ装置計測部２４０およびマスタ装置記憶部２９０を備える。
【００２６】
マスタ装置通信部２１０は、マスタ装置２００の通信処理（マスタ装置通信処理）を行う。
例えば、マスタ装置通信部２１０は計測フレーム１１１を送信し、計測応答フレーム１１２を受信し、通知フレーム１１３を送信する。
【００２７】
マスタ装置計測部２４０は各種の時間を計測する（マスタ装置計測処理）。
例えば、マスタ装置計測部２４０は、マスタ装置通信部２１０が計測フレーム１１１を送信してからマスタ装置通信部２１０が計測応答フレーム１１２を受信するまでの時間を計測する。以下、この計測時間を「マスタ往復伝播遅延時間Ｄｍ’」（マスタ装置通信時間）という。
【００２８】
マスタ装置算出部２３０は各種の時間を算出する（マスタ装置算出処理）。
例えば、マスタ装置算出部２３０は、マスタ装置計測部２４０によって計測されたマスタ往復伝播遅延時間Ｄｍ’と計測応答フレーム１１２に含まれる総中継時間ＴＰ（中継準備時間情報、総中継準備時間）とに基づいて「補正後マスタ往復伝播遅延時間Ｄｍ」（マスタ装置伝播時間）を算出する。補正後マスタ往復伝播遅延時間Ｄｍは、マスタ往復伝播遅延時間Ｄｍ’からマスタ往復伝播遅延時間Ｄｍ’に含まれる総中継時間ＴＰを除いた時間である。
【００２９】
マスタ装置フレーム生成部２２０は、計測フレーム１１１と通知フレーム１１３とを生成する（マスタ装置フレーム生成処理）。
例えば、マスタ装置フレーム生成部２２０は、現在時刻を基準時刻Ｔｍとして含むと共にマスタ装置算出部２３０によって算出された補正後マスタ往復伝播遅延時間Ｄｍを含む通知フレーム１１３を生成する。
【００３０】
マスタ装置記憶部２９０は、マスタ装置２００が使用するデータを記憶する。
計測フレーム１１１、計測応答フレーム１１２および通知フレーム１１３は、マスタ装置記憶部２９０に記憶されるデータの一例である。
マスタ往復伝播遅延時間Ｄｍ’および補正後マスタ往復伝播遅延時間Ｄｍは、マスタ装置記憶部２９０に記憶されるデータの一例である。
【００３１】
図４は、実施の形態１におけるスレーブ装置３００の機能構成図である。
実施の形態１におけるスレーブ装置３００の機能構成について、図４に基づいて説明する。
【００３２】
中間のスレーブ装置３００（中継装置の一例）と末端のスレーブ装置３００（端末装置の一例）とは、スレーブ装置通信部３１０、スレーブ装置フレーム処理部３２０、スレーブ装置算出部３３０、スレーブ装置計測部３４０およびスレーブ装置同期部３５０を備える。
また、各スレーブ装置３００は、スレーブ装置記憶部３９０を備える。
【００３３】
スレーブ装置通信部３１０は、スレーブ装置３００の通信処理（中継装置通信処理、端末装置通信処理）を行う。
例えば、中間のスレーブ装置３００のスレーブ装置通信部３１０（中継装置通信部の一例）は、計測フレーム１１１と計測応答フレーム１１２と通知フレーム１１３とを送受信する。
末端のスレーブ装置３００のスレーブ装置通信部３１０（端末装置通信部の一例）は、計測フレーム１１１を受信し、計測応答フレーム１１２を送信し、通知フレーム１１３を受信する。
【００３４】
スレーブ装置計測部３４０は、各種の時間を計測する（中継装置計測処理、端末装置計測処理）。
【００３５】
例えば、中間のスレーブ装置３００のスレーブ装置計測部３４０（中継装置計測部の一例）は、スレーブ往復伝播遅延時間Ｄｓ’を計測する。
また、スレーブ装置計測部３４０は計測フレーム１１１の中継準備時間、計測応答フレーム１１２の中継準備時間および通知フレーム１１３の中継準備時間を計測する。
スレーブ往復伝播遅延時間Ｄｓ’（中継装置通信時間）は、スレーブ装置通信部３１０が計測フレーム１１１を受信してからスレーブ装置通信部３１０が計測応答フレーム１１２を送信するまでの時間である。
計測フレーム１１１の中継準備時間は、スレーブ装置通信部３１０が計測フレーム１１１を受信してから計測フレーム１１１の中継準備処理が終了するまでの時間である。
計測応答フレーム１１２の中継準備時間は、スレーブ装置通信部３１０が計測応答フレーム１１２を受信してから計測応答フレーム１１２の中継準備処理が終了するまでの時間である。
通知フレーム１１３の中継準備時間は、スレーブ装置通信部３１０が通知フレーム１１３を受信してから通知フレーム１１３の中継準備処理が終了するまでの時間である。
【００３６】
例えば、末端のスレーブ装置３００のスレーブ装置計測部３４０（端末装置計測部の一例）は、スレーブ往復伝播遅延時間Ｄｓ’を計測する。
スレーブ往復伝播遅延時間Ｄｓ’（端末装置遅延時間）は、スレーブ装置通信部３１０が計測フレーム１１１を受信してからスレーブ装置通信部３１０が計測応答フレーム１１２を送信するまでの時間である。
【００３７】
スレーブ装置算出部３３０は、各種の時間を算出する（中継装置算出処理）。
例えば、中間のスレーブ装置３００のスレーブ装置算出部３３０（中継装置算出部の一例）は、新たな先行中継時間ＭＦＰ、新たな総中継時間ＴＰおよび新たな先行中継時間ＳＦＰを算出する。
新たな先行中継時間ＭＦＰは、スレーブ装置計測部３４０によって計測された計測フレーム１１１の中継準備時間と計測フレーム１１１に含まれる先行中継時間ＭＦＰ（先行中継準備時間）とを合計した時間である。
新たな総中継時間ＴＰは、スレーブ装置計測部３４０によって計測された計測応答フレーム１１２の中継準備時間と計測応答フレーム１１２に含まれる総中継時間ＴＰ（総中継準備時間）とを合計した時間である。
新たな先行中継時間ＳＦＰは、スレーブ装置計測部３４０によって計測された通知フレーム１１３の中継準備時間と通知フレーム１１３に含まれる先行中継時間ＳＦＰ（通知中継準備時間）とを合計した時間である。
【００３８】
スレーブ装置フレーム処理部３２０は、各種のフレーム処理（中継装置フレーム更新処理、端末装置フレーム生成処理）を行う。
【００３９】
例えば、中間のスレーブ装置３００のスレーブ装置フレーム処理部３２０（中継装置フレーム更新部の一例）は、計測フレーム１１１に含まれる先行中継時間ＭＦＰを新たな先行中継時間ＭＦＰに更新する。
また、スレーブ装置フレーム処理部３２０は、計測応答フレーム１１２に含まれる総中継時間ＴＰを新たな総中継時間ＴＰに更新する。
また、スレーブ装置フレーム処理部３２０は、通知フレーム１１３に含まれる先行中継時間ＳＦＰを新たな先行中継時間ＳＦＰに更新する。
【００４０】
例えば、末端のスレーブ装置３００のスレーブ装置フレーム処理部３２０（端末装置フレーム生成部の一例）は、スレーブ装置通信部３１０によって受信された計測フレーム１１１に基づいて計測フレーム１１１に含まれる先行中継時間ＭＦＰを総中継時間ＴＰとして設定して計測応答フレーム１１２を生成する。
【００４１】
スレーブ装置同期部３５０は、スレーブ装置３００の内部時計（図示省略）の時刻をマスタ装置２００の内部時計の時刻に同期させる同期処理（中継装置同期処理、端末装置同期処理）を行う。
【００４２】
例えば、中間のスレーブ装置３００のスレーブ装置同期部３５０（中継装置同期部の一例）は、以下のように同期処理を行う。
スレーブ装置同期部３５０は、スレーブ装置計測部３４０によって計測されたスレーブ往復伝播遅延時間Ｄｓ’と計測応答フレーム１１２に含まれる総中継時間ＴＰ（総中継準備時間、中継準備時間情報）とに基づいて補正後スレーブ往復伝播遅延時間Ｄｓ（中継装置伝播時間）を算出する。補正後スレーブ往復伝播遅延時間Ｄｓは、スレーブ往復伝播遅延時間Ｄｓ’からスレーブ往復伝播遅延時間Ｄｓ’に含まれる中継準備時間を除いた時間である。
スレーブ装置同期部３５０は、補正後スレーブ往復伝播遅延時間Ｄｓと通知フレーム１１３に含まれる補正後マスタ往復伝播遅延時間Ｄｍ（マスタ装置伝播時間）とに基づいて通知伝播時間を算出する。通知伝播時間は、マスタ装置２００が通知フレーム１１３を送信してからマスタ装置通信部２１０が通知フレーム１１３を受信するまでに要する時間である。
スレーブ装置同期部３５０は、通知伝播時間と通知フレーム１１３に含まれる基準時刻Ｔｍとに基づいて基準時刻Ｔｍから通知伝播時間が経過した時刻を補正値Ａｓ（同期時刻）として算出する。
スレーブ装置同期部３５０は、補正値Ａｓを内部時計に設定する。
【００４３】
例えば、スレーブ装置同期部３５０は、以下のように補正値Ａｓを算出する。
スレーブ装置同期部３５０は、総中継時間ＴＰから先行中継時間ＭＦＰを減算した時間を往復中継準備時間として算出する。
スレーブ装置同期部３５０は、算出した往復中継準備時間をスレーブ往復伝播遅延時間Ｄｓ’から減算した時間を補正後スレーブ往復伝播遅延時間Ｄｓとして算出する。
スレーブ装置同期部３５０は、算出した補正後スレーブ往復伝播遅延時間Ｄｓを通知フレーム１１３に含まれる補正後マスタ往復伝播遅延時間Ｄｍから減算する。スレーブ装置同期部３５０は減算して得られた時間を半分にした時間を通知伝播時間として算出する。
スレーブ装置同期部３５０は、算出した通知伝播時間と通知フレーム１１３に含まれる先行中継時間ＳＦＰとを通知フレーム１１３に含まれる基準時刻Ｔｍに加算した時刻を補正値Ａｓとして算出する。
【００４４】
例えば、末端のスレーブ装置３００のスレーブ装置同期部３５０（端末装置同期部の一例）は、以下のように同期処理を行う。
スレーブ装置同期部３５０は、スレーブ装置計測部３４０によって計測されたスレーブ往復伝播遅延時間Ｄｓ’と通知フレーム１１３とに基づいてマスタ装置２００と同期する時刻を補正値Ａｓ（端末装置時刻）として算出する。
スレーブ装置同期部３５０は、算出した補正値Ａｓを内部時計に設定する。
【００４５】
例えば、スレーブ装置同期部３５０は、以下のように補正値Ａｓを算出する。
スレーブ装置同期部３５０は、通知フレーム１１３に含まれる補正後マスタ往復伝播遅延時間Ｄｍからスレーブ往復伝播遅延時間Ｄｓ’を減算し、減算して得られた時間を半分にした時間を通知伝播時間として算出する。
スレーブ装置同期部３５０は、算出した通知伝播時間と通知フレーム１１３に含まれる先行中継時間ＳＦＰとを通知フレーム１１３に含まれる基準時刻Ｔｍに加算した時刻を補正値Ａｓとして算出する。
【００４６】
スレーブ装置記憶部３９０は、スレーブ装置３００が使用するデータを記憶する（先行中継準備時間記憶部、総中継準備時間記憶部の一例）。
計測フレーム１１１、計測応答フレーム１１２および通知フレーム１１３は、スレーブ装置記憶部３９０に記憶されるデータの一例である。
スレーブ往復伝播遅延時間Ｄｓ’、補正後スレーブ往復伝播遅延時間Ｄｓ、先行中継時間ＭＦＰ、先行中継時間ＳＦＰおよび総中継時間ＴＰは、スレーブ装置記憶部３９０に記憶されるデータの一例である。
【００４７】
図５は、実施の形態１における同期システム１００の同期方法を示すフローチャートである。
実施の形態１における同期システム１００の同期方法について、図５に基づいて説明する。
【００４８】
まず、同期システム１００の同期方法の概要について説明する。
【００４９】
マスタ装置２００は、計測フレーム１１１を末端のスレーブ装置３００へ送信する（Ｓ１１０）。
中間のスレーブ装置３００は、先行中継時間ＭＦＰを更新して計測フレーム１１１を中継する（Ｓ１２０）。
末端のスレーブ装置３００は、総中継時間ＴＰとして先行中継時間ＭＦＰを計測応答フレーム１１２に設定し、計測応答フレーム１１２をマスタ装置２００へ送信する（Ｓ１３０）。
中間のスレーブ装置３００は、総中継時間ＴＰを更新して計測応答フレーム１１２を中継する（Ｓ１４０）。
マスタ装置２００は計測応答フレーム１１２を受信し、総中継時間ＴＰに基づいて補正後マスタ往復伝搬遅延時間Ｄｍを算出し、補正後マスタ往復伝搬遅延時間Ｄｍを設定した通知フレーム１１３を末端のスレーブ装置３００へ送信する（Ｓ１５０）。
中間のスレーブ装置３００は通知フレーム１１３を受信し、通知フレーム１１３に基づいて同期し、先行中継時間ＳＦＰを更新して通知フレーム１１３を中継する（Ｓ１６０）。
末端のスレーブ装置３００は、通知フレーム１１３に基づいて同期する（Ｓ１７０）。
【００５０】
次に、同期システム１００の同期方法の詳細について説明する。
【００５１】
Ｓ１１０において、マスタ装置２００のマスタ装置フレーム生成部２２０は、末端のスレーブ装置３００を宛先とする計測フレーム１１１（図２参照）を生成する（計測フレーム生成処理）。
このとき、マスタ装置フレーム生成部２２０は、先行中継時間ＭＦＰとして初期値「０」を計測フレーム１１１に設定する。
【００５２】
マスタ装置通信部２１０は、マスタ装置フレーム生成部２２０によって生成された計測フレーム１１１を送信する（計測フレーム送信処理）。
【００５３】
マスタ装置計測部２４０は、マスタ装置通信部２１０が計測フレーム１１１を送信したときにＤｍ’カウンタを起動する。
Ｄｍ’カウンタとは、マスタ往復伝搬遅延時間Ｄｍ’を計測するためのカウンタ（またはタイマ、以下同様）である。カウンタとは、時間を計測する機能（またはハードウェア）である。
Ｓ１１０の後、Ｓ１２０に進む。
【００５４】
Ｓ１２０において、中間のスレーブ装置３００のスレーブ装置通信部３１０は計測フレーム１１１を受信する（計測フレーム受信処理）。
【００５５】
スレーブ装置計測部３４０は、スレーブ装置通信部３１０が計測フレーム１１１を受信した場合、Ｄｓ’カウンタとＭＲＴカウンタとを起動する。
Ｄｓ’カウンタとは、スレーブ往復伝搬遅延時間Ｄｓ’を計測するためのカウンタである。
ＭＲＴカウンタとは、計測フレーム１１１の中継準備処理に要した時間（中継準備時間）を計測するためのカウンタである。
【００５６】
スレーブ装置フレーム処理部３２０は、計測フレーム１１１の中継準備処理として、例えば以下のような処理を実行する。
スレーブ装置フレーム処理部３２０は、計測フレーム１１１を処理することができるタイミングまで待機する。例えば、スレーブ装置フレーム処理部３２０は、計測フレーム１１１より優先度が高い割込みフレームが発生した場合、割込みフレームに対する処理が終了するまで待機する。
スレーブ装置フレーム処理部３２０は、計測フレーム１１１の処理タイミングになった場合、計測フレーム１１１を送信するために必要な処理のうち先行中継時間ＭＦＰを更新する処理を除いた残りの処理を実行する。
スレーブ装置フレーム処理部３２０は、計測フレーム１１１に設定されている先行中継時間ＭＦＰをスレーブ装置記憶部３９０に記憶する（先行中継準備時間記憶処理）。
【００５７】
スレーブ装置計測部３４０は、スレーブ装置フレーム処理部３２０による計測フレーム１１１の中継準備処理が終了したときにＭＲＴカウンタを停止する（中継準備時間計測処理）。
【００５８】
スレーブ装置フレーム処理部３２０は、計測フレーム１１１に設定されている先行中継時間ＭＦＰにＭＲＴカウンタによって計測された中継準備時間を加算した合計時間を新たな先行中継時間ＭＦＰとして算出する。
そして、スレーブ装置フレーム処理部３２０は、計測フレーム１１１に設定されている先行中継時間ＭＦＰを新たな先行中継時間ＭＦＰに更新する（計測フレーム更新処理）。
【００５９】
スレーブ装置通信部３１０は、スレーブ装置フレーム処理部３２０によって更新された計測フレーム１１１を送信する（計測フレーム送信処理）。
Ｓ１２０の後、Ｓ１３０に進む。
【００６０】
Ｓ１３０において、末端のスレーブ装置３００のスレーブ装置通信部３１０は計測フレーム１１１を受信する（計測フレーム受信処理）。
【００６１】
スレーブ装置計測部３４０は、スレーブ装置通信部３１０が計測フレーム１１１を受信した場合、Ｄｓ’カウンタを起動する。
【００６２】
スレーブ装置フレーム処理部３２０は、計測フレーム１１１を処理することができるタイミングまで待機する。
スレーブ装置フレーム処理部３２０は、計測フレーム１１１の処理タイミングになった場合、計測フレーム１１１に設定されている先行中継時間ＭＦＰをスレーブ装置記憶部３９０に記憶する。
さらに、スレーブ装置フレーム処理部３２０は、マスタ装置２００を宛先とする計測応答フレーム１１２（図２参照）を生成する。このとき、スレーブ装置フレーム処理部３２０は、計測フレーム１１１に設定されている先行中継時間ＭＦＰを総中継時間ＴＰとして計測応答フレーム１１２に設定する。
【００６３】
スレーブ装置通信部３１０は、スレーブ装置フレーム処理部３２０によって生成された計測応答フレーム１１２を送信する（計測応答フレーム送信処理）。
【００６４】
スレーブ装置計測部３４０は、スレーブ装置フレーム処理部３２０が計測応答フレーム１１２を生成したときに（またはスレーブ装置通信部３１０が計測応答フレーム１１２を送信したときに）、Ｄｓ’カウンタを停止する。
そして、スレーブ装置計測部３４０は、Ｄｓ’カウンタによって計測されたスレーブ往復伝搬遅延時間Ｄｓ’をスレーブ装置記憶部３９０に記憶する。
Ｓ１３０の後、Ｓ１４０に進む。
【００６５】
Ｓ１４０において、中間のスレーブ装置３００のスレーブ装置通信部３１０は計測応答フレーム１１２を受信する（計測応答フレーム受信処理）。
【００６６】
スレーブ装置計測部３４０は、スレーブ装置通信部３１０が計測応答フレーム１１２を受信した場合、ＲＲＴカウンタを起動する。
ＲＲＴカウンタとは、計測応答フレーム１１２の中継準備処理に要した時間（中継準備時間）を計測するためのカウンタである。
【００６７】
スレーブ装置フレーム処理部３２０は、計測応答フレーム１１２の中継準備処理として、例えば以下のような処理を実行する。
スレーブ装置フレーム処理部３２０は、計測応答フレーム１１２を処理することができるタイミングまで待機する。
スレーブ装置フレーム処理部３２０は、計測応答フレーム１１２の処理タイミングになった場合、計測応答フレーム１１２を送信するために必要な処理のうち総中継時間ＴＰを更新する処理を除いた残りの処理を実行する。
さらに、スレーブ装置フレーム処理部３２０は、計測応答フレーム１１２に設定されている総中継時間ＴＰをスレーブ装置記憶部３９０に記憶する（総中継準備時間記憶処理）。
【００６８】
スレーブ装置計測部３４０は、スレーブ装置フレーム処理部３２０による計測応答フレーム１１２の中継準備処理が終了したときにＲＲＴカウンタを停止する（中継準備時間計測処理）。
【００６９】
スレーブ装置フレーム処理部３２０は、計測応答フレーム１１２に設定されている総中継時間ＴＰにＲＲＴカウンタによって計測された中継準備時間を加算した合計時間を新たな総中継時間ＴＰとして算出する。
そして、スレーブ装置フレーム処理部３２０は、計測応答フレーム１１２に設定されている総中継時間ＴＰを新たな総中継時間ＴＰに更新する（計測応答フレーム更新処理）。
【００７０】
スレーブ装置通信部３１０は、スレーブ装置フレーム処理部３２０によって更新された計測応答フレーム１１２を送信する（計測応答フレーム送信処理）。
【００７１】
スレーブ装置計測部３４０は、スレーブ装置フレーム処理部３２０による計測応答フレーム１１２の中継準備処理が終了した場合（またはスレーブ装置通信部３１０が計測応答フレーム１１２を送信した場合）、計測フレーム１１１を受信したとき（Ｓ１２０）に起動したＤｓ’カウンタを停止する（中継装置通信時間計測処理）。
そして、スレーブ装置計測部３４０は、Ｄｓ’カウンタによって計測されたスレーブ往復伝搬遅延時間Ｄｓ’をスレーブ装置記憶部３９０に記憶する。
Ｓ１４０の後、Ｓ１５０に進む。
【００７２】
Ｓ１５０において、マスタ装置２００のマスタ装置通信部２１０は計測応答フレーム１１２を受信する（計測応答フレーム受信処理）。
【００７３】
マスタ装置計測部２４０は、マスタ装置通信部２１０が計測応答フレーム１１２を受信した場合、計測フレーム１１１を送信したとき（Ｓ１１０）に起動したＤｍ’カウンタを停止する（マスタ装置通信時間計測処理）。
そして、マスタ装置計測部２４０は、Ｄｍ’カウンタによって計測されたマスタ往復伝搬遅延時間Ｄｍ’をマスタ装置記憶部２９０に記憶する。
【００７４】
マスタ装置算出部２３０は、Ｄｍ’カウンタによって計測されたマスタ往復伝搬遅延時間Ｄｍ’とマスタ装置通信部２１０によって受信された計測応答フレーム１１２とに基づいて補正後マスタ往復伝搬遅延時間Ｄｍを算出する。
補正後マスタ往復伝搬遅延時間Ｄｍは、マスタ往復伝搬遅延時間Ｄｍ’から計測応答フレーム１１２内の総中継時間ＴＰを減算した時間である。
以下に、補正後マスタ往復伝搬遅延時間Ｄｍの算出式（１−１）を示す。
【００７５】
【数１】
2012175567.tif 000003
【００７６】
マスタ装置フレーム生成部２２０は、末端のスレーブ装置３００を宛先とする通知フレーム１１３（図２参照）を生成する（通知フレーム生成処理）。
このとき、マスタ装置フレーム生成部２２０は、内部時計から現在時刻を取得し、取得した現在時刻を基準時刻Ｔｍとして通知フレーム１１３に設定する。
また、マスタ装置フレーム生成部２２０は、マスタ装置算出部２３０によって算出された補正後マスタ往復伝搬遅延時間Ｄｍを通知フレーム１１３に設定する。
また、マスタ装置フレーム生成部２２０は、先行中継時間ＳＦＰとして初期値「０」を通知フレーム１１３に設定する。
【００７７】
マスタ装置通信部２１０は、マスタ装置フレーム生成部２２０によって生成された通知フレーム１１３を送信する（通知フレーム送信処理）。
Ｓ１５０の後、Ｓ１６０に進む。
【００７８】
Ｓ１６０において、中間のスレーブ装置３００のスレーブ装置通信部３１０は通知フレーム１１３を受信する（通知フレーム受信処理）。
【００７９】
スレーブ装置同期部３５０は、スレーブ装置通信部３１０が通知フレーム１１３を受信した場合、通知フレーム１１３から基準時刻Ｔｍと補正後マスタ往復伝搬遅延時間Ｄｍと先行中継時間ＳＦＰとを取得する。
さらに、スレーブ装置同期部３５０は、スレーブ装置記憶部３９０から先行中継時間ＭＦＰと総中継時間ＴＰとスレーブ往復伝搬遅延時間Ｄｓ’を取得する。
【００８０】
次に、スレーブ装置同期部３５０は、総中継時間ＴＰから先行中継時間ＭＦＰを減算した時間を往復中継準備時間として算出する。
スレーブ装置同期部３５０は、スレーブ往復伝搬遅延時間Ｄｓ’から往復中継準備時間を減算した時間を補正後スレーブ往復伝搬遅延時間Ｄｓとして算出する。
スレーブ装置同期部３５０は、補正後マスタ往復伝搬遅延時間Ｄｍから補正後スレーブ往復伝搬遅延時間Ｄｓを減算した時間を半分にした時間を通知伝播時間として算出する。
スレーブ装置同期部３５０は、基準時刻Ｔｍから通知伝播時間と先行中継時間ＳＦＰとの合計時間だけ経過後の時刻を補正値Ａｓとして算出する。
【００８１】
そして、スレーブ装置同期部３５０は、算出した補正値Ａｓを現在時刻として内部時計に設定する（同期処理）。
【００８２】
以下に、補正後スレーブ往復伝搬遅延時間Ｄｓの算出式（１−２）と補正値Ａｓの算出式（１−３）とを示す。
【００８３】
【数２】
2012175567.tif 000004
【００８４】
スレーブ装置計測部３４０は、スレーブ装置通信部３１０が通知フレーム１１３を受信した場合、ＮＲＴカウンタを起動する。
ＮＲＴカウンタとは、通知フレーム１１３の中継準備処理に要した時間（中継準備時間）を計測するためのカウンタである。
【００８５】
スレーブ装置フレーム処理部３２０は、通知フレーム１１３の中継準備処理として、例えば以下のような処理を実行する。
スレーブ装置フレーム処理部３２０は、通知フレーム１１３を処理することができるタイミングまで待機する。
スレーブ装置フレーム処理部３２０は、通知フレーム１１３の処理タイミングになった場合、通知フレーム１１３を送信するために必要な処理のうち先行中継時間ＳＦＰを更新する処理を除いた残りの処理を実行する。
【００８６】
スレーブ装置計測部３４０は、スレーブ装置フレーム処理部３２０による通知フレーム１１３の中継準備処理が終了したときにＮＲＴカウンタを停止する（中継準備時間計測処理）。
【００８７】
スレーブ装置フレーム処理部３２０は、通知フレーム１１３に設定されている先行中継時間ＳＦＰにＮＲＴカウンタによって計測された中継準備時間を加算した合計時間を新たな先行中継時間ＳＦＰとして算出する。
そして、スレーブ装置フレーム処理部３２０は、通知フレーム１１３に設定されている先行中継時間ＳＦＰを新たな先行中継時間ＳＦＰに更新する（通知フレーム更新処理）。
【００８８】
スレーブ装置通信部３１０は、スレーブ装置フレーム処理部３２０によって更新された通知フレーム１１３を送信する（通知フレーム送信処理）。
Ｓ１６０の後、Ｓ１７０に進む。
【００８９】
Ｓ１７０において、末端のスレーブ装置３００のスレーブ装置通信部３１０は、通知フレーム１１３を受信する（通知フレーム受信処理）。
【００９０】
スレーブ装置同期部３５０は、スレーブ装置通信部３１０によって受信された通知フレーム１１３に基づいて補正値Ａｓを算出し、算出した補正値Ａｓを現在時刻として内部時計に設定する（同期処理）。
補正値Ａｓの算出方法は、中間のスレーブ装置３００による算出方法と同じである（Ｓ１６０参照）。
Ｓ１７０により、同期システム１００の同期方法の処理は終了する。
【００９１】
上記の同期方法の処理において、各フレームを受信したスレーブ装置３００は、受信したフレームの宛先が自スレーブ装置３００であれば末端のスレーブ装置３００であると判定し、受信したフレームの宛先が自スレーブ装置３００でなければ中間のスレーブ装置３００であると判定する。
また、スレーブ装置３００は、受信したフレームのフレーム種別を参照して計測フレーム１１１と計測応答フレーム１１２と通知フレーム１１３とのいずれのフレームを受信したかを判定する。
【００９２】
図６は、実施の形態１における同期システム１００の処理の具体例を示すシーケンス図である。
図７は、実施の形態１における同期システム１００で記憶する計測時間の具体例を示す一覧表である。
実施の形態１における同期システム１００の処理の具体例について、図６と図７とに基づいて説明する。
【００９３】
図６において、同期システム１００は、マスタ装置と中間のスレーブ装置Ａ・Ｂと末端のスレーブ装置Ｃとを備える。
【００９４】
（１）マスタ装置は、先行中継時間ＭＦＰの初期値「０」を設定した計測フレーム１１１を生成し、生成した計測フレーム１１１を末端のスレーブ装置Ｃ宛てに送信する。
【００９５】
（２）中間のスレーブ装置Ａは、計測フレーム１１１を受信する。
（３）しかし、計測フレーム１１１より優先度が高い割込みフレームが発生したため、スレーブ装置Ａは計測フレーム１１１より先に割込みフレームを処理する。
（４）スレーブ装置Ａは、計測フレーム１１１に設定されている先行中継時間ＭＦＰ「０」を記憶する（図７参照）。
また、スレーブ装置Ａは、計測フレーム１１１を受信してから計測フレーム１１１の中継準備が終了するまでの中継準備時間「α１」を計測する。
そして、スレーブ装置Ａは、中継準備時間「α１」を加算した先行中継時間ＭＦＰ「（０＋）α１」を計測フレーム１１１に設定し、計測フレーム１１１を送信する。
【００９６】
（５）中間のスレーブ装置Ｂは、計測フレーム１１１を受信する。
（６）スレーブ装置Ｂは、計測フレーム１１１に設定されている先行中継時間ＭＦＰ「α１」を記憶する（図７参照）。
また、スレーブ装置Ｂは、計測フレーム１１１を受信してから計測フレーム１１１の中継準備が終了するまでの中継準備時間「α２」を計測する。
そして、スレーブ装置Ｂは、中継準備時間「α２」を加算した先行中継時間ＭＦＰ「α１＋α２」を計測フレーム１１１に設定し、計測フレーム１１１を送信する。
【００９７】
（７）末端のスレーブ装置Ｃは、計測フレーム１１１を受信する。
（８）スレーブ装置Ｃは、計測フレーム１１１に設定されている先行中継時間ＭＦＰ「α１＋α２」を記憶する（図７参照）。
そして、スレーブ装置Ｃは、先行中継時間ＭＦＰ「α１＋α２」を総中継時間ＴＰとして設定した計測応答フレーム１１２を生成し、生成した計測応答フレーム１１２をマスタ装置宛てに送信する。
また、スレーブ装置Ｃは、計測フレーム１１１を受信してから計測応答フレーム１１２を送信するまでの時間「Ｄｓ３’」を計測し、計測した時間「Ｄｓ３’」をマスタ往復伝搬遅延時間Ｄｍ’として記憶する（図７参照）。
【００９８】
（９）中間のスレーブ装置Ｂは、計測応答フレーム１１２を受信する。
（１０）スレーブ装置Ｂは、計測応答フレーム１１２を受信してから計測応答フレーム１１２の中継準備が終了するまでの中継準備時間「β１」を計測する。
そして、スレーブ装置Ｂは、中継準備時間「β１」を加算した総中継時間ＴＰ「α１＋α２＋β１」を計測応答フレーム１１２に設定し、計測応答フレーム１１２を送信する。
また、スレーブ装置Ｂは、総中継時間ＴＰ「α１＋α２＋β１」を記憶する（図７参照）。
さらに、スレーブ装置Ｂは、計測フレーム１１１を受信してから計測応答フレーム１１２を送信するまでの時間「Ｄｓ２’」を補正後スレーブ往復伝搬遅延時間Ｄｓとして記憶する（図７参照）。
【００９９】
（１１）中間のスレーブ装置Ａは、計測応答フレーム１１２を受信する。
（１２）スレーブ装置Ａは、計測応答フレーム１１２を受信してから計測応答フレーム１１２の中継準備が終了するまでの中継準備時間「β２」を計測する。
そして、スレーブ装置Ａは、中継準備時間「β２」を加算した総中継時間ＴＰ「α１＋α２＋β１＋β２」を計測応答フレーム１１２に設定し、計測応答フレーム１１２を送信する。
また、スレーブ装置Ａは、総中継時間ＴＰ「α１＋α２＋β１＋β２」を記憶する（図７参照）。
さらに、スレーブ装置Ａは、計測フレーム１１１を受信してから計測応答フレーム１１２を送信するまでの時間「Ｄｓ１’」を補正後スレーブ往復伝搬遅延時間Ｄｓとして記憶する（図７参照）。
【０１００】
（１３）マスタ装置は、計測応答フレーム１１２を受信する。
マスタ装置は、計測応答フレーム１１２に設定されている総中継時間ＴＰを記憶する（図７参照）。
さらに、マスタ装置は、計測フレーム１１１を送信してから計測応答フレーム１１２を受信するまでの時間「Ｄｍ’」をマスタ往復伝搬遅延時間Ｄｍ’として記憶する（図７参照）。
（１４）マスタ装置は、マスタ往復伝搬遅延時間Ｄｍ’と総中継時間ＴＰとを用いて補正後マスタ往復伝搬遅延時間Ｄｍを算出する（下記式（１−４）参照）。
マスタ装置は、基準時刻Ｔｍ（現在時刻）と補正後マスタ往復伝搬遅延時間Ｄｍと先行中継時間ＳＦＰの初期値「０」とを設定して通知フレーム１１３を生成し、生成した通知フレーム１１３を末端のスレーブ装置Ｃ宛てに送信する。
【０１０１】
（１５）中間のスレーブ装置Ａは、通知フレーム１１３を受信する。
スレーブ装置Ａは、通知フレーム１１３の設定値（Ｔｍ、Ｄｍ、ＳＦＰ「０」）と記憶済みの計測値（ＭＦＰ「０」、ＴＰ「α１＋α２＋β１＋β２」）（図７参照）とを用いて補正値Ａｓ１を算出する（下記式（１−５）参照）。
そして、スレーブ装置Ａは、算出した補正値Ａｓ１を現在時刻として設定してマスタ装置と同期する。
（１６）通知フレーム１１３より優先度が高い割込みフレームが発生した場合、スレーブ装置Ａは、通知フレーム１１３より先に割込みフレームを処理する。
（１７）スレーブ装置Ａは、通知フレーム１１３を受信してから通知フレーム１１３の中継準備が終了するまでの中継準備時間「γ１」を計測する
そして、スレーブ装置Ａは、中継準備時間「γ１」を加算した先行中継時間ＳＦＰ「（０＋）γ１」を通知フレーム１１３に設定し、通知フレーム１１３を送信する。
【０１０２】
（１８）中間のスレーブ装置Ｂは、通知フレーム１１３を受信する。
スレーブ装置Ｂは、通知フレーム１１３の設定値（Ｔｍ、Ｄｍ、ＳＦＰ「γ１」）と記憶済みの計測値（ＭＦＰ「α１」、ＴＰ「α１＋α２＋β１」）（図７参照）とを用いて補正値Ａｓ２を算出する（下記式（１−６）参照）。
そして、スレーブ装置Ｂは、算出した補正値Ａｓ２を現在時刻として設定してマスタ装置と同期する。
（１９）スレーブ装置Ｂは、通知フレーム１１３を受信してから通知フレーム１１３の中継準備がするまでの中継準備時間「γ２」を計測する
そして、スレーブ装置Ｂは、中継準備時間「γ２」を加算した先行中継時間ＳＦＰ「γ１＋γ２」を通知フレーム１１３に設定し、通知フレーム１１３を送信する。
【０１０３】
（２０）末端のスレーブ装置Ｃは、通知フレーム１１３を受信する。
スレーブ装置Ｃは、通知フレーム１１３の設定値（Ｔｍ、Ｄｍ、ＳＦＰ「γ１＋γ２」）と記憶済みの計測値（ＭＦＰ「α１＋α２」、ＴＰ「α１＋α２」）（図７参照）とを用いて補正値Ａｓ３を算出する（下記式（１−７）参照）。
そして、スレーブ装置Ｃは、算出した補正値Ａｓ３を現在時刻として設定してマスタ装置と同期する。
【０１０４】
【数３】
2012175567.tif 000005
【０１０５】
上記の同期方法では複数の中継準備時間を合計した合計時間を各フレームに設定しているが、合計時間ではなく各中継準備時間を各フレームに設定しても構わない。
例えば、スレーブ装置Ａ・Ｂは計測フレーム１１１または計測応答フレーム１１２に各々の中継準備時間「α１」「α２」「β１」「β２」を設定する。そして、マスタ装置が各中継準備時間を合計して総中継時間ＴＰ「α１＋α２＋β１＋β２」を算出する。
【０１０６】
図８は、実施の形態１におけるマスタ装置２００およびスレーブ装置３００のハードウェア資源の一例を示す図である。
図８において、マスタ装置２００およびスレーブ装置３００は、ＣＰＵ９０１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ９０１は、バス９０２を介してＲＯＭ９０３、ＲＡＭ９０４、通信ボード９０５、ディスプレイ装置９１１、キーボード９１２、マウス９１３、ドライブ装置９１４、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。ドライブ装置９１４は、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などの記憶媒体を読み書きする装置である。
【０１０７】
通信ボード９０５は、有線または無線で、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、電話回線などの通信網に接続している。
【０１０８】
磁気ディスク装置９２０には、ＯＳ９２１（オペレーティングシステム）、プログラム群９２２、ファイル群９２３が記憶されている。
【０１０９】
プログラム群９２２には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラムは、ＣＰＵ９０１により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【０１１０】
ファイル群９２３には、実施の形態において説明する「〜部」で使用される各種データ（入力、出力、判定結果、計算結果、処理結果など）が含まれる。
【０１１１】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
【０１１２】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【０１１３】
実施の形態２．
マスタ装置と各スレーブ装置とがツリー構造で接続する同期システム１００について説明する。
マスタ装置またはスレーブ装置の機能構成や、同期システム１００の同期方法については実施の形態１と同じである。
【０１１４】
図９は、実施の形態２における同期システム１００の構成図である。
実施の形態２における同期システム１００の構成について、図９に基づいて説明する。
【０１１５】
同期システム１００の接続形態は、マスタ装置とスレーブ装置Ａ−Ｃとから成るライン１と、マスタ装置とスレーブ装置Ａ・Ｄ−Ｆとから成るライン２とを含んだツリー構造であってよい。ライン１とライン２とはツリー構造の枝部分を構成する。
スレーブ装置Ａはライン１用の通信ポート１０１とライン２用の通信ポート１０１とを含む三つの通信ポート１０１を有する。
【０１１６】
この場合、実施の形態１で説明した同期方法をライン１とライン２とで別々に実行する。
ライン１で同期方法を実行することによりスレーブ装置Ａ−Ｃがマスタ装置と同期し、ライン２で同期方法を実行することによりスレーブ装置Ａ・Ｄ−Ｆがマスタ装置と同期する。
つまり、マスタ装置と全てのスレーブ装置とを同期させることができる。
【０１１７】
実施の形態３．
実施の形態１と異なる同期方法について説明する。
以後、実施の形態１、２と異なる事項について主に説明する。説明を省略する事項については実施の形態１、２と同様である。
【０１１８】
同期システム１００の構成は、実施の形態１（図１参照）または実施の形態２（図９参照）と同様である。
【０１１９】
図１０は、実施の形態３における通信フレームのフォーマットを示す図である。
実施の形態３で通信される計測フレーム１２１、計測応答フレーム１２２、通知フレーム１２３、計測補助フレーム１２４および通知補助フレーム１２５について、図１０に基づいて説明する。
【０１２０】
計測フレーム１２１、通知フレーム１２３および通知補助フレーム１２５はマスタ装置２００によって生成され、マスタ装置２００によって送信され、中間のスレーブ装置３００によって中継され、末端のスレーブ装置３００によって受信される。
計測応答フレーム１２２および計測補助フレーム１２４は末端のスレーブ装置３００によって生成され、スレーブ装置３００によって送信され、中間のスレーブ装置３００によって中継され、マスタ装置２００によって受信される。
【０１２１】
各フレームは、「宛先」「送信元」「フレーム種別」を有する。
計測フレーム１２１、通知フレーム１２３および通知補助フレーム１２５の「宛先」には末端のスレーブ装置３００のアドレス情報が設定される。また、「送信元」にはマスタ装置２００のアドレス情報が設定される。「フレーム種別」にはフレーム毎に当該フレームを識別する識別子が設定される。
【０１２２】
計測応答フレーム１２２および計測補助フレーム１２４の「宛先」にはマスタ装置２００のアドレス情報が設定される。また、「送信元」には末端のスレーブ装置３００のアドレス情報が設定される。「フレーム種別」にはフレーム毎に当該フレームを識別する識別子が設定される。
【０１２３】
さらに、計測補助フレーム１２４は「往復中継時間」を有する。
「往復中継時間」には、計測フレーム１２１の中継処理と計測応答フレーム１２２の中継処理とに要した中継処理時間の合計値（往復中継処理時間）が設定される。以下、計測補助フレーム１２４に設定された往復中継時間を「ＲＴＰ」と記す。
【０１２４】
また、通知補助フレーム１２５は「基準時刻」「補正後マスタ往復伝搬遅延時間」「先行中継時間」を有する。
「基準時刻」には、通知フレーム１２３を送信したときの時刻が設定される。以下、通知補助フレーム１２５に設定された基準時刻を「Ｔｍ」と記す。
「補正後マスタ往復伝搬遅延時間」には、マスタ装置２００が計測フレーム１２１を送信してから計測応答フレーム１２２を受信するまでの時間から往復中継時間ＲＴＰを差し引いた時間（マスタ装置伝播時間）が設定される。以下、通知補助フレーム１２５に設定された補正後マスタ往復伝播遅延時間を「Ｄｍ」と記す。
「先行中継時間」には、通知フレーム１２３の中継処理に要した中継処理時間の合計値（通知中継処理時間）が設定される。以下、通知補助フレーム１２５に設定された先行中継時間を「ＳＦＰ」と記す。
【０１２５】
図１１は、実施の形態３におけるマスタ装置２００の機能構成図である。
実施の形態１におけるマスタ装置２００の機能構成について、図１１に基づいて説明する。
【０１２６】
マスタ装置２００は、マスタ装置通信部２１０、マスタ装置フレーム生成部２２０、マスタ装置算出部２３０、マスタ装置計測部２４０およびマスタ装置記憶部２９０を備える。
【０１２７】
マスタ装置通信部２１０は、マスタ装置２００の通信処理（マスタ装置通信処理）を行う。
例えば、マスタ装置通信部２１０は計測フレーム１２１と通知フレーム１２３と通知補助フレーム１２５とを送信し、計測応答フレーム１２２と計測補助フレーム１２４とを受信する。
【０１２８】
マスタ装置計測部２４０は各種の時間を計測する（マスタ装置計測処理）。
例えば、マスタ装置計測部２４０は、マスタ装置通信部２１０が計測フレーム１２１を送信してからマスタ装置通信部２１０が計測応答フレーム１２２を受信するまでの時間を計測する。以下、この計測時間を「マスタ往復伝搬遅延時間Ｄｍ’」（マスタ装置通信時間）という。
【０１２９】
マスタ装置算出部２３０は各種の時間を算出する（マスタ装置算出処理）。
例えば、マスタ装置算出部２３０は、計測補助フレーム１２４に含まれる往復中継時間ＲＴＰ（中継処理時間情報、往復中継処理時間）とマスタ装置計測部２４０によって計測されたマスタ往復伝搬遅延時間Ｄｍ’とに基づいて「補正後マスタ往復伝搬遅延時間Ｄｍ」（マスタ装置伝播時間）を算出する。補正後マスタ往復伝搬遅延時間Ｄｍは、マスタ往復伝搬遅延時間Ｄｍ’からマスタ往復伝搬遅延時間Ｄｍ’に含まれる往復中継時間ＲＴＰを除いた時間である。
【０１３０】
マスタ装置フレーム生成部２２０は、計測フレーム１２１と通知フレーム１２３と通知補助フレーム１２５とを生成する（マスタ装置フレーム生成処理）。
例えば、マスタ装置フレーム生成部２２０は、マスタ装置通信部２１０が通知フレーム１２３を送信した時刻を基準時刻Ｔｍ（マスタ装置時刻）として含むと共にマスタ装置算出部２３０によって算出された補正後マスタ往復伝搬遅延時間Ｄｍを含む通知補助フレーム１２５を生成する。
【０１３１】
マスタ装置記憶部２９０は、マスタ装置２００が使用するデータを記憶する。
各フレーム（符号１２１−１２５）はマスタ装置記憶部２９０に記憶されるデータの一例である。
マスタ往復伝搬遅延時間Ｄｍ’、補正後マスタ往復伝搬遅延時間Ｄｍおよび基準時刻Ｔｍは、マスタ装置記憶部２９０に記憶されるデータの一例である。
【０１３２】
図１２は、実施の形態３におけるスレーブ装置３００の機能構成図である。
実施の形態３におけるスレーブ装置３００の機能構成について、図１２に基づいて説明する。
【０１３３】
中間のスレーブ装置３００（中継装置の一例）と末端のスレーブ装置３００（端末装置の一例）とは、スレーブ装置通信部３１０、スレーブ装置フレーム処理部３２０、スレーブ装置算出部３３０、スレーブ装置計測部３４０およびスレーブ装置同期部３５０を備える。
また、各スレーブ装置３００は、スレーブ装置記憶部３９０を備える。
【０１３４】
スレーブ装置通信部３１０は、スレーブ装置３００の通信処理（中継装置通信処理、端末装置通信処理）を行う。
例えば、中間のスレーブ装置３００のスレーブ装置通信部３１０（中継装置通信部の一例）は、計測フレーム１２１、計測応答フレーム１２２、通知フレーム１２３、計測補助フレーム１２４および通知補助フレーム１２５を送受信する。
末端のスレーブ装置３００のスレーブ装置通信部３１０（端末装置通信部の一例）は、計測フレーム１２１と通知フレーム１２３と通知補助フレーム１２５とを受信し、計測応答フレーム１２２と計測補助フレーム１２４とを送信する。
【０１３５】
スレーブ装置計測部３４０は、各種の時間を計測する（中継装置計測処理、端末装置計測処理）。
【０１３６】
例えば、中間のスレーブ装置３００のスレーブ装置計測部３４０（中継装置計測部の一例）は、スレーブ往復伝搬遅延時間Ｄｓ’を計測する。
また、スレーブ装置計測部３４０は、計測フレーム１２１の中継処理時間、計測応答フレーム１２２の中継処理時間および通知フレーム１２３の中継処理時間を計測する。
スレーブ往復伝搬遅延時間Ｄｓ’（中継装置通信時間）は、スレーブ装置通信部３１０が計測フレーム１２１を受信してからスレーブ装置通信部３１０が計測応答フレーム１２２を送信するまでの時間である。
計測フレーム１２１の中継処理時間は、スレーブ装置計測部３４０が計測フレーム１２１を受信してから計測フレーム１２１を送信するまでの時間である。
計測応答フレーム１２２の中継処理時間は、スレーブ装置通信部３１０が計測応答フレーム１２２を受信してから計測応答フレーム１２２を送信するまでの時間である。
通知フレーム１２３の中継処理時間は、スレーブ装置通信部３１０が通知フレーム１２３を受信してから通知フレーム１２３を送信するまでの時間である。
【０１３７】
例えば、末端のスレーブ装置３００のスレーブ装置計測部３４０（端末装置計測部の一例）は、スレーブ往復伝搬遅延時間Ｄｓ’を計測する。
スレーブ往復伝搬遅延時間Ｄｓ’（端末装置遅延時間）は、スレーブ装置通信部３１０が計測フレーム１２１を受信してからスレーブ装置計測部３４０が計測応答フレーム１２２を送信するまでの時間である。
【０１３８】
スレーブ装置算出部３３０は、各種の時間を算出する（中継装置算出処理）。
例えば、中間のスレーブ装置３００のスレーブ装置算出部３３０（中継装置算出部の一例）は、新たな往復中継時間ＲＴＰと新たな先行中継時間ＳＦＰとを算出する。
新たな往復中継時間ＲＴＰは、計測応答フレーム１２２に含まれる往復中継時間ＲＴＰ（往復中継処理時間）と計測フレーム１２１の中継処理時間と計測応答フレーム１２２の中継処理時間とを合計した時間である。
新たな先行中継時間ＳＦＰは、通知補助フレーム１２５に含まれる先行中継時間ＳＦＰ（通知中継処理時間）と通知フレーム１２３の中継処理時間とを合計した時間である。
【０１３９】
スレーブ装置フレーム処理部３２０は、各種のフレーム処理（中継装置フレーム更新処理、端末装置フレーム生成処理）を行う。
【０１４０】
例えば、中間のスレーブ装置３００のスレーブ装置フレーム処理部３２０（中継装置フレーム更新部の一例）は、計測補助フレーム１２４に含まれる往復中継時間ＲＴＰを新たな往復中継時間ＲＴＰに更新する。
また、スレーブ装置フレーム処理部３２０は、通知補助フレーム１２５に含まれる先行中継時間ＳＦＰを新たな先行中継時間ＳＦＰに更新する。
【０１４１】
例えば、末端のスレーブ装置３００のスレーブ装置フレーム処理部３２０（端末装置フレーム生成部の一例）は、往復中継時間ＲＴＰとして初期値「０」を設定して計測補助フレーム１２４を生成する。
【０１４２】
スレーブ装置同期部３５０は、スレーブ装置３００の内部時計（図示省略）の時刻をマスタ装置２００の内部時計の時刻に同期させる同期処理（中継装置同期処理、端末装置同期処理）を行う。
【０１４３】
例えば、中間のスレーブ装置３００のスレーブ装置同期部３５０（中継装置同期部の一例）は、以下のように同期処理を行う。
スレーブ装置同期部３５０は、スレーブ装置計測部３４０によって計測されたスレーブ往復伝搬遅延時間Ｄｓ’と計測補助フレーム１２４に含まれる往復中継時間ＲＴＰとに基づいて補正後スレーブ往復伝搬遅延時間Ｄｓを算出する。補正後スレーブ往復伝搬遅延時間Ｄｓは、スレーブ往復伝搬遅延時間Ｄｓ’からスレーブ往復伝搬遅延時間Ｄｓ’に含まれる中継処理時間を除いた時間である。
スレーブ装置同期部３５０は、補正後スレーブ往復伝搬遅延時間Ｄｓと通知補助フレーム１２５に含まれる補正後マスタ往復伝搬遅延時間Ｄｍとに基づいて通知伝播時間を算出する。通知伝播時間は、マスタ装置２００が通知フレーム１２３を送信してからスレーブ装置通信部３１０が通知フレーム１２３を受信するまでに要する時間である。
スレーブ装置同期部３５０は、算出した通知伝播時間と通知補助フレーム１２５に含まれる基準時刻Ｔｍとスレーブ装置通信部３１０が通知フレーム１２３を受信したタイムスタンプ時刻Ｔｓ（中継装置時刻）とに基づいてマスタ装置２００との時刻差を補正値Ａｓ（補正時間）として算出する。
スレーブ装置同期部３５０は、算出した補正値Ａｓだけ内部時計の時刻を変更する。
【０１４４】
例えば、中間のスレーブ装置同期部３５０は、以下のように補正値Ａｓを算出する。
スレーブ装置同期部３５０は、スレーブ往復伝搬遅延時間Ｄｓ’から往復中継時間ＲＴＰを減算した時間を補正後スレーブ往復伝搬遅延時間Ｄｓとして算出する。
スレーブ装置同期部３５０は、算出した補正後スレーブ往復伝搬遅延時間Ｄｓを通知補助フレーム１２５に含まれる補正後マスタ往復伝搬遅延時間Ｄｍから減算し、減算して得られた時間を半分にした時間を通知伝播時間として算出する。
スレーブ装置同期部３５０は、通知補助フレーム１２５に含まれる基準時刻Ｔｍとスレーブ装置記憶部３９０に記憶されたタイムスタンプ時刻Ｔｓとの時刻差を誤差時間として算出する。
スレーブ装置同期部３５０は、算出した誤差時間に通知伝播時間と通知補助フレーム１２５に含まれる先行中継時間ＳＦＰとを加算した時間を補正値Ａｓとして算出する。
【０１４５】
例えば、末端のスレーブ装置３００のスレーブ装置同期部３５０（端末装置同期部の一例）は、以下のように同期処理を行う。
スレーブ装置同期部３５０は、スレーブ装置計測部３４０によって計測されたスレーブ往復伝搬遅延時間Ｄｓ’とスレーブ装置記憶部３９０に記憶されたタイムスタンプ時刻Ｔｓ（端末装置時刻）とスレーブ装置通信部３１０によって受信される通知補助フレーム１２５とに基づいてマスタ装置２００との時刻差を補正値Ａｓ（補正時間）として算出する。
スレーブ装置同期部３５０は、算出した補正値Ａｓだけ内部時計の時刻を変更する。
【０１４６】
例えば、末端のスレーブ装置同期部３５０は、以下のように補正値Ａｓを算出する。
スレーブ装置同期部３５０は、通知補助フレーム１２５に含まれる補正後マスタ往復伝搬遅延時間Ｄｍからスレーブ往復伝搬遅延時間Ｄｓ’を減算し、減算して得られた時間を半分にした時間を通知伝播時間として算出する。
スレーブ装置同期部３５０は、通知補助フレーム１２５に含まれる基準時刻Ｔｍとスレーブ装置記憶部３９０に記憶されたタイムスタンプ時刻Ｔｓとの時刻差を誤差時間として算出する。
スレーブ装置同期部３５０は、算出した誤差時間に通知伝播時間と通知補助フレーム１２５に含まれる先行中継時間ＳＦＰとを加算した時間を補正値Ａｓとして算出する。
【０１４７】
スレーブ装置記憶部３９０は、スレーブ装置３００が使用するデータを記憶する（個別中継処理時間記憶部、往復中継処理時間記憶部、中継装置時刻記憶部、端末装置時刻記憶部の一例）。
各フレーム（符号１２１−１２５）はスレーブ装置記憶部３９０に記憶されるデータの一例である。
スレーブ往復伝搬遅延時間Ｄｓ’、補正後スレーブ往復伝搬遅延時間Ｄｓ、往復中継時間ＲＴＰ、先行中継時間ＳＦＰおよびタイムスタンプ時刻Ｔｓは、スレーブ装置記憶部３９０に記憶されるデータの一例である。
【０１４８】
図１３は、実施の形態３における同期システム１００の同期方法を示すフローチャートである。
実施の形態３における同期システム１００の同期方法について、図１３に基づいて説明する。
【０１４９】
まず、同期システム１００の同期方法の概要について説明する。
【０１５０】
マスタ装置２００は、計測フレーム１２１を末端のスレーブ装置３００へ送信する（Ｓ２１０）。
中間のスレーブ装置３００は計測フレーム１２１を中継する（Ｓ２１１）。
末端のスレーブ装置３００は計測フレーム１２１を受信し、計測応答フレーム１２２をマスタ装置２００へ送信する（Ｓ２２０）。
中間のスレーブ装置３００は計測応答フレーム１２２を中継する（Ｓ２２１）。
マスタ装置２００は計測応答フレーム１２２を受信し、通知フレーム１２３を末端のスレーブ装置３００へ送信する（Ｓ２３０）。
中間のスレーブ装置３００は通知フレーム１２３を中継する（Ｓ２３１）。
末端のスレーブ装置３００は通知フレーム１２３を受信し、計測補助フレーム１２４をマスタ装置２００へ送信する（Ｓ２４０）。
中間のスレーブ装置３００は、往復中継時間ＲＴＰを更新して計測補助フレーム１２４を中継する（Ｓ２４１）。
マスタ装置２００は計測補助フレーム１２４を受信し、往復中継時間ＲＴＰに基づいて補正後マスタ往復伝搬遅延時間Ｄｍを算出し、補正後マスタ往復伝搬遅延時間Ｄｍを設定した通知補助フレーム１２５を末端のスレーブ装置３００へ送信する（Ｓ２５０）。
中間のスレーブ装置３００は通知補助フレーム１２５を受信し、通知補助フレーム１２５に基づいて同期し、先行中継時間ＳＦＰを更新して通知補助フレーム１２５を中継する（Ｓ２６０）。
末端のスレーブ装置３００は通知補助フレーム１２５を受信し、受信した通知補助フレーム１２５に基づいて同期する（Ｓ２７０）。
【０１５１】
次に、同期システム１００の同期方法の詳細について説明する。
【０１５２】
Ｓ２１０において、マスタ装置２００のマスタ装置フレーム生成部２２０は、末端のスレーブ装置３００を宛先とする計測フレーム１２１（図１０参照）を生成する（計測フレーム生成処理）。
マスタ装置通信部２１０は、マスタ装置フレーム生成部２２０によって生成された計測フレーム１２１を送信する（計測フレーム送信処理）。
【０１５３】
マスタ装置計測部２４０は、マスタ装置通信部２１０が計測フレーム１２１を送信したときにＤｍ’カウンタを起動する。
Ｓ２１０の後、Ｓ２１１に進む。
【０１５４】
Ｓ２１１において、中間のスレーブ装置３００のスレーブ装置通信部３１０は計測フレーム１２１を受信する（計測フレーム受信処理）。
【０１５５】
スレーブ装置計測部３４０は、スレーブ装置通信部３１０が計測フレーム１２１を受信した場合、Ｄｓ’カウンタとＭＲＴカウンタとを起動する。
【０１５６】
スレーブ装置フレーム処理部３２０は計測フレーム１２１を処理することができるタイミングまで待機し、スレーブ装置通信部３１０は計測フレーム１２１を送信する（計測フレーム送信処理）。
【０１５７】
スレーブ装置計測部３４０は、スレーブ装置通信部３１０が計測フレーム１２１を送信したときにＭＲＴカウンタを停止する（中継処理時間計測処理）。
スレーブ装置計測部３４０は、ＭＲＴカウンタによって計測された時間を計測フレーム１２１の中継処理時間としてスレーブ装置記憶部３９０に記憶する（中継処理時間記憶処理）。
Ｓ２１１の後、Ｓ２２０に進む。
【０１５８】
Ｓ２２０において、末端のスレーブ装置３００のスレーブ装置通信部３１０は計測フレーム１２１を受信する（計測フレーム受信処理）。
スレーブ装置フレーム処理部３２０は、スレーブ装置通信部３１０が計測フレーム１２１を受信した場合、マスタ装置２００を宛先とする計測応答フレーム１２２（図１０参照）を生成する（計測応答フレーム生成処理）。
スレーブ装置通信部３１０は、スレーブ装置フレーム処理部３２０によって生成された計測応答フレーム１２２を送信する（計測応答フレーム送信処理）。
【０１５９】
スレーブ装置計測部３４０は、スレーブ装置通信部３１０が計測フレーム１２１を受信した場合、Ｄｓ’カウンタを起動する。
スレーブ装置計測部３４０は、スレーブ装置通信部３１０が計測応答フレーム１２２を送信したときにＤｓ’カウンタを停止し、Ｄｓ’カウンタによって計測されたスレーブ往復伝搬遅延時間Ｄｓ’をスレーブ装置記憶部３９０に記憶する。
Ｓ２２０の後、Ｓ２２１に進む。
【０１６０】
Ｓ２２１において、中間のスレーブ装置３００のスレーブ装置通信部３１０は計測応答フレーム１２２を受信する（計測応答フレーム受信処理）。
【０１６１】
スレーブ装置計測部３４０は、スレーブ装置通信部３１０が計測応答フレーム１２２を受信した場合、ＲＲＴカウンタを起動する。
【０１６２】
スレーブ装置フレーム処理部３２０は計測応答フレーム１２２を処理することができるタイミングまで待機し、スレーブ装置通信部３１０は計測応答フレーム１２２を送信する（計測応答フレーム送信処理）。
【０１６３】
スレーブ装置計測部３４０は、スレーブ装置通信部３１０が計測応答フレーム１２２を送信したときにＲＲＴカウンタとＤｓ’カウンタとを停止する（中継処理時間計測処理、中継装置通信時間計測処理）。
スレーブ装置計測部３４０は、ＲＲＴカウンタによって計測された時間を計測応答フレーム１２２の中継処理時間としてスレーブ装置記憶部３９０に記憶する（中継処理時間記憶処理）。
スレーブ装置計測部３４０は、Ｄｓ’カウンタによって計測されたスレーブ往復伝搬遅延時間Ｄｓ’をスレーブ装置記憶部３９０に記憶する（中継装置通信時間記憶処理）。
Ｓ２２１の後、Ｓ２３０に進む。
【０１６４】
Ｓ２３０において、マスタ装置２００のマスタ装置通信部２１０は計測応答フレーム１２２を受信する（計測応答フレーム受信処理）。
【０１６５】
マスタ装置計測部２４０は、マスタ装置通信部２１０が計測応答フレーム１２２を受信した場合、Ｄｍ’カウンタを停止する（マスタ装置通信時間計測処理）。
マスタ装置計測部２４０は、Ｄｍ’カウンタによって計測されたマスタ往復伝搬遅延時間Ｄｍ’をマスタ装置記憶部２９０に記憶する（マスタ装置通信時間記憶処理）。
【０１６６】
マスタ装置フレーム生成部２２０は、マスタ装置通信部２１０が計測応答フレーム１２２を受信した場合、末端のスレーブ装置３００を宛先とする通知フレーム１２３（図１０参照）を生成する（通知フレーム生成処理）。
マスタ装置通信部２１０は、マスタ装置フレーム生成部２２０によって生成された通知フレーム１２３を送信する（通知フレーム送信処理）。
マスタ装置通信部２１０は、通知フレーム１２３を送信した時刻を基準時刻Ｔｍとしてスレーブ装置記憶部３９０に記憶する（マスタ装置時刻記憶処理）。
Ｓ２３０の後、Ｓ２３１に進む。
【０１６７】
Ｓ２３１において、中間のスレーブ装置３００のスレーブ装置通信部３１０は通知フレーム１２３を受信する（通知フレーム受信処理）。
スレーブ装置通信部３１０は、通知フレーム１２３を受信した時刻をタイムスタンプ時刻Ｔｓとしてスレーブ装置記憶部３９０に記憶する（中継装置時刻記憶処理）。
【０１６８】
スレーブ装置計測部３４０は、スレーブ装置通信部３１０が通知フレーム１２３を受信した場合、ＮＲＴカウンタを起動する。
【０１６９】
スレーブ装置フレーム処理部３２０は通知フレーム１２３を処理することができるタイミングまで待機し、スレーブ装置通信部３１０は通知フレーム１２３を送信する（通知フレーム送信処理）。
【０１７０】
スレーブ装置計測部３４０は、スレーブ装置通信部３１０が計測応答フレーム１２２を送信したときにＮＲＴカウンタを停止する（中継処理時間計測処理）。
スレーブ装置計測部３４０は、ＮＲＴカウンタによって計測された時間を通知フレーム１２３の中継処理時間としてスレーブ装置記憶部３９０に記憶する（中継処理時間記憶処理）。
Ｓ２３１の後、Ｓ２４０に進む。
【０１７１】
Ｓ２４０において、末端のスレーブ装置３００のスレーブ装置通信部３１０は通知フレーム１２３を受信する（通知フレーム受信処理）。
スレーブ装置通信部３１０は、通知フレーム１２３を受信した時刻をタイムスタンプ時刻Ｔｓとしてスレーブ装置記憶部３９０に記憶する（端末装置時刻記憶処理）。
【０１７２】
スレーブ装置フレーム処理部３２０は、スレーブ装置通信部３１０が通知フレーム１２３を受信した場合、マスタ装置２００を宛先とする計測補助フレーム１２４（図１０参照）を生成する（計測補助フレーム生成処理）。このとき、スレーブ装置フレーム処理部３２０は、往復中継時間ＲＴＰとして初期値「０」を計測補助フレーム１２４に設定する。
スレーブ装置通信部３１０は、スレーブ装置フレーム処理部３２０によって生成された計測補助フレーム１２４を送信する（計測補助フレーム生成処理）。
Ｓ２４０の後、Ｓ２４１に進む。
【０１７３】
Ｓ２４１において、中間のスレーブ装置３００のスレーブ装置通信部３１０は計測補助フレーム１２４を受信する（計測補助フレーム受信処理）。
【０１７４】
スレーブ装置フレーム処理部３２０は、計測補助フレーム１２４を処理することができるタイミングまで待機する。
そして、スレーブ装置フレーム処理部３２０は、計測補助フレーム１２４から往復中継時間ＲＴＰを取得し、スレーブ装置記憶部３９０から計測フレーム１２１の中継処理時間と計測応答フレーム１２２の中継処理時間とを取得する。
【０１７５】
次に、スレーブ装置フレーム処理部３２０は、往復中継時間ＲＴＰと計測フレーム１２１の中継処理時間と計測応答フレーム１２２の中継処理時間とを合計した時間を新たな往復中継時間ＲＴＰとして算出する。
スレーブ装置フレーム処理部３２０は、算出した往復中継時間ＲＴＰ（新たな往復中継時間ＲＴＰ）をスレーブ装置記憶部３９０に記憶する。
また、スレーブ装置フレーム処理部３２０は、計測補助フレーム１２４に設定されている往復中継時間ＲＴＰを新たな往復中継時間ＲＴＰに更新する（計測補助フレーム更新処理）。
【０１７６】
スレーブ装置通信部３１０は、スレーブ装置フレーム処理部３２０によって更新された計測補助フレーム１２４を送信する（計測補助フレーム送信処理）。
Ｓ２４１の後、Ｓ２５０に進む。
【０１７７】
Ｓ２５０において、マスタ装置２００のマスタ装置通信部２１０は計測補助フレーム１２４を受信する（計測補助フレーム受信処理）。
【０１７８】
マスタ装置算出部２３０は、計測補助フレーム１２４から往復中継時間ＲＴＰを取得し、スレーブ装置記憶部３９０からマスタ往復伝搬遅延時間Ｄｍ’を取得する。
マスタ装置算出部２３０は、マスタ往復伝搬遅延時間Ｄｍ’から往復中継時間ＲＴＰを減算して補正後マスタ往復伝搬遅延時間Ｄｍを算出する。
以下に、補正後マスタ往復伝搬遅延時間Ｄｍの算出式（３−１）を示す。
【０１７９】
【数４】
2012175567.tif 000006
【０１８０】
マスタ装置フレーム生成部２２０は、末端のスレーブ装置３００を宛先とする通知補助フレーム１２５（図１０参照）を生成する（通知補助フレーム生成処理）。
このとき、マスタ装置フレーム生成部２２０は、マスタ装置記憶部２９０から基準時刻Ｔｍを取得し、取得した基準時刻Ｔｍを通知補助フレーム１２５に設定する。
また、マスタ装置フレーム生成部２２０は、マスタ装置算出部２３０によって算出された補正後マスタ往復伝搬遅延時間Ｄｍを通知補助フレーム１２５に設定する。
また、マスタ装置フレーム生成部２２０は、先行中継時間ＳＦＰとして初期値「０」を通知補助フレーム１２５に設定する。
【０１８１】
マスタ装置通信部２１０は、マスタ装置フレーム生成部２２０によって生成された通知補助フレーム１２５を送信する（通知補助フレーム送信処理）。
Ｓ２５０の後、Ｓ２６０に進む。
【０１８２】
Ｓ２６０において、中間のスレーブ装置３００のスレーブ装置通信部３１０は通知補助フレーム１２５を受信する（通知補助フレーム受信処理）。
【０１８３】
スレーブ装置同期部３５０は、スレーブ装置通信部３１０が通知補助フレーム１２５を受信した場合、通知補助フレーム１２５から基準時刻Ｔｍと補正後マスタ往復伝搬遅延時間Ｄｍと先行中継時間ＳＦＰとを取得する。
さらに、スレーブ装置同期部３５０は、スレーブ装置記憶部３９０からスレーブ往復伝搬遅延時間Ｄｓ’と往復中継時間ＲＴＰとタイムスタンプ時刻Ｔｓとを取得する。
【０１８４】
次に、スレーブ装置同期部３５０は、スレーブ往復伝搬遅延時間Ｄｓ’から往復中継時間ＲＴＰを減算した時間を補正後スレーブ往復伝搬遅延時間Ｄｓとして算出する。
【０１８５】
次に、スレーブ装置同期部３５０は、基準時刻Ｔｍとタイムスタンプ時刻Ｔｓとの時刻差を誤差時間として算出する。
スレーブ装置同期部３５０は、補正後マスタ往復伝搬遅延時間Ｄｍから補正後スレーブ往復伝搬遅延時間Ｄｓを減算した時間を半分にした時間を通知伝播時間として算出する。
スレーブ装置同期部３５０は、誤差時間に通知伝播時間と先行中継時間ＳＦＰとを加算した時間を補正値Ａｓとして算出する。
【０１８６】
そして、スレーブ装置同期部３５０は、内部時計から現在時刻を取得し、取得した現在時刻に補正値Ａｓを加算した時刻を同期時刻として算出し、算出した同期時刻を内部時計に設定する（同期処理）。
【０１８７】
例えば、スレーブ装置３００の時刻（Ｔｓ）がマスタ装置２００の時刻（Ｔｍ）より早い時刻（前の時刻）である場合、補正値Ａｓはプラスの値になり、スレーブ装置３００の時刻がマスタ装置２００の時刻よりも遅い時刻（後の時刻）である場合、補正値Ａｓはマイナスの値になる。
そして、この補正値Ａｓをスレーブ装置３００の現在時刻に加算することによりスレーブ装置３００の現在時刻をマスタ装置２００の現在時刻に合わせることができる。
スレーブ装置３００の時刻が早い時刻である場合、補正値Ａｓ（プラスの値）を加算することにより、スレーブ装置３００の時刻が「プラス補正」されるためである。
また、スレーブ装置３００の時刻が遅い時刻である場合、補正値Ａｓ（マイナスの値）を加算することにより、スレーブ装置３００の時刻が「マイナス補正」されるためである。
【０１８８】
以下に、補正後スレーブ往復伝搬遅延時間Ｄｓの算出式（３−２）と補正値Ａｓの算出式（３−３）とを示す。
【０１８９】
【数５】
2012175567.tif 000007
【０１９０】
スレーブ装置フレーム処理部３２０は、通知補助フレーム１２５を処理することができるタイミングまで待機する。
その後、スレーブ装置フレーム処理部３２０は、通知補助フレーム１２５から先行中継時間ＳＦＰを取得し、スレーブ装置記憶部３９０から通知フレーム１２３の中継処理時間を取得する。
【０１９１】
スレーブ装置フレーム処理部３２０は、先行中継時間ＳＦＰに通知フレーム１２３の中継処理時間を加算した合計時間を新たな先行中継時間ＳＦＰとして算出する。
そして、スレーブ装置フレーム処理部３２０は、通知補助フレーム１２５に設定されている先行中継時間ＳＦＰを新たな先行中継時間ＳＦＰに更新する（通知中継処理時間更新処理）。
【０１９２】
スレーブ装置通信部３１０は、スレーブ装置フレーム処理部３２０によって更新された通知補助フレーム１２５を送信する（通知補助フレーム送信処理）。
Ｓ２６０の後、Ｓ２７０に進む。
【０１９３】
Ｓ２７０において、末端のスレーブ装置３００のスレーブ装置通信部３１０は通知補助フレーム１２５を受信する（通知補助フレーム受信処理）。
【０１９４】
スレーブ装置同期部３５０は、スレーブ装置通信部３１０によって受信された通知補助フレーム１２５に基づいて補正値Ａｓを算出し、算出した補正値Ａｓに基づいて内部時計の時刻を変更する（同期処理）。
補正値Ａｓの算出方法および内部時計の時刻の変更方法は、中間のスレーブ装置３００による方法と同じである（Ｓ２６０参照）。
Ｓ２７０により、同期システム１００の同期方法の処理は終了する。
【０１９５】
図１４、図１５は、実施の形態３における同期システム１００の処理の具体例を示すシーケンス図である。
図１６は、実施の形態３における同期システム１００で記憶する計測時間の具体例を示す一覧表である。
実施の形態３における同期システム１００の処理の具体例について、図１４から図１６に基づいて説明する。
【０１９６】
図１４において、同期システム１００は、マスタ装置と中間のスレーブ装置Ａ・Ｂと末端のスレーブ装置Ｃとを備える。
【０１９７】
（１）マスタ装置は、スレーブ装置Ｃを宛先とする計測フレーム１２１を生成し、生成した計測フレーム１２１を送信する。
【０１９８】
（２）中間のスレーブ装置Ａは、計測フレーム１２１を受信する。
（３）しかし、計測フレーム１２１より優先度が高い割込みフレームが発生したため、スレーブ装置Ａは計測フレーム１２１より先に割込みフレームを処理する。
（４）スレーブ装置Ａは、計測フレーム１２１を送信する。
また、スレーブ装置Ａは、計測フレーム１２１を受信してから送信するまでの中継処理時間「α１」を記憶する（図１６参照）。
【０１９９】
（５）中間のスレーブ装置Ｂは計測フレーム１２１を受信し、受信した計測フレーム１２１を送信する。
また、スレーブ装置Ｂは、計測フレーム１２１を受信してから送信するまでの中継処理時間「α２」を記憶する（図１６参照）。
【０２００】
（６）末端のスレーブ装置Ｃは計測フレーム１２１を受信する。
（７）スレーブ装置Ｃはマスタ装置を宛先とする計測応答フレーム１２２を生成し、生成した計測応答フレーム１２２を送信する。
また、スレーブ装置Ｃは計測フレーム１２１を受信してから計測応答フレーム１２２を送信するまでの時間「Ｄｓ３’」をスレーブ往復伝搬遅延時間Ｄｓ’として記憶する（図１６参照）。
【０２０１】
（８）中間のスレーブ装置Ｂは、計測応答フレーム１２２を受信する。
（９）スレーブ装置Ｂは、計測応答フレーム１２２を送信する。
また、スレーブ装置Ｂは、計測応答フレーム１２２を受信してから送信するまでの中継処理時間「β１」を記憶する（図１６参照）。
さらに、スレーブ装置Ｂは、計測フレーム１２１を受信してから計測応答フレーム１２２を送信するまでの時間「Ｄｓ２’」をスレーブ往復伝搬遅延時間Ｄｓ’として記憶する（図１６参照）。
【０２０２】
（１０）中間のスレーブ装置Ａは計測応答フレーム１２２を受信し、受信した計測応答フレーム１２２を送信する。
また、スレーブ装置Ａは、計測応答フレーム１２２を受信してから送信するまでの中継処理時間「β２」を記憶する（図１６参照）。
さらに、スレーブ装置Ｂは、計測フレーム１２１を受信してから計測応答フレーム１２２を送信するまでの時間「Ｄｓ１’」をスレーブ往復伝搬遅延時間Ｄｓ’として記憶する（図１６参照）。
【０２０３】
（１１）マスタ装置は計測応答フレーム１２２を受信する。
また、マスタ装置は、計測フレーム１２１を送信してから計測応答フレーム１２２を受信するまでの時間「Ｄｍ’」をマスタ往復伝搬遅延時間Ｄｍ’として記憶する（図１６参照）。
（１２）マスタ装置は末端のスレーブ装置Ｃを宛先とする通知フレーム１２３を生成し、生成した通知フレーム１２３を送信する。
また、マスタ装置は通知フレーム１２３を送信したときの時刻「Ｔｍ」を基準時刻Ｔｍとして記憶する（図１６参照）。
【０２０４】
（１３）中間のスレーブ装置Ａは、通知フレーム１２３を受信する。
また、スレーブ装置Ａは、通知フレーム１２３を受信したときの時刻「Ｔｓ１」をタイムスタンプ時刻Ｔｓとして記憶する（図１６参照）。
（１４）スレーブ装置Ａは、通知フレーム１２３を送信する。
また、スレーブ装置Ａは、通知フレーム１２３を受信してから送信するまでの中継処理時間「γ１」を計測し、計測した中継処理時間「γ１」を記憶する。
【０２０５】
（１５）中間のスレーブ装置Ｂは通知フレーム１２３を受信し、受信した通知フレーム１２３を送信する。
また、スレーブ装置Ｂは、通知フレーム１２３を受信したときの時刻「Ｔｓ２」をタイムスタンプ時刻Ｔｓとして記憶する（図１６参照）。
さらに、スレーブ装置Ｂは、通知フレーム１２３を受信してから送信するまでの中継処理時間「γ２」を計測し、計測した中継処理時間「γ２」を記憶する。
【０２０６】
（１６）末端のスレーブ装置Ｃは通知フレーム１２３を受信する。
また、スレーブ装置Ｃは、通知フレーム１２３を受信したときの時刻「Ｔｓ３」をタイムスタンプ時刻Ｔｓとして記憶する（図１６参照）。
【０２０７】
図１５に基づいて続きを説明する。
【０２０８】
（１７）スレーブ装置Ｃは、往復中継時間ＲＴＰの初期値「０」を設定した計測補助フレーム１２４を生成し、生成した計測補助フレーム１２４をマスタ装置宛てに送信する。
また、スレーブ装置Ｃは、往復中継時間ＲＴＰ「０」を記憶する。
【０２０９】
（１８）中間のスレーブ装置Ｂは、計測補助フレーム１２４を受信する。
（１９）スレーブ装置Ｂは、計測フレーム１２１の中継処理時間「α２」と計測応答フレーム１２２の中継処理時間「β１」（図１６参照）と計測補助フレーム１２４内の往復中継時間ＲＴＰ「０」との合計時間「α２＋β１」を算出する。
そして、スレーブ装置Ｂは、算出した合計時間「α１＋β１」を往復中継時間ＲＴＰとして計測補助フレーム１２４に設定し、計測補助フレーム１２４を送信する。
また、スレーブ装置Ｂは、往復中継時間ＲＴＰ「α２＋β１」を記憶する。
【０２１０】
（２０）中間のスレーブ装置Ａは、計測補助フレーム１２４を受信する。
（２１）スレーブ装置Ａは、計測フレーム１２１の中継処理時間「α１」と計測応答フレーム１２２の中継処理時間「β２」（図１６参照）と計測補助フレーム１２４内の往復中継時間ＲＴＰ「α２＋β１」との合計時間「α１＋α２＋β１＋β２」を算出する（図１６参照）。
そして、スレーブ装置Ａは、算出した合計時間「α１＋α２＋β１＋β２」を往復中継時間ＲＴＰとして計測補助フレーム１２４に設定し、計測補助フレーム１２４を送信する。
また、スレーブ装置Ａは、往復中継時間ＲＴＰ「α１＋α２＋β１＋β２」を記憶する（図１６参照）。
【０２１１】
（２２）マスタ装置は、計測補助フレーム１２４を受信する。
マスタ装置は、計測補助フレーム１２４に設定されている往復中継時間ＲＴＰを記憶する（図１６参照）。
（２３）マスタ装置は、マスタ往復伝搬遅延時間Ｄｍ’と往復中継時間ＲＴＰ「α１＋α２＋β１＋β２」とを用いて補正後マスタ往復伝搬遅延時間Ｄｍを算出する（下記式（３−４）参照）。
マスタ装置は、基準時刻Ｔｍと補正後マスタ往復伝搬遅延時間Ｄｍと先行中継時間ＳＦＰの初期値「０」とを設定して通知補助フレーム１２５を生成し、生成した通知補助フレーム１２５を末端のスレーブ装置Ｃ宛てに送信する。
【０２１２】
（２４）中間のスレーブ装置Ａは、通知補助フレーム１２５を受信する。
スレーブ装置Ａは、通知補助フレーム１２５の設定値（Ｔｍ、Ｄｍ、ＳＦＰ「０」）と記憶済みの計測値（Ｄｓ１’、α１＋α２＋β１＋β２、Ｔｓ１）（図１６参照）とを用いて補正値Ａｓ１を算出する（下記式（３−５）参照）。
そして、スレーブ装置Ａは、内部時計の時刻を補正値Ａｓ１だけ経過後の時刻に更新してマスタ装置と同期する。
（２５）スレーブ装置Ａは、通知フレーム１２３の中継準備時間「γ１」（図１６参照）を加算した先行中継時間ＳＦＰ「（０＋）γ１」を通知補助フレーム１２５に設定し、通知補助フレーム１２５を送信する。
【０２１３】
（２６）中間のスレーブ装置Ｂは、通知補助フレーム１２５を受信する。
スレーブ装置Ｂは、通知補助フレーム１２５の設定値（Ｔｍ、Ｄｍ、ＳＦＰ「γ１」）と記憶済みの計測値（Ｄｓ２’、α２＋β１、Ｔｓ２）（図１６参照）とを用いて補正値Ａｓ２を算出する（下記式（３−６）参照）。
そして、スレーブ装置Ｂは、内部時計の時刻を補正値Ａｓ２を加算した時刻に更新してマスタ装置と同期する。
（２７）スレーブ装置Ｂは、通知フレーム１２３の中継準備時間「γ２」（図１６参照）を加算した先行中継時間ＳＦＰ「γ１＋γ２」を通知補助フレーム１２５に設定し、通知補助フレーム１２５を送信する。
【０２１４】
（２８）末端のスレーブ装置Ｃは、通知補助フレーム１２５を受信する。
スレーブ装置Ｃは、通知補助フレーム１２５の設定値（Ｔｍ、Ｄｍ、ＳＦＰ「γ１＋γ２」）と記憶済みの計測値（Ｄｓ３’、ＲＴＰ「０」、Ｔｓ３）（図１６参照）とを用いて補正値Ａｓ３を算出する（下記式（３−７）参照）。
そして、スレーブ装置Ｃは、内部時計の時刻を補正値Ａｓ３を加算した時刻に更新してマスタ装置と同期する。
【０２１５】
【数６】
2012175567.tif 000008
【０２１６】
図１７、図１８は、実施の形態３における同期処理の一例を示す図である。
図１７に示すように、スレーブ装置Ｂの時刻がマスタ装置の時刻より「８０」だけ早い時刻（前の時刻）である場合、補正値Ａｓとして「８０」が算出される。この補正値Ａｓ「８０」をスレーブ装置Ｂの時刻に加算することにより、スレーブ装置Ｂの時刻を「８０」だけ遅い時刻（後の時刻）に補正し、スレーブ装置Ｂの時刻をマスタ装置の時刻に合わせることができる。
図１８に示すように、スレーブ装置Ｂの時刻がマスタ装置の時刻より「２０」だけ遅い時刻である場合、補正値Ａｓとして「−２０」が算出される。この補正値Ａｓ「−２０」をスレーブ装置Ｂの時刻に加算することにより、スレーブ装置Ｂの時刻を「２０」だけ早い時刻に補正し、スレーブ装置Ｂの時刻をマスタ装置の時刻に合わせることができる。
【０２１７】
上記の同期方法では複数の中継処理時間を合計した合計時間を各フレームに設定しているが、合計時間ではなく各中継処理時間を各フレームに設定しても構わない。
例えば、スレーブ装置Ａ・Ｂは計測補助フレーム１２４に各々の中継処理時間「α１」「α２」「β１」「β２」を設定する。そして、マスタ装置が各中継処理時間を合計して往復中継時間ＲＴＰ「α１＋α２＋β１＋β２」を算出する。
【０２１８】
以上により、実施の形態３の説明を終了する。
【符号の説明】
【０２１９】
１００  同期システム、１０１  通信ポート、１０２  通信ケーブル、１１１  計測フレーム、１１２  計測応答フレーム、１１３  通知フレーム、１２１  計測フレーム、１２２  計測応答フレーム、１２３  通知フレーム、１２４  計測補助フレーム、１２５  通知補助フレーム、２００  マスタ装置、２１０  マスタ装置通信部、２２０  マスタ装置フレーム生成部、２３０  マスタ装置算出部、２４０  マスタ装置計測部、２９０  マスタ装置記憶部、３００  スレーブ装置、３１０  スレーブ装置通信部、３２０  スレーブ装置フレーム処理部、３３０  スレーブ装置算出部、３４０  スレーブ装置計測部、３５０  スレーブ装置同期部、３９０  スレーブ装置記憶部、９０１  ＣＰＵ、９０２  バス、９０３  ＲＯＭ、９０４  ＲＡＭ、９０５  通信ボード、９１１  ディスプレイ装置、９１２  キーボード、９１３  マウス、９１４  ドライブ装置、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  プログラム群、９２３  ファイル群。
【図１】
2012175567.tif 000009
【図２】
2012175567.tif 000010
【図３】
2012175567.tif 000011
【図４】
2012175567.tif 000012
【図５】
2012175567.tif 000013
【図６】
2012175567.tif 000014
【図７】
2012175567.tif 000015
【図８】
2012175567.tif 000016
【図９】
2012175567.tif 000017
【図１０】
2012175567.tif 000018
【図１１】
2012175567.tif 000019
【図１２】
2012175567.tif 000020
【図１３】
2012175567.tif 000021
【図１４】
2012175567.tif 000022
【図１５】
2012175567.tif 000023
【図１６】
2012175567.tif 000024
【図１７】
2012175567.tif 000025
【図１８】
2012175567.tif 000026