On the use of limited autonomous mobility for dynamic coverage maintenance in sensor networks

On the use of limited autonomous mobility for dynamic coverage maintenance in sensor networks

Computer Networks 51 (2007) 2126–2143 www.elsevier.com/locate/comnet On the use of limited autonomous mobility for dynamic coverage maintenance in se...

623KB Sizes 0 Downloads 41 Views

Computer Networks 51 (2007) 2126–2143 www.elsevier.com/locate/comnet

On the use of limited autonomous mobility for dynamic coverage maintenance in sensor networks B.S. Manoj a, Archana Sekhar b, C. Siva Ram Murthy

c,*

a

c

Department of Electrical and Computer Engineering, University of California at San Diego, CA 92093, USA b McKinsey & Company Inc., Express Towers, Nariman Point, Mumbai 400 021, India Department of Computer Science and Engineering, IIT Madras, Sardar Patel Road, Chennai 600 036, Tamil Nadu, India Received 16 October 2005; received in revised form 8 August 2006; accepted 16 October 2006 Available online 29 November 2006 Responsible Editor: G. Morabito

Abstract Sensor networks consist of small wireless sensor nodes deployed randomly over an area to monitor the environment or detect intrusion. The coverage provided by sensor networks is very crucial to their effectiveness. Many of the important applications of sensor networks demand autonomous mobility for the sensor nodes. Early failure of sensor nodes can lead to coverage loss that requires coverage maintenance schemes. In this paper, we propose Dynamic Coverage Maintenance (DCM) schemes that exploit the limited mobility of the sensor nodes. The main objective of coverage maintenance is to compensate the loss of coverage with minimum expenditure of energy. Existing autonomous sensor deployment schemes such as the ‘‘potential field approach’’ are not useful for DCM because the nodes initially distribute themselves such that there is no redundancy in coverage. We propose a set of DCM schemes which can be executed on individual sensor nodes having a knowledge of only their local neighborhood topology. The process of moving a node to a new location for maintenance of coverage is termed ‘‘migration’’. We propose four algorithms to decide which neighbors to migrate, and to what distance, such that the energy expended is minimized and the coverage obtained for a given number of live nodes is maximized. The decision and movement are completely autonomous in the network, and involves movement of one-hop neighbors of a dead sensor node. We also propose an extension to these algorithms, called Cascaded DCM, which extends the migrations to multiple hops. We have developed a graphical simulator Java Sensor Simulator (JSS) to visually inspect the working of the algorithms. We have also compared the performance of the different algorithms in terms of the improvement in coverage, average migration distance of the nodes, and the lifetime of the network. Cascaded DCM was seen to offer the maximum network lifetime and coverage.  2006 Elsevier B.V. All rights reserved. Keywords: Limited autonomous mobility; Sensor networks; Network coverage; Migration

*

Corresponding author. Tel.: +91 4022574361. E-mail addresses: [email protected] (B.S. Manoj), [email protected] (A. Sekhar), [email protected] (C. Siva Ram Murthy).

1. Introduction Sensor networks consist of a large number of small, light-weight, highly power-constrained, and

1389-1286/$ - see front matter  2006 Elsevier B.V. All rights reserved. doi:10.1016/j.comnet.2006.10.010

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

inexpensive wireless nodes called sensors. Sensors are equipped with detectors for intrusion, sensing changes in temperature, humidity, chemicals, or any other characteristic of the environment that needs to be monitored. The data about the environment is constantly observed, consolidated, and sent to a monitor or Base Station (BS). Data transmission from the sensors to the BS can be periodic, event-triggered, or in response to a query from the BS. While each sensor node has limited computation capabilities and usually non-rechargeable battery power, the collaboration among thousands of sensors deployed in a region makes sensor networks a powerful system for observation of the environment [1]. Typical scenarios of interest include seismic monitoring, power plant or nuclear reactor control, and military usage such as reconnaissance of enemy territory. Sensors are usually deployed randomly, possibly showered down from an airplane onto the area of interest, and they typically operate in very hostile terrain, such as forests, nuclear or chemically polluted region, mountains or volcanic regions, which may be inaccessible to direct human intervention. The data sensed by the sensors is generally highly critical, and may be of scientific or strategic importance. Hence, the coverage provided by sensor networks is a very important criterion of their effectiveness. Special emphasis is placed on coverage especially in tactical applications such as surveillance and reconnaissance. Sensors can easily be used for the perilous and demanding duties of observing landscapes for intrusion detection. Coverage maintenance arises when sensor nodes die due to battery drain or environmental causes. The area which was covered by the dead node may be left uncovered, which is a potential point of vulnerability in the field. Hence, coverage maintenance is required to compensate for the death of the node. Traditional coverage maintenance schemes aim at replacement or partial redeployment of sensor nodes as and when coverage loss is detected. The use of limited autonomous mobility for dynamic coverage maintenance is a novel concept, first attempted in this paper. By autonomous mobility, we mean that the nodes are capable of moving themselves, without human assistance. This process of moving nodes for maintaining coverage is called ‘‘migration’’. The mobility is limited in the sense that migration occurs only over short distances. When a loss of coverage occurs due to node death, the ensuing movements are restricted to the immedi-

2127

ate neighborhood of the dead node, requiring migration over short distances by its neighbors. The neighbors are moved in, either by directions from the BS, or using a distributed algorithm, so that the loss of coverage due to death of the node is minimized. The rest of the paper is organized as follows. We discuss the motivation behind our work and brief some of the current research trends in mobile sensor networks in Section 2. We describe our work in detail, with the mathematical estimation of the migration distance of a node, in Section 3. We also highlight the issues involved in implementing the same algorithm in a distributed manner in Section 3.4. We explain the different heuristics proposed for deciding the node(s) to be moved. We present the results obtained from our simulations in Section 4 and summarize our work in Section 5. 2. Motivation and related work The application scenarios where sensor networks are invaluable are those in which direct human supervision is not possible, due to hostile terrain or environmental conditions, or physical danger. Such applications include seismic and volcanic activity monitoring, forest-fire detection, and military applications such as intrusion detection in mountainous or densely forested areas, minesweeping, and reconnaissance. Here, it is essential to maintain network coverage over the entire area as long as the network is alive, because a small unmonitored sub-area defeats the whole purpose of the network (for instance, an intrusion in that area may go undetected). In military applications, sensor nodes are vulnerable to attack, and it is most likely that the nodes in a region of possible intrusion are destroyed first. For instance, an explosion may destroy all sensors in a region, and deplete its coverage so that it is clear for human agents to pass through. Hence, it would be useful to reconfigure the network when some nodes die, either directed by the BS, or inferred by the nodes in a distributed fashion, so that coverage is maintained for a longer time. Introducing limited autonomous mobility in the nodes is an effective way of doing so, instead of replenishing the sensors when they fail. Energy is expended by the nodes to sense data, compute results, and transmit packets. In course of time, the power sources of some nodes die out. Also, environmental factors like heat, vibration, failure of electronic devices/components, software

