Skip to main content

CDNI Private Features Metadata
draft-warshavsky-private-features-metadata-00

Document Type Active Internet-Draft (individual)
Authors Arnon Warshavsky , Glenn Goldstein
Last updated 2024-03-04
RFC stream (None)
Intended RFC status (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-warshavsky-private-features-metadata-00
Content Delivery Networks Interconnection                  A. Warshavsky
Internet-Draft                                                     Qwilt
Intended status: Standards Track                            G. Goldstein
Expires: 5 September 2024                             Lumen Technologies
                                                            4 March 2024

                     CDNI Private Features Metadata
             draft-warshavsky-private-features-metadata-00

Abstract

   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.

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 https://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 5 September 2024.

Copyright Notice

   Copyright (c) 2024 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Warshavsky & Goldstein  Expires 5 September 2024                [Page 1]
Internet-Draft       CDNI Private Features Metadata           March 2024

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Requirements  . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  MI.PrivateFeatureList . . . . . . . . . . . . . . . . . . . .   3
     3.1.  MI.PrivateFeature . . . . . . . . . . . . . . . . . . . .   3
   4.  Named Private Features  . . . . . . . . . . . . . . . . . . .   5
     4.1.  MI.NamedPrivateFeatureType  . . . . . . . . . . . . . . .   5
     4.2.  MI.NamedPrivateFeatureValue . . . . . . . . . . . . . . .   5
   5.  FCI.PrivateFeatures . . . . . . . . . . . . . . . . . . . . .   6
     5.1.  FCI.PrivateFeature  . . . . . . . . . . . . . . . . . . .   7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
     7.1.  CDNI Payload Types  . . . . . . . . . . . . . . . . . . .   8
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   8
   9.  Normative References  . . . . . . . . . . . . . . . . . . . .   9
   10. Informative References  . . . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   There is a natural tension between standardization and
   differentiation - all CDNs and Open Caching systems are not
   identical, and not all content providers use the same methodologies
   for controlling access to their resources.

   While [RFC8006] provides the GenericMetadata object as the basis for
   extensibility, creating a formal structure for private features as a
   distinct MI object conveys the explicit understanding of the usage
   context.  This document details a private features mechanism that
   allows for custom configuration metadata to be easily added, enabling
   rapid development of new features, and allowing companies to mutually
   agree on a feature that may not be of general interest to the
   industry.

   Through the CDNI Footprint & Capabilities Interface [RFC8008], dCDNs
   advertise their capabilities to uCDNs.  This capabilities
   advertisement allows a dCDN to declare the private features that it
   supports.

   Examples of private features include:

   *  Custom authentication schemes

   *  Definitions of custom scripts to be invoked on the CDN during
      request processing

Warshavsky & Goldstein  Expires 5 September 2024                [Page 2]
Internet-Draft       CDNI Private Features Metadata           March 2024

2.  Requirements

   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 [RFC2119].

3.  MI.PrivateFeatureList

   The dCDN MAY gather a certain number of private features (i.e., not
   [yet] adopted in a standard or considered marginal) that it MAY want
   to expose to the content provider and/or the uCDN.  Although private,
   the announcement, selection, and configuration of this private
   feature can be done through the CDNI interfaces.

   MI.PrivateFeatureList is a GenericMetadata configuration object used
   as a base generic object that permits the control of private
   features.

   Property: features

   *  Description: The list of feature configuration objects.

   *  Type: Array of MI.PrivateFeature objects

   *  Mandatory-to-Specify: Yes

3.1.  MI.PrivateFeature

   MI.PrivateFeature is a subobject of MI.PrivateFeatureList that
   defines a single private feature and contains the following
   properties:

   Property: feature-oid

   *  Description: The feature organization ID is the owner/organization
      that has specified the feature, typically the name of the company
      or organization defining the private feature.

   *  Type: String

   *  Mandatory-to-Specify: Yes

   Property: feature-type

   *  Description: Indicates the type/name of the private feature
      configuration object, driving the definition of feature-value.

   *  Type: String

Warshavsky & Goldstein  Expires 5 September 2024                [Page 3]
Internet-Draft       CDNI Private Features Metadata           March 2024

   *  Mandatory-to-Specify: Yes

   Property: feature-value

   *  Description: The feature configuration object.

   *  Type: Object.  Format and object type is defined by the value of
      the feature-type property above.

   *  Mandatory-to-Specify: Yes

   Note that the private features exposed by the dCDN can be advertised
   through a dedicated FCI object.

   The following example illustrates the Broadpeak S4Streaming feature:

   {
     "generic-metadata-type": "MI.PrivateFeatureList",
     "generic-metadata-value": {
       "features": [
         {
           "feature-oid": "Broadpeak",
           "feature-type": "S4Streaming",
           "feature-value": {
             "footprint": {
               "footprint-type": "ipv4cidr",
               "footprint-value": [
                 "192.0.2.0/24",
                 "198.51.100.0/24"
               ]
             },
             "activation": "ON",
             "mode": "transparent",
             "policy": "bandwidth-max"
           }
         }
       ]
     }
   }

                                  Figure 1

Warshavsky & Goldstein  Expires 5 September 2024                [Page 4]
Internet-Draft       CDNI Private Features Metadata           March 2024

4.  Named Private Features

   Named private features provides an alternative for specifying private
   features inside the MI.PrivateFeatureList object, allowing them to be
   specified individually rather than as part of a group under the host
   match and path match inheritance/override hierarchy.A named private
   feature corresponding to a feature inside an MI.PrivateFeatureList
   object in the same generic metadata array, takes precedence and
   overrides the latter.

4.1.  MI.NamedPrivateFeatureType

   MI.NamedPrivateFeatureType is a structured string corresponding to
   the MI.PrivateFeature object by encoding its two identifier
   properties feature-oid and feature-type into a string that can be
   incorporated into the extended definition of MI_payloadtype.

   Property:

   *  Description: A string in the form of MI.PrivateFeature.<org
      id>.<feature id>where org-id consists of alphanumeric characters,
      and feature-id MAY also contain dots for additional internal
      namespacing within the feature name.

   *  Type: String, of pattern: : ^MI\.PrivateFeature\.[a-z0-9A-
      Z]+(?:\.[a-z0-9A-Z]+){1,}$

4.2.  MI.NamedPrivateFeatureValue

   The actual structure of the MI.NamedPrivateFeatureValue object is the
   one defined in the property feature-value of the object
   MI.PrivateFeature.

   *  Type: object

   This following example illustrates the transformation from an
   MI.PrivateFeature object residing inside an MI.PrivateFeatureList,
   into an MI.GenericMetadata object residing in a metadata array of a
   host or a path match.

Warshavsky & Goldstein  Expires 5 September 2024                [Page 5]
Internet-Draft       CDNI Private Features Metadata           March 2024

   {
     "generic-metadata-type": "MI.PrivateFeatureList",
     "generic-metadata-value": {
       "features": [
         {
           "feature-oid": "ACME",
           "feature-type": "Hammer",
           "feature-value": {
             "enable": true
           }
         }
       ]
     }
   }

                                  Figure 2

   {
     "generic-metadata-type": "MI.PrivateFeature.ACME.Hammer",
     "generic-metadata-value": {
       "enable": true
     }
   }

                                  Figure 3

5.  FCI.PrivateFeatures

   While the MI objects introduced in this document allow a uCDN to
   configure private features with any required configuration metadata,
   FCI.PrivateFeatures enables a dCDN to advertise the set of private
   features that it supports.

   Property: features

   *  Description: The list of supported private features.

   *  Type: Array of nested objects of FCI.PrivateFeature

   Example:

Warshavsky & Goldstein  Expires 5 September 2024                [Page 6]
Internet-Draft       CDNI Private Features Metadata           March 2024

   {
     "capabilities": [
       {
         "capability-type": "FCI.PrivateFeatures",
         "capability-value": {
           "features": [
             {
               "feature-oid": "Broadpeak",
               "feature-type": "S4Streaming"
                    }
           ]
         }
       }
     ]
   }

                                  Figure 4

5.1.  FCI.PrivateFeature

   This subobject identifies a specific private feature in the FCI
   capabilities advertisement, and contains the following properties:

   Property: feature-oid

   *  Description: The owner/organization that has specified the
      feature.

   *  Type: String

   *  Mandatory-to-Specify: Yes

   Property: feature-type

   *  Description: Indicates the type/name of the private feature
      configuration object.

   *  Type: String

   *  Mandatory-to-Specify: Yes

6.  Security Considerations

   The FCI and MI objects defined in the present document are
   transferred via the interfaces defined in CDNI [RFC8006] which
   describes how to secure these interfaces protecting integrity and
   confidentiality while ensuring the authenticity of the dCDN and uCDN.

Warshavsky & Goldstein  Expires 5 September 2024                [Page 7]
Internet-Draft       CDNI Private Features Metadata           March 2024

7.  IANA Considerations

7.1.  CDNI Payload Types

   This document requests the registration of the following entries
   under the "CDNI Payload Types" registry hosted by IANA:

              +-----------------------------+---------------+
              | Payload Type                | Specification |
              +-----------------------------+---------------+
              | MI.PrivateFeatureList       | RFCthis       |
              +-----------------------------+---------------+
              | MI.PrivateFeature           | RFCthis       |
              +-----------------------------+---------------+
              | MI.NamedPrivateFeatureType  | RFCthis       |
              +-----------------------------+---------------+
              | MI.NamedPrivateFeatureValue | RFCthis       |
              +-----------------------------+---------------+
              | FCI.PrivateFeatures         | RFCthis       |
              +-----------------------------+---------------+
              | FCI.PrivateFeature          | RFCthis       |
              +-----------------------------+---------------+

                        Table 1: CDNI Payload Types

8.  Acknowledgements

   The authors would like to express their gratitude to the members of
   the Streaming Video Technology Alliance [SVTA] Open Caching Working
   Group for their guidance / contribution / reviews ...)

   Particulary the following people contribute in one or other way to
   the content of this draft:

   *  Guillaume Bichot - Broadpeak

   *  Chris Lemmons - Comcast

   *  Pankaj Chaudhari - Disney Streaming Services

   *  Will Power - Lumen

   *  Rajeev RK - picoNETS

   *  Shmuel Asafi - Qwilt

   *  Yoav Gressel - Qwilt

