<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.13 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-eddy-sconepro-api-02" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="SCONEPRO APIs">APIs To Expose SCONEPRO Metadata to Applications</title>
    <seriesInfo name="Internet-Draft" value="draft-eddy-sconepro-api-02"/>
    <author initials="W." surname="Eddy" fullname="Wesley Eddy">
      <organization>Meta</organization>
      <address>
        <email>wesleyeddy@meta.com</email>
      </address>
    </author>
    <author initials="A." surname="Tiwari" fullname="Abhishek Tiwari">
      <organization>Meta</organization>
      <address>
        <email>atiwari@meta.com</email>
      </address>
    </author>
    <author initials="A." surname="Frindell" fullname="Alan Frindell">
      <organization>Meta</organization>
      <address>
        <email>afrind@meta.com</email>
      </address>
    </author>
    <date year="2024" month="May" day="20"/>
    <area>Web and Internet Transport</area>
    <workgroup>SCONEPRO</workgroup>
    <keyword>Adaptive Bit-Rate Video</keyword>
    <abstract>
      <?line 78?>

<t>This document describes API considerations to provide applications
with network-supplied information about acceptable network flow rates.  Since
this information is expected to be signalled from the network within the stack
below the application using the SCONEPRO protocol (to be defined by the IETF),
it needs to be made accessible to applications in order for them to pick proper
video rates, or to otherwise confine the application behavior within
network-defined limits.</t>
    </abstract>
  </front>
  <middle>
    <?line 88?>

<section anchor="sconepro-background-and-introduction">
      <name>SCONEPRO Background and Introduction</name>
      <t>Video traffic is already 70% of all traffic on the Internet and is expected to
grow to 80% by 2028. New formats like short form videos have seen tremendous
growth in recent years. Both in developed and emerging markets video traffic
forms 50-80% of traffic on mobile networks. These growth trends are likely to
increase with new populations coming online on mobile-first markets and the
observation that unlike text content, video content consumption is not being
limited by literacy barriers. On the other hand, the electromagnetic spectrum
is a limited resource. In order to ensure that mobile networks continue
functioning in a healthy state despite this incredible growth, communication
service providers (CSPs) will be required to make infrastructure investments
such as more licensed spectrum, cell densification, massive MIMO etc. In order
to flatten the rate of growth, CSPs in several markets attempt to identify and
throttle video traffic based on user data plans. There are several problems
with this kind of throttling:</t>
      <ol spacing="normal" type="1"><li>
          <t>CSPs can not explicitly measure the effect that throttling has on the end
user’s quality of experience (QoE) making this an open loop approach.</t>
        </li>
        <li>
          <t>Traffic detection and throttling for every flow is compute intensive for
CSPs. With distributed UPF (user plane function) in 5G mobile networks more
nodes in CSP network may need to support traffic detection and throttling.
Traffic detection can have inaccuracies and these inaccuracies are expected to
increase as the content delivery industry moves towards end-2-end encryption
like TLS 1.3 and encrypted client hello (ECH).</t>
        </li>
        <li>
          <t>The unpredictable and non-transparent behavior of traffic throttlers used by
CSPs confuse the bandwidth estimation and congestion control protocols being
used within end-2-end video delivery sessions between content server and
client. This results in poor quality of experience (QoE) for the end user.</t>
        </li>
        <li>
          <t>Content and Application Providers (CAPs) are designing algorithms to detect
the presence of such traffic throttlers to counter their detrimental effects.
These algorithms have their own inaccuracies in detection and add compute
resources on the CAP side.</t>
        </li>
      </ol>
      <t>An alternative approach is for CAPs to self-adapt the traffic corresponding to
video flows. Since CAPs control the client and server endpoints and can measure
end user QoE, they are in a better position to do this self-adaptation in a
close loop manner. This alternative approach has already been proven to improve
user QoE in production deployments <xref target="YouTube"/>.</t>
      <t>For this alternative approach to work a standardized secure on-path network
interface is required which will enable CSP controlled network elements to
signal the desired traffic profile characteristics to the CAP client/server
endpoints. The Secure Communication of Network Properties (SCONEPRO) protocol
(previously known as SADCDN) is being proposed in the IETF as a working group
<xref target="SADCDN-Charter"/> motivated by this alternate approach.</t>
      <section anchor="sconepro-api-motivations">
        <name>SCONEPRO API Motivations</name>
        <t>The general problem statement for SCONEPRO is described in the video optimization requirements document <xref target="I-D.joras-sconepro-video-opt-requirements"/>,
including the shaping or throttling that CSPs perform.  While this problem
currently has especially large impact on a few large content providers,
solutions for SCONEPRO are generally applicable to any applications that use
QUIC <xref target="RFC9000"/> and are subject to throttling within CSP networks.</t>
        <t>General use of SCONEPRO metadata for any applications can be facilitated via an
open Application Programming Interface (API) that could be implemented in
appropriate QUIC stacks, web browsers, or other libraries.</t>
        <t>Depending on how the SCONEPRO signaling protocol works (that is to-be-defined
by the IETF), the SCONEPRO metadata may be available at various different
places in the protocol stack spanning operating system, browser, and
application code.  This document tries to initially make no assumptions about
how the SCONEPRO signalling works, and so considers possibilities to integrate
the metadata into APIs provided from OSes, QUIC libraries, web browsers, etc.</t>
        <t>The purpose of this document is only to demonstrate that general API exposure of the SCONEPRO metadata is achievable
without prescribing a specific API solution.  It is envisioned that one or more
specific API solutions will be defined either through IETF or W3C, to
correspond with the SCONEPRO protocol specification.  At least in its current
form, this document is not intended to be published as an RFC.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="application-stack-designs">
      <name>Application Stack Designs</name>
      <t>There are a variety of different application stack designs that are relevant.
The main assumption for SCONEPRO in general is that QUIC is used.</t>
      <t>Applications could, for instance, either use QUIC directly through a linked software library,
or applications could be running within a browser, using QUIC indirectly via
browser APIs.</t>
      <t>Specific protocol solutions for SCONEPRO will be defined by the working group.
In general, the SCONEPRO network rate-limiting information could be discovered
by an end-system in several different ways; potential network signaling
approaches are described in other documents (e.g.
<xref target="I-D.ihlar-masque-sconepro-mediabitrate"/>,
<xref target="I-D.brw-sconepro-rate-policy-discovery"/>, or others).  General classes of
information signaling include:</t>
      <ol spacing="normal" type="1"><li>
          <t>Via the QUIC stack, with the information inserted by an on-path SCONEPRO network element.</t>
        </li>
        <li>
          <t>Via other IP or transport methods below QUIC (e.g. IP extension headers, UDP options, etc.) that might be inserted on the path.</t>
        </li>
        <li>
          <t>Via the OS, with the information coming in network advertisements separate from the transport connection (e.g. via Router Advertisements or DHCP).</t>
        </li>
      </ol>
      <t>These methods are not necessarily mutually exclusive.  For instance, a DHCP
option could indicate that certain classes of applications are throttled at a
particular rate, while a SCONEPRO on-path mechanism could also provide more
explicit per-connection indications of when throttling is active as well.</t>
      <table>
        <thead>
          <tr>
            <th align="left">SCONEPRO Solution Type</th>
            <th align="left">Information Visibility</th>
            <th align="left">API Definitions</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">QUIC-based</td>
            <td align="left">QUIC library or web browser</td>
            <td align="left">Specific to each QUIC-library, or browser APIs.</td>
          </tr>
          <tr>
            <td align="left">IP or UDP-based</td>
            <td align="left">OS and possibly QUIC library</td>
            <td align="left">Socket API extension may be needed, e.g. to expose via socket options or other means.  For mobile apps using native stacks, OS extensions may be needed.</td>
          </tr>
          <tr>
            <td align="left">Other approaches that are not on-path or per-connection</td>
            <td align="left">OS</td>
            <td align="left">Per-OS and/or socket API extensions</td>
          </tr>
        </tbody>
      </table>
      <t>For solution types that are not QUIC-based, the QUIC implementation could use
