(57)【特許請求の範囲】
【請求項１】
複数のスイッチと、複数のノードと、サブネットマネージャとを有するファブリックにおける発見およびルーティングをサポートするための方法であって、
前記ファブリック内の前記複数のスイッチ各々を、リーフスイッチおよびルートスイッチから選択されたスイッチロールでタグ付けすることを含み、前記タグ付けすることは、前記サブネットマネージャによって検出可能な各スイッチの属性において前記スイッチロールを明確に定義することを含み、
前記複数のスイッチ各々と関連付けられた前記スイッチロールを前記サブネットマネージャを介して検出することと、
前記タグ付けと前記検出に続いて、前記複数のスイッチと関連付けられた、前記検出されたスイッチロールに基づいて、前記ファブリックにファットツリールーティングアルゴリズムを適用することを含み、前記ファットツリールーティングアルゴリズムは、複数のレベルを有するファットツリートポロジを生成する、方法。
【請求項２】
前記スイッチロールを明確に定義することは、前記スイッチロールをベンダ属性を用いて明確に定義することを含む、請求項１に記載の方法。
【請求項３】
ファットツリートポロジ検証に対するおよびファブリックの一貫性検査に対する制約を緩和することをさらに含む、請求項１または２に記載の方法。
【請求項４】
コンポーネントの交換に続く通常のスイッチ構成維持の一部として前記スイッチロールを保存し復元することをさらに含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記ファブリック内の別の１つ以上のスイッチを別のスイッチロールでタグ付けすることをさらに含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記スイッチロールに基づいて前記ファブリック内の接続性エラーを検出することをさらに含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記ファットツリートポロジにおけるノードが接続されていないリーフスイッチを検出することをさらに含む、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記リーフスイッチが前記ファットツリートポロジにおける正しいレベルに配置されることを保証することをさらに含む、請求項７に記載の方法。
【請求項９】
ファブリックにおける発見およびルーティングをサポートするためのシステムであって、前記システムは、
１つ以上のマイクロプロセッサと、
前記１つ以上のマイクロプロセッサ上で機能するサブネットマネージャと、
前記ファブリック内の複数のノードと、
前記ファブリック内の複数のスイッチとを備え、
前記複数のスイッチは各々、リーフスイッチおよびルートスイッチから選択されたスイッチロールと関連付けられ、それにより、前記スイッチロールは、前記サブネットマネージャによって検出可能な各スイッチの属性において明確に定義され、
前記サブネットマネージャは、
前記複数のスイッチ各々と関連付けられたスイッチロールを検出し、前記スイッチロールの検出に続いて、前記複数のスイッチと関連付けられた、前記検出されたスイッチロールに基づいて、前記ファブリックにファットツリールーティングアルゴリズムを適用するように構成され、前記ファットツリールーティングアルゴリズムは、複数のレベルを有するファットツリートポロジを生成する、システム。
【請求項１０】
１つ以上のプロセッサに、請求項１〜８のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権に関する注意
本特許文献の開示の一部には、著作権保護の対象となるものが含まれている。著作権者は、この特許文献または特許開示の何者かによる複製が、特許商標庁の特許ファイルまたは記録にある限り、それに対して異議を唱えないが、そうでなければ、いかなる場合もすべての著作権を留保する。
【０００２】
発明の分野
本発明は、概してコンピュータシステムに関し、具体的にはミドルウェアマシン環境に関する。
【背景技術】
【０００３】
背景
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ファットツリー（fat-tree）トポロジは、高性能計算（high performance computing）（ＨＰＣ）クラスタに対して、および、インフィニバンド（InfiniBand）（ＩＢ）技術に基づくクラスタに対して使用される。ファットツリーにとって、他のほとんどのトポロジと同じく、ネットワークリソースを効率的に使用するにはルーティングアルゴリズムが有益である。しかしながら、既存のルーティングアルゴリズムは、スイッチ間通信の場合は限界がある。既存のルーティングアルゴリズムの中で、効率的なシステム管理にとって有益である、デッドロックフリーかつ完全接続のスイッチ間通信をサポートするものはない。これらが、本発明の実施の形態が取組もうとしている一般的な分野である。
【課題を解決するための手段】
【０００５】
概要
本明細書に記載されているのは、複数のスイッチを有するファブリックにおける発見およびルーティングをサポートすることができるシステムおよび方法である。このシステムによって、ファブリック内の１つ以上のスイッチをスイッチロール（switch role）でタグ付けすることができる。次に、ファブリック内のサブネットマネージャは、上記１つ以上のスイッチと関連付けられたスイッチロールを検出することができる。さらに、上記１つ以上のスイッチと関連付けられた、検出されたスイッチロールに基づいて、ファブリックにルーティングアルゴリズムを適用することができる。
【図面の簡単な説明】
【０００６】
【図１】本発明のある実施の形態に従う、ネットワーク環境内におけるスイッチロールメカニズムのサポートの例を示す。
【図２】本発明のある実施の形態に従う、ネットワーク環境内におけるスイッチロールメカニズムのサポートの代表的なフローチャートを示す。
【図３】本発明のある実施の形態に従う、ネットワーク環境内における劣化ファットツリーの例を示す。
【図４】本発明のある実施の形態に従う、ネットワーク環境内における劣化ファットツリーの修復の例を示す。
【図５】本発明のある実施の形態に従うシステムの概略ブロック図を示す。
【発明を実施するための形態】
【０００７】
詳細な説明
本発明は、同様の参照符号が同様の構成要素を示している添付の図面に、限定のためではなく例示のために示されている。なお、本開示において「ある」または「一」または「いくつかの」実施の形態に言及している場合、必ずしも同一の実施の形態に言及しているのではなく、こういった表現は、少なくとも１つという意味である。
【０００８】
本発明の以下の説明では、高性能ネットワークの一例としてインフィニバンド（ＩＢ）ネットワークを用いている。他の種類の高性能ネットワークを限定なしで使用できることが、当業者には明らかであろう。また、本発明の以下の説明では、ファブリックトポロジの一例としてファットツリートポロジを用いている。他の種類のファブリックトポロジを限定なしで使用できることが、当業者には明らかであろう。
【０００９】
本明細書に記載されているのは、複数のスイッチを有するファブリックにおける発見およびルーティングをサポートすることができるシステムおよび方法である。
【００１０】
インフィニバンド（ＩＢ）アーキテクチャ
本発明のある実施の形態に従い、ＩＢネットワークをサブネットと呼ぶことができる。１つのサブネットは、スイッチおよびポイントツーポイントリンクを用いて相互接続された一組のホストからなる。１つのＩＢファブリックは１つ以上のサブネットを構成することができ、サブネットは各々ルータを用いて相互接続することができる。サブネット内のホストおよびスイッチは、ローカル識別子（local identifier）（ＬＩＤ）を用いてアドレスされ、１つのサブセットは４９１５１個のＬＩＤに限定される。
【００１１】
１つのＩＢサブネットは少なくとも１つのサブセットマネージャ（ＳＭ）を有することができ、このマネージャの役割は、サブネット内のスイッチ、ルータ、およびホストチャネルアダプタ（host channel adapter）（ＨＣＡ）上にあるすべてのＩＢポートの構成を含むネットワークの初期化および起動である。初期化時、ＳＭは発見状態で始動する。発見状態のＳＭは、すべてのスイッチおよびホストを発見するためにネットワークのスイープを実行する。発見状態中に、ＳＭは、他のＳＭを発見する可能性があり、どれがマスタＳＭになるべきかについて交渉することができる。発見状態が終了すると、ＳＭはマスタ状態になる。マスタ状態のＳＭは、ＬＩＤの割当て、スイッチの構成、ルーティングテーブルの算出および配置、ならびにポートの構成を実行する。マスタ状態が終了すると直ちにサブネットは立ち上げられて使用できる状態になり、ＳＭの役割は、サブネット構成後の変化についてネットワークを監視することである。
【００１２】
加えて、ＳＭは、完全接続性、デッドロックフリー、およびすべてのソース−宛先ペア間の適切な負荷分散を維持するルーティングテーブルを算出する役割を有し得る。ルーティングテーブルはネットワーク初期化時に算出することができ、ルーティングテーブルを更新し最適性能を保証するために、トポロジが変化する度にこのプロセスを繰返すことができる。
【００１３】
通常動作中、ＳＭは、ネットワークの光スイープを定期的に実行することによって、リンクが故障したとき、デバイスが追加されたとき、またはリンクが削除されたときのように、トポロジの変化事象があったか否か検査する。光スイープ中に変化事象が発見された場合、またはネットワーク変化を信号で知らせるメッセージ（トラップ）をＳＭが受けた場合、ＳＭは、発見された変化に従ってネットワークを再構成することができる。この再構成は、初期化中に使用されるステップも含み得る。さらに、各デバイス上にあるサブネット管理エージェント（subnet management agent）（ＳＭＡ）は、制御パケット（サブネット管理パケット（subnet management packet）（ＳＭＰ））に対するレスポンスを生成することができ、かつサブネット管理のためにローカルコンポーネントを構成することができる。
【００１４】
ＩＢは、フロー制御を仮想レーン（virtual lane）（ＶＬ）毎に実行できる無損失ネットワーキング技術である。ＶＬは、バッファリング、フロー制御、および輻輳管理リソースが異なる、同一の物理リンク上の論理チャネルである。ＶＬの概念は、物理的トポロジ上に仮想ネットワークを構築することを可能にする。これら仮想ネットワークまたはレイヤを、効率的なルーティング、デッドロック回避、フォールトトレランス（fault-tolerance）、およびサービス差別化等のさまざまな目的のために使用することができる。
【００１５】
ファットツリールーティング
本発明のある実施の形態に従うと、ファットツリートポロジは階層ネットワークトポロジであり、たとえば、平衡のとれたファットツリーでは、すべての層のリンク容量を等しくすることができる。さらに、ファットツリートポロジは、複数のルートを有するツリーを構築することによって実現することができ、たとえば、ＸＧＦＴの表示法を用いて説明できる、ｍポートｎツリーの定義またはｋ分木ｎツリーの定義によって実現することができる。
【００１６】
より大きなトポロジを構成するために、１つの大きなファットツリーを構築するのではなくいくつかのファットツリー同士を接続することに基づいて、システムを構築することができる。単体のファットツリーをいくつか集めて構築されたこのようなファットツリーは、マルチコアファットツリーと呼ぶことができる。マルチコアファットツリーを、水平リンクを用いてリーフスイッチを通して相互接続してもよく、または、ファットツリーの最下部にある、スイッチからなる他の層を用いることによって相互接続してもよい。このようなスイッチはすべて、マルチコアファットツリーを構成しているすべてのファットツリーに接続されている。
【００１７】
ファットツリールーティングアルゴリズムは、利用可能なネットワークリソースを活用することができる。ファットツリールーティングアルゴリズムは、２つの段階、すなわちパケットをソースから送る上昇段階と、パケットを宛先に向けて送るときの下降段階とを含むことができる。これら２つの段階の間の移行期は、最下部にある共通の祖先で発生する。この祖先は、ソースおよび宛先双方に、その下向きのポートを通して到達できるスイッチである。このようなルーティングのインプリメンテーションはデッドロックフリーを保証し、このインプリメンテーションはまた、同じ宛先に向かうすべての経路が同一のルート（トップ）ノードで収束することで、この宛先に向かうすべてのパケットが下向きの１つの専用経路を辿ることを保証する。すべての宛先に対して専用下降経路を設けることによって、下降段階における競合を効果的になくす（上昇段に移す）ことができ、そのため、宛先が異なるパケットは、その経路上のスイッチのうちの２分の１における出力ポートについてしか競合しない。加えて、オーバーサブスクリプション状態のファットツリーにおける下降経路は、専用経路ではなく、数個の宛先が共有できるものである。
【００１８】
さらに、最適化されたファットツリールーティングアルゴリズムに関するファブリック発見の複雑度は、Ｏ（ｍ＋ｎ）で表わすことができ、ｍはエッジ（リンク）の数でありｎは頂点（ノード）の数である。ルーティングの複雑度はＯ（ｋ・ｎ）であり、ｋはエンドノードの数でありｎはスイッチの数である。
【００１９】
本発明のある実施の形態に従い、ファットツリートポロジにおけるルーティングをサポートするために、階層最短経路（Layered-Shortest Path）（ＬＡＳＨ）、デッドロックフリーシングルソース最短経路（Deadlock-Free Single-Source-Shortest-Path）（ＤＦＳＳＳＰ）、およびＭｉｎＨｏｐルーティング等の、異なるルーティングアルゴリズムを使用することができる。
【００２０】
ＬＡＳＨルーティングは、イレギュラーなネットワークのための、決定論的な最短経路ルーティングアルゴリズムである。すべてのパケットを最短経路を用いてルーティングすることができ、このアルゴリズムは、仮想レーン（ＶＬ）を通してサイクルを発見し破壊することにより、デッドロックフリーを達成することができる。さらに、ＬＡＳＨは、どのようなやり方でもトラフィックを平衡させないかもしれず、このことはファットツリーファブリックでは明らかである。このアルゴリズムは、最小数のＶＬを用いることを目指しており、したがって、同一層上に起こり得るすべてのデッドロックフリーペアをルーティングする、すなわち同一リンクを用いる。ＬＡＳＨに関する計算の複雑度はＯ（ｎ３）であり、ｎはノードの数である。
【００２１】
ＤＦＳＳＳＰルーティングは、任意のトポロジにとって効率的な忘却性（oblivious）ルーティングである。これは、仮想レーンを使用してデッドロックフリーを保証し、ＬＡＳＨとは異なり、ルーティングプロセス中起こり得る経路の数を限定しないことを目指している。これはまた、改善されたヒューリスティックス（heuristics）を用いることにより、ＬＡＳＨと比べて使用される仮想レーンの数を少なくする。ＤＦＳＳＳＰの問題点は、スイッチ間トラフィックに対してデッドロックフリーを想定することであり、スイッチ‐ノードおよびスイッチ‐スイッチペアに生じ得るサイクルを破壊しない。オフラインのＤＦＳＳＳＰの計算複雑度はＯ（ｎ２・ｌｏｇ（ｎ））であり、ｎはノードの数である。
【００２２】
ＭｉｎＨｏｐルーティングは、ＯｐｅｎＳＭに対するデフォルトフォールバックルーティングアルゴリズムである。これは、すべてのエンドポイントの中で最短経路を見出し、ローカルスイッチにおける１リンク当たりのルート数のバランスを取ろうとする。しかしながら、ＭｉｎＨｏｐルーティングを使用すると、通常は、ファブリックをデッドロックさせるかもしれないクレジットループ（credit loop）につながる。ＭｉｎＨｏｐの複雑度はＯ（ｎ２）によって与えられ、ｎはノードの数である。
【００２３】
スイッチロールメカニズム
本発明の実施の形態に従い、スイッチロールメカニズムを使用することにより、ファブリック発見の複雑度の問題をルーティングの問題から切離すことができる。
【００２４】
図１は、本発明のある実施の形態に従う、ネットワーク環境内におけるスイッチロールメカニズムのサポートの例を示す。図１に示されるように、ネットワーク環境１００は、複数のスイッチ（たとえばスイッチ１１１〜１１４、１２１〜１２４、および１３１〜１３４）と複数のホストノード（たとえばノード１４１〜１４４）とを有するファブリック１１０、たとえばＩＢファブリックを管理するサブネットマネージャ（subnet manager）（ＳＭ）１０１を含み得る。
【００２５】
このシステムは、ＳＭ１０１によって後に検出することができる、ファブリック１１０におけるスイッチロールを明確に定義するためのスイッチロールメカニズムを実現することができる。たとえば、ベンダＳＭＰ属性１０３を用いてファブリック１１０のスイッチロール１０４を定義することができる。ベンダＳＭＰ属性１０３はベンダ固有のＳＭＰを介してクエリすることができる。
【００２６】
さらに、ファブリック１１０内の各スイッチに、ホストネーム、ＩＰアドレス、およびノード説明を割当てることができる。ベンダ属性を使用することによって、システムは、ＳＭ１０１の構成の入力に依存することなく、または、動的に構成情報を提供するためのその他任意の帯域外インターフェイスに依存することなく、スイッチロール情報をＳＭ１０１が利用できるようにすることができる。加えて、コンポーネントの交換に続く通常のスイッチ構成維持の一部としてスイッチロールを保存し復元することができる。なぜなら、これはハードウェアグローバル一意識別子（globally unique identifier）（ＧＵＩＤ）のような実際のハードウェアインスタンスに結び付けられていないからである。
【００２７】
これに代えて、同様の効果を生み出すために、システムは、ＲｏｏｔＧＵＩＤ等のアドレス情報をルーティングアルゴリズムに与えることができる。このような場合、システムは、（複数の）コンポーネント交換動作に続いて正しいリストを維持しなければならない場合がある。
【００２８】
本発明のある実施の形態に従い、スイッチロールメカニズムは、ファブリック１１０内の各スイッチに、各スイッチが守るべき単純なロールを与えることができる。たとえば、システムは、ファブリック内の各スイッチを、それぞれのロールで物理的にタグ付けすることができる。図１に示されるように、（アップリンクなしでファブリック１１０の最上部に配置されている）ルートスイッチ１１１〜１１４は、「ルート」という役割を有し得るものであり、（ファブリック１１０の最下部にあるホストノードに接続する）リーフスイッチ１３１〜１３４は、「リーフ」という役割を有し得る。
【００２９】
システムは、スイッチロールメカニズムを用いて、ファブリック発見時間を短縮することができる（たとえば一貫性検査は不要の場合がある）。さらに、システムは、ルーティングアルゴリズム１０２からファブリック１１０を発見する必要性を軽減する、または排除することさえできる。このことは、ルーティングテーブル生成中に過ちを犯す確率が大幅に低くなることを意味する。
【００３０】
図２は、本発明のある実施の形態に従う、ネットワーク環境内におけるスイッチロールメカニズムのサポートの代表的なフローチャートを示す。図２に示されるように、ステップ２０１で、システムは、ファブリック内の１つ以上のスイッチがスイッチロールでタグ付けされるようにする。次に、ステップ２０２で、サブネットマネージャは、上記１つ以上のスイッチと関連付けられたスイッチロールを検出することができる。さらに、ステップ２０３で、サブネットマネージャは、上記１つ以上のスイッチと関連付けられた、検出されたスイッチロールに基づいて、ファブリックにルーティングアルゴリズムを適用することができる。
【００３１】
劣化ファットツリー
本発明のある実施の形態に従い、インフィニバンド（ＩＢ）ネットワークのための既存のファットツリールーティングアルゴリズムにおける欠陥を識別することができ、システムは、劣化したファブリックの発見およびルーティング時に発生する問題を軽減する、異なる機能拡張（extensions）を使用することができる。第１に、トポロジ検証の制約を緩和することによって、ファットツリールーティングの汎用性を高めることができる。第２に、ベンダ固有のサブネット管理パケット（ＳＭＰ）を介してクエリすることができるベンダＳＭＰ属性を通してスイッチタグ付けを実現することができ、スイッチタグ付けを用いることにより、特定のファブリックロールを有するスイッチを構成することができる。これは、トポロジ発見を実際のルーティングから切離す。加えて、スイッチのフリッピング（flipping）の問題を、ＳＭＰ属性の使用によって解決することができる。
【００３２】
ＩＢネットワークでは、ファットツリールーティングが失敗し得る種々のシナリオがある。たとえば、同一レベルの任意の２つのスイッチ上のアップリンクおよびダウンリンクの数が等しくない場合、トポロジ検証が失敗に終わることがある。また、たとえファブリック全体において故障するのが１つのリンクであっても、ファットツリールーティングがＭｉｎＨｏｐルーティングにフォールバックすることがある。
【００３３】
トポロジ検証に対する制約を緩和しリンクカウント一貫性検査を不能にすると、不完全なファットツリーのデフォルトによって、ファットツリールーティングは失敗しない場合がある。さらに、システムは、スイッチロールメカニズムを使用することによって、ファットツリールーティング、たとえばＯｐｅｎＳＭにおける現在のインプリメンテーションが、厳しいトポロジ検証に合格しないかもしれない純粋でないファットツリーファブリックをルーティングできるようにすることができる。
【００３４】
図３は、本発明のある実施の形態に従う、ネットワーク環境内における劣化ファットツリーの例を示す。図３に示されるように、ＩＢファブリック３００は、複数のスイッチ（たとえばスイッチ３１１〜３１４、３２１〜３２４、および３３１〜３３４）と、複数のホストノード（たとえばノード３４１〜３４３）とを含み得る。
【００３５】
どのノードにも接続されていないリーフスイッチ、たとえばスイッチ３３４が存在する場合、ＩＢファブリック３００に問題が生じ得る。このため、ＩＢファブリック３００は劣化したファットツリーになる。
【００３６】
図４は、本発明のある実施の形態に従う、ネットワーク環境内における劣化ファットツリーの修復の例を示す。図４に示されるように、ＩＢファブリック４００は、複数のスイッチ（たとえばスイッチ３１１〜３１４、３２１〜３２４、および３３１〜３３３）と、複数のホストノード（たとえばノード３４１〜３４３）とを含み得る。
【００３７】
加えて、（図３においてスイッチ３３４として示されている）元々はリーフスイッチとして分類されていたスイッチ４３４を、リーフスイッチではないものとして分類し直すことができる。図４に示されるように、トポロジの問題を修復するために、スイッチ４３４を、新たなレベルとしてのリーフレベル＋２に、２つの子スイッチ３２３〜３２４を伴って再配置することができる。
【００３８】
図４に示されるようにフリップされたスイッチを含むファットツリールーティングは、反直感的である可能性がある。さらに、フリップされたスイッチは、ファットツリールーティングにおけるトラブルシューティングを困難にする。なぜなら、正しくないランクを上記スイッチに割当てる必要があるからである。また、修復処置の提供が問題になる可能性がある。なぜなら、ＳＭは、ファブリック４００内でランク付けのコンフリクトが生じたときに反応して機能するにすぎないかもしれないからである。すなわち、ＳＭは、先ずコンフリクトを検出してからファブリックを再度ランク付けする必要がある。この要件は煩わしいものである可能性があり、コンフリクトは、ファブリックの複雑度が高いことが原因で検出できない場合がある。
【００３９】
本発明のある実施の形態に従い、システムは、スイッチロールメカニズムを使用して、フリップされたスイッチを修復することができる。たとえば、以下のアルゴリズム１を使用することによって、ファブリック内のスイッチが常に正しいランクに配置されることを保証することができる。
【００４０】
【表１】
0006283361.tif 000002
【００４１】
次に、システムは、前のセクションで説明した異なるファットツリールーティングアルゴリズムを使用して、ファットツリールーティングをファブリック４００上で実行することができる。
【００４２】
図５は、本発明の実施の形態に従うシステム５００の概略ブロック図を示す。システム５００は、タグモジュール５１０と、スイッチモジュール５２０と、検出モジュール５３０と、アルゴリズムモジュール５４０とを含む。タグモジュール５１０は、複数のスイッチ５２０を有するファブリック内の１つ以上のスイッチを、スイッチロールでタグ付けする。検出モジュール５３０は、上記１つ以上のスイッチ５２０と関連付けられたスイッチロールを検出する。アルゴリズムモジュール５４０は、上記１つ以上のスイッチ５２０と関連付けられた検出されたスイッチロールに基づいて、ファブリックにルーティングアルゴリズムを適用する。
【００４３】
複数のスイッチを有するファブリック内における発見およびルーティングをサポートするためのシステムは、ファブリック内の１つ以上のスイッチをスイッチロールでタグ付けするための手段と、上記１つ以上のスイッチと関連付けられたスイッチロールをサブネットマネージャを介して検出するための手段と、上記１つ以上のスイッチと関連付けられた、検出されたスイッチロールに基づいて、ファブリックにルーティングアルゴリズムを適用するための手段とを備える。
【００４４】
システムはさらに、サブネットマネージャによって後に検出することができるスイッチロールを、ベンダ属性を用いて明確に定義するための手段を備える。
【００４５】
システムはさらに、１つ以上のルートグローバル一意識別子（ＧＵＩＤ）をルーティングアルゴリズムに与えるための手段を備える。
【００４６】
システムはさらに、トポロジ検証に対するおよびファブリックの一貫性検査に対する制約を緩和するための手段を備える。
【００４７】
システムはさらに、コンポーネントの交換に続く通常のスイッチ構成維持の一部としてスイッチロールを保存し復元するための手段を備える。
【００４８】
システムはさらに、ファブリック内の別の１つ以上のスイッチを別のスイッチロールでタグ付けするための手段を備える。
【００４９】
システムはさらに、スイッチロールに基づいてファブリック内の接続性エラーを検出するための手段を備える。
【００５０】
システムはさらに、ファブリック内の複数のスイッチをファットツリーになるように構成するための手段を備える。
【００５１】
システムはさらに、ファットツリー内におけるノードが接続されていないリーフスイッチを検出するための手段を備える。
【００５２】
システムはさらに、上記リーフスイッチが正しいランクに配置されることを保証するための手段と、ルーティングアルゴリズムがファットツリー上で機能するようにするための手段とを備える。
【００５３】
本発明は、本開示の教示に従いプログラムされた、１つ以上のプロセッサ、メモリ、および／またはコンピュータ読取可能な記録媒体を含む、従来の汎用もしくは専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを１つ以上用いて、適宜実現し得る。適切なソフトウェアコーディングは、熟練したプログラマが本開示の教示に基づいて容易に準備できる。これはソフトウェア技術における当業者には明らかであろう。
【００５４】
実施の形態によっては、本発明は、本発明のプロセスのうちいずれかを実行するためにコンピュータをプログラムするのに使用できる命令が格納された記録媒体または（１つまたは複数の）コンピュータ読取可能な媒体であるコンピュータプログラムプロダクトを含む。この記録媒体は、フロッピー（登録商標）ディスク、光ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロドライブ、および光磁気ディスクを含む、任意の種類のディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム（分子メモリＩＣを含む）、または、命令および／またはデータを格納するのに適した任意の種類の媒体もしくはデバイスを含み得るものの、これらに限定されない。
【００５５】
本発明に関するこれまでの記載は例示および説明を目的として提供されている。すべてを網羅するまたは本発明を開示された形態そのものに限定することは意図されていない。当業者には数多くの変更および変形が明らかであろう。変更および変形は、開示されている特徴の適切な組合せを含む。実施の形態は、本発明の原理およびその実際の応用を最もうまく説明することによって他の当業者が本発明のさまざまな実施の形態および意図している特定の用途に適したさまざまな変形を理解できるようにするために、選択され説明されている。本発明の範囲は、以下の特許請求の範囲およびその均等物によって定められることが意図されている。
【図１】
0006283361.tif 000003
【図２】
0006283361.tif 000004
【図３】
0006283361.tif 000005
【図４】
0006283361.tif 000006
【図５】
0006283361.tif 000007