JP5413750B2 - 分散形コンピュータネットワーク内のローカルクロックに同期させるための方法 - Google Patents

分散形コンピュータネットワーク内のローカルクロックに同期させるための方法 Download PDF

Info

Publication number
JP5413750B2
JP5413750B2 JP2011510776A JP2011510776A JP5413750B2 JP 5413750 B2 JP5413750 B2 JP 5413750B2 JP 2011510776 A JP2011510776 A JP 2011510776A JP 2011510776 A JP2011510776 A JP 2011510776A JP 5413750 B2 JP5413750 B2 JP 5413750B2
Authority
JP
Japan
Prior art keywords
state
end system
cold start
synchronized
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011510776A
Other languages
English (en)
Other versions
JP2011523814A (ja
Inventor
スタイナー,ヴィルフリード
バウアー,ギュンター
ヴェヒター,マティアス
パウリッチ,ミハエル
ハル,ブレンダン
Original Assignee
ティティーテフ コンピュータテクニーク アクティエンゲゼルシャフト
ハニーウェル インターナショナル,インコポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ティティーテフ コンピュータテクニーク アクティエンゲゼルシャフト, ハニーウェル インターナショナル,インコポレーテッド filed Critical ティティーテフ コンピュータテクニーク アクティエンゲゼルシャフト
Publication of JP2011523814A publication Critical patent/JP2011523814A/ja
Application granted granted Critical
Publication of JP5413750B2 publication Critical patent/JP5413750B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0676Mutual
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0652Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/10Arrangements for initial synchronisation

Description

本発明は、分散形コンピュータネットワーク内のローカルクロックに同期させることに関する。ネットワーク内のコンポーネント間の通信リンクに送信されるメッセージ経由で情報を交換するコンピュータネットワークは、特に興味がある。本発明の特定の実現に対する制約なしで、例示する1つの例として標準のイーサネット(登録商標)を使用する。標準のイーサネット(登録商標)においてエンドシステムは、双方向通信リンク経由で、ネットワークスイッチ経由で接続される。エンドシステムはメッセージをこのスイッチに送信することを経て第2のエンドシステムまたは一群のエンドシステムと通信して、それが次いで受信エンドシステムまたは複数エンドシステムにメッセージを中継する。同様に、エンドシステムは双方向通信リンク経由で互いに直接接続されることができ、それは特定の構成でエンドシステムとスイッチとの間の明白な区別を困難にする。それゆえに、一般に、エンドシステムまたはスイッチのどちらかであることができるフィジカルデバイスを指す用語コンポーネントを使用する。コンポーネントが、エンドシステムであると言われるかまたはスイッチであると言われるかどうかは、その物理的な外観よりむしろその使用によって決定される。
クロック同期問題は、異なるコンポーネントのローカルクロックを緊密な一致にもたらす問題である。フォールトトレランス理由のために同期メッセージを生成するコンポーネントの大きさが、構成されることができる。
ローカルクロックに同期させる問題は長い歴史を有し、および、故障の存在でまた、ローカルクロックの同期を主張する多くのアルゴリズムが公知である((非特許文献1)、(非特許文献2)、(非特許文献3)、(非特許文献4)、(非特許文献5))。
Lamport,L.およびMelliar−Smith,P.M.、「複雑なクロック同期」、ACM SIGOPS Operating Systems Review,volume 20,number 3,p.10−16,1986,ACM New York,NY,USA、 Srikanth,TKおよびToueg,S.、「最適クロック同期」、Journal of the ACM(JACM),volume 34,number 3,p.626−645,1987,ACM New York,NY,USA、 Schneider,F.B.、「信頼性が高いクロック同期のためのパラダイム」、Department of Computer Science Technical Report TR,p.86−735、 Kopetz,H.およびOchsenreiter,W.、「分散型リアルタイムシステムにおけるクロック同期」、IEEE Transactions on Computers,volume 36,number 8,p.933−940,1987,IEEE Computer Society Washington,.DC,USA、 Steiner,W.、「バスベースおよびスイッチベースのネットワークトポロジのフォーカスによるフォールトトレラント時間トリガ通信の始動およびリカバリ」、2008,Vdm Verlag Dr.Muller
本発明は、そのフォールトトレランス特性において上述したプロトコルと差別化する。
■本発明は、スケーラブルである:本発明は、例えば工業用制御で使われるために単純なマスタスレーブ型クロック同期プロトコルとして動作させるように構成されることができる。スペクトラムの反対側で本発明は、例えば有人スペースアプリケーションで使われるためにマルチマスタークロック同期プロトコルとして動作させるように構成されることができる。このスケーラビリティは、莫大な経済恩恵を与える:本発明が異なる応用ドメインの全体にわたって使われることができるので、本発明の実現のコストが有意に減少されることができる。同様に、本発明のクロスドメイン使用は、本発明の実現における潜在的な故障検出の確率を向上しおよびこれによって本発明の実現を有意に仕上げる。これは、また、正当性の確率がその実現の数の直接の関数であるという概念に従って「100万による証明」と呼ばれている。
■本発明は、複数の一貫しない故障を許容する:マルチマスターモードに構成されるときに、本発明は完全に一貫しない脱落故障の通信経路および同じ時点で故障のエンドシステムさえ許容する。この故障モードは、各故障のコンポーネントが、各メッセージに対して潜在的に一貫しない落下挙動とともに、メッセージをその着信通信リンクのいずれか上で、および、その送出通信リンクのいずれか上で任意に落とす可能性があることを意味する。本発明者がフォールトトレラントクロック同期の莫大な経験を有するとはいえ、本発明者はこのレベルのフォールトトレランスを許容するであろういかなる既存のフォールトトレラント同期アルゴリズムにも気がついていない。本発明は、したがって、システム内の複数の故障の許容を必要とするシステムアーキテクチャのより費用効果が優れている実現を可能にする。例えば、2つの独立通信チャンネルだけから成るシステムアーキテクチャにおいて、前記一貫しない故障モードが許容されさえすることができる。前記故障を許容する通信アーキテクチャの以前の実現は、少なくとも3つの独立通信チャンネルを必要とした。
■本発明は、固定障害の存在においてさえ任意の一時外乱を許容する。前記フォールトトレランスに加えて、本発明はさらに自己安定特性を提供する。自己安定は、分散形コンピュータシステム内の多数のコンポーネントでの一時的な不調の後で、同期がまた再確立されることを意味する。本発明は、正式な方法(モデルチェック研究)を用いて任意のシステム状態から同期されたシステム状態に安定させる。この自ら安定に向かう特性は、コンピュータチップ内の次第に減少する特長サイズおよびしたがって結果として生じるコンポーネントの一時的な不調の増加によってますます重要になる。将来の信頼性が高い分散形コンピュータネットワークの設計は、本発明によって与えられるような、複数の一時的な不調の有効かつ健全な許容に依存する。本発明者がフォールトトレラントクロック同期の莫大な経験を有するとはいえ、本発明者はこのレベルのフォールトトレランスを許容するであろういかなる既存のフォールトトレラント同期アルゴリズムにも気がついていない。
本発明は、以下の革新的ステップに基づく:
■一旦全体にわたる同期が失われるならば、システムのパワーオンで同期を確立する、同じく同期を回復する、フォールトトレラントハンドシェークプロセスの新しい概念。以前のプロトコルとは対照的に、少なくとも一つの非故障の通信チャンネルが存在するならば、フォールトトレラントハンドシェークは、また一貫しない通信チャンネルおよび同じ時点で故障のエンドシステムの存在においてさえ、エンドツーエンドの一貫性を確実にする。フォールトトレラントハンドシェークは、コールドスタートメッセージまたは得られるコールドスタート肯定応答メッセージのいずれか(または両方のメッセージ)がシステム内に一貫して見られることを保証する。
■所定のコンポーネントと同期するエンドシステムの数に、同じく、前記コンポーネントと同期しないと識別されるエンドシステムの数に、の両方に、同じく二つの間の関係に、作用する異なるタイプのクリーク検出機構の新しい概念。
■一旦同期が確立されると、時間トリガプロトコルが、起動プロセス中によりも、非常により広い故障モデルを許容することができるので、異なる同期状態に対して異なるクリーク検出機構を特定することを可能にする複数の同期された状態の新しい概念。異なる同期状態は、同期プロセスの動作の履歴を追跡するのに用いられることができる。初期のおよび容易に到達される同期された状態において、全ての可能なクリークシナリオを収集するためにクリーク検出機構がきわめて脆弱に構成され、その一方で、後の同期状態において(充分な数のエンドシステムがコンポーネントによって見られる場合、または、同期通信が設定可能な数の同期ラウンドに対して成功した場合、それに入る)、より広い故障モデルが同期リセットを実行せずに許容されることができるように、クリーク検出機構がより緩和されて構成される。
■同期メッセージを与えるエンドシステムが信頼されない場合、スイッチにおいて使用可能にされることができる、中央ガーディアン機能の新しい概念。同様に、同期を与えるエンドシステムが信頼される場合、中央ガーディアン機能は最小機能に縮小されることができる。
■高完全性設計にしたがってデバイスのサブセットの実現の概念の再使用、高完全性設計原理に従って実現されるコンポーネントは、限られた故障モードで故障するとみなされることができる。高完全性原理にしたがって実現されるコンポーネントが信頼されることは、エンジニアリング実践であるが、しかしながら、限られた故障モードはフェイルサイレントであるということを意味しない。本発明は、また、高完全性コンポーネントに完全に一貫しない脱落故障モードを許す。この故障モードは、各故障のコンポーネントが、各メッセージに対して潜在的に一貫しない落下挙動で、メッセージをその着信通信リンクのいずれか上で、および、その発信通信リンクのいずれか上で任意に落とす可能性があることを意味する。
分散形コンピュータネットワークの1つの例を表す。 同期メッセージに対するデータ構造の1つの例を表す。 エンドシステムからのスイッチへの同期メッセージのフローおよびスイッチ内に実行される同期圧縮機能を表す。 同期動作での同期プロセスの3つの繰返しを表す。 同期クリーク検出プロセスを表す。 非同期クリーク検出プロセスを表す。 エンドシステム内に実行されるプロトコルステートマシンを表す。 エンドシステムが信頼されるとみなされる場合、スイッチ内に実行されるプロトコルステートマシンを表す。 エンドシステムが信頼されないとみなされる場合、スイッチ内に実行されるプロトコルステートマシンを表し、および、スイッチが広範囲なガーディアン機能を実行している。 分散形コンピュータネットワークの故障がなくて衝突がない起動シナリオを表す。 分散形コンピュータネットワークの故障のない起動衝突シナリオを表す。 分散形コンピュータネットワークの故障のエンドシステム101および故障のスイッチ201の存在における起動シナリオを表す。
図1は、5つのエンドシステム101−105および2つのスイッチ201、202からなる分散形コンピュータネットワークを表す。エンドシステム101−105の各々は、双方向通信リンク110経由でスイッチ201に、および、別の双方向通信リンク120によってスイッチ202に接続される。したがって、分散形コンピュータネットワークは任意の2つのエンドシステム101−105の間の通信に対して2つの冗長通信チャンネルを設ける。
エンドシステム101−105は、スイッチ201、202によって消費される同期メッセージを生成する。スイッチ201、202は、エンドシステム101−105から受信される同期メッセージから新しい同期メッセージを生成する。
一旦エンドシステム101−105が同期されると、エンドシステム101−105は同じ先験的に予定された瞬間に同期メッセージをディスパッチする。ディスパッチはエンドシステム101−105内の内部信号を指し、それはメッセージが伝送の準備ができていることを示唆する。通信リンク110、120上のメッセージの伝送の実際の開始は、遅れる可能性がある。この遅延の1つの理由は、別のメッセージがすでに伝送進行中であるということである。進行中のメッセージの伝送が通信リンク110、120上で完了されるまで、新しくディスパッチされたメッセージはその時遅延される。
これらのエンドシステム101−105に加えて、同期メッセージのコンシューマだけであって、同期メッセージをディスパッチしない分散形コンピュータネットワーク内のエンドシステムがあることができる。同期メッセージをディスパッチするエンドシステム101−105は、同期マスタと呼ばれている。
図2は、同期メッセージのデータ構造の1つの例を表す。1つの実現においてフィールド統合サイクル401は、時間トリガ通信スケジュール内の位置を示唆するのに用いられる。1つの実現においてメンバー権新フィールド402は、それぞれのメッセージのセンダを示唆するのに用いられる。1つの実現において同期優先順位フィールド403は、優先順位機構を同期メッセージ上で実現するのに用いられる。1つの実現において同期ドメインフィールド404は、互いに同期されるコンポーネントの独立集合を実現するのに用いられ、異なる独立集合内のコンポーネントに対する同期メッセージは、同期ドメインフィールド404に割り当てられる異なる値を有する。1つの実現においてタイプフィールド405は、異なる同期メッセージタイプを実現するのに用いられ、通常、同期プロトコルは一旦コンポーネントを越えた同期が確立されるならば実行される同期メッセージから、パワーアップの際に使われる同期メッセージを区別するために異なるタイプを使用する。1つの実現においてトランスペアレントクロックフィールド406はメッセージが分散形コンピュータネットワークを通して横断する間、エンドシステムおよびスイッチによって課される動的遅延を追跡するのに用いられる。1つの実現において、メッセージ上の遅延が生じる各コンポーネントは、この遅延をトランスペアレントクロックフィールド406内の値に加える。
図3は、分散形コンピュータネットワーク内の同期メッセージ301−304、380のメッセージフローを表し、リアルタイムでの進行が左から右に表される。エンドシステム101−104は同期メッセージ301−304を生成し、かつ、これらのメッセージをスイッチ201に送信する。スイッチ201は、同期メッセージ301−304の到着時点を記録して、これらのメッセージの持続性時点791−794を算出する。持続性時点791−794から、スイッチ201は次いでエンドシステム101−104に送信される圧縮された同期メッセージ380のディスパッチ時点を算出する。同様に、スイッチ201は圧縮された同期メッセージ380の代わりに各同期メッセージ301−304を進めることができる。スイッチが同期メッセージを圧縮するときに、それは圧縮された同期メッセージのディスパッチ時点を算出するのに用いられた同期メッセージを与えたエンドシステムと関連している圧縮された同期メッセージのメンバー権新フィールド402内にそれらのビットを設定する。
用語「持続性」は、単一のメッセージと関連していて、ある時点を指し、前記第1のメッセージの前に送信されたこの時点の後、その時点から、レシーバが別のメッセージを受信しない保証によって、このメッセージがレシーバによって使われることができる。
スイッチのプロトコル状態に従い、スイッチは特定の同期メッセージをブロックすることができる。同期メッセージのこのブロッキングを中央ガーディアン機能と呼ぶ。
同期メッセージを生成するかまたは中継することに加えて、スイッチは同期のために同期メッセージ自体を使用する。実現の詳細においてスイッチで実行されるプロトコルステートマシン(図8−図9)を論じ、それは入力としてまた圧縮された同期メッセージをとる。
1つの通信チャンネルだけ上のメッセージフロー、スイッチ201を含むチャンネルが、表される。1つの実現においてエンドシステム101−104が複製された通信チャンネル上で、並行してまたは順番に同期メッセージ301−304を送信する。
図4は、すなわち、一旦エンドシステム101−105およびスイッチ201−202の充分なサブセットのローカルクロックがうまく同期されたならば、同期動作中の同期プロセスの3つの繰返しを表す。リアルタイムでの進行が左から右に表される。予め予定された時点で、エンドシステムは同期メッセージ5101−5105をディスパッチする。スイッチ201−202は、それらのローカルクロックに同期させて、各々圧縮された同期メッセージ5201を生成するために同期メッセージを使用する。スイッチ201−202からの同期メッセージは、次いでエンドシステム101−105のローカルクロックに同期させるのに用いられる。
エンドシステム101−105からの同期メッセージ5101−5105が、スイッチ201−202内のクロック同期のために、同じく、スイッチ201−202の統合または再統合のために使われる。スイッチ201−202からの同期メッセージ5201が、クロック同期のために、同じく、エンドシステム101−105の統合または再統合のために使われる。
同期動作中に、同期メッセージはINCタイムユニットの期間で予定される。エンドシステムは、変数LocallntegrationCycleを使用して指定された最大まで0で始まる統合サイクルを周期的にカウントする。エンドシステムは、LocallntegrationCycle値を使用してそれが伝送する統合フレーム内に統合サイクルフィールド401を設定して、それが受信する統合サイクルフィールド401に対して調べる。
1つの通信チャンネルだけ上のメッセージフロー、スイッチ201を含むチャンネルが、表される。1つの実現においてエンドシステム101−105は複製された通信チャンネル上で、並行してまたは順番に同期メッセージ5101−5105を送信する。
図5は、同期クリーク検出プロセスを表す。同期クリーク検出プロセスは、ローカル変数を使用してどれくらいのエンドシステムがそれぞれのエンドシステムと現在同期されるかについて情報を得続ける。所定の統合フレームの予定された受付時点ごろの受信窓RWが期限切れになるときに、エンドシステムはvarLocalMembershipCompをアップデートする。それは、次いで、受信された統合フレーム内の統合サイクルフィールド401がLocallntegrationCycleの値と一致すると仮定すると、受信窓RW中に受信される統合フレームの最大メンバー権新フィールド402にvarLocalMembershipCompを設定する。
同期クリーク検出機構は、各同期された状態(ES_TENTATIVE_SYNC状態1060、ES_SYNC状態1070、ES_STABLE状態1080、図7を参照のこと)に対して独立に使用可能または使用不可にされることができる。同期クリーク検出機構が同期された状態で使用可能にされる場合、varLocalMembershipCompが同期評価時点SEVでアップデートされたあと、varLocalMembershipCompが状態特有閾値(TentativeSyncThresholdSync、SyncThresholdSyncまたはStableThresholdSync)に対して試験される。varLocalMembershipComp内に設定されるビットの数がそれぞれの閾値より低い場合、試験は成功でありおよびさもなければ成功でない。
また、エンドシステムに類似して使用可能にされるときに、スイッチもまた、同期された状態(SW_TENTATIVE_SYNC状態2060、SW_SYNC状態2070およびSW_STABLE状態2080、図8を参照のこと)で同期クリーク検出アルゴリズムを実行する。
図6は、非同期クリーク検出プロセスを表す。非同期クリーク検出プロセスは、ローカル変数varLocalAsyncMembCountを使用してどれくらい多くのエンドシステムが現在それぞれのコンポーネントと同期されないが、使用可能である(したがって、パワーオフされているエンドシステムを除外する)かについて情報を得続ける。変数varLocalAsyncMembCountは、ビットからエンドシステムへの1対1の関係を備えたビットベクトルである。
非同期クリーク検出機構は、各同期された状態(ES_TENTATIVE_SYNC状態1060、ES_SYNC状態1070、ES_STABLE状態1080)に対して独立に使用可能または使用不可にされることができる。非同期クリーク検出機構が同期された状態で使用可能にされる場合、varLocalAsyncMembCountは非同期評価時点AEVで状態特有閾値(TentativeSyncThresholdAsync、SyncThresholdAsyncまたはStableThresholdAsync)に対して試験される。
それがそれぞれの受信窓RWの外側で統合フレームを受信するときに、エンドシステムはvarLocalAsyncMembCountをアップデートし、これは、また、予定外受信と呼ばれている。図6に示したように予定外受信は、(統合フレーム5211によって表される)任意の受信窓RWの外側の統合フレームの受信であるか、または、それは受信窓内の統合フレームの受信のどちらかであることができるがそこで、受信された統合フレームが(統合フレーム5221によって表される)間違った統合サイクルフィールド401を具備する。
エンドシステムが、予定外統合フレームを受信するとき、統合フレームのメンバー権新フィールド402内の全てのビットセットが、また、varLocalAsyncMembCount内に設定される。非同期評価時点AEVでvarLocalAsyncMembCountが、評価される。varLocalMembershipComp内に設定されるビットの数がそれぞれの状態特有閾値と等しいかより大きい場合、試験は成功である。varLocalMembershipCompが2未満(スイッチが現在単一のエンドシステムだけに同期されるかまたは何のエンドシステムにも全く同期されないことを意味する)であり、および、varLocalAsyncMembCountが少なくとも1である場合、試験はまた成功である。全ての他の場合には非同期クリーク検出プロセスは、成功でない。
エンドシステムに類似して使用可能にされるときに、スイッチもまた、同期された状態(SW_TENTATIVE_SYNC状態2060、SW_SYNC状態2070およびSW_STABLE状態2080)で非同期クリーク検出アルゴリズムを実行する。非同期評価時点AEVが、しかしながら同期評価時点SEVの直前にある。
図7は、エンドシステム内に実行されるプロトコルステートマシンを表す。エンドシステムは、非同期の状態と同期された状態を区別する。ES_INTEGRATE状態1010、ES_WAIT_4_CYCLE_START状態1020、ES_UNSYNC状態1030、ES_FLOOD状態1040およびES_WAIT_4_CYCLE_START_CS状態1050は、非同期の状態に属する。ES_TENTATIVE_SYNC状態1060、ES_SYNC状態1070、ES_STABLE状態1080は、同期された状態に属する。エンドシステムは、統合フレームの受信経由で非同期の状態から同期された状態に入ることができ、この場合、非同期から同期への遷移を統合プロセスと呼ぶ。また、エンドシステムはフォールトトレラントハンドシェークの成功した実行を経て非同期の状態から同期された状態に入ることができる。この第2の場合では、コールドスタートまたはリセットプロセスについて話す。以下では全てのエンドシステムがクロック同期マスタであるとみなして、図7内に表されるステートマシンを論ずる。別の実現では、エンドシステムのサブセットだけがクロック同期マスタであるように構成されることができる。クロック同期マスタであるように構成されないエンドシステムは、統合プロセス経由でだけ同期された状態に入って、したがって、ステートマシン内の遷移のサブセットだけを実行する。
ES_INTEGRATE状態1010およびES_WAIT_4_CYCLE_START状態1020:
パワーオンの際にエンドシステムは、ES_INTEGRATE状態1010で始まる。ES_INTEGRATE状態1010からそれがメンバー権新フィールド402内に設定される十分に大きな数のビットの統合フレームを受信するときに、エンドシステムは同期された状態ES_SYNC状態1070に入ることができる(遷移1011)。また、それが統合フレーム内に設定される十分に大きな数のビット(遷移1012、1021)であるが、ES_SYNC状態1070に通過する(遷移1011)ように設定されるのに不十分に大きな数のビットを備えた統合フレームを受信する場合、エンドシステムはES_WAIT_4_CYCLE_START状態1020経由でES_TENTATIVE_SYNC状態1060に入ることができる。ES_INTEGRATE状態1010のエンドシステムがコールドスタート肯定応答フレームを受信するときに、それは、WAIT_4_CYCLE_START_CS状態1050に通過する(遷移1013)。
エンドシステムが設定可能な持続時間に対して遷移1011または1012のどちらかに設定される充分な数のビットを備えた統合フレームを受信しないときに、エンドシステムはES_UNSYNC状態1030に入る(遷移1014)。
ES_UNSYNC状態1030:
エンドシステムがES_UNSYNC状態1030にある間、それは構成された期間で全ての複製されたチャンネル上でコールドスタートフレームを伝送する。
ES_UNSYNC状態から、エンドシステムは、それが遷移1032または遷移1033に対して設定される充分な数のビットを備えた統合フレームを受信すると仮定するならば、再び、ES_TENTATIVE_SYNC状態1060またはES_SYNC状態1070のいずれかに入ることができる(統合プロセス)。エンドシステムがES_UNSYNC状態にあって、コールドスタート肯定応答フレームを受信するときに、それは、ES_WAIT_4_CYCLE_START_CS状態に通過する(遷移1031)。
ES_UNSYNC状態1030に加えてエンドシステムは、また、フォールトトレラントハンドシェークプロセスを始めることが可能である。ES_UNSYNC状態のエンドシステムが、コールドスタートフレームを受信するときに、それはES_FLOOD状態1040(遷移1034)に入り、および、フォールトトレラントハンドシェークが始まると言われる。
ES_FLOOD状態1040:
ES_FLOOD状態1040ではエンドシステムは、CSOの持続時間の間待って、CSOがタイムアウトする時、全ての複製された通信チャンネル上でコールドスタート肯定応答フレームを伝送する。CSOタイムアウトが期限切れになる前に、エンドシステムがコールドスタートフレームを受信すると、その時、CSOタイムアウトが再開される。全ての統合フレームは、ES_FLOOD状態1040で廃棄される。CSOタイムアウトが期限切れになり、および、エンドシステムがコールドスタート肯定応答フレームを送信すると、その時、それはコールドスタート肯定応答フレームを受信するのを待つ。それが予想される到着窓内にコールドスタート肯定応答フレームを受信する場合、それはフォールトトレラントハンドシェークが成功で、ES_WAIT_4_CYCLE_START_CS状態1050に入る(遷移1041)と結論を下す。あまりに早く受信されるコールドスタート肯定応答フレームは、廃棄される。エンドシステムがコールドスタート肯定応答フレームを送信するが、予想される到着窓に戻ってコールドスタート肯定応答フレームを受信しないときに、それはフォールトトレラントハンドシェークが成功でなかったと結論を下して、および、ES_UNSYNC状態1030へ戻って通過する(遷移1042)。
フォールトトレラントハンドシェークによって、コールドスタートフレームの起動/再起動衝突を、同じく故障のコンポーネントの存在での起動を、許容することができる。両方の場合に対するシナリオが、図10−図12内に表される。
ES_WAIT_4_CYCLE_START_CS状態1050:
ES_WAIT_4_CYCLE_START_CS状態1050ではエンドシステムは、コールドスタート肯定応答タイムアウトCAOを待つ(図10、図11を参照のこと)。CAOがタイムアウトする前に、エンドシステムがコールドスタート肯定応答フレームを受信すると、その時、CAOタイムアウトは再び述べられる。エンドシステムがコールドスタートフレームを受信すると、その時、エンドシステムがES_FLOOD状態1040に通過して、フォールトトレラントハンドシェークを始める(遷移1052)。CAOタイムアウトが期限切れになるときに、エンドシステムはES_TENTATIVE_SYNC状態1060に通過する(遷移1051)。
ES_TENTATIVE_SYNC状態1060:
クリーク検出アルゴリズムのいずれか1つが使用可能にされて、成功に戻ると、その時、エンドシステムはES_UNSYNC状態1030に通過する(遷移1063)。エンドシステムがコールドスタートフレームを受信するときに、それは、ES_FLOOD状態1040に通過して(遷移1064)、フォールトトレラントハンドシェークを始める。エンドシステムがコールドスタート肯定応答フレームを受信するときに、それは、ES_WAIT_4_CYCLE_START_CS状態1050に通過する(遷移1065)。同期クリーク検出アルゴリズムで使われるvarLocalMembershipComp変数内に設定されるビットの数が設定可能な閾値を越えて増大すると、その時、エンドシステムはES_SYNC状態1070に通過する(遷移1062)。エンドシステムが設定可能な数の統合サイクルINCの間、ES_TENTATIVE_SYNC状態1060にとどまるときに、設定可能なフラグが設定されるならば、エンドシステムはES_STABLE状態1080に通過することができる。
ES_SYNC状態1070:
クリーク検出アルゴリズムのいずれか1つが使用可能にされて、成功に戻ると、その時、エンドシステムはES_UNSYNC状態1030(遷移1073)またはES_INTEGRATE状態1010(遷移1072)のどちらかに通過するように構成されることができる。エンドシステムがコールドスタート肯定応答フレームを受信するときに、それはES_WAIT_4_CYCLE_START_CS状態1050に通過する(遷移1074)。エンドシステムが設定可能な数の統合サイクルINCの間、ES_SYNC状態1070にとどまるときに、設定可能なフラグが設定されるならば、エンドシステムはES_STABLE状態1080に通過することができる。
ES_STABLE状態1080:
非同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、エンドシステムはES_INTEGRATE状態1010に通過する(遷移1081)。また、設定可能な数または逐次的な統合サイクルINCの間、同期クリーク検出アルゴリズムが使用可能にされて、成功に戻ると、その時、エンドシステムは同様にES_INTEGRATE状態1010に通過する(遷移1081)。エンドシステムがコールドスタート肯定応答フレームを受信するときに、それは、ES_WAIT_4_CYCLE_START_CS状態に通過する。
図8は、エンドシステムが信頼されるとみなされる場合、スイッチ内に実行されるプロトコルステートマシンを表す。この場合のスイッチステートマシンは、エンドシステムステートマシンときわめて類似している。1つの実現においてエンドシステムおよびスイッチの挙動が構成経由で選ばれることができるように、エンドシステムおよびスイッチのステートマシンが一体化される。
SW_INTEGRATE状態2010およびSW_WAIT_4_CYCLE_START状態2020:
パワーオンの際にスイッチステートマシンは、SW_INTEGRATE状態2010で始まる。SW_INTEGRATE状態2010からそれがメンバー権新フィールド402内に設定される十分に大きな数のビットを備えた、統合フレームを受信するときに、スイッチは同期された状態SW_SYNC状態2070に入ることができる(遷移2011)。また、それが統合フレーム内に設定される十分に大きな数のビット(遷移2012、2021)であるが、SW_SYNC状態2070に通過する(遷移2011)ように設定されるには不十分に大きな数のビットを備えた統合フレームを受信する場合、スイッチはSW_WAIT_4_CYCLE_START状態2020経由でSW_TENTATIVE_SYNC状態2060に入ることができる。
スイッチが設定可能な持続時間に対して遷移2011または2012のどちらかに設定される充分な数のビットを備えた統合フレームを受信しないときに、スイッチはSW_UNSYNC状態3030に入る(遷移2013)。
SW_UNSYNC状態2030:
SW_UNSYNC状態から、スイッチは、それが遷移2032または遷移2033に対して設定される充分な数のビットを備えた統合フレームを受信すると仮定するならばSW_TENTATIVE_SYNC状態2060またはSW_SYNC状態2070のいずれかに入ることができる(統合プロセス)。
SW_TENTATIVE_SYNC状態2060:
クリーク検出アルゴリズムのいずれか1つが使用可能にされて、成功に戻ると、その時、スイッチはSW_UNSYNC状態2030に通過する(遷移2063)。
同期クリーク検出アルゴリズム内に使われるvarLocalMembershipComp変数内に設定されるビットの数が設定可能な閾値を越えて増大すると、その時、スイッチはSW_SYNC状態2070に通過する(遷移2062)。スイッチが設定可能な数の統合サイクルINCの間、SW_TENTATIVE_SYNC状態2060にとどまるときに、設定可能なフラグが設定されるならば、スイッチはSW_STABLE状態2080に通過することができる(遷移2061)。
SW_SYNC状態2070:
非同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、スイッチはSW_INTEGRATE状態2010に通過する(遷移2072)。同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、スイッチの構成に従い、スイッチはSW_INTEGRATE状態2010(遷移2072)またはSW_TENTATIVE_SYNC状態2060(遷移2073)のどちらかに通過する。
スイッチが設定可能な数の統合サイクルINCの間、SW_SYNC状態2070にとどまるときに、設定可能なフラグが設定されるならば、スイッチはSW_STABLE状態2080に通過することができる(遷移2071)。
SW_SYNC状態2070ではスイッチは、コールドスタートフレームを進めない。
SW_STABLE状態2080:
非同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、スイッチはSW_INTEGRATE状態2010に通過する(遷移2081)。また、設定可能な数または逐次的な統合サイクルINCの間、同期クリーク検出アルゴリズムが使用可能にされて、成功に戻ると、その時、スイッチは同様にSW_INTEGRATE状態2010に通過する(遷移2081)。
SW_STABLE状態2080ではスイッチは、コールドスタートフレームを進めない。
図9は、エンドシステムが信頼されないとみなされる場合、スイッチ内に実行されるプロトコルステートマシンを表す。スイッチステートマシンは、再び、エンドシステムステートマシンときわめて類似している。1つの実現においてエンドシステムおよびスイッチの挙動が構成経由で選ばれることができるように、エンドシステムおよびスイッチのステートマシンが一体化される。
スイッチがSW_UNSYNC状態2030にあって、全ての他の状態のコールドスタートフレームをブロックするときに、信頼されないエンドシステムと共に動作するスイッチはコールドスタートフレームを中継する。メンバー権新フィールド402の値が十分に大きいならば、スイッチがSW_UNSYNC状態2030にあるときに、または、スイッチがSW_CA_ENABLED状態2040にあって、他の全ての状態のコールドスタート肯定応答フレームをブロックするときに、信頼されないエンドシステムと共に動作するスイッチはコールドスタート肯定応答フレームを中継する。
スイッチが統合フレームを使用するそのプロトコルステートマシンの中で定義される遷移を有するか、または、統合フレームがクロック同期プロセスのために使われる場合、信頼されないエンドシステムと共に動作するスイッチは、SW_INTEGRATE状態2010、SW_UNSYNC状態2030、SW_WAIT_4_IN状態2040、SW_SYNC状態2070の、および、SW_STABLE状態2080の統合フレームを中継する。全ての他の統合フレームは、ブロックされる。スイッチは、スイッチプロトコルステートマシンで使われない統合フレームをブロックする。例えば、この種の統合フレームは単一の故障のエンドシステムによって送信される故障の統合フレームであるかもしれない。
SW_INTEGRATE状態2010:
パワーオンの際にスイッチステートマシンは、SW_INTEGRATE状態2010で始まる。SW_INTEGRATE状態2010からそれがメンバー権新フィールド402内に設定される十分に大きな数のビットを備えた統合フレームを受信するときに、スイッチは同期された状態SW_SYNC状態2070に入ることができる(遷移2011)。
スイッチが設定可能な持続時間に対して遷移2011または2012のどちらかに設定される充分な数のビットを備えた統合フレームを受信しないときに、スイッチはSW_UNSYNC状態3030に入る(遷移2013)。
SW_UNSYNC状態2030:
SW_UNSYNC状態から、スイッチは、それが遷移2033に対して設定される充分な数のビットを備えた統合フレームを受信すると仮定するならばSW_SYNC状態2070に入ることができる(統合プロセス)。
スイッチがコールドスタートフレームまたは充分な数のコールドスタート肯定応答フレームを受信するときに、それはSW_CA_ENABLED状態2040に通過する(遷移2034)。
SW_CA_ENABLED状態2040:
設定可能なタイムアウトが期限切れになったあと、スイッチはSW_WAIT_4_IN状態2050に通過する(遷移2041)。
SW_WAIT_4_IN状態2050:
SW_WAIT_4_IN状態2050ではスイッチは、メンバー権新フィールド402内に設定される十分に大きな数のビットを備えた統合フレームを受信するのを待ち、それは、SW_SYNC状態2070に通過する(遷移2051)。スイッチが設定可能なタイムアウトに対してこの種の統合フレームを受信しない場合、スイッチはSW_UNSYNC状態2030へ戻って通過する(遷移2052)。
SW_SYNC状態2070:
非同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、スイッチはSW_INTEGRATE状態2010に通過する(遷移2072)。同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、スイッチはSW_INTEGRATE状態2010に通過する(遷移2072)。
スイッチが設定可能な数の統合サイクルINCの間、SW_SYNC状態2070にとどまるときに、設定可能なフラグが設定されるならば、スイッチはSW_STABLE状態2080に通過することができる(遷移2071)。
SW_STABLE状態2080:
非同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、スイッチはSW_INTEGRATE状態2010に通過する(遷移2081)。また、設定可能な数または逐次的な統合サイクルINCの間、同期クリーク検出アルゴリズムが使用可能にされて、成功に戻ると、その時、スイッチは同様にSW_INTEGRATE状態2010に通過する(遷移2081)。
図10は分散形コンピュータネットワークの故障がなくて衝突がない起動シナリオを表し、リアルタイムでの進行が左から右に表される。1つだけの通信チャンネル上のメッセージフロー、スイッチ201を含むチャンネルが、表される。
本発明は、異なるタイプのメッセージ:コールドスタートフレーム3101、コールドスタート肯定応答フレーム4102−4105および統合フレーム5101−5105を区別する。統合フレームが同期動作中に、すなわち、一旦同期がうまく確立されたならば、使われる。コールドスタートフレームは、フォールトトレラントハンドシェークフェーズを始めるのに用いられる。コールドスタート肯定応答フレームがフォールトトレラントハンドシェークプロセスを確認して、終えるのに用いられて、フォールトトレラントハンドシェークフェーズの外側で受信されるときに、同期のために使われる。図10は、コールドスタートフレーム3101の受諾で始まって、コールドスタート肯定応答フレーム4201の受信で終わるフォールトトレラントハンドシェークFTHを表す。
各エンドシステム101−105は、コールドスタート肯定応答フレームをそれが受け入れるコールドスタートフレームに送信する。エンドシステムは、FTH中に受信される他のエンドシステム(エンドシステムは、自身のコールドスタートフレームに反応するかまたは反応しないように構成されることができる)から送信される全てのコールドスタートフレームを受け入れ、およびCSOが再開される。コールドスタートオフセットCSOがタイムアウトするときに、エンドシステムはコールドスタート肯定応答フレームを送信する。エンドシステムがスイッチから戻ってコールドスタート肯定応答フレームを受信するときに、それはフォールトトレラントハンドシェークFTHが成功したと結論を下して、同期された状態の方へ進行する。この応答側コールドスタート肯定応答フレームだけが、FTH中に使われる。FTH中にあまりに早く受信されるコールドスタート肯定応答フレームは、廃棄される。エンドシステムがそれ自体の送信されたコールドスタート肯定応答フレームへのコールドスタート肯定応答フレームを受信しないときに、それはフォールトトレラントハンドシェークFTHが成功しなかったと結論を下して、非同期の状態に入る。
図10内のシナリオは、コールドスタートフレーム3101を送信するエンドシステム101で始まる。1つの実現においてコールドスタートフレームは、全てのエンドシステム101−105へスイッチ201によって中継される。中継の際に、このシナリオエンドシステム101内の、コールドスタートフレームのそれぞれのセンダと関連しているメンバー権新フィールド402内に、スイッチはビットを設定し、および全ての他のビットをクリアする。これは、各受信エンドシステムがメンバー権新フィールド402経由でコールドスタートフレームのセンダを識別することができることを意味する。このシナリオでは、各エンドシステムはエンドシステム101をコールドスタートフレーム3101の元のセンダと確認する。
1つの実現において全てのエンドシステム101−105は、それらが自身のコールドスタートフレーム(それは、元々それぞれのエンドシステムによって送信されたコールドスタートフレームである)に反応しないように構成される。エンドシステム102−105は、コールドスタートオフセットタイムアウトCSOを始める。タイムアウトが期限切れになるときに、エンドシステム102−105はコールドスタート肯定応答フレーム4102−4105を送信する。
1つの実現においてスイッチがコールドスタート肯定応答フレーム4102−4105を圧縮して、および、新コールドスタート肯定応答フレーム4201を生成する。圧縮されたコールドスタート肯定応答フレーム4201は、次いでエンドシステムに送信される。エンドシステム101−105は、コールドスタート肯定応答フレーム4201の受信の際にコールドスタート肯定応答タイムアウトCAOを始める。タイムアウトが期限切れになるときに、エンドシステム101−105は同期された状態に入って、統合フレーム5101−5105を送信する。別の実現においてコールドスタート肯定応答フレームは圧縮されないが、しかし全てのコールドスタート肯定応答フレームがスイッチ201−202によって進められる。
図11は故障のない衝突起動シナリオを表し、リアルタイムでの進行が左から右に表される。フォールトトレランス理由のためにエンドシステム101−105の大きさは同期メッセージを与えるように構成され、それでエンドシステムのサブセットの故障の場合に、故障でないそれらのエンドシステムによって、同期メッセージがなお生成される。特に、エンドシステム101−105の大きさはコールドスタートメッセージを与えるように構成されることができ、それが初期同期のために使われる。これらのメッセージが何の同期メッセージもこれまでに確立されていない時に送信されるべき本当に最初の同期メッセージであるので、2つ以上のエンドシステムが、衝突ドメインCDと呼ぶインターバル中に、およそ同じ時点でそれらのコールドスタートフレームを送信することを決定することができる。原則として、それは初期同期イベントのような衝突を使用するのが可能である。しかしながら、この場合、2つの異なるエンドシステム101−105が同期のための異なるコールドスタートフレームを使用することを決定することができるので、初期同期は衝突ドメインCDの直接の機能である。蓄積交換ネットワークにおいて衝突ドメインCDは、有意なサイズである。それゆえに、初期同期を改善するために、本発明は確定的に衝突シナリオを解決する機構を特定する。図11内に表されるシナリオは、衝突が故障のない場合にどのように解決されるか一例シナリオを表す。
シナリオは、コールドスタートフレーム3102を送信するエンドシステム102で始まる。コールドスタートフレーム3102の伝送の開始の後の衝突持続時間CD内にエンドシステム101は、同様にコールドスタートフレーム3101を送信し始め、衝突に結びつく。コールドスタートフレーム3102は、スイッチ201−202によって中継されるべき最初のものであり、および、エンドシステム101−105によって受信される。エンドシステム101、103−105は、このコールドスタートフレーム3102を使用してコールドスタートオフセットタイムアウトCSOを始める(エンドシステム102は、それ自体のコールドスタートフレームを使用しないように構成される)。しかしながら、コールドスタートフレーム3102の受信の後、コールドスタートフレーム3101は、エンドシステム101−105にスイッチ201−202によって中継される。エンドシステム102−105は、コールドスタートフレーム3102を使用してコールドスタートオフセットタイムアウトCSOをリセットする。エンドシステム101は、それがまた、自身のコールドスタートフレームに反応しないように構成されるので、コールドスタートフレーム3101に反応しない。従って、エンドシステム101は、コールドスタート肯定応答フレーム4101をタイムアウトして送信する最初のものである。あとに続いて、それらのコールドスタートオフセットタイムアウトCSOが後で生じるので、エンドシステム102−105はそれらのコールドスタート肯定応答フレーム4102−4105を送信する。スイッチは最初にエンドシステム101からのコールドスタート肯定応答フレーム4101を処理し、および、エンドシステム101−105へ戻って、得られるコールドスタート肯定応答フレーム4201を送信する。エンドシステム101だけが、コールドスタート肯定応答オフセットタイムアウトCAOを始めることによってこのコールドスタート肯定応答フレームに反応する。それがそれらのフォールトトレラントハンドシェークFTHであまり早く受信されるので、エンドシステム102−105はコールドスタート肯定応答フレーム4201を使用しない。一旦エンドシステム101−105がコールドスタート肯定応答フレーム4211を受信すると、全てのエンドシステム101−105がこのコールドスタート肯定応答:それが、それらのフォールトトレラントハンドシェークFTHフェーズに時間的に適合するのでエンドシステム102−105、および、それがそのFTHをすでに終えたのでエンドシステム102、を受け入れる。
図12は故障のエンドシステム101および故障のスイッチ201を備えた起動中の故障シナリオを表し、リアルタイムでの進行が左から右に表される。シナリオは、コールドスタートフレーム3101をスイッチ201だけに送信する故障のエンドシステム101で始まる(正しいエンドシステムは、全ての複製されたチャンネル上に同期フレームを常に送信する)。故障のスイッチ201は、エンドシステム103だけにコールドスタートフレーム3101を中継する(正しいスイッチは、同期を全てのエンドシステムに常に送信する)。エンドシステム103は、コールドスタートフレーム3101を受信して、コールドスタートオフセットタイムアウトCSOを設定することによってそのフォールトトレラントハンドシェークを始める。CTOが期限切れになるときに、エンドシステム103は全ての複製されたチャンネル上でコールドスタート肯定応答フレームを送信する。それゆえに、故障のスイッチ201および正しいスイッチ202が、コールドスタート肯定応答フレーム4103を受信する。正しいスイッチ202は、全てのエンドシステム101−104にコールドスタート肯定応答フレーム4202としてコールドスタート肯定応答フレーム4103を中継する。エンドシステム103は、そのフォールトトレラントハンドシェークFTHと一致しているこのコールドスタート肯定応答フレーム4202を受信して、FTHが成功だったと結論を下す。エンドシステム102および104は、FTHの外側でコールドスタート肯定応答フレームを受信して、それゆえに、同期のためにそれを使用する。それゆえに、全ての正しいエンドシステムはコールドスタート肯定応答フレーム4202の受信によってコールドスタート肯定応答オフセットCAOを始めて、同期動作へ進む。
101−105 エンドシステム
110、120 双方向通信リンク
201−202 スイッチ
301−304、380 同期メッセージ
401 統合サイクルフィールド
402 メンバー権新フィールド
403 同期優先順位フィールド
404 同期ドメインフィールド
405 タイプフィールド
406 トランスペアレントクロックフィールド
791−794 持続性時点
1010 ES_INTEGRATE状態
1011、1012、1013、1014 遷移
1020 ES_WAIT_4_CYCLE_START状態
1021 遷移
1030 ES_UNSYNC状態
1031、1032、1033、1034 遷移
1040 ES_FLOOD状態
1041、1042 遷移
1050 ES_WAIT_4_CYCLE_START_CS状態
1051、1052 遷移
1060 ES_TENTATIVE_SYNC状態
1062、1063、1064、1065 遷移
1070 ES_SYNC状態
1072、1073、1074 遷移
1080 ES_STABLE状態
1081 遷移
2010 SW_INTEGRATE状態
2011、2012、2013 遷移
2020 SW_WAIT_4_CYCLE_START状態
2021 遷移
2030 SW_UNSYNC状態
2032、2033、2034 遷移
2040 SW_CA_ENABLED状態
2041 遷移
2050 SW_WAIT_4_IN状態
2051、2052 遷移
2060 SW_TENTATIVE_SYNC状態
2061、2062、2063 遷移
2070 SW_SYNC状態
2071、2072、2073 遷移
2080 SW_STABLE状態
2081 遷移
3030 SW_UNSYNC状態
3101、3102 コールドスタートフレーム
4101−4105、4201、4202、4211 コールドスタート肯定応答フレーム
5101−5105 同期メッセージ、統合フレーム
5201 圧縮された同期メッセージ
5211、5221 統合フレーム

CD 衝突ドメイン

Claims (14)

  1. 分散形コンピュータネットワーク内のローカルクロック同期させるための方法であって、前記コンピュータネットワークが複数のエンドシステムおよび少なくとも2つのスイッチから成り、前記コンピュータネットワークの各エンドシステムが双方向通信リンク経由で少なくとも2つのスイッチに接続され、前記コンピュータネットワークのエンドシステムおよびスイッチの構成されたサブセットが同期ステートマシンの形で前記方法を実行し、
    a)前記エンドシステムの前記ステートマシンが、少なくとも3つの異なるフレームタイプ(コールドスタートフレームタイプ、コールドスタート肯定応答フレームタイプおよび統合フレームタイプ)を使用し、および、
    b)前記エンドシステム及び前記スイッチの前記ステートマシン内の状態が非同期の組の状態に属するかまたは同期された組の状態に属、および、
    c)同期マスタとして構成される全てのエンドシステムが前記非同期の状態の1つでコールドスタートフレームを周期的に送信し、および、
    d)前記エンドシステム、前記同期ステートマシンがコールドスタートフレームに対する遷移を規定する状態にあるならば、同期マスタとして構成される全てのエンドシステムが、全ての複製された通信チャンネル上の前記コールドスタートフレームの受信の後でコールドスタート肯定応答フレームに設定可能な第1のタイムアウト(CSO)を送信することによって前記コールドスタートフレームの受信に反応し、前記複製された通信チャンネルは2つのエンドシステムを1つのスイッチへ接続する少なくとも2つの双方向通信リンクを含み、および、
    前記コールドスタート肯定応答が送信される前に、続くコールドスタートフレームが受信されるときに、前記第1のタイムアウト(CSO)がリセットされ、および、
    e)同期マスタとして構成される全てのエンドシステムは、前記第1のタイムアウト(CSO)を既に実行中でなければ、設定可能な前記第2のタイムアウト(CAO)を始動することによってコールドスタート肯定応答フレームの受信に反応し、第2のタイムアウト(CAO)が期限切れになる時、同期された状態に入り、且つ統合フレームを送信する、ことを特徴とする方法。
  2. 請求項1に記載の方法であって、エンドシステムが、自身のコールドスタートフレームに反応しない、ことを特徴とする方法。
  3. 請求項1または2に記載の方法であって、前記同期された状態の1つにある同期マスタとして構成される前記エンドシステムが、統合フレームを周期的に送信し、その統合フレームが、すでに同期された状態にあるそれらのエンドシステムによるクロック同期のために使われて、かつ前記非同期の状態の1つにあるそれらのエンドシステムによる統合のために使われる、ことを特徴とする方法。
  4. 請求項1ないし3の1つに記載の方法であって、前記メッセージセンダが、前記同期メッセージ内に設定されるビットによって識別される、ことを特徴とする方法。
  5. 請求項1ないし4の1つに記載の方法であって、前記エンドシステムおよび/またはスイッチが、前記同期された状態の少なくとも1つで同期クリーク検出アルゴリズムを実行する、ことを特徴とする方法。
  6. 請求項5に記載の方法であって、コンポーネント(エンドシステムまたはスイッチ)が前記コンポーネントに同期される前記エンドシステムを監視する方法で、前記同期クリーク検出アルゴリズムが実現され、および、前記コンポーネントに同期される前記エンドシステムの数が複数の通信サイクルの間閾値より下に減少する場合、前記コンポーネントが非同期の状態に入る、ことを特徴とする方法。
  7. 請求項6に記載の方法であって、前記同期クリーク検出アルゴリズムにおいて使用される前記閾値が、同期された状態につき個々に設定されることができる、ことを特徴とする方法。
  8. 請求項1ないし7の1つに記載の方法であって、前記エンドシステムおよび/またはスイッチが、前記同期された状態の少なくとも1つで非同期クリーク検出アルゴリズムを実行する、ことを特徴とする方法。
  9. 請求項8に記載の方法であって、コンポーネント(エンドシステムまたはスイッチ)が、前記コンポーネントに同期されないが使用可能である前記エンドシステムを監視するように、前記非同期クリーク検出アルゴリズムが実現され、および、前記コンポーネントに同期されない前記エンドシステムの数が複数の通信サイクルの間、状態特有閾値を越えて増大する場合、前記コンポーネントが非同期の状態に入る、ことを特徴とする方法。
  10. 請求項9に記載の方法であって、前記非同期クリーク検出アルゴリズムにおいて使用される前記閾値が、同期された状態につき個々に設定されることができる、ことを特徴とする方法。
  11. 請求項1ないし10の1つに記載の方法であって、エンドシステム101−105が、1つの統合サイクルINCより長い持続時間の間、予定外受信された統合フレームの組の前記同期メッセージ(メンバー権新フィールド(402))に設定されるビットを記録することによって非同期のコンポーネントをカウントするための前記方法を実現し、および前記コンポーネントと非同期である前記数のエンドシステムが、前記記録されたデータ構造で設定される前記ビットのビットサムである、ことを特徴とする方法。
  12. 請求項1ないし11の1つに記載の方法であって、前記コンポーネントが同期状態で設定可能な時間であるときに、前記同期された状態(安定状態)の1つが別の同期状態(同期状態)から入る、ことを特徴とする方法。
  13. 請求項1ないし12の1つに記載の方法であって、前記同期されたエンドシステムの数が、設定可能な数の統合サイクル(INC)の間順番に、かつ、最初の示唆以外の際に、状態特有の構成された閾値より低いことを、前記同期クリーク検出機構が示唆する時、エンドシステムまたはスイッチが、前記同期された状態(安定状態)の1つから前記非同期の状態の1つまで通過する、ことを特徴とする方法。
  14. 請求項1ないし13の1つに記載の方法であって、前記スイッチが、設定可能な組のタイプだけを備えたメッセージを中継するために状態につき設定可能である、ことを特徴とする方法。