2128

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

bugs, or destructive agents could lead to random deaths of nodes. This leads to loss of coverage in the network. There is tremendous scope for improving the coverage given the number of live nodes present with an amount of redundancy, by autonomously moving the nodes to spots of weaker coverage. Consider the usefulness of this capability in an underwater mine-clearing operation. Currently, navy clearance divers perform the job of locating mines underwater and diffusing them. Using sensors to detect mines would remove tremendous danger to life. Lack of coverage in such an operation of scouring the depths of the seas for treacherous mines would mean a loss of life. Using autonomous mobile sensors, which automatically take the place of dead ones greatly improves the chances of mine detection. Underwater sensors like the Robopike [2] have also been developed. We could let the Robopikes navigate through the water, and continually monitor the seabed for presence of mines. Similar uses can be envisaged in detection of border intrusion. This would prove invaluable in today’s world where illegal drug trafficking and cross-border terrorism warrant round-the-clock coverage on national borders. Mobility of sensors can also be used to provide differentiated coverage over the field of observation. It is likely that the information from some regions is more critical, or some regions are more vulnerable than others, and keeping them covered would be of utmost importance. When sensor nodes observing such critical regions die out, instead of deploying more sensors, we can redistribute nearby sensors to compensate for loss of coverage. Coverage as a measure of network performance has been used in many-robot systems [3]. Blanket (or field) coverage has been defined as the achievement of a static arrangement of nodes that maximizes the detection rate of targets appearing in a given area. This requires nodes to be spread as uniformly as possible over the entire sensing region with minimum gaps (or uncovered areas). Mobility in sensor networks has generated interest in recent times, especially in the context of deployment, tracking of intrusion, and event-based mobility control. Mobile sensors called Robomotes [4] have already been constructed. These are small, inexpensive sensors featuring the Mote sensor [5]. They have direction-controlled wheels and obstacle avoidance features, and use a solar cell as a power source. They use a compass for direction and bump sensors and infra-red sensors for obstacle avoid-

ance. A number of ‘biomimetic’ projects are underway which aim to mimic the movement of animals, such as the Robofly and Robopike projects [2]. It would be possible to integrate optical, vibrational or infra-red sensing equipment with miniature robot built like a housefly or a pike fish, and use hundreds of such agents for surveillance. The authors of [6,7] describe a method of selfdeployment of sensors with mobility. The objective of deployment is to achieve near-uniform coverage over a previously unknown environment. Nodes are treated as virtual particles and are repelled by virtual forces from other nodes, and from obstacles. As a result of these virtual forces, nodes from an initial compact configuration covering a very small area eventually spread out uniformly. The virtual forces create a potential field, which makes the nodes settle down in positions farthest from other nodes and obstacles in the environment. This ensures a near-uniform distribution of nodes, and maximizes the area covered. The nodes are also subject to a viscous frictional force, to ensure that static equilibrium is finally attained. The physical implementation assumes that nodes are equipped with a camera or laser-scanner that lets them detect other nodes and obstacles. This method assumes that a uniform deployment of nodes is the best to achieve maximal coverage. We, on the other hand, start out with a random deployment, and do not introduce mobility in the deployment stage. But, when coverage reduces, the mobility of nodes is used as a compensatory measure. Using the concept of potential fields during the re-positioning of sensors is not feasible because the movement would then have to cascade throughout the network until uniform distribution is achieved as dictated by the virtual forces. This would require excess expenditure of energy. Also, in an open environment, the initial deployment would distribute the sensors without any coverage redundancy, which is not the scenario we consider. Mobility has been used to primarily track events occurring in the environment. In [8], the authors envision a sensor network in which sensors can be repositioned based on events occurring in their environment. They propose to move the sensors and change their distribution in the observed area such that it closely resembles the observation pattern of events i.e., areas which report frequent events are observed by a greater number of sensors moving into that region, while areas which have a lower frequency of events are sparsely populated by sensors.

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

In order to ensure that coverage is maintained, and that the network is not partitioned, a reactive approach is used, whereby each sensor sends its new position information to neighbors after movement. If any sensor is in danger of becoming disconnected, then it alters its movement pattern accordingly. Event tracking has also been discussed in [9], in which the authors propose a model to direct the movement of sensors towards an event, in a manner similar to the growth of a colony of bacteria. The direction and speed of movement of sensors and their lifetime have been modeled based on the growth and death rate patterns of bacterial colonies. Just as growth is faster and directed towards a source of food, sensors move faster towards the event. Random mobility and its effects on coverage and target detection have been discussed in [10]. Specifically, the Brownian motion model has been applied to sensors, and the robustness of such a network to detect targets has been mathematically analyzed. These methods increase sensor node density in an area of higher rate of event occurrence. On the other hand, our approach is intended for the scenarios where events are equiprobable at any point in the field of observation. 3. Our work We consider a sensor network consisting of randomly deployed homogeneous sensors in a rectangular field. The area covered (sensed/monitored) by a sensor is assumed to be circular, with a coverage radius (rc). Also, the transmission range is assumed to be twice the coverage radius. This ensures that two sensors whose coverage areas intersect are neighbors of each other, since they are separated by a distance less than 2 · rc. The lifetime of sensor nodes is modeled as an exponential distribution, the simplest life distribution model [11]. The probability distribution function over time t is f(t) = ekt, where k is the failure rate. To reflect the fact that a node with less remaining energy is more likely to die due to battery failure than a node with higher reserves of energy, the failure rate is inversely proportional to the available energy i.e., k / 1/Ea, where Ea is the energy available at that point of time. When a node dies, it is possible that a part of the field which was earlier covered by the node, now does not belong to the coverage area of any sensor, as shown in Fig. 1. Here, node X is dead, resulting in a loss of coverage, as shown by the shaded region.

