(57)【要約】      （修正有）【課題】  フォールトゾーン間に経路を分散させることが考慮されるネットワーク経路を評価および選択するシステムおよび方法を提供すること。【解決手段】  フォールトゾーンを通るネットワークトラフィックをルーティングするプロセッサインプリメント方法は、第１のネットワークノードから第２のネットワークノードへの経路を識別するステップと、識別された経路が通過するフォールトゾーンのセットを識別するステップと、フォールトゾーンのセットにおけるフォールトゾーンごとにフォールトゾーンを含む第１のネットワークノードから第２のネットワークノードへの経路の数をゾーンの重みとして割り当てるステップと、識別された経路の重みを計算するステップと、第１のノードから第２のノードへのネットワークトラフィックの現在の経路として識別された経路を選択するステップとを包含する。【選択図】図３
2005094768.tif 000002
【特許請求の範囲】
【請求項１】
フォールトゾーンを通るネットワークトラフィックをルーティングするプロセッサインプリメント方法であって、
第１のネットワークノードから第２のネットワークノードへの経路を識別するステップと、
該識別された経路が通過するフォールトゾーンのセットを識別するステップと、
該フォールトゾーンのセットにおけるフォールトゾーンごとに、該フォールトゾーンを含む該第１のネットワークノードから該第２のネットワークノードへの経路の数をゾーンの重みとして割り当てるステップと、
該識別された経路の重みを計算するステップであって、該経路の重みは、該識別された経路内に含まれるフォールトゾーンごとの該ゾーンの重みの和と等しい、ステップと、
該第１のノードから該第２のノードへのネットワークトラフィックの現在の経路として識別された経路を選択するステップと
を包含する、プロセッサインプリメント方法。
【請求項２】
前記第１のネットワークノードから前記第２のネットワークノードへの新しい経路を識別するステップと、
前記新しい経路における各フォールトゾーンにゾーンの重みを割り当てるステップと、
該新しい経路のための新しい経路の重みを計算するステップと、
該新しい経路が該識別された経路の該経路の重みよりも低い場合、該第１のノードから該第２のノードへのネットワークトラフィックの現在の経路として該新しい経路を選択するステップと
をさらに包含する、請求項１に記載の方法。
【請求項３】
前記第１のネットワークノードは、第１の識別子によって識別され、
前記第２のノードは、第２の識別子を含む複数の識別子によって識別され、
該第１のノードから該第２のノードへのネットワークトラフィックの現在の経路として識別された経路を選択するステップは、該第１の識別子から該第２の識別子へのネットワークトラフィックの現在の経路として識別された経路を選択するステップを包含し、
該識別された経路とは異なる経路が、該第１の識別子から、該第２の識別子とは異なる複数の識別子へのネットワークトラフィックの現在の経路として選択される、
請求項１に記載の方法。
【請求項４】
コンピュータによって実行された場合、フォールトゾーンを通るネットワークトラフィックをルーティングする方法をコンピュータに実行させる命令を格納するコンピュータ読み出し可能媒体であって、該方法は、
第１のネットワークノードから第２のネットワークノードへの経路を識別するステップと、
該識別された経路が通じるフォールトゾーンのセットを識別するステップと、
該フォールトゾーン内のフォールトゾーンごとに、該フォールトゾーンを含む該第１のネットワークノードから該第２のネットワークノードへの経路の数をゾーンの重みとして割り当てるステップと、
該識別された経路の重みを計算するステップであって、該経路の重みは、該識別された経路内に含まれるフォールトゾーンごとの該ゾーンの重みの和と等しい、ステップと、
該第１のノードから該第２のノードへのネットワークトラフィックの現在の経路として識別された経路を選択するステップと
を包含する、コンピュータ読み出し可能媒体。
【請求項５】
サブネットにおけるノード間のルーティングを決定するプロセッサインプリメント方法であって、
該サブネットにおける複数のフォールトゾーンを識別するステップであって、各フォールトゾーンは、該サブネットの１つ以上のコンポーネントを含む、ステップと、
該サブネットにおけるノード間のルーティングを管理するように、中央サブネットマネージャを構成するステップと、
第１の識別子を有する第１のノードから、第２の識別子を含む複数の識別子を有する第２のノードへの経路のセットを識別するステップであって、複数の識別子のいずれかを用いて、トラフィックが該第２のノードに送達可能である、ステップと
該経路の１つ以上が横断するフォールトゾーンごとに、該フォールトゾーンを含む該第１のノードから該第２のノードへの経路の数に基づいてゾーンの重みを確立するステップと、
該経路のセットにおける経路ごとに、該経路が横断するフォールトゾーンごとの該ゾーンの重みの和から経路の重みを確立するステップと、
該第２のノードの該複数の識別子の各々について、該第１の識別子から該識別子への現在の経路として該経路の該セットから、該最良の経路の重みを有する該経路を選択するステップと
を包含する、プロセッサインプリメント方法。
【請求項６】
コンピュータによって実行された場合、サブセットにおけるノード間のルーティングを決定する方法をコンピュータに実行させる命令を格納するコンピュータ読み出し可能媒体であって、該方法は、
該サブネットにおける複数のフォールトゾーンを識別するステップであって、各フォールトゾーンは、該サブネットの１つ以上のコンポーネントを備える、ステップと、
該サブネットにおけるノード間のルーティングを管理するように、中央サブネットマネージャを構成するステップと、
第１の識別子を有する第１のノードから、第２の識別子を含む複数の識別子を有する第２のノードへの経路のセットを識別するステップであって、該複数の識別子のいずれかを用いて、トラフィックが該第２のノードに送達可能である、ステップと、
該経路の１つ以上が横断するフォールトゾーンごとに、該フォールトゾーンを横断する該第１のノードから該第２のノードへの経路の数に基づいて、ゾーンの重みを確立するステップと、
該経路のセットにおける経路ごとに、該経路が横断するフォールトゾーンごとの該ゾーンの重みの和から経路の重みを確立するステップと、
該第２のノードの該複数の識別子ごとに、該経路のセットから、該第１の識別子から該識別子への現在の経路を選択するステップであって、該経路は、最良の経路の重みを有する、ステップと
を包含する、コンピュータ読み出し可能媒体。
【請求項７】
該ネットワーク内のコンポーネントの平均故障時間（ＭＴＢＦ）データに基づいて、サブセットにおけるトラフィックをルーティングするプロセッサインプリメント方法であって、該方法は、
該第１のノード識別子から第２のノード識別子への複数の経路ごとに、該第１のノードは、第１のサブネットノードを識別し、該第２のノード識別子は、第２のサブネットノードを識別し、
該経路に含まれる複数のサブネットコンポーネントごとに、該コンポーネントのＭＴＢＦデータを識別するステップと、
該複数のサブネットコンポーネントの該ＭＴＢＦデータを集計して、該経路の重みを計算するステップと、
該経路の重みに基づいて、該第１のノード識別子から該第２のノード識別子へのサブネットトラフィックの現在の経路として複数の経路のうちの１つを選択するステップと
を包含する、プロセッサインプリメント方法。
【請求項８】
コンピュータによって実行された場合、ネットワーク内のコンピュータの平均故障時間（ＭＴＢＦ）に基づいて、サブネットにおけるトラフィックをルーティングする方法をコンピュータに実行させる命令を格納するコンピュータ読み出し可能媒体であって、該方法は、
第１のノード識別子から第２のノード識別子への複数の経路ごとのステップであって、該第１のノード識別子は、第１のサブネットノードを識別し、該第２のノード識別子は、第２のサブネットノードを識別し、
該経路に含まれる複数のサブネットコンポーネントごとに、該コンポーネントのＭＴＢＦを識別するステップと、
該複数のサブネットコンポーネントのＭＴＶＦデータを集計して、該経路の重みを計算するステップと、
該経路の重みに基づいて、該第１のノード識別子から該第２のノード識別子へのサブネットトラフィックの現在の経路として複数の経路の内の１つを選択するステップと
を包含する、コンピュータ読み出し可能媒体。
【請求項９】
１つ以上の選択された特性に基づいて、サブネットにおけるトラフィックをルーティングするプロセッサインプリメント方法であって、該方法は、
第１のノード識別子から第２のノード識別子への複数の経路ごとに、該第１のノード識別子は、第１のサブネットノードを識別し、該第２のノードは第２のサブネットノードを識別し、
該経路に含まれる複数のサブネットコンポーネントごとに、該コンポーネントの１つ以上の特性の値を識別するステップと、
該複数のサブネットコンポーネントの該１つ以上の特性の値を集計して、該経路の重みを計算するステップと、
該経路の重みに基づいて、該第１のノード識別子から該第２のノード識別子へのサブネットトラフィックの現在の経路として複数の経路の内の１つを選択するステップと
を包含する、プロセッサインプリメント方法。
【請求項１０】
前記複数のサブネットコンポーネントの各々は、通信リンクを備え、
サブネットコンポーネントの第１の特性は、該通信リンクのリンク速度を含む、請求項９に記載の方法。
【請求項１１】
該サブネットのコンポーネントは、前記第１のサブネットノードと前記サブネットコンポーネントとの間にホップカウントを備える、請求項９に記載の方法。
【請求項１２】
サブセットコンポーネントの第１の特性は、該サブネットコンポーネントと関連したコストを含む、請求項９に記載の方法。
【請求項１３】
サブセットコンポーネントの第１の特性は、該サブネットコンポーネントによって提供される質のサービスを含む、請求項９に記載の方法。
【請求項１４】
複数のフォールトゾーンを含むサブネットを通るルーティングを決定するシステムであって、
クライアントコンピューティングデバイスを該サブネットとインターフェースするように構成されたネットワークであって、各ノードは、１つ以上のノード識別子によって識別可能である、ネットワークノードと、
クライアントコンピューティングデバイスであって、
プロセッサと、
該サブネットにおける第１のノードと第２のノードとの間のルーティングを決定するように構成されたサブネットマネージャモジュールとを備え、該第１のノードは、第１の識別子によってアドレス指定され、該第２のノードは、第２の識別子を含む複数の識別子によってアドレス指定可能であり、該サブネットマネージャであって、
該第１のノードから該第２のノードへの経路が横断する該サブネットにおけるフォールトゾーンごとに、該フォールトゾーンを横断する該第１のノードから該第２のノードへの経路の数に基づいて、ゾーンの重さを計算するステップと、
該第１のノードから該第２のノードへの経路ごとに、該経路が横断する該フォールトゾーンの該ゾーンの重さの和に基づいて、経路の重さを計算するステップと、
該第１の識別子から該第２のノード識別子への現在の経路として、最良の経路の重みを有する該第１の識別子から該第２の識別子への経路を選択するステップと
によって該第１のノードと第２のノードとの間のルーティングを決定する、サブネットマネージャと
を備える、クライアントコンピューティングデバイスと
を備える、システム。
サブネットマネージャと
【請求項１５】
前記クライアントコンピューティングデバイスは、
ノード識別子の複数のペア間の現在の経路の重みを格納するように構成されたメモリをさらに備える、請求項１４に記載のシステム。
【請求項１６】
前記メモリは、前記現在の経路の各々と関連し、該現在の経路が横断するフォールトゾーンのゾーンの重みを格納するようにさらに構成される、請求項１５に記載のシステム。
【請求項１７】
前記サブネットマネージャは、前記サブネットにおける複数のノードにルーティング情報を配布するようにさらに構成され、該ルーティング情報は、前記第１の識別子から前記第２の識別子への現在の経路を含む、請求項１４に記載のシステム。
【請求項１８】
サブネットコンポーネントの１つ以上の特性に基づいて、サブネットを通じてルーティングを決定するシステムであって、該装置は、
クライアントデバイスを該サブネットとインターフェースするように構成されたネットワークノードと、
クライアントコンピューティングデバイスであって、
プロセッサと、
サブネットマネージャモジュールであって、該サブネットにおける第１のノードと第２のノードとの間のルーティングを、
該第１のノードから該第２のノードへの経路が横断する複数のサブネットコンポーネントごとに、該サブネットコンポーネントの１つ以上の特性の値を識別するステップと、
該第１のノードから該第２のノードへの経路ごとに、該経路が横断するサブネットコンポーネントの該１つ以上の特性の組み合わされた値に対応する経路の重みを確立するステップと、
該第１のノードと関連した第１の識別子から該第２のノードと関連した第２の識別子への現在の経路として、前記最良の経路の重さを有する経路を選択するステップと
によって決定するように構成された、サブネットマネージャと
を備える、システム。
【請求項１９】
前記サブネットコンポーネントは、
ネットワークノードと、
２つのネットワークノード間のリンクとの１つ以上を備える、請求項１８に記載のシステム。
【請求項２０】
サブネットコンポーネントの第１の特性は、該サブネットコンポーネントの平均故障時間（ＭＴＢＦ）を含む、請求項１８に記載のシステム。
【請求項２１】
前記複数のサブネットコンポーネントの各々は、通信リンクを備え、
サブネットコンポーネントの第１の特性は、該通信リンクのリンク速度を含む、請求項１８に記載のシステム。
【請求項２２】
サブネットコンポーネントの第１の特性は、前記第１のノードと前記サブネットコンポーネントとの間にホップカウントを備える、請求項１８に記載のシステム。
【請求項２３】
サブネットコンポーネントの第１の特性は、該サブネットコンポーネントと関連したコストを含む、請求項１８に記載のシステム。
【請求項２４】
サブネットコンポーネントの第１の特性は、該サブネットコンポーネントによって提供される質のサービスを含む、請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（背景）
本発明は、コンピュータシステムおよびネットワーキングに関する。より具体的には、フォールトゾーンを通るネットワークトラフィックをルーティングするシステムおよび方法が提供される。
【背景技術】
【０００２】
ネットワークを通るパケットおよび／または他の電気通信のルーティングは、ルーティングの正確さに左右される。ルーティングを実行するネットワークノード（例えば、スイッチ、ルータ等）は、通常、特定のノードにアドレス指定された通信をルーティングする態様を示すルーティングテーブルを保持する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ネットワークの実行を改善するために、所与の宛先ノードへの複数の経路が利用可能であり得る。通信によって宛先ノードに移動される経路は、ネットワークリンクが機能したり、機能しなかったりするネットワークの輻輳、特定の経路を横断するコスト、および／または他のファクタ等のファクタに左右され得る。しかしながら、既存のネットワークは、特定のネットワークコンポーネントまたはリンク（例えば、スイッチ、ワイヤレスリンク等）を横断する現在の経路の数に基づいた、効率的なルーティング決定を下さない。特に、既存のネットワークは、通常、種々のフォールトゾーン間での経路の分散を考慮および促進しない。
【０００４】
さらに、複数のネットワークアーキテクチャ（例えば、インターネット等のＴＣＰ／ＩＰネットワーク）では、ルーティングテーブルの構造が、複数のノード間に分散される。この労力の分散のため、ルーティングアルゴリズムは、各ノードがネットワークトラフィックに影響を及ぼすことなく、これを実行できるように、比較的シンプルでなければならない。
【課題を解決するための手段】
【０００５】
（要旨）
従って、必要とされるのは、種々のフォールトゾーン間に経路を分散させることが考慮され得る、種々のネットワーク経路を評価および選択する集中化されたシステムおよび方法である。
【０００６】
本発明のある実施形態では、ネットワークまたはサブネットにおけるノード間のルーティングを構成するためのシステムおよび方法が提供される。端末ノードは、ルーティングするために、複数の識別子と関連つけられ得、従って、複数の経路は、２つの端末ノード間に存在し得る。ネットワークノードおよびコンポーネント（例えば、スイッチ）は、フォールトゾーンにグループ分けされる。ネットワークエンティティの各フィジカルエンクロージャは、別個のフォールトゾーンを備え得る。２つのノード間の経路が通過するゾーンごとにそのゾーンを横断するノード間の経路の数と等しい重みが計算される。
【０００７】
経路の重みは、ノード間の経路ごとに計算され、これは、経路内のゾーンごとの重みの和と等しい。ネットワークフォールトトレランスを改善するために、高い重みのフォールトゾーンおよび既存の経路を回避するために新しい経路が設計され得る。フォールトゾーンの代わりに、平均故障時間（ＭＴＢＦ）等の他の基準が重みを割り当てるために用いられ得る。
【発明を実施するための最良の形態】
【０００８】
（詳細な説明）
以下の記載は、当業者が本発明を作製および使用することができるように提供され、本発明の特定の応用およびその要件という意味合いで提供される。開示された実施形態への種々の改変は、当業者に容易に明らかになり、かつ、本明細書中に規定される一般的原理は、本発明の範囲から逸脱することなく他の実施形態および用途に応用され得る。
【０００９】
本発明のこの実施形態が例示的に実行されるプログラム環境は、例示的に、汎用コンピュータ、専用コンピュータ、またはネットワークコンポーネント（例えば、スイッチ、ネットワークインターフェースデバイス等）を備える。このようなデバイスの詳細（例えば、プロセッサ、メモリ、データ記憶装置、ディスプレイ等）は、明瞭にするために省略され得る。
【００１０】
本発明の技術は、種々の技術を用いて実現され得ることもまた理解されたい。例えば、本明細書中に記載された方法は、コンピュータシステム上で実行するソフトウェアで実現され得るか、あるいは、マイクロプロセッサの組み合わせ、または他の特別に設計されたアプリケーション専用の集積回路、プログラム可能論理デバイス、またはそれらの種々の組み合わせを利用するハードウェアで実現され得る。特に、本明細書中で記載された方法は、適切なコンピュータ読み出し可能媒体上に常駐する、一連のコンピュータ実行可能命令によって実現され得る。適切なコンピュータ読み出し可能媒体は、揮発性（例えば、ＲＡＭ）および／または不揮発性（例えば、ＲＯＭディスク）メモリ、搬送波および伝送媒体（例えば、銅線、同軸ケーブル、光ファイバ媒体）を備え得る。例示的搬送波は、ローカルネットワーク、インターネット等のパブリックアクセス可能なネットワーク、または他の通信リンクに沿ってデジタルデータストリームを搬送する電気、電磁、または光信号の形態を取り得る。
【００１１】
本発明のある実施形態では、特定のノードへの異なったネットワーク経路間で構成、評価、または選択するためのシステムおよび方法が提供され、ここで、種々の基準に基づいた経路の分散が考えられ得る。例えば、異なったネットワークフォールトゾーン間での経路の分散を促進し、フォールトトレランスを改善することが所望され得る。あるいは、ネットワークエンティティ（例えば、スイッチ、ネットワークリンク等）の平均故障時間（ＭＴＢＦ）に基づいて経路の分散を促進することが所望され得る。
【００１２】
本発明の実施形態は、ＩｎｆｉｎｉＢａｎｄ環境内で実現され得ることが後述される。しかしながら、当業者は、本発明が任意の特定のネットワークまたは通信技術に限定されず、かつ、このような種々の技術のために調整され得ることを理解する。
【００１３】
ＩｎｆｉｎｉＢａｎｄは、端末ノード（例えば、チャネルアダプタ）とスイッチとの間の高速相互接続を提供するように設計された通信アーキテクチャである。ＩｎｆｉｎｉＢａｎｄノードのサブネットワークまたはサブネット内で、サブネットマネージャは、サブネットコンフィギュレーションへの変更を検出し、かつ、ノードのルーティングテーブルを更新することを担当する。
【００１４】
図１は、本発明のある実施形態による、ＩｎｆｉｎｉＢａｎｄのブロック図である。この実施形態では、サブネット１０２は、ルーティングテーブル、ルーティングツリーまたは他のスケジュールに基づいて、通信をルーティングできるスイッチまたは他のネットワークエンティティであり得るノード１０４を備える。ノード１０４は、サブネット１０２、および、サブネット１０２を備える、より大きいネットワーク内の通信をルーティングするように構成される。
【００１５】
サブネット１０２は、チャネルアダプタ（例えば、目的のチャネルアダプタおよび／またはホストチャネルアダプタ等）であり得る端末ノード１０６をさらに備える。端末ノード１０６ａ〜１０６ｃ等の端末ノードは、サーバ、デスクトップ、ポータブルまたは他のタイプのコンピュータまたは処理デバイス等のクライアントに結合され得る。
【００１６】
サブネット１０２内で、ノードまたは端末ノードに結合された１つのクライアントまたはコンピューティングデバイスがサブネットマネージャを実行するように構成される。図１では、サブネットマネージャ１１０は、クライアント１０６ｃ上で動作する。本発明の別の実施形態では、サブネットマネージャは、端末ノードではなく、ノード１０４に結合されたコンピュータまたはコンピューティングデバイス上で実行し得る。冗長およびフォールトトレランスについては、２次サブネットマネージャは、サブネットマネージャ１１０、または、クライアント１０６ｃ、あるいは、クライアント１０６ｃをサブネットに結合する端末ノードが機能しない場合、サブネット１０２の別のノード上で実行するように構成され得る。
【００１７】
サブネットマネージャ１１０は、サブネット１０２のコンフィギュレーションの変化を検出し、サブネット内の通信をルーティングするための１つ以上のルーティングテーブルを更新するように構成される。ルーティングテーブルが更新された後に、サブネットマネージャは、通信をルーティングするように構成されたサブネットにおけるすべてのノードにこのテーブルを配布し得る。図１におけるネットワーク環境と複数の従来ネットワーク（例えば、インターネットプロトコルを用いるネットワーク）との間の１つの差異は、サブネットルーティング決定が複数のノード間に分散されるのではなく、集中化（すなわち、サブネットマネージャ１１０に）されることである。
【００１８】
ＩｎｆｉｎｉＢａｎｄにおいて、単一ノードは、ルーティングするための複数のローカル識別子（ＬＩＤ）を有し得る。この単一ノードは複数のＬＩＤを有し得るので、そのノードに対して複数の経路が規定され得る。複数の経路は、経路または構成ネットワークリンク間のロードバランシングを促進するため、または、フォールトトレランスを促進するため、ならびに／あるいは他の目的で規定され得る。しかしながら、ノードのＬＩＤごとに、同時にただ１つの経路がアクティブである。
【００１９】
本発明のある実施形態では、複数のＬＩＤを有するノードと複数の経路とを比較し、および／または、１つ以上の選択基準（例えば、フォールトトレランス、平均故障時間（ＭＴＢＦ））の中から選択する方法が提供される。
【００２０】
フォールトトレランスを促進するために、１つのフォールトゾーンの故障が、経路の最小数に影響を及ぼし、かつ、ノードへのすべての経路を消去しないようにサブネットを通る経路を規定することが望ましい。
【００２１】
経路がフォールトトレランスを促進するように規定される本発明の実施形態では、複数のフォールトゾーンが単一のネットワークまたはサブネットに規定され得る。各ゾーンは、ネットワークまたはサブネットにおけるノードおよび端末ノードの任意のサブネットを含み得、フォールトゾーンは重なり合い得る。しかしながら、ある実装例では、単一のフィジカルエンクロージャ内のすべてのノードおよび／または端末ノードは、同じフォールトゾーンの部分である。
【００２２】
この実施形態では、サブネットにおける端末ノード（または他の宛先）のＬＩＤごとに、サブネットマネージャが、そのＬＩＤへの現在の経路が横断するフォールトゾーンに通知する。端末ノードへの１つ以上の経路が横断するフォールトゾーンごとに、フォールトゾーンを横断する端末ノードへの経路の数と等しい重みが規定される。
【００２３】
図２Ａは、本発明のある実施形態によると、この重み付けプロセスが適用され得る態様を示す。図２Ａでは、端末ノード２０２は、ＬＩＤ  Ｓを有する一方で、端末ノード２０４は、２つのＬＩＤ（ＸおよびＹ）を有する。従って、端末ノード２０２から端末ノード２０４への２つの経路があり、一方は、Ｘの宛先ＬＩＤを用い、他方は、Ｙの宛先ＬＩＤを用いる。
【００２４】
両方の経路は、フォールトゾーンＡを横断するが、ＬＩＤ  Ｘへの経路は、フォールトゾーンＣを横断し、ＬＩＤ  Ｙへの経路は、フォールトゾーンＤを横断する。従って、フォールトゾーンＡは、２つの、ゾーンの重みまたは経路カウントを受取り、かつ、フォールトゾーンＣおよびＤの両方が１つのゾーンの重みを受取る。
【００２５】
経路の重みは、その後、ＬＩＤへの全経路を特徴付けるように規定され得る。ある実施形態では、経路の重みは、経路におけるフォールトゾーンごとのゾーンの重みまたは経路のカウントの和と等しい。従って、図２Ａでは、２つの経路の重みは、
経路Ｓ→Ｘ：ゾーンの重み（Ａ）＋ゾーンの重み（Ｃ）＝２＋１＝３
経路Ｓ→Ｘ：ゾーンの重み（Ａ）＋ゾーンの重み（Ｄ）＝２＋１＝３
として計算される。
【００２６】
本発明のある実施形態では、新しい経路が、サブネットにおける２つの端末ノード間で利用可能になり、サブネットマネージャは、新しい経路の重みを計算し、現在の経路の代わりに新しい経路を用いることがよりよいかどうかを決定する。
【００２７】
図２Ｂは、ＬＩＤ  Ｓ〜ＬＩＤ  Ｙによって利用可能な新しい経路を有する図２Ａのサブネットを示す。従って、サブネットマネージャは、フォールトゾーンＢおよびＤを通る新しい経路が、ＡおよびＤを通る現在の経路よりも好ましいかどうかを決定する。新しい経路が採用された場合、フォールトゾーンＢおよびＤのゾーンの重みは、両方とも１であり、経路の重みは、
経路Ｓ→Ｙ：ゾーンの重み（Ｂ）＋ゾーンの重み（Ｄ）＝１＋１＝２
である。
【００２８】
従って、ＬＩＤ  ＳからＬＩＤ  Ｙへの新しい経路が採用される。これは、フォールトゾーンＡのゾーンの重みが１に減少するので、経路Ｓ→Ｘの経路の重みをもたらすことに留意されたい。
【００２９】
新しい経路が選択された場合、サブネットマネージャは、ルーティングツリーまたはテーブルを更新し、ルーティング情報をサブネット内のノードに配布し得る。
【００３０】
図２Ａ〜図２Ｂに示される本発明の実施形態では、サブネットにおけるノードのペア間により多くの経路が規定され、最も多くの経路を有するフォールトゾーンは、他のフォールトゾーンよりも高く重み付けされる。従って、新しい経路は、上述のゾーンを回避する傾向がある。
【００３１】
これに代わる本発明のある実施形態では、ゾーンの重みの計算が、端末ノードの特定のペア間のすべての経路だけでなく、フォールトゾーンを通るすべてのシステム経路を考慮し得る。これに代わる実施形態では、ゾーンに割り当てられた重みが、そのゾーンを横断するシステム経路の数に比例する。
【００３２】
フォールトゾーンの信頼性とは異なるネットワークの問題または基準をアドレス指定するために、他の基準に基づいて割り当てまたは計算され得る。例えば、重みは、ネットワークエンティティ（例えば、スイッチ、リンク等）のセットの平均故障時間（ＭＢＴＦ）に基づき得る。この例では、比較的頻繁に故障するエンティティが、軽い重みを受取り、従って、より少ない経路がこれらのエンティティを横断する。ある結果として、このようなエンティティが故障した場合、このエンティティは、故障していない場合と比べて、ネットワークトラフィックへの影響がわずかである。エンティティの重み付けは、その予測されるＭＴＢＦに比例するか、または、反比例し得る。
【００３３】
重みを割り当てるために用いられ得る他のファクタまたは基準は、リンク速度、ホップカウント、サービスの質（ＱｏＳ）、財務費用等を含み得る。重みおよび経路の計算は、これらおよび／または他のファクタの任意の組み合わせを用い得る。
【００３４】
図３は、本発明のある実施形態による、フォールトゾーンの重みと経路の重みとを計算する方法を示すフローチャートである。
【００３５】
動作３０２では、ネットワークまたはサブネットは、複数のフォールトゾーンで構成される。各フォールトゾーンは、任意の数のネットワークスイッチングノード（例えば、スイッチ、ルータ等）、端末ノード（例えば、チャネルアダプタ、ネットワークインターフェースアダプタ等）、クライアント（例えば、サーバ、入力／出力サブシステム、ワークステーション）および／または他のデバイスを備える。
【００３６】
動作３０４では、サブネットマネージャがサブネット内のクライアント上にインストールおよび構成される。サブネットマネージャは、ノードおよびノードの識別子、ノード間のリンク等を備えるサブネットのコンフィギュレーションを知る。
【００３７】
動作３０６では、サブネットマネージャが、あるノードから端末ノードへの１つ以上の経路を識別する。端末ノードは、複数の識別子（ＬＩＤネットワークアドレス）を有し得る。
【００３８】
動作３０８では、端末ノードへの経路の少なくとも１つによって用いられるフォールトゾーンごとに、サブネットマネージャが、そのゾーンを横断する端末ノードへの経路の数と等しいゾーンの重みを計算する。
【００３９】
動作３１０では、経路の重みが経路ごとに計算され、経路によって用いられるフォールトゾーンごとのゾーンの重みの和と等しい。ゾーンおよび／または経路の重みは、ルーティングテーブルまたはサブネットのツリーを生成するサブネットマネージャによって格納され得る。
【００４０】
動作３１２では、サブセットにおけるより多くの任意の経路が検査され、かつ重み付けされる必要があるかどうかが決定される。サブネットマネージャは、サブネット内のノードの各ペア間のすべての経路か、またはすべての経路のただ１つのサブセットを検査し得る。さらなる経路が検査される必要がある場合、方法は、動作３０６に戻る。
【００４１】
動作３１４では、サブネットマネージャが適切なネットワークエンティティ（例えば、スイッチ、ルータ等）へのルーティング情報をアセンブルおよび配布する。例示的に、サブネットマネージャは、経路の重みに基づいて、ノードの所与のペアまたはノード識別子間の経路の重みに基づいて１つの経路を選択する。従って、各ネットワークスイッチング素子がサブネットマネージャによって変更されるまで、その経路の特定のルーティングを適用する。
【００４２】
動作３１６では、サブネットルーティング情報に異なった経路が現在指定されている、端末ノードまたは端末ノードの１つの識別子への新しい経路について知る。
【００４３】
動作３１８では、サブネットマネージャは、上述のように、経路のゾーンおよび経路の重みを計算する。
【００４４】
動作３２０では、新しい経路の重みが現在の経路の重みよりも軽い場合、サブネットマネージャは、サブネットルーティング情報を更新し、かつ、更新されたルーティングデータを配布する。方法は、ここで終了する。
【００４５】
本発明の上述の実施形態は、例示および記載の目的で示されたにすぎない。これらは、本発明を網羅的であること、または開示された形態に限定することを意図しない。従って、本発明の範囲は、上述の開示ではなく、添付の請求項によって規定される。
【００４６】
（要約）
ネットワークまたはサブネットにおけるノード間でルーティングするシステムおよび方法である。端末ノードは、ルーティングするために、複数の識別子と関連付けられ、従って、複数の経路が、２つの端末ノード間に存在し得る。ネットワークノードおよびコンポーネント（例えば、スイッチ）は、フォールトゾーンにグループ分けされる。ネットワークエンティティの各フィジカルエンクロージャは、別個のフォールトゾーンを備え得る。２つのノード間の経路が通過するゾーンごとに、ゾーンを横断するノード間の経路の数と等しい重みが計算される。経路の重みは、ノード間の経路ごとに計算され、経路内の各ゾーンの重みの和と等しい。ネットワークフォールトトレランスを改善するために、新しい経路は、重い重みを有するフォールトゾーンおよび既存の経路を回避するように設計され得る。フォールトゾーンの代わりに、平均故障時間（ＭＴＢＦ）、コスト、速度等の重みを割り当てるために、他の基準が用いられ得る。
【図面の簡単な説明】
【００４７】
【図１】図１は、本発明の実施形態による、サブネットマネージャを有するサブネットを示すブロック図である。
【図２Ａ】図２Ａは、本発明の実施形態による、端末ノード間の異なった経路のｆ−ルトゾーンの重みの計算を示す。
【図２Ｂ】図２Ｂは、本発明の実施形態による、端末ノード間の異なった経路のフォールトゾーンの重みの計算を示す。
【図３】図３は、本発明のある実施形態による、サブネットにおけるノード間のルーティングを決定する方法を示すフローチャートである。
【符号の説明】
【００４８】
１０２  サブネット
１０４  ノード
１０６  端末ノード
１０６ａ  クライアント
１０６ｂ  端末ノード
【図１】
2005094768.tif 000003
【図２Ａ】
2005094768.tif 000004
【図２Ｂ】
2005094768.tif 000005
【図３】
2005094768.tif 000006