Re: [core] [6tisch] [CoMI] multiple operations in a single request

Michel Veillette <Michel.Veillette@trilliantinc.com> Mon, 29 June 2015 15:13 UTC

Return-Path: <Michel.Veillette@trilliantinc.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 429151A19EC; Mon, 29 Jun 2015 08:13:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 MvPrqEGq1DnT; Mon, 29 Jun 2015 08:13:46 -0700 (PDT)
Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0103.outbound.protection.outlook.com [65.55.169.103]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AC02E1A0AF1; Mon, 29 Jun 2015 08:13:44 -0700 (PDT)
Received: from CO2PR0601MB792.namprd06.prod.outlook.com (10.141.247.144) by CO2PR0601MB792.namprd06.prod.outlook.com (10.141.247.144) with Microsoft SMTP Server (TLS) id 15.1.195.15; Mon, 29 Jun 2015 15:13:42 +0000
Received: from CO2PR0601MB792.namprd06.prod.outlook.com ([10.141.247.144]) by CO2PR0601MB792.namprd06.prod.outlook.com ([10.141.247.144]) with mapi id 15.01.0195.005; Mon, 29 Jun 2015 15:13:42 +0000
From: Michel Veillette <Michel.Veillette@trilliantinc.com>
To: Thomas Watteyne <watteyne@eecs.berkeley.edu>, "consultancy@vanderstok.org" <consultancy@vanderstok.org>
Thread-Topic: [6tisch] [core] [CoMI] multiple operations in a single request
Thread-Index: AQHQsGKd5tNVqxssPE2mpRpsgvIRs53AC6oAgAMGcoCAAAlLgIAAd+SA
Date: Mon, 29 Jun 2015 15:13:41 +0000
Message-ID: <CO2PR0601MB792FF6C0FB2D4477D2C835DFEAA0@CO2PR0601MB792.namprd06.prod.outlook.com>
References: <CADJ9OA-g5ijXJQz_uPiz2482yeD3wY9EZPkD+h1N47aa21ioDQ@mail.gmail.com> <CABCOCHTwXuVs+LLMbANrL+RMrODcGDyPxgZBTZqAnDROVSqzzw@mail.gmail.com> <CADJ9OA95iaBD2oLbjPqZmjru=G2UO0U08SQQdNtevs3LwT2F0A@mail.gmail.com> <281a3494ecde4f0b80594284f8b17efa@xs4all.nl> <CADJ9OA_MsP=ZVjs8mR9dxqeUy0m5AeVNx4s3YCf5nZMVqdjfJw@mail.gmail.com>
In-Reply-To: <CADJ9OA_MsP=ZVjs8mR9dxqeUy0m5AeVNx4s3YCf5nZMVqdjfJw@mail.gmail.com>
Accept-Language: fr-CA, en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: eecs.berkeley.edu; dkim=none (message not signed) header.d=none;
x-originating-ip: [207.96.192.122]
x-microsoft-exchange-diagnostics: 1; CO2PR0601MB792; 5:GtE7GDxM41Zhhsz9MRamXh/ciNDcN7/wVq8IiWdo5i6iDBwx9acx+IeYJemFNc72g/8Oxlre0TOI9q/cOUNzlfQB3JTRdZbkPP2ED/j88vdiDkQQlQbjDCh/MyJaz9kLljpjt8785n/+r4UNZabIpw==; 24:CEXYyGLgm+ka2qWKOBllSbk7/XmYSiafP1x94YwZ8smdPI41qh4loC5D15wlb4TYQQEtOfITra0BZINESvTbISCK91+rrftXRMPS74Q8NgE=; 20:9MaeypUzs99xOdKU1m4bGd6sEqmsoEiC/kq16dj4sA/ig3jEgvfImG2bqDxu7kjejUBfj4DnjXzJxqqxqD/Row==
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CO2PR0601MB792;
x-microsoft-antispam-prvs: <CO2PR0601MB7925DDBEC562731F51F38A8FEAA0@CO2PR0601MB792.namprd06.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:;
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(5005006)(3002001); SRVR:CO2PR0601MB792; BCL:0; PCL:0; RULEID:; SRVR:CO2PR0601MB792;
x-forefront-prvs: 0622A98CD5
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(38414003)(377424004)(24454002)(164054003)(377454003)(76576001)(106116001)(5001960100002)(2501003)(99286002)(50986999)(87936001)(86362001)(99936001)(54356999)(76176999)(2171001)(2656002)(92566002)(189998001)(5002640100001)(19617315012)(5001770100001)(19627595001)(5003600100002)(66066001)(2950100001)(122556002)(40100003)(2900100001)(46102003)(102836002)(15975445007)(77096005)(16236675004)(18206015028)(93886004)(19580405001)(77156002)(19300405004)(19625215002)(19580395003)(74316001)(17760045003)(62966003)(33656002)(7099028); DIR:OUT; SFP:1102; SCL:1; SRVR:CO2PR0601MB792; H:CO2PR0601MB792.namprd06.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en;
Content-Type: multipart/related; boundary="_004_CO2PR0601MB792FF6C0FB2D4477D2C835DFEAA0CO2PR0601MB792na_"; type="multipart/alternative"
MIME-Version: 1.0
X-OriginatorOrg: trilliantinc.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2015 15:13:41.2365 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4f6fbd13-0dfb-4150-85c3-d43260c04309
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR0601MB792
Archived-At: <http://mailarchive.ietf.org/arch/msg/core/r8Dl4BzaQj6gJovyxo_fwTiRRO4>
Cc: "6tisch@ietf.org" <6tisch@ietf.org>, core <core@ietf.org>
Subject: Re: [core] [6tisch] [CoMI] multiple operations in a single request
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.15
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, 29 Jun 2015 15:13:49 -0000

