Solar-aware Clustering in Wireless Sensor Networks Thiemo Voigt Swedish Institute of Computer Science (SICS)
[email protected] Hartmut Ritter Freie Universit¨at Berlin
[email protected]
Abstract Energy conservation plays a crucial in wireless sensor networks since such networks are designed to be placed in hostile and non-accessible areas. While battery-driven sensors will run out of battery sooner or later, the use of renewable energy sources such as solar power or gravitation may extend the lifetime of a sensor network. We propose to utilize solar power in wireless sensor networks and extend LEACH a well-known cluster-based protocol for sensor networks to become solar-aware. The presented simulation results show that making LEACH solar-aware significantly extends the lifetime of sensor networks.
Adam Dunkels SICS
[email protected]
Juan Alonso SICS
[email protected]
Jochen Schiller Freie Universit¨at Berlin
[email protected]
ing cluster-based protocol rather than defining a new protocol from scratch. Towards this end, we extend LEACH (low-energy adaptive clustering hierarchy) [7, 8], probably the best-known cluster-based protocol, to become solaraware. In a new version of LEACH [8], the base station chooses the cluster heads. The cluster heads selected by the base station remain cluster heads for a certain time called round. We present two solar-aware extensions to LEACH and present simulation results comparing the increased sensor network lifetime with the standard centralized LEACH protocol. Both solar-aware extensions provide significant benefits in many scenarios. The reason for this improvement is that solar-driven nodes have a higher probability to become cluster heads and perform the energy-intensive duties of a cluster head without consuming battery power.
1 Introduction Wireless sensor networks have to take into account the very limited resources of the nodes [1]. While many researchers assume that all nodes in a sensor network are battery-driven [7, 14, 15] nodes can also be powered by other energy sources such as gravitation or solar power. Nodes powered by such a source can process data, receive and transmit packets as well as perform other tasks without consuming battery energy. Therefore, it is attractive to let nodes driven by solar energy perform the most energydemanding tasks. In cluster-based networks, the cluster heads are responsible for performing the main and most energy-intensive tasks. Hence, choosing solar-powered nodes as cluster heads is attractive. It is, however, complicated by the fact that the energy source is not permanent. In the lab at FU Berlin, we have developed sensor boards equipped with solar cells. This motivated us to investigate if preferably choosing solar-powered nodes as cluster heads is feasible and can provide energy savings. Giving the already huge number of routing protocols in wireless sensor networks, we decided to extend an exist-
However, in some scenarios, it is not sufficient to keep the cluster head selected by the base station for an entire round. We present a handover mechanism that allows a cluster head to choose another, solar-powered node, as a new cluster head. We show that this handover provides additional benefits in these scenarios. We have also extended a distributed version of LEACH [7] to become solar-aware and demonstrate that solar-awareness also in this case prolongs the lifetime of the sensor network. Our paper is outlined as follows. The following two sections present some background on our hardware and on LEACH. Section 4 explains the solar-aware versions of the centralized LEACH protocol. Section 5 presents a set of carefully chosen experiments. In the following section we present the distributed version of LEACH and discuss and evaluate solar-aware extensions. After presenting related work in Section 7, we summarize our results and discuss items of future work.
2 Sensor Board Hardware The hardware used in the lab at FU Berlin consists of a Texas Instruments MSP430 controller as core and associated sensor hardware such as light, passive infrared, temperature sensors. The sensors communicate via an RF module
Figure 1. Sensor board with attached solar cell
in the 868 MHz band. The sensor board can be operated in three different power modes. The energy needed even in the most power-intensive mode (ca. 40 mA) can be provided by a solar cell. Figure 1 shows the sensor board and an attached solar cell. Note that much smaller solar cells could be used that provide enough power in the daylight, but these are more expensive. The first generation of the sensor board has the size of three AAA batteries. Thus the hardware demonstrates that an operation mode we further call solar-powered is possible.
3 Centralized LEACH LEACH makes some assumptions about both the sender nodes and the underlying network. Some of these assumptions are very strong, but it is not the purpose of this paper to judge these assumptions. LEACH assumes that all sensor nodes can adapt their transmission range. Furthermore, energy consumption during transmission scales exactly with the distance and every sensor node is able to reach a base station (BS). Moreover, nodes support several MAC layers and perform signal processing functions. Set-up
Steady-state
Clusters formed
Slot for node i
Slot for node i Time
Round
Frame
Figure 2. LEACH operations
In LEACH, sensor nodes form clusters with one node being the cluster head. Nodes transmit data to the cluster head that aggregates the data and sends it to the BS. Therefore being a cluster head is an energy-consuming task. The operation of LEACH is divided into rounds. As shown in Figure 2, each round starts with a set-up phase followed by a steady-state phase. In the set-up phase [8], the BS uses a central control algorithm to choose the cluster heads. Each node sends information about its energy status and its position to the BS. Since the problem of finding the k optimal cluster-heads is NP-hard, Heinzelman et al. [8] use simulated annealing to find cluster heads. The BS station broadcasts a message containing the cluster head ID for each node. The cluster heads then determine a TDMA scheme for the nodes belonging to their cluster, broadcast the scheme and the steady-state phase starts. During the steady-state phase, each node transmits data to the cluster head during its allocated slot. The transmission uses the minimal amount of energy necessary to reach the cluster head. At the end of each frame when the cluster head has received data from all associated sensor nodes, it aggregates the data and sends it to the base station. The cluster heads send this data using a fixed spreading code with CSMA.
4 Solar-aware Centralized LEACH The aim of solar-aware LEACH (sLEACH) is to extend the life-time of the sensor network by preferably choosing solar-powered nodes to perform the energy intensive task of being a cluster head1 . The authors of LEACH do not present the detailed algorithm the BS uses to choose k cluster heads. We have decided to use simple heuristics that have shown good results in test cases: In step 1, we choose the k+3 nodes with the highest remaining energy. In step 2, we remove the potential cluster head with the minimal sum of the distances to all other potential cluster heads. In step 3, we remove one of the two potential cluster heads that have the closest distance to each other. If one of these two nodes is close to the border of the area the sensor networks spans (the sensor area), we remove this node. Otherwise we remove the node closer to the center of the sensor area. When removing the third node, we minimize the total sum of the square distance between non-cluster heads and their potential cluster head. Note that this approach is probably simpler and thus not as close to the optimal solution as the simulated annealing approach by Heinzelman et al. However, in our simulation both sLEACH and the original LEACH use this algorithm. Since both protocols are affected in the same manner we believe not to discriminate any of the protocols. 1 Our simulations have shown that being a cluster head is about 10-15 times more energy-consuming than not being a cluster head.
5 Experiments We have implemented the algorithms described in Section 3 and Section 4 in the OMNet++ discrete event simulator [11]. We have used the same radio model and, whenever possible, the same parameter settings as Heinzelman et al. [7]. For the simulation we need a way to determine when a node is solar-powered or when it is running on battery. We specify two random variables, namely the average number of nodes that are solar-powered (sunNodes) and for how long a node is solar-powered (sunDuration) after the “sun starts shining on it” (sunStart). After the sunStart, a node is solar-powered for sunDuration time units. (numberof N odes/sunN odes) ∗ sunDuration after a sunStart, nodes become solar-powered again. As a metric we use the number of rounds until the first node is running out of battery and the number of rounds until half of the nodes have run out of battery. Results In the first experiments we set sunDuration to 1200 and the number of frames in each round to ten. The duration of a frame is less than 30 time units on average. Hence, with ten frames in each round one rounds takes about 300 time units. Figure 3 shows the improvement of sLEACH over the standard LEACH protocol (in %). On the x-axis we see the average number of nodes that are solarpowered (sunNodes). F stands for number of rounds until first node runs out of battery and H denotes the number of rounds until half of the nodes have run out of battery. For example, when sunNodes is set to five, sLEACH runs 22,5% more rounds until the first node dies than standard LEACH. The improvements of sLEACH stem mainly from the fact that, as expected, solar-powered nodes become cluster heads with higher probability than with standard LEACH. 2 The solar status denotes if a node is powered by solar energy or by battery.
40
35
Improvement solar-aware (%)
In sLEACH, besides the remaining energy and the position, nodes also transmit their solar status2 to the base station. In step 1, each node is assigned an energy value corresponding to its energy level. From this energy value we subtract e, the assumed energy consumption for the next round assuming the node was a cluster head. If a node is solar-powered, we assume it remains solar-powered for half of the round and thus subtract only e/2. The k+3 nodes with the highest energy value are chosen. This scheme assures that solar-driven nodes that have a high remaining energy level have a high chance of becoming cluster head. In step 2, we do not remove a solar-powered node if possible. In step 3, if one of the nodes with the closest distance to each other is solar-powered we do not remove that node. The last step does not change.
30
25
20
15
10
5
0 5F
5H
10F
10H
15F
15H
25F
25H
Number of sunNodes
Figure 3. Improvement over standard LEACH
With 10 sunNodes, using standard LEACH a node is cluster head 7.7 times on average, thereof 2.8 times while it is solarpowered. Using sLEACH, a node is cluster head 10.8 times on average (since the lifetime of the network is extended, nodes are cluster head more often), thereof 8.5 times while it is solar-powered. For longer sunDurations, the improvement of sLEACH is larger than with shorter sunDurations, in particular for a small number of sunNodes. With more sunNodes, also the standard LEACH protocol has a longer network lifetime, since the probability to select a solar-powered node as cluster head increases. Once a solar-powered node is clusterhead, it usually remains cluster head until its solar status changes to battery-driven. Handover As mentioned above, sLEACH does not perform that well when the sunDuration is small. One possible improvement is that we perform a handover, i.e. a new cluster head is chosen during the steady-state phase in a round. Therefore, whenever a node sends data to the cluster head, a flag denoting if the node’s solar state has changed to solarpowered is added. If the cluster head runs on battery and a node sends a data message with this flag set, this node may become the new cluster head. To enable handovers, we have modified the protocol in two ways. First, nodes set their transmission range to the distance to the cluster head plus an additional distance d. Second, within a round, a node can only become the new cluster head if it is within the distance d from the current cluster head. For simplicity, we allow only one change of cluster head per round in our current version. The results in Table 1 (sunDuration 200) show that the handover significantly increases the lifetime of a LEACH sensor network. The average improvement over all eight scenarios (5F to 25H) is less than 5% for sLEACH and more than 35% for sLEACH augmented with the handover capability.
6.2 Solar-aware Distributed LEACH Table 1. Improvement of sLEACH with handover Protocol sLEACH sLEACH with handover
5F 2.7 18.7
10F 6.8 31.1
15F 4.8 44.9
25F 1.8 51.8
Similar to the centralized version, a solar-aware version of the distributed LEACH protocol should preferably choose solar-driven nodes as cluster heads. Towards this end, Equation 1 must be modified in at least two ways: 1. Solar-powered nodes must become cluster heads with a higher probability.
However, when the sunDuration is long, there is no additional benefit of performing the handover. Usually, once a node has become cluster head, it continues to be the cluster head for several rounds. Thus, handovers are not performed very often. However, all non cluster-heads continuously consume more energy since they must extend their transmission range. This overhead cancels out the benefit of the handover.
6 Distributed LEACH and a Solar-aware Extension In this section, we show that making the distributed LEACH protocol solar-aware prolongs the lifetime of a sensor network.
6.1 Distributed LEACH The original version of LEACH (called distLEACH in the following) described in [7] uses a distributed algorithm to determine the cluster heads in the set-up phase while the steady-state phase is the same as for centralized LEACH. When clusters are created, each node n autonomously decides if it will be a cluster head for the next round. The selection is stochastically: Each nodes determines a random number between 0 and 1. If this number is lower than a threshold T(n), the nodes becomes a cluster head. T(n) is determined according to the equation T1 (n) =
P 1 − P ∗ (rmod p1 )
(1)
for nodes that have not been cluster head in the last 1/P rounds, otherwise T1 (n) is zero. Here P is an a priori determined number that determines the average number of cluster heads during a round, r is the number of the current round. Using this algorithm, each node will be a cluster head exactly once within 1/P rounds. Note that after 1/P − 1 rounds, T1 (n) = 1 for all nodes that have not been a cluster head. When a node has elected itself as a cluster head, it broadcasts a message telling all nodes that it is a cluster head. Non-cluster heads use these messages from the cluster heads to choose the cluster they want to join based on the received signal strength of the message.
2. A node that has been solar-powered while being a cluster head should be able to become a cluster head again even during the next 1/P rounds. A more greedy alternative to the first condition is that solar-powered nodes always choose to become cluster heads. However, this could lead to a large number of cluster heads in many scenarios leading to little data aggregation. Furthermore, when a node is solar-powered at the beginning of a round this does not imply that it is solar-powered at the end of the round when the battery-intensive task of transferring data to the base station must be performed. The first condition can easily be achieved by multiplying the right side of Equation 1 with a factor larger than one for solar-powered nodes and a factor lower than one for batterypowered nodes. The second condition is a more difficult problem. Equation 1 is constructed with the assumption that every node becomes cluster head exactly once in 1/P rounds (we call these 1/P rounds one metaround to simplify the following discussion). We reformulated Equation 1 to incorporate the number of cluster heads since the start of the last metaround. This number, that we call cHeads increases every round, in average by P multiplied by the number of nodes. When cHeads equals the number of nodes (numN odes), the current metaround is finished and cHeads is reset to zero. Note that while in distLEACH each metaround consists of exactly 1/P rounds, one metaround will now consist of 1/P rounds on average. Our first reformulation of Equation 1 is therefore T2 (n) = sf (n) ∗
P 1−
cHeads ( numN odes )
(2)
for all nodes, except for those that have been cluster head during the current metaround while they were batterydriven. For those nodes T2 (n) is 0, i.e. they cannot become cluster heads again during the current metaround. Note that P ∗(rmod P1 )∗numN odes cHeads = P ∗ rmod P1 , since numN odes = numN odes cHeads 1 numN odes in Equation 2 is equal to P ∗ (rmod P ) in Equation 1. Since the cluster heads announce themselves, every node knows the value cHeads. The equation contains a scaling factor sf (n), which is > 1 for solar-powered nodes and set to the reciprocal for battery-powered nodes.
6.3 Evaluation
35
To evaluate solar-aware distributed LEACH (called sdLEACH in the following) we use the same simulation environment as described in Section 5. We expect that solarawareness will increase the lifetime of the sensor network compared to distLEACH. One would expect that the improvement will be less than for the centralized version. It is evident, that larger improvements are possible with global knowledge. However, note that the centralized version of LEACH considers the remaining energy of the nodes, while distLEACH does not take this important factor into account, thus making it comparatively easier to improve the lifetime of the sensor network. 50
25
20
15
10
5
0 600
1200
1800
2400
sunDuration
Figure 5. Improvement with different SunDurations
7 Related Work
45
Improvement solar-aware (%)
Improvement solar-aware (%)
30
40 35 30 25 20 15 10 5 0 5H
10H
15H
25H
Number of sunNodes
Figure 4. Example improvement Figure 4 shows the improvement of sdLEACH over distLEACH for the same setting as in the first experiment in Section 5 (see Figure 3). For the experiment, P is set to 0.05 which aims at 5 cluster heads per round, the SunDuration is set to 1200, we have 10 frames per round, and we set sf (n) = 4 for solar-powered nodes and sf (n) = 14 for battery-powered nodes. For brevity we measure only the number of rounds until half of the nodes have run out of energy. The figure shows that the improvement increases with the number of sunNodes. Since sdLEACH does not necessarily choose solar-powered nodes as cluster heads, the chance that a solar-powered nodes becomes cluster head increases with the number of sunNodes. For example, with 25 sunNodes, 77% of all cluster heads are solar-powered while with 15 sunNodes only 68% of the cluster heads are solar-powered. Figure 5 depicts the improvement by sdLEACH for different sunDurations. We measure the improvement of the number of rounds until half of the nodes have run out of battery compared to distLEACH. The results are the average of the improvement for 5, 10 and 15 nodes for each sunDuration. The figure shows that the improvement increases with the sunDuration, which agrees with our expectations.
In earlier work, we have presented a solar-aware routing protocol similar to directed diffusion [12]. Willig et al. have extended an energy-efficient routing protocol called energy aware routing[10] to consider nodes with permanent power supply [13]. The latter protocol has also similarities with directed diffusion. Although these approaches have shown to lead to significant energy savings, we believe that in many scenarios cluster-based protocols are more adequate when some sensor nodes have “unlimited” energy resources. First, cluster heads perform more energy-intensive tasks than other nodes and thus nodes with “unlimited” resources are natural candidates for becoming cluster heads. Second, cluster-based protocols inherently avoid a problem experienced by Willig et al., namely that nodes that are close to those nodes with “unlimited” resources experience an increased traffic load and therefore potentially run out of battery early. In Section 6 we extend a distributed version of LEACH that does not consider the remaining energy of the sensor nodes. Others [6] have tried to make LEACH energyn current efficient multiplying Equation 1 by EE where n max En current is the current energy and En max is the initial energy of a node. However, we believe and our simulations have shown that the improvement they gain mainly stems from fact that they decrease the average number of cluster n current heads since EE is smaller than 1 except for the inin max tial round. Figure 6 in [8] shows that this can impact the average energy dissipated per round significantly. We have been careful to avoid this effect in our experiments. Braginsky and Estrin discuss the tradeoffs between flooding queries (reactive routing) and proactively creating paths to a source by flooding event notifications [4]. A prospective adoption of this idea to solar-aware routing might be that solar-powered nodes set up paths proactively. While we have extended LEACH to become solar-aware,
there are other cluster-based protocols and cluster algorithms. An optimal clustering algorithm that could be adopted for both LEACH and solar-aware LEACH is proposed by Ghiasi et al. [5]. An advantage of this algorithm is that it provides an upper and lower bound on the size of the clusters. However, the authors have demonstrated the performance for a small number of nodes (24) only. An algorithm that is able to construct overlapping clusters of bounded size is presented by Banerjee and Khuller [3]. Bandyopadhyay and Coyle have proposed an algorithm that generates a hierarchy of clusterheads [2]. They observe that the energy savings increase with the number of levels in the hierarchy.
[5] Ghiasi S., Srivastava A., Yang X., Sarrafzadeh M.: Optimal Energy Aware Clustering in Sensor Networks. Sensors 2002, 2, 258-269.
8 Conclusions and Future Work
[8] Heinzelman W., Chandrakasan A., Balakrishnan H.: An Application-Specific Protocol Architecture for Wireless Microsensor Networks. IEEE Transactions on Wireless Communications, Vol.1, No.4, Oct. 2002.
In this paper, we have presented solar-aware versions of the LEACH protocol, an energy-efficient clustering protocol. Our simulations have shown that making LEACH solar-aware increases the lifetime of a sensor network substantially in typical scenarios. For the solar-aware version of the centralized LEACH protocol, we have also presented and evaluated a handover scheme that allows changes of cluster heads during the steady-state phase of the LEACH protocol. The handover can provide additional benefits in certain scenarios. For future work we plan to consider better heuristics or optimal algorithms for choosing cluster heads. It would also be interesting to improve our “solar model” by either using data available from meteorology or biology. Another idea to acquire that kind of data is to place some sensor with solar cells at various locations and record when they have enough solar radiation to be solar-powered.
References [1] Akyildiz I., Su W., Sankarasubramaniam Y., Cayirci E.: Wireless Sensor Networks: a Survey. Computer Networks, 38:393-422, 2002. [2] Bandyopadhyay S., Coyle E.: An Energy Efficient Hierarchical Clustering Algorithm for Wireless Sensor Networks. Infocom 2003, San Francisco, CA, USA, April 2003. [3] Banerjee S., Khuller S.: A Clustering Scheme for Hierarchical Control in Multi-hop Wireless Networks. IEEE Infocom 2001, Anchorage, AK, USA, April 2001. [4] Braginsky D., Estrin D.: Rumor Routing Algorithm for Sensor Networks. First Workshop on Sensor Networks and Applications, Atlanta, 2002.
[6] Handy M., Hasse M., Timmermann D.: Low Energy Adaptive Clustering Hierarchy with Deterministic Cluster-Head Selection. IEEE Mobile and Wireless Communications Networks 2002, Stockholm, Sweden, September 2002. [7] Heinzelman W., Chandrakasan A., Balakrishnan H.: Energy-Efficient Communication Protocol for Wireless Microsensor Networks. International Conference on System Sciences, Hawaii, January 2000.
[9] Intanagonwiwat C., Govindan R., Estrin D., Heidemann J., Silva F.: Directed Diffusion for Wireless Sensor Networking. Transactions on Networking, Feb. 2003. [10] Shah R., Rabaey J.: Energy Aware Routing for Low Energy Ad Hoc Sensor Networks. IEEE Wireless Communications and Networking Conference, Orlanda, Florida, March 2002. [11] Varga A.: The OMNeT++ Discrete Event Simulation System. European Simulation Multiconference, Prague, Czech Republic, June 2001. [12] Voigt, T., Ritter H., Schiller J.: Utilizing Solar Power in Wireless Sensor Networks. IEEE Conference on Local Computer Networks, LCN 2003, Bonn/K¨onigswinter, Germany, October 2003. [13] Willig A., Shah R., Rabaey J., Wolisz A.: Altruists in the PicoRadio Sensor Network. Factory Communication Systems, V¨asteras, Sweden, August 2002. [14] Ye F., Zhong G., Cheng J., Lu S., Zhang L.: PEAS: A Robust Energy Conserving Protocol for Long-lived Sensor Networks. International Conference on Distributed Computing Systems, Rhode Island, May 2003. [15] Zhao Y., Govidan R., Estrin D.: Residual Energy Scan for Monitoring Sensor Networks. Wireless Communications and Networking Conference, Orlando, FL, USA, March, 2002.