Barrier coverage in energy harvesting sensor networks

Barrier coverage in energy harvesting sensor networks

ARTICLE IN PRESS JID: ADHOC [m5G;December 2, 2016;11:35] Ad Hoc Networks 0 0 0 (2016) 1–12 Contents lists available at ScienceDirect Ad Hoc Netwo...

1MB Sizes 0 Downloads 47 Views

ARTICLE IN PRESS

JID: ADHOC

[m5G;December 2, 2016;11:35]

Ad Hoc Networks 0 0 0 (2016) 1–12

Contents lists available at ScienceDirect

Ad Hoc Networks journal homepage: www.elsevier.com/locate/adhoc

Barrier coverage in energy harvesting sensor networksR,RR Jonathan DeWitt a, Hongchi Shi b,∗ a b

Department of Computer Science, Haverford College, Haverford, PA 19041, United States Department of Computer Science, Texas State University, San Marcos, TX 78666, United States

a r t i c l e

i n f o

Article history: Received 19 February 2016 Revised 28 November 2016 Accepted 29 November 2016 Available online xxx Keywords: Barrier coverage Energy harvesting Wireless sensor networks Multi-route flows

a b s t r a c t Wireless Sensor Networks (WSNs) can be used effectively to form barriers that monitor strips of land for applications such as homeland security and critical infrastructure protection. When WSNs are used as barriers, they are typically deployed for extended period of time, so it is of great importance that the network has a long lifetime. Sensors are highly constrained in their energy usage, even when deploying the current energy-harvesting technology. It is necessary that the harvested energy be used effectively. The lifetime problem for WSNs with no energy harvesting has been studied extensively. In this paper, we study lifetime issues of the k-barrier coverage problem for energy harvesting WSNs. First we develop an algorithm that finds a repeating sleep/wakeup schedule that can provide the perpetual operation of the maximum number of barriers in an energy harvesting WSN. Then in the case that perpetual operation can not be achieved, we give an exact solution to the problem of achieving maximum lifetime for the application of k-barrier coverage in energy harvesting WSNs. © 2016 Elsevier B.V. All rights reserved.

1. Introduction The lifetime of wireless sensor networks (WSNs) has been studied extensively [3]. Long lifetime is desirable. For instance, it can make the deployment of a network along a difficult border much less cost-prohibitive as it would reduce the need for frequent maintenance. However, network lifetime is application specific and thus necessitates individual study for different applications. In this section, we give an informal description of the problem, which will be made precise in the section describing our formal model, Section 1.2. One WSN application is the detection of intruders for infrastructure protection and border control. Each sensor has a wireless radio and a sensor typically with a much shorter sensing distance than its radio range. Such a sensor may, for instance, detect nearby motion, and thereby detect intruders. We assume here that sensors are omni-directional and hence may detect activity that occurs near them within a fixed radius. Each sensor has a battery and consequently may not be able to run indefinitely. For this application a number of sensors are deployed over what is typically a long thin strip. We may erect a barrier through the network by choosing to turn on nodes running from one end of the network

R This research was partially supported by DoD in partnership with NSF REU grant 1156712. RR A preliminary version of the results in this paper has appeared in [1,2]. ∗ Corresponding author. E-mail addresses: [email protected] (J. DeWitt), [email protected] (H. Shi).

to the other so that the sensing radii of nodes overlap so that one may not cross from one side of the network to the other without crossing through the sensing radius of an active node. For more security, one might want to set up multiple disjoint barriers, for increased reliability of detection and redundancy in the case of failure. The k-barrier coverage problem is to set up k disjoint barriers in a wireless sensor network with an objective of achieving the longest operation time [4,5]. (Fig. 1) The network lifetime for k-barrier coverage is the longest time of having k operational disjoint barriers. The parameter k has a large impact on the quality of the barrier coverage: the larger the k, the more robust the barrier coverage. Harvesting energy in WSNs has become an active research area [6–12]. A recent survey on energy harvesting in sensor networks [11] observes that “energy harvesting techniques have the potential to address the trade off between performance parameters and lifetime of sensor nodes.” It is obvious from looking at the harvesting and sensing costs [12] that a naive approach to barrier coverage will not work. For example, in a network that gathers energy with vibrational sensors harvesting at most 0.1 mW that also employs light sensors using 1.155 mW, it is not hard to see that such a network can not be powered indefinitely in a barrier coverage application. Energy harvesting rates are much lower than energy consuming rates in sensor nodes. There is still research to be done on extending network lifetime and increasing coverage, even when energy harvesting techniques are deployed. To the best of our knowledge, the k-barrier coverage problem in WSNs with energy harvesting capabilities is still a topic that has

http://dx.doi.org/10.1016/j.adhoc.2016.11.014 1570-8705/© 2016 Elsevier B.V. All rights reserved.

Please cite this article as: J. DeWitt, H. Shi, Barrier coverage in energy harvesting sensor networks, Ad Hoc Networks (2016), http://dx.doi.org/10.1016/j.adhoc.2016.11.014

JID: ADHOC 2

ARTICLE IN PRESS

[m5G;December 2, 2016;11:35]

J. DeWitt, H. Shi / Ad Hoc Networks 000 (2016) 1–12

Fig. 1. A simulated sensor network in which the sensors were placed uniformly at random through out the region. Here the maximum number of barriers that could be formed for sensing radius of 2 is k = 3.

yet to be studied. In this paper, we study the k-barrier coverage problem in a framework that allows energy harvesting and present algorithms achieving the maximum perpetual barrier coverage for such a network. In the case that perpetual operation can not be achieved, we give an exact solution to the problem of achieving maximum lifetime for the application of k-barrier coverage. 1.1. Related work In this paper, we extend the results of Kumar et al. [5] who proposed an optimal solution to achieving k-barrier coverage in sensor networks without energy harvesting. The solution also has applications to achieving coverage in non-disk sensing regions and heterogeneous sensing regions as it is based on a coverage graph. The solution relies on using m-route flows to schedule the nodes such that they achieve an upper bound on the lifetime of the network, thus maximizing the lifetime. An m-route flow is a flow through a graph is a flow that is the sum of elementary flows in which the edges with a positive amount of flow through them form m vertex disjoint paths from the source to the sink, with an equal amount of flow passing through each path. Kishimoto and Takeuchi largely introduced the topic of m-route flows in a network [13], and Kishimoto presented an algorithm for obtaining maximum such flows [14]. Aggarwal and Orlin improved Kishimoto’s algorithm by finding a solution with better run time but with the added requirement that all of the capacities of the flow be integers [15]. Du and Chandrasekaran [16] reexamined the m-route maximum flow problem and presented two new algorithms. This theoretical work underpins our application. Energy harvesting has been studied in tandem with WSNs, which can be hard to maintain due to problems with deploy-

ment and energy constraints. Raghunathan et al. surveyed several techniques to reduce energy consumption, including energy-aware platforms for information processing and communication protocols for sensor collaboration [17]. Jiang et al. studied the use of solar power to extend the life of their networks [8]. Arms et al. demonstrated the ability of wireless sensor nodes to operate at very low power levels while working together with an energy harvesting system and presented methods to dramatically increase the lifetime of the network [6]. Gilbert and Balouchi gave an overview of some of the different types of energy available for harvesting, including electromagnetic radiation, thermal, and vibration [7]. They discussed the applications of each type of energy and the type of hardware associated with the various methods of energy harvesting. They also discussed different methods to harvest energy from the environment, including power from human movement, and presented two different case studies. The two scenarios show that energy harvesting has a wide range of applications in different environments. It can be difficult to find an appropriate schedule for WSNs with energy harvesting capabilities due to the changing environmental conditions. Kansal and Srivastava presented a solution to this problem [9], and Vigorito et al. extended their results [18]. Their solutions allow a sensor network to make the most of the energy available in the environment around the network. The specialization of algorithms to energy harvesting networks has occurred for various other WSN applications. Yang and Chin developed a linear programming approach to the coverage problem in energy harvesting WSNs that generates a sleep wakeup schedule for the network which more than doubles the lifetime over that of non-recharging networks [19]. Gu et al. presented an energy harvesting aware scheme called Energy-Synchronized Communication

