Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

Wireless Sensor Networks (WSN) have many applications in precision agriculture [1], where sensors are deployed to monitor the soil temperature, humidity and salinity. Network coverage which can reflect the monitoring performance has been widely used to evaluate the quality of service of a WSN [15]. The sensors’ sensing capability and quality can be abstracted by the coverage model, which, however, can be defined in different ways due to the wide range of sensor types and functionalities [15]. Although the simplistic disk coverage has been widely used, it may not be the most appropriate one for such monitoring applications. In this paper, we consider a novel confident information coverage (CIC) model [16], which is based on the theory of field reconstruction and can be used for many physical phenomenon monitoring applications. In Sect. 2, we will briefly introduce the CIC model.

Network lifetime is another important performance metric. In traditional non-rechargeable WSNs, network lifetime is often defined as the maximum time duration till the required network coverage cannot be assured by all available sensor nodes. As such non-rechargeable battery-powered have only limited operation time, therefore the whole network lifetime is not infinite. In order to extend network lifetime, sensor activity scheduling can be used to organize sensors into a series of set covers and then work alternatively, each satisfying the network coverage requirement.

Recently, rechargeable sensor nodes that can harvest energy from environment have been proposed to be used in WSNs to improve network lifetime [35, 10, 11, 13, 14, 1821]. A good survey on how energy harvesting sensor nodes can be used to improve WSN performance can be found in [14]. Most existing works have studied the problem of scheduling rechargeable sensor nodes for target coverage based on the simplistic disk model [4, 5, 1113, 1820]. They assume an energy harvesting sensor network is with limited lifetime and they consider the continuous coverage similar as in the non-rechargeable WSNs. Their common objective is to schedule sensor activity efficiently to prolong the lifetime while ensuring the coverage requirement continuously. Furthermore, in most of these studies [3, 4, 11, 12, 17, 20], a centralized controller is assumed to know the exact battery level information and locations of all nodes. However, most of these studies have not considered the different charging capabilities for sensors located at different geographic locations.

A WSN consisting of all rechargeable nodes can achieve infinite lifetime in theory. However, due to the node density and charging capability constraint, it may happen that a RWSN cannot provide required area coverage some time, yet it may recover later on after obtaining enough recharged energy. We call this temporarily loss of coverage requirement as coverage breach, which was previously termed for traditional non-chargeable WSNs for target coverage yet with feedback bandwidth constraint [2, 17]. In [2], sensor activity scheduling based on coverage contribution has been proposed to minimize coverage breach; While in [17], both coverage contribution and residual energy have been considered. But both of them have not considered the charging capability in rechargeable WSNs, yet applying the simplistic disk model for target coverage.

In this paper, we study the minimum coverage breach problem in a rechargeable WSN based on the CIC model. To solve this problem, we propose a family of greedy heuristic active sensor selection algorithms for constructing set covers each satisfying the application coverage requirement. In the set coverage construction, the algorithms greedily select one active sensor node with the maximum utility at each step. We design several utility functions, which take into consideration of the coverage contribution, remaining energy and predicted charging energy. Since this new CIC model considers the collaborations in between sensors, it may still exist coverage-redundant active sensors after the scheduling. We then propose another redundancy removal algorithm to further optimize the selected active nodes. Simulation results show that our algorithm with both coverage and energy capability considerations can outperform the traditional coverage-based scheduling algorithm in terms of much smaller breach rate.

The rest of the paper is structured as follows. The system model is introduced in Sect. 2 and we precisely define our problem in Sect. 3, Sect. 4 presents a family of greedy heuristic solutions. Simulation results are provided in Sect. 5, and Sect. 6 concludes the paper.

2 Preliminaries

2.1 Confident Information Coverage

The CIC model [16] is based on the theory of field reconstruction. We assume that a specific physical phenomenon within the sensing field needs to be monitored. Let \(z^t(x)\) denote the true value of the physical attribute at a reconstruction point x, and \(\hat{z}^{t}(x)\) denote its estimated value. We use the time-average root mean square error (RMSE) to evaluate the reconstruction quality for each reconstruction location, that is,

