Re: [CDNi] footprint and capability mechanisms

"Peterson, Jon" <jon.peterson@neustar.biz> Mon, 10 February 2014 19:56 UTC

Return-Path: <jon.peterson@neustar.biz>
X-Original-To: cdni@ietfa.amsl.com
Delivered-To: cdni@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4CB561A05E0 for <cdni@ietfa.amsl.com>; Mon, 10 Feb 2014 11:56:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.201
X-Spam-Level:
X-Spam-Status: No, score=-104.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] 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 oQnVvjJWqEUw for <cdni@ietfa.amsl.com>; Mon, 10 Feb 2014 11:56:00 -0800 (PST)
Received: from neustar.com (mx1.neustar.com [156.154.17.104]) by ietfa.amsl.com (Postfix) with ESMTP id 161C91A05D8 for <cdni@ietf.org>; Mon, 10 Feb 2014 11:55:59 -0800 (PST)
Received: from stntexhc10.cis.neustar.com (unknown [10.31.58.69]) by stihiron1.va.neustar.com with smtp (TLS: TLSv1/SSLv3,128bits,AES128-SHA) id 71b7_3d4f_5c805638_9857_4bc0_9e13_df3b0bf1aa94; Mon, 10 Feb 2014 14:55:43 -0500
Received: from STNTEXMB10.cis.neustar.com ([169.254.5.252]) by stntexhc10.cis.neustar.com ([169.254.4.83]) with mapi id 14.03.0158.001; Mon, 10 Feb 2014 14:55:41 -0500
From: "Peterson, Jon" <jon.peterson@neustar.biz>
To: Kevin J Ma <kevin.ma@azukisystems.com>, Jan Seedorf <Jan.Seedorf@neclab.eu>, "cdni@ietf.org" <cdni@ietf.org>
Thread-Topic: footprint and capability mechanisms
Thread-Index: AQHPI2r+MKQy3HwHMU6O1Xni5u+2KZqp01MAgARwI4CAAHeMAA==
Date: Mon, 10 Feb 2014 19:55:40 +0000
Message-ID: <CF1E6D4B.DA081%jon.peterson@neustar.biz>
References: <CF19173E.D6129%jon.peterson@neustar.biz> <2779C9F0771F974CAD742BAE6D9904FE63AE748D@DAPHNIS.office.hd> <291CC3F9E50E7641901A54E85D0977C6D541655C06@MAILR002.mail.lan>
In-Reply-To: <291CC3F9E50E7641901A54E85D0977C6D541655C06@MAILR002.mail.lan>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.3.9.131030
x-originating-ip: [192.168.128.86]
x-ems-proccessed: R64IxjzeHPwwd+efoj3ZcA==
x-ems-stamp: zqwkQIa0HewZCGy9uECpYw==
Content-Type: text/plain; charset="euc-kr"
Content-ID: <7A010541B11C2E469C4041C5A78B3B6D@neustar.biz>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [CDNi] footprint and capability mechanisms
X-BeenThere: cdni@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "This list is to discuss issues associated with the Interconnection of Content Delivery Networks \(CDNs\)" <cdni.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cdni>, <mailto:cdni-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/cdni/>
List-Post: <mailto:cdni@ietf.org>
List-Help: <mailto:cdni-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cdni>, <mailto:cdni-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Feb 2014 19:56:06 -0000

Do you mean inefficiencies beyond the need for asynchronous and
incremental updates? This is the discussion I think we need to have.

Jon Peterson
Neustar, Inc.

On 2/9/14, 8:47 PM, "Kevin J Ma" <kevin.ma@azukisystems.com> wrote:

