Re: [core] Fwd: New Version Notification for draft-cao-core-delegated-observe-00.txt
Christian Amsüss <c.amsuess@energyharvesting.at> Mon, 14 November 2016 11:26 UTC
Return-Path: <c.amsuess@energyharvesting.at>
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 2A7611294C3 for <core@ietfa.amsl.com>; Mon, 14 Nov 2016 03:26:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id af79sMvWsQwl for <core@ietfa.amsl.com>; Mon, 14 Nov 2016 03:26:39 -0800 (PST)
Received: from prometheus.amsuess.com (alt.prometheus.amsuess.com [IPv6:2a01:4f8:190:3064::3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0162D126B6D for <core@ietf.org>; Mon, 14 Nov 2016 03:26:38 -0800 (PST)
Received: from poseidon-mailhub.amsuess.com (095129206250.cust.akis.net [95.129.206.250]) by prometheus.amsuess.com (Postfix) with ESMTPS id C6D97404A8; Mon, 14 Nov 2016 12:26:36 +0100 (CET)
Received: from poseidon-mailbox.amsuess.com (poseidon-mailbox.amsuess.com [10.13.13.231]) by poseidon-mailhub.amsuess.com (Postfix) with ESMTP id C258A1EA; Mon, 14 Nov 2016 12:26:34 +0100 (CET)
Received: from hephaistos.amsuess.com (hephaistos.amsuess.com [10.13.13.129]) by poseidon-mailbox.amsuess.com (Postfix) with ESMTPSA id 80D83533; Mon, 14 Nov 2016 12:26:34 +0100 (CET)
Received: (nullmailer pid 23467 invoked by uid 1000); Mon, 14 Nov 2016 11:26:31 -0000
Date: Mon, 14 Nov 2016 12:26:30 +0100
From: Christian Amsüss <c.amsuess@energyharvesting.at>
To: Zhen Cao <zhencao.ietf@gmail.com>
Message-ID: <20161114112630.4qta6yz4cs3lcc3e@hephaistos.amsuess.com>
References: <147755820733.19004.16975897284050743537.idtracker@ietfa.amsl.com> <CAFxP68z844+ra1ZrHAzPYqOBA0ugqZJKHuhumzfg9NqY=MXQmg@mail.gmail.com> <20161114030859.hx563ikemh3i5m2v@hephaistos.amsuess.com> <CAFxP68wTCgbCjSY336YkBWuDmDWHSPoCpROhQWMv3cV2qEr3Cw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="ynfw52bhsv34uxvi"
Content-Disposition: inline
In-Reply-To: <CAFxP68wTCgbCjSY336YkBWuDmDWHSPoCpROhQWMv3cV2qEr3Cw@mail.gmail.com>
User-Agent: NeoMutt/20161104 (1.7.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/sSRxmiXgfHrnDbrKRyvnQ5QIJCo>
Cc: "core@ietf.org WG" <core@ietf.org>
Subject: Re: [core] Fwd: New Version Notification for draft-cao-core-delegated-observe-00.txt
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.17
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: <https://mailarchive.ietf.org/arch/browse/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, 14 Nov 2016 11:26:41 -0000
Hi Zhen, On Mon, Nov 14, 2016 at 01:46:50PM +0800, Zhen Cao wrote: > > * [...]the in-home dev could simply implement a proxy and open a > > coap-over-tcp connection to the cloud server? > > The in-home dev is nomadic, and it initiates the observe while at > home, so that it can fetch the information when it is off. So, > opening a coap-o-tcp connection is not appropriate solution. I see -- it says so in the text, but I misinterpreted the diagram. This is how I would draw it: dev Cloud dev Sensor in-home Server off-home | | | | Delegated | | |<--Observe --| | | | | |--------Notification-------->| | | | | \ dev gets moved out of home \ | | | | |<-- GET--------| | |----- ACK----->| Figure 1: Delegation to Cloud This setup seems very brittle to me because it can't be restablished once the observation breaks for any reason (eg. on an intermittent connection outage), so I'd like to explore possible alternatives that are less ephemeral: * resource directory with the dev in-home as commissioning tool: Use case 3.1 of draft-ietf-core-resource-directory-09 describes how the sensor could register itself with the cloud server (and not only a single observation, but it can of course limit the cloud server's access). The UDP "connection" in which it registers doubles as a channel through which the cloud server can send requests (including observations) to the sensor. I'm not sure whether the RD draft already contains a way for dev-in-home to actively instruct sensor to furtheron register with a particular RD (commissioning tools as described there talk to the RD directly, thereby breaking the UDP connection; my best guess would be that dev-in-home announces <coap://cloud.server/rd>;rt="core.rd"), but I'm sure that can be clarified. This is broader than delegate observation, but it uses patterns that already in active use. * push dynlinks: Instead of negotiating a token with the cloud server, the dev-in-home negotiates a URL there (say /~user/temp). It then does a POST to coap:////sensor/bnd/ with <coap://cloud.server/~user/temp>;rel="boundto";anchor="/temp";bind="push" , and the sensor can start sending a PUT with the value whenever a new value is available. When the dev is in-home again, it can check whether the dynlink is still present or modify it by manipulating the /bnd/ (or wherever the device has an if=core.bnd) resource again. Some more notes: * The examples in A.1 show the 2.05 responses with 'Header: GET'. The hex numbers afterward resemble those in the rfc7641 examples, but there the number is the full encoded header (eg. 0x4101 = (ver = 1) << 22, (type non = 0 << 20), (tkl = 1) << 16, (code GET = 1) << 0). When interpreted as message IDs, the initial notification to the target node has no reason to share the message ID with the original GET (those are scoped to endpoints). * The cloud server would not only need to agree on a token with the dev at in-home time, but the complete request headers. That information is needed for the cloud server to re-register its interest in the resource or to cancel the observation. * The d-o option is used in responses as a sequence number. What is the advantage of using the delegated option here over the observe option? Best regards Christian -- To use raw power is to make yourself infinitely vulnerable to greater powers. -- Bene Gesserit axiom
- [core] Fwd: New Version Notification for draft-ca… Zhen Cao
- Re: [core] Fwd: New Version Notification for draf… Christian Amsüss
- Re: [core] Fwd: New Version Notification for draf… Zhen Cao
- Re: [core] Fwd: New Version Notification for draf… Christian Amsüss