Re: [6lowapp] draft-shelby-6lowapp-coap-00

Zach Shelby <zach@sensinode.com> Wed, 27 January 2010 08:14 UTC

Return-Path: <zach@sensinode.com>
X-Original-To: 6lowapp@core3.amsl.com
Delivered-To: 6lowapp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 963DE3A681F for <6lowapp@core3.amsl.com>; Wed, 27 Jan 2010 00:14:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 6a6a85xdxbKU for <6lowapp@core3.amsl.com>; Wed, 27 Jan 2010 00:14:22 -0800 (PST)
Received: from auth-smtp.nebula.fi (auth-smtp.nebula.fi [217.30.180.105]) by core3.amsl.com (Postfix) with ESMTP id 3B6FE3A63D3 for <6lowapp@ietf.org>; Wed, 27 Jan 2010 00:14:20 -0800 (PST)
Received: from [62.145.172.51] ([62.145.172.51]) (authenticated bits=0) by auth-smtp.nebula.fi (8.13.4/8.13.4) with ESMTP id o0R8EUA2006324 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Wed, 27 Jan 2010 10:14:31 +0200
Mime-Version: 1.0 (Apple Message framework v1077)
Content-Type: text/plain; charset="iso-8859-1"
From: Zach Shelby <zach@sensinode.com>
In-Reply-To: <49617D19-49D0-4EAB-9740-5B1926C05D9E@sensinode.com>
Date: Wed, 27 Jan 2010 10:14:31 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <0648E2DF-B4A0-4BB8-9E63-BB34765945CA@sensinode.com>
References: <0B3D3615-F1AB-4067-B758-0A988C10CD98@sensinode.com> <0D212BD466921646B58854FB79092CEC011D9BCE@XMB-AMS-106.cisco.com> <B5584ABB89131542BEA01BFAF71A738781E2BC6517@NLCLUEXM03.connect1.local> <49617D19-49D0-4EAB-9740-5B1926C05D9E@sensinode.com>
To: Zach Shelby <zach@sensinode.com>
X-Mailer: Apple Mail (2.1077)
Cc: 6LoWAPP <6lowapp@ietf.org>
Subject: Re: [6lowapp] draft-shelby-6lowapp-coap-00
X-BeenThere: 6lowapp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Application protocols for constrained nodes and networks <6lowapp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/6lowapp>, <mailto:6lowapp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/6lowapp>
List-Post: <mailto:6lowapp@ietf.org>
List-Help: <mailto:6lowapp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6lowapp>, <mailto:6lowapp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Jan 2010 08:14:23 -0000

And a figure may help, this is what using a long poll would look like:

Sensor  <---------  coap --------->  Proxy <---------- http -----------> Client	 

	 CREATE subscribe /temp	   <<<	  POST subscribe /temp
			   OK			   >>> 	 	   OK (/sub1)	    
							     *  	      LONG GET /sub1
									       GET stays open....
*/temp changes*						
 		NOTIFY /temp		  >>>	 	    OK (/temp)
		           OK


On Jan 27, 2010, at 10:00 , Zach Shelby wrote:

