• 沒有找到結果。

broadcast a probe message. Any working node receiving the message should reply. If an awakening node receives a reply to the probe message, it enters sleep mode again.

Otherwise, it becomes a working node for the rest of its op-eration life. The performance of PEAS heavily depends on probing range, the transmission range of the probe message.

A small probe range usually leads to high coverage ratio but also a large population of working node.

There are also stochastic approaches that alter node den-sity without location information. In the scheme proposed in [6], all nodes randomly and independently alternate be-tween working and sleep modes on a time-slot basis. Given the probability that a sensor is in working mode, the authors have analyzed the probability of a point being uncovered. In [11], the time periods of working and sleep modes are expo-nentially distributed random variables. Though the method is stochastic in nature, it is deterministic to set the means of these two distributions for a specific expected network coverage.

Most existing density control protocols require location information. C˘arbunar et al. [4] transform the problem of detecting redundant sensors to that of computing Voronoi diagrams. Node location information is required in their scheme to compute the Voronoi diagram corresponding to the current node deployment. Xing et al. [9] also exploit Voronoi diagram to ensure k-coverage, which refers to the condition that every point in the deployment region is cov-ered by at least k sensor nodes. They have shown that k-coverage is ensured if every critical point (where two sen-sor’s coverage areas intersect or a sensen-sor’s coverage area and border line intersect) is covered by at least k sensors.

The protocol they proposed needs location information of every sensor as well.

A coverage-preserving density control scheme presented in [8] demands that each sensor advertises its location infor-mation and listens to advertisements from neighbors. After calculating its coverage and its neighbors’, a node can deter-mine if it is eligible to turn off its sensory circuitry without reducing overall network coverage. To avoid potential “cov-erage hole” due to simultaneous turning off, a back-off pro-tocol is proposed that requires each off-duty eligible sensor to listen to other sensor’s status advertisement and, if neces-sary, announce its own after a random back-off time period expires. The behaviors of some other schemes [7, 6, 12]

are similar to [8] in that they all require the exchanges of location information and eligibility status. Among them, OGDC [12] aims to arrange a particular deployment pat-tern of working sensors. It has been shown [12] that, to minimize the population of working sensors while preserv-ing network coverage, the locations of any three neighbor sensors should form an equilateral triangle with side length

√3rs, where rsis the sensory range. Extending this

argu-S A

C E

F

D B

Figure 1. Optimal deployment pattern that de-mands the least number of working sensors to cover entire region

ment, the optimal deployment pattern that requires the least number of working sensors should be that shown in Fig. 1.

Each working sensor S is surrounded by six working neigh-bors (co-workers) that from a regular hexagon centered at S with side length

3rs. Provided that the node density is sufficiently high, it is feasible to seek such a pattern among all deployed sensors.

Network connectedness is another issue that should be addressed in density control. It has been proven [12, 9] that given 100% coverage ratio, rt≥ 2rssuffices to ensure net-work connectedness, where rtis the transmission range of every sensor. Many protocols [12, 9] therefore focus on maintaining full coverage and simply set rt= 2rsto ensure network connectedness at the same time.

Our approach assumes the availability of a ranging tech-nology that estimates the distance between pair-wise neigh-bors. Several ranging techniques have been proposed for wireless sensor networks. One possible way is to establish a mathematical or empirical model that describes radio nal’s path loss attenuation with distance [2]. A received sig-nal strength indication (RSSI) can thereby be translated into a distance estimate. Another trend of ranging technologies turns signal propagation time into distance information. If the sender and the receiver of a radio signal are precisely time-synchronized, the distance in-between can be derived from the time of arrival (ToA). If two signals (one is RF and the other is acoustic signal, for example) are transmitted simultaneously, the time difference of the arrivals (TDoA) can be used for ranging [5].

Signal propagation problems such as environmental in-terference and multi-path fading introduce estimation errors to almost all existing ranging technologies. The degree of errors is environment-dependent. In harsh networking en-vironments, the errors can be so high that makes ranging techniques ineffective. Nevertheless, we assume a perfect ranging scheme behind our work. The motivation of this re-search is merely to see how well density control can be done

Proceedings of the 4th Annual Communication Networks and Services Research Conference (CNSR’06) 0-7695-2578-4/06 $20.00 © 2006 IEEE

Table 1. Parameter/Timer setting Parameter/Timer Value

