Re: [rtcweb] An input for discussing congestion control (Fwd: New Version Notification for draft-alvestrand-rtcweb-congestion-00.txt)

Randell Jesup <randell-ietf@jesup.org> Mon, 19 September 2011 13:17 UTC

Return-Path: <randell-ietf@jesup.org>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 497EE21F8B9A for <rtcweb@ietfa.amsl.com>; Mon, 19 Sep 2011 06:17:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.524
X-Spam-Level:
X-Spam-Status: No, score=-2.524 tagged_above=-999 required=5 tests=[AWL=0.075, BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id imWRWaOd9rme for <rtcweb@ietfa.amsl.com>; Mon, 19 Sep 2011 06:17:02 -0700 (PDT)
Received: from r2-chicago.webserversystems.com (r2-chicago.webserversystems.com [173.236.101.58]) by ietfa.amsl.com (Postfix) with ESMTP id B051C21F8481 for <rtcweb@ietf.org>; Mon, 19 Sep 2011 06:17:02 -0700 (PDT)
Received: from pool-173-49-141-165.phlapa.fios.verizon.net ([173.49.141.165] helo=[192.168.1.12]) by r2-chicago.webserversystems.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from <randell-ietf@jesup.org>) id 1R5dkr-0007qo-Lm for rtcweb@ietf.org; Mon, 19 Sep 2011 08:19:25 -0500
Message-ID: <4E774093.4020305@jesup.org>
Date: Mon, 19 Sep 2011 09:16:03 -0400
From: Randell Jesup <randell-ietf@jesup.org>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.1) Gecko/20110830 Thunderbird/6.0.1
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <4E649FBD.1090001@alvestrand.no> <4E734E89.5010105@ericsson.com> <4E766C4C.2020201@jesup.org> <CAEdus3LcjV9x+gLdZm5vwKhh-ge6xzfWSEB_NxcHe1Gz_5DZ8g@mail.gmail.com> <4E76F544.1040108@jesup.org> <382A4C80-101D-4FD0-8473-04679248ACFB@phonefromhere.com> <CAOhzyfkXh=d2Ayd8YU0E8sgO7sxpP-=vD0P4NXpmB75PBza7tw@mail.gmail.com>
In-Reply-To: <CAOhzyfkXh=d2Ayd8YU0E8sgO7sxpP-=vD0P4NXpmB75PBza7tw@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - r2-chicago.webserversystems.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - jesup.org
X-Source:
X-Source-Args:
X-Source-Dir:
Subject: Re: [rtcweb] An input for discussing congestion control (Fwd: New Version Notification for draft-alvestrand-rtcweb-congestion-00.txt)
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Sep 2011 13:17:03 -0000

On 9/19/2011 4:29 AM, Henrik Lundin wrote:
> Tim,
>
> The problem that we are trying to attack with the proposal is perhaps 
> better described as "available bandwidth estimation" rather than 
> congestion control. I _would_ like to try and separated it from 
> codecs. The bandwidth estimator should inform the sender of the 
> current feasible rate between two endpoints, and it should then be up 
> to the sending client (application, codecs, channel coding, etc) to 
> figure out a way to stay within that limit, while maintaining an 
> acceptable quality for the use-case at hand.

Right - I think we're in agreement (and Tim is) that this is the best 
tack to take on the problem - involve the application in figuring out 
how to meet the bandwidth limits.  This part of it will largely be an 
API specification problem; figuring out how to set up the API to tell 
the JS app what is available, and the interfaces for responding to that.

>
> On Mon, Sep 19, 2011 at 10:21 AM, Tim Panton <tim@phonefromhere.com 
> <mailto:tim@phonefromhere.com>> wrote:
>
>
>     I'd like to lurk  on any BoF list, if I may,
>     but I have a feeling that congestion control isn't quite such a
>     self-contained problem
>     as forming a BoF list might imply.
>
>     Roughly, my argument is that any modern congestion control for RTC
>     needs to involve the application
>     and the codec.
>

Absolutely agree.

>
>     Here's an example:
>            I'm in a video conference with 4 other people and I'm
>     exceeding the available downlink
>     bandwidth. What I want is that the video degrades (framerate of
>     quality) without _any_ degradation
>     of the video.
>

I'm a little confused by that wording, but I suspect we agree.  The app 
might want ask the senders to cut their framerate or cut their 
resolution, or cut quality but keep framerate & resolution, or ask the 
senders to switch to lower-bandwidth parameters unless the VAD decides 
the person is talking, etc.  No one answer is the 'right' one for every 
app or situation.

>     I might even want to drop all the video but keep the audio and
>     screenshare alive.
>

Exactly.

>            Conversely if I'm watching an ice hockey game - I'd rather
>     lose audio quality than frame-rate.
>
>     But in _both_ cases I'd like the app to try and tweak the encoder
>     params to get within the available bandwidth
>     before we start injecting delay or dropping frames.
>
>     So my proposal is that the web app is given a chance to get within
>     the available bandwidth
>     before the system starts putting hard constraints on the RTP level.
>
>     All of which makes it something we need to discuss in a holistic
>     fashion with the rest of the API.
>

-- 
Randell Jesup
randell-ietf@jesup.org