Re: [6lowapp] HTTP and SIP

"Don Sturek" <d.sturek@att.net> Sun, 11 October 2009 22:18 UTC

Return-Path: <d.sturek@att.net>
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 2DAB23A66B4 for <6lowapp@core3.amsl.com>; Sun, 11 Oct 2009 15:18:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.785
X-Spam-Level: *
X-Spam-Status: No, score=1.785 tagged_above=-999 required=5 tests=[BAYES_50=0.001, HTML_MESSAGE=0.001, IP_NOT_FRIENDLY=0.334, MSGID_MULTIPLE_AT=1.449]
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 dLkxrlJF7Bvn for <6lowapp@core3.amsl.com>; Sun, 11 Oct 2009 15:18:48 -0700 (PDT)
Received: from smtp102.sbc.mail.gq1.yahoo.com (smtp102.sbc.mail.gq1.yahoo.com [67.195.15.61]) by core3.amsl.com (Postfix) with SMTP id 8A9123A6848 for <6lowapp@ietf.org>; Sun, 11 Oct 2009 15:18:45 -0700 (PDT)
Received: (qmail 56895 invoked from network); 11 Oct 2009 22:18:43 -0000
Received: from (d.sturek@202.130.198.3 with login) by smtp102.sbc.mail.gq1.yahoo.com with SMTP; 11 Oct 2009 15:18:43 -0700 PDT
X-Yahoo-SMTP: fvjol_aswBAraSJvMLe2r1XTzhBhbFxY8q8c3jo-
X-YMail-OSG: i3y5ycYVM1n4ameQChpFoBcD8vkxfQYo81xTwCzKg.bMPNVAQKUXhstdF39jDGMbONbBSndhYqORlL7i7ssnQU9VY_3rOaWrxEckT.FkSACpGpKeYUGDQEeoO_36GBR5e9sdvr4J5deLNBYvSdmyS62VJbdcUHfF.wAy4nJLuoO75IUCtO6LjbZDHhmKj7CMp0goGql6GnnadQGWlWyX96ek0id3WVv3EQYVcQpW9ICTnr6bjDCxqIQ5Ghkq65mZPb2LI0EnBFpbTQZJ7T1h3m4jLB__pSO2ZRlz.Fsm4nJrOujK6g--
X-Yahoo-Newman-Property: ymail-3
From: "Don Sturek" <d.sturek@att.net>
To: "'Shidan'" <shidan@gmail.com>
References: <429b380e0910101030q25f1ad7fge7157c2e04b5d530@mail.gmail.com> <4AD105DC.3070407@sics.se> <-3576688268114842355@unknownmsgid> <429b380e0910101840r93129edmae938b4c20eba50f@mail.gmail.com>
In-Reply-To: <429b380e0910101840r93129edmae938b4c20eba50f@mail.gmail.com>
Date: Sun, 11 Oct 2009 15:18:35 -0700
Message-ID: <004001ca4ac0$c91e68b0$5b5b3a10$@sturek@att.net>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0041_01CA4A86.1CBF90B0"
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: AcpKE9feu4czlODhR1C+gxR2SayxYwAq9TQQ
Content-Language: en-us
Cc: 6lowapp@ietf.org
Subject: Re: [6lowapp] HTTP and SIP
X-BeenThere: 6lowapp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: d.sturek@att.net
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: Sun, 11 Oct 2009 22:18:58 -0000

Hi Shidan,

 

One more issue:     We have existing smart energy messaging using a
proprietary binary protocol.  We then created an XML structure for these
messages then used W3C EXI to tokenize.  Here is what we ended up with:

Binary Protocol Message Size:    6 Bytes

XML Message Size:  376 Bytes

W3C EXI Tokenized XML Message Size:  12 Bytes.

 

The issue you run into is this:  If you have a data collector model where
many messages are forwarded from leaf nodes up to a central node (like the
ROLL DAG root for example), then you find that the nodes close to the root
have dramatically lower throughput due to congestion from packet forwarding
from the leaf nodes towards the popular data collector device.  We have many
deployments where the IEEE 802.15.4 effective throughput of 140Kpbs turns
into 9Kpbs as you forward towards the data collector.  These deployments are
using a binary protocol where nearly all messages fit into a single packet.
Now, consider what happens where each and every message turns into MANY
packet exchanges.  You will quickly see this does not work..

 

I agree with what Zach wrote in a later note.    I don't want to dissuade
anyone who finds HTTP or SIP working over IEEE 802.15.4 from using it.
However, I think the problem statement in 6LowAPP stands at least for the
smart energy application I am familiar with.

 

Don

 

 

