Restoration time in networks

Information

  • Patent Grant
  • 7643408
  • Patent Number
    7,643,408
  • Date Filed
    Wednesday, March 31, 2004
    20 years ago
  • Date Issued
    Tuesday, January 5, 2010
    14 years ago
Abstract
A restoration path planner minimizes cost while meeting restoration-time constraints of a network by reducing the worst-case number of cross-connections that must be performed in a network in the event of a single element failure. The planner involves optimization that identifies primary and restoration path plans for demands within the network such that the worst-case number of cross-connections at any node within the network is minimal and/or bounded. Embodiments further constrain the cost of the path plan. In one embodiment, restoration time is bounded and cost is relaxed until a solution is found. In another embodiment, the restoration time bound is relaxed to a limit while path plans and their costs are stored. These plans can later be chosen amongst for the desired balance of cost and restoration time. At least one approach to minimization of network cost involves maximizing sharing within restoration path plans.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


The present invention relates to optical networks and, more specifically, to cost reduction and restoration time improvement in mesh optical networks.


2. Description of the Related Art


Reliability and cost are two parameters that drive the design of modem day networks. To support high reliability, it is typical to provide path redundancy for services. To control costs, it is common to attempt to maximize the utilization of available resources and generate redundant paths in consideration of multiple-cost criteria.


Generally, reliability is supported by providing both a primary path and a restoration path for each service in the network. In the event of a failure along the primary path for a service, the service is switched over to the associated restoration path. For optical mesh networks, one challenge is to support restoration times that are comparable to those provided by SONET/SDH networks with self-healing rings (e.g., 10-100 ms restoration times). To help reduce network restoration time in optical mesh networks, a number of approaches have been considered, including improving restoration signaling and associated algorithms, and improving the switching speed of cross-connection infrastructure switching elements.


SUMMARY OF THE INVENTION

One factor that determines a lower bound on restoration time is the maximum number of cross-connections to be performed at a single network element in the event of a failure. Assuming everything else is constant, the larger the number of cross-connections, the longer the restoration time. Thus, path planning can be performed which minimizes restoration time by carefully selecting primary and restoration paths for demands within a network such that the worst-case number of cross-connections is minimized across all possible single-event failures in the network.


On the other hand, the choice of primary and restoration paths for demands in a network can also affect the cost of a network where the magnitude of the effect on cost can be different depending on the cost metric that is considered (e.g., administrative weight, bandwidth, distance cost, and/or the degree to which restoration bandwidth between multiple disjoint primary paths can be shared).


Problems in the prior art are addressed in accordance with principles of the present invention by a method and apparatus for restoration-path planning that minimizes network cost while meeting an upper bound on restoration time associated with single-event failures in a mesh network.


In certain embodiments, network-cost minimization is a function of maximizing the utilization of network resources and can include the maximization of sharing of network resources (e.g., restoration bandwidth), while restoration time is bounded by application of an optimization that reduces the worst-case number of cross-connections that must be performed in a network in the event of a single element (e.g., node or link) failure.


One optimization involves two phases. The first phase of the optimization involves finding two node-disjoint paths for each service demand within a network such that the maximum link bandwidth in the network is minimized and the link bandwidths within the network are substantially leveled. The second phase involves identifying the primary and restoration paths for each service demand within the network such that the worst-case number of cross-connections at any node within the network is minimized across all possible single-event failures.





BRIEF DESCRIPTION OF THE DRAWINGS

Other aspects, features, and advantages of the present invention will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which:



FIG. 1 illustrates a method for minimizing cost within a network while meeting restoration-time requirements via the minimization of cross-connections within the network according to one embodiment of the present invention.



FIG. 2 illustrates another method for minimizing cost within a network while meeting restoration-time requirements via the minimization of cross-connections within the network according to another embodiment of the present invention.





DETAILED DESCRIPTION

Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments.


Cost and Restoration Time


Network designers typically are faced with more than one constraint in the process of network design. Although it may be important to a service provider to find a network path plan that meets the restoration-time goals of a client, it is also important, from a competitive perspective, for the service provider to do so with minimum cost. To this end, one embodiment of the present invention combines restoration-time-minimization techniques such as those discussed in Alfakih '03 with resource-sharing-maximization techniques such as those discussed in Doshi '03. As can be appreciated by one skilled in the art, there are a number of different ways to implement a solution to this problem. In the following, two exemplary procedures are discussed.


