<?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.6.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-shi-moq-design-space-analysis-of-moq-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title abbrev="MoQ Design Space">Design Space Analysis of MoQ</title>
    <seriesInfo name="Internet-Draft" value="draft-shi-moq-design-space-analysis-of-moq-02"/>
    <author initials="H." surname="Shi" fullname="Hang Shi" role="editor">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>shihang9@huawei.com</email>
      </address>
    </author>
    <author initials="Y." surname="Cui" fullname="Yong Cui">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>cuiyong@tsinghua.edu.cn</email>
      </address>
    </author>
    <author initials="X." surname="Yu" fullname="Xiaobo Yu">
      <organization>Alibaba Group</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>shibo.yxb@alibaba-inc.com</email>
      </address>
    </author>
    <date year="2023" month="September" day="11"/>
    <area>Applications and Real-Time</area>
    <workgroup>Media Over QUIC</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 70?>

<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>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://VMatrix1900.github.io/moq-design-space-analysis-of-moq/draft-shi-moq-design-space-analysis-of-moq.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-shi-moq-design-space-analysis-of-moq/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Media Over QUIC Working Group mailing list (<eref target="mailto:moq@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/moq/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/moq/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/VMatrix1900/moq-design-space-analysis-of-moq"/>.</t>
    </note>
  </front>
  <middle>
    <?line 75?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Media over QUIC aims to provide low-latency, efficient media delivery solution for use cases including live streaming, gaming, and video conferencing. The latency requirement and the transmission pattern are analyzed in <xref target="moq-req"/>. To scale efficiently, relay can be used to optimize the delivery performance by caching, selective dropping, etc. However, how to accomplish that remains unclear. Lots of factors of the relay and protocol design choice can affect the performance gain of leveraging relay. This document aims to provide analysis of those design choices.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>Relay: An element which participates in the forwarding of the media content. Possibly support caching, selective dropping to optimize the media transmission performance.</li>
        <li>Producer: An endpoint which generate the media stream. Could be the original content producer (a live streaming uploader) or the re-encoder in the cloud.</li>
        <li>Consumer: An endpoint which receive the media stream. Could be the live stream viewer or the re-encoder in the cloud.</li>
      </ul>
      <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="design-choice-1-static-tree-topology-versus-dynamic-mesh-topology">
      <name>Design Choice 1: Static Tree Topology versus Dynamic Mesh Topology</name>
      <t>The first question of using relay to forward the media between the producer and the consumer is the topology of relays. In traditional CDN network, each CDN site can be viewed as a relay. Those relays are organized in a tree (see <xref target="tree"/>). The producer and the consumer are usually connected to the edge node of the CDN which is the leaf node in the tree. In this case, the path for media in live streaming is usually producer - edge node 1 (relay 1) - parent node 1 (relay 2) - origin node (relay 3) - parent node 2 (relay 4) - edge node 2 (relay 5) - consumer, i.e. the media need to first go up to the root of the tree, then go down to another leaf node, traversing multiple (at least 3) relays if the CDN hierarchy is deep or the producer and the consumer is highly distributed. The tree topology is simple to build since the path of the stream is fixed and the leaf node can be lightweight and deployed closely to user. The computing intensive process can be put in the much more powerful root servers.</t>
      <t><xref target="QUICR-arch"/> is similar to the tree topology of CDN with one improvement: the relay can shortcut the media transmission. If the producer and the consumer share a parent relay, the media will be forwarded in the relay instead of the root of the tree (called Origin in QUICR's term).</t>
      <figure anchor="tree">
        <name>static tree topology</name>
        <artwork><![CDATA[
                               +----------+
                  +----------->|   Root   +-----------+
                  |            +----------+           |
                  |                                   |
             +----+-----+                        +----v-----+
      +----->| Parent-1 |                        | Parent-2 +--------+
      |      +----------+                        +----------+        |
      |                                                              |
 +----+-----+                                                   +----v-----+
 |  Edge-1  |                                                   |  Edge-2  |
 +----^-----+                                                   +----------+
      |                                                              |
      |                                                              |
+-----+----+                                                     +---v------+
| Producer |                                                     | Consumer |
+----------+                                                     +----------+
]]></artwork>
      </figure>
      <t>Another approach is to connect the relays in a dynamic mesh instead of a static hierarchy. Alibaba's  low-latency live streaming network builds on a flat CDN overlay <xref target="LiveNet"/>. A centralized controller collects the latency between each relay periodically and calculates the optimal path (latency-wise) for each media stream dynamically. Alibaba claims the flat topology reduce the latency by half compared to static hierarchy. An example is shown in <xref target="mesh"/>, the media stream is forwarded through relay 1 and relay 4, only 2 hops. If the network path between relay 1 and relay 4 are congested, relay 1 - relay 2/3 - relay 4 maybe used to provide lower-latency forwarding.</t>
      <t>The controller can be connected with 3rd party application provider and manages the interactive media communication between producer and consumer for the application provider. The interactive media can be delivered to other consumers via certain relays of the live streaming network. A request of interactive media communication can be triggered by a consumer. The request is sent to the application provider which then attempts to pull related media of corresponding consumer and producer from the live streaming network. The application provider merges the media containing the producer and the consumer and delivers the merged media to the live streaming network. The live steaming network conducts the media switching for the corresponding producer, consumer and other consumers via the corresponding relays upon the receipt of the media switching request.</t>
      <figure anchor="mesh">
        <name>dynamic mesh topology</name>
        <artwork><![CDATA[
              +-----------------------------------------+
              |              Controller                 |
              +-----------------------------------------+
              |                                         |
              |              +---------+                |
              |      +-------> Relay-2 +---------+      |
              |      |       +----+----+ path 2  |      |
              |      |            |              |      |
+----------+  | +----+----+       |         +----v----+ |   +----------+
| Producer +--+>| Relay-1 +-------+---------> Relay-4 +-+-->| Consumer |
+----------+  | +----+----+       | path 1  +---------+ |   +----------+
              |      |            |              |      |
              |      |            |              |      |
              |      |       +----+----+         |      |
              |      +-------+ Relay-3 +---------+      |
              |              +---------+                |
              |                                         |
              +-----------------------------------------+
]]></artwork>
      </figure>
    </section>
    <section anchor="design-choice-2-stateless-http-versus-stateful-pubsub">
      <name>Design Choice 2: Stateless HTTP versus Stateful pub/sub</name>
      <t>Traditionally the CDN are using HTTP to support live streaming. The media stream is broken into a series of chunks which are mapped to HTTP resources. In this way, the HTTP stack and infrastructure is reused. Since HTTP is stateless, each relay only need to act as an HTTP server/client. There is no need to store the relationship between different HTTP flows hence the relay is easier to implement. However, such a stateless HTTP server will suffer from the delay of the chunk because each relay need to download the chunk first before it can serve the chunk to the downstream node as an HTTP server. The delay will be stacked along with the relay chain. Reducing the chunk size can reduce the delay, but the number of chunk will increase thus brings higher burden of management and signalling.</t>
      <t>Using pub/sub as the metaphor requires that the relay node keeps track of the mapping between the publisher and subscribers, i.e. the subscription information state. A packet receive from the publisher can be duplicated and forwarded to subscribers immediately without any delay, forming a relay chain for packets instead of chunks. HTTP can be modified to send partial chunks before a full chunk is received, then the downstream HTTP stream will bind with the upstream one, essentially brings back the subscription information state.</t>
      <t>Another way to eliminate the state in the relay node is to encode the state information on the data-plane. When the producer sends out the media, it tags the subscriber information in each packet or flow. The relay forwards the packet or flow based on the tag. The relay node need to be preloaded the tag forwarding rule. Luckily this tag forwarding rule is related to the topology which is rather static comparing to the highly dynamic media stream subscriber information.</t>
    </section>
    <section anchor="design-choice-3-quic-hop-by-hop-versus-end-to-end">
      <name>Design Choice 3: QUIC hop-by-hop versus end-to-end</name>
      <t>The media flow sending from the producer to the consumer will go through several relays. The media content will be encrypted using QUIC encryption as requested in charter. But whether the relay node will terminate the QUIC connection remains open. There are following two options to implement the MoQ protocol stack.</t>
      <t>The first option is to running the entire MoQ protocol inside QUIC encryption, including the media metadata which is needed by relay (see <xref target="node-by-node"/>). Thus the relay has to terminate the QUIC connection, decrypting the QUIC payload. This will require each relay node hold a valid CA certificate and run the CA verification process. Just like what the CDN node does nowadays.</t>
      <figure anchor="node-by-node">
        <name>MoQ running over QUIC, like HTTP</name>
        <artwork><![CDATA[
        Media (Metadata + Content)
----------------------------------------------
    Protocol header  |  Protocol payload           <-------- MoQ
----------------------------------------------
                   QUIC                            <-------- Transport
]]></artwork>
      </figure>
      <t>The second option is to only encrypt the media content using QUIC encryption but leave the metadata to other mechanism (see <xref target="end-to-end"/>). In this way, the QUIC connection is from producer to consumer. The relay does not need to decrypt the QUIC, saving the computing power. As the charter put it: "Even when media content is end-to-end encrypted, the relays can access metadata. Hence a new mechanism to convey the metadata to the relay is needed, similar to SDP for RTP, or m3u8 file for HLS.</t>
      <figure anchor="end-to-end">
        <name>MoQ using QUIC for media, other for metadata, like WebRTC</name>
        <artwork><![CDATA[
      Media metadata     |  Media content            <-----\
-------------------------|-----------------------           \
     Protocol header     |  Protocol payload         <------ MoQ
-------------------------|-----------------------           /
         Other           |    QUIC                   <-----/
]]></artwork>
      </figure>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>When the metadata is not carried inside the QUIC payload, it should be protected from unauthorized third-part access to to protect the privacy. Relay should be authenticated to access the metadata.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <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>
      <references>
        <name>Informative References</name>
        <reference anchor="moq-req">
          <front>
            <title>Media Over QUIC - Use Cases and Requirements for Media Transport Protocol Design</title>
            <author fullname="James Gruessing" initials="J." surname="Gruessing">
              <organization>Nederlandse Publieke Omroep</organization>
            </author>
            <author fullname="Spencer Dawkins" initials="S." surname="Dawkins">
              <organization>Tencent America LLC</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   This document describes use cases and requirements that guide the
   specification of a simple, low-latency media delivery solution for
   ingest and distribution, using either the QUIC protocol or
   WebTransport as transport protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-moq-requirements-01"/>
        </reference>
        <reference anchor="QUICR-arch" target="https://datatracker.ietf.org/doc/draft-jennings-moq-quicr-arch/">
          <front>
            <title>QuicR - Media Delivery Protocol over QUIC</title>
            <author initials="C." surname="Jennings" fullname="Cullen Jennings">
              <organization/>
            </author>
            <author initials="S." surname="Nandakumar" fullname="Suhas Nandakumar">
              <organization/>
            </author>
            <date year="2022" month="October"/>
          </front>
        </reference>
        <reference anchor="LiveNet" target="https://dl.acm.org/doi/abs/10.1145/3544216.3544236">
          <front>
            <title>LiveNet - A Low-Latency Video Transport Network</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="October"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
NqkvWQwmpnko22UR/MQpBiSnyT8AdD0OqN0yAAA=

-->

</rfc>
