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

matthieu.vial@non.schneider-electric.com Mon, 05 March 2012 17:05 UTC

Return-Path: <matthieu.vial@non.schneider-electric.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 39B5521F87D1 for <core@ietfa.amsl.com>; Mon, 5 Mar 2012 09:05:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.932
X-Spam-Level:
X-Spam-Status: No, score=-5.932 tagged_above=-999 required=5 tests=[AWL=0.667, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 oOe6XnTkK00l for <core@ietfa.amsl.com>; Mon, 5 Mar 2012 09:05:36 -0800 (PST)
Received: from mailX03.eud.schneider-electric.com (mailx03.eud.schneider-electric.com [205.167.7.41]) by ietfa.amsl.com (Postfix) with ESMTP id B81A721F85C5 for <core@ietf.org>; Mon, 5 Mar 2012 09:05:27 -0800 (PST)
Received: from ateui03.schneider-electric.com ([10.198.21.36]) by mailX03.eud.schneider-electric.com with ESMTP id 2012030518015416-117643 ; Mon, 5 Mar 2012 18:01:54 +0100
In-Reply-To: <A066EF6E-A6F2-48D7-BB9C-A18FB14566C9@sensinode.com>
To: Zach Shelby <zach@sensinode.com>
MIME-Version: 1.0
X-Mailer: Lotus Notes Release 6.5.6 March 06, 2007
From: matthieu.vial@non.schneider-electric.com
Message-ID: <OFF0D292C1.5190D8F2-ONC12579B8.0055E604-C12579B8.005DE0EA@schneider-electric.com>
Date: Mon, 05 Mar 2012 18:05:22 +0100
X-MIMETrack: Serialize by Router on ATEUI03.Schneider-Electric.com/T/SVR/Schneider at 05/03/2012 18:05:25, Serialize complete at 05/03/2012 18:05:25, Itemize by SMTP Server on AXEU3OUT.schneider-electric.com/X/SVR/SEIxtra at 05/03/2012 18:01:54, Serialize by Router on AXEU3OUT.schneider-electric.com/X/SVR/SEIxtra at 05/03/2012 18:01:56, Serialize complete at 05/03/2012 18:01:56
Content-Type: text/plain; charset="US-ASCII"
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: Mon, 05 Mar 2012 17:05:37 -0000

>Now I think you might be referring to the links that an RD returns as a 
result of a lookup. I agree, it would be inefficient to repeat that for 
each resource link. 

Exactly.

>I think there should be a way to return a link to the end-point itself, 
where such end-point specific information can be returned (e.g. id=). This 
could be done by providing an additional REST interface for looking up 
end-points rather than resources.

When a sleeping endpoint registers with 2 mirror proxies, we've got 2 
endpoints in the RD database for the same id attribute. Also the proxy 
shares its endpoint with the registered sleeping nodes.
If I'm following your idea the right way, the new interface might return 
something like below (don't pay too much attention to the attribute 
format, could be something else)

GET /rd/new_interface
</rd/1>;ep="coap://[aaaa::ff:fe00:0001]/";h="proxy1";id="urn:dev:mac:0024befffe804f01",
</rd/2>;ep="coap://[aaaa::ff:fe00:0001]/";h="proxy1";ins="sleepy";id="urn:dev:mac:0024befffe804f03",
</rd/3>;ep="coap://[aaaa::ff:fe00:0002]/";h="proxy2";id="urn:dev:mac:0024befffe804f02",
</rd/4>;ep="coap://[aaaa::ff:fe00:0002]/";h="proxy2";ins="sleepy";id="urn:dev:mac:0024befffe804f03",

I still don't know how to relate the previous result with a resource 
lookup like:

GET /rd/rt=Temperature
<coap://[aaaa::ff:fe00:0001]/temp>;rt="Temperature";if="sensor"
<coap://[aaaa::ff:fe00:0001]/mp/0/temp>;rt="Temperature";if="sensor"
<coap://[aaaa::ff:fe00:0002]/temp>;rt="Temperature";if="sensor"
<coap://[aaaa::ff:fe00:0002]/mp/0/temp>;rt="Temperature";if="sensor"

Lines 2 and 4 are actually the same sensor mirrored on 2 proxies.

We might extend the Context parameter in the registration interface to 
accept a root path. We would have then:

GET /rd/new_interface
</rd/1>;ep="coap://[aaaa::ff:fe00:0001]/";h="proxy1";id="urn:dev:mac:0024befffe804f01",
</rd/2>;ep="coap://[aaaa::ff:fe00:0001]/mp/0";h="proxy1";ins="sleepy";id="urn:dev:mac:0024befffe804f03",
</rd/3>;ep="coap://[aaaa::ff:fe00:0002]/";h="proxy2";id="urn:dev:mac:0024befffe804f02",
</rd/4>;ep="coap://[aaaa::ff:fe00:0002]/mp/0";h="proxy2";ins="sleepy";id="urn:dev:mac:0024befffe804f03",

But it's still quite complex for a client to deduplicate the links.

Adding the identifier to each link is not efficient but should work with 
both RD and /.w-k/core.

Matthieu