US20120287780A1 - Tuning routing metrics to reduce maximum link utilization and/or provide failure resiliency - Google Patents

Tuning routing metrics to reduce maximum link utilization and/or provide failure resiliency Download PDF

Info

Publication number
US20120287780A1
US20120287780A1 US13/556,178 US201213556178A US2012287780A1 US 20120287780 A1 US20120287780 A1 US 20120287780A1 US 201213556178 A US201213556178 A US 201213556178A US 2012287780 A1 US2012287780 A1 US 2012287780A1
Authority
US
United States
Prior art keywords
links
network
link
targeted
metric
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.)
Abandoned
Application number
US13/556,178
Inventor
Bobby Ninan
Gordon M. Bolt
Olivier Goldschmidt
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.)
Riverbed Technology LLC
Opnet Technologies 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
Priority to US13/556,178 priority Critical patent/US20120287780A1/en
Application filed by Individual filed Critical Individual
Publication of US20120287780A1 publication Critical patent/US20120287780A1/en
Assigned to MORGAN STANLEY & CO. LLC reassignment MORGAN STANLEY & CO. LLC SECURITY AGREEMENT Assignors: OPNET TECHNOLOGIES, INC., RIVERBED TECHNOLOGY, INC.
Assigned to OPNET TECHNOLOGIES, INC. reassignment OPNET TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GOLDSCHMIDT, OLIVIER, BOLT, GORDON M., NINAN, BOBBY
Assigned to OPNET TECHNOLOGIES LLC reassignment OPNET TECHNOLOGIES LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: OPNET TECHNOLOGIES, INC.
Assigned to RIVERBED TECHNOLOGY, INC. reassignment RIVERBED TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OPNET TECHNOLOGIES LLC
Assigned to RIVERBED TECHNOLOGY, INC. reassignment RIVERBED TECHNOLOGY, INC. RELEASE OF PATENT SECURITY INTEREST Assignors: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
Assigned to JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT reassignment JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT PATENT SECURITY AGREEMENT Assignors: RIVERBED TECHNOLOGY, INC.
Assigned to RIVERBED TECHNOLOGY, INC. reassignment RIVERBED TECHNOLOGY, INC. RELEASE OF SECURITY INTEREST IN PATENTS Assignors: BARCLAYS BANK PLC
Assigned to MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT reassignment MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RIVERBED TECHNOLOGY, INC.
Assigned to RIVERBED TECHNOLOGY, INC. reassignment RIVERBED TECHNOLOGY, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Assignors: JPMORGAN CHASE BANK, N.A.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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

