finding disjoint paths in wireless sensor networks

12
Research Article DFDP: A Distributed Algorithm for Finding Disjoint Paths in Wireless Sensor Networks with Correctness Guarantee Kejia Zhang, Guisheng Yin, Qilong Han, and Junyu Lin College of Computer Science and Technology, Harbin Engineering University, Harbin 150001, China Correspondence should be addressed to Kejia Zhang; [email protected] Received 13 January 2014; Revised 31 May 2014; Accepted 1 June 2014; Published 22 June 2014 Academic Editor: Ai Chen Copyright © 2014 Kejia Zhang et al. is is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. In wireless sensor networks, routing messages through multiple (node) disjoint paths between two sensor nodes is a promising way to increase robustness, throughput, and load balance. is paper proposes an efficient distributed algorithm named distributedly finding disjoint paths (DFDP) to find k disjoint paths connecting two given nodes s and t. A set of paths connecting s and t are disjoint if any two of them do not have any common nodes except s and t. Unlike the existing distributed algorithms, DFDP guarantees correctness; that is, it will output k disjoint paths if there exist k disjoint paths in the network or the maximum number of disjoint paths otherwise. Compared with the centralized algorithms which also guarantee correctness, DFDP is shown to have much better efficiency and load balance by theory analysis and simulation results. 1. Introduction A typical wireless sensor network (WSN) comprises a large number of small-size battery-powered sensor nodes deployed in a large area. Since the radio transmitting range of sensor nodes is very limited, data exchanging in WSNs usually needs to be relayed in a multihop manner, which makes efficient message routing a crucial problem. Instead of routing messages through a single path, multipath routing, especially routing through multiple (node) disjoint paths, has become more and more popular [15]. Let and denote a routing request, that is, two sensor nodes that want to communicate with each other; a set of paths connecting and (i.e., paths) are (node) disjoint if any two of them do not have any common nodes except and . Compared to transmitting data through a single path, transmitting data through multiple disjoint paths can increase throughput, robustness, and load balance of routing in WSNs. Sending multiple data packets through multiple disjoint paths simultaneously will increase the throughput between and dramatically. Since link and node failures are very common in WSNs, messages may be easily lost while they are routed along a single path. We can increase reliability by sending messages redundantly through multiple disjoint paths. On the other hand, routing messages oſten through a fixed single path would deplete the energy of the nodes on the path quickly. By routing messages through several disjoint paths, alternately, the network can gain a better load balance. Moreover, in some applications, a sensitive message can be easily captured by eavesdropping nodes while it is routed through a single path. However, if we break the sensitive message into small pieces and send these pieces through multiple disjoint paths, capturing the entire message would be much more difficult. is paper investigates the -disjoint-paths (-DP) prob- lem: in a WSN, given two nodes and , a positive integer , finding disjoint paths, we expect that the -DP problem can be solved with correctness guarantee; that is, an algorithm will output min{, } disjoint paths. Here, we assume that there exist up to disjoint paths Hindawi Publishing Corporation International Journal of Distributed Sensor Networks Volume 2014, Article ID 258959, 11 pages http://dx.doi.org/10.1155/2014/258959

Upload: mstevan

Post on 16-Jan-2016

17 views

Category:

Documents


0 download

DESCRIPTION

In wireless sensor networks, routingmessages throughmultiple (node) disjoint paths between two sensor nodes is a promising way to increase robustness, throughput, and load balance.This paper proposes an efficient distributed algorithm named distributedly finding disjoint paths (DFDP) to find k disjoint paths connecting two given nodes s and t. A set of paths connecting s and t are disjoint if any two of them do not have any common nodes except s and t. Unlike the existing distributed algorithms, DFDP guarantees correctness; that is, it will output k disjoint paths if there exist k disjoint paths in the network or the maximum number of disjoint paths otherwise. Compared with the centralized algorithms which also guarantee correctness, DFDP is shown to have much better efficiency and load balance by theory analysis and simulation results.

TRANSCRIPT

Page 1: Finding Disjoint Paths in Wireless Sensor Networks

Research ArticleDFDP A Distributed Algorithm forFinding Disjoint Paths in Wireless Sensor Networkswith Correctness Guarantee

Kejia Zhang Guisheng Yin Qilong Han and Junyu Lin

College of Computer Science and Technology Harbin Engineering University Harbin 150001 China

Correspondence should be addressed to Kejia Zhang kejiazhanghrbeueducn

Received 13 January 2014 Revised 31 May 2014 Accepted 1 June 2014 Published 22 June 2014

Academic Editor Ai Chen

Copyright copy 2014 Kejia Zhang et al This is an open access article distributed under the Creative Commons Attribution Licensewhich permits unrestricted use distribution and reproduction in any medium provided the original work is properly cited

In wireless sensor networks routing messages throughmultiple (node) disjoint paths between two sensor nodes is a promising wayto increase robustness throughput and load balance This paper proposes an efficient distributed algorithm named distributedlyfinding disjoint paths (DFDP) to find k disjoint paths connecting two given nodes s and t A set of paths connecting s and t aredisjoint if any two of them do not have any common nodes except s and t Unlike the existing distributed algorithms DFDPguarantees correctness that is it will output k disjoint paths if there exist k disjoint paths in the network or the maximum numberof disjoint paths otherwise Compared with the centralized algorithms which also guarantee correctness DFDP is shown to havemuch better efficiency and load balance by theory analysis and simulation results

1 Introduction

A typical wireless sensor network (WSN) comprises a largenumber of small-size battery-powered sensor nodes deployedin a large area Since the radio transmitting range of sensornodes is very limited data exchanging in WSNs usuallyneeds to be relayed in a multihop manner which makesefficientmessage routing a crucial problem Instead of routingmessages through a single path multipath routing especiallyrouting through multiple (node) disjoint paths has becomemore and more popular [1ndash5] Let 119904 and 119905 denote a routingrequest that is two sensor nodes that want to communicatewith each other a set of paths connecting 119904 and 119905 (ie 119904 sim 119905paths) are (node) disjoint if any two of them do not have anycommon nodes except 119904 and 119905

Compared to transmitting data through a single pathtransmitting data through multiple disjoint paths canincrease throughput robustness and load balance of routingin WSNs Sending multiple data packets through multipledisjoint paths simultaneously will increase the throughput

between 119904 and 119905 dramatically Since link and node failures arevery common in WSNs messages may be easily lost whilethey are routed along a single pathWe can increase reliabilityby sending messages redundantly through multiple disjointpaths On the other hand routing messages often through afixed single path would deplete the energy of the nodes onthe path quickly By routingmessages through several disjointpaths alternately the network can gain a better load balanceMoreover in some applications a sensitive message can beeasily captured by eavesdropping nodes while it is routedthrough a single path However if we break the sensitivemessage into small pieces and send these pieces throughmultiple disjoint paths capturing the entire message wouldbe much more difficult

This paper investigates the 119896-disjoint-paths (119896-DP) prob-lem in a WSN given two nodes 119904 and 119905 a positive integer119896 finding 119896 disjoint 119904 sim 119905 paths we expect that the 119896-DPproblem can be solved with correctness guarantee that is analgorithm will output min119896 119896lowast disjoint 119904 sim 119905 paths Herewe assume that there exist up to 119896lowast disjoint 119904 sim 119905 paths

Hindawi Publishing CorporationInternational Journal of Distributed Sensor NetworksVolume 2014 Article ID 258959 11 pageshttpdxdoiorg1011552014258959

2 International Journal of Distributed Sensor Networks

in the given network There are some works [1ndash12] consid-ering the problem of finding multiple disjoint 119904 sim 119905 paths Tothe best of our knowledge all the existing algorithms whichcan solve the 119896-DP problems with correctness guarantee arecentralized algorithms These centralized algorithms need tobuild the topology of the whole network and update it withevery topology change so their communication costs areoverwhelming for a large-scale WSN On the other hand allthe existing algorithms finding disjoint paths in a distributedway (so they are much more efficient) cannot guaranteecorrectness Therefore we have two challenges to solve the119896-DP problem in WSNs to guarantee correctness and tomaintain efficiency

This paper proposes a distributed algorithm nameddistributedly finding disjoint paths (DFDP) to solve the 119896-DP problem with correctness guarantee DFDP finds dis-joint paths in a totally distributed way that is each nodeparticipates by exchanging short messages with its one-hopneighbors (hereinafter ldquoneighborrdquo means one-hop neighbor)and the exchange ofmessages does not rely on any predefinedstructures DFDP is very energy-efficient and can adapt totopology changes with very limited extra cost Both theo-retical analysis and simulation results confirm the energy-efficiency ofDFDPAs far as we knowDFDP is the first totallydistributed algorithmwhich can solve the 119896-DP problemwithcorrectness guarantee

The rest of the paper is organized as follows Some relatedworks are introduced in Section 2 After giving some pre-liminary definitions in Section 3 we describe the proposeddistributed algorithm DFDP in Section 4 The simulationresults which confirm the proposed algorithmrsquos efficiency arepresented in Section 5 Finally we conclude the whole paperin Section 6

2 Related Works

Some works consider finding two 119904 sim 119905 paths in a networkTwo algorithms are presented in [13 14] to find a pair ofdisjoint paths from each node to a fixed destinationTheworkin [15] considers the problem of finding two 119904 sim 119905 paths withthe following optimizing goals (1) the two identified pathsare as disjoint as possible (2) the second path is as short aspossible compared with the first path The work in [16] givesa distributed algorithm to check if the network configurationcontains at least two disjoint paths between all node pairs

For general 119896 some distributed algorithms [1 3ndash5 11 12]are proposed for finding 119896 disjoint 119904 sim 119905 paths in a networkThese algorithms have the same basic idea They find pathsone by one (most of them find the shortest 119904 sim 119905 path)Once a path is found it is fixed and all its internal nodes areremoved from the network so that they cannot participate inanother path To solve the 119896-DP problem these algorithmscannot guarantee correctness Suppose that in a network asshown in Figure 1 the users want to find 119896 = 2 disjoint119904 sim 119905 paths and we have already found the first path 119875

1=

(119904 119886 119887 119888 119905) as shown by the bold lines in Figure 1(a) If wefix 1198751 we cannot find another 119904 sim 119905 path disjoint from it

and we have to report nonexistence of two disjoint 119904 sim 119905

d e

s a b c t

f g

(a) The first 119904 sim 119905 path 1198751

d e

a b cs t

f g

(b) The converted graph 119866lowast

d e

a b cs t

f g

(c) Augmenting path 119875119886

d e

a b cs t

f g

(d) Two disjoint 119904 sim 119905 paths

Figure 1 An example of finding disjoint 119904 sim 119905 paths (119896 = 2)

paths However there do exist two disjoint 119904 sim 119905 paths asshown in Figure 1(d) In some cases the above mentioneddistributed approaches can be very wrong in answering the 119896-DP problem by underestimating the disjoint paths Supposethat the topology graph of a given network is as shown inFigure 2 in which the dashed lines denote paths If the userswant to find 119896 = 5 disjoint 119904 sim 119905 paths and we find the firstpath as shown by the bold lines in Figure 2(a) and then fix thispath this pathwill be the only one 119904 sim 119905 pathwe can find eventhough five disjoint paths do exist as shown in Figure 2(b)

In [17] a distributed algorithm is proposed to find 119896disjoint paths from every node to a fixed destination ina network The algorithm is based on a shortest-path tree

International Journal of Distributed Sensor Networks 3

s

t

(a) The first 119904 sim 119905 path

s

t

(b) Five disjoint 119904 sim 119905 paths

Figure 2 An example of incorrect answer

rooted at the destinationThe work in [18] gives a distributedalgorithm to find multiple disjoint 119904 sim 119905 paths for geographicrouting These two algorithms cannot guarantee correctnesseither

We propose a pseudodistributed algorithm in [19] to solvethe 119896-DP problem in WSNs with correctness guarantee Thealgorithm does not process in a totally distributed mannerAlthough it does not need to collect the topology informationof the whole network it still needs to collect some topologyinformation from the network so it is not very efficientFurthermore the algorithm is complicated and hard to beimplemented by sensor nodes

In [2 6ndash10 20] some centralized algorithms are given forfinding 119896 disjoint 119904 sim 119905 paths in graphs In particular thealgorithms in [6 9 20] can find 119896 disjoint 119904 sim 119905 paths withthe minimum total length All these centralized algorithmsguarantee correctness If we use these centralized algorithmsto solve the 119896-DP problem in a WSN we will have tocollect every nodersquos neighbor list to build the topology of thewhole network The communication cost of such operationis very high for a large-scale network On the other handto guarantee correctness we have to update the networkrsquostopology with each topology change such as link failing linkrecovering node dying and new node joining in Since thesetopology changes happen frequently inWSNs we need to paya lot of communication to make the topology we built up-to-date

The works in [21ndash23] consider the problem of finding themaximum number of length-bounded disjoint 119904 sim 119905 paths ingraphs A length-bounded path is a path whose length is nomore than a user-specified threshold 119897 In [22] this problem isproven to beNP-hard for 119897 ge 5 In [21] this problem is furtherproven to be APX-complete for 119897 ge 5 which means that thereis no polynomial time approximation scheme (PTAS) for thisproblem A heuristic algorithm for this problem is given in[23] without approximation bound

For 119896 multiple 119904 sim 119905 paths we can give each patha sequence number Each edge has 119896 costs to be in the1st 119896th path Such a network is called a multicost net-work Some centralized algorithms are given in [24ndash26] tofind 119896 disjoint 119904 sim 119905 paths in multicost networks with theminimum total cost The works in [27] consider the problemof reliable data transmission in underwater sensor networksIts solution is based on coding techniques rather than findingdisjoint paths To transmit a series of data packets byeffective coding its algorithm ensures that certain amount of

the packets missing does not affect our access to the completedata

So far all the existing algorithms which can solve the119896-DP problem with correctness guarantee are centralizedalgorithms These centralized algorithms need to build thetopology of the whole network and update it with everytopology change so they are not applicable in WSNs Onthe other hand all the existing distributed algorithms cannotguarantee correctness although they are efficient

3 Preliminaries

The givenWSN can be expressed as an undirected graph 119866 =(119881 119864) where 119881 = V | V is a sensor node and 119864 = (119906 V) |there is a wireless link between 119906 isin 119881 and V isin 119881 Here weassume that all the links are bidirectional that is 119906 can hearV if V can hear 119906 Hereinafter we do not distinguish the termsldquonetworkrdquo and ldquographrdquo

A path 119875 in 119866 is a subgraph which can be expressed asa sequence of distinct nodes (V

1 V

119898) where V

119894isin 119881 and

(V119894 V119894+1) isin 119864 We say path 119875 = (V

1 V

119898) is a V

1sim V119898

path Although wemodel the given network as an undirectedgraph we still emphasize the direction of a path by nodesrsquoorder in its expression or the words ldquofromrdquo and ldquotordquoThus thedirection of path 119875 = (V

1 V

119894minus1 V119894 V119894+1 V

119898) is from V

1

to V119898 V119894rsquos previous hop in 119875 is V

119894minus1and its next hop in 119875 is

V119894+1

The default direction of each 119904 sim 119905 path is from 119904 to 119905A reverse segment of a 119904 sim 119905 path is a segment of the pathalong the direction from 119905 to 119904 In the example of Figure 1(a)(119888 119887 119886) is a reverse segment of 119904 sim 119905 path 119875

1

Suppose that we have found 119899 disjoint 119904 sim 119905 paths1198751 119875

119899in the given network The nodes (edges) in the

found paths are called occupied nodes (edges) and the othernodes (edges) are called unoccupied nodes (edges) Let V bean occupied node We respectively use 119901119903119890V(V) and 119899119890119909119905(V)to denote Vrsquos previous hop and next hop in the found paththat V belongs to For example in the network as shown inFigure 1(a) after finding 119875

1 119887 is an occupied node 119901119903119890V(119887) =

119886 and 119899119890119909119905(119887) = 119888After finding some disjoint 119904 sim 119905 paths we convert the

original graph 119866 to another graph 119866lowast by replacing each pathedge with a directed edge along the direction from 119905 to 119904 In119866lowast each found path becomes a ldquoriverrdquo flowing from 119905 to 119904

In the example of Figure 1(a) after finding 1198751 we convert 119866

to 119866lowast as shown in Figure 1(b) Actually 119866lowast is another way to

4 International Journal of Distributed Sensor Networks

Input two nodes 119904 and 119905 a positive integer 119896Output min119896 119896lowast disjoint 119904 sim 119905 paths

(1) repeat(2) Call Procedure 1(3) if cannot find a path from 119904 to 119905 in 119866lowast then(4) Output all the found paths and stop(5) Call Procedure 2(6) until Find 119896 disjoint 119904 sim 119905 paths

Algorithm 1 Distributedly finding disjoint paths (DFDP)

interpret 119866 In the following we do not distinguish the pathin 119866 and its corresponding path in 119866lowast

We say that a path follows the crossing restriction if thepath does not go through any occupied nodes except by goingdownstream on some river in 119866lowast for at least one hop (iegoing through a reverse segment of some found path) A pathfollowing the crossing restriction is called a CR-path Afterfinding the first path 119875

1 let us examine some paths in the

converted graph as shown in Figure 1(b) 1198761= (119904 119889 119886 119891)

is not a CR-path because it goes through occupied node 119886by directly crossing the river 119876

2= (119904 119889 119886 119887 119888 119890) is not a

CR-path because it goes through occupied nodes 119886 119887 119888 bygoing upstream on the river 119876

3= (119904 119889 119890 119888 119887 119886 119891) is a CR-

path because it goes through occupied nodes 119888 119887 119886 by goingdownstream on the river for segment (119888 119887 119886)

ACR-path from 119904 to 119905 is an augmenting path By adding anaugmenting path 119875

119886to the found paths 119875

1 119875

119899 we can get

119899+1 disjoint 119904 sim 119905 paths where ldquoaddrdquomeans adding the edgesthat only belong to 119875

119886and removing the overlapping edges of

119875119886and 119875

1 119875

119899 In the example of Figure 1(a) after finding

the first path 1198751= (119904 119886 119887 119888 119905) we can find an augmenting

path 119875119886= (119904 119889 119890 119888 119887 119886 119891 119892 119905) as shown by bold lines in

Figure 1(c) By adding 119875119886to 1198751 we can get two disjoint 119904 sim 119905

paths11987510158401= (119904 119889 119890 119888 119905) and1198751015840

2= (119904 119886 119891 119892 119905) as shown by bold

lines in Figure 1(d)

Lemma 1 After finding 119899 disjoint 119904 sim 119905 paths there existmore than 119899 disjoint 119904 sim 119905 paths if and only if there exists anaugmenting path [8]

Lemma 1 can be easily proven by transforming the prob-lem of finding disjoint paths to a maximum flow problem Itmeans thatwe can find themaximumnumber of disjoint 119904 sim 119905paths by searching for augmenting path repeatedly

4 Distributed Algorithm DFDP

In the given network 119866 the users specify two nodes 119904 and 119905and a positive integer 119896 the proposed algorithm DFDP willoutput min119896 119896lowast disjoint 119904 sim 119905 paths Here we assume thatthere exist up to 119896lowast disjoint 119904 sim 119905 paths in the given networkDFDP is iteratively searching for augmenting path andadding it to the paths found beforeThere are two procedures

in each iteration Procedure 1 searches for an augmentingpath 119875

119886 Procedure 2 adds 119875

119886to the paths found before to

generate more disjoint paths DFDP is given by Algorithm 1We assume that each message contains the senderrsquos ID Eachoccupied node V knows 119901119903119890V(V) and 119899119890119909119905(V)

41 Finding Augmenting Path Suppose that we have found 119899disjoint 119904 sim 119905 paths 119875

1 119875

119899in the first 119899 iterations In the

(119899 + 1)th iteration Procedure 1 searches for an augmentingpath by finding a CR-path from 119904 to each node in the network

To make sure that the paths we found follow the crossingrestriction we divide the nodes in a CR-path into threecategories unoccupied node (UN) first hop of a reversesegment (FHR) and other hops in a reverse segment (OHR)of some found path In the example of Figure 1(b) for CR-path 119875

119886= (119904 119889 119890 119888 119887 119886 119891 119892 119905) the nodes 119889 119890 119891 119892 are UNs

node 119888 is a FHR and nodes 119887 119886 are OHRsEach unoccupied node Vmaintains variable UN 119901ℎ119888119903(V)

to record Vrsquos previous hop in the CR-path we found from 119904

to V Each occupied node Vmaintains variables FHR 119901ℎ119888119903(V)and OHR 119901ℎ119888119903(V) FHR 119901ℎ119888119903(V) records Vrsquos previous hopin the CR-path we found from 119904 to V with V as a FHROHR 119901ℎ119888119903(V) records Vrsquos previous hop in the CR-path wefound from 119904 to V with V as an OHR

Procedure 1 starts with 119904 broadcasting a FIND-AP mes-sageThe other nodes find a CR-path from 119904 to themselves byexchanging FIND-APmessages Each FIND-APmessage hasan empty data field Next we discuss the following four cases

Case 1 Unoccupied node V receives a FIND-AP message (letthe sender be 119906) It means that we find a CR-path (denotedby 119876) from 119904 to V and 119906 is Vrsquos previous hop in 119876 Since V is anunoccupied node V is an UN in 119876 To further extend 119876 as aCR-path Vrsquos next hop in this path could be any neighbor of VIn this case if UN 119901ℎ119888119903(V) is not set yet we set UN 119901ℎ119888119903(V)to 119906 and let V broadcast a FIND-AP message (lines 2ndash4 inProcedure 1)

Case 2 Occupied node V receives a FIND-AP message from119906 and 119906 is 119901119903119890V(V) It means that we find a path 119876 from 119904 to Vand 119906 is Vrsquos previous hop in 119876 Since 119906 is 119901119903119890V(V) 119876 does notfollow the crossing restriction In this case we let V discardthe message

International Journal of Distributed Sensor Networks 5

Input 119899 disjoint 119904 sim 119905 paths 1198751 119875

119899

Output an augmenting path 119875119886

lowast Each node V = 119904 executes the following pseudo-codes while

receiving a FIND-AP message (Let the sender be 119906) Start

with 119904 broadcasting a FIND-AP message lowast

(1) case V is an unoccupied node(2) if UN 119901ℎ119888119903(V) = NULL then(3) UN 119901ℎ119888119903(V) larr 119906(4) Broadcast a FIND-AP message(5) case V is an occupied node and 119906 is not 119901119903119890V(V) or 119899119890119909119905(V)(6) if FHR 119901ℎ119888119903(V) = NULL then(7) FHR 119901ℎ119888119903(V) larr 119906(8) if V = 119905 then(9) Start Procedure 2(10) else(11) Send a FIND-AP message to 119901119903119890V(V)(12) case V is an occupied node and 119906 = 119899119890119909119905(V)(13) if OHR 119901ℎ119888119903(V) = NULL then(14) OHR 119901ℎ119888119903(V) larr 119906(15) Broadcast a FIND-AP message

Procedure 1 Finding augmenting path

Input 119899 disjoint 119904 sim 119905 paths 1198751 119875

119899 an augmenting path 119875

119886

Output 119899 + 1 disjoint 119904 sim 119905 paths 11987510158401 119875

1015840

119899+1

lowast Each node V = 119905 executes the following pseudo-codes while

receiving a TRACE-AP message (Let the sender be 119906) Starts

with 119905 sending a TRACE-AP message to FHR 119901ℎ119888119903(119905) lowast

(1) case V is an unoccupied node(2) Mark itself as an occupied node(3) 119901119903119890V(V) larr UN 119901ℎ119888119903(V)(4) 119899119890119909119905(V) larr 119906(5) Send a TRACE-AP message to UN 119901ℎ119888119903(V)(6) case V is an occupied node and 119906 = 119901119903119890V(V)(7) Still mark itself as an occupied node(8) 119899119890119909119905(V) larr 119906(9) Send a TRACE-AP message to OHR 119901ℎ119888119903(V)(10) case V is an occupied node and 119906 = 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL(11) Mark itself as an unoccupied node(12) Send a TRACE-AP message to OHR 119901ℎ119888119903(V)(13) case V is an occupied node and 119906 = 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL(14) Still mark itself as an occupied node(15) 119901119903119890V(V) larr FHR 119901ℎ119888119903(V)(16) Send a TRACE-AP message to FHR 119901ℎ119888119903(V)

Procedure 2 Tracing augmenting path

Case 3 Occupied node V receives a FIND-AP message from119906 and 119906 is not 119901119903119890V(V) or 119899119890119909119905(V) It means that we find a CR-path 119876 from 119904 to V and 119906 is Vrsquos previous hop in 119876 Since 119906is not 119901119903119890V(V) or 119899119890119909119905(V) V is a FHR in 119876 To further extend119876 as a CR-path Vrsquos next hop in this path must be 119901119903119890V(V) Inthis case if FHR 119901ℎ119888119903(V) is not set yet we set FHR 119901ℎ119888119903(V)

to 119906 and let 119906 send a FIND-APmessage to 119901119903119890V(V) (lines 6ndash11in Procedure 1)

Case 4 Occupied node V receives a FIND-APmessage from119906and 119906 is 119899119890119909119905(V) It means that we find a CR-path119876 from 119904 to Vand 119906 is Vrsquos previous hop in119876 Since 119906 = 119899119890119909119905(V) V is an OHR

6 International Journal of Distributed Sensor Networks

in 119876 To further extend 119876 as a CR-path Vrsquos next hop in thispath could be any neighbor of V except 119899119890119909119905(V) In this Caseif OHR 119901ℎ119888119903(V) is not set yet we set OHR 119901ℎ119888119903(V) to 119906 andlet 119906 broadcast a FIND-APmessage (lines 13ndash15 in Procedure1) Although this message will be redundantly received by119899119890119909119905(V) 119899119890119909119905(V)will discard thismessage according toCase 2

We assume that at the beginning of each iterationUN 119901ℎ119888119903(V) = NULL for each unoccupied node andFHR 119901ℎ119888119903(V) = OHR 119901ℎ119888119903(V) = NULL for each occupiednode For example UN 119901ℎ119888119903(V) =NULLmeans that V (as anUN) has not received a FIND-AP message yet in the currentiteration It can be implemented by the followingmechanismEach node V maintains a variable 119903119900119906119899119889(V) to denote thenumber of the current iteration At the beginning of each newiteration 119904 updates the iteration number by adding 1 to thenumber of the last iterationThis number is included by everyFIND-APmessage so that each node can update its 119903119900119906119899119889(V)When V receives a FIND-APmessagewhose iteration numberis larger than 119903119900119906119899119889(V) it sets UN 119901ℎ119888119903(V) = NULL if V is anunoccupied node or FHR 119901ℎ119888119903(V) = OHR 119901ℎ119888119903(V) = NULLif V is an occupied node

42 Tracing Augmenting Path At first let us describe the lasthop in a reverse segment of some found path In the exampleof Figure 1 after finding the augmenting path 119875

119886as shown in

Figure 1(c) we say 119886 is the last hop of the reverse segment(119888 119887 119886) By adding 119875

119886to the paths found before 119886 should

be an occupied node 119901119903119890V(119886) does not change and 119899119890119909119905(119886)changes to its next hop in 119875

119886 that is 119891 In a CR-path the last

hop of a reverse segment is certainly an OHRSuppose that we find an augmenting path119875

119886in Procedure

1 Procedure 2 adds119875119886to the paths foundbefore Starting from

119905 in sequence each node in 119875119886sends a TRACE-AP message

(with empty data field) to its previous hop in 119875119886 At first

119905 sends a TRACE-AP message to FHR 119901ℎ119888119903(119905) to start theprocedure Next we discuss the following four cases

Case 5 Unoccupied node V receives a TRACE-AP message(let the sender be 119906)Then V is an UN in119875

119886and its next hop in

119875119886is 119906 Its previous hop in 119875

119886should be UN 119901ℎ119888119903(V) To add

119875119886to the paths found before V becomes an occupied node

119901119903119890V(V) should be UN 119901ℎ119888119903(V) and 119899119890119909119905(V) should be 119906 Inthis case we let V execute lines 2ndash5 in Procedure 2

Case 6 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is not 119901119903119890V(V)Then Vrsquos next hop in119875

119886is 119906 Since

119906 is not 119901119903119890V(V) V is the last hop in a reverse segment of somefound path Of course V is an OHR in 119875

119886 Vrsquos previous hop in

119875119886should be OHR 119901ℎ119888119903(V) By adding 119875

119886to the paths found

before V is still an occupied node 119901119903119890V(V) does not changeand 119899119890119909119905(V) changes to 119906 In this case we let V execute lines7ndash9 in Procedure 2

Case 7 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL ThenVrsquos next hop in 119875

119886is 119906 Since 119906 is 119901119903119890V(V) V is not the

last hop in a reverse segment Since FHR 119901ℎ119888119903(V) is NULLV is an OHR in 119875

119886and its previous hop in 119875

119886should be

OHR 119901ℎ119888119903(V) By adding 119875119886to the paths found before V

becomes an unoccupied node In this case we let V executelines 11-12 in Procedure 2

Case 8 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL ThenVrsquos next hop in 119875

119886is 119906 Since 119906 is 119901119903119890V(V) V is not the last

hop in a reverse segment Since FHR 119901ℎ119888119903(V) is not NULLV is a FHR in 119875

119886and its previous hop in 119875

119886should be

FHR 119901ℎ119888119903(V) By adding 119875119886to the paths found before V is

still an occupied node 119901119903119890V(V) changes to FHR 119901ℎ119888119903(V) and119899119890119909119905(V) does not change In this case we let V execute lines14ndash16 in Procedure 2

43 An Example of DFDPrsquos Execution In the example ofFigure 1 after finding the first 119904 sim 119905 path 119875

1as shown in

Figure 1(a) the nodes execute DFDP as followsProcedure 1 starts with 119904 broadcasting a FIND-AP mes-

sage which is received by 119886 and 119889 119886 will discard the messageaccording to Case 2

Receiving the FIND-AP message from 119904 according toCase 1 119889 sets UN 119901ℎ119888119903(119889) = 119904 and then broadcasts a FIND-AP message which is received by 119886 and 119890 Although themessage will be also received by 119904 119904 will discard the message

Receiving the FIND-AP message from 119889 according toCase 3 119886 sets FHR 119901ℎ119888119903(119886) = 119889 and then sends a FIND-APmessage to 119904 (119904 will discard the message)

Receiving the FIND-AP message from 119889 according toCase 1 119890 sets UN 119901ℎ119888119903(119890) = 119889 and then broadcasts a FIND-AP message which is received by 119889 and 119888 Since UN 119901ℎ119888119903(119889)

is set yet 119889 discards the FIND-AP message from 119890Receiving the FIND-AP message from 119890 according to

Case 3 119888 sets FHR 119901ℎ119888119903(119888) = 119890 and then sends a FIND-APmessage to 119887

Receiving the FIND-AP message from 119888 according toCase 4 119887 sets OHR 119901ℎ119888119903(119887) = 119888 and then broadcasts a FIND-AP message which is received by 119886

Receiving the FIND-AP message from 119887 according toCase 4 119886 sets OHR 119901ℎ119888119903(119886) = 119887 and then broadcasts a FIND-AP message which is received by 119904 and 119891 (119904 will discard themessage)

In this way 119891 sets UN 119901ℎ119888119903(119891) = 119886 and 119892 setsUN 119901ℎ119888119903(119892) = 119891 Receiving FIND-APmessage from 119892 119905 setsFHR 119901ℎ119888119903(119905) = 119892Therefore augmenting path119875

119886= (119904 119889 119890 119888

119887 119886 119891 119892 119905) is found as shown by bold lines in Figure 1(c)Procedure 2 starts with 119905 sending a TRACE-AP message

to FHR 119901ℎ119888119903(119905) = 119892Receiving the TRACE-AP message from 119905 according to

Case 5 119892 marks itself as an occupied node sets 119901119903119890V(119892) =UN 119901ℎ119888119903(119892) = 119891 and 119899119890119909119905(119892) = 119905 and then sends a TRACE-AP message to 119891

Receiving the TRACE-AP message from 119892 accord-ing to Case 5 119891 marks itself as an occupied node sets119901119903119890V(119891) =UN 119901ℎ119888119903(119891) = 119886 and 119899119890119909119905(119891) = 119892 and then sendsa TRACE-AP message to 119886

Receiving the TRACE-AP message from 119891 according toCase 6 119886 still marks itself as an occupied node sets 119899119890119909119905(119886) =

International Journal of Distributed Sensor Networks 7

119891 (119901119903119890V(119886) is still 119904) and then sends a TRACE-APmessage toOHR 119901ℎ119888119903(119886) = 119887

Receiving the TRACE-AP message from 119886 according toCase 7 119887marks itself as an unoccupied node and then sendsa TRACE-AP message to OHR 119901ℎ119888119903(119887) = 119888

Receiving the TRACE-AP message from 119887 according toCase 8 119888 still marks itself as an occupied node sets 119901119903119890V(119888) =FHR 119901ℎ119888119903(119888) = 119890 (119899119890119909119905(119888) is still 119905) and then sends a TRACE-AP message to 119890

In this way 119890 marks itself as an occupied node and sets119901119903119890V(119890) = 119889 and 119899119890119909119905(119890) = 119888 119889 marks itself as an occupiednode and sets 119901119903119890V(119889) = 119904 and 119899119890119909119905(119889) = 119890 Now we add 119875

119886

to 1198751and generate two disjoint 119904 sim 119905 paths 1198751015840

1and 11987510158402as shown

in bold lines in Figure 1(d)

44 Correctness and Complexity By the description ofSections 41 and 42 after finding 119899 disjoint 119904 sim 119905 paths1198751 119875

119899 Procedure 1 will find an augmenting path if there

exists one and Procedure 2 is a correct way to add theaugmenting path to 119875

1 119875

119899 By Lemma 1 we can get the

following theorem

Theorem 2 DFDP will output min119896 119896lowast disjoint 119904 sim 119905 pathswhere 119896lowast is the maximum number of disjoint 119904 sim 119905 paths in thegiven network

Suppose that there are 119873 nodes in the given networkIn Procedure 1 each unoccupied node sends at most oneFIND-AP message and each occupied node sends at mosttwo FIND-AP messages In Procedure 2 each node in 119875

119886

sends one TRACE-AP message and the other nodes do notsend any messages Both FIND-AP message and TRACE-AP message have constant length (empty data field) so thecommunication complexity ofDFDP is119874(119873sdotmin119896 119896lowast)Thetime complexity of DFDP is 119874(119873 sdotmin119896 119896lowast) too

45 Dealing with Topology Changes Let us consider threetypes of topology changes

Type 1 During the processing of DFDP the nodes or linksin some found path fail This type of topology changes willcause 119904 not to receive the expected number of TRACE-APmessages (one plus the number of disjoint paths found inthe last iteration) in the current iteration Therefore we canset a timer for the execution of each iteration The timeris triggered by 119904 at the beginning of each iteration If thetimer expires and 119904 has not received the expected numberof TRACE-AP messages 119904 knows that there is node or linkfailure in the path from which it has not received TRACE-AP message Let the failed path be 1198751015840

119894 Before going into the

next iteration DFDP frees the nodes in 1198751015840119894by tracing them

from both 119904 and 119905 With the topology changes DFDP stillguarantees correctness The extra cost for DFDP to deal withthis type of topology changes is tracing the failed path (whichcan be neglected compared to the total cost of the algorithm)and onemore iteration of the algorithm (which is inevitable)

Type 2 During the processing of DFDP the topology beyondthe found paths changes Since each node participates

in DFDP by communicating with its neighbors and theexchange of messages does not rely on any predefinedstructures DFDP can handle this type of topology changeswhile guaranteeing correctness without any modification

Type 3 After the execution of DFDP (min119896 119896lowast paths havebeen used for routing) the nodes or links in some found pathfail After detecting the path failure we can free the nodes inthe failed path and execute one more iteration of DFDP tofind one more disjoint path The extra cost for DFDP to dealwith this type of topology changes is also tracing the failedpath and one more iteration of the algorithm

On the contrary to handle all the three types of topologychanges and guarantee correctness centralized algorithmshave to collect the whole networkrsquos topology once againwhich is a very expensive operation for WSN

5 Simulation Results

We use a simulator written in C++ to evaluate the proposedalgorithm The simulator is a high level simulator whichneglects the MAC layer The effective transmitting radiusof each sensor node is set to 50m Each packet has a 6-byte header containing the information of destinationrsquos ID(2 bytes) senderrsquos ID (2 bytes) packet type (1 byte) andpacket length (1 byte) The data field of each packet containsup to 50 bytes

To simulate energy consumption we set the parametersof sensor nodes according to TelosB motes [28] The supplyvoltage is 30V When MCU is on and radio is on TX or RXmode the nodersquos current is 22mA The transmit bit rate is250 kbps Therefore the energy consumption for the senderto send 1-bit data (or for the receiver to receive 1-bit data)successfully is 264 times 10minus7 J For the TelosB sensor node theenergy consumption to transmit one-bit data can be used forMCU to execute more than 400 instructions so we neglectthe energy consumption for computing

We compare our algorithm DFDP with the centralizedalgorithm in [6] (denoted by CA) the pseudodistributedalgorithm in [19] (denoted by EA) and the distributedalgorithm in [5] (denoted by DA) CA collects the topologyinformation of the whole network (each nodersquos neighbor list)to the sink and finds disjoint paths at the sink CA canfind 119896 disjoint 119904 sim 119905 paths with the minimum total lengthCA is a good representation of the centralized algorithmsin [2 6ndash10] All these centralized algorithms have to collectthe topology information of the whole network so they havethe same communication cost On the other hand all ofthem guarantee correctness so they find the same numberof disjoint paths DA finds paths iteratively In each iterationDA finds a 119904 sim 119905 path and removes the internal nodes of thepath from the network As we know DA is the most efficientalgorithm for finding disjoint paths with no other constraintsNote that DA cannot guarantee correctness that is DA mayonly find 119899 lt 119896 paths when there do exist 119896 disjoint 119904 sim 119905paths in the given network

