Network Working Group                                   B. Niven-Jenkins
Internet-Draft                                  Velocix (Alcatel-Lucent)
Intended status: Informational                                 G. Watson
Expires: October 29, 2011                                             BT
                                                                N. Bitar
                                                                 Verizon
                                                          April 27, 2011


                     Use Cases for ALTO within CDNs
                  draft-jenkins-alto-cdn-use-cases-00

Abstract

   For some time, Content Distribution Networks (CDNs) have been used in
   the delivery of some Internet services (e.g. delivery of websites,
   software updates and video delivery) as they provide numerous
   benefits including reduced delivery cost for cacheable content,
   improved quality of experience for end users and increased robustness
   of delivery.

   In order to derive the optimal benefit from a CDN it is preferable to
   deliver content from the servers (caches) that are "closest" to the
   End User requesting the content, where "closest" may be as simple as
   "geographical or network distance" combined with CDN server load
   within a location, but may also consider other more complex
   combinations of metrics and CDN or Network Service Provider (NSP)
   policies.

   There are a number of different ways in which a CDN may obtain the
   necessary network topology and/or cost information to allow it to
   serve End Users from the most optimal servers/locations, such as
   static configuration, passively listening to routing protocols
   directly, or obtaining topology and cost by querying an information
   service such as the ALTO map & cost services.

   This document describes the use cases for a CDN to be able to obtain
   network topology and cost information from an ALTO server(s) and
   details additional requirements on the ALTO protocol that result from
   such use cases.

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



Niven-Jenkins, et al.   Expires October 29, 2011                [Page 1]


Internet-Draft       Use Cases for ALTO within CDNs           April 2011


   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 October 29, 2011.

Copyright Notice

   Copyright (c) 2011 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.



























Niven-Jenkins, et al.   Expires October 29, 2011                [Page 2]


Internet-Draft       Use Cases for ALTO within CDNs           April 2011


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.1.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  5
   2.  CDN overview . . . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  CDN & ALTO Use Cases . . . . . . . . . . . . . . . . . . . . .  7
     3.1.  CDN deployed within a Broadband network  . . . . . . . . .  8
     3.2.  CDN delivering Over-The-Top of a NSP's network . . . . . .  9
     3.3.  Additional Use Cases . . . . . . . . . . . . . . . . . . . 10
   4.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 10
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 10
   6.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
   7.  Normative References . . . . . . . . . . . . . . . . . . . . . 10
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10





































Niven-Jenkins, et al.   Expires October 29, 2011                [Page 3]


Internet-Draft       Use Cases for ALTO within CDNs           April 2011


