[alto] ALTO interoperability results in IETF-81
"Vijay K. Gurbani" <vkg@bell-labs.com> Mon, 08 August 2011 22:17 UTC
Return-Path: <vkg@bell-labs.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 4A84721F8BEE for <alto@ietfa.amsl.com>; Mon, 8 Aug 2011 15:17:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.599
X-Spam-Level:
X-Spam-Status: No, score=-106.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 YMGeEllk7pjZ for <alto@ietfa.amsl.com>; Mon, 8 Aug 2011 15:17:19 -0700 (PDT)
Received: from ihemail3.lucent.com (ihemail3.lucent.com [135.245.0.37]) by ietfa.amsl.com (Postfix) with ESMTP id 8269F21F850E for <alto@ietf.org>; Mon, 8 Aug 2011 15:17:19 -0700 (PDT)
Received: from usnavsmail4.ndc.alcatel-lucent.com (usnavsmail4.ndc.alcatel-lucent.com [135.3.39.12]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id p78MHjiA004031 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <alto@ietf.org>; Mon, 8 Aug 2011 17:17:45 -0500 (CDT)
Received: from umail.lucent.com (umail-ce2.ndc.lucent.com [135.3.40.63]) by usnavsmail4.ndc.alcatel-lucent.com (8.14.3/8.14.3/GMO) with ESMTP id p78MHjPG006312 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for <alto@ietf.org>; Mon, 8 Aug 2011 17:17:45 -0500
Received: from shoonya.ih.lucent.com (shoonya.ih.lucent.com [135.185.238.235]) by umail.lucent.com (8.13.8/TPES) with ESMTP id p78MHjav027677 for <alto@ietf.org>; Mon, 8 Aug 2011 17:17:45 -0500 (CDT)
Message-ID: <4E4060F7.3050100@bell-labs.com>
Date: Mon, 08 Aug 2011 17:19:35 -0500
From: "Vijay K. Gurbani" <vkg@bell-labs.com>
Organization: Bell Laboratories, Alcatel-Lucent
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.18) Gecko/20110621 Fedora/3.1.11-1.fc14 Lightning/1.0b2 Thunderbird/3.1.11
MIME-Version: 1.0
To: alto <alto@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37
X-Scanned-By: MIMEDefang 2.64 on 135.3.39.12
Subject: [alto] ALTO interoperability results in IETF-81
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, 08 Aug 2011 22:17:20 -0000
Folks: At the Quebec City IETF-81, we held the first ALTO interoperability event. There were a total of seven implementations, five of which were both client/server and the remaining two were client-only implementations. By any measure, the interoperability event was a success. There were 20 test cases circulated on the mailing list [1], and these formed the nexus of tabulating the results for the interoperability event. The ALTO protocol document used to derive the test cases and to ensure compliance was version -09 [2]. At the event, the implementations were provided the URL to the information resource directory for each server implementation. Ad-hoc testing then ensued, where each team used their specific client to test against a specific server. All 20 test cases were stressed during testing. The two client-only implementations participated by testing other five servers. The server implementators had also developed strip-down ALTO clients to debug and test their servers. In most cases these were primitive clients, cobbled together using widely available utilities such as nc(1) or HTTP-specific libraries and executables such as curl(1) and wget(1). The two client-only implementations were written specifically as ALTO clients; however, none of the client implementations appeared as part of an existing peer-to-peer client (i.e., there weren't any native BitTorrent ALTO clients). Given five client/server and two client-only implementations, there would normally be 30 pairings, where a pairing is defined as a server and six clients. Each such pairing would execute 120 test cases for a grand total of 600 (unique) test cases executed during the interoperability event. However, not all server implementations were paired with all six client implementations, so the results below are normalized depending on the specific client and server mix in the pairing. 1) Server 1: 19 test cases passed, 1 failed, 0 not applicable. 2) Server 2: 19 test cases passed, 0 failed, 1 not applicable. 3) Server 3: 18 test cases passed, 1 failed, 1 not applicable. 4) Server 4: 4 test cases passed, 0 failed, 16 not applicable. 5) Server 5: 6 test cases passed, 3 failed, 11 not applicable. The "not applicable" category captures the event when the server did not provide a specific service in its information directory to execute the specific test case. The take-away messages from the interoperability event are: a) Building on top of a mature protocol like HTTP is a good choice (this is a no-brainer). b) Eye-balling a pretty-printed JSON payload provides much more visual information than eye-balling an XML payload, where the tags and attributes deter from forming a mental model of the payload. c) Need to update the ALTO protocol document to provide guidelines to bound the length of the vtag. Some implementations were using discrete numbers while others used cryptographic hashes. d) Implementations used different policies when they could not compute the answer using the information provided in the request. Some sort of a canonical answer that denotes "I cannot provide the answer given the input in the request" seems appropriate. This will most likely be an ALTO error instead of a HTTP error. Enrico, Jon and I will like to thank all of the implementations that were willing to change their code to conform to -0{8,9} of the ALTO protocol document. [1] http://www.ietf.org/mail-archive/web/alto/current/msg01147.html [2] http://tools.ietf.org/html/draft-ietf-alto-protocol-09 Thanks, - vijay -- Vijay K. Gurbani, Bell Laboratories, Alcatel-Lucent 1960 Lucent Lane, Rm. 9C-533, Naperville, Illinois 60566 (USA) Email: vkg@{bell-labs.com,acm.org} / vijay.gurbani@alcatel-lucent.com Web: http://ect.bell-labs.com/who/vkg/
- [alto] ALTO interoperability results in IETF-81 Vijay K. Gurbani