• No se han encontrado resultados

JUZGADO PRIMERO MERCANTIL DEL PRIMER DEPARTAMENTO JUDICIAL DEL ESTADO

With synchronous aggregation, the time interval during which each node transmits is statically determined. In contrast, in the asynchronous aggregation protocols considered here, each node adaptively determines when to transmit based on its history of past packet receptions from its children. The “adaptive asynchronous” unicast-based aggregation protocol proposed in Chapter 3 is used as a basis for the new asynchronous broadcast-based aggregation protocol.

In the synchronous unicast-based aggregation protocol used in TAG, aggregation is performed over a tree structure, with one parent for each node except the sink [61]. It is observed in TAG that a node could potentially transmit to multiple parents, each one hop closer to the sink, depending on the density of the network. A “value splitting” aggregation protocol is proposed based on that observation, where each node may two parents. In the broadcast-based protocol proposed in this section, nodes may similarly have up to two parents1

, but the same sensor value (rather than only distinct shares of a sensor value) may be aggregated at each parent node and forwarded on up the tree. The maximum number of parents that each node is allowed to have is limited to two. When a node has multiple neighbours closer to the sink, two of them are selected as the node’s parents. Allowing each node to have more parents increases reliability, but results in increased delay as an parent node has to wait for data from more children. Allowing some nodes to broadcast twice as described later in this section, together with this 2-parent strategy, yield good performance in terms of both reliability and delay.

Such multipath routing in broadcast-based aggregation can yield improved reli- ability, but requires that nodes be able to receive multiple aggregates including the

1

When a node has only one neighbour closer to the sink, it can choose a sibling that has multiple neighbours closer to the sink as its second parent.

same sensor value. This can be handled when aggregation is duplicate insensitive, or when aggregation is performed in such a way that it is possible to recognize and filter out duplicates.

As with the synchronous broadcast-based protocol, each node (except the sink) broadcasts either once or twice during each round. Similarly, all nodes collect their sampling values only once during each round to keep the data consistent. Each broadcast may include not only data from its children, but also data overheard from broadcasts from other neighbours in the tree. Each broadcast packet includes a bit vector indicating the nodes whose data is aggregated in the packet. A non-leaf node makes its first broadcast during a round either when it has received the data from each of its children (either directly from a broadcast by that child, or indirectly via a broadcast from some other child), or upon timeout. Timeouts are established in a similar manner as in the unicast-based asynchronous protocol described in Section 3.2.2. A second broadcast is made if and only if the node does not hear a broadcast transmission from any other node that includes its data, or if it receives additional data from its children, before a second timeout occurs.

In each round of the asynchronous broadcast-based protocol, a timeout is set at each non-leaf node establishing the maximum time the node will wait to receive packets from its children in the aggregation tree. The timeout value is determined adaptively, based on the timings of packet receptions from the child nodes in the previous rounds. The node transmits its packet (aggregating its own data with whatever it has received from its children) either when packets have been received from all children, or when the timeout expires.

As before, it is assumed that all nodes agree on the same base time T0 defining

the beginning of the first round. As in the asynchronous unicast-based protocol, each node i (other than the sink node) picks a random delay ri between 0 and R, where

R is a protocol parameter. At time T0 + ri, node i broadcasts a packet containing

its own data for the first round.

In each subsequent round j ≥ 2, each leaf node i makes its first broadcast at time T0+ ri+ (j − 1)τ , aggregating its own data and any other data it has overheard

X

Sink 3 2 Parent 1 Parent 2 1 4

is the time by which node 1 heard from both node 2 and node 4.

Suppose the current round is round j, and node 1 loses all broadcasts from node 3.

is the time by which node 1 received the first broadcast of node 2 for round j. Node 3 has two parents, node 1 and node 4.

Figure 4.2: Asynchronous Broadcast-based Aggregation

from other broadcasts. Note that there is no second broadcast for the first round. Let Aji denote the time at which a non-leaf node i receives all of the data from its

children for round j that it will receive during this round. Let Lji denote the time

at which non-leaf node i receives the last of the first broadcasts from its children for round j that it will receive during this round. Note, Aji might not equal L

j

i, as the

parent node may not be able to receive all first broadcasts of its children. Data from its children may come with the second broadcasts of the children, or the broadcasts of the parent’s other neighbours. Fig. 4.2 illustrates a simple scenario in which Aj1

does not equal Lj1.

Let T Oij denote the timeout for the first transmission of round j at non-leaf node i. T O2

i is set to L 1

i + τ . After each round j, j > 1, T O j+1

i is set as follows:

1. If node i received the data for round j from all of its children prior to time T Oji,

its timeout for round j + 1 is set to T Oj+1i = (1 − δ)(T O j

i + τ ) + δ(A j

i + τ + e),

similar to in the asynchronous unicast-based protocol.

data from all of its children, its timeout for round j + 1 is tentatively set to T Oij+1= T O

j

i+τ . If node i receives one or more first-time broadcasts for round

j from its children subsequent to the expiry of its timeout for that round, it updates T Oij+1 to L

j

i + τ . Data from these packets has been received too late

to be aggregated in node i’s first broadcast for round j, but can be included in node i’s second broadcast.

As noted above, starting from round 2, a second broadcast is made following the first broadcast, if the node does not hear a broadcast transmission from any other node that includes its data, or if it receives additional data from its children, prior to a second timeout. The second timeout is set to a time duration e/2 following the time of the first broadcast. As in the asynchronous unicast-based protocols in Chapter 3, the protocol parameter e allows for some variance in the times at which packets are successfully received. When the second broadcast is transmitted after a time duration e/2 following the time of the first broadcast, there is a good chance that the second packet is received by the node’s parent before the parent sends out its first broadcast.

It is important to randomize the transmission times of leaf nodes to avoid conges- tion at the beginning of each round. The parameter R controls the duration of the randomization interval. A similar strategy as in the adaptive asynchronous unicast- based aggregation protocol in Chapter 3 is adopted to adjust the value of R so that it is kept within a certain range, as measured relative to the EWMA average Dave

of the delay D from the beginning of a round until the last of the data from that round is received at the sink. In the simulation implementation, Dave is measured

as Dave = αDave+ (1 − α)D∗, where D∗ is the latest measurement of the delay D,

and α is a smoothing factor that determines the weight given to the old value. The adaptive protocol attempts to keep the value of R/Davein the interval [β −∆, β +∆],

where β and ∆ are protocol parameters. When R/Dave moves out of this range, the

value of R is updated (and sent by the sink to all of the sensor nodes) as follows. If R/Dave < β − ∆, R is updated to R = Dave(β + ∆). If R/Dave > β + ∆, R is