Content Delivery Networks                                     J. Seedorf
Interconnection                                                      NEC
Internet-Draft                                          October 19, 2011
Intended status: Informational
Expires: April 21, 2012


                     ALTO for CDNi Request Routing
                     draft-seedorf-alto-for-cdni-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 a) if, b) how, and c) 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.  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 April 21, 2012.

Copyright Notice




Seedorf                  Expires April 21, 2012                 [Page 1]


Internet-Draft        ALTO for CDNi request Routing         October 2011


   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.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  CDNi Request Routing . . . . . . . . . . . . . . . . . . . . .  4
   3.  Using ALTO within CDNi Request Routing . . . . . . . . . . . .  5
     3.1.  ALTO to simplify DNS-based Request Routing Redirection . .  5
     3.2.  ALTO to simplify http-Redirection for Request Routing  . .  7
     3.3.  ALTO to support Selection of Downstream CDN  . . . . . . .  9
   4.  Security Considerations  . . . . . . . . . . . . . . . . . . . 10
   5.  Summary and Outlook  . . . . . . . . . . . . . . . . . . . . . 11
   6.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
   7.  Informative References . . . . . . . . . . . . . . . . . . . . 13
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 14
























Seedorf                  Expires April 21, 2012                 [Page 2]


Internet-Draft        ALTO for CDNi request Routing         October 2011


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 a) if,
   b) how, and c) under what conditions ALTO can be useful to optimize
   CDNi request routing.

   Throughout this document, we use the terminology for CDNi defined in
   [refs.cdniproblemstatement].













Seedorf                  Expires April 21, 2012                 [Page 3]


Internet-Draft        ALTO for CDNi request Routing         October 2011


2.  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


































Seedorf                  Expires April 21, 2012                 [Page 4]


Internet-Draft        ALTO for CDNi request Routing         October 2011


3.  Using ALTO within CDNi Request Routing

   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
   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).

3.1.  ALTO to simplify DNS-based Request Routing Redirection

   If CDNi request routing is based on DNS, ALTO can potentially help to
   avoid one or more DNS resolution steps.  For instance, Figure 1 shows
   a modified version of the high-level message sequence chart from
   Figure 5 of [refs.cdniframework] (note that this figure is similar to
   the high-level message sequence chart shown in Figure 3 of
   [refs.cdnistrawman]).  In the original figure (i.e.  Figure 5 in
   [refs.cdniframework]), the DNS server hosted by the upstream CDN
   (assumed to be the authoritative DNS server for the requested
   content), returns a DNS CNAME and NS record which essentially directs
   the end user to the request router of the downstream CDN.  However,
   this redirection involves another DNS resolution for the request



Seedorf                  Expires April 21, 2012                 [Page 5]


Internet-Draft        ALTO for CDNi request Routing         October 2011


   router of the downstream CDN to be performed by the end user.

   In the example using ALTO provided in Figure 1 of this document, the
   downstream CDN provides the upstream CDN an ALTO network (and
   corresponding cost) map by means of the ALTO protocol
   [refs.altoprotocol] (0).  This ALTO map provides sufficient
   information for the upstream CDN to directly return a suitable IP-
   address for the CDN entry point in the downstream CDN (2).

   In principle, using ALTO this way the downstream CDN provider would
   provide the decision on which delivery node is best by means of an
   ALTO network map to the upstream CDN provider.  This enables the
   upstream CDN provider to directly return a suitable delivery node in
   the downstream CDN to the end user as a response to the initial DNS
   request received by the upstream CDN provider.

   An imlicit assumption for the example in Figure 1 to work is that the
   CDN entry point for the downstream CDN only depends on the location
   of the end user.  Using the cost map, the upstream CDN can determine
   the "best" entry point in the downstream CDN.  If the "best" entry
   point depends also on the target domain ("cdn.csp.com" in the
   example), it becomes more tricky to make such information available
   to the upstream CDN by means of ALTO network map and cost map.  One
   possible way to still use ALTO in this case would be for the
   downstream CDN to provide a different cost map for each Content
   Service Provider (CSP).

























Seedorf                  Expires April 21, 2012                 [Page 6]


Internet-Draft        ALTO for CDNi request Routing         October 2011


         End-User                 Operator B                Operator A
            |                         |ALTO network/cost map    |
            |                         |------------------------>|(0)
            |                         |                         |
            |DNS cdn.csp.com          |                         |
            |-------------------------------------------------->|(1)
            |                         |                         |
            |                         |                         |
            |IPaddr of B's CDN Entry Point                      |(2)
            |<--------------------------------------------------|
            |HTTP cdn.csp.com         |                         |
            |------------------------>|                         |
            |                         |(3)                      |
            |                         |DNS op-b-acq.op-a.net    |
            |                         |------------------------>|
            |                         |                         |(4)
            |                         |IPaddr of A's Delivery Node
            |                         |<------------------------|
            |                         |HTTP op-b-acq.op-a.net   |
            |                         |------------------------>|
            |                         |                         |(5)
            |                         |Data                     |
            |                         |<------------------------|
            |Data                     |                         |
            |<------------------------|                         |



      Figure 1 - ALTO within DNS-based redirection of request routing