$$\begin{aligned} \varPhi (x)\equiv \sqrt{\frac{1}{T}\sum _{t=1}^{T}(z^t(x)-\hat{z}^t(x))^2)}. \end{aligned}$$
(1)

Given a reconstruction function and reconstruction requirement \(\varepsilon \), a space point x is called being \(\varPhi \)-covered, if \(\varPhi (x) \le \varepsilon \). A sensor field is said being completely \(\varPhi \)-covered, if all the space points within the field are \(\varPhi \)-covered.

In many applications, the physical phenomenon can be modeled as a second-order stationary stochastic process. We can adopt the widely used ordinary Kriging [6, 7] as a reconstruction function. Furthermore, we use only those sensor nodes located within the correlation range of a space point for its attribute reconstruction. This is due to that the spatial correlation of a physical phenomenon is often within a limited range. We note that after some further mathematical transformations, whether a point is \(\varPhi \)-covered can be determined by the geometric relations among the point and the sensors within its correlation range.

2.2 Energy Charging Model

Each rechargeable sensor node can harvest energy by its solar panel, but it can only be charged in the sleep state, since in many cases each node is equipped with only one rechargeable battery with a simple switch circuitry [9, 20]. We adopt an approximate one-day energy charging model for each solar panel [8], which uses a quadratic curve to model the solar energy harvested in the daytime; While in the night, the harvested energy is zero:

$$\begin{aligned} E^c(k) = E^{max}\times (-{1\over 36} \kappa ^2 + {2\over 3}\kappa - 3), \quad \quad \kappa = {} \,\bmod \,{} (k,24),k = 1,2,... \end{aligned}$$
(2)

where \(E^{max}\) is the maximum charging rate and \(\kappa =\mathrm {mod}(k,24)\) is to obtain the remainder after k is divided by 24 h of a day.

In practice, since the solar panel and recharge battery are not cheap, the solar panel size and battery storage capacity are generally not made very large. The charging rate is determined by the size of a solar panel. So the maximum battery capacity can be set to store the maximal chargeable energy in a whole day. On the other hand, it is possible that different nodes are equipped with different sizes of solar panel. Furthermore, solar power generation depends on the intensity of solar radiation, and obstruction of sunlight can impact on the charging rate. In a large sensor field, sensor nodes are widely distributed at different locations, and it is not uncommon that some sensor nodes may be within the shadow of foliage and crops for different times. Therefore, the charging rates are uneven across sensor nodes.

Table 1. Symbols and notations

3 Problem Statement

We consider a randomly deployed WSN consisting of rechargeable sensor nodes, each equipped with a solar panel and a rechargeable battery. We assume that each sensor node can be in one of two states: active and sleep. In the active state, a sensor node samples the physical phenomenon and consumes an amount of the energy stored in its battery. Furthermore, a sensor node in the active state cannot charge its battery. In the sleep state, a sensor node consumes negligible energy, but it can charge its battery.

In traditional non-rechargeable WSNs, the battery of each sensor node is with limited capacity and is not rechargeable. Therefore, the operational time of a sensor node is not infinite, and so is a non-rechargeable WSN. Sensor activity scheduling is a common approach to extend the network operational time by alternatively activating only a subset of sensors at a time. The scheduled active sensors need to meet the network coverage requirement. The network lifetime is often defined as the maximum time duration till the network coverage cannot be guaranteed by all available sensors.

In rechargeable WSNs, a sensor node can be recharged after its battery depletion. In theory, the operational time of a rechargeable node can be infinite, and so is a rechargeable WSN. However, as a sensor node cannot charge all the time, like in the night and in the active state, the totally available sensors with enough battery energy may not be enough at sometimes, which can lead to coverage breach, i.e., the network coverage requirement cannot be achieved even with all sensors being active sometimes. In this paper, we study the coverage breach problem in such a rechargeable WSN.

Coverage breach can be avoided by deploying more nodes and/or equipping larger solar panel and rechargeable battery, but this approach is too expensive. In a rechargeable WSN, coverage breach is not permanent, but can be self-recovered after sensor nodes are recharged. We can adopt the sensor scheduling approach to alternatively activate sensors, such that the coverage requirement can be satisfied by active sensors, yet the network breach can be minimized.

