(57)【特許請求の範囲】
【請求項１】
データ・センタ・ネットワークのためのネットワーキング方法であって、
少なくとも２つの配置ユニットを提供するステップであり、各配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含むステップと、
各配置ユニットの内部で、現在の配置ユニットの内部の各Leafスイッチと、前記現在の配置ユニットの内部の前記Spineスイッチのうち少なくとも２つのSpineスイッチとの間に接続を設定するステップと、
２つの配置ユニットごとの間で、第１の配置ユニットの内部の少なくとも１つのSpineスイッチと、第２の配置ユニットの内部の少なくとも１つのSpineスイッチとの間に接続を設定するステップと
を含み、
各配置ユニットの内部で、前記現在の配置ユニットの内部の各Spineスイッチと、前記現在の配置ユニットの内部の各Leafスイッチとの間の接続が設定され、
少なくとも１つのSpineスイッチ・グループが、前記少なくとも２つの配置ユニットに含まれるSpineスイッチから決定され、前記Spineスイッチ・グループは、各配置ユニットの少なくとも１つのSpineスイッチを含み、
前記Spineスイッチ・グループの内部の各Spineスイッチと、前記Spineスイッチが位置する前記Spineスイッチ・グループの外部の各Spineスイッチとの間に接続が設定されるネットワーキング方法。
【請求項２】
新たなLeafスイッチが、いずれかの配置ユニットの内部に追加され、前記新たに追加されたLeafスイッチと、前記新たに追加されたLeafスイッチが位置する前記配置ユニットの内部の少なくとも２つのSpineスイッチのそれぞれとの間に接続が設定される、請求項１に記載のネットワーキング方法。
【請求項３】
新たなLeafスイッチが、いずれかの配置ユニットの内部に追加され、前記新たに追加されたLeafスイッチと、前記新たに追加されたLeafスイッチが位置する前記配置ユニットの内部の各Spineスイッチとの間に接続が設定される、請求項１又は２に記載のネットワーキング方法。
【請求項４】
新たなSpineスイッチが、いずれかの配置ユニットの内部に追加され、前記新たに追加されたSpineスイッチと、前記新たに追加されたSpineスイッチが位置する前記配置ユニットの内部の各Leafスイッチとの間に接続が設定される、請求項１に記載のネットワーキング方法。
【請求項５】
新たなSpineスイッチが、いずれかの配置ユニットの内部に追加され、前記新たに追加されたSpineスイッチが前記Spineスイッチ・グループに含まれると決定され、前記新たに追加されたSpineスイッチと、前記新たに追加されたSpineスイッチが位置する前記配置ユニットの内部の各Leafスイッチとの間に接続が設定され、前記新たに追加されたSpineスイッチと、前記少なくとも２つの配置ユニットの内部にあり、前記新たに追加されたSpineスイッチが位置する前記Spineスイッチ・グループの外部に位置する他のSpineスイッチのそれぞれとの間に接続が設定される、請求項１に記載のネットワーキング方法。
【請求項６】
新たな配置ユニットが、前記少なくとも２つの配置ユニットを含む前記データ・センタ・ネットワーク内に追加され、前記新たに追加された配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含み、
前記新たに追加された配置ユニットの内部で各Leafスイッチと、前記少なくとも２つのSpineスイッチとの間に接続が設定され、
少なくとも１つのSpineスイッチが、前記新たに追加された配置ユニットから選択され、前記選択された少なくとも１つのSpineスイッチと、他の配置ユニットのそれぞれの内部にあり、前記新たに追加された配置ユニットの外部にある少なくとも１つのSpineスイッチとの間に接続が設定される、請求項１に記載のネットワーキング方法。
【請求項７】
新たな配置ユニットが、前記少なくとも２つの配置ユニットを含む前記データ・センタ・ネットワーク内に追加され、前記新たに追加された配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含み、
前記新たに追加された配置ユニットの内部で各Spineスイッチと、各Leafスイッチとの間に接続が設定され、
少なくとも１つのSpineスイッチが、前記新たに追加された配置ユニットから選択され、前記選択された少なくとも１つのSpineスイッチと、他の配置ユニットのそれぞれの内部にあり、前記新たに追加された配置ユニットの外部にある少なくとも１つのSpineスイッチとの間に接続が設定される、請求項１に記載のネットワーキング方法。
【請求項８】
新たな配置ユニットが、前記少なくとも２つの配置ユニットを含む前記データ・センタ・ネットワーク内に追加され、前記新たに追加された配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含み、
前記新たに追加された配置ユニットの内部にある各Spineスイッチと、各Leafスイッチとの間に接続が設定され、
少なくとも１つのSpineスイッチが、前記Spineスイッチ・グループに含まれることになる前記新たに追加された配置ユニットから選択され、
前記Spineスイッチ・グループに含まれることになる前記新たに追加された配置ユニットから選択された前記少なくとも１つのSpineスイッチと、前記Spineスイッチ・グループの外部に位置する各Spineスイッチとの間に接続が設定される、請求項１に記載のネットワーキング方法。
【請求項９】
少なくとも１つの配置ユニットが、前記データ・センタ・ネットワークに含まれる前記少なくとも２つの配置ユニットから選択され、外部ネットワークは、前記少なくとも１つの配置ユニットの内部の少なくとも１つのSpineスイッチのポート又は前記少なくとも１つの配置ユニットの内部の少なくとも１つのLeafスイッチのポートを使用することにより接続される、請求項１乃至８のうちいずれか１項に記載のネットワーキング方法。
【請求項１０】
前記Spineスイッチ及び前記Leafスイッチは、商用ネットワーク・スイッチ又は特定用途向け集積回路（ASIC）チップである、請求項１乃至９のうちいずれか１項に記載のネットワーキング方法。
【請求項１１】
少なくとも２つの配置ユニットを含むデータ・センタ・ネットワークであり、各配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含むデータ・センタ・ネットワークであって、
各配置ユニットの内部で、現在の配置ユニットの内部の各Leafスイッチは、前記現在の配置ユニットの内部の前記Spineスイッチのうち少なくとも２つのSpineスイッチに接続され、
２つの配置ユニットごとの間で、第１の配置ユニットの内部の少なくとも１つのSpineスイッチは、第２の配置ユニットの内部の少なくとも１つのSpineスイッチに接続され、
各配置ユニットの内部で、前記現在の配置ユニットの内部の各Spineスイッチは、前記現在の配置ユニットの内部の各Leafスイッチに接続され、
少なくとも１つのSpineスイッチ・グループが、前記少なくとも２つの配置ユニットに含まれるSpineスイッチから決定され、前記Spineスイッチ・グループは、各配置ユニットの少なくとも１つのSpineスイッチを含み、前記Spineスイッチ・グループの内部の各Spineスイッチは、前記Spineスイッチが位置する前記Spineスイッチ・グループの外部の各Spineスイッチに接続される、データ・センタ・ネットワーク。
【請求項１２】
外部ネットワークは、前記データ・センタ・ネットワーク内の少なくとも１つの配置ユニットの少なくとも１つのSpineスイッチのポート又は前記データ・センタ・ネットワーク内の少なくとも１つの配置ユニットの少なくとも１つのLeafスイッチのポートを使用することにより接続される、請求項１１に記載のデータ・センタ・ネットワーク。
【請求項１３】
前記Spineスイッチ及び前記Leafスイッチは、商用ネットワーク・スイッチ又は特定用途向け集積回路（ASIC）チップである、請求項１１又は１２に記載のデータ・センタ・ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク技術の分野に関し、特にデータ・センタ・ネットワークのためのネットワーキング方法及びデータ・センタ・ネットワークに関する。
【背景技術】
【０００２】
データ・センタ（Data  Center）では、ラック・ユニット（Rack  Unit又は略称Rack）は、複数のサーバを収容し得る。各サーバは、１つ以上の仮想マシンVM（Virtual  Machine）を管理するように構成され得る。ラック・ユニット内のサーバは、トップ・オブ・ラック（Top-of-Rack、ToR）スイッチに接続される。トップ・オブ・ラック・スイッチ（ToRスイッチ）は、Spineスイッチ（Spine  Switch）又はSpineスイッチ・ファブリック（Spine  Fabric）を使用することにより、他のトップ・オブ・ラック・スイッチに接続される。データ・センタでは、トップ・オブ・ラック・スイッチ及びSpineスイッチを含むネットワークは、異なるラック・ユニットに位置するデバイス（物理マシン及び／又は仮想マシン）の間でデータ通信を実現するために使用される。
【０００３】
クラウド・コンピューティング及びビッグ・データのアプリケーションにおける急速な進展により、データ・センタ・ネットワークは、近年、学界及び産業界において様々な関係者の研究のホットスポットになっている。データ・センタの規模が増加し続けるため、データ・センタ・ネットワークについての要件が更に多くなっている。
【０００４】
第１の従来技術は、比較的一般的な２層Spine-Leafファブリックであり、ファブリックは、２層Spine-Leafスイッチを含み、Leafスイッチは、一般的にサーバ・ラックの最上部に配置され、サーバ・ラックのアクセス・スイッチとして使用され、トップ・オブ・ラック（Top-of-Rack、ToR）スイッチとも呼ばれ、Spineスイッチは、集約（Aggregation）スイッチとして使用される。この種類のファブリックに含まれるSpineスイッチ及びLeafスイッチは、Closネットワークを使用することにより接続される（すなわち、Spineスイッチ層の各SpineスイッチがLeafスイッチ層の各Leafスイッチに接続される）。２層Spine-Leafプレーン・ファブリックが使用される場合、データ・センタの規模は、Spineスイッチ上の下りリンクポートの数量に依存する。したがって、ファブリックは、大規模又は超大規模のデータ・センタの構築に適用可能ではない。
【０００５】
前述のことに基づいて、第２の従来技術は、３層Core-Spine-Leafプレーン・ファブリックであり、これは、２層Spine-Leafファブリックと、２層Spine-Leafファブリックに基づいて新たに追加されたCore層とを含む。Spineスイッチ及びLeafスイッチは、Closネットワークを使用することにより接続され、ネットワーク・ユニットを形成し、Coreスイッチ層及び各ネットワーク・ユニットの内部のSpineスイッチもまた、Closネットワークを使用することにより接続される。Coreスイッチ層による転送を用いて、複数のネットワーク・ユニットが大規模ネットワークを形成することが実現されることができる。第２の従来技術が使用される場合、データ・センタの規模の拡大についての問題は、ある程度解決される。しかし、データ・センタ・ネットワークの構築について、ファブリックにおいてCore層がネットワーク・ユニットの外部に配置される必要があり、これは、ネットワークの複雑性を増加させ、ネットワーク管理及び維持のコストを増加させる。
【発明の概要】
【０００６】
前述のことを鑑みて、本発明の実施例は、ネットワーク構築の複雑性を減少させ、管理及び維持の効率を増加させるために、データ・センタ・ネットワークのためのネットワーキング方法及びデータ・センタ・ネットワークを提供する。
【０００７】
第１の態様によれば、データ・センタ・ネットワークのためのネットワーキング方法が提供され、少なくとも２つの配置ユニットを提供するステップであり、各配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含むステップと、各配置ユニットの内部で、現在の配置ユニットの内部の各Leafスイッチと、現在の配置ユニットの内部のSpineスイッチのうち少なくとも２つのSpineスイッチとの間に接続を設定するステップと、２つの配置ユニットごとの間で、第１の配置ユニットの内部の少なくとも１つのSpineスイッチと、第２の配置ユニットの内部の少なくとも１つのSpineスイッチとの間に接続を設定するステップとを含む。前述の実現方式では、配置ユニットのSpineスイッチの間の接続は、配置ユニットを跨ぐ通信についての要件を満たすように設定される。
【０００８】
第１の態様を参照して、第１の可能な実現方式では、各配置ユニットの内部で、配置ユニットの内部の各Spineスイッチと、配置ユニットの内部の各Leafスイッチとの間の接続が設定される。この実現方式では、配置ユニットの内部のSpineスイッチ及びLeafスイッチは、CLOSネットワークを使用することにより接続され、これにより、ノンブロッキング通信が実現されることができる。
【０００９】
第１の態様の第１の実現方式を参照して、第２の可能な実現方式では、少なくとも１つのSpineスイッチ・グループが、データ・センタ・ネットワーク内の少なくとも２つの配置ユニットに含まれるSpineスイッチから決定され、Spineスイッチ・グループは、各配置ユニットの内部の少なくとも１つのSpineスイッチを含み、Spineスイッチ・グループの内部で、各配置ユニットの各Spineスイッチと、他の配置ユニットのそれぞれの内部の各Spineスイッチとの間に接続が設定される。この実現方式では、Spineスイッチ・グループが決定され、Spineスイッチ・グループの内部のいずれか２つのSpineスイッチの間の接続関係が設定され、これにより、配置ユニットを跨ぐ通信が、グループの内部のSpineスイッチを接続することにより実現される。
【００１０】
第１の態様の第２の可能な実現方式の拡張として、１つの配置ユニット内の２つのSpineスイッチが、Spineスイッチ・グループに選択されてもよい。この場合、２つのSpineスイッチのそれぞれと、Spineスイッチ・グループの内部の他のSpineスイッチのそれぞれとの間に接続が設定される必要がある。この拡張は、配置ユニットの内部でSpineスイッチのバックアップを実現し、すなわち、Spineスイッチが故障して通信メッセージを転送することができない場合、他のSpineスイッチは、配置ユニットの内部のLeafスイッチに接続されたサーバ（物理マシン又は仮想マシン）と、他の配置ユニットの内部のLeafスイッチに接続されたサーバとの間で通信メッセージを転送又はルーティングするために使用されてもよい。
【００１１】
第１の態様の第２の可能な実現方式の他の拡張として、Spineスイッチ層から選択された複数のSpineスイッチ・グループが存在してもよく、複数のSpineスイッチ・グループの内部の各Spineスイッチと、他のSpineスイッチのそれぞれとの間に接続が設定される。第１の態様の第２の可能な実現方式においてSpineスイッチのグループ内接続を設定する方式に比べて、全ての複数のSpineスイッチ・グループの内部で接続を設定する方式は、異なる配置ユニットの間の通信リンクを増加させ、配置ユニットを跨ぐ通信の信頼性を改善することができる。
【００１２】
第１の態様の第１の可能な実現方式を参照して、第３の可能な実現方式では、少なくとも２つの配置ユニットに含まれるSpineスイッチにおいて、各Spineスイッチと、少なくとも２つの配置ユニットの内部の他のSpineスイッチのそれぞれとの間に接続が設定され、すなわち、全相互接続方式がSpineスイッチの間のネットワーキングに使用される。全相互接続方式を使用することにより、ノンブロッキング通信がSpineスイッチの間で実現されることができる。
【００１３】
第１の態様の第１の実現方式を参照して、第４の可能な実現方式では、少なくとも１つのSpineスイッチ・グループが、少なくとも２つの配置ユニットに含まれるSpineスイッチから決定され、Spineスイッチ・グループは、各配置ユニットの少なくとも１つのSpineスイッチを含み、Spineスイッチ・グループの内部の各Spineスイッチと、Spineスイッチ・グループの外部の各Spineスイッチとの間に接続が設定される。第１の態様の第３の可能な実現方式におけるSpineスイッチの全相互接続方式に比べて、Spineスイッチのグループ間全相互接続方式は、各Spineスイッチとグループの内部の他のSpineスイッチとを接続するために使用されるポートを節約し、これらの節約されたポートは、新たに追加されるLeafスイッチ及び／又は新たに追加されるSpineスイッチを接続するために使用され、ネットワーク規模の拡張を容易にすることができる。
【００１４】
第１の態様を参照して、第５の可能な実現方式では、新たなLeafスイッチが、データ・センタ・ネットワークのいずれかの配置ユニットの内部に追加され、新たに追加されたLeafスイッチと、新たに追加されたLeafスイッチが位置する配置ユニットの内部の少なくとも２つのSpineスイッチのそれぞれとの間に接続が設定される。配置ユニットの内部のLeafスイッチの拡張が、この実現方式を使用することにより実現される。
【００１５】
第１の態様の第１〜第５の実現方式を参照して、第６の可能な実現方式では、新たなLeafスイッチが、いずれかの配置ユニットの内部に追加され、新たに追加されたLeafスイッチと、新たに追加されたLeafスイッチが位置する配置ユニットの内部の各Spineスイッチとの間に接続が設定される。この実現方式では、配置ユニットの内部のLeafスイッチの拡張が実現され、ノンブロッキング情報伝送が新たに追加されたLeafスイッチと各Spineスイッチとを接続することにより実現される。
【００１６】
第１の態様の第１又は第２の実現方式を参照して、第７の可能な実現方式では、新たなSpineスイッチが、いずれかの配置ユニットの内部に追加され、新たに追加されたSpineスイッチと、新たに追加されたSpineスイッチが位置する配置ユニットの内部の各Leafスイッチとの間に接続が設定される。この実現方式では、配置ユニットの内部のSpineスイッチの拡張が実現され、ノンブロッキング情報伝送が新たに追加されたSpineスイッチと配置ユニットの内部の各Leafスイッチとを接続することにより実現される。
【００１７】
第１の態様の第３の可能な実現方式を参照して、第８の可能な実現方式では、新たなSpineスイッチが、いずれかの配置ユニットの内部に追加され、新たに追加されたSpineスイッチと、新たに追加されたSpineスイッチが位置する配置ユニットの内部の各Leafスイッチとの間に接続が設定され、新たに追加されたSpineスイッチと、少なくとも２つの配置ユニットに含まれるSpineスイッチ内の他のSpineスイッチのそれぞれとの間に接続が設定される。この実現方式では、配置ユニットの内部のSpineスイッチの拡張が実現され、新たに追加されたSpineスイッチが配置ユニットの内部の各Leafスイッチに接続され、新たに追加されたSpineスイッチと、他のSpineスイッチとの間にCLOS接続が作られる。このように、新たに追加されたSpineスイッチ上のCLOSネットワーク接続が配置ユニットの内部で実現され、新たに追加されたSpineスイッチ上のCLOSネットワーク接続が配置ユニットを跨いでも実現され、これにより、ノンブロッキング情報通信が実現される。
【００１８】
第１の態様の第４の可能な実現方式を参照して、第９の可能な実現方式では、新たなSpineスイッチが、いずれかの配置ユニットの内部に追加され、新たに追加されたSpineスイッチがSpineスイッチ・グループに含まれると決定され、新たに追加されたSpineスイッチと、新たに追加されたSpineスイッチが位置する配置ユニットの内部の各Leafスイッチとの間に接続が設定され、新たに追加されたSpineスイッチと、少なくとも２つの配置ユニットの内部にあり、新たに追加されたSpineスイッチが位置するSpineスイッチ・グループの外部に位置する他のSpineスイッチのそれぞれとの間に接続が設定される。
【００１９】
第１の態様の第１の可能な実現方式を参照して、第１０の可能な実現方式では、新たな配置ユニットが、少なくとも２つの配置ユニットを含むデータ・センタ・ネットワーク内に追加され、新たに追加された配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含み、新たに追加された配置ユニットの内部で各Leafスイッチと、少なくとも２つのLeafスイッチとの間に接続が設定され、少なくとも１つのSpineスイッチが、新たに追加された配置ユニットから選択され、選択された少なくとも１つのSpineスイッチと、他の配置ユニットのそれぞれの内部にあり、新たに追加された配置ユニットの外部にある少なくとも１つのSpineスイッチとの間に接続が設定される。
【００２０】
第１の態様の第１の可能な実現方式を参照して、第１１の可能な実現方式では、新たな配置ユニットが、少なくとも２つの配置ユニットを含むデータ・センタ・ネットワーク内に追加され、新たに追加された配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含み、新たに追加された配置ユニットの内部で各Spineスイッチと、各Leafスイッチとの間に接続が設定され、少なくとも１つのSpineスイッチが、新たに追加された配置ユニットから選択され、選択された少なくとも１つのSpineスイッチと、他の配置ユニットのそれぞれの内部にあり、新たに追加された配置ユニットの外部にある少なくとも１つのSpineスイッチとの間に接続が設定される。
【００２１】
第１の態様の第２の可能な実現方式を参照して、第１２の可能な実現方式では、新たな配置ユニットが、少なくとも２つの配置ユニットを含むデータ・センタ・ネットワーク内に追加され、新たに追加された配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含み、新たに追加された配置ユニットの内部にある各Spineスイッチと、各Leafスイッチとの間に接続が設定され、少なくとも１つのSpineスイッチが、新たに追加された配置ユニットから選択され、選択された少なくとも１つのSpineスイッチと、Spineスイッチ・グループの内部の各Spineスイッチとの間に接続が設定される。
【００２２】
第１の態様の第３の可能な実現方式を参照して、第１３の可能な実現方式では、新たな配置ユニットが、少なくとも２つの配置ユニットを含むデータ・センタ・ネットワーク内に追加され、新たに追加された配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含み、新たに追加された配置ユニットの内部にある各Spineスイッチと、各Leafスイッチとの間に接続が設定され、新たに追加された配置ユニットの内部の各Spineスイッチと、データ・センタ・ネットワークに含まれる少なくとも２つの配置ユニットの内部の各Spineスイッチとの間に接続が設定される。
【００２３】
第１の態様の第４の可能な実現方式を参照して、第１４の可能な実現方式では、新たな配置ユニットが、少なくとも２つの配置ユニットを含むデータ・センタ・ネットワーク内に追加され、新たに追加された配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含み、新たに追加された配置ユニットの内部にある各Spineスイッチと、各Leafスイッチとの間に接続が設定され、少なくとも１つのSpineスイッチが、Spineスイッチ・グループに含まれることになる新たに追加された配置ユニットから選択され、Spineスイッチ・グループに含まれることになる新たに追加された配置ユニットから選択された少なくとも１つのSpineスイッチと、Spineスイッチ・グループの外部に位置する各Spineスイッチとの間に接続が設定される。
【００２４】
第１の態様及び第１の態様の第１〜第１４の可能な実現方式を参照して、第１５の可能な実現方式では、少なくとも１つの配置ユニットが、データ・センタ・ネットワークに含まれる少なくとも２つの配置ユニットから選択され、外部ネットワークは、少なくとも１つの配置ユニットの内部の少なくとも１つのSpineスイッチのポート又は少なくとも１つの配置ユニットの内部の少なくとも１つのLeafスイッチのポートを使用することにより接続される。
【００２５】
第１の態様及び第１の態様の第１〜第１５の可能な実現方式を参照して、第１６の可能な実現方式では、Spineスイッチ及びLeafスイッチは、商用ネットワーク・スイッチ又は特定用途向け集積回路ASICチップである。
【００２６】
第２の態様によれば、データ・センタ・ネットワークが提供され、ネットワークは、少なくとも２つの配置ユニットを含み、各配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含み、各配置ユニットの内部の各Leafスイッチは、配置ユニットの内部の全てのSpineスイッチのうち少なくとも２つのSpineスイッチに接続され、データ・センタ・ネットワークに含まれる少なくとも２つの配置ユニットの間で、各配置ユニットの内部の少なくとも１つのSpineスイッチは、他の配置ユニットのそれぞれの内部の少なくとも１つのSpineスイッチに接続される。第２の従来技術に比べて、Core層がこの種類のファブリックを使用したネットワーク内に追加される必要がなく、通信が配置ユニットの間で実現されることができる。
【００２７】
第２の態様を参照して、第１の可能な実現方式では、各配置ユニットの内部の各Spineスイッチは、Spineスイッチが位置する配置ユニットの内部の各Leafスイッチに接続される。各Spineスイッチは、配置ユニットの内部の各Leafスイッチに接続され、これにより、ノンブロッキング通信がLeafスイッチの下のサーバと、配置ユニットの内部の他のLeafスイッチの下のサーバとの間で実現されることができる。
【００２８】
第２の態様の第１の可能な実現方式を参照して、第２の可能な実現方式では、少なくとも１つのSpineスイッチ・グループが、データ・センタ・ネットワーク内の少なくとも２つの配置ユニットに含まれるSpineスイッチから決定され、Spineスイッチ・グループは、各配置ユニットの少なくとも１つのSpineスイッチを含み、Spineスイッチ・グループの内部で、各配置ユニットの各Spineスイッチは、他の配置ユニットのそれぞれのSpineスイッチに接続される。データ・センタ・ネットワーク内のSpineスイッチ層のSpineスイッチにより使用される全相互接続方式に比べて、Spineスイッチのグループ内相互接続方式は、２つの配置ユニットの間の通信を確保するという条件で、Spineスイッチの間の相互接続に使用されるポートを節約することができ、これにより、これらの節約されたポートは、より多くのLeafスイッチを接続するために使用されることができ、ネットワーク規模の拡張が実現される。
【００２９】
第２の態様の第１の可能な実現方式を参照して、第３の可能な実現方式では、データ・センタ・ネットワーク内の少なくとも２つの配置ユニットに含まれるSpineスイッチにおいて、各Spineスイッチは、データ・センタ・ネットワーク内の少なくとも２つの配置ユニットの内部の他のSpineスイッチに接続される。この方式は、Spineスイッチの全相互接続方式であり、この方式を使用することにより、配置ユニットの間の通信メッセージのノンブロッキング転送が最大限に確保されることができる。
【００３０】
第２の態様の第１の可能な実現方式を参照して、第４の可能な実現方式では、少なくとも１つのSpineスイッチ・グループが、データ・センタ・ネットワーク内の少なくとも２つの配置ユニットに含まれるSpineスイッチから決定され、Spineスイッチ・グループは、各配置ユニットの少なくとも１つのSpineスイッチを含み、Spineスイッチ・グループの内部の各Spineスイッチは、Spineスイッチが位置するSpineスイッチ・グループの外部の各Spineスイッチに接続される。この方式は、Spineスイッチのグループ間全相互接続方式であり、Spineスイッチの全相互接続方式に比べて、この方式は、Spineスイッチの間の相互接続に使用されるポートを節約し、これにより、これらの節約されたポートは、より多くのLeafスイッチを接続するために使用されることができ、ネットワーク規模の拡張が実現される。
【００３１】
第２の態様及び第２の態様の第１〜第４の可能な実現方式を参照して、第５の可能な実現方式では、外部ネットワークは、データ・センタ・ネットワーク内の少なくとも１つの配置ユニットの少なくとも１つのSpineスイッチのポート又はデータ・センタ・ネットワーク内の少なくとも１つの配置ユニットの少なくとも１つのLeafスイッチのポートを使用することにより接続される。
【００３２】
第２の態様及び第２の態様の第１〜第５の可能な実現方式を参照して、第６の可能な実現方式では、Spineスイッチ及びLeafスイッチは、商用ネットワーク・スイッチ又は特定用途向け集積回路ASICチップである。
【図面の簡単な説明】
【００３３】
本発明の実施例における技術的解決策をより明確に説明するために、以下に本発明の実施例を説明するために必要な添付図面について簡単に説明する。
【図１】本発明によるデータ・センタ・システムの構成の概略ブロック図である。
【図２Ａ】本発明の実施例１によるデータ・センタ・ファブリックの概略ブロック図である。
【図２Ｂ】本発明の実施例２によるデータ・センタ・ファブリックの概略ブロック図である。
【図２Ｃ】本発明の実施例３によるデータ・センタ・ファブリックの概略ブロック図である。
【図２Ｄ】本発明の実施例４によるデータ・センタ・ファブリックの概略ブロック図である。
【図３】本発明によるデータ・センタ・ファブリック・クリスタル・モデルの概略ブロック図である。
【図４】本発明によるフィン横断（crossing-fin）Spineスイッチのグループ内相互接続のクリスタル・モデルの概略ブロック図である。
【図５】本発明の実施例によるネットワーク・トポロジ識別方法のフローチャートである。
【図６】本発明の実施例によるデータ・センタ・ネットワーキング方法のフローチャートである。
【図７】本発明によるデータ・センタ・ネットワークのFinの内部にLeafスイッチを追加する概略図である。
【図８】本発明によるデータ・センタ・ネットワークのFinの内部にSpineスイッチを追加する概略図である。
【発明を実施するための形態】
【００３４】
以下に本発明の実施例における添付図面を参照して本発明の実施例における技術的解決策を説明する。
【００３５】
一般的に、プログラム・モジュールは、特定のタスクを実行するため或いは特定の抽象データ型を実現するためのルーチン、プログラム、コンポーネント、データ構造、及び他の種類の構造を含む。さらに、当業者は、実施例がハンドヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベース或いはプログラム可能な消費家電製品、小型コンピュータ、メインフレーム・コンピュータ及び同様のコンピューティング・デバイスを含む他のコンピュータ・システム構成を使用することにより実現されてもよいことを理解し得る。実施例はまた、通信ネットワークを使用することにより接続されたリモート処理デバイスによりタスクが実行される分散コンピューティング環境にも実現され得る。分散コンピューティング環境では、プログラム・モジュールは、ローカル及びリモート・メモリ記憶デバイスに位置してもよい。
【００３６】
実施例は、コンピュータにより実現されるプロセス、コンピューティング・システム、又は、例えば、コンピュータ・システムが例示的なプロセスを実行するための命令のコンピュータ・プログラムのコンピュータ・プログラム・プロダクト又はコンピュータ記憶媒体として実現されてもよい。例えば、コンピュータ読み取り可能記憶媒体は、揮発性コンピュータ・メモリ、不揮発性メモリ、ハード・ディスク・ドライブ、フラッシュ・メモリ・ドライブ、フロッピー・ディスク又はコンパクト・ディスク、及び同様の媒体のうち１つ以上を使用することにより実現されてもよい。
【００３７】
この明細書を通じて、「データ・センタ・ファブリック（Data  Center  Fabric）」という用語は、全てのサーバを接続することによりデータ・センタを実現するためのファブリックであり、複数の実現方式、例えば、Spine-Leafを含む２層プレーン・データ・センタ・ファブリック又はCore-Spine-Leafを含む３層プレーン・データ・センタ・ファブリックを有してもよい。
【００３８】
この明細書を通じて、「配置ユニット」という用語は、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含むネットワーク・ユニットである。ユニットにおいて、各Leafスイッチは、少なくとも２つのSpineスイッチに接続される。好ましくは、配置ユニットの内部のSpineスイッチ及びLeafスイッチは、CLOSネットワークを使用することにより接続される。本発明の実施例において提供されるHeatSinkファブリックでは、配置ユニットは、ファブリックに含まれるフィン（Fin）を示す。
【００３９】
この明細書を通じて、「スイッチ」という用語は、複数のネットワーク・ノードを接続することができるネットワーク基本コンポーネントを示し、メッセージ転送を実現することができるデバイスを示す。デバイスは、商用ネットワーク・スイッチでもよく、或いは特定用途向け集積回路ASICチップにより実現される機能回路でもよい。
【００４０】
この明細書を通じて、「Leafスイッチ」という用語は、データ・センタ・ファブリック内のアクセス・スイッチ（Access  Switch）として使用され、サーバをデータ・センタ・ネットワークに接続する役目をする。ラック・サーバ（Rack  Server）では、Leafスイッチは、サーバ・ラックの最上部に配置されるアクセス・スイッチを具体的に示し、トップ・オブ・ラック（Top-of-Rack、ToR）スイッチとも呼ばれる。タワー・サーバ又はブレード・サーバでは、Leafスイッチは、製品形態のスイッチを使用することにより、或いは特定用途向け集積回路ASICチップにより実現されたスイッチング回路を使用することにより実現されてもよい。
【００４１】
この明細書を通じて、「Spineスイッチ」という用語は、Leafスイッチ上で集約（Aggregation）を実行するスイッチを示す。一般的に、Spineスイッチは、Leafスイッチの上層に配置され、Leafスイッチの間のパケットをルーティング及び転送する機能を実現するために使用される。本発明において提供される実施例では、Spineスイッチ及びLeafスイッチは、一般的にClosネットワーキングを用いて接続され、ノンブロッキング情報転送を実現する。
【００４２】
この明細書を通じて、「データ・センタ・ネットワーク・マネージャDCNM」という用語は、HeatSinkファブリック内のスイッチを管理及び制御するためのデバイスを示す。データ・センタ・ネットワーク・マネージャは、集中方式で実現されてもよく、例えば、１つのサーバを使用することにより実現されてもよく、或いは分散方式で実現されてもよく、例えば、複数のサーバを使用することにより実現されてもよい。
【００４３】
この明細書を通じて、「サーバ（Server）」という用語は、一般的にネットワーク化された環境において１つ以上のソフトウェア・プログラムを実行するためのコンピューティング・デバイスを示す。具体的な実現では、サーバは、物理マシン（Physical  Machine）又は物理マシンにインストールされた仮想マシン（Virtual  Machine）でもよい。鮮明な説明のため、本発明の実施例は、ラック・ユニット（Rack  Unit）を含むラック・サーバ（Rack  server）を使用することにより記載される点に留意すべきである。サーバは、様々な形式で提示されてもよく、本発明の実施例はまた、タワー・サーバ（Tower  Server）又はブレード・サーバ（Blade  Server）を含むデータ・センタにも適用可能であることが理解され得る。
【００４４】
［本発明の実施例において提供されるデータ・センタ・ファブリック］
本発明の実施例は、データ・センタ・ファブリック（Data  Center  Fabric）を開示し、データ・センタ・ファブリックは、データ・センタの構築に適用される。
【００４５】
図１は、データ・センタ・システム100を示している。すなわち、少なくとも１つのデータ・センタ・ネットワーク・マネージャ110（Data  Center  Network  Manager、DCNM）が存在し、これは、ネットワークを使用することにより、leafスイッチとSpineスイッチとを含むデータ・センタ・ネットワークを管理する。データ・センタ・ネットワーク・マネージャ110は、アプリケーションAppが一体化され、ネットワーク管理の役目をするサーバ（server）の形式で実現されてもよい。各Leafスイッチは、トップ・オブ・ラック・スイッチ（ToR  Switch）の形式で実現されてもよく、すなわち、各Leafスイッチは、ラック・ユニットRackに位置してもよい。図１が例として使用され、２つのLeafスイッチ、すなわち、Leaf2  125及びLeaf4  130は、ラック・ユニットに位置してもよく、ラック・ユニットは、１つ以上のサーバ（例えば、図１の135及び140）を収容することができる。各Leafスイッチは、ラック・ユニット内のサーバと他のネットワーク・ユニットとの間で通信メッセージをルーティング又は転送するように構成される。各サーバ（Leafスイッチ125に関連する図１のサーバ135が例として使用される）は、１つ以上の仮想スイッチ（Virtual  Switch）145を収容してもよい。仮想スイッチ及び仮想マシンは、各サーバのハイパーバイザ（Hypervisor）155上に生成されて実行し、ハイパーバイザ155は、サーバ上の物理リソースの仮想化及びスケジューリングを実現し、これにより、物理リソースは、１つ以上の仮想マシンにより使用される。
【００４６】
各仮想スイッチ145は、仮想マシン・ネットワーク及び／又は仮想マシン・サブネット内の仮想マシンの間の通信を管理するように構成されてもよく、仮想マシン・ネットワーク及び／又は仮想マシン・サブネットは、仮想マシンを含む。各仮想スイッチ145は、サーバ135上で実行するソフトウェアを使用することにより実現される。このように、仮想スイッチ145は、物理スイッチの機能を実現することができる。同様に、各仮想マシン150は、サーバ135上で実行するソフトウェアを使用することにより実現される。仮想マシン150は、ファブリック（Fabric）155を使用することにより、他の仮想マシンと通信するように構成される。データ・センタ・システム100では、任意の数量のサーバが存在してもよく、各サーバは、任意の数量の仮想スイッチ及び任意の数量の仮想マシンを収容することができる。説明を簡単にするために、図１は、１つのサーバ135と、サーバ135に関連するLeafスイッチ125と、１つのサーバ140と、サーバ140に関連するLeafスイッチ130とを含む。例では、仮想スイッチ145は、サーバ135上の複数の仮想スイッチの間の通信を管理してもよい。
【００４７】
サーバ135及びサーバ135に関連するLeafスイッチ125は、図１に図示しないラック・ユニット（Rack  Unit又はRackと呼ばれる）に配置される。他のサーバもラックに収容されてもよい。Leafスイッチ125及びLeafスイッチ130は、送信側又は受信側として、ラック内でサーバ（サーバ上で実行する仮想マシンを含む）の通信情報におけるルーティング処理又は転送処理を実行する役目をする。ToR（Top-of-Rack）は、図１のスイッチ125及び130並びに他のLeafスイッチを示す。Leafスイッチ125及び130は、ラック内のサーバ、仮想マシン及び仮想スイッチの通信のためのバックアップ及び耐故障性を提供するために使用されることができる。このように、Leafスイッチ125及びToRスイッチ130は、２つの等価なスイッチである。これらのLeafスイッチ及びSpineスイッチは、データ・センタ・ネットワーク・マネージャDCNMと通信するように構成されてもよい。データ・センタ・ネットワーク・マネージャDCNMは、Spineスイッチ及びLeafスイッチを制御することにより、異なるラックの内部のサーバ（物理マシン又は仮想マシン）の間の通信を管理するように構成されてもよい。
【００４８】
本発明は、データ・センタ・ファブリック（Data  Center  Fabric）115への改善を実現するための複数の実施例を提供する。
【００４９】
以下に、図２Ａ〜図２Ｄを参照して、データ・センタ・ファブリックへの改善を別々に説明する。当業者は、具体的なネットワーク構築処理において、構築条件及び他の要因における制限のため、本発明において提供されるデータ・センタ・ファブリックに適応的な変更が行われてもよいことを理解し得るため、本発明において提供される実現方式は、本発明の保護範囲における限定として解釈されるものではない。
【００５０】
［データ・センタ・ファブリックの実施例１］
図２Ａに示すように、データ・センタ・ファブリック（Data  Center  Fabric）は、複数のフィン（Fin）を含み、複数のフィンは、ヒート・シンク形態の構造を形成する。これを鑑みて、この構造は、本発明のこの実施例においてHeatSinkファブリックと呼ばれる。
【００５１】
HeatSinkファブリック内の各フィンは、図１において115で印が付けられており、SpineスイッチとLeafスイッチとを含むデータ・センタ・ファブリックと同様である。各フィンは、２層のスイッチを含み、Spineスイッチ・セットは、上層に位置し、Leafスイッチ・セットは、下層に位置する。Leafスイッチは、ToRスイッチとして使用され、図１においてLeaf2  125に接続されたサーバ135及びLeaf4  130に接続されたサーバ140と同様のサーバを接続するように構成される。全てのフィンのSpineスイッチ・セットは、論理レイヤを形成し、これは、Spineスイッチ層（Spine  Switch  Tier）と呼ばれる。同様に、全てのフィンのLeafスイッチ・セットは、プレーンを形成し、これは、Leafスイッチ層（Leaf  Switch  Tier）と呼ばれる。
【００５２】
ネットワーキング構築の要件の観点から、HeatSinkファブリック内の各フィンは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含む。各フィンの内部の各Leafスイッチは、フィンの内部の少なくとも２つのSpineスイッチに接続される。このように、Leafスイッチに接続されたSpineスイッチが故障した場合、通信データ及び／又は命令を転送するため、故障しておらず、Leafスイッチに接続された他のSpineスイッチが存在する。
【００５３】
好ましくは、本発明のこの実施例において、各Leafスイッチと各Spineスイッチとの間の接続は、ノンブロッキング・データ転送を実現するため、各フィンの内部に存在する（すなわち、CLOSネットワーク接続が使用される）。
【００５４】
データ・センタ・ファブリックは、少なくとも２つのフィンを含み、各フィンにおいて、Leafスイッチの数量、Spineスイッチの数量及びこれらの接続方式は独立である点に留意すべきである。例えば、図２Ａにおいて、Fin1は８個のSpineスイッチと１０個のLeafスイッチとを含み、Fin2は、６個のSpineスイッチと９個のLeafスイッチを含み、各Leafスイッチが３つのSpineスイッチに接続される方式が、Fin1内のSpineスイッチ及びLeafスイッチを接続するために使用され、CLOSネットワーク接続が、Fin2内のSpineスイッチ及びLeafスイッチを接続するために使用され、すなわち、各Leafスイッチが各Spineスイッチに接続される。
【００５５】
Leafスイッチは、下りリンクにおいてサーバに接続され（これは、Leaf2  125が図１に示すサーバ135に接続されることと同様である）、上りリンクにおいてSpineスイッチに接続される（これは、Leaf2  125が図１に示すSpine1及びSpine2に接続されることと同様である）。各フィン内のLeafスイッチ上でシングルポイントのノンブロッキング通信を実現するために（すなわち、データ転送中にフィン内のLeafスイッチでブロッキングが生じない）、いずれかのLeafスイッチの下りリンクアクセス帯域幅は、Leafスイッチの上りリンク帯域幅より大きくないことが確保される必要がある（例えば、これは、ネットワーク・パラメータを構成することにより実現されてもよい。図１のLeaf2  125が例として使用される。Leaf2  125の上りリンク帯域幅は40Gbpsであり、サーバ135への接続のための下りリンク帯域幅は30Gbpsである）。さらに、デバイス上の物理ポートの数量に制限が存在するため、各フィンの内部に配置されることができるLeafスイッチの数量は、Spineスイッチ上の下りリンクポートの数量に依存し、各フィンの内部に配置されることができるSpineスイッチの数量は、Leafスイッチ上の上りリンクポートの数量に依存する。
【００５６】
HeatSinkファブリック内のSpineスイッチ層において、Spineスイッチの間にも接続関係が存在し、異なるフィンの中でのサーバの間の通信は、Spineスイッチの間に接続を設定することにより実現される。フィンを跨ぐSpineスイッチの間の必要な接続関係（すなわち、基本的なSpineスイッチの相互接続方式）は、各フィンの内部の少なくとも１つのSpineスイッチが他のフィンのそれぞれの内部の少なくとも１つのSpineスイッチに接続されることである。このように、２つのフィンの内部のLeafスイッチに接続されたサーバ（物理マシン又は仮想マシン）の通信メッセージがSpineスイッチによる転送を用いてピアエンドに到達することができることが確保され得る。図２Ａが例として使用される。Spineスイッチ層において、いずれか２つのフィンFin  m及びFin  nについて、Spinemi
とSpinenjとの間に接続関係が存在し、m及びnの双方は整数であり、m≠n、1≦m≦Y且つ1≦n≦Yである。
【００５７】
［データ・センタ・ファブリックの実施例２］
図２Ｂは、他のデータ・センタ・ファブリックの実施例を提供し、図２Ａのファブリックとの違いは、主に、フィン横断Spineスイッチのグループ内相互接続方式がフィンを跨ぐSpineスイッチにより使用される点にある。
【００５８】
図２Ｂを参照すると、いくつかのSpineスイッチは、HeatSinkファブリックに含まれるSpineスイッチ層から選択され、Spineスイッチ・グループを形成し、Spineスイッチ・グループは、Spineスイッチ・グループが各フィン内のSpineスイッチを含むという要件を満たす。Spineスイッチ・グループの内部で各Spineスイッチと他のSpineスイッチのそれぞれとの間に接続が存在する。
【００５９】
この実現方式の拡張として、１つのフィン内の２つのSpineスイッチがSpineスイッチ・グループに選択されてもよい。この場合、２つのSpineスイッチのそれぞれと、Spineスイッチ・グループの内部の他のSpineスイッチのそれぞれとの間に接続が設定される必要がある。この拡張方式は、フィンの内部でSpineスイッチのバックアップを実現し、すなわち、Spineスイッチが故障して通信メッセージを転送することができない場合、他のSpineスイッチは、フィンの内部のLeafスイッチに接続されたサーバ（物理マシン又は仮想マシン）と、他のフィンの内部のLeafスイッチに接続されたサーバとの間で通信メッセージを転送又はルーティングするために使用されてもよい。
【００６０】
この実現方式の更なる拡張として、Spineスイッチ層から選択された複数のSpineスイッチ・グループが存在してもよく、複数のSpineスイッチ・グループの内部の各Spineスイッチと、他のSpineスイッチのそれぞれとの間に接続が設定される。Spineスイッチのグループ内接続を設定する前述の方式に比べて、全ての複数のSpineスイッチ・グループの内部で接続を設定する方式は、異なるフィンの間の通信リンクを増加させ、フィンを跨ぐ通信の信頼性を改善することができる。
【００６１】
Spineスイッチのグループ化の可能な実現方式として、図２Ｂに示すように、Spineスイッチ層に含まれるSpineスイッチは、Z個のSpineスイッチ・グループを取得するために行でグループ化され、これらは別々にSpine-G1、...、Spine-Gi、...、Spine-Gj、...及びSpine-GZであり、少なくとも１つのSpineスイッチ・グループは、Z個のSpineスイッチ・グループから選択され、Spineスイッチ・グループの内部のいずれか２つのSpineスイッチの間に接続が設定される。
【００６２】
［データ・センタ・ファブリックの実施例３］
フィンを跨ぐSpineスイッチの間の接続関係の第２の実現方式として、図２Ｃは、Spineスイッチの全相互接続方式が使用されるデータ・センタ・ファブリックの実施例を提供し、図２Ａ及び図２Ｂにおいて提供されるファブリックとの違いは、主に、HeatSinkファブリックに含まれるSpineスイッチ層において、各Spineスイッチが他のSpineスイッチのそれぞれに接続され、すなわち、全相互接続方式がSpineスイッチの間のネットワーキングに使用される点にある。全相互接続方式を使用することにより、ノンブロッキング情報伝送がSpineスイッチの間で実現されることができる。図２ＣのSpineyzが例として使用される。SpineスイッチSpineyzと、Spineスイッチ層の他のSpineスイッチのそれぞれとの間に接続関係が存在する。
【００６３】
［データ・センタ・ファブリックの実施例４］
図２Ｄは、第４のデータ・センタ・ファブリックの実施例を提供し、図２Ａ〜２Ｃにおいて提供されるファブリックとの違いは、主に、Spineスイッチのグループ間全相互接続方式がフィンを跨ぐSpineスイッチの間で使用される点にある。図２Ｄから認識できるように、Spineスイッチ・グループが、データ・センタ・ファブリックを形成する複数のフィンに含まれるSpineスイッチから決定され、Spineスイッチ・グループは、各フィンのSpineスイッチを含み、Spineスイッチ・グループの内部の各Spineスイッチは、Spineスイッチが位置するSpineスイッチ・グループの外部の各Spineスイッチに接続される。
【００６４】
前述の実現方式の拡張として、１つのフィン内の２つのSpineスイッチがSpineスイッチ・グループに選択されることが存在してもよい。この場合、２つのSpineスイッチのそれぞれと、Spineスイッチ・グループの外部の他のSpineスイッチのそれぞれとの間に接続が設定される必要がある。この拡張方式は、Spineスイッチのバックアップを実現し、すなわち、Spineスイッチが故障して通信メッセージを転送することができない場合、他のSpineスイッチは、フィンの内部のLeafスイッチに接続されたサーバ（物理マシン又は仮想マシン）と、他のフィンの内部のLeafスイッチに接続されたサーバとの間で通信メッセージを転送又はルーティングするために使用されてもよい。
【００６５】
更なる拡張として、Spineスイッチ層から選択された複数のSpineスイッチ・グループが存在してもよく、複数のSpineスイッチ・グループの内部の各Spineスイッチと、Spineスイッチが位置するSpineスイッチ・グループの外部の他のSpineスイッチのそれぞれとの間に接続が設定される。Spineスイッチのグループ内接続を設定する前述の方式に比べて、全ての複数のSpineスイッチ・グループの内部で接続を設定する方式は、異なるフィンの間の通信リンクを増加させ、フィン横断通信ファブリックの信頼性を改善することができる。
【００６６】
具体的な実現方式として、データ・センタ・ファブリックの実施例２に記載のように、Spineスイッチ層に含まれるSpineスイッチは、Z個のSpineスイッチ・グループを取得するために行でグループ化されてもよく、これらは別々にSpine-G1、...、Spine-Gi、...、Spine-Gj、...及びSpine-GZであり、少なくとも１つのSpineスイッチ・グループは、Z個のSpineスイッチ・グループから選択され、Spineスイッチ・グループの内部の各Spineスイッチと、Spineスイッチ層にあり、グループの外部に位置する各Spineスイッチとの間に接続が設定される。
【００６７】
データ・センタ・ファブリックの実施例３におけるSpineスイッチの全相互接続方式と比べて、前述のSpineスイッチのグループ間全相互接続方式は、各Spineスイッチとグループの内部の他のSpineスイッチとを接続するために使用されるポートを節約し、これらの節約されたポートは、新たに追加されるLeafスイッチ及び／又は新たに追加されるSpineスイッチを接続するために使用されることができ、これにより、ネットワーク規模の拡張が実現されることができる。ネットワーク規模の拡張について、次の実施例において詳細に説明する。図２ＤのSpineyzが例として使用される。SpineスイッチSpineyzが位置するSpineスイッチ・グループは、{Spine1z、Spine2z、Spine3z、...、Spineyz、...、SpineYz及びSpineEz}である。図２Ｄに示すように、Spineyzは、SpineスイッチSpineyzが位置するSpineスイッチ・グループの外部の各Spineスイッチに接続される。
【００６８】
データ・センタ・ネットワークと外部ネットワークとの間の通信要件を満たすために、データ・センタ・ファブリック内のフィン内の少なくとも１つのSpineスイッチ又は少なくとも１つのLeafスイッチが、エッジEdge・スイッチとして選択され、エッジ・スイッチは、エッジ・スイッチのポートを使用することにより外部ネットワークに接続される。図２Ａ〜図２Ｄが例として使用される。Z個のSpineスイッチE1〜EZがエッジ・スイッチとして選択され、外部ネットワークに接続する。
【００６９】
Spineスイッチ及びLeafスイッチは、商用ネットワーク・スイッチを使用することにより実現されてもよく、或いは特定用途向け集積回路（Application-Specific  Integrated  Circuit、ASIC）チップを使用することにより実現されてもよく、これは本発明のこの実施例で限定されない点に留意すべきである。
【００７０】
データ・センタ・ネットワークでは、図２Ａ〜図２Ｄに示すHeatSinkファブリックをより良く管理するために、ネットワークが使用される前に、データ・センタ・ネットワーク・マネージャDCNMは、まず、ネットワーク内の全てのスイッチの間の接続関係に従ってファブリックを識別する必要がある。
【００７１】
［ファブリックの識別］
ソフトウェア・デファインド・データ・センタ・ネットワーキングでは、HeatSinkファブリックを管理及び利用するために、コントローラは、ファブリックを効果的に識別する必要があり、すなわち、ファブリック内の全てのスイッチング・デバイス（Spineスイッチ又はLeafスイッチ）及び全てのスイッチング・デバイスの間の接続関係を識別する必要がある。
【００７２】
HeatSinkファブリックのネットワーキング機能に従って、異なる数量のスイッチング・デバイスを集約する方式を整理することにより、クリスタル・モデルが存在することが見出され得る。具体的な形式が図３に示されている。クリスタル・モデルは、上、左上、右上、左下、右下及び下に６個のノードを含む。各ノードは、１つのスイッチング・デバイスを示す。
【００７３】
図３（ａ）から図３（ｃ）は、３つの異なるクリスタル・モデルを示しており、これらは、HeatSinkファブリック内のフィン横断Spineスイッチのグループ内相互接続方式、Spineスイッチの全相互接続方式及びSpineスイッチのグループ間全相互接続方式にそれぞれ対応している。
【００７４】
図３（ａ）は、フィン横断Spineスイッチのグループ内相互接続に対応するクリスタル・モデルを示しており、各ノードは、隣接ノードにのみ接続される。
【００７５】
図３（ｂ）は、Spineスイッチの全相互接続に対応するクリスタル・モデルを示しており、左上、右上、左下及び右下の４つのノードは互いに接続され、上のノードは左上のノード及び右上のノードに接続され、下のノードは左下のノード及び右下のノードに接続される。
【００７６】
図３（ｃ）は、Spineスイッチのグループ間全相互接続方式に対応するクリスタル・モデルを示しており、左上、右上、左下及び右下の４つのノードは、反対側の２つのノードにそれぞれ接続され（すなわち、左上のノードは右上のノード及び右下のノードに接続され、左下のノードは、右上のノード及び右下のノードに接続される）、上のノードは、左上のノード及び右上のノードに接続され、下のノードは、左下のノード及び右上のノードに接続される。
【００７７】
データ・センタ・ネットワーク・マネージャDCNMによりネットワーク・トポロジ情報を取得する過程において、６個のスイッチング・デバイスの接続関係が図３（ｂ）のSpineスイッチの全相互接続方式を満たすクリスタル・モデル、又は接続関係が図３（ｃ）のSpineスイッチのグループ間全相互接続方式を満たすクリスタル・モデルが存在することをデータ・センタ・ネットワーク・マネージャDCNMが見出した場合、データ・センタ・ネットワーク・マネージャDCNMは、上のノード及び下のノードのスイッチング・デバイスがネットワーク内でLeafスイッチの役目を果たし、左上のノード、右上のノード、左下のノード及び右下のノードのスイッチング・デバイスがネットワーク内でSpineスイッチの役目を果たし、左上及び左下のSpineスイッチが同じGroupに属し、右上及び右下のSpineスイッチが他のGroupに属し、上のノード、左上のノード及び右上のノードのスイッチング・デバイス（Leafスイッチ及びSpineスイッチを含む）が同じFinに属し、下のノード、左下のノード及び右下のノードのスイッチング・デバイス（Leafスイッチ及びSpineスイッチを含む）が他のFinに属すると決定してもよい。
【００７８】
図３（ａ）のフィン横断Spineスイッチのグループ内相互接続方式のクリスタル・モデルにおいて、各ノードは、時計方向又は反時計方向に回転してもよく、これは、モデルの識別に影響を与えない。したがって、データ・センタ・ネットワーク・マネージャDCNMによりネットワーク・トポロジ情報を取得する過程において、６個のスイッチング・デバイスの接続関係がフィン横断Spineスイッチのグループ内相互接続を満たすクリスタル・モデルが存在することをデータ・センタ・ネットワーク・マネージャDCNMが見出した場合、データ・センタ・ネットワーク・マネージャDCNMは、各ノードのHeatSink属性を直ちに決定することはできず、決定を行うために、フィン横断Spineスイッチのグループ内相互接続が満たされる他のクリスタル・モデルを見出す必要がある。図４に示すように、フィン横断Spineスイッチのグループ内相互接続方式（図３（ａ）に示す）が満たされる２つの異なるクリスタル・モデルが存在し、２つのクリスタル・モデル内の左上Si、右上Sj、左下Sk及び左下Slの４つのノードが同じであるが、２つのクリスタル・モデルの上及び下のノードが異なることをデータ・センタ・ネットワーク・マネージャDCNMが見出した場合、データ・センタ・ネットワーク・マネージャDCNMは、現在のネットワークがフィン横断Spineスイッチのグループ内相互接続方式を使用したHeatSinkファブリックであり、上のノード及び下のノードのスイッチング・デバイスがネットワーク内でLeafスイッチの役目を果たし、左上、右上、左下及び右下の４つのノードのスイッチング・デバイスがネットワーク内でSpineスイッチの役目を果たし、左上のノード及び左下のノードのSpineスイッチが同じGroupに属し、右上のノード及び右下のノードのSpineスイッチが他のGroupに属し、上のノード、左上のノード及び右上のノードの全てのスイッチが同じFinに属し、下のノード、左下のノード及び右下のノードの全てのスイッチが他のFinに属すると決定してもよい。
【００７９】
コントローラは、クリスタル・モデルを識別することにより、HeatSinkファブリック内のコンポーネント（Spineスイッチ、Leafスイッチ並びに論理Fin及びGroup）を識別し、いずれかのクリスタル・モデルに従って２つのGroup及び２つのFinを別々に決定してもよい。クリスタル・モデルを決定した後に、コントローラは、番号付与するために番号付与されていないGroup又はFinを選択し、順に番号付与するために自然数を使用する。クリスタル・モデルに従って決定されたGroup又はFin内のいずれかのノードにおけるGroup又はFinが既に番号付与されている場合、番号付与されていないGroup又はFinの番号は、そのノードのGroup又はFinの番号と同じであり、これにより、番号の一貫性を確保する。
【００８０】
ネットワーク内のコンポーネントを識別することに加えて、コントローラは、以下の方式でネットワークのトポロジ情報を収集する必要がある。図５を参照すると、ソフトウェア・デファインド・ネットワーキングにおけるSDNコントローラが、リンク・レイヤ・ディスカバリ・プロトコル（Link  Layer  Discovery  Protocol、略称LLDP）を使用することにより、ネットワークのトポロジ情報を収集するために使用される。以下の手順では、第１のスイッチング・デバイス及び第２のスイッチング・デバイスは、２つの隣接するスイッチング・デバイスであり、スイッチング・デバイスは、Spineスイッチ又はLeafスイッチでもよい。この手順は以下を含む。
【００８１】
510.SDNコントローラは、LLDPパケットを生成し、パケットをPacket  Outメッセージとしてカプセル化し、LLDPパケットがカプセル化されたPacket  Outメッセージを第１のスイッチング・デバイスに送信し、Packet  Outメッセージは、LLDPパケットを第２のスイッチング・デバイスに送信するために、第１のスイッチング・デバイスに通知される第１のポートを搬送する。
【００８２】
LLDPパケットは、パケット・ヘッダのみを含んでもよく、パケット本文は、具体的な内容を含まなくてもよい。第１のスイッチング・デバイスのデバイス識別子及び第１のポートは、カプセル化の後に取得されるPacket  Outメッセージに記録される。
【００８３】
520.第１のスイッチング・デバイスは、第１のポートを通じてLLDPパケットを第２のスイッチング・デバイスに送信する。
【００８４】
530.第２のスイッチング・デバイスがLLDPパケットを受信した後に、第２のスイッチング・デバイスは、合致するフロー・エントリを有さないため、第２のスイッチング・デバイスは、Packet  Inメッセージを生成し、SDNコントローラに通知する。
【００８５】
第２のスイッチング・デバイスがLLDPパケットを受信した後に、第２のスイッチング・デバイスは、パケットがLLDPパケットであると決定するために、LLDPパケットのパケット・ヘッダを読み取る。第２のスイッチング・デバイスがLLDPパケットを処理するためのフロー・エントリを有さないことを見出した場合、第２のスイッチング・デバイスは、Packet  Inメッセージを生成し、Packet  InメッセージをSDNコントローラに送信し、Packet  Inメッセージは、Packet  Inメッセージを送信するために使用される第２のスイッチング・デバイスの識別子及び第２のスイッチング・デバイスの第２のポートを搬送する。
【００８６】
540.SDNコントローラは、Packet  Inメッセージを取得し、第１のスイッチング・デバイスと第２のスイッチング・デバイスとの間の接続関係を決定する。
【００８７】
Packet  Inメッセージを受信して解析した後に、SDNコントローラは、第２のスイッチング・デバイスの識別子及び第２のポートを取得し、第１のスイッチング・デバイスの識別子及び第１のポートと、第２のスイッチング・デバイスの識別子及び第２のポートとをMIB（Management  Information  Base）に記憶し、MIBは、ネットワーク内のローカル・エンド又はリモート・エンドのネットワーク管理情報を記憶するために使用され、ネットワーク管理情報は、デバイス識別子、インタフェース識別子、システム名、システム記述、インタフェース記述、デバイス能力、ネットワーク管理アドレス等を含み、これにより、ネットワーク管理システムは、リンクの通信状態を問い合わせて決定する。
【００８８】
［ネットワーク識別子の決定］
本発明において提供されるデータ・センタ・ファブリックの実現方式では、ファブリックは、ソフトウェア・デファインド・ネットワーキング（Software-Defined  Networking,  SDN）、すなわち、ソフトウェア・デファインド・データ・センタ・ネットワーキング（Software-Defined  Data  Center  Networking、SDDCN）のシナリオに適用される。SDDCNの適用シナリオでは、ソース・ルーティング（Source  Routing）（パス・アドレッシング（Path  Addressing）とも呼ばれる）技術が使用され、すなわち、データ・パケットの送信エンドは、ネットワーク内のデータ・パケットのルーティング・パスを部分的又は全体的に指定し、これは、ネットワーク内のルータがデータ・パケットの宛先アドレスに従ってネットワーク内のルーティング・パスを決定するために使用されるものと取って代わる。ソフトウェア・デファインド・データ・センタ・ネットワーキングのシナリオでは、パケット送信エンドによりカプセル化されたタグは、一般的に特定のネットワーク・オブジェクトに関連し、統一された方式でコントローラ（Controller）により維持及び管理される特別な識別子を搬送する。
【００８９】
コントローラは、HeatSinkファブリック内のスイッチング・デバイスの間の接続関係を識別することにより、HeatSinkファブリック内のスイッチング・デバイスにより果たされる役目（Spineスイッチ又はLeafスイッチ）、スイッチング・デバイスが位置するスイッチ層（Spineスイッチ層又はLeafスイッチ層）、スイッチング・デバイスが属するスイッチ・グループ、スイッチング・デバイスが位置するフィンの番号、及びフィンの内部のシリアル番号SN（Serial  Number）を決定する。上記のものに基づいて、これらの番号は、スイッチング・デバイスのHeatSink属性を形成する。各スイッチング・デバイスのHeatSink属性を決定した後に、コントローラは、スイッチング・デバイスのHeatSink属性に従って、且つ特定の符号化規則に従って、スイッチング・デバイスのネットワーク識別子を決定し、これにより、HeatSinkネットワーク内でスイッチング・デバイスを一意に識別する。
【００９０】
以下の表１が例として使用される。図２Ａ〜図２Ｄに示すデータ・センタ・ファブリックの実施例の図を参照して、ネットワーク識別子符号化規則は以下の通りである。
【表１】
0006444505.tif 000002
【００９１】
いずれかのスイッチング・デバイス（Spineスイッチ又はLeafスイッチ）のネットワーク識別子は、Group番号、Fin番号及びSNシリアル番号をつなぐことにより取得される。Group番号は0から始まり、自然数の順に増加し、１つの１０進数字を占有する。Fin番号は0から始まり、自然数の順に増加し、２つの１０進数字を占有する。SNシリアル番号は、Finの内部のLeafスイッチの番号を示し、1から始まり、自然数の順に増加し、２つの１０進数字を占有する。LeafスイッチはGroup番号を有さないため、Group番号は0である。SpineスイッチはSNシリアル番号を有さないため、SNは0である。GroupはFin番号もSNシリアル番号も有さないため、Fin番号及びSNシリアル番号の双方は0である。FinはGroup番号もSNシリアル番号も有さないため、Group番号及びSNシリアル番号の双方は0である。
【００９２】
前述のネットワーク識別子は、最も直感的な符号化方式を使用しており、以下の規模のHeatSinkファブリックに適用可能である。Groupの数量Zの上限は9であり、Finの数量Yの上限は99であり、Finの内部のLeafスイッチの数量Nの上限は99である。より多くの桁がGroup番号、Fin番号又はSNシリアル番号を別々に示すために使用される場合、この場合には、この符号化規則を使用することにより示されることができるネットワーク規模は、より大きくなることが理解され得る（ネットワークの規模は、Spineスイッチのポートの数量及びLeafスイッチのポートの数量のようないくつかの物理パラメータにより制限される）。
【００９３】
スイッチがオンラインになる時点、スイッチのインタフェース状態を報告する時点、リンク・ディスカバリの時点等についての不確実性のため、HeatSinkファブリック内のスイッチング・デバイスの物理位置が変更されないが、コントローラにより毎回識別されるHeatSinkファブリックが異なる可能性があり、これは、ネットワーク可視性に大きく影響を与え、ネットワーク維持に不利である。コントローラにより識別されるHeatSinkファブリックの一貫性を確保するために、最初にHeatSinkファブリックを成功して識別した後に、コントローラは、全てのスイッチのHeatSink属性において持続性処理を実行する必要があり、例えば、ネットワーク情報ベース（Network  Information  Base、略称NIB）に全てのスイッチのHeatSink属性を記憶する。スイッチング・デバイスのHeatSink属性は、ネットワーク識別子を使用して復元及び決定されることができるため、コントローラは、スイッチング・デバイスのネットワーク識別子のみを記憶する必要がある。コントローラが電源オフの後にリスタートした場合であっても、コントローラは、HeatSinkファブリックをもはや識別する必要はないが、NIBからスイッチング・デバイスのネットワーク識別子を直接抽出する必要があり、次に、スイッチング・デバイスのHeatSink属性を解析する。
【００９４】
［ネットワーク識別子に基づくソース・ルーティング］
HeatSinkネットワークにおいて、Fin横断通信における転送パスは最長である。パケットは、ソース・エンド（パケットを送信する物理マシン又はソース仮想マシン）から送信され、Src  vSW（ソース物理マシン又はソース仮想マシンに接続された仮想スイッチ、略称ソース仮想スイッチ）、Src  Leaf（ソース仮想スイッチに接続されたLeafスイッチ、略称ソースLeafスイッチ）、Src  Spine（ソースLeafスイッチに接続されたSpineスイッチ、略称ソースSpineスイッチ）、Relay  Spine（中継機能を有するSpineスイッチ、すなわち、中継Spineスイッチと呼ばれる）、Dst  Spine（宛先Spineスイッチ、すなわち、宛先Leafスイッチに接続されたSpineスイッチ）、Dst  Leaf（宛先Leafスイッチ、すなわち、宛先仮想スイッチに接続されたLeafスイッチ）、Dst  vSW（宛先仮想スイッチ、すなわち、宛先物理マシン又は宛先仮想マシンに接続された仮想スイッチ）に成功して渡す必要があり、最終的に宛先エンド（パケットを受信する宛先物理マシン又は宛先仮想マシン）に到達する。合計で６ホップが存在する。
【００９５】
同一Fin通信は、同一Leaf通信又はLeaf横断通信に更に分割される。同一Leaf通信のパケットは、ソース・エンドから送信され、Src  vSW（ソース物理マシン又はソース仮想マシンに接続された仮想スイッチ、略称ソース仮想スイッチ）、Leaf（ソース仮想スイッチと宛先仮想スイッチとの間に位置し、中継機能を有するLeafスイッチ）、Dst  vSW（宛先仮想スイッチ、すなわち、宛先仮想マシンに接続された仮想スイッチ）に成功して渡す必要があり、最終的に宛先エンド（パケットを受信する宛先物理マシン又は宛先仮想マシン）に到達する。合計で２ホップが存在する。Leaf横断通信のパケットは、Src  vSW（ソース物理マシン又はソース仮想マシンに接続された仮想スイッチ、略称ソース仮想スイッチ）、Src  Leaf（ソース仮想スイッチに接続されたLeafスイッチ、略称ソースLeafスイッチ）、Spine（ソースLeafスイッチと宛先Leafスイッチとの間に位置し、中継機能を有するSpineスイッチ）、Dst  Leaf（宛先Leafスイッチ、すなわち、宛先仮想スイッチに接続されたLeafスイッチ）、Dst  vSW（宛先仮想スイッチ、すなわち、宛先物理マシン又は宛先仮想マシンに接続された仮想スイッチ）に成功して渡す必要があり、最終的に宛先エンド（パケットを受信する宛先物理マシン又は宛先仮想マシン）に到達する。合計で４ホップが存在する。
【００９６】
ソース・ルーティング技術では、ネットワーク・オブジェクト（すなわち、ネットワーク内のユニット、例えば、Spineスイッチ又はLeafスイッチ）を識別するためにタグが使用され、１つのタグは、１つのネットワーク識別子を搬送してもよく、複数のタグは、組み合わせを用いて１つの転送パスを取得するために、順に入れ子方式になった複数のネットワーク識別子を搬送する。外側のタグは、常に、現在のスイッチング・デバイス上でパケットの次ホップのスイッチング・デバイスを示すために使用される。タスクが完了した後、且つパケットが次ホップのスイッチング・デバイスに送信される前に、外側のタグは、現在のスイッチング・デバイスにより除去される。この処理が繰り返し、パケットが最終ホップのスイッチング・デバイス上でその元の状態に復元される。
【００９７】
［本発明において提供されるデータ・センタ・ネットワークのためのネットワーキング方法の実施例］
図２Ａ〜図２Ｄにおいて提供されるデータ・センタ・ファブリックについて、本発明は、データ・センタ・ネットワーキング方法の実施例を更に提供する。図７のフローチャートを参照すると、実施例は、データ・センタ・ネットワーク・マネージャDCNMにより実現されてもよい。データ・センタ・ネットワークは、少なくとも２つの配置ユニットを含み、各配置ユニットは、少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含む。図２Ａ〜図２Ｄに示すデータ・センタ・ファブリックについて、本発明のこの実施例において言及される配置ユニットは、データ・センタ・ファブリックの実施例に示すフィンに対応している点に留意すべきである。
【００９８】
610.各配置ユニットの内部で、各Leafスイッチと、Leafスイッチが位置する配置ユニットの内部の全てのSpineスイッチのうち少なくとも２つのSpineスイッチとの間に接続を設定する。
【００９９】
図２Ａ〜図２Ｄに示すデータ・センタ・ファブリックについて、配置ユニットの内部でLeafスイッチとSpineスイッチとの間の接続関係が設定され、配置ユニットの内部でLeafスイッチとSpineスイッチとの間の転送リンクを実現する点に留意すべきである。
【０１００】
620.データ・センタ・ネットワークに含まれる少なくとも２つの配置ユニットの間で、各配置ユニットの内部の少なくとも１つのSpineスイッチと、他の配置ユニットのそれぞれの内部の少なくとも１つのSpineスイッチとの間に接続を設定する。
【０１０１】
図２Ａ〜図２Ｄに示すデータ・センタ・ファブリックについて、フィンのSpineスイッチの間に接続が設定され、フィン横断通信要件を満たす点に留意すべきである。
【０１０２】
図２Ａ〜２Ｄに示すデータ・センタ・ファブリックの実施例では、フィンの内部の接続関係の好ましい実現方式において、各フィンの内部で、Spineスイッチが位置する配置ユニットの内部にある各Spineスイッチと各Leafスイッチとの間に接続が設定され、すなわち、フィンの内部のSpineスイッチ及びLeafスイッチは、CLOSネットワークを使用することにより接続され、これにより、ノンブロッキング通信が実現されることができる。
【０１０３】
図２Ａ〜図２Ｄに示すデータ・センタ・ファブリックの実施例が例として使用される。フィンの間の接続関係を実現するための３つの典型的な方式は以下の通りである。
【０１０４】
方式１：フィン横断Spineスイッチのグループ内相互接続方式は以下の通りである。Spineスイッチ・グループを形成するために、データ・センタ・ネットワーク内の全てのフィンの内部に含まれるSpineスイッチから、いくつかのSpineスイッチを決定し、Spineスイッチ・グループは、各フィンの内部の少なくとも１つのSpineスイッチを含む。Spineスイッチ・グループの内部で、各Spineスイッチと、他のフィンの内部のSpineスイッチとの間に接続を設定する。
【０１０５】
方式２：Spineスイッチの全相互接続方式は以下の通りである。データ・センタ・ネットワーク内の全てのフィンの内部に含まれるSpineスイッチから、各Spineスイッチと、他のSpineスイッチのそれぞれとの間に接続を設定する。
【０１０６】
方式３：Spineスイッチのフィン間全相互接続方式は以下の通りである。データ・センタ・ネットワーク内の全てのフィンの内部に含まれるSpineスイッチから、各Spineスイッチと、Spineスイッチが位置するフィンの外部の各Spineスイッチとの間に接続を設定する。
【０１０７】
データ・センタ・ネットワーク規模の拡張を考慮すると、図２Ａ〜図２Ｄに示すデータ・センタ・ファブリックを参照して、３つの拡張解決策は以下の通りである。
【０１０８】
(1)フィンの内部に新たなLeafスイッチを追加する。
【０１０９】
図７を参照すると、新たなLeafスイッチがフィンの内部に追加される。新たに追加されたLeafスイッチと、Leafスイッチが位置するフィンの内部の少なくとも２つのSpineスイッチのそれぞれとの間に接続が設定される必要がある。図７が例として使用され、LeafN+1が新たに追加されたLeafスイッチであり、新たに追加されたLeafスイッチと、Finの内部のSpineスイッチとの間に接続（図７の点線を参照）が設定される必要がある。
【０１１０】
フィンの内部のSpineスイッチ及びLeafスイッチがClosネットワークを使用することにより接続される実施例では、新たに追加されたLeafスイッチと、フィンの内部の各Spineスイッチとの間に接続が設定される。
【０１１１】
(2)フィンの内部に新たなSpineスイッチを追加する。
【０１１２】
A.基本的なSpineスイッチの相互接続方式について
【０１１３】
図８を参照すると、新たなSpineスイッチがフィンの内部に追加される。新たに追加されたSpineスイッチと、新たに追加されたSpineスイッチが位置するフィンの内部の各Leafスイッチとの間に接続が設定される。図８が例として使用され、SpineZ+1が新たに追加されたSpineスイッチであり、新たに追加されたSpineスイッチと、Finの内部のLeafスイッチとの間に接続（図８の点線を参照）が設定される必要がある。
【０１１４】
他の実現方式では、新たなSpineスイッチがフィンの内部に追加され、次に、フィンの内部でSpineスイッチとLeafスイッチとの間のCLOSネットワーク接続が存在すると決定された場合、新たに追加されたSpineスイッチと、フィンの内部のLeafスイッチとの間に接続を設定する必要がなくてもよい。
【０１１５】
B.フィン横断Spineスイッチのグループ内相互接続方式について
【０１１６】
新たなSpineスイッチがHeatSinkファブリック内の１つのみのフィンの内部に追加された場合、新たに追加されたSpineスイッチと、新たに追加されたSpineスイッチが位置するフィンの内部の各Leafスイッチとの間に接続が設定される。
【０１１７】
新たなSpineスイッチがHeatSinkファブリック内の各フィンの内部に追加された場合、新たに追加されたSpineスイッチと、フィンの内部の各Leafスイッチとの間にも接続が設定される必要がある。Spineスイッチ層の新たに追加されたSpineスイッチの接続について、以下の通りの２つの実現方式が存在する。
【０１１８】
(a)各フィンの内部の新たに追加されたSpineスイッチがグループとして使用され、グループの内部の各Spineスイッチと、グループの内部の他のSpineスイッチのそれぞれとの間に接続が設定される。
【０１１９】
(b)各フィンの内部の新たに追加されたSpineスイッチについて接続関係が存在しない。
【０１２０】
C.Spineスイッチの全相互接続方式について
【０１２１】
新たなSpineスイッチがフィンの内部に追加される。新たに追加されたSpineスイッチと、新たに追加されたSpineスイッチが位置するフィンの内部の各Leafスイッチとの間に接続が設定され、新たに追加されたSpineスイッチと、Spineスイッチ層に含まれるSpineスイッチ内の他のSpineスイッチのそれぞれとの間に接続が設定される。
【０１２２】
D.Spineスイッチのフィン間全相互接続方式について
【０１２３】
新たなSpineスイッチがフィンの内部に追加される。新たに追加されたSpineスイッチは、Spineスイッチ・グループ内に位置すると決定される。新たに追加されたSpineスイッチと、新たに追加されたSpineスイッチが位置するフィンの内部の各Leafスイッチとの間に接続が設定され、新たに追加されたSpineスイッチと、Spineスイッチ層にあり、新たに追加されたSpineスイッチが位置するSpineスイッチ・グループの外部にある他のSpineスイッチのそれぞれとの間に接続が設定される。
【０１２４】
(3)データ・センタ・ネットワーク内に新たなフィンを追加する。
【０１２５】
A.図２Ａに示す実施例において、新たなフィンが追加され、フィンが少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含む場合、以下の動作が実行される必要がある。新たに追加されたフィンの内部で各Leafスイッチと、少なくとも２つのSpineスイッチとの間に接続を設定する。新たに追加されたフィンから少なくとも１つのSpineスイッチを選択し、選択された少なくとも１つのSpineスイッチと、他のフィンのそれぞれの内部にあり、新たに追加されたフィンの外部にある少なくとも１つのSpineスイッチとの間に接続を設定する。
【０１２６】
B.図２Ａに示す実施例では、フィンの内部のSpineスイッチとLeafスイッチとの間で全相互接続方式が使用される場合、且つ、新たなフィンが追加され、フィンが少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含む場合、以下の動作が実行される必要がある。新たに追加されたフィンの内部で各Leafスイッチと各Spineスイッチとの間に接続を設定する。新たに追加されたフィンから少なくとも１つのSpineスイッチを選択し、選択された少なくとも１つのSpineスイッチと、他のフィンのそれぞれの内部にあり、新たに追加されたフィンの外部にある少なくとも１つのSpineスイッチとの間に接続を設定する。
【０１２７】
C.図２Ｂに示す実施例では、フィン横断Spineスイッチのグループ内相互接続方式について、新たなフィンが追加され、新たに追加されたフィンが少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含む場合、新たに追加されたフィンの内部にある各Spineスイッチと各Leafスイッチとの間に接続が設定される。少なくとも１つのSpineスイッチが新たに追加されたフィンから選択され、選択された少なくとも１つのSpineスイッチと、Spineスイッチ・グループの内部の各Spineスイッチとの間に接続が設定される。
【０１２８】
D.図２Ｃに示す実施例では、Spineスイッチの全相互接続方式について、新たなフィンが追加され、新たに追加されたフィンが少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含む場合、新たに追加されたフィンの内部にある各Spineスイッチと各Leafスイッチとの間に接続が設定される。新たに追加されたフィンの内部の各Spineスイッチと、データ・センタ・ネットワークに元々含まれるSpineスイッチの各Spineスイッチとの間に接続が設定される。
【０１２９】
E.図２Ｄに示す実施例では、Spineスイッチのグループ間全相互接続方式について、新たなフィンが追加され、新たに追加されたフィンが少なくとも２つのSpineスイッチと少なくとも１つのLeafスイッチとを含む場合、新たに追加されたフィンの内部にある各Spineスイッチと各Leafスイッチとの間に接続が設定される。少なくとも１つのSpineスイッチが新たに追加されたフィンからSpineスイッチ・グループに選択される。新たに追加されたフィンからSpineスイッチ・グループに選択された少なくとも１つのSpineスイッチと、Spineスイッチ・グループの外部にある各Spineスイッチとの間に接続が設定される。
【０１３０】
データ・センタ・ネットワークと外部ネットワークとの間の通信要件を満たすために、データ・センタ・ネットワークに含まれる少なくとも１つのフィンが選択され、外部ネットワークは、フィンのSpineスイッチのポート又はフィンのLeafスイッチのポートを使用することにより接続される。
【０１３１】
具体的な実現では、本発明のこの実施例において言及したSpineスイッチ及びLeafスイッチは、商用ネットワーク・スイッチを使用することにより実現されてもよく、或いは特定用途向け集積回路ASICチップを使用することにより実現されてもよい点に留意すべきである。
【０１３２】
［不揮発性コンピュータ読み取り可能記憶媒体の実施例］
本発明は、不揮発性コンピュータ読み取り可能記憶媒体の実施例を更に提供し、媒体は、コンピュータ読み取り可能命令を記憶するために使用され、命令は、データ・センタ・ネットワーク内でリンクを設定するために使用される。これらの命令がコンピュータ内の少なくとも１つのプロセッサにより実行された場合、少なくとも１つのプロセッサは、本発明の実施例におけるデータ・センタ・ネットワークのためのネットワーキング方法の一部又は全部の処理を実行することが可能になり得る。
【０１３３】
本発明における具体的な例は、当業者が本発明の実施例をより良く理解するのを助けることを意図しているに過ぎず、本発明の実施例の範囲を限定することを意図するのではないことが理解されるべきである。
【０１３４】
「第１」及び「第２」のような用語が様々な配置ユニット又はフィンを記述するために本発明の実施例において使用され得るが、配置ユニット又はフィンは、これらの用語に限定されず、すなわち、「第１の配置ユニット又はフィン」も「第２の配置ユニット又はフィン」も特定の配置ユニット又はフィンを示すものではなく、或いは第１の配置ユニット又はフィンと第２の配置ユニット又はフィンとの間に順序関係が存在することを示すものではなく、これらの用語は、配置ユニット又はフィンを互いに区別するためにのみ使用されることが理解されるべきである。例えば、本発明の実施例の範囲を逸脱しない場合において、第１の配置ユニット又はフィンは、第２の配置ユニット又はフィンとも呼ばれてもよく、同様に、第２の配置ユニット又はフィンは、第１の配置ユニット又はフィンとも呼ばれても良い。同様に、第２の配置ユニット又はフィンは、第３の配置ユニット又はフィン等とも呼ばれてもよく、これは、本発明の実施例では限定されない。
【０１３５】
本発明の様々な実施例において、前述の処理のシーケンス番号は、実行順序を意味しないことも理解されるべきである。処理の実行順序は、処理の機能及び内部ロジックに従って決定されるべきであり、本発明の実施例の実現処理における如何なる限定としても解釈されるべきではない。
【０１３６】
本発明のこの実施例における「及び／又は」という用語は、関連する対象を記述するための関連付け関係のみを記述しており、３つの関係が存在し得ることを表すことが理解されるべきである。例えば、A及び／又はBは、以下の３つの場合、すなわち、Aのみが存在すること、A及びBの双方が存在すること、並びにBのみが存在することを表してもよい。さらに、この明細書における「／」という文字は、一般的に、関係する対象の間の「又は」の関係を示す。
【０１３７】
当業者は、この明細書に開示された実施例に記載の例と組み合わせて、ユニット及びアルゴリズムのステップが、電子ハードウェア、コンピュータ・ソフトウェア又はこれらの組み合わせにより実現され得ることを認識し得る。ハードウェアとソフトウェアとの間の互換性を明確に記載するために、前述では、機能に従って各例の構成及びステップを一般的に説明している。機能がハードウェアにより実行されるかソフトウェアにより実行されるかは、技術的解決策の特定の用途及び設計上の制約条件に依存する。当業者は、特定の用途毎に記載の機能を実現するために異なる方法を使用し得るが、この実現が本発明の範囲を超えると考えられるべきではない。
【０１３８】
便宜上且つ簡潔な説明の目的で、前述のシステム、装置及びユニット並びに方法の具体的な処理の詳細な動作処理について、前述の方法の実施例における対応する説明に参照が行われてもよく、詳細はここでは説明しない。
【０１３９】
この出願において提供される複数の実施例において、開示のシステム、装置及び方法は、他の方式で実現されてもよいことが理解されるべきである。例えば、記載の装置の実施例は、単なる例である。例えば、ユニットの分割は、単に論理的な機能分割であり、実際の実現では他の分割でもよい。例えば、複数のユニット又はコンポーネントは結合されてもよく、或いは他のシステムに統合されてもよく、或いはいくつかの機能が無視されてもよく或いは実行されなくてもよい。さらに、表示又は説明した相互結合若しくは直接結合又は通信接続は、いくつかのインタフェースを通じて実現されてもよい。装置又はユニットの間の間接結合又は通信接続は、電気的、機械的又は他の形式で実現されてもよい。
【０１４０】
別々の部分として記載したユニットは、物理的に別々でもよく或いは別々でなくてもよく、ユニットとして表示された部分は、物理的なユニットでもよく或いは物理的なユニットでなくてもよく、１つの位置に存在してもよく、或いは複数のネットワーク・ユニットに分散されてもよい。ユニットの一部又は全部は、本発明の実施例の解決策の目的を達成するために、実際のニーズに従って選択されてもよい。
【０１４１】
さらに、本発明の実施例における機能ユニットは、１つの処理ユニットに統合されてもよく、或いはユニットのそれぞれが物理的に単独で存在してもよく、或いは２つ以上のユニットが１つのユニットに統合されてもよい。統合されたユニットは、ハードウェアの形式で実現されてもよく、或いはソフトウェア機能ユニットの形式で実現されてもよい。
【０１４２】
統合されたユニットがソフトウェア機能ユニットの形式で実現され、独立したプロダクトとして販売又は使用される場合、統合されたユニットは、コンピュータ読み取り可能記憶媒体に記憶されてもよい。このような理解に基づいて、本発明の技術的解決策は、本質的に、或いは、従来技術に寄与する部分又は技術的解決策の全部若しくは一部は、ソフトウェア・プロダクトの形式で実現されてもよい。ソフトウェア・プロダクトは、記憶媒体に記憶され、コンピュータ・デバイス（パーソナル・コンピュータ、サーバ又はネットワーク・デバイスでもよい）に対して本発明の実施例に記載の方法のステップの全部又は一部を実行するように命令するための複数の命令を含む。前述の記憶媒体は、USBフラッシュ・ドライブ、取り外し可能ハード・ディスク、読み取り専用メモリ（ROM、Read-Only  Memory）、ランダム・アクセス・メモリ（RAM、Random  Access  Memory）、磁気ディスク又は光ディスクのようなプログラム・コードを記憶することができるいずれかの媒体を含む。
【０１４３】
前述の説明は、本発明の単に具体的な実施例に過ぎず、本発明の保護範囲を限定することを意図するものではない。本発明に開示された技術範囲内で当業者により容易に理解される如何なる変更又は置換も本発明の保護範囲内に入るものとする。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
【図１】
0006444505.tif 000003
【図２Ａ】
0006444505.tif 000004
【図２Ｂ】
0006444505.tif 000005
【図２Ｃ】
0006444505.tif 000006
【図２Ｄ】
0006444505.tif 000007
【図３（ａ）】
0006444505.tif 000008
【図３（ｂ）】
0006444505.tif 000009
【図３（ｃ）】
0006444505.tif 000010
【図４】
0006444505.tif 000011
【図５】
0006444505.tif 000012
【図６】
0006444505.tif 000013
【図７】
0006444505.tif 000014
【図８】
0006444505.tif 000015