Open Caching Metadata Interface
- Home
- Open Caching Provisioning
- Open Caching Metadata Interface
What Is The Metadata Interface?
While the CDNi metadata interface was originally intended to provide downstream CDNs (dCDNs) with sufficient information to service content requests on behalf of upstream CDNs (uCDNs), the specification also provides an excellent starting point for configuration interchange use cases in the CDN industry and open caching ecosystem. In order to widen the context of the CDNi metadata model to cover more general CDN and open caching use cases, extensions are required to cover more complex configurations than those contemplated in the original CDNi metadata specification.
What Does The Metadata Interface Cover?
OC CDN Service Object | Description | CDNi MI Object | Comments |
---|---|---|---|
Service ID | A service identifier. Can be used for logging, accounting, and debugging purposes. | No CDNi equivalent. Propose to add a new generic metadata type: MI.ServiceId | RFC |
Service host | Hostname designating the service | MI.HostMatch | |
Service host and path | For case in which a certain host serves more than one service, the service is designated by host and path | Mi.HostMatch + MI.PathMatch | |
Acquisition sources | List of available sources for acquisition | MI.SourceMetadata | |
Fallback to CDN address | List of CDN endpoints to fallback (redirect back) | No CDNi equivalent. Propose to add enw generic metadata type: MI.FallbackMetadata | RFC |
Protocol ACL | List of protocols allowed or denied by the service. The OC MUST deny access using non-listed protocols | MI.ProtocolACL | Absent or empty protocol ACL will result in allowing all action |
Geo restrictions | List of zones from which access to the service is allowed or denied | MI.LocationACL | Absent or empty location ACL will result in allowing all action |
Time window restriction | List of time windows during which access to the service is allowed or denied | MI.TimeWindowACL | Absent or empty time window ACL will result in allowing all action |
Cache key calculation | Instructions for calculation of the cache key | MI.Cache | Allows path segments exclusions and URI parameter inclusions |
Cache directives | TBD | No CDNi equivalent | Missing specifications |
HTTP header rewrite rules | HTTP headers rewrite metadata object contains information describing the rewrite rules for the service | No CDNi equivalent | Missing specifications |
URI signing | URI signing metadata object contains information to enable URI signing and validation by the SP | MI.DeliveryAuthorization is used to list the authentication methods to be applied. MI.UriSigning is a specific method within that list | |
URI tokenization | URI tokenization metadata object contains information to support detokenization at the cache | No CDNi equivalent | Missing specifications |
CORS headers | CORS headers metadata object contains information about which CORS headers handling. TBD | No CDNi equivalent | Missing specifications |
Other Open Caching Provisioning Interfaces
The Open Caching Provisioning Component has the following additional interfaces:
Open Caching Provisioning Specifications
Open Cache Request Routing Service Provisioning Interface Specification
This includes the functional specification of open-caching service provisioning interfaces enabling a CDN and an SP to exchange information to enable the delegation of CDN content requests to the SP
(DRAFT) Open Caching Capacity Interface
This document defines the specification for an API to retrieve capacity metrics from an Open Caching Node.