(57)【要約】方法、システム、及び装置は、ネットワークトランザクションための帯域幅を保証する。ネットワークは、複数のノードを持つツリーのように論理的に組織化されている。それぞれのノードは、ネットワークを通じたネットワークトランザクションについてサービスを保証することができる。それぞれのノードは、そのトラフィックをモニタして、予め定められた量の使用されていない帯域幅をその隣接するノードとともにリザーブする。特定のノードが追加の帯域幅を必要とする場合、当該ノードは隣接するノードから帯域幅を借りる。
2007517415.tif 000002
【特許請求の範囲】
【請求項１】
１つのネットワークトランザクション要求を１つの発信ノードから受信する段階と、
前記要求を満たすための充分な帯域幅を１つの宛先ノードが持つことを判断する段階と、
複数の中間ノードを介して宛先ノードにサービスが保証されることを前記発信ノードに通知する段階と、
宛先ノードの帯域幅から前記トランザクションを提供するために必要とされるトランザクションの帯域幅を減らす段階と
を備える方法。
【請求項２】
ネットワークを通じた前記宛先ノードに対する前記ネットワークトランザクションを処理する段階
をさらに備える請求項１に記載の方法。
【請求項３】
前記ネットワークトランザクションが完了すると、必要とされる前記トランザクションの帯域幅を、前記宛先ノードの帯域幅に加える段階と
をさらに備える請求項１に記載の方法。
【請求項４】
前記ネットワークトランザクションを処理する段階と、
前記複数の中間ノードのうちの１つで、前記処理の間、前記ネットワークトランザクションのために不十分な帯域幅が利用可能であることを検出する段階と、
前記１つの中間ノードによって、前記１つの中間ノードを通じた前記ネットワークトランザクションを処理するために必要とされる前記不十分な帯域幅を、１つの隣接するノードから借りる段階と
をさらに備える請求項１に記載の方法。
【請求項５】
借りる段階は、
前記隣接するノードが以前に他の隣接するノードから取り分けた、リザーブされた帯域幅を要求する段階
をさらに有する請求項４に記載の方法。
【請求項６】
借りる段階は、
前記隣接するノードによって、前記隣接するノードに隣接する他のノードから、前記不十分な帯域幅の少なくとも一部が借りられる、追加の借りる段階
を有する請求項４に記載の方法。
【請求項７】
前記宛先ノードの帯域幅を、プロセッシングノード、前記複数の中間ノード、及び前記宛先ノードで管理及び調整する段階
をさらに備える請求項１に記載の方法。
【請求項８】
１つのネットワークの１つのプロセッシングノードでトラフィック量をモニタする段階と、
前記量が予め定められた限度を予め定められた量だけ下回ることを検出する段階と、
前記予め定められた量をリザーブする段階と、
前記リザーブされた予め定められた量を、１つの隣接するノードに伝達する段階と
を備える方法。
【請求項９】
１つの異なるプロセッシングノードで、利用可能な帯域幅を超える１つのネットワークトランザクション要求を検出する段階と、
前記隣接するノードによって保持される前記リザーブされた予め定められた量から、前記ネットワークトランザクションをサービスするための必要とされる帯域幅の量を要求する段階と
をさらに備える請求項８に記載の方法。
【請求項１０】
前記隣接するノードで利用可能な帯域幅に、前記リザーブされた予め定められた量を追加する段階
をさらに備える請求項８に記載の方法。
【請求項１１】
必要とされる帯域幅要求を異なるプロセッシングノードから受信した後に、前記隣接するノードで、要求された帯域幅の量を前記利用可能な帯域幅から減らす段階
をさらに備える請求項１０に記載の方法。
【請求項１２】
前記要求された帯域幅の量が前記利用可能な帯域幅を超える場合に、前記隣接するノードで、前記隣接するノードに隣接する１つの隣接するノードから、前記要求された帯域幅の量の少なくとも一部を借りる段階
をさらに備える請求項１１に記載の方法。
【請求項１３】
前記プロセッシングノードによって、前記隣接するノードを含む、前記プロセッシングノードに直接接続されたノードのリストを管理する段階
をさらに備える請求項８に記載の方法。
【請求項１４】
前記プロセッシングノードによって、１つの宛先ノードで利用可能な全帯域幅の総計を管理する段階
をさらに備える請求項８に記載の方法。
【請求項１５】
１つのネットワーク内の１つの宛先ノードに向けられたネットワークトランザクションを要求する１つの発信ノードと、
前記要求を最初に受信する１つの第１プロセッシングノードと
を備え、
前記第１プロセッシングノードは、前記宛先ノードが前記ネットワークトランザクションを行うことができるか否かを判断し、できる場合に、前記第１プロセッシングノード、１以上の中間ノード、及び前記宛先ノードを通じて前記ネットワークトランザクションを完了するために十分な帯域幅が前記ネットワークにおいて利用可能であることを、前記発信ノードに保証するシステム。
【請求項１６】
前記第１プロセッシングノードは、前記ネットワークトランザクションのために必要とされるトランザクションの帯域幅を、１以上の中間ノードのうちの１つである次のプロセッシングノードに伝達し、
必要とされる前記トランザクションの帯域幅は、残りの前記中間ノード及び前記宛先ノードに前記ネットワーク全体にわたって連続的に伝達される
請求項１５に記載のシステム。
【請求項１７】
前記発信ノード及び前記第１プロセッシングノードは、前記発信ノードが前記保証を受け取った後に前記ネットワークトランザクションの処理を開始する
請求項１５に記載のシステム。
【請求項１８】
前記中間ノードのうちの１つは、前記ネットワークトランザクションを処理するための十分な帯域幅を欠くことを検出し、前記１つの中間ノードは、隣接するノードのうちの１つから前記十分な帯域幅を借りて前記ネットワークトランザクションを処理する
請求項１７に記載のシステム。
【請求項１９】
前記１つの中間ノードは、他のノードによって隣接するノードに伝達された、以前にリザーブされた帯域幅を取り戻すことによって、前記十分な帯域幅を借りる
請求項１８に記載のシステム。
【請求項２０】
アクセスされた場合に、ネットワークの１つのノードで１つの機械に、
１つのプロセッシングノードで、ネットワークトラフィック量が予め定められた閾値を予め定められた量だけ下回ることを検出することと、
ネットワークトラフィックについて利用できない前記予め定められた量をリザーブすることと、
前記予め定められた量を１つの隣接するノードに伝達することと
を実行することもたらす関連するデータ
を備える機械可読メディア。
【請求項２１】
前記機械は、
ネットワークトランザクションが追加の帯域幅を要求すると検出された場合に、他のノードによって、前記予め定められた量の少なくとも一部を前記隣接するノードから要求することをさらに実行する
請求項２０に記載のメディア。
【請求項２２】
前記機械はさらに、
隣接するノードによって、前記隣接するノードに隣接する他のノードから、他のプロセッシングノードからの要求を満たす追加の帯域幅を、前記要求が以前にリザーブされた予め定められた量を超える場合に、借りることを実行する
請求項２１に記載のメディア。
【請求項２３】
前記機械はさらに、
ネットワークトランザクションの宛先ノードについて利用可能な全帯域幅を、前記プロセッシングノード、前記隣接するノード、１以上の中間ノード、及び前記宛先ノードで維持することを実行する
請求項２０に記載のメディア。
【請求項２４】
ネットワークトランザクションを処理する１つのネットワークノード
を備え、
前記ネットワークノードは、
ネットワークトラフィックをモニタし、当該ネットワークトラフィックを１つの隣接するノードに通信する１つのトラフィックモニタと、
前記トラフィックモニタとの通信に基づいて帯域幅の割り当てを調整する１つの帯域幅変更部と、
前記トラフィックモニタ及び前記帯域幅変更部との通信に基づいて、利用可能な帯域幅を割り当てる１つのシグナリングプロセッサと
を有し、
前記ノードは、そのトラフィックモニタ、帯域幅変更部、及びシグナリングプロセッサを使用して、予め定められた帯域幅の量に対する任意の要求の前に、予め定められた帯域幅の量が利用可能になった場合に、当該予め定められた帯域幅の量をリザーブして、当該リザーブを前記隣接するノードに伝達する
装置。
【請求項２５】
前記ノードは、前記隣接するノードから、前記トラフィックモニタ、帯域幅変更部、及びシグナリングプロセッサを通じて、追加の帯域幅を要求するよう構成される
請求項２４に記載の装置。
【請求項２６】
前記ノードは、ネットワークの宛先ノードについての利用可能な全帯域幅を保持し、前記宛先ノードに基にした十分な帯域幅が存在する場合に、ネットワークトランザクションの１つの発信ノードにサービスを保証する
請求項２４に記載の装置。
【請求項２７】
前記ノードは、前記隣接するノード及び他の複数のノードへの複数のリンクを管理し、
前記複数のリンクは、１つのネットワークを論理的に表す１つのツリー内での前記ノードの位置を表す
請求項２４に記載の装置。
【請求項２８】
前記ノード及び前記複数のリンクは、前記ツリーの前記隣接するノード及び前記他の複数のノードに対する前記ノードについての指定又はつながりを定める
請求項２７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、広くコンピュータネットワークに関し、より詳しくは、ネットワークトラフィックのための帯域幅管理に関する。
【背景技術】
【０００２】
サービス品質（ＱｏＳ）は、ネットワーク伝送に先立って、伝送レート、エラーレート、及び他のネットワーク伝送特性が計測、向上、及びある程度保障されることが可能である概念である。ＱｏＳは、ビデオ、オーディオ、マルチメディア、及び同様のもののような大量のデータを恒常的に伝送する高帯域幅ネットワークに対して重要な問題である。さらに、ＱｏＳは、インターネットのような、複数のインターネットサービスプロバイダ（ＩＳＰ）を通じて任意の単一のネットワークトランザクションが複数のサブネットワークに広がり得る、地理的に分散されたネットワークに対して問題となる。
【０００３】
適切なＱｏＳアーキテクチャを提供する試みは、しばしばスケーラビリティ問題を経験する。すなわち、独立したサブネットワーク（例えば、複数のＩＳＰ）は、任意の実用的な商業ソリューションを実現すべく、過度に互いに依存することを要求される。独立するサブネットワークが他のサブネットワークのオペレーション上のスペックに依存するようになると、それらは、スケーラブルでなくなり、望ましくなくなる。スケーラビリティが充分に達せられた場合、その結果は大抵、プロバイディングスケーラビリティを犠牲にしてネットワークスループットを劇的に低下させる、過度に複雑な実装スキームで達成される。
【０００４】
したがって、大きな地理的に分散したネットワークに対して、ネットワークスループットに著しく影響を与えず、過度に複雑でないような方法でスケーラビリティが達成される、よりスケーラブルなＱｏＳ技術が必要とされる。
【図面の簡単な説明】
【０００５】
【図１】本発明の一実施形態に係る、サービスを保証するためのネットワーク図である。
【０００６】
【図２】本発明の一実施形態に係る、ネットワークサービスを保証する方法のフロー図である。
【０００７】
【図３】本発明の一実施形態に係る、保証されたネットワークサービス要求の帯域幅を管理するための方法のフロー図である。
【０００８】
【図４】本発明の一実施形態に係る、帯域幅管理システムの図である。
【発明を実施するための最良の形態】
【０００９】
図１は、トランザクションがネットワーク１００内で処理される前に、ネットワークトランザクションのためのサービスを保証するネットワーク１００の図である。その技術は、ネットワークのプロセッシングデバイス内にコンピュータアクセス可能媒体で実装される。これらのデバイスは、ルータ、ハブ、ブリッジ、スイッチ、ゲートウェイ、ファイアウォール、プロクシ、サーバ、クライアントワークステーション、及び同種のものであってよい。ネットワーク１００は、ツリーの枝のそれぞれが１つのノードである１つのツリーとして、コンピュータアクセス可能媒体の中で論理的に表現される。１つのノードは、発信ノードと宛先ノードとの間のネットワークトランザクションに関連するデータパケットをルーティングすることによって、ネットワークトランザクションに加わるプロセッシングデバイスである。
【００１０】
本発明の実施形態は、ネットワーク１００のノード間のサービスを保証するための、改良された技術を提供する。保証することは、ネットワーク１００のノード及びリンクが機能し、他の場合に機能しなくならないことを仮定して、ネットワークトランザクションが開始する前に帯域幅可用性が保証されることを意味する。リンク及びノードがハードウェア又はソフトウェア障害により変則的に機能しなくなる又はリンク及びノードが計画されたメンテナンス活動により機能しなくなることがあり得るので、ネットワークトランザクションがネットワーク１００内で完了するという絶対的な保証はできないことを、当業者は容易に理解する。
【００１１】
図１に示されたネットワーク１００は、互いに独立に動作可能な種々の自立システム（ＡＳ）を含む。これらの複数のＡＳは、ＩＳＰ、プライベートネットワーク、及び同種のもののような、独立したサブネットワークとして考えられ得る。サブネットワークは、全世界に地理的に広がることができる。それぞれのＡＳの中で、プロセッシングノードのいくつかは外部の他の複数のＡＳと直接的に通信するために使用される。これらのノードはエッジノードと呼ばれる。
【００１２】
ネットワーク１００の全体は、１つのツリーとして論理的に組織化される。図１において、当該ツリーは逆転され、ツリーのルートがＡＳ  Ｙによって識別され、最も遠いリーフがＡＳ  Ｘによって識別される。ツリーのルートノードは、エッジノードＤである。ＡＳ  Ｎは、子０、１、及び２の父である。さらに、子は互いに兄弟とみなされる。それぞれのＡＳはそれ自体、自身の内部のルートノード、父ノード、及び兄弟ノードを持つサブツリーとみなされる。さらに、父の子は、その息子とみなされる。したがって、父ＡＳ  Ｎは、Ｃｈｉｌｄ  ０、Ｃｈｉｌｄ  １、及びＣｈｉｌｄ  ２として識別される息子を持つ。さらに、ＡＳ  Ｎは、ＡＳ  Ｘの祖父とみなされる。
【００１３】
ネットワークトランザクションは、ネットワーク１００の任意の２以上のノード間の通信である。ネットワークトランザクションを始めるノードは発信ノードと呼ばれる。ネットワークトランザクションは、発信ノードから宛先ノードにデータパケットを伝達する。したがって、発信ノードがネットワークトランザクションを通じて通信を希望するノードは、宛先ノードと呼ばれる。ネットワークトランザクションは、発信ノードから１以上の中間ノードを通じた宛先ノードへのネットワークデータパケットの伝達を含んでよい。したがって、ネットワークトランザクションは、ネットワークを通じた発信ノードから宛先ノードへのパスに関連する。様々なパス生成及び動的変更アルゴリズムはネットワーク技術においてよく知られており、既存のネットワークアーキテクチャ及びプロトコルを用いて容易に実現可能である。そのようなアルゴリズム及びアーキテクチャの全ては、本発明の実施形態とともに使用されることが可能である。
【００１４】
ネットワークパケットがネットワーク１００の任意の２つのノード間で存在して送信される量及び速度は、帯域幅と呼ばれる。これらのデータ伝達は、ネットワーク１００のリンクにわたって生じ、リンクは複数のノードを接続する。それぞれのリンクは、異なるタイプの媒体、異なる量、異なる速度、及び異なる数のネットワークトランザクションの同時セッションを処理することができてよい。それぞれのリンクのハード及びソフト制限は、そのハードウェア及びソフトウェア構成に基づいて、それぞれのノードによって予め知られる。これらの制限は、よく知られた既存のネットワークプロトコル及び技術を用いて、ノード間で通信され得る。
【００１５】
発信ノードが、宛先ノードに向けた特定のネットワークトランザクションを要求するとき、発信ノードは、宛先ノードにトランザクションを処理するために十分な量の帯域幅がネットワーク１００内に存在することを、トランザクションを開始する前に知ることを希望する。本発明の実施形態において、これは帯域幅管理規則（ＢＣＣ）計算で実現される。発信ノードは、ネットワークパス内に定められた最初のプロセッシングノードにネットワークトランザクションを要求する。最初のプロセッシングノードは、宛先ノードの利用可能な帯域幅の総量を特定して、宛先ノードに定められた全ての顕著なトラフィックの帯域幅を合計する。この計算は、そのトランザクションを満たすために帯域幅が存在するであろうことを発信ノードに保証するＢＣＣ計算である。その保証に応じて、発信ノードはネットワーク１００を通じてネットワークトランザクションを開始する。
【００１６】
一例として、１０ＫＢの帯域幅を要するネットワークトランザクションを要求する発信ノードＡを考える。そのトランザクションは、宛先ノードＮに向けられ第１プロセッシングノードＢに最初に要求される。Ｎは１２８ＫＢの最大の帯域幅を持つことができる。ＡがＢに要求したとき、Ｎに向けた現在のトラフィックの総計は１１０ＫＢである。
【００１７】
この例において、Ｂは、ＢＣＣを適用して、そのネットワークトランザクションが保証されている場合に、ネットワークトランザクションが任意の時点でＮが処理することができる１２８ＫＢの最大の帯域幅より小さい、Ｎに向けられた現在の１２０ＫＢのトラフィックが存在するであろうことを判断する。このように、Ｂは、Ａから要求を受け取った場合にＢＣＣ計算を行い、ネットワークトランザクションが保証され得るか否かを決定する。その保証はその後にＢからＡに通信され、ネットワークトランザクションが始まる。
【００１８】
ＢＣＣは、以下の式で定められ得る。ここで、発信ノードはＡＳ  Ｘで識別されるノードであり、宛先ノードはＡＳ  Ｙ（ツリーのルート）のエッジノードＤである。
【数１】
2007517415.tif 000003
Ｂｉｊｘは、エッジノードｉ及びｊの間で利用できるＡＳ  Ｘの全帯域幅であり、ｒｉｊＤは、エッジノードＤをルートとしたツリーにおける、ＡＳ  Ｘの対応する部分である。したがって、１つのネットワークトランザクションに関連する帯域幅要求が、エッジノードＤに定められた全帯域幅の集計と合算されたとき、エッジノードＤが処理することができる全帯域幅より小さければ、ＢＣＣの式は真をとり、ネットワークトランザクションは保証されたサービスであり得る。
【００１９】
この計算はスケーラブルなアプローチである。なぜなら、必要とされる全ては、宛先ノードに関連する既知の帯域幅制限の他に、宛先ノードに向けられている存在するトラフィックの総計を合計する計算であるからである。集計のトラフィックは、ネットワークにおいてアクティブであり、宛先ノードに現在向けられている全ての現在のネットワークトラフィックを意味する。しかしながら、ネットワークトランザクションがネットワーク１００を通じて進んでいる任意の与えられた時点で、１以上のノードは、ネットワーク要求を処理するため十分な帯域幅を有していないかもしれない。したがって、ＢＣＣは、ネットワークトランザクションのネットワークパスに関連するそれぞれのプロセッシングノードで、必要に応じて必要な動的な調整を行うべく拡張されてよく、それはＢＣＣの式によって保証される。
【００２０】
例えば、ネットワークトランザクションは、ＡＳ  ｍからＡＳ  Ｙのエッジノードｊ’へのサービスの保証の後に進展する。しかしながら、この時点で、ノードｊ’とｋ（リンクｊ’−ｋ）との間のリンクについての現在の帯域幅は容量一杯であり、そのネットワークトランザクションを処理することができない。リンクｊ’−ｋに対してその帯域幅を増加させる能力が無いと、トランザクションは機能しないか不当に遅延するだろう。したがって、ＢＢＣの静的なアプローチは、ノードが隣接する（兄弟、息子、父）複数のノードから帯域幅を借りることを可能にするClosest relation AllocatioN (CLAN) 技術で拡張される。
【００２１】
ＣＬＡＮ技術を用いて、ネットワーク１００のノードのそれぞれは、隣接するノードへのリンクで、より具体的には父ノードで生じているトラフィック量をモニタする。特定のノードが、父ノードへのリンクで生じている帯域幅の低下に気付いたとき、その低下は父ノード（隣接するノード）に知らされる。このリザーブされた帯域幅は、父ノードによって保持され、他のより必要としている父の複数の息子に、必要とされたときに与えられる。
【００２２】
したがって、上に示されたこの例において、リンクｊ’−ｋが１２８ＫＢの量を保持できており、ノードｋに到達する必要があるネットワークトランザクションが現れたとき、ノードｋは、２つの残りの息子のうちの１つ又は両方から６４ＫＢを借りることができる。処理の間に２つの残りの息子が父ノードＫに利用可能な帯域幅の量を有することを発見した場合に、必要な時にそれらの父ノードから帯域幅を要求するので、ノードｋは、残りの息子のうちの１つ又は２つから６４ＫＢが取得可能であることを知る。
【００２３】
例えば、それぞれが１２８ＫＢの全帯域幅容量を有するノードｋへの３つのリンクを考え、さらにそれぞれの息子ノードが任意のある時刻にわずか６４ＫＢを管理すべく設定され、そして、６４ＫＢを超える帯域幅が必要とされ、父ノードが与えられたトランザクションについて６４ＫＢを超える容量がもはや必要とされないことに気付く度に、リリースして父ノードｋに通知するよう設定されることを考える。この例において、リンクｊ’−ｋを移動するネットワークトランザクションが追加の帯域幅を必要とする場合、父ノードｋはこの超過の帯域幅を管理する。帯域幅が以前にノードｊ’のうちの１つ又は両方の兄弟から借りられているので、父ノードｋは、息子ノードｊ’にそれを供給すべくリザーブする。
【００２４】
借りることは、２つの隣接するノード又は兄弟ノードの間で行われ得る。さらに、借りることは、１つのＡＳの中で生じる必要はない。例えば、エッジノードｊ’は、２つの異なるＡＳ（Ｌ及びＭ）をＡＳ  Ｎに接続する。したがって、ＡＳ  Ｍのエッジノードｊは、リンクｊ−ｊ’にわたるトランザクションを行うために、ＡＳ  Ｌの適切なエッジノードから借りることができる。これは、隣接するノード、又はノードｊとノードｊ’に直接接続するＡＳ  Ｌのエッジノードとの両方に対する父ノードとしてふるまうｊ’を介して行われる。
【００２５】
したがって、ＣＬＡＮを用いて、隣接するノードは、それらの息子に代わって父ノードによって帯域幅の量が管理されるよう、互いにポリシーを確立する。これらの帯域幅の量は、リザーブが適切な父ノードから使用される前に要求されるべきリザーブと考えられる。したがって、息子ノードは、それらの父を通じて、予め取り決められた量を超える帯域幅を借りる。借りられた帯域幅は、借りる息子ノードの兄弟ノードからもたらされるが、それらの父ノードによって管理される。同様にして、父ノードは、任意の時刻に、借りているノードがその兄弟及びその父の兄弟から帯域幅を取得し得るよう、ネットワーク１００内のその父ノードから借りることができる。
【００２６】
ネットワークのノード間の階層的な関係は、ＣＬＡＮ技術を用いて帯域幅を借りることを目的として管理される。借りることは、ネットワークの複数のノードを通じて進行しているネットワークトランザクションにとって必要とされる。すなわち、より大きい帯域幅を必要とするノードは、必要な帯域幅の割り当てを得るために、隣接するノードへのその最も近いつながりを使用し、この借りることは、最も近いつながりからの最初の借りることの後、ノードの親族を通じて上に進むことができる。
【００２７】
さらに、ＢＣＣ計算は、ネットワークトランザクションの発信ノードに与えられるべきトランザクション保証を可能にする。ここで、当該ネットワークトランザクションは、宛先ノードに到達すべくネットワーク１００を通じたある量の帯域幅を要求する、さらに、ネットワークトランザクションが進行した場合、ノード間の任意の特定のリンクがトランザクションを処理するために十分な帯域幅を欠いた場合、隣接するノードからＣＬＡＮ技術を用いて、帯域幅が一時的に借りられる。ＢＣＣ及びＣＬＡＮ技術は、複数のＡＳ又は独立したネットワークに対するＱｏＳへのスケーラブルなソリューションを提供する。これらの技術は過度に複雑ではなく、既存のネットワークプロトコルと、ＢＣＣを計算及びＣＬＡＮ技術を実装すべく設計されたソフトウェアとの中に実装され得る。
【００２８】
図２は、図１とともに上述されたＢＣＣ及びＣＬＡＮ技術を実装することによってネットワークサービスを保証する１つの方法２００のフロー図である。方法２００は、コンピュータアクセス可能媒体に実装され、ネットワークのそれぞれのノード上で処理されてよい。ノードは、ネットワークを通じたネットワークトランザクションを開始、ルーティング、及び処理する、ネットワーク内のプロセシングデバイスである。方法２００は、ネットワークのそれぞれのノード内に、ソフトウェア、ファームウェア、及び／又はネットワークプロトコルを介して実装され得る。
【００２９】
最初に、２１０において、第１プロセッシングノードによって、ネットワークトランザクション要求が受信される。その要求は１つの発信ノードから発生する。ネットワークトランザクションは、ネットワークの１以上の中間ノードを通じて宛先ノードに渡る、ネットワークトランザクションに関連するネットワークパケットのための１以上の経路を定めるネットワークパスに関連づけられる。第１プロセッシングノードは、当該ネットワークパスの最初のノードである。
【００３０】
第１プロセッシングノードは、発信ノードからネットワーク要求を受信した場合、当該宛先ノードに定められたネットワーク内に存在するトラフィックの総計とそのネットワークトランザクションによって必要とされる帯域幅との和が宛先ノードの最大帯域幅を超えるか否かをチェックすることにより、ＢＣＣ計算に基づいて、その要求が受け入れられるかを判断する。ＢＣＣ計算及び適切なチェックは２２０で行われる。トラフィックの総計のと必要とされる帯域幅との和が、宛先ノードの帯域幅制限を超える場合、２２２において、そのネットワークトランザクションは保証されることができず、発信ノードは同じように通知される。
【００３１】
しかしながら、２２０において、総計のトラフィックと必要とされる帯域幅との和が宛先ノードの帯域幅制限を超えない場合、２３０において、第１プロセッシングノードは発信ノードに、要求されたネットワークトランザクションが、ネットワーク内で宛先ノードに到達するのに十分な帯域幅を有するであろうことを保証する。一実施形態において、この保証が生じると、２４０で、宛先ノードでの利用可能な全帯域幅は、現在のネットワークトランザクションを満たすために必要とされる帯域幅だけ減少させられる。
【００３２】
勿論、ＢＣＣ計算を実装するための多様な方法が存在する。１つの技術は、宛先ノードに、その方向に向かうトラフィックの経過を追跡させ、絶え間なく動的に変化する現在の利用可能な帯域幅カウンタを維持させるだろう。他の方法は、動的にＢＣＣを計算するために、それぞれのノードにネットワーク内の他のノードに対して動的に問い合わせをさせる。当業者は、他の技術もまた存在し得ることを容易に理解するだろう。ＢＣＣ計算を解くそのような技術の全てが本発明の実施形態の中に含まれることが意図される。
【００３３】
第１プロセッシングノードがサービスを保証すると、２５０において、ネットワークを通じて宛先ノードに向けて処理すべく、ネットワークトランザクションが開始する。いくつかの実施形態において、ネットワークトランザクションの処理の間、ある時点で、２６０に示されるように、特定のプロセッシングノードは、ネットワークトランザクションに関連するネットワークパスの次のノードへのリンクを通じたネットワークトランザクションを処理するために必要とされる必要な帯域幅が実際に不足することを判断する場合がある。ネットワークのそれぞれのノードは、動的にこの問題を解決すべく、図１とともに上述されたＣＬＡＮ技術を動的に実行する。
【００３４】
したがって、２７０において、十分な帯域幅を欠く特定のプロセッシングノードは、ネットワークトランザクションを処理するために、必要とされる帯域幅を隣接するノードから借りる。このように、特定のプロセッシングノードの父ノードは、特定のプロセッシングノード及び特定のプロセッシングノードの兄弟ノードに代わって、リザーブの帯域幅を管理する。これらのノードは、父のいずれかの息子によって超過の帯域幅が必要とされることを条件としてそして超過の帯域幅が必要とされる場合に、父ノードが管理及び供給を担うことになる超過する帯域幅の量を、互いに予め確立する。さらに、いくつかの実施形態において、必要とする息子の父ノードが、必要としている息子の帯域幅要求を満たすのに十分な帯域幅を持っていない場合がある。これらの状況において、父は、父の兄弟（必要としている息子の祖父）から帯域幅を借りるべく、その父（父に隣接するノード及び必要としている息子の祖父）に連絡する。この借りることは、図１で上記されたような、ＣＬＡＮ技術に関連するルールに従って、必要に応じて続く。
【００３５】
方法２００の実施形態は、１つのネットワークとして論理的に組織化された異種ＡＳからスケーラブルなＱｏＳを提供すべく、ＢＣＣ及びＣＬＡＮ技術がネットワークのノードの間でどのように実装され処理されるかを示す。これらの実施形態は複雑でなく、ノード間で通信するための従来のネットワークプロトコルを使用するそれぞれのネットワークノード上で処理するソフトウェアで実施され得る。
【００３６】
図３は、保証されたネットワークサービス要求の帯域幅を管理するための１つの方法３００のフロー図である。方法３００は、ネットワークのノードのそれぞれの中に実装され、コンピュータアクセス可能媒体で実装される。方法３００は、それぞれのノードによって行われる処理及び１つのネットワークトランザクションの間にノード間で生じるいくつかの連携を表す。方法３００は、ＣＬＡＮ技術の実施形態を表し、そこでは複数のノードは、ネットワークトランザクションの間にネットワーク内で帯域幅を借りて管理する。
【００３７】
３１０において、ネットワークを通じて宛先ノードへのネットワークトランザクションを処理するプロセッシングノードは、自身のトラフィック量をモニタする。プロセッシングノードは、特定の予め定められたレベルでトラフィックをモニタするよう設定することを目的として、その隣接するノード（兄弟、父、及び息子）に知られた、以前に使用された複数のポリシーを持つ。トラフィックが予め定められた限度を下回ると、これは３２０で検出され、３３０において、利用可能な予め定められた量の帯域幅がプロセッシングノードに利用不可能になるようリザーブされる。
【００３８】
３４０において、それらの予め定められた量のリザーブされた帯域幅は、プロセッシングノードの父ノード（隣接するノード）に知られる。父ノードは、プロセッシングノードの代わりに、及びプロセッシングノードの兄弟の代わりに、リザーブされた帯域幅のプールを管理する。したがって、３５０において、他のノード（元のプロセッシングノードの兄弟ノード）が自身のネットワークトランザクションを処理しており、父ノードを通じたネットワークトランザクションを処理するために追加の帯域幅が必要であることを判断した場合、その兄弟ノードは、３６０において、必要な帯域幅を父ノード（隣接するノード）から借りるべく要求する。兄弟は、帯域幅を父から直接的に借りたが、兄弟の氏族が管理を目的として以前に父に預けた余剰能力から間接的に借りた。
【００３９】
この帯域幅管理及び借用技術は、図１及び２とともに上述したＣＬＡＮ技術の一実装例を示す。帯域幅の寄託（例えば、リザーベーション）及び回収に関連する、帯域幅の管理に関する複数のポリシーは、ネットワークの隣接するノードの間で伝達される。さらに、３７０において、ネットワークのノードのそれぞれは、特定のネットワークトランザクションの任意の特定の宛先ノードに関する帯域幅の総量を解決（例えば計算）するための管理技術によって必要とされたとき、ＢＣＣ計算を解くことができる。
【００４０】
方法３００は、ＣＬＡＮ技術の一実装例を提供し、ＢＣＣ計算を行う必要がある場合にその能力を維持する。これは、複数のノードを持つ異種ネットワークが、ネットワークトランザクションについてのＱｏＳを提供すべく、いかにしてスケーラブルな方法で互いに情報を交換することができるかを示す。
【００４１】
図４は、帯域幅管理システム４００の図である。帯域幅管理システム４００は、異種ネットワーク内でのＢＣＣ及びＣＬＡＮ技術の一実施形態を示し、そのネットワークはＡＳとして識別される複数のサブネットワークを含む。帯域幅管理システム４００は、コンピュータアクセス可能媒体で実装される。
【００４２】
帯域幅管理システム４００は、ネットワークツリー４０１として論理的に表す異種ネットワークを備え、ツリー４０１のブランチは、他のサブツリーを含むことができる。ツリー４０１は、ポインタとツリー４０１の属性及び特性に関連づけられたメタデータとによって、完全に管理され、扱われることができる。ツリー４０１は、複数のノード４０２及び４０３を含む。ノード４０２又は４０３のそれぞれは、他の隣接するノード４０２又は４０３に対するツリー内でのその前後関係に応じて、息子、父、及び／又は兄弟としての呼称をとる。したがって、１つのノード４０２又は４０３は、隣接するノード４０２及び４０３に対して複数の呼称を持ち得る。１つのノードは、隣接しないノードに対して、祖父、孫息子、叔父、及び同種のもののような、１つの呼称も持ち得る。
【００４３】
それぞれのノード４０２又は４０３は、それぞれのトラフィックモニタ４０２Ａ−４０３Ａ、帯域幅変更部４０２Ｂ−４０３Ｂ、及びシグナリングプロセッサ４０２Ｃ−４０３Ｃも含む。これらの要素は、ＢＣＣ及びＣＬＡＮ技術を実行するためのソフトウェア論理回路及び既存のネットワークプロトコルの両方を結びつける。
【００４４】
したがって、トラフィックモニタ４０２−４０３Ａは、その個々のノード４０２又は４０３上のトラフィックをモニタして、トラフィック情報を、隣接するノード４０２又は４０３のトラフィックモニタ４０２Ａ−４０３Ａに通知する。この通信及びモニタリングは、ＢＣＣ及びＣＬＡＮ技術に関連する処理を解決することにおいて有効である。例えば、トラフィック量は、特定のネットワークトランザクションの特定の宛先ノードについてのＢＣＣ計算を解くべく集計される。さらに、当該トラフィック量は、帯域幅を隣接するノード４０２又は４０３に寄託すべきか、貸し付けた帯域幅を隣接するノード４０２又は４０３から回収すべきかを決定すべく、使用され得る。
【００４５】
帯域幅変更部４０２Ｂ−４０３Ｂは、特定のプロセッシングノード４０２又は４０３に関連する帯域幅を調節すべく、トラフィックモニタ４０２Ａ−４０３Ａと通信する。すなわち、予め定められ、予め取り決められた量より小さい帯域幅をトラフィックモニタ４０２Ａ−４０３Ａが報告した場合、帯域幅変更部４０２Ｂ−４０３Ｂは、ＣＬＡＮ技術を実行すべく使用され、リザーブされた帯域幅として使用されていない追加の帯域幅を要求し、追加の帯域幅は隣接するノード４０２又は４０３に寄託される。逆に、ノード４０２又は４０３が追加の帯域幅を必要とする場合、帯域幅変更部４０２Ｂ−４０３Ｂは、隣接するノード４０２又は４０３から借り入れているさらなる帯域幅を要求すべく、現在のトランザクション基づいて、及びトラフィックモニタ４０２Ａ−４０３Ａからの帯域幅使用量の報告に基づいて、この要求を検出するために使用され得る。
【００４６】
シグナリングプロセッサ４０２Ｃ−４０３Ｃは、隣接するノード４０２又は４０３から、必要な帯域幅又は超過の帯域幅を実際にアロケート及び再アロケートされるべく、使用され得る。すなわち、指定されたリンクに帯域幅が切り替えられることを可能にする実際のデバイスは、シグナリングプロセッサ４０２Ｃ−４０３Ｃでコントロールされ得る。要するに、隣接するノード４０２及び４０３から帯域幅が寄託又は回収された場合、帯域幅は複数の物理リンクにわたって再アロケート並びにスロットルアップ又はスロットルダウンされる。このスロットリングは、シグナリングプロセッサ４０２Ｃ−４０３Ｃが担う。
【００４７】
オペレーションの間、トラフィックモニタ４０２Ａ−４０３Ａは、そのノード４０２又は４０３上のトラフィックを、隣接するノード４０２又は４０３に報告する。帯域幅変更部４０２Ｂ−４０３Ｂは、これを現在のネットワーク要求と組み合わせて使用して、帯域幅を変更する。シグナリングプロセッサ４０２Ｃ−４０３Ｃは、変更された帯域幅を検出して、ノード４０２及び４０３の影響されるリンクをスロットルアップ及びダウンすべく、内在する帯域幅デバイスを駆動する。
【００４８】
トラフィックモニタ４０２Ａ−４０３Ａ、帯域幅変更部４０２Ｂ−４０３Ｂ、及びシグナリングプロセッサ４０２Ｃ−４０３Ｃの使用は、大きな異種ネットワークにわたってスケーラブルなＢＣＣ及びＣＬＡＮ技術のモジュール式のイベント駆動型の実装を提供する。しかしながら、当業者は、モジュールの機能がより多くのモジュールにさらに分離され、またはより少数のモジュールに組み合わせられた、他の実装及びアーキテクチャが可能であることを理解する。ＢＣＣ又はＣＬＡＮ技術を実行すべく設計されたこのアーキテクチャに対するそのような変更の全ては、本発明の実施形態の範囲に含まれる。
【００４９】
上の記載は実例であって、限定するものではない。上の記載を検討すると、多くの他の実施形態が当業者に明らかであろう。したがって本発明の実施形態の範囲は、添付の請求項に従って、そのような請求項が与える均等物の及ぶ全範囲とともに決定されるべきである。
【００５０】
要約は、技術開示の性質及び要旨を読者が迅速に決定することができる要約を要求する連邦規則集第３７巻第１．７２項（ｂ）に準拠して提供される。それは、請求項の及ぶ範囲又は意義を解釈又は限定するために使用されないという了解の下に提出される。
【００５１】
前の実施形態の記載において、開示を簡素化することを目的として、多様な機能が１つの実施形態にまとめられている。この開示方法は、本発明の請求された実施形態が、それぞれのクレーム内に明示的に列挙された機能より多くの機能を要するという意図を示すと解釈されるべきではない。むしろ、以下の請求項が示すように、発明の主題は、１つの開示された実施形態の全ての機能にあるとは言えない。したがって、以下の請求項は、それぞれの請求項がそのまま別個の典型的な実施形態として、実施形態の記載に組み込まれる。
2007517415.tif 000004
【図２】
2007517415.tif 000005
【図３】
2007517415.tif 000006
【図４】
2007517415.tif 000007
【国際調査報告】
2007517415.tif 000008
2007517415.tif 000009
2007517415.tif 000010