Re: [dtn] Comments on AMP draft 03

"Birrane, Edward J." <Edward.Birrane@jhuapl.edu> Tue, 12 July 2016 15:25 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 1C79D12DA02 for <dtn@ietfa.amsl.com>; Tue, 12 Jul 2016 08:25:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.508
X-Spam-Level:
X-Spam-Status: No, score=-5.508 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.287, SPF_HELO_PASS=-0.001, SPF_PASS=-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 u51ulFq13iLD for <dtn@ietfa.amsl.com>; Tue, 12 Jul 2016 08:25:45 -0700 (PDT)
Received: from pilot.jhuapl.edu (pilot.jhuapl.edu [128.244.251.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 733BF12DAEA for <dtn@ietf.org>; Tue, 12 Jul 2016 07:59:57 -0700 (PDT)
Received: from APLEX06.dom1.jhuapl.edu (unknown [128.244.198.140]) by pilot.jhuapl.edu with smtp (TLS: TLSv1/SSLv3,256bits,ECDHE-RSA-AES256-SHA384) id 62d8_57b3_989f52fb_5f0e_455c_9a1e_46c204840837; Tue, 12 Jul 2016 10:59:55 -0400
X-CrossPremisesHeadersFilteredBySendConnector: APLEX06.dom1.jhuapl.edu
Received: from aplex01.dom1.jhuapl.edu (128.244.198.5) by APLEX06.dom1.jhuapl.edu (128.244.198.140) with Microsoft SMTP Server (TLS) id 15.0.1076.9; Tue, 12 Jul 2016 10:59:52 -0400
Received: from aplex01.dom1.jhuapl.edu ([fe80::19f5:dcc5:c696:1a50]) by aplex01.dom1.jhuapl.edu ([fe80::19f5:dcc5:c696:1a50%26]) with mapi id 15.00.1076.000; Tue, 12 Jul 2016 10:59:52 -0400
From: "Birrane, Edward J." <Edward.Birrane@jhuapl.edu>
To: "dtn@ietf.org" <dtn@ietf.org>
Thread-Topic: Comments on AMP draft 03
Thread-Index: AQHR0H5tUjIMIC5JLEmS1h3CfuE9WqAU7aag
Date: Tue, 12 Jul 2016 14:59:52 +0000
Message-ID: <018650973b434882a8b4a01abdcae104@aplex01.dom1.jhuapl.edu>
References: <CO2PR0501MB9812079F7B63906542E2A949F210@CO2PR0501MB981.namprd05.prod.outlook.com>
In-Reply-To: <CO2PR0501MB9812079F7B63906542E2A949F210@CO2PR0501MB981.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_018650973b434882a8b4a01abdcae104aplex01dom1jhuapledu_"
MIME-Version: 1.0
X-OrganizationHeadersPreserved: APLEX06.dom1.jhuapl.edu
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/Xmua8k9c3JLdHnr68wX5mu2eCHw>
Subject: Re: [dtn] Comments on AMP draft 03
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: Tue, 12 Jul 2016 15:25:49 -0000

Brian,

  There were a few things that did not make it into the -03 which will be presented as future work next week and targeted for the -04 version to be released in around September timeframe. They include:


1.       TDCs for column identifiers. Working through some edge cases now on implications for Agent ADM.

2.       Access control lists, ACK/NACK, and control status (Jeremy is working this section now and has a draft)

3.       Transition to CBOR. And yes, help would be appreciated here.

  UNK is shorthand for Unknown and should be clarified.

  A few other thoughts/items of future work:

OID introspection
---------------
  Currently AMP tries not to infer too much meaning in the OID representation. It is an open topic on whether and how AMP Agents need to build internal representations of OID trees. For example, if/when we add introspection to the Agent ADM is it by binary match or by concept of sub-tree?

Times in Controls
---------------
  The time to run a command was preserved because of macros. If a TRL executes a macro, that macro *could* kick off its own TRLs to run individual commands, but that is a heavy-weight way to approach this functionality. Also, if an implementation needs to abort a macro, going back and trying to clean up any TRLs generated by the Macro so that they do not fire later would be a headache.

Macros
----------------
  Enhanced macro support is being considered, including operations for pause and wait on condition. This may define controls that may only appear inside a macro. Also, additional descriptions of macro error recovery - what happens when you are half-way through an executing macro and a command fails? Does AMP need a transaction model, or is recovery left to the user? Are other protocol items needed to support the user such as a pre-defined recovery macro?

Guidance on TABLE usage (and ADM authorship in general)
----------------
  A review of ADMs will be undertaken to remove controls that currently just list data and replace them with tables. I have drafted some text on when an ADM should use a control, simple data item, or table. Core ADMs will be made consistent with that guidance.

Encodings
----------------
  My opinion is that AMP messages should have a single binary representation. The DTNWG is going a different path with BP, but AMP is "just" a payload in a BP or IP (or other) PDU so should not be affected by alternate encoding schemes.  I wonder if there will be a similar request to support alternate encodings for AMP messages.

ADMs
----------------
  In addition to a refactoring of existing ADMs to migrate certain data and controls to tables, the Agent ADM will have new controls for introspection and to handle/query tables.  This will require some mechanism (OP?) for typed pattern matching.

-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 [mailto:dtn-bounces@ietf.org] On Behalf Of Brian Sipos
Sent: Tuesday, July 12, 2016 9:07 AM
To: dtn@ietf.org
Subject: [dtn] Comments on AMP draft 03


I'm glad to see progress on the AMP specification, and have a few comments after reading through changes to version 03.



In Section 3.2.4 "Table", I'm happy that a tabular structure made it in the spec. My only comment is on the column identifier: I would very much prefer if this were a TDC right away, with options for types:

 1. STR for the kind of ad-hoc table represented here, where the table does not conform to an ADM schema.

 2. MID for a table containing data defined by an ADM schema. Each column in the ADM definition would have its own OID represented here.

 3. INT to represent a "sub-OID" which is a single OID component representing the column's OID subordinate to the parent table OID. This is an encoding optimization, and simply represents a full OID in a compressed form. If this is too confusing, I would leave it out. A compressed-form MID would have much of the same benefit.


In Section 5.1 requirements, must an AMP Agent fail if a "type promotion" causes overflow or similar data loss? How is that failure indicated to a Manager?

In Figure 25 there is reference to a type "UNK" but this type name does not come up anywhere else in the document. This seems to be a left-behind artifact from earlier typing scheme.



In section 7.5 "Perform Control" there is a "Start" time which we had discussed earlier as possibly deprecating in favor of using a TRL if delayed control is desired. Is this "Start" time indented to be kept in? If it were to be removed, the control would simply be run at the time of received message processing.



My last meta-comment on the AMP is related to encoding an possible transition to CBOR. If this is something which is going to happen anyway, then I would really rather avoid having two separate AMP encodings and simply migrate the current spec to CBOR. As painful as that may be near-term, I think it will side-step most of the issues that I have commented on regarding AMP typing/encoding. I would be able to assist any CBOR migration if wanted or needed.

Thanks.