Re: [alto] Reviews on draft-gao-alto-fcs-02

Jensen Zhang <jingxuan.n.zhang@gmail.com> Fri, 30 June 2017 08:13 UTC

Return-Path: <jingxuan.n.zhang@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 94574128D40 for <alto@ietfa.amsl.com>; Fri, 30 Jun 2017 01:13:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 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_LOW=-0.7, 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 Sfj4duCUAQ8A for <alto@ietfa.amsl.com>; Fri, 30 Jun 2017 01:13:23 -0700 (PDT)
Received: from mail-vk0-x22c.google.com (mail-vk0-x22c.google.com [IPv6:2607:f8b0:400c:c05::22c]) (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 5F3FD127977 for <alto@ietf.org>; Fri, 30 Jun 2017 01:13:23 -0700 (PDT)
Received: by mail-vk0-x22c.google.com with SMTP id r126so62708595vkg.0 for <alto@ietf.org>; Fri, 30 Jun 2017 01:13:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=qDKB8xKAib/h2xlmmEL4PGNaDwz6gzRHGQ87XmZpyT8=; b=jtf26MAVhU0m10e7xBUawDeCbOGice+j7BUJka2PkoRGLtdMz96+Em+nbwsf+4u2rl qAOQOo4jhkP6q0n3Ax9r1sBhkafmPAfYF2Lpx1sqmh8MVJ+JVCrUSlJG+FsJZkHxRXQ5 4Hd9YSNJffrsTZOJ5FRHTywpn8HiwGt8tBITypKyB29ROx89QvG2N5LyZahA2IKyyZku wTja7YzKMVR9qGbPEMDlygskkZHOeEfzmcktwT2cQ2FZu+8Ne56S3Y/RK2K2va9k/7Yx 9kE/KljxyN44jzgjKLLUbfcoK5F7Y/ZijW405W4TVhuQx9lZIdIWcqrcPZynwBM2zqpB gN5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=qDKB8xKAib/h2xlmmEL4PGNaDwz6gzRHGQ87XmZpyT8=; b=ZinwX8U1iV3oTU3ysc3Y7LKiO/ylw3bvhRZbfKVyMOGOTnSXjIV03dBf9N/oAKwLQM Vml2ZfdeHjRrpCuUPA+PdicH7v399k8NBRYvtDUDE5szA1QsHO36pyxA3y2Y4nbC44Fb 9iy7iceaBP+XQWqBMJs5EO53HhEWVoTFEN1vn7J1yRS7auEEApO7Ul23rVuWpcJxqABB SatP+prUVKMlt34IfSkxgfcQiMExrGp5mWBcK0fYWHy67082/dvzIYDiThlH/lA+B8BB gxzwdT63Yy7avaP6OXIQ2nq6tKGDOnT3UY9+dT16DUBcUQFHys60b4BmGHV+QHJo0w2f voSA==
X-Gm-Message-State: AKS2vOwLeH1tT5MwgJobdL19v1DzZc8KmS8qXNbI6LdPDn7/hkOtY/JG S1ZMoCoeHdprAZknkuS+/dA0YrwnJw==
X-Received: by 10.31.16.22 with SMTP id g22mr9391428vki.94.1498810402523; Fri, 30 Jun 2017 01:13:22 -0700 (PDT)
MIME-Version: 1.0
References: <07e102bd-999a-c6b3-de5c-e5f01bc5b924@mails.tsinghua.edu.cn> <CAN-YqX2=qFJOyHAVKSGgzJJjGpuJpca2Kht6w0+bPKNQi2cW5g@mail.gmail.com>
In-Reply-To: <CAN-YqX2=qFJOyHAVKSGgzJJjGpuJpca2Kht6w0+bPKNQi2cW5g@mail.gmail.com>
From: Jensen Zhang <jingxuan.n.zhang@gmail.com>
Date: Fri, 30 Jun 2017 08:13:11 +0000
Message-ID: <CAAbpuyqZF5ZzOm1bwXFYuSscFAK2sEHcimNyY3AsBZ8Ok49Baw@mail.gmail.com>
To: Dennis Yu <dennis.yht@gmail.com>, Kai Gao <gaok12@mails.tsinghua.edu.cn>
Cc: IETF ALTO <alto@ietf.org>
Content-Type: multipart/alternative; boundary="001a11436218a0d139055328fddd"
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/tiw-KjFR3MyqJOCIagKbWkfe8Mk>
Subject: Re: [alto] Reviews on draft-gao-alto-fcs-02
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.22
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: Fri, 30 Jun 2017 08:13:26 -0000

Kai and Dennis, thanks a lot for your reviews.

I have fixed typos and grammar issues according to your comments. About
some of your suggestions, see my comments inline.

On Wed, Jun 28, 2017 at 12:24 AM Dennis Yu <dennis.yht@gmail.com> wrote:

> Dear authors of draft-gao-alto-fcs-02,
>
> Yet another review of draft-gao-alto-fcs-02 :)
> Here are some opinions that maybe have some help,
>
> 1.
> Some inconsistency with draft-ietf-alto-multi-cost-10,
>
> the definition of ReqFilteredCostMap in "multi-cost" section 4.1.2 is as
> follows,
> (the comments are appended)
>
>     object {
>         [CostType cost-type;]
>         [CostType multi-cost-types<1..*>;]
>         [CostType testable-cost-types<1..*>;]
>         [JSONString constraints<0..*>;]
>         [JSONString or-constraints<1..*><1..*>;]
>         [PIDFilter pids];   //<---- likely a typo
>     } ReqFilteredCostMap;
>
> and the extended definition in "fcs" section 3.1.2 is,
>
>     object {
>         [CostType cost-type;]
>         [CostType multi-cost-types<1..*>;]
>         [CostType testable-cost-types<1..*>;]
>         [JSONString constraints<0..*>;]
>         [JSONString or-constraints<0..*><0..*>;]  //  1 --> 0
>         [PIDFilter  pids;]
>         [PIDFilter  pid-flows<1..*>;]
>     } ReqFilteredCostMap;
>
> also see the definition of ReqEndpointCostMap. Although the difference
> between "1" and "0" is tiny, but I think it's better to agree on one
> definition.
>
> 2.
> the definition of FlowCostResponse in section 4.2.5 is as follows,
>
>     object {
>         FlowCostMap     flow-cost-map;
>         [FlowCostMap    flow-cost-confidences;]
>     } FlowCostResponse : ResponseEntityBase;
>
>     object-map {
>         FlowId -> JSONValue;
>     } FlowCostMap;
>
> Firstly, I'm not sure the "JSONValue" is well-defined. According to
> RFC7159 section 3, "A JSON value MUST be an object, array, number, or
> string, or one of the following three literal names: false null true"
>
>
JSONValue is OK here. See Section 11.2.3.6 and Section 11.5.1.6 of RFC7285.