A

2129

B

rc

Live sensor node Dead sensor node Uncovered region

X

C

E

D

Fig. 1. Loss of coverage due to node death.

The primary objective of our work is to avoid such uncovered regions, using the mobility of neighboring sensors A, B, C, D, and/or E to compensate for the lack of coverage. The neighboring sensors should be moved such that their existing coverage is not jeopardized. Every node listens to its neighbors’ explicit periodic beacons or data packets. A node can assume that a node is dead, if it does not hear beacons from its neighbor for a particular period of time. This is explained in Section 3.4. Most deployments of sensor networks have a high degree of redundancy in coverage due to the large density of sensor nodes. This means the coverage areas of many nodes may overlap with each other. In intuitive terms, our aim is to move the neighboring nodes towards the dead node’s position, as much as possible, such that the existing coverage region is not affected and the uncovered region is covered to the greatest possible extent. By this, we intend to achieve maximum possible coverage with the given number of live sensor nodes. The node is moved from its current position, called migration home point, to a new position called the migration end point. The distance over which the node moves is called migration distance, which we aim to minimize. We want to minimize the migration distance, in order to reduce the energy consumption due to the migration of the nodes. This helps to increase the network lifetime. The mathematical implications of this requirement are derived in the following subsection. 3.1. Calculation of migration distance Consider the neighbor A of the dead node X. Let the co-ordinates of X be (x0, y0), and those of A be (xA, yA). Consider two neighbors of node A, say Q

2130

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

Q(x Q , yQ)

Region of redundant coverage P(x P , yP )

Live node Dead node

R(x R, yR) A(xA , yA)

X(x 0 , y0 )

N(xN , yN)

Fig. 2. Determination of migration end point of mobile node.

and R, located at (xQ, yQ) and (xR, yR) respectively, as shown in Fig. 2. The circles indicating the areas of coverage of nodes Q and R intersect at the point P, given by the co-ordinates (xP, yP). The shaded area in the figure shows the overlap between the coverage area of A and its neighbors Q and R. We propose an algorithm (explained later) which tries to move node A towards X, such that the redundant coverage area is minimized, and instead, the area which was earlier covered by X can now be sensed at least partially by A. Firstly, it can be observed from the figure that the closest point of approach of A towards X is the one along the line joining A and X, such that the point P lies exactly on the periphery of the new coverage area. This new proposed position of A, the migration end point N, is represented by (xN, yN). The co-ordinates of P can be derived as follows. Let the circles centered at Q and R be represented as 2

2

ð1Þ

2

2

ð2Þ

ðx  xQ Þ þ ðy  y Q Þ ¼ r2c and ðx  xR Þ þ ðy  y R Þ ¼ r2c :

Let the distance between the centers Q and R be d, i.e., qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 2 ð3Þ d ¼ ðxR  xQ Þ þ ðy R  y Q Þ : Solving Eqs. (1) and (2) yields qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi xQ þ xR y R  y Q  d 2 ð4r2c  d 2 Þ; x¼ 2 2d 2 y Q þ y R xR  xQ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi  d 2 ð4r2c  d 2 Þ: y¼ 2 2 2d

ð4Þ ð5Þ

The required point (xP, yP) of the two possible solutions is the one that is closer to A. The points A, N, and X lie on the same straight line. Hence they are related by the following equation: yN  yA y0  yA ¼ ¼ l: ð6Þ xN  xA x0  xA Also, the distance between N and P equals the coverage radius rc. ðxN  xP Þ2 þ ðy N  y P Þ2 ¼ r2c :

ð7Þ

Solving Eqs. (6) and (7) for the co-ordinates of N leads to a quadratic equation in xN. x2N ð1 þ l2 Þ þ xN ½2lðy A  lxA Þ  2xP  2ly P  þ x2P þ y 2P  r2c  2y P ðy A  lxA Þ þ ðy A  lxA Þ2 ¼ 0: ð8Þ The corresponding yN for the two possible values of xN can be obtained from Eq. (6). Of the two solutions, the one which lies between A and X is chosen as (xN, yN). Similar calculations can be carried out for every two intersecting neighbors of A, with each of them giving some point N along the line AX to which the sensor at A can be moved without affecting its existing coverage. The closest of all these points from A (i.e., the one which requires the least migration distance) is ultimately chosen as the new position of A. In the best case, A may be able to move to X itself, thereby completely compensating for the death of the node which was earlier at X. On the other hand, A may move some distance towards X or in the worst case, A may not be able to move in at all, if there is no redundancy in its existing

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

coverage. Hence, other neighbors of the dead node at X can also similarly chip in, by moving some distance towards X. In case a neighbor of A does not intersect with any other neighbor, then the condition used is that the link between A and the lone neighbor should not be lost. This implies that the distance between N and the neighbor should not exceed 2 · rc. The above problem can be formulated as an optimization problem as follows. Let the dead node X have n neighbors A1, A2, . . . , An, and the coverage of each node be represented as C(Ai), where i varies from 1 to n. Let the coverage areas C(A1), C(A2), . . . , C(An) intersect at points P1, P2, . . . , Pn, where Pi is the point of intersection between the coverage areas of Ai and Ai+1 for i = 1, 2, . . . , n  1 and Pn is the intersection between coverage areas of An and A1. This assumes that all neighbors are intersecting. Let the initial coverage of node X be Cinit(X). We need to move the neighbors to new positions N1, N2, . . . , Nn towards X, such that the following conditions are satisfied. 1. The area Cinit(X) ˙ [C(N1) ¨ C(N2) ¨    ¨ C(Nn)] is maximum. This ensures that the coverage of the nodes at their new positions covers the maximum possible area which was previously covered by X. 2. For any node Y which was a neighbor of Ai, i varies from 1 to n, YNi 6 2 · rc (here YNi denotes the distance between the nodes Y and Ni). This ensures that connectivity is not lost with any earlier Pn neighbors. 3. i¼1 Ai N i is minimum (here AiNi denotes the distance between the nodes Ai and Ni). This results in minimum migration distance, and hence least energy expended. The above three conditions are common for all the dynamic coverage maintenance schemes including the Cascaded DCM scheme. Hence, the original coverage is not lost and achieves the maximum coverage. The above problem is exponential in complexity. A simplifying assumption that has been made is that Ni lies on AiX for i = 1, 2, . . . , n. The idea behind the algorithm is illustrated in Fig. 3. It is easy to see that in a high-density network like a sensor network, the death of node may not cause any loss of coverage, due to high coverage redundancy. For instance, in Fig. 3(i), death of node X does not cause any loss of coverage, and hence does not warrant any compensatory action from its

