Subject: [Roll] Concerns regarding the RPL terminology

From: Nicolas Tsiftes <[email-masked]>
Date: Thu, 17 Dec 2009 17:07:19 +0100

Hello,

We are currently implementing RPL for the Contiki operating system, and 
have been reading the drafts thoroughly for this purpose. We would like 
to share some suggestions regarding the terminology used in RPL draft 05.

1. DAG Instance

There is a mixture of terms that seem to refer to the same concept:

"instances of RPL" (RPL instance)
"DAG Instance"
"DAG instance"
"DODAG Instance"
"topology instance"

It's also difficult to understand how a DAG Instance really is an 
instance of a DAG, since DAGs are part of DAG Instances. Perhaps it 
would be clearer to call it "RPL instance."

2. DODAG

"DODAG", "DAG", and "DA" seem to be used interchangeably in the draft.

"DODAG root" - "DAG root"

"DODAG Parent" - "DAG Parent" - "DA Parent" (?!)

Suggestion: Replace "DODAG" and "DA" with "DAG".

3. Goal

The addition of a "goal" in version 5 of the draft is confusing matters 
further.

The "goal" and the "objective" of the objective functions seem to be 
different concepts, even though the words are listed as synonyms.

 From draft-ietf-roll-of0-00:

"The Goal of the OF0 is to join a DODAG iteration
that offers connectivity to a specific set of nodes
or to a larger routing infrastructure.  For the
purpose of OF0, Grounded thus means that the root
provides such connectivity."

 From draft-ietf-roll-rpl-05:

"Goal: The Goal is a host or set of hosts that satisfy a particular
application objective / OF.  Whether or not a DODAG can provide
connectivity to a goal is a property of the DODAG."

"Grounded:  A DAG is grounded when the root can reach the Goal of the
objective function."

Isn't the term "goal" superfluous when we have "objective function" and 
"grounded", where state of being "grounded" means connectivity to a 
network that is left to be determined by the network operator. We prefer 
the definition in draft-ietf-roll-rpl-04, which leaves the grounded 
state unspecified, instead of tying it to the objective function:

"Grounded:  A DAG is grounded if it contains a DAG root offering
connectivity to an external routed infrastructure such as the
public Internet or a private core (non-LLN) IP network."

The state of being grounded appears to be unrelated to the metrics, 
constraints and objective function used to construct a DAG.

Best regards,
Nicolas Tsiftes & Joakim Eriksson,
SICS