Re: [rtcweb] Review of draft-ietf-rtcweb-rtp-usage

Colin Perkins <csp@csperkins.org> Thu, 08 May 2014 18:53 UTC

Return-Path: <csp@csperkins.org>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B78621A00DA for <rtcweb@ietfa.amsl.com>; Thu, 8 May 2014 11:53:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1X7Ev0XvDjrW for <rtcweb@ietfa.amsl.com>; Thu, 8 May 2014 11:53:36 -0700 (PDT)
Received: from haggis.mythic-beasts.com (haggis.mythic-beasts.com [IPv6:2a00:1098:0:86:1000:0:2:1]) by ietfa.amsl.com (Postfix) with ESMTP id 37CA01A00B3 for <rtcweb@ietf.org>; Thu, 8 May 2014 11:53:36 -0700 (PDT)
Received: from [81.187.2.149] (port=53922 helo=mangole.lan) by haggis.mythic-beasts.com with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <csp@csperkins.org>) id 1WiTRh-00063F-Sf; Thu, 08 May 2014 19:53:30 +0100
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\))
From: Colin Perkins <csp@csperkins.org>
In-Reply-To: <BE2C5B17-BD91-4010-A02B-DA0429A3DF71@gmail.com>
Date: Thu, 08 May 2014 19:53:28 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <8A7B3DF4-FD94-4825-8899-F097B05C8195@csperkins.org>
References: <CAOW+2dsdEZyzs4Qu6+z55JcgiwaOWNQ0pHz=8-buuH1+3TJj8w@mail.gmail.com> <D3F43C35-2B37-4111-8803-46B6DED248E7@csperkins.org> <C9834672-6685-471C-83B9-B52CB8532573@gmail.com> <2CE99351-87F9-4815-913A-092C1B703D8A@csperkins.org> <536BB52B.50102@jitsi.org> <BE2C5B17-BD91-4010-A02B-DA0429A3DF71@gmail.com>
To: Bernard Aboba <bernard.aboba@gmail.com>
X-Mailer: Apple Mail (2.1874)
X-BlackCat-Spam-Score: -28
X-Mythic-Debug: Threshold = On =
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/EtgCpNinp2-OPYy1nKmA169t34k
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Review of draft-ietf-rtcweb-rtp-usage
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
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: Thu, 08 May 2014 18:53:40 -0000

On 8 May 2014, at 19:17, Bernard Aboba <bernard.aboba@gmail.com> wrote:
>> On May 8, 2014, at 9:47 AM, Emil Ivov <emcho@jitsi.org> wrote:
>>> 
>>> The circuit breaker is a mechanism of last resort. If we’ve designed it correctly, it will only stop sessions that are otherwise unusable.
> 
> [BA] Unusable at a given moment could change to usable later, either as a result of congestion control support and/or changing conditions. So it is one thing to stop sending for some period and indicate to the user that difficulties are being experienced then try again after backing down the send Bw, and another to stop and require a redial. 

The circuit breaker draft explicitly allows for this back-off and resume behaviour. From section 4.3 of draft-ietf-avtcore-rtp-circuit-breakers-05:

   Systems that usually
   send at a high data rate, but that can reduce their data rate
   significantly (i.e., by at least a factor of ten), MAY first reduce
   their sending rate to this lower value to see if this resolves the
   congestion, but MUST then cease transmission if the problem does not
   resolve itself within a further two RTCP reporting intervals (see
   Section 4.5).  An example of this might be a video conferencing
   system that backs off to sending audio only, before completely
   dropping the call.  If such a reduction in sending rate resolves the
   congestion problem, the sender MAY gradually increase the rate at
   which it sends data after a reasonable amount of time has passed,
   provided it takes care not to cause the problem to recur
   ("reasonable" is intentionally not defined here).

If there is a congestion control algorithm implemented in addition, then this ought to back off long before the circuit breaker would trigger anyway, so the problem won’t occur.

>> This is another part that bothers me with circuit breakers. If there's a reasonable chance that a "redial" would succeed then why did we break the session? If not then why are we encouraging it?
> 
> [BA] As specified, circuit breakers is vulnerable to routing transients. Other transports such as TCP are explicitly designed to survive this, but circuit breakers will not.  So we need to ask ourselves why TCP never needed (or considered) such a mechanism.

I suggest that the user will almost certainly have hang-up the call in frustration as a result of the drop-out before the circuit breaker fires. If people think the timeouts in the circuit breaker draft are too short, or the packet loss thresholds too tight, then please comment on the circuit breaker draft (in AVTCORE) and we’ll work to improve it. So far, we haven’t had any real push-back against the approach taken in that draft. 

I do think a circuit breaker is REQUIRED for WebRTC, however, especially as RMCAT is not making rapid progress with congestion control.

Colin


-- 
Colin Perkins
http://csperkins.org/