socket or OS API extensions in order to get the data and convey it up to the
applications via its own API.  However, QUIC library APIs are not standardized;
they differ between common QUIC libraries, and so this document only suggests
in a general sense of how the QUIC stack should convey this information to
applications.</t>
      <t>The following sections consider first the types of metadata that could be provided, and then how that SCONEPRO metadata might be provided in different cases of APIs including potential:</t>
      <ol spacing="normal" type="1"><li>
          <t>Browser APIs</t>
        </li>
        <li>
          <t>QUIC APIs</t>
        </li>
        <li>
          <t>OS APIs</t>
        </li>
      </ol>
    </section>
    <section anchor="potential-sconepro-metadata-provided-by-an-api">
      <name>Potential SCONEPRO Metadata Provided By An API</name>
      <t>There are existing collections of metadata that are available for some types of
adaptive rate streaming.  Examples include those defined by the CTA-5004
specification <xref target="CTA-5004"/> and CTA-5006 specification <xref target="CTA-5006"/>, which
standardize JSON objects or HTTP headers conveyed by streaming media clients
and servers respectively.  These CTA specifications are also expected to be
usable by intermediaries.</t>
      <t>Another example that could be built upon is the proposed flow metadata
identifying the DownlinkBitrate <xref target="I-D.rwbr-sconepro-flow-metadata"/>.</t>
      <section anchor="consideration-of-cta-standards">
        <name>Consideration of CTA Standards</name>
        <t>Several of the use cases defined by CTA-5006 are relevant, including:</t>
        <ul spacing="normal">
          <li>
            <t>Provide an estimate of the throughput available between an edge server and a player, such that the player can use that information to enrich its decision about which bitrate to select, especially the initial bitrate decision made at the start of playback.</t>
          </li>
          <li>
            <t>Provide a means for a CDN to instruct all connected players to limit their upper bitrate, in response to an ISP request to reduce congestion on the last-mile network.</t>
          </li>
          <li>
            <t>Allow a CDN to signal to a player a suggested playback bitrate in order to optimize collective QoE.</t>
          </li>
        </ul>
        <t>The "CDN" notion could be replaced with an ISP's on-path throttling device.</t>
        <t>As a specific example of metadata for SCONEPRO, CTA-5004 allows clients to indicate multiple types of rate metadata that are related to adaptive coded rate selection in the face of throttling.  Which of these options are used depends upon the client, but could be one of:</t>
        <table>
          <thead>
            <tr>
              <th align="left">CTA Data</th>
              <th align="left">Units</th>
              <th align="left">CTA Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Measured Throughput</td>
              <td align="left">Integer kilobits per second (kbps)</td>
              <td align="left">The throughput between client and server, as measured by the client and <bcp14>MUST</bcp14> be rounded to the nearest 100 kbps.  This value, however derived, <bcp14>SHOULD</bcp14> be the value that the client is using to make its next Adaptive Bitrate switching decision.  If the client is connected to multiple servers concurrently, it must take care to report only the throughput measured against the receiving server.  If the client has multiple concurrent connections to the server, then the intent is that this value communicates the aggregate throughput the client sees across all those connections.</td>
            </tr>
            <tr>
              <td align="left">Requested maximum throughput</td>
              <td align="left">Integer kbps</td>
              <td align="left">The requested maximum throughput that the client considers sufficient for delivery of the asset.  Values <bcp14>MUST</bcp14> be rounded to the nearest 100 kbps. ... Note: This can benefit clients by preventing buffer saturation through over-delivery ...</td>
            </tr>
          </tbody>
        </table>
        <t>The CTA-5006 also allows the server to convey a maximum suggested bitrate.</t>
        <table>
          <thead>
            <tr>
              <th align="left">CTA Data</th>
              <th align="left">Units</th>
              <th align="left">CTA Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Max suggested bitrate</td>
              <td align="left">Integer kbps</td>
              <td align="left">The maximum bitrate value that the player <bcp14>SHOULD</bcp14> play in its Adaptive Bit Rate (ABR) ladder.  If the player is playing a bitrate higher than this value, it <bcp14>SHOULD</bcp14> immediately switch to a bitrate lower than or equal to this value.</td>
            </tr>
          </tbody>
        </table>
        <t>There are two high-level approaches that might be viable in reusing CTA data types within an API that supports SCONEPRO:</t>
        <ol spacing="normal" type="1"><li>
            <t>Append entire CTA-defined objects as optional components of dictionary or other data structures used in APIs, e.g. as a "cta5005" object that would be able to fully convey all of the CTA-defined metadata.</t>
          </li>
          <li>
            <t>Append only selected fields from the CTA specs, reusing the definitions, but only including specific items of interest for SCONEPRO's problem statement, and leaving other CTA-defined metadata to be conveyed through the existing CTA-defined methods.</t>
          </li>
        </ol>
        <t>The API can be agnostic to how the data is conveyed between network or on-path
