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

"Y. Richard Yang" <yry@cs.yale.edu> Thu, 07 July 2016 21:50 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 22F1212D8CC for <alto@ietfa.amsl.com>; Thu, 7 Jul 2016 14:50:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.4
X-Spam-Level:
X-Spam-Status: No, score=-2.4 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, 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 q_cNKaBhXeky for <alto@ietfa.amsl.com>; Thu, 7 Jul 2016 14:50:33 -0700 (PDT)
Received: from mail-qk0-x22d.google.com (mail-qk0-x22d.google.com [IPv6:2607:f8b0:400d:c09::22d]) (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 EBE2E12D8D0 for <alto@ietf.org>; Thu, 7 Jul 2016 14:50:32 -0700 (PDT)
Received: by mail-qk0-x22d.google.com with SMTP id e3so26755693qkd.0 for <alto@ietf.org>; Thu, 07 Jul 2016 14:50:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:from:date:message-id:subject:to; bh=hS1kSu28N96FuFE4aZdZhwxgXqtmOVqt5gDO7uI08Qc=; b=lKh74e0OirbaD4GosUiR76S7F8X0Hm28eW7DKApb4pxDzMbCBsLDLpzNvK+MCvoggN Qu84/9ZqrAc9AxOkNEZQR50hcoHn/NI8/pCHT/9LqmNMWNOCuMGNjrpRxja0HOjQfgey HSz034qNCVW8GIdX4f1bvwZK2V2ZCsr8YAjJwEMZipk16KoO/RRiFZLsA7D1YPW6QRhh jk5JvUnJEhTkBfpDC8KbQs5Dd6kT91PGSz25KHfPNpFQci3gKys7CLVdqgoCiq9DYKIc Ck9ysy59VridJkT8tkFgodiRxzsIeYI0F59kIqVkH/7FqRjzjhpQ+VvljVdla8KwSCNj H3Ig==
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:from:date:message-id:subject :to; bh=hS1kSu28N96FuFE4aZdZhwxgXqtmOVqt5gDO7uI08Qc=; b=auV2vmRNAidA0GLqI/wxxBE9l9qrjVcnfpKdVDi6muVrmcHfRFYIc7ClKr8mooX/YH Z5V5moaU4e9D9WTNt8zir7MbPLBSkN8tEbmcrIHxWahI5tfnxLe56031HEm453a8nLxB HAQAmRBqoliTG/Lo0aoCtU9ZOEmxttBu8BZaeotQZ3zFXqsJfTiLAxXf3tAkWYZQo14M POBwOaH/+pbNIHcWRXnwRXaxuVoqTggi1foN8NEzztCk7RcRDy9GcH26re7kr5fOWTne tjUpqwc7xcuXG+MjZQX2BdHcXCtECdyWUGq6jIpv/muDxn3BoqMaTObGutM/RNwxIDdb XMcQ==
X-Gm-Message-State: ALyK8tJnrl6NqxS95DSTq++WCmp6gt5AaWJcHI00kHWmnYABmoTwq17BdcPod6oZVvV+2rP9AjR5TPKRPguDjQ==
X-Received: by 10.55.42.216 with SMTP id q85mr3239849qkq.157.1467928231889; Thu, 07 Jul 2016 14:50:31 -0700 (PDT)
MIME-Version: 1.0
Sender: yang.r.yang@gmail.com
Received: by 10.237.35.141 with HTTP; Thu, 7 Jul 2016 14:50:31 -0700 (PDT)
From: "Y. Richard Yang" <yry@cs.yale.edu>
Date: Thu, 07 Jul 2016 17:50:31 -0400
X-Google-Sender-Auth: i9_X9jIn2UHACV05B4ckdfIM5D0
Message-ID: <CANUuoLp5hGqZ5ZE0mts6m2PjK=JZvnuxHFzR_=jwzNpijjYppg@mail.gmail.com>
To: IETF ALTO <alto@ietf.org>
Content-Type: multipart/alternative; boundary="001a1147b362d17823053712ac23"
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/ZOgPvFQGdw57Nr0t0VZYFHTiZms>
Subject: [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: Thu, 07 Jul 2016 21:50:42 -0000

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
  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

Any comments?

Cheers,
Richard