Subject: Re: [Roll] proposal for DAOs in non-caching DODAGs

From: Mukul Goyal <[email-masked]>
Date: Wed, 31 Mar 2010 19:43:24 -0500 (CDT)

>>> I'm not sure I understand the concern. Is it that if this isn't stated explicitly, then an implementation might put a neighbor in the parent set for which it cannot compute DAGRank from the OF? How would it ever compute its own DAGRank? Can you explain the failure condition?
>> 
>> Consider the situation where node A receives a DIO from node B and knows the cost of link B->A (either it already knew this cost or DIO carries this cost or it assumes a value for this cost) but not that of link A->B. Then, node A may be able to compute its DAG rank via node B and thus possibly select node B as a DIO parent. But, even if B becomes a DIO parent, A should not consider B as a candidate for DAO parenthood because A does not know the cost of link A->B.    
> 
> [Phil] So a node A MUST NOT select node B as a parent if the OF cannot compute the DAGRank of the resulting route?
> 
> Node A may have sufficient information to calculate its DAG rank via B but still may not have the information to calculate B's suitability as a DAO parent (e.g. if OF just considers the upwards costs in calculating the DAG rank and such costs are known to A but requires knowledge of downwards costs for a parent's selection as DAO parent and these downwards costs (from B to A) are not known to A).

[Phil]
I'm sorry -- your sentence is kind of long and convoluted, and I can't understand it.

I am sorry too: for the length and convolution of my sentence. :)
And for the fact that you can't understand it (if you say so). :)

Hey, I am kidding. Dont get mad at me.

[Phil] Does it say yes my sentence is correct or no it is not correct?

It says that your sentence is not correct. This is because your sentence assumes that the DAGrank calculation requires knowledge of all sorts of costs that the node may need to choose its DAG or DAO parents. This assumption is not true. A DAGrank is simply a loop avoidance mechanism that may not be a very good indicator of actual routing costs in either direction. I know you would disagree with me (based on my understanding of your point of view from your previous posts). 

[Phil]
Note that my description did not qualify DAO parent, DIO parent, or direction of the route: I think it's completely independent of this?

I think your description is based on an incorrect understanding of DAGrank.

[Phil] 
 I personally think it seems so obvious that it doesn't warrant mention, but if others feel otherwise, then probably better to include it than not.

Thanks for your support!!

Mukul

---

From: Philip Levis <[email-masked]>
Date: Wed, 31 Mar 2010 19:31:04 -0700

> It says that your sentence is not correct. This is because your sentence assumes that the DAGrank calculation requires knowledge of all sorts of costs that the node may need to choose its DAG or DA…

Ah -- I think this is why we can't seem to agree: we're coming from different assumptions. There was a change in -07; Richard noted that having Rank *not* reflect a metric is problematic, as it constrains parent selection. I.e., if Rank does not directly reflect a metric, it's possible that a node can't pick a better (lower metric) parent because it has a higher Rank. This led to the inclusion of MinHopRankIncrease, elevating Rank to 16-bits, and the introduction of DAGRank, such that Rank could still reflect a good fidelity metric but DAGRank can provide good loop avoidance and topology constraints.

The operating assumption is that since Rank constrains the set of parents a node can select, then separating it from metrics is problematic.

The OF computes the Rank (this has always been the case): it should have all of the needed information. Or is there something in the draft that says it won't?

Phil