Congestion control in a network
First Claim
1. A method, at a system comprising a network interface controller (NIC), comprising:
- receiving frames including congestion notifications for Ethernet paths, identification of the Ethernet paths comprising respective Ethernet media access control (MAC) destination addresses;
updating a control table that associates the Ethernet paths with respective Ethernet path data based on the congestion notifications received by the NIC for the Ethernet paths;
accessing a TCP (Transmission Control Protocol) flow to Ethernet path association table to determine an Ethernet path for a TCP flow having a TCP segment to transmit;
based on the determined Ethernet path for the TCP flow, accessing the control table that associates Ethernet paths with respective Ethernet path data;
based on the accessing of the control table, determining a next eligible time to transmit the TCP segment in the TCP flow, wherein the next eligible time is based, at least in part, on a current rate factor for the path and a number of bit times that will be consumed by a frame currently being sent;
retaining the TCP segment in a one of multiple queues based on the determined next eligible time; and
based on the determined next eligible time, dequeuing and transmitting the TCP segment in the one of the multiple queues.
1 Assignment
0 Petitions
Accused Products
Abstract
A source node receives related frames of data to be transmitted from the source node to a destination node and places the frames in a queue. The queue is associated with a communication path over which the related frames are to be transmitted to the destination node. An interface that couples the source node to the communication path receives an indication directed to the source node of traffic congestion in the communication path. In response, the source node controls the rate at which the related frames of data are transferred from the queue to a transmit buffer accessible to the interface, in order to relieve the traffic congestion in the communication path.
35 Citations
8 Claims
-
1. A method, at a system comprising a network interface controller (NIC), comprising:
-
receiving frames including congestion notifications for Ethernet paths, identification of the Ethernet paths comprising respective Ethernet media access control (MAC) destination addresses; updating a control table that associates the Ethernet paths with respective Ethernet path data based on the congestion notifications received by the NIC for the Ethernet paths; accessing a TCP (Transmission Control Protocol) flow to Ethernet path association table to determine an Ethernet path for a TCP flow having a TCP segment to transmit; based on the determined Ethernet path for the TCP flow, accessing the control table that associates Ethernet paths with respective Ethernet path data; based on the accessing of the control table, determining a next eligible time to transmit the TCP segment in the TCP flow, wherein the next eligible time is based, at least in part, on a current rate factor for the path and a number of bit times that will be consumed by a frame currently being sent; retaining the TCP segment in a one of multiple queues based on the determined next eligible time; and based on the determined next eligible time, dequeuing and transmitting the TCP segment in the one of the multiple queues. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification