(57)【要約】  第１の基準クロックと、基準クロックの周波数に従属されるべき第２のクロックとの間でクロックを同期させる方法であって、これらの２つのクロックが共通クロックを共有する方法において、以下のステップ：−  基準クロックおよび共通クロックを使用した、タイムスタンプの整数部の計算と、−  基準クロックに対してローカルなシステムクロックの生成と、−  システムクロック信号と基準クロック信号との間の位相シフトの計算と、−  システムクロック信号と共通クロック信号との間の位相シフトの計算と、−  タイムスタンプの小数部の計算と、−  第２のクロックへの小数のタイムスタンプの送信と、−  共通クロックおよび受信されたタイムスタンプを使用した、第２のクロックを従属化することとを含む方法。
2013500614.tif 000002
【特許請求の範囲】
【請求項１】
第１の基準クロック（１１）と、基準クロック周波数に従属されるべき第２のクロック（１２）との間のクロック同期のための方法であって、これらの２つのクロックが共通クロック（３）を共有する方法において、以下のステップ、
基準クロック（１１）および共通クロック（３）を使用した、タイムスタンプの整数部の計算と、
基準クロック（１１）に対してローカルなシステムクロックの生成と、
システムクロック信号（６）と基準クロック信号（１１）との間の位相シフトの計算と、
システムクロック信号（６）と共通クロック信号（１１）との間の位相シフトの計算と、
タイムスタンプ（４）の小数部の計算と、
第２のクロックへの小数のタイムスタンプの送信と、
共通クロック（３）および受信されたタイムスタンプを使用した、第２のクロック（１２）を従属化することと
を含むことを特徴とする、方法。
【請求項２】
システムクロック（６）が、基準クロック（１１）および共通クロック（３）から非同期化されることを特徴とする、請求項１に記載の方法。
【請求項３】
システムクロック（６）の周波数が、基準クロック（１１）以上であることを特徴とする、請求項１または２に記載の方法。
【請求項４】
システムクロックの信号と、基準クロックの信号または共通クロックの信号との間の位相シフトが、数値制御発振器を使用して計算されることを特徴とする、請求項１に記載の方法。
【請求項５】
システムクロック（６）が、フィールドプログラマブルゲートアレイによって管理されることを特徴とする、請求項１に記載の方法。
【請求項６】
第１の基準クロック（１１）と、基準クロックの周波数に従属されるべき第２のクロック（１２）との間のクロック同期システムであって、これらの２つのクロックが共通クロック（３）を共有するシステムにおいて、
基準クロックに対してローカルなシステムクロック（６）と、
基準クロック（１１）に対してローカルな数値制御発振器と
を備えることを特徴とする、システム。
【請求項７】
システムクロック（６）が、フィールドプログラマブルゲートアレイによって管理されることを特徴とする、請求項６に記載のシステム。
【請求項８】
数値制御発振器が、システムクロック信号（６）と基準クロック信号（１１）との間の位相シフトを計算することを特徴とする、請求項６に記載のシステム。
【請求項９】
数値制御発振器が、システムクロック信号（６）と共通クロック信号（３）との間の位相シフトを計算することを特徴とする、請求項６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時間データ管理、より詳細には、クロック同期の技術分野に関する。
【背景技術】
【０００２】
同期は、分散システム内のリアルタイムアプリケーションの正確な動作に不可欠な重要な課題の１つである。「分散システム」は、通信ネットワーク（有線またはモバイル）、コンピュータネットワークまたはマルチプロセッサハードウェアアーキテクチャなどの、このネットワークを介して通信する任意のネットワーク接続されたエンティティのセットである。さらに、以下において、「エンティティ」は、任意のプロセッサ、アプリケーション、ノード、またはより一般的には、時間情報を必要とする方法もしくはシステムを指す。
【０００３】
通常、分散システムでは、共通の時間概念を必要とする複数のエンティティが区別される。これを達成するための第１のステップは：
−  全てのエンティティに単一の共有グローバルクロックを参照させること、または
−  全てのこれらのエンティティに完全同期式クロックを備えること
である。
【０００４】
しかし、空間におけるこれらのエンティティの分散は、エンティティによって異なる送信時間をもたらし、これは、共有クロックが瞬時に全体を把握する可能性を危うくする。さらに、同期して開始する２つのクロックは、決して同期状態を維持しない。環境要因（例えば、温度、気圧、高度、ドップラー効果による移動度、電源電圧）における短期的変化、またはあるクロックの別のクロックに対するエージングなどの長期的変化は、多かれ少なかれ、かなりのドリフト（１日当たり最大数秒）を引き起こし、第２の選択肢を不正確なものにする。
【０００５】
したがって、分散システムのエンティティ間での同期化のための方法を使用することが不可欠である。
【０００６】
分散システム内のノードのセットの同期化のための２つの手法が区別される。第１の手法は外部同期と呼ばれ、外部基準クロックの使用に基づく。第２の手法は内部同期と呼ばれ、一群のクロックを同期状態に維持することを目的とする。
【０００７】
内部同期方法は、分散システムにおける全てのクロックを同じ時間に合わせることを目的とする。これは実時間ではない。これは、全てのクロック間でいくつかの妥協点を満たす時間である。
【０００８】
外部同期方法では、分散システムの様々なエンティティのクロックは、できるだけ共通クロック（システムクロック、またはシステムの外部のクロック）に近づこうと試みる。共通クロックは、例えば、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ：全地球測位システム）時間またはＬＯＲＡＮ（ＬＯｎｇ  ＲＡｎｇｅ  Ｎａｖｉｇａｔｉｏｎ：長距離航法）時間に設定され得る。
【０００９】
クロックは主に、発振器とカウンタとを備える。発振器は、カウンタが１単位ずつ増加されるときに、クロック「チック」を規則正しく生成する。その結果として、時間を示すためには、カウンタによって出力される数を因数分解する必要がある（例えば、１００回のチックが１秒に相当するということが知られている場合、秒単位で時間を求めるには、カウンタを１００で除算するだけでよい）。発振器は、発振周波数によって特徴付けられ、通常、その後に整形が続いて矩形の周期信号を得る。この場合、クロックチックは、例えば、矩形の信号の立ち上がり面または立ち下がり面に対応し得る。
【００１０】
より一般的には、同期化問題の標準的な場合を考え、２つの通信エンティティに属する２つのクロックの同期化を考えるが、２つのクロックのうちの１つは、第２のエンティティのための基準クロックである。
【００１１】
基準クロックが共通クロックであるとき、２つの遠隔のクロックは、共通クロックの時間窓において記録された通りの数のチックを基準クロックから第２のクロックに送信することによって同期する。この数は、タイムスタンプとして知られている。したがって、受信側のクロックは、受信されたタイムスタンプおよび共通クロックを使用して、その周期性を調整する。
【００１２】
しかし、送信されたタイムスタンプは基準クロック発振サイクルの自然数であり、したがって、基準クロック信号の周期の任意の部分を無視する。その結果として、最大の同期精度は、基準クロックの１周期程度である。
【００１３】
知られているシステムおよび方法は、特にその低い精度のため、不完全である。これらは、基準クロックの周期より小さくすることができない時間分解能を有する。これらは、共通クロックの時間窓において観測される基準クロックのパルス数の詳細な記述を使用可能にすることができない。
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本発明の１つの目的は、２つのクロック間の同期の精度を改善することである。
【００１５】
本発明の別の目的は、分散ネットワークにおける２つのエンティティ間の時間ドリフトを低減することである。
【００１６】
本発明の別の目的は、基準クロックの１サイクルの持続時間以下の分解能を得ることである。
【００１７】
本発明の別の目的は、基準クロックパルスの周期の部分に対する同期精度を改善することである。
【００１８】
本発明の別の目的は、同期メッセージを搬送する通信ネットワークにおけるジッタを低減することである。
【００１９】
本発明の別の目的は、基準クロックから第２のクロックに送信される少数のタイムスタンプによって高い同期精度を保証することである。
【００２０】
本発明の別の目的は、有限の観測時間窓によって高い同期精度を保証することである。
【００２１】
本発明の別の目的は、同期方法の精度が共通クロックの周波数に依存する程度を低減することである。
【００２２】
本発明の別の目的は、同期調整関数を定義することである。
【００２３】
本発明の別の目的は、同期方法に影響を与える不確定性の原因を排除し、いくつかのタイムスタンプの平均をとる必要をなくすことである。
【課題を解決するための手段】
【００２４】
第１の態様によれば、本発明は、第１の基準クロックと、基準クロックの周波数に従属されるべき第２のクロックとの間でクロックを同期させる方法を開示し、これらの２つのクロックは共通クロックを共有し、本方法は以下のステップ：
−  基準クロックおよび共通クロックを使用した、タイムスタンプの整数部の計算と、
−  基準クロックに対してローカルなシステムクロックの生成と、
−  システムクロック信号と基準クロック信号との間の位相シフトの計算と、
−  システムクロック信号と共通クロック信号との間の位相シフトの計算と、
−  タイムスタンプの小数部の計算と、
−  第２のクロックへの小数のタイムスタンプの送信と、
−  共通クロックおよび受信されたタイムスタンプを使用した、第２のクロックを従属化することと
を含む。
【００２５】
第２の態様によれば、本発明は、第１の基準クロックと、基準クロックの周波数に従属されるべき第２のクロックとの間のクロック同期システムを開示し、これらの２つのクロックは共通クロックを共有し、本システムは：
−  基準クロックに対してローカルなシステムクロックと、
−  基準クロックに対してローカルな数値制御発振器と
を備える。
【００２６】
添付の図面を参照しながらなされる、好ましい実施形態の以下の説明を読めば、本発明の他の特徴および利点がより明確にかつ完全に明らかとなろう。
【図面の簡単な説明】
【００２７】
【図１】現況技術を図式的に示す図である。
【図２】現況技術を図式的に示す図である。
【図３】本発明による、タイムスタンプを計算する方法を図式的に示す図である。
【発明を実施するための形態】
【００２８】
高精度なクロック同期方法およびシステムの以下の説明では、分散システムは少なくとも
−  そのクロック１１が、クロック１２を備える少なくとも１つの第２のエンティティ２のための基準として使用される、第１のエンティティ１と、
−  共通クロック３と
を備えるものと仮定される。共通クロックの例としては、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ：全地球測位システム）時間、ＬＯＲＡＮ（ＬＯｎｇ  ＲＡｎｇｅ  Ｎａｖｉｇａｔｉｏｎ：長距離航法）時間、ならびに正確であってエンティティ１および２にアクセス可能であるとみなされる任意の他の時間が挙げられる。
【００２９】
２つのエンティティ間の関係は通常、第２のエンティティ２のクロック１２が第１のエンティティ１のクロック１１に従属する、クライアント−サーバ関係またはマスタ−従属関係と呼ばれる。エンティティは同時にマスタであり、従属であってもよいことに留意されたい。
【００３０】
同期は、第１のエンティティ１から第２のエンティティ２へのタイムスタンプ４の規則的な送信に基づく。タイムスタンプは、共通クロック３の観測時間窓における基準クロック１１によって作成されたクロックチックの整数を反映する自然数の表示を含む。
【００３１】
例えば、図２は、
−  所与の周波数を有する基準クロック１１、
−  好ましくは基準クロックの周波数より高い周波数を有する共通クロック３、および
−  共通クロック３の時間間隔での基準クロック１１からの信号のサンプリング５
を示す。サンプリング５は、タイムスタンプ４の内容を決定する。
【００３２】
この例では、
−  クロックチックは、クロック信号の任意の立ち上がり面に対応し、
−  共通クロック３の時間の観測時間窓は、共通クロック３からの信号の周期の３倍に等しい
ことに留意されたい。
【００３３】
その結果として、タイムスタンプは、共通クロック３からの信号の３周期毎に、第２のエンティティ２に送信される。サンプリング時間５１および５２で差し引かれるタイムスタンプ４はそれぞれ、２および４に等しい。タイムスタンプ４は、共通クロック３の周期の数として表される、観測窓において識別された基準クロック１１からの信号における立ち上がり面の数に対応する。
【００３４】
一変形形態では、タイムスタンプ４は、最新のタイムスタンプ送信以後に検出された立ち上がり面の数を含む。この場合、サンプリング時間５１および５２でのタイムスタンプの値はそれぞれ、２および２に等しい。
【００３５】
サンプリング時間でのＥ１およびＥ２の不正確さの記録された値はそれぞれ、５１および５２であることに留意されたい。これらの不正確さは、基準クロック１１からの信号の周期の部分である。
【００３６】
Ｅ１およびＥ２はそれぞれ、サンプリング時間５１および５２での基準クロック１１からの信号と共通クロック３からの信号との間の位相シフトを表す。
【００３７】
したがって、Ｅは、観測窓におけるタイムスタンプ４によって考慮されない基準クロックからの信号の周期の部分の合計である。この合計は代数的であり、言い換えれば、観測窓の端部で、基準クロック１１からの信号の周期の部分のプラスマイナス分が存在し得ることに留意されたい。
【００３８】
基準クロック１１に対してローカルなシステムクロック６は、図３に示されるように、基準クロック１１からの信号の周期の部分Ｅを考慮するために使用される。
【００３９】
システムクロック６の周波数は、基準クロック１１以上である。そのようなクロックは、好ましくは共通クロック３および基準クロック１１から非同期化されたローカルクロックで提供されるＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ：フィールドプログラマブルゲートアレイ）によって容易に管理され得る。
【００４０】
システムクロック６は、共通クロック３の時間窓において観測された基準クロック１１の周期によって部分Ｅを定量化する。
【００４１】
このため、ＮＣＯ（Ｎｕｍｅｒｉｃａｌｌｙ−Ｃｏｎｔｒｏｌｌｅｄ  ｏｓｃｉｌｌａｔｏｒ：数値制御発振器）は：
−  システムクロック６と基準クロック１１との間の位相シフトと、
−  システムクロック６と共通クロック３との間の位相シフトと
を計算するために使用される。
【００４２】
このようにＮＣＯを使用することで、立ち上がり面に加えて、クロックの発振の位相が考慮される。
【００４３】
カウンタは、それぞれの位相シフトの計算と関連付けられる。第１のカウンタは、システムクロック６からの信号の周期と基準クロック１１からの信号の周期との比に等しいステップだけ、システムクロック６のそれぞれの立ち上がり面で増分される。第２のカウンタは、システムクロック６からの信号の周期と共通クロック３からの信号の周期との比に等しいステップだけ、システムクロック６のそれぞれの立ち上がり面で増分される。
【００４４】
それぞれのサンプリング時間５１、５２で、送信されるタイムスタンプの小数部は、システムクロック６とシステムクロック１１との間、およびシステムクロック６と共通クロック３との間のこれらの位相シフトから、それぞれ差し引かれる。
【００４５】
送信されるタイムスタンプの小数部は、
−  サンプリング時間での第１のカウンタの値から、
−  「基準クロック１１の周波数と共通クロック３の周波数との比」で乗算した「第１のカウンタの増分ステップ」
を減算することによって得られる数の小数部に等しい。
【００４６】
基準クロック１１の周波数に従属されるべき第２のクロック１２に送信されるタイムスタンプは、
−  共通クロックの時間窓における立ち上がり面の数によって与えられる第１の整数部と、
−  システムクロック６と基準クロック１１からの信号間の位相シフト、およびシステムクロック６と共通クロック３との間の位相シフトから差し引かれた小数部と
からなる。
【００４７】
一変形形態として、タイムスタンプの値は、第１のカウンタおよび第２のカウンタの値を使用して、２つの連続するサンプリング時間において計算されたこれらの値の間の差によって与えられる。
【００４８】
システムクロックにより、基準クロック１１からの信号および共通クロック３からの信号のオーバーサンプリングが可能になり、その結果、より良い記述、したがって、同期方法のより良い精度がもたらされることに留意されたい。
【００４９】
有限の観測時間窓における基準クロック１１のチックのより詳細な定量化は、小数の値を有するタイムスタンプを使用して行われる。
【００５０】
そのようなさらなる精度は、小数部を符号化するのに利用可能なビット数に依存することに留意されたい。
【００５１】
受信時に、第２の受信側エンティティ２は、ＰＬＬ（Ｐｈａｓｅ−Ｌｏｃｋｅｄ  Ｌｏｏｐ：位相ロックループ）を使用して基準クロック１１の発振周波数を見出す。このＰＬＬは、第２のエンティティ２におけるクロック１２の周波数を基準クロック１１の周波数に従属させる。
【００５２】
パケット遅延の変動またはパケットロスなどの、送信チャネルによる妨害を考慮するために、他の処理がこの同期方法に追加され得ることに留意されたい。
【図１】
2013500614.tif 000003
【図２】
2013500614.tif 000004
【図３】
2013500614.tif 000005
【国際調査報告】
2013500614.tif 000006
2013500614.tif 000007
2013500614.tif 000008
2013500614.tif 000009