Re: [alto] Path vector to support application traffic capacity region design

"Y. Richard Yang" <yry@cs.yale.edu> Fri, 08 July 2016 16:11 UTC

Return-Path: <yang.r.yang@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 4348012D0AF for <alto@ietfa.amsl.com>; Fri, 8 Jul 2016 09:11:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.411
X-Spam-Level:
X-Spam-Status: No, score=-0.411 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.198, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=1.989, 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 AIEDUCnQ29AJ for <alto@ietfa.amsl.com>; Fri, 8 Jul 2016 09:11:48 -0700 (PDT)
Received: from mail-qk0-x243.google.com (mail-qk0-x243.google.com [IPv6:2607:f8b0:400d:c09::243]) (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 0624E12B069 for <alto@ietf.org>; Fri, 8 Jul 2016 09:11:48 -0700 (PDT)
Received: by mail-qk0-x243.google.com with SMTP id g190so9167680qkc.2 for <alto@ietf.org>; Fri, 08 Jul 2016 09:11:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=Ayuxm/Irk/hb5ZGjDFYO1JItgTASrJ+u0drhYGkQpYs=; b=xpGliPUhfPkR/ZdVMCMF7sTIXxXGG+XBVMCFZQ9KZpmTZKmXFwV/Ke4tPJ1brI5M+s M0fb5HMxrVj5VWcqzQNhAQvosoIp7EzVQ3Guc4KyBa19ARZ3b092Y+v1eZhsgH6Ua+yW l8mz4DsPjkZXU03RDSgXh0HCUg0eRwwCsUu1j9t7DoWT9DiZN7CklNgtRHeDlktBAWGn WZJ1xJHrwNWe4q37hzP9a3jFmI8QaswtNqWjgWlp7PPudpo65i9BOyTx0raC9aSa8fJJ CfcM1iXeP/FQ1RCJsfqgQ6jtDlYHlrXaKtR/iDoomsuqih2G6IkV6o2O6zt6BDR5pa9A IVVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=Ayuxm/Irk/hb5ZGjDFYO1JItgTASrJ+u0drhYGkQpYs=; b=h4E1Mdv74RMueEs2K1bClKYg2fNo3cES7bHJlSunAfFpcyu8i3INO+UoMMZZfotBde h3g2n7yi/D8FNHltD0yOmeKtOizX2D1rus6tdR/Ob36ZSePCySx2lG76FIqTKft4N8nr IBJb1jbhoqv0NblbqZHjZ0YPKyJOYiL/b35fKEH7G2+tzefEmNlssnIWdtQN48U6tv/u xZzrM9MVat0hXoedcYFtgkhs/9Eq2e+gYJsoJz3UG8JkVR8OtZfgWLOUZFWKbzRhR3Ad gT0admCmlR/X5f5f7gNpu0O8qdGzsrNJyGW1LDIU4HTjqS8/3NhzIIuhc/8qhXO17Kjf mB4A==
X-Gm-Message-State: ALyK8tKK4i50TOsauEuTzxzxIphHT/3VCvFVoNAmukwS1igmVwROd/b6NiPUzu+fu7tE+kF6+q/RHpjkmlz26w==
X-Received: by 10.55.159.87 with SMTP id i84mr8829829qke.115.1467994307093; Fri, 08 Jul 2016 09:11:47 -0700 (PDT)
MIME-Version: 1.0
Sender: yang.r.yang@gmail.com
Received: by 10.237.35.141 with HTTP; Fri, 8 Jul 2016 09:11:46 -0700 (PDT)
In-Reply-To: <577F1173.1050704@mails.tsinghua.edu.cn>
References: <CANUuoLp5hGqZ5ZE0mts6m2PjK=JZvnuxHFzR_=jwzNpijjYppg@mail.gmail.com> <577F1173.1050704@mails.tsinghua.edu.cn>
From: "Y. Richard Yang" <yry@cs.yale.edu>
Date: Fri, 08 Jul 2016 12:11:46 -0400
X-Google-Sender-Auth: kbFcAG8KYE0QN5IaeXHwukdPrX0
Message-ID: <CANUuoLrJf66XJGcjUUbbHMSV8mmaJPnPnm4S9pVx_La9=mA_6A@mail.gmail.com>
To: Gao Kai <gaok12@mails.tsinghua.edu.cn>
Content-Type: multipart/alternative; boundary="001a114d31b034ec010537220fe6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/NANI5nVE3Q5R70UiuzvsTOBxrCc>
Cc: IETF ALTO <alto@ietf.org>
Subject: Re: [alto] Path vector to support application traffic capacity region design
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.17
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, 08 Jul 2016 16:11:52 -0000

Hi Kai,

On Thu, Jul 7, 2016 at 10:35 PM, Gao Kai <gaok12@mails.tsinghua.edu.cn>
wrote:

> Hi Richard and all,
>
> Please see my comments inline.
>
> Regards,
> Kai
>
> On 08/07/16 05:50, Y. Richard Yang wrote:
>
> Dear all,
>
> We have made an initial design of the path vector design to support the
> key application capacity region use case.
>
> Below is a list of key design reasoning:
> - Current cost map and endpoint cost service is designed for the setting
> of alternative flows, in that it asks for the cost of each flow alone, but
> the capacity region is for concurrent flows. Hence, we need a new request
> parameter to denote the new semantics---we could use a new cost mode, but
> using a new design can be cleaner.
>
> - We want to support both endpoints and network maps (PIDs), when querying
> capacity regions. Hence, the query, as an example possibility, is:
>
>   POST /capacityregion/lookup HTTP/1.1
>   Host: alto.example.com
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__alto.example.com&d=CwMD-g&c=-dg2m7zWuuDZ0MUcV7Sdqw&r=4G36iiEVb2m_v-0RnP2gx9KZJjYQgfvrOCE3789JGIA&m=c7YHdBafx9Hhdqqb8Cn47RLAJcr6jjZs_orqdAOojPw&s=kmAR7JkZey89dhUxg429u46yO5rn0DYUb1Q-XKIm924&e=>
>   Content-Length: TBD
>   Content-Type: application/alto-flowparams+json
>   Accept: application/alto-costmap+json,application/alto-error+json
>
>   {
>     "cost-type" : {"cost-mode": "path-vector",
>                          "cost-metric": "bandwidth"
>     },
>     "flows" : [
>       {"src": "ipv4:192.0.2.2", "dst": "ipv4:192.0.2.89"},
>       {"src": "ipv4:192.0.2.2", "dst": "ipv4:198.51.100.34"},
>       {"src": "ipv4:192.0.2.2", "dst": "ipv4:203.0.113.45"},
>       {"src": "ipv4:192.0.2.3", "dst": "ipv4:203.0.113.45"}
>     ]
>   }
>
> A possible encoding of response is:
>
>   HTTP/1.1 200 OK
>   Content-Length: TBA
>   Content-Type: application/alto-costmap+json
>
>   {
>       "dependent-vtags" : [    // defines the resource id providing nep
>         { "resource-id": "my-nep-map",
>           "tag": "3ee2cb7e8d63d9fab71b9b34cbf764436315542e"
>         }
>       ],
>
>       "meta" : {
>        "vtag" : {
>            "resource-id": "my-costmap",
>            "tag": "c0ce023b8678a7b9ec00324673b98e54656d1f6d"
>         }
>       "cost-type" : {"cost-mode": "path-vector",
>                      "cost-metric": "bandwidth"
>     },
>
>     "cost-map" : {
>       "ipv4:192.0.2.2": {
>                 "ipv4:192.0.2.89":    ["ne56"],
>                 "ipv4:198.51.100.34": ["ne56", "ne57"],
>                 "ipv4:203.0.113.45":  ["ne57"]
>       },
>       "ipv4:192.0.2.3": {
>                 "ipv4:203.0.113.45":  ["ne57"]
>       }
>     }
>   }
>
> The remaining issue is how to obtain the properties of the abstract
> network elements. For this, we propose to use the unified properties design:
> https://tools.ietf.org/html/draft-roome-alto-unified-props-00
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Droome-2Dalto-2Dunified-2Dprops-2D00&d=CwMD-g&c=-dg2m7zWuuDZ0MUcV7Sdqw&r=4G36iiEVb2m_v-0RnP2gx9KZJjYQgfvrOCE3789JGIA&m=c7YHdBafx9Hhdqqb8Cn47RLAJcr6jjZs_orqdAOojPw&s=kpwxnZwaBbAmP5fl-gMCGJjKZzWkK4GalhqS9Mm1vw0&e=>
>
> That doesn't seem like a good idea.
>
> First, the "network elements" are very likely to be request-specific,
> e.g., the element IDs are meaningful only for the given request while the
> unified property service is using a global namespace.
> Even if we can live with globally unique element IDs, ALTO clients may
> query the properties of network elements from different queries.  That can
> be quite confusing so we'd probably have to make it clear that this must
> not be done.  And the whole thing can lead to extra complexities to
> understand and implement the service.
>
> Second, using a second query may lead to inconsistency, even though the
> failure scenario may not be a big deal if the clients are not using
> incremental updates.  However, it does require extra storage on the server
> to store the data when the clients are making one-shot queries.  Of course,
> for the targeted scenario where flows have large volumes, one-shot queries
> are definitely not encouraged.
>
> One options, of course, is to encode the elements in the response.
>

Excellent comments! My original intention was to separate the path vectors
from the vector-element properties so that the property updates can be
through a different channel. You made an excellent point and I agree that
encoding in the same makes more sense.

Richard


> However, if UPS is desired, I suggest using a query-specific one instead
> of a global one, like the stream control URI used in the SSE draft.
>
> Any comments?
>
> Cheers,
> Richard
>
>
> _______________________________________________
> alto mailing listalto@ietf.orghttps://www.ietf.org/mailman/listinfo/alto <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_alto&d=CwMD-g&c=-dg2m7zWuuDZ0MUcV7Sdqw&r=4G36iiEVb2m_v-0RnP2gx9KZJjYQgfvrOCE3789JGIA&m=c7YHdBafx9Hhdqqb8Cn47RLAJcr6jjZs_orqdAOojPw&s=KAyMDy4aMsmOVHWJCPmyzWU9GnX9L-dWUW3Rnxv2Lig&e=>
>
>
>


-- 
-- 
 =====================================
| Y. Richard Yang <yry@cs.yale.edu>   |
| Professor of Computer Science       |
| http://www.cs.yale.edu/~yry/        |
 =====================================