Receive window auto-tuning
AssigneeMicrosoft Technology Licensing, LLC
InventorsKevin T. Weston, Abolade Gbadegesin, Deepak Bansal, Murari Sridharan, Sanjay N. Kaniyar
Life of this patent
Estimating the term…
Abstract
Methods of tuning a receive window. A receiving device and a sending device may be in communication over a network. The receiving device may advertise a receive window to the sending device. The size of the receive window may be adjusted over time based on one or more connection parameters, application parameters and/or operating system parameters.
Claims20
A method performed on a computing device, the method comprising:
- receiving, by the computing device from a second device according to a communications protocol, data;
- determining, by the computing device based on a bandwidth and a round-trip time, a size of a receive window of the communications protocol;
- adjusting, by the computing device based on a scaling factor, the determined size of the receive window of the communications protocol, where the scaling factor is based on a ratio involving a first amount of data received in a receive buffer during a time period and a second amount of data removed from the receive buffer during the time period;
- and
- advertising, by the computing device to the second device, the size of the adjusted receive window.
A computing device comprising:
- memory that comprises a receive buffer into which the computing device receives data from a second device according to a communications protocol;
- a processor via which the computing device determines, based on a bandwidth and a round-trip time, a size of a receive window of the communications protocol;
- the processor via which the computing device adjusts, based on a scaling factor, the determined size of the receive window of the communications protocol, where the scaling factor is based on a ratio involving a first amount of data received in a receive buffer during a time period and a second amount of data removed from the receive buffer during the time period;
- and
- a network interface via which the computing device advertises, to the second device, the size of the adjusted receive window.
At least one computer storage device that comprises computer-executable instructions that, based on execution by a computing device that includes at least one processor and memory, configure the computing device to perform actions comprising:
- receiving, by the computing device from a second device according to a communications protocol, data;
- determining, by the computing device based on a bandwidth and a round-trip time, a size of a receive window of the communications protocol;
- adjusting, by the computing device based on a scaling factor, the determined size of the receive window of the communications protocol, where the scaling factor is based on a ratio involving a first amount of data received in a receive buffer during a time period and a second amount of data removed from the receive buffer during the time period;
- and
- advertising, by the computing device to the second device, the size of the adjusted receive window.
Dependencies are inferred from the claim text.