 Research
 Open Access
 Published:
Energyaware topology control for reliable data delivery in solarpowered WSNs
EURASIP Journal on Wireless Communications and Networking volume 2013, Article number: 258 (2013)
Abstract
Solar power is a valuable source of power for wireless sensor networks, but it periodically requires an appropriate energy management strategy. We introduce a scheme that constructs and maintains a faulttolerant wireless sensor network topology that can make the best use of solar energy. This topology control scheme is based on a simple model of the availability of solar energy and matches the connectivity of each node with the energy left in its battery. Operating locally, our scheme constructs and maintains a kconnected backbone of energyrich nodes that handles most of the network’s traffic reliably, without depleting the reserves of energypoor nodes. Simulation results demonstrate the effectiveness of our scheme.
1 Introduction
In a mainspowered wireless sensor network(WSN), energy is not a constraint on achieving a specific level of performance, so as to meet goals such as throughput and reliability. In a batterybased network, however, attempting to meet all goals in full can shorten the network lifetime; it may be better to sacrifice throughput and reliability, rather than to deplete the batteries of the sensor nodes. For this reason, designers of batterybased WSNs have focused on reducing energy consumption, so as to prolong the network lifetime.
Recently, however, environmental energy has emerged as a feasible supplement to battery power for wireless sensors, when manual recharging or replacement of batteries is not practical. In many situations, a ready source of environmental energy is the sun. Solar energy has a power density of about 15 mW/cm^{3}[1], which compares very favorably with other renewable energy sources. Of course, this highpower density is only available for part of the day; nevertheless, its contribution allows the designer of a WSN more scope to consider positive measures to improve performance, rather than having to concentrate on energy consumption. In this paper, we look specifically at the contribution that a faulttolerant topology can make to network performance.
Topology control involves coordinating nodes’ decisions regarding their transmission ranges, in order to create a network with a desirable connectivity, while restraining energy consumption or increasing network capacity, or both [2]. The need for a networkwide perspective distinguishes topology control from other nodelevel techniques for saving energy or increasing network capacity. Although topology control is achieved through individual nodes choices of transmission power level, which determine their neighbors, but the result is a global property of the entire network.
Most research on topology control [3–5] has been predicated on the assumption that some level of network connectivity is the primary property to be achieved. Topology control protocols have then been formulated to achieve this connectivity with the lowest transmission power at each node. The resulting networks meet requirements in terms of capacity, energy consumption, and interference. However, they are more susceptible to node failure, because reducing nodes’ transmission powers also reduces the number of possible routes between any pair of nodes.
Sensor nodes are notoriously unreliable, and therefore, fault tolerance is important in most WSNs. It is especially desirable that network connectivity should be preserved for as long as possible when some of sensor nodes fail or run out of power. Recent research on topology control [6–9] has therefore considered both energy efficiency and fault tolerance.
Increasing fault tolerance requires more transmission power. Thus, the sun would be an attractive power source for a faulttolerant WSN if we could match energy requirement with its availability, but the workload of a WSN and the weather are both difficult to predict. Instead, we propose a simple solar energy model, which requires no explicit forecasting of either energy supply or demand, but nevertheless is able to help individual nodes to make the best use of solar energy in contributing to the performance of the network as a whole.
Based on this energy model, we introduce a distributed and localized algorithm, called SolarTC, that determines the transmission power at each node that will make the best contribution to the fault tolerance of the whole network, while taking account of the residual energy available in that node. SolarTC has the following properties:

Energyadaptive operation: A node running SolarTC usually operates in faulttolerant mode, in which it tries to obtain more connectivity by increasing its transmission power. If a node has insufficient energy to operate in faulttolerant mode, it switches to energysaving mode, in which it tries to maintain the minimum transmission power required to maintain marginal network connectivity, while to minimize possible blackout time.

Supporting faulttolerant and energyaware routing: The robust faulttolerant nodes operate as a backbone network, which provides as many paths as possible to the sink node. This network can support either faulttolerant routing or energyaware routing.

Minimizing the disadvantage of a faulttolerant topology: Existing faulttolerant topology control techniques which increase the transmission ranges of all nodes reduces the capacity of a network and increases MAC layer contention, whereas SolarTC only increases the transmission range of faulttolerant nodes.

