Open Caching Documents

Open Caching Documents: Technical Specifications, Requirements, and More

The Open Caching Working Group has published a number of technical documents and specifications outlining functionality of the Open Caching Nodes, Control Plane functionality, and other features. Click on the basket button to add this document to a basket for download. Click on the magnifying glass to get more details about this specification or document. Note that these links will open the svta.org website in a new tab.

Minimum Set to Implement the Open Caching API

The following documents are the minimum set of specifications required to implement the Open Caching API.

SVTA2028-1: Configuration Interface Part 1: Overview and Architecture

This is the first part in a set of documents that specify the Streaming Video Technology Alliance (SVTA) Configuration Interface, defining both the metadata model and Application Programming Interfaces (APIs) for entities to publish and retrieve configuration metadata. This document specifies the motivational drivers, use cases, and standards to facilitate interoperability within the content delivery network (CDN) and Open Caching ecosystems. The full document set presents a layered architecture that extends the Internet Engineering Task Force (IETF) CDN Interconnect (CDNI) Metadata and Capabilities Models and adds publishing APIs to provide configuration management capabilities required by the CDN and Open Caching industries.

SVTA2029: Open Caching Configuration Interface: Part 2 - Extensions to the CDNi Metadata Object Model

This is part two in a set of documents that specifies the motivational drivers, use cases, and standards for a configuration interface to facilitate interoperability within the content delivery network (CDN) and open caching ecosystem. This document presents the context and requirements for extending the Content Delivery Network Interconnection (CDNi) metadata model, as well as specific extensions that will fulfill those requirements. This document will provide all the necessary information for an Internet Engineering Task Force (IETF) memo describing the Streaming Video Alliance (SVA) metadata interface requirements beyond those stated in RFC-7337 (Content Distribution Network Interconnection Requirements), along with requested extensions to RFC-8006 (Content Delivery Network Interconnection Metadata).

SVTA2030-1: Open Caching Configuration Interface Part 3: Simple Configuration Metadata API

This is part 3 in a set of documents that specify the Streaming Video Alliance (SVTA) Configuration Interface. This document presents the Simple Configuration Metadata API, which provides basic metadata retrieval and publishing capabilities, as introduced in SVTA Configuration Interface Part 1 Introduction & Architecture [SVTA2028].

SVTA2031: Configuration Interface Part 2a: Metadata Expression Language (MEL) Version 2.0

This document specifies the syntax and provides usage examples for an expression language to be used within Streaming Video Technology Alliance (SVTA)/Content Delivery Network Interconnection (CDNI) Metadata Interface (MI) objects. The purpose of this expression language is to enable metadata to be applied conditionally (based on aspects of an HTTP request), and to enable Hypertext Transfer Protocol (HTTP) responses to be generated or altered dynamically.

SVTA2032: Open Caching Configuration Interface Part 2b: Processing Stages Metadata

This document specifies a set of objects extending the Content Delivery Network Interconnection (CDNI) metadata model [RFC8006] to allow for metadata to be applied conditionally and at various points in a dCDNs processing of requests. The concept of Processing Stages are introduced, where each stage in a CDN’s processing pipeline presents an opportunity to examine requests and responses and make alterations as needed. Metadata, such as caching rules, can be applied conditionally (based on aspects of an HTTP request header), and HTTP responses from a source can be altered dynamically (such as adding or dropping an HTTP header). This standard leverages the expression language documented in the Metadata Expression Language (MEL) Specification [SVTA2031].

SVTA2033: Configuration Interface Part 2c: Cache Control Metadata

This specification adds to the basic cache control metadata defined in [RFC8006], providing content providers and upstream CDNs (uCDNs) more fine-grained control over downstream CDN (dCDN) caching. Use cases include overriding or adjusting cache control headers from the origin, bypassing caching altogether, or altering cache keys with dynamically generated values.

SVTA2034: Configuration Interface Part 2d: Source Access Control Metadata

This specification provides an alternative to the MI.SourceMetadata objects defined in [RFC8006], providing greatly extended capabilities with regards to defining multiple sources, load balancing, and failover rules across those sources, as well as a mechanism for a content delivery network (CDN) to monitor source health and pull unhealthy sources out of rotation. Additionally, new methods are defined for authentication access to an upstream source/origin.

SVTA2035: Configuration Interface Part 2e: Client Access Control Metadata