In this paper, we divide the continuous time line into consecutive slots with equal length. In one slot, a sensor can be in either active or sleep state. In the beginning of each slot, a sensor node is called a candidate if its remaining energy can support the whole slot. In the beginning of each slot, we select active sensors from all candidates to form a set cover by which the network coverage requirement can be achieved. The worst case is that a coverage breach occurs, even if all the candidates are active. If this happens, we have two options: One is still to activate all candidates to only fulfill partial coverage requirement; The other is to deactivate all nodes such that they can have chances to recharge. In this paper, we choose the latter option, as our main objective is to minimize the average breach rate in a long term viewpoint, other than differentiating breaches.

Table 1 summarizes the symbols and notations. We next provide the problem formulation as follows. Consider a long term duration consisting of K slots, the breach rate is defined as

$$\begin{aligned} BR = \frac{1}{K}\sum \limits _{k = 1}^K (\varPhi ({C_k}) < {\varPhi _{th}}), \end{aligned}$$
(3)

where \(\mathbb {I}(\cdot )\) is an indicator function. \(\mathbb {I}(\varPhi (C_k) < \varPhi _{th})=1\), if \(\varPhi (C_k) < \varPhi _{th}\); Otherwise, it equals to 0. Note that a set cover can be an empty set, which means no rechargeable nodes been selected to be active.

Fig. 1.
figure 1

Illustration of breach schemes.

The problem of minimizing coverage breach rate can be formulated as:

$$\begin{aligned} \begin{aligned}&\underset{K}{\text {Minimize}} \qquad BR = {1 \over K} \sum _{k=1}^K \mathbb {I}(\varPhi (C_k) < \varPhi _{th} ) \\&\text {Subject to} \qquad 0 \le E_i^r(k) \le {S^{max}_i}, \quad \forall k = 1,2,..,K, \forall i\in \mathcal {S}; \\&\quad \quad \quad \quad \quad \quad \,\, E_i^r(k) > E_i^s(k),\quad \forall k = 1,2,..,K, \forall i\in C_k;\\ \end{aligned} \end{aligned}$$

Where

$$\begin{aligned} \begin{aligned}&E_i^{init} = S^{max}_i, \forall i \in \mathcal{S};\\&E_i^{r}(k+1) = \min \{ E_i^r(k) + E_i^c(k),S_i^{max}\} ,\mathrm{{ }} \\&\quad \quad \quad \quad \quad \quad \quad \forall k = 1,2,..,K, \forall i \not \in {C_k};\\&E_i^{r}(k+1) = \max \{ E_i^r(k) - E_i^s(k), 0\} ,\mathrm{{ }} \\&\quad \quad \quad \quad \quad \quad \quad \forall k = 1,2,..,K, \forall i \in C_k;\\&\mathbb {I}(\varPhi (C_k) < \varPhi _{th}) \in \{ 0,1\}, \forall k = 1,2,..,K; \end{aligned} \end{aligned}$$

Remarks:

  • The first constraint guarantees that the remaining energy does not exceed the maximum storing energy of each sensor \(s_i\) across the lifetime and it is non-negative.

  • The second constraint guarantees that the remaining energy of each selected active sensor is not smaller than consumed energy in a time slot.

We further illustrate our problem in Fig. 1. We consider a long duration of K slots. There may exist coverage breach in some time slots. For example in Fig. 1, \(C_3\) is a breach slot. In a breach slot, all the rechargeable sensor nodes will switch to the sleep state. Note from Fig. 1, the required \(\varPhi \)-coverage can still be guaranteed in the 5th slot, if some nodes have recharged enough energy in the 4th slot. Therefore, although a RWSN can in theory work infinitely, coverage breach may happen due to the lack of sensor density and charging capability. For this new characteristic of RWSNs, few work have been done before for minimizing coverage breach. Although an optimum solution to the minimum breach rate problem may be found through exhaustive search for all possible set covers in all slots, its computation complexity is very prohibitive. In the next section, we propose a family of greedy selection algorithms to approach this problem.

Table 2. Pseudo-codes for set cover construction

4 Heuristic Solutions for Breach Minimization