At first let us compare the efficiency of four algorithmsin theory Suppose that there are119873 nodes and119872 edges in the

8 International Journal of Distributed Sensor Networks

network Let 119889 be the diameter of the network The energyconsumption of the algorithms is mainly determined by datacommunication We already know that the communicationcomplexity of DFDP is 119874(119873 sdot min119896 119896lowast) CA collects thetopology information of the whole network Each node is119874(119889) hops away from the sink on average so the informationof each edge is transmitted 119874(119889) hops to the sink on averageand the communication complexity of CA is 119874(119889119872) EA hasbad upper bound on communication complexity In theworstcase EA has to collect the topology information of the wholenetwork in each iteration so its communication complexityis 119874(119889119872 sdot min119896 119896lowast) DA is the simplest algorithm to finddisjoint path although it cannot guarantee correctness Ineach iteration each node sends one message with constantlength to find a new path from 119904 to 119905 so the communicationcomplexity of DA is119874(119873sdotmin119896 119896lowast)We know that 119896 ≪ 119889 inmost applications In the aspect of communication complex-ityDFDPandDAaremuchbetter thanCAandEAAlthoughwith the same communication complexity compared withDA DFDP can guarantee correctness whereas DA cannot

We evaluate the performances of the algorithms at fouraspects (1) path number (2) average path length (3) energy-efficiency and (4) load balance ldquoPath numberrdquo is the numberof disjoint 119904 sim 119905 paths found by the algorithms ldquoAveragepath lengthrdquo represents the quality of the disjoint paths Weuse ldquoaverage energypath numberrdquo to measure algorithmsrsquoenergy-efficiency where ldquoaverage energyrdquo is the averageenergy consumption of each node in the network Loadbalance is measured by ldquomax energypath numberrdquo whereldquomax energyrdquo is the maximum energy consumption of anynode in the network

There are two groups of simulations In Group 1 2500sensor nodes are randomly deployed in a 1500m times 1500marea In Group 2 2500 sensor nodes are deployed as a 50times 50grid and each node dies or sleeps with 25 probability Asa result 1859 nodes are left as alive nodes in the grid Thecomparison of the algorithms is conducted for different 119896that is the number of the paths the users want to find Toget each result we performed 10 simulations with different(119904 119905) pairs and took their average value The (119904 119905) pairs aregenerated randomly

The comparison results for Group 1 are given in Figure 3The path number of the four algorithms is given inFigure 3(a) With the growth of 119896 all the four algorithms findmore disjoint paths until they reach their ldquolimitsrdquo DA findsno more disjoint paths when 119896 ge 7 CA EA and DFDP findno more disjoint paths when 119896 ge 10 Since CA EA andDFDP all guarantee correctness they always find the samenumber of disjoint pathsWhen 119896 le 3 all the four algorithmscan find 119896 disjoint pathsWhen 119896 ge 4 comparedwithDA theother three algorithms find more disjoint paths CA EA andDFDP can find the maximum number of the disjoint pathsin the network whereas DA cannot For 119896 = 10 comparedwith DA the other three algorithms find 203more disjointpaths

Next we want to compare the average path length ofthe four algorithms For different (119904 119905) pairs the differenceof pathsrsquo average lengths may be very large To comparefairly for each (119904 119905) pair we set the value of CA to 1 and

Table 1 The simulation details for Group 1 when 119896 = 10

Performance AlgorithmsCA EA DFDP DA

Path number 71 71 71 59Average path length 1 103 103 099Average Comm Bytes 845 1023 353 291Max Comm Bytes 58495 1616 814 683Average energy (times10minus7 J) 17842 21605 7462 6136Max energy (times10minus7 J) 1235407 34123 17196 14431

Table 2 The simulation details for Group 2 when 119896 = 4

Performance AlgorithmsCA EA DFDP DA

Path number 34 34 34 23Average path length 1 104 102 084Average Comm Bytes 348 170 56 40Max Comm Bytes 14792 568 249 172Average energy (times10minus7 J) 7351 3590 1183 844Max energy (times10minus7 J) 312416 11995 5263 3629

normalize the values of the other three algorithms Theaverage path length of the four algorithms forGroup 1 is givenin Figure 3(b) The centralized algorithm (CA) always findsdisjoint paths with the minimum total length EA and DFDPalmost have the same performance as CA in this aspect In allcases the average path length of DFDP is at most 3 higherthan the one of CA When 119896 = 10 the average path length ofDA is even less than the one of CA This is because DA findsless disjoint paths and all the algorithms have the trends tofind shorter path first

The energy-efficiency of the four algorithms for Group1 is given in Figure 3(c) No matter what value 119896 is CAcollects the topology information of the whole network sothe energy cost of CA does not change with 119896 With CAfindingmore disjoint paths it ismore energy-efficient until itfinds the maximum number of disjoint paths EA finds pathsiteratively and collects an abstract of the network topologyin each iteration With finding more disjoint paths EA needsto collect more and more complicated topology informationand becomes less and less energy-efficient When 119896 gt 7 EAis even worse than CA in this aspect DFDP and DA also findpaths iteratively and their energy cost for each iteration issteady DFDP and DA almost have the same performance inthis aspect and both of them are much more energy-efficientthan CA and EA

The load balance of the four algorithms for Group 1is given in Figure 3(d) Note that the value of the 119910-axisincreases logarithmically Since CA collects the topologyinformation of the whole network the nodes near the sinkneed to send and receive a large amount of data so CA is twoorders of magnitude worse than the other three algorithms inthis aspect Although EA is much better than CA it is still

International Journal of Distributed Sensor Networks 9

7

6

5

4

3

2

1

0

1 2 3 4 5 6 7 8 9 10

k

Path

num

ber

CAEA

DFDPDA

(a) Path number

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

16000

14000

12000

10000

8000

6000

4000

2000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

1000000

100000

10000

times10minus7 J

(d) Load balance

Figure 3 Simulation results for Group 1 (2500 nodes are randomly deployed in a 1500m times 1500m area)

a ldquocollectingrdquo algorithm so it is not as good as DFDP andDA in terms of load balance By finding more disjoint pathssometimes DFDP even gains a better load balance comparedwith the simplest distributed algorithm (DA)

The specific simulation results for Group 1 when 119896 = 10are shown in Table 1 ldquoAverage Comm Bytesrdquo is the averagenumber of bytes sent and received by each node in thenetwork ldquoMax Comm Bytesrdquo is the maximum number ofbytes sent and received by any node in the network

The comparison results for Group 2 are given in Figure 4The path number of the four algorithms is given inFigure 4(a) With the growth of 119896 all the four algorithms

find more disjoint paths DA reaches its ldquolimitrdquo when 119896 = 3whereas CA EA and DFDP reach their ldquolimitsrdquo when 119896 =4 Since CA EA and DFDP all guarantee correctness theyalways find the same number of disjoint paths When 119896 = 4compared with DA the other three algorithms find 478more disjoint paths

The average path length of the four algorithms for Group2 is given in Figure 4(b) The centralized algorithm (CA)always finds disjoint paths with the minimum total lengthNote that CA EA and DFDP find the same number ofdisjoint paths No matter what the value of 119896 is the averagepath length of DFDP is at most 2higher than the one of CA

10 International Journal of Distributed Sensor Networks

1 2 3 4

k

CAEA

DFDPDA

35

30

25

20

15

10

05

00

Path

num

ber

(a) Path number

1 2 3 4

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4

k

CAEA

DFDPDA

7000

6000

5000

4000

3000

2000

1000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

100000

10000

1000

times10minus7 J

(d) Load balance

Figure 4 Simulation results for Group 2 (1859 nodes are randomly deployed in a 50 times 50 grid)

The ldquoaverage energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(c) In the aspect of energy-efficiency DFDP and DA are much better than CA and EADFDP and DA almost have the same energy-efficiency butDFDP finds more disjoint paths

The ldquomax energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(d) In the aspect of loadbalance CA is two orders of magnitude worse than theother three algorithms DA and DFDP almost have the sameperformances and both of them are significantly better thanEAThe specific simulation for Group 2 when 119896 = 4 is shownin Table 2

Let us summarize the simulation results for Group 1 andGroup 2 Compared with DA DFDP finds significantly moredisjoint paths In the aspect of energy-efficiency and load

balance DFDP is almost the same as DA CA EA and DFDPfind the same number of disjoint paths with almost the samelength However in the aspect of energy-efficiency and loadbalance DFDP is much better than CA and EA

6 Conclusion

This paper proposes an efficient distributed algorithm DFDPto find 119896 disjoint paths connecting two given nodes 119904 and119905 in a WSN Unlike the existing distributed algorithms forthis problemDFDPguarantees correctness Compared to theexisting centralized algorithms which also guarantee correct-ness DFDP ismuchmore efficient Compared to the state-of-the-art distributed algorithms for the same problem DFDP

International Journal of Distributed Sensor Networks 11

has the same energy-efficiency and load balance with theimportant advantage that DFDP guarantees a correct answerwhereas the compared algorithms do not In conclusionDFDP is correct and efficient to find disjoint paths betweentwo nodes in a WSN

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

Thiswork is supported by theNational Natural Science Foun-dation of China (Grant no 61300207 Grant no 61272186 andGrant no 61370084) and Fundamental Research Funds forthe Central Universities (Grant no HEUCF100610)

References

[1] D Ganesan R Govindan S Shenker and D Estrin ldquoHighly-resilient energy-efficient multipath routing in wireless sensornetworksrdquo in Proceedings of the 2nd ACM International Sympo-sium on Mobile Ad Hoc Networking and Computing (MobiHoc01) pp 251ndash254 Long Beach Calif USA October 2001

[2] A Srinivas and E Modiano ldquoMinimum energy disjoint pathrouting in wireless ad-hoc networksrdquo in Proceedings of the9th Annual International Conference on Mobile Computing andNetworking (MobiCom rsquo03) pp 122ndash133 September 2003

[3] S Li and Z Wu ldquoNode-disjoint parallel multi-path routing inwireless sensor networksrdquo in Proceedings of the 2nd Interna-tional Conference on Embedded Software and Systems (ICESSrsquo05) pp 432ndash437 December 2005

[4] J W Baek Y J Nam and D-W Seo ldquoAn energy-efficientk-disjoint-path routing algorithm for reliable wireless sensornetworksrdquo in Proceedings of the 5th IFIP WG 102 InternationalConference on Software Technologies for Embedded and Ubiqui-tous Systems (SEUSrsquo07) 2007

[5] B Deb S Bhatnagar and B Nath ldquoReinform reliable informa-tion forwarding using multiple paths in sensor networksrdquo inProceedings of the 28th Annual IEEE International Conferenceon Local Computer Networks 2003

[6] R Bhandari ldquoOptimal physical diversity algorithms and sur-vivable networksrdquo in Proceedings of the 2nd IEEE Symposiumon Computers and Communications (ISCC 97) pp 433ndash441Alexandria Egypt July 1997

[7] S Khuller and B Schieber ldquoEfficient parallel algorithms fortesting connectivity and finding disjoint s-t paths in graphsrdquo inProceedings of the 30th Annual Symposium on Foundations ofComputer Science pp 288ndash293 November 1989

[8] K Iwama C Iwamoto and T Ohsawa ldquoA faster parallelalgorithm for 119896-connectivityrdquo Information Processing Lettersvol 61 no 5 pp 265ndash269 1997

[9] J W Suurballe ldquoDisjoint paths in a networkrdquo Networks vol 4pp 125ndash145 1974

[10] Y Chen X Guo and Q Zeng ldquoAmr a multipath routingalgorithm based on maximum flow in Ad-Hoc networksrdquo ActaElectronica Sinica vol 32 no 8 pp 1297ndash1301 2004

[11] X Fang S Shi and J Li ldquoA disjoint multi-path routing algo-rithm in wireless sensor networkrdquo Journal Computer Researchand Development vol 46 no 12 pp 2053ndash2061 2009

[12] S Omar M Zoulikha and B Cousin ldquoEnergy efficiency inad hoc wireless networks with node-disjoint path routingrdquo inProceedings of the 7th InternationalWorkshop on Systems SignalProcessing and their Applications (WoSSPA rsquo11) pp 127ndash130May2011

[13] K Ishida Y Kakuda and T Kikuno ldquoA routing protocol forfinding two node-disjoint paths in computer networksrdquo inProceedings of the International Conference onNetwork Protocols(ICNP 95) pp 340ndash347 Tokyo Japan November 1995

[14] R Ogier and N Shacham ldquoA distributed algorithm for findingshortest pairs of disjoint pathsrdquo in Proceedings of the 8th AnnualJoint Conference of the IEEE Computer and CommunicationsSocieties Technology Emerging or Converging (INFOCOM 89)vol 2 pp 173ndash182 Ottawa Canada April 1989

[15] Y O Lee and A L N Reddy ldquoDisjoint multi-path routingand failure recoveryrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 10) pp 1ndash6 IEEE CapeTown South Africa May 2010

[16] M Mansouri H Snoussi and C Richard ldquoOptimal pathselection for quantized target tracking in distributed sensornetworksrdquo in Proceeding of the 7th International Wireless Com-munications and Mobile Computing Conference (IWCMC rsquo11)2011

[17] D Sidhu R Nair and S Abdallah ldquoFinding disjoint paths innetworksrdquo in Proceedings of the Conference on CommunicationsArchitecture Protocols (SIGCOMM rsquo91) 1991

[18] A Kumar and S Varma ldquoGeographic node-disjoint pathrouting for wireless sensor networksrdquo IEEE Sensors Journal vol10 no 6 pp 1138ndash1139 2010

[19] K Zhang and H Gao ldquoEfficient distributed algorithm forcorrectly finding disjoint paths in wireless sensor networksrdquoInternational Journal of Sensor Networks vol 13 no 3 pp 173ndash184 2013

[20] T Hashiguchi K Tajima Y Takita and T Naito ldquoNode-disjointpaths search in WDM networks with asymmetric nodesrdquo inProceedings of the 15th Conference on Optical Network DesignandModeling (ONDM 11) pp 1ndash6 Bologna Italy February 2011

[21] A Bley ldquoOn the complexity of vertex-disjoint length-restrictedpath problemsrdquo Computational Complexity vol 12 no 3-4 pp131ndash149 2003

[22] A Itai Y Perl and Y Shiloach ldquoThe complexity of findingmaximumdisjoint pathswith length constraintsrdquoNetworks vol12 no 3 pp 277ndash286 1982

[23] D Ronen and Y Perl ldquoHeuristics for finding a maximumnumber of disjoint bounded pathsrdquo Networks vol 14 no 4 pp531ndash544 1984

[24] T Gomes J Craveirinha and L Jorge ldquoAn effective algorithmfor obtaining the minimal cost pair of disjoint paths with dualarc costsrdquoComputers and Operations Research vol 36 no 5 pp1670ndash1682 2009

[25] J Rak ldquoK-penalty a novel approach to findmdashdisjoint pathswithdifferentiated path costsrdquo IEEE Communications Letters vol 14no 4 pp 354ndash356 2010

[26] R Leepila E Oki andN Kishi ldquoScheme to find k disjoint pathsinmulti-cost networksrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 11) pp 1ndash5 Kyoto JapanJune 2011

[27] H Chen B Liu X Lei F Ren and K Sezaki ldquoInternodedistance-based redundancy reliable transport in underwatersensor networksrdquo Eurasip Journal on Wireless Communicationsand Networking vol 2010 Article ID 358071 2010

[28] httpwww2eceohio-stateedusimbibykee582telosMotepdf

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mechanical Engineering

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Antennas andPropagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Page 2: Finding Disjoint Paths in Wireless Sensor Networks

2 International Journal of Distributed Sensor Networks

in the given network There are some works [1ndash12] consid-ering the problem of finding multiple disjoint 119904 sim 119905 paths Tothe best of our knowledge all the existing algorithms whichcan solve the 119896-DP problems with correctness guarantee arecentralized algorithms These centralized algorithms need tobuild the topology of the whole network and update it withevery topology change so their communication costs areoverwhelming for a large-scale WSN On the other hand allthe existing algorithms finding disjoint paths in a distributedway (so they are much more efficient) cannot guaranteecorrectness Therefore we have two challenges to solve the119896-DP problem in WSNs to guarantee correctness and tomaintain efficiency

This paper proposes a distributed algorithm nameddistributedly finding disjoint paths (DFDP) to solve the 119896-DP problem with correctness guarantee DFDP finds dis-joint paths in a totally distributed way that is each nodeparticipates by exchanging short messages with its one-hopneighbors (hereinafter ldquoneighborrdquo means one-hop neighbor)and the exchange ofmessages does not rely on any predefinedstructures DFDP is very energy-efficient and can adapt totopology changes with very limited extra cost Both theo-retical analysis and simulation results confirm the energy-efficiency ofDFDPAs far as we knowDFDP is the first totallydistributed algorithmwhich can solve the 119896-DP problemwithcorrectness guarantee

The rest of the paper is organized as follows Some relatedworks are introduced in Section 2 After giving some pre-liminary definitions in Section 3 we describe the proposeddistributed algorithm DFDP in Section 4 The simulationresults which confirm the proposed algorithmrsquos efficiency arepresented in Section 5 Finally we conclude the whole paperin Section 6

2 Related Works

Some works consider finding two 119904 sim 119905 paths in a networkTwo algorithms are presented in [13 14] to find a pair ofdisjoint paths from each node to a fixed destinationTheworkin [15] considers the problem of finding two 119904 sim 119905 paths withthe following optimizing goals (1) the two identified pathsare as disjoint as possible (2) the second path is as short aspossible compared with the first path The work in [16] givesa distributed algorithm to check if the network configurationcontains at least two disjoint paths between all node pairs

For general 119896 some distributed algorithms [1 3ndash5 11 12]are proposed for finding 119896 disjoint 119904 sim 119905 paths in a networkThese algorithms have the same basic idea They find pathsone by one (most of them find the shortest 119904 sim 119905 path)Once a path is found it is fixed and all its internal nodes areremoved from the network so that they cannot participate inanother path To solve the 119896-DP problem these algorithmscannot guarantee correctness Suppose that in a network asshown in Figure 1 the users want to find 119896 = 2 disjoint119904 sim 119905 paths and we have already found the first path 119875

1=

(119904 119886 119887 119888 119905) as shown by the bold lines in Figure 1(a) If wefix 1198751 we cannot find another 119904 sim 119905 path disjoint from it

and we have to report nonexistence of two disjoint 119904 sim 119905

d e

s a b c t

f g

(a) The first 119904 sim 119905 path 1198751

d e

a b cs t

f g

(b) The converted graph 119866lowast

d e

a b cs t

f g

(c) Augmenting path 119875119886

d e

a b cs t

f g

(d) Two disjoint 119904 sim 119905 paths

Figure 1 An example of finding disjoint 119904 sim 119905 paths (119896 = 2)

paths However there do exist two disjoint 119904 sim 119905 paths asshown in Figure 1(d) In some cases the above mentioneddistributed approaches can be very wrong in answering the 119896-DP problem by underestimating the disjoint paths Supposethat the topology graph of a given network is as shown inFigure 2 in which the dashed lines denote paths If the userswant to find 119896 = 5 disjoint 119904 sim 119905 paths and we find the firstpath as shown by the bold lines in Figure 2(a) and then fix thispath this pathwill be the only one 119904 sim 119905 pathwe can find eventhough five disjoint paths do exist as shown in Figure 2(b)

In [17] a distributed algorithm is proposed to find 119896disjoint paths from every node to a fixed destination ina network The algorithm is based on a shortest-path tree

International Journal of Distributed Sensor Networks 3

s

t

(a) The first 119904 sim 119905 path

s

t

(b) Five disjoint 119904 sim 119905 paths

Figure 2 An example of incorrect answer

rooted at the destinationThe work in [18] gives a distributedalgorithm to find multiple disjoint 119904 sim 119905 paths for geographicrouting These two algorithms cannot guarantee correctnesseither

We propose a pseudodistributed algorithm in [19] to solvethe 119896-DP problem in WSNs with correctness guarantee Thealgorithm does not process in a totally distributed mannerAlthough it does not need to collect the topology informationof the whole network it still needs to collect some topologyinformation from the network so it is not very efficientFurthermore the algorithm is complicated and hard to beimplemented by sensor nodes

In [2 6ndash10 20] some centralized algorithms are given forfinding 119896 disjoint 119904 sim 119905 paths in graphs In particular thealgorithms in [6 9 20] can find 119896 disjoint 119904 sim 119905 paths withthe minimum total length All these centralized algorithmsguarantee correctness If we use these centralized algorithmsto solve the 119896-DP problem in a WSN we will have tocollect every nodersquos neighbor list to build the topology of thewhole network The communication cost of such operationis very high for a large-scale network On the other handto guarantee correctness we have to update the networkrsquostopology with each topology change such as link failing linkrecovering node dying and new node joining in Since thesetopology changes happen frequently inWSNs we need to paya lot of communication to make the topology we built up-to-date

The works in [21ndash23] consider the problem of finding themaximum number of length-bounded disjoint 119904 sim 119905 paths ingraphs A length-bounded path is a path whose length is nomore than a user-specified threshold 119897 In [22] this problem isproven to beNP-hard for 119897 ge 5 In [21] this problem is furtherproven to be APX-complete for 119897 ge 5 which means that thereis no polynomial time approximation scheme (PTAS) for thisproblem A heuristic algorithm for this problem is given in[23] without approximation bound

For 119896 multiple 119904 sim 119905 paths we can give each patha sequence number Each edge has 119896 costs to be in the1st 119896th path Such a network is called a multicost net-work Some centralized algorithms are given in [24ndash26] tofind 119896 disjoint 119904 sim 119905 paths in multicost networks with theminimum total cost The works in [27] consider the problemof reliable data transmission in underwater sensor networksIts solution is based on coding techniques rather than findingdisjoint paths To transmit a series of data packets byeffective coding its algorithm ensures that certain amount of

the packets missing does not affect our access to the completedata

So far all the existing algorithms which can solve the119896-DP problem with correctness guarantee are centralizedalgorithms These centralized algorithms need to build thetopology of the whole network and update it with everytopology change so they are not applicable in WSNs Onthe other hand all the existing distributed algorithms cannotguarantee correctness although they are efficient

3 Preliminaries

The givenWSN can be expressed as an undirected graph 119866 =(119881 119864) where 119881 = V | V is a sensor node and 119864 = (119906 V) |there is a wireless link between 119906 isin 119881 and V isin 119881 Here weassume that all the links are bidirectional that is 119906 can hearV if V can hear 119906 Hereinafter we do not distinguish the termsldquonetworkrdquo and ldquographrdquo

A path 119875 in 119866 is a subgraph which can be expressed asa sequence of distinct nodes (V

1 V

119898) where V

119894isin 119881 and

(V119894 V119894+1) isin 119864 We say path 119875 = (V

1 V

119898) is a V

1sim V119898

path Although wemodel the given network as an undirectedgraph we still emphasize the direction of a path by nodesrsquoorder in its expression or the words ldquofromrdquo and ldquotordquoThus thedirection of path 119875 = (V

1 V

119894minus1 V119894 V119894+1 V

119898) is from V

1

to V119898 V119894rsquos previous hop in 119875 is V

119894minus1and its next hop in 119875 is

V119894+1

The default direction of each 119904 sim 119905 path is from 119904 to 119905A reverse segment of a 119904 sim 119905 path is a segment of the pathalong the direction from 119905 to 119904 In the example of Figure 1(a)(119888 119887 119886) is a reverse segment of 119904 sim 119905 path 119875

1

Suppose that we have found 119899 disjoint 119904 sim 119905 paths1198751 119875

119899in the given network The nodes (edges) in the

found paths are called occupied nodes (edges) and the othernodes (edges) are called unoccupied nodes (edges) Let V bean occupied node We respectively use 119901119903119890V(V) and 119899119890119909119905(V)to denote Vrsquos previous hop and next hop in the found paththat V belongs to For example in the network as shown inFigure 1(a) after finding 119875

1 119887 is an occupied node 119901119903119890V(119887) =

119886 and 119899119890119909119905(119887) = 119888After finding some disjoint 119904 sim 119905 paths we convert the

original graph 119866 to another graph 119866lowast by replacing each pathedge with a directed edge along the direction from 119905 to 119904 In119866lowast each found path becomes a ldquoriverrdquo flowing from 119905 to 119904

In the example of Figure 1(a) after finding 1198751 we convert 119866

to 119866lowast as shown in Figure 1(b) Actually 119866lowast is another way to

4 International Journal of Distributed Sensor Networks

Input two nodes 119904 and 119905 a positive integer 119896Output min119896 119896lowast disjoint 119904 sim 119905 paths

(1) repeat(2) Call Procedure 1(3) if cannot find a path from 119904 to 119905 in 119866lowast then(4) Output all the found paths and stop(5) Call Procedure 2(6) until Find 119896 disjoint 119904 sim 119905 paths

Algorithm 1 Distributedly finding disjoint paths (DFDP)

interpret 119866 In the following we do not distinguish the pathin 119866 and its corresponding path in 119866lowast

We say that a path follows the crossing restriction if thepath does not go through any occupied nodes except by goingdownstream on some river in 119866lowast for at least one hop (iegoing through a reverse segment of some found path) A pathfollowing the crossing restriction is called a CR-path Afterfinding the first path 119875

1 let us examine some paths in the

converted graph as shown in Figure 1(b) 1198761= (119904 119889 119886 119891)

is not a CR-path because it goes through occupied node 119886by directly crossing the river 119876

2= (119904 119889 119886 119887 119888 119890) is not a

CR-path because it goes through occupied nodes 119886 119887 119888 bygoing upstream on the river 119876

3= (119904 119889 119890 119888 119887 119886 119891) is a CR-

path because it goes through occupied nodes 119888 119887 119886 by goingdownstream on the river for segment (119888 119887 119886)

ACR-path from 119904 to 119905 is an augmenting path By adding anaugmenting path 119875

119886to the found paths 119875

1 119875

119899 we can get

119899+1 disjoint 119904 sim 119905 paths where ldquoaddrdquomeans adding the edgesthat only belong to 119875

119886and removing the overlapping edges of

119875119886and 119875

1 119875

119899 In the example of Figure 1(a) after finding

the first path 1198751= (119904 119886 119887 119888 119905) we can find an augmenting

path 119875119886= (119904 119889 119890 119888 119887 119886 119891 119892 119905) as shown by bold lines in

Figure 1(c) By adding 119875119886to 1198751 we can get two disjoint 119904 sim 119905

paths11987510158401= (119904 119889 119890 119888 119905) and1198751015840

2= (119904 119886 119891 119892 119905) as shown by bold

lines in Figure 1(d)

Lemma 1 After finding 119899 disjoint 119904 sim 119905 paths there existmore than 119899 disjoint 119904 sim 119905 paths if and only if there exists anaugmenting path [8]

Lemma 1 can be easily proven by transforming the prob-lem of finding disjoint paths to a maximum flow problem Itmeans thatwe can find themaximumnumber of disjoint 119904 sim 119905paths by searching for augmenting path repeatedly

4 Distributed Algorithm DFDP

In the given network 119866 the users specify two nodes 119904 and 119905and a positive integer 119896 the proposed algorithm DFDP willoutput min119896 119896lowast disjoint 119904 sim 119905 paths Here we assume thatthere exist up to 119896lowast disjoint 119904 sim 119905 paths in the given networkDFDP is iteratively searching for augmenting path andadding it to the paths found beforeThere are two procedures

in each iteration Procedure 1 searches for an augmentingpath 119875

119886 Procedure 2 adds 119875

119886to the paths found before to

generate more disjoint paths DFDP is given by Algorithm 1We assume that each message contains the senderrsquos ID Eachoccupied node V knows 119901119903119890V(V) and 119899119890119909119905(V)

41 Finding Augmenting Path Suppose that we have found 119899disjoint 119904 sim 119905 paths 119875

1 119875

119899in the first 119899 iterations In the

(119899 + 1)th iteration Procedure 1 searches for an augmentingpath by finding a CR-path from 119904 to each node in the network

To make sure that the paths we found follow the crossingrestriction we divide the nodes in a CR-path into threecategories unoccupied node (UN) first hop of a reversesegment (FHR) and other hops in a reverse segment (OHR)of some found path In the example of Figure 1(b) for CR-path 119875

119886= (119904 119889 119890 119888 119887 119886 119891 119892 119905) the nodes 119889 119890 119891 119892 are UNs

node 119888 is a FHR and nodes 119887 119886 are OHRsEach unoccupied node Vmaintains variable UN 119901ℎ119888119903(V)

to record Vrsquos previous hop in the CR-path we found from 119904

to V Each occupied node Vmaintains variables FHR 119901ℎ119888119903(V)and OHR 119901ℎ119888119903(V) FHR 119901ℎ119888119903(V) records Vrsquos previous hopin the CR-path we found from 119904 to V with V as a FHROHR 119901ℎ119888119903(V) records Vrsquos previous hop in the CR-path wefound from 119904 to V with V as an OHR

Procedure 1 starts with 119904 broadcasting a FIND-AP mes-sageThe other nodes find a CR-path from 119904 to themselves byexchanging FIND-APmessages Each FIND-APmessage hasan empty data field Next we discuss the following four cases

Case 1 Unoccupied node V receives a FIND-AP message (letthe sender be 119906) It means that we find a CR-path (denotedby 119876) from 119904 to V and 119906 is Vrsquos previous hop in 119876 Since V is anunoccupied node V is an UN in 119876 To further extend 119876 as aCR-path Vrsquos next hop in this path could be any neighbor of VIn this case if UN 119901ℎ119888119903(V) is not set yet we set UN 119901ℎ119888119903(V)to 119906 and let V broadcast a FIND-AP message (lines 2ndash4 inProcedure 1)

Case 2 Occupied node V receives a FIND-AP message from119906 and 119906 is 119901119903119890V(V) It means that we find a path 119876 from 119904 to Vand 119906 is Vrsquos previous hop in 119876 Since 119906 is 119901119903119890V(V) 119876 does notfollow the crossing restriction In this case we let V discardthe message

International Journal of Distributed Sensor Networks 5

Input 119899 disjoint 119904 sim 119905 paths 1198751 119875

119899

Output an augmenting path 119875119886

lowast Each node V = 119904 executes the following pseudo-codes while

receiving a FIND-AP message (Let the sender be 119906) Start

with 119904 broadcasting a FIND-AP message lowast

(1) case V is an unoccupied node(2) if UN 119901ℎ119888119903(V) = NULL then(3) UN 119901ℎ119888119903(V) larr 119906(4) Broadcast a FIND-AP message(5) case V is an occupied node and 119906 is not 119901119903119890V(V) or 119899119890119909119905(V)(6) if FHR 119901ℎ119888119903(V) = NULL then(7) FHR 119901ℎ119888119903(V) larr 119906(8) if V = 119905 then(9) Start Procedure 2(10) else(11) Send a FIND-AP message to 119901119903119890V(V)(12) case V is an occupied node and 119906 = 119899119890119909119905(V)(13) if OHR 119901ℎ119888119903(V) = NULL then(14) OHR 119901ℎ119888119903(V) larr 119906(15) Broadcast a FIND-AP message

Procedure 1 Finding augmenting path

Input 119899 disjoint 119904 sim 119905 paths 1198751 119875

119899 an augmenting path 119875

119886

Output 119899 + 1 disjoint 119904 sim 119905 paths 11987510158401 119875

1015840

119899+1

lowast Each node V = 119905 executes the following pseudo-codes while

receiving a TRACE-AP message (Let the sender be 119906) Starts

with 119905 sending a TRACE-AP message to FHR 119901ℎ119888119903(119905) lowast

(1) case V is an unoccupied node(2) Mark itself as an occupied node(3) 119901119903119890V(V) larr UN 119901ℎ119888119903(V)(4) 119899119890119909119905(V) larr 119906(5) Send a TRACE-AP message to UN 119901ℎ119888119903(V)(6) case V is an occupied node and 119906 = 119901119903119890V(V)(7) Still mark itself as an occupied node(8) 119899119890119909119905(V) larr 119906(9) Send a TRACE-AP message to OHR 119901ℎ119888119903(V)(10) case V is an occupied node and 119906 = 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL(11) Mark itself as an unoccupied node(12) Send a TRACE-AP message to OHR 119901ℎ119888119903(V)(13) case V is an occupied node and 119906 = 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL(14) Still mark itself as an occupied node(15) 119901119903119890V(V) larr FHR 119901ℎ119888119903(V)(16) Send a TRACE-AP message to FHR 119901ℎ119888119903(V)

Procedure 2 Tracing augmenting path

Case 3 Occupied node V receives a FIND-AP message from119906 and 119906 is not 119901119903119890V(V) or 119899119890119909119905(V) It means that we find a CR-path 119876 from 119904 to V and 119906 is Vrsquos previous hop in 119876 Since 119906is not 119901119903119890V(V) or 119899119890119909119905(V) V is a FHR in 119876 To further extend119876 as a CR-path Vrsquos next hop in this path must be 119901119903119890V(V) Inthis case if FHR 119901ℎ119888119903(V) is not set yet we set FHR 119901ℎ119888119903(V)

to 119906 and let 119906 send a FIND-APmessage to 119901119903119890V(V) (lines 6ndash11in Procedure 1)

Case 4 Occupied node V receives a FIND-APmessage from119906and 119906 is 119899119890119909119905(V) It means that we find a CR-path119876 from 119904 to Vand 119906 is Vrsquos previous hop in119876 Since 119906 = 119899119890119909119905(V) V is an OHR

6 International Journal of Distributed Sensor Networks

in 119876 To further extend 119876 as a CR-path Vrsquos next hop in thispath could be any neighbor of V except 119899119890119909119905(V) In this Caseif OHR 119901ℎ119888119903(V) is not set yet we set OHR 119901ℎ119888119903(V) to 119906 andlet 119906 broadcast a FIND-APmessage (lines 13ndash15 in Procedure1) Although this message will be redundantly received by119899119890119909119905(V) 119899119890119909119905(V)will discard thismessage according toCase 2

We assume that at the beginning of each iterationUN 119901ℎ119888119903(V) = NULL for each unoccupied node andFHR 119901ℎ119888119903(V) = OHR 119901ℎ119888119903(V) = NULL for each occupiednode For example UN 119901ℎ119888119903(V) =NULLmeans that V (as anUN) has not received a FIND-AP message yet in the currentiteration It can be implemented by the followingmechanismEach node V maintains a variable 119903119900119906119899119889(V) to denote thenumber of the current iteration At the beginning of each newiteration 119904 updates the iteration number by adding 1 to thenumber of the last iterationThis number is included by everyFIND-APmessage so that each node can update its 119903119900119906119899119889(V)When V receives a FIND-APmessagewhose iteration numberis larger than 119903119900119906119899119889(V) it sets UN 119901ℎ119888119903(V) = NULL if V is anunoccupied node or FHR 119901ℎ119888119903(V) = OHR 119901ℎ119888119903(V) = NULLif V is an occupied node

42 Tracing Augmenting Path At first let us describe the lasthop in a reverse segment of some found path In the exampleof Figure 1 after finding the augmenting path 119875

119886as shown in

Figure 1(c) we say 119886 is the last hop of the reverse segment(119888 119887 119886) By adding 119875

119886to the paths found before 119886 should

be an occupied node 119901119903119890V(119886) does not change and 119899119890119909119905(119886)changes to its next hop in 119875

119886 that is 119891 In a CR-path the last

hop of a reverse segment is certainly an OHRSuppose that we find an augmenting path119875

119886in Procedure

1 Procedure 2 adds119875119886to the paths foundbefore Starting from

119905 in sequence each node in 119875119886sends a TRACE-AP message

(with empty data field) to its previous hop in 119875119886 At first

119905 sends a TRACE-AP message to FHR 119901ℎ119888119903(119905) to start theprocedure Next we discuss the following four cases

Case 5 Unoccupied node V receives a TRACE-AP message(let the sender be 119906)Then V is an UN in119875

119886and its next hop in

119875119886is 119906 Its previous hop in 119875

119886should be UN 119901ℎ119888119903(V) To add

119875119886to the paths found before V becomes an occupied node

119901119903119890V(V) should be UN 119901ℎ119888119903(V) and 119899119890119909119905(V) should be 119906 Inthis case we let V execute lines 2ndash5 in Procedure 2

Case 6 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is not 119901119903119890V(V)Then Vrsquos next hop in119875

119886is 119906 Since

119906 is not 119901119903119890V(V) V is the last hop in a reverse segment of somefound path Of course V is an OHR in 119875

119886 Vrsquos previous hop in

119875119886should be OHR 119901ℎ119888119903(V) By adding 119875

119886to the paths found

before V is still an occupied node 119901119903119890V(V) does not changeand 119899119890119909119905(V) changes to 119906 In this case we let V execute lines7ndash9 in Procedure 2

Case 7 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL ThenVrsquos next hop in 119875

119886is 119906 Since 119906 is 119901119903119890V(V) V is not the

last hop in a reverse segment Since FHR 119901ℎ119888119903(V) is NULLV is an OHR in 119875

119886and its previous hop in 119875

119886should be

OHR 119901ℎ119888119903(V) By adding 119875119886to the paths found before V

becomes an unoccupied node In this case we let V executelines 11-12 in Procedure 2

Case 8 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL ThenVrsquos next hop in 119875

119886is 119906 Since 119906 is 119901119903119890V(V) V is not the last

hop in a reverse segment Since FHR 119901ℎ119888119903(V) is not NULLV is a FHR in 119875

119886and its previous hop in 119875

119886should be

FHR 119901ℎ119888119903(V) By adding 119875119886to the paths found before V is

