JP6289631B2 - パケット交換ネットワークにおけるキュー管理のための方法およびシステム - Google Patents

パケット交換ネットワークにおけるキュー管理のための方法およびシステム Download PDF

Info

Publication number
JP6289631B2
JP6289631B2 JP2016527402A JP2016527402A JP6289631B2 JP 6289631 B2 JP6289631 B2 JP 6289631B2 JP 2016527402 A JP2016527402 A JP 2016527402A JP 2016527402 A JP2016527402 A JP 2016527402A JP 6289631 B2 JP6289631 B2 JP 6289631B2
Authority
JP
Japan
Prior art keywords
packet
queue
mark
tcp
discard
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016527402A
Other languages
English (en)
Other versions
JP2016535508A (ja
Inventor
デ・シェッパー,クーン
ツァン,イン−ジュ
Original Assignee
アルカテル−ルーセント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2016535508A publication Critical patent/JP2016535508A/ja
Application granted granted Critical
Publication of JP6289631B2 publication Critical patent/JP6289631B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/629Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/196Integration of transport layer protocols, e.g. TCP and UDP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明の分野は、パケット交換ネットワークにおけるキュー管理のための方法およびシステムに関し、より詳細には、中間ノードにおいてパケットを破棄またはマークすることが可能な方法およびシステムに関する。
様々な輻輳制御メカニズムが開発されている。これまで、全ての輻輳制御メカニズムは、同一の輻輳フィードバック機能、すなわちテールドロップキュー上でのパケット破棄または遅延を想定しており、パケット破棄への公平な応答は、伝送トランスポートプロトコル(TCP:Transmission Transport Protocol)Renoアルゴリズムを近似する機能として応答することである。遅延(latency)を回避するためには、代替のメカニズムが必要であるが、これらの代替のメカニズムは、TCP Renoの平均キューイング遅延にもパケットロス確率にも一致しない。データセンターTCP(DCTCP)は、そのような代替のメカニズムの一例であるが、他の輻輳制御メカニズムもまた可能である。
現在、「TCPフレンドリー」でないアクティブキュー管理(AQM:Active Queue Management)および輻輳制御装置を配備することはできない、または認められていない。新たな取り組みは、たとえばデータセンターなど、インターネットから分離された、壁に囲まれた配備(walled deployment)に制限される。いくつかの改良が行われているが、何らかの「TCPフレンドリー」な挙動が期待され、新たな輻輳制御メカニズムがこれから外れるほど、プロトコルは配備のためにより多くの妨害を受ける。さらに、フローを公平性メトリクスに合致させるためのネットワーク専用の対策、たとえば公平キューイング(Fair Queuing)などが行われなければならない。
現在、異なるトラフィックタイプが、異なる容量が割り当てられた異なる「パイプ」に、それらの中のアクティブなフローの数とは無関係に分離される。あるパイプは、少量の帯域幅のみを各々取得した多数のフローで過負荷となることがあり、他のパイプは、大量の帯域幅を各々取得したごく少数のフローを有することがある。
Mathis,M.、Semke,J.、Mahdavi,J.、およびOtt,T.(1997年)、「The macroscopic behavior of the TCP congestion avoidance algorithm」、ACM SIGCOMM Computer Communication Review、27(3)、67−82頁 Alizadeh,M.、Greenberg,A.、Maltz,D.A.、Padhye,J.、Patel,P.、Prabhakar,B.、...およびSridharan,M.(2010年)、「Data center tcp (dctcp)」、ACM SIGCOMM Computer Communication Review、40(4)、63−74頁
本発明の実施形態の目的は、様々なトラフィックのクラスが、公平性を保証しつつ同一のネットワーク上で動作できるようにする方法およびシステムを提供することである。異なるクラスは、エンドポイントにおいて異なる輻輳メカニズムを使用することができ、または同一の輻輳メカニズムを異なるパラメータと共に使用することができる。本発明の特定の実施形態の目的は、全てのトラフィックフローが公平な分配を受けることを保証しながら、TCP RenoまたはTCP New Renoフローと同一のネットワーク上のDCTCPフローを可能とすることにある。
本発明の第1の態様によれば、送信ノードと、受信ノードと、1つまたは複数の中間ネットワークノードとを備えるパケット交換ネットワークにおけるキュー管理のための方法であって、1つまたは複数の中間ノードが複数のリンクで相互に接続され、これにより送信ノードおよび受信ノードの間でパケットフローをルーティングするためのパスを形成し、方法は、中間ノードにおいて:
− 第1のキュー管理メカニズムに関連付けられた第1のトラフィックのクラスに属する第1のパケットと、第2のキュー管理メカニズムに関連付けられた第2のトラフィックのクラスに属する第2のパケットとを受信することと、
− 第1のキュー管理メカニズムに従って第1のパケットをマークまたは破棄し、第2のキュー管理メカニズムに従って第2のパケットをマークまたは破棄することと、
− 第2のパケットをマークまたは破棄することを、第1のパケットをマークまたは破棄することに結合することと
を備える、方法が提供される。
本発明の実施形態は、とりわけ、中間ノードで受信される異なるトラフィックのクラスのマーキングまたは破棄を結合できるという洞察に基づいている。この結合は、たとえば、エンドポイントにおける輻輳制御装置のそれぞれの応答関数を用いることで可能である。そのような結合を導入することにより、第1のキュー管理メカニズムを用いた第1のパケットおよび第2のキュー管理メカニズムを用いた第2のパケットのフロー間での利用可能なネットワークリソースの公平な共有を改善することができ、および/または所定の共有を想定することができる。
この方法は、混合されたトラフィックのクラスを有するパケット交換ネットワークにおける全てのトラフィックのクラスの全てのフローに対して、利用可能な帯域幅の公平な分配または所定の分配を付与しつつ、確立されたタイプのトラフィックの受け入れられたニーズをなおも尊重するための方法を提供する。
可能な実施形態によれば、第1のパケットをマークまたは破棄することが、第1のマークまたは破棄確率に従って行われ、第2のパケットをマークまたは破棄することが、第2のマークまたは破棄確率に従って行われ、結合することが、第1のマークまたは破棄確率を表す尺度に基づいて、第2のマークまたは破棄確率を計算することを備える。第1のマークまたは破棄確率は、パッシブな第1のキュー管理メカニズム、たとえばテールドロップキューシステムの場合は、測定することができ、アクティブな第1のキュー管理メカニズムの場合は、キューサイズなどに基づいて計算される値とすることができる。より一般的には、受信された第1および第2のパケットを、少なくとも1つのキューバッファに格納することができ、第1のマークまたは破棄確率を、少なくとも1つのキューバッファ内の第1および第2のパケットの数に関連する尺度に基づいて決定することができ、たとえば瞬時キュー長、平均キュー長、パケット滞在時間、着信トラフィックレート、送出トラフィックレート、瞬時パケットキューオーバーフロー、平均キューオーバーフローレート、および当業者により知られており最新のアクティブキュー管理(AQM)システムで使用される他のものである。言い換えれば、キューバッファは受信されたパケットを一時的に保持し、次いで、第1のマークまたは破棄確率および結合された第2のマークまたは破棄確率を用いた特定のキュー管理メカニズムに従って、キューバッファに一時的に格納されたパケットを破棄またはマークすることができる。1つより多いキューバッファが設けられている場合、たとえば1つのキューバッファがキュー管理メカニズムのタイプごとに設けられている場合、第1のマークまたは破棄確率を計算するために第1のキュー内の第1のパケットの数に関する尺度を使用することができ、または、第1のマークまたは破棄確率を計算するために第1および第2のキュー内の第1および第2のパケットの数に関する尺度を使用することができる。
他の実施形態によれば、受信することが、第1のパケットを第1のキューに、第2のパケットを第2のキューに分類することを備え、結合することが、第1および第2の重みに従って、第1のキューおよび第2のキューからのマークされたまたは破棄されない第1および第2のパケットの送信をスケジューリングすることを備える。好ましくは、第1の使用帯域幅が第1のパケットに対して測定され、第2の使用帯域幅が第2のパケットに対して測定され、第1および第2の使用帯域幅が、それぞれ第1および第2の重みを計算するために使用される。より好ましくは、第1のパケットをマークまたは破棄することが、第1のマークまたは破棄確率に従って行われ、第2のパケットをマークまたは破棄することが、第2のマークまたは破棄確率に従って行われ、第1および第2のマークまたは破棄確率が、それぞれ第1および第2の重みを決定するために使用される。第1および第2の帯域幅および/または破棄確率に応じて第1および第2の重みを計算することにより、第1および第2のキューの充填レベルは、受信されたパケットフローに応じて影響されることがあり、これは転じて第1および第2のキュー管理メカニズムにより使用される第1および第2の破棄確率に影響することになり、フローへの公平な分配を保証できるようになる。
さらに他の実施形態によれば、受信することが、第1のパケットを第1のキューに、第2のパケットを第2のキューに分類することを備え、結合することが、第1のキューのマークされたまたは破棄されない第1のパケットより優先して、第2のキューからのマークされたまたは破棄されない第2のパケットの送信をスケジューリングすることを備える。この実施形態においても、第1のパケットのマーキングまたは破棄が、第1のマークまたは破棄確率に従って行うことができ、第2のパケットのマーキングまたは破棄が、第1のマークまたは破棄確率を表す尺度に基づいて決定される第2のマークまたは破棄確率に従って行うことができることに留意されたい。より詳細には、第2のマークまたは破棄確率は、第1のキュー内の第1のパケットの数に関する尺度に基づいて計算される第1の値と、第2のキュー内の第2のパケットの数に関する尺度に基づいて計算される第2の値との間の最大値として決定することができる。優先スケジューリングを用いることで、結合により公平性が保証されながら、低遅延クラスが実際に低遅延で扱われることを保証することができる。
好ましい実施形態では、結合することは、第1のパケットのフローおよび第2のパケットのフローに、利用可能な帯域幅の所定の分配、具体的には公平な分配が付与されるようなものである。
好ましい実施形態によれば、トラフィックのクラスが、以下の輻輳プロトコル:伝送制御プロトコル(TCP)Reno、伝送制御プロトコル(TCP)New Reno、CUBIC伝送制御プロトコル(TCP)、高速TCP、複合TCP、スケーラブルTCP、TCPフレンドリーレート制御(TFRC)を用いたユーザデータグラムプロトコル(UDP)、複数TCP(MULTCP)、複数TFRC(MULTFRC)、データグラム輻輳制御プロトコル(DCCP)、データセンターTCP(DCTCP)、DTCP、DTCPのいずれか1つに関連する。しかしながら、当業者は、他のプロトコルが可能であることを理解するであろう。本発明の実施形態により、たとえばTCP(New)RenoをDCTCPに同一ネットワーク上で組み合わせることができ、そこでは全てのトラフィックが公平な分配に従って挙動する。従来技術の方法では、DCTCPが全てのTCP Renoのトラフィックを押しやるので、両タイプのトラフィックが同一のネットワークを共有することができない。テールドロップキュー上でTCP Renoなど後方互換的に挙動する送信機における輻輳制御メカニズムは、広く認められる。本発明の方法の実施形態を用いることで、新たなアクティブキュー管理システムがネットワークに存在する場合にもTCPフレンドリーに動作することができる。
他の態様によれば、パケット交換ネットワークにおけるキュー管理のためのシステムが提供される。システムは、第1のキュー管理メカニズムに関連付けられた第1のクラスに属する第1のパケットと、第2のキュー管理メカニズムに関連付けられた第2のクラスに属する第2のパケットとを受信するための受信モジュールを備える。システムは、第1のキュー管理メカニズムに従って第1のパケットをマークまたは破棄し、第2のキュー管理メカニズムに従って第2のパケットをマークまたは破棄し、第2のパケットをマークまたは破棄することを、第1のパケットをマークまたは破棄することに結合するように構成される。
好ましい実施形態では、システムは、第1のパケットのフローおよび第2のパケットのフローに、利用可能な帯域幅の所定の分配、具体的には公平な分配が付与されるように、第2のパケットをマークまたは破棄することを、第1のパケットをマークまたは破棄することに結合するように適合される。
可能な実施形態では、システムは、第1のマークまたは破棄確率に従って第1のパケットをマークまたは破棄するように適合される。システムは、第2のマークまたは破棄確率に従って第2のパケットをマークまたは破棄するように構成されたコントローラと、第1のマークまたは破棄確率を表す尺度に基づいて、第2のマークまたは破棄確率を計算するように構成された計算モジュールとをさらに備える。そのような計算モジュールは、公平性が与えられるように、第2の確率が第1の確率に結合されることを保証する。さらに、第1のマークまたは破棄確率を決定するために使用可能なキューパラメータを測定するように構成された測定デバイスを含めることができる。一実施形態では、システムは、受信された第1および第2のパケットを格納するための少なくとも1つのキューバッファを備える。計算モジュールは、少なくとも1つのキューバッファ内の第1および第2のパケットの数に関連する尺度に基づいて、第1のマークまたは破棄確率を決定するようにさらに構成される。
可能な実施形態では、受信モジュールは、第1のパケットを第1のキューに、第2のパケットを第2のキューに分類するための分類器を備える。そして、システムは、第1および第2の重みに従って、第1のキューおよび第2のキューからのマークされたまたは破棄されない第1および第2のパケットの送信をスケジューリングするように構成されたスケジューラをさらに備える。任意選択で、システムは、第1のパケットに対する第1の使用帯域幅と、第2のパケットに対する第2の使用帯域幅とを測定するように構成された帯域幅測定デバイスと、第1および第2の使用帯域幅を用いて第1および第2の重みを計算するように構成された重み計算器とを備える。任意選択で、システムは、第1のマークまたは破棄確率に従って第1のパケットをマークまたは破棄し、第2のマークまたは破棄確率に従って第2のパケットをマークまたは破棄するように構成される。好ましくは、重み計算器は、第1および第2の重みを、それぞれ第1および第2のマークまたは破棄確率、ならびに第1および第2の測定された帯域幅に基づいて計算するように構成される。
他の可能な実施形態では、受信モジュールは、第1のパケットを第1のキューに、第2のパケットを第2のキューに分類するように構成された分類器を備える。システムは、第1のキューの第1のパケットより優先して、第2のキューからのマークされたまたは破棄されない第2のパケットの送信をスケジューリングするように構成された優先スケジューラを備える。この実施形態においても、第1のパケットのマーキングまたは破棄が、第1のマークまたは破棄確率に従って行うことができ、第2のパケットのマーキングまたは破棄が、第1のマークまたは破棄確率を表す尺度に基づいて決定される第2のマークまたは破棄確率に従って行うことができることに留意されたい。より詳細には、システムは、第2のマークまたは破棄確率を、第1のキュー内の第1のパケットの数に関する尺度に基づいて計算される第1の値と、第2のキュー内の第2のパケットの数に関する尺度に基づいて計算される第2の値との間の最大値として決定するように構成された計算モジュールを備えることができる。優先スケジューラを用いることで、低遅延クラスが実際に低遅延で扱われつつ、計算モジュールが公平性を保証する。
好ましい実施形態では、第1および第2のクラスは、以下のプロトコル:伝送制御プロトコル(TCP)Reno、伝送制御プロトコル(TCP)New Reno、CUBIC伝送制御プロトコル(TCP)、高速TCP、複合TCP、スケーラブルTCP、TCPフレンドリーレート制御(TFRC)を用いたユーザデータグラムプロトコル(UDP)、複数TCP(MULTCP)、複数TFRC(MULTFRC)、データグラム輻輳制御プロトコル(DCCP)、データセンターTCP(DCTCP)、DTCP、DTCPのいずれかに関連する。
本発明の他の態様によれば、上述の方法の実施形態の計算および制御を行うようにプログラムされた、コンピュータデバイスまたは他のハードウェアデバイスも存在する。
添付の図面を用いて、本発明のデバイスの現在好ましい非限定的な例示的実施形態を説明する。以下の詳細な説明から、添付図面と併せて読まれた場合に、本発明の特徴および目的の上記および他の利点がより明らかとなり、本発明がより良く理解されるであろう。
2つのトラフィックのクラスに対して1つのキューバッファを用いた本発明の第1の一般的実施形態の概略図である。 2つのトラフィックのクラスに対する2つのキューバッファと、加重スケジューリングのための帯域幅測定とを用いたシステムおよび方法の第2の一般的実施形態の概略図である。 2つのトラフィックのクラスに対する2つのキューバッファと、優先スケジューリングとを用いたシステムおよび方法の第3の一般的実施形態の概略図である。 TCP Reno互換トラフィックの第1のクラスが標準的なランダム早期破棄(RED:Random Early Drop)AQMでアクティブに管理され、DCTCP互換トラフィックの第2のクラスがDCTCP輻輳制御アルゴリズムに一致するように修正されたRED方式を用いて結合される、第1の一般的実施形態の特定の実施形態である第4の実施形態の概略図である。 TCP Reno互換トラフィックの第1のクラスが標準的なランダム早期破棄(RED)AQMでアクティブに管理され、DCTCP互換トラフィックの第2のクラスが標準的なDCTCP設定されたランダム早期破棄(RED)AQMでアクティブに管理された、第2の一般的実施形態の特定の実施形態である第5の実施形態の概略図である。 TCP Reno互換トラフィックの第1のクラスが標準的なテールドロップキューで管理され、新たに輻輳制御されるトラフィックの第2のクラスが新規のAQMでアクティブに管理された、第3の一般的実施形態の特定の実施形態である第6の実施形態の概略図である。
図1に、パケット交換ネットワークにおけるキュー管理のためのシステムおよび方法の一実施形態を示す。システムは、受信モジュール102、キューバッファ105、計算モジュール103、2つの破棄/マークコントローラ106a−b、および測定デバイス107を備える。システムは、送信ノードからパケットPを受信し、受信ノードへパケットP’を送信する中間ノードに設けられる。簡単のため、送信および受信ノードは、この図には示されていない。
受信モジュール102は、中間ノードにおいて異なるキュー管理メカニズムを必要とする、それぞれの送信機において異なる輻輳制御メカニズム/アルゴリズムを用いた2つ以上のトラフィックのクラスに属するパケットP1、P2を受信するように構成される。中間ノードにおいて、2つのトラフィックのクラスに属するパケットP1、P2は、送信ノードから受信される。2つのトラフィックのクラスは、ここでは例として、色分けにより区別される。図示の実施形態では、受信モジュール102は、異なるトラフィックのクラスの受信されたパケットP1、P2を区別し、たとえばクラスに応じてパケットに表示(indication)を追加する分類器104を備える。分類機能が必要ないこと、および破棄/マークコントローラ106a−bがキューバッファ105内のパケットのクラスを認識するようにも構成できることに留意されたい。
キューバッファ105は、着信パケットPを、受信ノードにルーティングされる前に一時的に格納する。破棄/マークコントローラ106a−bは、キューバッファ105に作用して、対応するマークまたは破棄確率に応じてパケットを破棄またはマークする。
計算モジュール103は、キュー測定デバイス107により与えられた1つまたは複数の測定されたパラメータに基づいて、第1のクラスおよび第2のクラスについてのマークまたは破棄確率を計算するように構成される。
キュー測定デバイス107は、キューを通過するトラフィックから1つまたは複数のパラメータを抽出することができる。これらのパラメータは、瞬時キュー長、平均キュー長、パケット滞在時間、着信トラフィックレート、送出トラフィックレート、瞬時パケットキューオーバーフロー、平均キューオーバーフローレート、および当業者により知られており最新のアクティブキュー管理(AQM)システムで使用される他のものとすることができる。
キューバッファ105、キュー測定デバイス107、計算モジュール103および1つまたは複数の破棄/マークコントローラ106a−bは組み合わさって、アクティブキュー管理(AQM)システムを形成する。計算モジュール103により与えられるパケット破棄確率は、個々のフローの定常時レートが同一となるまたは所定のパーセンテージに等しくなるよう公平に近似されるように、それぞれのクラス内のトラフィックにより使用される特定の輻輳制御メカニズムに適合される。あるいは、第1のトラフィックのクラスについての第1のマークまたは破棄確率は、最新技術と同様に計算することができ、他のマークまたは破棄確率は、第1のマークまたは破棄確率から導出することができ、これによりフローごとに公平な定常時レートを近似する。
この第1の実施形態の利点は、単純であること、および単一のキュー105を異なって輻輳制御されるトラフィックの複数のクラスに使用できることである。不利な点は、キューイング滞在時間が全てのトラフィッククラスの全てのフローに対して同じであるために、特定の輻輳制御/AQMの組み合わせの特定の利点が減少することである。
図2に、パケット交換ネットワークにおける輻輳を制御するためのシステムおよび方法の一実施形態を示す。システムは、受信モジュール202、2つのバッファキュー205a−b、2つのAQM計算モジュール203a−b、2つの破棄/マークコントローラ206a−b、2つのキュー測定デバイス207a−b、2つの帯域幅測定デバイス208a−b、2つの重み計算器209a−b、および加重スケジューラ210を備える。システムは、送信ノードからパケットPを受信し、受信ノードへパケットP’を送信する中間ノードに設けられる。
受信モジュール202は、異なる輻輳制御メカニズムを必要とする2つ以上のトラフィックのクラスに属するパケットP1、P2を受信するように構成される。2つのトラフィックのクラスは、ここでは例として色分けにより区別される。図示の実施形態では、受信モジュール202は、異なるトラフィックのクラスの受信されたパケットP1、P2を区別し、これらをクラスに従って第1のキュー205aまたは第2のキュー205bに分類する分類器204を備える。
バッファキュー205a−bは、着信パケットP1、P2を、受信ノードにルーティングされる前に一時的に格納する。破棄/マークコントローラ206a−bは、それぞれのバッファキュー205a−bに作用して、対応するマークまたは破棄確率に応じてパケットを破棄またはマークする。例として、この例で示された2つのトラフィックのクラスの各々は、異なるバッファキュー205a−bにより扱われるが、他の順序付け(orderings)、たとえば(図1に示された例のように)いくつかのトラフィックのクラスを1つのバッファキュー内に結合すること、または1つのトラフィックのクラスのパケットを2つ以上のバッファキューに広げること、あるいはこれらの任意の組み合わせを想定することができる。
計算モジュール203a−bは、それぞれのキュー測定デバイス207a−bにより与えられた1つまたは複数の測定されたパラメータに基づいて、それぞれのクラスについてのマークまたは破棄確率を計算するように構成される。
キュー測定デバイス207a−bは、それぞれのキュー205a−bを通過するトラフィックからパラメータを抽出することができる。これらのパラメータは、瞬時キュー長、平均キュー長、パケット滞在時間、着信トラフィックレート、送出トラフィックレート、瞬時パケットキューオーバーフロー、平均キューオーバーフローレート、および当業者により知られており最新のアクティブキュー管理(AQM)システムで使用される他のものとすることができる。
キュー205a、キュー測定デバイス207a、計算モジュール203aおよび破棄/マークコントローラ206aは組み合わさって、技術水準で知られているAQMシステムと同一であり得る第1のアクティブキュー管理(AQM)システムを形成し、それぞれのbコンポーネントは第2のAQMシステムを形成する。
テールドロップキューもまた、この表現(representation)に一致するよう意図されていることに留意されたい。その場合、キューが一杯になった場合に破棄は自然に行われることになるので破棄/マークコントローラ206a−bは必要なく、キュー測定デバイス207a−bは、平均キューオーバーフロー(破棄)レートを測定するように構成され、計算モジュール203a−bは、平均キューオーバーフローまたは破棄レートを、重み計算器209a−bなどによりさらに必要とされ、キュー測定デバイスから破棄確率として渡すことになる(以下を参照せよ)。
第2の実施形態では、独立した計算モジュール203a−bにより与えられるパケット破棄確率は、帯域幅測定デバイス207a−bの出力と共に重み計算器209a−bにより使用されて、個々のフローの定常時レートが同じになるよう公平に近似されるように、それぞれのクラスのトラフィックにより使用される特定の輻輳制御メカニズムに適合される重みが生成される。重みは加重スケジューラ210により、それぞれのキューからの送出トラフィックをスケジューリングする際に考慮される。
使用帯域幅がBW測定デバイス208a−bにより、受信されたパケットのトラフィックのクラスごとに測定される。ここではクラスごとに1つの重み計算器209a−bが示されているが、これらの機能は組み合わせることができる。
第2の実施形態の利点は、各トラフィッククラスが自身のキュー構成と、AQM方式および設定とを使用することができ、2つ以上のトラフィッククラスの帯域幅が公平に分割されて、自身のトラフィッククラスと独立な各フローに、リンク容量の公平な分配が近似的に与えられることが保証されることである。
図3に、パケット交換ネットワークにおける輻輳を制御するためのシステムおよび方法の第3の実施形態を示す。システムは、受信モジュール302、2つのバッファキュー305a−b、2つの計算モジュール303a−b、2つの破棄/マークコントローラ306a−b、2つのキュー測定デバイス307a−b、優先スケジューラ310、および最大値モジュール311を備える。システムは、送信ノードからパケットPを受信し、受信ノードへパケットP’を送信する中間ノードに設けられる。
受信モジュール302は、異なる輻輳制御メカニズムを必要とする2つ以上のトラフィックのクラスに属するパケットP1、P2を受信するように構成される。2つのトラフィックのクラスは、ここでは例として色分けにより区別される。図示の実施形態では、受信モジュール302は、異なるトラフィックのクラスの受信されたパケットP1、P2を区別し、これらをそれぞれのキュー305a−bに分類する分類器304を備える。
バッファキュー305a−bは、着信パケットPを、受信ノードにルーティングされる前に一時的に格納する。破棄/マークコントローラ306a−bは、それぞれのバッファキュー305a−bに作用して、対応するマークまたは破棄確率に応じてパケットを破棄またはマークする。例として、この例で示された2つのトラフィックのクラスの各々は、1つの異なるバッファキュー305a−bにより扱われるが、他の順序付け、たとえば(図1に示された例のように)いくつかのトラフィックのクラスを1つのバッファキュー内に結合すること、または1つのトラフィックのクラスのパケットを2つ以上のバッファキューに広げること、あるいはこれらの任意の組み合わせを想定することができる。
計算モジュール303a−bは、それぞれのキュー測定デバイス307a−bにより与えられた1つまたは複数の測定されたパラメータに基づいて、それぞれのクラスについてのマークまたは破棄確率を計算するように構成される。
キュー測定デバイス307a−bは、それぞれのキュー305a−bを通過するトラフィックからパラメータを抽出することができる。これらのパラメータは、瞬時キュー長、平均キュー長、パケット滞在時間、着信トラフィックレート、送出トラフィックレート、瞬時パケットキューオーバーフロー、平均キューオーバーフローレート、および当業者により知られており最新のアクティブキュー管理(AQM)システムで使用される他のものとすることができる。
キュー305a、キュー測定デバイス307a、計算モジュール303aおよび破棄/マークコントローラ306aは組み合わさって、技術水準で知られているAQMシステムと類似し得る第1のアクティブキュー管理(AQM)システムを形成し、それぞれのbコンポーネントは第2のAQMシステムを形成する。テールドロップキューもまた、この表現に一致するよう意図されていることに留意されたい。第1のAQMシステムおよび第2のAQMシステムの間の結合は:
− 第1のキュー測定デバイス307aにより測定されたパラメータまたはその導出された値、
− 第2のキュー測定デバイス307aにより測定されたパラメータまたはその導出された値
のうちの最大値を計算する最大値モジュール311を有することで実現される。この最大値は、第2の破棄/マークコントローラ206bにより使用される第2の破棄/マーク確率を求めるために使用される。
第3の実施形態では、第1の計算モジュール303aは、第2のトラフィッククラスの個々のフローの定常時レートが第1のトラフィッククラスの定常時レートに近似されるように、第2のトラフィッククラスにより使用される特定の輻輳制御メカニズムに適合される第2のパケットの破棄/マーク確率を計算するために使用される値を計算するようにも構成される。この値は、第1のキュー測定デバイス307aの出力に基づく。
優先スケジューラ310は最初に、第2のキュー305bからパケットをスケジューリングすることになり、そのキューにパケットがない場合は、第1のキュー305aから行う。結果として、第2のキュー305bは大抵空のままとなり、第2の計算モジュール303bは典型的には非常に低い破棄/マーク確率を与えることになる。他方、第1のキュー305aは、輻輳して非常に負荷がかかることになり、それぞれのトラフィッククラスの輻輳制御メカニズムに適合された、それに応じたより高いパケット破棄/マークを生じさせることになる。この結果、第1の計算モジュール303aにより与えられた第2の破棄/マーク確率が、最大値モジュール311により選択されることになる。第1の計算モジュール303aにより提供されるこの第2の破棄/マーク確率は、破棄/マークコントローラ306bにより第2のクラスのトラフィックに適用される。これにより、両方のトラフィッククラスからのフロー間で、フローあたりのレートが適度なバランスに保たれる。第1のトラフィッククラスにフローが存在しない場合、または第2のトラフィッククラス内に非常に高い負荷が生じた場合にのみ、計算モジュール303bにより生成されたより高いパケット破棄/マーク確率がトリガされることになり、その結果、第2の破棄/マークコントローラ306bが、第2の計算モジュール303bの値により駆動される。
第3の実施形態の利点は、最高のスケジューリング優先度を有する1つまたは複数のトラフィッククラスについてのキューイング遅延が最小化されつつ、異なるトラフィッククラスにわたる全てのフロー間の帯域幅の公平な分配の近似が維持されること、および、最低の優先度でスケジューリングされるトラフィッククラスのキューサイズが完全なリンク利用を保証するほど大きくできることである。
図1に示された一般的な方法のための特定の実施形態の一例が、図4の記述に与えられている。図1の実施形態を説明するための一例として、TCP RenoおよびDCTCPを含む混合トラフィックの特定の状況が論じられる。TCP Renoフローが、マークまたは破棄確率、すなわち破棄またはマーク確率(p_Reno)と、ラウンドトリップタイム(rtt)との関数である定常時スループット(b_Reno)を有することが知られている。マークまたは破棄確率(p_Reno)は、ある時間間隔においてパケット(またはバイト)の総数で破棄またはマークされるパケット(またはバイト)の数を割ったものである。定常時スループット(b_Reno)は、近似的に以下のように定義される:
b_Reno=l.225/(rtt*p_Reno^0.5) (1)
これは知られている近似であり、たとえばMathis,M.、Semke,J.、Mahdavi,J.、およびOtt,T.(1997年)、「The macroscopic behavior of the TCP congestion avoidance algorithm」、ACM SIGCOMM Computer Communication Review、27(3)、67−82頁において説明されている。
DCTCPに関して、定常時スループット(b_dctcp)はまた、マークまたは破棄確率(p_dctcp)およびラウンドトリップタイム(rtt)の関数である近似公式により表すことができる。非常に小さいラウンドトリップタイム(rtt)と、DCTCP用に(瞬時キューサイズと、同じ値に設定された最小および最大閾値(これによりキューサイズが閾値を超えた場合に100%マーキングとなる)とを用いて)構成されたRED AQMとを有するデータセンター環境では、この関係は:
b_dctcp=2/(rtt*p_dctcp^2) (2)
により近似することができる。これは以下の式:
p_dctcp=(2/W_max)^0.5 (3)
から導出され、ここでp_dctcpは総パケットに対するマークされるパケットの数、したがってパケットマーク確率であり、W_maxは、論文:Alizadeh,M.、Greenberg,A.、Maltz,D.A.、Padhye,J.、Patel,P.、Prabhakar,B.、...およびSridharan,M.(2010年)、「Data center tcp (dctcp)」、ACM SIGCOMM Computer Communication Review、40(4)、63−74頁に記載された最大輻輳ウィンドウである。(3)は:
W_max=2/p_dctcp^2 (4)
と変形することができる。ウィンドウベースの輻輳制御メカニズムでは、定常時帯域幅は:
b=W/rtt (5)
と定義され、ここでbは1つのフローの定常時帯域幅であり、Wは平均ウィンドウサイズであり、rttは平均ラウンドトリップタイムである。小さいバッファを用いると、最大ウィンドウは平均ウィンドウに近づくことになり、(5)において(4)を用いると、(2)となる。
WANインターネット環境では、ラウンドトリップタイムはより大きく、ランダム早期マーキングのために、DCTCPに関してrttごとにいくつかのパケットがマークされることを想定することができる。rttごとに、ウィンドウは1だけ増加することになり、または確認応答パケットごとに1/Wだけ増加することになり、ここでWは平均ウィンドウサイズである。DCTCPは、ウィンドウをrttごとにp_dctcp_r/2だけ減少させることになり、ここでp_dctcp_rはランダムマーキング用のパケットマーク確率である。したがって定常時について、これら両方の値は互いを補償するはずであり、その結果:
p_dctcp_r/2=1/W (6)
となる。また、(6)を変形した後、これを(5)で用いると:
b_dctcp_r=2/(rtt*p_dctcp_r) (7)
となる。したがって、文脈に応じて、(2)または(7)の両方あるいは組み合わせを用いることができる。2つのTCP RenoパケットフローおよびDCTCPパケットフローが同じ分配を得るようにするためには、目標は(同じ分配の代わりに、たとえば60パーセント/40パーセントの分配を、これが好ましい場合には設定することもできることに留意されたい):
b_dctcp(_r)=b_Reno (8)
とすることである。
本発明の第1の実施形態は、2つのクラスからのフローのマークまたは破棄確率を結合することを目標とする。式(1)、(7)および(8)を組み合わせると、以下の解:
p_Reno=(1.225/2*p_dctcp_r)^2 (9)
または:
p_dctcp_r=2/1.225*p_Reno^0.5 (10)
が得られる。式(1)、(2)および(8)を組み合わせると、以下の解:
p_Reno=(1.225/2)^2*p_dctcp^4 (11)
または:
p_dctcp=(2/1.225)^0.5*p_Reno^0.25 (12)
が得られる。
したがって、測定デバイス107により測定されたキュー105のパラメータからp_Renoが導出された場合、p_dctcp(_r)を、計算モジュール103により式(10)または(12)を用いて計算することができる。
この実施形態は、WANネットワーク上で機能して、既存の設備へ最小限の影響でDCTCPフローおよびTCP Reno互換フローの間の公平な分配をサポートすることが意図されている。早期輻輳通知(ECN:Early Congestion Notification)をサポートするパケットは、DCTCPトラフィッククラスに属すると仮定され、他のパケットはTCP Renoトラフィッククラスに属すると仮定される。この場合、DCTCPは、ECNマークされたパケットを輻輳フィードバックとして取得することになり、TCP Reno互換フローは、破棄されたパケットを輻輳フィードバックとして取得する。非DCTCP特有設定のREDを有する共通のキューとして、増加するマーク確率を有する平均キューサイズを用いることが設定され、DCTCPパケットについてのパケットロス確率を決定するために式(10)が適用される。TCP Renoパケットは標準的なRED設定に従って破棄され、DCTCPパケットは、式(10)に従ってTCP Reno破棄確率から導出された確率でマークされる。
図4に、RED(ランダム早期破棄(random early drop))マーク/破棄コントローラを用いた、異なるTCP Reno412と互換性のある第1のトラフィックのクラスおよびDCTCP413と互換性のある第2のトラフィックのクラスについての、平均キューサイズに応じたマークまたは破棄確率をプロットしたグラフであって、平均バッファキューサイズ420が、上記の式(10)などにより結合される2つのクラスについての異なる破棄確率につながる、グラフを示す。
フロー間の公平性を維持するためには、DCTCPフローのマークまたは破棄確率は、式(10)によれば、TCP Renoより高い必要がある。RenoトラフィックのRED設定は、平均キューサイズ420に応じての確率412を用いてパケットを破棄する標準的なREDを使用するものとすることができる。好ましくは、Renoトラフィックについての最大閾値(max_prob421)に対するマークまたは破棄確率値は、DCTCPについての1.0のマークまたは破棄確率413となるように選択される。DCTCPトラフィックは、たとえば式(10)を用いて計算された確率に従ってマークされ、標準的なREDとは別のパラメータ化(parameterization)、または標準設定から導出されたものを使用する。
図2に示された一般的な方法のための特定の実施形態の一例が、図5に与えられている。システムは、受信モジュール502、2つのバッファキュー505a−b、TCP AQM破棄および測定モジュール503a、DCTCP ECNマークおよび測定モジュール503b、2つの帯域幅測定デバイス508a−b、2つの重み計算器509a−b、および加重ラウンドロビンスケジューラ510を備える。システムは図2と類似しているが、TCP RenoをDCTCPと組み合わせるように特別に適合されている点が違う。また、トラフィックの分類は、IPヘッダ内のECNビットに基づくことが想定される。ECNがサポートされる場合、DCTCPプロトコルに従って輻輳制御されるパケットがマークされ、したがってDCTCP ECNマークおよび測定モジュール503bは、図2のモジュール203b、206bおよび207bにマッピングし、DCTCP優先のAQM設定をサポートするように構成される。TCP Reno互換のトラフィッククラスは、送信機への輻輳通知としてパケットを破棄するTCP Reno互換AQM503aで管理されることになる。これは、当業者により知られている任意のAQM、たとえばテールドロップ、RED、CodelまたはPieとすることができる。TCP AQM破棄および測定モジュール503aおよびDCTCP ECNマークおよび測定モジュール503bにより測定または適用されるマーク/破棄確率は、ラウンドロビンスケジューラ510の適切な重み計算により結合される。この例では、DCTCPバッファキュー505bは、TCP Renoバッファキュー505aより非常に小さく維持することができる。DCTCPバッファキュー505aは、優先DCTCP設定:瞬時バッファキューサイズ(平均ではない)およびmax_thresholdに等しいmin_thresholdを用いて制御することができ、ここでバッファキューサイズが閾値より高い場合、瞬時100%マーキングを全てのパケットに適用することができる。TCP Renoは、優先AQM破棄またはテールドロップ設定を有することができる。マークまたは破棄確率および帯域幅は、両方のトラフィッククラス集合体(aggregates)について測定され、スケジューリングの重みは、以下に詳細に説明されるように計算することができる。スケジューラは、加重ラウンドロビンスケジューラ510として示されているが、以下で計算されるようにスケジューリングの重みを近似する任意の他の加重スケジューラとすることができる。帯域幅および破棄確率は、典型的には同様の時間間隔にわたって測定される。
重み計算器509a−bの動作の一例として、ネットワークにおいてパケットごとに分類可能なDCTCPおよびTCP Renoトラフィッククラスを再度想定する。好ましくは、スケジューラ510により使用される重み(W_RenoおよびW_dctcp)は、特定のトラフィッククラス内のフローの数に比例する。フローの数(N_RenoおよびN_dctcp)は、集合体の測定された使用帯域幅(B_RenoおよびB_dctcp)を、マークまたは破棄確率から導出された1つのフローのレート(b_Renoおよびb_dctcp)で割ることで求めることができる:
N_Reno=B_Reno/b_Reno (13)
および
N_dctcp=B_dctcp/b_dctcp (14)
DCTCPトラフィック用のAQMは、優先DCTCP AQM設定で構成されているので、式(2)はb_dctcpを求めるのに利用可能である。TCP Reno互換トラフィックに対して、式(1)が利用可能である。(13)および(14)を(1)および(2)と組み合わせることで:
W_Reno=B_Reno*p_Reno^0.5/1.225 (15)
および
W_dctcp=B_dctcp*p_dctcp^2/2 (16)
が得られる。
図5では、B_dctcpおよびp_dctcpはB_dおよびp_dと示されており、B_Renoおよびp_RenoはB_rおよびp_rと示されている。(15)および(16)の両方は、ラウンドトリップタイム(rtt)が通常は未知であるためにこれを無視しており、その結果、個々のフローごとに異なる値の混合となることに留意されたい。これは、技術水準において公平性からの逸脱として受け入れられている(現在のTCPについてはテールドロップキュー上で、またDCTCPについてはデータセンター内で)。より新しい輻輳制御アルゴリズムは、ラウンドトリップタイムの影響を最小化しようとしている。たとえば、CUBIC TCP輻輳制御アルゴリズムは、(17)の近似に示されるように、rtt依存度が低い:
b_cubic=1.166/(rtt^0.25*p_cubic^0.75) (17)
これは、同様にして、以下のように導出することができる:輻輳ウィンドウWは、以下の式:
W=C*(t−K)^3+W_max (17.a)
K=(W_max*beta/C)^(1/3) (17.b)
により制御され、ここでtは最後の輻輳イベントからの時間であり、W_maxは最後の輻輳イベントからのウィンドウサイズであり、betaおよびCは設定パラメータであり典型的にはたとえばbeta=0.3およびC=0.6である。Kは、ウィンドウWがサイズW_maxに再度到達し、定常時における次の輻輳イベントが予想される時刻である。時刻tにおける現在の帯域幅b_cは、(5)を(17.a)と組み合わせることで導出することができる:
b_c=(C*(t−Κ)^3+W_max)/rtt (17.c)
2つの輻輳イベントの間の期間に送信されるパケットの数は、1/p_cubicに等しく(ここでp_cubicは平均パケット破棄確率である)、式(17.c)の積分をt=0およびt=Kの区間で行うことで計算することができる。変形後、これは:
l/p_cubic=K*(W_max−C*Κ^3/4)/rtt (17.d)
となる。(17.b)を2度用いて(17.d)のK^3およびW_maxを置き換えると:
l/p_cubic=(1−beta/4)*Κ^4*C/(rtt*beta) (17.e)
が得られる。定常時帯域幅b_cubicは、1つの輻輳期間内に送信されるパケット数(=1/p_cubic)を、1つの輻輳間隔の時間(=K)で割ったものとして表すことができる:
b_cubic=1/(p_cubic*K) (17.f)
(17.e)をKに変形し、これを(17.f)に代入すると:
b_cubic=(C*(1/beta−1/4))^(1/4)/(p_cubic^(3/4)*rtt^(l/4)) (17.g)
が得られ、これは、betaおよびCに典型的な値を用いた場合に(17)となる。
rtt非依存であって、スループットbが一般的に:
b=b_o/p_n (18)
と表すことができるさらに他のメカニズムが存在し、ここでb_oは最小レートであり、p_nはマーク確率である。
図3に記載の一般的な方法のための特定の実施形態の一例が、図6の記述に与えられている。図6に、パケット交換ネットワークにおける輻輳を制御するためのシステムおよび方法の一実施形態を示す。システムは、受信モジュール602、2つのバッファキュー605a−b、2つのAQM計算モジュール603a−bおよび最大値モジュール611を備える計算モジュール603、破棄/マークコントローラ606b、2つの測定デバイス607a−b、ならびに優先スケジューラ610を備える。システムは、図3のシステムに類似しているが、TCP Renoをrtt非依存輻輳制御器と組み合わせるように特別に適合されている。
図6に示された方法およびシステムは、1つのトラフィックのクラス、ここではバッファ605bに対応するものが、最少量のキューイング遅延を有することになっているが、他のトラフィッククラスに対するフロー公平性をなおも有さなければならない一実施形態に関する。この実現は、低遅延クラス優先度を付与するが、たとえば(10)または(12)において、あるいはTCP CUBICについては:
p_cubic=(1.166/1.225)^(4/3)*p_Reno^(2/3)*rtt_Reno (19)
または:
p_n=(b_0/1.225)*p_Reno^0.5*rtt_Reno (20)
において、両トラフィッククラスの輻輳応答関数を考慮して、ここではキュー測定デバイス607aにより測定されるキュー605aの破棄確率に対応する他のクラスのマークまたは破棄確率に従ってマークまたは破棄を制御することで行われる。
式(19)および(20)は、それぞれ、b_cubic=b_Reno、(1)および(17)ならびにb_rpf=b_Reno、(1)および(18)から変形した後、導出することができる。
(19)および(20)において、Renoのrttファクタは、フローごとに異なり、たとえば、特定のネットワークトポロジにおける平均または最小期待値として設定することができる。
第6の実施形態では、第2のトラフィッククラスのエンドポイントにおける輻輳制御器は、たとえば式(18)に従って挙動することができ、第1のトラフィッククラスについては、TCP Renoに従って挙動することができ、これは式(1)を参照されたい。第2のトラフィッククラスのエンドポイントがパケットP2を速度調整すること、および通常の条件下では非常に小さいバッファキュー605bで十分であることが想定される。TCP Renoトラフィックは、たとえば、単純なテールドロップバッファキュー605aにより、または代わりにRED AQMにより扱われる。AQM計算モジュール603aにより与えられるマーク確率p_n’は、たとえば式(20)を、図6の(21):
p_n’=C*p_r^0.5 (21)
のように変形して用いることで求めることができ、ここで、C=b_o*rtt/1.225であり、rttはたとえば最小期待rttであり、また、p_rは第1のキュー605aの第1の破棄/マーク確率である(この特定の実施形態ではp_rはp_Renoに一致する)。
本発明の実施形態のいくつかの利点が、以下に列挙される。実施形態により、クラウド内部およびインターネットのトラフィックの混合を制御できるようになる。たとえば分散クラウドでは、クラウドのトラフィックはインターネットトラフィックに顕著に競合することがある。任意選択で、より複雑な公平性ポリシーおよび保証を、両トラフィックタイプへの知られている効果(impact)により実現することができる。加えて、実施形態は、異なるユーザにわたるリンク容量の負荷分散を、容量割り当てを連続的に再設定することなく自動的に行うことができる。いくつかの実施形態により、さらに、新たな輻輳制御およびAQMメカニズムを徐々に導入することができ、これはインタラクティブなアプリケーション、たとえばゲーム、ウェブアプリケーション、ビデオ会議、およびクラウドベースのアプリケーションでは特に重要である。
上記の様々な方法のステップが、プログラムされたコンピュータにより実施できることを、当業者ならば容易に認識するであろう。本明細書では、いくつかの実施形態は、機械可読またはコンピュータ可読であって、機械実行可能またはコンピュータ実行可能な命令のプログラムを符号化するものであり、前記命令は前記上述の方法のステップの一部または全部を実施する、プログラム記憶デバイス、たとえばデジタルデータ記憶媒体を含むことも意図するものとする。プログラム記憶デバイスは、たとえば、デジタルメモリ、磁気記憶媒体たとえば磁気ディスクおよび磁気テープ、ハードドライブ、または光学的可読デジタルデータ記憶媒体とすることができる。また、実施形態は、上述の方法の前記ステップを実施するようにプログラムされたコンピュータを含むことも意図するものとする。
「プロセッサ」または「手段」、「デバイス」または「モジュール」と名付けられた任意の機能ブロックを含む、図に示された様々な要素の機能は、専用ハードウェア、ならびに適切なソフトウェアとともにソフトウェアを実行可能なハードウェアを用いることで提供することができる。プロセッサにより提供される場合、これらの機能は、単一の専用プロセッサ、単一の共有プロセッサ、または一部が共有可能な複数の個別プロセッサにより提供することができる。さらに、「プロセッサ」または「コントローラ」という用語の明示的な使用は、ソフトウェアを実行可能なハードウェアを排他的に指すよう解釈されるべきではなく、暗黙的に、限定はしないが、デジタル信号プロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ソフトウェアを格納するための読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、および不揮発性ストレージを含むことができる。他のハードウェアも、従来型および/またはカスタム型であっても、含むことができる。
本発明の原理が、特定の実施形態に関連して上記で提示されているが、この記述はほんの一例として、添付の特許請求の範囲により決定される保護の範囲の限定としてではなくなされていることを理解されたい。

Claims (13)

  1. 1つまたは複数の中間ネットワークノードを備えるパケット交換ネットワークにおけるキュー管理のための方法であって、中間ノードにおいて、
    − 第1のキュー管理メカニズムに関連付けられた第1のクラスに属する第1のパケットと、第2のキュー管理メカニズムに関連付けられた第2のクラスに属する第2のパケットとを受信することと、
    − 第1のキュー管理メカニズムに従って、第1のマークまたは破棄確率に基づいて第1のパケットをマークまたは破棄し、第2のキュー管理メカニズムに従って、第2のマークまたは破棄確率に基づいて第2のパケットをマークまたは破棄することと、
    第1のマークまたは破棄確率を表す尺度に基づいて、第2のマークまたは破棄確率を計算することによって、第2のパケットをマークまたは破棄することを、第1のパケットをマークまたは破棄することに結合することと
    を備える、方法。
  2. 受信された第1および第2のパケットが、少なくとも1つのキューバッファに格納され、第1のマークまたは破棄確率が、少なくとも1つのキュー内の第1および第2のパケットの数に関連する尺度に基づいて決定される、請求項に記載の方法。
  3. 受信することが、第1のパケットを第1のキューに、第2のパケットを第2のキューに分類することを備え、結合することが、第1および第2の重みに従って、第1のキューおよび第2のキューからのマークされたまたは破棄されない第1および第2のパケットの送信をスケジューリングすることを備える、請求項1または2に記載の方法。
  4. 第1の使用帯域幅が第1のパケットに対して測定され、第2の使用帯域幅が第2のパケットに対して測定され、第1および第2の使用帯域幅が、それぞれ第1および第2の重みを計算するために使用される、請求項に記載の方法。
  5. 1および第2のマークまたは破棄確率が、それぞれ第1および第2の重みを決定するために使用される、請求項またはに記載の方法。
  6. 受信することが、第1のパケットを第1のキューに、第2のパケットを第2のキューに分類することを備え、方法が、第1のキューの第1のパケットより優先して、第2のキューからのマークされたまたは破棄されない第2のパケットの送信をスケジューリングすることをさらに備える、請求項1または2に記載の方法。
  7. 第1および第2のクラスが、以下のプロトコル:伝送制御プロトコル(TCP)Reno、伝送制御プロトコル(TCP)New Reno、CUBIC伝送制御プロトコル(TCP)、高速TCP、複合TCP、スケーラブルTCP、TCPフレンドリーレート制御(TFRC)を用いたユーザデータグラムプロトコル(UDP)、複数TCP(MULTCP)、複数TFRC(MULTFRC)、データグラム輻輳制御プロトコル(DCCP)、データセンターTCP(DCTCP)、DTCP、DTCPのいずれかに関連する、請求項1からのいずれか一項に記載の方法。
  8. 前記結合することが、第1のパケットのフローおよび第2のパケットのフローに、利用可能な帯域幅の所定の分配、具体的には公平な分配が付与されるようなものである、請求項1からのいずれか一項に記載の方法。
  9. パケット交換ネットワークにおけるキュー管理のためのシステムであって、第1のキュー管理メカニズムに関連付けられた第1のクラスに属する第1のパケットと、第2のキュー管理メカニズムに関連付けられた第2のクラスに属する第2のパケットとを受信するための受信モジュールを備え、
    第1のキュー管理メカニズムに従って、第1のマークまたは破棄確率に基づいて第1のパケットをマークまたは破棄し、第2のキュー管理メカニズムに従って、第2のマークまたは破棄確率に基づいて第2のパケットをマークまたは破棄し、第1のマークまたは破棄確率を表す尺度に基づいて、第2のマークまたは破棄確率を計算することによって、第2のパケットをマークまたは破棄することを、第1のパケットをマークまたは破棄することに結合するように構成された、システム。
  10. 受信された第1および第2のパケットを格納するための少なくとも1つのキューバッファをさらに備え、計算モジュールが、少なくとも1つのキューバッファ内の第1および第2のパケットの数に関連する尺度に基づいて、第1のマークまたは破棄確率を決定するようにさらに構成される、請求項に記載のシステム。
  11. 受信モジュールが、第1のパケットを第1のキューに、第2のパケットを第2のキューに分類するための分類器を備え、システムが、第1および第2の重みに従って、第1のキューおよび第2のキューからのマークされたまたは破棄されない第1および第2のパケットの送信をスケジューリングするように構成されたスケジューラをさらに備え、
    第1のパケットに対する第1の使用帯域幅と、第2のパケットに対する第2の使用帯域幅とを測定するように構成された測定デバイスと、第1および第2の使用帯域幅を用いて第1および第2の重みを計算するように構成された重み計算器とを任意選択で備え
    み計算器が、第1および第2の重みを、それぞれ第1および第2のマークまたは破棄確率に基づいて計算するように構成される、請求項9または0に記載のシステム。
  12. 受信モジュールが、第1のパケットを第1のキューに、第2のパケットを第2のキューに分類するように構成された分類器を備え、システムが、第1のキューの第1のパケットより優先して、第2のキューからのマークされたまたは破棄されない第2のパケットの送信をスケジューリングするように構成された優先スケジューラをさらに備える、請求項9または0に記載のシステム。
  13. 請求項1からのいずれか一項に記載の方法の計算および制御を行うようにプログラムされた、コンピュータデバイスまたは他のハードウェアデバイス。
JP2016527402A 2013-10-30 2014-10-27 パケット交換ネットワークにおけるキュー管理のための方法およびシステム Active JP6289631B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP13306486.5 2013-10-30
EP13306486.5A EP2869514A1 (en) 2013-10-30 2013-10-30 Method and system for queue management in a packet-switched network
PCT/EP2014/072976 WO2015063018A1 (en) 2013-10-30 2014-10-27 Method and system for queue management in a packet-switched network

Publications (2)

Publication Number Publication Date
JP2016535508A JP2016535508A (ja) 2016-11-10
JP6289631B2 true JP6289631B2 (ja) 2018-03-07

Family

ID=49585332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016527402A Active JP6289631B2 (ja) 2013-10-30 2014-10-27 パケット交換ネットワークにおけるキュー管理のための方法およびシステム

Country Status (5)

Country Link
US (1) US10116579B2 (ja)
EP (1) EP2869514A1 (ja)
JP (1) JP6289631B2 (ja)
CN (1) CN105684364A (ja)
WO (1) WO2015063018A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11144226B2 (en) 2019-04-11 2021-10-12 Samsung Electronics Co., Ltd. Intelligent path selection and load balancing
US11216190B2 (en) 2019-06-10 2022-01-04 Samsung Electronics Co., Ltd. Systems and methods for I/O transmissions in queue pair-based NVMeoF initiator-target system
US11240294B2 (en) 2019-08-23 2022-02-01 Samsung Electronics Co., Ltd. Systems and methods for spike detection and load balancing resource management

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105075202B (zh) 2013-03-28 2019-07-12 英国电讯有限公司 用于在分组网络中处理分组的方法、节点和分组网络
EP3070893B1 (en) * 2015-03-20 2017-10-04 Alcatel Lucent Scheduling of packets in network devices
EP3332522B8 (en) 2015-08-06 2019-07-31 British Telecommunications public limited company Data packet network
US10645016B2 (en) 2015-08-06 2020-05-05 British Telecommunications Public Limited Company Data packet network
KR20170124216A (ko) * 2016-05-02 2017-11-10 삼성전자주식회사 청소로봇 및 그 제어 방법
EP3610690B1 (en) * 2017-04-11 2021-03-03 Telefonaktiebolaget LM Ericsson (publ) First communication node, method performed thereby, computer program and computer-readable storage medium for handling packets in a communications network
US10523577B2 (en) 2017-05-23 2019-12-31 Cable Television Laboratories, Inc Systems and methods for low latency DOCSIS queueing and scheduling
JP6897434B2 (ja) * 2017-08-31 2021-06-30 富士通株式会社 情報処理システム、情報処理装置及び情報処理プログラム
US10594617B2 (en) * 2017-09-18 2020-03-17 Mellanox Technologies, Ltd. Probabilistic normalized congestion indication based on packet size
US10893437B2 (en) * 2018-02-27 2021-01-12 Verizon Patent And Licensing Inc. Out-of-order packet handling in 5G/new radio
CN108628671A (zh) * 2018-04-28 2018-10-09 北京顶象技术有限公司 任务调度方法及装置
WO2019244828A1 (ja) * 2018-06-19 2019-12-26 日本電気株式会社 パケット転送装置、方法および記録媒体
CN110661723B (zh) * 2018-06-29 2023-08-22 华为技术有限公司 一种数据传输方法、计算设备、网络设备及数据传输系统
KR102128015B1 (ko) * 2018-11-20 2020-07-09 울산과학기술원 네트워크 스위칭 장치 및 이를 이용한 마킹 수행 방법
CN109600586A (zh) * 2018-12-21 2019-04-09 赵丽妍 一种安防监控系统的视频优化传输方法
US10917352B1 (en) * 2019-09-04 2021-02-09 Cisco Technology, Inc. Selective tracking of acknowledgments to improve network device buffer utilization and traffic shaping
US11611514B2 (en) * 2020-07-08 2023-03-21 Rakuten Mobile, Inc. Flow queueing method and system
CN113507420B (zh) * 2021-08-05 2022-03-15 清华大学 一种拥塞控制方法及装置
US11729119B2 (en) * 2021-11-18 2023-08-15 Cisco Technology, Inc. Dynamic queue management of network traffic

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001086127A (ja) 1999-09-10 2001-03-30 Nec Corp トラフィック特性別最適化転送システム及び方法
US6990529B2 (en) * 2000-02-24 2006-01-24 Zarlink Semiconductor V.N., Inc. Unified algorithm for frame scheduling and buffer management in differentiated services networks
US6888824B1 (en) * 2000-10-20 2005-05-03 Cisco Technology, Inc. Random early detection (RED) algorithm using marked segments to detect congestion in a computer network
US7383349B2 (en) * 2002-06-04 2008-06-03 Lucent Technologies Inc. Controlling the flow of packets within a network node utilizing random early detection
US7283536B2 (en) * 2002-06-11 2007-10-16 Nokia Corporation Multimode queuing system for DiffServ routers
US7260062B2 (en) 2002-12-20 2007-08-21 International Business Machines Corporation Flow control in network devices
FI115100B (fi) * 2003-10-14 2005-02-28 Tellabs Oy Menetelmä ja laitteisto ruuhkanhallinnan sekä siirtoyhteyskapasiteetin vuorottamisen ohjaamiseksi pakettikytkentäisessä tietoliikenteessä
US7969971B2 (en) * 2004-10-22 2011-06-28 Cisco Technology, Inc. Ethernet extension for the data center
US7602720B2 (en) * 2004-10-22 2009-10-13 Cisco Technology, Inc. Active queue management methods and devices
JP2006324988A (ja) 2005-05-19 2006-11-30 Nippon Telegr & Teleph Corp <Ntt> トラヒック制御装置及び方法
US8238346B2 (en) * 2009-07-09 2012-08-07 The Boeing Company Queuing architectures for orthogonal requirements in quality of service (QoS)
US8213453B1 (en) * 2009-08-07 2012-07-03 Juniper Networks, Inc. Quality of service (QoS) configuration for network devices with multiple queues
ES2534833T3 (es) * 2010-03-05 2015-04-29 Nec Europe Ltd. Un método para operar una red inalámbrica y una red inalámbrica
US9998400B2 (en) * 2011-09-30 2018-06-12 British Telecommunications Public Limited Company Attribution of congestion contributions
WO2013132213A1 (en) 2012-03-09 2013-09-12 British Telecommunications Public Limited Company Signalling congestion
WO2013151468A1 (en) * 2012-04-03 2013-10-10 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for queue management
US9191114B2 (en) * 2012-12-14 2015-11-17 Infinera Corporation Quality of service application for different data flow types
US9148386B2 (en) * 2013-04-30 2015-09-29 Cisco Technology, Inc. Managing bandwidth allocation among flows through assignment of drop priority

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11144226B2 (en) 2019-04-11 2021-10-12 Samsung Electronics Co., Ltd. Intelligent path selection and load balancing
US11740815B2 (en) 2019-04-11 2023-08-29 Samsung Electronics Co., Ltd. Intelligent path selection and load balancing
US11216190B2 (en) 2019-06-10 2022-01-04 Samsung Electronics Co., Ltd. Systems and methods for I/O transmissions in queue pair-based NVMeoF initiator-target system
US11240294B2 (en) 2019-08-23 2022-02-01 Samsung Electronics Co., Ltd. Systems and methods for spike detection and load balancing resource management

Also Published As

Publication number Publication date
US20160241484A1 (en) 2016-08-18
WO2015063018A1 (en) 2015-05-07
EP2869514A1 (en) 2015-05-06
CN105684364A (zh) 2016-06-15
US10116579B2 (en) 2018-10-30
JP2016535508A (ja) 2016-11-10

Similar Documents

Publication Publication Date Title
JP6289631B2 (ja) パケット交換ネットワークにおけるキュー管理のための方法およびシステム
US11316795B2 (en) Network flow control method and network device
US8520522B1 (en) Transmit-buffer management for priority-based flow control
JP7212441B2 (ja) ネットワークにおけるフロー管理
US8467342B2 (en) Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics
US8891543B1 (en) Method and system for processing packets in a network device
US9197570B2 (en) Congestion control in packet switches
CN106302227B (zh) 混合网络流调度方法和交换机
US8547846B1 (en) Method and apparatus providing precedence drop quality of service (PDQoS) with class-based latency differentiation
US20080298397A1 (en) Communication fabric bandwidth management
US9866401B2 (en) Dynamic protection of shared memory and packet descriptors used by output queues in a network device
US11388114B2 (en) Packet processing method and apparatus, communications device, and switching circuit
US10305819B2 (en) Dynamic protection of shared memory used by output queues in a network device
Irazabal et al. Active queue management as quality of service enabler for 5G networks
EP3295628A1 (en) Dynamic protection of shared memory used by output queues in a network device
US7957394B1 (en) Automatic network switch configuration to support quality of service
US8203956B1 (en) Method and apparatus providing a precedence drop quality of service (PDQoS)
KR20200001532A (ko) 컴퓨팅 디바이스에서 패킷 수명을 예측하기 위한 큐잉 시스템
Lübben et al. An odd couple: Loss-based congestion control and minimum RTT scheduling in MPTCP
US10523571B2 (en) Processing data items in a communications network
EP2985963A1 (en) Packet scheduling networking device
US9973437B2 (en) Apparatus to achieve quality of service (QOS) without requiring fabric speedup
Mahida et al. A comparative analysis of queue management techniques using NS-2 simulator
JP6829156B2 (ja) ネットワーク負荷分散装置および方法
CN114095431A (zh) 队列管理的方法和网络设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180206

R150 Certificate of patent or registration of utility model

Ref document number: 6289631

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250