Definitions

  • This invention relates to the field of network engineering and analysis, and in particular to a method and system for managing traffic flow in a network for efficient link utilization and resilient performance under failure conditions.
  • Routing algorithms are generally structured to select a route for traffic between nodes of a network based on the relative ‘cost’ associated with each potentially available route.
  • IGP Interior Gateway Protocol
  • IP Internet Protocol
  • Example Interior Gateway Protocols include Routing Information Protocol (RIP), Open Shortest Path First (OSPF), and Intermediate System to Intermediate System (IS-IS) protocols.
  • the metric is assigned at the interface to the link, reflecting the relative cost/impact of using the link. For example, if the link is a high capacity link, the relative impact of sending a packet over the link is generally slight, compared to the impact of sending that same packet over a link with very limited capacity.
  • By assigning low costs to high capacity links, and high costs to low capacity links more traffic will generally be routed by such cost/metric based routing algorithms to the high capacity links, thereby avoiding congestion on the low capacity links.
  • FIG. 1A illustrates an example network with links A-V between nodes of the network.
  • FIG. 1B illustrates an example set of metrics associated with each link A-V
  • FIG. 1C illustrates an example set of routes and composite metrics associated with each.
  • New York 120 SF-NY, 60 Mb/s
  • Chicago 130 SF-CH, 40 Mb/s
  • Atlanta 140 SF-AT, 40 Mb/s
  • Houston 150 SF-HO, 20 Mb/s.
  • the composite metric for the routes is determined in this example as the sum of the metrics of the links along the route; other techniques for determining a composite metric based on link metrics may also be used, such as a composite that is based on the metric of each link and the number of links (hops) along the route.
  • FIG. 1C five sample routes are illustrated for the traffic from SF 110 to NY 120 .
  • the first route using links D (SF to AT), L (AT to DC), and Q (DC to NY), has a composite metric of 58 (44+8+6);
  • the second route, A-E has a composite metric of 50 (10+40),
  • the third route, A-F-N-O has a composite metric of 42 (10+16+4+12), and so on.
  • the 60 Mb/s traffic from SF to NY is preferably routed along the route A-F-N-O, the route with the lowest composite metric.
  • the 40 Mb/s traffic from SF to CH is preferably routed along A-F-N; the 20 Mb/s traffic from SF to HO along route A-C; and the 40 Mb/s traffic from SF to AT along route A-F-H.
  • each of the preferred routes include the link A. Therefore all of the traffic from SF to NY, CH, HO, and AT will travel over link A. With the routing in this example, link A will have 160 Mb/s of load. Whether or not link A can efficiently handle this load is based on the capacity of link A. If link A's capacity is 320 Mb/s, for example, its utilization is 50%; if link A's capacity is under 160 Mb/s, link A is over-utilized, and the traffic demand will not be satisfied. Network managers strive to avoid over-utilized links, and try to minimize the link utilization on each of the links to assure efficient traffic flow across the network.
  • Traffic engineering addresses techniques for optimizing network performance, including the configuration of resources of a network to provide effective and efficient traffic flow through the network.
  • OSPF existing routing protocol
  • B. Fortz and M. Thorup presented the concept of adjusting the metrics assigned to links from their initially assigned values so as to cause devices that use an existing routing protocol (OSPF) to select different routes than those selected based on the default metric values, to achieve an overall desired traffic flow through the network.
  • Extensions for dealing with varying traffic and transient link failures were proposed by Fortz et al. (B. Fortz and M. Thorup. “Optimizing OSPF/IS-IS weights in a changing world”, IEEE JSAC 2001) and Nucci et al. (Nucci et al. “IGP link weight assignment for transient link failures”, ITC 2003) respectively.
  • Cariden Technologies www.cariden.com
  • WANDL www.wandl.com
  • Techniques that provide for global optimization of networks are well suited for an initial installation of a network, and for ongoing management of small networks, but are generally poorly suited for routine ongoing maintenance of large networks.
  • relatively minor changes to a network can have a major effect on determining the optimal solution in a large network, due to the cascading of change effects.
  • a relatively minor reduction in a link's metric may ‘attract’ a large number of routes that previously had relatively equivalent costs, and other metrics may need to be adjusted to subsequently attract some of the traffic from this now-overloaded link. That is, a minor improvement in network performance may require a substantial number of individual metric changes, as the conventional processes strive to tune the network for truly optimal performance.
  • a metric tuning technique that optimizes the maximum link utilization of a set of links incrementally. Changes to the metric are constrained to be metric increases to divert routes from select links, thereby minimizing the number of changes required to achieve the optimization by avoiding the potential cascade of changes caused by attracting routes to a link.
  • An interactive user interface is provided to allow a user to specify limits and constraints, and to select the sets of links to be addressed, including, for example, only the links that exceed a given link utilization threshold, the links having the highest link utilizations, the links having the highest failure effect, and so on.
  • This incremental optimization technique is also used to optimize network resiliency by minimizing the network degradation caused by the failure of one or more links.
  • FIGS. 1A-1D illustrate an example network, routing metrics, routes, and traffic load as a function of the metric for an example link
  • FIG. 2 illustrates an example flow diagram for iteratively improving network performance in accordance with an aspect of this invention
  • FIG. 3 illustrates an example flow diagram for iteratively improving network resiliency in accordance with an aspect of this invention
  • FIG. 4 illustrates an example block diagram of a traffic engineering system in accordance with this invention.
  • FIG. 1A illustrates an example network
  • FIG. 2 provides an overview of a first aspect of this invention; additional features and alternatives are presented further on.
  • the network and traffic characteristics are obtained. These characteristics include, for example, the network topology and the traffic matrix.
  • the network topology includes an identification of each of the links of the network, and their characteristics, such as the routing protocol used at the interfaces to the links.
  • the traffic characteristics identify the amount of traffic flowing between nodes of the network. Other parameters and characteristics may also be obtained, as required for subsequent processes.
  • the network is assessed to determine the existing metrics that are used for creating routes on this network.
  • the particular routing protocol is predefined, and may include, for example, Open Shortest Path First (OSPF), and Intermediate System to Intermediate System (IS-IS) protocols.
  • OSPF Open Shortest Path First
  • IS-IS Intermediate System to Intermediate System
  • the particular routing protocol used at each interface to each link is used in the system of this invention to determine resultant routes as the metrics are changed.
  • the system is also preferably used to determine the routes corresponding to the existing metrics.
  • some or all of the metrics of the network can be initialized to default or particularly defined values, to allow the system to start from a preferred baseline configuration.
  • the links that are to be targeted for optimization are identified.
  • two sets of links are defined herein, target links and candidate links.
  • Target links are the links for which the performance of the network is evaluated and potentially improved.
  • candidate links are the links that are available for change.
  • these sets of links are the same, but in some cases, are preferably different. For example, a user may specify links that may not be changed, or that may only be changed in a particular manner. Often, such links are on ‘sensitive’ routes, such as routes for particularly important customers, routes that have been optimized for a particular purpose, and so on.
  • the metric associated with the links along a sensitive route may be specified to remain the same, thereby maintaining the existing route, these links would generally be included in the determination of the measure of overall system performance, because a metric change at another link might either reduce or increase the utilization of the targeted link.
  • the optimization may be targeted to cure known problems on particular links, and changes to any link that is not barred from change would be a candidate for change consideration.
  • any of a variety of techniques may be used to identify the set of target links, ranging, for example, from having a user explicitly identify each link, to performing an exhaustive assessment of all links.
  • the user identifies any links that are known to be problematic, or instructs the system to assess the “N” links with the highest link utilization, or instructs the system to assess any link that violates one or more constraints, and so on.
  • the system may also be configured to select random target links for assessment, to determine if improvements can be achieved.
  • a measure of network performance is determined with regard to the targeted links. Any of a variety of network performance measures may be used to assess the effectiveness of the current routing over these links.
  • link utilization is used as a measure of effectiveness, and the peak link utilization among the targeted links is used as a network performance measure.
  • a threshold value of link utilization can be specified, and the number of targeted links that exceed this threshold value can be used as the network performance measure.
  • Other statistics based on link utilization such as average, mean, variance, and so on, may also be used. Other parameters may also be used, such as throughput, delay, number of links/hops per path, and so on.
  • a network performance measure that is easy to determine is preferred, to facilitate rapid iterative performance determinations.
  • the measure of network performance is typically a combination of individual performance measures.
  • the measure may be dependent upon the peak link utilization as well as other measures, such as the average link utilization, the number of link utilizations that exceed a threshold limit, and so on.
  • the constraints that are to be applied to the optimization are specified.
  • the constraints include both operational and parametric constraints.
  • Operational constraints may include, for example, an identification of links that should not be modified, high priority links, and so on
  • parametric constraints may include, for example, limits imposed on system or network parameters, such as link utilization, the possible values for the metric, the number of links exceeding a given threshold, the number of demands using each link, and so on.
  • the set of change candidates is determined.
  • any link whose metric is not explicitly prohibited from change can be identified as a candidate link.
  • the set of candidate links is determined based on the constraints specified above. For example, the set of change candidates might include only those links whose utilization is above 80%.
  • the loop 240 - 280 selects a candidate link from the set of change candidates and determines whether an improvement in the measure of system performance can be achieved by modifying the metric that characterizes this link to the routing protocol.
  • candidate links are selected in decreasing order based on utilization, but other selection criteria could also be used.
  • the process 240 - 280 is illustrated as a sequential, one link after another, process, for ease of illustration and understanding, one of skill in the art will recognize that the system can be configured to identify improvements to the system performance based on multiple modifications to a select set of links.
  • the candidate link is assessed to determine a change to the value of its metric that causes a desired change to the original routing. Not all changes to the metric will cause a change in routing, and not all changes in routing will produce a decrease in utilization on the candidate link.
  • the routing protocols generally use the assigned metric to compare alternative routes for a given traffic flow between nodes. If the candidate link provides the only path for a particular traffic flow, the routing of that path will always include this link, regardless of the value of the metric, because there is no alternative link for this segment of the path. In like manner, if the metric for this link is substantially different from any of the other links, small changes to the metric will not affect the routing based on a comparison of these metrics. Only when the metric is comparatively similar to another metric will a change to the metric have a potential effect on the choice of routes for the particular traffic flow.
  • FIG. 1D the load across link A is illustrated as a function of link A's metric.
  • FIG. 1B identifies that the metric of link A has a metric value of 10. Based on this metric, each of the four traffic demands (SF-NY, SF-CH, SF-AT, SF-HO) are preferably routed along link A, amounting to 160 Mb/s, as discussed above. If link A's metric is increased to 11 , there will be no change, because the composite metric for each preferred route A-F-N-O (43), A-F-N (31), A-F-H (37), and A-C (35) based on this metric will still be the lowest among the alternative routes for each demand.
  • link A's metric is 14, the composite metric for route A-C (14+24)) will be equal to the composite metric for route B (38) for the demand SF-HO. In that case, the 20 Mb/s demand from SF to HO will be shared equally by route B and route A-C, reducing the load on link A to 150 Mb/s (160 ⁇ (20/2)), as illustrated at 160 in FIG. 1D . If link A's metric is 15, the composite metric for route A-C ( 15 ) will be larger than the metric for route B (14), and thus route B will be the preferred route, removing all of the 20 Mb/s demand from SF to HO from link A, as illustrated at 165 of FIG. 1D .
  • link A's metric is 18, the composite metric for route A-F-H (18+16+10) will equal the composite metric for route D (44) for the demand SF-AT, and half of the 40 Mb/s demand will be shared between route D and route A-F-H, removing another 20 Mb/s from the demand on link A, as illustrated at 170 . If link A's metric is 19, route D will be preferred for this demand, and the entire 40 Mb/s demand from SF to AT will be removed from link A, as illustrated at 175 .
  • link A's metric is 20
  • the 50 Mb/s demand from SF to NY will be shared between route A-F-N-O and route R-K-N-O
  • the 40 Mb/s demand from SF to CH will be shared between route A-F-N and R-K-N, reducing the load on link A by another 50 MB/s, as illustrated at 180 ; and completely removed from link A if link A's metric is 21 or more, as illustrated at 185 .
  • a similar off-loading of demand from link A can also be achieved by reducing the metric of other links. For example, if link A's metric is the original value of 10, reducing link B's metric to 34 will result in the sharing of the SF-HO demand between routes A-C and B, and reducing link B's metric will remove the entire SF-HO demand from link A. In this case, the reduction of load on link A is achieved by ‘attracting’ load to link B.
  • the metric of a candidate link is only modified in such a way so as to cause the routing protocol to remove traffic from that link.
  • a lower metric is favorable for routing, and in such cases, the system is configured to modify the metric only by increasing it. If a particular protocol is configured to favor higher metrics, the system would be configured to modify the metric by decreasing it.
  • the term ‘increasing the metric’ is used herein for ‘changing the metric of a link in such a manner as to cause the routing protocol to deter traffic from that link’.
  • the inventors have recognized that rerouting traffic to offload traffic from specific over-utilized links has fewer secondary effects than rerouting traffic to increase traffic on specific under-utilized links.
  • the potential increase of traffic to another link by making the current link less attractive is bounded by the particular traffic flows on the current link, whereas the potential increase in traffic to the current link by making the link more attractive is bounded only by the total amount of traffic from all other links that could use the current link.
  • the offloading of specific traffic flows from a link typically affects only the links used in the alternate routes for the diverted traffic flows, whereas the attraction of flow to an underutilized link often produces a compounding effect on the routing and traffic flow across multiple links, and is significantly more complex to predict. That is, each demand that has a composite metric of a current route that is comparable to the composite metric of a route that includes the attracting link may be switched to the route that includes the link.
  • the determination of the increase in the metric that improves performance can also be limited to a change that also assures that no constraints are violated.
  • the process can be used to find metrics that will eliminate constraint violations at each link.
  • the system determines the effect of this change on the network performance, at 250 . If, at 260 , the metric change results in a performance improvement, the changed metric and corresponding changed network performance is saved for further consideration, at 265 . Otherwise, if, at 260 , the change does not improve the network performance, the new metric is not saved.
  • the new metric may be saved for further consideration, regardless of other measures of network performance; that is, eliminating a violation can be considered an improvement in network performance, regardless of the defined numerical measure of network performance.
  • the elimination of a constraint violation can cause the network performance measure to increase by a given amount, so that the elimination of multiple constraints has a cumulative effect on the network performance measure.
  • the improvement in network performance will have been determined for each identified metric modification. Some or all of these modifications are selected for implementation on the network, at 280 .
  • the amount of improvement in the network performance can be used to prioritize the metric modifications for selection, such that metric changes that provide the most improvement in the network performance are selected, or such that only metric changes that provide an improvement above a given threshold are considered for selection, or such that any metric change that eliminates a constraint violation is given priority for selection.
  • the selected changes can be limited to a maximum number of changes, or a particular number of changes that exceed a particular performance goal.
  • the change of one metric may affect the margin of improvement that subsequent changes of the remaining metrics will provide. That is, in the selection of metrics to change, the margins of improvement are based on the current level of performance, and the selection of the first metric change will provide a different ‘current level of performance’ than the next change will provide.
  • Conventional multi-variate optimization techniques may be applied to address this issue. For example, in a straightforward embodiment, a ‘greedy’ algorithm is used, wherein the metric change that provides the largest margin of improvement is first selected, then the entire process 240 - 280 is repeated to determine the next change that provides the largest margin of improvement, based on the measure of performance provided by the first metric change.
  • a ‘hill-climbing’ algorithm may be used for selecting from among the metrics that eliminate such constraint violations.
  • a cost is associated with each metric change.
  • Each of the targeted links is assessed to determine the change required to eliminate the violation and the cost corresponding to this change. From among all of the evaluated links with violations, the least cost metric change is selected to eliminate the corresponding violation, and the process is repeated until either all violations are eliminated or until a given number of metric changes is reached.
  • the system is configured to generate command files that can be used to automate the reconfiguration process, at 290 .
  • the system provides the set of change orders and other information corresponding to the change set in a form that facilitates further analysis before the changes are actually implemented on the network.
  • configlets modeled networks
  • the system will automatically produce the “configlets” corresponding to the configuration change required to implement the identified changes.
  • These generated configlets are also used to implement the selected changes on the actual network, typically via executable command files.
  • the principles of this invention can also be applied to improve the resiliency of a network.
  • the network re-routes the demands that use that link. For example, in the network of FIG. 1A , if link N fails, the 60 Mb/s SF-NY demand will be re-routed from route A-F-N-O to the next preferable route (a secondary route) that does not use link N; in this case, to route A-E. In like manner, the 40 Mb/s SF-CH demand will be re-routed from A-F-N to R-J.
  • link N will introduce a new demand of 60 Mb/s to link E and 40 Mb/s to links R and J.
  • this re-routed demand may introduce constraint violations, over-utilized links, and so on.
  • the system of this invention can be used to determine the effects of a failure of a link by evaluating the network performance when the secondary routes are used. Then, changes to the link metrics that modify the routing can be evaluated to determine whether an improvement to the performance can be achieved in the network under a failure condition, preferably without adversely affecting the network performance without the failure condition.
  • the change to a link's metric is limited to a change that decreases the demand on the link, rather than attracting loads to under-utilized links.
  • the network improvement can be based on the change of a single metric or a set of metrics.
  • FIG. 3 illustrates an example flow diagram for improving network performance under fault conditions.
  • one or more failure cases are defined for evaluation.
  • Each failure case defines a potential failure hypothesis, and may include a failure of a particular link, a concurrent failure of multiple links, and so on.
  • the set of failure cases may include, for example, all individual links, or it could be determined according to user or system-defined selection criteria. For example, links with the highest utilization, links with the largest amount of traffic, or links with the highest priority traffic are obvious choices for failure evaluation.
  • each link of a set of given links is failed and the resultant performance measure determined.
  • the links whose failures cause the most severe degradations are identified, and either the system or the user selects one or more of these links as the set of failure cases to be assessed.
  • the network conditions under the fault-free/baseline condition and each of these select failure cases is hereinafter termed the set of assumed network conditions for this assessment.
  • the process of 310 - 335 is the same as detailed above with regard to 210 - 235 of FIG. 2 , except that at 325 , the performance measure is determined for each of the assumed network conditions. Using these performance measures, a ‘composite’ network performance measure is determined.
  • the composite network performance may merely be the peak link utilization among all of the assumed network conditions.
  • the composite network performance may be a weighted average of the peak utilizations among the assumed conditions, typically with a heavier weighting given to the fault-free condition.
  • the composite network performance measure may be the number of utilizations that exceed a given threshold, or set of thresholds, or a weighted average of this number.
  • One of skill in the art will recognize that other means for determining a composite measure of network performance under the set of assumed network conditions may also be used.
  • the process 330 - 380 evaluates the network to determine whether the baseline metrics can be modified to improve the network performance in view of the set of assumed network conditions.
  • constraints are defined for this determination.
  • the user is provided the option to allow a metric change that causes the fault-free system performance to degrade by up to a specified amount, if that degradation results in a substantial improvement in the system performance under one or more fault conditions. That is, for example, the thresholds and measures used for evaluating and/or improving the primary routes during this network resiliency improvement process may be different than the thresholds and measures used for evaluating and improving the primary routes without regard to network robustness under failure conditions.
  • the determination of primary routes in the baseline configuration may be based on a first set of measures and criteria, but a less stringent set of measures may be allowed for these routes if the network resiliency can be improved.
  • a peak link utilization threshold of 50% may be used for initially determining the metrics, but relaxed to a fault-free peak link utilization threshold of 60% to achieve a significant improvement in performance under one or more failure conditions.
  • the peak link utilization threshold under a failure condition would generally be higher than the threshold used for a fault-free condition; in this example, a peak link utilization threshold of 85% or more may be set for the faulted condition.
  • the “worst case” condition is identified, at 337 , typically based on the performance measures of the fault-free and each failure case condition, although any of a variety of techniques can be used to identify a worst case condition. For example, maximum link utilization may be used for evaluating network performance, while the number of link utilization violations under each condition may be used to identify the worst case condition.
  • the loop 340 - 380 assesses each of the candidate links to determine metric changes that improve the composite network performance. As is detailed further below, as each potential improvement is identified, the determination of a new worst case is repeated.
  • the order of evaluating each link of the set of candidate links is based on the severity of the degradation at each link, such as an order based on the peak link utilization of each candidate link among the set of assumed network conditions.
  • the metric of the candidate link at which a routing change occurs is identified, as detailed above with regard to block 245 in FIG. 2 ; as in block 245 , only a metric change that causes traffic to be offloaded from the candidate link is considered. Based on this routing change, a resultant composite network performance is determined, at 350 , and at 355 , this new composite is compared to the composite without this routing change, at 360 . If the metric/routing change does not provide for an improvement in the composite measure, the process is repeated for the next candidate link, at 380 , or terminated if a given stopping criteria is reached, such as determining a maximum number of metric changes, or achieving a given level of composite system performance.
  • this iterative improvement technique is merely one of a variety of multi-variate optimization techniques that can be applied to determine a ‘best’ set of changes in rank order.
  • the best metric changes from among all of the preferred metric changes associated with the set of assumed network conditions are selected for implementation in the network, at 385 .
  • the selected set of metric changes in this example embodiment corresponds to a selection from the rank-ordered list provided by the iterative process 330 - 380 to identify a given number of changes with a resultant composite performance that these changes provide, or to identify a set of changes to achieve a given level of composite performance.
  • the selection of a set of metrics to modify may be based on multiple failure conditions.
  • the selection may be based on the number of failure conditions causing violations. That is, a set of metric changes that results in three violations for a single failure condition may be preferred to a set of metric changes that results in one violation for each of two failure conditions, because the likelihood of either of two failure possibilities is greater than the likelihood of a single failure possibility, and thus ‘one or more’ violations are likely to occur more often in the two failure possibilities case.
  • the selection may be based on a combination of the number of violations and the number of failure conditions that produce these violations.
  • command files for implementing these metric changes on the network are created, preferably using ‘configlets’ as detailed above with regard to 290 in FIG. 2 .
  • the utilization of a link can be expressed as a function of the routing metric for the link, as illustrated in the graph of FIG. 1D .
  • the metric values at which each change of utilization occurs are computed and represented as a list of metric and utilization pairs. If a particular link utilization is desired, the list of metric and utilization values can be accessed directly to select the appropriate metric value, rather than using repeated trials to achieve the desired link utilization. If the lists are large, efficient search techniques, such as a binary search, can be used to reduce the time required to find either the metric value corresponding to a link utilization, or a link utilization corresponding to a metric value.
  • the hill-climbing algorithm is particularly well suited for repairing constraint violations in a network by identifying the least cost metric changes for iteratively eliminating each violation.
  • This hill-climbing technique can also be used to optimize the network performance by iteratively modifying the value of the constraint, thereby identifying the least cost metric change for achieving different levels of constraints.
  • the peak link utilization of a violation-free baseline configuration is used as a starting threshold value. At each iteration, the threshold peak link utilization is decreased by a given factor until a set of metrics cannot be found to provide a violation-free configuration. Thereafter, the threshold peak link utilization is increased by an amount less than the prior decrease, and the process is repeated.
  • the size of the threshold change monotonically decreases as the best set of metrics are defined to achieve a lowest violation-free maximum peak utilization.
  • Any of a plurality of stopping criteria may be applied, such as stopping when the size of the threshold change is below a given value, stopping when a given number of iterations are performed, stopping when a given maximum peak utilization is achieved, and so on.
  • a binary search for these best metrics may be used, wherein each threshold change is half the magnitude of the prior change, an asymmetric exponential search has been found to be well suited for this application. In this exponential search, the achievable threshold value is multiplied by a given factor to determine the next threshold value, and this factor is iteratively varied to search for the metrics that provide the lowest violation-free peak link utilization.
  • the achievable threshold value is initialized to the current peak link utilization and multiplied by the factor on the first iteration; if enforcing this new threshold peak link utilization does not introduce a violation, this achievable threshold value is multiplied by the square of the factor. If no violations are introduced, this new achievable threshold value is multiplied by the cube of the factor; and so on, incrementing the exponent of the factor with each achievable violation-free threshold. If enforcing a given threshold value causes a constraint violation, the exponent is reduced by half, and the process is repeated using the prior achievable violation-free threshold.
  • a number of conventional search techniques are well suited for finding combinations of factors that provide better solutions than other combinations of factors.
  • One such technique iteratively randomly selects a set of factors from a variety of candidate factors, and records the set that provides a better solution than any prior solution.
  • a candidate set of links can be defined, such as the “N” links that have the highest utilization.
  • M the metrics of all of the M links are increased to determine the network improvement that can be achieved by making these M changes. If the improvement achieved by the current set of M changes is greater than a prior ‘currently best’ set of M changes, the current set replaces the ‘currently best’ set, and the iterations continue. The iterations continue until a stopping rule is encountered, such as a given number of iterations have occurred, or a given level of network improvement is achieved, and so on.
  • a variant of this “best M changes” approach includes, for example, defining a probability of selection of each link, to bias the random selection according to this probability.
  • the probability of selection can be based on the link utilization, so as to assure that highly utilized links are more likely to be selected in each iteration.
  • Another variant on this approach is to evaluate the effects of multiple changes of a selected link's metric. That is, since the ‘cost’ of implementing a metric change is independent of the magnitude of the change, a ‘best’ change for each of the M metrics is preferably selected. However, such a determination of the best value to use for each of M metrics that are to be changed is a combinatorial determination. That is, if M is three, and each of the three metrics has four viable metric values (metric values that improve performance without introducing constraint violations), there are sixty-four (4 3 ) possible combinations for these three metric changes. In a preferred embodiment, the evaluation of alternatives is limited to a given number of alternatives, randomly selected in a monotonic fashion; that is, randomly selected such that there are no gaps between viable values for each metric.
  • the basic iterative network improvement process is repeated for each evaluated failure condition. Therefore, in addition to the above techniques used to improve the efficiency of the basic iterative network improvement process, techniques that avoid this iterative process during the resiliency-improvement process may also provide for substantial efficiency improvements.
  • One such technique for avoiding the iterative network improvement process is to avoid the determination of metric changes to improve network performance (step 330 of FIG. 3 ) for each potential failure candidate, based on an upper bound on the worst case utilization that might occur for each failure candidate. As each link is failed, each of the other links that receive increased utilization is marked as being affected by the failure. If the maximum utilization among all of the affected links is below the threshold maximum utilization, then there is no need to determine metric changes that will improve the maximum utilization under this failed condition.
  • FIG. 4 illustrates an example block diagram of a traffic engineering system in accordance with this invention.
  • the core of the system is a traffic engineering engine 450 that is configured to execute the above described processes, under the control of a user interface system 460 .
  • the traffic engineering engine 450 receives a network model 440 that describes an actual network, or a proposed network, or a combination of actual and proposed components forming a network 401 .
  • the network 401 is presented hereinafter as being an actual network.
  • a configuration engine 420 which may be a component of the traffic engineering engine 450 , queries the components 410 of the network 401 to determine the network configuration, including the current routing metrics 430 .
  • the user is provided the option of defining constraints that are to be enforced, if possible, by the traffic engineering engine 450 .
  • the user is also provided the option of defining or selecting objectives in the form of tasks to be accomplished by the engine 450 .
  • the user may define the objective as being the elimination of any current constraint violations, or a reduction in peak link utilization, or an identification of preferred metric changes from a least-cost maximum-benefit viewpoint, and so on.
  • One or more routing tools 480 are provided to emulate the routing algorithms that are used at the components 410 of the network 401 . These routing algorithms determine the routing 490 for traffic between source and destination nodes on the network, based on the topology of the network and the routing metrics 430 .
  • the topology of the network may be provided by the network model 440 , or derived from the network 401 by the configuration engine 420 , or a combination of both.
  • the traffic between source and destination nodes is generally defined as a demand for a given amount of traffic per unit time, and may be included in the network model 440 , or provided from an alternative source, typically via the user interface 460 .
  • the user is provided the option of adding, deleting, or modifying the defined traffic between nodes.
  • the engine 450 is configured to evaluate the performance of the modeled network based on the defined routing of traffic among the nodes of the network, and to identify preferred changes to the metrics 430 to satisfy the defined objectives, subject to the defined constraints, for presentation to the user at 460 .
  • the techniques used by the engine 450 for identifying the preferred changes to the metrics 430 , and for performing other tasks, are detailed above.
  • the engine 450 is also configured to communicate the revised metrics 430 to the configuration engine 420 , which is preferably configured to communicate these revised metrics to the appropriate components 410 in the network 401 , as detailed above.
  • FIG. 1D the graph of FIG. 1D is displayed for each select link to show the utilization of the link as a function of the routing metric.
  • the user is provided the opportunity to select a metric that provides a desired link utilization for the selected link.
  • a routing map such as illustrated in FIG.

