Re: [alto] alto-protocol-11 vs. alto-reqs-14

Richard Alimi <rich@velvetsea.net> Mon, 09 July 2012 05:41 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 C35D311E8080 for <alto@ietfa.amsl.com>; Sun, 8 Jul 2012 22:41:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.597
X-Spam-Level:
X-Spam-Status: No, score=-2.597 tagged_above=-999 required=5 tests=[AWL=0.153, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1, SARE_SUB_OBFU_Q1=0.227]
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 RiZlR4gPFAo2 for <alto@ietfa.amsl.com>; Sun, 8 Jul 2012 22:41:13 -0700 (PDT)
Received: from mail-pb0-f44.google.com (mail-pb0-f44.google.com [209.85.160.44]) by ietfa.amsl.com (Postfix) with ESMTP id 129A411E8079 for <alto@ietf.org>; Sun, 8 Jul 2012 22:41:13 -0700 (PDT)
Received: by pbcwy7 with SMTP id wy7so19192233pbc.31 for <alto@ietf.org>; Sun, 08 Jul 2012 22:41:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=DhnH4q9NlD8mUXLOqrl2gazzEEfk7BbYspS6mQQMoL0=; b=CEawklzRv0tFJUczqgbWjyPJwldQpRqa8CkaWM08j6nHjFUyoGjtIaTG8FVyXGiBkE dYwzZHovrbTnoYhd8RjIvrARvftbrahAy0Ivs4AvpQEL094GWd5VKjQuwMvfdIGriTzU h6uvIg0z5wonN5XicjcxEMr8c694nI49QiMErFnPfb7Zp60j3/KrBl5EqliCWCIDJ3gi nFkRf0kZQSTwoTbozpBhlACo8OsW5a47nAR70I9RMgcoicYPmgn227pPJMJIO9cBQXzo e9TvsBq1ooF8+nE4IzVkeDcAzplCw7fzsFSVdbkxRnbiWoAbdR6PETI42j+QKSB/1Idi 7dyw==
Received: by 10.68.241.228 with SMTP id wl4mr56649773pbc.51.1341812496779; Sun, 08 Jul 2012 22:41:36 -0700 (PDT)
MIME-Version: 1.0
Sender: richard.alimi@gmail.com
Received: by 10.143.28.8 with HTTP; Sun, 8 Jul 2012 22:41:16 -0700 (PDT)
In-Reply-To: <005034CF-005D-4400-817F-E2D2AAF6608F@niven-jenkins.co.uk>
References: <4F8BE443.9050903@telecomitalia.it> <20120514061451.GA3136@gw01.ehlo.wurstkaes.de> <CA+cvDab1XR40W7FBHhDNOTTag7tvSihVe7BSMVbAP6W-Qtk91A@mail.gmail.com> <005034CF-005D-4400-817F-E2D2AAF6608F@niven-jenkins.co.uk>
From: Richard Alimi <rich@velvetsea.net>
Date: Sun, 08 Jul 2012 22:41:16 -0700
X-Google-Sender-Auth: 97V_56S18-SWzRUQBXZRM4r04V0
Message-ID: <CA+cvDaazJ8smspUTPUzx24zvF-ymVi8UPFM62aH9Q1J1Xqjpwg@mail.gmail.com>
To: Ben Niven-Jenkins <ben@niven-jenkins.co.uk>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: draft-ietf-alto-protocol@tools.ietf.org, "alto@ietf.org" <alto@ietf.org>
Subject: Re: [alto] alto-protocol-11 vs. alto-reqs-14
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, 09 Jul 2012 05:41:13 -0000

