On Apr 9, 2007, at 4:34 PM, Prem Krishnan wrote:
Hi all,
I'm trying to implement a data aggregation scheme using the
collection component in tinyos-2.x. Our scheme requires each
aggregation node to wait for all of its children to respond before
performing the computation. Is it possible for a node to know as to
how many children are currently forwarding packets through it.
Also, is there a way by which their node id's may also be known.
The collection layer in T2 (CTP) does not do this, as it requires per-
child state. Generally, because a node has limited RAM, this means
that you need children to explicitly join and leave a parent (where
joins can fail), which CTP does not do.
Generally, when designing protocols for low-powered wireless sensors,
there are two important rules, which if you break preclude the design
from being practical without constraining the set of networks it will
work on, adding further mechanisms, or assuming you have resources
which are so far unavailable on low-power wireless sensors:
1) You must be able to handle arbitrary levels of packet loss that
can vary over time
2) You must be able to operate with a constant bound on the state you
can keep
An example of breaking rule 1 is:
"We assume a unit disk model"
An example of breaking rule 2 is:
"A node keeps state for each of its neighbors"
In practice, rule 1 effects rule 2: over a day, you might hear a
single packet from a node that is really at the edge of reception
range: does that count as a neighbor? Following rule 2 generally
means that you need an algorithm to pick which subset of possible
state you want to maintain. E.g., which nodes to keep in your
neighbor table or which routes to cache.
Phil
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help