Fully localized algorithm: A node running SolarTC only uses information about its neighbors which are one or two hops distant. Information about twohop neighbors is obtained from onehop neighbors.
The rest of this paper is organized as follows. In the next section, we review some existing schemes for topology control in WSNs and introduce solarpowered WSNs. In Section 3, we describe our energy model of a solarpowered sensor node, and in Section 4, we explain our energyconserving topology control scheme for enhancing fault tolerance. Section 5 discusses the proposed topology control that affects the network layer. We then evaluate the performance of our algorithm in Section 6, and conclude the proposed work in Section 7.
2 Background
2.1 Effects of topology control in WSNs
A topology control protocol creates and maintains a list of the immediate neighbors of each node, in a network. Thus, it is related both to routing and to the MAC (medium access control) layer of the protocol stack, as shown in Figure 1. A topology control protocol is not a routing algorithm, but it can trigger a route update if it detects that a node’s neighbor list has changed significantly. This allows a routing protocol to respond more quickly to topology changes and thus reduces the rate of packet loss. Conversely, the routing protocol can trigger the execution of the topology control protocol if the former detects a lot of broken routes in the network, since this strongly suggests that the actual network topology has changed appreciably since the last execution of topology control.
A topology control protocol is responsible for selecting the transmission range of each node, which determines the contention in the MAC layer. Like the routing protocol, the MAC protocol can trigger the execution of the topology control if it discovers new neighbor nodes by overhearing their traffic. This intimate relationship between topology control and the performance of the routing and the MAC layers makes topology control one of the most important issues in designing efficient WSNs.
2.2 Topology control for faulttolerant WSNs
By reducing the transmission power of nodes to conserve the energy in nodes’ batteries, most topology control protocols tend to reduce the numbers of routes between pairs of nodes. The reduced topology that results is naturally more susceptible to node failure.
It would be ideal to be able to construct a uniformly kvertex connected (or kconnected) network, which would be k1 fault tolerant, meaning that it is able to survive the failure of any k1 nodes. Figure 2 shows an example of a twoconnected network. Increasing the value of k requires a larger transmission range and sacrifices network lifetime and capacity. It is also likely to increase contention in the MAC layer. These disadvantages have to be traded against reliability.
A considerable amount of work [6–8] has been done on topology control protocols that try to create faulttolerant networks, with the objective of minimizing power consumption while providing a specific level of connectivity. CBCT (faulttolerant conebased topology control) is a distributed and localized algorithm, proposed by Bahramgiri et al. [6], which achieves kconnectivity in a planar network by having each node increase its transmission power until either the maximum angle between any two neighbors is 2π/3k, or it is transmitting at full power. Other authors [10, 11] have tried to minimize the maximum transmission power used by any node. Ramanathan et al. [11] proposed a centralized greedy algorithm for achieving twoconnectivity that iteratively merges pairs of mutually connected network components to construct the whole network. Li and Hou [10] introduced two variants of the local minimum spanning tree (LMST) algorithm [5] to address the kconnectivity problem: one of these (GLSS) is centralized and the other (FLSS) is distributed and localized. Both algorithms examine links in increasing order of length and only include the links needed to satisfy the kconnectivity condition. These procedures have been shown to be better than all other current schemes for reducing the peak power consumption of a node.
Most of the work that has been done on faulttolerant topologies, including that described above, seeks to achieve uniform kvertex connectivity between any two nodes in the network. This requirement is highly appropriate for ad hoc wireless networks, in which any two nodes can be the source and destination, because data is transmitted from the sensors to one or more sinks. Thus, it is not necessary to maintain a specific degree of fault tolerance between all pairs of sensors, but it is important to have faulttolerant data paths between the sensors and the sink. Cardei et al. [12] addressed this problem with the kATC algorithm, which is tailored to heterogeneous batterypowered WSNs, in which data is forwarded from the sensors to socalled supernodes through a kconnected network of fixed topology. Our algorithm also tries to achieve kconnectivity, but in the form of a kconnected backbone network with a structure that changes so that it always consists of energyrich nodes.
2.3 Solarpowered WSNs
Corke et al. [13] articulated the principles involved in designing hardware for durable solarpowered wireless sensor networks. Minami et al. [14] designed a batteryless wireless sensor system for environmental monitoring, called SolarBiscuit. Simjee and Chou [15] presented a solarpowered wireless sensor node, based on a supercapacitor, called Everlast. Jay et al. [16] described a systematic approach to build microsolar power subsystems for wireless sensor nodes. However, most research on solarpowered WSNs, including the work mentioned above, has focused on nodelevel design topics such as hardware architecture and system analysis.
A few researchers [17–19] have been concerned with networkwide issues, such as latency and capacity, in solarpowered WSNs, but, to the best of our knowledge, we are the first to look specifically at topology control for enhancing fault tolerance in solarpowered WSNs.
3 Energy model for a solarpowered sensor node
An energy model for a solarpowered system requires both an expression of the expected harvest of solar energy, and an expression of the rate at which the system uses energy. The former is dependent on the season, the weather, and the location at which the system is deployed, and the latter depends on the rate at which data is sensed and transmitted, and the dutycycle, which is the proportion of time for which a node is active. Unfortunately, these factors cannot be predicted precisely. We therefore propose a simple energy model [19] that is independent of these factors, and we will show how this model can be used to predict the amount of energy that a node can allocate to improving faulttolerance.
Let P_{solar} be the average solar power acquired by a node, and let P_{ sys } be its average rate of energy consumption. If the residual energy in the node is E_{residual}, then the expected time T_{full} before the node’s battery will be full can be expressed as follows:
where C is the battery capacity.
Note that the battery will only charge when P_{solar} > P_{sys}. Otherwise, a node is not viable in the long term. We will explain how to control P_{sys} at the end of this section.
Even though the availability of solar energy varies from day to night and from one day to anther, a node should not blackout in the period before the battery is fully charged, as long as the residual charge in the battery at the start of this period satisfies the following condition:
This is true even in the worst case, in which the solar energy arrives as late as possible. From Equations (1) and (2), we obtain ${E}_{\text{residual}}\ge \frac{{P}_{\text{sys}}}{{P}_{\text{solar}}}C$. This means that the system can run constantly in any environment if it has at least a threshold amount of energy E_{threshold}, where
If E_{residual} falls below E_{threshold}, then the node may have to shut down, and therefore, it needs to concentrate on saving energy. In SolarTC, a node in this situation operates as an energysaving node, or ESnode. But when E_{residual} exceeds E_{threshold}, it starts to operate as a faulttolerant node, or FTnode, which allocates some of its available energy to enhancing fault tolerance.
Determining E_{threshold} requires a knowledge of P_{sys} and P_{solar}, which can both be estimated using moving averages. If ${P}_{\text{sys}}^{\text{new}}$ and ${P}_{\text{solar}}^{\text{new}}$ are the most recent samples of the rate of energy consumption and battery charging, then moving averages can be computed as follows:
where θ (0 < θ < 1) controls the way in which the historical samples are considered: increasing θ reduces the contribution of older values.
The dutycycle concept [20], which is often employed to allow a node to save energy, could easily be included in the calculation of P_{sys}. Since P_{sys} is proportional to the duty cycle, changing the duty cycle has a predicable effect on P_{sys}. This means that the designer of a WSN can control P_{sys} in an approximate way by adjusting the duty cycle. Therefore, E_{threshold}, which is dependant on P_{sys}, can also be controlled by varying the duty cycle, and this is important since the value of E_{threshold} determines the number of FT nodes in the network.
4 Topology control
Definition 1 ( k FTN connectivity ). A graph G has kFTN connectivity if, for any two FTnodes n_{1}and n_{2}, there are k pairwise vertexdisjoint paths from n_{1}to n_{2}on the backbone graph consisting of FTnodes. Or equivalently, a graph is kFTN connected if the backbone graph consisting of FTnodes is still connected after the failure of up to k 1 FTnodes.
Basically, SolarTC_{ k } tries to construct a kFTN backbone network consisting of FTnodes. If that is not possible due to the low density of FTnodes (we will discuss this in Section 4.3), it attempts to keep the connectivity of the backbone network as close to k as possible. We will explain the SolarTC_{ k } algorithm in more detail in this section, which uses the notation of Table 1.
4.1 SolarTC_{ k }algorithm
When sensor nodes are initially deployed, each node n_{ i } starts by constructing its localized neighborhood N_{all}(i) by exchanging 'hello’ messages with all nodes that are within its maximum transmission range${r}_{i}^{\text{max}}$, and then it determines the minimum transmission power required to reach each neighbor. Next, node n_{ i } runs the localized minimum spanning tree(LMST) algorithm [5], as shown in Figure 3, which has been shown to achieve connectivity for every feasible topology and has a very low overhead of n messages for a network of n nodes [5]. LMST initially creates a network with 1connectivity, and we refer to the transmission power required by each node n_{ i } to achieve this connectivity as${p}_{i}^{\text{LMST}}$. At this stage, node n_{ i } has complete knowledge of its onehop neighborhood which can be reached with${p}_{i}^{\text{LMST}}$. However, this neighborhood may change if nodes are moved or go out of service, requiring LMST to be invoked regularly, or when certain events occurs, as shown in Figure 3.
After LMST has been run, node n_{ i } invokes SolarTC_{ k }(i) periodically as shown in Figure 3. SolarTC_{ k }(i) begins by determining the mode m_{ i } in which it will run from the amount of residual energy E_{residual}(i) in the node’s battery (lines 1 to 5). If E_{residual}(i) > E_{threshold}(i), then m_{ i } is set to 1 so that node n_{ i } becomes an FTnode. It broadcasts this fact to its neighbors with its maximum transmission power (lines 6 to 9). There is then a backoff time, during which node n_{ i } recalculates its list of FTneighbors FTN_{all}(i) from the messages received in response to its transmission (lines 11 to 15). FTN_{all}(i) should be updated at every node, regardless of its mode m_{ i }. If the node is an FTnode (m_{ i } = 1), then FTN_{all}(i) will be used in the construction of the backbone network which consists of the FTnodes. If the node is an ESnode,FTN_{all}(i) can still be used by the routing scheme to find energyrich neighbors (Algorithm 1).
Algorithm 1 SolarTC_{ k }(i)
After updating FTN_{all}(i), node n_{ i } determines its transmission power p_{ i } from the value of m_{ i }. If m_{ i } is 0, then p_{ i } is naturally the same as${p}_{i}^{\text{LMST}}$ (lines 16 to 17). Otherwise, the node must determine the value of p_{ i } which corresponds to the closest approximation to preserve local kFTN connectivity.
In order for a node to be kconnected, it must have at least k neighbors [21]. Similarly, for an FTnode to be kFTN connected, it must have at least k FTnodes within its transmission range. When FTN_{all}(i) ≥ k, the routine FTTC_{ k }(i) is called to find the minimum transmission power p_{ i } for node n_{ i } which will create k disjointpaths between n_{ i } and each of its FTneighbors n_{ j } (line 22). Otherwise, p_{ i } is set to${p}_{i}^{\text{FTN}}\left(\right{\mathit{\text{FTN}}}_{\text{all}}\left(i\right)\left\right)$, so that n_{ i } retains as many FTnodes as possible in its neighbor list (line 20).
4.2 FTTC_{ k }algorithm
When the function FTTC_{ k }(i) is run by node n_{ i }, it computes${p}_{i}^{\text{FTN}}\left(k\right)$ and compares it with${p}_{i}^{\text{LMST}}$. The larger of the two values then becomes that node’s minimum transmission power${p}_{i}^{\text{min}}$, since${p}_{i}^{\text{FTN}}\left(k\right)$ is not necessarily sufficient to connect to all the neighbors of n_{ i } in N_{all}(i). Node n_{ i } then uses an iterative process to establish its actual transmission power p_{ i }, starting from${p}_{i}^{\text{min}}$. This iteration ends when each node n_{ j } in FTN_{all}(i) is either within the transmission range r_{ i } of node n_{ i } or disjoint kvertex paths are established between n_{ i } and every n_{ j }. The value of s_{ i } is then set to 1 (Algorithm 2).
Algorithm 2 FTTC_{ k }(i)
The algorithm terminates after at most FTN_{all}(i)k rounds. In each round (line 10), both of FTN_{covered}(i) and Δp_{ i } are recalculated (lines 13 to 16) if a broadcast message has been received from an FTneighbor in FTN_{all}(i). This is straightforward since the message contains information about that neighbor and its onehop FTneighbors. The algorithm terminates when FTN_{all}(i) = FTN_{covered}(i), and then node n_{ i } broadcasts its p_{ i } to all its neighbors (lines 17 to 20). If there is any FTneighbor that is still out of range, the power level p_{ i } is raised by the minimum increment Δp_{ i }, which is sufficient to allow at least one more FTneighbor in FTN_{all}(i)  FTN_{covered}(i) to receive transmissions from node n_{ i } (line 24). Then, the node recalculates FTN_{covered}(i), since p_{ i } has changed, and begins a new round, in which it seeks to discover whether the new value of p_{ i } can reach all nodes in FTN_{all}(i) (line 26). If it can, then the node broadcasts its new power level p_{ i } (line 29) to all of its neighbors, and the algorithm terminates. Otherwise, the node broadcasts its current status (line 29) and starts another round.
4.3 Connectivity properties
Theorem 1. ( k FTConnectivity, N, of FTTC_{ k }) If the maximal power graph of all FTnodes is k connected, then the backbone network obtained by FTTC_{ k } is also k connected.
Proof. Let the set of all edges connecting FTnodes constructed by FTTC_{ k } be E(FTTC_{ k }), and let the set of all edges connecting FTnodes in the maximal power graph be E(MaxGraph). It is immediately apparent that E(FTTC_{ k }) is a subset of E(MaxGraph). Suppose there is an edge (n_{ i },n_{ j }) which is in E(MaxGraph(i)) but not in E(FTTC_{ k }(i)). The FTTC_{ k }(i) algorithm running in node n_{ i } will only remove edge (n_{ i },n_{ j }) from E(FTTC_{k}(i)) if it is kconnected to node n_{ j } through the nodes in its transmission range r_{ i }. This means that k independent paths between node n_{ i } and node n_{ j } already exist. Thus the network is still kconnected after removing this edge (n_{ i },n_{ j }) from E(MaxGraph(i)). Therefore, the edges removed by the FTTC_{ k }(i) algorithm do not reduce the connectivity of the original graph which corresponds to the maximum transmission power. □
This theorem only allows FTTC_{ k } to guarantee kFTN connectivity if the maximumpower graph of the FTnodes is kconnected, and this becomes more likely as the number of FTnodes increases.
As explained at the end of Section 3, E_{threshold} can be roughly determined from the duty cycle. If a node reduces E_{threshold} by decreasing its duty cycle, then that node is more likely to become an FTnode, since E_{threshold} is more likely to drop below E_{residual}. This relation allows an administrator indirect control over the number of FTnodes in the network. However, reducing the duty cycle can also prevent a node from sensing data over an adequate period. Therefore, E_{threshold} needs to be chosen to meet the requirements of a particular application; if fault tolerance is more important than the amount of data acquired, then a lower value of E_{threshold} is more suitable and vice versa.
Theorem 2. ( Bidirectional Connectivity of SolarTC_{ k }) The topology constructed by SolarTC_{ k }has only bidirectional links.
Proof. The topology constructed by LMST has already been proven to be a bidirectional graph [5]. It remains to prove that the new links added by the SolarTC_{ k } algorithm are bidirectional. SolarTC_{ k } and FTTC_{ k }, only try to add more links when they are running on an FTnode. And the only candidate links are those which connect that node to other FTnodes. Therefore, no new link from an FTnode to an ESnode can be added, and all the existing links between FTnodes and ESnodes will have been created by LMST and therefore have bidirectional connectivity.
It now only remains to prove that the links between FTnodes are bidirectional. Suppose that node n_{ i } and node n_{ j } are both FTnodes and that there is a link between them. The existence of the link (n_{ i },n_{ j }) means that these two nodes are not kconnected, since the FTTC_{ k }(i) routine would eliminate the link (n_{ i },n_{ j }) if node n_{ i } were already kconnected to node n_{ j }. Similarly FTTC_{ k }(j) will retain the link (n_{ j },n_{ i }). Consequently, the link between node n_{ i } and node n_{ j } is bidirectional. □
Bidirectional connectivity is a very important property for a wireless network, since it is essential for linklevel acknowledgment, which is necessary for the reliable transmission of packets over unreliable media. Bidirectionality is also fundamental to floor acquisition mechanisms in the MAC layer, such as the RTS/CTS mechanism in IEEE 802.11. The disadvantages of unidirectional connectivity are well described by Marina and Das [22].
4.4 Design considerations
4.4.1 Frequency of invocation of LMST
Any method of topology control used in WSNs should be able to accommodate the addition, removal, and movement of nodes. The addition or removal of a node is sure to change the connectivity of a network, and moving a node is also likely to do so. To cope with these changes, our scheme periodically invokes LMST, as shown in Figure 3. The period between invocations (L in Figure 3) should be carefully determined based on the frequency of changes to the configuration of nodes, the pattern of node failure, and the speed at which node are likely to move. These factors depend on the application, the type of nodes in use, and the environmental conditions; thus, it is better to rely on historical data.
4.4.2 Frequency of invocation of SolarTC_{ k }
The interval between runs of SolarTC_{ k }(i), labeled l in Figure 3, also needs to be chosen carefully: once SolarTC_{ k }(i) has determined the mode of a node, that node keeps operating in the same mode until the next run of SolarTC_{ k }(i). Suppose that node n_{ i } is an FTnode (m_{ i } = 0) at the start of a period of l and that E_{residual}(i) drops below E_{threshold}(i) before the end of that period, so that m_{ i } becomes 0 and the node becomes an ESnode. Even so, node n_{ i } should keep operating as an FTnode until the end of the period, so as to avoid damaging the existing topology before the next run of SolarTC_{ k }(i) constructs a new topology. Therefore, the value of l directly affects system performance.
Reducing the value of l helps SolarTC_{ k }(i) to reflect recent changes in the status of the nodes in a new topology, but it also incurs a very significant overhead. A larger value of l reduces this overhead but may prevent nodes from operating stably. For instance, an FTnode which needs the criteria to become an ESnode shortly after the start of a period may experience a blackout if it is forced to operate as an FTnode for too long. The optimal value of l depends on the characteristics of the nodes, the applications, and environmental conditions. The only feasible way of choosing l is by experiment.
4.4.3 Preventing repeated changes of mode
As explained in Section 4.1, the value of m_{ i } for node n_{ i } is determined from the relative values of E_{residual}(i) and E_{threshold}(i). However, frequent comparisons of E_{residual}(i) and E_{threshold}(i) may cause jitter in the value of m_{ i }. Suppose that node n_{ i } starts to operate as an FTnode as soon as E_{residual}(i) exceeds E_{threshold}(i). E_{residual}(i) is very likely to sink below E_{threshold}(i) almost at once. A similar but opposite effect is likely when a node becomes an ESnode. These repeated changes of mode degrade system reliability and performance. Therefore, SolarTC_{ k } uses an energy tolerance ψ to damp this oscillation. Lines 1 to 5 of SolarTC_{ k } then become
5 Effects of SolarTC_{ k }on the routing protocol
SolarTC_{ k } produces a backbone network consisting of FTnodes. Theorem 1 has established that SolarTC_{ k } cannot guarantee kFTN connectivity if the maximal power graph of FTnodes is not kconnected. The density of the FTnodes determines the topology of the backbone. It may be kconnected, simply connected, disconnected, or there may be no FTnodes at all. Figure 4 shows examples of topologies constructed by the SolarTC_{2} algorithm.
We will now provide some examples showing how SolarTC_{ k } can support fault tolerant and energyaware routing. We use the energyaware geographic routing (EGR) scheme [23], in which a node routes data to the most energyrich of its neighbor nodes, in the direction of the sink node if possible. In order to use this scheme with SolarTC_{ k }, we require each node to check its FTneighbors before invoking EGR. The node then proceeds as follows:

