You are on page 1of 24

1.

CONTRIBUTORS

The following people contributed to this document:

► Guillaume Bichot (Broadpeak)

2 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


Notice:

This document has been created by the Streaming Video Technology Alliance. It is offered to
the Alliance Membership solely as a basis for agreement and is not a binding proposal on the
companies listed as resources above. The Alliance reserves the rights to at any time add,
amend or withdraw statements contained herein. Nothing in this document is in any way
binding to the Alliance or any of its members. The user’s attention is called to the possibility
that implementation of the Alliance agreement contained herein may require the use of
inventions covered by the patent rights held by third parties. By publication of this Alliance
document, the Alliance makes no representation or warranty whatsoever, whether expressed
or implied, that implementation of the specification will not infringe any third party rights, nor
does the Alliance make any representation or warranty whatsoever, whether expressed or
implied, with respect to any claim that has been or may be asserted by any third party, the
validity of any patent rights related to any such claim, or the extent to which a license to use
any such rights may or may not be available or the terms hereof.

©2023 Streaming Video Technology Alliance

This document and translation of it may be copied and furnished to others, and derivative
works that comment on or otherwise explain it or assist in its implementation may be
prepared, copied, published and distributed, in whole or in part, without restriction other than
the following, (1) the above copyright notice and this paragraph must be included on all such
copies and derivative works, and (2) this document itself may not be modified in any way,
such as by removing the copyright notice or references to the Alliance, except as needed for
the purpose of developing Alliance Specifications.

By downloading, copying, or using this document in any manner, the user consents to the
terms and conditions of this notice. Unless the terms and conditions of this notice are
breached by the user, the limited permissions granted above are perpetual and will not be
revoked by the Alliance or its successors or assigns.

This document and the information contained herein is provided on an “AS IS” bases and THE
ALLIANCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
IMPLIED WARRANTIES OF MERCHANTABILITY, TITLE OR FITNESS FOR A PARTICULAR PURPOSE.

3 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


2. ABSTRACT

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.

4 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


2.1. VERSIONING

Version Version 1.0 Date June 30, 2021

● Ratified document

Version Version 1.1 Date –

● Added Capacity Insights objects


● Minor corrections

Table 1: Document versioning

5 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


TABLE OF CONTENTS

1. CONTRIBUTORS 2
2. ABSTRACT 4
2.1. VERSIONING 5
3. OBJECTIVES AND SCOPE 7
3.1. Scope 7
4. INTRODUCTION 8
5. ACRONYMS AND DEFINITIONS 9
6. FOOTPRINT AND CAPABILITIES API 10
6.1. Overview 10
6.2. The Footprint & Capabilities Advertisement Interface (FCI) API 11
6.2.1. GET /OC/FCI/advertisement 11
6.2.2. POST /OC/FCI/subscription 11
6.2.3. GET | DELETE /OC/FCI/subscription/{subscriptionId} 13
7. FOOTPRINT AND CAPABILITIES DATA MODEL 15
7.1. Basic Data Model (CDNi compliant) 15
7.1.1. Structural Generic Object 15
7.1.2. Metadata Objects 16
7.2. FCI Data Model Extension 20
7.2.1. Configuration Interface 20
7.2.2. Capacity Insights Interface 20
8. SPECIFICATIONS AND STANDARD REFERENCES 21
9. TABLES AND FIGURES 22
9.1. Tables 22
9.2. Figures 22
9.3. Code 22
10. ABOUT THE STREAMING VIDEO TECHNOLOGY ALLIANCE 24

6 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


3. OBJECTIVES AND SCOPE

The objectives of this document are:

► Provide all the information software developers need to begin implementing and

using the Footprint and Capabilities Interface API.

3.1. Scope

Scope of this document ADDRESSES:

► This document describes the Application Programming Interface (API) methods


and data model agreed to by the SVTA Open Caching group. It is based on the
Internet Engineering Task Force (IETF) Content Delivery Network Interconnection
(CDNi) Request for Comments (RFCs) and extensions proposed by this SVTA
group.

7 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


4. INTRODUCTION

The Streaming Video Technology Alliance Open Caching API (SVTA-OC-API) defines the
set of services required by the SVTA open caching ecosystem (see “Open Caching API
Implementation Guidelines”), including the Footprint and Capabilities API described in
this document.

Figure 1: SVTA Open Caching API implementation guide and related specifications

