Internet DRAFT - draft-stephan-cdni-usecases-metadata
draft-stephan-cdni-usecases-metadata
Network Working Group E. Stephan
Internet-Draft G. Bertrand
Intended status: Standards Track F. Fieau
Expires: April 26, 2012 R. Pages
France Telecom Orange
October 24, 2011
metadata for CDNs Interconnection
draft-stephan-cdni-usecases-metadata-00
Abstract
There are use cases where the delivery of contents by a CDN on the
behalf of another requires the exchange of extra information between
these CDNs. This memo proposes a RESTful framework for the exchange
of content distribution metadata between an upstream and a downstream
CDN. Then it applies this framework to the use cases selected by te
CDNi WG [I-D.ietf-cdni-use-cases] to identify relevant operations,
objects and information elements of the CDNi metadata interface and
to verify that the RESTful approach suits for these operations.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
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 26, 2012.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
Stephan, et al. Expires April 26, 2012 [Page 1]
Internet-Draft CDNi content distribution metadata October 2011
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.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Stephan, et al. Expires April 26, 2012 [Page 2]
Internet-Draft CDNi content distribution metadata October 2011
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
2. Content Distribution Metadata Framework . . . . . . . . . . . 6
2.1. Introduction to Content Distribution Metadata . . . . . . 6
2.1.1. HTTP Adaptive Streaming . . . . . . . . . . . . . . . 6
2.1.2. IPTV CoD content distribution metadata . . . . . . . . 7
2.1.3. SNIA CDMI . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Framework for exchanging CDmD . . . . . . . . . . . . . . 7
2.2.1. RESTful design . . . . . . . . . . . . . . . . . . . . 7
2.2.2. Push of CDmD . . . . . . . . . . . . . . . . . . . . . 8
2.2.3. Datamodeling Language . . . . . . . . . . . . . . . . 8
2.2.4. On-the-fly vs Batch CDmD Exchange . . . . . . . . . . 9
2.2.5. Objects Extension . . . . . . . . . . . . . . . . . . 10
2.2.6. Operations . . . . . . . . . . . . . . . . . . . . . . 10
2.2.7. Main Objects . . . . . . . . . . . . . . . . . . . . . 11
2.3. Bootstrapping of the CDmD interface . . . . . . . . . . . 15
2.4. Comparison of CDNi CDmD and SNIA/CDMI . . . . . . . . . . 16
3. Metadata exchanged for CDNi use cases . . . . . . . . . . . . 16
3.1. Example of Initialization of the CDmD exchange . . . . . . 17
3.2. Footprint Extension Use Cases . . . . . . . . . . . . . . 18
3.2.1. Geographic Extension . . . . . . . . . . . . . . . . . 18
3.2.2. Inter-Affiliates Interconnection . . . . . . . . . . . 20
3.2.3. On-Net Delivery . . . . . . . . . . . . . . . . . . . 21
3.2.4. Nomadic Users . . . . . . . . . . . . . . . . . . . . 21
3.3. Offload Use Cases . . . . . . . . . . . . . . . . . . . . 24
3.3.1. Overload Handling and Dimensioning . . . . . . . . . . 24
3.3.2. Resiliency . . . . . . . . . . . . . . . . . . . . . . 26
3.4. CDN Capability Use Cases . . . . . . . . . . . . . . . . . 30
3.4.1. Device and Network Technology Extension . . . . . . . 30
3.4.2. Technology and Vendor Interoperability . . . . . . . . 33
3.4.3. Dynamic QoE and QoS improvement . . . . . . . . . . . 35
4. Discussions . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.1. JSON reference . . . . . . . . . . . . . . . . . . . . . . 37
4.2. Network and infrastructure Metadata . . . . . . . . . . . 37
5. Inputs for the next version . . . . . . . . . . . . . . . . . 37
5.1. Requirement . . . . . . . . . . . . . . . . . . . . . . . 38
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38
7. Security Considerations . . . . . . . . . . . . . . . . . . . 38
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 38
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 38
9.1. Normative References . . . . . . . . . . . . . . . . . . . 38
9.2. Informative References . . . . . . . . . . . . . . . . . . 39
Appendix A. GPX XML Schema fields exensibility . . . . . . . . . 40
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 41
Stephan, et al. Expires April 26, 2012 [Page 3]
Internet-Draft CDNi content distribution metadata October 2011
1. Introduction
There are use cases where the delivery of contents by a CDN on the
behalf of another requires the exchange of extra information between
these CDNs. This memo proposes a RESTful framework for the exchange
of content distribution metadata between an upstream and a downstream
CDN. Then it applies this framework to the use cases selected by te
CDNi WG [I-D.ietf-cdni-use-cases] to identify relevant operations,
objects and information elements of the CDNi metadata interface and
to verify that the RESTful approach suits for these operations.
This document does not study all the metadata to be exchanged on the
CDNi interface. It focuses on the specification of the exchange of
content distribution metadata between an upstream CDN and a
downstream CDN when the upstream CDN decides to distribute contents
through this downstream CDN.
This draft compliments the works done by Ben in
[I-D.jenkins-cdni-metadata] and Kevin in [I-D.ma-cdni-metadata].
1.1. Terminology
The document reuses terminology defined by CDNi WG documents
[I-D.ietf-cdni-problem-statement] and [I-D.ietf-cdni-requirements].
The call flows of this document uses the following abbreviations for
the interfaces (Control, Metadata, Request Routing, Logging) of the
CDNi solution:
- Metadata interface: Mi
- Request Routing interface: RRi
- Content Acquisition interface: CAi
- Control interface: CTi
Content distribution metadata:
Information communicated by the upstream CDN to the downstream CDN
that must be enforced by the downstream CDN to distribute contents on
the behalf of the upstream CDN. The document uses the abbreviations
'CDmD'.
Push or Pull of metadata:
The upstream CDN associates the delegation of the distribution of
contents with metadata to provide the downstream CDN with the
Stephan, et al. Expires April 26, 2012 [Page 4]
Internet-Draft CDNi content distribution metadata October 2011
information needed to distribute the content according to the rules
determined by the upstream CDN.
- A metadata is pushed on the CDNi Mi when the operation is
initiated by the upstream CDN.
- A metadata is pulled on the CDNi Mi when the operation is
initiated by the downstream CDN.
Time-to-service:
The delay between the request of a service and the delivery of the
service (e.g. the delay between the selection of a VoD by an eyeball
and the display of the first picture of this VoD).
information element (IE):
Piece of information of the information model.
Objects:
IE which can be individually operated through the metadata interface:
created, read, modified and deleted.
Main objects:
IE which are addressable and can be individually created or deleted.
Ancillary objects:
Addressable IE which can be downloaded or modified individually.
Scalar:
IE that can not be individually addressed.
Sparse and dense mode:
The intensity of usage of a CDN interconnection may differ
dramatically:
- A CDN interconnection is said 'sparse' when dCDN rarely
distribute contents on the behalf of uCDN.
- A CDN interconnection is said 'dense' when dCDN intensively
distribute contents on the behalf of uCDN.
Stephan, et al. Expires April 26, 2012 [Page 5]
Internet-Draft CDNi content distribution metadata October 2011
2. Content Distribution Metadata Framework
This section presents existing metadata related to the distribution
of contents then it defines the framework for exchanging metadata on
the CDNi Mi interface.
2.1. Introduction to Content Distribution Metadata
Metadata is defined literally as 'data about data'. Practically it
represents structured data about resources that help operating these
resources. They may be stored in a file which captures the
characteristics of a resource or dynamically generated like the
sitemap of a WEB site. Metadata are designed according to the
operational requirements of a domain. MPEG21, MPEG 7, TVAnyTime,
DublinCore and Atom are notorious examples for the content domain.
Following are metadata directly tied to the content distribution
domain.
2.1.1. HTTP Adaptive Streaming
HTTP adaptive streaming services distribute content in segments. The
segments provide boundaries for performing rate adaptation. The
segments are described as URL in manifest files.
There are several HTTP adaptive streaming:
- HTTP Live Streaming (HLS) [I-D.pantos-http-live-streaming] uses
a hierarchy of m3u8 playlists pointing to individual segment files
or other m3u8 playlists;
- Smooth Streaming [IIS-Smooth-Streaming] uses a set of XML files
to describe the media source;
- HTTP Dynamic Streaming [Flash-Media-Manifest] uses the flash
media manifest file XML format;
- Dynamic Adaptive Streaming over HTTP [MPEG-DASH]
[ETSI-3GP-DASH-R10] also supports an XML manifest format;
These manifest files contain metadata about the organization of the
content being delivered. This may include the location of the
content as well as the order in which it is likely to be retrieved.
CDNs uses the CDNi metadata interface to exchange information on HAS
streams to prepare their delivery. This encompasses the exchange of
information about the delivery and the update of the manifest file.
Stephan, et al. Expires April 26, 2012 [Page 6]
Internet-Draft CDNi content distribution metadata October 2011
2.1.2. IPTV CoD content distribution metadata
IPTV services distributes the technical information of the
distribution of a content in metadata. They provide the terminal
with the technical information for accessing to the content.
[DVB-IP-TV] specification includes the specification of the metadata
for scheduling and for the controlling the regionalization of the
distribution of a content.
Part 'A' of the specification of TV-Anytime metadata [TVA-CD-mD]
specifies XML objects describing the parameters of a content
distribution. 'ProgramLocationType' describes the content and where
it must be distributed. 'ScheduleEventType' describes when the
content must be distributed. These metadata are used in OIPF
specifications. Before receiving a content an Open IPTV Terminal
(OITF) receives technical information from the OIPF IPTV platform.
The information is sent at the format of TV-Anytime XSD.
[I-D.thompson-cdni-atis-scenarios] presents the CoD service specified
by ATIS [ATIS-0800042] . The metadata (namely Media Resource
Metadata) are specified in a XML schema.
2.1.3. SNIA CDMI
CDMI [SNIA-CDMI-1.0] defines the functional interface that
applications will use to create, retrieve, update and delete data
elements.
2.2. Framework for exchanging CDmD
This section presents the framework.
2.2.1. RESTful design
In a CDNi interconnection dCDN provides the content distribution
service to uCDN. Contents and Content Distribution metadata are
going from uCDN to dCDN.
The framework is based on a RESTful model:
- dCDN is the server and uCDN is the client;
- The default protocol of CDNi Metadata interface is HTTP
[RFC2616] over a secure transport layer like TLS 1.1 [RFC4346].
- uCDN uses the HTTP requests PUT, POST, GET, HEAD and DELETE
methods to manage all the live cycle of the metadata;
Stephan, et al. Expires April 26, 2012 [Page 7]
Internet-Draft CDNi content distribution metadata October 2011
- CDNi metadata interface does not define new methods than those
of HTTP;
- The CDmD uploaded by uCDN are not accessible to other CDNs which
interconnect with dCDN too.
2.2.2. Push of CDmD
CDmD operations occurs at various states of the distribution of a
content:
- CDNi interconnection bootstrapping;
- Set up of a the delivery of a content or a group of content;
- Modification of the CDmD of a content or of a group of content;
- Reception of a request routing from an eyeball (before, during
or after its redirection by uCDN to dCDN);
- Purge of a content;
Section 3 of the draft checks that the push mode covers the
situations presented in the use cases selected by the WG CDNi. It
allows uCDN to synchronize the CDmD operations with the CSP queries.
Discussion:
Pull mode might be used too but it does not cover any situations and
comes at the expense of an increase of the time-to-service (see
[I-D.stiemerling-cdni-routing-cons]) and of the burstiness of the
signalling on the CDNi interfaces. Furthemore when uCDN has to
reflect content distribution demands of its CSP it does not provide
uCDN with a simple mechanism to send CDmD to dCDN. Consequently the
usage of pull mode requires some push mode too and increases the
metadata interface complexity.
2.2.3. Datamodeling Language
Existing content distribution metadata are generally specified in XML
schema. As they correspond to information describing one content
sent to an eyeball they do not correspond exactly to the one that
should be exchanged by 2 CDNs:
- Content acquisition between 2 CDNs differs from content
delivery, especially direct delivery. A content may consists in a
single file from the acquisition perspective (e.g. zipped) while
being delivered to the end-user in small files, e.g. VOD HAS
Stephan, et al. Expires April 26, 2012 [Page 8]
Internet-Draft CDNi content distribution metadata October 2011
example;
- Scalability: CD mD are send mostly individually to eyeball
terminals. An efficient CDNi metadata interface requires the
grouping of the exchange of metadata between the 2 CDNs;
The data modeling is based on XML schema. Several languages are
canditate for exchanging information.
- XML: Intensively used; XML come along with W3C XML Schema for
specifying interfaces and XPATH to transform and selectively
extract data out of XML document ;
- IETF YANG/NETCONF, RFC 6020; human readable, XML and RELAX HG
interoperability;
- OASIS Relax Ng;
- JSON: Intensively used; human readable; Nothing equivalent to
XSD schema and XPATH;
2.2.4. On-the-fly vs Batch CDmD Exchange
CDmD exchange (same applies for Content acquisition and purge) is
said to be Batch when the preparation or the endding of the
distribution of a content over the CDN interconnection is not timely
correlated with the delivery of the content to the eyeball.
CDmD exchange is said to be on-the-fly when it is triggered by the
arrival of a request routing query from an eyeball on the RRi of uCDN
or dCDN.
Information elements:
On-the-fly actions are very demanding in terms of processing and
signaling. A CDN may not support them or all of them. the capability
object reflects the capability of a given CDN to support them:
- CDmD Exchange mode: the mode supported, either batch or on-the-
fly;
- Content acquisition mode: the mode supported, either batch or
on-the-fly;
- CDmD deletion mode: the mode supported, either batch or on-the-
fly;
Stephan, et al. Expires April 26, 2012 [Page 9]
Internet-Draft CDNi content distribution metadata October 2011
-CDmD purge mode: the mode supported, either batch or on-the-fly;
Discussion:
The list of flags above is not be exaustive. Overspecifying the
capabilities (i.e. splitting the description of one capability in 2
flags) will not arm the CDNi performance. As an example CDmD
Exchange mode can be split in 'CDmD' reception mode' (able to receive
on the fly or not) and 'CDmD sending mode' (may send on the fly or
not).
uCDN must exchange similar information to the dCDN must inform of its
capabilities to.
2.2.5. Objects Extension
CDNs interoperate to distribute content services that may require
specific metadata. Consequently each main object is extensible and
includes per
design a field 'extension' for this purpose. GPX XML schema uses
this approach (See Annex A). The extension field can be used to
carry opaque information as requested by [I-D.ma-cdni-metadata].
Discussion
In GPX schema each field is extensible. Will all the objects of the
CDNi Mi datamodel be extensible?
2.2.6. Operations
This section presents Mi operations triggered by uCDN (with effect in
the dCDN).
2.2.6.1. Creation of Object
uCDN uses the HTTP method PUT to create metadata in main objects in
dCDN.
on success dCDN returns 201 'Created'.
When dCDN detects a format error it returns an HTTP error 400 'Bad
Request'
When dCDN does not support the metadata object received it returns
the HTTP error 403 'Forbidden'.
When dCDN received a PUT method for the creation of a object that is
Stephan, et al. Expires April 26, 2012 [Page 10]
Internet-Draft CDNi content distribution metadata October 2011
not supported it shall return the method 405 'Method Not Allowed'.
When dCDN receives an object that uCDN is not authorize to create it
returns the HTTP error 401 'Unauthorized'.
2.2.6.2. Update of an object
uCDN uses the method POST to update an addressable object in dCDN.
on success dCDN returns 200 'OK'.
[edit] add error cases
2.2.6.3. Consultation of an Object
uCDN requests the value of an object using a HTTP GET method.
When the object exists and is addressable dCDN returns the value of
object.
when the object does not exist uCDN returns 410 'Gone'
2.2.6.4. Deletion of an Object
uCDN uses the HTTP method DELETE to remove the CD metadata from the
dCDN. dCDN removes the object and returns HTTP '201' OK.
The deletion of CDmD metadata is performed by content or by set of
contents. As an example, individual deletion happens when a CoD
content is removed from a catalogue, and a set of deletion happens
when a CoD is stored in fragments corresponding to chapters.
Check of deletion:
uCDN checks the deletion with a HTTP GET asking for the object that
have be deleted. dCDN should return 410 'Gone'.
Discussion:
The purge of the content is not in the scope of the MI interface.
Nevertheless the deletetion of the CDmD of a content is coupled with
the purge of the content.
2.2.7. Main Objects
The metadata interface is designed to operate main objects. It
provides operations to fully (create, delete..) manage main objects,
to modify objects but it does not support atomic management of scalar
Stephan, et al. Expires April 26, 2012 [Page 11]
Internet-Draft CDNi content distribution metadata October 2011
parameters. As an example the WG may decide that the 'start of
delivery' of a content metadata can not be modified atomically, i.e.
without modifying the content object. It is up to the CDNi WG to
determine the level of each information elements. Nevertheless for
the sake of interoperability the number of operations has to be
limited:
The data model is made of objects connected by the operations needed
by the interconnection. A main object is an item that can be created
and deleted independently of the others. As an example, geographic
areas are complex objects that are managed individually.
The study made in section 3 identifies the following object
organisation. It does not specify a datamodel. It gathers the
information elements identified in section 3 to ease the reading and
the specification of the call flow and of the operations:
Main object 'content' :
- A group of pieces of content.
- Operations:
- uCDN creates a content;
- uCDN adds a piece of content in a content;
- uCDN deletes a piece of content from a content;
- uCDN updates the parameters
- IEs:
- content activation;
- content deactivation;
- expiration times;
- cache invalidation and removal intervals;
- source URL
- backup source URL;
Stephan, et al. Expires April 26, 2012 [Page 12]
Internet-Draft CDNi content distribution metadata October 2011
- auto_purge_delay;
- minimal_storage_duration: duration of the storage of a
content;
- immediat_acquisition: flag requesting that dCDN must start
the acquisition triggered on reception of the content metadata;
- 'extension'
Main object 'region' :
- standard administrative names of geographic area like country,
region,... like defined ISO 3166-2.
- Operations:
- uCDN gets the name of regions predefined by dCDN.
- uCDN creates a logical region made of a subset of names
predefined by uCDN;
- uCDN gets, modifies, deletes a logical region.
- uCDN gets the regions where dCDN supports on net delivery;
- uCDN gets the network prefixes of a region where dCDN
supports on net delivery;
- IEs
- Names of geographic areas like countries, part of country,
district, city...
- on_net flag: indicates the support or not of on-net delivery
: 'full', 'partial' or 'none';
- on_net_geoIP;
- Capacity:peak (unit, value), sustainable: (unit, value);
duration (start, end);
- 'extension'
Object 'Geoloc':
- Detailed network information on a region. Lookup information
resolving the localisation of a host based on its network address.
Stephan, et al. Expires April 26, 2012 [Page 13]
Internet-Draft CDNi content distribution metadata October 2011
CDNs embed geoIP database and are usually able to resolve geoIP
localisation without exchanging Geolocalisation information.
Nevertheless several use cases require the exchange of the
addresses of the eyeball networks that a CDN covers.
- Operations:
uCDN gets the Geoloc of a region.
- IEs
- IP prefixes
-'extension'
Main object 'dCDNcaps'
- Operations:
uCDN gets dCDN capablities.
- IEs
- URL_format;
- token_format
- regions: details of dCDN footprints. A set of names of
geographic area like country, region,..
- capacity
- interconnection capability,
- CDmD_exchange_mode: 'batch', 'on-the-fly' or 'both';
- CDmD_deletion_mode: 'batch', 'on-the-fly' or 'both';
- CDmD purge mode: 'batch', 'on-the-fly' or 'both';
- Content acquisition mode: 'batch', 'on-the-fly or 'both'';
- 'extension'
Stephan, et al. Expires April 26, 2012 [Page 14]
Internet-Draft CDNi content distribution metadata October 2011
-'extension'
Main object 'uCDNcaps'
- Operations:
uCDN creates and sets an uCDNcaps object on dCDN Mi interface.
- IEs
- on_dCDN_failure_FQDN: FQDN of the uCDN RRi which handles the
redirection on failure of the redirection by dCDN.
backupCDN: FQDN of a content acquisition backup;
- bursty_ interconnection: a flag saying that the
interconnection is very bursty;
-'extension'
2.3. Bootstrapping of the CDmD interface
This section makes the asumption that uCDN and dCDN have an technical
agreement which defines the usage of dCDN resources by uCDN and
exchanged bootstrapping information like RRi and CAi server
addressesof whole CDNi bootstrapping on the control interface or
manually.
The initialization of the Metadata interface includes the steps below
:
1. dCDN grants uCDN with the right to connect, upload and download
CDmD on its metadata interface;
2. dCDN initiates its capabilities objects according to the
technical agreement it has with uCDN;
3. uCDN connects to dCDN CDmD server;
4. uCDN gets dCDN capabilities;
5. uCDN setups high level CDmD in dCDN;
6. Setup of objects needed during the duration of the
interconnection (e.g. a group of content that may be modified but
unlikely deleted);
Stephan, et al. Expires April 26, 2012 [Page 15]
Internet-Draft CDNi content distribution metadata October 2011
Discussion:
The boundary between the information needed by the control interface
and the Mi interface is not clear. Some IEs may be needed on both
(e.g. the RRi server of a region).
2.4. Comparison of CDNi CDmD and SNIA/CDMI
Follwing is a list of points above which are already specified by the
the CDMI interface [SNIA-CDMI-1.0]:
- Both are client/server and RESTful;
- Both requires metadata extensibility (section 16.2);
- CDMi reuses HTTP 1.1 primitives and error codes to implement the
operations;
- Secure Transport;
- both must balance between XML and JSON;
- Same operations:
- discovery of capabilities;
- creation
- deletion;
- read;
Most of the aspects of the CDNi Mi are included in CDMI. A deeper
insight is needed to determine if CDNi Mi can be specified as a
subset of CDMI where uCDN uses the Data Storage Interface and dCDN
acts in the role of providing a Data Storage Interface.
3. Metadata exchanged for CDNi use cases
[I-D.ietf-cdni-use-cases] presents realistic situations between 2
CDNs where the downstream CDN ingests and delivers contents on the
behalf of the upstream CDN. This section studies the exchange of
metadata for these situations. Each subsection presents the exchange
of content distribution metadata for one use case.
Only one example of call flow is shown per use case. DNS steps are
not represented to simplify the call flows. They are discussed in
Stephan, et al. Expires April 26, 2012 [Page 16]
Internet-Draft CDNi content distribution metadata October 2011
[I-D.peterson-cdni-strawman].
3.1. Example of Initialization of the CDmD exchange
This section makes the asumption that uCDN and dCDN have an technical
agreement which defines the usage of dCDN resources by uCDN. It
gathers CDmD exchanges used by several call flows.
The initialization of the Metadata interface is as follow :
1. dCDN grants uCDN with the right to connect, upload and download
CDmD on its metadata interface;
2. dCDN initiates its capabilities objects according to the
technical agreement it has with uCDN;
3. uCDN connects to dCDN CDmD server;
4. uCDN gets dCDN capabilities;
5. uCDN setups high level CDmD in dCDN;
6. optionally, uCDN setups objects it is likely to need during the
duration of the interconnection (e.g. a group of content that may
be modified but unlikely deleted);
Following is an example of call flow for the initialization of the
metadata interface.
dCDN uCDN
| |
| |
| HTTP GET dCDNcaps |
|<--------------------------------------------------|(1)
| 200 OK, {regions {France, Italie, Spain...}...} |
|-------------------------------------------------->|(2)
| |
| |
| HTTP PUT region/BigCities {Paris, Rennes} |
|<--------------------------------------------------|(3)
| 200 OK |
|-------------------------------------------------->|(4)
Figure 1, Initialization of the Mi interface
1. uCDN requests the details of the footprint where it is allowed to
distribute contents;
Stephan, et al. Expires April 26, 2012 [Page 17]
Internet-Draft CDNi content distribution metadata October 2011
2. dCDN returns the list of the countries;
3. uCDN creates a logical region named 'BigCities'. It initialize
this region with 2 towns 'Paris' and 'Rennes' which are not
geographically close;
4. dCDN accepts the creation;
3.2. Footprint Extension Use Cases
At first approach the CD metadata required to setup a footprint
extension are intuitive. The uCDN simply indicates the geographic
area to dCDN. Nevertheless there is a need of CDmD for controlling
explicitly the delivery because dCDN is not aware of the constraints
that apply to the contents.
3.2.1. Geographic Extension
in this use case uCDN interconnects with dCDN to extend its footprint
to 2 countries covered by dCDN. Once the footprint extension setup
achieved the RRi function of uCDN will be able to redirect the
requests coming from the prefixes of these 2 coutries to dCDN RRi
function.
Assumption:
the initialization of the Mi has be done previously as per the call
flow of section 2.4: uCDN got the list of the countries of the
footprint. dCDN initialized the main objects Italie and Spain.
Information elements:
Geographic capabilities are high level Geographic information like
the name of well known areas, country, region, district, city...
Operations:
- Get the list of regions;
- Create a content;
- Initialize the contents to be distributed in a region;
- Create a region;
Stephan, et al. Expires April 26, 2012 [Page 18]
Internet-Draft CDNi content distribution metadata October 2011
dCDN uCDN
| |
| |
| HTTP PUT content/Series {Lost53, DocHouse78} |
|<--------------------------------------------------|(1)
| 201 Created |
(2)|-------------------------------------------------->|
| |
| HTTP POST content/Series/region Italie |
|<--------------------------------------------------|(3)
| 200 OK |
(4)|-------------------------------------------------->|
| |
| HTTP POST content/Series/region Spain |
|<--------------------------------------------------|(5)
| 200 OK |
(6)|-------------------------------------------------->|
Figure 2, Geographic Extension
The initialization of the Mi is done according to the first call flow
presented.
1. uCdn create the content 'Series' and initializes it with the
pieces of contents 'Lost53' and 'DocHouse78'
2. dCDN accepts the creation;
3. uCDN adds this content in the region 'Italie' predefined by dCDN.
4. dCDN accepts the adding;
5. uCDN adds this content in the region 'Spain' predefined by dCDN.
6. dCDN accepts the adding;
Discussion:
uCDN might create a logical region 'South' initialized with 'Italy'
and 'Spain' before step 1. This avoids steps 3 and 4.
Grouping CDmD may lead to complex processing and signaling when dCDN
rejects the delivery of a subset of the contents.
Stephan, et al. Expires April 26, 2012 [Page 19]
Internet-Draft CDNi content distribution metadata October 2011
3.2.2. Inter-Affiliates Interconnection
This use case covers the interconnection of CDNs managed by
subsidiaries of a large group. For instance, it includes the
interconnection of Orange France's and TP's CDNs, which are both part
of the Orange group. The trust relationship among the interconnected
CDNs is strong in this use case. Therefore, the CDNs can exchange
internal dimensioning information like the number of caches, or
detailed routing information, CDN detailed capabilities or
performance information.
Information elements:
capacity { number of caches, sustainable sessions per second;
sustainable delivery throughput...);
dCDN uCDN
| |
| |
| HTTP GET /capacity/region/Italy |
|<--------------------------------------------------|(1)
| 200 OK, { cacheNumbers 300... } |
(2)|-------------------------------------------------->|
| |
Figure 3, Inter-Affiliates Interconnection
1. uCDN requests the number of caches available on a region.
2. dCDN returns the information
Discussion:
Step1 gets directly the IE 'capacity' . In fact requesting the
dCDNcaps at a whole may be enough to implement. This look like a
XPATH request. Do we need a flag to present the level of granularity
of the GET request ?
Such metadata exchanges enable tied interworking between the 2 CDNs.
At some extend, this kind of information may quickly overlap with
monitoring information.
The object capacity must include a field 'extension' to permit
enrichment.
Stephan, et al. Expires April 26, 2012 [Page 20]
Internet-Draft CDNi content distribution metadata October 2011
3.2.3. On-Net Delivery
In this use case uCDN wants to deliver content to eyeballs directly
connected to dCDN networks.
Information elements:
- on-net flag: indicate if a region include has an on-net
footprint;
- on-net geoIP: the prefixes of network the dCDN eyeballs;
Operation:
- Get on_net regions;
- get on_net region prefixes;
dCDN uCDN
| HTTP GET dCDNcaps/regions/on_net |
|<--------------------------------------------------|(1)
| 200 OK, {France...} |
(2)|-------------------------------------------------->|
| |
| HTTP GET dCDNcaps/France/on_net/geoIP |
|<--------------------------------------------------|(3)
| 200 OK, { 114.1.1.0/24, ...} |
(4)|-------------------------------------------------->|
| |
Figure 4, On-Net Delivery
1-2. uCDN downloads the regions to which the dCDN can deliver on-net.
This information enables the uCDN to know which areas are served.
3-4. uCDN gets the prefixes. Then it adapts its CDN selection
policies to guarantee that the content will always be delivered on
net, with the best performance (i.e. uCDN redirects to dCDN only the
content requests coming from eyeball located on dCDN networks) .
3.2.4. Nomadic Users
This use case considers that the initialisation of the Mi has been
done before as per section 3.1.
Asumption:
Stephan, et al. Expires April 26, 2012 [Page 21]
Internet-Draft CDNi content distribution metadata October 2011
For optimization reasons uCDN and dCDN did not provision the
distribution of the content by dCDN. Consequently the CDmD of the
content and the content are exchanged on-the-fly between the 2 CDNs
and the content is purged at the end of the delivery.
information element:
o synchonous purge: a flag which indicate that the purge must be
done at the end of the delivery after a reasonable (from cache
algo point of view) delay
o a timer of a a reasonable delay;
o on the fly acquisition: flag indicating that dCDN supports or not
on the fly content acquisition;
Operations:
- Push of per content metadata in dCDN;
Stephan, et al. Expires April 26, 2012 [Page 22]
Internet-Draft CDNi content distribution metadata October 2011
End-User dCDN uCDN
terminal Mi RRi CAi
| | | | |
| | HTTP GET ucdn/series/Lost65 | | |
(1)|-------------------------------------------------------->| |
| | | | |
| | | | |
| | POST content/Lost65/region | | |
| | { BigCities, purge_delay= 300s } | | |
| |<---------------------------------|(2)| |
| | | | |
| (3)|--------------------------------->| | |
| | 200 OK | | |
| | | | |
| | HTTP GET content/Lost65 | | |
| (4)|----------------------------------------->|
| | | | |
| 302 redirect to dCDN | | |
|<----------------------------------------------------|(5)| |
| | | | |
| | 200 OK, Lost65 data | | |
| |<-----------------------------------------|(6)
| | | | |
| HTTP GET Lost65 | | | |
(7)|----------------->| | | |
| | | | |
|200 OK,Lost65 data| | | |
|<-----------------|(8) | | |
| | | | |
| ....(9) end of delivery ...... | | |
| | | | |
| DELETE CDmD (10) | | |
| deletion of the content (11) | | |
| | | | |
Figure 5, On the fly CDmD exchange for Nomadic use case
1. A end-user requests a content that uCDN is in charge of.
2. The request arrives on the request routing function of uCDN; The
request routing logic of uCDN determines that the end-user is
located on the footpring of dCDN; dCDN pushes the CDmD of this
content toward dCDN. CDmD includes information describing the
constraint attached to the nomadic case (limited to one user,
...)
Stephan, et al. Expires April 26, 2012 [Page 23]
Internet-Draft CDNi content distribution metadata October 2011
3. dCDN accepts the delivery.
4. dCDN starts the acquisition of the content.
5. UCDN redirects the request to dCDN.
6. CDN stores the (first part) of the content
7. The end-user request is received by dCDN.
8. dCDN starts the distribution of the content to the end-user.
9. The delivery achieved;
10. dCDN deletes of the CDmD
11. dCDN delete the content
Discussion:
In this use case only the user considered in (5) must be served by
dCDN. this does not means that dCDN must check the identity of the
user in (7) because if any identity verification must be performed it
should be checked by uCDN in (5) before the redirection.
Most of the use cases require an Mi operation to explicitly delete
the metadata attached to a content;
3.3. Offload Use Cases
This section gives examples of call flow for the offload use cases.
3.3.1. Overload Handling and Dimensioning
The initialization of the Mi has been done in section 3.1.
The CDN interconnection is setup to cover unexpected peak of traffic
in uCDN.
Information element:
- Content object;
- Capacity:peak (unit, value), sustainable: (unit, value);
duration (start, end);
- bursty interconnection flag: a flag to clearly distinguish very
bursty interconnection from more stable ones.
Stephan, et al. Expires April 26, 2012 [Page 24]
Internet-Draft CDNi content distribution metadata October 2011
dCDN uCDN
| HTTP GET /capacity/region/Italie |
|<-----------------------------------------------------|(1)
| 200 OK, { Italie, peak_capacity 30Gps } |
|----------------------------------------------------->|
| |
| HTTP PUT /capacity/region/Italie |
| { capacity 5Gps, start 20h, end 22h } |
|<-----------------------------------------------------|(2)
| 201 created |
(3)|----------------------------------------------------->|
| |
provisioning |
| |
| POST content/Lost65/region Italie |
|<-----------------------------------------------------|(4)
| 201 created |
(5)|----------------------------------------------------->|
| |
| (6) dCDN processes content requests |
| delegated by uCDN during the time |
| frame specified in the overload mD |
| |
Figure 6, Overload handling, planned traffic peak
1. uCDN downloads dCDN overload traffic handling capabilities (may be
downloaded during bootstrapping). This information enables the uCDN
to know how much traffic it can delegate to the dCDN.
2. uCDN creates capacity request mD. This enables the dCDN to know
how much traffic and the period of traffic the uCDN will delegate to
the dCDN and (e.g., for planned traffic peaks, or planned offload for
maintenance operations).
3. dCDN acknowledges that it understands and agrees to the overload
mD. Then it provisions the ressources.
4. uCDN creates geographic content delivery restrictions CDmD pushing
the CSP related policies to dCDN. This enables the dCDN to know to
which areas it must or must not deliver every piece of content.
5. dCDN acknowledges that it understands and accpepts the CDmD.
Notes: if the dCDN cannot or does not want to fulfill the capacity
request, it will response with an HTTP error message such as a 403
forbidden. This use case covers the failure of delivery resources.
It assumes that the uCDN is still able to redirect requests to the
Stephan, et al. Expires April 26, 2012 [Page 25]
Internet-Draft CDNi content distribution metadata October 2011
dCDN, but not to serve all the requests by itself.
Discussion:
This use case highlights the information elements of a regular CDNi
interconnection (even if peak and sustainable value are extremely
different in an Offload situation).
3.3.2. Resiliency
3.3.2.1. Failure of Content Delivery Resources
uCDN interconnects with dCDN1 and dCDN2 to guarantee service
continuity when dCDN1 can not handle the delivery.
The call flow below presents the situation where dCDN1 encounters an
overload problem or a failure before beginning the delivery and
cannot serve the content to the UE.
Assumptions:
dCDN1 and dCDN2 have similar footprint. uCDN already pushed the CDmD
of the content named Lost65 both on dCDN1 and dCDN2. n normal
situation dCDN1 distributes the content 'Lost65' and already made the
acquisition of the content Lost65.
Information elements:
on_dCDN_failure_FQDN: FQDN of the uCDN RRi which handles the
redirection on failure of the redirection function of dCDN.
Stephan, et al. Expires April 26, 2012 [Page 26]
Internet-Draft CDNi content distribution metadata October 2011
End-User dCDN1 dCDN2 uCDN
RRi CAi
| | | | |
| HTTP GET content/Lost65 | | |
|--------------------------------------------------------->|(1) |
| | | | |
| HTTP 302, redirect dCDN1 | | |
|<---------------------------------------------------------|(2) |
| | | | |
| HTTP GET Lost65 | | | |
|------------------->|(3) | | |
| | | | |
| (4) | | |
| Failure or overload detection | | |
| | | | |
| HTTP 302 redirect | | | |
| www.fail.uCDN | | | |
|<-------------------|(5) | | |
| | | | |
| HTTP GET fail.uCDN.com/Lost65 | |
(6)|--------------------------------------------------------->| |
| | | |
| HTTP 302, redirect dCDN2 | |
|<---------------------------------------------------------|(7) |
| HTTP GET Lost65 | | |
(8)|---------------------------------->| | |
| | HTTP GET Lost65 | |
| (9)|-------------------------->|
| | | |
| | HTTP 200 OK, Lost65 | |
| |<--------------------------|(10)
| HTTP 200 OK, Lost65 | | |
|<----------------------------------|(11) | |
| | | |
Figure 7, Failure of Content Delivery Resources
1. A end-user requests a content that uCDN is in charge of;
2. uCDN redirects the request to dCDN1;
3. The end-user request is received by dCDN1;
4. dCDN detects a failure or a lack of ressource on its delivery;
5. dCDN1 redirects the EU request to a dedicaced FQDN RRi of uCDN
which handles the failure of delivery;
6. The end-user request is received by uCDN on this special FQDN
Stephan, et al. Expires April 26, 2012 [Page 27]
Internet-Draft CDNi content distribution metadata October 2011
(Editor notes: solution already presented in another draft: include
the reference);
7. uCDN redirects the request to dCDN2;
8. The end-user request is received by dCDN2;
9. dCDN2 starts the acquisition of the content;
10. dCDN2 stores the content;
11. dCDN2 sends the content to the EU;
Discussion:
Direct redirection between dCDN1 and dCDN2 may reduce the redirection
duration. it requires the exchange of more CDmD and hides the failure
of the delivery to uCDN.
In this use case the detection of the failure happens before the
selection of the delivery node. In case of failure during the
delivery, dCDN should send a message to uCDN on the control
interface.
3.3.2.2. Failure of Content Acquisition
Assumption:
uCDN interconnects with dCDN1 and dCDN2 for the delivery of the
content 'Lost65'.
dCDN2 already made its acquisition and keep a copy.
uCDN setups dCDN2 as a backup solution for the acquisition of
'Lost65'.
Information element :
- backupCDN: FQDN of a content acquisition backup says that the
upstream CDN provides (or not) a backup for the acquisition of the
content it is requesting the distribution.
- storage_duration: duration of the storage of a content.Flag of
the content object to request that the dCDN keep a copy of the
content during a period of time after acquisition (or after the
last delivery);
Stephan, et al. Expires April 26, 2012 [Page 28]
Internet-Draft CDNi content distribution metadata October 2011
- immediat_acquisition: flag requesting that dCDN must start the
acquisition triggered on reception of the content metadata;
operations:
End-User dCDN1 dCDN2 uCDN Origin
| | | | |
| | HTTP PUT uCDNcaps/backupCDN dCDN2 | |
| |<------------------------------------|(1) |
| | 200 OK | |
| (2)|------------------------------------>| |
| | | | |
| HTTP GET content/Lost65 | |
|--------------------------------------------------------->|(3) |
| | | | |
| HTTP 302, redirect dCDN1 | |
|<---------------------------------------------------------|(4) |
| | | | |
| HTTP GET Lost65 | | | |
(5)|------------------->| | | |
| | | | |
| | HTTP GET Lost65 | |
| (6)|----------------------------------------->|
| | | | |
| Failure X (7) | | |
| | | | |
| 302 redirect dCDN2 | | | |
|<-------------------|(8) | | |
| | | | |
| HTTP GET content/Lost65 | | |
|---------------------------------->|(9) | |
| 200 OK, C1 | | |
|<----------------------------------|(10) | |
Figure 8, Failure of Content Acquisition
1.uCDN setups the backup CDN.
2. dCDN1 accepts.
3. End-user requests the content Lost65.
4. uCDN redirects the request to dCDN1.
5. The end-user request is received by dCDN1
6. dCDN1 starts the acquisition of the content.
Stephan, et al. Expires April 26, 2012 [Page 29]
Internet-Draft CDNi content distribution metadata October 2011
7. The acquisition fails
8. dCDN1 redirects the UE to dCDN2 because uCDN provided a backup.
9. The end-user request is received by dCDN2.
10. dCDN2 deliver the content to the UE.
Discussion:
The failure of content acquisition may be solved without redirection,
simply with the selection of a backup acquisition server.
3.4. CDN Capability Use Cases
3.4.1. Device and Network Technology Extension
Assumptions:
uCDN only streams content using HTTP smooth streaming protocol. dCDN
supports other protocols like MPEG-DASH. An End-user requests a
MPEG-DASH content that is managed by uCDN. The uCDN and the dCDN
have exchanged their capabilities prior the UE content request. uCDN
has pushed content related metadata before the EU request.
Information elements:
- delivery methods supported (HTTP smooth streaming, MPEG-
DASH,...);
- networks type supported (fiber, xDSL, WiFi, 3G, LTE,...);
The figure below presents the typical CD mD call flow:
Stephan, et al. Expires April 26, 2012 [Page 30]
Internet-Draft CDNi content distribution metadata October 2011
dCDN uCDN
Mi Mi
| |
| HTTP GET dCDNcaps/technology/delivery |
|<------------------------------------------------|(1)
| |
| HTTP 200 OK, { method { DASH, HSS, ...} |
(1')|------------------------------------------------>|
| |
| HTTP GET dCDNcaps/technology/networks |
|<------------------------------------------------|(2)
| |
| HTTP 200 OK, { networks { xDSL, LTE, ...} |
(2')|------------------------------------------------>|
| |
| HTTP PUT content/lost65 { techno DASH } |
|<------------------------------------------------|(3)
| |
| HTTP 201 CREATED |
(3')|------------------------------------------------>|
| |
Figure 9,Device and Network Technology Extension
1. uCDN downloads dCDN delivery technology capabilities.
2. uCDN downloads dCDN network type capabilities.
3. uCDN pushes the CDmD of this content toward dCDN. CDmD includes
information describing the constraint attached to the CDN capability
use case.
Stephan, et al. Expires April 26, 2012 [Page 31]
Internet-Draft CDNi content distribution metadata October 2011
uCDN
End-User dCDN uCDN Origin
| | | |
| HTTP GET content/lost65 | |
(1)|------------------------------------------------------->| |
| | | |
| HTTP 302 redirect dCDN | |
|<-------------------------------------------------------|(2) |
| | | |
| HTTP GET content/lost65 | | |
|------------------------->|(3) | |
| | | |
| | HTTP GET content/lost65 | |
| (4)|--------------------------------->|
| | | |
| | HTTP 200 OK content/lost65 | |
| |<---------------------------------|(5)
| | | |
| 200 OK content/lost65 | | |
|<-------------------------|(6) | |
| | | |
| | | |
Figure 10,Device and Network Technology Extension
call flow:
1. A end-user requests a content that uCDN is in charge of.
2. uCDN redirects the request to dCDN.
3. The User Equipment request is received by dCDN.
4. dCDN starts the acquisition of the content.
5. CDN stores the content
6. The delivery achieved
Discussion :
Synchronous vs asynchronous : The exchange of the capabilities
between the CDN may be done before receiving a content request or
when receiving a content request. This case adds delay to the
handling of the content request. The content related metadata may be
provisioned before the request.
Stephan, et al. Expires April 26, 2012 [Page 32]
Internet-Draft CDNi content distribution metadata October 2011
3.4.2. Technology and Vendor Interoperability
In a CDN interconnection, CDN may need to exchange their
configuration : CDN parameters, functions configuration. Such
information can be provided at service bootstrapping, but can also be
provided on fly using the metadata interface.
information elements:
Description of a CDN:
origin server
orgin servers list (server name, IP)
ingestion interface: IP addresse of the ingestion interface of
origin server
routing server
list: routing server name lists
routing interface ip: provides the routing interface IP of the
routing server name
token
format: hash algorithm used
parameters: parameters URL used to calculate token (domain,
keys, values)
key: used to calculate token
url
format: format of the URL
parameters: name of the parameters
function: name of the function (represented by parameter).
Such function should be understood by the uCDN.
Call flow:
In this use case, we assume that uCDN wants to get the URL and token
Stephan, et al. Expires April 26, 2012 [Page 33]
Internet-Draft CDNi content distribution metadata October 2011
format in order to be able to check URL and token and adapt them if
necessary when redirecting end-users to dCDN.
End-User uCDN dCDN
| | |
| | GET dCDNcaps/UrlConf |
| (1)|-------------------------->|
| | 200 OK, { UrlConf ...} |
| (2)|<--------------------------|
| | GET dCDNcaps/tokenConf |
| (3)|-------------------------->|
| | 200 OK, { tokenConf ...} |
| (4)|<--------------------------|
| | |
| GET content/Lost65tokenURL| |
(5)|-------------------------->| |
| | |
| (6) url+token adaptation |
| 302 redirect | |
(7)|<--------------------------| |
| | |
| GET content | |
(8)|------------------------------------------------------>|
| | |
| 200 OK content | |
(9)|<------------------------------------------------------|
| | |
Figure 11, Technology and Vendor Interoperability
Call flow:
1. uCDN requests the dCDN URL configuration metadata;
2. dCDN answers with its URL configuration metadata;
3 . uCDN requests the dCDN token configuration metadata;
4. dCDN answers with the token configuration metadata (e.g. CDN
model hash algorithm = MD5, ciphering key = a1f4d0eab4df...)
5. A end-user requests a content that uCDN is in charge of.
6. According to information received, the uCDN adapts its policies :
redirection, ingestion
Stephan, et al. Expires April 26, 2012 [Page 34]
Internet-Draft CDNi content distribution metadata October 2011
7. uCDN redirects the request to dCDN.
8. End-user requests the dCDN to deliver content
9. dCDN accepts the delivery.
Discussion:
Security considerations:
Most of this information can be restricted to specific CDNi members
and subject to access control rights. Thus members SHALL be
authentified before accessing those data. Requested CDN (uCDN or
dCDN) MAY refuse access to information by issuing a 401unauthorized
response.
3.4.3. Dynamic QoE and QoS improvement
In this use case, the uCDN will check if the delivery QoE of the dCDN
is compliant with QoE of the CDNi SLA. If not compliant, then the
uCDN will redirect next requests to other dCDNs.
Assumption:
uCDN indicates the SLA that dCDN must ensure high level QoE (no
sessions failures, or glitches at client side).
information elements:
- Policy: Policy provides CDN policy to ensure QoE (typically can
tell which specific function can be ensured by the CDN)
- QoE: Key Performance indicator assessing the QoE (could be
computed for instance on% gliches, % sessions failures, % access
to service delay, etc.).
call flow:
Stephan, et al. Expires April 26, 2012 [Page 35]
Internet-Draft CDNi content distribution metadata October 2011
End-User dCDN1 uCDN
| | |
| GET content |
(1)|-------------------------------------------------->|
| | |
| 302 Redirect to dCDN |
|<--------------------------------------------------|(2)
| | |
| GET content | |
|------------------------>|(3) |
| | |
| Delivery | |
|<------------------------|(4) |
| | |
| | |
| | GET QoE Indicator |
| (5)|<------------------------|
| | |
| | 201 OK , QoE_level 1/5 |
| (6)|------------------------>|
| | |
| | redirection rules (7)
| | modification
| | |
next End-User another dCDN (dCDN2) |
| | |
| content request | |
|-------------------------------------------------->|(8)
| | |
|<--------------------------------------------------|(9)
| | |
|------------------------>|(10) |
| Delivery | |
|<------------------------|(11) |
| | |
| | |
Figure 12, QoE and QoS improvement
1. A end-user requests a content that uCDN is in charge of.
2. uCDN redirects the request to dCDN1.
3. End-user requests dCDN1 to deliver content
4. dCDN1 accepts the delivery.
5. uCDN requests the QoE indicator from dCDN1 for ongoing delivery
Stephan, et al. Expires April 26, 2012 [Page 36]
Internet-Draft CDNi content distribution metadata October 2011
sessions.
6. dCDN1 sends the QoE level indicator.
9. uCDN adapts its redirection rules.
10. Another end-user requests a content that uCDN is in charge of.
11. uCDN redirects the request to dCDN2 with the initial QoE.
12. End-user requests the dCDN2 to deliver content
13. dCDN2 accepts the delivery.
Discussion:
Retrieving QoE information may need some adaptation in the player at
client side.
Statistics data imply logs data processing at CDN side. Statistics
are carried over a the monitoring interface, and therefore are not
metadata. There computing takes time and may delay the detection of
the decrease of QoE.
4. Discussions
This section gather points to present during the meeting or to
discuss on the ML.
4.1. JSON reference
What is the reference of the JSON language ? is it only [RFC4627] ?
Is there a JSON framework for specifying things like XML Schema ?
4.2. Network and infrastructure Metadata
2 CDNs may desire to exchange information on the location, the
routing, the reachability, the availability and the load of their
ressources. These metadata are not content distribution metadata.
5. Inputs for the next version
Stephan, et al. Expires April 26, 2012 [Page 37]
Internet-Draft CDNi content distribution metadata October 2011
5.1. Requirement
Add the link toward individual entries of the requirement draft at
the format [Req #].
Identify and specify new requirements for
[I-D.ietf-cdni-requirements].
6. IANA Considerations
None by now.
7. Security Considerations
This section needs more works:
Content distribution Metadata, include information that may ease DoS
towards CSP or CDN infrastructures.
Privacy: Content distribution Metadata may carry information on the
location of the terminal
8. Acknowledgements
The authors would like to thank Yannick Le Louedec for its reviews
and comments.
Part of this work is funded by the EU FP7 Ocean project.
9. References
9.1. Normative References
[I-D.ietf-cdni-problem-statement]
Niven-Jenkins, B., Faucheur, F., and N. Bitar, "Content
Distribution Network Interconnection (CDNI) Problem
Statement", draft-ietf-cdni-problem-statement-00 (work in
progress), September 2011.
[I-D.ietf-cdni-requirements]
Leung, K. and Y. Lee, "Content Distribution Network
Interconnection (CDNI) Requirements",
draft-ietf-cdni-requirements-01 (work in progress),
October 2011.
Stephan, et al. Expires April 26, 2012 [Page 38]
Internet-Draft CDNi content distribution metadata October 2011
[I-D.ietf-cdni-use-cases]
Bertrand, G., Emile, S., Watson, G., Burbridge, T.,
Eardley, P., and K. Ma, "Use Cases for Content Delivery
Network Interconnection", draft-ietf-cdni-use-cases-00
(work in progress), September 2011.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[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.
[RFC4346] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.1", RFC 4346, April 2006.
9.2. Informative References
[ATIS-0800042]
ATIS, "ATIS IPTV Content on Demand Service", 2010, <ATIS
IPTV Content on Demand Service>.
[DVB-IP-TV]
Digital Video Broadcasting (DVB), "Transport of MPEG-2 TS
Based DVB Services over IP Based Networks", 2003, <http://
www.etsi.org/deliver/etsi_ts/102000_102099/102034/
01.04.01_60/ts_102034v010401p.pdf>.
[ETSI-3GP-DASH-R10]
ETSI, "Progressive Download and Dynamic Adaptive Streaming
over HTTP", 2010,
<http://www.3gpp.org/ftp/Specs/html-info/26247.htm>.
[I-D.davie-cdni-framework]
Davie, B. and L. Peterson, "Framework for CDN
Interconnection", draft-davie-cdni-framework-00 (work in
progress), July 2011.
[I-D.jenkins-cdni-metadata]
Niven-Jenkins, B., Ferguson, D., and G. Watson, "CDN
Interconnect Metadata", draft-jenkins-cdni-metadata-00
(work in progress), September 2011.
[I-D.ma-cdni-metadata]
Ma, K., "Content Distribution Network Interconnection
(CDNI) Metadata Interface", draft-ma-cdni-metadata-00
(work in progress), October 2011.
Stephan, et al. Expires April 26, 2012 [Page 39]
Internet-Draft CDNi content distribution metadata October 2011
[I-D.pantos-http-live-streaming]
Pantos, R., "HTTP Live Streaming",
draft-pantos-http-live-streaming-07 (work in progress),
September 2011.
[I-D.peterson-cdni-strawman]
Peterson, L. and J. Hartman, "A Simple Approach to CDN
Interconnection", draft-peterson-cdni-strawman-01 (work in
progress), May 2011.
[I-D.stiemerling-cdni-routing-cons]
Stiemerling, M., "Considerations on Request Routing for
CDNI", draft-stiemerling-cdni-routing-cons-00 (work in
progress), July 2011.
[I-D.thompson-cdni-atis-scenarios]
Thompson, B. and A. Kobayashi, "ATIS Internet Sourced
Content Initiative and Relevance to CDNI",
draft-thompson-cdni-atis-scenarios-00 (work in progress),
March 2011.
[RFC4627] Crockford, D., "The application/json Media Type for
JavaScript Object Notation (JSON)", RFC 4627, July 2006.
[SNIA-CDMI-1.0]
ATIS, "Cloud Data Management Interface", 2010,
<http://www.xmlmind.com/xmleditor/namespace/clipboard>.
[TVA-CD-mD]
Mtv-anytime, "Metadata Specification Version 1.3", 2003,
<http://www.tv-anytime.org/workinggroups/wg-md.html>.
Appendix A. GPX XML Schema fields exensibility
Following is an example of extension in XML. GPX 1.1 (See
http://www.topografix.com/GPX/1/1/) is a popular datamodel for
geolocalization information exchange. GPX includes GPS localization
(way point) and navigation information (routes and tracks). Each
object includes an 'extensions' element.
Stephan, et al. Expires April 26, 2012 [Page 40]
Internet-Draft CDNi content distribution metadata October 2011
localization information elements
<xsd:complexType name="gpxType">
<xsd:sequence>
<xsd:element name="metadata" type="metadataType"/>
<xsd:element name="wpt" type="wptType"/>
<xsd:element name="rte" type="rteType"/>
<xsd:element name="trk" type="trkType"/>
<xsd:element name="extensions" type="extensionsType" />
</xsd:sequence>
</xsd:complexType>
Metadata information elements
<xsd:complexType name="metadataType">
<xsd:sequence>
<-- elements must appear in this order -->
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="desc" type="xsd:string""/>
<xsd:element name="author" type="personType"/>
<xsd:element name="copyright" type="copyrightType"/>
<xsd:element name="link" type="linkType"/>
<xsd:element name="time" type="xsd:dateTime"/>
<xsd:element name="keywords" type="xsd:string"/>
<xsd:element name="bounds" type="boundsType"/>
<xsd:element name="extensions" type="extensionsType"/>
</xsd:sequence>
</xsd:complexType>
Figure #, GPX XML Schema Extension field
Authors' Addresses
Stephan Emile
France Telecom Orange
2 avenue Pierre Marzin
Lannion F-22307
France
Email: emile.stephan@orange.com
Stephan, et al. Expires April 26, 2012 [Page 41]
Internet-Draft CDNi content distribution metadata October 2011
Bertrand Gilles
France Telecom Orange
38-40 rue du General Leclerc
Issy Les Moulineaux F-92794
France
Email: gilles.bertrand@orange.com
Fieau Frederic
France Telecom Orange
2 avenue Pierre Marzin
Lannion F-22307
France
Email: fieau.frederic@orange.com
Pages Remi
France Telecom Orange
38-40 rue du General Leclerc
Issy Les Moulineaux F-92794
France
Email: remi.pages@orange.com
Stephan, et al. Expires April 26, 2012 [Page 42]