Subject: [core] sleepy nodes: about resource delegation

From: Salvatore Loreto <[email-masked]>
Date: Mon, 2 Apr 2012 16:18:10 +0300

(on behalf of Thomas that is experiencing some trouble with the mail)

Dear all,

following up the discussion interrupted during the friday session, I'd 
like to express my main concern about the resource delegation issue in CoAP.

First of all, I fear it's a little more complex than just observing a 
sleepy resource...

In fact, we have to take care of (at least) the following aspects of the 
delegated resource:
- resource identification
- resource data (possibly including multiple representations)
- resource metadata (1:1 to link format)
- access control, i.e.
- read-only or read-write at the bare minimum
- credentials in case resource lives in the coaps scheme, or its access 
needs to be authorized in some way

Now, it happens that unfortunately we don't have a precedent in HTTP, 
mostly because the "sleepy resource" is a new concept in the TCP/IP 
suite.  So, as we are attacking a new problem here, we should do that 
without fear of adding new semantics to the base protocol, if this is 
really needed.

In this perspective, the need for a new protocol primitive (e.g. 
Publish) would not seem like the outcome of some bizarre ramblings, but 
rather as one concrete proposal to provide a thorough and native 
solution to one (important) topic in our Charter.

(And let me tell you, the observe model is nowhere like a comprehensive 
solution to this also because:
a) it requires state on the sleepy client side, which should instead be 
avoided as possible
b) in case state is lost on the sleepy client, it needs the proxy entity 
to poll for an unbounded time in order to re-boostrap the observe 
relationship.
And BTW, the claim in the slides stating "already in CoAP-09" is 
actually wrong since observe is defined out of draft-ietf-core-coap.)

-- 
Salvatore Loreto, PhD
www.sloreto.com