Improved sensor network lifetime with multiple mobile sinks

Improved sensor network lifetime with multiple mobile sinks

Pervasive and Mobile Computing 5 (2009) 542–555 Contents lists available at ScienceDirect Pervasive and Mobile Computing journal homepage: www.elsev...

3MB Sizes 6 Downloads 62 Views

Pervasive and Mobile Computing 5 (2009) 542–555

Contents lists available at ScienceDirect

Pervasive and Mobile Computing journal homepage: www.elsevier.com/locate/pmc

Fast track article

Improved sensor network lifetime with multiple mobile sinks Mirela Marta, Mihaela Cardei ∗ Department of Computer Science and Engineering, Florida Atlantic University, Boca Raton, FL 33431, USA

article

info

Article history: Received 30 September 2008 Accepted 6 January 2009 Available online 22 January 2009 Keywords: Wireless sensor networks Energy-efficiency Data gathering Sink mobility Network lifetime

abstract A critical issue for data gathering in wireless sensor networks is the formation of energy holes near the sinks. Sensors near the sinks have to participate in relaying data on behalf of other sensors and thus will deplete their energy very quickly, resulting in network partitioning and limitation of the network lifetime. The solution that we propose in this paper is to use mobile sinks that change their location when the nearby sensors’ energy becomes low. In this way the sensors located near sinks change over time. In deciding a new location, a sink searches for zones with richer sensor energy. First, we study the improvement in network lifetime when sinks move on a predetermined path, along the perimeter of a hexagonal tiling. Two cases are considered for data gathering when sinks stop in the hexagon’s corners and when the sinks stop on multiple locations on the hexagon perimeter. This study shows an improvement of up to 4.86 times in network lifetime. Second, we design a distributed and localized algorithm used by the sinks to decide their next movement location such that the virtual backbone formed by the sinks remains interconnected at all times. Two extensions of the distributed algorithm, coverage requirement and limitation of the time-delivery requirement, are also addressed. Simulation results are presented to verify our approaches. © 2009 Elsevier B.V. All rights reserved.

1. Introduction and related work This paper addresses the topic of energy efficient data gathering in wireless sensor networks (WSNs) consisting of sensor nodes deployed randomly in large number and several mobile sinks used to collect data from the sensors. We consider that the sinks have two transceivers, one to communicate with the sensors, and another to communicate with the other sinks. Sensors send their data to the sinks using multi-hop communication. In WSNs, sensors closer to a sink tend to consume more energy than those farther away from the sinks. This is mainly because, besides transmitting their own packets, they forward packets on behalf of other sensors that are located farther away. As a result, the sensors closer to the sink will drain their energy resources first, resulting in holes in the WSN. This uneven energy consumption will reduce network lifetime. WSN lifetime can be significantly improved if the energy spent in data relaying is reduced. One method to avoid formation of energy holes is to use sink mobility. When the energy of the sensors near a sink becomes low, the sink can move to a new location in a zone with richer sensor energy. This approach will balance the energy consumption and will increase network lifetime. Recent advances in the field of robotics [1,2] make it possible to integrate robots as sinks (or gateways) in WSNs [3]. Adding mobile devices to WSNs infrastructure has attracted increased attention recently. Much of the work has been conducted on data gathering applications, where the mobile sinks move randomly [4,5], using predetermined paths [6,3,7], or autonomously [8]. A random moving sink is not aware of the sensor residual energy, and thus might threaten the energy



Corresponding author. E-mail addresses: [email protected] (M. Marta), [email protected] (M. Cardei).

1574-1192/$ – see front matter © 2009 Elsevier B.V. All rights reserved. doi:10.1016/j.pmcj.2009.01.001

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

543

balance among the sensors. The predetermined path models lack flexibility and scalability with network size. The moving strategies where the sinks take the moving decisions autonomously can better adapt to various network conditions. In [6], the authors consider a WSN with a mobile base station which repeatedly relocates to change the bottleneck nodes closer to the base-station. Various predetermined trajectories are considered in the search for a combined optimum on the moving and routing strategies. Another approach is presented in [3], where authors consider a mobile base station which moves along a predetermined path. The sensor nodes are organized in clusters, where cluster-heads are the nodes closest to the mobile node trajectory. Cluster-heads are in charge of collecting data from their clusters and sending them to the mobile node when it passes by. A prototype using Mica 2 motes and the packbot mobile platform is developed and tested. Another related work [7] explores the impact of predictable sink movement when the sink is mounted on a bus moving on a predictable schedule. Data is pulled by the sink which wakes up the nodes when it gets closer to them. This paper assumes that the sink comes within direct radio range of all the sensors during its movement, thus data is collected directly from the sensors. Using this approach, the power consumption for data relaying is saved. Paper [8] considers a WSN with one mobile sink that moves proactively towards the node that has the highest residual energy in the network, in an effort to balance sensors’ energy consumption. When the sink reaches a new location, it broadcasts a notification message and sensor data is collected using multi-hop communication. In our paper, we consider a WSN consisting of a large population of sensors and multiple mobile sinks deployed for data gathering. We first study the improvement in network lifetime when sinks move on a predetermined path. Then we design a distributed and localized algorithm to determine the sinks’ new locations in zones with richer sensor energy, while maintaining sink’s connectivity. Our work differs from the previous works by considering a multi-sink design. We consider that the sinks form a virtual backbone and are concerned with maintaining the backbone connectivity as a result of sinks’ movements. In addition, compared to [8], when a sink moves, our algorithm searches for zones of sensors with high energy, not only the highest energy sensor. The remainder of this paper is organized as follows. We present the network model and the MS-NLI problem definition in Section 2. We continue in Section 3 with a study on the sink mobility with pre-established trajectories. Section 4 presents the design of our distributed and localized algorithm for autonomous sink movement. We continue in Section 5 with two extensions of the distributed algorithm, one for the coverage requirement and the second for the time-delivery requirement. Section 6 presents our simulation results and Section 7 concludes our paper. 2. Network model and problem definition 2.1. Network model In this paper, we consider a heterogeneous WSN consisting of sensors and sinks. The sinks are deployed in the sensing area, they are connected, and their main task is to relay data from the sensor nodes to the user application. We make the following assumptions regarding the network model:

