Re: [alto] ALTO Extension: A document defining multi-metrics filtering?

Qin Wu <bill.wu@huawei.com> Mon, 14 October 2013 03:14 UTC

Return-Path: <bill.wu@huawei.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 C5C2611E80E8 for <alto@ietfa.amsl.com>; Sun, 13 Oct 2013 20:14:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.524
X-Spam-Level:
X-Spam-Status: No, score=-6.524 tagged_above=-999 required=5 tests=[AWL=0.075, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lqreopvhf8EU for <alto@ietfa.amsl.com>; Sun, 13 Oct 2013 20:14:34 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) by ietfa.amsl.com (Postfix) with ESMTP id E104E21F9C6B for <alto@ietf.org>; Sun, 13 Oct 2013 20:14:32 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml203-edg.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id AWT87845; Mon, 14 Oct 2013 03:14:29 +0000 (GMT)
Received: from LHREML401-HUB.china.huawei.com (10.201.5.240) by lhreml203-edg.huawei.com (172.18.7.221) with Microsoft SMTP Server (TLS) id 14.3.146.0; Mon, 14 Oct 2013 04:13:40 +0100
Received: from nkgeml405-hub.china.huawei.com (10.98.56.36) by lhreml401-hub.china.huawei.com (10.201.5.240) with Microsoft SMTP Server (TLS) id 14.3.146.0; Mon, 14 Oct 2013 04:14:26 +0100
Received: from NKGEML501-MBS.china.huawei.com ([169.254.2.141]) by nkgeml405-hub.china.huawei.com ([10.98.56.36]) with mapi id 14.03.0146.000; Mon, 14 Oct 2013 11:14:15 +0800
From: Qin Wu <bill.wu@huawei.com>
To: "Y. Richard Yang" <yry@cs.yale.edu>, IETF ALTO <alto@ietf.org>
Thread-Topic: ALTO Extension: A document defining multi-metrics filtering?
Thread-Index: AQHOyHALHY93+IaOIEi7gBrq1LoWBJnzZMAw
Date: Mon, 14 Oct 2013 03:14:14 +0000
Message-ID: <B8F9A780D330094D99AF023C5877DABA43C0ABE8@nkgeml501-mbs.china.huawei.com>
References: <CANUuoLrETki2N6xVco14r87a=AdL0A6hNPVYzVLszmqjhPs9DA@mail.gmail.com>
In-Reply-To: <CANUuoLrETki2N6xVco14r87a=AdL0A6hNPVYzVLszmqjhPs9DA@mail.gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.138.41.149]
Content-Type: multipart/alternative; boundary="_000_B8F9A780D330094D99AF023C5877DABA43C0ABE8nkgeml501mbschi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Cc: Wendy Roome <W.Roome@alcatel-lucent.com>, "choits@etri.re.kr" <choits@etri.re.kr>
Subject: Re: [alto] ALTO Extension: A document defining multi-metrics filtering?
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Mon, 14 Oct 2013 03:14:38 -0000

Hi,Richard:
Thanks for raising discussion for this on the list.
Please see my reply inline below.

Regards!
-Qin

>From: yang.r.yang@gmail.com [mailto:yang.r.yang@gmail.com] On Behalf Of Y. Richard Yang
>Sent: Monday, October 14, 2013 7:58 AM
>To: IETF ALTO
>Cc: Sabine Randriamasy; Wendy Roome; ietf@nico-schwan.de; Qin Wu; Leeyoung; Greg Bernstein; choits@etri.re.kr; Dhruv Dhody
>Subject: ALTO Extension: A document defining multi-metrics filtering?

>Dear all,

