(58)【調査した分野】(Int.Cl.,DB名)
スレイブポート(101、303、404、504)、マスターポート(102、304、403、503)およびローカルクロックを含むクロックモジュール(100、300、400、500)を使用して、時間基準をパケット交換ネットワーク内の少なくとも1つのクロックに配信する方法であって、
スレイブポート(101、303、404、504)において第1の同期パケット(Sync(t1))を受信するステップであって、前記第1の同期パケット(Sync(t1))の送信元から前記スレイブポート(101、303、404、504)までの伝送遅延が予め測定されており、第1の同期パケットが第1のマスタークロックタイムスタンプ(t1)を含み、クロックモジュール(100、300、400、500)に向けられる、受信するステップと、
第1のマスタークロックタイムスタンプ(t1)を含む少なくとも1つの内部信号(Service_Sync)を生成するステップと、
少なくとも1つの内部信号(Service_Sync)をマスターポート(102、304、403、503)に送信するステップと、
マスターポート(102、304、403、503)において少なくとも1つの内部信号(Service_Sync)を受信するステップと、
クロックモジュール(100、300、400、500)を通る信号(Service_Sync)の内部伝播時間を決定するステップと、
マスターポート(102、304、403、503)において少なくとも1つの内部信号(Service_Sync)と共に受信された第1のマスタークロックタイムスタンプ(t1)と、前記伝送遅延と、決定された内部伝播時間との合計に基づいて第2のマスタークロックタイムスタンプ(T1)を計算するステップと、
マスターポート(102、304、403、503)において、計算された第2のマスタークロックタイムスタンプ(T1)を含む第2の同期パケット(Sync(T1))を生成するステップと、
第2の同期パケット(Sync(T1))をパケット交換ネットワーク内の少なくとも1つの他のクロック(104、409、509)に送信するステップと
を含む方法。
クロックモジュール(100、300、400、500)を通る信号(Service_Sync)の内部伝播時間を決定するステップが、信号(Service_Sync)の内部伝播時間の予め定められた値を選択するステップを含む、請求項1に記載の方法。
第1の同期パケット(Sync(t1))がスレイブポート(101、303、404、504)によって受信されるローカルクロックの第1のローカルタイム(t2)を記録するステップと、
内部信号(Service_Sync)がマスターポート(102、304、403、503)によって受信されるローカルクロックの第2のローカルタイム(t2’)を記録するステップとをさらに含み、クロックモジュール(100、300、400、500)を通る信号(Service_Sync)の内部伝播時間を決定するステップが、第2のローカルタイム(t2’)から第1のローカルタイム(t2)を減算するステップを含む、
請求項1に記載の方法。
内部伝播決定手段が、信号(Service_Sync)の内部伝播時間の予め定められた値を選択するように構成された手段を含む、請求項7に記載のクロックモジュール(100、300、400、500)。
内部信号生成手段が、第1のマスタークロックタイムスタンプ(t1)がエンコードされるリアルタイム信号を生成するための手段をさらに含む、請求項8に記載のクロックモジュール(100、300、400、500)。
内部信号生成手段が、第1のマスタークロックタイムスタンプ(t1)を含むフォローアップパケットを生成するための手段をさらに含む、請求項8に記載のクロックモジュール(100、300、400、500)。
第1の同期パケット(Sync(t1))がスレイブポート(101、303、404、504)によって受信されるローカルクロックの第1のローカルタイム(t2)を記録するように構成された記録手段と、
内部信号がマスターポート(102、304、403、503)によって受信されるローカルクロックの第2のローカルタイム(t2’)を記録するように構成された記録手段と
をさらに備え、
内部伝播時間決定手段が、第2のローカルタイム(t2’)から第1のローカルタイム(t2)を減算することにより信号(Service_Sync)の内部伝播時間を決定するように構成されている、
請求項7に記載のクロックモジュール(100、300、400、500)。
内部信号生成手段が、第1のマスタークロックタイムスタンプ(t1)を含むパケット(Service_Sync)を生成するように構成されている、請求項11に記載のクロックモジュール(100、300、400、500)。
パケット交換ネットワーク内の少なくとも1つの他のクロックの少なくとも1つから遅延要求メッセージを受信し、内部伝播時間を使用して、パケット交換ネットワーク内の少なくとも1つの他のクロックの少なくとも1つに遅延応答を送信するようにさらに構成され、遅延応答がクロックモジュール(100、300、400、500)とパケット交換ネットワーク内の少なくとも1つの他のクロックの少なくとも1つとの間の伝送遅延を示す、請求項7から12のいずれか一項に記載のクロックモジュール(100、300、400、500)。
第1の同期パケットおよび第2の同期パケットがIEEE1588V2パケットである、請求項7から13のいずれか一項に記載のクロックモジュール(100、300、400、500)。
【背景技術】
【0002】
パケット交換ネットワーク内のいくつかの同期敏感アプリケーションには、基準時間および/または基準周波数をネットワーク全体にわたっていくつかのノードに配信するための方法および関連デバイスが必要である。さらに、相互運用可能なソリューションに到達するために、いくつかの規格が開発されてきた。
【0003】
そのような規格の1つは、ネットワーク全体にわたってマスターとスレイブとの連続対で編成されるクロックの階層型アーキテクチャを提示する、1588V2とも呼ばれる、IEEE1588−2008である。1588V2規格は、バウンダリークロック(BC)の概念とトランスペアレントクロック(TC)の概念とを導入し、定義している。これらの概念は、ネットワークノード上に追加される1588V2特徴から成り、ネットワークノードは、IPルータまたはイーサネット(登録商標)スイッチなど、任意のネットワーク要素である。本明細書の残りの部分では、1588V2モジュール(例えばBC)は、具体的には、前述の特徴を指すが、包括的には、1588V2メッセージを他の遠くの1588V2モジュールに伝達することに関与するサポーティングネットワーク要素(例えばIPルータ)も含む。
【0004】
BCおよびTCは両方とも複数の通信ポートから成るネットワークノードにおいて実装されるので、それらは複数のPTP(プレシジョンタイムプロトコル−1588プロトコルに与えられた別の名称)ポートを提供するはずである。1588V2規格は、PTPポートとサポーティングネットワークノード通信ポートとの間にいかなる特定のマッピング(例えば1対1のマッピング)も課さない。この詳細は、実装固有である。
【0005】
機能的には、BCは、同期信号(例えば1588V2イベントメッセージ)を送出しない。その代わり、BCは、ローカルに時間基準(すなわちグランドマスタークロックのタイムスケール)を回復し、次いで、この基準をクロック階層の下へ再配信する。通常、BCは、そのピアマスタークロックから、通常PTPメッセージと呼ばれるいくつかの同期メッセージを受信し、それらのメッセージを使用してそれ自体のクロックを同期する。回復された時間基準を配信するために、BCは、次いで、そのスレイブ(複数可)に送信される新しいPTPメッセージを生成する。
【0006】
BCの1つの利点は、BCは、グランドマスター(GM)クロックとして選ばれ、階層型クロックアーキテクチャの最上部に配置されるベスト候補マスタークロックを決定するために、ベストマスタークロックアルゴリズム(BMCA)として知られているものに関係することである。これは、クロック階層のより大きな柔軟性および自動再構成を可能にする。逆に、BCを使用することの主要な不利な点は、実装の点から複雑であることである。さらに、BCの関連雑音累積効果は、複雑なプロセスであり、達成可能な性能の点から依然として研究中である。
【0007】
他方、TCは、そのマスターからPTPメッセージを単に受信して、それをそのスレイブに転送する。しかし、TCは、PTPメッセージをそのスレイブに転送する前に、パケットにカプセル化されたPTPメッセージがTCを通過するのに要した時間を反映するようにPTPメッセージの訂正フィールドを修正する。
【0008】
TCを使用することにはいくつかの利点がある。例えば、TCは、BCに比べると、比較的簡単であり、効率がよい(例えば、一般的により低い雑音)。他方、TCは、いくつかの不利な点も提供する。これの重要な例の1つは、TCの使用は、プロトコル仕様および/またはプロトコル層分離原理の違反につながる可能性があることである。これは、TCがパケットペイロードの中のPTPメッセージのヘッダを修正するからであり、これは、TCがパケットの宛先ノードとして認識されないという事実にもかかわらずである。これは、「階層侵害」として知られている。
【0009】
1588V2規格は、最初は両方のタイプのクロックを規定していたが、これらの技術は次第にライバルとして認められるようになり、いずれかを試験および促進する競争圧力が産業団体および研究団体にかけられつつある。
【0010】
国際公開第2008/051123A1号は、クロック同期化のための方法であって、パケットの中のタイムスタンプが更新される方法を開示している。
【0011】
米国特許出願公開第2008/075217A1号は、オリジナル同期パケットが標準的インターフェースコンバータ(SIC)のいずれか1つを通過中に、オリジナル同期パケット内のタイムスタンプをオンザフライで修正することを教示している。
【0012】
米国特許出願公開第2004/258097A1号は、受信された同期テレグラムを、カスケード構造内の次のノードに回すことを開示しており、各ノードは、伝送時に発生した遅延時間の測定値を既存の信号に追加し、そのノードにおいて処理して既存の信号の中に入れる。
【発明の概要】
【課題を解決するための手段】
【0014】
従来技術に関連する問題を解決するために、本発明は、スレイブポート、マスターポートおよびローカルクロックを含むクロックモジュールを使用してパケット交換ネットワーク内の少なくとも1つのクロックに時間基準を配信する方法を提供し、本方法は、
スレイブポートにおいて第1の同期パケットを受信するステップであって、第1の同期パケットが第1のマスタークロックタイムスタンプを含み、クロックモジュールに向けられる、受信するステップと、
第1のマスタークロックタイムスタンプを含む少なくとも1つの内部信号を生成するステップと、
少なくとも1つの内部信号をマスターポートに送信するステップと、
マスターポートにおいて少なくとも1つの内部信号を受信するステップと、
クロックモジュールを通る信号の内部伝播時間を決定するステップと、
マスターポートにおいて少なくとも1つの内部信号と共に受信された第1のマスタークロックタイムスタンプと、決定された内部伝播時間との合計に基づいて第2のマスタークロックタイムスタンプを計算するステップと、
マスターポートにおいて、計算された第2のマスタークロックタイムスタンプを含む第2の同期パケットを生成するステップと、
第2の同期パケットをパケット交換ネットワーク内の少なくとも1つの他のクロックに送信するステップと
を含む。
【0015】
一実施形態では、クロックモジュールを通る信号の内部伝播時間を決定するステップは、信号の内部伝播時間の予め定められた値を選択するステップを含む。
【0016】
少なくとも1つの内部信号を生成するステップは、第1のマスタークロックタイムスタンプがエンコードされるリアルタイム信号を生成するステップを含んでもよい。
【0017】
代替として、少なくとも1つの内部信号を生成するステップはまた、第1のマスタークロックタイムスタンプを含むフォローアップパケットを生成するステップを含んでもよい。
【0018】
他の実施形態では、本方法は、
第1の同期パケットがスレイブポートによって受信されるローカルクロックの第1のローカルタイムを記録するステップと、
内部信号がマスターポートによって受信されるローカルクロックの第2のローカルタイムを記録するステップとをさらに含み、クロックモジュールを通る信号の内部伝播時間を決定するステップは、第2のローカルタイムから第1のローカルタイムを減算するステップを含む。
【0019】
好ましくは、少なくとも1つの内部信号を生成するステップは、第1のマスタークロックタイムスタンプを含むパケットを生成するステップを含む。
【0020】
本発明はまた、上記の方法を実行するためのコンピュータ実行可能命令を含むコンピュータプログラム製品を提供する。
【0021】
本発明はまた、パケット交換ネットワーク内の少なくとも1つのクロックに時間基準を配信するためのクロックモジュールを提供し、本クロックモジュールは、
ローカルクロックと、
第1の同期パケットを受信するように構成されたスレイブポートであって、第1の同期パケットが第1のマスタークロックタイムスタンプを含み、クロックモジュールに向けられる、スレイブポートと、
第1のマスタークロックタイムスタンプを含む少なくとも1つの内部信号を生成するように構成された内部信号生成手段と、
少なくとも1つの内部信号を受信するように構成されたマスターポートと、
少なくとも1つの内部信号をスレイブポートからマスターポートに内部で送信するように構成された内部信号送信手段と、
クロックモジュールを通る信号の内部伝播時間を決定するように構成された内部伝播時間決定手段と、
マスターポートにおいて少なくとも1つの内部信号と共に受信された第1のマスタークロックタイムスタンプと、決定された内部伝播時間との合計に基づいて第2のマスタークロックタイムスタンプを計算するための計算手段と、
マスターポートにおいて、計算された第2のマスタークロックタイムスタンプを含む第2の同期パケットを生成するように構成された同期パケット生成手段と、
第2の同期パケットをパケット交換ネットワーク内の少なくとも1つの他のクロックに送信するように構成された同期パケット送信手段と
を備える。
【0022】
一実施形態では、内部伝播決定手段は、信号の内部伝播時間の予め定められた値を選択するように構成された手段を含む。
【0023】
内部信号生成手段は、第1のマスタークロックタイムスタンプがエンコードされるリアルタイム信号を生成するための手段をさらに含んでもよい。
【0024】
代替として、内部信号生成手段は、第1のマスタークロックタイムスタンプを含むフォローアップパケットを生成するための手段をさらに含む。
【0025】
他の実施形態では、クロックモジュールは、
第1の同期パケットがスレイブポートによって受信されるローカルクロックの第1のローカルタイムを記録するように構成された記録手段と、
内部信号がマスターポートによって受信されるローカルクロックの第2のローカルタイムを記録するように構成された記録手段とをさらに備え、
内部伝播時間決定手段は、第2のローカルタイムから第1のローカルタイムを減算することにより信号の内部伝播時間を決定するように構成されている。
【0026】
好ましくは、内部信号生成手段は、第1のマスタークロックタイムスタンプを含むパケットを生成するように構成されている。
【0027】
好ましくは、クロックモジュールは、パケット交換ネットワーク内の少なくとも1つの他のクロックの少なくとも1つから遅延要求メッセージを受信し、内部伝播時間を使用して、パケット交換ネットワーク内の少なくとも1つの他のクロックの少なくとも1つに遅延応答を送信するようにさらに構成され、遅延応答は、クロックモジュールとパケット交換ネットワーク内の少なくとも1つの他のクロックの少なくとも1つとの間の送信遅延を示す。
【0028】
好ましくは、第1の同期パケットおよび第2の同期パケットは、IEEE1588V2パケットである。
【0029】
理解されるであろうように、本発明は、従来技術より優れたいくつかの利点を提供する。例えば、本発明のハイブリッドクロックは、雑音累積の点からのTCの簡単さおよび予測可能性と、自動再構成(例えばベストマスタークロックアルゴリズム)の点からのBCの管理可能性とを結合する。本発明の他の利点は、本発明はTCに関連する「階層侵害」を回避することである。
【0030】
次に、本発明のいくつかの特定の非限定的な実施形態が添付の図面を参照しながら説明される。
【発明を実施するための形態】
【0032】
図1は、本発明の一実施形態によるクロックモジュール100を示す。クロックモジュール100は、少なくとも1つのスレイブポート101および1つのマスターポート102を含む。理解されるであろうように、クロックモジュール100は、それぞれがスレイブポートまたはマスターポートのいずれかであるいくつかの他のポートを含んでもよい。クロックモジュール100のスレイブポート101は、リンク105を介してグランドマスタークロック103に接続される。他の例では、スレイブポート101は、別のクロックモジュール(例えばピアマスタークロック)のマスターポートに接続されてもよい。本発明によれば、ネットワーク内のマスターポート/ノードおよびスレイブポート/ノードの構成は、例えばベストマスタークロックアルゴリズム(BMCA)など、任意の知られている方法を使用して構成されてもよい。
【0033】
本発明の一例示的実施形態では、クロックモジュール100は、BMCA(すなわちデフォルトBMCAまたは任意の代替BMCA)に関係し、BCに対しても同様である。したがって、クロックモジュール100は、階層型クロックアーキテクチャに関与する。そのような実施形態では、クロックモジュール100は、ClockID、デフォルトDataSetなど、BCのような属性を有する。この実施形態では、クロックモジュール100はまた、1588V2アナウンスメッセージを送信し、そのポートは、1588V2定義の状態、マスター、スレイブまたはパッシブを割り当てられる。
【0034】
このクロック階層の中で、クロックモジュール100は、そのピアマスタークロックモジュールからPTPメッセージを受信し、そのピアスレイブクロックに他のPTPメッセージ(すなわちこれらのメッセージは着信PTPメッセージに関して新しいメッセージである)を送信する。このコンテキストの中では、PTPハイブリッドモジュールをサポートするネットワークノードは、着信パケット(例えばIPパケット)または着信フレーム(例えばイーサネットフレーム)の宛先ノードである。したがって、「階層侵害」は生じない。
【0035】
次に、
図1を参照しながら、クロックモジュール100の動作が説明される。以下のステップでは、単一方向の遅延Δ
1およびδ
4が知られていると仮定する。しかし、当業者によって理解されるであろうように、これらの単一方向の遅延が知られていない場合は、それらを決定するための様々な知られている方法が存在する。これらは、ピア遅延機構など、物理層に関連するまたは1588V2規格に関連する方法を含む。1588V2規格に関連する方法を使用すると、クロックモジュール100とグランドマスタークロック103との間のタイムオフセットが、往復の連立方程式の中で相殺される。したがって、測定誤りは、グランドマスタークロック103の基準周波数に関してはクロックモジュール100の周波数オフセットに関連したものしかない。この誤りは、ピア遅延応答時間、すなわちピア遅延要求の受信と関連ピア遅延応答の送信との間の時間の期間が、比較的短い(すなわち数ミリ秒以内の)場合は、無視してもよい。これらの遅延を決定する別の方法が以下で説明される。
【0036】
図1では、タイムスタンプは、円によって表され、同期信号は矢印によって表される。第1に、PTP SynchメッセージSync(t1)がグランドマスタークロック103によって生成される。Sync(t1)メッセージは、タイムスタンプt1を含む。タイムスタンプt1は、グランドマスタークロック103のローカルタイムの表現であり、グランドマスタークロック103によって生成される。
図1で見られるように、リンク105を通って伝播してクロックモジュール100のスレイブポート101に到着するSync(t1)メッセージに関連する送信遅延Δ
1が存在する。前述のように、本発明を説明する目的のために、遅延Δ
1の測定が実行されたと仮定することができる。
【0037】
Sync(t1)メッセージがスレイブポート101に到着するとすぐ、クロックモジュール100は、タイムスタンプt2を生成する。本発明の第1の実施形態では、クロックモジュール100は、Sync(t1)メッセージを内部パケットService_Syncにカプセル化する。Service_Syncパケットは、Sync(t1)メッセージ、ならびにタイムスタンプt2およびクロックモジュール100の内部コンテキスト構造に関連する情報を含む。内部コンテキスト構造は、システムが与えられたアップストリーム「マスター」クロック(マスタークロックIDによって識別される)とダウンストリーム「スレイブ」クロック(スレイブクロックIDによって識別される)との間のPTPフローに関連する(相関関係)情報を集めることができるようにするデータ構造から成る。例えば、内部コンテキスト構造は、関連する計算された遅延、t2’−t2およびt3−t3’、ハイブリッドモジュールスレイブポートに接続された「マスター」クロックのクロックID、ハイブリッドモジュールマスターポートに接続された「スレイブ」クロックのクロックIDなどを記憶する。
【0038】
図1を参照しながら説明された第1の実施形態は、内部データパケットService_Syncの生成を可能にするが、本発明はまた、以下で説明されるように、スレイブポート101から、Sync(t1)メッセージに含まれている情報、タイムスタンプt2およびコンテキスト情報を内部を通ってマスターポート102に送信するように構成された任意の他のタイプの内部信号の生成を可能にする。
【0039】
マスターポートが内部Service_Syncパケットを受信すると、クロックモジュール100は、数式t2’−t2によって与えられる遅延を計算し、ここで、t2は、Sync(t1)メッセージがリンク105を介してスレイブポート101に到着した時間を表し、t2’は、内部Service_Syncパケットがマスターポート102に到着した時間を表す。次いで、クロックモジュール100は、t1、t2’−t2、およびΔ
1を使用して新しいタイムスタンプT1を計算する。
図1に示されているように、この新しいタイムスタンプT1は、t1+(t2’−t2)+Δ
1に等しく、t1は、グランドマスタークロック103のローカルタイムを表し、t2’は、内部Service_Syncパケットがマスターポート102に到着した時間を表し、t2は、Synch(t1)メッセージがリンク105を介してスレイブポート101に到着した時間を表し、Δ
1は、リンク105を通って伝播してグランドマスタークロック103の送信ポートからクロックモジュール100のスレイブポート101に到着するSync(t1)メッセージに関連する伝送遅延を表す。この新しいタイムスタンプT1を使用して、クロックモジュール100は、リンク106を介してスレイブクロック104に送信する新しいSync(T1)メッセージを生成する。スレイブクロック104は、Sync(T1)メッセージの受信時に、(そのローカルクロックによる)タイムスタンプT2を捕捉する。スレイブクロック104が本発明によるクロックモジュールである場合は、前述のプロセスが繰り返され得る。
【0040】
したがって、1588V2規格化BCと同様に、本発明によるクロックモジュールは、アップストリームクロックから受信した情報を使用して新しいSynch信号を生成する。これの利点は、PTPプロトコルの点から、クロックモジュール100は、タイミング情報を伝搬するために使用する各Synchメッセージのための一意の宛先ノードになることである。したがって、クロックモジュール100は、そのようなSynchメッセージを、階層侵害なしに、カプセル化解除することが可能である。クロックモジュール100はまた、他のソースから他のSynchメッセージを受信することもできる。しかし、そのようなメッセージがクロックモジュール100に向けられない場合は、そのようなメッセージは、タイミング情報を他のクロックモジュールに伝搬するために使用されない。
【0041】
1588V2規格化BCと違って、新しいSync(T1)メッセージは、グランドマスタークロック103の時間、伝播遅延時間Δ
1、および滞在時間t2’−t2に基づくので、クロックモジュール100は「時間回復」ブロックまたは任意の関連フィルタリングアルゴリズムを使用する必要がない。この新規手法の代わりに、1588規格化BCは、複数のSync(t1)を受信し、フィルタリングアルゴリズムと共に、これらのメッセージを使用して、基準時間へ収束する。このプロセスは、本発明による方法よりかなり速度が遅く複雑である。さらに、前述のように、このプロセスは、同期チェーンに沿って低周波揺らぎ累積を生じさせ、同期精度を低下させる。
【0042】
本発明によるクロックモジュール100の他の動作モードでは、スレイブクロック104は、「双方向」に設定されてよい。双方向モードに設定されている場合は、スレイブクロックモジュールは、上記で説明されたようにタイミング情報を受信するだけでなく、それ自体とそれが接続されているアップストリームクロックモジュール100との間の伝播遅延に関する遅延情報を要求し受信する。これの一例が
図1のタイミング図に示されている。
【0043】
双方向モードがスレイブクロック104にデプロイされる場合は、クロックモジュール100は、上記と同じステップを実行するように構成され、いくつかの追加のステップを実行するように構成されることになり、かつ実行するようにさらに構成されている。これらの動作は、スレイブクロック104がそれ自体とクロックモジュール100との間のアップストリームリンク遅延を決定することができるようにする。
【0044】
図1を参照すると、スレイブクロック104は、遅延要求メッセージDelay_Reqを生成するように構成されている。次いで、スレイブ104は、Delay_Reqメッセージをクロックモジュール100のマスターポート102に送信する。クロックモジュール100のマスターポート102においてDelay_Reqメッセージを受信するとすぐ、クロックモジュール100は、タイムスタンプt3’を生成し、このタイムスタンプt3’は、それによって、Delay_Reqメッセージが受信されたローカルタイムを示すことになる。
【0045】
次いで、クロックモジュール100は、Delay_Reqメッセージを内部パケットService_Delay_Reqにカプセル化し、これをスレイブポート102に送信する。Service_Delay_Reqパケットは、Delay_Reqメッセージ、ならびにタイムスタンプt3’および内部関連コンテキスト構造を含む。前述のように、内部関連コンテキスト構造は、クロックモジュール100全体にわたってタイミング情報フローに関連する計算された遅延および他の相関情報を集めることを可能にする。
【0046】
前述の一方向モードの場合と同様に、
図1の実施形態を参照しながら説明された双方向モードは、内部データパケットService_Delay_Reqの生成を可能にする。しかし、本発明はまた、以下でさらなる実施形態を参照しながら説明されるように、Service_Delay_Reqメッセージに含まれている情報、タイムスタンプt3’、およびコンテキスト情報をマスターポート102から内部を通ってスレイブポート102に送信するように構成された任意の他のタイプの内部信号の生成も可能にする。
【0047】
スレイブポートが内部Service_Delay_Reqパケットを受信すると、クロックモジュール100は、Service_Delay_Reqメッセージの滞在時間を計算する。すなわち、Service_Delay_Reqメッセージに含まれている情報がマスターポート101からスレイブポート102に内部で送信されるために必要とされる時間。
図1を参照すると、これは、数式t3−t3’によって与えられ、ここで、t3’は、Delay_Reqメッセージがリンク106を介してマスターポート102に到着した時間を表し、t3は、内部Service_Delay_Reqパケットがスレイブポート101に到着した時間を表す。滞在時間t3−t3’は、他の関連情報(例えばメッセージのシーケンス番号)と共に、内部コンテキスト情報構造の中にローカルに記憶される。スレイブポート101において、新しいDelay_Reqメッセージが作成され、グランドマスタークロック103に送信される。
【0048】
新しいDelay_Reqメッセージがグランドマスタークロック103で受信されると、グランドマスターは、PTP Delay_Resp(t4)メッセージに含まれるタイムスタンプt4を生成し、これをクロックモジュール100のスレイブポート101に送信する。
【0049】
Delay_Resp(t4)メッセージがスレイブポート101に到着するとすぐ、クロックモジュール100は、Delay_Resp(t4)メッセージを内部パケットService_Delay_Respにカプセル化する。Service_Delay_Respパケットは、Delay_Resp(t4)メッセージを含み、内部でマスターポート102に送信される。
【0050】
マスターポート102が内部Service_Delay_Respパケットを受信すると、クロックモジュール100は、前に内部コンテキスト構造の中に記憶されたt4、t3−t3’、およびδ
4、t3−t3’を使用して、新しいタイムスタンプT4を計算する。
図1に示されているように、この新しいタイムスタンプT4は、t4−(t3−t3’)−δ
4に等しく、ここで、t4は、グランドマスタークロック103のローカルタイムを表し、t3’は、Delay_Reqメッセージがマスターポート102に到着した時間を表し、t3は、Service_Delay_Reqパケットがスレイブポート101に到着した時間を表し、δ
4は、リンク105を通って伝播してグランドマスタークロック103に到着するDelay_Reqメッセージに関連する伝送遅延を表す。この新しいタイムスタンプT4を使用して、クロックモジュール100は、新しいDelay_Resp(T4)メッセージを生成し、次いで、これをリンク106を介してスレイブクロック104に送信する。次いで、スレイブクロック104は、4つのタイムスタンプT1、T2、T3およびT4を使用して、リンク106によって引き起こされた単一方向遅延を推定する。
【0051】
次に、
図2を参照しながら、本発明の第2の実施形態が説明される。本出願人は、本発明を双方向モードで使用することによる、グランドマスター103とのDelay_Req/Delay_Respメッセージ交換の速度は、ダウンストリームスレイブクロック104の数に比例することを理解した。本発明がグランドマスタークロック103におけるそのようなメッセージの輻輳を回避することができるようにするために、(単一のスレイブ104とのDelay_Req/Delay_Resp交換を含めて)双方向モードのステップの完全な組み合わせを行うこと、および交換時に生成された情報の一部分を使用して他のスレイブのためのそれぞれの「T4」タイムスタンプを得ることが提案される。この実施形態の動作の原理は、
図2に表示されている。
【0052】
T
n4タイムスタンプ(スレイブクロック番号nに関連する「T4」タイムスタンプ)は、応答時間(Delay_Reqの受信と関連Delay_Respの送信との間の時間)が一定であると仮定して、T
n4=T
14+(tn’−t3’)としてのT
14(スレイブクロック番号1に関連する「T4」タイムスタンプ)から得られる。そうでない場合は、T
n4計算中にデルタが測定され、考慮されなければならない。したがって、T
n4=t4−(t3−t’3)−δ4+(tn’−t’3)=t4−(t3−tn’)−δ4であり、ここで、tn’は、スレイブクロックn(スレイブnのためであるが、t3’の同等物)からのDelay_Reqメッセージの受信時にハイブリッドクロックモジュール100によって捕捉されたタイムスタンプである。したがって、この実施形態を使用することにより、グランドマスター103におけるDelay_ReqおよびDelay_Respメッセージの輻輳を回避することが可能である。
【0053】
図3は、本発明の他の実施形態を表す。
図3の実施形態は、上記の実施形態に非常によく似ているが、1つの重要な違いがある。上記の実施形態と同様に、クロックモジュール300の中のタイミング情報を担持する内部信号がパケットベースの信号として実施される。しかし、この実施形態の違いは、クロックモジュール300が、ネットワーク境界において例示されているノード、ノード1およびノードNを含めて複数のネットワークノードを含むことである。したがって、内部パケットベースの情報は、ノード1のスレイブポートからネットワーク305全体にわたってトンネル306(例えばIPSecトンネル)を通り抜けて進み、ノードN302のマスターポート304に到着する。
図3のダイヤグラムから分かるように、この実施形態のデータフロー図は、第1の実施形態のものに非常によく似ているので、簡潔にするために、ここでは繰り返されない。この実施形態のパケットベースの信号に関する1つの重要な違いは、
図3に示されているように、Service_Syncパケットにおける顧客IDパラメータcustomer_ctxの存在である。このcustomer_ctxパラメータは、トランスポートトンネルがそれぞれ異なる顧客タイミングフロー間で共有されている場合に有用である。
【0054】
この実施形態では、「分散」または「ネットワーク」クロックモジュール300は、各顧客の時間基準を回復する必要なしに、それ自体の全体にわたって顧客タイミングフローをトランスポートする。したがって、モジュール300領域の中の各ネットワークノード上に追加の回復ブロック(例えばいくつかの位相ロックループ)を実装する必要がない。結果として、クロックモジュール300の提案されたアーキテクチャは、多数のそれぞれ異なる顧客(それぞれは、領域全体にわたってトランスポートされるべき独立したサービス時刻を有する)に対処することができる。そのような方法の精度は、トランスポートネットワークオペレータ(TNO)とその関連顧客との間の周波数オフセットに依存する。
【0055】
図4は、本発明による他の実施形態を表す。
図4は、本発明の一実施形態によるクロックモジュール400を示す。クロックモジュール400は、複数のネットワークインターフェースカード401、402で作成された単一のネットワークノード上に実装されたPTP特徴から成る。第1の実施形態と同様のクロックモジュール400は、カードi上の物理ポートに関連付けられた少なくとも1つのPTPスレイブポート404を含む。スレイブポート404は、リンク407を介してグランドマスタークロック408に接続される。クロックモジュール400はまた、カードj上の物理ポートに関連付けられた少なくとも1つのPTPマスターポート403を含む。マスターポート403は、リンク405を介してスレイブクロック409に接続される。
【0056】
機能動作は、Service_Sync内部パケットを意味する内部情報交換が内部物理信号PHY−DL(t1)によって置き換えられることを除いて、第1の実施形態と同様である。物理信号PHY−DL(t1)は、PTPスレイブポート404とPTPマスターポート403との間の伝播遅延Δ2を有する。この遅延は、これは物理的伝播遅延なので、目標時間精度に関して全時間にわたって一定であるとみなされてよい。したがって、この遅延は一度測定されればよく(例えば、その概念形成/設計中に作動するまたは較正/設計されるクロックモジュール400において測定されればよく)、クロックモジュール400の全動作期間中に使用され得る。したがって、Δ2は、クロックモジュール400をサポートするネットワークノードの中のすべてのカードに関して知られている値である。
【0057】
PTPスレイブポートは、Sync(t1)メッセージを受信するとすぐ、PHY−DL(t1)物理信号をPTPマスターポートへ送信する。PHY−DL(t1)信号は、t1を含む内部物理信号である。すなわち、t1タイムスタンプは、PHY−DL(t1)信号に組み込まれるかまたはエンコードされる。マスターポート403は、内部信号PHY−DL(t1)を受信すると、PHY−DL(t1)信号の検出時に、直ちにスレイブクロックへSync(T1)メッセージを送信する。この検出の目的のために、PHY−DL(t1)信号は、それが与えられたPTPスレイブポート404(別のポートではない)に由来することをマスターポート403が認識することができるようにする何らかの特定の物理パターンを組み込むべきであり、連続番号がエンコードされてもよい。内部物理信号PHY−DL(t1)は、t1および関連コンテキストの伝達を可能にする。マスターポート403によるこの内部信号PHY−DL(t1)の受信時に、マスターポート403は、t1、Δ1およびΔ2に基づいてタイムスタンプT1、T1=t1+Δ1+Δ2、を計算する。マスターポート403はまた、新しいPTPSync(T1)メッセージを作成して、T1タイムスタンプをスレイブクロックに伝達する。T1は、スレイブクロック409がそのクロックをグランドマスター時間基準に同期することができるようにする。
【0058】
図5は、本発明による他の実施形態を表す。
図5は、本発明の一実施形態によるクロックモジュール500を示す。クロックモジュール500は、少なくとも2つのノード501および502を含む。ノード501はスレイブポート504を含み、ノード502はマスターポート503を含む。ノード501およびノード502はネットワーク505を通して接続されている。理解されるであろうように、クロックモジュール500は、それぞれがスレイブポートかまたはマスターポートかまたはパッシブポートであるいくつかの他のポートを含んでもよい。クロックモジュール500のノード501のスレイブポート504は、リンク507を介してグランドマスタークロック508に接続される。他の例では、スレイブポート504は、別のクロックモジュールのマスターポートに接続されてもよい。本発明によれば、ネットワーク内のマスターポート/ノードおよびスレイブポート/ノードの構成は、例えば1588V2デフォルトベストマスタークロックアルゴリズム(BMCA)などの任意の知られている方法を使用して構成されてもよい。
【0059】
図5を参照しながら、次に、クロックモジュール500の動作が説明される。以下のステップでは、単一方向遅延Δ
1およびδ
4が知られていると仮定する。しかし、前述のように、これらの単一方向遅延が知られていない場合は、それらを決定するための様々な知られている方法が存在する。
【0060】
図5では、タイムスタンプは円で表され、同期信号は矢印で表される。PTP synchメッセージSync(t1)は、第1に、グランドマスタークロック508によって生成される。Sync(t1)メッセージは、タイムスタンプt1を含む。タイムスタンプt1は、グランドマスタークロック508のローカルタイムの表示であり、グランドマスタークロック508によって生成される。
図5で見られるように、リンク507を通って伝播してクロックモジュール500のノード501のスレイブポート504に到着するSync(t1)メッセージに関連する伝送遅延Δ
1が存在する。前述のように、本発明を説明する目的のために、遅延Δ
1の測定はすでに行われていると仮定する。
【0061】
Sync(t1)メッセージがスレイブポート504に到着するとすぐ、クロックモジュール500は、グランドマスター508(または隣接するマスタークロック)からSync(t1)メッセージを受信すると、タイムスタンプt2を生成し、ノード内PHY−DL
1信号を送出する。この信号の宛先は、クロックモジュール500のマスターポート(すなわちノード502のマスターポート503)への経路上の出力ポートノード501(図示せず)である。次いで、ノード501の出力ポートは、PHY−DL
1信号を受信すると、ノード間PHY−DL
2信号を送信する。ノード内信号およびノード間信号の受信、生成および送信のこのシーケンスは、ネットワーク505内のホップごとに再作成される。前の実施形態の場合と同様に、物理信号PHY−DL
1は、PTPスレイブポート504からノード501のPTPマスターポート(図示せず)までの間の伝播遅延Δ
2を有する。同様に、PHY−DL
2は、ノード501のPTPマスターポート(図示せず)とノード502のPTPスレイブポート(図示せず)との間の伝播遅延Δ
3を有する。最後に、PHY−DL
3は、ノード502のPTPスレイブポート(図示せず)とノード502のPTPマスターポート503との間の伝播遅延Δ
4を有する。
【0062】
これらの遅延は、これは物理的伝播遅延なので、目標時間精度に関して全時間にわたって一定であるとみなされてもよい。したがって、それらは、一度測定されればよく、クロックモジュール500の全動作期間中に使用され得る。したがって、Δ
2、Δ
3、Δ
4は、クロックモジュール500をサポートしているネットワークノードの中のすべてのカードに関して知られている値である。次の信号(例えばPHY−DL
2)の送信が前の信号(例えばPHY−DL
1)の受信のすぐ後ではない場合は、2つのイベント間の経過時間は、動作ポイント(例えばノード501の出力ポート)によって測定され、マスターポート503に伝達されてもよいことが留意される。
【0063】
信号PHY−DL
3がマスターポート503で受信されると、クロックモジュール500は、タイムスタンプT’1を推定した新しいSyncメッセージSync(T’1)を生成する。
【0064】
この実施形態では、様々なPHY−DL信号はt1情報を搬送しないので、t1情報は、後ほど、スレイブポート504によってパケットベースの方法(例えば、フォローアップメッセージ)を介してクロックモジュール500のマスターポート503に伝達される。この内部メッセージは、トランスポートされる情報サイズの点でより大きな柔軟性のためにパケットプロトコルを使用してt1および関連コンテキスト(このコンテキストは、第1の実施形態に関して同様の役割を有する)を伝達することを可能にする(すなわち、物理信号によってトランスポートされる情報ビットの数は限定されるが、一方、PTPタイムスタンプは10バイトまで占めることができる)。次いで、t1に基づいて新しいタイムスタンプT1が得られ、クロックモジュール500滞在時間(すなわちΔ
2、Δ
3、Δ
4)+伝送遅延Δ
1を含む。最後に、T1は、クロックモジュール500によってスレイブクロック509にフォローアップメッセージを介して伝達され、それによって、2ステップモードの第2のステップを完了する。
図5のデータフロー図から分かるように、遅延要求手順は、本発明の第2の実施形態のものと同様であるが、PHY−DL
1、PHY−DL
2およびPHY−DL
3に関連して上記で説明されたように、内部タイムスタンプの代わりに物理信号(PHY−UL)を組み込む。
【0065】
様々な上記の方法のステップは、プログラムされたコンピュータによって実行されてもよいことを当業者は容易に理解するであろう。本明細書では、いくつかの実施形態はまた、機械読取り可能またはコンピュータ読取り可能であり、機械実行可能なまたはコンピュータ実行可能な命令のプログラムをエンコードするプログラムストレージデバイス、例えばデジタルデータ記憶媒体をカバーするものとし、前記命令は、前述の方法のステップの一部またはすべてを実行する。プログラムストレージデバイスは、例えば、デジタルメモリ、磁気ディスクおよび磁気テープおよびハードドライブなどの磁気記憶媒体、または光学的に読取り可能なデジタルデータ記憶媒体でもよい。諸実施形態はまた、上記方法の前記ステップを実行するようにプログラムされたコンピュータをカバーするものとする。
【0066】
説明および図面は、単に本発明の原理を例示するに過ぎない。したがって、本明細書に明示的に説明または示されていないが、本発明の原理を実施し本発明の趣旨および範囲内に含まれる様々な構成を、当業者は容易に考案することができることが理解されるであろう。さらに、本明細書に記載のすべての例は、原則として、明確に、読者が本発明の原理および技術を推進するために本発明者(複数可)によって提供された概念を理解するのを助けるための教育目的であるに過ぎないものとし、そのような具体的に記載された例および条件に限定されないと解釈されるものとする。さらに、本発明の原理、態様、および実施形態、ならびにそれらの特定の例を記載する本明細書のすべての記述は、それらの均等物を包含するものとする。
【0067】
「プロセッサ」とラベリングされた任意の機能ブロックを含めて、諸図に示されている様々な要素の機能は、専用ハードウェアならびに適切なソフトウェアに関連してソフトウェアを実行することができるハードウェアを使用することにより提供されてもよい。プロセッサによって提供される場合、機能は、単一の専用プロセッサによって提供されてもよく、単一の共有プロセッサによって提供されてもよく、またはそのうちのいくつかが共有されてもよい複数の個別プロセッサによって提供されてもよい。さらに、用語「プロセッサ」または「コントローラ」の明示的な使用は、ソフトウェアを実行することができるハードウェアを排他的に指すと解釈されるべきではなく、デジタル信号プロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ソフトウェアを記憶するための読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、および不揮発性ストレージを、限定なしに、暗示的に含んでもよい。従来のおよび/またはカスタムの他のハードウェアが含まれてもよい。同様に、諸図面に示されているいずれのスイッチも、概念的にすぎない。それらの機能は、プログラムロジックの動作を通じて実行されてもよく、専用ロジックを通じて実行されてもよく、プログラムコントロールと専用ロジックとの対話を通じて実行されてもよく、またはさらに手動で実行されてもよく、特定の技法が、コンテキストからより詳細に理解されるように、実施者によって選択可能である。
【0068】
いずれのブロック図も本明細書では本発明の原理を実施する例示的回路の概念図を表すことが当業者によって理解されるはずである。同様に、いずれのフローチャート、流れ図、状態遷移図、擬似コード、および同種のものも、コンピュータ読取り可能記憶媒体で事実上表されてもよく、したがって、コンピュータまたはプロセッサによって、そのようなコンピュータまたはプロセッサが明示的に示されていてもいなくても、実行されてもよい様々なプロセスを表すことが理解されるであろう。