Re: [Moq] Exploring HTTP/3
Lucas Pardue <lucaspardue.24.7@gmail.com> Wed, 08 February 2023 19:08 UTC
Return-Path: <lucaspardue.24.7@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 8E95BC15C510 for <moq@ietfa.amsl.com>; Wed, 8 Feb 2023 11:08:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.845
X-Spam-Level:
X-Spam-Status: No, score=-1.845 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_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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 53t6f4Y2yUwM for <moq@ietfa.amsl.com>; Wed, 8 Feb 2023 11:08:33 -0800 (PST)
Received: from mail-oo1-xc2c.google.com (mail-oo1-xc2c.google.com [IPv6:2607:f8b0:4864:20::c2c]) (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 B5EE6C1522DA for <moq@ietf.org>; Wed, 8 Feb 2023 11:08:33 -0800 (PST)
Received: by mail-oo1-xc2c.google.com with SMTP id k15-20020a4adfaf000000b00517450f9bd7so1835060ook.8 for <moq@ietf.org>; Wed, 08 Feb 2023 11:08:33 -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=SKmfVRppM9KwVub3DcZQ6SywJntQMTNv1OWAZsAhKII=; b=qyi/WXfz3Ov8l6LpOlM3EZD06lsaNBmw1XEFRe3jH+nBSyR+hz9a+zOZaCMIJmFpY+ 7XOfzd0sAtdalGPqFx/wGqu+1SVQcZgeC7VnkKjwCIsOmxG3BCoMLKVXw+d/tUu9EAEU sVjsZGRFBX/HpbCJrpPgPUCF9IbHpulO0nwWnBHpCAYOLby79IXgeQm2A0zzrE+gQ+FY V7VYgH3r+x/VXMADhOaVlKX++vqH0iQiR8MBFygswks0Ec/NSTF1ns50tKigKN5aEfpF A5kZHTZG+pX4bq5BohPOTSssPoqsWfvRsx90OShFle02X8EMmPJmE8ZGIfwkS5wQL4o/ CDQA==
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=SKmfVRppM9KwVub3DcZQ6SywJntQMTNv1OWAZsAhKII=; b=b27t6m6SUi6QtkkJAExjHhwAoRv9aRAhnIYvueRZ9nTIfO3cx/6QYnHIQaI5EQ7Ilf bkFcmqub9r1/DXfqZCsgcQW0Fw5/Aye0P83kCx45ltQ+Y46VPJYjh8nrBVahg3gSdVBG 5F7UE3QJQlxdGTMQIqgEfVQoqOid1hah/iCsvOLPPuor0lv9WIk/QiWz6B4QGragqCWX e+Ggcacya9bvoQFmWa9vPe3PusEosUqWFQD8XVkJx3ZDSHxFRvqIfkxaO9cCVt21tGRP f7/U2k1tWUWScK3yQgBRkqGow6aA5krRxBoLy1/Bi/u23dW4SLDDB5A7TgGedhzraFKT A4gA==
X-Gm-Message-State: AO0yUKUyTrkDF4MoBR/fwYPKqi3L7o76F6yGMhxOaiw2uCJzI/yr2nyM X84NHo9ieqyNnzDGhYLzupCj6cY9P67f/tpc5r4=
X-Google-Smtp-Source: AK7set/dIxJI/VuKmnr56N943F2g8+vs4G1X9siePDwousdBOwHrA032MHg1BxMoN03yFZSnVbNa8Md5d386oIk6uG8=
X-Received: by 2002:a4a:9b17:0:b0:4ff:b624:cf96 with SMTP id a23-20020a4a9b17000000b004ffb624cf96mr373359ook.17.1675883312457; Wed, 08 Feb 2023 11:08:32 -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: Lucas Pardue <lucaspardue.24.7@gmail.com>
Date: Wed, 08 Feb 2023 19:08:21 +0000
Message-ID: <CALGR9oas8cMBrX1WVf64fH13jr1r-S0KQB5spNzFj41k9Lgk+A@mail.gmail.com>
To: Luke Curley <kixelated@gmail.com>
Cc: MOQ Mailing List <moq@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000862d1405f434fd09"
Archived-At: <https://mailarchive.ietf.org/arch/msg/moq/JTuOVriRnLOxSYp9VA-PFCxKr4w>
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: Wed, 08 Feb 2023 19:08:34 -0000
Hi Luke, For distribution, I think HTTP can probably be massaged into meeting the needs of the group. That was a thought I had when reading your early WARP drafts. I would review something if you put it out. However, I think things get trickier when we consider the charter text "The solution will be implementable in both browser and non-browser endpoints.". The browser part makes things tricky. It probably rules out non-kludgy HTTP/[2,3] server push solutions for distribution (because there's no API for push, and resource transfer optimization via push is seemingly getting overtaken by 103 early hints now). So I agree avoiding push is probably a good way to go. Browser and HTTP contribution seem more thorny. I don't work for a browser but I'm not sure a client has sufficient controls over browser behaviours to send HTTP content in a way that some of the WG goals might need.* WebTransport provides a lot of toolkit, it might not be perfect, but it seems closer to hand than the idea that a client might be able to influence local upload prioritization deep in the browser stack (as just one example). Cheers Lucas * Over in the HTTP WG, we had a short thread on prioritization of concurrent uploads, see https://github.com/httpwg/http-extensions/issues/2242. RFC 9218 priorities always left the door open to allowing clients to use priority for "local decision making", so its feasible. I just didn't hear much support for implementing upload prioritization for resumable uploads, but maybe a media use case might change that. Not sure. On Wed, Feb 8, 2023 at 6:33 PM 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. > > 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