Re: [core] Fwd: New Version Notification for draft-hartke-coap-observe-00
Klaus Hartke <klaus.hartke@googlemail.com> Thu, 24 June 2010 17:52 UTC
Return-Path: <klaus.hartke@googlemail.com>
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 CB1113A682E for <core@core3.amsl.com>; Thu, 24 Jun 2010 10:52:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.223
X-Spam-Level: *
X-Spam-Status: No, score=1.223 tagged_above=-999 required=5 tests=[BAYES_50=0.001, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_55=0.6]
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 uQLT1Ec5pR0F for <core@core3.amsl.com>; Thu, 24 Jun 2010 10:52:54 -0700 (PDT)
Received: from mail-bw0-f44.google.com (mail-bw0-f44.google.com [209.85.214.44]) by core3.amsl.com (Postfix) with ESMTP id 1B1CB3A68DB for <core@ietf.org>; Thu, 24 Jun 2010 10:52:53 -0700 (PDT)
Received: by bwz12 with SMTP id 12so345535bwz.31 for <core@ietf.org>; Thu, 24 Jun 2010 10:52:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=Rvw63XDkNA0h9+FRGsEM9E+BE+9TI4kDIHn2YZQBQHI=; b=JCJuauoRC/wC3bmUMR9BqvaC7vxmQsjlMKItyhWbg8k8T5tfWk3eKsYLRoHUoNP+r7 9RYwSDuxYnU79F7D5y3ys22zq635ulpNJN5wcCNfgtF5lxeuPFL2obX1ZLHXJTe03Nfr B1bPuR2jO22Nwrm6RMwXXBHRm4/vIFsp7AtGc=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=Bd2ZDEykMkywhDVi4ze4UxAoFpHPlE7BB8ZZTEqFpOIV1OXuIOG+6fcth3TYE6PXLI dOuKPmImuMITT8X6dL5sMzMC2EDeWePwaEFYCNUy4nvqshiEdBB9ogZ4fmavzIvn2SH9 jUD91GysAwobCHJsgEaK5hFQV0QUC5J3g68fM=
MIME-Version: 1.0
Received: by 10.204.163.142 with SMTP id a14mr6686774bky.4.1277401976769; Thu, 24 Jun 2010 10:52:56 -0700 (PDT)
Received: by 10.204.65.84 with HTTP; Thu, 24 Jun 2010 10:52:56 -0700 (PDT)
In-Reply-To: <3A0432F2-457D-47B4-A826-9678E8F5DB57@sensinode.com>
References: <20100622203528.0519A28C0D0@core3.amsl.com> <A9654C45-840C-4682-AA1A-9EAF44D81138@tzi.org> <3A0432F2-457D-47B4-A826-9678E8F5DB57@sensinode.com>
Date: Thu, 24 Jun 2010 19:52:56 +0200
Message-ID: <AANLkTimLt_VK2dAEbvbqq3x0yjEZEofZF-ekNV5UkdPY@mail.gmail.com>
From: Klaus Hartke <klaus.hartke@googlemail.com>
To: core <core@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Subject: Re: [core] Fwd: New Version Notification for draft-hartke-coap-observe-00
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: Thu, 24 Jun 2010 17:52:55 -0000
On 23 June 2010 17:24, Zach Shelby <zach@sensinode.com> wrote: > - The requirements are good, however we should not require an end-point to support observation for its resources. It is up to the server if a resources is "observable" or not, and thus very simple end-points may leave that feature out to minimize code size. Of course. If SUBSCRIBE has no meaning for a resource, it's not required to offer that method ("405 Method Not Allowed"). If you restrict a server to have no resources that allow SUBSCRIBE, such code minimization is possible. > - Are we sure we need all the requirements here, or are some nice-to-have? I believe that all requirements are needed to implement the architecture. Whether all elements of the architecture are needed, should be discussed. > For example: "A subscribing client must be able to influence the representation format in which the server supplies the resource state" I would hope this doesn't end up resulting in a bunch of Accept: style headers? Couldn't that be left to the application to offer URLs with different representation formats? I am not convinced this should be a transfer protocol requirement for CoAP. I think both options (/sensors/temperature.xml or Accept: application/xml) are valid ways to satisfy this requirement. If we go with the Accept header, we need to add a new option to CoAP. I'm in favour of .xml in the URL. There is another requirement related to the representation format, which is probably more important: "The representation format used during the lifetime of a subscription must not change." I think this is a requirement that should be stated somewhere. > - At first glance this looks overly complicated, but I think it is because you are modeling this as a format design pattern and are exploring this is detail. I am hoping that realizing this would be a whole lot simpler? The list of requirements aims to be exhaustive, but many requirements can be satisfied by introducing very simple protocol elements (such as confirmable requests). I think the message exchanges in coap-observe-00 (section 4) are already quite pleasing to the eye. > - SUBSCRIBE, UNSUBSCRIBE, YIELD, BREAK, THROW are abstract concepts at this point, I would think these could be combined quite a bit in realization? What kind of realization do you guys have in mind (just for a sneak preview to see if this is nuts or not). Carsten and I are working on concrete message types. The result will probably not be that different from what we have in coap-00 currently. > - The notification messages seem to be sometimes representations and sometimes error codes. Is this suggesting that an (abstract) notification message would need to carry both a representation and a CoAP code. BREAK and THROW are also shows as being piggybacked on replies, so they basically are CoAP codes. So YEILD = representation, and BREAK+THROW = CoAP codes? Yes. YIELD mainly carries a representation, but it may also just indicate that the resource changed to one of the states cached by the client ("304 Not Modified"). THROW mainly carries an error code (e.g., 404, 401 or 500), but I think it might also be useful to be able to include diagnostic information in the payload for debugging purposes. > - Regarding Section 6, I prefer "way 1", seems much cleaner to me, has less state and is useful in a proxy. I'm currently experimenting with an implementation that does way 2. The implementation so far is very elegant and clean, requires less state, and uses smaller messages. But I haven't made up my mind yet. Klaus
- [core] Fwd: New Version Notification for draft-ha… Carsten Bormann
- Re: [core] Fwd: New Version Notification for draf… Zach Shelby
- [core] Can all responses be instant? (Re: Fwd: Ne… Carsten Bormann
- Re: [core] Can all responses be instant? (Re: Fwd… Angelo P. Castellani
- Re: [core] Fwd: New Version Notification for draf… Klaus Hartke
- Re: [core] Fwd: New Version Notification fordraft… Simpson, Robby (GE Energy Services)
- Re: [core] Fwd: New Version Notification fordraft… Carsten Bormann
- Re: [core] Fwd: New Version Notification fordraft… Klaus Hartke
- Re: [core] Fwd: New Version Notification for draf… Zach Shelby
- Re: [core] Fwd: New Version Notification fordraft… Zach Shelby
- Re: [core] Fwd: New Version Notification fordraft… Simpson, Robby (GE Energy Services)
- Re: [core] Can all responses be instant? (Re: Fwd… Zach Shelby