Please cite this article as: J. DeWitt, H. Shi, Barrier coverage in energy harvesting sensor networks, Ad Hoc Networks (2016), http://dx.doi.org/10.1016/j.adhoc.2016.11.014

JID: ADHOC

ARTICLE IN PRESS

[m5G;December 2, 2016;11:35]

J. DeWitt, H. Shi / Ad Hoc Networks 000 (2016) 1–12

to optimize radio activity in the sensor network. Their approach led them to observe significant increases in network lifetime [20]. Their case studies demonstrate that energy harvesting has numerous applications in many different scenarios. Moser et al. considered a sensor network in which the nodes are recharged by small solar panels [21]. Their analysis demonstrates that it is necessary to adapt their techniques to take advantage of the energy that is made available to them. Further, they developed approaches to implementing such networks in the future. This indicates that it is essential that new energy harvesting aware algorithms be developed for the existing WSN applications. 1.2. Model In this section, we give the formal model of WSNs we use and then comment on this model thereby situating it with respect to the literature. 1.2.1. Formal model Definition 1. The coverage graph of a network, N, is the graph G(N ) = (V, E ) such that V is a set of nodes in one-to-one correspondence with the sensors of N and two extra virtual nodes s and t at the left and right boundaries of the sensing region. Two nodes vi and vj are connected by an edge (vi , vj ) ∈ E if the sensing regions of the corresponding sensors overlap [4]. Node s has an edge to any node whose sensing region overlaps the left boundary, and t has an edge to any node whose sensing region overlaps the right boundary. We augment this definition with more information in accordance with the problem we are solving. Definition 2. An energy-harvesting coverage graph, Gh (V, E), is a coverage graph G(V, E) with a harvesting function, B(vi ) = βi , an energy use function A(vi ) = αi , and a battery capacity function, U (vi ) = i , and initial charge function U0 (vi ) = u(0 ). Definition 3. A schedule of length T is just a function f: V × [0, T) → {0, 1}, where f (v, t ) = 1 indicates node v is sensing and f (v, t ) = 0 indicates node v is sleeping at time t. A schedule is then feasible if no node is instructed to run when out of energy. A node wakes or sleeps according to when f(v, ·) changes from 0 to 1 or vice versa. We can now define the notion of barrier coverage. Definition 4. A network N with feasible schedule f provides kbarrier coverage with lifetime T if for 0 ≤ t ≤ T there exist k nodedisjoint paths between the two virtual nodes s and t in the subgraph of G(N) induced by the nodes that are awake at time t [3,4]. The case of perpetual k-barrier coverage is the case with T = ∞. We refer to the problem of finding the maximum k such that a feasible perpetual schedule exists as the maximum perpetual barrier coverage problem with energy harvesting. For this problem, the lifetime metric for quality of service is meaningless. As the parameter k in the k-barrier coverage measures the robustness of the barrier coverage, we propose the maximum perpetual barrier coverage as the metric of barrier coverage quality. In particular, we refer to this quantity as κ (N). We will present algorithms for solving this problem. Namely, we will show how to determine κ (N) such that perpetual coverage is maintained. When perpetual barrier coverage can not be achieved, the important issue is to maximize the schedule length T to guarantee kbarrier coverage. We will give an algorithm for maximizing T given k in the homogeneous case when perpetual coverage can not be achieved.

1.2.2. Comments on the model We now discuss the accuracy and drawbacks of the assumptions used in our model. Our model on the network is a direct extension of Kumar et al.’s model [4]. A sensor network is a graph where overlapping sensing regions correspond to edges between nodes. A source and sink represent the ends of the sensing domain, and hence a path between the two ends represents a barrier. The coverage graph model allows for the analysis of non-disk sensing regions in the same framework. In particular, we are assuming here that overlaps between the sensing regions do not change over time, such as might happen if the sensors were mounted on robots or animals. We next assume that each node expends power at a fixed rate depending only on its present state of being awake or asleep, as Kumar et al. did in their work [4]. Additionally, like Kumar et al., we assume that there is no cost for the node turning on and off. This assumption is reasonable when a node has a long duty cycle, in which case the elevated power cost of turning on is brief and hence negligibly impacts the energy expense during the awake duty cycle. The major assumption we make in this paper is that each node harvests energy at a fixed rate. Gorlatova et al. examined the amount of energy harvested from light in a variety of environments [22]. In particular, they observed the energy profiles in various areas. In some areas, like Las Vegas, they obtained a profile that is basically deterministic, whereas indoors in New York, the energy profile is still fairly periodic yet has more variance on a minute to minute level. This suggests that in the case of light energy harvesting in high variance environments, such as in Times Square at night, the feasibility of such an assumption is unviable. However, essential in drawing any such conclusions is consideration of the time scale involved. If our duty cycle is long and the sleep cycle is long, we may be averaging energy harvested over several hours, or even days of time, in which case the variance of the energy harvested goes down dramatically. Moreover, we need not pick our optimal schedule only once. Rather, we might recalculate it on an hourly, daily, or monthly basis to accommodate the environmental condition changes for a more accurate estimate of the harvesting rate. In particular, if the amount of energy being harvested in the network decreases, then we can decrease the number of barriers the network is running to ensure that perpetual coverage is still maintained despite it being of a lower quality. Moreover, if one is willing to admit strong smoothness assumptions about the rate of change of the energy being harvested, then such a plan of rerunning the algorithm will admit accurate results. There are other methods to improve accuracy, for instance using weather data allows one to improve predictions of energy harvested [23] and have been used to obtain a better quality of service [24]. It should be noted that the above only considers energy harvesting from light sources. However, other energy sources such as vibrational energy sources may provide more uniform energy harvesting [7]. For instance, sensors gathering energy from fluid flow or steady mechanical vibrations should harvest a relatively consistent amount of energy. Moreover, people have also considered using thermal sources of energy, which are viable when used in industrial applications that generate waste heat [25]. If the temperature gradient stays above some minimum, then the output of energy is bounded below. Such a temperature gradient has been exploited with wireless sensors for bearing health monitoring in industrial applications [26]. However, thermal power is limited by the Carnot efficiency associated with the temperature gradient, which may be quite small if the temperature gradient is small [7]. Hence, it is not unreasonable to assume that sensor nodes harvest energy at a constant rate. The simplicity of this assumption

Please cite this article as: J. DeWitt, H. Shi, Barrier coverage in energy harvesting sensor networks, Ad Hoc Networks (2016), http://dx.doi.org/10.1016/j.adhoc.2016.11.014

3

JID: ADHOC 4

ARTICLE IN PRESS

[m5G;December 2, 2016;11:35]

J. DeWitt, H. Shi / Ad Hoc Networks 000 (2016) 1–12

makes the analysis tractable while also not requiring algorithms that are too complex for relatively simple sensors to run. However, we do not assume that the network is homogeneous. Wang et al. [27] discuss barrier coverage in wireless sensor networks with adjustable sensing ranges. This models a network in which each node consumes energy at some constant rate, yet different nodes have different energy expenditure rates. Similarly, when we consider energy harvesting, we should not assume that each node is able to harvest at the same rate. For instance, if we consider a network deployed in a vibrating environment [7], we should not assume that every node is vibrating at the same amplitude; and similarly in an radio energy harvesting scenario, distances from the source can affect the energy harvested, and thus we should not assume that all the rates are the same [28]. In this way, the nodes in the wireless sensor network replenish their energy supply at unique yet fairly fixed rates. The rest of the paper is organized as follows. We have some additional preliminary discussion about perpetual barrier coverage in Section 2. We then present algorithms achieving maximum perpetual k-barrier coverage for the homogeneous case in Section 3 and for the heterogeneous case in Section 4. In Section 5, we present an algorithm achieving maximum lifetime in homogeneous networks in the finite lifetime case, and describe the extension to the heterogeneous case. In Section 6, we present some simulation results. We conclude the paper in Section 7.