still an occupied node 119901119903119890V(V) changes to FHR 119901ℎ119888119903(V) and119899119890119909119905(V) does not change In this case we let V execute lines14ndash16 in Procedure 2

43 An Example of DFDPrsquos Execution In the example ofFigure 1 after finding the first 119904 sim 119905 path 119875

1as shown in

Figure 1(a) the nodes execute DFDP as followsProcedure 1 starts with 119904 broadcasting a FIND-AP mes-

sage which is received by 119886 and 119889 119886 will discard the messageaccording to Case 2

Receiving the FIND-AP message from 119904 according toCase 1 119889 sets UN 119901ℎ119888119903(119889) = 119904 and then broadcasts a FIND-AP message which is received by 119886 and 119890 Although themessage will be also received by 119904 119904 will discard the message

Receiving the FIND-AP message from 119889 according toCase 3 119886 sets FHR 119901ℎ119888119903(119886) = 119889 and then sends a FIND-APmessage to 119904 (119904 will discard the message)

Receiving the FIND-AP message from 119889 according toCase 1 119890 sets UN 119901ℎ119888119903(119890) = 119889 and then broadcasts a FIND-AP message which is received by 119889 and 119888 Since UN 119901ℎ119888119903(119889)

is set yet 119889 discards the FIND-AP message from 119890Receiving the FIND-AP message from 119890 according to

Case 3 119888 sets FHR 119901ℎ119888119903(119888) = 119890 and then sends a FIND-APmessage to 119887

Receiving the FIND-AP message from 119888 according toCase 4 119887 sets OHR 119901ℎ119888119903(119887) = 119888 and then broadcasts a FIND-AP message which is received by 119886

Receiving the FIND-AP message from 119887 according toCase 4 119886 sets OHR 119901ℎ119888119903(119886) = 119887 and then broadcasts a FIND-AP message which is received by 119904 and 119891 (119904 will discard themessage)

In this way 119891 sets UN 119901ℎ119888119903(119891) = 119886 and 119892 setsUN 119901ℎ119888119903(119892) = 119891 Receiving FIND-APmessage from 119892 119905 setsFHR 119901ℎ119888119903(119905) = 119892Therefore augmenting path119875

119886= (119904 119889 119890 119888

119887 119886 119891 119892 119905) is found as shown by bold lines in Figure 1(c)Procedure 2 starts with 119905 sending a TRACE-AP message

to FHR 119901ℎ119888119903(119905) = 119892Receiving the TRACE-AP message from 119905 according to

Case 5 119892 marks itself as an occupied node sets 119901119903119890V(119892) =UN 119901ℎ119888119903(119892) = 119891 and 119899119890119909119905(119892) = 119905 and then sends a TRACE-AP message to 119891

Receiving the TRACE-AP message from 119892 accord-ing to Case 5 119891 marks itself as an occupied node sets119901119903119890V(119891) =UN 119901ℎ119888119903(119891) = 119886 and 119899119890119909119905(119891) = 119892 and then sendsa TRACE-AP message to 119886

Receiving the TRACE-AP message from 119891 according toCase 6 119886 still marks itself as an occupied node sets 119899119890119909119905(119886) =

International Journal of Distributed Sensor Networks 7

119891 (119901119903119890V(119886) is still 119904) and then sends a TRACE-APmessage toOHR 119901ℎ119888119903(119886) = 119887

Receiving the TRACE-AP message from 119886 according toCase 7 119887marks itself as an unoccupied node and then sendsa TRACE-AP message to OHR 119901ℎ119888119903(119887) = 119888

Receiving the TRACE-AP message from 119887 according toCase 8 119888 still marks itself as an occupied node sets 119901119903119890V(119888) =FHR 119901ℎ119888119903(119888) = 119890 (119899119890119909119905(119888) is still 119905) and then sends a TRACE-AP message to 119890

In this way 119890 marks itself as an occupied node and sets119901119903119890V(119890) = 119889 and 119899119890119909119905(119890) = 119888 119889 marks itself as an occupiednode and sets 119901119903119890V(119889) = 119904 and 119899119890119909119905(119889) = 119890 Now we add 119875

119886

to 1198751and generate two disjoint 119904 sim 119905 paths 1198751015840

1and 11987510158402as shown

in bold lines in Figure 1(d)

44 Correctness and Complexity By the description ofSections 41 and 42 after finding 119899 disjoint 119904 sim 119905 paths1198751 119875

119899 Procedure 1 will find an augmenting path if there

exists one and Procedure 2 is a correct way to add theaugmenting path to 119875

1 119875

119899 By Lemma 1 we can get the

following theorem

Theorem 2 DFDP will output min119896 119896lowast disjoint 119904 sim 119905 pathswhere 119896lowast is the maximum number of disjoint 119904 sim 119905 paths in thegiven network

Suppose that there are 119873 nodes in the given networkIn Procedure 1 each unoccupied node sends at most oneFIND-AP message and each occupied node sends at mosttwo FIND-AP messages In Procedure 2 each node in 119875

119886

sends one TRACE-AP message and the other nodes do notsend any messages Both FIND-AP message and TRACE-AP message have constant length (empty data field) so thecommunication complexity ofDFDP is119874(119873sdotmin119896 119896lowast)Thetime complexity of DFDP is 119874(119873 sdotmin119896 119896lowast) too

45 Dealing with Topology Changes Let us consider threetypes of topology changes

Type 1 During the processing of DFDP the nodes or linksin some found path fail This type of topology changes willcause 119904 not to receive the expected number of TRACE-APmessages (one plus the number of disjoint paths found inthe last iteration) in the current iteration Therefore we canset a timer for the execution of each iteration The timeris triggered by 119904 at the beginning of each iteration If thetimer expires and 119904 has not received the expected numberof TRACE-AP messages 119904 knows that there is node or linkfailure in the path from which it has not received TRACE-AP message Let the failed path be 1198751015840

119894 Before going into the

next iteration DFDP frees the nodes in 1198751015840119894by tracing them

from both 119904 and 119905 With the topology changes DFDP stillguarantees correctness The extra cost for DFDP to deal withthis type of topology changes is tracing the failed path (whichcan be neglected compared to the total cost of the algorithm)and onemore iteration of the algorithm (which is inevitable)

Type 2 During the processing of DFDP the topology beyondthe found paths changes Since each node participates

in DFDP by communicating with its neighbors and theexchange of messages does not rely on any predefinedstructures DFDP can handle this type of topology changeswhile guaranteeing correctness without any modification

Type 3 After the execution of DFDP (min119896 119896lowast paths havebeen used for routing) the nodes or links in some found pathfail After detecting the path failure we can free the nodes inthe failed path and execute one more iteration of DFDP tofind one more disjoint path The extra cost for DFDP to dealwith this type of topology changes is also tracing the failedpath and one more iteration of the algorithm

On the contrary to handle all the three types of topologychanges and guarantee correctness centralized algorithmshave to collect the whole networkrsquos topology once againwhich is a very expensive operation for WSN

5 Simulation Results

We use a simulator written in C++ to evaluate the proposedalgorithm The simulator is a high level simulator whichneglects the MAC layer The effective transmitting radiusof each sensor node is set to 50m Each packet has a 6-byte header containing the information of destinationrsquos ID(2 bytes) senderrsquos ID (2 bytes) packet type (1 byte) andpacket length (1 byte) The data field of each packet containsup to 50 bytes

To simulate energy consumption we set the parametersof sensor nodes according to TelosB motes [28] The supplyvoltage is 30V When MCU is on and radio is on TX or RXmode the nodersquos current is 22mA The transmit bit rate is250 kbps Therefore the energy consumption for the senderto send 1-bit data (or for the receiver to receive 1-bit data)successfully is 264 times 10minus7 J For the TelosB sensor node theenergy consumption to transmit one-bit data can be used forMCU to execute more than 400 instructions so we neglectthe energy consumption for computing

We compare our algorithm DFDP with the centralizedalgorithm in [6] (denoted by CA) the pseudodistributedalgorithm in [19] (denoted by EA) and the distributedalgorithm in [5] (denoted by DA) CA collects the topologyinformation of the whole network (each nodersquos neighbor list)to the sink and finds disjoint paths at the sink CA canfind 119896 disjoint 119904 sim 119905 paths with the minimum total lengthCA is a good representation of the centralized algorithmsin [2 6ndash10] All these centralized algorithms have to collectthe topology information of the whole network so they havethe same communication cost On the other hand all ofthem guarantee correctness so they find the same numberof disjoint paths DA finds paths iteratively In each iterationDA finds a 119904 sim 119905 path and removes the internal nodes of thepath from the network As we know DA is the most efficientalgorithm for finding disjoint paths with no other constraintsNote that DA cannot guarantee correctness that is DA mayonly find 119899 lt 119896 paths when there do exist 119896 disjoint 119904 sim 119905paths in the given network

At first let us compare the efficiency of four algorithmsin theory Suppose that there are119873 nodes and119872 edges in the

8 International Journal of Distributed Sensor Networks

network Let 119889 be the diameter of the network The energyconsumption of the algorithms is mainly determined by datacommunication We already know that the communicationcomplexity of DFDP is 119874(119873 sdot min119896 119896lowast) CA collects thetopology information of the whole network Each node is119874(119889) hops away from the sink on average so the informationof each edge is transmitted 119874(119889) hops to the sink on averageand the communication complexity of CA is 119874(119889119872) EA hasbad upper bound on communication complexity In theworstcase EA has to collect the topology information of the wholenetwork in each iteration so its communication complexityis 119874(119889119872 sdot min119896 119896lowast) DA is the simplest algorithm to finddisjoint path although it cannot guarantee correctness Ineach iteration each node sends one message with constantlength to find a new path from 119904 to 119905 so the communicationcomplexity of DA is119874(119873sdotmin119896 119896lowast)We know that 119896 ≪ 119889 inmost applications In the aspect of communication complex-ityDFDPandDAaremuchbetter thanCAandEAAlthoughwith the same communication complexity compared withDA DFDP can guarantee correctness whereas DA cannot

We evaluate the performances of the algorithms at fouraspects (1) path number (2) average path length (3) energy-efficiency and (4) load balance ldquoPath numberrdquo is the numberof disjoint 119904 sim 119905 paths found by the algorithms ldquoAveragepath lengthrdquo represents the quality of the disjoint paths Weuse ldquoaverage energypath numberrdquo to measure algorithmsrsquoenergy-efficiency where ldquoaverage energyrdquo is the averageenergy consumption of each node in the network Loadbalance is measured by ldquomax energypath numberrdquo whereldquomax energyrdquo is the maximum energy consumption of anynode in the network

There are two groups of simulations In Group 1 2500sensor nodes are randomly deployed in a 1500m times 1500marea In Group 2 2500 sensor nodes are deployed as a 50times 50grid and each node dies or sleeps with 25 probability Asa result 1859 nodes are left as alive nodes in the grid Thecomparison of the algorithms is conducted for different 119896that is the number of the paths the users want to find Toget each result we performed 10 simulations with different(119904 119905) pairs and took their average value The (119904 119905) pairs aregenerated randomly

The comparison results for Group 1 are given in Figure 3The path number of the four algorithms is given inFigure 3(a) With the growth of 119896 all the four algorithms findmore disjoint paths until they reach their ldquolimitsrdquo DA findsno more disjoint paths when 119896 ge 7 CA EA and DFDP findno more disjoint paths when 119896 ge 10 Since CA EA andDFDP all guarantee correctness they always find the samenumber of disjoint pathsWhen 119896 le 3 all the four algorithmscan find 119896 disjoint pathsWhen 119896 ge 4 comparedwithDA theother three algorithms find more disjoint paths CA EA andDFDP can find the maximum number of the disjoint pathsin the network whereas DA cannot For 119896 = 10 comparedwith DA the other three algorithms find 203more disjointpaths

Next we want to compare the average path length ofthe four algorithms For different (119904 119905) pairs the differenceof pathsrsquo average lengths may be very large To comparefairly for each (119904 119905) pair we set the value of CA to 1 and

Table 1 The simulation details for Group 1 when 119896 = 10

Performance AlgorithmsCA EA DFDP DA

Path number 71 71 71 59Average path length 1 103 103 099Average Comm Bytes 845 1023 353 291Max Comm Bytes 58495 1616 814 683Average energy (times10minus7 J) 17842 21605 7462 6136Max energy (times10minus7 J) 1235407 34123 17196 14431

Table 2 The simulation details for Group 2 when 119896 = 4

Performance AlgorithmsCA EA DFDP DA

Path number 34 34 34 23Average path length 1 104 102 084Average Comm Bytes 348 170 56 40Max Comm Bytes 14792 568 249 172Average energy (times10minus7 J) 7351 3590 1183 844Max energy (times10minus7 J) 312416 11995 5263 3629

normalize the values of the other three algorithms Theaverage path length of the four algorithms forGroup 1 is givenin Figure 3(b) The centralized algorithm (CA) always findsdisjoint paths with the minimum total length EA and DFDPalmost have the same performance as CA in this aspect In allcases the average path length of DFDP is at most 3 higherthan the one of CA When 119896 = 10 the average path length ofDA is even less than the one of CA This is because DA findsless disjoint paths and all the algorithms have the trends tofind shorter path first

The energy-efficiency of the four algorithms for Group1 is given in Figure 3(c) No matter what value 119896 is CAcollects the topology information of the whole network sothe energy cost of CA does not change with 119896 With CAfindingmore disjoint paths it ismore energy-efficient until itfinds the maximum number of disjoint paths EA finds pathsiteratively and collects an abstract of the network topologyin each iteration With finding more disjoint paths EA needsto collect more and more complicated topology informationand becomes less and less energy-efficient When 119896 gt 7 EAis even worse than CA in this aspect DFDP and DA also findpaths iteratively and their energy cost for each iteration issteady DFDP and DA almost have the same performance inthis aspect and both of them are much more energy-efficientthan CA and EA

The load balance of the four algorithms for Group 1is given in Figure 3(d) Note that the value of the 119910-axisincreases logarithmically Since CA collects the topologyinformation of the whole network the nodes near the sinkneed to send and receive a large amount of data so CA is twoorders of magnitude worse than the other three algorithms inthis aspect Although EA is much better than CA it is still

International Journal of Distributed Sensor Networks 9

7

6

5

4

3

2

1

0

1 2 3 4 5 6 7 8 9 10

k

Path

num

ber

CAEA

DFDPDA

(a) Path number

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

16000

14000

12000

10000

8000

6000

4000

2000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

1000000

100000

10000

times10minus7 J

(d) Load balance

Figure 3 Simulation results for Group 1 (2500 nodes are randomly deployed in a 1500m times 1500m area)

a ldquocollectingrdquo algorithm so it is not as good as DFDP andDA in terms of load balance By finding more disjoint pathssometimes DFDP even gains a better load balance comparedwith the simplest distributed algorithm (DA)

The specific simulation results for Group 1 when 119896 = 10are shown in Table 1 ldquoAverage Comm Bytesrdquo is the averagenumber of bytes sent and received by each node in thenetwork ldquoMax Comm Bytesrdquo is the maximum number ofbytes sent and received by any node in the network

The comparison results for Group 2 are given in Figure 4The path number of the four algorithms is given inFigure 4(a) With the growth of 119896 all the four algorithms

find more disjoint paths DA reaches its ldquolimitrdquo when 119896 = 3whereas CA EA and DFDP reach their ldquolimitsrdquo when 119896 =4 Since CA EA and DFDP all guarantee correctness theyalways find the same number of disjoint paths When 119896 = 4compared with DA the other three algorithms find 478more disjoint paths

The average path length of the four algorithms for Group2 is given in Figure 4(b) The centralized algorithm (CA)always finds disjoint paths with the minimum total lengthNote that CA EA and DFDP find the same number ofdisjoint paths No matter what the value of 119896 is the averagepath length of DFDP is at most 2higher than the one of CA

10 International Journal of Distributed Sensor Networks

1 2 3 4

k

CAEA

DFDPDA

35

30

25

20

15

10

05

00

Path

num

ber

(a) Path number

1 2 3 4

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4

k

CAEA

DFDPDA

7000

6000

5000

4000

3000

2000

1000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

100000

10000

1000

times10minus7 J

(d) Load balance

Figure 4 Simulation results for Group 2 (1859 nodes are randomly deployed in a 50 times 50 grid)

The ldquoaverage energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(c) In the aspect of energy-efficiency DFDP and DA are much better than CA and EADFDP and DA almost have the same energy-efficiency butDFDP finds more disjoint paths

The ldquomax energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(d) In the aspect of loadbalance CA is two orders of magnitude worse than theother three algorithms DA and DFDP almost have the sameperformances and both of them are significantly better thanEAThe specific simulation for Group 2 when 119896 = 4 is shownin Table 2

Let us summarize the simulation results for Group 1 andGroup 2 Compared with DA DFDP finds significantly moredisjoint paths In the aspect of energy-efficiency and load

balance DFDP is almost the same as DA CA EA and DFDPfind the same number of disjoint paths with almost the samelength However in the aspect of energy-efficiency and loadbalance DFDP is much better than CA and EA

6 Conclusion

This paper proposes an efficient distributed algorithm DFDPto find 119896 disjoint paths connecting two given nodes 119904 and119905 in a WSN Unlike the existing distributed algorithms forthis problemDFDPguarantees correctness Compared to theexisting centralized algorithms which also guarantee correct-ness DFDP ismuchmore efficient Compared to the state-of-the-art distributed algorithms for the same problem DFDP

International Journal of Distributed Sensor Networks 11

has the same energy-efficiency and load balance with theimportant advantage that DFDP guarantees a correct answerwhereas the compared algorithms do not In conclusionDFDP is correct and efficient to find disjoint paths betweentwo nodes in a WSN

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

Thiswork is supported by theNational Natural Science Foun-dation of China (Grant no 61300207 Grant no 61272186 andGrant no 61370084) and Fundamental Research Funds forthe Central Universities (Grant no HEUCF100610)

References

[1] D Ganesan R Govindan S Shenker and D Estrin ldquoHighly-resilient energy-efficient multipath routing in wireless sensornetworksrdquo in Proceedings of the 2nd ACM International Sympo-sium on Mobile Ad Hoc Networking and Computing (MobiHoc01) pp 251ndash254 Long Beach Calif USA October 2001

[2] A Srinivas and E Modiano ldquoMinimum energy disjoint pathrouting in wireless ad-hoc networksrdquo in Proceedings of the9th Annual International Conference on Mobile Computing andNetworking (MobiCom rsquo03) pp 122ndash133 September 2003

[3] S Li and Z Wu ldquoNode-disjoint parallel multi-path routing inwireless sensor networksrdquo in Proceedings of the 2nd Interna-tional Conference on Embedded Software and Systems (ICESSrsquo05) pp 432ndash437 December 2005

[4] J W Baek Y J Nam and D-W Seo ldquoAn energy-efficientk-disjoint-path routing algorithm for reliable wireless sensornetworksrdquo in Proceedings of the 5th IFIP WG 102 InternationalConference on Software Technologies for Embedded and Ubiqui-tous Systems (SEUSrsquo07) 2007

[5] B Deb S Bhatnagar and B Nath ldquoReinform reliable informa-tion forwarding using multiple paths in sensor networksrdquo inProceedings of the 28th Annual IEEE International Conferenceon Local Computer Networks 2003

[6] R Bhandari ldquoOptimal physical diversity algorithms and sur-vivable networksrdquo in Proceedings of the 2nd IEEE Symposiumon Computers and Communications (ISCC 97) pp 433ndash441Alexandria Egypt July 1997

[7] S Khuller and B Schieber ldquoEfficient parallel algorithms fortesting connectivity and finding disjoint s-t paths in graphsrdquo inProceedings of the 30th Annual Symposium on Foundations ofComputer Science pp 288ndash293 November 1989

[8] K Iwama C Iwamoto and T Ohsawa ldquoA faster parallelalgorithm for 119896-connectivityrdquo Information Processing Lettersvol 61 no 5 pp 265ndash269 1997

[9] J W Suurballe ldquoDisjoint paths in a networkrdquo Networks vol 4pp 125ndash145 1974

[10] Y Chen X Guo and Q Zeng ldquoAmr a multipath routingalgorithm based on maximum flow in Ad-Hoc networksrdquo ActaElectronica Sinica vol 32 no 8 pp 1297ndash1301 2004

[11] X Fang S Shi and J Li ldquoA disjoint multi-path routing algo-rithm in wireless sensor networkrdquo Journal Computer Researchand Development vol 46 no 12 pp 2053ndash2061 2009

[12] S Omar M Zoulikha and B Cousin ldquoEnergy efficiency inad hoc wireless networks with node-disjoint path routingrdquo inProceedings of the 7th InternationalWorkshop on Systems SignalProcessing and their Applications (WoSSPA rsquo11) pp 127ndash130May2011

[13] K Ishida Y Kakuda and T Kikuno ldquoA routing protocol forfinding two node-disjoint paths in computer networksrdquo inProceedings of the International Conference onNetwork Protocols(ICNP 95) pp 340ndash347 Tokyo Japan November 1995

[14] R Ogier and N Shacham ldquoA distributed algorithm for findingshortest pairs of disjoint pathsrdquo in Proceedings of the 8th AnnualJoint Conference of the IEEE Computer and CommunicationsSocieties Technology Emerging or Converging (INFOCOM 89)vol 2 pp 173ndash182 Ottawa Canada April 1989

[15] Y O Lee and A L N Reddy ldquoDisjoint multi-path routingand failure recoveryrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 10) pp 1ndash6 IEEE CapeTown South Africa May 2010

[16] M Mansouri H Snoussi and C Richard ldquoOptimal pathselection for quantized target tracking in distributed sensornetworksrdquo in Proceeding of the 7th International Wireless Com-munications and Mobile Computing Conference (IWCMC rsquo11)2011

[17] D Sidhu R Nair and S Abdallah ldquoFinding disjoint paths innetworksrdquo in Proceedings of the Conference on CommunicationsArchitecture Protocols (SIGCOMM rsquo91) 1991

[18] A Kumar and S Varma ldquoGeographic node-disjoint pathrouting for wireless sensor networksrdquo IEEE Sensors Journal vol10 no 6 pp 1138ndash1139 2010

[19] K Zhang and H Gao ldquoEfficient distributed algorithm forcorrectly finding disjoint paths in wireless sensor networksrdquoInternational Journal of Sensor Networks vol 13 no 3 pp 173ndash184 2013

[20] T Hashiguchi K Tajima Y Takita and T Naito ldquoNode-disjointpaths search in WDM networks with asymmetric nodesrdquo inProceedings of the 15th Conference on Optical Network DesignandModeling (ONDM 11) pp 1ndash6 Bologna Italy February 2011

[21] A Bley ldquoOn the complexity of vertex-disjoint length-restrictedpath problemsrdquo Computational Complexity vol 12 no 3-4 pp131ndash149 2003

[22] A Itai Y Perl and Y Shiloach ldquoThe complexity of findingmaximumdisjoint pathswith length constraintsrdquoNetworks vol12 no 3 pp 277ndash286 1982

[23] D Ronen and Y Perl ldquoHeuristics for finding a maximumnumber of disjoint bounded pathsrdquo Networks vol 14 no 4 pp531ndash544 1984

[24] T Gomes J Craveirinha and L Jorge ldquoAn effective algorithmfor obtaining the minimal cost pair of disjoint paths with dualarc costsrdquoComputers and Operations Research vol 36 no 5 pp1670ndash1682 2009

[25] J Rak ldquoK-penalty a novel approach to findmdashdisjoint pathswithdifferentiated path costsrdquo IEEE Communications Letters vol 14no 4 pp 354ndash356 2010

[26] R Leepila E Oki andN Kishi ldquoScheme to find k disjoint pathsinmulti-cost networksrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 11) pp 1ndash5 Kyoto JapanJune 2011

[27] H Chen B Liu X Lei F Ren and K Sezaki ldquoInternodedistance-based redundancy reliable transport in underwatersensor networksrdquo Eurasip Journal on Wireless Communicationsand Networking vol 2010 Article ID 358071 2010

[28] httpwww2eceohio-stateedusimbibykee582telosMotepdf

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mechanical Engineering

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Antennas andPropagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Page 3: Finding Disjoint Paths in Wireless Sensor Networks

International Journal of Distributed Sensor Networks 3

s

t

(a) The first 119904 sim 119905 path

s

t

(b) Five disjoint 119904 sim 119905 paths

Figure 2 An example of incorrect answer

rooted at the destinationThe work in [18] gives a distributedalgorithm to find multiple disjoint 119904 sim 119905 paths for geographicrouting These two algorithms cannot guarantee correctnesseither

We propose a pseudodistributed algorithm in [19] to solvethe 119896-DP problem in WSNs with correctness guarantee Thealgorithm does not process in a totally distributed mannerAlthough it does not need to collect the topology informationof the whole network it still needs to collect some topologyinformation from the network so it is not very efficientFurthermore the algorithm is complicated and hard to beimplemented by sensor nodes

In [2 6ndash10 20] some centralized algorithms are given forfinding 119896 disjoint 119904 sim 119905 paths in graphs In particular thealgorithms in [6 9 20] can find 119896 disjoint 119904 sim 119905 paths withthe minimum total length All these centralized algorithmsguarantee correctness If we use these centralized algorithmsto solve the 119896-DP problem in a WSN we will have tocollect every nodersquos neighbor list to build the topology of thewhole network The communication cost of such operationis very high for a large-scale network On the other handto guarantee correctness we have to update the networkrsquostopology with each topology change such as link failing linkrecovering node dying and new node joining in Since thesetopology changes happen frequently inWSNs we need to paya lot of communication to make the topology we built up-to-date

The works in [21ndash23] consider the problem of finding themaximum number of length-bounded disjoint 119904 sim 119905 paths ingraphs A length-bounded path is a path whose length is nomore than a user-specified threshold 119897 In [22] this problem isproven to beNP-hard for 119897 ge 5 In [21] this problem is furtherproven to be APX-complete for 119897 ge 5 which means that thereis no polynomial time approximation scheme (PTAS) for thisproblem A heuristic algorithm for this problem is given in[23] without approximation bound

For 119896 multiple 119904 sim 119905 paths we can give each patha sequence number Each edge has 119896 costs to be in the1st 119896th path Such a network is called a multicost net-work Some centralized algorithms are given in [24ndash26] tofind 119896 disjoint 119904 sim 119905 paths in multicost networks with theminimum total cost The works in [27] consider the problemof reliable data transmission in underwater sensor networksIts solution is based on coding techniques rather than findingdisjoint paths To transmit a series of data packets byeffective coding its algorithm ensures that certain amount of

the packets missing does not affect our access to the completedata

So far all the existing algorithms which can solve the119896-DP problem with correctness guarantee are centralizedalgorithms These centralized algorithms need to build thetopology of the whole network and update it with everytopology change so they are not applicable in WSNs Onthe other hand all the existing distributed algorithms cannotguarantee correctness although they are efficient

3 Preliminaries

The givenWSN can be expressed as an undirected graph 119866 =(119881 119864) where 119881 = V | V is a sensor node and 119864 = (119906 V) |there is a wireless link between 119906 isin 119881 and V isin 119881 Here weassume that all the links are bidirectional that is 119906 can hearV if V can hear 119906 Hereinafter we do not distinguish the termsldquonetworkrdquo and ldquographrdquo

A path 119875 in 119866 is a subgraph which can be expressed asa sequence of distinct nodes (V

1 V

119898) where V

119894isin 119881 and

(V119894 V119894+1) isin 119864 We say path 119875 = (V

1 V

119898) is a V

1sim V119898

path Although wemodel the given network as an undirectedgraph we still emphasize the direction of a path by nodesrsquoorder in its expression or the words ldquofromrdquo and ldquotordquoThus thedirection of path 119875 = (V

1 V

119894minus1 V119894 V119894+1 V

119898) is from V

1

to V119898 V119894rsquos previous hop in 119875 is V

119894minus1and its next hop in 119875 is

V119894+1

The default direction of each 119904 sim 119905 path is from 119904 to 119905A reverse segment of a 119904 sim 119905 path is a segment of the pathalong the direction from 119905 to 119904 In the example of Figure 1(a)(119888 119887 119886) is a reverse segment of 119904 sim 119905 path 119875

1

Suppose that we have found 119899 disjoint 119904 sim 119905 paths1198751 119875

119899in the given network The nodes (edges) in the

found paths are called occupied nodes (edges) and the othernodes (edges) are called unoccupied nodes (edges) Let V bean occupied node We respectively use 119901119903119890V(V) and 119899119890119909119905(V)to denote Vrsquos previous hop and next hop in the found paththat V belongs to For example in the network as shown inFigure 1(a) after finding 119875

1 119887 is an occupied node 119901119903119890V(119887) =

119886 and 119899119890119909119905(119887) = 119888After finding some disjoint 119904 sim 119905 paths we convert the

original graph 119866 to another graph 119866lowast by replacing each pathedge with a directed edge along the direction from 119905 to 119904 In119866lowast each found path becomes a ldquoriverrdquo flowing from 119905 to 119904

In the example of Figure 1(a) after finding 1198751 we convert 119866

to 119866lowast as shown in Figure 1(b) Actually 119866lowast is another way to

4 International Journal of Distributed Sensor Networks

Input two nodes 119904 and 119905 a positive integer 119896Output min119896 119896lowast disjoint 119904 sim 119905 paths

(1) repeat(2) Call Procedure 1(3) if cannot find a path from 119904 to 119905 in 119866lowast then(4) Output all the found paths and stop(5) Call Procedure 2(6) until Find 119896 disjoint 119904 sim 119905 paths

Algorithm 1 Distributedly finding disjoint paths (DFDP)

interpret 119866 In the following we do not distinguish the pathin 119866 and its corresponding path in 119866lowast

We say that a path follows the crossing restriction if thepath does not go through any occupied nodes except by goingdownstream on some river in 119866lowast for at least one hop (iegoing through a reverse segment of some found path) A pathfollowing the crossing restriction is called a CR-path Afterfinding the first path 119875

1 let us examine some paths in the

converted graph as shown in Figure 1(b) 1198761= (119904 119889 119886 119891)

is not a CR-path because it goes through occupied node 119886by directly crossing the river 119876

2= (119904 119889 119886 119887 119888 119890) is not a

CR-path because it goes through occupied nodes 119886 119887 119888 bygoing upstream on the river 119876

3= (119904 119889 119890 119888 119887 119886 119891) is a CR-

path because it goes through occupied nodes 119888 119887 119886 by goingdownstream on the river for segment (119888 119887 119886)

ACR-path from 119904 to 119905 is an augmenting path By adding anaugmenting path 119875

119886to the found paths 119875

1 119875

119899 we can get

119899+1 disjoint 119904 sim 119905 paths where ldquoaddrdquomeans adding the edgesthat only belong to 119875

119886and removing the overlapping edges of

119875119886and 119875

1 119875

119899 In the example of Figure 1(a) after finding

the first path 1198751= (119904 119886 119887 119888 119905) we can find an augmenting

path 119875119886= (119904 119889 119890 119888 119887 119886 119891 119892 119905) as shown by bold lines in

Figure 1(c) By adding 119875119886to 1198751 we can get two disjoint 119904 sim 119905

paths11987510158401= (119904 119889 119890 119888 119905) and1198751015840

2= (119904 119886 119891 119892 119905) as shown by bold

lines in Figure 1(d)

Lemma 1 After finding 119899 disjoint 119904 sim 119905 paths there existmore than 119899 disjoint 119904 sim 119905 paths if and only if there exists anaugmenting path [8]

Lemma 1 can be easily proven by transforming the prob-lem of finding disjoint paths to a maximum flow problem Itmeans thatwe can find themaximumnumber of disjoint 119904 sim 119905paths by searching for augmenting path repeatedly

4 Distributed Algorithm DFDP

In the given network 119866 the users specify two nodes 119904 and 119905and a positive integer 119896 the proposed algorithm DFDP willoutput min119896 119896lowast disjoint 119904 sim 119905 paths Here we assume thatthere exist up to 119896lowast disjoint 119904 sim 119905 paths in the given networkDFDP is iteratively searching for augmenting path andadding it to the paths found beforeThere are two procedures

in each iteration Procedure 1 searches for an augmentingpath 119875

119886 Procedure 2 adds 119875

119886to the paths found before to

generate more disjoint paths DFDP is given by Algorithm 1We assume that each message contains the senderrsquos ID Eachoccupied node V knows 119901119903119890V(V) and 119899119890119909119905(V)

41 Finding Augmenting Path Suppose that we have found 119899disjoint 119904 sim 119905 paths 119875

1 119875

119899in the first 119899 iterations In the

(119899 + 1)th iteration Procedure 1 searches for an augmentingpath by finding a CR-path from 119904 to each node in the network

To make sure that the paths we found follow the crossingrestriction we divide the nodes in a CR-path into threecategories unoccupied node (UN) first hop of a reversesegment (FHR) and other hops in a reverse segment (OHR)of some found path In the example of Figure 1(b) for CR-path 119875

119886= (119904 119889 119890 119888 119887 119886 119891 119892 119905) the nodes 119889 119890 119891 119892 are UNs

node 119888 is a FHR and nodes 119887 119886 are OHRsEach unoccupied node Vmaintains variable UN 119901ℎ119888119903(V)

to record Vrsquos previous hop in the CR-path we found from 119904

to V Each occupied node Vmaintains variables FHR 119901ℎ119888119903(V)and OHR 119901ℎ119888119903(V) FHR 119901ℎ119888119903(V) records Vrsquos previous hopin the CR-path we found from 119904 to V with V as a FHROHR 119901ℎ119888119903(V) records Vrsquos previous hop in the CR-path wefound from 119904 to V with V as an OHR

Procedure 1 starts with 119904 broadcasting a FIND-AP mes-sageThe other nodes find a CR-path from 119904 to themselves byexchanging FIND-APmessages Each FIND-APmessage hasan empty data field Next we discuss the following four cases

Case 1 Unoccupied node V receives a FIND-AP message (letthe sender be 119906) It means that we find a CR-path (denotedby 119876) from 119904 to V and 119906 is Vrsquos previous hop in 119876 Since V is anunoccupied node V is an UN in 119876 To further extend 119876 as aCR-path Vrsquos next hop in this path could be any neighbor of VIn this case if UN 119901ℎ119888119903(V) is not set yet we set UN 119901ℎ119888119903(V)to 119906 and let V broadcast a FIND-AP message (lines 2ndash4 inProcedure 1)

Case 2 Occupied node V receives a FIND-AP message from119906 and 119906 is 119901119903119890V(V) It means that we find a path 119876 from 119904 to Vand 119906 is Vrsquos previous hop in 119876 Since 119906 is 119901119903119890V(V) 119876 does notfollow the crossing restriction In this case we let V discardthe message

International Journal of Distributed Sensor Networks 5

Input 119899 disjoint 119904 sim 119905 paths 1198751 119875

119899

Output an augmenting path 119875119886

lowast Each node V = 119904 executes the following pseudo-codes while

receiving a FIND-AP message (Let the sender be 119906) Start

with 119904 broadcasting a FIND-AP message lowast

(1) case V is an unoccupied node(2) if UN 119901ℎ119888119903(V) = NULL then(3) UN 119901ℎ119888119903(V) larr 119906(4) Broadcast a FIND-AP message(5) case V is an occupied node and 119906 is not 119901119903119890V(V) or 119899119890119909119905(V)(6) if FHR 119901ℎ119888119903(V) = NULL then(7) FHR 119901ℎ119888119903(V) larr 119906(8) if V = 119905 then(9) Start Procedure 2(10) else(11) Send a FIND-AP message to 119901119903119890V(V)(12) case V is an occupied node and 119906 = 119899119890119909119905(V)(13) if OHR 119901ℎ119888119903(V) = NULL then(14) OHR 119901ℎ119888119903(V) larr 119906(15) Broadcast a FIND-AP message

Procedure 1 Finding augmenting path

Input 119899 disjoint 119904 sim 119905 paths 1198751 119875

119899 an augmenting path 119875

119886

Output 119899 + 1 disjoint 119904 sim 119905 paths 11987510158401 119875

1015840

119899+1

lowast Each node V = 119905 executes the following pseudo-codes while

receiving a TRACE-AP message (Let the sender be 119906) Starts

with 119905 sending a TRACE-AP message to FHR 119901ℎ119888119903(119905) lowast

(1) case V is an unoccupied node(2) Mark itself as an occupied node(3) 119901119903119890V(V) larr UN 119901ℎ119888119903(V)(4) 119899119890119909119905(V) larr 119906(5) Send a TRACE-AP message to UN 119901ℎ119888119903(V)(6) case V is an occupied node and 119906 = 119901119903119890V(V)(7) Still mark itself as an occupied node(8) 119899119890119909119905(V) larr 119906(9) Send a TRACE-AP message to OHR 119901ℎ119888119903(V)(10) case V is an occupied node and 119906 = 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL(11) Mark itself as an unoccupied node(12) Send a TRACE-AP message to OHR 119901ℎ119888119903(V)(13) case V is an occupied node and 119906 = 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL(14) Still mark itself as an occupied node(15) 119901119903119890V(V) larr FHR 119901ℎ119888119903(V)(16) Send a TRACE-AP message to FHR 119901ℎ119888119903(V)

Procedure 2 Tracing augmenting path

Case 3 Occupied node V receives a FIND-AP message from119906 and 119906 is not 119901119903119890V(V) or 119899119890119909119905(V) It means that we find a CR-path 119876 from 119904 to V and 119906 is Vrsquos previous hop in 119876 Since 119906is not 119901119903119890V(V) or 119899119890119909119905(V) V is a FHR in 119876 To further extend119876 as a CR-path Vrsquos next hop in this path must be 119901119903119890V(V) Inthis case if FHR 119901ℎ119888119903(V) is not set yet we set FHR 119901ℎ119888119903(V)