In the figure above, green indicates that the document exists, orange indicates the
document is under construction, and gray indicates a future, planned document.

The SVTA-OC-API is exposed by the telecom operator (the Internet Service Provider),
perceived as the downstream Content Delivery Network (dCDN), according to the IETF
CDNi terminology. The API is operated by either the content provider (CP) or a CDN
operator acting for the content provider and perceived as the upstream CDN (uCDN).

More generally, the API can be exposed by any CDN service operator and be used by any
upstream content provider that wishes to control that CDN.

SVTA-OC-API is a REST API defined as a JavaScript Object Notation (JSON) object


according to the OpenAPI Specification Standard (https://www.openapis.org/). The API
definition is hosted by the SVTA organization and can be retrieved here:

▶ https://github.com/streaming-video-alliance/OC-API

8 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


5. ACRONYMS AND DEFINITIONS

This document uses the following acronyms and other terms:

Abbreviation Description

API Application Programming Interface


CDN Content Delivery Network
CDNi CDN Interconnection
CP Content Provider / CDN [as a service] Provider
dCDN Downstream CDN
FCI Footprint & Capabilities Advertisement interface
FQDN Fully Qualified Domain Name
IETF Internet Engineering Task Force
ISP Internet Service Provider
JSON JavaScript Object Notation
MEL Metadata Expression Language
OCN Open Caching Node
SVTA Streaming Video Alliance
Pull-mode A mode of interaction where one requests data from another entity.
Push-mode A mode of interaction where one entity publishes data to another
entity that is listening for it.
RFC Request for Comments
UA User Agent
uCDN Upstream CDN
URI Uniform Resource Identifier
YAML A human-readable data-serialization language.

Table 2: Acronyms and Definitions

9 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


6. FOOTPRINT AND CAPABILITIES API

6.1. Overview

A simplified open caching workflow is represented in Figure 2. The Content


Provider/uCDN checks the Internet Service Provider/dCDN capabilities in order to adjust
its configuration metadata set. Then, it pushes the configuration metadata to the dCDN.
Last, and periodically, it must reread the ISP/dCDN capabilities, as they may have been
modified as a consequence of a configuration operation.

Figure 2 - Simple [Redirect] delegation workflow

The Footprint and Capabilities interface is based on the IETF CDNi work, and more
precisely on RFC8008. It is discussed in the Open Cache Request Routing Service
Provisioning Interface Specification. This current document defines the API and related
data model based on OpenAPI formalism and relies on the following companion GIthub
repository.

▶ https://github.com/streaming-video-alliance/OC-API

10 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


6.2. The Footprint & Capabilities Advertisement Interface (FCI) API

This section describes the API methods and related data model. For more insights and
explanations, the reader must refer to the related documentation.

6.2.1. GET /OC/FCI/advertisement

A simple API in pull-mode, according to the Open Cache Request Routing Service
Provisioning Interface Specification.

The advertisement file is unique and contains the complete footprint and capabilities
information structure that the dCDN/ISP wants to expose.

The OpenAPI definition of the FCI API is displayed below. The “FCI_capabilities” object
referenced in the response is described in section 6.1.1.

get:
tags:
- OC_FCI
summary: Get the FCI advertisements according to SVTA and CDNi (RFC8008/RFC8804).
operationId: oc_fci_get_advertisement
description: 'This operation is used to pull the FCI advertisement related to the requester.'
responses:
'200':
description: 'FCI advertisement'
content:
application/cdni:
schema:
$ref: './SVTA_OC_CDNI_SVTA_openapi.yaml#/components/schemas/FCI_capabilities'
'400':
description: 'Bad request'
'403':
description: 'Forbidden'
'404':
description: 'No FCI advertisement'

Code 1: OpenAPI definition of the FCI API

6.2.2. POST /OC/FCI/subscription

This API is used by the CP/uCDN to subscribe for a notification service (PUSH) that
triggers the dCDN/ISP to call the target URI back whenever the FCI dataset is modified
(i.e. any capabilities modified, added, removed for any existing, modified, new footprint
areas). If successful, the subscription ID (URI) of the subscription resource is returned in
the “Location” header of the response. It can then be read or deleted.

11 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


/OC/FCI/subscription:
post:
tags:
- OC_FCI
summary: 'Subscribes to FCI updates notifications.'
operationId: oc_fci_post_subscribe
description: 'A subscription ID is returned in the Location header of the response in case of
successful creation.'
requestBody:
description: ''
content:
application/cdni:
schema:
type: object
required:
- notificationTarget
properties:
notificationTarget:
type: string
notificationType:
type: string
enum: [fci]
required: true
callbacks:
FciNotification:
'{$request.body#/notificationTarget}':
put:
summary: 'The ISP OC/dCDN to post an FCI advertisement update.'
description: 'This callback is used by the ISP OC/dCDN to put an FCI advertisement update.'
tags:
- OC_FCI
operationId: oc_fci_push_notification
requestBody:
description: Callback payload.
content:
'application/cdni':
schema:
type: array
items:
$ref: './SVTA_OC_CDNI_SVTA_openapi.yaml#/components/schemas/FCI_capabilities'
responses:
'200':
description: 'FCI updated.'
'400':
description: 'Bad request.'
'403':
description: 'Forbidden.'
responses:
201:
description: 'Subscription created. The "Location" header gathers the subscription ID (the URI)
of the newly created resource.'
400:
description: 'Bad request.'
403:
description: 'Forbidden.'
404:
description: 'No FCI advertisement.'

Code 2: Location header response of FCI API

12 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


6.2.3. GET | DELETE /OC/FCI/subscription/{subscriptionId}

These methods are used to read and delete, respectively, a notification subscription
previously created with the POST /OC/FCI/subscription method.

/OC/FCI/subscription/{subscriptionId}:
get:
tags:
- OC_FCI
summary: get the FCI notification subscription
operationId: oc_fci_get_notificationSubscription
description: ''
parameters:
- name: subscriptionId
in: path
required: true
description: 'Identifier of the subscription resource. This parameter is returned when creating
the subscription.'
schema:
type: string
responses:
200:
description: 'FCI notification subscription.'
content:
application/cdni:
schema:
type: object
required:
- notificationTarget
properties:
notificationTarget:
type: string
notificationType:
type: string
enum: [fci]
400:
description: 'Bad request'
403:
description: 'Forbidden'
404:
description: 'Not found'
delete:
tags:
- OC_FCI
summary: 'delete the notification subscription'
operationId: OC_fci_delete_notificationSubscription
parameters:
- name: subscriptionId
in: path
required: true
description: 'Identifier of the subscription resource. This parameter is returned when creating
the subscription.'
schema:
type: string
responses:
200:
description: 'Notification subscription deleted'
content: {}
400:
description: Command is invalid
content: {}
403:
description: Forbidden
content: {}

13 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


404:
description: 'Not found'

Code 3: Read and delete a notification subscription

14 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


7. FOOTPRINT AND CAPABILITIES DATA MODEL

7.1. Basic Data Model (CDNi compliant)

The basic data model conforms with IETF CDNi in the sense that it gathers the same
objects, as defined in RFC8008 and RFC8804. However, objects described in this section
may differ from the original ones. The modifications made by SVTA may be included in
the IETF CDNi model extension.

7.1.1. Structural Generic Object

The FCI model defines one structural object and multiple metadata objects with named
capabilities. The structural object is used to transport metadata objects in a generic and
opaque manner.

7.1.1.1. FCI_capabilities

The generic object that is used to transport an array of FCI_genericbase objects. A


generic FCI base object is an FCI capability (capability-type and capability-value
properties) associated with a footprint. The footprints property is an array of
MI.Footprint objects (defined in Configuration Interface Part 3).

The following script corresponds to the YAML definition extraction corresponding to the
“FCI_capabilities” object, as stored in the dedicated SVTA github repository.

FCI_capabilities:
type: object
description: 'The list of capabilities supported by the dCDN.'
properties:
capabilities:
type: array
items:
$ref: './SVTA_OC_CDNI_openapi.yaml#/components/schemas/FCI_genericbase'
FCI_capabilitytype:
type: string
enum: [FCI.Metadata, FCI.AuthTypes, FCI.ProcessingStages, FCI.SourceMetadataExtended,
FCI.RequestRouting, FCI.PrivateFeatures, FCI.OcnSelection]
FCI_genericbase:
type: object
description: 'Adding properties to the FCI_genericbase object.'
required:

15 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


- capability-type
- capability-value
properties:
capability-type:
allOf:
- $ref: './SVTA_OC_CDNI_openapi.yaml#/components/schemas/FCI_capabilitytype'
- $ref: '#/components/schemas/FCI_capabilitytype'
capability-value:
oneOf:
- $ref: './SVTA_OC_CDNI_openapi.yaml#/components/schemas/FCI.DeliveryProtocol'
- $ref: './SVTA_OC_CDNI_openapi.yaml#/components/schemas/FCI.AcquisitionProtocol'
- $ref: './SVTA_OC_CDNI_openapi.yaml#/components/schemas/FCI.RedirectionMode'
- $ref: './SVTA_OC_CDNI_openapi.yaml#/components/schemas/FCI.Logging'
- $ref: './SVTA_OC_CDNI_openapi.yaml#/components/schemas/FCI.RedirectTarget'
- $ref: '#/components/schemas/FCI.Metadata'
- $ref: '#/components/schemas/FCI.AuthTypes'
- $ref: '#/components/schemas/FCI.ProcessingStages'
- $ref: '#/components/schemas/FCI.SourceMetadataExtended'
- $ref: '#/components/schemas/FCI.RequestRouting'
- $ref: '#/components/schemas/FCI.PrivateFeatures'
- $ref: '#/components/schemas/FCI.OcnSelection'
- $ref: '#/components/schemas/FCI.Telemetry'
discriminator:
propertyName: capability-type
footprints:
type: array
description: 'List of CDNi Footprint objects (from the "CDNi Metadata Footprint Types" registry
[RFC8006]).'
items:
$ref: './SVTA_OC_CDNI_openapi.yaml#/components/schemas/MI.Footprint'

