CA2474501A1 - Load optimization - Google Patents

Load optimization Download PDF

Info

Publication number
CA2474501A1
CA2474501A1 CA002474501A CA2474501A CA2474501A1 CA 2474501 A1 CA2474501 A1 CA 2474501A1 CA 002474501 A CA002474501 A CA 002474501A CA 2474501 A CA2474501 A CA 2474501A CA 2474501 A1 CA2474501 A1 CA 2474501A1
Authority
CA
Canada
Prior art keywords
subset
computer code
functions
links
sets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002474501A
Other languages
French (fr)
Other versions
CA2474501C (en
Inventor
Michael A. Lloyd
Mansour J. Karam
Jose-Miguel Pulido Villaverde
Sean P. Finn
Omar C. Baldonado
James G. Mcguire
Herbert S. Madan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avaya Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CA2704318A priority Critical patent/CA2704318C/en
Publication of CA2474501A1 publication Critical patent/CA2474501A1/en
Application granted granted Critical
Publication of CA2474501C publication Critical patent/CA2474501C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/0826Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5029Service quality level-based billing, e.g. dependent on measured service level customer is charged more or less
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

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 ca n be reduced. Utilization of links in the network can be monitored. A degree o f 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 adjustme nt can attempt to reduce the degree of suboptimality.

Claims (118)

1. Computer code reducing the monetary cost of operating a network, comprising:
code that performs monitoring of at least a first utilization of a first subset of two or more links in the network;
code that performs assessing, based at least partly on the monitoring, of a degree of suboptimality with respect to one or more monetary billing structures of a second subset of two or more links in the network;
wherein at least one of the one or more monetary billing structures receives as input at least a second utilization of the second subset of two or more links; and at least one of the one or more monetary billing structures includes at least variable cost; and code that performs 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 third subset of two or more links in the network; and the adjusting attempts to reduce the degree of suboptimality.
2. The computer code of claim 1, wherein the first utilization of the first subset of two or more links is at least partly indicative of the second utilization of the second subset of two or more links.
3. The computer code of claim 1, wherein at least one link from the first subset of two or more links is included in at least one of: 1) the second subset of two or more links and 2) the third subset of two or more links.
4. The computer code of claim 1, wherein at least one link from the second subset of two or more links is included in the third subset of two or more links.
5. The computer code of claim 1, wherein at least one link from the first subset of two or more links is not included in at least one of: 1) the second subset of two or more links and 2) the third subset of two or more links.
6. The computer code of claim 1, wherein at least one link from the second subset of two or more links is not included in the third subset of two or more links.
7. The computer code of claim the computer code of claim l, wherein at least one of the monitoring, the assessing, and the adjusting repeats.
8. The computer code 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.
9. The computer code of claim 8, 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).
10. The computer code 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.
11. The computer code of claim 1, wherein the adjusting is described at least partly by at least one Border Gateway Protocol (BGP).
12. The computer code of claim 1, wherein at least one of the one or more monetary billing structures is for at least one Internet Service Provider (ISP).
13. The computer code of claim 1, wherein each link of at least one link from the second 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.
14. The computer code of claim 13, wherein the second utilization and the third utilization are equal.
15. The computer code of claim 13, wherein the second utilization and the third utilization are unequal.
16. The computer code of claim 13, wherein the third utilization is being determined over time.
17. The computer code of claim 16, wherein the third utilization is computed at least partly from:
at least one of: 1a) a maximum and 1b) 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 second subset of two or more links.
18. The computer code of claim 16, wherein the at least one of the one or more monetary billing structures is continuous or piecewise continuous with respect to the third utilization.
19. The computer code 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.
20. The computer code of claim 13, wherein the assessing includes generating, from the at least one of the one or more monetary billing structures, one or more sets of functions, wherein at least one function in the one or more sets 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 fourth utilization of the at least one link from the first subset of two or more links.
21. The computer code of claim 20, wherein the first utilization and the fourth utilization are equal.
22. The computer code of claim 20, wherein the first utilization and the fourth utilization are unequal.
23. The computer code of claim 20, 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 one or more sets of functions based at least partly on the utilization distribution.
24. The computer code of claim 23, 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.
25. The computer code of claim 23, 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.
26. The computer code of claim 20, wherein the at least one function in the one or more sets of functions outputs at least a varying value.
27. The computer code of claim 26, wherein the at least one function in the one or more sets of functions is continuous or piecewise continuous with respect to the fourth utilization.
28. The computer code of claim 26, wherein the at least one function in the one or more sets of functions is non-decreasing with respect to the fourth utilization.
29. The computer code of claim 26, wherein the 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 fourth 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) a second constant value for values of the at least one input above the threshold value.
30. The computer code of claim 26, wherein the 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 fourth utilization, wherein the at least one function outputs at least:
31 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.
31. The computer code of claim 20, wherein the assessing includes:
selecting a first set of functions from the one or more sets of functions, wherein at least one function in the first set of functions gives the first degree of unacceptability; and selecting a second 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) 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 of acceptable unacceptability.
32. The computer code of claim 20, wherein the adjusting includes attempting to reduce the degree of suboptimality based at least partly on the first degree of unacceptability.
33. The computer code of claim 31, wherein the assessing further includes determining a second degree of unacceptability based at least partly on the first degree of unacceptability.
34. The computer code of claim 33, 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.
35. The computer code of claim 31, further comprising:
ordering the one or more sets of functions into an ordered list of the one or more sets of functions; and 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.
36. The computer Bode of claim 35, 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 fourth 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, wherein the computer code 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 wherein the ordering is based at least partly on the level computed for each set of functions.
37. The computer code of claim 35, 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.
38. The computer code of claim 35, 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.
39. The computer code of claim 32, wherein the adjusting 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 third subset of two or more links in the network;

