• 沒有找到結果。

4.2 1-Coverage-Preserving Protocols

4.2.1 Basic 1-CP Protocol

The proposed protocol is based on a model similar to that in [32]. However, our approach can significantly reduce the computational complexity incurred on each sensor. The protocol divides the time axis into a sequence of working cycles, each of the same length Tw cycle. A working cycle is relatively long, such as a few or tens of minutes. The working cycles of sensors are assumed to be roughly synchronous.

(As will be seen later, global time synchronization is unnecessary in our protocol.) Each working cycle consists of two phases, an initialization phase of length Tinit and a sensing phase of length Tsen. The initialization phase is for sensors to exchange information and use the information to calculate their working schedules for energy conservation purpose. Then in the sensing phase sensors will switch between active and sleeping modes according to their working schedules.

Fig. 4.1 illustrates the structure of working cycles. During the initialization phase, each sensor si has to wake up and broadcast a HELLO packet containing the following information: (xi, yi), ri, and a reference time Refi, where Refi is a value generated from some random process. Based on the HELLO packets received from neighbors, si can calculate its own working schedule in the sensing phase. To avoid possible collisions, a random backoff should be taken before sending HELLO.

(Note that packet collision is sometimes inevitable. We will discuss how to resolve this problem at the end of this section. For the time being, we simply assume that

Sensing Phase Round 1 Round 2 Round m

Trnd

Figure 4.1: The structure of sensors’ working cycles.

HELLOs are collision-free.) The sensing phase is divided into r rounds, each of the same duration Trnd, i.e., Tsen= r× Trnd. In each round, si will have a regular active and sleeping pattern as specified below.

Intuitively, sensors will take the responsibility of sensing the environment coop-eratively with its neighbors in a time-sharing manner. Let us consider one round in the sensing phase of a working cycle. We denote its duration by [0, Trnd). We will choose two values, F ronti and Backi, for sensor si, and schedule si to be active from [(Refi− F ronti) mod Trnd] to [(Refi+ Backi) mod Trnd], and to go to sleep for the rest of the round. Note that here we treat the duration of a round as circular time, i.e., time Trnd in a round actually wraps around to time 0 of the next round.

Next, we present a basic method for selecting Refi, F ronti, and Backi for sen-sor si. The method is a modification of the scheme in [32]. First, si generates a reference time Refi which is uniformly distributed among [0, Trnd). Then, from the HELLO packets received from si’s neighbors, si should maintain a neighbor table which contains all its neighbors’ locations, sensing ranges, and reference times. The parameters F ronti and Backi should be carefully selected to ensure that the sens-ing area is sufficiently covered. To achieve this goal, we utilize a theorem stated in [8], which claims that, if all intersection points between any two sensors’ sensing ranges and between any sensor’s sensing range and the boundary of A are sufficiently covered, then the target area A is sufficiently covered. This result is also used in [28, 36] to guarantee the coverage of a sensor network. More specifically, for each intersection point, we have to schedule at least one sensor to be on-duty at any

mo-ment among all sensors which cover the point. This would lead to a more efficient distributed protocol than that in [32] (refer to the analysis in Section 4.2.3).

To calculate F rontiand Backi, let the set of intersection points inside si’s sensing area be P . For each intersection point p∈ P , si has to calculate two values, F rontp,i and Backp,i, as follows. Let C(p) be the set of sensors that cover point p (including si). Then si sorts the reference times of all these sensors in C(p) into a list Lp in an ascending order, and derives that:

F rontp,i = [(Refi− prev(Refi)) mod Trnd]/2 (4.1) Backp,i = [(next(Refi)− Refi) mod Trnd]/2, (4.2) where prev(Refi) and next(Refi) are the reference times before and after Refi in the list Lp, respectively. Note that here we consider Lp as a circular list, i.e., the one next to the last item in Lpis the first item in Lp, and vice versa. Intuitively, Eq. (4.1) and Eq. (4.2) are designed to have sensors in Lp cooperatively cover point p in a time-division manner. For two consecutive reference times in Lp, the corresponding two sensors will divide their responsibility at the middle point of their reference times, such that one covers p before the middle point, and the other does after the middle point. This is formally stated in the following lemma.

Lemma 3 For any intersection point p, if each sensor si ∈ C(p) is active in the duration [Refi−F rontp,i, Refi+ Backp,i) of each round (in the circular sense), then p is covered by exactly one sensor in each round.

Fig. 4.2(a) shows an example. Intersection point p is covered by sensors C(p) = {s1, s2, s3}. Let Trnd be 20, and the reference times of s1, s2, and s3 be 2, 9, and 11, respectively. So we have F rontp,1 = [(2− 11) mod 20]/2 = 5.5, and Backp,1 = [(9− 2) mod 20]/2 = 3.5. Similarly, F rontp,2 = 3.5, Backp,2 = 1, F rontp,3 = 1, and Backp,3 = 5.5. The schedules of s1, s2, and s3 to cover p are shown in Fig. 4.2(b).

As can be seen, p is covered by exactly one sensor at all time in a round.

It is not hard to see that the above schedules may result in inconsistent active time, because for each point p covered by si, it has an independent schedule. To ensure that each intersection point is covered, the active period of sensor si should be the union of schedules obtained from all intersection points under si’s coverage.

So we define:

F ronti = max{F rontp,i} (4.3)

s2

Figure 4.2: (a) a 5-sensor example, (b) schedules of s1, s2, and s3 for intersection point p, and (c) the integrated schedule of s1.

Backi = max

∀p∈P{Backp,i}. (4.4)

Theorem 3 If each sensor si is active in the duration [Refi−F ronti, Refi+Backi) of each round (in the circular sense), then the whole sensor network is covered in each round.

For example, if in Fig. 4.2(a) the reference times of s4 and s5 are 16 and 18, respectively, the integrated schedule of sensor s1 will be as shown in Fig. 4.2(c).

Finally, we comment that after each working cycle, Refi should be regenerated so as to fairly distribute energy consumption among sensors. Also note that the above schedule only reflects the behavior of sensors when monitoring the environment.

When actions need to be taken (such as events being detected or communications being required), sensors may wake up each other, but this is beyond the scope of this paper.

相關文件