Fault-tolerant Energy-efficient Tree in Dynamic Wsns

Broadcasting has a main importance in Wireless Sensor Networks (WSNs). Effectively, the sink node has to collect periodically, data from the environment supervised by sensors. To perform this operation, it sends requests to all nodes. Furthermore, WSNs have a dynamic behaviour due to their evolution. At any time, a node can be retrieved from the network due to an exhausting energy or a node problem. In fact, WSNs are prone to failure such as software or hardware malfunctioning, exhaustion of energy, wireless interference and environmental hazards. Thus, an appropriate broadcasting method should take into consideration this aspect and uses the less possible amount of energy to accomplish the task. In this paper, a robust tree-based scheme is proposed which is called Robust Tree Broadcasting (RTB). The new scheme has a load-balanced behaviour which induces an efficient use of energy. In addition, RTB has a high-quality fault tolerant performance.


INTRODUCTION 1.1 Overview
WSNs are generally composed of many sensor nodes controlled by base station.Each sensor is a small device capable to sense, compute and communicate via wireless channel.The low cost of these devices, the capability of collecting, computing and communicating data have attracted the attention of the com-munity.Thus, WSNs are actually used in several domains such us military, health care, environment and others [1,2].Broadcast process is a fundamental operation in wireless sensor networks.In fact, the base station has to collect periodically, information from the environment supervised by the deployed sensors.So, base station has to send requests to all sensors by a flooding or using an appropriate method.For that many broadcasting algorithms were proposed such us in [3].WSNs have also a dynamic behaviour because they evolve in time.At each time some nodes can be retrieved from the network due to a robbery or exhausting energy or the node can be taken by a per-son to be recharged.After the leave out of node, some links will be deleted.This behaviour induces a dynamic topology to the network.On the other hand, sensor nodes are deployed without any underlying physical infrastructure and in unmonitored environment.So, sensors are prone to failures such as software or hardware malfunctioning, energy exhaustion, wireless interference, environmental hazards.According to these facts, fault tolerance has an important effect on methods used in WSNs.Which mean to carry out methods and solutions in deferent levels of functionalities capable to detect fault and after that proceed to the resolution.Therefore, the conception of new broadcasting method for WSNs should use the minimum amount of sensor energy and take into consideration the dynamic behaviour of these networks.In addition, it should provide an acceptable level of fault tolerance.Thus, providing a fault tolerant broadcasting method means to define method capable to detect itself the occurrence of faults and after it proceeds to the elimination of them.The most important fault of a routing or broadcasting method is the cutting of paths between nodes.This cutting is happened due to: -The existence of obstacles between nodes: Consequently, the broadcasting method should detect this problem and find new path for the unreachable node.
-The failure of a node: due to an exhausting battery, the node is switched of, a robbery or software malfunctioning.Consequently, if this node belongs to a routing path, the broadcasting method proposed should substitutes it by another node or find another path consists of other nodes in order to link the cut path.
Many methods were defined to carry out a fault tolerant routing or broadcasting in WSNs, by selecting special fault tolerant backbone based on connected dominated set [4][5][6] and provides a multi-path structure or based on multi-trees [7].In this paper a backbone based on dynamic tree is defined.The proposed backbone changes dynamically after a node failure or if there is problems in channel of communication between nodes happen due to obstacles or wireless interference trouble.The remainder of this paper is organized as follows: In the next subsection there are some important definitions.Section 2 outlines the most known fault tolerant broadcasting and routing methods and algorithms, which have been proposed recently.In Section 3, there is a proposition of two algorithms aimed to extract respectively a best and worst tree in k-connected graphs.Section 4 provides a new fault tolerant energy aware scheme for broadcasting in dynamic WSNs.The proposed method is based on a dynamic tree which is capable to deliver a packet, sent initially from the sink node, all over the networks.Finally, a recapitulation of the proposed research work is given.

Network Model
WSNs can be considered as a graph G (V, E), where the nodes represent the set of vertex V and E the set of edges.An edge exists between two nodes A and B in this graph if a packet sent from A can be received at B or from B to A. We only consider unit disk graph.

k-connected Graph
A graph G (V, E) is k-connected if and only if it contains k independent paths between any two vertices.

k-connected m-dominating set
A subset C of G(V, E) is k-connected m-dominating set if every node in V \C is dominated by at least m nodes in C and the sub graph induced by C is k-connected, The nodes in C are denoted as dominators, and nodes in V \C are denoted as dominates.

