draft-ietf-cdni-requirements-17.txt   rfc7337.txt 
Network Working Group K. Leung, Ed. Internet Engineering Task Force (IETF) K. Leung, Ed.
Internet-Draft Cisco Request for Comments: 7337 Cisco
Intended status: Informational Y. Lee, Ed. Category: Informational Y. Lee, Ed.
Expires: August 3, 2014 Comcast ISSN: 2070-1721 Comcast
Jan 30, 2014 August 2014
Content Distribution Network Interconnection (CDNI) Requirements Content Distribution Network Interconnection (CDNI) Requirements
draft-ietf-cdni-requirements-17
Abstract Abstract
Content delivery is frequently provided by specifically architected Content delivery is frequently provided by specifically architected
and provisioned Content Delivery Networks (CDNs). As a result of and provisioned Content Delivery Networks (CDNs). As a result of
significant growth in content delivered over IP networks, existing significant growth in content delivered over IP networks, existing
CDN providers are scaling up their infrastructure. Many Network CDN providers are scaling up their infrastructure. Many Network
Service Providers and Enterprise Service Providers are also deploying Service Providers (NSPs) and Enterprise Service Providers (ESPs) are
their own CDNs. To deliver contents from the Content Service also deploying their own CDNs. To deliver contents from the Content
Provider (CSP) to end users, the contents may traverse across Service Provider (CSP) to end users, the contents may traverse across
multiple CDNs. This creates a need for interconnecting (previously) multiple CDNs. This creates a need for interconnecting (previously)
standalone CDNs so that they can collectively act as a single standalone CDNs so that they can collectively act as a single
delivery platform from the CSP to the end users. delivery platform from the CSP to the end users.
The goal of the present document is to outline the requirements for The goal of the present document is to outline the requirements for
the solution and interfaces to be specified by the CDNI working the solution and interfaces to be specified by the CDNI working
group. group.
Status of this Memo 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 This document is not an Internet Standards Track specification; it is
Task Force (IETF). Note that other groups may also distribute published for informational purposes.
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 This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see Section 2 of RFC 5741.
This Internet-Draft will expire on August 3, 2014. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7337.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction ....................................................2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology ................................................3
2. CDNI Model and CDNI Interfaces . . . . . . . . . . . . . . . . 4 2. CDNI Model and CDNI Interfaces ..................................4
3. Generic CDNI Requirements . . . . . . . . . . . . . . . . . . 7 3. Generic CDNI Requirements .......................................6
4. CDNI Control Interface Requirements . . . . . . . . . . . . . 8 4. CDNI Control Interface Requirements .............................7
5. CDNI Request Routing Redirection Interface Requirements . . . 11 5. CDNI Request Routing Redirection Interface Requirements ........10
6. CDNI Footprint & Capabilities Advertisement Interface 6. CDNI Footprint & Capabilities Advertisement Interface
Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 13 Requirements ...................................................12
7. CDNI Metadata Interface Requirements . . . . . . . . . . . . . 15 7. CDNI Metadata Interface Requirements ...........................14
8. CDNI Logging Interface Requirements . . . . . . . . . . . . . 19 8. CDNI Logging Interface Requirements ............................18
9. CDNI Security Requirements . . . . . . . . . . . . . . . . . . 21 9. CDNI Security Requirements .....................................20
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 10. Security Considerations .......................................21
11. Security Considerations . . . . . . . . . . . . . . . . . . . 22 11. Contributors ..................................................21
12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 22 12. Acknowledgements ..............................................21
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 22 13. References ....................................................22
14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23 13.1. Normative References .....................................22
14.1. Normative References . . . . . . . . . . . . . . . . . . . 23 13.2. Informative References ...................................22
14.2. Informative References . . . . . . . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24
1. Introduction 1. Introduction
The volume of video and multimedia content delivered over the The volume of video and multimedia content delivered over the
Internet is rapidly increasing and expected to continue doing so in Internet is rapidly increasing and expected to continue doing so in
the future. In the face of this growth, Content Delivery Networks the future. In the face of this growth, Content Delivery Networks
(CDNs) provide numerous benefits: reduced delivery cost for cacheable (CDNs) provide numerous benefits: reduced delivery cost for cacheable
content, improved quality of experience for end users, and increased content, improved quality of experience for end users, and increased
robustness of delivery. For these reasons CDNs are frequently used robustness of delivery. For these reasons, CDNs are frequently used
for large-scale content delivery. As a result of the significant for large-scale content delivery. As a result of the significant
growth in content delivered over IP networks, existing CDN providers growth in content delivered over IP networks, existing CDN providers
are scaling up their infrastructure and many Network Service are scaling up their infrastructure and many NSPs and ESPs are
Providers and Enterprise Service Providers are deploying their own deploying their own CDNs. Subject to the policy of the Content
CDNs. Subject to the policy of the Content Service Provider (CSP), Service Provider (CSP), it is generally desirable that a given item
it is generally desirable that a given item of content can be of content can be delivered to an end user regardless of that end
delivered to an end user regardless of that end user's location or user's location or attachment network. This creates a need for
attachment network. This creates a need for interconnecting interconnecting (previously) standalone CDNs so they can interoperate
(previously) standalone CDNs so they can interoperate and and collectively behave as a single delivery infrastructure. The
collectively behave as a single delivery infrastructure. The Content Content Distribution Network Interconnection (CDNI) working group has
Distribution Network Interconnection (CDNI) working group has been been chartered to develop an interoperable and scalable solution for
chartered to develop an interoperable and scalable solution for such such CDN interconnections.
CDN interconnections.
CDNI Problem Statement [RFC6707] outlines the problem area that the The CDNI Problem Statement [RFC6707] outlines the problem area that
CDNI working group is chartered to address. Use Cases for CDNI the CDNI working group is chartered to address. The Use Cases for
[RFC6770] discusses the use cases for CDN Interconnection. Framework CDNI document [RFC6770] discusses the use cases for CDN
for CDN Interconnection [I-D.ietf-cdni-framework] discusses the Interconnection. The Framework for CDN Interconnection [RFC7336]
technology framework for the CDNI solution and interfaces. discusses the technology framework for the CDNI solution and
interfaces.
The goal of the present document is to document the requirements for The goal of the present document is to document the requirements for
the CDNI solution and interfaces. In order to meet the timelines the CDNI solution and interfaces. In order to meet the time lines
defined in the working group charter, the present document defined in the working group charter, the present document
categorizes the CDNI requirements as "High Priority", "Medium categorizes the CDNI requirements as "High Priority", "Medium
Priority", and "Low Priority". Priority", and "Low Priority".
1.1. Terminology 1.1. Terminology
This document uses the terminology defined in [RFC6707]. In This document uses the terminology defined in [RFC6707]. In
addition, the key words "High Priority", "Medium Priority" and "Low addition, the key words "High Priority", "Medium Priority", and "Low
Priority" in this document are to be interpreted in the following Priority" in this document are to be interpreted as follows:
way:
o "High Priority": When a requirement is tagged as "{HIGH}", it is o "High Priority": When a requirement is tagged as "{HIGH}", it is
considered by the working group as an essential function for CDNI considered by the working group as an essential function for CDNI
and necessary to a deployable solution. This requirement has to and necessary to a deployable solution. This requirement has to
be met even if it causes a delay in the delivery by the working be met even if it causes a delay in the delivery by the working
group of a deployable solution. group of a deployable solution.
o "Medium Priority": When a requirement is tagged as "{MED}", it is o "Medium Priority": When a requirement is tagged as "{MED}", it is
considered by the working group as an important function for CDNI. considered by the working group as an important function for CDNI.
This requirement has to be met, unless it is established that This requirement has to be met, unless it is established that
skipping to change at page 4, line 21 skipping to change at page 4, line 8
o "Low Priority": When a requirement is tagged as "{LOW}", it is o "Low Priority": When a requirement is tagged as "{LOW}", it is
considered by the working group as a useful function for CDNI. considered by the working group as a useful function for CDNI.
The working group will attempt to meet this requirement as long as The working group will attempt to meet this requirement as long as
it does not prevent meeting the "High Priority" and "Medium it does not prevent meeting the "High Priority" and "Medium
Priority" requirements and does not cause a delay in the delivery Priority" requirements and does not cause a delay in the delivery
by the working group of a deployable solution. by the working group of a deployable solution.
2. CDNI Model and CDNI Interfaces 2. CDNI Model and CDNI Interfaces
The "CDNI Expanded Model and CDNI Interfaces" figure and brief The "CDNI Expanded Model and CDNI Interfaces" figure and brief
descriptions of the CDNI interfaces in [I-D.ietf-cdni-framework] are descriptions of the CDNI interfaces in [RFC7336] are replicated below
replicated below for convenience. That document contains the for convenience. That document contains the definitive reference
definitive reference model and descriptions for the CDNI interfaces. model and descriptions for the CDNI interfaces.
o CDNI Control interface (CI): Operations to bootstrap and o CDNI Control interface (CI): Operations to bootstrap and
parameterize the other CDNI interfaces, as well as operations to parameterize the other CDNI interfaces, as well as operations to
pre-position, revalidate, and purge both metadata and content. pre-position, revalidate, and purge both metadata and content.
The latter subset of operations is sometimes collectively called The latter subset of operations is sometimes collectively called
the "Trigger interface." the "Trigger interface."
o CDNI Request Routing interface: Operations to determine what CDN o CDNI Request Routing interface: Operations to determine what CDN
(and optionally what surrogate within a CDN) is to serve end- (and optionally what Surrogate within a CDN) is to serve an end
user's requests. This interface is actually a logical bundling of user's requests. This interface is actually a logical bundling of
two separate but related interfaces: two separate but related interfaces:
* CDNI Footprint & Capabilities Advertisement interface (FCI): * CDNI Footprint & Capabilities Advertisement interface (FCI):
Asynchronous operations (as defined in Asynchronous operations (as defined in [RFC7336]) to exchange
[I-D.ietf-cdni-framework]) to exchange routing information routing information (e.g., the network footprint and
(e.g., the network footprint and capabilities served by a given capabilities served by a given CDN) that enables CDN selection
CDN) that enables CDN selection for subsequent user requests; for subsequent user requests; and
and
* CDNI Request Routing Redirection interface (RI): Synchronous * CDNI Request Routing Redirection interface (RI): Synchronous
operations (as defined in [I-D.ietf-cdni-framework]) to select operations (as defined in [RFC7336]) to select a delivery CDN
a delivery CDN (surrogate) for a given user request. (Surrogate) for a given user request.
o CDNI Metadata interface (MI): Operations to communicate metadata o CDNI Metadata interface (MI): Operations to communicate metadata
that governs how the content is delivered by interconnected CDNs. that governs how the content is delivered by interconnected CDNs.
Examples of CDNI metadata include geo-blocking directives, Examples of CDNI Metadata include geo-blocking directives,
availability windows, access control mechanisms, and purge availability windows, access control mechanisms, and purge
directives. It may include a combination of: directives. It may include a combination of:
* Asynchronous operations to exchange metadata that govern * Asynchronous operations to exchange metadata that govern
subsequent user requests for content; and subsequent user requests for content; and
* Synchronous operations that govern behavior for a given user * Synchronous operations that govern behavior for a given user
request for content. request for content.
o CDNI Logging interface (LI): Operations that allow interconnected o CDNI Logging interface (LI): Operations that allow interconnected
skipping to change at page 7, line 30 skipping to change at page 6, line 30
through interconnected CDNs. through interconnected CDNs.
GEN-3 {HIGH} The CDNI solution shall not require a change, or an GEN-3 {HIGH} The CDNI solution shall not require a change, or an
upgrade, to the Content Service Provider delivering content upgrade, to the Content Service Provider delivering content
through a single CDN, to benefit from content delivery through a single CDN, to benefit from content delivery
through interconnected CDNs. through interconnected CDNs.
GEN-4 {HIGH} The CDNI solution shall not depend on intra-CDN GEN-4 {HIGH} The CDNI solution shall not depend on intra-CDN
information to be exposed to other CDNs for effective and information to be exposed to other CDNs for effective and
efficient delivery of the content. Examples of intra-CDN efficient delivery of the content. Examples of intra-CDN
information include surrogate topology, surrogate status, information include Surrogate topology, Surrogate status,
cached content, etc. cached content, etc.
GEN-5 {HIGH} The CDNI solution shall support CDN interconnection GEN-5 {HIGH} The CDNI solution shall support CDN interconnection
when delivery to the User Agent is based on HTTP [RFC2616]. when delivery to the User Agent is based on HTTP [RFC7230].
(Note that while delivery and acquisition "data plane" (Note that while delivery and acquisition "data plane"
protocols are out of the CDNI solution scope, the CDNI protocols are out of the CDNI solution scope, the CDNI
solution "control plane" protocols are expected to solution "control plane" protocols are expected to
participate in enabling, selecting or facilitating operations participate in enabling, selecting or facilitating operations
of such acquisition and delivery protocols. Hence it is of such acquisition and delivery protocols. Hence, it is
useful to state requirements on the CDNI solution in terms of useful to state requirements on the CDNI solution in terms of
specifying which acquisition and delivery protocols are to be specifying which acquisition and delivery protocols are to be
supported). supported).
GEN-6 {HIGH} The CDNI solution shall support acquisition across GEN-6 {HIGH} The CDNI solution shall support acquisition across
CDNs based on HTTP [RFC2616]. (The note above applies to CDNs based on HTTP [RFC7230]. (The note above applies to
this requirement too) this requirement, too.)
GEN-7 {LOW} The CDNI solution may support delivery to the User GEN-7 {LOW} The CDNI solution may support delivery to the User
Agent based on protocols other than HTTP. Agent based on protocols other than HTTP.
GEN-8 {LOW} The CDNI solution may support acquisition across CDNs GEN-8 {LOW} The CDNI solution may support acquisition across CDNs
based on protocols other than HTTP. based on protocols other than HTTP.
GEN-9 {MED} The CDNI solution should support cascaded CDN GEN-9 {MED} The CDNI solution should support cascaded CDN
redirection (CDN1 redirects to CDN2 that redirects to CDN3) redirection (CDN1 redirects to CDN2 that redirects to CDN3)
to an arbitrary number of levels beyond the first level. to an arbitrary number of levels beyond the first level.
GEN-10 {MED} The CDNI solution should support an arbitrary topology GEN-10 {MED} The CDNI solution should support an arbitrary topology
of interconnected CDNs (i.e. the topology of interconnected of interconnected CDNs (i.e., the topology of interconnected
CDNs cannot be restricted to a tree, ring, star, etc.). CDNs cannot be restricted to a tree, ring, star, etc.).
GEN-11 {HIGH} The CDNI solution shall prevent looping of any CDNI GEN-11 {HIGH} The CDNI solution shall prevent looping of any CDNI
information exchange. information exchange.
GEN-12 {HIGH} When making use of third party reference, the CDNI GEN-12 {HIGH} When making use of third-party reference, the CDNI
solution shall consider the potential issues associated with solution shall consider the potential issues associated with
the use of various format of third-party references (e.g. the use of various format of third-party references (e.g.,
NAT or IPv4/IPv6 translation potentially breaking third-party NAT or IPv4/IPv6 translation potentially breaking third-party
references based on an IP addresses such as URI containing references based on an IP addresses such as URI containing
IPv4 or IPv6 address literals, split DNS situations IPv4 or IPv6 address literals, split DNS situations
potentially breaking third-party references based on DNS potentially breaking third-party references based on DNS
fully qualified domain names) and wherever possible avoid, FQDNs) and wherever possible avoid, minimize or mitigate the
minimize or mitigate the associated risks based on the associated risks based on the specifics of the environments
specifics of the environments where the reference is used where the reference is used (e.g., likely or unlikely
(e.g. likely or unlikely presence of NAT in the path). In presence of NAT in the path). In particular, this applies to
particular, this applies to situations where the CDNI situations where the CDNI solution needs to construct and
solution needs to construct and convey uniform resource convey uniform resource identifiers for directing/redirecting
identifiers for directing/redirecting a content request, as a content request, as well as to situations where the CDNI
well as to situations where the CDNI solution needs to pass solution needs to pass on a third-party reference (e.g.,
on a third party reference (e.g. identify the IP address of a identify the IP address of a User Agent) in order to allow
User Agent) in order to allow another entity to make a more another entity to make a more informed decision (e.g., make a
informed decision (e.g. make a more informed request routing more informed request routing decision by attempting to
decision by attempting to derive location information from derive location information from the third-party reference).
the third party reference).
GEN-13 {HIGH} The CDNI solution shall support HTTP Adaptive GEN-13 {HIGH} The CDNI solution shall support HTTP Adaptive
Streaming content. Streaming content.
4. CDNI Control Interface Requirements 4. CDNI Control Interface Requirements
The primary purpose of the CDNI Control interface (CI) is to initiate The primary purpose of the CDNI Control interface (CI) is to initiate
the interconnection across CDNs, bootstrap the other CDNI interfaces the interconnection across CDNs, bootstrap the other CDNI interfaces
and trigger actions into the Downstream CDN by the Upstream CDN (such and trigger actions into the Downstream CDN by the Upstream CDN (such
as delete object from caches or trigger pre-positioned content as delete object from caches or trigger pre-positioned content
acquisition). The working group attempts to align requirements with acquisition). The working group attempts to align requirements with
the appropriate interface; however, solutions to these requirements the appropriate interface; however, solutions to these requirements
may apply to a different interface or another interface in addition may apply to a different interface or another interface in addition
to the interface it is associated with. to the interface with which it is associated.
CI-1 {HIGH} The CDNI Control interface shall allow the Upstream CDN CI-1 {HIGH} The CDNI Control interface shall allow the Upstream CDN
to request that the Downstream CDN, including downstream to request that the Downstream CDN, including cascaded
cascaded CDNs, delete an object or set of objects and/or its Downstream CDNs, delete an object or set of objects and/or its
CDNI metadata from the CDN surrogates and any storage. Only CDNI Metadata from the CDN Surrogates and any storage. Only
the object(s) and CDNI metadata that pertain to the requesting the object(s) and CDNI Metadata that pertain to the requesting
Upstream CDN are allowed to be purged. Upstream CDN are allowed to be purged.
CI-2 {MED} The CDNI Control interface should allow for multiple CI-2 {MED} The CDNI Control interface should allow for multiple
content items identified by a Content Collection ID to be content items identified by a Content Collection ID to be
purged using a single Content Purge action. purged using a single Content Purge action.
CI-3 {MED} The CDNI Control interface should allow the Upstream CDN CI-3 {MED} The CDNI Control interface should allow the Upstream CDN
to request that the Downstream CDN, including downstream to request that the Downstream CDN, including cascaded
cascaded CDNs, mark an object or set of objects and/or its Downstream CDNs, mark an object or set of objects and/or its
CDNI metadata as "stale" and revalidate them before they are CDNI Metadata as "stale" and revalidate them before they are
delivered again. delivered again.
CI-4 {HIGH} The CDNI Control interface shall allow the Downstream CI-4 {HIGH} The CDNI Control interface shall allow the Downstream
CDN to report on the completion of these actions (by itself, CDN to report on the completion of these actions (by itself,
and including downstream cascaded CDNs), in a manner and including cascaded Downstream CDNs), in a manner
appropriate for the action (e.g. synchronously or appropriate for the action (e.g., synchronously or
asynchronously). The confirmation receipt should include a asynchronously). The confirmation receipt should include a
success or failure indication. The failure indication and the success or failure indication. The failure indication and the
reason are included if the Downstream CDN cannot delete the reason are included if the Downstream CDN cannot delete the
content in its storage. content in its storage.
CI-5 {MED} The CDNI Control interface should support initiation and CI-5 {MED} The CDNI Control interface should support initiation and
control by the Upstream CDN of pre-positioned CDNI metadata control by the Upstream CDN of pre-positioned CDNI Metadata
acquisition by the Downstream CDN. acquisition by the Downstream CDN.
CI-6 {MED} The CDNI Control interface should support initiation and CI-6 {MED} The CDNI Control interface should support initiation and
control by the Upstream CDN of pre-positioned content control by the Upstream CDN of pre-positioned content
acquisition by the Downstream CDN. acquisition by the Downstream CDN.
CI-7 {LOW} The CDNI Control interface may allow a CDN to establish, CI-7 {LOW} The CDNI Control interface may allow a CDN to establish,
update and terminate a CDN interconnection with another CDN update and terminate a CDN interconnection with another CDN
whereby one CDN can act as a Downstream CDN for the other CDN whereby one CDN can act as a Downstream CDN for the other CDN
(that acts as an Upstream CDN). (that acts as an Upstream CDN).
CI-8 {LOW} The CDNI Control interface may allow control of the CDNI CI-8 {LOW} The CDNI Control interface may allow control of the CDNI
interfaces between any two CDNs independently for each interfaces between any two CDNs independently for each
direction (e.g. For the direction where CDN1 is the Upstream direction (e.g., for the direction where CDN1 is the Upstream
CDN and CDN2 is the Downstream CDN, and for the direction CDN and CDN2 is the Downstream CDN, and for the direction
where CDN2 is the Upstream CDN and CDN1 is the Downstream where CDN2 is the Upstream CDN and CDN1 is the Downstream
CDN). CDN).
CI-9 {LOW} The CDNI Control interface may allow bootstrapping of CI-9 {LOW} The CDNI Control interface may allow bootstrapping of
the CDNI Request Routing interface. For example, this can the CDNI Request Routing interface. For example, this can
potentially include: potentially include:
* negotiation of the request routing method (e.g. DNS vs * negotiation of the request routing method (e.g., DNS versus
HTTP, if more than one method is specified) HTTP, if more than one method is specified).
* discovery of the CDNI Request Routing interface endpoints * discovery of the CDNI Request Routing interface endpoints.
* information necessary to establish secure communication * information necessary to establish secure communication
between the CDNI Request Routing interface endpoints. between the CDNI Request Routing interface endpoints.
CI-10 {LOW} The CDNI Control interface may allow bootstrapping of CI-10 {LOW} The CDNI Control interface may allow bootstrapping of
the CDNI Metadata interface. This information could, for the CDNI Metadata interface. This information could, for
example, include: example, include:
* discovery of the CDNI Metadata interface endpoints * discovery of the CDNI Metadata interface endpoints
* information necessary to establish secure communication * information necessary to establish secure communication
between the CDNI Metadata interface endpoints. between the CDNI Metadata interface endpoints.
CI-11 {LOW} The CDNI Control interface may allow bootstrapping of CI-11 {LOW} The CDNI Control interface may allow bootstrapping of
the Content Acquisition interface. This could, for example, the Content Acquisition interface. This could, for example,
include exchange and negotiation of the Content Acquisition include exchange and negotiation of the Content Acquisition
methods to be used across the CDNs (e.g. HTTP, HTTPS, FTP, methods to be used across the CDNs (e.g., HTTP, HTTPS, FTP,
ATIS C2[ATIS-0800042]). ATIS C2 [ATIS-0800042]).
CI-12 {LOW} The CDNI Control interface may allow bootstrapping of CI-12 {LOW} The CDNI Control interface may allow bootstrapping of
the CDNI Logging interface. This information could, for the CDNI Logging interface. This information could, for
example, include: example, include:
* discovery of the CDNI Logging interface endpoints * discovery of the CDNI Logging interface endpoints.
* information necessary to establish secure communication * information necessary to establish secure communication
between the CDNI Logging interface endpoints between the CDNI Logging interface endpoints.
* negotiation/definition of the log file format and set of * negotiation/definition of the log file format and set of
fields to be exported through the logging protocol, with fields to be exported through the logging protocol, with
some granularity (e.g. On a per content type basis). some granularity (e.g., on a per-content-type basis).
* negotiation/definition of parameters related to * negotiation/definition of parameters related to transaction
transaction logs export (e.g., export protocol, file logs export (e.g., export protocol, file compression,
compression, export frequency, directory). export frequency, directory).
5. CDNI Request Routing Redirection Interface Requirements 5. CDNI Request Routing Redirection Interface Requirements
The main function of the CDNI Request Routing Redirection interface The main function of the CDNI Request Routing Redirection interface
(RI) is to allow the Request-Routing systems in interconnected CDNs (RI) is to allow the Request Routing systems in interconnected CDNs
to communicate to facilitate redirection of the request across CDNs. to communicate to facilitate redirection of the request across CDNs.
RI-1 {HIGH} The CDNI Request Routing Redirection interface shall RI-1 {HIGH} The CDNI Request Routing Redirection interface shall
support efficient request routing for small objects. This support efficient request routing for small objects. This
may, for example, call for a mode of operation (e.g. DNS- may, for example, call for a mode of operation (e.g., DNS-
based request routing) where freshness and accuracy of CDN/ based request routing) where freshness and accuracy of CDN/
Surrogate selection can be traded-off against reduced request Surrogate selection can be traded off against reduced request
routing load (e.g. Via lighter-weight queries and caching of routing load (e.g., Via lighter-weight queries and caching of
request routing decisions). request routing decisions).
RI-2 {HIGH} The CDNI Request Routing Redirection interface shall RI-2 {HIGH} The CDNI Request Routing Redirection interface shall
support efficient request routing for large objects. This support efficient request routing for large objects. This
may, for example, call for a mode of operation (e.g. HTTP- may, for example, call for a mode of operation (e.g., HTTP-
based request routing) where freshness and accuracy of CDN/ based request routing) where freshness and accuracy of CDN/
Surrogate selection justifies a per-request decision and a Surrogate selection justifies a per-request decision and a
per-request CDNI Request-Routing protocol call. per-request CDNI Request-Routing protocol call.
RI-3 {HIGH} The CDNI Request Routing Redirection interface shall RI-3 {HIGH} The CDNI Request Routing Redirection interface shall
support recursive CDNI request routing. support recursive CDNI request routing.
RI-4 {HIGH} The CDNI Request Routing Redirection interface shall RI-4 {HIGH} The CDNI Request Routing Redirection interface shall
support iterative CDNI request routing. support iterative CDNI request routing.
RI-5 {MED} In case of detection of a request redirection loop, the RI-5 {MED} In case of detection of a request redirection loop, the
CDNI Request Routing Redirection Interface's loop prevention CDNI Request Routing Redirection interface's loop prevention
mechanism should allow redirection of the request on an mechanism should allow redirection of the request on an
alternate CDN path (as opposed to the request not being alternate CDN path (as opposed to the request not being
redirected at all). redirected at all).
RI-6 {MED} The CDNI Request Routing Redirection interface should RI-6 {MED} The CDNI Request Routing Redirection interface should
support a mechanism allowing enforcement of a limit on the support a mechanism allowing enforcement of a limit on the
number of successive CDN redirections for a given request. number of successive CDN redirections for a given request.
RI-7 {LOW} The CDNI Request Routing Redirection interface may RI-7 {LOW} The CDNI Request Routing Redirection interface may
support a mechanism allowing an Upstream CDN to avoid support a mechanism allowing an Upstream CDN to avoid
redirecting a request to a Downstream CDN if that is likely to redirecting a request to a Downstream CDN if that is likely to
result in the total redirection time exceeding some limit. result in the total redirection time exceeding some limit.
RI-8 {HIGH} The CDNI Request Routing Redirection interface shall RI-8 {HIGH} The CDNI Request Routing Redirection interface shall
allow the Upstream CDN to include, in the query to the allow the Upstream CDN to include, in the query to the
Downstream CDN, the necessary information to allow the Downstream CDN, the necessary information to allow the
Downstream CDN to process the redirection query. This could, Downstream CDN to process the redirection query. This could,
for example, include: for example, include:
* information from which the geographic region pertaining to * information from which the geographic region pertaining to
the IP address of the User Agent that originated the the IP address of the User Agent that originated the
request can be inferred (e.g. User Agent fully qualified request can be inferred (e.g., User Agent FQDN in case of
domain name in case of HTTP-based Request Routing, DNS HTTP-based request routing, DNS Proxy FQDN in case of DNS-
Proxy fully qualified domain name in case of DNS-based based request routing).
Request Routing)
* requested resource information (e.g. Resource URI in case * requested resource information (e.g., Resource URI in case
of HTTP-based Request Routing, Resource hostname in case of HTTP-based request routing, Resource hostname in case of
of DNS-based Request Routing) DNS-based request routing).
* additional available request information (e.g. request * additional available request information (e.g., request
headers in case of HTTP-based Request Routing). headers in case of HTTP-based request routing).
RI-9 {LOW} The CDNI Request Routing Redirection interface may also RI-9 {LOW} The CDNI Request Routing Redirection interface may also
allow the Upstream CDN to convey information pointing to CDNI allow the Upstream CDN to convey information pointing to CDNI
metadata applicable (individually or through inheritance) to Metadata applicable (individually or through inheritance) to
the requested content. For illustration, the CDNI metadata the requested content. For illustration, the CDNI Metadata
pointed to could potentially include metadata that is pointed to could potentially include metadata that is
applicable to any content, metadata that is applicable to a applicable to any content, metadata that is applicable to a
content collection (to which the requested content belongs) content collection (to which the requested content belongs)
and/or metadata that is applicable individually to the and/or metadata that is applicable individually to the
requested content. requested content.
RI-10 {HIGH} The CDNI Request Routing Redirection interface shall RI-10 {HIGH} The CDNI Request Routing Redirection interface shall
allow the Downstream CDN to include the following information allow the Downstream CDN to include the following information
in the response to the Upstream CDN: in the response to the Upstream CDN:
* status code, in particular indicating acceptance or * status code, in particular indicating acceptance or
rejection of request (e.g. Because the Downstream CDN is rejection of request (e.g., because the Downstream CDN is
unwilling or unable to serve the request). In case of unwilling or unable to serve the request). In case of
rejection, an error code is also to be provided, which rejection, an error code is also to be provided, which
allows the Upstream CDN to react appropriately (e.g. allows the Upstream CDN to react appropriately (e.g.,
Select another Downstream CDN, or serve the request select another Downstream CDN, or serve the request
itself) itself).
* redirection information (e.g. Resource URI in case of * redirection information (e.g., Resource URI in case of
HTTP-based Request Routing, equivalent of a DNS record in HTTP-based request routing, equivalent of a DNS record in
case of DNS-based Request Routing). case of DNS-based request routing).
RI-11 {HIGH} The CDNI Request Routing Redirection interface shall RI-11 {HIGH} The CDNI Request Routing Redirection interface shall
allow for per-chunk request routing of HTTP Adaptive Streaming allow for per-chunk request routing of HTTP Adaptive Streaming
content. content.
RI-12 {LOW} The CDNI Request Routing Redirection interface may allow RI-12 {LOW} The CDNI Request Routing Redirection interface may allow
the Upstream CDN to use the information conveyed by the the Upstream CDN to use the information conveyed by the
Downstream CDN during the Recursive Request Routing process to Downstream CDN during the Recursive Request Routing process to
rewrite an HTTP Adaptive Streaming manifest file. rewrite an HTTP Adaptive Streaming manifest file.
RI-13 {LOW} The CDNI Request-Routing interface may allow the RI-13 {LOW} The CDNI Request Routing interface may allow the
Upstream CDN to re-compute the message digest or digital Upstream CDN to re-compute the message digest or digital
signature over the invariant portion of the chunk URIs signature over the invariant portion of the chunk URIs
embedded in the HTTP Adaptive Streaming manifest file. embedded in the HTTP Adaptive Streaming manifest file.
RI-14 {MED} The CDNI Request Routing Redirection interface should RI-14 {MED} The CDNI Request Routing Redirection interface should
correlate the HTTP Adaptive Stream manifest file to the correlate the HTTP Adaptive Stream manifest file to the
related chunks referenced in the manifest file. related chunks referenced in the manifest file.
RI-15 {MED} The CDNI Request Routing Redirection interface should RI-15 {MED} The CDNI Request Routing Redirection interface should
allow for an efficient method of transferring request routing allow for an efficient method of transferring request routing
skipping to change at page 13, line 39 skipping to change at page 12, line 44
ability and/or willingness to handle requests from the ability and/or willingness to handle requests from the
Upstream CDN. For example, this could potentially include a Upstream CDN. For example, this could potentially include a
binary signal ("Downstream CDN ready/not-ready to take binary signal ("Downstream CDN ready/not-ready to take
additional requests from Upstream CDN") to be used in case of additional requests from Upstream CDN") to be used in case of
excessive load or failure condition in the Downstream CDN. excessive load or failure condition in the Downstream CDN.
FCI-2 {MED} The CDNI Footprint & Capabilities Advertisement FCI-2 {MED} The CDNI Footprint & Capabilities Advertisement
interface should allow the Downstream CDN to communicate to interface should allow the Downstream CDN to communicate to
the Upstream CDN aggregate information to facilitate CDN the Upstream CDN aggregate information to facilitate CDN
selection during request routing, such as Downstream CDN selection during request routing, such as Downstream CDN
capabilities, resources and affinities (i.e. Preferences or capabilities, resources and affinities (i.e., preferences or
cost). This information could, for example, include: cost). This information could, for example, include:
* supported content types and delivery protocols * supported content types and delivery protocols
* footprint (e.g. layer-3 coverage) * footprint (e.g., Layer 3 coverage).
* a set of metrics/attributes (e.g. Streaming bandwidth, * a set of metrics/attributes (e.g., streaming bandwidth,
storage resources, distribution and delivery priority) storage resources, distribution and delivery priority).
* a set of affinities (e.g. Preferences, indication of * a set of affinities (e.g., preferences, indication of
distribution/delivery fees) distribution/delivery fees).
* information to facilitate request redirection (e.g. * information to facilitate request redirection (e.g.,
Reachability information of Downstream CDN Request Routing Reachability information of Downstream CDN Request Routing
system). system).
[Note: Some of this information - such as supported content [Note: Some of this information -- such as supported content
types and delivery protocols- may also potentially be taken types and delivery protocols -- may also potentially be taken
into account by the distribution system in the Upstream CDN into account by the Distribution system in the Upstream CDN
for pre-positioning of content and/or metadata in the for pre-positioning of content and/or metadata in the
Downstream CDN in case of pre-positioned content acquisition Downstream CDN in case of pre-positioned content acquisition
and/or pre-positioned CDNI metadata acquisition.] and/or pre-positioned CDNI Metadata acquisition.]
FCI-3 {MED} In the case of cascaded redirection, the CDNI Footprint FCI-3 {MED} In the case of cascaded redirection, the CDNI Footprint
& Capabilities Advertisement interface should allow the & Capabilities Advertisement interface should allow the
Downstream CDN to also include in the information communicated Downstream CDN to also include in the information communicated
to the Upstream CDN, information on the capabilities, to the Upstream CDN, information on the capabilities,
resources and affinities of CDNs to which the Downstream CDN resources and affinities of CDNs to which the Downstream CDN
may (in turn) redirect requests received by the Upstream CDN. may (in turn) redirect requests received by the Upstream CDN.
In that case, the CDNI Request-Routing interface shall prevent In that case, the CDNI Request Routing interface shall prevent
looping of such information exchange. looping of such information exchange.
FCI-4 {LOW} The CDNI Footprint & Capabilities Advertisement FCI-4 {LOW} The CDNI Footprint & Capabilities Advertisement
interface may allow the Downstream CDN to communicate to the interface may allow the Downstream CDN to communicate to the
Upstream CDN aggregate information on CDNI administrative Upstream CDN aggregate information on CDNI administrative
limits and policy. This information can be taken into account limits and policy. This information can be taken into account
by the Upstream CDN Request Routing system in its CDN by the Upstream CDN Request Routing system in its CDN
Selection decisions. This information could, for example, Selection decisions. This information could, for example,
include: include:
* maximum number of requests redirected by the Upstream CDN * maximum number of requests redirected by the Upstream CDN
to be served simultaneously by the Downstream CDN to be served simultaneously by the Downstream CDN.
* maximum aggregate volume of content (e.g. in Terabytes) to * maximum aggregate volume of content (e.g., in Terabytes) to
be delivered by the Downstream CDN over a time period. be delivered by the Downstream CDN over a time period.
FCI-5 {MED} The CDNI Footprint & Capabilities Advertisement FCI-5 {MED} The CDNI Footprint & Capabilities Advertisement
interface should support advertisement of the following types interface should support advertisement of the following types
of capabilities: of capabilities:
* delivery protocol (e.g., HTTP vs. RTMP) * delivery protocol (e.g., HTTP versus Real Time Messaging
Protocol [RTMP]).
* acquisition protocol (for acquiring content from an * acquisition protocol (for acquiring content from an
Upstream CDN) Upstream CDN).
* redirection mode (e.g., DNS Redirection vs. HTTP * redirection mode (e.g., DNS Redirection versus HTTP
Redirection) Redirection).
* capabilities related to CDNI Logging (e.g., supported * capabilities related to CDNI Logging (e.g., supported
logging mechanisms) logging mechanisms).
* capabilities related to CDNI Metadata (e.g., authorization * capabilities related to CDNI Metadata (e.g., authorization
algorithms or support for proprietary vendor metadata) algorithms or support for proprietary vendor metadata).
FCI-6 {LOW} The CDNI Control interface may allow exchange and FCI-6 {LOW} The CDNI Control interface may allow exchange and
negotiation of delivery authorization mechanisms to be negotiation of delivery authorization mechanisms to be
supported across the CDNs (e.g. URI signature based supported across the CDNs (e.g., URI-signature-based
validation). validation).
FCI-7 {HIGH} The CDNI Footprint & Capabilities Advertisement FCI-7 {HIGH} The CDNI Footprint & Capabilities Advertisement
interface shall support extensible fields used to convey the interface shall support extensible fields used to convey the
CDN capabilities and methods to indicate the footprint in the CDN capabilities and methods to indicate the footprint in the
advertisement from the Downstream CDN to the Upstream CDN. advertisement from the Downstream CDN to the Upstream CDN.
7. CDNI Metadata Interface Requirements 7. CDNI Metadata Interface Requirements
The primary function of the CDNI Metadata interface (MI) is to allow The primary function of the CDNI Metadata interface (MI) is to allow
the Distribution system in interconnected CDNs to communicate to the Distribution system in interconnected CDNs to communicate to
ensure Content Distribution Metadata with inter-CDN scope can be ensure Content Distribution Metadata with inter-CDN scope can be
exchanged across CDNs. We observe that while the CDNI Metadata exchanged across CDNs. We observe that while the CDNI Metadata
Distribution protocol is currently discussed as a single "protocol", Distribution protocol is currently discussed as a single "protocol",
further analysis will determine whether the corresponding further analysis will determine whether the corresponding
requirements are to be realized over a single interface and protocol, requirements are to be realized over a single interface and protocol,
or over multiple interfaces and protocols. For example, a subset of or over multiple interfaces and protocols. For example, a subset of
the CDNI metadata might be conveyed in-band along with the actual the CDNI Metadata might be conveyed in-band along with the actual
content acquisition across CDNs (e.g. content MD5 in HTTP header) content acquisition across CDNs (e.g. content MD5 in HTTP header)
while another subset might require an out-of-band interface & while another subset might require an out-of-band interface and
protocol (e.g. geo-blocking information). protocol (e.g., geo-blocking information).
MI-1 {HIGH} The CDNI Metadata interface shall allow the Upstream MI-1 {HIGH} The CDNI Metadata interface shall allow the Upstream
CDN to provide the Downstream CDN with content distribution CDN to provide the Downstream CDN with content distribution
metadata of inter-CDN scope. metadata of inter-CDN scope.
MI-2 {HIGH} The CDNI Metadata interface shall support exchange of MI-2 {HIGH} The CDNI Metadata interface shall support exchange of
CDNI metadata for both the dynamic content acquisition model CDNI Metadata for both the dynamic content acquisition model
and the pre-positioning content acquisition model. and the pre-positioning content acquisition model.
MI-3 {HIGH} The CDNI Metadata interface shall support a mode where MI-3 {HIGH} The CDNI Metadata interface shall support a mode where
no, or a subset of, the Metadata is initially communicated to no, or a subset of, the CDNI Metadata is initially
the Downstream CDN along with information about how/where to communicated to the Downstream CDN along with information
acquire the rest of the CDNI Metadata (i.e. Dynamic CDNI about how/where to acquire the rest of the CDNI Metadata
metadata acquisition). (i.e., Dynamic CDNI Metadata acquisition).
MI-4 {MED} The CDNI Metadata interface should support a mode where MI-4 {MED} The CDNI Metadata interface should support a mode where
all the relevant Metadata is initially communicated to the all the relevant CDNI Metadata is initially communicated to
Downstream CDN (i.e. Pre-positioned CDNI metadata the Downstream CDN (i.e., pre-positioned CDNI Metadata
acquisition). acquisition).
MI-5 {HIGH} Whether in the pre-positioned content acquisition model MI-5 {HIGH} Whether in the pre-positioned content acquisition model
or in the dynamic content acquisition model, the CDNI Metadata or in the dynamic content acquisition model, the CDNI Metadata
interface shall provide the necessary information to allow the interface shall provide the necessary information to allow the
Downstream CDN to acquire the content from an upstream source Downstream CDN to acquire the content from an upstream source
(e.g. Acquisition protocol and Uniform Resource Identifier in (e.g., acquisition protocol and Uniform Resource Identifier in
Upstream CDN- or rules to construct this URI). Upstream CDN -- or rules to construct this URI).
MI-6 {HIGH} The CDNI metadata shall allow signaling of one or more MI-6 {HIGH} The CDNI Metadata shall allow signaling of one or more
upstream sources, where each upstream source can be in the upstream sources, where each upstream source can be in the
Upstream CDN, in another CDN, the CSP origin server or any Upstream CDN, in another CDN, the CSP origin server or any
arbitrary source designated by the Upstream CDN. Note that arbitrary source designated by the Upstream CDN. Note that
some upstream sources (e.g. the content origin server) may or some upstream sources (e.g., the content origin server) may or
may not be willing to serve the content to the Downstream CDN, may not be willing to serve the content to the Downstream CDN;
if this policy is known to the Upstream CDN then it may omit if this policy is known to the Upstream CDN, then it may omit
those sources when exchanging CDNI metadata. those sources when exchanging CDNI Metadata.
MI-7 {HIGH} The CDNI Metadata interface (possibly in conjunction MI-7 {HIGH} The CDNI Metadata interface (possibly in conjunction
with the CDNI Control interface) shall allow the Upstream CDN with the CDNI Control interface) shall allow the Upstream CDN
to request addition and modification of CDNI Metadata into the to request addition and modification of CDNI Metadata into the
Downstream CDN. Downstream CDN.
MI-8 {HIGH} The CDNI Metadata interface (possibly in conjunction MI-8 {HIGH} The CDNI Metadata interface (possibly in conjunction
with the CDNI Control interface) shall allow removal of with the CDNI Control interface) shall allow removal of
obsolete CDNI Metadata from the Downstream CDN (this could, obsolete CDNI Metadata from the Downstream CDN (this could,
for example, be achieved via an explicit removal request from for example, be achieved via an explicit removal request from
the Upstream CDN or via expiration of a Time-To-Live the Upstream CDN or via expiration of a Time-To-Live (TTL)
associated to the Metadata). associated with the CDNI Metadata).
MI-9 {HIGH} The CDNI Metadata interface shall allow association of MI-9 {HIGH} The CDNI Metadata interface shall allow association of
CDNI Metadata at the granularity of individual object. This CDNI Metadata at the granularity of individual object. This
is necessary to achieve fine-grain Metadata distribution at is necessary to achieve fine-grain CDNI Metadata distribution
the level of an individual object when necessary. at the level of an individual object when necessary.
MI-10 {HIGH} The CDNI Metadata interface shall allow association of MI-10 {HIGH} The CDNI Metadata interface shall allow association of
CDNI Metadata at the granularity of an object set. This is CDNI Metadata at the granularity of an object set. This is
necessary to achieve scalable distribution of metadata when a necessary to achieve scalable distribution of metadata when a
large number of objects share the same distribution policy. large number of objects share the same distribution policy.
MI-11 {HIGH} The CDNI Metadata interface shall support multiple MI-11 {HIGH} The CDNI Metadata interface shall support multiple
levels of inheritance with precedence to more specific levels of inheritance with precedence to more specific
metadata. For example, the CDNI Metadata Distribution metadata. For example, the CDNI Metadata Distribution
protocol may support metadata that is applicable to any protocol may support metadata that is applicable to any
skipping to change at page 17, line 13 skipping to change at page 16, line 16
that overrides metadata for any content. that overrides metadata for any content.
MI-12 {HIGH} The CDNI Metadata interface shall ensure that MI-12 {HIGH} The CDNI Metadata interface shall ensure that
conflicting metadata with overlapping scope are prevented or conflicting metadata with overlapping scope are prevented or
deterministically handled. deterministically handled.
MI-13 {HIGH} The CDNI Metadata interface shall allow signaling of MI-13 {HIGH} The CDNI Metadata interface shall allow signaling of
content distribution control policies. For example, this content distribution control policies. For example, this
could potentially include: could potentially include:
* geo-blocking information (i.e. Information defining * geo-blocking information (i.e., information defining
geographical areas where the content is to be made geographical areas where the content is to be made
available or blocked) available or blocked).
* availability windows (i.e. Information defining time * availability windows (i.e., information defining time
windows during which the content is to be made available windows during which the content is to be made available or
or blocked; expiration time may also be included to remove blocked; expiration time may also be included to remove
content) content).
* delegation whitelist/blacklist (i.e. Information defining * delegation whitelist/blacklist (i.e., information defining
which Downstream CDNs the content may/may not be delivered through which Downstream CDNs the content may/may not be
through) delivered)
MI-14 {HIGH} The CDNI Metadata interface shall be able to exchange a MI-14 {HIGH} The CDNI Metadata interface shall be able to exchange a
set of metadata elements with specified semantics (e.g. start set of metadata elements with specified semantics (e.g., start
of time window, end of time window). of time window, end of time window).
MI-15 {HIGH} The CDNI Metadata interface shall allow exchange of MI-15 {HIGH} The CDNI Metadata interface shall allow exchange of
opaque metadata element, whose semantic is not defined in CDNI opaque metadata element, whose semantic is not defined in CDNI
but established by private CDN agreement. but established by private CDN agreement.
MI-16 {HIGH} The CDNI Metadata interface shall allow signaling of MI-16 {HIGH} The CDNI Metadata interface shall allow signaling of
authorization checks and validation that are to be performed authorization checks and validation that are to be performed
by the surrogate before delivery. For example, this could by the Surrogate before delivery. For example, this could
potentially include the need to validate information (e.g. potentially include the need to validate information (e.g.,
Expiry time, Client IP address) required for access Expiry time, Client IP address) required for access
authorization. authorization.
MI-17 {MED} The CDNI Metadata interface should allow signaling of MI-17 {MED} The CDNI Metadata interface should allow signaling of
CDNI-relevant surrogate cache behavior parameters. For CDNI-relevant Surrogate cache behavior parameters. For
example, this could potentially include: example, this could potentially include:
* control of whether the query string of HTTP URI is to be * control of whether the query string of HTTP URI is to be
ignored by surrogate cache ignored by Surrogate cache.
* enforcement of caching directives by Downstream CDN that * enforcement of caching directives by Downstream CDN that
are different than the ones signalled in the HTTP headers are different than the ones signaled in the HTTP headers
(e.g. "Expires" field) (e.g., "Expires" field).
* rate-pacing by Downstream CDN for content delivery (e.g. * rate-pacing by Downstream CDN for content delivery (e.g.,
Progressive Download) Progressive Download).
MI-18 {HIGH} The CDNI Metadata interface shall provide indication of MI-18 {HIGH} The CDNI Metadata interface shall provide indication of
related content (e.g. HTTP Adaptive Bit Rate chunks) by the related content (e.g., HTTP Adaptive Bit Rate chunks) by the
Content Collection ID (CCID) metadata. This could be used by Content Collection ID (CCID) metadata. This could be used by
the Downstream CDN for operations on the group of content. the Downstream CDN for operations on the group of content.
For example, this could potentially include: For example, this could potentially include:
* content acquisition for the entire set of files when one * content acquisition for the entire set of files when one
piece of content is requested piece of content is requested.
* local file management and storage bundles all the files * local file management and storage bundles all the files for
for the content the content.
* purging the entire set of files associated with the * purging the entire set of files associated with the
content content.
* logging of the delivery of the content for the session * logging of the delivery of the content for the session when
when at least one file in the set was delivered at least one file in the set was delivered.
MI-19 {MED} The CDNI Metadata interface should support an optional MI-19 {MED} The CDNI Metadata interface should support an optional
mechanism allowing the Upstream CDN to indicate to the mechanism allowing the Upstream CDN to indicate to the
Downstream CDN which CDNI Log fields are to be provided for Downstream CDN which CDNI Log fields are to be provided for
all content items, for specific sets of content items, or for all content items, for specific sets of content items, or for
specific content items delivered using HTTP. A CDNI specific content items delivered using HTTP. A CDNI
implementation that does not support this optional CDNI implementation that does not support this optional CDNI
Metadata Distribution interface mechanism shall ignore this Metadata Distribution interface mechanism shall ignore this
log format indication and generate CDNI logging format for log format indication and generate CDNI Logging format for
HTTP Adaptive Streaming using the default set of CDNI Logging HTTP Adaptive Streaming using the default set of CDNI Logging
fields. (Note: This function may be part of the CDNI Metadata fields. (Note: This function may be part of the CDNI Metadata
interface or the CDNI Control interface.) interface or the CDNI Control interface.)
MI-20 {MED} The CDNI Metadata interface should allow the Upstream MI-20 {MED} The CDNI Metadata interface should allow the Upstream
CDN to signal to the Downstream CDN the Content Collection ID CDN to signal to the Downstream CDN the Content Collection ID
value for all, for specific sets of, or for specific content value for all, for specific sets of, or for specific content
items delivered using HTTP. Whenever the Downstream CDN is items delivered using HTTP. Whenever the Downstream CDN is
instructed by the Upstream CDN to report the Content instructed by the Upstream CDN to report the Content
Collection ID field in the log records, the Downstream CDN is Collection ID field in the log records, the Downstream CDN is
to use the value provided through the CDNI Metadata interface to use the value provided through the CDNI Metadata interface
for the corresponding content. Note the Session ID field for the corresponding content. Note the Session ID field
along with Content Collection ID may be used for HTTP Adaptive along with Content Collection ID may be used for HTTP Adaptive
Streaming content. Streaming content.
MI-21 {MED} The CDNI Metadata interface should allow the Upstream MI-21 {MED} The CDNI Metadata interface should allow the Upstream
CDN to signal to the Downstream CDN the Authorization Group ID CDN to signal to the Downstream CDN the Authorization Group ID
value for all the related HTTP Adaptive Streaming content value for all the related HTTP Adaptive Streaming content
(i.e. manifest file and chunks). The authorization result of (i.e., manifest file and chunks). The authorization result of
a content (e.g. manifest file) is transferred over to related a content (e.g., manifest file) is transferred over to related
content (e.g. chunks). content (e.g., chunks).
MI-22 {HIGH} The CDNI Metadata interface shall support extensible MI-22 {HIGH} The CDNI Metadata interface shall support extensible
format for CDNI metadata delivery from the Upstream CDN to the format for CDNI Metadata delivery from the Upstream CDN to the
Downstream CDN. Downstream CDN.
8. CDNI Logging Interface Requirements 8. CDNI Logging Interface Requirements
This section identifies the requirements related to the CDNI Logging This section identifies the requirements related to the CDNI Logging
interface (LI). We observe that while the CDNI Logging interface is interface (LI). We observe that while the CDNI Logging interface is
currently discussed as a single "protocol", further analysis will currently discussed as a single "protocol", further analysis will
determine whether the corresponding requirements are to be realized determine whether the corresponding requirements are to be realized
over a single interface and protocol, or over multiple interfaces and over a single interface and protocol or over multiple interfaces and
protocols. protocols.
LI-1 {HIGH} The CDNI logging architecture and interface shall LI-1 {HIGH} The CDNI Logging interface and architecture shall
ensure reliable transfer of CDNI logging information across ensure reliable transfer of CDNI logging information across
CDNs. CDNs.
LI-2 {HIGH} The CDNI Logging interface shall provide logging of LI-2 {HIGH} The CDNI Logging interface shall provide logging of
deliveries and incomplete deliveries to User Agents performed deliveries and incomplete deliveries to User Agents performed
by the Downstream CDN as a result of request redirection by by the Downstream CDN as a result of request redirection by
the Upstream CDN. the Upstream CDN.
LI-3 {MED} In the case of cascaded CDNs, the CDNI Logging interface LI-3 {MED} In the case of cascaded CDNs, the CDNI Logging interface
should allow the Downstream CDN to report to the Upstream CDN should allow the Downstream CDN to report to the Upstream CDN
logging for deliveries and incomplete deliveries performed by logging for deliveries and incomplete deliveries performed by
the Downstream CDN itself as well as logging for deliveries the Downstream CDN itself as well as logging for deliveries
and incomplete deliveries performed by cascaded CDNs on behalf and incomplete deliveries performed by cascaded CDNs on behalf
of the Downstream CDN. of the Downstream CDN.
LI-4 {HIGH} The CDNI Logging interface shall support batch/offline LI-4 {HIGH} The CDNI Logging interface shall support batch/offline
exchange of logging records. exchange of logging records.
LI-5 {MED} The CDNI Logging interface should also support an LI-5 {MED} The CDNI Logging interface should also support an
additional mechanism taking into account the timing additional mechanism taking into account the timing
constraints for some types of logging records (e.g. near-real constraints for some types of logging records (e.g., near-real
time for monitoring and analytics applications). time for monitoring and analytics applications).
LI-6 {HIGH} The CDNI Logging interface shall define a log file LI-6 {HIGH} The CDNI Logging interface shall define a log file
format and a set of fields to be exported for various CDNI format and a set of fields to be exported for various CDNI
logging events. Logging events.
LI-7 {HIGH} The CDNI Logging interface shall define a transport LI-7 {HIGH} The CDNI Logging interface shall define a transport
mechanism to exchange CDNI Logging files. mechanism to exchange CDNI Logging files.
LI-8 {MED} The CDNI Logging interface should allow a CDN to query LI-8 {MED} The CDNI Logging interface should allow a CDN to query
another CDN for relevant current logging records (e.g. For another CDN for relevant current logging records (e.g., for
on-demand access to real-time logging information). on-demand access to real-time logging information).
LI-9 {LOW} The CDNI Logging interface may support aggregate/ LI-9 {LOW} The CDNI Logging interface may support aggregate/
summarized logs (e.g. total bytes delivered for a content summarized logs (e.g., total bytes delivered for a content
regardless of individual User Agents to which it was regardless of individual User Agents to which it was
delivered). delivered).
LI-10 {LOW} The CDNI Logging interface may support logging of LI-10 {LOW} The CDNI Logging interface may support logging of
performance data for deliveries to User Agents performed by performance data for deliveries to User Agents performed by
the Downstream CDN as a result of request redirection by the the Downstream CDN as a result of request redirection by the
Upstream CDN. Performance data may include various traffic Upstream CDN. Performance data may include various traffic
statistics (the specific parameters are to be determined). statistics (the specific parameters are to be determined).
The CDNI Logging interface may support the Upstream CDN to The CDNI Logging interface may support the Upstream CDN to
indicate the nature and contents of the performance data to be indicate the nature and contents of the performance data to be
reported by the Downstream CDN. reported by the Downstream CDN.
LI-11 {MED} The CDNI Logging interface should support logging of LI-11 {MED} The CDNI Logging interface should support logging of
consumed resources (e.g. storage, bandwidth) to the Upstream consumed resources (e.g., storage, bandwidth) to the Upstream
CDN for deliveries where content is stored by the Downstream CDN for deliveries where content is stored by the Downstream
CDN for delivery to User Agents. The information logged may CDN for delivery to User Agents. The information logged may
include the type of storage (e.g., Origin, Intermediate, Edge, include the type of storage (e.g., Origin, Intermediate, Edge,
Cache) as well as the amount of storage (e.g., total GB, GB Cache) as well as the amount of storage (e.g., total GB, GB
used, per time period, per content domain) all of which may used, per time period, per content domain) all of which may
impact the cost of the services. impact the cost of the services.
LI-12 {MED} In the case of cascaded CDNs, the CDNI Logging interface LI-12 {MED} In the case of cascaded CDNs, the CDNI Logging interface
should support the Downstream CDN to report consumed resources should support the Downstream CDN to report consumed resources
(e.g. storage, bandwidth) to the Upstream CDN where content is (e.g. storage, bandwidth) to the Upstream CDN where content
stored by the Downstream CDN itself as well as logging for is stored by the Downstream CDN itself as well as logging for
storage resources when content storage is performed by storage resources when content storage is performed by
cascaded CDNs on behalf of the Downstream CDN. cascaded CDNs on behalf of the Downstream CDN.
LI-13 {HIGH} The CDNI Logging interface shall support logging of LI-13 {HIGH} The CDNI Logging interface shall support logging of
deleted objects from the Downstream CDN to the Upstream CDN as deleted objects from the Downstream CDN to the Upstream CDN as
a result of explicit delete requests on via the CDNI Control a result of explicit delete requests on via the CDNI Control
interface from the Upstream CDN. interface from the Upstream CDN.
LI-14 {HIGH} The CDNI Logging interface shall support the exchange LI-14 {HIGH} The CDNI Logging interface shall support the exchange
of extensible log file formats to support proprietary of extensible log file formats to support proprietary
information fields. These information fields shall be agreed information fields. These information fields shall be agreed
upon ahead of time between the corresponding CDNs. upon ahead of time between the corresponding CDNs.
LI-15 {HIGH} The CDNI Logging interface shall allow a CDN to notify LI-15 {HIGH} The CDNI Logging interface shall allow a CDN to notify
another CDN about which CDNI logging information is available another CDN about which CDNI Logging information is available
for transfer and/or no longer available (e.g. it exceeded some for transfer and/or no longer available (e.g., it exceeded
logging retention period or some logging retention volume). some logging retention period or some logging retention
volume).
LI-16 {MED} The CDNI Logging interface should support the ability LI-16 {MED} The CDNI Logging interface should support the ability
for the Downstream CDN to include the Content Collection ID for the Downstream CDN to include the Content Collection ID
and Session ID fields in CDNI log entries generated for HTTP and Session ID fields in CDNI log entries generated for HTTP
Adaptive Streaming content. Adaptive Streaming content.
LI-17 {MED} The CDNI Logging interface should provide privacy LI-17 {MED} The CDNI Logging interface should provide privacy
protection by not disclosing information that can be used to protection by not disclosing information that can be used to
identify the user (e.g. method that anonymizes the IP address identify the user (e.g., method that anonymizes the IP address
carried in the logging field). The use of the privacy carried in the logging field). The use of the privacy
protection mechanism is optional. protection mechanism is optional.
9. CDNI Security Requirements 9. CDNI Security Requirements
This section identifies the requirements related to the CDNI This section identifies the requirements related to the CDNI
security. Some of these are expected to affect multiple or all security. Some of these are expected to affect multiple or all
protocols. protocols.
SEC-1 {HIGH} All the CDNI interface shall support secure operation SEC-1 {HIGH} All the CDNI interface shall support secure operation
over unsecured IP connectivity (e.g. The Internet). This over unsecured IP connectivity (e.g., the Internet). This
includes authentication, confidentiality, integrity protection includes authentication, confidentiality, integrity protection
as well as protection against spoofing and replay. as well as protection against spoofing and replay.
SEC-2 {HIGH} The CDNI solution shall provide sufficient protection SEC-2 {HIGH} The CDNI solution shall provide sufficient protection
against Denial of Service attacks. This includes protection against denial-of-service attacks. This includes protection
against spoofed delivery requests sent by User Agents directly against spoofed delivery requests sent by User Agents directly
to a Downstream CDN attempting to appear as if they had been to a Downstream CDN attempting to appear as if they had been
redirected by a given Upstream CDN when they have not. redirected by a given Upstream CDN when they have not.
SEC-3 {MED} The CDNI solution should be able to ensure that for any SEC-3 {MED} The CDNI solution should be able to ensure that for any
given request redirected to a Downstream CDN, the Downstream given request redirected to a Downstream CDN, the Downstream
CDN can determine the Upstream CDN that redirected the request CDN can determine the Upstream CDN that redirected the request
directly to the Downstream CDN (leading to that request being directly to the Downstream CDN (leading to that request being
served by that CDN, or being further redirected). served by that CDN, or being further redirected).
SEC-4 {MED} The CDNI solution should be able to ensure that for any SEC-4 {MED} The CDNI solution should be able to ensure that for any
given transaction log generated by the Downstream CDN and given transaction log generated by the Downstream CDN and
communicated to an Upstream CDN, the Upstream CDN can confirm communicated to an Upstream CDN, the Upstream CDN can confirm
the transmitted log record corresponds to a request the transmitted log record corresponds to a request
redirection by the Upstream CDN. redirection by the Upstream CDN.
SEC-5 {LOW} The CDNI solution may provide a mechanism allowing an SEC-5 {LOW} The CDNI solution may provide a mechanism allowing an
Upstream CDN that has credentials to acquire content from the Upstream CDN that has credentials to acquire content from the
CSP origin server (or another CDN), to allow establishment of CSP origin server (or another CDN), to allow establishment of
credentials authorizing the Downstream CDN to acquire the credentials authorizing the Downstream CDN to acquire the
content from the CSP origin server (or the other CDN) (e.g. content from the CSP origin server (or the other CDN) (e.g.,
In case the content cannot be acquired from the Upstream CDN). in case the content cannot be acquired from the Upstream CDN).
10. IANA Considerations
This document makes no request of IANA.
Note to RFC Editor: this section may be removed on publication as an
RFC.
11. Security Considerations 10. Security Considerations
This document discusses CDNI security requirements in Section 9. This document discusses CDNI security requirements in Section 9.
12. Contributors 11. Contributors
This document reflects the contributions from the following authors:
Francois Le Faucheur This document reflects contributions from the following individuals:
Francois Le Faucheur
Cisco Systems Cisco Systems
EMail: flefauch@cisco.com
flefauch@cisco.com Mahesh Viveganandhan
Mahesh Viveganandhan
Cisco Systems Cisco Systems
EMail: mvittal@cisco.com
mvittal@cisco.com Grant Watson
Grant Watson
Alcatel-Lucent (Velocix) Alcatel-Lucent (Velocix)
EMail: gwatson@velocix.com
gwatson@velocix.com 12. Acknowledgements
13. Acknowledgements
This document leverages the earlier work of the IETF CDI working This document leverages the earlier work of the IETF CDI working
group in particular as documented in [I-D.cain-request-routing-req], group in particular, as documented in [REQ-ROUTE], [DIST-REQS], and
[AAA-REQS].
[I-D.amini-cdi-distribution-reqs] and [I-D.gilletti-cdnp-aaa-reqs].
The authors would like to thank Gilles Bertrand, Christophe Caillet, The authors would like to thank Gilles Bertrand, Christophe Caillet,
Bruce Davie, Phil Eardley, Ben Niven-Jenkins, Agustin Schapira, Emile Bruce Davie, Phil Eardley, Ben Niven-Jenkins, Agustin Schapira, Emile
Stephan, Eric Burger, Susan He, Kevin Ma, Daryl Malas, Iuniana Stephan, Eric Burger, Susan He, Kevin Ma, Daryl Malas, Iuniana
Oprescu, and Spencer Dawkins for their input. Serge Manning along Oprescu, and Spencer Dawkins for their input. Serge Manning along
with Robert Streijl, Vishwa Prasad, Percy Tarapore, Mike Geller, and with Robert Streijl, Vishwa Prasad, Percy Tarapore, Mike Geller, and
Ramki Krishnan contributed to this document by addressing the Ramki Krishnan contributed to this document by addressing the
requirements of the ATIS Cloud Services Forum. requirements of the ATIS Cloud Services Forum.
Ray Brandenburg, Matt Caufield, and Gilles Bertrand provided valuable Ray Brandenburg, Matt Caufield, and Gilles Bertrand provided valuable
inputs for HTTP Adaptive Streaming, CDNI Metadata interface, and CDNI inputs for HTTP Adaptive Streaming, CDNI Metadata interface, and CDNI
Logging interface, respectively. Logging interface, respectively.
Stephen Farrell, Adrian Farrel, Benoit Claise, Sean Turner, Christer Stephen Farrell, Adrian Farrel, Benoit Claise, Sean Turner, Christer
Holmberg, and Carlos Pignataro provided review comments that helped Holmberg, and Carlos Pignataro provided review comments that helped
improve the document. improve the document.
14. References 13. References
14.1. Normative References
[I-D.ietf-cdni-framework] 13.1. Normative References
Peterson, L. and B. Davie, "Framework for CDN
Interconnection", draft-ietf-cdni-framework-07 (work in
progress), November 2013.
[RFC6707] Niven-Jenkins, B., Le Faucheur, F., and N. Bitar, "Content [RFC6707] Niven-Jenkins, B., Le Faucheur, F., and N. Bitar, "Content
Distribution Network Interconnection (CDNI) Problem Distribution Network Interconnection (CDNI) Problem
Statement", RFC 6707, September 2012. Statement", RFC 6707, September 2012.
14.2. Informative References [RFC7336] Peterson, L., Davie, B., and R. Brandenburg, Ed.,
"Framework for Content Distribution Network
Interconnection (CDNI)", RFC 7336, August 2014.
13.2. Informative References
[AAA-REQS]
Gilletti, D., Nair, R., Scharber, J., and J. Guha,
"Content Internetworking (CDI) Authentication,
Authorization, and Accounting Requirements", Work in
Progress, June 2001.
[ATIS-0800042] [ATIS-0800042]
"ATIS IPTV Content on Demand Service, ATIS, "ATIS IPTV Content on Demand Service", ATIS-0800042
https://www.atis.org/docstore/product.aspx?id=25670", v002, September 2011, <https://www.atis.org/docstore/
December 2010. product.aspx?id=25670>.
[I-D.amini-cdi-distribution-reqs] [DIST-REQS]
Amini, L., "Distribution Requirements for Content Amini, L., "Distribution Requirements for Content
Internetworking", draft-amini-cdi-distribution-reqs-02 Internetworking", Work in Progress, November 2001.
(work in progress), November 2001.
[I-D.cain-request-routing-req] [REQ-ROUTE]
Cain, B., "Request Routing Requirements for Content Cain, B., "Request Routing Requirements for Content
Internetworking", draft-cain-request-routing-req-03 (work Internetworking", Work in Progress, November 2001.
in progress), November 2001.
[I-D.gilletti-cdnp-aaa-reqs]
"CDI AAA Requirements,
draft-gilletti-cdnp-aaa-reqs-01.txt", June 2001.
[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
[RFC4949] Shirey, R., "Internet Security Glossary, Version 2",
RFC 4949, August 2007.
[RFC6770] Bertrand, G., Stephan, E., Burbridge, T., Eardley, P., Ma, [RFC6770] Bertrand, G., Stephan, E., Burbridge, T., Eardley, P., Ma,
K., and G. Watson, "Use Cases for Content Delivery Network K., and G. Watson, "Use Cases for Content Delivery Network
Interconnection", RFC 6770, November 2012. Interconnection", RFC 6770, November 2012.
[RTMP] "Adobe's Real Time Messaging Protocol, http:// [RFC7230] Fielding, R. and J. Reschke, "Hypertext Transfer Protocol
www.adobe.com/content/dam/Adobe/en/devnet/rtmp/pdf/ (HTTP/1.1): Message Syntax and Routing", RFC 7230, June
rtmp_specification_1.0.pdf", December 2012. 2014.
[RTMP] Parmar, H., Ed. and M. Thornburgh, Ed., "Adobe's Real Time
Messaging Protocol", December 2012,
<http://www.adobe.com/content/dam/Adobe/en/devnet/rtmp/
pdf/rtmp_specification_1.0.pdf>.
Authors' Addresses Authors' Addresses
Kent Leung (editor) Kent Leung (editor)
Cisco Systems Cisco Systems
170 West Tasman Drive 170 West Tasman Drive
San Jose, CA 95134 San Jose, CA 95134
U.S.A. USA
Phone: +1 408 526 5030 Phone: +1 408 526 5030
Email: kleung@cisco.com EMail: kleung@cisco.com
Yiu Lee (editor) Yiu Lee (editor)
Comcast Comcast
One Comcast Center One Comcast Center
Philadelphia, PA 19103 Philadelphia, PA 19103
U.S.A. USA
Email: yiu_lee@cable.comcast.com EMail: yiu_lee@cable.comcast.com
 End of changes. 134 change blocks. 
319 lines changed or deleted 296 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/