p0 1/n

rt

√3rs

Ts [0, 0.01]

Tp [0, 0.1]

To 2

Te 0.05

Td 0.25

Tc 5

D1 rt/2

D2 rs

Note: An interval value means a value randomly generated within the interval.

with range but location information. The results therefore only stand for those of a best-case study.

3. Proposed Scheme

The basic idea behind our approach is that the deploy-ment pattern shown in Fig. 1 can be approached without ex-act location information. If the transmission range of each sensor in Fig. 1 is uniformly

3rs, S’s co-workers are ex-actly S’s neighbors that have the maximum transmission distance to S. S can first search for one such co-worker, say, A, then repeatedly looks for nodes that are both the co-workers of S and an already-found co-worker. If the second co-worker found is B (C), the third co-worker will be C or D (B or E). If the third co-worker is B or C, the fourth co-worker will be D or E. In this way, all six co-workers, if exist, can be found without knowing their exact locations.

3.1. Protocol Description

Our protocol uses three control messages: CO-WORKER

REQUEST, CO-WORKER RESPONSE, and RECRUITMENT

DONE. Table 1 lists settings of some parameters and timers used by our protocol. Every sensor locally maintains two lists: neighbor list and co-worker list. The former keeps the ID (identification) and distance of each neighbor. The latter records the IDs of known co-workers. Every CO-WORKER

REQUESTsent by a sensor is attached with the sender’s ID and its co-worker list.

Figure 2 shows the state transition diagram of the pro-posed protocol. All nodes are initially in Role-deciding state, where each node tests if it can become a starting node, a node that initiates co-worker recruitment. The test is pure stochastic; a node can be a starting node with initial prob-ability p0, where p0is a variable inversely proportional to

Role-deciding

Starting Node Test succeeded

&Ts expired

Waiting Co-worker Response

scheduled

Working Sleep

Sleep eligible

Tc expired

To expired

Sleep eligible

Co-worker Become a

co-worker

To expired

Figure 2. State transition diagram of the pro-posed protocol

the node density of the network. If the test fails, the node conducts the test again in the following second. The prob-ability of success exponentially increases with time: it is min{2i−1p0, 1} in the ith second. The process repeats un-til the test succeeds or the node hears CO-WORKER RE

-QUESTfrom one of its neighbors. The latter case indicates that some neighbor has successfully become a starting node.

The node ceasing the test process then executes the proce-dure shown in Fig. 3 to decide whether it is eligible to sleep or should be a co-worker of its neighbor.

if the distance betweenS and R is less than D1then enter sleep mode directly; skip all the following steps ifR is listed in the attached co-worker list then

waitTpseconds

broadcast Co-worker Request and set timerTo

go to Co-Worker state else //R has not yet replied to S

determine ifR should reply by the rule shown in Table 2 ifR need not reply then

enter sleep mode directly ifS is not in R’s neighbor list then

addS into R’s neighbor list

for each nodei that is in the attached co-worker list do addi to R’s co-worker list if i is R’s neighbor setTraccording to Table 2

go to Waiting state end if

Figure 3. The procedure for node R to process Co-worker Request received from S

When the test succeeds, the node waits Tsseconds be-fore broadcasting CO-WORKER REQUEST. The value of Tsis randomly chosen to avoid possible transmission

colli-Proceedings of the 4th Annual Communication Networks and Services Research Conference (CNSR’06) 0-7695-2578-4/06 $20.00 © 2006 IEEE

Table 2. The rule of replying Co-worker Re-sponse

Condition

|L| |L ∩ N| Reply? Tr

0 0 Yes dtime

0 Yes dtime+Td

≥ 1 1 or 2 Yes dtime

> 2 No

Note: L and N are the sets of S’s co-workers and R’s neigh-bors, respectively.

sions that may occur when multiple nearby sensors decide to send CO-WORKERREQUESTat the same time. If no CO

-WORKERREQUESTis heard during that interval, the node broadcasts CO-WORKERREQUEST, sets timer To, and then enters Starting Node state. If the node hears another CO

-WORKERREQUESTbefore it issues its own, the procedure in Fig. 3 is executed.

The procedure in Fig. 3 decides whether a node receiv-ing CO-WORKER REQUEST is eligible to sleep or should be a co-worker. Suppose that R receives CO-WORKERRE

