[Tinyos-help] Cycle detection in multihoplqi (surge) for
tinyos-1.x
Philip Levis
pal at cs.stanford.edu
Tue Sep 11 11:17:28 PDT 2007
On Sep 11, 2007, at 12:11 AM, Paolo Masci wrote:
> Hi guys,
>
> Thanks for the replies. I agree with you on the fact that
> the routing tables are correct, i.e.
> * the end-to-end link quality embeds the concept of distance
> * routes have a cost that monotonically decreases
> as the packet moves towards the base station.
>
> Nevertheless, the implementation of RouteSelect.selectRoute(..)
> still doesn't fully convince me: shouldn't we check that
> the packet is actually decreasing the cost while it is
> being forwarded? Both MintRoute and the old routing
> algorithm (tos/lib/Route) included this check.
>
> We know that routes have a cost that decreases when the
> packet gets closer to the sink, but routes can change
> while a packet is already being forwarded, and there
> is no relation (I guess) between the cost of different
> routes for different time instants.
> For example, consider the following:
> * suppose that node n0 sends a packet through
> the path p0 = n1.n2...nx... with minimum cost
> * suppose that there is a route update while the packet
> is being forwarded, and that node nx decides to change
> parent and selects a new route with minimum cost
> px = ny.nz....
> Although we know that px has a decreasing cost, we are
> missing the relation with the previous path p0, and
> the new path px may include some nodes of path p0, as well.
>
> What do you think about this?
Yes, MultihopLQI can have transient loops. I think it hopes that its
duplicate detection will drop packets in them, and the parent
selection algorithm will finally figure things out. MLQI greatly
prefers links that have very high channel quality (and are therefore
reasonably stable).
Phil
More information about the Tinyos-help
mailing list