• No results found

Repairing Sensor Network Using Mobile Robots

N/A
N/A
Protected

Academic year: 2021

Share "Repairing Sensor Network Using Mobile Robots"

Copied!
9
0
0

Loading.... (view fulltext now)

Full text

(1)

1

Repairing Sensor Network Using Mobile

Robots

Yongguo Mei, Changjiu Xian, Saumitra Das, Y. Charlie Hu and Yung-Hsiang Lu

Purdue University, West Lafayette

{ymei, cjx, smdas, ychu, yunglu}@purdue.edu

Abstract— Sensor network repairing is important for providing continuous sensing services. Upon sensor node failures, holes (uncovered areas) may appear in the sensing coverage. Existing approaches relocate redundant nodes to fill the holes and require all or most sensor nodes to have mobility. However, mobility equipment is expensive while technology trends are scaling sensor nodes to be smaller and cheaper. In this paper, we propose to use a small number of mobile robots to replace failed sensor nodes for a large-scale static sensor network, and study algorithms for detecting and reporting sensor failures and coordinating the movement of robots that minimize the motion energy of mobile robots and the messaging over-head incurred to the sensor network. In our algorithms, a manager is a robot that receives failure reports and determines which robot to handle a failure. We study three algorithms: a centralized manager algorithm, a fixed distributed manager algorithm, and a dynamic distributed manager algorithm. Our simulation studies show that: (a) the centralized and the dynamic distributed algorithms have lower motion overhead than the fixed distributed algorithm; (b) the centralized algorithm is less scalable than the two distributed manager algorithms; and (c) the two distributed algorithms have higher messaging cost than the centralized algorithm. Hence, the optimal choice of the coordination algorithm depends on the specific scenarios and objectives being optimized.

I. INTRODUCTION

Sensor networks have been intensively studied. Many studies focus on how to effectively collect and transfer data through energy-aware and/or fault-tolerant routing techniques [1], [2], [11], [16], [17], [19]. Sensor net-works are assumed unattended in various environments such as disaster areas, hazard fields, or battle fields. It is desirable to deploy and maintain the sensor network autonomously. There have been many studies on sen-sor deployment [7], [9], [15], [22], [26], for example, moving sensors to desired locations to provide initial coverage. Sensor nodes usually have simple designs, and their components (processor, radio, or sensor) are prone to failures. This can be especially serious in a hazardous

environment, such as with high temperatures, high hu-midity, or dramatic changes of weather. After a sensor network is deployed, some sensor nodes may fail and leave holes in coverage. It is necessary to fill the holes to keep desired coverage. One way of maintaining sensor network against node failures is to replace failed nodes with functional ones. This is called sensor replacement. Our paper focuses on sensor replacement upon sensor failure.

Wang et al. [23] propose using some redundant mobile sensors relocating themselves to fill the holes. They propose a cascading movement method to balance the energy cost and the response time of sensor replacement. In their study, sensor nodes are assumed to have mobility. However, mobility is an expensive feature, as mobile sensors need to have motors, motion control, and GPS modules. In addition, high capacity batteries may be required to provide motion energy. In large scale sensor networks, where the nodes are usually assumed to be small and cheap, adding mobility to a large number of sensor nodes is impractical.

In this paper, we propose using robots to assist sensor replacement. All robots are mobile and can pick, carry, and unload sensor nodes. The robots carry some func-tional sensor nodes. When sensor nodes fail, the robots move to the locations of the failed nodes and unload functional sensor nodes. In our algorithms, a manager is a robot that receives failure reports and determines which robot to handle a specific failure. A maintainer is the robot that moves and replaces failed nodes. A robot can be both a manager and a maintainer. Senor nodes serve one another as guardians and guardees for failure detection.

Figure 1 presents an overview of the robot assisted sensor repair system. Since the number of robots is much smaller than the number of sensor nodes, the cost is expected to be lower than requiring most of sensor nodes to have mobility. Since sensor nodes do not move, the routing algorithm can be more efficient for delivering

(2)

detect Robot sensors Robot guardee replace report guardian

Fig. 1. An overview of sensor replacement using robots. The circles represent sensor nodes and squares represent robots. A guardian node detects a guardee’s failure (shown by a cross over the circle) and then reports the failure to a robot. A robot moves to the failure location and replaces the failed node.

sensing data than in mobile sensor networks. We present three different robot coordination algorithms: a central-ized manager algorithm, a fixed distributed manager algorithm, and a dynamic distributed manager algorithm. In the rest of the paper, the centralized algorithm, the

fixed algorithm, and the dynamic algorithms are used