2131

neighbors. On the other hand, in Fig. 3(ii), the death of node B leaves the shaded region uncovered. The neighbors of node B are K, D, A, C, and J. The migration of each node is restricted or limited by some particular point, called the Migration Constraint Point (MCP). If the node moves any further, the MCP will be uncovered. As shown in Fig. 3(iii), MCP(1) prevents D from moving towards B, and MCP(3) prevents C from doing so. Node A can move in until the intersection point between E and F coverage areas comes on its periphery, as shown by MCP(2). Similarly, the migration of nodes J and K is restricted by MCP(4) and MCP(5), respectively. The uncovered region is reduced, but may not be completely eliminated. In DCM scheme, the nodes around an uncovered area move serially, in order to cover the uncovered region. we do not follow a coordinated move of two or more nodes because such a movement is difficult to be achieved with available 2-hop neighbor nodes’ information. The DCM scheme is described in an algorithmic form below.

Procedure DCM 1. for each A = neighbor(X) /* neighbors of the dead node */ 2. for each pairOfNeighbors Q, R of A /* intersecting 2-hop neighbors of dead node */ 3. P = closerPointOfIntersection(Q, R) 4. N = point on AX such that PN 6 coverage radius 5. end for 6. finalN(A) = N such that AN is minimum /* finalN is the migration end point */ 7. end for 8. applyHeuristic(neighbors(X))

If each node has, on an average, n neighbors, then the detection of intersection points of twohop neighbors of the dead node is O(n2). Hence, applying the same for each neighbor A, the algorithm is of O(n3) complexity. The heuristic to be applied in the last step will now be discussed.

3.2. Dynamic coverage maintenance scheme Since migration consumes energy, we need to find that particular combination of movements of the

2132

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

E

F

G

Live sensor node Dead sensor node A

(i)

H

D

X

C

Death of node X does not affect coverage

I

B

K

J

E

F

G

Death of node B leaves region uncovered

A

(ii)

H

D

C

Uncovered region

I

B

K

J

MCP(3)

MCP(2)

E

F

G

MCP(1) Migration of node H D

C

A

(iii)

Old coverage area of moved nodes

K

I

B J

MCP(5)

Uncovered region

MCP(4)

Fig. 3. Working of the algorithm.

neighbors of the dead node which minimizes the energy spent on migration, and maximizes the cov-

erage. Hence, decisions need to be made about which neighbors to move, and how much to move

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

each of them. We propose several heuristics for this. The heuristics do not guarantee complete coverage, but optimize the area covered based on several parameters such as migration energy and/or migration distance. In all the heuristics implemented, a neighboring node moves if and only if the death of a node actually caused a loss of coverage. If the neighbors already cover the area of the dead node among themselves, i.e., the dead node was redundant in terms of coverage area, then no node moves. Thus, the loss of coverage has to be detected to decide whether any heuristic is to be applied. An approximate, but efficient way of assessing the coverage in the network has been used as follows. The entire field of observation is considered as a grid. The coverage area is also discretized by considering points radially and peripherally. For instance, if radii at 30 intervals are considered, and the points on each radial line are at half the radial distance, the discretization would be as shown in Fig. 4(a). If there is a sample point in any grid square, it is considered to be ‘covered’. A small version of the grid is shown in Fig. 4(b), with uncovered grid squares indicated by shading. Each node maintains a matrix corresponding to the grid squares in its neighborhood. For every sample point found in the coverage of a node and its neighbors, the corresponding (row,

a

Sensor node 30˚

Sample point

b Sensor node Uncovered grid square Sample point

Fig. 4. An example of assessment of coverage by grid.

2133

column) entry is incremented by one. If there is any square which has a value 0 in the coverage matrix of a node, it is deemed uncovered. When a node dies, its neighbors update their coverage matrices by decrementing the dead node’s sample coverage squares by one. If any of the affected squares reach a value 0, it means the death of that node has resulted in a loss of coverage. The use of a grid undoubtedly leads to a quantization error. There is a tradeoff between error and computational complexity. The finer the sampling of the coverage area, in terms of angular and radial separation of sample points, the more accurate the assessment of coverage. But, this leads to greater computation for updation of the status at the death of each node. The granularity of the grid squares also influences accuracy. Having smaller grid squares reflects the field accurately, but this requires a larger matrix to be handled at each node. We now propose four heuristics for dynamic coverage maintenance. The following heuristics move the one-hop neighbors of the dead node to compensate the loss of coverage. 3.2.1. Maximum energy based (MEB) The energy required for migration, called the migration energy, is orders of magnitude larger than that required for transmission. But, increasing transmission range is not always feasible because the required transmitter characteristics make the node bulkier and more expensive. The movement of a node towards its dead neighbor depletes its available energy, thereby reducing its lifetime. If the energy of a node is already low, the movement should not place a further burden on it, since such a move would be detrimental to the node and the network in general. This decreases the expected lifetime of the low-energy node. It is likely that the node dies faster and causes another node to again move in towards the same point to take its place. To avoid such repeated failures at the same point, we can prefer the migration of nodes which have a larger store of available energy, and hence likely to remain alive for a longer time after the movement. Also, a threshold of energy is applied, and if the node has energy lower than that, it is not considered for movement. This is achieved by the MEB which preferentially moves the neighbor having maximum energy among all eligible neighbors. In case of a tie, the node which has to move a shorter distance is preferred. Further ties are broken in favor of the node with lower node identifier (ID).

2134

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

The node ID is expected to be a unique identifier or address similar to the Ethernet or wireless LAN MAC address and it can be assigned by the manufacturer of the device in a globally unique way. The MEB is listed as an algorithm below.

