Skip to main content

CDNI Request Routing with ALTO
draft-seedorf-cdni-request-routing-alto-00

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Author Jan Seedorf
Last updated 2012-03-05
Replaced by draft-ietf-alto-cdni-request-routing-alto, RFC 9241
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-seedorf-cdni-request-routing-alto-00
Content Delivery Networks                                     J. Seedorf
Interconnection                                                      NEC
Internet-Draft                                             March 5, 2012
Intended status: Informational
Expires: September 6, 2012

                     CDNI Request Routing with ALTO
               draft-seedorf-cdni-request-routing-alto-00

Abstract

   Network Service Providers (NSPs) are currently considering to deploy
   Content Delivery Networks (CDNs) within their networks.  As a
   consequence of this development, there is a need for interconnecting
   these local CDNs.  The necessary interfaces for inter-connecting CDNs
   are currently being defined in the Content Delivery Networks
   Interconnection (CDNI) WG.  This document focusses on the Request
   Routing Interface of CDNI, and more specifically on how the solutions
   currently being defined in the Application Layer Traffic Optimization
   (ALTO) WG can improve CDNI request routing.  The overall intention
   behind this document is to foster discussions (in the CDNI as well as
   in the ALTO WG) regarding if, how, and under what conditions ALTO can
   be useful to optimize CDNI request routing.  As basis for this
   discussion, this document provides concrete examples of how ALTO can
   be integrated within CDNI request routing and in particular in the
   process of selecting a downstream CDN.  The examples in this document
   are based on the use cases and examples currently being discussed in
   the CDNI WG.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 6, 2012.

Copyright Notice

Seedorf                 Expires September 6, 2012               [Page 1]
Internet-Draft        ALTO for CDNi request Routing           March 2012

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  ALTO within CDNI Request Routing . . . . . . . . . . . . . . .  4
   3.  Selection of a Downstream CDN with ALTO  . . . . . . . . . . .  6
     3.1.  Footprint Advertisement with ALTO network map  . . . . . .  6
     3.2.  Using ALTO cost maps for Downstream CDN Selection  . . . .  6
     3.3.  Example of Selecting a Downstream CDN based on ALTO
           Maps . . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.4.  Advantages of using ALTO . . . . . . . . . . . . . . . . .  8
   4.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   5.  Summary and Outlook  . . . . . . . . . . . . . . . . . . . . . 10
   6.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11
   7.  Informative References . . . . . . . . . . . . . . . . . . . . 12
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 13

Seedorf                 Expires September 6, 2012               [Page 2]
Internet-Draft        ALTO for CDNi request Routing           March 2012

1.  Introduction

   Many Network Service Providers (NSPs) are currently considering or
   have already started to deploy Content Delivery Networks (CDNs)
   within their networks.  As a consequence of this development, there
   is a need for interconnecting these local CDNs.  Content Delivery
   Networks Interconnection (CDNI) has the goal of standardizing
   protocols to enable such interconnection of CDNs
   [refs.CDNIproblemstatement].

   The CDNI problem statement envisions four interfaces to be
   standardized within the IETF for CDN interconnection
   [refs.CDNIproblemstatement]:

   o  CDNI Request Routing Interface

   o  CDNI Metadata Interface

   o  CDNI Logging Interface

   o  CDNI Control Interface

   This document focusses solely on the CDNI Request Routing Interface.
   In particular, this document shows concrete examples of how ALTO
   [RFC5693] can be integrated in CDNI request routing.  The goal of
   this document is to show in what cases ALTO can benefit CDNI request
   routing, giving concrete examples and explaining how ALTO improves
   CDNI request routing in each of these examples.  The examples used in
   this document are based on the use cases and request routing
   proposals currently being discussed in the CDNI WG
   [refs.CDNIusecases] [refs.CDNIstrawman] and in the ALTO WG
   [refs.altocdn].  The overall rationale of this document is to foster
   discussions (in the CDNI as well as in the ALTO WG) regarding if,
   how, and under what conditions ALTO can be useful to optimize CDNI
   request routing.  Most importantly, the document has the goal of
   finding consensus regarding which part of the CDNI request routing
   interface can use ALTO.

   A previous version of this document [refs.altocdni] contained
   detailed examples of actual request routing and surrogate selection
   with ALTO.  This version solely focuses on selection of a downstream
   CDN and how ALTO can support such downstream CDN selection.

   Throughout this document, we use the terminology for CDNI defined in
   [refs.CDNIproblemstatement].

Seedorf                 Expires September 6, 2012               [Page 3]
Internet-Draft        ALTO for CDNi request Routing           March 2012

