Re: [core] Subscriptions and policy

Adam Roach <adam@nostrum.com> Thu, 29 July 2010 14:05 UTC

Return-Path: <adam@nostrum.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 CCE9328C14A for <core@core3.amsl.com>; Thu, 29 Jul 2010 07:05:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, HTML_MESSAGE=0.001, SPF_PASS=-0.001]
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 Q9lE4-B1pvRc for <core@core3.amsl.com>; Thu, 29 Jul 2010 07:05:20 -0700 (PDT)
Received: from nostrum.com (nostrum-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:267::2]) by core3.amsl.com (Postfix) with ESMTP id A10A03A6831 for <core@ietf.org>; Thu, 29 Jul 2010 07:05:19 -0700 (PDT)
Received: from dhcp-23f3.meeting.ietf.org (dhcp-23f3.meeting.ietf.org [130.129.35.243]) (authenticated bits=0) by nostrum.com (8.14.3/8.14.3) with ESMTP id o6TE5eaY030310 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 29 Jul 2010 09:05:41 -0500 (CDT) (envelope-from adam@nostrum.com)
Message-ID: <4C518AB2.5040705@nostrum.com>
Date: Thu, 29 Jul 2010 16:05:38 +0200
From: Adam Roach <adam@nostrum.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.7) Gecko/20100713 Thunderbird/3.1.1
MIME-Version: 1.0
To: Olaf Bergmann <bergmann@tzi.org>
References: <4C4FF700.9000609@nostrum.com> <87eiemu0n3.fsf@aung.localdomain>
In-Reply-To: <87eiemu0n3.fsf@aung.localdomain>
Content-Type: multipart/alternative; boundary="------------080007050008010407090605"
Received-SPF: pass (nostrum.com: 130.129.35.243 is authenticated by a trusted mechanism)
Cc: "CORE (Constrained RESTful Environments) WG" <core@ietf.org>
Subject: Re: [core] Subscriptions and policy
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, 29 Jul 2010 14:05:21 -0000

   On 7/29/10 10:56 AM, Olaf Bergmann wrote:
> Adam,
>
> Adam Roach<adam@nostrum.com>  writes:
>
> [...differentiation of data that presented to a subscriber...]
>
>> More in the roundhouse of what people are thinking about for typical
>> CORE usage: imagine a CORE-attached residential alarm system, with
>> sensors on external windows and doors, and on a number of internal
>> motion sensors. The information about individual sensors can be very
>> sensitive, and something I probably want to put tight controls on
>> when, for example, the alarm monitoring service asks. When I ask,
>> though, I would want a complete picture about what is going on.
>>
>> Now, there's nothing in baseline CORE that prevents this behavior. I
>> would hate to lose this ability by the selection of a model for
>> subscriptions that does.
> Apart from the question if this fits the REST model

I'm pretty certain it does. REST clearly allows the ability to convey 
alternate representations of a resource state. Examples include 
tailoring response MIME types to match the expressed capability of the 
client, choosing different encodings (UTF-8 vs. ISO-8859-1), and 
returning a different language (English versus French) according to 
expressed user preferences.

So, in general, I think allegations that altering the body based on 
characteristics of the requestor are in violation of the REST model need 
to be backed up with some description of the REST property being 
violated. This reference may help: 
<http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm>. In 
short, the mandatory characteristics of a RESTful system are:

   1. Client-Server Architecture
   2. Stateless Transactions
   3. Cacheability
   4. Uniform Interfaces
   5. Layered System


If you persist in asserting that what I'm describing is not consistent 
with REST, please cite one of these five properties in your assertions.


> I wonder if this
> scenario is in line with the intended use for a protocol such as CoAP.
> I do not think that it is reasonable to subscribe each single sensor
> node but instead have a sort of home gateway that does this for you and
> that you can query for your home's overall status from outside using
> HTTP or subscribe to alarms, etc. with a presence protocol of your
> choice.

Wait -- if CoAP is meant only for the kind of use case you describe, why 
are we messing with IP addresses for enrollment? Wouldn't it be much 
easier to use physical addresses, such as MACs? For that matter, if this 
is intended only for HANs, why is the work being done here instead of 
some place like IEEE?

Oh, wait. I know why. Because it's not meant for only this kind of use 
case. From the charter (elisions mine):

"CoAP will be designed for use... between Devices and general nodes on 
the Internet...."

> We should not attempt to design another presence protocol here.

But as that's what draft-hartke-coap-observe-01 effectively proposes to 
do, I'd like to make sure it's done correctly.

/a