(57)【要約】  本発明は、第１クロック(HB)を有する第１マシン(B)のローカル時間と第２クロック(HA)を有する第２マシン(A)のローカル時間との間の対応関係を生成する方法に関する。  本発明はさらに、前記第２マシン(A)のローカル時間に関して、前記第１マシン(B)によって記録されたデータ及びスタンピングされた日付を同期する方法に関する。より柔軟で強健にするために、この方法は、前記クロック(HA、HB)の同期を含まないが、それらのクロックが示す時間の間の「間隔による」対応関係の確立に基く。対応関係を確立するために、非単調な時間基準は、前記２台のマシン（また可能な別の装置）を少なくとも一時的に接続する同期バスのクロックによって形成されることができる。【選択図】図２
2007526570.tif 000002
【特許請求の範囲】
【請求項１】
第１の単調なクロック(HB)によって示された時間(TB)、及び同じく単調な第２のクロック(HA)によって示された時間(TA)間の間隔（[TB]、[TAB]）による対応関係を確立する方法であって、少なくとも１つの時間範囲(P1,P4)にわたって、前記第１及び前記第２のクロックに共通し、前記範囲で単調である第１の時間基準(NT)を操作することを特徴とし、且つ、
前記第１のクロック(HB)の第１ペアの時間値(TB)によって取り囲まれ、且つ、前記第１及び前記第２のクロックに共通する前記第１の時間基準(NT)が存在する第１の時間範囲(P1)に属する第１の時間間隔([TB1])を決定するステップａ）と、
前記第１のクロック(HB)の第２ペアの時間値(TB)によって取り囲まれ、且つ、前記第１及び前記第２のクロックに共通する前記第１の時間基準(NT)が存在する第２の時間範囲(P4)に属する第２の時間間隔([TB２])を決定するステップｂ）と、
前記共通時間基準(NT)を用いて、前記第２のクロック(HA)の第１ペアの時間値(TA)によって取り囲まれ、前記第１の時間間隔([TB1])を包含する第３の時間間隔([TAB1])を決定するステップｃ）と、
前記共通時間基準(NT)を用いて、前記第２のクロック(HA)の第２ペアの時間値(TA)によって取り囲まれ、前記第２の時間間隔([TB２])を包含する第４の時間間隔([TAB２])を決定するステップｄ）と、
前記第１のクロック(HB)の第３ペアの時間値(TB)によって取り囲まれる任意の第５の時間間隔([TB])のために、前記第２のクロック(HA)の第３ペアの時間値(TA)によって囲まれ、前記第５の時間間隔([TB])を包含する第６の時間間隔([TAB])を計算するステップｅ）とを含み、
前記計算が、前記第１の間隔([TB1])、前記第２の間隔([TB2])、前記第３の間隔([TAB1])、および前記第４の間隔([TAB2])を用いて、補間または外挿によって行われることを特徴とする方法。
【請求項２】
前記ステップｃ）が、
前記第１の時間間隔([TB1])が第７及び第８の時間間隔([TA11]及び[TA21])の間に存在するように、それぞれ前記第２のクロック(HA)の第４及び第５ペアの時間値(TA)によって取り囲まれ、前記第１の時間範囲(P1)に属する前記第７および第８の時間間隔([TA11]及び[TA21])を決定するオペレーションｃ１）と、
それぞれ前記第１の時間間隔([TB1])、第７の時間間隔([TA11])、及び第８の時間間隔([TA21])に含まれる、前記第１の共通時間基準(NT)の第１の値(NTB1)、第２の値(NTA11)、及び第３の値(NTA21)を決定するオペレーションｃ２）と、
前記第１の時間間隔([TB1])、前記第７の時間間隔([TA11])、及び前記第８の時間間隔([TA21])、並びに前記第１の共通時間基準(NT)の前記第１の値(NTB1)、前記第２の値(NTA11)、及び前記第３の値(NTA21)を用いて、前記第３の時間間隔([TAB1])を補間によって計算するオペレーションｃ３）とを含み、
前記ステップｄ）が、
前記第２の時間間隔([TB2])が第９の間隔([TA12])及び第１０の間隔([TA22])の間に存在するように、それぞれ前記第２のクロック(HA)の第６及び第７ペアの時間値(TA)によって取り囲まれ、前記第２の時間範囲(P4)に属する前記第９の間隔([TA12])及び前記第１０の間隔([TA22])を決定するオペレーションｄ１）と、
それぞれ前記第２の時間間隔([TB2])、前記第９の時間間隔([TA12])及び前記第１０の時間間隔([TA22])に含まれる前記第１の共通時間基準(NT)の第４の値(NTB2)、第５の値(NTA12)及び第６の値(NTA22)を決定するオペレーションｄ２）と、
前記第２の時間間隔([TB2])、前記第９の時間間隔([TA12])、及び前記第１０の時間間隔([TA22])、並びに前記第１の共通時間基準(NT)の前記第４の値(NTB2)、前記第５の値(NTA12)、及び前記第６の値(NTA22)を用いて、前記第４の時間間隔([TAB2])を補間によって計算するオペレーションｄ３）とを含む請求項１に記載の方法。
【請求項３】
前記ステップｃ）が、
前記第１の時間間隔([TB1])が前記第２のクロック(HA)の時間値(TA)の第７の値(TA11)及び第８の値(TA21)の間に存在するように、前記第１の時間範囲(P1)に属する前記第７の値(TA11)及び前記第８の値(TA21)を決定するオペレーションｃ１）と、
それぞれ前記第１の時間間隔([TB1])、前記第２のクロック(HA)の時間値(TA)の前記第７の値(TA11)及び前記第８の値(TA21)を含む、前記第１の共通時間基準(NT)の値の第１の間隔([NTB1])、第２の間隔([NTA11])、及び第３の間隔([NTA21])を決定するオペレーションｃ２）と、
前記第１のクロック(HB)の時間値(TB)の前記第１の間隔([TB1])、前記第２のクロック(HA)の時間値(TA)の前記第７の値(TA11)及び前記第８の値(TA21)、並びに前記第１の共通時間基準(NT)の値の前記第１の間隔([NTB1])、前記第２の間隔([NTA11])、及び前記第３の間隔([NTA21])を用いて、前記第３の時間間隔([TAB1])を補間によって計算するオペレーションｃ３）を含み、
前記ステップｄ）が、
前記第２の時間間隔([TB2])が前記第２のクロック(HA)の時間値(TA)の第９の値(TA12)及び第１０の値(TA22)の間に存在するように、前記第２の時間範囲(P4)に属する前記第９の値(TA12)及び前記第１０の値(TA22)を決定するオペレーションｄ１）と、
前記第２の時間間隔([TB2])、前記第２のクロック(HA)の時間値(TA)の前記第９の値(TA12)及び前記第１０の値(TA22)を含む、前記第１の共通時間基準(NT)の値の第４の間隔([NTB2])、第５の間隔([NTA12])および第６の間隔([NTA22])を決定するオペレーションｄ２）と、
前記第１クロック(HB)の時間値(TB)の前記第２の間隔([TB2])、前記第２のクロック(HA)の時間値(TA)の前記第９の値(TA11)及び前記第１０の値(TA21)、並びに前記第１の共通時間基準(NT)の値の前記第４の間隔([NTB1])、前記第５の間隔([NTA11])および前記第６の間隔([NTA21])を用いて、前記第４の時間間隔([TAB2])を補間によって計算するオペレーションｄ３）を含む請求項１に記載の方法。
【請求項４】
前記オペレーションｃ３）が、前記共通時間基準(NT)の前記第１の値(NTB1)、前記第２の値(NTA11)および前記第３の値(NTA21)を、前記第１の時間範囲(P1)において幅が前記第１の共通時間基準(NT)の離散化誤差に等しい時間間隔([NTB1], [NTA11], [NTA21])によって代替することによって実行され、
前記オペレーションｄ３）が、前記共通時間基準(NT)の前記第４の値(NTB2)、前記第５の値(NTA12)および前記第６の値(NTA22)を、前記第２の時間範囲(P4)において幅が前記第１の共通時間基準(NT)の離散化誤差に等しい時間間隔([NTB2], [NTA12], [NTA22])によって代替することによって実行される請求項２に記載の方法。
【請求項５】
前記オペレーションｃ３）およびｄ３）が、前記第２のクロック(HA)の時間値(TA)の前記第７の値(TA11)、前記第８の値(TA21)、前記第９の値(TA12)および前記第１０の値(TA22)を、幅が前記第２のクロック(HA)の時間(TA)の離散化誤差に等しい時間間隔([TA11], [TA12], [TA21], [TA22])によって代替することによって実行される請求項３に記載の方法。
【請求項６】
第１の共通時間基準(NT)が存在する１つ以上の前記時間範囲(P1, P4)において、前記第１クロックの第１読取り(TL1 - FHB)、続いて前記第１の共通時間基準の読取り(TR - FHB)、そして前記第１クロックの第２読取り(TL2 - FHB)が複数回記録され、また独立的に、前記第２のクロックの第１読取り(TL1 - FHA)、続いて前記第１の共通時間基準の読取り(TR - FHA)、そして前記第２のクロックの第２読取り(TL2 - FHA)も複数回記録され、
前記オペレーションc1)、c2)、c3)、d1)、d2)およびd3)が、これらの記録を使用して行われる請求項２又は請求項４に記載の方法。
【請求項７】
第１の共通時間基準(NT)が存在する１つ以上の前記時間範囲(P1,P4)において、前記第１の共通時間基準(NT)の第１読取り、続いて前記第１クロック(HB)の読取り、そして前記第１の共通時間基準(NT)の第２読取りが複数回記録され、また独立的に、前記第１の共通時間基準(NT)の第１読取り、続いて前記第２クロック(HA)の読取り、そして前記第１の共通時間基準(NT)の第２読取りも複数回記録され、
前記オペレーションc1)、c2)、c3)、d1)、d2)およびd3)が、これらの記録を使用して行われる請求項３又は請求項５に記載の方法。
【請求項８】
前記ステップｅ）が、間隔による線形補間、あるいは間隔による線形外挿によって実行される請求項１〜請求項７の何れか１項に記載の方法。
【請求項９】
前記オペレーションｃ３）およびｄ３）が、間隔による線形補間によって行われる請求項２〜請求項７の何れか１項に記載の方法、或いは請求項２又は請求項３に従属する請求項８に記載の方法。
【請求項１０】
前記第１及び前記第２のクロックに共通する前記第１の時間基準(NT)が、少なくとも２つの個別の時間範囲(P1,P4)内に存在し、１つの時間範囲から別の時間範囲に移るときには単調性の破壊を含み、
第２の単調な共通時間基準(TMR-NMR)を使用して、前記第１の共通時間基準(NT)の非単調性に起因する不明確さを解決する請求項１〜請求項９の何れか１項に記載の方法。
【請求項１１】
第２クロック(HA)を有する第２マシン(A)のローカル時間に関して、第１クロック(HB)を有する第１マシン(B)によって記録されたデータ及びスタンピングされた日付を同期する方法であって、
前記日付スタンピングが、前記第１のマシンによって記録された各データ値を第１クロック(HB)の第３ペアの時間値(TB)によって取り囲まれた第５の時間間隔([TB])と関連づけることにより実行され、且つ、
前記同期が、請求項１〜請求項１０の何れか１項に記載の方法に従って、前記第２クロック(HA)の第３ペアの時間値(TA)により取り囲まれ、前記第５の時間間隔([TB])を含む第６の時間間隔([TAB])を決定することにより行われることを特徴とする方法。
【請求項１２】
前記第１の共通時間基準(NT)が、前記第１及び前記第２マシンを少なくとも一時的に接続する同期バス(BUS)のクロック(HBUS)によって供給される請求項１１に記載の方法。
【請求項１３】
前記方法が、
各々のデータが同期されるべき各マシンによってローカルに実行されるクロックの読取りを、請求項６又は請求項７に記載されたように記録する第１サブプロセスと、
前記データ記録セッションの終了後に全てのデータが転送されるマシンによって達成される同期自体のための第２サブプロセスとに分割される請求項１１又は請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されたセンサまたはコンピュータのような複数のマシンの内部クロックによって示された時間の間の対応関係を決定する方法、および上記マシンにより生成されるデータを同期させる方法に関する。これらの２種類の方法は互いに密接にリンクし、第２の方法は第１の方法の直接の適用を構成する。
【０００２】
この明細書では、「データを同期する」ことは、データをその取得時間の関数として時間順に順序付けることを意味する。より限定された意味では、これら同じデータをあるユニークな時間基準に関して「日付スタンピング」することをも意味する。他方、「クロックを同期する」ことは、所定の瞬間で同じ時刻を示すことをクロックに強制させることを意味する。
【背景技術】
【０００３】
データを同期させる方法は、例えば自動車運転補助装置の確認の分野で必要である。ドライバーの振舞いに対するこれらの装置の影響を検討するために、テスト自動車は、ネットワークに接続された様々なセンサを装備され、車両（平均速度、加速．．．）、他の車両との相互作用（距離と相対速度．．．）、およびドライバーの振舞い（反応時間、方向の観察．．．）に関する情報が同時に取得されることを可能にする。これらの様々なセンサによって取得したデータ値、および運転補助装置によって記録したデータ値が人間工学者によって利用できるように同期されなければならない。また、同期の精度は、１ｋＨｚに達することができるデータ取得レートのためには、１ｍｓよりよくなければならず、好ましくは１００μｓよりよくなければならない。同時に、取得ネットワークが使用中に再構成され、失敗と接続問題に対して非常に強健なことを可能にするためには、標準設備装置を使用しシステムが非常に柔軟であることが望ましい。
【０００４】
複数の装置から生成されるデータの同期問題の最も明白な解決策は、すべてのクロックを同期させることである。各装置はそれぞれ、記録するデータ値に「日付スタンプ」を割り当て、また、クロックが互いに同期されているので、日付スタンプはすべて直接比較可能である。この状況では、すべてのローカル時間が実質的に一致するので、ローカル時間の間の対応を決定することは問題にならない。
【０００５】
クロックの同期はハードウェアまたはソフトウェア的なやり方で実行されうる。これらの技術への概略的な紹介はJ.A. FonsecaおよびP. Fonsecaの記事、「クロック同期の解決方法の概説」の中で提供されている（An overview of clock synchronization solutions, 4th IFAC International Symposium, Sicica, Argentina, 2000）。
【０００６】
ハードウェア的な解決策は、すべての装置に共通する外部クロック信号の使用に基く。そのようにすれば、例えばＧＰＳシステムのクロックのような原子クロックの使用によって非常に高い精度が得られる。他方、これらの解決策は、専用設備を要求する欠点を有する：外部クロック信号を使用するように設計されていない装置はネットワークに接続されることができない。
【０００７】
ソフトウェア的な解決策は、ネットワークに接続された各装置の「ハードウェア」クロックによってコントロールされたソフトウェアクロック（メモリに格納された変数）の使用を含む。ソフトウェアクロックが、任意の瞬間でほぼ同じ時刻を示すように同期される。この解決策はさらに、２つのクラスに区別されることができる：
−  クロックドリフトを無視することができると仮定し、ネットワークを使用してセッションの初めに一回の同期を行うか、
−  あるいは、使用中に再同期をも行う；  これは、例えばプロトコルＮＴＰ（ネットワークタイムプロトコル）に採用されている技術である。
【０００８】
第１クラスの解決策については、無視できるドリフトの仮定は、少なくとも数時間の取得時間、および商業的入手可能なコンピュータを使用する場合においてはその確認が難しい：商業的入手可能なコンピュータのクロックが、３００μｓ／秒、あるいは１秒／時間以上に達しうるドリフトを示しうる。これらのクロックをよりよい品質のコンポーネントに置き換えることは、高価でそれほど柔軟でないハードウェア的な解決策と同じことになる。
【０００９】
第２クラスの解決策は、クロックの単調性に関連した問題を有している。例えば、もしクロックが基準時間に比べて進んでいれば、それは再同期中に後ろに戻されるだろう。もし第１データ値が再同期の瞬間の直前に記録され、第２データ値が再同期の瞬間の直後で記録されている場合、第２記録のタイムスタンプが第１記録のそれより前の日付になり、データの時間順序が逆になる。さらに、時間の単調性の維持を課する既知のアルゴリズムは比較的遅い収束を見せている。
【００１０】
いずれの場合においても、クロックの同期、あるいは単一クロックの使用に基づくデータの同期は、装置のネットワークを再構成する可能性に制限をもたらしてしまう。ここに、従来技術における既知の技術の限界を見ることができる具体的な例を挙げる。同じネットワークに接続され、ハードウェアまたはソフトウェア的な方法によってそれぞれのクロックが同期状態に保持されている２台のマシンＸ、Ｙを考える。所定の瞬間では、マシンＹは、ネットワークから、故意にあるいは接続問題のために切断されるが、データを記録し続ける。一定の時間の経過後に、マシンＹはようやく再度接続される。マシンＸおよびＹのクロック間の同期が修復不能に失われていたので、切断の期間中に取得したデータを時間順に順序付けることが可能ではないことは容易に理解できる。この理由で、これらの同期方法は潜在的なネットワーク接続問題に非常に弱い。さらに、もし切断の期間中に、マシンＹが、マシンＺをも含む第２ネットワークに接続されていれば、Ｘによって記録されたデータをＺによって記録されたデータと同期させるすべもないだろう。特にクロックの単調性が維持されることが望まれる場合、マシンＹの再接続も問題である。この原因で、これらの既知の同期方法は、適用されるネットワークの（オペレーション中の）「ホット（hot）」再コンフィギュレーションの可能性に限界をもたらす。
【００１１】
従来技術から分かる別の技術は、内部クロックが同期されていない装置のローカル時間の間に近似的な対応関係を確立するために時間的なマーカーを使用することである。この場合、データの同期が、殆ど遡及的に、言いかえれば記録セッションが終わってから行われ、このため、時にはデータの「再同期」と呼ばれる。
【００１２】
そのような場合はしばしばマルチメディアの分野で発生する。そこでは、例えばディジタルカメラによって得られたイメージを、外部マイクロホンによって得られた音声と同期させる必要がある。しかしながら、マルチメディアの分野では、精度についての要求はかなり適度であり、おおよそ３３ｍｓまでのエラーが人間にとって感知できない。マルチメディア適用の中で使用されるいくつかのデータ同期技術が、G. BlakowskiおよびR. Steinmetzの記事、「メディア同期調査：参照モデル、詳細な記述および事例研究」に記述されている（IEEE J. Selected Areas Commun. 141 (1996), pages 5 - 35.）。
【００１３】
これらの技術は頑強で、広い柔軟性を可能にするが、その精度が非常に制限されて、多くの応用には不十分である。さらに、引き起こされた同期エラーの大きさの上限を確実性をもって決定することは可能ではない。
【発明の開示】
【課題を解決するための手段】
【００１４】
本発明の一主題は、クロックが同期されていない２台以上のマシンのローカル時間の間に対応関係を確立する方法である。
【００１５】
本発明の別の主題は、従来技術に比較して改善された精度を有する方法である。
【００１６】
本発明のさらなる主題は、間隔によってモデル化される既知の精度を有する方法である。
【００１７】
本発明のさらなる主題は、ローカル時間が対応するようにされるマシンが接続されるネットワークの接続問題に対して頑強な方法である。
【００１８】
本発明のさらなる主題は、上記のようなネットワークの動的再構成を可能にする方法である。
【００１９】
本発明のさらなる主題は、標準的設備のみが使用されることを可能にする方法である。
【００２０】
本発明のさらなる主題は、装置あるいはマシンのクロックの同期を必要とせず、２台以上のクロックが同期しないマシンのローカル時間の間の対応関係の確立に基づいて、２台以上のマシンによって記録されたデータ、あるいは２つ以上の装置によって生成されたデータを同期する方法である。
【００２１】
本発明の別の目的は、既知の精度、また従来技術に関して改善された精度を有し、ローカル時間が対応するようにされるマシンが接続されるネットワークの接続問題に対して頑強であり、及び／または標準的設備のみが使用されることを可能にするような方法を提供することである。
【００２２】
前述の目的の少なくとも１つは、第１の単調なクロックによって示された時間及び第２の単調なクロックによって示された時間の間の間隔により対応関係を確立する方法によって達成される。該方法は、少なくとも１つの時間範囲にわたって、前記第１及び前記第２のクロックに共通し、前記範囲で単調である第１の時間基準を操作することを特徴とし、該方法は、
前記第１のクロックの第１ペアの時間値によって取り囲まれ、且つ、前記第１及び前記第２のクロックに共通する前記第１の時間基準が存在する第１の時間範囲に属する第１の時間間隔を決定するステップａ）と、
前記第１のクロックの第２ペアの時間値によって取り囲まれ、且つ、前記第１及び前記第２のクロックに共通する前記第１の時間基準が存在する第２の時間範囲に属する第２の時間間隔を決定するステップｂ）と、
前記共通時間基準を用いて、前記第２のクロックの第１ペアの時間値によって取り囲まれ、前記第１の時間間隔を包含する第３の時間間隔を決定するステップｃ）と、
前記共通時間基準を用いて、前記第２のクロックの第２ペアの時間値によって取り囲まれ、前記第２の時間間隔を包含する第４の時間間隔を決定するステップｄ）と、
前記第１のクロックの第３ペアの時間値によって取り囲まれる任意の第５の時間間隔のために、前記第２のクロックの第３ペアの時間値によって囲まれ、前記第５の時間間隔を包含する第６の時間間隔を計算するステップｅ）とを含み、
前記計算が、前記第１の間隔、前記第２の間隔、前記第３の間隔、および前記第４の間隔を用いて、補間または外挿によって行われることを特徴としている。
【００２３】
本発明の１つの特別の実施形態では、前記ステップｃ）が、
前記第１の時間間隔が第７及び第８の時間間隔の間に存在するように、それぞれ前記第２のクロックの第４及び第５ペアの時間値によって取り囲まれ、前記第１の時間範囲に属する前記第７および第８の時間間隔を決定するオペレーションｃ１）と、
それぞれ前記第１の時間間隔、第７の時間間隔、及び第８の時間間隔に含まれる、前記第１の共通時間基準の第１の値、第２の値、及び第３の値を決定するオペレーションｃ２）と、
前記第１の時間間隔、前記第７の時間間隔、及び前記第８の時間間隔、並びに前記第１の共通時間基準の前記第１の値、前記第２の値、及び前記第３の値を用いて、前記第３の時間間隔を補間によって計算するオペレーションｃ３）とを含み、
前記ステップｄ）が、
前記第２の時間間隔が第９の間隔及び第１０の間隔の間に存在するように、それぞれ前記第２のクロックの第６及び第７ペアの時間値によって取り囲まれ、前記第２の時間範囲に属する前記第９の間隔及び前記第１０の間隔を決定するオペレーションｄ１）と、
それぞれ前記第２の時間間隔、前記第９の時間間隔及び前記第１０の時間間隔に含まれる前記第１の共通時間基準の第４の値、第５の値及び第６の値を決定するオペレーションｄ２）と、
前記第２の時間間隔、前記第９の時間間隔、及び前記第１０の時間間隔、並びに前記第１の共通時間基準の前記第４の値、前記第５の値、及び前記第６の値を用いて、前記第４の時間間隔を補間によって計算するオペレーションｄ３）とを含む。
【００２４】
好ましくは、前記オペレーションｃ３）が、前記共通時間基準の前記第１の値、前記第２の値および前記第３の値を、前記第１の時間範囲において幅が前記第１の共通時間基準の離散化誤差に等しい時間間隔によって代替することによって実行され、前記オペレーションｄ３）が、前記共通時間基準の前記第４の値、前記第５の値および前記第６の値を、前記第２の時間範囲において幅が前記第１の共通時間基準の離散化誤差に等しい時間間隔によって代替することによって実行される。
【００２５】
有利なことに、第１の共通時間基準が存在する１つ以上の前記時間範囲において、前記第１クロックの第１読取り、続いて前記第１の共通時間基準の読取り、そして前記第１クロックの第２読取りが複数回記録され、また独立的に、前記第２のクロックの第１読取り、続いて前記第１の共通時間基準の読取り、そして前記第２のクロックの第２読取りも複数回記録され、前記オペレーションc1)、c2)、c3)、d1)、d2)およびd3)が、これらの記録を使用して行われる。
【００２６】
本発明の別の特定の実施形態では、前記ステップｃ）が、
前記第１の時間間隔が前記第２のクロックの時間値の第７の値及び第８の値の間に存在するように、前記第１の時間範囲に属する前記第７の値及び前記第８の値を決定するオペレーションｃ１）と、
それぞれ前記第１の時間間隔、前記第２のクロックの時間値の前記第７の値及び前記第８の値を含む、前記第１の共通時間基準の値の第１の間隔、第２の間隔、及び第３の間隔を決定するオペレーションｃ２）と、
前記第１のクロックの時間値の前記第１の間隔、前記第２のクロックの時間値の前記第７の値及び前記第８の値、並びに前記第１の共通時間基準の値の前記第１の間隔、前記第２の間隔、及び前記第３の間隔を用いて、前記第３の時間間隔を補間によって計算するオペレーションｃ３）を含み、
前記ステップｄ）が、
前記第２の時間間隔が前記第２のクロックの時間値の第９の値及び第１０の値の間に存在するように、前記第２の時間範囲に属する前記第９の値及び前記第１０の値を決定するオペレーションｄ１）と、
前記第２の時間間隔、前記第２のクロックの時間値の前記第９の値及び前記第１０の値を含む、前記第１の共通時間基準の値の第４の間隔、第５の間隔および第６の間隔を決定するオペレーションｄ２）と、
前記第１クロックの時間値の前記第２の間隔、前記第２のクロックの時間値の前記第９の値及び前記第１０の値、並びに前記第１の共通時間基準の値の前記第４の間隔、前記第５の間隔および前記第６の間隔を用いて、前記第４の時間間隔を補間によって計算するオペレーションｄ３）を含む。
【００２７】
好ましくは、前記オペレーションｃ３）およびｄ３）が、前記第２のクロックの時間値の前記第７の値、前記第８の値、前記第９の値および前記第１０の値を、幅が前記第２のクロックの時間の離散化誤差に等しい時間間隔によって代替することによって実行される。
【００２８】
有利なことに、第１の共通時間基準が存在する１つ以上の前記時間範囲において、前記第１の共通時間基準の第１読取り、続いて前記第１クロックの読取り、そして前記第１の共通時間基準の第２読取りが複数回記録され、また独立的に、前記第１の共通時間基準の第１読取り、続いて前記第２クロックの読取り、そして前記第１の共通時間基準の第２読取りも複数回記録され、前記オペレーションc1)、c2)、c3)、d1)、d2)およびd3)が、これらの記録を使用して行われる。
【００２９】
本発明の特定の実施形態では、補間または外挿による前述の計算が、より正確には、線形補間あるいは線形外挿、または間隔による線形補間あるいは線形外挿である。
【００３０】
有利なことに、前記第１及び前記第２のクロックに共通する前記第１の時間基準が、少なくとも２つの個別の時間範囲(P1,P4)内に存在し、１つの時間範囲から別の時間範囲に移るときには単調性の破壊を含む場合、第２の単調な共通時間基準(TMR-NMR)を使用して、前記第１の共通時間基準(NT)の非単調性に起因する不明確さを解決する。
【００３１】
本発明はまた、第２クロック(HA)を有する第２マシン(A)のローカル時間に関して、第１クロック(HB)を有する第１マシン(B)によって記録されたデータ及びスタンピングされた日付を同期する方法に関する。該方法は、前記日付スタンピングが、前記第１のマシンによって記録された各データ値を第１クロックの第３ペアの時間値によって取り囲まれた第５の時間間隔と関連づけることにより実行され、前記同期が、上記に記載の方法に従って、前記第２クロックの第３ペアの時間値により取り囲まれ、前記第５の時間間隔を含む第６の時間間隔を決定することにより行われることを特徴とする。
【００３２】
上記のデータ同期方法の特定の実施の形態では、前記第１の共通時間基準が、前記第１及び前記第２マシンを少なくとも一時的に接続する同期バスのクロックによって供給される。
【００３３】
本発明の特定の実施形態では、上記のデータ同期方法が、各々のデータが同期されるべき各マシンによってローカル的に実行されるクロックの読取りを、上記に記載されたように記録する第１サブプロセスと、前記データ記録セッションの終了後に全てのデータが転送される個別のマシンによって達成される同期自体のための第２サブプロセスとに分割されることができる。
【発明を実施するための最良の形態】
【００３４】
説明を続ける前に、以下の説明の中で使用される所定の用語および表記法を精確に定義することが適切である。
【００３５】
「真時(true time)」は、精確に知ることができず、クロックが単にその近似を与える物理的時間として理解される。このドキュメントでは、「ｔ」は真時の値を示す。
【００３６】
「クロック」は、カウンタに結合されたオシレータによって形成されるデジタルクロックとして理解される。オシレータの各サイクルで、カウンタは、離散的量δ（離散化誤差または量子化誤差）だけインクリメントされる。従って、真時に関してクロックによって測定された時間のプロットは、段差高δを有する階段の形になる。クロックのカウンタは必ず有限のキャパシティを有し、これを超過する場合、ゼロにリセットされる。しかしながら、クロックは、この問題を無視することができるほど十分に大きいキャパシティを有することができる。
【００３７】
「同期バス」はクロック信号が放送されるバスである。
【００３８】
マシンの「ローカル時間」は、このマシンのクロックによって測定された時間として理解される。ローカル時間値は「Ｔ」によって示される。
【００３９】
マシンによって記録されたデータ値の「日付スタンプ」は、データ値が記録された瞬間にマシンのクロックから読み取れた時間、あるいは上記記録の前およびその記録の後に実行したこのクロックの２回の読取りの間に含まれた間隔として理解される。どんな曖昧さも以下の文脈及び表記法によって排除されるだろう。即ち、「［Ｔ］」によって示された日付スタンプは実際、
【００４０】
【数１】
2007526570.tif 000003
の間に含まれている間隔である。現実には、どんな日付も間隔として見なされ得る。たとえ日付がデータ値が記録された瞬間にマシンのクロックによって示された値であると確実に知っていても、クロックの離散化による不確定δが残る。
【００４１】
「単調性」は、ｔ１＜ｔ２の場合、Ｔ（ｔ１）＜Ｔ（ｔ２）というクロックの特性として理解される。
【００４２】
「オフセット」は、所定の瞬間で２つのクロックによって示された時間の差、あるいはクロックと真時とによって示された時間の差として理解される。さらに、間隔によって定義された二つの時間の間のオフセットも間隔である：
【００４３】
【数２】
2007526570.tif 000004
［ＴＢ］から［ＴＡ］への経過を可能にするオフセットは、［ＴＡ］＝［ＴＢ］＋［offＡＢ］となるように次のものと等しい。
【００４４】
【数３】
2007526570.tif 000005
２つのクロック間、或いはクロックと真時との間の「ドリフト」は、いずれか１つのクロックのローカル時間、あるいは真時に関するオフセットの導関数として理解される。特に明記しない限り、このドキュメントの中で、各ペアのクロックについては、ドリフトは長時間にわたって一定であると考え、そして、オフセットは時間の一次関数である（線形のドリフト仮説）と考える。この場合、ドリフトは、異なる日付で決定された２つのオフセットを知ることにより計算することができる。もしオフセットおよび／または日付スタンプが間隔であれば、ドリフトも、間隔による計算の意味で間隔である：
【００４５】
【数４】
2007526570.tif 000006
ここの指数１および２は、オフセットが決定される第１及び第２の日付を表す。
【００４６】
「マシンＡに関してマシンＢのデータの間隔による同期」は、マシンＢによって日付スタンプ［ＴＢ］で記録された各データ値のために、
【００４７】
【数５】
2007526570.tif 000007
【００４８】
【数６】
2007526570.tif 000008
マシンＡのローカル時間の間隔［ＴＡＢ］の決定として理解される。簡潔性のために、［ＴＡＢ］は、［ＴＢ］に「対応する」マシンＡのローカル時間と呼ぶ。２台のマシンの役割が対称ではなく、そして一般に、間隔［ＴＡＢ］が［ＴＢ］より広いことが分かる。
【００４９】
以下では、文脈が曖昧さをもたらさない場合、「間隔による同期」という表現は単に「同期」によって代替される。
【００５０】
「再同期」は特に、すべてのデータが記録された後に実行された同期として理解される。
【００５１】
間隔による同期の「精度」は［ＴＢ］に関して［ＴＡＢ］の広がりによって決定される。
【００５２】
ＴＡとＴＢの瞬時値間の関係を確立することをその目的とする同期方法の「精度」は、ＴＡＢの計算値とその「真の」値との間の差である。
【００５３】
間隔による計算技術は著作物「間隔の応用分析」に提示されている（Applied Interval Analysis, L. Jaulin, M. Kieffer, O. Dirit and E. Walter, Springer-Verlag, 2001, ISBN: 1-85233-219-0）。
【００５４】
図１Ａおよび図１Ｂは、２つのクロックＡおよびＢによって示された時間ＴＡとＴＢの間の対応関係が如何に決定されるかを示す図である。簡単のために、クロックの離散化誤差が無視されて（δ→０）、従って、実際には階段の形式をとるラインＴＡ（ｔ）およびＴＢ（ｔ）がおおよそ直線に近似されている。
【００５５】
ＴＡ（ｔ０）とＴＢ（ｔ０）の対応関係を見つけるために、直ちに頭に浮かぶ第１の可能性は単に、２つのクロックを「同時に」時間ｔ０で読み取ることである。実際、この「同時の」読取りは、実際のマシンの場合には可能ではない；さらに、この読取りは有限の時間を必要とする。この有限の時間は事前に決定されることができず、プロセッサの、および活用システムの待ち時間、並びにラインまたはバス上のデータの伝送時間に依存する。マルチメディア応用の場合のように、同期の精度に関する要求が比較的適度の場合、２回の読取りを行うのに必要をとする時間における不精確さはエラーの許容可能なマージンよりも小さいかもしれない。従って、この問題を無視し、２つの読取りが実質的に同時に行われると考えることは妥当である。
【００５６】
高精度が必要な場合は、上記の仮定は妥当でなくなる。ＴＡとＴＢの１対１の対応関係を確立することが可能ではないので、既に説明されたように「間隔による」アプローチが採用される。このアプローチの主な利点は、「瞬間」日付の間に近似的等価を決定しようとする任意の技術に比べて、間隔の幅に等しい同期の不確かさを正確に知ることを可能にすることである。
【００５７】
図１Ｂに示しているように、マシンＡおよびマシンＢのローカル時間間の間隔による対応関係を決定するために、まず時間ｔ１でマシンＡのローカル時間Ｔ’Ａ、続いて、時間ｔ０でマシンＢのローカル時間ＴＢ、そして最後に、時間ｔ２で再びマシンＡのローカル時間Ｔ”Ａ（ｔ０、ｔ１及びｔ２の正確な値を知ることができないことは忘れるべきでない）を読み取る。第１及び第２の読取りの間にマシンＡのローカル時間の単調性が崩れていないことが確認されなければならないことは容易に理解できる。
【００５８】
本発明に係る、個別のクロックによって示された時間間の対応関係を決定し、それによってデータを同期する方法の１つの例をこれから、図２、図３Ａ〜図３Ｌ、図４、及び図５、並びにテーブルTab.A、Tab.BおよびTab.Cを用いて詳細に説明する。差し当たっては、「遡及」同期（再同期）だけが考慮され、言いかえれば、データ値が、システムのオペレーションセッション（以下では「データ取得セッション」とも呼ばれる）の終了後に同期される。「実時間（リアルタイム）」（システムのオペレーションセッション中）の同期の場合は、後に考慮される。
【００５９】
図２に示されているように、情報システムは、それぞれローカル時間ＴＡ（ｔ）、ＴＢ（ｔ）およびＴＣ（ｔ）を各々測定する内部クロックＨＡ、ＨＢおよびＨＣを有するコンピュータのような３つのマシンＡ、Ｂ、Ｃを備えると共に、IEEE 1394a標準によれば最悪の場合にも精度が３μｓよりもよいクロックＨＢＵＳを自前に備えたFireWire（登録商標）バス(IEEE 1394)のような同期バスＢＵＳ を設けている。
【００６０】
マシンは互いから独立してバスＢＵＳに接続し、又はバスＢＵＳから切断することができる；システムの再コンフィギュレーションが発生する（例えばマシンが接続されるまたは切断される）度に、割込み信号はバスを通して送信される。ネットワークに接続される複数のマシンのうちの１つが、「基準マシン」として指定され、この指定が他のマシンには知らされている。この図では、これは太線の輪郭によって特徴づけられたマシンＢである。基準マシンは、集中化システム中の「マスター」マシンと見なすことができない：ネットワーク中の任意の一台のマシンが一時的にこの機能を担うために選ばれるかもしれないためである。実際には、新しい基準マシンは、各割込みで任意に選ばれる。それは、前の基準マシンが切断されたとしてもシステムのオペレーションが保証されることを可能にする。
【００６１】
マシンはまたそれぞれ、ＨＢＵＳによってコントロールされるクロックＨＩＡ、ＨＩＢおよびＨＩＣを各々有するバスインターフェースＩＡ、ＩＢおよびＩＣを具備している。バスクロックＨＢＵＳは複数のインタフェースIのうちの何れか１つ（IEEE FireWire基準では「サイクルマスター」と呼ばれる）によって生成される。クロックＨＩは、ＨＢＵＳによってフィードバックコントロールされる。
【００６２】
バスクロックＨＢＵＳは、１２８秒毎にゼロにリセットされる有限のキャパシティを有するカウンタを備える。しかし、インタフェースクロックは、オーバーランがシステムのオペレーティングの期間中に生じないように、十分に大きなキャパシティを有するソフトウェア拡張を備える。マシンＡ、ＢおよびＣのインタフェースクロックＨＩＡ、ＨＩＢおよびＨＩＣによって測定された時間（「インタフェース時間」）は、ＮＴＡ（ｔ）、ＮＴＢ（ｔ）およびＮＴＣ（ｔ）によってそれぞれ示される。
【００６３】
１台のマシンは「ネットワーク時間を提供する」ために選ばれる：これは、他のすべてのマシンのインタフェースクロックがその一台のマシンのクロックに同期されることを意味する。各割込みでは、新しいマシンはこのタスクのために選ばれ、また、インタフェースクロックのソフトウェア拡張はゼロにリセットされる。従って、割込みの後、すべてのクロックはバスクロックＨＢＵＳと同じ時間を示す。
【００６４】
ネットワーク時間を提供するマシンが必ずしも基準マシンでないことが注目されるべきである。マシンがネットワークから切断される場合、それ自体のインタフェースクロック上の時間は、それ自体の基準マシン及びそのネットワーク時間である。
【００６５】
ネットワークの時間ＮＴは、バスＢＵＳに接続されるすべてのマシンに共通する第１の時間基準を形成するが、非単調であることが理解されるだろう。基準マシンの時間は、バスＢＵＳに接続されるすべてのマシンに共通する第２の時間基準を形成し、しかも単調である。しかしながら、この第２の時間基準は、それを知るためには基準マシン以外のマシンがバスを介して、比較的長い時間を必要とし、且つ原則的に事前に決定できないリクエストをしなければならないため、非常に不精確である。
【００６６】
例えばセンサ取得の場合、そのオペレーション全体にわたって、各マシンが他のマシンとは独立して、データ値および、間隔の形でのそれらデータ値の日付スタンプを記録する。
【００６７】
同時に、各マシンがそれぞれ、一連のロー（row)によって形成される「日付スタンプファイル」と呼ばれるファイルを構築する。ローは、ほぼ規則的な間隔で、例えば約１秒毎に書き込まれ、以下の５つのフィールドを含む：
ＴＬ１        マシンのローカル時間の第１の読取りである；
ＴＲ          ネットワーク時間の読取りである；
ＴＬ２        マシンのローカル時間の第２の読取りである；
ＮＭＲ        基準マシンの指定である；また、
ＴＭＲ        基準マシンのローカル時間である。
【００６８】
最初の３つの読取りは、ＴＲがＴＬ１とＴＬ２の間にあるように順番に行われなければならない。
【００６９】
割込み信号が受取られる場合、マシンが、フィールドＴＬ１、ＴＲ、ＴＬ２およびＴＭＲに値０を割当て、そしてフィールドＮＭＲに規約名「ＢＵＳ＿ＲＥＳＥＴ」を割り当てることにより１つの「例外ロー」を書き込む。
【００７０】
日付スタンプファイルの書き込みが、低い優先順位のプロセスで比較的に負担が軽く、イベントの記録および日付スタンピングを実質的に妨げない。
【００７１】
一旦セッションが終了すれば、日付スタンプファイルが１つの同じコンピュータに転送され、そして、再同期のサブプロセス自体が開始されることができる。
【００７２】
ここで、例として、マシンＡおよびＢによって記録されたデータを再同期する特定の問題を提起する。
【００７３】
テーブルTab.A、Tab.BおよびTab.Cは、マシンＡ、ＢおよびＣの日付スタンプファイル内容の一部をそれぞれ示し、以下ではそれぞれＦＨＡ、ＦＨＢおよびＦＨＣと称する。各割込みに先行する、またそれに後続する２つのローだけが示される。さらに、明瞭さおよびスペースの節約のために、フィールドＴＬ２は、マシンのローカル時間の第２の読取りの値ではなく、それと明白に等価な第２及び第１の読取り間の差分を含んでいる。示された時間は、マイクロセカンド（μｓ）の単位を有し、ただし、それは本方法の理解にとって本質ではない。
【００７４】
割込みは、各ファイルをセクションα１−α８、β１−β９、γ１−γ９へ細分し、それぞれ例外ローによって分離させる。単調性における各破壊毎に割込みがあるのを観察できることは重要である。従って、ネットワーク時間が実際には各セクションにおいて「ローカルに」単調であると考えることができる。
【００７５】
フィールドＮＭＲおよびＴＭＲは、異なるファイルのセクション間で時間的対応関係が決定されることを可能にする。例えば、セクションα１とγ２が同時に記録されたのを見ることができる一方、マシンＡおよびＣは、マシンＡを基準マシンとし、両方ともバスＢＵＳに接続されている。このように、システムの「履歴」は図３Ａ〜図３Ｌに示されるように再構築されることができる。
【００７６】
最初に、（図３Ａ）、マシンＣだけがオペレーション中であり、その日付スタンプファイルのセクションγ１を書き込む。
【００７７】
続いて、（図３Ｂ）、基準マシンであるマシンＡが開始し、２台のマシンが、所定の時間（セクションα１とγ２）バスに接続される。
【００７８】
そして、図３Ｃ、それらは再度分離される（セクションα２とγ３）。
【００７９】
この期間中（図３Ｄ）に、マシンＢがオペレーションに入り、ただし、依然としてネットワークから切断され続けるため（セクションβ１）、割込みを生成しない。
【００８０】
第５期間中（図３Ｅ、セクションα２、β２およびγ４）に、マシンＢおよびＣはバスに接続され、且つ、マシンＣは基準マシンである。マシンＡは、マシンＢの接続によって引起された割込み信号を受取っていないため、その日付スタンプファイルのセクションα２を書き込み続ける。
【００８１】
第６期間中に、図３Ｆ、３台のマシンはバスから切断され、各々の日付スタンプファイルのセクションα２、β３、γ５を書き込む（既に切断されたマシンＡは、ＢとＣの切断によって引起された割込み信号を受取らない）。
【００８２】
図３Ｇにおいて、マシンＡとＢは、Ａを基準マシンとし、再びバスに接続され、よってセクションα３とβ４に進み、他方では、マシンＣは割込み信号を受取っていないので依然として切断され続けて、セクションγ５を書き込み続ける。
【００８３】
続いて、図３Ｈ、３台のマシンは、全部再度バスに接続される（セクションα４、β５、γ６）、ここで、Ｂを基準マシンとする。
【００８４】
後者（Ｂ）が切断される（図３Ｉ、セクションα５、β６、及びγ７）時、Ａは基準マシンになる。ある短い期間の後（図３Ｊ、セクションα６、β７、及びγ８）、Ｂは再度接続され、再び基準マシンになる。
【００８５】
図３Ｋにおいて、マシンＣは切断され（セクションα７、β８、およびγ９）、Ａは再び基準マシンになる。
【００８６】
最後に（図３Ｌ、セクションα８とβ９）、マシンＡおよびＢも切断される。その後、システムの履歴は無関係になる。
【００８７】
第２の時間基準（ＴＭＲ）のおかげで、一種の再同期がこのように行われた。しかしながら、それは、日付スタンプファイルのローが遅いレートで書き込まれるため、非常に基本的なものである。セクションα、β、およびγ間の対応関係へのこの結びつきは、第１時間基準（ＮＴ）の非単調性が克服されることを可能にし、また、間隔による実際の再同期を実行するために使用されることを可能にする。
【００８８】
この例では、１つのバスのみが存在する場合を考慮した。
【００８９】
マシンＡの時間に関してマシンＢのデータを再度同期する問題に戻ると、「共通の時間範囲」がまず決定されされなければならない。言い換えれば、この例において考慮された唯一のネットワークのバスであるバスＢＵＳを介して同じネットワークにこれらの２台のマシンが接続される期間がまず決定されされなければならない。これらの範囲は４つがある。即ち、セクションα３とβ４に相当するＰ１、セクションα４とβ５に相当するＰ２、セクションα６とβ７に相当するＰ３、およびセクションα７とβ８に相当するＰ４である。範囲Ｐ１およびＰ２、並びにＰ３およびＰ４は互いに隣接しているが、割込みによって分離される。
【００９０】
図４は、ファイルＦＨＡおよびＦＨＢに包含されている情報（クロックの離散化誤差が無視される：カウンタの離散的なインクリメントに対応するステップが可視的でないからである。）を示した図である。縦座標軸は、マシンＡおよびＢのローカル時間、並びにそれらのマシンが接続されるネットワークの時間を表し、横座標軸は真時を表す。ローＴＭＡおよびＴＭＢはそれぞれ、ＡおよびＢのローカル時間を表す。ローＴＲＡ（破線）およびＴＲＢ（丸）はそれぞれ、ＡおよびＢのネットワークの時間を表す。共通の範囲Ｐ１、Ｐ２、Ｐ３およびＰ４は網掛け領域によって示される。
【００９１】
上記に説明されたように、マシンＢによって記録された各データ値はそれぞれ、日付スタンプ［ＴＢ］によって特徴づけされる。［ＴＢ］は、ネットワーク時間［ＮＴ］の値を取り囲み、クロックＨＢの２つの読取り間に含まれた間隔である。目的は、［ＴＢ］に対応するマシンＡのローカル時間の間隔［ＴＡＢ］を決定することである。
【００９２】
まず、図４に示されるように、共通の時間範囲、例えば、Ｐ１内に位置する［ＴＢ］＝［ＴＢ１］の場合を考える。第１オペレーションは、全く同一の範囲に属し、且つ［ＴＢ１］の前後に位置する、マシンＡの２つの日付スタンプ［ＴＡ１１］、および［ＴＡ２１］を決定することである。実際、これらの「日付スタンプ」は、図１Ｂに関して説明された方法によって決定された間隔であり、それぞれネットワーク時間［ＮＴＡ１１］および［ＮＴＡ２１］に対応する。クロックの線形的なドリフトの仮定は、［ＴＡＢ１］が線形補間によって計算されることを可能にする：
【００９３】
【数７】
2007526570.tif 000009
すべての日付スタンプが間隔であるので、結果も間隔である。もし［ＮＴＡ１１］および［ＮＴＡ２１］の間に割込み、したがって、ネットワーク時間の単調性の破壊が生じた場合、式（３）を使用できないことは明らかである。この理由で、［ＴＡ１１］および［ＴＡ２１］が同じ時間範囲に属することが必要である。
【００９４】
日付［ＴＢ］でのマシンＡおよびＢのクロック間のオフセットは、次式により簡単に求めることができる：
［offAB１］  ＝［ＴAB１］−［ＴB１］        （４）
これが２つの間隔間の差であるので、オフセットも間隔である。
【００９５】
２つの異なる日付［ＴＢ１］および［ＴＢ２］でのクロック間のオフセットが分かれば、線形的であると仮定されたドリフトは、次のように決定することができる：
【００９６】
【数８】
2007526570.tif 000010
ここで［off１］および［off２］がそれぞれ日付［ＴＢ１］および［ＴＢ２］でのクロックＨＡおよびＨＢ間のオフセットの値である。
【００９７】
ネットワーク時間が式（５）に直接現れないので、［ＴＢ１］および［ＴＢ２］間の割込みの存在が式（５）の適用に障害を構成しないことは重要である。一方、日付［ＴＢ１］および［ＴＢ２］間の隔たりを最大限にすることが有利であり、従って、［ＴＢ１］としては範囲Ｐ１の第１日付スタンプを、また［ＴＢ２］としては範囲Ｐ４の最後の日付スタンプを取ることは当業者は容易に理解するだろう。
【００９８】
この時点で、共通の範囲Ｐ１―Ｐ４外を含むクロックＨＡおよびＨＢの上で読み取れた日付間の対応関係を計算するために必要とされるすべての情報が入手できる。それは実際に次のように示すことができる：
【００９９】
【数９】
2007526570.tif 000011
【０１００】
【数１０】
2007526570.tif 000012
【０１０１】
【数１１】
2007526570.tif 000013
図５は式（６）〜式（８）の図的表現である。間隔［ＴＡＢ］の幅、即ち同期中の不正確さは、
【０１０２】
【数１２】
2007526570.tif 000014
の範囲内でほぼ一定であり、また、この範囲（それぞれ［ＴＢ１］の前に、および［ＴＢ２］の後に位置する間隔［ＴＢ’］、［ＴＡＢ’］及び［ＴＢ”］、［ＴＡＢ”］）から遠ざかるにつれ増大することを観察することができる。従って、可能な限り最も離れている間隔［ＴＢ１］および［ＴＢ２］を選択する利点は理解することができる。図５のＴＡおよびＴＢ軸上に、既知の時間
【０１０３】
【数１３】
2007526570.tif 000015
が、黒丸によって示され、未知の時間
【０１０４】
【数１４】
2007526570.tif 000016
が破線の丸によって示されている。
【０１０５】
ファイルＦＨＣは、セクションα、β及びγを関係づけることに寄与した後には、再同期に一切使用されないことに注意することが興味深い。
【０１０６】
今、上記に議論されたネットワークの、従来技術の同期方法と相容れない「ホット」再コンフィギュレーションの例を再考することができる。第一に、マシンのクロックが互いに決して同期されないので、マシンＸを備えているネットワークへのマシンＹの再接続は、単調性の問題を引き起こさないことが分かる。さらに、マシンＸおよびマシンＺの両方がそれらの履歴の一部としてマシンＹのように同一のネットワークに接続されるので、これらのマシンによって記録されたデータは、本発明に係る方法によってＹのデータと再同期されることができる。マシンＸのデータ値をマシンＹのデータ値と同期させることは、低い精度ではあるが、このようにして間接的に実現することができる。
【０１０７】
図６は、上記に説明したマシンＡに関して、マシンＢのデータの間隔による再同期の方法を説明する流れ図である。このプロセスは、複数のマシンの同期のために繰り返すことができる。
【０１０８】
第１ステップ（Ｅ１）は、マシンＡおよびＢ、並びにシステムの別の全てマシン（特に、Ｃ）の日付スタンプファイルＦＨＡおよびＦＨＢに書き込み、それと並行して、ローカル日付スタンプされたデータ値を記録することを含む。これらのオペレーションは、データ記録セッションの終了まで実行される。
【０１０９】
第２のステップ（Ｅ２）は、ファイルＦＨＡ、ＦＨＢおよびＦＨＣのフィールドＮＭＲおよびＴＭＲを用いてこれらのファイルの異なるセクション間の時間関係を決定し、さらに、マシンＡおよびＢの「共通の時間範囲」、言いかえれば、これらの２台のマシンが全く同一のネットワークに接続された期間を決定することを含む。
【０１１０】
続いて、ステップＥ３では、それぞれ１つの「共通の時間範囲」に属するファイルＦＨＢの２つのローＬＢ１およびＬＢ２を選択する。これらの２つのローは同じ範囲に属する必要はない：既に議論されたように、これらの２つのローは離れれば離れるほど望ましい。ローＬＢ１、ＬＢ２に包含されるマシンＢのローカル時間の２つの読取り（ＴＬ１、ＴＬ２）が間隔［ＴＢ１］および［ＴＢ２］を決定する。
【０１１１】
ステップＥ４では、ＦＨＢのローＬＢ１と同じ時間範囲に属し、それぞれローＬＢ１の前に、及びその後に記録されるファイルＦＨＡの２つのロー（ＬＡ１とＬＡ２）を決定する。同様に、ＬＢ２を“取り囲む”ローＬＡ３とＬＡ４を決定する。
【０１１２】
より統合的には：
【数１５】
2007526570.tif 000017
有利なことに、ＬＡ１およびＬＡ３がそれぞれＬＢ１およびＬＢ２の前に記録された最後のローであり、ＬＡ２およびＬＡ４がそれぞれＬＢ１とＬＢ２の後に記録された最初のローである。
【０１１３】
ネットワーク時間[NTA11], [NTA21], [NTA12]および [NTA22]がそれぞれローＬＡ１〜ＬＡ４のフィールドＴＲに対応するものとして定義される：
[NTA11] = ロー LA1のTR
[NTA21] = ロー LA2のTR
[NTA12] = ロー LA3のTR
[NTA22] = ロー LA4のTR
これらの間隔の幅はネットワーク時間の離散化誤差δによって与えられる。
【０１１４】
ステップＥ５では、 [TAB1], [TAB2], [offAB1], [offAB2] および [driftAB]が、式３〜式５を用いて補間によって計算される。
【０１１５】
最後に、ステップＥ６では、マシンＢのすべてのデータ値（あるいはただそのうちの一部）の再同期は、式6.1、式6.2、式７、および式８を用いて補間または外挿によって実行される。
【０１１６】
図６の流れ図によるデータの再同期の方法は、発明者によって実験的にテストされた。
【０１１７】
第１実験では、それぞれ１．８および２ＧＨｚのクロック速度、並びに５１２ＭＢのＲＡＭメモリを有するINTEL（登録商標）Pentium IV（登録商標）プロセッサをベースにした２台のコンピュータを用いた。２台のコンピュータはそれぞれ、オペレーティングシステムMicrosoft（登録商標）Windows 2000 Professional（登録商標）、およびSednet 2（登録商標） APIを有するFireWire（登録商標）MindReady（登録商標）インタフェースを装備し、互いに接続されており、またFireWireネットワークバスを介してともにディジタルカメラUNIBRAIN（登録商標） Fire-I（登録商標）に接続されていた。コンピュータは、ネットワークバスを通じてカメラによって送信されたイメージを記録し、日付スタンピングを行った。同期は、２台のコンピュータによって記録されたイメージの日付スタンプがオーバラップする間隔からなる場合、得られたと考える。このように得られた再同期間隔の幅（［ＴＡＢ］、再度、例の表記法をとる）は２５０〜３００μｓであった。
【０１１８】
同じプロトコルに従って第２実験は実行されたが、８００ＭＨｚのクロック速度並びに１２８および２５６ＭＢのＲＡＭメモリをそれぞれ有するINTEL Pentium III（登録商標） プロセッサをベースにした２台のコンピュータを使用した。２台のコンピュータはそれぞれ、Linux RTAI（登録商標）オペレーティングシステムおよび、相互に接続されるFireWire OHCI（登録商標）インタフェースを装備し、FireWireネットワークバスを介してともにディジタルカメラUNIBRAIN Fire-Iに接続されていた。このケースでは、３０〜５０μｓの再同期間隔が得られた。それは、Microsoft Windows 2000 ProfessionalのケースでSednet 2 APIを使用した場合の１３０μｓとは対照的に、約５μｓのネットワーク時間の離散化誤差を得ることを可能にする、リアルタイムサブカーネルを用いて実行されたLinux RTAIのおかげである。
【０１１９】
図３Ａ〜図６、及びテーブルTab.A、Tab.B、Tab.Cを参照しながら提示された説明は、各マシンのクロックの２つの読取り、およびこれらの２つの読取り間にあるネットワーク時間の１つの読取りを記録することにより日付スタンプファイルが書き込まれる実施の形態に関する。本発明の範囲内では、ネットワーク時間の２回の読取り、およびそれらの２回の読取り間に位置する各マシンのローカル時間の１回の読取りを行うことも可能である：図６のアルゴリズムは必要な変更を加えて適用可能である。本発明の範囲から逸脱することなく、この方法の多くの変形および改良が可能である。
【０１２０】
例えば、オフセット [offAB1] （式４）の決定は、１ペアのネットワーク時間[NTA11] および [NTA21]の読取りの使用を必要とする。実際、［ＴＢ］を取り囲む任意のペアが選択されることができる。また、その結果は常に、オフセットの「真」値offAB1true（それを知ることは不可能である）を確実に含む間隔 [offAB1] である。もし、複数のそのようなペアからスタートして、複数の間隔[offAB1]’, [offAB1]”,…が決定される場合、
【数１６】
2007526570.tif 000018
ということは確信することができる。そのような方法で、より狭い間隔、よって、より高い精度が得られる。同じ方法で、ドリフトおよび様々な日付スタンプを表す間隔の幅ＴＡＢも縮小することができる。「間隔に関する制約の伝播」と呼ばれるこの方法の原理は、上記に引用したL. Jaulin, M. Kieffer, O. Dirit および E. Walterの記事に開示されている。実際に、制約の伝播の方法は、オフセット ([offAB])に関しては約２０％〜４０％、ドリフト ([driftAB])に関しては約２０％の間隔幅の縮小を得ることを可能にした。
【０１２１】
別の改良は、アルゴリズムへの著しい修正をすることなく、線形ドリフトの仮説を間隔による線形性の仮説に置きかえることである。
【０１２２】
一層の変形は、ネットワークのオペレーションセッションの期間中にデータの同期を実行することである：規則的な間隔で同期は利用可能な情報を使用して実行されると同時に、他方では、データを取得し続け、様々なマシンの日付スタンプファイルにローを加え続ける。各同期ステップの後、このように得られた間隔と以前に決定された間隔との交差を行う。
【０１２３】
本ドキュメントでは、各マシンがデータ値に日付スタンプを割り当て、且つ、それらをローカルに記録することを常に考慮してきた。しかしながら、データが第１マシンによってローカルに日付スタンピングされ、次に第２マシンによって記録されるためにネットワークを通じて送信される場合も、本発明の範囲の一部を形成することは理解されるだろう。
【０１２４】
上記に考慮した例では、２台のマシン（ＡとＢ）からのデータ値をそれらのうちの１台（Ａ）のローカル時間に関して同期するように選択を行ったが、これらのデータ値をマシンＣのローカル時間のような別の単調な時間基準に関して同期するように選択を行うこともできる。
【０１２５】
【表１】
2007526570.tif 000019
【０１２６】
【表２】
2007526570.tif 000020
【０１２７】
【表３】
2007526570.tif 000021
【図面の簡単な説明】
【０１２８】
【図１Ａ】互いに異なり、同期しない２つのクロックによって示された時間間の対応関係を決定するための進め方を示す図である。
【図１Ｂ】互いに異なり、同期しない２つのクロックによって示された時間間の対応関係を決定するための進め方を示す図である。
【図２】本発明の実施の形態を形成する方法を、具体的な例によって示す図である。
【図３】本発明の実施の形態を形成する方法を、具体的な例によって示す図である。
【図４】本発明の実施の形態を形成する方法を、具体的な例によって示す図である。
【図５】本発明の実施の形態を形成する方法を、具体的な例によって示す図である。
【図６】この方法の流れ図である。
【図１Ａ】
2007526570.tif 000022
【図１Ｂ】
2007526570.tif 000023
【図２】
2007526570.tif 000024
【図３】
2007526570.tif 000025
【図４】
2007526570.tif 000026
【図５】
2007526570.tif 000027
【図６】
2007526570.tif 000028
【国際調査報告】
2007526570.tif 000029
2007526570.tif 000030
2007526570.tif 000031
2007526570.tif 000032