> I think there is a misunderstanding there. Adriano was describing what technique could be used on the HTTP side to realize the mapping with the CoAP subscribe/notify feature. Obviously the CoAP side would use asynchronous notifications sent by the sensor node, no problem there. When a proxy (server node below) maps that to HTTP, you need to use some kind of long pull technique between the proxy and the HTTP subscriber. Lisa gave a good pointer that the new HYBI working group is chartered to develop a long pull approach for HTTP - which we may be able to make use of.
> 
> Did I summarize that right Adriano?
> 
> Zach
> 
> On Jan 27, 2010, at 9:53 , Van Der Stok, Peter wrote:
> 
>> Hi Zach, Adriano,
>> 
>> I would not be too happy about polling a sleeping device. It kind of beats the original purpose of having a subscription.
>> 
>> Peter
>> 
>> -----Original Message-----
>> From: 6lowapp-bounces@ietf.org [mailto:6lowapp-bounces@ietf.org] On Behalf Of Adriano Pezzuto (apezzuto)
>> Sent: Tuesday 26 January 2010 18:56
>> To: Zach Shelby
>> Cc: 6LoWAPP
>> Subject: Re: [6lowapp] draft-shelby-6lowapp-coap-00
>> 
>> Hi Zach,
>> I would to give a bit regarding CoAP/HTTP mapping and notification messages from constrained devices to wider Internet and vice versa.
>> 
>> Basically, the issue here is that HTTP has a synchronous request-response model where a NOTIFY is an asynch event. Searching on the REST literature, there is cute way to handle asynch tasks within a synch model. Let to split the asynch operation into more synchronous requests. The first request spawns the operation, and the other requests let the client to be informed about the status of the operation.
>> 
>> Let to consider a client node on the internet subscribing to a server node for a data event notification (e.g. temperature crossing a threshold). The server node is in the constrained environment and a CoAP/HTTP interworking function is running between client and server.
>> 
>> The client node makes its subscribe request by sending a POST message to the server node.
>> The server node accepts the request, creates a new resource representing the event and put it in a queue.
>> Instead of keeping the client node waiting until the event happens, the server sends to the client (by CoAP/HTTP IWF) an HTTP 202 Accepted and gives it a new URL that represents the new created resource.
>> Then the client can make GET requests to that URL until the event happens.
>> Once the client has 'consumed' the event it can DELETE the event resource from the server queue.
>> 
>> Better ways exist to accomplish the same task but hope this can help.
>> 
>> Regards,
>> Adriano
>> 
>> 
>> -----Original Message-----
>> From: 6lowapp-bounces@ietf.org [mailto:6lowapp-bounces@ietf.org] On Behalf Of Zach Shelby
>> Sent: martedì 19 gennaio 2010 14.37
>> To: 6LoWAPP
>> Subject: [6lowapp] draft-shelby-6lowapp-coap-00
>> 
>> Does anyone have comments/ideas regarding http://www.ietf.org/id/draft-shelby-6lowapp-coap-00.txt that we submitted before the holidays? We would like to start some design work, so any feedback would be really useful. I've identified some areas where we need input/discussion on the list:
>> 
>> 1. Content-type encoding (Section 2.4). Any ideas or suggestions on how to encode this and what is enough space? How should such an encoding be managed, ask IANA to do that? Any pointers to a similar encoding done elsewhere?
>> 
>> 2. Caching (Section 2.6). Should we go towards an in-band or an out-of-band discovery approach? Personally I think an in-band approach is by far the simplest, although it requires some header space when present.
>> 
>> 3. Subscribe/Notify (Section 2.7). This is an area that definitely needs discussion. The current proposal is to use a REST interface to create subscriptions and which are then sent using a NOTIFY message to a call-back URL. How to format the body o the subscription (URL to subscribe to, URL call-back, parameters?).
>> 
>> 4. Resource Discovery (Section 2.9). The proposal is to use a new DISCOVER method which can be sent either unicast or multicast. The only difficult part there is the format of the list of resources (URLs) which would be returned in such a response. This is a little bit like index.html. We had some discussions in Hiroshima that XMPP has developed some ways of coding lists of URLs and that could be re-used. Does someone have a pointer for us on that?
>> 
>> Thanks,
>> Zach
>> 
>> --
>> http://www.sensinode.com
>> http://zachshelby.org - My blog "On the Internet of Things"
>> http://6lowpan.net - New book - "6LoWPAN: The Wireless Embedded Internet"
>> Mobile: +358 40 7796297
>> 
>> Zach Shelby
>> Head of Research
>> Sensinode Ltd.
>> Kidekuja 2
>> 88610 Vuokatti, FINLAND
>> 
>> This e-mail and all attached material are confidential and may contain legally privileged information. If you are not the intended recipient, please contact the sender and delete the e-mail from your system without producing, distributing or retaining copies thereof.
>> 
>> 
>> 
>> 
>> _______________________________________________
>> 6lowapp mailing list
>> 6lowapp@ietf.org
>> https://www.ietf.org/mailman/listinfo/6lowapp
>> _______________________________________________
>> 6lowapp mailing list
>> 6lowapp@ietf.org
>> https://www.ietf.org/mailman/listinfo/6lowapp
>> 
>> The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.
> 
> -- 
> http://www.sensinode.com
> http://zachshelby.org - My blog "On the Internet of Things"
> http://6lowpan.net - New book - "6LoWPAN: The Wireless Embedded Internet"
> Mobile: +358 40 7796297
> 
> Zach Shelby
> Head of Research
> Sensinode Ltd.
> Kidekuja 2
> 88610 Vuokatti, FINLAND
> 
> This e-mail and all attached material are confidential and may contain legally privileged information. If you are not the intended recipient, please contact the sender and delete the e-mail from your system without producing, distributing or retaining copies thereof. 
> 
> 
> 
> 
> _______________________________________________
> 6lowapp mailing list
> 6lowapp@ietf.org
> https://www.ietf.org/mailman/listinfo/6lowapp

-- 
http://www.sensinode.com
http://zachshelby.org - My blog "On the Internet of Things"
http://6lowpan.net - New book - "6LoWPAN: The Wireless Embedded Internet"
Mobile: +358 40 7796297

Zach Shelby
Head of Research
Sensinode Ltd.
Kidekuja 2
88610 Vuokatti, FINLAND

This e-mail and all attached material are confidential and may contain legally privileged information. If you are not the intended recipient, please contact the sender and delete the e-mail from your system without producing, distributing or retaining copies thereof.