In the beginning of each slot, the proposed algorithm constructs a set cover to satisfy the network coverage requirement. The set cover is initiated as an empty set. The basic idea of these algorithms is the same: A set cover is constructed by greedily selecting the sensor with the largest utility to be included into the set cover in each step, until the coverage requirement is satisfied or all the candidates are included into the set cover.

Table 2 provides the core pseudo-codes of the proposed algorithms. In the beginning of each iteration, we first obtain the candidate sensor sets \(\mathcal {I}\) (line 4). In each iteration of the While loop, it constructs one set cover until the required \(\varPhi \)-coverage is guaranteed or the candidate set is empty (line 6). In each iteration for sensor selection, we choose the one with the largest utility (line 7). When it cannot find a set cover to provide required \(\varPhi \)-coverage, a coverage breach happens and all selected sensor nodes switch to sleep state (line 12); Otherwise, we implement the redundancy removal algorithm to optimize the constructed set cover (line 14). We next present our proposed utility functions and redundancy removal algorithms.

Fig. 2.
figure 2

Illustration of scheduling scheme. (Color figure online)

4.1 Utility Function

Coverage Contribution: The first utility function is purely based on the \(\varPhi \)-coverage contribution. For a sensor \(s_i\), its \(\varPhi \)-coverage contribution is defined as the newly increased \(\varPhi \)-coverage ratio, if it is included into the set cover \(C_k\):

$$\begin{aligned} \varDelta \varPhi (s_i) = \varPhi (C_k \cup \{s_i\}) - \varPhi (C_k) \end{aligned}$$
(4)

According to the CIC property, if a single sensor is used for \(\varPhi \)-coverage, its covered area is actually the disk coverage model, i.e., a disk centered at itself with a radius r. However, when two sensors within the correlation range are used for \(\varPhi \)-coverage, their covered area is in general more than the union of their respective coverage disks. For example, in Fig. 2, we use a disk to illustrate the coverage of a single sensor; yet the yellow region surrounding the sensors \(s_1\) and \(s_2\) is the \(\varPhi \)-covered area by the two sensors. Clearly, the concept of \(\varPhi \)-coverage expands the disk coverage, yet it can still maintain the same coverage quality in terms of the RMSE of \(\varPhi \)-covered area being larger than the same threshold.

Therefore, when computing the \(\varPhi \)-coverage of \(\varPhi (C_k \cup \{s_i\})\), not only the area within the sensing radius \(s_i\) should be considered, but also the area that could be covered by the collaboration of \(s_i\) and some sensors in \(C_k\) within the correlation range of \(s_i\). For example, in Fig. 2(a)–(d), the blue, green, magenta and cyan area represents the coverage contribution \(\varDelta \varPhi (s_3)\), \(\varDelta \varPhi (s_4)\), \(\varDelta \varPhi (s_5)\), and \(\varDelta \varPhi (s_6)\), respectively. Among them, the sensor \(s_3\) has the largest coverage contribution.

The first utility function is hence defined as:

$$\begin{aligned} U(s_i) = \varDelta \varPhi (s_i). \end{aligned}$$
(5)

The above utility function is efficient in selecting the least number of sensors. However, it may happen that a sensor could be selected into multiple consecutive set covers, which leads to its loss of recharging opportunities and even renders its temporarily shutdown. Coverage breach may happen due to such temporary death of some sensor nodes, which might become even more prominent in a rechargeable WSN with uneven charging rate. Therefore, a utility function should also take energy into consideration.

Coverage Contribution and Remaining Energy: The storage capacity of the rechargeable battery is limited due to its high cost. Therefore, for a fully charged sensor node, if the scheduling algorithm puts it into the sleep sate, it is a waist of its recharging opportunity; Whereas other sensor nodes in the active state with less residual energy could miss the opportunity for harvesting energy. Therefore, we include the remaining energy into the utility function as follows:

$$\begin{aligned} U({s_i}) = \frac{{E_i^r(k)}}{{S_i^{max}}} \times \varDelta \varPhi ({s_i}). \end{aligned}$$
(6)

