(57)【要約】      （修正有）【課題】コンピュータネットワークにおける帯域幅を増大するためのシステムおよび方法を提供する。【解決手段】コンピュータネットワーク１００は、第１のポートと第２のポートとを有する第１の下位スイッチを含む。コンピュータネットワークは、第１のポートと第２のポートとを有する第２の下位スイッチを含み得る。コンピュータネットワークは、第１および第２の下位スイッチのポートにそれぞれ直接結合されたポートを有する上位スイッチを含む。上位スイッチの第３のポートは受動光スプリッタ１１５の第１のポートに結合する。受動光スプリッタは第１および第２の下位スイッチのそれぞれのポートに結合された第２および第３のポートを有する。受動光スプリッタは、自身の第１のポートで受信した信号を自身の第２および第３のポート双方で出力信号として送信する。【選択図】図１
2018170784.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワークであって、
第１のポートと第２のポートとを有する第１の下位スイッチと、
第１のポートと第２のポートとを有する第２の下位スイッチと、
前記第１の下位スイッチの第１のポートに直接結合された第１のポートと、前記第２の下位スイッチの第１のポートに直接結合された第２のポートとを有する上位スイッチと、
前記上位スイッチの第３のポートに結合された第１のポートと、前記第１の下位スイッチの第２のポートに結合された第２のポートと、前記第２の下位スイッチの第２のポートに結合された第３のポートとを有する第１の受動光スプリッタとを備え、前記第１の受動光スプリッタは、自身の第１のポートで受信した信号を自身の第２のポートおよび第３のポート双方で出力信号として送信するように構成され、
前記第１の下位スイッチと、前記第２の下位スイッチと、前記上位スイッチとに結合されたコントローラを備え、前記コントローラは、前記第１の下位スイッチ、前記第２の下位スイッチ、および前記上位スイッチによるデータの送信を制御するように構成され、前記コントローラはさらに、前記第１の下位スイッチおよび前記第２の下位スイッチの相対的な帯域幅需要に基づいて前記第１の下位スイッチおよび前記第２の下位スイッチにそれぞれの送信時間スロットを交互に割当てることによって、データパケットを前記第１の受動光スプリッタを通して前記上位スイッチに送信するように、前記第１の下位スイッチおよび前記第２の下位スイッチを制御するように構成されている、コンピュータネットワーク。
【請求項２】
前記コントローラはさらに、
前記上位スイッチによって送信されるデータパケットが前記第１の下位スイッチによって受信されることが意図されていると判断するように構成され、
前記データパケットを前記第１の受動光スプリッタに送信するように前記上位スイッチを制御するように構成され、かつ
前記データパケットが前記第１の受動光スプリッタを通して送信されている期間中は、前記第１の受動光スプリッタから受信されるネットワークデータを無視するように前記第２の下位スイッチを制御するように構成されている、請求項１に記載のコンピュータネットワーク。
【請求項３】
前記コントローラはさらに、
前記第１の下位スイッチによって受信されることが意図されているデータパケットを第１の波長で前記第１の受動光スプリッタに送信するように前記上位スイッチを制御するように構成され、かつ、
前記第２の下位スイッチによって受信されることが意図されているデータパケットを前記第１の波長と異なる第２の波長で前記第１の受動光スプリッタに送信するように前記上位スイッチを制御するように構成されている、請求項１に記載のコンピュータネットワーク。
【請求項４】
前記コントローラはさらに、
前記第１の下位スイッチによって受信されることが意図されているデータパケットを、第１の変調フォーマットを用いて前記第１の受動光スプリッタに送信するように前記上位スイッチを制御するように構成され、
前記第２の下位スイッチによって受信されることが意図されているデータパケットを、前記第１の変調フォーマットと異なる第２の変調フォーマットを用いて前記第１の受動光スプリッタに送信するように前記上位スイッチを制御するように構成され、
前記第１の変調フォーマットを用いて前記第１の受動光スプリッタからデータパケットを受信するように前記第１の下位スイッチを制御するように構成され、かつ
前記第２の変調フォーマットを用いて前記第１の受動光スプリッタからデータパケットを受信するように前記第２の下位スイッチを制御するように構成されている、請求項１に記載のコンピュータネットワーク。
【請求項５】
前記上位スイッチの第１のポートは、マルチモード光ファイバケーブルを介して前記第１の下位スイッチの第１のポートに結合されている、請求項１に記載のコンピュータネットワーク。
【請求項６】
前記上位スイッチの第３のポートは、シングルモード光ファイバケーブルを介して前記第１の受動光スプリッタに結合されている、請求項１に記載のコンピュータネットワーク。
【請求項７】
前記第１の下位スイッチおよび前記第２の下位スイッチは、データセンターにおけるトップ・オブ・ラックスイッチである、請求項１に記載のコンピュータネットワーク。
【請求項８】
第２の受動光スプリッタをさらに備え、
前記第１の受動光スプリッタの第２のポートは、前記第２の受動光スプリッタを通して前記第１の下位スイッチの第２のポートに結合されている、請求項１に記載のコンピュータネットワーク。
【請求項９】
前記第１の受動光スプリッタの第４のポートに結合された第１のポートを有する第２の上位スイッチをさらに備える、請求項８に記載のコンピュータネットワーク。
【請求項１０】
前記第２の受動光スプリッタに結合されたミラーをさらに備え、前記ミラーは、前記第２の受動光スプリッタから受信した光信号を、前記第２の受動光スプリッタおよび前記第１の受動光スプリッタを通して前記第２の上位スイッチに反射するように構成されている、請求項９に記載のコンピュータネットワーク。
【請求項１１】
コンピュータネットワークにおいてデータを送信する方法であって、前記方法は、
第１の下位スイッチおよび第２の下位スイッチの相対的な帯域幅需要を求めるステップと、
前記求めた相対的な帯域幅需要に基づいて前記第１の下位スイッチおよび前記第２の下位スイッチにそれぞれの送信時間スロットを割当てるステップと、
上位スイッチにより、第１のデータパケットを、直接通信リンクによって前記第１の下位スイッチに送信するステップと、
前記上位スイッチにより、前記第１の下位スイッチに割当てられた時間スロットの間に、第２のデータパケットを、前記上位スイッチ、前記第１の下位スイッチ、および前記第２の下位スイッチに結合された第１の光スプリッタを通して、共有通信リンクによって前記第１の下位スイッチに送信するステップと、
前記上位スイッチにより、前記第２の下位スイッチに割当てられた時間スロットの間に、第３のデータパケットを、前記第１の光スプリッタを通して前記第２の下位スイッチに送信するステップとを含む、方法。
【請求項１２】
前記上位スイッチにより、第４のデータパケットを、前記第１の光スプリッタおよび前記第１の下位スイッチに結合された第２の光スプリッタを通して前記第１の下位スイッチに送信するステップをさらに含む、請求項１に記載の方法。
【請求項１３】
１つ以上のプロセッサによって実行されたときに前記プロセッサに以下のステップを含む方法を実行させる命令が符号化されたものを有するコンピュータ読取可能な媒体であって、前記ステップは、
第１の下位スイッチおよび第２の下位スイッチの相対的な帯域幅需要を求めるステップと、
前記求めた相対的な帯域幅需要に基づいて前記第１の下位スイッチおよび前記第２の下位スイッチにそれぞれの送信時間スロットを割当てるステップと、
上位スイッチにより、第１のデータパケットを、直接通信リンクによって前記第１の下位スイッチに送信するステップと、
前記上位スイッチにより、前記第１の下位スイッチに割当てられた時間スロットの間に、第２のデータパケットを、前記上位スイッチに結合された光スプリッタを通して、共有通信リンクによって前記第１の下位スイッチに送信するステップと、
前記上位スイッチにより、前記第２の下位スイッチに割当てられた時間スロットの間に、第３のデータパケットを、前記光スプリッタを通して前記第２の下位スイッチに送信するステップとを含む、コンピュータ読取可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本特許出願は、２０１４年１月３１日に出願され、本願の譲受人に譲渡され、特に本明細書に引用により援用する、「SYSTEMS AND METHOD FOR INCREASING BANDWIDTH IN A COMPUTER NETWORK（コンピュータネットワークにおける帯域幅を増大するためのシステムお
よび方法）」と題された米国実用特許出願第１４／１６９，７３４号に基づく優先権を主張する。
【背景技術】
【０００２】
背景
クラウドコンピューティングに基づくサービスは、多数の個別のコンピュータで構成されたデータセンターネットワーク上で実装されて実行される。典型的には、データセンター内の各コンピュータにできるだけ大きい帯域幅を与えるのが望ましい。しかしながら、データセンター内の各コンピュータを他の各コンピュータに物理的に接続することは、法外に費用がかかりかつ複雑である可能性がある。さらに、データセンター内の帯域幅需要は、時間の関数として大幅に変動する可能性がある。このため、物理的な接続の数のみを増大しても、データセンター内の帯域幅を効率的に増大することにはならない場合がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
発明の概要
本開示の局面および実装例は、コンピュータネットワークにおける帯域幅を増大するためのシステムおよび方法に関する。
【０００４】
少なくとも１つの局面は、コンピュータネットワークに関する。コンピュータネットワークは、第１のポートと第２のポートとを有する第１の下位スイッチを含む。コンピュータネットワークは、第１のポートと第２のポートとを有する第２の下位スイッチを含む。コンピュータネットワークは、第１の下位スイッチの第１のポートに直接結合された第１のポートと、第２の下位スイッチの第１のポートに直接結合された第２のポートとを有する上位スイッチを含む。コンピュータネットワークはまた、上位スイッチの第３のポートに結合された第１のポートと、第１の下位スイッチの第２のポートに結合された第２のポートと、第２の下位スイッチの第２のポートに結合された第３のポートとを有する受動光スプリッタを含む。受動光スプリッタは、自身の第１のポートで受信した信号を自身の第２のポートおよび第３のポート双方で出力信号として送信するように構成されている。コンピュータネットワークはまた、第１の下位スイッチと、第２の下位スイッチと、上位スイッチとに結合されたコントローラを含む。コントローラは、第１の下位スイッチ、第２の下位スイッチ、および第３の下位スイッチによるデータの送信を制御するように構成されている。
【０００５】
少なくとも１つの局面は、コンピュータネットワークにおいてデータを送信する方法に関する。この方法は、上位スイッチにより、第１のデータパケットを、直接通信リンクによって第１の下位スイッチに送信するステップを含む。この方法は、上位スイッチにより、第２のデータパケットを、上位スイッチ、第１の下位スイッチ、および第２の下位スイッチに結合された光スプリッタを通して、共有通信リンクによって第１の下位スイッチに送信するステップを含む。この方法は、上位スイッチにより、第３のデータパケットを、
光スプリッタを通して第２の下位スイッチに送信するステップを含む。
【０００６】
少なくとも１つの局面は、コンピュータ読取可能な媒体に関する。コンピュータ読取可能な媒体は、１つ以上のプロセッサによって実行されたときにこのプロセッサに方法を実行させる命令で符号化されている。この方法は、上位スイッチにより、第１のデータパケットを、直接通信リンクによって第１の下位スイッチに送信するステップを含む。この方法は、上位スイッチにより、第２のデータパケットを、上位スイッチ、第１の下位スイッチ、および第２の下位スイッチに結合された光スプリッタを通して、共有通信リンクによって第１の下位スイッチに送信するステップを含む。この方法は、上位スイッチにより、第３のデータパケットを、光スプリッタを通して第２の下位スイッチに送信するステップを含む。
【０００７】
上記およびその他の局面および実施形態を以下で詳細に説明する。上記情報および下記詳細な説明は、さまざまな局面および実施形態を説明するための例を含み、クレームされている局面および実施形態の本質と特徴を理解するための概要または枠組を提供する。図面は、上記さまざまな局面および実施形態を図解しそのさらに深い理解をもたらし、本明細書に組込まれてその一部を構成する。
【０００８】
添付の図面は、一律の縮尺で示すことを意図したものではない。さまざまな図面において同様の参照番号および名称は同様の構成要素を示している。明確にするために、すべての図面のすべての構成要素に名称が付けられている訳ではない。
【図面の簡単な説明】
【０００９】
【図１】光スプリッタに基づく代表的なコンピュータネットワークである。
【図２Ａ】説明のための実装例に従う、図１に示されるコントローラのブロック図である。
【図２Ｂ】説明のための実装例に従う、図１に示される上位スイッチのブロック図である。
【図３】コンピュータネットワークにおいてデータを送信するプロセスのフロー図である。
【図４】共有通信リンクが下位スイッチに対して均等に分配されている代表的なコンピュータネットワークである。
【図５】共有通信リンクが３つ以上の下位スイッチに分配されている代表的なコンピュータネットワークである。
【図６Ａ】受動光スプリッタを含む代表的なコンピュータネットワークである。
【図６Ｂ】４つの受動光スプリッタを含む代表的なコンピュータネットワークである。
【図７】４つの受動光スプリッタを含む第２の代表的なコンピュータネットワークである。
【発明を実施するための形態】
【００１０】
説明のための特定の実装例の説明
以下において、コンピュータネットワークにおける帯域幅を増大するためのシステムおよび方法に関連するさまざまな概念と、このシステムおよび方法の実装例を、より詳しく説明する。先に紹介し以下でより詳しく述べる上記さまざまな概念は、実装の具体的ないずれの態様にも限定されないので、数多くの方法のうちのどの方法でも実装し得る。具体的な実装およびアプリケーションの例を、主に説明のために提供する。
【００１１】
図１は、光スプリッタに基づく代表的なコンピュータネットワーク１００である。ネットワーク１００は、上位スイッチ１０５と、２つの下位スイッチ１１０ａおよび１１０ｂ
（包括的に下位スイッチ１１０と呼ぶ）と、受動（パッシブ型）光スプリッタ１１５と、コントローラ１２０とを含む。上位スイッチ１０５、下位スイッチ１１０、光スプリッタ１１５、およびコントローラ１２０を結ぶ線は、ネットワーク１００内の通信リンクを表わす。上位スイッチ１０５は、各々が対応する下位スイッチ１１０に結合されている２つの直接通信リンクを含む。上位スイッチ１０５からの第３の通信リンクは、光スプリッタ１１５に結合している。光スプリッタ１１５も、各下位スイッチ１１０に結合されている。
【００１２】
直接通信リンクのうちの一方は、第１の下位スイッチ１１０ａのポート１１１を上位スイッチ１０５のポート１０６に結合する。もう一方の直接通信リンクは、第２の下位スイッチのポート１１４を上位スイッチのポート１０８に結合する。共有通信リンクが上位スイッチのポート１０７を光スプリッタ１１５に結合する。上位スイッチ１０５のポート１０７から送信された信号は、光スプリッタ１１５によって分割され、第１の下位スイッチ１１０ａに（ポート１１２を介して）送信されるとともに第２の下位スイッチ１１０ｂに（ポート１１３を介して）送信される。
【００１３】
いくつかの実装例において、上位スイッチ１０５から下位スイッチ１１０までの直接通信リンクは、マルチモード光ファイバケーブルによって形成されており、上位スイッチ１０５から光スプリッタ１１５までの通信リンクと光スプリッタ１１５から下位スイッチ１１０までの通信リンクは、シングルモード光ファイバケーブルによって形成されている。マルチモード光ファイバケーブルは、シングルモード光ファイバケーブルよりも低価格である場合がある。マルチモード光ファイバケーブルの光学特性は、直接通信リンクで使用するのに適しているので、マルチモード光ファイバケーブルを用いて直接通信リンクを形成すると、ネットワーク１００の総コストを下げることができる。シングルモード光ファイバケーブルは、マルチモード光ファイバケーブルと比較して、光スプリッタ１１５等の受動光スプリッタによって分割された光信号をより確実に送信できる。
【００１４】
光スプリッタ１１５によって、ネットワーク１００内の帯域幅を、変化する帯域幅需要に応じて割当て直すことができる。たとえば、光スプリッタ１１５は上位スイッチ１０５からの光信号を受信できる。その場合、光スプリッタ１１５は受信した信号を下位スイッチ１１０双方に受動的に出力することができる。したがって、共有リンクから光スプリッタ１１５を通して与えられた帯域幅は、第１の下位スイッチ１１０ａまたは第２の下位スイッチ１１０ｂいずれかに割当てることができる。いくつかの実装例において、コントローラ１２０は、共有リンクの帯域幅のうちのより大きな割合を、帯域幅需要がより大きい下位スイッチ１１０に割当てることができる。共有リンクは、たとえば下位スイッチ１１０と上位スイッチ１０５との通信に対して時間領域多重化技術を用いることにより、下位スイッチ１００双方が使用できるようになる。
【００１５】
いくつかの実装例では、１×２光スプリッタ１１５を、２×２受動光スプリッタを用いて実現することができる。２×２受動光スプリッタは、多くの光通信ネットワークで見られる、一般的に使用されている装置であり、いくつかの製造会社から容易に入手できる。これは、２つの上側ポートと２つの下側ポートとを含む。上側ポートのうちのいずれかで受信された信号は下側ポート双方に送られ、下側ポートのうちのいずれかで受信された信号は上側ポート双方に送られる。１×２光スプリッタ１１５を実現するには、２×２光スプリッタの使用されていない上側ポートを切断状態のままにしておけばよい。いくつかの実装例では、図６Ａ、図６Ｂおよび図７に関連して以下でさらに説明するように、２×２光スプリッタを用いて任意の数の入力と出力を有する１つの光スプリッタを実現できる。
【００１６】
いくつかの実装例において、ネットワーク１００はデータセンターを表わす。図１のネットワーク１００は、本開示のために大幅に簡略化されている。データセンターは、スイ
ッチを通して階層状に相互接続されたいくつかの計算装置を含み得る。たとえば、上位スイッチ１０５または下位スイッチ１１０は、一群の、サーバ等の計算装置に各々が接続されたトップ・オブ・ラック（top-of-rack）（ＴＯＲ）スイッチを表わし得る。いくつか
の実装例では、データセンターは何百または何千ものサーバを含む。下位のスイッチ１１０を、上位スイッチ１０５等の上位スイッチを通して互いに接続することができる。この上位スイッチは、下位スイッチ１１０間のまたは下位スイッチとネットワーク１００の外部に位置する計算装置との間のデータ通信をルーティングする。
【００１７】
先に示したように、ネットワークは、下位スイッチ１１０ａおよび１１０ｂに加えて多数の下位スイッチを含み得る。各下位スイッチは多数のサーバに結合し得る。いくつかの実装例において、各サーバは、データバスを介して互いに結合された、少なくとも１つのプロセッサと、メモリと、ネットワークインターフェイスカード（ＮＩＣ）とを含み得る。プロセッサは、メモリに格納されているコンピュータで実行可能な命令を実行することにより、多様な動作を実現できる。たとえば、各サーバのプロセッサは、ネットワーク１００によってホストされているクラウドコンピューティングサービスに関連する動作、または、ネットワーク１００内のデータ記憶またはアクセスに関連する動作を実現できる。
【００１８】
この２つの下位スイッチ１１０の相対的な帯域幅需要は、時間の関数として大幅に変動し得る。たとえば、ある期間中において、多数のユーザが、第１の下位スイッチ１１０ａに結合されたサーバ上でホストされているファイルまたはアプリケーションへのアクセスを要求する一方で、第２の下位スイッチ１１０ｂに結合されたサーバに対するアクセス要求が相対的に少なく、結果として、第１の下位スイッチ１１０ａへのおよび第１の下位スイッチ１１０ａからのトラフィック量が、第２の下位スイッチ１１０ｂのネットワークトラフィック量よりも多くなる場合がある。他の期間中では、これらの相対的な帯域幅需要が逆になる、または、下位スイッチ１１０双方の帯域幅需要が実質的に等しくなる場合がある。光スプリッタ１１５を経由する共有リンクは、さまざまな期間中に特定の下位スイッチに対する帯域幅の増大を実現するときの柔軟性を提供し、静的構成においてすべてのスイッチに対する全帯域幅を実現するのに必要な物理的機器をインストールするよりも、価格および複雑度が低い。上位スイッチ１０５から下位スイッチ１１０への直接リンクはまた、これらが故障しないと想定して、各下位スイッチ１１０に対して最小の帯域幅を保証する。いくつかの実装例において、直接および／または共有リンクに、直接および／または共有リンクを追加することにより、固定帯域幅と動的帯域幅の比率を変化させてもよい。
【００１９】
上位スイッチ１０５から光スプリッタ１１５への通信は、光スプリッタ１１５を通して下位スイッチ１１０ａおよび１１０ｂ双方に送信される。結果として、このリンクに沿って上位スイッチ１０５から送信されるデータパケットは、いずれの下位スイッチ１１０が意図された受信者であるかにかかわらず、下位スイッチ１１０双方によって受信される。共有リンクに沿って送信されるデータパケットが、正しい下位スイッチ１１０によって受信され、受信者として意図されていないスイッチによって適切に無視されることを保証するための技術がいくつかある。
【００２０】
いくつかの実装例において、上位スイッチ１０５から光スプリッタ１１５に送信されるデータパケットは、宛先スイッチの表示を含むヘッダ情報を含み得る。各下位スイッチ１１０には固有識別子を割当てることができる。たとえば、この識別子は、下位スイッチ１１０に接続されたサーバに対応付けられた、または下位スイッチ１１０そのものに対応付けられた、ＭＡＣアドレス等のハードウェアアドレスまたはＩＰアドレスであってもよい。あるデータパケットの宛先の固有識別子に対応する情報は、データパケットが上位スイッチ１０５から光スプリッタ１１５に送信されるときにこのデータパケットのヘッダに含めることができる。このパケットが下位スイッチ１１０に送信されるとき、各下位スイッ
チ１１０は、自身が接続されているサーバの識別子を、パケットのヘッダに含まれている識別子と比較する。一致している場合は下位スイッチ１１０が意図された受信者であることを示しているので、下位スイッチ１１０は、たとえばデータパケットを適切なサーバに転送することにより、このデータパケットを適切に処理できる。そうでなければ、下位スイッチ１１０はこのデータパケットを破棄すればよい。
【００２１】
他の実装例では、異なる変調フォーマットを用いてパケットを上位スイッチ１０５から下位スイッチ１１０にスプリッタ１１５を経由して送信することができる。たとえば、第１の下位スイッチ１１０ａを、第１の変調フォーマットに従って送信されるパケットのみを受信するように構成してもよい。第２の下位スイッチ１１０ｂを、第２の変調フォーマットで送信されるパケットを受信するように構成してもよい。上位スイッチ１０５は、第１の下位スイッチ１１０ａを宛先とする第１の変調フォーマットのデータパケットを送信することができ、かつ、下位スイッチ１１０ｂを宛先とする第２の変調フォーマットのデータパケットを送信することができる。各下位スイッチ１１０がデータを受信するとき、スイッチ１１０は、検査を実行して、入来するパケットが指定された変調フォーマットに従ってフォーマットされているか否か判断し、指定されたフォーマットのパケットのみを処理することができる。異なるフォーマットのパケットは無視することができる。
【００２２】
上記技術は各々、受信した各パケットに対するある程度のスイッチパケット処理を伴う。他の実装例では、このようなパケット処理を避けることができる。たとえば、いくつかの実装例において、光スプリッタ１１５を経由する共有リンクの帯域幅を、時分割多重化（ＴＤＭ）、波長分割多重化（ＷＤＭ）、符号分割多重化（ＣＤＭ）、またはその他いずれかの多重化技術といった多重化技術に従って割当てることができる。たとえば、ＴＤＭ方式を用いて共有リンクの帯域幅を割当てることができる。下位スイッチ１１０それぞれにパケットを送信するために別々の時間スロットを割当てることができる。上位スイッチ１０５から下位スイッチ１１０各々にパケットを送信するために割当てられる時間スロットの数、期間、および時間的な位置を決定するようにコントローラ１２０を構成することができる。コントローラ１２０はまた、上位スイッチ１０５および下位スイッチ１１０と通信してこれらのスイッチを同期させることにより、これらのスイッチを時分割方式に準拠させることができる。データセンターという状況でスイッチ間の距離が比較的短ければ、このような同期を容易に高精度で取ることができる。光スプリッタ１１５を経由する上位スイッチ１０５から第１の下位スイッチ１１０ａへの送信のために確保された時間スロット中、コントローラ１２０は、第２の下位スイッチ１１０ｂを、共有リンクを通して光スプリッタ１１５から送信されるデータパケットを無視するように制御することができる。たとえば、コントローラ１２０は、第２の下位スイッチ１１０ｂのトランシーバを、第１の下位スイッチ１１０ａとの通信用に確保された時間スロット中は「オフする」ように制御することができる。この技術によって消費電力を削減できる。なぜなら、第２の下位スイッチ１１０ｂは、第１の下位スイッチ１１０ａとの通信用に確保された時間スロット中に送信されるパケットを処理することによって計算パワーを無駄にすることがないからである。同様に、光スプリッタ１１５を経由する上位スイッチ１０５から第２の下位スイッチ１１０ｂへの送信用に確保された時間スロット中、コントローラ１２０は、第１の下位スイッチ１１０ａを「オフする」ように制御することにより、この期間中は光スプリッタ１１５を経由して送信されるパケットを第１の下位スイッチ１１０ａが受信または処理しないようにすることができる。なお、各下位スイッチ１１０は引続き、時分割方式とは関係なく、その直接通信リンクを経由したデータを受信してもよい。なぜなら、直接通信リンクを介して受信されるデータパケットの宛先は明白であるからである。
【００２３】
各時間スロットの絶対および相対期間を、変化する帯域幅需要に応じて変化させてもよい。たとえば、第１の下位スイッチ１１０ａの帯域幅需要が第２の下位スイッチ１１０ｂよりも大きい期間中は、光スプリッタ１１５を経由して第１の下位スイッチ１１０ａにパ
ケットを送信するために割当てられる時間スロットを、第２の下位スイッチ１１０ｂにデータを送信するために確保される時間スロットよりも実質的に長い期間にしてもよい。これに代えて、すべての時間スロットを実質的に等しい期間にし、より多くの数の時間スロットに、第１の下位スイッチ１１０ａとの通信を割当てて、利用できる帯域幅を増大することができる。ネットワーク１００内の帯域幅需要が変化すると、コントローラ１２０は、下位スイッチ１１０各々にデータを送信するために確保される時間スロットの相対期間または数を調整することによって、この変化に応じることができる。
【００２４】
いくつかの実装例では、共有リンクの帯域幅を、ＷＤＭ方式に従って割当てることができる。各下位スイッチに、共有リンクを介してデータパケットを受信するために固有範囲の波長を割当てることができる。上位スイッチ１０５は、さまざまな波長を用いてデータパケットを送信するように構成することができ、意図された宛先に応じて各データパケットに使用する波長を選択できる。たとえば、いくつかの実装例において、各下位スイッチ１１０は、他の各下位スイッチ１１０が受信する波長と異なる特定の波長の光信号を受信するように構成された光受信機を含む。したがって、第１の下位スイッチ１１０ａに送信されたデータを、下位スイッチ１１０ｂが受信することはできない。他の実装例において、下位スイッチ１１０双方に対応付けられた光受信機が受信できる波長が幾分重なっていてもよい。これらの実装例において、各下位スイッチに、固有の波長または一組の波長を割当てることができ、各下位スイッチを、コントローラ１２０によって、割当てられた波長範囲内で送信されていないデータを無視するように制御することができる。
【００２５】
このように、ＷＤＭを用いることによって、光スプリッタ１１５を経由する直接通信リンクを論理的に生成してもよい。たとえば、光の複数の波長を光スプリッタ１１５を通して送信してもよい。各波長は独立した通信リンクを表わし得る。上位スイッチ１０５から下位スイッチ１１０ａへのある直接通信リンクを、上位スイッチ１０５と下位スイッチ１１０ａとの間の直接通信リンクを論理的に表わす、光スプリッタ１１５を通してポート１１２に物理的に送信される単一波長チャネルで構成することができる。別の直接通信リンクも、上位スイッチ１０５と下位スイッチ１１０ｂとの間の直接通信リンクを論理的に表わす、光スプリッタ１１５を通して物理的に送信される別の単一波長チャネルで構成することができる。最後に、第３の波長を用いて上位スイッチ１０５と下位スイッチ１１０双方との間の通信を行なうことができる。ＷＤＭ技術が使用されるいくつかの実装例において、光スプリッタ１１５を経由する上位スイッチ１０５から下位スイッチ１１０双方へのデータパケットの送信は、同時に発生してもよい。したがって、下位スイッチ１１０それぞれとの通信用に別々の時間スロットを確保する必要がない場合がある。
【００２６】
いくつかの実装例において、光スプリッタ１１５を経由する共有リンクを双方向にし、下位スイッチ１１０が光スプリッタ１１５を経由してデータを上位スイッチ１０５に送信できるようにすることができる。いくつかの実装例において、光スプリッタ１１５、下位スイッチ１１０ａ、下位スイッチ１１０ｂ、および上位スイッチ１０５の間に、サーキュレータを配置することにより、２つの別々の光スプリッタのうちの一方を下流通信に用い他方を上流通信に用いるのとは対照的に、１つの光スプリッタ１１５を経由した双方向通信が容易に行なえるようにしてもよい。上記割当て技術のうちのいずれかを、下位スイッチ１１０から上位スイッチ１０５への通信に適用してもよい。たとえば、ＴＤＭ方式を用いることにより、第１の下位スイッチ１１０ａが指定された時間スロット中にパケットを共有リンクを通して送信する一方で、第２の下位スイッチ１１０ｂが他の時間スロット中にパケットを送信できるようにしてもよい。これに代えて、下位スイッチ１１０各々に、上位スイッチ１０５に対する送信用のある範囲の波長を割当ててもよい。コントローラ１２０を用いて、帯域幅需要に基づき適切な割当て比率を決定することができ、かつ、下位スイッチ１１０を、決定した割当てに従うように制御することができる。下位スイッチ１１０はまた、データをそれぞれの直接リンクを介して上位スイッチ１０５に送信すること
ができる。これにより、共有リンクが如何にして割当てられるかにかかわらず、各下位スイッチ１１０に対して最小帯域幅を保証する。
【００２７】
図２Ａは、説明のための実装例に従う、図１に示されるコントローラ１２０のブロック図である。コントローラ１２０は、トラフィックモニタモジュール２３０と、帯域幅割当モジュール２４０と、データベース２６０とを含む。コントローラ１２０の構成要素は、ネットワークパラメータを決定するように機能し、かつ、図１に示される光スプリッタ１１５等の光スプリッタを経由して共有されるネットワークリンクの帯域幅を割当てるように機能する。コントローラ１２０によって行なわれる帯域幅割当ては、帯域幅需要が時間とともに変動するコンピュータネットワーク内のネットワークトラフィックを、より効率的にルーティングするのに役立ち得る。
【００２８】
コンピュータ１２０のモジュールは、さまざまなやり方で実現できる。たとえば、いくつかの実装例において、トラフィックモニタモジュール２３０および帯域幅割当モジュール２４０は、汎用プロセッサ上で実行されるコンピュータ命令によって規定することができる。たとえば、トラフィックモニタモジュール２３０および帯域幅割当モジュール２４０を、ネットワーク資源のモニタリングと供給に関連する一組の論理演算によって規定することができる。他の実装例において、トラフィックモニタモジュール２３０および帯域幅割当モジュール２４０を、たとえばＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）といった専用論理回路によって実現することができる。たとえば、これらのモジュールは、ＦＰＧＡまたはＡＳＩＣ内の回路と論理命令の集合体を含み得る。これらのモジュールはまた、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を生成するコード、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム実行時環境、仮想マシン、またはこれらを１つ以上組合わせたものを構成するコードを、含み得る。たとえば、トラフィックモニタモジュール２３０、帯域幅割当モジュール２４０、およびデータベース２６０は、１つ以上のデータ処理装置、計算装置、またはプロセッサを含み得るまたは共有し得る。
【００２９】
いくつかの実装例において、トラフィックモニタモジュール２３０は、ネットワーク１００全体のネットワークトラフィックをモニタリングすることができる。たとえば、トラフィックモニタモジュール２３０は、下位スイッチ１１０および上位スイッチ１０５から、現在の帯域幅の使用量と各スイッチが送信および受信しているネットワークフローの種類に対応する情報を受けることができる。これに代えて、トラフィックモニタモジュール２３０は、ネットワークの輻輳をモニタリングすることによって、帯域幅需要を求めることができる。ネットワークモニタモジュール２３０は、第１の下位スイッチ１１０ａが第２の下位スイッチ１１０ｂよりも輻輳していると判断することがある。たとえば、輻輳は、ある期間中に下位スイッチ１１０各々が落としたデータパケットの相対的な数をモニタリングすることによって判断できる。トラフィックモニタモジュールは、落としたデータパケットがより多い下位スイッチ１１０が帯域幅の増大を要求するという判断を下すことができる。
【００３０】
いくつかの実装例において、ネットワーク１００内の帯域幅需要は、時間の経過に伴って変化し得る。たとえば、トラフィックモニタモジュール２３０は、第１の期間中に、第１の下位スイッチ１１０ａの帯域幅需要が第２の下位スイッチ１１０ｂよりも大きいと判断することがある。トラフィックモニタモジュール２３０は、次の期間中に、第２の下位スイッチ１１０ｂの帯域幅需要が第１の下位スイッチ１１０ａよりも大きいと判断するかもしれない。いくつかの実装例において、トラフィックモニタモジュール２３０は、ネットワークトラフィックのパターンを時間の関数として認識してもよく、帯域幅需要または認識したパターンに対応する情報をデータベース２６０に格納してもよい。
【００３１】
帯域幅割当モジュール２４０は、第１の下位スイッチ１１０ａおよび第２の下位スイッチ１１０ｂに割当てられるべき相対的な帯域幅を求めることができる。いくつかの実装例において、帯域幅割当モジュールは、帯域幅の割当てを、共有通信リンク上で利用できる帯域幅の異なる割合をそれぞれ第１の下位スイッチ１１０ａと第２の下位スイッチ１１０ｂに割当てることによって、調整することができる。帯域幅の割当ては、トラフィックモニタ２３０からの情報に基づいていてもよい。たとえば、帯域幅割当モジュール２４０は、トラフィックモニタモジュール２３０と直接通信してもよく、または、データベース２６０からネットワークトラフィック情報を取出してもよい。次に、帯域幅割当モジュールは、需要がより大きい下位スイッチに、利用できる帯域幅のより大きな割合を割当てることができる。２つの下位スイッチの帯域幅需要が実質的に等しい場合、帯域幅割当モジュールは、共有通信リンクの約５０％を２つの下位スイッチ１１０各々に割当ててもよい。帯域幅割当モジュール２４０によって決定された帯域幅割当ては、データベース２６０に格納することができる。
【００３２】
帯域幅割当モジュール２４０はまた、上位スイッチ１０５および下位スイッチ１１０と通信することにより、決定した帯域幅割当てに従って確実に帯域幅が割当てられるようにすることができる。帯域幅割当モジュール２４０は、ネットワーク１００内のデータの送信を制御することができる。いくつかの実装例において、帯域幅割当モジュール２４０は、ＴＤＭ方式で、光スプリッタ１１５を経由する下位スイッチ１１０と上位スイッチ１０５との間の通信のために確保される時間スロットの相対的な期間または量を調整することができる。たとえば、帯域幅割当モジュール２４０が、帯域幅を２つの下位スイッチ１１０間で等しく分割すべきであると判断した場合、帯域幅割当モジュール２４０は、２つの下位スイッチ１１０各々に対し、実質的に期間が等しい時間スロットを割当てることができる。時間スロットの相対的な期間は、帯域幅割当ての変更に応じて変更することができる。他の実装例において、帯域幅割当モジュール２４０は、帯域幅を他の手段によって調整することができる。たとえば、帯域幅割当モジュール２４０は、２つの下位スイッチ１１０各々との通信に利用できる波長の数が各スイッチに割当てられた帯域幅に比例するＷＤＭ方式を実現することができる。
【００３３】
図２Ｂは、説明のための実装例に従う、図１に示される上位スイッチ１０５のブロック図である。上位スイッチ１０５は、光送信機モジュール２６５と、ルーティングモジュール２７０と、メモリ２８０とを含む。上位スイッチ１０５のルーティングモジュール２７０は、さまざまなやり方で実現できる。たとえば、いくつかの実装例において、ルーティングモジュール２７０は、汎用プロセッサ上で実行されるコンピュータ命令によって規定できる。他の実装例において、上位スイッチ１０５は、たとえばＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）といった、ルーティングモジュール２７０を実現しデータパケットの送信および受信に関連するその他のタスクを実行する専用論理回路を含み得る。いくつかの実装例において、メモリ２８０を用いて、上位スイッチ１０５によって送信される予定のデータパケットを格納するためのバッファを実現することができる。メモリ２８０はまた、ネットワークトポロジ情報またはルーティングテーブル等の他の情報を格納することができる。光送信機モジュール２６５は図２Ｂでは１つの装置として示されているが、いくつかの実装例では、光送信機モジュール２６０を、各々が上位スイッチ１０５の対応するポートに接続されている別々のトランシーバとして実現してもよい。
【００３４】
いくつかの実装例において、ルーティングモジュール２７０は、データパケットを下位スイッチ１１０のうちの一方に、直接リンクを用いて（すなわちポート１０６またはポート１０８を介して）送信すべきかまたは共有リンクを用いて（すなわちポート１０７を介して）送信すべきか判断することができる。たとえば、ルーティングモジュール２７０は
、メモリ２８０に格納されたスタックまたはキューからデータパケットを取出すことができる。次に、ルーティングモジュール２７０は、取出したデータパケットを送信するときに経由するポートを決定することができる。いくつかの実装例において、ルーティングモジュール２７０は、データパケットに含まれている情報を用いてデータパケットを送信するときに経由するポートを選択することができる。また、ルーティングモジュールは、メモリ２８０に格納されているルーティングテーブルと通信してデータパケットの送信ポートを選択してもよい。
【００３５】
いくつかの実装例において、ルーティングモジュール２７０は、他の情報を用いてデータパケットの送信に適したポートを選択することができる。たとえば、コントローラ１２０は、上記のように、ポート１０７に結合された共有リンクに対する帯域幅割当てを決定することができる。ルーティングモジュール２７０は、この帯域幅割当てを用いてデータパケット送信のためのポートを選択することができる。いくつかの実装例において、ルーティングモジュールは、コントローラ１２０と直接通信することにより、帯域幅割当てに対応する情報を受信することができる。他の実装例において、コントローラ１２０は、帯域幅割当てに対応する情報をメモリ２８０に送信することができ、ルーティングモジュール２７０は、この情報を、メモリ２８０に問い合わせることによって取得することができる。
【００３６】
いくつかの実装例において、ルーティングモジュール２７０は、データパケットをメモリ２８０から取得することができ、最初に、このデータパケットを意図された下位スイッチにそれぞれの直接通信リンクを通して送信することを試みることができる。たとえば、この直接通信リンク上の帯域幅を利用できる場合、ルーティングモジュール２７０は、光送信機モジュール２６５を制御して、このデータパケットを、直接リンクに結合された各ポート（すなわちポート１０６またはポート１０８）を通して送信することができる。いくつかの実装例において、所与の下位スイッチに結合された直接通信リンクが、そのスイッチとの通信に好ましい経路である場合があり、この直接通信リンクを、これが飽和するまで、または、その帯域幅の予め選択された部分が消費されるまで、使用することができる。次に、ルーティングモジュール２７０は、共有通信リンクの帯域幅を下位スイッチとの通信に利用できるか否か判断することができ、追加パケットをポート１０７を経由する共有通信リンクによって送信することができる。
【００３７】
他の実装例において、直接通信リンクは、必ずしも下位スイッチとの通信に好ましい経路ではない場合がある。たとえば、直接通信リンクを経由する所与の下位スイッチへの帯域幅が、共有通信リンクを経由するこのスイッチとの通信に利用できる帯域幅と実質的に等しいとき、ルーティングモジュール２７０は、他の通信リンクよりも好ましい通信リンクがない等コストマルチパス（ＥＣＭＰ）ルーティングという方策を実現することができる。ルーティングモジュール２７０は、たとえばメモリ２８０に格納されているＥＣＭＰテーブルに問い合わせて、データパケットを下位スイッチに各直接通信リンクを通して送信すべきかまたは共有通信リンクを通して送信すべきか判断することができる。
【００３８】
直接通信リンクを経由する所与の下位スイッチへの帯域幅が共有通信リンクを経由するこのスイッチとの通信に利用できる帯域幅と等しくない場合、ルーティングモジュール２７０は、重み付けコストマルチパス（ＷＣＭＰ）ルーティングという方策を実現することにより、データパケットを直接通信リンクによって送信すべきかまたは共有通信リンクによって送信すべきかを判断することができる。たとえば、共有通信リンクは、意図された下位スイッチとの通信に利用できる帯域幅が、このスイッチへの直接通信リンクの３倍である場合がある。ルーティングモジュール２７０は、データパケットに対してどのリンクを使用すべきか判断するにあたり、この比率を使用することができる。たとえば、ルーティングモジュールは、共有通信リンクに向けられた３つのデータパケットごとに、１つの
データパケットを直接通信リンクに向ける。
【００３９】
上記のように、光送信機モジュール２６５は、各々が対応するポートに結合されたいくつかの光送信機を含み得る。いくつかの実装例において、各ポートは、２つ以上の送信機を有し得る。たとえば、各ポートは、各々が異なる波長で光信号を送信するように構成された多数の送信機に結合されていてもよい。ルーティングモジュール２７０は、送信機各々を制御することにより、ＷＤＭおよび／またはＴＤＭデータ送信方式を実現することができる。
【００４０】
図３は、コンピュータネットワークにおいてデータを送信するプロセス３００のフロー図である。プロセス３００は、上位スイッチにより、第１のデータパケットを、直接通信リンクによって第１の下位スイッチに送信することを含む（段３０５）。プロセス３００は、上位スイッチにより、第２のデータパケットを、共有通信リンクによって上位スイッチに結合されている光スプリッタを通して、第１の下位スイッチに送信することを含む（段３１０）。プロセス３００は、上位スイッチにより、第３のデータパケットを、光スプリッタを通して第２の下位スイッチに送信することを含む（段３１５）。
【００４１】
プロセス３００は、上位スイッチにより、第１のデータパケットを、直接通信リンクによって第１の下位スイッチに送信することを含む（段３０５）。この直接通信リンクは、上位スイッチと第１の下位スイッチとの間の通信専用である。したがって、第１のデータパケットが別の計算装置によって誤って処理されるリスクはなく、第１のデータパケットを、共有リンクによる通信を容易にするように設計された多重化方式に従って送信する必要はない。いくつかの実装例において、直接通信リンクは、上位スイッチおよび第１の下位スイッチのポートに結合されたマルチモード光ファイバケーブルである。マルチモード光ファイバケーブルはシングルモード光ファイバケーブルよりも低価格である場合がある。シングルモード光ファイバケーブルよりも低価格である場合がある。マルチモード光ファイバケーブルの光学特性は、直接通信リンクで使用するのに適しているので、マルチモード光ファイバケーブルを用いて直接通信リンクを形成すると、ネットワークの総コストを下げることができる。
【００４２】
プロセス３００は、上位スイッチにより、第２のデータパケットを、共有通信リンクによって上位スイッチに結合されている光スプリッタを通して、第１の下位スイッチに送信することを含む（段３１０）。光スプリッタは、第１の下位スイッチおよび第２の下位スイッチ双方に結合することができる。いくつかの実装例において、光スプリッタは、上位スイッチから受信した信号を受動的に分割しこの信号を下位スイッチ双方に送信する。信号が光スプリッタによって分割されるので、上位スイッチから光スプリッタへの通信リンクと、光スプリッタから第１および第２の下位スイッチへの通信リンクを、シングルモード光ファイバケーブルで形成することができる。シングルモード光ファイバケーブルは、マルチモード光ファイバケーブルと比較して、受動光スプリッタによって分割された光信号をより確実に送信できる。第１の下位スイッチのみによって処理されることが意図されている第２のデータパケットを第２の下位スイッチが処理するのを防止するために、多数の技術を使用できる。
【００４３】
いくつかの実装例において、第２のデータパケットは、第２のデータパケットに付加されたヘッダ情報を含み得る。ヘッダ情報は、第１の下位スイッチをデータパケットの宛先として一意に特定する情報を含み得る。第１および第２の下位スイッチ双方が光スプリッタから第２のデータパケットを受信したとき、各下位スイッチは、ヘッダを検査することにより、このスイッチが第２のデータパケットを処理することが意図されているか否か判断することができる。第１の下位スイッチが、このスイッチが意図された宛先であると判断し、それに応じて第２のデータパケットを処理する場合がある。第２の下位スイッチが
、このスイッチが意図された宛先でないと判断し、したがってこのデータパケットを無視する場合がある。
【００４４】
他の実装例において、ＷＤＭおよび／またはＴＤＭ等の多重化方式を用いて第２のデータパケットを送信することができる。たとえば、上位スイッチと下位スイッチに結合されたコントローラは、上位スイッチと第１の下位スイッチとの間の通信のために１つ以上の波長を割当てることができる。いくつかの実装例において、波長の数は、上位スイッチと第２の下位スイッチとの間の通信用に確保された帯域幅の量と比較して、第１の下位スイッチに割当てられるべき帯域幅の量に基づいて、決定される。したがって、第２のデータパケットを光スプリッタを通して第１の下位スイッチに送信することは、第２のデータパケットを、第１の下位スイッチのために確保された波長で送信することを含み得る。
【００４５】
他の実装例において、時間スロットをそれぞれ、上位スイッチと２つの下位スイッチとの間の通信用に確保することができる。第２のデータパケットを送信することは、第２のデータパケットを、第１の下位スイッチのために確保された時間スロット中に送信することを含み得る。この時間スロット中、第２の下位スイッチに対応付けられた受信機をオフにすることによって、第２の下位スイッチが第２のデータパケットを処理するのを防ぐことができる。
【００４６】
プロセス３００は、上位スイッチにより、第３のデータパケットを、光スプリッタを通して第２の下位スイッチに送信することを含む（段３１５）。第３のデータパケットが第１の下位スイッチによって誤って処理されるのを防ぐために、第３のデータパケットは、第２の下位スイッチを第３のデータパケットの宛先として一意に特定するヘッダ情報を含み得る。第１および第２の下位スイッチ双方が光スプリッタから第３のデータパケットを受信したとき、各下位スイッチは、ヘッダを検査することにより、このスイッチが第３のデータパケットを処理することが意図されているか否か判断することができる。第２の下位スイッチが、このスイッチが意図された宛先であると判断し、それに応じて第３のデータパケットを処理する場合がある。第１の下位スイッチが、このスイッチが意図された宛先でないと判断し、したがってこのデータパケットを無視する場合がある。
【００４７】
他の実装例において、コントローラは、上位スイッチと第２の下位スイッチとの間の通信のために１つ以上の波長を割当てることができる。波長の数は、上位スイッチと第１の下位スイッチとの間の通信用に確保された帯域幅の量と比較して、第２の下位スイッチに割当てられるべき帯域幅の量に基づいて、決定される。したがって、第３のデータパケットを光スプリッタを通して第２の下位スイッチに送信することは、第３のデータパケットを、第２の下位スイッチのために確保された波長で送信することを含み得る。
【００４８】
他の実装例において、時間スロットをそれぞれ、上位スイッチと２つの下位スイッチとの間の通信用に確保することができる。第３のデータパケットを送信することは、第３のデータパケットを、第２の下位スイッチのために確保された時間スロット中に送信することを含み得る。この時間スロット中、第１の下位スイッチに対応付けられた受信機をオフにすることによって、第１の下位スイッチが第３のデータパケットを処理するのを防ぐことができる。
【００４９】
図４は、共有通信リンクが下位スイッチに対して均等に分配されている代表的なコンピュータネットワーク４００である。コンピュータネットワーク４００は、５つの上位スイッチ４０５ａ〜４０５ｅ（包括的に上位スイッチ４０５と呼ぶ）と、２つの下位スイッチ４１０ａおよび４１０ｂ（包括的に下位スイッチ４１０と呼ぶ）とを含む。各上位スイッチ４０５は、１つの直接通信リンクを介して各下位スイッチ４１０に結合している。各上位スイッチ４０５はまた、それぞれの受動光スプリッタ４１５ａ〜４１５ｅ（包括的に光
スプリッタ４１５と呼ぶ）に結合している。各光スプリッタ４１５は、上位スイッチ４０５から受信した光信号を２つの出力信号に受動的に分割して、受信した光信号が光スプリッタ４１５を通して出力通信リンク双方に送信されるようにする。
【００５０】
各光スプリッタ４１５の出力は、２つの下位スイッチ４１０に対して均等に分配される。すなわち、各光スプリッタ４１５は、１つのリンクを介して各下位スイッチ４１０に結合されている。この通信リンクの配置により、各下位スイッチ４１０に対して平均して等しい帯域幅を与えることが可能であり、その一方で、帯域幅の需要がより大きい下位スイッチ４１０に対して共有通信リンクの帯域幅を割当て直すことにより、ネットワーク４００内の帯域幅を調整することができる。図４に示される各光スプリッタ４１５は上位スイッチ４０５から受信した信号を２つの出力信号に分割しているが、他の構成が可能である。たとえば、光スプリッタ４１５は、上位スイッチ４０５から受信した入力信号を、下位スイッチ４１０に送信される３つ以上の信号に分割してもよい。いくつかの実装例において、追加のスプリッタ出力も、第１の下位スイッチ４１０ａと第２の下位スイッチ４１０ｂに対して均等に分割されてもよく、または３つ以上の下位スイッチに対して均等に分割されてもよい。
【００５１】
図４に示されるバランスのとれた構成は、下位スイッチ４１０間で帯域幅需要が長期間の平均で実質的に等しいと予測されるが下位スイッチ４１０が要求する帯域幅に短期間の変動があるかもしれないアプリケーションにおいて、特に有用となり得る。多くのデータセンターでは、特定の計算装置へのデータトラフィックおよび特定の計算装置からのデータトラフィックにバーストがあり、これらのバーストは一般的に短期間でありかつ時間的にランダムに分布している。バランスの取れたネットワーク４００の配置はこのようなデータセンターにとって有用となり得る。
【００５２】
図１および図２Ａに示されるコントローラ１２０のようなコントローラ（図示せず）を用いて、ネットワーク４００内の共有リンクの帯域幅を割当ててもよい。たとえば、帯域幅を、上記のようにＷＤＭおよび／またはＴＤＭといった多重化方式を用いて割当ててもよい。コントローラは、下位スイッチ４１０双方の帯域幅需要をモニタリングすることができ、共有リンクへの帯域幅の割当てを、需要をより効率的に満たすように調整することができる。ネットワーク４００のバランスが取れているという性質によって、帯域幅を迅速に増減することができ、一方で各上位スイッチ４０５と各下位スイッチ４１０との間の直接通信リンクは、下位スイッチ４１０ごとに、保証された最小帯域幅を提供する。
【００５３】
図５は、共有通信リンクが３つ以上の下位スイッチに分配されている代表的なコンピュータネットワーク５００である。ネットワーク５００は、６つの上位スイッチ５０５ａ〜５０５ｆ（包括的に上位スイッチ５０５と呼ぶ）と、４つの下位スイッチ５１０ａ〜５１０ｄ（包括的に下位スイッチ５１０と呼ぶ）とを含む。各上位スイッチ５０５はまた、それぞれの受動光スプリッタ５１５ａ〜５１５ｆ（包括的に光スプリッタ５１５と呼ぶ）に結合している。各光スプリッタ５１５は、上位スイッチ５０５から受信した光信号を２つの出力信号に受動的に分割して、受信した光信号が光スプリッタ５１５を通して出力通信リンク双方に送信されるようにする。説明の都合上、上位スイッチ５０５と下位スイッチ５１０との間の直接通信リンクは示していない。しかしながら、いくつかの実装例において、各上位スイッチ５０５は、１つ以上の直接通信リンクによって各下位スイッチ５１０に結合されていてもよい。このような直接通信リンクは、下位スイッチ５１０ごとに、保証された最小帯域幅を提供することができる。他の実装例において、ネットワーク５００は、追加の光スプリッタ５１５を含み得る。たとえば、追加の光スプリッタ５１５は、各々が、それぞれの上位スイッチ５０５に結合しかつ一対の下位スイッチ５１０に結合するように構成されてもよい。下位スイッチ５１０のすべての対に結合された光スプリッタ５１５を含めることによって、帯域幅をより均等に割当てることができる。
【００５４】
各光スプリッタ５１５の出力は、下位スイッチ５１０間で不均等に分配されている。たとえば、すべての光スプリッタ５１５は、第１の下位スイッチ５１０ａへの１つのリンクを含む。しかしながら、他の下位スイッチ５１０ｂ〜５１０ｄは各々、６つの光スプリッタ５１５のうちの２つにしか結合されていない。この配置では、下位スイッチ５１０ｂ〜５１０ｄへの帯域幅と比較して、より平均的な帯域幅が下位スイッチ５１０ａに与えられる。図５に示される各光スプリッタ５１５は、上位スイッチ５０５から受信した信号を２つの出力信号に分割しているが、他の構成が可能である。たとえば、光スプリッタ５１５は、上位スイッチ５０５から受信した入力信号を、下位スイッチ５１０に送信される３つ以上の信号に分割してもよい。いくつかの実装例において、下位スイッチ５１０のうちの１つに対する帯域幅を増すために、追加のスプリッタ出力も第１の下位スイッチ５１０ａと第２の下位スイッチ５１０ｂの間で不均等に分割してもよい。
【００５５】
図６に示される不均等な構成は、下位スイッチ５１０ａの帯域幅需要が、長期間の平均で、下位スイッチ５１０ｂ〜５１０ｄの帯域幅需要を常に上回ると予測されるアプリケーションにおいて有用となり得る。たとえば、データが頻繁に下位スイッチ５１０ｂ〜５１０ｄ各々から下位スイッチ５１０ａに転送されるまたはその逆のコンピュータネットワークの場合、ネットワーク５００の不均等な構成によって、より効率的にデータを転送できる。
【００５６】
いくつかの実装例において、図１および図２Ａに示されるコントローラ１２０のようなコントローラ（図示せず）を用いて、ネットワーク５００の通信リンクをより効率的に使用することができる。たとえば、下位スイッチ５１０ｂ〜５１０ｄから下位スイッチ５１０ａへの大量のデータ転送を必要とするアプリケーションの場合、コントローラは、共有リンクの帯域幅を割当てることによって、スイッチ５１０ｂ〜５１０ｃが第１の期間中に上位スイッチ５０５にデータをアップロードできるようにしてもよい。これに続く期間では、コントローラは、上位スイッチ５０５がデータすべてを下位スイッチ５１０ａにダウンロードできるようにする共有リンクを構成することによって、ネットワーク５００のこの不均等な性質を利用してもよい。いくつかの実装例において、コントローラは、ＷＤＭ方式を実現することによって、下位スイッチ５１０ｂ〜５１０ｄからのアップロードと下位スイッチ５１０ａへのダウンロードが実質的に同時に発生するようにしてもよい。
【００５７】
図６Ａは、受動光スプリッタ６１５を含む代表的なコンピュータネットワーク６００である。ネットワーク６００は、２つの上位スイッチ６０５ａおよび６０５ｂ（包括的に上位スイッチ６０５と呼ぶ）と、２つの下位スイッチ６１０ａおよび６１０ｂ（包括的に下位スイッチ６１０と呼ぶ）とを含む。ネットワーク６００はまた、受動光スプリッタ６１５を含む。受動光スプリッタ６１５は４つの通信ポートを含む。ネットワーク６００内の各スイッチは、光ファイバ通信リンクによって受動光スプリッタ６１５のそれぞれのポートに結合される。光スプリッタは、２つの上位スイッチ６０５のうちのいずれかから受信した信号を、２つの下位スイッチ双方に対して受動的に出力するように構成されている。たとえば、上位スイッチ６０５ａから光スプリッタ６１５に送信された信号を分割して下位スイッチ６１０双方に出力することができる。同様に、上位スイッチ６０５ｂから光スプリッタ６１５に送信された信号を分割して下位スイッチ６１０双方に出力することができる。
【００５８】
上述の通り、光ネットワークでは２×２受動光スプリッタ６１５が使用されることが多く、この受動スプリッタは比較的低コストで広範囲にわたって流通している。いくつかの実装例において、受動光スプリッタ６１５を用いて図１に示される３ポートの光スプリッタ１１５を実現することができる。たとえば、上位スイッチ６０５ａに接続されているポートを図１の上位スイッチ１０５のポート１０７に接続し、下位スイッチ６１０ａに接続
されているポートを図１の下位スイッチ１１０ａのポート１１２に接続し、下位スイッチ６１０ｂに接続されているポートを図１の下位スイッチ１１０ｂのポート１１３に接続してもよい。光スプリッタ１１５に含まれるポートは光スプリッタ６１５に含まれるポートよりも少ないので、光スプリッタ６１５の１つのポート（すなわち図６Ａにおいて上位スイッチ６０５ｂに結合されているポート）を、接続されていない状態に保つだけでよい。これに代えて、この余分のポートを上位スイッチ１０５の別のポートに接続してもよい。このような冗長通信リンクを用いることで、上位スイッチ１０５に対する第１のリンクが故障した場合の信頼性を高くすることができる。
【００５９】
光スプリッタ６１５を他の構成で用いることにより、任意の数の入力ポートと出力ポートを有する光スプリッタを実現することができる。たとえば、上記のように、光スプリッタ６１５を用いて、その上側ポートのうちの１つを非接続状態のままにしておくことにより、１×２光スプリッタを実現することができる。いくつかの実装例において、いくつかの光スプリッタ６１５を互いに結合することにより、入力ポートおよび出力ポートの数がより多い光スプリッタを実現することができる。追加の光スプリッタを有するネットワークのいくつかの例を以下で説明する。
【００６０】
図６Ｂは、４つの受動光スプリッタ６１５ａ〜６１５ｄ（包括的に受動光スプリッタ６１５と呼ぶ）を含む代表的なコンピュータネットワーク６０１である。このネットワークはまた、４つの上位スイッチ６０５ａ〜６０５ｄ（包括的に上位スイッチ６０５と呼ぶ）と、４つの下位スイッチ６１０ａ〜６１０ｄ（包括的に下位スイッチ６１０と呼ぶ）とを含む。受動光スイッチ６１５は各々、図６Ａに示される受動光スプリッタ６１５に似ている。たとえば、各受動光スプリッタ６１５は、４つのポート（すなわち２つの上側ポートと２つの下側ポート）を含み、上側ポートのうちのいずれかで受信した信号を下側ポート双方に送信するように構成される。いくつかの実装例において、ネットワーク６０１は、簡略化されたデータセンターネットワークを表わし得る。たとえば、下位スイッチ６１０は、データセンター内のサーバのような他の計算装置に結合できるトップ・オブ・ラックスイッチを表わし得る。上位スイッチ６０５を用いることにより、下位スイッチ６１０とこれらが接続されている計算装置との間の通信を容易にすることができる。
【００６１】
受動光スプリッタ６１５は、上位スイッチ６０５と、下位スイッチ６１０と、他の３つの光スプリッタ６１５のうちの２つに結合されている。受動光スプリッタ６１５ａの第１の下側ポートは、受動光スプリッタ６１５ｃの第１の上側ポートに結合されている。受動光スプリッタ６１５ａの第２の下側ポートは、受動光スプリッタ６１５ｄの第１の上側ポートに結合されている。受動光スプリッタ６１５ｂの第１の下側ポートは、受動光スプリッタ６１５ｃの第２の上側ポートに結合されている。受動光スプリッタ６１５ｂの第２の下側ポートは、受動光スプリッタ６１５ｄの第２の上側ポートに結合されている。この構成によって、受動光スプリッタ６１５を、上位スイッチ６０５のうちの１つから受信した各信号を下位スイッチ６１０すべてに出力する１つの光スプリッタとして、論理的に機能させることができる。
【００６２】
たとえば、上位スイッチ６０５ａから送信された信号６１７は、受動光スプリッタ６１５ａが受信することができる。受動光スプリッタ６１５ａは、受信した信号６１７を、その下側ポート双方から出力して、信号６１７が受動光スプリッタ６１５ｃおよび６１５ｄによって受信されるようにすることができる。同様に、受動光スプリッタ６１５ｃおよび６１５ｄは、受信した信号６１７を、それぞれの下側ポートを通して下位スイッチ６１０ａ〜６１０ｄに出力することができる。このように、上位スイッチ６０５ａから送信された信号は、下位スイッチ６１０ａ〜６１０ｄすべてに送信される。同じ原理で、他の上位スイッチ６０５ｂ〜６０５ｄのうちのいずれから送信される信号も、受動光スプリッタ６１５を通して下位スイッチ６１０ａ〜６１０ｄすべてによって受信される。図６Ｂに示さ
れる光スプリッタ６１５の構成をこのようにして用いることにより、１つの４×４光スプリッタを論理的に実現できる。いくつかの実装例において、他の光スプリッタをネットワーク６０１に追加することにより、可能な入力と出力の数を任意で増加してもよい。上記のように、不必要な入力または出力ポートは、切断状態のままにしておいてもよく、または冗長性のために使用してもよい。
【００６３】
いくつかの実装例において、多重化を用いることで、ネットワーク６０１内のデータの衝突を回避することができ、かつ、上位スイッチ６０５から送信されたデータが意図された下位スイッチ６１０のみによって確実に処理されるようにすることができる。たとえば、上述のように、ＴＤＭ、ＷＤＭ、またはその他の多重化方式を用いてネットワーク６０１を通してデータを送信し受信することができる。
【００６４】
図７は、４つの受動光スプリッタ７１５ａ〜７１５ｄ（包括的に受動光スプリッタ７１５と呼ぶ）を含む第２の代表的なコンピュータネットワーク７００である。このネットワークはまた、６つのスイッチ７０５ａ〜７０５ｆ（包括的にスイッチ７０５と呼ぶ）と、６つのサーキュレータ７０７ａ〜７０７ｆ（包括的にサーキュレータ７０７と呼ぶ）と、２つのミラー７０９ａおよび７０９ｂ（包括的にミラー７０９と呼ぶ）とを含む。光スプリッタ７１５は、図６Ｂに示される光スプリッタ６１５の配置と同様のやり方で互いに結合されている。たとえば、受動光スプリッタ７１５ａの第１の下側ポートは、受動光スプリッタ７１５ｃの第１の上側ポートに結合されている。受動光スプリッタ７１５ａの第２の下側ポートは、受動光スプリッタ７１５ｄの第１の上側ポートに結合されている。受動光スプリッタ７１５ｂの第１の下側ポートは、受動光スプリッタ７１５ｃの第２の上側ポートに結合されている。受動光スプリッタ７１５ｂの第２の下側ポートは、受動光スプリッタ７１５ｄの第２の上側ポートに結合されている。この構成によって、受動光スプリッタ７１５を、上記のように４つの入力と４つの出力とを有する１つの光スプリッタとして論理的に機能させることができる。いくつかの実装例において、ネットワーク７００は、簡略化されたデータセンターネットワークを表わし得る。たとえば、スイッチ７０５は、データセンター内のサーバのような他の計算装置に結合できるトップ・オブ・ラックスイッチを表わし得る。
【００６５】
スイッチ７０５は各々、それぞれのサーキュレータ７０７を通して光スプリッタ７１５のうちの１つの対応するポートに結合されている。サーキュレータによって、光スプリッタ７１５とスイッチ７０５との間で双方向通信を行なうことができる。ミラー７０９ａは光スプリッタ７１５ｂの上側ポートに結合されており、ミラー７０９ｂは光スプリッタ７１５ｄの下側ポートに結合されている。各ミラー７０９は、受信した光信号を反射して、送信元の光スプリッタ７１５に戻すように構成されている。スイッチ７０５、サーキュレータ７０７、ミラー７０９、および光スプリッタ７１５の配置により、いずれのスイッチ７０５からの信号も、他のすべてのスイッチ７０５で受信することができる。
【００６６】
たとえば、データ信号７１７を、スイッチ７０５ａからサーキュレータ７０７ａを通して光スプリッタ７１５ａに送信することができる。光スプリッタ７１５ａは、受信した信号７１７を分割し、この信号７１７をその下側ポート双方で（すなわち光スプリッタ７１５ｃおよび７１５ｄに）出力することができる。スプリッタ７１５ｃおよび７１５ｄも同様に、受信信号７１７を分割して信号７１７がこれらの下側ポート双方からスイッチ７０５ｄ、７０５ｅ、７０５ｆとミラー７０９ｂに送信されるようにすることができる。ミラー７０９ｂは信号７１７を反射して光スプリッタ７１５ｄに戻す。光スプリッタ７１５ｄは、再び信号７１７を分割し、反射された信号７１７をその上側ポート双方から光スプリッタ７１５ａおよび７１５ｂに出力する。次に、信号７１７は、光スプリッタ７１５ａおよび７１５ｂからサーキュレータ７０７ａ〜７０７ｃを通してスイッチ７０５ａ〜７０５ｃに出力される。このように、スイッチ７０５から送信された信号７１７は、他のスイッ
チ７０５ｂ〜７０５ｆすべてに送信される。いくつかの実装例において、スイッチ７０５ａを、信号７１７がスイッチ７０５ａに戻されたときは、自身が送信した信号７１７を無視するように構成することができる。ネットワーク７００内の他のスイッチ７０５によって送信される信号も同様に、他のすべてのスイッチ７０５によって受信される。
【００６７】
いくつかの実装例において、サーキュレータ７０７およびミラー７０９を含めることを利用して、所与の数の光スプリッタ７０７を有するネットワークで実現されるポートの数を増すことができる。たとえば、ネットワーク７００および図６Ｂに示されるネットワーク６０１は各々４つの光スプリッタを含む。しかしながら、ネットワーク７００は、第１のスイッチ７０５から受信した信号を他の５つのスイッチ７０５にブロードキャストすることができ、一方、ネットワーク６００は、第１のスイッチから受信した信号を他の４つのスイッチにしか送信することができない。
【００６８】
本明細書に記載の主題と動作の実装例は、デジタル電子回路において、または本明細書に開示された構造とこれらの構造上の均等物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、または、これらのうちの１つ以上を組合わせたものにおいて、実現し得る。本明細書に記載の主題は、１つ以上のコンピュータプログラムとして実現し得る、すなわち、データ処理装置による実行のためにまたはデータ処理装置の動作を制御するために、１つ以上のコンピュータ記憶媒体上の符号化されたコンピュータプログラム命令の１つ以上のモジュールとして実現し得る。
【００６９】
コンピュータ読取可能な媒体は、コンピュータ読取可能な記憶装置、コンピュータ読取可能な記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくは装置、または、これらのうちの１つ以上を組合わせたものであってもよく、またはそれに含まれていてもよい。加えて、コンピュータ読取可能な媒体は伝搬信号ではないが、コンピュータ読取可能な媒体は、人工的に生成された伝搬信号において符号化されたコンピュータプログラム命令のソースまたは宛先であってもよい。また、コンピュータ記憶媒体は、１つ以上の別々の構成要素または媒体（たとえば複数のＣＤ、ディスク、またはその他の記憶装置）であってもよく、またはそれに含まれていてもよい。したがって、このコンピュータ読取可能な媒体は、有形でありかつ非一時的なものである。
【００７０】
本明細書に記載の動作は、データ処理装置が、１つ以上のコンピュータ読取可能な記憶装置に格納されたまたは他のソースから受信されたデータに対して実行することができる。「データ処理装置」または「計算装置」という用語は、例として、１つのもしくは複数の、プログラマブルプロセッサ、コンピュータ、チップ上のシステム、またはこれらを組合わせたものを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。上記装置は、専用論理回路、たとえばＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣを含み得る。この装置はまた、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム実行時環境、仮想マシン、またはこれらのうちの１つ以上を組合わせたものを構成するコードを含み得る。この装置および実行環境は、ウェブサービス、分散型計算およびグリッド計算インフラストラクチャといった多様な計算モデルインフラストラクチャを実現し得る。
【００７１】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている）は、コンパイル型もしくはインタプリタ型言語、宣言型もしくは手続き型言語を含むプログラミング言語の形態で記述することができ、独立型プログラムとしてまたはモジュールとして、コンポーネント、サブルーチン、オブジェクト、または計算環境で使用するのに適した他のユニットを含む、任意の
形態で導入することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応していてもよいがそうである必要はない。プログラムは、当該プログラム専用の１つのファイルにおける、または複数の統合されたファイル（たとえば１つ以上のモジュール、サブプログラム、またはコードの部分を格納しているファイル）における、他のプログラムまたはデータ（たとえばマークアップ言語文書に格納されている１つ以上のスクリプト）を保持するファイルの一部に格納されていてもよい。コンピュータプログラムを導入して、１つの場所に位置するまたは複数の場所に分散しており通信ネットワークによって相互に接続されている複数の場所に位置する、１つのコンピュータまたは複数のコンピュータ上で実行してもよい。
【００７２】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用マイクロプロセッサ双方、ならびに、任意の種類のコンピュータの１つ以上のプロセッサを含む。一般的に、プロセッサは、命令とデータを、読出し専用メモリからまたはランダムアクセスメモリからまたはこれら双方から受ける。コンピュータに不可欠な要素は、命令に従って動作を実行するためのプロセッサと、命令とデータを格納するための１つ以上の記憶装置である。一般的に、コンピュータはまた、データを格納するための１つ以上の大容量記憶装置、たとえば磁気、光磁気ディスクまたは光ディスクを含む、または、１つ以上の大容量記憶装置からデータを受信するまたはこれにデータを転送するまたはこれとの間でデータを送信し受信するように大容量記憶装置に機能的に結合されている。
【００７３】
本明細書は、具体的な実装の詳細を数多く含んでいるが、これらは、発明の範囲またはクレームし得るものの範囲を限定するものとしてではなく、特定の発明の特定の実装に固有の特徴を説明するものとして解釈されねばならない。本明細書において別々の実装例に関連して記載されている特定の特徴を、１つの実装例において組合わせて実現することもできる。逆に、１つの実装例に関連して記載されているさまざまな特徴を、複数の実装例において別々にまたは適切な下位の組合わせで実現することもできる。加えて、特徴は、特定の組合わせで機能するものとして記載されて最初はそのようにクレームされている場合もあるものの、クレームされている組合わせに含まれる１つ以上の特徴を、場合によってはこの組合わせから除外することができ、クレームされている組合わせは、下位の組合わせにまたは下位の組合わせの変形に関連し得る。
【００７４】
同様に、図面では動作を特定の順序で示しているが、これは、所望の結果を得るためには、このような動作を示されている特定の順序でもしくは一連の順序で実行することが必要である、または、示されているすべての動作を実行することが必要であると解釈されてはならない。特定の状況では、マルチタスキングおよび並列処理が好都合であろう。加えて、上記実装例におけるさまざまなシステムコンポーネントの分離は、すべての実装例においてこのような分離を必要とするものとして理解されてはならず、記載されているプログラムコンポーネントおよびシステムは一般的に、１つのプロダクトに統合することができる、または複数のプロダクトにパッケージングすることができることが理解されるはずである。
【００７５】
このように本主題の具体的な実装例を説明した。他の実装例は以下の請求項の範囲に含まれる。場合によって、請求項に記載の動作は、異なる順序で実行される可能性があるが、それでもなお所望の結果を達成できる。加えて、添付の図面に記載されているプロセスは、所望の結果を達成するために、示されている順序または連続した順序である必要は必ずしもない。特定の実装例では、マルチタスキングおよび並列処理が好都合な場合がある。
【図１】
2018170784.tif 000003
【図２Ａ】
2018170784.tif 000004
【図２Ｂ】
2018170784.tif 000005
【図３】
2018170784.tif 000006
【図４】
2018170784.tif 000007
【図５】
2018170784.tif 000008
【図６Ａ】
2018170784.tif 000009
【図６Ｂ】
2018170784.tif 000010
【図７】
2018170784.tif 000011
【手続補正書】
【提出日】平成30年7月10日(2018.7.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータネットワークであって、
第１のポートと第２のポートとを有する第１の下位スイッチと、
第１のポートと第２のポートとを有する第２の下位スイッチと、
前記第１の下位スイッチの第１のポートに直接結合された第１のポートと、前記第２の下位スイッチの第１のポートに直接結合された第２のポートとを有する上位スイッチと、
前記上位スイッチの第３のポートに結合された第１のポートと、前記第１の下位スイッチの第２のポートに結合された第２のポートと、前記第２の下位スイッチの第２のポートに結合された第３のポートとを有する第１の受動光スプリッタとを備え、前記第１の受動光スプリッタは、自身の第１のポートで受信した信号を自身の第２のポートおよび第３のポート双方で出力信号として送信するように構成され、
前記第１の下位スイッチと、前記第２の下位スイッチと、前記上位スイッチとに結合されたコントローラを備え、前記コントローラは、前記第１の下位スイッチ、前記第２の下位スイッチ、および前記上位スイッチによるデータの送信を制御するように構成されている、コンピュータネットワーク。
【請求項２】
前記コントローラはさらに、
前記上位スイッチによって送信されるデータパケットが前記第１の下位スイッチによって受信されることが意図されていると判断するように構成され、
前記データパケットを前記第１の受動光スプリッタに送信するように前記上位スイッチを制御するように構成され、かつ、
前記データパケットが前記第１の受動光スプリッタを通して送信されている期間中は、前記第１の受動光スプリッタから受信されるネットワークデータを無視するように前記第２の下位スイッチを制御するように構成されている、請求項１に記載のコンピュータネットワーク。
【請求項３】
前記コントローラはさらに、
前記第１の下位スイッチによって受信されることが意図されているデータパケットを第１の波長で前記第１の受動光スプリッタに送信するように前記上位スイッチを制御するように構成され、かつ、
前記第２の下位スイッチによって受信されることが意図されているデータパケットを前記第１の波長と異なる第２の波長で前記第１の受動光スプリッタに送信するように前記上位スイッチを制御するように構成されている、請求項１または２に記載のコンピュータネットワーク。
【請求項４】
前記コントローラはさらに、
前記第１の下位スイッチによって受信されることが意図されているデータパケットを、第１の変調フォーマットを用いて前記第１の受動光スプリッタに送信するように前記上位スイッチを制御するように構成され、
前記第２の下位スイッチによって受信されることが意図されているデータパケットを、前記第１の変調フォーマットと異なる第２の変調フォーマットを用いて前記第１の受動光スプリッタに送信するように前記上位スイッチを制御するように構成され、
前記第１の変調フォーマットを用いて前記第１の受動光スプリッタからデータパケットを受信するように前記第１の下位スイッチを制御するように構成され、かつ、
前記第２の変調フォーマットを用いて前記第１の受動光スプリッタからデータパケットを受信するように前記第２の下位スイッチを制御するように構成されている、請求項１〜３のいずれかに記載のコンピュータネットワーク。
【請求項５】
前記コントローラはさらに、前記第１の下位スイッチおよび前記第２の下位スイッチにそれぞれの送信時間スロットを交互に割当てることによって、データパケットを前記第１の受動光スプリッタを通して前記上位スイッチに送信するように、前記第１の下位スイッチおよび前記第２の下位スイッチを制御するように構成されている、請求項１〜４のいずれかに記載のコンピュータネットワーク。
【請求項６】
前記コントローラは、前記第１の下位スイッチおよび前記第２の下位スイッチの相対的な帯域幅需要に基づいて前記送信時間スロットを割当てるように構成されている、請求項５に記載のコンピュータネットワーク。
【請求項７】
前記コントローラはさらに、
データパケットを第１の波長で前記第１の受動光スプリッタを通して前記上位スイッチに送信するように、前記第１の下位スイッチを制御するように構成され、かつ、
データパケットを前記第１の波長と異なる第２の波長で前記第１の受動光スプリッタを通して前記上位スイッチに送信するように、前記第２の下位スイッチを制御するように構成されている、請求項１〜６のいずれかに記載のコンピュータネットワーク。
【請求項８】
前記上位スイッチの第１のポートは、マルチモード光ファイバケーブルを介して前記第１の下位スイッチの第１のポートに結合されている、請求項１〜７のいずれかに記載のコンピュータネットワーク。
【請求項９】
前記上位スイッチの第３のポートは、シングルモード光ファイバケーブルを介して前記第１の受動光スプリッタに結合されている、請求項１〜８のいずれかに記載のコンピュータネットワーク。
【請求項１０】
前記第１の下位スイッチおよび前記第２の下位スイッチは、データセンターにおけるトップ・オブ・ラックスイッチである、請求項１〜９のいずれかに記載のコンピュータネットワーク。
【請求項１１】
第２の受動光スプリッタをさらに備え、
前記第１の受動光スプリッタの第２のポートは、前記第２の受動光スプリッタを通して前記第１の下位スイッチの第２のポートに結合されている、請求項１〜１０のいずれかに記載のコンピュータネットワーク。
【請求項１２】
前記第１の受動光スプリッタの第４のポートに結合された第１のポートを有する第２の上位スイッチをさらに備える、請求項１１に記載のコンピュータネットワーク。
【請求項１３】
前記第２の受動光スプリッタに結合されたミラーをさらに備え、前記ミラーは、前記第２の受動光スプリッタから受信した光信号を、前記第２の受動光スプリッタおよび前記第１の受動光スプリッタを通して前記第２の上位スイッチに反射するように構成されている、請求項１２に記載のコンピュータネットワーク。
【請求項１４】
コンピュータネットワークにおいてデータを送信する方法であって、前記方法は、
上位スイッチにより、第１のデータパケットを、直接通信リンクによって第１の下位スイッチに送信するステップと、
前記上位スイッチにより、第２のデータパケットを、前記上位スイッチ、前記第１の下位スイッチ、および第２の下位スイッチに結合された第１の光スプリッタを通して、共有通信リンクによって前記第１の下位スイッチに送信するステップと、
前記上位スイッチにより、第３のデータパケットを、前記第１の光スプリッタを通して前記第２の下位スイッチに送信するステップとを含む、方法。
【請求項１５】
前記第２のデータパケットを送信するステップは、前記第２のデータパケットを第１の波長で送信するステップを含み、
前記第３のデータパケットを送信するステップは、前記第３のデータパケットを前記第１の波長と異なる第２の波長で送信するステップを含む、請求項１４に記載の方法。
【請求項１６】
前記第１の下位スイッチおよび前記第２の下位スイッチにそれぞれの送信時間スロットを割当てるステップをさらに含み、
前記第１の下位スイッチへの前記第２のデータパケットの送信は、前記第１の下位スイッチに割当てられた時間スロットの間に発生し、
前記第２の下位スイッチへの前記第３のデータパケットの送信は、前記第２の下位スイッチに割当てられた時間スロットの間に発生する、請求項１４または１５に記載の方法。
【請求項１７】
前記第１の下位スイッチおよび前記第２の下位スイッチの相対的な帯域幅需要を求めるステップと、
前記求めた相対的な帯域幅に基づいて前記第１の下位スイッチおよび前記第２の下位スイッチにそれぞれの送信時間スロットを割当てるステップとをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記上位スイッチにより、第４のデータパケットを、前記第１の光スプリッタおよび前記第１の下位スイッチに結合された第２の光スプリッタを通して前記第１の下位スイッチに送信するステップをさらに含む、請求項１４〜１７のいずれかに記載の方法。
【請求項１９】
請求項１４〜１８のいずれかに記載の方法をコンピュータに実行させる、プログラム。
【外国語明細書】
2018170784000001.pdf