<?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.17 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-eddy-sconepro-api-03" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title abbrev="SCONEPRO APIs">APIs To Expose SCONEPRO Metadata to Applications</title>
    <seriesInfo name="Internet-Draft" value="draft-eddy-sconepro-api-03"/>
    <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="July" day="05"/>
    <area>Web and Internet Transport</area>
    <workgroup>SCONEPRO</workgroup>
    <keyword>Adaptive Bit-Rate Video</keyword>
    <abstract>
      <?line 86?>

<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 96?>

<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>There are two aspects to consider for an API:</t>
        <ol spacing="normal" type="1"><li>
            <t>How will applications learn about network information that is discovered by SCONEPRO lower in the stack?  This is a primary consideration in this document.</t>
          </li>
          <li>
            <t>How will applications signal their type (e.g. video streaming) or other relevant properties to the stack, to indicate that they are SCONEPRO-capable?  This is a secondary consideration in this document, because currently networks that perform throttling have built-in methods to implicitly determine the appropriate flows to throttle.</t>
          </li>
        </ol>
        <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.
There are open questions at the moment about SCONEPRO signaling via on-path
devices, what type of information is conveyed, and how it is represented.  The
API capabilities may be limited by the protocol decisions, and realistic
concerns about signaling across network domain boundaries, etc.</t>
        <t>During early SCONEPRO discussions, there have been suggestions that the API might take inspiration from Explicit Congestion Notification (ECN), as ECN also exposes information from the network (congestion experienced codepoints) to end hosts, and the design contends with potential for abuse, crosses network domain boundaries, and has other desirable properties.  Some key differences from ECN in usage relavent to a SCONEPRO API have been pointed out:</t>
        <t>1) ECN information is consumed either by transport protocols (e.g. TCP, MPTCP, and SCTP) or congestion control algorithms operating above e.g. UDP or UDP-Lite <xref target="RFC8303"/> <xref target="RFC8304"/>, but typically below an application.  For instance, within QUIC stacks used for video streaming, ECN can be consumed by the QUIC congestion control, but is not exposed to the application.</t>
        <t>2) The exposure of SCONEPRO metadata is intended to be at the level of data flows (e.g. to aid application decisions about what media quality to fetch), whereas ECN is consumed at the level of packets (within an individual flow).</t>
        <t>While ECN is not a solution for SCONEPRO <xref target="I-D.tomar-sconepro-ecn"/>, it is productive to consider as an example based on similarities, including:</t>
        <ul spacing="normal">
          <li>
            <t>Signaling is coming from the network, and may cross different network domains.</t>
          </li>
          <li>
            <t>Signaling points can also drop packets, and the signaling participation is indtended to avoid excessive packet drops.</t>
          </li>
        </ul>
        <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>
      <t>The exploration is primarily around the ability to convey SCONEPRO signaling
information that is discovered from the network path up to applications.  In
addition, to indicate an application's desire to use SCONEPRO signaling in the
first place, some small API extension is also be required, unless relying
totally on the underlying stack or network to infer which flows should be
receiving SCONEPRO treatment (e.g. as networks already infer which flows to
throttle).</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>
      <t>Regarding identification of the application flow type, options for a QUIC API
may include adding "SCONEPRO-capable" type of flag or an optional flow-type tag
that can be set by applications.  Compared to the complexity of existing QUIC
APIs, these could be small additions.</t>
      <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.  Since MoQ applications are media flows, it may be very simple for an application flow type to be conveyed or inferred via an eventual MoQ API..</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.  The