2.  ALTO within CDNI Request Routing

   The main purpose of the CDNI Request Routing Interface is described
   in [refs.CDNIproblemstatement] as follows: "The CDNI Request Routing
   interface enables a Request Routing function in an upstream CDN to
   query a Request Routing function in a downstream CDN to determine if
   the downstream CDN is able (and willing) to accept the delegated
   content request and to allow the downstream CDN to control what the
   upstream Request Routing function should return to the User Agent in
   the redirection message".  On a high level, the scope of the CDNI
   Request Routing Interface therefore contains two main tasks:

   o  A) Determining if the downstream CDN is willing to accept a
      delegated content request

   o  B) Redirecting the content request coming from an upstream CDN to
      the proper entry point or entity in the downstream CDN

   More precisely, in [refs.CDNIframework] the request routing interface
   is broadly divided into two functionalities:

   o  1) the asynchronous advertisement of footprint and capabilities by
      a dCDN that allows a uCDN to decide whether to redirect particular
      user requests to that dCDN;

   o  2) the synchronous operation of actually redirecting a user
      request.

   Accorduing to consensus found at the last CDNI session at IETF-82, we
   refer to 1) as "Request Routing Interface - Footprint and
   Capabilities Advertisement" and 2) as "Request Routing Interface -
   Redirection".  A previous version of this document [refs.altocdni]
   provided some concrete examples how ALTO could be used for the actual
   "redirection" part of the request routing interface.  Based on
   feedback received at the IETF-82 meeting, this version solely focuses
   on the "Footprint and Capabilities Advertisement" part of the request
   routing interface.  In particular, the scope of the current version
   of this document is to show how ALTO [RFC5693] can be used for
   selecting a downstream CDN.  Thus, the scope of the current document
   is to provide examples and discuss how a downstream CDN can advertise
   its footprint and other information by means of ALTO.

   Application Layer Traffic Optimization (ALTO) is an approach for
   guiding the resource provider selection process in distributed
   applications that can choose among several candidate resources
   providers to retrieve a given resource.  By conveying network layer
   (topology) information, an ALTO server can provide important
   information to "guide" the resource provider selection process in

Seedorf                 Expires September 6, 2012               [Page 4]
Internet-Draft        ALTO for CDNi request Routing           March 2012

   distributed applications.  Usually, it is assumed that an ALTO server
   conveys information these applications cannot measure themselves
   [RFC5693].

   Originally, ALTO was motivated by the huge amount of cross-ISP
   traffic generated by P2P applications [RFC5693].  Recently, however,
   ALTO is also being considered for improving the request routing in
   CDNs [refs.altocdn].  In this context, it has also been proposed to
   use ALTO for selecting an entry-point in a downstream NSP's network
   (see section 3.4 "CDN delivering Over-The-Top of a NSP's network" in
   [refs.altocdn]).  Also, the CDNI problem statement explicitly
   mentions ALTO as a candidate protocol for "algorithms for selection
   of CDN or Surrogate by Request-Routing systems"
   [refs.CDNIproblemstatement].  Yet, there have not been concrete
   proposals so far on how to use ALTO in the context of CDN
   interconnection.  This document tries to close this gap by giving
   some examples on how ALTO could be used within CDNI request routing.

   As explicitly being out-of-scope for CDNI
   [refs.CDNIproblemstatement], the examples used in this document
   assume that ingestion of content or acquiring content across CDNs is
   not part of request routing as considered within CDNI standardization
   work.  The focus of using ALTO (as considered in this document) is
   hence on request routing only, assuming that the content (desired by
   the end user) is available in the downstream CDN (or can be aquired
   by the downstream CDN by some means).

Seedorf                 Expires September 6, 2012               [Page 5]
Internet-Draft        ALTO for CDNi request Routing           March 2012

3.  Selection of a Downstream CDN with ALTO

   ALTO can help the upstream CDN provider to select a proper downstream
   CDN provider for a given end user request as follows: Each downstream
   CDN provider hosts an ALTO server which provides ALTO information
   (i.e.  ALTO network maps and ALTO cost maps [refs.altoprotocol]) to
   an ALTO client at the upstream CDN provider.  A network map provided
   by each of several candidate downstream CDNs can provide information
   to the upstream CDN provider regarding the geopgraphical coverage,
   the location of "surrogates", or similar.  In addition, an ALTO cost
   map can provide an upstream CDN provider information about the
   ''cost'' of delivering certain content via the downstream CDN which
   provided such a cost map.  ''Cost'' in this context is a generic
   term; many types of costs are possible and can be useful in the
   context of CDNI request routing (see Section 3.2 for a detailed
   discussion), e.g. average link load, expected delay, or monetary
   costs.