Abstract

A metric tuning technique optimizes the maximum link utilization of a set of links incrementally. Changes to the metric are constrained to be metric increases to divert routes from select links, thereby minimizing the number of changes required to achieve the optimization by avoiding the potential cascade of changes caused by attracting routes to a link. An interactive user interface is provided to allow a user to specify limits and constraints, and to select the sets of links to be addressed, including, for example, only the links that exceed a given link utilization threshold, the links having the highest link utilizations, the links having the highest failure effect, and so on. This incremental optimization technique is also used to optimize network resiliency by minimizing the network degradation caused by the failure of one or more links.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 12/143,799, entitled “TUNING ROUTING METRICS TO REDUCE MAXIMUM LINK UTILIZATION AND/IR OR PROVIDE FAILURE RESILIENCY,” filed Jun. 22, 2008, which claims the benefit of U.S. Provisional Patent Applications 60/950,574, filed 18 Jul. 2007, and 61/022,563, filed 22 Jan. 2008
  • BACKGROUND
  • This invention relates to the field of network engineering and analysis, and in particular to a method and system for managing traffic flow in a network for efficient link utilization and resilient performance under failure conditions.
  • Routing algorithms are generally structured to select a route for traffic between nodes of a network based on the relative ‘cost’ associated with each potentially available route. For example, an Interior Gateway Protocol (IGP) is commonly used on Internet Protocol (IP) networks to determine the optimal route from a source node to a destination node based on a total cost of each available route, using one or more metrics for determining such costs. Example Interior Gateway Protocols include Routing Information Protocol (RIP), Open Shortest Path First (OSPF), and Intermediate System to Intermediate System (IS-IS) protocols.
  • Typically, when a link is added to a network, the metric is assigned at the interface to the link, reflecting the relative cost/impact of using the link. For example, if the link is a high capacity link, the relative impact of sending a packet over the link is generally slight, compared to the impact of sending that same packet over a link with very limited capacity. By assigning low costs to high capacity links, and high costs to low capacity links, more traffic will generally be routed by such cost/metric based routing algorithms to the high capacity links, thereby avoiding congestion on the low capacity links.
  • FIG. 1A illustrates an example network with links A-V between nodes of the network. FIG. 1B illustrates an example set of metrics associated with each link A-V, and FIG. 1C illustrates an example set of routes and composite metrics associated with each. In this example, only four traffic flow demands are presented for consideration, from San Francisco 110 to each of: New York 120 (SF-NY, 60 Mb/s), Chicago 130 (SF-CH, 40 Mb/s), Atlanta 140 (SF-AT, 40 Mb/s), and Houston 150 (SF-HO, 20 Mb/s). The composite metric for the routes is determined in this example as the sum of the metrics of the links along the route; other techniques for determining a composite metric based on link metrics may also be used, such as a composite that is based on the metric of each link and the number of links (hops) along the route.
  • In FIG. 1C, five sample routes are illustrated for the traffic from SF 110 to NY 120. The first route, using links D (SF to AT), L (AT to DC), and Q (DC to NY), has a composite metric of 58 (44+8+6); the second route, A-E, has a composite metric of 50 (10+40), the third route, A-F-N-O, has a composite metric of 42 (10+16+4+12), and so on. Based on these composite metrics, the 60 Mb/s traffic from SF to NY is preferably routed along the route A-F-N-O, the route with the lowest composite metric. In like manner, the 40 Mb/s traffic from SF to CH is preferably routed along A-F-N; the 20 Mb/s traffic from SF to HO along route A-C; and the 40 Mb/s traffic from SF to AT along route A-F-H.
  • It is significant to note that in this example, each of the preferred routes include the link A. Therefore all of the traffic from SF to NY, CH, HO, and AT will travel over link A. With the routing in this example, link A will have 160 Mb/s of load. Whether or not link A can efficiently handle this load is based on the capacity of link A. If link A's capacity is 320 Mb/s, for example, its utilization is 50%; if link A's capacity is under 160 Mb/s, link A is over-utilized, and the traffic demand will not be satisfied. Network managers strive to avoid over-utilized links, and try to minimize the link utilization on each of the links to assure efficient traffic flow across the network.
  • Traffic engineering addresses techniques for optimizing network performance, including the configuration of resources of a network to provide effective and efficient traffic flow through the network. In “Internet Traffic Engineering by Optimizing OSPF weights” at IEEE INFOCOM 2000, B. Fortz and M. Thorup presented the concept of adjusting the metrics assigned to links from their initially assigned values so as to cause devices that use an existing routing protocol (OSPF) to select different routes than those selected based on the default metric values, to achieve an overall desired traffic flow through the network. Extensions for dealing with varying traffic and transient link failures were proposed by Fortz et al. (B. Fortz and M. Thorup. “Optimizing OSPF/IS-IS weights in a changing world”, IEEE JSAC 2001) and Nucci et al. (Nucci et al. “IGP link weight assignment for transient link failures”, ITC 2003) respectively. Currently in the commercial arena, Cariden Technologies (www.cariden.com) and WANDL (www.wandl.com) have competing solutions for IGP metric optimization.
  • Techniques that provide for global optimization of networks are well suited for an initial installation of a network, and for ongoing management of small networks, but are generally poorly suited for routine ongoing maintenance of large networks. Often, relatively minor changes to a network can have a major effect on determining the optimal solution in a large network, due to the cascading of change effects. For example, a relatively minor reduction in a link's metric may ‘attract’ a large number of routes that previously had relatively equivalent costs, and other metrics may need to be adjusted to subsequently attract some of the traffic from this now-overloaded link. That is, a minor improvement in network performance may require a substantial number of individual metric changes, as the conventional processes strive to tune the network for truly optimal performance.
  • It would be advantageous to provide improvements to network performance in an incremental manner, preferably with minimal changes to the configuration of devices in the network. It would also be advantageous to identify and address the links that are in violation of a maximum link utilization threshold, as well as the links whose failure will introduce a significant number of threshold violations.
  • These advantages, and others, can be realized by a metric tuning technique that optimizes the maximum link utilization of a set of links incrementally. Changes to the metric are constrained to be metric increases to divert routes from select links, thereby minimizing the number of changes required to achieve the optimization by avoiding the potential cascade of changes caused by attracting routes to a link. An interactive user interface is provided to allow a user to specify limits and constraints, and to select the sets of links to be addressed, including, for example, only the links that exceed a given link utilization threshold, the links having the highest link utilizations, the links having the highest failure effect, and so on. This incremental optimization technique is also used to optimize network resiliency by minimizing the network degradation caused by the failure of one or more links.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention is explained in further detail, and by way of example, with reference to the accompanying drawings wherein:
  • FIGS. 1A-1D illustrate an example network, routing metrics, routes, and traffic load as a function of the metric for an example link;
  • FIG. 2 illustrates an example flow diagram for iteratively improving network performance in accordance with an aspect of this invention;
  • FIG. 3 illustrates an example flow diagram for iteratively improving network resiliency in accordance with an aspect of this invention; and
  • FIG. 4 illustrates an example block diagram of a traffic engineering system in accordance with this invention.
  • Throughout the drawings, the same reference numerals indicate similar or corresponding features or functions. The drawings are included for illustrative purposes and are not intended to limit the scope of the invention.
  • DETAILED DESCRIPTION
  • In the following description, for purposes of explanation rather than limitation, specific details are set forth such as the particular architecture, interfaces, techniques, etc., in order to provide a thorough understanding of the concepts of the invention. However, it will be apparent to those skilled in the art that the present invention may be practiced in other embodiments, which depart from these specific details. In like manner, the text of this description is directed to the example embodiments as illustrated in the Figures, and is not intended to limit the claimed invention beyond the limits expressly included in the claims. For purposes of simplicity and clarity, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
  • FIG. 1A illustrates an example network.
  • The flow diagram of FIG. 2 provides an overview of a first aspect of this invention; additional features and alternatives are presented further on.
  • At 210, the network and traffic characteristics are obtained. These characteristics include, for example, the network topology and the traffic matrix. The network topology includes an identification of each of the links of the network, and their characteristics, such as the routing protocol used at the interfaces to the links. The traffic characteristics identify the amount of traffic flowing between nodes of the network. Other parameters and characteristics may also be obtained, as required for subsequent processes.
  • At 215, the network is assessed to determine the existing metrics that are used for creating routes on this network. Generally, the particular routing protocol is predefined, and may include, for example, Open Shortest Path First (OSPF), and Intermediate System to Intermediate System (IS-IS) protocols. As discussed subsequently, the particular routing protocol used at each interface to each link is used in the system of this invention to determine resultant routes as the metrics are changed. For comparative consistency, the system is also preferably used to determine the routes corresponding to the existing metrics. Optionally, some or all of the metrics of the network can be initialized to default or particularly defined values, to allow the system to start from a preferred baseline configuration.
  • At 220, the links that are to be targeted for optimization are identified. For ease of reference and understanding, two sets of links are defined herein, target links and candidate links. Target links are the links for which the performance of the network is evaluated and potentially improved. Candidate links are the links that are available for change. Generally, these sets of links are the same, but in some cases, are preferably different. For example, a user may specify links that may not be changed, or that may only be changed in a particular manner. Often, such links are on ‘sensitive’ routes, such as routes for particularly important customers, routes that have been optimized for a particular purpose, and so on. Although, for example, the metric associated with the links along a sensitive route may be specified to remain the same, thereby maintaining the existing route, these links would generally be included in the determination of the measure of overall system performance, because a metric change at another link might either reduce or increase the utilization of the targeted link. In like manner, the optimization may be targeted to cure known problems on particular links, and changes to any link that is not barred from change would be a candidate for change consideration.
  • Any of a variety of techniques may be used to identify the set of target links, ranging, for example, from having a user explicitly identify each link, to performing an exhaustive assessment of all links. Generally, the user identifies any links that are known to be problematic, or instructs the system to assess the “N” links with the highest link utilization, or instructs the system to assess any link that violates one or more constraints, and so on. In addition to such ‘targeted’ assessments, the system may also be configured to select random target links for assessment, to determine if improvements can be achieved.
  • At 225, a measure of network performance is determined with regard to the targeted links. Any of a variety of network performance measures may be used to assess the effectiveness of the current routing over these links. In an example embodiment of this invention, link utilization is used as a measure of effectiveness, and the peak link utilization among the targeted links is used as a network performance measure. In like manner, a threshold value of link utilization can be specified, and the number of targeted links that exceed this threshold value can be used as the network performance measure. Other statistics based on link utilization, such as average, mean, variance, and so on, may also be used. Other parameters may also be used, such as throughput, delay, number of links/hops per path, and so on. Preferably, a network performance measure that is easy to determine is preferred, to facilitate rapid iterative performance determinations.
  • The measure of network performance is typically a combination of individual performance measures. For example, the measure may be dependent upon the peak link utilization as well as other measures, such as the average link utilization, the number of link utilizations that exceed a threshold limit, and so on.
  • At 230, the constraints that are to be applied to the optimization are specified. In a typical embodiment, the constraints include both operational and parametric constraints. Operational constraints may include, for example, an identification of links that should not be modified, high priority links, and so on, while parametric constraints may include, for example, limits imposed on system or network parameters, such as link utilization, the possible values for the metric, the number of links exceeding a given threshold, the number of demands using each link, and so on.
  • At 235, the set of change candidates is determined. In one embodiment, any link whose metric is not explicitly prohibited from change can be identified as a candidate link. In many cases, the set of candidate links is determined based on the constraints specified above. For example, the set of change candidates might include only those links whose utilization is above 80%.
  • The loop 240-280 selects a candidate link from the set of change candidates and determines whether an improvement in the measure of system performance can be achieved by modifying the metric that characterizes this link to the routing protocol. Preferably, candidate links are selected in decreasing order based on utilization, but other selection criteria could also be used. Although the process 240-280 is illustrated as a sequential, one link after another, process, for ease of illustration and understanding, one of skill in the art will recognize that the system can be configured to identify improvements to the system performance based on multiple modifications to a select set of links.
  • At 245, the candidate link is assessed to determine a change to the value of its metric that causes a desired change to the original routing. Not all changes to the metric will cause a change in routing, and not all changes in routing will produce a decrease in utilization on the candidate link. The routing protocols generally use the assigned metric to compare alternative routes for a given traffic flow between nodes. If the candidate link provides the only path for a particular traffic flow, the routing of that path will always include this link, regardless of the value of the metric, because there is no alternative link for this segment of the path. In like manner, if the metric for this link is substantially different from any of the other links, small changes to the metric will not affect the routing based on a comparison of these metrics. Only when the metric is comparatively similar to another metric will a change to the metric have a potential effect on the choice of routes for the particular traffic flow.
  • In FIG. 1D, the load across link A is illustrated as a function of link A's metric. FIG. 1B identifies that the metric of link A has a metric value of 10. Based on this metric, each of the four traffic demands (SF-NY, SF-CH, SF-AT, SF-HO) are preferably routed along link A, amounting to 160 Mb/s, as discussed above. If link A's metric is increased to 11, there will be no change, because the composite metric for each preferred route A-F-N-O (43), A-F-N (31), A-F-H (37), and A-C (35) based on this metric will still be the lowest among the alternative routes for each demand.
  • If link A's metric is 14, the composite metric for route A-C (14+24)) will be equal to the composite metric for route B (38) for the demand SF-HO. In that case, the 20 Mb/s demand from SF to HO will be shared equally by route B and route A-C, reducing the load on link A to 150 Mb/s (160−(20/2)), as illustrated at 160 in FIG. 1D. If link A's metric is 15, the composite metric for route A-C (15) will be larger than the metric for route B (14), and thus route B will be the preferred route, removing all of the 20 Mb/s demand from SF to HO from link A, as illustrated at 165 of FIG. 1D.
  • If link A's metric is 18, the composite metric for route A-F-H (18+16+10) will equal the composite metric for route D (44) for the demand SF-AT, and half of the 40 Mb/s demand will be shared between route D and route A-F-H, removing another 20 Mb/s from the demand on link A, as illustrated at 170. If link A's metric is 19, route D will be preferred for this demand, and the entire 40 Mb/s demand from SF to AT will be removed from link A, as illustrated at 175.
  • Similarly, if link A's metric is 20, the 50 Mb/s demand from SF to NY will be shared between route A-F-N-O and route R-K-N-O, and the 40 Mb/s demand from SF to CH will be shared between route A-F-N and R-K-N, reducing the load on link A by another 50 MB/s, as illustrated at 180; and completely removed from link A if link A's metric is 21 or more, as illustrated at 185.
  • Note that a similar off-loading of demand from link A can also be achieved by reducing the metric of other links. For example, if link A's metric is the original value of 10, reducing link B's metric to 34 will result in the sharing of the SF-HO demand between routes A-C and B, and reducing link B's metric will remove the entire SF-HO demand from link A. In this case, the reduction of load on link A is achieved by ‘attracting’ load to link B.
  • In accordance with an aspect of this invention, the metric of a candidate link is only modified in such a way so as to cause the routing protocol to remove traffic from that link. Conventionally, a lower metric is favorable for routing, and in such cases, the system is configured to modify the metric only by increasing it. If a particular protocol is configured to favor higher metrics, the system would be configured to modify the metric by decreasing it. For ease of reference, the term ‘increasing the metric’ is used herein for ‘changing the metric of a link in such a manner as to cause the routing protocol to deter traffic from that link’.
  • The inventors have recognized that rerouting traffic to offload traffic from specific over-utilized links has fewer secondary effects than rerouting traffic to increase traffic on specific under-utilized links. The potential increase of traffic to another link by making the current link less attractive is bounded by the particular traffic flows on the current link, whereas the potential increase in traffic to the current link by making the link more attractive is bounded only by the total amount of traffic from all other links that could use the current link. The offloading of specific traffic flows from a link typically affects only the links used in the alternate routes for the diverted traffic flows, whereas the attraction of flow to an underutilized link often produces a compounding effect on the routing and traffic flow across multiple links, and is significantly more complex to predict. That is, each demand that has a composite metric of a current route that is comparable to the composite metric of a route that includes the attracting link may be switched to the route that includes the link.
  • Optionally, the determination of the increase in the metric that improves performance can also be limited to a change that also assures that no constraints are violated. In this manner, the process can be used to find metrics that will eliminate constraint violations at each link.
  • Returning to the flow diagram of FIG. 2, having determined an increase in the metric that will introduce a change to the routing of one or more traffic flows, and optionally remove or ameliorate constraint violations at the targeted links, at 245, the system determines the effect of this change on the network performance, at 250. If, at 260, the metric change results in a performance improvement, the changed metric and corresponding changed network performance is saved for further consideration, at 265. Otherwise, if, at 260, the change does not improve the network performance, the new metric is not saved. Optionally, if the change eliminates a constraint violation without introducing another constraint violation in the network (a “Pareto-efficiency” solution), the new metric may be saved for further consideration, regardless of other measures of network performance; that is, eliminating a violation can be considered an improvement in network performance, regardless of the defined numerical measure of network performance. In like manner, the elimination of a constraint violation can cause the network performance measure to increase by a given amount, so that the elimination of multiple constraints has a cumulative effect on the network performance measure.
  • After all of the candidate links are assessed, or some other stopping criteria is met, at 270, the improvement in network performance will have been determined for each identified metric modification. Some or all of these modifications are selected for implementation on the network, at 280. For example, the amount of improvement in the network performance can be used to prioritize the metric modifications for selection, such that metric changes that provide the most improvement in the network performance are selected, or such that only metric changes that provide an improvement above a given threshold are considered for selection, or such that any metric change that eliminates a constraint violation is given priority for selection. Similarly, the selected changes can be limited to a maximum number of changes, or a particular number of changes that exceed a particular performance goal.
  • One of skill in the art will recognize that the change of one metric may affect the margin of improvement that subsequent changes of the remaining metrics will provide. That is, in the selection of metrics to change, the margins of improvement are based on the current level of performance, and the selection of the first metric change will provide a different ‘current level of performance’ than the next change will provide. Conventional multi-variate optimization techniques may be applied to address this issue. For example, in a straightforward embodiment, a ‘greedy’ algorithm is used, wherein the metric change that provides the largest margin of improvement is first selected, then the entire process 240-280 is repeated to determine the next change that provides the largest margin of improvement, based on the measure of performance provided by the first metric change.
  • When the targeted links are only those that have constraint violations, so that the process is configured to ‘repair’ the network, a ‘hill-climbing’ algorithm may be used for selecting from among the metrics that eliminate such constraint violations. In this process, a cost is associated with each metric change. Each of the targeted links is assessed to determine the change required to eliminate the violation and the cost corresponding to this change. From among all of the evaluated links with violations, the least cost metric change is selected to eliminate the corresponding violation, and the process is repeated until either all violations are eliminated or until a given number of metric changes is reached.
  • Other techniques for selecting from among the determined metrics that provide an improvement in network performance are presented further below.
  • After the metric changes are selected for implementation in the network, the system is configured to generate command files that can be used to automate the reconfiguration process, at 290. In a preferred embodiment, the system provides the set of change orders and other information corresponding to the change set in a form that facilitates further analysis before the changes are actually implemented on the network. Copending U.S. patent application Ser. No. 11/503,553, “INCREMENTAL UPDATE OF VIRTUAL DEVICES IN A MODELED NETWORK”, filed 11 Aug. 2006 for Pradeep Singh, Raymond Onley, Nishant Gupta, and Alain Cohen, and incorporated by reference herein, teaches a technique for providing incremental changes to the configuration of modeled networks (“configlets”) so that the assortment of network analysis tools commonly used can be used to assess the impact of such changes. In a preferred embodiment of this invention, the system will automatically produce the “configlets” corresponding to the configuration change required to implement the identified changes. These generated configlets are also used to implement the selected changes on the actual network, typically via executable command files.
  • In addition to improving network performance and eliminating constraint violations, the principles of this invention can also be applied to improve the resiliency of a network. In a typical network, when a link failure occurs, the network re-routes the demands that use that link. For example, in the network of FIG. 1A, if link N fails, the 60 Mb/s SF-NY demand will be re-routed from route A-F-N-O to the next preferable route (a secondary route) that does not use link N; in this case, to route A-E. In like manner, the 40 Mb/s SF-CH demand will be re-routed from A-F-N to R-J. Note, however, that this failure of link N will introduce a new demand of 60 Mb/s to link E and 40 Mb/s to links R and J. Depending upon the capacity and other loads of links E, R, and J, this re-routed demand may introduce constraint violations, over-utilized links, and so on.
  • The system of this invention can be used to determine the effects of a failure of a link by evaluating the network performance when the secondary routes are used. Then, changes to the link metrics that modify the routing can be evaluated to determine whether an improvement to the performance can be achieved in the network under a failure condition, preferably without adversely affecting the network performance without the failure condition. As in the basic approach, the change to a link's metric is limited to a change that decreases the demand on the link, rather than attracting loads to under-utilized links. As also in the basic approach, the network improvement can be based on the change of a single metric or a set of metrics.
  • FIG. 3 illustrates an example flow diagram for improving network performance under fault conditions. At 305, one or more failure cases are defined for evaluation. Each failure case defines a potential failure hypothesis, and may include a failure of a particular link, a concurrent failure of multiple links, and so on. The set of failure cases may include, for example, all individual links, or it could be determined according to user or system-defined selection criteria. For example, links with the highest utilization, links with the largest amount of traffic, or links with the highest priority traffic are obvious choices for failure evaluation. In a more complex embodiment, each link of a set of given links is failed and the resultant performance measure determined. The links whose failures cause the most severe degradations are identified, and either the system or the user selects one or more of these links as the set of failure cases to be assessed. For ease of reference, the network conditions under the fault-free/baseline condition and each of these select failure cases is hereinafter termed the set of assumed network conditions for this assessment.
  • The process of 310-335 is the same as detailed above with regard to 210-235 of FIG. 2, except that at 325, the performance measure is determined for each of the assumed network conditions. Using these performance measures, a ‘composite’ network performance measure is determined. In a straightforward embodiment of this invention, the composite network performance may merely be the peak link utilization among all of the assumed network conditions. In other embodiments, the composite network performance may be a weighted average of the peak utilizations among the assumed conditions, typically with a heavier weighting given to the fault-free condition. In like manner, the composite network performance measure may be the number of utilizations that exceed a given threshold, or set of thresholds, or a weighted average of this number. One of skill in the art will recognize that other means for determining a composite measure of network performance under the set of assumed network conditions may also be used.
  • The process 330-380 evaluates the network to determine whether the baseline metrics can be modified to improve the network performance in view of the set of assumed network conditions. At 330, constraints are defined for this determination. In a preferred embodiment, the user is provided the option to allow a metric change that causes the fault-free system performance to degrade by up to a specified amount, if that degradation results in a substantial improvement in the system performance under one or more fault conditions. That is, for example, the thresholds and measures used for evaluating and/or improving the primary routes during this network resiliency improvement process may be different than the thresholds and measures used for evaluating and improving the primary routes without regard to network robustness under failure conditions. The determination of primary routes in the baseline configuration may be based on a first set of measures and criteria, but a less stringent set of measures may be allowed for these routes if the network resiliency can be improved. For example, a peak link utilization threshold of 50% may be used for initially determining the metrics, but relaxed to a fault-free peak link utilization threshold of 60% to achieve a significant improvement in performance under one or more failure conditions. As noted above, the peak link utilization threshold under a failure condition would generally be higher than the threshold used for a fault-free condition; in this example, a peak link utilization threshold of 85% or more may be set for the faulted condition.
  • To improve the efficiency of this assessment among the set of assumed network conditions, in a preferred embodiment, the “worst case” condition is identified, at 337, typically based on the performance measures of the fault-free and each failure case condition, although any of a variety of techniques can be used to identify a worst case condition. For example, maximum link utilization may be used for evaluating network performance, while the number of link utilization violations under each condition may be used to identify the worst case condition.
  • The loop 340-380 assesses each of the candidate links to determine metric changes that improve the composite network performance. As is detailed further below, as each potential improvement is identified, the determination of a new worst case is repeated. In a preferred embodiment, the order of evaluating each link of the set of candidate links is based on the severity of the degradation at each link, such as an order based on the peak link utilization of each candidate link among the set of assumed network conditions.
  • At 345, the metric of the candidate link at which a routing change occurs is identified, as detailed above with regard to block 245 in FIG. 2; as in block 245, only a metric change that causes traffic to be offloaded from the candidate link is considered. Based on this routing change, a resultant composite network performance is determined, at 350, and at 355, this new composite is compared to the composite without this routing change, at 360. If the metric/routing change does not provide for an improvement in the composite measure, the process is repeated for the next candidate link, at 380, or terminated if a given stopping criteria is reached, such as determining a maximum number of metric changes, or achieving a given level of composite system performance.
  • If, at 360, the metric/route change amounts to an improvement in the composite performance measure, or an improvement above a given threshold, this change and its resultant performance is saved, at 365, and the process is repeated based on this change and resultant performance, beginning with identifying a new worst case, at 337. This iterative improvement technique is merely one of a variety of multi-variate optimization techniques that can be applied to determine a ‘best’ set of changes in rank order.
  • Upon completion of the above process, the best metric changes from among all of the preferred metric changes associated with the set of assumed network conditions are selected for implementation in the network, at 385. The selected set of metric changes in this example embodiment corresponds to a selection from the rank-ordered list provided by the iterative process 330-380 to identify a given number of changes with a resultant composite performance that these changes provide, or to identify a set of changes to achieve a given level of composite performance.
  • One of skill in the art will recognize that alternative means for selecting a set of metrics that have the ‘best’ affect on the composite network performance may be used. For example, the selection of a set of metrics to modify may be based on multiple failure conditions. Instead of selecting a set of metrics based on the total number of violations, for example, the selection may be based on the number of failure conditions causing violations. That is, a set of metric changes that results in three violations for a single failure condition may be preferred to a set of metric changes that results in one violation for each of two failure conditions, because the likelihood of either of two failure possibilities is greater than the likelihood of a single failure possibility, and thus ‘one or more’ violations are likely to occur more often in the two failure possibilities case. In like manner, the selection may be based on a combination of the number of violations and the number of failure conditions that produce these violations.
  • At 390, command files for implementing these metric changes on the network are created, preferably using ‘configlets’ as detailed above with regard to 290 in FIG. 2.
  • The above described techniques provide the basic principles involved in this invention. As noted above, a variety of alternative techniques or optimizations can be applied to improve the efficiency of this system improvement process, to facilitate the use of this invention for improving the performance and resiliency of large network.
  • For example, the utilization of a link can be expressed as a function of the routing metric for the link, as illustrated in the graph of FIG. 1D. In a preferred embodiment of this invention, the metric values at which each change of utilization occurs (160-185 of FIG. 1D) are computed and represented as a list of metric and utilization pairs. If a particular link utilization is desired, the list of metric and utilization values can be accessed directly to select the appropriate metric value, rather than using repeated trials to achieve the desired link utilization. If the lists are large, efficient search techniques, such as a binary search, can be used to reduce the time required to find either the metric value corresponding to a link utilization, or a link utilization corresponding to a metric value.
  • With regard to selecting from among all of the metric changes that provide a given level of improvement in system performance, a number of variations and/or alternatives to the aforementioned ‘greedy’ and ‘hill-climbing’ algorithms can be used.
  • As noted above, the hill-climbing algorithm is particularly well suited for repairing constraint violations in a network by identifying the least cost metric changes for iteratively eliminating each violation. This hill-climbing technique can also be used to optimize the network performance by iteratively modifying the value of the constraint, thereby identifying the least cost metric change for achieving different levels of constraints. In an example embodiment, the peak link utilization of a violation-free baseline configuration is used as a starting threshold value. At each iteration, the threshold peak link utilization is decreased by a given factor until a set of metrics cannot be found to provide a violation-free configuration. Thereafter, the threshold peak link utilization is increased by an amount less than the prior decrease, and the process is repeated. At each iteration, the size of the threshold change monotonically decreases as the best set of metrics are defined to achieve a lowest violation-free maximum peak utilization. Any of a plurality of stopping criteria may be applied, such as stopping when the size of the threshold change is below a given value, stopping when a given number of iterations are performed, stopping when a given maximum peak utilization is achieved, and so on. Although a binary search for these best metrics may be used, wherein each threshold change is half the magnitude of the prior change, an asymmetric exponential search has been found to be well suited for this application. In this exponential search, the achievable threshold value is multiplied by a given factor to determine the next threshold value, and this factor is iteratively varied to search for the metrics that provide the lowest violation-free peak link utilization. The achievable threshold value is initialized to the current peak link utilization and multiplied by the factor on the first iteration; if enforcing this new threshold peak link utilization does not introduce a violation, this achievable threshold value is multiplied by the square of the factor. If no violations are introduced, this new achievable threshold value is multiplied by the cube of the factor; and so on, incrementing the exponent of the factor with each achievable violation-free threshold. If enforcing a given threshold value causes a constraint violation, the exponent is reduced by half, and the process is repeated using the prior achievable violation-free threshold.
  • The aforementioned techniques search for ‘best’ metrics to change substantially one-at-a-time. Such techniques could lead to sub-optimizations by missing combinations of metric changes that might provide cumulative improvements that are greater than the improvements provided individually by a same number of metric changes.
  • A number of conventional search techniques are well suited for finding combinations of factors that provide better solutions than other combinations of factors. One such technique iteratively randomly selects a set of factors from a variety of candidate factors, and records the set that provides a better solution than any prior solution. As applied to this application, a candidate set of links can be defined, such as the “N” links that have the highest utilization. At each iteration, “M” of these “N” links are randomly selected, and the metrics of all of the M links are increased to determine the network improvement that can be achieved by making these M changes. If the improvement achieved by the current set of M changes is greater than a prior ‘currently best’ set of M changes, the current set replaces the ‘currently best’ set, and the iterations continue. The iterations continue until a stopping rule is encountered, such as a given number of iterations have occurred, or a given level of network improvement is achieved, and so on.
  • A variant of this “best M changes” approach includes, for example, defining a probability of selection of each link, to bias the random selection according to this probability. For example, the probability of selection can be based on the link utilization, so as to assure that highly utilized links are more likely to be selected in each iteration.
  • Another variant on this approach is to evaluate the effects of multiple changes of a selected link's metric. That is, since the ‘cost’ of implementing a metric change is independent of the magnitude of the change, a ‘best’ change for each of the M metrics is preferably selected. However, such a determination of the best value to use for each of M metrics that are to be changed is a combinatorial determination. That is, if M is three, and each of the three metrics has four viable metric values (metric values that improve performance without introducing constraint violations), there are sixty-four (43) possible combinations for these three metric changes. In a preferred embodiment, the evaluation of alternatives is limited to a given number of alternatives, randomly selected in a monotonic fashion; that is, randomly selected such that there are no gaps between viable values for each metric.
  • With regard to the processes used to improve the resiliency of the network under failure conditions, the basic iterative network improvement process is repeated for each evaluated failure condition. Therefore, in addition to the above techniques used to improve the efficiency of the basic iterative network improvement process, techniques that avoid this iterative process during the resiliency-improvement process may also provide for substantial efficiency improvements.
  • One such technique for avoiding the iterative network improvement process is to avoid the determination of metric changes to improve network performance (step 330 of FIG. 3) for each potential failure candidate, based on an upper bound on the worst case utilization that might occur for each failure candidate. As each link is failed, each of the other links that receive increased utilization is marked as being affected by the failure. If the maximum utilization among all of the affected links is below the threshold maximum utilization, then there is no need to determine metric changes that will improve the maximum utilization under this failed condition.
  • Other techniques for optimizing or avoiding the various tasks described above will be evident to one of skill in the art.
  • FIG. 4 illustrates an example block diagram of a traffic engineering system in accordance with this invention. The core of the system is a traffic engineering engine 450 that is configured to execute the above described processes, under the control of a user interface system 460.
  • The traffic engineering engine 450 receives a network model 440 that describes an actual network, or a proposed network, or a combination of actual and proposed components forming a network 401. For ease of reference, the network 401 is presented hereinafter as being an actual network. A configuration engine 420, which may be a component of the traffic engineering engine 450, queries the components 410 of the network 401 to determine the network configuration, including the current routing metrics 430.
  • As discussed above, the user is provided the option of defining constraints that are to be enforced, if possible, by the traffic engineering engine 450. The user is also provided the option of defining or selecting objectives in the form of tasks to be accomplished by the engine 450. For example, the user may define the objective as being the elimination of any current constraint violations, or a reduction in peak link utilization, or an identification of preferred metric changes from a least-cost maximum-benefit viewpoint, and so on.
  • One or more routing tools 480 are provided to emulate the routing algorithms that are used at the components 410 of the network 401. These routing algorithms determine the routing 490 for traffic between source and destination nodes on the network, based on the topology of the network and the routing metrics 430. The topology of the network may be provided by the network model 440, or derived from the network 401 by the configuration engine 420, or a combination of both. The traffic between source and destination nodes is generally defined as a demand for a given amount of traffic per unit time, and may be included in the network model 440, or provided from an alternative source, typically via the user interface 460. In a preferred embodiment, the user is provided the option of adding, deleting, or modifying the defined traffic between nodes.
  • In accordance with the principles of this invention, the engine 450 is configured to evaluate the performance of the modeled network based on the defined routing of traffic among the nodes of the network, and to identify preferred changes to the metrics 430 to satisfy the defined objectives, subject to the defined constraints, for presentation to the user at 460. The techniques used by the engine 450 for identifying the preferred changes to the metrics 430, and for performing other tasks, are detailed above.
  • If the user decides to implement select changes to the metrics 430, the engine 450 is also configured to communicate the revised metrics 430 to the configuration engine 420, which is preferably configured to communicate these revised metrics to the appropriate components 410 in the network 401, as detailed above.
  • The foregoing merely illustrates the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements which, although not explicitly described or shown herein, embody the principles of the invention and are thus within its spirit and scope. For example, a variety of visualizations can be provided to the user at various stages of the process to allow the user to control the analysis and improvement tasks as desired. In an example embodiment, the graph of FIG. 1D is displayed for each select link to show the utilization of the link as a function of the routing metric. The user is provided the opportunity to select a metric that provides a desired link utilization for the selected link. In like manner, during the failure analysis procedure, a routing map such as illustrated in FIG. 1A can be displayed, to provide the user the option of selecting each link to be failed, with a corresponding display that highlights the links that are affected and/or fail to satisfy the peak utilization threshold. These and other system configuration and optimization features will be evident to one of ordinary skill in the art in view of this disclosure, and are included within the scope of the following claims.
  • In interpreting these claims, it should be understood that:
  • a) the word “comprising” does not exclude the presence of other elements or acts than those listed in a given claim;
    b) the word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements;
    c) any reference signs in the claims do not limit their scope;
    d) several “means” may be represented by the same item or hardware or software implemented structure or function;
    e) each of the disclosed elements may be comprised of hardware portions (e.g., including discrete and integrated electronic circuitry), software portions (e.g., computer programming), and any combination thereof;
    f) hardware portions may be comprised of one or both of analog and digital portions;
    g) any of the disclosed devices or portions thereof may be combined together or separated into further portions unless specifically stated otherwise;
    h) no specific sequence of acts is intended to be required unless specifically indicated; and
    i) the term “plurality of” an element includes two or more of the claimed element, and does not imply any particular range of number of elements; that is, a plurality of elements can be as few as two elements, and can include an immeasurable number of elements.