1.  Introduction

   For some time, Content Distribution Networks (CDNs) have been used in
   the delivery of some Internet services (e.g. delivery of websites,
   software updates and video delivery) as they provide numerous
   benefits including reduced delivery cost for cacheable content,
   improved quality of experience for end users and increased robustness
   of delivery.

   A CDN typically consists of a network of servers often attached to
   Network Service Provider (NSP) networks.  The point of attachment is
   often as close to content consumers and peering points as
   economically or operationally feasible in order to decrease traffic
   load on the NSP backbone and to provide better user experience
   measured by reduced latency and higher throughput.

   As the volume of video and multimedia content delivered over the
   Internet is rapidly increasing and expected to continue doing so in
   the future, existing CDN providers are scaling up their
   infrastructure and many NSPs are deploying their own CDNs.  The
   result of such deployments is typically that more CDN servers are
   being deployed within NSP networks and those CDN servers are being
   deployed in locations that are "deeper" (i.e. geographically closer
   to the NSP's End Users) than was previously the case.

   In order to derive the optimal benefit from a CDN it is preferable to
   deliver content from the servers (caches) that are "closest" to the
   End User requesting the content, where "closest" may be as simple as
   "geographical or network distance" combined with CDN server load
   within a location, but may also consider other more complex
   combinations of metrics and CDN or NSP policies.

   When CDN servers are deployed outside of an NSP's network or in a
   small number of central locations within an NSP's network a
   simplified view of the NSP's topology or an approximation of
   proximity is typically sufficient to enable the CDN to serve End
   Users from the optimal server/location.  As CDN servers are deployed
   deeper within NSP networks it becomes necessary for the CDN to have
   more detailed knowledge of the underlying network topology and costs
   between network locations in order to enable the CDN to serve End
   Users from the most optimal servers for the NSP.

   There are a number of different ways in which a CDN may obtain the
   necessary network topology and/or cost information to allow it to
   serve End Users from the most optimal servers/locations, such as
   static configuration, passively listening to routing protocols
   directly, or obtaining topology and cost by querying an information
   service such as the ALTO map & cost services.



Niven-Jenkins, et al.   Expires October 29, 2011                [Page 4]


Internet-Draft       Use Cases for ALTO within CDNs           April 2011


   The rest of this document describes the use cases for a CDN to be
   able to obtain network topology and cost information from an ALTO
   server(s) and details additional requirements on the ALTO protocol
   that result from such use cases.

1.1.  Terminology

   The following terms are taken from
   [I-D.jenkins-cdni-problem-statement] and repeated here for
   completeness.

   Content Distribution Network (CDN) / Content Delivery Network (CDN):
   Network infrastructure in which the network elements cooperate at
   layers 4 through layer 7 for more effective delivery of Content to
   User Agents.  Typically a CDN consists of a Request Routing system, a
   Distribution System (that includes a set of Surrogates), a Logging
   System and a CDN control system.

   Content Service Provider (CSP): Provides a Content Service to End
   Users (which the End Users access via a User Agent).  A CSP may own
   the Content made available as part of the Content Service, or may
   license content rights from another party.

   End User (EU): The 'real' user of the system, typically a human but
   maybe some combination of hardware and/or software emulating a human
   (e.g. for automated quality monitoring etc.)

   Network Service Provider (NSP): Provides network-based connectivity/
   services to Users.

   User Agent (UA): Software (or a combination of hardware and software)
   through which the End User interacts with the Content Service.  The
   User Agent will communicate with the CSP's Service for the selection
   of content and one or more CDNs for the delivery of the Content.
   Such communication is not restricted to HTTP and may be via a variety
   of protocols.  Examples of User Agents (non-exhaustive) are:
   Browsers, Set Top Boxes (STB), Dedicated content applications (e.g.
   media players), etc.


2.  CDN overview

   This section provides a high level and simplified overview of the
   operation of a CDN to help put the ALTO & CDN use cases into context.

   A typical CDN consists of a number of functional components, however
   in the context of ALTO three functional components are of interest:
   The Request Routing function, the Caching (Surrogate) function and



Niven-Jenkins, et al.   Expires October 29, 2011                [Page 5]


Internet-Draft       Use Cases for ALTO within CDNs           April 2011


   the Origin function.

   The Request Routing function within a CDN responsible for receiving a
   content request from a user agent, obtaining and maintaining
   necessary information about a set of candidate surrogates, and for
   selecting and redirecting the user to the appropriate surrogate.

   The Surrogate (Cache) function interacts with other elements of the
   CDN for the control and distribution of Content within the CDN and
   interacts with User Agents for the delivery of the Content.

   The figure below shows a high level call flow showing the interaction
   between a User Agent, Request Router and Surrogate for the delivery
   of content in a single CDN.

User Agent                    Request Router                   Surrogate
     |                               |                             |
     |      (1) Initial Request      |                             |
     +------------------------------>|                             |
     |                               +--+                          |
     |                               |  | (2) Surrogate Selection  |
     |                               |<-+                          |
     |    (3) Redirection Response   |                             |
     |<------------------------------+                             |
     |                               |                             |
     |      (4) Content Request      |                             |
     +------------------------------------------------------------>|
     |                               |                             |
     |                               |         (5) Content         |
     |<------------------------------------------------------------+
     |                               |                             |


   1.  The User Agent makes an initial request to the CDN.  Depending on
       the type of content being delivered and the configuration of the
       CDN this request may be an application (e.g.  HTTP, RTMP, etc.)
       level request directly from the User Agent or may be a DNS
       request via the User Agent's assigned DNS proxy.
   2.  The Request Router selects an appropriate Surrogate based on the
       User Agent's (or its proxy's) IP address, the Request Router's
       knowledge of the network topology and reachability cost between
       CDN caches and end users, and any additional CDN policies.
   3.  The Request Router responds to the UA's initial request with an
       appropriate response containing a redirection to the selected
       cache, for example by returning an appropriate DNS A/AAAA record,
       a HTTP 302 redirect, etc.





Niven-Jenkins, et al.   Expires October 29, 2011                [Page 6]