the numerator of the fraction decreases, and if the node has higher available energy, the denominator increases. Both these cases give preference to the node by decreasing the value of the ratio D/E. If there is a tie, the node with higher energy is moved. Further ties are resolved on the basis of node ID. MDE is written as an algorithm as follows.

Procedure applyHeuristicMEB(neighbors(X)) 1. choose neighbor A belonging to neighbors(X) such that energy(A) = maximumenergy(Y) " Y 2 neighbors(X) 2. if self=A 3. migrate to min(finalN(A), X)

3.2.2. MinMax distance (MMD) This heuristic tries to minimize the migration distance of a node in the process of covering the area left uncovered due to node death. For each neighbor of the dead node, the maximum distance that it can move (which could range anywhere from 0 to completely reaching the dead node’s position itself) is calculated based on Eqs. (1)–(8). The neighbor which has to move the minimum of these maximum distances is chosen for migration. By comparing nodes on the basis of the maximum possible distances, the maximum area can be recovered, and by using the minimum of these, the least distance is ultimately covered by the node. If there is a tie, the node with higher energy is chosen. Further ties are broken based on node ID, as in MEB scheme. MMD is listed as an algorithm as follows.

Procedure applyHeuristicMMD(neighbors(X)) 1. choose neighbor A belonging to neighbors(X) such that distance(A, finalN(A)) = min(distance(Y, finalN(Y))) " Y 2 neighbors(X) 2. if self=A 3. migrate to min(finalN(A), X)

3.2.3. Minimum D/E (MDE) This heuristic combines the objectives of the MEB and MMD heuristics, by ordering the neighbors of a node based on the ratio of the maximum distance they can move to their available energy (D/E), and choosing the node with the least of these ratios. If the node has to move a shorter distance,

Procedure applyHeuristicMDE(neighbors(X)) 1. choose neighbor A belonging to neighbors(X) such that distanceðA;finalNðAÞÞ=energyðAÞ ¼ minðdistanceðY; finalNðYÞÞ= energyðYÞÞ8Y 2 neighborsðXÞ

2. if self=A 3. migrate to min(finalN(A), X)

3.2.4. Minimum distance lazy (MDL) The previous three heuristics moved nodes to the maximum possible distance towards the dead node. This is an instance of an ‘eager’ computation, where the neighbor replaces the dead node as closely as possible. But the ultimate objective of the algorithm is to only recover the area now left uncovered by the death of the node. The MDL heuristic moves neighboring nodes through the minimum distance possible, so that the uncovered area is likely to be covered. If there is a tie, the node with greater energy is chosen, and on further ties, the node ID is used for decision making. This is mathematically represented as follows. Consider the dead node X and its neighbor A in Fig. 5. Let the points of intersection between the coverage areas of neighbors of X, which bound the uncovered region, be represented by PAB (for the intersection of coverage areas of A and B), PCD and so on. The farthest point of intersection from neighbor A gives a rough estimate of the extent to which X’s death has left area uncovered. In the figure, PCD is the farthest intersection point from A. The point to which A should move is calculated as that point along the line APCD which is rc from PCD. This in effect moves node A such that the farthest point of intersection just falls into its coverage area. The co-ordinates of any intersection point are determined similar to Eqs. (4) and (5). For

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

A

2135

tions similar to Eqs. (1)–(8). Similar calculations are performed for all neighbors of X. Then the neighbor which has to move the minimum distance to reach its new position is chosen. This is expressed as an independent algorithm (NOT plugged into the basic DCM algorithm).

B PAB Anew

Procedure HeuristicMDL(neighbors(X))

X C E PCD

D

Fig. 5. MDL heuristic.

instance, the co-ordinates of PCD, given that node C lies at (xC, yC) and node D at (xD, yD), are given by the equations qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi xC þ xD y D  y C  d 2 ð4r2c  d 2 Þ; ð9Þ x¼ 2 2d 2 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi y þ y D xD  xC  d 2 ð4r2c  d 2 Þ; y¼ C ð10Þ 2 2d 2 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 2 where d ¼ ðxC  xD Þ þ ðy C  y D Þ . Of the two solutions, the point which is closer to the dead node (bounding the uncovered region) is considered. The required point Anew lies on the line APCD. Hence, by equating slopes, y Anew  y A y P CD  y Anew y P CD  y A ¼ ¼ ¼ l: xAnew  xA xP CD  xAnew xP CD  xA

3.3. Cascaded dynamic coverage maintenance scheme ð11Þ

Also, since PCD lies a distance rc from Anew, 2

2

ðxP CD  xAnew Þ þ ðy P CD  y Anew Þ ¼ r2c :

ð12Þ

Solving Eqs. (11) and (12) gives rc xAnew ¼ xP CD  pffiffiffiffiffiffiffiffiffiffiffiffiffi ; 1 þ l2 l  rc y Anew ¼ y P CD  pffiffiffiffiffiffiffiffiffiffiffiffiffi : 1 þ l2

