Re: [core] Tr : New Version Notification for draft-vial-core-mirror-proxy-00.txt

Jari Arkko <jari.arkko@piuha.net> Fri, 02 March 2012 14:16 UTC

Return-Path: <jari.arkko@piuha.net>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0626521F84EC for <core@ietfa.amsl.com>; Fri, 2 Mar 2012 06:16:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.54
X-Spam-Level:
X-Spam-Status: No, score=-103.54 tagged_above=-999 required=5 tests=[AWL=1.059, BAYES_00=-2.599, GB_I_LETTER=-2, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YNypjLPD-vxt for <core@ietfa.amsl.com>; Fri, 2 Mar 2012 06:16:52 -0800 (PST)
Received: from p130.piuha.net (p130.piuha.net [IPv6:2001:14b8:400::130]) by ietfa.amsl.com (Postfix) with ESMTP id E984221F84DF for <core@ietf.org>; Fri, 2 Mar 2012 06:16:51 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by p130.piuha.net (Postfix) with ESMTP id 438C82D35A; Fri, 2 Mar 2012 16:16:51 +0200 (EET)
X-Virus-Scanned: amavisd-new at piuha.net
Received: from p130.piuha.net ([127.0.0.1]) by localhost (p130.piuha.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QBWS78i6xd1R; Fri, 2 Mar 2012 16:16:50 +0200 (EET)
Received: from [127.0.0.1] (p130.piuha.net [IPv6:2a00:1d50:2::130]) by p130.piuha.net (Postfix) with ESMTP id 87E712CC3C; Fri, 2 Mar 2012 16:16:50 +0200 (EET)
Message-ID: <4F50D652.1090501@piuha.net>
Date: Fri, 02 Mar 2012 16:16:50 +0200
From: Jari Arkko <jari.arkko@piuha.net>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20120129 Thunderbird/10.0
MIME-Version: 1.0
To: matthieu.vial@non.schneider-electric.com
References: <OFE2C13C3C.C28F1332-ONC12579B5.0047844C-C12579B5.00484C37@schneider-electric.com>
In-Reply-To: <OFE2C13C3C.C28F1332-ONC12579B5.0047844C-C12579B5.00484C37@schneider-electric.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: core WG <core@ietf.org>
Subject: Re: [core] Tr : New Version Notification for draft-vial-core-mirror-proxy-00.txt
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Fri, 02 Mar 2012 14:16:53 -0000

Matthieu,

I have read your draft. I like it, and would very much like to see something like this as a part of the outputs from this working group. Your draft is kind of a well-designed REST version of what we did in admittedly rather ad hoc manner in draft-arkko-core-sleepy-sensors.

I also like it that your interface is pretty much identical to the RD interface, making this easier to implement. Question: if I want to register myself in a RM *and* an RD (which might potentially be in the same server), is there a way for me to send just one set of messages, or do I have to register twice?

A couple of comments on your open questions:

>     We need a way to identify a SEP registered in multiple proxies as a
>     single entity.  Otherwise clients may have a wrong view of the
>     available services during resource discovery.  The duplicate
>     resources are indeed seen as new devices.

I would suggest that there could be a "origin" identity carried in the registration (e.g., dev:mac:....) and that origin identity can be communicated through the RD to anyone who sees the resources. This allows whoever is interested in the content to at least detect the duplicate resources as such.

>
>     We need a simple mechanism to define allowed methods on mirrored
>     resources that is independant of the resource profile.  A second
>     Interface Description attribute with the CRUD letters might work.

I have no comment on this yet.

>     We may add a CoAP option that would permit a MP to indicate in a
>     response that a client has updated another writable resource in the
>     cache for the requesting SEP.  This would gives better response time
>     than polling.

Hmm. I think this needs further thought. Is there a way to ask "give me a list of my resources that have changed since yesterday"?

>
>     When a SEP registers with multiple MP and each MP reuses the same
>     SEP's name to register with the RD, the resource directory entry
>     might be overwritten.  We need to figure out what piece of
>     information is the handler for a resource directory entry in a RD
>     database.

We have some ideas on this front... stay tuned.

>
>       6.1. Extensions
>
>
>
>     Implicit registration could be useful for highly constrained SEP that
>     don't have enough energy to maintain soft state in a MP.  Like the
>     proposition in [I-D.arkko-core-sleepy-sensors  <http://tools.ietf.org/html/draft-vial-core-mirror-proxy-00#ref-I-D.arkko-core-sleepy-sensors>], we could use a
>     multicast address to infer a resource type.  Alternatively we could
>     allow explicit registration from a third-party endpoint.
>

For what it is worth, we took our implementation to the extreme limit. It is necessary to be able to create simple and power efficient devices, but there may be a reasonable limit that we do not have to cross. I think a constrained device can support a registration phase. The only problem that I have with registration phases is the issue that we experienced with coap-observe: we cannot assume that only one entity is interested in our results, we don't know when the addressing plan of the site changes,  and we don't want to stay on all the time in case someone re-registers (as a server) or poll continuously if there's a new register that we must register to (as a client). If those problems can be overcome for a RM function, then I'm fine with programming a discovery and registration mechanism into my devices.

Jari