<?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-rfc2629 version 1.2.13 -->
<?rfc compact="yes"?>
<?rfc text-list-symbols="o*+-"?>
<?rfc subcompact="no"?>
<?rfc sortrefs="no"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc toc="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" consensus="true" 
	docName="draft-zhao-iccrg-competitive-mode-00" ipr="trust200902" submissionType="IETF" 
	obsoletes="" updates="" xml:lang="en" sortRefs="false" symRefs="true" tocInclude="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <front>
    <title abbrev="CMPM">Competitive Mode Enhancement for Delay-Based Congestion Control Algorithms</title>
    <seriesInfo name="Internet-Draft" value="draft-zhao-iccrg-competitive-mode-00"/>
    <author fullname="Guangyu Zhao" initials="G." surname="Zhao">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <street>No.32 XuanWuMen West Street</street>
          <city>Beijing</city>
          <code>100053</code>
          <country>China</country>
        </postal>
        <email>zhaoguangyu@chinamobile.com</email>
      </address>
    </author>
    <date day="1" month="July" year="2025"/>
    <workgroup>iccrg</workgroup>
    <abstract>
      <t>
      This document proposes introducing a "Competitive Mode" into 
      delay-based congestion control algorithms to improve their competitiveness 
      and fairness during coexistence scenarios. 
      </t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
      Congestion control algorithms can be categorized into loss-based and 
      delay-based algorithms based on their congestion detection mechanisms. 
      Loss-based congestion control algorithms typically fill the link buffer 
      until packet loss occurs, then reduce the sending rate. In contrast, 
      delay-based congestion control algorithms proactively reduce the sending 
      rate when queuing delay increases. Representative delay-based congestion 
      control algorithms (e.g., Vegas<xref target="Vegas"/>, FAST<xref target="FAST"/>, Copa<xref target="Copa"/>) measure RTT or queuing delay, 
      calculate the expected throughput based on delay variations, determine 
      congestion, and adjust the congestion window size. 
      </t>
      <t>While delay-based algorithms generally exhibit lower packet loss rates 
      and smaller queuing delays than loss-based algorithms, they fail to fairly 
      share link bandwidth with loss-based algorithms (e.g., Cubic) when both 
      types of traffic coexist.  
      </t>

    </section>

    <section anchor="competitive-mode" numbered="true" toc="default">
      <name>Introducing Competitive Mode into Delay-Based Congestion Control Algorithms </name>
      <section numbered="true" toc="default">
        <name>Method for Determining Competitive Mode</name>
        <t>Determine whether the current flow is in a coexistence/competition phase 
        with Cubic traffic based on the magnitude of queuing delay variation. The COPA 
        provides a method to determine whether it is in competitive mode.</t>
        <t>Specifically, upon receiving an ACK, the algorithm calculates the RTT for 
        each flow and maintains a historical minimum RTT value(min_rtt). Based on RTT 
        samples, it records the maximum(max_delay) and minimum(min_delay) RTT values 
        over a 4-RTT window. Competitive Mode is triggered based on the following inequality. </t>
        <t>             min_delay &lt; min_rtt + 0.1(max_delay - min_rtt)   Formula 1</t>
        <t>Here, max_delay and min_delay represent the maximum and minimum RTT values 
        within the last 4 RTT intervals, and min_rtt is the historical minimum RTT. 
        The difference between min_delay and min_rtt represents the minimum queuing delay 
        at the bottleneck link during this period, while the difference between max_delay and 
        min_rtt represents the maximum queuing delay. If the inequality is not satisfied, 
        it indicates that the bottleneck link's queue has not emptied during this period, 
        suggesting likely competition from Cubic-like flows. Consequently, the algorithm enters 
        Competitive Mode. If the inequality holds, the algorithm operates in Default Mode. </t>
      </section>
      <section numbered="true" toc="default">
        <name>Congestion Window Compensation in Competition Mode</name>
        <t>When the algorithm determines it is in Competition Mode, it introduces an additional
        congestion window gain factor to moderately increase the congestion window size. </t>
        <t>TBD.</t>
      </section>
    </section>
    
    <section anchor="examples" numbered="true" toc="default">
      <name>Examples</name>
      <section numbered="true" toc="default">
        <name>Copa with Competitive Mode</name>
        <t>TBD.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Vegas with Competitive Mode</name>
        <t>TBD.</t>
      </section>

    </section>
    
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>TBD.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Contributors</name>
      <t>The following people have substantially contributed to this
      document:</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
	Zhiqiang Li
	lizhiqiangyjy@chinamobile.com
	
	Hongwei Yang
	yanghongwei@chinamoblie.com]]></artwork>
    </section>
    
    <section numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>TBD.</t>
    </section>
    
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
          <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
          <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        
        <reference anchor="Vegas">
          <front>
            <title>TCP Vegas: New Techniques for Congestion Detection and Avoidance</title>
            <author initials="L." surname="Brakmo" fullname="Lawrence S. Brakmo">
              <organization/>
            </author>
            <author initials="S." surname="O&apos;Malley" fullname="Sean W. O&apos;Malley">
              <organization/>
            </author>
            <author initials="L." surname="Peterson" fullname="Larry L. Peterson">
              <organization/>
            </author>
            <date year="1994" month="August"/>
          </front>
          <seriesInfo name="ACM SIGCOMM Computer Communication Review 24.4(1994)" value=""/>
        </reference>
        
        <reference anchor="FAST">
          <front>
            <title>FAST TCP : motivation, architecture, algorithms, performance</title>
            <author initials="D." surname="Wei" fullname="David X. Wei">
              <organization/>
            </author>
            <author initials="C." surname="Jin" fullname="Cheng Jin">
              <organization/>
            </author>
            <author initials="S." surname="Low" fullname="Steven H. Low">
              <organization/>
            </author>
            <date year="2006" month="December"/>
          </front>
          <seriesInfo name="IEEE/ACM Transactions on Networking 14(2006)" value=""/>
        </reference>
        
        <reference anchor="Copa">
          <front>
            <title>Practical delay-based congestion control for the internet</title>
            <author initials="V." surname="Arun" fullname="Venkat Arun">
              <organization/>
            </author>
            <author initials="H." surname="Hari" fullname="Hari Balakrishnan">
              <organization/>
            </author>
            <date year="2018" month="April"/>
          </front>
          <seriesInfo name="the Applied Networking Research Workshop 2018." value=""/>
        </reference>
        
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ccwg-bbr.xml"/>
      </references>
    </references>
  </back>
</rfc>