In each cycle, node v starts with energy  . For any time t in the cycle when v is awake (0 ≤ t < Ton ), the remaining energy of v is  + β t − αt =  − (α − β )t > 0. For any time t in the cycle when v is asleep (Ton ≤ t < TC ), the remaining energy of v is β (t − Ton ) ≥ 0. When the cycle ends, the remaining energy of v is β (TC − Ton ) = β ( (1/β + 1/(α − β )) −  /(α − β )) =  . So, the node’s battery always contains sufficient energy for the node to not exhaust the cycle. Also, the remaining energy never exceeds the battery capacity, that is, we never attempt to fill an already full battery in the cycle. Hence, we see that the schedule is feasible and infinite. 

3. Homogeneous case of perpetual barrier coverage

2. Perpetual barrier coverage 2.1. Energy harvesting and consumption in sensor nodes In order to begin our discussion of perpetual barrier coverage, we introduce the most important notion for analyzing perpetual applications. This notion is the maximum proportion of time a node may remain on in a perpetual schedule. In order to discuss this, we let F(v, t) denote the amount of time that node v has been awake by time t in the schedule f. Definition 5. The maximum proportion of a node v ∈ V is the maximum proportion node is able to remain on in a cycle of a schedule. Namely, it is the maximum over f of limt → ∞ F(v, t)/t, the asymptotic average awake.

Fig. 2. A diagrammatic coverage graph. The nodes labeled 4 and 5 are an example of a critical set of nodes D. Note that there are only two disjoint paths between s and t and that 4 and 5 lie on these paths.

active time, q(v), for of the time that the repeating sleep/wake all feasible schedules amount of time spent

We now derive an upper bound on q(v). Lemma 2.1. Given a node v with A(v ) = α and B(v ) = β , its maximum proportion of active time, q(v), is β /α . Proof. Let u(0) be the initial charge in v. Note that the energy spent by a node in a schedule can not exceed the energy the node harvests plus its initial energy. That is, F (v, t )α ≤ β t + u(0 ). Dividing both sides by t and letting t → ∞, we obtain that limt → ∞ F(v, t)/t ≤ β /α . As this holds for any schedule f, we obtain q(v) ≤ β /α . The upper bound of q(v) is provided by the schedule that charges the node fully, then drains the node completely, and repeats. 

In this section, we derive an upper bound, κ (N), on the maximum perpetual barrier coverage that a homogeneous sensor network, N, can provide. Then we present an algorithm that schedules the nodes to achieve the upper bound, thus providing an optimal solution.

3.1. Upper bound Consider a homogeneous sensor network N. We can now examine κ (N) purely in terms of q(v) and thus keep our results sufficiently general. Lemma l ≥ k is nodes s that the

3.1. Consider a homogeneous sensor network N and suppose the number of node-disjoint paths between the two virtual and t in N. Then the maximum perpetual barrier coverage network can provide is κ (N ) = lq(v ) .

Proof. From our assumption, we know that there are at most l node-disjoint paths from s to t in N. By Menger’s Theorem [29], there is a set D of d nodes that when removed will disconnect N. We call these nodes in D critical. Fig. 2 shows D in an example coverage graph. From Definition 4, we know that for the network to provide k-barrier coverage, k node-disjoint paths must be active at any time. The number of barriers awake at time t is at most  v ∈ D f(v, t) ≥ k. Hence by averaging from [0, t] and applying Lemma 2.1 we have



F (v, t )/t ≤ lq(v ).

The following lemma enables us to define feasible infinite schedules by repeating a short cycle.

k ≤ lim sup

Lemma 2.2. Assume a node v’s initial charge u(0 ) =  , the battery capacity. A schedule f of repeated cycles with cycle duration TC =  (1/β + 1/(α − β )) and v’s awake time in each cycle Ton =  /(α − β ) is feasible and infinite.

So, k ≤ lq(v) , hence κ (N) ≤ lq(v) .

Proof. First of all, it is easy to verify that v’s proportion of active time in each cycle, Ton /TC , is no larger than q(v), as Ton /TC = [ /(α − β )]/[ (1/β + 1/(α − β ))] = β /α = q(v ).

t→∞

v∈D



It is important to note here that the upper bound does not rely on the battery capacity of any of the nodes, rather it relies on the ratio between their ability to charge to their energy expenditure. Using the above lemma, we can solve the equation κ (N ) = lq(v ) using α and β to calculate what those values must be in order to achieve a certain level of coverage for a specific network.

Please cite this article as: J. DeWitt, H. Shi, Barrier coverage in energy harvesting sensor networks, Ad Hoc Networks (2016), http://dx.doi.org/10.1016/j.adhoc.2016.11.014

JID: ADHOC

ARTICLE IN PRESS

[m5G;December 2, 2016;11:35]

J. DeWitt, H. Shi / Ad Hoc Networks 000 (2016) 1–12

5

Fig. 3. An example schedule for a sensor network with l = 3 disjoint paths, energy consumption rate α = 100, energy harvesting rate β = 75. In this example, the active time of each node in each cycle Ton = 60, cycle length TC = 80, and κ (N ) = lq(v ) = 2, which means there are at least 2 barriers active any time.

3.2. Reaching the upper bound We now present an algorithm that achieves the upper bound. To fully understand the benefits of the algorithm, we give a brief discussion of path switches. 3.2.1. Path switches In a network, it is desirable to minimize the number of times that a node is turned on and off. In the case of limited lifetime, path switches are undesirable. Definition 6. A path switch occurs when a group of sensors that together provide 1-barrier coverage is turned off and is later turned on as a group. If this group of sensors exhausts its lifetime once it is turned on, then this group of sensors has no path switches [5]. In order to extend the definition of a path switch to the perpetual case, we can still use the battery capacity to judge when a switch is unneeded. Definition 7. In a homogeneous energy harvesting sensor network, N, a path switch occurs when a barrier is turned on, but not allowed to run for its entire battery life, which is u(0 )/(α − β ) units of time, where u(0) is the initial energy. The algorithm presented here uses no continuous path switches in achieving maximum perpetual barrier coverage.

whose instructions tell them to sleep before they awaken are given an extra initial wake instruction at time 0. This procedure is given formally as Algorithm 1. In order to describe this schedule we use two quantities, ta (v) and ts (v), these give the time that v awakens and the time that v sleeps, respectively. For an example, see Fig. 3.

Algorithm 1: the homogeneous case. input : A homogeneous sensor network N, with battery capacity  , energy depletion rate α , and recharge rate β . output: A schedule (tw (vi ), ts (vi )) for all vi that achieves κ (N )-barrier coverage. 1 2

3 4 5 6 7 8 9 10 11 12

3.2.2. Homogeneous algorithm The algorithm functions by balancing the running times of the barriers so that k barriers are always on at a time and no barrier ever has to run for less than its entire lifetime. To do this, the algorithm loops through a fixed interval setting every barrier to be on for the maximum amount of time it can be on, and when coming to a next barrier it turns that barrier on when the last one is turned off. This schedule can then be indefinitely repeated, ensuring κ (N)-barrier coverage. To do this, we generate a schedule of cycles with duration TC =  /(α − β ) +  /β that will then repeat. Each node’s schedule is: awaken and run for  /(α − β ) time thereby draining the battery, and then sleep for  /β time to fully recharge the battery. We now decide the initial wake-up time for the nodes in each barrier as a group. We have the first barrier awaken at time 0. When the first barrier goes to sleep, we have the second barrier awaken. We then awaken the third barrier at the time the second one goes to sleep. We continue this process until all the barriers are scheduled. When we would awaken or put to sleep a barrier at time greater than TC , we subtract off TC to loop back to the beginning of the schedule, and then awaken or sleep at that time. Algorithms

13

