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

<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 SCONE 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 91?>

<section anchor="scone-background-and-introduction">
      <name>SCONE 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 Standard Communication with Network Elements (SCONE) protocol
(previously known as SADCDN and SCONEPRO) is an IETF working group
motivated by this alternate approach.</t>
      <section anchor="scone-api-motivations">
        <name>SCONE API Motivations</name>
        <t>The general problem statement for SCONE 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 SCONE 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 SCONE 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 SCONE 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 SCONE-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 SCONE signaling protocol works (that is to-be-defined
by the IETF), the SCONE 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 SCONE 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 SCONE 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 SCONE 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 SCONE 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 SCONE 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 SCONE <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 SCONE 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 SCONE 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 SCONE 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 SCONE will be defined by the working group.
In general, the SCONE 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-scone-masque-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 SCONE 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 SCONE 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">SCONE 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 SCONE 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-scone-metadata-provided-by-an-api">
      <name>Potential SCONE 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 SCONE, 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 SCONE:</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 SCONE'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
SCONE 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 SCONE 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 SCONE signaling
information that is discovered from the network path up to applications.  In
addition, to indicate an application's desire to use SCONE 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 SCONE 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
SCONE-discovered rate limit for an application, since anything greater than the SCONE-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 SCONE 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 SCONE'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 SCONE 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 SCONE 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 SCONE 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.  SCONE 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 SCONE 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 SCONE 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 "SCONE-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 SCONE, 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 SCONE signaling is implemented via QUIC packets, this section is likely to be moot.  OS APIs would only be important to consider for SCONE 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 SCONE might extend their sets of
socket options to support a getsockopt that permits reading SCONE-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 SCONE 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 SCONE 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 SCONE 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-scone-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, SCONE 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 SCONE 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).  SCONE 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 SCONE documents.</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-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-scone-masque-mediabitrate">
          <front>
            <title>MASQUE extension for signaling throughput advice</title>
            <author fullname="Marcus Ihlar" initials="L. M." surname="Ihlar">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
              <organization>Ericsson</organization>
            </author>
            <date day="21" month="October" 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 throughput advice for traffic that is proxied
   through an HTTP server.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ihlar-scone-masque-mediabitrate-01"/>
        </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="L. 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-scone-privacy">
          <front>
            <title>SCONE 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="3" month="November" year="2024"/>
            <abstract>
              <t>   This document discusses privacy properties of the SCONE 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 SCONE RFCs together with other documents covering security
   considerations.  Other documents will address additional aspects of
   the security considerations for SCONE metadata.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tomar-scone-privacy-00"/>
        </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>
      </references>
    </references>
    <?line 522?>

<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/3qKXHRsmOwAKEqyZ2z27PRSlNxihy40SVvb
MTExUQASQJmFKriyihTaUsS8xv7bZ9lH2SfZ851LVlaBsjs2YmOixwRQlZdz
/c4lU7PZLGuLtvRnbnJ+dRncbe1efdzVwbubi/fvXrm3vs2XeZu7tnbnu11Z
LPK2qKswyfL5vPH39J48iLcn2bJeVPmWRls2+aqd+eVyPwuLuvKzfFfMTk8z
et2v62Z/5opqVWdZsWvOXNt0oX12evrd6bMsb3x+5j74ucurpbusWt9UvnW3
TV6FXd202UPd3K2butudyRKzO7+n75Zn7nbT1G1bFtW6/+58me/a4t67F0U7
u6bJ3U/F0tPEoaXx/yMvaW1nbu9DFrZ50/7HL13d+nDmqjrbFWfu39p6MXWB
5m38KtBf+y3++Pcsy7t2UzdnmXMz+p+j7dBbH07cK9oyfyF0+OBD6ff9t3Wz
zqvi70zEM6Yuf+23eVGeuQd+GlT771v66WRRb4cTnJ+42+Ihb4pkivP5pggb
f5f+8tvT0Nd48stzfN8U1dKXZTpLmVfD739njhWe7afIqrrZ5mAFaHb9/cV3
p6enZyQAJAbJD5ezlyfz5kGEZtfUs4Z4NtvVJHj72bKgr+89SY8+2TzMm/7R
VVk/zLYqsPZIsSlzfWa2zcMvHf3HL4t8XrQY2h77uW7y0A91DyGZ1bt21vhf
uqLxW1+1gZYrT7f1Nk8m9ovq7PCX2a4p7vMFL1a2/O3z0+dn8c+veTj6+9mz
757x3xe357NvTvEDCKl6CVVINE/k171a1GEfWr91M3dRb7f0w1tsy12UBS3V
vcyVHb2cRgbTNPpRWDu5IIXutr5xt36xqeqyXu/deQj1ouApJ/z0EtRyN35H
k87p2Wenz06TRf/TYNGDJd34hpj2/21J70gkbEXPsKIPzy9m73x7SZKli8qb
tW/P3KZtd+HsyZOHYrE+WRftppufFPUTsi+QwifpBm433tEYMDbu0kSUdkRm
7kt7oGmHe6Av0nWCYLPTb2ZPn2KRf6u7227uH18gBJjEc3Hnm5PCt6sT0rUn
W491rp88ffrdE1qNb4q8DE9CSfIQaNDvennc111LY892pLOznFTdzwIZsHxL
r89On6b71GW4K6j3OR51N/bowUZnuj9aTXxzuMGvZ6fPZ89og7PZzOXzgE20
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
XzmjrOKvbQAA

-->

</rfc>