3.1.  Footprint Advertisement with ALTO network map

   An ALTO network map contains a "set of Network Location groupings"
   [refs.altoprotocol].  The groupings are defined in the form of so-
   called "PIDs".  A PID is an identifier to group network location
   endpoints, e.g.  IP-addresses in the form of prefixes (see section 4
   in [refs.altoprotocol] for details).

   The concept of an ALTO network map (and the PIDs contained therein)
   is a natural and straightforward candidate for CDNI fooprint
   advertisement: The downstream CDN provider groups the IP-addresses in
   its footprint into PIDs and makes these grouping available to an
   upstream CDN via an ALTO network map.  With such a network map, the
   upstream CDN provider can easily match an end user request with the
   footprint of the downstream CDN provider to see if a given downstream
   CDN can provide "coverage" for the IP-address of the end user.
   Whenever the footprint changes, the downstream CDN creates an updated
   network map and makes it available via its ALTO server.

3.2.  Using ALTO cost maps for Downstream CDN Selection

   An ALTO cost map contains costs between defined groupings of a
   corresponding network map (i.e. costs between PIDs): "An ALTO Cost
   Map defines Path Costs pairwise amongst sets of source and
   destination Network Locations" [refs.altoprotocol].  This concept
   enables the provider of a cost map to express (and quantify)
   preferences of a destination network location with respect to a given
   source network location.

   In the context of CDNI, the ALTO cost map concept is an extensive

Seedorf                 Expires September 6, 2012               [Page 6]
Internet-Draft        ALTO for CDNi request Routing           March 2012

   tool to facilitate selection of the "best" downstream CDN because it
   enables the upstream CDN provider to assess a candidate downstream
   CDN based on other factors besides simply network coverage
   (footprint).  Most importantly, the cost map concept provides a means
   for a downstream CDN provider to convey a multitude of dynamically
   changing information which the upstream CDN provider cannot measure
   itself (or only roughly estimate) otherwise.

   For instance, the following types of ''delivery cost'' can be
   conveyed by a downstream CDN provider via ALTO for each combination
   of source PID and destination PID:

   o  Latency: the expected/average RTT

   o  Bandwidth: the maximum bandwidth (e.g. due too bottlenecks)

   o  Monetary Costs: The amount of actual monetary costs the downstream
      CDN provider would charge for the delivery of content to a given
      destination (see also [refs.CDNIcostperspective])

3.3.  Example of Selecting a Downstream CDN based on ALTO Maps

   Consider the following example.  An upstream CDN (uCDN) receives a
   request from an end user.  Based on the IP-address of the end user,
   uCDN determines that it is possible to deliver the content from one
   of several candidate downstream CDNs (dCDN-a, dCDN-b, and dCDN-c).
   Each of these downstream CDNs runs an ALTO server to provide
   information about what locations it can deliver content to
   (footprint) and at which ''cost'' (additional information). uCDN
   downloads from each candidate downstream CDN an ALTO network map and
   one or more ALTO cost maps (e.g. by using the "Filtered Cost Map"
   option and different "cost-types" as specified in 7.7.3.2. of
   [refs.altoprotocol]).  The ALTO network map provides ''coverage''
   (footprint) for each downstream CDN as aggregated network locations
   in the form of ALTO PIDs.  The cost maps provide the upstream CDN
   information regarding the ''costs'' the selection of each individual
   donwstraem CDN would imply.

   Assume that only the ALTO network maps provided by dCDN-a and dCDN-c
   indicate that these downstream CDNs can deliver content for the
   location of the end user requesting content.  In this case, the ALTO
   costs maps provide useful information to the upstream CDN, uCDN, in
   order to make a selection decision regarding either dCDN-a or dCDN-c.
   For instance, if both downstream CDNs have provided two ALTO cost
   maps - one regarding monetary delivery cost and one regarding
   expected latency for delivery - uCDN can make a downstream CDN
   selection based on its preferences: If one downstream CDN can deliver
   cheaper, but the other faster, ALTO cost maps provide such

Seedorf                 Expires September 6, 2012               [Page 7]
Internet-Draft        ALTO for CDNi request Routing           March 2012

   information in detail to the upstream CDN.  This enables the upstream
   CDN to make a well-considered downstream CDN selection which may take
   into account different factors (which can for instance be weighted by
   the upstream CDN to make a decision).

3.4.  Advantages of using ALTO

   The following reasons make ALTO a suitable candidate protocol for
   downstream CDN selection as part of CDNI request routing:

   o  The semantics of an ALTO network are an exact match for the needed
      information to convey a footprint by a downstream CDN

   o  ALTO cost maps can express delivery ''cost'' and thus convey
      relevant network topology information other than simply routing
      hops or a footprint.  This facilitiates advanced and more
      sophiosticated selection of a downstream CDN based on various
      metrics by the upstream CDN

   o  ALTO maps can be signed and hence provide inherent integrity
      protection (see Section 4)

