(57)【要約】  リング型ネットワークにおいて、マスタノードが、計測パケットをスレーブノードに送信し、複数のスレーブノードを巡回した計測パケットを受信し、内部クロックの計時に従い、計測パケットの送信時刻及び受信時刻を記憶し、計測パケットの送信時刻及び受信時刻が示される計測結果通知パケットをスレーブノードに送信し、各スレーブノードは、計測パケットを受信し、受信した計測パケットを次のノードに送信し、内部クロックの計時に従い、計測パケットの受信時刻を記憶し、また、計測結果通知パケットを受信し、受信した計測結果通知パケットに示される計測パケットの送信時刻及び受信時刻と、記憶している計測パケットの受信時刻と、ノード装置の総数と、パケット転送順序における当該スレーブノードとマスタノードとの順序差とを用いて、時刻補正値を算出し、算出した時刻補正値を用いて、内部クロックの時刻を補正する。
2008129593.tif 000002
【特許請求の範囲】
【請求項１】
基準クロックを備えるマスタノード装置と各々が内部クロックを備える複数のスレーブノード装置とがリング接続され、各ノード装置に定められているパケット転送順序に従ってパケットを転送して複数のノード装置間でパケットを巡回させる通信システムであって、
前記マスタノード装置は、
計測パケットを、パケット転送順序において送信先となるスレーブノード装置に対して送信し、前記複数のスレーブノード装置を巡回した前記計測パケットを受信し、
前記基準クロックの計時に従い、前記計測パケットの送信時刻と、前記計測パケットの受信時刻を記憶し、
前記計測パケットの送信時刻及び前記計測パケットの受信時刻が示される計測結果通知パケットを生成し、
パケット転送順序において送信先となるスレーブノード装置に対して、生成した前記計測結果通知パケットを送信し、
各スレーブノード装置は、
パケット転送順序において受信元となるノード装置から前記計測パケットを受信し、受信した前記計測パケットを、パケット転送順序において送信先となるノード装置に対して送信し、
内部クロックの計時に従い、前記計測パケットの受信時刻及び前記計測パケットの送信時刻の少なくともいずれかを記憶し、
パケット転送順序において受信元となるノード装置から前記計測結果通知パケットを受信し、受信した前記計測結果通知パケットに示される前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、記憶している前記計測パケットの受信時刻及び前記計測パケットの送信時刻の少なくともいずれかと、ノード装置の総数と、パケット転送順序における当該スレーブノード装置とマスタノード装置との順序差とを用いて、時刻補正値を算出し、算出した時刻補正値を用いて、内部クロックの時刻を補正することを特徴とする通信システム。
【請求項２】
各スレーブノード装置は、
内部クロックの計時に従い、前記計測パケットの受信時刻を記憶し、
記憶している前記計測パケットの受信時刻と、受信した前記計測結果通知パケットに示される前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、ノード装置の総数と、パケット転送順序における当該スレーブノード装置とマスタノード装置との順序差とを用いて、時刻補正値を算出し、算出した時刻補正値を用いて、内部クロックの時刻を補正することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記マスタノード装置は、
ノード装置の総数のカウントのためのノード数カウント値が含まれる構成確認パケットを、パケット転送順序において送信先となるスレーブノード装置に対して送信し、
前記複数のスレーブノード装置を巡回した前記構成確認パケットを受信し、
受信した前記構成確認パケットに含まれるノード数カウント値をノード装置の総数として前記計測パケット及び前記計測結果通知パケットの少なくともいずれかに含ませて、前記計測パケット及び前記計測結果通知パケットを、パケット転送順序において送信先となるスレーブノード装置に対して送信し、
各スレーブノード装置は、
パケット転送順序において受信元となるノード装置から前記構成確認パケットを受信し、前記構成確認パケットに含まれているノード数カウント値をカウントアップし、カウントアップ後のノード数カウント値を含む前記構成確認パケットを、パケット転送順序において送信先となるノード装置に対して送信することを特徴とする請求項１に記載の通信システム。
【請求項４】
基準クロックを備えるマスタノード装置と各々が内部クロックを備える複数のスレーブノード装置とがリング接続され、各ノード装置に定められているパケット転送順序に従ってパケットを転送して複数のノード装置間でパケットを巡回させる通信システムであって、
前記マスタノード装置は、
計測パケットを、パケット転送順序において送信先となるスレーブノード装置に対して送信し、前記複数のスレーブノード装置を巡回した前記計測パケットを受信し、
前記基準クロックの計時に従い、前記計測パケットの送信時刻と、前記計測パケットの受信時刻を記憶し、
前記複数のスレーブノード装置における中継遅延時間の総和を取得するための遅延計算パケットを、パケット転送順序において送信先となるスレーブノード装置に対して送信し、前記複数のスレーブノード装置を巡回した前記遅延計算パケットを受信し、
受信した前記遅延計算パケットに示される前記複数のスレーブノード装置における中継遅延時間の総和と、記憶している前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、ノード装置の総数とに基づいて、ノード装置間の伝送遅延時間を算出し、
記憶している前記計測パケットの送信時刻及び算出したノード装置間の伝送遅延時間が示される計算結果通知パケットを生成し、
生成した前記計算結果通知パケットを、パケット転送順序において送信先となるスレーブノード装置に対して送信し、
各スレーブノード装置は、
パケット転送順序において受信元となるノード装置から前記計測パケットを受信し、受信した前記計測パケットを、パケット転送順序において送信先となるノード装置に対して送信し、
内部クロックの計時に従い、前記計測パケットの受信時刻及び前記計測パケットの送信時刻を記憶し、
パケット転送順序において受信元となるノード装置から前記遅延計算パケットを受信し、前記遅延計算パケットに含まれているパケット転送順序において先行する他のスレーブノード装置の中継遅延時間の累積値を取得し、取得した中継遅延時間の累積値を記憶し、
記憶している前記計測パケットの受信時刻と前記計測パケットの送信時刻との差の時間を前記遅延計算パケットに含まれている中継遅延時間の累積値に加算して新たな中継遅延時間の累積値とし、新たな中継遅延時間の累積値が含まれる遅延計算パケットを、パケット転送順序において送信先となるノード装置に対して送信し、
パケット転送順序において受信元となるノード装置から前記計算結果通知パケットを受信し、受信した前記計算結果通知パケットに示される前記計測パケットの送信時刻及びノード装置間の伝送遅延時間と、記憶している前記計測パケットの受信時刻及び前記計測パケットの送信時刻のいずれかと、記憶している中継遅延時間の累積値と、パケット転送順序における当該スレーブノード装置とマスタノード装置との順序差とを用いて、時刻補正値を算出し、算出した時刻補正値を用いて、内部クロックの時刻を補正することを特徴とする通信システム。
【請求項５】
各スレーブノード装置は、
記憶している前記計測パケットの受信時刻と、前記計算結果通知パケットに示される前記計測パケットの送信時刻及びノード装置間の伝送遅延時間と、記憶している中継遅延時間の累積値と、パケット転送順序における当該スレーブノード装置とマスタノード装置との順序差とを用いて、時刻補正値を算出することを特徴とする請求項４に記載の通信システム。
【請求項６】
複数の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、基準クロックを備える管理装置であって、
計測パケットを、パケット転送順序において送信先となる通信装置に対して送信する計測パケット送信部と、
前記複数の通信装置を巡回した前記計測パケットを受信する計測パケット受信部と、
前記基準クロックの計時に従い、前記計測パケット送信部による前記計測パケットの送信時刻と、前記計測パケット受信部による前記計測パケットの受信時刻を記憶する時刻記憶部と、
前記時刻記憶部に記憶されている前記計測パケットの送信時刻と前記計測パケットの受信時刻とが示される計測結果通知パケットを生成する計測結果通知パケット生成部と、
前記計測結果通知パケット生成部により生成された前記計測結果通知パケットを、パケット転送順序において送信先となる通信装置に対して送信する計測結果通知パケット送信部とを有することを特徴とする管理装置。
【請求項７】
複数の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、基準クロックを備える管理装置であって、
計測パケットを、パケット転送順序において送信先となる通信装置に対して送信する計測パケット送信部と、
前記複数の通信装置を巡回した前記計測パケットを受信する計測パケット受信部と、
前記基準クロックの計時に従い、前記計測パケット送信部による前記計測パケットの送信時刻と、前記計測パケット受信部による前記計測パケットの受信時刻を記憶する時刻記憶部と、
前記複数の通信装置における中継遅延時間の総和を取得するための遅延計算パケットを、パケット転送順序において送信先となる通信装置に対して送信する遅延計算パケット送信部と、
前記巡回経路に含まれる前記複数の通信装置を巡回し、各々の通信装置の中継遅延時間が累積され前記複数の通信装置における中継遅延時間の総和が示される前記遅延計算パケットを、受信する遅延計算パケット受信部と、
前記遅延計算パケット受信部により受信された前記遅延計算パケットに示される前記複数の通信装置における中継遅延時間の総和と、前記時刻記憶部に記憶されている前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、前記巡回経路に含まれる装置の総数とに基づいて、通信装置間の伝送遅延時間を算出する伝送遅延時間算出部と、
前記時刻記憶部に記憶されている前記計測パケットの送信時刻及び前記伝送遅延時間算出部により算出された通信装置間の伝送遅延時間が示される計算結果通知パケットを生成する計算結果通知パケット生成部と、
前記計算結果通知パケット生成部により生成された前記計算結果通知パケットを、パケット転送順序において送信先となる通信装置に対して送信する計算結果通知パケット送信部とを有することを特徴とする管理装置。
【請求項８】
基準クロックを備える管理装置及び一つ以上の他の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、内部クロックを備える通信装置であって、
前記管理装置から送信された計測パケットを、パケット転送順序において受信元となる装置から受信する計測パケット受信部と、
前記計測パケット受信部により受信された前記計測パケットを、パケット転送順序において送信先となる装置に対して送信する計測パケット送信部と、
前記内部クロックの計時に従い、前記計測パケット受信部による前記計測パケットの受信時刻及び前記計測パケット送信部による前記計測パケットの送信時刻の少なくともいずれかを記憶する時刻記憶部と、
前記管理装置の前記基準クロックの計時に従って前記管理装置における前記計測パケットの送信時刻を示すとともに前記巡回経路を巡回した前記計測パケットの前記管理装置における受信時刻を示す計測結果通知パケットを、受信する計測結果通知パケット受信部と、
前記計測結果通知パケットに示される前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、前記時刻記憶部に記憶されている前記計測パケットの受信時刻及び前記計測パケットの送信時刻の少なくともいずれかと、前記巡回経路に含まれる装置の総数と、パケット転送順序における前記管理装置との順序差とを用いて、時刻補正値を算出する時刻補正値算出部と、
前記時刻補正値算出部により算出された前記時刻補正値を用いて、前記内部クロックの時刻を補正するクロック制御部とを有することを特徴とする通信装置。
【請求項９】
前記時刻記憶部は、
前記内部クロックの計時に従い、前記計測パケット受信部による前記計測パケットの受信時刻を記憶し、
前記時刻補正値算出部は、
前記時刻記憶部に記憶されている前記計測パケットの受信時刻と、前記計測結果通知パケットに示される前記計測パケット送信時刻及び前記計測パケット受信時刻と、前記巡回経路に含まれる装置の総数と、パケット転送順序における前記管理装置との順序差とを用いて、時刻補正値を算出することを特徴とする請求項８に記載の通信装置。
【請求項１０】
基準クロックを備える管理装置及び一つ以上の他の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、内部クロックを備える通信装置であって、
前記管理装置から送信された計測パケットを、パケット転送順序において受信元となる装置から受信する計測パケット受信部と、
前記計測パケット受信部により受信された前記計測パケットを、パケット転送順序において送信先となる装置に対して送信する計測パケット送信部と、
前記内部クロックの計時に従い、前記計測パケット受信部による前記計測パケットの受信時刻及び前記計測パケット送信部による前記計測パケットの送信時刻を記憶する時刻記憶部と、
パケット転送順序において先行する他の通信装置の中継遅延時間の累積値が含まれる遅延計算パケットを、パケット転送順序において受信元となる装置から受信する遅延計算パケット受信部と、
前記遅延計算パケット受信部により受信された前記遅延計算パケットに含まれている前記中継遅延時間の累積値を取得し、取得した前記中継遅延時間の累積値を記憶する中継遅延時間記憶部と、
前記時刻記憶部に記憶されている前記計測パケットの受信時刻と前記計測パケットの送信時刻との差の時間を前記遅延計算パケットに含まれている中継遅延時間の累積値に加算して新たな中継遅延時間の累積値とし、新たな中継遅延時間の累積値を前記遅延計算パケットに格納する遅延計算パケット更新部と、
前記遅延計算パケット更新部により新たな中継遅延時間の累積値が格納された遅延計算パケットを、パケット転送順序において送信先となる装置に対して送信する遅延計算パケット送信部と、
前記管理装置の前記基準クロックの計時に従って前記管理装置における前記計測パケットの送信時刻を示すとともに通信装置間の伝送遅延時間を示す計算結果通知パケットを、受信する計算結果通知パケット受信部と、
前記計算結果通知パケットに示される前記計測パケットの送信時刻及び通信装置間の伝送遅延時間と、前記時刻記憶部に記憶されている前記計測パケットの受信時刻及び前記計測パケットの送信時刻の少なくともいずれかと、前記中継遅延時間記憶部に記憶されている前記中継遅延時間の累積値と、前記巡回経路に含まれる装置の総数と、パケット転送順序における前記管理装置との順序差とを用いて、時刻補正値を算出する時刻補正値算出部と、
前記時刻補正値算出部により算出された前記時刻補正値を用いて、前記内部クロックの時刻を補正するクロック制御部とを有することを特徴とする通信装置。
【請求項１１】
前記時刻記憶部は、
前記内部クロックの計時に従い、前記計測パケット受信部による前記計測パケットの受信時刻を記憶し、
前記時刻補正値算出部は、
前記時刻記憶部に記憶されている前記計測パケットの受信時刻と、前記計算結果通知パケットに示される前記計測パケットの送信時刻及び通信装置間の伝送遅延時間と、前記中継遅延時間記憶部に記憶されている前記中継遅延時間の累積値と、前記巡回経路に含まれる装置の総数と、パケット転送順序における前記管理装置との順序差とを用いて、時刻補正値を算出することを特徴とする請求項１０に記載の通信装置。
【請求項１２】
複数の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、基準クロックを備える管理装置に、
計測パケットを、パケット転送順序において送信先となる通信装置に対して送信する計測パケット送信処理と、
前記複数の通信装置を巡回した前記計測パケットを受信する計測パケット受信処理と、
前記基準クロックの計時に従い、前記計測パケット送信処理による前記計測パケットの送信時刻と、前記計測パケット受信処理による前記計測パケットの受信時刻を記憶する時刻記憶処理と、
前記時刻記憶処理により記憶されている前記計測パケットの送信時刻と前記計測パケットの受信時刻とが示される計測結果通知パケットを生成する計測結果通知パケット生成処理と、
前記計測結果通知パケット生成処理により生成された前記計測結果通知パケットを、パケット転送順序において送信先となる通信装置に対して送信する計測結果通知パケット送信処理とを実行させることを特徴とするコンピュータプログラム。
【請求項１３】
複数の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、基準クロックを備える管理装置に、
計測パケットを、パケット転送順序において送信先となる通信装置に対して送信する計測パケット送信処理と、
前記複数の通信装置を巡回した前記計測パケットを受信する計測パケット受信処理と、
前記基準クロックの計時に従い、前記計測パケット送信処理による前記計測パケットの送信時刻と、前記計測パケット受信処理による前記計測パケットの受信時刻を記憶する時刻記憶処理と、
前記複数の通信装置における中継遅延時間の総和を取得するための遅延計算パケットを、パケット転送順序において送信先となる通信装置に対して送信する遅延計算パケット送信処理と、
前記巡回経路に含まれる前記複数の通信装置を巡回し、各々の通信装置の中継遅延時間が累積され前記複数の通信装置における中継遅延時間の総和が示される前記遅延計算パケットを、受信する遅延計算パケット受信処理と、
前記遅延計算パケット受信処理により受信された前記遅延計算パケットに示される前記複数の通信装置における中継遅延時間の総和と、前記時刻記憶処理により記憶されている前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、前記巡回経路に含まれる装置の総数とに基づいて、通信装置間の伝送遅延時間を算出する伝送遅延時間算出処理と、
前記時刻記憶処理により記憶されている前記計測パケットの送信時刻及び前記伝送遅延時間算出処理により算出された通信装置間の伝送遅延時間が示される計算結果通知パケットを生成する計算結果通知パケット生成処理と、
前記計算結果通知パケット生成処理により生成された前記計算結果通知パケットを、パケット転送順序において送信先となる通信装置に対して送信する計算結果通知パケット送信処理とを実行させることを特徴とするコンピュータプログラム。
【請求項１４】
基準クロックを備える管理装置及び一つ以上の他の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、内部クロックを備える通信装置に、
前記管理装置から送信された計測パケットを、パケット転送順序において受信元となる装置から受信する計測パケット受信処理と、
前記計測パケット受信処理により受信された前記計測パケットを、パケット転送順序において送信先となる装置に対して送信する計測パケット送信処理と、
前記内部クロックの計時に従い、前記計測パケット受信処理による前記計測パケットの受信時刻及び前記計測パケット送信処理による前記計測パケットの送信時刻の少なくともいずれかを記憶する時刻記憶処理と、
前記管理装置の前記基準クロックの計時に従って前記管理装置における前記計測パケットの送信時刻を示すとともに前記巡回経路を巡回した前記計測パケットの前記管理装置における受信時刻を示す計測結果通知パケットを、受信する計測結果通知パケット受信処理と、
前記計測結果通知パケットに示される前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、前記時刻記憶処理により記憶されている前記計測パケットの受信時刻及び前記計測パケットの送信時刻の少なくともいずれかと、前記巡回経路に含まれる装置の総数と、パケット転送順序における前記管理装置との順序差とを用いて、時刻補正値を算出する時刻補正値算出処理と、
前記時刻補正値算出処理により算出された前記時刻補正値を用いて、前記内部クロックの時刻を補正するクロック制御処理とを実行させることを特徴とするコンピュータプログラム。
【請求項１５】
基準クロックを備える管理装置及び一つ以上の他の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、内部クロックを備える通信装置に、
前記管理装置から送信された計測パケットを、パケット転送順序において受信元となる装置から受信する計測パケット受信処理と、
前記計測パケット受信処理により受信された前記計測パケットを、パケット転送順序において送信先となる装置に対して送信する計測パケット送信処理と、
前記内部クロックの計時に従い、前記計測パケット受信処理による前記計測パケットの受信時刻及び前記計測パケット送信処理による前記計測パケットの送信時刻を記憶する時刻記憶処理と、
パケット転送順序において先行する他の通信装置の中継遅延時間の累積値が含まれる遅延計算パケットを、パケット転送順序において受信元となる装置から受信する遅延計算パケット受信処理と、
前記遅延計算パケット受信処理により受信された前記遅延計算パケットに含まれている前記中継遅延時間の累積値を取得し、取得した前記中継遅延時間の累積値を記憶する中継遅延時間記憶処理と、
前記時刻記憶処理により記憶されている前記計測パケットの受信時刻と前記計測パケットの送信時刻との差の時間を前記遅延計算パケットに含まれている中継遅延時間の累積値に加算して新たな中継遅延時間の累積値とし、新たな中継遅延時間の累積値を前記遅延計算パケットに格納する遅延計算パケット更新処理と、
前記遅延計算パケット更新処理により新たな中継遅延時間の累積値が格納された遅延計算パケットを、パケット転送順序において送信先となる装置に対して送信する遅延計算パケット送信処理と、
前記管理装置の前記基準クロックの計時に従って前記管理装置における前記計測パケットの送信時刻を示すとともに通信装置間の伝送遅延時間を示す計算結果通知パケットを、受信する計算結果通知パケット受信処理と、
前記計算結果通知パケットに示される前記計測パケットの送信時刻及び通信装置間の伝送遅延時間と、前記時刻記憶処理により記憶されている前記計測パケットの受信時刻及び前記計測パケットの送信時刻の少なくともいずれかと、前記中継遅延時間記憶処理により記憶されている前記中継遅延時間の累積値と、前記巡回経路に含まれる装置の総数と、パケット転送順序における前記管理装置との順序差とを用いて、時刻補正値を算出する時刻補正値算出処理と、
前記時刻補正値算出処理により算出された前記時刻補正値を用いて、前記内部クロックの時刻を補正するクロック制御処理とを実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、リング型ネットワークに接続される複数のノード装置間の時刻同期技術に関する。
【背景技術】
【０００２】
従来の時刻同期プロトコルとしては、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）やＩＥＥＥ１５８８がある。
また、リング型ネットワークにおける時刻合わせの方法としては、単純に基準となるノード装置の時刻を送信し、その時刻に合わせる方法が考えられる。
また、リング型ネットワークにおいて処理の同期をとる方法も提案されている（例えば、特許文献１）。
【特許文献１】特開２００２−２４７０５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＮＴＰやＩＥＥＥ１５８８における時刻同期プロトコルは、要求と応答が同じ経路を互いに逆方向に送られることを想定しており、リング型ネットワークのように要求と応答の経路が異なる場合、正確な時刻同期が行えない。
また、単純に時刻を送信して、その時刻に合わせるだけの時刻合わせの方法では、伝送遅延や中継遅延などの影響により、リング内のノード装置の位置によって、設定した時刻に差が生じる。
また、特許文献１のようなリング型ネットワークにおける処理の同期方法においては、遅延を考慮して同期予定時刻を求めているが、各ノード装置の内部クロックの時刻自体のずれについては考慮されていない。【０００４】
この発明は、上記のような課題を解決することを主な目的の一つとしており、リング型ネットワークにおいて、同一方向のパケット伝送のみを想定したプロトコルを使用して、高精度の時刻同期を実現することを主な目的とする。
【課題を解決するための手段】
【０００５】
本発明に係る通信システムは、基準クロックを備えるマスタノード装置と各々が内部クロックを備える複数のスレーブノード装置とがリング接続され、各ノード装置に定められているパケット転送順序に従ってパケットを転送して複数のノード装置間でパケットを巡回させる通信システムであって、
前記マスタノード装置は、
計測パケットを、パケット転送順序において送信先となるスレーブノード装置に対して送信し、前記複数のスレーブノード装置を巡回した前記計測パケットを受信し、
前記基準クロックの計時に従い、前記計測パケットの送信時刻と、前記計測パケットの受信時刻を記憶し、
前記計測パケットの送信時刻及び前記計測パケットの受信時刻が示される計測結果通知パケットを生成し、
パケット転送順序において送信先となるスレーブノード装置に対して、生成した前記計測結果通知パケットを送信し、
各スレーブノード装置は、
パケット転送順序において受信元となるノード装置から前記計測パケットを受信し、受信した前記計測パケットを、パケット転送順序において送信先となるノード装置に対して送信し、
内部クロックの計時に従い、前記計測パケットの受信時刻及び前記計測パケットの送信時刻の少なくともいずれかを記憶し、
パケット転送順序において受信元となるノード装置から前記計測結果通知パケットを受信し、受信した前記計測結果通知パケットに示される前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、記憶している前記計測パケットの受信時刻及び前記計測パケットの送信時刻の少なくともいずれかと、ノード装置の総数と、パケット転送順序における当該スレーブノード装置とマスタノード装置との順序差とを用いて、時刻補正値を算出し、算出した時刻補正値を用いて、内部クロックの時刻を補正することを特徴とする。【０００６】
各スレーブノード装置は、
内部クロックの計時に従い、前記計測パケットの受信時刻を記憶し、
記憶している前記計測パケットの受信時刻と、受信した前記計測結果通知パケットに示される前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、ノード装置の総数と、パケット転送順序における当該スレーブノード装置とマスタノード装置との順序差とを用いて、時刻補正値を算出し、算出した時刻補正値を用いて、内部クロックの時刻を補正することを特徴とする。【０００７】
前記マスタノード装置は、
ノード装置の総数のカウントのためのノード数カウント値が含まれる構成確認パケットを、パケット転送順序において送信先となるスレーブノード装置に対して送信し、
前記複数のスレーブノード装置を巡回した前記構成確認パケットを受信し、
受信した前記構成確認パケットに含まれるノード数カウント値をノード装置の総数として前記計測パケット及び前記計測結果通知パケットの少なくともいずれかに含ませて、前記計測パケット及び前記計測結果通知パケットを、パケット転送順序において送信先となるスレーブノード装置に対して送信し、
各スレーブノード装置は、
パケット転送順序において受信元となるノード装置から前記構成確認パケットを受信し、前記構成確認パケットに含まれているノード数カウント値をカウントアップし、カウントアップ後のノード数カウント値を含む前記構成確認パケットを、パケット転送順序において送信先となるノード装置に対して送信することを特徴とする。【０００８】
本発明に係る通信システムは、基準クロックを備えるマスタノード装置と各々が内部クロックを備える複数のスレーブノード装置とがリング接続され、各ノード装置に定められているパケット転送順序に従ってパケットを転送して複数のノード装置間でパケットを巡回させる通信システムであって、
前記マスタノード装置は、
計測パケットを、パケット転送順序において送信先となるスレーブノード装置に対して送信し、前記複数のスレーブノード装置を巡回した前記計測パケットを受信し、
前記基準クロックの計時に従い、前記計測パケットの送信時刻と、前記計測パケットの受信時刻を記憶し、
前記複数のスレーブノード装置における中継遅延時間の総和を取得するための遅延計算パケットを、パケット転送順序において送信先となるスレーブノード装置に対して送信し、前記複数のスレーブノード装置を巡回した前記遅延計算パケットを受信し、
受信した前記遅延計算パケットに示される前記複数のスレーブノード装置における中継遅延時間の総和と、記憶している前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、ノード装置の総数とに基づいて、ノード装置間の伝送遅延時間を算出し、
記憶している前記計測パケットの送信時刻及び算出したノード装置間の伝送遅延時間が示される計算結果通知パケットを生成し、
生成した前記計算結果通知パケットを、パケット転送順序において送信先となるスレーブノード装置に対して送信し、
各スレーブノード装置は、
パケット転送順序において受信元となるノード装置から前記計測パケットを受信し、受信した前記計測パケットを、パケット転送順序において送信先となるノード装置に対して送信し、
内部クロックの計時に従い、前記計測パケットの受信時刻及び前記計測パケットの送信時刻を記憶し、
パケット転送順序において受信元となるノード装置から前記遅延計算パケットを受信し、前記遅延計算パケットに含まれているパケット転送順序において先行する他のスレーブノード装置の中継遅延時間の累積値を取得し、取得した中継遅延時間の累積値を記憶し、
記憶している前記計測パケットの受信時刻と前記計測パケットの送信時刻との差の時間を前記遅延計算パケットに含まれている中継遅延時間の累積値に加算して新たな中継遅延時間の累積値とし、新たな中継遅延時間の累積値が含まれる遅延計算パケットを、パケット転送順序において送信先となるノード装置に対して送信し、
パケット転送順序において受信元となるノード装置から前記計算結果通知パケットを受信し、受信した前記計算結果通知パケットに示される前記計測パケットの送信時刻及びノード装置間の伝送遅延時間と、記憶している前記計測パケットの受信時刻及び前記計測パケットの送信時刻のいずれかと、記憶している中継遅延時間の累積値と、パケット転送順序における当該スレーブノード装置とマスタノード装置との順序差とを用いて、時刻補正値を算出し、算出した時刻補正値を用いて、内部クロックの時刻を補正することを特徴とする。【０００９】
各スレーブノード装置は、
記憶している前記計測パケットの受信時刻と、前記計算結果通知パケットに示される前記計測パケットの送信時刻及びノード装置間の伝送遅延時間と、記憶している中継遅延時間の累積値と、パケット転送順序における当該スレーブノード装置とマスタノード装置との順序差とを用いて、時刻補正値を算出することを特徴とする。【００１０】
本発明に係る管理装置は、複数の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、基準クロックを備える管理装置であって、
計測パケットを、パケット転送順序において送信先となる通信装置に対して送信する計測パケット送信部と、
前記複数の通信装置を巡回した前記計測パケットを受信する計測パケット受信部と、
前記基準クロックの計時に従い、前記計測パケット送信部による前記計測パケットの送信時刻と、前記計測パケット受信部による前記計測パケットの受信時刻を記憶する時刻記憶部と、
前記時刻記憶部に記憶されている前記計測パケットの送信時刻と前記計測パケットの受信時刻とが示される計測結果通知パケットを生成する計測結果通知パケット生成部と、
前記計測結果通知パケット生成部により生成された前記計測結果通知パケットを、パケット転送順序において送信先となる通信装置に対して送信する計測結果通知パケット送信部とを有することを特徴とする。【００１１】
本発明に係る管理装置は、複数の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、基準クロックを備える管理装置であって、
計測パケットを、パケット転送順序において送信先となる通信装置に対して送信する計測パケット送信部と、
前記複数の通信装置を巡回した前記計測パケットを受信する計測パケット受信部と、
前記基準クロックの計時に従い、前記計測パケット送信部による前記計測パケットの送信時刻と、前記計測パケット受信部による前記計測パケットの受信時刻を記憶する時刻記憶部と、
前記複数の通信装置における中継遅延時間の総和を取得するための遅延計算パケットを、パケット転送順序において送信先となる通信装置に対して送信する遅延計算パケット送信部と、
前記巡回経路に含まれる前記複数の通信装置を巡回し、各々の通信装置の中継遅延時間が累積され前記複数の通信装置における中継遅延時間の総和が示される前記遅延計算パケットを、受信する遅延計算パケット受信部と、
前記遅延計算パケット受信部により受信された前記遅延計算パケットに示される前記複数の通信装置における中継遅延時間の総和と、前記時刻記憶部に記憶されている前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、前記巡回経路に含まれる装置の総数とに基づいて、通信装置間の伝送遅延時間を算出する伝送遅延時間算出部と、
前記時刻記憶部に記憶されている前記計測パケットの送信時刻及び前記伝送遅延時間算出部により算出された通信装置間の伝送遅延時間が示される計算結果通知パケットを生成する計算結果通知パケット生成部と、
前記計算結果通知パケット生成部により生成された前記計算結果通知パケットを、パケット転送順序において送信先となる通信装置に対して送信する計算結果通知パケット送信部とを有することを特徴とする。【００１２】
本発明に係る通信装置は、基準クロックを備える管理装置及び一つ以上の他の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、内部クロックを備える通信装置であって、
前記管理装置から送信された計測パケットを、パケット転送順序において受信元となる装置から受信する計測パケット受信部と、
前記計測パケット受信部により受信された前記計測パケットを、パケット転送順序において送信先となる装置に対して送信する計測パケット送信部と、
前記内部クロックの計時に従い、前記計測パケット受信部による前記計測パケットの受信時刻及び前記計測パケット送信部による前記計測パケットの送信時刻の少なくともいずれかを記憶する時刻記憶部と、
前記管理装置の前記基準クロックの計時に従って前記管理装置における前記計測パケットの送信時刻を示すとともに前記巡回経路を巡回した前記計測パケットの前記管理装置における受信時刻を示す計測結果通知パケットを、受信する計測結果通知パケット受信部と、
前記計測結果通知パケットに示される前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、前記時刻記憶部に記憶されている前記計測パケットの受信時刻及び前記計測パケットの送信時刻の少なくともいずれかと、前記巡回経路に含まれる装置の総数と、パケット転送順序における前記管理装置との順序差とを用いて、時刻補正値を算出する時刻補正値算出部と、
前記時刻補正値算出部により算出された前記時刻補正値を用いて、前記内部クロックの時刻を補正するクロック制御部とを有することを特徴とする。【００１３】
前記時刻記憶部は、
前記内部クロックの計時に従い、前記計測パケット受信部による前記計測パケットの受信時刻を記憶し、
前記時刻補正値算出部は、
前記時刻記憶部に記憶されている前記計測パケットの受信時刻と、前記計測結果通知パケットに示される前記計測パケット送信時刻及び前記計測パケット受信時刻と、前記巡回経路に含まれる装置の総数と、パケット転送順序における前記管理装置との順序差とを用いて、時刻補正値を算出することを特徴とする。【００１４】
本発明に係る通信装置は、基準クロックを備える管理装置及び一つ以上の他の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、内部クロックを備える通信装置であって、
前記管理装置から送信された計測パケットを、パケット転送順序において受信元となる装置から受信する計測パケット受信部と、
前記計測パケット受信部により受信された前記計測パケットを、パケット転送順序において送信先となる装置に対して送信する計測パケット送信部と、
前記内部クロックの計時に従い、前記計測パケット受信部による前記計測パケットの受信時刻及び前記計測パケット送信部による前記計測パケットの送信時刻を記憶する時刻記憶部と、
パケット転送順序において先行する他の通信装置の中継遅延時間の累積値が含まれる遅延計算パケットを、パケット転送順序において受信元となる装置から受信する遅延計算パケット受信部と、
前記遅延計算パケット受信部により受信された前記遅延計算パケットに含まれている前記中継遅延時間の累積値を取得し、取得した前記中継遅延時間の累積値を記憶する中継遅延時間記憶部と、
前記時刻記憶部に記憶されている前記計測パケットの受信時刻と前記計測パケットの送信時刻との差の時間を前記遅延計算パケットに含まれている中継遅延時間の累積値に加算して新たな中継遅延時間の累積値とし、新たな中継遅延時間の累積値を前記遅延計算パケットに格納する遅延計算パケット更新部と、
前記遅延計算パケット更新部により新たな中継遅延時間の累積値が格納された遅延計算パケットを、パケット転送順序において送信先となる装置に対して送信する遅延計算パケット送信部と、
前記管理装置の前記基準クロックの計時に従って前記管理装置における前記計測パケットの送信時刻を示すとともに通信装置間の伝送遅延時間を示す計算結果通知パケットを、受信する計算結果通知パケット受信部と、
前記計算結果通知パケットに示される前記計測パケットの送信時刻及び通信装置間の伝送遅延時間と、前記時刻記憶部に記憶されている前記計測パケットの受信時刻及び前記計測パケットの送信時刻の少なくともいずれかと、前記中継遅延時間記憶部に記憶されている前記中継遅延時間の累積値と、前記巡回経路に含まれる装置の総数と、パケット転送順序における前記管理装置との順序差とを用いて、時刻補正値を算出する時刻補正値算出部と、
前記時刻補正値算出部により算出された前記時刻補正値を用いて、前記内部クロックの時刻を補正するクロック制御部とを有することを特徴とする。【００１５】
前記時刻記憶部は、
前記内部クロックの計時に従い、前記計測パケット受信部による前記計測パケットの受信時刻を記憶し、
前記時刻補正値算出部は、
前記時刻記憶部に記憶されている前記計測パケットの受信時刻と、前記計算結果通知パケットに示される前記計測パケットの送信時刻及び通信装置間の伝送遅延時間と、前記中継遅延時間記憶部に記憶されている前記中継遅延時間の累積値と、前記巡回経路に含まれる装置の総数と、パケット転送順序における前記管理装置との順序差とを用いて、時刻補正値を算出することを特徴とする。【００１６】
本発明に係るコンピュータプログラムは、複数の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、基準クロックを備える管理装置に、
計測パケットを、パケット転送順序において送信先となる通信装置に対して送信する計測パケット送信処理と、
前記複数の通信装置を巡回した前記計測パケットを受信する計測パケット受信処理と、
前記基準クロックの計時に従い、前記計測パケット送信処理による前記計測パケットの送信時刻と、前記計測パケット受信処理による前記計測パケットの受信時刻を記憶する時刻記憶処理と、
前記時刻記憶処理により記憶されている前記計測パケットの送信時刻と前記計測パケットの受信時刻とが示される計測結果通知パケットを生成する計測結果通知パケット生成処理と、
前記計測結果通知パケット生成処理により生成された前記計測結果通知パケットを、パケット転送順序において送信先となる通信装置に対して送信する計測結果通知パケット送信処理とを実行させることを特徴とする。【００１７】
本発明に係るコンピュータプログラムは、複数の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、基準クロックを備える管理装置に、
計測パケットを、パケット転送順序において送信先となる通信装置に対して送信する計測パケット送信処理と、
前記複数の通信装置を巡回した前記計測パケットを受信する計測パケット受信処理と、
前記基準クロックの計時に従い、前記計測パケット送信処理による前記計測パケットの送信時刻と、前記計測パケット受信処理による前記計測パケットの受信時刻を記憶する時刻記憶処理と、
前記複数の通信装置における中継遅延時間の総和を取得するための遅延計算パケットを、パケット転送順序において送信先となる通信装置に対して送信する遅延計算パケット送信処理と、
前記巡回経路に含まれる前記複数の通信装置を巡回し、各々の通信装置の中継遅延時間が累積され前記複数の通信装置における中継遅延時間の総和が示される前記遅延計算パケットを、受信する遅延計算パケット受信処理と、
前記遅延計算パケット受信処理により受信された前記遅延計算パケットに示される前記複数の通信装置における中継遅延時間の総和と、前記時刻記憶処理により記憶されている前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、前記巡回経路に含まれる装置の総数とに基づいて、通信装置間の伝送遅延時間を算出する伝送遅延時間算出処理と、
前記時刻記憶処理により記憶されている前記計測パケットの送信時刻及び前記伝送遅延時間算出処理により算出された通信装置間の伝送遅延時間が示される計算結果通知パケットを生成する計算結果通知パケット生成処理と、
前記計算結果通知パケット生成処理により生成された前記計算結果通知パケットを、パケット転送順序において送信先となる通信装置に対して送信する計算結果通知パケット送信処理とを実行させることを特徴とする。【００１８】
本発明に係るコンピュータプログラムは、基準クロックを備える管理装置及び一つ以上の他の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、内部クロックを備える通信装置に、
前記管理装置から送信された計測パケットを、パケット転送順序において受信元となる装置から受信する計測パケット受信処理と、
前記計測パケット受信処理により受信された前記計測パケットを、パケット転送順序において送信先となる装置に対して送信する計測パケット送信処理と、
前記内部クロックの計時に従い、前記計測パケット受信処理による前記計測パケットの受信時刻及び前記計測パケット送信処理による前記計測パケットの送信時刻の少なくともいずれかを記憶する時刻記憶処理と、
前記管理装置の前記基準クロックの計時に従って前記管理装置における前記計測パケットの送信時刻を示すとともに前記巡回経路を巡回した前記計測パケットの前記管理装置における受信時刻を示す計測結果通知パケットを、受信する計測結果通知パケット受信処理と、
前記計測結果通知パケットに示される前記計測パケットの送信時刻及び前記計測パケットの受信時刻と、前記時刻記憶処理により記憶されている前記計測パケットの受信時刻及び前記計測パケットの送信時刻の少なくともいずれかと、前記巡回経路に含まれる装置の総数と、パケット転送順序における前記管理装置との順序差とを用いて、時刻補正値を算出する時刻補正値算出処理と、
前記時刻補正値算出処理により算出された前記時刻補正値を用いて、前記内部クロックの時刻を補正するクロック制御処理とを実行させることを特徴とする。【００１９】
本発明に係るコンピュータプログラムは、基準クロックを備える管理装置及び一つ以上の他の通信装置とともにパケットの巡回経路を構成し、各装置に定められているパケット転送順序に従って前記巡回経路においてパケットを巡回させる、内部クロックを備える通信装置に、
前記管理装置から送信された計測パケットを、パケット転送順序において受信元となる装置から受信する計測パケット受信処理と、
前記計測パケット受信処理により受信された前記計測パケットを、パケット転送順序において送信先となる装置に対して送信する計測パケット送信処理と、
前記内部クロックの計時に従い、前記計測パケット受信処理による前記計測パケットの受信時刻及び前記計測パケット送信処理による前記計測パケットの送信時刻を記憶する時刻記憶処理と、
パケット転送順序において先行する他の通信装置の中継遅延時間の累積値が含まれる遅延計算パケットを、パケット転送順序において受信元となる装置から受信する遅延計算パケット受信処理と、
前記遅延計算パケット受信処理により受信された前記遅延計算パケットに含まれている前記中継遅延時間の累積値を取得し、取得した前記中継遅延時間の累積値を記憶する中継遅延時間記憶処理と、
前記時刻記憶処理により記憶されている前記計測パケットの受信時刻と前記計測パケットの送信時刻との差の時間を前記遅延計算パケットに含まれている中継遅延時間の累積値に加算して新たな中継遅延時間の累積値とし、新たな中継遅延時間の累積値を前記遅延計算パケットに格納する遅延計算パケット更新処理と、
前記遅延計算パケット更新処理により新たな中継遅延時間の累積値が格納された遅延計算パケットを、パケット転送順序において送信先となる装置に対して送信する遅延計算パケット送信処理と、
前記管理装置の前記基準クロックの計時に従って前記管理装置における前記計測パケットの送信時刻を示すとともに通信装置間の伝送遅延時間を示す計算結果通知パケットを、受信する計算結果通知パケット受信処理と、
前記計算結果通知パケットに示される前記計測パケットの送信時刻及び通信装置間の伝送遅延時間と、前記時刻記憶処理により記憶されている前記計測パケットの受信時刻及び前記計測パケットの送信時刻の少なくともいずれかと、前記中継遅延時間記憶処理により記憶されている前記中継遅延時間の累積値と、前記巡回経路に含まれる装置の総数と、パケット転送順序における前記管理装置との順序差とを用いて、時刻補正値を算出する時刻補正値算出処理と、
前記時刻補正値算出処理により算出された前記時刻補正値を用いて、前記内部クロックの時刻を補正するクロック制御処理とを実行させることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、計測パケットを複数のスレーブノード装置で巡回させ実測した、リング１周分の遅延時間を元にマスタノード装置からスレーブノード装置までの遅延を推定して時刻補正値を算出するため、精度の高い時刻同期が実現できる。
【発明を実施するための最良の形態】
【００２１】
実施の形態１．
図１及び図２は、本実施の形態に係る時刻同期装置１００の構成例を示す図である。
本実施の形態では、複数の時刻同期装置１００が、図３に示すように接続され、リング型ネットワークを構成する。
つまり、本実施の形態で対象にする通信システムは、図３に示すように、管理装置たるマスタノード装置と、通信装置たる複数のスレーブノード装置とがリング接続されるリング型ネットワークである。マスタノード装置、スレーブノード装置は、それぞれ時刻同期装置１００である。
各ノード装置から送信されるパケットは、図３に示すように、常に一定方向に送信される。このような制約はハードウェア上の制約のみではなく、送信方向を制御する手段を持たない上位層で時刻同期の制御を行う場合にも現れる。
また、図３から明らかなように、各ノード装置には、パケット転送順序が定められており、図３の例では、マスタノード装置−スレーブノード装置Ａ−スレーブノード装置Ｂ−マスタノード装置というパケット転送順序にてパケットが転送され、複数のノード装置間でパケットが巡回する。図３に示すリング型ネットワークを巡回経路ともいう。【００２２】
図１は、マスタノード装置としての時刻同期装置１００の構成例を示す図であり、図２は、スレーブノード装置としての時刻同期装置１００の構成例を示す図である。
マスタノード装置として動作する場合、スレーブノード装置として動作する場合のいずれも、時刻同期装置１００の構成自体は同じであるが、マスタノード装置として動作する場合、スレーブノード装置として動作する場合のそれぞれにおいて各構成要素の役割、処理内容が異なるため、説明の便宜のために、別の図として示している。
しかし、時刻同期装置１００の構成自体は、マスタノード装置として動作する場合、スレーブノード装置として動作する場合でも同じ構成であるため、同じ時刻同期装置１００が、マスタノード装置及びスレーブノード装置のいずれになることも可能である。
以下では、各構成要素について、マスタノード装置、スレーブノード装置に共通する役割、処理内容を説明した後で、マスタノード装置に特有の役割、処理内容、スレーブノード装置に特有の役割、処理内容を説明する。
なお、以下、マスタノード装置を単にマスタ又はマスタノードともいい、スレーブノード装置を単にスレーブ又はスレーブノードともいう。【００２３】
図１及び図２において、時刻同期処理制御部１は、時刻同期手順を制御する手段であり、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの回路である。
受信データ処理部２は、伝送路からの受信データの処理を行う手段であり、例えばＣＰＵまたはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの回路である、
送信データ生成部３は、伝送路から送信する送信データを生成する手段であり、ＣＰＵまたはＡＳＩＣなどの回路である。
内部クロック４は、内部発振器などの時間経過を計測する手段を備えた回路である。
クロック制御部５は、内部クロック４、受信部６、送信部８とそれぞれ接続し、データ送受信のタイムスタンプ取得を制御する手段であり、例えばＡＳＩＣなどの回路である。
受信部６は、伝送路からのデータ受信を行う手段である。
リピータ７は、伝送路からの受信データをバッファリングし高速に送信するための手段である。
送信部８は、伝送路への送信を行う手段である。【００２４】
本実施の形態では、マスタノードは、後に詳述するように、計測パケットを、パケット転送順序において送信先となるスレーブノードに対して送信し、複数のスレーブノードを巡回した計測パケットを受信し、内部クロック（基準クロック）の計時に従い、計測パケットの送信時刻と、計測パケットの受信時刻を記憶する。
また、マスタノードは、計測パケットの送信時刻及び計測パケットの受信時刻が示される計測結果通知パケットを生成し、パケット転送順序において送信先となるスレーブノードに対して、生成した計測結果通知パケットを送信する。【００２５】
このような処理を行うマスタノードとして動作する場合、時刻同期装置１００の構成要素は、図１に示すように、主に以下のような役割を有する。
内部クロック４は、リング型ネットワークに含まれる複数のノード装置間の時刻同期の基準となる基準クロックとして機能する。
また、送信部８は、計測パケット及び計測結果通知パケットを、パケット転送順序において送信先となるスレーブノード（通信装置）に対して送信する。送信部８は、計測パケット送信部及び計測結果通知パケット送信部の例となる。
受信部６は、複数のスレーブノードを巡回した計測パケット及び計測結果通知パケットを受信する。受信部６は、計測パケット受信部の例となる。
時刻同期処理制御部１は、基準クロックたる内部クロック４の計時に従い、送信部８による計測パケットの送信時刻と、受信部６による計測パケットの受信時刻を記憶する。時刻同期処理制御部１は、時刻記憶部の例となる。
送信データ生成部３は、時刻同期処理制御部１に記憶されている計測パケットの送信時刻と計測パケットの受信時刻とが示される計測結果通知パケットを生成する。送信データ生成部３は、計測結果通知パケット生成部の例となる。【００２６】
また、本実施の形態では、後に詳述するように、各スレーブノードは、パケット転送順序において受信元となるノード装置から計測パケットを受信し、受信した計測パケットを、パケット転送順序において送信先となるノード装置に対して送信し、内部クロックの計時に従い、計測パケットの受信時刻及び計測パケットの送信時刻の少なくともいずれかを記憶する。
また、各スレーブノードは、パケット転送順序において受信元となるノード装置から計測結果通知パケットを受信し、受信した計測結果通知パケットに示される計測パケットの送信時刻及び計測パケットの受信時刻と、記憶している計測パケットの受信時刻及び計測パケットの送信時刻の少なくともいずれかと、ノード装置の総数と、パケット転送順序における当該スレーブノードとマスタノードとの順序差とを用いて、時刻補正値を算出し、算出した時刻補正値を用いて、内部クロックの時刻を補正する。【００２７】
このような処理を行うスレーブノードとして動作する場合、時刻同期装置１００の構成要素は、図２に示すように、主に以下のような役割を有する。
受信部６は、マスタノード（管理装置）から送信された計測パケット及び計測結果通知パケットを、パケット転送順序において受信元となるノード装置から受信する。受信部６は、計測パケット受信部及び計測結果通知パケット受信部の例となる。
送信部８は、受信部６により受信された計測パケット及び計測結果通知パケットを、パケット転送順序において送信先となるノード装置に対して送信する。送信部８は、計測パケット送信部の例となる。
時刻同期処理制御部１は、内部クロック４の計時に従い、受信部６による計測パケットの受信時刻及び送信部８による計測パケットの送信時刻の少なくともいずれかを記憶する。
また、時刻同期処理制御部１は、計測結果通知パケットに示されるマスタノードにおける計測パケットの送信時刻及び計測パケットの受信時刻と、記憶している当該スレーブノードにおける計測パケットの受信時刻及び計測パケットの送信時刻の少なくともいずれかと、巡回経路に含まれるノード装置の総数と、パケット転送順序における当該スレーブノードとマスタノードとの順序差とを用いて、時刻補正値を算出する。時刻同期処理制御部１は、時刻記憶部及び時刻補正値算出部の例となる。
クロック制御部５は時刻同期処理制御部１により算出された時刻補正値を用いて、内部クロック４の時刻を補正する。【００２８】
次に動作について説明する。
図４は、図３におけるマスタ、スレーブＡ、およびスレーブＢの間のパケット交換を時系列で示すため、リング構造をマスタの位置で展開し横方向に記し、縦方向に時系列を示したものである。
したがって、図４で右端と左端に記されている「マスタ」は同一のノードを示す。
時刻同期の処理は、たとえば、マスタのタイマにより、一定時間ごとに実行する。
時刻同期の処理が開始すると、まず、マスタは、計測パケットを送出し、その送信時刻Ｔ０１を採取して保存する。
スレーブでは、計測パケットを受信すると、リピータを介して次のノードへ高速に計測パケットをリピート送信するとともに、データの読み込みを行う。このとき、スレーブは受信時刻又は送信時刻を採取し、保存する。なお、以降では、スレーブは計測パケットの受信時刻を採取し、保存する例を説明する。
図４において、スレーブＡにおいては、パケット受信時刻Ｔ１１を、スレーブＢにおいては、パケット受信時刻Ｔ２１を採取する。
次に、マスタが、リングを一周してきた計測パケットを受信すると、その受信時刻Ｔ０２を採取する。
次に、マスタは、自ノードで採取した、Ｔ０１、Ｔ０２の値を、計測結果通知パケットに格納して送信し、各スレーブに通知する。
各スレーブは、計測結果通知パケットにより受信したＴ０１、Ｔ０２の値と、自ノードで採取した、送信時刻、受信時刻から、それぞれの内部クロックが示す時刻の補正値を算出する。【００２９】
ここまでで、マスタ、スレーブＡ、スレーブＢの各ノードで採取する送信時刻、および、受信時刻は、それぞれの内部クロックにより採取した値であり、それぞれの内部クロックは、その内部発振器の精度等の影響により、それぞれ、絶対時刻との間、および、相互の内部クロック間で示す時刻に差が生じている。
ここでは、各スレーブにおける内部クロックの、マスタの内部クロック（基準クロック）から見たオフセット、すなわち、スレーブにおける内部クロックの補正値を算出する。
ここで、計測パケットを送受信した際の各ノード間の遅延時間は等しいものとして、時刻補正値を計算する。
すると、図４において各ノード間の遅延時間は、リング１周の遅延時間（Ｔ０２−Ｔ０１）をノード数で割った時間となる。
また、マスタの送信時刻Ｔ０１からの各ノードにおける受信時刻の遅延は、この値に、マスタからスレーブに至る経路上の自ノードを含むスレーブノード数（マスタノードとスレーブノード間のパケット転送順序の順序差）を乗算した値となる。【００３０】
図４において、スレーブＡの内部クロックの補正値ΔＴ１は、
ΔＴ１＝Ｔ０１＋（Ｔ０２−Ｔ０１）／３−Ｔ１１
また、スレーブＢの内部クロックの補正値ΔＴ２は、
ΔＴ２＝Ｔ０１＋（Ｔ０２−Ｔ０１）×２／３−Ｔ２１
となる。【００３１】
各スレーブにおいてこれらの補正値を求めた後、任意のタイミングで、算出した補正値を使用して内部クロックの時刻を修正することにより、時刻同期処理は完了する。【００３２】
次に、マスタとして動作する際の時刻同期装置１００の処理の詳細及びスレーブとして動作する際の時刻同期装置１００の処理の詳細を示す。【００３３】
まず、マスタとして動作する際の時刻同期装置１００の処理を示す。
図５は、マスタとして動作する際の時刻同期装置１００処理フローである。【００３４】
マスタは、これらの一連の時刻同期処理を、マスタ内部のタイマによる周期動作、オペレータの操作、マスタ内部のソフトウェア、ハードウェアで発生する各種イベント等を契機として開始する。【００３５】
時刻同期処理を開始すると、マスタは、まず計測パケットを送信し、送信時刻を採取する（Ｓ１）。
計測パケットの形式の一例を図６に示す。
図６において、送信元アドレス、および、宛先アドレスは、リング型ネットワークで各ノードを識別するアドレスである。
計測パケットにおいて、宛先は全ノードであるため、宛先アドレスはブロードキャストアドレスを指定する。
ブロードキャストアドレスは、たとえば、アドレス長が１バイトの場合、１６進数でＦＦなどをあらかじめ予約しておく。
パケット種別は、その値により、パケットの種別を表す。
本実施の形態では、計測パケット、計測結果通知パケットの２種のための値が予約される。
シーケンス番号は、一連のパケットを関連付けるために使用する。
図４において、一連の計測パケット、計測結果通知パケットのシーケンス番号フィールドに同じ値を格納することにより、受信側で、一連のパケットを関係付ける。
シーケンス番号は、一連のパケットの識別が出来れば、どのように割り振ってもよいが、たとえば、マスタで計測パケットを送信するたびに１ずつカウントアップし、関連する計測結果通知パケットに同じ値を格納するようにすればよい。【００３６】
この計測パケット送信のマスタの内部処理では、まず、時刻同期処理制御部１が、送信データ生成部３に対し、計測パケット送信命令を発行する。
送信データ生成部３は、命令を受けると、計測パケットを生成し、送信部８に送る。
送信部８は計測パケットを伝送路に送出し、送信のタイミングでタイミング信号をクロック制御部５に送る。
クロック制御部５は、タイミング信号を受けると、内部クロック４が示す時刻を取得する。
一方、送信部８での送信処理が完了し、送信データ生成部３を経由して時刻同期処理制御部１に制御が戻ると、時刻同期処理制御部１は、送信部８での計測パケット送信のタイミングで取得した時刻をクロック制御部５から取得し、計測パケット送信時刻として、シーケンス番号と対応付けて保存する。【００３７】
計測パケットを送信後、次に、マスタは、リングを１周してきた同じ計測パケットを受信する。
このとき、受信時刻を採取し、計測パケット受信時刻として保持しておく（Ｓ２）。【００３８】
マスタ内部の処理としては、まず、受信部６が計測パケットを受信する。
このとき、受信部６からのタイミング信号により、クロック制御部５は、内部クロック４の時刻を取得する。
同時に、受信部６で受信した計測パケットのデータは、受信データ処理部２に伝達され、受信データ処理部２においてパケット種別が判別され、計測パケット受信のイベントとして時刻同期処理制御部１に通知される。
時刻同期処理制御部１は、計測パケット受信のイベントを受けると、クロック制御部から、受信部６におけるパケット受信のタイミングで取得した時刻を取得し、計測パケット受信時刻として、シーケンス番号と対応付け、保存する。【００３９】
次に、マスタは、計測結果通知パケットを送信し、自ノードで測定した、計測パケット送信時刻、および、計測パケット受信時刻を各スレーブに通知する（Ｓ３）。【００４０】
マスタの内部の処理では、時刻同期処理制御部１が、内部に保存していた計測パケット送信時刻、および、計測パケット受信時刻を、計測結果通知パケット送信命令とともに、送信データ生成部３に通知する。
送信データ生成部３は計測パケット送信時刻、および、計測パケット受信時刻を、それぞれ、計測結果通知パケットのマスタ送信時刻、およびマスタ受信時刻のフィールドに格納した、計測結果通知パケットを生成する。
計測結果通知パケットの形式の一例を図７に記す。
送信データ生成部３で生成されたパケットは、送信部８から伝送路に送出する。【００４１】
次に、マスタは、リングを１周してきた計測結果通知パケットを受信する（Ｓ４）。【００４２】
マスタの内部処理としては、受信部６でパケットを受信し、受信データ処理部２でパケット種別を判別し、時刻同期処理制御部１に計測結果通知パケット受信イベントとして通知する。【００４３】
次に、スレーブにおける処理を示す。
図８は、スレーブにおける処理フローの一例である。【００４４】
まず、スレーブは、計測パケットを受信し、これを次のノードに送出するとともに送信時刻を採取する（Ｓ５）。【００４５】
スレーブ内部では次のように処理を行う。
まず、計測パケットを受信部６が受信する。
このとき、受信部６は、パケット受信のタイミング信号をクロック制御部５に送る。
タイミング信号を受けたクロック制御部５は、内部クロック４の示す時刻を取得し保存する。
また、受信したパケットは、受信部６からリピータ７に伝えるとともに、受信データ処理部２に取り込む。
リピータ７に送られたパケットは、バッファリングされ、そのまま変更せずに送信部８に送るか、あるいは、データリンク層のヘッダおよびトレーラを変更して、送信部８に送る。
送信部８は、リピータ７から受け取ったパケットを伝送路に送出する。
一方、受信部６から計測パケットのデータを取り込んだ受信データ処理部２では、パケット種別を識別し、計測パケット受信イベントを時刻同期処理制御部１に通知する。
イベントを受けた時刻同期処理制御部１では、クロック制御部５から、受信部６での計測パケット受信のタイミングで取得した時刻を取得し、計測パケットのシーケンス番号と関連付けて保存する。【００４６】
次に、スレーブは、計測結果通知パケットを受信する（Ｓ６）。【００４７】
スレーブ内部では次のように処理を行う。
まず、計測結果通知パケットを受信部６が受信する。
受信したパケットは、受信部６からリピータ７に伝えるとともに、受信データ処理部２に取り込む。
リピータ７に送られたパケットは、バッファリングされ、そのまま変更せずに送信部８に送るか、あるいは、データリンク層のヘッダおよびトレーラを変更して、送信部８に送る。
送信部８は、リピータ７から受け取ったパケットを伝送路に送出する。
また一方、受信部６から計測結果通知パケットのデータを取り込んだ受信データ処理部２では、パケット種別を識別し、計測結果通知パケット受信イベントを時刻同期処理制御部１に通知する。【００４８】
次に、スレーブは、自ノードの内部クロックにおける時刻の補正値を算出する（Ｓ７）。【００４９】
スレーブ内部においては、Ｓ６で計測結果通知パケット受信イベントを受けた時刻同期処理制御部１は、イベント通知により取得した計測結果通知パケットのデータより、マスタで測定した、計測パケット送信時刻、および、計測パケット受信時刻を取り出し、スレーブで測定した、計測パケット受信時刻と合わせて、時刻の補正値を算出する。
このとき、それぞれの受信時刻データ、送信時刻データの対応づけは、各パケットのシーケンス番号により対応付ける。
時刻の補正値の算出式は、図４のケースにて先に示した通りであるが、より一般化した形で記述すると次のようになる。
今、マスタで測定した計測パケット送信時刻をＴＭＳ、計測パケット受信時刻をＴＭＲ、スレーブで測定した計測パケット受信時刻をＴＳＲとし、リング内のノード数をｎ、また、当該スレーブが、マスタから数えてｍ番目であるとすると、スレーブにおける時刻の補正値ΔＴは、
ΔＴ＝ＴＭＳ＋（ＴＭＲ−ＴＭＳ）×ｍ／ｎ−ＴＳＲ
となる。【００５０】
なお、ここでは、スレーブにおける計測パケット受信時刻ＴＳＲを記憶し、この計測パケット受信時刻ＴＳＲを時刻補正値の算定に用いることとしているが、前述したように、代わりにスレーブにおける計測パケット送信時刻を記憶し、このスレーブにおける計測パケット送信時刻を時刻補正値の算定に用いるようにしてもよい。【００５１】
次に、スレーブは、算出した時刻補正値を使用して内部クロックの時刻を調整する（Ｓ８）。【００５２】
スレーブの内部処理では、時刻同期処理制御部１が、Ｓ７において算出した補正値ΔＴを使用して、クロック制御部５に対して、内部クロック調整命令を発行する。
クロック制御部５は、内部クロック調整命令を受けると、内部クロック４の現在時刻に補正値ΔＴを加算する処理を実行する。以上の処理で、スレーブの内部クロックをマスタの内部クロック（基準クロック）に同期させる時刻同期処理が完了する。【００５３】
以上の例における、リング内のノード数ｎ、および、スレーブにおけるマスタからの経路上のノード数ｍは、リング型ネットワーク構成時に既知であるとして、各スレーブにパラメータとして設定するようにしてもよいが、次のようにして、自動的にカウントするようにしても良い。
この場合のパケットの交換手順の例を図９に示す。【００５４】
図９に示したように構成確認パケットをリング型ネットワークのノード装置間で１周させ、上記ｎおよびｍの値を求める。
この手順は、時刻同期のたびごとに実施する必要はなく、ネットワークの構成変更があったときのみに実施すればよい。【００５５】
図１０は構成確認パケットの形式の例である。
ノード数カウンタのフィールドは、リング型ネットワーク内のノード数をカウントするためのもので、マスタから送信するときには、１を格納し、各スレーブでは、構成確認パケットを受信し、次のノードに送信するたびに１を加算する。
このようにした場合、各スレーブが構成確認パケットを受信したときにノード数カウンタフィールドに格納されている値が、そのスレーブにおけるｍの値であり、マスタが、１周して帰ってきた構成確認パケットを受信したときにノード数カウンタフィールドに格納されている値が、リング内のノードの総数ｎである。
ｎの値をマスタから各スレーブに通知するためには、その通知のための専用のパケットをマスタから送信しても良いが、ｎの値はマスタ側に保存しておき、時刻同期における計測パケットまたは、計測結果通知パケットに格納して送信するようにしても良い。【００５６】
以上のように、計測パケットをリング型ネットワークに１周させ実測した、リング１周分の遅延時間を元にマスタにおける送信からスレーブにおける受信までの遅延を推定して時刻補正値の算出に使用しているため、精度の高い時刻同期が実現できる。【００５７】
また、同一方向に送信されるパケットのみを使用しているため、一方向への送信機能しか持たないリング型ネットワークへの適用や、送信方向を選択できない上位層からの時刻同期制御に適用できる。【００５８】
また、計測パケットは、スレーブにおいては、リピータを経由した高速送信処理で次のノードへ転送されるため、計測パケットがリングを１周するまでの時間を短くでき、時刻同期処理を高速化できるとともに、遅延時間算出の精度も高まるため、時刻同期の精度を高めることが出来る。
また、スレーブにおける時刻同期処理を統一しており、単純化できる。【００５９】
このように、本実施の形態では、以下の手段を備えた時刻同期装置について説明した。
（ａ）第１の伝送路に対する受信手段および送信手段、
（ｂ）内部クロック、
（ｃ）上記受信手段および送信手段におけるパケット受信、およびパケット送信のタイミングで、上記内部クロックに基づく時刻を採取し、保存する手段、
（ｄ）上記時刻情報を他のノードと交換し、時刻補正値を算出し、内部クロックの時刻調整を行う制御手段。【００６０】
また、本実施の形態では、以下の手段を含むマスタノード装置についても説明した。
（ａ）計測パケットを送信し、送信時刻を採取する手段、
（ｂ）計測パケットを受信し、受信時刻を採取する手段、
（ｃ）上記送信時刻、および、受信時刻を計測結果通知パケットに格納し、送信する手段。【００６１】
また、本実施の形態では、以下の手段含むスレーブノード装置についても説明した。
（ａ）計測パケットを受信し、受信時刻を採取する手段、
（ｂ）計測結果通知パケットを受信し、マスタ送信時刻、およびマスタ受信時刻を取り出す手段、
（ｃ）マスタ送信時刻、マスタ受信時刻、スレーブ受信時刻、リング内のノード数、マスタからスレーブに至る経路上のノード数を使用して時刻補正値を算出する手段、
（ｄ）算出した時刻補正値を使用して、内部クロックの時刻を調整する手段。【００６２】
実施の形態２．
以上の実施の形態１では、スレーブにおける中継処理時間を含めた測定値から時刻補正値を算出するようにしていたが、次に、各スレーブで受信時刻、および送信時刻を測定し、スレーブにおける中継処理時間を含まない測定値で時刻補正値を算出する場合の時刻同期方法を示す。【００６３】
図１３は、このような場合のパケット交換手順を示した図である。
本実施の形態では、マスタおよびスレーブは、それぞれ、計測パケットの受信時刻、および送信時刻を採取し、パケットがリングを１周するときの遅延時間の実測値から、全スレーブ内の中継処理時間の合計、すなわち、各スレーブにおける計測パケット受信時刻と送信時刻との差の合計を差し引いて、各ノード間の伝送遅延の合計を求め、これをリング内のノード数で除算した平均値を各ノード間の伝送遅延として、各ノードにおける時刻補正値を算出する。【００６４】
図１１及び図１２は、本実施の形態に係る時刻同期装置１００の構成例を示す。
図１１及び図１２に示す構成は、実施の形態１で示した図１及び図２の構成と同じであるが、実施の形態１と比べて、いくつかの構成要素の役割、処理内容が異なるため、図１１及び図１２を用いて実施の形態２に係る各構成要素を説明する。
図１１は、マスタノード装置としての時刻同期装置１００の構成例を示す図であり、図１２は、スレーブノード装置としての時刻同期装置１００の構成例を示す図である。
実施の形態１で説明したように、マスタノード装置として動作する場合、スレーブノード装置として動作する場合のいずれも、時刻同期装置１００の構成自体は同じであるが、マスタノード装置として動作する場合、スレーブノード装置として動作する場合において各構成要素の役割、処理内容が異なるため、説明の便宜のために、別の図として示している。
しかし、時刻同期装置１００の構成自体は、マスタノード装置として動作する場合、スレーブノード装置として動作する場合でも同じ構成であるため、同じ時刻同期装置１００が、マスタノード装置及びスレーブノード装置のいずれになることも可能である。【００６５】
本実施の形態では、マスタノードは、後に詳述するように、計測パケットを、パケット転送順序において送信先となるスレーブノードに対して送信し、複数のスレーブノードを巡回した計測パケットを受信し、基準クロックの計時に従い、計測パケットの送信時刻と、計測パケットの受信時刻を記憶する。
また、マスタノードは、複数のスレーブノードにおける中継遅延時間の総和を取得するための遅延計算パケットを、パケット転送順序において送信先となるスレーブノードに対して送信し、複数のスレーブノードを巡回した遅延計算パケットを受信する。遅延計算パケットは、巡回経路に含まれる複数のスレーブノードを巡回し、各々のスレーブノードの中継遅延時間が累積され複数のスレーブノードにおける中継遅延時間の総和が示される。
また、マスタノードは、受信した遅延計算パケットに示される複数のスレーブノードにおける中継遅延時間の総和と、記憶している計測パケットの送信時刻及び計測パケットの受信時刻と、ノード装置の総数とに基づいて、ノード装置間の伝送遅延時間を算出し、記憶している計測パケットの送信時刻及び算出したノード装置間の伝送遅延時間が示される計算結果通知パケットを生成し、生成した計算結果通知パケットを、パケット転送順序において送信先となるスレーブノードに対して送信する。【００６６】
このような処理を行うマスタノードとして動作する場合、時刻同期装置１００の構成要素は、図１１に示すように、主に以下のような役割を有する。
内部クロック４は、実施の形態１と同様に、リング型ネットワークに含まれる複数のノード装置間の時刻同期の基準となる基準クロックとして機能する。
送信部８は、計測パケット、遅延計算パケット及び計算結果通知パケットを、パケット転送順序において送信先となるスレーブノードに対して送信する。送信部８は、計測パケット送信部、遅延計算パケット送信部及び計算結果通知パケット送信部の例となる。
受信部６は、複数のスレーブノードを巡回した計測パケット、遅延計算パケット及び計算結果通知パケットを受信する。受信部６は、計測パケット受信部、遅延計算パケット受信部の例となる。
時刻同期処理制御部１は、基準クロックの計時に従い、送信部８による計測パケットの送信時刻と、受信部６による計測パケットの受信時刻を記憶する。また、時刻同期処理制御部１は、受信部６により受信された遅延計算パケットに示される複数のスレーブノードにおける中継遅延時間の総和と、記憶している計測パケットの送信時刻及び計測パケットの受信時刻と、巡回経路に含まれるノード装置の総数とに基づいて、ノード装置間の伝送遅延時間を算出する。時刻同期処理制御部１は、時刻記憶部及び伝送遅延時間算出部の例となる。
送信データ生成部３は、時刻同期処理制御部１に記憶されている計測パケットの送信時刻及び時刻同期処理制御部１により算出されたノード装置間の伝送遅延時間が示される計算結果通知パケットを生成する。送信データ生成部３は、計算結果通知パケット生成部の例となる。【００６７】
また、本実施の形態では、後に詳述するように、各スレーブノードは、パケット転送順序において受信元となるノード装置から計測パケットを受信し、受信した計測パケットを、パケット転送順序において送信先となるノード装置に対して送信し、内部クロックの計時に従い、計測パケットの受信時刻及び計測パケットの送信時刻を記憶する。
また、各スレーブノードは、パケット転送順序において受信元となるノード装置から遅延計算パケットを受信し、遅延計算パケットに含まれているパケット転送順序において先行する他のスレーブノードの中継遅延時間の累積値を取得し、取得した中継遅延時間の累積値を記憶する。
更に、各スレーブノードは、記憶している計測パケットの受信時刻と計測パケットの送信時刻との差の時間を遅延計算パケットに含まれている中継遅延時間の累積値に加算して新たな中継遅延時間の累積値とし、新たな中継遅延時間の累積値が含まれる遅延計算パケットを、パケット転送順序において送信先となるノード装置に対して送信し、パケット転送順序において受信元となるノード装置から計算結果通知パケットを受信し、受信した計算結果通知パケットに示される計測パケットの送信時刻及びノード装置間の伝送遅延時間と、記憶している計測パケットの受信時刻及び計測パケットの送信時刻のいずれかと、記憶している中継遅延時間の累積値と、パケット転送順序における当該スレーブノードとマスタノードとの順序差とを用いて、時刻補正値を算出し、算出した時刻補正値を用いて、内部クロックの時刻を補正する。【００６８】
このような処理を行うスレーブノードとして動作する場合、時刻同期装置１００の構成要素は、図１２に示すように、主に以下のような役割を有する。
受信部６は、マスタノードから送信された計測パケット、遅延計算パケット及び計算結果通知パケットを、パケット転送順序において受信元となるノード装置から受信する。受信部６は、計測パケット受信部、遅延計算パケット受信部及び計算結果通知パケット受信部の例となる。
送信部８は、受信部６により受信された計測パケット及び計算結果通知パケットを、パケット転送順序において送信先となるノード装置に対して送信する。また、送信部８は、送信データ生成部３により新たな中継遅延時間の累積値が格納された遅延計算パケットを、パケット転送順序において送信先となるノード装置に対して送信する。送信部８は、計測パケット送信部及び遅延計算パケット送信部の例となる。
時刻同期処理制御部１は、内部クロックの計時に従い、受信部６による計測パケットの受信時刻及び送信部８による計測パケットの送信時刻を記憶する。また、時刻同期処理制御部１は、受信部６により受信された遅延計算パケットに含まれている中継遅延時間の累積値を取得し、取得した中継遅延時間の累積値を記憶する。また、時刻同期処理制御部１は、記憶している計測パケットの受信時刻と計測パケットの送信時刻との差の時間を遅延計算パケットに含まれている中継遅延時間の累積値に加算して新たな中継遅延時間の累積値として算出する。更に、時刻同期処理制御部１は、計算結果通知パケットに示される計測パケットの送信時刻及びノード装置間の伝送遅延時間と、記憶している計測パケットの受信時刻及び計測パケットの送信時刻の少なくともいずれかと、記憶している中継遅延時間の累積値と、巡回経路に含まれるノード装置の総数と、パケット転送順序における当該スレーブノードとマスタノードとの順序差とを用いて、時刻補正値を算出する。時刻同期処理制御部１は、時刻記憶部、中継遅延時間記憶部及び時刻補正値算出部の例となる。
送信データ生成部３は、時刻同期処理制御部１により算出された新たな中継遅延時間の累積値を遅延計算パケットに格納する。送信データ生成部３は、遅延計算パケット更新部の例となる。
クロック制御部５は、時刻同期処理制御部１により算出された時刻補正値を用いて、内部クロック４の時刻を補正する。【００６９】
次に、マスタおよびスレーブの動作について説明する。
まず、マスタの動作について説明する。
図１４は、マスタの処理フローの例である。
まず、マスタは、計測パケットを送信し、送信時刻を採取する（Ｓ９）。
次に、マスタは、リングを１周してきた計測パケットを受信し、受信時刻を採取する（Ｓ１０）。
以上の処理は、実施の形態１に示した通りであり、マスタ内部では、時刻同期処理制御部１が、計測パケットの送信時刻、受信時刻及び計測パケットのシーケンス番号を記憶する。【００７０】
次に、マスタは、遅延計算パケットを送信する（Ｓ１１）。
遅延計算パケットは、時刻同期処理制御部１からの指示に基づき、送信データ生成部３が生成し、送信部８が次のスレーブに対して送信する。
遅延計算パケットの形式の一例を図１５に示す。
図１５において中継遅延加算値には、マスタから送出されるときには０を格納し、スレーブを経由する毎に各スレーブにおける中継処理の時間、すなわち、計測パケットにおいて実測した、送信時刻と受信時刻の差を加算する。
遅延計算パケットは各スレーブで中継遅延加算値の加算処理を行うため、ブロードキャストではなく、次のノードのみに宛てて送信する。【００７１】
次に、マスタは、リング内の全スレーブを経由してきた遅延計算パケットを受信する（Ｓ１２）。
このとき、遅延計算パケットの中継遅延加算値には、スレーブにおける中継処理時間の全ノード分の合計値が格納されている。
次に、マスタは、この中継処理時間の合計値を使用して、ノード間の伝送遅延時間を算出する（Ｓ１３）。
今、マスタにおける計測パケットの送信時刻をＴＭＳ、計測パケットの受信時刻をＴＭＲ、中継処理時間の合計値をＴＳ、リング内のノード数をｎとしたとき、ノード間の伝送遅延時間の平均値ＴＤは、
ＴＤ＝（ＴＭＲ−ＴＭＳ−ＴＳ）／ｎ
となる。
マスタ内部では、受信部６により受信された遅延計算パケットは受信データ処理部２を介して時刻同期処理制御部１に入力され、時刻同期処理制御部１が上記の計算式によりノード間の伝送遅延時間を算出する。【００７２】
ノード間の伝送遅延時間を算出すると、次に、マスタは、マスタ上で測定した計測パケット送信時刻と、Ｓ１３で算出したノード間の伝送遅延時間を計算結果通知パケットに格納し、送信する（Ｓ１４）。
マスタ内部では、時刻同期処理制御部１が、記憶している計測パケットの送信時刻及び計算した伝送遅延時間を送信データ生成部３に通知し、送信データが計算結果通知パケットを生成する。
計算結果通知パケットの形式の一例を図１６に示す。
次に、マスタは、計算結果通知パケットを受信して（Ｓ１５）、処理を終了する。【００７３】
次に、スレーブの動作について説明する。
図１７は、スレーブの処理フロー例である。
まず、スレーブは計測パケットを受信する（Ｓ１６）。受信した計測パケットは、スレーブ内でリピータを経由して次のノードにリピート送信する。このとき、受信時刻、および、送信時刻を採取し、それぞれ保存する。
この処理は、実施の形態１と同様であり、スレーブ内部では、時刻同期処理制御部１が、計測パケットの受信時刻と計測パケットのシーケンス番号を記憶する。【００７４】
次に、スレーブは遅延計算パケットを受信する（Ｓ１７）。
このとき、スレーブは、受信した遅延計算パケットの中継遅延加算値に格納された値を取り出し、保存する。
スレーブ内部では、受信部６により受信された遅延計算パケットは受信データ処理部２を介して時刻同期処理制御部１に入力され、時刻同期処理制御部１は、遅延計算パケットの中継遅延時間の値を取り出し、保存する。【００７５】
次に、スレーブは中継処理時間の加算を行う（Ｓ１８）。
スレーブは、自ノードで採取した、計測パケットの送信時刻から同じく計測パケットの受信時刻を減算した値を、Ｓ１７で受信した遅延計算パケットの中継遅延加算値のフィールドに格納された値に加算する。すなわち、スレーブで採取した計測パケットの受信時刻をＴＳＲ、計測パケットの送信時刻をＴＳＳとすると、中継遅延加算値に加算する値は、
ＴＳＳ−ＴＳＲ
である。
つまり、時刻同期処理制御部１が、記憶している計測パケットの受信時刻と計測パケットの送信時刻との差の時間を遅延計算パケットに含まれている中継遅延加算値（中継遅延時間の累積値）に加算して新たな中継遅延加算値（新たな中継遅延時間の累積値）として算出する。【００７６】
次に、スレーブは、Ｓ１８で加算した値を、新たに、次のノード宛の遅延計算パケットの中継遅延加算値フィールドに格納し、遅延計算パケットを送信する（Ｓ１９）。
スレーブ内部では、送信データ生成部３が、時刻同期処理制御部１により算出された新たな中継遅延加算値を遅延計算パケットに格納し、送信部８が、更新された中継遅延加算値が示される遅延計算パケットを次のスレーブに対して送信する。【００７７】
次に、スレーブは、計算結果通知パケットを受信する（Ｓ２０）。
計算結果通知パケットを受信すると、次に、スレーブは、自ノードの時刻補正値の算出を行う（Ｓ２１）。
スレーブがＳ１６において測定した計測パケット受信時刻をＴＳＲ、スレーブがＳ１７で受信した遅延計算パケットの中継遅延加算値をＴＳＤ、Ｓ２０で受信した計算結果通知パケットのマスタ送信時刻に格納されていた値をＴＭＳ、ノード間遅延時間に格納されていた値をＴＤとし、当該スレーブはマスタから数えてｍ番目のスレーブであったとすると、当該スレーブにおける時刻補正値ΔＴは、
ΔＴ＝ＴＭＳ＋ＴＳＤ＋ｍＴＤ−ＴＳＲ
となる。
スレーブ内部では、受信部６により受信された計算結果通知パケットは受信データ処理部２を介して時刻同期処理制御部１に入力され、時刻同期処理制御部１は、計算結果通知パケットのマスタ送信時刻、ノード間遅延時間を取り出し、上記の計算式に従って、時刻補正値を算出する。【００７８】
なお、ここでは、スレーブにおける計測パケット受信時刻ＴＳＲを時刻補正値の算定に用いることとしているが、代わりにスレーブにおける計測パケット送信時刻を時刻補正値の算定に用いるようにしてもよい。【００７９】
次に、スレーブは、Ｓ２１で算出した時刻補正値を使用して、自ノードの内部クロックの調整を行う（Ｓ２２）。
内部クロックの調整は、任意のタイミングで、内部クロックの時刻にΔＴを加算することにより完了する。
スレーブの内部処理では、時刻同期処理制御部１が、時刻補正値ΔＴを使用して、クロック制御部５に対して、内部クロック調整命令を発行する。クロック制御部５は、内部クロック調整命令を受けると、内部クロック４の現在時刻に補正値ΔＴを加算する処理を実行する。
以上の処理で、スレーブの内部クロックをマスタの内部クロック（基準クロック）に同期させる時刻同期処理が完了する。【００８０】
以上のように、時刻補正値算出の際に、各スレーブ内での中継処理に要する時間を実測値を使用して計算しているため、スレーブの中継処理時間に影響されない、精度の高い補正値が得ることが出来る。【００８１】
以上、本実施の形態では、以下の手段を含むマスタノード装置について説明した。
（ａ）計測パケットを送信し、送信時刻を採取する手段、
（ｂ）計測パケットを受信し、受信時刻を採取する手段、
（ｃ）遅延計算パケットを送信する手段、
（ｄ）遅延計算パケットを受信し、中継遅延加算値を取り出す手段、
（ｅ）上記送信時刻、受信時刻、中継遅延加算値、リング内のノード数を使用して、ノード間の伝送遅延時間平均値を算出する手段、
（ｃ）上記送信時刻、および、ノード間の伝送遅延時間平均値を計算結果通知パケットに格納し、送信する手段。【００８２】
また、本実施の形態では、以下の手段を含むマスタノード装置についても説明した。
（ａ）計測パケットを受信し、次のノードにリピート送信し、受信時刻、および送信時刻を採取する手段、
（ｂ）遅延計算パケットを受信し、中継遅延加算値を取り出し、保存する手段、
（ｃ）中継遅延加算値に上記送信時刻と受信時刻の差を加算する手段、
（ｄ）上記加算した中継遅延加算値を遅延計算パケットに格納し、送信する手段、
（ｅ）計算結果通知パケットを受信し、マスタ送信時刻とノード間遅延時間を取り出す手段、
（ｆ）マスタ送信時刻、中継遅延加算値、ノード間遅延時間、マスタから自ノードまでの経路上のノード数、および、自ノードで採取した計測パケット受信時刻から、自ノードにおける時刻補正値を算出する手段、
（ｇ）上記算出した時刻補正を使用して自ノードの内部クロックの調整を行う手段。【００８３】
最後に実施の形態１、２に示した時刻同期装置１００のハードウェア構成例について説明する。
図１８は、実施の形態１、２に示す時刻同期装置１００のハードウェア資源の一例を示す図である。なお、図１８の構成は、あくまでも時刻同期装置１００のハードウェア構成の一例を示すものであり、時刻同期装置１００のハードウェア構成は図１８に記載の構成に限らず、他の構成であってもよい。【００８４】
図１８において、時刻同期装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。【００８５】
通信ボード９１５は、図３に示すように、リング型ネットワークに接続されている。また、通信ボード９１５は、例えば、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続可能であっても構わない。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。【００８６】
上記プログラム群９２３には、実施の形態１、２の説明において「〜部」、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、実施の形態１、２の説明において、「〜の判断」、「〜の計算」、「〜の算出」、「〜の比較」、「〜の採取」、「〜の更新」、「〜の設定」、「〜の登録」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１、２で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。【００８７】
また、実施の形態１、２の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１、２の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、実施の形態１、２の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。【００８８】
このように、実施の形態１、２に示す時刻同期装置１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【００８９】
【図１】実施の形態１に係るマスタノードとしての時刻同期装置の構成例を示す図。
【図２】実施の形態１に係るスレーブノードとしての時刻同期装置の構成例を示す図。
【図３】実施の形態１に係るリング型ネットワークの構成例を示す図。
【図４】実施の形態１に係るノード間のパケット転送例を示す図。
【図５】実施の形態１に係るマスタノードの動作例を示すフローチャート図。
【図６】実施の形態１に係る計測パケットの例を示す図。
【図７】実施の形態１に係る計測結果通知パケットの例を示す図。
【図８】実施の形態１に係るスレーブノードの動作例を示すフローチャート図。
【図９】実施の形態１に係るノード間のパケット転送例を示す図。
【図１０】実施の形態１に係る構成確認パケットの例を示す図。
【図１１】実施の形態２に係るマスタノードとしての時刻同期装置の構成例を示す図。
【図１２】実施の形態２に係るスレーブノードとしての時刻同期装置の構成例を示す図。
【図１３】実施の形態２に係るノード間のパケット転送例を示す図。
【図１４】実施の形態２に係るマスタノードの動作例を示すフローチャート図。
【図１５】実施の形態２に係る遅延計算パケットの例を示す図。
【図１６】実施の形態２に係る計算結果通知パケットの例を示す図。
【図１７】実施の形態２に係るスレーブノードの動作例を示すフローチャート図。
【図１８】実施の形態１、２に係る時刻同期装置のハードウェア構成例を示す図。
【符号の説明】
【００９０】
１  時刻同期処理制御部、２  受信データ処理部、３  送信データ生成部、４  内部クロック、５  クロック制御部、６  受信部、７  リピータ、８  送信部、１００  時刻同期装置。
【図１】
2008129593.tif 000003
【図２】
2008129593.tif 000004
【図３】
2008129593.tif 000005
【図４】
2008129593.tif 000006
【図５】
2008129593.tif 000007
【図６】
2008129593.tif 000008
【図７】
2008129593.tif 000009
【図８】
2008129593.tif 000010
【図９】
2008129593.tif 000011
【図１０】
2008129593.tif 000012
【図１１】
2008129593.tif 000013
【図１２】
2008129593.tif 000014
【図１３】
2008129593.tif 000015
【図１４】
2008129593.tif 000016
【図１５】
2008129593.tif 000017
【図１６】
2008129593.tif 000018
【図１７】
2008129593.tif 000019
【図１８】
2008129593.tif 000020
【国際調査報告】
2008129593.tif 000021
2008129593.tif 000022