Re: [core] Subscribe/Notify for CoAP

Guido Moritz <guido.moritz@uni-rostock.de> Wed, 02 June 2010 06:22 UTC

Return-Path: <guido.moritz@uni-rostock.de>
X-Original-To: core@core3.amsl.com
Delivered-To: core@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7F3B53A6800 for <core@core3.amsl.com>; Tue, 1 Jun 2010 23:22:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.1
X-Spam-Level:
X-Spam-Status: No, score=0.1 tagged_above=-999 required=5 tests=[BAYES_50=0.001, HELO_EQ_DE=0.35, MANGLED_TOOL=2.3, MSGID_MULTIPLE_AT=1.449, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N1440fpZ2Jhw for <core@core3.amsl.com>; Tue, 1 Jun 2010 23:22:10 -0700 (PDT)
Received: from ida.uni-rostock.de (ida.uni-rostock.de [139.30.8.34]) by core3.amsl.com (Postfix) with ESMTP id 9FACB3A67D3 for <core@ietf.org>; Tue, 1 Jun 2010 23:22:09 -0700 (PDT)
Received: from email1.uni-rostock.de (139.30.8.208) by ida.uni-rostock.de (139.30.8.162) with Microsoft SMTP Server (TLS) id 8.2.254.0; Wed, 2 Jun 2010 08:21:55 +0200
Received: from Schlappi (212.50.147.101) by email1.uni-rostock.de (139.30.8.210) with Microsoft SMTP Server (TLS) id 8.2.254.0; Wed, 2 Jun 2010 08:21:55 +0200
From: Guido Moritz <guido.moritz@uni-rostock.de>
To: core@ietf.org
References: <0D212BD466921646B58854FB79092CEC021F4E91@XMB-AMS-106.cisco.com> <OF54E90C1C.C8997A73-ONC1257731.003EAAE3-C1257731.004127C6@schneider-electric.com> <0D212BD466921646B58854FB79092CEC021F4EF2@XMB-AMS-106.cisco.com> <6A9FCAC7-E2FA-482D-ABFF-DB6B111A9EA2@sensinode.com>
In-Reply-To: <6A9FCAC7-E2FA-482D-ABFF-DB6B111A9EA2@sensinode.com>
Date: Wed, 02 Jun 2010 08:21:54 +0200
Message-ID: <001501cb021b$e5d364c0$b17a2e40$@moritz>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: Acr+ZFvZPw2Mu3NgSiuox0ikI6Lk8gDtkG8g
Content-Language: de
Subject: Re: [core] Subscribe/Notify for CoAP
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/core>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Jun 2010 06:22:13 -0000

Dear WG,

I agree to focus on the ToDos and not on the maybes. But a comprehensive
eventing concept includes more than only the method/message type. It
requires lease concepts, filtering mechanisms ... It would also require
mechanisms to assign incoming NOTIFYs to a specific SUBSCRIBTION if one and
the same client has SUBSCRIBED to more than one event of the same device. Is
this out of scope of COAP or should it be considered already at this point
to have a straight forward and clean protocol design? Hence it might be
reasonable to have SUBSCRIBE and NOTIFY as single methods and grouping every
sub functionality as type below the method?

However, as HTTP has no native mechanism to feature eventing, for eventing
it would be always required to have a caching intermediate entity (proxy,
gateway, what ever). This one can provide which interface ever to the
external networks (HTPP, polling, WebHooks, XMPP, WS-Eventing, ...). So this
is implementation specific and might not be considered in COAP at all.

Guido

> -----Ursprüngliche Nachricht-----
> Von: core-bounces@ietf.org [mailto:core-bounces@ietf.org] Im Auftrag von
Zach
> Shelby
> Gesendet: Freitag, 28. Mai 2010 14:50
> An: Adriano Pezzuto
> Cc: core
> Betreff: Re: [core] Subscribe/Notify for CoAP
> 
> Hi,
> 
> This is a really good conversation. One thing we need to do is remember
what
> our minimum requirements are for subscribe/notify and not try to solve
> something more than we should. From what I know it is sufficient to be
able to
> receive notifications when a URI changes or periodically. You might
consider
> new URIs under this URI path to be changes to a URI though...
> 
> On May 28, 2010, at 3:08 PM, Adriano Pezzuto (apezzuto) wrote:
> 
> > Hello,
> > with this flavor, the SUBSCRIBE may be replaced by a simple POST. So no
> needs to have an explicit SUBSCRIBE method.
> 
> This is what coap-01 assumes.
> 
> > If we want support a more oriented peer-to-peer transaction on CoAP, it
> looks to me both SUB and NOTIFY should be treated as messages.
> 
> The Request/Response model can be used peer-to-peer, and in CoAP you can
even
> use a Request asynchronously. Additionally, we want a native RESTful
> subscribe/notify technique, that is, we want to subscribe to resources and
be
> susequently notified about those resources when they change.
> 
> In that sense, you can think of a subscription as a request to receive
> asynchronous notifications about a resource (about a URI). This can be
> achieved by:
> 
> 1.  as a SUBSCRIBE Request on the URI with some option indicating the
lifetime
> as in coap-01,
> 2.  as a Subcsribe message (no methods) on the URI with some option,
> 3.  or as a POST Request on the URI with options indicating that this is
> actually a subscription and the lifetime.  This bends the meaning of POST
> quite a bit and might be prone to mistakes?
> 
> The asynchronous response is a harder one. Can we bend the meaning of a
> Request for making asynchronous notifications? Also a notification
includes a
> URI about a resource on the requestor, which is inverse from normal
Requests
> in REST. So the options here are:
> 
> 1. as a Notify message about a URI (no methods) as in coap-01,
> 2. as a NOTIFY Request about a URI as was in coap-00,
> 3. hmmm... reusing CRUD methods really doesn't work for this one at all...
> 
> I wonder what the HTTP designers would have done if this would have been a
> requirement back then? Maybe we should ask them...
> 
> Zach
> 
> >
> > Adriano
> >
> > From: matthieu.vial@fr.non.schneider-electric.com
> [mailto:matthieu.vial@fr.non.schneider-electric.com]
> > Sent: venerdì 28 maggio 2010 13.52
> > To: Adriano Pezzuto (apezzuto)
> > Cc: core; core-bounces@ietf.org; robert.cragie@gridmerge.com
> > Subject: Re: [core] Subscribe/Notify for CoAP
> >
> > > So strictly speaking, both NOTIFY and SUBSCRIBE are message types not
> methods!
> >
> > SUBSCRIBE can be just an asynchronous GET on update then I think it is a
> method and NOTIFY is an asynchronous response so a message.
> > But if we want to have selective notifications when a resource is
created,
> updated or deleted then I think you're right NOTIFY and SUBSCRIBE are
> messages.
> >
> > Does that make sense ?
> >
> > Matthieu
> >
> > <image001.gif>"Adriano Pezzuto (apezzuto)" <apezzuto@cisco.com>
> >
> >
> >
> >
> > "Adriano Pezzuto (apezzuto)" <apezzuto@cisco.com>
> > Envoyé par : core-bounces@ietf.org
> > 28/05/2010 12:50
> >
> > <image003.png>
> > A
> > <image004.png>
> > <robert.cragie@gridmerge.com>
> > <image003.png>
> > cc
> > <image004.png>
> > core <core@ietf.org>
> > <image003.png>
> > Objet
> > <image004.png>
> > Re: [core] Subscribe/Notify for CoAP
> > <image004.png>
> > <image004.png>
> >
> > Hi Roberto,
> > I understand your point and personally agree on M2M is quite different
from
> web page model. On the architectural RESTful style, the method information
> tells the server what to do with data kept in the URI information.
> >
> > So strictly speaking, both NOTIFY and SUBSCRIBE are message types not
> methods!
> >
> > Adriano
> >
> > From: Robert Cragie [mailto:robert.cragie@gridmerge.com]
> > Sent: venerdì 28 maggio 2010 11.53
> > To: Adriano Pezzuto (apezzuto)
> > Cc: Paul Duffy (paduffy); Zach Shelby; core
> > Subject: Re: [core] Subscribe/Notify for CoAP
> >
> > I think the point here is that there are two levels we are considering.
> >
> > At the lowest (foundation) level, there are the transaction messages as
> described below. This provides a flexible mechanism for the application
with
> regard to synchronicity and threading. This is important for the types of
> devices CoAP is being aimed at.
> >
> > Above that, the methods can be used according to the architectural
style. So
> in this case, it is RESTful (COnstrained Restful Environments), which will
> naturally limit the number of methods and how transactions occur.
> >
> > The actual architecture using a combination of the methods and messages
also
> depends on what is required at the application layer. Consider a typical
> client which wants to subscribe to a resource. That client controls the
feed
> of data but needs a component which is capable of handling (possibly
> buffering) the data it receives through notifications. Is this a separate
> server? Or would we want to consider it part of an enhanced client model
which
> is able to process feeds of data? These are the sort of models which have
led
> to the myriad of solutions (GENA, Webhooks, long polling, pubsubhubbub,
RESTMS
> etc.) based around HTTP which are all essentially ingenious ways of
getting
> around the limitations imposed by HTTP and how it is processed for
anything
> which deviates from the classic web page access model.
> >
> > I think the aim of CoAP should be clean from the word go with regard to
> supporting these more peer-to-peer transactions, where the client can
exist on
> either entity and both entities can feed data to each other; typical in
M2M
> applications.
> >
> > Robert
> >
> > Robert Cragie (Pacific Gas & Electric)
> >
> > Gridmerge Ltd.
> > 89 Greenfield Crescent,
> > Wakefield, WF4 4WA, UK
> > +44 1924 910888
> > +1 415 513 0064
> > http://www.gridmerge.com
> >
> > On 27/05/2010 7:08 PM, Adriano Pezzuto (apezzuto) wrote:
> > Hi Robert,
> >
> > in my personal opinion, the option 1a) brings some sort of ambiguity to
CoAP
> specs.
> >
> > My be my understatement of new CoAP specs is not so deep, but now we
have 5
> methods and 3 message types: request, response and notify. Which methods
are
> allowed with which messages types?
> > I suppose you have to use PUT/POST method with notify message for asynch
> data notification. How to make a subscribe? I suppose you would use a
> SUBSCRIBE method with request/response message or SUBSCRIBE with notify
> message? Also what about POST/DELETE methods in a notify message? They not
> make any sense..
> >
> > I think the choice is between: option 1) -> only CRUD methods and option
1b)
> -> CRUD + SUB/NOTIFY methods, keeping in mind cost/benefits of both
solutions.
> >
> > Adriano
> >
> > From: Robert Cragie [mailto:robert.cragie@gridmerge.com]
> > Sent: mercoledì 26 maggio 2010 20.09
> > To: Adriano Pezzuto (apezzuto)
> > Cc: Paul Duffy (paduffy); Zach Shelby; core
> > Subject: Re: [core] Subscribe/Notify for CoAP
> >
> > Hi Adrian,
> >
> > I would also prefer to keep the protocol in CoAP asynchronous. You can
> always map an asynchronous protocol to a synchronous one but, as we see in
> HTTP, it always ends up as a kludge to do it the other way round. The
efforts
> which have been gone to to make HTTP quasi-asynchronous via all the
schemes
> mentioned below and many more besides (all non-interoperable of course) is
> testament to how important this is for M2M communication.
> >
> > So, back to Zach's list, I favor 1a) for the following reasons:
> >
> > Foundation level of messages:
> >
> > 1. request/response can be asynchronous or synchronous messages (as
there is
> a transaction ID in there)
> > 2. notify is an asynchronous message
> > Derived methods:
> >
> > I think it makes sense to add a pub/sub model as a useful mechanism for
M2M.
> >
> > So, looking at it the other way round: It will be entirely possible to
> translate whatever is currently built on HTTP to CoAP based on the above,
with
> all its restrictions regarding synchronous and client/server transactions.
> What may be harder is to translate directly is a CoAP-based application to
> HTTP. So I guess the question is: Do we want to be hamstrung to
synchronous
> client/server transactions as dictated by HTTP and provide a direct
mapping to
> HTTP, then have to come up with similar kludges for asynchronous
peer-to-peer
> transactions as has been done in numerous ways for HTTP, or do we want to
> define the protocol cleanly to start with and accept that some sort of
> transaction relaying/conversion would have to take place at a mapping
node?
> >
> > Robert
> > Robert Cragie (Pacific Gas & Electric)
> >
> > Gridmerge Ltd.
> > 89 Greenfield Crescent,
> > Wakefield, WF4 4WA, UK
> > +44 1924 910888
> > +1 415 513 0064
> > http://www.gridmerge.com
> >
> > On 26/05/2010 7:17 AM, Adriano Pezzuto (apezzuto) wrote:
> > Hi,
> > it looks to me that CoAP should use an explicit sub/notify mechanism
since
> this is the core of the machine-to-machine interaction model.
> > HTTP suffers of this lack and we have seen a plethora of solutions to
give
> an asynch taste to it. Webhooks and websockets are only the lasts of the
list.
> > As someone has already pointed out on this list, it is theoretically
> possible to describe sub/notify using only CRUD methods but it looks a
little
> bit tricky and verbose.
> >
> > Now we have a chance to build from scratch a new protocol with and I
think
> using explicit sub/notify methods with a clear and well defined semantic
is
> the best option. It is easily understanding from every developer and will
> prevent to build other fanny solutions on top of the CoAP. HTTP does not
have
> this well defined semantic and (for hundreds of other reasons also) it is
not
> used as wide protocol for machine-to-machine communication.
> >
> > CoAP - as binary protocol - and with an explicit asynch model has a
chance
> to be a really wide protocol for M2M communication not only for
constrained
> environments.
> >
> > my 2 cents
> >
> > - adriano
> >
> > -----Original Message-----
> > From: core-bounces@ietf.org [mailto:core-bounces@ietf.org] On Behalf Of
Paul
> Duffy (paduffy)
> > Sent: mercoledì 26 maggio 2010 0.47
> > To: Zach Shelby
> > Cc: core
> > Subject: Re: [core] Subscribe/Notify for CoAP
> >
> > On 5/25/2010 6:41 PM, Zach Shelby wrote:
> >
> > Hi,
> >
> > On May 26, 2010, at 12:23 AM, Charles Palmer wrote:
> >
> >
> > Hi folks
> >
> > It occurs to me that CoRE should be keeping a close eye on ZigBee SE2.0
> work, so that it is as easy as possible for ZigBee SE to use CoRE when
ready.
> That suggests to me that we should align with their subscribe/notify
process.
> >
> >
> > I am not sure I understand that. I mean, ZigBee SE2.0 is defining an
> application specific subscribe/notify mechanism for that purpose so far
for
> HTTP. This uses standard HTTP methods and some custom payload and REST
> interfaces. CoAP Req/Res is already totally compatible with SE2.0 in that
> respect, so alignment is already OK there. Nothing stopping someone from
using
> SE2.0 over CoAP.
> >
> > Specifying a native susbcription/notify into CoAP is another matter. We
> can't adopt a solution specific to one application as that won't solve the
> problems of other applications nor general HTTP mapping at all (probably
would
> make it worse). It seems that for the near future there will be a bunch of
> HTTP push mechanisms in use without any clear standard appearing - or am I
> wrong there?
> >
> >
> >
> >
> > If COAP extends HTTP semantics with new subscription methods, it will
> > not be possible to easily interchange HTTP/COAP, and translation
> > gateways will become more complex to implement.
> >
> >
> >
> > Zach
> >
> >
> > Regards - Charles
> >
> >
> > -----Original Message-----
> > From: core-bounces@ietf.org [mailto:core-bounces@ietf.org] On Behalf Of
Paul
> Duffy
> > Sent: 25 May 2010 03:48
> > To: Zach Shelby
> > Cc: core
> > Subject: Re: [core] Subscribe/Notify for CoAP
> >
> > Recommend something like #2, primarily to avoid introducing non HTTP
> > method semantics, simplifying HTTP/COAP translation.gateways, etc.
> >
> >
> > On 5/24/2010 11:49 AM, Zach Shelby wrote:
> >
> > (thread renamed)
> >
> > We have two different paths with regard to a subscribe/notify mechanism
for
> CoAP:
> >
> > 1. Use specific Subscription and Notify mechanisms for CoAP as HTTP
really
> does not include this concept.
> > 1a) Notify as a message and SUBSCRIBE as a method. This is currently
used in
> coap-01.
> > 1b) NOTIFY and SUBSCRIBE as methods. This was used in coap-00, but we
had a
> good list discussion about this leading to a. In practice it doesn't make
a
> big difference if notification is a message or method.
> >
> > 2. Use an HTTP specific framework such as Webhooks, the ZigBee SE2.0
> proposal or GENA.
> >
> > So far we have focused on 1 in the WG, and every now and again 2 comes
up.
> At least I am not convinced that we need to suffer the drawbacks of HTTP
here.
> Anyways 2 does not help our mapping to HTTP in reality very much as there
is
> no standard way of doing this over HTTP. Thus a CoAP-HTTP proxy may end up
> anyways translating between multiple HTTP frameworks depending on the
> application. So instead of doing a CoAP Notify/Subscribe to Webhooks
mapping,
> you will could end up having to do a CoAP Webhooks to HTTP GENA mapping.
> >
> >
> >
> > I don't understand this last para. If CoAP sticks to the semantics of
> > the current HTTP methods, would this not offer a fairly straightforward
> > translation to/from HTTP?
> >
> >
> >
> > From what I have heard so far 1 still seems like a wise choice, although
I
> need to look at Webhooks more deeply. In reality many applications specify
> their own way of doing a push interface using REST methods and specific
> payloads (ZigBee SE2.0 is such an example). That is just fine, and might
be
> used instead of a specific CoAP notify/subscribe in that case. So 1
doesn't
> prevent the application using its own mechanism, it just provides a native
way
> for doing push.
> >
> > What do people think?
> >
> > Zach
> >
> > On May 17, 2010, at 6:44 PM,matthieu.vial@fr.non.schneider-electric.com
> wrote:
> >
> >
> >
> > Hi,
> >
> > My comments about the subscribe/notify mechanism of Zigbee IP.
> >
> > Pros:
> > - Derived from the webhooks concept
> > - If used by CORE it will be easier to map to HTTP because it uses only
CRUD
> verbs.
> > - The subscription message is extendable and could support advanced
options
> (delays, increment, ...)
> > - Only one listening port whatever the transport binding is.
> >
> > Cons:
> > - No interoperability without well known URIs and a well defined
> subscription message format (Not sure CoAP draft is the right place to
specify
> this).
> > - XML/EXI is too complex to be the required format for the default
> subscription/notification mechanism.
> > - The notification should not require a subsequent GET to retrieve the
> content.
> > - Subresource subscription is redundant.
> >
> > Hope this could help,
> > Matthieu
> >
> >
> > <graycol.gif>"Charles Palmer"<charles.palmer@onzo.com>
> >
> >
> >
> >
> > "Charles Palmer"<charles.palmer@onzo.com>
> > Envoyé par : core-bounces@ietf.org
> > 15/05/2010 14:06
> >
> > <ecblank.gif>
> > A
> > <ecblank.gif>
> > "core"<core@ietf.org>
> > <ecblank.gif>
> > cc
> > <ecblank.gif>
> > <ecblank.gif>
> > Objet
> > <ecblank.gif>
> > Re: [core] Selecting a WG document for CoAP
> > <ecblank.gif> <ecblank.gif>
> >
> > Dear all
> >
> > Those interested in the subscribe/notify discussion might like to look
> > at the draft Smart Energy Profile 2.0 Application Protocol
> > Specification. It is available here:
> > http://zigbee.org/Markets/ZigBeeSmartEnergy/ZigBeeSmartEnergy20PublicApp
> > licationProfile.aspx
> >
> > It manages subscribe/notify by using POST. This seems to remove the need
> > for SUBSCRIBE and notify.
> >
> > "Imagine a host A, which exposes a resource at http{s}://A/resource and
> > a second host B, which wishes to learn of changes to this resource. To
> > facilitate a subscription/ notification mechanism, A would expose a
> > resource http{s}://A/sub and B would expose a resource http{s}://B/ntfy.
> > To subscribe to notifications regarding http{s}://A/resource, B would
> > send a POST to the address http{s}://A/sub/B containing the URI of the
> > resource of interest (http{s}://A/resource) and the URI of B's
> > notification resource (http{s}://B/ntfy). Following this subscription
> > step, should A wish to notify B of a change to the resource addressed at
> > http{s}://A/resource, A would send a POST to the address
> > http{s}://B/ntfy containing the URI of the resource changed
> > (http{s}://A/resource) and the URI of A's subscription resource
> > (http{s}://A/sub/B), should A wish to change its subscription. The host
> > B can then query the resource (or not) at its leisure."
> >
> > Sleepy nodes are not allowed to subscribe, and must poll.
> >
> > Regards - Charles Palmer
> >
> > -----Original Message-----
> > From: core-bounces@ietf.org [mailto:core-bounces@ietf.org] On Behalf Of
> > Angelo P. Castellani
> > Sent: 14 May 2010 13:14
> > To: Zach Shelby
> > Cc: core
> > Subject: Re: [core] Selecting a WG document for CoAP
> >
> > Zach,
> >
> > thanks for the comments, but please refer to my most recent e-mail for
> > a more specific list of technical issues I'm pointing to.
> >
> > I want to do only a little integration to what I've written there.
> >
> > In my very personal opinion, to maximize adherence with the REST model
> > and minimize implementation effort SUBSCRIBE and NOTIFY should be
> > mapped to methods (as discussed many times together...).
> >
> > Uniform interface principle (Fielding PhD dissertation Section 5.1.5,
> > "The central feature that distinguishes the REST architectural style
> > [...]") states that to simplify the software architecture, resource
> > interfaces/interfaces should be as general as possible.
> >
> > I agree with this principle in this specific case, mainly because
> > handling a special message type for notify leads node software design
> > to a more complex architecture.
> >
> > The reason is that this new message type requires special handling and
> > introduces a complexity in the software modularization.
> >
> > Best,
> > Angelo
> >
> > On Fri, May 14, 2010 at 13:06, Zach Shelby<zach@sensinode.com> wrote:
> >
> >
> > Hi Angelo,
> >
> > On May 13, 2010, at 14:24 , Angelo P. Castellani wrote:
> >
> >
> >
> > Dear C. Bormann, all,
> >
> > before deciding for the final direction, I've the following
> > observations about draft-shelby-core-coap-01
> >
> > While I mostly share Zach's view of the protocol approach, and
> > appreciate many aspects of the proposal, there are in my opinion
> >
> >
> > still
> >
> >
> > some open issues that need to be at least discussed before the
> >
> >
> > current
> >
> >
> > document can be selected.
> >
> >
> > Of course there are plenty of open issues. Remember that working group
> >
> >
> > documents still undertake as much change and improvement as the WG
> > wants, so by no means is coap-01 set in stone. I would expect at least
> > 5-10 more revisions still along the way. Already several of your ideas
> > have been integrated into coap-01, and several more are under
> > consideration, so it is coming along. Patience ;-)
> >
> >
> >
> > In particular, I would like to highlight the following:
> >
> > a) As it is now, it is not possible to have a straightforward
> > translation of HTTP -> CoAP and viceversa: see
> > http://www.ietf.org/mail-archive/web/core/current/msg00133.html (this
> > impacts the scalability of the web service model too)
> >
> >
> > In coap-01 the Method names are now identical to HTTP methods. The
> >
> >
> > Req/Res interaction is a direct translation. The URI hierarchy is
> > compatible, and the URI binary code format we are still working on
> > obviously. The only thing that takes some state to translate is
> > Subscribe/Notify. But note, Subscribe/Notify takes some state no matter
> > how you do it, even with HTTP-HTTP there is no clean and easy way to
> > handle subscriptions.
> >
> >
> >
> > b) Moreover, CoAP's implementation is not as simple as it should be.
> > I've investigated the implementation and some design choices (as
> > Options) are leading to very high program complexity (ROM) on a
> > MSP430-based device.
> >
> >
> > This we can definitely improve, and already made several optimizations
> >
> >
> > from -00 to -01. Here I need some very concrete proposals though. Also
> > remember that many things are optional, for example subscribe/notify is
> > not required if you don't need it.
> >
> >
> >
> > c) Finally when comparing HTTP message size with CoAP message size,
> > the resulting compression isn't as good as you may expect.
> >
> > Example:
> > HTTP: GET /sensor/temp.xml HTTP/1.0 = 32 B
> > CoAP: 24 B with options parsing procedure requiring an added
> > implementation complexity
> >
> >
> > Right, that is not how it will work in practice. Working with a real
> >
> >
> > HTTP server that HTTP header will be more complex, and on the CoAP side
> > you would chose shorter URLs. The biggest improvement possible here is
> > from using binary coded URLs of course. We need to look at a wider range
> > of interactions and real HTTP headers as well to check that we are
> > efficient enough.
> >
> >
> >
> > Addressing all these points potentially leads to major technical
> > modifications (especially point a) on the current draft, hence it is
> > appropriate in my opinion to discuss these points before making the
> > final decision.
> >
> >
> > I am not sure what else you have in mind for a). If we just forget
> >
> >
> > about Subscribe/Notify then you are good to go. But then you are also
> > not fulfilling the charter or the industry needs in that respect.
> >
> >
> > Thanks,
> > Zach
> >
> >
> >
> > Best regards,
> >
> > Angelo P. Castellani
> >
> >
> > On Mon, May 10, 2010 at 18:51, Carsten Bormann<cabo@tzi.org>wrote:
> >
> >
> > The CORE WG has a milestone to select a WG document for CoAP in
> >
> >
> > April:
> >
> >
> > http://datatracker.ietf.org/wg/core/charter/
> > ...
> > Apr 2010 Select WG document for basis of the CoAP protocol
> >
> > Of the various documents that have been contributed,
> >
> >
> > draft-shelby-core-coap has significant discussion, as well as the
> > largest number of updates (including a previous version that was still
> > called -6lowapp-coap).
> >
> >
> > Today, another updated version of that draft was announced. See
> > http://www.ietf.org/mail-archive/web/core/current/msg00138.html
> > for the announcement and
> > http://tools.ietf.org/html/draft-shelby-core-coap-01
> > for the draft itself.
> >
> > However, as the authors say, there are still significant TODOs.
> >
> > Are we in a state yet where we can say whether this is the right
> >
> >
> > direction for the WG to take?
> >
> >
> > If yes, is it the right direction? Should we adopt it as a WG
> >
> >
> > document?
> >
> >
> > If you don't think we can say yet, is there a set of technical
> >
> >
> > decisions you would like the authors to take with priority?
> >
> >
> > Note that once a document has become a WG document, the authors act
> >
> >
> > as editors for the working group, making (and usually fleshing out the
> > details of) any change that the WG decides it needs.
> >
> >
> > If you think we can still improve the draft, this is not an obstacle
> >
> >
> > to making it a WG document.
> >
> >
> > But of course we shouldn't do that if we intend to reverse its
> >
> >
> > fundamental technical direction.
> >
> >
> > In order to stay roughly in sync with our milestones, we should
> >
> >
> > reach at a decision on how to go forward this week.
> >
> >
> > Gruesse, Carsten
> >
> > _______________________________________________
> > core mailing list
> > core@ietf.org
> > https://www.ietf.org/mailman/listinfo/core
> >
> >
> >
> > _______________________________________________
> > core mailing list
> > core@ietf.org
> > https://www.ietf.org/mailman/listinfo/core
> >
> >
> > --
> > Zach Shelby, Chief Nerd, Sensinode Ltd.
> > http://zachshelby.org - My blog "On the Internet of Things"
> > http://6lowpan.net - My book "6LoWPAN: The Wireless Embedded Internet"
> > Mobile: +358 40 7796297
> >
> >
> >
> >
> > _______________________________________________
> > core mailing list
> > core@ietf.org
> > https://www.ietf.org/mailman/listinfo/core
> >
> > --------------------------------
> > Onzo is a limited company number 06097997 registered in England& Wales.
The
> > registered office is 6 Great Newport Street, London, WC2H 7JB, United
> Kingdom.
> >
> > This email message may contain confidential and/or privileged
information,
> and
> > is intended solely for the addressee(s). If you have received this email
in
> > error, please notify Onzo immediately. Unauthorised copying, disclosure
or
> > distribution of the material in this email is forbidden.
> > --------------------------------
> >
> > _______________________________________________
> > core mailing list
> > core@ietf.org
> > https://www.ietf.org/mailman/listinfo/core
> >
> > ______________________________________________________________________
> > This email has been scanned by the MessageLabs Email Security System.
> > ______________________________________________________________________
> >
> > _______________________________________________
> > core mailing list
> > core@ietf.org
> > https://www.ietf.org/mailman/listinfo/core
> >
> >
> >
> > _______________________________________________
> > core mailing list
> > core@ietf.org
> > https://www.ietf.org/mailman/listinfo/core
> >
> > --------------------------------
> > Onzo is a limited company number 06097997 registered in England& Wales.
The
> > registered office is 6 Great Newport Street, London, WC2H 7JB, United
> Kingdom.
> >
> > This email message may contain confidential and/or privileged
information,
> and
> > is intended solely for the addressee(s). If you have received this email
in
> > error, please notify Onzo immediately. Unauthorised copying, disclosure
or
> > distribution of the material in this email is forbidden.
> > --------------------------------
> >
> >
> >
> >
> > _______________________________________________
> > core mailing list
> > core@ietf.org
> > https://www.ietf.org/mailman/listinfo/core
> > _______________________________________________
> > core mailing list
> > core@ietf.org
> > https://www.ietf.org/mailman/listinfo/core
> >
> >
> >
> > ______________________________________________________________________
> > This email has been scanned by the MessageLabs Email Security System.
> >
>
____________________________________________________________________________
__
> _______________________________________
> > core mailing list
> > core@ietf.org
> > https://www.ietf.org/mailman/listinfo/core
> >
> > _______________________________________________
> > core mailing list
> > core@ietf.org
> > https://www.ietf.org/mailman/listinfo/core
> 
> --
> Zach Shelby, Chief Nerd, Sensinode Ltd.
> http://zachshelby.org  - My blog "On the Internet of Things"
> http://6lowpan.net - My book "6LoWPAN: The Wireless Embedded Internet"
> Mobile: +358 40 7796297
> 
> _______________________________________________
> core mailing list
> core@ietf.org
> https://www.ietf.org/mailman/listinfo/core