-QUEST from S. If R is close to S (i.e., R’s distance to S is less than D1), R will enter sleep mode directly as it does not contribute substantial coverage to S. Otherwise, the “else” part of the outer if-statement will be executed, as R has not yet responded to any CO-WORKERREQUEST

and thus cannot be a co-worker of anyone. The code seg-ment there determines whether R need reply to S’s request and, if it need, how long it should wait before sending the reply. Table 2 details the decision rule. If more than two of R’s neighbors are already S’s co-workers, R can sleep for its expected-low coverage contribution. Otherwise, the value of the reply delay timer Tr is chosen to let the most appropriate node (the one that is closest to the intended lo-cation) reply first.

The setup of Trinvolves calculating the value of dtime.

For any CO-WORKER REQUEST sent from S to R, let L and N be the sets of nodes that are the listed co-workers of S and the neighbors of R, respectively. dtime in Table 2 is defined as

dtime = D(S, R) + 

j∈L∩N

D(R, j). (1)

Function D(i, j) is defined as D(i, j) =

 1 − exp

di,j

rt − 1



,

where di,jis the distance between nodes i and j. See Fig. 4.

After Tris set, R enters Waiting state, in which the CO

-WORKER RESPONSE is scheduled to be sent to S when

0 0.2 0.4 0.6 0.8 1

0 0.1 0.2 0.3 0.4 0.5 0.6

di,j / r t

D(i,j)

Figure 4. The value of D(i, j) versus the ratio of di,jto rt

Trexpires. R cancels the scheduled sending (by resetting Tr), however, if it overhears a CO-WORKERRESPONSE ad-dressed to S at any time before Trexpires. R does this be-cause the sender of the CO-WORKER RESPONSE is more qualified to be S’s co-worker than R. The overheard CO

-WORKER RESPONSEupdates R’s neighbor list to include the sender’s ID. If a new CO-WORKER REQUEST is re-ceived before Trexpires, the scheduled sending is canceled as well and the incoming message is processed by the same procedure shown in Fig. 3.

The action of aborting the scheduled response on the re-ceipt of a new request deserves a further note. The sender of the new request can be an independent starting node or a co-worker of the one that initiates the first request. We may devise a thoughtful yet complicated scheme to resolve the race condition between the old and the new requests.

However, we found through simulations that doing so does not improve the results significantly. Therefore, we choose to ignore the old request for the sake of simplicity and the likelihood of saving power. This approach can save power as the early sender, expected to be a co-worker firstly, may be proved sleep-eligible later by the second or subsequent requests.

After sending CO-WORKERRESPONSE, R sets timer Tc

and stays in Waiting state. Subsequent CO-WORKER RE

-QUESTreceived before Tc expires, if any, is processed by the same procedure (Fig. 3), where the “if” part of the sec-ond if-statement is executed if the co-worker list attached with the received request contains this node’s ID. In that case, this node has been recruited by some starting node.

The node then broadcasts its own CO-WORKERREQUEST

and enters Co-Worker state. If no further message is re-ceived before Tcexpires, the node enters working mode di-rectly. If a RECRUITMENT DONE is received and its dis-tance to the sender is less than D2, the node enters sleep mode directly.

Before node S enters Starting Node or Co-worker state, it must have broadcasted a CO-WORKER REQUEST

mes-Proceedings of the 4th Annual Communication Networks and Services Research Conference (CNSR’06) 0-7695-2578-4/06 $20.00 © 2006 IEEE

On receiving Co-worker Response from nodeR addR’s ID and distance to S into S’s neighbor list

if the message is addressed toS and R is not S’s co-worker then addR’s ID to S’s co-worker list

if first received then reset timerTo

set timerTe

first received = false end if

end if

expiredTethen

broadcast Co-worker Request with the updated co-worker list set timerTo

first received = true end expired

expiredTothen

broadcast RECRUITMENTDONE

end expired

Figure 5. The procedure for node S to process Co-worker Response replied by R.

first receivedis initially true.

sage and set timer To. In either state, if the corresponding CO-WORKERRESPONSEis not received before Toexpires, S simply broadcasts RECRUITMENTDONEand then enters working mode. If a CO-WORKERRESPONSEfrom node R is received or overheard, S puts R into its neighbor list. If R is not yet S’s co-worker and this message is addressed to S (i.e., not a overheard message), S adds R into its co-worker list, resets To, waits some time for additional responses (if any), and then broadcasts a new CO-WORKER REQUEST