to 119906 and let 119906 send a FIND-APmessage to 119901119903119890V(V) (lines 6ndash11in Procedure 1)

Case 4 Occupied node V receives a FIND-APmessage from119906and 119906 is 119899119890119909119905(V) It means that we find a CR-path119876 from 119904 to Vand 119906 is Vrsquos previous hop in119876 Since 119906 = 119899119890119909119905(V) V is an OHR

6 International Journal of Distributed Sensor Networks

in 119876 To further extend 119876 as a CR-path Vrsquos next hop in thispath could be any neighbor of V except 119899119890119909119905(V) In this Caseif OHR 119901ℎ119888119903(V) is not set yet we set OHR 119901ℎ119888119903(V) to 119906 andlet 119906 broadcast a FIND-APmessage (lines 13ndash15 in Procedure1) Although this message will be redundantly received by119899119890119909119905(V) 119899119890119909119905(V)will discard thismessage according toCase 2

We assume that at the beginning of each iterationUN 119901ℎ119888119903(V) = NULL for each unoccupied node andFHR 119901ℎ119888119903(V) = OHR 119901ℎ119888119903(V) = NULL for each occupiednode For example UN 119901ℎ119888119903(V) =NULLmeans that V (as anUN) has not received a FIND-AP message yet in the currentiteration It can be implemented by the followingmechanismEach node V maintains a variable 119903119900119906119899119889(V) to denote thenumber of the current iteration At the beginning of each newiteration 119904 updates the iteration number by adding 1 to thenumber of the last iterationThis number is included by everyFIND-APmessage so that each node can update its 119903119900119906119899119889(V)When V receives a FIND-APmessagewhose iteration numberis larger than 119903119900119906119899119889(V) it sets UN 119901ℎ119888119903(V) = NULL if V is anunoccupied node or FHR 119901ℎ119888119903(V) = OHR 119901ℎ119888119903(V) = NULLif V is an occupied node

42 Tracing Augmenting Path At first let us describe the lasthop in a reverse segment of some found path In the exampleof Figure 1 after finding the augmenting path 119875

119886as shown in

Figure 1(c) we say 119886 is the last hop of the reverse segment(119888 119887 119886) By adding 119875

119886to the paths found before 119886 should

be an occupied node 119901119903119890V(119886) does not change and 119899119890119909119905(119886)changes to its next hop in 119875

119886 that is 119891 In a CR-path the last

hop of a reverse segment is certainly an OHRSuppose that we find an augmenting path119875

119886in Procedure

1 Procedure 2 adds119875119886to the paths foundbefore Starting from

119905 in sequence each node in 119875119886sends a TRACE-AP message

(with empty data field) to its previous hop in 119875119886 At first

119905 sends a TRACE-AP message to FHR 119901ℎ119888119903(119905) to start theprocedure Next we discuss the following four cases

Case 5 Unoccupied node V receives a TRACE-AP message(let the sender be 119906)Then V is an UN in119875

119886and its next hop in

119875119886is 119906 Its previous hop in 119875

119886should be UN 119901ℎ119888119903(V) To add

119875119886to the paths found before V becomes an occupied node

119901119903119890V(V) should be UN 119901ℎ119888119903(V) and 119899119890119909119905(V) should be 119906 Inthis case we let V execute lines 2ndash5 in Procedure 2

Case 6 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is not 119901119903119890V(V)Then Vrsquos next hop in119875

119886is 119906 Since

119906 is not 119901119903119890V(V) V is the last hop in a reverse segment of somefound path Of course V is an OHR in 119875

119886 Vrsquos previous hop in

119875119886should be OHR 119901ℎ119888119903(V) By adding 119875

119886to the paths found

before V is still an occupied node 119901119903119890V(V) does not changeand 119899119890119909119905(V) changes to 119906 In this case we let V execute lines7ndash9 in Procedure 2

Case 7 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL ThenVrsquos next hop in 119875

119886is 119906 Since 119906 is 119901119903119890V(V) V is not the

last hop in a reverse segment Since FHR 119901ℎ119888119903(V) is NULLV is an OHR in 119875

119886and its previous hop in 119875

119886should be

OHR 119901ℎ119888119903(V) By adding 119875119886to the paths found before V

becomes an unoccupied node In this case we let V executelines 11-12 in Procedure 2

Case 8 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL ThenVrsquos next hop in 119875

119886is 119906 Since 119906 is 119901119903119890V(V) V is not the last

hop in a reverse segment Since FHR 119901ℎ119888119903(V) is not NULLV is a FHR in 119875

119886and its previous hop in 119875

119886should be

FHR 119901ℎ119888119903(V) By adding 119875119886to the paths found before V is

still an occupied node 119901119903119890V(V) changes to FHR 119901ℎ119888119903(V) and119899119890119909119905(V) does not change In this case we let V execute lines14ndash16 in Procedure 2

43 An Example of DFDPrsquos Execution In the example ofFigure 1 after finding the first 119904 sim 119905 path 119875

1as shown in

Figure 1(a) the nodes execute DFDP as followsProcedure 1 starts with 119904 broadcasting a FIND-AP mes-

sage which is received by 119886 and 119889 119886 will discard the messageaccording to Case 2

Receiving the FIND-AP message from 119904 according toCase 1 119889 sets UN 119901ℎ119888119903(119889) = 119904 and then broadcasts a FIND-AP message which is received by 119886 and 119890 Although themessage will be also received by 119904 119904 will discard the message

Receiving the FIND-AP message from 119889 according toCase 3 119886 sets FHR 119901ℎ119888119903(119886) = 119889 and then sends a FIND-APmessage to 119904 (119904 will discard the message)

Receiving the FIND-AP message from 119889 according toCase 1 119890 sets UN 119901ℎ119888119903(119890) = 119889 and then broadcasts a FIND-AP message which is received by 119889 and 119888 Since UN 119901ℎ119888119903(119889)

is set yet 119889 discards the FIND-AP message from 119890Receiving the FIND-AP message from 119890 according to

Case 3 119888 sets FHR 119901ℎ119888119903(119888) = 119890 and then sends a FIND-APmessage to 119887

Receiving the FIND-AP message from 119888 according toCase 4 119887 sets OHR 119901ℎ119888119903(119887) = 119888 and then broadcasts a FIND-AP message which is received by 119886

Receiving the FIND-AP message from 119887 according toCase 4 119886 sets OHR 119901ℎ119888119903(119886) = 119887 and then broadcasts a FIND-AP message which is received by 119904 and 119891 (119904 will discard themessage)

In this way 119891 sets UN 119901ℎ119888119903(119891) = 119886 and 119892 setsUN 119901ℎ119888119903(119892) = 119891 Receiving FIND-APmessage from 119892 119905 setsFHR 119901ℎ119888119903(119905) = 119892Therefore augmenting path119875

119886= (119904 119889 119890 119888

119887 119886 119891 119892 119905) is found as shown by bold lines in Figure 1(c)Procedure 2 starts with 119905 sending a TRACE-AP message

to FHR 119901ℎ119888119903(119905) = 119892Receiving the TRACE-AP message from 119905 according to

Case 5 119892 marks itself as an occupied node sets 119901119903119890V(119892) =UN 119901ℎ119888119903(119892) = 119891 and 119899119890119909119905(119892) = 119905 and then sends a TRACE-AP message to 119891

Receiving the TRACE-AP message from 119892 accord-ing to Case 5 119891 marks itself as an occupied node sets119901119903119890V(119891) =UN 119901ℎ119888119903(119891) = 119886 and 119899119890119909119905(119891) = 119892 and then sendsa TRACE-AP message to 119886

Receiving the TRACE-AP message from 119891 according toCase 6 119886 still marks itself as an occupied node sets 119899119890119909119905(119886) =

International Journal of Distributed Sensor Networks 7

119891 (119901119903119890V(119886) is still 119904) and then sends a TRACE-APmessage toOHR 119901ℎ119888119903(119886) = 119887

Receiving the TRACE-AP message from 119886 according toCase 7 119887marks itself as an unoccupied node and then sendsa TRACE-AP message to OHR 119901ℎ119888119903(119887) = 119888

Receiving the TRACE-AP message from 119887 according toCase 8 119888 still marks itself as an occupied node sets 119901119903119890V(119888) =FHR 119901ℎ119888119903(119888) = 119890 (119899119890119909119905(119888) is still 119905) and then sends a TRACE-AP message to 119890

In this way 119890 marks itself as an occupied node and sets119901119903119890V(119890) = 119889 and 119899119890119909119905(119890) = 119888 119889 marks itself as an occupiednode and sets 119901119903119890V(119889) = 119904 and 119899119890119909119905(119889) = 119890 Now we add 119875

119886

to 1198751and generate two disjoint 119904 sim 119905 paths 1198751015840

1and 11987510158402as shown

in bold lines in Figure 1(d)

44 Correctness and Complexity By the description ofSections 41 and 42 after finding 119899 disjoint 119904 sim 119905 paths1198751 119875

119899 Procedure 1 will find an augmenting path if there

exists one and Procedure 2 is a correct way to add theaugmenting path to 119875

1 119875

119899 By Lemma 1 we can get the

following theorem

Theorem 2 DFDP will output min119896 119896lowast disjoint 119904 sim 119905 pathswhere 119896lowast is the maximum number of disjoint 119904 sim 119905 paths in thegiven network

Suppose that there are 119873 nodes in the given networkIn Procedure 1 each unoccupied node sends at most oneFIND-AP message and each occupied node sends at mosttwo FIND-AP messages In Procedure 2 each node in 119875

119886

sends one TRACE-AP message and the other nodes do notsend any messages Both FIND-AP message and TRACE-AP message have constant length (empty data field) so thecommunication complexity ofDFDP is119874(119873sdotmin119896 119896lowast)Thetime complexity of DFDP is 119874(119873 sdotmin119896 119896lowast) too

45 Dealing with Topology Changes Let us consider threetypes of topology changes

Type 1 During the processing of DFDP the nodes or linksin some found path fail This type of topology changes willcause 119904 not to receive the expected number of TRACE-APmessages (one plus the number of disjoint paths found inthe last iteration) in the current iteration Therefore we canset a timer for the execution of each iteration The timeris triggered by 119904 at the beginning of each iteration If thetimer expires and 119904 has not received the expected numberof TRACE-AP messages 119904 knows that there is node or linkfailure in the path from which it has not received TRACE-AP message Let the failed path be 1198751015840

119894 Before going into the

next iteration DFDP frees the nodes in 1198751015840119894by tracing them

from both 119904 and 119905 With the topology changes DFDP stillguarantees correctness The extra cost for DFDP to deal withthis type of topology changes is tracing the failed path (whichcan be neglected compared to the total cost of the algorithm)and onemore iteration of the algorithm (which is inevitable)

Type 2 During the processing of DFDP the topology beyondthe found paths changes Since each node participates

in DFDP by communicating with its neighbors and theexchange of messages does not rely on any predefinedstructures DFDP can handle this type of topology changeswhile guaranteeing correctness without any modification

Type 3 After the execution of DFDP (min119896 119896lowast paths havebeen used for routing) the nodes or links in some found pathfail After detecting the path failure we can free the nodes inthe failed path and execute one more iteration of DFDP tofind one more disjoint path The extra cost for DFDP to dealwith this type of topology changes is also tracing the failedpath and one more iteration of the algorithm

On the contrary to handle all the three types of topologychanges and guarantee correctness centralized algorithmshave to collect the whole networkrsquos topology once againwhich is a very expensive operation for WSN

5 Simulation Results

We use a simulator written in C++ to evaluate the proposedalgorithm The simulator is a high level simulator whichneglects the MAC layer The effective transmitting radiusof each sensor node is set to 50m Each packet has a 6-byte header containing the information of destinationrsquos ID(2 bytes) senderrsquos ID (2 bytes) packet type (1 byte) andpacket length (1 byte) The data field of each packet containsup to 50 bytes

To simulate energy consumption we set the parametersof sensor nodes according to TelosB motes [28] The supplyvoltage is 30V When MCU is on and radio is on TX or RXmode the nodersquos current is 22mA The transmit bit rate is250 kbps Therefore the energy consumption for the senderto send 1-bit data (or for the receiver to receive 1-bit data)successfully is 264 times 10minus7 J For the TelosB sensor node theenergy consumption to transmit one-bit data can be used forMCU to execute more than 400 instructions so we neglectthe energy consumption for computing

We compare our algorithm DFDP with the centralizedalgorithm in [6] (denoted by CA) the pseudodistributedalgorithm in [19] (denoted by EA) and the distributedalgorithm in [5] (denoted by DA) CA collects the topologyinformation of the whole network (each nodersquos neighbor list)to the sink and finds disjoint paths at the sink CA canfind 119896 disjoint 119904 sim 119905 paths with the minimum total lengthCA is a good representation of the centralized algorithmsin [2 6ndash10] All these centralized algorithms have to collectthe topology information of the whole network so they havethe same communication cost On the other hand all ofthem guarantee correctness so they find the same numberof disjoint paths DA finds paths iteratively In each iterationDA finds a 119904 sim 119905 path and removes the internal nodes of thepath from the network As we know DA is the most efficientalgorithm for finding disjoint paths with no other constraintsNote that DA cannot guarantee correctness that is DA mayonly find 119899 lt 119896 paths when there do exist 119896 disjoint 119904 sim 119905paths in the given network

At first let us compare the efficiency of four algorithmsin theory Suppose that there are119873 nodes and119872 edges in the

8 International Journal of Distributed Sensor Networks

network Let 119889 be the diameter of the network The energyconsumption of the algorithms is mainly determined by datacommunication We already know that the communicationcomplexity of DFDP is 119874(119873 sdot min119896 119896lowast) CA collects thetopology information of the whole network Each node is119874(119889) hops away from the sink on average so the informationof each edge is transmitted 119874(119889) hops to the sink on averageand the communication complexity of CA is 119874(119889119872) EA hasbad upper bound on communication complexity In theworstcase EA has to collect the topology information of the wholenetwork in each iteration so its communication complexityis 119874(119889119872 sdot min119896 119896lowast) DA is the simplest algorithm to finddisjoint path although it cannot guarantee correctness Ineach iteration each node sends one message with constantlength to find a new path from 119904 to 119905 so the communicationcomplexity of DA is119874(119873sdotmin119896 119896lowast)We know that 119896 ≪ 119889 inmost applications In the aspect of communication complex-ityDFDPandDAaremuchbetter thanCAandEAAlthoughwith the same communication complexity compared withDA DFDP can guarantee correctness whereas DA cannot

We evaluate the performances of the algorithms at fouraspects (1) path number (2) average path length (3) energy-efficiency and (4) load balance ldquoPath numberrdquo is the numberof disjoint 119904 sim 119905 paths found by the algorithms ldquoAveragepath lengthrdquo represents the quality of the disjoint paths Weuse ldquoaverage energypath numberrdquo to measure algorithmsrsquoenergy-efficiency where ldquoaverage energyrdquo is the averageenergy consumption of each node in the network Loadbalance is measured by ldquomax energypath numberrdquo whereldquomax energyrdquo is the maximum energy consumption of anynode in the network

There are two groups of simulations In Group 1 2500sensor nodes are randomly deployed in a 1500m times 1500marea In Group 2 2500 sensor nodes are deployed as a 50times 50grid and each node dies or sleeps with 25 probability Asa result 1859 nodes are left as alive nodes in the grid Thecomparison of the algorithms is conducted for different 119896that is the number of the paths the users want to find Toget each result we performed 10 simulations with different(119904 119905) pairs and took their average value The (119904 119905) pairs aregenerated randomly

The comparison results for Group 1 are given in Figure 3The path number of the four algorithms is given inFigure 3(a) With the growth of 119896 all the four algorithms findmore disjoint paths until they reach their ldquolimitsrdquo DA findsno more disjoint paths when 119896 ge 7 CA EA and DFDP findno more disjoint paths when 119896 ge 10 Since CA EA andDFDP all guarantee correctness they always find the samenumber of disjoint pathsWhen 119896 le 3 all the four algorithmscan find 119896 disjoint pathsWhen 119896 ge 4 comparedwithDA theother three algorithms find more disjoint paths CA EA andDFDP can find the maximum number of the disjoint pathsin the network whereas DA cannot For 119896 = 10 comparedwith DA the other three algorithms find 203more disjointpaths

Next we want to compare the average path length ofthe four algorithms For different (119904 119905) pairs the differenceof pathsrsquo average lengths may be very large To comparefairly for each (119904 119905) pair we set the value of CA to 1 and

Table 1 The simulation details for Group 1 when 119896 = 10

Performance AlgorithmsCA EA DFDP DA

Path number 71 71 71 59Average path length 1 103 103 099Average Comm Bytes 845 1023 353 291Max Comm Bytes 58495 1616 814 683Average energy (times10minus7 J) 17842 21605 7462 6136Max energy (times10minus7 J) 1235407 34123 17196 14431

Table 2 The simulation details for Group 2 when 119896 = 4

Performance AlgorithmsCA EA DFDP DA

Path number 34 34 34 23Average path length 1 104 102 084Average Comm Bytes 348 170 56 40Max Comm Bytes 14792 568 249 172Average energy (times10minus7 J) 7351 3590 1183 844Max energy (times10minus7 J) 312416 11995 5263 3629

normalize the values of the other three algorithms Theaverage path length of the four algorithms forGroup 1 is givenin Figure 3(b) The centralized algorithm (CA) always findsdisjoint paths with the minimum total length EA and DFDPalmost have the same performance as CA in this aspect In allcases the average path length of DFDP is at most 3 higherthan the one of CA When 119896 = 10 the average path length ofDA is even less than the one of CA This is because DA findsless disjoint paths and all the algorithms have the trends tofind shorter path first

The energy-efficiency of the four algorithms for Group1 is given in Figure 3(c) No matter what value 119896 is CAcollects the topology information of the whole network sothe energy cost of CA does not change with 119896 With CAfindingmore disjoint paths it ismore energy-efficient until itfinds the maximum number of disjoint paths EA finds pathsiteratively and collects an abstract of the network topologyin each iteration With finding more disjoint paths EA needsto collect more and more complicated topology informationand becomes less and less energy-efficient When 119896 gt 7 EAis even worse than CA in this aspect DFDP and DA also findpaths iteratively and their energy cost for each iteration issteady DFDP and DA almost have the same performance inthis aspect and both of them are much more energy-efficientthan CA and EA

The load balance of the four algorithms for Group 1is given in Figure 3(d) Note that the value of the 119910-axisincreases logarithmically Since CA collects the topologyinformation of the whole network the nodes near the sinkneed to send and receive a large amount of data so CA is twoorders of magnitude worse than the other three algorithms inthis aspect Although EA is much better than CA it is still

International Journal of Distributed Sensor Networks 9

7

6

5

4

3

2

1

0

1 2 3 4 5 6 7 8 9 10

k

Path

num

ber

CAEA

DFDPDA

(a) Path number

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

16000

14000

12000

10000

8000

6000

4000

2000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

1000000

100000

10000

times10minus7 J

(d) Load balance

Figure 3 Simulation results for Group 1 (2500 nodes are randomly deployed in a 1500m times 1500m area)

a ldquocollectingrdquo algorithm so it is not as good as DFDP andDA in terms of load balance By finding more disjoint pathssometimes DFDP even gains a better load balance comparedwith the simplest distributed algorithm (DA)

The specific simulation results for Group 1 when 119896 = 10are shown in Table 1 ldquoAverage Comm Bytesrdquo is the averagenumber of bytes sent and received by each node in thenetwork ldquoMax Comm Bytesrdquo is the maximum number ofbytes sent and received by any node in the network

The comparison results for Group 2 are given in Figure 4The path number of the four algorithms is given inFigure 4(a) With the growth of 119896 all the four algorithms

find more disjoint paths DA reaches its ldquolimitrdquo when 119896 = 3whereas CA EA and DFDP reach their ldquolimitsrdquo when 119896 =4 Since CA EA and DFDP all guarantee correctness theyalways find the same number of disjoint paths When 119896 = 4compared with DA the other three algorithms find 478more disjoint paths

The average path length of the four algorithms for Group2 is given in Figure 4(b) The centralized algorithm (CA)always finds disjoint paths with the minimum total lengthNote that CA EA and DFDP find the same number ofdisjoint paths No matter what the value of 119896 is the averagepath length of DFDP is at most 2higher than the one of CA

10 International Journal of Distributed Sensor Networks

1 2 3 4

k

CAEA

DFDPDA

35

30

25

20

15

10

05

00

Path

num

ber

(a) Path number

1 2 3 4

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4

k

CAEA

DFDPDA

7000

6000

5000

4000

3000

2000

1000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

100000

10000

1000

times10minus7 J

(d) Load balance

Figure 4 Simulation results for Group 2 (1859 nodes are randomly deployed in a 50 times 50 grid)

The ldquoaverage energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(c) In the aspect of energy-efficiency DFDP and DA are much better than CA and EADFDP and DA almost have the same energy-efficiency butDFDP finds more disjoint paths

The ldquomax energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(d) In the aspect of loadbalance CA is two orders of magnitude worse than theother three algorithms DA and DFDP almost have the sameperformances and both of them are significantly better thanEAThe specific simulation for Group 2 when 119896 = 4 is shownin Table 2

Let us summarize the simulation results for Group 1 andGroup 2 Compared with DA DFDP finds significantly moredisjoint paths In the aspect of energy-efficiency and load

balance DFDP is almost the same as DA CA EA and DFDPfind the same number of disjoint paths with almost the samelength However in the aspect of energy-efficiency and loadbalance DFDP is much better than CA and EA

6 Conclusion

This paper proposes an efficient distributed algorithm DFDPto find 119896 disjoint paths connecting two given nodes 119904 and119905 in a WSN Unlike the existing distributed algorithms forthis problemDFDPguarantees correctness Compared to theexisting centralized algorithms which also guarantee correct-ness DFDP ismuchmore efficient Compared to the state-of-the-art distributed algorithms for the same problem DFDP

International Journal of Distributed Sensor Networks 11

has the same energy-efficiency and load balance with theimportant advantage that DFDP guarantees a correct answerwhereas the compared algorithms do not In conclusionDFDP is correct and efficient to find disjoint paths betweentwo nodes in a WSN

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

Thiswork is supported by theNational Natural Science Foun-dation of China (Grant no 61300207 Grant no 61272186 andGrant no 61370084) and Fundamental Research Funds forthe Central Universities (Grant no HEUCF100610)

References

[1] D Ganesan R Govindan S Shenker and D Estrin ldquoHighly-resilient energy-efficient multipath routing in wireless sensornetworksrdquo in Proceedings of the 2nd ACM International Sympo-sium on Mobile Ad Hoc Networking and Computing (MobiHoc01) pp 251ndash254 Long Beach Calif USA October 2001

[2] A Srinivas and E Modiano ldquoMinimum energy disjoint pathrouting in wireless ad-hoc networksrdquo in Proceedings of the9th Annual International Conference on Mobile Computing andNetworking (MobiCom rsquo03) pp 122ndash133 September 2003

[3] S Li and Z Wu ldquoNode-disjoint parallel multi-path routing inwireless sensor networksrdquo in Proceedings of the 2nd Interna-tional Conference on Embedded Software and Systems (ICESSrsquo05) pp 432ndash437 December 2005

[4] J W Baek Y J Nam and D-W Seo ldquoAn energy-efficientk-disjoint-path routing algorithm for reliable wireless sensornetworksrdquo in Proceedings of the 5th IFIP WG 102 InternationalConference on Software Technologies for Embedded and Ubiqui-tous Systems (SEUSrsquo07) 2007

[5] B Deb S Bhatnagar and B Nath ldquoReinform reliable informa-tion forwarding using multiple paths in sensor networksrdquo inProceedings of the 28th Annual IEEE International Conferenceon Local Computer Networks 2003

[6] R Bhandari ldquoOptimal physical diversity algorithms and sur-vivable networksrdquo in Proceedings of the 2nd IEEE Symposiumon Computers and Communications (ISCC 97) pp 433ndash441Alexandria Egypt July 1997

[7] S Khuller and B Schieber ldquoEfficient parallel algorithms fortesting connectivity and finding disjoint s-t paths in graphsrdquo inProceedings of the 30th Annual Symposium on Foundations ofComputer Science pp 288ndash293 November 1989

[8] K Iwama C Iwamoto and T Ohsawa ldquoA faster parallelalgorithm for 119896-connectivityrdquo Information Processing Lettersvol 61 no 5 pp 265ndash269 1997

[9] J W Suurballe ldquoDisjoint paths in a networkrdquo Networks vol 4pp 125ndash145 1974

[10] Y Chen X Guo and Q Zeng ldquoAmr a multipath routingalgorithm based on maximum flow in Ad-Hoc networksrdquo ActaElectronica Sinica vol 32 no 8 pp 1297ndash1301 2004

[11] X Fang S Shi and J Li ldquoA disjoint multi-path routing algo-rithm in wireless sensor networkrdquo Journal Computer Researchand Development vol 46 no 12 pp 2053ndash2061 2009

[12] S Omar M Zoulikha and B Cousin ldquoEnergy efficiency inad hoc wireless networks with node-disjoint path routingrdquo inProceedings of the 7th InternationalWorkshop on Systems SignalProcessing and their Applications (WoSSPA rsquo11) pp 127ndash130May2011

[13] K Ishida Y Kakuda and T Kikuno ldquoA routing protocol forfinding two node-disjoint paths in computer networksrdquo inProceedings of the International Conference onNetwork Protocols(ICNP 95) pp 340ndash347 Tokyo Japan November 1995

[14] R Ogier and N Shacham ldquoA distributed algorithm for findingshortest pairs of disjoint pathsrdquo in Proceedings of the 8th AnnualJoint Conference of the IEEE Computer and CommunicationsSocieties Technology Emerging or Converging (INFOCOM 89)vol 2 pp 173ndash182 Ottawa Canada April 1989

[15] Y O Lee and A L N Reddy ldquoDisjoint multi-path routingand failure recoveryrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 10) pp 1ndash6 IEEE CapeTown South Africa May 2010

[16] M Mansouri H Snoussi and C Richard ldquoOptimal pathselection for quantized target tracking in distributed sensornetworksrdquo in Proceeding of the 7th International Wireless Com-munications and Mobile Computing Conference (IWCMC rsquo11)2011

[17] D Sidhu R Nair and S Abdallah ldquoFinding disjoint paths innetworksrdquo in Proceedings of the Conference on CommunicationsArchitecture Protocols (SIGCOMM rsquo91) 1991

[18] A Kumar and S Varma ldquoGeographic node-disjoint pathrouting for wireless sensor networksrdquo IEEE Sensors Journal vol10 no 6 pp 1138ndash1139 2010

[19] K Zhang and H Gao ldquoEfficient distributed algorithm forcorrectly finding disjoint paths in wireless sensor networksrdquoInternational Journal of Sensor Networks vol 13 no 3 pp 173ndash184 2013

[20] T Hashiguchi K Tajima Y Takita and T Naito ldquoNode-disjointpaths search in WDM networks with asymmetric nodesrdquo inProceedings of the 15th Conference on Optical Network DesignandModeling (ONDM 11) pp 1ndash6 Bologna Italy February 2011

[21] A Bley ldquoOn the complexity of vertex-disjoint length-restrictedpath problemsrdquo Computational Complexity vol 12 no 3-4 pp131ndash149 2003

[22] A Itai Y Perl and Y Shiloach ldquoThe complexity of findingmaximumdisjoint pathswith length constraintsrdquoNetworks vol12 no 3 pp 277ndash286 1982

[23] D Ronen and Y Perl ldquoHeuristics for finding a maximumnumber of disjoint bounded pathsrdquo Networks vol 14 no 4 pp531ndash544 1984

[24] T Gomes J Craveirinha and L Jorge ldquoAn effective algorithmfor obtaining the minimal cost pair of disjoint paths with dualarc costsrdquoComputers and Operations Research vol 36 no 5 pp1670ndash1682 2009

[25] J Rak ldquoK-penalty a novel approach to findmdashdisjoint pathswithdifferentiated path costsrdquo IEEE Communications Letters vol 14no 4 pp 354ndash356 2010

[26] R Leepila E Oki andN Kishi ldquoScheme to find k disjoint pathsinmulti-cost networksrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 11) pp 1ndash5 Kyoto JapanJune 2011

[27] H Chen B Liu X Lei F Ren and K Sezaki ldquoInternodedistance-based redundancy reliable transport in underwatersensor networksrdquo Eurasip Journal on Wireless Communicationsand Networking vol 2010 Article ID 358071 2010

[28] httpwww2eceohio-stateedusimbibykee582telosMotepdf

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mechanical Engineering

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Antennas andPropagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Page 4: Finding Disjoint Paths in Wireless Sensor Networks

4 International Journal of Distributed Sensor Networks

Input two nodes 119904 and 119905 a positive integer 119896Output min119896 119896lowast disjoint 119904 sim 119905 paths

(1) repeat(2) Call Procedure 1(3) if cannot find a path from 119904 to 119905 in 119866lowast then(4) Output all the found paths and stop(5) Call Procedure 2(6) until Find 119896 disjoint 119904 sim 119905 paths

Algorithm 1 Distributedly finding disjoint paths (DFDP)

interpret 119866 In the following we do not distinguish the pathin 119866 and its corresponding path in 119866lowast

We say that a path follows the crossing restriction if thepath does not go through any occupied nodes except by goingdownstream on some river in 119866lowast for at least one hop (iegoing through a reverse segment of some found path) A pathfollowing the crossing restriction is called a CR-path Afterfinding the first path 119875

1 let us examine some paths in the

converted graph as shown in Figure 1(b) 1198761= (119904 119889 119886 119891)

is not a CR-path because it goes through occupied node 119886by directly crossing the river 119876

2= (119904 119889 119886 119887 119888 119890) is not a

CR-path because it goes through occupied nodes 119886 119887 119888 bygoing upstream on the river 119876

3= (119904 119889 119890 119888 119887 119886 119891) is a CR-

path because it goes through occupied nodes 119888 119887 119886 by goingdownstream on the river for segment (119888 119887 119886)

ACR-path from 119904 to 119905 is an augmenting path By adding anaugmenting path 119875

119886to the found paths 119875

1 119875

119899 we can get

119899+1 disjoint 119904 sim 119905 paths where ldquoaddrdquomeans adding the edgesthat only belong to 119875

119886and removing the overlapping edges of

119875119886and 119875

1 119875

119899 In the example of Figure 1(a) after finding

the first path 1198751= (119904 119886 119887 119888 119905) we can find an augmenting

path 119875119886= (119904 119889 119890 119888 119887 119886 119891 119892 119905) as shown by bold lines in

Figure 1(c) By adding 119875119886to 1198751 we can get two disjoint 119904 sim 119905

paths11987510158401= (119904 119889 119890 119888 119905) and1198751015840

2= (119904 119886 119891 119892 119905) as shown by bold

lines in Figure 1(d)

Lemma 1 After finding 119899 disjoint 119904 sim 119905 paths there existmore than 119899 disjoint 119904 sim 119905 paths if and only if there exists anaugmenting path [8]

Lemma 1 can be easily proven by transforming the prob-lem of finding disjoint paths to a maximum flow problem Itmeans thatwe can find themaximumnumber of disjoint 119904 sim 119905paths by searching for augmenting path repeatedly

4 Distributed Algorithm DFDP

In the given network 119866 the users specify two nodes 119904 and 119905and a positive integer 119896 the proposed algorithm DFDP willoutput min119896 119896lowast disjoint 119904 sim 119905 paths Here we assume thatthere exist up to 119896lowast disjoint 119904 sim 119905 paths in the given networkDFDP is iteratively searching for augmenting path andadding it to the paths found beforeThere are two procedures

in each iteration Procedure 1 searches for an augmentingpath 119875

119886 Procedure 2 adds 119875

119886to the paths found before to

generate more disjoint paths DFDP is given by Algorithm 1We assume that each message contains the senderrsquos ID Eachoccupied node V knows 119901119903119890V(V) and 119899119890119909119905(V)

41 Finding Augmenting Path Suppose that we have found 119899disjoint 119904 sim 119905 paths 119875

1 119875

119899in the first 119899 iterations In the

(119899 + 1)th iteration Procedure 1 searches for an augmentingpath by finding a CR-path from 119904 to each node in the network

To make sure that the paths we found follow the crossingrestriction we divide the nodes in a CR-path into threecategories unoccupied node (UN) first hop of a reversesegment (FHR) and other hops in a reverse segment (OHR)of some found path In the example of Figure 1(b) for CR-path 119875

119886= (119904 119889 119890 119888 119887 119886 119891 119892 119905) the nodes 119889 119890 119891 119892 are UNs

node 119888 is a FHR and nodes 119887 119886 are OHRsEach unoccupied node Vmaintains variable UN 119901ℎ119888119903(V)

to record Vrsquos previous hop in the CR-path we found from 119904

to V Each occupied node Vmaintains variables FHR 119901ℎ119888119903(V)and OHR 119901ℎ119888119903(V) FHR 119901ℎ119888119903(V) records Vrsquos previous hopin the CR-path we found from 119904 to V with V as a FHROHR 119901ℎ119888119903(V) records Vrsquos previous hop in the CR-path wefound from 119904 to V with V as an OHR

Procedure 1 starts with 119904 broadcasting a FIND-AP mes-sageThe other nodes find a CR-path from 119904 to themselves byexchanging FIND-APmessages Each FIND-APmessage hasan empty data field Next we discuss the following four cases

Case 1 Unoccupied node V receives a FIND-AP message (letthe sender be 119906) It means that we find a CR-path (denotedby 119876) from 119904 to V and 119906 is Vrsquos previous hop in 119876 Since V is anunoccupied node V is an UN in 119876 To further extend 119876 as aCR-path Vrsquos next hop in this path could be any neighbor of VIn this case if UN 119901ℎ119888119903(V) is not set yet we set UN 119901ℎ119888119903(V)to 119906 and let V broadcast a FIND-AP message (lines 2ndash4 inProcedure 1)

Case 2 Occupied node V receives a FIND-AP message from119906 and 119906 is 119901119903119890V(V) It means that we find a path 119876 from 119904 to Vand 119906 is Vrsquos previous hop in 119876 Since 119906 is 119901119903119890V(V) 119876 does notfollow the crossing restriction In this case we let V discardthe message

International Journal of Distributed Sensor Networks 5

Input 119899 disjoint 119904 sim 119905 paths 1198751 119875

119899

Output an augmenting path 119875119886

lowast Each node V = 119904 executes the following pseudo-codes while

receiving a FIND-AP message (Let the sender be 119906) Start

with 119904 broadcasting a FIND-AP message lowast

(1) case V is an unoccupied node(2) if UN 119901ℎ119888119903(V) = NULL then(3) UN 119901ℎ119888119903(V) larr 119906(4) Broadcast a FIND-AP message(5) case V is an occupied node and 119906 is not 119901119903119890V(V) or 119899119890119909119905(V)(6) if FHR 119901ℎ119888119903(V) = NULL then(7) FHR 119901ℎ119888119903(V) larr 119906(8) if V = 119905 then(9) Start Procedure 2(10) else(11) Send a FIND-AP message to 119901119903119890V(V)(12) case V is an occupied node and 119906 = 119899119890119909119905(V)(13) if OHR 119901ℎ119888119903(V) = NULL then(14) OHR 119901ℎ119888119903(V) larr 119906(15) Broadcast a FIND-AP message

Procedure 1 Finding augmenting path

Input 119899 disjoint 119904 sim 119905 paths 1198751 119875

119899 an augmenting path 119875

119886

Output 119899 + 1 disjoint 119904 sim 119905 paths 11987510158401 119875

1015840

119899+1

lowast Each node V = 119905 executes the following pseudo-codes while

receiving a TRACE-AP message (Let the sender be 119906) Starts

with 119905 sending a TRACE-AP message to FHR 119901ℎ119888119903(119905) lowast

(1) case V is an unoccupied node(2) Mark itself as an occupied node(3) 119901119903119890V(V) larr UN 119901ℎ119888119903(V)(4) 119899119890119909119905(V) larr 119906(5) Send a TRACE-AP message to UN 119901ℎ119888119903(V)(6) case V is an occupied node and 119906 = 119901119903119890V(V)(7) Still mark itself as an occupied node(8) 119899119890119909119905(V) larr 119906(9) Send a TRACE-AP message to OHR 119901ℎ119888119903(V)(10) case V is an occupied node and 119906 = 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL(11) Mark itself as an unoccupied node(12) Send a TRACE-AP message to OHR 119901ℎ119888119903(V)(13) case V is an occupied node and 119906 = 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL(14) Still mark itself as an occupied node(15) 119901119903119890V(V) larr FHR 119901ℎ119888119903(V)(16) Send a TRACE-AP message to FHR 119901ℎ119888119903(V)

Procedure 2 Tracing augmenting path

Case 3 Occupied node V receives a FIND-AP message from119906 and 119906 is not 119901119903119890V(V) or 119899119890119909119905(V) It means that we find a CR-path 119876 from 119904 to V and 119906 is Vrsquos previous hop in 119876 Since 119906is not 119901119903119890V(V) or 119899119890119909119905(V) V is a FHR in 119876 To further extend119876 as a CR-path Vrsquos next hop in this path must be 119901119903119890V(V) Inthis case if FHR 119901ℎ119888119903(V) is not set yet we set FHR 119901ℎ119888119903(V)

to 119906 and let 119906 send a FIND-APmessage to 119901119903119890V(V) (lines 6ndash11in Procedure 1)

Case 4 Occupied node V receives a FIND-APmessage from119906and 119906 is 119899119890119909119905(V) It means that we find a CR-path119876 from 119904 to Vand 119906 is Vrsquos previous hop in119876 Since 119906 = 119899119890119909119905(V) V is an OHR

6 International Journal of Distributed Sensor Networks

