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

Cullen Jennings <fluffy@cisco.com> Sat, 31 October 2009 17:29 UTC

Return-Path: <fluffy@cisco.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 D2F1A3A68C3 for <6lowapp@core3.amsl.com>; Sat, 31 Oct 2009 10:29:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.312
X-Spam-Level:
X-Spam-Status: No, score=-110.312 tagged_above=-999 required=5 tests=[AWL=0.287, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
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 5rcWfrdq-O8c for <6lowapp@core3.amsl.com>; Sat, 31 Oct 2009 10:29:26 -0700 (PDT)
Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140]) by core3.amsl.com (Postfix) with ESMTP id 1926A3A67EC for <6lowapp@ietf.org>; Sat, 31 Oct 2009 10:29:25 -0700 (PDT)
Authentication-Results: ams-iport-1.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AjgAAH8Q7EqQ/uCWe2dsb2JhbACbUwEBFiQGqCKXeYQ5BA
X-IronPort-AV: E=Sophos;i="4.44,659,1249257600"; d="scan'208";a="53281353"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-1.cisco.com with ESMTP; 31 Oct 2009 17:29:43 +0000
Received: from ams3-vpn-dhcp4750.cisco.com (ams3-vpn-dhcp4750.cisco.com [10.61.82.141]) by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id n9VHT0b9024147; Sat, 31 Oct 2009 17:29:41 GMT
Mime-Version: 1.0 (Apple Message framework v1076)
Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes
From: Cullen Jennings <fluffy@cisco.com>
In-Reply-To: <a9994e940910291111r5523e6eer581313f8fee12cba@mail.gmail.com>
Date: Sat, 31 Oct 2009 11:29:41 -0600
Content-Transfer-Encoding: 7bit
Message-Id: <71DDE42E-E6D4-49D7-8F2E-699FBBDBAC12@cisco.com>
References: <B27B00F8-1A4F-4258-86FC-C02E78778E45@cisco.com> <184E130A-881A-4E1F-8408-FB03A7849A82@sensinode.com> <CE5B892A-3699-4CBF-8B6A-588F5A7DE99A@cisco.com> <EB735931-0D15-4017-94F1-3B10A0EC814D@sensinode.com> <843F0B9E-8C62-47A6-AFEC-4BE31D62CDB5@cisco.com> <2AA1E2A3-9EA9-4B94-85BA-834C66826A85@tzi.org> <C93E77B9-349F-451C-BAED-273555EEE5DE@cisco.com> <a9994e940910291111r5523e6eer581313f8fee12cba@mail.gmail.com>
To: arjun.lists@hsc.com
X-Mailer: Apple Mail (2.1076)
Cc: Don Sturek <donsturek@grid2home.com>, 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: Sat, 31 Oct 2009 17:29:27 -0000

On Oct 29, 2009, at 12:11 , Arjun Roychowdhury wrote:

> My comments:
>
> The charter seems to combine goals as well as architecture together  
> in one go. Probably can be simplified ? Specific comments below:
>
>
> On Thu, Oct 29, 2009 at 2:42 AM, Cullen Jennings <fluffy@cisco.com>  
> wrote:
>
>
> Applications are being developed for networks that have very limed  
> packets sizes, have high degree of packet loss, and where a  
> substantial number of devices that may be powered of at any point in  
> time but periodically "wake up" for beef periods of time. These  
> Networks are referred to as Constrained Networks (CNEets). Low-Power  
> Wireless Personal Area Networks (LoWPANs) are an example of this  
> type of network. These networks are becoming increasing important  
> for applications such as home automation, energy management, and the  
> Internet of Things. This working group will define a framework a  
> limited class of applications that deal with manipulation of simple  
> resources on devices on a CNet. This includes applications to  
> monitor simple sensors such as a temperature gauge, light switch, or  
> power meter and control an actuator such as a light switch, heating  
> system, or door lock. Typical uses include power management and  
> reporting, and home automation.
>
> ARC> We are implicitly stating that devices in a lowpan will have  
> simple management requirements (kind of like set/get mostly). I'd  
> like to see this group also consider (in terms of usecases) what are  
> the various control functions that are desirable, given an internet  
> connect ecosystem? I don't think we should assume that just because  
> most home control was mostly about simple on/off/read  till date,  
> that is what we should architect for. It is a minimal requirement,  
> but not complete by itself.

You bring up an important architecture consideration in design of a  
system like this. Roughly I think about the different levels of data/ 
transaction models we could have as going something like this

