Subject: [icnrg] snap2014 - a call for a protocol snapshot

From: [email-masked]
Date: Tue, 28 Oct 2014 14:25:50 +0100 (CET)

Dear all,

A year ago, both the NDN and CCNx1.0 protocols have been unveiled. Wire 
formats are incompatible, signs of convergence are weak and forwarding 
semantics differ. New functionality like using PIT state to let a 
reverse Interest reach the original Interest sender seems to have broad 
support and will lead to changes to the forwarding model (which would 
please us named-function people), other core features like manifest are 
often referenced but are not always documented -- I imagine that many 
more variants and extensions will be proposed in the future. While we 
can let this "richness" be sorted out by the funding market, this might 
take quite some time and is not productive from a research point of 
view.

Therefore I would like to launch a call for a "protocol snapshot" (SNAP) 
to prune this forest. A single, prototypical ICN protocol should be 
selected by early 2015. This protocol will not be "optimal" and will not 
be a standard, but such a snapshot will let the community focus on one 
protocol suite and relate or compare proposed changes to this reference 
-- until a next snapshot is chosen perhaps two years from now.

Of course, the existing protocols could be submitted as is. But I would 
hope that people (regardless of affiliation) will be creative and 
mix-and-match from what we have today. So feel free to invent a NDN'bis 
protocol with a fixed header, or CCNx1.0'prime with longest prefix 
matching and minimal exclusion filtering etc. And don't forget to 
suggest what reasonable and non-discriminatory license should apply.

To get started, here are some pointers into the forest:
http://named-data.net/codebase/platform/documentation/
http://named-data.net/publications/techreports/tr-ndn20-kite/
http://www.ccnx.org/pubs/ccnx-mosko-semantics-01.txt
http://www.ccnx.org/pubs/ccnx-mosko-tlvmessages-01.txt

The most delicate part is how the protocol snapshot 2014 will be 
selected. Let me propose "adoption": We will simply let players 
(incumbents, research labs, simulator writers etc *) in the field 
announce what they chose as their reference platform. The announcement 
should be a pledge to write code and to make it interoperate, for 
example patch a NDN common client library, write a module in PARC's 
software stack, or create pieces of a simulator.

Of course, it could be that this poll will simply reproduce the current 
rift, so nothing is won. But let me be optimistic: I hope that a new 
configuration appears and that a snapshot emerges that can be forked 
many times for two years, before we rehash and again prune with a next 
snapshot.

Thanks for your comments and indications of intent to submit a snapshot 
candidate.

best, christian

*) As a CCN-lite writer let me clarify that I will try to stick
    to our multi-protocol approach - thus simply adding that forthcoming
    snap2014 to the list of supported protocols (ccnb, ndn2013 and
    ccnx2014).
    But I would like to focus on one common reference protocol and put
    less effort on tracking and supporting all competing proposals
    and their inevitable changes.

---
Prof. Dr. Christian F. Tschudin | Uni Basel | Dept of Mathematics and
Computer Science | Computer Networks Group | cn.cs.unibas.ch