• We consider a periodic data gathering application where data is sensed and b data bits are transmitted by each sensor, • • • • •

in each time period T , to the closest sink. The data is forwarded to the sink using multi-hop communication. Sensor nodes are uniformly and randomly distributed. All sensor nodes have the same transmission range of r units. All sinks have the same transmission range of R units. Ideal MAC layer with no collisions and retransmissions. Each link has enough capacity to transfer the data. Sinks have movement capabilities.

Paper [9] considers a similar network model for a WSN with only one static sink. The energy model of a sensor includes the power for sensing, power for receiving, and the power for transmission. The energy to sense, transmit, and receive b bits is computed as follows: Esense = α1 b ETX = (β1 + β2 r n )b ERX = γ1 b. According to [10], some typical values for the parameters are:

α1 = 60 × 10−9 J/bit β1 = 45 × 10−9 J/bit β2 = 10 × 10−12 J/bit/m2 , when n = 2 β2 = 0.001 × 10−12 J/bit/m4 , when n = 4 γ1 = 135 × 10−9 J/bit. We consider that sinks have unlimited energy resources and thus we do not account the energy spent by the sinks. We define the network lifetime as the time interval until a sensor dies as a result of depleting its energy resources.

544

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

(a) Sensor network organization for static sinks.

(b) Corona division for a sink.

Fig. 1. Wireless sensor network organization and corona division.

In Section 2.2, we discuss network lifetime for the case when sinks are static. This motivates our problem defined in Section 2.3. 2.2. Network lifetime using static sinks For the case when the sinks are static, we consider that the sensing area is divided into hexagonal tiling, with the sinks being located in the hexagon centers, as illustrated in Fig. 1. Using this model, each sensor sends its data to the closest sink. In order to compute the energy consumed by each sensor, we use a corona-based model, similar to [9,11]. The area around a sink is divided into coronas of width d, where d = r. A data message transmitted from corona Ci is sent to the closest sink using multi-hop communication, and it is forwarded by sensor nodes in coronas Ci−1 , Ci−2 , and so on until it reaches corona C1 from where it is transmitted to the sink (see Fig. 1b). Corona width is chosen such that a message is forwarded by only one sensor in each corona. As remarked in [9,11], sensors suffer an uneven energy depletion, with sensors in the first corona being the first to die. This results in network partitioning, with other sensors being unable to report their data to the sink. Let us denote with k the number of coronas and ρ the sensor density. The traffic load of a sensor includes both the data sensed by that sensor as well as the data forwarded on behalf of other sensors in higher coronas. The traffic load of a sensor in corona Ci , i = 1 . . . k, is computed as follows: Loadi = Loadi =

traffic from coronas Ci , Ci+1 , . . . , Ck number of sensors in Ci

ρ(π (kr )2 − π ((i − 1)r )2 )b k2 − (i − 1)2 = 2 b. 2 2 ρ(π (ir ) − π ((i − 1)r ) ) i − (i − 1)2

It follows that the energy consumed by a sensor in corona Ci , i = 1 . . . k, is computed as: Ei = Esense + ETX + ERX = α1 b + (β1 + β2 r n )Loadi + γ1

= α1 b + (β1 + β2 r n )

k − (i − 1) 2

2

i2 − (i − 1)2

b + γ1

2

traffic from coronas Ci+1 , . . . , Ck

2

k −i

i2 − (i − 1)2

number of sensors in Ci b.

To show the difference in energy consumption between sensors in different coronas, we conducted a Matlab simulation for a heterogeneous WSN, using the parameters from Table 1. We measured the energy consumption of each sensor during a time period T . As illustrated in the Fig. 2b, the largest energy consumption takes place for the sensors in corona C1 . This happens because these sensors have the highest load, being involved in forwarding data generated from coronas C2 , C3 , . . . , Ck . In our simulation results in Fig. 2b, the energy consumed by the sensors in the seven coronas is: E1 = 0.0175 J, E2 = 0.0056 J, E3 = 0.0031 J, E4 = 0.0019 J, E5 = 0.0012 J, E6 = 0.0006 J, and E7 = 0.0002 J. A sensor in corona C1 consumes more than three times compared to a sensor in corona C2 . This result shows that network lifetime is limited by the sensors in corona C1 which will deplete their energy resources first, triggering network partitioning and impossibility to collect sensor data. 2.3. Problem definition The study in Section 2.2 motivates our work on exploiting sink mobility to increase network lifetime by balancing sensor energy consumption.

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

545

Table 1 Simulation parameters. Symbol

Name

Value

A N M R r Rh k b

Deployment area Number of sensors Number of sinks Sink communication range Sensor communication range Radius of the hexagon in the hexagon tiling Number of coronas Bits sent by each sensor in time T

46 × 46 square units 2116 = 462 7 20 units 1.5 unit 10.7 units 7 2000 bits

(a) Multi-sink sensor network organization.

(b) Sensor energy consumption after T time.

Fig. 2. Wireless sensor network with static sinks.

The problem of Sink Mobility for Network Lifetime Increase (SM-NLI) is formalized as follows: Given a heterogeneous WSN consisting of N sensors randomly deployed for periodic monitoring of an area and M sinks with mobility capabilities, design a sink movement plan such that the network lifetime is maximized and the sinks remain interconnected all the time. The objective of the SM-NLI problem is to design the sinks’ movements to balance the sensors’ energy consumption and to vary the set of sensors located in first coronas. This will have a direct impact on network lifetime measured as the time until the first node depletes its energy resources. Another important requirement is to maintain the sinks interconnected. The sinks can be viewed as forming a virtual sink backbone, used for inter-sink communication and user data access. In this paper, we propose two approaches for sink movement path. In Section 3, we address the case when sinks move on a predetermined path along a hexagon perimeter. In Section 4 we propose a distributed and localized algorithm for sinks’ movements. Simulation results are presented in Section 6. 3. Sink mobility with pre-established mobility path In this section we consider the case when sinks move along the hexagon perimeters. We assume that sinks’ movements are synchronized, therefore the sinks’ relative positions remain the same at all the time. Assuming that the sink backbone was initially connected, it follows that the backbone remains connected at all times during the sink movement. In our simulations, we took R = 20 units, resulting that each sink is connected with each of its six neighbor sinks. Each sink moves along the perimeter of a solid-line hexagon, as represented in Fig. 3a. The sink stops in the corners of the hexagon. In each stop, the sink collects data over a period T and then moves to the new location. After stopping in the six corners, the movement cycle is repeated. The movement positions of the middle sink are denoted with 1, . . . , 6 in Fig. 3a. For a tiling with radius Rh (dotted-line hexagon), a sink moves in the corners of a hexagon (solid-line hexagon) with radius R0h = Rh − √2 (d + ), where  is a small, positive constant. R0h was chosen such that the distance between the dotted3