r-hop
Given two vertexes u and v of a graph G(V, E), u is r-hop connected by v if we can find a path in G from u to v within r hops i.e. this path has r-1 intermediates nodes.

r-hop connected k-dominating set
A subset D of G(V, E) is r-hop connected k-dominating set if every node in V \D is r-hop dominated by at least k nodes in D and the sub graph induced by D is connected, The nodes in D are denoted as dominators, and node in V \D are denoted as dominates.

k-Tree
Given a connected graph G(V, E), a spanning tree of G is the maximal set of E that contains no cycle, or the minimal set of E that connects all vertices.If G is k-connected then it can contain k possible Trees which have the sink node as root denoted k-tree.

RELATED WORK
The reliability of WSNs is affected by faults that may happen due to various reasons such as hardware or software malfunctioning glitches, dislocation, or environmental hazards, e.g.fire, flood or robbery.In [8,9] the authors provide a general survey of fault tolerance in deferent level of WSNs.In [10] there is a description of some fault tolerant routing protocols and strategies in WSNs.In what follows, a study of the most interested fault tolerant methods for routing and broadcasting is given.

Redundant nodes
A simple solution to resist against the node disappearance problem is to inject redundant sensors in special zone such as hazardous or important zone.If a node will not respond it will be substituted automatically.In [11] the authors use a backbone consists of groups.Every group contains a set of nodes.The node that participates is called active other nodes are passive.If an active node has a problem it will be substituted by another node in the same group.An illustration of backbone formed by groups [11] is given in figure 1.

(k,m)CDS
The (k.m)CDS problem [5,6] has been well studied.This idea is based on constructing a special CDS-based backbone.Using this virtual backbone, a sender can send packets to its neighbouring dominator.Then along the CDS, the packets are sent to the dominator closest to the receiver.Finally, the packets are delivered to the receiver.Inside CDS there is k different paths between every couple of node, consequently if a path is broken other paths can be used.In addition every node in the network and out of CDS is dominated by m node in CDS.In [12] there is a proposition to construct CDS by the use of timers that can be applied with MANET: Mobile Ad Hoc Networks.Another proposition of CDS for MANET can be cited in [13].In [14] authors propose a new approach to select virtual backbone via a distributed construction of CDS.

(k,r)CDS
The big size of CDS has a bad effect on energy.In fact information have to circle in a long path which increases the amount of consumed energy to route the data from the sender to the receiver for that (k,r)CDS [15] was proposed to minimize the size of CDS.In [16] there is a proposition of two approximation algorithms for minimum 2-connected r-hop dominating set.The proposed methods are applicable with a 2-connected graph.

k-connected Backbone
A k-connected backbone: k-CB in k-connected graph can be treated as resolving (k,1)CDS.In [17] the authors propose a decentralized algorithm to resolve 2-CB, the proposed algorithm is called Connecting Dominating Set Augmentation: CDSA.CDSA built a backbone that can resist the failure of one wireless node with small overhead.

k-Tree
The construction of a tree in a graph helps to link all nodes which are a perfect solution for broadcasting.In [18] authors propose a tree construction algorithm for wireless networks which is based on minimum cost spanning tree.The weight of edges (u, v) in the graph is the needed energy for sending packet from u to v. The tree-based broadcasting can be also used with MANET, in [19] authors propose an efficient tree based broadcasting scheme.The algorithm proposed is reliable and stable against the dynamic aspect of network.Decentralized protocols to find low cost tree in WSNs was proposed in [20] for doing broadcast or multi-cast.The proposed schemes are reliable and energy efficient.In [21,22] there is a definition of reliable tree-based broadcasting for WSNs, the proposed algorithms minimizes the loss of packets sent from the source to all nodes in the networks.We can also speak about multi-tree said also k-tree used to make a secure and reliable broadcasting in WSNs which is proposed in [7].As defined the schema is performed in two steps.First, the broadcasting is issued from the sink.Next, the acknowledging is performed from nodes that have successfully received the broadcasted packet to the source.