Here we compute the battery level of sensor i by its remaining energy divided by its maximum battery storage. Compared with Eq. (5), the above utility function takes the remaining energy into consideration, which may help to improve the energy balance across all sensors. For example in Fig. 2, among \(s_3, ..., s_6\), the sensor \(s_6\) has the largest utility. Its selection may help to reduce the risk that some other sensor losses of charging opportunity.

Coverage Contribution and Predicted Energy: Considering the fact of uneven charging rates, the prospective energy level may be different in the spatial domain, which is another critical factor we should consider. We assume that the amount of energy harvested by the sensor in a certain future time period is estimable [8]. Here we denote the prospective energy level as the predicted energy divided by the maximum battery storage. We thus consider to increase the likelihood for a sensor with high prospective energy level to charge its energy such that from the whole network perspective, more environment energy can be exploited. Hence we define the next utility function:

$$\begin{aligned} U({s_i}) = \frac{{S_i^{\max }}}{{E_i^c(k)}} \times \varDelta \varPhi ({s_i}). \end{aligned}$$
(7)

With the above utility the sensor nodes which cannot harvest plenty of energy, for example \(s_4\), should give the charging opportunity to those sensors with high perspective energy level, such \(s_3\), \(s_5\) or \(s_6\), in order to increase the energy inflow to the whole network.

Coverage Contribution, Remaining Energy and Predicted Energy: Based on the above discussions, we know that there are three main factors impacting on the selection of a sensor node, namely, coverage contribution, remaining energy and predicted energy. Therefore, we propose another utility function to combine all the three factors as follows:

$$\begin{aligned} U({s_i}) = \frac{{E_i^r(k)}}{{E_i^c(k)}} \times \varDelta \varPhi ({s_i}). \end{aligned}$$
(8)

Compared with Eqs. (6) and (7), the above utility function assigns a higher priority to a sensor node with higher remaining energy as well as lower recharging potential. As it makes some balance in between of using abundant remaining energy and charging more environment energy, it can increase the likelihood of more charging energy for the whole network for future usage while without dramatically depleting a single sensor. For example from Fig. 2, we should compare the battery level, perspective energy level and coverage contribution to compute the utility of candidate sensors \(s_3,...,s_6\), and then select \(s_5\) for its highest utility.

Table 3. Redundancy removal algorithm

4.2 Redundancy Removal

The greedy nature of the proposed algorithms implicitly imposes a constraint of nonreversible selection. That is, once a sensor node is selected, it will not be removed from the set cover. The only exception is that the set cover cannot fulfill the network \(\varPhi \)-coverage requirement, and all the sensor nodes in the set cover are dismissed and converted back into the sleep state.

This irreversibility of the greedy algorithms needs to be considered in our \(\varPhi \)-coverage model. Note that in the \(\varPhi \)-coverage model, the area covered by a set of sensors is also dependant on the geometric relations in between these sensors. Therefore, after a sensor has been newly included, it not only covers some previously uncovered area, but also changes the geometric relations among the sensors being selected. Therefore, this inclusion of a new sensor may change the \(\varPhi \)-coverage structure of the whole field. So we need to recheck the coverage redundancy after the set cover construction.

We next propose a redundancy removal (RR) algorithm. A redundant node is defined as such a node that its deletion from the set cover does not compromise the network coverage requirement. The basic idea of the proposed RR algorithm is to iteratively remove one redundant node with the smallest utility at a step, until the network coverage cannot be satisfied if further deletion is performed.

Table 3 presents the pseudo-codes of the proposed RR algorithm. In each iteration of the For loop, the algorithm checks the coverage redundancy of constructed set cover. If redundancy does not exist, return the set cover (line 13). Otherwise, we will remove the redundant sensor in terms of its utility step by step (line 15–17). Note that a redundant sensor has its coverage contribution equal to zero. Therefore, we redefine the utility for redundant sensor node as \(\frac{{U({s_i})}}{{\varDelta \varPhi ({s_i})}}\) (line 15). Ties are broken randomly. After deleting one redundant sensor nodes, we should recheck the redundancy (line 17).

5 Simulation Results