>I think my question is still about the actual call flows for the ALTO
>implementation, and whether there are any significant inefficiencies?
>Though, to Jon's point, both approaches are going to need more work,
>so it's hard to assess from the current state.
>
>I believe Matt had an action from Vancouver to also do an analysis?
>
>--  Kevin J. Ma
>
>> -----Original Message-----
>> From: CDNi [mailto:cdni-bounces@ietf.org] On Behalf Of Jan Seedorf
>> Sent: Friday, February 07, 2014 4:01 AM
>> To: Peterson, Jon; cdni@ietf.org
>> Subject: Re: [CDNi] footprint and capability mechanisms
>> 
>> Dear Jon,
>> 
>> Thank you for the good and fair summary below, this is pretty much the
>> status quo. Just one comment: the reason why some of the necessary ALTO
>> extensions have been delayed is that the ADs/chairs have disallowed such
>> work to be discussed before the core ALTO protocol has been published;
>> just recently green light for continuing work on extensions has been
>> given.
>> 
>> What in my view it boils down to (as you highlight below):
>> -- ALTO has error handling, encoding, security worked out (pro for using
>> ALTO)
>> -- incremental and asynchronous updates for ALTO is early stage; in fact
>> the ALTO WG is right now re-chartering to add those two items to the
>> charter item list, early work exists, but it will take some time for
>>those
>> specs to be ready (con for using ALTO)
>> 
>> What Richard and I have in mind was to drive these
>>very-soon-to-be-on-the-
>> chartered ALTO extensions (i.e. incremental/asynchronous updates) by the
>> concrete CDNI FCI use case. In other words we intend to define a
>>solution
>> for CDNI/FCI and kick that back into the ALTO WG. But no doubt, having
>> these ALTO extensions done in ALTO will likely take longer than the
>> current CDNI milestone for the FCI solution spec.
>> 
>> Kevin, all: anything you want to share to the discussion?
>> 
>>  - Jan
>> 
>> > -----Original Message-----
>> > From: CDNi [mailto:cdni-bounces@ietf.org] On Behalf Of Peterson, Jon
>> > Sent: Thursday, February 06, 2014 7:41 PM
>> > To: cdni@ietf.org
>> > Subject: [CDNi] footprint and capability mechanisms
>> >
>> > Following our discussion about the FCI mechanism in Vancouver, I took
>>a
>> > look at two drafts out there today: draft-ma and draft-seedorf. In
>> short,
>> > I think both express promising directions, and both have a long way to
>> go
>> > before they will describe fully fleshed-out mechanisms. At a high
>>level,
>> > their architectures are similar: both are about pushing JSON objects
>> that
>> > describe footprints and capability via HTTP. It¹s often when the
>>choices
>> > are so similar that it¹s hardest to figure out which is the right
>> approach.
>> >
>> > One of the prominent distinctions between the two is that Kevin
>> specifies
>> > a capability-sharing system with an optional footprint, whereas Jan
>> > specifies a footprint-sharing system with the option of capabilities.
>> > Jan¹s choice is an artifact of using ALTO as a basis, which already
>>has
>> a
>> > concept of sharing 'network maps' in this fashion, and can be extended
>> to
>> > add further information to these maps such as capability. Kevin works
>> from
>> > the ground up on a bespoke system for sharing capabilities, which may
>> not
>> > ever involve sharing footprint data. I¹ve turned this over in my head
>>a
>> > bunch of times, and I¹m not really sure there¹s any practical
>>advantage
>> > one approach has over the other. One of the non-obvious reasons why is
>> > that the concept of a PID (the groupings of network elements) in ALTO
>>is
>> > so abstract that it serves as a layer of indirection, and can serve
>>as a
>> > placeholder for a footprint that¹s effectively specified implicitly.
>> >
>> > An important feature we want this mechanism to have is incremental FCI
>> > updates. Both Kevin and Jan have a story about this, though I think
>>both
>> > will require substantial work to advance. Kevin, for example,
>>sketches a
>> > system of primitives (replace, include, exclude) to allow a dCDN to
>> update
>> > a uCDN about changes, based on tracking update sequencing with a new
>> > 'CDNI-FCI-Seq' HTTP header. State freshness of web resources is a
>>pretty
>> > thoroughly-studied problem, though, and there are other HTTP
>>facilities
>> > (Etags, say) that address this. I think it¹s pretty unlikely that our
>> > problem is enough of a special case that we could convince Application
>> > folks here at the IETF that we need to standardize a custom HTTP
>>header
>> > for it. Jan¹s draft, on the other hand, references existing ALTO work
>>on
>> > incremental updates, in particular draft-schwan-alto-incr-updates.
>>That
>> > draft contains a good overview of the different approaches, including
>> HTTP
>> > If-Modified-Since and Etags, as well as looking at JSON-specific
>> > incremental change techniques like JSON Patch (RFC6902). Sounds great,
>> but
>> > - draft-schwan is currently an expired I-D (for like a year), and it
>>is
>> > really more of a survey than a draft that makes a concrete
>> recommendation.
>> > This work would need to be resumed and made far more concrete for this
>> to
>> > be a viable approach.
>> >
>> > Asynchronous updates are another very important feature. We don¹t want
>> > to
>> > force uCDNs to poll dCDNs, we want dCDNs to be capable of
>>asynchronously
>> > notifying uCDNs when a change to network state happens. Kevin again
>>has
>> a
>> > sketch of a solution here, where capability information can either be
>> > acquired by a GET from the uCDN or a POST by the dCDN. While as
>> described
>> > it is very lightweight, I suspect it¹s probably a bit too lightweight:
>> I¹d
>> > want to know a lot more about how resource identifiers are discovered
>>or
>> > formulated, and a ton more about error-handling and security. This
>> > mechanism almost certainly should be ReST-based, as it will then
>>inherit
>> > many of the right principles. ALTO, based on Jan¹s draft, of course is
>> > already ReST-based, and has exhaustive sections on JSON encoding,
>> errors,
>> > security, and the way to formulate queries via POSTs. What it lacks is
>> an
>> > asynchronous publication capability. Once again, there are some I-Ds
>>we
>> > can point to, but nothing I¹d consider very concrete. Worse still,
>>even
>> > the capability data that ALTO might carry is based on a -00 I-D
>> > (draft-roome-alto-pid-properties) which is very sketchy, to the point
>> > where providing even a mock-up of the JSON encoding for capabilities
>>in
>> > ALTO is probably impossible today.
>> >
>> > So where does this leave us? Fleshing out either of these approaches
>> will
>> > take work. We don¹t want to do needless work articulating two
>>proposals
>> > where we only need one. It is however difficult to have a serious
>> > discussion about the advantages of either mechanism when they are only
>> > specified to this limited degree. Ideally some kind of merger would be
>> > possible here, and the sooner we can get to that the better. I don¹t
>> think
>> > the baseline JSON formats for rendering either footprints or
>>capability
>> > will ultimately vary significantly in the two proposals. It then just
>> > becomes a question of whether it is more practical to start tabula
>>rasa,
>> > as Kevin does, or to build on an existing mechanism, as Jan does. ALTO
>> > comes with baggage, but that baggage has accumulated from several
>>years
>> > now of comment and review, and surely a lot of those components (like
>> > error handling, encoding, security) would have to be incorporate into
>> > Kevin¹s draft if we went forward with it. I suspect that would
>> ultimately
>> > be a longer path, but neither of these paths are particularly short.
>> >
>> > Jon Peterson
>> > Neustar, Inc.
>> >
>> >
>> > _______________________________________________
>> > CDNi mailing list
>> > CDNi@ietf.org
>> > https://www.ietf.org/mailman/listinfo/cdni
>> _______________________________________________
>> CDNi mailing list
>> CDNi@ietf.org
>> https://www.ietf.org/mailman/listinfo/cdni