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

"RANDRIAMASY, SABINE (SABINE)" <sabine.randriamasy@alcatel-lucent.com> Wed, 16 October 2013 22:44 UTC

Return-Path: <sabine.randriamasy@alcatel-lucent.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 35A9721F9B8A for <alto@ietfa.amsl.com>; Wed, 16 Oct 2013 15:44:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level:
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
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 K67oC-1GZgGu for <alto@ietfa.amsl.com>; Wed, 16 Oct 2013 15:44:36 -0700 (PDT)
Received: from ihemail2.lucent.com (ihemail2.lucent.com [135.245.0.35]) by ietfa.amsl.com (Postfix) with ESMTP id 9538111E821C for <alto@ietf.org>; Wed, 16 Oct 2013 15:44:30 -0700 (PDT)
Received: from fr711usmtp1.zeu.alcatel-lucent.com (h135-239-2-122.lucent.com [135.239.2.122]) by ihemail2.lucent.com (8.13.8/IER-o) with ESMTP id r9GMiFsI012552 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Wed, 16 Oct 2013 17:44:17 -0500 (CDT)
Received: from FR712WXCHHUB03.zeu.alcatel-lucent.com (fr712wxchhub03.zeu.alcatel-lucent.com [135.239.2.74]) by fr711usmtp1.zeu.alcatel-lucent.com (GMO) with ESMTP id r9GMiEdD031065 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 17 Oct 2013 00:44:14 +0200
Received: from FR711WXCHMBA01.zeu.alcatel-lucent.com ([169.254.1.168]) by FR712WXCHHUB03.zeu.alcatel-lucent.com ([135.239.2.74]) with mapi id 14.02.0247.003; Thu, 17 Oct 2013 00:44:14 +0200
From: "RANDRIAMASY, SABINE (SABINE)" <sabine.randriamasy@alcatel-lucent.com>
To: "Y. Richard Yang" <yry@cs.yale.edu>, Qin Wu <bill.wu@huawei.com>
Thread-Topic: ALTO Extension: A document defining multi-metrics filtering?
Thread-Index: AQHOyHANS2ZXCjq9Yk+trIthkm0rq5n1ZXUAgACGDDCAAP6ygIAAkdiAgABjtpA=
Date: Wed, 16 Oct 2013 22:44:14 +0000
Message-ID: <A7A5844EB93EB94AB22C2068B10AD65A29442033@FR711WXCHMBA01.zeu.alcatel-lucent.com>
References: <CANUuoLrETki2N6xVco14r87a=AdL0A6hNPVYzVLszmqjhPs9DA@mail.gmail.com> <B8F9A780D330094D99AF023C5877DABA43C0B4D0@nkgeml501-mbs.china.huawei.com> <A7A5844EB93EB94AB22C2068B10AD65A29441D5E@FR711WXCHMBA01.zeu.alcatel-lucent.com> <B8F9A780D330094D99AF023C5877DABA43C0BCBF@nkgeml501-mbs.china.huawei.com> <CANUuoLr71We_nu11o_3UaCPFPhLF4cz_pumaF8bOWDX9q9iKtQ@mail.gmail.com>
In-Reply-To: <CANUuoLr71We_nu11o_3UaCPFPhLF4cz_pumaF8bOWDX9q9iKtQ@mail.gmail.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.239.27.40]
Content-Type: multipart/alternative; boundary="_000_A7A5844EB93EB94AB22C2068B10AD65A29442033FR711WXCHMBA01z_"
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.35
Cc: "ROOME, Wendy D (Wendy)" <w.roome@alcatel-lucent.com>, IETF ALTO <alto@ietf.org>, "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: Wed, 16 Oct 2013 22:44:43 -0000

Dear Richard,
Thanks for your comments, see my answers inline,
Best regards
Sabine

