Subject: [Cose] "Optimization track", "re-inventing" (Re: Are we finished with the charter?)

From: Carsten Bormann <[email-masked]>
Date: Sat, 04 Apr 2015 07:22:45 +0200

Hi Hannes,

Hannes Tschofenig wrote:
> We are obviously on an optimization track
> here and there is the perceived need to re-invent everything (not only
> with CBOR but with almost everything).

Thank you for documenting a common misconception so clearly.

Yes, to people less familiar with the matter it may seem that way.

Let me pick an example I am very familiar with.  6LoWPAN "re-invented"
header compression.  Twice.

There had been a whole working group (ROHC) that defined an extensible
header compression scheme (also called ROHC).  [Which had been a
"re-invention" of RFC 2507/2508, based on increased interest in
optimistic compression; itself a "re-invention" of RFC 1144 to enable
IPv6.  But I digress.]  When we were defining 6LoWPAN, we quickly found
that ROHC was too complex for constrained devices.  More importantly,
the underlying concept, flow-state based compression, didn't match the
actual use case very well.  So we tried stateless compression in RFC
4944, and then invented (no quotes here) area context state and redid
the compression in RFC 6282, adding a simple distribution protocol for
the state in RFC 6775.

On the way, I was at least a dozen times asked by area directors why we
didn't just use ROHC.  A reasonable question from someone less familiar
with header compression (and one can't really expect area directors to
be familiar both with header compression and with constrained nodes).
I'm pretty sure that the repeated explanations why that wasn't a useful
way forward helped shape our understanding of our own problem, which
ultimately enabled the invention of area context state.  Push-back is
good.  But, after a short while, nobody accused us of "re-inventing"
header compression any more, even if we did to a certain extent.

Another important observation.  Header compression of course always was
an optimization.  An *enabling* optimization, both for VoIP (ROHC) and
constrained node networks (6LoWPAN).  However, ROHC is much more
"optimized" than 6LoWPAN header compression.  Compared to previous work,
6LoWPAN header compression was a major simplification, not a further
optimization.  Just as it should be: Simplification is at the heart of
the constrained node network cluster of work [1].  As opposed to
"optimization" in the usual sense, which connotes just adding another
layer of complexity.

Grüße, Carsten

[1]: http://www.ietf.org/proceedings/82/slides/plenaryt-7.pdf