> Secondly, I think the "flow-cost-confidences" could have its clear type
> definition, maybe
>
>     object-map {
>         FlowId -> JSONValue;
>     } FlowCostConfidence
>
>
Maybe.


> Thirdly, I personally think that the cost confidence should better be
> defined as a JSON fractional number between 0 to 1.
>
>
Actually, I prefer to deprecate flow-cost-confidences from the draft, since
it can be supported by introducing new cost types (cost-mode). Defining an
additional field does not convince me. For example, we can define
cost-mode=range, cost-metric=delay:

meta:
  ...
  cost-type:
    cost-mode: range
    cost-metric: delay
cost-map:
  PID1:
    PID2: [100, 110]
    PID3: [220, 240]

Kai, the original idea of the cost confidence is proposed by you. Do you
have any comments?

3.
> A missing comma in the example of page 19 (l3-flow-aggr)
> Two redundant commas in the example of page 19 (cost-type) and page 10
> (dependent-vtags)
>
> 4.
> The change log of section 2 can be composed as an appendix.
>
>
Not necessary. It is a temporary section and will be removed when the
content is ready.


> 5.
> Section 8.2, "Openflow" and "openflow" -> "OpenFlow"
>
> Sincerely,
> Dennis Yu
>
> On Tue, Jun 27, 2017 at 9:09 PM, Kai Gao <gaok12@mails.tsinghua.edu.cn>
> wrote:
>
>> Dear authors of draft-gao-alto-fcs,
>>
>> I have roughly reviewed the latest FCS draft. Please see the comments
>> below.
>>
>>
>> Regards,
>> Kai
>>
>> Terminology:
>>
>> sX: section X
>> ppX: page X
>> pX: paragraph X
>> lX: line X
>>
>> pp3, s1, p1
>> l2: scenario -> scenarios
>> l3-4: "... the P2P application ..." -> "... P2P applications ..."
>>
>> pp3, s1
>> p2, l2: central -> centralized
>> p2 & p3: I think these two paragraphs can benefit from some restructuring
>> to
>> make the motivations for flow-based query more explicit and also easier
>> to read.
>>
>> pp3, s1, p5
>> l1: consider -> describe
>> l3: schema -> schemas
>>
>>
>> pp4, s1, p1
>> l2: "... 5-tuples of ..." -> Use the explicit form of the 5-tuple: "...
>> 5-tuple <ip-protocol, ...>"
>> l6: "SHOULD support" -> "supports"
>> l7: "to satisfy" -> "and satisfies"
>>
>> pp5, s3.1.2, p5
>> l4: "appeared" -> "appear"
>>
>> pp6, s3.2
>> title: "Extend" -> "Extended"
>> p2, l2: "... to measure the cost" -> "... to specify the request"
>> p2, l3: "SHOULD" -> "MUST"
>> p2, l4: "be" -> "have"
>> p2, l5: "format" -> "formats"
>> p4, l2: Extra space after "TypedEndpointAddr"
>>
>> pp6, s3.2.1, p1
>> l1: "contain" -> "can be"
>> l4: "specified" -> remove it.
>> l5: "be conflict" -> "conflict"
>> l6: "is conflict" -> "conflicts"
>>
>> pp7, s3.2.3, p1: Use "Protocol" instead of "protocol" to make it explicit
>> that
>> it represents the value contained in the query.
>>
>> pp8
>> s3.3.1, p1, l1: Remove "then"
>> s3.3.2, p6, l4: "appeared" -> "appear"
>> s3.3.3, p1, l2: "exactly" -> "exactly the same"
>> s4, title: Example -> Examples
>>
>> pp14, s4.2.3, p4, l3: "value types" -> "value type"
>>
>> pp15, s4.2.5.1, p1, l5: ", the servers" -> ". The servers"
>>
>> pp16, s4.2.5, p3, l3: "TypedHeadreField" -> "TypedHeaderField"
>>
>>
>> _______________________________________________
>> alto mailing list
>> alto@ietf.org
>> https://www.ietf.org/mailman/listinfo/alto
>>
>
> _______________________________________________
> alto mailing list
> alto@ietf.org
> https://www.ietf.org/mailman/listinfo/alto
>