Re: [CDNi] CDNI FCI meeting at IETF-89

Kevin J Ma <kevin.ma@azukisystems.com> Fri, 28 February 2014 16:52 UTC

Return-Path: <kevin.ma@azukisystems.com>
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 CAB9C1A00C0 for <cdni@ietfa.amsl.com>; Fri, 28 Feb 2014 08:52:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] 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 F8RAESjL2zcI for <cdni@ietfa.amsl.com>; Fri, 28 Feb 2014 08:52:05 -0800 (PST)
Received: from p01c11o142.mxlogic.net (p01c11o142.mxlogic.net [208.65.144.65]) by ietfa.amsl.com (Postfix) with ESMTP id 3EDBE1A0058 for <cdni@ietf.org>; Fri, 28 Feb 2014 08:52:05 -0800 (PST)
Received: from unknown [69.25.75.234] (EHLO HUB027.mail.lan) by p01c11o142.mxlogic.net(mxl_mta-7.2.4-1) with ESMTP id 3beb0135.2b72ae410940.10980.00-540.31865.p01c11o142.mxlogic.net (envelope-from <kevin.ma@azukisystems.com>); Fri, 28 Feb 2014 09:52:03 -0700 (MST)
X-MXL-Hash: 5310beb339312b01-46d9d5929d52a39cb740682072385d7d10466249
Received: from unknown [69.25.75.234] (EHLO HUB027.mail.lan) by p01c11o142.mxlogic.net(mxl_mta-7.2.4-1) over TLS secured channel with ESMTP id 7aeb0135.0.10846.00-307.31463.p01c11o142.mxlogic.net (envelope-from <kevin.ma@azukisystems.com>); Fri, 28 Feb 2014 09:52:00 -0700 (MST)
X-MXL-Hash: 5310beb06982ccc0-0bce3796dc21222234a30ec099d2a9cd90df3fdd
Received: from MAILR002.mail.lan ([10.110.18.16]) by HUB027.mail.lan ([10.110.17.27]) with mapi; Fri, 28 Feb 2014 11:51:44 -0500
From: Kevin J Ma <kevin.ma@azukisystems.com>
To: Jan Seedorf <Jan.Seedorf@neclab.eu>, "cdni@ietf.org" <cdni@ietf.org>
Date: Fri, 28 Feb 2014 11:51:42 -0500
Thread-Topic: CDNI FCI meeting at IETF-89
Thread-Index: Ac8zyF3Yu5l8TaDNRtCX/eqLbyHWsAA2g9zQAABvDdA=
Message-ID: <291CC3F9E50E7641901A54E85D0977C6D542AF6AF2@MAILR002.mail.lan>
References: <2779C9F0771F974CAD742BAE6D9904FE63B28309@PALLENE.office.hd> <2779C9F0771F974CAD742BAE6D9904FE63B28B24@PALLENE.office.hd>
In-Reply-To: <2779C9F0771F974CAD742BAE6D9904FE63B28B24@PALLENE.office.hd>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/cdni/N34g9ptyFwgyQdhBmo1WliFQ2bA
Subject: Re: [CDNi] CDNI FCI meeting at IETF-89
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: Fri, 28 Feb 2014 16:52:08 -0000

I can make Wed if that is easiest.