Claims (19)

1. A method of tuning routing metrics in a network by diverting routes from certain links in the network, said method comprising:
obtaining network information from the network, the network information including an identification of links in the network and routing protocols associated with the links;
determining metrics used by the routing protocols to create routes over the links in the network;
determining a set of targeted links in the network that are targeted for optimization;
determining at least one network performance measure of the set of targeted links;
determining a set of candidate links in the network that are available for metric changes; and
determining changes to metrics for the set of candidate links that divert routes from the candidate links and improve the at least one network performance measure of the set of targeted links.
2. The method of claim 1, wherein the determining the at least one network performance measure of the set of targeted links includes measuring link utilization of the set of targeted links.
3. The method of claim 1, wherein determining the set of targeted links comprises selecting links in the network having a link utilization that exceed a threshold.
4. The method of claim 1, wherein determining the set of targeted links comprises selecting links in the network having the highest link utilizations.
5. The method of claim 1, wherein determining the set of targeted links comprises selecting links in the network having the highest failure effect on the network.
6. The method of claim 1, wherein determining a set of targeted links in the network that are targeted for optimization comprises determining links in the network having a link utilization that exceed a specified limit.
7. The method of claim 1, wherein determining changes to metrics for the set of candidate links that divert routes from the candidate links and improve the at least one network performance measure of the set of targeted links comprises determining changes to metrics for the set of candidate links that are within a specified constraint.
8. The method of claim 1, further comprising:
receiving a second set of candidate links; and
determining changes to metrics for the second set of candidate links that divert routes from the second set of candidate links and improve the at least one network performance measure of the set of targeted links.
9. The method of claim 1, wherein determining the at least one network performance measure of the set of targeted links comprises determining effects of a modification of the routes in the network in response to a failure condition in the network.
10. A system configured to tune routing metrics in a network by diverting routes from certain links in the network, said system comprising:
a routing tool configured to obtain network information from the network, the network information including an identification of links in the network and routing protocols associated with the links, and wherein the routing protocols are used in the network to create routes over the links; and
a traffic engineering engine that is configured to determine metrics used by the routing protocols, determine a set of targeted links in the network that are targeted for optimization, determine at least one network performance of the set of targeted links, determine a set of candidate links in the network that are available for metric changes, and determine changes to metrics for the set of candidate links that divert routes from the candidate links and improve the at least one network performance measure of the set of targeted links.
11. The system of claim 10, wherein the traffic engineering engine is configured to measure link utilization of the set of targeted links.
12. The system of claim 10, wherein the traffic engineering engine is configured to select links in the network having a link utilization that exceed a threshold.
13. The system of claim 10, wherein the traffic engineering engine is configured to select links in the network having the highest link utilizations.
14. The system of claim 10, wherein the traffic engineering engine is configured to select links in the network having the highest failure effect on the network.
15. The system of claim 10, wherein the traffic engineering engine is configured to determine changes to metrics for the set of candidate links that divert routes from the candidate links and improve the at least one network performance measure of the set of targeted links that are within a specified constraint.
16. The system of claim 15, wherein the specified constraint comprises a limit on a network parameter.
17. The system of claim 15, wherein the specified constraint comprises a limit on a link utilization for at least one link in the network.
18. The system of claim 10, wherein the traffic engineering engine is configured to receive a second set of candidate links and determine changes to metrics for the second set of candidate links that divert routes from the second set of candidate links and improve the at least one network performance measure of the set of targeted links
19. The system of claim 10, wherein the traffic engineering engine is configured to determine a modification of the routes in the network in response to a failure condition in the network.
US13/556,178 2007-07-18 2012-07-23 Tuning routing metrics to reduce maximum link utilization and/or provide failure resiliency Abandoned US20120287780A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/556,178 US20120287780A1 (en) 2007-07-18 2012-07-23 Tuning routing metrics to reduce maximum link utilization and/or provide failure resiliency

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US95057407P 2007-07-18 2007-07-18
US2255308P 2008-01-22 2008-01-22
US12/143,799 US8228804B2 (en) 2007-07-18 2008-06-22 Tuning routing metrics to reduce maximum link utilization or provide failure resiliency
US13/556,178 US20120287780A1 (en) 2007-07-18 2012-07-23 Tuning routing metrics to reduce maximum link utilization and/or provide failure resiliency

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/143,799 Continuation US8228804B2 (en) 2007-07-18 2008-06-22 Tuning routing metrics to reduce maximum link utilization or provide failure resiliency