This specification adds to the basic client access control metadata in [RFC8006], providing content providers and upstream content delivery networks (uCDNs) extended capabilities in defining location and time window restrictions. Support is also provided to define required Transport Layer Security (TLS) certificates and encryption levels.

SVTA2036: Configuration Interface Part 2f: Edge Control Metadata

This specification defines configuration metadata objects related to controlling edge access to resources via content delivery networks (CDNs) and Open Caching systems. Configuring Cross-Origin Resource Sharing (CORS) access rules and the dynamic generation of CORS headers is a key feature of typical configurations, as are the ability to define response body compression rules and client connection timeouts.

SVTA2037: Configuration Interface Part 2g: Delivery Metadata

This specification adds to the core set of configuration metadata defined in [RFC8006], providing delivery metadata to define traffic types, Open Caching request delegation behavior for Open Caching node selection, and request routing modes of traffic delegation.

SVTA2038: Configuration Interface Part 2h: Private Features Metadata

This specification defines a mechanism for downstream content delivery networks (dCDNs) to define private extensions to the metadata model that are mutually agreed upon between participating upstream content delivery networks (uCDNs) and dCDNs.

SVTA2039: Configuration Interface Part 2i: Protected Secrets Metadata

This document defines a simple mechanism for protected secret data (such as salt values or encryption keys) that may be embedded in configuration metadata or capabilities advertisements.

SVTA2040: Configuration Interface Part 4: Service Configuration Model

This specification introduces the Service Configuration Model, an object layer that wraps the HostMatch metadata defined in [RFC8006] with a construct defining content delivery network (CDN) Services and Properties (groups of hosts with shared metadata definitions), as well as reusable metadata definitions that can be used across all of a service’s CDN Properties. The Service Configuration Model represents a self-contained bundle of configuration metadata and definitions that can be published and deployed as an atomic unit without external references. This model is defined independently of any Application Programming Interface (API) and will be used as the basis for the Streaming Video Technology Alliance (SVTA) Orchestration API.

SVTA2041: Configuration Interface Part 5: Metadata Capabilities

This document defines the requirements and model for a CDNI Footprint & Capabilities (FCI) object that allows a downstream content delivery network (dCDN) to advertise the configuration metadata capabilities that it supports. It goes beyond the simple FCI.Metadata object defined in [RFC80008] by providing fine-grained advertisements with allowed usage contexts and allowed values as well as advertisements for specific Metadata Expression Language (MEL) capabilities.

SVTA2042: Configuration Interface Part 6: Orchestration API

The Orchestration API provides full configuration metadata lifecycle management, with publishing and staged deployment as distinct operations, along with versioning and rollback capabilities. The API provides capabilities required by infrastructure orchestration tools such as Terraform and Ansible to issue the commands necessary to update a dCDN configuration to a desired state.

SVTA2045: Open Caching API Footprint and Capabilities

This document describes the Application Programming Interface (API) methods and data model related to the Footprint and Capabilities Interface. The API has been entirely designed by the SVTA Open Caching group whereas the data model is based on the IETF Content Delivery Network Interconnection (CDNi) work. and on extensions specified by the SVTA Open Caching group.

SVTA2052: Configuration Interface: Document Manifest Version 2.0

The SVTA Configuration Interface is a multi-part set of documents defining both the metadata model and Application Programming Interfaces (APIs) for entities to publish and retrieve configuration metadata for content caching and delivery.

This manifest specifies the SVTA document numbers and versions of each of the parts and subparts comprising a version of the Configuration Interface. Each individual document in the set is assigned a unique SVTA document number and is versioned independently. OpenAPI definitions as well as communications of compliance with this standard may make references such as Configuration Interface Version 2.0 or Configuration Interface Version 2.1. Those versions of this document manifest can be referenced to determine the SVTA document numbers and versions of the parts and subparts that comprise any given version of the Configuration Interface standard.

SVTA5044: Open Caching API Implementation Guidelines

The Streaming Video Technology Alliance Open Caching Application Programming Interfaces (APIs) are described in several documents, each related to a particular interface. This document is the starting point for anyone implementing these APIs. It describes the Open Caching model and includes modes of operations necessary for implementation.

Exposing the Open Caching API

The following specifications are generally required for exposing an Open Caching API:

SVTA2048: Open Caching Request Routing Interface

Content delivery delegation in open caching can be realized through two modes of request redirection, iterative and recursive.

Open caching previously supported the iterative mode only. This document describes the data model and architecture changes required to enable the recursive mode of delegation as well.

SVTA2049: Open Caching Capacity Insight Interface

