Re: [6lowapp] Proposed charter for 6LoWAPP BOF

Henning Schulzrinne <hgs@cs.columbia.edu> Wed, 04 November 2009 22:00 UTC

Return-Path: <hgs@cs.columbia.edu>
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 90F693A686C for <6lowapp@core3.amsl.com>; Wed, 4 Nov 2009 14:00:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[AWL=-0.001, BAYES_00=-2.599, HTML_MESSAGE=0.001, 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 O+jg1vC5x0WI for <6lowapp@core3.amsl.com>; Wed, 4 Nov 2009 14:00:03 -0800 (PST)
Received: from brinza.cc.columbia.edu (brinza.cc.columbia.edu [128.59.29.8]) by core3.amsl.com (Postfix) with ESMTP id 44EF23A67D3 for <6lowapp@ietf.org>; Wed, 4 Nov 2009 14:00:03 -0800 (PST)
Received: from ice.cs.columbia.edu (ice.cs.columbia.edu [128.59.18.177]) (user=hgs10 mech=PLAIN bits=0) by brinza.cc.columbia.edu (8.14.3/8.14.3) with ESMTP id nA4M0FYG014926 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 4 Nov 2009 17:00:15 -0500 (EST)
Mime-Version: 1.0 (Apple Message framework v1076)
Content-Type: multipart/alternative; boundary=Apple-Mail-14--108059138
From: Henning Schulzrinne <hgs@cs.columbia.edu>
In-Reply-To: <4AF1AD4C.5080908@gridmerge.com>
Date: Wed, 4 Nov 2009 17:00:14 -0500
Message-Id: <6BB19374-5B51-447C-9CFF-DEACCE595312@cs.columbia.edu>
References: <OF164C5409.51429B82-ONC1257663.007E96BE-C1257663.008109C1@schneider-electric.com> <4AF17892.8040108@cisco.com> <0D212BD466921646B58854FB79092CEC9D15C2@XMB-AMS-106.cisco.com> <4AF1AD4C.5080908@gridmerge.com>
To: robert.cragie@gridmerge.com
X-Mailer: Apple Mail (2.1076)
X-No-Spam-Score: Local
X-Scanned-By: MIMEDefang 2.65 on 128.59.29.8
Cc: 6lowapp@ietf.org
Subject: Re: [6lowapp] Proposed charter for 6LoWAPP BOF
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, 04 Nov 2009 22:00:05 -0000

I'm joining this discussion late, so I may be rehashing earlier  
discussions, but I admit to some confusion. We seem to be conflating a  
number of different constraints:
- low bandwidth
- low computational capabilities (CPU, memory)
- lossy links

Some systems suffer from all three, but others don't. For example,  
while an IP-enabled lightswitch may have a puny CPU, it has plenty of  
power and ZigBee is not exactly a low-bandwidth network and can easily  
handle an occasional HTTP or SIP message exchanged among appliances.

On the other hand, there's now a lot of interest in sensors that do  
more than gather a few 8-bit measurements every day, e.g., video and  
audio analysis. For those applications, HTTP isn't exactly the best fit.

Many home networks will incorporate devices from lightswitches and  
temperature sensors to appliances, home entertainment systems and  
electric vehicles. For a light-switch, carrying one bit in a 100-byte  
message isn't really necessary (X10 is far more efficient), but a GET/ 
SET protocol with one value isn't sufficient to control more  
complicated appliances.

Also, with distributed control, an event bus model seems most natural,  
as there will be many listeners for sensors and possibly distributed  
actuators for the same logical function. Again, not exactly a great  
fit for HTTP if operating in a peer-to-peer mode.

Henning

On Nov 4, 2009, at 11:35 AM, Robert Cragie wrote:

> Not considering specific use cases, I see two general requirements  
> coming out here:
> The requirement for a universal application protocol  which can work  
> across the wider internet all the way from head-end to edge devices
> The requirement for an application protocol specific to low-power,  
> resource constrained nodes (CoAP)
> (1) pushes from the wider Internet to the edge devices.
> (2) pushes from the edge devices to the wider Internet.
>
> The utopian aim would be to find the intersection of these  
> requirements, if it exists. Then the Internet of Things truly  
> becomes feasible.
>
> Considering (1) further: The most feasible solution to run over the  
> wider Internet and into the home is likely to be RESTful HTTP over  
> TCP as it is so universally used now and is likely to persist well  
> into the future. One important reason for this argument is that so  
> much existing infrastructure supports this. For example, many small  
> office and home systems use IPv4 and NAT gateways/routers. This is  
> itself puts some imposition on the ability for true end-to-end IP  
> routing as it stands due to the use of TCP/UDP ports. Indeed, the  
> protocol stack ‘waist’ can almost be considered to be HTTP (80/tcp)  
> these days, not IP at layer 3.
>
> Considering (2) further: If we ignored the wider Internet as a  
> whole, there is no doubt that a simple, efficient, low bandwidth  
> application protocol would be developed which is oriented towards  
> CNets. Indeed, one could argue that ZigBee satisfies that  
> requirement very well. This sort of network is also already capable  
> of being connected to the wider Internet through an application  
> level gateway providing translation and also proxying and buffering  
> for low bandwidth and sleepy devices. The fundamental problem with  
> this approach is that the bridging is not occurring at the ‘waist’  
> but at the ‘chest’. The maintenance of all the translations for the  
> numerous networks could become a burden. This is also counter to  
> routing IP at layer 3.
>
> Therefore I see three ways of proceeding:
> Define an application protocol which uses RESTful HTTP over TCP  
> extending to the edge devices and try to find a solution to the  
> problems of TCP over lossy links
> Define an application protocol based on a universal transaction and  
> transport which is flexible enough for all media and takes into  
> consideration the underlying properties of the medium through cross- 
> layer controls. However the scope of this work is probably beyond  
> CoAP and assumes that IPv6 would become pervasive enough not to  
> cause problems with existing infrastructure
> Define new application, transaction and transport protocols oriented  
> towards CNets and define a proxy model for extension into the wider  
> Internet
> Note these are not mutually exclusive. If (1) were done, (3) could  
> still be a solution for devices which do not meet the criteria to  
> satisfy the use of TCP. If (2) were done there would probably be no  
> point in doing (1) or (3). (3) could be done now but does not solve  
> the requirement for "end-to-end", although there are a number of  
> possibilities there if you split the application layer into the  
> three layers defined in OSI, but that's another debate.
>
> Regards,
>
> Robert
>
> Adriano Pezzuto (apezzuto) wrote:
>>
>> Hello,
>> I don't get one point here. Help me to understand.
>> Are we searching for a well known protocol to use as CoAP for  
>> 6lowPAN and WSN networks or are we searching for a "model" to use  
>> for?
>>
>> I'm seeing here a lot of proposal like HTTP, SNMP, SIP, XMPP on the  
>> plate. Each of these protocols have been developed for a specific  
>> purpose keeping in mind specific constraints and requirements and  
>> each of them is a valid choice for the respective domain. On the  
>> other side, each of them have some drawbacks for 6lowPAN and WSN  
>> networks and I see a lot of diverged opinions here.
>>
>> Why we fear for define a new application protocol especially  
>> designed for 6lowPAN and WSN networks?
>>
>> I'm a newbie for 6lowPAN but my feeling is that a simple  
>> lightweight protocol (I also prefer LoAP instead of CoAP) with a  
>> minimal set of primitives (e.g. SET/SET-Reply, GET/GET-Reply and  
>> Event/Ack) is sufficient to cover the most part of the use cases  
>> and interaction models for 6lowPAN and WSN networks. Other items  
>> can be further added on the plate like security, service discovery,  
>> nodes and network management, and so on .. but all they can be  
>> solved with the same minimal approach keeping in mind the real  
>> nature and the scope of 6lowPAN networks. At the end of day, we are  
>> talking about CSMA/CA radio networks with high lossy and few  
>> kilobytes of useful throughput. Also the nodes spend most part of  
>> their time sleeping down to save power or can be inactive for days  
>> (or months). I've some doubts that complex protocols/frameworks  
>> (developed for other scopes than 6lowPAN) can run efficiently on  
>> our small poor devices. But that's only the feeling of a newbie ....
>>
>> Adriano
>>
>> -----Original Message-----
>> From: 6lowapp-bounces@ietf.org [mailto:6lowapp-bounces@ietf.org] On  
>> Behalf Of Paul Duffy (paduffy)
>> Sent: mercoledì 4 novembre 2009 13.50
>> To: nicolas.riou@fr.schneider-electric.com
>> Cc: 6lowapp@ietf.org
>> Subject: Re: [6lowapp] Proposed charter for 6LoWAPP BOF
>>
>> I agree there is a need for more than request/response messaging, but
>> WS_*  gives me pause for constrained devices and links. It is  
>> probably
>> the most compute intensive, bandwidth hungry way to interface HAN- 
>> like
>> endpoints.
>>
>>
>>
>>> Hi Cullen,
>>>
>>>     >----- Message de Cullen Jennings <fluffy@cisco.com> sur Sat, 31
>>> Oct 2009 11:29:41 -0600 -----
>>>     >Pour:        arjun.lists@hsc.com
>>>     >cc:        Don Sturek <donsturek@grid2home.com>om>, 6lowapp@ietf.org
>>>     >Objet:        Re: [6lowapp] Proposed charter for 6LoWAPP BOF
>>>     >
>>>     >On Oct 29, 2009, at 12:11 , Arjun Roychowdhury wrote:
>>>     >
>>>     > ...
>>>     >OK - The way I want to try and derive us towards a decision  
>>> here
>>> is
>>>     >get a list of candidate protocols then for each one ask the
>>> yes/no is
>>>     >the their agreement that we should do a mapping to that  
>>> protocol.
>>>  The
>>>     >protocols I have heard so far are HTTP, SNMP,  SMTP. So two
>>> questions
>>>     >
>>>     >1) what other protocols mapping should we do?
>>>
>>> The charter has significantly changed these days and I would like to
>>> re-state the need for
>>> seamless interfacing between 6lowapp and the DPWS world. DPWS is a  
>>> low
>>> cost SOA solution at
>>> device level and will play a major role in future Building and
>>> Industrial Automation systems
>>> (embedded in zone controllers, Automation servers, industrial
>>> PLCs...). Besides, in some
>>> cases, native support of DPWS in VISTA and Windows 7 network  
>>> explorer
>>> might help in simplifying
>>> discovery and commissioning of devices.
>>> The HTTP REST model proposed in the new charter is sufficient for
>>> simple get/set operations but
>>> I join Vlad Trifa when saying that there are requirements for more
>>> than just request/response
>>> messaging patterns like e.g. publish/subscribe (multicast). IMO
>>> seamless interfacing with WS_*
>>> (at least straightforward proxying) must be provided to ensure
>>> efficient integration of 6lowpan networks
>>> in upcoming architectures.
>>>
>>> Regards.
>>> Nicolas
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> 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
>> _______________________________________________
>> 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