If there are FTneighbors, the node applies EGR to those nodes alone.

Otherwise, the node applies EGR to all its neighbors.
This modified routing scheme can be applied to each example in Figure 4. In Figure 4a, each node applies EGR to all its neighbors, since there are no FTnodes. Data from node v_{6}, for example, might be routed to the sink along the path (v_{6},v_{5},v_{4},v_{3},v_{2},v_{1}, sink), while data from v_{9} might take the route (v_{9},v_{3},v_{2},v_{1}, sink). These paths impose a heavy load on nodes v_{1} and v_{2}, and are likely to bring about an energy imbalance. Moreover, if nodes v_{1} or v_{2} fail, the whole WSN becomes useless.
The network shown in Figure 4b has more energy, and SolarTC_{2} makes nodes v_{2},v_{4},v_{7}, and v_{10} FTnodes, and uses them to construct a backbone with 2connectivity. In the modified scheme, node v_{9} runs EGR and finds that nodes v_{7} and v_{10} are its FTneighbors. EGR will choose the most suitable of these FTneighbors to receive data and probably selects node v_{10}, since it is closer to the sink node. In that case, data that has arrived at v_{10}, which is an FTnode, will be routed over the backbone to the sink, along the path (v_{9},v_{10},v_{2}, sink). Similarly, node v_{6} can be expected to send its data long the path (v_{6},v_{7},v_{4}, sink).
In Figure 4c, nodes v_{2},v_{4},v_{8}, and v_{10} are FTnodes. But SolarTC_{2} cannot create a 2connected network from these FTnodes since they are not 2connected, even using maximum power, because node v_{4} cannot contact node v_{8}. So SolarTC_{2} creates as many paths as possible among the FTnodes. In this example, EGR running on node v_{9} would send data to node v_{10} instead of node v_{3}, since node v_{10} is a FTneighbor. Even though node v_{10} is not 2connected to the sink, it has more energy than v_{3}, and its connectivity gives it more faulttolerance. Node v_{10} routes the data to the sink over the backbone along the path (v_{9},v_{10},v_{2}, sink).
Lastly, there may be an isolated FTnode, like v_{7} in Figure 4d. In this case, SolarTC_{2} keeps the transmission power at v_{7} as small as possible. This minimum power is${p}_{i}^{\text{FTN}}\left(0\right)$, which is the same as${p}_{i}^{\text{LMST}}$. This does not affect the performance since v_{7} cannot reach any other FTnodes, even if it were to use its maximum transmission power${p}_{i}^{\text{max}}$. EGR will then make node v_{6} route data to node v_{7} instead of node v_{5}, since node v_{7} is an FTneighbor. But node v_{7} has no FTneighbors, and so it applies EGR to all its neighbors, and the resulting path is (v_{7},v_{9},v_{3},v_{2}, sink). Although node v_{7} is not connected to the backbone network and therefore cannot provide any faulttolerance, it is beneficial for its neighbors to route data through node v_{7} since it has enough energy to accommodate a high workload.
6 Performance evaluation
We have set up outdoor testbed for solarpowered sensor networks, as described in our previous publications [19],[24]. Unfortunately, however, the Ethernet cards used in the testbed cannot support any change of transmission power which is an essential function for our scheme. Moreover, there are too few nodes in the testbed to evaluate the performance of fault tolerance. Inevitably, therefore, we designed an NS2 simulation for the performance verification.
6.1 Simulation
6.1.1 Energy model
We used solarenergy data obtained from our outdoor testbed [19],[24] in Urbana, IL, USA, during the 15 days between 01 and 15 December 2009. The average energy harvested by a node during this period was 28.2Ah (at 12V). The energy consumption model that we constructed mimics the characteristics of our outdoor system [19] (including the energy consumed in sensing data, accessing memory, CPU operations, and so on) except for the energy used in data transmission. The amount of energy used for transmitting and receiving 1 bit of data over a distance d is expressed as follows [25]:
where E_{elec} is the energy consumed by the electronics (J/bit); α is the path loss (2 ≤ α ≤ 5); β is the energy used by the power amplifier in transmitting 1 bit over a distance of 1 m (J/bit/m); and d is the distance between the nodes (m). Table 2 shows the important parameters of this energy model, including the battery characteristics.
6.1.2 Traffic model
The simulation of SolarTC was tested on an application that runs on our outdoor testbed, so collect birdsong for studies of bird populations. We captured a pattern of traffic from the outdoor testbed to use in the simulation. We chose to explore a scenario in which nodes have different sensing rates, with ratios of 1:2:4 between them. This reflects real applications in which more interesting events usually occur at some locations than others. For example, in our application, sensors located near nests obtain more data than others. Each node in the simulation was randomly assigned one of the three sensing rates and creates traffic at that rate, unless that node is in sleep mode.
6.1.3 Simulated WSN
We simulated a WSN containing between 50 and 500 solarpowered nodes, spread randomly over an area of 800 × 800 m^{2}. The maximum radio range was set to 200 m, and the period between runs of SolarTC_{ k } was half an hour. We use the modified EGR scheme [23] described in Section 5. Tables 3 and 4 summarize the experimental and performance parameters of our simulation respectively.
6.2 Simulation results
Figure 5 shows how the residual energy E_{residual} and the energy threshold E_{threshold} vary under SolarTC_{4} running on node n_{30}. Node n_{30} starts with an nearly halfcharged battery. For the first 4 days, the residual energy drops below the threshold and stays there due to a small rate of energy harvest. Thus, node n_{30} remains in energysaving mode and SolarTC_{4} retains the LMST topology without attempting to enhance fault tolerance. In each of the following days, there are always a few hours when E_{residual} is larger than E_{threshold}, and thus n_{30} operates as a faulttolerant mode during these periods. Since energy is consumed more slowly when a node is operating as an ESnode, the changes in residual energy over the first 4 days exhibit the pattern labeled Type B in Figure 5, and over the next 5 days the changes follow Type C. Subsequently, the Type A pattern occurs when the node is always operating in faulttolerant mode, and Type B when it is in energysaving mode. We call this composite pattern Type C.
Figure 6 shows the average number of FTnodes when the network is running SolarTC_{2} and SolarTC_{4}, respectively. The larger value of k naturally incurs faster energy consumption by the FTnodes. This quickly leads E_{residual} to fall below E_{threshold}, so most nodes returns to energysaving mode immediately. Therefore, the average number of FTnodes decreases as the value of k gets larger. Moreover, the high rate of energy consumption at each node increases P_{sys}, which raises E_{threshold}. This makes it less likely that a node will operate as an FTnode. As shown in Figure 6, between 35% and 50% of all nodes are FTnodes when k = 2, but only 25% to 35% are FTnodes when k = 4.
Figure 7 shows how the probability of achieving kFTN connectivity varies with the number of nodes, for values of k of 2 and 4. We can immediately see that kFTN connectivity increases with the number of nodes, regardless of the value of k. This is because the number of FTnodes is proportional to the total number of nodes, as shown in Figure 6. It is also apparent that larger values of k require more FTnodes to preserve kFTN connectivity, but larger values of k mean that there are actually fewer FTnodes, as shown in Figure 6. As a result, the probability of achieving kFTN connectivity drops as the k increases. As shown in Figure 7, 2FTN connectivity can almost be achieved when the network has over 150 nodes, and 4FTN connectivity is possible with over 350 nodes.
These results are significant for the deployment of sensors in the field. For example, suppose that there are 150 nodes and the value of k is set to 4. Then, each FTnode uses a high transmission power in an attempt to achieve 4connectivity, as we see in Figure 8, but the probability of achieving 4FTN connectivity is only about 20%. Thus this endeavor is likely to waste energy, and an attempt at kconnectivity should only be made if reliable transmission is at a premium.
FLSS [10] is an efficient algorithm for establishing an ad hoc network with kconnectivity. Since SolarTC only provides kFTN connectivity, FLSS constructs a more robust network than SolarTC, for the same value of k. Therefore, it may not be fair simply to compare FLSS and SolarTC. But there is no topology control scheme more like SolarTC, as far as we know, so we compare the performance of FLSS with that of SolarTC, as a marginal reference.
Figure 9 shows the average transmission range of all nodes, running FLSS and SolarTC, with k set to 2 and 4. Both schemes require larger transmission ranges to achieve the higher value of k. But SolarTC requires a shorter range, and hence less power, than FLSS for the same value of k. But the difference is barely significant and may be caused by the schemes’ different ways of using the energy available: FLSS simply tries to achieve kconnectivity and does not consider energy, whereas only the FTnodes running SolarTC use residual energy to increase their transmission range, and SolarTC tries to achieve kconnectivity among those nodes alone. Therefore, as shown in Figure 8, the average transmission range of FTnodes is larger than that of ESnodes, and this difference increases when k = 4 (Figure 8b). Thus, the transmission range of ESnodes used by SolarTC is much smaller than the range of an average node running FLSS. It is this asymmetric assignment of transmission range that gives SolarTC its edge.
We can make one more interesting observation from Figure 8b. Generally, the transmission range of each node decreases when there are more nodes, since the density of nodes is higher. In Figure 8b, however, the FTnodes show an opposite trend, until the number of nodes reaches 250. We suggest that this is related to the probability of 4FTN connectivity, shown in Figure 7. Since the network is unlikely to achieve 4FTN connectivity with few nodes, SolarTC_{4} increases the range of each node to get as close to 4FTN connectivity as possible.
The proportion of blackout time at an average node for each scheme is shown in Figure 10. As the number of nodes grows, the average transmission range of each node decreases, as shown in Figure 9, but nodes’ energy consumption increases since more data has to be relayed over more hop. Thus, the blackout time increases, as shown in Figure 10. Because SolarTC achieves a better balance than FLSS between workload and available energy across the network, there are fewer blackouts. Blackouts reduce a network’s throughput and its capacity to acquire data, with a knockon effect on the topology.
Finally, in Figure 11, we compare the throughput of the network at the sink node. It can be observed that increasing the faulttolerance of the network by using a higher k reduces its throughput. This demonstrates the tradeoff between the robustness of the network, manifest as the number of redundant routes, and its capacity. Additionally, SolarTC achieves a better throughput than FLSS, since it has less blackout time (because of greater energy efficiency) and fewer nodes with a relatively high transmission range (due to the increased probability of spatial reuse and reduced MAC layer contention).
7 Conclusions
It is not easy to make good use of solar energy in a WSN, because its availability depends on the time, season, and weather. We propose a simple solar energy model that requires no forecasting but nevertheless helps individual nodes to make the best use of energy and hence network performance improves, in particular faulttolerance.
Based on this energy model, we designed a localized scheme for adaptive topology control which maintains kconnectivity from all the energyrich nodes in the network to a sink whenever possible; otherwise, it tries to keep as many paths as possible between these energyrich nodes, so as to support energyefficient routing. This scheme also increase network stability by reducing the unscheduled blackout time of solarpowered sensor nodes.
References
 1.