Compute the coverage graph, G(N ); Compute the maximal set of node-disjoint paths, L, through G(N ) between the two virtual nodes, s and t;  +  ; TC ← α − β β

 ; Ton ← α − β T ← 0; for p ∈ L do T ← (T + Ton ); if T ≥ TC then T ← T − TC ; end ∀v ∈ p − {s, t }, ta (v ) ← T and ts (v ) ← T ; T ← T ; end

We now prove that Algorithm 1 provides the maximum perpetual barrier coverage for a network in the case that perpetual coverage can be provided. Theorem 3.2. Given a network, N, with battery capacity,  , energy depletion rate, α , and recharge rate, β , the schedule provided by the homogeneous algorithm achieves κ (N)-barrier coverage. Proof. First by Lemma 2.2 the schedule is feasible because each node is run for Ton =  /(α − β ) out of TC =  /(α − β ) +  /β total time. Next, we show that there are at least κ (N) barriers scheduled to be running at any time. It is easy to see after time (l − 1 )Ton , we always have at least lq(v) barriers active. From time 0 to (l − 1 )Ton , note that if we did not loop back at time TC , then we would have only scheduled 1-barrier coverage. When we work “modulo TC ” and loop back, we essentially repeat the cycles scheduled after time (l − 1 )Ton in the time period from 0 to (l − 1 )Ton . So, lq(v) barriers are always active. 

Please cite this article as: J. DeWitt, H. Shi, Barrier coverage in energy harvesting sensor networks, Ad Hoc Networks (2016), http://dx.doi.org/10.1016/j.adhoc.2016.11.014

JID: ADHOC 6

ARTICLE IN PRESS

[m5G;December 2, 2016;11:35]

J. DeWitt, H. Shi / Ad Hoc Networks 000 (2016) 1–12

While Algorithm 1 is fairly straight forward, it is better than repurposing the Stint algorithm [5] to balance energy usage, even though that algorithm would also manage to achieve the desired maximum level of coverage. The advantage of the algorithm proposed here is that it does not cause any continuous path switches to occur, whereas Kumar’s algorithm [5] does use path switches. Lemma 3.3. The homogeneous algorithm uses no path switches. Proof. We run each node for the maximum amount of time (i.e.,  /(α − β )) a node can run starting from full charge. Hence, there are no path switches.  3.3. Complexity and implementation The complexity of this algorithm is clearly dominated by the requirement of calculating the disjoint paths in the coverage graph, G(N). One algorithm that does this in a distributed manner is He and Shi’s modification [30] of the Goldberg–Tarjan algorithm. In typical sensor network applications where all edges have unit cost, their PUSH-PULL-IMPROVE algorithm has a time complexity of O(|V|2 log |V|) and a message complexity of O(|V|2 log |V|). By using this distributed algorithm the work may be divided among all of the nodes in the network. Once the result of the algorithm is available, the nodes can then determine their schedule based on which of the disjoint paths they lie in. 4. Heterogeneous case of perpetual barrier coverage We now relax the assumption that the nodes in the network are identical. In the general case, sensor nodes are heterogeneous, harvesting and consuming energy at different rates. This heterogeneous case more realistically reflects the uncertainty of applications. We derive a new upper bound for the maximum perpetual coverage the network can provide and present an algorithm that achieves the bound. 4.1. Upper bound When we relax the assumption that the nodes are identical, we must introduce a new framework for thinking about the problem. The problem then more generally becomes finding the maximal schedule in the case that each node has a unique q(vi ). To analyze this problem we treat the problem as a max-flow problem. The general idea is that to a k-barrier that operates under a repeating schedule, we may associate a flow through a network, where the value of the flow corresponds to the proportion of time that the k-barrier operates. Hence if we are able to partition the network into such flows that we may schedule independently, we can think of the problem as simply requiring us to have a single one of these special flows awake at any given time. In order to do this we need the following definitions: Definition 8. [5] An s-t flow in G(N) is a mapping f : E → R+ such that   1. ∀w ∈ V \ {s, t }, (w,v )∈E f (w, v ) = (v,w )∈E f (v, w )   2. (s,v )∈E f (s, v ) = (v,t )∈E f (v, t ) and 3. ∀w ∈ Vࢨ{s, t},  (w, v) ∈ E f(w, v) ≤ c(w). Definition 9. An s–t path flow is an s–t flow in G(N) with the property that the flow is 0 except on a single path from s to t [5]. Definition 10. An elementary edge-m-route flow from s to t is a sum of m edge-disjoint s–t path flows such that the flow through each edge is same for all of the paths. The value of such a flow is the value of the flow through each edge [13].

Definition 11. An edge-m-route flow is a sum of elementary edgem-route flows in G(N). Its value is the sum of the values of the constituting elementary flows [13]. In order to study this problem, we wish to consider an mroute flow on our coverage graph where we are constrained by how much time each vertex may be on. Hence, we must consider how to assign capacities to vertices as well as how to capture the “vertex-m-route flow” constraint. In order to limit the flow passing through a single vertex, we pass to a graph where each vertex is divided into an in and an out vertex connected by a edge with capacity equal to that of the subdivided vertex. We connect each out vertex to the in vertex of the neighbors of v. We set the capacities of these additional edges to be arbitrarily large so that the only constraint on flows is that of the capacities of the vertices. We set the capacity of v ∈ V to c (vi ) = q(vi ), and call this network Gq (V, E). Notice that in this graph an elementary edge-mroute flow of value a represents an m-barrier. Moreover, the value of a shows that in a repeating schedule of cycles with sufficiently short length, TC , that this barrier may run for a · TC time during each cycle. Passing then to general edge-m-route flows, we may treat each elementary edge route flow as a separate barrier and run them sequentially. If we have enough elementary flows with the sum of their values exceeding 1, then we can run our schedule indefinitely, as each of them can provide coverage during a portion of an interval of length TC and those proportions exceed 1. Moreover, the schedule is feasible because the amount of flow through a vertex is never more than the maximum proportion of time that the node can be on. We can now give our result. Theorem 4.1. Given a sensor network, N, the network can achieve perpetual k-barrier coverage if and only if there is an s–t edge-k-route flow of value ≥ 1 in Gq (N). Proof. First, we show that the ability to provide perpetual kbarrier coverage implies that the network has an edge-k-route flow in Gq (N) of value greater than 1. We examine a feasible repeating unit schedule to make the analysis more straightforward.1 From the assumption, at each time t ∈ [0, 1] there are at least k barriers active. Let A be set of all combinations of k barriers used during the schedule ordered by the time when they are turned on. Let t(ai ), where ai ∈ A, denote the duration of time that the ith set of barriers are on. We can identify the ith set of k-barriers with an elementary edge-k-route flow, because each node in ai is on for the same amount of time, so we can identify t(ai ) with the value of the elementary edge-k-route flow. From the assumption that this schedule can be repeated indefinitely, we must have  t(ai ) ≥ 1, which implies that the sum of the values of these elementary edge-k-route flows is at least 1. Note that this flow is feasible, as the schedule being feasible implies that the flow through each node, v, must be no more than q(v). Now we show that having an edge-k-route flow, Fk , in Gq (N) with value fk ≥ 1 implies that we can find a feasible schedule for providing perpetual k-barrier coverage. First we divide Fk into elementary edge-k-route flows. As before, we denote the ith elementary edge-k-route flow as ai , and its value as t(ai ). From the assumption we have  t(ai ) ≥ 1. We can now use each elementary k-route flow as part of a schedule, as each one of them represents a proportion of the time that we can run that elementary edgek-route flow to provide barrier coverage. Because  t(ai ) ≥ 1, this will cover a unit interval. Because Fk is a flow, the time each node will stay on in this schedule is less than q(vi ), so by Lemma 2.2 it

1 The analysis in the general case is similar, but instead we study the asymptotic average amount of time any particular k-barrier is on.

Please cite this article as: J. DeWitt, H. Shi, Barrier coverage in energy harvesting sensor networks, Ad Hoc Networks (2016), http://dx.doi.org/10.1016/j.adhoc.2016.11.014

