(57)【要約】データ・センタは、高周波数ＲＦ無線通信のような無線通信を用いて互いに通信する複数のコンピューティング・ユニットを備える。データ・センタはコンピューティング・ユニットをグループ（例えば、ラック）に編成することができる。一実装形態では、各グループは、コンピューティング・ユニット間のグループ内通信を収容するための自由空間領域を有する列のような、３次元構造を形成することができる。データ・センタは通信を容易にするための幾つかの機能を備えることができる。当該機能には、計算を処理しタスクをバッファリングするための二相使用メモリ、フェールセーフ・ルーティング機構、永続的な干渉および隠れ端末のシナリオを解決するための手段、等が含まれる。
2013524685.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも３つのコンピューティング・ユニットであって、各々が、
計算機能を実施するための処理リソースと、
データを格納するためのメモリ・リソースと、
各々が無線通信を用いて少なくとも１つの他のコンピューティング・ユニットと通信し、方向集束光線を生成する、少なくとも２つの無線通信要素と、
前記処理リソース、前記メモリ・リソース、および前記少なくとも２つの無線通信要素を接続するためのスイッチング・リソースと、
を備えるデータ・センタ。
【請求項２】
前記少なくとも３つのコンピューティング・ユニットは少なくとも２つのグループのコンピューティング・ユニットを備え、各コンピューティング・ユニットが、ローカル・グループの少なくとも１つの他のコンピューティング・ユニットと通信するための少なくとも１つのグループ内無線通信要素と、少なくとも１つの近傍グループの少なくとも１つの他のコンピューティング・ユニットと通信するための少なくとも１つのグループ間通信要素とを備える請求項１に記載のデータ・センタ。
【請求項３】
前記少なくとも３つのコンピューティング・ユニットは円柱構造を形成するコンピューティング・ユニットのグループを備え、前記円柱構造が、前記グループ内部のコンピューティング・ユニット間のグループ内通信を収容するための内部自由空間領域を有する請求項１に記載のデータ・センタ。
【請求項４】
コンピューティング・ユニットの少なくとも一つのサブセットがそれぞれ、外部エンティティと通信するための少なくとも１つの有線通信要素を備える請求項１に記載のデータ・センタ。
【請求項５】
前記少なくとも３つのコンピューティング・ユニットは互いに相対して配置されて永続的な干渉を回避し、第１のコンピューティング・ユニットが第２のコンピューティング・ユニットと通信できるが、前記第２のコンピューティング・ユニットが前記第１のコンピューティング・ユニットと直接には通信できないときに、永続的な干渉が存在する請求項１に記載のデータ・センタ。
【請求項６】
前記少なくとも３つのコンピューティング・ユニットは、起点のコンピューティング・ユニットから宛先のコンピューティング・ユニットへ、少なくとも１つの中間コンピューティング・ユニットを介してペイロード・データを送信するためのスイッチング・ファブリックを形成する請求項１に記載のデータ・センタ。
【請求項７】
前記ペイロード・データの送信に関与する少なくとも１つのコンピューティング・ユニットは、必要に応じて、かつ、利用可能な場合に、そのメモリ・リソースの少なくとも一部を前記スイッチング・ファブリックによって送信される前記ペイロード・データを一時的に格納するためのバッファとして使用するように構成される請求項６に記載のデータ・センタ。
【請求項８】
前記スイッチング・ファブリックは、前記データ・センタ内の準最適に動作するコンピューティング・ユニットを回避するようにメッセージをルーティングするルーティング戦略を使用するように構成される請求項６に記載のデータ・センタ。
【請求項９】
前記スイッチング・ファブリックは、コンピューティング・ユニットの第１のサブセットを用いてペイロード・データを第１の方向に送信し、コンピューティング・ユニットの第２のサブセットを用いてペイロード・データを第２の方向に送信するように構成される請求項６に記載のデータ・センタ。
【請求項１０】
前記少なくとも３つのコンピューティング・ユニットは、隠れ端末の現象を解決するメディア・アクセス・プロトコルを用いて、無線通信を介して互いに通信するように構成される請求項１に記載のデータ・センタ。
【請求項１１】
前記少なくとも３つのコンピューティング・ユニットは、制御データとペイロード・データを送信することによって互いに通信するように構成され、ペイロード・データに対する制御データの比率が、目標の待ち時間関連の性能と容量関連の性能とを提供するように選択される請求項１に記載のデータ・センタ。
【請求項１２】
前記少なくとも３つのコンピューティング・ユニットは、周波数と時間に関して定義された複数のスロットを用いて前記制御データを通信するように構成される請求項１１に記載のデータ・センタ。
【請求項１３】
コンピューティング・ユニットをデータ・センタ内に配置するための方法であって、
１つまたは複数の他の配置済みのコンピューティング・ユニットに対して、新たなコンピューティング・ユニットを前記データ・センタの候補位置に配置するステップであって、各コンピューティング・ユニットが、無線通信を用いて少なくとも１つの他のコンピューティング・ユニットと通信するための少なくとも１つの通信要素を有し、前記少なくとも１つの通信要素が方向集束光線を生成する、ステップと、
前記新たなコンピューティング・ユニットを前記候補位置に配置すると永続的な干渉が前記データ・センタ内に生ずるか否かを判定するステップであって、第１のコンピューティング・ユニットは第２のコンピューティング・ユニットと通信できるが前記第２のコンピューティング・ユニットは前記第１のコンピューティング・ユニットと直接には通信できないときは永続的な干渉が存在する、ステップと、
永続的な干渉が存在しない場合には、前記新たなコンピューティング・ユニットを前記候補位置に確定するステップと、
永続的な干渉が存在する場合には、少なくとも１つのコンピューティング・ユニットの位置を変更して、前記判定するステップを繰り返すステップと、
を含む方法。
【請求項１４】
前記判定するステップは、永続的な干渉が検出された場合には警告を通知するステップを含む請求項１３に記載の方法。
【請求項１５】
評価される各コンピューティング・ユニットの対話能力に基づいて、前記データ・センタ内部のコンピューティング・ユニットの相互接続に関するトポロジ情報を生成するステップをさらに含む請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ・センタに関する。
【背景技術】
【０００２】
データ・センタは一般に、コンピューティング・ユニットの階層的構造を用いてコンピューティング・タスクを処理している。この構造において、データ・センタは複数のラックを含むことがある。各ラックは（ネットワーク・アクセス可能なサービスを実装するための複数のサーバのような）複数のコンピューティング・ユニットを含む。各ラックはまた、ラック内部のコンピューティング・ユニットを往復するデータをルーティングするためのラック・レベルのスイッチング機構を備えることもある。１つまたは複数の高レベルなスイッチング機構により、複数のラックを一斉に接続することができる。したがって、データ・センタ内のコンピューティング・ユニット間の通信では、データを階層的なスイッチング構造を通して「上下に」送信する必要があるかもしれない。データ・センタは配線接続を用いてこれらの通信経路を物理的に実現している。
【０００３】
コンピューティング・ユニットの階層的構造は、多数のデータ・センタの適用事例に対して効果的であることが証明されている。しかし、当該階層的構造に欠点がないわけではない。他の潜在的な問題の中でも、スイッチング構造の階層的性質のため、特定のアプリケーション、特に、異なるラックのコンピューティング・ユニット間の通信を伴うアプリケーションに関して、データ・フローにボトルネックが生じうる。
【発明の概要】
【０００４】
本明細書では、無線通信を介して互いと対話する複数のコンピューティング・ユニットを含むデータ・センタを説明する。限定するものではないが、例えば、データ・センタは高周波数のＲＦ信号、光信号、等を用いて当該無線通信を実装することができる。
【０００５】
一実装形態では、データ・センタが３つ以上のコンピューティング・ユニットを含むことができる。各コンピューティング・ユニットは処理リソース、汎用目的のメモリ・リソース、およびスイッチング・リソースを備えてもよい。さらに、各コンピューティング・ユニットが、少なくとも１つの他のコンピューティング・ユニットと無線で通信するための２つ以上の無線通信要素を備えてもよい。これらの通信要素は、例えば一実装形態では５７ＧＨｚ〜６４ＧＨｚの範囲の高減衰信号を用いて、各方向集束光線を提供することにより無線通信を実装する。
【０００６】
別の例示的な態様によれば、データ・センタは、構造を形成する少なくとも１つのグループのコンピューティング・ユニットを備えることができる。例えば、当該構造が、当該グループ内のコンピューティング・ユニット間のグループ内通信を収容するための内部自由空間領域を有する列（例えば、円柱）を形成してもよい。
【０００７】
別の例示的な態様によれば、コンピューティング・ユニットを互いに相対して配置して永続的な干渉（ｐｅｒｍａｎｅｎｔ  ｉｎｔｅｒｆｅｒｅｎｃｅ）を回避することができる。永続的な干渉は、第１のコンピューティング・ユニットが第２のコンピューティング・ユニットと通信できるが第２のコンピューティング・ユニットが直接には第１のコンピューティング・ユニットと通信できないときに存在する。
【０００８】
別の例示的な態様によれば、コンピューティング・ユニットが、ペイロード・データを起点のコンピューティング・ユニットから宛先のコンピューティング・ユニットへ（幾つかのケースでは）少なくとも１つの中間コンピューティング・ユニットを介して送信するための、無線スイッチング・ファブリックを形成する。当該スイッチング・ファブリックでは、任意の種類のルーティング技法またはルーティング技法の任意の組合せを用いて、これらの機能を実装することができる。
【０００９】
別の例示的な態様によれば、ペイロード・データの送信に関与するコンピューティング・ユニットが、（利用可能な場合は）そのメモリ・リソースの少なくとも一部を、送信されているペイロード・データを一時的に格納するためのバッファとして使用してもよい。このように、コンピューティング・ユニットのメモリ・リソースが、計算の実行における従来の役割とバッファリングの役割の両方を果たすことができる。
【００１０】
別の例示的な態様によれば、コンピューティング・ユニットが、様々な隠れ端末（ｈｉｄｄｅｎ  ｔｅｒｍｉｎａｌ）のシナリオを解決するメディア・アクセス・プロトコルを用いて互いと通信するように構成される。
【００１１】
データ・センタは様々な環境において様々な利点を提供することができる。１つの利点によれば、データ・センタは（固定的な階層アプローチと比較して）コンピューティング・ユニット間の通信をより容易かつ柔軟に収容する。したがって、データ・センタは多くのアプリケーションに対してスループットを改善することができる。別の利点によれば、データ・センタは配線接続の数と特殊なルーティング基板の数を減らすことができる。この特徴により、データ・センタのコストを下げることができ、データ・センタの導入、再構成、および保守を簡略化することができる。別の利点によれば、コンピューティング・ユニットは無線通信の実施において比較的少量の電力を利用する。これにより、データ・センタの運用コストが削減される。
【００１２】
以上のアプローチは、様々な種類のシステム、コンポーネント、方法、コンピュータ読取可能媒体、データ・センタ、製品、等においても明らかであろう。
【００１３】
本要約は非包括的な特徴の選択とそれに伴う利益を選択したものを簡潔な形で導入するために提供されるものである。これらの機能は下記の発明を実施するための形態において、さらに説明される。本要約はクレーム主題の主要な特徴または本質的な特徴を特定しようとするものではなく、クレーム主題の範囲を限定するために使用しようとするものでもない。
【図面の簡単な説明】
【００１４】
【図１】１つまたは複数の無線通信要素を有する例示的なコンピューティング・ユニットを示す図である。
【図２】２つの通信要素間の冗長通信をグラフィカルに示す図である。
【図３】楔形の筐体を用いるコンピューティング・ユニットの１つの実装形態を示す図である。
【図４】図３のコンピューティング・ユニットを実装するために使用できるコンポーネントの集合を示す図である。
【図５】立方体形状の筐体を用いるコンピューティング・ユニットの１つの実装形態を示す図である。
【図６】図５のコンピューティング・ユニットを実装するために使用できるコンポーネントの集合を示す図である。
【図７】各々が図３および図４に示す種類のコンピューティング・ユニットである、複数のグループのコンピューティング・ユニットの３次元図である。
【図８】図７に示すグループのうち２つの断面図である。
【図９】図５および図６に示す種類のコンピューティング・ユニットを用いて形成したデータ・センタを示す図である。
【図１０】２つの通信要素に影響を及ぼす永続的な干渉をグラフィカルに示す図である。
【図１１】コンピューティング・ユニットをデータ・センタ内部に展開して永続的な干渉を回避するための方法をグラフィカルに示す図である。
【図１２】図１１のグラフィカル表現を補完する流れ図である。
【図１３】通信スペクトルを複数のスロットに分割する１つの方法を示す、周波数対時間のグラフの図である。
【図１４】無線通信を用いてデータ・センタ内部で制御データとペイロード・データを送信する１つの方法を示す、周波数対時間のグラフの図である。
【図１５】データ・センタ内のコンピューティング・ユニット間の通信を処理するために使用でき、特に、様々な隠れ端末のシナリオを解決するために使用できる、信号処理プロトコルの概要を提供する図である。
【図１６】通信参加者間の衝突がない第１の対話シナリオを示す図である。
【図１７】信号の重複があるが依然として通信参加者間の衝突がない第２の対話シナリオを示す図である。
【図１８】通信参加者間の第１の種類の衝突（例えば、「支配型衝突」）を解決するための第３の対話シナリオを示す図である。
【図１９】通信参加者間の第２の種類の衝突（例えば、「被覆型衝突」）を解決するための第４の対話シナリオを示す図である。
【図２０】２つのグループのコンピューティング・ユニットの断面図であり、これらのコンピューティング・ユニットを用いてどのようにデータをルーティングできるかを示す図である。
【図２１】データ・センタ内の個々のコンピューティング・ユニットが提供するリソースを切り替えることによって集合的に提供される、スイッチング・ファブリックを示す図である。
【図２２】グループ内のコンピューティング・ユニットを示し、当該グループの第１のサブセットが第１の方向の通信を処理するために割り当てられ、当該グループの第２のサブセットが第２の方向の通信を処理するために割り当てられることを示す図である。
【図２３】グループを構成するユニットのグループの集合を示し、それらにより形成されるスイッチング・ファブリックをどのように使用して準最適な（suboptimal）性能を有するコンピューティング・ユニットを回避できるかを示す図である。
【発明を実施するための形態】
【００１５】
本開示と図を通して、同一の番号を使用して同一のコンポーネントおよび機能を参照する。１００番台の番号は最初に図１で見られる機能を参照し、２００番台の番号は最初に図２で見られる機能を参照し、３００番台の番号は最初に図３で見られる機能を参照する、等である。
【００１６】
本開示は以下のように編成されている。セクションＡでは、無線通信をデータ・センタ内部で提供する様々な種類のコンピューティング・ユニットを説明する。セクションＢでは、セクションＡのコンピューティング・ユニットを用いて構築できる例示的なデータ・センタを説明する。セクションＣでは、永続的な干渉の問題を解決するための機能を説明する。セクションＤでは、コンピューティング・ユニット間の信号処理を実装するための機能を説明する。セクションＥでは、無線通信を用いてデータ・センタ内部でデータをルーティングするための機能を提供する。
【００１７】
準備的事項として、幾つかの図で、種々の概念を１つまたは複数の構造的なコンポーネントのコンテキストで説明する。当該コンポーネントは、機能、モジュール、特徴、要素、等と様々に称する。図に示す様々なコンポーネントを任意に実装することができる。１つのケースでは、図の様々なコンポーネントを様々なユニットに例示的に分離することによって、実際の実装形態における対応する異なるコンポーネントの利用を反映してもよい。代替または追加として、図に示した任意の１つのコンポーネントを複数の現実のコンポーネントにより実装してもよい。代替または追加として、図で任意の複数の別個のコンポーネントを示すことにより、１つの現実のコンポーネントで実施される様々な機能を反映してもよい。
【００１８】
他の図では、種々の概念を流れ図の形で説明する。この形では、複数の特定の動作が、特定の順序で実施される異なるブロックを構成するとして説明される。かかる実装形態は例示的で非限定的である。本明細書で説明する特定のブロックを一体としてグループ化して単一の動作で実装することができ、特定のブロックを複数のコンポーネント・ブロックに分割することができ、特定のブロックを、本明細書で例示したものとは異なる順序で（ブロックを並列に実施することを含む）実施することができる。当該流れ図で示したブロックを任意に実装することができる。
【００１９】
以下の説明では、１つまたは複数の特徴を「任意的」としてもよい。このように述べたことを、任意的と考えうる特徴を包括的に示すものと解釈すべきではない。即ち、文章では明示的に特定していないが、他の特徴を任意的と考えることができる。同様に、この説明により、１つまたは複数の特徴を複数形で（即ち、当該特徴のうち複数を提供することによって）実装できると示すことができる。上記のように述べたことは、冗長化できる特徴を包括的に示すものとは解釈されない。最後に、「例示的」という用語は、潜在的に多数の実装形態のうち１つの実装形態を指す。
【００２０】
Ａ．例示的なコンピューティング・ユニット
図１は、データ・センタ内部で使用するためのコンピューティング・ユニット１０２を示す。コンピューティング・ユニット１０２は、一体となって任意の種類の処理作業を実施するための処理リソース１０４とメモリ・リソース１０６を備える。例えば、処理リソース１０４とメモリ・リソース１０６は、ユーザおよび他のエンティティが広域ネットワーク（例えば、インターネット）を介して、または、他の任意の接続機構を通じて、アクセスできる１つまたは複数のアプリケーションを実装してもよい。処理リソース１０４を１つまたは複数の処理装置（例えば、ＣＰＵ）により実装することができる。メモリ・リソース１０６（汎用目的メモリ・リソースとも称する）を動的メモリ装置および／または（ＤＲＡＭメモリ装置のような）静的メモリ装置の任意の組合せにより実装することができる。コンピューティング・ユニット１０２はまた、関連する駆動機構とともに、磁気ディスクおよび／または光ディスクのようなデータ記憶リソース１０８を備えることができる。
【００２１】
コンピューティング・ユニット１０２の他の実装形態では、上述した特徴のうち１つまたは複数を省略することができる。さらに、コンピューティング・ユニット１０２の他の実装形態では、追加のリソース（例えば、「他のリソース」１１０）を提供することができる。
【００２２】
コンピューティング・ユニット１０２を、任意の形状の筐体１１２内で提供することができる。一般に、筐体１１２は、コンピューティング・ユニット１０２を同様に設計された他のコンピューティング・ユニットと効率的に組み合わせてグループ（例えば、ラック）を形成できるように構成される。概要として、このセクションでは、筐体１１２が楔形である第１の例と、筐体１１２が立方体形状である第２の例を説明する。これらの実装形態は包括的ではない。
【００２３】
コンピューティング・ユニット１０２は任意数Ｋの無線通信要素１１４を備えることができる。例えば、無線通信要素１１４がＲＦ（ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ）スペクトル内で通信することができる。より具体的には、通信要素１１４が当該スペクトルの超高周波数（ＥＨＦ）帯（例えば、３０ＧＨｚから３００ＧＨｚ）のうち任意の部分の中で通信することができる。例えば、限定するものではないが、当該スペクトルの５７〜６４ＧＨｚ帯の中の通信を提供することができる。別のケースでは、通信要素１１４が電磁スペクトルの可視領域内または赤外領域内で通信することができる。これらの例は包括的ではなく代表的なものであり、Ｋ個の無線通信要素１１４が放射する信号の物理的性質を限定するものではない。
【００２４】
各無線通信要素は、方向集束エネルギ光線を放射することができる。かかる光線の「形状」を、光線のエネルギが所定のレベルに減少する空間内の点に関して定義することができる。例えば、図２では、送受信機として機能する例示的な通信要素２０２を示し、当該通信要素２０２は、信号を放射する送信モジュール（ＴＸ）と別の通信要素により（例えば、通信要素２０４により）送信された信号を受信する受信モジュール（ＲＸ）とを有する。通信要素２０２は電磁エネルギ光線２０６を放射する。当該電磁エネルギ光線２０６は、光線の水平発散を決定する第１の角度（α）と当該光線の垂直発散を決定する第２の角度（β、図示せず）とに関して定義される。当該光線は距離Ｌまで届く。最後に、通信要素２０２は電力量Ｐを消費する。α、β、Ｌ、およびＰの値は実装形態が異なれば異なる。限定するものではないが、一実装形態では、αおよびβは各々３０度以下であり、Ｌは２メートル未満であり、Ｐは１ワット未満である。
【００２５】
一般に、光線２０６は、特に通信が５７ＧＨｚ〜６４ＧＨｚスペクトル帯で行われる例では、比較的細く（narrow）、明確に定義されている。この範囲では、光線２０６は大気中で劇的に減衰する。細い光線（狭ビーム：narrow beam）を使用することにより、通信要素は、他の通信要素に関して干渉を引き起こすことなく、１つまたは複数の他の通信要素と選択的に通信することができる。例えば、通信要素２０２は通信要素２０４と上手く対話することができる。しかし、光線２０６は十分に良く定義されているので、近傍点２０８では、（点２０８で）干渉を生じさせるのに十分な強度の信号を受信することはない。
【００２６】
一実装形態では、各通信要素は、固定された方向を指しα、β、およびＬが固定された静的な光線を提供する。設定中は、ユーザはコンピューティング・ユニットの筐体１１２を所望の方向に「向ける」ことにより光線を所望の方向に向けさせることができる。追加または代替として、ユーザは通信要素自体の方向を（コンピューティング・ユニット１０２全体に対して）調節することにより光線を所望の方向に向けることができる。
【００２７】
無線通信要素自体が、信号を送受信するためのコンポーネントの任意の組合せを備えることができる。限定するものではないが、当該コンポーネントが、１つまたは複数のアンテナ、１つまたは複数のレンズもしくは（光通信の場合は）他の集束装置、電力増幅機能、変調および復調機能、誤り訂正機能（および任意の種類のフィルタ機能）、等を備えることができる。１つのケースでは、各無線通信要素を、共通基板上に形成されたコンポーネントの集合として実装することができる。当該共通基板は、コンピューティング・ユニット１０２自体に関連付けられたマザーボードに取り付けられている（または一体的に組み込まれている）。
【００２８】
図１の説明に戻ると、Ｋ個の無線通信要素１１４が２組の通信要素を含むとして示されている。第１の組は第１の方向を指し、もう一方の組は反対の方向を指している。これは１つの選択肢を代表するにすぎない。１つの特別な実装形態（図３および図４に関して後述）では、コンピューティング・ユニット１０２は第１の方向を指す第１の単一の通信要素と、第２の方向を指す第２の単一の通信要素とを備える。別の特別な実装形態（図５および図６に関して後述）では、コンピューティング・ユニット１０２はそれぞれ４個の方向を指す４個の通信要素を備える。
【００２９】
特定の実装形態では、コンピューティング・ユニット１０２がコンピューティング・ユニットのグループ（例えば、ラック）のメンバであってもよく、データ・センタが全体として複数のかかるグループを含んでもよい。この設定では、グループ内のコンピューティング・ユニットが、同一のグループ内部の１つまたは複数の他のコンピューティング・ユニットと対話するために使用される少なくとも１つの通信要素を備えることができる。この種の通信要素をグループ内通信要素と称する。コンピューティング・ユニットはまた、１つまたは複数の空間的に近傍のグループにある１つまたは複数のコンピューティング・ユニットと対話するために使用される、少なくとも１つの通信要素を備えることができる。この種の通信要素をグループ間通信要素と称する。他のコンピューティング・ユニットが、１つまたは複数のグループ内通信要素のみを備えてもよく、または、１つまたは複数のグループ間通信要素を備えてもよい。一般に、各通信要素が１つまたは複数の他の通信要素と通信すると言うことができ、これらの通信参加者の関係は、データ・センタのトポロジが異なれば、異なる。
【００３０】
コンピューティング・ユニット１０２は、また、１つまたは複数の有線通信要素１１６を備えてもよい。有線通信要素１１６は、コンピューティング・ユニット１０２と、別の通信要素、ルーティング機構、等のような任意のエンティティとの間の配線接続を提供することができる。例えば、データ・センタ内部のコンピューティング・ユニットのサブセットがそれぞれの有線通信要素１１６を使用して任意の種類のネットワークと対話し、当該ネットワークを通じて任意のリモート・エンティティと対話することができる。しかしながら、図４と図６に示される実装形態では有線通信要素を有していない。議論を容易にするために、以降では「通信要素」という用語は、「有線」通信要素と明示的に修飾しない限り、無線の通信要素を指す。図示していないが、コンピューティング・ユニット１０２はまた、１つまたは複数の全方位通信要素を備えることができる。
【００３１】
コンピューティング・ユニット１０２はまた、スイッチング・リソース１１８を備えることができる。一般に、スイッチング・リソース１１８は、コンピューティング・ユニット１０２内部の様々なコンポーネントを動的に接続する任意の種類の接続機構を備えることができる。例えば、スイッチング・リソース１１８は、コンピューティング・ユニット１０２内部でデータをルーティングする仕方を制御することができる。ある時点で、スイッチング・リソース１１８は、通信要素を介して受信したデータを処理リソース１０４とメモリ・リソース１０６にルーティングして、この機能が当該データに対して計算を実行できるようにしてもよい。別のケースでは、スイッチング・リソース１１８は、出力データを所望の通信要素にルーティングして、この通信要素により送信されるようにすることができる。別のケースでは、スイッチング・リソース１１８は、コンピューティング・ユニット１０２がコンピューティング・ユニット１０２に入力されたデータを転送する中間エージェントとして主に動作するように、コンピューティング・ユニット１０２を構成することができる、等である。
【００３２】
データ・センタ内部で複数のコンピューティング・ユニットにより提供されるスイッチング・リソース１１８は無線スイッチング・ファブリックを集合的に構成する。セクションＤで説明するように、当該スイッチング・ファブリックにより、起点のコンピューティング・ユニットは、場合によっては１つまたは複数の中間コンピューティング・ユニットを介して例えば１つまたは複数のホップで、宛先のコンピューティング・ユニット（または他の任意の宛先エンティティ）にデータを送信することができる。この目的を達成するために、スイッチング・リソース１１８はまた、任意の種類のルーティング戦略またはルーティング戦略の任意の組合せを用いてデータをルーティングするためのルーティング機能を取り込むことができる。
【００３３】
さらに、コンピューティング・ユニット１０２は、メモリ・リソース１０６の少なくとも一部をバッファ１２０として使用することができる。コンピューティング・ユニット１０２は、ルーティング・モードとして動作するときは、バッファ１２０を使用してデータを一時的に格納する。例えば、コンピューティング・ユニット１０２が、起点のコンピューティング・ユニットを宛先のコンピューティング・ユニットと接続する経路中の中間コンピューティング・ユニットとして動作すると仮定する。さらに、コンピューティング・ユニット１０２が、受信したデータを当該経路に沿って即座には次のコンピューティング・ユニットに転送できないと仮定する。即座に転送できない場合には、コンピューティング・ユニット１０２はデータをバッファ１２０に一時的に格納することができる。この場合、コンピューティング・ユニット１０２は必要に応じて（例えば、データ送信の過程でバッファリングが必要であるときに）メモリ・リソース１０６を、メモリ・リソース１０６がその特定の時点にバッファ１２０として使用できるならば、バッファリングのために使用する。
【００３４】
したがって、コンピューティング・ユニット１０２のメモリ・リソース１０６は少なくとも２つの目的を果たす。第１に、メモリ・リソース１０６は処理リソース１０４と協働して、例えば１つまたは複数の任意の種類のアプリケーションを実装することにより、計算を実施する。第２に、メモリ・リソース１０６はバッファ１２０を使用してルーティング・モードでデータを一時的に格納する。このようにメモリ・リソース１０６を二相的に使用することは有利である。なぜならば、これによりデータ・センタが専用のスイッチング基板を別途提供する必要性が排除または削減されるからである。
【００３５】
図３は、図１に示す一般的なコンピューティング・ユニット１０２の１つのバージョンを表すコンピューティング・ユニット３０２を示す。コンピューティング・ユニット３０２は、楔形の筐体３０４を備える。（上述の）コンポーネントが（図３では具体的には示していないけれども）処理ボード３０６上に提供されている。グループ内通信要素３０８が、ローカル・グループの１つまたは複数の他のコンピューティング・ユニットとの無線通信を提供する。グループ内通信要素３０８は内面３１０に配置されている。グループ間通信要素３１２が、近傍グループの１つまたは複数の他のコンピューティング・ユニットとの無線通信を提供する。グループ間通信要素３１２は外面３１４に配置されている。セクションＢでは、さらに詳細を説明して、複数のグループを有するデータ・センタ内部のグループ内通信要素３０８とグループ間通信要素３１２の機能を明確にする。
【００３６】
図４は、図３の楔形のコンピューティング・ユニット３０２内部のコンポーネントを示す。当該コンポーネントは、処理リソース４０２、メモリ・リソース４０４、データ記憶リソース４０６、スイッチング・リソース４０８、グループ内通信要素３０８、およびグループ間通信要素３１２を備える。このコンポーネントの集合は代表的なものであり、他の実装形態では図４に示すコンポーネントのうち１つまたは複数を省略することができ、かつ／または、コンポーネントを追加することができる。
【００３７】
図５は、図１に示す一般的なコンピューティング・ユニット１０２の別のバージョンを表すコンピューティング・ユニット５０２を示す。コンピューティング・ユニット５０２は、立方体形状の筐体５０４を備える。（上述の）コンポーネントが（図５では具体的には示していないが）処理ボード５０６上に提供されている。このコンピューティング・ユニット５０２は、それぞれがコンピューティング・ユニット５０２の前面、背面、左側面、および右側面に配置された、コンピューティング・ユニット（または他のエンティティ）と通信するための４つの通信要素（５０８、５１０、５１２、５１４）を備える。セクションＢでは、さらに詳細を説明して、複数のグループを有するデータ・センタ内部の通信要素（５０８、５１０、５１２、５１４）の機能を明確にする。
【００３８】
図６は、図５の立体形状のコンピューティング・ユニット５０２内部のコンポーネントを示す。当該コンポーネントは、処理リソース６０２、メモリ・リソース６０４、データ記憶リソース６０６、スイッチング・リソース６０８、様々な通信要素（５０８、５１０、５１２、５１４）を備える。このコンポーネントの集合は代表的なものであり、他の実装形態では図６に示すコンポーネントのうち１つまたは複数を省略することができ、かつ／または、コンポーネントを追加することができる。
【００３９】
Ｂ．例示的なデータ・センタ
図７は複数のグループのコンピューティング・ユニットを示す。より従来の言葉では、各グループをラックと考えることができる。例えば、代表グループ７０２を考える。グループ７０２の（代表コンピューティング・ユニット７０４のような）各コンピューティング・ユニットが、図３に示す楔形のコンピューティング・ユニットに対応する。複数のこれらの楔形のコンピューティング・ユニットが（代表層７０６のような）単一の層で組み合わさって輪状の形を形成する。複数のこれらの層７０８を積層して、列（例えば、柱状構造）に似た構造を形成することができる。グループ７０２は、（図３に示す個々の内面３１０のような）楔形のコンピューティング・ユニットの内面の集合により定義される、内部領域７１０を含む。グループ７０２は、（図３に示す個々の外面３１４のような）楔形のコンピューティング・ユニットの外面の集合により定義される、外面を含む。この説明では、各列は円柱形である。しかし、他の実装形態の構造ではそれぞれ他の形状を有することができる。単なる１つの代替的な例に言及すると、グループは任意の輪郭を有する内部自由空間空洞を伴うかまたは伴わない、八角形の断面（または他の任意の多角形断面）を有することができる。
【００４０】
図８は、図７の２つのグループ、即ち、グループ７０２とグループ７１２の断面図である。グループ７１２を参照すると、当該断面図は特定層の楔形コンピューティング・ユニットの集合を表し、集合的に円形内周８０２と円形外周８０４を提供する。内周８０２は自由空間領域８０６を定義する。このように、グループ７１２の断面は、自由空間ハブから放射するスポークを有する車輪に似ている。
【００４１】
（代表通信要素８０８のような）グループ内通信要素が内周８０２上に配置されている。それぞれのかかるグループ内通信要素により、対応するコンピューティング・ユニットは自由空間領域８０６に跨る１つまたは複数の他のコンピューティング・ユニットと通信することができる。例えば、図８は、自由空間領域８０６に跨る通信要素８０８から伸びる例示的な送信光線８１０を示す。グループ内通信要素８１２は光線８１０の経路の「内部」に存在し、したがって、光線８１０が送信した信号を受信することができる。
【００４２】
（代表通信要素８１４のような）グループ間通信要素が外周８０４上に配置されている。それぞれのかかるグループ間通信要素により、対応するコンピューティング・ユニットが、グループ７０２のコンピューティング・ユニットのような近傍グループの１つまたは複数の他のコンピューティング・ユニットと通信することができる。例えば、図８は、（グループ７１２の）通信要素８１４からグループ７０２へ投射される例示的な送信光線８１６を示す。グループ内通信要素８１８は光線８１６の経路の「内部」に存在するので、光線８１６が送信した信号を受信することができる。
【００４３】
自由空間領域８０６の直径をｚで表し、任意の２つのグループの間の最小間隔をｄで表す。距離ｚとｄは、それぞれグループ内通信とグループ間通信を収容するように選択される。これらの距離は、技術的な環境が異なれば、異なるが、一実装形態では、これらの距離の各々は２メートル未満である。
【００４４】
図９は、複数のグループ（例えば、グループ９０４、９０６、９０８、等）を含む別のデータ・センタ９０２を示す。例えば、代表グループ９０４を考える。グループ９０４は、格子状のコンピューティング・ユニットの配列を含む。ここで、各コンピューティング・ユニットは図５に示す立方体形状である。さらに、図９は単一層のグループ９０４を示す。この層の上に格子状のコンピューティング・ユニットの配列をさらに積層することができる。したがって、グループ９０４が複数列のコンピューティング・ユニットを形成することができる。各列は正方形の断面（その他より一般的には、多角形断面）を有する。グループ９０４はまた、全体として１つの列を形成する。
【００４５】
各コンピューティング・ユニットが提供する通信要素が、例えばグループ内部のコンピューティング・ユニットの配置に応じて、グループ内コンピューティング・ユニットおよび／またはグループ間コンピューティング・ユニットと通信することができる。例えば、コンピューティング・ユニット９１０は、第１の近傍グループ内コンピューティング・ユニット９１２と対話するための第１の無線通信要素（図示せず）を有する。コンピューティング・ユニット９１０は第２の近傍グループ内コンピューティング・ユニット９１４と対話するための第２の無線通信要素（図示せず）を備える。コンピューティング・ユニット９１０は近傍グループ９０６のコンピューティング・ユニット９１６と対話するための第３の無線通信要素（図示せず）を備える。このコンピューティング・ユニットとグループの構成は代表的なものにすぎず、他のデータ・センタでは他のレイアウトを採用することができる。
【００４６】
また、コンピューティング・ユニット９１０が、ルーティング機構９１８と対話するための配線通信要素（図示せず）を備えることに留意されたい。より具体的には、コンピューティング・ユニット９１０は、ルーティング機構９１８に接続されたコンピューティング・ユニットのサブセットのメンバである。ルーティング機構９１８は、データ・センタ９０２内部のコンピューティング・ユニットを外部のエンティティに接続する。例えば、データ・センタ９０２を、ルーティング機構９１８を介して（インターネットのような）外部ネットワーク９２０に接続してもよい。ユーザおよび他のエンティティが、例えば外部ネットワーク９２０を介して要求をデータ・センタ９０２に送信し、外部ネットワーク９２０を介してデータ・センタ９０２から応答を受信することによって、外部ネットワーク９２０を用いてデータ・センタ９０２と対話してもよい。
【００４７】
このように、図９に示すデータ・センタ９０２は幾つかの配線通信リンクを備える。しかし、データ・センタ９０２は従来のデータ・センタと同種のボトルネック問題は引き起こさない。なぜならば、従来のデータ・センタはラックを往復する通信を１つのアクセス・ポイントを介してルーティングするからである。対照的に、グループ９０４は、ルーティング機構９１８をグループ９０４に接続する複数のアクセス・ポイントを備える。例えば、グループ９０４は、ルーティング機構９１８に接続する３つのアクセス・ポイントを示している。グループ９０４が５個の層（図示せず）を含み、したがって、グループ９０４が３×５個のアクセス・ポイントを含み、入出力のアクセス・ポイントの壁を形成すると仮定する。ルーティング機構９１８に直接には配線されないコンピューティング・ユニットが、１つまたは複数の無線ホップを介してルーティング機構９１８と間接的に対話することができる。したがって、図９に示すアーキテクチャにより、任意の個々のアクセス・ポイントを流れるデータの量が削減される。
【００４８】
図９は、ルーティング機構９１８を格子状のコンピューティング・ユニットの配列のコンテキストで示すが、任意の形状のグループを有するデータ・センタに同じ原理を適用することができる。例えば、図７に示すように、円柱のグループを使用することを再度考える。データ・センタがこれらの円柱のグループを複数の行に配置すると仮定する。データ・センタはルーティング機構を、データ・センタの外側の行にあるコンピューティング・ユニットの少なくともサブセットに接続することができる。このルーティング機構が、上述の仕方でデータ・センタを外部エンティティと接続する。
【００４９】
Ｃ．永続的な干渉を解決するための例示的な機能
図１０は、任意の２つの通信要素（１００２、１００４）に影響を及ぼしうる永続的な干渉の概念を表す。通信要素１００４が、通信要素１００２が送信した信号を上手く受信できるが、通信要素１００２が、通信要素１００４が送信した信号を同様に受信することはできないと仮定する。平たく言うと、通信要素１００２は通信要素１００４と会話できるが、通信要素１００４は通信要素１００２に折り返し会話することができない。この現象を永続的な干渉と呼ぶ。この干渉は、通信要素（１００２、１００４）が放射する光線の形状と関連して通信要素（１００２、１００４）の配置と方位に起因する限り、永続的である。永続的な干渉は、（双方向通信と比較して）２つのコンピュータ間の対話を単方向に限定するので望ましくない。単方向通信を使用して多くの通信作業を、少なくとも効率的には、実施することはできない。
【００５０】
永続的な干渉の問題を解決する１つの方法は、通信要素１００４がそれによりデータを通信要素１００２に送信できる、間接的な経路を提供することである。例えば、その間接的な経路では、１つまたは複数の中間コンピューティング・ユニット（図示せず）を介してデータを送信することができる。しかし、この選択肢は完全には満足できるものではない。なぜならば、それにより、データ・センタが使用するルーティング機構の複雑度が増すからである。
【００５１】
図１１は、データ・センタがそれにより永続的な干渉を回避できる別の機構を示す。このアプローチでは、ユーザは、コンピューティング・ユニットを筐体構造に１つずつ追加することによって、コンピューティング・ユニットのグループ（例えば、ラック）を構築する。各コンピューティング・ユニットを追加すると、ユーザはその配置が永続的な干渉を生じさせるか否かを判定することができる。永続的な干渉が生じた場合は、ユーザはコンピューティング・ユニットを別の場所に配置することができる。例えば、図示したように、ユーザは現在、楔型のコンピューティング・ユニット１１０２を円柱グループ１１０６の空きスロット１１０４に追加しようとしている。この配置の結果として永続的な干渉が発生するとユーザが判定した場合は、当該ユーザはこの配置を止めてコンピューティング・ユニット１１０２を別のスロット（図示せず）に挿入する可能性を探るであろう。
【００５２】
様々な機構により、コンピューティング・ユニット１１０２を配置することが永続的な干渉をもたらすか否かをユーザが判定することを支援することができる。１つのアプローチでは、コンピューティング・ユニット１１０２自体が、コンピューティング・ユニット１１０２をグループ１１０６に追加すると図１０に示す干渉現象が生ずるか否かを判定する検出機構（図示せず）を備えることができる。例えば、当該検出機構がコンピューティング・ユニット１１０２に指示してテスト信号を近傍のコンピューティング・ユニットに送信させることができる。当該検出機構は次いで、コンピューティング・ユニット１１０２がこれらの近傍のコンピューティング・ユニットからＡＣＫ（acknowledgement）信号（肯定信号）を受け取ることに失敗したか否かを判定することができる（この状況では、当該近傍のコンピューティング・ユニットはテスト信号を受信している）。当該検出機構はまた、相補性問題が存在するか否か、例えば、コンピューティング・ユニット１１０２がテスト信号を近傍のコンピューティング・ユニットから受信できたがＡＣＫ信号を当該近傍のコンピューティング・ユニットに正常に転送できなかったか否かを判定することができる。当該検出機構はまた、（永続的な干渉がコンピューティング・ユニット１１０２に直接には影響を及ぼさないかもしれないけれども）コンピューティング・ユニット１１０２を導入したことでグループ１１０６内の複数の配置済みのコンピューティング・ユニットの間で永続的な干渉が生じたか否かを検出することができる。配置済みのコンピューティング・ユニットは、個々の独自の「視点」から干渉を評価できる個々の独自の検出機構を備えることができる。
【００５３】
コンピューティング・ユニット１１０２は、ユーザに永続的な干渉の問題を（例えば、音声および／または視覚による警告を通知することによって）警告する警告機構１１０８を備えることができる。配置済みのコンピューティング・ユニットは同様な警告機構を備えることができる。代替または追加として、グループ１１０６の筐体が検出機構（図示せず）とユーザに永続的な干渉の問題を警告するための関連する警告機構１１１０とを備えてもよい。より具体的には、グループ１１０６の筐体が、複数のかかる検出機構と、グループ１１０６内部の各コンピューティング・ユニットに関連付けられた警告機構とを備えることができる。これらの警告により、提示された配置により影響を受けるコンピューティング・ユニットが特定される。
【００５４】
図１２は、上述した概念を流れ図の形で要約する手続き１２００を示す。ブロック１２０２で、ユーザは最初のコンピューティング・ユニットを、グループ（例えば、ラック）に関連付けられた筐体内部の最初の位置に置く。ブロック１２０４で、ユーザは新たなコンピューティング・ユニットを筐体内部の候補位置に置く。ブロック１２０６で、ユーザは、（ブロック１２０４における）この配置により永続的な干渉が（上述した流れの何れかにより）生ずるか否かを判定する。永続的な干渉が生じなかった場合は、ユーザは当該新たなコンピューティング・ユニットを当該候補位置に確定する（これは単に、ユーザが当該コンピューティング・ユニットを当該位置に置いたままにすることを意味する）。永続的な干渉が生じた場合は、ブロック１２１０で、ユーザは当該コンピューティング・ユニットを新たな候補位置に移動し、ブロック１２０６のチェック動作を繰り返す。この手続きを、ユーザが当該新たなコンピューティング・ユニットに対して干渉がない位置を特定するまで１回または複数回繰り返すことができる。
【００５５】
ブロック１２１２で、ユーザは、グループに関連付けられた筐体に配置すべき新たなコンピューティング・ユニットのいずれかがまだ存在するか否かを判定する。存在すれば、ユーザは上述の動作を新たなコンピューティング・ユニットに関して繰り返す。ブロック１２１４で、ユーザは、（存在すれば）グループ内部の空きスロットに関して何をすべきかを決定する。これらの空きスロットには、永続的な干渉が存在するためコンピューティング・ユニットが存在しない。あるケースでは、ユーザはこれらのスロットを空いたままにすることができる。別のケースでは、ユーザはこれらのスロットを、無線通信を必要としない任意の種類のコンピューティング・ユニットで埋めることができる。例えば、ユーザは、専らデータ記憶の役割を果たすコンピューティング・ユニットのために当該空きスロットを割り当てることができる。
【００５６】
手続き１２００を様々に変化させることができる。例えば、ユーザは、（新たに導入したコンピューティング・ユニットではなく）１つまたは複数の過去に配置したコンピューティング・ユニットの位置を変更することによって、干渉問題を解決することができる。例えば、ユーザが、過去のコンピューティング・ユニットの配置が、後のコンピューティング・ユニットの配置を不相応に制限すると判定してもよい。この場合、ユーザはこの以前のコンピューティング・ユニットを削除して、後のコンピューティング・ユニットをより効率的に配置させることができる。
【００５７】
ブロック１２１６で一般的に示すように、データ・センタの設定における任意の時点で（またはデータ・センタの設定に続いて）、各コンピューティング・ユニットの対話機能を、例えば（存在すれば）各コンピューティング・ユニットが永続的な干渉なしに対話できる通信ユニットのグループを決定することにより、評価することができる。データ内のノード（コンピューティング・ユニット）の相互接続に関するトポロジ情報を、これらの対話機能を集約することにより導出することができる。
【００５８】
Ｄ．コンピューティング・ユニット間の例示的な信号処理
任意の種類のメディア・アクセス制御戦略を使用してコンピューティング・ユニット間でデータを転送することができる。例えば、上述のデータ・センタがＴＤＭＡ（ｔｉｍｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ）、ＦＤＭＡ（ｆｒｅｑｕｅｎｃｙ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ）、ＣＤＭＡ（ｃｏｄｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ）、等任意のもの、またはそれらの任意の組合せのうち任意のものを使用することができる。例えば、図１３は、時分割技法および周波数分割技法を組み合わせて、コンピューティング・ユニット間の通信を行うための時間対周波数のスロットの集合を定義する例を示している。保護領域は、周波数次元と時間次元の両方に入るスロットを分離する。これらの保護領域は、スロット間の干渉リスクを削減するための緩衝として動作する。
【００５９】
あるアプローチでは、データ・センタは図１３に示すスロット技法を用いて制御データをコンピューティング・ユニット間で送信する。より具体的には、データ・センタは、コンピューティング・ユニットの各対の間で制御データを転送するためのスロットを割り当てることができる。したがって、第１のコンピューティング・ユニットが近傍の第２のコンピューティング・ユニットと対話したいと仮定すると、第１のコンピューティング・ユニットは適切なスロットが利用可能となるまで待機する（この場合、当該スロットは、専ら第１のコンピューティング・ユニットと第２のコンピューティング・ユニットの間で制御データを転送するものである）。次いで、第１のコンピューティング・ユニットは割り当てられた制御スロットを使用して当該制御データを第２のコンピューティング・ユニットに転送する。第２のコンピューティング・ユニットは当該制御データを読み取ってそれに基づく措置を取る。あるケースでは、第１のコンピューティング・ユニットが、ペイロード・データを第２の制御ユニットに送信する前置きとして、制御データを送信してもよい。第２のコンピューティング・ユニットは、ＡＣＫ信号を（上述のように）提供することによって応答することができる。
【００６０】
データ・センタは任意の技法を用いて実際のペイロード・データを転送することができる。あるアプローチでは、データ・センタは（制御データの場合に対して）上述したのと同じ時間対周波数の多重アプローチを用いてペイロード・データを転送する。第２のアプローチでは、データ・センタはペイロード・データを送信する際に多重化を行わない。即ち、第２のアプローチでは、第１のコンピューティング・ユニットがペイロード・データの送信許可を受信すると、そのデータ・チャネルを用いてそのデータの全てを送信することができる。第１のコンピューティング・ユニットがそのペイロード・データの送信を終えると、第１のコンピューティング・ユニットは別のコンピューティング・ユニットが使用するためにデータ・チャネルを解放することができる。
【００６１】
図１４は、上述した後者のシナリオを示す。このシナリオでは、データ・センタは間欠的な制御ブロック（例えば、ブロック１４０２、１４０４）を用いてコンピューティング・ユニット間の制御データの交換を処理する。各制御ブロックは図１３に示すスロット構造を有する。データ・センタは非多重データ・チャネル１４０６を用いてペイロード・データの交換を処理する。しかし、繰り返すが、図１３および図１４は可能な多数のアクセス制御戦略のうちの１つのメディア・アクセス制御戦略を示すものである。
【００６２】
一般に、データ・センタは、制御信号を処理するための一定量の通信リソースと、ペイロード・データの転送を処理するための一定量の通信リソースとを割り当てることができる。制御関連のリソースとペイロード関連のリソースの具体的な比率を選択する際に、考慮すべき環境固有のトレードオフがある。制御信号を増やすと、コンピューティング・ユニットが制御スロットを取得できる待ち時間が減るが、データ転送を処理するために利用できるリソースの量が減る。設計者は、目標の待ち時間関連の性能と容量関連の性能を与えるための比率を選択することができる。
【００６３】
次に、図１５〜１９はコンピューティング・ユニット間の例示的な信号処理プロトコルを示す。当該例示的なプロトコルは、コンピューティング・ユニットが１つまたは複数の他のコンピューティング・ユニットとの接続を確立して、これらの他のコンピューティング・ユニットとペイロード・データを交換する仕方を記述する。コンピューティング・ユニットによる要求は、データ・センタ内部のコンピューティング・ユニット間の既存の接続と衝突することもあれば衝突しないこともある。したがって、当該例示的なプロトコルは、データ・センタが潜在的な衝突を解決できる（他の可能な方法のうち）１つの方法を記述する。
【００６４】
図１５〜１９はまた、様々な種類の隠れ端末のシナリオを解決する。隠れ端末のシナリオでは、第１のコンピューティング・ユニットおよび第２のコンピューティング・ユニットが、第３のコンピューティング・ユニットと通信することができる。しかし、第１のコンピューティング・ユニットと第２のコンピューティング・ユニットは互いを直接には認識することができない。即ち、第１のコンピューティング・ユニットは第２のコンピューティング・ユニットを認識できず、第２のコンピューティング・ユニットは第１のコンピューティング・ユニットを認識することができない。これは、望ましくない干渉をもたらしうる。なぜならば、第１のコンピューティング・ユニットと第２のコンピューティング・ユニットが、第３のコンピューティング・ユニットに相反する要求を行うからである。これと同じ現象が、より多くの数のコンピューティング・ユニットに関してより大規模に顕在化しうる。
【００６５】
まず初めに、幾つかの信号処理シナリオの説明に用いる用語を説明するための手段として図１５を利用する。この図は、６個の例示的な参加コンピューティング・ユニット、即ち、Ｐ０、Ｐ１、Ｐ２、Ｐ３、Ｐ４、およびＰ５を示す。任意の参加コンピューティング・ユニットＸが任意の参加ユニットＹからデータを受信している場合、ＸはＹにより「支配（ｏｃｃｕｐｉｅｄ）」されているという。任意の参加コンピューティング・ユニットＸがどの参加コンピューティング・ユニットＹからもデータを受信していないが、当該参加コンピューティング・ユニットＹからのデータ信号の影響下にある場合には、参加コンピューティング・ユニットＸは参加コンピューティング・ユニットＹにより「被覆（ｃｏｖｅｒｅｄ）」されているという。図１５の場合、参加コンピューティング・ユニットＰ４は参加コンピューティング・ユニットＰ１により支配されている。参加コンピューティング・ユニットＰ３およびＰ５はそれぞれ参加コンピューティング・ユニットＰ１により被覆されている。コンピューティング・ユニットを単にＰ０〜Ｐ５と称して以降の説明を簡略化する。
【００６６】
図１６は、衝突が発生しない信号処理シナリオを示す。インスタンスＡで、Ｐ０が、Ｐ３への接続要求を運ぶ制御データを送信する。インスタンスＢで、Ｐ３とＰ４の両方がＰ０の要求を承認（acknowledge）する。この時点で、Ｐ３はＰ０により支配されるようになり、Ｐ４はＰ０により被覆されるようになる。インスタンスＣで、Ｐ０は、Ｐ０が切断していることを示す制御データを送信する。Ｐ３とＰ４はこの制御データを受信し、それぞれ、Ｐ０に関して自己の支配状態および被覆状態を解除する。
【００６７】
図１７は、信号が重複するがそれ以外は衝突がない信号処理のシナリオを示す。インスタンスＡの前に、Ｐ０がＰ３との接続を確立し、結果として、Ｐ３がＰ０により支配され、Ｐ４がＰ０により被覆されると仮定する。次に、Ｐ２が、Ｐ５への接続要求を運ぶ制御データを送信する。インスタンスＢで、Ｐ４とＰ５の両方がＰ５への接続を承認する。インスタンスＣで、結果として、Ｐ５がＰ２により支配されるようになり、Ｐ４がＰ０とＰ２の両方により被覆されるようになる。
【００６８】
図１８は、支配型衝突が生ずる信号処理シナリオを示す。インスタンスＡの前に、Ｐ０がＰ４との接続を確立し、結果として、Ｐ４がＰ０により支配され、Ｐ３がＰ０により被覆されると仮定する。次に、Ｐ２が、Ｐ５への接続要求を運ぶ制御データを送信する。インスタンスＢで、Ｐ５が、Ｐ５の要求への接続を承認する。インスタンスＣで、Ｐ４が、Ｐ２が送信した要求を承認する。Ｐ０はこの信号を受信して、この信号が別のコンピューティング・ユニットにより先取りされていると認識する。したがって、Ｐ０は切断メッセージを送信し、当該切断メッセージがＰ３およびＰ４により受信される。インスタンスＤで、結果として、Ｐ３はどの参加コンピューティング・ユニットにも支配も被覆もされず、Ｐ４はＰ２により被覆され、Ｐ５はＰ２により支配される。
【００６９】
図１９は、被覆型の衝突が生じる信号処理シナリオを示す。インスタンスＡの前に、Ｐ０がＰ３との接続を確立し、結果として、Ｐ３がＰ０により支配され、Ｐ４がＰ０により支配されると仮定する。次に、Ｐ２が、Ｐ４への接続要求を運ぶ制御データを送信する。インスタンスＢで、Ｐ５がＰ４の要求への接続を承認する。インスタンスＣで、Ｐ４はまた、Ｐ２が送信した要求を承認する。Ｐ０はこの信号を受信して、この信号が別のコンピューティング・ユニットにより先取りされていると認識する。したがって、Ｐ０は切断メッセージを送信し、当該切断メッセージがＰ３およびＰ４により受信される。インスタンスＤで、結果として、Ｐ３はどの参加コンピューティング・ユニットにも支配も被覆もされず、Ｐ４がＰ２により支配され、Ｐ５がＰ２により被覆される。
【００７０】
Ｅ．例示的なルーティング機能
要約すると、データ・センタが複数のグループ（例えば、ラック）を含み、各ラックが１つずつ複数のコンピューティング・ユニットを含む。１つのケースでは、データ・センタは無線通信を用いて複数のラックを一斉に接続して、例えばグループ間通信を行う。さらに、データ・センタは無線通信を用いてグループ内の個々のコンピューティング・ユニットを一斉に接続し、例えばグループ内通信を行う。
【００７１】
データ・センタは上述の接続を利用して、第１のグループの起点のコンピューティング・ユニットから第２のグループの宛先のコンピューティング・ユニットへ、複数のセグメントまたはホップを含む通信経路を介してデータを転送することができる。１つまたは複数のセグメントが特定のグループに存在してもよく、１つまたは複数の他のセグメントが２つの異なるグループ間に存在してもよい。さらに、当該経路が１つまたは複数の中間グループを通過してもよい。
【００７２】
例えば、図２０の例を参照すると、グループＡのコンピューティング・ユニットがデータをグループＢの第１のコンピューティング・ユニットに送信する。グループＢの第１のコンピューティング・ユニットはデータをグループＢの第２のコンピューティング・ユニットに送信し、今度は当該第２のコンピューティング・ユニットが当該データをグループＢの第３のコンピューティング・ユニットに送信する。グループＢの第３のコンピューティング・ユニットは、次いで当該データを他の何らかのグループの他の何らかのコンピューティング・ユニットに送信する、等である。
【００７３】
個々のコンピューティング・ユニットのスイッチング・リソースが集合的にデータ・センタ内部のスイッチング・ファブリックを形成する。当該スイッチング・ファブリックは、上述の種類の転送を実現するためのルーティング機能を含む。図２１は、この概念を高レベルで示す。即ち、図２１は、複数のグループのコンピューティング・ユニットを含むデータ・センタ２１０２を示す。各コンピューティング・ユニットのスイッチング・リソースは集合的にスイッチング・ファブリック２１０４を提供する。
【００７４】
一般に、スイッチング・ファブリック２１０４は、データ・センタ内部の可能な接続を表すグラフを形成することができる。グラフ内に分散したノードはコンピューティング・ユニットを表し、枝はコンピューティング・ユニット間の接続を表す。スイッチング・ファブリック２１０４はこのグラフを、どの冗長な通信接続が各コンピューティング・ユニットにより確立されうるかを判定することで生成することができる。より具体的には、スイッチング・ファブリック２１０４は、グループ内ルーティングを行う接続とグループ間ルーティングを行う接続とを区別することができる。さらに、スイッチング・ファブリック２１０４はまた、（永続的な干渉に関連付けられるため）回避すべき単方向接続を特定することができる。
【００７５】
スイッチング・ファブリック２１０４はこのグラフを分散的に生成することができ（この場合、各ノードがスイッチング・ファブリック２１０４内の他のノードに関する接続情報を収集する）、かつ／または、集中的に生成することができる（この場合、１つまたは複数のエージェントがスイッチング・ファブリック２１０４内の接続を監視する）。１つのケースでは、各ノードはその隣接ノードを認識することができる。別のケースでは、各ノードはスイッチング・ファブリック２１０４内部の接続全てを認識することができる。より具体的には、各ノードは、例えば任意のアルゴリズムまたはそれらの組合せ（例えば、距離ベクトル型プロトコルまたは経路ベクトル型プロトコルのアルゴリズム、リンク状態ベクトル・アルゴリズム、等）を用いて、接続情報を伝達するルーティング・テーブルを保持することができる。
【００７６】
スイッチング・ファブリック２１０４は、任意の種類の一般的なルーティング戦略またはルーティング戦略の任意の組合せを用いてルーティングを実装することができる。一般に、例えば、スイッチング・ファブリック２１０４は、ユニキャスト、ブロードキャスト、マルチキャスト、エニーキャスト、等といったルーティング戦略のうち任意の１つまたは複数を利用することができる。ユニキャストでは、第１のコンピューティング・ユニットがデータを第２のコンピューティング・ユニットのみに送信し、ブロードキャストでは、コンピューティング・ユニットがデータをデータ・センタ内の他の全てのコンピューティング・ユニットに送信し、マルチキャストでは、コンピューティング・ユニットがデータをコンピューティング・ユニットのサブセットに送信し、エニーキャストでは、コンピューティング・ユニットが、１組のコンピューティング・ユニットから（例えば、ランダム選択を考慮して、等により）選択した任意のコンピューティング・ユニットにデータを送信する。
【００７７】
より具体的には、スイッチング・ファブリック２１０４は、データ・センタ２１０２内部でメッセージをルーティングする際に静的な評価または動的な評価の任意の組合せを使用することができる。スイッチング・ファブリック２１０４は、経路の選択において任意のメトリックまたはメトリックの組合せを使用することができる。さらに、スイッチング・ファブリック２１０４は、限定するものではないが、メッセージをルーティングする際に任意のアルゴリズムまたはアルゴリズムの組合せを使用することができる。当該アルゴリズムには、（例えば、ダイクストラ・アルゴリズムに基づく）最短経路評価、ヒューリスティクス評価、ポリシ・ベース評価、ファジー・ロジック評価、階層ルーティング評価、地理的ルーティング評価、動的学習評価、サービス品質評価、等に基づくアルゴリズムが含まれる。例えば、図２０に示すシナリオでは、スイッチング・ファブリック２１０４は、ランダム経路選択と最短経路分析の組合せを用いてスイッチング・ファブリック２１０４を通じてデータをルーティングすることができる。
【００７８】
さらに、スイッチング・ファブリック２１０４は任意数の以下の機能を採用してルーティングを容易にすることができる。
【００７９】
カットスルー・スイッチング
スイッチング・ファブリック２１０４はカットスルー・スイッチングを採用することができる。このアプローチでは、スイッチング・ファブリック２１０４内部の任意の参加者（例えば、ノード）が、完全なメッセージを受信する前にメッセージを送信し始める。
【００８０】
デッドロックおよびライブロックの回避（または軽減）
スイッチング・ファブリック２１０４は様々な機構を用いてデッドロックおよびライブロックの発生を軽減または排除することができる。これらの状況では、メッセージが無限ループに入ったために、または、メッセージがスイッチング・ファブリック２１０４の何らかの種類の非効率性に遭遇したために、メッセージがハングアップしてしまう。スイッチング・ファブリック２１０４はこの状況を、（メッセージ送信に対して最大時間を設定する）任意の種類のタイムアウト機構、および／または、（メッセージが起点ノードから宛先ノードへ進む際に取りうる最大ホップ数を設定する）ホップ制限機構、等を用いることにより解決することができる。かかるタイムアウトまたはホップ制限に遭遇すると、スイッチング・ファブリック２１０４はメッセージを再送することができる。
【００８１】
図２２は、デッドロック等のリスクを軽減するために採用できる別の機構を示す。このケースでは、データ・センタは、通信要素の第１のサブセットを第１の方向の通信の処理に割り当て、通信要素の第２のサブセットを第２の方向の通信の処理に割り当てる。例えば、図２２は円柱グループの内面２２０２の一部を示す。（通信要素２２０４のような）通信要素の第１のサブセットを上方向のデータ転送に割り当て、（通信要素２２０６のような）通信要素の第２のサブセットを下方向のデータ転送に割り当てる。データ・センタは、例えば任意の種類の正規パターン（例えば、格子模様パターン、等）に基づいて様々な役割を有する要素を交互配置することによって、様々な通信要素に任意に役割を割り当てることができる。または、データ・センタは、ランダム割当技法、等を用いて様々な通信要素に役割を割り当てることができる。特定の方向に進む際に、スイッチング・ファブリック２１０４は、各ステップで、（例えば、ノード間のランダム選択によって）適切なルーティング方向を有するノードから選択することができる。一般に、この機構により、メッセージを起点ノードから宛先ノードに送信する際に無限ループが確立される可能性が減る。
【００８２】
フェールセーフ機構
データ・センタ２１０２の無線アーキテクチャは障害の処理に適切である。第１の種類の障害は、グループ内部の１つまたは複数の個々のコンピューティング・ユニット内部で生じうる。第２の種類の障害は、データ・センタ２１０２内部のグループ全体（例えば、ラック）に影響を及ぼしうる。障害とは、機能を完全に動作不能とする任意の状態、または、機能の性能を準最適とする任意の状態を表すことができる。スイッチング・ファブリック２１０４は、メッセージを故障しているコンポーネントの「周囲」でルーティングすることによりこれらの状況を解決することができる。例えば、図２３では、グループ２３０２とグループ２３０４がデータ・センタ内部で故障していると仮定する。この障害がなければ、スイッチング・ファブリック２１０４はメッセージを、Ａ、Ｂ、およびＣで定義される経路に沿ってメッセージをルーティングしたかもしれない。この障害が発生すると、スイッチング・ファブリック２１０４はメッセージを、（Ｖ、Ｗ、Ｘ、Ｙ、およびＺで定義される経路のような）より遠回りの経路に沿ってルーティングすることにより、故障したグループ（２３０２、２３０４）を回避することができる。任意のルーティング・プロトコルを用いてこのフェールセーフの振舞いを実現することができる。
【００８３】
まとめとして、本明細書では様々な概念を例示的な課題または問題のコンテキストで説明した。この説明の仕方は、他者が本明細書の記載のように課題または問題を理解しかつ／または明確に認識したと認めるものではない。
【００８４】
さらに、本発明を構造的特徴および／または方法論的動作に固有な言葉で説明したが、添付の特許請求の範囲で定義した本発明は必ずしも上述の具体的な特徴または動作に限定されないことは理解されよう。寧ろ、上述の具体的な特徴および動作は特許請求の範囲を実装する例示的な形態として開示されている。
【図１】
2013524685.tif 000003
【図２】
2013524685.tif 000004
【図３】
2013524685.tif 000005
【図４】
2013524685.tif 000006
【図５】
2013524685.tif 000007
【図６】
2013524685.tif 000008
【図７】
2013524685.tif 000009
【図８】
2013524685.tif 000010
【図９】
2013524685.tif 000011
【図１０】
2013524685.tif 000012
【図１１】
2013524685.tif 000013
【図１２】
2013524685.tif 000014
【図１３】
2013524685.tif 000015
【図１４】
2013524685.tif 000016
【図１５】
2013524685.tif 000017
【図１６】
2013524685.tif 000018
【図１７】
2013524685.tif 000019
【図１８】
2013524685.tif 000020
【図１９】
2013524685.tif 000021
【図２０】
2013524685.tif 000022
【図２１】
2013524685.tif 000023
【図２２】
2013524685.tif 000024
【図２３】
2013524685.tif 000025
【国際調査報告】
2013524685.tif 000026
2013524685.tif 000027