Dynamic adjustment of receive window utilized by a transmitting device

US9253104B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9253104-B2
Application numberUS-201414256836-A
CountryUS
Kind codeB2
Filing dateApr 18, 2014
Priority dateMar 3, 2010
Publication dateFeb 2, 2016
Grant dateFeb 2, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of controlling size of a receive window includes transmitting packets over a communication channel from a transmitting device to a receiver, and receiving acknowledgment packets from the receiver, the received acknowledgement packets from the receiver including an advertised receive window size. The method further includes determining a backlog parameter for the receiver in accordance with the advertised receive window size, determining a queuing delay in accordance the received acknowledgment packets, resetting a size of a congestion window in accordance with a function of a current size of the congestion window and a factor proportional to the queuing delay, and resetting a size of a receive window in accordance with a function of a current size of the receive window and the backlog parameter. A network window is reset in accordance with the smaller of the size of the congestion window and the size of the receive window.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of controlling transmission of messages from a sender to a recipient over a network, comprising: at a transmitting device: receiving acknowledgment packets from the receiver corresponding to transmitted packets, the received acknowledgement packets from the receiver including an advertised receive window size; determining a backlog parameter for the receiver in accordance with the advertised receive window size in the received acknowledgment packets; determining a queuing delay in accordance the received acknowledgment packets; resetting a size of a congestion window in accordance with a function of a current size of the congestion window and a factor proportional to the queuing delay; resetting a size of a receive window in accordance with a function of a current size of the receive window and the backlog parameter, wherein the receive window has a dynamically determined size, distinct from the advertised receive window size in the acknowledgment packets received from the receiver; comparing the size of the congestion window and the size of the receive window; resetting a size of a network window in accordance with the smaller of the size of the congestion window and the size of the receive window; and transmitting packets over the network to the recipient in accordance with the size of the network window. 2. The method of claim 1 , wherein determining the backlog parameter includes determining the backlog parameter for the receiver in accordance with a difference between the advertised receive window size packets and a predefined fraction of a receive buffer size, the receive buffer size corresponding to a size, or estimated size, of a receive buffer in the receiver. 3. The method of claim 1 , including: determining a current round trip time for the transmitted packets; and resetting the size of the receive window in accordance with a scaling factor, the current round trip time, the current size of the receive window and the backlog parameter. 4. The method of claim 3 , including determining the scaling factor, wherein the scaling factor is a nominal round trip time. 5. The method of claim 3 , including determining the scaling factor, wherein when the backlog parameter's value corresponds to a backlog at the receiver that is greater than a predefined threshold, the scaling factor has a first value, and when the backlog parameter's value corresponds to a backlog at the receiver that is less than the predefined threshold, the scaling factor has a second value that is less than the first value. 6. The method of claim 1 , including: determining a current round trip time for the transmitted packets; and resetting the size of the receive window in accordance with a sum of the current round trip time and a value produced by multiplying a scaling factor with a ratio of the backlog parameter to the current size of the receive window. 7. The method of claim 1 , wherein resetting the size of the receive window includes maintaining the current size of the receive window when the backlog parameter is within a predefined value range. 8. The method of claim 1 , including determining a current round trip time for the transmitted packets, and resetting the size of the receive window only once every other round trip time. 9. The method of claim 1 , including resetting the size of the receive window periodically. 10. An apparatus for controlling transmission of messages from a sender to a recipient over a network, comprising: one or more processors; and memory that stores one or more programs for execution by the one or more processors, the one or more programs including instructions for: receiving acknowledgment packets from the receiver corresponding to transmitted packets, the received acknowledgement packets from the receiver including an advertised receive window size; determining a backlog parameter for the receiver in accordance with the advertised receive window size in the received acknowledgment packets; determining a queuing delay in accordance the received acknowledgment packets; resetting a size of a congestion window in accordance with a function of a current size of the congestion window and a factor proportional to the queuing delay; resetting a size of a receive window in accordance with a function of a current size of the receive window and the backlog parameter, wherein the receive window has a dynamically determined size, distinct from the advertised receive window size in the acknowledgment packets received from the receiver; comparing the size of the congestion window and the size of the receive window; resetting a size of a network window in accordance with the smaller of the size of the congestion window and the size of the receive window; and transmitting packets over the network to the recipient in accordance with the size of the network window. 11. The apparatus of claim 10 , wherein the instructions for determining the backlog parameter include instructions for determining the backlog parameter for the receiver in accordance with a difference between the advertised receive window size packets and a predefined fraction of a receive buffer size, the receive buffer size corresponding to a size, or estimated size, of a receive buffer in the receiver. 12. The apparatus of claim 10 , the one or more programs including: instructions for determining a current round trip time for the transmitted packets; and instructions for resetting the size of the receive window in accordance with a scaling factor, the current round trip time, the current size of the receive window and the backlog parameter. 13. The apparatus of claim 12 , the one or more programs including instructions for determining the scaling factor, wherein the scaling factor is a nominal round trip time. 14. The apparatus of claim 12 , the one or more programs including instructions for determining the scaling factor, wherein when the backlog parameter's value corresponds to a backlog at the receiver that is greater than a predefined threshold, the scaling factor has a first value, and when the backlog parameter's value corresponds to a backlog at the receiver that is less than the predefined threshold, the scaling factor has a second value that is less than the first value. 15. The apparatus of claim 10 , the one or more programs including: instructions for determining a current round trip time for the transmitted packets; and instructions for resetting the size of the receive window in accordance with a sum of the current round trip time and a value produced by multiplying a scaling factor with a ratio of the backlog parameter to the current size of the receive window. 16. The apparatus of claim 10 , wherein the instructions for resetting the size of the receive window include instructions for maintaining the current size of the receive window when the backlog parameter is within a predefined value range. 17. The apparatus of claim 10 , the one or more programs including instructions for determining a current round trip time for the transmitted packets, and instructions for resetting the size of the receive window only once every other round trip time. 18. The apparatus of claim 10 , the one or more programs including instructions for resetting the size of the receive window periodically.

Assignees

Inventors

Classifications

  • in combination with information about buffer occupancy at either end or at transit nodes · CPC title

  • H04L47/27Primary

    Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets · CPC title

  • Electricity · mapped topic

  • Packet switching systems · CPC title

  • Arrangements for monitoring or testing data switching networks · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9253104B2 cover?
A method of controlling size of a receive window includes transmitting packets over a communication channel from a transmitting device to a receiver, and receiving acknowledgment packets from the receiver, the received acknowledgement packets from the receiver including an advertised receive window size. The method further includes determining a backlog parameter for the receiver in accordance …
Who is the assignee on this patent?
Akamai Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/27. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 02 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).