(57)【特許請求の範囲】
【請求項１】
ネットワークに関する帯域幅の割り当て方法であって、
１つ以上のプロセッサが、複数のネットワーク・ユーザーを表す帯域幅使用情報を受信するステップと、
前記１つ以上のプロセッサが、同じ対のネットワーク・クラスタの間でデータ送信を行っているネットワーク・ユーザーのセットを前記複数のネットワーク・ユーザーから識別するステップと、
前記１つ以上のプロセッサが、前記ネットワーク・ユーザーのセットから各々のネットワーク・ユーザーについての重み値を決定するステップと、
前記１つ以上のプロセッサが、前記ネットワーク・ユーザーのセットについての帯域幅使用を表わす帯域幅使用関数を前記複数のネットワーク・ユーザーから生成するステップとを含み、前記帯域幅使用関数は、各々のネットワーク・ユーザーに割り当てられた前記重み値に基づいており、前記方法はさらに、
前記１つ以上のプロセッサが、前記ネットワーク・ユーザーのセットから各々のネットワーク・ユーザーへの帯域幅配分を決定するステップを含み、前記帯域幅配分は前記帯域幅使用関数に基づいており、前記方法はさらに、
前記１つ以上のプロセッサが、前記ネットワーク・ユーザーのセットに対応する１つ以上のネットワーク・デバイスへ前記帯域幅配分を送信するステップを含む、方法。
【請求項２】
請求項１に記載の方法において、前記帯域幅配分を決定するステップはさらに、
前記帯域幅使用関数に基づいて、複数の利用価値についての前記ネットワーク・ユーザーのセットの予測される帯域幅使用を計算するステップと、
前記１つ以上のプロセッサが、利用可能なネットワーク・リンクについての容量の超過が起こらないような特定の利用価値を選択するステップと、
前記１つ以上のプロセッサが、前記特定の利用価値で前記帯域幅使用関数に基づいて帯域幅配分を決定するステップとを含む、方法。
【請求項３】
請求項２に記載の方法において、前記ネットワーク・ユーザーのセットからの各々のネットワーク・ユーザーについての帯域幅要請が満たされるまで、または、前記利用可能なネットワーク・リンクがいずれも、少なくとも１つのネットワーク・リンクの容量を上回ることなくより高い利用価値で前記予測される帯域幅使用を提供できなくなるまで、前記利用価値を所定量ずつ増やすことによって、前記特定の利用価値が選択される、方法。
【請求項４】
請求項１に記載の方法において、帯域幅配分を提供するステップは、
帯域幅使用情報を集計して前記ネットワークの全帯域幅要請を決定するステップと、
前記ネットワーク内で混雑したリンクを検出するステップと、
前記ネットワークの利用可能帯域幅を前記複数のネットワーク・ユーザーの間で分割するステップとを含む、方法。
【請求項５】
請求項１から４のいずれか１項に記載の方法において、前記複数のネットワーク・ユーザーのうち少なくとも１つについて実行される仕事の間で前記複数のネットワーク・ユーザーの前記帯域幅配分を分割するステップをさらに含む、方法。
【請求項６】
請求項５に記載の方法において、各々の仕事に関連する複数のタスクの間で各々の仕事の前記帯域幅配分を分割するステップをさらに含む、方法。
【請求項７】
請求項１から６のいずれか１項に記載の方法において、前記帯域幅使用情報は、所定の時間に亘る前記ネットワーク・ユーザーのセットのピーク帯域幅使用に基づいている、方法。
【請求項８】
請求項１から７のいずれか１項に記載の方法において、
全てのネットワーク帯域幅要請が満足することを判定するステップと、
使用されていない帯域幅が前記ネットワーク上で利用可能であることを判定するステップと、
既定の重み値に比例して前記複数のネットワーク・ユーザーの間で前記使用されていない帯域幅を分割するステップとをさらに含む、方法。
【請求項９】
請求項１から８のいずれか１項に記載の方法において、ネットワーク伝達の一部は帯域幅配分を形成することに関連する操作が適用されないままである、方法。
【請求項１０】
ネットワークに関する帯域幅の割り当てを行なうためのシステムであって、
メモリと、
前記メモリと通信する１つ以上のプロセッサとを含み、前記１つ以上のプロセッサは、
複数のネットワーク・ユーザーを表わす帯域幅使用情報を受取り、
同じ対のネットワーク・クラスタの間でデータ送信を行っているネットワーク・ユーザーのセットを前記複数のネットワーク・ユーザーから識別し、
前記ネットワーク・ユーザーのセットから各々のネットワーク・ユーザーについての重み値を決定し、
前記ネットワーク・ユーザーのセットについての帯域幅使用を表わす帯域幅使用関数を前記複数のネットワーク・ユーザーから生成するように構成され、前記帯域幅使用関数は、各々のネットワーク・ユーザーに割り当てられた前記重み値に基づいており、前記１つ以上のプロセッサはさらに、
前記ネットワーク・ユーザーのセットから各々のネットワーク・ユーザーへの帯域幅配分を提供するように構成され、前記帯域幅配分は前記帯域幅使用関数に基づいており、前記１つ以上のプロセッサはさらに、
前記ネットワーク・ユーザーのセットに対応する１つ以上のネットワーク・デバイスへ前記帯域幅配分を送信するように構成される、システム。
【請求項１１】
請求項１０に記載のシステムにおいて、帯域幅配分を提供するために、前記１つ以上のプロセッサはさらに、
前記帯域幅使用関数に基づいて、複数の利用価値についての前記ネットワーク・ユーザーのセットの予測される帯域幅使用を計算し、
利用可能なネットワーク・リンクについての容量の超過が起こらないような特定の利用価値を選択し、
前記特定の利用価値で前記帯域幅使用関数に基づいて帯域幅配分を決定するように構成される、システム。
【請求項１２】
請求項１１に記載のシステムにおいて、前記ネットワーク・ユーザーのセットからの各々のネットワーク・ユーザーについての帯域幅要請が満たされるまで、または、前記利用可能なネットワーク・リンクがいずれも、少なくとも１つのネットワーク・リンクの容量を上回ることなくより高い利用価値で前記予測される帯域幅使用を提供できなくなるまで、前記利用価値を所定量ずつ増やすことによって、前記特定の利用価値が選択される、システム。
【請求項１３】
請求項１０から１２のいずれか１項に記載のシステムにおいて、帯域幅配分を提供するために、前記１つ以上のプロセッサはさらに、
帯域幅使用情報を集計して前記ネットワークの全帯域幅要請を決定し、
前記ネットワーク内で混雑したリンクを検出し、
前記ネットワークの利用可能帯域幅を前記複数のネットワーク・ユーザーの間で分割するように構成される、システム。
【請求項１４】
請求項１０から１２のいずれか１項に記載のシステムにおいて、帯域幅配分を提供するために、前記１つ以上のプロセッサはさらに、前記複数のネットワーク・ユーザーのうち少なくとも１つについて実行される仕事の間で前記複数のネットワーク・ユーザーの前記帯域幅配分を分割するように構成される、システム。
【請求項１５】
請求項１３に記載のシステムにおいて、帯域幅配分を提供するために、前記１つ以上のプロセッサはさらに、各々の仕事に関連する複数のタスクの間で各々の仕事の前記帯域幅配分を分割するように構成される、システム。
【請求項１６】
請求項１０から１５のいずれか１項に記載のシステムにおいて、前記帯域幅使用情報が、所定の時間に亘る前記ネットワーク・ユーザーのセットのピーク帯域幅使用に基づいている、システム。
【請求項１７】
請求項１０から１２のいずれか１項に記載のシステムにおいて、帯域幅配分を提供するために、前記１つ以上のプロセッサはさらに、
全てのネットワーク帯域幅要請が満足することを判定し、
使用されていない帯域幅が前記ネットワーク上で利用可能であることを判定し、
既定の重み値に比例して前記複数のネットワーク・ユーザーの間で前記使用されていない帯域幅を分割するように構成される、システム。
【請求項１８】
請求項１０から１７のいずれか１項に記載のシステムにおいて、ネットワーク伝達の一部はネットワーク帯域幅配分を形成することに関連する操作が適用されないままである、システム。
【請求項１９】
請求項１から９のいずれか１項に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【関連出願への相互参照】
【０００１】
本出願は米国特許出願番号第１３/０１８９６７号（２０１１年２月１日出願）の継続で
あり、その開示事項は参照により本明細書に組み込まれている。
発明の背景
【０００２】
大規模ネットワークは、多種多様なアプリケーションとサービスを支援する。そのような
ネットワークは相互接続ネットワークにおけるリンク或いはスイッチ構成に亘って分布さ
れた複数のデバイス、或いはスイッチ構成を含み得る。ネットワークの各々のノードは、
スイッチ（例えば、ルータ）又はエンドポイント（例えば、ホスト・デバイス）を含み得
る。リンク又はノードが過剰なデータを搬送するとき、ネットワークの混雑が引き起こさ
れるので、サービスの品質の劣化がもたらされる。一般に、ネットワークの混雑の影響は
、待ち行列遅延、パケット損失、又は新たな接続の遮断を含む。ネットワークに亘る混雑
は、プロトコル、例えば伝達制御プロトコル（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏ
ｌ  Ｐｒｏｔｏｃｏｌ：ＴＣＰ）によって制御することができ、これは競合している接続
のために同程度の帯域幅を維持する。またＴＣＰは、全体的な転送率がリンク容量よりも
少ないことを確実とする。
【０００３】
ＴＣＰの制約の一つは、いつでもエンドポイントになされている接続の数に、それが集中
するということである。従って、単にネットワークへの更なる接続を実装することによっ
て、ネットワークのユーザーは、更なる帯域幅へ容易にアクセスすることができる。その
実施は、ユーザーの仕事が多くのマシンに亘って拡張される大規模分散処理システムで増
加しつつある。例えば、第１のユーザーが１００台のマシンで仕事を実行させ、且つ第２
のユーザーが１０台のマシンで仕事を実行させているならば、第１のユーザーは第２のユ
ーザーの帯域幅の１０倍にアクセスするであろう。これは、帯域幅の不当な配分と認めら
れるものを形成するので、多くのネットワークにとって望ましくない。
【発明の概要】
【０００４】
本発明は一般に、ネットワークにおける帯域幅の管理に関する。更に詳しくは、本発明は
ネットワークにおける各々のユーザーについての要請を予測して、望ましい帯域幅配分方
針に基づいて各々のユーザーに帯域幅を割り当てることに関する。  
【０００５】
本発明の一つの態様は、帯域幅配分方針を中央に実施して、各々のユーザーが、ユーザー
の要請に従った帯域の共有を受け取って、ユーザーに割り当てられた帯域幅を超えるのを
防ぐ方法を提供する。更に、特定のユーザーにより使用されていない任意の帯域幅をネッ
トワーク上の他のユーザーに再配分し得るので、帯域幅はそれをより必要とする用途に割
り当てられる。
【０００６】
他の態様では、各々のユーザーには特定のユーザー重み付け値が割り当てられ、各々のユ
ーザーへの帯域幅の配分はそのユーザーの重み付け値に比例する。重み付け値は、ユーザ
ーの優先順位、ユーザーの仕事のデータ強度、又はユーザーの仕事の時間感受性を含む多
くの要因に基づくことができる。従って、２人のユーザーが同じ重み付け値を持つならば
、この２人のユーザーは帯域幅の等しい配分を受け取って、同じネットワーク源から同じ
ネットワーク目的値へ、同じサービス品質（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ：Ｑ
ｏｓ）を有するデータを送信する。
【０００７】
他の態様は、重要な、ビジネスに不可欠なトラフィックを、予期しない不可欠でないネッ
トワーク伝達によって途絶されることなく送信されることを可能とする。  
【０００８】
更に他の態様においては、帯域幅の抑制は、ネットワーク・ボトルネックの検出及びボト
ルネック容量を検出する公正方針のアプリケーションに結合されたネットワークのエンド
・ホストにおいて自動カーネル-レベル・トラフィック・シェーピング（ｋｅｒｎｅｌ−
ｌｅｖｅｌ  ｔｒａｆｆｉｃ  ｓｈａｐｉｎｇ）によって達成される。
【０００９】
発明の更に他の態様においては、エンド・ホストからのネットワーク使用情報のコレクシ
ョンは、中心コレクション階層を介して統合される。
【図面の簡単な説明】
【００１０】
【図１】図１は例示的なグローバル・ネットワークを図解する。
【００１１】
【図２】図２は本発明の態様による機能的な構成要素階層を図解する。
【００１２】
【図３】図３は本発明の態様によるフロー図である。
【００１３】
【図４】図４は利用価値に関する帯域幅配分を示すグラフである。
【００１４】
【図５】図５は利用価値に関する異なる重み付け値を有するユーザーについての帯域幅配分を示すグラフである。
【００１５】
【図６】図６は利用価値に関する集約された帯域幅配分を示すグラフである。
【００１６】
【図７】図７は本発明の態様によるフロー図である。
【００１７】
【図８】図８Ａ−Ｂは本発明で使用するためのコンピュータ・システムを図解する。
【詳細な説明】
【００１８】
本発明の態様、特徴、及び効果は、例示的実施態様の以下の説明及び添付図面を参照して
斟酌するときに明らかになるであろう。異なる図面中の同様な参照番号は、同一若しくは
類似の要素を特定し得る。更にまた、以下の説明は限定的なものではなく、本発明の要旨
は、添付の特許請求の範囲とその均等物によって規定される。
【００１９】
図１は本発明の態様と共に使用する例示的な相互接続ネットワーク１００を図解する。図
示のように、ネットワークは幾つかのホスト１０２を含み、これはコンピュータ、例えば
サーバー又はクライアント・デバイスである場合がある。ホスト１０２は、ネットワーク
におけるノード１０４を通じて相互に結合し得る。ホスト１０２は、外部ネットワーク、
記憶システム、又は他のデバイス（図示せず）にも結合し得る。各々のノード１０４は、
リンク１０６を介してネットワーク上の他のデバイスとの論理的インターフェースを有す
るルータを含み得る。各々の論理的インターフェースは、ビット毎秒で所定の能力を有す
るものとして特徴付けることができる。
【００２０】
ホスト１０２は、コンピューティング資産を互いに一般に共有するクラスタに分類し得る
。図１に示された例では、ホスト１０２ａ，１０２ｂ及び１０２ｃは、ネットワーク・ク
ラスター１０８である。複数のクラスタは、同じサイト又は存在点（ｐｏｉｎｔ  ｏｆ  
ｐｒｅｓｅｎｃｅ：ＰＯＰ）で作動し得る。図１において、ホスト１０２ａ乃至１０２ｆ
は、同じＰＯＰで作動する二つの個別のクラスタ１０８を表す。ネットワーク経路は、リ
ンク１０６を介してネットワークにおける一点から他点への論理的インターフェースの配
列であり、一方、「ＰａｔｈＳｅｔ」は複数の経路のセットである。ＰａｔｈＳｅｔは、
一つのネットワーク・クラスターと他との間で送信されるデータについて採ることができ
る全ての経路を記述するのに用いることができる。更に、各々の経路は相対的な重みを有
し、これは、二つ以上の個別の経路を有するＰａｔｈＳｅｔに沿って送信されるときに、
ネットワーク・トラフィックが分割されねばならない比率を示す。
【００２１】
本発明の一つの例示的な実施形態が図２のアーキテクチュア２００に示されている。この
実施形態においては、システム２００は以下の構成要素を含む。即ち、グローバル・ブロ
ーカー２０２、サイト・ブローカー２０４、仕事シェーパー２０６、及びホスト・シェー
パー２０８である。図１に示すように、これらの構成要素は、大規模ネットワークの様々
なホスト１０２に取り込むことができる。ネットワークのユーザーは、個人及びクライア
ント・デバイスを含み得る。更に、アーキテクチュア２００の一つ以上の構成要素は、ネ
ットワーク上の単独のデバイスに取り込み得る。例えば、サイト・ブローカー２０４、仕
事シェーパー２０６、及びホスト・シェーパー２０８は、個々のモジュールの各々に関連
した機能を実行することができるプロセッサを有する単独のデバイスに常駐するソフトウ
ェア・モジュールから構成し得る。
【００２２】
図２のアーキテクチュア２００に示すように、グローバル・ブローカー２０２は、帯域幅
執行階層の最上位に位置する。異なるネットワーク・クラスターの間でネットワーク上で
利用可能帯域幅を分割する役割を果たすのは、グローバル・ブローカー２０２である。グ
ローバル・ブローカー２０２は、サイト・ブローカー２０４から帯域幅使用と帯域幅要請
に関する情報を受信する。グローバル・ブローカー２０２へ提供されるネットワーク伝達
情報は、望ましい粒度で提供することができる。例えば、帯域幅使用及び要請をネットワ
ーク上の各々のデバイスへ提供する代わりに、サイト・ブローカー２０４は、デバイスク
ラスター（２１２）に関する情報をグローバル・ブローカー２０２へ提供することができ
る。例えば、グローバル・ブローカー２０２へ提供されるネットワーク・データ情報は、
ネットワーク上の各々のソースクラスターと目的クラスタの識別を含み得る。
【００２３】
ネットワーク伝達情報は、異なる優先順位で各々の伝達を指定することもできる。例えば
、耐性のある潜在性である伝達には低い優先順位が指定され、一方、レイテンシに敏感な
伝達には高い優先順位を指定し得る。更に、ネットワーク伝達は強制又は非強制の何れか
に指定し得る。強制データは帯域幅強制計画の影響を受ける一方、非強制データには適用
されない。ネットワーク伝達は、それが所定の帯域幅閾値よりも下がるとき、ネットワー
ク伝達は非強制として指定し得る。ネットワーク伝達情報は、採られる伝達経路の指標も
含み得る。例えば、ネットワークが複数の基幹回線を包含するならば、伝達情報は伝達が
どの基幹回線を採るかについて示し得る。
【００２４】
ネットワーク伝達情報は上述のように提供された伝達指定の各々を利用する主要な構成要
素の形態、又は特有の変数の形態で表現され得るので、決定される変数に依存して異なる
「主体」を形成する。例えば、「クラスタ主体」は、以下の変数によって表現し得る。即
ち、<ソースクラスター、目的クラスタ、伝達経路、優先順位、強制／非強制>である。従
って、各々のクラスタ主体は、これら５つの変数の独特の組合せを包含する。後述するよ
うに、異なる構成要素変数の組合せを形成することによって、他のネットワーク「主体」
を形成することができる。  
【００２５】
各々の個別のクラスタ主体ごとに、サイト・ブローカー２０４は、グローバル・ブローカ
ー２０２へ帯域幅使用と帯域幅要請を集約する効用関数とを渡して、要請がユーザーによ
って要請されている相対的な重み付けを提供する（２１２）。次いでグローバル・ブロー
カー２０２は、ネットワーク管理者によって選択されたネットワーク共有方針を実装する
。効用関数及びネットワーク共有方針については、以下に詳細に説明する。
【００２６】
グローバル・ブローカー２０２は、ネットワークの現在のトポロジーを表すネットワーク
・モデルを維持するようにも構成し得る。使用及び要請情報のみならず、ネットワーク・
モデルは、グローバル・ブローカー２０２によってネットワーク内の混雑したリンクを検
出するのに用いられ得る。次に、グローバル・ブローカー２０２はクラスタ主体ごとに帯
域幅限界を計算して、様々なクラスタ組の間で利用可能帯域幅を分割し得る。好ましくは
、グローバル・ブローカー２０２は、帯域幅限界をサイト・ブローカー２０４へ周期的に
伝える(２１４)。一つの例においては、これは１０秒毎程度である。他の例においては、
この情報の交換は、他の規則的な又は予め設定された間隔、例えば１−１５秒毎、１−１
５分毎、又は所定の状態に応じて起こることがあり、これはネットワークで引き起こされ
るイベントとし得る。このように、システムは、現在のネットワーク要請に基づいて帯域
幅配分を提供し得る。
【００２７】
サイト・ブローカー２０４は望ましくは、各々のネットワーク・サイト若しくは存在点（
ＰＯＰ）において実行される。グローバル・ブローカー２０２から伝達２１４を介して、
帯域幅限界を受け取るのは、サイト・ブローカー２０４である。このサイト・ブローカー
２０４も、伝達２１８を介して、仕事シェーパー２０６の間に各々のユーザー及び仕事に
ついての帯域幅を定期的に分配する。好ましくは、この分配は、１０秒毎程度で起こる。
他の例においては、この情報の交換は、他の規則的な又は予め設定された間隔、例えば１
−１５秒毎、１−１５分毎、又は所定の状態に応じて起こることがあり、これはネットワ
ークで引き起こされるイベントとし得る。  
【００２８】
具体的には、サイト・ブローカー２０４は、伝達２１４を介して、グローバル・ブローカ
ー２０２からクラスタ主体帯域幅限界を受信し、この受信した帯域幅限界をユーザー主体
に従ってユーザー帯域幅限界に分割する。ユーザー主体は、ユーザー、伝達のソースクラ
スター、伝達の目的クラスタ並びに伝達のＤｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃ
ｅｓ  Ｃｏｄｅ  Ｐｏｉｎｔ（ＤＳＣＰ）の識別からなる。Ｑｏｓ保証及び関連したネッ
トワーク選択を包含するのはＤＳＣＰである。異なる仕事の中での特定のユーザーの帯域
幅を分割する際に、サイト・ブローカー２０４は、伝達２１６を通じて、仕事シェーパー
２０６により提供される仕事主体を利用する。仕事主体は、ユーザー主体と同じ変数から
なるが、ネットワークのユーザーにより実行される特定の仕事の識別も含むことが好まし
い。従って、サイト・ブローカー２０４は、仕事主体の各々を集計して、ユーザー主体を
形成する。サイト・ブローカー２０４は、次いでユーザー主体情報をクラスタ主体の形態
に集計して、このクラスタ主体を、伝達２１２を介して、グローバル・ブローカー２０２
へ提供し得る。好ましくは、サイト・ブローカー２０４は、グローバル・ブローカー２０
２にクラスタ主体要請を含む使用報告を、例えば、１０秒毎程度で提供する。他の例にお
いては、この情報の交換は、他の規則的な又は予め設定された間隔、例えば１−１５秒毎
、１−１５分毎、又は所定の状態に応じて起こることがあり、これはネットワークで引き
起こされるイベントとし得る。  
【００２９】
仕事シェーパー２０６は、各々のネットワーク・クラスターにて実行され、それらの仕事
に関連したタスクの間で仕事レベル帯域幅限界を分割して、これらの限界を、伝達２２２
を介して、ホスト・シェーパー２０８へ提供する役割を果たす。好ましくは、仕事シェー
パー２０６は、帯域幅限界を５秒毎程度で分配する。他の例においては、この情報の交換
は、他の規則的な又は予め設定された間隔、例えば１−１５秒毎、１−１５分毎、又は所
定の状態に応じて起こることがあり、これはネットワーで引き起こされるイベントとし得
る。この分配は、タスクによって使用されない何れの帯域幅も他のタスクへ再分配されな
ければならないという点で、仕事を節約するので望ましい。仕事シェーパー２０６はまた
仕事レベル帯域幅使用をサイト・ブローカー２０４へ伝達２１６を介して定期的に報告す
る。好ましくは、これらの周期的帯域幅報告は、１０秒毎程度に生じる。他の例において
は、この情報の交換は、他の規則的な又は予め設定された間隔、例えば１−１５秒毎、１
−１５分毎、又は所定の状態に応じて起こることがあり、これはネットワークで引き起こ
されるイベントとし得る。この機能の実行において、仕事シェーパー２０６は、ホスト・
シェーパー２０８から提供されるタスク主要帯域幅使用及び要請を受信する。タスク主体
は、仕事主体と同じ変数を含むが、望ましくは、仕事のために実装された各々のタスクの
識別も含む。従って、タスク主体は、以下の主要な構成要素を含むように構成し得る。即
ち、<ユーザー、仕事、タスク、ソースクラスター、目的クラスタ、ＤＳＣＰ>である。
【００３０】
ホスト・シェーパー２０８はネットワーク内のあらゆるホストで実行し得るが、しかし、
これは必要とされない。ホスト・デバイスがネットワーク上にデータを送信するとき、伝
達パケットはホストが実行する個々の処理又はタスクによって分類し得る。各々のタスク
の識別は、ホスト・デバイス上で実行されるカーネル３４０、例えばＬｉｎｕｘ（登録商標）カーネルによって実行し得る。それによってカーネル３４０は、システムにホスト・デバイスの各々のネットワーク接続、例えばＴＣＰを対応するタスク及びユーザーへ位置付けることを可能にする。このタスク使用情報を、伝達２２０を介して、仕事シェーパー２０６へ定期的に報告するのはホスト・シェーパー２０８であり、仕事シェーパー２０６により提供される帯域幅限界を、伝達２２２を通じて、個々のホストへ実施するのはホスト・シェーパー２０８である。定期的タスク使用報告は、好ましくは５秒毎程度で生じる。他の例においては、この情報の交換は、他の規則的な又は予め設定された間隔、例えば１−１５秒毎、１−１５分毎、又は所定の状態に応じて起こることがあり、これはネットワークで引き起こされるイベントとし得る。ネットワーク上で送信された各タスクは、伝達が生じる遠隔クラスタ、エンドユーザー並びに伝達のＤＳＣＰの識別に基づいて特定のホストにおいて分類される。各々の遠隔クラスタ及びＤＳＣＰ対について、帯域幅使用が測定されて、トークン・バケット・アルゴリズムを用いて調整される。  
【００３１】
各々のホスト・シェーパー２０８は、多数の機能を実行するように構成し得る。例えば、
ホスト・シェーパー２０８は、それらのインターネット・プロトコル（ＩＰ）サブネット
に対するネットワーク・クラスター名の地図を管理することができる。各々のホスト・シ
ェーパー２０８は、ネットワーク上で新たなクラスタ間トラフィックについての定期的な
検査を実行することもでき、次いで、新しいトラフィック制御クラスを形成する。トラフ
ィック制御クラスのツリーは、ホスト・シェーパー２０８により分割して管理することが
できる。トラフィック制御クラスの区分、以下の主要な構成要素に基づいてなすことがで
きる。即ち、<局所的タスク、遠隔クラスタ、ＤＳＣＰ＞である。ホスト・シェーパー２
０８は、他のトラフィック最適化機能、例えば特定のクラスタ内ネットワーク・トラフィ
ックのための第１の経路の形成、及び応答のアップストリーム・アクノリッジメント（Ａ
ＣＫ）の優先順位決定を実行するようにも構成し得る。
【００３２】
更に、ホスト・シェーパーは各々のホストにおいてスループット閾値検査を実行すること
ができ、ネットワーク伝達のためにトークン・バケットを形成することができる。トーク
ン・バケットは、理論的なバケット内のトークンの存在に基づいて、トラフィックをいつ
送信できるかを決定する制御機構である。バケットはトークンを含み、その各々はバイト
の単位又は所定のサイズの単独のパケットを表すことができる。ネットワーク管理者は、
特定の数のバイトを送信するためにどれぐらいのトークンが必要かを指定し得る。トーク
ンが存在するとき、フローはトラフィックを送信することを可能にする。トークンがバケ
ット内に無いならば、フローは許可されず、パケットは送信されない。トラフィックをい
つ送信するかについて決定するための他の公知の機構を代替的に使用し得る。アップスト
リーム仕事シェーパー２０６からの入力に応じて、ホスト・シェーパー２０８はまた、ト
ークン・バケットに対する制限を更新し得る。機能していないトークン・バケットは破棄
することができる。一つの例では、各々のトークン・バケットは、Ｂ秒のバーストサイズ
を有する平均ビット率Ｒを可能とするように構成することができる。任意の所定の率Ｒ及
びバーストＢにおいて、不活性Ｂの期間は、Ｒ＊Ｂビットの総計に等しいライン速度、即
ちデータ伝達速度におけるバーストを可能にすべきトラフィックを起動させ、且つＲの持
続率は無為の欠如で達成することができる。
【００３３】
帯域幅調整は、多くの既存の方式で生じさせることができる。例えば、カーネル内調整は
、Ｌｉｎｕｘ  ＨＴＢパケット・スケジューラ及びパケット分類器を用いて実装すること
ができる。ＴＣＰについて、伝達のクライアント側で常に帯域幅を調整することができる
点に留意されたい。しかしながら、このような処理は、ネットワーク・クライアントが大
量のデータを取るとき、大きなクライアント側バッファリングをしばしば必要とする。従
って、データを送信するネットワークの側で帯域幅を調整することが好ましいことがある
。
【００３４】
帯域幅実施システムは、ネットワーク・モデルクラスターリポーター（「クラスター・リ
ポーター」）モジュール２１０も含むことがあり、これは各々のネットワーク・クラスタ
ーで作動して、ネットワーク上の幾つか又は全ての他のクラスタに経路探索操作を実行す
る。クラスター・リポーター２１０は経路探索データを集計して、これを伝達２２４を介
して、グローバル・ブローカー２０２へ報告する。それと引き換えに、クラスターレポー
ター２１０は、伝達２２６を介して、グローバル・ブローカー２０２から、ネットワーク
上の全ての既知のクラスタのリストを受信する。クラスター・リポーター２１０は、定期
的に仕事シェーパー２０６に経路探索指令を送信するように構成することもできる。
【００３５】
システム２００は、部分的には、以下に説明する処理を用いて、ネットワークの望ましい
帯域幅分配方針を実施するように構成される。帯域幅分配方針を実施する構成は、一つ以
上の構成要素、例えば以下のものを含むことができる。即ち、ユーザーの重み、手動調整
、恒久的分配、自動実施規則、自動強制閾値、ネットワーク・モデル無効化、及びクラス
ターリストである。ユーザー重みは、ユーザーが帯域幅エンフォーサ２００から受け取る
帯域幅の割合を決定する数値である。ユーザー重みは、特定の伝達についてのサービス・
レベルの品質に依存することができる。従って、各々の伝達について、規定のユーザー重
み及びクォリティ・オブ・サービス乗数（ＱｏＳ乗数）が用いられる。ＱｏＳ乗数は、デ
ータ伝達の特定の形式のためにサービスの品質レベルを設定する値である。従って、一つ
の例においては、所定の伝達のためのユーザー重みは、ＱｏＳ乗数を乗算された既定のユ
ーザー重みであり、 
ユーザー重み＝規定のユーザー重み＊ＱｏＳ乗数
である。
【００３６】
例えば、ユーザーＡとユーザーＢは共に１００のＱｏＳ乗数を割り当てられたネットワー
ク上でデータ伝達を実行しているものとする。ユーザーＡが１の既定のユーザー重みを有
し、且つユーザーＢが１．５の既定のユーザー重みを有するとすると、ユーザーＡの伝達
は（１．０＊１００）＝１００の実際のユーザー重みが割り当てられ、一方、ユーザーＢ
の伝達は（１.５＊１００）＝１５０の実際のユーザー重みを割り当てられる。ユーザー
重み乗数又はＱｏＳ乗数の値は、特定のネットワーク・ユーザーの重要性を決定すること
に関連する要因の任意のセットに依存するであろう。例えば、大量のデータを必要とする
重大なプロジェクト又は時間的制約のあるプロジェクトに取り組んでいるユーザーには、
あまり重要でないプロジェクトに取り組んでいるユーザーよりも、より高いユーザー重み
乗数及びより高いＱｏＳ乗数が与えられるであろう。ユーザー重みは、必要に応じて、特
定のユーザーについて無効にすることができる既定設定としての働きをなすことができる
点に留意されたい。例えば、ユーザーが、ユーザーは充分な帯域幅を受けていないと判断
するならば、ユーザーは更なる帯域幅の要請を提出し得る。この要請はユーザーのネット
ワーク・デバイスを通じてなし得て、この要請はデバイスのホスト・シェーパー２０８か
らグローバル・ブローカー２０２へ送信し得る。現在のネットワーク使用又はネットワー
ク管理者からの入力に依存して、次いでグローバル・ブローカー２０２は、既定ユーザー
重み設定を無効にすることにより、更なる帯域幅をユーザーへ提供し得る。  
【００３７】
帯域幅実行システム２００により用いられる他の構成要素は、恒久的分配（ＰＡ）である
。ＰＡは、重要なユーザー転送のためにネットワーク上で帯域幅を確保するのに用いるこ
とができる。従って、ＰＡはシステムの分配方針における最も高い優先順位を与えるであ
ろう。このシステムは、ユーザー、ソースクラスター、目的クラスタ、及びＱｏｓ値の主
要な構成要素に基づいてＰＡ確保を指定することができる。例えば、グローバル・ブロー
カー２０２は、ユーザーＡが予め既定された閾値より上のＱｏＳを用いてクラスタＢから
クラスタＣへデータを送ろうとするならば、２  Ｇｂｐｓの帯域幅をユーザーＡのために
確保するように構成することができる。ユーザーＡがこの確保された帯域幅を使っていな
いとき、それは他のユーザーへ一時的に割り当てることができる。
【００３８】
他のシステム構成要素は手動調整であり、これはユーザーが二つのネットワーク・クラス
ターの間で送ることができる率に対する最大の制限を指定する。この手動調整は、仕事レ
ベル（仕事調整）又はユーザー・レベル（ユーザー調整）にて指定することができる。ユ
ーザー調整は、ＰＡ、即ちユーザー、ソースクラスター、目的クラスタ、及びＱｏｓレベ
ルと同じ主要な構成要素を包含する。仕事調整は、ユーザーにより実行されている仕事を
指定する第５の主要な構成要素の追加により、同じ主要な構成要素を使う。
【００３９】
システムにより用いられる更に他の構成要素は自動実施規則であり、これは何れのネット
ワーク伝達フローを実施させるべきであり、何れを強制しないままにするかを指定する。
各々の自動実施規則は、帯域幅施行、例えば指定された伝達経路から、適用除外するネッ
トワーク・パラメータの任意の数を指定することができる。ネットワーク・パラメータは
、ソースクラスター、目的クラスタ、ユーザー、仕事、又はその種の他のもの、並びにそ
れらの任意の組合せの指定を含むことができる。同様に、自動実施規則は、帯域幅エンフ
ォーサの分配方針における自動包含のためのネットワーク・パラメータを指定することが
できる。更に、帯域幅エンフォーサは、伝達が帯域幅エンフォーサの分配方針の影響を受
ける前に、必要とされる帯域幅使用率を指定する自動強制閾値を実装し得る。この閾値は
、仕事主体レベルに強制することができる。例えば、自動強制閾値は５  Ｍｂｐｓに設定
することができるので、それが５  Ｍｂｐｓの閾値より上の使用率を持たない限り、各々
の仕事主体は帯域幅エンフォーサの分配方針の影響を受けない。好ましくは、帯域幅エン
フォーサは自動強制的なバケットへの閾値を満足する各々の仕事主体を配置して、これは
所定の期間（例えば１５分）に亘って仕事主体を自動強制的なバケットに保つ。他の例で
は、期間は他の規則的な又は予め設定された間隔で、例えば１分毎乃至１時間毎、或いは
所定の状態に応じて生じることがあり、これはネットワークで引き起こされるイベントと
し得る。このように、閾値の上下に断続的に移動するネットワーク伝達は、強制的な状態
と非強制の状態との間で前後に反転されない。自動強制閾値は、伝達経路に依存して異な
る閾値レベルに設定することもできる。例えば、ネットワークが二つ以上の基幹回線を包
含するならば、帯域幅エンフォーサは第１の基幹回線の閾値を５  Ｍｂｐｓに設定するこ
とができ、一方、他の基幹回線のための閾値レベルが１０  Ｍｂｐｓに設定することがで
きる。 
【００４０】
ネットワーク・モデル無効化は、帯域幅エンフォーサ・システム２００の他の構成要素で
ある。ネットワーク・モデル無効化は、所定のリンク容量及び保存可能な閾値についての
手動無効化を可能にする。この無効化は、順序付きリストに包含されている規則のセット
として表現することができ、このリスト内の第１の整合規則が適用される。リンク容量無
効化と保存可能閾値無効化とのために、別々の順序付きリストが使用される。各々のリン
クは、リンクのソース・ルータ、目的値ルータ、及び使用されるインターフェースの識別
によって、規則のセットに指定することができる。  
【００４１】
ネットワークに存在するクラスタは、クラスターリストで特定することができる。各々の
クラスタについて、このリストはクラスタの名前、それが属するサイト又はＰＯＰ並びに
クラスタが存在するサブネットを包含することができる。
【００４２】
ネットワークに二人のユーザーが同じユーザー重みを持つならば、彼らが同じソースクラ
スターから同じ目的値クラスタへの同じＱｏＳを持つことを条件として、帯域幅エンフォ
ーサ・システム２００は同じ量の帯域幅を割り当てる。これは必ずしも、ユーザーが異な
るクラスタ対の間に伝達を送信する例における場合というわけではない。しかしながら、
帯域幅エンフォーサ・システム２００は、彼らが異なったソースと目的地との間で伝達し
ているか否かに拘わらず、ネットワーク・ユーザーの間で公正さを提供するように構成し
得ることに留意されたい。更に、帯域幅エンフォーサ２００は、ユーザーがその重み値を
、優先順位トークンを介して、他のユーザー・フローへ貸すことを可能にして、この他の
ユーザー・フローが初期のユーザー優先順位で働くことができるように構成することがで
きる。
【００４３】
上述したように、帯域幅エンフォーサ・システム２００は、ネットワーク上の全てのユー
ザー・デバイスからのクラスタ間ネットワーク使用情報を統合する。この使用情報を外挿
して、ネットワークにおける帯域幅要請を予想若しくは予測するようにすることができる
。次いで、外挿された使用情報を処理を共有している様々な帯域幅に取り込むことによっ
て、帯域幅エンフォーサは、帯域幅をユーザー・デバイスの間に割り当てることができる
。
【００４４】
帯域幅エンフォーサ・システムは「ウォータフィル」（ｗａｔｅｒｆｉｌｌ）処理として
説明できるものを実装し、これは競合するユーザー、仕事、及びタスクの間のネットワー
クの利用可能帯域幅を分割する。ウォータフィル処理の目的のために、各々の仕事主体は
、特定のユーザー主体と関係付けることができる。従って、仕事主体は、関連する親ユー
ザー主体の子主体であると考えることができる。同様に、各々のタスク主体は仕事主体と
関連付けることができ、その仕事主体の子主体であると考えることができる。  
【００４５】
ウォータフィル処理３００は、図３のフロー図に図解されている。ウォータフィル処理３
００はシステムにおける任意のモジュールにより実行し得るが、好ましくはサイト・ブロ
ーカー２０４又は仕事シェーパー２０６により実行される。処理はブロック３０２におい
て開始され、初期の帯域幅ウォータ・レベルは０に設定される。ブロック３０４では、帯
域幅エンフォーサ・モジュールが利用可能な主体から選択され、即ち、最低の帯域幅要求
ｄを有する子主体である。ブロック３０６では、全ての残りの子主体のために最低の要請
を満たすために充分な残りの帯域幅が利用できるか否かが決定される。ブロック３０６に
対する答えが「ｙｅｓ」であるならば、処理はブロック３０８へ進み、帯域幅ウォータ・
レベルは量ｄだけ増加される。次いでブロック３１０では、全ての子の帯域幅要請が量ｄ
だけ減少する。ブロック３１２では、利用可能帯域幅は（ｄ＊残りの子主体の数）だけ減
じられる。次いでブロック３１４では、以前にブロック３０４で選択された最低要請子主
体が将来の考慮から取り除かれて、処理はブロック３０４へ戻る。ブロック３０６に対す
る答えが「Ｎｏ」であるならば、処理はブロック３１６へ進み、ここではウォータ・レベ
ルが残りの子の数で除された残りの帯域幅だけ増加される。ウォータフィル処理３００が
完了すると、ブロック３０６を満たした全ての主体についての帯域幅制限は、その主体に
ついての要請と等しくなる。他の全ての主体にとって、この制限はブロック３０８の最後
の反復によって設定されたウォータ・レベルと等しくなる。このように、ウォータフィル
処理は、全ての競合する主体の間で利用可能帯域幅を最大最小公平な方法で分割し、これ
はデータフローが到達する最小限のデータ速度が最大にされることを意味する。
【００４６】
サイト・ブローカー２０４は、効用関数を生成することによって、ネットワーク・ユーザ
ーについての帯域幅要請をまとめることができる。より詳しくは、単独の効用関数は、ネ
ットワーク・クラスターの同じ対の間にデータを送信している複数のユーザーで帯域幅要
請の表現として働くことができる。先述のように、効用関数はユーザーの重みと各々のユ
ーザーへ許可されたＰＡを考慮することもできる。  
【００４７】
図４は二人のユーザー、即ちユーザー１とユーザー２のための効用関数を図解し、各々の
ユーザーは異なるＰＡを有する。この例では、ユーザー１は１  ＧｂｐｓのＰＡを割り当
てられており、一方、ユーザー２には４  ＧｂｐｓのＰＡが割り当てられている。図４に
示される利用価値のスケールは、任意に（実際には、決定的であるそれらの相対的な値だ
け）設定することができる。この例の目的のために、効用関数は値０と２００との間で実
行される。帯域幅共有の間で最高の優先順位が指定されたＰＡが与えられるなら、効用関
数はＰＡのためだけに０と１００との間の利用価値を保存する。残りのユーザー要請は、
１００と２００との間の利用空間にまとめられる。図４に示すように、両方のＰＡは、１
００とその上のユーティリティにおいて、完全に満足される。１００未満の利用価値のた
めに、各々のユーザーは、それらのＰＡに比例して帯域幅を与えられる。
【００４８】
ユーザーに与えられたＰＡを越えたユーザー要請のために、帯域幅はユーザー重みに比例
して割り当てられる。図５は、各々が２  Ｇｂｐｓの帯域幅を要請する二人のユーザーの
効用関数を図解する。この例では、二人のユーザーは何らのＰＡも割り当てられていない
ので、ユーザーは１００及びそれより下の利用価値をについてユーザーへ与えられた帯域
幅を有していない。しかしながら、１００を越える利用価値については、システムはユー
ザー４に０．４の重みを割り当て、一方、ユーザー３に０.２の低いユーザー重みを割り
当てるように構成されている。従って、ユーザー４の要請は、ユーザー３の要請よりも低
い利用価値で与えられる。
【００４９】
サイト・ブローカー２０４は、各々のユーザー主体の帯域幅要請について効用関数を生成
することができる。次いでこれは、同じクラスタ対についてのユーザー主体要請を単独の
効用関数にまとめることができ、これは要約された効用関数と称される。図６は、ユーザ
ー１、ユーザー２、ユーザー３、及びユーザー４の要約された効用関数を図解する。図６
に示すように、図４及び５に与えられたような各ユーザーの個々の効用関数についての帯
域幅要請の単なる線形追加である。
【００５０】
システムは、ネットワーク・ユーザーの効用関数を取り込む漸進的な充填処理を実行する
ことにより、競合する主体の間で利用可能なネットワーク帯域幅を如何に分割するかを決
定し得る。例示的な漸進的充填処理７００は、図７に図解されている。ブロック７０２に
て開始して、初期ユーティリティは、値０に設定される。ブロック７０４においては、利
用価値は量ｋイプシロンだけ増加される。満足していないか又は機能停止しなかった各競
合主体について、主体の効用関数を用いてどれぐらいの帯域幅配分をするかを計算し、増
加したユーティリティが形成される（ブロック７０６）。次いで、処理は競合主体におい
て特定された各ソース・クラスタと目的クラスタとの間に複数の経路が存在するか否かを
判定する（ブロック７０８）。単独の経路のみが存在するならば、経路のリンクの将来の
帯域幅使用がブロック７１０において、ブロック７０６において判定された帯域幅配分に
基づいて増加される。ソース・クラスタと目的クラスタとの間に複数の経路が存在するな
らば、複数の経路の間の帯域幅配分を拡張することにより、ブロック７０６の増加された
帯域幅配分がネットワーク・リンクに加えられる（ブロック７１２）。各々の経路は異な
る増倍率（ｍｕｌｔｉｐｌｉｃａｔｉｏｎ  ｆａｃｔｏｒｓ）によって重み付けることが
できるので、複数の経路が存在するならば、各々の経路の間の割り当ては経路の相対的な
重みに比例することに留意されたい。ブロック７１４においては、処理はブロック７１０
及び７１２の帯域幅配分が任意のネットワーク・リンクの容量を越えるか否かを判定する
。容量を越えるリンクがないならば、処理はブロック７０４へ戻る。ネットワーク・リン
クの容量を越えるならば、そのリンクはボトルネックとして指定されて、このボトルネッ
ク・リンクを横断する全ての主体は機能停止して、これは、それらをより多くの帯域幅に
割り当てることができないことを意味する（ブロック７１６）。次いで、現在の利用価値
（ＣＵＶ）からｋイプシロンを引いたもの（ＣＵＶ−ｋイプシロン）と現在の利用価値（
ＣＵＶ）との間で二分探索を実行して、リンク容量が越えない利用価値を判定する（ブロ
ック７１８）。ブロック７０４において開始された処理は、全ての主体が機能停止するか
、又はそれらの帯域幅要請を満たすかの何れかまで繰り返される（ブロック７２０）。 
【００５１】
多くの例において、ネットワークは、帯域幅エンフォーサ・システムによる管理が適用さ
れないデータを送信する。競合するクラスタ主体の間の帯域幅配分においては、グローバ
ル・ブローカー２０２は、全てのそのような非管理トラフィックについて、論理的インタ
ーフェースの利用可能な容量に合わせて調整する。例えば、論理的インターフェースが利
用可能な容量で１０  Ｇｂｐｓを有し、且つ現在の利用が８  Ｇｂｐｓであると仮定する
。利用の５  Ｇｂｐｓのみが管理可能であるとすれば、グローバル・ブローカーは利用可
能帯域幅から他の３    Ｇｂｐｓを引く。それによって、その論理的インターフェースの
ために７  Ｇｂｐｓの有効容量が形成される。
【００５２】
一旦、非管理帯域幅が占められるならば、漸進的な充填処理は競合するクラスタ主体に帯
域幅を割り当てるのに用いることができる。この処理を実行する際に、サイト・ブローカ
ー２０４はグローバル・ブローカー２０２へ、クラスタ主体ごとにまとめられた要請を包
含する効用関数を渡す。これらの効用関数は、サイト・ブローカー２０４により、そのク
ラスタにおける個々のユーザー主体のために効用関数から計算される。システムは、一部
のユーザー主体に手動調整を与えるように構成し得る。これらのユーザー主体のために、
サイト・ブローカー２０４は調整値によって帯域幅要請に上限を定めることができ、これ
は、それらの主体は構成された調整値より多くの帯域幅を割り当てることができないこと
を意味する。帯域幅が、漸進的な充填処理を実行した後に依然として利用可能であるなら
ば、残りの帯域幅はユーザー主体の間でボーナス帯域幅として分割することができる。ユ
ーザー主体の何人かが割り当てられたボーナスを使わないとすると、ボーナス帯域幅は、
可変なスケーリング要因によって、用意した供給を超えて発行することができる。例えば
、各々のユーザーは１と１０との間でスケーリング要因を割り当てらて、ボーナス帯域幅
はスケーリング要因に比例して割り当て得る。
【００５３】
上述のように、グローバル・ブローカー２０２は、クラスタ主体ごとに帯域幅制限をサイ
ト・ブローカー２０４へ提供する。次いでサイト・ブローカー２０４はクラスタ主体ごと
にまとめられた効用関数を調べることができ、割り当てられた帯域幅制限に対応している
利用価値を判定することができる。この利用価値はマスター率と称することができ、ユー
ザー主体効用関数におけるユーザー主体ごとに帯域幅制限を調べるのに用いることができ
る。グローバル・ブローカー２０２がクラスタ主体にボーナスに帯域幅を割り当てたなら
ば、このボーナス帯域幅はユーザー主体の間で分割することができる。
【００５４】
ユーザー主体のために効用関数を構成する目的で、サイト・ブローカー２０４は、そのユ
ーザー主体の帯域幅要請が何であるかを判定する。これは、最近の期間、例えばこの２分
間に亘るピークのユーザー主体帯域幅使用を選択することによってなし得る。充分な帯域
幅配分を保証する目的で、サイト・ブローカーは、ユーザー主体のピーク使用に、所定の
要因、例えば１．１を乗じて、僅かにより高いピーク・ユーザー主体要請を形成し得る。
他の選択肢においては、ピークの使用スケーリング要因は、１と１.５との間に及び得る
。一部のユーザーにとって、帯域幅エンフォーサ・システム２００は、手動調整を与える
ように構成し得る。これらのユーザーのために、帯域幅要請は、調整値によって上限を定
められる。更に、これらのユーザーには、調整値を越えるボーナス帯域幅が割り当てられ
ることはない。このように、これらのユーザーに割り当てられた帯域幅は、構成された調
整設定を越えることはない。
【００５５】
次いでサイト・ブローカー２０４は、ユーザー主体へ割り当てられた帯域幅制限を、様々
な仕事主体におけるウォータフィル処理を実行することにより、その構成仕事主体の間で
分割することができる。ウォータフィル処理が実行された後に帯域幅が依然として残って
いるならば、それは仕事主体の間でボーナス帯域幅として分割することができる。仕事主
体の幾つかが割り当てられたボーナスを使わないとすると、ボーナス帯域幅は、可変なス
ケーリング要因によって、用意した供給を超えて発行することができる。例えば、各々の
仕事が１と１０との間でスケーリング要因を割り当てられて、ボーナス帯域幅はスケーリ
ング要因に比例して配分し得る。ウォータフィル処理に使用すべき帯域幅要請の決定にお
いては、各々の仕事のために、サイト・ブローカー２０４は、最近の期間、例えば２分間
に亘って生じたピーク要請を使用し得る。他の例においては、ピーク要請を決定するため
の期間は他の間隔、例えば１-１５分間、又は所定の状態に設定して、これはネットワー
クで引き起こされるイベントとし得る。異なる仕事が異なる時間でピークに達すると、シ
ステムはユーザー主体のために全体の帯域幅制限を拡大することができる。ピークの仕事
主体要請の合計に等しいスケーリング要因は、ピーク・ユーザー主体要請によって分割さ
れる。或る仕事については、システムは構成された手動調整を有し得る。この例では、ウ
ォータフィル処理の要請は、調整値によって上限を定められる。同様に、これらの仕事に
は、調整値を越えてボーナス帯域幅が割り当てられることはない。
【００５６】
一旦サイト・ブローカー２０４が仕事主体に対して帯域幅限界を割り当てるならば、次い
で仕事シェーパー２０６は割り当てられた仕事主体帯域幅を構成タスク主体（Ｔａｓｋ  
Ｐｒｉｎｃｉｐａｌｓ）の間で分割することができる。この機能は、様々なタスク主体上
でウォータフィル処理３０の修正版を実行することによって、実行される。仕事について
のそのタスクがバースト性であり、且つその異なるタスクが異なる時間において集中する
ならば、同じ帯域幅制限は各々のタスクに割り当てられる。この制限は、処理が終了した
ときのウォータ・レベルと等しい。ウォータフィル処理３０に使用すべき帯域幅要請を決
定する際に、各タスクについて、サイト・ブローカー２０４は、最近の期間、例えば２分
間に亘って生じたピーク要請を使用することができる。異なるタスクが異なる時間でピー
クに達するとすると、システムは仕事主体のための全体の帯域幅制限を拡大し得る。スケ
ーリング要因は、ピーク仕事主体要請により徐せられたピーク・タスク主体要請の合計に
等しい。
【００５７】
システムは、帯域幅エンフォーサ２００により引き起こされて帯域幅増加の期間中のトラ
フィックの突然の集中を防止するように構成し得る。例えば、増加した帯域幅配分の漸進
的増大は、異なる仕事のために実行することができて、何らかの同時集中を防止する。更
に、このシステムは、ネットワーク・ユーザーが、ユーザーの仕事がシステムによって調
整されているか否かを知ることができるように構成し得る。従って一覧は、ユーザー、ソ
ース・クラスタ、目的クラスタ、及びＱｏｓによって識別されたネットワーク・フローご
とに利用可能とすることができる。この一覧は、伝達の経路に沿ったリンク・レベルでな
すことができる。システムは、その資産割当てのより多くを重要な仕事又はタスクに捧げ
て、より重要でない仕事又はタスクのためにより少ない資産を残すことをユーザーが可能
にするように構成することもできる。これは、ユーザーに重み値を個々の仕事及びタスク
に割り当てるのを可能にすることによって実行することができる。システムは冗長な構成
要素を包含することにより、たとえ特定の構成要素が故障しているか或いは到達できない
としても、継続的な操作を可能にすることもできる。例えば、システムは、ネットワーク
の異なる部分で動作する複数のグローバル・ブローカー２０２を包含し得る。いつでも、
一つのグローバル・ブローカー２０２だけは、「ライブ（ｌｉｖｅ）」に指定される。サ
イト・ブローカー２０４はネットワークにおけるあらゆるグローバル・ブローカー２０２
に対して情報を報告し、情報を受け取り得る。しかしながら、サイト・ブローカー２０４
は、ライブ・グローバル・ブローカー２０２によって与えられた帯域幅限界を受け入れる
のみである。冗長性は、サイト・ブローカー２０４及び仕事シェーパー２０６のためにも
実装し得る。
【００５８】
本発明の態様によるシステムは、以下の例示的なコンピュータ・システムにより実装し得
る。図８Ａは、単独で又はネットワーク化された構成において使用することができる様々
なコンピュータ・デバイスを描くコンピュータ・システムの概略図を示す。例えば、この
図は、複数のコンピュータ３０２、３０４、３０６、及び３０８並びに他の形式のデバイ
ス、例えば携帯用の電子機器、例えば携帯電話３１０及びＰＤＡ３１２を有するコンピュ
ータ・ネットワーク３００を図解する。しかしながら、本発明はそのように限定されるも
のではなく、ネットブック及びパッド型ハンドヘルド・コンピュータ（図示せず）を含む
他のデバイスも使用し得る。このようなデバイスは、局所的又は直接的接続３１４を介し
て相互接続し得るか、及び／又は通信ネットワーク３１６、例えばＬＡＮ、ＷＡＮ、イン
ターネット等を介して結合することもでき、これらは有線又は無線とし得る。
【００５９】
各々のデバイスは、例えば、一つ以上の処理デバイスを含むことがあり、ユーザー入力、
例えばキーボード３１８及びマウス３２０及び／又は様々な他の形式の入力デバイス、例
えばペン入力、ジョイスティック、ボタン、タッチスクリーンなど並びにディスプレイ３
２２を有し、そのディスプレイは、例えば、ＣＲＴ、ＬＣＤ、プラズマ・スクリーン・モ
ニタ、テレビ、プロジェクターなどを含むことができる。各々のコンピュータ３０２、３
０４、３０６、及び３０８は、パーソナル・コンピュータ、サーバー等とし得る。例示の
みとして、コンピュータ３０２及び３０６はパーソナル・コンピュータ、コンピュータ３
０４はサーバー、コンピュータ３０８はラップトップとし得る。  
【００６０】
図８Ｂに示すように、コンピュータ３０２及び３０４のような各々のコンピュータは、プ
ロセッサ３２４、メモリ／ストレージ３２６及びコンピュータに典型的に存在する他の構
成要素を包含する。例えば、メモリ／ストレージ３２６は、プロセッサ３２４によりアク
セス可能な情報を記憶し、これはプロセッサ３２４により実行し得る指令３２８及びプロ
セッサにより検索、操作又は記憶し得るデータ３３０を含む。サーバーにおける指令３２
８は、現在のシステムにおける一つ以上のモジュール、例えばグローバル・ブローカー２
０２又はサイト・ブローカー２０４に関連した操作を含み得る。ユーザシステムにおける
指令３２８は、一つ以上のモジュール、例えば仕事シェーパー２０６及びホスト・シェー
パー２０８に関連した操作を含み得る。
【００６１】
メモリ／ストレージは、プロセッサによりアクセス可能な情報を記憶する能力の或る任意
の形式若しくは任意のデバイス、例えばハード・ドライブ、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯ
Ｍ、フラッシュメモリ、書き込み能力のある又は読出し専用メモリとし得る。プロセッサ
３２４は、多くの公知のプロセッサ、例えばインテル社又はアドバンスド・マイクロ・デ
バイセスからのプロセッサから構成し得る。或いは、プロセッサは、操作を実行する専用
のコントローラ、例えばＡＳＩＣ又は他の処理デバイスとし得る。  
【００６２】
指令３２８は、一つ又は複数のプロセッサにより直接に（例えば機械語として）又は間接
的に（例えばスクリプトとして）実行されるべき指令の任意のセットからなり得る。これ
に関して、用語「指令」、「段階」、及び「プログラム」は本明細書においては互換可能
に使用し得る。指令は、任意のコンピュータ言語又はフォーマットに、例えばソースコー
ドのオブジェクト・コード又はモジュールに記憶し得る。本発明による指令の機能、方法
及びルーチンは、以下に更に詳細に説明される。  
【００６３】
データ３３０は、指令３２８に従ってプロセッサ３２４により検索、記憶、又は修正し得
る。このデータは、データのコレクションとして記憶し得る。例えば、本発明は何らかの
特定のデータ構造によって限定されるものではないが、データは、コンピュータ・レジス
タ、複数の異なるフィールド及び記録を有するテーブルとしてのリレーショナル・データ
ベース、ウェブ・ページ・キャッシュ、ＸＭＬ文書などとして記憶し得る。
【００６４】
データは、任意のコンピュータで読取り可能なフォーマット、例えば２進値、アスキー又
はユニコードにもフォーマット化し得るが、これらに限定されるものではない。更に、デ
ータは、関連した情報、例えば説明文、プロプライエタリー・コード、ポインター、他の
メモリ（他のネットワーク位置を含む）に記憶されたデータ又は関連したデータを計算す
るために機能により用いられる情報への参照を識別するのに充分な任意の情報を含み得る
。更にまた、所定のアイテムは一つ以上のファイル、データベースに記憶されたデータ・
セット、ウェブ・キャッシュなどを含み得る。データのサイズと内容に依存して、その部
分は個別に記憶し得るか、さもなければ維持し得る。
【００６５】
プロセッサ３２４及びメモリ３２６は図８Ｂにおいては同じブロック内にあるように機能
的に図解されているが、プロセッサ及びメモリは実際には複数のプロセッサ及びメモリか
らなり、これらは同一の物理的ハウジング又は場所に保管されるか、保管されないことも
あることが理解されよう。例えば、指令及びデータの一部若しくは全ては、取り外し可能
なＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又はフラッシュ・ドライブ、及びほか[の指令]は読出し
専用コンピューター・チップ内に記憶し得る。指令及びデータの一部若しくは全ては、プ
ロセッサから物理的に離隔しているが、依然としてアクセス可能な場所に記憶し得る。同
様に、プロセッサは、実際には複数のプロセッサのコレクションからなり、これらは並行
に作動することもあれば、しないこともある。データは、ハード・ドライブ等のような複
数のメモリ３２６に亘って分散されて記憶し得る。
【００６６】
一つの態様において、サーバー３０４は一つ以上のクライアント・コンピュータ３０２、
３０６及び／又は３０８、並びにデバイス、例えば携帯電話３１０及びＰＤＡ３１２と通
信し得る。各々のクライアント・コンピュータ又は他のクライアント・デバイスは、サー
バー３０４と同様に構成でき、これはプロセッサ、メモリ及び指令、並びに一つ以上のユ
ーザー入力デバイス３１８、３２０、及びユーザー出力デバイス、例えばディスプレイ３
２２を有する。各々のクライアント・コンピュータは汎用コンピュータである場合があり
、これは個人の使用のために意図されており、パーソナル・コンピュータに標準的に見ら
れる全ての構成要素、例えば中央処理装置（ＣＰＵ）、ディスプレイ、ＣＤ−ＲＯＭ又は
ＤＶＤドライブ、ハード−ドライブ、マウス、キーボード、タッチ検知性スクリーン、ス
ピーカー、マイクロフォン、モデム及び／又はルーター（電話、ケーブル又はその他）及
びこれらの要素を互いに接続するために用いられる全ての構成要素を有する。
【００６７】
サーバー３０４、ユーザー・コンピュータ及び他のデバイスは、他のコンピュータと、例
えばネットワーク３１６上で、直接的及び間接的に通信する能力がある。幾つかのコンピ
ュータのみが図８Ａ−Ｂに描かれているが、代表的なシステムは、多数の接続されたサー
バー及びクライアントを含むことができ、各々の異なるコンピュータはネットワークの異
なるノードにあることを理解されたい。ネットワーク３１６及び介在ノードは様々な形態
及びプロトコルからなり、これはインターネット、イントラネット、仮想プライベート・
ネットワーク、ワイド・エリア・ネットワーク、局所的ネットワーク、一つ以上の企業が
所有する通信プロトコルを用いるプライベートネットワーク、イーサネット（登録商標）、ＷｉＦｉ、ブルートゥース（登録商標）又はＴＣＰ／ＩＰを含む。  
【００６８】
任意の介在ノードを含めて、ネットワークに亘る通信は、他のコンピュータに対してデー
タを送受信する能力がある任意のデバイス、例えばモデム（例えば、ダイヤル・アップ又
はケーブル）、ネットワーク・インターフェース及び無線インターフェースにより促進し
得る。サーバー３０４は、ウェブサーバとし得る。情報が上述したように送信又は受信さ
れたときに特定の利点が得られるが、本発明の他の態様は情報の伝達の如何なる特定の方
法に限定されるものではない。例えば、或る態様では、情報はディスク、テープ、ＣＤ−
ＲＯＭなどの媒体を介して送信されるか、或いはダイヤル・アップ・モデムを介して二つ
のコンピュータ・システムの間で直接に送信され得る。他の態様においては、特定の情報
は非電子フォーマットで送信されて、手動でシステムへ入力し得る。 
【００６９】
更に、本明細書に説明されたシステム及び方法によるコンピュータ及びユーザー・デバイ
スは、指令を処理して、人及び他のコンピュータに対してデータを送受信する能力がある
任意のデバイスからなり、これは局所的記憶能力を欠くネットワーク・コンピュータ、モ
デム付のＰＤＡ、例えばＰＤＡ３１２，インターネット能力がある無線電話、例えば携帯
電話３１０，ネットブック及びパッド型ハンドヘルド・コンピュータを含む。
【００７０】
本明細書において本発明について特定の実施形態を参照して説明したが、これらの実施形
態は単に本発明の主旨及び応用の例示であることを理解されたい。従って、幾多の変更例
を実施形態になし得るのであって、添付の特許請求の範囲により規定されたような本発明
の要旨及び目的から逸脱しない範囲で他の構成を構築し得ることを理解されたい。
【産業上の利用可能性】
【００７１】
本発明は、ネットワーク・デバイスの間にデータを転送するための適応可能な帯域幅配分
を用いるコンピュータ・ネットワークを含めて、広い産業上の利用可能性を享受するが、
これに限定されるものではない。
【図１】
0006356319.tif 000002
【図２】
0006356319.tif 000003
【図３】
0006356319.tif 000004
【図４】
0006356319.tif 000005
【図５】
0006356319.tif 000006
【図６】
0006356319.tif 000007
【図７】
0006356319.tif 000008
【図８Ａ】
0006356319.tif 000009
【図８Ｂ】
0006356319.tif 000010