<?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.4 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-joras-sadcdn-video-optimization-requirements-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.0 -->
  <front>
    <title abbrev="SADCDN Video Optimization Requirements">SADCDN Video Optimization Requirements</title>
    <seriesInfo name="Internet-Draft" value="draft-joras-sadcdn-video-optimization-requirements-00"/>
    <author fullname="Matt Joras">
      <organization>Meta Platforms, Inc.</organization>
      <address>
        <email>matt.joras@gmail.com</email>
      </address>
    </author>
    <author fullname="Anoop Tomar">
      <organization>Meta Platforms, Inc.</organization>
      <address>
        <email>anooptomar@meta.com</email>
      </address>
    </author>
    <author fullname="Abhishek Tiwari">
      <organization>Meta Platforms, Inc.</organization>
      <address>
        <email>atiwari@meta.com</email>
      </address>
    </author>
    <author fullname="Alan Frindell">
      <organization>Meta Platforms, Inc.</organization>
      <address>
        <email>afrind@meta.com</email>
      </address>
    </author>
    <date year="2024" month="January" day="05"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 40?>

<t>These are the requirements for the "Video Optimization" use-case for the SADCDN 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>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/mjoras/sadcdn-video-optimization-requirements"/>.</t>
    </note>
  </front>
  <middle>
    <?line 44?>

<section anchor="introduction">
      <name>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 shape video traffic based on user data plans. There are several problems with this kind of shaping:</t>
      <ol spacing="normal" type="1"><li>
          <t>Traffic detection and shaping 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 shaping.</t>
        </li>
        <li>
          <t>User mobility during the ongoing session, mainly with distributed UPF (user plane function) in 5G mobile networks may result in shpaing inaccuracies.</t>
        </li>
        <li>
          <t>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 behavior of traffic shapers 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 shapers 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>A secure in-band data sharing interface between CSPs and CAPs can enable the CSPs to specify video traffic characteristics (that are suited to their radio access networks) to the CAPs. CAPs can use this information to self-adapt their video traffic to conform to the specified characteristics. Self Adaptation and Self limitation is a better alternative because CAPs have full context and ability to measure user QoE, which CSPs do not. This approach has the potential to help CSPs manage the traffic on their cellular networks without incurring the cost and compute associated traffic detection and traffic shaping while making sure that end user QoE is not compromised which is win-win for both CSPs and CAPs.</t>
      <t>What follows are the primary, secondary, and non-requirements of a technical solution to this problem on the modern Internet.</t>
    </section>
    <section anchor="video-optimization-use-case-primary-requirements">
      <name>Video Optimization Use Case - Primary requirements</name>
      <section anchor="in-band-cryptographic-key-establishment-w-standard-crypto">
        <name>In-band cryptographic key establishment w/ standard crypto</name>
        <t>A core requirement is encryption of the data being exchanged between the client endpoint and  CSP network device endpoint. In order to achieve this there needs to be a way to have a shared key. This must be done with an in-band mechanism, since out-of-band mechanisms for key exchange are not scalable given the fanout of content providers to CSPs.</t>
      </section>
      <section anchor="encryption-and-integrity-protected">
        <name>Encryption and integrity protected</name>
        <t>A core requirement is the encryption and integrity protection of the data exchanged between the client and CSP network device endpoints. This is crucial to ensure the information cannot be passively observed or modified. Further this encryption must be done with standard ciphers.</t>
      </section>
      <section anchor="in-band-key-exchange">
        <name>In-band key exchange</name>
        <t>In order for encryption to be viable, the client and CSP network device endpoints must have a way to establish a shared key. This mechanism must be done in-band with the network video flow, e.g. via a TLS handshake, so as to avoid the scalability and security problems of sharing keys via an out-of-band mechanism.</t>
      </section>
      <section anchor="client-initiated">
        <name>Client-initiated</name>
        <t>What is minimally needed is a way for the client to establish a communication channel with a CSP network device, exchange the information, and then use that information to inform its video playback decisions. This also allows for a client device to be aware that the exchange is happening (at least on initiation).</t>
      </section>
      <section anchor="low-frequency-informationdata-exchange">
        <name>Low frequency information/data exchange</name>
        <t>Video optimization requires a CSP network device to send the allowed data rate for a specific connection to the client endpoint during connection setup time and whenever there is a change in video policy for the subscriber. Change in video policy configuration for a particular subscriber is typically triggered when the subscriber has exhausted its monthly or daily allowed data volume usage limit, i.e. at low frequency.</t>
      </section>
      <section anchor="datainformation-flows-from-csp-mobile-network-to-client">
        <name>Data/Information flows from CSP mobile network to client</name>
        <t>There are following two options w.r.t data flow direction to support video optimization use-case.
