Re: [alto] Discussion II: Unifying cost-mode and cost-type to a single type

"Reinaldo Penno (repenno)" <repenno@cisco.com> Thu, 21 February 2013 16:00 UTC

Return-Path: <repenno@cisco.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 D18D021F8E9F for <alto@ietfa.amsl.com>; Thu, 21 Feb 2013 08:00:37 -0800 (PST)
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=[AWL=-0.000, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id T6IpXVpYMQ7N for <alto@ietfa.amsl.com>; Thu, 21 Feb 2013 08:00:33 -0800 (PST)
Received: from rcdn-iport-6.cisco.com (rcdn-iport-6.cisco.com [173.37.86.77]) by ietfa.amsl.com (Postfix) with ESMTP id DFA0C21F876E for <alto@ietf.org>; Thu, 21 Feb 2013 08:00:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=19838; q=dns/txt; s=iport; t=1361462433; x=1362672033; h=from:to:cc:subject:date:message-id:in-reply-to: mime-version; bh=gkZUA0ep3RlUkYCbXLA28oQ4MGlBtthYwnyM3VvADvQ=; b=Ne0dXcNylTAwV7bf8K6OtwO8wny4CCqyE7iq+1FaYe3qZElLLOrors9t /6CXQ5RBVrC10mXwrpDv05sXvSvOsTBVyV1UVPeVOyiPPy0UVfimuos50 JS2xLGRqTQ9JjOMbRaVyNPKYYENGqEEiIg1ArP8n+NhUKVzvrjroTDwMA A=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgIFAFZEJlGtJXHB/2dsb2JhbABFgkO+OIEFFnOCHwEBAQQBAQFrCxIBCA4DAwECCx0uCxQJCAIEAQ0FCIgKDL8NBI5dIAYHBAYBBoJZYQOnFIMHgic
X-IronPort-AV: E=Sophos; i="4.84,710,1355097600"; d="scan'208,217"; a="179677665"
Received: from rcdn-core2-6.cisco.com ([173.37.113.193]) by rcdn-iport-6.cisco.com with ESMTP; 21 Feb 2013 16:00:31 +0000
Received: from xhc-rcd-x02.cisco.com (xhc-rcd-x02.cisco.com [173.37.183.76]) by rcdn-core2-6.cisco.com (8.14.5/8.14.5) with ESMTP id r1LG0VsG014081 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 21 Feb 2013 16:00:31 GMT
Received: from xmb-rcd-x04.cisco.com ([169.254.8.112]) by xhc-rcd-x02.cisco.com ([173.37.183.76]) with mapi id 14.02.0318.004; Thu, 21 Feb 2013 10:00:30 -0600
From: "Reinaldo Penno (repenno)" <repenno@cisco.com>
To: Wendy Roome <w.roome@alcatel-lucent.com>, Richard Alimi <rich@velvetsea.net>
Thread-Topic: [alto] Discussion II: Unifying cost-mode and cost-type to a single type
Thread-Index: AQHODvPTVY+ntXZyY0eKp/DUkgLdjpiDOZeAgAFz7YA=
Date: Thu, 21 Feb 2013 16:00:30 +0000
Message-ID: <45A697A8FFD7CF48BCF2BE7E106F060409010027@xmb-rcd-x04.cisco.com>
In-Reply-To: <CD4A40E9.351C9%w.roome@alcatel-lucent.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.13.0.110805
x-originating-ip: [10.21.123.210]
Content-Type: multipart/alternative; boundary="_000_45A697A8FFD7CF48BCF2BE7E106F060409010027xmbrcdx04ciscoc_"
MIME-Version: 1.0
Cc: "alto@ietf.org" <alto@ietf.org>
Subject: Re: [alto] Discussion II: Unifying cost-mode and cost-type to a single type
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: Thu, 21 Feb 2013 16:00:41 -0000

Hello,

Some comments inline...

From: Wendy Roome <w.roome@alcatel-lucent.com<mailto:w.roome@alcatel-lucent.com>>
Date: Wed, 20 Feb 2013 09:49:17 -0500
To: Richard Alimi <rich@velvetsea.net<mailto:rich@velvetsea.net>>
Cc: "alto@ietf.org<mailto:alto@ietf.org>" <alto@ietf.org<mailto:alto@ietf.org>>
Subject: Re: [alto] Discussion II: Unifying cost-mode and cost-type to a single type

I respectfully disagree.

1. Why do we have "ordinal" mode at all?  I was told it was because ISPs were afraid that providing accurate hopcount & delay information would reveal too much of the internal structure of their network. "Ordinal" mode allows an ISP to obfuscate the details, but still provides what most clients need -- a rank ordering.

Given that, why would a production ALTO server (as opposed to a research testbed) provide both "numerical" and "ordinal" modes for the same cost type? I'd think the server would provide numerical if it's not afraid to give away that much detail. Otherwise it would provide only offer ordinal.

On top of that, if you think about it, if a server maintains numerical cost values, and a client asks for that cost-type in "ordinal" mode, the server can just return the numerical values.

So I don't think it will be difficult for a server to maintain both modes for the same cost type, if only because there's no reason for a server to do that.

2. Why would a client ever want ordinal cost values? The only reason I can think of is if the client could rely on "1" being the lowest cost. But that doesn't work, because ordinal values can be anything -- they do not have to be 1, 2, 3, 4, ….

So I don't see clients as needing ordinal mode at all. It's just there to warn clients that this cost isn't linear.

In fact, I'm tempted to suggest that we replace the idea of a "mode" attribute with a simple binary attribute called "linear." For a linear cost, 40 is twice as high as 20, and 21 is only slightly higher than 20. For a non-linear cost, 40 is higher than 21, and 21 is higher than 20, but we don't know by how much.

3. Your last point is about registering cost types. Yes, my proposal would make it harder to register new cost types with the IANA.

But I'll turn that around. Why do we need a central registry for cost types at all? Why does the IANA need to control them? Sorry if I'm stepping on someone's favorite idea here, but to me, a central registry seems totally unnecessary. Worse than that, it's harmful: it will stifle innovation, by making it much harder to create and experiment with new cost types.

[RP] You can always define a new cost type and experiment with it. IANA registered means standardization and interop are required.

Yes, that means that two independently implemented ALTO servers can each define a new cost type named "myExtendedCost", with completely different semantics. So what? What's the problem with that? Clients will know that "myExtendedCost" is only meaningful within the context of a specific ALTO server.

Note that the cost type extension I proposed takes over the descriptive features of the IANA registry, in that it provides all the information about this new cost type that a potential client needs to know. It doesn't allow the IANA to manage and control new cost types. But I think that's a good thing!

So in short, I suggest dropping the central "cost type registry" requirements completely (Section 9.2). Instead, the ALTO server provides a description of its cost types in its resource directory. ALTO servers are free to invent new cost types, to differentiate themselves and provide additional value.

[RP] ALTO servers can already do that today.  IANA registration does not preclude any of that, and as you say, within a domain you can define whatever cost mode you want. This is not new, IANA registers a few modes/message types/etc and reserves some for private use.


- Wendy Roome

From: Richard Alimi <rich@velvetsea.net<mailto:rich@velvetsea.net>>
Date: Tue, February 19, 2013 17:51
Subject: Re: [alto] Discussion II: Unifying cost-mode and cost-type to a single type

On Fri, Feb 15, 2013 at 12:23 PM, Wendy Roome <w.roome@alcatel-lucent.com<mailto:w.roome@alcatel-lucent.com>> wrote:
To return to this issue, I suggest we unify them, so that we have Cost
Types -- period. The "Mode" becomes a property of the Cost Type. So if a
server provides numerical & ordinal routingcosts, it provides *two*
separate Cost Types, say "routingcost" and "routingcost-ord".

I believe the result will simplify both clients and servers, and make it
easier for servers to introduce additional cost types.

I believe that having them separate is a bit more 'normalized' of a form and has some important benefits. That is, one just has to define what 'hopcount' means once, and then a server can expose that metric in different forms.  By creating a single opaque identifier, one now has to register 'hopcount' for each and every "mode" that comes along.  This also makes it more difficult for a client to understand that if it wants a particular cost type (but can handle different forms), it has to know beforehand the exact set of identifiers under which it can find all of the forms.

For example, consider the following:
(1) Person A registers cost type 'some-new-type' and describes it with numerical costs
(2) Person B comes along and wants ordinal costs 'with 'some-new-type'. Person B then has to go through the registration process to create 'some-new-type-ord'.  [ A side point - do we care about the registry staying clean? Do we have rules on how to construct appropriate cost type identifiers so they convey whether they are ordinal or numerical? ]
(3) At some point down the line, the Reincarnated ALTO Working Group decides to add a new 'mode' of cost, such as an array of costs that indicates the cost's historical value over the past week.
(4) Person C looks at the registry and figures out that they want 'some-new-type' to be available in this new mode. Person C then has to go and register 'some-new-type-historical' before it can be used. [ And this is going to happen for each cost type. ]

In short, I think the registry for cost types is going to get messy and it's going to make it more difficult for a client to say "I want the hopcount costs but I don't care whether the server gives me the actual costs, or is just going to rank them".

All that said, I understand this has been brought up in the past and there are some things that it simplifies (which have been discussed in an earlier thread) and if there is good consensus for doing this in the working group, then we can certainly adopt the changes.

Thanks,
Rich

_______________________________________________ alto mailing list alto@ietf.org<mailto:alto@ietf.org> https://www.ietf.org/mailman/listinfo/alto