with the updated co-worker list. This gives S another call for additional workers and also instructs all its new co-workers to start their own recruitment. The detailed pro-cedure for handling CO-WORKER RESPONSEis shown in Fig. 5.

3.2. Discussion

We shall now analyze the range of dtime and then clar-ify the design philosophy behind the decision rule shown in Table 2. Let di,jbe the distance between nodes i and j. For a node R receiving CO-WORKER REQUESTfrom node S, we have dS,R ≥ 0.5rtsince otherwise R will enter sleep mode directly. It follows that 0 ≤ D(S, R) ≤ 1 − e−0.5. For all other nodes j∈ L ∩ N, where L and N are the sets of S’s co-workers and R’s neighbors, respectively, we have 0 ≤ D(R, j) ≤ 1 − e−1since 0≤ dR,j≤ rt. Accordingly,

S A

S A

C

(b) (a)

C B

Figure 6. S is a staring node and A is a re-cruited co-worker. Solid and dotted lines correspond to sensory and communication ranges, respectively.

the range of dtime is

⎧⎪

⎪⎨

⎪⎪

[0, 1 − e−0.5] if|L| = 0,

[Td, 1− e−0.5+ Td] if|L| > 0 and |L ∩ N| = 0, [0, 2 − e−0.5− e−1] if|L| > 0 and |L ∩ N| = 1, [0, 3 − e−0.5− 2e−1] if |L| > 0 and |L ∩ N| = 2.

The objective of the decision rule in Table 2 is to pick up sensors that nearly form an equilateral triangle to be work-ing nodes. First consider the scenario in Fig. 6(a), where S is a staring node and A is a co-worker that has responded to S’s request. Suppose now S broadcasts the second CO

-WORKERREQUEST. Though it appears that C contributes a larger coverage area than B does, S should recruit B rather than C in this case as nodes S, A, and B nearly form an equilateral triangle. C should be recruited later.

By Table 2 and (1), B will respond to S after D(S, B) + D(B, A) seconds (as|L| = 1 and |L ∩ N| = 1) while C will do so after D(S, C) + Td seconds (as |L| = 1 and

|L ∩ N| = 0). Observe that D(S, B)  D(S, C), so B’s response will be sent earlier than C’s if

dB,A

rt

> 1 + ln(1− Td). (2) With the default value of Td (0.25 in Table 1), (2) implies that B will respond earlier than C (and hence causes a can-cellation of C’s response) if dB,A > 0.71rt. Therefore, B rather than C will be the next recruited co-worker. Never-theless, C still has the chance to respond to the second CO

-WORKER REQUEST. But this happens only when B’s re-sponse message is garbled due to transmission errors, simi-lar to the case of C in Fig. 6(b).

Next consider the scenario in Fig. 7, where S is a star-ing node and A and B are recruited co-workers. Suppose now S broadcasts the third CO-WORKER REQUEST. In Fig. 7(a), C should respond earlier than D because S, B, and C nearly form an equilateral triangle. (C also con-tributes a larger coverage area than D does.)

Proceedings of the 4th Annual Communication Networks and Services Research Conference (CNSR’06) 0-7695-2578-4/06 $20.00 © 2006 IEEE

S A B

C D

S A

B

C

D

(a) (b)

Figure 7. S is a staring node and A and B are recruited co-workers. Solid and dotted lines correspond to sensory and communication ranges, respectively.

Table 3. Simulation setup Parameter Setting

Network size 50 × 50 and 100 × 100 Sensor deployment Random (uniform distribution)

MAC IEEE 802.11 CSMA/CA

Sensor population 100 – 1000 Sensory range (rs) 10

Communication range (rt) 2 × r√ s(PEAS and OGDC) or 3 × rs(Ours)

Probing range (for PEAS) 8, 9, or 10 Data transmission rate 60 Kbps

By our design, C will respond to S after D(S, C) + D(C, B) 0 seconds while D will do so after D(S, D) + D(D, A)+ D(D, B) seconds. So normally C responds ear-lier than D, unless S does not receive C’s response. In con-trast, both C and D in Fig. 7(b) can be the next recruited co-worker, as D(S, C) + D(C, B) D(S, D) + D(D, A) + D(D, B) 0.

相關文件