in 119876 To further extend 119876 as a CR-path Vrsquos next hop in thispath could be any neighbor of V except 119899119890119909119905(V) In this Caseif OHR 119901ℎ119888119903(V) is not set yet we set OHR 119901ℎ119888119903(V) to 119906 andlet 119906 broadcast a FIND-APmessage (lines 13ndash15 in Procedure1) Although this message will be redundantly received by119899119890119909119905(V) 119899119890119909119905(V)will discard thismessage according toCase 2

We assume that at the beginning of each iterationUN 119901ℎ119888119903(V) = NULL for each unoccupied node andFHR 119901ℎ119888119903(V) = OHR 119901ℎ119888119903(V) = NULL for each occupiednode For example UN 119901ℎ119888119903(V) =NULLmeans that V (as anUN) has not received a FIND-AP message yet in the currentiteration It can be implemented by the followingmechanismEach node V maintains a variable 119903119900119906119899119889(V) to denote thenumber of the current iteration At the beginning of each newiteration 119904 updates the iteration number by adding 1 to thenumber of the last iterationThis number is included by everyFIND-APmessage so that each node can update its 119903119900119906119899119889(V)When V receives a FIND-APmessagewhose iteration numberis larger than 119903119900119906119899119889(V) it sets UN 119901ℎ119888119903(V) = NULL if V is anunoccupied node or FHR 119901ℎ119888119903(V) = OHR 119901ℎ119888119903(V) = NULLif V is an occupied node

42 Tracing Augmenting Path At first let us describe the lasthop in a reverse segment of some found path In the exampleof Figure 1 after finding the augmenting path 119875

119886as shown in

Figure 1(c) we say 119886 is the last hop of the reverse segment(119888 119887 119886) By adding 119875

119886to the paths found before 119886 should

be an occupied node 119901119903119890V(119886) does not change and 119899119890119909119905(119886)changes to its next hop in 119875

119886 that is 119891 In a CR-path the last

hop of a reverse segment is certainly an OHRSuppose that we find an augmenting path119875

119886in Procedure

1 Procedure 2 adds119875119886to the paths foundbefore Starting from

119905 in sequence each node in 119875119886sends a TRACE-AP message

(with empty data field) to its previous hop in 119875119886 At first

119905 sends a TRACE-AP message to FHR 119901ℎ119888119903(119905) to start theprocedure Next we discuss the following four cases

Case 5 Unoccupied node V receives a TRACE-AP message(let the sender be 119906)Then V is an UN in119875

119886and its next hop in

119875119886is 119906 Its previous hop in 119875

119886should be UN 119901ℎ119888119903(V) To add

119875119886to the paths found before V becomes an occupied node

119901119903119890V(V) should be UN 119901ℎ119888119903(V) and 119899119890119909119905(V) should be 119906 Inthis case we let V execute lines 2ndash5 in Procedure 2

Case 6 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is not 119901119903119890V(V)Then Vrsquos next hop in119875

119886is 119906 Since

119906 is not 119901119903119890V(V) V is the last hop in a reverse segment of somefound path Of course V is an OHR in 119875

119886 Vrsquos previous hop in

119875119886should be OHR 119901ℎ119888119903(V) By adding 119875

119886to the paths found

before V is still an occupied node 119901119903119890V(V) does not changeand 119899119890119909119905(V) changes to 119906 In this case we let V execute lines7ndash9 in Procedure 2

Case 7 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL ThenVrsquos next hop in 119875

119886is 119906 Since 119906 is 119901119903119890V(V) V is not the

last hop in a reverse segment Since FHR 119901ℎ119888119903(V) is NULLV is an OHR in 119875

119886and its previous hop in 119875

119886should be

OHR 119901ℎ119888119903(V) By adding 119875119886to the paths found before V

becomes an unoccupied node In this case we let V executelines 11-12 in Procedure 2

Case 8 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL ThenVrsquos next hop in 119875

119886is 119906 Since 119906 is 119901119903119890V(V) V is not the last

hop in a reverse segment Since FHR 119901ℎ119888119903(V) is not NULLV is a FHR in 119875

119886and its previous hop in 119875

119886should be

FHR 119901ℎ119888119903(V) By adding 119875119886to the paths found before V is

still an occupied node 119901119903119890V(V) changes to FHR 119901ℎ119888119903(V) and119899119890119909119905(V) does not change In this case we let V execute lines14ndash16 in Procedure 2

43 An Example of DFDPrsquos Execution In the example ofFigure 1 after finding the first 119904 sim 119905 path 119875

1as shown in

Figure 1(a) the nodes execute DFDP as followsProcedure 1 starts with 119904 broadcasting a FIND-AP mes-

sage which is received by 119886 and 119889 119886 will discard the messageaccording to Case 2

Receiving the FIND-AP message from 119904 according toCase 1 119889 sets UN 119901ℎ119888119903(119889) = 119904 and then broadcasts a FIND-AP message which is received by 119886 and 119890 Although themessage will be also received by 119904 119904 will discard the message

Receiving the FIND-AP message from 119889 according toCase 3 119886 sets FHR 119901ℎ119888119903(119886) = 119889 and then sends a FIND-APmessage to 119904 (119904 will discard the message)

Receiving the FIND-AP message from 119889 according toCase 1 119890 sets UN 119901ℎ119888119903(119890) = 119889 and then broadcasts a FIND-AP message which is received by 119889 and 119888 Since UN 119901ℎ119888119903(119889)

is set yet 119889 discards the FIND-AP message from 119890Receiving the FIND-AP message from 119890 according to

Case 3 119888 sets FHR 119901ℎ119888119903(119888) = 119890 and then sends a FIND-APmessage to 119887

Receiving the FIND-AP message from 119888 according toCase 4 119887 sets OHR 119901ℎ119888119903(119887) = 119888 and then broadcasts a FIND-AP message which is received by 119886

Receiving the FIND-AP message from 119887 according toCase 4 119886 sets OHR 119901ℎ119888119903(119886) = 119887 and then broadcasts a FIND-AP message which is received by 119904 and 119891 (119904 will discard themessage)

In this way 119891 sets UN 119901ℎ119888119903(119891) = 119886 and 119892 setsUN 119901ℎ119888119903(119892) = 119891 Receiving FIND-APmessage from 119892 119905 setsFHR 119901ℎ119888119903(119905) = 119892Therefore augmenting path119875

119886= (119904 119889 119890 119888

119887 119886 119891 119892 119905) is found as shown by bold lines in Figure 1(c)Procedure 2 starts with 119905 sending a TRACE-AP message

to FHR 119901ℎ119888119903(119905) = 119892Receiving the TRACE-AP message from 119905 according to

Case 5 119892 marks itself as an occupied node sets 119901119903119890V(119892) =UN 119901ℎ119888119903(119892) = 119891 and 119899119890119909119905(119892) = 119905 and then sends a TRACE-AP message to 119891

Receiving the TRACE-AP message from 119892 accord-ing to Case 5 119891 marks itself as an occupied node sets119901119903119890V(119891) =UN 119901ℎ119888119903(119891) = 119886 and 119899119890119909119905(119891) = 119892 and then sendsa TRACE-AP message to 119886

Receiving the TRACE-AP message from 119891 according toCase 6 119886 still marks itself as an occupied node sets 119899119890119909119905(119886) =

International Journal of Distributed Sensor Networks 7

119891 (119901119903119890V(119886) is still 119904) and then sends a TRACE-APmessage toOHR 119901ℎ119888119903(119886) = 119887

Receiving the TRACE-AP message from 119886 according toCase 7 119887marks itself as an unoccupied node and then sendsa TRACE-AP message to OHR 119901ℎ119888119903(119887) = 119888

Receiving the TRACE-AP message from 119887 according toCase 8 119888 still marks itself as an occupied node sets 119901119903119890V(119888) =FHR 119901ℎ119888119903(119888) = 119890 (119899119890119909119905(119888) is still 119905) and then sends a TRACE-AP message to 119890

In this way 119890 marks itself as an occupied node and sets119901119903119890V(119890) = 119889 and 119899119890119909119905(119890) = 119888 119889 marks itself as an occupiednode and sets 119901119903119890V(119889) = 119904 and 119899119890119909119905(119889) = 119890 Now we add 119875

119886

to 1198751and generate two disjoint 119904 sim 119905 paths 1198751015840

1and 11987510158402as shown

in bold lines in Figure 1(d)

44 Correctness and Complexity By the description ofSections 41 and 42 after finding 119899 disjoint 119904 sim 119905 paths1198751 119875

119899 Procedure 1 will find an augmenting path if there

exists one and Procedure 2 is a correct way to add theaugmenting path to 119875

1 119875

119899 By Lemma 1 we can get the

following theorem

Theorem 2 DFDP will output min119896 119896lowast disjoint 119904 sim 119905 pathswhere 119896lowast is the maximum number of disjoint 119904 sim 119905 paths in thegiven network

Suppose that there are 119873 nodes in the given networkIn Procedure 1 each unoccupied node sends at most oneFIND-AP message and each occupied node sends at mosttwo FIND-AP messages In Procedure 2 each node in 119875

119886

sends one TRACE-AP message and the other nodes do notsend any messages Both FIND-AP message and TRACE-AP message have constant length (empty data field) so thecommunication complexity ofDFDP is119874(119873sdotmin119896 119896lowast)Thetime complexity of DFDP is 119874(119873 sdotmin119896 119896lowast) too

45 Dealing with Topology Changes Let us consider threetypes of topology changes

Type 1 During the processing of DFDP the nodes or linksin some found path fail This type of topology changes willcause 119904 not to receive the expected number of TRACE-APmessages (one plus the number of disjoint paths found inthe last iteration) in the current iteration Therefore we canset a timer for the execution of each iteration The timeris triggered by 119904 at the beginning of each iteration If thetimer expires and 119904 has not received the expected numberof TRACE-AP messages 119904 knows that there is node or linkfailure in the path from which it has not received TRACE-AP message Let the failed path be 1198751015840

119894 Before going into the

next iteration DFDP frees the nodes in 1198751015840119894by tracing them

from both 119904 and 119905 With the topology changes DFDP stillguarantees correctness The extra cost for DFDP to deal withthis type of topology changes is tracing the failed path (whichcan be neglected compared to the total cost of the algorithm)and onemore iteration of the algorithm (which is inevitable)

Type 2 During the processing of DFDP the topology beyondthe found paths changes Since each node participates

in DFDP by communicating with its neighbors and theexchange of messages does not rely on any predefinedstructures DFDP can handle this type of topology changeswhile guaranteeing correctness without any modification

Type 3 After the execution of DFDP (min119896 119896lowast paths havebeen used for routing) the nodes or links in some found pathfail After detecting the path failure we can free the nodes inthe failed path and execute one more iteration of DFDP tofind one more disjoint path The extra cost for DFDP to dealwith this type of topology changes is also tracing the failedpath and one more iteration of the algorithm

On the contrary to handle all the three types of topologychanges and guarantee correctness centralized algorithmshave to collect the whole networkrsquos topology once againwhich is a very expensive operation for WSN

5 Simulation Results

We use a simulator written in C++ to evaluate the proposedalgorithm The simulator is a high level simulator whichneglects the MAC layer The effective transmitting radiusof each sensor node is set to 50m Each packet has a 6-byte header containing the information of destinationrsquos ID(2 bytes) senderrsquos ID (2 bytes) packet type (1 byte) andpacket length (1 byte) The data field of each packet containsup to 50 bytes

To simulate energy consumption we set the parametersof sensor nodes according to TelosB motes [28] The supplyvoltage is 30V When MCU is on and radio is on TX or RXmode the nodersquos current is 22mA The transmit bit rate is250 kbps Therefore the energy consumption for the senderto send 1-bit data (or for the receiver to receive 1-bit data)successfully is 264 times 10minus7 J For the TelosB sensor node theenergy consumption to transmit one-bit data can be used forMCU to execute more than 400 instructions so we neglectthe energy consumption for computing

We compare our algorithm DFDP with the centralizedalgorithm in [6] (denoted by CA) the pseudodistributedalgorithm in [19] (denoted by EA) and the distributedalgorithm in [5] (denoted by DA) CA collects the topologyinformation of the whole network (each nodersquos neighbor list)to the sink and finds disjoint paths at the sink CA canfind 119896 disjoint 119904 sim 119905 paths with the minimum total lengthCA is a good representation of the centralized algorithmsin [2 6ndash10] All these centralized algorithms have to collectthe topology information of the whole network so they havethe same communication cost On the other hand all ofthem guarantee correctness so they find the same numberof disjoint paths DA finds paths iteratively In each iterationDA finds a 119904 sim 119905 path and removes the internal nodes of thepath from the network As we know DA is the most efficientalgorithm for finding disjoint paths with no other constraintsNote that DA cannot guarantee correctness that is DA mayonly find 119899 lt 119896 paths when there do exist 119896 disjoint 119904 sim 119905paths in the given network

At first let us compare the efficiency of four algorithmsin theory Suppose that there are119873 nodes and119872 edges in the

8 International Journal of Distributed Sensor Networks

network Let 119889 be the diameter of the network The energyconsumption of the algorithms is mainly determined by datacommunication We already know that the communicationcomplexity of DFDP is 119874(119873 sdot min119896 119896lowast) CA collects thetopology information of the whole network Each node is119874(119889) hops away from the sink on average so the informationof each edge is transmitted 119874(119889) hops to the sink on averageand the communication complexity of CA is 119874(119889119872) EA hasbad upper bound on communication complexity In theworstcase EA has to collect the topology information of the wholenetwork in each iteration so its communication complexityis 119874(119889119872 sdot min119896 119896lowast) DA is the simplest algorithm to finddisjoint path although it cannot guarantee correctness Ineach iteration each node sends one message with constantlength to find a new path from 119904 to 119905 so the communicationcomplexity of DA is119874(119873sdotmin119896 119896lowast)We know that 119896 ≪ 119889 inmost applications In the aspect of communication complex-ityDFDPandDAaremuchbetter thanCAandEAAlthoughwith the same communication complexity compared withDA DFDP can guarantee correctness whereas DA cannot

We evaluate the performances of the algorithms at fouraspects (1) path number (2) average path length (3) energy-efficiency and (4) load balance ldquoPath numberrdquo is the numberof disjoint 119904 sim 119905 paths found by the algorithms ldquoAveragepath lengthrdquo represents the quality of the disjoint paths Weuse ldquoaverage energypath numberrdquo to measure algorithmsrsquoenergy-efficiency where ldquoaverage energyrdquo is the averageenergy consumption of each node in the network Loadbalance is measured by ldquomax energypath numberrdquo whereldquomax energyrdquo is the maximum energy consumption of anynode in the network

There are two groups of simulations In Group 1 2500sensor nodes are randomly deployed in a 1500m times 1500marea In Group 2 2500 sensor nodes are deployed as a 50times 50grid and each node dies or sleeps with 25 probability Asa result 1859 nodes are left as alive nodes in the grid Thecomparison of the algorithms is conducted for different 119896that is the number of the paths the users want to find Toget each result we performed 10 simulations with different(119904 119905) pairs and took their average value The (119904 119905) pairs aregenerated randomly

The comparison results for Group 1 are given in Figure 3The path number of the four algorithms is given inFigure 3(a) With the growth of 119896 all the four algorithms findmore disjoint paths until they reach their ldquolimitsrdquo DA findsno more disjoint paths when 119896 ge 7 CA EA and DFDP findno more disjoint paths when 119896 ge 10 Since CA EA andDFDP all guarantee correctness they always find the samenumber of disjoint pathsWhen 119896 le 3 all the four algorithmscan find 119896 disjoint pathsWhen 119896 ge 4 comparedwithDA theother three algorithms find more disjoint paths CA EA andDFDP can find the maximum number of the disjoint pathsin the network whereas DA cannot For 119896 = 10 comparedwith DA the other three algorithms find 203more disjointpaths

Next we want to compare the average path length ofthe four algorithms For different (119904 119905) pairs the differenceof pathsrsquo average lengths may be very large To comparefairly for each (119904 119905) pair we set the value of CA to 1 and

Table 1 The simulation details for Group 1 when 119896 = 10

Performance AlgorithmsCA EA DFDP DA

Path number 71 71 71 59Average path length 1 103 103 099Average Comm Bytes 845 1023 353 291Max Comm Bytes 58495 1616 814 683Average energy (times10minus7 J) 17842 21605 7462 6136Max energy (times10minus7 J) 1235407 34123 17196 14431

Table 2 The simulation details for Group 2 when 119896 = 4

Performance AlgorithmsCA EA DFDP DA

Path number 34 34 34 23Average path length 1 104 102 084Average Comm Bytes 348 170 56 40Max Comm Bytes 14792 568 249 172Average energy (times10minus7 J) 7351 3590 1183 844Max energy (times10minus7 J) 312416 11995 5263 3629

normalize the values of the other three algorithms Theaverage path length of the four algorithms forGroup 1 is givenin Figure 3(b) The centralized algorithm (CA) always findsdisjoint paths with the minimum total length EA and DFDPalmost have the same performance as CA in this aspect In allcases the average path length of DFDP is at most 3 higherthan the one of CA When 119896 = 10 the average path length ofDA is even less than the one of CA This is because DA findsless disjoint paths and all the algorithms have the trends tofind shorter path first

The energy-efficiency of the four algorithms for Group1 is given in Figure 3(c) No matter what value 119896 is CAcollects the topology information of the whole network sothe energy cost of CA does not change with 119896 With CAfindingmore disjoint paths it ismore energy-efficient until itfinds the maximum number of disjoint paths EA finds pathsiteratively and collects an abstract of the network topologyin each iteration With finding more disjoint paths EA needsto collect more and more complicated topology informationand becomes less and less energy-efficient When 119896 gt 7 EAis even worse than CA in this aspect DFDP and DA also findpaths iteratively and their energy cost for each iteration issteady DFDP and DA almost have the same performance inthis aspect and both of them are much more energy-efficientthan CA and EA

The load balance of the four algorithms for Group 1is given in Figure 3(d) Note that the value of the 119910-axisincreases logarithmically Since CA collects the topologyinformation of the whole network the nodes near the sinkneed to send and receive a large amount of data so CA is twoorders of magnitude worse than the other three algorithms inthis aspect Although EA is much better than CA it is still

International Journal of Distributed Sensor Networks 9

7

6

5

4

3

2

1

0

1 2 3 4 5 6 7 8 9 10

k

Path

num

ber

CAEA

DFDPDA

(a) Path number

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

16000

14000

12000

10000

8000

6000

4000

2000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

1000000

100000

10000

times10minus7 J

(d) Load balance

Figure 3 Simulation results for Group 1 (2500 nodes are randomly deployed in a 1500m times 1500m area)

a ldquocollectingrdquo algorithm so it is not as good as DFDP andDA in terms of load balance By finding more disjoint pathssometimes DFDP even gains a better load balance comparedwith the simplest distributed algorithm (DA)

The specific simulation results for Group 1 when 119896 = 10are shown in Table 1 ldquoAverage Comm Bytesrdquo is the averagenumber of bytes sent and received by each node in thenetwork ldquoMax Comm Bytesrdquo is the maximum number ofbytes sent and received by any node in the network

The comparison results for Group 2 are given in Figure 4The path number of the four algorithms is given inFigure 4(a) With the growth of 119896 all the four algorithms

find more disjoint paths DA reaches its ldquolimitrdquo when 119896 = 3whereas CA EA and DFDP reach their ldquolimitsrdquo when 119896 =4 Since CA EA and DFDP all guarantee correctness theyalways find the same number of disjoint paths When 119896 = 4compared with DA the other three algorithms find 478more disjoint paths

The average path length of the four algorithms for Group2 is given in Figure 4(b) The centralized algorithm (CA)always finds disjoint paths with the minimum total lengthNote that CA EA and DFDP find the same number ofdisjoint paths No matter what the value of 119896 is the averagepath length of DFDP is at most 2higher than the one of CA

10 International Journal of Distributed Sensor Networks

1 2 3 4

k

CAEA

DFDPDA

35

30

25

20

15

10

05

00

Path

num

ber

(a) Path number

1 2 3 4

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4

k

CAEA

DFDPDA

7000

6000

5000

4000

3000

2000

1000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

100000

10000

1000

times10minus7 J

(d) Load balance

Figure 4 Simulation results for Group 2 (1859 nodes are randomly deployed in a 50 times 50 grid)

The ldquoaverage energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(c) In the aspect of energy-efficiency DFDP and DA are much better than CA and EADFDP and DA almost have the same energy-efficiency butDFDP finds more disjoint paths

The ldquomax energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(d) In the aspect of loadbalance CA is two orders of magnitude worse than theother three algorithms DA and DFDP almost have the sameperformances and both of them are significantly better thanEAThe specific simulation for Group 2 when 119896 = 4 is shownin Table 2

Let us summarize the simulation results for Group 1 andGroup 2 Compared with DA DFDP finds significantly moredisjoint paths In the aspect of energy-efficiency and load

balance DFDP is almost the same as DA CA EA and DFDPfind the same number of disjoint paths with almost the samelength However in the aspect of energy-efficiency and loadbalance DFDP is much better than CA and EA

6 Conclusion

This paper proposes an efficient distributed algorithm DFDPto find 119896 disjoint paths connecting two given nodes 119904 and119905 in a WSN Unlike the existing distributed algorithms forthis problemDFDPguarantees correctness Compared to theexisting centralized algorithms which also guarantee correct-ness DFDP ismuchmore efficient Compared to the state-of-the-art distributed algorithms for the same problem DFDP

International Journal of Distributed Sensor Networks 11

has the same energy-efficiency and load balance with theimportant advantage that DFDP guarantees a correct answerwhereas the compared algorithms do not In conclusionDFDP is correct and efficient to find disjoint paths betweentwo nodes in a WSN

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

Thiswork is supported by theNational Natural Science Foun-dation of China (Grant no 61300207 Grant no 61272186 andGrant no 61370084) and Fundamental Research Funds forthe Central Universities (Grant no HEUCF100610)

References

[1] D Ganesan R Govindan S Shenker and D Estrin ldquoHighly-resilient energy-efficient multipath routing in wireless sensornetworksrdquo in Proceedings of the 2nd ACM International Sympo-sium on Mobile Ad Hoc Networking and Computing (MobiHoc01) pp 251ndash254 Long Beach Calif USA October 2001

[2] A Srinivas and E Modiano ldquoMinimum energy disjoint pathrouting in wireless ad-hoc networksrdquo in Proceedings of the9th Annual International Conference on Mobile Computing andNetworking (MobiCom rsquo03) pp 122ndash133 September 2003

[3] S Li and Z Wu ldquoNode-disjoint parallel multi-path routing inwireless sensor networksrdquo in Proceedings of the 2nd Interna-tional Conference on Embedded Software and Systems (ICESSrsquo05) pp 432ndash437 December 2005

[4] J W Baek Y J Nam and D-W Seo ldquoAn energy-efficientk-disjoint-path routing algorithm for reliable wireless sensornetworksrdquo in Proceedings of the 5th IFIP WG 102 InternationalConference on Software Technologies for Embedded and Ubiqui-tous Systems (SEUSrsquo07) 2007

[5] B Deb S Bhatnagar and B Nath ldquoReinform reliable informa-tion forwarding using multiple paths in sensor networksrdquo inProceedings of the 28th Annual IEEE International Conferenceon Local Computer Networks 2003

[6] R Bhandari ldquoOptimal physical diversity algorithms and sur-vivable networksrdquo in Proceedings of the 2nd IEEE Symposiumon Computers and Communications (ISCC 97) pp 433ndash441Alexandria Egypt July 1997

[7] S Khuller and B Schieber ldquoEfficient parallel algorithms fortesting connectivity and finding disjoint s-t paths in graphsrdquo inProceedings of the 30th Annual Symposium on Foundations ofComputer Science pp 288ndash293 November 1989

[8] K Iwama C Iwamoto and T Ohsawa ldquoA faster parallelalgorithm for 119896-connectivityrdquo Information Processing Lettersvol 61 no 5 pp 265ndash269 1997

[9] J W Suurballe ldquoDisjoint paths in a networkrdquo Networks vol 4pp 125ndash145 1974

[10] Y Chen X Guo and Q Zeng ldquoAmr a multipath routingalgorithm based on maximum flow in Ad-Hoc networksrdquo ActaElectronica Sinica vol 32 no 8 pp 1297ndash1301 2004

[11] X Fang S Shi and J Li ldquoA disjoint multi-path routing algo-rithm in wireless sensor networkrdquo Journal Computer Researchand Development vol 46 no 12 pp 2053ndash2061 2009

[12] S Omar M Zoulikha and B Cousin ldquoEnergy efficiency inad hoc wireless networks with node-disjoint path routingrdquo inProceedings of the 7th InternationalWorkshop on Systems SignalProcessing and their Applications (WoSSPA rsquo11) pp 127ndash130May2011

[13] K Ishida Y Kakuda and T Kikuno ldquoA routing protocol forfinding two node-disjoint paths in computer networksrdquo inProceedings of the International Conference onNetwork Protocols(ICNP 95) pp 340ndash347 Tokyo Japan November 1995

[14] R Ogier and N Shacham ldquoA distributed algorithm for findingshortest pairs of disjoint pathsrdquo in Proceedings of the 8th AnnualJoint Conference of the IEEE Computer and CommunicationsSocieties Technology Emerging or Converging (INFOCOM 89)vol 2 pp 173ndash182 Ottawa Canada April 1989

[15] Y O Lee and A L N Reddy ldquoDisjoint multi-path routingand failure recoveryrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 10) pp 1ndash6 IEEE CapeTown South Africa May 2010

[16] M Mansouri H Snoussi and C Richard ldquoOptimal pathselection for quantized target tracking in distributed sensornetworksrdquo in Proceeding of the 7th International Wireless Com-munications and Mobile Computing Conference (IWCMC rsquo11)2011

[17] D Sidhu R Nair and S Abdallah ldquoFinding disjoint paths innetworksrdquo in Proceedings of the Conference on CommunicationsArchitecture Protocols (SIGCOMM rsquo91) 1991

[18] A Kumar and S Varma ldquoGeographic node-disjoint pathrouting for wireless sensor networksrdquo IEEE Sensors Journal vol10 no 6 pp 1138ndash1139 2010

[19] K Zhang and H Gao ldquoEfficient distributed algorithm forcorrectly finding disjoint paths in wireless sensor networksrdquoInternational Journal of Sensor Networks vol 13 no 3 pp 173ndash184 2013

[20] T Hashiguchi K Tajima Y Takita and T Naito ldquoNode-disjointpaths search in WDM networks with asymmetric nodesrdquo inProceedings of the 15th Conference on Optical Network DesignandModeling (ONDM 11) pp 1ndash6 Bologna Italy February 2011

[21] A Bley ldquoOn the complexity of vertex-disjoint length-restrictedpath problemsrdquo Computational Complexity vol 12 no 3-4 pp131ndash149 2003

[22] A Itai Y Perl and Y Shiloach ldquoThe complexity of findingmaximumdisjoint pathswith length constraintsrdquoNetworks vol12 no 3 pp 277ndash286 1982

[23] D Ronen and Y Perl ldquoHeuristics for finding a maximumnumber of disjoint bounded pathsrdquo Networks vol 14 no 4 pp531ndash544 1984

[24] T Gomes J Craveirinha and L Jorge ldquoAn effective algorithmfor obtaining the minimal cost pair of disjoint paths with dualarc costsrdquoComputers and Operations Research vol 36 no 5 pp1670ndash1682 2009

[25] J Rak ldquoK-penalty a novel approach to findmdashdisjoint pathswithdifferentiated path costsrdquo IEEE Communications Letters vol 14no 4 pp 354ndash356 2010

[26] R Leepila E Oki andN Kishi ldquoScheme to find k disjoint pathsinmulti-cost networksrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 11) pp 1ndash5 Kyoto JapanJune 2011

[27] H Chen B Liu X Lei F Ren and K Sezaki ldquoInternodedistance-based redundancy reliable transport in underwatersensor networksrdquo Eurasip Journal on Wireless Communicationsand Networking vol 2010 Article ID 358071 2010

[28] httpwww2eceohio-stateedusimbibykee582telosMotepdf

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mechanical Engineering

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Antennas andPropagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Page 5: Finding Disjoint Paths in Wireless Sensor Networks

International Journal of Distributed Sensor Networks 5

Input 119899 disjoint 119904 sim 119905 paths 1198751 119875

119899

Output an augmenting path 119875119886

lowast Each node V = 119904 executes the following pseudo-codes while

receiving a FIND-AP message (Let the sender be 119906) Start

with 119904 broadcasting a FIND-AP message lowast

(1) case V is an unoccupied node(2) if UN 119901ℎ119888119903(V) = NULL then(3) UN 119901ℎ119888119903(V) larr 119906(4) Broadcast a FIND-AP message(5) case V is an occupied node and 119906 is not 119901119903119890V(V) or 119899119890119909119905(V)(6) if FHR 119901ℎ119888119903(V) = NULL then(7) FHR 119901ℎ119888119903(V) larr 119906(8) if V = 119905 then(9) Start Procedure 2(10) else(11) Send a FIND-AP message to 119901119903119890V(V)(12) case V is an occupied node and 119906 = 119899119890119909119905(V)(13) if OHR 119901ℎ119888119903(V) = NULL then(14) OHR 119901ℎ119888119903(V) larr 119906(15) Broadcast a FIND-AP message

Procedure 1 Finding augmenting path

Input 119899 disjoint 119904 sim 119905 paths 1198751 119875

119899 an augmenting path 119875

119886

Output 119899 + 1 disjoint 119904 sim 119905 paths 11987510158401 119875

1015840

119899+1

lowast Each node V = 119905 executes the following pseudo-codes while

receiving a TRACE-AP message (Let the sender be 119906) Starts

with 119905 sending a TRACE-AP message to FHR 119901ℎ119888119903(119905) lowast

(1) case V is an unoccupied node(2) Mark itself as an occupied node(3) 119901119903119890V(V) larr UN 119901ℎ119888119903(V)(4) 119899119890119909119905(V) larr 119906(5) Send a TRACE-AP message to UN 119901ℎ119888119903(V)(6) case V is an occupied node and 119906 = 119901119903119890V(V)(7) Still mark itself as an occupied node(8) 119899119890119909119905(V) larr 119906(9) Send a TRACE-AP message to OHR 119901ℎ119888119903(V)(10) case V is an occupied node and 119906 = 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL(11) Mark itself as an unoccupied node(12) Send a TRACE-AP message to OHR 119901ℎ119888119903(V)(13) case V is an occupied node and 119906 = 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL(14) Still mark itself as an occupied node(15) 119901119903119890V(V) larr FHR 119901ℎ119888119903(V)(16) Send a TRACE-AP message to FHR 119901ℎ119888119903(V)

Procedure 2 Tracing augmenting path

Case 3 Occupied node V receives a FIND-AP message from119906 and 119906 is not 119901119903119890V(V) or 119899119890119909119905(V) It means that we find a CR-path 119876 from 119904 to V and 119906 is Vrsquos previous hop in 119876 Since 119906is not 119901119903119890V(V) or 119899119890119909119905(V) V is a FHR in 119876 To further extend119876 as a CR-path Vrsquos next hop in this path must be 119901119903119890V(V) Inthis case if FHR 119901ℎ119888119903(V) is not set yet we set FHR 119901ℎ119888119903(V)

to 119906 and let 119906 send a FIND-APmessage to 119901119903119890V(V) (lines 6ndash11in Procedure 1)

Case 4 Occupied node V receives a FIND-APmessage from119906and 119906 is 119899119890119909119905(V) It means that we find a CR-path119876 from 119904 to Vand 119906 is Vrsquos previous hop in119876 Since 119906 = 119899119890119909119905(V) V is an OHR

6 International Journal of Distributed Sensor Networks

in 119876 To further extend 119876 as a CR-path Vrsquos next hop in thispath could be any neighbor of V except 119899119890119909119905(V) In this Caseif OHR 119901ℎ119888119903(V) is not set yet we set OHR 119901ℎ119888119903(V) to 119906 andlet 119906 broadcast a FIND-APmessage (lines 13ndash15 in Procedure1) Although this message will be redundantly received by119899119890119909119905(V) 119899119890119909119905(V)will discard thismessage according toCase 2

We assume that at the beginning of each iterationUN 119901ℎ119888119903(V) = NULL for each unoccupied node andFHR 119901ℎ119888119903(V) = OHR 119901ℎ119888119903(V) = NULL for each occupiednode For example UN 119901ℎ119888119903(V) =NULLmeans that V (as anUN) has not received a FIND-AP message yet in the currentiteration It can be implemented by the followingmechanismEach node V maintains a variable 119903119900119906119899119889(V) to denote thenumber of the current iteration At the beginning of each newiteration 119904 updates the iteration number by adding 1 to thenumber of the last iterationThis number is included by everyFIND-APmessage so that each node can update its 119903119900119906119899119889(V)When V receives a FIND-APmessagewhose iteration numberis larger than 119903119900119906119899119889(V) it sets UN 119901ℎ119888119903(V) = NULL if V is anunoccupied node or FHR 119901ℎ119888119903(V) = OHR 119901ℎ119888119903(V) = NULLif V is an occupied node

42 Tracing Augmenting Path At first let us describe the lasthop in a reverse segment of some found path In the exampleof Figure 1 after finding the augmenting path 119875

119886as shown in

Figure 1(c) we say 119886 is the last hop of the reverse segment(119888 119887 119886) By adding 119875

119886to the paths found before 119886 should

be an occupied node 119901119903119890V(119886) does not change and 119899119890119909119905(119886)changes to its next hop in 119875

119886 that is 119891 In a CR-path the last

hop of a reverse segment is certainly an OHRSuppose that we find an augmenting path119875

119886in Procedure

1 Procedure 2 adds119875119886to the paths foundbefore Starting from

119905 in sequence each node in 119875119886sends a TRACE-AP message

(with empty data field) to its previous hop in 119875119886 At first

119905 sends a TRACE-AP message to FHR 119901ℎ119888119903(119905) to start theprocedure Next we discuss the following four cases

Case 5 Unoccupied node V receives a TRACE-AP message(let the sender be 119906)Then V is an UN in119875

119886and its next hop in

119875119886is 119906 Its previous hop in 119875

119886should be UN 119901ℎ119888119903(V) To add

119875119886to the paths found before V becomes an occupied node

119901119903119890V(V) should be UN 119901ℎ119888119903(V) and 119899119890119909119905(V) should be 119906 Inthis case we let V execute lines 2ndash5 in Procedure 2

Case 6 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is not 119901119903119890V(V)Then Vrsquos next hop in119875

119886is 119906 Since

119906 is not 119901119903119890V(V) V is the last hop in a reverse segment of somefound path Of course V is an OHR in 119875

119886 Vrsquos previous hop in

119875119886should be OHR 119901ℎ119888119903(V) By adding 119875

119886to the paths found

before V is still an occupied node 119901119903119890V(V) does not changeand 119899119890119909119905(V) changes to 119906 In this case we let V execute lines7ndash9 in Procedure 2

Case 7 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL ThenVrsquos next hop in 119875

119886is 119906 Since 119906 is 119901119903119890V(V) V is not the

last hop in a reverse segment Since FHR 119901ℎ119888119903(V) is NULLV is an OHR in 119875

119886and its previous hop in 119875

119886should be

OHR 119901ℎ119888119903(V) By adding 119875119886to the paths found before V

becomes an unoccupied node In this case we let V executelines 11-12 in Procedure 2

Case 8 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL ThenVrsquos next hop in 119875

119886is 119906 Since 119906 is 119901119903119890V(V) V is not the last

hop in a reverse segment Since FHR 119901ℎ119888119903(V) is not NULLV is a FHR in 119875

119886and its previous hop in 119875

119886should be

FHR 119901ℎ119888119903(V) By adding 119875119886to the paths found before V is

still an occupied node 119901119903119890V(V) changes to FHR 119901ℎ119888119903(V) and119899119890119909119905(V) does not change In this case we let V execute lines14ndash16 in Procedure 2

43 An Example of DFDPrsquos Execution In the example ofFigure 1 after finding the first 119904 sim 119905 path 119875

1as shown in

Figure 1(a) the nodes execute DFDP as followsProcedure 1 starts with 119904 broadcasting a FIND-AP mes-

sage which is received by 119886 and 119889 119886 will discard the messageaccording to Case 2

Receiving the FIND-AP message from 119904 according toCase 1 119889 sets UN 119901ℎ119888119903(119889) = 119904 and then broadcasts a FIND-AP message which is received by 119886 and 119890 Although themessage will be also received by 119904 119904 will discard the message

Receiving the FIND-AP message from 119889 according toCase 3 119886 sets FHR 119901ℎ119888119903(119886) = 119889 and then sends a FIND-APmessage to 119904 (119904 will discard the message)

Receiving the FIND-AP message from 119889 according toCase 1 119890 sets UN 119901ℎ119888119903(119890) = 119889 and then broadcasts a FIND-AP message which is received by 119889 and 119888 Since UN 119901ℎ119888119903(119889)

is set yet 119889 discards the FIND-AP message from 119890Receiving the FIND-AP message from 119890 according to

Case 3 119888 sets FHR 119901ℎ119888119903(119888) = 119890 and then sends a FIND-APmessage to 119887

Receiving the FIND-AP message from 119888 according toCase 4 119887 sets OHR 119901ℎ119888119903(119887) = 119888 and then broadcasts a FIND-AP message which is received by 119886

Receiving the FIND-AP message from 119887 according toCase 4 119886 sets OHR 119901ℎ119888119903(119886) = 119887 and then broadcasts a FIND-AP message which is received by 119904 and 119891 (119904 will discard themessage)

In this way 119891 sets UN 119901ℎ119888119903(119891) = 119886 and 119892 setsUN 119901ℎ119888119903(119892) = 119891 Receiving FIND-APmessage from 119892 119905 setsFHR 119901ℎ119888119903(119905) = 119892Therefore augmenting path119875