1. From CSP mobile network to client endpoint
2. From CSP mobile network to CAP server endpoint
Both the options have pros and cons. We are proposing option # i due to following reasons;
1. Streaming video flows are predominantly downlink so information can be sent together with downlink packet. There is no need to wait for Uplink QUIC acknowledgements.
2. Communication between CSP mobile network to client endpoint happens over CSP infrastructure which is relatively more secure compared to infrastructure between CSP network device and CAPs’ server.</t>
      </section>
      <section anchor="scalable-for-potentially-every-video-flow-in-a-mobile-network">
        <name>Scalable for potentially every video flow in a mobile network</name>
        <t>This use case requires that potentially every video flow in a mobile network be able to utilize this feature. Thus, it must be performant both for the network device and the mobile device utilizing it.</t>
      </section>
      <section anchor="works-with-quic-and-http3">
        <name>Works with QUIC and HTTP/3</name>
        <t>HTTP/3 is being used widely as a delivery mechanism for video content by video content providers, and is a critical requirement to support. HTTP/3’s use of QUIC has convenient properties (notably in its use of UDP) that makes solutions in this space more convenient.</t>
      </section>
      <section anchor="network-device-in-csp-mobile-network-4g5g-packet-core">
        <name>Network device in CSP mobile network: 4G/5G packet core</name>
        <t>“Packet core user plane node” is the network device to share information with client endpoint. These nodes are P-GW (PDN Gateway) and UPF(User Plane Function) for 4G and 5G mobile networks respectively. The reasons behind the same are as follows;
   1. These nodes have access to subscriber policy via standard 3GPP interface to PCRF (Policy and Charging Rule Function).
   2. These nodes are co-located with PCEF (Policy and Charging Enforcement) which is supposed to enforce subscriber specific policy to data flows.
   3. Traffic detection function or DPI( Deep Packet Inspection) engine is integrated with these nodes to detect a specific flow/subscriber</t>
      </section>
      <section anchor="scalable-solution-for-4g-and-5g-mobile-packet-core-from-performance-standpoint">
        <name>Scalable solution for 4G and 5G mobile packet core from performance standpoint</name>
        <t>To support video optimization use-case at scale, significant additional compute in the packet core should not be required. This requirement has some dependency on following aforementioned requirements:
1. As specified earlier in the document, due to low frequency information exchange requirement, there may not be a need for significant additional compute in the packet core to support this video optimization use-case’s requirements at scale.
2. No need to support traffic shaping in the packet core. This would also free up computational resources.</t>
      </section>
    </section>
    <section anchor="secondary-requirements">
      <name>Secondary requirements</name>
      <ol spacing="normal" type="1"><li>
          <t>Works with TCP video flows.</t>
        </li>
      </ol>
    </section>
    <section anchor="non-requirements">
      <name>Non-requirements</name>
      <ol spacing="normal" type="1"><li>
          <t>Non-HTTP video support.</t>
        </li>
        <li>
          <t>Data flows from CSP mobile network device to CAP server</t>
        </li>
        <li>
          <t>Fixed networks -  Fixed network is out of scope at present, since most of the CSPs don’t do video flow shaping for fixed networks. If and when we include fixed networks in the scope, CSP network devices can be CMTS for Cable modem network or BNG for Fiber/DSL network.</t>
        </li>
      </ol>
    </section>
    <section anchor="information-element-requirements">
      <name>Information element requirements</name>
      <t>This section captures the requirements of information elements to be exchanged between CSP network device and client endpoint of the CAP application.
1. The attributes of video data traffic specified in the information elements - shall be measurable by both CSPs and CAPs.
2. For a given video session the specification - shall ensure that CSP and CAP, albeit measuring independently, compute consistent attributes of the video data traffic.
3. The attributes of video data profile - shall include an average or median video bit rate and a maximum video bitrate
4. The information element - shall specify a methodology for computing median, maximum and average video bitrates including how to determine the time window for measuring these statistics</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document has no security considerations.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <?line 137?>



  </back>
  <!-- ##markdown-source:
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
O4ZXyqLfS3/6QqOfLPsvyE1JglYnAAA=

-->

</rfc>
