[alto] Review of cost-calendar-11
Vijay Gurbani <vijay.gurbani@gmail.com> Mon, 25 March 2019 19:43 UTC
Return-Path: <vijay.gurbani@gmail.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 76532120033; Mon, 25 Mar 2019 12:43:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 d2cMwAW8M9Xt; Mon, 25 Mar 2019 12:43:10 -0700 (PDT)
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EA47E120020; Mon, 25 Mar 2019 12:43:06 -0700 (PDT)
Received: by mail-ed1-x532.google.com with SMTP id e4so8621416edi.3; Mon, 25 Mar 2019 12:43:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=50qRfl8i6cn5PVortIfMtcnXU5QxrKvYkiG0yyEORrY=; b=ModPGQGY15m1tUViVbAkpT8htM3/vekcuVLoEGpWQgXpI/Ae6MEPBg17p1BoEFqXM3 BZvwHy6DmlllTaZ6uBUawHN3EFFNe+YlIoLI4JWXYIP4LiwSCFDsk5LxSb6LgI0DV7Ha 6+22hXoP/+zB/YjrTNNYb2yw0o9Zi08I2p6YsJenVO5X21ZKrK7o+dCD80cK2k8lxaaa cePLd6eEzhwS70+8o0tVueOB5pHAmNAAZQ799EsPJLdNjBDlt6m9rNr2371MC+hcRCW5 RUNbhiAQ1A7FTxR68LCnbZiIKDW3YeTbuts17XVayX5RMHUOEHWbKlYWVFNoAYVxA1M3 d/kA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=50qRfl8i6cn5PVortIfMtcnXU5QxrKvYkiG0yyEORrY=; b=Pqu8Cf3bdgbw94ADk6kUACqMbntJQmIVGbRshHZGkD/HJgZDWqpahjKPdXBcGhmwir jom8Ka/WBaU3q4lxJSLWvTgvzZPtTjGCD5YWSA5NuM8XkZEPNz2GR9xthnhL4pXDZroP pysE85RKNpm2HgpaANKjqRjTLQlpF4QNGnVw7HVS6uR8aoNpLwA5JH9eawkINBza0UIv jBJzq/Y+ICJrsChez+W0c2dz1IndNlCFwn/YBySUslvVMFt9WSSihifvmYF7CQme6N1u BpHIA7yW1mJfQf55UpqE/Of/U0/oE0Q76LEugQsQyg04hgLJx3Wu/8Kp8Thg7NdrXR/R VbKg==
X-Gm-Message-State: APjAAAXnXFFhHGw+eLm4c6JLOQoFKCJULe1AAr+4Z0d8ADKlXnk2BmLV 29gXYq5Jz+KF/I7X/OoBEjcxPkeLpe34itEeAXqa4vN0+8I=
X-Google-Smtp-Source: APXvYqxR9zSIGQw4HTJbslbCG70jAFDNzAQu4FL7xvjhgIRmBQgbgZzN4UHS/9YR1C99L7E/2Sa9jnwy8MHNOfZl5WE=
X-Received: by 2002:a50:97b8:: with SMTP id e53mr16197261edb.4.1553542985023; Mon, 25 Mar 2019 12:43:05 -0700 (PDT)
MIME-Version: 1.0
From: Vijay Gurbani <vijay.gurbani@gmail.com>
Date: Mon, 25 Mar 2019 14:44:05 -0500
Message-ID: <CAMMTW_KZwvRyhhQV+9yv+805M6DoYdFMFPOOVKm8q+azMGU7ZA@mail.gmail.com>
To: IETF ALTO <alto@ietf.org>, draft-ietf-alto-cost-calendar@ietf.org
Content-Type: multipart/alternative; boundary="000000000000c408890584f06966"
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/SC-frbULg3arJYJxTmVTO0ZYIbw>
Subject: [alto] Review of cost-calendar-11
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: Mon, 25 Mar 2019 19:43:14 -0000
The cost-calendar draft is ready. It is an excellent piece of work by the authors who are long standing ALTO contributors; the draft is is applicable and of interest to many ALTO deployments (and this should be highlighted; I provide the Unicorn link to highlight this in my feedback below, but please provide more). The one feedback I have about the draft is the need for a thorough edit session to ensure grammar and consistency in the document as well as to ensure that implementations deal with as less ambiguity as possible when following the protocol extension. I provide some examples of where the text can be improved below. - General: a) Is it Cost Calendars (plural) or Cost Calendar (singular)? You use both in the text; best to ensure that only one representation is being used. b) There are a number of run-on sentences (see first, second and third paragraphs in S3.1; such run-on sentences make it very hard to understand what is being asked of the implementors, and as a result will lead to an implementation that is ambiguous at best and full of bugs in the worst case. Such sentences must be scrubbed appropriately before publishing as these outline normative behaviour). Getting the right text to describe the processing of cost-calendar is not easy, I will be the first to admit. Perhaps an editor can improve the text to eliminate such run-on sentences. c) In many HTTP requests and responses (see for example the ALTO POST request on page 19), a content length is specified. In the example on page 19, the C-L is 815. However, how was this sum arrived at? The body of the response contains a lot of elucidations ("v1, v2, ..., v12"), for example. Does the 815 bytes include these elucidations ("...")? My advice would be to be as realistic as possible and remove these elucidations, put sample values in the response and calculate the C-L. Yes, more work, but better product. Document-order specific comments follow. - Abstract: a) s/service such that/service so that/ b) s/ALTO Cost Calendars/ALTO Cost Calendar/ - S1, para 1: s/needing to/that need to/ - S1, para 2: The larger point you are making in the second half of the paragraph is that due to the fact that ALTO does not provide real time network metrics, the applications essentially have to figure out what the cost of doing business will be at some later time, a proposition that is sub-optimal since the application has no idea of network usage at some future time. This salient point is not quite captured. Perhaps the text below may help? (Please feel free to edit as needed.) Also, you have the wrong reference to ALTO requirements document in your current text; that is fixed below as well. OLD: ALTO intentionally avoids provisioning real-time information as explained in the ALTO Problem Statement [RFC5693] and ALTO Requirements [RFC5693]. Thus the current Cost Map and Endpoint Cost Service are providing, for a given Cost Type, exactly one path cost value. Applications have to query one of these two services to retrieve the currently valid cost values. They, therefore, need to plan their ALTO information requests according to their own estimation of the frequency of cost value change. With [RFC7285], an ALTO client should interpret the returned costs as those at the query moment. However, Network costs can fluctuate, e.g., due to diurnal patterns of traffic demand or planned events such as network maintenance, holidays or highly publicized events. Providing network costs for only the current time thus may not be sufficient, in particular for applications that can schedule their traffic in a span of time, for example by deferring backups or other background traffic to off-peak hours. NEW: For the reasons outlined in the ALTO problem statement [RFC5693] and requirement AR-14 [RFC6708], ALTO does not disseminate network metrics that change frequently. In a network, the costs can fluctuate for many reasons having to do with instantaneous traffic load or due to diurnal patterns of traffic demand or planned events such as network maintenance, holidays or highly publicized events. Thus, an ALTO application wishing to use the Cost Map and Endpoint Cost Service at some future time will have to estimate the state of the network at that time, a process that is, at best, fragile and brittle since the application does not have any visibility into the state of the network. The need of such future scheduling of large scale traffic that can be addressed by the ALTO protocol is motivated by Unicorn, a unified resource orchestration framework for multi-domain, geo-distributed data analytics [draft-xiang-alto-multidomain-analytics]. - S2, para 2: s/crowded events/expected spike in traffic due to crowd gathering (concerts, sports, etc.)/ - S2.1, para 1: a) s/with dateless/without date/ b) s/the "meta" of/the "meta" section of/ c) s/avoiding to process useless requests./reducing processing of similar requests./ - S2.2, para 2: s/also says/states/ - S2.2, a) s/and ensure/and to ensure/ b) para 4: "As recommended, it relies ..." ==> Recommended by who? Please specify. - S2.2.2: OLD: As a consequence, when a metric is available as a Calendar array, it MUST be as well available as a single value, as provided by [RFC7285]. NEW: As a consequence, when a metric is available as a Calendar array, it also MUST be available as a single value as required by [RFC7285]. (This ensures backwards compatibility.) - S3.1, para 1, 2, and 3: I would re-write these paragraphs completely, probably put them in one pragraph. In its current form, it is hard to parse and understand these paragraphs. My suggested edit is below, but please feel free to modify as needed. A Cost Calendar for a given Cost Type MUST be indicated in the IRD by an object of type CalendarAttributes. A CalendarAttribute object is represented by "calendar-attributes" member of a resource entry. Each CalendarAttributes object applies to a set of one or more cost types. A Cost Type name MUST appear no more than once in the "calendar-attributes" member of a resource entry; multiple appearances of a Cost Type name in CalendarAttributes object of the "calendar-attributes" member causes the ALTO client to ignore any occurrences of this name beyond the first encountered occurrence. - S3.2, para 1: "w.r.t." ==> Too colloquial to be in a standard document. Please take out or reword the sentence. - S3.3: a) first bullet: s/at the IANA./with IANA. b) in the remaining bullets, s/some fictitious/a fictitious/ - S3.3, after the GET request, what is the horizontal line doing? It appears to be separating the request and the response, if so, please use the "S -> C" and "C -> S" nomenclature used in other IETF documents to denote request going from Client to Server and response from Server to Client. - S4, para 2 does not make sense grammatically. Please reword. - S4.1.3, para 1: s/periods for example to/periods to/ - S4.1.3, para 3: s/To lighten the text/For representation brevity/ Thanks. - vijay
- [alto] Review of cost-calendar-11 Vijay Gurbani
- Re: [alto] Review of cost-calendar-11 Randriamasy, Sabine (Nokia - FR/Paris-Saclay)
- Re: [alto] Review of cost-calendar-11 Randriamasy, Sabine (Nokia - FR/Paris-Saclay)