as short names of the three algorithms. The centralized algorithm has a central manager that receives failure reports from sensors and forwards them to individual robots. In the two distributed algorithms, the manage-ment responsibility is distributed over the robots, and each robot functions as both a manager and a maintainer. The three algorithms are compared in respect to motion overhead and messaging overhead. We perform extensive simulations of the three algorithms using Glomosim [25], and the experimental results show that (a) the centralized or the dynamic algorithm can achieve lower motion overhead than the fixed algorithm, (b) both the fixed and the dynamic algorithms are more scalable but also have higher messaging overhead than the centralized algorithm.

II. PROBLEMSTATEMENT

We make the following assumptions in this study: (a) Sensor nodes are randomly uniformly distributed

into a 2-dimensional field. Their locations are known by themselves. This can be enabled in the initial deployment process. The lifetime of a node is limited, and follows an exponential distribution with an expected value of T .

(b) Robots are initially randomly uniformly distributed inside the field where the sensor nodes are de-ployed. Each robot carries a certain number of functional nodes. The robots travel at a constant

speed v. Robots can localize themselves. The number of robots is much smaller than the number of sensor nodes.

(c) All the sensor nodes and the mobile robots com-municate via wireless links and effectively form a multihop wireless network.

(d) Replacement nodes are at the same locations as the corresponding failed nodes.

Using mobile robots for sensor replacement is essen-tially a coordination problem: how to coordinate multiple robots to maintain a large sensor network. In other words, when a failure is detected, which robot should receive the failure report and which robot should replace the failed node. The problem can be divided into the following three stages.

(a) Initialization: There are mainly three issues in this stage: 1) Setting up the roles of robots. A robot may be assigned to be a manager or a maintainer or both. 2) Setting up the initial relationship between the sensor nodes and the robots. Every sensor node needs to know which robot is its manager and the location of the manager. 3) Setting up the guardian-guardee relationship among sensor nodes.

(b) Failure detection and reporting: When a guardian node detects a failure of its guardee node, the guardian reports the failure to a manager.

(c) Failure handling: Once a failure is reported, the manager dispatches a maintainer to the failure location to replace the failed node with a functional one. After replacing a failed node, the maintainer robot may need to update some other robots or some sensors with its new location.

The goal of this study is to minimize the motion overhead and the messaging overhead incurred in using robots to maintain sensor networks. The motion overhead is measured as the energy and the time required for the robots’ movement. The messaging overhead is mea-sured as the number of wireless transmissions incurred by failure detection, failure reporting, and coordination messages. Repair time is also one of the performance metrics, but it is directly related to the motion and messaging overhead: lowering the motion and messaging overhead reduces the repair time.

III. COORDINATIONALGORITHMS

The coordination algorithms in this section address two issues: how to report a failure, and which robot should handle the failure. We present three algorithms: (a) the centralized algorithm: a single robot serves as

(3)

the manager, and all the other robots are maintainers; (b) the fixed algorithm: the sensor area is equally divided into fixed subareas and each robot independently handles one subarea, i.e., all failures in a subarea are reported to the corresponding robot and the robot handles all failures reported to it; and (c) the dynamic algorithm: the sensor area is dynamically divided into subareas based on the robots’ current locations. In this section, we first describe the centralized algorithm in details. The description follows the three stages we introduced in the previous section. Then we present the fixed algorithm and the dynamic algorithm.

A. Centralized Manager Algorithm

The centralized algorithm has a robot functioning as the central manager. All the failures are reported to the central manager. The manager then forwards failures to different maintenance robots. At the beginning, the sensor nodes and maintenance robots are randomly uni-formly distributed over an area. To simplify the design, we assume the manager do not move and it is located at the center of the area to balance failure reports from all directions.

Initialization: In this stage, there are three types of messages. First, the manager broadcasts its location to all the sensor nodes and all the maintenance robots. Second, each of the maintenance robots sends a message with its current location to the manager, and broadcasts its location to their one-hop neighbor sensor nodes, i.e., those sensors that are within transmission range of the robot. Third, the sensor nodes broadcast their locations to their neighbor sensor nodes within one-hop distance for establishing guardian-guardee relationship for fail-ure detection. Every sensor receives one message from each of its neighbors, picks its nearest neighbor as its

guardian, and then sends a confirmation message to the

guardian to establish the guardian-guardee relationship. After initialization, all the sensor nodes and robots know the manager’s location, the manager knows all robots’ locations, and the guardian-guardee relationship between sensor nodes is established.

