(57)【要約】【課題】データ・センター・ネットワーク構造におけるノードをネットワーク化するための方法が提供される。【解決手段】データ・センター・ネットワーク構造におけるノードをネットワーク化するための方法は、サウスバウンドよりも高い全帯域幅のノースバウンドを有するマルチホストＮＩＣコントローラのサウスバウンド接続に接続されたノードを各々が含む少なくとも１０のベース・ユニットを接続するステップであって、このコントローラはドラゴンフライ・スイッチとして構成される、ステップと；これら１０のベース・ユニットをそれぞれのコントローラによってグループ内ネットワークとして修正ピーターセン・グラフ形に接続して、３つのグループを含むスーパー・ユニットを構築するステップとを含み、各コントローラはスーパー・ユニットの他の３つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用い、各グループの２つのベース・ユニットは第４のノースバウンド接続のそれぞれ１つを介して他のグループの１つに接続され、グループの１つの一部ではない残りのベース・ユニットは各グループの１つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用いるように適合される。【選択図】図１
2020517141.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを含むデータ・センター・ネットワーク構造であって、前記データ・センター・ネットワーク構造は、
マルチホストＮＩＣコントローラのサウスバウンド接続によって接続されたノードの第１のセットを各々が含む少なくとも１０のベース・ユニットを含み、前記マルチホストＮＩＣコントローラはサウスバウンドよりも高い全帯域幅のノースバウンドを有し、前記データ・センター・ネットワーク構造はさらに、
前記１０のベース・ユニットを含むスーパー・ユニットを含み、前記ベース・ユニットのそれぞれのマルチホストＮＩＣコントローラがグループ内ネットワークとして修正ピーターセン・グラフ形に接続されることによって、前記スーパー・ユニットの前記１０のベース・ユニットは、前記１０のベース・ユニットのうちの３つを各々が含む３つのグループを含み、前記マルチホストＮＩＣコントローラの各々は、前記スーパー・ユニットの他の３つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用いるために適合され、前記グループの各々の２つのベース・ユニットは第４のグループ内ノースバウンド接続のそれぞれの１つを介して前記他の２グループの１つに接続され、前記１０のベース・ユニットのうち３ベース・ユニットの前記３グループの１つの一部ではない残りのベース・ユニットは、前記３グループの各々の１つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用いるために適合され、前記マルチホストＮＩＣコントローラはドラゴンフライ・スイッチとして構成される、データ・センター・ネットワーク構造。
【請求項２】
前記１０のベース・ユニットの１つは、前記グループ内ネットワークに対する外部接続として使用されるように適合された１つの付加的なノースバウンド接続を含む、請求項１に記載のデータ・センター・ネットワーク構造。
【請求項３】
物理的に別個のサービス・ネットワークを実現するために、前記マルチホストＮＩＣコントローラの任意の付加的に利用可能なノースバウンド接続が用いられる、請求項２に記載のデータ・センター・ネットワーク構造。
【請求項４】
各ベース・ユニットは少なくとも１つのサーバを含む、請求項１に記載のデータ・センター・ネットワーク構造。
【請求項５】
前記１０のベース・ユニットのうち３ベース・ユニットの前記３グループの１つの一部ではない前記残りのベース・ユニットは、前記ネットワーク構造の外側へ／からの通信のために用いられる第４のノースバウンド接続を含む、請求項１に記載のデータ・センター・ネットワーク構造。
【請求項６】
３ベース・ユニットの前記グループにおける各ベース・ユニットは、前記データ・センター・ネットワーク構造のスーパー・ユニット間のノースバウンド接続を構築する付加的なネットワーク接続として使用可能な付加的な第５のノースバウンドの電気的接続をも含む、請求項１に記載のデータ・センター・ネットワーク構造。
【請求項７】
前記第５のノースバウンド接続は４つのグループ・アウトバウンド接続を可能にし、
前記グループの第１のものの前記３つのグループ・アウトバウンド接続は、前記データ・センター・ネットワーク構造のｘ次元におけるノースバウンド接続に対するものであり、
前記グループの第２のものの前記３つのグループ・アウトバウンド接続は、前記データ・センター・ネットワーク構造のｙ次元におけるノースバウンド接続に対するものであり、
前記グループの第３のものの前記３つのグループ・アウトバウンド接続は、前記データ・センター・ネットワーク構造のｚ次元におけるノースバウンド接続に対するものであり、
前記残りのアウトバウンド接続は、前記データ・センター・ネットワーク構造のより高い次元へのスケーリングに対するものであるか、または前記データ・ネットワーク構造の外側へ／からの通信のために用いられる、請求項６に記載のデータ・センター・ネットワーク構造。
【請求項８】
４つのスーパー・ユニットが、前記データ・センター・ネットワーク構造のｘ次元ユニットを構築するオール・ツー・オール形に接続される、請求項７に記載のデータ・センター・ネットワーク構造。
【請求項９】
４つのｘ次元ユニットが、前記データ・センター・ネットワーク構造のｙ次元グループを構築するオール・ツー・オール形に接続される、請求項８に記載のデータ・センター・ネットワーク構造。
【請求項１０】
１０のｙ次元グループが、前記データ・センター・ネットワーク構造の前記ｚ次元グループを構築するピーターセン・グラフ形によって接続される、請求項９に記載のデータ・センター・ネットワーク構造。
【請求項１１】
５つのｚ次元グループが、前記データ・センター・ネットワーク構造のＰＯＤを構築するオール・ツー・オール形に接続される、請求項１０に記載のデータ・センター・ネットワーク構造。
【請求項１２】
前記１０のベース・ユニットのうち３ベース・ユニットの前記３グループの１つの一部ではない前記残りのベース・ユニットは、前記データ・ネットワーク構造のより高い次元にスケーリングするために用いられるか、または前記データ・ネットワーク構造の外側へ／からの通信のために用いられる第５のノースバウンド接続を含む、請求項６に記載のデータ・センター・ネットワーク構造。
【請求項１３】
データ・センター・ネットワーク構造における複数のノードをネットワーク化するための方法であって、前記方法は、
マルチホストＮＩＣコントローラのサウスバウンド接続に接続されたノードの第１のセットを各々が含む少なくとも１０のベース・ユニットを接続するステップであって、前記マルチホストＮＩＣコントローラはサウスバウンドよりも高い全帯域幅のノースバウンドを有する、ステップと、
前記１０のベース・ユニットをそれぞれのマルチホストＮＩＣコントローラによってグループ内ネットワークとして修正ピーターセン・グラフ形に接続してスーパー・ユニットを構築することによって、前記スーパー・ユニットの前記１０のベース・ユニットは、前記１０のベース・ユニットのうちの３つを含む３つのグループを含み、前記マルチホストＮＩＣコントローラの各々は、前記スーパー・ユニットの他の３つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用い、前記グループの各々の２つのベース・ユニットは第４のノースバウンド接続のそれぞれの１つを介して３ベース・ユニットの前記他の２グループの１つに接続され、前記１０のベース・ユニットのうち３ベース・ユニットの前記３グループの１つの一部ではない残りのベース・ユニットは、前記３グループの各々の１つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用いるために適合されるようにするステップとを含み、前記マルチホストＮＩＣコントローラはドラゴンフライ・スイッチとして構成される、方法。
【請求項１４】
前記ベース・ユニットの１つは、前記グループ内ネットワークに対する外部接続として使用されるように適合された１つの付加的なノースバウンド接続を含む、請求項１３に記載の方法。
【請求項１５】
物理的に別個のサービス・ネットワークを実現するために、前記マルチホストＮＩＣコントローラの任意の付加的に利用可能なノースバウンド接続が用いられる、請求項１４に記載の方法。
【請求項１６】
各ベース・ユニットは少なくとも１つのサーバを含む、請求項１３に記載の方法。
【請求項１７】
前記１０のベース・ユニットのうち３ベース・ユニットの前記グループの１つの一部ではない前記残りのベース・ユニットは、前記ネットワーク構造の外側へ／からの通信のために用いられる第４のノースバウンド接続を含む、請求項１３に記載の方法。
【請求項１８】
３ベース・ユニットの前記３グループの各々における各ベース・ユニットは、少なくとも１つの第５のノースバウンド接続を含むことによって、前記３グループの各々が３つのグループ・アウトバウンド接続を可能にし、
前記グループの第１のものの前記３つのグループ・アウトバウンド接続は、前記データ・センター・ネットワーク構造のｘ次元におけるノースバウンド接続に対するものであり、
前記グループの第２のものの前記３つのグループ・アウトバウンド接続は、前記データ・センター・ネットワーク構造のｙ次元におけるノースバウンド接続に対するものであり、
前記グループの第３のものの前記３つのグループ・アウトバウンド接続は、前記データ・センター・ネットワーク構造のｚ次元におけるノースバウンド接続に対するものであり、
前記残りのアウトバウンド接続は、前記データ・センター・ネットワーク構造のより高い次元へのスケーリングに対するものであるか、または前記データ・ネットワーク構造の外側へ／からの通信のために用いられる、請求項１３に記載の方法。
【請求項１９】
４つのスーパー・ユニットが、前記データ・センター・ネットワーク構造のｘ次元ユニットを構築するオール・ツー・オール形に接続される、請求項１８に記載の方法。
【請求項２０】
４つのｘ次元ユニットが、前記データ・センター・ネットワーク構造のｙ次元グループを構築するオール・ツー・オール形に接続される、請求項１９に記載の方法。
【請求項２１】
１０のｙ次元グループが、前記データ・センター・ネットワーク構造の前記ｚ次元グループを構築するピーターセン・グラフ形によって接続される、請求項２０に記載の方法。
【請求項２２】
５つのｚ次元グループが、前記データ・センター・ネットワーク構造のＰＯＤを構築するオール・ツー・オール形に接続される、請求項２１に記載の方法。
【請求項２３】
データ・センター・ネットワークにおける複数のノードをネットワーク化するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、自身によって具現化されるプログラム命令を有するコンピュータ可読記憶媒体を含み、前記プログラム命令は１つまたはそれ以上のコンピュータ・システムによって実行可能であって、前記１つまたはそれ以上のコンピュータ・システムに、
マルチホストＮＩＣコントローラのサウスバウンド接続に接続されたノードの第１のセットを各々が含む少なくとも１０のベース・ユニットを接続するステップであって、前記マルチホストＮＩＣコントローラはサウスバウンドよりも高い全帯域幅のノースバウンドを有する、ステップと、
前記１０のベース・ユニットをそれぞれのマルチホストＮＩＣコントローラによってグループ内ネットワークとして修正ピーターセン・グラフ形に接続してスーパー・ユニットを構築することによって、前記スーパー・ユニットの前記１０のベース・ユニットは、前記１０のベース・ユニットのうちの３つを含む３つのグループを含み、前記マルチホストＮＩＣコントローラの各々は、前記スーパー・ユニットの他の３つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用い、前記グループの各々の２つのベース・ユニットは第４のノースバウンド接続のそれぞれの１つを介して前記他の２グループの１つに接続されるようにするステップとを行わせ、前記マルチホストＮＩＣコントローラはドラゴンフライ・スイッチとして構成される、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にデータ・センター・ネットワーク構造に関し、より具体的にはネットワーク化の態様のすべての制約を反映する複数のノードによってデータ・センター・ネットワーク構造を構築することに関する。本発明はさらに、データ・センター・ネットワークにおける複数のノードをネットワーク化するための方法と、コンピュータ・プログラム製品とに関する。
【背景技術】
【０００２】
クラウド・コンピューティング・データ・センターは、サイズおよび能力の点で絶えず成長している。このことはコンピューティング・ノードの数を含む。コンピューティング・ノードは、データ・センターの３つのエレメント、すなわちノード、スイッチ、およびネットワーク接続のうちの１つとみられてもよい。加えて、ルーティング・プロトコルを考慮する必要がある。今日のクラウド・データ・センター（ＤＣ：ｄａｔａ  ｃｅｎｔｅｒｓ）は多数のアクティブ・ノードをホストし、データ・センター当り何万ものノードになる傾向がある。各ノードはサーバ（単一、ＳＭＰ［対称型マルチプロセッシング（ｓｙｍｍｅｔｒｉｃａｌ  ｍｕｌｔｉ−ｐｒｏｃｅｓｓｉｎｇ）］、小型クラスタ）、記憶装置、またはアクセラレータであり得る。それらのノードすべてが、１つ（またはいくつか）の部分的ＤＣネットワークを介して相互接続される必要がある。今日、多くのネットワーク・トポロジが公知であり、よく理解されている。多くのバージョンのツリー構造（オール・ツー・オール（別名「フル・メッシュ」）、２Ｄ／３Ｄメッシュ２Ｄ／３Ｄトーラス、ツリー、ファット・ツリー、ＸＧＦＴ、ドラゴンフライ、ドラゴンフライ＋、２段ドラゴンフライ、ハミング・グラフ、ＨｙｐｅｒＸ、およびその他多数）であり、これらの各々が１つまたはいくつかのネットワーク・レベルを有する。一般的に、クラウド・コンピューティング・データ・センターに対するいくつかの基本的目標がある。相互接続されるノードの数を増やすこと、性能効率的なルーティング・プロトコルを有すること、ならびにたとえばコスト、待ち時間、および帯域幅（すなわち性能）、およびＲＡＳの特徴（信頼性、可用性、および保守性（ｒｅｌｉａｂｉｌｉｔｙ、ａｖａｉｌａｂｉｌｉｔｙ  ａｎｄ  ｓｅｒｖｉｃｅａｂｉｌｉｔｙ））などの重要な境界条件を満たしつつ上記の目標を達成することである。
【０００３】
しかし、各ネットワーク・トポロジは同じ基本的問題を有する。すなわち、ノード数を与えられると、ノードの物理的なスペース要件によって、ノードは高速（１０＋Ｇｂｐｓ）の電気ケーブルがブリッジし得る間隔（これは物理的法則によって与えられる）よりも大きい間隔を置かれることが定められる。結果的に、上述のネットワーク・トポロジの１つを実現するために、ネットワーク・スイッチに加えて多くの光ケーブルが必要となる。１つの（最終的に極端な）例では、１０２４ノードのオール・ツー・オール・ネットワーク接続に対して、約５００，０００の光ケーブルが必要となるだろう。もしそれらの各々が１００Ｇｂｐｓのイーサネット（Ｒ）接続であって、現在の販売価格が約＄１，５００／ケーブルであれば、これによってＤＣのコストに約＄７８５Ｍ、またはノード当り＄７６７ｋが追加される！よって、光（距離＞約５ｍ）ケーブルの数を最小化するネットワーク構造が必要とされている。より一般的には、従来のネットワーク・トポロジはクラウド・コンピューティング・データ・センターのノード・スケーリングの態様に対処できるが、他の境界条件も同時に最適化することは極度に困難である。
【０００４】
データ・センター・ネットワーク構造に関する開示はいくつか存在する。特許文献１の文書は、複数のスイッチに結合されたスイッチにおいてデータ・パケットを受信するステップを含む方法を開示している。このスイッチは、複数のプレフィックスを含む第１のレベル・テーブルから、受信したパケットの宛先アドレスの第１の部分に一致するプレフィックスを判断してもよい。加えてこのスイッチは、第１のレベル・テーブルの一致プレフィックスが第２のレベル・テーブルに関連付けられているときは、複数のサフィックスを含む第２のレベル・テーブルから、受信したパケットの宛先アドレスの第２の部分に一致するサフィックスを判断してもよい。この構造は、実質的に同じサイズおよび容量の複数のより小さい個別スイッチを用いた顕著な耐障害性を有するスケーラブル通信帯域幅を提供するデータ・センター通信ファブリックの実現のために用いられる。
【０００５】
特許文献２の文書は、複数のノードを含むネットワークの物理的トポロジを定めるためのシステムを開示している。各ノードは、マルチチップのより上位層のスイッチを含む。マルチチップのより上位層のスイッチにおける各チップは、複数のポートを含む。反復プロセスを通じてより上位層のスイッチのチップのそれぞれのポートに物理的接続を割り当てるために、ネットワーク構成モジュールが構成される。反復プロセスは、複数のルートの第１のルートを選択するステップ、選択されたルートのソース・ノードに対する割り当てを行うステップを含み、第１のチップの第１の部分は奇数のフリー・ポートを有する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２０１０／００２０８０６（Ａ１）号
【特許文献２】米国特許第９１６６８８６（Ｂ１）号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
公知の解決策の１つの欠点は、基礎をなすネットワーク特性の最適化が主に、たとえば選択されたネットワーク・アーキテクチャ、スイッチ当りのポート数、ネットワーク次元（２Ｄ、３Ｄ、ｎＤ）、１ホップ接続の到達範囲、および必要とされる合計ホップ数などの可能な変数のみによって行われるという事実にある。
【０００８】
しかし、この１方向のみでの最適化の制限を克服することが要求されてもよい。このことは特に、何百または何千ものノードを含む大型データ・センターにおける短距離および長距離ネットワーク接続に対する上述の境界および関連するコストを反映した最適化に当てはまるだろう。
【課題を解決するための手段】
【０００９】
このセクションは実施例を含むことが意図されており、限定することは意図されていない。
【００１０】
本発明の実施形態例によると、複数のノードを含むデータ・センター・ネットワーク構造が提供される。このデータ・センター・ネットワーク構造は、マルチホストＮＩＣコントローラのサウスバウンド接続によって接続されたノードの第１のセットを各々が含む少なくとも１０のベース・ユニットを含み、前記マルチホストＮＩＣコントローラはサウスバウンドよりも高い全帯域幅のノースバウンドを有し、このデータ・センター・ネットワーク構造はさらに、１０のベース・ユニットを含むスーパー・ユニットを含み、これらのベース・ユニットのそれぞれのマルチホストＮＩＣコントローラがグループ内ネットワークとして修正ピーターセン・グラフ形に接続されることによって、スーパー・ユニットの１０のベース・ユニットは、１０のベース・ユニットのうちの３つを各々が含む３つのグループを含み、前記マルチホストＮＩＣコントローラの各々は、スーパー・ユニットの他の３つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用いるために適合され、グループの各々の２つのベース・ユニットは第４のグループ内ノースバウンド接続のそれぞれの１つを介して前記他の２グループの１つに接続され、前記１０のベース・ユニットのうち３ベース・ユニットの３グループの１つの一部ではない残りのベース・ユニットは、３グループの各々の１つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用いるために適合され、前記マルチホストＮＩＣコントローラはドラゴンフライ・スイッチとして構成される。
【００１１】
本発明の別の実施形態例によると、データ・センター・ネットワーク構造における複数のノードをネットワーク化するための方法が提供される。この方法は、マルチホストＮＩＣコントローラのサウスバウンド接続に接続されたノードの第１のセットを各々が含む少なくとも１０のベース・ユニットを接続するステップであって、前記マルチホストＮＩＣコントローラはサウスバウンドよりも高い全帯域幅のノースバウンドを有する、ステップと、これら１０のベース・ユニットをそれぞれのマルチホストＮＩＣコントローラによってグループ内ネットワークとして修正ピーターセン・グラフ形に接続してスーパー・ユニットを構築することによって、スーパー・ユニットの１０のベース・ユニットは、１０のベース・ユニットのうちの３つを含む３つのグループを含み、前記マルチホストＮＩＣコントローラの各々は、スーパー・ユニットの他の３つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用い、グループの各々の２つのベース・ユニットは第４のノースバウンド接続のそれぞれの１つを介して３ベース・ユニットの前記他の２グループの１つに接続され、前記１０のベース・ユニットのうち３ベース・ユニットの３グループの１つの一部ではない残りのベース・ユニットは、３グループの各々の１つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用いるために適合されるようにするステップとを含み、前記マルチホストＮＩＣコントローラはドラゴンフライ・スイッチとして構成される。
【００１２】
本発明のさらに別の実施形態例によると、データ・センター・ネットワークにおける複数のノードをネットワーク化するためのコンピュータ・プログラム製品が提供される。このコンピュータ・プログラム製品は、自身によって具現化されるプログラム命令を有するコンピュータ可読記憶媒体を含み、前記プログラム命令は１つまたはそれ以上のコンピュータ・システムによって実行可能であり、前記１つまたはそれ以上のコンピュータ・システムに、マルチホストＮＩＣコントローラのサウスバウンド接続に接続されたノードの第１のセットを各々が含む少なくとも１０のベース・ユニットを接続するステップであって、前記マルチホストＮＩＣコントローラはサウスバウンドよりも高い全帯域幅のノースバウンドを有する、ステップと、前記１０のベース・ユニットをそれぞれのマルチホストＮＩＣコントローラによってグループ内ネットワークとして修正ピーターセン・グラフ形に接続してスーパー・ユニットを構築することによって、スーパー・ユニットの１０のベース・ユニットは、１０のベース・ユニットのうちの３つを含む３つのグループを含み、前記マルチホストＮＩＣコントローラの各々は、スーパー・ユニットの他の３つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用い、グループの各々の２つのベース・ユニットは第４のノースバウンド接続のそれぞれの１つを介して他の２グループの１つに接続されるようにするステップとを行わせ、前記マルチホストＮＩＣコントローラはドラゴンフライ・スイッチとして構成される。
【００１３】
本発明の好ましい実施形態を、単なる例として以下の図面を参照して説明する。
【図面の簡単な説明】
【００１４】
【図１】本発明の例示的実施形態によるデータ・センター・ネットワーク構造を示すブロック図である。
【図２】データ・センターにおいてネットワークを構築するために従来から用いられるピーターセン・グラフを示す図である。
【図３】本発明の例示的実施形態によるノードおよびドラゴンフライ・スイッチを有する１つのブロックとして図１のグループ内ネットワークを示す図である。
【図４】本発明の例示的実施形態によるマルチホストＮＩＣコネクタを示す図である。
【図５】図５ａ、図５ｂは本発明の例示的実施形態によるドラゴンフライ・スイッチの概念を示す図である。
【図６】本発明の例示的実施形態によるシャーシとして示されるスーパー・ユニットに組み合わされたベース・ユニットを示す図である。
【図７】本発明の例示的実施形態による２つのラックの組み合わせを示す図である。
【図８】本発明の例示的実施形態によるデータ・センターのネットワークのｚ次元グループを構築する１０のｙ次元グループを示す図である。
【図９】本発明の例示的実施形態によるデータ・センターのネットワークのｗ次元を示す図である。
【図１０】本発明の例示的実施形態によるデータ・センター・ネットワークにおける複数のノードをネットワーク化するための方法を表すブロック図である。
【図１１】本発明の例示的実施形態によるネットワークにおける使用のために好適なコンピュータ・システム・ノードのブロック図の実施形態を示す図である。
【発明を実施するための形態】
【００１５】
本発明の実施形態は異なる主題を参照して説明されることに留意されたい。特に、いくつかの実施形態は方法タイプの請求項を参照して説明されるのに対し、他の実施形態は装置タイプの請求項を参照して説明されている。しかし、当業者は上記および以下の説明から、別様に示されない限り、１つのタイプの主題に属する特徴の任意の組み合わせに加えて、異なる主題に関する特徴の任意の組み合わせ、特に方法タイプの請求項の特徴と装置タイプの請求項の特徴との任意の組み合わせもこの文書内に開示されているとみなされることを推測するだろう。
【００１６】
本発明の上記に定義される態様およびさらなる態様は、以下に記載されて実施形態例を参照しながら説明されるが本発明を限定することのない実施形態例から明らかである。
【００１７】
以下に図面の詳細な説明が与えられることとなる。図面におけるすべての指示は概略的なものである。最初に、本発明のデータ・センター・ネットワーク構造の実施形態のブロック図が与えられる。その後、さらなる実施形態、およびデータ・センター・ネットワークにおける複数のノードをネットワーク化するための方法の実施形態が説明されることとなる。
【００１８】
この記載の状況においては以下の慣例、用語、もしくは表現、またはその組み合わせが用いられてもよい。
【００１９】
「データ・センター・ネットワーク構造」という用語は、複数のアーキテクチャに関する同種または異種のノードを含むデータ・センターにおけるノード間のデータ交換ネットワークのトポロジを示してもよい。
【００２０】
「ノード」という用語は、コンピューティング・ノード、アクセラレータ・ノード、ストレージ・ノード、または少なくとも１つのサーバと１つのマルチホストＮＩＣコネクタとを備える類似のノードを示してもよい。ノード自体が、単一ＣＰＵまたは複数のＣＰＵコンピューティング・ノードによって構成されてもよい。加えて、ノードはサーバとマルチホストＮＩＣコントローラとを含むベース・ユニットとして示されてもよい。所与のダイ利用可能マルチホストＮＩＣコントローラの、マルチホストＮＩＣコントローラ当り２、３、または４のサーバを有するバージョンも可能であってもよい。
【００２１】
「ベース・ユニット」という用語は、ネットワーク・トポロジにおけるノード、たとえば今説明したノードとして実現されるノードなどを示してもよい。ベース・ユニットは、たとえばサウスバウンドＰＣＩｅ（Ｒ）に基づく接続などを用いたマルチホストＮＩＣコントローラを含んでもよい。しかし、サーバとマルチホストＮＩＣコントローラとの代替的な接続技術も可能である。加えて、ベース・ユニットは「スレッド」として示されることもある。
【００２２】
「マルチホストＮＩＣコントローラ」という用語は、アダプタの物理ポートと内部の仮想ポート（ＶＰｏｒｔ：ｖｉｒｔｕａｌ  ｐｏｒｔｓ）との間でネットワーク・トラフィックを転送するハードウェア・ブリッジとして実現される単一ルートＩＯ仮想化（ＳＲ−ＶＩＯ：ｓｉｎｇｌｅ  ｒｏｏｔ  ＩＯ  ｖｉｒｔｕａｌｉｚａｔｉｏｎ）をサポートするネットワーク・アダプタを示してもよい。こうしたブリッジは、ＮＩＣスイッチとしても公知である。各ＮＩＣスイッチは、少なくとも以下のコンポーネントを含む。（ｉ）外部物理ネットワークへのネットワーク接続性を提供する１つの外部ポートまたは物理ポート。（ｉｉ）ネットワーク・アダプタにおけるＰＣＩ  Ｅｘｐｒｅｓｓ（Ｒ）（ＰＣＩｅ（Ｒ））物理機能（ＦＰ：Ｐｈｙｓｉｃａｌ  Ｆｕｎｃｔｉｏｎ）に外部物理ネットワークへのアクセスを提供する１つの内部ポート。この内部ポートは仮想ポート（ＶＰｏｒｔ）としても公知である。物理機能は常に、作成されて自身に割り当てられ得るＶＰｏｒｔを有してもよい。このＶＰｏｒｔはデフォルト（ｄｅｆａｕｌｔ）ＶＰｏｒｔとして公知であり、ＤＥＦＡＵＬＴ−ＶＰＯＲＴ−ＩＤ識別子によって参照されてもよい。（ｉｉｉ）さらに、ネットワーク・アダプタにおけるＰＣＩｅ（Ｒ）仮想機能（ＶＦ：Ｖｉｒｔｕａｌ  Ｆｕｎｃｔｉｏｎ）に外部物理ネットワークへのアクセスを提供し得る１つまたはそれ以上のＶＰｏｒｔが利用可能である。
【００２３】
「スイッチ」またはネットワーク・スイッチ（スイッチング・ハブ、ブリッジング・ハブ、公式にはＭＡＣブリッジとも呼ばれる）という用語は、データを受信し、処理し、宛先デバイスに転送するためにパケット・スイッチングを用いることによって、コンピュータ・ネットワーク上でデバイスをともに接続するコンピュータ・ネットワーク化デバイスのことである。それほど高度ではないネットワーク・ハブとは異なり、ネットワーク・スイッチはその各々のポートから同じデータを一斉送信するのではなく、データを受信する必要のある１つまたは複数のデバイスのみにデータを転送する。
【００２４】
「ノースバウンド」という用語は、ネットワーク・スイッチのアップリンク側を示してもよい。この表現は通常、ネットワーク・スイッチのダウンリンク側を示すサウスバウンド接続と対照させて用いられる。
【００２５】
ネットワーク・スイッチの「全帯域幅」という用語は、本明細書においてはネットワーク・スイッチのすべてのノースバウンド・ポートの合計を示してもよい。
【００２６】
「スーパー・ユニット」という用語は１０のベース・ユニットのグループを示してもよく、たとえば各ベース・ユニットは最低１つのコンピューティング・ノードと１つのマルチホストＮＩＣコントローラとで構成されており、これらのベース・ユニットは本明細書において考察される修正ピーターセン・グラフの形に接続される。加えてスーパー・ユニットは、１０のベース・ユニットを有するシャーシまたは単にシャーシとして示されてもよい。
【００２７】
「ドラゴンフライ・スイッチ」という用語は、仮想スイッチを構築する形で互いに接続された少なくとも２つのネットワーク・スイッチを示してもよい。必要条件は、ノースバウンド帯域幅の合計がサウスバウンド帯域幅の合計よりも高いことであってもよい。余剰のノースバウンド容量は、各個別スイッチの性能およびスループットを犠牲にすることのないノースバウンド・スイッチング容量として用いられてもよい（図３も比較されたい）。
【００２８】
「サーバ」という用語は、コンピュータ・サーバ、アクセラレータ、およびストレージ・サーバまたは類似物の形の、ベース・ユニットのコンポーネントを示してもよい。サーバ、またはサーバの第１のセットのグループは、データ・ネットワークにおけるノードを表してもよい。
【００２９】
「ｘ次元ユニット」という用語は、データ・センター・ネットワークの１つの次元を構築する複数のベース・ユニットを示してもよい。本明細書で考察される実施形態において、ｘ次元ユニットは４つのスーパー・ユニットすなわちシャーシを含んでもよく、各シャーシは１０のベース・ユニットすなわちノードを含む。
【００３０】
「ｙ次元グループ」という用語は、データ・センター・ネットワーク・トポロジの別の次元を示してもよい。本明細書で考察される実施形態において、ｙ次元は４つのｘ次元ユニットを含んでもよい。
【００３１】
「ＰＯＤ」という用語は、裸の１９インチ（４８．２６ｃｍ）ラックを用いてそれらに１〜４Ｕのフォーム・ファクタを有するサーバを装着して、高性能コンピューティング・プラットフォームを作成するための複数の多かれ少なかれ共有化されたサーバ・コンポーネントを示してもよい。データ・センターＰＯＤに対してさらに要求されるコンポーネントは、異なるサーバ間でデータを移送するために用いられるネットワーク化およびデータ・スイッチングおよびルーティング技術である。
【００３２】
図１は、例示的実施形態によるデータ・センター・ネットワーク構造の実施形態のブロック図を示す。データ・センター・ネットワーク構造は、複数のベース・ユニット１０２、１０４、…、１２０を含む。ベース・ユニットの各々は、ノードの第１のセットを含む。ノードの各々は、コンピューティング・ノード、ストレージ・ノード、アクセラレータ・ノード、または類似物であってもよい。ベース・ユニット１０２、１０４、…、１２０内のノードの各々は、マルチホストＮＩＣコントローラのサウスバウンド接続に接続される。ノードは、ベース・ユニット１０２、１０４、…、１２０の各１つの中でＰＣＩｅ（ペリフェラル・コンポーネント・インターコネクト・エクスプレス（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ））（Ｒ）接続を介してマルチホストＮＩＣコントローラに接続されてもよい。マルチホストＮＩＣコントローラは、サウスバウンドよりも高い全帯域幅のノースバウンドを有する。
【００３３】
１０のベース・ユニット１０２、１０４、…、１２０がスーパー・ユニット１００を構築し、これは「シャーシ」とも呼ばれる。これらのベース・ユニットは、グループ内ネットワークとして修正ピーターセン・グラフ形に接続される。ベース・ユニット１０２、１０４、…、１２０のマルチホストＮＩＣコントローラの各々は、他の３つのベース・ユニットへの直接接続のために３つのノースバウンド接続１２２、１２４、１２６を用いるために適合される。ベース・ユニット１０２、１０４、…、１２０当り３つの接続を、ベース・ユニット１０８のみを用いて例示的に示す。今説明した３つの接続は、ベース・ユニット１０８の場合は１２２、１２４、１２６と示され、これらの接続はベース・ユニット１０６、１０４、および１０２をベース・ユニット１０８と直接接続する。図１において、ベース・ユニット１０２、１０４、…、１２０の各々に対して３つの接続を有する類似の接続形状が識別され得る。
【００３４】
３つのベース・ユニットの３つのグループの各々はスーパー・ユニット１００内に存在し、このスーパー・ユニット１００においてはグループの各メンバーに到達するために１ホップのみが必要とされることが注目されてもよい。これらのグループは、（ａ）ベース・ユニット１０４、１０６、１０８、（ｂ）ベース・ユニット１１０、１１２、１１４、（ｃ）ベース・ユニット１１６、１１８、１２０である。
【００３５】
さらに、３ベース・ユニットの各グループの２つのベース・ユニット、すなわち各グループの外側端縁にあるもの、すなわち１０４／１０８、１１０／１１４、および１１６／１２０は、第４のノースバウンド接続のそれぞれ１つを介して、３ベース・ユニットの他の２グループの１つに接続される。たとえば、グループ（ａ）のベース・ユニット１０４はグループ（ｂ）のベース・ユニット１１０に接続され、グループ（ａ）のベース・ユニット１０８はグループ（ｃ）のベース・ユニット１２０に接続される。みられるとおり、ベース・ユニット１０２はグループ（ａ）、（ｂ）、（ｃ）のいずれにも属さない。
【００３６】
そのやり方で、３ベース・ユニットの各グループ内に１ホップ接続が存在することが保証される。後で説明されることとなるとおり、マルチホストＮＩＣコントローラはドラゴンフライ・スイッチとして構成されることが注目されてもよい。
【００３７】
加えて、ベース・ユニットは上述のノード・タイプ（コンピューティング・ノード、ストレージ・ノード、アクセラレータ・ノード）を含んでもよいことにも留意されたい。一実施形態において、ベース・ユニットは最大４つのノードを含むスレッドであってもよい。しかし、例示的にはスレッドは１つのデュアル・ソケット（すなわち、２つのＣＰＵに対する）サーバを含んでもよい。各ＣＰＵは、スレッドまたはベース・ユニット内のマルチホストＮＩＣコントローラに自身を接続するために用いられる少なくとも１つの関連ＰＣＩｅ（Ｒ）接続を有してもよい。サーバからネットワークへの利用可能帯域幅を倍増させるために、同様にサーバに含まれるマルチホストＮＩＣコントローラにそれぞれのＣＰＵを接続するために、第２のＰＣＩｅ（Ｒ）接続も用いられてもよい。図３により多くの詳細がみられる。
【００３８】
図２は、データ・センターにおいてネットワークを構築するために従来から用いられるピーターセン・グラフ２００を示す。ノード２０２、２０４、…、２２０が図示されるやり方で接続される。ノード２０２、２０４、…、２２０のうち２つの間の各リンクは、ネットワーク接続を表す。容易に分かるとおり、ノード２０２、２０４、…、２２０のいずれから始めても、ピーターセン・グラフ形ネットワークにおける任意の他のノードに対して２ホップによる接続が確立され得る。これは、上で考察した修正ピーターセン・グラフ構造が、オール・ツー・オール２ホップ・ネットワーク構造を表さずに、修正ピーターセン・グラフ形ネットワークのサブグループ（ａ）、（ｂ）、（ｃ）における１ホップ接続を可能にするのと対照的である。ピーターセン・グラフ構造タイプのネットワークは後に用いられることとなる。
【００３９】
ここで再び図１に戻る。データ・センター・ネットワーク構造１００において、３ベース・ユニットの３つのグループ（ａ）、（ｂ）、（ｃ）の各々における各ベース・ユニット１０４…１０６、１１０…１１４、１１６…１２０は、少なくとも１つの第５のノースバウンド接続１２８、１３０、１３２（ベース・ユニット１０４…１０６を有するグループ（ａ）のものだけが参照番号を有する）を含むことによって、３ベース・ユニットのグループの各々が３つのグループ・アウトバウンド接続を可能にする。それらの接続は、データ・センター・ネットワーク構造のノースバウンドｘ次元接続、データ・センター・ネットワーク構造のノースバウンドｙ次元接続、およびデータ・センター・ネットワーク構造のノースバウンドｚ次元接続として示される。
【００４０】
一実施形態において、「グループ化されていない」中央ベース・ユニット１０２も、修正ピーターセン・グラフ形のグループ内ネットワークへのサービス接続か、またはユーザのデータに対するＩ／Ｏ（入力／出力（ｉｎｐｕｔ／ｏｕｔｐｕｔ））接続の働きをし得る付加的な接続１３４を含む。
【００４１】
一実施形態によると、第５のノースバウンド・グループ内接続を含んでいない３ベース・ユニットのグループにおける各ベース・ユニット、すなわち中央のベース・ユニット１０６、１１２、１１８も、データ・センター・ネットワーク構造のｗ次元における４つの付加的なノースバウンド接続１３６を構築する付加的なサービス接続として使用可能な付加的なノースバウンドの電気的接続を含む。
【００４２】
上記をすべて組み合わせると図３に達し、この図面は、ノード３０８（１０のうちの１つのみが参照番号を有する）と、（仮想）ドラゴンフライ・スイッチ３０２（説明はさらに以下を参照）とを有する１つのブロックとしての図１のグループ内ネットワークを、ｘ、ｙ、ｚ、およびｗ次元における可能なネットワーク接続とともに示している。図１から導かれ得るとおり、データ・センター・ネットワークにはｘ方向の３つのノースバウンド接続と、ｙ方向に対して使用可能な３つのノースバウンド接続と、ｚ方向の３つの接続と、ｗ方向の４つの接続とが存在する。加えて、ｕ接続（図１の１３４と比較）および２つの付加的な存在し得るサービス接続「ｓ」が示されている。
【００４３】
例示的に、１０掛ける２ボックス３０４および３０６（同様に例示的参照番号を有する）のうちの２つを囲んで、デュアル・ソケット・サーバを表す。１０のサーバの２０のＣＰＵの各１つからの実線３１０（明瞭性のためにただ１つの例示的参照番号を示す）は、それぞれのＣＰＵから自身のマルチホストＮＩＣコネクタへのＰＣＩｅ（Ｒ）接続を表し、このマルチホストＮＩＣコネクタは１０のマルチホストＮＩＣコネクタすべての組み合わせで仮想ドラゴンフライ・スイッチ３０２を構築する。ＣＰＵと仮想ドラゴンフライ・スイッチ３０２との間の点線３１２（２０のうちの１つだけが例示的に参照番号を有する）は、付加的な実施形態におけるＣＰＵから関連ベース・ユニット／スレッド（図１の参照番号１０２…１２０）の関連マルチホストＮＩＣコネクタへのさらなる任意のＰＣＩｅ（Ｒ）接続を表してもよい。
【００４４】
なお、他の実施形態においてはＰＣＩｅ（Ｒ）接続以外の接続も用いられてもよい。さらに、任意の記載された接続に対して、電気的接続（ケーブル）または光学的接続（ケーブル）のいずれが用いられてもよいことに留意されたい。しかし、物理的長距離に対しては光ケーブルを用いることが好ましい。
【００４５】
「スーパー・ユニット」または「シャーシ」としても示されるこのコア構造に基づいて、より大きいデータ・センター・ネットワークが構築されてもよい。しかし、その態様を詳述する前に、マルチホストＮＩＣコントローラおよびその関連のすでに言及したドラゴンフライ構造のいくつかの詳細を説明することにする。
【００４６】
図４は、マルチホストＮＩＣコントローラ４００の実施形態を示す。これは、マルチホストＮＩＣ内部スイッチ４１２を含むネットワーク・スイッチとして動作されてもよい。マルチホストＮＩＣ内部スイッチ４１２は、サウスバウンドにネットワーク・インタフェース・コントローラ４０１、…、４１０を含む。２つのノードまたはサーバは、たとえばＰＣＩｅ（Ｒ）接続などを介してサウスバウンド・ノード接続４１４を用いて接続されてもよい。ノースバウンドは、複数のポート４１６…４２８、たとえば４×２５Ｇｂｐｓ接続のグループなどが利用可能である。それらは、異なる規則および優先順位によってグループ化されてもよい。ノースバウンド・ポート４１６および４１８は、一実施形態において、スーパー・ユニット当り１０のベース・ユニット、すなわちシャーシ当り１０のスレッドに対する３×１００Ｇｂｐｓ接続を用いたｘ次元オール・ツー・オール・ネットワークとして使用されてもよい。
【００４７】
付加的なＲＡＳ接続（信頼性、可用性、および保守性）として、ポート４２２の４つの付加的な接続が用いられてもよい。他のポート４２４が任意に用いられてもよい。最後に、ポート４２６および４２８は、その他の次元すなわちｙ次元、ｚ次元、およびｗ次元へのスケーリングのための２掛ける１００Ｇｂｐｓポートとして用いられる。マルチホストＮＩＣコネクタ４００に対するすべてのノースバウンド接続は、電気または光ケーブルによって可能にされてもよいことが再び注目されてもよい。加えて、マルチホストＮＩＣ内部スイッチ４１２は、たとえばインテル（Ｉｎｔｅｌ）のＲｅｄ  Ｒｏｃｋ  Ｃｏｎｎｅｃｔｏｒなどに基づくものであってもよいことに言及する価値がある。
【００４８】
図５ａ、図５ｂはドラゴンフライ・スイッチの概念を示す。図５ａを参照して、サウスバウンド・ポート４０１…４１０は、マルチホストＮＩＣ内部スイッチ４１２のノースバウンド・ポートよりも小さい帯域幅を有することが想定されてもよい。その場合、すべてのサウスバウンド接続サーバが全サウスバウンド帯域幅を用いて通信する５０２ときに、マルチホストＮＩＣ内部スイッチ４１２のノースバウンド側にはまだ付加的な余剰帯域幅が残っていてもよい。少なくとも２つのマルチホストＮＩＣコネクタ４００を含む分散スイッチを構築するために、ノースバウンド側のこの余剰帯域幅５０４を活用してもよい。しかし、スイッチのオーバーサブスクリプションを避けるための境界条件が存在する。ノースバウンドにおける組み合わされたＮＩＣノード帯域幅と、分散スイッチ帯域幅とを足したものは、内部スイッチ帯域幅容量以下となるべきである。
【００４９】
しかし、より大きい仮想分散スイッチを構築するために、相互接続されたベース・ユニット（図１と比較）が用いられる。マルチホストＮＩＣコネクタの２つの組み合わせは、ノードから外側接続へのドラゴンフライ・マルチホストＮＩＣコントローラ帯域幅を構築する。
【００５０】
図５ｂを参照して、点線５０６はこうして構築されたドラゴンフライ・スイッチ５００の外部スイッチング容量を示し、実線５０８は左のマルチホストＮＩＣコントローラ４００または右のマルチホストＮＩＣコントローラ４００のいずれかを介してサウスバウンドＮＩＣ４０１…４１０からノースバウンド・ポートに切り換えられた接続を示す。
【００５１】
図６は、シャーシ６０２…６１８としても示されるスーパー・ユニット６０２…６１８に組み合わされたベース・ユニット１０２（参照番号は代表的にのみ使用する）を示す。これらのスーパー・ユニット６０２…６１８の各々は、１０のベース・ユニット（その１つは参照番号１０２を有する、図１と比較）を含む。それらのスーパー・ユニットのうちの４つ、すなわちスーパー・ユニット６０２、６０４、６０６、６０８は、ｘ次元グループに組み合わされる。こうしたｘ次元グループ６１０は、ネットワークのｘ次元、すなわち４０ベース・ユニットを構築する。それらのｘ次元グループ６１０、６２０の２つが、１つの業界水準のラック６００において組み合わされてもよい。２つのｘ次元グループ６１０、６２０の間の点線６２２は、ラック６００における分割のロジックを示す。各スーパー・ユニット内の円と、それらをつなぎ合わせる線とは、４つの関連シャーシ６０２、６０４、６０６、６０８、およびそれぞれ６１２、６１４、６１６、６１８のオール・ツー・オール接続を表す。各シャーシから、ｘ次元グループ６１０、６２０のその他のシャーシの１つに３つの接続が行くことが注目されてもよい。
【００５２】
図７は、２つのラック６００の組み合わせを示す。これは例示的ネットワークのｙ次元グループ７００を構築する。加えてここには、それぞれの４シャーシのオール・ツー・オール接続が、関連する他のシャーシに接続されたシャーシ当り１つの円によって象徴的に示されている。各々のｘ層、すなわちｘ次元グループは水平方向に２つのラックに及んでいることが注目されてもよい。
【００５３】
図８は、データ・センターのネットワークのｚ次元グループ８０４を構築する１０のｙ次元グループを示す。ｙ次元グループの１つを点線８０２で囲んでいる。１０のｙ次元グループ８０２は、オール・ツー・オールの形ではなく、上で説明したピーターセン・グラフ２００形（図２と比較）に接続されている。１０のダブル・ラック８０２は、ネットワークの平面として示されてもよい。よって、ｚ次元は１０の平面として示される。
【００５４】
図９は、データ・センターのネットワークのｗ次元を示す。ここでは、５つの超平面すなわちｚ次元グループ８０４が、２０ラックのグループ間のオール・ツー・オール接続に組み合わされている。完全なデータ・センター・ネットワークＰＯＤ９００を構築するために、合計１６００のたとえば光ケーブルなどのケーブルが用いられてもよい。より短距離のネットワーク・ケーブルは、電気的接続であってもよい。
【００５５】
一実施形態において、ｘ次元およびｙ次元には電気的接続が用いられ、ｚ次元には光ケーブルが用いられ得るとき、１６０の光ケーブル（１０ケーブル×２列×８シャーシ）が必要である。ｗ次元も光ケーブルで接続されてもよいときは、ＰＯＤ当り８，０００のベース・ユニット／スレッドに対する４，８００の光ポートに合計２，４００の光ケーブルを接続する必要があってもよい。これは、光ポートの６０％の平均使用量を表してもよい。よって、データ・センターＰＯＤの１００のラックが２，４００の光ケーブルに接続されてもよく、これは通常８，０００ベース・ユニット（ノード）を必要とする従来のＰＯＤよりもはるかに少ない数を表し、よってより低いネットワーク・コストを表してもよい。
【００５６】
図１０は、データ・センター・ネットワークにおける複数のノードをネットワーク化するための方法１０００の実施形態のブロック図を示す。この方法は、マルチホストＮＩＣコントローラのサウスバウンド接続に接続されたノードの第１のセットを各々が含む複数のベース・ユニットを接続するステップ１００２を含む。マルチホストＮＩＣコントローラは、サウスバウンドよりも高い全帯域幅のノースバウンドを有する。
【００５７】
この方法は、１０のベース・ユニットをそれぞれのマルチホストＮＩＣコントローラによって、スーパー・ユニットを構築するグループ内ネットワークとして修正ピーターセン・グラフ形にさらに接続するステップ１００４を含み、ここでマルチホストＮＩＣコントローラの各々は、他の３つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用い、３ベース・ユニットの各グループの２つのベース・ユニットは、第４のノースバウンド接続のそれぞれの１つを介して３ベース・ユニットの他の２グループの１つに接続される。加えてこの方法１０００は、２つのマルチホストＮＩＣコントローラをそれぞれのドラゴンフライ・スイッチとして接続するステップ１００６を含む。よって、スイッチのノースバウンド接続の一部が、ドラゴンフライ・スイッチのグループ内ネットワーク・ポートのために用いられる。
【００５８】
本発明の実施形態は、プラットフォームがプログラム・コードの保存もしくは実行またはその両方に好適であることにかかわらず、実質的に任意のタイプのコンピュータとともに実現されてもよい。図１１は、提案される方法に関するプログラム・コードの実行のために好適なコンピュータ・システム１１００を例として示し、コンピューティング・ノードも例として示す。
【００５９】
コンピュータ・システム１１００は、好適なコンピュータ・システムの単なる一例であり、本明細書に記載される本発明の実施形態の使用または機能の範囲に関するいかなる限定を示唆することも意図されていない。それにかかわらず、コンピュータ・システム１１００は上記に示された任意の機能の実現もしくは実行またはその両方が可能である。コンピュータ・システム１１００内には、多数の他の汎用目的または特定目的のコンピュータ・システム環境または構成とともに動作するコンポーネントが存在する。コンピュータ・システム／サーバ１１００とともに用いるために好適であり得る周知のコンピュータ・システム、環境、もしくは構成、またはその組み合わせの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル家電機器、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムまたはデバイスのいずれかを含む分散型クラウド・コンピューティング環境などを含むが、それに限定されない。コンピュータ・システム／サーバ１１００は、コンピュータ・システム１１００によって実行されるたとえばプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的なコンテキストで記載されてもよい。一般的にプログラム・モジュールは、特定のタスクを行うか、または特定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、およびデータ構造などを含んでもよい。コンピュータ・システム／サーバ１１００は、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクが行われる分散型クラウド・コンピューティング環境において実施されてもよい。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ記憶デバイスを含むローカルおよびリモート・コンピュータ・システム記憶媒体の両方に位置してもよい。
【００６０】
図面に示されるとおり、コンピュータ・システム／サーバ１１００は、汎用目的のコンピューティング・デバイスの形で示される。コンピュータ・システム／サーバ１１００のコンポーネントは、１つまたはそれ以上のプロセッサまたは処理ユニット１１０２、システム・メモリ１１０４、およびシステム・メモリ１１０４を含むさまざまなシステム・コンポーネントをプロセッサ１１０２に結合するバス１１０６を含んでもよいが、それに限定されない。バス１１０６は、メモリ・バスまたはメモリ・コントローラ、周辺装置用バス、アクセラレーテッド・グラフィクス・ポート、およびさまざまなバス・アーキテクチャのいずれかを用いたプロセッサまたはローカル・バスを含むいくつかのタイプのバス構造のいずれかの１つまたはそれ以上を表す。限定ではなく例として、こうしたアーキテクチャはインダストリ・スタンダード・アーキテクチャ（ＩＳＡ：Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、拡張ＩＳＡ（ＥＩＳＡ：Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション（ＶＥＳＡ：Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バス、加えて特にペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ（Ｒ））バスを含む。外部デバイス１１１８、特にマルチホストＮＩＣはバス１１０６に直接取り付けられてもよく、またはＩ／Ｏインタフェース・ブロック（１１１４）を介して接続され得る。コンピュータ・システム／サーバ１１００は通常、さまざまなコンピュータ・システム可読媒体を含む。こうした媒体はコンピュータ・システム／サーバ１１００によってアクセス可能な任意の利用可能な媒体であってもよく、それは揮発性および不揮発性媒体、取り外し可能および取り外し不可能媒体の両方を含む。
【００６１】
システム・メモリ１１０４は、たとえばランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１１０８もしくはキャッシュ・メモリ１１１０またはその両方などの、揮発性メモリの形のコンピュータ・システム可読媒体を含んでもよい。コンピュータ・システム／サーバ１１００はさらに、他の取り外し可能／取り外し不可能、揮発性／不揮発性コンピュータ・システム記憶媒体を含んでもよい。単なる例として、取り外し不可能な不揮発性磁気媒体（図示されず、通常「ハード・ドライブ」と呼ばれる）からの読取りおよびそこへの書込みのために、ストレージ・システム１１１２が提供されてもよい。図示されていないが、取り外し可能な不揮発性磁気ディスク（例、「フロッピー（Ｒ）ディスク」）からの読取りおよびそこへの書込みのための磁気ディスク・ドライブ、およびたとえばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、またはその他の光媒体などの取り外し可能な不揮発性光ディスクからの読取りまたはそこへの書込みのための光ディスク・ドライブが提供されてもよい。こうした場合には、各々が１つまたはそれ以上のデータ媒体インタフェースによってバス１１０６に接続され得る。以下にさらに示されて説明されることとなるとおり、メモリ１１０４は、本発明の実施形態の機能を行うように構成されたプログラム・モジュールのセット（例、少なくとも１つ）を有する少なくとも１つのプログラム製品を含んでもよい。
【００６２】
プログラム・モジュール１１１６のセット（少なくとも１つ）を有するプログラム／ユーティリティ１１１５は、限定ではなく例としてメモリ１１０４に保存されてもよく、加えてオペレーティング・システム、１つまたはそれ以上のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データに保存されてもよい。オペレーティング・システム、１つまたはそれ以上のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データ、またはその何らかの組み合わせの各々は、ネットワーク化環境の実装を含んでもよい。プログラム・モジュール１１１６は一般的に、本明細書に記載される本発明の実施形態の機能もしくは方法またはその両方を行う。
【００６３】
加えて、コンピュータ・システム／サーバ１１００は、たとえばキーボード、ポインティング・デバイス、ディスプレイ１１２０などの１つもしくはそれ以上の外部デバイス１１１８；ユーザがコンピュータ・システム／サーバ１１００と対話することを可能にする１つもしくはそれ以上のデバイス；またはコンピュータ・システム／サーバ１１００が１つもしくはそれ以上の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス（例、ネットワーク・カード、モデムなど）、あるいはその組み合わせと通信してもよい。こうした通信は、入力／出力（Ｉ／Ｏ）インタフェース１１１４を介して起こり得る。さらに、コンピュータ・システム／サーバ１１００はネットワーク・アダプタ１１２２を介して、たとえばローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、一般的な広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、もしくは公衆ネットワーク（例、インターネット）、またはその組み合わせなどの１つまたはそれ以上のネットワークと通信してもよい。示されるとおり、ネットワーク・アダプタ１１２２は、バス１１０６を介してコンピュータ・システム／サーバ１１００のその他のコンポーネントと通信してもよい。図示されていないが、コンピュータ・システム／サーバ１１００とともに他のハードウェアもしくはソフトウェア・コンポーネントまたはその両方が用いられ得ることを理解されたい。その例はマイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイバル・ストレージ・システムなどを含むが、それに限定されない。
【００６４】
上述のベース・ユニットは、コンピュータ・システム１１００の形で実現されてもよいことが注目されてもよい。しかし一実施形態において、コンピュータ・システム１１００はデュアル・ソケット・サーバの形で実現されてもよい。当業者に公知であるとおり、その場合にはいくつかの他のコンポーネントが２倍利用可能であってもよい。
【００６５】
本発明の１つの態様によると、複数のノードを含むデータ・センター・ネットワーク構造が提供されてもよい。データ・センター・ネットワーク構造は、マルチホストＮＩＣコントローラのサウスバウンド接続によって接続されたノードの第１のセットを各々が含む複数のベース・ユニットを含んでもよい。マルチホストＮＩＣコントローラは、サウスバウンドよりも高い全帯域幅のノースバウンドを有してもよい。
【００６６】
加えてデータ・センター・ネットワーク構造は、グループ内ネットワークとして修正ピーターセン・グラフ形に接続されたそれぞれのマルチホストＮＩＣコントローラを有する１０のベース・ユニットを含むスーパー・ユニットを含んでもよく、ここでマルチホストＮＩＣコントローラの各々は、他の３つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用いるように適合され、３ベース・ユニットの各グループの２つのベース・ユニットは、第４のノースバウンド接続のそれぞれの１つを介して３ベース・ユニットの他の２グループの１つに接続されてもよい。さらに、マルチホストＮＩＣコントローラはドラゴンフライ・スイッチとして構成されてもよい。
【００６７】
本発明の別の態様によると、データ・センター・ネットワークにおける複数のノードをネットワーク化するための方法が提供されてもよい。この方法は、マルチホストＮＩＣコントローラのサウスバウンド接続に接続されたノードの第１のセットを各々が含む複数のベース・ユニットを接続するステップを含んでもよい。マルチホストＮＩＣコントローラは、サウスバウンドよりも高い全帯域幅のノースバウンドを有してもよい。
【００６８】
この方法はさらに、１０のベース・ユニットをそれぞれのマルチホストＮＩＣコントローラによって、スーパー・ユニットを構築するグループ内ネットワークとして修正ピーターセン・グラフ形に接続するステップを含んでもよく、ここでベース・ユニットのマルチホストＮＩＣコントローラの各々は、他の３つのベース・ユニットへの直接接続のために３つのノースバウンド接続を用い、３ベース・ユニットの各グループの２つのベース・ユニットは、第４のノースバウンド接続のそれぞれの１つを介して３ベース・ユニットの他の２グループの１つに接続される。マルチホストＮＩＣコントローラはドラゴンフライ・スイッチとして構成されてもよい。
【００６９】
さらに、実施形態は、コンピュータもしくは任意の命令実行システムによって、またはそれに関連して使用するためのプログラム・コードを提供する、コンピュータ使用可能またはコンピュータ可読媒体によってアクセス可能な関連コンピュータ・プログラム製品の形をとってもよい。この記載の目的に対するコンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、もしくはデバイスによって、またはそれに関連して使用するためのプログラムの保存、通信、伝播、または移送のための手段を含み得る任意の装置であってもよい。
【００７０】
提案されるデータ・センター・ネットワーク構造は、複数の利点および技術効果を提供してもよい。
【００７１】
修正ピーターセン・グラフ形に構成およびネットワーク化されたノードのネットワークで構成されるスーパー・ユニット、すなわちシャーシをコア構成要素として用いたデータ・センター・ネットワーク構造のここに提案されるトポロジは、１つより多い、または２つのアーキテクチャの制約または境界のバランスを取る高度にスケーラブルなデータ・センター・ネットワーク・トポロジを構築することを可能にする。互いに遠距離である構成要素間にのみ高価な光ケーブルを必要とするためのリソース効果の高い設計が特に注目される。
【００７２】
修正ピーターセン・グラフ・ネットワーク・トポロジは、１０ノードコア構成要素、すなわちスーパー・ユニットまたはシャーシに各々含まれる３つのノードの３つのグループ間の保証された１ホップ接続性を可能にする。こうしたスーパー・ユニット内で、ネットワーク接続は電気的接続に基づいてもよい。データ・センター・ネットワーク構造のｘ次元およびｙ次元に対しても同じことが当てはまってもよい。たとえばデータ・センター・ネットワーク構造のｚ次元およびｗ次元コンポーネントなど、より物理的に離れたコンポーネントは、光ケーブルで接続されてもよい。これによって、ラック当り８０ベース・ユニットまたはノードを有する１００のラックを含むＰＯＤ（ポイント・オブ・デリバリ（Ｐｏｉｎｔ  ｏｆ  Ｄｅｌｉｖｅｒｙ））において平均６０％の光ポートしか使用しないことを可能にすることによって、光ケーブルの必要性が劇的に低減されてもよい。よって、１００ラックにスケール・アップするために２，４００の光ケーブルしか必要なくてもよい。このことは、従来から用いられるデータ・センター・ネットワーク・トポロジよりもかなり費用対効果の高いデータ・センター・ネットワーク・トポロジを表してもよい。よって、修正ピーターセン・グラフ形に接続されたここに提案されるスーパー・ユニットのコア構成要素は、データ・センター・ネットワークの古典的な設計境界、すなわち選択されるネットワーク階層、スイッチ当りのポート数、ネットワーク次元（２Ｄ、３Ｄ、ｎＤ）、１ホップの到達範囲、およびデータ・センター内の宛先ノードに到達するために必要とされる合計ホップ数、ならびにネットワーク化のコストのバランスを取ってもよい。
【００７３】
以下において、関連する方法にも適用可能なデータ・センター・ネットワーク構造のさらなる実施形態を説明することとする。
【００７４】
データ・センター・ネットワーク構造の１つの有利な実施形態によると、ベース・ユニットの１つ、すなわち少なくとも１つは、グループ内ネットワークに対する外部接続すなわちノースバウンド接続として使用されるように適合された１つの付加的なノースバウンド接続を含んでもよい。よってスーパー・ユニットは、コア構成要素としてスーパー・ユニットを用いるより大きいデータ・センター・ネットワークを構成するためのコア・ネットワーク・トポロジ構造として用いられてもよい。
【００７５】
データ・センター・ネットワーク構造の１つの好ましい実施形態によると、３ベース・ユニットの３グループの各々における各ベース・ユニットは少なくとも１つのノースバウンド接続を含むことによって、３ベース・ユニットの各グループが３つのグループ・アウトバウンド接続を可能にしてもよい。それら３つのグループ・アウトバウンド接続のうちの１つはデータ・センター・ネットワーク構造のｘ次元におけるノースバウンド接続として用いられてもよく、それら３つのグループ・アウトバウンド接続のうち別のものはデータ・センター・ネットワーク構造のｙ次元におけるノースバウンド接続として用いられてもよく、それら３つのグループ・アウトバウンド接続のうち最後のものはデータ・センター・ネットワーク構造のｚ次元におけるノースバウンド接続として用いられてもよい。よって、提案されるトポロジは何千または何万ものコンピューティング・ノード、アクセラレータ、およびストレージ・ノードなどを有する高度にスケーラブルなデータ・センター・ネットワークのためのコア構造を構築してもよい。
【００７６】
データ・センター・ネットワーク構造の１つの許容される実施形態によると、各ベース・ユニットは少なくとも１つのサーバを含んでもよい。しかし、使用されるマルチホストＮＩＣコネクタのサウスバウンド容量によっては、ベース・ユニット当り２つ以上のサーバが提供されてもよい。例示的なベース・ユニットは、１つのマルチホストＮＩＣコネクタを有するデュアル・ソケット・サーバ（２つのＣＰＵソケット）として実現されてもよい。しかし、１つのデュアル・ソケット・サーバの代わりに他の構成も可能である。すなわち、複数の単一ソケット・サーバ、または２つよりもさらに多くのＣＰＵに対するソケットを有するサーバである。加えて、コンピューティング・アクセラレータ、たとえばグラフィック・コンピューティング・ユニット、暗号化ユニット、およびストレージ・ノードなどの専用コンピューティング・ユニットを含むものなども可能である。加えて、サーバとマルチホストＮＩＣコントローラのサウスバウンド接続との１つまたはそれ以上の接続を用いるためのサーバのＰＣＩｅ（Ｒ）接続の数は可変であってもよい。このことは、ベース・ユニットの構成の高い柔軟性を可能にしてもよい。
【００７７】
データ・センター・ネットワーク構造の付加的な好ましい実施形態によると、１０のベース・ユニットのうち３ベース・ユニットのグループの１つの一部ではない残りのベース・ユニットも、ノースバウンド接続を含んでもよい。それはさらなるスケーラビリティ・オプションのために用いられてもよいし、スーパー・ユニットに対するユーザまたは管理者Ｉ／Ｏとして用いられてもよい。
【００７８】
データ・センター・ネットワーク構造の１つのさらなる有利な実施形態によると、第４のノースバウンド接続を含んでいない３ベース・ユニットのグループにおける各ベース・ユニットも、データ・センター・ネットワーク構造のｗ次元におけるノースバウンド接続を構築する付加的な接続として使用可能な第４のノースバウンド接続を含んでもよい。スーパー・ユニットのコア構造に対するこれらの付加的な接続は、データ・センター・ネットワーク・トポロジに対する付加的な次元スケーラビリティ・オプションとして用いられてもよい。
【００７９】
データ・センター・ネットワーク構造の１つの好ましい実施形態によると、４つのスーパー・ユニットが、データ・センター・ネットワーク構造のｘ次元ユニットを構築するオール・ツー・オール形に接続されてもよい。スーパー・ユニットが典型的な１９インチ（４８．２６ｃｍ）ラックの１／８のサイズを有し得るとき、４つのスーパー・ユニットはこうしたラックの半分を必要とする。よって、高度にスケーラブルなデータ・センター・ネットワーク構造のスーパー・ユニットの新たに提案されるコア構造に対しても、データ・センターにおいて通常用いられる電気的および機械的インフラストラクチャ・コンポーネントが用いられてもよい。
【００８０】
データ・センター・ネットワーク構造のさらなる好ましい実施形態によると、４つのｘ次元ユニットすなわち２つのラックが、データ・センター・ネットワーク構造のｙ次元グループを構築するオール・ツー・オール形に接続されてもよい。再び、１つのシャーシにおいて１０のベース・ユニットを用いる選択されたアーキテクチャは、利用可能なインフラストラクチャ・コンポーネントを非常に効率的な方式で使用していることが実証される。修正ピーターセン・グラフ形に構成された１０ベース・ユニットのベース構造は、すでに利用可能なインフラストラクチャ・コンポーネントを効率的に使用している。
【００８１】
データ・センター・ネットワーク構造のさらに有利な実施形態によると、１０のｙ次元グループ、すなわち１０の平面であって、各平面が２ラックを有するために２０ラックとなるグループが、データ・センター・ネットワーク構造のｚ次元グループを構築する（従来の）ピーターセン・グラフ形によって接続されてもよい。各ピーターセン・グラフは１０のノードを含み、内側に１５の頂点／ケーブルを必要とすることに留意されたい。加えて、ｙ次元グループのスーパー・ユニットまたはシャーシを接続するために、複数のピーターセン構造が必要とされ得ることに留意されたい。データ・センター・ネットワーク構造のこの次元は、公知のトポロジに依拠してもよい。よって、コア・ユニットすなわちスーパー・ユニットの修正ピーターセン・グラフ形と、公知のデータ・センター・ネットワーク・トポロジとを組み合わせることによって、性能を最適化するだけでなく、電気的な形もしくは光学形またはその両方での必要とされるケーブル配線に対するコストを考慮した、信頼性が高く費用対効果およびリソース効果の高いネットワーク構造が可能になってもよい。
【００８２】
データ・センター・ネットワーク構造の１つの付加的な許容される実施形態によると、５つのｚ次元グループが、データ・センター・ネットワーク構造のＰＯＤを構築するオール・ツー・オール形に接続されてもよい。こうしたＰＯＤは、従来のまたは代替的なクラウド・コンピューティング・データ・センターの典型的なサイズを構築し得る１００ラックに最低８，０００サーバを含んでもよい。
【００８３】
いくつかの実施形態によると、物理的に別個のサービス・ネットワークを実現するために、マルチホストＮＩＣコントローラの任意の付加的に利用可能なノースバウンド接続が用いられてもよい。したがって、サービス／管理のために使用され得る物理的に別個の（すなわち付加的な）データ・センターの広いネットワークを実現するために、「実世界」のマルチホストＮＩＣにおいて利用可能であり得る付加的なノースバウンド接続が用いられてもよい。「通常の」ネットワークが何らかの理由で遮断／妨害されたときに、データ・センター・オペレータは別個のネットワークを介してスーパー・ユニットおよびそのノードにアクセスして、そのノードもしくはマルチホストＮＩＣまたはその両方の管理もしくはサービスまたはその両方ができるため、クラウド・データ・センターにおいてこうしたネットワークは重要である。
【００８４】
本発明のさまざまな実施形態の説明を例示の目的のために提供したが、開示される実施形態に対して網羅的または限定的になることは意図されていない。記載される実施形態の範囲および趣旨から逸脱することなく、当業者には多くの修正および変更が明らかになるだろう。本明細書において用いられる用語は、実施形態の原理、実際の適用、もしくは市場で見出される技術に対する技術的改善を最もよく説明するため、または他の当業者が本明細書に開示される実施形態を理解できるようにするために選択されたものである。
【００８５】
本発明はシステム、方法、もしくはコンピュータ・プログラム製品、またはその組み合わせとして具現化されてもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体（または複数の媒体）を含んでもよい。
【００８６】
媒体は、伝播媒体のための電子、磁気、光学、電磁気、赤外、または半導体のシステムであってもよい。コンピュータ可読媒体の例は半導体または固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、剛性磁気ディスク、および光ディスクを含んでもよい。光ディスクの現在の例は、コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、コンパクト・ディスク読取り／書込み（ＣＤ−Ｒ／Ｗ：ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ／ｗｒｉｔｅ）、ＤＶＤ、およびブルーレイ・ディスクを含む。
【００８７】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および保存できる有形デバイスであり得る。コンピュータ可読記憶媒体は、たとえば電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の好適な組み合わせなどであってもよいが、それに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは以下を含む。ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ポータブル・コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、メモリ・スティック、フロッピー（Ｒ）ディスク、機械的に符号化されたデバイス、たとえばパンチ・カードまたは溝に命令が記録された隆起構造など、および前述の任意の好適な組み合わせ。本明細書において用いられるコンピュータ可読記憶媒体は、たとえば電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を通じて伝播する電磁波（例、光ファイバ・ケーブルを通過する光パルス）、またはワイヤを通じて伝送される電気信号など、それ自体が一時的信号のものであると解釈されるべきではない。
【００８８】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスにダウンロードされ得るか、またはたとえばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくは無線ネットワーク、またはその組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはその組み合わせを含んでもよい。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受信して、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体に保存するために転送する。
【００８９】
本発明の動作を実行するためのコンピュータ可読プログラム命令はアセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ：ｉｎｓｔｒｕｃｔｉｏｎ−ｓｅｔ−ａｒｃｈｉｔｅｃｔｕｒｅ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または１つもしくはそれ以上のプログラミング言語の任意の組み合わせで書かれたソース・コードもしくはオブジェクト・コードであってもよく、このプログラミング言語はオブジェクト指向プログラミング言語、たとえばＳｍａｌｌｔａｌｋ（Ｒ）、またはＣ＋＋など、および従来の手続き型プログラミング言語、たとえば「Ｃ」プログラミング言語または類似のプログラミング言語などを含む。コンピュータ可読プログラム命令は、すべてがユーザのコンピュータで実行されてもよいし、スタンド・アロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータで実行されてもよいし、一部がユーザのコンピュータで、一部がリモート・コンピュータで実行されてもよいし、すべてがリモート・コンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよいし、（たとえば、インターネット・サービス・プロバイダを用いてインターネットを通じて）外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、たとえばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙｓ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ａｒｒａｙｓ）などを含む電子回路は、本発明の態様を行うために電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を使用することによって、コンピュータ可読プログラム命令を実行してもよい。
【００９０】
本明細書においては、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品の流れ図もしくはブロック図またはその両方を参照して、本発明の態様を説明している。流れ図もしくはブロック図またはその両方の各ブロック、および流れ図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実現され得ることが理解されよう。
【００９１】
これらのコンピュータ可読プログラム命令は、汎用目的コンピュータ、特定目的コンピュータ、またはマシンを生成するためのその他のプログラマブル・データ処理装置のプロセッサに提供されることによって、そのコンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて規定される機能／動作を実現するための手段を生じてもよい。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブル・データ処理装置、もしくはその他のデバイスまたはその組み合わせに特定の方式で機能するように指示できるコンピュータ可読記憶媒体にも保存されることによって、命令が保存されたコンピュータ可読記憶媒体が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて規定される機能／動作の態様を実現する命令を含む製造物を含んでもよい。
【００９２】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または別のデバイスにもロードされて、コンピュータに実現されるプロセスを生成するためにコンピュータ、他のプログラマブル装置、または他のデバイスにおいて一連の動作ステップを行わせることによって、そのコンピュータ、他のプログラマブル装置、または別のデバイスにおいて実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて規定される機能／動作を実現してもよい。
【００９３】
図面における流れ図もしくはブロック図またはその両方は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を示すものである。これに関して、流れ図またはブロック図の各ブロックは、指定される論理機能（単数または複数）を実現するための１つまたはそれ以上の実行可能命令を含むモジュール、セグメント、または命令の一部を表してもよい。いくつかの代替的実施において、ブロック内に示される機能は、図面に示されるものとは異なる順序で起こってもよい。たとえば、連続して示される２つのブロックは、実際には実質的に同時に実行されてもよいし、関与する機能によってはこれらのブロックがときに逆の順序で実行されてもよい。加えて、ブロック図もしくは流れ図またはその両方の各ブロック、およびブロック図もしくは流れ図またはその両方のブロックの組み合わせは、指定された機能を行うか、特定目的のハードウェアおよびコンピュータ命令の組み合わせを実施または実行する特定目的のハードウェア・ベースのシステムによって実現され得ることが注目されるだろう。
【００９４】
本明細書において使用される用語は、特定の実施形態を説明する目的のみのものであり、本発明を限定することは意図されていない。本明細書において用いられる単数形の「ａ」、「ａｎ」、および「ｔｈｅ」は、状況が別様を明瞭に示さない限り複数形も含むことが意図されている。さらに、本明細書において用いられるときの「含む（ｃｏｍｐｒｉｓｅｓ）」もしくは「含む（ｃｏｍｐｒｉｓｉｎｇ）」またはその両方の用語は、記述される特徴、整数、ステップ、動作、エレメント、もしくはコンポーネント、またはその組み合わせの存在を明示するが、１つまたはそれ以上の他の特徴、整数、ステップ、動作、エレメント、コンポーネント、もしくはそのグループ、またはその組み合わせの存在または追加を除外するものではないことが理解されるだろう。
【００９５】
以下の請求項におけるすべての手段またはステップ・プラス機能要素に対応する構造、材料、動作、および均等物は、特定的に請求される他の請求要素と組み合わせてその機能を行うための任意の構造、材料または動作を含むことが意図される。本発明の説明を例示および説明の目的のために提供したが、開示される形の本発明に対して網羅的または限定的になることは意図されていない。本発明の範囲から逸脱することなく、当業者には多くの修正および変更が明らかになるだろう。実施形態は、本発明の原理および実際の適用を最もよく説明し、かつ他の当業者が予期される特定の使用に好適であるようなさまざまな修正を伴うさまざまな実施形態に対して本発明を理解できるようにするために選択されて記載されたものである。
【図１】
2020517141.tif 000003
【図２】
2020517141.tif 000004
【図３】
2020517141.tif 000005
【図４】
2020517141.tif 000006
【図５】
2020517141.tif 000007
【図６】
2020517141.tif 000008
【図７】
2020517141.tif 000009
【図８】
2020517141.tif 000010
【図９】
2020517141.tif 000011
【図１０】
2020517141.tif 000012
【図１１】
2020517141.tif 000013
【国際調査報告】
2020517141.tif 000014
2020517141.tif 000015