Publications (1)

Publication Number Publication Date
US20120287780A1 true US20120287780A1 (en) 2012-11-15

Family

ID=39955971

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/143,799 Active 2029-03-19 US8228804B2 (en) 2007-07-18 2008-06-22 Tuning routing metrics to reduce maximum link utilization or provide failure resiliency
US13/556,178 Abandoned US20120287780A1 (en) 2007-07-18 2012-07-23 Tuning routing metrics to reduce maximum link utilization and/or provide failure resiliency

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/143,799 Active 2029-03-19 US8228804B2 (en) 2007-07-18 2008-06-22 Tuning routing metrics to reduce maximum link utilization or provide failure resiliency

Country Status (2)

Country Link
US (2) US8228804B2 (en)
WO (1) WO2009012019A1 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006041058B4 (en) * 2006-09-01 2008-09-11 Nokia Siemens Networks Gmbh & Co.Kg Method for tracking network parameters
WO2012143059A1 (en) * 2011-04-21 2012-10-26 Telefonaktiebolaget L M Ericsson (Publ) Recovery from multiple faults in a communications network
US20140133302A1 (en) * 2012-11-14 2014-05-15 Shaojian Fu Tuning routing metrics to reduce maximum link utilization and end-to-end delay violations
US9215164B2 (en) * 2013-11-08 2015-12-15 Alcatel Lucent Multi-source correlation of network topology metrics
US10027547B1 (en) * 2014-03-28 2018-07-17 EMC IP Holding Company LLC Autonomic self-optimization of protection storage
US9887878B2 (en) 2014-06-06 2018-02-06 Microsoft Technology Licensing, Llc Dynamic scheduling of network updates
US9602351B2 (en) 2014-06-06 2017-03-21 Microsoft Technology Licensing, Llc Proactive handling of network faults
US9491054B2 (en) 2014-06-06 2016-11-08 Microsoft Technology Licensing, Llc Network-state management service
US10397044B2 (en) * 2017-01-13 2019-08-27 New York University Network function virtualization (“NFV”) based communications network resilience
US10389575B2 (en) * 2017-07-20 2019-08-20 Juniper Networks, Inc. Traffic migration based on traffic flow and traffic path characteristics
CN107682264B (en) * 2017-09-26 2018-11-16 迅雷计算机(深圳)有限公司 Data transmission method and system based on real-time active path planning
CN109873762B (en) * 2017-12-05 2021-08-31 中国电信股份有限公司 Path scheduling method, path scheduling device and computer-readable storage medium
US11431648B2 (en) * 2018-06-11 2022-08-30 Intel Corporation Technologies for providing adaptive utilization of different interconnects for workloads
CN110351189B (en) * 2019-07-12 2021-06-15 北京智芯微电子科技有限公司 Routing control method facing real-time edge calculation
CN113037627B (en) * 2021-03-03 2022-05-27 烽火通信科技股份有限公司 Method and device for selecting network service line resources

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904017B1 (en) * 2000-05-08 2005-06-07 Lucent Technologies Inc. Method and apparatus to provide centralized call admission control and load balancing for a voice-over-IP network
US20070140114A1 (en) * 2005-12-20 2007-06-21 Mosko Marc E Method and apparatus for multi-path load balancing using multiple metrics
US20070195702A1 (en) * 2006-02-17 2007-08-23 Yuen Wing H Link duration based routing protocol for multihop ad hoc networks
US20080037552A1 (en) * 2006-08-11 2008-02-14 Latitude Broadband, Inc. Methods And Systems For Providing Quality Of Service In Packet-Based Core Transport Networks
US7362703B1 (en) * 2003-07-10 2008-04-22 Sprint Communications Company L.P. Method for deflection routing of data packets to alleviate link overload in IP networks
US7644180B1 (en) * 2003-11-06 2010-01-05 Sprint Communications Company L.P. Method for altering link weights in a communication network to provide traffic information for improved forecasting
US7680055B1 (en) * 2003-09-26 2010-03-16 At&T Intellectual Property Ii, L.P. Method and apparatus for increasing survivability in IP networks

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3546764B2 (en) * 1999-07-02 2004-07-28 日本電気株式会社 Load balancing server provided in network and node including load balancing server
US8254263B2 (en) * 2006-04-25 2012-08-28 Rockstar Bidco, LP Method and apparatus for simplifying the computation of alternate network paths
WO2008011354A2 (en) * 2006-07-18 2008-01-24 Gordon Bolt Controlled incremental multi-protocol label switching (mpls) traffic engineering

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904017B1 (en) * 2000-05-08 2005-06-07 Lucent Technologies Inc. Method and apparatus to provide centralized call admission control and load balancing for a voice-over-IP network
US7362703B1 (en) * 2003-07-10 2008-04-22 Sprint Communications Company L.P. Method for deflection routing of data packets to alleviate link overload in IP networks
US7680055B1 (en) * 2003-09-26 2010-03-16 At&T Intellectual Property Ii, L.P. Method and apparatus for increasing survivability in IP networks
US7644180B1 (en) * 2003-11-06 2010-01-05 Sprint Communications Company L.P. Method for altering link weights in a communication network to provide traffic information for improved forecasting
US20070140114A1 (en) * 2005-12-20 2007-06-21 Mosko Marc E Method and apparatus for multi-path load balancing using multiple metrics
US20070195702A1 (en) * 2006-02-17 2007-08-23 Yuen Wing H Link duration based routing protocol for multihop ad hoc networks
US20080037552A1 (en) * 2006-08-11 2008-02-14 Latitude Broadband, Inc. Methods And Systems For Providing Quality Of Service In Packet-Based Core Transport Networks

