[alto] AD review of draft-ietf-alto-cost-calendar-07

"Mirja Kuehlewind (IETF)" <ietf@kuehlewind.net> Mon, 06 August 2018 14:12 UTC

Return-Path: <ietf@kuehlewind.net>
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 EDE1A130E3C for <alto@ietfa.amsl.com>; Mon, 6 Aug 2018 07:12:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); domainkeys=pass (1024-bit key) header.from=ietf@kuehlewind.net header.d=kuehlewind.net
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 TNJb_2RDV1tA for <alto@ietfa.amsl.com>; Mon, 6 Aug 2018 07:12:38 -0700 (PDT)
Received: from kuehlewind.net (kuehlewind.net [83.169.45.111]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 76A9E130E3B for <alto@ietf.org>; Mon, 6 Aug 2018 07:12:37 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=kuehlewind.net; b=CNaPWzzemEjteP1omzsU9gCHgNLRQrH3EgCJ3MlasqmCW+cPCHsHHeQ2EghUXiDPt8N9A3VmdK/LscxqIrXQ5bZpB0jtIx86PqJ0Yxp2PJdY986yqjsJl85J8RtVHODyfRS/Ragb6JjNKH5DBGIxq+jc6c6cveHP19/M53MJVwI=; h=Received:Received:From:Content-Type:Content-Transfer-Encoding:Mime-Version:Subject:Message-Id:Date:Cc:To:X-Mailer:X-PPP-Message-ID:X-PPP-Vhost;
Received: (qmail 1797 invoked from network); 6 Aug 2018 16:11:34 +0200
Received: from mue-88-130-61-218.dsl.tropolys.de (HELO ?192.168.178.24?) (88.130.61.218) by kuehlewind.net with ESMTPSA (DHE-RSA-AES256-SHA encrypted, authenticated); 6 Aug 2018 16:11:34 +0200
From: "Mirja Kuehlewind (IETF)" <ietf@kuehlewind.net>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Message-Id: <B70C4789-71FC-436F-85DA-3F79D7508D5E@kuehlewind.net>
Date: Mon, 6 Aug 2018 16:11:33 +0200
Cc: alto@ietf.org
To: draft-ietf-alto-cost-calendar.all@ietf.org
X-Mailer: Apple Mail (2.3445.9.1)
X-PPP-Message-ID: <20180806141134.1792.139@lvps83-169-45-111.dedicated.hosteurope.de>
X-PPP-Vhost: kuehlewind.net
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/pVp3MNtp2wbVZcT740I8IQ6ZEYQ>
Subject: [alto] AD review of draft-ietf-alto-cost-calendar-07
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.27
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: Mon, 06 Aug 2018 14:12:40 -0000

Hi all,

I reviewed this draft and there are a few minor fixes that we need before we can start IETF last call:

1) Please remove the following sentence, or refer to the respective sections instead:
„IANA considerations and security considerations will be completed in
   further versions."

2) Please fix everywhere in the doc:
"Content-Length: TODO“

3) Also please make all occurrences of RFC7285 an actually reference ("[RFC7285]" instead of only „RFC7285“).

4) Then I also have a question about this example in Sec 4.1.2:
"For example: if the "calendar-start-time" member has value "Mon, 30
   Jun 2014 at 00:00:00 GMT" and if the value of member "repeated" is
   equal to 4, it means that the calendar values are the same values on
   Monday, Tuesday, Wednesday and Thursday.  The ALTO Client thus may
   use the same calendar for the next 4 duration periods following
   "calendar-start-time“.“
I think this example only makes sense if also the duration period based on "time-interval-size“ and "number-of-intervals“ with „1 hour“ and „24“ respectively is given, right? Can you please add this here.

And one minor (technical) comment/question that I would like to discuss before we go into IETF last call:
Why is "time-interval-size“ combining the value and unit in one element, instead of e.g. using "time-interval-unit“ and "time-interval-value“? Would that not make the implementation of the parsing much simpler?  

And finally, you use the cost type names "num-routingcost", "num-latency", "num-pathbandwidth" and "string-quality-status“ as well as metrics "routingcost", "latency" and "bandwidthscore" in the examples and say that 
"The cost types in this example are either specified in the base ALTO
   protocol or may be specified in other drafts see
   [draft-ietf-alto-performance-metrics] or defined in this draft for
   illustrative purposes.“
However, non of these metrics are actually defined in [draft-ietf-alto-performance-metrics], nor are they „defined“ in this doc. Would it maybe make sense to actually use cost types and metrics from [draft-ietf-alto-performance-metrics] in these examples (or remove the reference and provide some kind of definition)?

Given I reviewed the whole doc, also a couple of editorial comments/proposals below (however, I fully leave it to the authors' judgement to apply these or not).

Thanks!
Mirja


————————————————
Other editorial comments:

1) The abstract is quite long. I think if it could be formulated more crisp, it would be easier to read, e.g. see the text in the shepherd write-up

"This document is an extension to the base ALTO protocol (RFC 7785).  It 
extends the ALTO cost information service such that applications decide 
not only 'where' to connect, but also 'when'.  This is useful for applications
that need to perform bulk data transfer and would like to schedule these
transfers during an off-peak hour, for example.“

2) I know that IRD is on the known abbreviation list, maybe still spell it out at first occurrence for the ease of the reader…?

3) As the alto base spec is already published for a while, maybe:
OLD
"IETF is currently standardizing the ALTO protocol which aims at
   providing guidance to overlay applications…“
NEW
"The ALTO protocol provides guidance to overlay applications…“

4) Maybe:
OLD
“...for example by deferring backup to night
   during traffic trough.“
NEW
"for example by deferring backups or other background traffic to off-peak hours.“

5) To be inline with previously used wording, maybe
OLD
„...we expect to further
   gain on storage and on the wire data exchange…“
NEW
"we expect to further save network and storage resources…“

6) sec 2.2 "The protocol extension placeholders for an ALTO Calendar are: the
   IRD, the ALTO requests and responses for Cost calendars.“
Not sure I fully understand the word „placeholder“ here, maybe:
„To realize an ALTO Calendar, this document extends the
   IRD, the ALTO requests and responses for Cost calendars.“
?

Also further
"Extensions are designed to be light and ensure backwards
   compatibility with base protocol ALTO Clients and with other
   extensions.  It uses section 8.3.7...“
What is „it“ here?
Maybe:
„This extension is designed to be light and ensure backwards
   compatibility with base protocol ALTO Clients and with other
   extensions. As recommended, it relies on section 8.3.7…“
?

7) Sec 4.1.1:
"A Calendar-aware ALTO client supporting single cost type values, as
   specified in RFC7285, MUST provide an array of 1 element:

                          "calendared" : [true];“
This could be stated more clearly e.g.
"A Calendar-aware ALTO client only supporting single cost type values, as
   specified in RFC7285, that aims to request a Calendar MUST provide 
   an array of 1 element:

                          "calendared" : [true];“

8) 4.2.2
"If the value of member "calendared" is equal to 'false' for a given
   requested Cost Type, the ALTO Server must return, for these Cost
   Types, a single cost value as specified in RFC 7285.“
Probably use normative MUST here instead.

9) Probably RFC5246 does not need to be a normative reference for this doc (as it is already normative for RFC7285).