• 沒有找到結果。

Algorithm GridSD: A Distributed Dispatch Method

In CentralSD, a central server is needed to collect the information of mobile sensors and events, which results in a large amount of message transmissions. To reduce the messages incurred, we propose a distributed algorithm GridSD that explores a grid-based architecture, in which each grid head will collect the information of mobile sensors and events and performs CentralSD locally.

Therefore, both the computation complexity and message transmissions can be greatly reduced.

In GridSD, the sensing eld is divided into grids, where each grid is an square, as shown in Fig. 3.3. For each grid, we select a grid head [13] to collect the information such as the numbers of mobile sensors and event locations within its territory. Speci cally, each mobile sensor will inform its location and remaining energy to its corresponding grid head. When detecting events, static sensors will report to their grid head. As pointed out earlier, once obtaining such information, a grid head will perform CentralSD to dispatch mobile sensors to those events occurred in its grid.

However, if no mobile sensors available in this grid, the grid head will search available mobile sensors in other grids.

To reduce the number of message transmissions when a grid head searches for mobile sensors in other grids, we propose a modi ed approach of the grid-quorum [20]. Speci cally, each grid head will send advertisement (ADV) messages containing the number of mobile sensors in its grid to the same column of grids. In this way, each grid head will have the information of mobile sensors in other grids located in the same column. When a grid head wants to search for available mobile sensors in other grids, it will send a request (REQ) message to the grid head in the same row. Clearly, due to the grid structure, there must be a grid head that receives both the ADV and REQ messages.

Consider Fig. 3.3 as an example, where the grid head in (0; 0) sends an ADV message to inform the grids (0; 1), (0; 2), and (0; 3) that a mobile sensor is available in grid (0; 0). Since there is no available mobile sensor in grid (1; 2), its grid head will send an REQ messages to the grids (0; 2), (2; 2), and (3; 2) to search available mobile sensors. It can be seen that the grid head in (0; 2) will

receive both the ADV and REQ messages and then can reply the available mobile sensors in grid (0; 0)to the grid head of (1; 2).

To further reduce the message transmission for searching available mobile sensors, we exploit search length to limit the number of grids to be searched. Explicitly, each REQ message is asso-ciated with two integers and Mgrid, where is the search length and Mgrid records the number of available mobile sensors found. Due to the load-balance features, one would like to get as many available mobile sensors as possible. That is why we use to restrict searching length and within the search lengths, all available mobile sensors rather than the nearest one will be considered for dispatching. Initially, > 0and Mgrid = 0in each REQ message. When receiving the REQ mes-sage, a grid head will increase Mgrid by the number of mobile sensors in this column since the ADV messages from the grid heads in the same column will publish the available mobile sensors in this column. If > 1, the grid head will decrease by one and then propagate the REQ message to the next grid in the same row. However, if = 1and the value of Mgrid is still zero, which means that there is no mobile sensor found yet, the grid head will send the REQ message with = 1to the next grid until at least one mobile sensors are available. Fig. 3.3 illustrates an example, where = 1in the initial REQ message. When receiving the REQ message, the grid head in (0; 2) increases Mgrid

by one and decreases by one. Since the value of becomes zero, the REQ message will not be propagated toward the left-hand side. When the grid head in (2; 2) gets the REQ message, it nds that = 1 and Mgrid = 0. So the grid head in (2; 2) propagates the REQ message with = 1 to grid (3; 2)for searching mobile sensors. By exploring the search length, GridSD can reduce not only the message complexity but also the competition of mobile sensors from grid heads. Once obtaining the information of mobile sensors and events, a grid head is able to perform CentralSD locally.

Algorithm 3 GridSD

AT EACH GRID HEAD WITH EVENT LOCATIONS Notations:

Lgrid is the set of event locations in this grid.

Sgrid is the set of mobile sensors found.

Procedure:

1: send REQ with > 1and Mgrid = 0to the same row;

2: collect the information of Sgrid from neighboring grid;

3: execute CentralSD with Lgrid and Sgrid;

4: send dispatch schedules to the mobile sensors in Sgrid; AT EACH GRID HEAD WITH MOBILE SENSORS 1: send ADV to the same column;

2: if receive a dispatch schedule then

3: dispatch the mobile sensor according to the schedule;

4: remove the departing mobile sensor;

AT EACH GRID HEAD Notation:

Mcurrent is the number of mobile sensors in the column.

Procedure:

7: reply the information to the REQ's originator;

8: If then

Figure 3.3: An example to show how GridSD works.

Chapter 4

Experimental Results

In this chapter, we evaluate the performances of our proposed algorithms by simulations. We set up a sensing eld as a 450m 300m rectangle, on which there are 400 static sensors and several mobile sensors uniformly and randomly deployed, respectively. Each mobile sensor has an initial energy of 3960J (joule) reserved for movement and the moving energy consumption per meter is set to 8.27J [15]. In this chapter, the energy consumption refers to the one caused by the movements of mobile sensors. The communication distances of static and mobile sensors are set to 150m and 80m, respectively, so that all sensors can form a connected network.

相關文件