Patent ID: 8711696

Claim:
A method of allocating bandwidth of a communications system among multiple applications using the communications system to transfer data, comprising: receiving a value for an aggregate bandwidth B A available to a plurality of applications; determining, by the communications system, a first bandwidth B 1 for each of the plurality of applications, wherein the first bandwidth B 1 for an application corresponds to a minimum guaranteed bandwidth for the application and determining the first bandwidth B 1 for each of the plurality of applications is based at least in part on a first condition that the sum of the first bandwidth B 1 for each of the plurality of applications does not exceed the aggregate bandwidth B A ; receiving a relative priority level for each of the plurality of applications, wherein the relative priority level has a value P i selected from a plurality of priority levels, P <i represents the priority levels less than P i , and P <i represents the priority levels greater than P i ; determining, by the communications system, a second bandwidth B 2 for each application, wherein the second bandwidth B 2 corresponds to an expected bandwidth that is not less than the first bandwidth B 1 and determining the second bandwidth B 2 for each application is based at least in part on a second condition that, for each relative priority value P i of the plurality of priority levels, the sum of the second bandwidth B 2 for each application at the relative priority level P i added to the sum of the first bandwidth B 1 for each application at one or more of the relative priority levels P <i does not exceed the aggregate bandwidth B A ; and allocating bandwidth to each of the plurality of applications in accordance with the determined first bandwidth B 1 and the determined second bandwidth B 2 for the application, the allocated bandwidth for the application being a function of at least the determined second bandwidth B 2 and having a value different from the determined second bandwidth B 2 .