(57)【特許請求の範囲】
【請求項１】
フレームの転送順序が設けられている複数のスレーブ装置を管理するマスタ装置であって、
同期フレームの送信時刻から所定時間後の時点を、前記複数のスレーブ装置で時刻を同期させる同期ポイントとする同期ポイント設定部と、
転送順序の始点である始点スレーブ装置に遅延計測用の計測フレームを送信し、前記始点スレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する計測フレーム処理部と、
前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記マスタ装置から前記始点スレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記所定時間から減じて補正値を生成する補正値生成部と、
前記補正値が含まれる補正フレームを前記始点スレーブ装置に送信する補正フレーム処理部と、
前記始点スレーブ装置が、前記補正フレームを受信し、前記始点スレーブ装置における前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、前記始点スレーブ装置における前記同期フレームの受信時刻から前記同期ポイントまでのオフセット時間を算出し、次の転送順序のスレーブ装置に計測フレームを送信するとともに次の転送順序のスレーブ装置から計測応答フレームを受信し、前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記始点スレーブ装置から次の転送順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記オフセット時間から減じて補正値を生成し、当該補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信し、以降同様の手順にて前記複数のスレーブ装置が転送順序に従って各々のオフセット時間を算出した後に、
各スレーブ装置における受信時刻が各スレーブ装置のオフセット時間の起点となる同期フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記同期フレームを転送させ、各スレーブ装置における前記同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に前記同期ポイントを導出させて前記同期ポイントにて各スレーブ装置の時刻を同期させる同期フレーム処理部とを有することを特徴とするマスタ装置。
【請求項２】
前記マスタ装置は、
前記計測フレーム処理部による計測フレームの送信から前記同期フレーム処理部による同期フレームの送信後の各スレーブ装置における時刻同期までを単位とする同期処理セッションを所定周期ごとに行うことを特徴とする請求項１に記載のマスタ装置。
【請求項３】
前記マスタ装置は、
複数の同期処理セッションで算出された複数のオフセット時間を記憶する複数のスレーブ装置を管理し、
前記補正フレーム処理部は、
前記補正フレームの送信後に、前記始点スレーブ装置から、前記複数のスレーブ装置においてオフセット時間が算出されたことを通知する補正完了フレームを受信し、
前記マスタ装置は、更に、
前記補正フレーム処理部により前記補正完了フレームが受信された後に、現在の同期処理セッションで算出したオフセット時間を選択して前記同期ポイントを導出するよう各スレーブ装置に指示する更新フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記更新フレームを転送させる更新フレーム処理部を有し、
前記同期フレーム処理部は、
前記更新フレーム処理部により前記更新フレームが送信された後に、前記同期フレームを前記始点スレーブ装置に送信することを特徴とする請求項２に記載のマスタ装置。
【請求項４】
前記マスタ装置は、
複数の同期処理セッションで算出された複数のオフセット時間を、各同期処理セッションを表すセッションＩＤと対応付けて記憶する複数のスレーブ装置を管理し、
前記更新フレーム処理部は、
前記補正フレーム処理部により前記補正完了フレームが受信された後に、現在の同期処理セッションを表すセッションＩＤが記述されている更新フレームを送信することを特徴とする請求項３に記載のマスタ装置。
【請求項５】
前記同期フレーム処理部は、
ｎ（ｎ≧１）回目の同期処理セッションにおいて、各スレーブ装置が同期ポイントにおいて時刻を同期させた後であって、ｎ＋１回目の同期処理セッションが開始する前に、
各スレーブ装置における受信時刻が各スレーブ装置のオフセット時間の起点となる再同期フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記再同期フレームを転送させ、各スレーブ装置における前記再同期フレームの受信時刻と各スレーブ装置でｎ回目の同期処理セッションで算出したオフセット時間との加算により各スレーブ装置に同期ポイントを再度導出させて前記同期ポイントにて各スレーブ装置の時刻を再度同期させることを特徴とする請求項２〜４のいずれかに記載のマスタ装置。
【請求項６】
前記同期フレーム処理部は、
ｎ（ｎ≧１）回目の同期処理セッションにおいて、各スレーブ装置が同期ポイントにおいて時刻を同期させ、更に、ｎ＋１回目の同期処理セッションにおいて、各スレーブ装置が新たなオフセット時間を算出した後であって、前記更新フレーム処理部により更新フレームが送信される前に、
各スレーブ装置における受信時刻が各スレーブ装置のオフセット時間の起点となる再同期フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記再同期フレームを転送させ、各スレーブ装置における前記再同期フレームの受信時刻と各スレーブ装置でｎ回目の同期処理セッションで算出したオフセット時間との加算により各スレーブ装置に同期ポイントを再度導出させて前記同期ポイントにて各スレーブ装置の時刻を再度同期させることを特徴とする請求項３又は４に記載のマスタ装置。
【請求項７】
前記マスタ装置は、
複数の同期処理セッションで算出された複数のオフセット時間を、各同期処理セッションを表すセッションＩＤと対応付けて記憶する複数のスレーブ装置を管理し、
前記同期フレーム処理部は、
前記ｎ回目の同期処理セッションを表すセッションＩＤが記述されている再同期フレームを前記始点スレーブ装置に送信し、当該セッションＩＤに基づいて、各スレーブ装置における前記再同期フレームの受信時刻と各スレーブ装置でｎ回目の同期処理セッションで算出されたオフセット時間とを加算させることを特徴とする請求項５又は６に記載のマスタ装置。
【請求項８】
前記マスタ装置は、更に、
前記同期フレーム処理部による同期フレームの送信後、前記同期ポイントにおいて自装置の時刻を前記複数のスレーブ装置の時刻と同期させる同期処理部を有することを特徴とする請求項１〜７のいずれかに記載のマスタ装置。
【請求項９】
前記マスタ装置は、
前記始点スレーブ装置への下り通信フレームの送信と前記始点スレーブ装置からの上り通信フレームの受信を周期的に繰り返し、
前記計測フレーム処理部は、
下り通信フレームの送信タイミングで前記計測フレームを送信し、上り通信フレームの受信タイミングで前記計測応答フレームを受信し、
前記補正フレーム処理部は、
下り通信フレームの送信タイミングで前記補正フレームを送信し、
前記同期フレーム処理部は、
下り通信フレームの送信タイミングで前記同期フレームを送信することを特徴とする請求項１〜８のいずれかに記載のマスタ装置。
【請求項１０】
フレームの転送順序が設けられている複数のスレーブ装置と、フレームを送信するマスタ装置とを有する通信システムに含まれるスレーブ装置であって、
前記マスタ装置又は前の転送順序のスレーブ装置から遅延計測用の計測フレームを受信し、前記計測フレームに対する応答である計測応答フレームを前記計測フレームの送信元に送信する第１の計測フレーム処理部と、
前記マスタ装置又は前の転送順序のスレーブ装置から、前記計測フレーム及び前記計測応答フレームにより計測された遅延に基づき算出された補正値が含まれる補正フレームを受信する第１の補正フレーム処理部と、
前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、同期フレームの受信時刻から、他のスレーブ装置及び前記マスタ装置と時刻を同期させるタイミングである同期ポイントまでのオフセット時間を算出するオフセット時間算出部と、
次の転送順序のスレーブ装置に遅延計測用の計測フレームを送信し、次の転送順序のスレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する第２の計測フレーム処理部と、
前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記スレーブ装置から次の順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、次の順序のスレーブ装置おけるオフセット時間の計算に用いられる補正値を、前記オフセット時間算出部により算出された前記オフセット時間から前記遅延時間を減じて生成する補正値生成部と、
前記補正値生成部により生成された前記補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信する第２の補正フレーム処理部と、
前記マスタ装置又は前の転送順序のスレーブ装置から同期フレームを受信し、受信した前記同期フレームを次の転送順序のスレーブ装置に送信する同期フレーム処理部と、
前記同期フレームの受信時刻に、前記オフセット時間算出部により算出された前記オフセット時間を加算して前記同期ポイントを導出し、導出した前記同期ポイントにて他のスレーブ装置及び前記マスタ装置と時刻を同期させる同期処理部とを有することを特徴とするスレーブ装置。
【請求項１１】
前記スレーブ装置は、
前記第１の計測フレーム処理部による計測フレームの受信から前記同期処理部による時刻同期までを単位とする同期処理セッションを所定周期ごとに行うことを特徴とする請求項１０に記載のスレーブ装置。
【請求項１２】
前記スレーブ装置は、更に、
複数の同期処理セッションで算出された複数のオフセット時間を記憶する記憶部と、
前記マスタ装置又は前の転送順序のスレーブ装置から、現在の同期処理セッションにおいて算出したオフセット時間を選択して前記同期ポイントを導出するよう指示する更新フレームを受信し、受信した前記更新フレームを次の転送順序のスレーブ装置に送信する更新フレーム処理部とを有し、
前記同期処理部は、
前記更新フレームに従い、現在の同期処理セッションで算出したオフセット時間を前記記憶部から抽出し、前記同期フレームの受信時刻に、抽出したオフセット時間を加算して前記同期ポイントを導出することを特徴とする請求項１１に記載のスレーブ装置。
【請求項１３】
前記記憶部は、
複数の同期処理セッションで算出された複数のオフセット時間を、各同期処理セッションを表すセッションＩＤと対応付けて記憶し、
前記更新フレーム処理部は、
現在の同期処理セッションを表すセッションＩＤが記述されている更新フレームを受信し、
前記同期処理部は、
前記更新フレームに記述されているセッションＩＤと対応付けられているオフセット時間を前記記憶部から抽出することを特徴とする請求項１２に記載のスレーブ装置。
【請求項１４】
前記スレーブ装置は、更に、
複数の同期処理セッションで算出された複数のオフセット時間を記憶する記憶部を有し、
前記同期フレーム処理部は、
ｎ（ｎ≧１）回目の同期処理セッションにおいて、前記同期処理部が同期ポイントにおいて時刻を同期させた後であって、ｎ＋１回目の同期処理セッションが開始する前に、前記マスタ装置又は前の転送順序のスレーブ装置から再同期フレームを受信し、受信した前記再同期フレームを次の転送順序のスレーブ装置に送信し、
前記同期処理部は、
ｎ回目の同期処理セッションで算出されたオフセット時間を前記記憶部から抽出し、前記再同期フレームの受信時刻に、前記ｎ回目の同期処理セッションで算出されたオフセット時間を加算して同期ポイントを再度導出し、導出した同期ポイントにて他のスレーブ装置及び前記マスタ装置と時刻を再度同期させることを特徴とする請求項１１〜１３のいずれかに記載のスレーブ装置。
【請求項１５】
前記スレーブ装置は、更に、
複数の同期処理セッションで算出された複数のオフセット時間を記憶する記憶部を有し、
前記同期フレーム処理部は、
ｎ（ｎ≧１）回目の同期処理セッションにおいて、前記同期処理部が同期ポイントにおいて時刻を同期させ、更に、ｎ＋１回目の同期処理セッションにおいて、前記オフセット時間算出部が新たなオフセット時間を算出した後であって、前記更新フレーム処理部により更新フレームが受信される前に、前記マスタ装置又は前の転送順序のスレーブ装置から再同期フレームを受信し、受信した前記再同期フレームを次の転送順序のスレーブ装置に送信し、
前記同期処理部は、
ｎ回目の同期処理セッションで算出されたオフセット時間を前記記憶部から抽出し、前記再同期フレームの受信時刻に、前記ｎ回目の同期処理セッションで算出されたオフセット時間を加算して同期ポイントを再度導出し、導出した同期ポイントにて他のスレーブ装置及び前記マスタ装置と時刻を再度同期させることを特徴とする請求項１２又は１３に記載のスレーブ装置。
【請求項１６】
前記記憶部は、
複数の同期処理セッションで算出された複数のオフセット時間を、各同期処理セッションを表すセッションＩＤと対応付けて記憶し、
前記同期フレーム処理部は、
前記ｎ回目の同期処理セッションを表すセッションＩＤが記述されている再同期フレームを受信し、
前記同期処理部は、
前記再同期フレームに記述されているセッションＩＤと対応付けられているオフセット時間を前記記憶部から抽出し、前記再同期フレームの受信時刻に、抽出したオフセット時間を加算して同期ポイントを再度導出することを特徴とする請求項１４又は１５に記載のスレーブ装置。
【請求項１７】
前記スレーブ装置は、
前記マスタ装置又は前の転送順序のスレーブ装置からの下り通信フレームの受信及び次の転送順序のスレーブ装置への下り通信フレームの送信と、次の転送順序のスレーブ装置からの上り通信フレームの受信及び前記マスタ装置又は前の転送順序のスレーブ装置への上り通信フレームの送信とを周期的に繰り返し、
前記第１の計測フレーム処理部は、
下り通信フレームの受信タイミングで前記計測フレームを前記マスタ装置又は前の転送順序のスレーブ装置から受信し、上り通信フレームの送信タイミングで前記計測応答フレームを前記マスタ装置又は前の転送順序のスレーブ装置に送信し、
前記第１の補正フレーム処理部は、
下り通信フレームの受信タイミングで前記補正フレームを前記マスタ装置又は前の転送順序のスレーブ装置から受信し、
前記第２の計測フレーム処理部は、
下り通信フレームの送信タイミングで前記計測フレームを次の転送順序のスレーブ装置に送信し、上り通信フレームの受信タイミングで前記計測応答フレームを次の転送順序のスレーブ装置から受信し、
前記第２の補正フレーム処理部は、
下り通信フレームの送信タイミングで前記補正フレームを次の転送順序のスレーブ装置に送信し、
前記同期フレーム処理部は、
下り通信フレームの受信タイミングで前記同期フレームを前記マスタ装置又は前の転送順序のスレーブ装置から受信し、下り通信フレームの送信タイミングで前記同期フレームを次の転送順序のスレーブ装置に送信することを特徴とする請求項１０〜１６のいずれかに記載のスレーブ装置。
【請求項１８】
フレームの転送順序が設けられている複数のスレーブ装置を管理するマスタ装置が行う時刻同期方法であって、
前記マスタ装置が、同期フレームの送信時刻から所定時間後の時点を、前記複数のスレーブ装置で時刻を同期させる同期ポイントとする同期ポイント設定ステップと、
前記マスタ装置が、転送順序の始点である始点スレーブ装置に遅延計測用の計測フレームを送信し、前記始点スレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する計測フレーム処理ステップと、
前記マスタ装置が、前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記マスタ装置から前記始点スレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記所定時間から減じて補正値を生成する補正値生成ステップと、
前記マスタ装置が、前記補正値が含まれる補正フレームを前記始点スレーブ装置に送信する補正フレーム処理ステップと、
前記始点スレーブ装置が、前記補正フレームを受信し、前記始点スレーブ装置における前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、前記始点スレーブ装置における前記同期フレームの受信時刻から前記同期ポイントまでのオフセット時間を算出し、次の転送順序のスレーブ装置に計測フレームを送信するとともに次の転送順序のスレーブ装置から計測応答フレームを受信し、前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記始点スレーブ装置から次の転送順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記オフセット時間から減じて補正値を生成し、当該補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信し、以降同様の手順にて前記複数のスレーブ装置が転送順序に従って各々のオフセット時間を算出した後に、
前記マスタ装置が、各スレーブ装置における受信時刻が各スレーブ装置のオフセット時間の起点となる同期フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記同期フレームを転送させ、各スレーブ装置における前記同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に前記同期ポイントを導出させて前記同期ポイントにて各スレーブ装置の時刻を同期させる同期フレーム処理ステップとを有することを特徴とする時刻同期方法。
【請求項１９】
フレームの転送順序が設けられている複数のスレーブ装置と、フレームを送信するマスタ装置とを有する通信システムに含まれるスレーブ装置が行う時刻同期方法であって、
前記スレーブ装置が、前記マスタ装置又は前の転送順序のスレーブ装置から遅延計測用の計測フレームを受信し、前記計測フレームに対する応答である計測応答フレームを前記計測フレームの送信元に送信する第１の計測フレーム処理ステップと、
前記スレーブ装置が、前記マスタ装置又は前の転送順序のスレーブ装置から、前記計測フレーム及び前記計測応答フレームにより計測された遅延に基づき算出された補正値が含まれる補正フレームを受信する第１の補正フレーム処理ステップと、
前記スレーブ装置が、前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、同期フレームの受信時刻から、他のスレーブ装置及び前記マスタ装置と時刻を同期させるタイミングである同期ポイントまでのオフセット時間を算出するオフセット時間算出ステップと、
前記スレーブ装置が、次の転送順序のスレーブ装置に遅延計測用の計測フレームを送信し、次の転送順序のスレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する第２の計測フレーム処理ステップと、
前記スレーブ装置が、前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記スレーブ装置から次の順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、次の順序のスレーブ装置おけるオフセット時間の計算に用いられる補正値を、前記オフセット時間算出ステップにより算出された前記オフセット時間から前記遅延時間を減じて生成する補正値生成ステップと、
前記スレーブ装置が、前記補正値生成ステップにより生成された前記補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信する第２の補正フレーム処理ステップと、
前記スレーブ装置が、前記マスタ装置又は前の転送順序のスレーブ装置から同期フレームを受信し、受信した前記同期フレームを次の転送順序のスレーブ装置に送信する同期フレーム処理ステップと、
前記スレーブ装置が、前記同期フレームの受信時刻に、前記オフセット時間算出ステップにより算出された前記オフセット時間を加算して前記同期ポイントを導出し、導出した前記同期ポイントにて他のスレーブ装置及び前記マスタ装置と時刻を同期させる同期処理ステップとを有することを特徴とする時刻同期方法。
【請求項２０】
フレームの転送順序が設けられている複数のスレーブ装置を管理するコンピュータであるマスタ装置に、
同期フレームの送信時刻から所定時間後の時点を、前記複数のスレーブ装置で時刻を同期させる同期ポイントとする同期ポイント設定ステップと、
転送順序の始点である始点スレーブ装置に遅延計測用の計測フレームを送信し、前記始点スレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する計測フレーム処理ステップと、
前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記マスタ装置から前記始点スレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記所定時間から減じて補正値を生成する補正値生成ステップと、
前記マスタ装置が、前記補正値が含まれる補正フレームを前記始点スレーブ装置に送信する補正フレーム処理ステップと、
前記始点スレーブ装置が、前記補正フレームを受信し、前記始点スレーブ装置における前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、前記始点スレーブ装置における前記同期フレームの受信時刻から前記同期ポイントまでのオフセット時間を算出し、次の転送順序のスレーブ装置に計測フレームを送信するとともに次の転送順序のスレーブ装置から計測応答フレームを受信し、前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記始点スレーブ装置から次の転送順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記オフセット時間から減じて補正値を生成し、当該補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信し、以降同様の手順にて前記複数のスレーブ装置が転送順序に従って各々のオフセット時間を算出した後に、
各スレーブ装置における受信時刻が各スレーブ装置のオフセット時間の起点となる同期フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記同期フレームを転送させ、各スレーブ装置における前記同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に前記同期ポイントを導出させて前記同期ポイントにて各スレーブ装置の時刻を同期させる同期フレーム処理ステップとを実行させることを特徴とするプログラム。
【請求項２１】
フレームの転送順序が設けられている複数のスレーブ装置と、フレームを送信するマスタ装置とを有する通信システムに含まれるコンピュータであるスレーブ装置に、
前記マスタ装置又は前の転送順序のスレーブ装置から遅延計測用の計測フレームを受信し、前記計測フレームに対する応答である計測応答フレームを前記計測フレームの送信元に送信する第１の計測フレーム処理ステップと、
前記マスタ装置又は前の転送順序のスレーブ装置から、前記計測フレーム及び前記計測応答フレームにより計測された遅延に基づき算出された補正値が含まれる補正フレームを受信する第１の補正フレーム処理ステップと、
前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、同期フレームの受信時刻から、他のスレーブ装置及び前記マスタ装置と時刻を同期させるタイミングである同期ポイントまでのオフセット時間を算出するオフセット時間算出ステップと、
次の転送順序のスレーブ装置に遅延計測用の計測フレームを送信し、次の転送順序のスレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する第２の計測フレーム処理ステップと、
前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記スレーブ装置から次の順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、次の順序のスレーブ装置おけるオフセット時間の計算に用いられる補正値を、前記オフセット時間算出ステップにより算出された前記オフセット時間から前記遅延時間を減じて生成する補正値生成ステップと、
前記補正値生成ステップにより生成された前記補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信する第２の補正フレーム処理ステップと、
前記マスタ装置又は前の転送順序のスレーブ装置から同期フレームを受信し、受信した前記同期フレームを次の転送順序のスレーブ装置に送信する同期フレーム処理ステップと、
前記同期フレームの受信時刻に、前記オフセット時間算出ステップにより算出された前記オフセット時間を加算して前記同期ポイントを導出し、導出した前記同期ポイントにて他のスレーブ装置及び前記マスタ装置と時刻を同期させる同期処理ステップとを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタ装置と複数のスレーブ装置が含まれる通信システムにおいて、マスタ装置と複数のスレーブ装置の間で時刻を同期させる技術に関する。
【背景技術】
【０００２】
従来の同期方式では、マスタ装置（以下、単にマスタともいう）とスレーブ装置（以下、単にスレーブともいう）間の伝播遅延を計測し補正することよって、マスタ装置とスレーブ装置の同期を行っている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０１−２３１６１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、マスタ−スレーブ間の伝播遅延を計測し補正することが開示されている。
しかし、マスタと１つのスレーブ間のみの技術について述べられており、マスタと複数のスレーブ間の同期に関しては開示されていない。
また、同期システムではクロック偏差や伝播遅延のジッタが時間と共に発生するため周期的に伝播遅延を計測し補正することが必要となるが、特許文献１で周期的に補正を実現した場合、スレーブ装置が段階的に同期していくためスレーブ間の同期ずれが蓄積し、同期精度が大幅に劣化するという課題がある。
【０００５】
この発明は、このような課題を解決することを主な目的としており、マスタ装置と複数のスレーブ装置の時刻を同期するとともに、周期的に補正を実施するときに、スレーブ装置間の同期ずれが蓄積し同期精度が劣化するのを防止することを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るマスタ装置は、
フレームの転送順序が設けられている複数のスレーブ装置を管理するマスタ装置であって、
同期フレームの送信時刻から所定時間後の時点を、前記複数のスレーブ装置で時刻を同期させる同期ポイントとする同期ポイント設定部と、
転送順序の始点である始点スレーブ装置に遅延計測用の計測フレームを送信し、前記始点スレーブ装置から前記計測フレームに対する応答である計測応答フレームを受信する計測フレーム処理部と、
前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記マスタ装置から前記始点スレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記同期ポイントから減じて補正値を生成する補正値生成部と、
前記補正値が含まれる補正フレームを前記始点スレーブ装置に送信する補正フレーム処理部と、
前記始点スレーブ装置が、前記補正フレームを受信し、前記始点スレーブ装置における前記計測フレームの受信から前記計測応答フレームの送信までの時間と前記補正フレームに含まれる前記補正値とに基づき、前記始点スレーブ装置における前記同期フレームの受信時刻から前記同期ポイントまでのオフセット時間を算出し、次の転送順序のスレーブ装置に計測フレームを送信するとともに次の転送順序のスレーブ装置から計測応答フレームを受信し、前記計測フレームの送信から前記計測応答フレームの受信までの時間に基づき、前記始点スレーブ装置から次の転送順序のスレーブ装置にフレームを送信する際に生じる遅延時間を算出し、算出した遅延時間を前記オフセット時間から減じて補正値を生成し、当該補正値が含まれる補正フレームを次の転送順序のスレーブ装置に送信し、以降同様の手順にて前記複数のスレーブ装置が転送順序に従って各々のオフセット時間を算出した後に、
各スレーブ装置における受信時刻が各スレーブ装置のオフセット時間の起点となる同期フレームを前記始点スレーブ装置に送信し、前記複数のスレーブ装置間で転送順序に従って前記同期フレームを転送させ、各スレーブ装置における前記同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に前記同期ポイントを導出させて前記同期ポイントにて各スレーブ装置の時刻を同期させる同期フレーム処理部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、複数のスレーブ装置が各々のオフセット時間を算出した後に、同期フレームを複数のスレーブ装置間で転送順序に従って転送させ、各スレーブ装置における同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に同期ポイントを導出させて同期ポイントにて各スレーブ装置の時刻を同期させるため、複数のスレーブ装置間で段階的に同期させていく同期方式で発生するスレーブ装置間の同期ずれの蓄積を回避することができ、高精度な同期を実現することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る通信システムの構成例を示す図。
【図２】実施の形態１に係るマスタ装置の構成例を示す図。
【図３】実施の形態１に係るスレーブ装置の構成例を示す図。
【図４】実施の形態１に係る計測フレーム等のフレームフォーマットの例を示す図。
【図５】実施の形態１に係るマスタ装置、スレーブ装置の動作原理を示す図。
【図６】実施の形態１に係る同期ずれを説明する図。
【図７】実施の形態１に係る遅延計測手順を示す図。
【図８】実施の形態１に係る遅延計測手順を示す図。
【図９】実施の形態２に係る遅延計測手順を示す図。
【図１０】実施の形態１に係るマスタ装置の動作例を示すフローチャート図。
【図１１】実施の形態１に係るスレーブ装置の動作例を示すフローチャート図。
【図１２】実施の形態１に係るスレーブ装置の動作例を示すフローチャート図。
【図１３】実施の形態１及びに係るマスタ装置及びスレーブ装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１は、本実施の形態に係る通信システムの構成例を示す。
図１の例では、１つのマスタ装置１００と、３つのスレーブ装置２００から構成される。
スレーブ装置２００の数は、３つでなくてもよく、任意の数でよい。
スレーブ装置２００は２つ以上の通信ポートを持ち、マスタ装置１００およびスレーブ装置２００間はケーブルにてディジーチェーンで接続される。
マスタ装置１００は、スレーブ装置２００の管理のためにフレームを送信する。
スレーブ装置２００には、フレームの転送順序が設けられており、図１の例では、マスタ装置１００から送信されたフレームは、スレーブ装置１、スレーブ装置２、スレーブ装置３の順に転送される。
また、逆に、マスタ装置１００からのフレームに対する応答が、スレーブ装置３、スレーブ装置２、スレーブ装置１の順に転送される。
なお、マスタ装置１００からのフレームを転送する際の転送順序の始点にあたるスレーブ装置２００は、始点スレーブ装置ともいう。図１の例では、スレーブ装置１が始点スレーブ装置である。
【００１０】
なお、本実施の形態では、マスタ装置１００もしくはスレーブ装置２００間を接続するケーブルのフレーム伝播遅延と、スレーブ装置２００がフレームを中継する場合に必要となる処理時間は、上り通信（スレーブ装置２００からマスタ装置１００への方向の通信）と下り通信（マスタ装置１００からスレーブ装置２００への方向の通信）で等しいものとする。
【００１１】
次に、図２を参照して、本実施の形態に係るマスタ装置１００の構成例を説明する。
【００１２】
図２において、同期ポイント設定部１０１は、後述する同期フレームの送信時刻から所定時間後の時点を、マスタ装置１００及び複数のスレーブ装置２００で時刻を同期させる同期ポイントとする。
同期ポイント設定部１０１は、例えば、同期フレームの送信時刻から１０秒後を同期ポイントとし、後述する同期処理部１０６が同期フレームの送信時刻から１０秒経過した時点で複数のスレーブ装置２００と時刻を同期させる。
また、後述するように、スレーブ装置１は、同期フレームの受信時刻からの調整時間であるオフセット時間を算出し、同期フレームの受信時刻にオフセット時間（例えば、９秒後）を加算した時点を同期ポイントとして導出し、マスタ装置１００から同期フレームを受信するとともに、受信した同期フレームをスレーブ装置２に転送し、更に、同期フレームの受信時刻から９秒経過した時点でマスタ装置１００及び他のスレーブ装置２００と時刻を同期させる。
同様に、スレーブ装置２は、スレーブ装置２における調整時間であるオフセット時間を算出し、同期フレームの受信時刻にオフセット時間（例えば、８秒後）を加算した時点を同期ポイントとして導出し、スレーブ装置１から同期フレームを受信するとともに、受信した同期フレームをスレーブ装置３に転送し、更に、同期フレームの受信時刻から８秒経過した時点でマスタ装置１００及び他のスレーブ装置２００と時刻を同期させる。
また、スレーブ装置３は、スレーブ装置３における調整時間であるオフセット時間を算出し、同期フレームの受信時刻にオフセット時間（例えば、７秒後）を加算した時点を同期ポイントとして導出し、スレーブ装置２から同期フレームを受信し、更に、同期フレームの受信時刻から７秒経過した時点でマスタ装置１００及び他のスレーブ装置２００と時刻を同期させる。
【００１３】
同期ポイント記憶部１０２は、同期ポイント設定部１０１により決定された同期ポイントを記憶する。
また、同期ポイント記憶部１０２は、記憶している同期ポイントを補正値生成部１０３に通知する。
【００１４】
補正値生成部１０３は、スレーブ装置１に通知する補正値を生成する。
より具体的には、補正値生成部１０３は、伝播遅延計測部１０４から伝播遅延値を受け取り、また、同期ポイント記憶部１０２から同期ポイントを受け取り、伝播遅延値と同期ポイントから、補正値を算出する。
補正値の生成手順は、後述する。
【００１５】
伝播遅延計測部１０４は、後述する計測フレームの送信タイミングと計測応答フレームの受信タイミングを通知され、計測フレームの送信タイミングから計測応答フレームの受信タイミングまでの時間（遅延計測値）を計測する。
【００１６】
フレーム処理部１０５は、計測フレームをスレーブ装置１に送信し、計測応答フレームをスレーブ装置１から受信し、また、補正フレームをスレーブ装置１に送信し、補正完了フレームをスレーブ装置１から受信し、更新フレーム及び同期フレームをスレーブ装置１に送信する。
フレーム処理部１０５は、計測フレーム処理部、補正フレーム処理部、更新フレーム処理部及び同期フレーム処理部の例である。
【００１７】
ここで、計測フレームとは、ネットワークの伝播遅延の計測の開始を指示するためのフレームである。
計測応答フレームとは、計測フレームに対するスレーブ装置１の応答であり、ネットワークの伝播遅延の計測の終了を指示するためのフレームである。
補正フレームは、補正値生成部１０３で生成された補正値を含み、補正値をスレーブ装置１に通知するためのフレームである。
補正完了フレームは、全てのスレーブ装置２００でオフセット時間の算出が完了したことをマスタ装置１００に通知するためのフレームである。
更新フレームは、現在の同期処理セッションで算出したオフセット時間を選択して同期ポイントを導出するよう各スレーブ装置２００に指示するフレームである。
同期処理セッションについては、後述する。
同期フレームは、各スレーブ装置２００における受信時刻が各スレーブ装置２００のオフセット時間の起点となるフレームである。
【００１８】
なお、フレーム処理部１０５は、計測フレームの送信タイミングと計測応答フレームの受信タイミングを伝播遅延計測部１０４に通知する。
また、フレーム処理部１０５は、補正値生成部１０３から、補正値を受け取り、この補正値を補正フレームとしてスレーブ装置１に送信する。
また、詳細は後述するが、フレーム処理部１０５は、各スレーブ装置２００がオフセット時間を生成し、補正完了フレームをスレーブ装置１から受信した後に、更新フレームを送信し、更に、その後に同期フレームを送信する。
そして、フレーム処理部１０５は、複数のスレーブ装置２００間で転送順序に従って同期フレームを転送させ、各スレーブ装置２００における同期フレームの受信時刻と各スレーブ装置２００で算出したオフセット時間との加算により各スレーブ装置に同期ポイントを導出させて同期ポイントにて各スレーブ装置２００の時刻を同期させる。
【００１９】
また、本実施の形態では、フレーム処理部１０５によるスレーブ装置１への計測フレームの送信からフレーム処理部１０５による同期フレームの送信後の各スレーブ装置２００における時刻同期までを同期処理セッションと称する。
本実施の形態では、マスタ装置１００及び複数のスレーブ装置２００は、所定周期ごとに同期処理セッションを繰り返し行う。
このため、同期処理セッションごとに、各スレーブ装置２００は、オフセット時間を算出することになる。
更新フレームは、同期処理セッションごとに算出されたオフセット時間のうち、現在の（最新の）同期処理セッションで生成されたオフセット時間を選択して、同期ポイントを導出するよう指示するフレームである。
なお、各同期処理セッションには、識別子であるセッションＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）が設定される。
なお、以降では、セッションＩＤは、計測ＩＤともいう。
また、後述するように、計測フレーム、計測応答フレーム、補正フレーム、補正完了フレーム、更新フレーム、同期フレームには、セッションＩＤが記述される。
【００２０】
次に、図３を参照して、本実施の形態に係るスレーブ装置２００の構成例を説明する。
【００２１】
図３において、フレーム処理部２０１は、計測フレームをマスタ装置１００又は前の転送順序のスレーブ装置２００から受信し、計測応答フレームをマスタ装置１００又は前の転送順序のスレーブ装置２００に送信する。
更に、フレーム処理部２０１は、次の転送順序のスレーブ装置２００に計測フレームを送信し、次の転送順序のスレーブ装置２００から計測応答フレームを受信する。
また、フレーム処理部２０１は、補正フレームをマスタ装置１００又は前の転送順序のスレーブ装置２００から受信し、また、後述の補正値生成部２０７により生成された補正値を含む補正フレームを次の転送順序のスレーブ装置２００に送信する。
また、フレーム処理部２０１は、次の転送順序のスレーブ装置２００から補正完了フレームを受信し、マスタ装置１００又は前の転送順序のスレーブ装置２００に補正完了フレームを転送する。
また、フレーム処理部２０１は、マスタ装置１００又は前の転送順序のスレーブ装置２００から更新フレームを受信し、受信した更新フレームを次の転送順序のスレーブ装置２００に送信する。
また、フレーム処理部２０１は、マスタ装置１００又は前の転送順序のスレーブ装置２００から同期フレームを受信し、受信した同期フレームを次の転送順序のスレーブ装置２００に送信する。
【００２２】
また、フレーム処理部２０１は、マスタ装置１００又は前の転送順序のスレーブ装置２００からの計測フレームの受信タイミングとマスタ装置１００又は前の転送順序のスレーブ装置２００への計測応答フレームの送信タイミングを後述の伝播遅延計測部２０６に通知する。
更に、フレーム処理部２０１は、次の転送順序のスレーブ装置２００への計測フレームの送信タイミングと次の転送順序のスレーブ装置２００からの計測応答フレームの受信タイミングを後述の伝播遅延計測部２０６に通知する。
また、フレーム処理部２０１は、補正フレームに含まれる補正値を、後述のオフセット時間算出部２０２に通知する。
また、フレーム処理部２０１は、後述の補正値生成部２０７から、補正値を受け取り、この補正値を補正フレームで次の転送順序のスレーブ装置２００に通知する。
また、フレーム処理部２０１は、更新フレームを受信したことを、後述の有効オフセット時間選択部２０５に通知する。
また、フレーム処理部２０１は、後述の同期ポイント算出部２０８に、同期フレームを受信したことを通知する。
なお、フレーム処理部２０１は、第１の計測フレーム処理部、第２の計測フレーム処理部、第１の補正フレーム処理部、第２の補正フレーム処理部、更新フレーム処理部及び同期フレーム処理部の例である。
【００２３】
オフセット時間算出部２０２は、マスタ装置１００又は前の転送順序のスレーブ装置２００からの計測フレームの受信からマスタ装置１００又は前の転送順序のスレーブ装置２００への計測応答フレームの送信までの時間と、受信した補正フレームに含まれる補正値とに基づき、同期フレームの受信時刻から、他のスレーブ装置２００及びマスタ装置１００と時刻を同期させるタイミングである同期ポイントまでのオフセット時間を算出する。
【００２４】
第一の記憶部２０３は、オフセット時間算出部２０２からオフセット時間を受け取り、記憶する。
また、第二の記憶部２０４も、オフセット時間算出部２０２からオフセット時間を受け取り、記憶する。
第一の記憶部２０３と第二の記憶部２０４は、異なる同期処理セッションで算出されたオフセット時間を、対象となる同期処理セッションのセッションＩＤと対応付けて記憶する。
例えば、第一の記憶部２０３がｎ回目の同期処理セッションで算出されたオフセット時間を、例えば、セッションＩＤ：ｎと対応付けて記憶し、第二の記憶部２０４がｎ＋１回目の同期処理セッションで算出されたオフセット時間を、例えば、セッションＩＤ：ｎ＋１と対応付けて記憶する。
また、第一の記憶部２０３と第二の記憶部２０４は、後述の有効オフセット時間選択部２０５に、記憶してあるオフセット時間を通知する。
第一の記憶部２０３と第二の記憶部２０４は、記憶部の例である。
【００２５】
有効オフセット時間選択部２０５は、フレーム処理部２０１がマスタ装置１００又は前の転送順序のスレーブ装置２００から更新フレームを受信した際に、更新フレームに記述されているセッションＩＤをフレーム処理部２０１から通知される。
そして、有効オフセット時間選択部２０５は、第一の記憶部２０３及び第二の記憶部２０４の各々からオフセット時間及びセッションＩＤを受け取り、フレーム処理部２０１から通知されたセッションＩＤと一致するセッションＩＤに対応付けられているオフセット時間を同期ポイントの導出に用いるオフセット時間として選択する。
そして、有効オフセット時間選択部２０５は、選択したオフセット時間を同期ポイント算出部２０８に通知する。
【００２６】
伝播遅延計測部２０６は、フレーム処理部２０１から、マスタ装置１００又は前の転送順序のスレーブ装置２００からの計測フレームの受信タイミングと、マスタ装置１００又は前の転送順序のスレーブ装置２００への計測応答フレームの送信タイミングの通知を受け、受信タイミングから送信タイミングまでの時間（遅延計測値）を計測する。
また、伝播遅延計測部２０６は、フレーム処理部２０１から、次の転送順序のスレーブ装置２００への計測フレームの送信タイミングと、次の転送順序のスレーブ装置２００からの計測応答フレームの受信タイミングの通知を受け、送信タイミングから受信タイミングまでの時間（遅延計測値）を計測する。
【００２７】
補正値生成部２０７は、伝播遅延計測部２０６から遅延計測値を受け取る。この遅延計測値は、マスタ装置１００又は前の転送順序のスレーブ装置２００からの計測フレームの受信タイミングとマスタ装置１００又は前の転送順序のスレーブ装置２００への計測応答フレームの送信タイミングの間の時間である。
また、補正値生成部２０７は、オフセット時間算出部２０２からオフセット時間の通知を受ける。
そして、補正値生成部２０７は、遅延計測値とオフセット時間から補正値を生成する。
生成した補正値は、次の転送順序のスレーブ装置２００に補正フレームとして通知する。
なお、補正値生成部２０７による補正値の生成手順は、後述する。
【００２８】
同期ポイント算出部２０８は、有効オフセット時間選択部２０５から有効としたオフセット時間を受け取る。
また、同期ポイント算出部２０８は、フレーム処理部２０１から同期フレームの受信の通知を受け取る。
そして、同期ポイント算出部２０８は、同期フレームの受信の通知とオフセット時間から、同期ポイントの時刻を算出する。
より具体的には、同期ポイント算出部２０８は、同期フレームの受信時刻に、有効オフセット時間選択部２０５から受け取ったオフセット時間を加算して同期ポイントを導出する。
そして、同期ポイント算出部２０８は、導出した同期ポイントにて他のスレーブ装置２００及びマスタ装置１００と時刻を同期させる。
同期ポイント算出部２９８は、同期処理部の例である。
【００２９】
図４は、本実施の形態に係るマスタ装置１００とスレーブ装置２００が送受信するフレームのフォーマットを示す構成図である。
図４（ａ）は、計測フレームのフレームフォーマットを示し、図４（ｂ）は、計測応答フレームのフレームフォーマットを示す。
また、図４（ｃ）は、補正フレームのフレームフォーマットを示し、図４（ｄ）は、補正完了フレームのフレームフォーマットを示す。
図４（ｅ）は、更新フレームのフレームフォーマットを示し、図４（ｆ）は、同期フレームのフレームフォーマットを示す。
各フレームで定義されているフィールドには、以下のような情報が格納される。
宛先フィールドには、フレームを受信するマスタ装置１００もしくはスレーブ装置２００を識別するＩＤを格納する。
全てのマスタ装置１００もしくはスレーブ装置２００に受信させるためには、ブロードキャストアドレスと呼ばれる特定のアドレスを指定する。
送信元フィールドには、フレームを送信するマスタ装置１００もしくはスレーブ装置２００を識別するＩＤを格納する。
フレーム種別フィールドには、フレームの種類を識別するためのＩＤを格納する。
計測ＩＤフィールドには、マスタ装置１００もしくはスレーブ装置２００が実施する遅延計測の順を識別するためのＩＤを格納する。
つまり、計測ＩＤフィールドには、同期処理セッションを識別するためのＩＤ（セッションＩＤ）を格納する。
同じ同期処理セッションで送受信される計測フレーム、計測フレーム、補正フレーム、補正完了フレーム、更新フレーム、同期フレームには、共通のセッションＩＤ（計測ＩＤ）が格納される。
また、補正フレームには、補正値が含まれる。
【００３０】
また、本実施の形態に係る通信システムの前提として、スレーブ装置２００がフレームを中継する処理時間とフレームを折り返す時間は等しい。
なお、フレームの中継とは、ある通信ポートＡから受け取ったフレームを別の通信ポートＢから送信する処理のことを示す。
また、フレームの折り返しとは、ある通信ポートＡから受け取ったフレームを同じ通信ポートＡから送信する処理のことを示す。
【００３１】
図５は、本実施の形態に係る同期方式の概要を示したものである。
本実施の形態では、始めに、マスタ装置１００が隣接スレーブ装置２００（始点スレーブ装置）と計測フレーム及び計測応答フレームを送受信して隣接スレーブ装置２００に同期ポイント算出のためのオフセット時間を算出させ、オフセット時間を算出した隣接スレーブ装置２００がマスタ装置１００の代わりとなりさらに隣接するスレーブ装置２００と計測フレーム及び計測応答フレームを送受信して次のスレーブ装置２００に同期ポイント算出のためのオフセット時間を算出させる。
以上の動作を繰り返すことで、マスタ装置と全てのスレーブ装置で同期ポイントを共有させて、同期ポイントにおいて時刻を同期させるという方式である。
【００３２】
図５を例として、本実施の形態に係る同期方式の原理を示す。
なお、以下の（１）〜（８）は、図５に示す（１）〜（８）に対応する。
【００３３】
（１）まず、マスタ装置１００は、スレーブ全体を同期させるタイミングである同期ポイントを設定する。
（２）マスタ装置１００は、隣接しているスレーブ装置１を宛先にして計測フレームを送信する。送信と同時に、マスタ装置１００は伝播遅延の計測を開始する。
（３）自身が宛先の計測フレームを受信したスレーブ装置１は、計測フレームの送信元であるマスタ装置１００に計測応答フレームを送信する。
この時、スレーブ装置１は、計測フレームの受信から計測応答フレームの送信までの時間を計測する。
（４）計測応答フレームを受信したマスタ装置１００は、伝播遅延の計測を終了する。
また、マスタ装置１００は、測定した伝播遅延時間と同期ポイントを基に、補正値を算出する。補正値は、式１で算出される。
なお、ｃａｌ＿ｄｅｌａｙは、マスタ装置１００が計測した伝播遅延時間である。
【００３４】
【数１】
0005430469.tif 000002
【００３５】
（５）また、マスタ装置１００は、算出した補正値を、補正フレームにてスレーブ装置１に送信する。
（６）スレーブ装置１は、補正値をマスタ装置１００から受け取る。
また、スレーブ装置１は、この受信した補正値から、同期ポイントまでのオフセット時間を算出する。
オフセット時間は、式２から算出される。
これにより、スレーブ装置１は、同期のために送信される同期フレームを受信してからオフセット時間分だけ補正したタイミングが同期ポイントであると分かり、マスタ装置１００と同期することができる。
なお、式２のｃａｌ＿ｄｅｌａｙは、スレーブ装置１が計測した伝播遅延時間である。
【００３６】
【数２】
0005430469.tif 000003
【００３７】
（７）同期したスレーブ装置１は、（１）から（６）までのマスタ装置１００の手順と同様にして、自身に隣接するスレーブ装置２と同期する。
（８）（１）から（７）までの手順をマスタ装置１００と全てのスレーブ装置２００が繰り返すことで、マスタ装置１００と全てのスレーブ装置２００が同期することができる。
【００３８】
一旦、マスタ装置１００とスレーブ装置２００を同期させても、さまざまな要因により時間と共に同期のずれが生じる。
これを防止するために、上記シーケンスを定期的に実施することで、同期ずれを定期的に修正し、同期精度を保つことができる。
【００３９】
しかし、図５に示す方式のように、段階的にマスタ装置とスレーブ装置を同期させていった場合、同期ずれの蓄積という問題がある。
同期ずれの蓄積の概要を、図６に示す。
【００４０】
まず、マスタ装置とスレーブ装置１からスレーブ装置３が同期済みであるとし、その後何らかの要因で同期がずれたとする。
ここでは、図６（ａ）に示すように、マスタ装置とスレーブ装置１の同期ずれがα１、スレーブ装置１とスレーブ装置２の同期ずれがα２、スレーブ装置２とスレーブ装置３の同期ずれがα３であるとする。
【００４１】
図６（ｂ）に示すように、マスタ装置とスレーブ装置１が同期した場合、マスタ装置とスレーブ装置１の同期ずれはなくなるが、スレーブ装置１とスレーブ装置２の同期ずれはα１＋α２となり、同期ずれが蓄積する。
【００４２】
次に、図６（ｃ）に示すように、スレーブ装置１とスレーブ装置２が同期した場合、マスタ装置とスレーブ装置１とスレーブ装置２の同期ずれはなくなるが、スレーブ装置２とスレーブ装置３との同期ずれはα１＋α２＋α３となり、同期ずれが蓄積する。
【００４３】
このような同期ずれの蓄積を防止するために、本実施の形態では、スレーブ装置２００はオフセット時間を格納する部分を２つ持つ。
これは、スレーブ装置２００の第一の記憶部２０３と第二の記憶部２０４に相当する。
本実施の形態では、あるスレーブ装置２００がオフセット時間を算出した場合、すぐにこのオフセット時間を有効とせず、一時保管しておく。
その後、マスタ装置１００が全てのスレーブ装置２００に対してオフセット時間を有効とする更新フレームを送信する。
各スレーブ装置２００は、この更新フレームを受信した場合に、オフセット時間を有効とする。
更新フレームを受信するまでは、前のオフセット時間を利用して同期をする。
【００４４】
次に、本実施の形態に係る同期方式の通信シーケンスを、図７及び図８に示す例を用いて説明する。
なお、以下の（１）〜（１２）は、図７及び図８に示す（１）〜（１２）に対応する。
また、図７及び図８に示すシーケンスは、例えば、システム稼動開始時に行う。
【００４５】
（１）マスタ装置１００は、計測ＩＤ（セッションＩＤ）を決定する。
この図の例では、計測ＩＤ＝０に設定する。
また、マスタ装置１００は、隣接するスレーブ装置１に計測フレームを送信する。
この時、計測フレームのフィールドは、宛先＝スレーブ装置１、送信元＝マスタ装置、計測ＩＤ＝０に設定する。
送信と同時に、マスタ装置１００は伝播遅延計測を開始する。
【００４６】
（２）自身が宛先の計測フレームを受信したスレーブ装置１は、計測フレームの送信元であるマスタ装置１００に計測応答フレームを送信する。
この時、計測応答フレームのフィールドは、宛先＝マスタ装置、送信元＝スレーブ装置１、計測ＩＤ＝０に設定する。
なお、計測応答フレームの計測ＩＤは、受信した計測フレームの計測ＩＤと等しい。
また、スレーブ装置１でも、伝播遅延時間を計測している。
【００４７】
（３）計測応答フレームを受信したマスタ装置１００は、伝播遅延計測を終了する。
また、マスタ装置１００では、測定した伝播遅延時間と同期ポイントを基に、補正値を算出する。
【００４８】
（４）マスタ装置１００は、算出した補正値を、補正フレームにて隣接するスレーブ装置１に送信する。
この時、補正フレームのフィールドは、宛先＝マスタ装置、送信元＝スレーブ装置１、計測ＩＤ＝０、補正値＝算出した補正値（図の例ではＡ）を設定する。
なお、補正フレームの計測ＩＤは、受信した計測応答フレームの計測ＩＤと等しい。
補正値を受け取ったスレーブ装置１は、補正値からオフセット時間を算出し、第一の記憶部２０３に保存する（図の例では、ｆ（Ａ））。
スレーブ装置１は、同期フレームを受信してからオフセット時間分だけ補正した時刻が同期ポイントであると分かる。
なお、この時点では、受信したオフセット時間は有効にせず、一時的に格納しているに留める。
なお、本実施の形態では定義していないが、補正フレームの応答用のフレームを予め定義しておき、この処理の後にスレーブ装置１がマスタ装置に応答を返すことで、マスタ装置がスレーブ装置１の補正フレームの受信を確認しても良い。
【００４９】
次に、スレーブ装置１が前述のマスタ装置１００と同じ処理を、隣接するスレーブ装置２に対して実行する。
具体的には、（５）スレーブ装置２に計測フレームを送信し、（６）スレーブ装置２から計測応答フレームを受信し、（７）マスタ装置１００と同様の手順により補正値を生成し、補正フレームをスレーブ装置２に送信する。
この時の計測フレーム、計測応答フレーム、補正フレームの計測ＩＤは、スレーブ装置１がマスタ装置１００から受信した補正フレームの計測ＩＤと等しい。
【００５０】
（８）ネットワークの終端であるスレーブ装置３がスレーブ装置２から補正値を受け取り、オフセット時間を算出した場合、遅延補正が終了したことをマスタ装置１００に伝えるために、スレーブ装置３が、スレーブ装置２、スレーブ装置１を介してマスタ装置１００に補正完了フレームを送信する。
この時、補正完了フレームのフィールドは、宛先＝マスタ装置、送信元＝スレーブ装置３、計測ＩＤ＝０に設定する。
なお、補正完了フレームの計測ＩＤは、スレーブ装置３が受信した補正フレームの計測ＩＤと等しい。
【００５１】
（９）補正完了フレームを受信したマスタ装置１００は、受信した補正完了フレームの計測ＩＤと、自身が最初に設定した計測ＩＤを比較する。
（ア）両者が一致した場合、マスタ装置１００は、各スレーブ装置２００のオフセット時間を有効にするために、更新フレームをブロードキャストにて送信する。
なお、更新フレームのフィールドは、宛先＝ブロードキャストアドレス、送信元＝マスタ装置、計測ＩＤ＝０に設定する。
更新フレームの計測ＩＤは、自身が受信した補正完了フレームの計測ＩＤと等しい。
（イ）一方、計測ＩＤが一致しない場合、上記（２）から再開する。
【００５２】
（１０）更新フレームを受け取ったスレーブ装置２００は、更新フレームの計測ＩＤに対応するオフセット時間を有効にする。
以後、同期フレームを受信した場合、有効なオフセット時間を利用して同期ポイントを算出する。
なお、本実施の形態では定義していないが、更新フレームの応答用のフレームを予め定義しておき、この処理の後に更新フレームを受け取ったスレーブ装置がマスタ装置に応答を返すことで、マスタ装置がスレーブ装置の更新フレームの受信を確認しても良い。
【００５３】
（１１）次に、マスタ装置１００が、同期フレームを全てのスレーブ装置２００に送信する。
全てのスレーブ装置２００は、同期フレームの受信時刻から有効なオフセット時間分待機した時刻が全てのマスタ装置１００とスレーブ装置２００で一致すると分かる。
これを基準（同期ポイント）として、全てのマスタ装置１００とスレーブ装置２００が同期する。
【００５４】
（１２）また、次の同期処理セッションを開始する場合は、マスタ装置１００が計測ＩＤを別の値に設定し、（１）から（１１）の処理を実施する。
【００５５】
次に、図１０〜図１２を参照しながら、図７及び図８に示したマスタ装置１００及びスレーブ装置２００の動作の詳細を説明する。
なお、図１０は、マスタ装置１００の動作例を示し、図１１及び図１２はスレーブ装置２００の動作例を示す。
【００５６】
まず、マスタ装置１００では、同期ポイント設定部１０１が、スレーブ装置２００全体を同期させるタイミングである同期ポイントを設定する（図１０：Ｓ１００１）（同期ポイント設定ステップ）。
また、同期ポイント記憶部１０２が、同期ポイント設定部１０１が設定した同期ポイントを記憶する。
また、このとき、同期ポイント設定部１０１は、現在の同期処理セッションのセッションＩＤ（計測ＩＤ）を決定する。
【００５７】
次に、マスタ装置１００において、フレーム処理部１０５が、隣接しているスレーブ装置１を宛先にする計測フレームを生成し、計測フレームを送信する（図１０：Ｓ１００２）（計測フレーム処理ステップ）。
この計測フレームには、同期ポイント設定部１０１が決定した計測ＩＤが含まれる。
また、後述する計測応答フレーム、補正フレーム、補正完了フレーム、更新フレーム、同期フレームにおいても、同じ計測ＩＤが用いられる。
また、計測フレームの送信と同時に、フレーム処理部１０５が、計測フレームの送信を伝播遅延計測部１０４に通知し、伝播遅延計測部１０４が伝播遅延の計測を開始する。
【００５８】
スレーブ装置１では、フレーム処理部２０１が、自身が宛先となっている計測フレームを受信し（図１１：Ｓ２００１）（第１の計測フレーム処理ステップ）、計測フレームの送信元であるマスタ装置１００に計測応答フレームを送信する（図１１：Ｓ２００２）（第１の計測フレーム処理ステップ）。
この時、スレーブ装置１では、フレーム処理部２０１は、計測フレームの受信タイミングと計測応答フレームの送信タイミングを伝播遅延計測部２０６に通知し、伝播遅延計測部２０６が、計測フレームの受信から計測応答フレームの送信までの時間を計測する。
【００５９】
次に、マスタ装置１００では、フレーム処理部１０５が、計測応答フレームを受信し（図１０：Ｓ１００３）（計測フレーム処理ステップ）、伝播遅延計測部１０４に計測応答フレームの受信を通知し、伝播遅延計測部１０４が伝播遅延の計測を終了する。
次に、マスタ装置１００において、補正値生成部１０３が、伝播遅延計測部１０４で測定された伝播遅延時間と同期ポイント記憶部１０２に記憶されている同期ポイントを基に、補正値を算出する（図１０：Ｓ１００４）（補正値生成ステップ）。
補正値は、上述の式１で算出される。
ここでは、式１を再度提示する。
なお、ｃａｌ＿ｄｅｌａｙは、伝播遅延計測部１０４が計測した伝播遅延時間（計測フレームの送信から計測応答フレームの受信までの時間）である。
【００６０】
【数３】
0005430469.tif 000004
【００６１】
次に、マスタ装置１００では、フレーム処理部１０５が、補正値生成部１０３が生成した補正値が含まれる補正フレームを生成し、隣接するスレーブ装置１に補正フレームを送信する（図１０：Ｓ１００５）（補正フレーム処理ステップ）。
【００６２】
スレーブ装置１では、フレーム処理部２０１が補正フレームを受信する（図１１：Ｓ２００３）（第１の補正フレーム処理ステップ）。
次に、スレーブ装置１において、オフセット時間算出部２０２が、フレーム処理部２０１から補正値を受け取り、この補正値と伝播遅延計測部２０６により計測された伝播遅延時間から、オフセット時間を算出する（図１１：Ｓ２００４）（オフセット時間算出ステップ）。
オフセット時間算出部２０２は、上述の式２に従って、オフセット時間を算出する。
ここでは、式２を再度提示する。
なお、式２のｃａｌ＿ｄｅｌａｙは、スレーブ装置１が計測した伝播遅延時間（計測フレームの受信から計測応答フレームの送信までの時間）である。
【００６３】
【数４】
0005430469.tif 000005
【００６４】
その後、スレーブ装置１では、算出されたオフセット時間を第一の記憶部２０３又は第二の記憶部２０４に記憶する（図１１：Ｓ２００５）。
これにより、スレーブ装置１は、同期のために送信される同期フレームを受信してからオフセット時間経過した時点が同期ポイントであると分かり、同期フレームを受信した際に同期ポイントにおいてマスタ装置１００と同期することができる。
【００６５】
オフセット時間を算出したスレーブ装置１は、自身がマスタ装置１００に代わって、上記の手順をスレーブ装置２との間で行って、スレーブ装置２にオフセット時間を算出させる。
スレーブ装置１には、次の転送順序のスレーブ装置であるスレーブ装置２があるので（図１１：Ｓ２００６でＹＥＳ）、フレーム処理部２０１がスレーブ装置２に計測フレームを送信する（図１１：Ｓ２００７）（第２の計測フレーム処理ステップ）。
また、このとき、伝播遅延計測部２０６が伝播遅延時間の計測を開始する。
そして、スレーブ装置１では、フレーム処理部２０１がスレーブ装置２からの計測応答フレームを受信し（図１１：Ｓ２００８）（第２の計測フレーム処理ステップ）。
伝播遅延計測部２０６は、計測応答フレームの受信により伝播遅延時間の計測を終了する。
なお、このときのスレーブ装置２の動作は、図１１のＳ２００１とＳ２００２に示す通りである。
【００６６】
次に、スレーブ装置１では、補正値生成部２０７が、伝播遅延計測部２０６により計測された伝播遅延時間（計測フレームの送信から計測応答フレームの受信）とオフセット時間に基づき、補正値を生成する（図１１：Ｓ２００９）（補正値生成ステップ）。
補正値生成部２０７による補正値の算出式は、次の式３の通りである。
【００６７】
【数５】
0005430469.tif 000006
【００６８】
次に、スレーブ装置１では、フレーム処理部２０１が、補正値生成部２０７が生成した補正値が含まれる補正フレームを生成し、スレーブ装置２に補正フレームを送信する（図１１：Ｓ２０１０）（第２の補正フレーム処理ステップ）。
【００６９】
スレーブ装置２では、フレーム処理部２０１が補正フレームを受信する（図１１：Ｓ２００３）（第１の補正フレーム処理ステップ）。
そして、スレーブ装置２では、オフセット時間算出部２０２が、フレーム処理部２０１から補正値を受け取り、この補正値と伝播遅延計測部２０６により計測された伝播遅延時間から、オフセット時間を算出し（図１１：Ｓ２００４）（オフセット時間算出ステップ）、算出したオフセット時間を第一の記憶部２０３又は第二の記憶部２０４に記憶する（図１１：Ｓ２００５）。
オフセット時間算出部２０２によるオフセット時間の算出は、上記の式２による。
【００７０】
このようにして、転送順序に従って、複数のスレーブ装置２００において、順次オフセット時間を算出させる。
【００７１】
図７及び図８の例では、スレーブ装置３においてオフセット時間の算出及び記憶が完了すると（図１１：Ｓ２００５）、スレーブ装置３には、次の転送順序のスレーブ装置２００がいないので（図１１：Ｓ２００６でＮＯ）、スレーブ装置３のフレーム処理部２０１は、オフセット時間の算出が完了したことを通知する補正完了フレームをスレーブ装置２に送信する（図１１：Ｓ２０１２）。
【００７２】
スレーブ装置２では、フレーム処理部２０１が、スレーブ装置３から送信された補正完了フレームを受信し（図１１：Ｓ２０１１）、スレーブ装置１に送信する（図１１：Ｓ２０１２）。
また、スレーブ装置１では、フレーム処理部２０１が、スレーブ装置２から送信された補正完了フレームを受信し（図１１：Ｓ２０１１）、マスタ装置１００に送信する（図１１：Ｓ２０１２）。
【００７３】
マスタ装置１００では、フレーム処理部１０５が、スレーブ装置１から送信された補正完了フレームを受信し（図１０：Ｓ１００６）、補正完了フレームのセッションＩＤがＳ１００１において設定したセッションＩＤと一致すれば、更新フレームをスレーブ装置１に送信する（図１０：Ｓ１００７）。
スレーブ装置１では、フレーム処理部２０１が、更新フレームを受信し（図１２：Ｓ２０１３）、有効オフセット時間選択部２０５が、第一の記憶部２０３及び第二の記憶部に記憶されているオフセット時間のうち、更新フレームに含まれているセッションＩＤと同じセッションＩＤと対応付けられているオフセット時間を選択する（図１２：Ｓ２０１４）。
また、スレーブ装置１では、次の転送順序のスレーブ装置であるスレーブ装置２があるため（図１２：Ｓ２０１５でＹＥＳ）、フレーム処理部２０１が、更新フレームをスレーブ装置２に送信する（図１２：Ｓ２０１５）。
また、スレーブ装置２、スレーブ装置３でも、同様にして、更新フレームを受信し、オフセット時間を選択する。
【００７４】
次に、マスタ装置１００において、フレーム処理部２０１が、スレーブ装置１に同期フレームを送信する（図１０：Ｓ１００８）（同期フレーム処理ステップ）。
スレーブ装置１では、フレーム処理部２０１が、同期フレームを受信するとともに（図１２：Ｓ２０１７）（同期フレーム処理ステップ）、次の転送順序のスレーブ装置であるスレーブ装置２があるため（図１２：Ｓ２０１８でＹＥＳ）、フレーム処理部２０１が、同期フレームをスレーブ装置２に送信する（図１２：Ｓ２０１９）（同期フレーム処理ステップ）。
【００７５】
スレーブ装置１において、同期ポイント算出部２０８が、Ｓ２０１７の同期フレームの受信時刻にＳ２０１４で選択されたオフセット時間を加算して同期ポイントを導出し（図１２：Ｓ２０２０）（同期処理ステップ）、同期ポイントにて時刻を同期させる（図１２：Ｓ２０２１）（同期処理ステップ）。
また、スレーブ装置２及びスレーブ装置３においても、同様に、同期フレームを受信し、同期ポイントを導出し、同期ポイントにて時刻を同期させる。
同様に、マスタ装置１００においても、同期処理部１０６が、同期ポイントで時刻を同期させる（図１０：Ｓ１００９）。
【００７６】
以上の動作に加えて、本実施の形態では、マスタ装置１００は、補正完了フレームが返信される前にも、同期フレームを一定周期（同期処理セッションの周期よりも短い周期）で送信する。
例えば、図８において（再）同期フレームとして示している同期フレームは、補正完了フレームが返信される前にマスタ装置１００から送信されている。
これは、補正完了フレームが返信され、更新フレームが送信される前であっても、（再）同期フレームを基準に、前回の同期処理セッションで算出されたオフセット時間を用いて同期をとるためである。
図８の（再）同期フレームのフィールド値は（ＢＣ、Ｍ、０）となっている。
これは、宛先アドレス＝ブロードキャストアドレス、送信元アドレス＝マスタ装置１００、計測ＩＤ＝０を示している。
遅延計測２回目（２回目の同期処理セッション）では、計測フレーム、計測応答フレーム、補正フレーム等において計測ＩＤ＝１が用いられているが、この（再）同期フレームの計測ＩＤは値が０である。
（再）同期フレームの送信前に、補正フレーム（計測ＩＤ＝１）が送信され、スレーブ装置２００では、当該補正フレームに基づいて２回目の同期処理セッションでのオフセット時間が算出され、第二の記憶部に記憶されている。例えば、スレーブ装置１では、第二の記憶部にＩＤ＝１に対して、オフセット時間＝ｆ（Ａ’）が記憶されている。一方、第一の記憶部にＩＤ＝０に対して、オフセット時間＝ｆ（Ａ）（１回目の同期処理セッションでのオフセット時間）が記憶されている。
計測ＩＤ＝０の（再）同期フレームを受信したスレーブ装置１では、有効オフセット時間選択部２０５が、（再）同期フレームの計測ＩＤ＝０に基づき、第一の記憶部内のオフセット時間＝ｆ（Ａ）を選択し、同期ポイント算出部２０８が、（再）同期フレームの受信時刻に有効オフセット時間選択部２０５により選択されたオフセット時間＝ｆ（Ａ）を加算して同期ポイントを算出し、同期ポイントの到来においてマスタ装置１００及び他のスレーブ装置２００と同期をとる。
なお、（再）同期フレームは、同期フレームと同様に、スレーブ装置１、スレーブ装置２、スレーブ装置３の順に転送され、各スレーブ装置において、第一の記憶部内のオフセット時間を用いて同期がとられる。
また、マスタ装置１００から、計測ＩＤ＝１が含まれる更新フレームが送信され、スレーブ装置１が、この更新フレームを受信すると、有効オフセット時間選択部２０５が、更新フレームの計測ＩＤ＝１に基づき、第二の記憶部内のオフセット時間＝ｆ（Ａ’）を選択し、同期フレーム（計測ＩＤ＝１）を受信した際に、同期ポイント算出部２０８が、同期フレームの受信時刻に有効オフセット時間選択部２０５により選択されたオフセット時間＝ｆ（Ａ’）を加算して同期ポイントを算出し、同期ポイントの到来においてマスタ装置１００及び他のスレーブ装置２００と同期をとる。
【００７７】
また、図７には図示していないが、遅延計測１回目（１回目の同期処理セッション）において同期フレームが送信されて、マスタ装置１００及び各スレーブ装置２００が同期ポイントにおいて同期をとった後、遅延計測２回目（２回目の同期処理セッション）が開始する前に、（再）同期フレーム（計測ＩＤ＝０）を送信するようにしてもいい。
この場合にも、各スレーブ装置２００では、有効オフセット時間選択部２０５が、（再）同期フレームの計測ＩＤ＝０に基づき、第一の記憶部内のオフセット時間＝ｆ（Ａ）を選択し、同期ポイント算出部２０８が、（再）同期フレームの受信時刻に有効オフセット時間選択部２０５により選択されたオフセット時間＝ｆ（Ａ）を加算して同期ポイントを算出し、同期ポイントの到来においてマスタ装置１００及び他のスレーブ装置２００と同期をとる。
【００７８】
このように、本実施の形態に係るスレーブ装置２００は、複数の同期処理セッションで算出された複数のオフセット時間を記憶する記憶部を有している。
そして、スレーブ装置２００は、ｎ（ｎ≧１）回目の同期処理セッションにおいて、同期ポイント算出部２０８が、同期ポイントにおいて時刻を同期させ、更に、ｎ＋１回目の同期処理セッションにおいて、オフセット時間算出部２０２が新たなオフセット時間を算出した後であって、更新フレームが受信される前に、マスタ装置１００又は前の転送順序のスレーブ装置２００から再同期フレームを受信する場合がある。
このような場合に、同期ポイント算出部２０８は、ｎ回目の同期処理セッションで算出されたオフセット時間をいずれかの記憶部から抽出し、再同期フレームの受信時刻に、ｎ回目の同期処理セッションで算出されたオフセット時間を加算して同期ポイントを再度導出し、導出した同期ポイントにて他のスレーブ装置２００及びマスタ装置１００と時刻を再度同期させる。
【００７９】
また、本実施の形態に係るスレーブ装置２００では、ｎ（ｎ≧１）回目の同期処理セッションにおいて、同期ポイント算出部２０８が、同期ポイントにおいて時刻を同期させた後であって、ｎ＋１回目の同期処理セッションが開始する前に、マスタ装置１００又は前の転送順序のスレーブ装置２００から再同期フレームを受信する場合がある。
このような場合に、同期ポイント算出部２０８は、ｎ回目の同期処理セッションで算出されたオフセット時間をいずれかの記憶部から抽出し、再同期フレームの受信時刻に、ｎ回目の同期処理セッションで算出されたオフセット時間を加算して同期ポイントを再度導出し、導出した同期ポイントにて他のスレーブ装置２００及びマスタ装置１００と時刻を再度同期させる。
【００８０】
以上、本実施の形態によれば、複数のスレーブ装置が各々のオフセット時間を算出した後に、同期フレームを複数のスレーブ装置間で転送順序に従って転送させ、各スレーブ装置における同期フレームの受信時刻と各スレーブ装置で算出したオフセット時間との加算により各スレーブ装置に同期ポイントを導出させて同期ポイントにて各スレーブ装置の時刻を同期させるため、複数のスレーブ装置間で段階的に同期させていく同期方式で発生するスレーブ装置間の同期ずれの蓄積を回避することができ、高精度な同期を実現することができる。
【００８１】
また、同期処理セッションを一定周期で繰り返すことにより、周期的にマスタ装置及び複数のスレーブ装置で同期をとることができ、同期ずれの蓄積を回避することができる。
【００８２】
また、更新フレームの送信前に再同期フレームを送信することで、更新フレームの送信前にも同期をとることができ、同期ずれの蓄積を回避することができる。
【００８３】
以上、本実施の形態では、マスタ装置と複数のスレーブ装置から構成される通信システムにおいて、同期ずれの累積を防止するための機能とシーケンスを説明した。
具体的には、スレーブ装置が同期用に設定した情報をすぐに同期に利用せず一時格納しておき、マスタ装置の指示が来てから一時格納した情報を有効にするための機能とシーケンスを説明した。
【００８４】
また、本実施の形態では、所定の情報を送信するマスタ装置と、マスタ装置が送信した情報もしくはスレーブ装置が送信した情報に基づきマスタ装置もしくは他のスレーブ装置と処理のタイミングを同期するための同期時刻（同期ポイント）を算出する複数のスレーブ装置を備える同期ネットワークおよび同期システムを説明した。
【００８５】
また、本実施の形態では、
上記マスタ装置は、以下の手段を備えることを説明した。
（ａ）フレーム処理部
以下のフレームをスレーブ装置に送信もしくは受信する。
ネットワークの伝播遅延の計測の開始を指示するためのフレーム（計測フレーム）。
ネットワークの伝播遅延の計測の終了を指示するためのフレーム（計測応答フレーム）。
補正値を他のスレーブ装置に通知するためのフレーム（補正フレーム）。
マスタに同期完了を通知するためのフレーム（補正完了フレーム）。
オフセット時間を有効にすることを他のスレーブ装置に通知するためのフレーム（更新フレーム）。
他のスレーブ装置に同期開始を指示するためのフレーム（同期フレーム）。
上記フレームの送信タイミングと受信タイミングを後述の伝播遅延計測部に通知する。
後述の補正値生成部から、補正値を受け取り、この補正値を補正フレームとして他のスレーブ装置に送信する。
（ｂ）伝播遅延計測部
フレーム処理部から計測フレームの受信タイミングと計測応答フレームの送信タイミングを受け取り、送信タイミングから受信タイミングまでの時間（遅延計測値）を計測する。
上記計測した値を、後述の補正値生成部に通知する。
（ｃ）補正値生成部
伝播遅延計測部から伝播遅延値を受け取る。
後述の同期ポイント記憶部から、同期ポイントを受け取る。
上記伝播遅延値と同期ポイントから、補正値を算出する。
上記補正値をフレーム処理部に通知する。
（ｄ）同期ポイント記憶部
同期ポイントを記憶する。
同期ポイントを補正値生成部に通知する。
【００８６】
また、本実施の形態では、以下の手段を備えた、スレーブ装置を説明した。
（ａ）フレーム処理部
以下のフレームをマスタ装置もしくは他のスレーブ装置に送信する。
計測フレーム、
計測応答フレーム、
補正フレーム、
更新フレーム、
補正完了フレーム、
同期フレーム。
マスタ装置もしくは他のスレーブ装置から上記フレームを受信する。
上記フレームの送信タイミングと受信タイミングと、フレームの情報を後述の伝播遅延計測部に通知する。
更新フレームを受信したことを、後述の有効オフセット時間選択部に通知する。
後述の補正値生成部から、補正値を受け取り、この補正値を補正フレームで他のスレーブ装置に通知する。
後述の同期ポイント算出部に、同期フレームを受信したことを通知する。
（ｂ）第一の記憶部
オフセット時間を受け取り、記憶する。
後述の有効オフセット時間選択部に、記憶してあるオフセット時間を通知する。
（ｃ）第二の記憶部
オフセット時間を受け取り、記憶する。
後述の有効オフセット時間選択部に、記憶してあるオフセット時間を通知する。
（ｄ）有効オフセット時間選択部
第一の記憶部からオフセット時間を受け取る。
第二の記憶部からオフセット時間を受け取る。
フレーム処理部から、オフセット時間を有効にすることを他のスレーブ装置に通知するためのフレームの受信の通知を受け取る。
上記３つの情報から、有効とするオフセット時間を決定し、有効としたオフセット時間を後述の同期ポイント算出部と後述の補正値生成部に通知する。
（ｄ）同期ポイント算出部
有効オフセット時間選択部から有効としたオフセット時間を受け取る。
フレーム処理部から同期開始を指示するためのフレームの受信の通知を受け取る。
フレームの受信の通知とオフセット時間から、同期ポイントの時刻を算出する。
（ｅ）伝播遅延計測部
フレーム処理部から計測フレームの受信タイミングと計測応答フレームの送信タイミングを受け取り、送信タイミングから受信タイミングまでの時間（遅延計測値）を計測する。
フレーム処理部から計測フレームの送信タイミングと計測応答フレームの受信タイミングを受け取り、受信タイミングから送信タイミングまでの時間（遅延計測値）を計測する。
上記計測した値を、後述の補正値生成部に通知する。
（ｆ）補正値生成部
伝播遅延計測部から伝播遅延値を受け取る。
オフセット時間を受け取る。
上記伝播遅延値とオフセット時間から、補正値を算出する。
上記補正値をフレーム処理部に通知する。
【００８７】
また、本実施の形態では、以下の処理シーケンスにて同期を実現する同期システムを説明した。
マスタ装置は、隣接するスレーブ装置を宛先にして計測フレームを送信する。送信と同時に、マスタ装置及びスレーブ装置は伝播遅延計測を開始する。
自身が宛先の計測フレームを受信したスレーブ装置は、計測フレームの送信元に計測応答フレームを送信する。
計測応答フレームを受信したマスタ装置は、伝播遅延計測を終了する。測定した伝播遅延時間と同期ポイントを基に、補正値を算出する。
算出した補正値を、隣接するスレーブ装置に送信する。
補正値を受け取ったスレーブ装置は、オフセット時間を算出し、オフセット時間を保存する。
同期フレームを受信してからオフセット時間分だけ補正した時間が同期ポイントであると分かる。なお、この時点では、生成したオフセット時間は有効としない。
次に、スレーブ装置が前述のマスタ装置と同じ処理を、隣接するスレーブ装置に対して実行する。
ネットワークの終端であるスレーブ装置が補正値を受け取った場合、遅延補正が終了したことをマスタ装置に伝えるために、マスタ装置に補正完了フレームを送信する。
マスタ装置が、更新フレームを送信する。
更新フレームを受け取ったスレーブ装置は、最後に算出したオフセット時間を有効オフセット時間とする。以後、同期フレームの受信時刻と、有効にしたオフセット時間を利用して同期ポイントを算出する。
マスタ装置が、同期フレームを全てのスレーブ装置に送信する。同期フレームを受信したスレーブ装置は、有効オフセット時間分待機した時刻が全てのマスタ装置とスレーブ装置で一致すると分かる。
【００８８】
また、本実施の形態では、上記マスタ装置と上記スレーブ装置は、システム稼動開始時に、計測フレーム、計測応答フレーム、補正フレーム、更新フレームを送信し、全てのマスタとスレーブ装置が同期する同期システムを説明した。
なお、このフレームの送信順番は規定されているが、同期に利用される以外のフレームが間に送信されても同期が実現できる。
【００８９】
実施の形態２．
実施の形態１では、例えば、システム稼動開始時といった、マスタ装置１００及びスレーブ装置２００の間でユーザデータの送受信が行われていないときに、計測フレーム等を送受信させて同期をとる例を説明した。
しかしながら、実施の形態１に示した同期方式は、他の通信（例えば、ユーザデータの通信）に相乗りさせて同期補正を実施することができる。
特に、周期的な通信（周期通信）を高速に実施したい場合、周期通信に同期補正の情報を相乗りさせて実施することで、同期補正用のフレーム送信を削減し通信帯域を省くことができ、周期通信の高速化と同期精度の高精度化が実現できる。
以下に、ある周期通信プロトコルを例に挙げて、同期補正の相乗りの実施の形態を示す。
なお、同期補正の相乗りに関しては、例に挙げる周期通信プロトコルに限った話ではない。
【００９０】
なお、相乗りを実施する場合、実施の形態１で定義したフレームの宛先、送信元、フレーム種別は、周期通信プロトコルで定義されるフレームのフィールドと統一してもよい。
【００９１】
同期補正の相乗りの対象となる周期通信プロトコルは、例えば、図９に示すものである。
【００９２】
図９の周期通信プロトコルは、周期ｉ及び周期ｉ＋２において、マスタ装置から下り通信フレームをスレーブ装置１に送信する。
マスタ装置からの下り通信フレームでは、ヘッダの後にスレーブ装置３宛のユーザデータ、スレーブ装置２宛のユーザデータ、スレーブ装置１宛のユーザデータの順に配置され、この順に送信が開始される。
スレーブ装置１では、下り通信フレームを受信するともに、自装置宛てではないスレーブ装置３宛のユーザデータ、スレーブ装置２宛のユーザデータをスレーブ装置２に転送し、スレーブ装置１宛てのユーザデータのみを取得する。
スレーブ装置２でも同様に、スレーブ装置３宛のユーザデータをスレーブ装置３に転送し、スレーブ装置２宛てのユーザデータのみを取得する。
【００９３】
周期ｉ＋１では、各スレーブ装置は、上り通信フレームを送信する。
具体的には、まず、スレーブ装置１が自装置からのユーザデータを送信し、次に、スレーブ装置２が自装置からのユーザデータを送信し、次に、スレーブ装置３が自装置からのユーザデータを送信する。
スレーブ装置２では、スレーブ装置２のユーザデータの送信が完了するタイミングで、スレーブ装置３からのユーザデータの受信を開始し、スレーブ装置２のユーザデータに続けてスレーブ装置３からのユーザデータの転送を開始する。なお、スレーブ装置３からのヘッダは、破棄する。
スレーブ装置１では、スレーブ装置１のユーザデータの送信が完了するタイミングで、スレーブ装置２からのユーザデータの受信を開始し、スレーブ装置１のユーザデータに続けてスレーブ装置２からのユーザデータの転送を開始する。なお、スレーブ装置２からのヘッダは、破棄する。
また、スレーブ装置２からのユーザデータの送信が完了するタイミングで、スレーブ装置３からのユーザデータの受信を開始し、スレーブ装置２からのユーザデータに続けてスレーブ装置３からのユーザデータの転送を開始する。
【００９４】
この周期通信プロトコルに同期補正のためのフレームを相乗りさせた例を、以下にて説明する。
なお、以下の（１）〜（８）は、図９の（１）〜（８）に対応している。
【００９５】
（１）マスタ装置は、周期通信プロトコルで定められたタイミングで周期通信の下り通信を実施する。
この下り通信のフレームには、このフレームが計測フレームとして機能するという情報と、補正を実施するマスタ装置もしくはスレーブ装置を識別する情報と、補正を実施されるスレーブ装置を識別する情報が含まれる。
図９の例では、補正を実施する装置がマスタ装置、補正を実施される装置がスレーブ装置１となる。
下り通信のフレームを送信後、マスタ装置は遅延計測を開始する。
【００９６】
（２）下り通信フレーム（計測フレーム）を受信した各スレーブ装置は、補正を実施される対象が自身かどうか判断し、自身である場合は遅延計測を開始する。
図９の例では、スレーブ装置１が下り通信のフレームを受信後、遅延計測を開始する。
【００９７】
（３）スレーブ装置１は、周期通信プロトコルで定められたタイミングで上り通信フレームを送信する。
この上り通信のフレームには、このフレームが計測応答フレームとして機能することを示す情報と、計測応答フレームの宛先（補正を実施する装置）を識別する情報が含まれる。
その後、遅延計測を終了する。
【００９８】
（４）上り通信フレームを受信したマスタ装置およびスレーブ装置は、計測応答フレームの宛先が自身かどうか判断する。
自身である場合、遅延計測を終了する。
図９の例では、マスタ装置が計測応答フレームの宛先となり、遅延計測を終了する。
【００９９】
（５）計測応答フレームを受信したマスタ装置およびスレーブ装置は、自身が計測した遅延計測値と同期ポイント（又はオフセット時間）から補正値を算出する。
算出式は、実施の形態１で示した式１又は式３となる。
図９の例では、マスタ装置が補正値を算出する。
【０１００】
（６）マスタ装置は、周期通信プロトコルで定められたタイミングで下り通信を実施する。
この下り通信のフレームには、このフレームが補正フレームを含むという情報と、遅延補正の対象であるスレーブ装置を識別する情報と、マスタ装置が算出した補正値の情報が含まれる。
図９の例では、遅延補正の対象がスレーブ装置１となる。
【０１０１】
（７）下り通信フレーム（補正フレームが含まれる）を受信した各スレーブ装置は、遅延補正の対象が自身かどうか判断し、自身である場合は受信した補正フレームに含まれる補正値からオフセット時間を算出する。
オフセット時間の算出式は実施の形態１で示した式２である。
図９の例では、スレーブ装置１が下り通信のフレームを受信後、オフセット時間を算出する。
これにより、スレーブ装置１は、同期のために送信される同期フレームを受信してからオフセット時間分だけ補正した時刻が同期ポイントであると分かり、マスタ装置と同期することができる。
なお、計測フレームがスレーブ装置に受信されたことを確認するために、計測フレームの応答用のフレームを予め定義しておき、この処理の後にスレーブ装置１がマスタ装置に応答を返してもよい。
【０１０２】
（８）次にスレーブ装置１が補正を実施する装置となり、スレーブ装置２が補正を実施される装置となり、（１）から（７）の処理を実施する。
なお、スレーブ装置１が補正値を算出する際の算出式は、実施の形態１で示した式３となる。
（１）〜（７）の処理を全てのスレーブ装置が実施し、全てのスレーブ装置がオフセット時間を算出することにより、全てのマスタ装置とスレーブ装置が同期ポイントを知ることができ、同期ができる。
また、実施の形態１と同様に、補正完了フレーム、更新フレーム、同期フレームも送受信される。
なお、更新フレームに関しては、更新フレームが各スレーブ装置に受信されたことを確認するために、更新フレームの応答用のフレームを予め定義しておき、更新フレーム送信後にスレーブ装置１がマスタ装置に応答を返してもよい。
より具体的には、補正完了フレームは上り通信フレームに含ませてスレーブ装置３からマスタ装置に送信され、更新フレーム及び同期フレームは、下り通信フレームに含ませてマスタ装置から各スレーブ装置に送信される。
なお、本実施の形態で特に断っていない処理については、実施の形態１で示したものと同じある。
また、本実施の形態に係るマスタ装置の構成例は図２に示す通りであり、本実施の形態に係るスレーブ装置の構成例は図３に示す通りである。
【０１０３】
以上、本実施の形態では、マスタ装置は、下り通信フレームの送信タイミングで、計測フレーム、補正フレーム、更新フレーム、同期フレームを送信する。
また、スレーブ装置は、下り通信フレームの送信タイミングにて送信された計測フレーム、補正フレーム、更新フレーム、同期フレームを受信し、各々のフレームに対応する処理を行う。
また、スレーブ装置は、下り通信フレームの送信タイミングで、次の転送順序のスレーブ装置に対する計測フレーム、補正フレームを送信する。
また、スレーブ装置は、上り通信フレームの送信タイミングで、計測応答フレーム、補正完了フレームを送信する。
また、マスタ装置は、上り通信フレームの送信タイミングにて送信された、計測応答フレーム、補正完了フレームを受信し、各々のフレームに対応する処理を行う。
【０１０４】
このように、本実施の形態によれば、ユーザデータの通信に相乗りさせて、同期補正のためのフレームを送信するため、同期補正用のフレームの送受信のための特別のフェーズを設ける必要がなく、通信効率を向上させることができる。
【０１０５】
以上、本実施の形態では、マスタ装置とスレーブ装置は、システム動作中にネットワークの稼動時に計測フレーム、計測応答フレーム、補正フレーム、更新フレーム等を送信し、同期のずれを補正する同期システムを説明した。
なお、この時、同期補正のずれをシステム全体で同時に行うことで、同期のずれの累積を防止する。
【０１０６】
最後に、実施の形態１及び２に示したマスタ装置１００及びスレーブ装置２００のハードウェア構成例について説明する。
図１３は、実施の形態１及び２に示すマスタ装置１００及びスレーブ装置２００のハードウェア資源の一例を示す図である。
なお、図１３の構成は、あくまでもマスタ装置１００及びスレーブ装置２００のハードウェア構成の一例を示すものであり、マスタ装置１００及びスレーブ装置２００のハードウェア構成は図１３に記載の構成に限らず、他の構成であってもよい。
また、マスタ装置１００とスレーブ装置２００は、異なるハードウェア構成であってもよい。
【０１０７】
図１３において、マスタ装置１００及びスレーブ装置２００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態１及び２で説明した「同期ポイント記憶部１０２」、「第一の記憶部２０３」及び「第二の記憶部２０４」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【０１０８】
通信ボード９１５は、図１に示すように、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されていても構わない。
【０１０９】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【０１１０】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【０１１１】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
マスタ装置１００及びスレーブ装置２００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【０１１２】
上記プログラム群９２３には、実施の形態１及び２の説明において「〜部」（「同期ポイント記憶部１０２」、「第一の記憶部２０３」及び「第二の記憶部２０４」以外、以下同様）として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【０１１３】
ファイル群９２４には、実施の形態１及び２の説明において、「〜の判断」、「〜の計算」、「〜の算出」、「〜の導出」、「〜の生成」、「〜の比較」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１及び２で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【０１１４】
また、実施の形態１及び２の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態１及び２で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「時刻同期方法」を実現することができる。
また、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１及び２の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１及び２の「〜部」の手順や方法をコンピュータに実行させるものである。
【０１１５】
このように、実施の形態１及び２に示すマスタ装置１００及びスレーブ装置２００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【０１１６】
１００  マスタ装置、１０１  同期ポイント設定部、１０２  同期ポイント記憶部、１０３  補正値生成部、１０４  伝播遅延計測部、１０５  フレーム処理部、１０６  同期処理部、２００  スレーブ装置、２０１  フレーム処理部、２０２  オフセット時間算出部、２０３  第一の記憶部、２０４  第二の記憶部、２０５  有効オフセット時間選択部、２０６  伝播遅延計測部、２０７  補正値生成部、２０８  同期ポイント算出部。
【図１】
0005430469.tif 000007
【図２】
0005430469.tif 000008
【図３】
0005430469.tif 000009
【図４】
0005430469.tif 000010
【図５】
0005430469.tif 000011
【図６】
0005430469.tif 000012
【図７】
0005430469.tif 000013
【図８】
0005430469.tif 000014
【図９】
0005430469.tif 000015
【図１０】
0005430469.tif 000016
【図１１】
0005430469.tif 000017
【図１２】
0005430469.tif 000018
【図１３】
0005430469.tif 000019