119886= (119904 119889 119890 119888

119887 119886 119891 119892 119905) is found as shown by bold lines in Figure 1(c)Procedure 2 starts with 119905 sending a TRACE-AP message

to FHR 119901ℎ119888119903(119905) = 119892Receiving the TRACE-AP message from 119905 according to

Case 5 119892 marks itself as an occupied node sets 119901119903119890V(119892) =UN 119901ℎ119888119903(119892) = 119891 and 119899119890119909119905(119892) = 119905 and then sends a TRACE-AP message to 119891

Receiving the TRACE-AP message from 119892 accord-ing to Case 5 119891 marks itself as an occupied node sets119901119903119890V(119891) =UN 119901ℎ119888119903(119891) = 119886 and 119899119890119909119905(119891) = 119892 and then sendsa TRACE-AP message to 119886

Receiving the TRACE-AP message from 119891 according toCase 6 119886 still marks itself as an occupied node sets 119899119890119909119905(119886) =

International Journal of Distributed Sensor Networks 7

119891 (119901119903119890V(119886) is still 119904) and then sends a TRACE-APmessage toOHR 119901ℎ119888119903(119886) = 119887

Receiving the TRACE-AP message from 119886 according toCase 7 119887marks itself as an unoccupied node and then sendsa TRACE-AP message to OHR 119901ℎ119888119903(119887) = 119888

Receiving the TRACE-AP message from 119887 according toCase 8 119888 still marks itself as an occupied node sets 119901119903119890V(119888) =FHR 119901ℎ119888119903(119888) = 119890 (119899119890119909119905(119888) is still 119905) and then sends a TRACE-AP message to 119890

In this way 119890 marks itself as an occupied node and sets119901119903119890V(119890) = 119889 and 119899119890119909119905(119890) = 119888 119889 marks itself as an occupiednode and sets 119901119903119890V(119889) = 119904 and 119899119890119909119905(119889) = 119890 Now we add 119875

119886

to 1198751and generate two disjoint 119904 sim 119905 paths 1198751015840

1and 11987510158402as shown

in bold lines in Figure 1(d)

44 Correctness and Complexity By the description ofSections 41 and 42 after finding 119899 disjoint 119904 sim 119905 paths1198751 119875

119899 Procedure 1 will find an augmenting path if there

exists one and Procedure 2 is a correct way to add theaugmenting path to 119875

1 119875

119899 By Lemma 1 we can get the

following theorem

Theorem 2 DFDP will output min119896 119896lowast disjoint 119904 sim 119905 pathswhere 119896lowast is the maximum number of disjoint 119904 sim 119905 paths in thegiven network

Suppose that there are 119873 nodes in the given networkIn Procedure 1 each unoccupied node sends at most oneFIND-AP message and each occupied node sends at mosttwo FIND-AP messages In Procedure 2 each node in 119875

119886

sends one TRACE-AP message and the other nodes do notsend any messages Both FIND-AP message and TRACE-AP message have constant length (empty data field) so thecommunication complexity ofDFDP is119874(119873sdotmin119896 119896lowast)Thetime complexity of DFDP is 119874(119873 sdotmin119896 119896lowast) too

45 Dealing with Topology Changes Let us consider threetypes of topology changes

Type 1 During the processing of DFDP the nodes or linksin some found path fail This type of topology changes willcause 119904 not to receive the expected number of TRACE-APmessages (one plus the number of disjoint paths found inthe last iteration) in the current iteration Therefore we canset a timer for the execution of each iteration The timeris triggered by 119904 at the beginning of each iteration If thetimer expires and 119904 has not received the expected numberof TRACE-AP messages 119904 knows that there is node or linkfailure in the path from which it has not received TRACE-AP message Let the failed path be 1198751015840

119894 Before going into the

next iteration DFDP frees the nodes in 1198751015840119894by tracing them

from both 119904 and 119905 With the topology changes DFDP stillguarantees correctness The extra cost for DFDP to deal withthis type of topology changes is tracing the failed path (whichcan be neglected compared to the total cost of the algorithm)and onemore iteration of the algorithm (which is inevitable)

Type 2 During the processing of DFDP the topology beyondthe found paths changes Since each node participates

in DFDP by communicating with its neighbors and theexchange of messages does not rely on any predefinedstructures DFDP can handle this type of topology changeswhile guaranteeing correctness without any modification

Type 3 After the execution of DFDP (min119896 119896lowast paths havebeen used for routing) the nodes or links in some found pathfail After detecting the path failure we can free the nodes inthe failed path and execute one more iteration of DFDP tofind one more disjoint path The extra cost for DFDP to dealwith this type of topology changes is also tracing the failedpath and one more iteration of the algorithm

On the contrary to handle all the three types of topologychanges and guarantee correctness centralized algorithmshave to collect the whole networkrsquos topology once againwhich is a very expensive operation for WSN

5 Simulation Results

We use a simulator written in C++ to evaluate the proposedalgorithm The simulator is a high level simulator whichneglects the MAC layer The effective transmitting radiusof each sensor node is set to 50m Each packet has a 6-byte header containing the information of destinationrsquos ID(2 bytes) senderrsquos ID (2 bytes) packet type (1 byte) andpacket length (1 byte) The data field of each packet containsup to 50 bytes

To simulate energy consumption we set the parametersof sensor nodes according to TelosB motes [28] The supplyvoltage is 30V When MCU is on and radio is on TX or RXmode the nodersquos current is 22mA The transmit bit rate is250 kbps Therefore the energy consumption for the senderto send 1-bit data (or for the receiver to receive 1-bit data)successfully is 264 times 10minus7 J For the TelosB sensor node theenergy consumption to transmit one-bit data can be used forMCU to execute more than 400 instructions so we neglectthe energy consumption for computing

We compare our algorithm DFDP with the centralizedalgorithm in [6] (denoted by CA) the pseudodistributedalgorithm in [19] (denoted by EA) and the distributedalgorithm in [5] (denoted by DA) CA collects the topologyinformation of the whole network (each nodersquos neighbor list)to the sink and finds disjoint paths at the sink CA canfind 119896 disjoint 119904 sim 119905 paths with the minimum total lengthCA is a good representation of the centralized algorithmsin [2 6ndash10] All these centralized algorithms have to collectthe topology information of the whole network so they havethe same communication cost On the other hand all ofthem guarantee correctness so they find the same numberof disjoint paths DA finds paths iteratively In each iterationDA finds a 119904 sim 119905 path and removes the internal nodes of thepath from the network As we know DA is the most efficientalgorithm for finding disjoint paths with no other constraintsNote that DA cannot guarantee correctness that is DA mayonly find 119899 lt 119896 paths when there do exist 119896 disjoint 119904 sim 119905paths in the given network

At first let us compare the efficiency of four algorithmsin theory Suppose that there are119873 nodes and119872 edges in the

8 International Journal of Distributed Sensor Networks

network Let 119889 be the diameter of the network The energyconsumption of the algorithms is mainly determined by datacommunication We already know that the communicationcomplexity of DFDP is 119874(119873 sdot min119896 119896lowast) CA collects thetopology information of the whole network Each node is119874(119889) hops away from the sink on average so the informationof each edge is transmitted 119874(119889) hops to the sink on averageand the communication complexity of CA is 119874(119889119872) EA hasbad upper bound on communication complexity In theworstcase EA has to collect the topology information of the wholenetwork in each iteration so its communication complexityis 119874(119889119872 sdot min119896 119896lowast) DA is the simplest algorithm to finddisjoint path although it cannot guarantee correctness Ineach iteration each node sends one message with constantlength to find a new path from 119904 to 119905 so the communicationcomplexity of DA is119874(119873sdotmin119896 119896lowast)We know that 119896 ≪ 119889 inmost applications In the aspect of communication complex-ityDFDPandDAaremuchbetter thanCAandEAAlthoughwith the same communication complexity compared withDA DFDP can guarantee correctness whereas DA cannot

We evaluate the performances of the algorithms at fouraspects (1) path number (2) average path length (3) energy-efficiency and (4) load balance ldquoPath numberrdquo is the numberof disjoint 119904 sim 119905 paths found by the algorithms ldquoAveragepath lengthrdquo represents the quality of the disjoint paths Weuse ldquoaverage energypath numberrdquo to measure algorithmsrsquoenergy-efficiency where ldquoaverage energyrdquo is the averageenergy consumption of each node in the network Loadbalance is measured by ldquomax energypath numberrdquo whereldquomax energyrdquo is the maximum energy consumption of anynode in the network

There are two groups of simulations In Group 1 2500sensor nodes are randomly deployed in a 1500m times 1500marea In Group 2 2500 sensor nodes are deployed as a 50times 50grid and each node dies or sleeps with 25 probability Asa result 1859 nodes are left as alive nodes in the grid Thecomparison of the algorithms is conducted for different 119896that is the number of the paths the users want to find Toget each result we performed 10 simulations with different(119904 119905) pairs and took their average value The (119904 119905) pairs aregenerated randomly

The comparison results for Group 1 are given in Figure 3The path number of the four algorithms is given inFigure 3(a) With the growth of 119896 all the four algorithms findmore disjoint paths until they reach their ldquolimitsrdquo DA findsno more disjoint paths when 119896 ge 7 CA EA and DFDP findno more disjoint paths when 119896 ge 10 Since CA EA andDFDP all guarantee correctness they always find the samenumber of disjoint pathsWhen 119896 le 3 all the four algorithmscan find 119896 disjoint pathsWhen 119896 ge 4 comparedwithDA theother three algorithms find more disjoint paths CA EA andDFDP can find the maximum number of the disjoint pathsin the network whereas DA cannot For 119896 = 10 comparedwith DA the other three algorithms find 203more disjointpaths

Next we want to compare the average path length ofthe four algorithms For different (119904 119905) pairs the differenceof pathsrsquo average lengths may be very large To comparefairly for each (119904 119905) pair we set the value of CA to 1 and

Table 1 The simulation details for Group 1 when 119896 = 10

Performance AlgorithmsCA EA DFDP DA

Path number 71 71 71 59Average path length 1 103 103 099Average Comm Bytes 845 1023 353 291Max Comm Bytes 58495 1616 814 683Average energy (times10minus7 J) 17842 21605 7462 6136Max energy (times10minus7 J) 1235407 34123 17196 14431

Table 2 The simulation details for Group 2 when 119896 = 4

Performance AlgorithmsCA EA DFDP DA

Path number 34 34 34 23Average path length 1 104 102 084Average Comm Bytes 348 170 56 40Max Comm Bytes 14792 568 249 172Average energy (times10minus7 J) 7351 3590 1183 844Max energy (times10minus7 J) 312416 11995 5263 3629

normalize the values of the other three algorithms Theaverage path length of the four algorithms forGroup 1 is givenin Figure 3(b) The centralized algorithm (CA) always findsdisjoint paths with the minimum total length EA and DFDPalmost have the same performance as CA in this aspect In allcases the average path length of DFDP is at most 3 higherthan the one of CA When 119896 = 10 the average path length ofDA is even less than the one of CA This is because DA findsless disjoint paths and all the algorithms have the trends tofind shorter path first

The energy-efficiency of the four algorithms for Group1 is given in Figure 3(c) No matter what value 119896 is CAcollects the topology information of the whole network sothe energy cost of CA does not change with 119896 With CAfindingmore disjoint paths it ismore energy-efficient until itfinds the maximum number of disjoint paths EA finds pathsiteratively and collects an abstract of the network topologyin each iteration With finding more disjoint paths EA needsto collect more and more complicated topology informationand becomes less and less energy-efficient When 119896 gt 7 EAis even worse than CA in this aspect DFDP and DA also findpaths iteratively and their energy cost for each iteration issteady DFDP and DA almost have the same performance inthis aspect and both of them are much more energy-efficientthan CA and EA

The load balance of the four algorithms for Group 1is given in Figure 3(d) Note that the value of the 119910-axisincreases logarithmically Since CA collects the topologyinformation of the whole network the nodes near the sinkneed to send and receive a large amount of data so CA is twoorders of magnitude worse than the other three algorithms inthis aspect Although EA is much better than CA it is still

International Journal of Distributed Sensor Networks 9

7

6

5

4

3

2

1

0

1 2 3 4 5 6 7 8 9 10

k

Path

num

ber

CAEA

DFDPDA

(a) Path number

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

16000

14000

12000

10000

8000

6000

4000

2000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

1000000

100000

10000

times10minus7 J

(d) Load balance

Figure 3 Simulation results for Group 1 (2500 nodes are randomly deployed in a 1500m times 1500m area)

a ldquocollectingrdquo algorithm so it is not as good as DFDP andDA in terms of load balance By finding more disjoint pathssometimes DFDP even gains a better load balance comparedwith the simplest distributed algorithm (DA)

The specific simulation results for Group 1 when 119896 = 10are shown in Table 1 ldquoAverage Comm Bytesrdquo is the averagenumber of bytes sent and received by each node in thenetwork ldquoMax Comm Bytesrdquo is the maximum number ofbytes sent and received by any node in the network

The comparison results for Group 2 are given in Figure 4The path number of the four algorithms is given inFigure 4(a) With the growth of 119896 all the four algorithms

find more disjoint paths DA reaches its ldquolimitrdquo when 119896 = 3whereas CA EA and DFDP reach their ldquolimitsrdquo when 119896 =4 Since CA EA and DFDP all guarantee correctness theyalways find the same number of disjoint paths When 119896 = 4compared with DA the other three algorithms find 478more disjoint paths

The average path length of the four algorithms for Group2 is given in Figure 4(b) The centralized algorithm (CA)always finds disjoint paths with the minimum total lengthNote that CA EA and DFDP find the same number ofdisjoint paths No matter what the value of 119896 is the averagepath length of DFDP is at most 2higher than the one of CA

10 International Journal of Distributed Sensor Networks

1 2 3 4

k

CAEA

DFDPDA

35

30

25

20

15

10

05

00

Path

num

ber

(a) Path number

1 2 3 4

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4

k

CAEA

DFDPDA

7000

6000

5000

4000

3000

2000

1000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

100000

10000

1000

times10minus7 J

(d) Load balance

Figure 4 Simulation results for Group 2 (1859 nodes are randomly deployed in a 50 times 50 grid)

The ldquoaverage energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(c) In the aspect of energy-efficiency DFDP and DA are much better than CA and EADFDP and DA almost have the same energy-efficiency butDFDP finds more disjoint paths

The ldquomax energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(d) In the aspect of loadbalance CA is two orders of magnitude worse than theother three algorithms DA and DFDP almost have the sameperformances and both of them are significantly better thanEAThe specific simulation for Group 2 when 119896 = 4 is shownin Table 2

Let us summarize the simulation results for Group 1 andGroup 2 Compared with DA DFDP finds significantly moredisjoint paths In the aspect of energy-efficiency and load

balance DFDP is almost the same as DA CA EA and DFDPfind the same number of disjoint paths with almost the samelength However in the aspect of energy-efficiency and loadbalance DFDP is much better than CA and EA

6 Conclusion

This paper proposes an efficient distributed algorithm DFDPto find 119896 disjoint paths connecting two given nodes 119904 and119905 in a WSN Unlike the existing distributed algorithms forthis problemDFDPguarantees correctness Compared to theexisting centralized algorithms which also guarantee correct-ness DFDP ismuchmore efficient Compared to the state-of-the-art distributed algorithms for the same problem DFDP

International Journal of Distributed Sensor Networks 11

has the same energy-efficiency and load balance with theimportant advantage that DFDP guarantees a correct answerwhereas the compared algorithms do not In conclusionDFDP is correct and efficient to find disjoint paths betweentwo nodes in a WSN

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

Thiswork is supported by theNational Natural Science Foun-dation of China (Grant no 61300207 Grant no 61272186 andGrant no 61370084) and Fundamental Research Funds forthe Central Universities (Grant no HEUCF100610)

References

[1] D Ganesan R Govindan S Shenker and D Estrin ldquoHighly-resilient energy-efficient multipath routing in wireless sensornetworksrdquo in Proceedings of the 2nd ACM International Sympo-sium on Mobile Ad Hoc Networking and Computing (MobiHoc01) pp 251ndash254 Long Beach Calif USA October 2001

[2] A Srinivas and E Modiano ldquoMinimum energy disjoint pathrouting in wireless ad-hoc networksrdquo in Proceedings of the9th Annual International Conference on Mobile Computing andNetworking (MobiCom rsquo03) pp 122ndash133 September 2003

[3] S Li and Z Wu ldquoNode-disjoint parallel multi-path routing inwireless sensor networksrdquo in Proceedings of the 2nd Interna-tional Conference on Embedded Software and Systems (ICESSrsquo05) pp 432ndash437 December 2005

[4] J W Baek Y J Nam and D-W Seo ldquoAn energy-efficientk-disjoint-path routing algorithm for reliable wireless sensornetworksrdquo in Proceedings of the 5th IFIP WG 102 InternationalConference on Software Technologies for Embedded and Ubiqui-tous Systems (SEUSrsquo07) 2007

[5] B Deb S Bhatnagar and B Nath ldquoReinform reliable informa-tion forwarding using multiple paths in sensor networksrdquo inProceedings of the 28th Annual IEEE International Conferenceon Local Computer Networks 2003

[6] R Bhandari ldquoOptimal physical diversity algorithms and sur-vivable networksrdquo in Proceedings of the 2nd IEEE Symposiumon Computers and Communications (ISCC 97) pp 433ndash441Alexandria Egypt July 1997

[7] S Khuller and B Schieber ldquoEfficient parallel algorithms fortesting connectivity and finding disjoint s-t paths in graphsrdquo inProceedings of the 30th Annual Symposium on Foundations ofComputer Science pp 288ndash293 November 1989

[8] K Iwama C Iwamoto and T Ohsawa ldquoA faster parallelalgorithm for 119896-connectivityrdquo Information Processing Lettersvol 61 no 5 pp 265ndash269 1997

[9] J W Suurballe ldquoDisjoint paths in a networkrdquo Networks vol 4pp 125ndash145 1974

[10] Y Chen X Guo and Q Zeng ldquoAmr a multipath routingalgorithm based on maximum flow in Ad-Hoc networksrdquo ActaElectronica Sinica vol 32 no 8 pp 1297ndash1301 2004

[11] X Fang S Shi and J Li ldquoA disjoint multi-path routing algo-rithm in wireless sensor networkrdquo Journal Computer Researchand Development vol 46 no 12 pp 2053ndash2061 2009

[12] S Omar M Zoulikha and B Cousin ldquoEnergy efficiency inad hoc wireless networks with node-disjoint path routingrdquo inProceedings of the 7th InternationalWorkshop on Systems SignalProcessing and their Applications (WoSSPA rsquo11) pp 127ndash130May2011

[13] K Ishida Y Kakuda and T Kikuno ldquoA routing protocol forfinding two node-disjoint paths in computer networksrdquo inProceedings of the International Conference onNetwork Protocols(ICNP 95) pp 340ndash347 Tokyo Japan November 1995

[14] R Ogier and N Shacham ldquoA distributed algorithm for findingshortest pairs of disjoint pathsrdquo in Proceedings of the 8th AnnualJoint Conference of the IEEE Computer and CommunicationsSocieties Technology Emerging or Converging (INFOCOM 89)vol 2 pp 173ndash182 Ottawa Canada April 1989

[15] Y O Lee and A L N Reddy ldquoDisjoint multi-path routingand failure recoveryrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 10) pp 1ndash6 IEEE CapeTown South Africa May 2010

[16] M Mansouri H Snoussi and C Richard ldquoOptimal pathselection for quantized target tracking in distributed sensornetworksrdquo in Proceeding of the 7th International Wireless Com-munications and Mobile Computing Conference (IWCMC rsquo11)2011

[17] D Sidhu R Nair and S Abdallah ldquoFinding disjoint paths innetworksrdquo in Proceedings of the Conference on CommunicationsArchitecture Protocols (SIGCOMM rsquo91) 1991

[18] A Kumar and S Varma ldquoGeographic node-disjoint pathrouting for wireless sensor networksrdquo IEEE Sensors Journal vol10 no 6 pp 1138ndash1139 2010

[19] K Zhang and H Gao ldquoEfficient distributed algorithm forcorrectly finding disjoint paths in wireless sensor networksrdquoInternational Journal of Sensor Networks vol 13 no 3 pp 173ndash184 2013

[20] T Hashiguchi K Tajima Y Takita and T Naito ldquoNode-disjointpaths search in WDM networks with asymmetric nodesrdquo inProceedings of the 15th Conference on Optical Network DesignandModeling (ONDM 11) pp 1ndash6 Bologna Italy February 2011

[21] A Bley ldquoOn the complexity of vertex-disjoint length-restrictedpath problemsrdquo Computational Complexity vol 12 no 3-4 pp131ndash149 2003

[22] A Itai Y Perl and Y Shiloach ldquoThe complexity of findingmaximumdisjoint pathswith length constraintsrdquoNetworks vol12 no 3 pp 277ndash286 1982

[23] D Ronen and Y Perl ldquoHeuristics for finding a maximumnumber of disjoint bounded pathsrdquo Networks vol 14 no 4 pp531ndash544 1984

[24] T Gomes J Craveirinha and L Jorge ldquoAn effective algorithmfor obtaining the minimal cost pair of disjoint paths with dualarc costsrdquoComputers and Operations Research vol 36 no 5 pp1670ndash1682 2009

[25] J Rak ldquoK-penalty a novel approach to findmdashdisjoint pathswithdifferentiated path costsrdquo IEEE Communications Letters vol 14no 4 pp 354ndash356 2010

[26] R Leepila E Oki andN Kishi ldquoScheme to find k disjoint pathsinmulti-cost networksrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 11) pp 1ndash5 Kyoto JapanJune 2011

[27] H Chen B Liu X Lei F Ren and K Sezaki ldquoInternodedistance-based redundancy reliable transport in underwatersensor networksrdquo Eurasip Journal on Wireless Communicationsand Networking vol 2010 Article ID 358071 2010

[28] httpwww2eceohio-stateedusimbibykee582telosMotepdf

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mechanical Engineering

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Antennas andPropagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Page 6: Finding Disjoint Paths in Wireless Sensor Networks

6 International Journal of Distributed Sensor Networks

in 119876 To further extend 119876 as a CR-path Vrsquos next hop in thispath could be any neighbor of V except 119899119890119909119905(V) In this Caseif OHR 119901ℎ119888119903(V) is not set yet we set OHR 119901ℎ119888119903(V) to 119906 andlet 119906 broadcast a FIND-APmessage (lines 13ndash15 in Procedure1) Although this message will be redundantly received by119899119890119909119905(V) 119899119890119909119905(V)will discard thismessage according toCase 2

We assume that at the beginning of each iterationUN 119901ℎ119888119903(V) = NULL for each unoccupied node andFHR 119901ℎ119888119903(V) = OHR 119901ℎ119888119903(V) = NULL for each occupiednode For example UN 119901ℎ119888119903(V) =NULLmeans that V (as anUN) has not received a FIND-AP message yet in the currentiteration It can be implemented by the followingmechanismEach node V maintains a variable 119903119900119906119899119889(V) to denote thenumber of the current iteration At the beginning of each newiteration 119904 updates the iteration number by adding 1 to thenumber of the last iterationThis number is included by everyFIND-APmessage so that each node can update its 119903119900119906119899119889(V)When V receives a FIND-APmessagewhose iteration numberis larger than 119903119900119906119899119889(V) it sets UN 119901ℎ119888119903(V) = NULL if V is anunoccupied node or FHR 119901ℎ119888119903(V) = OHR 119901ℎ119888119903(V) = NULLif V is an occupied node

42 Tracing Augmenting Path At first let us describe the lasthop in a reverse segment of some found path In the exampleof Figure 1 after finding the augmenting path 119875

119886as shown in

Figure 1(c) we say 119886 is the last hop of the reverse segment(119888 119887 119886) By adding 119875

119886to the paths found before 119886 should

be an occupied node 119901119903119890V(119886) does not change and 119899119890119909119905(119886)changes to its next hop in 119875

119886 that is 119891 In a CR-path the last

hop of a reverse segment is certainly an OHRSuppose that we find an augmenting path119875

119886in Procedure

1 Procedure 2 adds119875119886to the paths foundbefore Starting from

119905 in sequence each node in 119875119886sends a TRACE-AP message

(with empty data field) to its previous hop in 119875119886 At first

119905 sends a TRACE-AP message to FHR 119901ℎ119888119903(119905) to start theprocedure Next we discuss the following four cases

Case 5 Unoccupied node V receives a TRACE-AP message(let the sender be 119906)Then V is an UN in119875

119886and its next hop in

119875119886is 119906 Its previous hop in 119875

119886should be UN 119901ℎ119888119903(V) To add

119875119886to the paths found before V becomes an occupied node

119901119903119890V(V) should be UN 119901ℎ119888119903(V) and 119899119890119909119905(V) should be 119906 Inthis case we let V execute lines 2ndash5 in Procedure 2

Case 6 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is not 119901119903119890V(V)Then Vrsquos next hop in119875

119886is 119906 Since

119906 is not 119901119903119890V(V) V is the last hop in a reverse segment of somefound path Of course V is an OHR in 119875

119886 Vrsquos previous hop in

119875119886should be OHR 119901ℎ119888119903(V) By adding 119875

119886to the paths found

before V is still an occupied node 119901119903119890V(V) does not changeand 119899119890119909119905(V) changes to 119906 In this case we let V execute lines7ndash9 in Procedure 2

Case 7 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL ThenVrsquos next hop in 119875

119886is 119906 Since 119906 is 119901119903119890V(V) V is not the

last hop in a reverse segment Since FHR 119901ℎ119888119903(V) is NULLV is an OHR in 119875

119886and its previous hop in 119875

119886should be

OHR 119901ℎ119888119903(V) By adding 119875119886to the paths found before V

becomes an unoccupied node In this case we let V executelines 11-12 in Procedure 2

Case 8 Occupied node V receives a TRACE-AP messagefrom 119906 and 119906 is 119901119903119890V(V) and FHR 119901ℎ119888119903(V) = NULL ThenVrsquos next hop in 119875

119886is 119906 Since 119906 is 119901119903119890V(V) V is not the last

hop in a reverse segment Since FHR 119901ℎ119888119903(V) is not NULLV is a FHR in 119875

119886and its previous hop in 119875

119886should be

FHR 119901ℎ119888119903(V) By adding 119875119886to the paths found before V is

still an occupied node 119901119903119890V(V) changes to FHR 119901ℎ119888119903(V) and119899119890119909119905(V) does not change In this case we let V execute lines14ndash16 in Procedure 2

43 An Example of DFDPrsquos Execution In the example ofFigure 1 after finding the first 119904 sim 119905 path 119875

1as shown in

Figure 1(a) the nodes execute DFDP as followsProcedure 1 starts with 119904 broadcasting a FIND-AP mes-

sage which is received by 119886 and 119889 119886 will discard the messageaccording to Case 2

Receiving the FIND-AP message from 119904 according toCase 1 119889 sets UN 119901ℎ119888119903(119889) = 119904 and then broadcasts a FIND-AP message which is received by 119886 and 119890 Although themessage will be also received by 119904 119904 will discard the message

Receiving the FIND-AP message from 119889 according toCase 3 119886 sets FHR 119901ℎ119888119903(119886) = 119889 and then sends a FIND-APmessage to 119904 (119904 will discard the message)

Receiving the FIND-AP message from 119889 according toCase 1 119890 sets UN 119901ℎ119888119903(119890) = 119889 and then broadcasts a FIND-AP message which is received by 119889 and 119888 Since UN 119901ℎ119888119903(119889)

is set yet 119889 discards the FIND-AP message from 119890Receiving the FIND-AP message from 119890 according to

Case 3 119888 sets FHR 119901ℎ119888119903(119888) = 119890 and then sends a FIND-APmessage to 119887

Receiving the FIND-AP message from 119888 according toCase 4 119887 sets OHR 119901ℎ119888119903(119887) = 119888 and then broadcasts a FIND-AP message which is received by 119886

Receiving the FIND-AP message from 119887 according toCase 4 119886 sets OHR 119901ℎ119888119903(119886) = 119887 and then broadcasts a FIND-AP message which is received by 119904 and 119891 (119904 will discard themessage)

In this way 119891 sets UN 119901ℎ119888119903(119891) = 119886 and 119892 setsUN 119901ℎ119888119903(119892) = 119891 Receiving FIND-APmessage from 119892 119905 setsFHR 119901ℎ119888119903(119905) = 119892Therefore augmenting path119875

119886= (119904 119889 119890 119888

119887 119886 119891 119892 119905) is found as shown by bold lines in Figure 1(c)Procedure 2 starts with 119905 sending a TRACE-AP message

to FHR 119901ℎ119888119903(119905) = 119892Receiving the TRACE-AP message from 119905 according to

Case 5 119892 marks itself as an occupied node sets 119901119903119890V(119892) =UN 119901ℎ119888119903(119892) = 119891 and 119899119890119909119905(119892) = 119905 and then sends a TRACE-AP message to 119891

Receiving the TRACE-AP message from 119892 accord-ing to Case 5 119891 marks itself as an occupied node sets119901119903119890V(119891) =UN 119901ℎ119888119903(119891) = 119886 and 119899119890119909119905(119891) = 119892 and then sendsa TRACE-AP message to 119886

Receiving the TRACE-AP message from 119891 according toCase 6 119886 still marks itself as an occupied node sets 119899119890119909119905(119886) =

International Journal of Distributed Sensor Networks 7

119891 (119901119903119890V(119886) is still 119904) and then sends a TRACE-APmessage toOHR 119901ℎ119888119903(119886) = 119887

Receiving the TRACE-AP message from 119886 according toCase 7 119887marks itself as an unoccupied node and then sendsa TRACE-AP message to OHR 119901ℎ119888119903(119887) = 119888

Receiving the TRACE-AP message from 119887 according toCase 8 119888 still marks itself as an occupied node sets 119901119903119890V(119888) =FHR 119901ℎ119888119903(119888) = 119890 (119899119890119909119905(119888) is still 119905) and then sends a TRACE-AP message to 119890

In this way 119890 marks itself as an occupied node and sets119901119903119890V(119890) = 119889 and 119899119890119909119905(119890) = 119888 119889 marks itself as an occupiednode and sets 119901119903119890V(119889) = 119904 and 119899119890119909119905(119889) = 119890 Now we add 119875

119886

to 1198751and generate two disjoint 119904 sim 119905 paths 1198751015840

1and 11987510158402as shown

in bold lines in Figure 1(d)

44 Correctness and Complexity By the description ofSections 41 and 42 after finding 119899 disjoint 119904 sim 119905 paths1198751 119875

119899 Procedure 1 will find an augmenting path if there

exists one and Procedure 2 is a correct way to add theaugmenting path to 119875

1 119875

119899 By Lemma 1 we can get the

following theorem

Theorem 2 DFDP will output min119896 119896lowast disjoint 119904 sim 119905 pathswhere 119896lowast is the maximum number of disjoint 119904 sim 119905 paths in thegiven network

Suppose that there are 119873 nodes in the given networkIn Procedure 1 each unoccupied node sends at most oneFIND-AP message and each occupied node sends at mosttwo FIND-AP messages In Procedure 2 each node in 119875

119886

sends one TRACE-AP message and the other nodes do notsend any messages Both FIND-AP message and TRACE-AP message have constant length (empty data field) so thecommunication complexity ofDFDP is119874(119873sdotmin119896 119896lowast)Thetime complexity of DFDP is 119874(119873 sdotmin119896 119896lowast) too

45 Dealing with Topology Changes Let us consider threetypes of topology changes

Type 1 During the processing of DFDP the nodes or linksin some found path fail This type of topology changes willcause 119904 not to receive the expected number of TRACE-APmessages (one plus the number of disjoint paths found inthe last iteration) in the current iteration Therefore we canset a timer for the execution of each iteration The timeris triggered by 119904 at the beginning of each iteration If thetimer expires and 119904 has not received the expected numberof TRACE-AP messages 119904 knows that there is node or linkfailure in the path from which it has not received TRACE-AP message Let the failed path be 1198751015840

119894 Before going into the

next iteration DFDP frees the nodes in 1198751015840119894by tracing them

from both 119904 and 119905 With the topology changes DFDP stillguarantees correctness The extra cost for DFDP to deal withthis type of topology changes is tracing the failed path (whichcan be neglected compared to the total cost of the algorithm)and onemore iteration of the algorithm (which is inevitable)

Type 2 During the processing of DFDP the topology beyondthe found paths changes Since each node participates

in DFDP by communicating with its neighbors and theexchange of messages does not rely on any predefinedstructures DFDP can handle this type of topology changeswhile guaranteeing correctness without any modification

Type 3 After the execution of DFDP (min119896 119896lowast paths havebeen used for routing) the nodes or links in some found pathfail After detecting the path failure we can free the nodes inthe failed path and execute one more iteration of DFDP tofind one more disjoint path The extra cost for DFDP to dealwith this type of topology changes is also tracing the failedpath and one more iteration of the algorithm

On the contrary to handle all the three types of topologychanges and guarantee correctness centralized algorithmshave to collect the whole networkrsquos topology once againwhich is a very expensive operation for WSN

5 Simulation Results

We use a simulator written in C++ to evaluate the proposedalgorithm The simulator is a high level simulator whichneglects the MAC layer The effective transmitting radiusof each sensor node is set to 50m Each packet has a 6-byte header containing the information of destinationrsquos ID(2 bytes) senderrsquos ID (2 bytes) packet type (1 byte) andpacket length (1 byte) The data field of each packet containsup to 50 bytes

To simulate energy consumption we set the parametersof sensor nodes according to TelosB motes [28] The supplyvoltage is 30V When MCU is on and radio is on TX or RXmode the nodersquos current is 22mA The transmit bit rate is250 kbps Therefore the energy consumption for the senderto send 1-bit data (or for the receiver to receive 1-bit data)successfully is 264 times 10minus7 J For the TelosB sensor node theenergy consumption to transmit one-bit data can be used forMCU to execute more than 400 instructions so we neglectthe energy consumption for computing

We compare our algorithm DFDP with the centralizedalgorithm in [6] (denoted by CA) the pseudodistributedalgorithm in [19] (denoted by EA) and the distributedalgorithm in [5] (denoted by DA) CA collects the topologyinformation of the whole network (each nodersquos neighbor list)to the sink and finds disjoint paths at the sink CA canfind 119896 disjoint 119904 sim 119905 paths with the minimum total lengthCA is a good representation of the centralized algorithmsin [2 6ndash10] All these centralized algorithms have to collectthe topology information of the whole network so they havethe same communication cost On the other hand all ofthem guarantee correctness so they find the same numberof disjoint paths DA finds paths iteratively In each iterationDA finds a 119904 sim 119905 path and removes the internal nodes of thepath from the network As we know DA is the most efficientalgorithm for finding disjoint paths with no other constraintsNote that DA cannot guarantee correctness that is DA mayonly find 119899 lt 119896 paths when there do exist 119896 disjoint 119904 sim 119905paths in the given network

At first let us compare the efficiency of four algorithmsin theory Suppose that there are119873 nodes and119872 edges in the

8 International Journal of Distributed Sensor Networks

network Let 119889 be the diameter of the network The energyconsumption of the algorithms is mainly determined by datacommunication We already know that the communicationcomplexity of DFDP is 119874(119873 sdot min119896 119896lowast) CA collects thetopology information of the whole network Each node is119874(119889) hops away from the sink on average so the informationof each edge is transmitted 119874(119889) hops to the sink on averageand the communication complexity of CA is 119874(119889119872) EA hasbad upper bound on communication complexity In theworstcase EA has to collect the topology information of the wholenetwork in each iteration so its communication complexityis 119874(119889119872 sdot min119896 119896lowast) DA is the simplest algorithm to finddisjoint path although it cannot guarantee correctness Ineach iteration each node sends one message with constantlength to find a new path from 119904 to 119905 so the communicationcomplexity of DA is119874(119873sdotmin119896 119896lowast)We know that 119896 ≪ 119889 inmost applications In the aspect of communication complex-ityDFDPandDAaremuchbetter thanCAandEAAlthoughwith the same communication complexity compared withDA DFDP can guarantee correctness whereas DA cannot

We evaluate the performances of the algorithms at fouraspects (1) path number (2) average path length (3) energy-efficiency and (4) load balance ldquoPath numberrdquo is the numberof disjoint 119904 sim 119905 paths found by the algorithms ldquoAveragepath lengthrdquo represents the quality of the disjoint paths Weuse ldquoaverage energypath numberrdquo to measure algorithmsrsquoenergy-efficiency where ldquoaverage energyrdquo is the averageenergy consumption of each node in the network Loadbalance is measured by ldquomax energypath numberrdquo whereldquomax energyrdquo is the maximum energy consumption of anynode in the network

There are two groups of simulations In Group 1 2500sensor nodes are randomly deployed in a 1500m times 1500marea In Group 2 2500 sensor nodes are deployed as a 50times 50grid and each node dies or sleeps with 25 probability Asa result 1859 nodes are left as alive nodes in the grid Thecomparison of the algorithms is conducted for different 119896that is the number of the paths the users want to find Toget each result we performed 10 simulations with different(119904 119905) pairs and took their average value The (119904 119905) pairs aregenerated randomly

The comparison results for Group 1 are given in Figure 3The path number of the four algorithms is given inFigure 3(a) With the growth of 119896 all the four algorithms findmore disjoint paths until they reach their ldquolimitsrdquo DA findsno more disjoint paths when 119896 ge 7 CA EA and DFDP findno more disjoint paths when 119896 ge 10 Since CA EA andDFDP all guarantee correctness they always find the samenumber of disjoint pathsWhen 119896 le 3 all the four algorithmscan find 119896 disjoint pathsWhen 119896 ge 4 comparedwithDA theother three algorithms find more disjoint paths CA EA andDFDP can find the maximum number of the disjoint pathsin the network whereas DA cannot For 119896 = 10 comparedwith DA the other three algorithms find 203more disjointpaths

