Method and system for background replication of data objects
First Claim
Patent Images
1. A method of controlling data transmission over a communication network, the method comprising:
- sending, by a device, one or more data packets over the communication network in view of a congestion window representative of a congestion state of the communication network;
determining, by the device, a time that a first data packet was sent;
receiving, by the device, an acknowledgement of receipt of at least the first data packet;
determining, by the device, a time that the acknowledgement of receipt of the first data packet was received;
determining, by the device, an estimate of network congestion based at least in part on the time the first data packet was sent and the time the acknowledgement of receipt of the first data packet was received; and
if the estimate of network congestion exceeds a congestion threshold, then reducing a size of the congestion window,wherein round trip times are indicative of a bottleneck queue size and wherein the congestion threshold represents a number of round trip times that exceed the bottleneck queue size.
1 Assignment
0 Petitions
Accused Products
Abstract
In an embodiment, a system and method may manage network resources to provide a near zero-cost background replication of data. Such a system may be inhibited from causing interference with foreground data flows. Such a system may also utilize a large fraction of spare network bandwidth. A system configured to implement such a method may include one or more servers and at least one client in communication via a network. Additionally the system may include a hint server, a monitor and/or a front-end application between a demand server and the network.
-
Citations
29 Claims
-
1. A method of controlling data transmission over a communication network, the method comprising:
-
sending, by a device, one or more data packets over the communication network in view of a congestion window representative of a congestion state of the communication network; determining, by the device, a time that a first data packet was sent; receiving, by the device, an acknowledgement of receipt of at least the first data packet; determining, by the device, a time that the acknowledgement of receipt of the first data packet was received; determining, by the device, an estimate of network congestion based at least in part on the time the first data packet was sent and the time the acknowledgement of receipt of the first data packet was received; and if the estimate of network congestion exceeds a congestion threshold, then reducing a size of the congestion window, wherein round trip times are indicative of a bottleneck queue size and wherein the congestion threshold represents a number of round trip times that exceed the bottleneck queue size. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An article of manufacture, comprising:
-
a non-transitory computer readable medium; and a plurality of programming instructions stored on the non-transitory computer readable medium and configured to cause a processor to; determine a time that a first data packet was sent; determine a time that an acknowledgement of receipt of the first data packet was received; determine an estimate of network congestion based at least in part on the time the first data packet was sent and the time the acknowledgement of receipt of the first data packet was received; and if the estimate of network congestion exceeds a congestion threshold, then reduce a size of a congestion window to be used for future packet transmission, wherein round trip times are indicative of a bottleneck queue size and wherein the congestion threshold represents a number of round trip times that exceed the bottleneck queue size. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. An apparatus, comprising:
a network device that includes a memory and that further includes; a network interface module to couple the network device to a communication network; and a communications module coupled to the network interface module and configured to; transmit one or more packets over the communication network to one or more receivers in view of a congestion window representative of a congestion state of the communication network; receive acknowledgements of receipt of the one or more packets; determine a round trip time using a time that a first packet was sent and a time that a corresponding acknowledgement was received; determine an estimate of network congestion for the communication network based at least in part on the determined round trip time; and if the estimate of network congestion exceeds a congestion threshold, then reduce a size of a congestion window to be used for future transmission, wherein round trip times are indicative of a bottleneck queue size and wherein the congestion threshold represents a number of round trip times that exceed the bottleneck queue size. - View Dependent Claims (22, 23, 24)
-
25. An apparatus, comprising:
-
means for sending one or more data packets over a communication network, in view of a congestion window representative of a congestion state of the communication network; means for determining a time that a first data packet was sent; means for receiving an acknowledgement of receipt of at least the first data packet; means for determining a time that the acknowledgement of receipt of the first data packet was received; means for determining an estimate of network congestion based at least in part on the time the first data packet was sent and the time the acknowledgement of receipt of the first data packet was received; and means for reducing the size of the congestion window if the estimate of network congestion exceeds a congestion threshold, wherein round trip times are indicative of a bottleneck queue size and wherein the congestion threshold represents a number of round trip times that exceed the bottleneck queue size. - View Dependent Claims (26, 27, 28, 29)
-
Specification