Subject: [6tisch] minimal and beyond

From: Kris Pister <[email-masked]>
Date: Fri, 23 May 2014 09:51:29 -0700

following up on the discussion this morning, I'll put forth the kind of 
scenario
that I've been thinking of and see if others agree.  Let's assume that I 
have some
nodes A,B,C,D that speak minimal and nothing else.  They join a dag root 
R1 that
also speaks minimal and nothing else, and everyone is happy.

Some other nodes X, Y, Z and one dag root R2 all speak minimal and
PNP (Pascal's Next Protocol).  They form a network in the following way:
R2 sends enhanced beacons with a minimal-compliant schedule.  X and Y
join and start sending their own beacons with a minimal-compliant schedule.
R2 sends PNP messages to X and Y to optimize their performance.
R2, X, and Y all continue to send minimal EBs, and continue to abide by the
minimal schedule, in addition to their optimal schedule.  Everyone is happy.

dag root R1 dies, and nodes A, B, C, D look for a new home.  Some hear
EBs from R2, some hear EBs from X and Y.  They join the R2 dodag using the
minimal schedule, and have no idea that there is fancier stuff going on with
R2, X, and Y.  Everyone is happy.

Node Z now hears an EB from node A and node X.  Node Z joins the dodag
through A initially, but ends up with links to A using minimal, and 
links to X
using PNP.  As the network grows, most traffic flows through newer nodes
that understand fancier protocols, or maybe it flows mostly through older
nodes because they have lots of excess bandwidth in this particular network.
Either way, everyone is happy.

ksjp

---

From: Michael Richardson <[email-masked]>
Date: Fri, 23 May 2014 18:36:43 -0400

Kris Pister <[email-masked]> wrote:
    > that I've been thinking of and see if others agree.  Let's assume that

Yes, your scenario is exactly correct.
And it matters not at all how R2 comes up with the optimization.
What matters is:

    > EBs from R2, some hear EBs from X and Y.  They join the R2 dodag using

That A,B,C,D can process enough of the EBs from X and Y and R2 that they
can know it is minimal.

My question was about encoding.  The two possibilities are:
  1) EB { minimal-schedule-flag }
  2) EB { slot1{MS1}, slot2{MS2}, slot3{MS3} }

In situation (2), the schedule is explicitely enumerated.  A minimal-only
node can parse MS1,MS2 and MS3, but wouldn't understand/implement anything
else.  Situation (2) makes nodes understand more about the schedule, but
potentially could cause more problems down the road when MS4 is defined.

--
Michael Richardson <[email-masked]>, Sandelman Software Works
 -= IPv6 IoT consulting =-

---

From: Xavier Vilajosana <[email-masked]>
Date: Sat, 24 May 2014 05:35:00 +0200

Hi Michael,

regarding the following point:

If we want to be close to IEEE 802.15.4e we need to use case 2) as the EB
should contain the cell list by means of the Slotframe and Link IE. 15.4e
states (section 5.2.4.14):

*The TSCH slotframe and link IE contains one or more slotframes and their
respective links that a beaconing device advertises to allow other devices
to synchronize to the network. Refer to 5.1.2.6 for details on TSCHPAN
formation.*

*...*

*The TSCH Slotframe and Link IE is used to construct enhanced beacons that
allow new devices to synchronize to a TSCH PAN. *

If 1) was possible, we would safe lots of bits in the EB, but nodes not
implementing minimal would not be able to join the network, while using 2)
makes things less restrictive as no explicit knowledge is required.

X

2014-05-24 0:36 GMT+02:00 Michael Richardson <[email-masked]>:

> _______________________________________________
> 6tisch mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/6tisch
>
>

---

From: Thomas Watteyne <[email-masked]>
Date: Tue, 27 May 2014 10:58:22 -0700

Kris,

I agree with the scenario you describe, and +1 the use cases of mixing
minimal-only and PNP motes.

One question this raises is whether/how entities in network discover their
capabilities. Do [R2,X,Y,Z] know [R1,A,B,C] only speak minimal? Does X,
upon joining, announce "I know about PNP"?

Thomas

> minimal schedule, in addition to their optimal schedule.  Everyone is

Is there, in your mind a way to know whether a new

On Fri, May 23, 2014 at 8:35 PM, Xavier Vilajosana <
[email-masked]> wrote:

> to synchronize to the network. Refer to 5.1.2.6 for details on TSCH PAN
> formation.*
>
> *...*
>

---

From: Michael Richardson <[email-masked]>
Date: Tue, 27 May 2014 15:04:06 -0400

Thomas Watteyne <[email-masked]> wrote:
    > One question this raises is whether/how entities in network discover
    > their capabilities. Do [R2,X,Y,Z] know [R1,A,B,C] only speak minimal?
    > Does X, upon joining, announce "I know about PNP"?

Again, it's the wrong question.

The correct question is:
    What does A do when confronted with a schedule that contains schedule
    descriptions which go beyond minimal.  The answer may be "ignore that
    entry", or it be, "return an error to sender".

X, upon joining, simply speaks "PNP", and may find that "A" says, "huh".

---

From: Kris Pister <[email-masked]>
Date: Tue, 27 May 2014 13:28:30 -0700

I think that they are both good questions.  I'm reminded of the Far Side 
cartoon
of the scientist speaking to a duck.
"Parlez vous Francais?"  <blank stare>
"Sprechen Sie Deutsch?" <blank stare>
"Quack?"                         "Quack! Quack quack quack!"

It's important that motes A, B,C know when to give a blank stare, but 
it's also
useful to have an efficient mechanism to enumerate which protocols are
supported, much like TLS cipher suite negotiation.  Perhaps something like
a "client hello" message?

ksjp