Self-stabilizing algorithm for energy saving in Wireless Sensor Networks

2 downloads 0 Views 2MB Size Report
munication Technology, pages 526–530. IEEE Press, 2009. [16] David Lichtenstein. Planar formulae and their uses. SIAM J. Comput.,. 11(2):329–343, 1982.
Self-stabilizing algorithm for energy saving in Wireless Sensor Networks Laurence Pilard Alain Bui Karim Bessaoud Jalel Ben-Othman PRiSM, UVSQ PRiSM, UVSQ PRiSM, UVSQ PRiSM, UVSQ 45, avenue des États-Unis 45, avenue des États-Unis 45, avenue des États-Unis 45, avenue des États-Unis Versailles, France Versailles, France Versailles, France Versailles, France [email protected] [email protected] [email protected] [email protected]

Abstract—Wireless Sensor Networks lifetime mainly depends on energy saving efficiency. In this paper, we propose an energyefficient self-stabilizing topology control protocol for WSN. We reduce the transmission power of each node so as to maintain network connectivity while saving maximum energy. Besides, we propose an approximation algorithm for minimum weighted connected dominating set that builds a virtual backbone formed by sensors with maximum energy. This backbone is used for efficient routing purpose. Through our simulation results, we show the efficiency of our proposed algorithm. Keywords: Wireless Sensor Networks, self-stabilization, minimum weighted connected dominating set, routing

I. I NTRODUCTION A Wireless Sensor Network (WSN) consists of a large number of distributed sensors deployed in an ad hoc fashion that communicate by means of wireless technology and organize themselves in a multi-hop communication wireless network. A network of these devices collaborates for a common application such as environmental monitoring, smart spaces, medical systems or robotic exploration. Sensors are battery operated with a processor and a radio. They are characterized by limited resources in terms of memory, computation and energy. Sensors’ battery is usually hard to recharge or even replace. Energy in WSN is thus a scarce and precious resource that should be saved. Energy efficiency is an important design consideration for these networks. Energy in WSN is wasted by message treatment, transmission and reception. In addition, a large amount of energy is wasted due to the wireless shared-medium nature such as idle listening, overhearing and collisions. The idle listening is the state where a node waits for a message. Since a node does not know when a message will arrive, it should keep its radio in receive mode whenever it is not transmitting. This induces that each node keeps listening to all transmissions from its neighbors. A huge energy is then consumed since nodes are in this mode most of the time. As a result, each node overhears a lot of packets. This is a significant waste of energy, especially when node density is high and traffic load is heavy. Collisions are another aspect of the shared nature of wireless medium that increase energy wasting. When a collision occurs, the sender node should send its message again causing more receptions and thus more energy consumption.

In WSN literature, several solutions have been proposed to increase network lifetime. In this paper, we distinguish three main classes of solutions: 1) Energy-efficient routing [1], [2], [3]: This class of solutions aims to minimize the energy consumed by the endto-end transmission of a message. The energy-efficient routing addresses energy minimization by reducing the amount of transmitted and received messages. 2) Sleep state [4], [5], [6] : This class is based on scheduling node activity by alternating node’s states between sleeping and active in order to minimize energy consumption while ensuring network connectivity and application functionalities. Hence, this class reduces energy consumption in the idle listening state. 3) Topology control solution [7], [8], [9]: In this class, sensors reduce their transmission range while maintaining network connectivity. The solution purpose is to minimize energy consumption due to transmission power, overhearing and collision. In this paper, we propose a new solution based on the third class of solutions : the control of the network topology through the reduction of the transmission power. The transmission power is a critical parameter when addressing energy efficiency in WSN, since the energy consumed to send a message grows at least quadratically with the transmission range. Usually, all nodes in WSN use their maximum transmission power to send their messages even if the receiver is close from the sender. Therefore, some energy is wasted to send the message and also to receive it since all nodes in this huge range of transmission will receive the message. In this paper, we propose a distributed algorithm that reduces the transmission power of each node independently. The goal is to reduce as much as possible the transmission power while keeping the network connected. This leads to a energy-efficient topology and at the same time we obtain a topology that facilitates routing. Finally, our solution is self-stabilizing [10]. This is a very desirable propriety in WSN. Indeed, a self stabilizing algorithm is guaranteed to reach a correct behavior in a finite number of steps, regardless of its initial state. Then after any unexpected perturbation, the algorithm recovers without any outside intervention. This allows our solution to lead with