Seedorf                 Expires September 6, 2012               [Page 8]
Internet-Draft        ALTO for CDNi request Routing           March 2012

4.  Security Considerations

   One important security consideration is the proper authentication of
   advertisement information provided by a downstream CDN.  The ALTO
   protocol provides a specification for a signature of ALTO maps (see
   8.2.2. of [refs.altoprotocol].  ALTO thus provides a proper means for
   protecting the integrity of footprint advertisment information.

   More Security Considerations will be discussed in a future version of
   this document.

Seedorf                 Expires September 6, 2012               [Page 9]
Internet-Draft        ALTO for CDNi request Routing           March 2012

5.  Summary and Outlook

   This document presented conrete examples of how ALTO can be used
   within the downstream CDN selection of CDNI Request Routing.
   Further, the document provides arguments why ALTO is a meaningful
   protocol in this context.  Most importantly, the concept of the ALTO
   cost map is a means to provide detailed and various types of
   information to an upstream CDN to facilitate well-considered
   downstream CDN selection.

   The intention of this document is to find consensus in the CDNI WG
   that ALTO is a useful protocol for CDNI request routing and in
   particular has many benefits for proper selection of a downstream
   CDN.  The overall objective is to form agreement on how ALTO should
   be used within the CDNI request routing protocol.  It is the
   intention to capture the outcome of such continuing discussions in
   future versions of this document.

Seedorf                 Expires September 6, 2012              [Page 10]
Internet-Draft        ALTO for CDNi request Routing           March 2012

6.  Acknowledgements

   Jan Seedorf is partially supported by the COAST project (COntent
   Aware Searching, retrieval and sTreaming, http://www.coast-fp7.eu), a
   research project supported by the European Commission under its 7th
   Framework Program (contract no. 248036).  The views and conclusions
   contained herein are those of the authors and should not be
   interpreted as necessarily representing the official policies or
   endorsements, either expressed or implied, of the COAST project or
   the European Commission.

Seedorf                 Expires September 6, 2012              [Page 11]
Internet-Draft        ALTO for CDNi request Routing           March 2012

7.  Informative References

   [refs.CDNIusecases]
              Bertrand, G., Stephan, E., Watson, G., Burbridge, T., and
              P. Eardley, "Use Cases for Content Delivery Network
              Interconnection", draft-ietf-CDNI-use-cases-00 (work in
              progress), September 2011.

   [refs.CDNIproblemstatement]
              Niven-Jenkins, B., Le Faucheur, F., and N. Bitar, "Content
              Distribution Network Interconnection (CDNI) Problem
              Statement", draft-ietf-CDNI-problem-statement-00 (work in
              progress), September 2011.

   [refs.altocdn]
              Niven-Jenkins, B., Watson, G., Bitar, N., Medved, J., and
              S. Previdi, "Use Cases for ALTO within CDNs",
              draft-jenkins-alto-cdn-use-cases-01 (work in progress),
              June 2011.

   [refs.altocdni]
              Seedorf, J., "ALTO for CDNi Request Routing",
              draft-seedorf-alto-for-cdni-00 (work in progress),
              October 2011.

   [RFC5693]  Seedorf, J. and E. Burger, "Application-Layer Traffic
              Optimization (ALTO) Problem Statement", RFC 5693,
              October 2009.

   [refs.CDNIstrawman]
              Peterson, L. and J. Hartman, "Content Distribution Network
              Interconnection (CDNI) Problem Statement",
              draft-peterson-CDNI-strawman-01 (work in progress),
              May 2011.

   [refs.CDNIcostperspective]
              Liu, H., "A Cost Perspective on Using Multiple CDNs",
              draft-liu-cdni-cost-00 (work in progress), Oct 2011.

   [refs.CDNIframework]
              Davie, B. and L. Peterson, "Framework for CDN
              Interconnection", draft-davie-CDNI-framework-00 (work in
              progress), July 2011.

   [refs.altoprotocol]
              Alimi, R., Penno, R., and Y. Yang, "ALTO Protocol",
              draft-ietf-alto-protocol-09 (work in progress), June 2011.

Seedorf                 Expires September 6, 2012              [Page 12]
Internet-Draft        ALTO for CDNi request Routing           March 2012

Author's Address

   Jan Seedorf
   NEC Laboratories Europe, NEC Europe Ltd.
   Kurfuersten-Anlage 36
   Heidelberg  69115
   Germany

   Phone: +49 (0) 6221 4342 221
   Email: jan.seedorf@neclab.eu
   URI:   http://www.neclab.eu

Seedorf                 Expires September 6, 2012              [Page 13]