Controlling network device behavior

US9503223B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9503223-B2
Application numberUS-201113041019-A
CountryUS
Kind codeB2
Filing dateMar 4, 2011
Priority dateMar 4, 2011
Publication dateNov 22, 2016
Grant dateNov 22, 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 sender device is able to send packets over a network destined to a receiver device, and the sender device receives response information that is responsive to the packets. A behavior of the sender device with respect to data transmission on plural subflows of a connection is controlled based on the response information.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: sending, by a user device, packets over a plurality of subflows over a network destined to a receiver device; receiving, by the user device, response information that is responsive to the packets, wherein the response information includes a subflow-level sequence number (SSN) of at least one of the packets, the SSN indicating a sequence number in one of the plurality of subflows over which the at least one of the packets is transmitted; determining, based on the SSN in the response information, that the response information indicates at least one of a first condition or a second condition, wherein the first condition includes that the network between the user device and the receiving device is without a blocking intermediate device or at least one packet was lost after transmission from an intermediate device in the network between the user device and the receiver device, and the second condition includes the response information indicating that the blocking intermediate device is present between the user device and the receiver device, or a subset of the packets sent by the user device was lost before reaching the blocking intermediate device; controlling a behavior of the user device based on the response information, wherein controlling the behavior comprises: when the response information is determined to indicate the first condition, causing the user device to implement a first behavior with respect to data transmission over the plural of subflows, wherein the first behavior includes retransmitting a lost packet over one of the plural of subflows via a first network that is different from a second network of another one of the plural of subflows over which the lost packet was originally sent; and when the response information is determined to indicate the second condition, causing the user device to implement a second, different behavior with respect to data transmission over the plural of subflows, wherein the second behavior includes retransmitting the lost packet over the one of the plural of subflows over which the lost packet was originally sent; and wherein the blocking intermediate device is a device in the network that prevents at least a subset of the packets from the user device from reaching the receiver device if the packets exhibit a predefined characteristic, the predefined characteristic is a sequence number hole in the packets sent by the user device, and the sequence number hole is caused by refraining from sending a particular packet having a particular sequence number. 2. The method of claim 1 , further comprising determining that the blocking intermediate device is not present based on the response information indicating that the receiver device has received packets having sequence numbers greater than the particular sequence number. 3. The method of claim 1 , further comprising: starting a timer upon sending a packet having a sequence number that is at least one larger than the particular sequence number. 4. The method of claim 3 , further comprising: determining whether an indication has been received from the receiver device indicating that the receiver device has received a packet having a sequence number greater than the particular sequence number; and in response to expiration of the timer before the user device receiving the indication, releasing the particular packet to send to the receiver device. 5. The method of claim 4 , wherein the timer is associated with a timeout value, the method further comprising: setting the timeout value to satisfy all of the following conditions: the timeout value is at least larger than a round trip time of data between the user device and the receiver device, the timeout value is less than a value specified by an application in the user device, and the timeout value is less than a difference between a remaining time in a timeout timer of unacknowledged data and a round trip time of data between the user device and the receiver device, where the remaining time is measured from a start of the timer. 6. The method of claim 4 , further comprising: determining a number of attempts performed by the user device in attempting to determine whether the blocking intermediate device is present; and in response to detecting that the number of attempts is greater than a predefined threshold, causing the user device to operate according to the second behavior. 7. The method of claim 1 , further comprising: splitting a particular packet into plural segments; and causing the sequence number hole by refraining from sending a particular one of the segments having a particular sequence number. 8. The method of claim 1 , wherein the user device implementing the first behavior comprises the user device retransmitting the lost packet on a selected one of the plural of subflows that exhibits least congestion. 9. The method of claim 1 , wherein the user device implementing the first behavior further comprises the user device maintaining a held packet in a send buffer of the user device according to a first technique, and wherein the user device implementing the second behavior comprises the user device maintaining the held packet in the send buffer of the user device according to a second, different technique. 10. The method of claim 9 , wherein the user device maintaining the held packet in the send buffer according to the first technique comprises the user device sending the held packet to the receiver device in response to the user device receiving an acknowledgement at the connection level that the packets have been received by the receiver device. 11. The method of claim 10 , wherein the user device maintaining the held packet in the send buffer according to the second technique comprises the user device maintaining the held packet in the send buffer at the connection level as long as the packets has not been acknowledged at the connection level as well as in all subflows that the packets have been sent on. 12. The method of claim 1 , wherein the plural of subflows are subflows between the user device and the receiver device according to a Multipath Transmission Control Protocol (MPTCP). 13. A user device comprising: a network interface to communicate with a second network device over a network; and at least one processor to: send packets over a plurality of subflows over the network destined to the second network device; receive response information that is responsive to the packets, wherein the response information includes a subflow-level sequence number (SSN) of at least one of the packets, the SSN indicating a sequence number in one of the plurality of subflows over which the at least one of the packets is transmitted; determine, based on the SSN in the response information, that the response information indicates at least one of a first condition or a second condition, wherein the first condition includes that the network between the user device and the receiving device is without a blocking intermediate device or at least one packet was lost after transmission from an intermediate device in the network between the user device and the receiver device, and the second condition includes the response information indicating that the blocking intermediate device is present between the user device and the receiver device, or a subset of the packets sent by the user device was lost before reaching the blocking intermediate device; control a behavior of the user device based on the response information, wherein controlling the behavior comprises: when the response information is determined to indicate the first condition, causing the user device

Assignees

Inventors

Classifications

  • Active monitoring, e.g. heartbeat, ping or trace-route · CPC title

  • H04L1/1825Primary

    Adaptation of specific ARQ protocol parameters according to transmission conditions · CPC title

  • using multiple timers · CPC title

  • ensuring sequence integrity, e.g. using sequence numbers · CPC title

  • Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets · 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 US9503223B2 cover?
A sender device is able to send packets over a network destined to a receiver device, and the sender device receives response information that is responsive to the packets. A behavior of the sender device with respect to data transmission on plural subflows of a connection is controlled based on the response information.
Who is the assignee on this patent?
Wu Wei, Le Khiem, Choi Noun, and 1 more
What technology area does this patent fall under?
Primary CPC classification H04L1/1825. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 22 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).