(57)【要約】      （修正有）【課題】ネットワーク端末のクロックを同期化する。【解決手段】マスター端末からそれぞれのスレーブ端末までの各ラウンド・トリップ遅延時間を確定すること、および、マスター端末およびスレーブ端末のそれぞれが、時間上のほぼ同じ基準点を有するように、それぞれのスレーブ端末のクロックを、確定された各ラウンド・トリップ遅延時間に比例する量だけオフセットさせることを含む。方法およびシステムは、トリガー信号に応答して、マスター端末のマスター・クロックとスレーブ端末のそれぞれのクロックの間の各オフセットを確定し、スレーブ端末のそれぞれのクロックをマスター端末のマスター・クロックに同期化するように、確定された各オフセットに比例する量だけ、スレーブ端末のそれぞれのクロックをオフセットさせることをさらに含む。【選択図】図１
2005260966.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク内でネットワーク端末のクロックを同期化する方法であって、
マスター・クロックであるべき、前記ネットワーク端末のうちの１つのネットワーク端末のクロックを選択すること、
前記マスター・クロックを有する前記ネットワーク端末から、他の端末のそれぞれまでの各ラウンド・トリップ遅延時間を確定すること、
前記マスター・クロックを有する前記ネットワーク端末および前記他の端末のそれぞれが、時間上のほぼ同じ基準点を有するように、前記他の端末のそれぞれのクロックを、前記確定された各ラウンド・トリップ遅延時間に比例する量だけオフセットさせること、および、
少なくとも１つのトリガー信号に応答して、前記マスター・クロックと前記他の端末のそれぞれのクロックの間のオフセットを確定し、前記他の端末のそれぞれのクロックを前記マスター・クロックに同期化するように、前記確定された各オフセットに比例する量だけ、前記他の端末のそれぞれのクロックをオフセットさせることを含む方法。
【請求項２】
前記選択されたネットワーク端末はマスター端末を備え、前記他のネットワーク端末はスレーブ端末を備える請求項１に記載の方法。
【請求項３】
各ラウンド・トリップ遅延時間を前記確定することは、前記マスター・クロックを含む前記端末から前記他の端末のそれぞれに各データ・パケットを送信すること、および、
前記送信された各データ・パケットに応答して前記他の端末のそれぞれから受信される各データ・パケットから、データ・パケットが、前記他の端末のそれぞれに送信され、前記他の端末のそれぞれから受信される、各時間量を確定することを含む請求項１に記載の方法。
【請求項４】
前記他の端末のそれぞれについての前記各オフセットが確定され、
同期化信号に応答して、前記マスター・クロックの所定数のクロック・パルスをカウントすること、
前記マスター・クロックの前記所定数のクロック・パルスをカウントするための時間量に等しく、前記同期化信号の時間上の点で始まる時間期間の間に、前記他の端末のクロックのクロック・パルスをカウントすること、および、
前記他の端末のそれぞれのカウントされるクロック・パルスの位相および周波数を、前記マスター端末のクロック・パルスと比較して、各オフセットを確定することを含む請求項１に記載の方法。
【請求項５】
前記他の端末のそれぞれは、前記マスター・クロックに対する、前記他の端末の各クロックの同期化をそれぞれ開始させる請求項１に記載の方法。
【請求項６】
ネットワーク内でネットワーク端末のクロックを同期化するネットワークであって、
タイミング信号を供給する同期化デバイスと、
マスター端末にタイミング情報を提供するマスター・クロック、
前記マスター端末からのデータを送信し、マスター端末用のデータを受信するマスターネットワーク・インタフェース制御器、および、
同期化パラメータを確定するマスター制御ユニットを含む、前記マスター端末と、
各スレーブ端末のそれぞれが、
前記スレーブ端末にタイミング情報を提供するスレーブ・クロック、
前記マスター・クロックと前記スレーブ・クロックの差を示す制御信号に応答して、前記スレーブ・クロックに対して調整を行うスレーブ制御器、および、
前記スレーブ端末からのデータを送信し、前記スレーブ端末用のデータを受信するスレーブネットワーク・インタフェース制御器を含む、複数のスレーブ端末と、
前記マスター端末と前記複数のスレーブ端末を相互接続するノンブロッキング・スイッチとを備え、
前記マスター制御ユニットは、メモリおよびプロセッサを備え、
前記複数のスレーブ端末についての各ラウンド・トリップ遅延時間を確定すること、
前記マスター端末および前記スレーブ端末のそれぞれが、時間上のほぼ同じ基準点を有するように、前記スレーブ端末のそれぞれのスレーブ・クロックを、前記確定された各ラウンド・トリップ遅延時間に比例する量だけオフセットさせるための制御信号を、前記複数のスレーブ端末の各スレーブ制御器に伝達すること、
前記スレーブ端末のそれぞれから受信された、前記各スレーブ・クロックのステータスに関する情報に応答して、前記マスター・クロックと前記スレーブ端末のそれぞれの各スレーブ・クロックの間の各オフセットを確定すること、および、
前記スレーブ端末のそれぞれのスレーブ・クロックを前記マスター端末のマスター・クロックに同期化するように、前記確定された各オフセットに比例する量だけ、前記スレーブ端末のそれぞれのスレーブ・クロックをオフセットさせることを含む方法を実施するようになっているネットワーク。
【請求項７】
前記ネットワーク・インタフェ−ス制御器のそれぞれは、
所定数のカウントをカウントすることに応答して信号を生成するカウンティング・デバイスと、
前記カウンタからの信号を受信し、応答して、送信トリガー信号を生成する送信トリガー発生器と、
送信されるデータを記憶する送信メモリ・デバイスと、
前記送信トリガー発生器から前記送信トリガー信号を受信し、応答して、前記メモリ・デバイスに記憶された前記データの少なくとも一部を、前記データの送信のための送信デバイスに送る送信メモリ・マネジャと、
前記カウンタから前記信号を受信し、応答して、受信トリガー信号を生成する受信トリガー発生器と、
受信されたデータを記憶する受信メモリ・デバイスと、
前記受信トリガー発生器から受信トリガー信号を受信し、応答して、前記受信メモリ・デバイス内のロケーションに受信されたデータを送る受信メモリ・マネジャとを備える請求項６に記載のネットワーク。
【請求項８】
前記カウンティング・デバイスのそれぞれは、前記同期化デバイスからのタイミング信号に応答して、所定のカウント数からカウントを始める請求項７に記載のネットワーク。
【請求項９】
前記同期化デバイスは、前記複数のスレーブ端末の各スレーブ・クロックを前記マスター端末のマスター・クロックに対して同期化するためのタイム・フレームを生成する請求項６に記載のネットワーク。
【請求項１０】
前記マスター端末は、前記スレーブ端末のそれぞれが、各スレーブ・クロックのステータスに関する情報を前記マスター端末に送信するようにさせるために、Ｓｙｎｃヘッダおよびタイミング信号を有するデータ・パケットを前記複数のスレーブ端末のそれぞれに送信する請求項６に記載のネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ・ネットワークの分野に関し、より具体的には、データ・ネットワークにおいて端末デバイスのクロックを同期化する方法およびシステムに関する。
【背景技術】
【０００２】
情報技術における最近の開発および進歩は、新しい、予測していない問題をもたらした。特に、サーバから要求元のクライアントへのデータ転送は、ある複雑さを提示する。たとえば、ビデオ・データは、予め決められ、よく調整されたタイム・シーケンスで次々に再生されなければならない一連の静止画像からなる。したがって、画像データに関連する情報は、再生イベントのタイミングに関連する情報と共に転送されなければならない。ビデオ画像の適切な送信は、送信ステーションから受信ステーションへ、信号タイミング属性を保持する方式を必要とする。
【０００３】
適切な再生の場合、オーディオ・ビデオ信号は、送信されるのと同じレートで再生されるのが好ましい。これは、「リアルタイム」特性が維持される対話式システムにおいて特に重要である。受信機クロックが送信機クロックと独立である場合、受信機は、フレームを受信するより少し速くフレームを再生し、システムをデータ欠乏状態に導く場合がある。別法として、受信機がフレームをあまりにゆっくり再生する場合、サイズが制限されているデータ・バッファにおいて、データ・オーバフロー状態が起こる場合がある。
【０００４】
ある伝送ネットワークにおいて、データ・ストリームは、多くの部分、すなわち、「パケット」に分割され、ネットワークの種々の経路に沿って送信される。これらのパケットは、長さがランダムな時間遅延を受ける場合がある。ある時に、および、本明細書で、「ジッタ」と呼ぶ、ランダムな時間遅延は、データをデータ・サブセットで送信するネットワークで本来必然的に起こるものである。それぞれのデータ・パケットは、パケットごとに変わる場合がある総合送信時間で受信機に達することができる。ネットワーク経路およびネットワーク輻輳に応じて、送信時間遅延は、パケット間で著しく異なる場合がある。オーディオ・ビデオ・データが役立つ場合、オーディオ・ビデオ・データは、パケット・ネットワークを通して送信され、時間遅延またはネットワーク・ジッタが、プレゼンテーション・レベルの再生におけるアーチファクトとして現れないような方法で再生されなければならない。これを達成するために、送信ステーションのタイム・ベースが、受信機において複製されることが必要であり、こうして、端末の「クロック」が同期化していると言われる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、データ・ネットワークにおいて端末のクロックを同期化する方法およびシステムを提供することによって、従来技術の欠陥を解決する。
【課題を解決するための手段】
【０００６】
本発明の一実施形態において、ネットワーク内でネットワーク端末のクロックを同期化する方法は、マスター・クロックを有するマスター端末から、ネットワークの他の（スレーブ）端末のそれぞれまでの各ラウンド・トリップ遅延時間を確定すること、マスター端末およびスレーブ端末のそれぞれが、時間上のほぼ同じ基準点を有するように、スレーブ端末のそれぞれのクロックを、確定された各ラウンド・トリップ遅延時間に比例する量だけオフセットさせることを含む。方法は、トリガー信号に応答して、マスター端末のマスター・クロックとスレーブ端末のそれぞれのクロックの間の位相および周波数の各オフセットを確定し、スレーブ端末のそれぞれのクロックをマスター端末のマスター・クロックに同期化するように、確定された各オフセットに比例する量だけ、スレーブ端末のそれぞれのクロックをオフセットさせることをさらに含む。
添付図面と共に以下の詳細な説明を考慮することによって、本発明の教示を容易に理解することができる。
理解を助けるために、可能であるところでは、図に共通である同じ要素を指定するのに、同じ参照数字を使用した。
【発明を実施するための最良の形態】
【０００７】
本発明は、有利には、データ・ネットワークにおいて端末クロックを同期化する方法およびシステムを提供する。パケット・ネットワークにおいてスレーブ端末のクロックをマスター端末のクロックに同期化することに関して、本発明の種々の実施形態が本明細書で述べられるが、本発明の特定の実施形態は、本発明の範囲を制限するものとして扱われるべきではない。本発明の考え方は、有利には、端末クロックの同期化について、ほぼ任意のネットワークに適用されてもよいことが、本発明の教示によって情報を得た当業者によって理解されるであろう。
【０００８】
図１は、本発明の実施形態によるクロック同期化を含むパケット・ネットワークの高レベル・ブロック図である。図１のパケット・ネットワーク１００は、例示的に、マスター端末１１０１、３つのスレーブ端末１１０２〜１１０４、およびノンブロッキング・スイッチ１１５を備える。端末のそれぞれは、クロックを備え、マスター端末１１０１は基準マスター・クロック１２０１を備え、スレーブ端末１１０２〜１１０４のそれぞれは、スレーブ・クロック発生器１２０２〜１２０４を備える。マスター端末はさらに、基準Ｓｙｎｃ発生器１４０およびマイクロ制御器１２５１を備え、スレーブ端末１１０２〜１１０４のそれぞれはさらに、各マイクロ制御器１２５２〜１２５４を備える。本発明による、図１のパケット・ネットワーク１００において、ネットワークでのデータ交換および任意の回路手段をできる限り単純化した状態に保つために、スレーブ端末１１０２〜１１０４のスレーブ・クロック１２０２〜１２０４を、マスター端末１１０１のマスター基準クロック１２０１に同期化する。図１に示すように、マスター端末１１０１およびスレーブ端末１１０２〜１１０４のそれぞれはさらに、各ネットワーク・インタフェース制御器１３０１〜１３０４を備える。図１のパケット・ネットワーク１００は、例示的に、マスター端末および複数のスレーブ端末を備えるが、本発明の代替の実施形態において、本発明の考え方は、端末のうちの１つが、マスター・クロックを有するマスター端末を表すように選択される、複数の同様な端末を備えるネットワークにおいて適用されてもよい。
【０００９】
図１のノンブロッキング・スイッチ１１５は、当技術分野では知られており、本質的に、受信されたデータ・パケットが、意図する受信機に切り換えられる前にバッファリングされる必要がないように、そこにわたって十分な経路を有するスイッチである。図１のパケット・ネットワーク１００の端末１１０１〜１１０４の間のデータの相互接続は、ノンブロッキング・スイッチ１１５を通して達成され、ノンブロッキング・スイッチ１１５は、本明細書では詳細には述べない。
【００１０】
図２は、図１のパケット・ネットワーク１００の端末１１０１〜１１０４のそれぞれで使用するのに適したネットワーク・インタフェース制御器１３０の実施形態の高レベル・ブロック図である。端末１１０１〜１１０４のインタフェース制御器１３０１〜１３０４のそれぞれは、ほぼ同じであるため、図２のネットワーク・インタフェース制御器１３０は、図１のパケット・ネットワーク１００のインタフェース制御器１３０１〜１３０４のそれぞれを表すと考えられるべきである。図２のネットワーク・インタフェース制御器１３０は、例示的に、送信部分および受信部分を備える。図２のネットワーク・インタフェース制御器１３０の送信部分は、例示的に、送信Ｓｙｎｃトリガー発生器２１０、送信バッファ・マネジャ／ＤＭＡ２１５、送信データ・キュー（例示的には、ファースト・イン・ファースト・アウト（ＦＩＦＯ）・メモリ）２２０、および送信ＭＡＣ２２５を備える。図２のネットワーク・インタフェース制御器１３０の受信部分は、例示的に、受信ＭＡＣ２３０、受信バッファ・マネジャ／ＤＭＡ２３５、送信データ・メモリ（例示的には、ファースト・イン・ファースト・アウト（ＦＩＦＯ）・キュー）２４０、Ｓｙｎｃフィルタ２４５、および受信Ｓｙｎｃトリガー発生器２５０を備える。図２のネットワーク・インタフェース制御器１３０はさらに、ネットワーク・インタフェース制御器の送信部分と受信部分の両方に共通のバス・インタフェース２６０およびカウンタ２７０を備える。ネットワーク・インタフェース制御器１３０の受信部分はさらに、受信される非同期データを認識し、従来のプロトコルに従って受信されたデータを操作する受信ＩＰフィルタ２７５を備える。
【００１１】
先に開示したように、図１のパケット・ネットワーク１００において、マスター端末１１０１用のクロックは、基準マスター・クロック１２０１によって供給される。このクロック供給源は、内部クロックか、または、マスター端末１１０１の外に存在する（ｒｅｓｉｄｅ）、バス・インタフェース２６０に接続されたクロックであってよい。さらに、スレーブ・クロック１２０２〜１２０４と呼ばれる、スレーブ端末１１０２〜１１０４のそれぞれに存在するクロック供給源はまた、内部クロックか、または、外部クロックであってよい。本発明によれば、スレーブ端末１１０２〜１１０４のスレーブ・クロック１２０２〜１２０４は、たとえば、スレーブ端末１１０２〜１１０４の少なくとも１つからのトリガー信号に応答して、マスター端末１１０１から同期化データを受信し、それによって、要求元のスレーブ端末１１０２〜１１０４のスレーブ・クロック１２０を、マスター端末１１０１の基準マスター・クロック１２０１に同期化することができる。
【００１２】
図１のパケット・ネットワーク１００において、基準Ｓｙｎｃ発生器１４０からのｓｙｎｃ開始信号は、スレーブ端末１１０２〜１１０４のクロックをマスター端末１１０１のマスター・クロックに同期化する時に使用されるＳｙｎｃタイム・フレーム（以下で詳細に述べる）用の開始時刻を規定する。基準Ｓｙｎｃ発生器１４０から開始信号を受信すると、マスター端末１１０１のカウンタ２７０は、既知の位置にセットされ（すなわち、マスター端末のカウンタはリセットされ）、基準マスター・クロック１２０１のクロック・パルスをカウントし始める。マスター端末のカウンタ２７０が、所定のクロック・パルス数をカウントすると、マスター端末１１０１のカウンタは、マスター端末の送信Ｓｙｎｃトリガー発生器２１０に信号を送出して、送信Ｓｙｎｃトリガー発生器２１０から送信バッファ・マネジャ／ＤＭＡ２１５へ伝達されるトリガーが生成されて、送信データＦＩＦＯ２２０の特定のロケーションに記憶されたＳｙｎｃヘッダ（例示的に、送信データＦＩＦＯ＿ｓｙｎｃと表示される）を有するデータ・パケットが、ＴＸ  ＭＡＣ２２５によって、スレーブ端末のうちの１つ、たとえば、第１スレーブ端末１１０２に送信されるようになる。第１の所定のクロック・パルス数は、第１Ｓｙｎｃタイム・フレームの終了と第２Ｓｙｎｃタイム・フレームの開始を規定する。ネットワーク・インタフェース制御器１３０によって送信される他のデータは、こうした送信に専用のセクションの送信データＦＩＦＯ２２０に記憶される。
【００１３】
マスター端末のカウンタ２７０が、第２の所定のクロック・パルス数をカウントすると、マスター端末１１０１のカウンタは、マスター端末の送信Ｓｙｎｃトリガー発生器２１０に第２の信号を送出して、送信Ｓｙｎｃトリガー発生器２１０から送信バッファ・マネジャ／ＤＭＡ２１５へ伝達されるトリガーが生成されて、Ｓｙｎｃヘッダを有するデータ・パケットが、ＴＸ  ＭＡＣ２２５によって、スレーブ端末のうちの別の１つ、たとえば、第２スレーブ端末１１０３に送信されるようになる。第２の所定のクロック・パルス数は、第２Ｓｙｎｃタイム・フレームの終了と第３Ｓｙｎｃタイム・フレームの開始を規定する。マスター端末のカウンタ２７０が、第３の所定のクロック・パルス数をカウントすると、マスター端末１１０１のカウンタは、マスター端末の送信Ｓｙｎｃトリガー発生器２１０に信号を送出して、送信Ｓｙｎｃトリガー発生器２１０から送信バッファ・マネジャ／ＤＭＡ２１５へ伝達されるトリガーが生成されて、Ｓｙｎｃヘッダを有するデータ・パケットが、ＴＸ  ＭＡＣ２２５によって、スレーブ端末のうちの別の１つ、たとえば、第３スレーブ端末１１０４に送信されるようになる。第３の所定のクロック・パルス数は、第３Ｓｙｎｃタイム・フレームの終了を規定する。マスター端末１１０１のカウンタ２７０によってカウントされる所定のカウント数は、ユーザによって規定されるか、または、システムで望まれるクロック精度に応じて、マスター端末１１０１によって調整されることができる動的パラメータであってよい（すなわち、Ｓｙｎｃタイム・フレームでカウントされるマスター・クロック・パルスが多ければ多いほど、マスター・クロックとスレーブ・クロック間の同期化の精度が上がる）。Ｓｙｎｃパケットに加えて、確定された各Ｓｙｎｃタイム・フレームはまた、意図するスレーブ端末に伝達される。
【００１４】
同様に、マスター端末のカウンタ２７０が、先に述べたように、所定のクロック・パルス数をカウントすると、マスター端末１１０１の受信Ｓｙｎｃトリガー発生器２５０は、受信バッファ・マネジャ／ＤＭＡ２３５に伝達されるトリガーが生成されて、送信されたＳｙｎｃパケットに応答して、パッケージがスレーブ端末から受信されることが受信バッファ・マネジャ／ＤＭＡ２３５に通知される。
【００１５】
たとえば、第１スレーブ端末１１０２が、ＳｙｎｃヘッダおよびＳｙｎｃタイム・フレームを有するデータ・パケットを受信すると、第１スレーブ端末１１０２のＳｙｎｃフィルタ２４５は、ＳｙｎｃヘッダおよびＳｙｎｃタイム・フレームを有するデータ・パケットが、マスター端末１１０１から受信されたと判定する。応答して、第１スレーブ端末１１０２のカウンタ２７０は、既知の位置にセットされる（すなわち、カウンタ２７０はリセットされる）。第１スレーブ端末１１０２のカウンタ２７０は、次に、マスター端末１１０１からの送信から回復した、各Ｓｙｎｃタイム・フレーム、たとえば、第１Ｓｙｎｃタイム・フレームに等しい期間の間、スレーブ・クロック１２０２のクロック・パルスをカウントする。第１Ｓｙｎｃタイム・フレームが終了すると、カウンタ２７０は、カウントを停止し、カウント情報は、第１スレーブ端末１１０２の送信データＦＩＦＯ２２０に伝達され、記憶される。第１スレーブ端末１１０２のカウンタ２７０は、次に、送信Ｓｙｎｃトリガー発生器２１０に信号を伝達して、送信Ｓｙｎｃトリガー発生器２１０から送信バッファ・マネジャ／ＤＭＡ２１５へ伝達されるトリガーが生成されて、カウンタ情報を有するデータ・パケットが、第１スレーブ端末１１０２のＴＸ  ＭＡＣ２２５によって、マスター端末１１０１に送信されるようになる。
【００１６】
第１スレーブ端末１１０２から送信して戻されたデータ・パケットは、マスター端末１１０１によって受信され、マスター端末１１０１のマイクロ制御器１２５１が、受信したデータ・パケットを使用して、第１スレーブ端末１１０２に送信され、第１スレーブ端末１１０２から戻るように受信されたデータについてのラウンド・トリップ遅延時間が確定される。したがって、マスター端末１１０１から第１スレーブ端末１１０２に送信されるデータについての時間レーテンシが確定される。マスター端末１１０１は、次に、確定された各ラウンド・トリップ遅延時間を使用して第１スレーブ端末１１０２についてのオフセットを確定し、各オフセットを第１スレーブ端末１１０２に送信し、それによって、第１スレーブ端末１１０２およびマスター端末１１０１は、時間上で同じ基準点を有する。
【００１７】
パケット・ネットワーク１００の、他のスレーブ端末、第２スレーブ端末１１０３および第３スレーブ端末１１０４についてのラウンド・トリップ遅延時間は、ほぼ同じ方法で確定される。たとえば、また、先に述べたように、マスター端末１１０１の基準マスター・クロック１２０１の第２の所定のパルス・カウント数の後に、マスター端末１１０１のカウンタ２７０は、マスター端末１１０１の送信Ｓｙｎｃトリガー発生器２１０に信号を送出し、送信Ｓｙｎｃトリガー発生器２１０は、送信Ｓｙｎｃトリガー発生器２１０から送信バッファ・マネジャ／ＤＭＡ２１５へ伝達されるトリガーを生成して、Ｓｙｎｃヘッダを有するデータ・パケットが、ＴＸ  ＭＡＣ２２５によって、第２スレーブ端末１１０３に送信されるようになる。Ｓｙｎｃパケットに加えて、確定された各Ｓｙｎｃタイム・フレームもまた、第２スレーブ端末１１０３に伝達される。先に述べたように、カウンタ２７０からの信号はまた、マスター端末１１０１の受信Ｓｙｎｃトリガー発生器２５０に送出され、トリガーが、受信Ｓｙｎｃトリガー発生器２５０から受信バッファ・マネジャ／ＤＭＡ２３５に送出されるようにして、パッケージが第２スレーブ端末１１０３から受信されることが受信バッファ・マネジャ／ＤＭＡ２３５に通知される。
【００１８】
第２スレーブ端末１１０３が、Ｓｙｎｃヘッダおよび第２のＳｙｎｃタイム・フレームを有するデータ・パケットを受信すると、第２スレーブ端末１１０３のＳｙｎｃフィルタ２４５は、ＳｙｎｃヘッダおよびＳｙｎｃタイム・フレームを有するデータ・パケットが、受信されたと判定する。応答して、第２スレーブ端末１１０３のカウンタ２７０は、既知の位置にセットされる（すなわち、カウンタ２７０はリセットされる）。第２スレーブ端末１１０３のカウンタ２７０は、次に、マスター端末１１０１からの送信から回復した、各Ｓｙｎｃタイム・フレーム、たとえば、第２Ｓｙｎｃタイム・フレームに等しい期間の間、スレーブ・クロック１２０３のクロック・パルスをカウントする。第２Ｓｙｎｃタイム・フレームが終了すると、カウンタ２７０は、カウントを停止し、カウント情報は、第２スレーブ端末１１０３の送信データＦＩＦＯ２２０に伝達され、記憶される。第２スレーブ端末１１０３のカウンタ２７０は、次に、送信Ｓｙｎｃトリガー発生器２１０に信号を伝達して、送信Ｓｙｎｃトリガー発生器２１０から送信バッファ・マネジャ／ＤＭＡ２１５へ伝達されるトリガーが生成されて、カウンタ情報を有するデータ・パケットが、ＴＸ  ＭＡＣ２２５によって、マスター端末１１０１に送信されるようになる。
【００１９】
前と同様に、第２スレーブ端末１１０３から送信して戻されたデータ・パケットは、マスター端末１１０１によって受信され、マスター端末１１０１のマイクロ制御器１２５１が、受信したデータ・パケットを使用して、第２スレーブ端末１１０３に送信され、第２スレーブ端末１１０３から戻るように受信されたデータについてのラウンド・トリップ遅延時間が確定される。したがって、マスター端末１１０１から第２スレーブ端末１１０３に送信されるデータについての時間レーテンシが確定される。マスター端末１１０１は、次に、確定された各ラウンド・トリップ遅延時間を使用して第２スレーブ端末１１０３についてのオフセットを確定し、各オフセットを第２スレーブ端末１１０３に送信し、それによって、第２スレーブ端末１１０３およびマスター端末１１０１は、時間上で同じ基準点を有する。本発明によるパケット・ネットワークのスレーブ端末のそれぞれについての、ラウンド・トリップ遅延時間およびオフセットは、各Ｓｙｎｃタイム・フレームを使用してほぼ同じ方法で確定される。スレーブ端末１１０２〜１１０４についての、ラウンド・トリップ遅延測定およびオフセットは通常、１度行うことが必要なだけであるが、ネットワーク状態が変化する、本発明の別の実施形態では、ラウンド・トリップ遅延測定は、たとえば、マスター端末によって周期的に行われるか、または、スレーブ端末の少なくとも１つからのトリガー信号に応答して、マスター端末によって行われてもよい。
【００２０】
図３は、図１のパケット・ネットワーク１００のマスター端末１１０１およびスレーブ端末１１０２〜１１０４で使用するのに適したマイクロ制御器の実施形態の高レベル・ブロック図である。マスター端末１１０１およびスレーブ端末１１０２〜１１０４のマイクロ制御器１２５１〜１２５４のそれぞれは、ほぼ同じであるため、図３のマイクロ制御器１２５は、図１のパケット・ネットワーク１００のマスター端末１１０１およびスレーブ端末１１０２〜１１０４のマイクロ制御器１２５１〜１２５４のそれぞれを表すと考えられるべきである。図３のマイクロ制御器１２５は、プロセッサ３１０、ならびに、情報、アルゴリズム、および制御プログラムを記憶するメモリ３２０を備える。プロセッサ３１０は、電源、クロック回路、キャッシュ・メモリ、および同様なものなどの従来のサポート回路３３０、ならびに、メモリ３２０に記憶されるソフトウェア・ルーチンを実行するのを補助する回路と連携する。したがって、ソフトウェアとして本明細書で説明されるプロセス・ステップの一部は、ハードウェア内で、たとえば、種々のステップを実行するプロセッサ３１０と連携する回路として実施されてもよい。マイクロ制御器１２５はまた、マイクロ制御器１２５と通信する種々の機能要素間のインタフェースを形成する入出力回路３４０を収容する。
【００２１】
図３のマイクロ制御器１２５は、本発明による種々の制御機能を実行するようにプログラムされる汎用コンピュータとして示されるが、マイクロ制御器１２５のプロセスは、ハードウェア、たとえば、特定用途向け集積回路（ＡＳＩＣ）で実施されてもよい。したがって、本明細書で述べるプロセス・ステップは、ソフトウェア、ハードウェア、または、それらの組み合わせによって等価的に実行されるものと広く解釈されることが意図される。
【００２２】
スレーブ端末のそれぞれについて、ラウンド・トリップ遅延時間を確定することに加えて、スレーブ端末１１０２〜１１０４のそれぞれから受信された初期データ・パケットは、マスター端末１１０１のマイクロ制御器１２５１によって使用されて、スレーブ・クロックのステータス（すなわち、スレーブ端末のそれぞれの各カウンタのカウント）をマスター・クロックのステータス（すなわち、各Ｓｙｎｃタイム・フレームのそれぞれについての、マスター端末１１０１のカウンタのカウント）と比較して、マスター端末１１０１の基準マスター・クロック１２０１とスレーブ端末１１０２〜１１０４の各スレーブ・クロック１２０２〜１２０４との間のオフセットが確定される。たとえば、先に述べたように、マスター端末１１０１から第１スレーブ端末１１０２に送出された、Ｓｙｎｃデータ・パケット、たとえば、第１Ｓｙｎｃタイム・フレームに応答して、第１スレーブ端末１１０２から戻るデータ・パケットをマスター端末１１０１が受信すると、第１スレーブ端末１１０２からの返信されたデータ・パケットは、第１スレーブ端末１１０２のカウンタの状態（すなわち、カウントされるスレーブ・クロック・パルスの数）を含む。マスター端末１１０１のマイクロ制御器１２５１は、第１スレーブ端末１１０２のカウンタの状態（すなわち、クロック・パルスの数）をマスター端末１１０１のカウンタの状態と比較し、第１スレーブ端末１１０２について確定されたラウンド・トリップ遅延時間を考慮して、第１スレーブ端末１１０２のカウンタ（第１スレーブ端末１１０２のスレーブ・クロックの状態を表す）が、基準マスター・クロック１２０１からオフセットしている量を確定する。
【００２３】
より具体的には、本発明の一実施形態において、第１スレーブ端末１１０２からのスレーブ・クロック情報は、各Ｓｙｎｃタイム・フレーム、たとえば、第１Ｓｙｎｃタイム・フレームについてのマスター・クロック情報と比較される。第１スレーブ端末１１０２のスレーブ・クロックの代表的なパルスは、確定された各ラウンド・トリップ遅延時間に比例する量だけシフトされ、それによって、第１Ｓｙｎｃタイム・フレーム中のマスター・クロック１２０１のカウントされるクロック・パルスおよび第１Ｓｙｎｃタイム・フレーム中の第１スレーブ端末１１０２のカウントされるクロック・パルスは、時間上で同じ基準点を有する。次に、マスター・クロック１２０１のクロック・パルスの位相は、第１スレーブ端末１１０２のクロック・パルスの位相と比較される。位相がオフセットしている場合、マスター端末１１０１のマイクロ制御器１２５１は、第１スレーブ端末１１０２のスレーブ・クロック１２０２についての位相オフセット量を確定し、記録する。第１スレーブ端末１１０２から受信される、カウントされるクロック・パルスは、次に、マスター端末１１０１によって確定されたオフセットに等しい量だけオフセットされる。第１Ｓｙｎｃタイム・フレーム中にカウントされるマスター・クロック１２０１のクロック・パルス数は、次に、第１Ｓｙｎｃタイム・フレーム中に第１スレーブ端末１１０２のカウンタによってカウントされるスレーブ・クロックのクロック・パルス数と比較される。クロック・パルス数が異なる場合、マスター端末１１０１のマイクロ制御器１２５１は、第１スレーブ端末１１０２のスレーブ・クロック１２０２についての周波数オフセット量を確定し、記録する。マスター端末１１０１のマイクロ制御器１２５１は、次に、位相オフセットおよび周波数オフセットを組み込んで、第１スレーブ端末１１０２に送信するｓｙｎｃ信号を確定する。マスター端末１１０１からｓｙｎｃ信号を受信すると、第１スレーブ端末１１０２のマイクロ制御器１２５１は、制御信号を生成して、マスター端末１１０１によって生成されたｓｙｎｃ信号に比例する量だけスレーブ・クロック１２０２を調整し、第１スレーブ端末１１０２のスレーブ・クロック１２０２をマスター端末１１０１のマスター・クロック１２０１に同期化する。ほぼ同じ方法であるが、各Ｓｙｎｃタイム・フレーム中に記録されたスレーブ端末１１０３〜１１０４のスレーブ・クロック情報を使用して、残りのスレーブ端末１１０３〜１１０４のスレーブ・クロック１２０３〜１２０４を、マスター端末のマスター・クロック１２０１に同期化する。
【００２４】
先に述べた実施形態は、スレーブ端末のクロックをマスター端末のマスター・クロックに同期化するためにｓｙｎｃ信号を確定する整然としたステップを有する特定の方法を述べるが、特定の実施形態は、本発明の範囲を制限するものとみなされるべきではない。少なくとも２つのクロック信号間の位相オフセットおよび周波数オフセットを確定するための本発明の考え方の中で、種々の他の方法および手順を実施してもよいことが、本発明の教示によって情報を得た当業者によって理解されるであろう。さらに、先に述べた本発明の実施形態において、スレーブ端末のスレーブ・クロックをマスター端末のマスター・クロックに同期化するために、スレーブ・クロックが特定の量だけオフセットされることが述べられているが、同様に、本発明の考え方の中で、スレーブ端末のスレーブ・クロックをマスター端末のマスター・クロックに同期化するために、スレーブ端末のスレーブ・クロックのレートを増減してもよい。
【００２５】
本発明の実施形態において、パケット・ネットワークのスレーブ端末のスレーブ・クロックをマスター端末のマスター・クロックに対して行われるその後の同期化（すなわち、マスター端末１１０１からスレーブ端末１１０２〜１１０４への、ＳｙｎｃヘッダおよびＳｙｎｃタイム・フレームを有するデータ・パケットの初期送信ではなく、通常送信によって開始される同期化）のために、スレーブ端末１１０２〜１１０４のそれぞれの各カウンタは、所定の各カウント数の後に信号を生成するようになっており、信号は、スレーブ端末１１０２〜１１０４の各送信機Ｓｙｎｃトリガー発生器にトリガー信号を生成させるように働く。各送信機Ｓｙｎｃトリガー発生器からのトリガー信号は、各送信バッファ・マネジャ／ＤＭＡに伝達されて、Ｓｙｎｃヘッダを有する各データ・パケットが、各カウンタによって確定された各時間間隔の間に、スレーブ端末１１０２〜１１０４の各１つからマスター端末１１０１に送信されるようにさせる。たとえば、所定のカウント数の後に、第１スレーブ端末１１０２のカウンタは、第１スレーブ端末１１０２の送信Ｓｙｎｃトリガー発生器２１０に伝達される信号を生成する。送信機Ｓｙｎｃトリガー発生器に伝達された信号によって、第１スレーブ端末１１０２の送信機Ｓｙｎｃトリガー発生器は、送信バッファ・マネジャ／ＤＭＡ２１５に伝達されるトリガー信号を生成し、トリガー信号によって、Ｓｙｎｃヘッダを有する送信データＦＩＦＯ３２０に記憶されたデータ・パケットが、第１スレーブ端末１１０２のＴＸ  ＭＡＣ２２５によって、マスター端末１１０１に送信される。先に開示したように、トリガーはまた、第１スレーブ端末１１０２の受信Ｓｙｎｃトリガー発生器２５０によって生成され、受信バッファ・マネジャ／ＤＭＡ２３５に伝達されて、パッケージが、送信されたＳｙｎｃパケットに応答して、マスター端末１１０１から受信されることを受信バッファ・マネジャ／ＤＭＡ２３５に通知される。同期化を開始するために実施されるスレーブ端末１１０２〜１１０４の各カウンタによってカウントされる所定の各カウント数は、ユーザによって規定されるか、または、システムで望まれるクロック精度に応じて、たとえば、マイクロ制御器によって調整されることができる動的パラメータであってよい（すなわち、同期化を開始する所定のカウント数が少なければ少ないほど、同期化手順がより頻繁に行われる）。さらに、同期化を開始するために実施されるスレーブ端末１１０２〜１１０４の各カウンタによってカウントされる所定の各カウント数は、最初は、同期化をより頻繁に行い、システムが落ち着くと、頻度少なく同期化を行うように、システムの使用期間中に調整されてもよい。
【００２６】
Ｓｙｎｃヘッダを有するデータ・パケットを受信すると、マスター端末１１０１のＳｙｎｃフィルタ２４５は、Ｓｙｎｃヘッダを有するデータ・パケットが受信されたと判定する。応答して、マスター端末１１０１のカウンタ２７０は、基準Ｓｙｎｃ発生器１４０から信号を受信すると、既知の位置にセットされる（すなわち、カウンタ２７０はリセットされる）。先に開示したように、基準Ｓｙｎｃ発生器からの受信された信号は、Ｓｙｎｃタイム・フレームの開始を規定する。マスター端末１１０１のカウンタ２７０は、次に、基準マスター・クロック１２０１のクロック・パルスをカウントし始める。マスター端末のカウンタ２７０が、所定のクロック・パルス数をカウントすると、マスター端末１１０１のカウンタは、マスター端末の送信Ｓｙｎｃトリガー発生器２１０に信号を送出して、送信Ｓｙｎｃトリガー発生器２１０から送信バッファ・マネジャ／ＤＭＡ２１５へ伝達されるトリガーが生成されて、Ｓｙｎｃヘッダを有するデータ・パケットが、ＴＸ  ＭＡＣ２２５によって、第１スレーブ端末１１０２に送信されるようになる。先に開示したように、第１の所定のクロック・パルス数は、Ｓｙｎｃタイム・フレームの終了を規定する。Ｓｙｎｃパケットに加えて、Ｓｙｎｃタイム・フレームもまた、第１スレーブ端末１１０２に伝達される（すなわち、スレーブ端末がクロックの同期化を開始する）。
【００２７】
第１スレーブ端末１１０２が、ＳｙｎｃヘッダおよびＳｙｎｃタイム・フレームを有するデータ・パケットを受信すると、第１スレーブ端末１１０２のＳｙｎｃフィルタ２４５は、ＳｙｎｃヘッダおよびＳｙｎｃタイム・フレームを有するデータ・パケットが、マスター端末１１０１から受信されたと判定する。応答して、第１スレーブ端末１１０２のカウンタ２７０は、既知の位置にセットされる（すなわち、カウンタ２７０はリセットされる）。第１スレーブ端末１１０２のカウンタ２７０は、次に、マスター端末１１０１からの送信から回復したＳｙｎｃタイム・フレームに等しい期間の間、スレーブ・クロック１２０２のクロック・パルスをカウントする。第１Ｓｙｎｃタイム・フレームが終了すると、カウンタ２７０は、カウントを停止し、カウント情報は、第１スレーブ端末１１０２の送信データＦＩＦＯ２２０に伝達され、記憶される。第１スレーブ端末１１０２のカウンタ２７０は、次に、送信Ｓｙｎｃトリガー発生器２１０に信号を伝達して、送信Ｓｙｎｃトリガー発生器２１０から送信バッファ・マネジャ／ＤＭＡ２１５へ伝達されるトリガーが生成されて、カウンタ情報を有するデータ・パケットが、ＴＸ  ＭＡＣ２２５によって、マスター端末１１０１に送信されるようになる。
【００２８】
初期同期化手順について先に開示したように、同期化手順がその後続く。簡単に述べると、先に開示したその後の同期化手順の例は、スレーブ端末１１０２〜１１０４の任意の端末からのトリガー信号（すなわち、所定のカウント数の後の各スレーブ端末からの各Ｓｙｎｃパケットの送信）が、初期同期化手順について先に開示したように本発明の同期化手順を起こせさるように働くことを規定する。しかし、本発明の代替の実施形態において、マルチフレーム・トリガーを実施してもよいことが留意されるべきである。より具体的には、本発明によるネットワークにおいて生ずる可能性がある異なるデータ・レートを反映し、それに対処するために、スレーブ端末の送信Ｓｙｎｃ発生器および受信Ｓｙｎｃ発生器は、たとえば、毎回ではなく、所定のカウント数に達すると１回おきにトリガーを生成するようになっていてもよい。すなわち、スレーブ端末の送信Ｓｙｎｃ発生器および受信Ｓｙｎｃ発生器は、（所定のカウント数がカウントされるたびにトリガーを生成するのではなく）ある回数、所定のカウント数が各カウンタによってカウントされた後にトリガーを生成するようになっていてもよい。さらに、一部のスレーブ端末はマルチフレームで動作するように構成され、一方、他の端末は単一フレームで動作するように構成されてもよい。
【００２９】
本発明の代替の実施形態において、パケット・ネットワークのスレーブ端末のスレーブ・クロックをマスター端末のマスター・クロックに対して行うその後の同期化（すなわち、マスター端末１１０１からスレーブ端末１１０２〜１１０４への、ＳｙｎｃヘッダおよびＳｙｎｃタイム・フレームを有するデータ・パケットの初期送信ではなく、通常送信によって開始される同期化）のために、基準Ｓｙｎｃ発生器１４０によって生成される開始パルスは、スレーブ端末１１０２〜１１０４のスレーブ・クロック１２０２〜１２０４をマスター端末１１０１のマスター・クロック１２０１に周期的に同期化するように、周期的に繰り返される。より具体的には、先に開示した本発明の開始同期化手順は、基準Ｓｙｎｃ発生器１４０によって確定された同期化スケジュールおよび開始パルス（すなわち、第１Ｓｙｎｃタイム・フレームの開始）の送信に従って、周期的に繰り返されてもよい（すなわち、スレーブ端末のそれぞれについて、ラウンド・トリップ遅延時間を確定することを除いて）。基準Ｓｙｎｃ発生器１４０によって生成される開始パルスの繰り返し周期は、ユーザによって確定されることができる動的パラメータであり、少なくとも、特定のネットワークまたはシステムで望まれるクロック同期化の精度によって決まる。
上記は、本発明の種々の実施形態を対象とするが、本発明の他の、および、さらなる実施形態が、本発明の基本的な範囲から逸脱することなく考案されてもよい。したがって、本発明の適切な範囲は、添付特許請求項によって規定されなければならない。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施形態によるクロック同期化を含むパケット・ネットワークの高レベル・ブロック図である。
【図２】図１のパケット・ネットワークの端末のそれぞれで使用するのに適したネットワーク・インタフェース制御器の実施形態の高レベル・ブロック図である。
【図３】図１のパケット・ネットワークのマスター端末およびスレーブ端末で使用するのに適したマイクロ制御器の実施形態の高レベル・ブロック図である。
【図１】
2005260966.tif 000003
【図２】
2005260966.tif 000004
【図３】
2005260966.tif 000005