wherein 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 third subset of two or more links in the network; and wherein the first degree of unacceptability of the at least the first link from the third subset is more unacceptable than the first degree of unacceptability of the at least the second link from the third subset.
40. The computer code 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.
41. The computer code of claim 40, 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 third subset of two or more links.
42. The computer code of claim 20, 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 third subset of two or more links; and the assessing 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 third 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 of acceptable unacceptability, wherein the third degree of unacceptability is based at least 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.
43. The computer code of claim 42, wherein the first threshold of acceptable unacceptability and the second threshold of acceptable unacceptability are equal.
44. The computer code of claim 42, wherein the first threshold of acceptable unacceptability and the second threshold of acceptable unacceptability are unequal.
45. The computer code of claim 42, 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.
46. The computer code of claim 42:
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.
47. The computer code of claim 42:
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.
48. The computer code of claim 42, 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 third 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 third subset of two or more links; and determining the corresponding quality characterization threshold based at least partly on the high quality characterization.
49. The computer code of claim 48, wherein the high quality characterization is the highest quality characterization from the at least one of the one or more links from the third subset of two or more links.
50. The computer code of claim 1, further including selecting the subset of the forwarding decisions of one or more forwarding nodes automatically.
51. The computer code of claim 50, wherein the selecting of the forwarding decisions is at least partly random
52. The computer code of claim 50, wherein selecting the subset of the forwarding decisions is independent from the assessing.
53. The computer code of claim 50, wherein the selecting of the subset of the forwarding decisions uses a flow monitoring device.
54. The computer code of claim 50:
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 third subset of two or more links; and the selecting of the subset of the forwarding decisions is based at least partly on measuring the quality characterizations of the one or more objects.
55. The computer code of claim 50, wherein the selecting of the subset of the forwarding decisions is based at least partly on a source external to the third subset of two or more links.
56. The computer code of claim 1, wherein the computer code is at least partly software.
57. The computer code of claim 1, wherein the computer code is all software.
58. The computer code of claim 1, wherein the computer code is at least partly hardware.
59. The computer code of claim 1, wherein the computer code is all hardware.
60. Computer code that attempts to ensure a desired load distribution in a network, comprising:
code that performs monitoring of at least a first utilization of a first subset of two or more links in the network;
code that performs assessing, based at least partly on the monitoring, of a degree of suboptimality with respect to 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; 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 of acceptable unacceptability; and code that performs 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.
61. The computer code of claim 60, wherein the first utilization and the second utilization are equal.
62. The computer code of claim 60, wherein the first utilization and the second utilization are unequal.
63. The computer code of claim 60, 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.
64. The computer code of claim 60, 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.
65. The computer code of claim 60, wherein at least one of the monitoring, the assessing, and the adjusting repeats.
66. The computer code of claim 60, 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.
67. The computer code of claim 66, 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).
68. The computer code of claim 60, 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.
69. The computer code of claim 60, wherein the adjusting is described at least partly by at least one Border Gateway Protocol (BGP).
70. The computer code of claim 60, 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.
71. The computer code of claim 70, 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.
72. The computer code of claim 70, 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.
73. The computer code of claim 70, wherein at least one of the one or more monetary billing structures is for at least one Internet Service Provider (ISP).
74. The computer code of claim 70, 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.
75. The computer code of claim 74, 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.
76. The computer code of claim 74, wherein the third utilization is being determined over time.
77. The computer code of claim 76, wherein the third utilization is computed at least partly from at least one of: 1a) a maximum and 1b) 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.
78. The computer code of claim 76, wherein the at least one of the one or more monetary billing structures is continuous or piecewise continuous with respect to the third utilization
79. The computer code of claim 60, 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.
80. The computer code of claim 74, 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 sets of functions based at least partly on the utilization distribution.
81. The computer code of claim 80, 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.
82. The computer code of claim 80, 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.
83. The computer code of claim 60, wherein at least one function in the at least two sets of functions is continuous or piecewise continuous with respect to the second utilization.
84. The computer code of claim 60, wherein at least one function in the at least two sets of functions is non-decreasing with respect to the second utilization.
85. The computer code of claim 60, wherein at least one function in the at least two 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 up to a threshold value;
and 2) a second constant value for values of the at least one input above the threshold value.
86. The computer code of claim 60, 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) a fifth constant value for values of the at least one input exceeding the fourth constant value.
87. The computer code of claim 60, wherein the adjusting includes attempting to reduce the degree of suboptimality based at least partly on the first degree of unacceptability.
88. The computer code of claim 60, wherein the assessing includes determining a second degree of unacceptability based at least partly on the first degree of unacceptability.
89. The computer code of claim 88, 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.
90. The computer code of claim 60, further comprising:
ordering the one or more sets of functions into an ordered list of the one or more sets of functions; and 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.
91. The computer code of claim 90, 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, wherein the computer code 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.
92. The computer code of claim 90, 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.
93. The computer code of claim 90, 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.
94. The computer code of claim 87, 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;
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 unacceptability 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.
95. The computer code of claim 60, 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.
96. The computer code of claim 95, 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.
97. The computer code of claim 95, 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 of acceptable unacceptability, wherein the third degree of unacceptability is based at least 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.
98. The computer code of claim 97, wherein the first threshold of acceptable unacceptability and the second threshold of acceptable unacceptability are equal.
99. The computer code of claim 97, wherein the first threshold of acceptable unacceptability and the second threshold of acceptable unacceptability are unequal.
100. The computer code of claim 97, 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.
101. The computer code of claim 97, 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.
102. The computer code of claim 97:
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.
103. The computer code of claim 97, 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.
104. The computer code of claim 103, 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.
105. The computer code of claim 60, further including selecting the subset of the forwarding decisions of one or more forwarding nodes automatically.
106. The computer code of claim 105, wherein the selecting of the subset of the forwarding decisions is at least partly random.
107. The computer code of claim 105, wherein the selecting of the subset of the forwarding decisions is independent from the assessing.
108. The computer code of claim 105, wherein the selecting of the subset of the forwarding decisions uses a flow monitoring device.
109. The computer code of claim 105:
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 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.
110. The computer code of claim 105, 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.
111. The computer code of claim 60, wherein the computer code is at least partly software.
112. The computer code of claim 60, wherein the computer code is all software.
113. The computer code of claim 60, wherein the computer code is at least partly hardware.
114. The computer code of claim 60, wherein the computer code is all hardware.
115. Computer code for reducing the monetary cost of operating a network, 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 monitoring, a degree of suboptimality with respect to one or more monetary billing structures of a second subset of two or more links in the network;
wherein at least one of the one or more monetary billing structures receives as input at least a second utilization of the second subset of two or more links;
and at least one of the one or more monetary billing structures includes variable cost 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 assessing;
wherein at least one forwarding decision from the subset of the forwarding decisions points to at least one link from a third subset of two or more links in the network, and the means for adjusting attempts to reduce the degree of suboptimality.
116. Computer code for ensuring a desired load distribution in a network, the method 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, the means for assessing including:
generating a list of at least two sets of functions;
selecting 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 partly on a second utilization of the at least one link from the first subset of two or more links, and at least one function in the first set of functions outputs at least a varying value, and selecting 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 of acceptable unacceptability; 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, the means for adjusting attempts to reduce the degree of suboptimality.
117. A method of reducing the monetary cost of operating a network, 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 one or more monetary billing structures of a second subset of two or more links in the network;
wherein at least one of the one or more monetary billing structures receives as input at least a second utilization of the second subset of two or more links; and at least one of the one or more monetary billing structures includes at least variable cost; 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 forwarding decisions points to at least one link from a third subset of two or more links in the network; and the adjusting attempts to reduce the degree of suboptimality.
118. A method that attempts to ensure a desired load distribution in a network, 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, 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; 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 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 of acceptable unacceptability; 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 forwarding decisions points to at least one link from a second subset of two or more links in the network; and the adjusting includes attempts to reduce the degree of suboptimality.
CA2474501A 2002-02-04 2003-02-04 Load optimization Expired - Fee Related CA2474501C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA2704318A CA2704318C (en) 2002-02-04 2003-02-04 Load optimization

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US35458802P 2002-02-04 2002-02-04
US60/354,588 2002-02-04
PCT/US2003/003297 WO2003067731A2 (en) 2002-02-04 2003-02-04 Load optimization

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CA2704318A Division CA2704318C (en) 2002-02-04 2003-02-04 Load optimization

