Universal rate control mechanism with parameter adaptation for real-time communication applications
First Claim
1. A computer-implemented process for dynamically adapting rate control parameters of a communications session, comprising using a computer to perform process actions for:
- instantiating a communications session using a Utility Maximization (UM) framework;
wherein the UM framework includes a first rate control parameter for adjusting an operating congestion level of the communications session;
while the communication session is ongoing, repeatedly performing process actions for;
based on a current sending rate of the communications session, inferring current congestion levels of the communications session from one or more congestion signals derived from any of a current packet'"'"'s congestion signals and a first sliding window of the congestion signals of the communications session,based on the current sending rate of the communications session, inferring longer-term congestion levels of the communications session from a second sliding window of the congestion signals of the communications session;
dynamically adapting the first rate control parameter as a function of the longer-term inferred congestion levels and a current long-term average sending rate, anddynamically adjusting the current sending rate as a function of the dynamically adapted first rate control parameter and the inferred current congestion level.
2 Assignments
0 Petitions
Accused Products
Abstract
A “Universal Rate Control Mechanism with Parameter Adaptation” (URCMPA) improves real-time communication (RTC) sessions in terms of delay, loss, throughput, and PSNR. The URCMPA automatically learns network characteristics including bottleneck link capacity, inherent queuing delay, inherent packet loss rates, etc., during RTC sessions. The URCMPA uses this information to dynamically adapt rate control parameters in a utility maximization (UM) framework. The URCMPA operates reliable RTC sessions across a wide range and combination of networks near full throughput rates while maintaining low operating congestion levels (e.g., low queuing delay and low packet loss). Examples of networks applicable for use with the URCMPA include, but are not limited to, combinations of mobile broadband (e.g., 3G, 4G, etc.), WiMAX, Wi-Fi hotspots, etc., and physical networks based on cable, fiber, ADSL, etc. The URCMPA can also dynamically adapt operating congestion levels relative to competing TCP flows to maintain fair use of network resources.
-
Citations
20 Claims
-
1. A computer-implemented process for dynamically adapting rate control parameters of a communications session, comprising using a computer to perform process actions for:
-
instantiating a communications session using a Utility Maximization (UM) framework; wherein the UM framework includes a first rate control parameter for adjusting an operating congestion level of the communications session; while the communication session is ongoing, repeatedly performing process actions for; based on a current sending rate of the communications session, inferring current congestion levels of the communications session from one or more congestion signals derived from any of a current packet'"'"'s congestion signals and a first sliding window of the congestion signals of the communications session, based on the current sending rate of the communications session, inferring longer-term congestion levels of the communications session from a second sliding window of the congestion signals of the communications session; dynamically adapting the first rate control parameter as a function of the longer-term inferred congestion levels and a current long-term average sending rate, and dynamically adjusting the current sending rate as a function of the dynamically adapted first rate control parameter and the inferred current congestion level. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for adapting rate control parameters of a Utility Maximization (UM) based communications session, comprising using a computing device for:
-
initiating a UM-based communication session using an initial estimate of a bottleneck link rate capacity and an initial estimate of a minimum congestion level when an aggregate rate into the bottleneck link is below the bottleneck link rate capacity; wherein the UM-based communication session includes a first rate control parameter for adjusting an operating congestion level of the UM-based communications session; evaluating one or more congestion signals obtained from one or more sequential packets on an ongoing basis throughout the UM-based communication session to infer a current congestion level for those packets; evaluating one or more congestion signals obtained within sequential instances of a second sliding window throughout the UM-based communication session to infer a long-term value for the congestion level; for each inferred current congestion level, adapting the first rate control parameter based on the inferred long-term congestion level obtained using the second sliding window and a long-term average sending rate; and using each adaptation of the first rate control parameter to perform a corresponding adjustment to the current sending rate of the UM-based communication session. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer-readable storage media having computer executable instructions stored therein for adapting rate control parameters of a Utility Maximization (UM) based communications session, said instructions causing a computing device to execute a method comprising:
-
instantiating a communications session using a Utility Maximization (UM) framework; wherein the UM framework includes a first rate control parameter for adjusting an operating congestion level of the communications session; while the communication session is ongoing, repeatedly performing process actions for; based on a current sending rate of the communications session, inferring current congestion levels of the communications session from one or more congestion signals derived from any of a current packet'"'"'s congestion signals and a first sliding window of the congestion signals of the communications session, based on a current sending rate of the communications session, inferring longer-term congestion levels of the communications session from a second sliding window of the congestion signals of the communications session; dynamically adapting the first rate control parameter as a function of the inferred congestion levels, and a long-term average sending rate; and
,dynamically adjusting the current sending rate as a function of the dynamically adapted first rate control parameter and the inferred current congestion level. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification