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

Emil Ivov <emcho@jitsi.org> Thu, 08 May 2014 21:49 UTC

Return-Path: <emcho@sip-communicator.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 1E75D1A011F for <rtcweb@ietfa.amsl.com>; Thu, 8 May 2014 14:49:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level:
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] 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 e69m67YOg1fv for <rtcweb@ietfa.amsl.com>; Thu, 8 May 2014 14:48:59 -0700 (PDT)
Received: from mail-wi0-f176.google.com (mail-wi0-f176.google.com [209.85.212.176]) by ietfa.amsl.com (Postfix) with ESMTP id 542731A0168 for <rtcweb@ietf.org>; Thu, 8 May 2014 14:48:59 -0700 (PDT)
Received: by mail-wi0-f176.google.com with SMTP id n15so406726wiw.9 for <rtcweb@ietf.org>; Thu, 08 May 2014 14:48:54 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=pfhQEh+/q1Khz6/ZisWzp+H7bpRMnFCv5aMJ9kFPeSM=; b=c/G0XH4Y9Iw8HXSyNkE1nKQ6ezSsfGpaoq9bQwDZZapezjpM/9mBiTVUFRH4WQL0oB oc2S1lNrhkvXVFY+I7Z3RE1tLsVimTVtxLMNmOPGSTo4df5ChLGA/kFRREwZgqm7AlU4 rYCn22KOevKuLrPpoKyIQQVqN0zfLucw+HEzN57IZi6jO/24TEgoRawkSvS+2FqVtupD ULaT2sgvsjkI/cg7mWQlLZjrgRrR9JYSHrXq7TcJpiV2s6u5d7Q5Lq2ppyIL+BNiV/6s s3YQexTNzcoRzAy8HxLy7mVyPPv6MJlWidWGmBlczh8+I5Z0ju9OER6J0Fd/nUJon364 VQBA==
X-Gm-Message-State: ALoCoQldDXuqQ2hTmxHItVe1kwi7DzYrh2PqrvYtOXo4R3WQzL3omKVJ4gEHDi56fPC7/RZNBwA2
X-Received: by 10.194.24.194 with SMTP id w2mr5140940wjf.25.1399585734273; Thu, 08 May 2014 14:48:54 -0700 (PDT)
Received: from camionet.local ([2a01:e35:8a04:14f0:f4e3:5c5b:c0c5:9c0d]) by mx.google.com with ESMTPSA id ga10sm2825046wjb.23.2014.05.08.14.48.52 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 08 May 2014 14:48:53 -0700 (PDT)
Message-ID: <536BFBC2.4090107@jitsi.org>
Date: Thu, 08 May 2014 23:48:50 +0200
From: Emil Ivov <emcho@jitsi.org>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: Colin Perkins <csp@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> <A40F4E8F-1F9A-4A8D-9F5D-F318B8FE3224@csperkins.org>
In-Reply-To: <A40F4E8F-1F9A-4A8D-9F5D-F318B8FE3224@csperkins.org>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/gdLazOiaKfIJ8-OPR1stqnBEEHs
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 21:49:02 -0000


On 08.05.14, 21:02, Colin Perkins wrote:
> On 8 May 2014, at 17:47, Emil Ivov <emcho@jitsi.org> wrote:
>> On 08.05.14, 14:54, Colin Perkins wrote:
>>> On 8 May 2014, at 13:43, Bernard Aboba <bernard.aboba@gmail.com>
>>> wrote:
>>>>> On May 8, 2014, at 3:45, Colin Perkins <csp@csperkins.org>
>>>>> wrote: The fix here is to delete “In the absence of a
>>>>> concrete congestion control algorithm, all”, leaving the text
>>>>> as “WebRTC implementations MUST implement the RTP circuit
>>>>> breaker…” since as you note, we want the circuit breaker even
>>>>> if there is congestion control.
>>>>
>>>> [BA] The question I have is whether this would be widely
>>>> implemented. The Circuit Breaker algorithm pauses sessions, but
>>>> has no mechanism to resume them, so it increases brittleness.
>>>
>>> The circuit breaker is a mechanism of last resort. If we've
>>> designed it correctly, it will only stop sessions that are
>>> otherwise unusable.
>>
>> Shouldn't we have the "if" cleared before making this a MUST? It is
>> not clear to me that we’ve managed to avoid excessive false
>> positives for example.
>
> The experiments that I, Varun, and Zahed have done look to show the
> circuit breaker behaving as desired.

That sounds interesting and I'd actually be happy to see the data 
although I can easily believe that circuit breakers could come in handy 
in certain situations.

draft-ietf-avtcore-rtp-circuit-breakers-05 contains some very useful 
guidelines on determining how and when an application might want to 
consider employing them.

So I am fine with the concept ... *as long as* the choice is left to the 
application.

I don't believe that any of the breakers however have the reliability to 
only trigger in cases where ceasing media transmission is the right 
thing to do. I don't think such a thing is possible given how use cases 
and requirements vary from one application to the next.

> If you know of scenarios where
> there are false positives, I’d like to see your data so we can
> improve the circuit breaker.

It's funny you should ask. I am currently having connectivity issues and 
my media transmissions would every now and then be interrupted for 
periods that go beyond two or three RR packets. I am very happy that my 
sessions just resume when things go back to normal.

In cases like demo stands or some forms of video surveillance, lack of 
media for several (tens) of seconds is not really a problem, whereas a 
break that requires human intervention could be one.

Cases where SFUs decide to selectively NOT forward some RTP but forward 
all RTCP would also trigger false positives, while they are not a 
problem for applications that are aware of their behaviour.

IP layer network mobility à la NEMO, temporary uplink saturation because 
someone mistakenly started a torrent client (and quit a few seconds 
later), someone tripping over a cable and then re-plugging it, buggy NAT 
gateways ... all of those could potentially trigger circuit breakers and 
in all these cases both the application and the user may prefer that 
they don't.

Obviously browsers are a special case but we already have consent 
freshness there and that likely covers most of the concerns for 
undesirable streaming that circuit breakers address.

So again, I feel circuit breakers could be a useful informative 
reference but they can be harmful if REQUIRED.

Emil

-- 
https://jitsi.org