Publications (2)

Publication Number Publication Date
CA2474501A1 true CA2474501A1 (en) 2003-08-14
CA2474501C CA2474501C (en) 2010-07-20

Family

ID=27734398

Family Applications (2)

Application Number Title Priority Date Filing Date
CA2704318A Expired - Fee Related CA2704318C (en) 2002-02-04 2003-02-04 Load optimization
CA2474501A Expired - Fee Related CA2474501C (en) 2002-02-04 2003-02-04 Load optimization

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CA2704318A Expired - Fee Related CA2704318C (en) 2002-02-04 2003-02-04 Load optimization

Country Status (5)

Country Link
EP (1) EP1479009A4 (en)
AU (1) AU2003214992A1 (en)
CA (2) CA2704318C (en)
IL (1) IL163148A (en)
WO (1) WO2003067731A2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375070A (en) * 1993-03-01 1994-12-20 International Business Machines Corporation Information collection architecture and method for a data communications network
US5974457A (en) * 1993-12-23 1999-10-26 International Business Machines Corporation Intelligent realtime monitoring of data traffic
US6317792B1 (en) 1998-12-11 2001-11-13 Webtv Networks, Inc. Generation and execution of scripts for enabling cost-effective access to network resources
US6282562B1 (en) * 1999-01-14 2001-08-28 Net Reality Method for economically sub-optimizing interactions in data-communications network environments, and a device according to the method
JP2000312226A (en) * 1999-02-25 2000-11-07 Hitachi Ltd Method for warranting communication quality
US20010037311A1 (en) * 2000-02-18 2001-11-01 Mccoy James Efficient internet service cost recovery system and method
FR2806862B1 (en) 2000-03-24 2002-09-27 Phonatis METHOD AND SYSTEM FOR REDUCING TELEPHONE INVOICES FROM COMPANIES

