(57)【特許請求の範囲】
【請求項１】
複数のノードおよび複数の接続を備え、各接続が少なくとも２つのノードを接続して、ネットワークプロトコルによるメッセージ交換を含むノード間通信をできるようにするネットワークであって、前記ネットワークは、ＩＥＥＥ１５８８標準に準拠する高可用性グランド・マスタ・クロック（３０１）を実装するサブシステムを形成する複数のノード、および少なくとも１つの双方向通信リンク（４０１）を備え、
前記サブシステムは、前記サブシステムを形成する前記ノードの少なくとも１つの故障を許容するように構成され、
前記双方向通信リンク（４０１）のそれぞれは、ＩＥＥＥ１５８８Ｍａｓｔｅｒクロック（２０１）および／またはＩＥＥＥ１５８８Ｓｌａｖｅクロック（２０１）を、前記高可用性グランド・マスタ・クロック（３０１）を実装する前記サブシステムに物理的に接続するためにそれぞれ構成され、
前記高可用性グランド・マスタ・クロック（３０１）は、前記高可用性グランド・マスタ・クロック（３０１）がＩＥＥＥ１５８８ベスト・マスタ・クロック・アルゴリズムによりベストマスタとして選択されることを保証するＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージを生成および送信するように構成され、
前記サブシステムは、少なくとも２つの冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロック（１０１）に接続可能（４０２）であり、前記高可用性グランド・マスタ・クロック（３０１）は、前記冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロック（１０１）から送られたＩＥＥＥ１５８８Ｓｙｎｃメッセージを受信したことの応答として、ＩＥＥＥ１５８８Ｓｙｎｃメッセージを生成するように構成され、前記高可用性グランド・マスタ・クロック（３０１）で生成されたＩＥＥＥ１５８８ＳｙｎｃメッセージはＩＥＥＥ１５８８Ｍａｓｔｅｒクロック（２０１）および／またはＩＥＥＥ１５８８Ｓｌａｖｅクロック（２０１）に送信され、
ａ）前記高可用性グランド・マスタ・クロック（３０１）は、前記冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロック（１０１）からＩＥＥＥ１５８８Ｓｙｎｃメッセージ、およびＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージを読み込むが、読み込んだＩＥＥＥ１５８８Ｓｙｎｃメッセージを転送はせず、
ｂ）前記高可用性グランド・マスタ・クロック（３０１）により生成されるＩＥＥＥ１５８８Ｓｙｎｃメッセージにより示されるタイミング情報は、前記冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロック（１０１）から受信したＩＥＥＥ１５８８Ｓｙｎｃメッセージのタイミング情報の平均値、中央値、フォールトトレラントな平均値、もしくはフォールトトレラントな中央値、またはこの値のオフセットを表す、ことを特徴とする、ネットワーク。
【請求項２】
前記高可用性グランド・マスタ・クロック（３０１）は、どんなＩＥＥＥ１５８８ＳｙｎｃメッセージもＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージも、前記冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロック（１０１）に送信も転送もしないように構成されることを特徴とする、請求項１に記載のネットワーク。
【請求項３】
前記サブシステムは、前記高可用性グランド・マスタ・クロック（３０１）を実現するように構成されたＴＴＥｔｈｅｒｎｅｔシステムとして実現され、前記ＴＴＥｔｈｅｒｎｅｔシステムは、１つのネットワーク・インタフェース・カード（５０１）または複数のネットワーク・インタフェース・カード（５０１）、および１つのスイッチ（６０１）または複数のスイッチ（６０１）から構成され、各ネットワーク・インタフェース・カード（５０１）は、双方向通信リンクにより少なくとも１つのスイッチ（６０１）に接続されることを特徴とする、請求項１または２に記載のネットワーク。
【請求項４】
前記ＴＴＥｔｈｅｒｎｅｔシステム自体がＩＥＥＥ１５８８グランド・マスタ・クロック（７０１）を実装する、請求項３に記載のネットワーク。
【請求項５】
前記ネットワークは、少なくとも２つの冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロック（１０１）に接続可能であり、前記ＴＴＥｔｈｅｒｎｅｔシステムは、冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロック（１０１）からＩＥＥＥ１５８８同期メッセージを受信したことの応答としてＩＥＥＥ１５８８Ｓｙｎｃメッセージを生成するように構成され、
ａ）すべての故障していない標準的ＩＥＥＥ１５８８グランド・マスタ・クロック（１０１）が、自分のローカルの時間認識に従って同じ時点に自分の前記ＩＥＥＥ１５８８Ｓｙｎｃメッセージを生成し、
ｂ）ＴＴＥｔｈｅｒｎｅｔ圧縮機能を使用して、冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロック（１０１）からＩＥＥＥ１５８８Ｓｙｎｃメッセージを収集し、新しいＩＥＥＥ１５８８Ｓｙｎｃメッセージを生成する、
ことを特徴とする請求項３に記載のネットワーク。
【請求項６】
前記ＴＴＥｔｈｅｒｎｅｔ圧縮機能は、前記ＴＴＥｔｈｅｒｎｅｔスイッチ内に実装される、請求項５に記載のネットワーク。
【請求項７】
複数のＴＴＥｔｈｅｒｎｅｔ圧縮機能が、前記ＴＴＥｔｈｅｒｎｅｔスイッチ内に実装される、請求項５または６に記載のネットワーク。
【請求項８】
すべての冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロック（１０１）が、自分のＩＥＥＥ１５８８ＳｙｎｃメッセージをすべてのＴＴＥｔｈｅｒｎｅｔ圧縮機能に送信するように構成され、各圧縮機能が、新しいＩＥＥＥ１５８８Ｓｙｎｃメッセージを生成する、請求項７に記載のネットワーク。
【請求項９】
標準的ＩＥＥＥ１５８８ＭＡＳＴＥＲクロック（２０１）または標準的ＩＥＥＥ１５８８Ｓｌａｖｅクロック（２０１）が、前記高可用性グランド・マスタ・クロック（３０１）により作り出されたような冗長なＩＥＥＥ１５８８Ｓｙｎｃメッセージを受信するように構成され、それにより、前記ＩＥＥＥ１５８８ＭＡＳＴＥＲクロック（２０１）または前記ＩＥＥＥ１５８８Ｓｌａｖｅクロック（２０１）は、前記冗長なＩＥＥＥ１５８８Ｓｙｎｃメッセージにより運ばれた前記高可用性グランド・マスタ・クロック（３０１）からの前記タイミング情報の前記平均値、前記中央値、前記フォールトトレラントな平均値、または前記フォールトトレラントな中央値を使用して、自分のローカルクロックを補正する、請求項１〜８のうちいずれか一項に記載のネットワーク。
【請求項１０】
請求項１〜９のうちいずれか一項に記載のネットワークを実装する方法であって、
ａ）ＩＥＥＥ１５８８標準による高可用性グランド・マスタ・クロック（３０１）を実装するサブシステムを形成する複数のノードを提供し、前記サブシステムを形成する前記ノードの少なくとも１つの故障を許容するようにサブシステムを構成するステップ、および
ｂ）ＩＥＥＥ１５８８Ｍａｓｔｅｒクロック（２０１）および／またはＩＥＥＥ１５８８Ｓｌａｖｅクロック（２０１）を、高可用性グランド・マスタ・クロック（３０１）を実装する前記サブシステムに物理的に接続するためにそれぞれ構成された少なくとも１つの双方向通信リンク（４０１）を確立するステップ、
から構成される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ工学の技術分野の方法およびシステムに関し、より詳細には、ネットワークによってノードが接続されるコンピュータシステムのノード内のローカルクロックを同期させる方法に関する。より具体的には、本発明は、ＩＥＥＥ１５８８標準（ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  ａ  Ｐｒｅｃｉｓｉｏｎ  Ｃｌｏｃｋ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｎｅｔｗｏｒｋｅｄ  Ｍｅａｓｕｒｅｍｅｎｔ  ａｎｄ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ（ネットワーク化された測定および制御システムのための高精度クロック同期プロトコルのためのＩＥＥＥ標準））のために、好ましくは、現在のバージョンのＩＥＥＥ１５８８−２００８だけでなく互換性のある将来の任意のバージョンに関しても、グランド・マスタ・クロックを、詳細には高可用性グランド・マスタ・クロックを提案する。本発明は、複数のグランド・マスタ・クロックがシステム内で同時に動作することができるようにすることにより、ＩＥＥＥ１５８８で規定されるような同期方法を改善する；したがって、本発明は、ＩＥＥＥ１５８８の再選択プロトコルを陳腐化する。このために、本発明は、高可用性グランドマスタを実装する方法を提供し、さらに、前記方法を実現する（サブ）システムを提供する。本発明の一実現形態では、ＩＥＥＥ１５８８のための高可用性グランドマスタを実装するために、ＴＴＥｔｈｅｒｎｅｔネットワークが使用されてもよい。
【背景技術】
【０００２】
本発明は、コマンドアプリケーションおよび／または制御アプリケーションを実行する空間的に分散したコンピューティングノード（略して「ノード」と呼ぶ）のネットワークから構成されるコンピュータシステム、たとえば容器内の圧力を制御する化学プラント内のコンピュータシステムの性能を改善するのに役立つ。このようなコンピュータシステムは、該当するセンサを使用して、容器内の実際の圧力をモニタし、センサ読出値をあらかじめ規定された上限と比較し、アクチュエータを、たとえばヒータを動作させて、あらかじめ規定された上限に実際の圧力をほぼ一致させてもよい。このようなコンピュータシステムが一般に「リアル・タイム・システム」と呼ばれる場合が多いのは、これらのシステムの機能が、通常のオフィス・コンピュータ・システムで十分な、正しい出力を作り出す必要があるだけでなく、この出力をしばしば非常に厳しく規定された時間的限界の範囲内で作り出す必要があるためである。
【０００３】
リアル・タイム・システムのノードは、典型的には、実時間の推移を計測することができるローカルクロックを装備する。空間的に分散したノード内のこれらのローカルクロックを互いに同期させる方法をコンピュータシステムが実装することが工学的慣行であり、その結果、リアル・タイム・システムの任意の２つのノード内の、任意の２つの正しく機能しているクロックが、任意の時点に実時間で非常に似た値を有する。正しく機能しているノードの２つのローカルクロックの値の最大差を「精度」と呼ぶ；換言すれば、精度は、任意の時点に実時間で、ネットワーク内の任意の２つの同期した、故障していないクロック間の最大距離として規定される。「故障していない」とは、デバイスが、その仕様に従って動作していることを意味し、「同期した」とは、デバイスが（たとえば、電源投入またはリセットの後に）うまく始動したことを意味する。ＩＥＥＥ１５８８標準は、ローカルクロックを同期させる、このような方法を規定する。詳細には、ＩＥＥＥ１５８８で説明される方法は、コンピュータシステム内の他すべてのノードが同期する、「グランド・マスタ・クロック」と呼ばれるちょうど１つの同期マスタを選択することに基づく。グランド・マスタ・クロックが故障した場合、ＩＥＥＥ１５８８は、該当するノードがコンピュータシステム内に存在する場合、新しいグランド・マスタ・クロックを選択する、「ＰＴＰ」と呼ばれる再選択プロトコルを明記している。いくつかの用途では、再選択プロトコルは、システム内の精度の低下につながる可能性がある、および／またはコンピュータシステム内のすべてのノードが同じ新しいグランド・マスタ・クロックを一貫して選択することを保証することができないために、受け入れることができない。
【０００４】
本発明に関連して、「ＩＥＥＥ１５８８デバイス」の形のどんな表現も、ＩＥＥＥ１５８８標準と互換性のある「デバイス」、たとえばネットワークノード、Ｍａｓｔｅｒクロック、Ｓｌａｖｅクロックなどに関するものとして理解される。同様に、「ＩＥＥＥ１５８８メッセージ」の形のどんな表現も、ＩＥＥＥ１５８８標準に従って形成された「メッセージ」（たとえばＳｙｎｃメッセージ、Ａｎｎｏｕｎｃｅメッセージなど）と理解される。用語「マスタ」および「スレーブ」は、本明細書ではＩＥＥＥ１５８８標準で規定されるような意味で使用される：要するに、ＩＥＥＥ１５８８Ｍａｓｔｅｒは、「単一の高精度時間プロトコル（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ、ＰＴＰ）通信経路に関連するマスタクロック、すなわち、この経路上の他すべてのクロックが同期する時間の供給源であるクロック」である（ＩＥＥＥ１５８８−２００８、５ページ）；およびＩＥＥＥ１５８８Ｓｌａｖｅは、ネットワーク内の他のクロック（すなわち、マスタクロック）に同期するＳｌａｖｅクロックである。ＩＥＥＥ１５８８ＭａｓｔｅｒおよびＩＥＥＥ１５８８Ｓｌａｖｅは、ＩＥＥＥ１５８８グランド・マスタ・クロックを時間の最終的供給源とする同期階層を形成する。したがって、ネットワーク内のノードが、たとえば、グランド・マスタ・クロックに直接同期し（ＩＥＥＥ１５８８Ｓｌａｖｅの役割を示す）、かつ自分に同期する他のノードと通信するとき（したがって、ＩＥＥＥ１５８８Ｍａｓｔｅｒの働きをする）、同時にＩＥＥＥ１５８８ＭａｓｔｅｒおよびＩＥＥＥ１５８８Ｓｌａｖｅの両方であってもよい。
【０００５】
この開示の範囲内で、ノードはまた、「エンドシステム」と呼ばれる。さらに、エンドシステムを接続するネットワークは、物理的接続および「スイッチ」から構成され、２つのエンドシステムが、少なくとも１つのスイッチを介して互いに接続され、物理的接続は、エンドシステムをスイッチに接続するだけでなく、スイッチをスイッチに接続する。エンドシステムはローカルクロックを有する。スイッチはローカルクロックを有してもよい。このようなローカルクロックは、発振器のような物理的構成要素である。したがって、ローカルクロックは実時間を完全に表すのではなく、実時間より速いまたは遅い場合がある。ローカルクロックおよび理論的に完全なクロックの間の速度差が、一般にクロックの「ドリフト率」と呼ばれる。コマンドおよび制御アプリケーションの範囲で使用されるクロックのドリフト率の典型的値が、約何十ｐｐｍまたは数百ｐｐｍの範囲である。ドリフト率は、実時間の推移と共に、異なるエンドシステムおよび／またはスイッチのローカルクロックの値を逸脱させる。したがって、ローカルクロックは、ローカルクロックの最大距離が、精度と呼ばれるあらかじめ規定された限界を超えないように、互いに定期的に再整列されなければならない。この再整列過程は、クロックの「同期」と呼ばれる。
【０００６】
エンドシステムおよび／またはスイッチのローカルクロックを互いに同期させるために、エンドシステムおよび／またはスイッチは、同期メッセージの形で情報を互いに交換する。同期メッセージのタイプ、およびこれらの同期メッセージをどのように交換しなければならないかという規則が、一般に「同期プロトコル」と呼ばれる。ＩＥＥＥ１５８８は、このような同期プロトコルを規定する。
【０００７】
本発明にとって特に関心があるのが、ＩＥＥＥ１５８８標準の以下のタイプの同期メッセージ：「ＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージ」および「ＩＥＥＥ１５８８Ｓｙｎｃメッセージ」である。ＩＥＥＥ  Ａｎｎｏｕｎｃｅメッセージは、ネットワーク内の１組のエンドシステムおよび／またはスイッチからちょうど１つのグランドマスタを決定するために、ＩＥＥＥ１５８８同期プロトコルにより使用される。グランドマスタは、ネットワーク内にＩＥＥＥ１５８８Ｓｙｎｃメッセージを継続的に送信する。ＩＥＥＥ１５８８Ｓｙｎｃメッセージを受信し、かつＩＥＥＥ１５８８標準を実装するエンドシステムおよび／またはスイッチは、ＩＥＥＥ１５８８Ｓｙｎｃメッセージを使用して、自分のローカルクロックをグランドマスタのローカルクロックに同期させる。
【０００８】
ＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージは、ＩＥＥＥ１５８８同期プロトコルの一部であるＰＴＰプロトコルで使用される。ＰＴＰプロトコルに関与するエンドシステムおよびスイッチはそれぞれ、ネットワーク内のすべてのエンドシステムおよびスイッチにＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージを定期的に送信する。ＰＴＰプロトコルに関与するエンドシステムおよびスイッチはそれぞれ、これらのＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージのうちベストのものを選択し、その個々の送信側を同期用グランドマスタとして使用する。ベストのＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージの決定は、異なる送信側のＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージを互いに比較することにより、受信側でローカルに行われる。１組の受信されたＩＥＥＥ  Ａｎｎｏｕｎｃｅメッセージ内にちょうど１つベストのＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージが存在することが、ＰＴＰプロトコルにより保証されている。
【０００９】
フォールトトレランスの観点から、ＩＥＥＥ１５８８標準は、いわゆる「順次冗長性（ｓｅｑｕｅｎｔｉａｌ  ｒｅｄｕｎｄａｎｃｙ）」を実装する同期プロトコルを規定している。これは、現在のグランドマスタが故障した場合、ＩＥＥＥ１５８８標準のＰＴＰプロトコルが新しいグランドマスタを再選択することを意味する。一般に順次冗長性、およびＩＥＥＥ１５８８で規定される具体的な方法には２つの主要な欠点がある。第一に、再選択過程は瞬時に行われるのではなく、実時間で一定継続期間がかかる。これは、この再選択時間の間、ＩＥＥＥ１５８８ＭａｓｔｅｒおよびＩＥＥＥ１５８８Ｓｌａｖｅが自分のローカルクロックを同期させることができるグランドマスタが存在しないことを意味する。その結果、ＩＥＥＥ１５８８ＭａｓｔｅｒおよびＩＥＥＥ１５８８Ｓｌａｖｅのローカルクロックは、互いにドリフトする。したがって、精度（すなわち、任意の２つの故障していないローカルクロックの最大差）は、これらの潜在的に長い非同期期間を考慮する必要がある。この非同期の結果として、精度は、ある種の用途では許容できないほど長くなる場合がある。同期に対するＩＥＥＥ１５８８順次冗長性手法の第２の大きな欠点が、ある種の重大な故障シナリオで「一貫性」およびグランドマスタ「可用性」を保証できないことである。これは、ある種のシナリオでは、たとえば、グランドマスタが悪質な故障モードで故障したとき、ＩＥＥＥ１５８８ＭａｓｔｅｒおよびＩＥＥＥ１５８８Ｓｌａｖｅが新しいグランドマスタをいつでも選択する、および／または同じグランドマスタを一貫して選択することをＩＥＥＥ１５８８が保証することができないことを意味する。
【００１０】
システムにグランドマスタを継続的に再選択させる、グランドマスタのこのような故障モードの一例が、「断続的に」故障するグランドマスタである。これは、故障したグランドマスタが、ＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージを短期間だけ送信することがあるが、ＩＥＥＥ１５８８Ｓｙｎｃメッセージを送信することができないことを意味する。故障したグランドマスタは、ＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージを送信するたびに、新しいグランドマスタとして再選択される。選択された直後に、故障したグランドマスタが、ＩＥＥＥ１５８８ＳｙｎｃメッセージおよびＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージを送信できないとき、新しいグランドマスタが選択される。しかしながら、新しいグランドマスタが選択された直後、故障したグランドマスタが自分のＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージを再び送信してもよく、したがって、他の再選択過程を引き起こす。したがって、故障したグランドマスタの動作する／動作しない故障挙動のこの継続が、システムにグランドマスタを継続的に再選択させる。一貫性のないグランドマスタ選択につながる他の例示的故障が、現在のグランドマスタのＩＥＥＥ１５８８ＳｙｎｃメッセージおよびＩＥＥＥ１５８８ＡｎｎｏｕｎｃｅメッセージをＩＥＥＥ１５８８ＭａｓｔｅｒおよびＩＥＥＥ１５８８Ｓｌａｖｅのサブセットだけに中継する、故障したスイッチである。したがって、現在のグランドマスタからのメッセージがないので、残りのＩＥＥＥ１５８８ＭａｓｔｅｒおよびＳｌａｖｅは、他の（すなわち、第２の）グランドマスタを再選択する。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】ＩＥＥＥ１５８８標準（ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  ａ  Ｐｒｅｃｉｓｉｏｎ  Ｃｌｏｃｋ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｎｅｔｗｏｒｋｅｄ  Ｍｅａｓｕｒｅｍｅｎｔ  ａｎｄ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ（ネットワーク化された測定および制御システムのための高精度クロック同期プロトコルのためのＩＥＥＥ標準））
【非特許文献２】ＩＥＥＥ１５８８−２００８
【非特許文献３】ＩＥＥＥ１５８８−２００８、５ページ
【非特許文献４】ＩＥＥＥ１５８８−２００８、８８ページ
【非特許文献５】ＩＥＥＥ１５８８−２００８、８９ページ、図２７
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上記に鑑みて、上述の欠点を克服する方法および実装形態を提供することが本発明の目的である。本発明は、独立クレームで説明する方法および実装形態を提供する。独立クレームは、本発明のさらに有利な展開形態を説明する。
【課題を解決するための手段】
【００１３】
詳細には、本発明の第１の様態によれば、複数のノードおよび複数の接続を備え、各接続が少なくとも２つのノードを接続して、ネットワークプロトコルによるメッセージ交換を含むノード間通信をできるようするネットワークに基づき、本発明によるネットワークは、
ａ）ＩＥＥＥ１５８８標準による高可用性グランド・マスタ・クロックを実装するサブシステムを形成する複数のノードであって、サブシステムは、前記サブシステムを形成する前記ノードの少なくとも１つの故障を許容するように構成された複数のノード、および
ｂ）ＩＥＥＥ１５８８Ｍａｓｔｅｒクロックおよび／またはＩＥＥＥ１５８８Ｓｌａｖｅクロックを、高可用性グランド・マスタ・クロックを実装するサブシステムに物理的に接続するためにそれぞれ構成された少なくとも１つの双方向通信リンク
を備える。
【００１４】
この解決策は、順次冗長性の代わりに、または順次冗長性に加えて、「並列冗長性」を使用する「高可用性グランドマスタ」（ｈｉｇｈ−ａｖａｉｌａｂｉｌｉｔｙ  ｇｒａｎｄ  ｍａｓｔｅｒ、ＨＡＧＭと略す）の概念に基づく。ＩＥＥＥ１５８８では任意の所与の時間に、最大で１つのノードがグランドマスタの役割を果たしているが、本発明は、グランドマスタ、すなわちＨＡＧＭが、複数のノードから構築される方法および実装形態を提供する。この解決策は、複数のグランド・マスタ・クロックがシステム内で同時に動作することができるようにし、したがって、ＩＥＥＥ１５８８の再選択プロトコルを陳腐化することにより、ＩＥＥＥ１５８８で規定されるような同期方法を改善する。この解決策は、ネットワークの起動および動作中に信頼性を高め、特性を改善する、グランド・マスタ・クロックのフォールトトレラントな実現形態をさらに可能にする。これは、グランド・マスタ・クロックのうち１つが故障した場合、他のグランド・マスタ・クロックへの切り替えを行う必要があるのではなく、ＩＥＥＥ１５８８Ｓｙｎｃメッセージを提供する少なくとも１つの他のグランド・マスタ・クロックがすでに存在し、ネットワーク内のローカルクロックが同期することを保証することを意味する。常に動作しているこのような時間サービスは、シームレスに、中断することなく動作しなければならない多くのきわめて重要な用途の必要条件である。
【００１５】
他の様態では、本発明はまた、本発明によるネットワークを実装する方法を提供し、方法は：
ａ）ＩＥＥＥ１５８８標準による高可用性グランド・マスタ・クロックを実装するサブシステムを形成する複数のノードを提供し、前記サブシステムを形成する前記ノードの少なくとも１つの故障を許容するように構成するステップ、および
ｂ）ＩＥＥＥ１５８８Ｍａｓｔｅｒクロックおよび／またはＩＥＥＥ１５８８Ｓｌａｖｅクロックを、高可用性グランド・マスタ・クロックを実装するサブシステムに物理的に接続するためにそれぞれ構成された少なくとも１つの双方向通信リンクを確立するステップ
を含む。
【００１６】
本発明の他の様態が、本発明による高可用性グランド・マスタ・クロックを実装するサブシステムに関与するように構成されたＴＴＥｔｈｅｒｎｅｔおよび／またはネットワークノードに関する。
【００１７】
本発明の他の一展開形態では、本発明によるＨＡＧＭは、そのＩＥＥＥ１５８８ＡｎｎｏｕｎｃｅメッセージがベストのＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージとして常に選択される方法で、ＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージを生成し、ＩＥＥＥ１５８８Ｍａｓｔｅｒおよび／またはＩＥＥＥ１５８８Ｓｌａｖｅに送信するように構成される。このタイプのアナウンスメッセージは、高可用性グランド・マスタ・クロックが、ＩＥＥＥ１５８８ベスト・グランド・マスタ・クロック・アルゴリズムによりベストマスタとして選択されることを保証する。一実装形態では、これは、ＨＡＧＭのＩＥＥＥ１５８８ＡｎｎｏｕｎｃｅメッセージをＩＥＥＥ１５８８標準による可能なベストＡｎｎｏｕｎｃｅメッセージとして構成することにより行うことができる。
【００１８】
ＩＥＥＥ１５８８ＭａｓｔｅｒクロックおよびＩＥＥＥ１５８８Ｓｌａｖｅクロックは、グランドマスタからのＩＥＥＥ１５８８Ｓｙｎｃメッセージを使用して、自分のローカルクロックを同期させる。ＩＥＥＥ１５８８ＭａｓｔｅｒおよびＩＥＥＥ１５８８Ｓｌａｖｅのローカルクロックがすべてグランドマスタに同期したとき、ローカルクロックはまた、互いに同期することに留意されたい。
【００１９】
本発明の他の展開形態では、少なくとも２つの冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロックにネットワークを接続することができ、高可用性グランド・マスタ・クロックは、冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロックから送られたＩＥＥＥ１５８８Ｓｙｎｃメッセージを受信したことの応答としてＩＥＥＥ１５８８Ｓｙｎｃメッセージを生成するように構成され、それにより、
ａ）高可用性グランド・マスタ・クロックは、ＩＥＥＥ１５８８Ｓｙｎｃメッセージを消費し、ＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージは、冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロックを形成し、これらのＩＥＥＥ１５８８Ｓｙｎｃメッセージを転送せず、
ｂ）高可用性グランド・マスタ・クロックにより生成されたＩＥＥＥ１５８８Ｓｙｎｃメッセージにより表されるタイミング情報が、標準的ＩＥＥＥ１５８８グランド・マスタ・クロック（１０１）から受信した前記ＩＥＥＥ１５８８Ｓｙｎｃメッセージのタイミング情報の平均値、中央値、フォールトトレラントな平均値、もしくはフォールトトレラントな中央値、またはこの値のオフセットを表す。
【００２０】
詳細には、前述の２つの展開形態に関連して、高可用性グランド・マスタ・クロックは、どんなＩＥＥＥ１５８８ＳｙｎｃメッセージもＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージも、冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロックに送信も転送もしないように構成されてもよい。これは、さまざまなグランド・マスタ・クロック間の起こり得る衝突を回避するのに役立つ。
【００２１】
本発明の一実現形態では、この複数のノードうちいくつかのノードが同時にＩＥＥＥ１５８８グランドマスタの役割を果たす。これは、ＩＥＥＥ１５８８グランドマスタの役割を果たしているノードのうち１つまたは複数が故障した場合でさえ、正しく動作しているノードが、ＨＡＧＭを形成する複数のノードの中に残されているかぎり、ＨＡＧＭは同期した時間を依然として維持することができる、すなわち、ＩＥＥＥ１５８８Ｓｙｎｃメッセージを送信することができることを意味する。
【００２２】
同期した時間をさらに改善された手法で維持することができる、本発明の他の様態によれば、ＩＥＥＥ１５８８グランドマスタの複製に加えて、ＨＡＧＭは、「フォールトトレラントなクロック同期」方法を実装する。このフォールトトレラントなクロック同期方法は、冗長なＩＥＥＥ１５８８グランド・マスタ・ノードからのメッセージを入力として使用し、新しいＩＥＥＥ１５８８メッセージを生成する。詳細には、上記で説明したように、ＨＡＧＭは、ＨＡＧＭをシステム内のベスト・グランド・マスタとして示すＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージを生成し、一実現形態では、ＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージのための情報を、コンピュータシステムを設計するときに静的に構成することができる。ＨＡＧＭのＩＥＥＥ１５８８Ｓｙｎｃメッセージは、ＨＡＧＭを形成している複数のノードの冗長なＩＥＥＥ１５８８グランドマスタの現在のローカルクロック時間の統合見解を表す。フォールトトレラントなクロック同期方法は、ローカルクロックの時間のこのような統合見解を確立するために使用される。業界で使用される周知のフォールトトレラントなクロック同期方法が、たとえば、ＴＴＰプロトコルまたはＴＴＥｔｈｅｒｎｅｔ「圧縮機能」で使用される「フォールトトレラントな平均値」である。
【００２３】
本発明の特に有利な一実現形態では、ＨＡＧＭは、ＴＴＥｔｈｅｒｎｅｔネットワーク内に実装されてもよい；この場合、ＴＴＥｔｈｅｒｎｅｔ圧縮機能が、最適なフォールトトレラントなクロック同期方法として使用されてもよい。換言すれば、本発明によるサブシステムが、高可用性グランド・マスタ・クロックを実現するように構成されたＴＴＥｔｈｅｒｎｅｔシステムとして実現されてもよく、ＴＴＥｔｈｅｒｎｅｔシステムは、１つのネットワーク・インタフェース・カードまたは複数のネットワーク・インタフェース・カード、および１つのスイッチまたは複数のスイッチから構成され、各ネットワーク・インタフェース・カードは、双方向通信リンクにより少なくとも１つのスイッチに接続される。このＴＴＥｔｈｅｒｎｅｔシステムは、それ自体ＩＥＥＥ１５８８グランド・マスタ・クロックを実装してもよい。
【００２４】
本発明のこの実現形態によるネットワークは、少なくとも２つの冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロックにさらに接続可能であってもよく、前記ＴＴＥｔｈｅｒｎｅｔシステムは、冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロックからＩＥＥＥ１５８８Ｓｙｎｃメッセージを受信したことの応答としてＩＥＥＥ１５８８Ｓｙｎｃメッセージを生成するように構成され、
ａ）すべての故障していない標準的ＩＥＥＥ１５８８グランド・マスタ・クロックが、自分のローカルの時間認識に従って同じ時点に自分のＩＥＥＥ１５８８Ｓｙｎｃメッセージを生成し、
ｂ）ＴＴＥｔｈｅｒｎｅｔ圧縮機能を使用して、冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロックからＩＥＥＥ１５８８Ｓｙｎｃメッセージを収集し、新しいＩＥＥＥ１５８８Ｓｙｎｃメッセージを生成する。
この場合、ＴＴＥｔｈｅｒｎｅｔ圧縮機能を、ＴＴＥｔｈｅｒｎｅｔスイッチ内に実装することができる。代わりにまたはさらに、複数のＴＴＥｔｈｅｒｎｅｔ圧縮機能をＴＴＥｔｈｅｒｎｅｔシステム内に実装することができる。この場合の有用な他の一発展形態では、すべての冗長な標準的ＩＥＥＥ１５８８グランド・マスタ・クロックが、自分のＩＥＥＥ１５８８ＳｙｎｃメッセージをすべてのＴＴＥｔｈｅｒｎｅｔ圧縮機能に送信するように構成されてもよく、各圧縮機能が、新しいＩＥＥＥ１５８８Ｓｙｎｃメッセージを生成する。
【００２５】
本発明の他の一様態では、標準的ＩＥＥＥ１５８８Ｍａｓｔｅｒクロックまたは標準的ＩＥＥＥ１５８８Ｓｌａｖｅクロックが、高可用性グランド・マスタ・クロックにより作り出されたような冗長なＩＥＥＥ１５８８Ｓｙｎｃメッセージを受信するように構成され、それにより、ＩＥＥＥ１５８８ＭＡＳＴＥＲクロックまたはＩＥＥＥ１５８８Ｓｌａｖｅクロックは、冗長なＩＥＥＥ１５８８Ｓｙｎｃメッセージにより運ばれる高可用性グランド・マスタ・クロックからのタイミング情報を使用して、自分のローカルクロックを補正する。タイミング情報は、たとえば：タイミング情報の平均値、中央値、フォールトトレラントな平均値、またはフォールトトレラントな中央値というタイプのうち１つとすることができる。
【００２６】
以下、本発明の詳細、適切な展開形態および利点が図面で示す例示的実施形態からさらに明らかになるであろう。
【図面の簡単な説明】
【００２７】
【図１】ＩＥＥＥ１５８８Ｍａｓｔｅｒ／Ｓｌａｖｅに接続されたＨＡＧＭを示す。
【図２】３つの冗長な外部ＩＥＥＥ１５８８グランド・マスタ・クロックの時間情報を使用して、ＩＥＥＥ１５８８Ｍａｓｔｅｒ／Ｓｌａｖｅを同期させるＨＡＧＭを示す。
【図３】エンドシステムおよびスイッチから構成されるＴＴＥｔｈｅｒｎｅｔネットワークの形のＨＡＭＧであって、ＴＴＥｔｈｅｒｎｅｔエンドシステムのいくつかがＩＥＥＥ１５８８グランド・マスタ・クロックを実装するＨＡＧＭの一実現形態を示す。
【図４】エンドシステムおよびスイッチから構成されるＴＴＥｔｈｅｒｎｅｔネットワークの形のＨＡＧＭであって、ＴＴＥｔｈｅｒｎｅｔスイッチが、３つの外部ＩＥＥＥ１５８８グランド・マスタ・クロックから受信した入力から、それに応答してフォールトトレラントなＩＥＥＥ１５８８同期メッセージを生成するＨＡＧＭの一実現形態を示す。
【発明を実施するための形態】
【００２８】
以下の例示的実施形態は、本発明の可能な実現形態のうちいくつかを説明する。図は、本発明によるネットワークサブシステムの具体的な実施形態に対応する例示的解決策を示す；サブシステムは、好ましくはＴＴＥｔｈｅｒｎｅｔシステムである、より大きなネットワーク（図示せず）の一部であってもよい。当然のことながら、本発明は、ここで示す実施形態に限定されず、ここに示す実施形態は、図示するおよび／または説明する実施形態だけに本発明の範囲を限定すると解釈されるべきではない；むしろ、当業者は、添付の特許請求の範囲に入る他の修正形態および実装形態を容易に考案されよう。ここで提示するすべての解決策および様態は、例示的性格のものであり、互いに自由に組み合わせることができる。
【００２９】
図１は、物理的接続４０１を介してＩＥＥＥ１５８８同期メッセージをＩＥＥＥ１５８８Ｍａｓｔｅｒ／Ｓｌａｖｅ２０１に送信するＨＡＧＭ３０１を示す。図２は変形ネットワークレイアウトを示し、ＨＡＧＭ３０１は、物理的接続４０２を介して送信される冗長なＩＥＥＥ１５８８グランド・マスタ・クロック１０１の時間情報を使用して、自分が物理的接続４０１を介してＩＥＥＥ１５８８Ｍａｓｔｅｒ／Ｓｌａｖｅに送信するＩＥＥＥ１５８８同期メッセージを作り出す。本発明によれば、
ａ）高可用性グランド・マスタ・クロック（３０１）は、以下でさらに説明するように、複数の物理的デバイスから構成される、
ｂ）高可用性グランド・マスタ・クロック（３０１）は、複数のデバイスのうち１つまたは複数のデバイスの故障を許容することができる、および
ｃ）ＩＥＥＥ１５８８Ｍａｓｔｅｒクロック（２０１）および／またはＩＥＥＥ１５８８Ｓｌａｖｅクロック（２０１）は、１つまたは複数の双方向通信リンク（４０１）を介して高可用性グランド・マスタ・クロック（３０１）に物理的に接続される。
【００３０】
図１および図２のＨＡＧＭ３０１は、ＩＥＥＥ１５８８標準に従うグランド・マスタ・クロックを形成し、ネットワークの構成要素の一部またはすべてを備えることができる、本発明によるサブシステムにより実現される。このサブシステムの形成に関与するネットワークノード（または簡単にノード）は、たとえば、コンピュータ、ネットワーク・インタフェース・カード（ＮＩＣ）、イーサネットスイッチ、イーサネットコントローラを一体化したマイクロプロセッサなどであってもよい。
【００３１】
図３は、エンドシステムおよびスイッチ６０１から構成されるＴＴＥｔｈｅｒｎｅｔネットワークの形のＨＡＧＭ３０１の一実現形態を示し、エンドシステムのすべてが、ＴＴＥｔｈｅｒｎｅｔネットワーク・インタフェース・カード（ＮＩＣ）５０１を装備し、エンドシステムのいくつかがＩＥＥＥ１５８８グランド・マスタ・クロック７０１を実装する。ＩＥＥＥ１５８８のＨＡＧＭクロック３０１のこのＴＴＥｔｈｅｒｎｅｔに基づく実現形態は、物理的接続４０１を介してＩＥＥＥ１５８８同期メッセージをＩＥＥＥ１５８８Ｍａｓｔｅｒ／Ｓｌａｖｅに冗長的に送信する。ＴＴＥｔｈｅｒｎｅｔのＮＩＣ５０１およびスイッチ６０１は、従来技術から公知のように自走ローカルクロックを使用してトランスペアレントクロックを実装する。ＴＴＥｔｈｅｒｎｅｔのトランスペアレントクロックの機能は、ＩＥＥＥ１５８８のエンド・ツー・エンドおよびピア・ツー・ピアのトランスペアレントクロック機能に類似する。プロトコル制御フレーム（ＰＣＦ）のため、および構成可能な１組の他のフレームのために、ＴＴＥｔｈｅｒｎｅｔスイッチは、フレームの待ち時間を計測する。次いで、この遅延プラス構成可能な値が、フレームの専用フィールドに書き込まれる。構成可能な値は、ワイヤの遅延を補償するためのものであり、したがって、ピア・ツー・ピアのトランスペアレントクロックの（より融通性がないが）より安価な一代替形態である。
【００３２】
図３に示すサブシステムは、ＩＥＥＥ１５８８タイムラインをＴＴＥｔｈｅｒｎｅｔに同期させることができるようにするだけでなく、ＴＴＥｔｈｅｒｎｅｔが故障動作のＩＥＥＥ１５８８グランド・マスタ・クロックをシミュレートすることができるような方法でネイティブＴＴＥｔｈｅｒｎｅｔ機構を活用する方法を示す互換モードの一例を示す。このために、３つのＮＩＣ５０１が３つの１５８８グランド・マスタ・クロック７０１を実装する。これらのクロック７０１は、自分のローカルクロックに従って同じ時点で自分の同期メッセージを定期的に提供するように構成され、これにより、これらのクロック７０１がこれらの最初の同期メッセージを消費し、かつグランド・マスタ・クロック７０１の平均値（または中央値）を反映する時点に新しいＩＥＥＥ１５８８同期メッセージを作り出すような方法で、スイッチ６０１内の圧縮マスタ（ｃｏｍｐｒｅｓｓｉｏｎ  ｍａｓｔｅｒ、ＣＭ）機能を拡張することができるようになる。グランド・マスタ・クロックが万一故障する場合、故障はＣＭによりマスクされる；グランド・マスタ・クロックが存在していないこと、または誤った値は、十分に多数のグランド・マスタ・クロックが存在するという前提で、平均化（または中央値）機能により補償される。ＣＭ自体の故障は、グランド・マスタ・クロック７０１に、両方のＣＭに自分の同期メッセージを送信させる（これはスイッチ６０１により実現される）ことにより緩和することができ、両方のＣＭは、次に、同一ＩＥＥＥ１５８８同期メッセージを生成し、通信経路４０１により示されるレガシーＩＥＥＥ１５８８装置に同一ＩＥＥＥ１５８８同期メッセージを転送する。次いで、このレガシー構成要素は、同一ＩＥＥＥ１５８８同期メッセージのいずれか１つを選んでも、これらの同期メッセージ自体に対して平均計算を実行してもよい。これが、本発明の範囲内で、異なるフォールトトレランス特性をもたらす。
【００３３】
図示するような種類の構成は、ＩＥＥＥ１５８８デバイスが、安全性が重視されるシステム自体の一部であるので、たとえば、フォールトトレラントな方法で同期される必要がある使用事例を有する。
【００３４】
サブシステム３０１の構成は、ＨＡＧＭのＩＥＥＥ１５８８Ａｎｎｏｕｎｃｅメッセージが、ＩＥＥＥ１５８８標準による可能なベストＡｎｎｏｕｎｃｅメッセージとみなされることを保証する。これは、たとえば、ＨＡＧＭのｇｒａｎｄｍａｓｔｅｒＰｒｉｏｒｉｔｙ１（ＩＥＥＥ１５８８−２００８、８８ページ）をネットワーク内の可能な最高の優先順位に固有に設定することにより行うことができる。その結果、ＰＴＰプロトコルは、データ設定比較アルゴリズム（ＩＥＥＥ１５８８−２００８、８９ページ、図２７）を使用してＨＡＧＭをベストクロックとして選択する。あるいは、ＨＡＧＭのＩＥＥＥ１５８８アナウンスメッセージが、ＩＥＥＥ１５８８に指定されるような決定アルゴリズムを使用して、ベスト・マスタ・メッセージとして選択されることを保証する他の構成が可能である。ネットワーク内のノードの構成を考慮すると、データセット比較アルゴリズムを使ってシステム内のノードの構成を比較することにより、ベストマスタとして選択されるようにＨＡＧＭの構成を決定することは簡単である。
【００３５】
図４は、外部のＩＥＥＥ１５８８グランド・マスタ・クロック１０１の同期メッセージを、物理的接続４０２を介してスイッチ６０１に引き渡される入力として使用する、ＴＴＥｔｈｅｒｎｅｔネットワークの形のＨＡＧＭ３０１の他の実現形態を示す。スイッチ６０１は、外部のＩＥＥＥ１５８８グランド・マスタ・クロックからのＩＥＥＥ１５８８同期メッセージを統合し、物理的接続４０１を介して新しいＩＥＥＥ１５８８同期メッセージを他のＩＥＥＥ１５８８Ｍａｓｔｅｒ／Ｓｌａｖｅ構成要素２０１に送信する。
【００３６】
図４は、ＩＥＥＥ１５８８およびＴＴＥｔｈｅｒｎｅｔの間の他の互換モードを示す。この実施形態は、スイッチがＩＥＥＥ１５８８トラフィックを識別し、トラフィックの遅延を計測し、該当するフィールドに補正値を設定するようにＴＴＥｔｈｅｒｎｅｔスイッチ内に機能を直接実装する。これにより、外部のＩＥＥＥ１５８８グランド・マスタ・クロック１０１から、選択されたリンク４０２を介したスイッチ６０１への、およびさらにリンク４０１を介したデバイス２０１への通信が実現される。
【００３７】
他の変形形態（図示せず）では、外部のＩＥＥＥ１５８８グランド・マスタ・クロック１０１は、ＴＴＥｔｈｅｒｎｅｔのＮＩＣ５０１に接続されてもよい。ＩＥＥＥ１５８８同期メッセージが、ＴＴＥｔｈｅｒｎｅｔのＮＩＣ内の機能を使用してトンネルされる。このために、ＮＩＣ５０１は、ＩＥＥＥ１５８８フレームを、ＴＴＥｔｈｅｒｎｅｔスイッチ６０１により認識されるように変換する。
【００３８】
このような構成の１つの使用事例が、ＴＴＥｔｈｅｒｎｅｔシステム自体のためのテスト設定である；ＩＥＥＥ１５８８の同期したタイムラインを使用して、ＴＴＥｔｈｅｒｎｅｔアルゴリズムが正しく実装されているかどうかを、たとえば、ＰＣＦが時間的に正しくディスパッチされているかどうかを計測することができる。
【００３９】
たとえば、好都合には、以下の要件は、ＴＴＥｔｈｅｒｎｅｔネットワークで単一のフォールトトレランスを達成するのに役立つ場合がある：
【００４０】
１つまたは複数の受信ノードにメッセージをフォールトトレラントに送信する各送信ノードが、チャネルとしても知られるネットワークを通って少なくとも２つのノード独立な経路を介して受信ノードに接続される。チャネルは互いにノード独立であるが、送信ノードおよび受信ノードは２つの（または３つ以上の）チャネルを共有する。
【００４１】
この一般的な要件は、クロック同期とは無関係である。
【００４２】
クロック同期に関与するためには、ＴＴＥｔｈｅｒｎｅｔ仕様に規定されるように、
＊各ノードがＳｙｎｃ  Ｃｌｉｅｎｔ（同期クライアント）機能を実装する必要がある
＊少なくとも４つのノードがＳｙｎｃ  Ｍａｓｔｅｒ（同期マスタ）機能を実装する必要がある
＊２つの経路の各々の上で、少なくとも１つのノードがＣｏｍｐｒｅｓｓｉｏｎ  Ｍａｓｔｅｒ（圧縮マスタ機能）を実装する必要がある。
このようなネットワークは、単一フォールトトレラント構成でＴＴＥｔｈｅｒｎｅｔプロトコルを実装すると言われている。
【００４３】
ＴＴＥｔｈｅｒｎｅｔはまた、第３のチャネルを使用し、少なくとも７つのノードがＳｙｎｃ  Ｍａｓｔｅｒ機能を実装する二重フォールトトレラント構成をサポートする。
【図１】
0005874815.tif 000002
【図２】
0005874815.tif 000003
【図３】
0005874815.tif 000004
【図４】
0005874815.tif 000005