We use geographic routing protocols in the routing layer as geographic routing utilizes location information to reduce the routing overhead. The location service needed by the routing layer is provided as part of the coordination algorithms in the application layer. The location broadcast in the initialization stage is for this purpose. In the subsequent stages, when a robot moves, it needs to update some other robots and some sensor nodes of its new location.

Failure Detection and Reporting: After initializa-tion, each sensor node periodically sends beacon mes-sages to its one-hop neighbor nodes, which include its guardian and guardee. If a guardian has not received any beacon from a guardee for a certain amount of time (three beaconing periods in our study), the guardian conceives that the guardee has failed and sends a failure message with the failed node’s location to the manager. As the guardian-guardee is a one-to-one relationship, we assume that the probability of both a guardian and a corresponding guardee fail close in time is small and negligible, and hence all the failures can be detected and reported to the manager. Similarly, if a guardee has not received any beacon from a guardian for a certain interval, it assumes the guardian has failed and selects a new guardian from its one-hop neighbors in the same fashion as during the initialization stage.

Failure Handling: Upon a failure report, the manager selects a robot based on the current location of each robot, in particular, the manager selects the robot whose current location is the closest to the failure to handle that failure. To allow the manager to keep track of the current location of each robot, whenever a robot has moved a certain threshold distance on its way to repair a failed robot, it sends an update of its location to the manager via geographic roting and to the one-hop neighbor sensor nodes via broadcast. The threshold is a distance that should be decided based on the transmission range. If the threshold is too small, the update is too often and incurs high messaging overhead. One the other hand, if the threshold is too large, the robot may be unreachable sometimes. Upon receiving the request to repair a failure from the manager, a robot moves to the failed node’s location and replaces the failed node with a functional one. When the robot is moving towards a failed sensor node, it still can receive failure repair request forwarding from the manager. The robot queues such requests and handles the failures in a first-come-first-serve fashion.

In the centralized algorithm, the manager has the global information of all the failures and all the robots. The algorithm can be effective for reducing the traveling distance and thus the motion energy of robots because the manager always forwards a failure to the robot that is the closest to the failed node. However, the central manager can become a performance bottleneck in a large scale senor network where the distance traveled by the failure report message and failure repair request message becomes long.

(4)

S R3 R4 R2 R1 (b) R2 R3 S R1 R4 (a)

Fig. 2. Partition an area into (a) squares (b) hexagons. The small squares represent the robots in each subarea, and the small circles indicate failures.

B. Fixed Distributed Manager Algorithm

In the fixed algorithm, the area is partitioned into equal-size subareas. The number of subareas is the same as the number of robots, and each robot is assigned with an equal-size subarea. A robot is both the manager and the maintainer for its subarea. We consider two types of area partition methods: squares or hexagons. Figure 2 shows two methods. In the initialization stage, the robots first move to the centers of their corresponding subareas, and then broadcast their locations to all the sensor nodes within their subareas. Each sensor node then selects the closest robot which is the robot in charge of the node’s subarea as its myrobot for failure report. The setup of guardian-guardee relationships for failure detection is the same as in the centralized algorithm, with the restriction that a guardee and its guardian need to belong to the same subarea. In this way, each robot independently handles failures within its own subarea. Once a sensor detects a failure, it reports the failure to its “myrobot”. In the failure handling stage, a robot moves to a failure location and replaces the failed node.

Similarly to the centralized algorithm, sensors broad-cast their location information to their one-hop neighbors in the initialization stage. However, the location update of a moving robot is slightly different from the central-ized algorithm. Since all the sensor nodes within the robot’s subarea can potentially report a failure to the robot, all the sensor nodes in a subarea need to receive the robot’s location update. To achieve this, all the sensor nodes belonging to a robot’s subarea relay the robot’s location update. During this process, a sensor node may receive the same location update message multiple times, but it only relays the message to its neighbors once. This is achieved by remembering the sequence number of the robot location updates it has relayed before.

Compared with the centralized algorithm, the fixed algorithm avoids the single manager bottleneck problem.

R2 R3 R5 R4 R1 S R2 R3 R5 R4 R1

Fig. 3. Voronoi graphs. (a) original Voronoi graph; a failure happens at ‘S’ inside R1’s subarea. (b) After R1 moves to ‘S’, the Voronoi graph changes; the original graph is shown by dashed lines. The shading area shows the area that the robot needs to update its location.

However, the traveling distance tends to be longer as we will show by experimental results in next section. For example in Figure 2 (a) and (b), robots are shown by small squares and nodes are shown by small circles. A node fails at location ‘S’, and it belongs to robot R2’s subarea. For fixed partition algorithm, R2 moves to ‘S’ and replaces the failed node. However, robot R3 in a neighbor subarea is closer to ‘S’ than R2. The dynamic algorithm described in next subsection exploits this fact by allowing dynamic area partition.