> -----Original Message-----
> From: CDNi [mailto:cdni-bounces@ietf.org] On Behalf Of Jan Seedorf
> Sent: Friday, February 28, 2014 11:39 AM
> To: cdni@ietf.org
> Subject: Re: [CDNi] CDNI FCI meeting at IETF-89
>
> Thanks to all who filled in the doodle so far, it seems that TUE 13:00-
> 15:00 is the best slot; however, Daryl cannot make that one. Any chance
> you can make a slot before WED afternoon, Daryl?
>
> The 2nd best slot is WED 15:30-17:30, but Kevin cannot make that one.
> Kevin?
>
> Darly, Kevin, any chance that you guys can in fact make the respective
> slot above?
>
>  - Jan
>
> > -----Original Message-----
> > From: CDNi [mailto:cdni-bounces@ietf.org] On Behalf Of Jan Seedorf
> > Sent: Thursday, February 27, 2014 3:30 PM
> > To: cdni@ietf.org
> > Subject: [CDNi] CDNI FCI meeting at IETF-89
> >
> > Dear all,
> >
> > I took the liberty of setting up a doodle to have some discussions on
> how to
> > continue with the two current FCI proposals during the IETF-89 week (the
> > chairs allocated some time in the official CDNI slot on THU, but I am
> afraid it
> > will not be enough if we want to make some progress):
> >
> > http://www.doodle.com/xfn59dgm5nit9v4a#table
> >
> > I also took the liberty of inviting the ALTO chairs (in cc), as they can
> hopefully
> > enlighten us on the ALTO WG timeframe and re-chartering, as dependency
> > on the progress of the ALTO WG has repeatedly been mentioned as being a
> > drawback of an ALTO-based approach.
> >
> > Please all fill in the doodle if you would like to participate in this
> meeting at
> > IETF-89.
> >
> >  - Jan
> >
> > > -----Original Message-----
> > > From: CDNi [mailto:cdni-bounces@ietf.org] On Behalf Of Matt Caulfield
> > > (mcaulfie)
> > > Sent: Saturday, February 22, 2014 9:51 AM
> > > To: cdni@ietf.org
> > > Subject: [CDNi] FCI Analysis
> > >
> > > As promised in Vancouver, I have read through the two current FCI
> > proposals
> > > (along with some of their normative references) and I have put
> together
> > the
> > > following analysis.
> > >
> > > The text below first reviews the CDNI Requirements for FCI as well as
> some
> > > of the highlights from the FCI Semantics. Next, a short list of (what
> I feel
> > are)
> > > the key points from each draft. Finally, my analysis comparing the
> drafts
> > > based on their approach to FCI (and not the quality or the level of
> detail in
> > > the documents).
> > >
> > > If you have not done so already, then I would also  recommend reading
> Jon
> > > Peterson's email from February 6 ("footprint and capabilities
> > mechanisms").
> > >
> > > =======================================
> > > FCI Requirements (draft-ietf-cdni-requirements)
> > > -------------------------------------------------------------
> > > The CDNI FCI must allow a dCDN to communicate the following to a uCDN:
> > > 1) Ability/willingness of dCDN to handle requests from uCDN
> > > 2) Information to facilitate selection of a dCDN by uCDN (e.g.
> capabilities,
> > > resources, affinities)
> > > 3) Aggregated versions of #1 and #2 in the cascaded CDN case
> > > 4) Administrative limits and policies (e.g. max number of requests)
> > > 5) Specific capabilities including:
> > >   a) delivery protocol
> > >   b) acquisition protocol
> > >   c) redirection mode (DNS vs HTTP)
> > >   d) logging options
> > >   e) metadata options
> > > 6) Delivery authorization mechanisms (e.g. uri signing)
> > >
> > > The FCI must also support extensibility and versioning for new
> capabilities
> > > and footprints.
> > >
> > > =======================================
> > > FCI Semantics (draft-ietf-cdni-footprint-capabilities-semantics)
> > > -------------------------------------------------------------
> > > Design Decisions
> > > 1) Advertising Limited Coverage - should footprints be binary or rated
> via
> > > qualitative score?
> > > 2) Capabilities and Dynamic Data - what capabilities are static vs
> dynamic? If
> > > dynamic, how dynamic?
> > > 3) Advertisement vs Queries - synchronous query response model (per
> > end
> > > client request) or state replication?
> > > 4) Avoiding / Handling Cheating dCDNs - capabilities should be
> eventually
> > > verifiable by the uCDN
> > >
> > > Mandatory footprint types:
> > > 1) List of ISO Country Codes
> > > 2) List of AS numbers
> > > 3) Set of IP-prefixes
> > >
> > > FCI must be able to convey the entire footprint/capabilities and
> optionally
> > > dynamic updates.
> > >
> > > Footprints and Capabilities are dependent and tied together. Certain
> > > capabilities are only available for specific footprints.
> > >
> > > Important to note that most footprint information will be agreed upon
> out
> > of
> > > band (e.g. via contracts). FCI can be considered a means for providing
> > > changes or updates to that previously agreed upon set of footprints
> and
> > > capabilities.
> > >
> > > =======================================
> > >  FCI using ALTO (draft-seedorf-cdni-request-routing-alto-06)
> > > -------------------------------------------------------------
> > > This proposal is based on the ALTO (Application Layer Traffic
> Optimization)
> > > protocol (draft-ietf-alto-protocol), currently under development by
> the
> > ALTO
> > > working group. ALTO protocol specification is currently an Active
> Internet-
> > > Draft in the "Submitted to IESG for Publication" state.
> > >
> > > Each dCDN hosts an ALTO server. The uCDN uses an ALTO client to
> > determine
> > > footprint and capabilities of dCDN.
> > >
> > > An ALTO Network Map indicates coverage/reachability to groups of
> > > endpoints. Endpoints are grouped into PIDs. All endpoints within a
> single
> > PID
> > > share the same capabilities.
> > >
> > > Each PID is associated with a set of properties. Each property
> corresponds
> > to
> > > a capability. The concept of a PID Property Map is defined by draft-
> roome-
> > > alto-pid-properties (an active Internet-Draft). The same draft defines
> rules
> > > for implicit inheritance of properties for overlapping PIDs (e.g. one
> PID may
> > > correspond to a set of IP prefixes which is a subset of another PID;
> in this
> > > case, properties in the PID Property Map for the bigger set (i.e.
> shorter IP
> > > prefix) also apply to the smaller set (i.e. longer IP prefix)).
> > >
> > > Presumably the uCDN is configured with the URI for an ALTO IRD
> > > (Information Resource Directory) per dCDN. The IRD in turn provides
> two
> > > URIs. One for accessing the dCDN's Network Map and another for the
> > > dCDN's PID Property Map. However, this is not described explicitly.
> > >
> > > The draft defines the same basic set of capabilities as defined in the
> > > requirements but does not describe their encoding in depth.
> > >
> > > The ALTO protocol only registers IPv4 and IPv6 endpoint types.
> Assuming
> > > that this draft would register ISO Country Codes and AS numbers as new
> > > endpoint types, but not clear from the text.
> > >
> > > ALTO Cost Map could be used to determine the cost of the dCDN
> delivering
> > > to each group of endpoints (PID).
> > >
> > > The PID concept offers a level of indirection between footprints and
> > > capabilities allowing them to vary independently.
> > >
> > > ALTO also offers filtered querying in order to avoid fetching an
> entire
> > > network map or pid property map.
> > >
> > > Future extensions to ALTO will include asynchronous notifications and
> > > incremental updates as described by draft-schwan-alto-incr-updates
> > > (currently an Expired Internet-Draft). Expecting progress soon in this
> area
> > > from the ALTO WG.
> > >
> > > =======================================
> > > FCI using HTTP and CDNI-specific Representation (draft-ma-cdni-
> > capabilities-
> > > 04)
> > > -------------------------------------------------------------
> > > This proposal is based on a CDNI-specific representation of footprints
> and
> > > capabilities. Footprints and capabilities are encoded in JSON and
> > transported
> > > via HTTP.
> > >
> > > Stated objective is to distill dCDN resource knowledge into simple set
> of
> > > capabilities and their footprints. That is, each capability has an
> associated
> > > footprint.
> > >
> > > The draft defines the same basic set of capabilities as defined in the
> > > requirements and provides some examples of their encoding.
> > >
> > > Each capability has a name, a list of values, and an optional list of
> footprints.
> > > The list of values is specific to the capability name.
> > >
> > > The optional footprint list restricts its capability. Each footprint
> has a type,
> > list
> > > of values, and an optional mode. The list of values is specific to the
> > footprint
> > > type. A registry is defined for footprint types and includes country
> code, AS
> > > number, and IP prefix.
> > >
> > > The footprint mode may be set to "replace", "include", or "exclude"
> which
> > > indicates how the footprint should be treated with respect to
> "previous"
> > > footprint information. In this context, "previous" refers to
> incremental
> > > updates which are sent asynchronously from the dCDN to the uCDN. The
> > > "replace" mode indicates that any previous information about the
> footprint
> > > should be discarded and replaced entirely with the new information.
> The
> > > "include" mode indicates an addition to the footprint while "exclude"
> > > indications a subtraction.
> > >
> > > The draft does not provide a means for conveying footprint cost
> > information.
> > >
> > > In practice, the dCDN FCI Server would return a full F&C document in
> > > response to HTTP GET requests. An HTTP GET would be used to initialize
> > the
> > > state of the uCDN. In response to a GET, all modes are set to
> "replace".
> > >
> > > The proposal also allows the dCDN to send asynchronous HTTP POSTs to
> > > uCDN for updating the F&C. Updates may use "include" and "exclude"
> > > modes for partial updates. Each update includes a sequence numbers
> (via
> > an
> > > CDNI-FCI-seq HTTP header) in order to detect loss. Lost updates result
> in a
> > > reset and a re-initialization.
> > >
> > > =======================================
> > > Analysis
> > > -------------------------------------------------------------
> > >
> > > Transport and Encoding: both proposals rely on HTTP transport and JSON
> > > encoding. This is a good starting point and is in line with current
> CDNI WG
> > > documents (e.g. triggers and metadata drafts).
> > >
> > > Data Representation: in the case of draft-seedorf, the existing ALTO
> > > representations for network and property maps are leveraged. These
> data
> > > structures clearly fit the CDNI use case and have the benefit of prior
> > review.
> > > In the case of draft-ma, a new CDNI-specific representation is
> defined.
> > There
> > > is no clear technical deficiency with either approach given that a
> newly
> > > defined representation can be as flexible as needed and the ALTO
> > > representation is generic enough to support the CDNI use case.
> Leveraging
> > > an existing protocol has obvious advantages but it is unclear to me
> whether
> > > or not adding a dependency on the ALTO WG will be problematic in any
> > way.
> > >
> > > Hierarchy: in the case of draft-seedorf, footprints have capabilities.
> In the
> > > case of draft-ma, capabilities have footprints. In the single CDN
> case,
> > neither
> > > option is deficient. In the cascaded CDN case, the draft-seedorf
> approach
> > > seems more intuitive. Aggregated footprint and capability information
> is
> > > constructed simply by appending the footprints of all dCDNs.
> > >
> > > Cost Information: in the case of draft-seedorf, a loose description is
> > provided
> > > of how to apply ALTO Cost Maps to footprints. In the case of draft-ma,
> no
> > > solution is described. Cost information is only useful when multiple
> dCDNs
> > > can claim the same end clients in their footprint advertisements.
> However,
> > > regardless of the use case, business logic is likely to kick in before
> such cost
> > > metrics would be useful. Neither approach includes a definitive
> proposal in
> > > this area.
> > >
> > > Extensibility and Versioning: Versioning of the FCI protocol is not
> discussed
> > > by either draft. Extensibility is alluded to and is clearly possible.
> However,
> > the
> > > details are lacking in this area.
> > >
> > > Dependence on ALTO WG: In the case of draft-seedorf, a dependency is
> > > introduced on the ALTO WG and a few drafts in progress. In the case of
> > draft-
> > > ma, no such dependency is required. The benefits of leveraging ALTO
> > include
> > > the ability to easily reuse the work that the ALTO WG has done in
> > hardening
> > > the error handling, security, encoding, and processing of the ALTO
> protocol.
> > > However, the difficulty of these efforts is not insurmountable and
> could be
> > > reproduced in a CDNI-specific proposal.
> > >
> > > Capability Inheritance: in the case of draft-seedorf, the PID Property
> Map
> > > defines rules for implicit inheritance between multiple overlapping
> PIDs. In
> > > the case of draft-ma, no special inheritance rules exist. These
> inheritance
> > > rules may complicate implementation of FCI. Completely explicit
> > capabilities,
> > > such as in draft-ma, may be a better approach.
> > >
> > > Update Notifications: in the case of draft-seedorf, no strong story
> for
> > update
> > > notifications is provided. The ALTO Incremental Updates draft is
> > referenced.
> > > However, this draft is expired. In the case of draft-ma, an HTTP POST
> may
> > be
> > > sent from dCDN to uCDN which includes the incremental update. Assuming
> > > that update notifications is a real requirement, then draft-ma has a
> more
> > > concrete approach in this area. However, a bidirectional HTTP
> interface
> > > breaks the RESTful nature of the interface.
> > >
> > > Incremental Updates: in the case of draft-seedorf, the ALTO
> Incremental
> > > Update draft is referenced. This draft describes the use of JSON Patch
> for
> > > encoding incremental changes to ALTO information. Additionally, ALTO
> > allows
> > > for filtered queries which could be used for obtaining partial
> information. In
> > > the case of draft-ma, a scheme including sequence numbers, a new HTTP
> > > header, and a "mode" is used for conveying incremental changes via
> HTTP
> > > POST. Like the update notifications, the draft-ma proposal is more
> concrete
> > > in this area. However, again, the ALTO approach is more RESTful.
> > Additionally,
> > > adding a new HTTP header for this purpose may not be workable.
> > >
> > > Draft Maturity: both draft-seedorf and draft-ma require another level
> of
> > > detail. Neither describe versioning and extensibility. Neither discuss
> the
> > > encoding of logging and metadata capabilities which may pose
> significant
> > > challenges.
> > >
> > > =======================================
> > > Conclusion
> > > -------------------------------------------------------------
> > > All in all, both drafts are well-written and viable candidates as a
> starting
> > point
> > > for our FCI standard.
> > >
> > > I would suggest that the working group must first decide whether the
> > > benefits of reusing the ALTO syntax and semantics outweigh the costs
> or if
> > > defining something CDNI-specific is a better option. As far as I can
> tell, the
> > > data representation defined by ALTO meets the needs of CDNI. My only
> > > concern is a dependency on the progress of the ALTO WG. Starting with
> a
> > > CDNI-specific representation provides maximum flexibility.
> > >
> > > I would also recommend that we first focus on a simple HTTP GET
> interface
> > > and then, once stable, turn our attention to incremental updates.
> > >
> > > Cheers,
> > > Matt
> > >
> > >
> > > _______________________________________________
> > > 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
>
> _______________________________________________
> CDNi mailing list
> CDNi@ietf.org
> https://www.ietf.org/mailman/listinfo/cdni