ARTICLE IN PRESS

JID: ADHOC

[m5G;December 2, 2016;11:35]

J. DeWitt, H. Shi / Ad Hoc Networks 000 (2016) 1–12

is feasible when we adjust the length of the schedule to be sufficiently short. This completes the proof.  Now that we have established an upper bound on κ (N) in 4.1, we present our algorithm that achieves that bound, Algorithm 2. Algorithm 2: the heterogeneous case. input : A sensor network, N, with battery capacities i , energy depletion rates, αi , and recharge rates βi , and the maximum barrier number k. output: A schedule that achieves perpetual k-barrier coverage, if one exists, given as a sequence of times to awaken and to go asleep, tw (v ) and ts (v ) for each node. 1 2

Compute the q(vi ) of each node from αi and βi ; Calculate the minimum cycle length, 1 1 TC = minvi ∈V i ( α − β + β ); i

3 4

5 6 7 8

9 10 11 12 13 14 15 16 17 18 19

i

i

Compute the coverage graph, G(N ); Compute the edge-m-route max flow through G(N ) between the two virtual nodes, s and t; if the value of the edge-m-route flow is less than 1 then Halt; // No feasible schedule exists end Decompose that edge-m-route flow into a set of elementary edge-k-route flows, SF ; T ← 0; for r ∈ SF do T ← T + value(r ) ∗ TC ; if T ≥ 1 then ∀v ∈ r − {s, t }, tw (v ) ← T and ts (v ) ← TC ; Halt; // The schedule is complete else ∀v ∈ r − {s, t }, tw (v ) ← T and ts (v ) ← T ; T ← T ; end end

4.2. Algorithm Algorithm 2 is essentially the procedure outlined in the above proof giving the sufficiency of the existence of a flow for the existence of a schedule. The only difference is in the technical specifications relating to making sure that the schedule repeats often enough so as to not be constrained by the battery capacity. Theorem 4.2. Algorithm 2 creates a sleep/wakeup schedule for a network N that provides perpetual k-barrier coverage if such is possible. In particular, if k = κ (N ), then the algorithm solves the perpetual coverage problem. Proof. Consider a sensor network, N, and its coverage graph Gq (N). To avoid the problem of limited battery capacity, the algorithm 1 1 computes TC = minvi ∈V i ( α − β + β ) and makes it the duration of i

i

i

the unit schedule (i.e., cycle), as it is feasible for all nodes. Hence, the first hypothesis of Lemma 2.2 is satisfied. The algorithm calculates the value of fk (Gq ) as well as the elementary edge-k-route flows composing that edge-κ -route flow. By the usage of κ , we assume that the value of the flow fk (Gq ) ≥ 1 and thus the sum of the capacities of the elementary edge-k-route flows is fk (Gq ). The algorithm runs each elementary edge-k-route flow, r, for value(r)TC time, providing k-barrier coverage for that period. Since fk (Gq ) ≥ 1 implies that fk (Gq )TC ≥ TC , the cycle is covered. By Lemma 2.2 the schedule is feasible because the flow is valid as q(vi ) is never exceeded, completing the proof. 

If there are more elementary flows than needed to provide coverage, then the extra flows are not used by the algorithm. It is possible to schedule these flows to be used as well, but they can not be naïvely wrapped around. The reason for this is that distinct elementary-m-route flows may contain the same node and hence additions to that node’s schedule, such as additional instructions to sleep may cause coverage to cease. It is possible to use this leftover flow, but one needs to check additional instructions against those the node already has. 4.3. Complexity and implementation The complexity of this algorithm is clearly dominated by the calculation of the elementary edge-m-route flows of the network. In a similar application, Kumar et al. [5] used Kishimoto’s SEM algorithm [14] for finding the flows. Aggarwal and Orlin’s algorithm [15], while more efficient in the unit capacity case, requires that the capacity of every edge of the graph be an integer and has a complexity that increases as log(Cmax ) [16]. Because we are dealing with capacities that are not necessarily integral and range from 0 to 1, we would have to scale all of these numbers up in order to use the algorithm. Thus, their algorithm is not ideal for this application as it would require a large Cmax . Another algorithm we can consider is the Newton’s Method algorithm proposed by Du and Chandrasekaran [16]. Their approach uses the concavity of a function giving the maximum flow based on a cap on the capacity of edges of the network and an iterative process for achieving successively better approximations. It has a time complexity of O(m|V ||E | log|E |/(|V |log|V | ) |V | + |E |2 ) [16], which is better than the complexity of Kishimoto’s algorithm, O(m|V|3 /log |V|) [5]. Another area in which this procedure could be improved is in picking the largest k such that the network can provide perpetual k-barrier coverage. A network is able to provide perpetual kbarrier coverage if there is an edge-k-route flow through the network of value ≥ 1. A good approach is to decide on the maximal k by conducting a binary search of the integers {0, . . . , F } where F is the maximum s–t path flow through the network until it finds the optimum flow. This would increase the complexity of the algorithm by a factor of log (F). An implementation of this procedure was considered experimentally in [31]. In that paper they proposed a new procedure for calculating the maximum value of a k-multiroute flow, which improves upon the above by a factor of 8. The implementation of this algorithm requires that the computations be done at one central place. The reason for this is that there does not yet seem to be any distributed algorithm for computing the value of the maximum edge-m-route flow in a network. Once the schedule is computed, it is transmitted from the central node to the other nodes. Nodes then wake up and sleep according to the schedule, without the need for further communication. 5. Maximum lifetime in non-perpetual barrier coverage It is possible that it will be necessary to provide k-barrier coverage where k is greater than κ (N), and thus k-barrier coverage can not be provided perpetually. In this case, we develop an energy harvesting aware algorithm that achieves the maximum possible lifetime for k-barrier coverage in a homogeneous sensor network. The algorithm that is presented below can be thought of intuitively in the following manner. We decompose the network into disjoint paths from one end of the sensing region to the other. As the network is homogeneous, these paths are basically identical. Then, to achieve k-barrier coverage, we simply have to run k of these paths at a time. One way to do this is to simply run the first k paths until they run out of energy and then the next k and so on,

Please cite this article as: J. DeWitt, H. Shi, Barrier coverage in energy harvesting sensor networks, Ad Hoc Networks (2016), http://dx.doi.org/10.1016/j.adhoc.2016.11.014

7

ARTICLE IN PRESS

JID: ADHOC 8

J. DeWitt, H. Shi / Ad Hoc Networks 000 (2016) 1–12

while the earlier paths recharge. However, this gives us very little precision concerning how each path expends its energy. The difficulty is that as we repeat through this schedule we will have less energy in each node every time we loop around and so the schedule will have to be changed. It would be better if we could simply drain energy from every node at  /k of the usual rate of energy expenditure so that every path could be scheduled k times in a cycle and the total time blocks of the l paths would be l∗ k, a multiple of k, which means k paths could be scheduled in each time block with no small leftover energy on any path after l time blocks. In this way we could avoid having to tangle with small amounts of energy being left over while still having at least k paths active in the network. We are able to do the above by switching quickly between paths. So, instead of expending energy in large chunks, which does not drain the network of energy fairly uniformly, we expend energy in small amounts keeping nodes on for an amount of time that approximates continuous drain on the nodes. We rotate quickly through the paths, always keeping k paths active. In this way, we are able to avoid one of the difficulties with energy harvesting networks – an often negligible amount of energy left in a node, which leads to a suboptimal lifetime. By taking an arbitrarily small upper bound on the amount of leftover energy we allow at the end of the procedure, we are able to come arbitrarily close to the theoretical maximum lifetime of the network. The analysis presented below takes the intuitive idea that turning parts of a network on and off quickly can approximate uniformly expending energy throughout the network and shows how to find a schedule that comes arbitrarily close to such a uniform expenditure. To simplify the algebraic portions of our analysis in this section of the paper, we model energy harvesting among sensor networks as though there are two possible states: harvesting and sensing. When a node is sensing it loses energy at a rate equal to its rate of harvesting less its cost of sensing. When sleeping, a node harvests at its full rate. We presume that there is a net loss of energy when nodes are sensing, so that the problem is non-trivial.

