Re: [alto] Benjamin Kaduk's No Objection on draft-ietf-alto-cost-calendar-20: (with COMMENT)

"Randriamasy, Sabine (Nokia - FR/Paris-Saclay)" <sabine.randriamasy@nokia-bell-labs.com> Wed, 11 March 2020 18:17 UTC

Return-Path: <sabine.randriamasy@nokia-bell-labs.com>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6313F3A10D1; Wed, 11 Mar 2020 11:17:37 -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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com
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 lp0yv_ysHB2Q; Wed, 11 Mar 2020 11:17:34 -0700 (PDT)
Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on0717.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e19::717]) (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 A000D3A10E6; Wed, 11 Mar 2020 11:17:33 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VsK1P8M68YRBd8GZ1k6bKHfgXGfGvtFSgRHC5np4FsqIluSfIaYuHYHhep8CL/ttrlHUzCA9C3PLieAVZ3nuS5GBM//CiXirsbSdFKH0WqRFRZw6hoWkyrtM1SpgzYjvVJLpziMW49/Hc/+nj37zaNie+Drwb2Wj+emgAcz/nvW6TAQEPttuGP0gdZ0kUPwwR/LTYq9JpMNPxMJRhvQKdtJoH/z3LJjOpcXBa650OpzXb0zEP83SFzzBuhotbzE41LkUPJCHcVHO7/fitkJ49WuvgqEjr6/w1PSVIqMekHWgcxjWg46jp0tT7UaX54wgLLCEAd7zqWGsWR+wSUL8+w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;bh=GzO9QlPy28lRl7Ps9I/P2O85jtgHO5ntGZC9uAsfJQk=; b=OQqlqUpWJMQeY0jZtnQOKEvJwT4EryYl+f8qTaSS0aPkDLXteV1lFcNBplGWpZgVHmDP2ywiPgvkBnlM2wLz7qgNJ4NGSwrRRD8PnRwIksQ3AjEA7XCBietAYfIbM/LnOJH4w39gpmdCIlpl6HcpL3YY4AL7eOKVB3sqUiLV50DhoLelZa48V+sAJdgNVITw0GStWSvzhX1ts+XZ5DjiLiOlCM0fWzjjjYFAyr9sd5f3uQ3i59xKuYinUIThC/2HHPe6SDBo0bNgTnQQqQIQZO1JQFpWm9UiRRQ6vIhkkeJg4GiUNYt48AzfvNWpwoiUe4vascjfdQzhg5wMNQRCTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia-bell-labs.com; dmarc=pass action=none header.from=nokia-bell-labs.com; dkim=pass header.d=nokia-bell-labs.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GzO9QlPy28lRl7Ps9I/P2O85jtgHO5ntGZC9uAsfJQk=; b=Sc+LUvRfO1cKgpUhPXZpu4/4BpeD2TnGe+RgplFRRntcXvXOq1K5I4skfDADxC62iVzN4WF//4feO0iqXa1UG+SAd5S7Cafe5pBX/V97lAUqqzdWB7F59sX1SS2lZEcetQBrLNJluxjJUOA6x2aFSi0bSfxkQxpqQ6gWovI0Mmk=
Received: from PR1PR07MB5100.eurprd07.prod.outlook.com (20.177.209.144) by PR1PR07MB5755.eurprd07.prod.outlook.com (20.177.211.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.11; Wed, 11 Mar 2020 18:17:30 +0000
Received: from PR1PR07MB5100.eurprd07.prod.outlook.com ([fe80::8d6a:cf42:5a57:6b77]) by PR1PR07MB5100.eurprd07.prod.outlook.com ([fe80::8d6a:cf42:5a57:6b77%3]) with mapi id 15.20.2814.007; Wed, 11 Mar 2020 18:17:30 +0000
From: "Randriamasy, Sabine (Nokia - FR/Paris-Saclay)" <sabine.randriamasy@nokia-bell-labs.com>
To: Benjamin Kaduk <kaduk@mit.edu>, The IESG <iesg@ietf.org>
CC: "draft-ietf-alto-cost-calendar@ietf.org" <draft-ietf-alto-cost-calendar@ietf.org>, "alto-chairs@ietf.org" <alto-chairs@ietf.org>, "alto@ietf.org" <alto@ietf.org>, Vijay Gurbani <vijay.gurbani@gmail.com>, "vijay.gurbani@nokia.com" <vijay.gurbani@nokia.com>
Thread-Topic: Benjamin Kaduk's No Objection on draft-ietf-alto-cost-calendar-20: (with COMMENT)
Thread-Index: AQHV9nHNuZc6dQW+Y0OkAtYFHnGOiKhB3PAw
Date: Wed, 11 Mar 2020 18:17:30 +0000
Message-ID: <PR1PR07MB51003D7D5E9F8BAC0D475A2C95FC0@PR1PR07MB5100.eurprd07.prod.outlook.com>
References: <158379966614.5599.8470407594064116252@ietfa.amsl.com>
In-Reply-To: <158379966614.5599.8470407594064116252@ietfa.amsl.com>
Accept-Language: fr-FR, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=sabine.randriamasy@nokia-bell-labs.com;
x-originating-ip: [131.228.2.4]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 286b5d2f-4c7f-40bc-46c4-08d7c5e87653
x-ms-traffictypediagnostic: PR1PR07MB5755:
x-microsoft-antispam-prvs: <PR1PR07MB57556FC47737B4391C9BFD4595FC0@PR1PR07MB5755.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-forefront-prvs: 0339F89554
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(136003)(396003)(39860400002)(376002)(346002)(366004)(199004)(52536014)(9686003)(7696005)(55016002)(81166006)(6506007)(316002)(478600001)(54906003)(110136005)(186003)(81156014)(86362001)(71200400001)(26005)(5660300002)(8936002)(66556008)(76116006)(66476007)(966005)(64756008)(107886003)(4326008)(30864003)(66446008)(8676002)(66946007)(33656002)(2906002); DIR:OUT; SFP:1102; SCL:1; SRVR:PR1PR07MB5755; H:PR1PR07MB5100.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:0;
received-spf: None (protection.outlook.com: nokia-bell-labs.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: rUjp3b3z0PL2JNx+1Yq1Jq3TOx+KcUD3ky4RWl/0aKtMD3C1JeD1u1J1o0xFS9n/6moj49SybndG06Da6tVFJaCB98mLpJORuF/5wARnUQcEx2J2AAFD0CemxDwO65/Jj5/ns+p74x+yJb/xqu2pPstkZU2pIrPlgmRIHUp3mIthAFCMmDjmrxeqHcZ1jbStxvel5wHBElS0SfJD77DgmiIohmwnDt9Y1+BSSVLuKbNhQJBOGYFZA5oZXHMO+7Ocn2rgGY1rGg6AfRWmO+41n530b5tmjRgwLa0fli1z7spc875Ea6QbthV5M8O0ClLX5Cjb2qvX3J0xwmkSaGG3FaqBdas+4Ysgy1DIlnZdn8DtUiO7Ld9sSluNjWcUaWeqOnrxFaQbwyb6qCagNXDwo6aAlf6qOsPEvX6oNgZNq5ehlBsHGKKtlG2QrL1Z3JV3WScaZWy/7muZbSiVQLFTTDJbRjfbv0RXPF8HuSlGSd65TdJioRwLYBRa6dIOlSxeC2niWCaiMYvKtBTS0jhvdA==
x-ms-exchange-antispam-messagedata: EjHwtbWOiw5X3RXEeM7Xl5QGH72Rnn5DVg3RwVSzLDbjik0KomvI7f5yWFT3XtN9pqwRarwq4hWrfQRZxLs61nvvlFH2e9CcivQslr0k0uVYlDEWywpPbpD8sxy8OPIZ6cTEQZpQfSXyt9+BLbr5Cw==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: nokia-bell-labs.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 286b5d2f-4c7f-40bc-46c4-08d7c5e87653
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2020 18:17:30.2998 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: kBwF528TOMcbiDgiAlIUKRlHTXx0CLQBF3VS3jhK7ItU5FWJlrWtkIIU+fZpppNXH4coU6jI6mlJ86qaE6E2WZIh9nsbvd9orW6h+hUTadqkGXv0Ny2K55WiTva/k3J8
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR1PR07MB5755
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/36mCXpGVx2w7tzAeAEWkx5CZhak>
Subject: Re: [alto] Benjamin Kaduk's No Objection on draft-ietf-alto-cost-calendar-20: (with COMMENT)
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Application-Layer Traffic Optimization \(alto\) WG mailing list" <alto.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/alto>, <mailto:alto-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/alto/>
List-Post: <mailto:alto@ietf.org>
List-Help: <mailto:alto-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/alto>, <mailto:alto-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 11 Mar 2020 18:17:41 -0000

Hello Benjamin,

Thanks again for your review. A version v21 is under edition to finish addressing all the review comments. 
Please see inline for my responses to your comments. 
Best regards,
Sabine

>-----Original Message-----
>From: Benjamin Kaduk via Datatracker <noreply@ietf.org>
>Sent: Tuesday, March 10, 2020 1:21 AM
>To: The IESG <iesg@ietf.org>
>Cc: draft-ietf-alto-cost-calendar@ietf.org; alto-chairs@ietf.org; alto@ietf.org;
>Vijay Gurbani <vijay.gurbani@gmail.com>; vijay.gurbani@nokia.com
>Subject: Benjamin Kaduk's No Objection on draft-ietf-alto-cost-calendar-20:
>(with COMMENT)
>
>Benjamin Kaduk has entered the following ballot position for
>draft-ietf-alto-cost-calendar-20: No Objection
>
>When responding, please keep the subject line intact and reply to all email
>addresses included in the To and CC lines. (Feel free to cut this introductory
>paragraph, however.)
>
>
>Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
>for more information about IESG DISCUSS and COMMENT positions.
>
>
>The document, along with other ballot positions, can be found here:
>https://datatracker.ietf.org/doc/draft-ietf-alto-cost-calendar/
>
>
>
>----------------------------------------------------------------------
>COMMENT:
>----------------------------------------------------------------------
>
>Thanks for adding text about the incompatibility of constraints with the
>calendar functionality.  I would suggest further clarifying that this reflects a
>limitation of this method or reduction in functionality when compared to RFC
>7285 (and 8189), but do not insist upon it.
>
>[comments from -19 preserved for posterity]
>
>Section 1
>
>   In this document, an "ALTO Cost Calendar" is specified in terms of
>   information resources capabilities that are applicable to time-
>
>nit: "information resources capabilities" has two plurals.  Either make
>"resources" possessive ("resources'") or just use "resource".
[     [SR]   ] done thanks
>
>Section 1.1
>
>I'm not sure how much *archival* value there is in the current discussion of
>SENSE and Unicorn.
[     [SR]   ] Text changed to be less project-centric ans instead focusing on the motivating use-case. 
Reference [I-D.xiang-alto-multidomain-analytics] was changed to an archived journal paper.
>
>Section 3.1
>
>   sent to the ALTO Clients needing it.  The "ALTO Incremental Updates
>   Using Server-Sent Events (SSE)" Service
>   [I-D.ietf-alto-incr-update-sse] can be used to update the calendar
>   faster if supported by both the Server and the Client.
>
>nit(?): faster than what?
[     [SR]   ] the text has been changed as follows in v20:
NEW 
The "ALTO Incremental Updates
   Using Server-Sent Events (SSE)" Service
   [I-D.ietf-alto-incr-update-sse] can be used to directly update the
   Calendar upon value changes, if supported by both the Server and the
   Client. END
>
>Section 3.3
>
>   The present document extends the definition of a legacy cost map
>   given in [RFC7285] to allow a cost entry to be an array of values,
>   with one value one per time interval, instead of being just one
>   number.  Therefore the implementor of this extension MUST consider
>   that a cost entry is an array of values.  Specifically, an
>
>nit: this is not quite true, strictly speaking -- the cost entry is only an array
>when the cost calendar functionality is active, which is not a subset of when
>the extension is implemented.
>Also, if the cost entry is definitively an array, then this would be replacing the
>definition, not extending it.
[ [SR]   ] Would the following text be better?
NEW 
The present document extends the
   definition of a legacy cost map given in <xref target="RFC7285"/> to allow a cost
   entry to be an array of values, with one value one per time interval, instead of
   being just one number, when the Cost Calendar functionality is activated on this cost.
   Therefore the implementor of this extension MUST consider that a cost entry is an array of values
   if this cost has been queried as a Calendar. END

>
>   implementation of this extension MUST parse the "number-of-intervals"
>   attribute of the "calendar-attributes" in an IRD entry announcing a
>   service providing Cost Calendar.  The implementation then will know
>   that a cost entry of the service will be an array of values, and the
>   expected size of the array is that specified by the "number-of-
>   intervals" attribute.
>
>Is it a protocol error if the cost entry is a scalar or an array of different size
>than expected?  Where do we specify error handling for those cases?
>
>   To realize an ALTO Calendar, this document extends: the IRD and the
>   ALTO requests and responses for Cost Calendars.
>
>nit: no colon needed.
[ [SR]   ] done, thanks
>
>   o  it allows an ALTO Server to offer Calendar capabilities on a cost
>      type, with attributes values adapted to each information resource.
>
>I'm not entirely sure what this is intending to say.  Is the idea that this is a
>general mechanism that could be applied to capabilities of all cost types (as
>opposed to, e.g., making a new cost mode for "calendar of numerical" that
>would need many new types to support different types of calendar)?
>
>Section 3.3.2
>
>   The ALTO protocol extensions for Cost Calendars have been defined so
>   as to ensure that Calendar capable ALTO Servers can provide legacy
>
>nit: hyphenate "Calendar-capable" (and similarly throughout).  I see that
>"calendar-aware" is already hyphenated, which is good.
[ [SR]   ] done in v20 thanks

>
>   ALTO Clients with legacy information resources as well.  That is, a
>   legacy ALTO Client can request resources and receive responses as
>   specified in [RFC7285].
>
>Should we say anything about Calendar-aware ALTO Clients being able to get
>useful responses from legacy Servers as well?
[ [SR]   ] Agree. The following sentence has been added after paragraph 2:
NEW
   A Calendar-aware ALTO Client MUST implement the base protocol
   specified in <xref target="RFC7285"/>.
END

>
>Section 4
>
>   The Calendar attributes in the IRD information resources capabilities
>   carry constant dateless values.  A Calendar is associated with an
>
>"constant" in what sense?
[ [SR]   ] Agree, the main idea is that the attribute values are dateless. So "constant" has been removed:
NEW
The Calendar attributes in the IRD information resources capabilities carry dateless values.
END
>
>Section 4.1
>
>   types.  A cost type name MUST NOT appear more than once in the
>   "calendar-attributes" member of a resource entry; multiple
>   appearances of a cost type name in the CalendarAttributes object of
>   the "calendar-attributes" member MUST cause the ALTO Client to ignore
>   any occurrences of this name beyond the first encountered occurrence.
>
>It seems that this is most important in that the given resource entry has an
>array of calendar-attributes, and we need to know which element of that
>array to use when processing calendars for that cost type.
>Indicating the extra layer of structure in the description around this
>requirement would help the reader.
>
>   An ALTO Server SHOULD specify the "time-interval-size" in the IRD as
>   the smallest it is able to provide.  A Client that needs a longer
>   interval can aggregate multiple cost values to obtain it.
>
>nit: we haven't defined "time-interval-size" yet, so either moving this later or
>giving a bit more explanation might be useful.
[ [SR]   ] Agree. This text was moved right after the definition of CalendarAttributes
>
>   o  "cost-type-names":
>
>      *  An array of one or more elements indicating the cost-type-names
>         in the IRD entry to which the capabilities apply.
>
>Which capabilities?
[ [SR]   ] The text was clarified as follows:
NEW
An array of one or more elements indicating the cost-type-names
         in the IRD entry to which the values of "time-interval-size" and 
         "number-of-intervals" apply.
END
>
>      *  is the duration of an ALTO Calendar time interval in a unit of
>         seconds.  A "time-interval-size" value contains a non-negative
>         JSONNumber.  Example values are: 300 and 7200, meaning that
>         each Calendar value applies on a time interval that lasts 5
>         minutes and 2 hours, respectively.  Since an interval size
>         (e.g., 100 ms) can be smaller than the unit, the value
>         specified may be a floating point (e.g., 0.1).  Both ALTO
>         Clients and Servers should be aware of potential precision
>         issues caused by using floating point numbers; for example, the
>         floating number 0.1 cannot be represented precisely using a
>         finite number of binary bits.  To improve interoperability and
>         be consistent with [RFC7285] on the use of float point numbers,
>         the Server and the Client SHOULD use IEEE 754 double-precision
>         floating point [IEEE.754.2008] to store this value.
>
>nit: please be consistent about using "floating-point number" (vs., e.g.,
>"floating point" or "float point").
[ [SR]   ] thanks, used "floating" everywhere
>
>   - Providing attribute "cost-type-names" together with "time-interval-
>   size" and "number-of-intervals" improves the readability of the
>   Calendar attributes specified for an IRD resource and avoids
>   confusion with Calendar attributes of other cost types.
>
>I'm not sure I understand either of these points (how readability is helped and
>how confusion is avoided).
[ [SR]   ] Indeed the text was clarified as follows in v20, as readability was not the main point
NEW
- Attribute "cost-type-names" is associated with "time-interval-size" and 
   "number-of-intervals", because multiple cost types may share the same 
   values for attributes "time-interval-size" and "number-of-intervals". 
   To avoid redundancies, cost type names sharing the same values for "time-interval-size" 
   and "number-of-intervals" are grouped in the "cost-type-names" attribute. 
   In the example IRD provided in <xref target="sect-4.3"/>, the information resource 
   “filtered-cost-map-calendar” provides a Calendar for cost type names 
   "num-routingcost", "num-throughputrating" and "string-servicestatus".  
   Cost type names "num-routingcost" and "num-throughputrating" are 
   grouped in the "cost-type-names" attribute because they share the 
   same values for "time-interval-size" and "number-of-intervals", 
   which are respectively 7200 and 12.
END
>
>Section 4.2
>
>   It may be useful to distinguish IRD resources supported by the base
>   ALTO protocol from resources supported by its extensions.  To achieve
>   this, one option, is that a "root" ALTO Server implementing base
>   protocol resources and running at a given domain, delegates
>   "specialized" information resources such as the ones providing Cost
>   Calendars, to another ALTO Server running in a subdomain.  The "root"
>
>How would a Client know that this mechanism is in use?
>
>   This document provides an example, where a "root" ALTO Server runs in
>   a domain called "alto.example.com".  It delegates the announcement of
>   Calendars capabilities to an ALTO Server running in a subdomain
>   called "custom.alto.example.com".  The location of the "delegate
>   Calendar IRD" is assumed to be indicated in the "root" IRD by the
>   resource entry: "custom-calendared-resources".
>
>This is "assumed" only for the purpose of the example, and not as a general
>protocol mechanism, right?
>
>   Another benefit of delegation is that some cost types for some
>   resources may be more advantageous as Cost Calendars and it makes few
>   sense to get them as a single value.  For example, if a cost type has
>   predictable and frequently changing values, calendared in short time
>   intervals such as a minute, it saves time and network resources to
>   track the cost values via a focused delegate Server rather than the
>   more general "root" Server.
>
>Is the idea just that you compartmentalize the fast-changing stuff from the
>slow-changing stuff, so that your listing of what is changing quickly only
>includes the things actually changing on that timescale, so you don't end up
>also listing the calendar for the slowly-changing things in the same response?
>Also, nit: s/few/little/
>
>
>Is there a reason for "map" and "calendar" to be in different orders in
>"filtered-cost-map-calendar" and "endpoint-cost-calendar-map"?
>
>   o  the Calendar for "owdelay": is an array of 12 values each provided
>      on a time interval lasting 300 seconds (5 minutes).
>
>nit: s/owdelay/num-owdelay/
[[SR]] Done, thanks

>
>Sectgion 5
>
>I'd consider using a more recent Date in the example.
[[SR]] agree, done thanks
>
>Section 5.1.1
>
>   The input parameters of a "legacy" request for a filtered cost map,
>   defined by object ReqFilteredCostMap in section 11.3.2 of [RFC7285],
>   are augmented with one additional member.
>
>There's probably some pedantic consideration here about "other extensions",
>such as the "multi-cost-types" member from RFC 8189.
>
>   This field is an array of 1 to N boolean values, where N is the
>   number of requested metrics.  Each entry corresponds to the requested
>
>Maybe reference RFC 8189 so the reader doesn't get confused by RFC 7285
>specifying only a single metric type?
>
>Section 5.1.2
>
>   The non Calendar specific "meta" fields of a calendared Filtered Cost
>   Map response MUST include at least:
>     [...]
>
>side note: this structure where we effectively repeat the requirements of all
>previous specifications is not going to scale well with future extensions.
>
>   o  each "CalendarResponseAttributes" object in the array is specified
>      for one or more cost types for which the value of member
>      "calendared" is equal to 'true' and for which a Calendar is
>      provided for the requested information resource.
>
>Member 'calendared' of what data structure?
>
>   o  "cost-type-names": is an array of one or more cost-type-names to
>      which the capabilities apply and for which a Calendar has been
>      requested.  The value of this member is a subset of the "cost-
>      type-names" array specified in the corresponding IRD Calendar
>      attributes.
>
>Just to check my understanding: in the IRD Calendar attributes, there's a
>"calendar-attributes" member whose value is an array of objects, and each of
>those objects has a "cost-type-names" member whose value is an array of
>cost-type names.  So what we're saying here is that the "cost-type-names" in a
>CalendarResponseAttributes entry are a subset of the union of the "cost-type-
>names" members in all of the entries in the "calendar-attributes" array of
>objects in the IRD calendar attribute, which is not exactly what the quoted text
>seems to be saying.
>
>   o  "time-interval-size": as specified in Section 4.1 and with the
>      same value.
>
>   o  "number-of-intervals": as specified in Section 4.1 and with the
>      same value.
>
>nit: "with the same value" could perhaps imply that there is a requirement to
>have actually published an IRD calendar for this resource and literally take the
>value from that existing calendar; "with the same semantics" should relax that
>(perceived) requirement.
>
>Section 5.1.3
>
>   An example of non-real time information that can be provisioned in a
>   Calendar is the expected path throughput.  While the transmission
>
>nit: "non-real time" and "non-real-time" have different meanings, and I think
>the latter is the intended one.
>
>   usage patterns.  In this example, we assume that an ALTO Client
>   requests a Calendar of network provider defined throughput ratings,
>
>nit: hyphenate "network-provider-defined".
>
>     Content-Length: 1013
>     Content-Type: application/alto-costmap+json
>
>Please double-check the content length (for all the examples) -- it's a bit
>annoying to do from the text rendering of the I-D that applies a left indent,
>but assuming that the initial '{' is supposed to be the first byte of the response
>body and the rest of the whitespace is part of the response, I get something
>more like 1043 octets of content.
>
>Section 5.2.1
>
>We should probably say that the interpretation of the various fields is the
>same as the RFC 7285/8189 ReqEndpointCostMap, and "calendared" the same
>as for ReqFilteredCostMap.
>
>Section 5.2.3
>
>   o  C1 for Monday, Tuesday, Wednesday, Thursday, (weekdays)
>
>   o  C2 for Saturday, Sunday, (weekend)
>
>   - C3 for Friday (maintenance outage on July 4, 2014 from 02:00:00 GMT
>   to 04:00:00 GMT, or big holiday such as New Year evening).
>
>I'd consider using a more recent date than 2014 throughout this example.
>Also, nit: please use a consistent character to represent the bullet point.
>
>  Host: alto.example.com
>
>Would it be more consistent with previous examples to use
>custom.alto.example.com here (and in other examples)?
>
>Section 7
>
>
>   [RFC8446] specifies TLS 1.3 and writes in its section 1: "While TLS
>   1.3 is not directly compatible with previous versions, all versions
>   of TLS incorporate a versioning mechanism which allows Clients and
>   Servers to interoperably negotiate a common version if one is
>   supported by both peers".  ALTO Clients and Servers SHOULD support
>   both TLS 1.3 [RFC8446] and TLS 1.2 [RFC5246], and MAY support and use
>   newer versions of TLS as long as the negotiation process succeeds.
>
>I know this document has been in the works for a long time and so there may
>be reluctance to make changes on this front, but I'll note that RFC
>8446 has been out for a year and half, so under normal conditions we'd just
>say "use TLS 1.3 or newer" without mentioning 1.2.
>
>   participate in a DDoS attack.  The Calendar information would be
>   valuable information for when to persecute a DDoS attack.  A
>
>nit: "persecute" is an unusual word here; "execute" or "perform" seem like
>better alternatives.
>
>   Hence, a more robust ALTO Client should adapt and extend protection
>   strategies specified in Section 15.2 of the base protocol.  For
>
>It's probably better to use the RFC number than just "the base protocol".
>
>Section 10.2
>
>I think [IEEE.754.2008] needs to be normative, as do RFCs 5246 and 8446, and
>draft-ietf-alto-incr-update-sse.
>
>