Systems and methods of packet-based communication
US-2024364642-A1 · Oct 31, 2024 · US
US9386128B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9386128-B2 |
| Application number | US-201213428954-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 23, 2012 |
| Priority date | Mar 23, 2012 |
| Publication date | Jul 5, 2016 |
| Grant date | Jul 5, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.