(57)【特許請求の範囲】
【請求項１】
分散形コンピュータネットワーク内のローカルクロックを同期させるための方法であって、前記コンピュータネットワークが複数のエンドシステムおよび少なくとも２つのスイッチから成り、前記コンピュータネットワークの各エンドシステムが双方向通信リンク経由で少なくとも２つのスイッチに接続され、前記コンピュータネットワークのエンドシステムおよびスイッチの構成されたサブセットが同期ステートマシンの形で前記方法を実行し、
ａ）前記エンドシステムの前記ステートマシンが、少なくとも３つの異なるフレームタイプ（コールドスタートフレームタイプ、コールドスタート肯定応答フレームタイプおよび統合フレームタイプ）を使用し、および、
ｂ）前記エンドシステム及び前記スイッチの前記ステートマシン内の状態が非同期の組の状態に属するかまたは同期された組の状態に属し、および、
ｃ）同期マスタとして構成される全てのエンドシステムが前記非同期の状態の１つでコールドスタートフレームを周期的に送信し、および、
ｄ）前記エンドシステムは、前記同期ステートマシンがコールドスタートフレームに対する遷移を規定する状態にあるならば、同期マスタとして構成される全てのエンドシステムが、全ての複製された通信チャンネル上の前記コールドスタートフレームの受信の後でコールドスタート肯定応答フレームに設定可能な第１のタイムアウト（ＣＳＯ）を送信することによって前記コールドスタートフレームの受信に反応し、前記複製された通信チャンネルは２つのエンドシステムを1つのスイッチへ接続する少なくとも２つの双方向通信リンクを含み、および、
前記コールドスタート肯定応答が送信される前に、続くコールドスタートフレームが受信されるときに、前記第１のタイムアウト（ＣＳＯ）がリセットされ、および、
ｅ）同期マスタとして構成される全てのエンドシステムは、前記第１のタイムアウト（ＣＳＯ）を既に実行中でなければ、設定可能な前記第２のタイムアウト（ＣＡＯ）を始動することによってコールドスタート肯定応答フレームの受信に反応し、第２のタイムアウト（ＣＡＯ）が期限切れになる時、同期された状態に入り、且つ統合フレームを送信する、ことを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、エンドシステムが、自身のコールドスタートフレームに反応しない、ことを特徴とする方法。
【請求項３】
請求項１または２に記載の方法であって、前記同期された状態の１つにある同期マスタとして構成される前記エンドシステムが、統合フレームを周期的に送信し、その統合フレームが、すでに同期された状態にあるそれらのエンドシステムによるクロック同期のために使われて、かつ前記非同期の状態の１つにあるそれらのエンドシステムによる統合のために使われる、ことを特徴とする方法。
【請求項４】
請求項１ないし３の１つに記載の方法であって、前記メッセージセンダが、前記同期メッセージ内に設定されるビットによって識別される、ことを特徴とする方法。
【請求項５】
請求項１ないし４の１つに記載の方法であって、前記エンドシステムおよび／またはスイッチが、前記同期された状態の少なくとも１つで同期クリーク検出アルゴリズムを実行する、ことを特徴とする方法。
【請求項６】
請求項５に記載の方法であって、コンポーネント（エンドシステムまたはスイッチ）が前記コンポーネントに同期される前記エンドシステムを監視する方法で、前記同期クリーク検出アルゴリズムが実現され、および、前記コンポーネントに同期される前記エンドシステムの数が複数の通信サイクルの間閾値より下に減少する場合、前記コンポーネントが非同期の状態に入る、ことを特徴とする方法。
【請求項７】
請求項６に記載の方法であって、前記同期クリーク検出アルゴリズムにおいて使用される前記閾値が、同期された状態につき個々に設定されることができる、ことを特徴とする方法。
【請求項８】
請求項１ないし７の１つに記載の方法であって、前記エンドシステムおよび／またはスイッチが、前記同期された状態の少なくとも１つで非同期クリーク検出アルゴリズムを実行する、ことを特徴とする方法。
【請求項９】
請求項８に記載の方法であって、コンポーネント（エンドシステムまたはスイッチ）が、前記コンポーネントに同期されないが使用可能である前記エンドシステムを監視するように、前記非同期クリーク検出アルゴリズムが実現され、および、前記コンポーネントに同期されない前記エンドシステムの数が複数の通信サイクルの間、状態特有閾値を越えて増大する場合、前記コンポーネントが非同期の状態に入る、ことを特徴とする方法。
【請求項１０】
請求項９に記載の方法であって、前記非同期クリーク検出アルゴリズムにおいて使用される前記閾値が、同期された状態につき個々に設定されることができる、ことを特徴とする方法。
【請求項１１】
請求項１ないし１０の１つに記載の方法であって、エンドシステム１０１−１０５が、１つの統合サイクルＩＮＣより長い持続時間の間、予定外受信された統合フレームの組の前記同期メッセージ（メンバー権新フィールド（４０２））に設定されるビットを記録することによって非同期のコンポーネントをカウントするための前記方法を実現し、および前記コンポーネントと非同期である前記数のエンドシステムが、前記記録されたデータ構造で設定される前記ビットのビットサムである、ことを特徴とする方法。
【請求項１２】
請求項１ないし１１の１つに記載の方法であって、前記コンポーネントが同期状態で設定可能な時間であるときに、前記同期された状態（安定状態）の１つが別の同期状態（同期状態）から入る、ことを特徴とする方法。
【請求項１３】
請求項１ないし１２の１つに記載の方法であって、前記同期されたエンドシステムの数が、設定可能な数の統合サイクル（ＩＮＣ）の間順番に、かつ、最初の示唆以外の際に、状態特有の構成された閾値より低いことを、前記同期クリーク検出機構が示唆する時、エンドシステムまたはスイッチが、前記同期された状態（安定状態）の１つから前記非同期の状態の１つまで通過する、ことを特徴とする方法。
【請求項１４】
請求項１ないし１３の１つに記載の方法であって、前記スイッチが、設定可能な組のタイプだけを備えたメッセージを中継するために状態につき設定可能である、ことを特徴とする方法。
【発明の詳細な説明】
【背景技術】
【０００１】
本発明は、分散形コンピュータネットワーク内のローカルクロックに同期させることに関する。ネットワーク内のコンポーネント間の通信リンクに送信されるメッセージ経由で情報を交換するコンピュータネットワークは、特に興味がある。本発明の特定の実現に対する制約なしで、例示する１つの例として標準のイーサネット（登録商標）を使用する。標準のイーサネット（登録商標）においてエンドシステムは、双方向通信リンク経由で、ネットワークスイッチ経由で接続される。エンドシステムはメッセージをこのスイッチに送信することを経て第２のエンドシステムまたは一群のエンドシステムと通信して、それが次いで受信エンドシステムまたは複数エンドシステムにメッセージを中継する。同様に、エンドシステムは双方向通信リンク経由で互いに直接接続されることができ、それは特定の構成でエンドシステムとスイッチとの間の明白な区別を困難にする。それゆえに、一般に、エンドシステムまたはスイッチのどちらかであることができるフィジカルデバイスを指す用語コンポーネントを使用する。コンポーネントが、エンドシステムであると言われるかまたはスイッチであると言われるかどうかは、その物理的な外観よりむしろその使用によって決定される。
【０００２】
クロック同期問題は、異なるコンポーネントのローカルクロックを緊密な一致にもたらす問題である。フォールトトレランス理由のために同期メッセージを生成するコンポーネントの大きさが、構成されることができる。
【０００３】
ローカルクロックに同期させる問題は長い歴史を有し、および、故障の存在でまた、ローカルクロックの同期を主張する多くのアルゴリズムが公知である（（非特許文献１）、（非特許文献２）、（非特許文献３）、（非特許文献４）、（非特許文献５））。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｌａｍｐｏｒｔ，Ｌ．およびＭｅｌｌｉａｒ−Ｓｍｉｔｈ，Ｐ．Ｍ．、「複雑なクロック同期」、ＡＣＭ  ＳＩＧＯＰＳ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍｓ  Ｒｅｖｉｅｗ，ｖｏｌｕｍｅ  ２０，ｎｕｍｂｅｒ  ３，ｐ．１０−１６，１９８６，ＡＣＭ  Ｎｅｗ  Ｙｏｒｋ，ＮＹ，ＵＳＡ、
【非特許文献２】Ｓｒｉｋａｎｔｈ，ＴＫおよびＴｏｕｅｇ，Ｓ．、「最適クロック同期」、Ｊｏｕｒｎａｌ  ｏｆ  ｔｈｅ  ＡＣＭ（ＪＡＣＭ），ｖｏｌｕｍｅ  ３４，ｎｕｍｂｅｒ  ３，ｐ．６２６−６４５，１９８７，ＡＣＭ  Ｎｅｗ  Ｙｏｒｋ，ＮＹ，ＵＳＡ、
【非特許文献３】Ｓｃｈｎｅｉｄｅｒ，Ｆ．Ｂ．、「信頼性が高いクロック同期のためのパラダイム」、Ｄｅｐａｒｔｍｅｎｔ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  ＴＲ，ｐ．８６−７３５、
【非特許文献４】Ｋｏｐｅｔｚ，Ｈ．およびＯｃｈｓｅｎｒｅｉｔｅｒ，Ｗ．、「分散型リアルタイムシステムにおけるクロック同期」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒｓ，ｖｏｌｕｍｅ  ３６，ｎｕｍｂｅｒ  ８，ｐ．９３３−９４０，１９８７，ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ  Ｗａｓｈｉｎｇｔｏｎ，．ＤＣ，ＵＳＡ、
【非特許文献５】Ｓｔｅｉｎｅｒ，Ｗ．、「バスベースおよびスイッチベースのネットワークトポロジのフォーカスによるフォールトトレラント時間トリガ通信の始動およびリカバリ」、２００８，Ｖｄｍ  Ｖｅｒｌａｇ  Ｄｒ．Ｍｕｌｌｅｒ
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、そのフォールトトレランス特性において上述したプロトコルと差別化する。
【課題を解決するための手段】
【０００６】
■本発明は、スケーラブルである：本発明は、例えば工業用制御で使われるために単純なマスタスレーブ型クロック同期プロトコルとして動作させるように構成されることができる。スペクトラムの反対側で本発明は、例えば有人スペースアプリケーションで使われるためにマルチマスタークロック同期プロトコルとして動作させるように構成されることができる。このスケーラビリティは、莫大な経済恩恵を与える：本発明が異なる応用ドメインの全体にわたって使われることができるので、本発明の実現のコストが有意に減少されることができる。同様に、本発明のクロスドメイン使用は、本発明の実現における潜在的な故障検出の確率を向上しおよびこれによって本発明の実現を有意に仕上げる。これは、また、正当性の確率がその実現の数の直接の関数であるという概念に従って「１００万による証明」と呼ばれている。
【０００７】
■本発明は、複数の一貫しない故障を許容する：マルチマスターモードに構成されるときに、本発明は完全に一貫しない脱落故障の通信経路および同じ時点で故障のエンドシステムさえ許容する。この故障モードは、各故障のコンポーネントが、各メッセージに対して潜在的に一貫しない落下挙動とともに、メッセージをその着信通信リンクのいずれか上で、および、その送出通信リンクのいずれか上で任意に落とす可能性があることを意味する。本発明者がフォールトトレラントクロック同期の莫大な経験を有するとはいえ、本発明者はこのレベルのフォールトトレランスを許容するであろういかなる既存のフォールトトレラント同期アルゴリズムにも気がついていない。本発明は、したがって、システム内の複数の故障の許容を必要とするシステムアーキテクチャのより費用効果が優れている実現を可能にする。例えば、２つの独立通信チャンネルだけから成るシステムアーキテクチャにおいて、前記一貫しない故障モードが許容されさえすることができる。前記故障を許容する通信アーキテクチャの以前の実現は、少なくとも３つの独立通信チャンネルを必要とした。
【０００８】
■本発明は、固定障害の存在においてさえ任意の一時外乱を許容する。前記フォールトトレランスに加えて、本発明はさらに自己安定特性を提供する。自己安定は、分散形コンピュータシステム内の多数のコンポーネントでの一時的な不調の後で、同期がまた再確立されることを意味する。本発明は、正式な方法（モデルチェック研究）を用いて任意のシステム状態から同期されたシステム状態に安定させる。この自ら安定に向かう特性は、コンピュータチップ内の次第に減少する特長サイズおよびしたがって結果として生じるコンポーネントの一時的な不調の増加によってますます重要になる。将来の信頼性が高い分散形コンピュータネットワークの設計は、本発明によって与えられるような、複数の一時的な不調の有効かつ健全な許容に依存する。本発明者がフォールトトレラントクロック同期の莫大な経験を有するとはいえ、本発明者はこのレベルのフォールトトレランスを許容するであろういかなる既存のフォールトトレラント同期アルゴリズムにも気がついていない。
【０００９】
本発明は、以下の革新的ステップに基づく：
【００１０】
■一旦全体にわたる同期が失われるならば、システムのパワーオンで同期を確立する、同じく同期を回復する、フォールトトレラントハンドシェークプロセスの新しい概念。以前のプロトコルとは対照的に、少なくとも一つの非故障の通信チャンネルが存在するならば、フォールトトレラントハンドシェークは、また一貫しない通信チャンネルおよび同じ時点で故障のエンドシステムの存在においてさえ、エンドツーエンドの一貫性を確実にする。フォールトトレラントハンドシェークは、コールドスタートメッセージまたは得られるコールドスタート肯定応答メッセージのいずれか（または両方のメッセージ）がシステム内に一貫して見られることを保証する。
【００１１】
■所定のコンポーネントと同期するエンドシステムの数に、同じく、前記コンポーネントと同期しないと識別されるエンドシステムの数に、の両方に、同じく二つの間の関係に、作用する異なるタイプのクリーク検出機構の新しい概念。
【００１２】
■一旦同期が確立されると、時間トリガプロトコルが、起動プロセス中によりも、非常により広い故障モデルを許容することができるので、異なる同期状態に対して異なるクリーク検出機構を特定することを可能にする複数の同期された状態の新しい概念。異なる同期状態は、同期プロセスの動作の履歴を追跡するのに用いられることができる。初期のおよび容易に到達される同期された状態において、全ての可能なクリークシナリオを収集するためにクリーク検出機構がきわめて脆弱に構成され、その一方で、後の同期状態において（充分な数のエンドシステムがコンポーネントによって見られる場合、または、同期通信が設定可能な数の同期ラウンドに対して成功した場合、それに入る）、より広い故障モデルが同期リセットを実行せずに許容されることができるように、クリーク検出機構がより緩和されて構成される。
【００１３】
■同期メッセージを与えるエンドシステムが信頼されない場合、スイッチにおいて使用可能にされることができる、中央ガーディアン機能の新しい概念。同様に、同期を与えるエンドシステムが信頼される場合、中央ガーディアン機能は最小機能に縮小されることができる。
【００１４】
■高完全性設計にしたがってデバイスのサブセットの実現の概念の再使用、高完全性設計原理に従って実現されるコンポーネントは、限られた故障モードで故障するとみなされることができる。高完全性原理にしたがって実現されるコンポーネントが信頼されることは、エンジニアリング実践であるが、しかしながら、限られた故障モードはフェイルサイレントであるということを意味しない。本発明は、また、高完全性コンポーネントに完全に一貫しない脱落故障モードを許す。この故障モードは、各故障のコンポーネントが、各メッセージに対して潜在的に一貫しない落下挙動で、メッセージをその着信通信リンクのいずれか上で、および、その発信通信リンクのいずれか上で任意に落とす可能性があることを意味する。
【図面の簡単な説明】
【００１５】
【図１】分散形コンピュータネットワークの１つの例を表す。
【図２】同期メッセージに対するデータ構造の１つの例を表す。
【図３】エンドシステムからのスイッチへの同期メッセージのフローおよびスイッチ内に実行される同期圧縮機能を表す。
【図４】同期動作での同期プロセスの３つの繰返しを表す。
【図５】同期クリーク検出プロセスを表す。
【図６】非同期クリーク検出プロセスを表す。
【図７】エンドシステム内に実行されるプロトコルステートマシンを表す。
【図８】エンドシステムが信頼されるとみなされる場合、スイッチ内に実行されるプロトコルステートマシンを表す。
【図９】エンドシステムが信頼されないとみなされる場合、スイッチ内に実行されるプロトコルステートマシンを表し、および、スイッチが広範囲なガーディアン機能を実行している。
【図１０】分散形コンピュータネットワークの故障がなくて衝突がない起動シナリオを表す。
【図１１】分散形コンピュータネットワークの故障のない起動衝突シナリオを表す。
【図１２】分散形コンピュータネットワークの故障のエンドシステム１０１および故障のスイッチ２０１の存在における起動シナリオを表す。
【発明を実施するための形態】
【００１６】
図１は、５つのエンドシステム１０１−１０５および２つのスイッチ２０１、２０２からなる分散形コンピュータネットワークを表す。エンドシステム１０１−１０５の各々は、双方向通信リンク１１０経由でスイッチ２０１に、および、別の双方向通信リンク１２０によってスイッチ２０２に接続される。したがって、分散形コンピュータネットワークは任意の２つのエンドシステム１０１−１０５の間の通信に対して２つの冗長通信チャンネルを設ける。
【００１７】
エンドシステム１０１−１０５は、スイッチ２０１、２０２によって消費される同期メッセージを生成する。スイッチ２０１、２０２は、エンドシステム１０１−１０５から受信される同期メッセージから新しい同期メッセージを生成する。
【００１８】
一旦エンドシステム１０１−１０５が同期されると、エンドシステム１０１−１０５は同じ先験的に予定された瞬間に同期メッセージをディスパッチする。ディスパッチはエンドシステム１０１−１０５内の内部信号を指し、それはメッセージが伝送の準備ができていることを示唆する。通信リンク１１０、１２０上のメッセージの伝送の実際の開始は、遅れる可能性がある。この遅延の１つの理由は、別のメッセージがすでに伝送進行中であるということである。進行中のメッセージの伝送が通信リンク１１０、１２０上で完了されるまで、新しくディスパッチされたメッセージはその時遅延される。
【００１９】
これらのエンドシステム１０１−１０５に加えて、同期メッセージのコンシューマだけであって、同期メッセージをディスパッチしない分散形コンピュータネットワーク内のエンドシステムがあることができる。同期メッセージをディスパッチするエンドシステム１０１−１０５は、同期マスタと呼ばれている。
【００２０】
図２は、同期メッセージのデータ構造の１つの例を表す。１つの実現においてフィールド統合サイクル４０１は、時間トリガ通信スケジュール内の位置を示唆するのに用いられる。１つの実現においてメンバー権新フィールド４０２は、それぞれのメッセージのセンダを示唆するのに用いられる。１つの実現において同期優先順位フィールド４０３は、優先順位機構を同期メッセージ上で実現するのに用いられる。１つの実現において同期ドメインフィールド４０４は、互いに同期されるコンポーネントの独立集合を実現するのに用いられ、異なる独立集合内のコンポーネントに対する同期メッセージは、同期ドメインフィールド４０４に割り当てられる異なる値を有する。１つの実現においてタイプフィールド４０５は、異なる同期メッセージタイプを実現するのに用いられ、通常、同期プロトコルは一旦コンポーネントを越えた同期が確立されるならば実行される同期メッセージから、パワーアップの際に使われる同期メッセージを区別するために異なるタイプを使用する。１つの実現においてトランスペアレントクロックフィールド４０６はメッセージが分散形コンピュータネットワークを通して横断する間、エンドシステムおよびスイッチによって課される動的遅延を追跡するのに用いられる。１つの実現において、メッセージ上の遅延が生じる各コンポーネントは、この遅延をトランスペアレントクロックフィールド４０６内の値に加える。
【００２１】
図３は、分散形コンピュータネットワーク内の同期メッセージ３０１−３０４、３８０のメッセージフローを表し、リアルタイムでの進行が左から右に表される。エンドシステム１０１−１０４は同期メッセージ３０１−３０４を生成し、かつ、これらのメッセージをスイッチ２０１に送信する。スイッチ２０１は、同期メッセージ３０１−３０４の到着時点を記録して、これらのメッセージの持続性時点７９１−７９４を算出する。持続性時点７９１−７９４から、スイッチ２０１は次いでエンドシステム１０１−１０４に送信される圧縮された同期メッセージ３８０のディスパッチ時点を算出する。同様に、スイッチ２０１は圧縮された同期メッセージ３８０の代わりに各同期メッセージ３０１−３０４を進めることができる。スイッチが同期メッセージを圧縮するときに、それは圧縮された同期メッセージのディスパッチ時点を算出するのに用いられた同期メッセージを与えたエンドシステムと関連している圧縮された同期メッセージのメンバー権新フィールド４０２内にそれらのビットを設定する。
【００２２】
用語「持続性」は、単一のメッセージと関連していて、ある時点を指し、前記第１のメッセージの前に送信されたこの時点の後、その時点から、レシーバが別のメッセージを受信しない保証によって、このメッセージがレシーバによって使われることができる。
【００２３】
スイッチのプロトコル状態に従い、スイッチは特定の同期メッセージをブロックすることができる。同期メッセージのこのブロッキングを中央ガーディアン機能と呼ぶ。
【００２４】
同期メッセージを生成するかまたは中継することに加えて、スイッチは同期のために同期メッセージ自体を使用する。実現の詳細においてスイッチで実行されるプロトコルステートマシン（図８−図９）を論じ、それは入力としてまた圧縮された同期メッセージをとる。
【００２５】
１つの通信チャンネルだけ上のメッセージフロー、スイッチ２０１を含むチャンネルが、表される。１つの実現においてエンドシステム１０１−１０４が複製された通信チャンネル上で、並行してまたは順番に同期メッセージ３０１−３０４を送信する。
【００２６】
図４は、すなわち、一旦エンドシステム１０１−１０５およびスイッチ２０１−２０２の充分なサブセットのローカルクロックがうまく同期されたならば、同期動作中の同期プロセスの３つの繰返しを表す。リアルタイムでの進行が左から右に表される。予め予定された時点で、エンドシステムは同期メッセージ５１０１−５１０５をディスパッチする。スイッチ２０１−２０２は、それらのローカルクロックに同期させて、各々圧縮された同期メッセージ５２０１を生成するために同期メッセージを使用する。スイッチ２０１−２０２からの同期メッセージは、次いでエンドシステム１０１−１０５のローカルクロックに同期させるのに用いられる。
【００２７】
エンドシステム１０１−１０５からの同期メッセージ５１０１−５１０５が、スイッチ２０１−２０２内のクロック同期のために、同じく、スイッチ２０１−２０２の統合または再統合のために使われる。スイッチ２０１−２０２からの同期メッセージ５２０１が、クロック同期のために、同じく、エンドシステム１０１−１０５の統合または再統合のために使われる。
【００２８】
同期動作中に、同期メッセージはＩＮＣタイムユニットの期間で予定される。エンドシステムは、変数ＬｏｃａｌｌｎｔｅｇｒａｔｉｏｎＣｙｃｌｅを使用して指定された最大まで０で始まる統合サイクルを周期的にカウントする。エンドシステムは、ＬｏｃａｌｌｎｔｅｇｒａｔｉｏｎＣｙｃｌｅ値を使用してそれが伝送する統合フレーム内に統合サイクルフィールド４０１を設定して、それが受信する統合サイクルフィールド４０１に対して調べる。
【００２９】
１つの通信チャンネルだけ上のメッセージフロー、スイッチ２０１を含むチャンネルが、表される。１つの実現においてエンドシステム１０１−１０５は複製された通信チャンネル上で、並行してまたは順番に同期メッセージ５１０１−５１０５を送信する。
【００３０】
図５は、同期クリーク検出プロセスを表す。同期クリーク検出プロセスは、ローカル変数を使用してどれくらいのエンドシステムがそれぞれのエンドシステムと現在同期されるかについて情報を得続ける。所定の統合フレームの予定された受付時点ごろの受信窓ＲＷが期限切れになるときに、エンドシステムはｖａｒＬｏｃａｌＭｅｍｂｅｒｓｈｉｐＣｏｍｐをアップデートする。それは、次いで、受信された統合フレーム内の統合サイクルフィールド４０１がＬｏｃａｌｌｎｔｅｇｒａｔｉｏｎＣｙｃｌｅの値と一致すると仮定すると、受信窓ＲＷ中に受信される統合フレームの最大メンバー権新フィールド４０２にｖａｒＬｏｃａｌＭｅｍｂｅｒｓｈｉｐＣｏｍｐを設定する。
【００３１】
同期クリーク検出機構は、各同期された状態（ＥＳ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態１０６０、ＥＳ＿ＳＹＮＣ状態１０７０、ＥＳ＿ＳＴＡＢＬＥ状態１０８０、図７を参照のこと）に対して独立に使用可能または使用不可にされることができる。同期クリーク検出機構が同期された状態で使用可能にされる場合、ｖａｒＬｏｃａｌＭｅｍｂｅｒｓｈｉｐＣｏｍｐが同期評価時点ＳＥＶでアップデートされたあと、ｖａｒＬｏｃａｌＭｅｍｂｅｒｓｈｉｐＣｏｍｐが状態特有閾値（ＴｅｎｔａｔｉｖｅＳｙｎｃＴｈｒｅｓｈｏｌｄＳｙｎｃ、ＳｙｎｃＴｈｒｅｓｈｏｌｄＳｙｎｃまたはＳｔａｂｌｅＴｈｒｅｓｈｏｌｄＳｙｎｃ）に対して試験される。ｖａｒＬｏｃａｌＭｅｍｂｅｒｓｈｉｐＣｏｍｐ内に設定されるビットの数がそれぞれの閾値より低い場合、試験は成功でありおよびさもなければ成功でない。
【００３２】
また、エンドシステムに類似して使用可能にされるときに、スイッチもまた、同期された状態（ＳＷ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態２０６０、ＳＷ＿ＳＹＮＣ状態２０７０およびＳＷ＿ＳＴＡＢＬＥ状態２０８０、図８を参照のこと）で同期クリーク検出アルゴリズムを実行する。
【００３３】
図６は、非同期クリーク検出プロセスを表す。非同期クリーク検出プロセスは、ローカル変数ｖａｒＬｏｃａｌＡｓｙｎｃＭｅｍｂＣｏｕｎｔを使用してどれくらい多くのエンドシステムが現在それぞれのコンポーネントと同期されないが、使用可能である（したがって、パワーオフされているエンドシステムを除外する）かについて情報を得続ける。変数ｖａｒＬｏｃａｌＡｓｙｎｃＭｅｍｂＣｏｕｎｔは、ビットからエンドシステムへの１対１の関係を備えたビットベクトルである。
【００３４】
非同期クリーク検出機構は、各同期された状態（ＥＳ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態１０６０、ＥＳ＿ＳＹＮＣ状態１０７０、ＥＳ＿ＳＴＡＢＬＥ状態１０８０）に対して独立に使用可能または使用不可にされることができる。非同期クリーク検出機構が同期された状態で使用可能にされる場合、ｖａｒＬｏｃａｌＡｓｙｎｃＭｅｍｂＣｏｕｎｔは非同期評価時点ＡＥＶで状態特有閾値（ＴｅｎｔａｔｉｖｅＳｙｎｃＴｈｒｅｓｈｏｌｄＡｓｙｎｃ、ＳｙｎｃＴｈｒｅｓｈｏｌｄＡｓｙｎｃまたはＳｔａｂｌｅＴｈｒｅｓｈｏｌｄＡｓｙｎｃ）に対して試験される。
【００３５】
それがそれぞれの受信窓ＲＷの外側で統合フレームを受信するときに、エンドシステムはｖａｒＬｏｃａｌＡｓｙｎｃＭｅｍｂＣｏｕｎｔをアップデートし、これは、また、予定外受信と呼ばれている。図６に示したように予定外受信は、（統合フレーム５２１１によって表される）任意の受信窓ＲＷの外側の統合フレームの受信であるか、または、それは受信窓内の統合フレームの受信のどちらかであることができるがそこで、受信された統合フレームが（統合フレーム５２２１によって表される）間違った統合サイクルフィールド４０１を具備する。
【００３６】
エンドシステムが、予定外統合フレームを受信するとき、統合フレームのメンバー権新フィールド４０２内の全てのビットセットが、また、ｖａｒＬｏｃａｌＡｓｙｎｃＭｅｍｂＣｏｕｎｔ内に設定される。非同期評価時点ＡＥＶでｖａｒＬｏｃａｌＡｓｙｎｃＭｅｍｂＣｏｕｎｔが、評価される。ｖａｒＬｏｃａｌＭｅｍｂｅｒｓｈｉｐＣｏｍｐ内に設定されるビットの数がそれぞれの状態特有閾値と等しいかより大きい場合、試験は成功である。ｖａｒＬｏｃａｌＭｅｍｂｅｒｓｈｉｐＣｏｍｐが２未満（スイッチが現在単一のエンドシステムだけに同期されるかまたは何のエンドシステムにも全く同期されないことを意味する）であり、および、ｖａｒＬｏｃａｌＡｓｙｎｃＭｅｍｂＣｏｕｎｔが少なくとも１である場合、試験はまた成功である。全ての他の場合には非同期クリーク検出プロセスは、成功でない。
【００３７】
エンドシステムに類似して使用可能にされるときに、スイッチもまた、同期された状態（ＳＷ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態２０６０、ＳＷ＿ＳＹＮＣ状態２０７０およびＳＷ＿ＳＴＡＢＬＥ状態２０８０）で非同期クリーク検出アルゴリズムを実行する。非同期評価時点ＡＥＶが、しかしながら同期評価時点ＳＥＶの直前にある。
【００３８】
図７は、エンドシステム内に実行されるプロトコルステートマシンを表す。エンドシステムは、非同期の状態と同期された状態を区別する。ＥＳ＿ＩＮＴＥＧＲＡＴＥ状態１０１０、ＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ状態１０２０、ＥＳ＿ＵＮＳＹＮＣ状態１０３０、ＥＳ＿ＦＬＯＯＤ状態１０４０およびＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ＿ＣＳ状態１０５０は、非同期の状態に属する。ＥＳ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態１０６０、ＥＳ＿ＳＹＮＣ状態１０７０、ＥＳ＿ＳＴＡＢＬＥ状態１０８０は、同期された状態に属する。エンドシステムは、統合フレームの受信経由で非同期の状態から同期された状態に入ることができ、この場合、非同期から同期への遷移を統合プロセスと呼ぶ。また、エンドシステムはフォールトトレラントハンドシェークの成功した実行を経て非同期の状態から同期された状態に入ることができる。この第２の場合では、コールドスタートまたはリセットプロセスについて話す。以下では全てのエンドシステムがクロック同期マスタであるとみなして、図７内に表されるステートマシンを論ずる。別の実現では、エンドシステムのサブセットだけがクロック同期マスタであるように構成されることができる。クロック同期マスタであるように構成されないエンドシステムは、統合プロセス経由でだけ同期された状態に入って、したがって、ステートマシン内の遷移のサブセットだけを実行する。
ＥＳ＿ＩＮＴＥＧＲＡＴＥ状態１０１０およびＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ状態１０２０：
【００３９】
パワーオンの際にエンドシステムは、ＥＳ＿ＩＮＴＥＧＲＡＴＥ状態１０１０で始まる。ＥＳ＿ＩＮＴＥＧＲＡＴＥ状態１０１０からそれがメンバー権新フィールド４０２内に設定される十分に大きな数のビットの統合フレームを受信するときに、エンドシステムは同期された状態ＥＳ＿ＳＹＮＣ状態１０７０に入ることができる（遷移１０１１）。また、それが統合フレーム内に設定される十分に大きな数のビット（遷移１０１２、１０２１）であるが、ＥＳ＿ＳＹＮＣ状態１０７０に通過する（遷移１０１１）ように設定されるのに不十分に大きな数のビットを備えた統合フレームを受信する場合、エンドシステムはＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ状態１０２０経由でＥＳ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態１０６０に入ることができる。ＥＳ＿ＩＮＴＥＧＲＡＴＥ状態１０１０のエンドシステムがコールドスタート肯定応答フレームを受信するときに、それは、ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ＿ＣＳ状態１０５０に通過する（遷移１０１３）。
【００４０】
エンドシステムが設定可能な持続時間に対して遷移１０１１または１０１２のどちらかに設定される充分な数のビットを備えた統合フレームを受信しないときに、エンドシステムはＥＳ＿ＵＮＳＹＮＣ状態１０３０に入る（遷移１０１４）。
ＥＳ＿ＵＮＳＹＮＣ状態１０３０：
【００４１】
エンドシステムがＥＳ＿ＵＮＳＹＮＣ状態１０３０にある間、それは構成された期間で全ての複製されたチャンネル上でコールドスタートフレームを伝送する。
【００４２】
ＥＳ＿ＵＮＳＹＮＣ状態から、エンドシステムは、それが遷移１０３２または遷移１０３３に対して設定される充分な数のビットを備えた統合フレームを受信すると仮定するならば、再び、ＥＳ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態１０６０またはＥＳ＿ＳＹＮＣ状態１０７０のいずれかに入ることができる（統合プロセス）。エンドシステムがＥＳ＿ＵＮＳＹＮＣ状態にあって、コールドスタート肯定応答フレームを受信するときに、それは、ＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ＿ＣＳ状態に通過する（遷移１０３１）。
【００４３】
ＥＳ＿ＵＮＳＹＮＣ状態１０３０に加えてエンドシステムは、また、フォールトトレラントハンドシェークプロセスを始めることが可能である。ＥＳ＿ＵＮＳＹＮＣ状態のエンドシステムが、コールドスタートフレームを受信するときに、それはＥＳ＿ＦＬＯＯＤ状態１０４０（遷移１０３４）に入り、および、フォールトトレラントハンドシェークが始まると言われる。
ＥＳ＿ＦＬＯＯＤ状態１０４０：
【００４４】
ＥＳ＿ＦＬＯＯＤ状態１０４０ではエンドシステムは、ＣＳＯの持続時間の間待って、ＣＳＯがタイムアウトする時、全ての複製された通信チャンネル上でコールドスタート肯定応答フレームを伝送する。ＣＳＯタイムアウトが期限切れになる前に、エンドシステムがコールドスタートフレームを受信すると、その時、ＣＳＯタイムアウトが再開される。全ての統合フレームは、ＥＳ＿ＦＬＯＯＤ状態１０４０で廃棄される。ＣＳＯタイムアウトが期限切れになり、および、エンドシステムがコールドスタート肯定応答フレームを送信すると、その時、それはコールドスタート肯定応答フレームを受信するのを待つ。それが予想される到着窓内にコールドスタート肯定応答フレームを受信する場合、それはフォールトトレラントハンドシェークが成功で、ＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ＿ＣＳ状態１０５０に入る（遷移１０４１）と結論を下す。あまりに早く受信されるコールドスタート肯定応答フレームは、廃棄される。エンドシステムがコールドスタート肯定応答フレームを送信するが、予想される到着窓に戻ってコールドスタート肯定応答フレームを受信しないときに、それはフォールトトレラントハンドシェークが成功でなかったと結論を下して、および、ＥＳ＿ＵＮＳＹＮＣ状態１０３０へ戻って通過する（遷移１０４２）。
【００４５】
フォールトトレラントハンドシェークによって、コールドスタートフレームの起動／再起動衝突を、同じく故障のコンポーネントの存在での起動を、許容することができる。両方の場合に対するシナリオが、図１０−図１２内に表される。
ＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ＿ＣＳ状態１０５０：
【００４６】
ＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ＿ＣＳ状態１０５０ではエンドシステムは、コールドスタート肯定応答タイムアウトＣＡＯを待つ（図１０、図１１を参照のこと）。ＣＡＯがタイムアウトする前に、エンドシステムがコールドスタート肯定応答フレームを受信すると、その時、ＣＡＯタイムアウトは再び述べられる。エンドシステムがコールドスタートフレームを受信すると、その時、エンドシステムがＥＳ＿ＦＬＯＯＤ状態１０４０に通過して、フォールトトレラントハンドシェークを始める（遷移１０５２）。ＣＡＯタイムアウトが期限切れになるときに、エンドシステムはＥＳ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態１０６０に通過する（遷移１０５１）。
ＥＳ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態１０６０：
【００４７】
クリーク検出アルゴリズムのいずれか１つが使用可能にされて、成功に戻ると、その時、エンドシステムはＥＳ＿ＵＮＳＹＮＣ状態１０３０に通過する（遷移１０６３）。エンドシステムがコールドスタートフレームを受信するときに、それは、ＥＳ＿ＦＬＯＯＤ状態１０４０に通過して（遷移１０６４）、フォールトトレラントハンドシェークを始める。エンドシステムがコールドスタート肯定応答フレームを受信するときに、それは、ＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ＿ＣＳ状態１０５０に通過する（遷移１０６５）。同期クリーク検出アルゴリズムで使われるｖａｒＬｏｃａｌＭｅｍｂｅｒｓｈｉｐＣｏｍｐ変数内に設定されるビットの数が設定可能な閾値を越えて増大すると、その時、エンドシステムはＥＳ＿ＳＹＮＣ状態１０７０に通過する（遷移１０６２）。エンドシステムが設定可能な数の統合サイクルＩＮＣの間、ＥＳ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態１０６０にとどまるときに、設定可能なフラグが設定されるならば、エンドシステムはＥＳ＿ＳＴＡＢＬＥ状態１０８０に通過することができる。
ＥＳ＿ＳＹＮＣ状態１０７０：
【００４８】
クリーク検出アルゴリズムのいずれか１つが使用可能にされて、成功に戻ると、その時、エンドシステムはＥＳ＿ＵＮＳＹＮＣ状態１０３０（遷移１０７３）またはＥＳ＿ＩＮＴＥＧＲＡＴＥ状態１０１０（遷移１０７２）のどちらかに通過するように構成されることができる。エンドシステムがコールドスタート肯定応答フレームを受信するときに、それはＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ＿ＣＳ状態１０５０に通過する（遷移１０７４）。エンドシステムが設定可能な数の統合サイクルＩＮＣの間、ＥＳ＿ＳＹＮＣ状態１０７０にとどまるときに、設定可能なフラグが設定されるならば、エンドシステムはＥＳ＿ＳＴＡＢＬＥ状態１０８０に通過することができる。
ＥＳ＿ＳＴＡＢＬＥ状態１０８０：
【００４９】
非同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、エンドシステムはＥＳ＿ＩＮＴＥＧＲＡＴＥ状態１０１０に通過する（遷移１０８１）。また、設定可能な数または逐次的な統合サイクルＩＮＣの間、同期クリーク検出アルゴリズムが使用可能にされて、成功に戻ると、その時、エンドシステムは同様にＥＳ＿ＩＮＴＥＧＲＡＴＥ状態１０１０に通過する（遷移１０８１）。エンドシステムがコールドスタート肯定応答フレームを受信するときに、それは、ＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ＿ＣＳ状態に通過する。
【００５０】
図８は、エンドシステムが信頼されるとみなされる場合、スイッチ内に実行されるプロトコルステートマシンを表す。この場合のスイッチステートマシンは、エンドシステムステートマシンときわめて類似している。１つの実現においてエンドシステムおよびスイッチの挙動が構成経由で選ばれることができるように、エンドシステムおよびスイッチのステートマシンが一体化される。
ＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０およびＳＷ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ状態２０２０：
【００５１】
パワーオンの際にスイッチステートマシンは、ＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０で始まる。ＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０からそれがメンバー権新フィールド４０２内に設定される十分に大きな数のビットを備えた、統合フレームを受信するときに、スイッチは同期された状態ＳＷ＿ＳＹＮＣ状態２０７０に入ることができる（遷移２０１１）。また、それが統合フレーム内に設定される十分に大きな数のビット（遷移２０１２、２０２１）であるが、ＳＷ＿ＳＹＮＣ状態２０７０に通過する（遷移２０１１）ように設定されるには不十分に大きな数のビットを備えた統合フレームを受信する場合、スイッチはＳＷ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ状態２０２０経由でＳＷ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態２０６０に入ることができる。
【００５２】
スイッチが設定可能な持続時間に対して遷移２０１１または２０１２のどちらかに設定される充分な数のビットを備えた統合フレームを受信しないときに、スイッチはＳＷ＿ＵＮＳＹＮＣ状態３０３０に入る（遷移２０１３）。
ＳＷ＿ＵＮＳＹＮＣ状態２０３０：
【００５３】
ＳＷ＿ＵＮＳＹＮＣ状態から、スイッチは、それが遷移２０３２または遷移２０３３に対して設定される充分な数のビットを備えた統合フレームを受信すると仮定するならばＳＷ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態２０６０またはＳＷ＿ＳＹＮＣ状態２０７０のいずれかに入ることができる（統合プロセス）。
ＳＷ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態２０６０：
【００５４】
クリーク検出アルゴリズムのいずれか１つが使用可能にされて、成功に戻ると、その時、スイッチはＳＷ＿ＵＮＳＹＮＣ状態２０３０に通過する（遷移２０６３）。
【００５５】
同期クリーク検出アルゴリズム内に使われるｖａｒＬｏｃａｌＭｅｍｂｅｒｓｈｉｐＣｏｍｐ変数内に設定されるビットの数が設定可能な閾値を越えて増大すると、その時、スイッチはＳＷ＿ＳＹＮＣ状態２０７０に通過する（遷移２０６２）。スイッチが設定可能な数の統合サイクルＩＮＣの間、ＳＷ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態２０６０にとどまるときに、設定可能なフラグが設定されるならば、スイッチはＳＷ＿ＳＴＡＢＬＥ状態２０８０に通過することができる（遷移２０６１）。
ＳＷ＿ＳＹＮＣ状態２０７０：
【００５６】
非同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、スイッチはＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０に通過する（遷移２０７２）。同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、スイッチの構成に従い、スイッチはＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０（遷移２０７２）またはＳＷ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態２０６０（遷移２０７３）のどちらかに通過する。
【００５７】
スイッチが設定可能な数の統合サイクルＩＮＣの間、ＳＷ＿ＳＹＮＣ状態２０７０にとどまるときに、設定可能なフラグが設定されるならば、スイッチはＳＷ＿ＳＴＡＢＬＥ状態２０８０に通過することができる（遷移２０７１）。
【００５８】
ＳＷ＿ＳＹＮＣ状態２０７０ではスイッチは、コールドスタートフレームを進めない。
ＳＷ＿ＳＴＡＢＬＥ状態２０８０：
【００５９】
非同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、スイッチはＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０に通過する（遷移２０８１）。また、設定可能な数または逐次的な統合サイクルＩＮＣの間、同期クリーク検出アルゴリズムが使用可能にされて、成功に戻ると、その時、スイッチは同様にＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０に通過する（遷移２０８１）。
【００６０】
ＳＷ＿ＳＴＡＢＬＥ状態２０８０ではスイッチは、コールドスタートフレームを進めない。
【００６１】
図９は、エンドシステムが信頼されないとみなされる場合、スイッチ内に実行されるプロトコルステートマシンを表す。スイッチステートマシンは、再び、エンドシステムステートマシンときわめて類似している。１つの実現においてエンドシステムおよびスイッチの挙動が構成経由で選ばれることができるように、エンドシステムおよびスイッチのステートマシンが一体化される。
【００６２】
スイッチがＳＷ＿ＵＮＳＹＮＣ状態２０３０にあって、全ての他の状態のコールドスタートフレームをブロックするときに、信頼されないエンドシステムと共に動作するスイッチはコールドスタートフレームを中継する。メンバー権新フィールド４０２の値が十分に大きいならば、スイッチがＳＷ＿ＵＮＳＹＮＣ状態２０３０にあるときに、または、スイッチがＳＷ＿ＣＡ＿ＥＮＡＢＬＥＤ状態２０４０にあって、他の全ての状態のコールドスタート肯定応答フレームをブロックするときに、信頼されないエンドシステムと共に動作するスイッチはコールドスタート肯定応答フレームを中継する。
【００６３】
スイッチが統合フレームを使用するそのプロトコルステートマシンの中で定義される遷移を有するか、または、統合フレームがクロック同期プロセスのために使われる場合、信頼されないエンドシステムと共に動作するスイッチは、ＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０、ＳＷ＿ＵＮＳＹＮＣ状態２０３０、ＳＷ＿ＷＡＩＴ＿４＿ＩＮ状態２０４０、ＳＷ＿ＳＹＮＣ状態２０７０の、および、ＳＷ＿ＳＴＡＢＬＥ状態２０８０の統合フレームを中継する。全ての他の統合フレームは、ブロックされる。スイッチは、スイッチプロトコルステートマシンで使われない統合フレームをブロックする。例えば、この種の統合フレームは単一の故障のエンドシステムによって送信される故障の統合フレームであるかもしれない。
ＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０：
【００６４】
パワーオンの際にスイッチステートマシンは、ＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０で始まる。ＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０からそれがメンバー権新フィールド４０２内に設定される十分に大きな数のビットを備えた統合フレームを受信するときに、スイッチは同期された状態ＳＷ＿ＳＹＮＣ状態２０７０に入ることができる（遷移２０１１）。
【００６５】
スイッチが設定可能な持続時間に対して遷移２０１１または２０１２のどちらかに設定される充分な数のビットを備えた統合フレームを受信しないときに、スイッチはＳＷ＿ＵＮＳＹＮＣ状態３０３０に入る（遷移２０１３）。
ＳＷ＿ＵＮＳＹＮＣ状態２０３０：
【００６６】
ＳＷ＿ＵＮＳＹＮＣ状態から、スイッチは、それが遷移２０３３に対して設定される充分な数のビットを備えた統合フレームを受信すると仮定するならばＳＷ＿ＳＹＮＣ状態２０７０に入ることができる（統合プロセス）。
【００６７】
スイッチがコールドスタートフレームまたは充分な数のコールドスタート肯定応答フレームを受信するときに、それはＳＷ＿ＣＡ＿ＥＮＡＢＬＥＤ状態２０４０に通過する（遷移２０３４）。
ＳＷ＿ＣＡ＿ＥＮＡＢＬＥＤ状態２０４０：
【００６８】
設定可能なタイムアウトが期限切れになったあと、スイッチはＳＷ＿ＷＡＩＴ＿４＿ＩＮ状態２０５０に通過する（遷移２０４１）。
ＳＷ＿ＷＡＩＴ＿４＿ＩＮ状態２０５０：
【００６９】
ＳＷ＿ＷＡＩＴ＿４＿ＩＮ状態２０５０ではスイッチは、メンバー権新フィールド４０２内に設定される十分に大きな数のビットを備えた統合フレームを受信するのを待ち、それは、ＳＷ＿ＳＹＮＣ状態２０７０に通過する（遷移２０５１）。スイッチが設定可能なタイムアウトに対してこの種の統合フレームを受信しない場合、スイッチはＳＷ＿ＵＮＳＹＮＣ状態２０３０へ戻って通過する（遷移２０５２）。
ＳＷ＿ＳＹＮＣ状態２０７０：
【００７０】
非同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、スイッチはＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０に通過する（遷移２０７２）。同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、スイッチはＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０に通過する（遷移２０７２）。
【００７１】
スイッチが設定可能な数の統合サイクルＩＮＣの間、ＳＷ＿ＳＹＮＣ状態２０７０にとどまるときに、設定可能なフラグが設定されるならば、スイッチはＳＷ＿ＳＴＡＢＬＥ状態２０８０に通過することができる（遷移２０７１）。
ＳＷ＿ＳＴＡＢＬＥ状態２０８０：
【００７２】
非同期クリーク検出アルゴリズムが使用可能にされて、成功に戻るときに、スイッチはＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０に通過する（遷移２０８１）。また、設定可能な数または逐次的な統合サイクルＩＮＣの間、同期クリーク検出アルゴリズムが使用可能にされて、成功に戻ると、その時、スイッチは同様にＳＷ＿ＩＮＴＥＧＲＡＴＥ状態２０１０に通過する（遷移２０８１）。
【００７３】
図１０は分散形コンピュータネットワークの故障がなくて衝突がない起動シナリオを表し、リアルタイムでの進行が左から右に表される。１つだけの通信チャンネル上のメッセージフロー、スイッチ２０１を含むチャンネルが、表される。
【００７４】
本発明は、異なるタイプのメッセージ：コールドスタートフレーム３１０１、コールドスタート肯定応答フレーム４１０２−４１０５および統合フレーム５１０１−５１０５を区別する。統合フレームが同期動作中に、すなわち、一旦同期がうまく確立されたならば、使われる。コールドスタートフレームは、フォールトトレラントハンドシェークフェーズを始めるのに用いられる。コールドスタート肯定応答フレームがフォールトトレラントハンドシェークプロセスを確認して、終えるのに用いられて、フォールトトレラントハンドシェークフェーズの外側で受信されるときに、同期のために使われる。図１０は、コールドスタートフレーム３１０１の受諾で始まって、コールドスタート肯定応答フレーム４２０１の受信で終わるフォールトトレラントハンドシェークＦＴＨを表す。
【００７５】
各エンドシステム１０１−１０５は、コールドスタート肯定応答フレームをそれが受け入れるコールドスタートフレームに送信する。エンドシステムは、ＦＴＨ中に受信される他のエンドシステム（エンドシステムは、自身のコールドスタートフレームに反応するかまたは反応しないように構成されることができる）から送信される全てのコールドスタートフレームを受け入れ、およびＣＳＯが再開される。コールドスタートオフセットＣＳＯがタイムアウトするときに、エンドシステムはコールドスタート肯定応答フレームを送信する。エンドシステムがスイッチから戻ってコールドスタート肯定応答フレームを受信するときに、それはフォールトトレラントハンドシェークＦＴＨが成功したと結論を下して、同期された状態の方へ進行する。この応答側コールドスタート肯定応答フレームだけが、ＦＴＨ中に使われる。ＦＴＨ中にあまりに早く受信されるコールドスタート肯定応答フレームは、廃棄される。エンドシステムがそれ自体の送信されたコールドスタート肯定応答フレームへのコールドスタート肯定応答フレームを受信しないときに、それはフォールトトレラントハンドシェークＦＴＨが成功しなかったと結論を下して、非同期の状態に入る。
【００７６】
図１０内のシナリオは、コールドスタートフレーム３１０１を送信するエンドシステム１０１で始まる。１つの実現においてコールドスタートフレームは、全てのエンドシステム１０１−１０５へスイッチ２０１によって中継される。中継の際に、このシナリオエンドシステム１０１内の、コールドスタートフレームのそれぞれのセンダと関連しているメンバー権新フィールド４０２内に、スイッチはビットを設定し、および全ての他のビットをクリアする。これは、各受信エンドシステムがメンバー権新フィールド４０２経由でコールドスタートフレームのセンダを識別することができることを意味する。このシナリオでは、各エンドシステムはエンドシステム１０１をコールドスタートフレーム３１０１の元のセンダと確認する。
【００７７】
１つの実現において全てのエンドシステム１０１−１０５は、それらが自身のコールドスタートフレーム（それは、元々それぞれのエンドシステムによって送信されたコールドスタートフレームである）に反応しないように構成される。エンドシステム１０２−１０５は、コールドスタートオフセットタイムアウトＣＳＯを始める。タイムアウトが期限切れになるときに、エンドシステム１０２−１０５はコールドスタート肯定応答フレーム４１０２−４１０５を送信する。
【００７８】
１つの実現においてスイッチがコールドスタート肯定応答フレーム４１０２−４１０５を圧縮して、および、新コールドスタート肯定応答フレーム４２０１を生成する。圧縮されたコールドスタート肯定応答フレーム４２０１は、次いでエンドシステムに送信される。エンドシステム１０１−１０５は、コールドスタート肯定応答フレーム４２０１の受信の際にコールドスタート肯定応答タイムアウトＣＡＯを始める。タイムアウトが期限切れになるときに、エンドシステム１０１−１０５は同期された状態に入って、統合フレーム５１０１−５１０５を送信する。別の実現においてコールドスタート肯定応答フレームは圧縮されないが、しかし全てのコールドスタート肯定応答フレームがスイッチ２０１−２０２によって進められる。
【００７９】
図１１は故障のない衝突起動シナリオを表し、リアルタイムでの進行が左から右に表される。フォールトトレランス理由のためにエンドシステム１０１−１０５の大きさは同期メッセージを与えるように構成され、それでエンドシステムのサブセットの故障の場合に、故障でないそれらのエンドシステムによって、同期メッセージがなお生成される。特に、エンドシステム１０１−１０５の大きさはコールドスタートメッセージを与えるように構成されることができ、それが初期同期のために使われる。これらのメッセージが何の同期メッセージもこれまでに確立されていない時に送信されるべき本当に最初の同期メッセージであるので、２つ以上のエンドシステムが、衝突ドメインＣＤと呼ぶインターバル中に、およそ同じ時点でそれらのコールドスタートフレームを送信することを決定することができる。原則として、それは初期同期イベントのような衝突を使用するのが可能である。しかしながら、この場合、２つの異なるエンドシステム１０１−１０５が同期のための異なるコールドスタートフレームを使用することを決定することができるので、初期同期は衝突ドメインＣＤの直接の機能である。蓄積交換ネットワークにおいて衝突ドメインＣＤは、有意なサイズである。それゆえに、初期同期を改善するために、本発明は確定的に衝突シナリオを解決する機構を特定する。図１１内に表されるシナリオは、衝突が故障のない場合にどのように解決されるか一例シナリオを表す。
【００８０】
シナリオは、コールドスタートフレーム３１０２を送信するエンドシステム１０２で始まる。コールドスタートフレーム３１０２の伝送の開始の後の衝突持続時間ＣＤ内にエンドシステム１０１は、同様にコールドスタートフレーム３１０１を送信し始め、衝突に結びつく。コールドスタートフレーム３１０２は、スイッチ２０１−２０２によって中継されるべき最初のものであり、および、エンドシステム１０１−１０５によって受信される。エンドシステム１０１、１０３−１０５は、このコールドスタートフレーム３１０２を使用してコールドスタートオフセットタイムアウトＣＳＯを始める（エンドシステム１０２は、それ自体のコールドスタートフレームを使用しないように構成される）。しかしながら、コールドスタートフレーム３１０２の受信の後、コールドスタートフレーム３１０１は、エンドシステム１０１−１０５にスイッチ２０１−２０２によって中継される。エンドシステム１０２−１０５は、コールドスタートフレーム３１０２を使用してコールドスタートオフセットタイムアウトＣＳＯをリセットする。エンドシステム１０１は、それがまた、自身のコールドスタートフレームに反応しないように構成されるので、コールドスタートフレーム３１０１に反応しない。従って、エンドシステム１０１は、コールドスタート肯定応答フレーム４１０１をタイムアウトして送信する最初のものである。あとに続いて、それらのコールドスタートオフセットタイムアウトＣＳＯが後で生じるので、エンドシステム１０２−１０５はそれらのコールドスタート肯定応答フレーム４１０２−４１０５を送信する。スイッチは最初にエンドシステム１０１からのコールドスタート肯定応答フレーム４１０１を処理し、および、エンドシステム１０１−１０５へ戻って、得られるコールドスタート肯定応答フレーム４２０１を送信する。エンドシステム１０１だけが、コールドスタート肯定応答オフセットタイムアウトＣＡＯを始めることによってこのコールドスタート肯定応答フレームに反応する。それがそれらのフォールトトレラントハンドシェークＦＴＨであまり早く受信されるので、エンドシステム１０２−１０５はコールドスタート肯定応答フレーム４２０１を使用しない。一旦エンドシステム１０１−１０５がコールドスタート肯定応答フレーム４２１１を受信すると、全てのエンドシステム１０１−１０５がこのコールドスタート肯定応答：それが、それらのフォールトトレラントハンドシェークＦＴＨフェーズに時間的に適合するのでエンドシステム１０２−１０５、および、それがそのＦＴＨをすでに終えたのでエンドシステム１０２、を受け入れる。
【００８１】
図１２は故障のエンドシステム１０１および故障のスイッチ２０１を備えた起動中の故障シナリオを表し、リアルタイムでの進行が左から右に表される。シナリオは、コールドスタートフレーム３１０１をスイッチ２０１だけに送信する故障のエンドシステム１０１で始まる（正しいエンドシステムは、全ての複製されたチャンネル上に同期フレームを常に送信する）。故障のスイッチ２０１は、エンドシステム１０３だけにコールドスタートフレーム３１０１を中継する（正しいスイッチは、同期を全てのエンドシステムに常に送信する）。エンドシステム１０３は、コールドスタートフレーム３１０１を受信して、コールドスタートオフセットタイムアウトＣＳＯを設定することによってそのフォールトトレラントハンドシェークを始める。ＣＴＯが期限切れになるときに、エンドシステム１０３は全ての複製されたチャンネル上でコールドスタート肯定応答フレームを送信する。それゆえに、故障のスイッチ２０１および正しいスイッチ２０２が、コールドスタート肯定応答フレーム４１０３を受信する。正しいスイッチ２０２は、全てのエンドシステム１０１−１０４にコールドスタート肯定応答フレーム４２０２としてコールドスタート肯定応答フレーム４１０３を中継する。エンドシステム１０３は、そのフォールトトレラントハンドシェークＦＴＨと一致しているこのコールドスタート肯定応答フレーム４２０２を受信して、ＦＴＨが成功だったと結論を下す。エンドシステム１０２および１０４は、ＦＴＨの外側でコールドスタート肯定応答フレームを受信して、それゆえに、同期のためにそれを使用する。それゆえに、全ての正しいエンドシステムはコールドスタート肯定応答フレーム４２０２の受信によってコールドスタート肯定応答オフセットＣＡＯを始めて、同期動作へ進む。
【符号の説明】
【００８２】
１０１−１０５  エンドシステム
１１０、１２０  双方向通信リンク
２０１−２０２  スイッチ
３０１−３０４、３８０  同期メッセージ
４０１  統合サイクルフィールド
４０２  メンバー権新フィールド
４０３  同期優先順位フィールド
４０４  同期ドメインフィールド
４０５  タイプフィールド
４０６  トランスペアレントクロックフィールド
７９１−７９４  持続性時点
１０１０  ＥＳ＿ＩＮＴＥＧＲＡＴＥ状態
１０１１、１０１２、１０１３、１０１４  遷移
１０２０  ＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ状態
１０２１  遷移
１０３０  ＥＳ＿ＵＮＳＹＮＣ状態
１０３１、１０３２、１０３３、１０３４  遷移
１０４０  ＥＳ＿ＦＬＯＯＤ状態
１０４１、１０４２  遷移
１０５０  ＥＳ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ＿ＣＳ状態
１０５１、１０５２  遷移
１０６０  ＥＳ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態
１０６２、１０６３、１０６４、１０６５  遷移
１０７０  ＥＳ＿ＳＹＮＣ状態
１０７２、１０７３、１０７４  遷移
１０８０  ＥＳ＿ＳＴＡＢＬＥ状態
１０８１  遷移
２０１０  ＳＷ＿ＩＮＴＥＧＲＡＴＥ状態
２０１１、２０１２、２０１３  遷移
２０２０  ＳＷ＿ＷＡＩＴ＿４＿ＣＹＣＬＥ＿ＳＴＡＲＴ状態
２０２１  遷移
２０３０  ＳＷ＿ＵＮＳＹＮＣ状態
２０３２、２０３３、２０３４  遷移
２０４０  ＳＷ＿ＣＡ＿ＥＮＡＢＬＥＤ状態
２０４１  遷移
２０５０  ＳＷ＿ＷＡＩＴ＿４＿ＩＮ状態
２０５１、２０５２  遷移
２０６０  ＳＷ＿ＴＥＮＴＡＴＩＶＥ＿ＳＹＮＣ状態
２０６１、２０６２、２０６３  遷移
２０７０  ＳＷ＿ＳＹＮＣ状態
２０７１、２０７２、２０７３  遷移
２０８０  ＳＷ＿ＳＴＡＢＬＥ状態
２０８１  遷移
３０３０  ＳＷ＿ＵＮＳＹＮＣ状態
３１０１、３１０２  コールドスタートフレーム      
４１０１−４１０５、４２０１、４２０２、４２１１  コールドスタート肯定応答フレーム
５１０１−５１０５  同期メッセージ、統合フレーム
５２０１  圧縮された同期メッセージ
５２１１、５２２１  統合フレーム
ＣＤ  衝突ドメイン
【図１】
0005413750.tif 000002
【図２】
0005413750.tif 000003
【図３】
0005413750.tif 000004
【図４】
0005413750.tif 000005
【図５】
0005413750.tif 000006
【図６】
0005413750.tif 000007
【図７】
0005413750.tif 000008
【図８】
0005413750.tif 000009
【図９】
0005413750.tif 000010
【図１０】
0005413750.tif 000011
【図１１】
0005413750.tif 000012
【図１２】
0005413750.tif 000013