Next we want to compare the average path length ofthe four algorithms For different (119904 119905) pairs the differenceof pathsrsquo average lengths may be very large To comparefairly for each (119904 119905) pair we set the value of CA to 1 and

Table 1 The simulation details for Group 1 when 119896 = 10

Performance AlgorithmsCA EA DFDP DA

Path number 71 71 71 59Average path length 1 103 103 099Average Comm Bytes 845 1023 353 291Max Comm Bytes 58495 1616 814 683Average energy (times10minus7 J) 17842 21605 7462 6136Max energy (times10minus7 J) 1235407 34123 17196 14431

Table 2 The simulation details for Group 2 when 119896 = 4

Performance AlgorithmsCA EA DFDP DA

Path number 34 34 34 23Average path length 1 104 102 084Average Comm Bytes 348 170 56 40Max Comm Bytes 14792 568 249 172Average energy (times10minus7 J) 7351 3590 1183 844Max energy (times10minus7 J) 312416 11995 5263 3629

normalize the values of the other three algorithms Theaverage path length of the four algorithms forGroup 1 is givenin Figure 3(b) The centralized algorithm (CA) always findsdisjoint paths with the minimum total length EA and DFDPalmost have the same performance as CA in this aspect In allcases the average path length of DFDP is at most 3 higherthan the one of CA When 119896 = 10 the average path length ofDA is even less than the one of CA This is because DA findsless disjoint paths and all the algorithms have the trends tofind shorter path first

The energy-efficiency of the four algorithms for Group1 is given in Figure 3(c) No matter what value 119896 is CAcollects the topology information of the whole network sothe energy cost of CA does not change with 119896 With CAfindingmore disjoint paths it ismore energy-efficient until itfinds the maximum number of disjoint paths EA finds pathsiteratively and collects an abstract of the network topologyin each iteration With finding more disjoint paths EA needsto collect more and more complicated topology informationand becomes less and less energy-efficient When 119896 gt 7 EAis even worse than CA in this aspect DFDP and DA also findpaths iteratively and their energy cost for each iteration issteady DFDP and DA almost have the same performance inthis aspect and both of them are much more energy-efficientthan CA and EA

The load balance of the four algorithms for Group 1is given in Figure 3(d) Note that the value of the 119910-axisincreases logarithmically Since CA collects the topologyinformation of the whole network the nodes near the sinkneed to send and receive a large amount of data so CA is twoorders of magnitude worse than the other three algorithms inthis aspect Although EA is much better than CA it is still

International Journal of Distributed Sensor Networks 9

7

6

5

4

3

2

1

0

1 2 3 4 5 6 7 8 9 10

k

Path

num

ber

CAEA

DFDPDA

(a) Path number

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

16000

14000

12000

10000

8000

6000

4000

2000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

1000000

100000

10000

times10minus7 J

(d) Load balance

Figure 3 Simulation results for Group 1 (2500 nodes are randomly deployed in a 1500m times 1500m area)

a ldquocollectingrdquo algorithm so it is not as good as DFDP andDA in terms of load balance By finding more disjoint pathssometimes DFDP even gains a better load balance comparedwith the simplest distributed algorithm (DA)

The specific simulation results for Group 1 when 119896 = 10are shown in Table 1 ldquoAverage Comm Bytesrdquo is the averagenumber of bytes sent and received by each node in thenetwork ldquoMax Comm Bytesrdquo is the maximum number ofbytes sent and received by any node in the network

The comparison results for Group 2 are given in Figure 4The path number of the four algorithms is given inFigure 4(a) With the growth of 119896 all the four algorithms

find more disjoint paths DA reaches its ldquolimitrdquo when 119896 = 3whereas CA EA and DFDP reach their ldquolimitsrdquo when 119896 =4 Since CA EA and DFDP all guarantee correctness theyalways find the same number of disjoint paths When 119896 = 4compared with DA the other three algorithms find 478more disjoint paths

The average path length of the four algorithms for Group2 is given in Figure 4(b) The centralized algorithm (CA)always finds disjoint paths with the minimum total lengthNote that CA EA and DFDP find the same number ofdisjoint paths No matter what the value of 119896 is the averagepath length of DFDP is at most 2higher than the one of CA

10 International Journal of Distributed Sensor Networks

1 2 3 4

k

CAEA

DFDPDA

35

30

25

20

15

10

05

00

Path

num

ber

(a) Path number

1 2 3 4

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4

k

CAEA

DFDPDA

7000

6000

5000

4000

3000

2000

1000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

100000

10000

1000

times10minus7 J

(d) Load balance

Figure 4 Simulation results for Group 2 (1859 nodes are randomly deployed in a 50 times 50 grid)

The ldquoaverage energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(c) In the aspect of energy-efficiency DFDP and DA are much better than CA and EADFDP and DA almost have the same energy-efficiency butDFDP finds more disjoint paths

The ldquomax energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(d) In the aspect of loadbalance CA is two orders of magnitude worse than theother three algorithms DA and DFDP almost have the sameperformances and both of them are significantly better thanEAThe specific simulation for Group 2 when 119896 = 4 is shownin Table 2

Let us summarize the simulation results for Group 1 andGroup 2 Compared with DA DFDP finds significantly moredisjoint paths In the aspect of energy-efficiency and load

balance DFDP is almost the same as DA CA EA and DFDPfind the same number of disjoint paths with almost the samelength However in the aspect of energy-efficiency and loadbalance DFDP is much better than CA and EA

6 Conclusion

This paper proposes an efficient distributed algorithm DFDPto find 119896 disjoint paths connecting two given nodes 119904 and119905 in a WSN Unlike the existing distributed algorithms forthis problemDFDPguarantees correctness Compared to theexisting centralized algorithms which also guarantee correct-ness DFDP ismuchmore efficient Compared to the state-of-the-art distributed algorithms for the same problem DFDP

International Journal of Distributed Sensor Networks 11

has the same energy-efficiency and load balance with theimportant advantage that DFDP guarantees a correct answerwhereas the compared algorithms do not In conclusionDFDP is correct and efficient to find disjoint paths betweentwo nodes in a WSN

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

Thiswork is supported by theNational Natural Science Foun-dation of China (Grant no 61300207 Grant no 61272186 andGrant no 61370084) and Fundamental Research Funds forthe Central Universities (Grant no HEUCF100610)

References

[1] D Ganesan R Govindan S Shenker and D Estrin ldquoHighly-resilient energy-efficient multipath routing in wireless sensornetworksrdquo in Proceedings of the 2nd ACM International Sympo-sium on Mobile Ad Hoc Networking and Computing (MobiHoc01) pp 251ndash254 Long Beach Calif USA October 2001

[2] A Srinivas and E Modiano ldquoMinimum energy disjoint pathrouting in wireless ad-hoc networksrdquo in Proceedings of the9th Annual International Conference on Mobile Computing andNetworking (MobiCom rsquo03) pp 122ndash133 September 2003

[3] S Li and Z Wu ldquoNode-disjoint parallel multi-path routing inwireless sensor networksrdquo in Proceedings of the 2nd Interna-tional Conference on Embedded Software and Systems (ICESSrsquo05) pp 432ndash437 December 2005

[4] J W Baek Y J Nam and D-W Seo ldquoAn energy-efficientk-disjoint-path routing algorithm for reliable wireless sensornetworksrdquo in Proceedings of the 5th IFIP WG 102 InternationalConference on Software Technologies for Embedded and Ubiqui-tous Systems (SEUSrsquo07) 2007

[5] B Deb S Bhatnagar and B Nath ldquoReinform reliable informa-tion forwarding using multiple paths in sensor networksrdquo inProceedings of the 28th Annual IEEE International Conferenceon Local Computer Networks 2003

[6] R Bhandari ldquoOptimal physical diversity algorithms and sur-vivable networksrdquo in Proceedings of the 2nd IEEE Symposiumon Computers and Communications (ISCC 97) pp 433ndash441Alexandria Egypt July 1997

[7] S Khuller and B Schieber ldquoEfficient parallel algorithms fortesting connectivity and finding disjoint s-t paths in graphsrdquo inProceedings of the 30th Annual Symposium on Foundations ofComputer Science pp 288ndash293 November 1989

[8] K Iwama C Iwamoto and T Ohsawa ldquoA faster parallelalgorithm for 119896-connectivityrdquo Information Processing Lettersvol 61 no 5 pp 265ndash269 1997

[9] J W Suurballe ldquoDisjoint paths in a networkrdquo Networks vol 4pp 125ndash145 1974

[10] Y Chen X Guo and Q Zeng ldquoAmr a multipath routingalgorithm based on maximum flow in Ad-Hoc networksrdquo ActaElectronica Sinica vol 32 no 8 pp 1297ndash1301 2004

[11] X Fang S Shi and J Li ldquoA disjoint multi-path routing algo-rithm in wireless sensor networkrdquo Journal Computer Researchand Development vol 46 no 12 pp 2053ndash2061 2009

[12] S Omar M Zoulikha and B Cousin ldquoEnergy efficiency inad hoc wireless networks with node-disjoint path routingrdquo inProceedings of the 7th InternationalWorkshop on Systems SignalProcessing and their Applications (WoSSPA rsquo11) pp 127ndash130May2011

[13] K Ishida Y Kakuda and T Kikuno ldquoA routing protocol forfinding two node-disjoint paths in computer networksrdquo inProceedings of the International Conference onNetwork Protocols(ICNP 95) pp 340ndash347 Tokyo Japan November 1995

[14] R Ogier and N Shacham ldquoA distributed algorithm for findingshortest pairs of disjoint pathsrdquo in Proceedings of the 8th AnnualJoint Conference of the IEEE Computer and CommunicationsSocieties Technology Emerging or Converging (INFOCOM 89)vol 2 pp 173ndash182 Ottawa Canada April 1989

[15] Y O Lee and A L N Reddy ldquoDisjoint multi-path routingand failure recoveryrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 10) pp 1ndash6 IEEE CapeTown South Africa May 2010

[16] M Mansouri H Snoussi and C Richard ldquoOptimal pathselection for quantized target tracking in distributed sensornetworksrdquo in Proceeding of the 7th International Wireless Com-munications and Mobile Computing Conference (IWCMC rsquo11)2011

[17] D Sidhu R Nair and S Abdallah ldquoFinding disjoint paths innetworksrdquo in Proceedings of the Conference on CommunicationsArchitecture Protocols (SIGCOMM rsquo91) 1991

[18] A Kumar and S Varma ldquoGeographic node-disjoint pathrouting for wireless sensor networksrdquo IEEE Sensors Journal vol10 no 6 pp 1138ndash1139 2010

[19] K Zhang and H Gao ldquoEfficient distributed algorithm forcorrectly finding disjoint paths in wireless sensor networksrdquoInternational Journal of Sensor Networks vol 13 no 3 pp 173ndash184 2013

[20] T Hashiguchi K Tajima Y Takita and T Naito ldquoNode-disjointpaths search in WDM networks with asymmetric nodesrdquo inProceedings of the 15th Conference on Optical Network DesignandModeling (ONDM 11) pp 1ndash6 Bologna Italy February 2011

[21] A Bley ldquoOn the complexity of vertex-disjoint length-restrictedpath problemsrdquo Computational Complexity vol 12 no 3-4 pp131ndash149 2003

[22] A Itai Y Perl and Y Shiloach ldquoThe complexity of findingmaximumdisjoint pathswith length constraintsrdquoNetworks vol12 no 3 pp 277ndash286 1982

[23] D Ronen and Y Perl ldquoHeuristics for finding a maximumnumber of disjoint bounded pathsrdquo Networks vol 14 no 4 pp531ndash544 1984

[24] T Gomes J Craveirinha and L Jorge ldquoAn effective algorithmfor obtaining the minimal cost pair of disjoint paths with dualarc costsrdquoComputers and Operations Research vol 36 no 5 pp1670ndash1682 2009

[25] J Rak ldquoK-penalty a novel approach to findmdashdisjoint pathswithdifferentiated path costsrdquo IEEE Communications Letters vol 14no 4 pp 354ndash356 2010

[26] R Leepila E Oki andN Kishi ldquoScheme to find k disjoint pathsinmulti-cost networksrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 11) pp 1ndash5 Kyoto JapanJune 2011

[27] H Chen B Liu X Lei F Ren and K Sezaki ldquoInternodedistance-based redundancy reliable transport in underwatersensor networksrdquo Eurasip Journal on Wireless Communicationsand Networking vol 2010 Article ID 358071 2010

[28] httpwww2eceohio-stateedusimbibykee582telosMotepdf

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mechanical Engineering

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Antennas andPropagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Page 7: Finding Disjoint Paths in Wireless Sensor Networks

International Journal of Distributed Sensor Networks 7

119891 (119901119903119890V(119886) is still 119904) and then sends a TRACE-APmessage toOHR 119901ℎ119888119903(119886) = 119887

Receiving the TRACE-AP message from 119886 according toCase 7 119887marks itself as an unoccupied node and then sendsa TRACE-AP message to OHR 119901ℎ119888119903(119887) = 119888

Receiving the TRACE-AP message from 119887 according toCase 8 119888 still marks itself as an occupied node sets 119901119903119890V(119888) =FHR 119901ℎ119888119903(119888) = 119890 (119899119890119909119905(119888) is still 119905) and then sends a TRACE-AP message to 119890

In this way 119890 marks itself as an occupied node and sets119901119903119890V(119890) = 119889 and 119899119890119909119905(119890) = 119888 119889 marks itself as an occupiednode and sets 119901119903119890V(119889) = 119904 and 119899119890119909119905(119889) = 119890 Now we add 119875

119886

to 1198751and generate two disjoint 119904 sim 119905 paths 1198751015840

1and 11987510158402as shown

in bold lines in Figure 1(d)

44 Correctness and Complexity By the description ofSections 41 and 42 after finding 119899 disjoint 119904 sim 119905 paths1198751 119875

119899 Procedure 1 will find an augmenting path if there

exists one and Procedure 2 is a correct way to add theaugmenting path to 119875

1 119875

119899 By Lemma 1 we can get the

following theorem

Theorem 2 DFDP will output min119896 119896lowast disjoint 119904 sim 119905 pathswhere 119896lowast is the maximum number of disjoint 119904 sim 119905 paths in thegiven network

Suppose that there are 119873 nodes in the given networkIn Procedure 1 each unoccupied node sends at most oneFIND-AP message and each occupied node sends at mosttwo FIND-AP messages In Procedure 2 each node in 119875

119886

sends one TRACE-AP message and the other nodes do notsend any messages Both FIND-AP message and TRACE-AP message have constant length (empty data field) so thecommunication complexity ofDFDP is119874(119873sdotmin119896 119896lowast)Thetime complexity of DFDP is 119874(119873 sdotmin119896 119896lowast) too

45 Dealing with Topology Changes Let us consider threetypes of topology changes

Type 1 During the processing of DFDP the nodes or linksin some found path fail This type of topology changes willcause 119904 not to receive the expected number of TRACE-APmessages (one plus the number of disjoint paths found inthe last iteration) in the current iteration Therefore we canset a timer for the execution of each iteration The timeris triggered by 119904 at the beginning of each iteration If thetimer expires and 119904 has not received the expected numberof TRACE-AP messages 119904 knows that there is node or linkfailure in the path from which it has not received TRACE-AP message Let the failed path be 1198751015840

119894 Before going into the

next iteration DFDP frees the nodes in 1198751015840119894by tracing them

from both 119904 and 119905 With the topology changes DFDP stillguarantees correctness The extra cost for DFDP to deal withthis type of topology changes is tracing the failed path (whichcan be neglected compared to the total cost of the algorithm)and onemore iteration of the algorithm (which is inevitable)

Type 2 During the processing of DFDP the topology beyondthe found paths changes Since each node participates

in DFDP by communicating with its neighbors and theexchange of messages does not rely on any predefinedstructures DFDP can handle this type of topology changeswhile guaranteeing correctness without any modification

Type 3 After the execution of DFDP (min119896 119896lowast paths havebeen used for routing) the nodes or links in some found pathfail After detecting the path failure we can free the nodes inthe failed path and execute one more iteration of DFDP tofind one more disjoint path The extra cost for DFDP to dealwith this type of topology changes is also tracing the failedpath and one more iteration of the algorithm

On the contrary to handle all the three types of topologychanges and guarantee correctness centralized algorithmshave to collect the whole networkrsquos topology once againwhich is a very expensive operation for WSN

5 Simulation Results

We use a simulator written in C++ to evaluate the proposedalgorithm The simulator is a high level simulator whichneglects the MAC layer The effective transmitting radiusof each sensor node is set to 50m Each packet has a 6-byte header containing the information of destinationrsquos ID(2 bytes) senderrsquos ID (2 bytes) packet type (1 byte) andpacket length (1 byte) The data field of each packet containsup to 50 bytes

To simulate energy consumption we set the parametersof sensor nodes according to TelosB motes [28] The supplyvoltage is 30V When MCU is on and radio is on TX or RXmode the nodersquos current is 22mA The transmit bit rate is250 kbps Therefore the energy consumption for the senderto send 1-bit data (or for the receiver to receive 1-bit data)successfully is 264 times 10minus7 J For the TelosB sensor node theenergy consumption to transmit one-bit data can be used forMCU to execute more than 400 instructions so we neglectthe energy consumption for computing

We compare our algorithm DFDP with the centralizedalgorithm in [6] (denoted by CA) the pseudodistributedalgorithm in [19] (denoted by EA) and the distributedalgorithm in [5] (denoted by DA) CA collects the topologyinformation of the whole network (each nodersquos neighbor list)to the sink and finds disjoint paths at the sink CA canfind 119896 disjoint 119904 sim 119905 paths with the minimum total lengthCA is a good representation of the centralized algorithmsin [2 6ndash10] All these centralized algorithms have to collectthe topology information of the whole network so they havethe same communication cost On the other hand all ofthem guarantee correctness so they find the same numberof disjoint paths DA finds paths iteratively In each iterationDA finds a 119904 sim 119905 path and removes the internal nodes of thepath from the network As we know DA is the most efficientalgorithm for finding disjoint paths with no other constraintsNote that DA cannot guarantee correctness that is DA mayonly find 119899 lt 119896 paths when there do exist 119896 disjoint 119904 sim 119905paths in the given network

At first let us compare the efficiency of four algorithmsin theory Suppose that there are119873 nodes and119872 edges in the

8 International Journal of Distributed Sensor Networks

network Let 119889 be the diameter of the network The energyconsumption of the algorithms is mainly determined by datacommunication We already know that the communicationcomplexity of DFDP is 119874(119873 sdot min119896 119896lowast) CA collects thetopology information of the whole network Each node is119874(119889) hops away from the sink on average so the informationof each edge is transmitted 119874(119889) hops to the sink on averageand the communication complexity of CA is 119874(119889119872) EA hasbad upper bound on communication complexity In theworstcase EA has to collect the topology information of the wholenetwork in each iteration so its communication complexityis 119874(119889119872 sdot min119896 119896lowast) DA is the simplest algorithm to finddisjoint path although it cannot guarantee correctness Ineach iteration each node sends one message with constantlength to find a new path from 119904 to 119905 so the communicationcomplexity of DA is119874(119873sdotmin119896 119896lowast)We know that 119896 ≪ 119889 inmost applications In the aspect of communication complex-ityDFDPandDAaremuchbetter thanCAandEAAlthoughwith the same communication complexity compared withDA DFDP can guarantee correctness whereas DA cannot

We evaluate the performances of the algorithms at fouraspects (1) path number (2) average path length (3) energy-efficiency and (4) load balance ldquoPath numberrdquo is the numberof disjoint 119904 sim 119905 paths found by the algorithms ldquoAveragepath lengthrdquo represents the quality of the disjoint paths Weuse ldquoaverage energypath numberrdquo to measure algorithmsrsquoenergy-efficiency where ldquoaverage energyrdquo is the averageenergy consumption of each node in the network Loadbalance is measured by ldquomax energypath numberrdquo whereldquomax energyrdquo is the maximum energy consumption of anynode in the network

There are two groups of simulations In Group 1 2500sensor nodes are randomly deployed in a 1500m times 1500marea In Group 2 2500 sensor nodes are deployed as a 50times 50grid and each node dies or sleeps with 25 probability Asa result 1859 nodes are left as alive nodes in the grid Thecomparison of the algorithms is conducted for different 119896that is the number of the paths the users want to find Toget each result we performed 10 simulations with different(119904 119905) pairs and took their average value The (119904 119905) pairs aregenerated randomly

The comparison results for Group 1 are given in Figure 3The path number of the four algorithms is given inFigure 3(a) With the growth of 119896 all the four algorithms findmore disjoint paths until they reach their ldquolimitsrdquo DA findsno more disjoint paths when 119896 ge 7 CA EA and DFDP findno more disjoint paths when 119896 ge 10 Since CA EA andDFDP all guarantee correctness they always find the samenumber of disjoint pathsWhen 119896 le 3 all the four algorithmscan find 119896 disjoint pathsWhen 119896 ge 4 comparedwithDA theother three algorithms find more disjoint paths CA EA andDFDP can find the maximum number of the disjoint pathsin the network whereas DA cannot For 119896 = 10 comparedwith DA the other three algorithms find 203more disjointpaths

Next we want to compare the average path length ofthe four algorithms For different (119904 119905) pairs the differenceof pathsrsquo average lengths may be very large To comparefairly for each (119904 119905) pair we set the value of CA to 1 and

Table 1 The simulation details for Group 1 when 119896 = 10

Performance AlgorithmsCA EA DFDP DA

Path number 71 71 71 59Average path length 1 103 103 099Average Comm Bytes 845 1023 353 291Max Comm Bytes 58495 1616 814 683Average energy (times10minus7 J) 17842 21605 7462 6136Max energy (times10minus7 J) 1235407 34123 17196 14431

Table 2 The simulation details for Group 2 when 119896 = 4

Performance AlgorithmsCA EA DFDP DA

Path number 34 34 34 23Average path length 1 104 102 084Average Comm Bytes 348 170 56 40Max Comm Bytes 14792 568 249 172Average energy (times10minus7 J) 7351 3590 1183 844Max energy (times10minus7 J) 312416 11995 5263 3629

normalize the values of the other three algorithms Theaverage path length of the four algorithms forGroup 1 is givenin Figure 3(b) The centralized algorithm (CA) always findsdisjoint paths with the minimum total length EA and DFDPalmost have the same performance as CA in this aspect In allcases the average path length of DFDP is at most 3 higherthan the one of CA When 119896 = 10 the average path length ofDA is even less than the one of CA This is because DA findsless disjoint paths and all the algorithms have the trends tofind shorter path first

The energy-efficiency of the four algorithms for Group1 is given in Figure 3(c) No matter what value 119896 is CAcollects the topology information of the whole network sothe energy cost of CA does not change with 119896 With CAfindingmore disjoint paths it ismore energy-efficient until itfinds the maximum number of disjoint paths EA finds pathsiteratively and collects an abstract of the network topologyin each iteration With finding more disjoint paths EA needsto collect more and more complicated topology informationand becomes less and less energy-efficient When 119896 gt 7 EAis even worse than CA in this aspect DFDP and DA also findpaths iteratively and their energy cost for each iteration issteady DFDP and DA almost have the same performance inthis aspect and both of them are much more energy-efficientthan CA and EA

The load balance of the four algorithms for Group 1is given in Figure 3(d) Note that the value of the 119910-axisincreases logarithmically Since CA collects the topologyinformation of the whole network the nodes near the sinkneed to send and receive a large amount of data so CA is twoorders of magnitude worse than the other three algorithms inthis aspect Although EA is much better than CA it is still

International Journal of Distributed Sensor Networks 9

7

6

5

4

3

2

1

0

1 2 3 4 5 6 7 8 9 10

k

Path

num

ber

CAEA

DFDPDA

(a) Path number

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

16000

14000

12000

10000

8000

6000

4000

2000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

1000000

100000

10000

times10minus7 J

(d) Load balance

Figure 3 Simulation results for Group 1 (2500 nodes are randomly deployed in a 1500m times 1500m area)

a ldquocollectingrdquo algorithm so it is not as good as DFDP andDA in terms of load balance By finding more disjoint pathssometimes DFDP even gains a better load balance comparedwith the simplest distributed algorithm (DA)

The specific simulation results for Group 1 when 119896 = 10are shown in Table 1 ldquoAverage Comm Bytesrdquo is the averagenumber of bytes sent and received by each node in thenetwork ldquoMax Comm Bytesrdquo is the maximum number ofbytes sent and received by any node in the network

The comparison results for Group 2 are given in Figure 4The path number of the four algorithms is given inFigure 4(a) With the growth of 119896 all the four algorithms

find more disjoint paths DA reaches its ldquolimitrdquo when 119896 = 3whereas CA EA and DFDP reach their ldquolimitsrdquo when 119896 =4 Since CA EA and DFDP all guarantee correctness theyalways find the same number of disjoint paths When 119896 = 4compared with DA the other three algorithms find 478more disjoint paths

The average path length of the four algorithms for Group2 is given in Figure 4(b) The centralized algorithm (CA)always finds disjoint paths with the minimum total lengthNote that CA EA and DFDP find the same number ofdisjoint paths No matter what the value of 119896 is the averagepath length of DFDP is at most 2higher than the one of CA

10 International Journal of Distributed Sensor Networks

1 2 3 4

k

CAEA

DFDPDA

35

30

25

20

15

10

05

00

Path

num

ber

(a) Path number

1 2 3 4

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4

k

CAEA

DFDPDA

7000

6000

5000

4000

3000

2000

1000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

100000

10000

1000

times10minus7 J

(d) Load balance

Figure 4 Simulation results for Group 2 (1859 nodes are randomly deployed in a 50 times 50 grid)

The ldquoaverage energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(c) In the aspect of energy-efficiency DFDP and DA are much better than CA and EADFDP and DA almost have the same energy-efficiency butDFDP finds more disjoint paths

The ldquomax energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(d) In the aspect of loadbalance CA is two orders of magnitude worse than theother three algorithms DA and DFDP almost have the sameperformances and both of them are significantly better thanEAThe specific simulation for Group 2 when 119896 = 4 is shownin Table 2

Let us summarize the simulation results for Group 1 andGroup 2 Compared with DA DFDP finds significantly moredisjoint paths In the aspect of energy-efficiency and load

balance DFDP is almost the same as DA CA EA and DFDPfind the same number of disjoint paths with almost the samelength However in the aspect of energy-efficiency and loadbalance DFDP is much better than CA and EA

6 Conclusion

This paper proposes an efficient distributed algorithm DFDPto find 119896 disjoint paths connecting two given nodes 119904 and119905 in a WSN Unlike the existing distributed algorithms forthis problemDFDPguarantees correctness Compared to theexisting centralized algorithms which also guarantee correct-ness DFDP ismuchmore efficient Compared to the state-of-the-art distributed algorithms for the same problem DFDP

International Journal of Distributed Sensor Networks 11

has the same energy-efficiency and load balance with theimportant advantage that DFDP guarantees a correct answerwhereas the compared algorithms do not In conclusionDFDP is correct and efficient to find disjoint paths betweentwo nodes in a WSN

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

Thiswork is supported by theNational Natural Science Foun-dation of China (Grant no 61300207 Grant no 61272186 andGrant no 61370084) and Fundamental Research Funds forthe Central Universities (Grant no HEUCF100610)

References

[1] D Ganesan R Govindan S Shenker and D Estrin ldquoHighly-resilient energy-efficient multipath routing in wireless sensornetworksrdquo in Proceedings of the 2nd ACM International Sympo-sium on Mobile Ad Hoc Networking and Computing (MobiHoc01) pp 251ndash254 Long Beach Calif USA October 2001

[2] A Srinivas and E Modiano ldquoMinimum energy disjoint pathrouting in wireless ad-hoc networksrdquo in Proceedings of the9th Annual International Conference on Mobile Computing andNetworking (MobiCom rsquo03) pp 122ndash133 September 2003

[3] S Li and Z Wu ldquoNode-disjoint parallel multi-path routing inwireless sensor networksrdquo in Proceedings of the 2nd Interna-tional Conference on Embedded Software and Systems (ICESSrsquo05) pp 432ndash437 December 2005

[4] J W Baek Y J Nam and D-W Seo ldquoAn energy-efficientk-disjoint-path routing algorithm for reliable wireless sensornetworksrdquo in Proceedings of the 5th IFIP WG 102 InternationalConference on Software Technologies for Embedded and Ubiqui-tous Systems (SEUSrsquo07) 2007

[5] B Deb S Bhatnagar and B Nath ldquoReinform reliable informa-tion forwarding using multiple paths in sensor networksrdquo inProceedings of the 28th Annual IEEE International Conferenceon Local Computer Networks 2003

[6] R Bhandari ldquoOptimal physical diversity algorithms and sur-vivable networksrdquo in Proceedings of the 2nd IEEE Symposiumon Computers and Communications (ISCC 97) pp 433ndash441Alexandria Egypt July 1997

[7] S Khuller and B Schieber ldquoEfficient parallel algorithms fortesting connectivity and finding disjoint s-t paths in graphsrdquo inProceedings of the 30th Annual Symposium on Foundations ofComputer Science pp 288ndash293 November 1989

[8] K Iwama C Iwamoto and T Ohsawa ldquoA faster parallelalgorithm for 119896-connectivityrdquo Information Processing Lettersvol 61 no 5 pp 265ndash269 1997

[9] J W Suurballe ldquoDisjoint paths in a networkrdquo Networks vol 4pp 125ndash145 1974

[10] Y Chen X Guo and Q Zeng ldquoAmr a multipath routingalgorithm based on maximum flow in Ad-Hoc networksrdquo ActaElectronica Sinica vol 32 no 8 pp 1297ndash1301 2004

[11] X Fang S Shi and J Li ldquoA disjoint multi-path routing algo-rithm in wireless sensor networkrdquo Journal Computer Researchand Development vol 46 no 12 pp 2053ndash2061 2009

[12] S Omar M Zoulikha and B Cousin ldquoEnergy efficiency inad hoc wireless networks with node-disjoint path routingrdquo inProceedings of the 7th InternationalWorkshop on Systems SignalProcessing and their Applications (WoSSPA rsquo11) pp 127ndash130May2011

[13] K Ishida Y Kakuda and T Kikuno ldquoA routing protocol forfinding two node-disjoint paths in computer networksrdquo inProceedings of the International Conference onNetwork Protocols(ICNP 95) pp 340ndash347 Tokyo Japan November 1995

[14] R Ogier and N Shacham ldquoA distributed algorithm for findingshortest pairs of disjoint pathsrdquo in Proceedings of the 8th AnnualJoint Conference of the IEEE Computer and CommunicationsSocieties Technology Emerging or Converging (INFOCOM 89)vol 2 pp 173ndash182 Ottawa Canada April 1989

[15] Y O Lee and A L N Reddy ldquoDisjoint multi-path routingand failure recoveryrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 10) pp 1ndash6 IEEE CapeTown South Africa May 2010

[16] M Mansouri H Snoussi and C Richard ldquoOptimal pathselection for quantized target tracking in distributed sensornetworksrdquo in Proceeding of the 7th International Wireless Com-munications and Mobile Computing Conference (IWCMC rsquo11)2011

[17] D Sidhu R Nair and S Abdallah ldquoFinding disjoint paths innetworksrdquo in Proceedings of the Conference on CommunicationsArchitecture Protocols (SIGCOMM rsquo91) 1991

[18] A Kumar and S Varma ldquoGeographic node-disjoint pathrouting for wireless sensor networksrdquo IEEE Sensors Journal vol10 no 6 pp 1138ndash1139 2010

[19] K Zhang and H Gao ldquoEfficient distributed algorithm forcorrectly finding disjoint paths in wireless sensor networksrdquoInternational Journal of Sensor Networks vol 13 no 3 pp 173ndash184 2013

[20] T Hashiguchi K Tajima Y Takita and T Naito ldquoNode-disjointpaths search in WDM networks with asymmetric nodesrdquo inProceedings of the 15th Conference on Optical Network DesignandModeling (ONDM 11) pp 1ndash6 Bologna Italy February 2011

[21] A Bley ldquoOn the complexity of vertex-disjoint length-restrictedpath problemsrdquo Computational Complexity vol 12 no 3-4 pp131ndash149 2003

[22] A Itai Y Perl and Y Shiloach ldquoThe complexity of findingmaximumdisjoint pathswith length constraintsrdquoNetworks vol12 no 3 pp 277ndash286 1982

[23] D Ronen and Y Perl ldquoHeuristics for finding a maximumnumber of disjoint bounded pathsrdquo Networks vol 14 no 4 pp531ndash544 1984

[24] T Gomes J Craveirinha and L Jorge ldquoAn effective algorithmfor obtaining the minimal cost pair of disjoint paths with dualarc costsrdquoComputers and Operations Research vol 36 no 5 pp1670ndash1682 2009

[25] J Rak ldquoK-penalty a novel approach to findmdashdisjoint pathswithdifferentiated path costsrdquo IEEE Communications Letters vol 14no 4 pp 354ndash356 2010

[26] R Leepila E Oki andN Kishi ldquoScheme to find k disjoint pathsinmulti-cost networksrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 11) pp 1ndash5 Kyoto JapanJune 2011

[27] H Chen B Liu X Lei F Ren and K Sezaki ldquoInternodedistance-based redundancy reliable transport in underwatersensor networksrdquo Eurasip Journal on Wireless Communicationsand Networking vol 2010 Article ID 358071 2010

[28] httpwww2eceohio-stateedusimbibykee582telosMotepdf

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mechanical Engineering

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Antennas andPropagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Page 8: Finding Disjoint Paths in Wireless Sensor Networks

8 International Journal of Distributed Sensor Networks

network Let 119889 be the diameter of the network The energyconsumption of the algorithms is mainly determined by datacommunication We already know that the communicationcomplexity of DFDP is 119874(119873 sdot min119896 119896lowast) CA collects thetopology information of the whole network Each node is119874(119889) hops away from the sink on average so the informationof each edge is transmitted 119874(119889) hops to the sink on averageand the communication complexity of CA is 119874(119889119872) EA hasbad upper bound on communication complexity In theworstcase EA has to collect the topology information of the wholenetwork in each iteration so its communication complexityis 119874(119889119872 sdot min119896 119896lowast) DA is the simplest algorithm to finddisjoint path although it cannot guarantee correctness Ineach iteration each node sends one message with constantlength to find a new path from 119904 to 119905 so the communicationcomplexity of DA is119874(119873sdotmin119896 119896lowast)We know that 119896 ≪ 119889 inmost applications In the aspect of communication complex-ityDFDPandDAaremuchbetter thanCAandEAAlthoughwith the same communication complexity compared withDA DFDP can guarantee correctness whereas DA cannot

We evaluate the performances of the algorithms at fouraspects (1) path number (2) average path length (3) energy-efficiency and (4) load balance ldquoPath numberrdquo is the numberof disjoint 119904 sim 119905 paths found by the algorithms ldquoAveragepath lengthrdquo represents the quality of the disjoint paths Weuse ldquoaverage energypath numberrdquo to measure algorithmsrsquoenergy-efficiency where ldquoaverage energyrdquo is the averageenergy consumption of each node in the network Loadbalance is measured by ldquomax energypath numberrdquo whereldquomax energyrdquo is the maximum energy consumption of anynode in the network

There are two groups of simulations In Group 1 2500sensor nodes are randomly deployed in a 1500m times 1500marea In Group 2 2500 sensor nodes are deployed as a 50times 50grid and each node dies or sleeps with 25 probability Asa result 1859 nodes are left as alive nodes in the grid Thecomparison of the algorithms is conducted for different 119896that is the number of the paths the users want to find Toget each result we performed 10 simulations with different(119904 119905) pairs and took their average value The (119904 119905) pairs aregenerated randomly

The comparison results for Group 1 are given in Figure 3The path number of the four algorithms is given inFigure 3(a) With the growth of 119896 all the four algorithms findmore disjoint paths until they reach their ldquolimitsrdquo DA findsno more disjoint paths when 119896 ge 7 CA EA and DFDP findno more disjoint paths when 119896 ge 10 Since CA EA andDFDP all guarantee correctness they always find the samenumber of disjoint pathsWhen 119896 le 3 all the four algorithmscan find 119896 disjoint pathsWhen 119896 ge 4 comparedwithDA theother three algorithms find more disjoint paths CA EA andDFDP can find the maximum number of the disjoint pathsin the network whereas DA cannot For 119896 = 10 comparedwith DA the other three algorithms find 203more disjointpaths

Next we want to compare the average path length ofthe four algorithms For different (119904 119905) pairs the differenceof pathsrsquo average lengths may be very large To comparefairly for each (119904 119905) pair we set the value of CA to 1 and

Table 1 The simulation details for Group 1 when 119896 = 10

Performance AlgorithmsCA EA DFDP DA

Path number 71 71 71 59Average path length 1 103 103 099Average Comm Bytes 845 1023 353 291Max Comm Bytes 58495 1616 814 683Average energy (times10minus7 J) 17842 21605 7462 6136Max energy (times10minus7 J) 1235407 34123 17196 14431

Table 2 The simulation details for Group 2 when 119896 = 4

Performance AlgorithmsCA EA DFDP DA

Path number 34 34 34 23Average path length 1 104 102 084Average Comm Bytes 348 170 56 40Max Comm Bytes 14792 568 249 172Average energy (times10minus7 J) 7351 3590 1183 844Max energy (times10minus7 J) 312416 11995 5263 3629

