ANALGORITHMICFRAMEWORKFORPROTECTIONSWITCHINGIN
WDM NETWORKS
Kayi Lee Kai-Yeung (Sunny) Siu
1
Massachusetts Institute of Technology Raza Foundries, Inc.
kylee@mit.edu ssiu@razafoundries.com
Abstract
In a WDM network, a single component failure may lead to multiple failures in the logical topology.
Protection switching schemes that adopt traditional edge-disjoint or node-disjoint path-selection
algorithms may not be able to protect the active connections properly. In this paper, we generalize the
disjoint path problem by providing a framework that can model arbitrary types of failures, so that a
solution to the problem can be applied to protectionswitchinginWDM networks. We prove the
necessary and sufficient condition for the existence of disjoint paths that are free from simultaneous
disruption by a single failure. The necessary and sufficient condition suggests a way to find such disjoint
paths. Based on the result, we formulate an integer linear program (ILP) that finds the disjoint paths.
1. Introduction
Protection switching is a mechanism designed for providing reliable connection-oriented services
resilient to network failures. With protection switching, a network provisions a working path and a
protection path between the source and destination when a connection request is initiated. The working
and protection paths are routed in the network such that any network failure would affect at most one of
the paths. In a normal situation, the source/destination pair of a connection communicate over the
working path. However, when there is a network failure breaking the working path, the source and
destination can immediately switch their communication channel to the protection path, so that
transmission of data will not be disrupted by the network failure. Figure 1 illustrates the concept of
protection switching. Under normal conditions, the nodes A and B communicate via the working path. In
the case of a link failure, the working path is broken. As a result of protection switching, the two end
nodes switch to the protection path to communicate. From the perspective of the end users, the link failure
is invisible to them as long as the switching is fast enough.
Figure 1: ProtectionSwitching
1
K Y. Siu is currently on leave from MIT.
Working path
Protection path
A
B
In practice, there are different ways to implement protection switching. For example, the source
node may transmit data over the working and protection paths simultaneously. The destination node will
try to retrieve the data from the working path. In the case of a failure on the working path, the destination
node will detect the loss of connection and switch to the protection path for the data. This is usually called
1+1 protection. On the other hand, the source may only transmit data along the working path, but not the
protection path, during normal operation of the network. When a failure breaks the working path, the
destination node will detect the failure and signal the source node to switch to the protection path. Since
the protection path is not normally used, the bandwidth along the protection path can be shared with other
protection paths [2, 3, 4]. The latter implementation, typically referred to as shared protection, is more
bandwidth efficient but requires a more complicated signaling protocol. The actual implementation
adopted forprotectionswitching is outside the scope of this paper. For more previous work about
protection switchingin optical networks, please refer to [2-8, 13, 14].
This paper focuses on the routing issue forprotection switching. In particular, we study the
problem of finding a pair of disjoint paths in the network, so that a single failure on a network will disrupt
at most one of the paths. A special case of this general disjoint path problem has been widely studied in
the literature, which mostly focused on link failures. This gives rise to an interesting problem of finding
edge-disjoint paths in the network. Two paths are edge-disjoint if they do not share any edge. Similarly,
node failures in a network have also been considered, which results in a similar problem of finding node-
disjoint paths. In a network where single node or link failure is the primary concern, node-disjoint or
edge-disjoint paths between the source and destination can serve well as the working and protection paths
for the purpose of protection switching. Fast algorithms have been designed to find node and edge disjoint
paths [9-12, 15-18].
However, inWDMnetworks [20], diverse routing of working and protection paths can be more
complicated. For a WDM network, traffic is routed on a logical topology, which is formed by establishing
lightpaths over the physical network [21]. A single failure of an optical component, however, may result
in a number of lightpaths failing simultaneously. Inan example of a fiber cut, all the lightpaths that
traverse the fiber will be broken. Figure 2 and 3 give a simple example illustrating the problem. Figure 2
illustrates the physical topology of a WDM network that supports 2 wavelengths. Lightpaths are
established and routed on the physical topology using the 2 wavelengths. In Figure 3, the corresponding
logical topology formed by the lightpaths is illustrated. Note that between nodes A and F, there are 2
edge-disjoint paths A-C-F and A-D-E-F on the logical topology. Now consider a failure at the physical
link C-D. Since there are two lightpaths A-C and D-E traversing the link, they will be broken on the
logical topology at the same time. As a result, multiple failures on the logical topology occur even if only
a single component fails, and the two edge-disjoint paths are broken simultaneously. Therefore, routing
algorithms based on the assumption of single node/edge failure are not particularly useful inWDM
logical networks. In addition, sometimes it may be necessary to consider other failure events in addition
to a single node or link failure, such as a power outage in a region that causes multiple nodes to break
down. It is difficult to augment such specially designed algorithms to accommodate the more general
problem.
In this paper, we consider a unified frameworkfor the disjoint path problem, where arbitrary
failure events can be modeled as input parameters. In particular, the assumptions about the single node
and single edge failure can be easily captured in the framework as special cases. The framework is closely
tied to the concept of “shared risk link group” (SRLG) proposed in the IETF IP-over-WDM standard [1].
Within this framework, we prove the necessary and sufficient condition for the existence of a pair of paths
that are free from simultaneous disruption by a single failure. This necessary and sufficient
condition suggests a way to find such disjoint paths. Based on this result, we present an integer linear
program (ILP) formulation to find disjoint paths.
Figure 2: Physical topology with lightpath connections
Figure 3: Logical topology and the broken logical links
The paper is organized as follows. In Section 2, we describe the framework and formulate the
disjoint path problem as a graph problem. Section 3 discusses some of the most related work to our
problem and points out the contribution of our work. In Section 4, we present some graph theoretic results
related to the disjoint path problem and, in particular, state the necessary and sufficient condition for a
pair of disjoint paths to exist. We also discuss how this result may lead us to algorithms for finding the
disjoint paths. In Section 5, we formulate the disjoint path problem as an optimization problem, and
present an integer linear program to solve it. Section 6 concludes the paper and suggests some future
work.
2. Problem Formulation
We are interested in finding a pair of disjoint paths, that is, a pair of paths that are not vulnerable
to a common failure. We describe a framework that captures arbitrary types of failure events and
formulate the disjoint path problem as a graph problem. We first describe the input parameters of the
framework, and then define the disjoint path problem.
The logical topology of the network is modeled by an undirected graph G=(V, E), where V is the
set of nodes and E is the set of edges. The input parameters consist of a pair of source and destination
E
B
C
F
E
D
A
Lightpaths
λ
1
λ
2
C
F
B
D
A
nodes (s, t), where s and t are nodes in V, and a family of edge-sets F = {S
1
, S
2
, … S
k
} that models the
failure events. Each S
i
is a subset of E and corresponds a single failure event. Specifically, each S
i
contains the set of edges in the graph G that are affected by the failure. For example, if S
i
corresponds to a
fiber cut in a WDM network, then S
i
will contain all the lightpaths on the logical topology that traverse
the fiber. By assuming each S
i
to be arbitrary, we allow a very general framework to model different types
of failures.
Let P be a path in the graph and let S
i
be an edge-set. The path P hits the set S
i
if P contains an
edge in S
i
. Also, given a family of failure events F = {S
1
, S
2
, … S
k
}, two paths are F-disjoint if they do
not hit a common edge-set in F. Given the above definitions, the disjoint path problem is formulated as
finding a pair of F-disjoint paths between nodes s and t, given the input parameters.
We note that this framework can easily capture the node-disjoint and edge-disjoint paths
problems, by defining F in different ways. For example, if each S
i
in F contains exactly one edge in G
such that each edge in the graph is represented by a set in F, the problem is reduced to finding a pair of
edge-disjoint paths. On the other hand, if each S
i
corresponds to a node v in the graph and contains all the
edges adjacent to the node v, the problem is reduced to finding a pair of node-disjoint paths.
Before we proceed, we first define some notions for the framework. Most of these definitions are
extensions from classical graph theory, with the family of failure events F incorporated into the
notions.
1. F-disjoint paths: As defined above, two paths are F-disjoint if they do not hit a common
edge-set in F.
2. F-biconnectivity: A graph G with a family of failure events F is F-biconnected if
removing any edge-set in F from the graph G does not disconnect G.
Note that this generalizes the notions of node-biconnectivity and edge-
biconnectivity in graph theory.
3. Cut Set: A set of edges is a cut set for a graph if removal of the edges makes the
graph disconnected. Similarly, a family of edge-sets F = {S
1
, S
2
, … S
k
}
is a cut set if
F∈ S
i
i
S is a cut set.
4. s-t Cut: A set of edges is an s-t cut for a node pair (s, t) if removal of the edges
disconnects s and t in the graph. Similarly, a family of edge-sets F =
{S
1
, S
2
, … S
k
} is an s-t cut if
F∈ S
i
i
S is an s-t cut.
5. Minimal s-t Cut: A family of edge-sets F is a minimal s-t cut if it is an s-t cut and any
proper sub-family of F is not.
3. Related Work
The complexity of the disjoint path problem formulated in the previous section remains to be an
open question. To the best of our knowledge there is neither a proof of NP-completeness nor a polynomial
time algorithm that solves the problem. In the paper of Bhandari [9] and subsequently the book written by
the same author [11], the same problem presented in a different setting was tackled. In [11], it was
suggested that this general problem is very complicated and believed to be NP-complete. However, a
formal proof was not given. As a result, in [11] an algorithm that enumerates all the feasible disjoint paths
exhaustively was proposed. In [11, 12], heuristic algorithms were presented.
The problem of survivable routing of logical topologies, studied by Armitage et al [13] and
Modiano et al [14], is closely related to our problem. A survivable routing of a given logical topology is
an embedding (that is, a routing of every lightpmath on the logical network over the physical topology,)
of the logical topology over a given physical topology, so that a failure of any physical link does not
disconnect the logical network (we call this the connectivity requirement). In [13], the authors proposed
an algorithm minimizing the number of disconnected node pairs on the logical topology upon a single
physical link failure. In [14], the authors proved the necessary and sufficient condition for a routing to be
survivable, and formulated the problem as an integer linear program, the solution of which represents a
survivable routing of the logical network over the physical topology. However, the connectivity
requirement considered in the problem in [13, 14] only enables an alternate path to be discovered after a
failure occurs (known as restoration in the literature). For mission-critical services that require traffic
switch to the protection path instantaneously when a failure occurs, it is necessary to predetermine the
protection path a priori, independent of the type of failure that may affect the working path, so that the
end nodes can switch to the protection path without further path computation. As we will show in the
following section, the connectivity requirement is not sufficient to guarantee the existence of such a
predetermined protection path. In fact, a more stringent requirement on the logical network is needed. We
will state the requirement precisely in the following section.
4. Some Graph Theoretic Results
Efficient algorithms for finding node-disjoint and edge-disjoint paths can be designed based on
the famous Menger’s Theorem [19], a version of which states that a pair of node/edge-disjoint paths exist
between the node pair (s, t) if and only if removing any node/edge in the network does not disconnect the
nodes, that is, the node pair is node/edge-biconnected.
It is tempting to generalize Menger’s Theorem to our framework and then apply the similar
techniques used in existing algorithms for finding node/edge-disjoint paths. A natural conjecture for the
generalized Menger’s Theorem would be that there exists a pair of F-disjoint paths between two nodes in
the graph G if and only if the two nodes are F-biconnected. This is not true, however, as illustrated in the
Figure 4. In Figure 4, a connection request is to be established between s and t. Consider the case where
the family of failure events F is
{{a, b}, {b, c}, {a, c}}. Even though removing any of the edge-sets
from the graph does not disconnect the pair of nodes, it is impossible to find a pair of F disjoint paths
connecting s and t, since any s-t path in the graph hits two of the three edge-sets. Therefore, even if a
logical network remains connected upon a single failure, it cannot guarantee a predetermined protection
path for the working path. A more stringent condition on the logical network is required to provide such a
guarantee.
The necessary and sufficient condition for the existence of F-disjoint paths on a network is stated
in Theorem 1. Before we proceed, we assume that the family of edge-sets F is a cut set. This assumption
is justified for the following reason: If F is not a cut set, then there is an s-t path in the graph that does not
hit any of the edge-sets in F at all. In other words, this particular path is not vulnerable to any failures,
and it is not necessary to find a protection path for it.
a
b
c
Figure 4: A network with the failure event descriptions
Theorem 1
Given an undirected graph G=(V, E), a pair of nodes (s ,t) and a family F of subsets of E, there is a pair
of F-disjoint paths between s and t if and only if F can be partitioned into two non-empty sub-families F
1
and F
2
, such that none of them is an s-t cut.
Proof
Suppose F can be partitioned into F
1
and F
2
such that none of them is an s-t cut. Then we can
find a pair of F-
disjoint paths connecting the two nodes, in the following way: First, remove all the edges
in F
1
from the graph G. Since F
1
does not cut s and t, there is a path between s and t in the resulting graph.
Let this path be P
1
. By the way P
1
is constructed, it does not hit any set in F
1
. Now we remove all the
edges in F
2
from G and let a path connecting s and t in the resulting graph be P
2
. This path does not hit
any edge-set in F
2
. As a result, P
1
and P
2
are F-
disjoint.
On the other hand, suppose there is a pair of F-disjoint paths between s and t, namely P
1
and
P
2
. Let F
1
be the sub-family of edge-sets hit by P
1
and set F
2
= F \F
1
. Then F
1
and F
2
form a partition of
F. Also, note that both F
1
and F
2
are non-empty, since otherwise this would imply that F is not a cut set,
contradicting our assumption.
Now we prove that none of F
1
and F
2
is an s-t cut. First, by the way F
1
and F
2
are constructed, the
path P
1
does not hit any sets in F
2
. Therefore, if all the edges in F
2
are removed from the graph, the path
P
1
still remains in the graph. Therefore, F
2
is not an s-t cut. In addition, since P
1
and P
2
are F-disjoint, P
2
does not hit any set in F
1
. Therefore, the path P
2
will remain in the graph if all the edges in F
1
are
removed. Therefore, F
1
is not an s-t cut either.
From the proof of Theorem 1, once we find a partition for the family F, obtaining a pair of F-
disjoint paths is straightforward. This suggests a way of finding F-disjoint paths between a pair of nodes.
In particular, the disjoint path problem is reduced to the problem of partitioning F into two non-cut sub-
families. In the next section, this partitioning problem is reconsidered as an optimization problem, which
will be formulated as an integer linear program.
t
s
Failure Events
Event 1
Event 2
Event 3
5. An Integer Linear Program Formulation
In the case where a pair of F-disjoint paths cannot be found in the network, it is still desirable to
find a pair of paths that are the least likely to be both affected by a single failure. This can be formulated
as an optimization problem, where the objective function is the number of common failures that the two
paths are vulnerable to. If each failure event is given a certain weight that captures its likelihood, the
objective would be to minimize the total weight of the common failures.
Equivalently, we can reformulate the partitioning problem to achieve the same objective.
Assuming each edge-set in the family F is weighted, the reformulated problem would be partitioning the
family of edge-sets F into 3 sub-families F
1
, F
2
and F
3
, such that neither F
1
nor F
2
are cut sets. The
objective is to minimize the total weight of the elements in F
3
. The reasoning of the formulation can be
explained as follows. If F
1
is not a cut set, then we can find a path P
1
in the graph without the edges in F
1
.
Potentially, P
1
may hit the sets in F
2
and F
3
. Similarly, with the edges in F
2
removed from the graph, we
can find a path P
2
that potentially hits the sets only in F
1
and F
3
. As a result, F
3
contains the edge-sets
corresponding to failures that are potentially disruptive to both paths. Therefore, the objective of
minimizing the weight of F
3
helps to reduce the likelihood that two paths are disrupted by a single failure.
To formulate the partitioning problem as an integer linear program, we create 3 variables x
i
, y
i
, z
i
for each edge-set S
i
in F. These variables take the values of 0 or 1 indicating whether the set S
i
belongs to
partition F
1
, F
2
or F
3
. Given that the weight of each set S
i
is w
i
, the integer program can be formulated as
follows:
Min
ii
zw
s.t. 1|| −≤
∈
C
C
i
S
i
x
∀
minimal s-t cut C
1||
−≤
∈
C
C
i
S
i
y
∀
minimal s-t cut C
x
i
+y
i
+z
i
=1
∀
S
i
∈
F
x
i
, y
i
, z
i
∈
{0, 1}
A solution given by the integer program determines how the family F
should be partitioned. If
x
i
=1, the edge-set S
i
belongs to F
1
. If y
i
=1, the edge-set S
i
belongs to F
2
. Similarly, if z
i
=1, the edge-set S
i
belongs to F
3
.
In the integer program formulation, the first two sets of constraints make sure that neither F
1
nor
F
2
contains a minimal s-t cut. This implies none of the sub-families F
1
and F
2
are s-t cuts. The third
constraint requires that each edge-set S
i
belong to exactly one of the three sub-families. In other words,
the constraint ensures a partitioning of F. The objective of the integer program is to minimize the total
weight of edge-sets in F
3
. Therefore, by solving this ILP, we can find a pair of s-t paths that are the least
likely to be disrupted by a single failure.
6. Conclusion and Future Work
We describe a frameworkfor the general disjoint path problem. The general framework allows us
to model arbitrary types of failure events by capturing them as input parameters. We show that this
generalization from the traditional node/edge-disjoint paths problem is non-trivial, and may make the
disjoint path problem considerably harder. We also prove a necessary and sufficient condition for the
logical network under which a pair of disjoint paths can be found. This necessary and sufficient condition
is useful in two ways: First, it helps us look at the problem in a different way and reduces the disjoint path
problem to a set partitioning problem, for which an integer linear program is formulated. Second, the
necessary and sufficient condition describes a requirement for the design of a logical network that
supports protection switching. Such a requirement sets an important guideline for routing lightpaths on
the physical network.
There are a number of interesting problems related to our work. First, design and performance
study of heuristic or approximation algorithms for the disjoint path problem would be useful when
solving the integer linear program is considered impractical. Second, our work has only considered
protection switchingfor a single connection on the logical topology. A natural extension of the problem is
to consider multiple connections, in which case the capacity of the logical links would become an issue if
they can be shared by several connections. Finally, the survivable routing problem studied in [13, 14] can
be reconsidered, with the notion survivable routing defined differently. Instead of routing the lightpaths
such that the logical network remains connected upon a single link failure, lightpaths should be routed in
a way that satisfies the necessary and sufficient condition presented in this paper. In that case, the logical
network created is able to support protection switching.
References
[1] R. Doverspike and J. Yates, “Challenges for MPLS in optical network restoration,” IEEE
Communications Magazine, vol. 39, no. 2, pp.89-96, February 2001.
[2] S. Ramamurthy and B. Mukherjee, “Survivable WDM mesh networks, part I – protection,” in
Proceedings of IEEE INFOCOM ’99.
[3] S. Ramamurthy and B. Mukherjee, “Survivable WDM mesh networks, part II – restoration,” in
Proceedings of the IEEE International Conference on Communications, 1999.
[4] G. Sahin and M. Azizoglu, “Optical layer survivability: single service class case,” in Proceedings
of Opticomm 2000.
[5] M. Alanyali and E. Ayanoglu, “Provisioning algorithms forWDM optical networks,” in
Proceedings of IEEE INFOCOM ’98.
[6] S. Lumetta and M. Medard, “Towards a deeper understanding of link restoration algorithms for
mesh networks,” in Proceedings of IEEE INFOCOM ’01.
[7] R. Barry, S. Finn and M. Medard, “WDM loop-back in mesh networks,” in Proceedings of IEEE
INFOCOM ’99.
[8] T. Wu, Fiber Network Service Survivability, Artech House, 1992.
[9] R. Bhandari, “Optimal diverse routing in telecommunication fiber networks,” in Proceedings of
IEEE INFOCOM ’94.
[10] R. Bhandari, “Optimal physical diversity algorithms and survivable networks”, in Proceedings of
IEEE Symposium on Computers and Communication, 1997.
[11] R. Bhandari, Survivable Networks: Algorithms for Diverse Routing, Kluwer Academic Publishers,
1999.
[12] S. Shaikh, “Span-disjoint paths for physical diversity in networks,” in Proceedings of IEEE
Symposium on Computers and Communications, 1995.
[13] J. Armitage, O. Crochat and J Y. Le Boudec, “Design of a survivable WDM photonic network,” in
Proceedings of IEEE INFOCOM ’97.
[14] E. Modiano and A. Narula-Tam, “Survivable routing of logical topologies inWDM networks,” in
Proceedings of IEEE INFOCOM ’01.
[15] J. Suurballe, “Disjoint paths in a network,” Networks, vol. 4, 1974, pp. 125-145.
[16] J. Suurballe and R. Tarjan, “A quick method for finding shortest pairs of disjoint paths,” Networks,
vol. 14, 1984, pp.325-336.
[17] D. Sidhu, R. Nair and S. Abdallah, “Finding disjoint paths in networks,” in Proceedings of the
conference on Communications architecture and protocols, SIGCOMM ’91.
[18] R. Ogier and N. Shacham, “A distributed algorithm for finding shortest pairs of disjoint paths,” in
Proceedings of IEEE INFOCOM ’89.
[19] R. Diestel, Graph Theory, Springer-Verlag, 2000, pp.50-55.
[20] R. Ramaswami and K. Sivarajan, Optical Networks: A Practical Perspective, Morgan Kaufmann
Publishers, 1998.
[21] R. Ramaswami and K. Sivarajan, “Design of logical topologies for wavelength-routed optical
networks,” IEEE JSAC/JLT Special Issue on Optical Networks, vol. 14, no. 5, June 1996.
. formulate an integer linear program (ILP) that finds the disjoint paths.
1. Introduction
Protection switching is a mechanism designed for providing reliable. case,” in Proceedings
of Opticomm 2000.
[5] M. Alanyali and E. Ayanoglu, “Provisioning algorithms for WDM optical networks, ” in
Proceedings of IEEE INFOCOM