(57)【特許請求の範囲】
【請求項１】
リンク障害からのネットワーク回復方法であって、前記ネットワークは、リング構成内に、マスターノードと、複数のトランジットノードと、複数のリンクとを備え、各ノードは少なくとも２つのポートを有し、前記複数のリンクの中のあるリンクは各ノードの第１のポートを他のノードの第２のポートに接続し、
修復されたリンクに関連付けられたブロックされたポートを有するトランジットノードから、データ転送のために前記ブロックされたポートを開放するためのリクエストを前記マスターノードで受信することと、
ヘルスチェックタイマーを起動し、ネットワークの障害があるリンクが全て修復されたことを判定するために、前記マスターノードのプライマリポートにおいて前記ネットワーク上の全てのポートを通過することができる制御ＶＬＡＮを介してヘルスチェックメッセージを送信することと、
前記マスターノードのセカンダリポートにおいて前記ヘルスチェックメッセージが受信されたとの判定に基づき、障害がある全てのリンクが修復されたことを示すメッセージを各トランジットノードに送信することと、
前記ヘルスチェックタイマーが経過する前に前記マスターノードの前記セカンダリポートにおいて前記ヘルスチェックメッセージが受信されていないとの判定に基づき、データ転送のために前記修復されたリンクに関連付けられた前記ブロックされたポートを開放するよう、前記トランジットノードにメッセージを送信することと、
を含む、方法。
【請求項２】
データ転送のためのリクエストを受信するステップが、
送信元トランジットノードの一意の識別子を抽出することと、
データ転送のためのリクエストが前記送信元トランジットノードから受信されたかどうかを前記抽出された一意の識別子に基づき判定することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
障害がある全てのリンクが修復されたことを示すメッセージを各トランジットノードに送信することが、
前記マスターノードのブリッジテーブルをフラッシュすることと、
それぞれが関連するブリッジテーブルを有する前記複数のトランジットノードに、それぞれの関連するブリッジテーブルをフラッシュするようメッセージを送信することと、
をさらに含む、請求項１に記載の方法。
【請求項４】
リンク障害からのネットワーク回復の方法であって、前記ネットワークは、リング構成内に、マスターノードと、複数のトランジットノードと、複数のリンクとを備え、各ノードは少なくとも２つのポートを有し、前記複数のリンクの中のあるリンクは各ノードの第１のポートを他のノードの第２のポートに接続し、
トランジットノードの２つのポートのうちの1つと関連づけられた障害があるリンクを、前記ネットワーク上の全てのポートを通過することができる制御ＶＬＡＮを介して送信されたヘルスチェックメッセージにより検出することと、
前記障害があるリンクと関連付けられたポートを前記トランジットノードにおいてブロックすることと、
前記障害があるリンクへの物理的接続性が修復されたとの判定に基づき、第１のタイマーを起動し、前記第１のタイマーが起動されたとき、データ転送のために前記ブロックされたポートを開放するリクエストを、前記マスターノードに向けて前記開放されたポートにおいて送信することと、
前記第１のタイマーが経過する前に、前記ブロックされたポートを開放する許可が、前記マスターノードから受信されたとの判定に基づき、データ転送のために前記トランジットノードの前記ブロックされたポートを開放することと、
を含む、方法。
【請求項５】
データ転送のために前記ブロックされたポートを開放するリクエストを送信することが、
第２のタイマーを起動することと、
前記第１のタイマーが経過し、前記ブロックされたポートを開放する許可が前記マスターノードから受信されていない場合に、前記第１のタイマーを再開し、データ転送のために前記ブロックされたポートを開放するリクエストを送信することと、
前記第２のタイマーが経過し、前記ブロックされたポートを開放する許可が前記マスターノードから受信されていないとの判定に基づき、データ転送のために前記トランジットノードの前記ブロックされたポートを開放することと、
をさらに含む、請求項４に記載の方法。
【請求項６】
障害がある全てのリンクが修復されたことを示すメッセージを前記マスターノードから受信することと、前記受信されたメッセージに応答して、前記トランジットノードのブリッジテーブルをフラッシュすることとをさらに含む、請求項４に記載の方法。
【請求項７】
リンク障害からのネットワーク回復システムであって、前記ネットワークは、リング構成内に、マスターノードと、複数のトランジットノードと、複数のリンクとを備え、各ノードは少なくとも２つのポートを有し、前記複数のリンクの中のあるリンクは各ノードの第１のポートを別のノードの第２のポートに接続し、
修復されたリンクに関連付けられたブロックされたポートを有するトランジットノードから、データ転送のために、前記ブロックされたポートを開放するリクエストを前記マスターノードで受信する手段と、
ヘルスチェックタイマーを起動する手段と、
前記ネットワークの障害があるリンクが全て修復されたことを判定するために、前記マスターノードのプライマリポートにおいて前記ネットワーク上の全てのポートを通過することができる制御ＶＬＡＮを介してヘルスチェックメッセージを送信する手段と、
前記マスターノードのセカンダリポートにおいて前記ヘルスチェックメッセージが受信されたとの判定に基づき、障害がある全てのリンクが修復されたことを示すメッセージを各トランジットノードに送信する手段と、
前記ヘルスチェックタイマーが経過する前に前記マスターノードの前記セカンダリポートにおいて前記ヘルスチェックメッセージが受信されていないとの判定に基づき、データ転送のために前記修復されたリンクと関連付けられた前記ブロックされたポートを開放するよう、前記トランジットノードにメッセージを送信する手段と
を含む、システム。
【請求項８】
送信元トランジットノードの一意の識別子を抽出する手段と、
データ転送のためのリクエストが前記送信元トランジットノードから受信されたかどうかを前記抽出された一意の識別子に基づき判定する手段と、
をさらに含む、請求項７に記載のシステム。
【請求項９】
前記マスターノードのブリッジテーブルをフラッシュする手段と、
それぞれが関連するブリッジテーブルを有する前記複数のトランジットノードに、それぞれの関連するブリッジテーブルをフラッシュするようメッセージを送信する手段と
をさらに含む、請求項７に記載のシステム。
【請求項１０】
リンク障害からのネットワーク回復システムであって、前記ネットワークは、リング構成内に、マスターノードと、複数のトランジットノードと、複数のリンクとを備え、各ノードは少なくとも２つのポートを有し、前記複数のリンクの中のあるリンクは各ノードの第１のポートを他のノードの第２のポートに接続し、
トランジットノードの２つのポートのうちの１つに関連づけられた障害があるリンクを、前記ネットワーク上の全てのポートを通過することができる制御ＶＬＡＮを介して送信されたヘルスチェックメッセージにより検出する手段と、
前記障害があるリンクと関連付けられたポートを前記トランジットノードにおいてブロックする手段と、
第１のタイマーを開始する手段と、
前記障害があるリンクへの物理的接続性が修復されたとの判定に基づき、データ転送のために前記ブロックされたポートを開放するリクエストを、前記マスターノードに向けて前記開放されたポートにおいて送信する手段と、
前記第１のタイマーが経過する前に、前記ブロックされたポートを開く許可が、前記マスターノードから受信されたとの判定に基づき、データ転送のために前記トランジットノードの前記ブロックされたポートを開ける手段と
を含む、システム。
【請求項１１】
第２のタイマーを開始する手段と、
前記第１のタイマーが経過し、前記ブロックされたポートを開放する許可が前記マスターノードから受信されていない場合に、前記第１のタイマーを再開し、データ転送のために前記ブロックされたポートを開放するリクエストを送信する手段と、
前記第２のタイマーが経過し、前記ブロックされたポートを開放する許可が前記マスターノードから受信されていないとの判定に基づき、データ転送のために前記トランジットノードの前記ブロックされたポートを開放する手段と、
をさらに含む、請求項１０に記載のシステム。
【請求項１２】
障害がある全てのリンクが修復されたことを示すメッセージを前記マスターノードから受信する手段と、前記受信されたメッセージに応答して、前記トランジットノードのブリッジテーブルをフラッシュする手段とをさらに含む、請求項１０に記載のシステム。
【請求項１３】
コンピュータにより実行され、コンピュータにリンク障害からのネットワーク回復を促進させるための制御論理を有するコンピュータプログラムであって、前記ネットワークは、リング構成内に、マスターノードと、複数のトランジットノードと、複数のリンクとを備え、各ノードは少なくとも２つのポートを有し、前記複数のリンクの中のあるリンクは各ノードの第１のポートを他のノードの第２のポートに接続し、
前記制御論理が、
修復されたリンクと関連付けられたブロックされたポートを有するトランジットノードからの、データ転送のために前記ブロックされたポートを開放するリクエストを前記マスターノードで受信するための第１のコンピュータ可読プログラムコードと、
ヘルスチェックタイマーを起動するための第２のコンピュータ可読プログラムコードと、
前記ネットワークの障害があるリンクが全て修復されたかどうか判定するために、前記マスターノードのプライマリポートにおいて前記ネットワーク上の全てのポートを通過することができる制御ＶＬＡＮを介してヘルスチェックメッセージを送信するための第３のコンピュータ可読プログラムコードと、
前記マスターノードのセカンダリポートにおいて前記ヘルスチェックメッセージが受信されたとの判定に基づき、障害がある全てのリンクが修復されたことを示すメッセージを各トランジットノードに送信するための第４のコンピュータ可読プログラムコードと、
前記ヘルスチェックタイマーが経過する前に前記マスターノードの前記セカンダリポートにおいて前記ヘルスチェックメッセージが受信されなかったとの判定に基づき、データ転送のために前記修復されたリンクに関連付けられた前記ブロックされたポートを開放するよう、前記トランジットノードにメッセージを送信するための第５のコンピュータ可読プログラムコードと、
を含む、コンピュータプログラム。
【請求項１４】
前記制御論理が、
送信元トランジットノードの一意の識別子を抽出するための第６のコンピュータ可読プログラムコードと、
データ転送のためのリクエストが前記送信元トランジットノードから受信されたかどうかを前記抽出された一意の識別子に基づき判定するための第７のコンピュータ可読プログラムコードと、
をさらに含む、請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記制御論理が、
前記マスターノードのブリッジテーブルをフラッシュするための第８のコンピュータ可読プログラムコードと、
それぞれが関連するブリッジテーブルを有する前記複数のトランジットノードに、それぞれの関連するブリッジテーブルをフラッシュするようメッセージを送信するための第９のコンピュータ可読プログラムコードと、
をさらに含む、請求項１３に記載のコンピュータプログラム。
【請求項１６】
コンピュータにより実行され、コンピュータにリンク障害からのネットワーク回復システムを促進させるための制御論理を有するコンピュータプログラムであって、前記ネットワークは、リング構成内に、マスターノードと、複数のトランジットノードと、複数のリンクとを備え、各ノードは少なくとも２つのポートを有し、前記複数のリンクの中のあるリンクは各ノードの第１のポートを別のノードの第２のポートに接続し、
前記制御論理が、
トランジットノードの２つのポートのうちの１つと関連づけられた障害があるリンクを、前記ネットワーク上の全てのポートを通過することができる制御ＶＬＡＮを介して送信されたヘルスチェックメッセージにより検出するための第１のコンピュータ可読プログラムコードと、
前記障害があるリンクに関連付けられたポートを前記トランジットノードにおいてブロックするための第２のコンピュータ可読プログラムコードと、
前記障害があるリンクへの物理的接続性が修復されたとの判定に基づき、第１のタイマーを起動し、データ転送のために前記ブロックされたポートを開放するリクエストを、前記マスターノードに向けて前記開放されたポートにおいて送信するための第３のコンピュータ可読プログラムコードと、
前記第１のタイマーが経過する前に前記ブロックされたポートを開放する許可が、前記マスターノードから受信されたとの判定に基づき、データ転送のために前記トランジットノードの前記ブロックされたポートを開放するための第４のコンピュータ可読プログラムコードと、
を含む、コンピュータプログラム。
【請求項１７】
前記制御論理が、
第２のタイマーを起動する第５のコンピュータ可読プログラムコードと、
前記第１のタイマーが経過し、前記ブロックされたポートを開放する許可が前記マスターノードから受信されていない場合に、前記第１のタイマーを再開し、データ転送のために前記ブロックされたポートを開放するリクエストを送信するための第６のコンピュータ可読プログラムコードと、
前記第２のタイマーが経過し、前記ブロックされたポートを開放する許可が前記マスターノードから受信されていないとの判定に基づき、データ転送のために前記トランジットノードの前記ブロックされたポートを開放するための第７のコンピュータ可読プログラムコードと、
をさらに含む、請求項１６に記載のコンピュータプログラム。
【請求項１８】
前記制御論理が、
障害がある全てのリンクが修復されたことを示すメッセージを前記マスターノードから受信するための第８のコンピュータ可読プログラムコードと、
前記受信されたメッセージに応答して、前記トランジットノードのブリッジテーブルをフラッシュするための第９のコンピュータ可読プログラムコードとをさらに含む、請求項１６に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]  本出願は、２００８年２月１４日に出願された米国仮出願第６１／０６４，０７８号「RING NETWORK TOPOLOGY MULTIPLE LINK BREAK RESILIENCY METHOD AND SYSTEM」及び２００８年６月２６日に出願された米国仮出願第６１／０７６，０４０号「ENHANCED RING NETWORK TOPOLOGY MULTIPLE LINK BREAK RESILIENCY METHOD AND SYSTEM」の優先権を主張し、２００７年７月１２日に出願された米国出願第１１／８２６，２０３号「METHOD AND SYSTEM FOR NETWORK RECOVERY FROM MULTIPLE LINK FAILURES」に関連する。
【０００２】
技術分野
[0002]  本発明は、一般に、遠隔通信ネットワークの分野に関し、とりわけ、多重リンク障害からのネットワーク回復方法及びシステムに関する。
【背景技術】
【０００３】
背景
[0003]  今日のネットワーク通信の主眼は、放送映像、基本電話サービス（ＰＯＴＳ）、ボイスオーバーインターネットプロトコル（ＶｏＩＰ）、ビデオオンデマンド及びインターネットアクセスなどの配信サービス並びにイーサーネット（登録商標）ベースのネットワーク上でのこれらのサービスの開発に向けられている。近年では、提供されるサービスの種類、その質及び高度な実装が、着実に改善されてきている。しかしながら、途切れないネットワークオペレーション及びネットワークリンク障害への迅速な応答に関しては、今日のイーサーネット（登録商標）ベースのネットワーク通信は遅れを取っている。既存のイーサーネットベースのいくつかの短所は、多重リンク障害からの自己回復に信頼性がないこと並びに障害及び回復を加入者に対して透化にすることができないことを含む。
【０００４】
[0004]  １９９８年版、ＡＮＳＩ／ＩＥＥＥ標準８０２．１Ｄに当初規定されたスパニングツリープロトコル（「ＳＴＰ」）及びＩＥＥＥ標準８０１．１ｗ−２００１に規定されているラピッドスパニングツリープロトコル（「ＲＳＴＰ」）などの既存のネットワークプロトコルは、ループ回避及びバックアップ経路の利用可能性を保証することに効果的であり、全体で参照として本明細書に組み込まれている。これらのプロトコルはループを回避するために冗長な経路を無効にする可能性を提供し、ネットワーク障害が発生した場合で接続性を維持する必要がある場合に、これらを自動的に再び有効にするとはいえ、どちらのプロトコルもネットワーク障害への応答及びネットワーク障害からの回復が遅い。ＳＴＰ／ＲＳＴＰのネットワーク障害へ応答時間は、最大３０秒である。この障害への遅い応答は、データトラフィックのための最良の（又はコストが最低の）経路を決定するために比較されるユーザ提供の値に基づき、リンクの遮断点の位置を計算することに結び付けられているＳＴＰ／ＲＳＴＰの基本原則に部分的に起因する。
【０００５】
[0005]  インターネットの標準に関連する仕様であるリクエストフォーコメンツ（「ＲＦＣ」）３６１９に基づき、ノースカロライナのアライドテレシスホールディング株式会社によって開発された、別の既存ネットワークアルゴリズム及びプロトコルであるイーサーネット（登録商標）プロテクテッドスイッチドリング（「ＥＰＳＲ」）は、障害が発生したことをネットワークに警告するため障害検出スキームを使用し、ネットワークに対して、経路／コスト計算を行わせるのではなく、アクションを取るよう指示するリングプロトコルである。ＥＰＳＲは、単一リンク障害から回復するのはＳＴＰ／ＲＳＴＰよりもずっと早いが、多重リンク障害からの回復が不可能であること、及び、全てのリンク障害が回復されるまでは、ネットワーク上のトラフィックが修復される（本明細書では、「収束される」と互換的に呼ぶ）ことができないという欠点がある。さらに、多重リンク障害からの自己回復は信頼性がなく、仮に最終的に達成されたとしても、厄介で遅い。
【０００６】
[0006]  それゆえ、多重リンク障害状況からのネットワーク回復を提供する方法及びシステムが一般的に必要とされている。ネットワークループの形成を回避しつつ、多重リンク障害状態からの迅速なネットワーク回復を提供し、障害からの信頼性ある自己回復を提供し、障害及び回復について加入者に知らせないようにする方法及びシステムがさらに必要とされている。
【発明の概要】
【課題を解決するための手段】
【０００７】
発明の概要
[0007]  開示されているのは、リング構成で接続されたマスターノードと複数のトランジットノードとを備える遠隔通信ネットワークにおける単一及び多重リンク障害からの回復システム及び方法である。１つの例示的態様では、マスターノードは、修復されたリンクと関連付けられた、ブロックされたポートを有するトランジットノードから、データ転送のために、このブロックされたポートを開放させるリクエストを受信する。マスターノードは、ヘルスチェックタイマーを起動し、ネットワークの全ての障害があるリンクが回復したことを判定するため、そのプライマリポートにおいて、ヘルスチェックメッセージを送信する。マスターノードは、ヘルスチェックメッセージがそのセカンダリポートへと戻されているとの判定に基づき、全ての障害があるリンクが修復されたことを示すメッセージを各トランジットノードに送信する。ヘルスチェックタイマーが経過する前にヘルスチェックメッセージがそのセカンダリポートへ戻されなかったとの判定に基づき、マスターノードは、データ転送のために、修復されたリンクに関連付けられた、ブロックされたポートを開放させるようトランジットノードにメッセージを送信する。
【０００８】
[0008]  本発明の別の例示的態様では、トランジットノードは、そのポートの１つと関連付けられる障害があるリンクを検出し、障害があるリンクと関連付けられたポートをブロックするよう構成されている。障害があるリンクへの物理的接続が修復されたとの判定に基づき、トランジットノードは、第１のタイマーを起動し、データ転送のために、ブロックされたポートを開く許可のリクエストを開放されたポートにおいて送信する。タイマーが経過する前に、マスターノードから、ブロックされたポートを開く許可が受信されたとの判定に基づき、トランジットノードは、データ転送のために、ブロックされたポートを開放する。トランジットポートは、第２のタイマーを起動し、第１のタイマーが経過したとき及びブロックされたポートを開放する許可が、マスターノードから受信されていないとき、データ転送のためにブロックされたポートを開放する許可のリクエストを再送信するようさらに構成されている。第２のタイマーが経過し、ブロックされたポートを開放する許可が、マスターノードから受信されなかったとの判定に基づき、トランジットノードは、データ転送のために、ブロックされたポートを開放するように構成されている。第１の及び第２のタイマー並びにそれぞれの時間は、ユーザにより構成可能であることに留意されたい。
【０００９】
[0009]  開示されたネットワーク回復システム及び方法は、単一及び多重リング障害の場合にネットワークリングの耐久性を高め、先行技術の解決策に関連した送信問題を回避することを含むが、これに限定されない多数の利点を有する。
【図面の簡単な説明】
【００１０】
図面の簡単な説明
[0010]  本明細書に組み込まれその一部をなす添付の図面は、本発明の１つ以上の例示的態様を示し、記載と共に本発明の態様の原理及び実装を説明するのに役立つ。
【００１１】
【図１】[0011]  図１は、本発明の１つの態様に従う通常の（障害のない）状態における例示的なＥＰＳＲネットワークのオペレーションを示す図である。
【図２】図２は、本発明の１つの態様に従う単一のリンク障害及びこの障害からの回復時の例示的なＥＰＳＲネットワークのオペレーションを示す図である。
【図３】図３は、本発明の１つの態様に従う多重リンク障害及びこの障害からの回復時の例示的なＥＰＳＲネットワークのオペレーションを示す図である。
【図４】図４は、本発明の別の態様に従う多重リンク障害及びこの障害からの回復時の例示的なＥＰＳＲネットワークのオペレーションを示す図である。
【図５】図５は、本発明の１つの態様に従う、単一又は多重リンク障害の場合の、マスターノードによって行われる一連のアクションのフローチャート示す図である。
【図６】図６は、本発明の１つの態様に従う、単一又は多重リンク障害の後の回復の間にトランジットノードによって行われる一連のアクションのフローチャート示す図である。
【図７】図７は、本発明の多様な態様と併せて使用するためのネットワークコンピュータシステムの例の多様な特徴を示す図である。
【発明を実施するための形態】
【００１２】
詳細な説明
[0012]  本発明の態様は、本明細書ではリング型ネットワークにおける単一又は多重リンク障害の検出及び回復システム及び方法のコンテキストで記述されている。当業者は、以下の記述が例示的あり、決して限定的であるよう意図されていないことが理解できるだろう。他の態様は、本開示の利益を有する当業者には容易に示唆されるだろう。本発明の態様の実装は、添付の図面に示されるとおり、これから詳細に記載される。同一の参照符号は、可能な限り、図面及び以下の記載において、同一又は類似の品目に言及する。
【００１３】
[0013]  明確にするために、本明細書に記載される実装の通常の特徴のすべてが示され記載されるとは限られない。もちろん、このような実際の実装の開発において、開発者の特定の目的を果たすためには多数の実装特有の決定がなされなくてはならないこと、及び、これらの特定の目的は、実装ごとに、また開発者ごとに異なるということが理解できよう。さらに、そのような開発努力は、複雑で時間を要するものであるが、やはり設計における通常の作業であることが、本開示の恩恵を得る当業者には明らかであろう。
【００１４】
[0014]  本発明の態様、それにより満たされる要求、その目的、特徴及び利点のより完全な理解のために、単一リンク障害からの例示的なイーサーネットプロテクテッドスイッチドリング（ＥＰＳＲ）ネットワーク回復の説明がなされ、ついで、多重リンク障害からの例示的なＥＰＳＲベースのネットワーク回復の説明がなされる。開示されたネットワーク障害回復システム及び方法は、イーサーネットベースのネットワークに限定されておらず、有線及び無線ネットワーク、並びに、他のネットワークプロトコル及びトポロジを含む他のタイプの通信ネットワークに容易に適用されうることが、当業者には理解できよう。
【００１５】
[0015]  図１は、通常の（障害のない）状態における例示的なＥＰＳＲネットワークのオペレーションを示す。図１に示される既存のＥＰＳＲネットワーク１００は、例えば、スイッチ、ルーター、サーバー又は他のネットワーク要素などの複数のネットワーク要素（本明細書では、「ノード」と互換的に呼ぶ）１１０―１６０を含み、各ノード１１０―１６０は、複数のポートを含む。本明細書では以下、ＥＰＳＲ「ドメイン」と互換的に呼ぶ、単一のＥＰＳＲリング１００は、単一の指定された「マスターノード」１１０を有する。ＥＰＳＲドメイン１００は、データバーチャルローカルエリアネットワーク（「ＶＬＡＮ」）、制御ＶＬＡＮ及び関連するスイッチポートの集合に対する保護スキームを規定する。ＶＬＡＮは、互いにブリッジを介して接続され、ネットワーク内の各ノードは、ＶＬＡＮのそれぞれについて、関連付けられたブリッジテーブル（本明細書では、「転送テーブル」と互換的に呼ぶ）を有する。
【００１６】
[0016]マスターノード１１０は、ＥＰＳＲドメイン１００の制御ネットワーク要素であり、ステータスポーリング、エラーメッセージの収集及びＥＰＳＲドメインのトラフィックフローの制御及び他の機能について責任を有する。このリングの他の全てのノード１２０―１５０は、「トランジットノード」として分類されている。本発明の１つの態様では、トランジットノード１２０―１５０は、リンク障害通知を生成し、マスターノード１１０からの制御メッセージを受信するよう構成されている。
【００１７】
[0017]  リング１００の各ノードは、リングに接続されたプライマリ（本明細書では、「ＰＰ」又は「１」と互換的に呼ぶ）及びセカンダリ（本明細書では、「ＳＰ」又は「２」と互換的に呼ぶ）の少なくとも２つの構成可能なポートを有する。マスターノード１１０のプライマリポートＰＰは、１つの態様に従い、トラフィックフローの方向を決定し、常に作動可能である。通常のオペレーションシナリオでは、マスターノード１１０は、所与のＥＰＳＲドメインに属する全ての非制御イーサーネットメッセージについて、セカンダリポートＳＰをブロックし、それにより、リング内でのループの形成を回避する。通常のオペレーションでは、マスターノード１１０のセカンダリポートＳＰは、アクティブのままであるが、リング障害が検出されるまで、全ての保護されたＶＬＡＮが作動するのを阻止する。既存のイーサーネットスイッチング及び学習機構は、既知の基準に従い、このリングで作動する。スイッチング及び学習に使用されるイーサーネット標準アルゴリズムの観点からは、マスターノード１１０が、リングにループを含んでいないかのように見せるので、このオペレーションが可能となる。
【００１８】
[0018]  マスターノード１１０がリング障害を検出した場合、そのセカンダリポートＳＰのブロックを解除し、イーサーネットメッセージがそのポートを通過することを可能にしうる。特別な「制御ＶＬＡＮ」が与えられ、これは、マスターノード１１０のセカンダリポートＳＰを含む、ドメイン内の全てのポートを常に通過することができる。制御ＶＬＡＮは、いかなるデータトラフィックも運ぶことはできないが、制御メッセージを運ぶことができる。それゆえ、ＥＰＳＲ制御パケットのみが、制御ＶＬＡＮを通って送信される。本発明の多様な態様において、ネットワーク１００は、リングの接続性を確認するため、及びネットワーク内の障害を迅速に検出するため、ポーリング機構及び／又は障害検出機構（本明細書では、「警告」と互換的に呼ぶ）を使用してよく、そのそれぞれが、以下に詳細に記載される。
【００１９】
[0019]  本発明の１つの例示的態様では、障害検出機構は、ネットワーク障害を検出するために使用され、これは図２を参照して記載される。ＥＰＳＲドメイン１００に接続されたポートのいずれかにおける障害をトランジットノード１３０が検出した際、このトランジットノードは、直ちに制御ＶＬＡＮにおいて「リンクダウン」制御メッセージをマスターノード１１０へ送信する。マスターノード１１０が、この「リンクダウン」制御メッセージを受信したとき、マスターノード１１０は、「通常」状態から「リング障害」状態へ移行し、セカンダリポートＳＰのブロックを解除する。マスターノード１１０はまた、そのブリッジテーブルをフラッシュし、残りのリングノード１２０―１５０に、それらのブリッジテーブルもフラッシュするよう指示する制御メッセージを送信する。各ノードは、ブリッジテーブルをフラッシュしてすぐに、新しいトポロジを学習し、それにより、全ての通信経路が修復される。
【００２０】
[0020]  本発明の別の例示的態様では、ポーリング機構は、例えばエラーにより「リンクダウン」警告メッセージがマスターノード１１０に到達しない場合に、ネットワーク障害を検出するために使用されうる。リングポーリング機構は、図２を参照して説明される。マスターノード１１０は、制御ＶＬＡＮにおいてヘルスチェックメッセージを定期的に送信するように構成されうる。リングが完全である場合、ヘルスチェックメッセージは、マスターノードのセカンダリポートＳＰにおいて受信される。しかし、マスターノード１１０がヘルスチェックメッセージを受信しない場合、マスターノード１１０は、通常状態から「リング障害」状態へと移行し、ネットワークトラフィックを転送するためにセカンダリポートＳＰのブロックを解除する。障害検出機構の場合と同様に、マスターノードはまた、そのブリッジテーブルをフラッシュし、プライマリポートとセカンダリポートの双方において、残りのリングノード１２０―１５０に、それらのブリッジテーブルもフラッシュするよう指示する制御メッセージを送信する。また、障害検出機構の場合と同様に、ブリッジテーブルをフラッシュした後に、各ノードは、新しいトポロジを学習し、それにより、全ての通信経路が修復される。
【００２１】
[0021]  マスターノード１１０は、リング障害状態で稼動しているときでも、そのプライマリポートＰＰからヘルスチェックメッセージを定期的に送信し続けうる。リングが修復されると、次のヘルスチェックメッセージは、マスターノード１１０のセカンダリポートＳＰにおいて受信される。ヘルスチェックメッセージがマスターノード１１０のセカンダリポートＳＰにおいて受信された場合、又は、以前障害があったトランジットノード１３０によって「リンクアップ」メッセージが送信された場合、マスターノード１１０は、そのセカンダリポートＳＰを、保護されたＶＬＡＮトラフィックからブロックすることと、そのブリッジテーブルをフラッシュすることと、トランジットノード１２０―１５０に、それらのブリッジテーブルのフラッシュ、トポロジの再学習及びオリジナルの通信経路の修復を行うように「リンクアップ」制御メッセージを送信することによって、オリジナルのリングトポロジを修復する。トランジットノード１３０及び１４０が、マスターノード１１０からリンクアップ制御メッセージを受信した場合、ポートＢ１及びＣ３を、それぞれ転送に移行させ、それにより、オリジナルの通信経路が修復される。
【００２２】
[0022]  （ａ）トランジット１３０及び１４０による、それらの間のリンクが修復されたことの検出と（ｂ）マスターノード１００による、リング１００が修復されたことの検出、との間の期間中は、マスターノードのセカンダリポートＳＰは開放したままであり、それによって、リング内の一時的なループが可能となる。障害があるリンクが初めて使用可能になったときに、このループが発生するのを回避するため、影響を受けたトランジットノード１３０及び１４０は、ポートＢ１及びＣ２をブロックしたままにし、ポートＢ１及びＣ２においてデータを転送する許可を求めるリンク転送リクエスト（ＬＦＲ）メッセージをマスターノード１１０に送信する。これらのメッセージに応答して、マスターノード１１０は、ネットワークが回復されたかどうかを判定するために、そのプライマリポートＰＰからヘルスチェックメッセージを送信する。回復されている場合は、ヘルスチェックメッセージは、そのセカンダリポートＳＰにおいて受信が成功する。マスターノード１１０は、そのセカンダリポートＳＰを再びブロックし、ついで、トランジットノード１３０及び１４０にリンク転送への移行許可（ＰＬＦ）メッセージを送信する。マスターノード１１０はついで、その転送テーブルをフラッシュし、トランジットノード１２０―１５０に、ネットワーク回復「リングアップフラッシュ」制御メッセージを送信する。これに応答して、トランジットノード１２０―１５０は、それらのブリッジテーブルをフラッシュし、新しく修復されたリンクと関連するポートのブロックを解除し、これにより、リングをオリジナルのトポロジに修復し、オリジナルの通信経路を修復する。ノード間で計算が必要とされないので、オリジナルリングトポロジは、迅速に（例えば、５０ミリ秒以下）修復されることができ、障害のあるリンクがまず修復され、マスターノード１１０のセカンダリポートＳＰが保護されたＶＬＡＮトラフィックに対して開放しているときでも、ネットワークループの発生の可能性がない。
【００２３】
[0023]  図３は、リング１００内で隣接する２つのリンクＡ１−Ｂ２及びＢ１−Ｃ２に障害が起きた状態を示す。トランジットノード１２０、１３０及び１４０は、リンク障害により影響を受けており、リンクの１つ又は両方が回復したときにループか発生するのを回避するために、その対応するポートをブロックする。単一リンク障害からのネットワーク回復の場合と同様に、全ての他のトランジットノードは、転送状態のリングポートの両方を有し、マスターノード１１０は、転送状態にあるプライマリポートＰＰを有する。トランジットノードからのリンクダウン制御メッセージを介して、又は、ヘルスチェックメッセージの受信の失敗のいずれかを介してリンク障害が検出された場合、マスターノード１１０は、ノード１４０及び１５０へのネットワークトラフィックを可能にするためにセカンダリポートＳＰのブロックを解除する。その結果、トランジットノード１３０は、障害があるリンクによりネットワークから隔離されているので、トランジットノード１３０だけが、ネットワーク１００から完全に孤立したままとなる。
【００２４】
[0024]  リンクＡ１−Ｂ２の回復の際に、影響された２つのトランジットノード１２０と１３０は、障害があるリンクの両側にあるポートのブロックを解除することが安全（例えば、ループの重大なリスクがない）かどうかを判定しなくてはならない。そのためには、ノード１２０及び１３０は、ポートＡ１及びＢ２においてデータを転送する許可を求めるリンク転送リクエスト（ＬＦＲ）メッセージをマスターノード１１０に送信しうる。マスターノード１１０がこれらのリクエストを受信した場合、マスターノード１１０は、次のヘルスチェックメッセージを送信した後に、本発明の１つの例示的態様に従い、「ヘルスチェック」タイマーを起動しうる。タイマーが経過し、ヘルスチェックメッセージが受信されなかった場合、マスターノード１１０は、ノード１２０及び１３０に対して、それらのポートＡ１及びＢ２のそれぞれをデータ転送に移行させる許可のメッセージを送信する。Ａ１及びＢ２の両方のポートがデータ転送に修復されたとき、全てのノードは、接続性を有し、システムは上述の単一リンク（Ｂ１−Ｃ２）障害シナリオへ修復される。
【００２５】
[0025]  図４は、マスターノード１１０を接続するリンクを含む複数のリンクに障害が起きた場合のシナリオを示す。リンクＤ１−マスターＳＰ及びリンクＡ２−マスターＰＰに障害が起きた場合、マスターノード１１０からノード１２０―１５０への接続性はブロックされる。ノード１３０と１４０との間の接続性にも障害が起き、ポートＢ１及びＣ２は自動的にブロックされる。リンクＢ１−Ｃ２における接続性が修復されたとき、ノード１３０及び１４０は、それぞれポートＢ１及びＣ２へのデータ転送の許可を求めるリンク転送リクエスト（ＬＦＲ）メッセージをマスターノード１１０に送信する。同時に、各トランジットノードは、１つの変形に従い、ＬＦＲタイマーを起動しうる。マスターノード１１０が未だにノード１３０及び１４０から孤立しているので、ＬＦＲメッセージには応答は受信されない。それらの個々のＬＦＲタイマーが経過すると、ノード１３０及び１４０は、本発明の１つの態様に従い、リンクＢ１及びＣ２をそれぞれ自動的に転送状態にする。それゆえ、ネットワークセグメントＡＢ及びＣＤは、マスターノード１１０がいずれのネットワークセグメントからも到達不能であるにもかかわらず、互いに接続される。
【００２６】
[0026]  図５は、本発明の１つの態様に従う、単一又は多重リンク障害の場合に、マスターノードにより実行される一連のアクションを示す。プロセスは、マスターノードが１つ以上のトランジットノードからリンク転送リクエスト（ＬＦＲ）を受信することから開始する（ステップ５１０）。１つの態様によれば、ＬＦＲは、レイヤ２ブロードキャストパケットとして送信されてもよい。マスターノードは、ソースのメディアアクセス制御（ＭＡＣ）アドレスなどの特有の識別子を抽出し（ステップ５２０）、送信元のトランジットノードからのＬＦＲメッセージが受信され処理されているかを判定する（ステップ５３０）。ＬＦＲメッセージが処理されていない場合、マスターノードは、トランジットノードの特有の識別子（例えば、ＭＡＣアドレス）を、処理されているＬＦＲのリストに加え、ヘルスチェックメッセージを送信し、このＬＦＲについてヘルスチェックタイマーを起動する（ステップ５４０）。ヘルスチェックメッセージが受信されていない場合（ステップ５５０）及びヘルスチェックタイマーが経過した場合（ステップ５６０）、マスターノードは、ＬＦＲメッセージを送信したトランジットノードに直接、リンク転送への移行許可（ＰＬＦ）メッセージを送信し、リストからＬＦＲを取り除く（ステップ５７０）。これは、転送のために、トランジットノードがそのポートを開放することを可能にする。ヘルスチェックメッセージがマスターノードに戻ってきた場合（これは物理的接続性が修復されたことを示す）（ステップ５５０）、マスターノードは、リストからＬＦＲを取り除き、ヘルスチェックタイマーを停止させる（ステップ５８０）。マスターノードはそれからブリッジテーブルをフラッシュし、トランジットノードに、これらのブリッジテーブルもフラッシュするよう指示する制御メッセージを送信する。ブリッジテーブルをフラッシュしてすぐに、各ノードは、新しいトポロジを学習し、それにより、全ての通信経路を修復する。
【００２７】
[0027]  図６は、本発明の１つの態様に従う、単一又は多重リンク障害からの回復の間にトランジットノードによって実行される一連のアクションを示す。プロセスは、トランジットノードが、そのブロックされたポートの１つにおいてリンクアップイベントを検出することから開始する（ステップ６１０）。トランジットノードは、リピートタイマーを起動する（ステップ６１５）。トランジットノードは、それからＬＦＲタイマーを起動し（ステップ６２０）、その開放しているポートにおいてＬＦＲリクエストメッセージを送信する（ステップ６３０）。ＬＦＲメッセージに応答して、トランジットノードが、ブロックされたポートにおいてリンク転送への移行許可（ＰＬＦ）又はブリッジテーブルをフラッシュする命令をマスターノードから受信した場合（ステップ６４０）、トランジットノードは、全てのタイマーを停止し、ブロックされたポートをデータ転送のために開放する（ステップ６５０）。ＬＦＲメッセージに応答して、トランジットノードがＰＬＦメッセージ又はフラッシュ命令を受信しなかった場合（これはマスターノードへのリンクがブロックされていることを意味する）、トランジットノードは、リピートタイマーが経過しているかどうかを確認し（ステップ６６０）、もし経過していれば、全てのタイマーを停止し、データ転送のために、ブロックされたポートを開放する（ステップ６５０）。リピートタイマーが経過していない場合（ステップ６６０）、トランジットノードは、ＬＦＲタイマーが経過しているかどうかを確認しうる（ステップ６７０）。ＬＦＲタイマーが経過している場合（ステップ６７０）、トランジットノードは、ＬＦＲタイマーを再開し（ステップ６２０）、ＬＦＲリクエストを再送する（ステップ６３０）。ＬＦＲタイマーが経過していない場合、トランジットノードは、ＰＬＦメッセージ又はフラッシュ命令がマスターノードから受信されているかどうかを再確認し（ステップ６４０）、受信されている場合、トランジットノードは、全てのタイマーを停止し、トラフィック転送のために、ブロックされたポートを開放する（ステップ６５０）。代替的な態様においては、リングネットワークにおける単一又は多重リンク障害からの回復に関連して、より少ない又はより多いタイマーが使用されてもよいことに留意されたい。
【００２８】
[0028]  上述の通り、本発明の態様は、耐障害性で、ループがなく、容易に維持管理できるネットワークをサポートする。これは、ネットワークコンポーネント内の２つのコンポーネント間のデータ経路の１つを除く全てが、ネットワークトラフィックに対してブロックされ、それにより、ネットワークループを回避するネットワークコンポーネント内に冗長データ経路を提供すること、及び、ネットワークコンポーネントに障害が起きた場合又はコンポーネントがネットワークに追加又はネットワークから取り除かれた場合に、接続性を維持するために、適切な冗長データ経路のブロックを解除することによってなされる。
【００２９】
[0029]  本発明は、ハードウェア、ソフトウェア又はその組合せを使用して実装されてよく、１つ以上のコンピュータシステム又は他のプロセッシングシステムにおいて実装されてよい。１つの態様では、本発明は、本明細書に記載される機能を実行することができる１つ以上のコンピュータシステムに関する。そのようなコンピュータシステム２００の例が図７に示される。
【００３０】
[0030]  コンピュータシステム２００は、プロセッサ２０４のような１つ以上のプロセッサを含む。プロセッサ２０４は、通信インフラストラクチャ２０６（例えば、通信バス、クロスオーババー又はネットワーク）に接続されている。ネットワーク回復の方法の多様なソフトウェア実装は、本明細書には、この例示的コンピュータシステムに照らして記載されている。この記載を読んだ後では、当業者にとっては、他のコンピュータシステム及び／又はアーキテクチャを使用して本発明を実装する方法が明らかとなろう。
【００３１】
[0031]  コンピュータシステム２００は、ディスプレイユニット２３０において表示するために、通信インフラストラクチャ２０６から（又はメッセージバッファ、図示せず、から）グラフィックス、テキスト及びその他のデータを転送するディスプレイインターフェース２０２を含むことができる。コンピュータシステム２００は、好ましくはランダムアクセスメモリ（ＲＡＭ）であるメインメモリ２０８も含み、またセカンダリメモリ２１０も含みうる。セカンダリメモリ２１０は、例えば、ハードディスクドライブ２１２及び／又はフロッピー（登録商標）ディスクドライブ、磁気テープドライブ、光学ディスクドライブなどを代表する取り外し可能な記憶装置ドライブ２１４を含みうる。取り外し可能な記憶装置ドライブ２１４は、周知の態様で、取り外し可能な記憶装置２１８を読み込み及び／又はこれへの書き込みを行う。取り外し可能な記憶ドライブ２１４により読み込まれ、これに書き込まれる取り外し可能な記憶装置２１８は、フロッピディスク、磁気テープ、光学ディスクなどを代表する。理解できるとおり、取り外し可能な記憶装置２１８は、コンピュータソフトウェア及び／又はデータを記憶したコンピュータ利用可能な記憶装置媒体を含む。
【００３２】
[0032]  代替的な態様では、セカンダリメモリ２１０は、コンピュータプログラム又は他の命令がコンピュータシステム２００にロードされるのを可能にする他の同様のデバイスを含みうる。そのようなデバイスは、例えば、取り外し可能な記憶装置２２２及びインターフェース２２０を含みうる。そのような例は、取り外し可能な記憶装置２２２からコンピュータシステム２００へソフトウェア及びデータを移動させることが可能である、プログラムカートリッジ及びカートリッジインターフェース（ビデオゲームデバイスに見られるようなもの）、取り外し可能なメモリチップ（消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）など）及び関連するソケット並びに他の取り外し可能な記憶装置２２２及びインターフェース２２０を含みうる。
【００３３】
［0033］  コンピュータシステム２００はまた、通信インターフェース２２４も含みうる。通信インターフェース２２４は、コンピュータシステム２００と外部デバイスとの間でソフトウェア及びデータの移動を可能にする。通信インターフェース２２４の例は、モデム、ネットワークインターフェース（イーサーネット（登録商標）カードなど）、通信ポート、パーソナルコンピュータメモリカードインターナショナルアソシエーション（ＰＣＭＣＩＡ）スロット及びカードなどを含みうる。通信インターフェース２２４を介して移動されるソフトウェア及びデータは、信号２２８の形式であり、電子信号、電磁気信号、光学信号又は通信インターフェース２２４により受信可能な他の信号であってよい。これらの信号２２８は、通信経路（例えば、チャネル）２２６を介して、通信インターフェース２２４に提供される。この経路２２６は、信号２２８を運び、ワイヤ若しくはケーブル、光ファイバ、電話線、セルラーリンク、無線（ＲＦ）リンク及び／又は他の通信チャネルを使用して実装されてよい。本明細書では、「コンピュータプログラム媒体」及び「コンピュータ使用可能な媒体」という用語は、取り外し可能な記憶装置ドライブ２１４、ハードディスクドライブ２１２にインストールされたハードディスク、及び信号２２８などの媒体を広く言う。これらのコンピュータプログラム製品は、ソフトウェアをコンピュータシステム２００に提供する。本発明は、このようなコンピュータプログラム製品に関する。
【００３４】
［0034］  コンピュータプログラム（コンピュータ制御論理とも呼ぶ）は、メインメモリ２０８及び／又はセカンダリメモリ２１０に記憶される。コンピュータプログラムはまた、通信インターフェース２２４を介して受信されうる。そのようなコンピュータプログラムは、実行された場合、本明細書に記載されるとおり、本発明の事項をコンピュータシステム２００が実行するのを可能にする。とりわけ、コンピュータプログラムは、実行された場合、本発明の事項をプロセッサ２０４が実行するのを可能にする。よって、そのようなコンピュータプログラムは、コンピュータシステム２００の制御装置を表現する。
【００３５】
［0035］  本発明がソフトウェアを使用して実装される変形において、ソフトウェアは、コンピュータプログラム製品に記憶されてよく、取り外し可能な記憶装置ドライブ２１４、ハードドライブ２１２又は通信インターフェース２２４を使用して、コンピュータシステム２００にロードされてよい。制御論理（ソフトウェア）は、プロセッサ２０４によって実行された場合、本明細書に記載の本発明の機能をプロセッサ２０４に実行させる。別の変形では、本発明は主として、例えば、特定用途向け集積回路（ＡＳＩＣ）などのハードウェアコンポーネントを使用するハードウェアにおいて実装される。本明細書に記載された機能を実行するためのハードウェアステートマシンの実装は、当業者には明らかであろう。
【００３６】
［0036］  本発明は、好ましい態様に関連して記述されているが、上述の態様の変形及び変更も本発明の範囲から逸脱することなくなされてよいことは当業者にとって明らかとなろう。当業者にとっては、明細書の考慮又は本明細書に開示された発明の実施から、他の変形も明らかとなろう。本明細書及び記載された例は、例示のみを目的とし、真の範囲は、以下の請求の範囲によって示される。
【図１】
0005508289.tif 000002
【図２】
0005508289.tif 000003
【図３】
0005508289.tif 000004
【図４】
0005508289.tif 000005
【図５】
0005508289.tif 000006
【図６】
0005508289.tif 000007
【図７】
0005508289.tif 000008