Also Published As

Publication number Publication date
WO2003067731A3 (en) 2003-11-13
AU2003214992A8 (en) 2003-09-02
WO2003067731A2 (en) 2003-08-14
IL163148A (en) 2009-09-01
CA2704318A1 (en) 2003-08-14
EP1479009A4 (en) 2009-02-25
CA2474501C (en) 2010-07-20
EP1479009A2 (en) 2004-11-24
AU2003214992A1 (en) 2003-09-02
CA2704318C (en) 2013-08-06

Similar Documents

Publication Publication Date Title
Kumar et al. Dual reinforcement Q-routing: An on-line adaptive routing algorithm
US7487237B2 (en) Load optimization
JP5265559B2 (en) Inter-cell power control in the presence of partial frequency reuse
CN105474588A (en) Adaptive traffic engineering configuration
US7933206B2 (en) Method for adapting link weights in relation to optimized traffic distribution
US7277393B1 (en) System and method for identifying cost metrics for a network
US20040233846A1 (en) Method for quantifying reponsiveness of flow aggregates to packet drops in communication network
US20070140148A1 (en) Fast simulated annealing for traffic matrix estimation
Chrysostomou et al. Fuzzy logic congestion control in TCP/IP tandem networks
Kumar et al. Confidence-based q-routing: An on-line adaptive network routing algorithm
CA2474501A1 (en) Load optimization
Chiang et al. Jointly optimal congestion control and power control in wireless multihop networks
Sharma et al. An adaptive, fault tolerant, flow-level routing scheme for data center networks
US11528329B2 (en) Dynamic path steering utilizing automatic generation of user threshold profiles
Rout et al. Load balancing in SDN using effective traffic engineering method
Yue et al. Rule placement and switch migration-based scheme for controller load balancing in SDN
CN113965616A (en) SFC mapping method based on VNF resource change matrix
Lu et al. FAMG: A flow-aware and mixed granularity method for load-balancing in data center networks
He et al. Diffusion based distributed internet gateway load balancing in a wireless mesh network
Chimmanee et al. Hybrid neuro-fuzzy based adaptive load balancing for delay-sensitive internet application
Lee et al. Traffic engineering with constrained multipath routing in MPLS networks
Zargar et al. Fuzzy proactive queue management technique
Yang Design issues and performance improvements in routing strategy on the internet workflow
Chrysostomou et al. Fuzzy logic control for active queue management in TCP/IP Networks
Zargar et al. Fuzzy Green: a modified TCP equation-based active queue management using fuzzy logic approach

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20150204