Empirical scheduling of network packets using coarse and fine testing periods
First Claim
1. A method of transmitting packets over a network, comprising the steps of:
- (1) transmitting a first plurality of test packets over the network during a first plurality of time locations that are coarsely spaced apart in time;
(2) on the basis of step (1), determining which of the first plurality of time locations corresponds to favorable network traffic conditions;
(3) transmitting a second plurality of test packets over the network during a second plurality of time locations that are finely spaced apart in time, wherein the second plurality of time locations are selected on the basis of favorable network traffic conditions determined in step (2); and
(4) on the basis of step (3), determining which of the second plurality of time locations corresponds to favorable network traffic conditions.
13 Assignments
0 Petitions
Accused Products
Abstract
A method of transmitting packets over a network includes steps of transmitting a first plurality of test packets during a first plurality of time locations that are coarsely spaced apart in time; determining which of the first plurality of time locations corresponds to favorable network traffic conditions; transmitting a second plurality of test packets over the network during a second plurality of time locations that are finely spaced apart in time, wherein the second plurality of time locations are selected on the basis of favorable network traffic conditions; determining which of the second plurality of time locations corresponds to favorable network traffic conditions; and transmitting data packets over the network using one or more favorable time locations determined by the finely spaced test packets. The method can be used to “zero in” on congested network periods by detecting differences in packet latencies among test packets.
-
Citations
34 Claims
-
1. A method of transmitting packets over a network, comprising the steps of:
-
(1) transmitting a first plurality of test packets over the network during a first plurality of time locations that are coarsely spaced apart in time;
(2) on the basis of step (1), determining which of the first plurality of time locations corresponds to favorable network traffic conditions;
(3) transmitting a second plurality of test packets over the network during a second plurality of time locations that are finely spaced apart in time, wherein the second plurality of time locations are selected on the basis of favorable network traffic conditions determined in step (2); and
(4) on the basis of step (3), determining which of the second plurality of time locations corresponds to favorable network traffic conditions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. In an Internet Protocol (IP) network comprising a plurality of packet switches, a method of transmitting data packets, comprising the steps of:
-
(1) establishing a time reference frame comprising a plurality of time locations during which IP packets are to be transmitted across the IP network;
(2) empirically determining which of the plurality of time locations is associated with a reduced rate of packet congestion with respect to an intended recipient node; and
(3) transmitting a plurality of data packets from a transmitting node to the intended recipient node during one or more time locations empirically determined to be associated with the reduced rate of packet congestion in step (2), wherein step (2) is performed by transmitting a first plurality of test packets that are coarsely spaced apart in time and then transmitting a second plurality of test packets that are finely spaced apart in time, wherein the second plurality of test packets are transmitted during time locations that are selected to correspond to time periods of relative network non-congestion as determined by the first plurality of test packets. - View Dependent Claims (19, 20)
-
-
21. A computer programmed with computer-executable instructions that, when executed, perform the steps of:
-
(1) transmitting a first plurality of test packets over a network during a first plurality of time locations that are coarsely spaced apart in time;
(2) on the basis of step (1), determining which of the first plurality of time locations corresponds to favorable network traffic conditions;
(3) transmitting a second plurality of test packets over the network during a second plurality of time locations that are finely spaced apart in time, wherein the second plurality of time locations are selected on the basis of favorable network traffic conditions determined in step (2);
(4) on the basis of step (3), determining which of the second plurality of time locations corresponds to favorable network traffic conditions; and
(5) transmitting data packets over the network using one or more favorable time locations determined in step (4). - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A computer-readable medium comprising computer instructions which, when executed by a computer, perform the steps of:
-
(1) transmitting a first plurality of test packets over a network during a first plurality of time locations that are coarsely spaced apart in time;
(2) on the basis of step (1), determining which of the first plurality of time locations corresponds to favorable network traffic conditions;
(3) transmitting a second plurality of test packets over the network during a second plurality of time locations that are finely spaced apart in time, wherein the second plurality of time locations are selected on the basis of favorable network traffic conditions determined in step (2);
(4) on the basis of step (3), determining which of the second plurality of time locations corresponds to favorable network traffic conditions; and
(5) transmitting data packets over the network using one or more favorable time locations determined in step (4).
-
Specification