Transmission control protocol (TCP) congestion control using transmission delay components
AssigneeCisco Technology, Inc.
InventorGuglielmo M. Morandin
Life of this patent
Estimating the term…
Abstract
According to the present disclosure, methods and apparatus are provided to improve the Transmission Control Protocol (TCP) for data such as delay sensitive or bursty data. A maximum send window is adjusted using forward queuing delay and maximum bandwidth parameters. Reverse queuing delay and the number of packets drops are not factored into generation of the maximum send window. Network buffer occupation is bounded and a congestion window is effectively varied using rate shaping and gradual size increases based at least partially on the number acknowledged packets.
Claims17
A method for performing congestion control using a transmission control protocol (TCP), the method comprising:
- determining a forward delay component of a round trip time associated with sending data associated with a flow from a source node and receiving an acknowledgment from a destination node using the transmission control protocol (TCP), wherein the forward delay component specifies a delay time associated with congestion occurring in data traffic from the source node to the destination node;
- updating a previous congestion window for sending the data from the source node to the destination node, wherein the previous congestion window is updated based on an amount of data acknowledged;
- in response to updating the previous congestion window, determining a maximum window based on at least:
- (i) the forward delay component;
- (ii) a minimum round trip time observed between the source node and the destination node;
- (iii) the previous congestion window;
- (iv) a maximum bandwidth between the source node and the destination node;
- and (v) a target buffer amount for the flow to consume;
- and
- transmitting data using the maximum window.
A network device for performing congestion control using a transmission control protocol (TCP), the network device comprising:
- an interface coupled to an Internet Protocol (IP) network;
- and
- a processor for determining a forward delay component of a round trip time associated with sending data associated with a flow from a source node and receiving an acknowledgment from a destination node connected to the interface using the transmission control protocol (TCP), wherein the forward delay component specifies a delay time associated with congestion occurring in data traffic from the source node to the destination node,
- wherein the processor updates a previous congestion window for sending the data from the source node to the destination node, wherein the previous congestion window is updated based on an amount of data acknowledged,
- wherein the processor, in response to updating the previous congestion window, determines a maximum window based on at least:
- (i) the forward delay component;
- (ii) a minimum round trip time observed between the source node and the destination node;
- (iii) the previous congestion window;
- (iv) a maximum bandwidth between the source node and the destination node;
- (v) a target buffer amount for the flow to consume,
- and wherein the processor transmits data using the maximum window.
A system for performing congestion control, the system comprising:
- means for determining a forward delay component of a round trip time associated with sending data associated with a flow from a source node and receiving an acknowledgment from a destination node using the transmission control protocol (TCP), wherein the forward delay component specifies a delay time associated with congestion occurring in data traffic from the source node to the destination node;
- means for updating a previous congestion window for sending the data from the source node to the destination node, wherein the previous congestion window is updated based on an amount of data acknowledged;
- means for, in response to updating the previous congestion window, determining a maximum window based on at least:
- (i) the forward delay component;
- (ii) a minimum round trip time observed between the source node and the destination node;
- (iii) the previous congestion window;
- (iv) a maximum bandwidth between the source node and the destination node;
- and (v) a target buffer amount for the flow to consume;
- and
- means for transmitting the data using the maximum window.
Dependencies are inferred from the claim text.