Code 4: YAML definition extraction corresponding to the FCI_capabilities object

The capability-type and capability-value properties are composed with definitions


belonging to the basic data model and the extended data model.

7.1.2.Metadata Objects

7.1.2.1. FCI.DeliveryProtocol

This data model is discussed in the Open Cache Request Routing Service Provisioning
Interface Specification.

Note that the supported protocol list corresponds to the original CDNi definition (RFC
8006), extended with the additional values “http/2" and "http/3”.

The supported delivery protocols advertised by the dCDN should be among the list of
configurable delivery protocols. The property MI_protocol is defined in Configuration
Interface Part 3.

FCI.DeliveryProtocol:
type: object

16 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


description: 'The Delivery Protocol capability object is used to indicate support for one or more of
the protocols listed in the "CDNI Metadata Protocol Types" registry (defined in [RFC8006]).'
required:
- delivery-protocols
properties:
delivery-protocols:
type: array
items:
$ref: '#/components/schemas/MI_protocol'
MI_protocol:
type: string
enum: [http/1.1, https/1.1, http/2, http/3]

Code 5: Supported protocol list of the dCDN

7.1.2.2.FCI.AcquisitionProtocol

This data model is discussed in the Open Cache Request Routing Service Provisioning
Interface Specification.

The supported acquisition protocols advertised by the dCDN should be among the list of
configurable acquisition protocols. The property MI_protocol is defined in Configuration
Interface Part 3.