SCONEPRO devices and either clients or servers, but the same API can convey
the information to the applications, regardless of how the network signaling
works.  The semantics of the maxium suggested bitrate from the CTA-5006 match
the needed semantics most closely, though since it is for an ABR ladder, it
should be described carefully to apply the proper bitrate definition that the
throttler is using for "on the wire" packets (including header overhead, etc.)
versus the pure media payload stream bitrate.</t>
      </section>
    </section>
    <section anchor="potential-browser-api-extensions">
      <name>Potential Browser API Extensions</name>
      <t>For browser applications, there are multiple different browser APIs that might be extended to include SCONEPRO metadata; notably including:</t>
      <ul spacing="normal">
        <li>
          <t>W3C Network Information</t>
        </li>
        <li>
          <t>WebTransport using QUIC</t>
        </li>
        <li>
          <t>HTTP Live Streaming (HLS) or Dynamic Adaptive Streaming over HTTP (DASH) client libraries</t>
        </li>
        <li>
          <t>Any Javascript HTTP requests that directly or indirectly use HTTP/3.</t>
        </li>
      </ul>
      <t>In either of these cases, the corresponding W3C API definitions are the proper
place for actual definition of API extensions, and this document is merely exploring possibilities.</t>
      <section anchor="potential-network-information-api-inclusion">
        <name>Potential Network Information API Inclusion</name>
        <t>The W3C Network Information API <xref target="W3C-NetInfo"/> is supported to some extent by
several, but not all, common web browsers today.  It provides the possibility for an appliction to determine what underlying connection types or "effective" connection types (e.g. cellular. bluetooth, etc.) may be in use, with a corresponding set of performance parameter estimates including:</t>
        <ul spacing="normal">
          <li>
            <t>Round Trip Time (RTT) in milliseconds providing a delay estimate.</t>
          </li>
          <li>
            <t>downlink in megabits per second providing an effective bandwidth estimate based on recently observed application layer throughput or properties of the underlying connectivity technology.</t>
          </li>
          <li>
            <t>downlinkMax in megabits per second representing an upper bound on the downlink speed of the first network hop, based on the underlying connectivity technology.</t>
          </li>
        </ul>
        <t>The downlink and downlinkMax could be leveraged as places to put the
SCONEPRO-discovered rate limit for an application, since anything greater than the SCONEPRO-discovered rate would not be expected to be usable for the application.</t>
        <t>Alternatively, another field could be added to the NetworkInformation interface in order to specifically provide the SCONEPRO metadata.</t>
        <t>In any case, a good property of the Network Information API is that an
application can hook event handlers to be notified of changes, so that if there
are limits that kick-in or are lifted midway into an application's lifetime
(e.g. due to some mobility, etc.), the application will be able to be easily
notified and adapt.</t>
      </section>
      <section anchor="potential-webtrans-api-inclusion">
        <name>Potential WebTrans API Inclusion</name>
        <t>In the future, WebTransport (WEBTRANS) might be used by SCONEPRO's targeted
types of applications, such as browser-based adaptive streaming.  The IETF
WEBTRANS working group is liasing with W3C as the IETF defines the protocol
specification, whereas the W3C defines the API to use it.  This case is similar
to the IETF RTCWEB and W3C WebRTC WG coordination in the past.  The same model
of collaboration between IETF and W3C should work for SCONEPRO metadata, and
the information provided could be discussed with the WEBTRANS WG in the IETF
and notified to the W3C later, either through common participation and/or
formal liason statement.</t>
        <t>The existing WebTrans API definition from W3C includes a "getStats()" method,