normalize the values of the other three algorithms Theaverage path length of the four algorithms forGroup 1 is givenin Figure 3(b) The centralized algorithm (CA) always findsdisjoint paths with the minimum total length EA and DFDPalmost have the same performance as CA in this aspect In allcases the average path length of DFDP is at most 3 higherthan the one of CA When 119896 = 10 the average path length ofDA is even less than the one of CA This is because DA findsless disjoint paths and all the algorithms have the trends tofind shorter path first

The energy-efficiency of the four algorithms for Group1 is given in Figure 3(c) No matter what value 119896 is CAcollects the topology information of the whole network sothe energy cost of CA does not change with 119896 With CAfindingmore disjoint paths it ismore energy-efficient until itfinds the maximum number of disjoint paths EA finds pathsiteratively and collects an abstract of the network topologyin each iteration With finding more disjoint paths EA needsto collect more and more complicated topology informationand becomes less and less energy-efficient When 119896 gt 7 EAis even worse than CA in this aspect DFDP and DA also findpaths iteratively and their energy cost for each iteration issteady DFDP and DA almost have the same performance inthis aspect and both of them are much more energy-efficientthan CA and EA

The load balance of the four algorithms for Group 1is given in Figure 3(d) Note that the value of the 119910-axisincreases logarithmically Since CA collects the topologyinformation of the whole network the nodes near the sinkneed to send and receive a large amount of data so CA is twoorders of magnitude worse than the other three algorithms inthis aspect Although EA is much better than CA it is still

International Journal of Distributed Sensor Networks 9

7

6

5

4

3

2

1

0

1 2 3 4 5 6 7 8 9 10

k

Path

num

ber

CAEA

DFDPDA

(a) Path number

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

16000

14000

12000

10000

8000

6000

4000

2000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

1000000

100000

10000

times10minus7 J

(d) Load balance

Figure 3 Simulation results for Group 1 (2500 nodes are randomly deployed in a 1500m times 1500m area)

a ldquocollectingrdquo algorithm so it is not as good as DFDP andDA in terms of load balance By finding more disjoint pathssometimes DFDP even gains a better load balance comparedwith the simplest distributed algorithm (DA)

The specific simulation results for Group 1 when 119896 = 10are shown in Table 1 ldquoAverage Comm Bytesrdquo is the averagenumber of bytes sent and received by each node in thenetwork ldquoMax Comm Bytesrdquo is the maximum number ofbytes sent and received by any node in the network

The comparison results for Group 2 are given in Figure 4The path number of the four algorithms is given inFigure 4(a) With the growth of 119896 all the four algorithms

find more disjoint paths DA reaches its ldquolimitrdquo when 119896 = 3whereas CA EA and DFDP reach their ldquolimitsrdquo when 119896 =4 Since CA EA and DFDP all guarantee correctness theyalways find the same number of disjoint paths When 119896 = 4compared with DA the other three algorithms find 478more disjoint paths

The average path length of the four algorithms for Group2 is given in Figure 4(b) The centralized algorithm (CA)always finds disjoint paths with the minimum total lengthNote that CA EA and DFDP find the same number ofdisjoint paths No matter what the value of 119896 is the averagepath length of DFDP is at most 2higher than the one of CA

10 International Journal of Distributed Sensor Networks

1 2 3 4

k

CAEA

DFDPDA

35

30

25

20

15

10

05

00

Path

num

ber

(a) Path number

1 2 3 4

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4

k

CAEA

DFDPDA

7000

6000

5000

4000

3000

2000

1000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

100000

10000

1000

times10minus7 J

(d) Load balance

Figure 4 Simulation results for Group 2 (1859 nodes are randomly deployed in a 50 times 50 grid)

The ldquoaverage energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(c) In the aspect of energy-efficiency DFDP and DA are much better than CA and EADFDP and DA almost have the same energy-efficiency butDFDP finds more disjoint paths

The ldquomax energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(d) In the aspect of loadbalance CA is two orders of magnitude worse than theother three algorithms DA and DFDP almost have the sameperformances and both of them are significantly better thanEAThe specific simulation for Group 2 when 119896 = 4 is shownin Table 2

Let us summarize the simulation results for Group 1 andGroup 2 Compared with DA DFDP finds significantly moredisjoint paths In the aspect of energy-efficiency and load

balance DFDP is almost the same as DA CA EA and DFDPfind the same number of disjoint paths with almost the samelength However in the aspect of energy-efficiency and loadbalance DFDP is much better than CA and EA

6 Conclusion

This paper proposes an efficient distributed algorithm DFDPto find 119896 disjoint paths connecting two given nodes 119904 and119905 in a WSN Unlike the existing distributed algorithms forthis problemDFDPguarantees correctness Compared to theexisting centralized algorithms which also guarantee correct-ness DFDP ismuchmore efficient Compared to the state-of-the-art distributed algorithms for the same problem DFDP

International Journal of Distributed Sensor Networks 11

has the same energy-efficiency and load balance with theimportant advantage that DFDP guarantees a correct answerwhereas the compared algorithms do not In conclusionDFDP is correct and efficient to find disjoint paths betweentwo nodes in a WSN

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

Thiswork is supported by theNational Natural Science Foun-dation of China (Grant no 61300207 Grant no 61272186 andGrant no 61370084) and Fundamental Research Funds forthe Central Universities (Grant no HEUCF100610)

References

[1] D Ganesan R Govindan S Shenker and D Estrin ldquoHighly-resilient energy-efficient multipath routing in wireless sensornetworksrdquo in Proceedings of the 2nd ACM International Sympo-sium on Mobile Ad Hoc Networking and Computing (MobiHoc01) pp 251ndash254 Long Beach Calif USA October 2001

[2] A Srinivas and E Modiano ldquoMinimum energy disjoint pathrouting in wireless ad-hoc networksrdquo in Proceedings of the9th Annual International Conference on Mobile Computing andNetworking (MobiCom rsquo03) pp 122ndash133 September 2003

[3] S Li and Z Wu ldquoNode-disjoint parallel multi-path routing inwireless sensor networksrdquo in Proceedings of the 2nd Interna-tional Conference on Embedded Software and Systems (ICESSrsquo05) pp 432ndash437 December 2005

[4] J W Baek Y J Nam and D-W Seo ldquoAn energy-efficientk-disjoint-path routing algorithm for reliable wireless sensornetworksrdquo in Proceedings of the 5th IFIP WG 102 InternationalConference on Software Technologies for Embedded and Ubiqui-tous Systems (SEUSrsquo07) 2007

[5] B Deb S Bhatnagar and B Nath ldquoReinform reliable informa-tion forwarding using multiple paths in sensor networksrdquo inProceedings of the 28th Annual IEEE International Conferenceon Local Computer Networks 2003

[6] R Bhandari ldquoOptimal physical diversity algorithms and sur-vivable networksrdquo in Proceedings of the 2nd IEEE Symposiumon Computers and Communications (ISCC 97) pp 433ndash441Alexandria Egypt July 1997

[7] S Khuller and B Schieber ldquoEfficient parallel algorithms fortesting connectivity and finding disjoint s-t paths in graphsrdquo inProceedings of the 30th Annual Symposium on Foundations ofComputer Science pp 288ndash293 November 1989

[8] K Iwama C Iwamoto and T Ohsawa ldquoA faster parallelalgorithm for 119896-connectivityrdquo Information Processing Lettersvol 61 no 5 pp 265ndash269 1997

[9] J W Suurballe ldquoDisjoint paths in a networkrdquo Networks vol 4pp 125ndash145 1974

[10] Y Chen X Guo and Q Zeng ldquoAmr a multipath routingalgorithm based on maximum flow in Ad-Hoc networksrdquo ActaElectronica Sinica vol 32 no 8 pp 1297ndash1301 2004

[11] X Fang S Shi and J Li ldquoA disjoint multi-path routing algo-rithm in wireless sensor networkrdquo Journal Computer Researchand Development vol 46 no 12 pp 2053ndash2061 2009

[12] S Omar M Zoulikha and B Cousin ldquoEnergy efficiency inad hoc wireless networks with node-disjoint path routingrdquo inProceedings of the 7th InternationalWorkshop on Systems SignalProcessing and their Applications (WoSSPA rsquo11) pp 127ndash130May2011

[13] K Ishida Y Kakuda and T Kikuno ldquoA routing protocol forfinding two node-disjoint paths in computer networksrdquo inProceedings of the International Conference onNetwork Protocols(ICNP 95) pp 340ndash347 Tokyo Japan November 1995

[14] R Ogier and N Shacham ldquoA distributed algorithm for findingshortest pairs of disjoint pathsrdquo in Proceedings of the 8th AnnualJoint Conference of the IEEE Computer and CommunicationsSocieties Technology Emerging or Converging (INFOCOM 89)vol 2 pp 173ndash182 Ottawa Canada April 1989

[15] Y O Lee and A L N Reddy ldquoDisjoint multi-path routingand failure recoveryrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 10) pp 1ndash6 IEEE CapeTown South Africa May 2010

[16] M Mansouri H Snoussi and C Richard ldquoOptimal pathselection for quantized target tracking in distributed sensornetworksrdquo in Proceeding of the 7th International Wireless Com-munications and Mobile Computing Conference (IWCMC rsquo11)2011

[17] D Sidhu R Nair and S Abdallah ldquoFinding disjoint paths innetworksrdquo in Proceedings of the Conference on CommunicationsArchitecture Protocols (SIGCOMM rsquo91) 1991

[18] A Kumar and S Varma ldquoGeographic node-disjoint pathrouting for wireless sensor networksrdquo IEEE Sensors Journal vol10 no 6 pp 1138ndash1139 2010

[19] K Zhang and H Gao ldquoEfficient distributed algorithm forcorrectly finding disjoint paths in wireless sensor networksrdquoInternational Journal of Sensor Networks vol 13 no 3 pp 173ndash184 2013

[20] T Hashiguchi K Tajima Y Takita and T Naito ldquoNode-disjointpaths search in WDM networks with asymmetric nodesrdquo inProceedings of the 15th Conference on Optical Network DesignandModeling (ONDM 11) pp 1ndash6 Bologna Italy February 2011

[21] A Bley ldquoOn the complexity of vertex-disjoint length-restrictedpath problemsrdquo Computational Complexity vol 12 no 3-4 pp131ndash149 2003

[22] A Itai Y Perl and Y Shiloach ldquoThe complexity of findingmaximumdisjoint pathswith length constraintsrdquoNetworks vol12 no 3 pp 277ndash286 1982

[23] D Ronen and Y Perl ldquoHeuristics for finding a maximumnumber of disjoint bounded pathsrdquo Networks vol 14 no 4 pp531ndash544 1984

[24] T Gomes J Craveirinha and L Jorge ldquoAn effective algorithmfor obtaining the minimal cost pair of disjoint paths with dualarc costsrdquoComputers and Operations Research vol 36 no 5 pp1670ndash1682 2009

[25] J Rak ldquoK-penalty a novel approach to findmdashdisjoint pathswithdifferentiated path costsrdquo IEEE Communications Letters vol 14no 4 pp 354ndash356 2010

[26] R Leepila E Oki andN Kishi ldquoScheme to find k disjoint pathsinmulti-cost networksrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 11) pp 1ndash5 Kyoto JapanJune 2011

[27] H Chen B Liu X Lei F Ren and K Sezaki ldquoInternodedistance-based redundancy reliable transport in underwatersensor networksrdquo Eurasip Journal on Wireless Communicationsand Networking vol 2010 Article ID 358071 2010

[28] httpwww2eceohio-stateedusimbibykee582telosMotepdf

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mechanical Engineering

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Antennas andPropagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Page 9: Finding Disjoint Paths in Wireless Sensor Networks

International Journal of Distributed Sensor Networks 9

7

6

5

4

3

2

1

0

1 2 3 4 5 6 7 8 9 10

k

Path

num

ber

CAEA

DFDPDA

(a) Path number

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

16000

14000

12000

10000

8000

6000

4000

2000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4 5 6 7 8 9 10

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

1000000

100000

10000

times10minus7 J

(d) Load balance

Figure 3 Simulation results for Group 1 (2500 nodes are randomly deployed in a 1500m times 1500m area)

a ldquocollectingrdquo algorithm so it is not as good as DFDP andDA in terms of load balance By finding more disjoint pathssometimes DFDP even gains a better load balance comparedwith the simplest distributed algorithm (DA)

The specific simulation results for Group 1 when 119896 = 10are shown in Table 1 ldquoAverage Comm Bytesrdquo is the averagenumber of bytes sent and received by each node in thenetwork ldquoMax Comm Bytesrdquo is the maximum number ofbytes sent and received by any node in the network

The comparison results for Group 2 are given in Figure 4The path number of the four algorithms is given inFigure 4(a) With the growth of 119896 all the four algorithms

find more disjoint paths DA reaches its ldquolimitrdquo when 119896 = 3whereas CA EA and DFDP reach their ldquolimitsrdquo when 119896 =4 Since CA EA and DFDP all guarantee correctness theyalways find the same number of disjoint paths When 119896 = 4compared with DA the other three algorithms find 478more disjoint paths

The average path length of the four algorithms for Group2 is given in Figure 4(b) The centralized algorithm (CA)always finds disjoint paths with the minimum total lengthNote that CA EA and DFDP find the same number ofdisjoint paths No matter what the value of 119896 is the averagepath length of DFDP is at most 2higher than the one of CA

10 International Journal of Distributed Sensor Networks

1 2 3 4

k

CAEA

DFDPDA

35

30

25

20

15

10

05

00

Path

num

ber

(a) Path number

1 2 3 4

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4

k

CAEA

DFDPDA

7000

6000

5000

4000

3000

2000

1000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

100000

10000

1000

times10minus7 J

(d) Load balance

Figure 4 Simulation results for Group 2 (1859 nodes are randomly deployed in a 50 times 50 grid)

The ldquoaverage energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(c) In the aspect of energy-efficiency DFDP and DA are much better than CA and EADFDP and DA almost have the same energy-efficiency butDFDP finds more disjoint paths

The ldquomax energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(d) In the aspect of loadbalance CA is two orders of magnitude worse than theother three algorithms DA and DFDP almost have the sameperformances and both of them are significantly better thanEAThe specific simulation for Group 2 when 119896 = 4 is shownin Table 2

Let us summarize the simulation results for Group 1 andGroup 2 Compared with DA DFDP finds significantly moredisjoint paths In the aspect of energy-efficiency and load

balance DFDP is almost the same as DA CA EA and DFDPfind the same number of disjoint paths with almost the samelength However in the aspect of energy-efficiency and loadbalance DFDP is much better than CA and EA

6 Conclusion

This paper proposes an efficient distributed algorithm DFDPto find 119896 disjoint paths connecting two given nodes 119904 and119905 in a WSN Unlike the existing distributed algorithms forthis problemDFDPguarantees correctness Compared to theexisting centralized algorithms which also guarantee correct-ness DFDP ismuchmore efficient Compared to the state-of-the-art distributed algorithms for the same problem DFDP

International Journal of Distributed Sensor Networks 11

has the same energy-efficiency and load balance with theimportant advantage that DFDP guarantees a correct answerwhereas the compared algorithms do not In conclusionDFDP is correct and efficient to find disjoint paths betweentwo nodes in a WSN

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

Thiswork is supported by theNational Natural Science Foun-dation of China (Grant no 61300207 Grant no 61272186 andGrant no 61370084) and Fundamental Research Funds forthe Central Universities (Grant no HEUCF100610)

References

[1] D Ganesan R Govindan S Shenker and D Estrin ldquoHighly-resilient energy-efficient multipath routing in wireless sensornetworksrdquo in Proceedings of the 2nd ACM International Sympo-sium on Mobile Ad Hoc Networking and Computing (MobiHoc01) pp 251ndash254 Long Beach Calif USA October 2001

[2] A Srinivas and E Modiano ldquoMinimum energy disjoint pathrouting in wireless ad-hoc networksrdquo in Proceedings of the9th Annual International Conference on Mobile Computing andNetworking (MobiCom rsquo03) pp 122ndash133 September 2003

[3] S Li and Z Wu ldquoNode-disjoint parallel multi-path routing inwireless sensor networksrdquo in Proceedings of the 2nd Interna-tional Conference on Embedded Software and Systems (ICESSrsquo05) pp 432ndash437 December 2005

[4] J W Baek Y J Nam and D-W Seo ldquoAn energy-efficientk-disjoint-path routing algorithm for reliable wireless sensornetworksrdquo in Proceedings of the 5th IFIP WG 102 InternationalConference on Software Technologies for Embedded and Ubiqui-tous Systems (SEUSrsquo07) 2007

[5] B Deb S Bhatnagar and B Nath ldquoReinform reliable informa-tion forwarding using multiple paths in sensor networksrdquo inProceedings of the 28th Annual IEEE International Conferenceon Local Computer Networks 2003

[6] R Bhandari ldquoOptimal physical diversity algorithms and sur-vivable networksrdquo in Proceedings of the 2nd IEEE Symposiumon Computers and Communications (ISCC 97) pp 433ndash441Alexandria Egypt July 1997

[7] S Khuller and B Schieber ldquoEfficient parallel algorithms fortesting connectivity and finding disjoint s-t paths in graphsrdquo inProceedings of the 30th Annual Symposium on Foundations ofComputer Science pp 288ndash293 November 1989

[8] K Iwama C Iwamoto and T Ohsawa ldquoA faster parallelalgorithm for 119896-connectivityrdquo Information Processing Lettersvol 61 no 5 pp 265ndash269 1997

[9] J W Suurballe ldquoDisjoint paths in a networkrdquo Networks vol 4pp 125ndash145 1974

[10] Y Chen X Guo and Q Zeng ldquoAmr a multipath routingalgorithm based on maximum flow in Ad-Hoc networksrdquo ActaElectronica Sinica vol 32 no 8 pp 1297ndash1301 2004

[11] X Fang S Shi and J Li ldquoA disjoint multi-path routing algo-rithm in wireless sensor networkrdquo Journal Computer Researchand Development vol 46 no 12 pp 2053ndash2061 2009

[12] S Omar M Zoulikha and B Cousin ldquoEnergy efficiency inad hoc wireless networks with node-disjoint path routingrdquo inProceedings of the 7th InternationalWorkshop on Systems SignalProcessing and their Applications (WoSSPA rsquo11) pp 127ndash130May2011

[13] K Ishida Y Kakuda and T Kikuno ldquoA routing protocol forfinding two node-disjoint paths in computer networksrdquo inProceedings of the International Conference onNetwork Protocols(ICNP 95) pp 340ndash347 Tokyo Japan November 1995

[14] R Ogier and N Shacham ldquoA distributed algorithm for findingshortest pairs of disjoint pathsrdquo in Proceedings of the 8th AnnualJoint Conference of the IEEE Computer and CommunicationsSocieties Technology Emerging or Converging (INFOCOM 89)vol 2 pp 173ndash182 Ottawa Canada April 1989

[15] Y O Lee and A L N Reddy ldquoDisjoint multi-path routingand failure recoveryrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 10) pp 1ndash6 IEEE CapeTown South Africa May 2010

[16] M Mansouri H Snoussi and C Richard ldquoOptimal pathselection for quantized target tracking in distributed sensornetworksrdquo in Proceeding of the 7th International Wireless Com-munications and Mobile Computing Conference (IWCMC rsquo11)2011

[17] D Sidhu R Nair and S Abdallah ldquoFinding disjoint paths innetworksrdquo in Proceedings of the Conference on CommunicationsArchitecture Protocols (SIGCOMM rsquo91) 1991

[18] A Kumar and S Varma ldquoGeographic node-disjoint pathrouting for wireless sensor networksrdquo IEEE Sensors Journal vol10 no 6 pp 1138ndash1139 2010

[19] K Zhang and H Gao ldquoEfficient distributed algorithm forcorrectly finding disjoint paths in wireless sensor networksrdquoInternational Journal of Sensor Networks vol 13 no 3 pp 173ndash184 2013

[20] T Hashiguchi K Tajima Y Takita and T Naito ldquoNode-disjointpaths search in WDM networks with asymmetric nodesrdquo inProceedings of the 15th Conference on Optical Network DesignandModeling (ONDM 11) pp 1ndash6 Bologna Italy February 2011

[21] A Bley ldquoOn the complexity of vertex-disjoint length-restrictedpath problemsrdquo Computational Complexity vol 12 no 3-4 pp131ndash149 2003

[22] A Itai Y Perl and Y Shiloach ldquoThe complexity of findingmaximumdisjoint pathswith length constraintsrdquoNetworks vol12 no 3 pp 277ndash286 1982

[23] D Ronen and Y Perl ldquoHeuristics for finding a maximumnumber of disjoint bounded pathsrdquo Networks vol 14 no 4 pp531ndash544 1984

[24] T Gomes J Craveirinha and L Jorge ldquoAn effective algorithmfor obtaining the minimal cost pair of disjoint paths with dualarc costsrdquoComputers and Operations Research vol 36 no 5 pp1670ndash1682 2009

[25] J Rak ldquoK-penalty a novel approach to findmdashdisjoint pathswithdifferentiated path costsrdquo IEEE Communications Letters vol 14no 4 pp 354ndash356 2010

[26] R Leepila E Oki andN Kishi ldquoScheme to find k disjoint pathsinmulti-cost networksrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 11) pp 1ndash5 Kyoto JapanJune 2011

[27] H Chen B Liu X Lei F Ren and K Sezaki ldquoInternodedistance-based redundancy reliable transport in underwatersensor networksrdquo Eurasip Journal on Wireless Communicationsand Networking vol 2010 Article ID 358071 2010

[28] httpwww2eceohio-stateedusimbibykee582telosMotepdf

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mechanical Engineering

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Antennas andPropagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Page 10: Finding Disjoint Paths in Wireless Sensor Networks

10 International Journal of Distributed Sensor Networks

1 2 3 4

k

CAEA

DFDPDA

35

30

25

20

15

10

05

00

Path

num

ber

(a) Path number

1 2 3 4

k

CAEA

DFDPDA

10

08

06

04

02

00

Aver

age p

ath

leng

th

(b) Average path length

1 2 3 4

k

CAEA

DFDPDA

7000

6000

5000

4000

3000

2000

1000

0

Aver

age e

nerg

ypa

th n

umbe

r

times10minus7 J

(c) Energy-efficiency

1 2 3 4

k

CAEA

DFDPDA

Max

ener

gyp

ath

num

ber

100000

10000

1000

times10minus7 J

(d) Load balance

Figure 4 Simulation results for Group 2 (1859 nodes are randomly deployed in a 50 times 50 grid)

The ldquoaverage energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(c) In the aspect of energy-efficiency DFDP and DA are much better than CA and EADFDP and DA almost have the same energy-efficiency butDFDP finds more disjoint paths

The ldquomax energypath numberrdquo of the four algorithmsfor Group 2 is given in Figure 4(d) In the aspect of loadbalance CA is two orders of magnitude worse than theother three algorithms DA and DFDP almost have the sameperformances and both of them are significantly better thanEAThe specific simulation for Group 2 when 119896 = 4 is shownin Table 2

Let us summarize the simulation results for Group 1 andGroup 2 Compared with DA DFDP finds significantly moredisjoint paths In the aspect of energy-efficiency and load

balance DFDP is almost the same as DA CA EA and DFDPfind the same number of disjoint paths with almost the samelength However in the aspect of energy-efficiency and loadbalance DFDP is much better than CA and EA

6 Conclusion

This paper proposes an efficient distributed algorithm DFDPto find 119896 disjoint paths connecting two given nodes 119904 and119905 in a WSN Unlike the existing distributed algorithms forthis problemDFDPguarantees correctness Compared to theexisting centralized algorithms which also guarantee correct-ness DFDP ismuchmore efficient Compared to the state-of-the-art distributed algorithms for the same problem DFDP

International Journal of Distributed Sensor Networks 11

has the same energy-efficiency and load balance with theimportant advantage that DFDP guarantees a correct answerwhereas the compared algorithms do not In conclusionDFDP is correct and efficient to find disjoint paths betweentwo nodes in a WSN

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

Thiswork is supported by theNational Natural Science Foun-dation of China (Grant no 61300207 Grant no 61272186 andGrant no 61370084) and Fundamental Research Funds forthe Central Universities (Grant no HEUCF100610)

References

[1] D Ganesan R Govindan S Shenker and D Estrin ldquoHighly-resilient energy-efficient multipath routing in wireless sensornetworksrdquo in Proceedings of the 2nd ACM International Sympo-sium on Mobile Ad Hoc Networking and Computing (MobiHoc01) pp 251ndash254 Long Beach Calif USA October 2001

[2] A Srinivas and E Modiano ldquoMinimum energy disjoint pathrouting in wireless ad-hoc networksrdquo in Proceedings of the9th Annual International Conference on Mobile Computing andNetworking (MobiCom rsquo03) pp 122ndash133 September 2003

[3] S Li and Z Wu ldquoNode-disjoint parallel multi-path routing inwireless sensor networksrdquo in Proceedings of the 2nd Interna-tional Conference on Embedded Software and Systems (ICESSrsquo05) pp 432ndash437 December 2005

[4] J W Baek Y J Nam and D-W Seo ldquoAn energy-efficientk-disjoint-path routing algorithm for reliable wireless sensornetworksrdquo in Proceedings of the 5th IFIP WG 102 InternationalConference on Software Technologies for Embedded and Ubiqui-tous Systems (SEUSrsquo07) 2007

[5] B Deb S Bhatnagar and B Nath ldquoReinform reliable informa-tion forwarding using multiple paths in sensor networksrdquo inProceedings of the 28th Annual IEEE International Conferenceon Local Computer Networks 2003

[6] R Bhandari ldquoOptimal physical diversity algorithms and sur-vivable networksrdquo in Proceedings of the 2nd IEEE Symposiumon Computers and Communications (ISCC 97) pp 433ndash441Alexandria Egypt July 1997

[7] S Khuller and B Schieber ldquoEfficient parallel algorithms fortesting connectivity and finding disjoint s-t paths in graphsrdquo inProceedings of the 30th Annual Symposium on Foundations ofComputer Science pp 288ndash293 November 1989

[8] K Iwama C Iwamoto and T Ohsawa ldquoA faster parallelalgorithm for 119896-connectivityrdquo Information Processing Lettersvol 61 no 5 pp 265ndash269 1997

[9] J W Suurballe ldquoDisjoint paths in a networkrdquo Networks vol 4pp 125ndash145 1974

[10] Y Chen X Guo and Q Zeng ldquoAmr a multipath routingalgorithm based on maximum flow in Ad-Hoc networksrdquo ActaElectronica Sinica vol 32 no 8 pp 1297ndash1301 2004

[11] X Fang S Shi and J Li ldquoA disjoint multi-path routing algo-rithm in wireless sensor networkrdquo Journal Computer Researchand Development vol 46 no 12 pp 2053ndash2061 2009

[12] S Omar M Zoulikha and B Cousin ldquoEnergy efficiency inad hoc wireless networks with node-disjoint path routingrdquo inProceedings of the 7th InternationalWorkshop on Systems SignalProcessing and their Applications (WoSSPA rsquo11) pp 127ndash130May2011

[13] K Ishida Y Kakuda and T Kikuno ldquoA routing protocol forfinding two node-disjoint paths in computer networksrdquo inProceedings of the International Conference onNetwork Protocols(ICNP 95) pp 340ndash347 Tokyo Japan November 1995

[14] R Ogier and N Shacham ldquoA distributed algorithm for findingshortest pairs of disjoint pathsrdquo in Proceedings of the 8th AnnualJoint Conference of the IEEE Computer and CommunicationsSocieties Technology Emerging or Converging (INFOCOM 89)vol 2 pp 173ndash182 Ottawa Canada April 1989

[15] Y O Lee and A L N Reddy ldquoDisjoint multi-path routingand failure recoveryrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 10) pp 1ndash6 IEEE CapeTown South Africa May 2010

[16] M Mansouri H Snoussi and C Richard ldquoOptimal pathselection for quantized target tracking in distributed sensornetworksrdquo in Proceeding of the 7th International Wireless Com-munications and Mobile Computing Conference (IWCMC rsquo11)2011

[17] D Sidhu R Nair and S Abdallah ldquoFinding disjoint paths innetworksrdquo in Proceedings of the Conference on CommunicationsArchitecture Protocols (SIGCOMM rsquo91) 1991

[18] A Kumar and S Varma ldquoGeographic node-disjoint pathrouting for wireless sensor networksrdquo IEEE Sensors Journal vol10 no 6 pp 1138ndash1139 2010

[19] K Zhang and H Gao ldquoEfficient distributed algorithm forcorrectly finding disjoint paths in wireless sensor networksrdquoInternational Journal of Sensor Networks vol 13 no 3 pp 173ndash184 2013

[20] T Hashiguchi K Tajima Y Takita and T Naito ldquoNode-disjointpaths search in WDM networks with asymmetric nodesrdquo inProceedings of the 15th Conference on Optical Network DesignandModeling (ONDM 11) pp 1ndash6 Bologna Italy February 2011

[21] A Bley ldquoOn the complexity of vertex-disjoint length-restrictedpath problemsrdquo Computational Complexity vol 12 no 3-4 pp131ndash149 2003

[22] A Itai Y Perl and Y Shiloach ldquoThe complexity of findingmaximumdisjoint pathswith length constraintsrdquoNetworks vol12 no 3 pp 277ndash286 1982

[23] D Ronen and Y Perl ldquoHeuristics for finding a maximumnumber of disjoint bounded pathsrdquo Networks vol 14 no 4 pp531ndash544 1984

[24] T Gomes J Craveirinha and L Jorge ldquoAn effective algorithmfor obtaining the minimal cost pair of disjoint paths with dualarc costsrdquoComputers and Operations Research vol 36 no 5 pp1670ndash1682 2009

[25] J Rak ldquoK-penalty a novel approach to findmdashdisjoint pathswithdifferentiated path costsrdquo IEEE Communications Letters vol 14no 4 pp 354ndash356 2010

[26] R Leepila E Oki andN Kishi ldquoScheme to find k disjoint pathsinmulti-cost networksrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 11) pp 1ndash5 Kyoto JapanJune 2011

[27] H Chen B Liu X Lei F Ren and K Sezaki ldquoInternodedistance-based redundancy reliable transport in underwatersensor networksrdquo Eurasip Journal on Wireless Communicationsand Networking vol 2010 Article ID 358071 2010

[28] httpwww2eceohio-stateedusimbibykee582telosMotepdf

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mechanical Engineering

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Antennas andPropagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Page 11: Finding Disjoint Paths in Wireless Sensor Networks

International Journal of Distributed Sensor Networks 11

has the same energy-efficiency and load balance with theimportant advantage that DFDP guarantees a correct answerwhereas the compared algorithms do not In conclusionDFDP is correct and efficient to find disjoint paths betweentwo nodes in a WSN

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

Thiswork is supported by theNational Natural Science Foun-dation of China (Grant no 61300207 Grant no 61272186 andGrant no 61370084) and Fundamental Research Funds forthe Central Universities (Grant no HEUCF100610)

References

[1] D Ganesan R Govindan S Shenker and D Estrin ldquoHighly-resilient energy-efficient multipath routing in wireless sensornetworksrdquo in Proceedings of the 2nd ACM International Sympo-sium on Mobile Ad Hoc Networking and Computing (MobiHoc01) pp 251ndash254 Long Beach Calif USA October 2001

[2] A Srinivas and E Modiano ldquoMinimum energy disjoint pathrouting in wireless ad-hoc networksrdquo in Proceedings of the9th Annual International Conference on Mobile Computing andNetworking (MobiCom rsquo03) pp 122ndash133 September 2003

[3] S Li and Z Wu ldquoNode-disjoint parallel multi-path routing inwireless sensor networksrdquo in Proceedings of the 2nd Interna-tional Conference on Embedded Software and Systems (ICESSrsquo05) pp 432ndash437 December 2005

[4] J W Baek Y J Nam and D-W Seo ldquoAn energy-efficientk-disjoint-path routing algorithm for reliable wireless sensornetworksrdquo in Proceedings of the 5th IFIP WG 102 InternationalConference on Software Technologies for Embedded and Ubiqui-tous Systems (SEUSrsquo07) 2007

[5] B Deb S Bhatnagar and B Nath ldquoReinform reliable informa-tion forwarding using multiple paths in sensor networksrdquo inProceedings of the 28th Annual IEEE International Conferenceon Local Computer Networks 2003

[6] R Bhandari ldquoOptimal physical diversity algorithms and sur-vivable networksrdquo in Proceedings of the 2nd IEEE Symposiumon Computers and Communications (ISCC 97) pp 433ndash441Alexandria Egypt July 1997

[7] S Khuller and B Schieber ldquoEfficient parallel algorithms fortesting connectivity and finding disjoint s-t paths in graphsrdquo inProceedings of the 30th Annual Symposium on Foundations ofComputer Science pp 288ndash293 November 1989

[8] K Iwama C Iwamoto and T Ohsawa ldquoA faster parallelalgorithm for 119896-connectivityrdquo Information Processing Lettersvol 61 no 5 pp 265ndash269 1997

[9] J W Suurballe ldquoDisjoint paths in a networkrdquo Networks vol 4pp 125ndash145 1974

[10] Y Chen X Guo and Q Zeng ldquoAmr a multipath routingalgorithm based on maximum flow in Ad-Hoc networksrdquo ActaElectronica Sinica vol 32 no 8 pp 1297ndash1301 2004

[11] X Fang S Shi and J Li ldquoA disjoint multi-path routing algo-rithm in wireless sensor networkrdquo Journal Computer Researchand Development vol 46 no 12 pp 2053ndash2061 2009

[12] S Omar M Zoulikha and B Cousin ldquoEnergy efficiency inad hoc wireless networks with node-disjoint path routingrdquo inProceedings of the 7th InternationalWorkshop on Systems SignalProcessing and their Applications (WoSSPA rsquo11) pp 127ndash130May2011

[13] K Ishida Y Kakuda and T Kikuno ldquoA routing protocol forfinding two node-disjoint paths in computer networksrdquo inProceedings of the International Conference onNetwork Protocols(ICNP 95) pp 340ndash347 Tokyo Japan November 1995

[14] R Ogier and N Shacham ldquoA distributed algorithm for findingshortest pairs of disjoint pathsrdquo in Proceedings of the 8th AnnualJoint Conference of the IEEE Computer and CommunicationsSocieties Technology Emerging or Converging (INFOCOM 89)vol 2 pp 173ndash182 Ottawa Canada April 1989

[15] Y O Lee and A L N Reddy ldquoDisjoint multi-path routingand failure recoveryrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 10) pp 1ndash6 IEEE CapeTown South Africa May 2010

[16] M Mansouri H Snoussi and C Richard ldquoOptimal pathselection for quantized target tracking in distributed sensornetworksrdquo in Proceeding of the 7th International Wireless Com-munications and Mobile Computing Conference (IWCMC rsquo11)2011

[17] D Sidhu R Nair and S Abdallah ldquoFinding disjoint paths innetworksrdquo in Proceedings of the Conference on CommunicationsArchitecture Protocols (SIGCOMM rsquo91) 1991

[18] A Kumar and S Varma ldquoGeographic node-disjoint pathrouting for wireless sensor networksrdquo IEEE Sensors Journal vol10 no 6 pp 1138ndash1139 2010

[19] K Zhang and H Gao ldquoEfficient distributed algorithm forcorrectly finding disjoint paths in wireless sensor networksrdquoInternational Journal of Sensor Networks vol 13 no 3 pp 173ndash184 2013

[20] T Hashiguchi K Tajima Y Takita and T Naito ldquoNode-disjointpaths search in WDM networks with asymmetric nodesrdquo inProceedings of the 15th Conference on Optical Network DesignandModeling (ONDM 11) pp 1ndash6 Bologna Italy February 2011

[21] A Bley ldquoOn the complexity of vertex-disjoint length-restrictedpath problemsrdquo Computational Complexity vol 12 no 3-4 pp131ndash149 2003

[22] A Itai Y Perl and Y Shiloach ldquoThe complexity of findingmaximumdisjoint pathswith length constraintsrdquoNetworks vol12 no 3 pp 277ndash286 1982

[23] D Ronen and Y Perl ldquoHeuristics for finding a maximumnumber of disjoint bounded pathsrdquo Networks vol 14 no 4 pp531ndash544 1984

[24] T Gomes J Craveirinha and L Jorge ldquoAn effective algorithmfor obtaining the minimal cost pair of disjoint paths with dualarc costsrdquoComputers and Operations Research vol 36 no 5 pp1670ndash1682 2009

[25] J Rak ldquoK-penalty a novel approach to findmdashdisjoint pathswithdifferentiated path costsrdquo IEEE Communications Letters vol 14no 4 pp 354ndash356 2010

[26] R Leepila E Oki andN Kishi ldquoScheme to find k disjoint pathsinmulti-cost networksrdquo in Proceedings of the IEEE InternationalConference on Communications (ICC 11) pp 1ndash5 Kyoto JapanJune 2011

[27] H Chen B Liu X Lei F Ren and K Sezaki ldquoInternodedistance-based redundancy reliable transport in underwatersensor networksrdquo Eurasip Journal on Wireless Communicationsand Networking vol 2010 Article ID 358071 2010

[28] httpwww2eceohio-stateedusimbibykee582telosMotepdf

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mechanical Engineering

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Antennas andPropagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of

Page 12: Finding Disjoint Paths in Wireless Sensor Networks

Submit your manuscripts athttpwwwhindawicom

VLSI Design

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

RotatingMachinery

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporation httpwwwhindawicom

Journal ofEngineeringVolume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Shock and Vibration

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mechanical Engineering

Advances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Electrical and Computer Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Distributed Sensor Networks

International Journal of

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

SensorsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Modelling amp Simulation in EngineeringHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Active and Passive Electronic Components

Advances inOptoElectronics

Hindawi Publishing Corporation httpwwwhindawicom

Volume 2014

RoboticsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Chemical EngineeringInternational Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Control Scienceand Engineering

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Antennas andPropagation

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Navigation and Observation

International Journal of