Dear TinyOS community,

I have a problem understanding, how CTP's updateRouteTask() works, if
the 4-Bit Link Estimator is used.

Consider the following example:
Node 2 with costs 70 is currently using node 1 (costs 20) as parent.
He could also choose node 3, that has costs 60 over a link of costs 10.

(1:20)
  ^
  |
  |50
  |
(2:70) -------> (3:60)
          10

If I understand it correctly, when node 1 gets down, the costs of the
link to node 1 will reach the maximum value of DLQ_PKT_WINDOW * 10
= 50 (LinkEstimatorP.nc l. 296 in updateDETX()), because no acks can be
received from node 1 as well as no beacons, that could update beacon
based link etx.
The problem, that I see here, is, that the link's costs cannot get
worse than 50 (limited by DLQ_PKT_WINDOW) and that updateRouteTask()
would not change to node 3, because the path over node 3 is not
"significantly" (PARENT_SWITCH_THRESHOLD) better than the path over
node 1.
So it will stay with node 1 as parent even if node 1 isn't available
anymore.

Please explain: is this really the case or what do I miss out?

Just in case I'm right, one could solve this problem by requiring every
parent's link costs to be below DLQ_PKT_WINDOW*10 and changing to
another node in updateRouteTask(), if this is not the case.


Thanks,
Christian
_______________________________________________
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to