Claims
- 1. A method of performing multi-constraint routing comprising:
determining a composite cost:
composite cost(link)=f(metric1, . . . ,metricN); for each of a plurality of links under consideration in a network topology, the composite cost being a function f of a plurality of metrics metric1, . . . metricN for each link, where N>=2; and performing routing through the network topology from a source to a destination based on the composite costs.
- 2. A method according to claim 1, wherein the composite cost is determined according to:
- 3. A method according to claim 2, wherein the composite cost is determined according to:
- 4. A method according to claim 1, further comprising, for each link, at least one network node advertising the link's metrics across the network such that any node in the network may implement the multi-constraint routing.
- 5. A method according to claim 3, wherein the composite cost increases with decreasing available bandwidth and routing is performed in a manner which promotes load balancing.
- 6. A method according to claim 5, further comprising performing the routing in a manner which promotes load balancing with demand reservation on at least one link.
- 7. A method according to claim 6, further comprising defining a respective demand threshold for at least one link representing demand reservation for the at least one link.
- 8. A method according to claim 7, further comprising:
computing a cost for each said at least one link as follows: if (available bandwidth<demand_threshold) cost(link)=composite cost(link)+MAX COST else cost(link)=composite cost(link) where demand_threshold is a respective demand reservation for the link and MAX COST is a very large value.
- 9. A method according to claim 8, wherein the demand_threshold is set to a first value for at least one of the links, and is set to a second larger value for at least one of the links whereby bandwidth on the at least one of the links having the first value is reserved for larger bandwidth requests.
- 10. A method according to claim 2, comprising computation of a link cost based on the composite cost for switching between a load balancing mode and a bin-packing mode based on available bandwidth of each of a plurality of links under consideration in the network topology.
- 11. A method according to claim 10, wherein the switching between the load balancing and the bin-packing modes is performed based on a predetermined demand_threshold value.
- 12. A method according to claim 10, further comprising:
determining the cost for each said at least one link as follows: If (abw<=demand_threshold) cost(link)=a*Admin cost+b*(abwK/PIR)+c*Delay+MAX COST else cost(link)=a*Admin cost+b*(PIR/abwK)+c*Delay; wherein PIR=Peak Information Rate, MAX COST is a large number, abw is the available bandwidth and K is a constant.
- 13. A method according to claim 12, wherein the constant K can be used to control a rate at which the cost changes with a variation in the available bandwidth.
- 14. A method according to claim 12, wherein a different demand_threshold value is used for at least one link for achieving a different switch over point between load balancing and bin-packing.
- 15. A method according to claim 12, comprising, performing the load balancing, when the available bandwidth is higher than the demand_threshold.
- 16. A method according to claim 12, comprising performing the bin-packing, when the available bandwidth is less than or equal to the demand_threshold.
- 17. A method according to claim 12, comprising selection of a higher available bandwidth (less congested link) over a link with a lesser available bandwidth; wherein the cost(link) increases with decrease in the available bandwidth.
- 18. A method according to claim 17, comprising selection of a link with a lower available bandwidth over a less congested link, wherein the cost(link) increases with an increase in available bandwidth.
- 19. A method according to claim 12, comprising adding a large number (MAX COST) to the cost (link) for preventing the link from being selected, when there is at least one link with available bandwidth higher than the demand_threshold.
- 20. A method according to claim 12, comprising setting the demand_threshold to zero, for always operating in the load balancing mode.
- 21. A method according to claim 12, comprising setting the demand_threshold to any value higher than PIR, for always operating in the bin-packing mode.
- 22. A method according to claim 10, comprising:
determining the cost for each said at least one link as follows: If (abw<=demand_threshold) cost(link)=a*Admin cost+b*(PIR/abwK)+c*Delay+MAX COST else cost(link)=a*Admin cost+b*(abwK/PIR)+c*Delay; wherein PIR=Peak Information Rate, MAX COST is a large number, abw is the available bandwidth and K is a constant.
- 23. A method according to claim 22, wherein the constant K can be used to control a rate at which the cost changes with a variation of the available bandwidth.
- 24. A method according to claim 22, wherein a different demand_threshold value is used for at least one link for achieving a different switch over point between load balancing and bin-packing.
- 25. A method according to claim 22, comprising performing the bin-packing, wherein the available bandwidth is higher than the demand_threshold.
- 26. A method according to claim 22, comprising performing the load balancing, wherein the available bandwidth is less than or equal to the demand_threshold.
- 27. A method according to claim 22, comprising selection of a higher available bandwidth (less congested link) over a link with a lesser available bandwidth, wherein the cost(link) increases with a decrease in the available bandwidth.
- 28. A method according to claim 27, comprising selection of a link with a lower available bandwidth over a less congested link, wherein the cost(link) increases with an increase in available bandwidth.
- 29. A method according to claim 22, comprising adding a large number (MAX COST) to the composite cost (link) for preventing the link from being selected, when there is at least one link with available bandwidth higher than the demand_threshold.
- 30. A method according to claim 22, comprising setting the demand_threshold to zero, for always operating in the bin-packing mode.
- 31. A method according to claim 22, comprising setting the demand_threshold to any value higher than PIR, for operating always in the load balancing mode.
- 32. A method according to claim 1, comprising for each of a plurality of different traffic types, using a respective different composite cost equation for calculating the composite costs.
- 33. A method according to claim 32, wherein the different traffic types include video, voice and data.
- 34. A method according to claim 32, wherein the different traffic types include different classes of service/qualities of service.
- 35. A method according to claim 1 further comprising:
providing at least one pruning constraint for each link; and pruning the network topology on the basis of the at least one pruning constraints to remove at least one link from the network topology; wherein performing routing through the network from a source to a destination based on the composite costs is conducted using only the links not pruned from the network topology.
- 36. A method according to claim 35, wherein pruning the network topology on the basis of the at least one pruning constraints to remove at least one link from the network topology is performed on an as-needed basis to remove one or more links from a set of candidate links.
- 37. A method according to claim 36, wherein pruning the network topology on the basis of the at least one pruning constraints to remove at least one link from the network topology is performed on the entire network topology prior to performing the routing.
- 38. A method according to claim 37, wherein at least one constraint is used both as a pruning constraint and as a constraint used in the composite costs.
- 39. A routing system adapted to perform multi-constraint routing, the system comprising:
a topology repository adapted to store information identifying links, nodes and connections of a network; and a multi-constraint router adapted to determine a composite cost: composite cost(link)=f(metric1, . . . ,metricN); for each of a plurality of the links in a network topology, the composite cost being a function f of a plurality of metrics metric1, . . . metricN for each link, where N>=2, and to perform routing through the network topology from a source to a destination based on the composite costs.
- 40. A routing system according to claim 39, wherein the multi-constraint router is adapted to determine the composite cost is determined according to:
- 41. A routing system according to claim 40 wherein the multi-constraint router is adapted to determine the composite cost according to:
- 42. A routing system according to claim 39, further comprising an input for receiving on an ongoing basis for each link, updated values for the metrics for the link.
- 43. A routing system according to claim 39, wherein the multi-constraint router is adapted to perform the routing in a manner which promotes load balancing.
- 44. A routing system according to claim 43, wherein the multi-constraint router is adapted to perform the routing in a manner which promotes load balancing with demand reservation for at least one link.
- 45. A routing system according to claim 44, wherein the multi-constraint router is adapted to allocate at least one link to contain bandwidth reserved for higher bandwidth requests.
- 46. A routing system according to claim 41, wherein the multi-constraint router is adapted to compute the cost for each said at least one link as follows:
- 47. A routing system according to claim 39, adapted to compute the cost for each said at least one link based on the composite cost, comprising a switching means, for switching between a load balancing mode and a bin-packing mode based on available bandwidth of each of a plurality of links under consideration in the network topology.
- 48. A routing system according to claim 47, wherein the switching between the load balancing and the bin-packing modes is performed based on a predetermined demand_threshold value.
- 49. A routing system according to claim 47, wherein the multi-constraint router is adapted to compute the cost for each link as follows:
- 50. A routing system according to claim 49, wherein the constant K is used to control a rate at which the cost changes with a variation in the available bandwidth.
- 51. A routing system according to claim 49, wherein a different demand_threshold value is used for at least one link for achieving a different switch over point between load balancing and bin-packing.
- 52. A routing system according to claim 47, wherein the multi-constraint router is adapted to compute the cost for each link as follows:
- 53. A routing system according to claim 51, wherein the constant K can be used to control a rate at which the cost changes with a variation in the available bandwidth.
- 54. A routing system according to claim 52, wherein a different demand_threshold value is used for at least one link or achieving a different switch over point between load balancing and bin-packing.
- 55. A routing system according to claim 39, wherein the multi-constraint router is adapted to, for each of a plurality of different traffic types, use a respective different composite cost equation for calculating the composite costs.
- 56. A routing system according to claim 39, further comprising:
a pruning filter adapted to implement at least one pruning constraint by pruning the network topology on the basis of the at least one pruning constraint to remove at least one link from the network topology; wherein the multi-constraint router performs routing through the network from a source to a destination based on the composite costs is conducted using only the links not pruned from the network topology.
- 57. A routing system according to claim 55, adapted to prune and compute costs only for links belonging to routes in a candidate list.
RELATED APPLICATIONS
[0001] This application is a Continuation-in-part of the U.S. patent application to Lee et al. entitled “Multi- Constraint Routing System and Method”, Ser. No. 10/025,869 filed on Dec. 26, 2001, and claims priority of U.S. provisional application to Lee et al of the same title, Serial No. 60/362,926 filed on Mar. 11, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60362926 |
Mar 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10025869 |
Dec 2001 |
US |
Child |
10152832 |
May 2002 |
US |