JP2011510776A 2008-06-02 2008-06-02 分散形コンピュータネットワーク内のローカルクロックに同期させるための方法 Active JP5413750B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/AT2008/000191 WO2009146471A1 (en) 2008-06-02 2008-06-02 Method for synchronizing local clocks in a distributed computer network

Publications (2)

Publication Number Publication Date
JP2011523814A JP2011523814A (ja) 2011-08-18
JP5413750B2 true JP5413750B2 (ja) 2014-02-12

Family

ID=40342797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011510776A Active JP5413750B2 (ja) 2008-06-02 2008-06-02 分散形コンピュータネットワーク内のローカルクロックに同期させるための方法

Country Status (6)

Country Link
US (1) US8463945B2 (ja)
EP (1) EP2297885B1 (ja)
JP (1) JP5413750B2 (ja)
CN (1) CN102282787B (ja)
HK (1) HK1163388A1 (ja)
WO (1) WO2009146471A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT509700B1 (de) * 2010-04-07 2019-05-15 Tttech Computertechnik Ag Verfahren und apparat zur fehlertoleranten zeitgesteuerten echtzeitkommunikation
AT512742A1 (de) * 2012-04-11 2013-10-15 Fts Computertechnik Gmbh Verfahren und Verteilereinheit zur zuverlässigen Vermittlung von Synchronisationsnachrichten
CN103001720B (zh) * 2012-11-12 2017-05-10 中兴通讯股份有限公司 时间同步方法和装置
WO2017114267A1 (zh) 2015-12-29 2017-07-06 上海联影医疗科技有限公司 一种医疗设备的数据采集系统及其配置方法
CN105686830B (zh) * 2015-12-29 2019-03-19 上海联影医疗科技有限公司 医疗设备的数据采集系统及其配置方法
EP3376330B1 (de) * 2017-03-17 2020-11-04 TTTech Auto AG Fehlertolerantes verfahren zur erkennung von fehlern in einem elektronischen system zur steuerung eines kontrollierten objektes
CN109150354B (zh) * 2018-08-03 2020-01-10 湖南华芯通网络科技有限公司 一种时间触发以太网中压缩修正值的计算方法
CN113783721B (zh) * 2021-08-20 2022-06-21 大连理工大学 面向工业控制网络协议的可信性建模与验证方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731654B1 (en) * 1999-04-27 2004-05-04 Carriercomm, Inc. Communication system overhead channel
US7787437B2 (en) * 2003-02-03 2010-08-31 Sony Corporation Wireless communication system, apparatus, method and computer program product including timed beacon transmission control
US7474625B2 (en) * 2003-05-20 2009-01-06 Nxp B.V. Time-triggered communication system and method for the synchronized start of a dual-channel network
WO2005053244A2 (en) * 2003-11-19 2005-06-09 Honeywell International Inc. Simplified time synchronization for a centralized guardian in a tdma star network
JP4442338B2 (ja) * 2004-02-06 2010-03-31 ソニー株式会社 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
WO2007000007A1 (en) 2005-06-28 2007-01-04 Tttech Computertechnik Aktiengesellschaft Safe start-up of a network
EP2297886B1 (en) 2008-06-02 2013-02-20 TTTech Computertechnik AG Method for synchronizing local clocks in a distributed computer network

