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

Yongyi Yu <yuyongyi.yyy@bytedance.com> Tue, 27 September 2022 15:08 UTC

Return-Path: <yuyongyi.yyy@bytedance.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 672E7C157B52 for <quic@ietfa.amsl.com>; Tue, 27 Sep 2022 08:08:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.895
X-Spam-Level:
X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, 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=bytedance-com.20210112.gappssmtp.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 8u8kb6gZOKuT for <quic@ietfa.amsl.com>; Tue, 27 Sep 2022 08:08:00 -0700 (PDT)
Received: from mail-pg1-x533.google.com (mail-pg1-x533.google.com [IPv6:2607:f8b0:4864:20::533]) (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 47F44C157B4F for <quic@ietf.org>; Tue, 27 Sep 2022 08:08:00 -0700 (PDT)
Received: by mail-pg1-x533.google.com with SMTP id s26so9667206pgv.7 for <quic@ietf.org>; Tue, 27 Sep 2022 08:08:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:in-reply-to:from:mime-version :references:from:to:cc:subject:date; bh=QnSdFSZGU1i9V/S775U2wlloHDyblwxeUAezJ+0M3O4=; b=VIbGszxzLe90o/tJGKgeoEOU7JA6nmyhbxS2hBU1o/xrlv7YY+gy01myBGDXjJGA/j SPeAQ9zsTG3dN14UkWEcrr76nGF3LIy+3EaFZrLvq2Q67XmySIpSr6SZFwLWq2W7GzeG y5xwEGgub3H8o+7wWjacivVDR0qryBc4IHKyboeYFPSBAoR0efXJGVKhGOjgNK2CEv+g CrrOW//tcLueDWIVy9TCH8XkI3Os11pK6WpmMBuT0/dy6Fnnn5S6sXh0tik70sj1EfL6 eJ0qmQdLrWE/We2fv+03xgV6JdEcFgIhxcZL/Gidp6fpbiOkxZjcBCHtKoDYpLrvWCaQ NKYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:in-reply-to:from:mime-version :references:x-gm-message-state:from:to:cc:subject:date; bh=QnSdFSZGU1i9V/S775U2wlloHDyblwxeUAezJ+0M3O4=; b=kIekpQlXFeX1lp2cHyI2cgdjurv2fD9ScUqk57NDadBxc0N1+gKzomsigRJtMU0Sf3 Z98zIJypm7XtuytSPvtCEo4Mp2ZQjXwQTQ9tE3Mf0AGDksyxDR7wYWBh+9aCHhLlCgft mCq3s/q2Dat2sJsu9XDs51YQznezSMFOQAcK/gftmRCw/44C7yq5cDyGUTStoxCIYHMN R6y0D3wxM+W2ZodfvMwhUOCT851FJtOp9oNCzPkE4llJo0JwDkrhkWbndvCk/l+ZaGjM 50JmleMQ6D4mwDOdHAUvMHCcoU2LmCZhGOqyufJzDYqzKbV98tUO1aGYoBC33rMJ1ydP 07KA==
X-Gm-Message-State: ACrzQf1jVnOc70qzFuIcVdw5LvfT50QsnKGopye2dFFgP/qpxbj4PGUQ UBozTOH3EtXeQNLwGoEm3fIJJWo/0lg1pSk0/b4szeXIlIs7OA==
X-Google-Smtp-Source: AMsMyM45dYDjjPqDEZxWHuK/TAXvhnOiMEuj5vVh9PUV9nhKa3kytxIvsJkSKNLnLfLFGra0kzEPDI6EvqRm0jPhKXY=
X-Received: by 2002:a05:6a00:1a55:b0:557:b7a3:6738 with SMTP id h21-20020a056a001a5500b00557b7a36738mr17587849pfv.61.1664291279576; Tue, 27 Sep 2022 08:07:59 -0700 (PDT)
Received: from 349319672217 named unknown by gmailapi.google.com with HTTPREST; Tue, 27 Sep 2022 08:07:59 -0700
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>
Mime-Version: 1.0
From: Yongyi Yu <yuyongyi.yyy@bytedance.com>
In-Reply-To: <0dced57a15114a42993866c2f983728e@huawei.com>
Date: Tue, 27 Sep 2022 08:07:59 -0700
Message-ID: <CAGAnoza=WrDCyei4GnPMeLr_cKpz75JZOeohp+E92_Tk_mR2ZA@mail.gmail.com>
Subject: Re: RE: [External] New Version Notification for draft-chen-quic-quicu-01.txt
To: "Shihang(Vincent)" <shihang9=40huawei.com@dmarc.ietf.org>
Cc: Matt Joras <matt.joras@gmail.com>, "Lubashev, Igor" <ilubashe=40akamai.com@dmarc.ietf.org>, 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>
Content-Type: multipart/alternative; boundary="00000000000085fd9005e9aa021d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/CjZ7a6BWyupuc4aQNZKOhTu3fuU>
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: Tue, 27 Sep 2022 15:08:05 -0000

Hi Hang Shi,

Thanks for your replying. One scenario of our proposal is media
transmission. In this scenario, it's bearable to lose some data, but not
out of order. If I'm right, using different streams to transmit data blocks
may cause data to be out of order, and additional mechanisms may be needed
to reorder them. Therefore, we choose to send data into different streams
for every separate, in-order data stream.

Please do let me know if you have any further advice.

Thanks,
Yongyi.

From: "Shihang(Vincent)"<shihang9=40huawei.com@dmarc.ietf.org>
Date: Mon, Sep 26, 2022, 15:02
Subject: RE: [External] New Version Notification for
draft-chen-quic-quicu-01.txt
To: "Matt Joras"<matt.joras@gmail.com>, "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>, "
simonkorl0228@gmail.com"<simonkorl0228@gmail.com>

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>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>
rch=40google.com@dmarc.ietf.org>

Cc: "于涌溢"< <yuyongyi.yyy@bytedance.com>yuyongyi.yyy@bytedance.com>, "
quic@ietf.org"< <quic@ietf.org>quic@ietf.org>, "陈鉴平"<
<chenjianping.ireader@bytedance.com>chenjianping.ireader@bytedance.com>, "
景君羡"< <jingjunxian@bytedance.com>jingjunxian@bytedance.com>, "刘天一"<
<liutianyi.lty@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://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/draft-chen-quic-quicu-01__;!!GjvTz_vk!VHC6upHgCOojEiYhln21JerQBPYz1cbPLifo7gevl5sFTM-5qEoTkN-TxpvuKG1MQfnSBiZsXrrQ2OC2qol99skU$>
https://datatracker.ietf.org/doc/html/draft-chen-quic-quicu-01



Please feel free to reach us for any comments or questions on this.



Thanks,

Yongyi.



---------- Forwarded message ---------

From: <internet-drafts@ietf.org>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>
chenjianping.ireader@bytedance.com>, "Junxian Jing"<
<jingjunxian@bytedance.com>jingjunxian@bytedance.com>, "Tianyi Liu"<
<liutianyi.lty@bytedance.com>liutianyi.lty@bytedance.com>, "Yongyi Yu"<
<yuyongyi.yyy@bytedance.com>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://urldefense.com/v3/__https:/www.ietf.org/archive/id/draft-chen-quic-quicu-01.txt__;!!GjvTz_vk!VHC6upHgCOojEiYhln21JerQBPYz1cbPLifo7gevl5sFTM-5qEoTkN-TxpvuKG1MQfnSBiZsXrrQ2OC2qgIVZwR1$>
https://www.ietf.org/archive/id/draft-chen-quic-quicu-01.txt

Status:
<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/draft-chen-quic-quicu/__;!!GjvTz_vk!VHC6upHgCOojEiYhln21JerQBPYz1cbPLifo7gevl5sFTM-5qEoTkN-TxpvuKG1MQfnSBiZsXrrQ2OC2qqEw9hmD$>
https://datatracker.ietf.org/doc/draft-chen-quic-quicu/

Htmlized:
<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/draft-chen-quic-quicu__;!!GjvTz_vk!VHC6upHgCOojEiYhln21JerQBPYz1cbPLifo7gevl5sFTM-5qEoTkN-TxpvuKG1MQfnSBiZsXrrQ2OC2qk9rs9H6$>
https://datatracker.ietf.org/doc/html/draft-chen-quic-quicu

Diff:
<https://urldefense.com/v3/__https:/www.ietf.org/rfcdiff?url2=draft-chen-quic-quicu-01__;!!GjvTz_vk!VHC6upHgCOojEiYhln21JerQBPYz1cbPLifo7gevl5sFTM-5qEoTkN-TxpvuKG1MQfnSBiZsXrrQ2OC2qv4nuLVS$>
https://www.ietf.org/rfcdiff?url2=draft-chen-quic-quicu-01



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