(57)【特許請求の範囲】
【請求項１】
少なくとも２つのリングにまたがる仮想ネットワークでの該少なくとも２つのリングに共用される共用セグメントに障害が発生したときにループを防ぐための方法であって、
データトラフィックを伝送するための前記共用セグメントでの障害を検出する段階と、
該障害の検出に応答して、その障害のある共用セグメントに直接結合したノードと前記リングの１つ以外の全てとの間でのデータトラフィックの伝送を阻止する段階と
を含む方法。
【請求項２】
前記ノードはスイッチである請求項１に記載の方法。
【請求項３】
前記スイッチが、前記セグメントでの障害がないリング間でデータトラフィックを少なくともブリッジするよう動作可能であることを特徴とする請求項２に記載の方法。
【請求項４】
前記スイッチが、米電気電子学会（ＩＥＥＥ）規格８０２．１Ｄ仕様による前記リング間でデータトラフィックを少なくともブリッジするよう動作可能であることを特徴とする請求項３に記載の方法。
【請求項５】
各リングが物理リングを含み、前記ノードが幾つかのポートを含み、前記ノードが前記幾つかのポートの別個のポートによって各物理リングと前記セグメントとに直接結合されることを特徴とする請求項１に記載の方法。
【請求項６】
前記仮想ネットワークでのループを防ぐことが、前記仮想ネットワーク内の論理ループを防ぐ段階を含む請求項１に記載の方法。
【請求項７】
前記セグメントは物理セグメントである請求項１に記載の方法。
【請求項８】
前記セグメントは別のノードによって結合された少なくとも２つの物理セグメントを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記セグメントでの障害を検出する前記段階が、前記セグメントが動作していることを示す少なくとも１つのメッセージを受信できないことと、前記セグメントが動作していないことを示す少なくとも１つのメッセージを受信することのうちの１つを含む請求項１に記載の方法。
【請求項１０】
前記セグメントが動作していることを示す少なくとも１つのメッセージを受信できないことが、前記セグメントが動作していることを示す少なくとも１つのメッセージを前記セグメントの反対端に直接結合された別のノードから所定の時間内に受信できないことを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記障害の検出に応答して、その障害のある共用セグメントに直接結合したノードと前記リングの１つ以外の全てとの間でのデータトラフィックの伝送を阻止する段階が、前記ノードが前記リングの１つ以外の全てに直接結合されている前記ノードのポートの各々の状態をデータトラフィック転送状態からデータトラフィックブロッキング状態に変える段階を含む請求項５に記載の方法。
【請求項１２】
データトラフィックを伝送するための前記障害のある共用セグメントの復旧を検出する段階と、
該復旧の検出に応答して、前記ノードと前記リングの全てとの間でのデータトラフィックの伝送を可能にする段階と、
を更に含む請求項１に記載の方法。
【請求項１３】
前記障害のある共用セグメントの復旧を検出する段階が、前記セグメントが動作していることを示す少なくとも１つのメッセージを受信する段階を含む請求項１２に記載の方法。
【請求項１４】
前記セグメントが動作していることを示す少なくとも１つのメッセージを受信する段階が、前記セグメントが動作していることを示す少なくとも１つのメッセージを前記セグメントの反対端に直接結合された別のノードから所定の時間内に受信する段階を含む請求項１３に記載の方法。
【請求項１５】
前記障害のある共用セグメントの復旧の検出に応答して前記ノードと前記リングの全てとの間でのデータトラフィックの伝送を可能にする前記段階が、前記ノードが前記リングの全てに直接結合されているノードのポートの各々の状態をデータトラフィックブロッキング状態からデータトラフィック転送状態に変える段階を含む請求項１２に記載の方法。
【請求項１６】
前記障害のある共用セグメントの復旧の検出に応答して前記ノードと前記リングの全てとの間でのデータトラフィックの伝送を可能にする段階が、前記ノードが各リングに結合されたマスターノードからのメッセージを受け取るまで前記リングの全てに直接結合された前記ノードの状態をデータトラフィックブロッキング状態からデータトラフィックプリフォワーディング状態に変える段階と、次いで前記ノードの状態をデータトラフィック転送状態に変える段階とを含む請求項１２に記載の方法。
【請求項１７】
前記リングの一つでの第２のセグメントにおいてデータトラフィックを伝送することに対する障害を検出する段階と、
第２のノードの全てのポートのうちの一つを除く全てのポートの状態をデータトラフィックブロッキング状態に変える段階であって該一つのポートを介して前記第２のノードが障害のないセグメントに直接結合される、段階と
を更に含む請求項５に記載の方法。
【請求項１８】
前記リングの一つでの切断を検出する段階と、
前記第２のノードの障害のないセグメントに直接結合しているポートの状態をデータトラフィックブロッキング状態からデータトラフィック転送状態に変える段階と
を更に含む請求項１７に記載の方法。
【請求項１９】
前記切断を検出する段階は、前記リングが接続されていることを示すメッセージの受信ができないことを含む請求項１８に記載の方法。
【請求項２０】
前記ネットワークは少なくとも３つのリングに渡っており、前記共用されるセグメントは該少なくとも３つのリングに共用される請求項１に記載の方法。
【請求項２１】
プロセッサに、
少なくとも２つの物理リングにまたがる仮想ネットワークでの該物理リングに共用されるセグメントに障害が発生したときにループを防ぐための方法であって、
データトラフィックを伝送するための前記共用セグメントにおける障害を検出する段階と、
前記セグメントにおける障害の検出に応答して、前記共用セグメントに直接結合したノードと前記リングの１つ以外の全てとの間でのデータトラフィックの伝送を阻止する段階と、
を含む方法を実行させるためのコンピュータ可読命令を記憶したコンピュータ可読記憶媒体。
【請求項２２】
前記ノードはネットワーク・デバイスを含んでおり、
前記物理リングと共用セグメントは前記ネットワーク・デバイスの一つのポートを介して接続されており、
前記データトラフィックの伝送を阻止する段階は、前記少なくとも２つのリングの動作セグメントに直接結合された一つのポートを除く全てのポートをデータトラフィックの伝送状態からデータトラフィックブロッキング状態に変える段階を含む
請求項２１に記載の記憶媒体。
【請求項２３】
前記共用セグメントにおける障害を検出する段階は、前記共用セグメントが動作していることを示す少なくとも１つのメッセージを受信できないことと、前記共用セグメントが動作していないことを示す少なくとも１つのメッセージを受信することのうちの１つを含む請求項２１に記載の記憶媒体。
【請求項２４】
前記方法が、さらに、
前記共用セグメントの復旧を検出する段階と、
該復旧の検出に応答して前記ノードと前記全てのリングの間でのデータトラフィックの伝送を許可する段階と
を含む請求項２１に記載の記憶媒体。
【請求項２５】
前記データトラフィックの伝送を許可する段階が、
前記ノードの全てのポートの状態をデータトラフィックブロッキング状態からデータトラフィック転送状態に変える段階を含み、
前記ノードは前記ポートを介して少なくとも２つの物理リングの動作セグメントに直接接続する請求項２４に記載の記憶媒体。
【請求項２６】
前記方法が、さらに、
前記物理リングの一つでの第２のセグメントにおいてデータトラフィックを伝送することに対する障害を検出する段階と、
第２のノードの全てのポートのうちの一つを除く全てのポートの状態をデータトラフィックブロッキング状態に変える段階であって該一つのポートを介して前記第２のノードが障害のないセグメントに直接結合される、段階と
を含む請求項２１に記載の記憶媒体。
【請求項２７】
前記方法が、さらに、
前記物理リングの一つでの切断を検出する段階と、
前記第２のノードの障害のないセグメントに直接結合しているポートの状態をデータトラフィックブロッキング状態からデータトラフィック転送状態に変える段階と
を含む請求項２６に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク通信の分野に関する。特に、本発明は、リングがセグメントを共用する複数リングベースブリッジネットワークの自動保護スイッチングシステムに関する。
【背景技術】
【０００２】
今日のメトロポリタンエリアネットワーク（ＭＡＮ）インフラストラクチャのほとんどが、光ファイバーネットワークのための規格である、アメリカ標準規格協会（ＡＮＳＩ）に採用されている同期式光ネットワーク（ＳＯＮＥＴ）に基づく。ＳＯＮＥＴは、全てのデータトラフィックを伝送するために１つの光ファイバーを使用し、第２の光ファイバーをスタンバイ状態にしておく。動作中の光ファイバーが障害を起こした場合には、ＳＯＮＥＴが自動的に障害を検出し、データトラフィックをスタンバイ中の光ファイバーに移す。
【０００３】
ネットワーキングサービスを提供するプラットフォームとしてＳＯＮＥＴを使用する別の方法は、イーサネット（登録商標）のようなブリッジネットワークを使用することである。イーサネットのようなバス及びリングネットワークに伴う問題は、ネットワークにおけるシングルポイント障害の可能性である。一般的な解決法は、ネットワーク内のノード間に１つより多い経路が存在するように冗長セグメント及びループを備えるネットワークを設計することである。しかしながら、冗長性及びループは、ブロードキャストパケット又は未知のユニキャストパケットにより該パケットを各ノードが受け取り且つ再送するブロードキャストストームが生じ、深刻なネットワーク輻輳が引き起こされる可能性があるという別の問題を呈示する。
【０００４】
ブロードキャストストームや他のルーピングの不要な副次的作用を防ぐ当業界で既知の１つの方法は、米電気電子学会（ＩＥＥＥ規格８０２．１Ｄ−１９９８、情報技術のためのＩＥＥＥ規格−システム間の電気通信及び情報交換−ローカル及びメトロポリタンエリアネットワーク−共通仕様）による８０２．１Ｄ仕様において標準化されているスパニングツリーアルゴリズムに基づくスパニングツリープロトコル（ＳＴＰ）を使用することである。ＳＴＰでは、ネットワーク内のブリッジ又はスイッチは、ループがなく且つネットワーク内の各ノードへの単一の１次経路を可能にするネットワークトポロジの最適のサブセットを動的に計算する。他の経路はブロックされるが、ＳＴＰによって選択された１次経路に障害が生じた時に通信をオープンに保持する必要に応じてブロックを解除することができる。ＳＴＰに関する重大な問題は、リンクが切断された時に障害の周りの別の経路を計算してトラフィックが正常に再転送するためには、例えば３０秒又はそれより多くのかなりの時間を要する可能性があることである。今日のローカルエリアネットワーク（ＬＡＮ）及びメトロポリタンエリアネットワーク（ＭＡＮ）で使用するにはこの性能のレベルは遅すぎる。
【０００５】
ＳＴＰを備えるイーサネットを使用した別の方法は、「Ｅｔｈｅｒｎｅｔ（登録商標）  Ａｕｔｏｍａｔｉｃ  Ｐｒｏｔｅｃｔｉｏｎ  Ｓｗｉｔｃｈｉｎｇ」という名称の本発明の譲受人に譲渡された２００１年１０月３１日出願の係属中の米国特許出願番号第０９／９９９，７９６に記載されている。この係属中の特許出願は、イーサネット自動保護スイッチング（ＥＡＰＳ）システムがリングトポロジを有するレイヤ２ネットワークでループを防ぐ方法を開示している。
【０００６】
ＥＡＰＳシステムは、単一のイーサネットリング上に１つ又はそれ以上のＥＡＰＳドメインを備える。ＥＡＰＳドメインは、物理リング上に構成される。ブリッジ、スイッチ、他のパケット転送装置、ネットワークサーバーコンピュータ、終端ステーション、或いはホストコンピュータなどのノードがリングに接続される。各ＥＡＰＳドメインに対して、マスターノードが指定される。リング上の他の全てのノードは通過ノードに指定される。マスターノードは、ネットワークの導入及びセットアップの時に構成することができる。マスターノード上では、１つのポートが１次ポートとして指定され、別のポートが２次ポートとして指定される。通常の動作では、マスターノードは、リング内のループを防ぐために２次ポートがデータトラフィックの送信又は受信をブロックする。これは、リングネットワークトポロジ上への標準イーサネットスイッチング及び学習アルゴリズムの配備及び使用を可能にする。マスターノードがリング障害を検出した場合には、その２次ポートをブロック解除し、イーサネットデータトラフィックのフレームが２次ポートを通過できるようにする。
【０００７】
ＥＡＰＳドメインによって保護されることになる仮想ローカルエリアネットワーク（ＶＬＡＮ）などの少なくとも１つの仮想ネットワークが同様にリング上に構成される。詳細には、仮想ネットワークは、リングに接続された各ノードの各ポート上に構成される。仮想ネットワークは、例えば制御仮想ローカルエリアネットワーク（ＶＬＡＮ）などの制御仮想ネットワークと、例えばデータＶＬＡＮなどの少なくとも１つのデータ仮想ネットワークとを含む。制御メッセージが、制御ＶＬＡＮにより伝送され、マスターノードの２次ポートを含む全てのノードの全てのポートを通過する。
【０００８】
マスターノードは、制御ＶＬＡＮを使用してマスターノードと通過ノードとの間に送られたこれらの制御メッセージによってネットワーク障害を検出する。上述のように、通常動作中、マスターノードはデータＶＬＡＮ上のデータトラフィックがその２次ポートをトラバースするのをブロックする。しかしながら、ネットワークに障害がある間は、マスターノードがデータＶＬＡＮ上のデータトラフィックを２次ポートを経由して再転送する。ネットワークが復旧され再び通常動作が可能になると、ＥＡＰＳシステムは、通常動作が再開しその２次ポートをブロックしていることをマスターノードが通過ノードに通知するまで、データＶＬＡＮ上のデータトラフィックをブロックすることによってデータトラフィックがネットワークをループしないようにする。
【０００９】
【特許文献１】２００１年１０月３１日出願の米国特許出願番号第０９／９９９，７９６公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
単一の仮想ネットワークが複数のリングにまたがる場合に問題が発生する可能性がある。各リングは、個別のＥＡＰＳドメインに関連しており、図１のリンク３のような他のリングと共用されるリングのセグメントによって互いに接続することができる。セグメントは、２つのノード間の１つ又はそれ以上のリンク及びノードを含むことができる。共用セグメントに障害がある時には、各それぞれのリングのマスターノードがその２次ポートのブロックを解除し、これにより仮想ネットワーク内の両方のリングにまたがるループが生成される。この問題に対処するための１つの方法は、セグメントをブロックするためにスパンニングツリープロトコル（ＳＴＰ）を用い、これによって複数リングネットワーク通ってデータトラフィックがループしないようにすることであるが、ＳＴＰとＥＡＰＳの両方を構成することは、ネットワークの構成と管理の両方を複雑にする。更に、ＳＴＰは、ＥＡＰＳに比べてネットワーク障害が発生した場合に新しいネットワークトポロジに収束するのが遅い。
【課題を解決するための手段】
【００１１】
本発明は、自動保護スイッチングアルゴリズムを使用して、リング間で共用されるセグメントに障害がある場合に、少なくとも２つのリングにまたがる仮想ネットワークのループを防止する。共用セグメント及びリングに接続されたノードは、データトラフィックを伝送できないセグメントの障害を検出し、障害の検出に応答してノードとリングの１つ以外の全てとの間のデータトラフィックの伝送を防ぐ。
【発明を実施するための最良の形態】
【００１２】
本発明を、必ずしも限定としてではない実施形態によって例証し、同じ参照番号が同じ要素を示す添付図面に示す。
図１は、イーサネットネットワークの複数リングトポロジを示す。データトラフィックによるネットワークのループを防止し、上記の背景技術で簡単に説明され以下により詳細に説明されるように、ネットワーク内の特定のセグメントに障害が発生した際に、ネットワーク内の全てのノードにデータトラフィックを継続して伝送できるようにするために、イーサネット自動保護スイッチング（ＥＡＰＳ）がネットワーク内に配備される。
【００１３】
図１において、物理リングが、リンク２を介したノード２０とノード２５の接続、リンク３を介したノード２５とノード４５の接続、リンク４を介したノード４５と４０の接続、リンク１を介したノード４０と２０の接続によって形成される。リングはイーサネット自動保護スイッチング（ＥＡＰＳ）システムによって保護される。従って、例えばリングに接続されたノードの１つのポートが故障したか、或いはセグメントが物理的に破壊された時に起こるようなリングのセグメントに障害がある場合に、ＥＡＰＳシステムは、セグメントの障害を検出し、リングの各ノードがリングの他のノードへデータトラフィックを引き続き伝送できるように可能な限りデータトラフィックを転送する。
【００１４】
特に、ノード２０、２５、４０、４５によって形成されたリングとネットワークセグメント１、２、３、４は、ＥＡＰＳドメイン１００に対応付けられる。ＥＡＰＳドメインは物理リング上に構成される。ユーザはＥＡＰＳドメインのノードの１つをマスターノードとして構成することができる。そのノードがマスターノードに指定され、他のノードは通過ノードとして指定される。ＥＡＰＳドメイン１００では、ノード４０がマスターノードＭに指定され、他のノード２０、２５、４５は通過ノードＴに指定される。ＥＡＰＳシステムによって保護されることになる仮想ローカルエリアネットワーク（ＶＬＡＮ）などの１つ又はそれ以上の仮想ネットワークは、ＥＡＰＳドメイン１００のノードの各ポート上に構成することができる。制御ＶＬＡＮは、ＥＡＰＳ制御パケットを伝達するＥＡＰＳドメインのノードの全てを通過することができる。１つ又はそれ以上のデータＶＬＡＮを、ＥＡＰＳシステムを保護するためにＥＡＰＳドメインのノードの全てに加えることができる。リング上には１つより多いＥＡＰＳドメインが存在できる。リング上の各ＥＡＰＳドメインは、その固有の制御ＶＬＡＮ及びデータＶＬＡＮを有する。ＥＡＰＳドメインと制御ＶＬＡＮの間には１対１マッピングがある。
【００１５】
ＥＡＰＳドメイン１００のリング上の各ノードは、そのリングに接続された２つのポートを有する。例えばノード２０は、ポート２１によってリングのセグメント２に接続され、ポート２２によってリングのセグメント１に接続される。同様に、ノード２５はポート２８、２７によってそれぞれセグメント２、３に接続され、マスターノード４０は、ポート４１、４２によってそれぞれセグメント１及び４に接続され、ノード４５はポート４６、４７によってそれぞれセグメント４及び３に接続される。
【００１６】
ユーザは、どちらのセグメントを通常動作中にブロックしたいかに基づいて２つのポートの１つを２次ポートとして構成することができる。例えば、マスターノード４０のポート４２が１次ポートとして構成され、ポート４１は２次ポートとして構成される。通常動作中、マスターノード４０は、全ての非制御イーサネットフレーム、すなわちデータトラフィックを含む全てのイーサネットフレームに対して２次ポートをブロックし、これによりリング内のループを防ぎ、リング上の既存の、標準イーサネットブリッジング、スイッチング、学習アルゴリズムの使用を可能にする。特に、マスターノード４０は２次ポート４１上に構成されたいずれのデータＶＬＡＮにも関連するデータトラフィックをブロックする。（ポートのブロックに対する本明細書での他のいずれの言及も、このようなポート上に構成されたデータＶＬＡＮのデータトラフィックをブロックすることであると同時に、同様のポート上に構成された制御ＶＬＡＮの任意の制御トラフィックはブロックしないものとして理解されたい。）
【００１７】
図１の破線１０１は、マスターノード４０の２次ポート４１をブロックすることによって、セグメント１のノード２０と４０との間のデータトラフィックの送受信がブロックされることを示す。結果として、特定のユニキャストとブロードキャストデータトラフィックの不要な伝送を防ぐために、標準透過ブリッジング及び学習アルゴリズムによって要求される時には、セグメント２、３、４によって定められるノード２０、２５、４０、４５の間に単一の経路だけが存在する。
【００１８】
マスターノード４０がセグメント１、２、３、４によって形成されたリングの障害を検出する場合、マスターノード４０は２次ポート４１のブロックを解除し、イーサネットデータトラフィックがそのポートを通過できるようにする。例えば、セグメント４に障害が存在する場合には、マスターノード４０がポート４１のブロックを解除し、これによってセグメント１、２、３によって形成された単一の経路を経由するノード４０、２０、２５、４５間の接続性を維持する。
【００１９】
ＥＡＰＳシステムは、ＥＡＰＳドメイン１００の制御ＶＬＡＮなどの制御仮想ネットワークを備える。制御メッセージが、制御ＶＬＡＮを使用してマスターノード４０と通過ノード２０、２５、４５間で交換される。これらの制御メッセージは、マスターノード４０の２次ポート４１を含むＥＡＰＳドメインのノードの全てのポートを通過する。
【００２０】
ＥＡＰＳドメイン１００の任意の通過ノード、例えば通過ノード２０が、ポート２１に接続されたセグメント２のように、もはや動作していないか、或いはダウンしているそのポートの１つに直接接続されたセグメントを検出した場合には、通過ノードは、セグメントがダウンしていることを示す制御メッセージを制御ＶＬＡＮによってマスターノード４０に送る。マスターノード４０は、セグメントがダウンしていることを示す制御メッセージを受け取り、これによってＥＡＰＳドメイン１００に関連したリング上で障害が発生したことを検出して、データトラフィックへの２次ポート４１のブロックを解除する。次いで、マスターノード４０は、ブリッジングテーブルをフラッシュし、制御ＶＬＡＮによってＥＡＰＳドメイン１００の通過ノードに制御メッセージを送り、リングのトポロジが変わってから、ブリッジングテーブルのフラッシュを実行するように該通過ノードに命令する。通過ノードのブリッジングテーブルをフラッシュした後直ちに、マスターノード４０と通過ノード２０、２５、４５は標準ブリッジング技術に使用される学習アルゴリズムに従って新しいリングトポロジの学習を開始する。
【００２１】
マスターノード４０は、同じＥＡＰＳドメインの通過ノードによってリング障害のアラートを受けることに加え、例えばユーザ設定可能な時間間隔に従って周期的に制御メッセージを１次ポート４２から制御ＶＬＡＮに送ることによって、リングの状態をポーリングしてリングの状態をチェックすることもできる。リングが完成している場合には、制御メッセージは２次ポート４１で受け取られることになり、マスターノード４０は通常動作を継続する。
【００２２】
他方、一定期間後に制御メッセージが受け取られなかった場合には、マスターノード４０はリングに障害があるとみなして、データトラフィックに対する２次ポート４１のブロックを解除し、ブリッジングテーブルをフラッシュし、制御ＶＬＡＮによってＥＡＰＳドメイン１００の通過ノードに制御メッセージを送り、リングのトポロジが変わってからブリッジングテーブルのフラッシュをするように通過ノードに命令する。通過ノードのブリッジングテーブルをフラッシュした後直ちに、マスターノード４０と通過ノード２０、２５、４５は標準ブリッジング技術に使用される学習アルゴリズムに従って新しいリングトポロジの学習を開始する。このリングポーリング技術は、セグメントがダウンしたことをマスターノード４０にアラートする通過ノードから送られた制御メッセージが迷うか、或いはマスターノード４０によって検出されなかった場合にバックアップを提供する。
【００２３】
マスターノード４０は、障害がリングに存在すると検出した場合にでもリングの状態をチェックする制御メッセージを制御ＶＬＡＮによって１次ポート４２から周期的に送り続ける。これを実行している場合、マスターノード４０は、リングを回ってメッセージ伝送が完了した時に、２次ポート４１で制御メッセージを受け取ることによってリングが復旧した時間を検出する。マスターノード４０がリングの完成を検出すると、マスターノード４０は２次ポート上のデータトラフィックをブロックし、そのブリッジングテーブルをフラッシュし、かつ、リングのトポロジが変わってから、ブリッジングテーブルのフラッシュをするように制御ＶＬＡＮによって制御メッセージを通過ノード２０、２５、４５に送る。通過ノードのブリッジングテーブルをフラッシュした後直ちに、マスターノード４０と通過ノード２０、２５、４５は標準ブリッジング技術に使用される学習アルゴリズムに従って新しいリングトポロジの学習を開始する。
【００２４】
セグメント２のような直接接続されたセグメントの動作復旧を通過ノード２０などの通過ノードが検出してから、リングの状態をチェックするために制御ＶＬＡＮによって予め送られた制御メッセージをマスターノード４０が２次ポート４１で受け取るまでの間、ある時間がかかる可能性がある。この時間中、マスターノード４０の２次ポート４１はブロックが解除されたままである。このシナリオは一時的にリングのループが発生する可能性を示す。
【００２５】
リングの一時的なループの可能性を排除するために、直接接続されたセグメントが動作復旧されたことを検出すると、通過ノードは、該通過ノードを復旧されたセグメントに直接接続するポートに関連したいずれのデータＶＬＡＮも暫定ブロック状態に遷移させる。更にノードはプリフォワーディング状態へ遷移し、この状態においてはどのようなデータトラフィックの転送も一時的に停止する。プリフォワーディング状態にある通過ノードが、ブリッジングテーブルをフラッシュするよう命令する制御メッセージをマスターノード４０から受け取った場合、通過ノードはそのブリッジングテーブルをフラッシュし、新しく復旧されたポート上のどのようなブロックされたデータＶＬＡＮもブロック解除し、通常の動作状態に遷移する。
【００２６】
図１は、ノード２０、２５、４０、４５とこれらの対応する相互接続されるセグメントによって形成されたＥＡＰＳドメイン１００のリングに付加された３つのリングを示す。例えば、固有のＥＡＰＳドメイン１１０を有する第２のリングは、ノード２５、３０、４５、５０と対応するセグメント３、５、６、７とによって形成される。ノード５０はＥＡＰＳドメイン１１０のマスターノードであり、ノード２５、３０、４５は該ドメインの通過ノードである。第３のＥＡＰＳドメイン１２０の第３のリングは、セグメント６、８、９、１０によって相互接続された通過ノード３０、５０、５５及びマスターノード６０から成る。最後に、ノード３０、３５、５０、６５とセグメント６、１１、１２、１３によって形成された第４のリングは、マスターノードとしてのノード６５と通過ノードとしての他の３つのノード（すなわちノード３０、３５、２０）とを備える別のＥＡＰＳドメイン１３０で構成される。
【００２７】
ＥＡＰＳドメイン１１０、１２０、１３０のリングの動作と、各ＥＡＰＳドメインのＥＡＰＳシステムの動作とは、上述のようなＥＡＰＳドメイン１００のリング及びＥＡＰＳシステムの動作と同一である。ＥＡＰＳドメイン１１０では、マスターノード５０が、通常動作においてデータトラフィックに対して２次ポート５１をブロックし、図１の破線１１１で示されるように効果的にセグメント７をブロックする。ＥＡＰＳドメイン１２０では、マスターノード６０が、破線１２１で示されるようにデータトラフィックをセグメント９に伝送するのを防ぐため２次ポート６１をブロックする。最後に、ＥＡＰＳドメイン１３０において、マスターノード６５が２次ポート６７をブロックして、破線１３１で示されるようにデータトラフィックに対してセグメント１２をブロックする。
【００２８】
図１に示される複数リングトポロジは、ノード間の冗長な接続を有するが、各ＥＡＰＳドメインに配備されるＥＡＰＳシステムは、各ＥＡＰＳドメインのマスターノードの２次ポートをブロックすることによりネットワーク内の任意の２つのノード間に単一の経路だけを形成する。
【００２９】
リングは、各々が同じか又は異なるノードである固有のマスターノードを備え、且つリングの空間的再利用を保護し且つ促進する固有の１つ又はそれ以上のデータＶＬＡＮを備える複数のＥＡＰＳドメインで構成することができる。更に、ノードは１つより多いリングに属することができ、従って、１つより多いＥＡＰＳドメインに属することができる。例えば、ノード２５、４５はＥＡＰＳドメイン１００のリングのメンバであると同時にＥＡＰＳドメイン１１０のリングのメンバでもある。同様に、ノード３０、５０は、３つのリング、すなわちＥＡＰＳドメイン１１０のノード及び相互接続されたセグメントによって形成されたリング、ＥＡＰＳドメイン１２０のリング、ＥＡＰＳドメイン１３０のリングのメンバである。
【００３０】
１つの実施形態では、ノードが属する各ＥＡＰＳドメインは、ＥＡＰＳプロトコルの別々のインスタンス、すなわち１つのＥＡＰＳドメインにつき１つのインスタンスを走らせるノードを必要とする。従って、例えば図１で、ノード２０、３５、４０、５５、６０、６５はＥＡＰＳプロトコルの１つのインスタンスを走らせるが、ノード２５、４５はＥＡＰＳドメイン１００、１１０の２つのインスタンスを走らせ、ノード３０、５０はＥＡＰＳドメイン１１０、１２０、１３０の３つのインスタンスを走らせる。
【００３１】
上述のように、各リングは単一のＥＡＰＳドメインに対応しており、単一のＥＡＰＳドメインは１つ又はそれ以上のデータＶＬＡＮをサポートすることができる。しかしながら、単一のＶＬＡＮが、複数のＥＡＰＳドメインにまたがることもできる。例えば、異なるリングに接続されたエンドユーザノードが互いに通信する機能を与えられることになる場合には、ＶＬＡＮは両方のリング、エンドユーザノードが接続される相互接続リング上のどのような媒介物も包含する必要がある。
【００３２】
複数のリングが相互接続される場合、隣接するリングはセグメントを共用する。例えば、図１に示される各リングは別のリングと共に少なくとも１つのセグメントを共用する。例えばセグメント３は、ＥＡＰＳドメイン１００内のノード２０、２５、４０、４５から形成されたリング、並びにＥＡＰＳドメイン１１０内のノード２５、３０、４５、５０から形成されたリングによって共用される。同様に、セグメント６はＥＡＰＳドメイン１１０、１２０、１３０内のリング間で共用される。
【００３３】
図１で、複数のＥＡＰＳドメインにまたがるデータＶＬＡＮにおいてＥＡＰＳドメイン間ループが形成される可能性がある。例えば、データＶＬＡＮが図示された全ネットワークトポロジにまたがる場合には、リング（及び複数のＥＡＰＳドメイン）間で共用セグメントに障害がある時にデータＶＬＡＮにおいてループが形成される可能性がある。
【００３４】
これを実証するために、まず各ＥＡＰＳドメイン内のそれぞれのマスターノードによってブロックされたセグメントに対して全ネットワークにまたがるデータＶＬＡＮによってデータトラフィックを伝送するように示されている図１のセグメントに注目し、次いで、共用セグメントに障害がある場合にネットワークトポロジに起こることを図２について考察する。
【００３５】
図１で、ブロックされていないセグメント２、３、４、５、６、８、１０、１１、１３によるノードの相互接続によって単一の経路がネットワークの全てのノード間に存在する。セグメント１、７、９、１２は、マスターノードがセグメント１、７、９、１２に直接接続されたマスターノード４０、５０、６０、６５のそれぞれの２次ポート４１、５１、６１、６７をブロックすることによりマスターノードによって本質的にブロックされる。
【００３６】
例えば、ノード３０上のポート３４又はノード５０上のポート５２の障害、又は光ファイバーケーブルが切断された場合に起こり得るようなセグメント自体の障害に起因して、共用セグメント６に障害がある（図２のセグメント６に重ねた「Ｘ」で示される）場合、本明細書に説明されるＥＡＰＳシステムによるマスターノード５０は、ＥＡＰＳドメイン１１０のノードがセグメント７を使用して互いに通信し続けられるように該マスターノードの２次ポート５１のブロックを解除する。図２は、図１にある破線１１１が無いことによりセグメント７がブロック解除されていることを示している。同様に、マスターノード６０は、ＥＡＰＳドメイン１２０の２次ポート６１のブロックを解除し、このためセグメント９はデータトラフィックを伝達し（図１の破線１２１が図２では無くなっている点に注意）、更にＥＡＰＳドメイン１３０のマスターノード６５は、その２次ポート６７のブロックを解除し、従って、セグメント１２によってデータトラフィックを再転送することができる（図２の破線１３１が無いことによって示される）。
【００３７】
結果として、データＶＬＡＮのループは、ブロックされていないセグメント３、５、８、９、１０、７の相互接続によって形成される。更に、データＶＬＡＮの第２のループは、ブロックされていないセグメント３、５、１１、１２、１３、７の相互接続によって形成される。データＶＬＡＮの第３のループは、ブロックされていないセグメント８、１１、１２、１３、１０、９の相互接続によって形成される。（対照的に、ＥＡＰＳドメイン１００、１１０のリングによって共用セグメント、すなわちセグメント３には障害が生じなかったので、ＥＡＰＳドメイン１００、１１０を含むデータＶＬＡＮの部分にはループは形成されない。）上述のように、冗長性とループは、ブロードキャストパケット又は未知のユニキャストパケットにより各ノードが該パケットを受け取り且つ再送するブロードキャストストームが生じ、深刻なネットワーク輻輳が引き起こされる可能性があるという別の問題を呈示する。
【００３８】
図３に関して、ＥＡＰＳドメイン１１０、１２０、１３０のリングによる共用セグメント６の障害の結果として、複数のリングにまたがるデータＶＬＡＮにおける不要なループの問題を解決する本発明の実施形態について説明する。共用セグメントの一方端に直接接続された一方のノードはコントローラノードとして構成され、共用セグメントの他端に直接接続された他方のノードはパートナーノードとして構成される。コントローラノードは、共用セグメントに障害がある場合にポートをブロッキング状態に遷移させるよう制御する。共用セグメントは、ネットワークのリンクを一意的に識別するリンク識別子（ＩＤ）を備えるよう構成することができる。共用セグメントの各エンドポイントノードは、該共用セグメントを一意的に識別するリンクＩＤを備えるよう構成される。図３で、共用セグメント６の一方端に直接接続されたノード３０は、コントローラノードとして構成され、共用セグメント６の他端に直接接続されたノード５０はパートナーノードとして構成される。このような指定は、ノードが属するＥＡＰＳドメインの通過ノード又はマスターノードとして該ノードが構成されるかどうかに関係なく行なわれる点に留意されたい。
【００３９】
コントローラノードとパートナーノードは、共用セグメントに直接接続されることで、上で説明された機能に加えて通過ノードとマスターノードしての機能を果たす。コントローラノードは、各ＥＡＰＳドメインに対して制御ＶＬＡＮによってパートナーノードに周期的な制御メッセージを送り、セグメントと共用セグメントの両方の状態をチェックする。パートナーノードは、共用セグメントを介して各ＥＡＰＳドメインの対応するコントローラノードに周期的な制御メッセージを送る同様のことを行い、セグメントの状態をチェックする。コントローラノードが特定のＥＡＰＳドメイン上のパートナーノードから状態をチェックする制御メッセージを受け取る場合、コントローラノードは、このような受け取りから該ＥＡＰＳドメイン上でのパートナーまでのセグメントが動作していると判断する。同様に、パートナーノードがセグメントの状態をチェックする制御メッセージを受け取った場合は、各ＥＡＰＳドメインのコントローラノードまでのセグメントが動作していると判断する。制御メッセージを使用してセグメントの状態をチェックすることに加えて、メッセージはまた、送信ノードの状態、パートナーノード又はコントローラノードのいずれであるかなどの他の情報を含むことができる。
【００４０】
セグメント６の場合には、該セグメントは３つのＥＡＰＳドメイン１１０、１２０、１３０間で共用されるので、共用セグメントのコントローラノードとして指定される通過ノード３０は、各ＥＡＰＳドメイン上で制御メッセージをパートナーノード５０に周期的に送る。パートナーノード５０は同様に、各ＥＡＰＳドメインのコントローラノード３０に制御メッセージを周期的に送る。制御メッセージの送信の時間は設定可能とすることができ、１秒まで設定できる。パートナーノードとコントローラノードとが、これらが属する各ＥＡＰＳドメインにおいて共用セグメント上で周期的にこれらの制御メッセージを正常に交換している限り、ノードはレディ状態にあり正常に動作しているとみなされる。しかしながら、制御メッセージが設定可能な時間（例えば３秒）内で共用セグメントを介してコントローラノード３０で受け取られない場合には、タイマーが終了し、共用セグメントがダウンしていることをコントローラノードに示す。
【００４１】
或いは、２つの他の状況により共用セグメントがダウンしていることを通知することができる。ハードウェアの割り込みにより、共用セグメントの障害を即時に通知する。また、ノードが該セグメント上の別のノードからリンクダウンメッセージを受け取ることもできる。
【００４２】
コントローラノードが共用セグメントのダウンを検出した場合、動作中のセグメントに接続された１つ以外の全ての他のポートをブロッキング状態に遷移させる。例えば、コントローラノード３０はポート３３をブロックし、これによってセグメント８がデータトラフィックを伝送するのを効率よくブロックし（図３の破線３２１で示されるように）、ポート３２をブロックし、セグメント１１がデータトラフィックを伝送するのを防ぐ（図３の破線３３１で示されるように）。結果として、共用セグメント１２０に障害がある場合に、ＥＡＰＳドメイン１１０、１２０、１３０にまたがるデータＶＬＡＮに形成されるはずの２つのループが防止される。実際、このようなループは、複数のＥＡＰＳドメインにまたがる各ＶＬＡＮについて防止される。他方、コントローラノード３０のポート３１は、アクティブなオープン状態に維持され、場合によってはネットワーク内の他のノードと1つ又は複数のデータＶＬＡＮによりデータのフレーム又はパケットをアクティブに交換する。図３に示されるように、ネットワーク内の任意の２つのノード間で単一の経路が維持される。
【００４３】
上記に提供された実施形態において、ポート３２及び３３はブロックされ、コントローラノード３０のポート３１がアクティブなオープン状態に保持されているが、３つのポート３１〜３３の１つ以外の全ての任意の組合せをブロックし、残るポートをアクティブなオープン状態に保持することによって同じ結果を達成できる点に留意されたい。セグメント５に加えて、ブロックされていないセグメント１１又は８のいずれかと、ブロックされた他のセグメントとによって別のネットワークトポロジを形成することができるが、依然としてネットワーク内の任意の２つのノード間で単一の経路を維持することができる。
【００４４】
共用セグメントが復旧し再びバックアップされると、コントローラノードはブロッキング状態からプリフォワーディング状態に変化し、該プリフォワーディング状態では、ループを防止するために全てのセグメント上のマスターノードが適切なポートをブロックするまで、どのようなデータトラフィックの転送も一時的に停止する。次いでコントローラノードは正常動作状態に遷移する。
【００４５】
図３に関連して提供される本発明の実施形態の例は、物理的共用セグメントに限定されないことを理解されたい。むしろセグメント６のような共用セグメントを光ファイバーとすることができ、同様に共用セグメントをノード３０、５０の中間にあるノード（図示せず）によって相互接続された一連のセグメントとすることができる。
【００４６】
図４は、ネットワークの複数のセグメントに障害がある状態を示す。図４では、共用セグメント６及びセグメント７においてデータトラフィックを伝送することができない。これによりノード３０はポート３１を転送すなわちオープン状態にする。ノード３０は接続性を維持するためにポート３２のブロックを解除し、これによってポート３２をアクティブなオープン状態にする。
【００４７】
図５は、ネットワーク内の複数のセグメントに障害がある状態を示している。図５では、共用セグメント６とセグメント９がデータトラフィックを伝送することができない。これによりノード３０はポート３１を転送又はアクティブなオープンの状態にする。ポート３０は接続性を維持するためにポート３３のブロックを解除し、これによってポート３３をオープンの状態にする。
【００４８】
図６は、ネットワーク内の複数の共用セグメントに障害がある状況を示している。図６では、共用セグメント６と３がデータトラフィックを伝送することができない。これによりマスターノード４０は２次ポート４１のブロックを解除し、その結果セグメント１がデータトラフィックを伝達する。ノード３０は、ポート３１を転送又はオープンの状態にして、ポート３２のブロックを解除してアクティブなオープン状態にし、接続性を維持するようにする。ポート３３はブロックされたままである。ノード２５は、図４に関して上記に説明されたように、ポート２６を転送又はオープンの状態に保持し、ポート２８を転送又はアクティブなオープンの状態に保持する。結果として、ブロックされていないセグメント１、２、５、１１、１２、１３、７、４の相互接続によってデータＶＬＡＮ内のループが形成される。
【００４９】
このループを防ぐために、ネットワーク内の１つのコントローラノードがルートブロッカーに指定される。ルートブロッカーは、リンクＩＤのような情報を交換することによってブロッキング状態の複数のコントローラノードの中から動的に決定することができる。最も低いリンクＩＤを有するコントローラノードをルートブロッカーとして指定するなど、ルートブロッカーを指定する際に種々の基準を用いることができる。図７は、ネットワーク内にルートブロッカーを実装する本発明の実施形態を示す。図７では、リンク３、６の両方がダウンしている。コントローラノード２５はコントローラノード３０（ＩＤが２）より低いリンクＩＤ（ＩＤが１）を有するので、コントローラノード２５がルートブロッカーに指定される。ルートブロッカーは、１つのポートを転送状態のまま保持し、セグメントがダウンしていない全ての他のポートをブロックする。ルートブロッカーは、ブロッキング状態にある隣接するノードに直接接続されたポートを転送状態に保持する。例えばノード２５はポート２６を転送状態に保持し、ポート２８をブロックする。ポート２８をブロックすることによって、セグメント２は、データトラフィックの伝達がブロックされる（図７の破線５０１によって示される）。これは図６に関して上記に説明されたループを切断する。
【００５０】
図８は、ルートブロッカーによって切断されたネットワークの問題を解決する本発明の実施形態を示す。図８では、セグメント３、６がダウンしている。この状態は図７に関して上記で説明されている。次にセグメント７もダウンする。これによって、ＥＡＰＳドメイン１００がもはやＥＡＰＳドメイン１３０と通信することができないことから、切断されたネットワークとなる。
【００５１】
この問題を解決するために、ルートブロッカーはＥＡＰＳドメイン全体にわたって周期的な経路検出メッセージを送信する。各メッセージを送る時間間隔は設定可能である。例えば、ノード２５がルートブロッカーになると、１秒に１つの経路検出メッセージを送信することができる。経路検出メッセージがルートブロッカーに戻る場合には、ネットワークの周りに有効な経路が存在し、ネットワークは完全な接続性を有することになる。経路検出メッセージが、設定可能な時間内、例えば３秒でルートブロッカーに戻らない場合には、タイマー切れとなり、ネットワーク内に切断箇所が存在することを示す。これにより、ルートブロッカーはイナクティブ状態になり、これまでブロックされていたポートのブロックを解除する。
【００５２】
例えば、セグメント７がダウンする時は、ネットワーク内に切断箇所が存在する。従って、ノード２５によって送信された経路検出メッセージはノード２５には戻らないことになる。これは、ノード２５に対してネットワーク内に切断箇所が存在するのでノード２５が停止状態になることを示している。次いで、ノード２５は、該ノード２５がルートブロッカーになった時にブロックされていたポート２８のブロックを解除する。ポート２８のブロックを解除することによって、セグメント２はデータトラフィックを伝達するようになり、ネットワーク内の完全な接続性が存在するようになる。
【００５３】
図９は例示的なネットワークトポロジを示す。この実施形態では、４つのＶＬＡＮ４１０、４２０、４３０、４４０がある。ＶＬＡＮ４１０、４３０は、ノード２００、２１０、２２０、２３０、２４０、２５０、２６０、２７０を包含する。ＶＬＡＮ４２０は、ノード２００、２１０、２５０、２７０を包含する。ＶＬＡＮ４４０は、ノード２００、２３０、２４０、２５０を包含する。３つのＥＡＰＳドメイン３１０、３２０、３３０がある。ＥＡＰＳドメイン３１０は、ＶＬＡＮ４１０、４３０を保護し、固有の制御ＶＬＡＮを有する。ＥＡＰＳドメイン３２０はＶＬＡＮ４１０、４２０、４３０を保護する。ＥＡＰＳドメイン３３０はＶＬＡＮ４１０、４３０、４４０を保護する。ＥＡＰＳドメイン３１０と同様に、ＥＡＰＳドメイン３２０及び３３０の各々は、それぞれの制御ＶＬＡＮを有する。
【００５４】
図９に関して、本発明の実施形態は、異なるＥＡＰＳドメインのリングによって共用されるセグメントの障害の結果として、複数のリングにまたがるデータＶＬＡＮの不要なループの問題を解決する。例えば、ノード２００は、共用セグメントの一方端に直接接続されてコントローラノードとして構成され、一方、共用セグメントの他端に直接接続されたノード２５０は、パートナーノードとして構成される。コントローラノードとしてのノード２００は、共用セグメントに障害がある場合にポートをブロッキング状態に遷移させるよう制御する。
【００５５】
図１０は、本発明の実施形態によるノード２００のデータ構造を示す。ノード２００では、共用されるポートはポート２０４であり、これは３つのＥＡＰＳドメイン全てに対する１次ポートである。ポート２０１は、ＥＡＰＳドメイン３１０の２次ポートであり、ポート２０２はＥＡＰＳドメイン３２０の２次ポートであり、ポート２０３はＥＡＰＳドメイン３３０の２次ポートである。複数のブリッジインターフェース（ＢＩＦ）５１０−５８０の各々は、ポート２０１−２０３の１つにおけるＶＬＡＮ４１０−４４０の１つを論理的に表す。
【００５６】
複数のリンクリストは、複数のＶＬＡＮ及びＢＩＦをリンクする。例えば、単方向のリンクリストはＶＬＡＮ４１０−４４０をリンクする。このリンクリストのヘッドには、ノード２００に関する種々の情報を有するデータ構造がある。この情報は、ＥＡＰＳドメインによって共用されるポートの識別、ＥＡＰＳによって保護されるＶＬＡＮのリスト、セグメントポートのリスト、ＥＡＰＳ共用ポート（ＥＳＰ）状態、ルートブロッカー状態、タイマー、最下位ブロッキングドメイン（ＬＢＤ）を含むことができる。この実施形態では、共用されるポートはポート２０４である。セグメントポートは、ポート２０１、２０２、２０３を含むＥＡＰＳドメインに接続するノード２００の他のポートである。ノード２００でＥＡＰＳによって保護されるＶＬＡＮは、ＶＬＡＮ４１０、４２０、４３０、４４０である。ノード２００がコントローラノードであれば、ＥＳＰ状態は、以下の、アイドル、レディ、ブロッキング、又はプリフォワーディングのうちの１つである。ノード２００がパートナーノードであれば、ＥＳＰ状態は、以下の、アイドル、レディ、又はブロッキングのうちの１つである。ルートブロッカー状態は、以下の、偽、アクティブ、又はイナクティブのうちの１つである。偽ルートブロッカー状態は、ノード２００がルートブロッカーでないことを示す。アクティブルートブロッカー状態は、ノード２００がルートブロッカーであり、ループを防ぐために現在リンクをブロック中であることを示している。イナクティブ・ルートブロッカー状態は、ノード２００がルートブロッカーであるが、リンクのブロック解除がネットワーク内の接続性を維持するのに必要であるという経路検出メッセージからの指示を受け取っているためにループリンクをアクティブにブロックしていないことを示す。ＬＢＤは、ネットワーク内の全てのブロックしているノードの中で最も小さなリンクＩＤとすることができる、ルートブロッカーのリンクＩＤである。
【００５７】
同じセグメントポートに関連するＢＩＦは、双方向にリンクリストによってリンクされる。このリストのヘッドには各ＥＡＰＳドメインに関する種々の情報を有するデータ構造がある。この情報は、ＥＡＰＳドメインとセグメントポートの識別、状態、タイマー、隣接するブロッキングＩＤ、セグメントＬＢＤを含むことができる。状態は、以下の、セグメントアップ、セグメントダウン、セグメントアップによるブロッキング、セグメントダウンによるブロッキングのうちの１つである。隣接するブロッキングＩＤは、現在ブロッキング状態にある隣接するノードのリンクＩＤである。セグメントＬＢＤは、これまでこのセグメントで学習されてきたネットワーク内の最下位ブロッキングドメインであり、これはこれまで学習されてきた最も小さいリンクＩＤとすることができる。
【００５８】
また双方向リストは、ＶＬＡＮを該ＶＬＡＮに関連するＢＩＦとリンクする。ＶＬＡＮ、ＥＡＰＳドメインデータ構造、他のＢＩＦへのポインタを有することに加えて、各ＢＩＦは、状態を含む他のデータを包含する。この状態は、以下の、アクティブオープン、オープン、ブロック、又はダウンのうちの１つである。ＢＩＦの状態は、リンクリストをトラバースしてポートとセグメントに関するデータを取得することによって設定することができる。例えば、ＶＬＡＮ４３０に関連するポートとセグメントの状態をチェックするために、ＶＬＡＮ４３０に関連するＢＩＦをリンクするリストを下側方向にトラバースすることができる。最初に、ＢＩＦ５２０がチェックされる。ＢＩＦ５２０からＥＡＰＳ３１０のデータ構造へのポインタが、セグメントの状態についての情報を取得するためにたどられる。セグメントがアップである場合には、ポート２０１がアクティブオープンポートとして選択することができ、ＢＩＦ５２０の状態がアクティブオープンに設定される。次に、リスト上の次のＢＩＦであるＢＩＦ５５０がチェックされる。ＢＩＦ５５０からＥＡＰＳ３２０のデータ構造へのポインタが、セグメントの状態についての情報を取得するためにたどられる。セグメントがアップである場合には、ポート２０２がブロックされ、ＢＩＦ５５０の状態がブロック状態に設定される。セグメントがダウンである場合には、ＢＩＦ５５０はオープン状態に設定される。次に、リスト上の次のＢＩＦであるＢＩＦ５７０がチェックされ、その状態が同様にして設定される。
【００５９】
図１１は、本発明の実施形態による例示的なパケットフォーマット６００を示す。図のように、イーサネットヘッダを備える制御パケットは、ＥＳＰ  ＰＤＵタイプ６１０、制御ＶＬＡＮ  ＩＤ６２０、ＥＳＰモード６３０、ＥＳＰリンクＩＤ６４０を含む種々のフィールドを有する。ＥＳＰ  ＰＤＵタイプ６１０は、種々のノード間で送信される制御メッセージのタイプを定義する。制御メッセージのタイプは、セグメントヘルスチェックメッセージ、経路検出メッセージ、又はフラッシュ通知メッセージを含むことができる。セグメントヘルスチェックメッセージは、周期的に単一のＥＡＰＳドメイン内のノード間で送信され、セグメントの状態を決定し、送信ノードの状態などの他の関連情報を伝達する。経路検出メッセージは、ネットワーク全体に対する接続性を有するかどうかを判断するためにルートブロッカーによって使用される。フラッシュ通知メッセージは、ネットワーク全体をフラッシュするためにコントローラノードによって送られる。経路検出メッセージとフラッシュ通知メッセージは、ＥＡＰＳドメイン間のメッセージであり、同様の経路をたどる。
【００６０】
制御ＶＬＡＮ  ＩＤ６２０は、どのＶＬＡＮが制御ＶＬＡＮであるかを識別する。ＥＳＰモードは、ノードがコントローラノード又はパートナーノードのいずれであるかを示す。ＥＳＰリンクＩＤは、ノードに関連するリンクＩＤを識別する。他の種々のフィールドは、制御パケットヘッダに含むことができる。例えば、ＥＳＰ  ＰＤＵタイプ６１０がセグメントヘルスチェックであれば、ＥＳＰ状態のフィールドを追加することができる。ＥＳＰ状態は、以下の、アイドル、レディ、ブロッキング、又はプリフォワーディングのうちの１つである。ブロッキングＩＤフィールドは、ネットワークのステータスをチェックするために含むことができ、ブロッキング状態にあるノードのリンクＩＤを示す。ＬＢＤフィールドは、これまで学習されてきた最も低いブロッキングドメインを示すために含むことができ、該フィールドはこれまで学習されてきた最も低いリンクＩＤとすることができる。システムＭＡＣアドレスフィールドなどの他のフィールドもまた、関連情報を提供するために含むことができる。
【００６１】
図１２は、本発明の特定の態様を実施することができる好適なコンピュータ環境の１つの実施形態を示す。上述のノードのいずれもがコンピュータシステム１２００に実装することができる。コンピュータシステム１２００の構成要素１２０１−１２０８は、当該技術分野で公知のこれらの従来の機能を果たし、本明細書で説明されたＥＡＰＳシステムを実現する手段を提供する。全体として、これらの構成要素は、限定ではないが汎用コンピュータシステムからより高度に専門化されたネットワークスイッチに及ぶハードウェアシステムの広範なカテゴリーを表すことが意図される。
【００６２】
コンピュータシステム１２００は、バス１２０８によって互いに結合された、プロセッサ１２０１、入出力装置１２０４、メインメモリ１２０２、フラッシュメモリ１２０３を含む。１つ又はそれ以上のシステムメモリ（ＲＡＭ）と不揮発性記憶素子（例えば磁気又は光ディスク）を含むことができるメインメモリ１２０２は、プロセッサ１２０１が使用する命令とデータを記憶する。更に、ネットワークインターフェース１２０７、データ記憶装置１２０６、スイッチファブリック１２０５は、バス１２０８を介して互いに結合されている。データ記憶装置１２０６は、ＥＡＰＳシステムのマスターノードと通過ノードの状態レジスタや転送データベース、さらにはネットワークパケット又はメッセージを転送するためにスイッチファブリック１２０５によって使用されるパケットバッファなどの他の記憶領域を表すことができる。ネットワークインターフェースは、マスターノード１０５の１次ポート１０６と２次ポート１０７、さらにはＥＡＰＳシステムの通過ノードのリングポートを含んでもよい。
【００６３】
コンピュータシステム１２００の種々の構成要素は再配置することができ、本発明の特定の実施形態は、上記の構成要素の全てを必要とせず、また含まなくてもよいことを理解されたい。更に、付加的なプロセッサ（例えばデジタル信号プロセッサ）、記憶装置、メモリ、ネットワーク／通信インターフェースなどの付加的な構成要素を、システム１２００に含むこともできる。
【００６４】
本発明は、コンピュータシステム１２００によって実行される一連のソフトウェアルーチンとして実現することができる。これらのソフトウェアルーチンは、プロセッサ１２０１などのハードウェアシステムにおける処理システムによって実行されることになる幾つかの又は一連の命令を含む。最初に、一連の命令は、データ記憶装置１２０６、メモリ１２０２、又はフラッシュ１２０３上に記憶される。一連の命令は、ディスケット、ＣＤ−ＲＯＭ、磁気テープ、ＤＶＤ、ＲＯＭなどの任意の従来型のコンピュータ可読又は機械アクセス可能な記憶媒体を使用しても記憶することができる点を理解されたい。また、一連の命令はローカルに記憶する必要はなく、ネットワーク／通信インターフェース１２０７を介して、ネットワーク上のサーバーなどの遠隔の記憶装置から受け取られる伝播データ信号上に記憶することができる点も理解されたい。命令は、大容量記憶装置などの記憶装置１２０６から、或いはメモリ１２０２への伝播データ信号からコピーされ、次いでプロセッサ１２０１によってアクセスされ実行される。
【００６５】
別の実施形態では、本発明は個別のハードウェア又はファームウェアで実現される。例えば、１つ又はそれ以上の特定用途向け集積回路（ＡＳＩＣ）が本発明の上述の機能を備えるようにプログラムすることができる。
【００６６】
従って、イーサネット自動保護スイッチングシステムが複数のリングネットワークにおけるループを防止する方法及び装置について説明される。前述の説明から、当業者であれば本発明の多くの他の変形が可能であることが理解されるであろう。詳細には、本発明を複数のノード又はスイッチを含むメトロポリタンエリアネットワークで実施されるものとして説明してきたが、本明細書で説明された論理の一部は、本発明の範囲から逸脱することなくネットワークの他の構成要素に提供することができ、或いはローカルエリアネットワークなどの異なる範囲のネットワークで実施できる点に留意されたい。
【００６７】
上記の説明で本発明の種々の態様について述べた。しかしながら、説明されたように本発明の一部のみ又は全ての態様に関して本発明を実施することができる点は、当業者には理解されるはずである。説明のために、特定の番号、材料、構成は本発明を全体的に理解するために示されている。しかしながら、本発明がこれらの特定の詳細なしに実施することができる点も当業者には明らかであろう。
【００６８】
説明の部分は、データ、状態、リンク、障害、パケット、これらに類するものなどの項目を使用してコンピュータシステムによって実行される動作の観点で示されており、他の当業者にこれらの働きの実体を伝えるために当業者によって通常用いられる方法と一致する。当業者によってよく理解されるように、これらの数量は、コンピュータシステムの機械的及び電気的構成要素によって記憶、転送、結合、或いは処理することができる電気、磁気、又は光信号の形態をとり、このコンピュータシステムという用語は、独立型、補助型、或いは組み込み型の、汎用並びに特殊用途のデータ処理マシン、ルータ、ブリッジ、スイッチ、これらに類するものを含む。
【００６９】
更に種々の動作について、本発明の理解を助ける様態で複数の別個の段階として順に説明されている。しかしながら説明の順番は、これらの動作が必ず該順番に従い、特に表示された順番に従うことを意味するものと解釈すべきではない。
【００７０】
「１つの実施形態」又は「ある実施形態」に対する本明細書での言及は、本実施形態に関連して説明された特定の機能、構造、又は特徴が本発明の少なくとも１つの実施形態に含まれることを意味する。本明細書の種々の箇所での語句「１つの実施形態では」の出現は、必ずしも同じ実施形態に全て言及しているわけではない。
【００７１】
従って、本発明は説明された詳細によって限定さるものではない。むしろ本発明は添付の請求項の精神及び範囲内で変更及び修正を実施することができる。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施形態を使用することができるネットワークを示す。
【図２】本発明が扱うネットワークのループを示す。
【図３】本発明の実施形態を示す。
【図４】本発明が扱うネットワークのループを示す。
【図５】本発明の実施形態を示す。
【図６】本発明の実施形態を示す。
【図７】本発明の実施形態を示す。
【図８】本発明の実施形態を示す。
【図９】例示的なネットワークトポロジを示す。
【図１０】本発明の実施形態によるデータ構造を示す。
【図１１】本発明の実施形態による例示的なパケットフォーマットを示す。
【図１２】本発明の特定の態様を実施することができる適切なコンピュータ環境の１つの実施形態を示す。
【符号の説明】
【００７３】
１〜１３…ネットワークセグメント、２０…通過ノード、２１…２２…ポート、２５…コントローラノード／通過ノード、２６、２７、２８…ポート、３０…コントローラノード／通過ノード、３１〜３４…ポート、３５…通過ノード、３６、３７…ポート、４０…マスターノード、４１…４２…ポート、４５…パートナーノード／通過ノード、４６〜４８…ポート、５０…パートナーノード／マスターノード、５１〜５４…ポート、５５…通過ノード、１００、１１０、１２０、１３０…ＥＡＰＳドメイン
【図１】
0004778712.tif 000002
【図２】
0004778712.tif 000003
【図３】
0004778712.tif 000004
【図４】
0004778712.tif 000005
【図５】
0004778712.tif 000006
【図６】
0004778712.tif 000007
【図７】
0004778712.tif 000008
【図８】
0004778712.tif 000009
【図９】
0004778712.tif 000010
【図１０】
0004778712.tif 000011
【図１１】
0004778712.tif 000012
【図１２】
0004778712.tif 000013