Also Published As

Publication number Publication date
JP2011523814A (ja) 2011-08-18
US20110173347A1 (en) 2011-07-14
EP2297885A1 (en) 2011-03-23
EP2297885B1 (en) 2013-02-20
CN102282787B (zh) 2015-01-14
WO2009146471A1 (en) 2009-12-10
HK1163388A1 (en) 2012-09-07
US8463945B2 (en) 2013-06-11
CN102282787A (zh) 2011-12-14

Similar Documents

Publication Publication Date Title
JP5413750B2 (ja) 分散形コンピュータネットワーク内のローカルクロックに同期させるための方法
JP5073812B2 (ja) 分散型イーサネットシステムおよび該システムに基づいて障害を検出する方法
Finn Resynch procedures and a fail-safe network protocol
US7944815B2 (en) System and method for network recovery from multiple link failures
US9331805B2 (en) Network and method for implementing a high-availability grand master clock
JP5370870B2 (ja) 分散形コンピュータネットワーク内のローカルクロックに同期させるための方法
CN105024841B (zh) 一种时钟和时间同步网络的同步故障处理方法和系统
WO2006080433A1 (ja) 情報処理装置および情報処理方法
WO2011063725A1 (zh) 一种主备同步方法及系统
JP5120097B2 (ja) 時間同期システムおよび時間同期装置
JP5154648B2 (ja) ネットワークにおいて、分散型方式からマスタ/スレーブ型方式へ切換える方法。
Steiner et al. The startup problem in fault-tolerant time-triggered communication
Toufik et al. Chorus-line algorithm for clock synchronization
KR101156097B1 (ko) 이더넷 파워링크에서의 마스터 이중화 방법
Sandic et al. TTEthernet mixed-critical communication: Overview and impact of faulty switches
CN111065007A (zh) 一种光纤网络时频同步方法、装置、介质及设备
JP5928398B2 (ja) 通信装置
Silva et al. Master replication and bus error detection in FTT-CAN with multiple buses
Paulitsch et al. Starting and resolving a partitioned brain
JP4753344B2 (ja) 分散コンピュータシステムの同期処理方法
WO2017219786A1 (zh) 一种应用连接的构建方法、装置及终端
CN107070575A (zh) 基于以太网的网络中的时钟同步监测
CN116865897A (zh) 兼容802.1as的tsn网络分布式时间同步方法
JP5952337B2 (ja) 中継装置およびその制御方法
CN112822039A (zh) 双机热备系统主备模式切换的方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120229

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130115

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130412

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130419

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130515

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130604

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131031

R150 Certificate of patent or registration of utility model

Ref document number: 5413750

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250