C. Dynamic Distributed Manager Algorithm

As the name indicates, there are no fixed bound-aries between two robots in the dynamic algorithm. In this algorithm, the boundaries between robots are constructed dynamically as Voronoi graph. Previously, Voronoi diagrams have been used in wireless multihop networks to study coverage-boundary detection by Car-bunar et al. [4], and to study the coverage problem by Meguerdichian et al. [13]. Figure 3 shows a Voronoi graph of five robots. The Voronoi graph partitions the area (a rectangle) into five convex polygons with one robot in each subarea. Any sensor within each polygon is closer to the robot at that subarea than to any other robot. When a robot moves to replace failed nodes, the Voronoi graph needs to be adjusted.

The behaviors of sensor nodes and robots are shown in Figures 4 and 5. The dynamic algorithm is similar to the fixed algorithm. The main difference lies in how to dynamically maintain the Voronoi graph. This is not realized directly by exchange locations between neighbor robots. On the contrary, robots do not know the border or the sensors they are responsible for. Instead, each sensor node decides which robot to report a failure to and sets it as its “myrobot”. This is achieved by robots’ dynamic broadcasting their locations to sensor nodes (line 1 and line 6 in Figure 5) and sensor nodes’ dynamic updating their “myrobot”s (lines from 8 to 16 in Figure

(5)

4). Different from the fixed algorithm, the sensor nodes that receive and relay the broadcasting message are not restricted to the nodes that are currently having the robot as their “myrobot”. Some nodes currently in the neighbor subareas may need to switch their “myrobot”s to the moving robot, and such nodes may also need to relay the location update messages. In this way, the nodes updates their “myrobots” dynamically to be the closest robot. SENSORNODE:

1 Receive all the robots’ initial location broadcasts 2 Set the closest robot as myrobot

3 Broadcast my location to its neighbor nodes 4 Receive broadcasting message from all its neighbors 5 Setup guardian-guardee relationships

6 Set a timeout τ 7 while (TRUE)

8 do if(receive a new location update message)

9 then if(message.robot == myrobot)

10 thenUpdate the robot’s location

11 Update myrobot and myrobot.location

12 Relay the message

13 else if(the robot is closer than current myrobot)

14 thenmyrobot=message.robot

15 myrobot.location = message.location

16 Relay the message

17 else do nothing

18 if(timeout)

19 thenReset the timeout τ

20 Send a beacon to its guardian 21 Check the last time receiving a beacon

/* from its guardee */

22 ifthe time duration is too long (> 3τ)

23 thenDetect a failure

24 send the failure to myrobot Fig. 4. A sensor node’s behavior in the dynamic algorithm ROBOT:

1 Broadcast its location to all sensors 2 while (TRUE)

3 do if(Receive a failure message from a sensor)

4 Move to the failure location 5 Stop and Replace the failed node 6 Broadcast its new location

Fig. 5. A robot behavior in the dynamic algorithm

In the dynamic algorithm, since a sensor node reports a failure to the closest robot, the robot achieves similar traveling distance as in the centralized algorithm without suffering the scalability problem. Note this is achieved at the cost of high messaging overhead, as the new location of a moving robot needs to be updated to many sensor nodes. Compared with the fixed algorithm, the dynamic algorithm can have higher messaging overhead since some nodes in the neighbor subareas may also need to relay the location update messages. We will compare the messaging overhead in the next section.

IV. EXPERIMENTS

In this section, we compare the relative performance of the three coordination algorithms using simulations.

A. Experimental Setup

We use Glomosim to simulate using robots to replace failed nodes. Glomosim [25] is packet level simulator for ad hoc networks with an accurate radio model. The link layer used is IEEE 802.11, and the radio model used has a nominal bit-rate of 11Mbps. We differentiate three types of nodes: sensors, robots, and managers (for the centralized algorithm). The manager and the maintenance robots have the same transmission range of 250m, while the sensors have a transmission range of 63mto save the sensor’s power.

In our simulations, the sensors are static, and robots move around to replace sensor nodes. We have imple-mented an on-demand mobility model in which robots move on demand after receiving a failure report. The fail-ure detection, failfail-ure report and failfail-ure repair request are implemented in the application level. We implemented a geographic routing protocol based upon GPSR that will be described in more details in next subsection.

In realistic scenarios, the failure happening rate is expected to be low and robots spend most of the time waiting for failure repair requests. This conserves the robots’ energy consumption and allows robots to be of service for long time. To reflect such realistic scenarios, we selected the following simulation parameters: (1) the average area per robot is 200 × 200m2; (2) the robots’ speed is 1m/s that is based on the specification of Pioneer 3DX robots [14]; (3) the sensor node density is