line hexagon and the solid-line hexagon is d +  . In this way, when sinks move along the solid-line hexagon perimeter, we prevent sensors nodes to belong to first corona of two different (neighbor) sinks. We used the parameters in Table 1 for our simulation and we took the constant  = 0.01 units. In Fig. 3b, we measure sensor energy consumption after one cycle, that means after a sink gets back to the original location. Thus, these results reflect energy consumption after 6T time. As illustrated in the figure, the maximum sensor energy consumption during 6T time is 0.0302 J. This is averaged to 0.00503 J energy consumption in time T . Therefore, the 6-positions sink movement resulted in an 0.0175/0.00503 = 3.48 times improvement in network lifetime compared to the static sink case.

546

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

(a) Sinks’ movement trajectories.

(b) Sensor energy consumption in joules after 6T time.

Fig. 3. Wireless sensor network with mobile sinks (6-positions sink movement).

(a) Sinks’ movement trajectories.

(b) Sensor energy consumption in joules after 12T time.

Fig. 4. Wireless sensor network with mobile sinks (12-positions sink movement).

The second simulation case that we considered is when a sink uses more positions in its movement along the solid-line hexagon, as illustrated in Fig. 4a. In this case each sink moves in 12 positions. The figure shows the movement positions of the middle sink, denoted with 1, . . . , 12. Similar to the previous case, a sink collects sensor data over a period of time T and then moves to the new location. The number of sink locations on the solid-line hexagon perimeter depends on the simulation parameters. Our goal is to use as many locations as possible while requiring that no sensor belongs to the first coronas for two different sink locations. First, we consider that each sink stops in the corners of its corresponding solid-line hexagon. Since the hexagon edge length R0

h is R0h , a sink can stop in l = b 2d+ − 1c additional locations on each edge, such that the distance between two consecutive locations is greater than or equal to 2d +  . Sinks’ locations could be computed starting from the corners, at an increment of R0h /(l + 1). In our simulation l = 1, resulting in a total of 6 + 6 = 12 sink locations. We used the parameters in Table 1 for our simulation. Fig. 4b measures the energy consumption after one cycle, that means after 12T time. As illustrated in Fig. 4b, the maximum sensor energy consumption is 0.0425 J during a cycle of 12T time. This is averaged to 0.0036 energy consumption during time T . The energy consumption in this case is more balanced among all the sensors. This case results in 4.86 and 1.39 times improvement in network lifetime compared with the static sink case and the 6-positions sink movement case, respectively.

4. Sink mobility with unrestricted mobility path—Distributed algorithm In Section 3 we showed the improvement in network lifetime when each sink follows a predetermined path. There are applications that assume that each sink can move autonomously, without following a predetermined trajectory. Such an

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

(a) Initial virtual sink backbone.

547

(b) Virtual sink backbone after 20 rounds.

Fig. 5. Example of the distributed algorithm with 2116 sensors and 9 sinks.