Hi Thomas

To facilitate the creation of this encoding, can you provide an example of what you want to archive using SQL style statement for example.

For example:

INSERT INTO CellList
   (CellID, SlotframeID, SlotOffset, ChannelOffset, LinkOption, LinkType, CellType, NodeAddress, TrackID)
VALUES
   (1, 0, 2, 5, 0x01, 0, 0, ?leafref);

Couple of comments:

·         CellID

The  CellID need to be unique since it’s the key within the CellList.

How the assignment of CellIDs  is expected to be done?

To be unique, should the server assign this value and return the value assigned to the client? (This might require the use of a RPC)

·         TrackID

Currently, the TrackID is implemented using the datatype leafref which is not supported by the current COMI draft

·         draft-vanderstok-core-patch-00

The current draft introducing patch don’t seem to allow multiple insertion within a list. If this is not the case, It will be nice to have an example added to this draft.

[cid:image001.jpg@01C868D8.BF0BB7E0]

Michel Veillette
System Architecture Director
Trilliant Inc.
Tel: 450-375-0556 ext. 237
michel.veillette@trilliantinc.com<mailto:michel.veillette@trilliantinc.com>
www.trilliantinc.com<http://www.trilliantinc.com/>



From: 6tisch [mailto:6tisch-bounces@ietf.org] On Behalf Of Thomas Watteyne
Sent: 29 juin 2015 03:35
To: consultancy@vanderstok.org
Cc: 6tisch@ietf.org; Andy Bierman; core
Subject: Re: [6tisch] [core] [CoMI] multiple operations in a single request

Peter,
Thanks. I'm looking forward to "counting bytes" and see how compact a PATCH operation is represented in CoMI.
Thomas

On Mon, Jun 29, 2015 at 9:01 AM, peter van der Stok <stokcons@xs4all.nl<mailto:stokcons@xs4all.nl>> wrote:
Hi Thomas,

the latest (not published yet) version includes the use of the PATCH command.
There is a RFC on JSON patch, we could refer to that in the PATCH I-D.
Further link-format is sufficient, no?

The number of items in the payload depends on the the server.
If large strings need to be replaced, the size is quickly large.

I was thinking of just using JSON CBOR with payloads like:

{ hash1: value1,
hash2: value2}

and changing individual list items.

I don't know about YANG PATCH media type.

Peter

Thomas Watteyne schreef op 2015-06-27 10:49:

Andy,

Thanks. https://tools.ietf.org/html/draft-vanderstok-core-comi-06 now
says:

[p4] TODO: Introduce CoAP Patch options to allow modification to
subsets of resource.

[p24] TODO: Define where PATCH is needed.

I assume that you are introducing PATCH in -07. Can you quantify how
lightweight this will be, e.g. how many cells can I add/remove in a
single packet?

Thomas

On Sat, Jun 27, 2015 at 12:51 AM, Andy Bierman <andy@yumaworks.com<mailto:andy@yumaworks.com>>
wrote:
On Fri, Jun 26, 2015 at 3:32 PM, Thomas Watteyne
<watteyne@eecs.berkeley.edu<mailto:watteyne@eecs.berkeley.edu>> wrote:
In the 6TiSCH context, CoMI can be used to manage a TSCH schedule,
which involves adding/removing cells (atomic layer 2 resources).

Cells are represented in the 6top YANG model as a list called
"CellList"

(https://tools.ietf.org/html/draft-ietf-6tisch-6top-interface-03#section-4.1).
The way CoMI is written now (draft-vanderstok-core-comi-06), one
CoMI request is needed for each operation. That is, if I want to
schedule 10 cells between nodes A and B, I will need 10 PUT
requests to node A, and 10 to node B. If these are confirmable
CoAP packets, that's a lot of packets. These will be short
requests, but will eat up an enormous amount of bandwidth.

I'd like to be able to issue a single request to node A and a
single request to node B to carry out all of these operations, by
aggregating multiple "operations" in a single CoMI request (a
single/small number of CoAP packets).

What does CoMI offer me today to do this? Should we write the YANG
model in some particular way? What is envisioned in a future
revision of CoMI to answer this need.

I think the YANG Patch media type could be used with CoMI.
This allows multiple edits on different target resources.

You could also do a plain PATCH on the datastore root, and provide
the subtrees you want to change.
Thanks,
Thomas

Andy
_______________________________________________
core mailing list
core@ietf.org<mailto:core@ietf.org>
https://www.ietf.org/mailman/listinfo/core


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