Re: [dtn] AMP comment on adding tabular data schema

"Birrane, Edward J." <Edward.Birrane@jhuapl.edu> Wed, 06 April 2016 16:17 UTC

Return-Path: <Edward.Birrane@jhuapl.edu>
X-Original-To: dtn@ietfa.amsl.com
Delivered-To: dtn@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1D1CE12D10D for <dtn@ietfa.amsl.com>; Wed, 6 Apr 2016 09:17:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.211
X-Spam-Level:
X-Spam-Status: No, score=-4.211 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 SMG2_bGUbde7 for <dtn@ietfa.amsl.com>; Wed, 6 Apr 2016 09:17:14 -0700 (PDT)
Received: from piper.jhuapl.edu (piper.jhuapl.edu [128.244.251.37]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A80E212D577 for <dtn@ietf.org>; Wed, 6 Apr 2016 09:17:11 -0700 (PDT)
Received: from aplex02.dom1.jhuapl.edu (unknown [128.244.198.6]) by piper.jhuapl.edu with smtp (TLS: TLSv1/SSLv3,256bits,AES256-SHA) id 7237_06a9_8a3247ac_7b28_41e6_84c2_f0a925f3f545; Wed, 06 Apr 2016 12:17:02 -0400
X-CrossPremisesHeadersFilteredBySendConnector: aplex02.dom1.jhuapl.edu
Received: from aplex01.dom1.jhuapl.edu (128.244.198.5) by aplex02.dom1.jhuapl.edu (128.244.198.6) with Microsoft SMTP Server (TLS) id 15.0.1076.9; Wed, 6 Apr 2016 12:16:59 -0400
Received: from aplex01.dom1.jhuapl.edu ([fe80::6d45:80a2:425b:5a4b]) by aplex01.dom1.jhuapl.edu ([fe80::6d45:80a2:425b:5a4b%23]) with mapi id 15.00.1076.000; Wed, 6 Apr 2016 12:16:59 -0400
From: "Birrane, Edward J." <Edward.Birrane@jhuapl.edu>
To: Brian Sipos <BSipos@rkf-eng.com>, "dtn@ietf.org" <dtn@ietf.org>
Thread-Topic: AMP comment on adding tabular data schema
Thread-Index: AQHRisZ9ZBudXaqKFkivivFFAhBSw599J/kx
Date: Wed, 06 Apr 2016 16:16:59 +0000
Message-ID: <1459963018479.34856@jhuapl.edu>
References: <DM2PR0501MB8929581A00213FAA58DA90F9F980@DM2PR0501MB892.namprd05.prod.outlook.com>
In-Reply-To: <DM2PR0501MB8929581A00213FAA58DA90F9F980@DM2PR0501MB892.namprd05.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [128.244.198.169]
Content-Type: multipart/alternative; boundary="_000_145996301847934856jhuapledu_"
MIME-Version: 1.0
X-OrganizationHeadersPreserved: aplex02.dom1.jhuapl.edu
Archived-At: <http://mailarchive.ietf.org/arch/msg/dtn/J2X9PTL8GO7wdTe5L9vVvRHcA1o>
Subject: Re: [dtn] AMP comment on adding tabular data schema
X-BeenThere: dtn@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Delay Tolerant Networking \(DTN\) discussion list at the IETF." <dtn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dtn>, <mailto:dtn-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dtn/>
List-Post: <mailto:dtn@ietf.org>
List-Help: <mailto:dtn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dtn>, <mailto:dtn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 06 Apr 2016 16:17:17 -0000

Brian,


 I agree. The logical table structure is very useful, can be accomodated with existing AMP structures, and guidance would be a big help to ADM developers.


  We should add a section section 6 with a subsection on Guidelines for ADM developers and place this recommendation (and others) there.


-Ed



---
Edward J. Birrane, III, Ph.D.
Embedded Applications Group Supervisor
Space Exploration Sector
Johns Hopkins Applied Physics Laboratory
(W) 443-778-7423 / (F) 443-228-3839
________________________________
From: dtn <dtn-bounces@ietf.org> on behalf of Brian Sipos <BSipos@rkf-eng.com>
Sent: Wednesday, March 30, 2016 4:55 PM
To: dtn@ietf.org
Subject: [dtn] AMP comment on adding tabular data schema



This is a comment against "draft-birrane-dtn-amp-02".

I think it would be very useful for both AMP and the ADM YANG profile to define semantics for encoding lists/tables of values. The encoding syntax of this would require no changes to AMP, as a table-of-rows can be encoded with a DC-type structure and a row-of-values can be encoded as a TDC-type structure. And on the ADM side, the MID "parameter" values can easily be used to support row identifiers (although it is currently forbidden for "primitve" OIDs).

Allowing specifying a tabular form within in the OID tree is very powerful in my view, and needing to have each application define the semantics of each data table is a large burden to the ADM writers (and users). This would also allow AMP to more closely align with YANG assumptions of encoding/transport protocol. My proposal would still require the ADM to define semantics of modifying table contents (add/update/remove/sort/etc.) but at least the table definition itself (and reports containing table rows) would be protocol-standard.

An notional example of this method follows:

I am using the current NETCONF-style definitions of list/table, which is quite a bit simpler than SNMP-style definitions. The MID-style of specifying objects is very powerful with the ability to parameterize, which this takes advantage of.
For a concrete example, in text form:
A "list" named "Table" is defined with OID [N].1 it has "column" primitives named "Ident", type INT, OID [N].1.0, "ValueA", type VAST, OID [N].1.2, and "ValueB", type STR, OID [N].1.3. The Table identifies "Ident" as its key column.
The table contents are logically two rows:
    1,3,"hello"
    5,-8,"world"

There are three ways to access this logical list-of-rows, which are:
- Fetch a report with only the non-parameterized "Table" OID [N].1. This results a TDC with packed row values of (INT) 1, (VAST) 3, (STR) "hello", (INT) 5, (VAST) -8, (STR) "world". This is a kind of discovery or full-table report.
- Fetch a report with OID [N].1 parameterized (on its key column) by (INT) 5. This results in a TDC with single-row values of (INT) 5, (VAST) -8, (STR) "world". The same contents as one row from above, but the parameter limits to only the desired row.
- Fetch a report with OID [N].1.2 parameterized (on the table key column) by (INT) 1. This results in a single value (VAST) 3. This method is identical to how some of the values in current draft-birrane-dtn-adm-bp-00 behave. This allows reporting on arbitrary single-values.