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

"Dijk, Esko" <esko.dijk@philips.com> Thu, 22 March 2012 10:51 UTC

Return-Path: <esko.dijk@philips.com>
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 DBBBC21F868A for <core@ietfa.amsl.com>; Thu, 22 Mar 2012 03:51:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.952
X-Spam-Level:
X-Spam-Status: No, score=-4.952 tagged_above=-999 required=5 tests=[AWL=0.647, BAYES_00=-2.599, GB_I_LETTER=-2, RCVD_IN_DNSWL_LOW=-1]
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 SZAQp6unObd6 for <core@ietfa.amsl.com>; Thu, 22 Mar 2012 03:51:47 -0700 (PDT)
Received: from va3outboundpool.messaging.microsoft.com (va3ehsobe010.messaging.microsoft.com [216.32.180.30]) by ietfa.amsl.com (Postfix) with ESMTP id C682E21F8684 for <core@ietf.org>; Thu, 22 Mar 2012 03:51:44 -0700 (PDT)
Received: from mail30-va3-R.bigfish.com (10.7.14.236) by VA3EHSOBE005.bigfish.com (10.7.40.25) with Microsoft SMTP Server id 14.1.225.23; Thu, 22 Mar 2012 10:51:35 +0000
Received: from mail30-va3 (localhost [127.0.0.1]) by mail30-va3-R.bigfish.com (Postfix) with ESMTP id CAB351C0419; Thu, 22 Mar 2012 10:51:35 +0000 (UTC)
X-SpamScore: -50
X-BigFish: VPS-50(zz217bL15d6O9251J179dN542M1432Nzz1202hzz1033IL8275bh8275dhz2dh2a8h668h839h944hd25h)
X-Forefront-Antispam-Report: CIP:157.55.7.222; KIP:(null); UIP:(null); IPV:NLI; H:mail.philips.com; RD:none; EFVD:NLI
Received: from mail30-va3 (localhost.localdomain [127.0.0.1]) by mail30-va3 (MessageSwitch) id 1332413494259066_15162; Thu, 22 Mar 2012 10:51:34 +0000 (UTC)
Received: from VA3EHSMHS013.bigfish.com (unknown [10.7.14.245]) by mail30-va3.bigfish.com (Postfix) with ESMTP id 3ABB11A00E4; Thu, 22 Mar 2012 10:51:34 +0000 (UTC)
Received: from mail.philips.com (157.55.7.222) by VA3EHSMHS013.bigfish.com (10.7.99.23) with Microsoft SMTP Server (TLS) id 14.1.225.23; Thu, 22 Mar 2012 10:51:32 +0000
Received: from 011-DB3MMR1-022.MGDPHG.emi.philips.com (10.128.28.105) by 011-DB3MMR1-005.MGDPHG.emi.philips.com (10.128.28.55) with Microsoft SMTP Server (TLS) id 14.1.355.3; Thu, 22 Mar 2012 10:53:53 +0000
Received: from 011-DB3MPN1-013.MGDPHG.emi.philips.com ([169.254.3.240]) by 011-DB3MMR1-022.MGDPHG.emi.philips.com ([fe80::1113:17d7:70dc:6faa%11]) with mapi id 14.01.0355.003; Thu, 22 Mar 2012 10:53:53 +0000
From: "Dijk, Esko" <esko.dijk@philips.com>
To: Jari Arkko <jari.arkko@piuha.net>, "matthieu.vial@non.schneider-electric.com" <matthieu.vial@non.schneider-electric.com>
Thread-Topic: [core] Tr : New Version Notification for draft-vial-core-mirror-proxy-00.txt
Thread-Index: AQHM+HXGBKCQEHwzEUqw/PYE5xqGJZZXDUwAgB8w+4A=
Date: Thu, 22 Mar 2012 10:53:52 +0000
Message-ID: <031DD135F9160444ABBE3B0C36CED6180852B2@011-DB3MPN1-013.MGDPHG.emi.philips.com>
References: <OFE2C13C3C.C28F1332-ONC12579B5.0047844C-C12579B5.00484C37@schneider-electric.com> <4F50D652.1090501@piuha.net>
In-Reply-To: <4F50D652.1090501@piuha.net>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [194.171.252.101]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: philips.com
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: Thu, 22 Mar 2012 10:51:49 -0000

> 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"?

Agree! This could be the way to go if we do not want to define another CoAP Option. It could be "give me a list of my resources that have changed since last time I checked". That seems far more scalable than a SEP polling all its resources for changes. If there's no change the SEP can quickly go to sleep again.

One way for the SEP to query the MP for this could be like this (just an ad-hoc query syntax here...):
        GET /mp/0?change

MP responds with:
        2.05 Content
        Content-Type: application/link-format
        </mp/0/dev/n>,</mp/0/some/writable/path>

where the default rel="hosts" relation is used, though it might be another (rel="updated" ??)
The SEP has to parse these link-format descriptions, but in general link-format parsing was already part of the specified SEP behavior in this draft.

Esko

-----Original Message-----
From: core-bounces@ietf.org [mailto:core-bounces@ietf.org] On Behalf Of Jari Arkko
Sent: Friday 2 March 2012 15:17
To: matthieu.vial@non.schneider-electric.com
Cc: core WG
Subject: Re: [core] Tr : New Version Notification for draft-vial-core-mirror-proxy-00.txt

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

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

________________________________
The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.