50

200×200m2, i.e., each robot is in charge of 50 nodes on

average; (4) the number of maintenance robots varies from 1 to 16. The sensor area and the number of sensor nodes change with different number of robots. For example, with 16 robots, the sensor area is 800×800m2 with total 800 sensor nodes;(5) in the fixed algorithm, the area is partitioned into squares; (6) the sensor nodes’ expected lifetime is 16000 seconds; (7) the simulation time is 64000 seconds; (8) the sensor nodes’ beaconing period for failure detection is 10 seconds. We choose a relatively short expected lifetime so that the simulation can finish in a reasonable amount of time, while still showing the relative maintenance overhead for different algorithms.

B. Geographic Routing and Location Service

Routing in our system is implemented by geographic forwarding. As we discussed in section II, each node

(6)

knows its own geographic location and each robot can localize itself when it moves. Our implementation of geographic forwarding is based on GPSR [11]. During initialization, all the sensors broadcast their locations to their one-hop neighbors (within the radio transmission range) and the robots also broadcast their locations to some sensors and some other robots depending on the three algorithms. Each node maintains the node ID and location information of its neighbors. Subsequently, a packet can be routed to a destination node using the local state at each node. Each packet contains the destination address in the IP header and the destination’s location (x-and y-coordinates) in an IP option header. To forward a packet, a node searches its neighbor table and forwards the packet to its neighbor closest in geographic distance to the destination’s location. Under the above greedy ge-ographic forwarding, forwarded packets may potentially reach a node that does not know any other node closer to the destination than itself. This indicates a hole in the geographical distribution of nodes. Recovering from holes is possible using approaches such as GPSR [11], which uses planar subgraphs to route around holes.

After the initialization, sensor nodes periodically (proactively) send out beacons to their one-hop neigh-bors for (guardee and guardian) failure detection. In addition, when one of the following two events occurs, extra updates of location information are required. (a) When a node detects a neighbor sensor node’s failure, it deletes the failed neighbor from its neighbor table. After a failed node is replaced, the new node broadcasts its location to its one-hop neighbors. The neighbors then add the new node into their neighbor table, and also send out beacons containing their own locations. This is to enable the new node to set up its own neighbor table. (b) When a robot moves, the robot needs to send out updates containing its new location. In the centralized algorithm, the robot updates the manager and its one-hop neighbors of its new location. In the fixed algorithm, the robot up-dates all the sensors within it subarea of its new location, and all the sensor nodes also relay this message so that all the sensors in the subarea can receive this update. In the dynamic algorithm, some sensors in the neighbor subareas also need to change their “myrobots” also relay the location update message. In all three algorithms, the robot updates its location whenever it moves away from the last updated location by a distance threshold. The threshold depends on sensors’ transmission range. In the simulations, we choose this threshold to be 20 meters which is less than 1

3 of the sensors’ transmission range (63m) to ensure that the robots can receive failure messages all the time.

C. Simulation Results

We run experiments with three different numbers of maintenance robots: 4, 9, and 16. We choose square numbers to make area partition easy. We skip one robot experiments, since there is little difference among the three algorithms. For a simulation with k2 maintenance robots, the total area size is set to be 200 × 200 × k2m2, and there are a total of 50k2 sensors, according to our experimental setting. For the fixed algorithm, we only show the results for the square partition method, because the hexagon partition method shows negligible difference with respect to the overheads.

4 6 8 10 12 14 16 0 10 20 30 40 50 60 70 80 90 100 110

number of maintenance robots

average traveling distance per failure (m)

fixed dynamic centralized

Fig. 6. The average robot traveling distance as a function of the number of robots.

1) Motion Overhead: Figure 6 presents the average

traveling distance per failure with different numbers of maintenance robots. This figure shows that the dynamic algorithm has similar motion overhead as the centralized algorithm, while the fixed algorithm has higher motion overhead. For example, with 16 maintenance robots, the dynamic algorithm can save 10.8% traveling distance compared withe the fixed algorithm.

In the fixed algorithm, a sensor’s failure is reported to the robot in that subarea. There is no cooperation between robots and a sensor’s failure is not reported to the closest robot. In the centralized or the dynamic algorithm, a failure is reported to the closest robot and the robots coordinate with each other indirectly. For this reason, the centralized and the dynamic algorithms have lower motion overhead than the fixed algorithm.

2) Messaging Overhead: The messaging overhead

