Claims
- 1. A method for providing digital communication, comprising:
ordering segments of information based on a priority associated with each of the segments of the information; managing of flow of the segments into and out of a buffer based on the priority of the segments of information; adjusting a rate at which information is provided to a communication medium; and transmitting the information.
- 2. The method of claim 1, wherein the priority of the segments the information is computed and recomputed based on dependencies between the segments.
- 3. The method of claim 2; wherein the computation and recomputation are further based on whether a certain segment can reach a destination by a specified time TD.
- 4. The method of claim 3, wherein it is determined that the certain segment cannot reach the destination by the specified time if the specified time TD is greater than a current time tc plus a transfer time tt.
- 5. The method of claim 4, wherein the certain segment is dropped if the specified time TD is greater than a current time tc plus a transfer time tt.
- 6. The method of claim 2, wherein the computation and recomputation are further based on capabilities of a destination.
- 7. The method of claim 6, wherein the capabilities at the destination include whether the destination has a strong post-processing capability.
- 8. The method of claim 6, wherein the capabilities at the destination include whether the destination can provide error concealment.
- 9. The method of claim 6, wherein the capabilities at the destination include whether the destination can drop segments of information if a rate of receipt at the destination is less than a transfer rate from the source to the destination.
- 10. The method of claim 2, wherein the computation and recomputation are further based on connection history between a source and a destination.
- 11. The method of claim 10, further comprising calculating an expected bandwidth on the communication medium based on an amount of bandwidth previously provided on the communication medium.
- 12. The method of claim 10, wherein the transmitting the information is performed at a rate within an average bandwidth.
- 13. The method of claim 10, wherein the transmitting the information is performed at a rate within a lowest bandwidth previously provided on the communication medium.
- 14. The method of claim 2, wherein the computation and recomputation are further based on rate mismatches between the communication medium and the source.
- 15. The method of claim 14, further comprising adjusting a rate at which the information is transmitted based on attributes of individual segments of the information.
- 16. The method of claim 2, wherein the computation of priority takes into account quality of service required at a destination.
- 17. The method of claim 2, wherein the computation of priority takes into account attributes of the segments of the information.
- 18. The method of claim 2, wherein the computation of priority takes into account capabilities of the communication medium.
- 19. The method of claim 18, wherein capabilities of the communication medium include at least one of bandwidth, transmission rate and time for retransmission of a segment of the information.
- 20. The method of claim 2, wherein the computation of priority takes into account characteristics of the managing of the information held in the buffer.
- 21. The method of claim 1, wherein managing the information held in a buffer further comprises:
predicting the priority of incoming segments of information to be placed in the buffer; and determining whether the buffer has sufficient capacity to receive all of the incoming information segments.
- 22. The method of claim 21, wherein the managing the information held in the buffer further comprises:
dropping segments of information if it is determined that the buffer does not have sufficient capacity to receiving all of the incoming information segments.
- 23. The method of claim 22, wherein the segments of information that are dropped have a lower priority than the incoming segments of information.
- 24. The method of claim 21, further comprising:
determining whether segments of information in the buffer have a priority that is one of the same as and lower than the priority of at least one of the incoming segments of information; and dropping at least one segment of information from the buffer having priority lower than the at least one incoming segment before the at least one incoming segment is received by the buffer if it is determined that the at least one segment of information in the buffer has priority that is one of the same as and lower than the priority of the at least one of the incoming segments.
- 25. The method of claim 1, further comprising selectively dropping segments of the information.
- 26. The method of claim 25, wherein dependent segments of the information are dropped if it is determined that the dependent segments depend on a segment that has been dropped.
- 27. The method of claim 26, wherein one of said segments is dropped if it has a priority lower than another of said segments.
- 28. The method of claim 1, wherein the rate at which information is provided to the communication medium is calculated using a round trip time and a loss rate on the communication medium.
- 29. The method of claim 1, wherein the adjusting the rate is based on availability of a communication rate on the communication medium.
- 30. The method of claim 1, wherein the adjusting of the rate includes accumulating a bandwidth credit for unused bandwidth capacity if the rate at which information is provided to the communication medium is less the rate at which the communication medium is capable of transmitting data.
- 31. The method of claim 30, wherein the bandwidth credit is the difference between a TCP friendly rate and an actual connection rate on the communication medium.
- 32. The method of claim 30, further comprising depleting the accumulated credit if the rate at which the information is provided to the communication network is greater than a TCP friendly rate on the communication medium.
- 33. The method of claim 1, further comprising providing congestion control including
providing a congestion window of fxx(Cideal/2), where Cideal is the ideal congestion window computed as the bandwidth-delay product R*rtt, where rtt is the roundtrip time on the communication medium and R is the data rate of the flow; increasing the congestion control window by an increase function of a constant x if there is an increase in congestion; and decreasing the congestion control window by fyy(Max(0, Ccurrent−Cideal)), where Ccurrent is the current congestion control window, if there is a decrease in congestion.
- 34. The method of claim 1, further comprising providing congestion control including
starting with a congestion window that is an ideal window size; increasing the congestion window by a function of a constant x; and decreasing the congestion window by a function of how much the congestion window is larger than the ideal window size.
- 35. The method of claim 1, further comprising adjusting the ordering of the segments, the managing of the flow of segments into and out of the buffer and the adjusting the rate based on quality of service requirements at a destination.
- 36. The method of claim 35, wherein the quality of service requirements are provided by a user at the destination.
- 37. The method of claim 1, further comprising adjusting the ordering of the segments, the managing of the flow of segments into and out of the buffer and the adjusting the rate based on capabilities of devices at a destination.
- 38. The method of claim 1, further comprising adjusting the ordering of the segments, the managing of the flow of segments into and out of the buffer and the adjusting the rate based on capabilities of the communication medium.
- 39. The method of claim 1, further comprising providing time synchronization information about the segments to the destination.
- 40. The method of claim 1, further comprising providing priority signature information about the segments to the destination.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 60/325,017 filed on Sep. 27, 2001, which is hereby incorporated by reference for all purposes as if fully set forth herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60325117 |
Sep 2001 |
US |