classical events in WSN that are : failure or restart or addition of nodes in the network. The rest of the paper is organized as follow. The next section highlights the related work. In section 3, we describe our solution through the Design Guidelines, the system model and the algorithm with proofs. Finally, we conclude by conclusion and perspectives. II. R ELATED WORK The issue of saving energy in WSN is particularly addressed by the research community. In this section, we focus on the approaches that are based on adjusting the transmission power. To control the transmission range, two strategies are possible: reduce the transmission range of all the sensors to a common range or give different transmission range for each sensor. The use of a common range for all the sensors allows the network to be bi-directional. However, it is necessary to find the suitable range that allows keeping one connected component. In [11], the authors show that the average range when using a variable transmission range is approximately half than when using the common transmission range. In addition, the results is obtained using uniform distribution of nodes, which is not often in the real networks. Finally, [11] shows that in variable adjustment of the transmission range, the network capacity does not depend on the number of nodes in the network, so the increase of the number of nodes does not affect the network capacity, unlike the case of the common transmission range. In [7], an adjustment of the power transmission of nodes in an ad hoc network is performed to optimize the energy of the nodes in the network while ensuring the connectivity or the bi-connectivity of the network. The authors proposed two algorithms CONNECT and BICONN-AUGMENT conceived for static networks. For mobile ad-hoc networks, the authors designed two distributed heuristics LINT and LILT. CONNECT and BICONN-AUGMENT are two centralized algorithms that minimize the maximal power used by the nodes of the network while maintaining the connectivity (resp. the bi-connectivity) of the network. Both algorithms merge different connected components to form a single connected (resp. bi-connected) component. LINT and LILT heuristics are proposed to reduce the powers transmission of nodes while ensuring the connectivity (in LINT) and the bi-connectivity (in LILT) of the network. In LINT, each node uses three parameters related to the number of neighbors: the desired degree, the high threshold degree and the low threshold degree. Periodically, each node checks its degree and if it is not between the high and the low threshold, the node changes its energy level to reach the desired degree. LILT improves LINT by using the routing algorithm Link State Protocol to set the transmission power of some particular nodes to the maximum power to ensure the bi-connectivity of the network. The main inconvenience of LINT and LILT is the use of Link State protocol that needs a network global view. In [8], the authors proposed a protocol (COMPOW) for power transmission control. In COMPOW, the network is rep-

resented by a non-directed graph where two nodes are neighbors if they are within the range of each other. In COMPOW, nodes can communicate using different transmission powers. Each node runs daemons of routing, one for each power. Each routing daemon maintains its own routing table by exchanging control messages. By comparing the entries in different routing tables, each node can determine the smallest common power that guarantee the maximum number of connected nodes. More specifically, let N (Pi ) be the number of entries in the routing table corresponding to the power level Pi . Then the sufficient power level is set to the lowest power level Pi for which N (Pi ) = N (Pmax ), where Pmax is the maximum transmission power. COMPOW increases the traffic capacity of the network and the battery lifetime. However, COMPOW generates an important overhead due to the control messages generated by each daemon. In [9], the authors propose a distributed algorithm called LMST for topology control by adjusting the transmission range based on the construction of spanning trees. Each node runs an algorithm for constructing the spanning tree and adjusts its transmission power to get only the one hop nodes in the tree. The authors proved several properties about LMST. First, LMST preserves the connectivity of the network. They also proved that the maximum number of neighbors for each node was bounded by 6 and that the topology could easily be transformed to leave only the bi-directional links. The major drawback of LMST is that it requires the construction of a spanning tree for each node, which induces a large overhead. III. P RELIMINARIES In this section, we define the model we use and our contribution. We also introduce the connected dominating set notion, with some related works. A. System model Let a wireless ad-hoc network composed by a set of n wireless sensors. Each sensor node uses an omni-directional coverage, so that a single transmission of a sensor is received by all the sensors that are in a disk centered on the sensor. This radius disk is called the transmission range. We assume that all sensors have a maximum transmission range equal to Rmax . Two sensors being at the transmission range of each other may communicate directly and are considered as neighbors. One node in the network is the sink, a powerful computer than can be considered as a leader. This node follows the same communication rules than the other sensor nodes. The wireless sensors form a graph G = (V, E) where V is the set of nodes representing sensors and E is the set of edges representing the communication relation between the nodes. There is an edge between two nodes if and only if their Euclidean distance is at most Rmax . The neighbors of a node u is noted N (u). In the following, we assume that G = (V, E) is a distinguished connected graph. We also assume that all the wireless sensors have distinct identifiers and can compute their energy consumed.