"cmsg" interface <xref target="RFC2292"/> provices an example of how complex sets of
ancillary data can be exchanged between applications and an OS kernel
consistent with the way that socket options are implemented.</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.  Privacy concerns have also been discussed in <xref target="I-D.tomar-sconepro-privacy"/>.</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>
            <author fullname="Markus Amend" initials="M." surname="Amend">
              <organization>Deutsche Telekom</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <date day="3" month="July" 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.

   Plenty operational challenges are to be yet evaluated and more
   experiments conducted to assess the actual benefits (including,
   identifying under which conditions).  The document discusses these
   considerations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-brw-sconepro-rate-policy-discovery-02"/>
        </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>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <date day="26" month="June" 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-02"/>
        </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="I-D.tomar-sconepro-ecn">
          <front>
            <title>SCONEPRO Need for Defining A New On-Path Signaling Mechanism</title>
            <author fullname="Anoop Tomar" initials="A." surname="Tomar">
              <organization>Meta</organization>
            </author>
            <author fullname="Marcus Ihlar" initials="M." surname="Ihlar">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Wesley Eddy" initials="W." surname="Eddy">
              <organization>Meta</organization>
            </author>
            <author fullname="Ian Swett" initials="I." surname="Swett">
              <organization>Google</organization>
            </author>
            <author fullname="Abhishek Tiwari" initials="A." surname="Tiwari">
              <organization>Meta</organization>
            </author>
            <author fullname="Matt Joras" initials="M." surname="Joras">
              <organization>Meta</organization>
            </author>
            <date day="23" month="May" year="2024"/>
            <abstract>
              <t>   This document discusses the need for defining a new on-path signaling
   mechanism and addresses the question “why can't we use Explicit
   Congestion Notification (ECN)” for the SCONEPRO use-case.

   The SCONEPRO objective is to optimize user QoE for streaming media/
   video services through network assisted application-level self-
   adaptation.  This requires a Communication Service Provider’s (CSP’s)
   network device to send streaming media/video traffic profile
   characteristics (e.g. for allowed average media/video bit-rate, burst
   rate etc.) with the client application endpoint to enable content
   self adaptation implementations by content application providers
   (CAPs).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tomar-sconepro-ecn-01"/>
        </reference>
        <reference anchor="I-D.tomar-sconepro-privacy">
          <front>
            <title>SCONEPRO Privacy Properties and Incentives for Abuse</title>
            <author fullname="Anoop Tomar" initials="A." surname="Tomar">
              <organization>Meta</organization>
            </author>
            <author fullname="Wesley Eddy" initials="W." surname="Eddy">
              <organization>Meta</organization>
            </author>
            <author fullname="Abhishek Tiwari" initials="A." surname="Tiwari">
              <organization>Meta</organization>
            </author>
            <author fullname="Matt Joras" initials="M." surname="Joras">
              <organization>Meta</organization>
            </author>
            <date day="27" month="June" year="2024"/>
            <abstract>
              <t>   This document discusses privacy properties of the SCONEPRO metadata
   or network-to-host signals.  This covers questions that were raised
   during the IETF 119 BoF and subsequent discussions.  It is not
   intended to be published as a separate RFC but might be incorporated
   as a part of the security considerations or other content within
   eventual SCONEPRO RFCs together with other documents covering
   security considerations.  Other documents will address additional
   aspects of the security considerations for SCONEPRO metadata.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tomar-sconepro-privacy-02"/>
        </reference>
        <reference anchor="RFC8303">
          <front>
            <title>On the Usage of Transport Features Provided by IETF Transport Protocols</title>
            <author fullname="M. Welzl" initials="M." surname="Welzl"/>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <author fullname="N. Khademi" initials="N." surname="Khademi"/>
            <date month="February" year="2018"/>
            <abstract>
              <t>This document describes how the transport protocols Transmission Control Protocol (TCP), MultiPath TCP (MPTCP), Stream Control Transmission Protocol (SCTP), User Datagram Protocol (UDP), and Lightweight User Datagram Protocol (UDP-Lite) expose services to applications and how an application can configure and use the features that make up these services. It also discusses the service provided by the Low Extra Delay Background Transport (LEDBAT) congestion control mechanism. The description results in a set of transport abstractions that can be exported in a transport services (TAPS) API.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8303"/>
          <seriesInfo name="DOI" value="10.17487/RFC8303"/>
        </reference>
        <reference anchor="RFC8304">
          <front>
            <title>Transport Features of the User Datagram Protocol (UDP) and Lightweight UDP (UDP-Lite)</title>
            <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
            <author fullname="T. Jones" initials="T." surname="Jones"/>
            <date month="February" year="2018"/>
            <abstract>
              <t>This is an informational document that describes the transport protocol interface primitives provided by the User Datagram Protocol (UDP) and the Lightweight User Datagram Protocol (UDP-Lite) transport protocols. It identifies the datagram services exposed to applications and how an application can configure and use the features offered by the Internet datagram transport service. RFC 8303 documents the usage of transport features provided by IETF transport protocols, describing the way UDP, UDP-Lite, and other transport protocols expose their services to applications and how an application can configure and use the features that make up these services. This document provides input to and context for that document, as well as offers a road map to documentation that may help users of the UDP and UDP-Lite protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8304"/>
          <seriesInfo name="DOI" value="10.17487/RFC8304"/>
        </reference>
        <reference anchor="RFC2292">
          <front>
            <title>Advanced Sockets API for IPv6</title>
            <author fullname="W. Stevens" initials="W." surname="Stevens"/>
            <author fullname="M. Thomas" initials="M." surname="Thomas"/>
            <date month="February" year="1998"/>
            <abstract>
              <t>The current document defines some the "advanced" features of the sockets API that are required for applications to take advantage of additional features of IPv6. This memo provides information for the Internet community. It does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2292"/>
          <seriesInfo name="DOI" value="10.17487/RFC2292"/>
        </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 527?>