From: Shidan [mailto:shidan@gmail.com] 
Sent: Saturday, October 10, 2009 6:41 PM
To: d.sturek@att.net
Cc: Adam Dunkels; 6lowapp@ietf.org
Subject: Re: [6lowapp] HTTP and SIP

 

Hi Don, I certainly don't disagree with you that we need better latency and
I'm pretty sure Adam doesn't either as he said this is without ANY
optimizations. Given that fact, his statement is quite impressive.

 

The key here is to actually back up any ideas and opinions with real results
and this is what we are in the process of doing.

 

Right now for our purposes, in the Smart Grid domain, we can run SIP, with
some minor changes beyond stack size optimizations, over networks with as
little bandwidth as 80kbps and highly constrained devices. We also
acknowledge for our use cases, latency is not really an issue. 

 

I'm pretty convinced that with the RIGHT sort of optimizations, any latency
issues can be handled without having to dictating general architectural
standards like using REST, SNMP, SIP, etc. which can stifle innovation and
lead to building everything with a hammer. 

 

Having said that Carsten's note is encouraging and I'm pretty convinced this
committee has in mind creating a base that will evolve without stifling
innovation and take real results and proof of concepts of use cases as main
deciding factors. We will definitely be submitting an ID for Hiroshima.

 

--

Shidan Gouran

 

On Sat, Oct 10, 2009 at 8:56 PM, Don Sturek <d.sturek@att.net> wrote:

Hi Adam.
.5 seconds for one hop and 2 seconds for 4 hops are really not acceptable
for many applications.

We should of course investigate using existing protocols.   However it does
not seem likely that full HTTP and XML deployed over devices like IEEE
802.15.4 with very small packet sizes will scale very well  (certainly, for
any application expecting to do home or building controls, those latencies
don't work).  Ideally, we should find something that allows for full
HTTP/etc. while enabling constrained devices to operate with a solution that
can be expanded/compressed.

Don



-----Original Message-----
From: 6lowapp-bounces@ietf.org [mailto:6lowapp-bounces@ietf.org] On Behalf
Of Adam Dunkels
Sent: Saturday, October 10, 2009 3:08 PM
To: Shidan
Cc: 6lowapp@ietf.org
Subject: Re: [6lowapp] HTTP and SIP

Shidan wrote:
> "request-response protocols like HTTP may require battery-operated,
> mostly sleeping nodes to be listening for requests much more frequently
> than their application processing requirements alone would need them to
> wake up."
>
> "In addition, some of the applications may require optimizations in
> terms of bandwidth usage; for example, the usual data formats (both
> headers and body) are perceived to be too chatty for the 50-60 byte
> payloads possible in LoWPANs.  Their interpretation and generation may
> require too much code for the 8-bit and 16-bit processors dominating
> LoWPAN nodes."
>
> None of these points seem evident to me.

I very much agree with this. By so quickly dismissing the opportunities
with existing protocols such as HTTP and SIP, this group may miss
reaching widespread adoption of its protocols.

Both these arguments were frequently used in the past against IP for
resource-constrained systems, yet today we take IP for granted for these
systems despite the overheads of IP. We need to a pay price for
interoperability and flexibility, but we think it is worth it.

FWIW, we've recently been working with REST web services
(REST/HTTP/TCP/IP) over 802.15.4 with a low-power duty-cycling radio
protocol (X-MAC) for Contiki. The implementation of the application
layers (REST/HTTP) has roughly a 5kb code footprint. The performance is
not bad: a full HTTP/TCP/IP REST transaction with sensor data in XML
format is completed in roughly 0.5 seconds over a one-hop radio link and
in less than 2 seconds over a four-hop radio network:

http://www.sics.se/~adam/yazar09efficient.pdf

Note that this is without any optimizations at the REST/HTTP/TCP/IP
layers. Full HTTP headers are sent from the curl client, reducing the
overall performance. Full XML is sent from the sensors. Thus there is
plenty of opportunity to improve this without moving away from the
HTTP/TCP/IP framework. For example, as we show in the above paper, there
are significant savings in using conditional HTTP GETs when data have
not changed between subsequent requests.

Like Shidan, I am not saying that we necessarily must use full-fledged
REST/HTTP/TCP/IP or SIP for everything in our resource-constrained
networks. But we mustn't so quickly rule out existing mechanisms just
because of their perceived overhead. Interoperability and flexibility
are very important properties, often more important than bit-level
optimizations.

/adam
--
Adam Dunkels <adam@sics.se>se>, +46707731614
http://twitter.com/adunk | http://www.sics.se/~adam/

_______________________________________________
6lowapp mailing list
6lowapp@ietf.org
https://www.ietf.org/mailman/listinfo/6lowapp