特許第6283361号(P6283361)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オラクル・インターナショナル・コーポレイションの特許一覧

特許6283361ミドルウェアマシン環境における劣化ファットツリーの発見およびルーティングをサポートするためのシステムおよび方法
<>
  • 特許6283361-ミドルウェアマシン環境における劣化ファットツリーの発見およびルーティングをサポートするためのシステムおよび方法 図000003
  • 特許6283361-ミドルウェアマシン環境における劣化ファットツリーの発見およびルーティングをサポートするためのシステムおよび方法 図000004
  • 特許6283361-ミドルウェアマシン環境における劣化ファットツリーの発見およびルーティングをサポートするためのシステムおよび方法 図000005
  • 特許6283361-ミドルウェアマシン環境における劣化ファットツリーの発見およびルーティングをサポートするためのシステムおよび方法 図000006
  • 特許6283361-ミドルウェアマシン環境における劣化ファットツリーの発見およびルーティングをサポートするためのシステムおよび方法 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6283361
(24)【登録日】2018年2月2日
(45)【発行日】2018年2月21日
(54)【発明の名称】ミドルウェアマシン環境における劣化ファットツリーの発見およびルーティングをサポートするためのシステムおよび方法
(51)【国際特許分類】
   H04L 12/931 20130101AFI20180208BHJP
   H04L 12/721 20130101ALI20180208BHJP
   H04L 12/753 20130101ALI20180208BHJP
【FI】
   H04L12/931
   H04L12/721 Z
   H04L12/753
