Subject: Re: [Roll] RPL: why not base a DAG on the min hop distance from theroot?

From: Mukul Goyal <[email-masked]>
Date: Thu, 2 Jul 2009 12:13:53 -0500 (CDT)

Jonathan

Whether an application uses minimum hop routes or ETX or some other (combination of) metric(s) to determine routes should be left to the application itself.

Now lets talk about the shortcomings of ETX as a routing metric.

ETX is not a panacea. Number of transmissions allowed by a MAC protocol before it gives up the packet is a configurable parameter in many protocols. I can configure some 802.15.4 nodes to give up a packet after 1 try and some others to give up after 5 tries. So, if path A has ETX 40 and path B has ETX 50, I can't really say that path A is better because it is possible that ETX for path A is low because nodes on path A don't allow as many transmissions per packet as nodes on path B.

ETX paper defines ETX as "the predicted number of data transmissions required to send a packet over that link". I am not sure how ETX would be calculated when limits exist on the number of packet transmissions before MAC layer gives it up. But, unless ETX is calculated in a manner to account for such limits, it seems to me that ETX across links are diffficult to compare when these links have different limits on the number of retries. So, as individual hops are incomparable with each other (as some on the list have suggested), it may be that individual ETX values are also incomparable.

Moreover, ETX seems to be ignoring the "channel access failures" (borrowing 15.4 terminology). A link may be so bad that very few transmissions take place. Not sure how ETX accounts for channel access failures. A path may have low ETX because of the high channel access failure rates along the links on the path.

I think this discussion is not moving in the way I wanted it to be. The original question was why is it better to have parents with multiple depths. It seemed to me that we can have all the flexibility of DAGs while preserving the meaning of the term "depth", which has been lost the way RPL works. I will explain the question in a separate email.

Thanks
Mukul

----- Original Message -----
From: "Jonathan Hui" <[email-masked]>
To: "Yusuf Bashir" <[email-masked]>
Cc: [email-masked], [email-masked], [email-masked]
Sent: Thursday, July 2, 2009 11:27:35 AM GMT -06:00 US/Canada Central
Subject: Re: [Roll] RPL: why not base a DAG on the min hop distance from theroot?

On Jul 2, 2009, at 8:48 AM, [email-masked] wrote:
>
> Using low data rate 802.15.4 radios in commercial buildings we  
> design our deployments
>  to minimize hops and that has been an essential part of the success  
> of our networks. The result of
> excessive hops is higher latency and higher probability of  
> collisions which leads to devices timing out and going
> offline. This is an essential customer requirement for us.  We also  
> have data showing that when you do over the air downloads,
> minimizing hops is key to meeting our timing requirements.

But would you agree that minimizing the number of transmissions on a  
path is a better metric than hops in your case?

--
Jonathan Hui

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

---

From: Jonathan Hui <[email-masked]>
Date: Thu, 2 Jul 2009 10:24:09 -0700

HI Mulul,

On Jul 2, 2009, at 10:13 AM, Mukul Goyal wrote:
> Whether an application uses minimum hop routes or ETX or some other  
> (combination of) metric(s) to determine routes should be left to the  
> application itself.

Yes. ETX is simply an example of a metric that provides more  
information than hop count yet reduces to hop count with perfect links.

> ETX is not a panacea. Number of transmissions allowed by a MAC  
> protocol before it gives up the packet is a configurable parameter  
> in many protocols. I can configure some 802.15.4 nodes to give up a  
> packet after 1 try and some others to give up after 5 tries. So, if  
> path A has ETX 40 and path B has ETX 50, I can't really say that  
> path A is better because it is possible that ETX for path A is low  
> because nodes on path A don't allow as many transmissions per packet  
> as nodes on path B.

Ideally, ETX should be the number of actual transmissions at the link  
layer.

> ETX paper defines ETX as "the predicted number of data transmissions  
> required to send a packet over that link". I am not sure how ETX  
> would be calculated when limits exist on the number of packet  
> transmissions before MAC layer gives it up. But, unless ETX is  
> calculated in a manner to account for such limits, it seems to me  
> that ETX across links are diffficult to compare when these links  
> have different limits on the number of retries. So, as individual  
> hops are incomparable with each other (as some on the list have  
> suggested), it may be that individual ETX values are also  
> incomparable.

One way to compute the link ETX is (number of transmissions)/(number  
of acked transmissions). The path ETX is simply the sum of the link  
ETXs along the path.

> Moreover, ETX seems to be ignoring the "channel access  
> failures" (borrowing 15.4 terminology). A link may be so bad that  
> very few transmissions take place. Not sure how ETX accounts for  
> channel access failures. A path may have low ETX because of the high  
> channel access failure rates along the links on the path.

Sure - there are a lot of other things that ETX doesn't provide  
information about - energy consumed per transmission is another  
example. But hop count doesn't address those either...

> I think this discussion is not moving in the way I wanted it to be.  
> The original question was why is it better to have parents with  
> multiple depths. It seemed to me that we can have all the  
> flexibility of DAGs while preserving the meaning of the term  
> "depth", which has been lost the way RPL works. I will explain the  
> question in a separate email.

Will wait for your mail.

--
Jonathan Hui

---

From: Philip Levis <[email-masked]>
Date: Thu, 2 Jul 2009 15:24:08 -0700

> question in a separate email.

All of these things are true -- ETX is not a panacea. There are other  
metrics which address some problems but not others. For example, one  
could measure latency and use that as a metric (taking into  
consideration channel access failures), but this doesn't tell you how  
much spectrum space-time a path might take. Nor does ETX address the  
situation when a radio has multiple bitrates.

The tradeoffs between metrics are why there's such a discussion around  
them. Different applications might have different needs, and so use  
different metrics.

That being said, a simple, concrete case where you want to be able to  
send to nodes at different hopcounts is this routing table at the edge  
of a sparse network:

Dest | Hops | Cost
-------------------
   A  |  4   |  5.6  (active route)
   B  |  5   |  6.3

Now let us suppose the link to node A dies. The options are:

1) Send to node B
2) Drop all packets

I'd prefer 1) over 2).

Note that if the link to node A is bursty, it might come and go fairly  
quickly.

Phil

---

From: Mukul Goyal <[email-masked]>
Date: Thu, 2 Jul 2009 17:32:26 -0500 (CDT)

Thanks Phil. Your example does make sense.

Mukul
----- Original Message -----
From: "Philip Levis" <[email-masked]>
To: "Mukul Goyal" <[email-masked]>
Cc: "Jonathan Hui" <[email-masked]>, [email-masked], [email-masked], "Yusuf Bashir" <[email-masked]>, [email-masked]
Sent: Thursday, July 2, 2009 5:24:08 PM GMT -06:00 US/Canada Central
Subject: Re: [Roll] RPL: why not base a DAG on the min hop distance from theroot?

Dest | Hops | Cost
-------------------

1) Send to node B
2) Drop all packets

I'd prefer 1) over 2).

Phil