example is when the sinks are robots or unmanned vehicles. Using a moving strategy where sinks take movement decisions autonomously can better adapt to various network conditions, environment conditions, and sensor deployment. In this section we address the SM-NLI problem for the case when the sinks move autonomously such that (1) the sinks remain interconnected all the time forming a virtual sink backbone, and (2) network lifetime is maximized. We consider that the data gathering mechanism is organized in rounds of time T . At the beginning of each round, data collection trees are established using a clustering mechanism. Each sink serves as a cluster-head and it broadcasts a CLUSTER_INIT (ID, hops = 0) message containing the sink id and the number of hops which is initially zero. Each sensor node maintains information about the closest sink and forwards only messages from which it learns about a closer sink: 1: min_hops = ∞; cluster_id = NIL; 2: if CLUSTER_INIT(ID, hops) message received then 3: if hops +1 < min_hops then 4: cluster_id = ID 5: min_hops = hops+1 6: next_hop = sensor from which this message was received 7: rebroadcast the message CLUSTER_INIT(ID, hops +1) 8: end if 9: end if Once the clusters have been constructed, sensor data are collected along the paths formed by the next_hop field. At the end of each round, a sink decides whether or not it moves to a new location, depending on the energy levels of its 1-hop sensor neighbors. These are the sensor nodes that will deplete their energy first since they also have to forward messages on behalf of other sensors. Fig. 5a shows the initial deployment of an example with 2116 sensors and 9 sinks. Sensors in different clusters are represented using different symbols. Fig. 5b shows the virtual backbone after 20 rounds. Sinks move in zones with higher energy sensor nodes, but they remain interconnected at all times. The Decide-Sink-Movement algorithm which is executed by a sink Si is presented next: 0 ) Decide-Sink-Movement (Si , p, q, Eth , Eth 1: if p% of the 1-hop sensors have E ≤ Eth then 2: F sink Si searches for a new location 0 3: new-location = Find-Best-Location(Si , Eth ) 4: if new-location 6= ∅ then 5: sink Si moves to the new-location 6: else if Eth ≥ Emin then 7: Eth = β · Eth 8: go to line 1 9: else 10: sink does not move 11: end if 12: end if

548

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

We consider that the sensors 1-hop away from the sink send their current energy levels to the sink at the end of each reporting interval. This information can be piggybacked to a data message. If at lest p% of the sensors have reached the low threshold energy Eth , then the sink searches for a new zone where sensors have richer energy resources, using the algorithm 0 0 Find-Best-Location. The zone where the sink moves must have energy at least Eth , where Eth = Eth + α · Eth and 0 < α < 1. 0 For example, when α = 0.1 (α = 10%), then Eth = 1.1Eth . If a new location is found, then the sink moves to that location. If no new location is found, then the overall energy level of the nodes has decreased, thus the energy level Eth adjusts dynamically to a smaller value, Eth = β · Eth , where 0 < β < 1. For example, when β = 0.75 (β = 75%), then Eth = 0.75 · Eth . In this case, first the sink waits for p% of the 1-hop sensors to have E ≤ Eth , then a new location is searched. The energy threshold is adaptively adjusted until it becomes lower than Emin , and after that it will not change. The algorithm Find-Best-Location (Si ) is presented next. 0 Find-Best-Location (Si , Eth ) 1: nhops = initial value 2: while nhops ≤ nmax do 0 3: Si broadcasts LOCATION-REQ(Si -ID, req-ID, nhops , Eth ) 4: wait some specific time and record all sensor reply messages LOCATION-REPLY(sk , #msg, hops) 5: if one or more LOCATION-REPLY messages are received then 6: sort messages in decreasing order of #msg values let LOCATION-REPLY(sk , #msg, hops) be the first message in the sorted order 7: if Connected-Backbone(Si , sk ) then 8: return new-location = sk 9: else 10: take the next message in the sorted order and go to line 7 if no more messages, go to line 13 11: end if 12: end if 13: increment nhops 14: end while 15: return ∅ Sink Si uses an incremental ring approach to search for a new location. We use as candidate sink locations the sensor locations in Si ’s cluster. We use this approach since sensors are densely deployed and a sensor can easily check the energy level information of its 1-hop neighbors. The number of hops nhops is set-up initially to a small value, since closer the new location, the smaller the sink movement distance. If no valid location is found for the sink, the number of hops nhops is incremented (in line 13) until eventually the whole cluster is reached. For a specific nhops value, sink Si broadcasts a LOCATION-REQ message in its nhops -neighborhood. Each sensor receiving the message decrements nhops value and forwards the message along the cluster tree. Each sensor will temporarily store the (Si -ID, req-ID) values of the most recent LOCATION-REQ message received. When a sensor sk receives a LOCATION-REQ message, it checks the (Si -ID, req-ID) values. If they are the same as the values sk has stored, then no action is taken other than forwarding the message. Otherwise, sk exchanges HELLO messages with its 1-hop sensor neighbors, containing the 0 current energy levels. If all sk ’s neighbors have the energy at least Eth , then sk is a candidate location for the sink and thus it sends a LOCATION-REPLY (sk , #msg, hops) message back to the sink. hops is the number of hops between sk and Si , and #msg represents the number of messages transmitted by the node sk in one round. After the sink Si has sent the request, it waits a specific time for sensor replies. This waiting time is proportional to the size of the search neighborhood, characterized by nhops . After the waiting time has expired, the sink sorts the received LOCATIONREPLY messages in decreasing order of the #msg field. The sink gives priority to the sensor locations that forward a large number of messages since these sensors deplete their energy at the fastest rate. The sink considers the LOCATION-REPLY messages in the decreasing order of the #msg field and checks if the candidate location satisfies the sink backbone connectivity requirement. This algorithm is presented in the Connected-Backbone procedure. If the sink connectivity is satisfied then the sink Si returns sk ’s location as its new location. If no candidate location is valid due to the connectivity requirement, then Si increments nhops in order to increase the search neighborhood. When a new LOCATION-REQ message is sent by Si , the sensors which have received the previous request message, and thus have stored the (Si -ID, req-ID) values will not compete as candidate locations. They only participate in message forwarding. If, after the whole cluster has been searched, no candidate location has been found, then the sink does not move to a new location. The algorithm to determine if a new sink location maintains backbone connectivity is presented next. Connected-Backbone (Si , sk ) 1: Si computes its l-hop sink neighborhood, denoted Γ (Si ) 2: Construct a graph G with one vertex for each sink in Γ (Si ). Add one more vertex for Si ’s tentative new location sk . Add an edge between every two vertices if their distance is at most R. 3: Run BFS(G) to check graph connectivity 4: if G is connected then

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

549

return TRUE else 7: return FALSE 8: end if We assume that each sink has two transceivers, one for communication with sensor nodes and the other for communication with other sinks. A sink communication range is denoted R. A sink Si determines its l-hop sink neighborhood Γ (Si ), by exchanging HELLO messages with its sink neighbors with TTL = l. We take l an input parameter that usually has small values (e.g. l = 1 or l = 2). We assume that each sink knows its current location and that this information is included in the HELLO messages. Sink Si then constructs the undirected graph G where one vertex is allocated for every sink in Γ (Si ) and one vertex is allocated for Si ’s tentative location sk . Edges are added between any two vertices if the corresponding sinks’ locations are at distance less than or equal to R. To determine if Si is still connected to the graph G in the new location, the sink Si runs the Breadth-First-Search (BFS) algorithm [12] for the graph G. If the resultant BFS tree is connected, then the algorithm returns TRUE, otherwise it returns FALSE. Another issue that we need to consider is avoiding multiple neighbor sinks to move simultaneously. For this, we can use a locking mechanism. If BFS tree is connected, the sink sends a LOCK message to its Γ (Si ) neighbors. Then, after the sink Si moves to the new location, it sends an UNLOCK message to the sinks in Γ (Si ). The UNLOCK message will also contain Si ’s new location. The algorithm run by a sink to decide its movement is a localized algorithm. In a local solution, a decision at each node is based on local information, without any information propagation in the whole network. Localized algorithms are important for WSNs, being scalable with the number of nodes in the network. In the Decide-Sink-Movement algorithm, the sink movement decision is based on the energy level of its 1-hop sensor neighbors. To find the best location to move, a sink considers locations in its own cluster. The closer locations are considered first, using an incremental ring search approach. To check if the new location satisfies the sink connectivity requirement, the Connected-Backbone algorithm is invoked. This is a localized algorithm where the sink uses its l-hop neighbor information. 5: 6:

5. Extensions for the distributed algorithm In this section we present two extensions for the distributed algorithm described in Section 4. In Section 5.1 we address the problem of sink movement when coverage is an additional requirement and Section 5.2 addresses the case when timely delivery is an additional requirement. 5.1. SM-NLI with coverage requirement In this section we address the SM-NLI problem when there is an additional requirement of area coverage. Usually a large number of sensors are randomly and densely deployed in the monitored area. One method to prolong network lifetime is to schedule sensors to alternate between active and sleep states such that the active nodes satisfy the area coverage requirement. This is also justified by the fact that into a densely deployed network, closely deployed sensors are expected to measure the same values. Thus, having a smaller number of sensors send their measurements will reduce the overall energy consumption and will reduce the number of contentions and collisions. In order to ensure the area coverage requirement, every part of the deployment area has to be covered at any time by an active sensor. In this section we address the Coverage-based SM-NLI problem, where sensors alternate between sleep and active states and the sinks move autonomously such that: (1) the set of active sensors provides area coverage, (2) the sinks remain interconnected all the time, and (3) network lifetime is maximized. Similarly to the distributed algorithm in Section 4, the data gathering mechanism is organized in rounds of time T . We assume that the sinks form a connected topology at the beginning of the first round. The solution that we propose for the Coverage-based SM-NLI problem is an extension of the distributed algorithm in Section 4. The following steps are executed at the beginning of the first round: 1. Sensors run a scheduling mechanism to decide which sensors stay active and which sensors go to sleep such that the active sensors ensure the area coverage. Two sensor scheduling mechanisms are proposed in Sections 5.1.1 and 5.1.2. 2. Sensors form cluster-based data collection trees (see Section 4). 3. Start data collection phase. At the beginning of each round (excluding the first round), each sink Si executes the following steps: 1. Sink Si decides if it has to move. If not, then nothing has to be done until the beginning of the next round, go to step 5. Otherwise, the steps below are executed. 2. Sink Si announces the sensors in its cluster area to change the set of active sensors (e.g. alternate the set of active sensors with some sleep sensors with more residual energy), such that the set of active sensors ensure area coverage and connectivity. 3. After deciding the set of active sensors in Si ’s cluster area, form a data collection tree for the sink Si .

550

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

4. Sink Si decides if it has to move based on the energy in the new tree. If it does not need to move, then nothing has to be done until the beginning of the next round, go to the step 5. Otherwise, Si invokes the Decide-Sink-Movement mechanism (see Section 4). 5. Start data collection phase. Next, we describe the steps of the first round and then the subsequent rounds in more detail. At the start of the first round, we assume that the sinks are interconnected, thus they form a connected topology. Sensors compute a scheduling mechanism to decide which of them stay active to satisfy the area coverage and sensor connectivity requirements. Two such scheduling mechanisms are presented in Sections 5.1.1 and 5.1.2. The active sensor nodes are the nodes that participate in data collection. The next step is for the nodes to form data collection trees, as presented in Section 4, clustered around the sinks, by having the sinks broadcast CLUSTER_INIT messages. In the data collection phase, sensors send data to their cluster sinks, along the paths in the data collection trees. Starting with the second and subsequent rounds, sinks might move in order to prolong network lifetime. Each sink Si decides if it needs to move using the same criteria as in the Decide-Sink-Movement algorithm in the Section 4. That is, a sink considers to move if p% of its 1-hop sensors have E ≤ Eth . If the sink has to move, then before it actually moves, the set of active nodes in its cluster is recomputed based on the residual energy in the sensor nodes. Depending on the scheduling mechanism used, methods to recompute the set of active nodes in a cluster are presented in Sections 5.1.1 and 5.1.2. After the new active nodes are decided, they form a data collection tree, by having the sink broadcasts a CLUSTER_INIT message, similar to the algorithm in Section 4. It is expected that the new active nodes in Si ’s cluster area have more energy, and thus the sink might not need to move any more. Thus, the sink re-checks the moving criteria, if p% of its 1-hop sensors have E ≤ Eth . If this time the moving condition is also met, then the sink invokes the Decide-Sink-Movement mechanism in Section 4 to search for a new location. If a new location is found, then similar to Section 4, the sink moves to the new location, and new data collection trees are formed. The round then continues with the data collection phase. 5.1.1. SM-NLI with CDS-coverage One method used in literature for WSNs area coverage is to approximate the area coverage by point coverage [13]. WSNs contain a large number of sensor nodes, thus we can approximate the requirement of area coverage with the requirement that every sensor node to be covered by the set of active sensor nodes. The problem reduces in this way to the problem of finding a Connected Dominating Set (CDS) which is a subset of nodes with the property that every node is either in the CDS or has a neighbor in the CDS. In order to conserve energy and prolong network lifetime, it is desirable to have a minimum number of sensor nodes active. Thus the problem reduces to finding a Minimum Connected Dominating Set (MCDS). Two aspects need to be addressed: (1) how the CDS for the whole WSN is decided at the beginning of the first round, and (2) how the partial-CDS is recomputed for the cluster area corresponding to a sink Si . At the start of the first round, the sensors compute a CDS using Rule-K , a localized algorithm introduced in [14,15]. This algorithm is briefly presented next. At the beginning of the initialization phase, all the nodes are active. We assume that each node u has a unique ID, denoted uID . Each node u computes a priority, which is a 2-tuple based on the residual energy Eu and uID , denoted p(u) = (Eu , uID ). For any two nodes u and v , p(u) > p(v) if Eu > Ev or if Eu = Ev and uID > vID . For a node u, we define NK0 (u) to be the set of nodes within the K -hop neighborhood which have priority higher than u’s priority: NK0 (u) = {v ∈ NK (u)|p(v) > p(u)}. Each node decides whether it will go to sleep during the current round based on the following rule: Rule-K The default status of a sensor node is active. A sensor u is in sleep mode if for any two of u’s neighbors w and v , w and v are connected by a path with all intermediate nodes in NK0 (u). The intuition behind this rule is that a sensor u can go to sleep if the nodes with higher priority in its K -hop neighborhood can provide the connectivity property on behalf of u. Note that a node with higher priority can also go to sleep if the rule holds true in its K -hop neighborhood. If a node u has only one neighbor, then the connectivity requirement is fulfilled. K represents the number of hops in the local topology and is a given parameter which usually takes small values, e. g. K ≤ 3. There is a trade-off in choosing K . The larger the K , the higher the overhead in collecting local information, but more nodes are expected to go to sleep since the local neighborhood NK0 (u) has a larger cardinality. Starting with the second and subsequent rounds, sinks might move in order to prolong network lifetime. If the sink has to move, before it actually moves, the partial CDS is recomputed based on the nodes’ residual energy, using the Partial-Rule-K mechanism described below. The Partial-Rule-K mechanism addresses a new problem, let us call it Partial-CDS problem. In the Partial-CDS problem, the goal is to replace only the active sensors in the cluster corresponding to some sink Si . This means the goal is to recompute the CDS only for the sensors in the sink Si ’s cluster. When the CDS is recomputed, it is expected that the new sensors in the CDS will have more residual energy than the sensors that were active previously, and thus the sink Si might not need to move any longer. The Partial-Rule-K mechanism starts with the sink Si broadcasting a Recompute_CDS message to the sensors in its cluster. The active sensors in Si ’s cluster forward the message and wake-up their 1-hop neighbors. In this way, all the nodes in the area reporting to the sink Si are active and participate in reconstructing the partial CDS. A sensor which was not in Si ’s cluster will not forward the Recompute_CDS message. The sensors that have received the Recompute_CDS message will lose their status as CDS nodes, and will participate in recomputing a new partial CDS, using the Rule-K mechanism.

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

551

The new partial CDS and the unchanged part of the CDS (CDS nodes reporting to the other sinks than Si ) form a CDS for the whole WSN network. We will show that any sensor v in Sj ’s cluster is connected by a path of active sensors to a sensor u in Si ’s cluster. First, if i = j, then u is connected to v as a result of applying the Rule-K mechanism in Si ’s cluster area. If i 6= j, let u∗ be the node u’s dominator in the old partial CDS. Then, considering the old partial CDS, there exists a path of active sensors between v and u∗ , let us call it p. Let x be the fist sensor on the path which belongs to Si ’s cluster, and let y be the x’s predecessor. Let p1 be the sub-path of p, taken between v and y. Thus p1 has no nodes in the old/new partial CDS. Node y has received the Recompute_CDS message from x, thus y has participated in the Partial-Rule-K mechanism, thus y is connected to u through a path of active nodes in the new partial CDS, let’s call it p2 . Then p1 + p2 is a path of active sensors between v and u, thus v and u are connected. Rule-K algorithm is a localized algorithm, where each sensor node communicates only with its K -hop neighbors. This is an important property in WSNs, resulting in a scalable mechanism to decide the set of active sensors. 5.1.2. SM-NLI with GAF-coverage In this method, we assume that each sensor knows its location using GPS or running a location detection mechanism [16]. The monitoring area A is divided into grids of size g × g, and each sensor is able to compute the grid region where it belongs. The grid size g is chosen such that a sensor in a grid can directly communicate with sensors in the neighboring grids (up, bottom, left,√and right) √ and such that any sensor active in a grid can cover that grid area. These conditions are satisfied if g ≤ min(r / 5, rs / 2), where r is the sensor communication range and rs is the sensor sensing range. In order to achieve area coverage and sensor network connectivity, it is sufficient to have only one active sensor in each grid. Next, we address the questions: (1) how to decide the set of active sensors at the beginning of the first round, and (2) how to recompute the set of active sensors for the cluster area corresponding to a sink Si . At the beginning of the first round, we can use a mechanism similar to the Geographical Adaptive Fidelity (GAF) [17] to decide one active sensor in each grid, while the other sensors are in the sleep state. One method is to consider that each sensor u has a unique priority p(u), defined as in the Section 5.1.1. Then each sensor sends a Hello message containing its grid identifier and its priority. These messages are sent after a small random delay to avoid collisions. The sensor with the highest priority is the active node, while all others will go to sleep. To recompute the set of active sensors in its cluster area, a sink Si broadcasts a Recompute_CDS message to the sensors in its cluster. These sensors awake the sensors in their grid regions and restart the process of active nodes selection (using Hello messages), based on the sensors’ priorities. 5.2. SM-NLI with time-delivery requirement In this section we address the SM-NLI problem when there is an additional requirement on the data-delivery time. Sometimes it is critical that the data reported by the sensors reach the sink as soon as possible. We model this requirement by asking that the reported data to be forwarded to the sink by at most t hops, where t is a given parameter. In order to address the time-delivery requirement, we modify the solution in Section 4 as follows. First, we assume that the sinks are initially uniformly distributed in a grid (see Fig. 5a), thus the cluster trees are balanced, and sensor paths have length at most t. When a sink Si decides to move, we need to ensure that the resulting cluster trees have paths of length at most t. When first data in the round is delivered hop-by-hop to the sinks, nodes can compute and forward maximum path length in the corresponding subtree. Thus, a sink Si can compute the maximum path length in its tree, let us denote it ti . Then when the sink Si wants to move, it will move to a new location which is at most t − ti hops away from the current location. This will ensure that each sensor in the cluster is at most t hops away from the new sink location. To limit the maximum moving distance, when sink Si runs the Find-Best-Location procedure, it sets up nmax = t − ti . Otherwise, the distributed algorithm in Section 4 remains unchanged, and if a sink does not find a new valid location, then it will not move. Note that a sink’s moving location is the location of one of the sensors in its tree, thus, after a sink Si moves, any node in the previous tree has a path to the sink of length less than or equal to t. When the re-clustering algorithm is run after a sink movement, each sensor node becomes part of the cluster corresponding to the closest sink. 6. Simulation In this section, we analyze and compare the performance of the algorithms that we have presented in the paper for the SM-NLI problem, versus the static case. In summary, we consider the following sink movement decision algorithms: 1. Static, from Section 2.2, where sinks do not move. 2. 6-Positions, the algorithm from Section 3, where each sink moves along the perimeter of a hexagon, stopping in the hexagon’s corners. 3. 12-Positions, the algorithm from Section 3, where each sink stops in 12 positions, following the perimeter of a hexagon. 4. Distributed, the algorithm from Section 4, and its extensions from Section 5. We have simulated the algorithms using a custom Java application. In order to compare the algorithms, we have used the energy model described in Section 2.1. In all the simulated algorithms, data gathering is performed using the clustering mechanism described in Section 4, where sinks serve as cluster-heads.

552

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

(a) Network lifetime.

(b) Power consumption per rounds.

Fig. 6. Network lifetime and power consumption per round for all algorithms when sensors are deployed using a random uniform distribution.

The sensors are randomly deployed in a 46 × 46 area units. All sensor nodes have the same capabilities. In our simulations, we have considered the cases when sensors are deployed using a random uniform distribution and a bivariate Gaussian distribution. The sinks are uniformly distributed in a hexagonal tiling. At the network start-up, each sensor has an initial energy of 0.5 units. Unless otherwise specified, we used the following values for the distributed algorithm: p = 1, Eth = 0.4, α = 0.05, and β = 0.75. In our simulations we measure only the energy consumed on sensing, data transmission, and data reception. We do not account the energy spent by sensors during the sinks relocation mechanism. In the simulations we vary the following parameters: 1. The network size N is varied to examine the scalability of the network. The size of the network is varied between 400 and 6000. 2. The number of sinks M is varied between 1 and 9. 3. The data aggregation factor is varied between 0 and 0.75 to analyze network lifetime in the distributed case. 4. Parameter p in the distributed algorithm takes the values: 1%, 5%, 10%, 15%, and 30%. Parameter p has the following meaning: when p percentage of the sink’s 1-hop sensors have reached the low energy threshold, the sink moves to a new location. In the case p = 1, the sink moves when at least one sensor has reached the low energy threshold. 5. The sensor communication range r takes values between 1 and 4. For each tunable parameter, each simulation was repeated 10 times and the results averaged. Network activity is organized in rounds, with each sensor sending one packet in each round. At the end of each round, every sink decides if it moves to a new location based on its movement decision criteria. The main performance metric is the network lifetime. We define the network lifetime as the number of rounds until the first sensor node dies. In the simulations we have used sensor communication range r = 2 units and sink communication range R = 20 units. In all figures, except Fig. 8a, the topology contains 9 sinks which are uniformly distributed using a hexagonal tiling, similar to the sink deployment in Fig. 2a. Fig. 6a compares the network lifetime of the three algorithms versus the Static case. Sensors are deployed using a random uniform distribution. All the three algorithms that employ sink movement perform better than the static case, when the sinks do not move. The best results are obtained for the cases when the sinks move on the hexagonal, predetermined trajectory. The distributed algorithm is a localized solution and it obtains a shorter network lifetime than the predetermined trajectory cases. In that case, the sinks’ movement is synchronized, thus the data collection trees are more balanced. Fig. 6b shows the variation of the minimum sensor energy over time for a network with 1000 sensors. The minimum sensor energy after 1 to 20 rounds is plotted. This result is consistent to Fig. 6a, with the static case reducing the energy most abruptly. Fig. 7a compares the algorithms’ performance for the case when sensors are deployed using a bivariate Gaussian distribution. Consistent with the previous results, the cases when the sinks’ move result in an improved network lifetime. The distributed algorithm has the best performance, followed by the predetermined-path cases. This graph shows the benefit of using a distributed algorithm which adapts with the deployed network topology. The sinks in the 6-Positions and 12-Positions mechanisms move synchronized and they follow the hexagonal trajectories. In this case, the sinks do not partition the sensor network as regularly as it was for the simulations in Fig. 6. Even if a node is the root of a large (or small) data collection tree, the sink will visit that position regularly. Such a situation is avoided in the distributed algorithm, where sinks move when 1-hop neighbors are energy-depleted. Fig. 7b shows the minimum sensor energy for a network with 1000 sensors, when the number of rounds vary between 1 and 90. The next graphs, Figs. 8–10, show the simulation results for the distributed algorithm with random uniform sensor deployment, when we vary different parameters. Fig. 8a compares network lifetime when we vary the number of sinks between 1 and 9. We can observe that a larger number of sinks helps in improving network lifetime. A larger number of sinks results in more clusters, with smaller data collection trees. All the previous simulations assume that no data aggregation is performed. In Fig. 8b we study network lifetime for different aggregation factors f = 0, 0.25, 0.5, and 0.75. The aggregation is done at the packet level. An aggregation factor

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

(a) Network lifetime.

553

(b) Power consumption per rounds.

Fig. 7. Network lifetime and power consumption per round for all algorithms when sensors are deployed using a bivariate Gaussian distribution.

(a) Network lifetime for different number of sinks.

(b) Network lifetime for different aggregation factor.

Fig. 8. Network lifetime when we vary the number of sinks and the aggregation factor.

(a) Network lifetime for different values of p.

(b) Average number of sink movements for different values of p.

Fig. 9. Network lifetime and number of sink movements when we vary the parameter p in the distributed algorithm.

f means that (1 − f ) × 100% of the packets are forwarded by a sensor. Thus, an aggregation factor f = 0, means that no aggregation is used. As illustrated in the graph, the larger the aggregation factor, the larger the network lifetime. In Fig. 9, we vary the parameter p in the distributed algorithm, when M = 9 sinks. In the distributed algorithm, if at least p% of the 1-hop sensors of a sink have reached the low energy threshold Eth , then the sink moves to a new location. 1-Distributed is the case when the sink moves if at least one 1-hop sensor has reached the low energy threshold. In Fig. 9a, the largest network lifetime is obtained for 1-Distributed. In general, a larger number of rounds is obtained for smaller p. As illustrated in the Fig. 9b, the trade-off is an increase in the number of sink moves for the 1-Distributed. Fig. 9b represents the average number of sink movements in the network. Fig. 10 measures network lifetime when we vary the sensor communication range r between 1 and 4. In general, r = 2 and r = 3 produce better results. A small communication range will increase the number of hops that a message has to

554

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

Fig. 10. Network lifetime for different sensor communication range r.

(a) Network lifetime.

(b) Power consumption per rounds.

Fig. 11. Network lifetime and power consumption in the distributed algorithm with and without the coverage requirement.

(a) Network lifetime.

(b) Power consumption per rounds.

Fig. 12. Network lifetime and power consumption in the distributed algorithm with and without the time-delivery constraint.

travel and thus will increase the number of forwarded messages. On the other hand, a large communication range reduces the number of forwarded messages but increases the energy spent on message transmission. Figs. 11 and 12 measure the performance of the extensions for the distributed algorithm, proposed in Section 5. The network has M = 9 sinks and sensors are deployed using a random uniform distribution. Fig. 11a measures network lifetime when we vary the number of sensors. As expected, the Distributed-simple algorithm (from Section 4) has a smaller network lifetime since it does not employ a sensor scheduling mechanism. In the CDS based coverage, we used K = 3. The Distributed-Coverage-CDS has a smaller network lifetime than the Distributed-Coverage-GAF algorithm since more sensors are active in each round. The advantage of using the CDS mechanism is that CDS is a localized algorithm, where each node communicates and store information of its K -hop neighborhood. The disadvantage of using GAF is that each sensor node has to be aware of its location. Distributed-Coverage-GAF algorithm has a longer network lifetime when the number of sensors is increased because more sensor nodes provide more possibilities to maintain the data collection phase, resulting in more rounds. Fig. 11b shows the variation of the minimum sensor energy over time for a network with 600 sensors.

M. Marta, M. Cardei / Pervasive and Mobile Computing 5 (2009) 542–555

555

Fig. 12a measures the network lifetime of the Distributed-simple algorithm and the distributed algorithm with the timedelivery constraint. Two time-delivery constraints are considered, for t = 4 hops and t = 8 hops. Imposing a constraint on the time delivery results in a reduced network lifetime. The smaller the parameter t, the shortest the network lifetime, but this guarantees a faster message delivery to the sinks. Fig. 12b shows the variation of the minimum sensor energy over time for a network with 400 sensors. The simulation results can be summarized as follows:

• Using sink mobility provides an effective mechanism to prolong network lifetime. When the sensors are deployed using

• • • • •

a random uniform distribution, then a predetermined trajectory (6-Positions and 12-Positions) produces the best results. When the sensors are deployed using a Gaussian distribution, then the distributed algorithm produces the largest number of rounds. A larger number of sinks results in an increased network lifetime. Data aggregation is another effective method to increase network lifetime. Various selections of the parameter p can trade-off network lifetime with the number of sink movements. Using a sensor scheduling mechanism while maintaining the coverage requirement constitute an important mechanism to improve WSN lifetime. Applications that require a bound on the data-delivery time will trade off a shorter network lifetime.

7. Conclusions In this paper we have studied the effect of using mobile sinks for data gathering in wireless sensor networks. If the sinks are static, the sensors near the sinks will deplete their energy first, resulting in an early disconnection of the network. One method to alleviate this problem and to obtain a more balanced energy consumption is to use mobile sinks. We have first studied the improvement in network lifetime considering a hexagonal tiling, where sinks move along the hexagon perimeter. Our simulation study shows an improvement by 4.86 times in network lifetime compared with the static sink case. We have also proposed a distributed and localized solution to decide sinks’ movements when the movement path is not predetermined. When the sensors closed to sink have scarce energy resources, sinks move to zones where sensors have richer energy resources and forward a large number of messages. Two extensions of the distributed algorithm, using coverage and timely delivery of data, have been addressed. Simulation results show significant improvements in network lifetime compared to the static sink case. Acknowledgment The second author’s work was supported in part by NSF grant CCF 0545488. References [1] J. Butler, Robotics and microelectronics: Mobile robots as gateways into wireless sensor networks, Technology@Intel Magazine (May) (2003). [2] A. LaMarca, W. Brunette, D. Koizumi, M. Lease, S. Sigurdsson, K. Sikorski, D. Fox, G. Borriello, Making Sensor Networks Practical with Robots, in: F. Mattern, M. Naghshineh (Eds.), LNCS, Springer-Verlag, 2002, pp. 152–166. [3] A.A. Somasundara, A. Kansal, D.D. Jea, D. Estrin, M.B. Srivastava, Controllably mobile infrastructure for low energy embedded networks, IEEE Transaction on Mobile Computing (2006). [4] R.C. Shah, S. Roy, S. Jain, W. Brunette, Data MULEs: Modeling a three-tier architecture for sparse sensor networks, in: Proc. of the 1st IEEE Intl. Workshop on Sensor Network Protocols and Applications, SNPA’03, May 2003. [5] L. Tong, Q. Zhao, S. Adireddy, Sensor networks with mobile agents, in: Proc. of IEEE Military Communications Conference, MILCOM’03, Oct. 2003. [6] J. Luo, J.-P. Hubaux, Joint mobility and routing for lifetime elongation in wireless sensor networks, in: IEEE INFOCOM, 2005. [7] A. Chakrabarti, A. Sabharwal, B. Aazhang, Using predictable observer mobility for power efficient design of sensor networks, in: Proc. of the 2nd IEEE IPSN, 2003. [8] Y. Bi, L. Sun, J. Ma, N. Li, I.A. Khan, C. Chen, HUMS: An autonomous moving strategy for mobile sinks in data-gathering sensor networks, in: Eurasip, 2007. [9] J. Li, P. Mohapatra, An analytical model for the energy hole problem in many-to-one sensor networks, in: Vehicular Technology Conference, 2005. [10] W. Heinzelman, Application-specific protocol architectures for wireless networks, Ph.D. Thesis, Massachusetts Institute of Technology, 2000. [11] S. Olariu, I. Stojmenovic, Design guidelines for maximizing lifetime and avoiding energy holes in sensor networks with uniform distribution and uniform reporting, in: IEEE INFOCOM, 2006. [12] T. Cormen, C. Leiserson, R. Rivest, C. Stein, Introduction to Algorithms, 2nd ed., Mc Graw Hill, 2001. [13] M. Cardei, J. Wu, Energy-efficient coverage problems in wireless ad hoc sensor networks, Comput. Commun. J. (Elsevier) 29 (4) (2006) 413–420. [14] J. Wu, H. Li, An extended localized algorithm for connected dominating set formation in ad hoc wireless networks, IEEE Transactions on Parallel and Distributed Systems (2004) 908–920. [15] J. Wu, S. Yang, M. Cardei, On maintaining sensor-actor connectivity in wireless sensor and actor networks, in: IEEE INFOCOM, 2008. [16] X. Cheng, A. Thaeler, G. Xue, D. Chen, TPS: A time-based positioning scheme for outdoor wireless sensor networks, in: IEEE INFOCOM, 2004. [17] Y. Xu, J. Heidemann, D. Estrin, Geography-informed Energy Conservation for Ad Hoc Routing, ACM/IEEE International Conference on Mobile Computing and Networking, July 2001.