Our simulations are written in MATLAB 7.10.0 (2012a). We simulate a rechargeable WSN randomly deployed in a 1 km \(\times \) 1 km sensor field. For the CIC model, the correlation range is set to 0.4 km, and the reconstruction RMSE requirement \(\varepsilon \) is set to 0.2. For each rechargeable node, we use Eq. (2) as its charging model and set one hour as a slot. We also normalize the energy charging and consumption with respect to a slot. The initial energy or the maximum energy storage of all sensor nodes is set to 1 slot and the energy consumed in each slot is set to 0.2 slot.

Fig. 3.
figure 3

Comparison of the breach rate against the number of sensor nodes. The maximum charging rate is uniformly distributed within [0.1, 0.6] or \(\mathcal {K} = 0.6\).

Fig. 4.
figure 4

Comparison of breach rate against uneven recharging degree. The number of deployed nodes is 40.

Fig. 5.
figure 5

Comparison of breach rate against different RMSE thresholds. The number of deployed nodes is 40; \(\mathcal {K} = 0.6\).

Fig. 6.
figure 6

Illustration of breach distribution in terms of four utility functions. The number of deployed nodes is 40; \(\mathcal {K} = 0.6\).

Fig. 7.
figure 7

Comparison of burst breach and breach time slots of different score functions. (Color figure online)

We call the algorithms using different utility functions as CC using Eq. (5), CC-RE using Eq. (6), CC-PE using Eq. (7), and CC-REPE using Eq. (8). We use a uniform distribution to model the uneven charging rates across sensors. The maximum charging rate \(E^{max}\) of each node is set to be uniformly distributed within \([0.1,\mathcal {K}]\). Therefore, we change the value of \(\mathcal {K}\) to change the uneven charging degree. We simulate a long period of 500 slots and all results are average over 20 different network deployments.

Figures 3 and 4 compare the breach rate for the four algorithms against the number of deployed nodes and the uneven charging degree, respectively. It is not unexpected that the breach rate decreases with the increase of number of sensors, and with the increase of uneven charging degree on the whole. It can also be observed that the proposed algorithms with energy consideration outperform the CC algorithm without energy consideration. Furthermore, the CC-REPE algorithm achieves the smallest breach rate. This indicates that our greedy selection algorithms can maximally reduce the coverage breach when the utility function takes both the remaining energy and predicted energy charging into the scheduling consideration.

Figure 5 plots the breach rate against different network RMSE thresholds. It is observed that the breach rate decreases with the increase of the RMSE threshold. Again the CC-REPE algorithm achieves the smallest breach rate among the algorithms. In the CIC model, the network RMSE determines the reconstruction quality requirement. When the RMSE requirement is relaxed, the number of sensors which can collaborate to provide CIC coverage for a same field can be generally reduced. Hence more sensor nodes could have more time to harvest energy and the breach rate can be reduced.

We further use the Fig. 6 to illustrate the breach distribution of four proposed utility functions among the simulation of the 500 time slots. A burst breach is defined as a coverage breach spanning two or more consecutive breach slots. Here we define the number of breach slots in each burst breach as burst value, namely, the degree of burst breach. In the Fig. 6, the burst value can be reflected by the thickness and the shade of bar. Figure 7 compares the number of total breached slots and the number of different predefined burst breach for the four utility functions. It is clearly seen that the utility functions taking energy into account can improve the performance of network compared with the purely coverage-based CC algorithm. Moreover, CC-REPE outperforms the other two in terms of both of the number of breach slot and burst breach. This is because that the CC-REPE considers both of remaining energy and charging potential, which might help to balance the energy distribution not only in the temporal domain for individual sensors, but also in the spatial domain for the whole network.

6 Conclusion

In this study, we have studied the problem of minimizing breach rate in rechargeable sensor networks and proposed a family of greedy selection algorithms to organize sensor nodes into a series of set covers which work alternatively based on the novel CIC model, each satisfying applications coverage requirement. Moreover we implement the redundancy removal algorithms (RR) to optimize the constructed set cover. Simulation results demonstrate that the utility function CC-REPE which consider the coverage benefit, remaining energy and predicted energy outperforms the others in terms of the smallest breach rate. Our future work will further consider the connectivity and design efficient distributed scheduling algorithms.