In order of complexity...

1) simple set of fixed variables that could be controlled

2) a single flat list of dynamically changeable set of variables that  
can can take on simple types (I might place IPFIX as being somewhat  
close to this model)

3) a hierarchical list of variables that can be related (I'd place  
basic usage SNMP roughly in this category but more advanced usage of  
SNMP probably can do category 4)

4) a REST based approach (I'd place HTTP REST in this case)

5) a full RPC model (I'd place CORBA in this class)

Every use case I have seen so far could be solved by 3, 4, or 5. I  
think most people have expressed an opinion that about 4 looks about  
the right level of flexibility for this. So the questions is, if there  
is pretty good agreement on that, then I think we should just roll  
with it as tentative decision and see what it starts looking like as a  
design evolves. As the design evolves, one may find this was a bogus  
choice and need to revisit it. If you think there is a strong argument  
for 3 or 5 or even 1 or 2, lets get that info out on the list.


>
>
>
> The general architecture consists of nodes on the CNet, called  
> Devices, that have one or more Resources that represent sensors and  
> actuators. Devices send message to change and query resources on  
> other devices. Devices can send notifications about changed resource  
> values to subscribed Devices. In other words, the architecture  
> requires push, pull and and a notify approach to manipulating  
> resources. As part of the framework for building these applications,  
> the WG will define a CNet Application Protocol (CoAP) for  
> manipulation or Resources on Devices. The framework will also  
> specify a way to define new interface profiles that can be defined  
> by vendors and other standards bodies to define the particular  
> Resources on a Device and what manipulation are possible.
>
> There are also nodes called PEPs (Performance Enhancing Proxy) that  
> gateway between the protocols typically used by the applications on  
> the Internet and the protocol used on the CNet. An application on  
> the general network can use HTTP REST to communicate with the PEP  
> which will use CoAP to manipulate the Resource on the Device. The WG  
> will define a mapping on the PEP from the CoAP to the a HTTP  REST  
> API. Each interface profile will define the Resources on the device  
> that application can manipulate and what manipulations are  
> possible.  This will determine the HTTP REST APIs on the PEPs and  
> the CoAP protocol encoding to manipulate the Resources on the Device  
> it will also specify an XML MINE type for each class of Device that  
> can be used to described the Resource state in the the body of HTTP  
> REST messages. The WG may also work on a mapping to SNMP on the PEP.  
> It is worth noting that the PEP does not have to be deployed at the  
> boundary of the CNet and the more general network but can be  
> deployed at various location in the network.
>
> ARC> I don't think HTTP to XX mapping should be assumed at this  
> stage. HTTP may be a popular protocol, but there could be others. So  
> a general goal of internet protocols to device control protocol  
> mapping is more suitable

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?

2) Given some people want HTTP, can you live with the answer to HTTP  
being yes and understanding that just because we said yes to HTTP does  
not mean we are saying no to everything else?


>
>
> The PEP boxes can provide various forms of "caching". For example,  
> if a temperature sensor is normally asleep but wakes up every five  
> minutes and sends the current temperature to the a PEP that  
> subscribed, when the PEP receives a request over HTTP for that  
> temperature resource, it can respond with the last seen value  
> instead of trying to query the Device which is currently asleep. The  
> PEPs may also provide support for discovering devices that may not  
> be currently responding as they are temporarily asleep.
>
> ARC> Is this needed as a part of the charter?

I don't know. I had someone I showed the charter to say, "but no I  
need a cache somewhere, these Device use low power" and I put this in  
to show that the PEP could be used this way.

>
>
> The initial work item of the WG are to define:
>
>
>
>
> The CoAP protocol will support three commissioning methodologies.
>
> 1) Duckling mode. One device is put in a "mother duck" mode where it  
> listens for broadcasts of Devices trying to imprint. Other Devices  
> are put in a "duckling" mode where they broad cast to the "mother  
> duck" Device then "imprint" by forming a new shared secret between  
> the two Devices. Once this is complete the devices are taken out of  
> this mode and can be use in a secure fashion.
>
> <etc>
>
> ARC> This seems to be a requirement specification of what a CoAP  
> should be. I think it should be left for a dedicated req doc, not as  
> part of a charter.

Fair enough. See my other thread on Architecture Sketch. I agree with  
you there are cons to doing something like this in the charter.

>
>
> -- 
> Arjun Roychowdhury
>