ABSTRACT: In this paper, we develop a new approach for resilient

A Method for Implementation of Independent Directed Acyclic
Graphs for Resilient Multipath Routing
N. SHANKER1, SHAIK TANVEER AHMED2,, B. HARIKRISHNA3
1
PG Scholar, CSE Dept, 2PG Scholar, CSE Dept, 3PG Scholar CSE Dept,
1,2,3
Sreyas Institute of Technology & Science, Nagole, Hyderabad, Telangana.
1
[email protected], [email protected], [email protected]
ABSTRACT: In this paper, we develop a new approach for
resilient multipath routing. We introduce the concept of
Independent Directed Acyclic Graphs (IDAGs), an extension of
independent trees. Link-independent (Node-independent) DAGs
satisfy the property that any path from a source to the root on
one DAG is link-disjoint (node-disjoint) with any path from the
source to the root on the other DAG. Given a network, we
develop algorithms to compute link-independent and nodeindependent DAGs. The algorithm guarantees that every edge
other than the ones emanating from the root may be used in
either of the two node-disjoint DAGs in a two-vertex-connected
network. In order to achieve resilient multipath routing we
introduce the concept of Independent Directed Acyclic
Graphs(IDAGs) in this study. Link-independent (Nodeindependent) DAGs satisfy the property that any path from a
source to the root on one DAG is link-disjoint (node-disjoint) with
any path from the source to the root on the other DAG. Given a
network, we develop polynomial time algorithms to compute linkindependent and node-independent DAGs. The algorithm
developed in this paper:
(1) provides multipath routing; (2) utilizes all possible edges;
(3) guarantees recovery from single link failure; and
(4) achieves all these with at most one bit per packet as
overhead when routing is based on destination address and
incoming edge. We show the effectiveness of the proposed
IDAGs approach by comparing key performance indices to
that of the independent trees and multiple pairs of
independent trees techniques through extensive simulations.
Index Terms—Multipath routing, Directed Acyclic Graphs,
IP Fast Rerouting, Independent Trees, Failure Recovery,
Network Protection
I. INTRODUCTION
The increasing use of streaming multimedia and voiceover-IP, precipitated by decreasing cost of handheld
multimedia devices and net books, necessitates increased
bandwidth provisioning and fast recovery from network
failures. Thus, present day IP networks employ several
different strategies for improved end-to-end bandwidth and
load balancing (using multipath routing) and fast recovery
from link and node failures (using fast rerouting strategies).
Multipath routing is a promising routing scheme to
accommodate these requirements by using multiple pairs of
routes between a source and a destination.
With the scheme we can achieve robustness, load balancing,
bandwidth aggregation, congestion reduction, and security
compared to the single shortest path routing that is usually
used in most networks. This approach is similar to those
employing multiple routing tables, except that only two tables are
required. Every packet may carry an extra bit in its header to indicate
the tree to be used for routing. This overhead bit may be avoided by
employing a routing based on the destination address and the
incoming edge over which the packet was received, as every
incoming edge will be present on exactly one of the trees has to
carry in its header the routing table to be used for forwarding.
When the corresponding forwarding edge is not available, the
packet needs to be dropped.
This dropping is forced due to the potential looping of
packets when transferred from one routing table to another.
In the case of DAGs, computed by adding edges to the
shortest path tree, one cannot guarantee that a single link
failure will not disconnect one or more nodes from the
destination. Techniques developed for fast recovery from
single link failures provide more than one forwarding edge to
route a packet to a destination. The techniques may be
classified depending on the nature in which the backup
edges are employed. In the authors develop a method to
augment any given tree rooted at a destination with “backup
forwarding ports.” Whenever the default forwarding edge fails
or a packet is received from the node attached to the default
forwarding edge for the destination, the packets are rerouted on the backup ports. In the authors present a
framework for IP fast reroute detailing three candidate
solutions for IP fast reroute that have all gained considerable
attention. These are multiple routing configurations (MRC)
failure insensitive routing (FIR) [and tunneling using Not-via
addresses (Not-via). The common feature of all these
approaches is that they employ multiple routing tables.
However, they differ in the mechanisms employed to
identify which routing table to use for an incoming packet.
The readers are referred to for a detailed description of the
above techniques. It is certainly possible to use fast recovery
techniques (irrespective of whether they guarantee recovery
from single link failure or not) for multipath routing. However,
all the above techniques require a significantly large number
of routing tables, hence a large number of additional bits in
the packet header.
We will refer to the colored trees approach as the
independent trees (ITrees) approach in the rest of this paper.
Figure 1 shows an example network where red and blue
trees, rooted at node A, are constructed. This tree
construction enables recovery from a single link failure by
switching from one tree to another. For example, consider a
packet that is forwarded from node F to node A on the blue
tree. When there are no failures, the packet would take the
path F–C–B– A. If link C–B fails, then node C would re-route
the packet on the red tree, thus the packet will follow the
path: F–C– F–I–H–G–D–A. Assume that a second link failure
occurs on link I–H. As only two independent trees were
constructed and recovery from arbitrary two link failures
cannot be guaranteed, the packet will be dropped
1
when the second link failure is encountered .
A
B
C
A
B
C
D
E
F
D
E
F
G
H
I
G
H
I
(a)
Moreover, the use of multiple non-disjoint paths is advantageous
in load balancing and preventing snooping on data, in addition to
improving resiliency to multiple link failures.
In this paper, we develop a new approach for resilient multipath
routing. We introduce the concept of Independent Directed Acyclic
Graphs (IDAGs), an extension of independent trees. Linkindependent (Node-independent) DAGs satisfy the property that any
path from a source to the root on one DAG is link-disjoint (nodedisjoint) with any path from the source to the root on the other DAG.
Given a network, we develop algorithms to compute linkindependent and node-independent DAGs. The algorithm
guarantees that every edge other than the ones emanating from the
root may be used in either of the two node-disjoint DAGs in a twovertex-connected network. Similarly, we show that only a small
number of edges will remain unused when link-independent DAGs
are constructed. The edges that will remain unused in both DAGs
are defined by the topological limitation of the network. Thus, the
algorithms developed in this paper employ the maximum possible
edges in the DAGs. The approach developed in this paper requires
at most two bits (and may be reduced to one bit when routing is
based on destination address and incoming link) even when both
DAGs are used simultaneously.
(b)
Fig. 1. Illustration of node-independent Trees for the example network.
(a) Red Tree. (b) Blue Tree. Node A is the root (destination) node.
One approach to enhance the robustness is to allow the packet to
be switched multiple times between the trees. Such an approach will
fail in the example considered above. The packet will be re-routed
back and forth on the path I–F–C. We may analyze when switching
back to a tree would guarantee not encountering a previous failure
again by observing the properties of the independent tree
construction process. However, the inherent limitation of the treebased approach is that it utilizes only 2(jNj 1) directed edges to route
to a destination, where jNj denotes the number of nodes in the
network. Our goal is therefore to utilize the additional links available
in the network to improve robustness. To this end, we seek to
construct independent directed acyclic graphs rooted at each node.
Figures 3(d) and (e) show two independent directed acyclic graphs
rooted at node A. Observe that node I has two red forwarding edges
available. Thus in the earlier example, if link I–H fails, the packet
may be forwarded on link I–E to reach the destination.
Maximum Alternative Routing Algorithm (MARA) constructs a
DAG that utilizes all edges in the network to increase the number of
paths significantly. However, the algorithm does not provide a
mechanism for backup forwarding when encountering a single link or
node failure. Another approach is to employ multiple pairs of colored
(independent) trees, however such a technique will require the
packet to carry information on which pair is being used for routing.
Our goal in this paper is to develop an elegant solution to:(1)
achieve multipath routing; (2) utilize all possible edges; (3)
guarantee recovery from single link failures; and reduce the
number of overhead bits required in the packet header.
Finally, we introduce another approach to exploit all possible links,
that is, multiple pairs of colored trees technique to evaluate the
performance of the IDAGs scheme. In the multiple pairs of colored
trees technique, the red and blue trees are independent in a given
pair, however we cannot guarantee that trees from different pairs are
independent.
We demonstrate the effectiveness of the proposed IDAGs
approach by comparing key performance indices to that of
the independent trees and multiple pairs of independent
trees techniques.
The rest of the paper is organized as follows. Section II
introduces the concept of IDAGs and routing with two IDAGs.
Sections III and IV describe the construction of node
independent and link-independent DAGs, respectively. In
section V, we propose an alternative IDAG construction
approach using graph expansion.
II. INDEPENDENT DIRECTED ACYCLIC GRAPHS
We consider a network with a set of nodes and links
denoted by N and L, respectively. We assume that links are
bi-directional in nature, which may be realized using two
unidirectional links. We denote a bidirectional link between
nodes i and j as i–j, while the directed link from i to j is
denoted by i ! j. When a link i–j fails, we assume that both
directed edges i ! j and j ! i have failed. We say that a
directed acyclic graph (DAG) is rooted at d, if d is the only node
in the DAG that has no outgoing edges. Every other node has at
least one outgoing edge. If we traverse a sequence of edges
starting from any node, the path will terminate at node d and will
be loop-free. Consider two directed acyclic graphs that are
rooted at d.
A. Resilient Routing with IDAGs
We maintain a partial order (precedence relation) among
the nodes in both the red and blue DAGs. A node x precedes
y, denoted by x y, on a DAG if node y uses node x in at least
one of its paths to d. The partial order on a DAG may be
viewed simply as reach ability on the DAG, i.e. x y implies
that x is reachable on the DAG by y. This relationship is key
to the construction as it avoids any cycle formation, hence
the DAGs. The DAGs may be used in two different ways to
achieve resilient routing. In the first approach, referred to as
Red DAG first (RDF), the packets are assumed to be
forwarded on the red DAG first. When no forwarding edges
are available on the red DAG, the packet is transferred to the
blue DAG. When no blue forwarding edges are available, the
packet is dropped. The DAG to be employed for routing is
carried in an overhead bit (DAG bit) in every packet header.
In the second approach, referred to as Any DAG first (ADF),
a packet may be transmitted by the source on the red or blue
DAG. In addition to the DAG bit, every packet also carries an
additional bit that indicates whether the packet has been
transferred from one DAG to another (Transfer bit). A packet
is routed on the DAG indicated in its packet header. If no
forwarding edges are available in that DAG and if the packet
has not encountered a DAG transfer already, it is transferred
to the other DAG. If no forwarding edges are available on the
DAG indicated in the packet header and the packet has
already encountered a DAG transfer, the packet is dropped.
In both of the approaches described above, a node may
forward the packet along any of the available forwarding
edges in the DAG indicated in the packet header.
Note that if the red and blue DAGs are (link- or node-)
independent, then the network is guaranteed to recover
from a single (link- or node-) failure when the packet is
transferred from one DAG to the other. In addition, the
network may tolerate multiple failures as some nodes
may have many forwarding entries in each DAG.
Given a destination node d in the network, we seek to
construct two independent DAGs rooted at the destination.
A node may appear in more than 2V-component and the
removal of such a node (articulation node) would disconnect
the graph. In addition, any two 2V-components may share at
most one node in common. Given a destination node d, we
identify the root node for every component the unique node
through which every path this proves part of the theorem.
The global ordering is similar to the voltage levels used.
Therefore, every path on the base red DAG will follow a
sequence of nodes which are decreasing in the global
ordering. Similarly, every path on the base blue DAG will
follow a sequence of nodes that are increasing in the global
ordering. Thus, the path from a node to the root on the base
red DAG is node-disjoint with a path from the source to the
root on the base blue DAG. Step 6 of the algorithm ensures
that any unused edges on the DAGs are assigned such that
any red (blue) path.
Our goal in the construction process is to utilize every edge
available in the network in either of the two DAGs. Observe
that the edges emanating from d cannot be utilized in the
DAGs as we require the paths to terminate at d. To this end,
we first construct two node independent DAGs in a twovertex-connected network involving every edge, other than
the edges emanating from the destination, in either of the
two DAGs. We then construct link-independent DAGs in twoedge-connected networks employing all but a few
2
edges emanating from the articulation nodes .
III. CONSTRUCTING NODE-INDEPENDENT DAGS
Two-vertex-connectivity is the necessary and sufficient
requirement for constructing two node-independent DAGs
utilizing all the edges except those emanating from the given
destination node. This necessary part of the requirement
follows directly from the condition required for constructing
two node-independent trees a special case of DAG. We
show the sufficiency part of the requirement by constructing
the desired DAGs. ). A packet is routed on the DAG
indicated in its packet header. If no forwarding edges are
available in that DAG and if the packet has not encountered
a DAG transfer already, it is transferred to the other DAG. If
no forwarding edges are available on the DAG indicated in
the packet header and the packet has already encountered a
DAG transfer, the packet is dropped
We first compute two base DAGs using the path
augmentation technique, introduced and later employed to
construct two independent trees. We then add the edges that
are not present in either DAG. We maintain a partial order
(precedence relation) among the nodes in both the red and
blue DAGs. A node x precedes y, denoted by x y, on a DAG
if node y uses node x in at least one of its paths to d. The
partial order on a DAG may be viewed simply as reach ability
on the DAG, i.e. x y implies that x is reachable on the DAG
by y. This relationship is key to the construction as it avoids
any cycle formation, hence the DAGs. Thus, maintaining
partial ordering on a DAG is the same as maintaining the
reach ability for every node in the DAG.
Figure shows the procedure to construct two nodeindependent DAGs rooted at node d. Step 1 initializes the
partial order for the nodes on the two DAGs. Step 2
computes the first cycle to be augmented. Step 3 computes
successive paths to be augmented. The path starts and ends
at distinct nodes that are already added to the DAGs, hence
the paths from every node to the root of the DAG are nodedisjoint. Note that the difference between the path
augmentation employed for DAG construction here and that
employed for tree construction is the use of links x ! v1 and y
! vk. As nodes x and y are already added to the DAGs before
computing this path, adding these edges provides multiple
forwarding edges for nodes x and y.
Given the global ordering, the unused links that are not
incident on the destination may be assigned to the DAGs as
shown in Step 6. Finally, Step 7 assigns all the incoming
edges on the destination that are not already on the DAG. It
is worth noting that these edges may be assigned arbitrarily
to the red or blue DAG.
Theorem 1: The procedure NI-DAGs construction: (1) assigns every edge other than the edges emanating from the
destination d to one of the two DAGs; and (2) any path from
a source to the root in the red DAG is node-disjoint with any
path from the source to the root in the blue DAG.
Proof: The global order computation defines an ordering
across all the nodes in the network. Thus, given a link i–j (i
6= d; j 6= d), either i g j or j g i. Thus, by Step 6, every link in
the network that is not incident on d is assigned to either the
red or the blue DAG. Step 7 assigns every incoming edge to
d to either red or blue DAG. Thus, only the outgoing edges
from d are unused in the DAG. This proves part (1) of the
theorem. The global ordering is similar to the voltage levels
used. Therefore, every path on the base red DAG will follow
a sequence of nodes which are decreasing in the global
ordering. Similarly, every path on the base blue DAG will
follow a sequence of nodes that are increasing in the global
ordering. Thus, the path from a node to the root on the base
red DAG is node-disjoint with a path from the source to the
root on the base blue DAG. Step 6 of the algorithm ensures
that any unused edges on the DAGs are assigned such that
any red (blue) path would always follow a sequence of nodes
that are decreasing (increasing) in the global ordering. As
Step 7 considers only directed edges and every edge is
assigned only one color, the dis jointness of the red and blue
paths.
Complexity: The construction of the base DAGs may be
achieved in O(jLj) time using depth-first-search numbering
and low point values. The global ordering may be computed
in O(jNj) time. The addition of every other link (Step 6) may
be completed in O(jLj) time (an O(1) computation for each
link). Step 7 takes O(jNj) time. Thus, the complexity of the
NI-DAG construction is O(jLj).
Example: Consider the 9-node network shown in Figure 3(a) where we seek to compute IDAGs rooted at node
A. The base DAGs are computed by considering the cycle
A–D–E–B followed by paths D–G–H–E and H– I–F–C–B
for augmentation and are shown in Figures 3(b) and (c).
These paths result in the following partial orders: (1) A D
E B, (2) D G H E, and (3) H I F C B. Out of many possible
global ordering that satisfy these partial orders, we obtain
one global order as: A g D g G g H g E g I g F g C g B.
With this global ordering, we compute the direction of the
edges that were not considered in the base DAGs.
Figures 3(d) and (e) show the final independent DAGs
that are constructed.
IV. CONSTRUCTING LINK-INDEPENDENT DAGS
Two-edge connectivity is a necessary and sufficient
condition for constructing two link-independent DAGs.
Similar to the requirement of node-independent DAGs, the
necessary part of the requirement follows from the
independent tree construction. We show the sufficiency part
of the requirement by constructing the desired DAGs.
Figure 4 shows the procedure to construct two link-independent
DAGs. We first divide the network into two-vertex-connected (2V)
components (Step 1). A node may appear in more than 2Vcomponent and the removal of such a node (articulation node) would
disconnect the graph. In addition, any two 2V-components may
share at most one node in common. Given a destination node d, we
identify the root node for every component – the unique node
through which every path connecting a node in that component and
d must traverse (Step 2). In components that contain node d, the
root node is assumed to be d. In components that do not contain
node d, there is a unique articulation node that will be
assigned the root of that component. Let dc denote the root
node of component c that does not contain the destination
node d.
Observe that a link dc ! j, where j 2 c, may not be used as a
forwarding edge on any DAG. As every path from j to The
DAGs may be used in two different ways to achieve resilient
routing. In the first approach, referred to as Red DAG first
(RDF), the packets are assumed to be forwarded on the red
DAG first. When no forwarding edges are available on the
red DAG, the packet is transferred to the blue DAG. When
no blue forwarding edges are available, the packet is
dropped.
The DAG to be employed for routing is carried in an
overhead bit (DAG bit) in every packet header. In the second
approach, referred to as Any DAG first (ADF), a packet may
be transmitted by the source on the red or blue DAG. In
addition to the DAG bit, every packet also carries an
additional bit that indicates whether the packet has been
transferred from one DAG to another (Transfer bit) Thus,
only the outgoing edges from d are unused in the DAG. This
proves part (1) of the theorem.
The global ordering is similar to the voltage levels used.
Therefore, every path on the base red DAG will follow a
sequence of nodes which are decreasing in the global
ordering. Similarly, every path on the base blue DAG will
follow a sequence of nodes that are increasing in the global
ordering. Thus, the path from a node to the root on the base
red DAG is node-disjoint with a path from the source to the
root on the base blue DAG.
Finally, we introduce another approach to exploit all
possible links, that is, multiple pairs of colored trees
technique to evaluate the performance of the IDAGs
scheme. In the multiple pairs of colored trees technique, the
red and blue trees are independent in a given pair, however
we cannot guarantee that trees from different pairs are
independent
A
B
C
A
B
C
A
B
C
A
B
C
A
B
C
D
E
F
D
E
F
D
E
F
D
E
F
D
E
F
G
H
I
G
H
I
G
H
I
G
H
I
G
H
I
(a)
(b)
(c)
(d)
(e)
Fig. 2. Illustration of the construction of node-independent DAGs. (a) Example network. (b), (c) Base red and blue DAGs. (d), (e) Final red and blue DAGs.
d has to traverse dc, the addition of dc ! j would result in a
cycle. Thus, the only edges that cannot be assigned to any
DAG are those edges emanating from the root node of a
component. In each 2V-component, we compute two nodeindependent DAGs to the root of that component (Step 3).
We then merge these node-independent DAGs to obtain the
desired link-independent DAGs (Step 4).
Procedure LI-DAGs Construction
1) Divide the network into two-vertex-connected (2V)
com-ponents.
2) In each 2V-component, identify the unique articulation
node through which every path from any node in that
component must traverse to reach d. We refer to this
articulation node as the root node of the component. In
the component that contains node d, we assume that
the root node of the component is node d itself.
3) In each 2V-component, construct two nodeindependent DAGs to the root node of that component.
4) Merge all the node-independent DAGs to obtain the
link-independent DAGs.
As every network has a unique two-vertex-connected
decomposition, hence unique root nodes for every 2Vcomponent, the number of edges that cannot be used in
either DAG is unique and is a property of the given network
topology. It is straight-forward to see that the procedure LIDAGs constructions avoids only the edges emanating from
the articulation. Although every network topology has a
unique two-vertex-connected decomposition, irrespective of
the desti-nation node considered, the node selected to be
the root node in a component is dependent on the
destination node and is unique for a given destination node.
The decomposition of a network into two-vertex-connected
components and identifying the root node of every
component for a given destination may be achieved in O(jLj)
time us-ing depth-first-search numbering starting from the
destination node. If a node x has a DFS-child y whose
lowpoint is the same as dfs[x], then node x is an articulation
node. In addition, node x may divide its neighbors belonging
to different components by: (1) arranging them in the
increasing order of their DFS indices; (2) identifying the DFS
indices of its children; and (3) grouping the nodes that fall
within the DFS index of two children sequentially into a
component. Therefore, the complexity of constructing LIDAGs is the same as that of NI-DAGs.
V. ALTERNATIVE APPROACH TO IDAG CONSTRUCTION
USING GRAPH EXPANSION
We now present an alternative algorithm to construct
IDAGs such that Steps 5-7 of the NIDAG construction may
be completely avoided. Observe that Steps 5-7 in the NIDAG
construction are required because not all links are
considered by the base IDAG construction (Steps 1 through
4). If however, we can modify the graph such that the base
IDAG construction would consider all links, then Steps 5-7
can be eliminated. To this end, we develop a graph
0
expansion technique that results in an expanded graph G
with jNj + jLj nodes and 2jLj links, where jNj and jLj denote
the number of nodes and links in the original graph.
Consider a link ` 2 L that connects nodes x and y in the
original graph. We replace this link ` with a node v` and two
links v`–x and v`–y. Figure 5(a) shows the expansion of link `.
Since every link in the original graph results in a new node, the
total number of nodes in the expanded graph is jLj + jNj. Since
every link in the original graph results in two links in the
expanded graph, the total number of links in the expanded graph
is 2jLj. Observe that all the nodes that correspond to a link in the
original graph have exactly two outgoing links.
Now, consider the base IDAG construction on the
expanded the graph. Since Steps 1 through 4 must account
for all nodes being added, all the nodes corresponding to the
links in the original graph must be added in steps 1 through
4, thus all links in the original graph are considered. As the
number of links in the original graph has been doubled, the
complexity of construction of the base IDAG remains the
same, O(jLj), using DFS numbering and lowpoint values [16].
Finally, we obtain the colors on the original link x–y by
deleting the virtual node vxy and merging the two edges
as shown Figure 5(b).
(a) Expansion with virtual node
v
B
R
R
R
B
B
(b) Contraction to remove virtual node
Fig. 3. Illustration of the construction of node-independent DAGs
using a virtual node.
Correctness: Observe that the base IDAG construction
using [16] is similar to that of the path augmentation approach.
Procedure to Construct Colored DAGs through Graph
Expansion
1) Initialize the red and blue DAG, R and B, to contain
only the root node d.
2) In the original network G = (N ; L) replace every link
` connecting nodes x and y with a node v` and two
links: (v`; x) and (v`; y). Let the resultant expanded
0
0
0
network be denoted by G (N ; L ).
0
3) In the expanded graph G , construct two colored base DAGs
(using [16]).
4) Contract each pair of links v`–x, v`–y in the expanded
graph back to the original graph with red and blue color
assigned in each direction appropriately.
Procedure for Multiple Colored Tree Pairs Construction
1) Initialize the link usage frequencies to zero.
2) Consider network links in the descending order of
their usage frequency. For each link:
a) If the graph remains two-vertex connected
without it then remove it from the graph.
3) Construct two independent trees on the two-vertex
connected graph of step 2.
4) For each link used in the independent trees
increment its link usage frequency.
5) If the number of colored tree pairs is less than M go
to step 2.
Thus, with the use of partial ordering, it can be easily shown
that any red path would traverse a sequence of nodes with
decreasing partial order while the blue path would traverse a
sequence of nodes with increasing partial order. Thus, any
red path and any blue path from a node are node-disjoint.
The construction of LIDAGs is performed in the same way as
explained before, thus retains the same correctness
property.
VI. PROCEDURE FOR CONSTRUCTION OF MULTIPLE
RED-BLUE TREES
Our key goal in this paper is to use the maximum possible
number of network edges for data transmission. As
mentioned earlier, one possible solution is to construct
multiple pairs of colored trees. We would like to compare our
IDAGs approach to the multiple pairs of colored trees
approach. In this section we introduce the procedure for
constructing multiple pairs of colored trees. In order to use
the maximum number of edges we construct multiple colored
tree pairs that share as few edges as possible. Note that for
given pair the red and blue trees are independent; however
trees from different pairs are not necessarily independent.
The decomposition of a network into two-vertex-connected
components and identifying the root node of every
component for a given destination may be achieved in O(jLj)
time us-ing depth-first-search numbering starting from the
destination node.
We record the link usage frequency of all links and sort links in the
descending order of usage frequency. We then consider links in the
given order, removing a link while the network remains two-vertex
(edge) connected and compute a pair of independent trees. We
repeat this procedure until the desired number of colored tree
pairs is obtained. Figure 7 shows the procedure to construct
multiple pairs of colored trees rooted at node d. We provide
several simulation results of the multiple pairs of colored
trees technique in VII.
Correctness and Complexity: It is straightforward to show
that the above algorithm uses every possible edges. If a
given network is minimally two-vertex (edge) connected then
every edge is utilized at least once in two colors even M is
equal to one. Otherwise, all unused edges are utilized by the
construction algorithm if M is sufficiently large.
Step 2 takes O(jLj2) time – for each link removal, we need
to check for two-edge-connectivity, which takes O(jLj) time
(using DFS numbering and low point value checks). Step 3
can be achieved with O(jLj) time using depth-first-search
numbering and lowpoint values [16]. Therefore the
complexity of the procedure is O(jLj2). Once the M trees are
constructed, we require dlog2 M e bits in the packet header
to identify the pair of independent trees to be employed for
routing.
VII. PERFORMANCE EVALUATION
We evaluate the performance of two independent DAGs
against two colored trees and multiple pairs of colored trees
on four real-life network topologies: (1) ARPANET; (2)
ITALIAN-NET; (3) MESH-4x4; and (4) NJ-LATA in shown
Figure 8. We select one of the nodes to be the destination
and compute independent trees and DAGs rooted at that
node. We present simulation results for the multiple pairs of
colored trees technique which is another ITrees application
and is used to exploit all possible links in a network. We
believe that these analyses expand our understanding of the
resilient multi-path routing.
We consider four performance metrics: (1) Average path
length;(2) Number of paths; (3) Number of scenarios where
an intruder can observe two distinct links and observe all
traffic sent by a source; and (4) Average link load. For
IDAGs, the expected path length from a source to the
destination is computed by assuming that the source and an
intermediate node would forward a packet on one of its
outgoing DAG edges with equal probability. We then average
the expected path length over all nodes in the network. In the
case of two independent trees, every node has exactly one
path on each tree, thus the average path length computation
is straight-forward. The number of paths from a source to the
destination is computed as the sum of the number of paths
from each of its forwarding neighbor to the destination, in a
recursive fashion.
We define an edge on a DAG as the critical edge if its
removal would disconnect a node from the root. For every
node, we compute the number of critical edges in each DAG.
.
1
VICENZA
MILANO
TORINO
PISA
1
1
ANCON
2
3
4
4
6
18
5
3
2
5
20
14
12
6
3
ROMA
17
SASSAR
5
6
7
8
9
10
11
12
BARI
16
8
7
CAGLIARI
7
2
10
15
8
11
9
19
4
9
MESSINA
13
CATANZARO
10
PALERMO
(a) ARPANET
(20 nodes, 32 links)
13
(b) ITALIAN-NET
(32 nodes, 69 links)
15
16
(c) MESH-4X4
(16 nodes, 32 links)
Fig. 4. Four real-life network topologies used in the simulations.
We assume that a source would equally split its traffic to the
root across the two DAGs/trees. Thus, any intrusion involving
observation of only one link will not expose all the traffic from
the source to destination. However, it is possible to observe
two critical links and obtain all the traffic from a
0
source to the destination. If Cs and Cs denote the number
of critical edges for node s on the two DAGs, we compute
the number of scenarios of two-link intrusions that will
0
expose all the traffic from node s as the product C s Cs .
Observe that in the case of two independent trees, the
number of two-link intrusions that will expose all the traffic
0
14
0
from s is given by Hs Hs , where Hs and Hs denote the
path length from s to the root on the two trees. The use of
DAGs increases the number of paths available in the
network, thus reducing the number of critical links.
PP
Average link load is given by l s l;s=jlj where l;s is the
amount of traffic existing in a link l when a node s
transmits on one color. This measure reflects the effect of
load distribution per link. Intuitively, the metric will have
relatively low value if as many links as possible are used
to transmit data traffic.
A. Results and Discussion
Figure shows the number of paths available from a source
to the destination on the four network topologies (plotted in
the log-scale) with the IDAGs approach. As all the topologies
considered are two-vertex-connected, the number of paths
from any node to the destination (together on both the trees)
is at least the degree of the node. We observe that when the
number of links in the network increases, the number of
paths increases significantly. For example, in the ITALIAN
network some nodes have thousands of paths.
Figure shows the number of path available from a source to the
destination on the four real-life networks when employing multiple
pairs of colored trees approach. Assume that the number of pairs of
colored trees is M. According to our simulation, at least M=6 pairs of
colored trees are needed to utilize all possible edges on the four
real-life networks. Table I shows the four minimum M values
required to exploit all possible edges on each of the networks. If all
available paths on one color at a node are distinct, the maximum
number
11
(d) NJ-LATA
(11 nodes, 23 links)
of paths on one color is simply M. In the worst case, all the
paths available on one color at a node are the same and the
number of paths available on one color from a source to the
root is one. The number of distinct paths depends on the
network connectivity and topology. For example, many
nodes can have M different paths on one color in a dense
network. The number of paths available on one color is
between 1 and 6 on the four real-life networks since we use
M=6 in the simulation. Note that we observed from Figure 9
(d) that some nodes have thousands of paths on the
ITALIAN network when the IDAGs approach is applied. We
see that the approach with multiple pairs of colored trees has
a drawback in terms of the number of path available from
Figure 10.
TABLE I
THE MINIMUM M VALUE TO UTILIZE ALL POSSIBLE EDGES ON EACH
REAL-LIFE NETWORK.
Topology
MESH4X4
NJ-LATA
ARPANET
ITALIAN-NET
M
2
4
4
6
In figure, we plot the product of the number of critical
edges using the six pairs of colored trees, IDAGs, and ITrees
approaches. We observe that the IDAGs approach reduces
the number of two-link intrusion scenarios that will expose all
traffic by a source by up to a factor of six compared to the
ITrees approach. Also, the figure shows that the metric can
be reduced with the multiple pairs of colored trees approach
compared to the ITrees approach and even the IDAGs
approach. The intuition behind this result is that many nodes
can find multiple node (link) disjoint paths by the construction
procedure of multiple pairs of colored trees if the given
network is dense. If a node has at least two node (link)
disjoint paths on one color, it has no critical links on the
color. In a dense network, the product of the number of
critical edges can be reduced drastically.
MESH 4X4
NJ-LATA
100
100
Blue
Red Blue
Number of paths
Number of paths
Red
10
1
10
1
4
1
7
Node id
10
13
2
1
3
(a)
4 5
6
Node id
7
8
9 10
(b)
Fig.5. Number of paths from a source to destination on the four networks using the six
pairs of colored trees approach.
2
Product of number of crtical links
30
6 pairs of colored trees
24
Red
Avg. path ratio
(IDAGs /ITrees)
ITrees
18
12
6
MESH 4X4 NJ-LATA ARPANET ITALIAN-NET
MESH4X4 NJ-LATA ARPANET ITALIAN-NET
Fig.8. Ratio of average IDAGs path length to average ITrees path length.
MESH 4X4
30
18
24
ARPANET
NJ-LATA
f
crtica link
l
s
Fig. 6. Product of the number of critical links using six pairs of
colored trees, IDAGs, and ITrees approaches.
numb
er
1
0
0
6
12
Product
Blue
IDAGs
ITALIAN-NET
1
2
3
4
5
6
0
M
Fig. 7. Product of the number of critical links using multiple pairs
of colored trees approach on the four real-life networks.
Increasing on the four real-life networks. Notice that if M is
equal to one, the pairs of colored trees are simply ITrees.
The product of the number of critical edges is reduced
significantly with larger Ms. However; with M greater than
three the values are almost same. That is because the
construction algorithm cannot find multiple node (link) disjoint
paths any more for larger values of M.
Figure shows the ratio of the average path length between a
node and the root using the IDAGs approach to that using the
ITrees approach. In the IDAGs approach, a node is assumed to
forward a packet on any of the outgoing edges in a DAG. The
global ordering is similar to the voltage levels used. Therefore, every
Thus, in networks with a large number of links, it may be beneficial
to: (1) evaluate the impact of adding an edge to a DAG on the
average path length (Step 6 of NI-DAGs construction algorithm)
before including it in a DAG; and (2) consider only those edges that
either reduce the average path length or do not increase the average
path length beyond a certain threshold, thus controlling the increase
in network load.
path on the base red DAG will follow a sequence of
nodes which are decreasing in the global ordering. Similarly,
every path on the base blue DAG will follow a sequence of
nodes that are increasing in the global ordering.
MESH 4X4
NJ-LATA
8
Blue
Red
6
6
4
4
2
2
0
0
4
1
7
Node id
10
13
2
1
3
4 5
6
Node id
7
8
9 10
(b)
(a)
ARPANET
ITALIAN-NET
8
8
of
pa
th
s
Red
Blue
Red
6
Blue
6
N
u
m
b
e
r
Number of paths
Blue
N
u
m
b
e
r
Number of paths
Red
of
pa
th
s
8
4
4
2
2
0
0
1
4
7
10
13
Node id
16
19
4
1
(c)
7
10 13
16 19
Node id
22 25
28 31
(d)
Fig. 9. Number of paths from a source to destination on the four networks using the six pairs of colored trees
approach.
(2) consider only those edges that either reduce the average
path length or do not increase the average path length
beyond a certain threshold, thus controlling the increase in
network load.
Figure shows the ratio of the average path length between a
node and the root using the six pairs of colored trees and IDAGs
approaches to that using the ITrees approach. Each histogram
in the figure represents the average value of the red and blue
colors of path length ratio. From the figure, IDAGs approach has
shorter path length than six pairs of colored trees approach on
all four real-life networks. The reason is because the
construction algorithm computes multiple pairs of colored trees
that share as few edges as possible.
Avg.
pathlengt rati
o
h
3
with equal probability. Any multipath routing approach (other than
equal-length multiple paths) is likely to employ additional paths that
are longer than the shortest path, thus it is likely to increase network
load. The figure shows that the overall increase in the network load
ranges from approximately 10% to no more than two times the load
in the ITrees approach. We observe that as the number of links in
the network increases, the number of available paths increases
resulting in increased average path length. Thus, in networks with a
large number of links, it may be beneficial to: (1) evaluate the impact
of adding an edge to a DAG on the average path length (Step 6 of
NI-DAGs construction algorithm) before including it in a DAG; and
6 pairs of colored trees / ITrees
IDAGs / ITrees
2
1
0
MESH4X4 NJ-LATA ARPANET ITALIANNET
Fig. 10. Ratio of average six pairs of colored trees and IDAGs path
length to average ITrees path length.
The algorithm may construct a pair of colored trees with
long paths as the number of multiple pairs of colored
trees increases.
Figure shows the ratio of the average shortest path length on
the IDAGs to the average path length on the ITrees from a node
to the root. The shortest path on an IDAG is defined to be the
shortest path among all paths available on the IDAG at a node
and we can find one shortest path on red and blue DAG at a
node respectively. By the disjointness of IDAGs, the two shortest
paths at a node are disjoint. We can regard trees composed of
the shortest paths on the IDAGs as another pair of colored
(independent) trees. From the figure, we find that the network
load can decrease with the shortest paths on
Avg.pathlengthratio(shortestpathonI
DAGs/ITrees)
1.5
Red
Blue
1
0.5
0
MESH4X4 NJ-LATA ARPANET ITALIAN-NET
Fig. 11. Ratio of average shortest path length on the IDAGs to
average path length on the ITrees.
1.5
ratio
6 pairs of colored trees / ITrees
IDAGs / ITrees
1
ACKNOWLEDGMENT
The research developed in this paper is supported by
National Science Foundation under the grant CNS0325979 and Cisco Collaborative Research Initiative.
link load
.
Validity of the algorithm. Through simulations, we showed that the
IDAGs approach performs significantly better than the independent
trees approach in terms of increasing number of paths offered,
reducing the probability of a two-link failure disconnecting a node
from the destination, and average link load. Even, a simulation result
showed that the trees based on the shortest paths on the IDAGs
have better performance than that of the ITrees approach since the
average shortest path length on the IDAGs is shorter than the
average path length on the ITrees. Multiple pairs of colored trees
approach is better in terms of the product of the number of critical
links and average link load compared to the ITrees and IDAGs
approaches. However, the method is impractical since it needs many
overhead bits in the packet header.
0.5
0
REFERENCES
MESH4X4 NJ-LATA ARPANET ITALIANNET
Fig. 12. Ratio of average six pairs of colored trees and IDAGs link
load to average ITrees link load.
the IDAGs on the four real-life networks. Since the
average shortest path on the IDAGs is shorter than the
average path length on the ITrees, the shortest paths on
the IDAGs have an advantage in terms of the product of
the number of critical edges. Accordingly, we can achieve
better performance with even shortest paths on the
IDAGs compared to paths on the ITrees.
Figure 16 shows the ratio of the average link load using
the IDAGs and six pairs of colored trees approaches to that
using the ITrees approach. From the figure, we find that
average link load decreases with the two methods compared
to the ITrees approach and the six pairs of colored trees
approach outperforms the IDAGs approach. Therefore, a link
is less heavily loaded with the IDAGs or multiple pairs of
colored tree approaches compared to the ITrees approach.
From the simulation results, the approach with multiple
pairs of colored trees performs marginally better in terms of
preventing snooping on data and average link load
compared to IDAGs approach. However, this approach
requires dlog2Me bits in the packet header for routing. The
overhead is expensive since header extensions are
processed in software, hence increase delay.
VIII. CONCLUSION
In this paper, we introduced the concept of independent directed
acyclic graphs (IDAGs) and developed a methodology for resilient
multipath routing using two IDAGs. We developed polynomial time
algorithms to construct node-independent and link-independent
DAGs using all possible edges in the network. The IDAGs approach
was evaluated on four real-life network topologies and compared
with ITrees and multiple pairs of colored (independent) trees
approaches to prove the
[1] S. Cho, T. Elhourani, and S. Ramasubramanian,
“Resilient multipath routing with independent directed
acyclic graphs,” in Proceedings of IEEE International
Conference on Communications, Cape Town, South
Africa, May 2010, pp. 1–5.
[2] Z. Ye, S. V. Krishnamurthy, and S. K. Tripathi, “A
framework for reliable routing in mobile ad hoc
networks,” in INFOCOM’03, April 2003, pp. 270–280.
[3] P. P. Pham and S. Perreau, “Performance analysis of
reactive shortest path and multi-path routing mechanism
with load balance,” in IEEE INFOCOM, 2003, pp. 251–
259.
[4] J. Tsai and T. Moors, “A review of multipath routing
protocols: From wireless ad hoc to mesh networks,” in
ACoRN Early Career Researcher Workshop on Wireless
Multihop Networking, Jul. 17-18, 2006.
[5] S. Murthy and J. Garcia-Luna-Aceves, “Congestionoriented shortest multipath routing,” in IEEE INFOCOM,
vol. 3, March 1996, pp. 1028– 1036.
[6] W. Lou, W. Liu, and Y. Fang, “A simulation study of
security perfor-mance using multipath routing in ad hoc
networks,” in IEEE Vehicular Technology Conference,
vol. 3, October 2003, pp. 2142–2146.
[7] G. Lee and J. Choi, “A survey of multipath routing for
traffic
engineer-ing,”
2002.
[Online].
Available:
http://vega.icu.ac.kr/˜gmlee/research/
[8] K. Xi and J. Chao, “Ip fast rerouting for single-link/node
failure recovery,” in Proceedings of BROADNETS Internet Technologies Symposium, September 2007.
[9] M. Shand and S. Bryant, “IP Fast Reroute Framework,”
IETF Internet
Draft, Feb. 2008, draft-ietf-rtgwg-ipfrr-framework-08.txtˇ
[10] A. Kvalbein, A. F. Hansen, T. Ciciˇc,´ S. Gjessing, and O.
Lysne, “Fast IP network recovery using multiple routing
configurations,” in IEEE INFOCOM, Apr. 2006.
[11] S. Lee, Y. Yu, S. Nelakuditi, Z.-L. Zhang, and C.-N.
Chuah, “Proactive vs. reactive approaches to failure
resilient routing,” in IEEE INFOCOM, Mar. 2004
Author Details:
N SHANKER received his B.Tech.
Degree in Computer Science &
Engineering from Kottam Tulasi
Reddy Memorial College of
Engineering (Affiliated to JNTU
Hyderabad),
Kondair,Gadwal,
Mahaboob Nagar District in 2008
& passed M.Tech
degree in
Computer Science & Engineering
from
Sreyas
Institute
of
Engineering
&
Technology,Tattiannaram, Ranga reddy, Hyderabad (TG,
India). Presently he is working as a Assistant Professor©
Part Time in Nizam college, Basheer Bagh, Hyderabad,
Telangana.
SHAIK
TANVEER
AHMED
received his MCA. Degree in
Master of Computer Applications
from Anwar-ul-uloom College
(Affiliated to OU Hyderabad), in
2005 & passed M.Tech degree in
Computer Science & Engineering
from
Sreyas
Institute
of
Engineering
&
Technology,Tattiannaram, Ranga reddy, Hyderabad.
Presently he is working as a Assistant Professor in Nizam
college, Basheer Bagh, Hyderbad, Telangana.
B.Harikrishna received his MCA.
Pg in computer applications from
Princeton
Pg
College
Ramanthapur
(Affiliated
to
Osmania University Hyderabad),
PhD in informatics from osmania
university college of engineering
&Technology,
Hyderabad.
Presently he is working as a
Assistant Professor© Part Time in Nizam college, Basheer
Bagh, Hyderabad, Telangana.