<?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.29 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-shi-scone-rtc-requirement-02" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="SCONE RTC">SCONE Real Time Communication Requirement</title>
    <seriesInfo name="Internet-Draft" value="draft-shi-scone-rtc-requirement-02"/>
    <author initials="H." surname="Shi" fullname="Hang Shi">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>shihang9@huawei.com</email>
      </address>
    </author>
    <author initials="X." surname="Geng" fullname="Xuesong Geng">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gengxuesong@huawei.com</email>
      </address>
    </author>
    <author initials="Q." surname="Gao" fullname="Qiangzhou Gao">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gaoqiangzhou@huawei.com</email>
      </address>
    </author>
    <author initials="Q." surname="Wu" fullname="Qinghua Wu">
      <organization>Chinese Academy of Sciences</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>wuqinghua@ict.ac.cn</email>
      </address>
    </author>
    <author initials="J." surname="Zhang" fullname="Jiaxing Zhang">
      <organization>Chinese Academy of Sciences</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhangjiaxing20g@ict.ac.cn</email>
      </address>
    </author>
    <date year="2025" month="April" day="21"/>
    <area>Web and Internet Transport</area>
    <workgroup>Standard Communication with Network Elements</workgroup>
    <keyword>RTC</keyword>
    <keyword>Feedback</keyword>
    <abstract>
      <?line 64?>

<t>In real-time communication (RTC) applications, low latency is essential, but unstable network conditions make it challenging. Traditional control loop reacts slowly and inaccurately to network changes. A new approach is proposed, communicating bandwidth and queue information from the bottleneck to the end-host for more accurate control.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Standard Communication with Network Elements Working Group mailing list (scone@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/scone"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/VMatrix1900/draft-scone-rtc-requirement"/>.</t>
    </note>
  </front>
  <middle>
    <?line 68?>

<section anchor="intro">
      <name>Introduction</name>
      <t>In real-time communication (RTC) transmission scenarios, low latency is one of the key requirements, especially in real-time interactive applications such as video conferencing, live streaming, and cloud gaming. For these applications, any significant delay can severely impact the user's quality of experience. However, the network environment especially in mobile networks is often changing dynamically, and factors such as bandwidth fluctuations, and delay jitters can affect transmission performance. Therefore, addressing these network fluctuations to ensure RTC with low latency is a significant technical challenge.</t>
      <t>Traditional RTC transmission protocols typically rely on end-to-end network condition detection methods, such as ACKs or NACKs that adjust sending rates based on packet loss and latency changes. The Cubic, Reno and BBR are typical congestion control algorithms (CCAs) that adjusts transmission rates by estimating network congestion. However, end-to-end feedback mechanisms like them have several limitations:</t>
      <ul spacing="normal">
        <li>
          <t>High feedback latency: Traditional end-to-end feedback mechanisms rely on detecting and adjusting to network conditions. For example, CCAs only react after detecting congestion or latency changes. This mechanism cannot predict sudden changes in network conditions, leading to delayed adjustments and reduced transmission efficiency.</t>
        </li>
        <li>
          <t>Insufficient feedback accuracy: Feedback mechanisms based on packet loss or latency measurements only provide rough estimates of network conditions. Due to varying network environments’ sensitivity to packet loss and latency, relying solely on these indicators makes precise adaptation difficult, often resulting in inaccurate adjustment.</t>
        </li>
      </ul>
      <t>To overcome these limitations, Explicit Network Feedback mechanisms like ECN have been proposed. Unlike implicit end-to-end feedback, explicit network feedback obtains real-time status information from network devices (such as routers and switches), providing faster and more accurate feedback on network conditions. However, the limited number of bits in ECN feedback results in low precision, making it difficult to meet the feedback accuracy requirements of RTC applications. Therefore, this document proposes an explicit network feedback mechanism, using bandwidth and queue information to assist the end-host in fine-grained control and reduce RTC latency. Detailed solution is out of scope of this document.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>RTC: real-time communication.</t>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</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>
    <section anchor="network-assisted-real-time-communication-optimization">
      <name>Network Assisted Real-Time Communication Optimization</name>
      <t>The process is shown in the diagram below: the end-to-end RTC stream is sent from the server to the client. The bottleneck node provides real-time feedback of stream-level Capacity and Queue Length to the sender, assisting the sender in rate control.</t>
      <artwork><![CDATA[
                                            Feedback Loop
                                    +--->------->---------->-+
                                    |                        |
     +--------+              +-----------------+              +--------+
     |        |              |                 |              |        |
     | Client +--------------+ bottleneck node +--------------+ Server |
     |        |              |                 |              |        |
     +--------+              +-----------------+              +--------+
     --------<-----------------<------------------<---------------------
                                Data Flow
]]></artwork>
      <t>Feedback Mechanism: The bottleneck node sends network status information, including current network capacity and queue length, to the sender at fixed intervals (e.g., every 100ms). The feedback is transmitted using a lightweight way (such as emmbedding in IP header) to ensure low overhead and high timeliness.</t>
      <t>Rate Control Strategy: The sender adjusts the transmission rate based on the network capacity feedback from the bottleneck node. If capacity is sufficient, the sender increases the transmission rate; if capacity is limited or the queue length increases, the sender reduces the rate to avoid network congestion. Additionally, the  bottleneck node can prioritize scheduling key video frames to ensure smooth playback.</t>
      <t>With explicit feedback from the bottleneck node, the sender can respond to network changes more quickly, reducing transmission delays caused by congestion. Compared to traditional end-to-end implicit feedback, explicit feedback is more accurate and better ensures the continuity and quality of the video stream.</t>
    </section>
    <section anchor="requirement-of-the-feedback-signal">
      <name>Requirement of the feedback signal</name>
      <t>To ensure that signaling is transmitted alongside the data flow, this scheme employs in-band signaling, where feedback is embedded in the headers of returning ACK packets.</t>
      <t>The feedback contents includes:</t>
      <ul spacing="normal">
        <li>
          <t>Network Capacity: The bottleneck node monitors the currently available network bandwidth in real-time and feeds back the available bandwidth capacity to the sender. The sender adjusts the RTC rate control (including sending rate and encoding bitrate) based on this information to maximize bandwidth utilization while avoiding network congestion.</t>
        </li>
        <li>
          <t>Queue Length: The bottleneck node also monitors the length of its internal buffer queue. When the queue length increases, it indicates growing transmission delays and potential congestion. Based on this information, the sender can timely reduce the transmission rate to prevent packet loss.</t>
        </li>
      </ul>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document does not introduce any new security considerations.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <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>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