<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>
        <li>
          <t>Ted Hardie</t>
        </li>
        <li>
          <t>Michael Welzl</t>
        </li>
        <li>
          <t>Gorry Fairhurst</t>
        </li>
        <li>
          <t>Brian Trammell</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7V963IbR5bm/3qKWnZsmOwASF3sGZs9O70UJVvskERapK3t
mJiYKAAJoKxCFVwXUmhJEfsa+2+fZR9ln2S/75yTWVkFyPZuxMZEj4lCIS/n
+p1LpqbTadLmbeHO06OLm6smvavSFx+2VePS28vrNy9u3l6nr12bLbI2S9sq
vdhui3yetXlVNkdJNpvV7h4/De9yjKNkUc3LbIMxF3W2bKdusdhNm3lVum1d
TbNtPn30NMEgblXVu/M0L5dVkuTb+jxt665pnzx69N2jJ0lWu+w8fedmaVYu
0quydXXp2vSuzspmW9Vt8lDV71d11W3Pw1qT926Hx4vz9G5dV21b5OWqf3ax
yLZtfu/SZ3k7fYv505/zhcPcTYsp/iMrsMLzdOeapNlkdfsfv3ZV65rztKyS
bX6e/ltbzSdpg6lrt2zw127DP/49SbKuXVf1eZKmU/wvxY7wq3en6QtsXB4o
Nd65pnC7/mlVr7Iy/4dQ81zILI/dJsuL8/RB3ibt/usGX53Oq81wgovT9C5/
yOo8muJits6btXsff/Pb0+Ax3/zyHN/XeblwRRHPUmTl8PnvzLHku/0USVnV
m4ysIM3efn/53aNHj84hA5CE6Iur6fPTWf3Qi04Nnk23FSRwN13keHzvIED2
Zv0wq/tXl0X1MN2Y5PpX8nWR1dNN1vzauf7VjVvk2SxvObp/85eqzpr+lXvK
ybTattPa/drltdu4sm2wYn27rSAv/dtuXp4f/mZb5/fZXJasG//26aOn5+HP
r2VE/P3kyXdP5O/Lu4vpN4/4BclpmkqdiBRRpTh9Ma+aXdO6TTpNL6vNBl+8
5s7SyyLHatPnmTGll9bAZkxjH5XBR5fQ727j6vTOzddlVVSrXXrRNNU8lymP
5O0FCZbeui0mneHdJ4+ePIoW/U+DRQ+WdOtqsO7/25LeQDD8ip5wRe+eXk7f
uPYK8mWLyuqVa8/Tddtum/Ozs4d8vjpd5e26m53m1RkMDWXxLN7A3dqlGINW
J73ygoodweR9aQ+YdrgHPIjXSYJNH30zffyYi/x71d11M3d4gRRjSOj8vatP
c9cuT6FxZxvHda7OHj/+7gyrcXWeFc1ZU0AeGgz6XS94u6prMfZ0C82dZlB4
yD/MWLbBz6ePHsf7tGWkN1TyC76a3vpX9zY6tf1hNeGXww1+DWM/fSIbvL14
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
f+/s/wBxrhdCNG8AAA==

-->

</rfc>
