System for dynamically determining effective speed of a communication link
First Claim
Patent Images
1. A method for enhancing data communications from a first device to a second device coupled by a communications link, said method comprising the steps of:
- receiving at a first device a request to transmit a data object to a second device;
transmitting a test packet from the first device to the second device in response to receiving said request;
receiving a responsive test packet at the first device;
determining an effective link speed for communications between the first device and the second device using a period of time between said transmission and said receipt of test packets;
transcoding the requested data object to optimize its transmission to the second device based upon the effective link speed; and
transmitting the transcoded data object to the second device.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for determining effective link speed for communications from a first device to a second device coupled by a communications link includes the steps of transmitting a packet from the first device to the second device; receiving a responsive packet at the first device; and determining an effective link speed for communications between the first device and the second device using a period of time between the transmission and receipt.
-
Citations
22 Claims
-
1. A method for enhancing data communications from a first device to a second device coupled by a communications link, said method comprising the steps of:
-
receiving at a first device a request to transmit a data object to a second device;
transmitting a test packet from the first device to the second device in response to receiving said request;
receiving a responsive test packet at the first device;
determining an effective link speed for communications between the first device and the second device using a period of time between said transmission and said receipt of test packets;
transcoding the requested data object to optimize its transmission to the second device based upon the effective link speed; and
transmitting the transcoded data object to the second device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19, 20, 21, 22)
repeating said steps of transmitting a test packet, receiving a responsive test packet, and determining an effective link speed to determine a current effective link speed; and
updating said stored effective link speed based upon the current effective link speed.
-
-
4. The method of claim 3, wherein said stored effective link speed is updated periodically.
-
5. The method of claim 1, wherein the transmitted test packet has a predetermined size, said effective link speed comprising a measurement of a quantity of data transmitted per unit of time.
-
6. The method of claim 1, wherein the first device comprises a network client and the second device comprises an intermediate device for routing a communication from the network client to a predetermined network server, said method further comprising the step of determining a network address associated with the second device.
-
7. The method of claim 6, wherein the first device comprises a network client capable of selectively communicating with a network server through any of a plurality of intermediate routing devices, said method further comprising the steps of:
-
determining an effective link speed between the first device and each of the plurality of intermediate routing devices; and
selecting one of the plurality of intermediate routing devices for a communication from the network client to the network server according to said determined effective link speeds.
-
-
8. The method of claim 1, wherein said steps of transmitting a test packet, receiving a responsive test packet, and determining an effective link speed are repeated for a plurality of iterations, and said effective link speed comprises an average derived from said plurality of iterations.
-
9. The method of claim 8, further comprising the step of rejecting an iteration having a period of time outside of a predetermined range.
-
10. The method of claim 1, wherein said steps of transmitting a test packet, receiving a responsive test packet, and determining an effective link speed are performed upon demand by the first device upon detection of a predetermined condition of the communications link between the first device and the second device.
-
11. The method of claim 10, wherein said predetermined condition comprises an idle condition.
-
12. The method of claim 1, wherein said step of determining an effective link speed comprises measuring effective usable bandwidth between the first and second devices.
-
13. The method of claim 12, wherein said step of determining an effective link speed further comprises measuring latency between the first and second devices.
-
14. The method of claim 1, wherein said effective link speed comprises a measure of latency between the first and second devices.
-
18. The method of claim 1, wherein said transcoding comprises scaling the data object.
-
19. The method of claim 1, wherein said transcoding comprises compressing the data object.
-
20. The method of claim 1, wherein said transcoding comprises enhancing the data object.
-
21. The method of claim 1, wherein the first device and second device are capable of communicating over any of a plurality of communications links, said method further comprising determining an effective link speed for each of said plurality of communications links.
-
22. The method of claim 21, further comprising selecting a communications link having a fastest effective link speed for the data communication from the first device to the second device.
-
15. A set of instructions for enhancing data communications with a network device over a communications link, the set of instructions being stored on a medium for execution by a computer and comprising instructions for:
-
receiving a request to transmit a data object to the network device;
transmitting a test packet to the network device over the communications link;
receiving a responsive test packet from the network device over the communications link;
determining an effective link speed from a time period between said transmission and said receipt of test packets;
transcoding the requested data object to optimize its transmission to the network device based upon the effective link speed; and
transmitting the transcoded data object to the network device. - View Dependent Claims (16, 17)
-
Specification