We give the least upper bound on the lifetime, Tmax , that a homogeneous network can provide k-barrier coverage and then present an algorithm that achieves any lifetime T < Tmax . 5.1.1. Proof Let m ≥ k be the maximum number of node-disjoint paths between s and t. Then, by Menger’s Theorem, there exists a set of m critical nodes, D, which, if removed, disconnect s and t [29]. For the network to provide k-barrier coverage, there must be at least k disjoint paths active at any time t. So, at any time there are at least k critical nodes active. The lifetime of D is an upper bound for the lifetime of the network, as the network fails to provide service if there are no longer k critical nodes active. We associate with each di ∈ D the disjoint path, pi , from s to t containing di . By doing so we associate the barrier coverage problem with an equivalent problem of achieving the maximum lifetime where k sensors from D are always sensing. We do this in the following way: if di is awake, every node in pi is awake. If di is asleep, then every node in pi is asleep. We now give the constraints for this equivalent problem. Let σ i : [0, T] → {0, 1} indicate whether sensor di is on (i.e., σi (t ) = 1 ) or off (i.e., σi (t ) = 0 ) at time t. Let ei (t) indicate the energy remaining in di at time t. We have



0

t

(1 − σi (τ ))dτ − α

Note that the above equation is not strictly true because we can not charge when the battery is full. However, if we instantaneously run the node before we start so that the battery is not full, then the above integral is an accurate representation of the energy remaining in each node. We consider a sleep/wakeup schedule feasible if the following are satisfied: 1. Each node sleeps and wakes up only finitely many times. m−1 2. i=0 σi (t ) ≥ k for all t ∈ [0, T ]. 3. ei (t) ≥ 0 for all i and t ∈ [0, T]. Let Tmax be an upper bound on the lifetime of the network. Then by looking at the net energy harvested and spent by all the nodes we have the upper bound. So, let

Tmax = sup{T



t 0

σi ( τ ) d τ

| m + T (m − k )β − kα T ≥ 0}

We give an algorithm that can achieve a lifetime of T for any T < Tmax . In this way we see that Tmax is the least upper bound on the lifetime of the network. So, for this bound to actually exist we must have:

(m − k )β − kα < 0 otherwise, there will be a net gain of energy among the nodes. By noting that the net energy in the network is monotonically decreasing, we can calculate Tmax directly by setting 0 = m + T (m − k )β − kα T . So we see that Tmax = kα −(mm−k )β . We now show that for T < Tmax there exists a feasible sleep/wakeup schedule that achieves T.

Theorem 1. If we have T < Tmax , then there exists a feasible sleep/wakeup schedule. Proof. To prove the theorem, we show that if T < Tmax there is always a residual amount of energy in each node, and then we show that there exists a schedule of length T. With a finite number of switches we can approximate arbitrarily well a network in which k each sensor expends energy at a rate m . Let σ be the 1-periodic signal defined by:

 σ (t ) = 1

5.1. Main theorem

ei (t ) =  + β

[m5G;December 2, 2016;11:35]

0

