Re: [alto] Current status and a way forward for ALTO

Richard Alimi <rich@velvetsea.net> Wed, 06 March 2013 04:38 UTC

Return-Path: <richard.alimi@gmail.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 42A4711E80F3 for <alto@ietfa.amsl.com>; Tue, 5 Mar 2013 20:38:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, NO_RELAYS=-0.001]
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 Xmh0r7nK7vkN for <alto@ietfa.amsl.com>; Tue, 5 Mar 2013 20:38:31 -0800 (PST)
Received: from mail-ia0-x236.google.com (mail-ia0-x236.google.com [IPv6:2607:f8b0:4001:c02::236]) by ietfa.amsl.com (Postfix) with ESMTP id DBEDA11E80ED for <alto@ietf.org>; Tue, 5 Mar 2013 20:38:30 -0800 (PST)
Received: by mail-ia0-f182.google.com with SMTP id w21so706482iac.27 for <alto@ietf.org>; Tue, 05 Mar 2013 20:38:30 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; bh=7SXyXYDPx+vJ2vNGLagq/6wa58spH4EKukcciZdC1sY=; b=KBfRJ+wENdjACTOgSKDT7N/D24DzSOQVSy8g44nBTM2GPnjZGi1Itmxyw4+m/4EPAJ iDgJbqA3XGKA/PoQi4Q2Ht7SHv/VuJqMLdgQY869ZffvocMwdA0vfdp8PMagHGa9zJX3 3WcOCbsq5H7kJKd77LbIA1yojJD9OxprqSvbZCaejw4jHtXn+3iS1Pjipk3ILaiaZ/hu X74sMWBvlSoh1m3vjdFCznv5lEVQEuS2JFMMtbX0TMl57mlfk24x41SzaIoQk9vbDDyO 3ajgKmHhURyVIGpUl5rvPyGQKwAFMwjE2bWiBuhEpATnGDXEBjgyqNYnxi0aPBiZgrTd qn9w==
X-Received: by 10.50.170.69 with SMTP id ak5mr9331596igc.56.1362544710263; Tue, 05 Mar 2013 20:38:30 -0800 (PST)
MIME-Version: 1.0
Sender: richard.alimi@gmail.com
Received: by 10.64.25.100 with HTTP; Tue, 5 Mar 2013 20:38:10 -0800 (PST)
In-Reply-To: <CANUuoLprwX4EohAW2ybOZ3kKZ8refqGiSO8iH=pBgj7SUprLYg@mail.gmail.com>
References: <5130C56A.20301@telecomitalia.it> <CA+cvDaYoD17+RCrk2ajAnyaGwncAtJZCGX6B_-+6p5r9oo=0Aw@mail.gmail.com> <CANUuoLprwX4EohAW2ybOZ3kKZ8refqGiSO8iH=pBgj7SUprLYg@mail.gmail.com>
From: Richard Alimi <rich@velvetsea.net>
Date: Tue, 05 Mar 2013 20:38:10 -0800
X-Google-Sender-Auth: Co-dfty5EIsf4JMYD7xDoYnJ8pc
Message-ID: <CA+cvDaYoT1qYwCuKzfRS28KC+FrmCC30GijeQtoCrPVLdXhW-w@mail.gmail.com>
To: "Y. Richard Yang" <yry@cs.yale.edu>
Content-Type: multipart/alternative; boundary="e89a8f23433573c38204d73a29ad"
Cc: "alto@ietf.org" <alto@ietf.org>
Subject: Re: [alto] Current status and a way forward for ALTO
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, 06 Mar 2013 04:38:32 -0000

On Sat, Mar 2, 2013 at 11:49 PM, Y. Richard Yang <yry@cs.yale.edu> wrote:

> Good discussions. Here are some of my comments.
>
> On Sun, Mar 3, 2013 at 12:50 AM, Richard Alimi <rich@velvetsea.net> wrote:
>
>> Thank you very much Enrico for helping to target the discussions.
>>
>> My opinions on the outstanding issues that you mentioned below:
>>
>> On Fri, Mar 1, 2013 at 7:12 AM, Enrico Marocco <
>> enrico.marocco@telecomitalia.it> wrote:
>>
>>> Hi all,
>>>
>> ...
>>
>>> - get acquainted with the issues that have been discussed since the
>>>   previous meeting, including (in no particular order):
>>>     o reason phrase for error messages;
>>>
>>
>> I'd prefer to leave it out, but I don't feel strongly. Ted Hardie
>> proposed to remove it in his review of the draft, citing that free-form
>> strings typically introduce more complexity due to internationalization.
>>  If it is added back, I would propose that it be a US-ASCII string, just
>> like the other strings already in the protocol.
>>
>
> I would also support that we leave out free-form strings for error
> messages.
>
>
>>
>>     o relative vs. absolute URIs;
>>>
>>
>> I believe that allowing relative URIs is a good thing.  Speaking from
>> some experience, it actually would have simplified my implementation.
>>
>
> I also think allowing relative URIs is good, as the current spec stated,
> per Section 5 of RFC3986.
>
>
>
>>
>>
>>>     o behavior of degenerated map filtering;
>>>
>>
>> I support returning the whole map when the list of sources and
>> destinations are empty.
>>
>
> Thinking the issue a bit, I am somehow leaning towards returning empty
> instead of full map.
>
> Consider the Network Location Map filter. Suppose the filter specifies a
> set S of PIDs. The semantics (code) appears to be
>
> foreach p in S
>   return network map of p
>
> Now, if S is empty, the for loop does not execute and the result should be
> empty. If we allow *, then it will return all, but we are discussing empty.
>

