US 11,876,719 B2
Systems and methods for managing transmission control protocol (TCP) acknowledgements
Vijay Venkataraman, San Jose, CA (US); Cahya A. Masputra, San Jose, CA (US); Christoph Paasch, Cupertino, CA (US); Martin Kugler, Poing (DE); and Hans Jürgen Steffen, Nuremberg (DE)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Jun. 28, 2022, as Appl. No. 17/851,124.
Claims priority of provisional application 63/225,876, filed on Jul. 26, 2021.
Prior Publication US 2023/0023893 A1, Jan. 26, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 47/193 (2022.01); H04L 5/00 (2006.01); H04L 47/32 (2022.01); H04W 80/06 (2009.01)
CPC H04L 47/193 (2013.01) [H04L 5/0053 (2013.01); H04L 47/323 (2013.01); H04W 80/06 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method performed by a client device in a wireless network for Transmission Control Protocol Acknowledgement (TCP ACK) packet transmission, the method comprising:
accessing, in a memory coupled to the client device, a queue comprising TCP ACK packets to be transmitted to another device in the wireless network in response to receiving TCP packets from the other device, wherein at least a subset of the TCP ACK packets include respective packet descriptors that each comprise (i) a flow identifier indicating a TCP flow associated with the packet, and (ii) a TCP ACK Generation Count;
inspecting a packet descriptor of a first TCP ACK packet of the TCP ACK packets in the queue;
identifying a first flow identifier and a first TCP ACK Generation Count corresponding to the first TCP ACK packet included in the packet descriptor of the first TCP ACK packet;
determining that the first flow identifier and the first TCP ACK Generation Count are valid;
accessing, in the memory coupled to the client device, a data structure including entries each having at least a first field and a second field, the first field and the second field respectively storing a flow identifier and a corresponding TCP ACK Generation Count;
determining that the data structure includes a first entry having (i) a flow identifier matching the first flow identifier and (ii) a TCP ACK Generation Count matching the first TCP ACK Generation Count; and
in response to the determination, marking the first TCP ACK packet to be dropped.