Synthesis
Many researches were focused on the subject of reliable routing and broadcasting.(k,m)CDS, (k,r-hop)CDS and k-CB don't accord any priority to the sink node or the initial sender node.So, these methods are suitable for routing.However, Tree-based broadcasting starts the construction of the tree or trees from a special node.So, these methods are appropriate for broadcasting.The root of the constructed tree can be considered as the initial sender node of the packet to be broadcasted in the network.Previous fault tolerant tree-based broadcasting methods treat only the power needed to send a packet from a node to its neighbours.Our work is based on remaining energy in nodes.In Fact, the construction of tree is based on node having the maximum energy.

MAXIMUM SPANNING TREE CONSTRUCTIONS
In this section, the algorithm of tree construction is proposed.Indeed, a definition of edge weight is given.In addition, we describe the method of computation of the matrix of weight according to the adjacency matrix.

Edge weight
Given a connected graph G(V, E) and given two vertices u and v of V. Let the remaining energy of sensor nodes u and v is respectively En(u) and En(v).Then, if (u, v) E, the weights of (u, v) and (v, u) is respectively En(v) and En(u).

Computation of matrix weights
Given a connected graph G(V, E) with |V | = n, the adjacency matrix of G is denoted M (n) and the vector of remaining energy in sensor nodes of V is denoted En(n).Next, we compute the matrix of weight W (n) according to the previous edge weight definition, M (n) and En(n).
We suppose that: The remaining energy in sensor node is given bellow.The sink node hasn't the problem of energy.So, we suppose that En(0) = ∞.For the other node, remaining energy is given in kJ: Then, En(n) can be written as a diagonal matrix as follow: Hence: Finally:

Algorithms
Many algorithms of minimum spanning tree selection exist in literature such us that of Prim [23].Bellow we define two algorithms based on Prim algorithm and help to extract respectively the best tree and the worst tree having the sink node as root.Finally, the backbone is consisting of this tree without its leaves.So, the backbone is formed of node having the maximum remaining energy which help to increase the network lifetime.With a small modification the same previous algorithm can be used to extract the worst spanning tree.

Illustration
In this subsection, an illustration of proposed algorithms is given.In addition, we compare them to previous methods of spanning tree construction in WSNs.In figure 2, there is a graph that describes a WSNs, A is the sink node, the vertices are marked by their remaining energy (given in kJ ).Every edge is marked by power needed for the link between nodes of the edge, in table 1 the edge power is given in mJ.In figure 3, we apply our algorithms to the network of figure 2. On the left, the best spanning tree based on nodes having the maximum remaining energy.On the right, the worst spanning tree based on nodes having the minimum remaining energy.In table 2, the backbone of the network of figure 2 is given when applying our method compared to the previous methods based on the energy needed to link between nodes.

Deduction
The existing methods of minimum spanning tree in wireless networks are based on power needed to link nodes.So, they provide an unchanged backbone.In addition, this treatment has no meaning in case of un-adjustable radius of node coverage or when the node sends with its maximum radius of transmission.On the contrary, BST provides a dynamic backbone.In fact, our algorithm involves a load balancing based on node remaining energy which induces a dynamic behaviour to the selected backbone and increases the network lifetime.

RTB: ROBUST TREE BROADCASTING IN K-CONNECTED GRAPH
In this section, RTB is given.First, we define two types of acknowledgement to manage the broadcasting.Next, the task done in every node of the network to accomplish the broadcasting is proposed.

Acknowledgement system
The acknowledgement helps to control the state of the network.Two types are used: -The intra-level acknowledgement (intra-ack): from a node in the tree to its parent, happen if a node receives correctly the sent packet.
-The inter-level acknowledgement (inter-ack): from a node in the tree to the sink node, happens if a parent node does not receive an intra-ack from at least one of its children within a waiting time.The acknowledgement packet will contain the id of node that does not response.

RTB scheme
In this section, RTB scheme is given.It consists of decentralized procedures aiming to accomplish the broadcasting task.RTB is applied to k-connected graph.In the following, the use of k refers to the graph connectivity.

Initialization in sink node
This procedure is started by collecting data from the field.Next, creating BST and defining a vector denoted Ack(i) which helps to count the acknowledgement sent by every node.Then, two times denoted t and T are defined where: -t: refers to the maximum time of a node waiting for an intra-ack.
-T: refers to the maximum time for a node to save a broadcasted packet in its memory.
By the end, the sink node sends to each node, its predecessor in the tree, its successors, t and T.

