154 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 20, NO. 1, FEBRUARY 2012Fig. 1. Illustration of node-independent trees for the example network. (a) Red Fig. 2. Illustration of node-independent DAGs in an example network wheretree. (b) Blue tree. Node A is the root (destination) node. node A is the root (destination) node. (a) Red DAG. (b) Blue DAG.also referred to as “independent trees” in the literature . recovery from single-link failures; and 4) reduce the number ofWe will refer to the colored trees approach as the independent overhead bits required in the packet header. Moreover, the usetrees (ITrees) approach in the rest of this paper. of multiple nondisjoint paths is advantageous in load balancing Fig. 1 shows an example network where red and blue trees, and preventing snooping on data, in addition to improvingrooted at node A, are constructed. This tree construction enables resiliency to multiple link failures.recovery from a single-link failure by switching from one tree toanother. For example, consider a packet that is forwarded from A. Contributionsnode F to node A on the blue tree. When there are no failures, In this paper, we develop a new approach for resilientthe packet would take the path F–C–B–A. If link C–B fails, multipath routing. We introduce the concept of independentthen node C would reroute the packet on the red tree, thus the directed acyclic graphs (IDAGs), an extension of independentpacket will follow the path F–C–F–I–H–G–D–A. Assume that trees. Link-independent (node-independent) DAGs satisfy thea second link failure occurs on link I–H. As only two indepen- property that any path from a source to the root on one DAGdent trees were constructed and recovery from arbitrary two link is link-disjoint (node-disjoint) with any path from the sourcefailures cannot be guaranteed, the packet will be dropped when to the root on the other DAG. Given a network, we developthe second link failure is encountered.1 algorithms to compute link-independent and node-independent One approach to enhance the robustness is to allow the DAGs. The algorithm guarantees that every edge other than http://ieeexploreprojects.blogspot.compacket to be switched multiple times between the trees. Such the ones emanating from the root may be used in either of thean approach will fail in the example considered above. The two node-disjoint DAGs in a two-vertex-connected network.packet will be rerouted back and forth on the path I–F–C. We Similarly, we show that only a small number of edges willmay analyze when switching back to a tree would guarantee remain unused when link-independent DAGs are constructed.not encountering a previous failure again  by observing The edges that will remain unused in both DAGs are deﬁned bythe properties of the independent tree construction process. the topological limitation of the network. Thus, the algorithmsHowever, the inherent limitation of the tree-based approach developed in this paper employ the maximum possible edgesis that it utilizes only directed edges to route to in the DAGs. The approach developed in this paper requiresa destination, where denotes the number of nodes in the at most two bits (and may be reduced to one bit when routingnetwork. Our goal is therefore to utilize the additional links is based on destination address and incoming link) even whenavailable in the network to improve robustness. To this end, we both DAGs are used simultaneously.seek to construct independent directed acyclic graphs rooted at Finally, we introduce another approach to exploit all possibleeach node. Fig. 2(a) and (b) shows two independent directed links, that is, multiple pairs of colored trees technique to eval-acyclic graphs rooted at node A. Observe that node I has two uate the performance of the IDAGs scheme. In the multiple pairsred forwarding edges available. Thus, in the earlier example, of colored trees technique, the red and blue trees are indepen-if link I–H fails, the packet may be forwarded on link I–E to dent in a given pair, however we cannot guarantee that treesreach the destination. from different pairs are independent. Maximum Alternative Routing Algorithm (MARA)  We demonstrate the effectiveness of the proposed IDAGsconstructs a DAG that utilizes all edges in the network to approach by comparing key performance indices to that ofincrease the number of paths signiﬁcantly. However, the algo- the independent trees and multiple pairs of independent treesrithm does not provide a mechanism for backup forwarding techniques.when encountering a single link or node failure. Anotherapproach is to employ multiple pairs of colored (independent) B. Organizationtrees, however such a technique will require the packet to carryinformation on which pair is being used for routing. Our goal The rest of the paper is organized as follows. Section II in-in this paper is to develop an elegant solution to: 1) achieve troduces the concept of IDAGs and routing with two IDAGs.multipath routing; 2) utilize all possible edges; 3) guarantee Sections III and IV describe the construction of node-indepen- dent and link-independent DAGs, respectively. In Section V, 1The packet will also need to carry the information of how many prior failures we propose an alternative IDAG construction approach usingit has seen. The color of the tree to be used for routing may be obtained fromthe incoming interface over which the packet was received. Thus, every packet graph expansion. Section VI presents the construction of mul-needs to carry only one overhead bit. tiple pairs of colored trees that are used to exploit all possible
CHO et al.: INDEPENDENT DIRECTED ACYCLIC GRAPHS FOR RESILIENT MULTIPATH ROUTING 155edges. Section VII evaluates the performance of the IDAGs ap- Note that if the red and blue DAGs are (link- or node-) inde-proach and compares it to that of the independent trees approach pendent, then the network is guaranteed to recover from a singleand the multiple pairs of colored trees approach. Section VIII (-link or -node) failure when the packet is transferred from oneconcludes the paper. DAG to the other. In addition, the network may tolerate mul- tiple failures as some nodes may have many forwarding entries II. INDEPENDENT DIRECTED ACYCLIC GRAPHS in each DAG. We consider a network with a set of nodes and links denoted Given a destination node in the network, we seek to con-by and , respectively. We assume that links are bidirectional struct two independent DAGs rooted at the destination. Ourin nature, which may be realized using two unidirectional links. goal in the construction process is to utilize every edge avail-We denote a bidirectional link between nodes and as , able in the network in either of the two DAGs. Observe that thewhile the directed link from to is denoted by . When a edges emanating from cannot be utilized in the DAGs as welink fails, we assume that both directed edges and require the paths to terminate at . To this end, we ﬁrst con- have failed. struct two node-independent DAGs in a two-vertex-connected We say that a DAG is rooted at if is the only node in the network involving every edge, other than the edges emanatingDAG that has no outgoing edges. Every other node has at least from the destination, in either of the two DAGs. We then con-one outgoing edge. If we traverse a sequence of edges starting struct link-independent DAGs in two-edge-connected networksfrom any node, the path will terminate at node and will be employing all but a few edges emanating from the articulationloop-free. Consider two directed acyclic graphs that are rooted nodes.2at . The two DAGs are said to be link-independent if for everynode , , any path from to on one DAG is link- III. CONSTRUCTING NODE-INDEPENDENT DAGSdisjoint with any path from to on the other DAG. Similarly,the two DAGs are said to be node-independent if for every node Two-vertex-connectivity is the necessary and sufﬁcient , , any path from to on one DAG is node-disjoint requirement for constructing two node-independent DAGswith any path from to on the other DAG. Let and utilizing all the edges except those emanating from the givendenote any two paths from to , one from each DAG. The destination node. This necessary part of the requirement fol-link-independent DAGs satisfy the following property lows directly from the condition required for constructing two node-independent trees—a special case of DAG. We show the sufﬁciency part of the requirement by constructing the desired DAGs. http://ieeexploreprojects.blogspot.comThe node-independent DAGs satisfy the following property: We ﬁrst compute two base DAGs using the path augmentation technique, introduced in  and later employed in  and  to construct two independent trees. We then add the edges that are not present in either DAG. We maintain a partial orderA. Resilient Routing With IDAGs (precedence relation) among the nodes in both the red and blue DAGs. A node precedes , denoted by , on a DAG if The network is assumed to employ link-state protocol, hence node uses node in at least one of its paths to . The partialevery node has the view of the entire network topology. Every order on a DAG may be viewed simply as reachability on thenode computes two DAGs, namely red and blue , for DAG, i.e., implies that is reachable on the DAG by .each destination and maintains one or more forwarding entries This relationship is key to the construction as it avoids any cycleper destination per DAG. The DAGs may be used in two dif- formation, hence the DAGs. Thus, maintaining partial orderingferent ways to achieve resilient routing. In the ﬁrst approach, re- on a DAG is the same as maintaining the reachability for everyferred to as Red DAG ﬁrst (RDF), the packets are assumed to be node in the DAG.forwarded on the red DAG ﬁrst. When no forwarding edges are Fig. 3 shows the procedure to construct two node-indepen-available on the red DAG, the packet is transferred to the blue dent DAGs rooted at node . Step 1 initializes the partial orderDAG. When no blue forwarding edges are available, the packet for the nodes on the two DAGs. Step 2 computes the ﬁrst cycleis dropped. The DAG to be employed for routing is carried in to be augmented. Step 3 computes successive paths to be aug-an overhead bit (DAG bit) in every packet header. In the second mented. The path starts and ends at distinct nodes that are al-approach, referred to as Any DAG ﬁrst (ADF), a packet may be ready added to the DAGs, hence the paths from every node totransmitted by the source on the red or blue DAG. In addition to the root of the DAG are node-disjoint. Note that the differencethe DAG bit, every packet also carries an additional bit that indi- between the path augmentation employed for DAG constructioncates whether the packet has been transferred from one DAG to here and that employed for tree construction in  and  isanother (Transfer bit). A packet is routed on the DAG indicated the use of links and . As nodes and arein its packet header. If no forwarding edges are available in that already added to the DAGs before computing this path, addingDAG and if the packet has not encountered a DAG transfer al- these edges provides multiple forwarding edges for nodes andready, it is transferred to the other DAG. If no forwarding edges . As nodes and are distinct nodes and at least one new nodeare available on the DAG indicated in the packet header and is included in the path, the above step does not result in cycles.the packet has already encountered a DAG transfer, the packet Steps 3 and 4 ensure that all the nodes are included in the twois dropped. In both of the approaches described above, a node base DAGs.may forward the packet along any of the available forwardingedges in the DAG indicated in the packet header. 2An articulation node is one whose removal would disconnect the graph.
156 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 20, NO. 1, FEBRUARY 2012 Fig. 4. Illustration of the construction of node-independent DAGs. (a) Example network. (b) Base red DAG. (c) Base blue DAG. Fig. 2(a) and (b) shows the ﬁnal red and blue DAGs, respectively. a sequence of nodes that is decreasing in the global ordering. Similarly, every path on the base blue DAG will follow a sequence of nodes that is 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 disjointedness of the red and blue paths is preserved.3 Complexity: The construction of the base DAGs may be achieved in time using depth-ﬁrst-search numbering and low-point values . The global ordering may be com- puted in time. The addition of every other link (Step 6) may be completed in time (an computation for each link). Step 7 takes http://ieeexploreprojects.blogspot.com time. Thus, the complexity of the NI-DAG construction is .Fig. 3. Procedure to construct two node-independent DAGs rooted at destina-tion in a two-vertex-connected network. Example: Consider the nine-node network shown in Fig. 4(a), where we seek to compute IDAGs rooted at node . The base DAGs are computed by consid- Given the partial orders deﬁned by the red DAG, a global ering the cycle A–D–E–B followed by paths D–G–H–Eordering that is consistent with the partial ordering is computed and H–I–F–C–B for augmentation and are shown inin Step 5. We denote precedes in the global order as . Fig. 4(b) and (c). These paths result in the following par-Note that if , then . However, if , then either tial orders: 1) ; 2) ; and , or there is no partial ordering between and on the 3) . Out of many possible global orderingsbase red DAG. Both these scenarios imply that the edge that satisfy these partial orders, we obtain one global order as:may be used on the red DAG or may be used on the . Withred DAG. Given the global ordering, the unused links that are this global ordering, we compute the direction of the edges thatnot incident on the destination may be assigned to the DAGs as were not considered in the base DAGs. Fig. 2(a) and (b) showsshown in Step 6. Finally, Step 7 assigns all the incoming edges the ﬁnal independent DAGs that are constructed.on the destination that are not already on the DAG. It is worthnoting that these edges may be assigned arbitrarily to the red or IV. CONSTRUCTING LINK-INDEPENDENT DAGSblue DAG. Theorem 1: The procedure NI-DAGs construction: 1) assigns Two-edge connectivity is a necessary and sufﬁcient conditionevery edge other than the edges emanating from the destina- for constructing two link-independent DAGs. Similar to the re-tion to one of the two DAGs; and 2) any path from a source quirement of node-independent DAGs, the necessary part of theto the root in the red DAG is node-disjoint with any path from requirement follows from the independent tree construction. Wethe source to the root in the blue DAG. show the sufﬁciency part of the requirement by constructing the Proof: The global order computation deﬁnes an ordering desired DAGs.across all the nodes in the network. Thus, given a link – ( , Fig. 5 shows the procedure to construct two link-indepen- ), either or . Thus, by Step 6, every link in dent DAGs. We ﬁrst divide the network into two-vertex-con-the network that is not incident on is assigned to either the red nected (2V) components (Step 1). A node may appear in moreor the blue DAG. Step 7 assigns every incoming edge to to than a 2V-component, and the removal of such a node (articu-either the red or blue DAG. Thus, only the outgoing edges from lation node) would disconnect the graph. In addition, any two are unused in the DAG. This proves part 1) of the theorem. 2V-components may share at most one node in common. Given The global ordering is similar to the voltage levels used 3Note that the root node may be viewed as being on either extreme of thein . Therefore, every path on the base red DAG will follow global order. Alternatively, we may ignore the root from the global ordering.
CHO et al.: INDEPENDENT DIRECTED ACYCLIC GRAPHS FOR RESILIENT MULTIPATH ROUTING 157Fig. 5. Procedure to construct two link-independent DAGs rooted at destina- Fig. 6. Procedure to construct two node-independent DAGs rooted at destina-tion in a two-edge-connected network. tion using virtual graph expansion.a destination node , we identify the root node for every com-ponent—the unique node through which every path connectinga node in that component and must traverse (Step 2). In com-ponents that contain node , the root node is assumed to be .In components that do not contain node , there is a unique ar-ticulation node that will be assigned the root of that component.Let denote the root node of component that does not con-tain the destination node . Observe that a link , where , may not be used as a forwarding edge on any DAG. As Fig. 7. Illustration of the construction of node-independent DAGs using a vir- tual node. (a) Expansion with virtual node. (b) Contraction to remove virtualevery path from to has to traverse , the addition of node.would result in a cycle. Thus, the only edges that cannot be as-signed to any DAG are those edges emanating from the root http://ieeexploreprojects.blogspot.comnode of a component. In each 2V-component, we compute two completely avoided. Observe that Steps 5–7 in the NI-DAGsnode-independent DAGs to the root of that component (Step 3). construction are required because not all links are consideredWe then merge these node-independent DAGs to obtain the de- by the base IDAG construction (Steps 1–4). If, however, wesired link-independent DAGs (Step 4). can modify the graph such that the base IDAG construction As every network has a unique two-vertex-connected decom- would consider all links, then Steps 5–7 can be eliminated. Toposition, hence unique root nodes for every 2V-component, the this end, we develop a graph expansion technique that resultsnumber of edges that cannot be used in either DAG is unique in an expanded graph with nodes and links,and is a property of the given network topology. It is straight- where and denote the number of nodes and links in theforward to see that the procedure LI-DAGs construction avoids original graph.only the edges emanating from the articulation. Although every Fig. 6 shows the procedure to construct two node-indepen-network topology has a unique two-vertex-connected decompo- dent DAGs rooted at destination using graph expansion. Con-sition, irrespective of the destination node considered, the node sider a link that connects nodes and in the originalselected to be the root node in a component is dependent on the graph. We replace this link with a node and two links –destination node and is unique for a given destination node. and – . Fig. 7(a) shows the expansion of link . Since every The decomposition of a network into two-vertex-connected link in the original graph results in a new node, the total numbercomponents and identifying the root node of every component of nodes in the expanded graph is . Since every linkfor a given destination may be achieved in time using in the original graph results in two links in the expanded graph,depth-ﬁrst-search numbering starting from the destination node. the total number of links in the expanded graph is . ObserveIf a node has a DFS-child whose low point is the same as that all the nodes that correspond to a link in the original graph , then node is an articulation node. In addition, node have exactly two outgoing links.may divide its neighbors belonging to different components by: Now, consider the base IDAG construction on the expanded1) arranging them in the increasing order of their DFS indices; the graph. Since Steps 1–4 must account for all nodes being2) identifying the DFS indices of its children; and 3) grouping added, all the nodes corresponding to the links in the originalthe nodes that fall within the DFS index of two children se- graph must be added in steps 1–4, thus all links in the originalquentially into a component. Therefore, the complexity of con- graph are considered. As the number of links in the originalstructing LI-DAGs is the same as that of NI-DAGs. graph has been doubled, the complexity of construction of the base IDAG remains the same, , using DFS numberingV. ALTERNATIVE APPROACH TO IDAG CONSTRUCTION USING and low-point values . GRAPH EXPANSION Finally, we obtain the colors on the original link – by We now present an alternative algorithm to construct IDAGs deleting the virtual node and merging the two edges assuch that Steps 5–7 of the NI-DAGs construction may be shown in Fig. 7(b).
158 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 20, NO. 1, FEBRUARY 2012 one. Otherwise, all unused edges are utilized by the construction algorithm if is sufﬁciently large. Step 2 takes time—for each link removal, we need to check for two-edge-connectivity, which takes time (using DFS numbering and low-point value checks). Step 3 can be achieved with time using depth-ﬁrst-search numbering and low-point values . Therefore, the complexity of the pro- cedure is . Once the trees are constructed, we require bits in the packet header to identify the pair of inde- pendent trees to be employed for routing. VII. PERFORMANCE EVALUATIONFig. 8. Procedure to construct multiple pairs of colored trees rooted at nodeutilizing the maximum number of links. 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; Correctness: Observe that the base IDAG construction using 2) ITALIAN-NET; 3) MESH-4 4; and 4) NJ-LATA shown is similar to that of the path augmentation approach. Thus, in Fig. 9. We select one of the nodes to be the destination andwith the use of partial ordering, it can be easily shown that any compute independent trees and DAGs rooted at that node. Wered path would traverse a sequence of nodes with decreasing present simulation results for the multiple pairs of colored treespartial order, while the blue path would traverse a sequence of technique, which is another ITrees application and is used tonodes with increasing partial order. Thus, any red path and any exploit all possible links in a network. We believe that theseblue path from a node are node-disjoint. The construction of analyses expand our understanding of the resilient multipathLIDAGs is performed in the same way as explained before, thus routing.retaining the same correctness property. We consider four performance metrics: 1) average path length; 2) number of paths; 3) number of scenarios where anVI. PROCEDURE FOR CONSTRUCTION OF MULTIPLE RED–BLUE intruder can observe two distinct links and observe all trafﬁc TREES sent by a source; and 4) average link load. For IDAGs, the ex- pected path length from a source to the destination is computed Our key goal in this paper is to usehttp://ieeexploreprojects.blogspot.com the maximum possible by assuming that the source and an intermediate node wouldnumber of network edges for data transmission. As mentioned forward a packet on one of its outgoing DAG edges with equalearlier, one possible solution is to construct multiple pairs of probability. We then average the expected path length over allcolored trees. We would like to compare our IDAGs approach nodes in the network. In the case of two independent trees,to the multiple pairs of colored trees approach. In this section, every node has exactly one path on each tree, thus the averagewe introduce the procedure for constructing multiple pairs of path length computation is straightforward. The number ofcolored trees. In order to use the maximum number of edges, paths from a source to the destination is computed as the sumwe construct multiple colored tree pairs that share as few edges of the number of paths from each of its forwarding neighbor toas possible. Note that for a given pair, the red and blue trees are the destination, in a recursive fashion.independent, however trees from different pairs are not neces- We deﬁne an edge on a DAG as the critical edge if its removalsarily independent. would disconnect a node from the root. For every node, we com- Let the number of pairs of colored trees needed be . It is pute the number of critical edges in each DAG. We assume thatnecessary and sufﬁcient for a network to be two-vertex (edge) a source would equally split its trafﬁc to the root across the twoconnected to compute at least one pair of vertex (edge) indepen- DAGs/trees. Thus, any intrusion involving observation of onlydent trees . Given a network we construct a pair of in- one link will not expose all the trafﬁc from the source to desti-dependent trees using the procedure described in  and . nation. However, it is possible to observe two critical links andWe record the link usage frequency of all links and sort links obtain all the trafﬁc from a source to the destination. If andin the descending order of usage frequency. We then consider denote the number of critical edges for node on the twolinks in the given order, removing a link while the network re- DAGs, we compute the number of scenarios of two-link intru-mains two-vertex (edge) connected and compute a pair of inde- sions that will expose all the trafﬁc from node as the productpendent trees. We repeat this procedure until the desired number . Observe that in the case of two independent trees,of colored tree pairs is obtained.4 Fig. 8 shows the procedure to the number of two-link intrusions that will expose all the trafﬁcconstruct multiple pairs of colored trees rooted at node . We from is given by , where and denote the pathprovide several simulation results of the multiple pairs of col- length from to the root on the two trees. The use of DAGsored trees technique in Section VII. increases the number of paths available in the network, thus re- Correctness and Complexity: It is straightforward to show ducing the number of critical links.that the above algorithm uses every possible edge. If a given Average link load is given by , where isnetwork is minimally two-vertex (edge) connected, then every the amount of trafﬁc existing in a link when a node transmitsedge is utilized at least once in two colors even if is equal to on one color. This measure reﬂects the effect of load distribution 4Note that under this method, a link may not be used in any of the independent per link. Intuitively, the metric will have relatively low value iftrees as it may never be needed to maintain the two-connectivity of a graph. as many links as possible are used to transmit data trafﬁc.
CHO et al.: INDEPENDENT DIRECTED ACYCLIC GRAPHS FOR RESILIENT MULTIPATH ROUTING 159Fig. 9. Four real-life network topologies used in the simulations: (a) ARPANET (20 nodes, 32 links); (b) ITALIAN-NET (32 nodes, 69 links); (c) MESH-4 4(16 nodes, 32 links); (d) NJ-LATA (11 nodes, 23 links). http://ieeexploreprojects.blogspot.comFig. 10. Number of paths from a source to destination on the four networks using IDAGs approach. (a) MESH-4 4. (b) NJ-LATA. (c) ARPANET.(d) ITALIAN-NET.A. Results and Discussion pairs of colored trees are needed to utilize all possible edges on the four real-life networks. Table I shows the four min- Fig. 10 shows the number of paths available from a source imum values required to exploit all possible edges on each ofto the destination on the four network topologies (plotted in the the networks. If all available paths on one color at a node are dis-log-scale) with the IDAGs approach. As all the topologies con- tinct, the maximum number of paths on one color is simply .sidered are two-vertex-connected, the number of paths from any In the worst case, all the paths available on one color at a node arenode to the destination (together on both the trees) is at least the the same, and the number of paths available on one color from adegree of the node. We observe that when the number of links source to the root is one. The number of distinct paths dependsin the network increases, the number of paths increases signiﬁ- on the network connectivity and topology. For example, manycantly. For example, in the ITALIAN network, some nodes have nodes can have different paths on one color in a dense network.thousands of paths. The number of paths available on one color is between 1 and 6 Fig. 11 shows the number of path available from a source to the on the four real-life networks since we use in the simula-destination on the four real-life networks when employing mul- tion. Note that we observed from Fig. 10(d) that some nodes havetiple pairs of colored trees approach. Assume that the number of thousands of paths on the ITALIAN network when the IDAGs ap-pairs of colored trees is . According to our simulation, at least proach is applied. We see that the approach with multiple pairs
160 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 20, NO. 1, FEBRUARY 2012Fig. 11. Number of paths from a source to destination on the four networks using the six pairs of colored trees approach. (a) MESH-4 4. (b) NJ-LATA.(c) ARPANET. (d) ITALIAN-NET. TABLE IMINIMUM VALUE TO UTILIZE ALL POSSIBLEhttp://ieeexploreprojects.blogspot.com EDGES ON EACH REAL-LIFE NETWORKof colored trees has a drawback in terms of the number of pathsavailable from Fig. 11. Fig. 12. Product of the number of critical links using six pairs of colored trees, In Fig. 12, we plot the product of the number of critical IDAGs, and ITrees approaches.edges using the six pairs of colored trees, IDAGs, and ITreesapproaches. We observe that the IDAGs approach reduces thenumber of two-link intrusion scenarios that will expose all product of the number of critical edges is reduced signiﬁcantlytrafﬁc by a source by up to a factor of six compared to the ITrees with larger . However, with greater than three, the valuesapproach. Also, the ﬁgure shows that the metric can be reduced are almost the same. That is because the construction algorithmwith the multiple pairs of colored trees approach compared to cannot ﬁnd multiple node (link) disjoint paths any more forthe ITrees approach and even the IDAGs approach. The intuition larger values of .behind this result is that many nodes can ﬁnd multiple node Fig. 14 shows the ratio of the average path length between a(link) disjoint paths by the construction procedure of multiple node and the root using the IDAGs approach to that using thepairs of colored trees if the given network is dense. If a node ITrees approach. In the IDAGs approach, a node is assumedhas at least two node (link) disjoint paths on one color, it has no to forward a packet on any of the outgoing edges in a DAGcritical links on the color. In a dense network, the product of the with equal probability. Any multipath routing approach (othernumber of critical edges can be reduced drastically. As shown than equal-length multiple paths) is likely to employ additionalin the ﬁgure, the metric using six pairs of colored trees approach paths that are longer than the shortest path, thus it is likely tohas zero value on MESH 4 4 and ARPANET networks. On increase network load. The ﬁgure shows that the overall increasethe ITALIAN network, the value is 0.03. in the network load ranges from approximately 10% to no more In Fig. 13, we show the product of the number of critical than two times the load in the ITrees approach. We observe thatedges using the multiple pairs colored trees approach with as the number of links in the network increases, the numberincreasing on the four real-life networks. Notice that if is of available paths increases resulting in increased average pathequal to one, the pairs of colored trees are simply ITrees. The length. Thus, in networks with a large number of links, it may be
CHO et al.: INDEPENDENT DIRECTED ACYCLIC GRAPHS FOR RESILIENT MULTIPATH ROUTING 161Fig. 13. Product of the number of critical links using multiple pairs of coloredtrees approach on the four real-life networks. Fig. 16. Ratio of average shortest path length on the IDAGs to average path length on the ITrees.Fig. 14. Ratio of average IDAGs path length to average ITrees path length. Fig. 17. Ratio of average six pairs of colored trees and IDAGs link load to average ITrees link load. the two shortest paths at a node are disjoint. We can regard trees composed of the shortest paths on the IDAGs as another pair http://ieeexploreprojects.blogspot.com trees. From the ﬁgure, we ﬁnd that the of colored (independent) network load can decrease with the shortest paths on 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, weFig. 15. Ratio of average six pairs of colored trees and IDAGs path length toaverage ITrees path length. can achieve better performance with even shortest paths on the IDAGs compared to paths on the ITrees. Fig. 17 shows the ratio of the average link load using thebeneﬁcial to: 1) evaluate the impact of adding an edge to a DAG IDAGs and six pairs of colored trees approaches to that usingon the average path length (Step 6 of NI-DAGs construction the ITrees approach. From the ﬁgure, we ﬁnd that average linkalgorithm) before including it in a DAG; and 2) consider only load decreases with the two methods compared to the ITrees ap-those edges that either reduce the average path length or do not proach and the six pairs of colored trees approach outperformsincrease the average path length beyond a certain threshold, thus the IDAGs approach. Therefore, a link is less heavily loadedcontrolling the increase in network load. with the IDAGs or multiple pairs of colored tree approaches Fig. 15 shows the ratio of the average path length between a compared to the ITrees approach.node and the root using the six pairs of colored trees and IDAGs From the simulation results, the approach with multipleapproaches to that using the ITrees approach. Each histogram pairs of colored trees performs marginally better in termsin the ﬁgure represents the average value of the red and blue of preventing snooping on data and average link load com-colors of path-length ratio. From the ﬁgure, IDAGs approach pared to IDAGs approach. However, this approach requireshas shorter path length than six pairs of colored trees approach bits in the packet header for routing. The overheadon all four real-life networks. The reason is because the con- is expensive since header extensions are processed in software,struction algorithm computes multiple pairs of colored trees that hence increase delay.share as few edges as possible. The algorithm may construct apair of colored trees with long paths as the number of multiple VIII. CONCLUSIONpairs of colored trees increases. Fig. 16 shows the ratio of the average shortest path length In this paper, we introduced the concept of independent di-on the IDAGs to the average path length on the ITrees from rected acyclic graphs (IDAGs) and developed a methodologya node to the root. The shortest path on an IDAG is deﬁned for resilient multipath routing using two IDAGs. We developedto be the shortest path among all paths available on the IDAG polynomial-time algorithms to construct node-independent andat a node, and we can ﬁnd one shortest path on red and blue link-independent DAGs using all possible edges in the network.DAGs at a node, respectively. By the disjointedness of IDAGs, The IDAGs approach was evaluated on four real-life network
162 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 20, NO. 1, FEBRUARY 2012topologies and compared to ITrees and multiple pairs of col-  T. Erlebach and A. Mereu, “Path splicing with guaranteed fault toler-ored (independent) trees approaches to prove the validity of the ance,” in Proc. 28th IEEE GLOBECOM, 2009, pp. 623–628.  Y. Ohara, S. Imahori, and R. V. Meter, “MARA: Maximum alternativealgorithm. Through simulations, we showed that the IDAGs ap- routing algorithm,” in Proc. IEEE INFOCOM, Rio de Janeiro, Brazil,proach performs signiﬁcantly better than the independent trees Apr. 2009, pp. 298–306.approach in terms of increasing number of paths offered, re-  M. Medard, R. A. Barry, S. G. Finn, and R. G. Gallager, “Redundant trees for preplanned recovery in arbitrary vertex—Redundant or edgeducing the probability of a two-link failure disconnecting a node redundant graphs,” IEEE/ACM Trans. Netw., vol. 7, no. 5, pp. 641–652,from the destination, and average link load. In addition, the Oct. 1999.trees based on the shortest paths on the IDAGs have better per-  G. Xue, L. Chen, and K. Thulasiraman, “Quality-of-service andformance than that of the ITrees approach since the average quality-of-protection issues in preplanned recovery schemes using redundant-trees,” IEEE J. Sel. Areas Commun., vol. 21, no. 8, pp.shortest path length on the IDAGs is shorter than the average 1332–1345, Oct. 2003.path length on the ITrees. Multiple pairs of colored trees ap-  S. Ramasubramanian, M. Harkara, and M. Krunz, “Linear time dis-proach is better in terms of the product of the number of critical tributed construction of colored trees for disjoint multipath routing,” Comput. Netw., vol. 51, no. 10, pp. 2854–2866, Jul. 2007.links and average link load compared to the ITrees and IDAGs  G. Xue, W. Zhang, J. Tang, and K. Thulasiraman, “Polynomial time ap-approaches. However, the method is impractical since it needs proximation algorithms for multi-constrained qos routing,” IEEE/ACMmany overhead bits in the packet header. Trans. Netw., vol. 16, no. 3, pp. 656–669, Jun. 2008.  D. Thaler and C. Hopps, “Multipath issues in unicast and multicast next-hop selection,” RFC 2991, Nov. 2000 [Online]. Available: http:// REFERENCES tools.ietf.org/html/rfc2991  C. Hopps, “Analysis of an equal-cost multi-path algorithm,” RFC 2992,  S. Cho, T. Elhourani, and S. Ramasubramanian, “Resilient multipath Nov. 2000 [Online]. Available: http://tools.ietf.org/html/rfc2992 routing with independent directed acyclic graphs,” in Proc. IEEE Int. Conf. Commun., Cape Town, South Africa, May 2010, pp. 1–5. Sangman Cho received the B.E. degree in elec-  Z. Ye, S. V. Krishnamurthy, and S. K. Tripathi, “A framework for re- tronics engineering from Inha University, Incheon, liable routing in mobile ad hoc networks,” in Proc. IEEE INFOCOM, Korea, in 2000, and the M.E. degree in computer Apr. 2003, pp. 270–280. and communication engineering from POSTECH,  P. P. Pham and S. Perreau, “Performance analysis of reactive shortest Pohang, Korea, in 2003, and is currently pursuing the path and multi-path routing mechanism with load balance,” in Proc. Ph.D. degree in electrical and computer engineering IEEE INFOCOM, 2003, pp. 251–259. at the University of Arizona, Tucson.  J. Tsai and T. Moors, “A review of multipath routing protocols: From He held research positions at Samsung Elec- wireless ad hoc to mesh networks,” in Proc. ACoRN Early Career Res. tronics, Suwon, Korea, and Bellwave, Seoul, Korea. Workshop Wireless Multihop Netw., Jul. 17–18, 2006, pp. 17–22. His research interests include network monitoring,  S. Murthy and J. Garcia-Luna-Aceves, “Congestion-oriented shortest fault localization, multipath routing, and channel multipath routing,” in Proc. IEEE INFOCOM, Mar. 1996, vol. 3, pp. 1028–1036. http://ieeexploreprojects.blogspot.com wireless networks. access schemes in multichannel  W. Lou, W. Liu, and Y. Fang, “A simulation study of security perfor- mance using multipath routing in ad hoc networks,” in Proc. IEEE Veh. Technol. Conf., Oct. 2003, vol. 3, pp. 2142–2146.  G. Lee and J. Choi, “A survey of multipath routing for trafﬁc Theodore Elhourani received the B.S. and M.S. de- engineering,” 2002 [Online]. Available: http://academic.re- grees in computer engineering from the University search. microsoft.com/Publication/10842993/a-survey-of-multi- of Arizona, Tucson, in 2003 and 2006, respectively, path-routing-for-trafﬁc-engineering and is currently pursuing the Ph.D. degree in com-  K. Xi and J. Chao, “IP fast rerouting for single-link/node failure re- puter engineering at the University of Arizona. covery,” in Proc. BROADNETS, Internet Technol. Symp., Sep. 2007, He was a Research Assistant with the Artiﬁcial In- pp. 142–151. telligence Laboratory, University of Arizona, and an  M. Shand and S. Bryant, “IP fast reroute framework,” IETF Internet intern with the Enterprise Power Pathﬁnding Team, Draft draft-ietf-rtgwg-ipfrr-framework-08.txt, Feb. 2008. Intel Corporation, Chandler, AZ. His areas of interest  A. Kvalbein, A. F. Hansen, T. Ĉiĉić, S. Gjessing, and O. Lysne, “Fast are network and server reliability, network security, IP network recovery using multiple routing conﬁgurations,” in Proc. software agents, and software engineering. IEEE INFOCOM, Apr. 2006, pp. 1–11.  S. Lee, Y. Yu, S. Nelakuditi, Z.-L. Zhang, and C.-N. Chuah, “Proac- tive vs. reactive approaches to failure resilient routing,” in Proc. IEEE INFOCOM, Mar. 2004, vol. 1, pp. 176–186. Srinivasan Ramasubramanian (S’99–M’02–  S. Nelakuditi, S. Lee, Y. Yu, and Z.-L. Zhang, “Failure insensitive SM’08) received the B.E. (Hons.) degree in elec- routing for ensuring service availability,” in Proc. IWQoS, Jun. 2003, trical and electronics engineering from Birla Institute pp. 287–304. of Technology and Science (BITS), Pilani, India, in  S. Bryant, M. Shand, and S. Previdi, “IP fast reroute using not-via ad- 1997, and the Ph.D. degree in computer engineering dresses,” Internet Draft draft-ietf-rtgwg-ipfrr-notvia-addresses-02.txt, from Iowa State University, Ames, in 2002. Feb. 2008. Since August 2002, he has been an Assistant  S. Kini, S. Ramasubramanian, A. Kvalbein, and A. Hansen, “Fast Professor with the Department of Electrical and recovery from dual-link failures in IP networks,” in Proc. IEEE Computer Engineering, The University of Arizona, INFOCOM, Rio de Janeiro, Brazil, Apr. 2009, pp. 1368–1376. Tucson. He is a co-developer of the Hierarchical  S. Ramasubramanian, M. Harkara, and M. Krunz, “Distributed linear Modeling and Analysis Package (HIMAP), a reli- time construction of colored trees for disjoint multlipath routing,” in ability modeling and analysis tool, which is currently being used at Boeing, Proc. IFIP Netw., May 2006, pp. 1026–1038. Honeywell, and several other companies and universities. His research inter-  G. Jayavelu, S. Ramasubramanian, and O. Younis, “Maintaining ests include architectures and algorithms for optical and wireless networks, colored trees for disjoint multipath routing under node failures,” multipath routing, fault tolerance, system modeling, and performance analysis. IEEE/ACM Trans. Netw., vol. 17, no. 1, pp. 346–359, Feb. 2008. Dr. Ramasubramanian has served as the TPC Co-Chair of BROADNETS  A. Huck, “Independent trees in graphs,” Graphs Combin., vol. 10, pp. 2005, ICCCN 2008, and ICC 2010 conferences and LANMAN 2010 Workshop. 29–45, 1994. He has served on the Editorial Board of Wireless Networks from 2005 to 2009.