can be divided into four parts: initialization, failure de-tection, failure report and robot location update. Since all three algorithms are similar in initialization and failure detection, we focus on the overhead from failure report and location update.

(7)

4 6 8 10 12 14 16 0 1 2 3 4 5 6

number of maintenance robots

average number of hops per failure

centralized: failure report centralized: repair request dynamic: failure report fixed: failure report

Fig. 7. The average message passing hops per failure.

Figure 7 shows the average number of hops for failure reports or failure repair requests of the three algorithms. Since we use geographic routing, the number of hops is roughly proportional to the distance between the report node (sender) and the manager (receiver). The failure reports and failure repair requests are delivered with 100% delivery ratio due to the high density of sensor nodes and low traffic load in the network. In the dynamic or the fixed algorithm, the failure is reported from a sensor node to a robot, and the distance between them is about 100m on average. This distance has the same average value as the robot traveling distance. Since the sensors’ transmission range is 63m, passing a message cross 100m requires at least two hops. From the figure, the average number of hops traveled by the failure reports in the dynamic or the fixed algorithm is stable at about 2. This validates the effectiveness of the geographic routing. In the centralized algorithm, we consider both failure report and failure forwarding. A failure report is from a sensor node to the central manager and a failure repair request is from the central manager to a robot. Statistically, the distances traveled by failure reports and failure repair requests have the same distribution, and they increase as the area size increases because the central manager is always at the area center. However, the average number of hops traveled by failure reports and failure repair requests differ. The reason is that sensor nodes and robots have different transmission ranges. Failure reports have larger numbers of hops than failure repair requests. The two curves in Figure 7 for centralized algorithm show the increasing trend and their difference. When the area is increased, the number of maintenance robots increases accordingly, and the number of hops in the centralized algorithm also

4 6 8 10 12 14 16 0 50 100 150 200 250 300

number of maintenance robots

average number of transmissions per failure

dynamic fixed centralized

Fig. 8. The average number of transmissions for location update per failure.

increases. Therefore, compared with the dynamic or the fixed algorithm, the centralized algorithm is less scalable. Figure 8 shows the messaging overhead of location updates in the three algorithms. We use the number of transmissions as the metric. The dynamic and the fixed algorithms result in much higher average number of transmissions per failure than the centralized algo-rithm. Also, the dynamic algorithm has slightly higher number of transmissions than the fixed algorithm, as we discussed in the last paragraph of section III-C. This is because many sensors in the fixed or the dynamic algorithm need to relay the robot’s location update messages, while there is no sensor rebroadcasting in the centralized algorithm. The sensor rebroadcasting greatly increases the probability that each sensor can receive the location updates from its “myrobot”. However, requiring all the sensors inside the robot’s subarea to rebroadcast the robot’s location update message may introduce many redundant transmissions. The high messaging overhead in the two distributed algorithms can be reduced by using more efficient broadcast schemes (e.g. [21]) which re-quire only a subset of the sensors in each subarea to relay the location update messages, or rendezvous-based loca-tion services such as quorum-based schemes (e.g. [20]), hierarchical hashing based schemes (e.g. [12]), or home-region/geographic hashing based schemes (e.g. [18], [6]). This is part of our future work.

Combining the two types of messaging overhead, we can see that the dynamic and the fixed algorithms have higher messaging overhead than the centralized algorithm.

3) Repair Time: Figure 9 shows the average repair

time, between the time a failure has happened and the time the sensor node is replaced. The repair time

(8)

depends on three steps: failure detection, failure report, and failure handling. On average, the time of failure detection is the same for the three algorithms. The failure report time in the centralized algorithm tends to be longer than that of the dynamic or the fixed algorithm, because the failure report or failure repair request travels a larger number of hops. the For the third step, the fixed algorithm has longer failure handling time than the other algorithms, because the robot travels longer to replace a failed node in the fixed algorithm as shown by Figure 6. Adding the three steps together, the dynamic algorithm has shorter average repair time than the fixed or the centralized algorithm. This is shown by the figure 9. With 16 maintenance robots, the repair time of the dynamic algorithm is about 10.2% lower than the repair time of the fixed algorithm or the centralized algorithm.

4 6 8 10 12 14 16 0 20 40 60 80 100 120 140 160 180 200

number of maintenance robots

average response time (second) fixed centralized dynamic

Fig. 9. The average repair time per failure.

V. RELATEDWORK