Stojmenovic I: Handbook of Sensor Networks. Hoboken, NJ: WileyInterscience; 2005.
 2.
Santi P: Topology control in wireless ad hoc and sensor networks. ACM Comput. Surv 2005, 37(2):164194. 10.1145/1089733.1089736
 3.
Santi P: The critical transmitting range for connectivity in mobile ad hoc networks. IEEE Trans. Mobile Comput 2005, 4(3):310317.
 4.
Xue F, Kumar P: The number of neighbors needed for connectivity of wireless networks. Wireless Netw 2004, 10(2):169181.
 5.
Li N, Hou J, Sha L: Design and analysis of an MSTbased topology control algorithm. In Infocom. San Francisco, CA: IEEE; 30 March–03 April 2003.
 6.
Bahramgiri M, Hajiaghayi M, Mirrokni V: Faulttolerant and 3dimensional distributed topology control algorithms in wireless multihop networks. In ICCCN. Miami FL: IEEE; 14–16 October 2002.
 7.
Hajiaghayi M, Immorlica N, Mirrokni VS: Power optimization in faulttolerant topology control algorithms for wireless multihop networks. In MobiCom. San Diego, CA: ACM; 14–19 September 2003.
 8.
Jia X, Kim D, Wan D, Yi C: Power assignment for kconnectivity in wireless ad hoc networks. In Infocom. Miami, FL: IEEE; 13–17 March 2005.
 9.