>The base ALTO protocol (http://www.ietf.org/id/draft-ietf-alto-protocol-20.txt) is mostly a single-cost-metric centric:

>- The Cost Map filtering service uses only one cost-type (Sec. 11.3.2.3):

>     object {
>     CostType   cost-type;
>     [JSONString constraints<0..*>;]
>     [PIDFilter  pids;]
>   } ReqFilteredCostMap;

>   object {
>     PIDName srcs<0..*>;
>     PIDName dsts<0..*>;
>   } PIDFilter;

...
> constraints  Defines a list of additional constraints on which
>      elements of the Cost Map are returned.  This parameter MUST NOT be
>      specified if this resource's capabilities (Section 11.3.2.4)
>      indicate that constraint support is not available.  A constraint
>      contains two entities separated by whitespace: (1) an operator,
>      'gt' for greater than, 'lt' for less than, 'ge' for greater than
>      or equal to, 'le' for less than or equal to, or 'eq' for equal to;
>      (2) a target cost value.

>- The Endpoint Cost service allows filtering (Sec. 11.5.1.3) as well, and is similar to Cost Map Filtering:

>   object {
>     CostType          cost-type;
>     [JSONString       constraints<0..*>;]
>     EndpointFilter    endpoints;
>   } ReqEndpointCostMap;

>   object {
>     [TypedEndpointAddr srcs<0..*>;]
>     [TypedEndpointAddr dsts<0..*>;]
>   } EndpointFilter;

>   constraints  Defined equivalently to the "constraints" input
>      parameter of a Filtered Cost Map (see Section 11.3.2).

>In other words, in the base protocol, the filtering condition and the output are based on the same Cost Metric.

[Qin]: Exactly, the restriction of base protocol is require filtering condition and the output basing on the same cost metric,e.g., routing cost.
In draft-wu-alto-json-te-01, we propose to relax such restriction to make filtering condition and the output based on the different cost metric.
The change to the base protocol is:
In the JSON Object of type ReqFilteredCostMap in base protocol, the constraint
attribute is expressed as:
"
[gt | lt | ge | le | eq ] <value>
"

In draft-wu-alto-json-te-01, the constraint attribute is changed to
      "
   <cost-type2>  [gt | lt | ge | le | eq ] <value>
      "
i.e., an cost type is by default cost-type in the JSON Object of type ReqFilteredCostMap in base protocol.
However it could be another cost-type used for the returned cost.

I guess this new constraint attribute should go to the document defining multi-metrics filering.


>It is natural that the filtering and the output are based on different Cost metrics.

>For example, a Client asks for routingcost for only pairs whose latency is below a threshold (see use cases in http://tools.ietf.org/html/draft-randriamasy-alto-multi-cost-07).


>One may argue that the filter-metric-no-equal-to-output-metric function can be implemented on top of the filter-and-output-using-one-metric function:

>In particular, suppose the filtering is based on metrics M1 and M2, and the output is M3, for a set src to a set dsts. The Client can use the following three queries:

>- Q1: Use single metric <M1, filter on M1, srcs, dsts> and obtains <srcs1, dsts1> in return;
>- Q2: Use single metric <M2, filter on M2, srcs1, dsts1> and obtains <srcs2, dsts2> in return;
>- Q3: Use single metric <M3, no filter, srcs2, dsts2> to get the final result.

[Qin]: I believe the base ALTO protocol support these queries.
However it doesn't looks efficient to do such query since these queries should happen in order one by one , i.e.,<Q1,Q2,Q3>.
It takes three round exchange to get the results.

If we have five or  six metrics as filtering,  it takes ever longer to get the results, which is not desirable.

On the other hand, in some cases, not only we want to know cost information from one source endpoint to one destination endpoint, but also
We want to know all the endpoints traversed by traffic in the path that satisfy several constraints, e.g.,delay, packet loss, jitter, bandwidth.
e.g., in path computation in the networks, we want to compute  end-to-end path with latency, latency-variation and packet loss
 constraints, the end to end path is identified by (source address, middlepoint1 address, middlepoint2 address,....,destination address)


>Although this is not too bad, it is inconvenient. Note that preceding is first discussed by Sabine, Wendy, Nico in:
>http://tools.ietf.org/html/draft-randriamasy-alto-multi-cost-07

>I saw that this is also the issue discussed in
>- http://tools.ietf.org/html/draft-wu-alto-json-te-01
>- http://tools.ietf.org/html/draft-lee-alto-app-net-info-exchange-02

[Qin]:Young ,Dhruv and I have already looking for consolidation in this aspect in these days.

>Hence, I propose that the WG extends the base protocol with this capability, as I see that it is quite useful. One issue is that I see three designs, and I am wondering if the authors are >preparing on discussing their designs at the coming IETF, and if there is a possibility for a single, unified document, focusing on this issue.

[Qin]: Good idea, I think some constraints can be applied to all path from source endpoint to destination, some constraint can be applied to some links in the path.
e.g., delay can be applied to per link or end to end path, if the delay is applied to the end to end path, that means, we want to find a path from src to dest that meets end to end delay requirement.
Another example is utilized bandwidth, utilized bandwidth can be applied to per link, if the utilized bandwidth is applied to per link, that means we want to find a path from src to dest that meet
Per link bandwidth utilization requirement.

>Thanks a lot!

>Richard