System and method for reducing latency via client side dynamic acknowledgements
AssigneeGoogle Inc.
InventorsJames Roskind, Michael A. Belshe
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided whereby latency between a sending device and a receiving device during network communications is reduced by adaptively and dynamically acknowledging the reception of each of a determined number of packets that are transmitted by the sending device to the receiving device over the network. In one aspect, the receiving device adaptively and dynamically acknowledges the reception of each data packet as it is received from the sending device. In another aspect, the receiving device adaptively and dynamically acknowledges the reception of a group of at least two packets as the remaining data packets are received from the sending device.
Claims12
A method of transmitting acknowledgment packets over a network comprising:
- adaptively determining, with a processor at a receiving device, a first number of acknowledgements to be transmitted from the receiving device to a sending device based upon an analysis of previous responses to a type of request, the analysis including averaging a number of data packets received in the previous responses from one or more sending devices, the type of request being transmitted by the receiving device to the one or more sending devices over a first network connection;
- receiving, at the receiving device, a first set of data packets transmitted by the sending device over the first network connection;
- and,
- dynamically transmitting, based on the adaptively determined first number of acknowledgments, a first set of acknowledgement packets from the receiving device to the sending device over the first network connection,
- where each acknowledgment packet in the dynamically transmitted first set of acknowledgement packets individually and immediately acknowledges reception of a respective data packet as each data packet in the first set of data packets is received at the receiving device.
A system for transmitting acknowledgment packets over a network comprising:
- a first network device and a second network device interconnected via the network;
- a memory storing instructions and a processor to execute the instructions, wherein the instructions comprise
- adaptively determining, with the processor, a first number of acknowledgements to be transmitted from the first network device to the second network device based upon an analysis of previous responses to a type of request, the analysis including averaging a number of data packets received in the previous responses from one or more second network devices, the type of request being transmitted by the first network device to the one or more second network device over a first network connection;
- receiving, at the first network device, a first set of data packets transmitted by the second network device to the first network device over the first network connection;
- and,
- dynamically transmitting, based on the adaptively determined first number of acknowledgments, a first set of acknowledgement packets from the first network device to the second network device over the first network connection,
- where each acknowledgment packet in the dynamically transmitted first set of acknowledgement packets individually and immediately acknowledges reception of a respective data packet as each data packet in the first set of data packets is received at the first network device via the first network connection.
Dependencies are inferred from the claim text.