On Sun, Jul 8, 2012 at 10:34 PM, Ben Niven-Jenkins
<ben@niven-jenkins.co.uk> wrote:
> Rich, Colleagues,
>
> Some comments from me inline...
>
> On 2 Jul 2012, at 07:38, Richard Alimi wrote:
>> On Sun, May 13, 2012 at 11:14 PM, Sebastian Kiesel <ietf-alto@skiesel.de> wrote:
>>>>   REQ.  ARv14-24: An ALTO client protocol SHOULD allow the ALTO server
>>>>   to add information about appropriate modes of re-use to its ALTO
>>>>   responses.  Re-use may include redistributing an ALTO response to
>>>>   other parties, as well as using the same ALTO information in a
>>>>   resource directory to improve the responses to different resource
>>>>   consumers, within the specified lifetime of the ALTO response.  The
>>>>   ALTO server SHOULD be able to express that
>>>>
>>>>   o  no re-use should occur
>>>>
>>>>   o  re-use is appropriate for a specific "target audience", i.e., a
>>>>      set of resource consumers explicitly defined by a list of host
>>>>      group descriptors.  The ALTO server MAY specify a "target
>>>>      audience" in the ALTO response, which is only a subset of the
>>>>      known actual "target audience", e.g., if required by operator
>>>>      policies
>>>>
>>>>   o  re-use is appropriate for any resource consumer that would send
>>>>      (or cause a third party sending on behalf of it) the same ALTO
>>>>      query (i.e., with the same query parameters, except for the
>>>>      resource consumer ID, if applicable) to this ALTO server
>>>>
>>>>   o  re-use is appropriate for any resource consumer that would send
>>>>      (or cause a third party sending on behalf of it) the same ALTO
>>>>      query (i.e., with the same query parameters, except for the
>>>>      resource consumer ID, if applicable) to any other ALTO server,
>>>>      which was discovered (using an ALTO discovery mechanism) together
>>>>      with this ALTO server
>>>>
>>>>   o  re-use is appropriate for any resource consumer that would send
>>>>      (or cause a third party sending on behalf of it) the same ALTO
>>>>      query (i.e., with the same query parameters, except for the
>>>>      resource consumer ID, if applicable) to any ALTO server in the
>>>>      whole network
>>>
>>> REQ.  ARv14-24:  Partially compliant: first and last option supported
>>>    by HTTP mechanisms. Second and third option relied on the now-removed
>>>    section 8 of draft-ietf-alto-protocol-10
>>
>> Yeah - I'm personally okay with this current state, since we
>> consciously removed the section on Redistribution and left that for an
>> extension.
>
> It's a while since I looked at ALTO in detail so my memory of various aspects is a little hazy but I wonder if the HTTP Vary header can help us here?

It may help with parts of it, but note that some of these requirements
depend on ALTO-layer information and not HTTP headers.  Additionally,
the redistribution mechanism was also designed for sending ALTO
resources via non-HTTP protocols.

>
>>>>   REQ.  ARv14-27: An ALTO client protocol MUST include protocol
>>>>   versioning support, in order to clearly distinguish between
>>>>   incompatible versions of the protocol.
>>>
>>> REQ.  ARv14-27:  NOT compliant. There is no version field.
>>>    7.6. states: "Future extensions or
>>>    versions of the ALTO Protocol SHOULD be accomplished by extending
>>>    existing media types or adding new media types, but retaining the
>>>    same format for the Information Resource Directory."
>>>
>>>    As workaround, one could define new media types such as
>>>    alto-directory_v2_0+json   or
>>>    alto2-directory+json
>>
>> Yeah.  There was a discussion when going to the REST-ful approach
>> about whether we wanted any explicit version numbers or not.  The idea
>> was that we didn't need an ALTO version number exposed to applications
>> if we used media types appropriately.  Using media types like you
>> suggested is certainly one approach.
>
> Using media types along with HTTP conneg gives the advantage that the client can specified a prioritised list of versions (of media-types) that it supports in its requests and the server can respond appropriately (including an appropriate error response if it cannot serialise the response in the requested media-type version(s), e.g. because it needs to use a higher versioned media-type than the client supports).
>
> The other advantage is that the protocol machinery to do the negotiation already exists in HTTP and we do not need to redefine ALTO specific protocol machinery to perform the same function.
>
> The downside is we end up minting new media-types for incompatible changes between ALTO versions, but minting a new media-type is "cheap".
>
> Ben
>