Warshavsky & Goldstein  Expires 5 September 2024                [Page 8]
Internet-Draft       CDNI Private Features Metadata           March 2024

   *  Nir Sopher - Qwilt

   *  Eric Klein - Sirius XM

   *  Alfonso Siloniz - Telefonica

   *  Ben Rosenblum - Vecima

9.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8006]  Niven-Jenkins, B., Murray, R., Caulfield, M., and K. Ma,
              "Content Delivery Network Interconnection (CDNI)
              Metadata", RFC 8006, DOI 10.17487/RFC8006, December 2016,
              <https://www.rfc-editor.org/info/rfc8006>.

   [RFC8008]  Seedorf, J., Peterson, J., Previdi, S., van Brandenburg,
              R., and K. Ma, "Content Delivery Network Interconnection
              (CDNI) Request Routing: Footprint and Capabilities
              Semantics", RFC 8008, DOI 10.17487/RFC8008, December 2016,
              <https://www.rfc-editor.org/info/rfc8008>.

10.  Informative References

   [SVTA]     SVTA, "Streaming Video Technology Alliance Home Page",
              <https://www.svta.org>.

Authors' Addresses

   Arnon Warshavsky
   Qwilt
   Israel
   Email: arnon@qwilt.com

   Glenn Goldstein
   Lumen Technologies
   United States of America
   Email: glenng1215@gmail.com

Warshavsky & Goldstein  Expires 5 September 2024                [Page 9]