Also Published As

Publication number Publication date
US8228804B2 (en) 2012-07-24
US20090022056A1 (en) 2009-01-22
WO2009012019A1 (en) 2009-01-22

Similar Documents

Publication Publication Date Title
US8228804B2 (en) Tuning routing metrics to reduce maximum link utilization or provide failure resiliency
US7639609B2 (en) Controlled incremental multi-protocol label switching (MPLS) traffic engineering
US11588737B2 (en) Flow-based load balancing
US8773992B2 (en) Methods and apparatus for hierarchical routing in communication networks
US10574567B2 (en) Modeling a border gateway protocol network
US11310152B2 (en) Communications network management
US20060018256A1 (en) Method and apparatus for communications traffic engineering
Kvalbein et al. Post-failure routing performance with multiple routing configurations
JP4917742B2 (en) System and method for network tuning with multiprotocol label switching
US20080253290A1 (en) Optimization of Traffic Distribution in Multipath Routing
JP2005110261A (en) Method and system for controlling egress traffic load balancing between multiple service providers
US20150363240A1 (en) System for controlling resources, control pattern generation apparatus, control apparatus, method for controlling resources and program
EP1762053B1 (en) Method and system for network topology updating using topology perturbation
US6766504B1 (en) Interconnect routing using logic levels
US20040233850A1 (en) Device and a method for determining routing paths in a communication network in the presence of selection attributes
Clad et al. Graceful router updates in link-state protocols
Fortz Applications of meta‐heuristics to traffic engineering in IP networks
EP3420682A1 (en) Management of data transport networks
Li et al. Scale the data plane of software-defined networks: a lazy rule placement approach
EP2071776A1 (en) Method for routing data traffic in a network
Bauer et al. An optimization-based approach for flow table capacity bottleneck mitigation in software-defined networks
Rao et al. FloMore: Meeting bandwidth requirements of flows
Modi et al. Refinements to minimum interference routing for traffic engineering
Amin et al. An integrated network management framework for inter-domain outbound traffic engineering