if x ∈ [n, n + otherwise

k m

) where n ∈ Z

). So, we will approximate We now define: σi (t, ) = σ ( t−i m continuous energy consumption by picking a sufficiently large .  Clearly, m i=0 σi (t, ) = k for all t. Examining the amount of charge remaining in di at time t given the schedule σ i (t, ), we have:

ei (t ) =  + β



t 0

(1 − σi (τ , ))dτ − α



0

t

σi (τ , )dτ

For arbitrary γ > 0, we now need to find a such that for all t ∈ [0, T] we have:

  t  t   + β (1 − σi (τ , ))dτ − α σi (τ , )dτ  0 0     k k − − t β 1 − + α t  < γ m

m

(1) 

By doing so, we show that the schedule is feasible, because no node ever drops below the 0 charge. Claim 1. For ξ > 0, there exists > 0 such that for all t ∈ [0, T] we have:

 t     σi (τ , )dτ − k t  < ξ  0 m 

Please cite this article as: J. DeWitt, H. Shi, Barrier coverage in energy harvesting sensor networks, Ad Hoc Networks (2016), http://dx.doi.org/10.1016/j.adhoc.2016.11.014

ARTICLE IN PRESS

JID: ADHOC

[m5G;December 2, 2016;11:35]

J. DeWitt, H. Shi / Ad Hoc Networks 000 (2016) 1–12

t Proof. To establish this result we must show that 0 σi (τ , )dτ t k converges uniformly to m t as → 0. Let fi (t ) = 0 σi (τ , )dτ − k m t. Note that fi (t) is periodic with period m. So, we show that as → 0 we have lim →0 supt∈[0, m] | fi (t )| = 0. First, we find supt∈[0,T ] | fi (t )|. Note that checking for a possible maximum we find the possible non-zero critical points are i k +k and (i + k ) . So, as | fi (i )| = m i and | fi ((i + k ) )| = m−i m k , m+k k we see that if i ≥ 2 then the maximum is m i ; otherwise, the +k maximum is m−i m k . So, we have:

⎧ ⎨ k i

sup | fi (t )| = m ⎩ m − i + k k t∈[0,T ] m

if i ≥

m+k 2

k that the maximum of m i and m−im+k k over all i is (m + k ) . k So, if we want our schedule to be within a ξ -tube of m t, then we must take < m+k .

γ

Claim 2. If we take < (m+k )(β +α ) , then for all t:

m

(2)

Proof. Canceling  and using the triangle inequality, we see that it suffices to have:

 t     β (1 − σi (τ , ))dτ − t β 1 − k   0 m   t   k  + α σi (τ , )dτ − α t  < γ m

0

2

6 7 8 9

Compute the coverage graph, G(N ); Compute the maximum of node-disjoint paths pi ∈ M through G(N ) between the two virtual nodes, s and t; Compute a feasible tolerance γ <  + T β (1 − γ Compute < (m+k )(α +β ) ; for pi ∈ M do t ← i % m ; t ← + i % m; ∀v ∈ pi − {s, t }, tw (v ) ← t and ts (v ) ← t ; end

(3)

   t  l (β + α ) t − σi (τ , )dτ  < γ 0

So for the following to be true for all i:

   t  l γ  t − σi (τ , )dτ  <  (β + α ) k 0 γ

we must take: < (m+k )(β +α ) k Let T < Tmax . Then, necessarily,  + t β (1 − m ) − α mk t ≥ δ > 0 for all t < T. So, if we are within a tolerance of δ , then our schedule is feasible with respect to energy. Let γ = δ and take < γ (m+k )(β +α ) . Then, σ i (t, ) is within a γ -tube of the desired remaining energy, and thus the energy never runs out. As mentioned before, this schedule is feasible in the other respects. So, we see that it is feasible and gives coverage for T < Tmax as desired. 

5.1.2. Algorithm We now give a procedure for implementing the sleep/wakeup schedule that is described above. To do so, we first need to calculate the number of disjoint paths in the network from the source to the sink. There are various algorithms that can do this, which we will examine later. In broad terms, the algorithm involves: calculating disjoint paths, numbering them 0 through m − 1, and assigning each path its schedule as demonstrated before.

k m)

k −αm T;

The algorithm is fairly straightforward, though it needs explanation in one respect. When we take a goal of lifetime for the network, T < Tmax , we calculate the amount of energy remaining in the network at large. Using our previous analysis, we are able to select a tolerance γ which will force the energy in any individual node to be within γ of that level at any time through T. We can situate this algorithm in terms of the algorithm given for perpetual barrier coverage in [1]. For ease of exposition, we switch to the definitions of α and β used in that paper, i.e., β is the rate of charging regardless of whether or not a node is sensing, and α is cost of sensing. If our network is capable of providing k continuous barrier coverage, then from [1] we must have βα ≥ m . Note that if this is the case in the above application then in each -interval we have the net change in charge of each node being

−α k + β m = m (−α

By expanding the integral with coefficient β and factoring, we reduce the above to:

k

1

5

Moreover, we need to exhibit a specific such that supt∈[0,T ] | fi (t )| < ξ for all i < m. A few short calculations reveal

m

input : A sensor network N, with initial charge  , energy depletion rate α , and recharge rate β , and a lifetime T < Tmax . output: A repeating schedule (tw (v ), ts (v )) for all of the nodes that achieves κ (Gh ).

4

As → 0, we see fi (t) → 0 for all t, and so the function converges uniformly. 

  t  t   + β (1 − σi (τ , ))dτ − α σi (τ , )dτ −   0 0     k k − tβ 1 − + α t  < γ

Algorithm 3: the sleep/wakeup scheduling algorithm.

3

otherwise

9

k + β) m

k So, if we have βα ≥ m , then the net charge in each node will not drop over a interval. So, this result integrates the capability of solving the perpetual coverage case. It is easy to see that this approach can reach results within an  of those given in [5]. It may be impossible to achieve an exact result in many cases due to there being nodes with an infinitesimal amount of charge remaining near the end of any schedule. However, the loss of lifetime in this case is negligible and, as has been noted before, approaches zero as we vary the parameters.

5.1.3. Complexity and implementation The complexity of this algorithm is clearly dominated by the complexity of calculating the disjoint paths in the coverage graph, G(N). A distributed algorithm for performing this calculation is He and Shi’s PUSH-PULL-IMPROVE algorithm, which has a time complexity of O(|V|2 ) and a message complexity of O(|V|2 ) [30]. Their algorithm is a modification of the Goldberg–Tarjan algorithm for a distributed setting. Once the distributed algorithm has been run, the nodes are then able to determine their schedule without the need for further communication by performing the short calculation given in the above algorithm using the information about which disjoint path they are in. 5.2. The heterogeneous case In this subsection, we outline a procedure for calculating the maximum lifetime in a heterogeneous sensor network. As the idea and proof underlying the work in this section are the same as in

Please cite this article as: J. DeWitt, H. Shi, Barrier coverage in energy harvesting sensor networks, Ad Hoc Networks (2016), http://dx.doi.org/10.1016/j.adhoc.2016.11.014

JID: ADHOC 10

ARTICLE IN PRESS

[m5G;December 2, 2016;11:35]

J. DeWitt, H. Shi / Ad Hoc Networks 000 (2016) 1–12

the previous discussion of the homogeneous case, we give a sketch of the method and eschew the reiteration of the detai l. To do this it suffices to answer a simple question: “Does there exist a feasible schedule of length t?” Answering this question follows from the following observation. For a fixed interval of time, a given node may be active for a fixed proportion of that time. If the node has initial charge  , harvests energy at a rate β and consumes energy at a rate of α for sensing, then over the entire period of time the node has  + β t energy to expend. Hence under ideal conditions should be able to provide coverage for ( + β t )/α time. If we then normalize by t, we associate to a node what proportion of a schedule of length t that node may be on. We set this quantity to be the capacity of each node in the network. We then check if there is a k-route flow having value at least 1. As this indicates that we may decompose the network into elementary kroute flows, each able to provide coverage for some proportion of the interval [0, t] such that these proportions add up to more than 1. Assuming that each node starts with non-zero charge, we may approximate uniform drain of the energy in the nodes by quickly switching between the different elementary flows. The resulting schedule is feasible because the flow is constrained by the capacity of each of the nodes. These details are quite similar to those for the homogeneous case. In order to determine the maximum lifetime of the network, we may perform a binary search on possible network lifetimes checking if a lifetime is feasible by employing the above algorithm. Using the procedure described above, we may find a feasible schedule arbitrarily close to the optimal schedule. Moreover, the infeasibility of a particular time is a certificate of that time being an upper bound on the lifetime of the network. Hence, the complexity of this algorithm has an additional factor of log (tmax ) on top of the complexity of whatever algorithm is used for obtaining k-route flows, as discussed previously in Section 4.3. 6. Simulation results In this section, we describe the results of a simulation demonstrating the increase in lifetime that may be obtained by taking advantage of energy harvesting capabilities in wireless sensor networks. As there is nothing to compare with in the perpetual coverage case, we simulate the finite lifetime case of heterogeneous networks to demonstrate lifetime increases due to energy harvesting. A general outline of our simulation is as follows. We generated random sensor networks and ran our algorithms on them to obtain their lifetimes under both a scheme that does not make use of energy harvesting and the scheme just described which takes full advantage of the energy harvesting capabilities of the nodes. We study the case of seeking to obtain 3-barrier coverage. Each sensor was assumed to sense in a circular area with radius of 1m around itself. Sensing drew 700 mA at voltage of 1.2 V with standard deviation 200. The harvesting rate was set 300 mW with standard deviation 200. The capacity of the battery in each sensor was assumed to have an initial charge of 20 0 0 mAh with a standard deviation of 200 (about the energy of a pair of AA batteries). We considered providing protection along a rectangular strip of width 1 m and varying length: 20,30,40,50,60, or 70 m. For each length l, 12 l sensors were randomly deployed throughout the strip. Networks that could not provide 3 barrier coverage were discarded. The lifetimes of the network with and without using the energy harvesting capabilities were determined by our algorithms. We study this particular model because it is highly energy constrained and subject to a large amount of variation at the level of the individual nodes, and hence illustrates the obstacles present in applications. In particular, this model allows us to make a meaningful comparison between the lifetime without energy harvesting

Fig. 4. The percent increases in lifetime obtained by using energy harvesting. For a point of absolute reference, the average lifetimes without harvesting were: 3.00, 2.58, 2.41, 2.24, 2.18, and 1.95 h, respectively.

and the lifetime with energy harvesting because the addition of energy harvesting rarely allows the network to achieve perpetual coverage. In fact, the model is so highly energy constrained that in none of the networks in our simulation was able to provide perpetual coverage with energy harvesting. In the simulation, we used an implementation of Kishimoto’s algorithm [14] taking advantage of the Graph Tool library [32]. We performed 100 simulations for each choice of length and then computed the average lifetime. The results are summarized in Fig. 4. Note that the trend in the figure that the increase in lifetime becomes proportionally less as the strip becomes longer makes intuitive sense. A network which is well connected is better able to balance the drain on nodes and hence obtain a longer lifetime. Whereas a network wherein the nodes are deployed over a longer region with the same density will not be as well connected. 7. Conclusion In this paper, we have incorporated energy harvesting into the barrier coverage problem and developed a solution to several barrier coverage problems. We found optimal solutions to the problems of maintaining perpetual barrier coverage in energy harvesting sensor networks. Using these techniques we are able to extend the lifetime of a sensor network indefinitely and propose a new metric for measuring the quality of service of a sensor network, the maximum perpetual barrier coverage. We have derived the upper bounds on this metric and demonstrated that those bounds could be achieved in polynomial time with algorithms that we have designed. Further, our methods demonstrate that the problem of limited battery capacity can be avoided. Also, in the case that perpetual coverage can not be achieved, we are able to extend the lifetime of the network arbitrarily close to the theoretical maximum lifetime for k-barrier coverage in the network. We have derived an upper bound for the network by focusing on a small group of nodes and then modelling the entire network’s behavior based on that of the small group. Our methods demonstrate that it is possible to completely optimize algorithms for specific wireless sensor network applications to use the energy made available by energy harvesting. References [1] J. DeWitt, S. Patt, H. Shi, Maximizing continuous barrier coverage in energy harvesting sensor networks, in: Proceedings of the 2004 IEEE International Conference on Communications (ICC 2014), Sydney, Australia, 2014, pp. 172–177.

Please cite this article as: J. DeWitt, H. Shi, Barrier coverage in energy harvesting sensor networks, Ad Hoc Networks (2016), http://dx.doi.org/10.1016/j.adhoc.2016.11.014

JID: ADHOC

ARTICLE IN PRESS J. DeWitt, H. Shi / Ad Hoc Networks 000 (2016) 1–12

[2] J. DeWitt, H. Shi, Maximizing lifetime for k-barrier coverage in energy harvesting sensor networks, in: Proceedings of the 2014 IEEE Global Communications Conference (Globecom 2014), Austin, Texas, 2014, pp. 300–304. [3] I. Dietrich, F. Dressler, On the lifetime of wireless sensor networks, ACM Trans. Sens. Netw. 5 (1) (2009) 1–38, doi:10.1145/1464420.1464425. [4] S. Kumar, T. Lai, A. Arora, Barrier coverage with wireless sensors, in: Proceedings of the 11th International Conference on Mobile Computing and Networking (MobiCom 2005), Cologne, Germany, 2005, pp. 284–298. [5] S. Kumar, T. Lai, M. Posner, P. Sinha, Maximizing the lifetime of a barrier of wireless sensors, IEEE Trans. Mob. Comput. (TMC) 9 (8) (2010) 1161–1172. [6] S. Arms, C. Townsend, D. Churchill, J. Galbreath, S. Mundell, Power management for energy harvesting wireless sensors, in: Proceedings of Smart Structures and Materials 2005: Smart Electronics, MEMS, BioMEMS, and Nanotechnology, 2005, pp. 267–275. [7] J. Gilbert, F. Balouchi, Comparison of energy harvesting systems for wireless sensor networks, Int. J. Autom. Comput. 5 (4) (2008) 334–347. [8] X. Jiang, J. Polastre, D. Culler, Perpetually environmentally powered sensor networks, in: Proceedings of the 4th International Symposium on Information Processing in Sensor Networks (IPSN 2005), 2005, pp. 463–468. [9] A. Kansal, M. Srivastava, An environmental energy harvesting framework for sensor networks, in: Proceedings of the 2003 International Symposium on Low Power Electronics and Design (ISLPED’03), 2003, pp. 481–486. [10] C. Mathúna, T. O’Donnell, R. Martinez-Catala, J. Rohan, B. O’Flynn, Energy scavenging for long-term deployable wireless sensor networks, Talanta 75 (3) (2008) 613–623. [11] S. Sudevalayam, P. Kulkarni, Energy harvesting sensor nodes: survey and implications, IEEE Commun. Surv. Tutor. 13 (3) (2011) 443–461. [12] M. Stojcev, M. Kosanovic, L. Golubovic, Power management and energy harvesting techniques for wireless sensor nodes, in: Proceedings of the 9th International Conference on Telecommunication in Modern Satellite, Cable, and Broadcasting Services (TELSIKS ’09), 2009, pp. 65–72. [13] W. Kishimoto, M. Takeuchi, On m-route flows in a network, in: Proceedings of Communications on the Move: Singapore ICCS/ISITA’92, 1992, pp. 1386–1390. [14] W. Kishimoto, A method for obtaining the maximum multiroute flows in a network, Networks 27 (4) (1996) 279–291. [15] C. Aggarwal, J. Orlin, On multiroute maximum flows in networks, Networks 39 (1) (2001) 43–52. [16] D. Du, R. Chandrasekaran, The multiroute maximum flow problem revisited, Networks 47 (2) (2006) 81–92. [17] V. Raghunathan, S. Ganeriwal, M. Srivastava, Emerging techniques for long lived wireless sensor networks, IEEE Commun. Mag. 44 (4) (2006) 108–114. [18] C. Vigorito, D. Ganesan, A. Barto, Adaptive control of duty cycling in energy-harvesting wireless sensor networks, in: Proceedings of the 4th IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks (SECON’07), 2007, pp. 21–30.

[m5G;December 2, 2016;11:35] 11

[19] C. Yang, K. Chin, Novel algorithms for complete targets coverage in energy harvesting wireless sensor networks, Commun. Lett. IEEE 18 (1) (2014) 118–121, doi:10.1109/LCOMM.2013.111513.132436. [20] Y. Gu, L. He, T. Zhu, T. He, Achieving energy-synchronized communication in energy-harvesting wireless sensor networks, ACM Trans. Embed. Comput. Syst. 13 (2s) (2014) 68:1–68:26, doi:10.1145/2544375.2544388. [21] C. Moser, J. Chen, L. Thiele, An energy management framework for energy harvesting embedded systems, J. Emerg. Technol. Comput. Syst. 6 (2) (2008) 7:1– 7:21, doi:10.1145/1773814.1773818. [22] M. Gorlatova, A. Wallwater, G. Zussman, Networking low-power energy harvesting devices: measurements and algorithms, IEEE Trans. Mob. Comput. 12 (9) (2013) 1853–1865, doi:10.1109/TMC.2012.154. [23] M. Kudo, A. Takeuchi, Y. Nozaki, H. Endo, J. Sumita, Forecasting electric power generation in a photovoltaic power system for an energy network, Electr. Eng. Jpn. 167 (4) (2009) 16–23, doi:10.1002/eej.20755. [24] N. Sharma, J. Gummeson, D. Irwin, P. Shenoy, Cloudy computing: leveraging weather forecasts in energy harvesting sensor systems, in: Proceedings of the 2010 7th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks (SECON), 2010, pp. 1–9, doi:10. 1109/SECON.2010.5508260. [25] C. Knight, J. Davidson, Thermal energy harvesting for wireless sensor nodes with case studies, in: Proceedings of Advances in Wireless Sensors and Sensor Networks, Springer, 2010, p. 221-242. [26] R.K. Draney, High temperature sensor for bearing health monitoring, in: Proceedings of the 2008 IEEE Aerospace Conference, 2008, pp. 1–7, doi:10.1109/ AERO.2008.4526602. [27] C. Wang, B. Wang, H. Xu, W. Liu, Energy-efficient barrier coverage in WSNs with adjustable sensing ranges, in: Proceedings of IEEE 75th Vehicular Technology Conference (VTC Spring), 2012, pp. 1–5. [28] L. Xie, Y. Shi, Y. Hou, W. Lou, Wireless power transfer and applications to sensor networks, IEEE Wirel. Commun. 20 (4) (2013) 140–145. [29] R. Diestel, Graph Theory, Springer-Verlag, 2010. [30] J. He, H. Shi, Constructing sensor barriers with minimum cost in wireless sensor networks, J. Parallel Distrib. Comput. 72 (12) (2012) 1654–1663. [31] V. Suppakitpaisarn, J.-F. Baffier, Speeding up algorithm for maximizing barrier coverage using parametric multiroute flow, IEICE Commun. Expr. 4 (4) (2015) 111–116. [32] T.P. Peixoto, The Graph-Tool Python Library, figshare, 2014, doi:10.6084/m9. figshare.1164194.

Please cite this article as: J. DeWitt, H. Shi, Barrier coverage in energy harvesting sensor networks, Ad Hoc Networks (2016), http://dx.doi.org/10.1016/j.adhoc.2016.11.014

ARTICLE IN PRESS

JID: ADHOC 12

[m5G;December 2, 2016;11:35]

J. DeWitt, H. Shi / Ad Hoc Networks 000 (2016) 1–12 Jonathan DeWitt is an undergraduate student at Haverford College studying mathematics and computer science on track to graduate in 2016. His research interests include network flows, wireless sensor networks, mobile computing, distributed computing, and theory. He plans on pursuing a Ph.D. degree in computer science.

Hongchi Shi received his Ph.D in Computer and Information Sciences from University of Florida. He is currently a Professor and the Chairman in the Department of Computer Science at Texas State University. His research interests include parallel and distributed computing, wireless sensor networks, neural networks, and image processing. He is a senior member of IEEE and a member of ACM.

Please cite this article as: J. DeWitt, H. Shi, Barrier coverage in energy harvesting sensor networks, Ad Hoc Networks (2016), http://dx.doi.org/10.1016/j.adhoc.2016.11.014