Re: [Moq] Exploring HTTP/3
Suhas Nandakumar <suhasietf@gmail.com> Sat, 11 February 2023 01:46 UTC
Return-Path: <suhasietf@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 002ECC1516E3 for <moq@ietfa.amsl.com>; Fri, 10 Feb 2023 17:46:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.094
X-Spam-Level:
X-Spam-Status: No, score=-7.094 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_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 b8ZcqDnNIm-t for <moq@ietfa.amsl.com>; Fri, 10 Feb 2023 17:46:42 -0800 (PST)
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) (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 38423C1522B9 for <moq@ietf.org>; Fri, 10 Feb 2023 17:46:42 -0800 (PST)
Received: by mail-wr1-x436.google.com with SMTP id j23so6952701wra.0 for <moq@ietf.org>; Fri, 10 Feb 2023 17:46:42 -0800 (PST)
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:message-id:reply-to; bh=kSxUqjk+MV8rWXaCwb7r2KLE+zu/oHc97ApYsWgcmX4=; b=H1E6Dy1jvXALR2r12obPqw8Nrx6rn7fWdFqT4m0FYHkXNJttRHZHM3PTr4FgW39nFA f7tZ1tz9jSty+P75SFRdtb4DaUrTnn+QEbjjAiK6yM1khBW4D1anxDQZhGxe1K3NO8dY W1B22WU9jxJzbHwf58y9X3RnrjbuK9O5L3tZCsCFopg9TNl9qBM4T+BP1LOoECRP5mS0 2An9QNBSTFPabWZ6i0URFyBnT6HdGA5o8bMwIrBDHbxv2fhpPMOVMwK04elJ7fGzXYS9 gJgVm+8LH0btZX1E2tFvsMj/3Mk9BENdzH9GJaVsgrPVhf3KDDoAQMBAvffORb0LJIK+ J0AQ==
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:message-id :reply-to; bh=kSxUqjk+MV8rWXaCwb7r2KLE+zu/oHc97ApYsWgcmX4=; b=aBciAk0t5JH69BJfabGGDEo++ZO9/5CRcTdLbzhP5/r4VoPah49iSUefcaH/890eKJ wy4PcePqwWckJDk6ZVqoTFt7WmXkephFO2bzLzU6omJ05Oy2PR0TT2ZIb9PRaE7BMR3P F3G0+QWC1dhWsCAYmRc/wIx9kgPmPWFrzmqc+xDF/1kEFRmIEy1EaB5lFgDY1mlLySKF EgUJgnjkfaBh2lGKDBoGXVZnYeTI3syp4xWLeriTu36M+vNy/N8D1SLxSxV8n9uM/9GA pj/5YnuibBkzMggKCnKCF1soQU+zohmFR8xLaNn1axWCyqjjS9u7m2U30ufrPSjk1Y8S S+sw==
X-Gm-Message-State: AO0yUKWCg4IHt8rkjj1jW35HPNhCb2Ph4AWvpbM4CfoPAWJ+4MBcfQaz Y355XpmPYUqK485debJV5wn3P4ANH34+KAIUtxWXxGQTlrZ+Rw==
X-Google-Smtp-Source: AK7set9fHHjjuawxrBamcoz0fkcnRdWe3c/culN/2uHBaQDmk3x0ZoT/sGlrMrmIKZM2MsPpd46+fIru04NZesvcwMU=
X-Received: by 2002:adf:dc89:0:b0:2c3:d8fd:a9c1 with SMTP id r9-20020adfdc89000000b002c3d8fda9c1mr439566wrj.665.1676080000270; Fri, 10 Feb 2023 17:46:40 -0800 (PST)
MIME-Version: 1.0
References: <CAHVo=ZmD7KvKxh2tTeaM2B+0q9=qZPgBydmfaHor5MaPODZf6w@mail.gmail.com>
In-Reply-To: <CAHVo=ZmD7KvKxh2tTeaM2B+0q9=qZPgBydmfaHor5MaPODZf6w@mail.gmail.com>
From: Suhas Nandakumar <suhasietf@gmail.com>
Date: Fri, 10 Feb 2023 17:46:29 -0800
Message-ID: <CAMRcRGT_YpNf9yOdv+cqZ50asN+6bvn5vhQub1=TNmdaqvruOA@mail.gmail.com>
To: Luke Curley <kixelated@gmail.com>
Cc: MOQ Mailing List <moq@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000008054f05f462c90b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/moq/aTv6yFQ5I3wp1Vdi3UV8MX_nntM>
Subject: Re: [Moq] Exploring HTTP/3
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: Sat, 11 Feb 2023 01:46:46 -0000
On Wed, Feb 8, 2023 at 10:33 AM Luke Curley <kixelated@gmail.com> wrote: > Hey MoQ, > > As I mentioned in a recent email: > > > The best part about HLS/DASH is the HTTP ecosystem. That includes CDN > support, optimized software, and general interoperability. We lose a lot of > this by creating a custom pub/sub mechanism. > > > The worst part about HLS/DASH is the latency. This is caused by > head-of-line blocking (buffering) and the client being in charge > (requesting playlists and segments). The Warp draft tackles these problems > with QUIC prioritization (delivery order) and WebTransport push > respectively. > > > I think it's possible to address the problems with HLS/DASH without > forgoing HTTP.; WebTransport push is not the only option. At one point I > drafted Warp over HTTP/3, but abandoned it because it's more complicated > and Twitch doesn't need 3rd party CDN support. > > Warp's OBJECT frames are strikingly similar to HTTP/3's HEADER+DATA > frames, and unironically we're considering using qpack to compress the > OBJECT headers. I propose each Warp object would be a HTTP resource > instead. This parallels discussion at the interim suggesting we need a way > to GET old media for DVR. > > Head-of-line blocking can be avoided using QUIC (or HTTP/2) prioritization > with the Priority <https://datatracker.ietf.org/doc/html/rfc9218> header. > The client would request each source with a priority based on the contents. > For example, request the newest audio segment with urgency=7 while the > older video with urgency=4. There's some warts especially involving relays > but it's not unsolvable. > > The latency caused by requests can be avoided by long polling. The purpose > of WebTransport push is to avoid the round trip between when the client is > informed about new media until it requests it. Twitch uses long-polling > with HLS today to accomplish the same thing, preflighting the next request > based on a deterministic URL. Prioritization lets you preflight multiple > concurrent requests without the risk of them fighting for bandwidth. > > Alternatively, some variation of HTTP push could avoid request latency. > I've said this before, but QUICR looks a lot like a hypothetical HTTP > subscription since it's based soley on the URL. Nobody likes HTTP push, let > alone extending it, but technically we're building something similar. I > would not recommend this direction. > Just want to clarify on QUICR. QUICR doesn't recommend URLs as the names. It is pretty open in the way the names can be represented as long as there is a way to get to the object cached without conflicts when an intermediary, like CDN, is serving multiple tenants/customers. > > I'm mostly worried about how browsers/servers will handle a request per > frame. I still strongly recommend breaking media into layers anyway; I'm > still not convinced that networks need the ability to drop individual > frames. For example, non-reference frames could be bundled together into > same HTTP resource, and prioritized lower than reference frames. > > > But in theory that's all we need. I can write up a draft if the WG thinks > it would be fruitful to explore this direction. It could be a DASH > extension, although it's still important to address the contribution side > of the coin (ex. push using HTTP PUT). > -- > Moq mailing list > Moq@ietf.org > https://www.ietf.org/mailman/listinfo/moq >
- Re: [Moq] Exploring HTTP/3 Lucas Pardue
- [Moq] Exploring HTTP/3 Luke Curley
- Re: [Moq] Exploring HTTP/3 Spencer Dawkins at IETF
- Re: [Moq] Exploring HTTP/3 Luke Curley
- Re: [Moq] Exploring HTTP/3 Ali C. Begen
- Re: [Moq] Exploring HTTP/3 Lucas Pardue
- Re: [Moq] Exploring HTTP/3 Victor Vasiliev
- Re: [Moq] Exploring HTTP/3 Roberto Peon
- Re: [Moq] Exploring HTTP/3 Lucas Pardue
- Re: [Moq] Exploring HTTP/3 Roberto Peon
- Re: [Moq] Exploring HTTP/3 Ali C. Begen
- Re: [Moq] Exploring HTTP/3 Roberto Peon
- Re: [Moq] Exploring HTTP/3 Ali C. Begen
- Re: [Moq] Exploring HTTP/3 Mark Nottingham
- Re: [Moq] Exploring HTTP/3 Spencer Dawkins at IETF
- Re: [Moq] Exploring HTTP/3 Lucas Pardue
- Re: [Moq] Exploring HTTP/3 Luke Curley
- Re: [Moq] Exploring HTTP/3 Roberto Peon
- Re: [Moq] Exploring HTTP/3 Bernard Aboba
- Re: [Moq] Exploring HTTP/3 Spencer Dawkins at IETF
- Re: [Moq] Exploring HTTP/3 Bernard Aboba
- Re: [Moq] Exploring HTTP/3 Spencer Dawkins at IETF
- Re: [Moq] Exploring HTTP/3 Lucas Pardue
- Re: [Moq] Exploring HTTP/3 Charles 'Buck' Krasic
- Re: [Moq] Exploring HTTP/3 Roberto Peon
- Re: [Moq] Exploring HTTP/3 Roberto Peon
- Re: [Moq] Exploring HTTP/3 Luke Curley
- Re: [Moq] Exploring HTTP/3 Luke Curley
- Re: [Moq] Exploring HTTP/3 Christian Huitema
- Re: [Moq] Exploring HTTP/3 Victor Vasiliev
- Re: [Moq] Exploring HTTP/3 Suhas Nandakumar