Legal Events

Date Code Title Description
AS Assignment

Owner name: MORGAN STANLEY & CO. LLC, MARYLAND

Free format text: SECURITY AGREEMENT;ASSIGNORS:RIVERBED TECHNOLOGY, INC.;OPNET TECHNOLOGIES, INC.;REEL/FRAME:029646/0060

Effective date: 20121218

AS Assignment

Owner name: OPNET TECHNOLOGIES, INC., MARYLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NINAN, BOBBY;BOLT, GORDON M.;GOLDSCHMIDT, OLIVIER;SIGNING DATES FROM 20080529 TO 20080606;REEL/FRAME:030117/0090

AS Assignment

Owner name: OPNET TECHNOLOGIES LLC, MARYLAND

Free format text: CHANGE OF NAME;ASSIGNOR:OPNET TECHNOLOGIES, INC.;REEL/FRAME:030411/0290

Effective date: 20130401

AS Assignment

Owner name: RIVERBED TECHNOLOGY, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OPNET TECHNOLOGIES LLC;REEL/FRAME:030459/0372

Effective date: 20130401

AS Assignment

Owner name: RIVERBED TECHNOLOGY, INC., CALIFORNIA

Free format text: RELEASE OF PATENT SECURITY INTEREST;ASSIGNOR:MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT;REEL/FRAME:032113/0425

Effective date: 20131220

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT, NEW YORK

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:RIVERBED TECHNOLOGY, INC.;REEL/FRAME:032421/0162

Effective date: 20131220

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:RIVERBED TECHNOLOGY, INC.;REEL/FRAME:032421/0162

Effective date: 20131220

AS Assignment

Owner name: RIVERBED TECHNOLOGY, INC., CALIFORNIA

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:035521/0069

Effective date: 20150424

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:RIVERBED TECHNOLOGY, INC.;REEL/FRAME:035561/0363

Effective date: 20150424

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL

Free format text: SECURITY INTEREST;ASSIGNOR:RIVERBED TECHNOLOGY, INC.;REEL/FRAME:035561/0363

Effective date: 20150424

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: RIVERBED TECHNOLOGY, INC., CALIFORNIA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:035807/0680

Effective date: 20150424