[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
request-routing requirements
The following is a minimum set of requirements we feel are necessary
in the context of CDNP. It does not address all the scenarios
discussed so far, rather it describes the requirements of the
scenarios we are most interested in. We separate the requirements into
distribution and redirection. This separation appears to be somewhat
artificial due to the decision process within each CDN. The decision
process within a CDN as currently envisioned takes feedback
information from many CDNs, combines it with policy and drives the
redirection and distribution between CDNs. In this process it is
therefore unclear if the feedback part belongs to the redirection or
distribution part of the system.
Oliver & Kobus
----
Our requirements focus on CDNs that contain surrogates and which
peer directly with each other. (We do not consider interception proxies
at this point).
In addition we assume the existence of out-of-band negotiated contracts
and SLAs between the peering CDNs.
The SLAs will specify at least the following:
- High level footprint information (where does the CDN have proxies)
- Capacity guarantees
- Capabilities depending on footprint (streaming versus web)
- Other parameters (like jitter etc... )
The following requirements are described in the context of two
CDNs (A,B). CDN A has content and CDN B has surrogates. We concentrate
on the case of distribution in one direction. This restriction
seems appropriate in that on the requirement level it is irrelevant
if the same exchanges happen in the opposite direction.
Redirection
-----------
- DNS based redirection MUST be supported using CNAME records
+ CDN B has to provide a CNAME to redirect to for each
unique DNS name which might be redirected to CDN B
- Content MUST be named such that peering can occur
based on DNS name alone. For example, streaming content
versus Web content has to be identifiable using the
DNS name alone. This can either be done by a naming convention
(streaming.foo.com, images.foo.com) or a mapping table.
- The redirection system has to receive feedback from the CDNs:
+ readiness of a CDN to serve a particular content.
For example, in a pull model CDN B has to receive the
meta information described in the distribution system before
it can serve the content CDN A wants to peer. The reception
of this meta information has to be somehow communicated to
the redirection system.
+ availability of capacity in a particular region (or part of
footprint) for a particular type of service.
- The capacity is defined as MBit/sec outgoing capacity
from all surrogates which is available to the
redirection system. For example CND B only
advertises to CDN A the capacity available to CDN A.
- A region is defined as a list of CIDR blocks.
- The type of service is defined as Web/SSL/Streaming
+ MUST allow for transfer of custom metrics defined
in the SLA
Distribution
------------
- MUST prevent advertising loops
- MUST support the pull model
- MUST support selective push
(only certain objects from a particular set
of objects can be pushed)
- MUST support invalidation of content
- MUST allow to transfer information from CDN A to CDN B
which is sufficient for CDN B to fetch the content:
+ origin site
+ access method
+ keys
+ certificates
- To match the requirement of DNS based redirection it MUST
support the distribution of entire DNS sub domains
- MUST provide CDN B with DNS name used by the client
to retrieve the document
- MUST allow content to be authenticated
- To provide the policy engine with information necessary
to make a decision the distribution system MUST acquire
the following information:
+ storage capacity available in the case of streaming media
(other information like type of content is prenegotiated in SLA)