1. setP = points of intersection of coverage areas of neighbors(X) bounding uncovered area 2. for each A = neighbor(X) 3. Pa = point belonging to setP such that AP is maximum 4. Ya = point on AP such that YP = coverage radius 5. for each pairOfNeighbors Q, R of A 6. P = closerPointOfIntersection(Q, R) 7. N = point on APa such that PaN = coverage radius 8. end for 9. finalN(A) = N such that AN is minimum 10. end for 11. choose A such that distance(A,finalN(A)) = min(distance(Y,final(Y)) " Y 2 neighbors(X) 12. if self=A 13. migrate to min(finalN(A),Pa)

ð13Þ ð14Þ

Of the two obtained solutions, the point which lies between A and PCD is chosen to be Anew. The existing coverage of node A is protected using calcula-

The four heuristics proposed so far move only the one-hop neighbors of the dead node to compensate the lost coverage. It is possible that a combination of migrations of 1- and 2-hop neighbors may lead to a more efficient migration policy. Similarly, an extension over n-hop neighbors may reduce the total expense of energy. This is explored by the Cascaded DCM (CDCM) scheme. A scenario where cascaded migration can be beneficial is illustrated in Fig. 6. Node X’s death creates an uncovered area, and the farthest intersection point for neighbor A is point P. The MDL migration distance is indicated in the figure. Neighbor B is constrained by its neighbor C’s position. But, if node B could move to reach

2136

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

MDL migration distance

Procedure Cascaded DCM(X) returns d /*d is the net migration distance */

A

Primary CDCM distance

P X B

C

Secondary CDCM distance

Fig. 6. Cascaded DCM.

X’s original position through the ‘‘primary CDCM distance’’, and node C through the ‘‘secondary CDCM distance’’, assuming other neighbors of C allow such a migration, then the coverage loss is compensated with less net movement. In effect, a migration policy is applied on the 2-hop neighbors of a dead node, to see if they can move towards a 1-hop neighbor. If extending over another hop proves to be more efficient, then the CDCM scheme can be applied. This can be extended over n-hops. CDCM also makes improvements on the MDL heuristic, by imposing thresholds on the allowed movements. Firstly, in the earlier heuristics, a node could be forced to migrate to a new position, and be left with very little energy, causing a very quick death at the migration end point. This is termed ‘‘migration to death’’, since the expenditure of energy for migration itself causes death. CDCM introduces a threshold for minimum migrated life i.e., life of the migrated node at the end point. Also, applying a cascade over the MDL heuristic of moving towards the farthest intersection point may cause the node to migrate away from the dead node, or for a longer distance. This unnecessary expense of energy is curtailed by ensuring that the total distance moved is always less than that to completely replace the dead node. If the CDCM is applied to k hops, the complexity of the algorithm, assuming n neighbors for each node, is O(nk+2). The CDCM scheme is listed as a recursive algorithm as follows.

1. for each Y 2 neighbors(X) 2. d(Y) = min(MDL(Y),Cascaded DCM(Y)) /* choose a 1-hop migration of Y, or a multi-hop migration of Y and its neighbors, whichever needs smaller migration distance */ 3. if (energy(Y)-energy(d(Y)) < threshold) 4. d(Y) = 0 5. if d(Y) P distance(X,Y) 6. d(Y) = distance(X,Y) /* choose to migrate directly to dead node if there is a chance of overshooting it */ 7. end for 8. return d = min{d(Y)} " Y 2 neighbors(X) 3.4. Neighborhood discovery The DCM heuristics presented assumed a knowledge of the immediate neighborhood for each sensor node, and a capability to detect the death of neighboring nodes, and the ensuing loss of coverage. Since all migrations are performed only by immediate neighbors of the dead node, it involves only local computation depending on the topology in the immediate vicinity of the dead node. A distributed implementation of the DCM schemes would be scalable for largesized networks. We now outline the process of implementing the DCM heuristics in a distributed fashion. Sensor nodes regularly exchange beacons among their neighbors to maintain connectivity in the network. Explicit periodic beacons could be generated for this purpose or the transmission of observed data could itself act as a beacon. In any case, all neighbors of a node know whether it is alive or dead. We propose to include the transmitting node’s energy, a list of its neighbors and their co-ordinates and available energies with each beacon. Co-ordinates can either be obtained from location information such as GPS, or by distributed localization techniques such as multi-lateration [13]. Referring to the initial topology shown in Fig. 1, node X at (60, 35) transmits the following information in its beacon, as shown in Table 1. As a result, all nodes know the two-hop topology of the network. When node X dies, each of its neighbors A, B, C, D, and E apply one of the above-mentioned heuristics to determine which of them has the maximum energy, or has to move the least distance, and so on. All heuristics require knowledge of only

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143 Table 1 Information contained in the beacon sent by node X Sender: X

Energy: 25

Number of neighbors: 5 Neighbor

Position (x, y)

Energy

A B C D E

(52, 22) (72, 24) (81, 41) (62, 52) (47, 43)

150 120 230 75 40

the node’s own neighbors, and the dead node’s neighbors, which corresponds to two-hop topology information. Accordingly, since all nodes have a consistent picture of the local network topology, the node to be moved is uniformly determined. All the neighbors accordingly update their view of the network topology. After taking up the new position, the node which moved, say A broadcasts a beacon indicating its new position, and receives acknowledgments from its new neighbors. This modification in topology is reflected in all subsequent beacon transmissions by its new neighbors. Hence, with an appropriate beaconing mechanism for local topology discovery, the DCM heuristics can be applied in a distributed fashion to decide the node movement. This involves only local computation and hence is easily scalable. The above process is written in algorithmic form as follows. Procedure Distributed DCM 1. while(isAvailable(energy)) 2. Broadcast(location, energy, neighborList) 3. ReceiveFromAllNeighbors(location, energy, 2hopNeighborList) 4. for each node X in neighbor-list 5. if NOT(receivedBeacon) for n intervals 6. applyHeuristic (2hopNeighborList(X)) 7. if chosenNode 8. migrate(currentPosition, newPosition) 9. Broadcast(location,energy) 10. develop neighborList 11. endif 12. endif 13. end for 14. end while

2137

Due to incomplete topology information, more than one node may find itself eligible to move. But, if accurate topology information is obtained, the algorithm ensures that a node is unambiguously chosen for migration. In case of a tie in the available energy or distance to be moved, the node ID is used to resolve the tie. The node with lower ID is chosen to move towards the dead node. Beacon packet loss is handled by the nodes and that deaths of nodes are infrequent enough to ensure that enough beacons have been exchanged to infer local topology. 4. Results We have simulated a sensor network with randomly placed nodes over an area of 600 m · 600 m. The lifetime of nodes has been modeled as an exponential distribution. The energy consumed by sensors for relaying data has been modeled in [12] as Prelay(d) = (a1 + a2dn)r where d is the distance over which transmission takes place, n is the pathloss exponent, and r is the relay rate in bps. In our simulations, we have used the values d = 100 m, rc = 50 m, a1 = 180 nJ/bit and a2 = 10 pJ/bit/m2 (assuming n = 2). Nodes start out with an energy store of 100 J. The migration energy has been assumed to be 1 J/m. To account for energy spent in neighbor discovery, 35 mJ is the transmission energy per node for every round of beaconing. We have developed a graphical simulator on Java, Java Sensor Simulator (JSS), to visually inspect the migration of nodes. The initial deployment of nodes is random. With each step of the simulation, packets are transmitted and the death of nodes is also probabilistically calculated. Fig. 7 shows consecutive screen-shots of the simulator run on a network with 300 nodes initially. In Fig. 7(a), the live nodes are shown as black dots and the dead nodes as squares. The uncovered regions (grid squares) are in black and the covered regions are in gray. Fig. 7(b) shows the network configuration when the migration algorithm has been applied (in this case, the MDE heuristic). The uncovered area has decreased from 3% to 2%. The figure illustrates various possible results of the DCM heuristics. The uncovered region shown by (2) in Fig. 7(a) has been reduced in size to region (2) in Fig. 7(b), but not completely eliminated. Region (3), on the other hand, has completely been covered by the heuristic. Region (4) presents an example of the discretization error. The part which was detected to be uncovered in Fig. 7(a),

2138

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

Fig. 7. Screen-shots of the graphical simulator JSS.

as indicated by the black grid squares, has been covered by the heuristic. But visual inspection reveals that there still is an undetected uncovered region (4) in Fig. 7(b). The heuristic may also fail to locate any eligible neighbors to move, as is the case with region (1) of Fig. 7(a), which remains unaltered in region (1) in Fig. 7(b).

For a network topology with 150 sensor nodes, all four heuristics were implemented. The grid used to approximate the coverage was a 60 · 60 matrix. Each node’s coverage area was modeled with sample points at 5 radial spacing, and with 20 points on each radius. With each step in the simulation, nodes transmit a packet each, and the probabilistic

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

lifetime calculations are applied. If any node dies, then the corresponding heuristic is applied to its neighbors. Simulations were run until only 5% of the nodes were alive, by which time the network becomes highly partitioned. The comparative performance of the heuristics is now analyzed. Fig. 8 plots the percentage of nodes alive over the period of time in a 150-node network. The simulations were averaged over 10 different random topologies. Clearly, the MDL heuristic survives the longest. This is because each node migration is only to cover the uncovered area, not to replace the dead node as closely as possible. On the other hand, MEB shows the worst performance, because the node with high energy reserve is moved irrespective of the distance it has to cover, which leads to overall depletion of energy in the network. Fig. 9 compares the region covered by different heuristics during the

100 MEB MMD MDE MDL

Percentage of nodes alive

90 80 70 60 50 40 30 20 10 0

1000

2000

3000

4000

5000

6000

7000

8000

Time

Fig. 8. Percentage of nodes alive over time in 150-node network.

2139

progress of the simulation in a 150-node network. Here too, at a given point in time, the best coverage is provided by the MDL heuristic. It can be observed that after the simulation has run about half-way, the difference in coverage provided by different heuristics is clearly visible. While the high redundancy in the network precludes any significant difference in the initial stages, where all heuristics perform in a similar fashion, when the number of live and eligible neighbors becomes less, the performance difference is appreciable. The MDE heuristic ranks second in coverage as it in effect combines the objectives of the other two. Similar results for 100node networks and 75-node networks are shown in Figs. 10–13. This is corroborated by the statistics presented in Figs. 14–16. The total distance moved by all nodes, as well as the average migration distance of each node is the least for this heuristic, in all the simulation scenarios involving 150, 100 and 75 node networks. Hence, the nodes have a longer lifetime. MDL is also the heuristic to make the maximum number of moves during the simulation, which shows that making short distance migrations to just cover the required region is feasible more often than making a greedy move to completely replace the dead node. The number of moves made decreases with an increase in size of the network, and the average migration distance increases. In this case, the most important parameter is the total distance moved and the MDL heuristic is performing best as far as this parameter is concerned. This is because, in a dense network, there is a greater possibility of having a nearby neighbor to compensate for a node’s death. 100

100

80 Percentage of nodes alive

90 80 Percentage coverage

MEB MMD MDE MDL

90

MEB MMD MDE MDL

70 60 50

70 60 50 40 30 20

40

10

30 0 0

20 0

1000

2000

3000

4000 Time

5000

6000

7000

8000

Fig. 9. Deterioration of coverage over time in 150-node network.

1000

2000

3000

4000 Time

5000

6000

7000

8000

Fig. 10. Percentage of nodes alive over time in 100-node network.

2140

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

90 MEB MMD MDE MDL

80

Percentage coverage

70 60 50 40 30 20 10 0

1000

2000

3000

4000

5000

6000

7000

8000

Time

Fig. 11. Deterioration of coverage over time in 100-node network.

100 MEB MMD MDE MDL

Percentage of nodes alive

90 80

Fig. 14. Total distance moved.

70 60 50 40 30 20 10 0

1000

2000

3000

4000 Time

5000

6000

7000

8000

Fig. 12. Percentage of nodes alive over time in 75-node network.

80 MEB MMD MDE MDL

70

Percentage coverage

60 50

Fig. 15. Average migration distance.

40 30 20 10 0 0

1000

2000

3000

4000

5000

6000

7000

8000

Time

Fig. 13. Deterioration of coverage over time in 75-node network.

We have implemented the 2-hop Cascaded DCM, in which migration of nodes occurs only up to two hops from the dead node. The graphs in Figs. 17 and 18 compare the performance of 2-hop Cascaded DCM with the other DCM schemes over 150-node networks. It is observed that the 2-hop Cascaded DCM scheme offers better coverage when

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

2141

100 MEB MMD MDE MDL Cascade

90

Percentage coverage

80 70 60 50 40 30 20 10 0

1000

2000

3000

4000 Time

5000

6000

7000

8000

Fig. 18. Deterioration of coverage over time in 150-node network using Cascaded DCM.

Hence, the effectiveness of the network coverage is improved, though at the cost of lifetime. The graph in Fig. 19 compares the coverage offered by the MDL heuristic with 0.1 J/m for movement with the static scenario. It can be observed that when a given number of nodes are alive, the MDL heuristic offers better coverage because nodes have been moved to ensure maximum possible coverage. As explained earlier, the mobility of sensors can also be used to provide differentiated coverage over the field of observation. It is likely that the information from some regions is more critical, and keeping them covered would be of utmost importance. When sensor nodes observing such critical regions (known as peaks) die out, instead of deploying more sensors, we can redistribute nearby sensors to compensate for loss of coverage. Differentiated coverage

Fig. 16. Number of moves.

100 MEB MMD MDE MDL Cascade

90 Percentage of nodes alive

80 70 60 50 40 30 20 10 0 0

1000

2000

3000

4000

5000

6000

7000

8000

Time 3000

Fig. 17. Percentage of nodes alive over time in 150-node network using Cascaded DCM.

Static MDL 0.1 2500

2000 Coverage

the network is operational, and has a longer lifetime. A static network may have a longer lifetime in terms of number of nodes alive over the period of time. This is because the energy of a node is used only towards packet transmissions and sensing. In a network with limited autonomous mobility, the energy expended in movement decreases the lifetime of individual nodes. But the overall coverage of the network is improved, because, given a specific number of live nodes, the DCM schemes perform topological modifications to achieve better coverage.

1500

1000

500

0 0

10

20

30

40

50

60

70

80

90

100

Percentage of nodes alive

Fig. 19. Comparison of efficiency of coverage between static and MDL.

2142

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143

100 Static Weighted 0.1

90

Percentage coverage

80 70 60 50 40 30 20 10 0

10

20

30

40

50

60

70

80

90

100

Percentage of nodes alive

Fig. 20. Differentiated coverage with 10 critical points.

has been investigated with 10 peaks randomly distributed over the terrain. The peaks also periodically move in course of simulation, since the regions of importance may change with time. Fig. 20 compares the coverage offered by MDL with the static scenario. Again, for a given number of live nodes, MDL covers more crucial grid squares than static deployment. 5. Conclusions and future work We have proposed Dynamic Coverage Maintenance schemes to improve the coverage of a mobile sensor network during its lifetime, by exploiting the inherent redundancy in coverage. We have implemented four different algorithms for the DCM schemes, to decide the nodes to be moved, and their migration distance. The MEB scheme moves the node with maximum available energy, and the MMD scheme moves that neighbor which needs to cover minimum distance to achieve maximum compensation for the dead node’s coverage. The MDE scheme considers the ratio between distance to be moved and energy available, and chooses the node with minimum ratio. While the above three schemes try to move as close to the dead node’s position as possible without affecting their existing coverage, the MDL scheme moves the least distance possible so that the coverage is maintained. The Cascaded DCM scheme was proposed to extend the migration to k-hop neighbors, if the net migration distance is less than a single-hop migration. This was found to perform better than all four one-hop DCM schemes. We have also indicated how the same can be achieved in a distributed fash-

ion and identified the issues in distributed DCM. A graphical simulator Java Sensor Simulator (JSS) has been developed to visualize the performance of the different algorithms. Their performance in terms of coverage improvement and lifetime was compared, and it was observed that the Cascaded Dynamic Coverage Maintenance scheme had the best performance in terms of maximum network lifetime and minimum average migration distance. The accuracy of modeling the coverage area of sensor nodes can be improved. The current circular coverage area can be modified to account for obstacles in the environment. Introducing the constraints of the terrain, propagation model, node density, and other realistic factors is an interesting future work in this direction. The concept of using mobility to maintain or improve coverage in a given network has been explored in this paper. The number of sensors and the energy per sensor has been fixed for the network, and the coverage has been maximized within these constraints. It would be interesting to explore how coverage can be improved if these constraints are relaxed. For instance, we could determine the number of sensor nodes to be added to a network or the amount of energy required per sensor to maintain full coverage over a given period of time. Introduction of mobility also raises further issues in the maintenance of the network. At the end of their lifetime, nodes should be collected and disposed, and more nodes may need to be deployed in their place. Mobility can be used to ensure that all nodes congregate at a ‘pick-up point’ when their energy is almost exhausted, so that collection is easier. We assume in the current work that the coverage radius is constant for all the nodes throughout their life time. In future, we would try to model the coverage radius of the nodes to decrease over a period of time. Acknowledgements The authors wish to thank the anonymous reviewers for their valuable comments and suggestions. This work was supported by the Department of Science and Technology, New Delhi, India. References [1] I.F. Akyildz, W. Su, Y. Sankarasubramaniam, E. Cayirci, A survey on sensor networks, IEEE Communications Magazine 40 (8) (2002) 102–114.

B.S. Manoj et al. / Computer Networks 51 (2007) 2126–2143 [2] Spy fly: tiny, winged robot to mimic nature’s fighter jets. Available from: http://www.robotbooks.com/spy-fly-robot.htm. [3] D.W. Gage, Command control for many-robot systems, in: Proceedings of AUVS 92, USA, June 1992, pp. 22–24. [4] G.T. Sibley, M.H. Rahimi, G.S. Sukhatme, Robomote: a tiny mobile robot platform for large-scale ad-hoc sensor networks, in: Proceedings of ICRA2002, vol. 2, May 2002, pp. 1143–1148. [5] J.M. Kahn, R.H. Katz, K.S.J. Pister, Mobile networking for smart dust, in: Proceedings of MobiCom 99, Seattle, USA, August 1999, pp. 271–278. [6] A. Howard, M.J. Mataric, G.S. Sukhatme, Mobile sensor network deployment using potential fields: a distributed, scalable solution to the area coverage problem, in: Proceedings of DARS 02, Japan, 2002. [7] Y. Zou, K. Chakrabarty, Sensor deployment and target localization based on virtual forces, in: Proceedings of IEEE Infocom 2003, vol. 2, April 2003, pp. 1293–1303.

2143

[8] Z. Butler, D. Rus, Event-based motion control for mobile sensor networks, IEEE Pervasive Computing 2 (4) (2003) 34– 42. [9] S. Doumit, D.P. Agrawal, Bio-inspired mobility in environment aware wireless sensor networks, in: Proceedings of IEEE Percom 2003, March 2003, pp. 514–517. [10] G. Kesidis, T. Konstantopoulos, S. Phoha, Surveillance coverage of sensor networks under a random mobility strategy, in: Proceedings of IEEE Sensors, vol. 2, October 2003, pp. 961–965. [11] A. Papoulis, Probability, Random Variables, and Stochastic Processes, McGraw-Hill, Inc., 1984. [12] M. Bhardwaj, A. Chandrakasan, T. Garnett, Upper bounds on the lifetime of sensor networks, in: Proceedings of IEEE ICC 2001, 2001, pp. 785–790. [13] A. Savvides, C. Han, M.B. Srivastava, Dynamic fine-grained localization in ad hoc networks of sensors, in: Proceedings of ACM MOBICOM 2001, July 2001, pp. 166–179.