Re: [core] Questions/comments on draft-ietf-core-dynlink-02

Mojan Mohajer <mojan.mohajer@u-blox.com> Mon, 13 March 2017 16:01 UTC

Return-Path: <mojan.mohajer@u-blox.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 473EC129506 for <core@ietfa.amsl.com>; Mon, 13 Mar 2017 09:01:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001, URIBL_BLOCKED=0.001] 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 TaGSaeO7UuYe for <core@ietfa.amsl.com>; Mon, 13 Mar 2017 09:01:42 -0700 (PDT)
Received: from buffalo.u-blox.com (buffalo.u-blox.com [195.34.89.137]) by ietfa.amsl.com (Postfix) with SMTP id 34D5612941A for <core@ietf.org>; Mon, 13 Mar 2017 09:01:30 -0700 (PDT)
Received: from mail_filter (localhost [127.0.0.1]) by buffalo.u-blox.com (PF_LO_10026) with ESMTP id 27B1A15F6AE for <core@ietf.org>; Mon, 13 Mar 2017 17:01:28 +0100 (CET)
Received: from ASSP.nospam (localhost [127.0.0.1]) by buffalo.u-blox.com (Postfix) with ESMTP id E3D0F15F5DA; Mon, 13 Mar 2017 17:01:27 +0100 (CET)
Received: from unknown ([127.0.0.1] helo=anyhost.local) by ASSP.nospam with SMTP (2.4.7); 13 Mar 2017 17:01:27 +0100
From: Mojan Mohajer <mojan.mohajer@u-blox.com>
To: Michael Koster <michaeljohnkoster@gmail.com>
Date: Mon, 13 Mar 2017 17:01:27 +0100
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="=_n9IN1Td0DDGTOO7pvEEdVAvFMQgzhFcnnLEV21JVeQFsy8gF"
In-Reply-To: <2188A0A1-3BD2-4BDE-AE17-7D434C001C06@gmail.com>
References: <zarafa.58c28563.565a.4a1c907d21bf17bc@za.u-blox.com>
X-Priority: 3 (Normal)
X-Mailer: Zarafa 7.1.14-51822
Thread-Index: AdKcExFG3EbiqeLnTWS+Oywq6degTw==
Message-Id: <zarafa.58c6c257.0e22.008c0f20218c9676@za.u-blox.com>
X-Assp-Version: 2.4.7(16004) on ASSP.nospam
X-Assp-ID: ASSP.nospam 20887-14853
X-Assp-Session: 955C8150 (mail 1)
X-Assp-Original-Subject: RE: [core] Questions/comments on draft-ietf-core-dynlink-02
X-Virus-Scanned: clamav-milter 0.99.2 at buffalo
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/PK5JABLX6_HsVPcxuTLHk-9Ruag>
Cc: core <core@ietf.org>
Subject: Re: [core] Questions/comments on draft-ietf-core-dynlink-02
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, 13 Mar 2017 16:01:45 -0000

I think going forward the best compromise solution would be as you mention continued support for global settings, i.e. single attributes set, as well as per-observe override. This will have least impact on the existing implementations and currently released specifications by other SDOs. 

If IETF decides to go down this route, it would be good clearly state the rules for how the override should be applied and maybe couple of examples showing its application and effect. For example one scenario that may require some clarification is where a resource has already got some observation attributes set up by observer 1 and a new observer, Observer 2,  wishes to simply be notified of any change to the resource and as such does not normally require to explicitly specify any observe parameters in its get request for observation.

Best Regards,

Mojan

 

 
From: Michael Koster [mailto:michaeljohnkoster@gmail.com] 
Sent: 13 March 2017 15:29
To: Mojan Mohajer
Cc: core
Subject: Re: [core] Questions/comments on draft-ietf-core-dynlink-02

 
OK, that makes sense.

 
Do you think there is still a use case for a simple implementation (as I did in ARM mbed) that only keeps a single set of attributes?

 
Should we support both the global setting and a per-observe override?

 
Or should we deprecte the single attribute set and only support per-observe attributes going forward?

 
FWIW, There is another SDO that is in the process of specifying an optional (single) setting for each resource instance, using a "composed" resource.

 
Best regards,

 
Michael

 
On Mar 13, 2017, at 8:05 AM, Mojan Mohajer <mojan.mohajer@u-blox.com <mailto:mojan.mohajer@u-blox.com> > wrote:

 
Hi Michael,

Yes, the current version of LwM2M requires the use of “Write Attribute” which as you pointed out provides a single set of notifications parameters. This in itself could be rather problematic in use cases where there are two observers of the same resource with differing requirements of observe attributes. As per example A in the document and your suggestion it seems more logical to pass the observation attributes in the get operation and make them somewhat transaction oriented rather than simply attached to the resource. By doing so, a resource can accommodate multiple observers with different observation rules as required. BTW, couple of companies have already put forward proposals to add support for passing of these attributes in the GET operation in the next version of OMA LwM2M specification. 

Best Regards,

Mojan

 
 
 
From: Michael Koster [mailto:michaeljohnkoster@gmail.com <mailto:michaeljohnkoster@gmail.com> ] 
Sent: 13 March 2017 12:58
To: Mojan Mohajer
Cc: core
Subject: Re: [core] Questions/comments on draft-ietf-core-dynlink-02

 
Hi Mojan,

 
I think this is the default behavior for OMA LWM2M using the "Write Attributes" operation. The effect is to provide a single set of notification parameters for all observe operations on that resource.

 
I believe that we improve on that pattern and allow each observe request to have its own attributes, set by including query parameters in the GET operation.

 
Section 4.2 also indicates that they are readable, but it's not clear to me how that would work? In what format are they returned, also as query parameters? These could be made readable (and updateable) througn a special CoRE Interface, but we would need to specify how the content format of these works vs. the content format of the resource state.

 
LWM2M could be described in this draft as a legacy pattern.

 
Does this make sense?

 
Best regards,

 
Michael

 
 
On Mar 10, 2017, at 2:52 AM, Mojan Mohajer <mojan.mohajer@u-blox.com <mailto:mojan.mohajer@u-blox.com> > wrote:

 
2) Section 4.2 which covers resource observation attributes (pmin, pmax, st, …) states that that: …”These query parameters MUST be treated as resources that are read using GET and updated using PUT, and MUST NOT be included in the Observe request” ….
However, looking at newly added Annex A which provides observation examples, these observation attributes are passed as query parameters of a Get request with Observe option set to 0. There seems to be some contradiction between the text in section 4.2 and the example in Annex A.