(57)【要約】【課題】ネットワークを介した時間同期化の手法を提案する。【解決手段】ネットワーク内の受信側装置１３に、同期化可能なクロックを備え、同じ瞬間（または比較的同じ瞬間）に該クロックのすべてによって受信される「インパルス」信号を定期的に送る。インパルス信号は、すべてのクロックにほぼ同時に到達する。送信側装置は、該同期化インパルス信号を受信すると、該送信側装置のエポックタイムスタンプを運ぶデータのパケットを、受信側装置に送信する。該データパケットは、ネットワークを介して該受信側装置へと進み、該受信側装置は、該タイムスタンプを使用して、受信側装置のエポックタイムと送信側装置のエポックタイムとの間の差を計算する。【選択図】図１
2006319972.tif 000002
【特許請求の範囲】
【請求項１】
タイミング制御信号を実質的に同時に受信するようにそれぞれが構成された、ネットワークの送信側装置（１２）および受信側装置（１３）と、
前記送信側装置のコントローラ（１２１）であって、前記タイミング制御信号の受信に関連づけられた既知の定まった時間において、ネットワークを介して前記送信側装置から前記受信側装置に送信されるメッセージに、タイムスタンプを押すように動作可能であり、該タイムスタンプは、該送信側装置のエポックタイムである、コントローラと、
前記受信側装置のコントローラ（１３１）であって、受信した前記メッセージのうちの１つから、前記タイムスタンプが押されたエポックタイムと、該受信側装置における前記タイミング制御信号の受信の前記定まった時間から計算された通過時間とに基づいて、前記受信側装置のエポックタイムと前記送信側装置のエポックタイムとの間の差を求めるよう動作可能なコントローラと、
を備えるネットワーク同期化システム。
【請求項２】
前記定まった時間は、前記送信側装置が前記時間制御信号を受信した際の時間である、
請求項１に記載のシステム。
【請求項３】
前記送信側装置は、複数の前記受信側装置にメッセージを送信し、該メッセージのそれぞれは、該送信側装置のエポックタイムのタイムスタンプを運び、
前記メッセージのそれぞれは、前記タイミング制御信号の受信から、既知の異なるオフセットされた時点で送信される、
請求項１に記載のシステム。
【請求項４】
前記受信側装置においてクロック（１３０）をさらに備え、
前記コントローラは、前記受信側装置のクロックのドリフトを調節するためにドリフト計算（３１４）を行い、該ドリフト計算は、前記求められたエポックタイムの差に基づく、
請求項１に記載のシステム。
【請求項５】
前記タイミング制御信号は、無線ＲＦ、ケーブルワイヤ、音声、振動、光からなるリストから選択された機構によって、前記クロックに送信される、
請求項１に記載のシステム。
【請求項６】
前記タイミング制御信号は、電子カウンタ、局部発振器、ＰＬＬ、周波数ジェネレータ、ＧＰＳ受信機からなるリストから選択された機構によって生成される、
請求項１に記載のシステム。
【請求項７】
空間的に離れたネットワーク要素におけるクロックを同期化する方法であって、
実質的に同時にクロックに到着するインパルスを、複数の該クロックに送信するステップ（３０１、３１０）と、
前記クロックのうちの１つで前記インパルスが受信されると、送信側のクロック（１２０）のエポックタイムを有するメッセージを、ネットワーク装置（１１１）を介して、少なくとも１つのターゲットクロック（１３０）に送信するステップ（３０２）と、
前記メッセージをターゲットクロックで受信すると、該ターゲットクロックにおいて、前記タイムスタンプに含まれる前記送信側クロックのエポックタイムを使用して、該ターゲットクロックのエポックタイムと該送信側クロックのエポックタイムとの間の差を計算するステップ（３１４）と、
を含む、方法。
【請求項８】
前記計算は、
前記ターゲットクロックのエポックタイムを前記送信側クロックのエポックタイムと比較するステップと、
前記タイムスタンプを運ぶメッセージのネットワーク通過時間について調節するステップと、
を含む、請求項７に記載の方法。
【請求項９】
前記調節は、
前記インパルスの受信から、前記メッセージが前記ターゲットクロックに到着した時間までに経過した時間をカウントすることを含む、
請求項８に記載の方法。
【請求項１０】
前記送信側ポート（１２）から受信したタイムスタンプが押されたメッセージから、該タイムスタンプが押されたエポックタイムと、或るポートおよび前記送信側ポートの両方で同時に受信されたタイミング制御信号の受信（３０１、３１０）に関連づけられた既知の定まった時間から計算された通過時間とに基づいて、該或るポートのエポックタイムと前記送信側ポートのエポックタイムとの間の差を求めるコントローラ（１３１）を備える、
ネットワーク内で使用するポート回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は時間の同期化に関し、より具体的には、ネットワーク全体の時間同期化システムおよび方法に関する。
【背景技術】
【０００２】
コンピュータネットワーク環境において時間の同期を達成することは、課題の多いタスクである。ＰＣ／ワークステーション／サーバ、ルータ／スイッチ、ＶｏＩＰ電話など、ネットワーク内の様々な要素は、同期のためのエポックタイム（epoch time）を得るために、ＮＴＰ（ネットワークタイムプロトコル）を使用する。ＮＴＰ時間の精度は、数十ミリ秒のオーダである。多くの場合では、これで十分である。しかし、プロセスオートメーションでは要件がより厳しく、ネットワーク装置間の時間同期化は、サブマイクロ秒のオーダの精度が必要とされる。
【０００３】
ＧＰＳシステムを使用して、この精度を達成することができるが、良好な視界の空の下でアンテナを使うという要件があるため、すべての場所でＧＰＳ信号の利用可能性が確実に得られるわけではない（およそ５０ｎｓｅｃ）。一方向のパケット遅延を測定するネットワーク性能測定の用途では、精度は、サブミリ秒のオーダでなければならない。したがって、或るネットワークの所定のポイントにＧＰＳを配置して該ネットワークの測定を行うことは可能ではあるが、上記のように、ＧＰＳ信号は、該ネットワークのすべての場所で利用可能というわけではない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、プロセスオートメーション産業は、種々の装置間の時間同期を行なうためにＩＥＥＥ１５８８標準の採用を開始した。ＩＥＥＥ１５８８の現在の形式は、典型的にはＬＡＮセグメントである、非常に小さなネットワークに限定されている。ＩＥＥＥ１５８８を広域ネットワーク全体に採用するためには、ネットワーク要素に大きな投資が必要となる。プロセスオートメーションについては、ＩＥＥＥ１５８８同期メッセージを伝播する際の遅延を避けるスイッチの作成を専門とする会社がいくつかある。しかし、特にルータ製造業者などの他の製造業者は、ネットワーク要素内で待ち行列（キュー）となっている遅延を扱うために、ＩＥＥＥ１５８８標準の解決手法を採用することは、経済的に困難であると判断している。
【０００５】
ＩＥＥＥ１５８８には、ネットワークのスイッチングおよびルーティング要素で遅延を回避する方法が２つある。１つは、バウンダリ・クロック(boundary clock)を使用する方法であり、もう１つは、高優先順位(high priority)メッセージを使用する方法である。バウンダリ・クロックを使用すると、一部のメッセージは、タイムスタンプ、すなわち、クロックの同期を試みている装置のエポックタイムを搬送する。このプロトコルは、このような装置間の通信が遅延に関して対称的であれば、よく機能する。
【０００６】
スイッチング／ルーティングのネットワーク要素が予測不能の遅延を加えた時など、経路が非対称になる場合には問題が生じる。このようなシステムでは、送信側装置（装置Ａ）が、マスタクロックであり、装置Ｂ（受信側装置）のクロックを同期化する。スイッチ／ルータにおける待ち行列を避けるために、ＩＥＥＥ１５８８メッセージを、ＭＡＣ／ＰＨＹ層に迂回させ(divert)なければならない。まず、バウンダリ・クロックは、スレーブとして装置Ａのクロックと同期化し、ついで装置Ａのクロックは装置Ｂに対してマスタクロックとなり、装置Ｂは、自身のクロックをバウンダリ・に同期化させる。この解決法は、ＭＡＣ／ＰＨＹチップの修正と、すべての存在しうるポートを管理するためのシングルクロックを必要とする。これは、バスアーキテクチャを伴うスイッチ／ルータでは、多少の労力で可能であるが、クロスバーアーキテクチャを伴うスイッチ／ルータ上でこれを行うことは、かなり困難である。したがって当面の間は、この解決法は複雑でコストがかかるため、このような変更が交換網に実装されるかどうかは疑わしい。しかし、スイッチのコストがインターネットのものよりはるかに高い（そして消費者の経済的リターンが高い）プロセスオートメーションなどの一部の状況では、こういった方式を実装する自由があるかも知れないが、データネットワークにおいては、クロックの同期化は依然として問題である。
【課題を解決するための手段】
【０００７】
ネットワーク内の受信側装置に、同期化可能なクロックを備えることによって、同じ瞬間（または比較的同じ瞬間）に該クロックのすべてによって受信される「インパルス(impulse)」信号を定期的に送ることができる。インパルスクロックの精度は高くなくてもよく、この信号がすべてのクロックにほぼ同時に到達すればよい。一実施形態では、送信側装置は、同期化インパルス信号を受信すると、該送信側装置のエポックタイムスタンプを運ぶデータのパケットを、受信側装置に送信する。該データパケットは、ネットワークを介して該受信側装置へと進み、該受信側装置は、該タイムスタンプを使用して、受信側装置のエポックタイムと送信側装置のエポックタイムとの間の差を計算する。この方法により、効果的に、未知のネットワーク通過（トランジット）時間を計算式から除外することができ、これら装置が同期化して動作することを可能にする。
【発明を実施するための最良の形態】
【０００８】
図１は、装置１２および１３に、同期化される２つの装置クロック１２０および１３０を有する、本発明の概念の一実施形態１０を示す。図からわかるように、クロック１２０および１３０は、種々の周波数／波長、変調方式（たとえば８０２．１１、ブルーティース、ＴＶ  ＲＦなど）の、有線、光（空気またはファイバのいずれを介してもよい）、または無線技術を介して、または、インパルスなどの変動を介して、同期信号を受信する機能を有する。該同期（タイミング制御）信号は、ＧＰＳシステムの場合のように、クロックを直接的かつ実際に同期化する信号ではない。ＧＰＳシステムにおいては、ＧＰＳは、毎秒インパルスを送信し、該インパルスには、アライメントの目的のために、異なるチャネル（ＲＳ２３２）を介して或る値（エポックタイム）が続く。ここでの同期信号は、むしろ、特定のイベントが発生したことを示す。この特定のイベントに基づいて、同期化されるべきクロックは、システムのマスタクロックの時間からどれくらい離れているかを知る。
【０００９】
ＳＧ１１０などの同期ジェネレータ（ＳＧ）を使用して、同期信号を提供する。ＳＧ１１０は、スイッチ／ルータ要素１１の一部であってもよいし、該要素の外側にあってもよい。ＳＧ１１０は、イベントを定期的に信号で送る。たとえば、受信信号などの別のイベントに基づいて、同期信号を各クロック位置で生成することができ、その後、各クロックは、この信号から「カウントダウン」して、自分自身の同期パルスを生成する。
【００１０】
クロック１２０および１３０（および同期されるべき他のクロック）は、ルータ／スイッチのラインカード(linecard)上にあってもよいし、スマートギガビットインタフェースコンバータ（ＧＢＩＣ）内にあってもよいし、任意の他の場所にあってよい。スイッチ／ルータドメイン外にあるクロックは、ＩＥＥＥ１５８８を使用して、他のものと同期を取ることができる。任意のスイッチ／ルータポートクロック、例えばマスタポートクロックは、ＳＧとして機能することができる。同期化されるべきクロックがスマートＧＢＩＣの内部にある場合、ＳＧは、スマートＧＢＩＣクロックのうちの１つであってもよいことに注意されたい。ＳＧは、赤外線受信機を介してクロックが受信する赤外線ストロボ装置であってもよいし、また、インパルスは、音または振動であってもよい。ＳＧ信号の周波数は、所望とする同期化の精度に依存するが、以下に説明するように、ＳＧ自体の安定性は問題ではない。スイッチ／ルータの実装では、ＳＧは、その信号がスイッチ／ルータポートに伝搬されるバックプレーンクロックであってもよい。場合によっては、ＳＧ信号の周波数（頻度）は、およそ１秒であることができるが、場合によってはもっと多くてもよい。
【００１１】
１つの重要な側面は、特定のスイッチ／ルータに関連付けられたすべてのクロックが、ほぼ同じ瞬間にＳＧ信号を受信しなければならない、ということである。場合によっては、インパルスがすべての装置に同時に到着するように、該インパルスの遅延を常時調節することが可能である。しかし、数ナノ秒の範囲の伝播遅延など、一部の遅延は許容される。
【００１２】
場合によっては、システムは、分散１５８８バウンダリ・クロック構成(distributed 1588 boundary clock arrangement)として使用されることができる。なぜなら、このような装置は、１ビットを周期ベースで送信する低待ち時間／低ジッタの短距離通信経路を有するためである。すべての受信機は、これらの「同期イベント」にタイムスタンプを付けることができる。このような分散システムの重要な側面は、１ビットインパルス信号の通信経路が低ジッタである、ということである。このようなシステムでは、リモート１５８８マスタは、ワイヤまたはファイバを介して、リモートマスタに対してスレーブであるスマートＧＢＩＣに直接接続される。リモートＧＢＩＣは、正常な１５８８メッセージを使用して、自身のクロックを、リモートマスタに対して同期化させる。リモートＧＢＩＣは、同期イベント（インパルス）を見て、それにタイムスタンプを付ける。このクロックは、マスタに同期化されるので、マスタが同期イベントを見ることができるほど十分に近ければ、このタイムスタンプは、マスタが記録する値と本質的に同じ値となる。また、すべてのローカルクロックによって同期イベントが本質的に同時に受信されるという仮定のもとでは、同期イベントを見るすべてのローカルクロックもまた、ローカルタイムスタンプを生成する（関連する同期精度内で）。その後、スレーブＧＢＩＣは、同じ同期イベントを見たすべてのローカルクロックに、自身のタイムスタンプを伝える。この通信は、高ジッタであってもよく、ネットワーク要素を通過すると想定される。このメッセージを受信するすべてのローカルクロックは、スレーブＧＢＩＣをトラッキング（追跡）するよう、自分自身のローカルクロックを調節する。
【００１３】
図１に示すように、動作においては、ポートＡ（１２）クロック１２０がマスタであり、ポートＢ（１３）のクロック１３０を同期化しなければならない、と仮定する。このプロセスは、ポートＡが時間同期メッセージ（ＴＳＭ）、すなわち、ポートＡのエポックタイムスタンプを埋め込んだメッセージを、ポートＢに送信することによって開始する。ポートＡがＳＧソース１１０からＳＧ信号を受信するとすぐに、タイムスタンプが押されて該メッセージが送信される。示されるように、ＴＳＭは、送信側ポートのエポックタイムを運ぶので、すべてのスレーブクロックは、パケットがいつ送信されたかを知り、送信側ポートのエポックタイムを知ることとなる。このため、ＴＳＭは、問題を生じさせることなく、たとえばパケットキュー１１１において、スイッチ／ルータにより遅延されることができる。
【００１４】
例えば、コントローラ（１２）の制御下で、ポートＡのタイムスタンプと共に送信されたパケットは、ポートＢ（１３）、およびクロックを同期化すべきほかのすべてのポートで捕捉される。ポートＢは、パケットが開始した時を知っており（ポートＡが、ポートＢと同様に同じＳＧ信号を受信した時に、パケットは開始したので）、また、パケットがポートＡのタイムスタンプを有しているので、ポートＢは、パケットを受信すると、該パケットがポートＢに着いたときにポートＢのクロックがポートＡのクロックよりどれくらい進んでいるか（または遅れているか）を判断することができる。
【００１５】
図２Ａは、パケット２０１が、ポートＡから、たとえばポートＡのエポックタイム１５：０６：０３．８で送信されたことを示す図である。ポートＢに到着するのに、８つの測定をとる（この場合、１秒の１０分の１である）。ＴＳＭが到着すると、ポートＢは、たとえば１５：０６：０５．２など、それ自身のエポックタイムをマークする。
【００１６】
図２Ｂは、たとえば図１のコントローラ１３１によりポートＢにおいて行われる計算であって、ポートＢのクロックがポートＡのクロックよりどれくらい離れているかを求めるための計算を示す。こうして、図示するように、パケット２０１の実際の到着時間は、クロック１３０（ポートＢ）から見ると、１５：０６：０５．２である。通過（移動、transit）時間は０．８であり、これは、ポートＢとポートＡに同時に到着したＳＧ信号から、ポートＢによりカウントされる（たとえばコントローラ１３１により）。ＴＭＳがポートＡから送信された時間である、送信時間（ポートＢの計算による）は、１５：０６：０４．４である。実際の送信時間（パケット２０１に含まれる）は、１５：０６：０３．８である。こうして、ポートＢは、ポートＢにおけるクロック１３０がポートＡにおけるクロック１２０より０．６早く動いていると計算することができる。
【００１７】
ＳＧ信号が到着したときに１つのパケットがきちんと送信されると予測することができるが、受信側ポートが、どの「瞬間(trick)」に該パケットが送信されるかを知るかぎり（これは、場合によっては、パケットメッセージ内のタイムコードにあってもよいし、または、何らかのシステム要件であってもよい）、および、次のＳＧ信号がポートＢに着く前にメッセージが到着するかぎり、パケットの送信は任意の「瞬間」であってよい。また、受信側ポートがどの「瞬間」が現在使われているかを知っていれば、メッセージを、異なる「瞬間」に異なるポートに送信することができる。
【００１８】
複数のスレーブクロック（複数のポート）がある場合、ポートＡは、個々のメッセージを各スレーブクロックに送信することとなる可能性が最も高い。なぜならば、ポートが別個のサブネット上にあると、ブロードキャストまたはマルチキャストを実現できないことがあるからである。
【００１９】
スマートＳＧＢＩＣ実装では、すべてのＳＧＢＩＣが、外部ワイヤを介してデージーチェーン（縦続）になっている場合がある。或る専用のスマートＧＢＩＣは、時間同期メッセージをＵＤＰパケットとして送信することにより、ＳＧ信号もマスタクロック信号も、すべてのスマートＧＢＩＣに提供することができる。
【００２０】
ＳＧがルータ／スイッチ装置内にあり、ＳＧＢＩＣがそのポート内に配置されている場合は、同期パルスをスレーブＳＧＢＩＣに送信する構成が必要とされる。これは、信号を、通常のＧＢＩＣ／ＳＦＰソケット上の既存のトラックのうちの１つに送信することによって、可能である。例えば、ＧＢＩＣからホストに出力される信号ロスは、ホストボード(host board)でプルアップされる（引き上げられる）オープンコレクタ(open collector)信号である。ＧＢＩＣが信号ロス状態を示すと、抵抗は電圧レベルをプルアップし、論理１を形成する。受信した信号が良好である場合、ＧＢＩＣまたはＳＦＰは、信号を低電圧にプルダウンし、論理０を表す。ホストがプルアップ抵抗の電圧レベルを変調する場合、適切に装備されたＳＧＢＩＣならば、この変調を検出することができる。しかしながら、修正が施されていないＧＢＩＣまたはＳＦＰの場合には、この変動を検出できず、通常の信号ロス機能は妨害されないであろう。
【００２１】
ＳＧ信号をインパルスと考える場合、この「インパルス」は、外部で作成されてもよいし、マスタからスレーブ（複数可）に送信されるパケットの統計測定値から導出されてもよい。統計測定値を使用してすべてのクロックを同じ周波数と位相に同期化すると、インパルスは、すべてのポートが同時に気づくように導出されることができる（たとえば１秒のインパルス）。
【００２２】
図３Ａは、マスタポートにおける、同期化を開始するプロセスの一実施形態３０を示す。プロセス３０１は、ＳＧインパルスの受信を待つ。ＳＧインパルス信号が受信されると、プロセス３０２は、ポートＡのクロック１２０と協働してタイムスタンプし、メッセージパケットをポートＢに送信する。必要に応じて、プロセス３０３および３０４において、他の装置にパケットを送信する。これらの信号は、シーケンシャルなＳＧパルスであってもよく、同じＳＧパルス内の「フォーカス(focus)」をいくつか「オフセット」したものでもよい。
【００２３】
図３Ｂは、スレーブポートＢにおける、同期化を終了するプロセスの一実施形態３１を示す。プロセス３１０では、ポートＢは、インパルス信号の受信を待つ。インパルス信号が受信されると、プロセス３１１では、クロック１３０によって維持される、インパルス信号の時間をマーク（記録）する。この「時間」は、プロセス３１２において捕捉される、ポートＢのエポックタイムとなる。
【００２４】
プロセス３１３では、タイムスタンプが押されたメッセージをマスタポートから受信した時を判断し、自身のエポックタイムを使用して到着時間を記録する。その後、図２Ｂに示すように、プロセス３１４では、クロックＡに対するクロックＢのドリフトを計算する。プロセス３０５では、ドリフトを補正するのに必要な何らかの調節を、クロックＢに対して行う。
【００２５】
同期化の正確さは、インパルス信号と、ポートＡからのタイムスタンプを伴うメッセージの受信との間の間隔に依存する。スレーブクロックは、マスタと比べて各々ドリフトし、ドリフトレート（ドリフトの度合い）は、スレーブクロック自体の性質によって制御される。各スレーブクロックが、どれくらいドリフトしているのかを知ってから該ドリフトを調節するので、すべての調節を１度に行うか、または所定時間に渡って行うように、各クロック調節をポートごとに個々に行うことが可能になる。この調節は、ＳＧインパルス間で測定されたドリフトレートを使用して行われることができ、よって、或る一時点で補正すべき量を判断することができる。これにより、或る任意のサイクルで大きな調節をする必要性が除去される。
一実施形態においては、ＳＧ信号は、無線ＲＦ、ケーブルワイヤ、音声、振動、光のうちの選択された機構によって、クロックに送信される。また、一実施形態においては、ＳＧ信号は、電子カウンタ、局部発振器、ＰＬＬ、周波数ジェネレータ、ＧＰＳ受信機のうちの選択された機構によって生成される。
【００２６】
本発明および本発明の利点を詳細に説明したが、特許請求の範囲が規定する本発明の精神および範囲から離れることなく、本明細書において、種々の変更、置換、代替が可能であることを理解されたい。さらに、本出願の範囲は、本明細書に記述されたプロセス、機械、製造、材料の組成、手段、方法、ステップの特定の実施形態に限定することを意図したものではない。当業者であれば本発明の開示から容易に理解されるように、本明細書に記述されている対応する実施形態と実質的に同じ機能を行うかまたは実質的に同じ結果を達成することのできる、既存または今後開発されるプロセス、機械、製造、材料の組成、手段、方法、ステップを、本発明にしたがって使用することができる。従って、特許請求の範囲中にこのようなプロセス、機械、製造、材料の組成、手段、方法、ステップを含めることを意図したものである。
【図面の簡単な説明】
【００２７】
【図１】同期化すべき２つの装置クロックを有する、本発明の概念の一実施形態を示す図。
【図２Ａ】クロックの同期化のために行う計算を説明する図。
【図２Ｂ】クロックの同期化のために行う計算を説明する図。
【図３Ａ】クロック同期化を確立するプロセスの一実施形態を示す図。
【図３Ｂ】クロック同期化を確立するプロセスの一実施形態を示す図。
【符号の説明】
【００２８】
１２、１３  装置
１１０  同期ジェネレータ
１２０、１３０  装置クロック
２０１  パケット
【図１】
2006319972.tif 000003
【図２Ａ】
2006319972.tif 000004
【図２Ｂ】
2006319972.tif 000005
【図３Ａ】
2006319972.tif 000006
【図３Ｂ】
2006319972.tif 000007