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

From: Mukul Goyal <[email-masked]>
Date: Wed, 31 Mar 2010 16:59:28 -0500 (CDT)

Richard

>For me there is one big difference, which is that using two
instances does not require any changes to the RPL draft.  We
need to support multiple instances in any case, so using two
instances for separate up/down routes does not add any new
complications.

I am not sure about the comparative overhead of 2 RPL instances versus 1 instance. Are you sure this is not going to be an issue for extreme-RAM limited devices that can afford to join 1 DAG but not 2? 

I guess this is probably not going to be an issue since, even if the metrics are significantly asymmetrical, a node can simply choose all its DAO parents as DAG parents but not actually use them for upward communication.

I guess we need more opinions.

Thanks
Mukul

> I think the two instance solution would make sense if we
> stick with the current constraint in rpl-07 that DAO
> parents must be a subset of the DAG parents (i.e. all DAO
> parents are also DAG parents).

Yes.  I am having trouble seeing how DAOs would work if DAO
parents were not also DAG parents.

> Then all we need is a way to specify whether or not an
> instance is building upward routes, downward routes, or
> both.

I think a better way to put it would be to specify how
asymmetric link metrics are to be combined (downward value
only, upward value only, max of the two, min of the two,
average, ...).  I will ask JP to open a ticket.

> The only other minor issue  
> is whether we need to think through any cases where coordination  
> between the upwards and downwards instances is useful.  For example,  
> what needs to happen when packet delivery fails on the downward  
> route?  Does the error/backtracking happen on the same instance or a  
> different instance?  Do we need to specify such behavior in the core  
> spec?

Again, I do not see how this is different from other
collections of instances.  What happens when a packet
delivery fails on a low-latency instance?  Does the error
get forwarded on that instance or some other instance?

                              -Richard Kelsey
_______________________________________________
Roll mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/roll

---

From: "Roger Alexander" <[email-masked]>
Date: Wed, 31 Mar 2010 19:04:16 -0400

Hi Mukul,

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On Behalf Of
> Mukul Goyal
> Sent: Wednesday, March 31, 2010 5:59 PM
> To: Richard Kelsey
> Cc: [email-masked]
> Subject: Re: [Roll] proposal for DAOs in non-caching DODAGs
> 
> Richard
> 
> I am not sure about the comparative overhead of 2 RPL instances versus
> 1 instance. Are you sure this is not going to be an issue for extreme-
> RAM limited devices that can afford to join 1 DAG but not 2?
> 
> I guess this is probably not going to be an issue since, even if the
> metrics are significantly asymmetrical, a node can simply choose all
> its DAO parents as DAG parents but not actually use them for upward
> communication.
> 

As indicated in my earlier response to Jonathan, it is possible to consider
two instances for separate upward and downward routing but unless the intent
is to allow for more diverse objective functions, it may be possible with
separate directional metrics to use a single instance and so avoid
additional potential state and operational overhead.

---

From: Richard Kelsey <[email-masked]>
Date: Wed, 31 Mar 2010 22:13:15 -0400

> Date: Wed, 31 Mar 2010 16:59:28 -0500 (CDT)
> From: Mukul Goyal <[email-masked]>
> 
> On Mar 31, 2010, at 2:23 PM, Richard Kelsey wrote:
>
> 1 instance. Are you sure this is not going to be an issue for
> extreme-RAM limited devices that can afford to join 1 DAG but not 2?

I was thinking more of complications in the spec and in
implementations than of RAM usage.  If we are really
concerned about devices having enough RAM for only a single
instance, then we should work harder on simplifying the
basic protocol.

In practice, I would expect severly limited devices to be
used in constrained situations such that they would not
need to implement the full generality of RPL.  In such a
situation I do not think that there would be any significant
difference in RAM usage between having two instances versus
a single instance with multiple ranks, parent sets, and so
forth.
                               -Richard Kelsey