3.2.  ALTO to simplify http-Redirection for Request Routing

   Similar to the example given in the previous subsection, ALTO can
   also help to reduce intermediate http redirection steps.  Figure 2
   shows a modified version of the the high-level message sequence chart
   from Figure 3 of [refs.cdniframework] (note that this figure is
   similar to the high-level message sequence chart shown in Figure 1 of
   [refs.cdnistrawman]).  In this case, the ALTO maps provided in step
   (0) by the downstream CDN potentially enable the upstream CDN to
   directly return - as a response to an http request - the hostname of
   the suitable cache (delivery node) in the downstream CDN by means of
   302-redirection (4).  This use of ALTO would enable to avoid several
   http-302 redirections and DNS resolutions by the end user (compare
   with figure 3 of [refs.cdniproblemstatement], steps (2-4)).

   Depending on how dynamically the actual "best" delivery node changes
   (from the downstream CDN's request routing perspective), it might
   only be meaningful to return to the end user the "best" entry point



Seedorf                  Expires April 21, 2012                 [Page 7]


Internet-Draft        ALTO for CDNi request Routing         October 2011


   or cluster within the downstream CDN.  This would require an
   additional http-redirect by the downstream request router to the
   "best" actual cache.  However, even in such a case ALTO can save one
   http-redirect and one DNS resolution at the end user, consequently
   speeding up the overall process of CDNi request routing.

       End-User                 Operator B                Operator A
            |                         |ALTO network/cost map    |
            |                         |------------------------>|
            |DNS cdn.csp.com          |                         |
            |-------------------------------------------------->|
            |                         |                         |(1)
            |IPaddr of A's Request Router                       |
            |<--------------------------------------------------|
            |HTTP cdn.csp.com         |                         |
            |-------------------------------------------------->|(2)
            |                         |                         |(3)
            |                         |                         |(4)
            |302 node1.peer-a.op-b.net/cdn.csp.com              |
            |<--------------------------------------------------|
            |DNS node1.peer-a.op-b.net|                         |
            |------------------------>|                         |
            |                         |(5)                      |
            |IPaddr of B's Delivery Node                        |
            |<------------------------|                         |
            |                         |                         |
            |HTTP node1.peer-a.op-b.net/cdn.csp.com             |
            |------------------------>|                         |
            |                         |(6)                      |
            |                         |DNS op-b-acq.op-a.net    |
            |                         |------------------------>|
            |                         |                         |(7)
            |                         |IPaddr of A's Request Router
            |                         |<------------------------|
            |                         |HTTP op-b-acq.op-a.net   |
            |                         |------------------------>|
            |                         |                         |(8)
            |                         |302 node2.op-b.acq.op-A.net
            |                         |<------------------------|
            |                         |DNS node2.op-b-acq.op-a.net
            |                         |------------------------>|
            |                         |                         |(9)
            |                         |IPaddr of A's Delivery Node
            |                         |<------------------------|
            |                         |                         |(10)
            |                         |Data                     |
            |                         |<------------------------|
            |Data                     |                         |



Seedorf                  Expires April 21, 2012                 [Page 8]


Internet-Draft        ALTO for CDNi request Routing         October 2011


            |<------------------------|                         |


     Figure 2 - ALTO within http-based redirection of request routing

3.3.  ALTO to support Selection of Downstream CDN

   ALTO could also help for the upstream CDN provider to select a proper
   downstream CDN provider for a given end user request.  For instance,
   a network map provided by each of several candidate downstream CDNs
   could provide information to the upstream CDN provider regarding the
   geopgraphical coverage, the location of "surrogates", or similar.
   Future versions of this document will discuss this use case in more
   detail, and provide concrete examples how ALTO can be used for
   downstream CDN selection by the upstream CDN provider.




































Seedorf                  Expires April 21, 2012                 [Page 9]


Internet-Draft        ALTO for CDNi request Routing         October 2011


4.  Security Considerations

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















































Seedorf                  Expires April 21, 2012                [Page 10]


Internet-Draft        ALTO for CDNi request Routing         October 2011


5.  Summary and Outlook

   This document presented some examples on how ALTO can be used within
   CDNi Request Routing and argued why such use of ALTO is meaningful in
   certain cases.  The intention of this document is to arouse
   discussions in the CDNi WG as well as the ALTO WG in order to find
   consensus on scenarios where ALTO is beneficial to CDNi request
   routing and to form agreement on how ALTO should be used in such
   cases 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 April 21, 2012                [Page 11]


Internet-Draft        ALTO for CDNi request Routing         October 2011


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 April 21, 2012                [Page 12]


Internet-Draft        ALTO for CDNi request Routing         October 2011


7.  Informative References

   [refs.cdniusecases]
              Bertrand, G., Stephan, E., Watson, G., Burbridge, T., and
              P. Eardley, "SPEERMINT Peering Architecture",
              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.

   [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.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 April 21, 2012                [Page 13]


Internet-Draft        ALTO for CDNi request Routing         October 2011


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 April 21, 2012                [Page 14]