(57)【特許請求の範囲】
【請求項１】
１つまたは複数の中間ネットワークノードを備えるパケット交換ネットワークにおけるキュー管理のための方法であって、中間ノードにおいて、
−  第１のキュー管理メカニズムに関連付けられた第１のクラスに属する第１のパケットと、第２のキュー管理メカニズムに関連付けられた第２のクラスに属する第２のパケットとを受信することと、
−  第１のキュー管理メカニズムに従って、第１のマークまたは破棄確率に基づいて第１のパケットをマークまたは破棄し、第２のキュー管理メカニズムに従って、第２のマークまたは破棄確率に基づいて第２のパケットをマークまたは破棄することと、
−  第１のマークまたは破棄確率を表す尺度に基づいて、第２のマークまたは破棄確率を計算することによって、第２のパケットをマークまたは破棄することを、第１のパケットをマークまたは破棄することに結合することと
を備える、方法。
【請求項２】
受信された第１および第２のパケットが、少なくとも１つのキューバッファに格納され、第１のマークまたは破棄確率が、少なくとも１つのキュー内の第１および第２のパケットの数に関連する尺度に基づいて決定される、請求項１に記載の方法。
【請求項３】
受信することが、第１のパケットを第１のキューに、第２のパケットを第２のキューに分類することを備え、結合することが、第１および第２の重みに従って、第１のキューおよび第２のキューからのマークされたまたは破棄されない第１および第２のパケットの送信をスケジューリングすることを備える、請求項１または２に記載の方法。
【請求項４】
第１の使用帯域幅が第１のパケットに対して測定され、第２の使用帯域幅が第２のパケットに対して測定され、第１および第２の使用帯域幅が、それぞれ第１および第２の重みを計算するために使用される、請求項３に記載の方法。
【請求項５】
第１および第２のマークまたは破棄確率が、それぞれ第１および第２の重みを決定するために使用される、請求項３または４に記載の方法。
【請求項６】
受信することが、第１のパケットを第１のキューに、第２のパケットを第２のキューに分類することを備え、方法が、第１のキューの第１のパケットより優先して、第２のキューからのマークされたまたは破棄されない第２のパケットの送信をスケジューリングすることをさらに備える、請求項１または２に記載の方法。
【請求項７】
第１および第２のクラスが、以下のプロトコル：伝送制御プロトコル（ＴＣＰ）Ｒｅｎｏ、伝送制御プロトコル（ＴＣＰ）Ｎｅｗ  Ｒｅｎｏ、ＣＵＢＩＣ伝送制御プロトコル（ＴＣＰ）、高速ＴＣＰ、複合ＴＣＰ、スケーラブルＴＣＰ、ＴＣＰフレンドリーレート制御（ＴＦＲＣ）を用いたユーザデータグラムプロトコル（ＵＤＰ）、複数ＴＣＰ（ＭＵＬＴＣＰ）、複数ＴＦＲＣ（ＭＵＬＴＦＲＣ）、データグラム輻輳制御プロトコル（ＤＣＣＰ）、データセンターＴＣＰ（ＤＣＴＣＰ）、Ｄ２ＴＣＰ、Ｄ３ＴＣＰのいずれかに関連する、請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記結合することが、第１のパケットのフローおよび第２のパケットのフローに、利用可能な帯域幅の所定の分配、具体的には公平な分配が付与されるようなものである、請求項１から７のいずれか一項に記載の方法。
【請求項９】
パケット交換ネットワークにおけるキュー管理のためのシステムであって、第１のキュー管理メカニズムに関連付けられた第１のクラスに属する第１のパケットと、第２のキュー管理メカニズムに関連付けられた第２のクラスに属する第２のパケットとを受信するための受信モジュールを備え、
第１のキュー管理メカニズムに従って、第１のマークまたは破棄確率に基づいて第１のパケットをマークまたは破棄し、第２のキュー管理メカニズムに従って、第２のマークまたは破棄確率に基づいて第２のパケットをマークまたは破棄し、第１のマークまたは破棄確率を表す尺度に基づいて、第２のマークまたは破棄確率を計算することによって、第２のパケットをマークまたは破棄することを、第１のパケットをマークまたは破棄することに結合するように構成された、システム。
【請求項１０】
受信された第１および第２のパケットを格納するための少なくとも１つのキューバッファをさらに備え、計算モジュールが、少なくとも１つのキューバッファ内の第１および第２のパケットの数に関連する尺度に基づいて、第１のマークまたは破棄確率を決定するようにさらに構成される、請求項９に記載のシステム。
【請求項１１】
受信モジュールが、第１のパケットを第１のキューに、第２のパケットを第２のキューに分類するための分類器を備え、システムが、第１および第２の重みに従って、第１のキューおよび第２のキューからのマークされたまたは破棄されない第１および第２のパケットの送信をスケジューリングするように構成されたスケジューラをさらに備え、
第１のパケットに対する第１の使用帯域幅と、第２のパケットに対する第２の使用帯域幅とを測定するように構成された測定デバイスと、第１および第２の使用帯域幅を用いて第１および第２の重みを計算するように構成された重み計算器とを任意選択で備え、
重み計算器が、第１および第２の重みを、それぞれ第１および第２のマークまたは破棄確率に基づいて計算するように構成される、請求項９または１０に記載のシステム。
【請求項１２】
受信モジュールが、第１のパケットを第１のキューに、第２のパケットを第２のキューに分類するように構成された分類器を備え、システムが、第１のキューの第１のパケットより優先して、第２のキューからのマークされたまたは破棄されない第２のパケットの送信をスケジューリングするように構成された優先スケジューラをさらに備える、請求項９または１０に記載のシステム。
【請求項１３】
請求項１から８のいずれか一項に記載の方法の計算および制御を行うようにプログラムされた、コンピュータデバイスまたは他のハードウェアデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野は、パケット交換ネットワークにおけるキュー管理のための方法およびシステムに関し、より詳細には、中間ノードにおいてパケットを破棄またはマークすることが可能な方法およびシステムに関する。
【背景技術】
【０００２】
様々な輻輳制御メカニズムが開発されている。これまで、全ての輻輳制御メカニズムは、同一の輻輳フィードバック機能、すなわちテールドロップキュー上でのパケット破棄または遅延を想定しており、パケット破棄への公平な応答は、伝送トランスポートプロトコル（ＴＣＰ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）Ｒｅｎｏアルゴリズムを近似する機能として応答することである。遅延（ｌａｔｅｎｃｙ）を回避するためには、代替のメカニズムが必要であるが、これらの代替のメカニズムは、ＴＣＰ  Ｒｅｎｏの平均キューイング遅延にもパケットロス確率にも一致しない。データセンターＴＣＰ（ＤＣＴＣＰ）は、そのような代替のメカニズムの一例であるが、他の輻輳制御メカニズムもまた可能である。
【０００３】
現在、「ＴＣＰフレンドリー」でないアクティブキュー管理（ＡＱＭ：Ａｃｔｉｖｅ  Ｑｕｅｕｅ  Ｍａｎａｇｅｍｅｎｔ）および輻輳制御装置を配備することはできない、または認められていない。新たな取り組みは、たとえばデータセンターなど、インターネットから分離された、壁に囲まれた配備（ｗａｌｌｅｄ  ｄｅｐｌｏｙｍｅｎｔ）に制限される。いくつかの改良が行われているが、何らかの「ＴＣＰフレンドリー」な挙動が期待され、新たな輻輳制御メカニズムがこれから外れるほど、プロトコルは配備のためにより多くの妨害を受ける。さらに、フローを公平性メトリクスに合致させるためのネットワーク専用の対策、たとえば公平キューイング（Ｆａｉｒ  Ｑｕｅｕｉｎｇ）などが行われなければならない。
【０００４】
現在、異なるトラフィックタイプが、異なる容量が割り当てられた異なる「パイプ」に、それらの中のアクティブなフローの数とは無関係に分離される。あるパイプは、少量の帯域幅のみを各々取得した多数のフローで過負荷となることがあり、他のパイプは、大量の帯域幅を各々取得したごく少数のフローを有することがある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｍａｔｈｉｓ，Ｍ．、Ｓｅｍｋｅ，Ｊ．、Ｍａｈｄａｖｉ，Ｊ．、およびＯｔｔ，Ｔ．（１９９７年）、「Ｔｈｅ  ｍａｃｒｏｓｃｏｐｉｃ  ｂｅｈａｖｉｏｒ  ｏｆ  ｔｈｅ  ＴＣＰ  ｃｏｎｇｅｓｔｉｏｎ  ａｖｏｉｄａｎｃｅ  ａｌｇｏｒｉｔｈｍ」、ＡＣＭ  ＳＩＧＣＯＭＭ  Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｒｅｖｉｅｗ、２７（３）、６７−８２頁
【非特許文献２】Ａｌｉｚａｄｅｈ，Ｍ．、Ｇｒｅｅｎｂｅｒｇ，Ａ．、Ｍａｌｔｚ，Ｄ．Ａ．、Ｐａｄｈｙｅ，Ｊ．、Ｐａｔｅｌ，Ｐ．、Ｐｒａｂｈａｋａｒ，Ｂ．、．．．およびＳｒｉｄｈａｒａｎ，Ｍ．（２０１０年）、「Ｄａｔａ  ｃｅｎｔｅｒ  ｔｃｐ  （ｄｃｔｃｐ）」、ＡＣＭ  ＳＩＧＣＯＭＭ  Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｒｅｖｉｅｗ、４０（４）、６３−７４頁
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態の目的は、様々なトラフィックのクラスが、公平性を保証しつつ同一のネットワーク上で動作できるようにする方法およびシステムを提供することである。異なるクラスは、エンドポイントにおいて異なる輻輳メカニズムを使用することができ、または同一の輻輳メカニズムを異なるパラメータと共に使用することができる。本発明の特定の実施形態の目的は、全てのトラフィックフローが公平な分配を受けることを保証しながら、ＴＣＰ  ＲｅｎｏまたはＴＣＰ  Ｎｅｗ  Ｒｅｎｏフローと同一のネットワーク上のＤＣＴＣＰフローを可能とすることにある。
【課題を解決するための手段】
【０００７】
本発明の第１の態様によれば、送信ノードと、受信ノードと、１つまたは複数の中間ネットワークノードとを備えるパケット交換ネットワークにおけるキュー管理のための方法であって、１つまたは複数の中間ノードが複数のリンクで相互に接続され、これにより送信ノードおよび受信ノードの間でパケットフローをルーティングするためのパスを形成し、方法は、中間ノードにおいて：
−  第１のキュー管理メカニズムに関連付けられた第１のトラフィックのクラスに属する第１のパケットと、第２のキュー管理メカニズムに関連付けられた第２のトラフィックのクラスに属する第２のパケットとを受信することと、
−  第１のキュー管理メカニズムに従って第１のパケットをマークまたは破棄し、第２のキュー管理メカニズムに従って第２のパケットをマークまたは破棄することと、
−  第２のパケットをマークまたは破棄することを、第１のパケットをマークまたは破棄することに結合することと
を備える、方法が提供される。
【０００８】
本発明の実施形態は、とりわけ、中間ノードで受信される異なるトラフィックのクラスのマーキングまたは破棄を結合できるという洞察に基づいている。この結合は、たとえば、エンドポイントにおける輻輳制御装置のそれぞれの応答関数を用いることで可能である。そのような結合を導入することにより、第１のキュー管理メカニズムを用いた第１のパケットおよび第２のキュー管理メカニズムを用いた第２のパケットのフロー間での利用可能なネットワークリソースの公平な共有を改善することができ、および／または所定の共有を想定することができる。
【０００９】
この方法は、混合されたトラフィックのクラスを有するパケット交換ネットワークにおける全てのトラフィックのクラスの全てのフローに対して、利用可能な帯域幅の公平な分配または所定の分配を付与しつつ、確立されたタイプのトラフィックの受け入れられたニーズをなおも尊重するための方法を提供する。
【００１０】
可能な実施形態によれば、第１のパケットをマークまたは破棄することが、第１のマークまたは破棄確率に従って行われ、第２のパケットをマークまたは破棄することが、第２のマークまたは破棄確率に従って行われ、結合することが、第１のマークまたは破棄確率を表す尺度に基づいて、第２のマークまたは破棄確率を計算することを備える。第１のマークまたは破棄確率は、パッシブな第１のキュー管理メカニズム、たとえばテールドロップキューシステムの場合は、測定することができ、アクティブな第１のキュー管理メカニズムの場合は、キューサイズなどに基づいて計算される値とすることができる。より一般的には、受信された第１および第２のパケットを、少なくとも１つのキューバッファに格納することができ、第１のマークまたは破棄確率を、少なくとも１つのキューバッファ内の第１および第２のパケットの数に関連する尺度に基づいて決定することができ、たとえば瞬時キュー長、平均キュー長、パケット滞在時間、着信トラフィックレート、送出トラフィックレート、瞬時パケットキューオーバーフロー、平均キューオーバーフローレート、および当業者により知られており最新のアクティブキュー管理（ＡＱＭ）システムで使用される他のものである。言い換えれば、キューバッファは受信されたパケットを一時的に保持し、次いで、第１のマークまたは破棄確率および結合された第２のマークまたは破棄確率を用いた特定のキュー管理メカニズムに従って、キューバッファに一時的に格納されたパケットを破棄またはマークすることができる。１つより多いキューバッファが設けられている場合、たとえば１つのキューバッファがキュー管理メカニズムのタイプごとに設けられている場合、第１のマークまたは破棄確率を計算するために第１のキュー内の第１のパケットの数に関する尺度を使用することができ、または、第１のマークまたは破棄確率を計算するために第１および第２のキュー内の第１および第２のパケットの数に関する尺度を使用することができる。
【００１１】
他の実施形態によれば、受信することが、第１のパケットを第１のキューに、第２のパケットを第２のキューに分類することを備え、結合することが、第１および第２の重みに従って、第１のキューおよび第２のキューからのマークされたまたは破棄されない第１および第２のパケットの送信をスケジューリングすることを備える。好ましくは、第１の使用帯域幅が第１のパケットに対して測定され、第２の使用帯域幅が第２のパケットに対して測定され、第１および第２の使用帯域幅が、それぞれ第１および第２の重みを計算するために使用される。より好ましくは、第１のパケットをマークまたは破棄することが、第１のマークまたは破棄確率に従って行われ、第２のパケットをマークまたは破棄することが、第２のマークまたは破棄確率に従って行われ、第１および第２のマークまたは破棄確率が、それぞれ第１および第２の重みを決定するために使用される。第１および第２の帯域幅および／または破棄確率に応じて第１および第２の重みを計算することにより、第１および第２のキューの充填レベルは、受信されたパケットフローに応じて影響されることがあり、これは転じて第１および第２のキュー管理メカニズムにより使用される第１および第２の破棄確率に影響することになり、フローへの公平な分配を保証できるようになる。
【００１２】
さらに他の実施形態によれば、受信することが、第１のパケットを第１のキューに、第２のパケットを第２のキューに分類することを備え、結合することが、第１のキューのマークされたまたは破棄されない第１のパケットより優先して、第２のキューからのマークされたまたは破棄されない第２のパケットの送信をスケジューリングすることを備える。この実施形態においても、第１のパケットのマーキングまたは破棄が、第１のマークまたは破棄確率に従って行うことができ、第２のパケットのマーキングまたは破棄が、第１のマークまたは破棄確率を表す尺度に基づいて決定される第２のマークまたは破棄確率に従って行うことができることに留意されたい。より詳細には、第２のマークまたは破棄確率は、第１のキュー内の第１のパケットの数に関する尺度に基づいて計算される第１の値と、第２のキュー内の第２のパケットの数に関する尺度に基づいて計算される第２の値との間の最大値として決定することができる。優先スケジューリングを用いることで、結合により公平性が保証されながら、低遅延クラスが実際に低遅延で扱われることを保証することができる。
【００１３】
好ましい実施形態では、結合することは、第１のパケットのフローおよび第２のパケットのフローに、利用可能な帯域幅の所定の分配、具体的には公平な分配が付与されるようなものである。
【００１４】
好ましい実施形態によれば、トラフィックのクラスが、以下の輻輳プロトコル：伝送制御プロトコル（ＴＣＰ）Ｒｅｎｏ、伝送制御プロトコル（ＴＣＰ）Ｎｅｗ  Ｒｅｎｏ、ＣＵＢＩＣ伝送制御プロトコル（ＴＣＰ）、高速ＴＣＰ、複合ＴＣＰ、スケーラブルＴＣＰ、ＴＣＰフレンドリーレート制御（ＴＦＲＣ）を用いたユーザデータグラムプロトコル（ＵＤＰ）、複数ＴＣＰ（ＭＵＬＴＣＰ）、複数ＴＦＲＣ（ＭＵＬＴＦＲＣ）、データグラム輻輳制御プロトコル（ＤＣＣＰ）、データセンターＴＣＰ（ＤＣＴＣＰ）、Ｄ２ＴＣＰ、Ｄ３ＴＣＰのいずれか１つに関連する。しかしながら、当業者は、他のプロトコルが可能であることを理解するであろう。本発明の実施形態により、たとえばＴＣＰ（Ｎｅｗ）ＲｅｎｏをＤＣＴＣＰに同一ネットワーク上で組み合わせることができ、そこでは全てのトラフィックが公平な分配に従って挙動する。従来技術の方法では、ＤＣＴＣＰが全てのＴＣＰ  Ｒｅｎｏのトラフィックを押しやるので、両タイプのトラフィックが同一のネットワークを共有することができない。テールドロップキュー上でＴＣＰ  Ｒｅｎｏなど後方互換的に挙動する送信機における輻輳制御メカニズムは、広く認められる。本発明の方法の実施形態を用いることで、新たなアクティブキュー管理システムがネットワークに存在する場合にもＴＣＰフレンドリーに動作することができる。
【００１５】
他の態様によれば、パケット交換ネットワークにおけるキュー管理のためのシステムが提供される。システムは、第１のキュー管理メカニズムに関連付けられた第１のクラスに属する第１のパケットと、第２のキュー管理メカニズムに関連付けられた第２のクラスに属する第２のパケットとを受信するための受信モジュールを備える。システムは、第１のキュー管理メカニズムに従って第１のパケットをマークまたは破棄し、第２のキュー管理メカニズムに従って第２のパケットをマークまたは破棄し、第２のパケットをマークまたは破棄することを、第１のパケットをマークまたは破棄することに結合するように構成される。
【００１６】
好ましい実施形態では、システムは、第１のパケットのフローおよび第２のパケットのフローに、利用可能な帯域幅の所定の分配、具体的には公平な分配が付与されるように、第２のパケットをマークまたは破棄することを、第１のパケットをマークまたは破棄することに結合するように適合される。
【００１７】
可能な実施形態では、システムは、第１のマークまたは破棄確率に従って第１のパケットをマークまたは破棄するように適合される。システムは、第２のマークまたは破棄確率に従って第２のパケットをマークまたは破棄するように構成されたコントローラと、第１のマークまたは破棄確率を表す尺度に基づいて、第２のマークまたは破棄確率を計算するように構成された計算モジュールとをさらに備える。そのような計算モジュールは、公平性が与えられるように、第２の確率が第１の確率に結合されることを保証する。さらに、第１のマークまたは破棄確率を決定するために使用可能なキューパラメータを測定するように構成された測定デバイスを含めることができる。一実施形態では、システムは、受信された第１および第２のパケットを格納するための少なくとも１つのキューバッファを備える。計算モジュールは、少なくとも１つのキューバッファ内の第１および第２のパケットの数に関連する尺度に基づいて、第１のマークまたは破棄確率を決定するようにさらに構成される。
【００１８】
可能な実施形態では、受信モジュールは、第１のパケットを第１のキューに、第２のパケットを第２のキューに分類するための分類器を備える。そして、システムは、第１および第２の重みに従って、第１のキューおよび第２のキューからのマークされたまたは破棄されない第１および第２のパケットの送信をスケジューリングするように構成されたスケジューラをさらに備える。任意選択で、システムは、第１のパケットに対する第１の使用帯域幅と、第２のパケットに対する第２の使用帯域幅とを測定するように構成された帯域幅測定デバイスと、第１および第２の使用帯域幅を用いて第１および第２の重みを計算するように構成された重み計算器とを備える。任意選択で、システムは、第１のマークまたは破棄確率に従って第１のパケットをマークまたは破棄し、第２のマークまたは破棄確率に従って第２のパケットをマークまたは破棄するように構成される。好ましくは、重み計算器は、第１および第２の重みを、それぞれ第１および第２のマークまたは破棄確率、ならびに第１および第２の測定された帯域幅に基づいて計算するように構成される。
【００１９】
他の可能な実施形態では、受信モジュールは、第１のパケットを第１のキューに、第２のパケットを第２のキューに分類するように構成された分類器を備える。システムは、第１のキューの第１のパケットより優先して、第２のキューからのマークされたまたは破棄されない第２のパケットの送信をスケジューリングするように構成された優先スケジューラを備える。この実施形態においても、第１のパケットのマーキングまたは破棄が、第１のマークまたは破棄確率に従って行うことができ、第２のパケットのマーキングまたは破棄が、第１のマークまたは破棄確率を表す尺度に基づいて決定される第２のマークまたは破棄確率に従って行うことができることに留意されたい。より詳細には、システムは、第２のマークまたは破棄確率を、第１のキュー内の第１のパケットの数に関する尺度に基づいて計算される第１の値と、第２のキュー内の第２のパケットの数に関する尺度に基づいて計算される第２の値との間の最大値として決定するように構成された計算モジュールを備えることができる。優先スケジューラを用いることで、低遅延クラスが実際に低遅延で扱われつつ、計算モジュールが公平性を保証する。
【００２０】
好ましい実施形態では、第１および第２のクラスは、以下のプロトコル：伝送制御プロトコル（ＴＣＰ）Ｒｅｎｏ、伝送制御プロトコル（ＴＣＰ）Ｎｅｗ  Ｒｅｎｏ、ＣＵＢＩＣ伝送制御プロトコル（ＴＣＰ）、高速ＴＣＰ、複合ＴＣＰ、スケーラブルＴＣＰ、ＴＣＰフレンドリーレート制御（ＴＦＲＣ）を用いたユーザデータグラムプロトコル（ＵＤＰ）、複数ＴＣＰ（ＭＵＬＴＣＰ）、複数ＴＦＲＣ（ＭＵＬＴＦＲＣ）、データグラム輻輳制御プロトコル（ＤＣＣＰ）、データセンターＴＣＰ（ＤＣＴＣＰ）、Ｄ２ＴＣＰ、Ｄ３ＴＣＰのいずれかに関連する。
【００２１】
本発明の他の態様によれば、上述の方法の実施形態の計算および制御を行うようにプログラムされた、コンピュータデバイスまたは他のハードウェアデバイスも存在する。
【００２２】
添付の図面を用いて、本発明のデバイスの現在好ましい非限定的な例示的実施形態を説明する。以下の詳細な説明から、添付図面と併せて読まれた場合に、本発明の特徴および目的の上記および他の利点がより明らかとなり、本発明がより良く理解されるであろう。
【図面の簡単な説明】
【００２３】
【図１】２つのトラフィックのクラスに対して１つのキューバッファを用いた本発明の第１の一般的実施形態の概略図である。
【図２】２つのトラフィックのクラスに対する２つのキューバッファと、加重スケジューリングのための帯域幅測定とを用いたシステムおよび方法の第２の一般的実施形態の概略図である。
【図３】２つのトラフィックのクラスに対する２つのキューバッファと、優先スケジューリングとを用いたシステムおよび方法の第３の一般的実施形態の概略図である。
【図４】ＴＣＰ  Ｒｅｎｏ互換トラフィックの第１のクラスが標準的なランダム早期破棄（ＲＥＤ：Ｒａｎｄｏｍ  Ｅａｒｌｙ  Ｄｒｏｐ）ＡＱＭでアクティブに管理され、ＤＣＴＣＰ互換トラフィックの第２のクラスがＤＣＴＣＰ輻輳制御アルゴリズムに一致するように修正されたＲＥＤ方式を用いて結合される、第１の一般的実施形態の特定の実施形態である第４の実施形態の概略図である。
【図５】ＴＣＰ  Ｒｅｎｏ互換トラフィックの第１のクラスが標準的なランダム早期破棄（ＲＥＤ）ＡＱＭでアクティブに管理され、ＤＣＴＣＰ互換トラフィックの第２のクラスが標準的なＤＣＴＣＰ設定されたランダム早期破棄（ＲＥＤ）ＡＱＭでアクティブに管理された、第２の一般的実施形態の特定の実施形態である第５の実施形態の概略図である。
【図６】ＴＣＰ  Ｒｅｎｏ互換トラフィックの第１のクラスが標準的なテールドロップキューで管理され、新たに輻輳制御されるトラフィックの第２のクラスが新規のＡＱＭでアクティブに管理された、第３の一般的実施形態の特定の実施形態である第６の実施形態の概略図である。
【発明を実施するための形態】
【００２４】
図１に、パケット交換ネットワークにおけるキュー管理のためのシステムおよび方法の一実施形態を示す。システムは、受信モジュール１０２、キューバッファ１０５、計算モジュール１０３、２つの破棄／マークコントローラ１０６ａ−ｂ、および測定デバイス１０７を備える。システムは、送信ノードからパケットＰを受信し、受信ノードへパケットＰ’を送信する中間ノードに設けられる。簡単のため、送信および受信ノードは、この図には示されていない。
【００２５】
受信モジュール１０２は、中間ノードにおいて異なるキュー管理メカニズムを必要とする、それぞれの送信機において異なる輻輳制御メカニズム／アルゴリズムを用いた２つ以上のトラフィックのクラスに属するパケットＰ１、Ｐ２を受信するように構成される。中間ノードにおいて、２つのトラフィックのクラスに属するパケットＰ１、Ｐ２は、送信ノードから受信される。２つのトラフィックのクラスは、ここでは例として、色分けにより区別される。図示の実施形態では、受信モジュール１０２は、異なるトラフィックのクラスの受信されたパケットＰ１、Ｐ２を区別し、たとえばクラスに応じてパケットに表示（ｉｎｄｉｃａｔｉｏｎ）を追加する分類器１０４を備える。分類機能が必要ないこと、および破棄／マークコントローラ１０６ａ−ｂがキューバッファ１０５内のパケットのクラスを認識するようにも構成できることに留意されたい。
【００２６】
キューバッファ１０５は、着信パケットＰを、受信ノードにルーティングされる前に一時的に格納する。破棄／マークコントローラ１０６ａ−ｂは、キューバッファ１０５に作用して、対応するマークまたは破棄確率に応じてパケットを破棄またはマークする。
【００２７】
計算モジュール１０３は、キュー測定デバイス１０７により与えられた１つまたは複数の測定されたパラメータに基づいて、第１のクラスおよび第２のクラスについてのマークまたは破棄確率を計算するように構成される。
【００２８】
キュー測定デバイス１０７は、キューを通過するトラフィックから１つまたは複数のパラメータを抽出することができる。これらのパラメータは、瞬時キュー長、平均キュー長、パケット滞在時間、着信トラフィックレート、送出トラフィックレート、瞬時パケットキューオーバーフロー、平均キューオーバーフローレート、および当業者により知られており最新のアクティブキュー管理（ＡＱＭ）システムで使用される他のものとすることができる。
【００２９】
キューバッファ１０５、キュー測定デバイス１０７、計算モジュール１０３および１つまたは複数の破棄／マークコントローラ１０６ａ−ｂは組み合わさって、アクティブキュー管理（ＡＱＭ）システムを形成する。計算モジュール１０３により与えられるパケット破棄確率は、個々のフローの定常時レートが同一となるまたは所定のパーセンテージに等しくなるよう公平に近似されるように、それぞれのクラス内のトラフィックにより使用される特定の輻輳制御メカニズムに適合される。あるいは、第１のトラフィックのクラスについての第１のマークまたは破棄確率は、最新技術と同様に計算することができ、他のマークまたは破棄確率は、第１のマークまたは破棄確率から導出することができ、これによりフローごとに公平な定常時レートを近似する。
【００３０】
この第１の実施形態の利点は、単純であること、および単一のキュー１０５を異なって輻輳制御されるトラフィックの複数のクラスに使用できることである。不利な点は、キューイング滞在時間が全てのトラフィッククラスの全てのフローに対して同じであるために、特定の輻輳制御／ＡＱＭの組み合わせの特定の利点が減少することである。
【００３１】
図２に、パケット交換ネットワークにおける輻輳を制御するためのシステムおよび方法の一実施形態を示す。システムは、受信モジュール２０２、２つのバッファキュー２０５ａ−ｂ、２つのＡＱＭ計算モジュール２０３ａ−ｂ、２つの破棄／マークコントローラ２０６ａ−ｂ、２つのキュー測定デバイス２０７ａ−ｂ、２つの帯域幅測定デバイス２０８ａ−ｂ、２つの重み計算器２０９ａ−ｂ、および加重スケジューラ２１０を備える。システムは、送信ノードからパケットＰを受信し、受信ノードへパケットＰ’を送信する中間ノードに設けられる。
【００３２】
受信モジュール２０２は、異なる輻輳制御メカニズムを必要とする２つ以上のトラフィックのクラスに属するパケットＰ１、Ｐ２を受信するように構成される。２つのトラフィックのクラスは、ここでは例として色分けにより区別される。図示の実施形態では、受信モジュール２０２は、異なるトラフィックのクラスの受信されたパケットＰ１、Ｐ２を区別し、これらをクラスに従って第１のキュー２０５ａまたは第２のキュー２０５ｂに分類する分類器２０４を備える。
【００３３】
バッファキュー２０５ａ−ｂは、着信パケットＰ１、Ｐ２を、受信ノードにルーティングされる前に一時的に格納する。破棄／マークコントローラ２０６ａ−ｂは、それぞれのバッファキュー２０５ａ−ｂに作用して、対応するマークまたは破棄確率に応じてパケットを破棄またはマークする。例として、この例で示された２つのトラフィックのクラスの各々は、異なるバッファキュー２０５ａ−ｂにより扱われるが、他の順序付け（ｏｒｄｅｒｉｎｇｓ）、たとえば（図１に示された例のように）いくつかのトラフィックのクラスを１つのバッファキュー内に結合すること、または１つのトラフィックのクラスのパケットを２つ以上のバッファキューに広げること、あるいはこれらの任意の組み合わせを想定することができる。
【００３４】
計算モジュール２０３ａ−ｂは、それぞれのキュー測定デバイス２０７ａ−ｂにより与えられた１つまたは複数の測定されたパラメータに基づいて、それぞれのクラスについてのマークまたは破棄確率を計算するように構成される。
【００３５】
キュー測定デバイス２０７ａ−ｂは、それぞれのキュー２０５ａ−ｂを通過するトラフィックからパラメータを抽出することができる。これらのパラメータは、瞬時キュー長、平均キュー長、パケット滞在時間、着信トラフィックレート、送出トラフィックレート、瞬時パケットキューオーバーフロー、平均キューオーバーフローレート、および当業者により知られており最新のアクティブキュー管理（ＡＱＭ）システムで使用される他のものとすることができる。
【００３６】
キュー２０５ａ、キュー測定デバイス２０７ａ、計算モジュール２０３ａおよび破棄／マークコントローラ２０６ａは組み合わさって、技術水準で知られているＡＱＭシステムと同一であり得る第１のアクティブキュー管理（ＡＱＭ）システムを形成し、それぞれのｂコンポーネントは第２のＡＱＭシステムを形成する。
【００３７】
テールドロップキューもまた、この表現（ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）に一致するよう意図されていることに留意されたい。その場合、キューが一杯になった場合に破棄は自然に行われることになるので破棄／マークコントローラ２０６ａ−ｂは必要なく、キュー測定デバイス２０７ａ−ｂは、平均キューオーバーフロー（破棄）レートを測定するように構成され、計算モジュール２０３ａ−ｂは、平均キューオーバーフローまたは破棄レートを、重み計算器２０９ａ−ｂなどによりさらに必要とされ、キュー測定デバイスから破棄確率として渡すことになる（以下を参照せよ）。
【００３８】
第２の実施形態では、独立した計算モジュール２０３ａ−ｂにより与えられるパケット破棄確率は、帯域幅測定デバイス２０７ａ−ｂの出力と共に重み計算器２０９ａ−ｂにより使用されて、個々のフローの定常時レートが同じになるよう公平に近似されるように、それぞれのクラスのトラフィックにより使用される特定の輻輳制御メカニズムに適合される重みが生成される。重みは加重スケジューラ２１０により、それぞれのキューからの送出トラフィックをスケジューリングする際に考慮される。
【００３９】
使用帯域幅がＢＷ測定デバイス２０８ａ−ｂにより、受信されたパケットのトラフィックのクラスごとに測定される。ここではクラスごとに１つの重み計算器２０９ａ−ｂが示されているが、これらの機能は組み合わせることができる。
【００４０】
第２の実施形態の利点は、各トラフィッククラスが自身のキュー構成と、ＡＱＭ方式および設定とを使用することができ、２つ以上のトラフィッククラスの帯域幅が公平に分割されて、自身のトラフィッククラスと独立な各フローに、リンク容量の公平な分配が近似的に与えられることが保証されることである。
【００４１】
図３に、パケット交換ネットワークにおける輻輳を制御するためのシステムおよび方法の第３の実施形態を示す。システムは、受信モジュール３０２、２つのバッファキュー３０５ａ−ｂ、２つの計算モジュール３０３ａ−ｂ、２つの破棄／マークコントローラ３０６ａ−ｂ、２つのキュー測定デバイス３０７ａ−ｂ、優先スケジューラ３１０、および最大値モジュール３１１を備える。システムは、送信ノードからパケットＰを受信し、受信ノードへパケットＰ’を送信する中間ノードに設けられる。
【００４２】
受信モジュール３０２は、異なる輻輳制御メカニズムを必要とする２つ以上のトラフィックのクラスに属するパケットＰ１、Ｐ２を受信するように構成される。２つのトラフィックのクラスは、ここでは例として色分けにより区別される。図示の実施形態では、受信モジュール３０２は、異なるトラフィックのクラスの受信されたパケットＰ１、Ｐ２を区別し、これらをそれぞれのキュー３０５ａ−ｂに分類する分類器３０４を備える。
【００４３】
バッファキュー３０５ａ−ｂは、着信パケットＰを、受信ノードにルーティングされる前に一時的に格納する。破棄／マークコントローラ３０６ａ−ｂは、それぞれのバッファキュー３０５ａ−ｂに作用して、対応するマークまたは破棄確率に応じてパケットを破棄またはマークする。例として、この例で示された２つのトラフィックのクラスの各々は、１つの異なるバッファキュー３０５ａ−ｂにより扱われるが、他の順序付け、たとえば（図１に示された例のように）いくつかのトラフィックのクラスを１つのバッファキュー内に結合すること、または１つのトラフィックのクラスのパケットを２つ以上のバッファキューに広げること、あるいはこれらの任意の組み合わせを想定することができる。
【００４４】
計算モジュール３０３ａ−ｂは、それぞれのキュー測定デバイス３０７ａ−ｂにより与えられた１つまたは複数の測定されたパラメータに基づいて、それぞれのクラスについてのマークまたは破棄確率を計算するように構成される。
【００４５】
キュー測定デバイス３０７ａ−ｂは、それぞれのキュー３０５ａ−ｂを通過するトラフィックからパラメータを抽出することができる。これらのパラメータは、瞬時キュー長、平均キュー長、パケット滞在時間、着信トラフィックレート、送出トラフィックレート、瞬時パケットキューオーバーフロー、平均キューオーバーフローレート、および当業者により知られており最新のアクティブキュー管理（ＡＱＭ）システムで使用される他のものとすることができる。
【００４６】
キュー３０５ａ、キュー測定デバイス３０７ａ、計算モジュール３０３ａおよび破棄／マークコントローラ３０６ａは組み合わさって、技術水準で知られているＡＱＭシステムと類似し得る第１のアクティブキュー管理（ＡＱＭ）システムを形成し、それぞれのｂコンポーネントは第２のＡＱＭシステムを形成する。テールドロップキューもまた、この表現に一致するよう意図されていることに留意されたい。第１のＡＱＭシステムおよび第２のＡＱＭシステムの間の結合は：
−  第１のキュー測定デバイス３０７ａにより測定されたパラメータまたはその導出された値、
−  第２のキュー測定デバイス３０７ａにより測定されたパラメータまたはその導出された値
のうちの最大値を計算する最大値モジュール３１１を有することで実現される。この最大値は、第２の破棄／マークコントローラ２０６ｂにより使用される第２の破棄／マーク確率を求めるために使用される。
【００４７】
第３の実施形態では、第１の計算モジュール３０３ａは、第２のトラフィッククラスの個々のフローの定常時レートが第１のトラフィッククラスの定常時レートに近似されるように、第２のトラフィッククラスにより使用される特定の輻輳制御メカニズムに適合される第２のパケットの破棄／マーク確率を計算するために使用される値を計算するようにも構成される。この値は、第１のキュー測定デバイス３０７ａの出力に基づく。
【００４８】
優先スケジューラ３１０は最初に、第２のキュー３０５ｂからパケットをスケジューリングすることになり、そのキューにパケットがない場合は、第１のキュー３０５ａから行う。結果として、第２のキュー３０５ｂは大抵空のままとなり、第２の計算モジュール３０３ｂは典型的には非常に低い破棄／マーク確率を与えることになる。他方、第１のキュー３０５ａは、輻輳して非常に負荷がかかることになり、それぞれのトラフィッククラスの輻輳制御メカニズムに適合された、それに応じたより高いパケット破棄／マークを生じさせることになる。この結果、第１の計算モジュール３０３ａにより与えられた第２の破棄／マーク確率が、最大値モジュール３１１により選択されることになる。第１の計算モジュール３０３ａにより提供されるこの第２の破棄／マーク確率は、破棄／マークコントローラ３０６ｂにより第２のクラスのトラフィックに適用される。これにより、両方のトラフィッククラスからのフロー間で、フローあたりのレートが適度なバランスに保たれる。第１のトラフィッククラスにフローが存在しない場合、または第２のトラフィッククラス内に非常に高い負荷が生じた場合にのみ、計算モジュール３０３ｂにより生成されたより高いパケット破棄／マーク確率がトリガされることになり、その結果、第２の破棄／マークコントローラ３０６ｂが、第２の計算モジュール３０３ｂの値により駆動される。
【００４９】
第３の実施形態の利点は、最高のスケジューリング優先度を有する１つまたは複数のトラフィッククラスについてのキューイング遅延が最小化されつつ、異なるトラフィッククラスにわたる全てのフロー間の帯域幅の公平な分配の近似が維持されること、および、最低の優先度でスケジューリングされるトラフィッククラスのキューサイズが完全なリンク利用を保証するほど大きくできることである。
【００５０】
図１に示された一般的な方法のための特定の実施形態の一例が、図４の記述に与えられている。図１の実施形態を説明するための一例として、ＴＣＰ  ＲｅｎｏおよびＤＣＴＣＰを含む混合トラフィックの特定の状況が論じられる。ＴＣＰ  Ｒｅｎｏフローが、マークまたは破棄確率、すなわち破棄またはマーク確率（ｐ＿Ｒｅｎｏ）と、ラウンドトリップタイム（ｒｔｔ）との関数である定常時スループット（ｂ＿Ｒｅｎｏ）を有することが知られている。マークまたは破棄確率（ｐ＿Ｒｅｎｏ）は、ある時間間隔においてパケット（またはバイト）の総数で破棄またはマークされるパケット（またはバイト）の数を割ったものである。定常時スループット（ｂ＿Ｒｅｎｏ）は、近似的に以下のように定義される：
ｂ＿Ｒｅｎｏ＝ｌ．２２５／（ｒｔｔ＊ｐ＿Ｒｅｎｏ＾０．５）  （１）
これは知られている近似であり、たとえばＭａｔｈｉｓ，Ｍ．、Ｓｅｍｋｅ，Ｊ．、Ｍａｈｄａｖｉ，Ｊ．、およびＯｔｔ，Ｔ．（１９９７年）、「Ｔｈｅ  ｍａｃｒｏｓｃｏｐｉｃ  ｂｅｈａｖｉｏｒ  ｏｆ  ｔｈｅ  ＴＣＰ  ｃｏｎｇｅｓｔｉｏｎ  ａｖｏｉｄａｎｃｅ  ａｌｇｏｒｉｔｈｍ」、ＡＣＭ  ＳＩＧＣＯＭＭ  Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｒｅｖｉｅｗ、２７（３）、６７−８２頁において説明されている。
【００５１】
ＤＣＴＣＰに関して、定常時スループット（ｂ＿ｄｃｔｃｐ）はまた、マークまたは破棄確率（ｐ＿ｄｃｔｃｐ）およびラウンドトリップタイム（ｒｔｔ）の関数である近似公式により表すことができる。非常に小さいラウンドトリップタイム（ｒｔｔ）と、ＤＣＴＣＰ用に（瞬時キューサイズと、同じ値に設定された最小および最大閾値（これによりキューサイズが閾値を超えた場合に１００％マーキングとなる）とを用いて）構成されたＲＥＤ  ＡＱＭとを有するデータセンター環境では、この関係は：
ｂ＿ｄｃｔｃｐ＝２／（ｒｔｔ＊ｐ＿ｄｃｔｃｐ＾２）  （２）
により近似することができる。これは以下の式：
ｐ＿ｄｃｔｃｐ＝（２／Ｗ＿ｍａｘ）＾０．５  （３）
から導出され、ここでｐ＿ｄｃｔｃｐは総パケットに対するマークされるパケットの数、したがってパケットマーク確率であり、Ｗ＿ｍａｘは、論文：Ａｌｉｚａｄｅｈ，Ｍ．、Ｇｒｅｅｎｂｅｒｇ，Ａ．、Ｍａｌｔｚ，Ｄ．Ａ．、Ｐａｄｈｙｅ，Ｊ．、Ｐａｔｅｌ，Ｐ．、Ｐｒａｂｈａｋａｒ，Ｂ．、．．．およびＳｒｉｄｈａｒａｎ，Ｍ．（２０１０年）、「Ｄａｔａ  ｃｅｎｔｅｒ  ｔｃｐ  （ｄｃｔｃｐ）」、ＡＣＭ  ＳＩＧＣＯＭＭ  Ｃｏｍｐｕｔｅｒ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｒｅｖｉｅｗ、４０（４）、６３−７４頁に記載された最大輻輳ウィンドウである。（３）は：
Ｗ＿ｍａｘ＝２／ｐ＿ｄｃｔｃｐ＾２  （４）
と変形することができる。ウィンドウベースの輻輳制御メカニズムでは、定常時帯域幅は：
ｂ＝Ｗ／ｒｔｔ  （５）
と定義され、ここでｂは１つのフローの定常時帯域幅であり、Ｗは平均ウィンドウサイズであり、ｒｔｔは平均ラウンドトリップタイムである。小さいバッファを用いると、最大ウィンドウは平均ウィンドウに近づくことになり、（５）において（４）を用いると、（２）となる。
【００５２】
ＷＡＮインターネット環境では、ラウンドトリップタイムはより大きく、ランダム早期マーキングのために、ＤＣＴＣＰに関してｒｔｔごとにいくつかのパケットがマークされることを想定することができる。ｒｔｔごとに、ウィンドウは１だけ増加することになり、または確認応答パケットごとに１／Ｗだけ増加することになり、ここでＷは平均ウィンドウサイズである。ＤＣＴＣＰは、ウィンドウをｒｔｔごとにｐ＿ｄｃｔｃｐ＿ｒ／２だけ減少させることになり、ここでｐ＿ｄｃｔｃｐ＿ｒはランダムマーキング用のパケットマーク確率である。したがって定常時について、これら両方の値は互いを補償するはずであり、その結果：
ｐ＿ｄｃｔｃｐ＿ｒ／２＝１／Ｗ  （６）
となる。また、（６）を変形した後、これを（５）で用いると：
ｂ＿ｄｃｔｃｐ＿ｒ＝２／（ｒｔｔ＊ｐ＿ｄｃｔｃｐ＿ｒ）  （７）
となる。したがって、文脈に応じて、（２）または（７）の両方あるいは組み合わせを用いることができる。２つのＴＣＰ  ＲｅｎｏパケットフローおよびＤＣＴＣＰパケットフローが同じ分配を得るようにするためには、目標は（同じ分配の代わりに、たとえば６０パーセント／４０パーセントの分配を、これが好ましい場合には設定することもできることに留意されたい）：
ｂ＿ｄｃｔｃｐ（＿ｒ）＝ｂ＿Ｒｅｎｏ  （８）
とすることである。
【００５３】
本発明の第１の実施形態は、２つのクラスからのフローのマークまたは破棄確率を結合することを目標とする。式（１）、（７）および（８）を組み合わせると、以下の解：
ｐ＿Ｒｅｎｏ＝（１．２２５／２＊ｐ＿ｄｃｔｃｐ＿ｒ）＾２  （９）
または：
ｐ＿ｄｃｔｃｐ＿ｒ＝２／１．２２５＊ｐ＿Ｒｅｎｏ＾０．５  （１０）
が得られる。式（１）、（２）および（８）を組み合わせると、以下の解：
ｐ＿Ｒｅｎｏ＝（１．２２５／２）＾２＊ｐ＿ｄｃｔｃｐ＾４  （１１）
または：
ｐ＿ｄｃｔｃｐ＝（２／１．２２５）＾０．５＊ｐ＿Ｒｅｎｏ＾０．２５  （１２）
が得られる。
【００５４】
したがって、測定デバイス１０７により測定されたキュー１０５のパラメータからｐ＿Ｒｅｎｏが導出された場合、ｐ＿ｄｃｔｃｐ（＿ｒ）を、計算モジュール１０３により式（１０）または（１２）を用いて計算することができる。
【００５５】
この実施形態は、ＷＡＮネットワーク上で機能して、既存の設備へ最小限の影響でＤＣＴＣＰフローおよびＴＣＰ  Ｒｅｎｏ互換フローの間の公平な分配をサポートすることが意図されている。早期輻輳通知（ＥＣＮ：Ｅａｒｌｙ  Ｃｏｎｇｅｓｔｉｏｎ  Ｎｏｔｉｆｉｃａｔｉｏｎ）をサポートするパケットは、ＤＣＴＣＰトラフィッククラスに属すると仮定され、他のパケットはＴＣＰ  Ｒｅｎｏトラフィッククラスに属すると仮定される。この場合、ＤＣＴＣＰは、ＥＣＮマークされたパケットを輻輳フィードバックとして取得することになり、ＴＣＰ  Ｒｅｎｏ互換フローは、破棄されたパケットを輻輳フィードバックとして取得する。非ＤＣＴＣＰ特有設定のＲＥＤを有する共通のキューとして、増加するマーク確率を有する平均キューサイズを用いることが設定され、ＤＣＴＣＰパケットについてのパケットロス確率を決定するために式（１０）が適用される。ＴＣＰ  Ｒｅｎｏパケットは標準的なＲＥＤ設定に従って破棄され、ＤＣＴＣＰパケットは、式（１０）に従ってＴＣＰ  Ｒｅｎｏ破棄確率から導出された確率でマークされる。
【００５６】
図４に、ＲＥＤ（ランダム早期破棄（ｒａｎｄｏｍ  ｅａｒｌｙ  ｄｒｏｐ））マーク／破棄コントローラを用いた、異なるＴＣＰ  Ｒｅｎｏ４１２と互換性のある第１のトラフィックのクラスおよびＤＣＴＣＰ４１３と互換性のある第２のトラフィックのクラスについての、平均キューサイズに応じたマークまたは破棄確率をプロットしたグラフであって、平均バッファキューサイズ４２０が、上記の式（１０）などにより結合される２つのクラスについての異なる破棄確率につながる、グラフを示す。
【００５７】
フロー間の公平性を維持するためには、ＤＣＴＣＰフローのマークまたは破棄確率は、式（１０）によれば、ＴＣＰ  Ｒｅｎｏより高い必要がある。ＲｅｎｏトラフィックのＲＥＤ設定は、平均キューサイズ４２０に応じての確率４１２を用いてパケットを破棄する標準的なＲＥＤを使用するものとすることができる。好ましくは、Ｒｅｎｏトラフィックについての最大閾値（ｍａｘ＿ｐｒｏｂ４２１）に対するマークまたは破棄確率値は、ＤＣＴＣＰについての１．０のマークまたは破棄確率４１３となるように選択される。ＤＣＴＣＰトラフィックは、たとえば式（１０）を用いて計算された確率に従ってマークされ、標準的なＲＥＤとは別のパラメータ化（ｐａｒａｍｅｔｅｒｉｚａｔｉｏｎ）、または標準設定から導出されたものを使用する。
【００５８】
図２に示された一般的な方法のための特定の実施形態の一例が、図５に与えられている。システムは、受信モジュール５０２、２つのバッファキュー５０５ａ−ｂ、ＴＣＰ  ＡＱＭ破棄および測定モジュール５０３ａ、ＤＣＴＣＰ  ＥＣＮマークおよび測定モジュール５０３ｂ、２つの帯域幅測定デバイス５０８ａ−ｂ、２つの重み計算器５０９ａ−ｂ、および加重ラウンドロビンスケジューラ５１０を備える。システムは図２と類似しているが、ＴＣＰ  ＲｅｎｏをＤＣＴＣＰと組み合わせるように特別に適合されている点が違う。また、トラフィックの分類は、ＩＰヘッダ内のＥＣＮビットに基づくことが想定される。ＥＣＮがサポートされる場合、ＤＣＴＣＰプロトコルに従って輻輳制御されるパケットがマークされ、したがってＤＣＴＣＰ  ＥＣＮマークおよび測定モジュール５０３ｂは、図２のモジュール２０３ｂ、２０６ｂおよび２０７ｂにマッピングし、ＤＣＴＣＰ優先のＡＱＭ設定をサポートするように構成される。ＴＣＰ  Ｒｅｎｏ互換のトラフィッククラスは、送信機への輻輳通知としてパケットを破棄するＴＣＰ  Ｒｅｎｏ互換ＡＱＭ５０３ａで管理されることになる。これは、当業者により知られている任意のＡＱＭ、たとえばテールドロップ、ＲＥＤ、ＣｏｄｅｌまたはＰｉｅとすることができる。ＴＣＰ  ＡＱＭ破棄および測定モジュール５０３ａおよびＤＣＴＣＰ  ＥＣＮマークおよび測定モジュール５０３ｂにより測定または適用されるマーク／破棄確率は、ラウンドロビンスケジューラ５１０の適切な重み計算により結合される。この例では、ＤＣＴＣＰバッファキュー５０５ｂは、ＴＣＰ  Ｒｅｎｏバッファキュー５０５ａより非常に小さく維持することができる。ＤＣＴＣＰバッファキュー５０５ａは、優先ＤＣＴＣＰ設定：瞬時バッファキューサイズ（平均ではない）およびｍａｘ＿ｔｈｒｅｓｈｏｌｄに等しいｍｉｎ＿ｔｈｒｅｓｈｏｌｄを用いて制御することができ、ここでバッファキューサイズが閾値より高い場合、瞬時１００％マーキングを全てのパケットに適用することができる。ＴＣＰ  Ｒｅｎｏは、優先ＡＱＭ破棄またはテールドロップ設定を有することができる。マークまたは破棄確率および帯域幅は、両方のトラフィッククラス集合体（ａｇｇｒｅｇａｔｅｓ）について測定され、スケジューリングの重みは、以下に詳細に説明されるように計算することができる。スケジューラは、加重ラウンドロビンスケジューラ５１０として示されているが、以下で計算されるようにスケジューリングの重みを近似する任意の他の加重スケジューラとすることができる。帯域幅および破棄確率は、典型的には同様の時間間隔にわたって測定される。
【００５９】
重み計算器５０９ａ−ｂの動作の一例として、ネットワークにおいてパケットごとに分類可能なＤＣＴＣＰおよびＴＣＰ  Ｒｅｎｏトラフィッククラスを再度想定する。好ましくは、スケジューラ５１０により使用される重み（Ｗ＿ＲｅｎｏおよびＷ＿ｄｃｔｃｐ）は、特定のトラフィッククラス内のフローの数に比例する。フローの数（Ｎ＿ＲｅｎｏおよびＮ＿ｄｃｔｃｐ）は、集合体の測定された使用帯域幅（Ｂ＿ＲｅｎｏおよびＢ＿ｄｃｔｃｐ）を、マークまたは破棄確率から導出された１つのフローのレート（ｂ＿Ｒｅｎｏおよびｂ＿ｄｃｔｃｐ）で割ることで求めることができる：
Ｎ＿Ｒｅｎｏ＝Ｂ＿Ｒｅｎｏ／ｂ＿Ｒｅｎｏ  （１３）
および
Ｎ＿ｄｃｔｃｐ＝Ｂ＿ｄｃｔｃｐ／ｂ＿ｄｃｔｃｐ  （１４）
【００６０】
ＤＣＴＣＰトラフィック用のＡＱＭは、優先ＤＣＴＣＰ  ＡＱＭ設定で構成されているので、式（２）はｂ＿ｄｃｔｃｐを求めるのに利用可能である。ＴＣＰ  Ｒｅｎｏ互換トラフィックに対して、式（１）が利用可能である。（１３）および（１４）を（１）および（２）と組み合わせることで：
Ｗ＿Ｒｅｎｏ＝Ｂ＿Ｒｅｎｏ＊ｐ＿Ｒｅｎｏ＾０．５／１．２２５  （１５）
および
Ｗ＿ｄｃｔｃｐ＝Ｂ＿ｄｃｔｃｐ＊ｐ＿ｄｃｔｃｐ＾２／２  （１６）
が得られる。
【００６１】
図５では、Ｂ＿ｄｃｔｃｐおよびｐ＿ｄｃｔｃｐはＢ＿ｄおよびｐ＿ｄと示されており、Ｂ＿Ｒｅｎｏおよびｐ＿ＲｅｎｏはＢ＿ｒおよびｐ＿ｒと示されている。（１５）および（１６）の両方は、ラウンドトリップタイム（ｒｔｔ）が通常は未知であるためにこれを無視しており、その結果、個々のフローごとに異なる値の混合となることに留意されたい。これは、技術水準において公平性からの逸脱として受け入れられている（現在のＴＣＰについてはテールドロップキュー上で、またＤＣＴＣＰについてはデータセンター内で）。より新しい輻輳制御アルゴリズムは、ラウンドトリップタイムの影響を最小化しようとしている。たとえば、ＣＵＢＩＣ  ＴＣＰ輻輳制御アルゴリズムは、（１７）の近似に示されるように、ｒｔｔ依存度が低い：
ｂ＿ｃｕｂｉｃ＝１．１６６／（ｒｔｔ＾０．２５＊ｐ＿ｃｕｂｉｃ＾０．７５）  （１７）
これは、同様にして、以下のように導出することができる：輻輳ウィンドウＷは、以下の式：
Ｗ＝Ｃ＊（ｔ−Ｋ）＾３＋Ｗ＿ｍａｘ  （１７．ａ）
Ｋ＝（Ｗ＿ｍａｘ＊ｂｅｔａ／Ｃ）＾（１／３）  （１７．ｂ）
により制御され、ここでｔは最後の輻輳イベントからの時間であり、Ｗ＿ｍａｘは最後の輻輳イベントからのウィンドウサイズであり、ｂｅｔａおよびＣは設定パラメータであり典型的にはたとえばｂｅｔａ＝０．３およびＣ＝０．６である。Ｋは、ウィンドウＷがサイズＷ＿ｍａｘに再度到達し、定常時における次の輻輳イベントが予想される時刻である。時刻ｔにおける現在の帯域幅ｂ＿ｃは、（５）を（１７．ａ）と組み合わせることで導出することができる：
ｂ＿ｃ＝（Ｃ＊（ｔ−Κ）＾３＋Ｗ＿ｍａｘ）／ｒｔｔ  （１７．ｃ）
２つの輻輳イベントの間の期間に送信されるパケットの数は、１／ｐ＿ｃｕｂｉｃに等しく（ここでｐ＿ｃｕｂｉｃは平均パケット破棄確率である）、式（１７．ｃ）の積分をｔ＝０およびｔ＝Ｋの区間で行うことで計算することができる。変形後、これは：
ｌ／ｐ＿ｃｕｂｉｃ＝Ｋ＊（Ｗ＿ｍａｘ−Ｃ＊Κ＾３／４）／ｒｔｔ  （１７．ｄ）
となる。（１７．ｂ）を２度用いて（１７．ｄ）のＫ＾３およびＷ＿ｍａｘを置き換えると：
ｌ／ｐ＿ｃｕｂｉｃ＝（１−ｂｅｔａ／４）＊Κ＾４＊Ｃ／（ｒｔｔ＊ｂｅｔａ）  （１７．ｅ）
が得られる。定常時帯域幅ｂ＿ｃｕｂｉｃは、１つの輻輳期間内に送信されるパケット数（＝１／ｐ＿ｃｕｂｉｃ）を、１つの輻輳間隔の時間（＝Ｋ）で割ったものとして表すことができる：
ｂ＿ｃｕｂｉｃ＝１／（ｐ＿ｃｕｂｉｃ＊Ｋ）  （１７．ｆ）
（１７．ｅ）をＫに変形し、これを（１７．ｆ）に代入すると：
ｂ＿ｃｕｂｉｃ＝（Ｃ＊（１／ｂｅｔａ−１／４））＾（１／４）／（ｐ＿ｃｕｂｉｃ＾（３／４）＊ｒｔｔ＾（ｌ／４））  （１７．ｇ）
が得られ、これは、ｂｅｔａおよびＣに典型的な値を用いた場合に（１７）となる。
【００６２】
ｒｔｔ非依存であって、スループットｂが一般的に：
ｂ＝ｂ＿ｏ／ｐ＿ｎ  （１８）
と表すことができるさらに他のメカニズムが存在し、ここでｂ＿ｏは最小レートであり、ｐ＿ｎはマーク確率である。
【００６３】
図３に記載の一般的な方法のための特定の実施形態の一例が、図６の記述に与えられている。図６に、パケット交換ネットワークにおける輻輳を制御するためのシステムおよび方法の一実施形態を示す。システムは、受信モジュール６０２、２つのバッファキュー６０５ａ−ｂ、２つのＡＱＭ計算モジュール６０３ａ−ｂおよび最大値モジュール６１１を備える計算モジュール６０３、破棄／マークコントローラ６０６ｂ、２つの測定デバイス６０７ａ−ｂ、ならびに優先スケジューラ６１０を備える。システムは、図３のシステムに類似しているが、ＴＣＰ  Ｒｅｎｏをｒｔｔ非依存輻輳制御器と組み合わせるように特別に適合されている。
【００６４】
図６に示された方法およびシステムは、１つのトラフィックのクラス、ここではバッファ６０５ｂに対応するものが、最少量のキューイング遅延を有することになっているが、他のトラフィッククラスに対するフロー公平性をなおも有さなければならない一実施形態に関する。この実現は、低遅延クラス優先度を付与するが、たとえば（１０）または（１２）において、あるいはＴＣＰ  ＣＵＢＩＣについては：
ｐ＿ｃｕｂｉｃ＝（１．１６６／１．２２５）＾（４／３）＊ｐ＿Ｒｅｎｏ＾（２／３）＊ｒｔｔ＿Ｒｅｎｏ  （１９）
または：
ｐ＿ｎ＝（ｂ＿０／１．２２５）＊ｐ＿Ｒｅｎｏ＾０．５＊ｒｔｔ＿Ｒｅｎｏ  （２０）
において、両トラフィッククラスの輻輳応答関数を考慮して、ここではキュー測定デバイス６０７ａにより測定されるキュー６０５ａの破棄確率に対応する他のクラスのマークまたは破棄確率に従ってマークまたは破棄を制御することで行われる。
【００６５】
式（１９）および（２０）は、それぞれ、ｂ＿ｃｕｂｉｃ＝ｂ＿Ｒｅｎｏ、（１）および（１７）ならびにｂ＿ｒｐｆ＝ｂ＿Ｒｅｎｏ、（１）および（１８）から変形した後、導出することができる。
【００６６】
（１９）および（２０）において、Ｒｅｎｏのｒｔｔファクタは、フローごとに異なり、たとえば、特定のネットワークトポロジにおける平均または最小期待値として設定することができる。
【００６７】
第６の実施形態では、第２のトラフィッククラスのエンドポイントにおける輻輳制御器は、たとえば式（１８）に従って挙動することができ、第１のトラフィッククラスについては、ＴＣＰ  Ｒｅｎｏに従って挙動することができ、これは式（１）を参照されたい。第２のトラフィッククラスのエンドポイントがパケットＰ２を速度調整すること、および通常の条件下では非常に小さいバッファキュー６０５ｂで十分であることが想定される。ＴＣＰ  Ｒｅｎｏトラフィックは、たとえば、単純なテールドロップバッファキュー６０５ａにより、または代わりにＲＥＤ  ＡＱＭにより扱われる。ＡＱＭ計算モジュール６０３ａにより与えられるマーク確率ｐ＿ｎ’は、たとえば式（２０）を、図６の（２１）：
ｐ＿ｎ’＝Ｃ＊ｐ＿ｒ＾０．５  （２１）
のように変形して用いることで求めることができ、ここで、Ｃ＝ｂ＿ｏ＊ｒｔｔ／１．２２５であり、ｒｔｔはたとえば最小期待ｒｔｔであり、また、ｐ＿ｒは第１のキュー６０５ａの第１の破棄／マーク確率である（この特定の実施形態ではｐ＿ｒはｐ＿Ｒｅｎｏに一致する）。
【００６８】
本発明の実施形態のいくつかの利点が、以下に列挙される。実施形態により、クラウド内部およびインターネットのトラフィックの混合を制御できるようになる。たとえば分散クラウドでは、クラウドのトラフィックはインターネットトラフィックに顕著に競合することがある。任意選択で、より複雑な公平性ポリシーおよび保証を、両トラフィックタイプへの知られている効果（ｉｍｐａｃｔ）により実現することができる。加えて、実施形態は、異なるユーザにわたるリンク容量の負荷分散を、容量割り当てを連続的に再設定することなく自動的に行うことができる。いくつかの実施形態により、さらに、新たな輻輳制御およびＡＱＭメカニズムを徐々に導入することができ、これはインタラクティブなアプリケーション、たとえばゲーム、ウェブアプリケーション、ビデオ会議、およびクラウドベースのアプリケーションでは特に重要である。
【００６９】
上記の様々な方法のステップが、プログラムされたコンピュータにより実施できることを、当業者ならば容易に認識するであろう。本明細書では、いくつかの実施形態は、機械可読またはコンピュータ可読であって、機械実行可能またはコンピュータ実行可能な命令のプログラムを符号化するものであり、前記命令は前記上述の方法のステップの一部または全部を実施する、プログラム記憶デバイス、たとえばデジタルデータ記憶媒体を含むことも意図するものとする。プログラム記憶デバイスは、たとえば、デジタルメモリ、磁気記憶媒体たとえば磁気ディスクおよび磁気テープ、ハードドライブ、または光学的可読デジタルデータ記憶媒体とすることができる。また、実施形態は、上述の方法の前記ステップを実施するようにプログラムされたコンピュータを含むことも意図するものとする。
【００７０】
「プロセッサ」または「手段」、「デバイス」または「モジュール」と名付けられた任意の機能ブロックを含む、図に示された様々な要素の機能は、専用ハードウェア、ならびに適切なソフトウェアとともにソフトウェアを実行可能なハードウェアを用いることで提供することができる。プロセッサにより提供される場合、これらの機能は、単一の専用プロセッサ、単一の共有プロセッサ、または一部が共有可能な複数の個別プロセッサにより提供することができる。さらに、「プロセッサ」または「コントローラ」という用語の明示的な使用は、ソフトウェアを実行可能なハードウェアを排他的に指すよう解釈されるべきではなく、暗黙的に、限定はしないが、デジタル信号プロセッサ（ＤＳＰ）ハードウェア、ネットワークプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ソフトウェアを格納するための読出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、および不揮発性ストレージを含むことができる。他のハードウェアも、従来型および／またはカスタム型であっても、含むことができる。
【００７１】
本発明の原理が、特定の実施形態に関連して上記で提示されているが、この記述はほんの一例として、添付の特許請求の範囲により決定される保護の範囲の限定としてではなくなされていることを理解されたい。
【図１】
0006289631.tif 000002
【図２】
0006289631.tif 000003
【図３】
0006289631.tif 000004
【図４】
0006289631.tif 000005
【図５】
0006289631.tif 000006
【図６】
0006289631.tif 000007