A node maintains a set of variables that make up the local state of the node. We use a message passing communication modele, i.e. each node can send messages to all of its neighbors and can receive messages from all of its neighbors. Each node executes a set of guarded rules. Each rule has the form → , where is a boolean condition over the node’ local state or a message reception, and is a set of statements assigning new values to the variables of the node. The set of the local state of all nodes in the network is called a configuration A node is enabled if one of its guard is true. A daemon is a predicate over the execution. Our algorithm works under the fair asynchronous daemon: (i) to move from one configuration to the next one, the daemon selects a non-empty set of enabled nodes to execute one guarded rule and (ii) any rule that is continuously enabled will eventually be executed. A self-stabilizing system has the ability to recover in a finite time to a correct behavior after any transient failure, without external intervention. Definition 1 (Self-stabilization): Let Γ be a set of all configurations. A system S is self-stabilizing with respect to Λ such that Λ ⊆ Γ if and only if it satisfies the following two conditions: (Convergence) every execution of S contains at least a configuration in Λ, and (Closure) for any configuration λ ∈ Λ, any configuration γ that follows λ is also in Λ. We assume that each sensor has the ability to calculate the Euclidean distance between itself and any neighbour using for instance, the power with which it received the message from its neighbor. B. Contribution In this paper, we propose a self-stabilizing algorithm that builds a sub-graph of G, denoted G− =(V, E − ) with all nodes of G and E − ⊆ E obtained by reducing the transmission range of each sensor. The constructed graph G− is bi-directional, connected and each node uses in G− a transmission range smaller than or equal to the one used in G. Since we reduce the transmission range of each node independently, we obtain a directed network. In such a network, the use of an acknowledgment mechanism is difficult to implement. Thus the only links we consider in G− are the bi-directional links. G− is then the graph obtained after the power reduction and after removing all uni-directional links. The sub-graph G− is obtained building a connected dominating set. This set can then be used in order to route messages efficiently reducing the number of hops in the network. C. Connected dominating set In the following, we consider a graph G = (V, E). Definition 2: A subset M of V is a dominating set (DS) iff ∀u ∈ V : (u ∈ M ∨ ∃v ∈ M, u ∈ N (v)) Definition 3: A subset M of V is a connected dominating set (CDS) iff M is a DS and M is a connected set. Definition 4: Assume that each node u has a weight w(u). Then a subset M of V is a minimum weighted dominating set (MWDS) if M is a DS with minimum total weight.

Definition 5: A subset M of V is a minimum weighted connected dominating set (MWCDS) if M is a CDS with minimum weight. In our paper, we also use backbone for MWCDS. Most of works that address the construction of CDS [12], [13], [14], [15] try to reduce the size of the set (Minimum CDS). For our problem, we are more interested in reducing the consumed energy than the size of the CDS. Indeed the sensors in the CDS are responsible for routing, they are thus more affected to energy loss. Therefore, the sensors that consumed less energy are the one that should be chosen to form the CDS (more exactly in MWCDS). The problem of MCDS (and therefore MWCDS) is NP-hard [16]. In this paper, we propose a self-stabilizing algorithm to build a MWCDS with a constant approximation. The problem of MWCDS construction has been studied in [17], [18] and distributed algorithm have been proposed with constant approximation. However, these solutions are not selfstabilizing, and not suitable for dynamic networks. Our algorithm of MWCDS is similar to the algorithm in [14] with some differences since we used a stronger daemon, the fair asynchronous one and we consider the weight of the nodes. The energy consumed by the sensors is used as weights in the construction of MWCDS. IV. A LGORITHM DESCRIPTION In this paper, we propose a distributed self-stabilizing algorithm that reduces the transmission power of sensors while guaranteeing a topology to facilitate the routing. For that purpose, we first build a spanning tree such that: the path in the tree between any node u and the root r is the path in the graph from u to r with the minimum weight. Each node stores the weight of its path to the root. Second, we use this weight to build a MWCDS that represents our backbone. Finally, each sensor node its transmission range depending on wether or not it belongs to the backbone. A sensor that is not in the backbone, called a dominated node, selects its closest (in Euclidean distance) neighbor in the backbone to be its dominator. Then, it reduces its transmission range to the Euclidean distance between its dominator and itself. A sensor in the backbone reduces its transmission range in order to reach all of its neighbor in the backbone and all of its neighbor it is the dominator of. We then obtain: all communication links between a dominated node and its dominator are bidirectional and all communication links in the backbone are also bi-directional. The algorithm is self-stabilizing and depends on the energy consumed by the sensors. Since this energy varies over the time, there is a risk of ping-pong effect: the set MWCDS can change all the time and therefore, the algorithm will never stabilize. To avoid that, instead of using the current energy consumed, we use a variable storing the energy consumed to build the MWCDS. Then we periodically update this variable. Our algorithm is divided into six main parts, each part is presented as a self-stabilizing algorithm. In each algorithm, the sensors can read the variables of previous algorithms, and

