(57)【要約】【課題】  パケット交換ネットワークにおいて，時刻同期パケットを用いて高精度の時刻同期処理を行う。【解決手段】  時刻同期処理装置１０の同期パケット受信部１１は，マスタ２から正一秒の間隔で送出される時刻同期パケットを受信する。パケット到着時刻記録部１２は，時刻同期パケットの到着時刻をパケット到着時刻記憶部１３に記録する。クロックレート推定部１４は，パケット到着時刻記憶部１３の到着時刻から，所定の到着間隔で送出された到着時刻を抽出し，到着間隔の平均値を求めてクロックレートの推定値を算出する。オフセット推定部１５は，クロックレートの推定値をもとにパケット到着時刻記憶部１３の到着時刻の片方向遅延からドリフト成分を補償し，ドリフト成分を補償した値の最小値から所定の範囲に含まれる到着時刻の平均値を用いてオフセット推定値を算出する。【選択図】  図２
2007134873.tif 000002
【特許請求の範囲】
【請求項１】
パケット交換ネットワークにおいて，時刻同期パケットを用いて時刻同期処理を行う処理装置であって，
マスタコンピュータから一定の間隔で送出された時刻同期パケットを受信するパケット受信手段と，
前記受信された時刻同期パケットの到着時刻をパケット到着時刻記憶手段に記録するパケット到着時刻記録手段と，
前記パケット到着時刻記憶手段に記憶された時刻同期パケットの到着時刻から，所定の到着間隔で送出された到着時刻を抽出し，前記抽出された到着時刻による到着間隔の二乗誤差最小基準による最適値を求め，前記最適値を用いて時刻同期パケットのクロックレートの推定値を算出するクロックレート推定手段と，
前記クロックレートの推定値を用いて前記パケット到着時刻記憶手段に記憶された前記到着時刻の片方向遅延からドリフト成分を補償し，前記ドリフト成分を補償した値の最小値から所定の範囲に含まれる到着時刻の平均値を用いてオフセット推定値を算出するオフセット推定手段とを備える
高精度時刻同期処理装置。
【請求項２】
前記パケット交換ネットワークにおいて，前記時刻同期パケットが前記マスタコンピュータから自処理装置まで送信される経路によって生じる遅延時間の固定成分を示す遅延固定成分を記憶する遅延固定成分情報記憶手段を備え，
前記オフセット推定手段は，遅延固定成分情報記憶手段に記憶された前記遅延固定成分を用いて前記ドリフト成分を補償する
請求項１記載の高精度時刻同期処理装置。
【請求項３】
前記クロックレート推定手段は，前記抽出された到着間隔の平均値をビットシフト演算処理によって求め，さらに前記求めた平均値をメディアンフィルタによるフィルタリング処理を行ってクロックレートの推定値を算出する
請求項１または請求項２のいずれか一項に記載の高精度時刻同期処理装置。
【請求項４】
前記パケット交換ネットワークにおいて，前記時刻同期パケットが前記マスタコンピュータから自処理装置まで送信される経路によって生じる遅延時間のキューイング遅延が存在しない場合の標準偏差を記憶する標準偏差情報記憶手段を備え，
前記オフセット推定手段は，前記標準偏差情報記憶手段に記憶された前記標準偏差を用いて前記所定の範囲を設定する
請求項１または請求項２のいずれか一項に記載の高精度時刻同期処理装置。
【請求項５】
パケット交換ネットワークにおいて，時刻同期パケットを用いて時刻同期処理を行う処理方法をコンピュータに実行させるためのプログラムであって，
マスタコンピュータから一定の間隔で送出された時刻同期パケットを受信するパケット受信処理と，
前記受信された時刻同期パケットの到着時刻をパケット到着時刻記憶手段に記録するパケット到着時刻記録処理と，
前記パケット到着時刻記憶手段に記憶された時刻同期パケットの到着時刻から，所定の到着間隔で送出された到着時刻を抽出し，前記抽出された到着時刻による到着間隔の二乗誤差最小基準による最適値を求め，前記最適値を用いて時刻同期パケットのクロックレートの推定値を算出するクロックレート推定処理と，
前記クロックレートの推定値を用いて前記パケット到着時刻記憶手段に記憶された前記到着時刻の片方向遅延からドリフト成分を補償し，前記ドリフト成分を補償した値の最小値から所定の範囲に含まれる到着時刻の平均値を用いてオフセット推定値を算出するオフセット推定処理とを，
前記コンピュータに実行させるための高精度時刻同期処理プログラム。
【請求項６】
前記オフセット推定処理では，遅延固定成分情報記憶手段に予め記憶された前記パケット交換ネットワークにおいて前記時刻同期パケットが前記マスタコンピュータから自処理装置まで送信される経路によって生じる遅延時間の固定成分を示す遅延固定成分を用いて，前記ドリフト成分を補償する処理を，
前記コンピュータに実行させるための請求項５記載の高精度時刻同期処理プログラム。
【請求項７】
前記クロックレート推定処理では，前記抽出された到着間隔の平均値をビットシフト演算処理によって求め，さらに前記求めた平均値をメディアンフィルタによるフィルタリング処理を行ってクロックレートの推定値を算出する処理を，
前記コンピュータに実行させるための請求項５または請求項６のいずれか一項に記載の高精度時刻同期処理プログラム。
【請求項８】
前記オフセット推定処理では，標準偏差情報記憶手段に予め記憶された前記パケット交換ネットワークにおいて，前記時刻同期パケットが前記マスタコンピュータから自処理装置まで送信される経路によって生じる遅延時間のキューイング遅延が存在しない場合の標準偏差を用いて前記所定の範囲を設定する処理を，
前記コンピュータに実行させるための請求項５または請求項６のいずれか一項に記載の高精度時刻同期処理プログラム。
【請求項９】
パケット交換ネットワークにおいて，時刻同期パケットを用いてネットワークの混雑度を推定する処理装置であって，
マスタコンピュータから一定の間隔で送出された時刻同期パケットを受信するパケット受信手段と，
前記受信された時刻同期パケットの到着時刻をパケット到着時刻記憶手段に記録するパケット到着時刻記録手段と，
前記パケット到着時刻記憶手段に記憶された時刻同期パケットの到着時刻から，所定の到着間隔で送出された到着時刻を抽出し，前記抽出された到着時刻による到着間隔の二乗誤差最小基準による最適値を求め，前記最適値を用いて時刻同期パケットのクロックレートの推定値を算出するクロックレート推定手段と，
前記クロックレートの推定値を用いて前記パケット到着時刻記憶手段に記憶された前記到着時刻の片方向遅延からドリフト成分を補償し，前記ドリフト成分を補償した値の最小値から所定の範囲に含まれる到着時刻の平均値を用いてオフセット推定値を算出するオフセット推定手段と，
前記オフセット推定値をもとに前記パケット交換ネットワークの混雑度を推定し，前記オフセット推定値が所定値を超過した場合に，ネットワーク混雑を示す所定の警告を送出する混雑度警告手段とを備える
ネットワーク混雑度警告装置。
【請求項１０】
パケット交換ネットワークにおいて，時刻同期パケットを用いてネットワークの混雑度を推定する処理を，コンピュータに実行させるためのプログラムであって，
マスタコンピュータから一定の間隔で送出された時刻同期パケットを受信するパケット受信処理と，
前記受信された時刻同期パケットの到着時刻をパケット到着時刻記憶手段に記録するパケット到着時刻記録処理と，
前記パケット到着時刻記憶手段に記憶された時刻同期パケットの到着時刻から，所定の到着間隔で送出された到着時刻を抽出し，前記抽出された到着時刻による到着間隔の二乗誤差最小基準による最適値を求め，前記最適値を用いて時刻同期パケットのクロックレートの推定値を算出するクロックレート推定処理と，
前記クロックレートの推定値を用いて前記パケット到着時刻記憶手段に記憶された前記到着時刻の片方向遅延からドリフト成分を補償し，前記ドリフト成分を補償した値の最小値から所定の範囲に含まれる到着時刻の平均値を用いてオフセット推定値を算出するオフセット推定処理と，
前記オフセット推定値をもとに前記パケット交換ネットワークの混雑度を推定し，前記オフセット推定値が所定値を超過した場合に，ネットワーク混雑を示す所定の警告を送出する混雑度警告処理とを，
前記コンピュータに実行させるためのネットワーク混雑度警告プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ネットワーク上の高精度時刻同期処理に関する。より詳しくは，本発明は，構成機器が既知であるパケット交換方式のネットワーク，例えばローカルエリアネットワーク（ＬＡＮ）において分散計測や分散制御を行う場合に必要とされる高精度な同期時刻処理を，毎正秒同期パケットの到着間隔を利用してキューイング遅延を補償することによって実現するものである。
【背景技術】
【０００２】
近年，分散計測・制御分野において，マイクロ秒からサブマイクロ秒の高精度な時刻同期が求められており，高精度の時刻同期プロトコルが策定されている。（例えば，ＩＥＥＥ１５８８など）。しかし，現在のデファクトスタンダードとなっているネットワーク・タイム・プロトコル（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ：ＮＴＰ）Ｖｅｒ．３では，ミリ秒程度の精度の時刻同期しか実現できない。
【０００３】
ネットワーク上の時刻同期処理では，ネットワーク上のスレーブ装置（以下，単に「スレーブ」という）の時計をネットワークを介してマスタ装置（以下，単に「マスタ」という）の時計に同期させるが，マスタとスレーブの時計の差分を求める処理においてネットワーク遅延が問題となる。
【０００４】
特に，パケット交換方式のネットワークにおいて高精度な時刻同期を行う場合には，キューイング遅延が精度改善の妨げとなっている。すなわち，他のパケットが回線を使用している間は，時刻同期パケットは待機するためにキューイング遅延が生じてしまう。そして，このキューイング遅延は，ネットワークを使用中のパケット長に依存して変動する。
【０００５】
また，スレーブ側のクロックレートの短期変動も時刻同期の妨げとなっている。
【０００６】
従来のＮＴＰでは，ＰＬＬ／ＦＬＬによってキューイング遅延を水晶のドリフトや処理遅延などの他のノイズ成分とともに平滑化しているが，時定数が大きい，即ちフィードバック係数が小さいために収束が遅く，処理精度も低いという問題があった。
【０００７】
キューイング遅延による時刻同期の精度低下を防ぐために，ＩＥＥＥ１５８８の時刻同期プロトコルでは，ルータに境界時計（Ｂｏｕｎｄａｒｙ  ｃｌｏｃｋ）を配置することを定めている。
【０００８】
また，時刻同期パケットの送出前後の一定期間に他の機器からのパケット送信を禁止する時刻同期方式が知られている（特許文献１参照）。
【特許文献１】特許第２７０５６６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし，ＬＡＮで一般的に使用されるようなノンインテリジェントなスイッチングハブでは，ＩＥＥＥ１５８８にもとづく境界時計を用いることができない。
【００１０】
また，特許文献１の方法では，時刻同期パケットの送出前後に通常パケットの送信禁止期間を設定するためにネットワークのスループットが低下する。さらに，ネットワーク上の全ての機器がパケット送信禁止期間に対応できなければ機能しないという問題がある。
【課題を解決するための手段】
【００１１】
本発明は，正確に一定間隔で送信される時刻同期パケット，例えば毎正秒パケットの到着間隔を利用して，ＬＡＮにおける高精度時刻同期処理を実現する。すなわち，マスタから一定間隔にブロードキャストされた時刻同期パケットの到着間隔がキューイング遅延の影響を受け難いことを利用して，高精度の時刻同期処理を実現するものである。
【００１２】
なお，ＮＴＰのブロードキャストモードにおいても，時刻同期パケットは一定の頻度で送信されるが，時刻同期パケットの到着間隔を利用していないので，時刻同期パケットの送出間隔の精度を必要としない点が本発明と異なる。
【００１３】
本発明は，パケット交換ネットワークにおいて，時刻同期パケットを用いて時刻同期処理を行う高精度時刻同期処理装置であって，１）マスタから一定の間隔で送出された時刻同期パケットを受信するパケット受信手段と，２）前記受信された時刻同期パケットの到着時刻をパケット到着時刻記憶手段に記録するパケット到着時刻記録手段と，３）前記パケット到着時刻記憶手段に記憶された時刻同期パケットの到着時刻から，所定の到着間隔で送出された到着時刻を抽出し，前記抽出された到着時刻による到着間隔の二乗誤差最小基準による最適値を求め，前記最適値を用いて時刻同期パケットのクロックレートの推定値を算出するクロックレート推定手段と，４）前記クロックレートの推定値を用いて前記パケット到着時刻記憶手段に記憶された前記到着時刻の片方向遅延からドリフト成分を補償し，前記ドリフト成分を補償した値の最小値から所定の範囲に含まれる到着時刻の平均値を用いてオフセット推定値を算出するオフセット推定手段とを備える。
【００１４】
本発明にかかる高精度時刻同期処理装置は，パケット交換ネットワークを構成するスレーブコンピュータに置いて実現される。そして，本発明のパケット受信手段は，マスタから，例えば正一秒の間隔で送出される時刻同期パケットを受信する。パケット到着時刻記録手段は，受信された時刻同期パケットの到着時刻をパケット到着時刻記憶手段に記録する。そして，クロックレート推定手段は，パケット到着時刻記憶手段に記憶された時刻同期パケットの到着時刻から，所定の到着間隔で送出された到着時刻を抽出し，抽出された到着時刻による到着間隔の二乗誤差最小基準による最適値を求め，この最適値を用いて時刻同期パケットのクロックレートの推定値を算出する。さらに，オフセット推定手段は，クロックレート推定手段によって求められたクロックレートの推定値を用いて，パケット到着時刻記憶手段に記憶された到着時刻の片方向遅延からドリフト成分を補償し，ドリフト成分を補償した値の最小値から所定の範囲に含まれる到着時刻の平均値を用いてオフセット推定値を算出する。
【００１５】
なお，高精度時刻同期処理装置は，算出されたオフセット推定値を用いて，スレーブの時刻をマスタの時刻と同期させる処理を行う。
【００１６】
さらに，本発明は，５）前記パケット交換ネットワークにおいて，前記時刻同期パケットが前記マスタコンピュータから自処理装置まで送信される経路によって生じる遅延時間の固定成分を示す遅延固定成分を記憶する遅延固定成分情報記憶手段を備え，前記オフセット推定手段は，遅延固定成分情報記憶手段に記憶された前記遅延固定成分を用いて前記ドリフト成分を補償することができる。
【００１７】
本発明では，ネットワークの構成が既知である場合のマスタからスレーブへの片方向遅延の固定成分を予め保持しておくことによって，片方向遅延の計算を高精度に行うことができる。
【００１８】
また，本発明のクロックレート推定手段は，前記抽出された到着間隔の平均値をビットシフト演算処理によって求め，さらに前記求めた平均値をメディアンフィルタによるフィルタリング処理を行ってクロックレートの推定値を算出する。
【００１９】
これにより，計算能力の小さなスレーブに実装することができる。
【００２０】
また，本発明は，コンピュータにより読み取られ実行されるプログラムとして実施することができる。本発明を実現するプログラムは，コンピュータが読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に格納することができる。また，これらの記録媒体に記録して提供され，または，通信インタフェースを介して種々のネットワークを利用した送受信により提供されるものである。
【発明の効果】
【００２１】
本発明は，マスタから毎正秒で送出される時刻同期パケットの到着間隔を利用することにより，パケット交換ネットワークで生じるキューイング遅延の影響を除去することができ，これによって高精度の時刻同期処理を実現することができる。
【００２２】
また，本発明は，クロックレート推定処理において，整数減算とビットシフト演算およびメディアンフィルタによるフィルタリング処理のみでクロックレートの推定値を算出することができる。そのため，センサーネットなどの計算能力の小さなスレーブにおいても実装することができる。
【００２３】
また，本発明は，各スレーブで個別に同期処理を行うため，ネットワーク全体の同期システムを置換する必要がなく，ＮＴＰなどの精度の低い時刻同期方式を採用するシステムと混在させて実装することができる。
【発明を実施するための最良の形態】
【００２４】
図１は，本発明を実施するネットワークの例を示す図である。
【００２５】
本発明を実施するネットワークは，例えばＬＡＮなど，パケット交換方式によるデータ転送を行う構成機器が既知であるネットワークである。図１のネットワークはスレーブコンピュータ（スレーブ）１，マスタコンピュータ（マスタ）２，パケット中継装置３，ケーブル４などで構成される。
【００２６】
スレーブ１は，時刻同期処理装置１０およびネットワーク遅延判定・警告装置２０を備える。
【００２７】
マスタ２は，スイッチングハブなどのパケット中継装置３およびケーブル４を通じて，正確に一定間隔で時刻同期パケットをスレーブ１にブロードキャストする。
【００２８】
なお，マスタ２は，コンピュータに限らず，例えば，電子回路を備えてＧＰＳ信号から時刻同期パケットを送出できる装置でよい。また，スレーブ１は，家電機器やロボットなどに組み込み可能な装置であって，例えば所定の処理回路およびデータ記憶域を持つマイコンなどで実現することができるものでよい。
【００２９】
図２は，スレーブ１の時刻同期処理装置１０の構成例を示す図である。
【００３０】
時刻同期処理装置１０は，マスタ２から送出された時刻同期パケットを用いて，クロックレートおよびオフセットを推定し，スレーブ１の時刻をマスタ２に同期させる処理を行う装置である。
【００３１】
時刻同期処理装置１０は，同期パケット受信部１１，パケット到着時刻記録部１２，パケット到着時刻記憶部１３，クロックレート推定部１４，オフセット推定部１５，遅延固定成分情報記憶部１６，時刻同期処理部１７，遅延固定成分設定部１８を備える。
【００３２】
同期パケット受信部１１は，マスタ２から送出される時刻同期パケットを受信する処理手段である。
【００３３】
時刻同期パケットは，ＩＰｖ４・ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）パケットであって，ペイロード部にＵＮＩＸ（登録商標）タイムの秒桁が６４ビットで設定されているものである。時刻同期パケットは，マスタ２によって，１００ナノ秒以下の精度の一定間隔で各スレーブ１にブロードキャストされる。時刻同期パケットの送信間隔は，１／２秒，１秒，２秒などであり，ここでは，１秒とする。時刻同期パケットの送出ジッタは，例えば５００ナノ秒以下の精度とする。
【００３４】
パケット到着時刻記録部１２は，受信された時刻同期パケットの到着時刻ｘｉをパケット到着時刻記憶部１３に記録する処理手段である。
【００３５】
パケット到着時刻記憶部１３は，各時刻同期パケットの到着時刻ｘｉを記憶する記憶手段である。
【００３６】
クロックレート推定部１４は，パケット到着時刻記憶部１３に記憶された時刻同期パケットの到着時刻ｘｉから，所定の到着間隔で送出された到着時刻を抽出し，抽出された到着時刻による到着間隔の二乗誤差最小基準による最適値を求め，前記最適値を用いて時刻同期パケットのクロックレートＲの推定値を算出する処理手段である。
【００３７】
オフセット推定部１５は，クロックレートＲの推定値を用いて，パケット到着時刻記憶部１３に記憶された到着時刻の片方向遅延からドリフト成分を補償し，ドリフト成分を補償した値の最小値から所定の範囲に含まれる到着時刻の平均値を用いてオフセットＯの推定値を算出する処理手段である。
【００３８】
また，オフセット推定部１５は，時刻同期パケットがマスタ２からスレーブ１まで送信される経路によって生じる遅延時間のキューイング遅延が存在しない場合の標準偏差を記憶する標準偏差情報記憶部を内部に備え，記憶された標準偏差を用いて前記所定の範囲を設定する。
【００３９】
遅延固定成分情報記憶部１６は，マスタ２からスレーブ１まで時刻同期パケットが送信される経路において生じる遅延時間の固定成分を示す遅延固定成分を記憶する記憶手段である。遅延固定成分は，マスタ２からスレーブ１までの経路に沿った遅延時間の固定成分の総和であって，上述のネットワーク無負荷時の平均遅延時間ξに相当する。具体的には，スイッチングハブの通過遅延時間，ケーブル遅延などの成分である。
【００４０】
時刻同期処理部１７は，クロックレートＲの推定値およびオフセットＯの推定値を用いて，スレーブ１の時刻をマスタ２に同期させる処理を行う処理手段である。時刻同期処理は既知の処理手法によって行う。
【００４１】
遅延固定成分設定部１８は，入力装置などを介して遅延固形成分を遅延固定成分情報記憶部１６に格納する手段である。
【００４２】
以下に，本発明の原理を説明する。
【００４３】
図３に，ネットワークを構成するマスタ２の時刻とスレーブ１の時刻を比較した例を示す。
【００４４】
図３に示すように，時間の経過に伴い，時刻同期パケットの遅延時間にドリフトと競合トラフィックによるキューイング遅延によるノイズが見られる。時刻同期を行う場合に，このドリフトおよびキューイング遅延によるノイズの除去が必要である。
【００４５】
マスタの時刻ｔiとスレーブの時刻ｘ（ｔi）の間には，周波数源に応じた短期間について以下の式（１）のような線形関係が存在する。
【００４６】
ｘ（ｔi）＝Ｒｔi＋Ｏ      （１）
ここで，定数Ｒはクロックレート，定数Ｏは時刻のオフセットである。また，簡便のために，以下，時刻ｘ（ｔi）を時刻ｘiと記述する。なお，通常の温度補償されていない水晶発振器によって駆動されているコンピュータにおいて，線形関係が保持されるのは数十秒以下である。
【００４７】
図４に，時刻同期パケットがマスタから送出される時刻とスレーブに到着する時刻との関係を示す。
【００４８】
マスタ２が毎正秒ごとに時刻同期パケットをブロードキャストすると仮定すると，時刻ｔｉにマスタ２から送出された時刻同期パケットは，遅延時間ｄｉ後にスレーブ１に到着する。このとき，スレーブ１の時計の値は，式（２）に示すものとなる。
【００４９】
ｙｉ＝ｘｉ＋ｄｉ      （２）
また，遅延時間ｄｉは，式（３）に示す成分により構成されている。
【００５０】
【数１】
2007134873.tif 000003
【００５１】
ただし，図４では，ψｉは省略している。
【００５２】
そして，式（１）〜式（３）より，式（４）となる。
【００５３】
ｙｉ＝Ｒｔi＋Ｏ＋ξ＋ηｉ＋ψｉ      （４）
したがって，時刻同期処理では，ノイズ成分ηｉおよびψｉの存在がある場合に，毎正秒にブロードキャストされる時刻同期パケットの到着時刻を観測値ｙｉとして，スレーブ１のクロックレートＲおよびオフセットＯを推定する処理を行う。
【００５４】
なお，式（４）が成立するのは数十秒程度であり，ネットワークのトラフィックへの影響を考慮すると，時刻同期パケットは１／２秒〜１秒程度ごととなる。図４では，時刻同期パケットが１秒間隔で送出されている場合を示しているが，２の冪で等間隔であれば，１秒である必要はない。また，ネットワークの構成は既知であり，平均遅延時間ξは，予め与えられているとする。
【００５５】
〔クロックレート推定処理〕
マスタ２は，正確に１秒ごとに時刻同期パケットを送出するため，送出間隔は，
ｔｉ−ｔｉ−１＝１      （５）
となる。
【００５６】
一方，図４に示すように，時刻ｔｉに送出された時刻同期パケットは，ネットワーク上の途中のノード（ｎｏｄｅ）でηｉのキューイング遅延が生じる。このとき，先行する時刻ｔｉ−１に送出された時刻同期パケットとの間隔は，ηｉだけ伸びるが，逆に，後続する時刻ｔｉ＋１に送出される時刻同期パケットとの間隔はηｉだけ縮むことになる。例えば，前後の時刻同期パケットにキューイング遅延が含まれていないと仮定する（処理遅延は小さいので無視する）と，時刻同期パケットの到着間隔を平均化すれば，キューイング遅延を除去することが可能となる。
【００５７】
到着間隔をσｉとすれば，式（４），式（５）によって，以下の式（６）に示すようにクロックレートにノイズの差分が重畳している。
【００５８】
δｉ＝ｙｉ−ｙｉ−１
＝Ｒ（ｔｉ−ｔｉ−１）＋（ηｉ−ηｉ−１）＋（ψｉ−ψｉ−１）
＝Ｒ＋（ηｉ−ηｉ−１）＋（ψｉ−ψｉ−１）        （６）
図５に，到着間隔δｉの例を示す。なお，図５に示す到着間隔δｉは，図４の場合と同じデータによるものである。
【００５９】
図５において，到着間隔δｉは，一定値の上下にほぼ均等に散らばっていることがわかる。この一定値がクロックレートＲである。
【００６０】
クロックレート推定処理では，時刻同期パケットＮ個分の間隔で抽出した２つの同期時刻パケットの組ｎ個から，ビットシフト演算によって二乗誤差最小基準の最小値を求め，ｎ個の最小値にメディアンフィルタを施して求めた中央値をもとに，クロックレートＲの推定値を算出する。
【００６１】
〔オフセット推定処理〕
クロックレート推定処理で得られたクロックレートＲの推定値を用いて，ドリフトを補償する。
【００６２】
スレーブ１での時刻同期パケットの到着時刻ｘｉにはドリフト成分が含まれている。そこで，1秒間にドリフトする度合いであるクロックレートＲを用いてドリフト補償を行う。ドリフト補償では，最新に到着した時刻同期パケットの到着後にクロックレート推定部１４によって求められたクロックレートＲを用いる。
【００６３】
図６に，図３の遅延時間からドリフトを補償した結果を示す。
【００６４】
式（４）より，以下の式（７）となる。ここで，キューイング遅延ηｉは非負であり，これを利用して，以下の式（８）とする。式（８）は，最小値を用いることによってキューイング遅延ηｉを除去することができることを表す。
【００６５】
【数２】
2007134873.tif 000004
【００６６】
ここで，最小値を定めるために用いる時刻同期パケットの範囲は，最大では，クロックレートＲの計算に用いた時刻同期パケットの範囲であってもよい。より好ましくは，最近に到着したものから遡って所定の範囲内とする。あまり前に到着した時刻同期パケットのデータを用いて最小値を定めると精度が低下するからである。例えば，最小値の計算で使用する時刻同期パケットの数（最近から遡った数）ｎは，以下の式で求める。
【００６７】
ｎ＝√（Ｄ／Ｅ）
Ｄ：キューイング遅延ηｉの平均
Ｅ：クロックレートＲの推定誤差の平均
さらに，接続機器の通過遅延は自然分布となるため，最小値から標準偏差の所定の範囲のデータに対してメディアンフィルタを施すことによって，接続機器の通過遅延ノイズを取り除き，オフセットＯを推定する。
【００６８】
また，ネットワーク無負荷時の平均遅延時間ξが，経路に沿った遅延の固定成分の総和に相当するため，各機器装置の通過遅延を用いる。
【００６９】
図７に，マスタ２からスレーブ１までのネットワークで生じる通過遅延（遅延時間）を分解した成分を示す。
【００７０】
遅延時間は，マスタ２の内部で生成または外部から与えられる正秒信号（１ｐｌｓ／ｓ）を起点として，以下の成分で構成されている。
【００７１】
ｍ＿ｏｕｔｇｏｉｎｇ：マスタ２において，正秒とネットワークポートから同期時刻パケットのフレーム先頭が出力されるまでの時間，
ｎｅｔｗｏｒｋ＿ｄｅｌａｙ：ケーブルの伝搬遅延と接続機器の通過遅延，
ｂｕｆｆｅｒｉｎｇ＿ｔｉｍｅ：スレーブ１においてネットワークポートに同期時刻パケットのフレーム先頭が到着してから末尾までの時間，
ｓ＿ｉｎｃｏｍｉｎｇ：スレーブ１においてネットワークポートに同期時刻パケットのフレーム末尾が到着してから割り込みハンドラが呼び出されるまでの時間，
ｓ＿ｉｎｔｅｒａｃｔｉｏｎ：スレーブ１において入出力命令が発呼されてから実際の外界との入出力までの時間，
なお，遅延固定成分の各成分は，実測によって求めてもよく，または機器のベンダなどから提供された情報を利用してもよい。
【００７２】
これらの遅延固定成分の各成分に関する情報が事前に取得できていれば，式（４）によってオフセットＯを決定することができる。
【００７３】
〔時刻同期処理〕
次に，時刻同期処理装置１０の処理の流れを示す。
【００７４】
ステップＳ１：  時刻同期処理装置１０の同期パケット受信部１１は，マスタ２が送出した時刻同期パケットを受信する。
【００７５】
ステップＳ２：  パケット到着時刻記録部１２は，時刻同期パケットの到着時刻ｘｉを取得し，パケット到着時刻記憶部１３に記憶する。
【００７６】
ステップＳ３：  クロックレート推定部１４は，パケット到着時刻記憶部１３から，時刻同期パケットのＮ個の到着間隔の到着時刻をｎ個取得し，最小二乗法により，クロックレートＲを求める。回帰直線を，式（９）のように一定値とする。
【００７７】
【数３】
2007134873.tif 000005
【００７８】
そして，予測残差の平方和Ｊを最小化するＲ＾(Ｒ＾は，Ｒの上部に＾を記したもの)を，式（１０）をＲで偏微分する式（１１）によって求める。
【００７９】
【数４】
2007134873.tif 000006
【００８０】
すなわち，
【００８１】
【数５】
2007134873.tif 000007
【００８２】
したがって，Ｒ＾は，式（１２）で与えられる。
【００８３】
【数６】
2007134873.tif 000008
【００８４】
これは，到着間隔の区間［０：Ｎ］の両端の到着時刻，すなわち最先の時刻と最後の時刻との差を，区間長Ｎで平均している。したがって，区間長Ｎを２の冪Ｎ＝２ｎとすれば，整数の減算とｎビットシフト演算によって，クロックレートＲを得る。
【００８５】
次に，式（４）より，以下の式（１３）となる。
【００８６】
【数７】
2007134873.tif 000009
【００８７】
次に,メディアンフィルタを施す。近傍Ｎ点について，以下の式（１４）によってクロックレートＲを定義する。ここで，式（１５），式（１６）が成立すれば，式（１７）となる。
【００８８】
【数８】
2007134873.tif 000010
【００８９】
上記の式（１３）において，右辺第二項および第三項が定常性を有すれば，それぞれの期待値は０となるが，ηｉは定常性を満足せず，しかも数十秒間での少数データからの平均値算出ではノイズに弱い。そこで，算術平均より，メディアンフィルタのほうがロバストである（ノイズ耐性が強い）ことから，メディアンフィルタで求めることが好ましい。
【００９０】
ステップＳ４：  オフセット推定部１５は，ステップＳ３で得たクロックレートＲを用いてドリフト成分の補償を行う。すなわち，1秒後の到着時刻では，クロックレートＲ分だけドリフトしているので，−Ｒで補償する。
【００９１】
上述の式（７）から，キューイング遅延ηｉが非負であることを利用して式（８）を導く。
【００９２】
ここで，ネットワーク無負荷時の平均遅延時間ξとして用いる遅延固定成分（ネットワークのマスタ２からスレーブ１までの経路の遅延時間の固定成分の総和）は，遅延固定成分情報記憶部１６から取得する。
【００９３】
遅延固定成分として，ｍ＿ｏｕｔｇｏｉｎｇ，ｎｅｔｗｏｒｋ＿ｄｅｌａｙ，ｂｕｆｆｅｒｉｎｇ＿ｔｉｍｅ，ｓ＿ｉｎｃｏｍｉｎｇ，ｓ＿ｉｎｔｅｒａｃｔｉｏｎを用いる。ここで，遅延固定成分設定部１８が，以下の式（１８）〜式（２０）によって遅延固定成分を求め，予め遅延固定成分情報記憶部１６に格納しておく。
【００９４】
【数９】
2007134873.tif 000011
【００９５】
式（１８）〜式（２０）において，ｋ段目のパケット中継装置３（スイッチングハブ）のフレームサイズ遅延特性ａｋおよびｂｋ，ならびにｍ＿ｏｕｔｇｏｉｎｇ，（ｓ＿ｉｎｃｏｍｉｎｇ＋ｓ＿ｉｎｔｅｒａｃｔｉｏｎ）は，各構成機器のデータシートなどにもとづいてユーザによって入力された値を用いる。
【００９６】
また，（ｓ＿ｉｎｃｏｍｉｎｇ＋ｓ＿ｉｎｔｅｒａｃｔｉｏｎ）については，スレーブ1では外界との入出力（インタラクション）によらなければ内部の状態（時間）を知ることができないので，入出力遅延の和（ｓ＿ｉｎｃｏｍｉｎｇ＋ｓ＿ｉｎｔｅｒａｃｔｉｏｎ）として扱う。
【００９７】
ｂｕｆｆｅｒｉｎｇ＿ｔｉｍｅは，リンク速度とフレームサイズによって計算により求めた値を用いる。Ｓは，時刻同期パケットのフレーム長［bit］，Ｌは，スレーブ１のリンク速度［bit/s］である。
【００９８】
ｎｅｔｗｏｒｋ＿ｄｅｌａｙは，パケット中継装置（スイッチングハブ）３とケーブル４のそれぞれについての固定成分を定める必要がある。Ｈは，パケット中継装置３の段数，ｌｋはｋ段目とｋ＋１段目のパケット中継装置３を接続しているケーブル長である。
【００９９】
ケーブル４については，使用しているケーブル長を変化させて伝搬遅延を実測し，その実測データから回帰分析などによって１ｍ当たりの伝搬遅延の推定値として，５．２［ナノ秒／ｍ］を定めている。
【０１００】
さらに，ネットワーク上のパケット中継装置３，ケーブル４の通過遅延は自然分布となるため，最小値付近の範囲［min（ｙｉ−Ｒｔｉ），min（ｙｉ−Ｒｔｉ）＋６σψ］のデータ（遅延時間）に対してメディアンフィルタを施すことにより，ネットワークの接続機器の通過遅延ノイズを除去し，オフセットＯを推定する。σψは標準偏差を表す。標準偏差σψは，オフセット推定部１５内の標準偏差情報記憶部に記憶されている。
【０１０１】
なお，標準偏差σψはキューイング遅延よりも小さく，区間［min（ｙｉ−Ｒｔｉ），min（ｙｉ−Ｒｔｉ）＋６σψ］に含まれるキューイング遅延の確率は非常に小さい。
【０１０２】
ステップＳ５：  時刻同期処理部１７は，ステップＳ４で求めたオフセットＯを用いて，スレーブ１の時計の同期処理を行う。これによって，スレーブ１は，高精度な時刻同期を実現することができる。
【０１０３】
さらに，スレーブ１は，時刻同期処理装置１０と共に，ネットワーク遅延判定・警告装置２０を備えてもよい。
【０１０４】
ネットワーク遅延判定・警告装置２０は，時刻同期処理装置１０で推定されたクロックレートＲを用いて，クロックレートＲが所定の値を超える場合に，ネットワークが混雑していると判定して，ネットワークが所定の程度以上で混雑している旨の警告を送出する。
【０１０５】
以下に，本発明の具体的な実施例を説明する。
【０１０６】
図８に，本発明の実施例における構成を示す。
【０１０７】
マスタ２は，外部の原子時計からの正秒１ｐｌｓ／ｓ（Ｍ）で駆動し，２台のスイッチングハブ（パケット中継装置）３を介してスレーブ１の同期を行った。スレーブ１からのパルス出力１ｐｌｓ／ｓ（Ｓ）と時刻源の１ｐｌｓ／ｓ（Ｍ）との時間差をタイムインターバルカウンタ５において計測した。スレーブ１は，自時計の毎正秒にパルスを出力することによって，マスタ２とスレーブ１との時刻差を計測することが可能となる。
【０１０８】
ここで，マスタ２としてＰＵＴＳを使用した。ＰＵＴＳは，通過型タイムスタンプとして開発されているが，付加機能として任意のビットパターンのＥｔｈｅｒｎｅｔフレーム（Ｅｔｈｅｒｎｅｔは登録商標）を外部１ｐｌｓ／ｓ信号に同期して送出することができ，ｍ＿ｏｕｔｇｏｉｎｇ＝２６０ｎｓで一定である。また，拡張ディジタル出力ボード（インタフェース社ＰＣＩ−２７０３）によってパルス出力を行った。実測結果で，ｓ＿ｉｎｃｏｍｉｎｇ＋ｓ＿ｉｎｔｅｒａｃｔｉｏｎ＝５０２５ｎｓを得た。
【０１０９】
また，スレーブ１は，ソフトウェアタイムスタンプの精度を高めるために，割り込みハンドラでプロセッササイクルのカウンタを取得した。スレーブ１の構成は以下のとおりである。
【０１１０】
マザーボード：Ｓｕｐｅｒｍｉｃｒｏ  Ｐ４ＤＰＲ−ｉＧ２
ＣＰＵ：Ｉｎｔｅｌ  Ｘｅｏｎ  ２．４ＧＨｚ
ネットワークコントローラ：ＡＤＭｔｅｋ  ＡＮ９８３（Ｂ）  ｄｒｖ  ｔｕｌｉｐ−０．９．１４
ＯＳ：ｌｉｎｕｘ  ２．４．１８
図９に，図８に示す構成において，クロストラフィックの量を変化させて，同期精度を計測した結果を示す。
【０１１１】
クロストラフィックの帯域使用率８０％以下では，マイクロ秒以下で同期していることが確認できた。しかも，クロストラフィックの帯域使用率５０％以下では０．１マイクロ秒以下で同期していることが確認できた。
【０１１２】
以上,本発明をその実施の形態により説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【図面の簡単な説明】
【０１１３】
【図１】本発明を実施するネットワークの例を示す図である。
【図２】時刻同期処理装置の処理部の構成例を示す図である。
【図３】ネットワークを構成するマスタの時刻とスレーブの時刻を比較した例を示す図である。
【図４】時刻同期パケットがマスタから送出される時刻とスレーブに到着する時刻との関係を示す図である。
【図５】到着間隔の例を示す図である。
【図６】図３の遅延時間からドリフトを補償した結果を示す図である。
【図７】マスタからスレーブまでのネットワークで生じる遅延時間を分解した成分を示す図である。
【図８】本発明の実施例における構成を示す図である。
【図９】本発明の実施例における効果を示す図である。
【符号の説明】
【０１１４】
１  スレーブ（コンピュータ）
２  マスタ（コンピュータ）
３  パケット中継装置（スイッチングハブ）
４  ケーブル
１０  時刻同期処理装置
１１  同期パケット受信部
１２  パケット到着時刻記録部
１３  パケット到着時刻記憶部
１４  クロックレート推定部
１５  オフセット推定部
１６  遅延固定成分情報記憶部
１７  時刻同期処理部
１８  遅延固定成分設定部
２０  ネットワーク遅延判定・警告装置
【図１】
2007134873.tif 000012
【図２】
2007134873.tif 000013
【図３】
2007134873.tif 000014
【図４】
2007134873.tif 000015
【図５】
2007134873.tif 000016
【図６】
2007134873.tif 000017
【図７】
2007134873.tif 000018
【図８】
2007134873.tif 000019
【図９】
2007134873.tif 000020