Internet-Draft       Use Cases for ALTO within CDNs           April 2011


   4.  The User Agent uses the information provided in the Redirection
       Response to connect directly to the Surrogate and request the
       desired content.
   5.  If CDN policy allows the User Agent to receive the requested
       content, the Surrogate delivers the content to the User Agent.
       A.  [Not Shown] If the Surrogate does not have a copy of the
           requested content then it obtains it from the appropriate
           Origin Server (possibly via ).
          Note: A Surrogate may not communicate with the Origin server
          directly and instead obtain the requested content from other
          surrogates or caching layers in the CDN hierarchy.  The
          details of how content requests filter through the CDN
          hierarchy to the Origin server are internal to a specific CDN
          and are out of scope of this document.


3.  CDN & ALTO Use Cases

   The primary use case for ALTO in a CDN context is to improve the
   selection of a CDN surrogate or Origin server.  The CDN Request
   Routing system makes use of an ALTO server to choose a better CDN
   surrogate or Origin than would otherwise be the case.  In its
   simplest form an ALTO server would provide an NSP with the capability
   to offer a service to a CDN which provides network map and cost
   information that the CDN can use to enhance its surrogate and/or
   Origin selection.

   Although it is possible to obtain raw network map and cost
   information in other ways, for example passively listening to the
   NSP's routing protocols, the use of an ALTO service to expose that
   information may provide additional control to the NSP over how their
   network map/cost is exposed.  Additionally it may enable the NSP to
   maintain a functional separation between their routing plane and
   network map computation functions.  This may be attractive for a
   number of reasons, for example:

   o  The ALTO service could provide a filtered view of the network
      and/or cost map that relates to CDN locations and their proximity
      to end users, for example to allow the NSP to control the level of
      topology detail they are willing to share with the CDN.
   o  The ALTO service could apply additional policies to the network
      map and cost information to provide a CDN-specific view of the
      network map/cost, for example to allow the NSP to encourage the
      CDN to use network links that would not ordinarily be preferred by
      a Shortest Path First routing calculation.
   o  The routing plane may be operated and controlled by a different
      operational entity (even within a single NSP) to the CDN and the
      ALTO service could provide a layer of separation because:



Niven-Jenkins, et al.   Expires October 29, 2011                [Page 7]


Internet-Draft       Use Cases for ALTO within CDNs           April 2011


      *  The CDN is not able to passively listen to routing protocols.
      *  The NSP is not willing to allow the CDN to passively listen to
         routing protocols, e.g. because the NSP is concerned the CDN
         may inadvertently interfere with the routing plane or because
         the routing plane and the CDN are operated by different
         operational entities/groups (including different entities
         within the same NSP).
   o  Etc.

   The use cases in this document are not necessarily specific as to the
   relationship between the commercial/operational entity that "owns"
   the ALTO service and the commercial/operational entity that "owns"
   the CDN service as it is assumed that such relationships will be
   deployment specific.  Although the ownership of each service may
   affect the level of topology detail that the ALTO service will be
   permitted to expose, it is assumed that the general requirements a
   CDN places on the ALTO service should not change provided that the
   ALTO server is able to expose sufficient topology for CDN to make
   appropriate surrogate selection decisions.

   For the rest of this document it is assumed that the ALTO service
   will be operated by the entity that operates the underlying network.

   The following sections outline some specific, non-exhaustive, example
   use cases, which are subsets of the primary use case outlined above
   but applied to specific usage examples to demonstrate how a CDN could
   make use of ALTO services.

3.1.  CDN deployed within a Broadband network

   In this use case an NSP is providing Broadband services to its
   customers and has deployed a CDN within its Broadband network to
   alleviate the cost and/or improve the User Experience of content
   services for its Broadband customers.

   The topology of Broadband access/backhaul networks is often much more
   constrained than metro/core networks.  If CDN surrogates are deployed
   within the access/backhaul network, for a given set of End Users, the
   NSP is likely to want to utilise the surrogates deployed in the same
   access/backhaul region as the End Users in preference to surrogates
   deployed within the metro/core or within other access/backhaul
   regions.  It is common for Broadband subscribers to obtain their IP
   addresses dynamically and in many deployments the IP subnets
   allocated to a particular access/backhaul region can change
   relatively frequently.  For example new IP subnets are added as the
   subscriber base grows, IP subnets are moved from one Broadband
   product in the NSP's portfolio to another as customers migrate in
   order to optimise the NSP's IP address utilisation, or they are