Calinescu G, Wan PJ: Range assignment for high connectivity in wireless ad hoc networks. In AdHocNOW. Montreal: Springer; 08–10 October 2003.
 10.
Li N, Hou JC: FLSS: a faulttolerant topology control algorithm for wireless networks. In MobiCom. Philadelphia, PA: ACM; 26 September–01 October 2004.
 11.
Ramanathan R, RosalesHain R: Topology control of multihop wireless networks using transmit power adjustment. In Infocom. Tel Aviv: IEEE; 26–30 March 2000.
 12.
Cardei M, Yang S, Wu J: Faulttolerant topology control for heterogeneous wireless sensor networks. In MASS. Pisa: IEEE; 8–11 October 2007.
 13.
Corke P, Valencia P, Sikka P, Wark T, Overs L: Longduration solarpowered wireless sensor networks. In EmNets. Cork: ACM; 25–26 June 2007.
 14.
Minami M, Morito T, Morikawa H, Aoyama T: Solar Biscuit: A batteryless wireless sensor network system for environmental monitoring applications. In INSS. San Diego, CA: IEEE; 27–28 June 2005.
 15.
Simjee F, Chou PH: Everlast: long life, supercapacitor operated wireless sensor node. In ISLPED. Tegernsee: ACM; 04–06 October 2006.
 16.
