JP6632966B2 - ネットワークデバイスおよびトラフィックシェーピング方法 - Google Patents
ネットワークデバイスおよびトラフィックシェーピング方法 Download PDFInfo
- Publication number
- JP6632966B2 JP6632966B2 JP2016251237A JP2016251237A JP6632966B2 JP 6632966 B2 JP6632966 B2 JP 6632966B2 JP 2016251237 A JP2016251237 A JP 2016251237A JP 2016251237 A JP2016251237 A JP 2016251237A JP 6632966 B2 JP6632966 B2 JP 6632966B2
- Authority
- JP
- Japan
- Prior art keywords
- traffic shaping
- data
- queue
- transmission
- packets
- 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
Links
- 238000007493 shaping process Methods 0.000 title claims description 320
- 238000000034 method Methods 0.000 title claims description 38
- 230000005540 biological transmission Effects 0.000 claims description 194
- 208000032369 Primary transmission Diseases 0.000 claims description 73
- 230000004044 response Effects 0.000 claims description 50
- 230000003111 delayed effect Effects 0.000 claims description 49
- 230000000875 corresponding effect Effects 0.000 description 53
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 11
- 230000000903 blocking effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6205—Arrangements for avoiding head of line blocking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9026—Single buffer per packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9036—Common buffer combined with individual queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
トラフィックシェーピングとは、優先されるトラフィックストリームほど重要ではない、または所望されないと判断されたトラフィックストリームを遅くすることによって、ネットワークデータトラフィックを調整する手法である。ストリームを遅くするための共通のメカニズムは2つあり、第1のメカニズムはいくつかのパケットを破棄または廃棄すること、第2のメカニズムはパケットを遅延させることである。パケット破棄メカニズムは広く使用されており、多くの場合、唯一の実行可能な解決策として考えてられている。たとえば、トラフィックシェーピングは、コンピュータが接続された別個のデバイスによって行なわれる場合、パケットを選択的に破棄することによって行なわれ得る。
一局面では、ネットワークデバイスを含むシステムが提示される。ネットワークデバイスは、ネットワークインターフェイスドライバと、データトラフィックシェーピングモジュールと、ネットワークカードとを含む。ネットワークインターフェイスカードは、ソフトウェアアプリケーションによって生成され発送された第1の組のデータパケットを、ネットワークカードによる送信のために送信し、受信された第1の組のデータパケットに関連付けられた記述子を第1の順序で一次送信キューに格納し、受信された第1の組のデータパケットに関連付けられた記述子を、ネットワークカードおよび少なくとも1つのプロセッサのうちの一方上で実行されるデータトラフィックシェーピングモジュールに転送するように構成される。受信された第1の組のパケットのうちの1つのパケットがネットワークカードによって順調に送信されたという判断に応答して、ネットワークインターフェイスカードは、パケット送信完了メッセージをソフトウェアアプリケーションに通信するように構成され、ソフトウェアアプリケーションは、ネットワークインターフェイスドライバからのパケット送信完了メッセージの受信を待ってから、追加のデータパケットをネットワークインターフェイスドライバに発送する。データトラフィックシェーピングモジュールは、複数のトラフィックシェーピングキューを維持するように構成され、それらの各々は少なくとも1つの関連付けられた送信速度規則を有する。データトラフィックシェーピングモジュールはさらに、一次送信キューから、ネットワークインターフェイスドライバによって転送されたデータパケットの記述子を受信し、ネットワークカードによる送信が遅延される必要があると判断し、そのような判断に応答して記述子を一次送信キューから除去し、分類の結果に基づいてそれを対応するトラフィックシェーピングキューに格納するように構成される。データトラフィックシェーピングモジュールはさらに、ネットワークカードに、二次的なトラフィックシェーピングキューに格納された記述子に関連付けられたデータパケットを、それぞれのトラフィックシェーピングキューに関連付けられた送信速度規則に従って送信させ、ネットワークインターフェイスドライバに、第1の順序とは異なる第2の順序でのデータパケットの順調な送信を通知するように構成される。
本開示の上述のおよび関連する目的、特徴、ならびに利点は、以下の詳細な説明を以下の図とともに参照することによって、より十分に理解されるであろう。
ネットワークデバイスにおけるトラフィックシェーピングに関するシステムおよび方法が提示される。いくつかの実現化例では、これらのシステムおよび方法は、受信されたパケットに関連付けられた記述子を送信キューに格納し、記述子をトラフィックシェーピングモジュールに転送するように構成された、ネットワークデバイスのネットワークインターフェイスドライバを含む。受信されたパケットは、コンピューティングデバイス上で、たとえば、コンピューティングデバイスによってホストされる1つ以上の仮想マシン上で実行されるアプリケーションから生じる。仮想マシンのゲストオペレーティングシステムは、以前に発送されたパケットが順調に送信されたことを確認するメッセージが受信されるまで、アプリケーションが追加のパケットをネットワークインターフェイスドライバに発送するのを妨げる。ここに説明されるように、いくつかの実現化例では、受信されたパケットの第1のパケットがネットワークカードによって順調に送信されたという判断に応答して、ネットワークインターフェイスドライバは、パケット送信完了メッセージをソフトウェアアプリケーションまたはゲストオペレーティングシステムに通信し、それは、パケット送信完了メッセージの受信を待ってから、追加のデータパケットをネットワークインターフェイスドライバに発送する。いくつかの実現化例では、受信されたパケットのうちの1つのパケットの、ネットワークカードによる送信が遅延されるべきであるという判断に応答して、トラフィックシェーピングモジュールは、そのパケットに関連付けられた記述子を送信キューから除去し、その記述子を対応するトラフィックシェーピングキューに格納する。この構成は、ネットワークインターフェイスドライバにおける単一の一次送信キューと、異なるトラフィックシェーピング規則を採用する(たとえばネットワークインターフェイスカードにおける)複数のトラフィックシェーピングキューとで実現可能であり、このため、ネットワークインターフェイスドライバにおける複数の送信キューを必要とせずに、フロー毎のトラフィックシェーピングを可能にする。さらに、この構成では、(仮想マシンのゲストOS上ではなく)ネットワークデバイスの実OS上で作動するソフトウェアアプリケーション、もしくは、ハイパーバイザによって管理されるゲストOSにおけるソフトウェアアプリケーションまたはTCPスタックの上位層、といったパケットソースは、ネットワークインターフェイスドライバにおいて、またはネットワークカード上で実現されるトラフィックシェーピングアルゴリズムを認識しなくてもよい。したがって、仮想マシン環境でネットワークインターフェイスドライバおよびゲストオペレーティングシステムを実現するコストを減少させることができる。また、この構成では、パケットソースは、トラフィックシェーピングアルゴリズムだけでなく、他の構成、たとえばパケット分類規則、および他のトラフィック調整ポリシーも認識しなくてもよい。したがって、トラフィックシェーピングシステム全体は、アプリケーションまたはユーザがそのような詳細な規則およびポリシー(たとえばキューの数)を構成できるシステムよりも、信頼性がより高くなり得る。
いくつかの実現化例では、データパケットは、ストリームの一部であってもよい。アプリケーション150は、各ストリームにおけるデータパケットを特定の順序で送信できる。各ストリームは、異なるアプリケーション(たとえば、異なるゲストOS上で実行されるアプリケーション)から来ることができる。図6Aに示す例では、アプリケーション150Aは、記述子S1、S2およびS3に対応する第1のストリームの3つのパケットを順次送信する。アプリケーション150Bは、記述子T1、T2およびT3に対応する第2のストリームの3つのパケットを順次送信する。アプリケーション150Cは、記述子U1およびU2に対応する第3のストリームの2つのパケットを送信する。
Claims (20)
- ネットワークデバイスであって、
ネットワークカードと、
少なくとも1つのプロセッサと、
メモリと、
前記少なくとも1つのプロセッサ上で実行されるネットワークインターフェイスドライバとを含み、
前記ネットワークインターフェイスドライバは、
ソフトウェアアプリケーションによって生成され発送された第1の組のデータパケットを、前記ネットワークカードによる送信のために受信し、
受信された前記第1の組のデータパケットに関連付けられた記述子を第1の順序で一次送信キューに格納し、
受信された前記第1の組のデータパケットに関連付けられた前記記述子を、前記ネットワークカードおよび前記少なくとも1つのプロセッサのうちの一方上で実行されるデータトラフィックシェーピングモジュールに転送し、
受信された前記第1の組のパケットのうちの1つのパケットが前記ネットワークカードによって順調に送信されたという判断に応答して、パケット送信完了メッセージを前記ソフトウェアアプリケーションに通信するように構成され、前記ソフトウェアアプリケーションは、前記ネットワークインターフェイスドライバからのパケット送信完了メッセージの受信を待ってから、追加のデータパケットを前記ネットワークインターフェイスドライバに発送し、
前記データトラフィックシェーピングモジュールは、
複数のトラフィックシェーピングキューを維持するように構成され、各トラフィックシェーピングキューは少なくとも1つの関連付けられた送信速度規則を有し、前記データトラフィックシェーピングモジュールはさらに、
前記一次送信キューから、前記ネットワークインターフェイスドライバによって転送されたデータパケットの前記記述子を受信し、
受信された前記記述子に関連付けられた前記データパケットを分類し、
受信された第1の記述子に関連付けられた第1のデータパケットの、前記ネットワークカードによる送信が遅延されるべきであると判断し、そのような判断に応答して、前記第1のデータパケットに関連付けられた前記第1の記述子を前記一次送信キューから除去し、分類の結果に基づいて前記第1の記述子を対応するトラフィックシェーピングキューに格納し、
前記ネットワークカードに、前記トラフィックシェーピングキューに格納された記述子に関連付けられたデータパケットを、それぞれの前記トラフィックシェーピングキューに関連付けられた前記送信速度規則に従って送信させ、
前記ネットワークインターフェイスドライバに、前記第1の順序とは異なる第2の順序でのデータパケットの順調な送信を通知するように構成される、ネットワークデバイス。 - 前記データトラフィックシェーピングモジュールは、前記ネットワークカード、および前記少なくとも1つのプロセッサ上で実行される実オペレーティングシステムのうちの一方の一部として含まれる、請求項1に記載のネットワークデバイス。
- 前記ネットワークインターフェイスドライバは、前記少なくとも1つのプロセッサ上で実行される実オペレーティングシステム内に含まれており、ゲストオペレーティングシステムを介して前記ソフトウェアアプリケーションと通信するように構成される、請求項1に記載のネットワークデバイス。
- 前記ネットワークインターフェイスドライバは、前記少なくとも1つのプロセッサ上で実行されるオペレーティングシステムの伝送制御プロトコル(TCP)スタックの第1の層内に含まれており、前記TCPスタックの上位層に含まれるソフトウェアアプリケーションと通信するように構成される、請求項1に記載のネットワークデバイス。
- 前記ネットワークカードは、
第1のリソースを使用することによって前記第1のデータパケットを送信し、
前記第1のデータパケットの送信に応答して、前記第1のリソースが前記ソフトウェアアプリケーションによってアクセス可能となるように前記第1のリソースを解放するように構成される、請求項1に記載のネットワークデバイス。 - 前記第1のリソースは、メモリバッファの一部である、請求項5に記載のネットワークデバイス。
- 前記データトラフィックシェーピングモジュールはさらに、
前記第1の記述子を受信した後で、第2のデータパケットに関連付けられた第2の記述子を受信し、
受信された前記第2の記述子に関連付けられた第2のデータパケットの、前記ネットワークカードによる送信が遅延されるべきであると判断し、そのような判断に応答して、前記第1のデータパケットを送信する前に、前記ネットワークカードに、前記一次送信キューに格納された前記第2の記述子に関連付けられた前記第2のデータパケットを送信させるように構成される、請求項1に記載のネットワークデバイス。 - 前記ネットワークカードは、複数のパケットを、前記複数のパケットを前記一次送信キューに格納する順序とはバラバラの順序で送信するように構成される、請求項1に記載のネットワークデバイス。
- 前記データトラフィックシェーピングモジュールはさらに、
第1のストリームにおけるデータパケットの、前記ネットワークカードによる送信が遅延されるべきであると判断し、そのような判断に応答して、前記第1のストリームにおける前記データパケットに関連付けられた記述子を、前記トラフィックシェーピングキューのうちの第1のトラフィックシェーピングキューに格納し、
前記第1のストリームとは異なる第2のストリームにおけるデータパケットの、前記ネットワークカードによる送信が遅延されるべきであると判断し、そのような判断に応答して、前記第2のストリームにおける前記データパケットに関連付けられた記述子を、前記トラフィックシェーピングキューのうちの第2のトラフィックシェーピングキューに格納するように構成される、請求項1に記載のネットワークデバイス。 - 前記ネットワークカードは、
前記第1のトラフィックシェーピングキューに格納された複数のパケットを、前記複数のパケットを前記第1のトラフィックシェーピングキューに格納した順序で送信し、
前記第2のトラフィックシェーピングキューに格納された複数のパケットを、前記複数のパケットを前記第2のトラフィックシェーピングキューに格納した順序で送信するように構成される、請求項9に記載のネットワークデバイス。 - 方法であって、
ソフトウェアアプリケーションによって生成され発送された第1の組のデータパケットを、ネットワークカードによる送信のために、少なくとも1つのプロセッサ上で実行されるネットワークインターフェイスドライバによって受信することと、
受信された前記第1の組のデータパケットに関連付けられた記述子を、前記ネットワークインターフェイスドライバによって、第1の順序で一次送信キューに格納することと、
受信された前記第1の組のデータパケットに関連付けられた前記記述子を、前記ネットワークインターフェイスドライバによって、前記ネットワークカードおよび前記少なくとも1つのプロセッサのうちの一方上で実行されるデータトラフィックシェーピングモジュールに転送することと、
受信された前記第1の組のパケットのうちの1つのパケットが前記ネットワークカードによって順調に送信されたという判断に応答して、前記ネットワークインターフェイスドライバによって、パケット送信完了メッセージを前記ソフトウェアアプリケーションに通信することとを含み、前記ソフトウェアアプリケーションは、前記ネットワークインターフェイスドライバからのパケット送信完了メッセージの受信を待ってから、追加のデータパケットを前記ネットワークインターフェイスドライバに発送し、前記方法はさらに、
前記データトラフィックシェーピングモジュールによって、複数のトラフィックシェーピングキューを維持することを含み、各トラフィックシェーピングキューは少なくとも1つの関連付けられた送信速度規則を有し、前記方法はさらに、
前記一次送信キューから、前記ネットワークインターフェイスドライバによって転送されたデータパケットの前記記述子を、前記データトラフィックシェーピングモジュールによって受信することと、
受信された前記記述子に関連付けられた前記データパケットを、前記データトラフィックシェーピングモジュールによって分類することと、
前記データトラフィックシェーピングモジュールによって、受信された第1の記述子に関連付けられた第1のデータパケットの、前記ネットワークカードによる送信が遅延されるべきであると判断し、そのような判断に応答して、前記第1のデータパケットに関連付けられた前記第1の記述子を前記一次送信キューから除去し、分類の結果に基づいて前記第1の記述子を対応するトラフィックシェーピングキューに格納することと、
前記データトラフィックシェーピングモジュールによって、前記ネットワークカードに、前記トラフィックシェーピングキューに格納された記述子に関連付けられたデータパケットを、それぞれの前記トラフィックシェーピングキューに関連付けられた前記送信速度規則に従って送信させることと、
前記データトラフィックシェーピングモジュールによって、前記ネットワークインターフェイスドライバに、前記第1の順序とは異なる第2の順序でのデータパケットの順調な送信を通知することとを含む、方法。 - 前記データトラフィックシェーピングモジュールは、前記ネットワークカード、および前記少なくとも1つのプロセッサ上で実行される実オペレーティングシステムのうちの一方の一部として含まれる、請求項11に記載の方法。
- 前記ネットワークインターフェイスドライバは、前記少なくとも1つのプロセッサ上で実行される実オペレーティングシステム内に含まれており、ゲストオペレーティングシステムを介して前記ソフトウェアアプリケーションと通信するように構成される、請求項11に記載の方法。
- 前記ネットワークインターフェイスドライバは、前記少なくとも1つのプロセッサ上で実行されるオペレーティングシステムの伝送制御プロトコル(TCP)スタックの第1の層内に含まれており、前記TCPスタックの上位層に含まれるソフトウェアアプリケーションと通信するように構成される、請求項11に記載の方法。
- 第1のリソースを使用することによって、前記第1のデータパケットを前記ネットワークカードによって送信することと、
前記第1のデータパケットの送信に応答して、前記第1のリソースが前記ソフトウェアアプリケーションによってアクセス可能となるように、前記第1のリソースを前記ネットワークカードによって解放することとをさらに含む、請求項11に記載の方法。 - 前記第1のリソースは、メモリバッファの一部である、請求項15に記載の方法。
- 前記第1の記述子を受信した後で、第2のデータパケットに関連付けられた第2の記述子を、前記データトラフィックシェーピングモジュールによって受信することと、
前記データトラフィックシェーピングモジュールによって、受信された前記第2の記述子に関連付けられた第2のデータパケットの、前記ネットワークカードによる送信が遅延されるべきであると判断し、そのような判断に応答して、前記第1のデータパケットを送信する前に、前記ネットワークカードに、前記一次送信キューに格納された前記第2の記述子に関連付けられた前記第2のデータパケットを送信させることとをさらに含む、請求項11に記載の方法。 - 前記ネットワークカードによって、複数のパケットを、前記複数のパケットを前記一次送信キューに格納する順序とはバラバラの順序で送信することをさらに含む、請求項11に記載の方法。
- 前記データトラフィックシェーピングモジュールによって、第1のストリームにおけるデータパケットの、前記ネットワークカードによる送信が遅延されるべきであると判断し、そのような判断に応答して、前記第1のストリームにおける前記データパケットに関連付けられた記述子を、前記トラフィックシェーピングキューのうちの第1のトラフィックシェーピングキューに格納することと、
前記データトラフィックシェーピングモジュールによって、前記第1のストリームとは異なる第2のストリームにおけるデータパケットの、前記ネットワークカードによる送信が遅延されるべきであると判断し、そのような判断に応答して、前記第2のストリームにおける前記データパケットに関連付けられた記述子を、前記トラフィックシェーピングキューのうちの第2のトラフィックシェーピングキューに格納することとをさらに含む、請求項11に記載の方法。 - 前記ネットワークカードによって、前記第1のトラフィックシェーピングキューに格納された複数のパケットを、前記複数のパケットを前記第1のトラフィックシェーピングキューに格納した順序で送信することと、
前記ネットワークカードによって、前記第2のトラフィックシェーピングキューに格納された複数のパケットを、前記複数のパケットを前記第2のトラフィックシェーピングキューに格納した順序で送信することとをさらに含む、請求項19に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/066,411 US9838321B2 (en) | 2016-03-10 | 2016-03-10 | Systems and method for single queue multi-stream traffic shaping with delayed completions to avoid head of line blocking |
US15/066,411 | 2016-03-10 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017163530A JP2017163530A (ja) | 2017-09-14 |
JP2017163530A5 JP2017163530A5 (ja) | 2019-11-28 |
JP6632966B2 true JP6632966B2 (ja) | 2020-01-22 |
Family
ID=57614273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016251237A Active JP6632966B2 (ja) | 2016-03-10 | 2016-12-26 | ネットワークデバイスおよびトラフィックシェーピング方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9838321B2 (ja) |
EP (1) | EP3217613B1 (ja) |
JP (1) | JP6632966B2 (ja) |
CN (1) | CN107181698B (ja) |
DK (1) | DK3217613T3 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10250571B2 (en) * | 2015-08-24 | 2019-04-02 | Cavium, Llc | Systems and methods for offloading IPSEC processing to an embedded networking device |
US10148581B2 (en) * | 2016-05-30 | 2018-12-04 | Mellanox Technologies, Ltd. | End-to-end enhanced reliable datagram transport |
US11153289B2 (en) * | 2017-07-28 | 2021-10-19 | Alibaba Group Holding Limited | Secure communication acceleration using a System-on-Chip (SoC) architecture |
CN109962859A (zh) * | 2017-12-26 | 2019-07-02 | 北京华为数字技术有限公司 | 一种报文调度方法及设备 |
US10649784B2 (en) | 2018-05-29 | 2020-05-12 | Red Hat, Inc. | Reverse order queue updates by virtual devices |
US11258714B1 (en) | 2018-09-28 | 2022-02-22 | Google Llc | Fine grain traffic shaping offload for a network interface card |
CN111988200B (zh) * | 2020-08-18 | 2022-03-08 | 湖南快乐阳光互动娱乐传媒有限公司 | 基于真实流量的自动回归测试方法及装置 |
KR20220082563A (ko) | 2020-12-10 | 2022-06-17 | 삼성전자주식회사 | 스토리지 장치 및 이의 동작 방법 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3107077B2 (ja) * | 1999-02-22 | 2000-11-06 | 住友電気工業株式会社 | 通信方法及び通信装置 |
EP1382165A2 (en) * | 2001-04-13 | 2004-01-21 | MOTOROLA INC., A Corporation of the state of Delaware | Manipulating data streams in data stream processors |
US7046628B2 (en) | 2001-09-24 | 2006-05-16 | Intel Corporation | Apparatus and method for just-in-time transfer of transmit commands to a network interface |
US20040103248A1 (en) * | 2002-10-08 | 2004-05-27 | Hass David T. | Advanced telecommunications processor |
US7924828B2 (en) | 2002-10-08 | 2011-04-12 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for fast packet queuing operations |
JP2004363681A (ja) * | 2003-06-02 | 2004-12-24 | Matsushita Electric Ind Co Ltd | パケットシェーピング方法、この方法を実施するパケットシェーピング装置及びコンピュータプログラム、並びにコンピュータプログラム記憶媒体 |
US7685250B2 (en) * | 2005-03-09 | 2010-03-23 | Intel Corporation | Techniques for providing packet rate pacing |
CN100466603C (zh) * | 2005-05-17 | 2009-03-04 | 华为技术有限公司 | 对网络中传输的业务流进行整形的方法及装置 |
US20070258445A1 (en) * | 2006-05-02 | 2007-11-08 | Harris Corporation | Systems and methods for protocol filtering for quality of service |
CN101834787A (zh) * | 2010-04-12 | 2010-09-15 | 中兴通讯股份有限公司 | 调度数据的方法和系统 |
CN102761489B (zh) * | 2012-07-17 | 2015-07-22 | 中国科学技术大学苏州研究院 | 基于流水线模式的数据包零拷贝的核间通信方法 |
US8861538B2 (en) | 2012-09-06 | 2014-10-14 | Unisys Corporation | Throttling for fast data packet transfer operations |
-
2016
- 2016-03-10 US US15/066,411 patent/US9838321B2/en active Active
- 2016-12-26 JP JP2016251237A patent/JP6632966B2/ja active Active
- 2016-12-28 EP EP16207092.4A patent/EP3217613B1/en active Active
- 2016-12-28 DK DK16207092.4T patent/DK3217613T3/da active
- 2016-12-30 CN CN201611272965.1A patent/CN107181698B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US9838321B2 (en) | 2017-12-05 |
DK3217613T3 (da) | 2020-03-09 |
EP3217613A1 (en) | 2017-09-13 |
CN107181698B (zh) | 2021-09-03 |
CN107181698A (zh) | 2017-09-19 |
JP2017163530A (ja) | 2017-09-14 |
EP3217613B1 (en) | 2019-12-04 |
US20170264554A1 (en) | 2017-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6632966B2 (ja) | ネットワークデバイスおよびトラフィックシェーピング方法 | |
CN108337186B (zh) | 用于可扩缩业务整形的设备和方法 | |
US11736402B2 (en) | Fast data center congestion response based on QoS of VL | |
TWI392288B (zh) | 用於多核心通訊處理的系統及方法 | |
US9455915B2 (en) | Hierarchical congestion control with congested flow identification hardware | |
CN108337185B (zh) | 具有时间索引数据结构的可缩放流量整形的设备和方法 | |
Susanto et al. | Stream: Decentralized opportunistic inter-coflow scheduling for datacenter networks | |
US10153979B2 (en) | Prioritization of network traffic in a distributed processing system | |
US20170078204A1 (en) | Congestion sensitive path-balancing | |
JP2009506618A (ja) | 伝送情報を処理して、転送するシステムおよび方法 | |
US11831550B2 (en) | Fine grain traffic shaping offload for a network interface card | |
US11502967B2 (en) | Methods and apparatuses for packet scheduling for software-defined networking in edge computing environment | |
KR20160042441A (ko) | 애플리케이션-인식 네트워크 관리 | |
US10909067B2 (en) | Multi-node zero-copy mechanism for packet data processing | |
JP2017163530A5 (ja) | ||
US20170171098A1 (en) | System, method, and recording medium for queue management in a forwarder | |
US10171354B2 (en) | Communication processing system, communication processing apparatus, communication processing method, and storage medium | |
Susanto et al. | Creek: Inter many-to-many coflows scheduling for datacenter networks | |
Wang et al. | An Incast-Coflow-Aware Minimum-Rate-Guaranteed Congestion Control Protocol for Datacenter Applications | |
Chen et al. | Inspecting the performance of packet schedulers over a large-scale OpenFlow-based network | |
WO2023106981A1 (en) | Reconfiguration of node of fat tree network for differentiated services | |
KR20180107706A (ko) | 계층적 네트워크에서 다중코어를 이용한 패킷 처리 방법 및 그 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191016 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191016 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191016 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20191118 |
|
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: 20191126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191211 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6632966 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 |