SYSTEM FOR RATE-CONTROL OF AGGREGATE-RATE COMMUNICATION SERVICES

Abstract
A method of rate-control for a group of ports in a communication network. Ramping is performed for allowed-rate of each of the group of ports, if sum of the ingress-rates of the group of ports is less than a given rate threshold; and adjusting is performed for allowed-rate of each of the group of ports, if sum of the ingress-rates of the group of ports is greater than or equal to the given rate threshold, such that the sum of allowed-rates of the group of ports is equal to the given rate threshold.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:



FIG. 1 illustrates an aggregate-rate service model according to the present invention;



FIG. 2 illustrates the behavior of a rate-control algorithm according to the present invention;



FIG. 3 illustrates the operation of a rate-control algorithm according to the present invention;



FIG. 4 illustrates the bandwidth used in an “ideal” case where offered rates of ports change in an identical manner (in lock-step), and all communication latency is the same according to the present invention;



FIG. 5 illustrates the bandwidth used in real situations where offered rates of ports are asynchronous and all communication latency between two ports is independent of latency between other ports according to the present invention; and



FIG. 6 illustrates the capacities of a service provider providing capacity margins according to the present invention.


Claims
  • 1. A method of rate-control for a group of n ports in a communication network, comprising the steps of: ramping allowed-rate for each of the n ports, if sum of the ingress-rates of the n ports, s, is less than a given rate threshold, G; andadjusting allowed-rate for each of the n ports, if sum of the ingress-rates of the n ports, s, is greater than or equal to the given rate threshold, G, such that the sum of allowed-rates of the n ports is equal to the given rate threshold G.
  • 2. The method of rate-control in claim 1, further comprising obtaining ingress-rate information of each of the group of n ports.
  • 3. The method of rate-control in claim 1, further comprising each of the group of n ports distributing a communication message containing ingress-rate information of the distributing port.
  • 4. The method of rate-control in claim 1, wherein the group of n ports forms an aggregation-group, and the given rate threshold is a guaranteed-rate shared by the group of n ports.
  • 5. The method of rate-control in claim 4, wherein the n ports in the aggregation-group share the guarantee-rate fairly.
  • 6. The method of rate-control in claim 4, wherein the communication network has an arbitrary topology.
  • 7. The method of rate-control in claim 4, further comprising each port in the aggregation-group distributing a rate-message to other ports of the aggregation-group containing ingress-rate information of the distributing port.
  • 8. The method of rate-control in claim 7, wherein the rate-message comprises an ingress-rate value and identity of the distributing port.
  • 9. The method of rate-control in claim 7, wherein the rate-message is distributed by broadcasting.
  • 10. The method of rate-control in claim 7, wherein the rate-message is distributed by multicasting.
  • 11. The method of rate-control in claim 7, wherein the rate-message is distributed by unicasting.
  • 12. The method of rate-control in claim 7, wherein the rate-message is distributed at a given time interval.
  • 13. The method of rate-control in claim 4, wherein the step of ramping or adjusting is performed by each port of the aggregation-group.
  • 14. The method of rate-control in claim 4, wherein the step of ramping or adjusting is performed at a given time interval.
  • 15. The method of rate-control in claim 4, wherein the step of ramping comprises, for a local port in the aggregation-group, setting the allowed-rate of the local port for the next time interval to equal to the sum of the ingress-rate of the local port measured during the current time interval, and an amount, B, wherein B is an amount of rate increase per time interval t of duration T.
  • 16. The method of rate-control in claim 15, wherein B is defined in a Service Level Agreement (SLA).
  • 17. The method of rate-control in claim 15, further comprising a step of increasing the allowed-rate of the local port by an amount of (G−(S+nB)/nD) if (s+nB<G), wherein D is the maximum value of delays between any two ports of the aggregation-group.
  • 18. The method of rate-control in claim 17, wherein the delay between any two ports of the aggregation-group is computed as half the round-trip delay between the two ports.
  • 19. The method of rate-control in claim 4, wherein the step of adjusting further comprising the steps of, for a local port in the aggregation-group: determining a maximum allowed-rate X, such that X satisfies G=ΣRi (for Ri<X)+ΣX (for Ri≧X), or G≈ΣRi (for Ri<X)+ΣX (for Ri≧X), wherein Ri is the ingress-rate of port i (i=1, . . . n) in the aggregation-group, obtained in a rate-message distributed by port i; andassigning the allowed-rate of the local port a value of (MIN(Ilocal, X)+B), wherein B is an amount of rate increase per time interval t of duration T, and Ilocal is the ingress-rate of the local port for the current time interval.
  • 20. The method of rate-control in claim 19, wherein B is defined in a Service Level Agreement.
  • 21. The method of rate-control in claim 19, wherein the step of determining X further comprises: determining greedy ports; andcomputing X such that X is the allowed-rate assigned to each greedy port, allowed-rates of non-greedy ports are unchanged, and the sum of allowed-rates of all ports in the aggregation-group is equal to G.
  • 22. The method of rate-control in claim 21, wherein the greedy ports are determined by an algorithm comprising the steps of: forming an array R using distributed ingress-rates Ri (i=1, . . . n) of port i in the aggregation-group;sorting array R in a descending order;stepping through array R from the largest element to the smallest element;replacing all elements having ingress-rate values larger than the current element with the ingress-rate value of the current element;repeating the previous two steps until sum of all elements in array R is less than or equal to the guaranteed-rate G; anddetermining that the greedy ports are those having an index less than the index of the current element in array R.
  • 23. The method of rate-control in claim 22, wherein the algorithm is implemented by a pseudo code with following forms: 1) sort R1 through Rn of array R in a descending order;2) i=1;3) while (i*Ri+ΣRj (for j=(i+1) to n)>G) {i++;}
  • 24. The method of rate-control in claim 23, wherein X is computed as (G−ΣRj (for j=i to n))/(i−1).
  • 25. The method of rate-control in claim 21, wherein the greedy ports are determined by an algorithm comprising the steps of: forming an array R using distributed ingress-rates Ri (i=1, . . . n) of port i in the aggregation-group;sorting array R in a descending order;stepping through array R from the largest element to the smallest element;summing up all elements in array R that has an index larger than the index of the current element, resulting in sumAtOrAboveI;repeating the previous two steps until (sumAtOrAboveI+k*current element) is less than or equal to the guaranteed-rate G, wherein k is the number of elements that has an index less than or equal to the index of the current element; anddetermining that the greedy ports are those ports having an index less than or equal to the index of the current element.
  • 26. The method of rate-control in claim 25, wherein the algorithm is implemented by a pseudo code with following forms:
  • 27. The method of rate-control in claim 26, wherein X is computed as (G−sumAtorAboveI)/(i−1).
  • 28. The method of rate-control in claim 21, wherein the greedy ports are determined by an algorithm comprising the steps of: dividing space of possible values of X into two equal partitions;determining which partition a desired value for X lies in;repeating the previous two steps until ΣRi (for Ri<X)+ΣX (for Ri≧X) is approximately equal to the guaranteed-rate G; anddetermining that the greedy ports are those that having an ingress-rate larger than or equal to X.
  • 29. The method of rate-control in claim 28, wherein the algorithm is implemented by a pseudo code with following forms:
  • 30. The method of rate-control in claim 29, wherein X is computed as X=(G−ΣRi (for Ri<X))/Q, and Q is the number of greedy ports.
  • 31. The method of rate-control in claim 21, wherein the greedy ports are determined by an algorithm comprising the steps of: determining the maximum value of the ingress-rates for ports in the aggregation-group;assigning the maximum value to X;replacing the ingress-rate of the port that has maximum value with 0;storing the number of the ports that has an ingress-rate equal to 0, represented by Q;repeating the previous three steps until ((G−sum of all ingress-rates)/Q) is less than or equal to X; anddetermining that the greedy ports are those having ingress-rates equal to 0.
  • 32. The method of rate-control in claim 31, wherein the algorithm is implemented by a pseudo code with following forms:
  • 33. The method of rate-control in claim 31, wherein the X is computed as (G−sum of all non-greedy ingress-rates)/Q.
  • 34. The method of rate-control in claim 4, wherein the worst-case capacity required to support communications among ports of the aggregation-group is (G+nB), in the absence of delay, wherein B is an amount of rate increase per time interval t of duration T.
  • 35. The method of rate-control in claim 4, wherein the worst-case capacity required to support communications among ports of the aggregation-group is ((G+nB)+(n−1)BD/T) in the presence of delay D, wherein B is an amount of rate increase per time interval t of duration T.
  • 36. The method of rate-control in claim 4, wherein an additional capacity Mlow or Mhigh is provided.
  • 37. The method of rate-control in claim 36, wherein the guaranteed-rate G is changed to (G+Mlow).
  • 38. The method of rate-control in claim 36, wherein the worst-case capacity required to support communications among ports of the aggregation-group is (G+Mlow+nB+(n−1)BD/T+Mhigh), in the presence of delay D, wherein B is an amount of rate increase per time interval t of duration T.
  • 39. A system for rate-control of aggregate-rate communication services, comprising: at least one aggregation-group, comprising n ports sharing a guaranteed-rate G;wherein each port in the aggregation-group obtains ingress-rate information of all other ports in the aggregation-group; ramps allowed-rate if sum of the ingress-rate of all ports in the aggregation-group, S, is less than the guaranteed-rate G; and adjusts allowed-rate so that the sum of allowed-rates of all ports in the aggregation-group for the next time interval is equal to G, if sum of the ingress-rate of all ports in the aggregation-group, S, is greater than or equal to the guaranteed-rate G.
  • 40. The system in claim 39, wherein ports of the aggregation-group share the guaranteed-rate of the aggregation-group fairly.
  • 41. The system in claim 39, further comprising a provider network having an arbitrary topology.
  • 42. The system in claim 39, wherein each port in the aggregation-group further distributes a rate-message containing ingress-rate information of the distributing port.
  • 43. The system in claim 42, wherein each port in the aggregation-group distributes the rate-message by broadcasting.
  • 44. The system in claim 42, wherein each port in the aggregation-group distributes the rate-message by multicasting.
  • 45. The system in claim 42, wherein each port in the aggregation-group distributes the rate-message by unicasting.
  • 46. The system in claim 42, wherein the rate-message comprises an ingress-rate value and identity of the distributing port.
  • 47. The system in claim 42, wherein the rate-message is distributed at a given time interval.
  • 48. The system in claim 39, wherein each port in the aggregation-group ramps allowed-rate by adding an amount B to its current ingress-rate, so that the sum of allowed-rates of all ports in the aggregation-group is equal to the guaranteed-rate G, wherein B is an amount of rate increase per time interval t of duration T.
  • 49. The system of claim 48, wherein B is defined in a Service Level Agreement.
  • 50. The system in claim 48, wherein each port in the aggregation-group further increases the allowed-rate by an amount of (G−(S+nB)/nD) if (s+nB<G), wherein D is the maximum value of delays between any two ports of the aggregation-group.
  • 51. The system in claim 50, wherein the delay between any two ports of the aggregation-group is computed as half the round-trip delay between the two ports.
  • 52. The system in claim 39, wherein each port in the aggregation-group ramps or adjusts allowed-rate at a given time interval.
  • 53. The system in claim 39, wherein each port in the aggregation-group adjusts allowed-rate using a method comprising the steps of, for a local port in the aggregation-group: determining a maximum allowed-rate X, such that X satisfies G=ΣRi (for Ri<X)+ΣX (for Ri≧X), or G≈ΣRi (for Ri<X)+ΣX (for Ri≧X), where Ri is the ingress-rate of port i (i=1, . . . n) in the aggregation-group, obtained in a rate-message distributed by port i; andassigning the allowed-rate of the local port a value of MIN(Ilocal, X)+B, wherein B is an amount of rate increase per time interval t of duration T, and Ilocal is the ingress-rate of the local port for the current time interval.
  • 54. The system of claim 53, wherein B is defined in a Service Level Agreement.
  • 55. The system in claim 53, wherein the step of determining X further comprises: determining greedy ports; andcomputing X such that X is the allowed-rate assigned to each greedy port, allowed-rates of non-greedy ports are unchanged, and the sum of allowed-rates of all ports in the aggregation-group is equal to G.
  • 56. The method of rate control in claim 55, wherein the greedy ports are determined by an algorithm comprising the steps of: forming an array R using distributed ingress-rates Ri (i=1, . . . n) of port i in the aggregation-group;sorting array R in a descending order;stepping through array R from the largest element to the smallest element;replacing all elements having ingress-rate values larger than the current element with the ingress-rate value of the current element;repeating the previous two steps until sum of all elements in array R is less than or equal to the guaranteed-rate G; anddetermining that the greedy ports are those having an index less than the index of the current element in array R.
  • 57. The system in claim 55, wherein the greedy ports are determined by an algorithm comprising the steps of: forming an array R using distributed ingress-rates Ri (i=1, . . . n) of port i in the aggregation-group;sorting array R in a descending order;stepping through array R from the largest element to the smallest element;summing up all elements in array R that has an index larger than the index of the current element, resulting in sumAtOrAboveI;repeating the previous two steps until (sumAtOrAboveI+k*current element) is less than or equal to the guaranteed-rate G, wherein k is the number of elements that has an index less than or equal to the index of the current element; anddetermining that the greedy ports are those ports having an index less than or equal to the index of the current element.
  • 58. The system in claim 55, wherein the greedy ports are determined by an algorithm comprising the steps of: dividing space of possible values of X into two equal partitions;determining which partition a desired value for X lies in;repeating the previous two steps until ΣRi (for Ri<X)+ΣX (for Ri≧X) is approximately equal to the guaranteed-rate G; anddetermining that the greedy ports are those that having an ingress-rate larger than or equal to X.
  • 59. The system in claim 55, wherein the greedy ports are determined by an algorithm comprising the steps of: determining the maximum value of the ingress-rates for ports in the aggregation-group;assigning the maximum value to X;replacing the ingress-rate of the port that has maximum value with 0;storing the number of the ports that has an ingress-rate equal to 0, represented by Q;repeating the previous three steps until ((G−sum of all ingress-rates)/Q) is less than or equal to X; anddetermining that the greedy ports are those having ingress-rates equal to 0.
  • 60. The system in claim 39, wherein the worst-case capacity required to support communications among ports of the aggregation-group is (G+nB) in the absence of delay, wherein B is an amount of rate increase per time interval t of duration T.
  • 61. The system in claim 39, wherein the worst-case capacity required to support communications among ports of the aggregation-group is (G+nB+(n−1)BD/T) in the presence of delay D, wherein B is an amount of rate increase per time interval t of duration T.
  • 62. The system in claim 39, wherein an additional capacity Mlow or Mhigh is provided.
  • 63. The system in claim 62, wherein the guaranteed-rate G is changed to (G+Mlow).
  • 64. The system in claim 62, wherein the worst-case capacity required to support communications among ports of the aggregation-group is (G+Mlow+nB+(n−1)BD/T+Mhigh) in the presence of delay D, wherein B is an amount of rate increase per time interval t of duration T.
  • 65. A method of rate-control for an aggregation-group in a communication network, wherein the aggregation-group comprises n ports sharing a guaranteed-rate G fairly, comprising the steps of, for each local port: obtaining ingress-rate information of all other ports in the aggregation-group;allowing controlled growth of allowed-rate of the local port by setting the allowed-rate for the next time interval to (Ilocal+B), if sum of the ingress-rate of all ports in the aggregation-group, S, is less than the guaranteed-rate G; andadjusting allowed-rate of the local port such that the allowed-rate is equal to (MIN(Ilocal, X)+B), if sum of the ingress-rate of the aggregation-group, S, is greater than or equal to the guaranteed-rate G, wherein X satisfies G=ΣRi (for Ri<X)+ΣX (for Ri≧X), or G≈ΣRi (for Ri<X)+ΣX (for Ri≧X)wherein B is an amount of rate increase per time interval of duration T; Ri is the ingress-rate of port i (i=1, . . . n) in the aggregation-group, obtained in a rate-message distributed by port i; and Ilocal is the ingress-rate of the local port for the current time interval;wherein the communication network has an arbitrary topology.
Provisional Applications (2)
Number Date Country
60758870 Jan 2006 US
60820202 Jul 2006 US