<?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.7 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ma-moq-relay-for-deadline-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="MoQ relay for deadline">MoQ relay for support of deadline-aware media transport</title>
    <seriesInfo name="Internet-Draft" value="draft-ma-moq-relay-for-deadline-02"/>
    <author initials="Y." surname="Cui" fullname="Yong Cui">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <street>30 Shuangqing Rd</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>cuiyong@tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="C." surname="Ma" fullname="Chuan Ma">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <street>30 Shuangqing Rd</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>simonkorl0228@gmail.com</email>
      </address>
    </author>
    <author initials="Y." surname="Liao" fullname="Yixin Liao">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <street>30 Shuangqing Rd</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>lyxceasar@outlook.com</email>
      </address>
    </author>
    <author initials="H." surname="Shi" fullname="Hang Shi">
      <organization>Huawei</organization>
      <address>
        <email>shihang9@huawei.com</email>
      </address>
    </author>
    <date/>
    <area>Applications and Real-Time</area>
    <workgroup>Media Over QUIC</workgroup>
    <keyword>deadline</keyword>
    <keyword>relay</keyword>
    <abstract>
      <?line 62?>

<t>This draft specifies the behavior of MoQ relays for delivering media before the deadline to decrease end-to-end latency and save transport costs in media transmission. To achieve this, the draft introduces deadline-aware actions prioritizing media streams with earlier deadlines, ensuring timely transmission while minimizing costs.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ma-moq-relay-for-deadline/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/STAR-Tsinghua/draft-moq-for-deadline"/>.</t>
    </note>
  </front>
  <middle>
    <?line 66?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Media over QUIC (MoQ) is a transport system designed to provide efficient media transport. However, some use cases, such as live streaming, online meetings, and gaming, require the client to receive their media before a specific time, referred to as the 'deadline.' Exceeding the deadline results in dropped data, which can increase latency and negatively affect user experience.</t>
      <t>To address this issue, a deliver-before-deadline transport service can be provided, which is the goal of the Deadline-aware Transport Protocol (DTP) proposed in <xref target="I-D.draft-shi-quic-dtp"/>. DTP leverages stream-level scheduling, active stream canceling, and redundancy coding to prioritize urgent data and prevent outdated data from blocking later data.</t>
      <t>This document proposes the behavior of deadline-aware actions on MoQ relay nodes, extending the basic MoQ relay to provide deliver-before-deadline transmission. The relay design utilizes data scheduling, data canceling, and redundancy coding to decrease queuing time, prevent unnecessary re-transmission of overdue data, and ultimately reduce end-to-end latency. By providing better data delivery strategies, MoQ relays with deadline-aware actions can significantly enhance overall user experience in media transport.</t>
    </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="overview-of-deadline-aware-moq-architecture">
      <name>Overview of Deadline-aware MoQ Architecture</name>
      <figure anchor="arch">
        <name>The Architecture of Deadline-aware MoQ</name>
        <artwork><![CDATA[
                      +===========================+
                      :             /=======\     :
                      :    Deadline :Block 1:     :
                      :     -aware  :DDL:xxx:     :
                      :   Canceling \=======/     :
            /-------\ :                 ^         :
            |Block 1| :                 :         :
            |DDL:xxx| :    +---------+  :         :
+---------+ \-------/ :    |Deadline |  :         :
|Publisher|-----------:--->| -aware  |==:         :
+---------+ /-------\ :    |  Relay  |            :
            |Block 2| :    +---------+            :
            |DDL:yyy| :         |  /-----------\  :
            \-------/ :         |  | Block 2   |  :
                      :         |  | DDL:yyy   |  :
                      :         |  |-----------|  :
                      :         |  | Redundancy|  :
                      :         |  | Coding    |  :
                      :         v  \-----------/  :
                      :    +---------+            :
                      :    |Deadline |            :    +----------+
                      :    | -aware  |------------:--->|Subscriber|
                      :    |  Relay  |   /-------\:    +----------+
                      :    +---------+   |Block 2|:
                      :                  |DDL:yyy|:
                      :                  \-------/:
                      +===========================+
                      Deadline-aware MoQ Relay nodes
]]></artwork>
      </figure>
      <t><xref target="arch"/> illustrates the fundamental architecture of Deadline-aware MoQ. This architecture involves the extension of MoQ Publishers and Subscribers, which transport block-like data and add 'Deadline' as a component of Metadata within the header. Relay nodes within this system are equipped with deadline-aware actions, including deadline-aware scheduling, canceling, and redundancy coding. The relay may schedule the data blocks, cancel the overdue ones, and add redundancy code to avoid re-transmission. The relays receive block-like data from the publisher, transfer between relays, make deadline-aware actions, and transmit it to the subscriber.</t>
      <t>The main focus of this draft is proposing an extension of MoQ relays, the 'Deadline-aware MoQ Relay.' The Deadline-aware MoQ Relay <bcp14>SHOULD</bcp14> send data in a block-like style to enable deadline-aware actions. A Block is a basic data unit in the MoQ system, like the Object in <xref target="MOQT"/>. A Block <bcp14>SHOULD</bcp14> contain, at a minimum, a Block ID field in the its header to distinguish it from others.</t>
      <t>Depending on the implementation of MoQ , the implementation of MoQ relay may map the block transmission to different mechanisms of <xref target="QUIC"/>, such as matching a Block to multiple QUIC datagrams or a single QUIC stream. Deadline-aware MoQ Relay <bcp14>SHOULD</bcp14> support various MoQ transport implementations. When the relay receives data without any deadline-related information from the endpoint, it <bcp14>SHOULD</bcp14> forward it without utilizing any deadline-aware actions.</t>
      <t>The Deadline-aware MoQ Relay <bcp14>SHOULD</bcp14> support various relay topologies, as discussed in <xref target="I-D.draft-shi-moq-design-space-analysis-of-moq"/>. Each relay topology may require a different MoQ architecture or implementation. Therefore, the deadline-aware actions should act as a plugin that relays can quickly implement regardless of the topology and architecture.</t>
    </section>
    <section anchor="deadline-aware-extension-of-moq">
      <name>Deadline-aware Extension of MoQ</name>
      <section anchor="object-model-block">
        <name>Object Model: Block</name>
        <t>In this draft, we utilize the Block as the fundamental unit for data transmission. A Block comprises two essential components: the metadata and the payload. The payload of a Block is a sequence of data bytes that carries the basic unit in media transport, such as a video frame. Meanwhile, a Block's metadata encompasses deadline-related information, which is necessary for enabling Deadline-aware Actions(see <xref target="deadline-aware-action"/>). It's worth noting that the metadata of a Block can remain unencrypted, whereas the payload of a Block <bcp14>SHOULD</bcp14> be encrypted.</t>
        <t>The Block serves as a model exclusively for data transmission within the MoQ framework. Its purpose is to support the design principles of data units within MoQ, like the Object or the Group in <xref target="MOQT"/>. Importantly, it is crucial that the Block model does not supersede or alter the original data transmission model and should adapt to different designs in MoQ.</t>
        <section anchor="metadata">
          <name>Metadata</name>
          <t>For Deadline-aware MoQ Relay, data block metadata is required to enable deadline-aware actions. Both the endpoint and the relay <bcp14>SHOULD</bcp14> attach the following metadata to each data block when using deadline-aware actions:</t>
          <ul spacing="normal">
            <li>
              <t>block id: the identifier of each block</t>
            </li>
            <li>
              <t>size: the size of the payload in bytes</t>
            </li>
            <li>
              <t>priority: the block's relative priority in a single session</t>
            </li>
            <li>
              <t>deadline: the expected completion time of the block. The relay can drop overdue data.</t>
            </li>
          </ul>
          <t>The relay <bcp14>SHOULD</bcp14> maintain track of the metadata of a block until the block misses its deadline.</t>
          <t>Additionally, if the endpoint does not offer metadata in the header of a data block, relays <bcp14>MAY</bcp14> implement other mechanisms to acquire and synchronize deadline-related metadata.</t>
          <t>e.x. The specific methodology for encapsulating metadata needs to wait until the MoQ specification is standardized.</t>
          <section anchor="proirity">
            <name>Proirity</name>
            <t>TODO: At present, we set the priority as a relative value within a session. However, the priority in MOQT refers to a relative sending order in a group. We are considering postponing this aspect until we devise a solution for implementing MOQT-defined priority ordering on Deadline-aware MoQ Relays.</t>
          </section>
          <section anchor="deadline">
            <name>Deadline</name>
            <t>Deadlines can be defined in two distinct manners: End-to-End Deadline and Hop-by-Hop Deadline.</t>
            <t>The End-to-End Deadline indicates the expected end-to-end delay of the application, beyond which a data block is considered obsolete. Conversely, the Hop-by-Hop Deadline represents the anticipated delay between two nodes within each hop. It defines the tolerance for delay between relay nodes but does not convey the end-to-end latency requirement.</t>
            <figure anchor="ddl">
              <name>A Prototype Design for the Deadline Field</name>
              <artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             Type (i)                        ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   [Duration (i)/Timestamp (i)]              ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure>
            <t><xref target="ddl"/> demonstrates a potential implementation of the Deadline field. The Type field specifies the function of these two fields. The last bit of Type (0x1) indicates whether the Block uses Hop-by-Hop Deadline. The least significant bit of Type (0x1) indicates whether the Block utilizes the Hop-by-Hop Deadline. The second-to-last bit of Type (0x2) indicates whether the Block employs a time duration as the maximum delay tolerance or a Unix timestamp as the expiration time for the data. A Type value of 0x4 signifies that the Block has no Deadline requirement.</t>
            <t>The Deadline-aware MoQ Relay <bcp14>SHOULD</bcp14> implement stratergies to manage both End-to-End Deadline and Hop-by-Hop Deadline requirements.</t>
          </section>
        </section>
      </section>
      <section anchor="deadline-aware-action">
        <name>Deadline-aware Action</name>
        <section anchor="deadline-aware-scheduling-and-cancelling">
          <name>Deadline-aware Scheduling and Cancelling</name>
          <t>When implementing deadline-aware actions, the Deadline-aware MoQ Relay can utilize the block metadata for scheduling blocks at the block-level. The scheduler <bcp14>SHOULD</bcp14> minimize the total time of queuing and try to meet the deadline requirements of as many high-priority blocks as possible.</t>
          <t>If a block misses its deadline, Deadline-aware MoQ Relay <bcp14>MAY</bcp14> cancel it. In such cases, the endpoints <bcp14>SHOULD</bcp14> be able to accept partially received data and not request for data re-transmission when a block is dropped. Additionally, the relays <bcp14>MAY</bcp14> inform the endpoints and other relays about the cancellation of these blocks.</t>
        </section>
        <section anchor="deadline-aware-redundancy-coding">
          <name>Deadline-aware Redundancy Coding</name>
          <t>To improve reliability and decrease latency, Deadline-aware MoQ Relay <bcp14>MAY</bcp14> introduce redundancy data to blocks close to their deadline or transmitted over a network with a high loss rate. This redundancy can help to prevent the need for re-transmission. If the first relay adds redundancy coding to the data, other relay nodes in the network may benefit from it.</t>
          <t>When redundancy coding is enabled, at least two nodes <bcp14>SHOULD</bcp14> implement a pair of encoder and decoder that comply with the redundancy coding method. The endpoint <bcp14>MAY</bcp14> also implement a redundancy encoder and decoder to utilize the relay's redundancy coding function fully.</t>
          <t>The first node that encodes the data with redundancy coding <bcp14>MUST</bcp14> add redundancy-related information to the metadata of the data block.</t>
        </section>
      </section>
    </section>
    <section anchor="discussions">
      <name>Discussions</name>
      <section anchor="drop-notification">
        <name>Drop Notification</name>
        <t>In situations where a data block is dropped by a relay due to a missed deadline or other reasons, sending an explicit dropping message to other relays and both endpoints can be helpful in notifying them of the data loss. The dropping message may include information about the block, such as its ID and metadata. However, the effective method for notifying other nodes and the decision regarding whether to send drop notifications to other relays are still pending discussion. Broadcasting drop notifications could potentially lead to network flooding and requires further consideration.</t>
      </section>
      <section anchor="data-buffer">
        <name>Data Buffer</name>
        <t>Further discussion is required to determine if the relay should implement a buffer for data blocks during forwarding and how such a buffer should be implemented. This buffer may be used for re-transmission purposes and may benefit users with larger delay tolerance, among other potential uses.</t>
      </section>
      <section anchor="clock-synchronization">
        <name>Clock Synchronization</name>
        <t>To enable accurate deadline-aware actions, it is recommended that all endpoints and relays perform clock synchronization. Nevertheless, achieving high-precision clock synchronization over the Internet can be a formidable task, and it is also impractical to synchronize all devices in a single MoQ session. The challenge then becomes how to carry out deadline-aware actions in the presence of imprecise clock accuracy, which is a critical question that needs to be addressed.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Access to the metadata of the Deadline-aware MoQ Relay <bcp14>SHOULD</bcp14> be limited to selected relays. The relay <bcp14>SHOULD NOT</bcp14> access the content of the data block.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="MOQT">
          <front>
            <title>Media over QUIC Transport</title>
            <author fullname="Luke Curley" initials="L." surname="Curley">
              <organization>Discord</organization>
            </author>
            <author fullname="Kirill Pugin" initials="K." surname="Pugin">
              <organization>Meta</organization>
            </author>
            <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
              <organization>Cisco</organization>
            </author>
            <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
              <organization>Google</organization>
            </author>
            <author fullname="Ian Swett" initials="I." surname="Swett">
              <organization>Google</organization>
            </author>
            <date day="24" month="January" year="2024"/>
            <abstract>
              <t>   This document defines the core behavior for Media over QUIC Transport
   (MOQT), a media transport protocol designed to operate over QUIC and
   WebTransport, which have similar functionality.  MOQT allows a
   producer of media to publish data and have it consumed via
   subscription by a multiplicity of endpoints.  It supports
   intermediate content distribution networks and is designed for high
   scale and low latency distribution.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-moq-transport-02"/>
        </reference>
        <reference anchor="QUIC">
          <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="I-D.draft-shi-quic-dtp">
          <front>
            <title>Deadline-aware Transport Protocol</title>
            <author fullname="Yong Cui" initials="Y." surname="Cui">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Chuan Ma" initials="C." surname="Ma">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Hang Shi" initials="H." surname="Shi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Kai Zheng" initials="K." surname="Zheng">
              <organization>Huawei</organization>
            </author>
            <author fullname="Wei Wang" initials="W." surname="Wang">
              <organization>Huawei</organization>
            </author>
            <date day="28" month="January" year="2024"/>
            <abstract>
              <t>   This document defines Deadline-aware Transport Protocol (DTP) to
   provide block-based deliver-before-deadline transmission.  The
   intention of this memo is to describe a mechanism to fulfill
   unreliable transmission based on QUIC as well as how to enhance
   timeliness of data delivery.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-shi-quic-dtp-09"/>
        </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.draft-shi-moq-design-space-analysis-of-moq">
          <front>
            <title>Design Space Analysis of MoQ</title>
            <author fullname="Hang Shi" initials="H." surname="Shi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Yong Cui" initials="Y." surname="Cui">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Xiaobo Yu" initials="X." surname="Yu">
              <organization>Alibaba Group</organization>
            </author>
            <date day="3" month="March" year="2024"/>
            <abstract>
              <t>   This document investigates potential solution directions within the
   charter scope of MoQ WG.  MoQ aims to provide low-latency, efficient
   media delivery solution for use cases including live streaming,
   gaming and video conferencing.  To achieve low-latency media transfer
   efficiently, the network topology of relay nodes and the computation
   done at the relay nodes should be considered carefully.  This
   document provides the analysis of those factors which can help the
   design of the MoQ protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-shi-moq-design-space-analysis-of-moq-03"/>
        </reference>
      </references>
    </references>
    <?line 227?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We sincerely thank Wei Cao for his advice and revisions to this draft.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