Niven-Jenkins, et al.   Expires October 29, 2011                [Page 8]


Internet-Draft       Use Cases for ALTO within CDNs           April 2011


   simply moved as part of IP address management, etc.  Additionally, in
   certain cases, CDN surrogates allocated in a regional network may
   become overloaded, leading to the selection of other CDN caches for
   content delivery.  If this occurs, an NSP would typically prefer a
   surrogate to be selected that is deployed in the the next best (cost-
   wise) location.

   In order to meet the NSP's objective of utilising their CDN to
   constrain access/backhaul costs and/or improve User Experience it is
   important that the CDN is able to select the most appropriate
   surrogate for a given set of End User IP subnets.  Although the
   network topology is often reasonably static, in networks where the IP
   subnets allocated to a Broadband region are changing relatively
   frequently, static configuration of End User IP Subnets to CDN
   surrogates is possible but some NSPs may consider the operational
   burden of having to update such static configuration too high and
   would prefer the CDN to be able to dynamically obtain network map and
   cost information.

   The NSP could make use of an ALTO service to expose a cost mapping
   between End User IP subnets and CDN surrogate IP subnets/locations to
   meet its requirements while avoiding static configuration or direct
   integration of the CDN into its IP routing plane and to avoid the CDN
   being required to implement network layer routing computations.

3.2.  CDN delivering Over-The-Top of a NSP's network

   In this use case a CDN is deployed within one or more NSPs' networks
   but is delivering content "Over-The-Top" into another NSP's network
   (which we will call NSP Z) where the CDN is not deployed.

   The CDN is unlikely to have direct visibility of NSP Z's network
   topology and may have a choice of entry points into NSP Z's network
   from which it could serve content to NSP Z's End Users.  For example
   because NSP Z has direct peering links with the CDN in a number of
   locations or NSP Z has transit and/or peering relationships with
   several other NSPs where the CDN is deployed.  NSP Z may wish to
   influence the locations from which the CDN serves content based on
   some factor(s) that it does not wish to expose directly or that might
   change over time.  For example the available transit/peering capacity
   in different locations, the cost of connectivity to different
   locations, etc.

   For example, a CSP is using NSP A's CDN and another NSP (NSP Z) has
   peering with NSP A in LA and NYC.  NSP Z would like to influence
   which peering location NSP A's CDN delivers content out of for NSP
   Z's end users by using their knowledge of the capacity they have
   deployed between those peering locations and groups of end users



Niven-Jenkins, et al.   Expires October 29, 2011                [Page 9]


Internet-Draft       Use Cases for ALTO within CDNs           April 2011


   without directly exposing their internal topology to NSP A.

3.3.  Additional Use Cases

   The following additional use case are relevant to ALTO and will be
   described in more detail in a future version of this document:

   o  Inter-provider CDN.
   o  Use of ALTO to aid a CDN select from multiple Origins.


4.  IANA Considerations

   This document makes no specific request of IANA.

   Note to RFC Editor: this section may be removed on publication as an
   RFC.


5.  Security Considerations

   TBD.


6.  Acknowledgements

   The authors would like to thank Vijay Gurbani for his review comments
   and contributions to the text.


7.  Normative References

   [I-D.jenkins-cdni-problem-statement]
              Niven-Jenkins, B., Faucheur, F., and N. Bitar, "Content
              Distribution Network Interconnection (CDNI) Problem
              Statement", draft-jenkins-cdni-problem-statement-02 (work
              in progress), March 2011.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.











Niven-Jenkins, et al.   Expires October 29, 2011               [Page 10]


Internet-Draft       Use Cases for ALTO within CDNs           April 2011


Authors' Addresses

   Ben Niven-Jenkins
   Velocix (Alcatel-Lucent)
   326 Cambridge Science Park
   Milton Road, Cambridge  CB4 0WG
   UK

   Email: ben@velocix.com


   Grant Watson
   BT


   Email: grant.watson@bt.com


   Nabil Bitar
   Verizon
   40 Sylvan Road
   Waltham, MA  02145
   USA

   Email: nabil.bitar@verizon.com


























Niven-Jenkins, et al.   Expires October 29, 2011               [Page 11]