Reducing interarrival delays in network traffic
The disclosed embodiments provide a system that facilitates use of a network link. During operation, the system continuously monitors an interarrival delay of packets received from a sender over the network link. Next, the system adjusts a receive window for the sender based on the interarrival delay to facilitate receipt of subsequent packets from the sender and other senders over the network link.
1. A computer-implemented method for facilitating use of a network link, comprising:
monitoring, at a receiver, an interarrival delay of packets received from a sender over the network link; and
adjusting a receive window for the sender based on the interarrival delay to facilitate receipt of subsequent packets from the sender and other senders over the network link;
wherein the adjustment to the receive window is scaled based on the priority of a process executing on a computer system at the receiver, wherein the process is associated with the packets.
2. The computer-implemented method of claim 1 , wherein the process is a foreground process or a background process.
3. The computer-implemented method of claim 1 , wherein adjusting the receive window for the sender based on the interarrival delay involves:
if the interarrival delay exceeds a threshold by a first pre-specified margin, reducing the receive window; and
if the interarrival delay falls below the threshold by a second pre-specified margin, increasing the receive window.
4. The computer-implemented method of claim 1 , wherein adjusting the receive window for the sender involves:
transmitting an acknowledgement packet containing a new size of the receive window to the sender.
5. The computer-implemented method of claim 1 , wherein the network link is one of a WiFi network link or a mobile phone network link.
6. The computer-implemented method of claim 1 , wherein the receive window is not reduced below a minimum receive window associated with sampling of the network link.
7. A system for facilitating use of a network link, comprising:
a monitoring apparatus configured to monitor, at a receiver, an interarrival delay of packets received from a sender over the network link; and
a management apparatus configured to adjust a receive window for the sender based on the interarrival delay to facilitate receipt of subsequent packets from the sender and other senders over the network link;
wherein the adjustment to the receive window is scaled based on the priority of a process executing on a computer system at the receiver, wherein the process is associated with the packets.
8. The system of claim 7 , wherein the process is a foreground process or a background process.
9. The system of claim 7 , wherein adjusting the receive window for the sender based on the interarrival delay involves:
if the interarrival delay exceeds a threshold by a first pre-specified margin, reducing the receive window; and
if the interarrival delay falls below the threshold by a second pre-specified margin, increasing the receive window.
10. The system of claim 7 , wherein adjusting the receive window for the sender involves:
transmitting an acknowledgement packet containing a new size of the receive window to the sender.
11. The system of claim 7 , wherein the network link is one of a WiFi network link or a mobile phone network link.
12. The system of claim 7 , wherein the receive window is not reduced below a minimum receive window associated with sampling of the network link.
13. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for facilitating use of a network link, the method comprising:
monitoring, at a receiver, an interarrival delay of packets received from a sender over the network link; and
adjusting a receive window for the sender based on the interarrival delay to facilitate receipt of subsequent packets from the sender and other senders over the network link;
wherein the adjustment to the receive window is scaled based on the priority of a process executing on a computer system at the receiver, wherein the process is associated with the packets.
14. The non-transitory computer-readable storage medium of claim 13 , wherein the process is a foreground process or a background process.
15. The non-transitory computer-readable storage medium of claim 13 , wherein adjusting the receive window for the sender based on the interarrival delay involves:
if the interarrival delay exceeds a threshold by a first pre-specified margin, reducing the receive window; and
if the interarrival delay falls below the threshold by a second pre-specified margin, increasing the receive window.
16. The non-transitory computer-readable storage medium of claim 13 , wherein adjusting the receive window for the sender involves:
transmitting an acknowledgement packet containing a new size of the receive window to the sender.
17. The non-transitory computer-readable storage medium of claim 13 , wherein the network link is one of a WiFi network link or a mobile phone network link.
18. The non-transitory computer-readable storage medium of claim 13 , wherein the receive window is not reduced below a minimum receive window associated with sampling of the network link.