[alto] Review of draft-randriamasy-alto-cost-context-01

Dawn Chan <dawn_chen_f@hotmail.com> Wed, 28 June 2017 14:17 UTC

Return-Path: <dawn_chen_f@hotmail.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 C9B5712783A; Wed, 28 Jun 2017 07:17:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.127
X-Spam-Level:
X-Spam-Status: No, score=-1.127 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FORGED_HOTMAIL_RCVD2=0.874, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=hotmail.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 4-xaQfQ446-e; Wed, 28 Jun 2017 07:17:56 -0700 (PDT)
Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-oln040092253012.outbound.protection.outlook.com [40.92.253.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 61997126557; Wed, 28 Jun 2017 07:17:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=E/7tl5NlugbYKABK+FWaf1xxXZTT1aLkVokxU2Cj2to=; b=OzYC2j7NLnFNN1H2VcULRKg6RDm4tHHOJl5nl0qT4zjFlN1Y28zsWsm/VeJCJGDJwyeYDVPJWgOWdt6PWR6F0JlsGzxjhxRnSlYiOi6+AefeKqRiX2jNJ3QF8YskT101mBFiwh80rpz5BgKvM9dYdXl5bUWhfZOWoKICCJkCZ024u5jvR8ji2NQS8vGintZR946IFmaoXTQ+OBpQF2yeO/K2YrHxADv4WVQ98lVjH1UFJyvY/Iz9jY4a0ApBA27ZHjU9YkiHCOoHhfgfWqERezaMLwthGDZJ4gcuLya+ofT5u3fXVbl1wP04uiwtW1kRiCZr/P3QEt2YBiQqMOaMgw==
Received: from PU1APC01FT024.eop-APC01.prod.protection.outlook.com (10.152.252.55) by PU1APC01HT103.eop-APC01.prod.protection.outlook.com (10.152.253.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1157.12; Wed, 28 Jun 2017 14:17:52 +0000
Received: from HK2PR0401MB1588.apcprd04.prod.outlook.com (10.152.252.56) by PU1APC01FT024.mail.protection.outlook.com (10.152.252.233) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1199.9 via Frontend Transport; Wed, 28 Jun 2017 14:17:52 +0000
Received: from HK2PR0401MB1588.apcprd04.prod.outlook.com ([fe80::9c4:7e35:e642:38db]) by HK2PR0401MB1588.apcprd04.prod.outlook.com ([fe80::9c4:7e35:e642:38db%14]) with mapi id 15.01.1199.019; Wed, 28 Jun 2017 14:17:52 +0000
From: Dawn Chan <dawn_chen_f@hotmail.com>
To: "draft-randriamasy-alto-cost-context@ietf.org" <draft-randriamasy-alto-cost-context@ietf.org>, "alto@ietf.org" <alto@ietf.org>
Thread-Topic: Review of draft-randriamasy-alto-cost-context-01
Thread-Index: AQHS8BlUHfiQe8Zz1ECQt8At9uacyQ==
Date: Wed, 28 Jun 2017 14:17:52 +0000
Message-ID: <HK2PR0401MB158840B5686317F82633A1ABB5DD0@HK2PR0401MB1588.apcprd04.prod.outlook.com>
Accept-Language: en-US, zh-CN
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=none action=none header.from=hotmail.com;
x-incomingtopheadermarker: OriginalChecksum:88D286CDE2740B2A6D8D23F5F0BD54017A9D6EC391A713D99D227FEF8BE17ED8; UpperCasedChecksum:0F95C270C00EE657B112723018110B0563F661FDBA91B2A91B71098423B8F38B; SizeAsReceived:7227; Count:43
x-ms-exchange-messagesentrepresentingtype: 1
x-tmn: [cuhYdFA4vNrGq0BBEHb5LNnsGCiiEbSp]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; PU1APC01HT103; 7:1IAl7ptXRHQkOSzhmxH6zRPzCDbcD88XvACUZ51y8n6vYoNgnXPdSthPQR1iwl68PeqlB/wita7qndnCT8vuuZ7eNEM4cj3IqKoi0xIJ9RsKmgxAn7i6gWLckXvloKYW90A67fuD5pGfptipvolm/za+mrw08IaBxpRCpbegWPsR+SEi9jjyI29hvwB3S73Yo66P+ErF97Pl45jg9Rwm3tYO4g1FB9XmaGMSy05/0Qam1t1w7uuLqke4FA+qVqn9/1eGe7gV7GW/1df0dMWr6jPKQeRvu4C2RRjJOO7cHASW5bzSN290zD32QpBmd8yaYGM9qp9Tbd5Afy8hxnAPi0vPtCUb9FQBrmgf4FfDbKLqo7oBW2L7ildfABXDU5083G9XNpykqHgvmewjM/xnlV0+QWVmbAq5DzQM+NwxPS2xBHTj6vBA3uyp6MwSkxO65zln4oS8+AG5F4SLxJ789KJflIECwZPqEvXQOKYsGWbZyDSrrGvUiuvYLDK8pK5M3KV/BM2IKoyh9n3e6roydjb8rkdatW6SKEw+LT3LOjVgSqbv4Rl70/mDMNvzFtxmSv4fQg9TebX+7gywhETRhDwbyQNtOYMCgEliaWoop6kDkXWFq8/hoEwKa0DjUdLK0OAozAJjunbR5tLqwL618pnwFImjB2nYXIIOcLKmPK4XfYlLRQCOdfnJbcLlyNEj5SBTfw0FbuV39Hftux0dhUXyZuV4vXLjNOskpuVCw97iSQbP6fY5rMzK4+/vITbjHGu7RIJ7831PkNAUqfOcWQ==
x-incomingheadercount: 43
x-eopattributedmessage: 0
x-forefront-antispam-report: EFV:NLI; SFV:NSPM; SFS:(7070007)(98901004); DIR:OUT; SFP:1901; SCL:1; SRVR:PU1APC01HT103; H:HK2PR0401MB1588.apcprd04.prod.outlook.com; FPR:; SPF:None; LANG:en;
x-ms-traffictypediagnostic: PU1APC01HT103:
x-ms-office365-filtering-correlation-id: 39babd49-a859-4c1b-1d12-08d4be307612
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(300000503095)(300135400095)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322274)(1601125374)(1603101448)(1701031045)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:PU1APC01HT103;
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(444000031); SRVR:PU1APC01HT103; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:PU1APC01HT103;
x-forefront-prvs: 03524FBD26
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <0CC75434F9E64E4B8B6A2AEAB19E4A92@apcprd04.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: hotmail.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jun 2017 14:17:52.3126 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Internet
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PU1APC01HT103
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/tgQeAf67TzPNm4PzgrIx187YWZA>
Subject: [alto] Review of draft-randriamasy-alto-cost-context-01
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: Wed, 28 Jun 2017 14:17:58 -0000

Hi Sabine and all,

After reviewing cost context, I think a possible solution to introduce cost context is to extend the existing specification of CostType. Below is my proposal.

The CostType defined in [RFC7285] is:

object CostType {
	CostMetric cost-metric;
	CostMode cost-mode;
	[JSONString description;]
}

Since cost-context is used to describe the different parameters for one metric, so I propose to extend CostType as follows:

object CostType {
	CostMetric cost-metric;
	CostMode cost-mode;
	[CostContext cost-context<1..*>;]
	[JSONString description;]
}

The definition of CostContext can be done later. Each cost-context may be like ["uda", "uplink"] which describe a specific metric context.

So, the IRD may be:

{
  "meta" : {
    "cost-type" : {
      "num-routingcost": {
        "cost-mode": "numerical",
        "cost-metric" : "routingcost"
      },
      "num-RFcost" : {
        "cost-mode" : "numerical",
        "cost-metric" : "RFcost"
        "cost-context" : [["uda", "uplink"],
                          ["uda", "downlink"],
                          ["udna", "uplink"],
                          ["udna", "downlink"]]
      }
    }
  }
  "resources" : {
    ...An endpointcost resource which supports multi-cost and cost-calendar...
    "calendared-endpointcost-map" : {
      "uri": "http://alto.local.example.com/endpointcostmap//lookup/context",
      "media-types" : [ "application/alto-endpointcost+json" ],
      "accepts" : [ "application/alto-endpointcostparams+json" ],
      "capabilities" : {
        "cost-type-names" : [ "num-routingcost",
                              "num-RFcost" ],
        "calendar-attributes" : [
          { "cost-type-names" : "num-routingcost",
            "time-interval-size" : "1 hour",
            "number-of-intervals" : 24 },
          { "cost-type-names" : "num-RFcost",
            "time-interval-size" : "5 minute",
            "number-of-intervals" : 12 }
        ]
      }
    }
  }
}

A possible query and response would be like:

POST /endpointcost/lookup/context HTTP/1.1
Host: alto.local.example.com
Content-Length: [TODO]
Content-Type: application/alto-endpointcostparams+json
Accept: application/alto-endpointcost+json,application/alto-error+json
{
  "cost-type" : {},
  "multi-cost-types" : [ { "cost-mode" : "numerical", "cost-metric" : "routingcost" },
                          { "cost-mode" : "numerical", "cost-metric" : "RFcsot", "cost-context" : [ [ "uda", "uplink" ],[ "uda", "downlink” ] ] }
  ]
  "endpoints" : {
    "srcs": [ "ipv4:192.0.2.2" ],
    "dsts": [ "ipv4:192.0.2.89",
              "ipv6:2000::1:2345:6789:abcd"]
  }
}

HTTP/1.1 200 OK
Content-Length: [TODO]
Content-Type: application/alto-endpointcost+json
{
  "meta" : {
    "multi-cost-types" : [
      { "cost-mode" : "numerical", "cost-metric" : "routingcost" },
      { "cost-mode" : "numerical", "cost-metric" : "RFcsot", "cost-context" : [[ "uda", "uplink" ],[ "uda", "downlink" ]]
      // Here, suppose only the contextual parameters ["uda", "uplink"] and ["uda", "downlink"] are needed.
      }
    ],
    "calendar-response-attributes" : [
      { "cost-type-name : num-routingcost"
        "calendar-start-time" : Mon, 30 Jun 2014 00:00:00 GMT,
        "time-interval-size" : "1 hour",
        "numb-intervals" : 24,
      },
      { "cost-type-name : num-latency"
        "calendar-start-time" : Tue, 1 Jul 2014 13:00:00 GMT,
        "time-interval-size" : "5 minute",
        "numb-intervals" : 12
      }
    ],
  } // end meta
  "endpoint-cost-map" : {
  "ipv4:192.0.2.2": {
    "ipv4:192.0.2.89"    : [ [r1, r2, ... r24], [ [l1-uda-uplink,l1-uda-downlink], [l2-uda-uplink,l2-uda-downlink], ... [l12-uda-uplink,l12-uda-downlink] ] ],
    "ipv6:2000::1:2345:6789:abcd" : [ [r1, r2, ... r24], [ [l1-uda-uplink,l1-uda-downlink], [l2-uda-uplink,l2-uda-downlink], ... [l12-uda-uplink,l12-uda-downlink] ] ]
} }
}


Here we may change the knowledge of cost value. Each cost value represented a combination of a cost-mode and a cost-metric as defined in RFC7285, but now, each cost value may represent a combination of a cost-mode, a cost-metric and a specific cost-context value.

Such design idea seems to be compatible with multi-cost and cost-calendar.

What do you think of this idea? Wish to hear your reply.

Best Regards,
Dawn