Taneja J, Jeong J, Culler D: Design, modeling and capacity planning for microsolar power sensor networks. In IPSN. St Louis: ACM; 22–24 April 2008.
 17.
Noh D, Lee D, Shin H: QoSaware geographic routing for solarpowered wireless sensor networks. IEICE Trans Commun. 2007, E90B(12):33733382. 10.1093/ietcom/e90b.12.3373
 18.
Noh D, Yoon I, Shin H: Lowlatency geographic routing for asynchronous energyharvesting wsns. Int. J. Netw 2008, 3(1):7885.
 19.
Yang Y, Wang L, Noh DK, Le HK, Abdelzaher T: Solar Store: enhancing data reliability in solarpowered storagecentric sensor networks. In MobiSys. Kraków: ACM; 22–25 June 2009.
 20.
Kansal A, Hsu J, Zahedi S, Srivastava MB: Power management in energy harvesting sensor networks. ACM Trans. Embedded Comput Syst 2007, 6(4):138.
 21.
Penrose M: On kconnectivity for a geometric random graph. Random Struct. Algorithms 1999, 15(2):145164. 10.1002/(SICI)10982418(199909)15:2<145::AIDRSA2>3.0.CO;2G
 22.
Marina M, Das S: Routing performance in the presence of unidirectional links in multiphop wireless networks. In Mobihoc. Lausanne: ACM; 09–11 June 2002.
 23.
Lim T, Mohan G: Energy aware geographical routing and topology control to improve network lifetime in wireless sensor networks. In Broadnets. Boston, MA: IEEE; 03–07 October 2005.
 24.
Wang L, Yang Y, Noh DK, Le HK, Abdelzaher T: AdaptSens: an adaptive data collection and storage service for solarpowered sensor networks. In RTSS. Washington, DC: IEEE; 01–04 December 2009.
 25.
Melodia T, Pompili D, Akyildiz I: Optimal local topology knowledge for energy efficient geographical routing in sensor networks. In Infocom. Hong Kong: IEEE; 07–11 March 2004.
Acknowledgements
This research was supported partly by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education, Science and Technology (20110012996), partly by Industrial Strategic Technology Development Program funded by the Ministry of Knowledge Economy (MKE, Korea)(10039239).
Author information
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Received
Accepted
Published
DOI
Keywords
 Solar energy
 Fault tolerance
 Topology control
 Sensor network