Note that the supported protocol list corresponds to the original CDNi definition (RFC
8006), extended with the additional values “http/2" and "http/3”.

FCI.AcquisitionProtocol:
type: object
description: 'The Acquisition Protocol capability object is used to indicate support for one or more
of the protocols listed in the "CDNI Metadata Protocol Types" registry (defined in [RFC8006]).'
required:
- acquisition-protocols
properties:
acquisition-protocols:
type: array
items:
$ref: '#/components/schemas/MI_protocol'
MI_protocol:
type: string
enum: [http/1.1, https/1.1, http/2, http/3]

Code 6: Acquisition protocol list of the dCDN

7.1.2.3.FCI.RedirectionMode

The following modes are discussed in the Open Cache Request Routing Functional
Specification:

▶ DNS-I: Iterative DNS

17 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


▶ DNS-R: Recursive DNS

▶ HTTP-I: Iterative HTTP Redirect

▶ HTTP-R: Recursive HTTP Redirect

The DNS-R and HTTP-R modes must support the CDNi Request routing interface.

FCI.RedirectionMode:
type: object
description: 'List of supported CDNI redirection modes.'
required:
- redirection-modes
properties:
redirection-modes:
type: array
items:
$ref: '#/components/schemas/FCI_redirectionmode'
FCI_redirectionmode:
type: string
enum: [DNS-I, DNS-R, HTTP-I, HTTP-R]