read and write variables of the current one. This guarantees that if each part is self-stabilizing then the whole algorithm is self-stabilizing [19]. The six parts are as follow: 1) Updating the energies consumed by the sensors: that will be made thanks to a broadcast initiated by the leader. 2) Updating the state : each node sends all its local state to all of its neighbors. 3) Construction of a spanning tree based on the sensor energies: 4) Construction of a MWDS: this algorithm selects sensors with the minimum weight locally. 5) Construction of a MWCDS: this algorithm selects the sensors which serve as connectors between those in MWDS. 6) Reduction of the transmission range A. Algorithm 1) Part 1: The energy consumed update: a) Variables: • i: node identifier • poweri (j), j ∈ N (i) ∪ {i}: The energy consumed by j. • timer: The time before the next reconstruction of the MWCDS. All TIME_INTER_CDS the node will update the power which will lead to a reconstruction of MWCDS. This variable is only used by the leader. • last_updatei : contains the identifier of the last update message received by i. b) Messages: • update(msgid): This message is sent by i to indicate that it is necessary to update the energy consumed. c) functions: • update_power(): This function allows to get the energy consumed by the node. d) Algorithm: . /* For the leader. */ GC1 : (timer = 0) → last_updatei + + broadcast(update(last_updatei )) timer :=TIME_INTER_CDS /* The update messages are initiated by the leader and are broadcasted to all the network. These messages are sent every TIME_INTER_CDS to update energy consumed by sensors, that will trigger a rebuilt of the tree, the MWDS and the MWCDS. */ GC2 : In the reception of the update(msgid) message:→ if(last_updatei 6= msgid) then poweri (i) := update_power() last_updatei := msgid broadcast(update(msgid))

2) Part 2: state updating: a) Messages: • hello(sender, state): This message is sent periodically by the sender to broadcast its state. b) Algorithm: . /* hello messages are sent periodically by all nodes to maintain the coherence of neighbors state. These messages are sent with range RM AX and contains all the local variables of the nodes */ GC3 : In the reception of a message: hello(sender, state):→ statei (sender) := state

3) Part 3: Tree construction:

• •



a) Variables: fi (j), j ∈ N (i) ∪ {i}: The identifier of the father of j in the spanning tree. weighti (j), j ∈ N (i) ∪ {i}: The weight of the path from the root to j in the spanning tree. b) Messages: hello(state): This message is sent periodically by the sender to broadcast its state. c) Algorithm: .

GC4 : (weighti (i) 6= min{weighti (j) + poweri (i)|j ∈ N (i)} or fi (j) 6= k|weighti (k) = min{weighti (j)|j ∈ N (i)}) → weighti (i) := min{weighti (j) + poweri (i)|j ∈ N (i)} fi (i) := k|weighti (k) = min{weighti (j)|j ∈ N (i)} /* For the leader. */ GC5 : (weighti (i) 6= 0) → weighti (i) := 0