The protocol currently states in Section 9.2.1.3 which documents the
request for the Filtered Network Map:  "If the list of PIDs is empty, the
ALTO Server MUST interpret the list as if it contained a list of all
currently-defined PIDs."

The rationale for this behavior was that the client could use an initial
un-filtered request to discover the available PIDs, while still just using
the Filtered Network Map service.


> Similarly for Network Cost Map filtering. Given source set S and
> destination set D, the code appears to me to be:
> foreach s in S
>   for each d in D
>     return cost from s to d
>
> Hence, when S or D is empty, the program returns null.
>
> This appears to be simple, consistent. Does this make sense?
>

The rationale behind the current behavior was to be more parallel in
implementation to the Filtered Network Map service.

I could equivalently see just forgetting both of those and asking the
client to fall back to the unfiltered versions of the services (it should
already have the Information Resource Directory, so there isn't
much penalty .  I would vote that they both be made consistent though as
you were pointing out.  We would just need to make this change to the
current Filtered Network Map service too.


>
>
>
>>
>>
>>>     o merge of cost-mode and cost-type in a single type;
>>>
>>
>> I'd prefer to keep them separate. I believe that the proposals for
>> merging them will make the registry very messy and cumbersome when new cost
>> types are registered.
>>
>> There has been discussion over whether cost mode is useful.  I believe it
>> is for the following reasons:
>> (1) There are good use cases for numerical costs (e.g., P4P).
>> (2) There are good use cases for ordinal costs (e.g., the proxidor
>> approach).
>> (3) Removing support for either numerical or ordinal costs means that we
>> are going to revisit one of the discussions from very early on in the
>> working group, where people worked together quite well to merge 3 drafts
>> into a single alto protocol.
>> (4) It should be up to the server as to whether it supports numerical or
>> ordinal costs, and a client needs to be able to tell which it is receiving
>>
>> Cost Mode is currently the way we communicate how the client should treat
>> the costs it has received from the server.
>>
>>
> I am also OK with keeping Mode for now.
>
>
>>      o format of endpoint properties;
>>>
>>
>> The current draft allows them to be generic json values (not only
>> strings), though the base protocol only requires clients to understand
>> strings.
>>
>
> One possibility to address this discussion is to demonstrate generic json
> value for endpoint property up front. For example, we demonstrate the pid
> endpoint property as an object: {"value" : "PID1",
> "map-vtag": "1266506139"} for the current example (Sec. 9.3.1.6):
>
>   {
>     "meta" : {},
>     "data": {
>       "map-vtag" : "1266506139",
>       "map" : {
>         "ipv4:192.0.2.34"    : { "pid": "PID1", "example-prop": "1" },
>         "ipv4:203.0.113.129" : { "pid": "PID3" }
>       }
>     }
>   }
>
> How does this sound? If there is agreement, we can do a quick update of
> the spec and circulate on the mailing list to move on quickly.
>

I think the downside of this encoding for the PID is that its potentially
very verbose since all PIDs in the response should have the same map-vtag.

Of course, if you use compression that would take care of some of the
overhead on the wire.  It would be a larger uncompressed encoding though.

Rich


>
> Richard
>
>  This is exactly how we treat cost values today, and I don't see a reason
>> for it to be different.
>>
>> Extensions can define property and cost values that have other formats,
>> such as arrays, objects, etc.
>>
>>
>>>     o mandatory vs. optional services;
>>>
>>
>> I don't think there has been much debate over what is mandatory and what
>> is optional, right?   Can you point me to this discussion?
>>
>>
>>>
>>> - review the latest version of the protocol, with special attention on
>>>   the above-mentioned issues;
>>>
>>> - share your opinion on the list. Please note that this is essential
>>>   for us to determine consensus, so, regarding the open issue
>>>   resolution options, even a motivated "don't care" is useful feedback.
>>>
>>> We'd like to ask the editors of the protocol draft to circulate an
>>> update on the changes of the latest version, creating a good starting
>>> point for discussion.
>>>
>>> If we will be able to determine consensus for moving the document
>>> forward before the face-to-face meeting (that this time comes very late
>>> in the week, and longer than requested), we will be happy to bash the
>>> agenda on the list and possibly allocate extra time for unchartered
>>> topics that at this time don't have a slot.
>>>
>>> Comments are welcome.
>>>
>>> Enrico
>>>
>>>
>>> _______________________________________________
>>> alto mailing list
>>> alto@ietf.org
>>> https://www.ietf.org/mailman/listinfo/alto
>>>
>>>
>>
>> _______________________________________________
>> alto mailing list
>> alto@ietf.org
>> https://www.ietf.org/mailman/listinfo/alto
>>
>>
>