[ieee noms 2012 - 2012 ieee/ifip network operations and management symposium - maui, hi, usa...

7
A Novel Crash-Tolerant Data Gathering in Wireless Sensor Networks Suchetana Chakraborty, Sandip Chakraborty, Sukumar Nandi, Sushanta Karmakar Department of Computer Science and Engineering Indian Institute of Technology Guwahati, Assam 781039, India Email: {suchetana, c.sandip, sukumar, sushantak}@iitg.ernet.in Abstract—Event driven data gathering or convergecast through sensor nodes requires efficient and correct delivery of data at the sink. A tree rooted at the sink is an ideal topology for data gathering which utilizes sensor resources properly. Resource constrained sensor nodes are highly prone to sudden crash. A set of algorithms, proposed in this paper, builds a data gathering tree rooted at the sink. The tree eventually becomes a Breadth First Search(BFS) tree where each node maintains the shortest distance in hop-count to the root to reduce the routing delay and power consumption. The data gathering tree is repaired locally within a constant round of message transmissions after any random node fails. Simulation result shows that the repairing delay is very less in average, and the proposed scheme can repair from arbitrary node failure using constant number of message passing. I. I NTRODUCTION Sensors with various applicabilities are useful for accessing critical resources, environment monitoring, battlefield surveil- lance, industrial automation and process control, health and traffic monitoring and so on [1]. Being a micro electronic device sensor nodes are limited with power supply and thus saving the non-renewable battery life through efficient power management is one of the most critical research issues in this field. Communication through radio channels demands more power consumption compared to local computation and sensing. Hence reduction in control message transmissions would help in saving the battery power and thus improving the sensor life. Quality of Service(QoS) is another important performance metric which should be offered with assurance for some of the applications. Data gathering or convergecast is one such application in which data are accumulated at the sink without loss or redundancy. The sink based data gathering is one of the most challenging fields of Wireless Sensor Networks(WSN) that has drawn much research interests in recent days. Lindsey et al. [2] have investigated the energy-delay metric for data gathering and proposed a near-optimal solution to increase the network life through power savings. Yu et al. [3] have also studied the energy-latency trade-off for data aggregation. For a given aggregation tree the proposed algorithm reduces the total power consumption under latency constraints. This work is supported by Microsoft Research India Travel Grant Topology of the sensor networks playing an effective role, can be modeled like a spanning tree rooted at the sink as routing through a spanning tree offers minimum duplicate delivery and also assures ordered delivery. Upadhyaula et al. [4] proposed a heuristic solution to minimize both the energy dissipation and data latency for convergecast as well as broadcast. Lu et al. [5] have proposed an energy-efficient scheme for data gathering for large scale system. A Breadth- First Search (BFS) tree is constructed level by level such that leaf nodes are more than intermediate nodes and thus power is saved by turning off the radio of leaf nodes as well as minimizing the distance to the root. Annamalai et al. [6] have proposed a heuristic algorithm for tree construction and channel allocation for both broadcast and convergecast in multi-hop radio network. Li et al. [7] have analyzed the complexity of data collection in terms of message transmis- sion, power consumption and delay for WSN. They claimed that the total number of packet relays as well as the delay will be minimum if forwarded through a BFS tree. In another paper [8], the authors proved that data collection using a BFS tree offers maximum collection capacity. So using a BFS tree would be a good option for data gathering as the hop-count distance between the sink and each sensor node in the network is minimum for a BFS tree [9]. However, the construction of BFS tree in distributed environment usually involves explosion of control messages due to flooding that incurs significant overhead of communication cost. So the study of efficient distributed BFS tree construction is also an interest of current research [10], [11]. All the above mentioned works on convergecast that try to gain low latency and the reduced energy dissipation at sensor nodes are suitable for particularly stable and static network which is ideal. A sudden crash of an arbitrary sensor node may lead to the problem of incorrect tree structure. There are few works which tried to offer robustness and reliability for the fault tolerant distributed system that deals with spanning trees [12], [13]. Fei et al. [14] have proposed a proactive approach for tree recovery. England et al. [15] have also studied the robustness of a spanning tree used for data collection or dissemination in WSN. They proposed a centralized as well as an distributed algorithm to construct the topology that can withstand faults and also takes power consumption and data loss into account. 978-1-4673-0269-2/12/$31.00 c 2012 IEEE 940

Upload: sushanta

Post on 15-Dec-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [IEEE NOMS 2012 - 2012 IEEE/IFIP Network Operations and Management Symposium - Maui, HI, USA (2012.04.16-2012.04.20)] 2012 IEEE Network Operations and Management Symposium - A novel

A Novel Crash-Tolerant Data Gathering in WirelessSensor Networks

Suchetana Chakraborty, Sandip Chakraborty, Sukumar Nandi, Sushanta KarmakarDepartment of Computer Science and Engineering

Indian Institute of Technology Guwahati, Assam 781039, IndiaEmail: {suchetana, c.sandip, sukumar, sushantak}@iitg.ernet.in

Abstract—Event driven data gathering or convergecast throughsensor nodes requires efficient and correct delivery of data atthe sink. A tree rooted at the sink is an ideal topology fordata gathering which utilizes sensor resources properly. Resourceconstrained sensor nodes are highly prone to sudden crash. A setof algorithms, proposed in this paper, builds a data gathering treerooted at the sink. The tree eventually becomes a Breadth FirstSearch(BFS) tree where each node maintains the shortest distancein hop-count to the root to reduce the routing delay and powerconsumption. The data gathering tree is repaired locally within aconstant round of message transmissions after any random nodefails. Simulation result shows that the repairing delay is very lessin average, and the proposed scheme can repair from arbitrarynode failure using constant number of message passing.

I. INTRODUCTION

Sensors with various applicabilities are useful for accessingcritical resources, environment monitoring, battlefield surveil-lance, industrial automation and process control, health andtraffic monitoring and so on [1]. Being a micro electronicdevice sensor nodes are limited with power supply and thussaving the non-renewable battery life through efficient powermanagement is one of the most critical research issues inthis field. Communication through radio channels demandsmore power consumption compared to local computation andsensing. Hence reduction in control message transmissionswould help in saving the battery power and thus improvingthe sensor life.

Quality of Service(QoS) is another important performancemetric which should be offered with assurance for some ofthe applications. Data gathering or convergecast is one suchapplication in which data are accumulated at the sink withoutloss or redundancy. The sink based data gathering is one of themost challenging fields of Wireless Sensor Networks(WSN)that has drawn much research interests in recent days. Lindseyet al. [2] have investigated the energy-delay metric for datagathering and proposed a near-optimal solution to increase thenetwork life through power savings. Yu et al. [3] have alsostudied the energy-latency trade-off for data aggregation. Fora given aggregation tree the proposed algorithm reduces thetotal power consumption under latency constraints.

This work is supported by Microsoft Research India Travel Grant

Topology of the sensor networks playing an effective role,can be modeled like a spanning tree rooted at the sink asrouting through a spanning tree offers minimum duplicatedelivery and also assures ordered delivery. Upadhyaula etal. [4] proposed a heuristic solution to minimize both theenergy dissipation and data latency for convergecast as wellas broadcast. Lu et al. [5] have proposed an energy-efficientscheme for data gathering for large scale system. A Breadth-First Search (BFS) tree is constructed level by level suchthat leaf nodes are more than intermediate nodes and thuspower is saved by turning off the radio of leaf nodes aswell as minimizing the distance to the root. Annamalai et al.[6] have proposed a heuristic algorithm for tree constructionand channel allocation for both broadcast and convergecastin multi-hop radio network. Li et al. [7] have analyzed thecomplexity of data collection in terms of message transmis-sion, power consumption and delay for WSN. They claimedthat the total number of packet relays as well as the delaywill be minimum if forwarded through a BFS tree. In anotherpaper [8], the authors proved that data collection using aBFS tree offers maximum collection capacity. So using aBFS tree would be a good option for data gathering as thehop-count distance between the sink and each sensor node inthe network is minimum for a BFS tree [9]. However, theconstruction of BFS tree in distributed environment usuallyinvolves explosion of control messages due to flooding thatincurs significant overhead of communication cost. So thestudy of efficient distributed BFS tree construction is also aninterest of current research [10], [11]. All the above mentionedworks on convergecast that try to gain low latency and thereduced energy dissipation at sensor nodes are suitable forparticularly stable and static network which is ideal.

A sudden crash of an arbitrary sensor node may lead to theproblem of incorrect tree structure. There are few works whichtried to offer robustness and reliability for the fault tolerantdistributed system that deals with spanning trees [12], [13].Fei et al. [14] have proposed a proactive approach for treerecovery. England et al. [15] have also studied the robustnessof a spanning tree used for data collection or dissemination inWSN. They proposed a centralized as well as an distributedalgorithm to construct the topology that can withstand faultsand also takes power consumption and data loss into account.978-1-4673-0269-2/12/$31.00 c© 2012 IEEE

940

Page 2: [IEEE NOMS 2012 - 2012 IEEE/IFIP Network Operations and Management Symposium - Maui, HI, USA (2012.04.16-2012.04.20)] 2012 IEEE Network Operations and Management Symposium - A novel

In this paper, a novel scheme has been proposed thatconstructs a tree rooted at the sink which gradually becomesa BFS tree through restrained improvement of level at eachnode. Although several works exist to construct a BFS treein distributed way, a new approach has been introduced asduring the tree construction phase each node performs a localcomputation based on prior neighborhood information. A localpre-computation for alternate parent selection helps in findingout an alternate path to the root for quick emergency repairingafter a parent node fails. The local tree repairing scheme isfast and requires only a few control message exchange whichsaves critical battery power of sensor nodes. The proposedscheme supports arbitrary node failure at different locality ofthe network. Simulation results verify that the convergecastmessage loss or redundant delivery due to arbitrary node crashis assured to be minimized, and the repairing delay is foundto be less.

II. CRASH-TOLERANT DATA GATHERING SCHEME

In this work, a set of algorithms has been proposed thatconstructs a spanning tree rooted at the sink such that eventu-ally it becomes a BFS tree maintaining the property of shortestdistance from any node to the root. When a node fails, eachnode in its neighborhood takes immediate decision based onprecomputed plan to repair the tree locally.

A. System Model

Let there be n number of sensor nodes scattered randomlyin the environment to be monitored. The arbitrary distributionof sensors can be represented by the communication graphG(V, E) where V denotes the set of nodes and E be the setof edges between communicating nodes. There exists a specialsink node in which all the data are accumulated. Also thereexists a sufficiently large FIFO buffer at each node to holdthe incoming data. The mode of communication is assumedto be asynchronous and the channel be reliable and FIFO. Thenetwork is assumed to be static and hence links are reliablebut a node may crash suddenly or leave the system becauseof power exhaustion randomly. Furthermore it is assumed thatno simultaneous multiple node crash can occur in the samelocality and no node fails during the initial construction ofthe data gathering tree. These assumptions does not violatethe generosity of sensor network, as the probability of nodefailure at initial setup of the network, as well as the probabilityof simultaneous node failure at same locality is very lowin general. Tbale I shows the system variables used in thealgorithms.

B. Initialization : A Distributed Tree Construction

The initial tree construction and incremental level updatingprocedure have been described pictorially in figure 1 tofigure 4 where each circle represents a sensor node, shadedcircle being the sink. Each arrow represents the tree edgewhere as each dashed line between any two nodes representsthe presence of communication link. Initially the sink node astarts tree construction by forwarding TOKEN(0, Null) to all

Algorithm 1 On receiving TOKEN(mLevel, pid) from v by u

1. grandParent[v] ← pid2. altParentLevel[v] ← mLevel3. if visited = False ∧ timer = False then4. visited ← True /*Received TOKEN for the first time*/

5. minDist ← mLevel + 16. Call bfsParentSelect(v)7. for all w ∈ N(u) \ {p(u)} do8. Send TOKEN(level, p(u)) to w9. end for

10. else11. if mLevel + 1 < minDist then12. minDist ← mLevel + 1 /*minDist is improved level*/

13. altp ← v /*altp is impoved parent*/

14. if timer = False then15. timer ← True /*Reset timer to hold level update*/

16. end if17. end if18. end if

its neighbors as in Fig. 1. Upon receiving TOKEN(mLevel, pid)for the first time from a node v, each node u selects v as itsparent, sets its level = mLevel + 1; updates minDist(whichholds the shortest hop-count to the root node) and sets itsvisited to True. Figure 2 depicts that nodes receive TOKENmessage and assign their levels correctly. On receiving furtherTOKEN, if minDist gets improved then a timer is set forfurther improvement of minDist. Thus the node is refrainedfrom immediate parent update and a significant amount ofmessage explosion can be avoided as a consequence. Oncetimer goes out, the T imeOut procedure as in Algorithm 6is called to change its parent by selecting the node havingminimum level in neighborhood. In Fig. 3, node c calls theprocedure T imeOut after receiving a TOKEN from the rootnode and thus improving its minDist. Then the updatedlevel is advertised through TOKEN messages forwarded toall neighbors except the parent. Node g and node j updatetheir respective levels on timeout. In this way a BFS tree isconstructed as in Fig. 4 where each node eventually selectsthe correct parent having the shortest hop-count to the rootnode.

Algorithm 2 Procedure bfsParentSelect(w) called by u

1. if p(u) �= w then2. halt ← True /*Parent switching holds to clear data from Buffer*/

3. Call switchParent(w)4. else5. Send ADD to p(u)6. end if

C. Contingency Plan for Single Node Crash

Each node u calls the pullInfo procedure to pre-computeits alternate path to the root after all its neighbors have reacheda stable state by selecting the correct parent. Whenever a

2012 IEEE Network Operations and Management Symposium (NOMS): Mini-Conference 941

Page 3: [IEEE NOMS 2012 - 2012 IEEE/IFIP Network Operations and Management Symposium - Maui, HI, USA (2012.04.16-2012.04.20)] 2012 IEEE Network Operations and Management Symposium - A novel

TABLE ISTATE VARIABLES AT EACH NODE u

Variable Name Type Initial Value Meaning

visited Boolean False True if u selects its parent after receiving first TOKENtimer Boolean False True on start up of the system Timerblock Boolean False When True, stops forwarding data from Bufferhalt Boolean False Controls the flow of application message in Bufferpower Boolean False True if Neighbor(u) − {Child(u) ∪ Sibling(u) ∪ p(u)} �= φp(u) Integer Parent of ulevel Integer Level of u at the BFS treeminDist Integer The shortest distance in hop-count from the rootpowerParent Integer Null The node with minimum level in neighborhood for which power = TrueboostParent Integer Null a node w in neighborhood whose power = TruealtParentLevel[v] Integer ∞ v=level of w, ∀w ∈ Neighbor(u)toServe Integer Null ID of the node to which ReqParentACK has to be sentgrandParent[v] Integer Null v = p(w)∀w ∈ Neighbor(u)bpLevel Integer ∞ Temporary level required to find the node with minimum level for the selection of boostParentSibling(v) Set Null IDs of those w ∈ Neighbor(v) : p(w) = p(v)N(u) Set ID of the nodes directly connected to uChild(u) Set Children of u

a

d

h

j

g

c

i

f

b

e

Fig. 1. Initial graph G

0a

d

1

2

h

j

g

c

i

f

2

b

1

2

e

Fig. 2. a, b, d, e, f, h assignlevel correctly

0a

d

1

2

h

j

g

c

i

f

2

b

1

2

e

3

3

4

Fig. 3. c and g selects wrongparent; j selects right parentwith incorrect level

01

2

3

2

1

1

22

3

a

b

ef

g

c

d

h

j

i

Fig. 4. Final tree: all the nodesselect correct parent

Algorithm 3 Procedure switchParent(w) called by u

1. while halt=True do2. Wait /*Application Message Controller(AMC) will set halt to False

eventually breaking the loop*/

3. end while4. block ← True /*Suspends application data flow in Buffer*/

5. Send REMOVE to p(u)6. p(u) ← w7. level ← mLevel + 18. Send ADD to p(u)9. block ← False /*Resumes application data flow in Buffer*/

Algorithm 4 On receiving ADD from v by u

1. if v �∈ Child(u) then2. Child(u) ← Child(u) ∪ v3. end if

Algorithm 5 On receiving REMOVE from v by u

1. halt ← True /*Parent switching holds to clear data from Buffer*/

2. while halt = True do3. Wait /*AMC will set halt to False eventually breaking the loop*/

4. end while5. Child(u) ← Child(u) \ {v}

Algorithm 6 Procedure T imeOut called by u

1. Call switchParent(altp)2. Send TOKEN(level, p(u)) to w : ∀w ∈ N(u) \ {p(u)}3. timer ← False

change occurs in neighborhood topology, a node recomputesits alternate parent by calling pullInfo procedure. First eachnode calculates its Sibling set which includes all the nodes inneighborhood, whose parents are same with that of p(u) as inAlgorithm 7. A node u is called Power node if there exists atleast one node w ∈ N(u) such that the edge between u andw in the graph G is a cross edge and also w /∈ Sibling(u).Then w is called powerParent of u. u sets power variable toTrue and forwards a Booster(level) message to all neighborsexcept the powerParent. If more than one such w existsthen one with minimum level becomes the powerParent.All remaining nodes in G whose power = False and hasreceived such Booster message are called Booster nodes.If a node u receives Booster message from more than onenodes, then one among them with minimum level becomesboostParent(u). The following Theorems and Lemmas aregiven as a justification for the successful completion of thetree construction, correctness of the all tree properties and theestimation of message complexity. However, thee detail proofsare not reported in this paper due to space constraints.

Lemma 1. Each node in G receives TOKEN message at least

942 2012 IEEE Network Operations and Management Symposium (NOMS): Mini-Conference

Page 4: [IEEE NOMS 2012 - 2012 IEEE/IFIP Network Operations and Management Symposium - Maui, HI, USA (2012.04.16-2012.04.20)] 2012 IEEE Network Operations and Management Symposium - A novel

Algorithm 7 Procedure pullInfo called by u

1. Sibling ← Sibling∪v, ∀v ∈ N(u) : grandParent[v] =p(u)

2. if ∃w ∈ {N(u) \ {Sibling(u)∪Child(u)∪ p(u)}} then3. power ← True4. powerParent ← x : altParentLevel[x] =

min{altParentLevel[w]}5. Send Booster(altParentLevel[w]+1) to N(u)\{x}6. end if

Algorithm 8 On receiving Booster(mLevel) from v by u

1. if power = False∧v �= p(u)∧mLevel < bpLevel then2. boostParent ← v3. bpLevel ← mLevel4. Send Booster(bpLevel+1) to N(u)\{boostParent}5. end if

once.

Theorem 1. The algorithm for tree construction terminateseventually.

Lemma 2. Let u be a Booster node and w be itsboostParent; Then either w ∈ Child(u) is true or p(w) =p(u) is true.

Lemma 3. Let there be a path in the tree P = {x1, x2, ..., xn}such that x1 = p(x2), x2 = p(x3), ..., xn−1 = p(xn). Hence�e ∈ ET where ET is the set of tree edges, EN is the set ofnon-tree edges and ET ∪EN = E; such that if e = {xn, x1},then xn �= p(x1).

Lemma 4. Let h(u) denotes the height of the node u fromthe root. So ∀u ∈ V , h(u) = min{p1, p2, ..., pn} where{p1, p2, ..., pn} is the set of all possible paths from the root tothe node u.

Theorem 2. The algorithm produces a correct BFS tree fordata gathering rooted at the sink node.

Theorem 3. The worst case message complexity for treeconstruction is O(|E|).

D. Handling a Single Node Crash

When a node x fails, lower layer at each node u in theneighborhood is assumed to detect that and inform it to theoverlay crash handler through the DetectCrash(x) signal. Thenu performs necessary actions according to Algorithm 9 torepair the tree locally as per the contingency plan computedearlier. Fig. 5 - Fig. 7 give the pictorial description of anarbitrary node crash repairing mechanism. To reset the parentvariable after the parent fails, a node only need to exchangea pair of messages (ReqParent and ReqParentACK) with itspre-computed alternate parent. The UpdateLevel message isrequired to maintain the BFS properties at every node evenafter the repairing is over. The correctness of the algorithmsto repair the tree from a node crash as well as the computation

Algorithm 9 On receiving DetectCrash(ID) by u from thelower layer on detecting a node failure in neighborhood

1. Neighbor(u) ← Neighbor(u) \ {ID}2. if ID ∈ Child(u) then3. halt ← True /*Switching holds to clear data from Buffer*/

4. while halt = True do5. Wait for AMC to return/*Application Message Controller

will set halt to False eventually breaking the loop*/

6. end while7. Child(u) ← Child(u) \ {ID}8. else if ID = p(u) then9. block ← True

10. Send holdFlow to v ∈ Child(u)11. p(u) ← φ12. if power = True then13. Send ReqParent to powerParent14. else15. Send ReqParent to boostParent16. end if17. end if

Algorithm 10 On receiving ReqParent from v by u

1. if v = p(u) then2. p(u) ← φ3. end if4. if p(u) �= φ then5. Send ReqParentACK(level) to v6. Child(u) ← Child(u) ∪ v7. else8. toServe ← v9. if power = True then

10. Send ReqParent to powerParent11. else12. Send ReqParent to boostParent13. end if14. end if

Algorithm 11 On receiving ReqParentACK(mLevel) from vby u

1. p(u) ← v2. level ← mLevel + 13. minDist ← level4. block ← False5. if toServe �= NULL then6. Send ReqParentACK(level) to toServe7. Child(u) ← Child(u) ∪ toServe8. end if9. Send UpdateLevel(level) to Child(u)

2012 IEEE Network Operations and Management Symposium (NOMS): Mini-Conference 943

Page 5: [IEEE NOMS 2012 - 2012 IEEE/IFIP Network Operations and Management Symposium - Maui, HI, USA (2012.04.16-2012.04.20)] 2012 IEEE Network Operations and Management Symposium - A novel

01

2

3

2

1

1

22

3

a

b

ef

g

c

d

h

j

i

Fig. 5. Node c fails. Node a, f and g detectand update neighbor/child accordingly

0

1

22

1

2

a

b d

ef

g

h

ji

3

44

Fig. 6. Node g sends ReqParent to itspowerParent, node f. On receiving Req-ParentACK, node g sends UpdateLevel to itschildren node i and j

0

1

22

1

2

a

b d

ef

g

h

ji

3

43

Fig. 7. Node j changes parentfrom node g to node h due tolevel improvement. Final treeafter repairing

cost of repairing can be established by the following Lemmasand Theorems. However, the detail proofs are not reported inthis paper due to space constraints.

Algorithm 12 On receiving UpdateLevel(mLevel) from v byu

1. level ← mLevel + 12. if ∃w ∈ N(u) : altParentLevel[w] < level then3. Call switchParent(w)4. end if5. minDist ← level6. Send UpdateLevel(level) to Child(u)7. if block = True then8. block ← False9. end if

Theorem 4. Let Up be a set of nodes such that ∀u ∈Up, power = True; and Ub be another set of nodes such that∀u ∈ Ub, power = false. Then Up∪Ub = V and Up∩Ub = φare always true.

Theorem 5. Let there exists a path P = {x1, x2, ..., xn} in thetree such that x1 = p(x2), x2 = p(x3), ..., xn−1 = p(xn). Ifx1 fails, �w ∈ S where S = {x3, x4, ..., xn} such that eitherpower = True at w or there must be at least one node y ∈ Ssuch that either power = True at y or boostParent(y) /∈ S;where w = p(x2) after repairing.

Lemma 5. For a set of nodes S = {x1, x2, ..., xn} with acommon parent w there must be at least one node u ∈ S suchthat power = True at u.

Lemma 6. Each node resets its parent by exchanging a pairof messages (ReqParent and ReqParentACK) with its alternateparent.

Theorem 6. Any arbitrary single node fault can be repairedwithin constant round of message transmission.

Theorem 7. If a parent node fails, during the repair time anynumber of further node, except the alternate parent, failure istolerated and repaired locally.

E. Application Message Controller

Each data packet received is enqueued in a local Buffer. Theflow of application data to and from the Buffer is controlled by

the Application Message Controller(AMC) as in Algorithm 13.During the parent change no redundant data is generated or nodata is lost which is handled by the AMC and two Booleanvariables, block and halt. The data buffered at the crashednode x can not be recovered. However, data packets that areyet to be forwarded to x and buffered at all the children of xare rerouted to the sink after parents are reassigned correctly.At the time of tree repairing each node u for which p(u)became Null, forwards a holdFlow message to its children.This suspends outgoing data flow by setting block = True ateach child of u. The holdFlow messages are forwarded towardsthe leaves through the paths of the subtree rooted at x until aPower node is found. Thus the upward application data flowis suspended at each node in those paths. This reduces theoverhead of redundant path traversal for application data dueto node crash. On receiving UpdateLevel, block becomes false,and data transfer starts again.

Algorithm 13 Application Message Controller: On receivingApplication message M

1. Put M in Buffer2. if halt = True then3. Insert # in Buffer4. end if5. while Buffer �= Full∧ block = False∧ ∗Buffer �= #

do6. Send *Buffer to p(u)7. end while8. if *Buffer = # then9. Adjust Buffer index

10. halt ← False11. end if

III. SIMULATION RESULT

The proposed tree repairing scheme for convergecast hasbeen simulated through the Network Simulator [16]. SMACis considered for MAC layer protocol with 100Mbps data rate.Sensor nodes are deployed randomly in a 1000× 1000 arena.The simulation can be done for any number of nodes organizedin a random topology; however to analyze the behavior ofthe proposed scheme under extreme conditions, two differentscenarios have been considered, one for a ring topology andother for a chain topology. In the worst case scenario, with

944 2012 IEEE Network Operations and Management Symposium (NOMS): Mini-Conference

Page 6: [IEEE NOMS 2012 - 2012 IEEE/IFIP Network Operations and Management Symposium - Maui, HI, USA (2012.04.16-2012.04.20)] 2012 IEEE Network Operations and Management Symposium - A novel

1

2

3

4

5

6

7 8

9

10

11

12

13

Fig. 8. BFS tree for a ring

2

4

1

3

5

6

7

8

Fig. 9. BFS tree for a chain

a ring topology only the two extreme leaf nodes are Powernodes; remaining are Booster nodes. Thus for a single nodefailure, a series of nodes become victim as their parentsbecome invalid. The repairing involves more number of nodeswith increased repair time and message exchange. The bestcase scenario is when the subtree rooted at node u, where u isa Power node, form a chain structure after p(u) fails. Thenu sets new parent in constant time. Also its descendants donot need to change parent if the level of u remains same. Therepairing cost that has to bear by all these nodes is only theblocking time in forwarding convergecast messages.

A. Case I : For a ring topology

Figure 8 shows a BFS tree for a ring topology of 13 nodeswhere node 1 is the sink and thus the root of the tree. Node7 and node 8 are the leaf nodes for the initial data gatheringtree. All application data are accumulated at the sink node 1.Now let node 2 suddenly fails. So parent variable for node3 becomes invalid. Likewise, parents for all the nodes in aseries from node 4 to node 7 become invalid as all of themare descendants of node 3 and are Booster nodes. Each nodefixes its parent through exchanging a pair of messages withits alternate parent according to Lemma 6. The repairing time,denoted by Δ, at each node for the series of victim nodes havebeen given in Table II. Δ is the difference between Start-time(when block = True after receiving holdFlow) and End-time(when block = False, after receiving UpdateLevel). It canbe noted that Δ decreases as we proceed from the originalvictim, node 3, towards the leaf node. The tree is repairedas the nodes exchange control messages with their respectivealternate parents at next higher level, starting from node 3 atlevel 2 and ending at node 7 at level 6. So the total numberof control message exchange for repairing is 18, which alsosatisfies the theoretical proposition in Theorem 6. It has beenobserved from the analysis of the simulation trace, that onlyone message is lost as hold by the parent of node 3 whenit fails. Remaining messages are delivered to the sink withoutany loss or redundancy. However, depending on the applicationdata rate some messages might be delivered to the sink out oforder as a series of nodes reverse the parent-child relationshipin this scenario.

TABLE IIREPAIRING TIME(IN SEC) FOR THE VICTIM NODES IN A RING TOPOLOGY

Node Id Start-time End-time Δ

3 250.0435 250.3566 0.31314 250.0537 250.3285 0.27585 250.0773 250.2944 0.21716 250.1130 250.2727 0.10977 250.1346 250.2409 0.1063

TABLE IIIREPAIRING TIME (IN SEC) FOR THE VICTIM NODES IN A CHAIN TOPOLOGY

Node Id Start-time End-time Δ

4 250.026 250.045 0.0195 250.035 250.052 0.0176 250.043 250.060 0.0177 250.047 250.067 0.0208 250.054 250.074 0.020

B. Case II : For a chain topology

Figure 9 shows the BFS tree for a chain topology of 8 nodes.Let node 3 fails. This is the simplest case as node 4 is a Powernode and it sets its parent to node 2, after node 3 fails, throughonly a pair of message exchange from Lemma 6. Each of thenodes from node 5 to node 8 does not change parent; neitherdue to parent invalidation nor due to level improvement. Eachof them receives one holdFlow message and one UpdateLevelmessage. So in total 10 control messages are exchanged torepair the tree which also validates the theoretical propositionin Theorem 6. The repairing time for each node in the chaingiven in the Table III. Depending on the depth of the leaf inthe path starting from node 3 and the link delay for receivingfirst holdFlow and then UpdateLevel message, Δ increases asobserved from node 5 towards the leaf node 8.

The simulation is also executed for complex network topolo-gies, and the result is found to be similar. However, it is notreported in this paper due to space constraints.

IV. CONCLUSION

In this paper, a scheme has been proposed to construct aBFS tree for data gathering where each node computes itsalternate path to the sink, based on neighborhood informationcollected during the tree construction. Thus when a node fails,all its neighbors can take actions in constant time to repairthe tree locally. This approach makes the repairing fast andof low cost which in turn improves QoS and saves batterypower. Simultaneous single node failures (excluding alternateparent failure) can be repaired by the proposed scheme. Let thecommunication graph G is k-connected. The crash of a seriesof (k−1) nodes adjacent to each other may partition G. Hencefor any k-connected graph G, at most (k−1) node crashes thatare adjacent to each other can be tolerated before G becomespartitioned. However, more than (k − 1) non-adjacent nodecrash can be tolerated by the proposed scheme. Simulationresults confirms the theoretical proposition with the assuranceof correct delivery of convergecast messages without any lossor redundancy even for a series of arbitrary node crash.

2012 IEEE Network Operations and Management Symposium (NOMS): Mini-Conference 945

Page 7: [IEEE NOMS 2012 - 2012 IEEE/IFIP Network Operations and Management Symposium - Maui, HI, USA (2012.04.16-2012.04.20)] 2012 IEEE Network Operations and Management Symposium - A novel

REFERENCES

[1] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, “Wire-less sensor networks: A survey,” Computer Network Elsevier Journal,vol. 38, pp. 393–422, March 2002.

[2] S. Lindsey and C. Raghavendra, “PEGASIS: Power-efficient gatheringin sensor information systems,” in IEEE Aerospace Conference Proceed-ings, vol. 3, 2002, pp. 1125–1130.

[3] Y. Yu., B. Krishnamachari, and V. Prasanna, “Energy-latency tradeoffsfor data gathering in wireless sensor networks,” in INFOCOM, vol. 1,2004.

[4] S. Upadhayayula, V. Annamalai, and S. Gupta, “A low-latency andenergy-efficient algorithm for convergecast in wireless sensor networks,”in Global Telecommunications Conference, IEEE, vol. 6, 2003, pp.3525–3530.

[5] K. Lu, L. Huang, Y. Wan, and H. Xu, “Energy-efficient data gatheringin large wireless sensor networks,” in Proceedings of the SecondInternational Conference on Embedded Software and Systems, 2005,pp. 327–331.

[6] V.Annamalai, S. Gupta, and L.Schwiebert, “On tree-based converge-casting in wireless sensor networks,” in Proceedings of IEEE WirelessCommunication and Networking Conference, 2003, pp. 1942–1947.

[7] X.-Y. Li, Y. Wang, and Y. Wang, “Complexity of data collection,aggregation, and selection for wireless sensor networks,” IEEE Trans.on Computers, vol. 60, pp. 386–399, 2011.

[8] S. Chen, S. Tang, M. Huang, and Y. Wang, “Capacity of data collectionin arbitrary wireless sensor networks,” in Proceedings of IEEE INFO-COM, 2010, pp. 1–5.

[9] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, “Introductionto algorithms, second edition,” 2001.

[10] C. Johnen, “Memory efficient, self-stabilizing algorithm to construct bfsspanning trees,” in Proceedings of the sixteenth annual ACM symposiumon Principles of distributed computing, 1997.

[11] C. Boulinier, A. K. Datta, L. L. Larmore, and F. Petit, “Space efficientand time optimal distributed bfs tree construction,” Inf. Process. Lett.,vol. 108, pp. 273–278, 2008.

[12] S. Zou, I. Nikolaidis, and J. J. Harms, “Encast: Energy-critical nodeaware spanning tree for sensor networks,” in Proceedings of the 3rdAnnual Communication Networks and Services Research Conference,2005, pp. 249–254.

[13] T. Herault, P. Lemarinier, O. Peres, L. Pilard, and J. Beauquier, “Briefannouncement: self-stabilizing spanning tree algorithm for large scalesystems,” in Proceedings of the 8th international conference on Stabi-lization, safety, and security of distributed systems, 2006, pp. 574–575.

[14] Z. Fei and M. Yang, “A proactive tree recovery mechanism for resilientoverlay multicast,” in IEEE Trans. on Networking, vol. 15, 2007, pp.173–186.

[15] D. England, B. Veeravalli, and J. B. Weissman, “A robust spanning treetopology for data collection and dissemination in distributed environ-ments,” IEEE Trans. on Parallel Distrib. Syst., vol. 18, pp. 608–620,2007.

[16] Ns-2 network simulator, version 2.34. [Online]. Available:http://www.isi.edu/nsnam/ns/

946 2012 IEEE Network Operations and Management Symposium (NOMS): Mini-Conference