4) Part 4: MWDS construction: a) Variables: • inM W DSi (j), j ∈ N (i) ∪ {i}: is true iff j ∈ M W DS. b) Algorithm: . /* Leave the MWDS. */ GC6: (inM W DSi (i) = true and ∃j ∈ N (i)[weighti (j) weighti (i) and inM W DSi (j) = true or weighti (j) weighti (i) and inM W DSi (j) = true and j < i]) inM W DSi (i) := f alse /* Join the MWDS. */ GC7 : (inM W DSi (i) = f alse and ∀j ∈ N (i)[weighti (j) weighti (i) or weighti (j) = weighti (i) and i < j inM W DSi (j) = f alse]) → inM W DSi (i) := true /* For the leader. */ GC8 : (inM W DSi (i) = f alse) → inM W DSi (i) := true

< = → > or

5) Part 5: MWCDS construction: a) Variables: • inM W CDSi (j), j ∈ N (i) ∪ {i}: is true iff j ∈ M W CDS. b) Algorithm: . /* Join the MWCDS */ GC9 : (inM W CDSi (i) = f alse and inM W DSi (i) = true or ∃j ∈ N (i)[fi (j) = i and inM W DSi (j) = true]) → inM W CDSi (i) := true /* Leave the MWCDS. */ GC10 : (inM W CDSi (i) = true and M W DSi (i) = f alse and (∀j ∈ N (i)[fi (j) 6= i or inM W DSi (j) = f alse])) → inM W CDSi (i) := f alse