that is defned in order to asynchronously gather and report statistics for a
WebTransport underlying connection.  It returns a WebTransportConnectionStats
object that is defined as a dictionary, including a number of items such as:</t>
        <ul spacing="normal">
          <li>
            <t>bytesSent</t>
          </li>
          <li>
            <t>packetsSent</t>
          </li>
          <li>
            <t>bytesLost</t>
          </li>
          <li>
            <t>packetsLost</t>
          </li>
          <li>
            <t>bytesReceived</t>
          </li>
          <li>
            <t>packetsReceived</t>
          </li>
          <li>
            <t>smoothedRtt</t>
          </li>
          <li>
            <t>rttVariation</t>
          </li>
          <li>
            <t>minRtt</t>
          </li>
          <li>
            <t>WebTransportDatagramStats datagrams</t>
          </li>
          <li>
            <t>estimatedSendRate</t>
          </li>
        </ul>
        <t>The estimatedSendRate is an unsigned long long, in bits per second, calculated
by the congestion control algorithm in the user agent.  This would be in the
"upstream" direction to a CSP, though, rather than the "downstream" from a CSP,
so is not useful to a client application in receiving indication of a downstream
throttling rate from the network.</t>
        <t>Since other measurements are already included and the
WebTransportConnectionStats is a dictionary, it seems natural to extend it to
include additional optional fields, such as an allowed media rate, or other
types of fields providing the application information that the underlying host
or stack have discovered about the presence of throttling or explicit signaling
of allowed media rate on a path.</t>
        <t>Such extensions might be including at a "<bcp14>MAY</bcp14>" level of conformance statement
(rather than "<bcp14>SHALL</bcp14>" as used by all of the currently-defined information
elements), as the allowed media rate will not be universally present or even
useful for all WebTransport applications.  Alternatively, it could be set to a
"null" value similar to how the estimatedSendRate is sent when it is unknown by
the user agent.</t>
      </section>
      <section anchor="potential-hlsdash-support">
        <name>Potential HLS/DASH Support</name>
        <t>Client libraries for HLS and DASH will use the underlying Javascript APIs or
other underlying APIs, and might rely on them for SCONEPRO metadata support, as
discussed in the next subsection.</t>
      </section>
      <section anchor="other-javascript-api-options">
        <name>Other JavaScript API Options</name>
        <t>Typical HTTP adaptive streaming applications using existing browser API options
would be ideal to support as directly as possible.  There are different ways to
transfer HTTP/3 data provided to JavaScript applications that might be
applicable.</t>
        <t>For instance, things like jQuery.ajax() or the "Fetch" API may be used.  In
this case, there is little or no information about the network path state
provided, though there are either jqXHR or Response objects returned that (for
instance) allow HTTP headers to be conveyed, and in both cases could be
extended to include SCONEPRO metadata.  These are returned at the completion of the HTTP transfer, however.  It might be more difficult to support more dynamic updates such as providing the metadata to an application mid-transfer so that an application might quickly switch to other media rates for future video segments being pre-fetched.</t>
      </section>
    </section>
    <section anchor="potential-quic-api-inclusion">
      <name>Potential QUIC API Inclusion</name>
      <t>While there are no standard QUIC APIs, and there are multiple different styles
in use, many QUIC implementations include objects in the API that represent the
QUIC connections directly, and allow setting callbacks for connection-related
events, or allow direct querying of connection state.  SCONEPRO metadata could
either be supported as a type of callback event, triggered when the metadata is
received, or it could be included within other connection state in a polled or
interrogated data structure.</t>
      <t>Other QUIC implementations may leave I/O and management of sockets or other
aspects to the application, external to the QUIC library.  In this case:</t>
      <ol spacing="normal" type="1"><li>
          <t>If the SCONEPRO metadata is visible as part of the QUIC connection, then it could be provided through the QUIC implementation's API.</t>
        </li>
        <li>
          <t>If the SCONEPRO metadata is visible to the OS or as part of a socket API, it
