Re: [Roll] Ralph's DISCUSS on MRHOF spec

Philip Levis <> Fri, 08 June 2012 22:35 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C6D3A11E8154 for <>; Fri, 8 Jun 2012 15:35:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id DCuxqaOlEpOX for <>; Fri, 8 Jun 2012 15:35:32 -0700 (PDT)
Received: from cs-smtp-1.Stanford.EDU (cs-smtp-1.Stanford.EDU []) by (Postfix) with ESMTP id 49B1E11E8091 for <>; Fri, 8 Jun 2012 15:35:32 -0700 (PDT)
Received: from ([] helo=[]) by cs-smtp-1.Stanford.EDU with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.76) (envelope-from <>) id 1Sd7mE-00068P-C9; Fri, 08 Jun 2012 15:35:30 -0700
Mime-Version: 1.0 (Apple Message framework v1257)
Content-Type: text/plain; charset="us-ascii"
From: Philip Levis <>
In-Reply-To: <>
Date: Fri, 08 Jun 2012 15:35:28 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <>
To: Pascal Thubert <>
X-Mailer: Apple Mail (2.1257)
X-Scan-Signature: 5d20a7956aeeabba2813f93fa960b57d
Cc: Haberman Brian <>, roll <>, Stiemerling Martin <>, Michael Richardson <>
Subject: Re: [Roll] Ralph's DISCUSS on MRHOF spec
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Routing Over Low power and Lossy networks <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 08 Jun 2012 22:35:32 -0000

On Jun 7, 2012, at 2:49 PM, Pascal Thubert (pthubert) wrote:

> [Pascal] I agree with Ralph here. I fail to be convinced that there will an explosion of OCPs if we fail to factorize the metrics. But I see how the device implementation can be simplified if the OCP says it all. Also, we do not want to force a device that implements MRHOF to have to implement all metrics in the I-D. Conversely, say we extend MrHof to other metrics with further work, wouldn't it become OCP 2 anyway? I wouldn't mind blocking OCP 1..9 for current and future MrHof metric variations.

Well, here was your argument for it:

Begin forwarded message:

> From: "Pascal Thubert (pthubert)" <>
> Subject: RE: rank and metric in DIOs
> Date: November 6, 2009 12:52:54 AM PST
> To: "Jonathan Hui" <>, "Richard Kelsey" <>
> Cc: <>
> Hi Jonathan:
> I do not think we need to enforce anything. The gear box protects the
> future. I think we must leave the core spec abstract on that. And since
> the burden is on the OCP anyway, what's the point?
> OTOH, we can design an OCP / metric where the metric has the properties
> that is proposed here. In that case, the OCP should be simpler. OCP zero
> is a bit like that if you look at it :) Maybe our disagreement is only
> what is in the base spec (the generic thing) and what goes in a specific
> instantiation (the OCP).
> I can wholeheartedly accept Richard's way of start simple and solid, and
> then build over it if that's how more people can catch up with our work
> for both understanding and implementation. As a next step for an OCP>0,
> it is certainly a good thing to do. I'd support that, even more gladly
> if we base it on ETX. 
> Personally I think that this proposal yields limitations that will soon
> appear inacceptable for a number of use cases where you have more
> metrics, not necessarily incremental, fast varying, and logic to wrap
> that up. So we MUST NOT make it generic. Some of those metrics you need
> to propagate, but you do not want to change the rank and restart
> trickle.
> I listed the properties of the rank several times already. Its stability
> (long time constant is only one of those properties). 
> A list (probably incomplete) of the differences:
> - its type: it is a scalar
> - its function: it is a relative coordinate, not a cost or a distance to
> root.
> - its granularity: it is coarse grained to enable siblings
> - its range with a short infinite
> - its properties: rank is strictly monotonic, and increments from parent
> rank + OCP stuff, not like the metrics themselves increment or
> propagate. How would you play with throughput or jitter?
> - universal and very abstract: we can always default to OCP0. I have
> uses cases where I could actually do that successfully, like cars in a
> parking lot.
> I think that the OCP job to turn its knowledge of the requirements, the
> environment and the ranks of parents into a rank cannot be generalized.
> Leaving that operation out of RPL base spec is actually making it
> simpler.
> I'd be glad to add some words in RPL base spec on those rank properties
> though...