[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
- [Moq] Maybe a good building block for Media over … 马川
- Re: [Moq] Maybe a good building block for Media o… Kyle Rose
- Re: [Moq] Maybe a good building block for Media o… Maxim Sharabayko
- Re: [Moq] Maybe a good building block for Media o… Chuan Ma
- Re: [Moq] Maybe a good building block for Media o… Maxim Sharabayko
- Re: [Moq] Maybe a good building block for Media o… Chuan Ma