(57)【要約】【課題】パケット交換ネットワーク全体にわたってクロックを同期するシステムおよび方法は、揺らぎの蓄積を解消して大きなネットワーク全体にわたって高精度のクロック分配を可能にする。【解決手段】標準的な高精度時間プロトコル（ＰＴＰ）の同期メッセージまたは同様の時間同期メッセージに加えて、各クロック再生器ステージは、前のステージからグランドクロック誤差メッセージを受信し、その誤差メッセージを自身のステージクロック誤差で更新した後、更新後のグランドクロック誤差を次のステージに送信する。これにより、同期アルゴリズムは前のステージの誤差を補償して、各クロック再生器ステージを直接グランドマスタクロックに有効にロックすることができる。【選択図】図３
2012222833.tif 000002
【特許請求の範囲】
【請求項１】
グランド(grand)マスタクロックと、第１のクロック再生器と、第２のクロック再生器とを備える、ネットワーク内で使用するためのクロック同期システムであって、
前記グランドマスタクロックは、主要(primary)高精度(precision)タイミングソースを含み、
前記第１のクロック再生器は、前記グランドマスタクロックと前記第２のクロック再生器とに動作的に(operatively)接続され、前記第１のクロック再生器は、
第１のローカルクロックと、
前記第１のローカルクロックを前記グランドマスタクロックと同期する第１の同期処理ユニットであって、
第１のマスタからスレーブへの(master-to-slave)メッセージを前記グランドマスタクロックから受信し、
第１のスレーブからマスタへの(slave-to-master)メッセージを前記グランドマスタクロックに送信し、
少なくとも部分的に前記第１のマスタからスレーブへのメッセージおよび前記第１のスレーブからマスタへのメッセージに基づいて第１のマスタ−スレーブ方向の経路遅延(path delay)および第１のスレーブ−マスタ方向の経路遅延を計算し、
前記第１のスレーブ−マスタ方向の経路遅延と前記第１のマスタ−スレーブ方向の経路遅延との差の２分の１に等しい第１のステージクロック誤差(stage clock error)を計算し、
前記第１のステージクロック誤差とゼロに等しく設定されるグランドクロック基準(baseline)誤差との和に等しい第１のグランドクロック誤差を計算し、
少なくとも部分的に前記第１のステージクロック誤差および前記グランドクロック基準誤差に基づいて前記第１のローカルクロックを前記グランドマスタクロックと同期させ、
前記第１のグランドクロック誤差を前記第２のクロック再生器に送信する
ように構成された第１の同期処理ユニットと
を含み、
前記第２のクロック再生器は、前記第１のクロック再生器に動作的に接続され、前記第２のクロック再生器は、
第２のローカルクロックと、
前記第２のローカルクロックを前記グランドマスタクロックと同期する第２の同期処理ユニットであって、
前記第１のクロック再生器から第２の同期メッセージを受信し、
前記第１のクロック再生器から第２の遅延応答メッセージを受信し、
前記第１のクロック再生器から前記第１のグランドクロック誤差を受信および格納し、
少なくとも部分的に前記第２の同期メッセージに基づいて第２のマスタ−スレーブ方向の経路遅延を計算し、
少なくとも部分的に前記第２の遅延応答メッセージに基づいて第２のスレーブ−マスタ方向の経路遅延を計算し、
前記第２のスレーブ−マスタ方向の経路遅延と前記第２のマスタ−スレーブ方向の経路遅延との差の２分の１に等しい第２のステージクロック誤差を計算し、
前記第１のグランドクロック誤差と前記第２のステージクロック誤差との和に等しい第２のグランドクロック誤差を計算し、
少なくとも部分的に前記第２のステージクロック誤差および前記第１のグランドクロック誤差に基づいて前記第２のローカルクロックを前記グランドマスタクロックと同期する
ように構成された第２の同期処理ユニットと
を含む、クロック同期システム。
【請求項２】
前記グランドマスタクロックがさらに、前記グランドクロック基準誤差を生成し、前記グランドクロック基準誤差を前記第１のクロック再生器に送信するように構成される、請求項１に記載のクロック同期システム。
【請求項３】
前記第１のクロック再生器がさらに前記グランドクロック基準誤差を生成するように構成される、請求項１に記載のクロック同期システム。
【請求項４】
前記第１の同期処理ユニットが前記第１のグランドクロック誤差を格納するためのメモリ要素を含む、請求項１に記載のクロック同期システム。
【請求項５】
前記第１の同期処理ユニットがさらに前記第１のグランドクロック誤差を３２ビット以下に量子化するように構成される、請求項１に記載のクロック同期システム。
【請求項６】
前記第１のグランドクロック誤差が、前記第２のクロック再生器による受信のために前記第２の遅延応答メッセージと共にパッケージされる、請求項１に記載のクロック同期システム。
【請求項７】
グランドマスタクロックおよびＮ個（Ｎは２以上の整数）のクロック再生器を有するネットワーク内で使用するためのクロック同期システムであって、
前記グランドマスタクロックに動作的に接続された第１のクロック再生器と、
ｋ番目（ｋは１とＮとの間の整数）のクロック再生器であって、
（ｋ−１）番目のクロック再生器との動作接続(operative connection)と、
（ｋ＋１）番目のクロック再生器との動作接続と、
ｋ番目の処理要素を含む同期処理ユニットであって、前記ｋ番目の処理要素は、
前記（ｋ−１）番目のクロック再生器から、マスタからスレーブへのメッセージを受信し、
前記（ｋ−１）番目のクロック再生器にスレーブからマスタへのメッセージを送信し、
少なくとも部分的に前記マスタからスレーブへのメッセージおよび前記スレーブからマスタへのメッセージに基づいてｋ番目のマスタ−スレーブ方向の経路遅延およびｋ番目のスレーブ−マスタ方向の経路遅延を計算し、
ｋ番目のスレーブ−マスタ方向の経路遅延と前記ｋ番目のマスタ−スレーブ方向の経路遅延との差の２分の１に等しいｋ番目のステージクロック誤差を計算し、
前記（ｋ−１）番目のクロック再生器から（ｋ−１）番目のグランドクロック誤差を受信し、
前記（ｋ−１）番目のグランドクロック誤差と前記ｋ番目のステージクロック誤差との和に等しいｋ番目のグランドクロック誤差を計算し、
少なくとも部分的に前記ｋ番目のステージクロック誤差および前記（ｋ−１）番目のグランドクロック誤差に基づいて前記ｋ番目のクロック再生器を前記グランドマスタクロックと同期し、
前記（ｋ＋１）番目のクロック再生器に前記ｋ番目のグランドクロック誤差を送信する
ように構成される、同期処理ユニットと
を含むｋ番目のクロック再生器と、
（Ｎ−１）番目のクロック再生器に動作的に接続されたＮ番目のクロック再生器と
を備えるクロック同期システム。
【請求項８】
前記ｋ番目の処理要素が前記（ｋ−１）番目のグランドクロック誤差を格納するためのメモリ要素を含む、請求項７に記載のクロック同期システム。
【請求項９】
前記同期処理ユニットがさらに前記ｋ番目のグランドクロック誤差を３２ビット以下に量子化するように構成される、請求項７に記載のクロック同期システム。
【請求項１０】
前記ｋ番目の処理要素がさらに、前記ｋ番目のグランドクロック誤差と前記（ｋ＋１）番目のクロック再生器への前記遅延応答メッセージとを、前記（ｋ＋１）番目のクロック再生器に共に送信されるように、まとめてパケット化するように構成される、請求項７に記載のクロック同期システム。
【請求項１１】
前記ｋ番目の処理要素がさらに、前記ｋ番目のグランドクロック誤差が前記（ｋ＋１）番目のクロック再生器に送信される周波数を選択的に制御するように構成されたレート制御ユニットを含む、請求項７に記載のクロック同期システム。
【請求項１２】
前記ｋ番目の処理要素がさらにタイムアウトユニットを含み、前記タイムアウトユニットは、前記（ｋ−１）番目のグランドクロック誤差を格納するためのメモリと、初期値から減分される(decremented)タイムアウトカウンタとを有し、前記タイムアウトユニットは、前記（ｋ−１）番目のグランドクロック誤差が受信されるたびに、
受信した前記（ｋ−１）番目のグランドクロック誤差を格納するように前記メモリを更新し、
前記タイムアウトカウンタを前記初期値にリセットし、
前記タイムアウトカウンタがゼロに達していない限り、前記ｋ番目のクロック再生器を前記グランドマスタクロックと同期するために前記（ｋ−１）番目のグランドクロック誤差を使用する
ように構成される、請求項７に記載のクロック同期システム。
【請求項１３】
グランドマスタクロックおよびＮ個（Ｎは２以上の整数）のクロック再生器を有するネットワークにおいて、前記Ｎ個のクロック再生器各々を前記グランドマスタクロックと同期する方法であって、
前記グランドマスタクロックから第１のクロック再生器にマスタからスレーブへのメッセージを送信するステップと、
前記第１のクロック再生器から前記グランドマスタクロックにスレーブからマスタへのメッセージを送信するステップと、
前記第１のクロック再生器で、
少なくとも部分的に前記マスタからスレーブへのメッセージおよび前記スレーブからマスタへのメッセージに基づいて第１のマスタ−スレーブ方向の経路遅延および第１のスレーブ−マスタ方向の経路遅延を計算するステップ、
前記第１のスレーブ−マスタ方向の経路遅延と前記第１のマスタ−スレーブ方向の経路遅延との差の２分の１に等しい第１のステージクロック誤差を計算するステップ、
前記第１のステージクロック誤差とゼロに等しく設定されるグランドクロック基準誤差との和に等しい第１のグランドクロック誤差を生成するステップ、および
少なくとも部分的に前記第１のステージクロック誤差および前記グランドクロック基準誤差に基づいて前記第１のクロック再生器を前記グランドマスタクロックと同期するステップ
を行うステップと、
ｋ番目（ｋは２以上Ｎ未満の整数）のクロック再生器で、
前記（ｋ−１）番目のクロック再生器から、マスタからスレーブへのメッセージを受信するステップ、
前記（ｋ−１）番目のクロック再生器にスレーブからマスタへのメッセージを送信するステップ、
前記（ｋ−１）番目のクロック再生器から（ｋ−１）番目のグランドクロック誤差を受信および格納するステップ、
少なくとも部分的に前記マスタからスレーブへのメッセージおよび前記スレーブからマスタへのメッセージに基づいてｋ番目のマスタ−スレーブ方向の経路遅延およびｋ番目のスレーブ−マスタ方向の経路遅延を計算するステップ、
前記ｋ番目のスレーブ−マスタ方向の経路遅延と前記ｋ番目のマスタ−スレーブ方向の経路遅延との差の２分の１に等しいｋ番目のステージクロック誤差を計算するステップ、
前記ｋ番目のステージクロック誤差と前記（ｋ−１）番目のグランドクロック誤差との和に等しいｋ番目のグランドクロック誤差を計算するステップ、および
少なくとも部分的に前記ｋ番目のステージクロック誤差および前記（ｋ−１）番目のグランドクロック誤差に基づいて前記ｋ番目のクロック再生器を前記グランドマスタクロックと同期するステップ
を含む同期プロセスを行うステップと、
前記Ｎ番目のクロック再生器で、
前記（Ｎ−１）番目のクロック再生器から、マスタからスレーブへのメッセージを受信するステップ、
前記（Ｎ−１）番目のクロック再生器にスレーブからマスタへのメッセージを送信するステップ、
前記（Ｎ−１）番目のクロック再生器から（Ｎ−１）番目のグランドクロック誤差を受信および格納するステップ、
少なくとも部分的に前記マスタからスレーブへのメッセージおよび前記スレーブからマスタへのメッセージに基づいてＮ番目のマスタ−スレーブ方向の経路遅延およびＮ番目のマスタ−スレーブ方向の経路遅延を計算するステップ、
前記Ｎ番目のスレーブ−マスタ方向の経路遅延と前記Ｎ番目のマスタ−スレーブ方向の経路遅延との差の２分の１に等しいＮ番目のステージクロック誤差を計算するステップ、および
少なくとも部分的に前記Ｎ番目のステージクロック誤差および前記（Ｎ−１）番目のグランドクロック誤差に基づいて前記Ｎ番目のクロック再生器を前記グランドマスタクロックと同期するステップ
を行うステップと
を含む方法。
【請求項１４】
前記ｋ番目のクロック再生器で、前記ｋ番目のグランドクロック誤差をメッセージにパックし、前記メッセージを前記（ｋ＋１）番目のクロック再生器に送信するステップをさらに含む、請求項１３に記載の前記Ｎ個のクロック再生器各々を前記グランドマスタクロックと同期する方法。
【請求項１５】
前記メッセージを前記（ｋ＋１）番目のクロック再生器に送信するステップが固定レートで行われる、請求項１４に記載の方法。
【請求項１６】
前記メッセージを前記（ｋ＋１）番目のクロック再生器に送信するステップが可変レートで行われる、請求項１４に記載の方法。
【請求項１７】
前記グランドクロック基準誤差を生成し、前記グランドクロック基準誤差を前記第１のクロック再生器に送信するように前記グランドマスタクロックを構成するステップをさらに含む、請求項１３に記載の前記Ｎ個のクロック再生器各々を前記グランドマスタクロックと同期する方法。
【請求項１８】
前記第１のクロック再生器で前記グランドクロック基準誤差を生成するステップをさらに含む、請求項１３に記載の前記Ｎ個のクロック再生器各々を前記グランドマスタクロックと同期する方法。
【請求項１９】
各クロック再生器で前記グランドクロック誤差を３２ビット以下に量子化するステップをさらに含む、請求項１３に記載の前記Ｎ個のクロック再生器各々を前記グランドマスタクロックと同期する方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
（関連出願データ）
この出願は、米国特許法第１１９条（ｅ）に基づき、２０１１年４月１３日に出願された米国仮特許出願第６１／４７５，０８０号に対する優先権を主張する。同特許出願の主題は、参照により全体が本明細書に組み込まれる。
【技術分野】
【０００２】
本発明は、一般には、パケット交換ネットワークを通じたクロック分配の分野に関する。より詳細には、本発明は、大きなネットワーク全体にわたってクロック信号を高精度で分配できるように揺らぎの蓄積を克服するシステムおよび方法に関する。
【背景技術】
【０００３】
ネットワークを構成する要素を同期することは、良好なネットワーク性能を実現するために基本的に重要である。これは、特にすべてのノードおよびユーザが相互と良好な同期を維持することを必要とする遠隔通信システムおよび制御システムでそうである。インターネットプロトコル（ＩＰ）を用いるシステムが増えるにつれて、高精度の時間分配の必要性は増す一方である。
【０００４】
一般に、ネットワーク上でクロックを同期するには、ネットワーク全体にわたってマスタクロックから複数のスレーブクロックにタイミング情報を配布することが必要になる。しかし、変動する待ち時間およびトラフィック依存性の遅延のために、パケットベースのネットワークに関してはそのような配布方式が難しい。そのため、ネットワーク要素のパケットベースの時間同期に伴う問題の多くに対処する一方式として高精度時間プロトコル（Precision Time Protocol）（ＰＴＰ）ＩＥＥＥ−１５８８標準が登場している。ＰＴＰは、時間パケットおよびデータパケットのトラフィックがハブ、スイッチ、ケーブル、およびネットワークを構成する他のハードウェアを通過する際に生じる時刻転送待ち時間に対処する。
【０００５】
ＰＴＰはマスタ／スレーブの概念を用いて機能する。マスタは、原子時計などの高精度クロックを備える。マスタ機器とスレーブ機器は、スレーブ機器がマスタクロック参照にロックすることを可能にするデータパケットを交換する。例えば、図１に、タイミング情報を転送するための基本的なＰＴＰパケット交換プロセスを示す。マスタユニット１０２は、定期的に同期メッセージ１０６を送出する。スレーブ機器１０４は、タイムスタンプが付された同期メッセージ１０６を受信し、直ちにＤｅｌａｙ＿Ｒｅｑｕｅｓｔパケット１０８をマスタ１０２に送り返すことができる。するとマスタはＤｅｌａｙ＿Ｒｅｓｐｏｎｓｅパケット１１０で応答する。同期メッセージを受信することにより、スレーブは、自身のローカルのタイムベースをマスタクロックの周波数に合わせることができ、追加的なＤｅｌａｙ＿ＲｅｑｕｅｓｔパケットおよびＤｅｌａｙ＿Ｒｅｓｐｏｎｓｅパケットで、スレーブはさらに自身のローカルクロックの位相をマスタクロックに合わせて同期を完全にすることができる。ネットワーク時間プロトコル（ＮＴＰ）バージョン４など、他の同期方法も当技術分野で使用される。実装の詳細はＰＴＰと異なるが、ＮＴＰも、マスタからスレーブおよびスレーブからマスタへのタイミングメッセージの交換に依拠して同期を達成する。
【０００６】
上記のようにマスタクロックにロックされたスレーブクロックは、オーディナリー（ordinary）クロックと呼ばれる。ＰＴＰプロトコルはバウンダリー（boundary）クロックも定義する。バウンダリークロックは、オーディナリークロックとして機能するが、それに加えて、下流にある他のオーディナリークロックまたはバウンダリークロックに対するマスタクロックの役割も果たす。このようなバウンダリークロックのチェーンにより、非常に大きなネットワーク全体にわたってグランドマスタクロック参照を分配する方式が得られる。例えば、図２に、４つのバウンダリークロック２０４、２０６、２０８および２１０とネットワーク接続されたグランドマスタクロック２０２を示す。グランドマスタクロック２０２と１番目のバウンダリークロック２０４は、１番目のバウンダリークロック２０４をマスタクロック２０２に位相ロックするためにＰＴＰパケット２１２を交換する。バウンダリークロック２０６は、同様にしてＰＴＰパケットの交換２１４を介してバウンダリークロック２０４にロックされる。同様にして、３番目および４番目のバウンダリークロック２０８および２１０は、ＰＴＰパケット２１６および２１８の交換によって前のバウンダリークロックにロックされる。したがって、最後のバウンダリークロック２１０は、すべての中間バウンダリークロックを介してグランドマスタクロック２０２にロックされる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国仮特許出願第６１／４７５，０８０号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
この方法は、チェーンにあるバウンダリークロックの数が非常に少ない一部の用途には良好に機能するが、多くの他の用途には十分な精度を達成しない。このアーキテクチャの問題は、各バウンダリークロックで一定量のクロック誤差が生じることである。各バウンダリークロックで生じた誤差は、チェーン中の次のバウンダリークロックに渡され、全体の誤差が増大し続ける。分配チェーン中で後の方にあるクロックにとっては、誤差が許容できない大きさまで増大する可能性がある。この問題は、多数のバウンダリークロックステージを含みうる非常に大きなネットワークで特に深刻である。したがって、バウンダリークロック誤差の蓄積を解消して大規模ネットワーク上の精密なクロック分配を可能にするシステムおよび方法を提供すると有利であろう。
【課題を解決するための手段】
【０００９】
本発明は、揺らぎの蓄積を克服するためにクロック再生器を同期するシステムおよび方法を対象とする。クロック再生器の一例は、パケット交換型のインターネットプロトコルネットワークにおけるバウンダリークロックである。ただし、本システムおよび方法は、遠隔通信ネットワークおよび精密な時間分配を必要とする他種のネットワークに等しく適用可能である。
【００１０】
本発明によるネットワークで使用するためのクロック同期システムの一実施形態は、高精度のタイミングソースを有するグランドマスタクロック、および少なくとも第１および第２のクロック再生器を含む。第１のクロック再生器はグランドマスタクロックに結合され、第１のローカルクロックと、第１のローカルクロックをグランドマスタクロックと同期する第１の同期処理ユニットとを含む。第１の同期処理ユニットは、マスタからスレーブへのメッセージをグランドマスタクロックから受信し、スレーブからマスタへのメッセージをマスタクロックに送り返すように構成される。同期処理ユニットは、それらのメッセージを使用して第１のマスタ−スレーブ方向の経路遅延および第１のスレーブ−マスタ方向の経路遅延を計算する。第１の同期処理ユニットはさらに、第１のスレーブ−マスタ方向の経路遅延と第１のマスタ−スレーブ方向の経路遅延との差の２分の１に等しい第１のステージクロック誤差を計算するように構成される。第１の同期処理ユニットはさらに、第１のステージクロック誤差とグランドクロック基準誤差との和である第１のグランドクロック誤差を計算するように構成される。グランドクロック基準誤差はゼロに定義される。一部の実施形態では、グランドマスタクロックは、グランドクロック基準誤差を第１のクロック再生器に送信するように構成される。しかし他の実施形態では、グランドクロック基準誤差は第１のクロック再生器自体によって生成される。第１の同期処理ユニットはさらに、第１のステージクロック誤差およびグランドクロック基準誤差を使用して第１のローカルクロックをグランドマスタクロックと同期するように構成される。
【００１１】
同期メッセージおよび遅延応答メッセージについてはＰＴＰプロトコルを参照して述べるが、本発明は、この標準を実装したシステムに限定されないことを理解されたい。本明細書で述べる同期および遅延応答メッセージは、同様にして同期を達成する他のメッセージ形式およびプロトコルを包含するものとする。例えば、本明細書に記載されるシステムおよび方法は、「ネットワーク時間プロトコル」（ＮＴＰ）バージョン４および他の同様の方法など、時間同期用の同様のプロトコルおよび機構にも等しく適用される。
【００１２】
本実施形態はさらに、第１のクロック再生器に動作的に結合され、第２のローカルクロックおよび第２の同期処理ユニットを含む第２のクロック再生器を含む。第２の同期処理ユニットは、第１のクロック再生器から同期メッセージおよび遅延応答メッセージを受信するように構成される。第２の同期処理ユニットはさらに、第１のクロック再生器から第１のグランドクロック誤差を受信するように構成される。第２の同期処理ユニットはさらに、同期メッセージおよび遅延応答メッセージの情報に基づいて第２のステージクロック誤差を計算するように構成される。第２の同期処理ユニットはさらに、少なくとも部分的に第２のステージクロック誤差および第１のグランドクロック誤差に基づいて第２のローカルクロックをグランドマスタクロックと同期するように構成される。
【００１３】
一部の実施形態では、グランドクロック誤差は、クロック再生器の内部に格納するため、および異なるクロック再生器間で渡すために量子化する必要がある。グランドクロック誤差は、その精度を一定レベルに維持しながらシステム資源を節減するために、６４ビット、３２ビット、またはそれ以下に量子化することができる。他の実施形態では、各グランドクロック誤差は、ＰＴＰ標準に定義されるＴＬＶ拡張の範囲内で、Ｄｅｌａｙ＿Ｒｅｓｐｏｎｓｅメッセージなど、既存のＰＴＰメッセージの１つと共にパッケージし、次のクロック再生器ステージに送信することができ、単一のメッセージの一部として共に送信されるようにする。
【００１４】
一部の実施形態では、クロック再生器ステージ内の処理要素はレート制御ユニットを含む。レート制御ユニットは、そのクロック再生器ステージで計算されたグランドクロック誤差が次のクロック再生器に送信される周波数を選択的に制御する。グランドクロック誤差が送信されるレートは、固定レートでも可変レートでもよい。
【００１５】
別の実施形態では、クロック再生器ステージ内の処理要素はさらにタイムアウトユニットを含む。タイムアウトユニットは、前のステージから受信したグランドクロック誤差を格納するためのメモリおよびタイムアウトカウンタを含むように構成される。タイムアウトカウンタは、前のステージからグランドクロック誤差が受信されるたびに初期値にリセットされる。そして、タイムアウトカウンタは、初期値から固定のレートでカウントダウンする。メモリに保存されたグランドクロック誤差は、タイムアウトカウンタがまだゼロに達していない限り、そのクロック再生器ステージを同期するために使用される。すなわち、タイムアウトユニットは、クロック再生器が、設定可能な特定の時間よりも古くないグランドクロック誤差信号を使用することを保証する。
【００１６】
本発明による、グランドマスタクロックとネットワーク内のＮ個（Ｎは２以上の整数）のクロック再生器を同期する方法の一実施形態は下記のステップを含む。方法は、グランドマスタクロックから第１のクロック再生器に同期メッセージを送信するステップ、およびグランドマスタクロックから第１のクロック再生器に遅延応答メッセージを送信するステップを含む。第１のクロック再生器において、方法は、少なくとも部分的に同期メッセージに基づいて第１のマスタ−スレーブ方向の経路遅延を計算するステップ、少なくとも部分的に遅延応答メッセージに基づいて第１のスレーブ−マスタ方向の経路遅延を計算するステップ、第１のスレーブ−マスタ方向の経路遅延と第１のマスタ−スレーブ方向の経路遅延との差の２分の１に等しい第１のステージクロック誤差を計算するステップ、第１のステージクロック誤差とゼロに等しく設定されるグランドクロック基準誤差との和に等しい第１のグランドクロック誤差を生成するステップ、および、少なくとも部分的に第１のステージクロック誤差およびグランドクロック基準誤差に基づいて第１のクロック再生器をグランドマスタクロックと同期するステップを含む。
【００１７】
各クロック再生器ステージで同様のプロセスが行われる。例えば、ｋ番目（ｋは１とＮとの間の整数）のクロック再生器では、方法は以下のステップを含む。（ｋ−１）番目のクロック再生器から同期メッセージを受信するステップ、（ｋ−１）番目のクロック再生器から遅延応答メッセージを受信するステップ、（ｋ−１）番目のクロック再生器から（ｋ−１）番目のグランドクロック誤差を受信するステップ、少なくとも部分的に（ｋ−１）番目のクロック再生器からの同期メッセージに基づいてｋ番目のマスタ−スレーブ方向の経路遅延を計算するステップ、少なくとも部分的に（ｋ−１）番目のクロック再生器からの遅延応答メッセージに基づいてｋ番目のスレーブ−マスタ方向の経路遅延を計算するステップ、ｋ番目のスレーブ−マスタ方向の経路遅延とｋ番目のマスタ−スレーブ方向の経路遅延との差の２分の１に等しいｋ番目のステージクロック誤差を計算するステップ、ｋ番目のステージクロック誤差と（ｋ−１）番目のグランドクロック誤差との和に等しいｋ番目のグランドクロック誤差を計算するステップ、および、少なくとも部分的にｋ番目のステージクロック誤差および（ｋ−１）番目のグランドクロック誤差に基づいてｋ番目のクロック再生器をグランドマスタクロックと同期するステップ。
【００１８】
そして最後にＮ番目（最後）のクロック再生器では、方法は、（Ｎ−１）番目のクロック再生器から同期メッセージを受信するステップ、（Ｎ−１）番目のクロック再生器から遅延応答メッセージを受信するステップ、（Ｎ−１）番目のクロック再生器から（Ｎ−１）番目のグランドクロック誤差を受信するステップ、少なくとも部分的に（Ｎ−１）番目のクロック再生器からの同期メッセージに基づいてＮ番目のマスタ−スレーブ方向の経路遅延を計算するステップ、少なくとも部分的に（Ｎ−１）番目のクロック再生器からの遅延応答メッセージに基づいてＮ番目のスレーブ−マスタ方向の経路遅延を計算するステップ、Ｎ番目のスレーブ−マスタ方向の経路遅延とＮ番目のマスタ−スレーブ方向の経路遅延との差の２分の１に等しいＮ番目のステージクロック誤差を計算するステップ、および、少なくとも部分的にＮ番目のステージクロック誤差および（Ｎ−１）番目のグランドクロック誤差に基づいてＮ番目のクロック再生器をグランドマスタクロックと同期するステップを含む。この方法により、Ｎ個のクロック再生器各々を直接グランドマスタクロックと同期することが可能になる。
【００１９】
本発明によるグランドマスタクロックとＮ個のクロック再生器を同期する方法の他の実施形態は、グランドクロック基準誤差を生成し、その誤差を第１のクロック再生器に送信するようにグランドマスタクロックを構成するステップを含んでよい。異なる実施形態は、第１のクロック再生器でグランドクロック基準誤差を生成するステップを含んでよい。そして、一部の実施形態は、システム資源を節減するために各クロック再生器でグランドクロック誤差を３２ビットまたはそれ以下に量子化するステップを含んでよい。
【００２０】
以下の好ましい実施形態の詳細な説明および添付図面を検討することにより、本発明による他の実施形態および応用例も明らかになろう。初めに図面を簡単に説明する。
【図面の簡単な説明】
【００２１】
【図１】ＰＴＰプロトコルの実装におけるマスタノードとスレーブノード間の同期パケットの典型的な交換を示す図である。
【図２】ＰＴＰプロトコルの典型的な実装による、いくつかのクロック再生器のマスタクロックとの同期を示すブロック図である。
【図３】本発明によるクロック同期システムの一実施形態のブロック図である。
【発明を実施するための形態】
【００２２】
本発明は、大きなネットワーク全体にわたって精密なクロック分配を可能にするためにネットワーク内の揺らぎの蓄積を解消する装置および方法を提供する。各バウンダリークロックが１つ前のバウンダリークロックと直接同期され、したがってグランドマスタクロックとは間接的に同期される標準的なＰＴＰネットワークと異なり、本発明によるネットワークの実施形態は、ネットワークを通じて追加的な誤差信号を配布することにより各クロック再生器を直接グランドマスタ参照自体に有効に同期する。
【００２３】
図３は、本発明の一実施形態によるクロック同期システムのブロック図である。この実施形態はバウンダリークロックを含むＰＴＰネットワークを参照して説明するが、グランドマスタクロック参照と同期すべきクロック再生器を含む他種のネットワークに広く適用可能である。グランドマスタクロック３０２は、ネットワークが同期される主要高精度タイミングソースを含む。１番目のバウンダリークロック３０４は、通常のＰＴＰスレーブ同期アルゴリズム３２０および標準ＰＴＰパケット３２２の交換を使用してグランドマスタ３０２にロックされる。１番目のバウンダリークロック３０４は、１つ前のクロック（この場合はグランドマスタ）に対する自身のクロック誤差を計算し、自身の「ステージクロック誤差」３１４を生成する。標準的なＰＴＰ実装では、このステージクロック誤差を直接使用してこのバウンダリークロックステージの位相ロックループを駆動する。しかし、この場合、バウンダリークロック３０４は、追加的な「グランドクロック誤差」信号３１２も受信する。このグランドクロック誤差信号をステージクロック誤差３１４と合計して、３１６で位相ロックループを駆動するための複合クロック誤差を生成し、合計は、更新後グランドクロック誤差信号３１８として次のバウンダリークロック３０６にも渡される。したがって、次のバウンダリークロック３０６に供給されるグランドクロック誤差３１８は、グランドマスタを基準としたバウンダリークロック３０４の誤差の指標を含んでいる。
【００２４】
定義上、グランドクロック基準誤差信号３１２は、グランドマスタ３０２から取られるためゼロの固定値が割り当てられる。後続の各バウンダリークロックは、標準ＰＴＰパケットと、前のステージで生じた誤差を有効に表すグランドクロック誤差信号の両方を受信する。例えば、バウンダリークロックｉ３０９は、バウンダリークロックｉ−１  ３０８とＰＴＰパケット３４８を交換し、バウンダリークロックｉ−１からグランドクロック誤差信号３４６を受信する。数学的には、このプロセスは下記のように表すことができる。
【００２５】
ＧｒａｎｄＣｌｏｃｋＥｒｒｏｒ（０）＝０；     （１）
ＳｔａｇｅＣｌｏｃｋＥｒｒｏｒ（ｉ）＝（ｓ２ｍＤｅｌａｙ（ｉ）−ｍ２ｓＤｅｌａｙ（ｉ））／２；   （２）
ＧｒａｎｄＣｌｏｃｋＥｒｒｏｒ（ｉ）＝ＧｒａｎｄＣｌｏｃｋＥｒｒｏｒ（ｉ−１）＋ＳｔａｇｅＣｌｏｃｋＥｒｒｏｒ（ｉ）      （３）
ここで、ＧｒａｎｄＣｌｏｃｋＥｒｒｏｒ（ｉ−１）は、ｉ番目のバウンダリークロックに受信されるグランドクロック誤差であり、ＧｒａｎｄＣｌｏｃｋＥｒｒｏｒ（ｉ）は、ｉ番目のバウンダリークロックによって送出される更新後のグランドクロック誤差信号である。ＳｔａｇｅＣｌｏｃｋＥｒｒｏｒ（ｉ）は、ｉ番目のバウンダリークロックのステージクロック誤差である。標準的なＰＴＰスレーブアルゴリズムと同様に、ｓ２ｍＤｅｌａｙ（ｉ）は、ｉ番目のバウンダリークロックについて通常の「Ｄｅｌａｙ＿Ｒｅｓｐｏｎｓｅ」メッセージから得られるスレーブ−マスタ方向の経路遅延であり、ｍ２ｓＤｅｌａｙ（ｉ）は、通常の「同期」メッセージから得られるマスタ−スレーブ方向の経路遅延である。
【００２６】
同期メッセージおよびＤｅｌａｙ＿ＲｅｓｐｏｎｓｅメッセージについてはＰＴＰプロトコルを参照して論じるが、本発明はこの標準を実装するシステムに限定されないことを理解されたい。本明細書で論じる同期メッセージおよび遅延応答メッセージは、同様にして同期を達成する他のメッセージ形式およびプロトコルを包含するものとする。例えば、本明細書に記載されるシステムおよび方法は、「ネットワーク時間プロトコル」（ＮＴＰ）バージョン４および他の同様の方法など、時間同期用の同様のプロトコルおよび機構にも等しく適用される。
【００２７】
ｎ番目のバウンダリークロック３１０は、ｉ番目のバウンダリークロック３０９からグランドクロック誤差３５６を受信するとともに、ｉ番目のバウンダリークロックから標準ＰＴＰメッセージ３６４も受信する。グランドクロック誤差３５６はｎ番目のステージクロック誤差３６０に加算され、ｎ番目のＰＴＰ同期ループ３５８へのフィードバック信号３６２として使用される。グランドクロック誤差信号３５６は各中間ステージにおいて更新されているので、最後のｎ番目のバウンダリークロック３１０は、先行する他のバウンダリークロックと同様に、基本的に直接グランドマスタ３０２自体にロックされる。
【００２８】
上記の実施形態では、グランドマスタ３０２は、（１）に示すように最初のグランドクロック誤差信号３１２を出力する。しかし、異なる製造者によるものなど、他の実施形態では、グランドマスタがグランドクロック誤差信号をサポートしない、またはグランドクロック誤差信号を出力するように構成されない場合がある。その場合、１番目のバウンダリークロックは、メッセージ形式を調べるか、または当技術分野で知られる他の機構を通じてそのことを検出しなければならない。そして、１番目のバウンダリークロックは、単に自身のステージクロック誤差を更新後のグランドクロック誤差３１８として使用し、２番目のバウンダリークロック３０６に渡す。そのような実装も本発明の範囲および主旨の範囲内にある。
【００２９】
（２）に示すＳｔａｇｅＣｌｏｃｋＥｒｒｏｒ（ｉ）の計算は単純な例に過ぎない。当業者は、パケット遅延の変動の影響を緩和するための他の変更またはアルゴリズムも認識されよう。それらも本発明の範囲および主旨の範囲内にある。
【００３０】
本発明の実施形態によるネットワークの通常動作時には、すべてのバウンダリークロックが（２）および（３）に従ってグランドクロック誤差を受信、更新、および送信する。それにより、各バウンダリークロックで生じた誤差がグランドクロック誤差信号に反映されるという点で、各バウンダリークロックがその他のバウンダリークロックに対して「不可視」になり、グランドクロック誤差信号は、単純なアルゴリズムを通じて以降のオーディナリークロックまたはバウンダリークロックで取得することができる。一部の実施形態では、個々のバウンダリークロックが、自身のステージクロック誤差が何らかの理由で信頼できないとみなす場合がある。その場合、バウンダリークロックは、受信したグランドクロック誤差を自身のステージクロック誤差で更新するのではなく、単に受信したグランドクロック誤差を次に回すことを選択してよい。そのようにする場合、その特定のバウンダリークロックに関連する誤差は、以降のステージ自体がなお相互に不可視であっても以降のバウンダリークロックステージに対して「可視」になる。すなわち、以降のバウンダリークロックは、その可視のバウンダリークロックステージ、かつそのバウンダリークロックステージのみの誤差を受けることになる。可視のバウンダリークロックが通常の動作に戻り、自身のステージクロック誤差を含めた更新後のグランドクロック誤差を渡し始めると、バウンダリークロックは再び不可視になる。そして、下流のクロックはすべて、再びグランドマスタ３０２にロックされる。このように、ここに開示されるロッキングの構成および方法は効果的で安定している。上記の実施形態はすべてのバウンダリークロックが上記の意味で「不可視」であることを想定するが、一部のバウンダリークロックが「可視」である他の実施形態も可能であり、そのような実施形態も本発明の範囲および主旨の範囲内にある。
【００３１】
詳細には、一実施形態では、バウンダリークロックステージ内の処理要素は、タイムアウトユニットを含む。タイムアウトユニットは、前のステージから受信されたグランドクロック誤差を格納するメモリおよびタイムアウトカウンタを含んで構成される。タイムアウトカウンタは、前のステージからグランドクロック誤差が受信されるたびに初期値にリセットされる。そして、タイムアウトカウンタは、初期値から固定のレートでカウントダウンする。メモリに保存されたグランドクロック誤差は、タイムアウトカウンタがまだゼロに達していない限り、そのバウンダリークロックステージを同期するために使用される。すなわち、タイムアウトユニットは、バウンダリークロックが、設定可能な特定の時間よりも古くないグランドクロック誤差信号を使用することを保証する。
【００３２】
（３）に示すＧｒａｎｄＣｌｏｃｋＥｒｒｏｒ（ｉ）の計算は単純な例に過ぎない。当業者は、グランドマスタ３０２に対するバウンダリークロックｉ３０９のクロック誤差の正確な推定を達成するための他の変更またはアルゴリズムも認識されよう。そのような変更またはアルゴリズムも本発明の範囲および主旨の範囲内にある。
【００３３】
さらに、バウンダリークロック誤差の蓄積を解消または低減するためのバウンダリークロック間の他種のクロック誤差情報の計算および送信も、本発明の範囲および主旨の範囲内にある。
【００３４】
好ましい実施形態では、グランドクロック誤差は、スレーブ・ロッキング・アルゴリズムが有効に機能するのに十分なレートで送信されるべきである。すなわち、１番目のステージバウンダリークロックによって送信された１番目のグランドクロック誤差が最後のステージバウンダリークロックに到達するのに要する時間は、最後のバウンダリークロックが自身のスレーブ追跡アルゴリズムに基づいて正確にグランドマスタにロックし、グランドマスタを追跡できるのに十分な短さでなければならない。一例として、グランドクロック誤差が毎秒３０回のレートで各バウンダリークロックから送出される場合、１番目のバウンダリークロックのグランドクロック誤差が３０番目のステージに到達するのに要する最も長い時間はおよそ１秒である。この時間差は、位相ロックループに基づく多くのＰＴＰスレーブアルゴリズムには十分に短い。したがって、原則として、グランドクロック誤差信号の好ましい送信レートは、縦続チェーンに含まれるバウンダリークロックの最大数に応じて決まる。上記では３０個のステージおよび３０Ｈｚのグランドクロック誤差レートの実装について述べたが、他の実施形態が可能であり、同様に本発明の範囲および主旨の範囲内にある。詳細には、最初のステージからｎ番目のステージまでの遅延が１秒以外の実施形態も可能である。
【００３５】
別の好ましい実施形態では、システム資源を節減するために、グランドクロック誤差を格納および送信するために必要な総ビット数を制限しながらグランドクロック誤差を十分な精度で維持する。一実施形態では、グランドクロック誤差はナノ秒単位で測定され、２５６が乗算される。それにより、１／２５６ナノ秒のグランドクロック誤差精度が得られる。グランドクロック誤差を表すために使用される総ビット数は６４ビットに設定される。他の実施形態では、ビット数は３２ビットまたはそれ以下に減らすことができる。他の精度値を有する実施形態も本発明の範囲および主旨の範囲内にある。
【００３６】
一実施形態では、グランドクロック誤差は、特殊な追加パケットまたはメッセージとしてバウンダリークロック間に配布される。別の実施形態では、グランドクロック誤差は、既存のネットワークメッセージに付加することができる。一例として、ＰＴＰ標準では、既存の「Ｄｅｌａｙ＿Ｒｅｓｐｏｎｓｅ」メッセージにＴＬＶ拡張を追加し、それを使用してグランドクロック誤差メッセージを伝達することができる。さらに、ＴＬＶ拡張は、すべての「Ｄｅｌａｙ＿Ｒｅｓｐｏｎｓｅ」メッセージで、または帯域幅消費を減らすために数個おきの「Ｄｅｌａｙ＿Ｒｅｓｐｏｎｓｅ」メッセージで送信することができる。グランドクロック誤差情報を固定レートまたは可変レートで分配する他の方法も可能であり、本発明の範囲および主旨の範囲内にある。
【００３７】
ネットワーク内の揺らぎの蓄積を解消するための装置および方法のいくつかの実施形態を上記で説明した。当業者は、分配されるタイミング参照の精度を改善するためのそのようなシステムの他の変更、実施形態、および応用例も認識されよう。それらも本発明の範囲および主旨の範囲内にある。
【符号の説明】
【００３８】
１０２  マスタユニット
１０４  スレーブ機器
１０６  メッセージ
１０８  パケット
１１０  パケット
２０２  グランドマスタクロック
２０４  バウンダリークロック
２０６  バウンダリークロック
２０８  バウンダリークロック
２１０  バウンダリークロック
３０２  グランドマスタクロック
３０４  バウンダリークロック
３０６  バウンダリークロック
３０８  バウンダリークロック
３０９  バウンダリークロック
３１０  バウンダリークロック
３１２  グランドクロック誤差信号
３１４  ステージクロック誤差
３１８  グランドクロック誤差信号
３２０  同期アルゴリズム
３２２  ＰＴＰパケット
３４６  グランドクロック誤差信号
３４８  ＰＴＰパケット
３５６  グランドクロック誤差
３５８  ＰＴＰ同期ループ
３６０  ステージクロック誤差
３６２  フィードバック信号
３６４  ＰＴＰメッセージ
【図２】
2012222833.tif 000003
【図３】
2012222833.tif 000004
【図１】
2012222833.tif 000005