Cost Relaxation with Fixed Restoration-Time Bound


One embodiment of the present invention is illustrated by the procedure of FIG. 1. As shown in steps 102 and 104, the network topology and traffic demands, respectively, for the network are input. In step 106, the variable MinXC# is set to the graph-theoretical minimum number of cross-connections (XCs) for the network topology and traffic demands that were input in steps 102 and 104. Also, in step 106, the variable k is initialized to CostDelta, a value (e.g., one) that represents the cost relaxation step size that will be used by the procedure. In step 108, set A is set equal to the set of the primary/restoration path plans for the network that minimize cost (e.g., maximizes sharing per Doshi '03).


Next, in step 110, the variable MinCost is set equal to the maximum cost of any of the path plans in set A. The “cost” can be a bandwidth cost, administrative cost, distance cost, or a combination of one or more of those or other cost metrics that are important to the network planner, other than restoration time, which is considered separately in this implementation.


In step 112, set B is set equal to the set of primary/restoration path plans for the network whose worst-case number of XCs required at any one node after considering all possible single-event failures is less than or equal to XC#max, where XC#max is a bound on the maximum number of cross-connections that can be tolerated in the network according to some quality-of-service agreement between the service provider and the client. So, for example, if the service agreement is a bound of 300 ms, and the time for a single cross-connection is 10 ms, XC#max would be 30. XC#max, in actual implementations, may be a function of a number of different variables including traffic, message bundle sizes, signaling bandwidth, signaling processor speed, and message buffers sizes, as would be understood to one skilled in the art. XC#max is always greater than or equal to MinXC# and is sometimes initialized to be some predefined offset from MinXC#, for example XC#max=MinXC#+XC#delta.


Next, in the test of step 114, set C is assigned to be the intersection of sets A and B and this intersection is compared with the null set {0}. If C is not equal to the null set, then this means that each of the path plans in C has a maximum number of cross-connections that is within the service agreements of the network operator and also has minimum cost. In this case, the method terminates at step 116 with a set C of one or more path plans that meet the restoration time goals of the service provider at minimal cost.


If the intersection of the two sets in step 114 is null, then, in step 118, set A is set equal to the set of all primary/restoration path plans whose cost is less than (MinCost+k). In other words, the cost constraint is relaxed by one unit of CostDelta. In step 120, k is incremented by CostDelta, and, in step 122, the value of k is checked against the variable CostDeltaLimit, which had been initialized to a value (e.g., 20) that would prevent the procedure from selecting a network plan whose cost was beyond allowable bounds. If the value of k is too large, then the procedure completes with an error in step 124. If not, then processing returns to step 114 as described earlier.


In one or more embodiments, step 108 of FIG. 1 can involve use of algorithms that use multiple-cost criteria for primary/restoration path selection (see, e.g., Doshi '03), and step 112 can involve use of a multiple-phase optimization that yields path plans that exhibit a minimum number of cross-connections required at any given node in the event of a failure (see, e.g., Alfakih '03). As described in Alfakih '03, the first phase involves finding two node-disjoint paths for each service demand within a network such that the maximum link bandwidth in the network is minimized and the link bandwidths within the network are leveled. The second phase involves further constraining a commercial solver with cost goals and identifying the primary and restoration paths for each service demand within the network such that the worst-case number of cross-connections at any node within the network is minimized across all possible single-event failures within the cost constraints.


Dual Phase Solver


A two-phase embodiment of the present invention is illustrated by the procedure of FIG. 2. In step 202, the network topology and traffic demands, respectively, for the network are input. In step 204, a parameter WC#XC (worst-cast number of cross-connects) is set to a value between (1) the quantity MinXC# (minimum cross-connect number), a graph theoretical minimum number of cross-connections given the network topology and traffic demands that were input in step 202, and (2) the quantity WC#XC_Limit, a limit on the largest value of the WC#XC parameter that would be considered acceptable based on, e.g., a service-agreement requirement on network restoration time.


