(57)【特許請求の範囲】
【請求項１】
一つの通信網に接続された二つのノードａおよびノードｂがそれぞれ管理する二つの時計の時刻差Δを測定しこの二つの時計の時刻を同期させる時計同期方法であって、
それ以前の時刻差測定により得られた標本から推定される時刻差を母集団とする統計的分布と今回の時刻差測定により得られた標本から推定される時刻差を母集団とする統計的分布とが等しいとする仮説の検定を行い、この仮説が所定の誤差範囲で成立しないときに前記今回の時刻差測定結果にしたがって前記二つの時計の時刻を同期させ、
前記時刻差測定は、ノードａおよびｂの間で一往復のメッセージを交換し、ノードａからｂへのメッセージの送信時刻ｔａ１をノードａの時計ｔａを参照して測定し、ノードａからｂへのメッセージの受信時刻ｔｂ１をノードｂの時計ｔｂを参照して測定し、ノードｂからａへのメッセージの送信時刻ｔｂ２をノードｂの時計ｔｂを参照して測定し、ノードｂからａへのメッセージの受信時刻ｔａ２をノードａの時計ｔａにより測定し、これらの測定した値をノードａに集め、（１／２）〔（ｔａ１＋ｔｂ２）−（ｔａ２＋ｔｂ１）〕
を計算することをＮ回繰り返して時刻差測定した標本ｘN を得て、このＮ個の標本ｘN の値から計算された標本平均
【外１】
0003615357.tif 000009
および標本分散ｓｘ2 を用いて、ｔ分布における自由度Ｎ−１の確率α／２の確率点をｔN-1 （α／２）とするとき、母集団の平均値ｘｐの推定区間を確率αで、
【数１】
0003615357.tif 000010
と表し、時刻差測定毎に母集団の推定区間を計算し、所望の時刻差許容値をＴacc とするとき、ｔN-1
（α／２）√（ｓｘ2 ／（Ｎ−１））≦Ｔaccの条件を満たすまでさらに時刻差測定を繰り返し、この条件を満たしたときの標本分散ｓｘ2
から導かれる標本平均値
【外２】
0003615357.tif 000011
をノードａおよびｂ間の時刻差とする
ことを特徴とする時計同期方法。
【請求項２】
二つの前記母集団の統計的分布が互いに等しいとする仮説の発生する確率分布と、二つの前記母集団の統計的分布が所定値以上ずれているとする仮説の発生する確率分布とが十分に分離できるように前記Ｎの値を大きく設定する請求項１記載の時計同期方法。
【請求項３】
ノードａと通信網により接続されたノードｂとの間でこのノードｂに実装された時計を前記ノードａに実装された時計に時刻合わせを行う手段を備えた時計同期装置であって、
前記時刻合わせを行う手段は、二つの前記時計の時刻差を測定する手段と、この測定結果にしたがってそれ以前の時刻差測定により得られた標本から推定される時刻差を母集団とする統計的分布と今回の時刻差測定により得られた標本から推定される時刻差を母集団とする統計的分布とが等しいとする仮説の検定を行う手段と、この仮説が所定の誤差範囲で成立しないときに前記今回の時刻差測定結果にしたがって前記二つの時計の時刻を同期させる手段とを備え、
前記時刻差を測定する手段は、ノードａおよびｂの間で一往復のメッセージを交換し、ノードａからｂへのメッセージの送信時刻ｔａ１をノードａの時計ｔａを参照して測定し、ノードａからｂへのメッセージの受信時刻ｔｂ１をノードｂの時計ｔｂを参照して測定し、ノードｂからａへのメッセージの送信時刻ｔｂ２をノードｂの時計ｔｂを参照して測定し、ノードｂからａへのメッセージの受信時刻ｔａ２をノードａの時計ｔａにより測定し、これらの測定した値をノードａに集め、（１／２）〔（ｔａ１＋ｔｂ２）−（ｔａ２＋ｔｂ１）〕
を計算することをＮ回繰り返して時刻差測定した標本ｘN を得て、このＮ個の標本ｘN の値から計算された標本平均
【外３】
0003615357.tif 000012
および標本分散ｓｘ2 を用いて、ｔ分布における自由度Ｎ−１の確率α／２の確率点をｔN-1 （α／２）とするとき、母集団の平均値ｘｐの推定区間を確率αで、
【数２】
0003615357.tif 000013
と表し、時刻差測定毎に母集団の推定区間を計算し、所望の時刻差許容値をＴacc とするとき、ｔN-1
（α／２）√（ｓｘ2 ／（（Ｎ−１））≦Ｔaccの条件を満たすまでさらに時刻差測定を繰り返し、この条件を満たしたときの標本分散ｓｘ2
から導かれる標本平均値
【外４】
0003615357.tif 000014
をノードａおよびｂ間の時刻差とする手段を含む
ことを特徴とする時計同期装置。
【請求項４】
二つの前記母集団の統計的分布が等しいとする仮説の発生する確率分布と、二つの前記母集団の統計的分布が所定値以上ずれているとする仮説の発生する確率分布とが十分に分離できるように前記Ｎの値を大きく設定する手段を含む請求項３記載の時計同期装置。
【請求項５】
コンピュータ・ハードウェア装置にインストールされることにより請求項３または４記載の装置となるソフトウェアが記録された機械読取可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は通信網に接続された複数のノードに備えられた時計の同期に利用する。本発明は、サーバとクライアントが一つの通信網に接続された異なるノードにそれぞれ設けられているとき、このサーバおよびクライアントがそれぞれに備えられた時計の時刻差を正しくし、時計を同期させるために利用するに適する。
【０００２】
【従来の技術】
文献“Ｃｈｅｃｋｐｏｉｎｔｉｎｇ  ａｎｄ  ｒｏｌｌｂａｃｋ  ｒｅｃｏｖｅｒｙ  ｕｓｉｎｇ  ｃｏｍｍｏｎ  ｔｉｍｅ  ｂａｓｅ”（Ｐ．Ｒａｍｍａｎａｔｈａｎ  著，ＩＥＥＥ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｒｅｌｉａｂｌｅ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｙｓｔｅｍｓ，ｐｐ．１３−２１，Ｏｃｔ．，１９８８）  や文献“Ｕｓｉｎｇ  ｔｉｍｅ  ｉｎｓｔｅａｄ  ｏｆ  ｔｉｍｅｏｕｔ  ｆｏｒ  ｆａｕｌｔ  ｔｏｌｅｒａｎｔ  ｄｉｓｔｒｉｂｕｔｅｄ  ｓｙｓｔｅｍｓ”（Ｌ．Ｌａｍｐｏｒｔ著，ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎ  Ｐｒｏｇｒａｍｉｎｇ  Ｌａｎｇｕａｇｅｓ  Ｓｙｓｔｅｍｓ，Ｖｏｌ．６，Ｎｏ．２，ｐｐ．２５４−２８０，Ａｐｒｉｌ，１９８４）  に述べられているように一つの通信網に接続された複数のノードにそれぞれ時計を設け、これらの時計の同期した時刻情報にしたがってノード相互間の通信その他の制御を行うことによって、複数のノード間で協調して動作するアプリケーション間で交換されるメッセージの数を減少させることができる。図８は通信網に接続されたノードを示す図である。図８に示したノードａの時計ｔａおよびノードｂに備えられた時計ｔｂの時刻情報が同期していることにより、ノードａおよびノードｂ間で精度の高い各種制御を行うことができる。
【０００３】
また、時計が同期していることを前提としてアプリケーションを作成した場合には、その時計同期の確からしさを与えることで、アプリケーションは、メッセージに含まれる時刻情報をどの程度信用してよいかを判断することができるため、アプリケーションは、より確実な動作をすることができる。
【０００４】
ノード間の時計を同期させる従来の技術としては、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）  、Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｃｌｏｃｋ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  、ＡＣＴＳ（Ａｕｔｏｍａｔｅｄ  Ｃｏｍｐｕｔｅｒ  Ｔｉｍｅ  Ｓｅｒｖｉｃｅ）  などが知られている。
【０００５】
図９はＮＴＰの動作を示す図であるが、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）  は、インターネットで多く用いられているものであり、文献“Ｐｒｅｃｉｓｉｏｎ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ｏｆ  ｃｏｍｐｕｔｅｒ  ｎｅｔｗｏｒｋ  ｃｌｏｃｋｓ”（Ｄ．Ｌ．Ｍｉｌｌ著．Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｒｅｖｉｅｗ．Ｖｏｌ．２４．Ｎｏ．２，ｐｐ．２８−４３，Ａｐｒｉｌ  １９８４）で述べられているように、ノード間で時刻差を測定するためのパケットを送受信し合い、ノード間の往復の通信遅延時間の差が小さいことを利用してノード間の時刻差を求めている。
【０００６】
しかし、前記パケットが送受信されるネットワークは、時計同期専用ではなく、通常のメッセージ交換に用いられるため、実際には、ノード間の通信経路上のルータ内部のパケット処理や他のトラヒックなどの影響によって、前記遅延時間の差は小さくない。これに対して、ＮＴＰでは、誤差を小さくするために測定用パケットを複数回送受信し合い、各測定用パケットから得られる時刻差情報をメディアフィルタにかけ、その結果をもとに、管理する時計をＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋ  Ｌｏｏｐ）  動作させることによって、遅延時間差による誤差を少なくしている。
【０００７】
図１０はＰｒｏｂａｂｉｌｉｓｔｉｃ  Ｃｌｏｃｋ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  の動作を示す図であるが、Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｃｌｏｃｋ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  は、文献“Ａ  ＮＥＷ  ＰＲＯＢＡＢＩＬＩＳＴＩＣ  ＡＬＧＯＲＩＴＨＭ  ＦＯＲ  ＣＬＯＣＫ  ＳＹＮＣＨＲＯＮＩＺＡＴＩＯＮ”（Ｋ．Ａｒｖｉｎｄ  著，Ｐｒｏｃｅｄｉｎｇｓ  Ｒｅａｌ−Ｔｉｍｅ  Ｓｙｓｔｅｍｓ  Ｓｙｍｐｏｓｉｕｍ．ｐｐ．３３０−３３９，Ｓａｎｔａ．Ｍｏｎｉｃａ，ＣＡ，１９８９）に述べられているように、ノード間の通信遅延時間が正規分布であり、その平均値および分散が既知であるときに、各ノード間の管理する時刻を他のノードに送信し、受信したノードは、前記送られてきた時刻と遅延時間の平均値から時分の管理する時計との差を計算し、さらに前記差を平均化することによって一定の確率で時計同期誤差を一定範囲に抑えるものである。
【０００８】
ＡＣＴＳ（Ａｕｔｏｍａｔｅｄ  Ｃｏｍｐｕｔｅｒ  Ｔｉｍｅ  Ｓｅｒｖｉｃｅ）  は、文献“Ａｎ  Ａｌｇｏｒｔｈｍ  ｔｏ  Ｓｙｎｃｈｒｏｎｉｚｅ  ｔｈｅ  Ｔｉｍｅ  ｏｆ  ａ  Ｃｏｍｐｕｔｅｒ  ｔｏ  Ｕｎｉｖｅｒｓａｌ  Ｔｉｍｅ”（Ｊ．Ｌｅｖｉｎｅ著，ＩＥＥＥ／ＡＣＭ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＮＥＴＷＯＲＫＩＮＧ．Ｖｏｌ．３，Ｎｏ．１，Ｆｅｂｕｒｕａｒｙ  １９９５）  に述べられているように、周期的に電話回線を用いてダイヤルアップによって時計サーバにアクセスして、片道の通信遅延時間がラウンドトリップタイムの半分であると推定して時計補正を行っている。
【０００９】
【発明が解決しようとする課題】
例えば、サーバ・クライアント方式では、タイムスタンプを付与したパケットにより、パケットの送受信時刻情報を確認しながら相互に通信を行っているが、サーバとクライアントとの間で時計の時刻差がどれくらいあるのかを知ることは、アプリケーションプログラムを正しく実行する上で重要である。
【００１０】
すなわち、パケットに付与されたタイムスタンプのとおりに受信したパケットを組立てることにより、送信元のノードが伝達しようとした情報を正しく再現することができるのか、あるいは、受信したパケットをタイムスタンプのとおりに組立てても送信元のノードが伝達しようとした情報と比較してパケット位置の入れ替えが発生する場合があるのか、といったことを正しく把握することができれば、アプリケーションプログラムを実行するときに、時刻差の大小を考慮に入れた制御を行うことができる。これにより、正しくアプリケーションプログラムを実行することができる。
【００１１】
ところが、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）  を用いた場合には、その前提条件として各ノードの時計が周波数同期しておらず、ＮＴＰのアルゴリズムで求めた同期精度には複数のノード間の時計の周波数のずれに起因する誤差と通信遅延時間差が含まれる。このため、通信遅延時間の統計的性質が変化しない環境においても、その結果得られる時計同期の精度と同期精度の確からしさを定量的に判断することは困難であり、周波数同期が行われたノード間の時計同期とその確からしさを求める目的には適していない。
【００１２】
Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｃｌｏｃｋ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  を用いた場合には、時計同期プロトコルのメッセージ通信を行うネットワークの通信遅延時間が正規分布であり、その平均値と分散が既知であることが前提となっている。このため、前記平均および分散が未知である環境においては、上記文献に述べられている方法だけでは、通信遅延時間の平均および分散を測定する方法がないため、時計同期を行うことができない。
【００１３】
ＡＣＴＳ（Ａｕｔｏｍａｔｅｄ  Ｃｏｍｐｕｔｅｒ  Ｔｉｍｅ  Ｓｅｒｖｉｃｅ）  を用いた場合には、その同期誤差の支配的要因は通信ハードウェアおよびそのドライバ・ソフトウェアでの処理時間によるものである。この誤差については、ＣＰＵ速度、ノードの使用状況によって変化するが、本要因に基づく誤差による同期精度の確からしさを定量的に判断することはできない。
【００１４】
さらに、ＮＴＰ、Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｃｌｏｃｋ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  およびＡＣＴＳを用いた場合には定期的に各ノードの時計の時刻補正が実行される。また、ＮＴＰおよびＡＣＴＳを用いた場合には、時刻補正に伴って時計の進む速さである周波数の変更を行う。頻繁に補正が行われるこれらの方法では、“Ａ  Ｃｏｎｔｉｎｕｏｕｓ  Ｍｅｄｉａ  Ｉ／Ｏ  Ｓｅｒｖｅｒ  ａｎｄ  Ｉｔｓ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｍｅｃｈａｎｉｓｍ”（Ｄ．Ｐ．Ａｎｄｅｒｓｏｎ  ａｎｄ  Ｇ．Ｈｏｍｓｙ著，ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ，ｐｐ．５１−５７，Ｏｃｔ．１９９１．）に述べられているように、動画や音声メディア通信において、送信レートと受信再生レートが異なり、メディアのデータのオーバフローやアンダーフローにより再生品質が劣化してしまう。
【００１５】
本発明は、このような背景に行われたものであって、一つの通信網に接続された複数のノード間の時計の時刻情報を高い精度で同期させることができる時計同期装置を提供することを目的とする。本発明は、時刻補正が必要であるか否かを判定し不必要な時刻補正を行うことなく時計の時刻情報を高い精度で同期させることができる時計同期装置を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明は、一つの通信網に接続された複数のノードに含まれる時計の時刻同期を行うときに、補正の要否を確認してから行うことにより、不適切な補正によって逆に同期が不安定になることを回避できることを最も主要な特徴とする。
【００１７】
すなわち、一つの通信網に接続された二つのノードの管理する時計の時刻差のずれを指定された確率で指定された値以下にしたいとき、両ノードの時刻差を複数回測定し、その標本から得られる統計量を時刻差として時刻の校正を行い精度の高い時計同期を行う。
【００１８】
そして、定期的に時刻がずれているかどうかの判定方法として、時刻校正をしたときに用いた時刻差測定の標本と、定期的に測定した時刻差測定の標本とを比較し、ある確率で両標本から予測される母集団の統計量が異なるか否かを統計学的な検定で行うことにより、前記統計量によって計算されたノード間の時刻差が実際にずれているのか、それとも測定誤差によってずれていると計算されるのかを判定し、実際にずれていないにもかかわらず、時刻校正を行って周波数精度や安定度を劣化させる頻度を削減することができる。
【００１９】
すなわち、本発明の第一の観点は時計同期方法であって、一つの通信網に接続された二つのノードａおよびノードｂがそれぞれ管理する二つの時計の時刻差Δを測定しこの二つの時計の時刻を同期させる時計同期方法である。本発明の特徴とするところは、それ以前の時刻差測定により得られた標本から推定される時刻差を母集団とする統計的分布と今回の時刻差測定により得られた標本から推定される時刻差を母集団とする統計的分布とが等しいとする仮説の検定を行い、この仮説が所定の誤差範囲で成立しないときに前記今回の時刻差測定結果にしたがって前記二つの時計の時刻を同期させるところにある。
【００２０】
これにより、不必要な時刻補正を行うことなく時計の時刻情報を高い精度で同期させることができる。
【００２１】
前記時刻差測定は、ノードａおよびｂの間で一往復のメッセージを交換し、ノードａからｂへのメッセージの送信時刻ｔａ１をノードａの時計ｔａを参照して測定し、ノードａからｂへのメッセージの受信時刻ｔｂ１をノードｂの時計ｔｂを参照して測定し、ノードｂからａへのメッセージの送信時刻ｔｂ２をノードｂの時計ｔｂを参照して測定し、ノードｂからａへのメッセージの受信時刻ｔａ２をノードａの時計ｔａにより測定し、これらの測定した値をノードａに集め、
（１／２）〔（ｔａ１＋ｔｂ２）−（ｔａ２＋ｔｂ１）〕
を計算することをＮ回繰り返して時刻差測定した標本ｘＮ  を得て、このＮ個の標本ｘＮ  の値から計算された標本平均
【００２２】
【外５】
0003615357.tif 000002
および標本分散ｓｘ２  を用いて、ｔ分布における自由度Ｎ−１の確率α／２の確率点をｔＮ−１  （α／２）とするとき、母集団の平均値ｘｐの推定区間を確率αで、
【００２３】
【数３】
0003615357.tif 000003
と表し、時刻差測定毎に母集団の推定区間を計算し、所望の時刻差許容値をＴａｃｃ  とするとき、
ｔＮ−１  （α／２）√（ｓｘ２  ／（Ｎ−１））≦Ｔａｃｃ  
の条件を満たすまでさらに時刻差測定を繰り返し、この条件を満たしたときの標本分散ｓｘ２  から導かれる標本平均値〔外５〕をノードａおよびｂ間の時刻差とすることが望ましい。
【００２４】
二つの前記母集団の統計的分布が等しいとする仮説の発生する確率分布と、二つの前記母集団の統計的分布が所定値以上ずれているとする仮説の発生する確率分布とが十分に分離できるように前記Ｎの値を大きく設定することが望ましい。
【００２５】
本発明の第二の観点は時計同期装置であって、ノードａと通信網により接続されたノードｂとの間でこのノードｂに実装された時計を前記ノードａに実装された時計に時刻合わせを行う手段を備えた時計同期装置である。本発明の特徴とするところは、前記時刻合わせを行う手段は、二つの前記時計の時刻差を測定する手段を備え、この測定結果にしたがって、それ以前の時刻差測定により得られた標本から推定される時刻差を母集団とする統計的分布と今回の時刻差測定により得られた標本から推定される時刻差を母集団とする統計的分布とが等しいとする仮説の検定を行う手段と、この仮説が所定の誤差範囲で成立しないときに前記今回の時刻差測定結果にしたがって前記二つの時計の時刻を同期させる手段とを備えたところにある。
【００２６】
前記時刻差を測定する手段は、ノードａおよびｂの間で一往復のメッセージを交換し、ノードａからｂへのメッセージの送信時刻ｔａ１をノードａの時計ｔａを参照して測定し、ノードａからｂへのメッセージの受信時刻ｔｂ１をノードｂの時計ｔｂを参照して測定し、ノードｂからａへのメッセージの送信時刻ｔｂ２をノードｂの時計ｔｂを参照して測定し、ノードｂからａへのメッセージの受信時刻ｔａ２をノードａの時計ｔａにより測定し、これらの測定した値をノードａに集め、
（１／２）〔（ｔａ１＋ｔｂ２）−（ｔａ２＋ｔｂ１）〕
を計算することをＮ回繰り返して時刻差測定した標本ｘＮ  を得て、このＮ個の標本ｘＮ  の値から計算された標本平均〔外５〕および標本分散ｓｘ２  を用いて、ｔ分布における自由度Ｎ−１の確率α／２の確率点をｔＮ−１  （α／２）とするとき、母集団の平均値ｘｐの推定区間を確率αで、
〔数３〕
と表し、時刻差測定毎に母集団の推定区間を計算し、所望の時刻差許容値をＴａｃｃ  とするとき、
ｔＮ−１  （α／２）√（ｓｘ２  ／（Ｎ−１））≦Ｔａｃｃ
の条件を満たすまでさらに時刻差測定を繰り返し、この条件を満たしたときの標本分散ｓｘ２  から導かれる標本平均値〔外５〕をノードａおよびｂ間の時刻差とする手段を含むことが望ましい。
【００２７】
二つの前記母集団の統計的分布が等しいとする仮説の発生する確率分布と、二つの前記母集団の統計的分布が所定値以上ずれているとする仮説の発生する確率分布とが十分に分離できるように前記Ｎの値を大きく設定する手段を含むことが望ましい。
【００２８】
本発明の第三の観点は記録媒体であって、コンピュータ・ハードウェア装置にインストールされることにより前記時計同期装置となるソフトウェアが記録された機械読取可能な記憶媒体である。
【００２９】
【発明の実施の形態】
発明の実施の形態を図１および図２を参照して説明する。図１は本発明実施例の全体構成図である。図２は本発明実施例の時計同期装置のブロック構成図である。
【００３０】
本発明は、ノードａと通信網１により接続されたノードｂとの間でこのノードｂに実装された時計ｔｂをノードａに実装された時計ｔａに時刻合わせを行う手段としての時計修正部２を備えた時計同期装置ｃａおよびｃｂである。
【００３１】
ここで、本発明の特徴とするところは、時刻修正部２は、二つの時計ｔａおよびｔｂの時刻差を測定する手段としての時刻差測定部３を備え、この測定結果にしたがって、それ以前の時刻差測定により得られた標本から推定される時刻差を母集団とする統計的分布と今回の時刻差測定により得られた標本から推定される時刻差を母集団とする統計的分布とが等しいとする仮説の検定を行い、この仮説が所定の誤差範囲で成立しないときに前記今回の時刻差測定結果にしたがって二つの時計ｔａおよびｔｂの時刻を同期させるところにある。
【００３２】
時刻差測定部３は、ノードａおよびｂの間で一往復のメッセージを交換し、ノードａからｂへのメッセージの送信時刻ｔａ１をノードａの時計ｔａを参照して測定し、ノードａからｂへのメッセージの受信時刻ｔｂ１をノードｂの時計ｔｂを参照して測定し、ノードｂからａへのメッセージの送信時刻ｔｂ２をノードｂの時計ｔｂを参照して測定し、ノードｂからａへのメッセージの受信時刻ｔａ２をノードａの時計ｔａにより測定し、これらの測定した値をノードａに集め、
（１／２）〔（ｔａ１＋ｔｂ２）−（ｔａ２＋ｔｂ１）〕
を計算することをＮ回繰り返して時刻差測定した標本ｘＮ  を得て、このＮ個の標本ｘＮ  の値から計算された標本平均〔外５〕および標本分散ｓｘ２  を用いて、ｔ分布における自由度Ｎ−１の確率α／２の確率点をｔＮ−１  （α／２）とするとき、母集団の平均値ｘｐの推定区間を確率αで、
〔数３〕
と表し、時刻差測定毎に母集団の推定区間を計算し、所望の時刻差許容値をＴａｃｃ  とするとき、
ｔＮ−１  （α／２）√（ｓｘ２  ／（Ｎ−１））≦Ｔａｃｃ  
の条件を満たすまでさらに時刻差測定を繰り返し、この条件を満たしたときの標本分散ｓｘ２  から導かれる標本平均値〔外５〕をノードａおよびｂ間の時刻差とする。
【００３３】
二つの前記母集団の統計的分布が等しいとする仮説の発生する確率分布と、二つの前記母集団の統計的分布が所定値以上ずれているとする仮説の発生する確率分布とが十分に分離できるように前記Ｎの値を大きく設定する。
【００３４】
本発明実施例の時計同期装置は、ソフトウェアが記録された機械読取可能な記憶媒体をコンピュータ・ハードウェア装置にインストールすることにより実現することもできる。
【００３５】
【実施例】
ノードａの時計ｔａをノードｂの時計ｔｂに同期させる場合のノードａおよびｂの動作を説明する。ノードａの動作は、時刻差計算および時刻同期はずれ判定の二つに分けられる。時刻差計算は、図２に示した時刻差測定部３により行われ、時計ｔａおよびｔｂの時刻の差を求めることであり、時刻同期はずれ判定は、図２に示した時刻修正部２が時刻差測定部３により測定された時刻差を参照しながら時計ｔａおよびｔｂの時刻がずれているか否かを判定することである。
【００３６】
図３は本発明実施例の時計同期装置の動作手順を示すフローチャートである。複数回の往復メッセージのタイムスタンプを取得し（Ｓ１）、このタイムスタンプにより時計ｔａおよびｔｂの時刻差を測定する（Ｓ２）。母集団の統計量の推定を用いた確率的時刻差計算を行う（Ｓ３）。統計量が変化しているか否かを判定し、必要なときだけ時刻補正を行う（Ｓ４）。
【００３７】
図４は本発明実施例の時計同期装置の計算手順を示すフローチャートである。図４を参照して本発明実施例の時計同期装置の計算手順を説明する。時刻差計算では、まず、時刻差測定を行った回数を計数する変数Ｎを初期化してＮ＝１とする（Ｓ１０）。そして、ノードａおよびｂの間で一往復のメッセージを交換し、ノードａからｂへのメッセージの送信時刻ｔａ１をノードａの時計ｔａを参照して測定し、ノードａからｂへのメッセージの受信時刻ｔｂ１をノードｂの時計ｔｂを参照して測定する。
【００３８】
次に、ノードｂからａへのメッセージの送信時刻ｔｂ２をノードｂの時計ｔｂを参照して測定し、ノードｂからａへのメッセージの受信時刻ｔａ２をノードａの時計ｔａにより測定し、これらの測定した値をノードａに集め（Ｓ１１）、
（１／２）〔（ｔａ１＋ｔｂ２）−（ｔａ２＋ｔｂ１）〕  （２）
を計算する（Ｓ１２）。この手順を時刻差測定と呼ぶが、この時刻差測定をＮａ  回繰り返す（Ｓ１３、Ｓ１４）。
【００３９】
このＮａ  の値は、時刻差計算をするために行う時刻差測定を繰り返す最低の回数を示している。この値としては、ｘＮ  の母集団として予期される分散の値を用いて、標本値から母集団の情報をある程度十分に推定するために必要な値を適当に用いる。
【００４０】
次に、時刻差測定した標本ｘＮ  が正規分布にしたがうとすると文献「統計的方法ＩＩ推測」（渡辺洋、芝祐順著、新曜社発行）に述べられているように、Ｎ個の標本値から計算された標本平均〔外５〕および標本分散ｓｘ２  を用いて、母集団の平均値ｘｐの推定区間は確率αで、
〔数３〕
となる。ただし、ｔＮ−１  （α／２）は、ｔ分布における自由度Ｎ−１の確率α／２の確率点である。そこで、さらに時刻差測定を繰り返し、時刻差測定毎に母集団推定区間を計算し、
ｔＮ−１  （α／２）√（ｓｘ２  ／（Ｎ−１））≦Ｔａｃｃ            （４）
の条件を満たすまで繰り返す（Ｓ１５〜Ｓ１８）。そして、条件を満たしたときの標本分散ｓｘ２  から導かれる標本平均値〔外５〕をノードａおよびｂ間の時刻差とする。これにより、確率αで母集団平均と最大Ｔａｃｃ  （時刻差の許容値）の誤差にすることができる。時刻差Ｔｄｉｆｆは、
【００４１】
【数４】
0003615357.tif 000004
となる（Ｓ１９）。
【００４２】
所定時間経過後に（Ｓ２０）、時刻同期はずれ判定を行う。判定は母集団平均の検定によって行う。時刻差計算を行ったときおよび時刻同期はずれ判定を行うときの時刻差測定の値の標本をそれぞれ標本ＣおよびＤとする。時刻同期はずれ判定を行うときの時刻差測定は時刻差計算を行った手順と同様である（Ｓ２１〜Ｓ２８）。
【００４３】
標本ＣおよびＤが正規分布にしたがうとし、それぞれの標本数をＮＣおよびＮＤ、標本ＣとＤの母平均値の差をｄとすると、文献「統計的方法ＩＩ推測」（渡辺洋、芝祐順著、新曜社発行）に述べられているように、
【００４４】
【数５】
0003615357.tif 000005
で表されるｊｄは、自由度ＮＣ＋ＮＤ−２のｔ分布にしたがう。ここで、
0003615357.tif 000006
である。ただし、
【００４５】
【外６】
0003615357.tif 000007
と
【００４６】
【外７】
0003615357.tif 000008
およびｓ２  Ｃとｓ２  Ｄは、それぞれ標本ＣとＤの標本平均値および標本分散である。
【００４７】
図５は時刻同期はずれ判定における検定量ｊｄの分布を示す図であるが、標本ＣおよびＤから推定される母集団平均が同じであるという仮説を立てたとき、ｊ０の分布は図５のＪ０のようになる。しかし、実際には、母集団平均がｄずれていたとすると、ｊｄの分布は図５のＪｄのようになる。よって、確率αで母集団平均が同じであるという仮説の検定を行ったとき、仮説が棄却されないにもかかわらず、ｄのずれがあるという仮説も真である場合が有り得ることになる。よって、この二つの仮説を十分に分離するためには、確率αで検定を行うとすると、Ｊ０のα／２の右側の確率点をｊ＋  ０，α／２（＝ｔＮＣ＋ＮＤ−２（α／２）  ）およびＪｄのα／２の左側の確率点をｊ−  ｄ，α／２とすると、
ＴＮＣ＋ＮＤ−２（α／２）  ≦ｊ−  ｄ，α
でなければならない。そこで、同期はずれ判定は、同期処理時に時刻差測定を繰り返し測定毎にｊ−  ｄ，α、ｊ＋  ０，α、ｊ−  Ｔａｃｃ，  α、ｊ＋  Ｔａｃｃ，  αを計算する。そして、時刻差が０という仮説と時刻差が時刻差の許容値Ｔａｃｃ  以上のある値であるという仮説を十分に分離できるように、
ｊ＋  Ｔａｃｃ，  α≦ｔＮＣ＋ＮＤ−２（α／２）  
または、
ｊ−  Ｔａｃｃ，  α≦−ｔＮＣ＋ＮＤ−２（α／２）  
という条件を満たすまで繰り返す（Ｓ２９）。この条件が満たされたとき、計算されたｊ０が、
｜ｊ０｜＞ｔＮＣ＋ＮＤ−２（α／２）                      （９）
であれば、時刻同期はずれと判定し、上述の時刻差計算を行う（Ｓ３０）。
【００４８】
図６はノードａのメッセージ送受信手順を示す図である。ノードａの時刻差測定部３はノードｂにメッセージを送信し（Ｓ３２）、このメッセージの送信時刻ｔａ１を測定する（Ｓ３３）。ノードａの時刻差測定部３はノードｂからのメッセージを受信し（Ｓ３４）、その受信時刻ｔａ２を測定する（Ｓ３５）。ノードａの時刻差測定部３は、ノードｂからこのノードｂの時計で測定したノードａからのメッセージの受信時刻ｔｂ１  およびノードｂからノードａへのメッセージについてこのノードｂの時計で測定したこのメッセージの送信時刻ｔｂ２  を受信する（Ｓ３６）。
【００４９】
図７はノードｂのメッセージ送受信手順を示す図である。ノードｂの時刻差測定部３は、ノードａからのメッセージを受信し（Ｓ４１）、その受信時刻ｔａ１を測定する（Ｓ４２）。ノードｂの時刻差測定部３は、ノードａにメッセージを送信し（Ｓ４３）、その送信時刻ｔａ２を測定する（Ｓ４４）。ノードｂの時計で測定したノードａからのメッセージの受信時刻ｔｂ１  およびノードｂからノードａへのメッセージについてこのノードｂの時計で測定したこのメッセージの送信時刻ｔｂ２  をノードａに送信する（Ｓ４５）。
【００５０】
本発明実施例で用いた送受信時刻の取得は、本願出願人が先願（特願平８−１２６０５３号、本願出願時に未公開）により提案した技術により行うことができる。
【００５１】
【発明の効果】
以上説明したように、本発明によれば、一つの通信網に接続された複数のノード間の時計の時刻情報を高い精度で同期させることができる。本発明によれば、時刻補正が必要であるか否かを判定し不必要な時刻補正を行うことなく時計の時刻情報を高い精度で同期させることができる。
【図面の簡単な説明】
【図１】本発明実施例の全体構成図。
【図２】本発明実施例の時計同期装置のブロック構成図。
【図３】本発明実施例の時計同期装置の動作手順を示すフローチャート。
【図４】本発明実施例の時計同期装置の計算手順を示すフローチャート。
【図５】時刻同期はずれ判定における検定量ｊｄの分布を示す図。
【図６】ノードａのメッセージ送受信手順を示す図。
【図７】ノードｂのメッセージ送受信手順を示す図。
【図８】通信網に接続されたノードを示す図。
【図９】ＮＴＰの動作を示す図。
【図１０】Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｃｌｏｃｋ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  の動作を示す図。
【符号の説明】
１  通信網
２  時刻修正部
３  時刻差測定部
ａ、ｂ  ノード
ｔａ、ｔｂ  時計
ｃ、ｃａ、ｃｂ  時計同期装置
【図１】
0003615357.tif 000015
【図２】
0003615357.tif 000016
【図３】
0003615357.tif 000017
【図４】
0003615357.tif 000018
【図５】
0003615357.tif 000019
【図６】
0003615357.tif 000020
【図７】
0003615357.tif 000021
【図８】
0003615357.tif 000022
【図９】
0003615357.tif 000023
【図１０】
0003615357.tif 000024