Wang et al. [24] propose deploying redundant static nodes and the redundant nodes can be turned off initially and be turned on later when coverage holes appear upon sensor failures. This technique is insufficient to handle the case where a coverage hole exists even if turning on all the remaining sensor nodes around the hole. Wang et al. [23] propose relocating redundant mobile sensor nodes to fill the coverage holes and using a cascading movement method to balance the energy cost and the repairing time. Ganeriwal et al. [8] let low energy nodes, on predicted pending failure, broadcast a Panic request message. Nodes with high energy level respond with the Panic reply message if they can move without losing existing coverage. Howard et al. [10] treat sensor nodes as virtual particles and the virtual force between two nodes is larger if the two nodes are closer. As the

virtual forces repel the nodes from each other, the sensor nodes tend to form a uniform distribution in the sensor area without coverage holes. These methods require the mobile nodes equipped with motors, steering devices, and/or GPS. These components are very expensive while a large scale sensor network usually assumes that the sensor nodes are small and cheap. To the best of our knowledge, we are the first to propose using a small number of mobile robots to replace failed nodes in a large scale sensor network, eliminating the mobility requirement for sensors.

Several studies have considered using robots for initial sensor deployment, for example, [3], [5], In contrast, we use robots for long-term energy-efficient maintenance of sensor networks.

VI. CONCLUSION

In this paper, we have proposed using mobile robots for sensor network repairing. Sensor nodes detect fail-ures of their neighbors and report to robots, and robots move and replace failed nodes with functional ones. We have presented three different algorithms, the centralized manager algorithm, the fixed distributed manager algo-rithm, and the dynamic distributed manager algoalgo-rithm, and analyzed their performance by extensive simulations. Simulation results show that the centralized algorithm is not scalable as the message passing distance increases with the sensor network area size. Both the dynamic algorithm and the centralized algorithm have lower mo-tion overhead than the fixed algorithm. The fixed and the dynamic algorithm have higher messaging overhead than the centralized algorithm. Finally, the dynamic algorithm can achieve 10% lower repair time than the other two algorithms. In general, the three algorithms have different properties, and the optimal choice of the coordination algorithm depends on specific scenarios and objectives being optimized. In our future work, we will study more efficient location update mechanisms to reduce the messaging overhead in the dynamic and the fixed algorithms.

REFERENCES

[1] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci. A Survey on Sensor Networks. IEEE Communications Magazine, 40(8):102–114, August 2002.

[2] S. Basagni, I. Chlamtac, V. R. Syrotiuk, and B. A. Woodward. A Distance Routing Effect Algorithm for Mobility (DREAM). In

International Conference on Mobile Computing and Networking,

pages 76–84, 1998.

[3] M. A. Batalin and G. S. Sukhtame. Coverage, Exploration and Deployment by A Mobile Robot and Communication Network.

Telecommunication Systems Journal, Special Issue on Wireless Sensor Networks, 26(2):181–196, 2004.

(9)

[4] B. Carbunar, A. Grama, and J. Vitek. Distributed and Dy-namic Voronoi Overlay Maintenance for Coverage Detection and Distributed Hash Tables in Ad Hoc Networks. In 10th IEEE

International Conference on Parallel and Distributed Systems (ICPADS), pages 549–556, 2004.

[5] P. Corke, S. Hrabar, R. Peterson, D. Rus, S. Saripalli, and G. Sukhatme. Autonomous Deployment and Repair of A Sensor Network Using An Unmanned Aerial Vehicle. In IEEE 2004

International Conference on Robotics and Automation, pages

3602–3608, May 2004.

[6] S. M. Das, H. Pucha, and Y. C. Hu. Performance comparison of scalable location services for geographic ad hoc routing. In

Proc. of IEEE INFOCOM, pages 1228–1239, March 2005.

[7] S. S. Dhilon, K. Chakrabarty, and S. S. Iyengar. Sensor Placement for Grid Coverage Under Imprecise Detections. In International

Conference on Information Fusion, pages 1581–5187, 2002.

[8] S. Ganeriwal, A. Kansal, and M. B. Srivastava. Self Aware Actuation for Fault Repair in Sensor Networks. In the IEEE

International Conference on Robotics and Automation(ICRA),

pages 5244–5249, May 2004.

[9] H. Gnzalez-Banos and J.-C. Latombe. A Randomized Art-Gallery Algorithm for Sensor Placement. In Annual Symposium

on Computational Geometry, pages 232–240, 2001.

[10] A. Howard, M. J. Mataric, and G. S. Sukhatme. Mobile Sen-sor Network Deployment using Potential Fields: A Distributed, Scalable Solution to the Area Coverage Problem. In The 6th

International Symposium on Distributed Autonomous Robotics Systems, pages 299–308, June 2002.

[11] B. Karp and H. T. Kung. GPSR: Greedy Perimeter Stateless Routing for Wireless Networks. In International Conference on

