Nova Patents
CA2474501C

Load optimization

Abstract

Methods, computer code, and means are described that can control load in a network. In some applications, the monetary cost of operating the network can be reduced. Utilization of links in the network can be monitored. A degree of suboptimality with respect to some criteria can be assessed. In some instances, the criteria could be based at least partly one or more monetary billing structures of some subset of two or more links [Figure 8]. A subset of the forwarding decisions of one or more forwarding nodes in the network can be adjusted automatically, based at least partly on the assessing. The adjustment can attempt to reduce the degree of suboptimality.

CA2474501C, drawing sheet 1
Sheet 1 of 9

Term

Term ended

Expired 4 February 2023, 3.6 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

3 claims: 3 independent, 0 dependent

  1. 1
    CA 02474501 2009-10-27 THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:1. A computer-readable medium having computer-readable instructions stored thereon for execution by a processor to perform a method of facilitating a desired load distribution in a network, the method comprising: monitoring of at least a first utilization of a first subset of two or more links in the network;assessing, based at least partly on the monitoring, of a degree of suboptimality with respect to the desired load distribution, wherein the degree of suboptimality corresponds to a measurable difference between a performance of determined load distribution and a performance of the desired load distribution, the assessing including: generating at least two sets of functions;and selecting a first set of functions from the at least two sets of functions;wherein at least one function from the first set of functions gives a first degree of unacceptability of at least one link from the first subset of two or more links, wherein the first degree of unacceptability is based at least partly on a second utilization of the at least one link from the first subset of two or more links, wherein the first degree of unacceptability corresponds to a probability that adjusting a subset of forwarding decisions of one or more forwarding nodes in the network will decrease the measurable difference;and the at least one function in the first set of functions outputs at least a varying value;and selecting of a second set of functions from the at least two sets of functions if, for each function in the first set of functions that gives the first degree of unacceptability, the first degree of unacceptability fails a first threshold test;and adjusting, automatically, of a subset of forwarding decisions of one or more forwarding nodes in the network based at least partly on the assessing;wherein at least one forwarding decision from the subset of the forwarding decisions points to at least one link from a second subset of two or more links in the network;and the adjusting attempts to reduce the degree of suboptimality. CA 02474501 2009-10-27 2. The computer-readable medium of claim 1, wherein the first utilization and the second utilization are equal. 3. The computer-readable medium of claim 1, wherein the first utilization and the second utilization are unequal. 4. The computer-readable medium of claim 1, wherein at least one link from the first subset of two or more links is included in the second subset of two or more links. 5. The computer-readable medium of claim 1, wherein at least one link from the first subset of two or more links is not included in the second subset of two or more links. 6. The computer-readable medium of claim 1, wherein at least one of the monitoring, the assessing, and the adjusting repeats. 7. The computer-readable medium of claim 1, wherein at least one of the forwarding decisions of the one or more forwarding nodes are described at least partly by at least one Layer 3 Protocol. 8. The computer-readable medium of claim 7, wherein at least one of the forwarding decisions of the one or more forwarding nodes are described at least partly by at least one Internet Protocol (IP). 9. The computer-readable medium of claim 1, wherein at least one of the forwarding decisions of the one or more forwarding nodes are described at least partly by at least one Layer 2 Protocol. 10. The computer-readable medium of claim 1, wherein the adjusting is described at least partly by at least one Border Gateway Protocol (BGP). CA 02474501 2009-10-27 11. The computer-readable medium of claim 1, wherein the at least two sets of functions are generated from one or more monetary billing structures of a third subset of two of more links in the network. 12. The computer-readable medium of claim 11, wherein at least one link from the third subset of two or more links is included in at least one of: 1) the first subset of two or more links and 2) the second subset of two or more links. 13. The computer-readable medium of claim 11, wherein at least one link from the third subset of two or more links is not included in at least one of: 1) the first subset of two or more links and 2) the second subset of two or more links. 14. The computer-readable medium of claim 11, wherein at least one of the one or more monetary billing structures is for at least one Internet Service Provider (ISP). 15. The computer-readable medium of claim 11, wherein each link of at least one link from the third subset of two or more links has a third utilization, and at least one of the one or more monetary billing structures receives as input at least the third utilization. 16. The computer-readable medium of claim 15, wherein the first utilization of the first subset of two or more links is at least partly indicative of the third utilization of the third subset of two or more links. 17. The computer-readable medium of claim 15, wherein the third utilization is being determined over time. 18. The computer-readable medium of claim 17, wherein the third utilization is computed at least partly from: at least one of: la) a maximum and lb) an average;of at least one of: 2a) one or more percentiles and 2b) one or more averages;and of one or more sets of utilization samples of the at least one link from the third subset of two or more links. CA 02474501 2009-10-27 19. The computer-readable medium of claim 17, wherein the at least one of the one or more monetary billing structures is continuous or piecewise continuous with respect to the third utilization 20. The computer-readable medium of claim 1, wherein the monitoring uses one or more of Simple Network Monitoring Protocol (SNMP), flow information export, NetFlow, span port, and a source external to the first subset of two or more links. 21. The computer-readable medium of claim 15, wherein the generating includes: compiling a list of at least two sums, wherein at least one sum of the list adds at least two of the third utilizations;determining, for a subset of the list, a utilization distribution based at least partly on the at least one of the one or more monetary billing structures;and constructing the at least two set of functions based at least partly on the utilization distribution. 22. The computer-readable medium of claim 21, wherein the utilization distribution minimizes a monetary cost of operating the network, with respect to the at least one of the one or more monetary billing structures. 23. The computer-readable medium of claim 21, wherein the utilization distribution uses at least a steepest descent strategy with respect to the at least one of the one or more monetary billing structures. 24. The computer-readable medium of claim 1, wherein at least one function in the at least two sets of functions is continuous or piecewise continuous with respect to the second utilization. 25. The computer-readable medium of claim 1, wherein at least one function in the at least two sets of functions is non-decreasing with respect to the second utilization. 26. The computer-readable medium of claim 1, wherein at least one function in the at least two sets of functions receives at least one input, the at least one input at CA 02474501 2009-10-27 least partly depending on the second utilization, wherein the at least one function outputs at least: 1) a first constant value for values of the at least one input up to a threshold value;and
  2. 2
    2) a second constant value for values of the at least one input above the threshold value. 27. The computer-readable medium of claim 1, wherein at least one function in the at least two set of functions receives at least one input, the at least one input at least partly depending on the second utilization, wherein the at least one function outputs at least:1) a first constant value for values of the at least one input ranging from a second constant value to a third constant value, 2) a linear function of at least one input for values of the at least one input ranging from the third constant value to a fourth constant value, and
  3. 3
    3) a fifth constant value for values of the at least one input exceeding the fourth constant value. 28. The computer-readable medium of claim 1, wherein the adjusting includes attempting to reduce the degree of suboptimality based at least partly on the first degree of unacceptability. 29. The computer-readable medium of claim 1, wherein the assessing includes determining a second degree of unacceptability based at least partly on the first degree of unacceptability. 30. The computer-readable medium of claim 29, wherein the determining of the second degree of unacceptability includes treating the first degree of unacceptability as a probability value, and assigning, using the probability value, one of a plurality of states to the second degree of unacceptability. 31. The computer-readable medium of claim 1, further comprising:ordering the one or more sets of functions into an ordered list of the one or more sets of functions;and CA 02474501 2009-10-27 wherein the first set of functions and the second set of functions are adjacent in the ordered list of the one or more sets of functions. 32. The computer-readable medium of claim 31, wherein: at least one function in the one or more sets of functions receives at least one input, the at least one input at least partly depending on the second utilization, wherein the at least one function outputs at least: 1) a first constant value for values of the at least one input ranging from a second constant value to a third constant value;2) a linear function of at least one input for values of the at least one input ranging from the third constant value to a fourth constant value;and 3) a fifth constant value for values of the at least one input exceeding the fourth constant value, and wherein the method further comprises: computing, for each set of functions in the one or more sets of functions, a level, wherein the level is based at least partly on a sum of at least the fourth constant values across the one or more functions in each set of functions;and performing the ordering based at least partly on the level computed for each set of functions. 33. The computer-readable medium of claim 31, wherein the sum of at least the fourth constant values across the one or more functions in each set of functions, sums at least one function of the one or more functions in each set of functions. 34. The computer-readable medium of claim 31, wherein the sum of the fourth constant values across the one or more functions in each set of functions, sums all functions of the one or more functions in each set of functions. 35. The computer-readable medium of claim 28, wherein the adjusting further includes attempting to reduce the degree of suboptimality by changing at least one forwarding decision from the subset of the forwarding decisions, wherein: prior to the changing, the at least one forwarding decision from the subset of the forwarding decisions points to at least a first link from the second subset of two or more links in the network;CA 02474501 2009-10-27 after the changing, the at least one forwarding decision from the subset of the forwarding decisions points to at least a second link from the second subset of two or more links in the network;and wherein the first degree of rmacceptability of the at least the first link from the second subset is more unacceptable than the first degree of unacceptability of the at least the second link from the second subset. 36. The computer-readable medium of claim 1, wherein at least one forwarding decision from the subset of the forwarding decisions at least partly influences one or more objects, wherein the one or more objects includes at least one of a prefix, a flow, and a network application. 37. The computer-readable medium of claim 36, wherein the assessing is further based at least partly on quality characterizations of the one or more objects, wherein the quality characterizations are with respect to at least one link from the second subset of two or more links. 38. The computer-readable medium of claim 36, wherein the assessing further includes: selecting at least one object from the one or more objects;selecting at least one set of functions from the one or more sets of functions;and constructing one or more winner sets for the at least one object and the least one set of functions, wherein each winner set from the one or more winner sets includes a corresponding quality characterization threshold, wherein the constructing includes: 1) including in at least one of the one or more winner sets one or more links from the second subset of two or more links;2) excluding, from the at least one or more winner sets, links for which the quality characterizations of the at least one object fails the corresponding quality characterization threshold included by each winner set from the one or more winner sets;and 3) excluding, from the at least one or more winner sets, unwanted links, wherein the unwanted links have a third degree of unacceptability failing a second threshold test, wherein the third degree of unacceptability is based at least CA 02474501 2009-10-27 partly on the first degree of unacceptability given by the at least one set of functions;and selecting one or more links from a non-empty winner set from the one or more winner sets, wherein the non-empty winner set has a low corresponding quality characterization threshold from all corresponding quality characterization thresholds included by all winner sets from the one or more winner sets. 39. The computer-readable medium of claim 38, wherein the first threshold test and the second threshold test are equal. 40. The computer-readable medium of claim 38, wherein the first threshold test and the second threshold test are unequal. 41. The computer-readable medium of claim 38, wherein the low corresponding quality characterization threshold is the lowest corresponding quality characterization threshold from all corresponding quality characterization thresholds included by all winner sets from the one or more winner sets. 42. The computer-readable medium of claim 38, wherein: the constructing of a first one or more winner sets is done for a third set of functions from the one or more sets of functions;and the constructing of a second one or more winner sets is done for a fourth set of functions from the one or more sets of functions if : 1) the one or more sets of functions includes at least two sets of functions;and 2) all of the first one or more winner sets are empty. 43. The computer-readable medium of claim 3 8 : wherein the constructing of a first one or more winner sets is done for a first object from the one or more objects;and the constructing of a second one or more winner sets is done for a second object from the one or more objects if: 1) the one or more objects includes at least two objects, and 2) all of the first one or more winner sets are empty. CA 02474501 2009-10-27 44. The computer-readable medium of claim 38, wherein the excluding, from the at least one or more winner sets, links for which the quality characterizations of the at least one object fails the corresponding quality characterization threshold included by each winner set from the one or more winner sets is further comprised of: identifying at least one best link from the one or more links from the second subset of two or more links, wherein the at least one best link has a high quality characterization from at least one of the one or more links from the second subset of two or more links, and determining the corresponding quality characterization threshold based at least partly on the high quality characterization. 45. The computer-readable medium of claim 44, wherein the high quality characterization is the highest quality characterization from the at least one of the one or more links from the second subset of two or more links. 46. The computer-readable medium of claim 1, further including selecting the subset of the forwarding decisions of one or more forwarding nodes automatically. 47. The computer-readable medium of claim 46, wherein the selecting of the subset of the forwarding decisions is at least partly random. 48. The computer-readable medium of claim 46, wherein the selecting of the subset of the forwarding decisions is independent from the assessing. 49. The computer-readable medium of claim 46, wherein the selecting of the subset of the forwarding decisions uses a flow monitoring device. 50. The computer-readable medium of claim 46: wherein at least one forwarding decision from the subset of the forwarding decisions at least partly influences one or more objects, wherein the one or more objects includes at least one of a prefix, a flow, and a network application;the assessing is further based at least partly on quality characterizations of the one or more objects, wherein the quality characterizations are with respect to at least one link from the second subset of two or more links;and CA 02474501 2009-10-27 the selecting of the subset of the forwarding decisions is based at least partly on a measuring of the quality characterizations of the one or more objects. 51. The computer-readable medium of claim 46, wherein the selecting of the subset of the forwarding decisions is based at least partly on a source external to the second subset of two or more links. 52. The computer-readable medium of claim 1, wherein at least one of monitoring, assessing, and adjusting is implemented at least partly by software. 53. The computer-readable medium of claim 1, wherein at least one of monitoring, assessing, and adjusting is implemented by hardware. 54. The computer-readable medium of claim 1, wherein monitoring, assessing, and adjusting are implemented at least partly by hardware. 55. The computer-readable medium of claim 1, wherein monitoring, assessing, and adjusting are all implemented by hardware. 56. A load optimization system configured to facilitate a desired load distribution in a network, the system comprising: means for monitoring at least a first utilization of a first subset of two or more links in the network;means for assessing, based at least partly on the means for monitoring, a degree of suboptimality with respect to the desired load distribution, wherein the degree of suboptimality corresponds to a measurable difference between a performance of determined load distribution and a performance of the desired load distribution, the means for assessing being configured to: generate a list of at least two sets of functions;select a first set of functions from the list of at least two sets of functions;wherein at least one function from the first set of functions gives a first degree of unacceptability of at least one link from the first subset of two or more links, wherein the first degree of unacceptability is based at least CA 02474501 2009-10-27 partly on a second utilization of the at least one link from the first subset of two or more links, wherein the first degree of unacceptability corresponds to a probability that adjusting a subset of forwarding decisions of one or more forwarding nodes in the network will decrease the measurable difference, and at least one function in the first set of functions outputs at least a varying value, and select a second set of functions from the at least two sets of functions if: 1) at least one function in the first set of functions gives the first degree of unacceptability;and 2) for each function in the first set of functions that gives the first degree of unacceptability, the first degree of unacceptability fails a first threshold test;and means for adjusting automatically a subset of the forwarding decisions of one or more forwarding nodes in the network based at least partly on the means for assessing;wherein at least one forwarding decision from the subset of the forwarding decisions points to at least one link from a second subset of two or more links in the network, and the means for adjusting attempts to reduce the degree of suboptimality. 57. A method of attempting to ensure a desired load distribution in a network, the method comprising: monitoring at least a first utilization of a first subset of two or more links in the network;assessing, based at least partly on the monitoring, a degree of suboptimality with respect to the desired load distribution, wherein the degree of suboptimality corresponds to a measurable difference between a performance of determined load distribution and a performance of the desired load distribution, the assessing including: generating at least two sets of functions;and selecting a first set of functions from the at least two sets of functions;wherein at least one function from the first set of functions gives a first degree of unacceptability of at least one link from the first subset of two or more links, wherein the first degree of unacceptability is based at least partly on a second utilization of the at least one link from the first subset of two or more links, wherein the first degree of unacceptability corresponds to a probability that adjusting CA 02474501 2009-10-27 a subset of forwarding decisions of one or more forwarding nodes in the network will decrease the measurable difference;and the at least one function in the first set of functions outputs at least a varying value;selecting a second set of functions from the at least two sets of 5 functions if, for each function in the first set of functions that gives the first degree of unacceptability, the first degree of unacceptability fails a first threshold test;and adjusting automatically a subset of forwarding decisions of one or more forwarding nodes in the network based at least partly on the assessing;wherein at least one forwarding decision from the subset of the 10 forwarding decisions points to at least one link from a second subset of two or more links in the network;and the adjusting includes attempting to reduce the degree of suboptimality.