6) Part 6: Energy reduction: a) Variables: • rangei : The transmission range of node i. • domi (j) : Contains the identifier of the closest dominant node if the node is dominated. • disti (j), j ∈ N (i) : The Euclidean distance between i and j. b) Algorithm: . /* for sensors not in MWCDS. */ GC11 : (inM W CDSi (i) = f alse and dom 6= k | k ∈ N (i) and inM W CDSi (k) = true and ∀j ∈ N (i) | inM W CDSi (j) = true [disti (k) ≤ disti (j)] or range 6= disti (domi (i)) → domi (i) := k | k ∈ N (i) and inM W CDSi (k) = true and ∀j ∈ N (i) | inM W CDSi (j) = 1 [disti (k) ≤ disti (j)] range := disti (domi (i)) /* for sensors in MWCDS. */ GC12 : (inM W CDSi (i) = true and range 6= disti (k) | k ∈

N (i) and ∀j ∈ N (i) | inM W CDSi (j) = true or domi (j) = i [disti (k) ≥ disti (j)]) → range := disti (k) | k ∈ N (i) and ∀j ∈ N (i) | inM W CDSi (j) = true or domi (j) = i [disti (k) ≥ disti (j)]

B. Proof Theorem 1: The algorithm of part 3 is self-stabilizing for the construction of a spanning tree with minimum weighted path from the root to any node Proof: The spanning tree algorithm (part 3) is based on the algorithm presented in [19]. In our algorithm, the weight is used instead of the hop-distance. According to [19], this algorithm is self-stabilizing and build a spanning tree with minimum weighted path from the root to any node. Lemma 1: Eventually, the set built in the part 4 algorithm is a DS Proof: The leader will join the set with GC8 and will never leave. Its neighbors will leave the set with GC6 if they are in the set and will never return. Then, (i) sensors with minimum (weight, ID) that are not definitely into or out of the set will join the set with GC7 if they are not in the set and will never leave the set. And (ii) theirs neighbors will leave the set with GC6 if they are in the set and will never return. Finally (i) and (ii) will be repeated until all the sensors are definitely into or out of the set with this method. Theorem 2: The algorithm of part 4 is self-stabilizing for the construction of a DS Proof: The proof of convergence is in lemma 1 and when the algorithm has converged, no guard is true. Lemma 2: let M be the MWDS built using the weight of the spanning tree. For any sensor u in M, the hop-distance between u and the nearest sensors in M - {u} is exactly at two hops. Proof: The proof is the same as one in [13] Theorem 3: The MWCDS built in part 5 is an CDS. Proof: Let T be the tree build in the algorithm part 2 and let M be the MWDS build in the algorithm part 4. Let S be the set of the fathers in T of all nodes in M. A set M ∪ S is a CDS. Assume that M ∪ S is not connected. Therefore, there is at least one sensor u that is in M that is not connected to the rest of the MWCDS built. u has a father v in the tree that is its neighbor. v is the father of u then v has a lower weight than u. For the construction of M, we select the sensor with the minimum weight locally then, if v is not in M, there exist at least one neighbor of v in M. Let w be this neighbor. According to the algorithm v ∈ S, u, v ∈ M . then u and w are connected. So u is connected with the rest of the MWCDS and M ∪ S is a CDS. Theorem 4: All sensors that are not in MWCDS have a dominating sensor in MWCDS. Proof: By definition of MWCDS, all sensors not in MWCDS have at least one neighbor in MWCDS. We assume that there exists a sensor not in MWCDS that has its dominator not in MWCDS.

If dom(u) 6= neighbor in MWCDS, so GC11 is necessarily true, and u will select the nearest in Euclidean distance sensor in MWCDS to be its dominator. So, all sensors that are not in MWCDS have a dominator in MWCDS. Theorem 5: After reducing the transmission range, the network remains connected. Proof: We assume that the MWCDS is not connected after reducing transmission range. That is, there exists a neighbor sensors u and v in MWCDS such that the range of u < distance(u, v). By GC12, the range of u ≥ distance(u, v). This is in contradiction with the assumption. We assume that there exist sensors not in MWCDS that is not connected with the MWCDS. That is, there exists a sensor u with range < distance(u, dom(u)) or range of dom(u) < distance(u, dom(u)). (1) If the range of u < distance(u, dom(u)), GC11 is true, and range(u) will be distance(u, dom(u)). (2) If the range(dom(u)) < distance(u, dom(u)), RG12 is true, and range (dom(u)) will be ≥ distance(u, dom(u)). From (1) and (2), the network remains connected after reducing the transmission range. V. S IMULATION RESULTS In this section, we present extensive simulations on random networks for assessing the performances of our proposed distributed self-stabilizing algorithm. The simulation platform was developed using Peersim simulator[20]. In the simulation, we consider only the application layer, since we evaluate geometric proprieties after the convergence of our algorithm. A. Parameter Settings For each experiment, 9 different network sizes are studied from 500 to 5000 in increment of 500 sensors. For each network size, 100 simulations are performed and confidence intervals are calculated at 95%. Sensor nodes are randomly scattered in 200m*200m square. Each node has a maximum transmission range of 25m and random battery energy between 1% and 100%. The energy consumption model [21] is given by the following equations: Et (k, d) = Eelec .k + Eamp .k.d2 Er (k) = Eelec .k Et and Er are respectively the energy used for transmission and receiving k bits at Euclidean distance d. In these formulas, the radio dissipates Eelec = 50nJ/bit to run the transmitter or receiver circuitry, and the radio dissipates Eamp = 100pJ/(bit.m2) to run transmit amplifier. B. The energy consumption Reducing energy consumption is our main goal, to show the efficiency of our algorithm, we calculate the average energy consumed in the network using our backbone to route the message. We also calculate the energy consumed by the network in case of optimal routing (using the shortest path) without reducing the range transmission.

The function of energy consumption based on energy consumption model presented above and the data collected from simulations. The average energy consumed in the network for communication using the shortest path = Energy consumed in the transmissions + The energy consumed for receptions The energy consumed for transmission = average hopdistance * Et = average hop-distance ∗(Eelec + Eamp ∗ The transmission range squared average) The energy used for receptions = average hop-distance *average degree*Er =average hop-distance*average degree∗Eelec

Fig. 1.

The average energy consumed in the network

Figure 1 shows the energy consumed by the network according to the number of sensors in the network in the three cases scenario presented in this sub section. Figure 1 shows that our solution is better than an optimal routing with maximum ranges. The ration between our solution and the solution with maximum ranges varies between 1.63 and 2.27. C. The cost of the dominators After stabilization of the algorithm, we get the energy of the sensors in the backbone. These sensors will consume more energy than the others because of their routing role.

Fig. 2.

The average energy of the dominators

Figure 2 shows the percentage of energy in the backbone sensors according to the number of sensors in the network. The results in figure 2 show the efficiency of our algorithm of MWCDS and more we increase the size of the network more the algorithm gives better results. With our solution, we reduce the energy consumption induced by communications. Moreover, only sensors with the highest battery level are in charge of the message routing.

R EFERENCES [1] Rahul C. Shah and Jan M. Rabaey. Energy aware routing for low energy ad hoc sensor networks. In IEEE Wireless Communications and Networking Conference (WCNC), March 2002. [2] Anand Srinivas and Eytan Modiano. Minimum energy disjoint path routing in wireless ad-hoc networks. In Proceedings of the 9th Annual International Conference on Mobile Computing and Networking, pages 122–133, 2003. [3] Sungoh Kwon and Ness B. Shroff. Energy-efficient interference-based routing for multi-hop wireless networks. In INFOCOM, 2006. [4] Ted Herman, Sriram Pemmaraju, Laurence Pilard, and Morten Mjelde. Temporal partition in sensor networks. In Proceedings of the 9h international conference on Stabilization, safety, and security of distributed systems, SSS’07, pages 325–339. Springer-Verlag, 2007. [5] Mihaela Cardei, My T. Thai, Yingshu Li, and Weili Wu. Energy-efficient target coverage in wireless sensor networks. In IEEE Infocom, pages 1976–1984, 2005. [6] Mihaela Cardei and Ding zhu Du. Improving wireless sensor network lifetime through power aware organization. ACM Wireless Networks, 11:333–340, 2005. [7] R. Ramanathan and R. Rosales-Hain. Topology control of multihop wireless networks using transmit power adjustment. In Proceedings of the Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM’00), pages 404–413, March 2000. [8] Swetha Narayanaswamy, Vikas Kawadia, R. S. Sreenivas, and P. R. Kumar. The compow protocol for power control in ad hoc networks: Theory, architecture, algorithm, implementation, and experimentation, 2002. [9] Ning Li, Jennifer C. Hou, and Lui Sha. Design and analysis of an mst-based topology control algorithm. IEEE Transactions on Wireless Communications, 4(3):1195–1206, 2005. [10] Edsger W. Dijkstra. Self-stabilizing systems in spite of distributed control. Commun. ACM, 17(11):643–644, 1974. [11] Javier Gomez and Andrew T. Campbell. Variable-range transmission power control in wireless ad hoc networks. IEEE Trans. Mob. Comput., 6(1):87–99, 2007. [12] Bo Gao, Yuhang Yang, and Huiye Ma. A new distributed approximation algorithm for constructing minimum connected dominating set in wireless ad hoc networks. Int. J. Commun. Syst., 18(8):743–762, 2005. [13] Peng-Jun Wan, Khaled M. Alzoubi, and Ophir Frieder. Distributed construction of connected dominating set in wireless ad hoc networks. Mob. Netw. Appl., 9(2):141–149, 2004. [14] Sayaka Kamei and Hirotsugu Kakugawa. A self-stabilizing approximation for the minimum connected dominating set with safe convergence. In OPODIS ’08: Proceedings of the 12th International Conference on Principles of Distributed Systems, pages 496–511, 2008. [15] H. Raei, M. Tabibzadeh, B. Ahmadipoor, and S. Saei. A self-stabilizing distributed algorithm for minimum connected dominating sets in wireless sensor networks with different transmission ranges. In ICACT’09: Proceedings of the 11th international conference on Advanced Communication Technology, pages 526–530. IEEE Press, 2009. [16] David Lichtenstein. Planar formulae and their uses. SIAM J. Comput., 11(2):329–343, 1982. [17] Yu Wang, Weizhao Wang, and Xiang-Yang Li. Efficient distributed lowcost backbone formation for wireless networks. IEEE Transactions on Parallel and Distributed Systems, 17:681–693, 2006. [18] Christoph Ambühl, Thomas Erlebach, and Marc Nunkesser. Constantfactor approximation for minimum-weight (connected) dominating sets in unit disk graphs. In Proc. of the 9 th Int. Workshop on Approximation Algorithms for Combinatorial Optimization Problems. year = 2006, pages = 3–14. [19] S Dolev. Self-Stabilization. MIT Press, 2000. [20] Márk Jelasity, Alberto Montresor, Gian Paolo Jesi, and Spyros Voulgaris. The Peersim simulator. http://peersim.sf.net. [21] Wendi Rabiner Heinzelman, Anantha Ch, and Hari Balakrishnan. Energy-efficient communication protocol for wireless microsensor networks. pages 3005–3014, 2000.