RTB scheme: Initialization in sink node
1. Send a hello flooding to all nodes in order to compute W (n) 2. Initialize: Ack(i) = 0 for all node i 3. Compute BST 4. Sending, using BST, a packet to initiate the broadcasting table for each node containing: -Its predecessor: P.
-The maximum waiting time for intra-ack: t.
-The maximum waiting time before deleting broadcasted packet from memory: T

Broadcasting from sink node
The broadcasting from the sink node is performed by sending the packet to its successors.If the sink node does not receive an intra-ack or receive an inter-ack it will proceed to the recovery in order to reach isolated nodes.

RTB scheme: Broadcasting from Sink node
1. Send the packet to be broadcast to successors Si 2. Wait (t) 3.If no reception of intra-ack from Si within t 3.1.Recovery (i) 4. On receiving an inter-ack(j) 4.1.Recovery (j)

Recovering in Sink node
The recovery procedure is based on the vector denoted Ack(i).In this procedure we suppose first that the unattainability of the node is caused by wireless interference or obstacles on the path.So, according to the k-connectivity propriety of the graph used we can find k − 1 other paths to reach the isolated node.
When receiving k inter-Ack from the same node i (Ack(i)=k), then this node is considered as failed.So, we try to reach the next node in the tree (node i + 1).

RTB scheme: Recovering in Sink node
Recovery to a node m

Relay in node of the backbone
When a node n in the backbone receives a packet to be broadcasted, it sends an intra-ack to its predecessor, and initiates a timer, in order to define the deleted time of the packet from its memory.According to the received packet, it can happen two cases: either the packet is not empty, then it will be saved and rebroadcasted, or the packet is empty so, the packet in memory will be rebroadcasted.Next, if there is no reception of intra-ack during t from a successor node i.Thus, an inter-ack will be sent from n to its predecessor containing the id of node i When receiving an inter-ack, it will be retransmitted to the predecessor.Finally, if the timer exceeds T, the packet in memory of n will be deleted.
For the leaves node the procedure will be the same except that a leaf hasn't predecessors.

RTB scheme: Relay in any node
1. On receiving a packet to be broadcasted from P

RTB illustration
The illustration is performed with different scenarios and using a 2-connected graph.In figure 6, the sequence diagram of a normal broadcasting without failures is given.In figure 4, we suppose the existence of an obstacle causing the break-down of the tree.The comportment of RTB in front of this problem is given in figure 7. We can see that the obstacle between B and E will cut the tree.So, B will not receive an intra-ack from E during the waiting time.Thus, B will send an inter-ack to the sink node in order to find new path to E. Next, the sink node proceeds to the recovery in order to find the shortest path to E from nodes that have received the broadcasted packet.Another scenario describing the failure of a node is given in figure 5.In front of this problem, the reaction of RTB is given in figure 8.The procedure of recovery is performed in two steps.First, the sink node tries to reach E k times; in fact the graph is k-connected.If E still unreachable.The sink node will restart the recovery to the next of E in the tree.Finally, we can conclude that RTB detects the failure and proceeds to the correction.So, our scheme provides a good level of fault tolerance according to the graph of network connectivity.

CONCLUSION
In this paper, we have proposed a new broadcasting scheme called RTB, which is based on the maximum spanning tree denoted BST.Contrary to the previous tree-based broadcasting methods, which use a static backbone, RTB uses a tree consisting of nodes with maximum energy.This fact induces a load balancing selection of nodes of the backbone.So, this scheme can increase the lifetime of network.Besides, RTB can manage the existence of obstacle or the node failure by detecting the problem and proceeding to the recovery using an acknowledgment system according to the dynamic evolution of the network.

Fig. 2
Fig. 2 Initial network, A is the sink node

Table 1 2 .
Power needed to link between nodes in figure Algorithm2 WST: Worst Spanning Tree 1. Input: An adjacency matrix M (n) of k-connected graph G(V, E) A vector En(n) of remaining energy of V 2. Output: A minimum spanning tree T 3. W (n) = M (n) × diag(En(n)) 4. Tree=Prim (sink node (n))

Fig. 3 (
Fig. 3 (a): The best spanning tree, (b): The worst spanning tree Table 2 Comparison between selected backbones -Backbone in BST Backbone based on edges 1st broadcast A, B, E A, B, D 2nd broadcast A, C, E A, B, D 3rd broadcast A, B, E A, B, D 4th broadcast A, C, D A, B, D