Re: [alto] New Incremental Update draft

Wendy Roome <w.roome@alcatel-lucent.com> Mon, 02 November 2015 17:55 UTC

Return-Path: <w.roome@alcatel-lucent.com>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0BF2B1A6F20 for <alto@ietfa.amsl.com>; Mon, 2 Nov 2015 09:55:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.309
X-Spam-Level:
X-Spam-Status: No, score=-6.309 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_72=0.6, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WtPJgpYLT6w7 for <alto@ietfa.amsl.com>; Mon, 2 Nov 2015 09:55:32 -0800 (PST)
Received: from smtp-fr.alcatel-lucent.com (fr-hpida-esg-02.alcatel-lucent.com [135.245.210.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 988E81A1F73 for <alto@ietf.org>; Mon, 2 Nov 2015 09:55:31 -0800 (PST)
Received: from us70uusmtp3.zam.alcatel-lucent.com (unknown [135.5.2.65]) by Websense Email Security Gateway with ESMTPS id 336D6786F0C5D; Mon, 2 Nov 2015 17:55:25 +0000 (GMT)
Received: from umail.lucent.com (umail.ndc.lucent.com [135.3.40.61]) by us70uusmtp3.zam.alcatel-lucent.com (GMO) with ESMTP id tA2HtQlm012501 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 2 Nov 2015 17:55:26 GMT
Received: from [135.222.152.71] (wdr-i7mbp2.mh.lucent.com [135.222.152.71]) by umail.lucent.com (8.13.8/TPES) with ESMTP id tA2HtN7E016161; Mon, 2 Nov 2015 11:55:24 -0600 (CST)
User-Agent: Microsoft-MacOutlook/14.5.7.151005
Date: Mon, 02 Nov 2015 12:55:23 -0500
From: Wendy Roome <w.roome@alcatel-lucent.com>
To: Hans Seidel <hseidel@benocs.com>, "Y. Richard Yang" <yry@cs.yale.edu>
Message-ID: <D25D0849.55C362%w.roome@alcatel-lucent.com>
Thread-Topic: [alto] New Incremental Update draft
References: <D2302448.504B98%w.roome@alcatel-lucent.com> <CANUuoLpK7f3Y3=N6dxSv5vD3cyKE9OjSwKa+D7ctA9fU0fbqkA@mail.gmail.com> <560D4722.5080402@benocs.com> <D232C62E.51667F%w.roome@alcatel-lucent.com> <563792AD.9040609@benocs.com>
In-Reply-To: <563792AD.9040609@benocs.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3529313726_45951041"
Archived-At: <http://mailarchive.ietf.org/arch/msg/alto/51iKgOj99-Nr5qCeNnvRay1VKKw>
Cc: "alto@ietf.org" <alto@ietf.org>
Subject: Re: [alto] New Incremental Update draft
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.15
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: <https://mailarchive.ietf.org/arch/browse/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, 02 Nov 2015 17:55:34 -0000

Comments inline.

> From:  Hans Seidel <hseidel@benocs.com>
> Date:  Mon, November 2, 2015 at 11:43
> To:  Wendy Roome <w.roome@alcatel-lucent.com>, "Y. Richard Yang"
> <yry@cs.yale.edu>
> Cc:  "alto@ietf.org" <alto@ietf.org>
> Subject:  Re: [alto] New Incremental Update draft
> 
> Wendy,
> 
> while working on our Incremental Update implementation is was thinking about
> the 3 solutions and decided to prefer option 1. I also like it for its
> simplicity while it still keeps start and stop separated.
> However,if I read your mail correctly the stream-id field is only allowed in
> stop updates. That means adding resources to an existing stream is not
> supported. So, if a client wants to add resources it needs to create a new
> stream requesting the existing + the new resource(s)?

That is my suggestion. Adding resources to an existing stream is messy. And
it creates a new class of ambiguity. Eg, suppose creates a update stream for
changes to an ECS query. Then suppose the client modifies the stream by
adding another ECS query. Update events are tagged with the ECS resource id
- - which is the same. So does the added ECS query replace the previous one?
Or should the server merge the query somehow? Or flag it as an error??

I suggest revising the request Update Stream request syntax slightly. The
client request has only one top-level field, start-updates or stop-updates.
start-updates is as before. stop-updates is an object with two fields,
stream-id and resources. stream-id is a string, and resources is an array of
ids of resources to stop. If resources is empty or omitted, stop all
resources.

That makes it clear that a client cannot add a resource to an existing
stream.
> 
> Furthermore, I updated our ALTO server (alto.benocs.berlin:8000/directory) and
> it now supports the incremental-updates draft -01. However, since we use the
> interop network to generate the maps
> there are no changes (yet). Hence, every client will only receive the start
> event and the first resource data but no updates since there aren't any
> changes in the network.

When I tried your server I immediately get EOF on the stream. However, I did
that from work, where I have to go through a very strict (and probably
ancient) proxy, and the proxy might not handle SSE. I will try tonight from
home.
> 
> Due to the lack of updates from our ALTO server I was also thinking about
> adding some (optional) incremental update tests to the interop draft. What do
> you think?
> 
> Hans

Yes, we would need that if we want the interop test to be a permanent
feature. Quick idea: define a new set of network specifications. Say one
network map and associated cost maps. Define several different cost maps,
which differ by a few cost points. The server would randomly switch between
those maps. The client would verify that the map is always one of the valid
one. And define two different versions of the network map. Same PID names,
but one or two CIDRs flip from one PID to another in the two maps. The
server would also alternate between those two network maps.

- Wendy Roome