Code 7: List of supported CDNi redirection modes

7.1.2.4.FCI.Metadata

This is a list of supported configuration metadata objects. “MI_payloadtype” is defined in


Configuration Interface Part 3.

FCI.Metadata:
type: object
description: 'The CDNi Metadata capability object is used to indicate support for CDNi
GenericMetadata types [RFC8006].'
required:
- metadata
properties:
metadata:
description: 'List of supported CDNi GenericMetadata types. List of strings corresponding to
entries from the “CDNi payloadTypes" registry [RFC7736] that correspond to CDNi GenericMetadata objects.
An empty list MUST be interpreted as "no GenericMetadata types are supported", i.e., "only structural
metadata and simple types are supported"; otherwise, the list must be interpreted as containing "the only
GenericMetadata types that are supported" (in addition to structural metadata and simple types)
[RFC8006].'
type: array
items:
$ref: '#/components/schemas/MI_payloadtype'
MI_payloadtype:
type: string
enum: [MI.SourceMetadata, MI.Source, MI.LocationACL, MI.LocationRule, MI.Footprint,
MI.TimeWindowACL, MI.TimeWindowRule, MI.TimeWindow, MI.ProtocolACL, MI.ProtocolRule,
MI.DeliveryAuthorization, MI.Cache, MI.Auth, MI.Grouping, MI.FallbackTarget, MI.HeaderAuth, MI.AWSv4Auth,
MI.UriSigning, MI.AllowCompress, MI.CachePolicy, MI.ComputedCacheKey,MI.ComputedCacheKey,
MI.CrossoriginPolicy, MI.NegativeCachePolicy, MI.CacheBypassPolicy, MI.OcnSelection,
MI.PrivateFeatureList, MI, .ProcessingStages, MI.StageRules, MI.ExpressionMatch, MI.StageMetadata,
MI.RequestTransform, MI.ResponseTransform, MI.SyntheticResponse, MI.HeaderTransform, MI.HTTPHeader,

18 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


MI.RequestedCapacityLimits, MI.RequestRouting, MI.ServiceIDs, MI.SourceMetadataExtended,
MI.SourceExtended, MI.LoadBalanceMetadata, MI.StaleContentCachePolicy, MI.TrafficType]

Code 8: Supported configuration metadata objects

7.1.2.5.FCI.RedirectTarget

This method conforms to CDNI RFC8804.

FCI.RedirectTarget:
type: object
description: 'FCI extension per RFC8804'
properties:
redirecting-hosts:
description: 'One or more uCDN hosts to which this redirect target is attached. A redirecting
host SHOULD be a host that was published in a HostMatch object by the uCDN as defined in Section 4.1.2 of
[RFC8006].'
type: array
items:
$ref: '#/components/schemas/MI_endpoint'
dns-target:
description: 'The DnsTarget object gives the target address for the DNS response to delegate
from the uCDN to the dCDN.'
$ref: '#/components/schemas/FCI_dnstarget'
http-target:
description: 'Target URI for an HTTP redirect.'
$ref: '#/components/schemas/FCI_httptarget'
FCI_httptarget:
type: object
description: 'FCI extension per RFC8004: the HttpTarget object gives the necessary information to
construct the target Location URI for HTTP redirection.'
required:
- host
properties:
host:
description: 'Hostname or IP address and an optional port, i.e., the host and port of the
authority component of the URI as described in Section 3.2 of [RFC3986].'
allOf:
- $ref: '#/components/schemas/MI_endpoint'
scheme:
description: 'A URI scheme to be used in the redirect response location construction. When
present, the uCDN MUST use the provided scheme for HTTP redirection to the dCDN. If this property is
absent or empty, the uCDN request router MUST use the same scheme as was used in the original request
before redirection.'
type: string
enum: [http, https]
path-prefix:
description: 'A path prefix for the HTTP redirect Location header. The original path is appended
after this prefix.'
type: string
include-redirecting-host:
description: 'A flag indicating whether or not to include the redirecting host as the first path
segment after the path-prefix. If set to true and a "path-prefix" is used, the uCDN redirecting host MUST
be added as a separate path segment after the path-prefix and before the original URL path. If set to
true and there is no path-prefix, the uCDN redirecting host MUST be prepended as the first path segment in
the redirect URL.'
type: boolean
default: false
FCI_dnstarget:
type: object
description: 'FCI extension per RFC8004: the DnsTarget object gives the target address for the DNS
response to delegate from the uCDN to the dCDN.'
required:

