Re: [External] New Version Notification for draft-chen-quic-quicu-01.txt

Matt Joras <matt.joras@gmail.com> Mon, 26 September 2022 17:31 UTC

Return-Path: <matt.joras@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A52C3C14CF1B; Mon, 26 Sep 2022 10:31:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 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_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable 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 cyXFXyDSNVNX; Mon, 26 Sep 2022 10:31:02 -0700 (PDT)
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com [IPv6:2a00:1450:4864:20::335]) (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 21E2CC14CF14; Mon, 26 Sep 2022 10:31:02 -0700 (PDT)
Received: by mail-wm1-x335.google.com with SMTP id o5so5032346wms.1; Mon, 26 Sep 2022 10:31:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=BWV6LheJGwgiaGQigt4LfMESxsyum18TnzGNSekRUiM=; b=qmbr3s853QYz0MYOkGQxaBm27LjJm1XNEmuRnuyXvURDQhNDDtEF7I8fCG5tY5PSK6 fZ4ZZ99P9dAnjYap4NAzuPSMuVYBoPlnTltb39D2eAkNMVVsMk5dl1dXPp7hGNvCXudr lRG69XjA1XUOAPTjNriKgSvgx7kU5d/T6JdGVcsIDTVO1BU4tf3NbdX1jSUX4CXFXAdh v8l3CIJN/5v1mByGahe6H2EReFb/HbyG1M6OB3qt3nK2dHq0XkCmchap+XbiJGCmXLAd IUwE/bFq8kxyvl7xck5hj9ARG3cn99N5kMk9Yj6xPcOyFoG9YAivCNUMwYzBoxb8UREn dk/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=BWV6LheJGwgiaGQigt4LfMESxsyum18TnzGNSekRUiM=; b=ryJYD6gc57nzi3Mxf2gTVtW7zf+FCWxeR3Yg55KO3tzflWXxoT5XpFoRnk+9CvRNvu I5+SzvvM+fYurMuUz6FhkbH7oWTjpXQo9EHSfcNmlqej6+x90fNr8cBa2lpwDtr/i/2A sabPcQ4Z/OJt2dOR1CddMbfgd+0YSfWFSLM5CC+VK9XLT90mFTKDLCxPQsTKhNJnxo8d OraiBgg1ntpu6z9mo9bW37DDzhyfeAWskIXYuaWzkbmd4AG+p9UYo28mMQEg9he0nsmR hb3Mh7R5XxziceWc4nWX28NwWXTv+MopTQFiO+QFQpASIsZqoD6Jnw14SjbVUmOg5n51 MJxw==
X-Gm-Message-State: ACrzQf2gKm7l3L4hcHfKrAxePh1nHZE2iEzatpJTkTSv2PYdipc4CoRt 0m0n48OazLTSKrfoLtp29zBZZt/wk3n14jrhsrQ=
X-Google-Smtp-Source: AMsMyM6jIaJjHXCtN44ApGw99Su0AYWxWTJPzEZufiPxW3AyRSMcoBAOE2zIbgNLtGVIZoNwjDcvAxRDDXXcQCM51w4=
X-Received: by 2002:a05:600c:1c22:b0:3b4:b2bc:15e4 with SMTP id j34-20020a05600c1c2200b003b4b2bc15e4mr16417556wms.69.1664213459783; Mon, 26 Sep 2022 10:30:59 -0700 (PDT)
MIME-Version: 1.0
References: <166359205152.6422.10161941398731313578@ietfa.amsl.com> <CAGAnozYePCwo5S-EUTN4X=-EixNFVgF+1MwiD60-GDogw7ojnA@mail.gmail.com> <CAJ_4DfS8n5sZXEk0=Eojq_DEK6QGvgG6-KjOiVnHv8etxzCSkQ@mail.gmail.com> <AE5493E8-DFAD-42F2-A41C-4B924B8602EF@apple.com> <CAGAnozZHFChVbK2MNkxVm5XbF3msGyHuRy1er7OjAGPzE_EMLQ@mail.gmail.com> <d0f85f1306c94e8d92ad4ad706e9f48f@akamai.com> <CADdTf+gyoUy8HONSLrVdvgi0Mn80=DG1fUR2uusL-smaK6rUeQ@mail.gmail.com> <0dced57a15114a42993866c2f983728e@huawei.com>
In-Reply-To: <0dced57a15114a42993866c2f983728e@huawei.com>
From: Matt Joras <matt.joras@gmail.com>
Date: Mon, 26 Sep 2022 10:30:48 -0700
Message-ID: <CADdTf+i13xFaiWic=Ud8H2n+Kr6ac87UEbZ7T_W7XbqM6SBsAw@mail.gmail.com>
Subject: Re: [External] New Version Notification for draft-chen-quic-quicu-01.txt
To: "Shihang(Vincent)" <shihang9@huawei.com>
Cc: "Lubashev, Igor" <ilubashe=40akamai.com@dmarc.ietf.org>, Yongyi Yu <yuyongyi.yyy@bytedance.com>, Tommy Pauly <tpauly@apple.com>, Ryan Hamilton <rch=40google.com@dmarc.ietf.org>, "quic@ietf.org" <quic@ietf.org>, 陈鉴平 <chenjianping.ireader@bytedance.com>, 景君羡 <jingjunxian@bytedance.com>, 刘天一 <liutianyi.lty@bytedance.com>, "simonkorl0228@gmail.com" <simonkorl0228@gmail.com>, moq@ietf.org
Content-Type: multipart/alternative; boundary="00000000000019d63705e997e4eb"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/2CdB6s2voMtRy4xqbYJzoKqCt1I>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Sep 2022 17:31:06 -0000

+ moq mailing list to this discussion, since I think this thread is highly
relevant to their work as well.

On Mon, Sep 26, 2022 at 12:01 AM Shihang(Vincent) <shihang9@huawei.com>
wrote:

> The draft implements partial reliability by splitting one stream into
> multiple blocks and drop stale blocks till a certain offset. In DTP[1], we
> take another approach by mapping the block to stream 1 to 1. In this way
> dropping a block can leverage existing QUIC stream management mechanism
> such as RESET_STREAM, similar to RUSH protocol[2]. I wonder the reason
> behind your design choice. Why mapping multiple blocks into one stream?
>
>
>
> [1] https://datatracker.ietf.org/doc/draft-shi-quic-dtp/
>
> [2] https://datatracker.ietf.org/doc/draft-kpugin-rush/01/
>
>
>
> Best Regards,
>
> Hang Shi
>
>
>
> *From:* QUIC <quic-bounces@ietf.org> *On Behalf Of *Matt Joras
> *Sent:* Monday, September 26, 2022 1:29 PM
> *To:* Lubashev, Igor <ilubashe=40akamai.com@dmarc.ietf.org>
> *Cc:* Yongyi Yu <yuyongyi.yyy@bytedance.com>; Tommy Pauly <
> tpauly@apple.com>; Ryan Hamilton <rch=40google.com@dmarc.ietf.org>;
> quic@ietf.org; 陈鉴平 <chenjianping.ireader@bytedance.com>; 景君羡 <
> jingjunxian@bytedance.com>; 刘天一 <liutianyi.lty@bytedance.com>
> *Subject:* Re: [External] New Version Notification for
> draft-chen-quic-quicu-01.txt
>
>
>
> First off, chair hat off.
>
> Thanks for taking the time to write up this draft Yongyi et al. I agree
> with others that the more common language we've been using for a scheme
> like this is "partial reliability" as applied to QUIC streams. And indeed,
> as Igor noted, exploring this area is not new for the working group. If you
> had asked me a few years ago, I would have agreed that partial reliability
> within a stream, (i.e. the ability to ensure delivery of parts of a stream)
> was a pressing problem and extremely useful semantic to have in QUIC.
> However my views on the matter have evolved in the intervening years. The
> original driving problem for this capability, and indeed I suspect the
> continued interest, is "low latency" HTTP-based video playback.
>
>
>
> Low latency delivery of data and full reliability of delivery are, in any
> scheme requiring occasional retransmission of data, at odds. However, video
> and audio encodings can playback acceptably for humans using "partial"
> data, and so a integrated video player could potentially deliver an
> acceptable experience at lower latency if it chooses not to wait for the
> entirety of the data. This naturally leads one to exploring a solution
> involving partial delivery, hence "partial reliability". However, the
> existing methods of serving video on the Internet largely consists of
> HTTP-based CDN infrastructure, which for video pretty much always involves
> serving segments of encoded video in HTTP responses, which are then
> sequentially fed into a player. HTTP today always maps to an underlying
> notion of a reliable sequential byte stream. Thus, if we are to reuse the
> existing HTTP CDN infrastructure, it follows that we must make it so that a
> byte stream is partially reliable and figure out a way to map such concepts
> to HTTP.
>
>
>
> We (Meta, formerly Facebook) explored this notion for real ultra low
> latency video playback, implementing what amounted to a variant of the
> drafts Igor linked, as well as the accompanying components at the HTTP
> layer. This effort though ultimately has not been used in production for
> video playback for various reasons, some of which relate to the complexity
> of the resulting systems. What has seen production success for a subset of
> low latency video, and has emerging promising low-latency
> not-strictly-video Internet usecases, is a rather different scheme that I
> think bears repeating.
>
>
>
> While QUIC lacks a natural semantic for partial reliability within a
> stream, streams themselves offer the aspiring application the ability to a
> achieve independent data segmentation of arbitrary size. This fundamentally
> amounts to treating a QUIC stream as a sort of "message" semantic rather
> than the more familiar mapping of a "socket"ish byte stream. An application
> can leverage this to cancel arbitrary segments of data and thus effectively
> achieve partial reliability. This is the core of the idea we have
> successfully leveraged at Meta (and was indeed our first shipped usecase of
> QUIC on the Internet) for video ingest via the RUSH protocol[1]. Concepts
> similar to this have also been explored similarly in the Warp protocol[2].
> These are somewhat in contrast to what has been proposed by the design of
> the QuicR protocol, though it also does not attempt to use partial
> reliability within a QUIC stream either[3]. All three of which, and this
> space in general, are going to be concepts discussed at end by the
> newly-formed MOQ working group[4].
>
> All of this is to say, I don't think that the value of reusing HTTP
> infrastructure has necessarily changed for HTTP playback, but it does seem
> as though there are greater challenges in achieving that than some may
> initially have thought.
>
>
>
> Best,
>
> Matt Joras
>
>
>
> [1] https://datatracker.ietf.org/doc/draft-kpugin-rush/01/
>
> [2] https://datatracker.ietf.org/doc/draft-lcurley-warp/
> [3] https://datatracker.ietf.org/doc/draft-jennings-moq-quicr-proto/
> [4] https://datatracker.ietf.org/wg/moq/about/
>
>
>
> On Sun, Sep 25, 2022 at 9:29 AM Lubashev, Igor <ilubashe=
> 40akamai.com@dmarc.ietf.org> wrote:
>
> Are you trying to implement something like
> https://datatracker.ietf.org/doc/html/draft-lubashev-quic-partial-reliability-02
> or
> https://datatracker.ietf.org/doc/html/draft-lubashev-quic-partial-reliability-03?
> (The -02 and -3 versions have somewhat different properties, and some
> people prefer -02 version.)
>
>
>
>    - Igor
>
>
>
> *From:* Yongyi Yu <yuyongyi.yyy@bytedance.com>
> *Sent:* Friday, September 23, 2022 1:11 AM
> *To:* Tommy Pauly <tpauly@apple.com>
> *Cc:* Ryan Hamilton <rch=40google.com@dmarc.ietf.org>; quic@ietf.org; 陈鉴平
> <chenjianping.ireader@bytedance.com>; 景君羡 <jingjunxian@bytedance.com>; 刘天一
> <liutianyi.lty@bytedance.com>
> *Subject:* Re: [External] New Version Notification for
> draft-chen-quic-quicu-01.txt
>
>
>
> Thanks for your replying. I agree "partial reliability" fits our draft
> better, since we do retransmit lost data and provide in-order transmission.
> And, our proposal could be compatible with H3, should we clarify the
> behavior in the draft? Please do let me know if you have any further
> advice.
>
>
>
> Thanks,
>
> Yongyi.
>
> From: "Tommy Pauly"<tpauly@apple.com>
>
> Date: Thu, Sep 22, 2022, 11:32
>
> Subject: Re: [External] New Version Notification for
> draft-chen-quic-quicu-01.txt
>
> To: "Ryan Hamilton"<rch=40google.com@dmarc.ietf.org>
>
> Cc: "于涌溢"<yuyongyi.yyy@bytedance.com>, "quic@ietf.org"<quic@ietf.org>, "
> 陈鉴平"<chenjianping.ireader@bytedance.com>, "景君羡"<jingjunxian@bytedance.com>,
> "刘天一"<liutianyi.lty@bytedance.com>
>
> I noticed that this draft does reference RFC 9221, and DATAGRAM frames.
>
>
>
> If I’m understanding correctly, it seems like this is trying to define an
> approach for what’s more commonly referred to as “partial reliability”,
> which was something DATAGRAM explicitly didn’t try to include.
>
>
>
> If this is the case, I think it would be useful to reframe the document in
> terms of that, since the heavy use of “unreliable” is quite confusing. It
> also isn’t clear to me how this proposal would work with specific
> application protocols on top of QUIC — is this something that’s meant to be
> compatible with H3, or is it for entirely separate use cases?
>
>
>
> Best,
>
> Tommy
>
>
>
> On Sep 21, 2022, at 3:17 PM, Ryan Hamilton <
> rch=40google.com@dmarc.ietf.org> wrote:
>
>
>
> QUIC has support for unreliable data via the DATAGRAM frame, RFC 9221
> <https://urldefense.com/v3/__https:/www.rfc-editor.org/info/rfc9221__;!!GjvTz_vk!VHC6upHgCOojEiYhln21JerQBPYz1cbPLifo7gevl5sFTM-5qEoTkN-TxpvuKG1MQfnSBiZsXrrQ2OC2qjWu1aws$>.
> It seems that this new proposal attempts to add unreliable data support not
> to QUIC, but to QUIC *streams*. QUIC streams, of course, offer a reliable,
> in-order, sequence of bytes. Did you consider starting with DATAGRAMs, and
> building from there instead?
>
>
>
> Cheers,
>
>
> Ryan
>
>
>
> On Wed, Sep 21, 2022 at 1:14 AM 于涌溢 <yuyongyi.yyy@bytedance.com> wrote:
>
> Deal all,
>
>
>
> We would like to introduce an extension of the QUIC protocol for
> unreliable data transmission called QUIC Unreliable (QUICU) . The following
> draft is submitted for your consideration and comments. We would also like
> to present this at IETF 115 to discuss further.
>
>
>
> To summarize on this draft: it describes an extension of the QUIC protocol
> for unreliable data transmission called QUIC Unreliable (QUICU), which
> mainly through the definition and use of three new types of frames, namely
> the Expire Offset Frame, Boundary Frame, and Correlation Frame. The main
> purpose of this extension is to reduce data delivery delay. Through
> controlling the timing and scope of packet losses, QUICU reduces useless
> transmission to improve transmission efficiency, reduces head-of-line
> blocking to improve transmission timeliness, which are beneficial to
> delay-sensitive applications, especially audio and video applications. This
> document describes the motivation, the operations, and the wire formats of
> the three new types of frames.
>
>
>
> Link to html:
> https://datatracker.ietf.org/doc/html/draft-chen-quic-quicu-01
> <https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/draft-chen-quic-quicu-01__;!!GjvTz_vk!VHC6upHgCOojEiYhln21JerQBPYz1cbPLifo7gevl5sFTM-5qEoTkN-TxpvuKG1MQfnSBiZsXrrQ2OC2qol99skU$>
>
>
>
> Please feel free to reach us for any comments or questions on this.
>
>
>
> Thanks,
>
> Yongyi.
>
>
>
> ---------- Forwarded message ---------
>
> From: internet-drafts@ietf.org
>
> Date: Mon, Sep 19, 2022, 20:54
>
> Subject: [External] New Version Notification for
> draft-chen-quic-quicu-01.txt
>
> To: "Jianping Chen"<chenjianping.ireader@bytedance.com>, "Junxian Jing"<
> jingjunxian@bytedance.com>, "Tianyi Liu"<liutianyi.lty@bytedance.com>,
> "Yongyi Yu"<yuyongyi.yyy@bytedance.com>
>
> A new version of I-D, draft-chen-quic-quicu-01.txt
>
> has been successfully submitted by Yongyi Yu and posted to the
>
> IETF repository.
>
>
>
> Name:                draft-chen-quic-quicu
>
> Revision:        01
>
> Title:                An Unreliable Extension to QUIC
>
> Document date:        2022-09-19
>
> Group:                Individual Submission
>
> Pages:                10
>
> URL:
> https://www.ietf.org/archive/id/draft-chen-quic-quicu-01.txt
> <https://urldefense.com/v3/__https:/www.ietf.org/archive/id/draft-chen-quic-quicu-01.txt__;!!GjvTz_vk!VHC6upHgCOojEiYhln21JerQBPYz1cbPLifo7gevl5sFTM-5qEoTkN-TxpvuKG1MQfnSBiZsXrrQ2OC2qgIVZwR1$>
>
> Status:         https://datatracker.ietf.org/doc/draft-chen-quic-quicu/
> <https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/draft-chen-quic-quicu/__;!!GjvTz_vk!VHC6upHgCOojEiYhln21JerQBPYz1cbPLifo7gevl5sFTM-5qEoTkN-TxpvuKG1MQfnSBiZsXrrQ2OC2qqEw9hmD$>
>
> Htmlized:
> https://datatracker.ietf.org/doc/html/draft-chen-quic-quicu
> <https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/draft-chen-quic-quicu__;!!GjvTz_vk!VHC6upHgCOojEiYhln21JerQBPYz1cbPLifo7gevl5sFTM-5qEoTkN-TxpvuKG1MQfnSBiZsXrrQ2OC2qk9rs9H6$>
>
> Diff:           https://www.ietf.org/rfcdiff?url2=draft-chen-quic-quicu-01
> <https://urldefense.com/v3/__https:/www.ietf.org/rfcdiff?url2=draft-chen-quic-quicu-01__;!!GjvTz_vk!VHC6upHgCOojEiYhln21JerQBPYz1cbPLifo7gevl5sFTM-5qEoTkN-TxpvuKG1MQfnSBiZsXrrQ2OC2qv4nuLVS$>
>
>
>
> Abstract:
>
>   QUIC Unreliable (QUICU) is an extension of the QUIC protocol for
>
>   unreliable data transmission, mainly through the definition and use
>
>   of three new types of frames, namely the Expire Offset Frame,
>
>   Boundary Frame, and Correlation Frame. The main purpose of this
>
>   extension is to reduce data delivery delay. Through controlling the
>
>   timing and scope of packet losses, QUICU reduces useless transmission
>
>   to improve transmission efficiency, reduces head-of-line blocking to
>
>   improve transmission timeliness, which are beneficial to delay-
>
>   sensitive applications, especially audio and video applications.
>
>
>
>   This document describes the motivation, the operations, and the wire
>
>   formats of the three new types of frames.
>
>
>
>
>
>
>
>
>
> The IETF Secretariat
>
>
>
>