[alto] 答复: Design issue on path vector

Chan Dawn <dawn_chen_f@hotmail.com> Wed, 22 March 2017 13:07 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 8D8CD13166A; Wed, 22 Mar 2017 06:07:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.126
X-Spam-Level:
X-Spam-Status: No, score=-1.126 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, HTML_MESSAGE=0.001, 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 a9pu9lnGfeUq; Wed, 22 Mar 2017 06:06:58 -0700 (PDT)
Received: from APC01-PU1-obe.outbound.protection.outlook.com (mail-oln040092254028.outbound.protection.outlook.com [40.92.254.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 79DCF13173F; Wed, 22 Mar 2017 06:06:34 -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=NBfgnbZQbAF8ZVAwRbTlq6TRTI5M1TUn2TL7GU6+VBo=; b=ZdpRe3AFCpnyx+PJ7b25f280cXJNs6zap7nrb+vFaZwf0hqoAlDmGD9SASMTOepNn97jNNY8Ibbxyz4bvOkW7CmCxdH3NRYb0s1ELrOVzNYaeV0swHXgSJjyYKU3UgHb7UDFvpPqGPQ/xZsr44L9i5tF/y/+C52RzhBo8cVa+/932Fku/2jCvTS/TzvAO5gDzeWHEFQ2F5chb4yDMW9gViCwQuMdl0tx9LkGYP8eqj9pHIJcPNicM6SdWQkknNEIRTogpIudLlSHnj1T4LONofLnt8U3RhlctYosDxKhsuEHDQAOO/qQ78ECb4miaPzFjc3R/LOc4pQtmGMcTixHJQ==
Received: from SG2APC01FT007.eop-APC01.prod.protection.outlook.com (10.152.250.53) by SG2APC01HT032.eop-APC01.prod.protection.outlook.com (10.152.251.1) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.7; Wed, 22 Mar 2017 13:06:31 +0000
Received: from TY1PR04MB0656.apcprd04.prod.outlook.com (10.152.250.53) by SG2APC01FT007.mail.protection.outlook.com (10.152.250.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.977.7 via Frontend Transport; Wed, 22 Mar 2017 13:06:30 +0000
Received: from TY1PR04MB0656.apcprd04.prod.outlook.com ([10.163.246.157]) by TY1PR04MB0656.apcprd04.prod.outlook.com ([10.163.246.157]) with mapi id 15.01.0977.021; Wed, 22 Mar 2017 13:06:25 +0000
From: Chan Dawn <dawn_chen_f@hotmail.com>
To: "xinwang2014@hotmail.com" <xinwang2014@hotmail.com>
CC: Jensen Zhang <jingxuan.n.zhang@gmail.com>, "alto@ietf.org" <alto@ietf.org>, "draft-yang-alto-path-vector@ietf.org" <draft-yang-alto-path-vector@ietf.org>
Thread-Topic: Design issue on path vector
Thread-Index: AQHSomRF1IdmzCY0/0OSyGBvWoXSaqGgOtD+gAAtgwCAAGmEmg==
Date: Wed, 22 Mar 2017 13:06:25 +0000
Message-ID: <TY1PR04MB06560DFCD6E8F98C6E3DA15CB53C0@TY1PR04MB0656.apcprd04.prod.outlook.com>
References: <TY1PR04MB065600AD703BAEC14FC7D27DB53D0@TY1PR04MB0656.apcprd04.prod.outlook.com> <KL1PR0302MB26290AAB2597036E65942201A83C0@KL1PR0302MB2629.apcprd03.prod.outlook.com>, <CAAbpuyqphmvXfDkFLz+Yo1F4c2ACFHezEjKCTnS8rjZn-nfiQA@mail.gmail.com>
In-Reply-To: <CAAbpuyqphmvXfDkFLz+Yo1F4c2ACFHezEjKCTnS8rjZn-nfiQA@mail.gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-slblob-mailprops: qY7UPrLqMbZDw0bbJKeAtyGXz2g15sWzeZUYC+s3e0zz25gjTYZveHYPZ0dBRAVtxA3Lk2gHrMhsT3f2pY4YnEDmnSBXSqmfGaHpJ4XpCOGEiIbwC6vJYSOl0kC0qFY7vo5JoQTgxgvz1yJC9sUQhiGvXkEVD96tFvwvnKe7hkyD19xchTpA27ywyXYEE4fD7THrDHvRu4zvu3kbMdnSTtmcmJK1Az6Nnd56XsOAxaNIZFQ8qh/kr9c3X+1CkwnBju64VFAHZ1N/abVJc1cDXGAu4P1a6mMWLdzWj6ywoQJwfITyo8KAD/3bTQmGKMQm2Cy8LzXjDU1bN526cgyLbY6CckzboEqjgsqta8Xne5SfAl1lxaq1AY8lB2DekNV6gfzOM4sUuXuygmedZ5IxU/YL8Njfr8JSDxzcfmhckdMNgT/H7SWGKaEyS5roQRsafjneRQhugJoG4c4RqmfWhKUg98SKv5zZOPM80b4BgdSx+/YmR/jKjA4IS7zgCFjNYljTwBduLNGIwsMTQzRd0FUHY7hhepglknd5RddTOvnkKLPB+t/4Qn5dIDKOi8w9kfBuFfxfjpN9Z7sd5VD+2COvcjXmO4K3XxwjDIxwbnehSanXLM4P9taHPjjAx/ftr6AGUOMuuQZRO0+wsoBYGOiEfwTDWe/0HUp17LbQRYs8otYD/Y+IFWadAILx8aLKC2FOsSnBPUGJg5V4d0Y3cg==
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=hotmail.com;
x-incomingtopheadermarker: OriginalChecksum:D79220560EC1B9D6F88D9C5917F7F4B897DFA2EE33BCF90E86094E74C3AA4704; UpperCasedChecksum:8E597DC84C04F965F856BE57A412F8B8EEF10100BF794772AC2A5A9CC0985926; SizeAsReceived:9165; Count:43
x-tmn: [25F/XpksU3yZ5n3/2VjF+KKkJzJ+UQGL]
x-microsoft-exchange-diagnostics: 1; SG2APC01HT032; 5:1iSwL1VRrTbEJF2KVBMJPdJvARMpV/2fH/aL3EdNoYeyOKH6AZry+EBR3Cs7KL1t86+8DRykBiETs/wIsLI7PdAXpvwjm6iQzwcdWNVzWPKwLOnlFxUE/jyHPbcpnAa+AFycqpp2AvX43jojGBfqKA==; 24:c4rbBIN9UU4L7M9V5q6556KPAJsP8eLaQK1prLVxibsJzW1DYdA+i6Hu8QNmHRmywsQPqRKOdR0+k5omnoxAsJ+mCV4DXPv832LmA5RQUjg=; 7:oah9MfyTYPtXDJRHTkLowlvo3kKOAfHSKKbVtCNEY9kVUvdJ9mDTWPlvn/TAOLvCJdjsB2/LhexhbkfaWzZImccsf/6nRO61YI6OwR1bROLAKmQ+Sm9JwGwI6MisQsAzUjoNR7dG5dhbnODogOTMMUGZvsYqG3ipMBMmMX2UNicVNHBTRr/quO0iGLFlwnZ+IElEk3aEX/uHVckHGKDvs1P64VdF2tkl4yKsHHtPzYXRUS/3vIXCkdyXvoC8ej2tj6cMWMcAYhtglOn/S+fVvzObzmiO2nBE28BPQzQQ0nyXN49O2ntRTr67xzWbIg63
x-incomingheadercount: 43
x-eopattributedmessage: 0
x-forefront-antispam-report: EFV:NLI; SFV:NSPM; SFS:(7070007)(98900017); DIR:OUT; SFP:1901; SCL:1; SRVR:SG2APC01HT032; H:TY1PR04MB0656.apcprd04.prod.outlook.com; FPR:; SPF:None; LANG:en;
x-ms-office365-filtering-correlation-id: e8bec0fb-cd71-484c-6abf-08d471243ef5
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201702061074)(5061506573)(5061507331)(1603103135)(201702181095)(1603101448)(1601125370)(1701031045); SRVR:SG2APC01HT032;
x-ms-exchange-slblob-mailprops: V5pmAly6juhsI1tE8IoTHlJbu2REDuKQ+jDUmJo4Mvd86twGNVRgU+npl8Tb5VPyBdS/HRFJIwnNKjafe6Wtnwn5YZoMkRI0ymNruYo7QxiF5bNsOLzY/0zn0Anxm7jAPCji07mUS2FnVtryshbZR8O/WvH9vS2wICgcGrzVBjpCoD7RbBGIThG0g17f00QkTeguDXEanZJOcALMXOXZnyPTdQzEolaZDp2i6QEpfNIrpNy0igZmOJZH37rvwtdf9YpVchfReFDmu6YIpv6fHoVys8Gv+ijA0zMoaOsgz6hka5Dke1I96HVh/jrX55M/RKkoXR3Q7jRF9aDBpIueJbRIoMHdoMObB70ZOTkGO6+5k7z9rUNRoYDhzdQLfaEhCJz4hV19IG+Xb7d79liQG80Su3YR2LzETMR3fISD0ijreo50c3QK8MUPXfy1FyoZJcZuOxpWhqVTnKNvCyGIP1brh9epTQUOt4IUmsYiSFhRUqd55L443MhMCwnl4eSamxViHc1GxT9vwgsvjOe1Yk15lol0Y1gFP4fuuV1hstBEE+EBbZYWHy6fvJ2gSHZL1OqSREl9x8HHguaBQskA7U5GjYoEzV5Wr7bgkkhv3udeUkd+DcHDRR5jSWLgGDjXc4Bpe6pzg3asBmYx+PcFroAjJt7pj0zLuSW0I36WwSOl2rcBZxCaYkPj+Esy1eEx3KeA+MG+5k3tvsIsFYwZ7sk/tpOCFTkDZVqKKWXIZFwARmwI+UVz0YAyw1GPhEl/q76dSQ6B801HjqczJKL4rP1ZS93CXM2L0VkuwLv1Cok=
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(444000031); SRVR:SG2APC01HT032; BCL:0; PCL:0; RULEID:; SRVR:SG2APC01HT032;
x-forefront-prvs: 02543CD7CD
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_TY1PR04MB06560DFCD6E8F98C6E3DA15CB53C0TY1PR04MB0656apcp_"
MIME-Version: 1.0
X-OriginatorOrg: hotmail.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2017 13:06:25.0320 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Internet
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2APC01HT032
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/IgVgp0lWSgu5AOMzgmI5JdTS7J4>
Subject: [alto] 答复: Design issue on path vector
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, 22 Mar 2017 13:07:13 -0000

Hi Xin,

Thanks for your comments and I agree with Jensen.

Besides, I would like to point out that if the property map doesn't support some property types, all of its network elements is not able to have that property. So, in your example,

>"property-map": {
>          "ne:ne12": { "availbw": "90", "delay": "unknown" },
>          "ne:ne23": { "availbw": "80", "delay": "15" },
>          "ne:ne34": { "availbw": "70", "delay": "25" }
>  }

If property "delay" is not supported, all the network elements shall not have the "delay" property, not only the netwrok element "ne:ne12".


Another thing is that if the property for a specific network element is not available, the property map will return value "null" for that property.


Best Regards,

Dawn


________________________________
发件人: Jensen Zhang <jingxuan.n.zhang@gmail.com>
发送时间: 2017年3月22日 14:35
收件人: xin wang
抄送: Chan Dawn; alto@ietf.org; draft-yang-alto-path-vector@ietf.org
主题: Re: Design issue on path vector

Hi Dawn,

Thanks for starting this discussion.

Hi Xin,

Thanks for your comments. See inline.

Jensen


On Wed, Mar 22, 2017 at 12:32 PM, xin wang <xinwang2014@hotmail.com> wrote:
> Hi Dawn,
>
>
> If I am wrong please correct me. For the second issue, the resource id could
> be reflected in the hash code of the uri field. I think you are missing that
> in your ECS example.

I think "uri" and "resource-id" are very different. How can we reflect
the "resource-id" in the "uri"? Do you want to introduce the extra
semantics into the "uri"?

> For the first issue, in my understanding, since network
> elements are dynamically generated after the computation of path-vector, I
> think it is hard to determine element property types before the computation.
> This may depend on whether we support "unknown" in the response of network
> element property map, i.e.,
>
> "property-map": {
>          "ne:ne12": { "availbw": "90", "delay": "unknown" },
>          "ne:ne23": { "availbw": "80", "delay": "15" },
>          "ne:ne34": { "availbw": "70", "delay": "25" }
>  }

Please notice that "prop-types" is a capability of "prop-map". If this
"prop-map" does not support "delay", it will be determined before you
send any query. And you even cannot query "delay" to this "prop-map".
"unknown" does not solve this issue.

I think what we are discussing is that if the ALTO server provides a
"path-vector" FCM resource, it should inform the client which
"prop-types" will be supported by the generated "prop-map" at an
earlier stage. If you provide this information in the response of FCM
rather than the IRD entry of it, the client may have to send a useless
FCM query before it gets this information.

>
>
> Best,
> Xin
>
> ________________________________
> From: alto <alto-bounces@ietf.org> on behalf of Chan Dawn
> <dawn_chen_f@hotmail.com>
> Sent: Tuesday, March 21, 2017 13:02
> To: alto@ietf.org; draft-yang-alto-path-vector@ietf.org
> Subject: [alto] Design issue on path vector
>
>
> Hi all,
>
>
> I'd like to start a discussion for path-vector design and push it as an
> acceptable specification. Following is my thought:
>
>
> We have agreed on delivering path-vector + abstract network elements design
> for net graph representation since IETF 96. This design specifies the cost
> value as a path vector which is a JSONArray of network elements and puts the
> network element properties into a nep-map. Considering to reference the
> nep-map from another resource (we propose to use unified-prop-map), below is
> a naive design:
>
>
>
> An example of IRD:
>
>
> “pv-endpoint-cost-map”: {
>
>     “uri”: “http://alto.example.com/lookup/endpointcost”,
>
>     “media-type”: “application/alto-endpointcostmap+json”,
>
>     “capabilities” : {
>
>       “cost-type-names”: [“pv"]
>
>     },
>
>     “uses”: [“default-nep-map"]
>
> }
>
>
> An example of ECS response:
>
>
> “meta”: {
>
>   “dependent-vtags”: [
>
>     { “resource-id”: “default-nep-map”, “tag”: “<sha256>” }
>
>   ],
>
>   “cost-type”: {“cost-mode”: “path-vector”, “cost-metric”: “ane”}
>
> },
>
> “endpoint-cost-map”: ...
>
>
> However, the problem is how to reference the filtered property map that we
> use for clients to retrieve the properties of the corresponding network
> elements. In the above example, the referenced network element property map
> is added in the “uses” field. However, here is the trouble:
>
>
> Since the network elements are abstract, the network element property map is
> dynamically generated when the client sends a path-vector query. So, to add
> the refrenced network element property map in the “uses” field of a resource
> is not possible because the resource id in the “uses” field is somehow
> static, it already exists before queried.
>
>
> To solve this problem, we proposed the following design in
> draft-yang-alto-path-vector-04:
>
>
> An example of ECS response:
>
>
> “meta”: {
>
>   …
>
>   "nep-map": {
>
>            "uri": "http://alto.example.com/propmap/lookup/nep-map",
>
>            "media-type": "application/alto-prompmap+json",
>
>            "accepts": "application/alto-propmapparams+json",
>
>            "capabilities": {
>
>              "domain-types": [“ane"],
>
>              "prop-types": ["availbw"]
>
>            }
>
>          }
>
> },
>
> “endpoint-cost-map”: ...
>
>
> But we found two issues in this design:
>
>
> 1. How to present the supported properties of the network elements in the
> IRDResourceEntry of a resource? In this example, the nep-map can only
> provide the “availbw” property. If the client needs the “delay” property of
> the returned network elements, it cannot get this knowledge that the
> dependent nep-map of this ECS resource does not provide this property before
> it sends the query. So the client will send a useless query.
>
> 2. This design does not provide a resource-id for the nep-map, so the server
> cannot provide an incremental update service for the nep-map.
>
>
> We found the fundamental problem is caused by the dynamic resource. In the
> previous ALTO extensions, all the resources can be defined by the static IRD
> Resource Entries. But in this case, we have to handle the dependency
> relationship between FCM/ECS and a dynamic property map resource. So we
> propose the following design to solve this problem:
>
>
> 1. Add a new attribute in the IRDResrouceEntry:
>
>
> object {
>
>     JSONString               uri;
>
>     JSONString               media-type;
>
>     [JSONString              accepts;]
>
>     [Capabilities            capabilities;]
>
>     [ResourceID              uses<0..*>;]
>
>     [ImmediateResourceEntry  immediate-uses<0..*>;]
>
> } IRDResourceEntry;
>
>
> object {
>
>     JSONString      media-type;
>
>     [JSONString     accepts;]
>
>     [Capabilities   capabilities;]
>
>     [ResourceID     uses<0..*>;]
>
> } ImmediateResourceEntry;
>
>
> 2. Add a new attribute in the meta of FCM/ECS response:
>
>
> object {
>
>     [JSONString               vtag;]
>
>     [VersionTag               dependent-vtags<1..*>;]
>
>     [ImmediateVersionTag      immediate-dependent-vtags<1..*>;]
>
> } ResponseMeta;
>
>
> object {
>
>     ResourceID       resource-id;
>
>     JSONString       vtag;
>
>     [JSONNumber      time-out;]
>
> } ImmediateVersionTag;
>
>
> Here is an example:
>
>
> IRD:
>
>
>     "pv-endpoint-cost-map": {
>
>       "uri": "http://alto.example.com/lookup/endpointcost",
>
>       "media-type": "application/alto-endpointcost+json",
>
>       "accepts": "application/alto-endpointcostparams+json",
>
>       "immediate-uses": [
>
>         {
>
>           "media-type": "application/alto-propmap+json",
>
>           "accepts": "application/alto-propmapparams+json",
>
>           "capabilities": { "domain-types": ["ane"],
>
>                             "prop-types": ["availbw", "delay"] }
>
>       ],
>
>       "capabilities": {
>
>         "cost-type-names": ["pv-ane", "num-routingcost", "num-hopcount"],
>
>         "cost-constraints": true
>
>       }
>
>     },
>
>
> Response:
>
>
>   {
>
>     "meta": {
>
>       "cost-type": {
>
>         "cost-mode": "path-vector",
>
>         "cost-metric": "ane",
>
>       },
>
>       "immediate-dependent-vtags": [
>
>         {"resource-id": "nep-map-<sha256>",
>
>          "vtag": "<sha256>",
>
>          "time-out": 180}
>
>       ]
>
>     },
>
>     "endpoint-cost-map": {
>
>       ...
>
>     }
>
>   }
>
>
> Shall we push this design into the pv draft? Any feedback from others?
>
>
> Thanks a lot!
>
> Dawn