De : yang.r.yang@gmail.com [mailto:yang.r.yang@gmail.com] De la part de Y. Richard Yang
Envoyé : mercredi 16 octobre 2013 19:43
À : Qin Wu
Cc : RANDRIAMASY, SABINE (SABINE); IETF ALTO; ROOME, Wendy D (Wendy); ietf@nico-schwan.de; Leeyoung; Greg Bernstein; choits@etri.re.kr; Dhruv Dhody
Objet : Re: ALTO Extension: A document defining multi-metrics filtering?

Dear Qin, Sabine,

Great discussions!

Here are two quick questions:

1. I found the idea of distinguishing between "filtering-only" and "revealing" quite interesting. Here is an "attack". Suppose latency is a "filtering-only" metric: by specifying "latency <= 10 ms AND latency >= 5 ms" then will in a sense reveal the metric of latency. Even if we do not allow AND, a client can make two queries and observe the difference.
[     ] Indeed, allowing a fine granularity in the constraint metric values may end up accepting to reveal real values. In such a case, using metrics for "filtering-only" would then just allow to gain time.
How may this be addressed: specify that this is a controlled or semi-control environment, or impose other constraints on multiple queries?
[     ] It is an interesting option to impose constraints such as a minimal value range for "AND" constraints or coarse value granularity, say multiple of K.

2. I actually see quite a lot synergy in the three docs. Personal, I would like to propose that we add a WG item on a general filtering service. What is the likelihood that there is some convergence on the design before IETF?
[     ] We may start sorting out the different possible filtering services that could be integrated in the base protocol, with associated conditions (controlled or not) and related constraints & rules.
 Is there a need for an informal design meeting before the ALTO meeting?
[     ] A meeting would be for sure interesting.

Thanks a lot!

Richard

On Wed, Oct 16, 2013 at 5:01 AM, Qin Wu <bill.wu@huawei.com<mailto:bill.wu@huawei.com>> wrote:
From: RANDRIAMASY, SABINE (SABINE) [mailto:sabine.randriamasy@alcatel-lucent.com<mailto:sabine.randriamasy@alcatel-lucent.com>]
Sent: Wednesday, October 16, 2013 1:16 AM
To: Qin Wu; Y. Richard Yang; IETF ALTO
Cc: ROOME, Wendy D (Wendy); ietf@nico-schwan.de<mailto:ietf@nico-schwan.de>; Leeyoung; Greg Bernstein; choits@etri.re.kr<mailto:choits@etri.re.kr>; Dhruv Dhody
Subject: RE: ALTO Extension: A document defining multi-metrics filtering?

Hi Qin and all,

Thank to Richard and Qin for this discussion. Please see, my answers inline to Qin on the design positioning for filtering constraints.
Thanks for your feedback,
Sabine


De : Qin Wu [mailto:bill.wu@huawei.com<mailto:bill.wu@huawei.com>]
Envoyé : mardi 15 octobre 2013 11:50
À : Y. Richard Yang; IETF ALTO
Cc : RANDRIAMASY, SABINE (SABINE); ROOME, Wendy D (Wendy); ietf@nico-schwan.de<mailto:ietf@nico-schwan.de>; Leeyoung; Greg Bernstein; choits@etri.re.kr<mailto:choits@etri.re.kr>; Dhruv Dhody
Objet : RE: ALTO Extension: A document defining multi-metrics filtering?

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

>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

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

By comparing the designs in three drafts, here is my rough analysis.
the difference between these drafts are:

a.       draft-randriamasy-alto-multi-cost-07 seems to assume filtering condition and output are based on the same Cost metrics or a set of same metrics.
[     ] Correct. The initial thought was to smoothly extend the format of basic ALTO transactions (requ and responses) and handle only indexes of the multiple metrics listed in the Cost Type array.
               Both draft-lee-alto-app-net-info-exchange-02 and draft-wu-alto-json-te-01 allows filtering condition and output based on different cost metrics
              and therefore it require filtering constraint   relaxing In the ALTO base protocol.
[     ] We need to extend the base protocol filtering constraint as soon as there is more than one metric in the set of constraints, which is the case for all the 3 designs. It is a good idea to allow constraint involving metrics that do not belong to the set of requested cost metrics. One simple and light way to implement this is to allow an indexing of the cost types in the IRD and simply use these indexes in the expressions of constraints.