In step 206 (phase D, a commercial solver is run to find two node-disjoint paths for each service demand within the network such that the maximum link bandwidth in the network is minimized and the link bandwidths within the network are substantially leveled. (Two paths are referred to as node-disjoint if they have no intermediate (i.e., transit) nodes in common.) Note that one parameter used by the solver is the current value of WC#XC. Its role in the solver is to essentially limit the solution space from which the solver can select the path pairs.


In step 208, a test is performed to see if the solver found a feasible solution in step 206 (given the current value of WC#XC). If not, then, in step 210, the value of WC#XC is increased by a small increment (i.e., the constraint is relaxed somewhat), and the new value of WC#XC is then tested in step 212 to determine if it exceeds the limit WC#XC_Limit. If it does exceed the limit, then the procedure terminates in step 214. Otherwise, the procedure returns to step 206.


For a suitably large value of WC#XC_Limit, in step 206, a feasible solution will eventually be found and the test of step 208 will then pass. In this case, step 216 (phase II) is performed. Here, a solver is used for path planning. The result of the solver is that one path of each node-disjoint path pair that was found in step 206 is assigned to be a primary path for the pair's associated demand, and the other path is assigned to be the restoration path for the demand. This path planning is performed to find a path plan from within the solution space, which path plan has the characteristic that the worst-case number of cross-connections at any node within the network is minimized across all possible single-event failures.


In step 218, a test is performed to see if the worst-case number of cross-connections of the resulting path plan is less than or equal to the current value of WX#XC. If the test of step 218 passes, then, in step 220, a cost for the path plan is calculated, and the plan and its cost are saved. Next, in step 222, a constraint is formulated and added to the primary/restoration path assignment that prevents the identical path plan from being obtained the next time step 216 is performed. The path planning is then reattempted in step 216 with the additional constraint.


Eventually, the test in step 218 will fail when no more path plans can be found in step 216 that satisfy the constraint that the worst-case number of cross-connections is less than or equal to WC#XC. In this case, as shown in step 224, all the solution-limiting constraints previously added in step 222 are eliminated. In step 226, constraints or conditions are added to the load-balancing problem of step 206 to prevent the previous path-pair solution from being generated. The modified load-balancing problem is then re-solved in step 206 at the current value of WC#XC.


This process is repeated for increasing values of WC#XC until eventually the value exceeds WC#XC_Limit at step 212, in which case the procedure terminates in step 214. At this point, assuming WC#XC_Limit was chosen sufficiently large, a number of primary/restoration path plans have been stored along with their costs. These plans all have an acceptable number of worst-case cross-connections (i.e., no worse than WC#XC_Limit). The user can search these path plans for the minimum-cost plan, or can perform a tradeoff between cost and restoration time within this limited set of plans.


Note that, alternatively or additionally, step 216 can include constraints that drive the solver toward minimum-cost path plans. These constraints can be derived from multiple-cost criteria including consideration of sharing of restoration bandwidth between disjoint path failures as discussed in Doshi '03.


Path Costs


Generally, there are a number of different metric that can be applied in calculating paths for demands within a network. Various algorithms including shortest path, minimum bandwidth, and fewest hops have been proposed in the art. As networks become more complex, these cost criteria become more complex as well. For example, the cost of path administration and reconfiguration costs of various types (measured in, for example, restoration time) can also be considered along with bandwidth costs and administrative costs. Further, multiple cost criteria, weighted relative to their importance to the path-planning algorithm, can be considered concurrently. As discussed in Doshi '03, link state information (e.g., bandwidth allocation) and sharing information can be used to compute cost-efficient connection routes within a network. For path computation, link state can be reduced to an equivalent link cost and then route-computation algorithms can be considered that minimize the total path cost—where the path cost is considered to be the sum of the link costs. Depending on the possibility of sharing bandwidth on the restoration path, link costs will be different when restoration bandwidth can be shared compared to the when it cannot. (Note that when network bandwidth can be shared, sharing information can be used to compute more cost-efficient paths through the network. This can be achieved by incorporating sharing information in the link-cost metric). The two cases are described below.


No-Sharing


Link-cost calculation can be based on the administrative weight (AW) of the link, the link capacity (LC), and link's available capacity (AC). Under light and medium link utilization (LU), where LU is less than a specified utilization threshold (UT) (i.e., LU≦UT), link cost w is set equal to the AW, i.e., w=AW. Hence, under light load conditions, the link-calculation algorithm will assign links to services according to the preferences (i.e., administrative weights) assigned by the network operator. When the link load is high (LU>UT), however, the link weights are preferably calculated with the objective of load balancing and revenue maximization. The generic formula for the link cost w in this high link utilization region is based on the inverse of available capacity:









w
=


AW
·
MWC


A






C
f







(
1
)








where MWC is the maximum weight coefficient (i.e., an additional scaling factor introduced to provide continuity between the two regions of light and heavy loads) and f is an exponentiation factor (nominally set to 0.4) used to modify the available capacity variable AC. Motivation, a detailed model, and additional numerical support for this approach of weight calculation based on the inverse of available capacity are described in Dziong, Z., “ATM Network Resource Management,” McGraw-Hill, 1997, (herein “Dziong '97”) incorporated herein by reference in its entirety.


Sharing


When sharing information is available, it can be used to compute more cost-efficient (more optimal) primary and restoration paths. For example, an algorithm can be designed to compute for each possible primary path the lowest cost restoration path by utilizing the sharing information. Then from the set of all primary and restoration paths, the pair that requires least amount of additional capacity can be chosen. This path computation algorithm using the sharing information can give considerably better paths then an algorithm using no sharing information.


Sharing information can be used in finding the least cost restoration path for a given primary path. It requires adjustment of the link cost (lowering of it) based on the amount of sharing that is possible on a link along the restoration path of a particular primary path. This can be achieved by computing the sharing degree of each link in the network given the primary path. (Note that only links that are disjoint to the primary path need to be considered).


The sharing degree is defined as the maximum number of additional (unit bandwidth) primary services (along the proposed primary path) that can be added to the link without increasing the restoration bandwidth requirement of the link. In a sense, this metric provides a network planner with an idea of the restoration headroom on a link with respect to the proposed primary path. The higher the sharing degree, intuitively, the better the choice of the primary path for the new service, since a larger sharing degree for a primary path would allow future demands to be added along that path without the need to reserve additional restoration bandwidth.


Sharing degree can be calculated from an aggregate node-link vector Vnla representation of sharing information and a primary path node-link vector Vpnl representation according to the following relationship:

SD=the maximum value m for which max{m·Vpnl+Vnla}=RB,

where RB is the current reservation bandwidth on the link under consideration.


A less accurate measure of sharing degree can be calculated using a compact representations of the aggregate node-link vector. Note that, here, less accurate means that the sharing degree only provides a conservative indication of which links may be better, but it does not provide the exact bandwidth available for sharing for a particular primary path.


Sharing degree can be calculated from the node-aggregate vector Vna representation of sharing information and the primary path node vector Vpn representation according to the following relationship:

SD=the maximum value m for which max{m·Vpn+Vna}=RB.


Sharing degree can also be calculated using the binary representation of node-link or node vector. In case availability of sharing information in terms of the binary node-link vector Vnlb for a link, the sharing degree can be computed by first deriving a binary primary path node-link vector Vpnlb from the primary path node-link vector Vpnl (in the similar fashion as Vnlb can be derived from Vnla), then taking an OR of the Vpnlb (binary primary path node-link vector) and Vnlb (binary node link vector representation of the sharing information on the link), and then taking the bit AND of the resulting vector. This will result in a sharing degree of one if the sharing is possible and zero otherwise. Note that the sharing degree obtained in this manner using the binary node-link vector does not give the exact amount of sharing that is possible on the link for the primary path. It only indicates that if the sharing is possible or not.


Similarly, a more crude sharing degree can be derived by using the binary node vector information.


In one implementation, the link cost is calculated according to the following equation, which considers the sharing degree (SD) calculated as discussed earlier:






w
=


AW

(

1
+
SD

)


.





When bandwidth sharing is possible for a link, it would appear that there is no immediate bandwidth-related cost for new restoration path reservation using that link. However, when applying the Markov decision theory framework described in Dziong '97, there is a cost. This follows from the fact that the cost should be considered during the whole connection-holding time, not just at the instant of a new connection arrival. The Markov process makes it possible to consider the probabilistic cost of using the link, since, even if sharing is possible at the moment of connection arrival, in the future, with some probability, the other shared connections can be terminated and the new connection will be the sole occupant of the reserved bandwidth on that link, and hence incur a cost for reserving additional restoration bandwidth in the network. While exact calculation of such a cost seems to be very difficult, if possible, one can use this argument to employ a non-zero link cost even when sharing is possible. In one implementation, this fact can be accommodated by calculating link cost according to the following equation:









w
=

AW

(

1
+

b
·
SD


)






(
2
)








where b is a specified coefficient.


While the embodiments of this invention have been discussed with respect to implementations that pre-compute pathways, they may equally well be applied to implementations where some or all of the computation or optimization of alternative routes is computed after the failure is detected and in some cases may involve fault isolation in the alternative route determination.


While this invention has been described with respect to specific costs typically minimized in path planning algorithms inclusive of costs that are a function of sharability of network resources, other costs and multiple cost criteria can be considered, as would be understood to one skilled in the art.


While this invention has been described with respect to restoration associated with situations involving single-point failures, the concepts, and in particular, the link-state description, can be extended to multiple-point failure situations, as would be understood to one skilled in the art.


While this invention has been described with reference to illustrative embodiments, this description should not be construed in a limiting sense. Various modifications of the described embodiments, as well as other embodiments of the invention, which are apparent to persons skilled in the art to which the invention pertains are deemed to lie within the principle and scope of the invention as expressed in the following claims.


Although the steps in the following method claims, if any, are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those steps, those steps are not necessarily intended to be limited to being implemented in that particular sequence.

Claims
  • 1. A path-manager-implemented method, comprising: the path manager receiving one or more demands for service in a mesh network, which network comprises a plurality of nodes interconnected by a plurality of links; andthe path manager mapping each of the one or more demands onto a primary path and a restoration path in the network to generate at least one path plan for the one or more demands in the network, wherein the at least one path plan is generated as a function of (i) one or more cost criteria associated with the at least one path plan and (ii) a failure-related cross-connection criterion associated with the path plan by:(a) calculating a set of node-disjoint path pairs for the one or more demands based on the failure-related cross-connection criterion, wherein a node-disjoint path pair is calculated for each demand;(b) identifying primary and restoration paths for each node-disjoint path pair in the set to generate a path plan for the one or more demands;(c) determining whether the path plan satisfies the failure-related cross-connection criterion;(d) saving, when the path plan satisfies the failure-related cross-connection criterion, the path plan;(e) repeating steps (a)-(d) to generate two or more path plans that satisfy the failure-related cross-connection criterion; and(f) selecting one of the path plans based on the one or more cost criteria.
  • 2. The invention of claim 1, wherein the one or more cost criteria are a function of at least one of sharing degree, administrative weight, link utilization, and available capacity.
  • 3. The invention of claim 1, wherein, when the path plan satisfies the failure-related cross-connection criterion, steps (b)-(d) are repeated with a constraint that excludes each and every saved path plan.
  • 4. The invention of claim 3, wherein steps (b)-(d) are repeated only until the path plan fails the failure-related cross-connection criterion.
  • 5. The invention of claim 1, wherein, when the path plan fails the failure-related cross-connection criterion, steps (a)-(d) are repeated with a constraint that excludes each set of node-disjoint paths.
  • 6. The invention of claim 5, wherein, when calculating a set of node-disjoint path pairs for the one or more demands per step (a) fails to find a feasible solution, the failure-related cross-connection criterion is relaxed and steps (a)-(e) are repeated using the relaxed failure-related cross-connection criterion.
  • 7. A path manager for a mesh communications network, the manager comprising one or more computing elements, wherein the manager is adapted to: receive one or more demands for service in the mesh network, which network comprises a plurality of nodes interconnected by a plurality of links; andmap each of the one or more demands onto a primary path and a restoration path in the network to generate at least one path plan for the one or more demands in the network, wherein the at least one path plan is generated as a function of (i) one or more cost criteria associated with the at least one path plan and (ii) a failure-related cross-connection criterion associated with the path plan by:(a) calculating a set of node-disjoint path pairs for the one or more demands based on the failure-related cross-connection criterion, wherein a node-disjoint path pair is calculated for each demand;(b) identifying primary and restoration paths for each node-disjoint path pair in the set to generate a path plan for the one or more demands;(c) determining whether the path plan satisfies the failure-related cross-connection criterion;(d) saving, when the path plan satisfies the failure-related cross-connection criterion, the path plan;(e) repeating steps (a)-(d) to generate two or more path plans that satisfy the failure-related cross-connection criterion; and(f) selecting one of the path plans based on the one or more cost criteria.
  • 8. The invention of claim 7, wherein the one or more cost criteria are a function of at least one of sharing degree, administrative weight, link utilization, and available capacity.
  • 9. The invention of claim 7, wherein, when the path plan satisfies the failure-related cross-connection criterion, steps (b)-(d) are repeated with a constraint that excludes each and every saved path plan.
  • 10. The invention of claim 9, wherein steps (b)-(d) are repeated only until the path plan fails the failure-related cross-connection criterion.
  • 11. The invention of claim 7, wherein, when the path plan fails the failure-related cross-connection criterion, steps (a)-(d) are repeated with a constraint that excludes each set of node-disjoint paths.
  • 12. The invention of claim 11, wherein, when calculating a set of node-disjoint path pairs for the one or more demands per step (a) fails to find a feasible solution, the failure-related cross-connection criterion is relaxed and steps (a)-(e) are repeated using the relaxed failure-related cross-connection criterion.
  • 13. The invention of claim 7, wherein the failure-related cross-connection criterion specifies a maximum number of cross-connections that are changed in any node in the network following a failure in the network, wherein a path plan does not satisfy the failure-related cross-connection criterion if the number of failure-related cross-connections that are changed in any node in the path plan following a failure in the network exceeds the specified maximum number.
  • 14. The invention of claim 1, wherein the failure-related cross-connection criterion specifies a maximum number of cross-connections that are changed in any node in the network following a failure in the network, wherein a path plan does not satisfy the failure-related cross-connection criterion if the number of failure-related cross-connections that are changed in any node in the path plan following a failure in the network exceeds the specified maximum number.
  • 15. A path-manager-implemented method, comprising: the path manager receiving one or more demands for service in a mesh network, which network comprises a plurality of nodes interconnected by a plurality of links; andthe path manager mapping each of the one or more demands onto a primary path and a restoration path in the network to generate at least one path plan for the one or more demands in the network, wherein the at least one path plan is generated as a function of (a) one or more cost criteria associated with the at least one path plan and (b) a failure-related cross-connection criterion associated with the path plan by: calculating a first set of one or more path plans that satisfy the one or more cost criteria;calculating a second set of one or more path plans that satisfy the failure-related cross-connection criterion;determining whether the first and second sets have any path plans in common; andif not, then, until the first and second sets have at least one path plan in common, relaxing the one or more cost criteria and recalculating the first set.
  • 16. The invention of claim 15, wherein the failure-related cross-connection criterion specifies a maximum number of cross-connections that are changed in any node in the network following a failure in the network, wherein a path plan does not satisfy the failure-related cross-connection criterion if the number of failure-related cross-connections that are changed in any node in the path plan following a failure in the network exceeds the specified maximum number.
  • 17. The invention of claim 15, wherein the one or more cost criteria are a function of at least one of sharing degree, administrative weight, link utilization, and available capacity.
  • 18. A path manager for a mesh communications network, the manager comprising one or more computing elements, wherein the manager is adapted to: receive one or more demands for service in the mesh network, which network comprises a plurality of nodes interconnected by a plurality of links; andmap each of the one or more demands onto a primary path and a restoration path in the network to generate at least one path plan for the one or more demands in the network, wherein the at least one path plan is generated as a function of (a) one or more cost criteria associated with the at least one path plan and (b) a failure-related cross-connection criterion associated with the path plan by: calculating a first set of one or more path plans that satisfy the one or more cost criteria;calculating a second set of one or more path plans that satisfy the failure-related cross-connection criterion;determining whether the first and second sets have any path plans in common; andif not, then, until the first and second sets have at least one path plan in common, relaxing the one or more cost criteria and recalculating the first set.
  • 19. The invention of claim 18, wherein the failure-related cross-connection criterion specifies a maximum number of cross-connections that are changed in any node in the network following a failure in the network, wherein a path plan does not satisfy the failure-related cross-connection criterion if the number of failure-related cross-connections that are changed in any node in the path plan following a failure in the network exceeds the specified maximum number.
  • 20. The invention of claim 18, wherein the one or more cost criteria are a function of at least one of sharing degree, administrative weight, link utilization, and available capacity.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of the filing date of U.S. provisional application No. 60/459,163, filed on Mar. 31, 2003, incorporated herein by reference in its entirety. The subject matter of this application is related to U.S. patent application Ser. No. 10/673,383 filed on Sep. 26, 2003, incorporated herein by reference in its entirety (herein “Doshi '03”) and U.S. patent application Ser. No. 10/673,056 filed on Sep. 26, 2003, also incorporated herein by reference in its entirety (herein “Alfakih '03”)

US Referenced Citations (136)
Number Name Date Kind
4190821 Woodward Feb 1980 A
4594709 Yasue Jun 1986 A
4797882 Maxemchuk Jan 1989 A
5365518 Noser Nov 1994 A
5452286 Kitayama Sep 1995 A
5506956 Cohen Apr 1996 A
5706276 Arslan et al. Jan 1998 A
5754543 Seid May 1998 A
5854903 Morrison et al. Dec 1998 A
5856981 Voelker Jan 1999 A
5881048 Croslin Mar 1999 A
5933422 Kusano et al. Aug 1999 A
5933425 Iwata Aug 1999 A
5956339 Harada et al. Sep 1999 A
5995485 Croslin Nov 1999 A
6075766 Croslin Jun 2000 A
6097696 Doverspike Aug 2000 A
6104701 Avargues et al. Aug 2000 A
6130875 Doshi et al. Oct 2000 A
6141319 Dighe et al. Oct 2000 A
6205117 Doshi et al. Mar 2001 B1
6282170 Bentall et al. Aug 2001 B1
6477582 Luo et al. Nov 2002 B1
6512740 Baniewicz et al. Jan 2003 B1
6538987 Cedrone et al. Mar 2003 B1
6549513 Chao et al. Apr 2003 B1
6606303 Hassel et al. Aug 2003 B1
6643464 Roorda et al. Nov 2003 B1
6697334 Klincewicz et al. Feb 2004 B1
6711125 Walrand et al. Mar 2004 B1
6725401 Lindhorst-Ko Apr 2004 B1
6744727 Liu et al. Jun 2004 B2
6760302 Ellinas et al. Jul 2004 B1
6778492 Charny et al. Aug 2004 B2
6795394 Swinkels et al. Sep 2004 B1
6807653 Saito Oct 2004 B2
6842723 Alicherry et al. Jan 2005 B2
6850487 Mukherjee et al. Feb 2005 B2
6856592 Grover et al. Feb 2005 B2
6863363 Yabuta Mar 2005 B2
6882627 Pieda et al. Apr 2005 B2
6895441 Shabtay et al. May 2005 B1
6904462 Sinha Jun 2005 B1
6977889 Kawaguchi et al. Dec 2005 B1
6982951 Doverspike et al. Jan 2006 B2
6990068 Saleh et al. Jan 2006 B1
6996065 Kodialam et al. Feb 2006 B2
7009991 Shachar et al. Mar 2006 B2
7039009 Chaudhuri et al. May 2006 B2
7042836 Isonuma et al. May 2006 B2
7099286 Swallow Aug 2006 B1
7110356 Illikkal et al. Sep 2006 B2
7133358 Kano Nov 2006 B2
7164652 Puppa et al. Jan 2007 B2
7180852 Doverspike et al. Feb 2007 B1
7188280 Shinomiya et al. Mar 2007 B2
7197008 Shabtay et al. Mar 2007 B1
7209975 Zang et al. Apr 2007 B1
7218851 Zang May 2007 B1
7248561 Ishibashi et al. Jul 2007 B2
7272116 Houchen Sep 2007 B1
7274869 Pan Sep 2007 B1
7280755 Kang et al. Oct 2007 B2
7286489 Ades Oct 2007 B2
7301895 Saleh et al. Nov 2007 B2
7308198 Chudak et al. Dec 2007 B1
7342873 Nagarajan Mar 2008 B1
7352692 Saleh et al. Apr 2008 B1
7362709 Hui et al. Apr 2008 B1
7398321 Qiao et al. Jul 2008 B2
7430164 Bare Sep 2008 B2
7477657 Murphy et al. Jan 2009 B1
7502313 Saleh et al. Mar 2009 B2
20010038471 Agrawal et al. Nov 2001 A1
20010048660 Saleh et al. Dec 2001 A1
20020004843 Andersson et al. Jan 2002 A1
20020009092 Seaman et al. Jan 2002 A1
20020059432 Masuda et al. May 2002 A1
20020067693 Kodialam et al. Jun 2002 A1
20020071392 Grover et al. Jun 2002 A1
20020097671 Doverspike et al. Jul 2002 A1
20020118636 Phelps et al. Aug 2002 A1
20020141334 Deboer et al. Oct 2002 A1
20020174207 Battou Nov 2002 A1
20020181444 Acampora Dec 2002 A1
20020191247 Lu et al. Dec 2002 A1
20020194339 Lin et al. Dec 2002 A1
20030005165 Langridge et al. Jan 2003 A1
20030009582 Qiao et al. Jan 2003 A1
20030016624 Bare Jan 2003 A1
20030018812 Lakshminarayana et al. Jan 2003 A1
20030021222 Boer et al. Jan 2003 A1
20030037276 Mo et al. Feb 2003 A1
20030048749 Stamatelakis et al. Mar 2003 A1
20030065811 Lin et al. Apr 2003 A1
20030095500 Cao May 2003 A1
20030112760 Puppa et al. Jun 2003 A1
20030117950 Huang Jun 2003 A1
20030147352 Ishibashi et al. Aug 2003 A1
20030169692 Stern et al. Sep 2003 A1
20030179700 Saleh et al. Sep 2003 A1
20030179701 Saleh et al. Sep 2003 A1
20030193944 Sasagawa Oct 2003 A1
20030223357 Lee Dec 2003 A1
20040004938 Buddhikot et al. Jan 2004 A1
20040008619 Doshi et al. Jan 2004 A1
20040032831 Matthews Feb 2004 A1
20040042402 Galand et al. Mar 2004 A1
20040052207 Charny et al. Mar 2004 A1
20040057375 Shiragaki et al. Mar 2004 A1
20040114512 Johri Jun 2004 A1
20040165526 Yada et al. Aug 2004 A1
20040174882 Willis Sep 2004 A1
20040184402 Alicherry et al. Sep 2004 A1
20040186696 Alicherry et al. Sep 2004 A1
20040190441 Alfakih et al. Sep 2004 A1
20040190445 Dziong et al. Sep 2004 A1
20040190461 Gullicksen et al. Sep 2004 A1
20040205239 Doshi et al. Oct 2004 A1
20040208547 Sabat et al. Oct 2004 A1
20040233843 Barker Nov 2004 A1
20050036442 Saleh et al. Feb 2005 A1
20050185652 Iwamoto Aug 2005 A1
20050201276 Sinha Sep 2005 A1
20050232144 Doverspike et al. Oct 2005 A1
20060013149 Jahn et al. Jan 2006 A1
20060051090 Saniee et al. Mar 2006 A1
20060153066 Saleh et al. Jul 2006 A1
20060178918 Mikurak Aug 2006 A1
20070011284 Le Roux et al. Jan 2007 A1
20070104120 Shah-Heydari May 2007 A1
20070189191 Ades Aug 2007 A1
20080095045 Owens et al. Apr 2008 A1
20080225696 Saleh et al. Sep 2008 A1
20080310299 Saleh et al. Dec 2008 A1
20090040989 da Costa et al. Feb 2009 A1
Related Publications (1)
Number Date Country
20040205236 A1 Oct 2004 US
Provisional Applications (1)
Number Date Country
60459163 Mar 2003 US