Mobile Computing and Networking, pages 243–254, 2000.

[12] J. Li, J. Jannotti, D. S. J. D. Couto, D. R. Karger, and R. Morris. A Scalable Location Service for Geographic Ad Hoc Routing. In S. Basagni, M. Conti, S. Giordano, and I. Stojmenovic, editors,

Proceeding of ACM Mobicom, pages 120–130, 2000.

[13] S. Meguerdichian, F. Koushanfar, M. Potkonjak, and M. Srivas-tava. Coverage Problems in Wireless Ad-Hoc Sensor Networks. In INFOCOM, pages 1380–1387, April 2001.

[14] Y. Mei, Y.-H. Lu, Y. C. Hu, and C. G. Lee. A Case Study of Mo-bile Robot’s Energy Consumption and Conservation Techniques. In International Conference on Advanced Robotics, pages 492– 497, 2005.

[15] S. Poduri and G. S. Sukhatme. Constrained Coverage for Mobile Sensor Networks. In IEEE International Conference on Robotics

and Automation, pages 165–171, 2004.

[16] G. J. Pottie and W. J. Kaiser. Wireless Integrated Network Sensors. Communications of the ACM, 43(5):51–58, May 2000. [17] K. Sohrabi, J. Gao, V. Ailawadhi, and G. J. Pottie. Protocols for Self-Organization of A Wireless Sensor Network. IEEE Personal

Communication, 7(5):16–27, Ocotober 2000.

[18] I. Stojmenovic. Home Region Based Location Updates and Destination Search Schemes in Ad Hoc Wireless Networks. Technical Report TR-99-10, Computer Science, SITE, University of Ottawa, September 1999.

[19] I. Stojmenovic and X. Lin. Power-Aware Localized Routing in Wireless Networks. IEEE Transactions on Parallel and

Distributed Systems, 12(11):1122–1133, November 2001.

[20] I. Stojmenovic and B. Vukojevic. A Routing Strategy and Quorum Based Location Update Scheme for Ad Hoc Wireless Networks. Technical Report TR-99-09, Computer Science, SITE, University of Ottawa, September 1999.

[21] I. Stojmenovic and J. Wu. Broadcasting and Activity-Scheduling in Ad Hoc Networks. In S. Basagni, M. Conti, S. Giordano, and I. Stojmenovic, editors, Ad Hoc Networking. IEEE/Wiley, 2004. [22] G. Wang, G. Cao, and T. L. Porta. Movement-Assisted Sensor Deployment. In INFOCOM, volume 4, pages 2469–2479, 2004. [23] G. Wang, G. Cao, T. L. Porta, and W. Zhang. Sensor Relation

in Mobile Sensor Networks. In INFOCOM, volume 4, pages 2302–2312, 2005.

[24] X. Wang, G. Xing, Y. Zhang, C. Lu, C. Pless, and C. Gill. Integrated Coverage and Connectivity Configuration in Wireless Sensor Networks. In ACM SenSys, pages 28–39, November 2003. [25] X. Zeng, R. Bagrodia, and M. Gerla. GloMoSim: A Library for Parallel Simulation of Large-Scale Wireless Networks . In 12th

Workshop on Parallel and Distributed Simulation (PADS’98),

pages 154–161, 1998.

[26] Y. Zou and K. Chakrabarty. Sensor Deployment and Target Localization Based on Virtual Forces. In INFOCOM, volume 2, pages 1293–1303, 2003.

References

Related documents

Having become increasingly specialised during my time in private practice, I have relished the opportunity to become involved in a wide range of legal issues, from advising on

Such a collegiate cul- ture, like honors cultures everywhere, is best achieved by open and trusting relationships of the students with each other and the instructor, discussions

cies has also been critical; the impact of the biofuel expansion on composition of agricul- tural production is significant, especially the increase of corn acreage in the United

Scheduling is planning a salesperson s visit time to customers It deals with time allocation issue How to allocate salesperson s time Sales manager communicates to salesperson

As mentioned in Litvak II’s speech about the time machine, individuals that are very near a time-machine when it is used will maintain their memories of the way that history “used

aims to determine the effects of sedentary behavior, LIT, and HIIT on metabolic markers and cardiac and vascular function in male adult rats fed with a high-fat high-carbohydrate

The brokerage mechanism relies on the producer and distributor agents’ implemented behaviour: (i) producer agents register their multimedia items at the UDDI platform registry

Indian Black Robin display territorial behaviour in both breeding and non-breeding season and they have larger territories in breeding seasons than in non-breeding sea- sons..