Claims
- 1. A method for optimizing real-time communication between one or more remote devices on a network, the method comprising:
receiving one or more meaningful control packets from at least one remote device, the one or more meaningful control packets being usable to maintain a quality of service for the real-time communication; receiving one or more dummy control packets from at least one remote device, the format of the dummy control packets and the format of the meaningful control packets conforming to a same control protocol; and approximating the bandwidth available on the network based on the difference in arrival times between at least one of the meaningful control packets and at least one of the dummy control packets.
- 2. The method of claim 1 further comprising reporting the approximated bandwidth to the one or more remote devices.
- 3. The method of claim 1 wherein the step of receiving meaningful control packets includes recording the arrival time specified in a data field of the meaningful control packets.
- 4. The method of claim 1 wherein the step of receiving meaningful control packets includes recording the size of the meaningful control packets.
- 5. The method of claim 1 wherein the step of receiving dummy control packets includes recording the arrival time specified in a data field of the dummy control.
- 6. The method of claim 1 wherein the step of receiving dummy control packets includes recording the size of the dummy control packets by a receiving device.
- 7. The method of claim 1 wherein the step of approximating includes computing a quotient resulting from the division of the size of the meaningful control packets and dummy control packets by the difference in arrival times of the meaningful control packets and dummy control packets.
- 8. A computer-readable medium having computer-executable instructions for performing the method recited in claim 1.
- 9. A method for optimizing real-time communication between one or more remote devices on a network, the method comprising:
calculating the bandwidth available on the network based on network conditions including the difference in arrival times between a meaningful control packet and a dummy control packet; and adjusting data transmission settings of the one or more remote devices based on the bandwidth available on the network.
- 10. The method of claim 9 further including the step of reporting the bandwidth available on the network to the one or more remote devices.
- 11. The method of claim 9 wherein the step of calculating comprises computing a bandwidth limit as the minimum of a local bandwidth, remote bandwidth, application bandwidth and estimated bandwidth.
- 12. The method of claim 11 wherein the step of computing comprises selecting the bandwidth limit as the bandwidth available on the network when no data is reported as lost over the network.
- 13. The method of claim 9 wherein the step of calculating comprises determining bandwidth available on the network as the smaller of a current bandwidth or a previously allocated bandwidth when some of the meaningful control packets and dummy control packets are reported as lost over the network.
- 14. The method of claim 13 wherein the smaller of the current bandwidth or the previously allocated bandwidth is deducted by an amount representing a percentage of the meaningful control packets and dummy control packets lost.
- 15. The method of claim 9 wherein the step of calculating comprises determining bandwidth available on the network as the larger of a current bandwidth or a previously allocated bandwidth when none of the meaningful control packets and dummy control packets are reported as lost over the network.
- 16. The method of claim 15 wherein the larger of the current bandwidth or the previously allocated bandwidth is increased by a designated factor.
- 17. The method of claim 9 wherein the step of calculating comprises increasing the bandwidth available on the network by a designated factor when the bandwidth limit is determined to be greater in value than the bandwidth available on the network by the same designated factor.
- 18. The method of claim 9 wherein the step of adjusting comprises computing a base bandwidth as one of the bandwidth available on the network and the bandwidth limit.
- 19. The method of claim 9 wherein the step of adjusting comprises comparing data transmission settings common to the one or more remote devices and the receiving device with settings indicated by a configuration matrix.
- 20. The method of claim 19 wherein the step of adjusting comprises configuring the receiving device such that its data transmission settings correspond to the settings indicated by the configuration matrix.
- 21. The method of claim 20 wherein the step of configuring comprises enabling a quality of service mechanism on the receiving device.
- 22. The method of claim 20 wherein the step configuring comprises enabling a forward error correction mechanism on the receiving device when the bandwidth limit is greater than a designated value.
- 23. The method of claim 9 wherein the step of adjusting comprises computing a gross bandwidth as the difference between the bandwidth available over the network and an audio bandwidth setting corresponding to the configuration matrix.
- 24. The method of claim 9 wherein the step of adjusting comprises computing an initial framerate based on the computed gross bandwidth.
- 25. The method of claim 9 wherein the step of adjusting comprises computing a final framerate as the product of the initial framerate and a specified temporal-spatial tradeoff value.
- 26. The method of claim 9 wherein the step of adjusting comprises configuring the receiving device such that its data transmission settings correspond to the final framerate.
- 27. The method of claim 9 wherein the step of adjusting comprises computing a raw video bitrate as the difference between the gross bandwidth and one or more specified video header values.
- 28. The method of claim 9 wherein the step of adjusting comprises configuring the receiving device such that its data transmission settings correspond to the raw video bitrate.
- 29. The method of claim 28 wherein the step of configuring comprises enabling a videoconferencing format on the receiving device according to bandwidth available on the network.
- 30. A computer-readable medium having computer-executable instructions for performing the method recited in claim 9.
- 31. A system for optimizing real-time communication between one or more devices on a network, the system comprising:
one or more devices coupled to the network for transmitting one or more meaningful control packets and one or more dummy control packets during the real-time communication; and a quality control mechanism residing on at least one device for adjusting the data transmission settings of the one device based on the difference in arrival times between at least one of the meaningful control packets and at least one of the dummy control packets.
- 32. The system of claim 31 further comprising a network application residing on at least one of the devices.
- 33. The system of claim 31 wherein the one or more devices generate the one or more meaningful control packets and one or more dummy control packets according to the same control protocol.
- 34. The system of claim 31 wherein the one or more devices compute the difference in arrival times between at least one of the meaningful control packets and at least one of the dummy control packets.
- 35. A system for optimizing a streaming media session occurring between one or more remote devices on a network, the system comprising:
means for receiving one or more meaningful control packets from at least one remote device, the one or more meaningful control packets being usable to maintain a quality of service during the streaming media session; means for receiving one or more dummy control packets from at least one remote device, the format of the dummy control packets and the format of the meaningful control packets conforming to a same control protocol; means for approximating available bandwidth on the network based on the difference in arrival times between at least one of the meaningful control packets and at least one of the dummy control packets; and means for adjusting data transmission settings of the one or more remote devices based on the available bandwidth on the network.
- 36. The system of claim 35 wherein the means for approximating computes a quotient resulting from the division of a size determined for at least one of the meaningful control packets and at least one of the dummy control packets by the difference in arrival times of at least one of the meaningful control packets and at least one of the dummy control packets.
- 37. The system of claim 35 wherein the means for adjusting configures at least one of the remote devices such that its data transmission settings correspond to a configuration matrix that is accessible by the one or more remote devices.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application claims the benefit of U.S. Provisional Patent Application No. 60/298,181, filed on Jun. 14, 2001, which is hereby incorporated in its entirety by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60298181 |
Jun 2001 |
US |