could be provided to the application via the underlying OS or socket
abstraction libraries used by applications.</t>
        </li>
      </ol>
      <section anchor="potential-moq-api-extension">
        <name>Potential MoQ API Extension</name>
        <t>While Media over QUIC (MoQ) is being defined, it is intended for media
streaming over QUIC, which might be applicable to SCONEPRO, in case adaptive
rate streams are detected and throttled by CSPs.  As yet, there is no standard
MoQ API, an MoQ session is currently scoped either to a QUIC connection or a
WebTransport session, so it should not be difficult to expose information
learned by either transport stack to MoQ applications.</t>
      </section>
    </section>
    <section anchor="potential-os-apis">
      <name>Potential OS APIs</name>
      <t>If SCONEPRO signaling is implemented via QUIC packets, this section is likely to be moot.  OS APIs would only be important to consider for SCONEPRO metadata to be exposed in the cases that it is discovered through some lower-level possibilities such as IP extension headers or options, UDP options, DHCP, etc.</t>
      <t>In applicable cases, the OSes supporting SCONEPRO might extend their sets of
socket options to support a getsockopt that permits reading SCONEPRO-received
metadata, such as a maximum bit rate.  Another possibility would be to allow
such information to be retrieved via an ioctl on relevant sockets.  Several
popular libraries and higher-level languages wrap system calls like getsockopt
and ioctl already, and could be extended to include SCONEPRO metadata.</t>
      <t>A challenge might be that the application would likely need to periodically
poll the OS for this information, as there may not be a general way to register
a callback or hander for when the OS notices a change.  This may be one reason,
among others, why supporting SCONEPRO signaling via the QUIC connection
itself is more desirable.</t>
      <t>Another challenge relates to information such as a maximum rate per flow type
discovered via DHCP or other means.  In that case, it may be difficult for the
application to know how the network will actually classify its packets, and so
it may not be clear what rate is relevant to assume.  This could be another
argument favoring QUIC-based signaling, in terms of applications being able to
directly make productive use of the information.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>General SCONEPRO security considerations are discussed in the other documents
covering specific network-to-host signaling methods.</t>
      <t>Existing APIs that expose information about the network path to applications
have documented security considerations, especially with regard to user
privacy.  For instance, there may be concerns that such information can be used
to assist in fingerprinting users, defeating anonymization, or otherwise
exposing more information about the user to the application than the user might
explicitly consent to.  Such concerns have been document, for example, with regard to the Network Information API.</t>
      <t>By providing additional information about throttling rate limits within the path, SCONEPRO could increase the amount of information availble on top of that provided by the current APIs.  For instance, if the rate information is very fine-grained, it could be useful in fingerprinting.</t>
      <t>Generally, however, the CSP throttling information is currently very coarse
grained, as it is used today.  Additionally, the application providers
authenticate their users, and their is not an expectation of anonymity in
popular platforms today.</t>
      <t>Beyond this, it is also the case that information provided by SCONEPRO can
already be learned by CAP endpoints through various other mechanisms (e.g. the
effect of on-path throttlers is clearly visible by observing application
traffic packet flows).  SCONEPRO simply makes the signaling explicit, rather
than requiring it to be observed and inferred separately.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="editors-notes">
      <name>Editor's Notes</name>
      <t>This section to be removed prior to any potential publication within an RFC.</t>
      <ul spacing="normal">
        <li>
          <t>The "CSP" term is overloaded, especially with regard to web technology, and
