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

Matt Joras <matt.joras@gmail.com> Mon, 26 September 2022 05:29 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 0E907C1522D4 for <quic@ietfa.amsl.com>; Sun, 25 Sep 2022 22:29:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 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_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=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 50JNUvZsMRxd for <quic@ietfa.amsl.com>; Sun, 25 Sep 2022 22:29:26 -0700 (PDT)
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) (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 84613C1522CF for <quic@ietf.org>; Sun, 25 Sep 2022 22:29:26 -0700 (PDT)
Received: by mail-wr1-x434.google.com with SMTP id bk15so657096wrb.13 for <quic@ietf.org>; Sun, 25 Sep 2022 22:29:26 -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=saupI7B6zk1ev71651m/IEbivly5slCGMq9z+3tT/OY=; b=GSREYUK8SzWeIN46Uz0m9LhzMmiiyOPhtIDJ/SbuvqGjM3PK6XWU8t1n+tWgACvSb8 Y/uIje73pWzNQ7vw/6Te6RFsA6kwTrQEEtBa15OABVw4BnqW0ayC0Kq/XK9c9GDP11zx WtuONCVi3y8P/lae4WajzHM+HpOYaO4Wzvrh4EW0x/AOHdMyUB1DTy/2mwKk6D1fyWEG YzOVu6GU2HBPcvvlmz2yAX60f5RcHgLcA4d6c3tyDsC+01eMTWg+kIJKF3HC6jzEapn2 tZ5GoMtUZfMADM6KhImJFPMzCIpVRRZOM48/QgzZ+TCs4Kkn48IwtM+cZRx5PPCPCKiz pn9A==
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=saupI7B6zk1ev71651m/IEbivly5slCGMq9z+3tT/OY=; b=JRPJzoteSeaa9mu0ZoT9Lk1IMoIdQbjH5xHU2derFg/FBUi9L1Ig88nQ7AfFeVfGwH mWGn1U12ylAF9VZNLsCLEBD6LzR4o5aTDkEwcdseRj25eqe0VQqyM3E3sc2pFcx8v2Kh m6ORhEE6z4hTwSzyW2pVDqdbHvfEDNW6mOl4+j4SvTqupy/mpQL8lFMM2GeJYIiatsQf fEGwMIVedmtUfxvLvnm5gQyV9BFRkz2siZAuDfGpecTJ0YTzybCSFrK6IOhwErERhrNV fR6EcN4WpfsMhSoY7leCJEvZT+xEyH3t0oXYEHcPPH+SP25jlyvuutXZQ1EuYN5Ejoen I5Pg==
X-Gm-Message-State: ACrzQf1zDaHM5p2hAoiClqeK9e5O8u0Kjtk8hU+g24hcoKSHcRFk1OII N0Msi8A/mxXMCf5dGBHI/z75KZklAAy4MFAi1HI4A/Z0no8=
X-Google-Smtp-Source: AMsMyM4AB3BFCLEflrUxzaHs0EoHeP0Z42ujCIm1gdleeDWLqrUT2kXn+EOEp0yuufkU4eBnRoxhBlVQfn+6fqQjo4M=
X-Received: by 2002:adf:f4cc:0:b0:228:ab76:fa13 with SMTP id h12-20020adff4cc000000b00228ab76fa13mr12157157wrp.110.1664170164236; Sun, 25 Sep 2022 22:29:24 -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>
In-Reply-To: <d0f85f1306c94e8d92ad4ad706e9f48f@akamai.com>
From: Matt Joras <matt.joras@gmail.com>
Date: Sun, 25 Sep 2022 22:29:12 -0700
Message-ID: <CADdTf+gyoUy8HONSLrVdvgi0Mn80=DG1fUR2uusL-smaK6rUeQ@mail.gmail.com>
Subject: Re: [External] New Version Notification for draft-chen-quic-quicu-01.txt
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" <quic@ietf.org>, 陈鉴平 <chenjianping.ireader@bytedance.com>, 景君羡 <jingjunxian@bytedance.com>, 刘天一 <liutianyi.lty@bytedance.com>
Content-Type: multipart/alternative; boundary="0000000000007c35cb05e98dcfe9"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/9Z99tgtj79cLmPl5hkY_ewJ6XDo>
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 05:29:31 -0000

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
>
>
>