(57)【要約】  技法は、回路スイッチを用いて、スイッチアセンブリのパケットスイッチをこのアセンブリのポートコネクタに選択的に結合することを含む。【選択図】図３Ａ
2016528828.tif 000002
【特許請求の範囲】
【請求項１】
パケットスイッチと、回路スイッチと、ポートコネクタとを備えるスイッチアセンブリであって、前記ポートコネクタのそれぞれは、ケーブルにアタッチされて、該ポートコネクタがハードウェアリソースに結合されるように適合されている、スイッチアセンブリと、
前記スイッチアセンブリの前記回路スイッチをプログラミングして、前記パケットスイッチを前記ポートコネクタに選択的に結合するコントローラと、
を備える、装置。
【請求項２】
前記回路スイッチは、光スイッチ又は電気スイッチを含む、請求項１に記載の装置。
【請求項３】
前記パケットスイッチは、前記ポートコネクタに結合された第１の一組のパケットスイッチと、予備として用いられる少なくとも１つの予備パケットスイッチとを備える、請求項１に記載の装置。
【請求項４】
非一時的コンピュータ可読記憶媒体を備える物品であって、該記憶媒体は命令を記憶し、該命令は、コンピュータによって実行されると、該コンピュータに、スイッチアセンブリの回路スイッチをプログラミングさせて、該スイッチアセンブリの複数のパケットスイッチを該アセンブリのポートコネクタに選択的に結合させ、前記ポートコネクタは、ケーブルと結合して前記スイッチアセンブリをハードウェアリソースに接続するように適合されている、物品。
【請求項５】
前記記憶媒体は命令を記憶し、該命令は、前記コンピュータによって実行されると、該コンピュータに、前記回路スイッチをプログラミングさせて、ネットワーク測定値に基づいてトラフィック局所性を調整させる、請求項４に記載の物品。
【請求項６】
前記記憶媒体は命令を記憶し、該命令は、前記コンピュータによって実行されると、該コンピュータに、前記回路スイッチをプログラミングさせて、テナント間での前記リソースの割り当ての記述に基づいてトラフィック局所性を調整させる、請求項４に記載の物品。
【請求項７】
パケットスイッチと、回路スイッチと、ポートとを備えるスイッチアセンブリを設けるステップと、
少なくとも１つのケーブルを用いて、前記ポートのうちの少なくとも１つを少なくとも１つのリソースに接続するステップと、
前記回路スイッチを用いて、前記パケットスイッチを前記ポートに選択的に結合するステップと、
を含む、方法。
【請求項８】
前記回路スイッチのうちの少なくとも１つは、前記パケットスイッチのそれぞれに接続される、請求項７に記載の方法。
【請求項９】
複数のパケットスイッチのうちの或るパケットスイッチを予備として用いるステップ、
を更に含む、請求項７に記載の方法。
【請求項１０】
該予備のパケットスイッチをプログラミングして、前記複数のパケットスイッチのうちの、予備として用いられていない別のパケットスイッチ上に記憶されたマシン実行可能命令のバージョンよりも近時のバージョンのマシン実行可能命令を用いて前記予備のパケットスイッチを更新するステップと、
前記プログラミング後に前記予備のパケットスイッチを前記別のパケットスイッチと交換するステップと、
を更に含む、請求項９に記載の方法。
【請求項１１】
前記回路スイッチを用いることは、該回路スイッチをプログラミングすることを含み、前記方法は、
少なくとも１つの追加のパケットスイッチを複数のパケットスイッチに追加するステップと、
前記追加後に前記回路スイッチを再プログラミングして、前記少なくとも１つの追加のパケットスイッチを用いて追加のネットワーク性能を提供するステップと、
を更に含む、請求項７に記載の方法。
【請求項１２】
前記回路スイッチを用いることは、該回路スイッチをプログラミングすることを含み、前記方法は、
少なくとも１つの予備のパケットスイッチを複数のパケットスイッチに追加するステップと、
コントローラをプログラミングして、前記複数のパケットスイッチのうちの１つの故障に応答して前記予備のパケットスイッチにフェイルオーバするステップと、
を更に含む、請求項７に記載の方法。
【請求項１３】
前記回路スイッチを用いることは、該回路スイッチをプログラミングすることを含み、前記方法は、
少なくとも１つの追加のリソースを複数のポートのうちの少なくとも１つのポートに結合するステップと、
前記追加後に前記回路スイッチを再プログラミングして、前記少なくとも１つの追加のリソースを適合させるステップと、
を更に含む、請求項７に記載の方法。
【請求項１４】
前記回路スイッチを用いることは、該回路スイッチをプログラミングすることを含み、前記方法は、
ネットワークトラフィック測定値を取得するステップと、
前記回路スイッチを再プログラミングして、前記測定値に基づいてトラフィック局所性を高めるステップと、
を更に含む、請求項７に記載の方法。
【請求項１５】
前記回路スイッチを用いることは、
前記回路スイッチをプログラミングして、前記リソースがテナント間にどのように割り当てられているのかの記述に少なくとも部分的に基づいてトラフィック局所性を高めること、
を含む、請求項７に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
データセンタのテナントは、ホスト数、アクセス帯域幅、及び可用性等の様々な異なる要望を有する場合がある。その上、ホスト又はアプリケーションは、計算リソース、ワイドエリアアクセスリソース、ネットワークアロケーテッドストレージ（ＮＡＳ）、ストレージエリアネットワーク（ＳＡＮ）等の特定のバランスについての特殊化した要望を有する場合もある。加えて、幾つかのアプリケーションは、１次記憶装置用のネットワーク、フェイルオーバネットワーク、製造及び研究用のネットワーク、制御及びデータ用のネットワーク、ローカルエリアネットワーク（ＬＡＮ）、ストレージエリアネットワーク（ＳＡＮ）、インタラクティブネットワーク、バッチネットワーク等の複数のネットワークを用いる場合がある。アプリケーションは、ＩｎｆｉｎｉＢａｎｄ又はファイバチャネル等の特殊化したトランスポートも用いる場合がある。
【図面の簡単な説明】
【０００２】
【図１】一例示の実施態様によるコンピュータシステムの概略図である。
【図２】一例示の実施態様による折り返しクロスネットワーク（folded Clos network）を示す概略図である。
【図３Ａ】一例示の実施態様によるスイッチアセンブリを用いる技法のフロー図である。
【図３Ｂ】一例示の実施態様によるスイッチアセンブリを用いる技法のフロー図である。
【図４】一例示の実施態様によるデータセンタの斜視図である。
【図５Ａ】一例示の実施態様による少なくとも１つのスイッチアセンブリの使用を通じて達成されるそれぞれ異なるネットワークを示す概略図である。
【図５Ｂ】一例示の実施態様による少なくとも１つのスイッチアセンブリの使用を通じて達成されるそれぞれ異なるネットワークを示す概略図である。
【図５Ｃ】一例示の実施態様による少なくとも１つのスイッチアセンブリの使用を通じて達成されるそれぞれ異なるネットワークを示す概略図である。
【図６】一例示の実施態様によるデータセンタの概略図である。
【図７】一例示の実施態様による一組のテナント構成を提供するのに用いることができるリソース、パケットスイッチ、及び回路スイッチの集合体の説明図である。
【図８】一例示の実施態様による異なるテナント間のリソース割り当てを示す図である。
【図９】一例示の実施態様によるリソースの分散の説明図である。
【発明を実施するための形態】
【０００３】
図１を参照すると、本明細書に開示されるシステム及び技法によれば、データセンタ１１０は、当該データセンタ１１０のテナントの１つ又は複数の構成を提供することを目的として、リソース１２０（クールプロセッサ（cool processors）、高速プロセッサ、ワイドエリアネットワーク（ＷＡＮ）接続インタフェース、ローカルエリアネットワーク（ＬＡＮ）接続インタフェース、ストレージエリアネットワーク（ＳＡＮ）接続、ホスト等）と、スイッチ相互接続器１４０とを備える。本明細書において更に説明するように、データセンタ１１０のプログラマブルコントローラ１４２は、テナント構成のそれぞれの適切なアップリンクポート、ダウンリンクポート、リソース１２０、帯域幅割り当て、及びフェイルオーバ能力を提供するポートを構成することを目的として、スイッチ相互接続器１４０の回路スイッチを選択的に構成する。ダウンリンクポートは、一般に、回路スイッチによってリソース１２０に選択的に結合されるパケットスイッチポートであり、アップリンクポートは、回路スイッチによって互いに結合されて比較的高帯域幅のネットワーク、すなわちスパイン（spine）接続を提供するパケットスイッチポートから形成される。
【０００４】
一般に、パケットスイッチは、データパケットを、それらのパケットの宛先を示すデータヘッダに基づいてスイッチングするように構成されたデバイス（例えば、イーサネット（登録商標）カード）である。回路スイッチ（例として、電気スイッチ、トランジスタベースのスイッチ、又は光スイッチ）は、異なる回路ノード間の「有線」接続を形成する。
【０００５】
図１に示す例示の実施態様の場合、データセンタ１１０は、１つ又は複数のクライアント１５０（例えば、様々なテナントのクライアント）がネットワーク１６０を介してアクセスすることができる。ネットワーク１６０は、データセンタ１１０の外部にあり、スイッチ相互接続器１４０のネットワークファブリックに結合されている。ネットワーク１６０は、一般に、ＬＡＮファブリック、ＷＡＮファブリック、インターネットベースのファブリック等を表す。
【０００６】
データセンタ１１０は、本明細書に開示される例示の実施態様によれば、実際のソフトウェア及びハードウェアから構成された少なくとも１つの物理マシンを備える。例として、この文脈における物理マシンは、コントローラ、メモリ等を含むイーサネットパケットスイッチとすることができ、所与の物理マシンは、コントローラカード、リソース１２０及びパケットスイッチの所与のテナント構成、プロセッサブレード、デスクトップコンピュータ、ノートブックコンピュータ等も指すことができる。このように、データセンタ１１０は、１つ又は複数の物理マシンを備え、各物理マシンは、１つ又は複数のＣＰＵ、メモリ、ネットワークインタフェース、Ｉ／Ｏデバイス等を備える。
【０００７】
データセンタ１１０のコントローラ１４２は、一般に、１つ又は複数のＣＰＵ１４３（図１には、１つのＣＰＵ１４３が示されている）と、本明細書に更に開示されるように、スイッチ相互接続器１４０をプログラミングするようにコントローラ１４２によって実行されるマシン実行可能命令１４７、すなわちソフトウェアを記憶するメモリ１４５とを備える。メモリ１４５は、一般に、特定の実施態様に応じて、半導体記憶デバイス、磁気記憶デバイス、光記憶デバイス、異なる記憶技術の組み合わせ等から形成することができる非一時的記憶媒体である。
【０００８】
その上、特定の実施態様に応じて、コントローラ１４２は、スイッチ相互接続器１４０の一部分である場合もあるし、そうでない場合もある。このように、特定の実施態様に応じて、図１のコントローラ１４２は、スイッチ相互接続器１４０を制御するようにプログラミング可能な単一のコントローラとすることもできるし、スイッチ相互接続器１４０を制御するコントローラの集合体から形成することもできる。
【０００９】
例示の実施態様によれば、スイッチ相互接続器１４０は、多種多様なネットワークを形成するようにコントローラ１４２によってプログラミングすることができる。図２を参照すると、一例示の実施態様によれば、スイッチ相互接続器１４０は、所与のテナントの折り返しクロスネットワーク３００を形成するのに用いることができる。一般に、折り返しクロスネットワーク３００は、他のパケットスイッチ３０４のアップリンクポート３０５に結合されるアップリンクポート３０３を有するパケットスイッチ３０２を備える。パケットスイッチ３０４は、ネットワークインタフェース、プロセッサ、ストレージエリアネットワークインタフェース、ホスト等のハードウェアリソース（図示せず）に結合することができるダウンリンクポート３０７も備える。一般に、スイッチ相互接続器１４０は、複数の他のネットワークトポロジ（別の例として、直接接続ネットワーク）に用いることができる。
【００１０】
図３Ａを参照すると、例示の実施態様によれば、技法４００は、パケットスイッチと、回路スイッチと、ポートコネクタとを備えるスイッチアセンブリを設けること（ブロック４０４）を含む。ポートコネクタは、１つ又は複数のケーブルに接続されて、スイッチアセンブリをこのスイッチアセンブリの外部の少なくとも１つのリソースに結合するように構成される。技法４００は、回路スイッチを用いて、パケットスイッチをスイッチアセンブリのポートコネクタに選択的に結合すること（ブロック４０６）を更に含む。
【００１１】
より具体的には、図３Ｂを参照すると、例示の実施態様によれば、技法４３０は、スイッチアセンブリを設けること（ブロック４３２）を含み、各スイッチアセンブリは、別個のハウジング内に封入され、パケットスイッチと、回路スイッチと、ポートコネクタを有するフロントパネルとを有する。技法４３０によれば、ポートコネクタは、ブロック４３４に従って、ケーブル接続を用いてデータセンタリソースに選択的に結合することができる。また、技法４３０によれば、ポートコネクタは、ブロック４３６に従って、選択的に互いに結合することができるとともに、回路スイッチ及び／又はケーブル接続を用いてパケットスイッチポートに結合することができる。
【００１２】
図４は、より具体的な例示の実施態様によるデータセンタ１１０のスイッチ相互接続器１４０及びリソース１２０を示している。一般に、この例示の実施態様の場合、スイッチ相互接続器１４０は、１つ又は複数のスイッチアセンブリ５３０を備え、例示の実施態様によれば、スイッチアセンブリ５３０は、関連付けられたキャビネット５０４（図４には、一例として、Ｎ個のキャビネットのうちのキャビネット５０４−１及び５０４−Ｎが示されている）に収容することができる。
【００１３】
図４に同様に示すように、スイッチアセンブリ５３０は、パケットスイッチ５１０（例えば、イーサネットスイッチ）と、パケットスイッチ５１０のポートをスイッチアセンブリ５３０のフロントパネル５０２のマルチリンクポートコネクタ５３１に選択的に結合する回路スイッチ５２０（例として、光スイッチ又は電気スイッチ）と、を有する。一般に、回路スイッチ５２０は、本明細書に更に説明するように、スイッチアセンブリ５３０を多くの可能な配置のうちの１つで構成するようにコントローラ１４２によって制御される。
【００１４】
図４に示すように、ケーブル５０８（例えば、光ファイバケーブル）は、ポートコネクタ５３１を、リソース１２０（図１参照）が配置されているハードウェアキャビネット６５０（図４には、一例として、Ｍ個のキャビネットのうちのキャビネット６５０−１及び６５０−Ｍが示されている）に結合するのに用いることができる。ケーブルは、本明細書において更に説明するように、スパインスイッチとして用いられるスイッチアセンブリ５３０のポートコネクタ５３１を互いに結合するのに用いることもできる。
【００１５】
図４と併せて図５Ａを参照すると、一例示の実施態様によれば、フロントパネル５０２は、４つのポートコネクタ５３１（図５Ａには、ポートコネクタ５３１−１、５３１−２、５３１−３、及び５３１−４が示されている）を有する。従来の表記では、各ポートは、特定のイーサネットスイッチと関連付けられている。しかしながら、スイッチアセンブリ５３０の回路スイッチ５２０は、以下の例で述べるように、スイッチアセンブリ５３０のパケットスイッチ５１０のうちの任意のもののポートへの、所与のポートコネクタ５３１のポートの選択的な接続を可能にし、それによって、多種多様な構成を可能にする。
【００１６】
一例示の実施態様によれば、各ポートコネクタ５３１は、８つのマルチリンクポートを含むことができ、各マルチリンクポートは、１６個のイーサネットポートを含むことができる。８つのマルチリンクポートのうち、６つのマルチリンクポート５３５は、対応するパケットスイッチポートに結合されてホストアタッチメント（host attachment：ホスト接続）をサポートするダウンリンクポートであり、２つのマルチリンクポート５３７は、それぞれアップリンクポートとして構成されている。このため、この例のマルチリンクポート５３７は、ダウンリンクとして用いられず、スイッチアセンブリ５３０の回路スイッチ５２０は、パケットスイッチ５１０のポートを互いに結合して、パケットスイッチ５１０間のクロスリンク接続を提供する。
【００１７】
スイッチアセンブリ５３０の回路スイッチ５２０及びパケットスイッチ５１０の双方がプログラミング可能であることによって、４つの実際のパケットスイッチ５１０（例えば、４つのイーサネットスイッチカード）は、１つの組み合わされた大きなイーサネットスイッチとしての機能を果たすことができる。図５Ａの例の場合、回路スイッチ５２０を介した相互接続プログラミングによって、クロスリンク５３３は、各スイッチ対間に１０個のレーンをそれぞれ提供する４つのイーサネットスイッチカードを有する完全接続クリーク（fully-connected clique）として構成される。したがって、マルチリンクポート５３７によって提供される３２個のレーンのうちの３０個は、対称形４ウェイ（four-way）クリークを構築するのに用いることができる。ポート５３７の残りのレーンは、追加の性能を得るために日和見的に有線とすることができる。このように、この構成を用いると、図５Ａのスイッチアセンブリ５３０は、３８４個のダウンリンクを有する単一のイーサネットスイッチとしての機能を果たすことができる。イーサネットスイッチを除去することにより、上記よりも少ないホストを有する構成をサポートすることができる。断面帯域幅は、スイッチ間のクロスリンク５３３の除去又は追加によって変化する場合がある。特定の実施態様に応じて、所与のクロスリンク５３３をジャンパケーブル又は回路スイッチ接続によって作製することができる。本明細書に更に開示するように、スイッチアセンブリ５３０の予備のパケットスイッチ５１０を用いてフォールトトレランスを提供することができる。この予備のパケットスイッチは、素早くオンラインにすることができる。
【００１８】
図５Ａの相対的に小さなネットワークは、２つのスイッチアセンブリ５３０（すなわち、スイッチアセンブリ５３０−１及び５３０−２）から形成される図５Ｂの相対的に中程度のサイズのネットワークと対比することができる。図５Ｂを参照すると、各スイッチアセンブリ５３０の回路スイッチ５２０は、アセンブリ５３０のポート５３７間の接続を提供し、ケーブル５４１は、２つのスイッチアセンブリ５３０のポート５３７を接続するのに用いることができる。一般に、図５Ｂに示す配置は、７６８ポート８スイッチクリークを形成するのに用いることができる。
【００１９】
更なる例として、図５Ｃは、５つのスイッチアセンブリ５３０（すなわち、スイッチアセンブリ５３０−１、５３０−２、５３０−３、５３０−４、及び５３０−５）から形成される相対的に大中程度のサイズのネットワークを示している。この点に関して、５つのスイッチアセンブリ５３０は、図５Ｃに示すように接続されて、１５３６個のホストリンクを有するクロスネットワークを形成することができる。このクロスネットワークは、所与のスイッチアセンブリ５３０がリーフとして用いられるのか又はスパインとして用いられるのかにかかわらず、フォールトトレランスを保持し、常にメンテナンス特性を保持する。図５Ｃの例の場合、スイッチアセンブリ５３０−１、５３０−２、５３０−３、及び５３０−４は、リーフスイッチアセンブリであり、スイッチアセンブリ５３０−５は、スパインスイッチアセンブリである。この実施態様の場合、各リーフスイッチアセンブリ５３０の各ポートコネクタの２つのマルチリンクポートは、スパインアップリンクポートとしての機能を果たし、残りの６つのマルチリンクポートは、エッジデバイス接続に用いられるダウンリンクポートである。４つのマルチリンクを集約することによって６４レーンスーパケーブル５４５を構成することができる。フルクロスネットワークを有線接続するのに用いられる８つのスーパケーブル５４５のうちの１つが図５Ｃに示されている。１０２４個のホストリンクのフルバイセクション帯域幅は、第２のスイッチアセンブリ５３０をスパイン（図５Ｃに図示せず）としてケーブル接続することによってサポートすることができる。
【００２０】
スイッチアセンブリ５３０は、多数の他のネットワークトポロジを実施するように接続／構成することができる。例えば、ネットワークを２倍の数のホストポート（３０７２個が、リーフスイッチとしての機能を果たす８つのスイッチアセンブリ５３０と、スパインスイッチとしての機能を果たす２つのスイッチアセンブリ５３０を用いる）に拡大することができる。このより大きなネットワークの場合、１つのスーパケーブルが、各リーフを各スパインに接続することができる。これらのクロス構成の任意のサブセットは、それよりも少ないリーフスイッチ若しくはスパインスイッチ５３０又はそれよりも少ないカードを任意の特定のスイッチアセンブリ５３０に含むことができる。この相互接続器は、各構成の利用可能なハードウェアについて最適化され、ネットワークは、必要に応じて拡張される。
【００２１】
図１と併せて図６を参照すると、一例示の実施態様によれば、スイッチ相互接続器１４０は、コントローラ１４２によってプログラミングされる複数のスイッチアセンブリ５３０（図６には、３つの例示のスイッチ５３０−１、５３０−２、及び５３０−３が示されている）を備える。これらのスイッチアセンブリ５３０は、イーサネットスイッチ（一例として）等のパケットスイッチ５１０及び回路スイッチ５２０を含む。
【００２２】
この実施態様にかかわらず、幾つかの実施態様によれば、各回路スイッチ５２０は、パケットスイッチ５１０のそれぞれのポートに接続される。一般に、回路スイッチ５２０は、テナント１５０（図１参照）の特定のホスト及びネットワークアーキテクチャを構成することを目的として、コントローラ１４２によってプログラミング可能である。回路スイッチ５２０への外部接続は、スイッチ５３０のフロントパネル５０２のコネクタを介して形成される。このように、図６は、回路スイッチ５２０に結合されたエッジ光ファイバ６３０を概略的に示している。一般に、幾つかの実施態様によれば、スイッチアセンブリ５３０の各回路スイッチ５２０は、フロントパネル５０２とハードウェアキャビネット６５０との間から接続を介してパケットスイッチ５１０の全てにおける同じポート番号に接続される１つの端子を有することができる。
【００２３】
所与のスイッチアセンブリ５３０がどのように用いられるのか応じて、フロントパネル５０２は、計算リソース、記憶リソース、及びワイドエリアネットワーキング機器リソース、並びにスパインスイッチング機器（コア帯域幅を提供する）をスイッチアセンブリ５３０の回路スイッチ５２０にアタッチする（attach：接続）のに用いることができる。例えば、スイッチアセンブリ（図６のスイッチアセンブリ５３０−１及び５３０−２等）を用いて、リーフエッジ接続を形成するために、各回路スイッチ５２０は、ハードウェアキャビネット６５０の全てにおいて同じポートに結合される端子を有することができる。
【００２４】
別の例として、（スイッチアセンブリ５３０−３等の）スパイン接続の場合、フロントパネル５０２は、スイッチ５３０のパケットスイッチ５１０を互いに結合することができるように、１つのスイッチアセンブリ５３０の回路スイッチ５２０を別のスイッチアセンブリ５３０の回路スイッチ５２０に接続するのに用いることができる。
【００２５】
一般に、例示の実施態様によれば、個々の各光ファイバ６３０は、このファイバ６３０が物理的に接続される回路スイッチ５２０のプログラミングを介してスイッチ５３０内の任意のパケットスイッチ５１０に端点を結合する。
【００２６】
図６に示す例示の実施態様の場合、キャビネット６５０−１はネットワークアタッチトストレージ（ＮＡＳ）ブレード６５２を収容し、キャビネット６５０−２はストレージアタッチトネットワーク（ＳＡＮ）ブレード６５４を収容し、キャビネット６５０−３は高速プロセッサ（ＦＰ）ブレード６５６を収容し、キャビネット６５０−４はクールプロセッサ（ＣＰ）ブレード６５８を収容し、キャビネット６５０−５はワイドエリアネットワーク（ＷＡＮ）ブレードを収容する。ただし、更なる実施態様に従って、他のブレードリソースを用いることができる。
【００２７】
スイッチ相互接続器１４０は、多くの最適化されたホスト及びネットワークアーキテクチャのデータセンタを構成するときに存在し得る幾つかの課題に対処する。第１に、特定のテナントのコンピューティングエンティティの全てについて局所性が維持される場合、すなわち、同じテナントのコンピューティングエンティティが同じパケットスイッチ５１０に結合されることによる局所性が維持される場合、ネットワーク性能を相対的により効率的にすることができる。一般に、回路スイッチ５２０は、コントローラ１４２が、ネットワークトポロジをトラフィックパターンに整合させるようにプログラミングすることができる。例えば、ネットワーク通信は、同じテナントに属する端点間又は同じアプリケーションの一部分である端点間において比較的高い、すなわち、比較的大きな帯域幅を消費する場合がある。比較的小さなアプリケーション又は比較的小さなテナントが、異種のリソースの混合したものを用いているとき、局所性が高められる場合がある。
【００２８】
このように、新たなテナントが２つの比較的高速のＣＰＵを用いるとともに、ＷＡＮ及びＳＡＮにアクセスするとき、局所性が高められる場合がある。リソースを、例えば、スイッチアセンブリ５３０によって単一のパケットスイッチ５１０に動的にマッピングして、テナント用にカスタマイズされたミニクラスタを構築することができる。これによって、スパインスイッチ帯域幅を必要とすることなく比較的高い帯域幅及び低いレイテンシがもたらされる。
【００２９】
回路スイッチ５２０は、スパインポート又はリーフポートを浪費することなくスパイン帯域幅を拡大する比較的単純な手段を提供する。例示の実施態様によれば、パケットスイッチ５１０のポートは、同一であり、（例えば、スイッチアセンブリ５３０−３等の）スパインポート又は（例えば、スイッチアセンブリ５３０−１及び５３０−２等の）ブレードポートのいずれかとして用いることができる。
【００３０】
回路スイッチングによって、ハードウェアのパーティショニングが、フォールトトレランス及び／又は異種のトラフィック分離のための別々のネットワークを実施することが可能になる。フォールトトレランスは、キャビネット６５０及びスパインの数が変更されると、トポロジ設計を用いて、ポートをネットワークフォールトゾーンに割り当てる。独立したネットワークを用いて、テナント又はアプリケーション；高優先度トラフィック及び低優先度トラフィック；損失のないＳＡＮレス・トラフィック及び損失のあるＬＡＮトラフィック；イーサネット及びＩｎｆｉｎｉＢａｎｄハードウェアの双方を有するネットワークの別個のイーサネットトランスポートトラフィック及びＩｎｆｉｎｉＢａｎｄトランスポートトラフィック等を分離することができる。
【００３１】
一般に、スイッチ相互接続器１４０は、各リソース１２０が回路スイッチ５２０を通じて複数のパケットスイッチ５１０に接続されているときのフォールトトレランスを高める。所与のリソース１２０がアタッチされたパケットスイッチ５１０が故障した場合、リソース１２０は、別のパケットスイッチ５１０に接続されて、動作を継続することができる。このため、或るパケットスイッチ５１０が故障した場合、スイッチ５２０を再構成することによって、このパケットスイッチ５１０に接続されたリソース１２０を依然として用いることができる。
【００３２】
このように、例示の実施態様によれば、パケットスイッチ５１０のうちの少なくとも１つは、予備としての機能を果たす。この予備は、フェイルオーバデバイスとして用いられることに加えて、スイッチアセンブリ５３０をオフラインにしてネットワークアップグレードを行うのにも用いることができる。例えば、一例示の実施態様によれば、パケットスイッチ５１０のファームウェアは、次のようにアップグレードすることができる。先ず、コントローラ１４２は、新たなバージョンのファームウェアを用いて予備のパケットスイッチ５１０をプログラミングする。次に、コントローラ１４２は、回路スイッチ５２０を再プログラミングして、アップグレードされた予備のパケットスイッチ５１０を、これまで用いられていたパケットスイッチ５１０のうちの１つと「ホットスワップ」する。コントローラ１４２は、その後、新たに指定された予備のもののファームウェアを更新することができ、パケットスイッチ５１０の全てのファームウェアアップグレードが完了するまで、上述したプロセスを繰り返すことができる。
【００３３】
図６は、データセンタ１１０の１つ又は複数のテナント用に作製することができるタスククラスタ６８０（図６には、例としてタスククラスタ６８０−１、６８０−２．．．６８０−６が示されている）を更に示している。各タスククラスタ６８０は、関連付けられたテナントのリソースの特定の構成を含むことができる。例えば、タスククラスタ６８０−１は、２つのプロセッサブレード６５６、１つのＷＡＮブレード６６０、及び１つのＳＡＮブレード６５４を有する。一例として、タスククラスタ６８０−１及び６８０−４は、所与のテナント１５０の２つのスイッチアセンブリ５３０−１及び５３０−２のリソースの割り当てを表すことができる。
【００３４】
スイッチ相互接続器１４０は、パケットスイッチ５１０上へのアップリンクポート及びダウンリンクポートの双方のマッピングをカスタマイズするようにプログラミングされる。一例として、回路スイッチ５２０は、パケットスイッチ５１０全体にわたるアップリンクポートの均一な分散を提供するようにプログラミングすることができる。そのような構成は、接続されるアップリンクポートの数が増加するにつれて増加するアップリンク帯域幅を有するクロスネットワークを実施するのに用いることができる。パケットスイッチ５１０上へのアップリンクポートのラウンドロビン割り当ては、例示の実施態様によれば、リーフスイッチとスパインスイッチとの間の帯域幅を近似的にバランスさせるのに十分な場合がある。スパインが追加されると、スイッチ相互接続器１４０を再プログラミングして、追加のスパインを適応させることができる。
【００３５】
スイッチ相互接続器１４０は、リソース１２０からパケットスイッチ５１０へのマッピングをカスタマイズするようにプログラミングすることができる。これによって、フォールトトレランスが提供され、通信局所性が高められる。特に、スイッチ相互接続器１４０のプログラミングによって、テナント単位で同じパケットスイッチ５１０に直接アタッチされた一組の異種リソースのカスタマイズが可能になる。
【００３６】
図７を参照すると、より具体的な例として、リソースの集合体７００は、スイッチアセンブリ５３０を用いる一例示のデータセンタにおいて利用可能とすることができる。この例の場合、データセンタは、４つのハードウェアキャビネット７１０（キャビネット７１０−１、７１０−２、７１０−３、及び７１０−４）を備え、この例の場合、各キャビネット７１０は１６個のリソースを有する。より具体的には、一例示の実施態様によれば、キャビネット７１０−１は、１６個の高速プロセッサ（ＦＰ）ブレードを有し、キャビネット７１０−２は、１６個の低電力プロセッサブレード、すなわち「クール」プロセッサ（ＣＰ）ブレードを有し、キャビネット７１０−３は、１６個のＷＡＮブレード（図４では、「Ｗ」によって指定されている）を有し、キャビネット７１０−４は、１６個のＮＡＳブレードを有し、キャビネット７１０−５は、１６個のＳＡＮブレードを有する。その上、例示のリソース集合体７００、６つのパケットスイッチ５１０、及び関連付けられた回路スイッチ５２０は、関連付けられたスイッチアセンブリ５３０から利用可能である。一例として、パケットスイッチ５１０のうちの５つは、アクティブとすることができ、第６のパケットスイッチ５１０は、他の５つのパケットスイッチ５１０のうちの１つが故障したときの交換として持ち出される冗長なパケットスイッチとしての機能を果たす電源供給されていない予備である。
【００３７】
スイッチ相互接続器１４０が、複数のリソースを共通のパケットスイッチ５１０に接続するように構成されている場合、それらのリソースは、ローカルに接続されているとみなされる。このため、そのような構成の場合、各パケットスイッチ５１０はローカルリソースを有する。これらのリソースは、パケットスイッチ５１０に対してローカルであり、例えば、単一のイーサネットホップを通じて低レイテンシで接続される。
【００３８】
一例として、幾つかの実施態様によれば、各パケットスイッチ５１０は、１６個よりも多くの数（Ｎ個）のポートを提供することができる。例示の実施態様によれば、パケットスイッチ５１０のＮ個の全てのポートは同一とすることができる。一方、幾つかのポートは、リソース１２０へのダウンリンクポートとして展開することができるのに対して、他のポートは、スパインへのアップリンクポートとして展開することができる。幾つかの実施態様によれば、１６個のダウンリンクポートは、ブレードキャビネット７１０に結合され、残りのポートは、スパインに接続されるアップリンクポートとして用いられる。Ｎ個の５×６双方向回路スイッチ上の垂直スタックは、構成可能性を提供する。
【００３９】
１６個のインデックスブレード位置（すなわち、０、１、２等のインデックス）のそれぞれについて、関連付けられた回路スイッチは、５つのキャビネット７１０のそれぞれへのアタッチメント（attachment：接続）を有する。同様に、例示の実施態様によれば、Ｎ個のリーフスイッチポート位置（すなわち、０、１、２等のインデックスを有するポート）のそれぞれについて、関連付けられた回路スイッチは、パケットスイッチ５１０のそれぞれへのアタッチメントを有する。追加の回路スイッチ素子は、クロスネットワーク内のパケットスイッチを相互接続するスパインスイッチポートにリーフポートをアタッチする。
【００４０】
一例として、図７のリソース集合体７００を用いると、幾つかの実施態様によれば、図８に示すように、回路スイッチ５２０をプログラミングして、リソースを１１個のテナントＴ１〜Ｔ１１に割り当てることができる。図８の各行は、特定のテナントに割り当てられたブレードリソースのグループ８００と関連付けられている。例えば、第１行は、テナントＴ１に割り当てられたリソースのグループ８００−１を示している。このように、グループ８００−１は、３つの高速プロセッサ、１つのＷＡＮリソース、及び１つのＳＡＮリソースを含む。図８に示すように、それぞれ異なるテナントＴ１〜Ｔ１１は、それぞれ異なるリソースを有する。
【００４１】
テナント処理を局所化することによってスパイントラフィックの削減をもたらす一例示のネットワーク構成が図９に示されている。より具体的には、図９では、各縦列は、１６個のブレードを有するキャビネット７１０を表している。使用中の各ブレードは、図９では、そのブレードを用いているテナントの名称を用いてラベル付けされる。加えて、図９を図７と比較すると、クロスハッチングは、用いられる選択されたパケットスイッチ５１０を示している。この選択は、ブレードの位置に対応するパケットスイッチ５１０内の回路スイッチ５２０のプログラミングによって決定される。
【００４２】
図８も参照すると、各テナントリソースの割り当てられたクロスハッチングは、各テナント行内の注釈付きとしても示されている。テナントＴ１の５つの全てのリソースは、回路スイッチを通じて図７のリーフスイッチ５１０−１に接続されている。これらのリソースは、Ｔ１テナント用にカスタマイズされたミニクラスタとして構成されている。このように、Ｔ１テナントのリソースの全てを単一のイーサネットホップを通じて接続することができる。追加のテナントが同様にして割り当てられ、テナントＴ１〜Ｔ１０のそれぞれは、この例示の実施態様については単一のパケットスイッチ５１０に割り当てられた全てのリソースを有する。
【００４３】
より多くのテナントが割り当てられ、残りのブレード位置が少なくなるにつれて、リソースの全てを単一のイーサネットスイッチにマッピングすることがより困難になる場合がある。このように、テナントＴ１１は、３つのイーサネットスイッチ上にマッピングされた５つのリソースを有する。３つのパケットスイッチ５１０間のトラフィックは、コアにおけるスパインスイッチを通じて接続され、このため、テナントＴ１１は、正常に機能し続けるが、コア帯域幅を用いてそのリソース間の接続を維持する。
【００４４】
図７〜図９の特定の例の場合、パケットスイッチ５１０−６（図７参照）はまだ用いられていない。他のパケットスイッチ５１０−１〜５１０−５のうちのいずれかが故障した場合、回路スイッチ５２０を再プログラミングすることによって、パケットスイッチ５１０−６をオンラインにして、故障したパケットスイッチと交換することができる。パケットスイッチ５１０−６等のパケットスイッチ５１０は、フォールトトレランス用に又はテナントトラフィック局所性を高める目的で用いることができることに留意されたい。予備のパケットスイッチ５１０を追加することによって、局所性を高める追加のプログラミング柔軟性が提供される。余分のパケットスイッチ５１０−６が用いられるとき、テナントＴ１１の全てのリソースをスイッチ５１０−６にマッピングして、スイッチ５１０−６によってミニクラスタ内で接続することができる。このように、意図した特許請求の範囲の範囲内にある多くの実施態様が考えられる。
【００４５】
幾つかの実施態様によれば、コントローラ１４２は、回路スイッチ５２０をプログラミングして、リソースをテナント間でどのように割り当てるのかの記述に基づいて局所性を高めるようにポートコネクタをパケットスイッチ５１０に選択的に結合することができる。更なる実施態様では、コントローラ１４２は、回路スイッチ５２０をプログラミングして、ネットワーク測定値に基づいて局所性を高めることができる。
【００４６】
より具体的には、例示の実施態様によれば、パケットスイッチ５１０は、パケットをサンプリングし、これらのパケットサンプルをコントローラ１４２に送信するように構成される。「ｓＦｌｏｗ」パケットサンプリング規格が、パケットをサンプリングしてネットワークトラフィックを測定する１つの既存の方法を提供する。コントローラ１４２は、これらのサンプルを用いて、各入力ポートから各出力ポートへのトラフィックを推定するトラフィックマトリックスを計算し、このトラフィックマトリックスは、一般に通信するネットワークポートを識別するのに用いることができ、回路スイッチをプログラミングしてトラフィック局所性を高めるのに用いることができる。トラフィック推定は、テナント内の通信、アプリケーション内の通信、又は通信局所性を提供する非ランダム通信構造の他の任意の原因から生じるトラフィックパターンを識別するのに用いることができる。トラフィックマトリックスは、頻繁に通信するポートのクラスタを識別するのに用いることができる。コントローラ１４２は、識別されたクラスタに基づいて、ポートのクラスタが単一のリーフスイッチに接続されて、通信局所性が高められるように回路スイッチ５２０をプログラミングすることができる。
【００４７】
スイッチアセンブリ５３０は、モジュール式拡張の大きな利点を提供することができることに留意されたい。このように、スイッチアセンブリ５３０の所与のポートは、ダウンリンクポート又はアップリンクポートのいずれかとして用いることができる。ダウンリンクポートは、追加の計算ブレード又はストレージブレードへのアタッチメントを可能にする。アップリンクポートは、追加の２分割帯域幅を提供する。エッジ構成可能スイッチ５３０によると、単一の回路スイッチ５２０を用いて、幾つかの構成によれば、（上述したような）パケットスイッチ５１０全体にわたるダウンリンクの分散を制御することもできるし、他の構成では、スパインスイッチ全体にわたるリーフスイッチアップリンクの分散を制御することもできる。
【００４８】
回路スイッチの最適化によって、スパインモジュール全体にわたってキャビネットを均一に分散させることができる。代替的に、回路スイッチの最適化によって、ネットワークごとに別個のスパインスイッチを用いて、複数の独立したネットワークを実装することができる。
【００４９】
本明細書に同様に記載されているように、スイッチアセンブリ５３０は、例示の実施態様によれば、コアモジュールとしても用いることができる。これによって、単一のモジュールをデータセンタエッジ及びデータセンタコアに用いることが可能になる。これによって、リーフケーブルバンドル及びリーフスタック全体にわたるスパインハードウェアポートのプログラミング可能な分散が可能になる。
【００５０】
限られた数の例が本明細書に開示されているが、この開示の利益を有する当業者であれば、この開示から多数の変更形態及び変形形態を理解するであろう。添付の特許請求の範囲は、そのような全ての変更形態及び変形形態を包含することを意図している。
【図１】
2016528828.tif 000003
【図２】
2016528828.tif 000004
【図３Ａ】
2016528828.tif 000005
【図３Ｂ】
2016528828.tif 000006
【図４】
2016528828.tif 000007
【図５Ａ】
2016528828.tif 000008
【図５Ｂ】
2016528828.tif 000009
【図５Ｃ】
2016528828.tif 000010
【図６】
2016528828.tif 000011
【図７】
2016528828.tif 000012
【図８】
2016528828.tif 000013
【図９】
2016528828.tif 000014
【国際調査報告】
2016528828.tif 000015
2016528828.tif 000016