This document describes the Capacity Insights Interface that allows content providers (CPs), service providers (SPs), and content delivery networks (CDNs) to exchange information to facilitate an integrated and informed end-to-end traffic steering workflow. The goal is to enable real-time traffic steering based on available capacity in an effort to keep key performance indicators (KPIs) at acceptable levels. Mechanisms such as reservations and service level agreements (SLAs) are considered out of scope for the purpose of this interface.

SVTA2050: Open Caching Logging Specification

This document describes extensions to the Open Caching Configuration API and the Content Delivery Networks Interconnection (CDNI) Footprint & Capabilities Interface [RFC8008] to support configuration and advertisement of logging capabilities, along with examples and best practices to support logging,log record transformation and transmission between participants within an Open Caching environment. The extensions are based on the Internet Engineering Task Force (IETF) CDNI Request for Comments (RFCs) and extensions proposed by this Streaming Video Technology Alliance (SVTA) group.

Home Storage

The following are required when working with Open Caching in a home environment:

SVTA2026: Home Storage Functional Specification

The Home Storage Open Caching Node (HS-OCN) project adds functionality to the open caching system to further improve quality of experience (QoE) on networks with last mile challenges including speed limits (e.g. low speed DSL), usage limits (e.g. wireless), and last mile congestion (e.g. COVID quarantine). In the United States, almost 20 million households still have DSL or wireless Internet service. This number is larger worldwide. By leveraging storage in the home, end-users can have experiences with fewer rebuffer events, faster start times, and higher visual quality including UHD. At the same time as the QoE is improved, the amount of content which can be viewed is increased because the operator can reduce the peak period usage.

Referenced Specifications

The following independent specifications have been published in 2020 or before and are referenced by the specifications listed above.

SVTA2000: Open Cache Solution Functional Requirement

Problem statement and functional requirements of an open caching solution deployed by service providers to be used by content providers and content delivery networks.

SVTA2004: Open Cache Logging Requirements Specification

This document specifies requirements for Open Caching System (OCS) for Logging data to help track data acquisition and delivery of it to the end user. The information logging is critical for the Open Caching Nodes as well as the upstream CDN and the Content Provider (CP). Logging information helps OCS track key performance metrics such as, data acquisition, delivery success and failures, measuring of effective throughput, cache hits and for troubleshooting fault and performance degradation. The logging data provided to the CDN by the OCS is also used by CDNs for auditing, billing and SLA purposes. The information logging will also be used by Open Caching Nodes (making up an OCS) for ensuring its compliance of SLAs with CDNs and measuring and assuring
Quality of Experience (QoE) for an end user.

SVTA2005: Open Caching Logging Integration Functional Specification

This document describes the process of provisioning a Logging Integration between a CDN and an ISP in an Open Caching solution. That is the process of configuring how delivery logs are transferred from ISP to CDN. The requirements for logging in Open Caching Nodes are described in the “Open Caching Logging Requirements Specification” document. This document defines extensions to the “Footprint and Capabilities” interface and to the “Service Metadata” interface, to allow provisioning a Logging Integration.

SVTA2006: 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 Open Caching system.

SVTA2007-1: Open Cache Request Routing Functional Specification (Version 2.0)

High-level functional specification of open caching request routing and the required interfaces to enable request routing to be performed from an upstream CDN to an open cache system.

SVTA2007-1: Open Cache Request Routing Functional Specification (Version 2.0)

High-level functional specification of open caching request routing and the required interfaces to enable request routing to be performed from an upstream CDN to an open cache system.

SVTA2008: Open Caching Content Management Operations Specification

This document describes the functional specification of the Open Caching Content Management interface and the functionality requirements from the SP Open Caching system. This document discusses the interface between the SP Open Caching Controller and the CDN. The interface between the SP OCC and the cache nodes (OCNs) is beyond the scope of this document.

SVTA2016: Open Caching Relayed Token Authentication

This document describes the functional specification of open-caching relayed-token-authentication mechanism. The focus is on generically supporting URI signing using this method. There are additional applications – like user Cookies, which are mentioned in this document without getting into the specifics. While multiple different CDNs, as well as CDNi, support Tokenization in alternative methods, the goal of this implementation is to support all of these different formats via the relay authentication mechanism.

SVTA2018: Open Caching Performance Measurement Specification

This document outlines measurement metrics for open-caching. The focus of this document is to outline key performance indicators related to quality of service metrics at the open cache nodes that is responsible for delivering the streaming content.