【請求項の数】10
【全頁数】12
(21)【出願番号】特願2015-530059(P2015-530059)
(86)(22)【出願日】2013年8月29日
(65)【公表番号】特表2015-530829(P2015-530829A)
(43)【公表日】2015年10月15日
(86)【国際出願番号】US2013057370
(87)【国際公開番号】WO2014036310
(87)【国際公開日】20140306
【審査請求日】2016年8月23日
(31)【優先権主張番号】61/694,658
(32)【優先日】2012年8月29日
(33)【優先権主張国】US
(31)【優先権主張番号】13/839,823
(32)【優先日】2013年3月15日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】ボグダンスキー,バルトシュ
(72)【発明者】
【氏名】ヨンセン,ビョルン・ダグ
【審査官】 速水 雄太
(56)【参考文献】
【文献】 米国特許出願公開第2005/0071709(US,A1)
【文献】 特開2007−324935(JP,A)
【文献】 米国特許出願公開第2011/0080855(US,A1)
【文献】 DANDAPANTHULA, Nishanth,InfiniBand Network Analysis and Monitoring using OpenSM,Master Thesis,The Ohio State University,2011年,pp. 20-23, 42-43
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/931
H04L 12/721
H04L 12/753
(57)【特許請求の範囲】
【請求項1】
複数のスイッチと、複数のノードと、サブネットマネージャとを有するファブリックにおける発見およびルーティングをサポートするための方法であって、
前記ファブリック内の前記複数のスイッチ各々を、リーフスイッチおよびルートスイッチから選択されたスイッチロールでタグ付けすることを含み、前記タグ付けすることは、前記サブネットマネージャによって検出可能な各スイッチの属性において前記スイッチロールを明確に定義することを含み、
前記複数のスイッチ各々と関連付けられた前記スイッチロールを前記サブットマネージャを介して検出することと、
前記タグ付けと前記検出に続いて、前記複数のスイッチと関連付けられた、前記検出されたスイッチロールに基づいて、前記ファブリックにファットツリールーティングアルゴリズムを適用することを含み、前記ファットツリールーティングアルゴリズムは、複数のレベルを有するファットツリートポロジを生成する、方法。
【請求項2】
前記スイッチロールを明確に定義することは、前記スイッチロールをベンダ属性を用いて明確に定義することを含む、請求項に記載の方法。
【請求項3】
ファットツリートポロジ検証に対するおよびファブリックの一貫性検査に対する制約を緩和することをさらに含む、請求項1または2に記載の方法。
【請求項4】
コンポーネントの交換に続く通常のスイッチ構成維持の一部として前記スイッチロールを保存し復元することをさらに含む、請求項のいずれか一項に記載の方法。
【請求項5】
前記ファブリック内の別の1つ以上のスイッチを別のスイッチロールでタグ付けすることをさらに含む、請求項のいずれか一項に記載の方法。
【請求項6】
前記スイッチロールに基づいて前記ファブリック内の接続性エラーを検出することをさらに含む、請求項1〜のいずれか一項に記載の方法。
【請求項7】
前記ファットツリートポロジにおけるノードが接続されていないリーフスイッチを検出することをさらに含む、請求項1〜6のいずれか一項に記載の方法。
【請求項8】
前記リーフスイッチが前記ファットツリートポロジにおける正しいレベルに配置されることを保証することをさらに含む、請求項に記載の方法。
【請求項9】
ファブリックにおける発見およびルーティングをサポートするためのシステムであって、前記システムは、
1つ以上のマイクロプロセッサと、
前記1つ以上のマイクロプロセッサ上で機能するサブネットマネージャと、
前記ファブリック内の複数のノードと、
前記ファブリック内の複数のスイッチとを備え、
前記複数のスイッチは各々、リーフスイッチおよびルートスイッチから選択されたスイッチロールと関連付けられ、それにより、前記スイッチロールは、前記サブットマネージャによって検出可能な各スイッチの属性において明確に定義され、
前記サブネットマネージャは、
前記複数のスイッチ各々と関連付けられたスイッチロールを検出し、前記スイッチロールの検出に続いて、前記複数のスイッチと関連付けられた、前記検出されたスイッチロールに基づいて、前記ファブリックにファットツリールーティングアルゴリズムを適用するように構成され、前記ファットツリールーティングアルゴリズムは、複数のレベルを有するファットツリートポロジを生成する、システム。
【請求項10】
1つ以上のプロセッサに、請求項1〜のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
著作権に関する注意
本特許文献の開示の一部には、著作権保護の対象となるものが含まれている。著作権者は、この特許文献または特許開示の何者かによる複製が、特許商標庁の特許ファイルまたは記録にある限り、それに対して異議を唱えないが、そうでなければ、いかなる場合もすべての著作権を留保する。
【0002】
発明の分野
本発明は、概してコンピュータシステムに関し、具体的にはミドルウェアマシン環境に関する。
【背景技術】
【0003】
背景
【発明の概要】
【発明が解決しようとする課題】
【0004】
ファットツリー(fat-tree)トポロジは、高性能計算(high performance computing)(HPC)クラスタに対して、および、インフィニバンド(InfiniBand)(IB)技術に基づくクラスタに対して使用される。ファットツリーにとって、他のほとんどのトポロジと同じく、ネットワークリソースを効率的に使用するにはルーティングアルゴリズムが有益である。しかしながら、既存のルーティングアルゴリズムは、スイッチ間通信の場合は限界がある。既存のルーティングアルゴリズムの中で、効率的なシステム管理にとって有益である、デッドロックフリーかつ完全接続のスイッチ間通信をサポートするものはない。これらが、本発明の実施の形態が取組もうとしている一般的な分野である。
【課題を解決するための手段】
【0005】
概要
本明細書に記載されているのは、複数のスイッチを有するファブリックにおける発見およびルーティングをサポートすることができるシステムおよび方法である。このシステムによって、ファブリック内の1つ以上のスイッチをスイッチロール(switch role)でタグ付けすることができる。次に、ファブリック内のサブネットマネージャは、上記1つ以上のスイッチと関連付けられたスイッチロールを検出することができる。さらに、上記1つ以上のスイッチと関連付けられた、検出されたスイッチロールに基づいて、ファブリックにルーティングアルゴリズムを適用することができる。
【図面の簡単な説明】
【0006】
図1】本発明のある実施の形態に従う、ネットワーク環境内におけるスイッチロールメカニズムのサポートの例を示す。
図2】本発明のある実施の形態に従う、ネットワーク環境内におけるスイッチロールメカニズムのサポートの代表的なフローチャートを示す。
図3】本発明のある実施の形態に従う、ネットワーク環境内における劣化ファットツリーの例を示す。
図4】本発明のある実施の形態に従う、ネットワーク環境内における劣化ファットツリーの修復の例を示す。
図5】本発明のある実施の形態に従うシステムの概略ブロック図を示す。
【発明を実施するための形態】
【0007】
詳細な説明
本発明は、同様の参照符号が同様の構成要素を示している添付の図面に、限定のためではなく例示のために示されている。なお、本開示において「ある」または「一」または「いくつかの」実施の形態に言及している場合、必ずしも同一の実施の形態に言及しているのではなく、こういった表現は、少なくとも1つという意味である。
【0008】
本発明の以下の説明では、高性能ネットワークの一例としてインフィニバンド(IB)ネットワークを用いている。他の種類の高性能ネットワークを限定なしで使用できることが、当業者には明らかであろう。また、本発明の以下の説明では、ファブリックトポロジの一例としてファットツリートポロジを用いている。他の種類のファブリックトポロジを限定なしで使用できることが、当業者には明らかであろう。
【0009】
本明細書に記載されているのは、複数のスイッチを有するファブリックにおける発見およびルーティングをサポートすることができるシステムおよび方法である。
【0010】
インフィニバンド(IB)アーキテクチャ
本発明のある実施の形態に従い、IBネットワークをサブネットと呼ぶことができる。1つのサブネットは、スイッチおよびポイントツーポイントリンクを用いて相互接続された一組のホストからなる。1つのIBファブリックは1つ以上のサブネットを構成することができ、サブネットは各々ルータを用いて相互接続することができる。サブネット内のホストおよびスイッチは、ローカル識別子(local identifier)(LID)を用いてアドレスされ、1つのサブセットは49151個のLIDに限定される。
【0011】
1つのIBサブネットは少なくとも1つのサブセットマネージャ(SM)を有することができ、このマネージャの役割は、サブネット内のスイッチ、ルータ、およびホストチャネルアダプタ(host channel adapter)(HCA)上にあるすべてのIBポートの構成を含むネットワークの初期化および起動である。初期化時、SMは発見状態で始動する。発見状態のSMは、すべてのスイッチおよびホストを発見するためにネットワークのスイープを実行する。発見状態中に、SMは、他のSMを発見する可能性があり、どれがマスタSMになるべきかについて交渉することができる。発見状態が終了すると、SMはマスタ状態になる。マスタ状態のSMは、LIDの割当て、スイッチの構成、ルーティングテーブルの算出および配置、ならびにポートの構成を実行する。マスタ状態が終了すると直ちにサブネットは立ち上げられて使用できる状態になり、SMの役割は、サブネット構成後の変化についてネットワークを監視することである。
【0012】
加えて、SMは、完全接続性、デッドロックフリー、およびすべてのソース−宛先ペア間の適切な負荷分散を維持するルーティングテーブルを算出する役割を有し得る。ルーティングテーブルはネットワーク初期化時に算出することができ、ルーティングテーブルを更新し最適性能を保証するために、トポロジが変化する度にこのプロセスを繰返すことができる。
【0013】
通常動作中、SMは、ネットワークの光スイープを定期的に実行することによって、リンクが故障したとき、デバイスが追加されたとき、またはリンクが削除されたときのように、トポロジの変化事象があったか否か検査する。光スイープ中に変化事象が発見された場合、またはネットワーク変化を信号で知らせるメッセージ(トラップ)をSMが受けた場合、SMは、発見された変化に従ってネットワークを再構成することができる。この再構成は、初期化中に使用されるステップも含み得る。さらに、各デバイス上にあるサブネット管理エージェント(subnet management agent)(SMA)は、制御パケット(サブネット管理パケット(subnet management packet)(SMP))に対するレスポンスを生成することができ、かつサブネット管理のためにローカルコンポーネントを構成することができる。
【0014】
IBは、フロー制御を仮想レーン(virtual lane)(VL)毎に実行できる無損失ネットワーキング技術である。VLは、バッファリング、フロー制御、および輻輳管理リソースが異なる、同一の物理リンク上の論理チャネルである。VLの概念は、物理的トポロジ上に仮想ネットワークを構築することを可能にする。これら仮想ネットワークまたはレイヤを、効率的なルーティング、デッドロック回避、フォールトトレランス(fault-tolerance)、およびサービス差別化等のさまざまな目的のために使用することができる。
【0015】
ファットツリールーティング
本発明のある実施の形態に従うと、ファットツリートポロジは階層ネットワークトポロジであり、たとえば、平衡のとれたファットツリーでは、すべての層のリンク容量を等しくすることができる。さらに、ファットツリートポロジは、複数のルートを有するツリーを構築することによって実現することができ、たとえば、XGFTの表示法を用いて説明できる、mポートnツリーの定義またはk分木nツリーの定義によって実現することができる。
【0016】
より大きなトポロジを構成するために、1つの大きなファットツリーを構築するのではなくいくつかのファットツリー同士を接続することに基づいて、システムを構築することができる。単体のファットツリーをいくつか集めて構築されたこのようなファットツリーは、マルチコアファットツリーと呼ぶことができる。マルチコアファットツリーを、水平リンクを用いてリーフスイッチを通して相互接続してもよく、または、ファットツリーの最下部にある、スイッチからなる他の層を用いることによって相互接続してもよい。このようなスイッチはすべて、マルチコアファットツリーを構成しているすべてのファットツリーに接続されている。
【0017】
ファットツリールーティングアルゴリズムは、利用可能なネットワークリソースを活用することができる。ファットツリールーティングアルゴリズムは、2つの段階、すなわちパケットをソースから送る上昇段階と、パケットを宛先に向けて送るときの下降段階とを含むことができる。これら2つの段階の間の移行期は、最下部にある共通の祖先で発生する。この祖先は、ソースおよび宛先双方に、その下向きのポートを通して到達できるスイッチである。このようなルーティングのインプリメンテーションはデッドロックフリーを保証し、このインプリメンテーションはまた、同じ宛先に向かうすべての経路が同一のルート(トップ)ノードで収束することで、この宛先に向かうすべてのパケットが下向きの1つの専用経路を辿ることを保証する。すべての宛先に対して専用下降経路を設けることによって、下降段階における競合を効果的になくす(上昇段に移す)ことができ、そのため、宛先が異なるパケットは、その経路上のスイッチのうちの2分の1における出力ポートについてしか競合しない。加えて、オーバーサブスクリプション状態のファットツリーにおける下降経路は、専用経路ではなく、数個の宛先が共有できるものである。
【0018】
さらに、最適化されたファットツリールーティングアルゴリズムに関するファブリック発見の複雑度は、O(m+n)で表わすことができ、mはエッジ(リンク)の数でありnは頂点(ノード)の数である。ルーティングの複雑度はO(k・n)であり、kはエンドノードの数でありnはスイッチの数である。
【0019】
本発明のある実施の形態に従い、ファットツリートポロジにおけるルーティングをサポートするために、階層最短経路(Layered-Shortest Path)(LASH)、デッドロックフリーシングルソース最短経路(Deadlock-Free Single-Source-Shortest-Path)(DFSSSP)、およびMinHopルーティング等の、異なるルーティングアルゴリズムを使用することができる。
【0020】
LASHルーティングは、イレギュラーなネットワークのための、決定論的な最短経路ルーティングアルゴリズムである。すべてのパケットを最短経路を用いてルーティングすることができ、このアルゴリズムは、仮想レーン(VL)を通してサイクルを発見し破壊することにより、デッドロックフリーを達成することができる。さらに、LASHは、どのようなやり方でもトラフィックを平衡させないかもしれず、このことはファットツリーファブリックでは明らかである。このアルゴリズムは、最小数のVLを用いることを目指しており、したがって、同一層上に起こり得るすべてのデッドロックフリーペアをルーティングする、すなわち同一リンクを用いる。LASHに関する計算の複雑度はO(n)であり、nはノードの数である。
【0021】
DFSSSPルーティングは、任意のトポロジにとって効率的な忘却性(oblivious)ルーティングである。これは、仮想レーンを使用してデッドロックフリーを保証し、LASHとは異なり、ルーティングプロセス中起こり得る経路の数を限定しないことを目指している。これはまた、改善されたヒューリスティックス(heuristics)を用いることにより、LASHと比べて使用される仮想レーンの数を少なくする。DFSSSPの問題点は、スイッチ間トラフィックに対してデッドロックフリーを想定することであり、スイッチ‐ノードおよびスイッチ‐スイッチペアに生じ得るサイクルを破壊しない。オフラインのDFSSSPの計算複雑度はO(n・log(n))であり、nはノードの数である。
【0022】
MinHopルーティングは、OpenSMに対するデフォルトフォールバックルーティングアルゴリズムである。これは、すべてのエンドポイントの中で最短経路を見出し、ローカルスイッチにおける1リンク当たりのルート数のバランスを取ろうとする。しかしながら、MinHopルーティングを使用すると、通常は、ファブリックをデッドロックさせるかもしれないクレジットループ(credit loop)につながる。MinHopの複雑度はO(n)によって与えられ、nはノードの数である。
【0023】
スイッチロールメカニズム
本発明の実施の形態に従い、スイッチロールメカニズムを使用することにより、ファブリック発見の複雑度の問題をルーティングの問題から切離すことができる。
【0024】
図1は、本発明のある実施の形態に従う、ネットワーク環境内におけるスイッチロールメカニズムのサポートの例を示す。図1に示されるように、ネットワーク環境100は、複数のスイッチ(たとえばスイッチ111〜114、121〜124、および131〜134)と複数のホストノード(たとえばノード141〜144)とを有するファブリック110、たとえばIBファブリックを管理するサブネットマネージャ(subnet manager)(SM)101を含み得る。
【0025】
このシステムは、SM101によって後に検出することができる、ファブリック110におけるスイッチロールを明確に定義するためのスイッチロールメカニズムを実現することができる。たとえば、ベンダSMP属性103を用いてファブリック110のスイッチロール104を定義することができる。ベンダSMP属性103はベンダ固有のSMPを介してクエリすることができる。
【0026】
さらに、ファブリック110内の各スイッチに、ホストネーム、IPアドレス、およびノード説明を割当てることができる。ベンダ属性を使用することによって、システムは、SM101の構成の入力に依存することなく、または、動的に構成情報を提供するためのその他任意の帯域外インターフェイスに依存することなく、スイッチロール情報をSM101が利用できるようにすることができる。加えて、コンポーネントの交換に続く通常のスイッチ構成維持の一部としてスイッチロールを保存し復元することができる。なぜなら、これはハードウェアグローバル一意識別子(globally unique identifier)(GUID)のような実際のハードウェアインスタンスに結び付けられていないからである。
【0027】
これに代えて、同様の効果を生み出すために、システムは、RootGUID等のアドレス情報をルーティングアルゴリズムに与えることができる。このような場合、システムは、(複数の)コンポーネント交換動作に続いて正しいリストを維持しなければならない場合がある。
【0028】
本発明のある実施の形態に従い、スイッチロールメカニズムは、ファブリック110内の各スイッチに、各スイッチが守るべき単純なロールを与えることができる。たとえば、システムは、ファブリック内の各スイッチを、それぞれのロールで物理的にタグ付けすることができる。図1に示されるように、(アップリンクなしでファブリック110の最上部に配置されている)ルートスイッチ111〜114は、「ルート」という役割を有し得るものであり、(ファブリック110の最下部にあるホストノードに接続する)リーフスイッチ131〜134は、「リーフ」という役割を有し得る。
【0029】
システムは、スイッチロールメカニズムを用いて、ファブリック発見時間を短縮することができる(たとえば一貫性検査は不要の場合がある)。さらに、システムは、ルーティングアルゴリズム102からファブリック110を発見する必要性を軽減する、または排除することさえできる。このことは、ルーティングテーブル生成中に過ちを犯す確率が大幅に低くなることを意味する。
【0030】
図2は、本発明のある実施の形態に従う、ネットワーク環境内におけるスイッチロールメカニズムのサポートの代表的なフローチャートを示す。図2に示されるように、ステップ201で、システムは、ファブリック内の1つ以上のスイッチがスイッチロールでタグ付けされるようにする。次に、ステップ202で、サブネットマネージャは、上記1つ以上のスイッチと関連付けられたスイッチロールを検出することができる。さらに、ステップ203で、サブネットマネージャは、上記1つ以上のスイッチと関連付けられた、検出されたスイッチロールに基づいて、ファブリックにルーティングアルゴリズムを適用することができる。
【0031】
劣化ファットツリー
本発明のある実施の形態に従い、インフィニバンド(IB)ネットワークのための既存のファットツリールーティングアルゴリズムにおける欠陥を識別することができ、システムは、劣化したファブリックの発見およびルーティング時に発生する問題を軽減する、異なる機能拡張(extensions)を使用することができる。第1に、トポロジ検証の制約を緩和することによって、ファットツリールーティングの汎用性を高めることができる。第2に、ベンダ固有のサブネット管理パケット(SMP)を介してクエリすることができるベンダSMP属性を通してスイッチタグ付けを実現することができ、スイッチタグ付けを用いることにより、特定のファブリックロールを有するスイッチを構成することができる。これは、トポロジ発見を実際のルーティングから切離す。加えて、スイッチのフリッピング(flipping)の問題を、SMP属性の使用によって解決することができる。
【0032】
IBネットワークでは、ファットツリールーティングが失敗し得る種々のシナリオがある。たとえば、同一レベルの任意の2つのスイッチ上のアップリンクおよびダウンリンクの数が等しくない場合、トポロジ検証が失敗に終わることがある。また、たとえファブリック全体において故障するのが1つのリンクであっても、ファットツリールーティングがMinHopルーティングにフォールバックすることがある。
【0033】
トポロジ検証に対する制約を緩和しリンクカウント一貫性検査を不能にすると、不完全なファットツリーのデフォルトによって、ファットツリールーティングは失敗しない場合がある。さらに、システムは、スイッチロールメカニズムを使用することによって、ファットツリールーティング、たとえばOpenSMにおける現在のインプリメンテーションが、厳しいトポロジ検証に合格しないかもしれない純粋でないファットツリーファブリックをルーティングできるようにすることができる。
【0034】
図3は、本発明のある実施の形態に従う、ネットワーク環境内における劣化ファットツリーの例を示す。図3に示されるように、IBファブリック300は、複数のスイッチ(たとえばスイッチ311〜314、321〜324、および331〜334)と、複数のホストノード(たとえばノード341〜343)とを含み得る。
【0035】
どのノードにも接続されていないリーフスイッチ、たとえばスイッチ334が存在する場合、IBファブリック300に問題が生じ得る。このため、IBファブリック300は劣化したファットツリーになる。
【0036】
図4は、本発明のある実施の形態に従う、ネットワーク環境内における劣化ファットツリーの修復の例を示す。図4に示されるように、IBファブリック400は、複数のスイッチ(たとえばスイッチ311〜314、321〜324、および331〜333)と、複数のホストノード(たとえばノード341〜343)とを含み得る。
【0037】
加えて、(図3においてスイッチ334として示されている)元々はリーフスイッチとして分類されていたスイッチ434を、リーフスイッチではないものとして分類し直すことができる。図4に示されるように、トポロジの問題を修復するために、スイッチ434を、新たなレベルとしてのリーフレベル+2に、2つの子スイッチ323〜324を伴って再配置することができる。
【0038】
図4に示されるようにフリップされたスイッチを含むファットツリールーティングは、反直感的である可能性がある。さらに、フリップされたスイッチは、ファットツリールーティングにおけるトラブルシューティングを困難にする。なぜなら、正しくないランクを上記スイッチに割当てる必要があるからである。また、修復処置の提供が問題になる可能性がある。なぜなら、SMは、ファブリック400内でランク付けのコンフリクトが生じたときに反応して機能するにすぎないかもしれないからである。すなわち、SMは、先ずコンフリクトを検出してからファブリックを再度ランク付けする必要がある。この要件は煩わしいものである可能性があり、コンフリクトは、ファブリックの複雑度が高いことが原因で検出できない場合がある。
【0039】
本発明のある実施の形態に従い、システムは、スイッチロールメカニズムを使用して、フリップされたスイッチを修復することができる。たとえば、以下のアルゴリズム1を使用することによって、ファブリック内のスイッチが常に正しいランクに配置されることを保証することができる。
【0040】
【表1】
【0041】
次に、システムは、前のセクションで説明した異なるファットツリールーティングアルゴリズムを使用して、ファットツリールーティングをファブリック400上で実行することができる。
【0042】
図5は、本発明の実施の形態に従うシステム500の概略ブロック図を示す。システム500は、タグモジュール510と、スイッチモジュール520と、検出モジュール530と、アルゴリズムモジュール540とを含む。タグモジュール510は、複数のスイッチ520を有するファブリック内の1つ以上のスイッチを、スイッチロールでタグ付けする。検出モジュール530は、上記1つ以上のスイッチ520と関連付けられたスイッチロールを検出する。アルゴリズムモジュール540は、上記1つ以上のスイッチ520と関連付けられた検出されたスイッチロールに基づいて、ファブリックにルーティングアルゴリズムを適用する。
【0043】
複数のスイッチを有するファブリック内における発見およびルーティングをサポートするためのシステムは、ファブリック内の1つ以上のスイッチをスイッチロールでタグ付けするための手段と、上記1つ以上のスイッチと関連付けられたスイッチロールをサブネットマネージャを介して検出するための手段と、上記1つ以上のスイッチと関連付けられた、検出されたスイッチロールに基づいて、ファブリックにルーティングアルゴリズムを適用するための手段とを備える。
【0044】
システムはさらに、サブネットマネージャによって後に検出することができるスイッチロールを、ベンダ属性を用いて明確に定義するための手段を備える。
【0045】
システムはさらに、1つ以上のルートグローバル一意識別子(GUID)をルーティングアルゴリズムに与えるための手段を備える。
【0046】
システムはさらに、トポロジ検証に対するおよびファブリックの一貫性検査に対する制約を緩和するための手段を備える。
【0047】
システムはさらに、コンポーネントの交換に続く通常のスイッチ構成維持の一部としてスイッチロールを保存し復元するための手段を備える。
【0048】
システムはさらに、ファブリック内の別の1つ以上のスイッチを別のスイッチロールでタグ付けするための手段を備える。
【0049】
システムはさらに、スイッチロールに基づいてファブリック内の接続性エラーを検出するための手段を備える。
【0050】
システムはさらに、ファブリック内の複数のスイッチをファットツリーになるように構成するための手段を備える。
【0051】
システムはさらに、ファットツリー内におけるノードが接続されていないリーフスイッチを検出するための手段を備える。
【0052】
システムはさらに、上記リーフスイッチが正しいランクに配置されることを保証するための手段と、ルーティングアルゴリズムがファットツリー上で機能するようにするための手段とを備える。
【0053】
本発明は、本開示の教示に従いプログラムされた、1つ以上のプロセッサ、メモリ、および/またはコンピュータ読取可能な記録媒体を含む、従来の汎用もしくは専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを1つ以上用いて、適宜実現し得る。適切なソフトウェアコーディングは、熟練したプログラマが本開示の教示に基づいて容易に準備できる。これはソフトウェア技術における当業者には明らかであろう。
【0054】
実施の形態によっては、本発明は、本発明のプロセスのうちいずれかを実行するためにコンピュータをプログラムするのに使用できる命令が格納された記録媒体または(1つまたは複数の)コンピュータ読取可能な媒体であるコンピュータプログラムプロダクトを含む。この記録媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む、任意の種類のディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム(分子メモリICを含む)、または、命令および/またはデータを格納するのに適した任意の種類の媒体もしくはデバイスを含み得るものの、これらに限定されない。
【0055】
本発明に関するこれまでの記載は例示および説明を目的として提供されている。すべてを網羅するまたは本発明を開示された形態そのものに限定することは意図されていない。当業者には数多くの変更および変形が明らかであろう。変更および変形は、開示されている特徴の適切な組合せを含む。実施の形態は、本発明の原理およびその実際の応用を最もうまく説明することによって他の当業者が本発明のさまざまな実施の形態および意図している特定の用途に適したさまざまな変形を理解できるようにするために、選択され説明されている。本発明の範囲は、以下の特許請求の範囲およびその均等物によって定められることが意図されている。
図1
図2
図3
図4
図5