• No results found

5.2 Coverage Preserving Aggregation

5.2.1 Unicast-based

The proposed unicast-based protocol is tree-based, with the union of the routes from the sensors to the sink forming an aggregation tree with the sink as its root node, as shown in Fig. 5.1. In this figure, as well as in Fig. 5.2, circles indicate sensing ranges, and it is assumed that the transmission range is twice the sensing range. When transmission range is at least twice the sensing range, a node is able to hear all the nodes whose sensing range overlaps with its own. Furthermore, 1-coverage

of a convex area implies connectivity if the transmission range is at least twice the sensing range, i.e., when the communication range is at least twice the sensing range, the nodes must be connected if the nodes are able to cover the whole monitored area [99]. To simply this work, it is also assumed in the performance evaluation that the transmission range is twice the sensing range, in which case the nodes that cover the whole monitored area must be connected. As in TAG [61], nodes at different levels of the tree are assigned to different transmission intervals. All intervals are of identical duration I. The transmission interval of node i is chosen as interval H − hi, where

hi denotes the hop count to the sink from node i and H denotes the maximum hop

count (i.e., the tree height).

In the initial round of data collection, each node i picks a random value r1

i between

0 and 0.8I, aggregates the data it has received for this round, and schedules its packet transmission for time T0+ (H − hi)I + ri1. Here it has been assumed that all nodes

agree on the same base time T0 defining the beginning of the first round. The random

values are used to spread out the data transmissions across most of the respective interval, with a gap providing separation from the next interval. (Spreading the transmissions over 0.8I yields good performance, see Section 3.3.1.) At the scheduled transmission time, node i actually transmits only if it is an interior (i.e., non-leaf) node, or if it has not overhead data transmissions, or acknowledgements of data transmissions, from a set of nodes that cover node i’s sensing area. Otherwise, node i cancels its transmission.

For each subsequent round j, j > 1, each node i divides its respective inter- val into two phases, of durations 0.8fiI and 0.8(1 − fi)I, respectively, with a gap

of 0.1I between the phases and a gap of 0.1I separating the second phase from the beginning of the next interval. (The value of fi is dynamically adjusted, as

described below.) Nodes that must forward data received from other nodes, and nodes that are dynamically determined to be important to achieving area coverage, schedule their transmissions for their first phase. In particular, since interior tree nodes must forward data received from their children, they transmit during their first phase. Specifically, an interior node i picks a random value rij between 0 and

0.8fiI, aggregates the data it has received for round j, and sends out its packet at

time T0+ (j − 1)τ + (H − hi)I + rij.

The action taken by a leaf node depends in part on what happened during the previous round j − 1. Specifically, if, by the end of round j − 1, a leaf node i has overheard data transmissions or acknowledgements of data transmissions, from a set of nodes that cover node i’s sensing range, then node i schedules its transmission for round j to be during its second phase. The timeout value is set to time T0 + (j −

1)τ + (H − hi)I + rij + (0.8fi + 0.1)I, where rij is a random value between 0 and

0.8(1 − fi)I. Otherwise, node i schedules its transmission to be during its first phase,

at time T0+ (j − 1)τ + (H − hi)I + rji, where r j

i is a random value between 0 and

0.8fiI. At the scheduled transmission time, node i actually transmits only if it has

not overhead, during the current round j, data transmissions, or acknowledgements of data transmissions, from a set of nodes that cover node i’s sensing range. Otherwise, node i cancels its transmission for that round.

The relative durations of the phases into which node i divides its respective interval (as determined by the value of fi) are dynamically determined so as to

match the anticipated relative traffic volumes in node i’s neighbourhood, using an EWMA strategy. For round 2, fi is chosen as 1. Let Fij and S

j

i denote the number

of first-phase and second-phase data transmissions that node i hears during round j ≥ 2. (Each data packet includes a bit indicating which phase the transmitting node was in when the transmission occurred.) At the end of round j, node i takes as its updated value of fi a weighted average of the old value of fi, and the measured

fraction of first-phase transmissions during that round: (1 − δ)fi+ δ(Fij/(F j

i + S

j

i)),

where δ (set to 0.125 for the simulations of Section 5.4) is a parameter determining the weight given to the most recent measurement. The idea is that the proportion of time for the first phase should be kept consistent with the expected proportion of the traffic generated for the first phase. If more traffic is generated for the first phase than the second phase, then the first phase should last longer than the second phase. In coverage preserving aggregation, the number of nodes that transmit per round varies a lot with different network settings. It is difficult to manually determine

the duration of the two phases in a manner yielding consistently good performance. The adaptive strategy solves the problem by dividing the transmission interval using history information of traffic volumes. The results concerning the number of nodes that transmit per round are reported in Section 5.4.