might be changed to "carrier", "network operator", etc. in the future, but
would need to be consistent with terminology in other SCONEPRO documents.</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.brw-sconepro-rate-policy-discovery">
          <front>
            <title>Discovery of Network Rate-Limit Policies (NRLPs)</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Dan Wing" initials="D." surname="Wing">
              <organization>Cloud Software Group Holdings, Inc.</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Sridharan Rajagopalan" initials="S." surname="Rajagopalan">
              <organization>Cloud Software Group Holdings, Inc.</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Verizon Inc</organization>
            </author>
            <date day="7" month="April" year="2024"/>
            <abstract>
              <t>   Traffic exchanged over a network attachment may be subject to rate-
   limit policies.  These policies may be intentional policies (e.g.,
   enforced as part of the activation of the network attachment and
   typically agreed upon service subscription) or be reactive policies
   (e.g., enforced temporarily to manage an overload or during a DDoS
   attack mitigation).

   Networks already support mechanisms to advertize a set of network
   properties to hosts using Neighbor Discovery options.  Examples of
   such properties are link MTU (RFC 4861) and PREFIX64 (RFC 8781).
   This document complements these tools and specifies a Neighbor
   Discovery option to be used in Router Advertisements (RAs) to
   communicate these policies to hosts.  For address family parity, a
   new DHCP option is also defined.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-brw-sconepro-rate-policy-discovery-01"/>
        </reference>
        <reference anchor="I-D.rwbr-sconepro-flow-metadata">
          <front>
            <title>Flow Metadata for Collaborative Host/Network Signaling</title>
            <author fullname="Sridharan Rajagopalan" initials="S." surname="Rajagopalan">
              <organization>Cloud Software Group Holdings, Inc.</organization>
            </author>
            <author fullname="Dan Wing" initials="D." surname="Wing">
              <organization>Cloud Software Group Holdings, Inc.</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <date day="26" month="April" year="2024"/>
            <abstract>
              <t>   This document defines per-flow and per-packet metadata for both
   network-to-host and host-to-network signaling in Concise Data
   Definition Language (CDDL) which expresses both CBOR and JSON.  The
   common metadata definition allows interworking between signaling
   protocols with high fidelity.  The metadata is also self- describing
   to improve interpretation by network elements and endpoints while
   reducing the need for version negotiation.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rwbr-sconepro-flow-metadata-01"/>
        </reference>
        <reference anchor="I-D.ihlar-masque-sconepro-mediabitrate">
          <front>
            <title>MASQUE extension for signaling media bitrate</title>
            <author fullname="Marcus Ihlar" initials="M." surname="Ihlar">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
              <organization>Ericsson</organization>
            </author>
            <date day="9" month="February" year="2024"/>
            <abstract>
              <t>   This document specifies a new Capsule (RFC9297) that can be used with
   CONNECT-UDP (RFC9298), CONNECT-IP (RFC9484), or other future CONNECT
   extensions to signal the available bitrate for media traffic that is
   proxied through an HTTP server.  This information can be used by a
   media application to regulate its media bitrate in accordance with a
   network policy, as an alternative to in-network traffic shaping.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ihlar-masque-sconepro-mediabitrate-00"/>
        </reference>
        <reference anchor="I-D.joras-sconepro-video-opt-requirements">
          <front>
            <title>SCONEPRO Video Optimization Requirements</title>
            <author fullname="Matt Joras" initials="M." surname="Joras">
              <organization>Meta Platforms, Inc.</organization>
            </author>
            <author fullname="Anoop Tomar" initials="A." surname="Tomar">
              <organization>Meta Platforms, Inc.</organization>
            </author>
            <author fullname="Abhishek Tiwari" initials="A." surname="Tiwari">
              <organization>Meta Platforms, Inc.</organization>
            </author>
            <author fullname="Alan Frindell" initials="A." surname="Frindell">
              <organization>Meta Platforms, Inc.</organization>
            </author>
            <date day="17" month="May" year="2024"/>
            <abstract>
              <t>   These are the requirements for the "Video Optimization" use-case for
   the SCONEPRO topic, which broadly speaking seeks to optimize video
   playback experience in mobile networks by cooperative communication
   between video content providers and the providers of network services
   to end users.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-joras-sconepro-video-opt-requirements-00"/>
        </reference>
        <reference anchor="CTA-5004">
          <front>
            <title>Web Application Video Ecosystem - Common Media Client Data</title>
            <author initials="" surname="CTA" fullname="Consumer Technology Association">
              <organization/>
            </author>
            <date year="2020" month="September"/>
          </front>
        </reference>
        <reference anchor="CTA-5006">
          <front>
            <title>Common Media Server Data</title>
            <author initials="" surname="CTA" fullname="Consumer Technology Association">
              <organization/>
            </author>
            <date year="2022" month="November"/>
          </front>
        </reference>
        <reference anchor="W3C-NetInfo" target="https://wicg.github.io/netinfo/">
          <front>
            <title>The Network Information API</title>
            <author initials="" surname="W3C" fullname="W3C">
              <organization/>
            </author>
            <date year="2020" month="May" day="11"/>
          </front>
        </reference>
        <reference anchor="YouTube" target="https://datatracker.ietf.org/meeting/119/materials/slides-119-sconepro-youtube-plan-aware-streaming-01">
          <front>
            <title>YouTube Plan Aware Streaming</title>
            <author>
              <organization>YouTube</organization>
            </author>
            <date year="2024" month="March" day="21"/>
          </front>
        </reference>
        <reference anchor="SADCDN-Charter" target="https://github.com/mjoras/SCONE-PROTOCL/blob/main/documents/charter.md">
          <front>
            <title>SADCDN Working Group Charter</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="May" day="14"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 476?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document represents collaboration and inputs from others, including:</t>
      <ul spacing="normal">
        <li>
          <t>Anoop Tomar</t>
        </li>
        <li>
          <t>Matt Joras</t>
        </li>
        <li>
          <t>Bryan Tan</t>
        </li>
      </ul>
      <t>Additional, helpful critique and comments were provided by:</t>
      <ul spacing="normal">
        <li>
          <t>Lucas Pardue</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7V8624cR5bm/3yKWDYWTTaqSEm2Z2z27MxSlNxiQxJpkba2