19 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


- host
properties:
host:
description: 'Endpoint object as defined in Section 4.3.3 of [RFC8006], with the limitation that
it SHOULD NOT include a port number and, in case a port number is present, the uCDN MUST ignore it.'
$ref: '#/components/schemas/MI_endpoint'

Code 9: FCI extension per CDNi RFC8804

7.2.FCI Data Model Extension

Some of the data model extensions are required for consistency with Configuration
Interface Part 3 V1.1. – Publishing layer APIConfiguration Interface Part 3 while others are
associated with new features, like the Capacity Insights interface.

7.2.1. Configuration Interface

These object definitions are detailed in the Configuration Interface Part 3 V1.1 – Publishing
layer API document. The following objects must be supported.

● FCI.AuthTypes
● FCI.ProcessingStages
● FCI.SourceMetadataExtended
● FCI.RequestRouting
● FCI.PrivateFeatures
● FCI.OcnSelection

7.2.2. Capacity Insights Interface

This part of the specification relies on the Capacity Insight interface document. It defines
the SVTA open caching extension to the basic list of objects (described in Basic data
model). The following objects must be supported

● FCI.CapacityLimits
● FCI.Telemetry

20 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


8. SPECIFICATIONS AND STANDARD REFERENCES

Specification Organization More Information


Request Routing Interface SVTA Draft
Capacity Insight interface SVTA Draft

Open Caching API Implementation Guidelines SVTA Draft

Open Caching API - Footprint and Capabilities SVTA Draft


Interface

Open Cache Request Routing Functional SVTA


Specification (Published, 2.0-January 2021)

Open Cache Request Routing Service SVTA


Provisioning Interface Specification (Published,
1.0-July 2017)

RFC8804-Content Delivery Network IETF RFC8804


Interconnection (CDNI) Request Routing
Extensions

RFC8008-Content Delivery Network IETF RFC8008


Interconnection (CDNI) Footprint and
Capabilities Semantics

RFC8006-Content Delivery Network IETF RFC8006


Interconnection (CDNI) Metadata

Configuration Interface Part 1 V1.1 – Overview & SVTA


Architecture
Configuration Interface Part 2 V1.1– Proposed SVTA
Extensions to CDNi Metadata Object Model
Configuration Interface Part 3 V1.1 – Publishing SVTA
layer API

SVTA CDNi OC API SVTA https://github.com/strea


ming-video-alliance/OC
-API

Open API Specification OPEN API INITIATIVE


Table 3: Specifications and Standards References

21 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


9. TABLES AND FIGURES

9.1. Tables

Table 1: Document versioning 5

Table 2: Acronyms and Definitions 9

Table 3: Specifications and standards references 22

9.2. Figures

Figure 1: SVTA Open Caching API implementation guide and


related specifications 8

Figure 2 - Simple [Redirect] delegation workflow 10

9.3. Code

Code 1: OpenAPI definition of the FCI API


11

Code 2: Location header response of FCI API 12

Code 3: Read and delete a notification subscription


13

22 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


Code 4: YAML definition extraction corresponding to the
15
FCI_capabilities object

Code 5: Supported protocol list of the dCDN


16

Code 6: Acquisition protocol list of the dCDN


17

Code 7: List of supported CDNi redirection modes


18

Code 8: Supported configuration metadata objects


18

Code 9: FCI extension per CDNi RFC8804


19

23 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]


10.ABOUT THE STREAMING VIDEO TECHNOLOGY ALLIANCE

Comprised of members from across the video ecosystem, the Streaming Video
Technology Alliance is a global association that works to solve critical streaming video
challenges in an effort to improve end-user experience and adoption. The organization
focuses on three main activities: first is to educate the industry on challenges,
technologies, and trends through informative, publicly available resources such as
whitepapers, articles, and e-books; second is to foster collaboration among different
video ecosystem players through working groups, quarterly meetings, and conferences;
third is to define solutions for streaming video challenges by producing specifications,
best practices, and other technical documentation. For more information, please visit
https://www.svta.org.

24 Open Caching API Footprint and Capabilities (Version 1.1)[October 13,2023]

You might also like