Delay based active queue management for uplink traffic in user equipment

US9386128B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9386128-B2
Application numberUS-201213428954-A
CountryUS
Kind codeB2
Filing dateMar 23, 2012
Priority dateMar 23, 2012
Publication dateJul 5, 2016
Grant dateJul 5, 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, an apparatus, and a computer program product for wireless communication are provided. The apparatus stores data packets in a buffer. In addition, the apparatus determines a delay of at least one data packet of the data packets in the buffer. Furthermore, the apparatus controls a TCP data flow rate based on the determined delay. The apparatus may also store ACKs in a second buffer and drop an ACK of the stored ACKs when one of a number of stored ACKs is greater than a first threshold or a size of the stored ACKs is greater than a second threshold.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of wireless communication, comprising: for each of a plurality of Transmission Control Protocol (TCP) packets to be transmitted on an uplink (UL), determining whether the TCP packet is an UL data packet or a downlink (DL) acknowledgement (ACK) acknowledging a DL data packet received on the downlink based on a size of the TCP packets, deep packet inspection, or both; storing the UL data packets in a first buffer portion in a mobile device, wherein the first buffer portion is allocated to store only the UL data packets; storing the DL ACKs in a second buffer portion in the mobile device, wherein the second buffer portion is allocated to store only the DL ACKs, and the second buffer portion does not overlap with the first buffer portion; determining a delay of a queue of stored UL data packets in the first buffer portion by measuring one or more parameters indicative of a delay of at least one stored UL data packet of the stored UL data packets in the first buffer portion, wherein the one or more parameters indicative of a delay of the at least one stored UL data packet include a time in and a time out of the queue; dropping or marking one or more stored UL data packets in the first buffer portion when the delay is greater than or equal to an upper delay threshold; and dropping one or more of the stored DL ACKs when a number of the stored DL ACKs exceeds a first threshold number of DL ACKs, or when a total size of the stored DL ACKs is greater than a second threshold number of bytes. 2. The method of claim 1 , wherein the determining whether the TCP packet is the UL data packet or the DL ACK comprises: when the size of the TCP packets is greater than or equal to a first size, determining that the TCP packet is the UL data packet; and when the size of the TCP packet is less than the first size, using deep packet inspection to determine whether the TCP packet is the UL data packet or the DL ACK. 3. The method of claim 1 , comprising: comparing the determined delay of the queue of stored UL data packets in the first buffer portion with a lower delay threshold; and wherein the dropping or marking is performed until the delay is less than or equal to the lower delay threshold. 4. The method of claim 3 , further comprising: determining a requisite downlink (DL) data rate; and adjusting the upper delay threshold or the lower delay threshold or both, based on the determined requisite DL data rate. 5. The method of claim 4 , wherein the upper delay threshold or the lower delay threshold or both are decreased, corresponding to an increase in the determined requisite DL data rate, thereby allowing a size of the first buffer portion to decrease. 6. The method of claim 1 , wherein the dropping or marking one or more stored UL data packets comprises randomly dropping one or more stored UL data packets to remove the one or more stored UL data packets from the first buffer portion. 7. The method of claim 1 , wherein the dropping or marking one or more stored UL data packets comprises randomly marking one or more stored UL data packets to indicate network congestion. 8. The method of claim 1 , wherein the first buffer portion and the second buffer portion are located in different buffers. 9. The method of claim 1 , wherein dropping one or more of the stored DL ACKs when a number of the stored DL ACKs exceeds a first threshold number of DL ACKs, or when a total size of the stored DL ACKs is greater than a second threshold number of bytes comprises dropping a DL ACK that is the earliest stored DL ACK whose information is determined to be contained in another stored DL ACK for transmission. 10. The method of claim 1 , further comprising transmitting the stored UL data packets from the queue of stored UL data packets in the first buffer portion with a variable uplink transmission rate. 11. The method of claim 1 , wherein the at least one stored UL data packet includes at least one inserted dummy packet, and wherein the time in is a time the dummy packet is inserted into the queue and wherein the time out is a time the dummy packet is de-queued. 12. The method of claim 11 , wherein the determining the delay comprises: time-stamping the inserted dummy packet with the time in; and calculating the delay based on a difference between the time out and the time in. 13. An apparatus for wireless communication, comprising: means for, for each of a plurality of Transmission Control Protocol (TCP) packets to be transmitted on an uplink (UL), determining whether the TCP packet is an UL data packet or a downlink (DL) acknowledgement (ACK) acknowledging a DL data packet received on the downlink based on a size of the TCP packets, deep packet inspection, or both; means for storing the UL data packets in a first buffer portion in a mobile device wherein the first buffer portion is allocated to store only the UL data packets; means for storing the DL ACKs in a second buffer portion in the mobile device, wherein the second buffer portion is allocated to store only the DL ACKs, and the second buffer portion does not overlap with the first buffer portion; means for determining a delay of a queue of stored UL data packets in the first buffer portion by measuring one or more parameters indicative of a delay of at least one stored UL data packet of the stored UL data packets in the first buffer portion, wherein the one or more parameters indicative of a delay of the at least one stored UL data packet include a time in and a time out of the queue; means for dropping or marking one or more stored UL data packets in the first buffer portion when the delay is greater than or equal to an upper delay threshold; and means for dropping one or more of the stored DL ACKs when a number of the stored DL ACKs exceeds a first threshold number of DL AKCs, or when a total size of the stored DL ACKs is greater than a second threshold number of bytes. 14. The apparatus of claim 13 , wherein the means for determining whether the TCP packet is the UL data packet or the DL ACK comprises: means for, when the size of the TCP packets is greater than or equal to a first size, determining that the TCP packet is the UL data packet; and means for, when the size of the TCP packet is less than the first size, using deep packet inspection to determine whether the TCP packet is the UL data packet or the DL ACK. 15. The apparatus of claim 13 , further comprising: means for comparing the delay of the queue of stored UL data packets in the first buffer portion with a lower delay threshold; and wherein the means for dropping or marking is configured to perform until the delay is less than or equal to the lower delay threshold. 16. The apparatus of claim 15 , further comprising: means for determining a requisite downlink (DL) data rate; and means for adjusting the upper delay threshold or the lower delay threshold or both, based on the determined requisite DL data rate. 17. The apparatus of claim 16 , wherein the upper delay threshold or the lower delay threshold or both are decreased, corresponding to an increase in the determined requisite DL data rate, thereby allowing a size of the first buffer portion to decrease. 18. The apparatus of claim 13 , wherein the means for dropping or marking one or more stored UL data packets is configured to randomly drop one or more stored UL data packets to remove the one or more stored UL data packets from the first buffer portion. 19. The apparatus of claim 13 , wherein the means for dropping or marking one or more st

Assignees

Inventors

Classifications

  • Electricity · mapped topic

  • in response to processing delays, e.g. caused by jitter or round trip time [RTT] · CPC title

  • Discarding or blocking control packets, e.g. ACK packets · CPC title

  • with rate being modified by the source upon detecting a change of network conditions · CPC title

  • at the transport layer, e.g. TCP related · 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 US9386128B2 cover?
A method, an apparatus, and a computer program product for wireless communication are provided. The apparatus stores data packets in a buffer. In addition, the apparatus determines a delay of at least one data packet of the data packets in the buffer. Furthermore, the apparatus controls a TCP data flow rate based on the determined delay. The apparatus may also store ACKs in a second buffer and …
Who is the assignee on this patent?
Ehsan Navid, Klingenbrunn Thomas, Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification H04L69/163. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 05 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).