[Moq] Maybe a good building block for Media over QUIC -- Deadline-aware Transport Protocol

马川 <simonkorl0228@gmail.com> Tue, 12 July 2022 15:13 UTC

Return-Path: <simonkorl0228@gmail.com>
X-Original-To: moq@ietfa.amsl.com
Delivered-To: moq@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 62D18C14CF04 for <moq@ietfa.amsl.com>; Tue, 12 Jul 2022 08:13:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.854
X-Spam-Level:
X-Spam-Status: No, score=-1.854 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jQQMvmVsv6Nm for <moq@ietfa.amsl.com>; Tue, 12 Jul 2022 08:13:13 -0700 (PDT)
Received: from mail-yb1-xb30.google.com (mail-yb1-xb30.google.com [IPv6:2607:f8b0:4864:20::b30]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8C58DC14F743 for <moq@ietf.org>; Tue, 12 Jul 2022 08:13:13 -0700 (PDT)
Received: by mail-yb1-xb30.google.com with SMTP id h62so11812487ybb.11 for <moq@ietf.org>; Tue, 12 Jul 2022 08:13:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=0FUyk14AOo0qQmvkkNCJFQYdhh7pnpCqECNYptnedTo=; b=h2WC1Vr1l8KINxTJ/W5EmP9CbP7HD07vCJsZ8NlgRu0WjvA90FtljF0RuFBR6EjKOj dCYoASGYTMtLEOYoFqjsGUk8YShapkgqNWmCdEEyWR9cd3qYvz5W4Z3OcERw78raZCLX NPuV6AhlhZ9jzquF4Cp+yEDz11fq5xSMC94ZNCpkRZrdf4UZ1uwdzd3WuFyDvbHDm6f7 nIQ0UftXUwuZChtid6WyG2UKU6KK9QClfzgmPfTNqqI8Wtt4sW0AK9iHWrfP6SIHtyQy C66HVrPKod2j8B/i+4oWAtTXEYUuXS8X1ussfn9oqe9tUnfVEpbzF0BNz1lVj3PWzt0L 1tow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=0FUyk14AOo0qQmvkkNCJFQYdhh7pnpCqECNYptnedTo=; b=YlaFPunJwSZ0yxHoXK3/I8RZWluxD4tNDAzx9g1FNbym/Jl9Ts0S5Nw6CWElB2HwnZ 0XmMoGRjuJIfOSRBQp6cz/2hlXsz11LdrIua7qWO50Mkp076+QnyOLTL8A2MjiHlWfUv Ht/eLPfW8AHNosQZEAZxwhssaNecCkQC6OpONepwApZDJH0Hyao4wP4ZC6bF7j6EHseX IaHsgxOYjlRCJYen32tlSqDN51y+zrRbXfwAjsq/rn076wV1HXNhU4g1ciBSg7vw1hw+ Via4CfMv3cqaqoQH1YKKmvUaX8G7qrZo77ciKW3MjM3XYRS1cTopjyngr+Ar9QY/yf2q 1XIg==
X-Gm-Message-State: AJIora8ESU0jUr7bA326Tx63cqiJ0dfg45/TK3sldlaZp1hYT95sHL98 gbbKZJn0GdD9h0URv4VLokQ5kSQ+mYjGkHjGe5UWSM2QHg2HGg==
X-Google-Smtp-Source: AGRyM1szOJTVPJUftBNzQh3I6JekwR4a4ci+NDn4/d9sLC4zlgKVwU/eo8zduoR7uJqM2adzJhl2yZ+S/N/1h5GgZbQ=
X-Received: by 2002:a05:6902:1209:b0:66e:9640:1447 with SMTP id s9-20020a056902120900b0066e96401447mr24160127ybu.152.1657638791780; Tue, 12 Jul 2022 08:13:11 -0700 (PDT)
MIME-Version: 1.0
From: 马川 <simonkorl0228@gmail.com>
Date: Tue, 12 Jul 2022 23:13:01 +0800
Message-ID: <CAAZo2nGOc7gzizqRJPqEn=GPnvDC3rcN1ZVr61e3ZurcBPgUSg@mail.gmail.com>
To: moq@ietf.org
Content-Type: multipart/alternative; boundary="000000000000599c1805e39d1b5f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/moq/kAKwAFt-VDzebpk7RALJEscjut4>
Subject: [Moq] Maybe a good building block for Media over QUIC -- Deadline-aware Transport Protocol
X-BeenThere: moq@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Media over QUIC <moq.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/moq>, <mailto:moq-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/moq/>
List-Post: <mailto:moq@ietf.org>
List-Help: <mailto:moq-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/moq>, <mailto:moq-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Jul 2022 15:13:14 -0000

Dear all:

Hello everyone, I'm one of the maintainers of the Deadline-ware Transport
Protocol (DTP)[https://www.ietf.org/archive/id/draft-shi-quic-dtp-05.html].
We suppose that DTP would be a good building block for creating protocols
for Media over QUIC. In this email, I'd like to introduce our protocol to
you, and we'd like to know your ideas about how to leverage our protocol to
meet the requirement of this working group.

----
Introduction of DTP
----

Deadline-aware Transport Protocol (DTP) is an extension of QUIC to enable
half-unreliable transmission and to provide block-based
deliver-before-deadline transmission. It has the following features:

1. Using 'Block'(or segment) as the primary data unit to transport.

    The concept of 'block' means a consistent and complete data segment
like the video or audio frame in media streaming. The application can use
a' block' as soon as it has reached the receiver side of the transmission.

2. Each 'Block' has attributes like 'priority' and 'deadline'.

    The 'priority' means the importance of the data like audio blocks
usually have a higher priority than video blocks in online conferences. DTP
introduces 'deadline' to each block as the delay requirement from the
application layer.

3. DTP uses plenty of methods to make blocks reach their destination in
time.

    DTP tries to meet the 'deadline' requirements by scheduling the order
to send each 'block',  canceling some blocks when they have missed the
'deadline', and using other methods like enabling FEC for each block.

In conclusion, DTP focuses on the deadline requirement of the applications
and tries to create a loose time-sensitive network on the transport layer
by using the abstraction of data blocks.

----
Use cases
----

The use cases of DTP mainly contain applications that generate blocks of
data in a routine and might require feedback or response. Such applications
include:

1. 360-degree video streaming
2. cloud VR gaming
3. cooperative augmented vehicular reality
4. online conference
5. live streaming

These applications all require ultra-low latency and live media streaming.
Media streaming with a latency of 2~5 RTT is the optimize-range of DTP and
is also one of the targets of Media over QUIC. As a result, We think DTP
might help handle some media transport scenarios in MOQ.

---
Useful functions
---

DTP offers a significant number of functions that might be helpful for live
media transmission in Media over QUIC:

1. DTP is an extension of QUIC, so it inherits many good features from QUIC
like stream multiplexing, unreliable datagram, and intrinsic security.
2. DTP integrates some standard designs of some frameworks of MOQ and
exposes extensible interfaces like stream(block) scheduler, FEC, and
segment mapping.
3. It is easy to add features to DTP to try your ideas like enabling
multi-path transmission or overlaying.

So it is a good idea to have a look at DTP and give it a try.

---
Compare DTP with Warp
---

The idea of DTP is similar to Warp [
https://www.ietf.org/archive/id/draft-lcurley-warp-01.html]. They both have
the concept of breaking media files into segments and adding attributes
like a priority to the data segments. They both try to use the idea of
scheduling and stream canceling to decrease the delay. The main difference
between them is that Warp focuses more on transmitting control data of
media, and DTP focuses more on time-sensitive transmission using data
blocks. Compared to Warp, DTP tries to meet more transport scenarios aside
from media streaming and tries to be more extensible.

---
Implementations
---

- DTP main page:  https://github.com/STAR-Tsinghua/DTP
- Live stream prototype:
https://github.com/STAR-Tsinghua/LiveEvaluationSystem
- Other implementations
  - TCP-like socket API: currently private
  - Proxy: currently private

We have our protocol available for test on Github [
https://github.com/STAR-Tsinghua/DTP]. We tried to build some systems based
on our protocol. You can find a prototype of a live stream system in our
lab's other project [https://github.com/STAR-Tsinghua/LiveEvaluationSystem].
We also tried several ideas to integrate our protocol with some already
deployed systems. We've met a lot of challenges in this process as the
users don't want to change their protocol stack. We tried to simplify the
process of using DTP by building a TCP-like socket API and developing a DTP
proxy that can make a DTP tunnel forwarding TCP flows. If you are
interested in any of our implementations, please get in touch with me to
discuss more details.

---
Conclusion
---

To sum up, DTP is a low-level extension based on QUIC. It has the following
features to make it a suitable building block for MOQ.

1. Media-oriented functions: It offers valuable functions to transmit live
media like FEC and stream scheduler
2. Delay optimized: It is especially good at satisfying the delay
requirement from the application
3. Flexible and Extensible: DTP is highly extensible and can support
multiple protocols to handle media transmission like carrying encoding
information and caching data in the middle.

Thank you for the time to read this email. Please let me know if you have
any questions. Any suggestion or idea is welcome.

We are looking forward to your feedback. Your reply means a lot to us.

Best regards.

Chuan Ma