Note that draft-randriamasy-alto-multi-cost-07 in addition proposes to relate constraints by both logical AND and logical OR with the idea of supporting compromises such as  "either (solutions with moderate 'hopcount' AND  high 'routingcost') OR (solutions with higher 'hopcount' AND moderate 'routingcost')", see section 4.6.2 of the draft.

[Qin]:Good idea, this may require filtering constraint to be extended to support multiple cost representations as a joint constraint. I believe your draft has already specified this.

Last, as the intention is to filter the response on the ALTO metric values, the ALTO Server is required only to provide values meeting the constraints expressed in the request, but is not requested to provide values on the metrics involved in the constraints. Note that an ALTO Server operator may wish to use metrics only for filtering without unveiling the values, but this would require to extend the base protocol with a status such as "hidden" or "filter-only", which may be discussed when extending the ALTO Costs.

[Qin]: I believe this is related to how to distinguish the case where filtering condition and output are based on the same metric and the case where filtering condition and output are based on different cost metric.


b.      draft-randriamasy-alto-multi-cost-07 specifies one new cost metrics (i.e.,pathoccupationcost)
[     ] the draft actually proposes, see 3.1.4: Endpoint Nominal Memory, Endpoint Nominal Bandwidth (ie CPU capacity), endpoint Occupied Memory, Endpoint Occupied Bandwidth, Path Occupation Cost. The naming is just a proposal. Some of these metrics may have values that change and are updated in different frequencies, but in no case are they real time measurements.
, while draft-lee-alto-app-net-info-exchange-02

defines a new object called DstCostsConstraints which contains a list of cost metrics that are not stable over a constant period(i.e., they are

 dynamic parameters). draft-wu-alto-json-te-01 gives a complete list of those cost metrics based on IETF standardization work

(see draft-ietf-idr-ls-distribution-03,RFC5305, draft-wu-idr-te-pm-bgp<http://tools.ietf.org/id/draft-wu-idr-te-pm-bgp-02.txt>,draft-ietf-ospf-te-metric-extensions-04, draft-ietf-isis-te-metric-extensions-00)

and define them as a list of independent cost metrics.

[     ] very interesting sets and proposals. I agree that it would be useful to list proposals on metrics and their definition as suggested by Richard in another thread.


c.       draft-randriamasy-alto-multi-cost-07 requires cost value encoded as JSON Array rather than JSON while  draft-lee-alto-app-net-info-exchange-02

also encode cost value as JSON Array.

[     ] please correct me if I missed something, in the example of draft-lee-alto-app-net-info-exchange-02, I see JSONArrays used to provide the value on each of the metrics expressed in the constraints for the admissible (S,D) pairs. No value is provided for the requested cost metric. I'm not sure I understand why and I think we may find a way to harmonize views on expressing constraints.



[Qin]: It seems you have already answered this by proposing "hidden" or "filter-only" to indicate the metrics only used for filtering.

In my understanding, in path computation to the network, usually we use constraints only for compute the path, e.g., end to end latency in the path is less than 100 milliseconds, what is returned is not computed cost metric but a list of links in the path or a list of endpoints in the path that satisfy the constraint. However in some cases,

They do allow return computed cost metric to the client, e.g., we use end to end latency in the path less than 100 milliseconds as constraint, then we compute a path that satisfy this constraint,

Then the server can return the computed end to end latency (e.g.,50miliseconds) associated with this path to the client.





In addition, draft-lee-alto-app-net-info-exchange-02 defines linkentry object and support representing a

end to end path with a list of links traversed in the path. draft-wu-alto-json-te-01 also defines link related metrics and uses linkname to identify each link.

[     ] this looks very useful in cases where path costs and network maps are detailed below the end 2 end level. I see an easy integration of this idea with the topology extension proposed by Richard that assumes "multi-switched" paths (or their abstraction). Though I don't see a light and easy way to integrate constraints on path sections in the base protocol.



[Qin]:Your observation is correct.

Thanks a lot!

Richard