MRgMsqqiqtLKyiznhVSNZGBeY//ts+yj7JPs951zIjKyinIbCywa3S1mZcbl
XL9ziZhOp1lXdKU/d0cXN1etu6vdy4/buvXu9vL67cubd9fuje/yRd7lrqvd
xXZbFvO8K+qqPcry2azx9/g0vssxjrJFPa/yDcZcNPmym/rFYjdt53Xlt009
zbfF9MmzDIP4Vd3szl1RLessK7bNueuavu2ePXnyHV7IG5+fu/d+5vJq4a6q
zjeV79xdk1fttm667KFuPqyaut+ex7VmH/wOjxfn7m7d1F1XFtVqeHaxyLdd
ce/d86KbvsP87qdi4TF322GKf89LrPDc7XybtZu86f79l77ufHvuqjrbFufu
X7t6PnEtpm78ssW/dhv+49+yLO+7dd2cZ85N8V+HHeGr96fuJTYuD5Qa731b
+t3wtG5WeVX8h1DzXMgsj/0mL8pz9yBvk3b/fYOfTuf1ZjzBxam7Kx7ypkim
uJiti3btP6S//PY0eMw3H5tjLnN83xTVwpdlOkuZV+Pnf2eOJd8dpsiqutnk
ZAVp9u77y++ePHlyDhmAJCQ/XE1fnM6ah0F0GvBsuq0hgbvposDjew8Bsjeb
h1kzvLos64fpxiQ3vFKsy7yZbvL2l94Pr278oshnRcfRw5s/103eDq/cU06m
9babNv6Xvmj8xlddixU7d3l3Mf3myZOvz2XDpkuU2kRVVM7cy3nd7trOb9zU
XdabDX54w7ndZVlgPPciN7IN8hSZjWnsT2XB0SU0sN/4xt35+bqqy3q1cxdt
W88LmfJI3l5wS+7WbzHpDO8+e/LsSbLofxgterSkW9+AuP/flvQWrAsresYV
vf/qcvrWd1eQAFtU3qx8d+7WXbdtz8/OHor56nRVdOt+dlrUZzAFlJazdAN3
a+8wBu2CuwqihB3BKH1pD5h2vAc8SNdJgk2ffDN9+pSL/Fvd3/Uz//gCKWiQ
ofkH35wWvlueQifONp7rXJ09ffrdGVbjmyIv27O2hDy0GPS7QcR2dd9h7OkW
ujXNoZKQUBiafIPPp0+epvu0ZbgbquEFX3W34dWDjU5tf1hN/HK8wa+nT76a
PpMN3l68uHzxdnq5hvnzzeP7NB5Aj882oiZnYn2nML9315evz2ZlPcNei+oM
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

-->

</rfc>
