Re: [rtcweb] [tsvwg] Diffserv QoS for Video

Brian E Carpenter <brian.e.carpenter@gmail.com> Thu, 05 May 2016 00:36 UTC

Return-Path: <brian.e.carpenter@gmail.com>
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 AFDE412D675; Wed, 4 May 2016 17:36:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EiutF6H5fwRM; Wed, 4 May 2016 17:36:55 -0700 (PDT)
Received: from mail-pa0-x233.google.com (mail-pa0-x233.google.com [IPv6:2607:f8b0:400e:c03::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3C03612D535; Wed, 4 May 2016 17:36:55 -0700 (PDT)
Received: by mail-pa0-x233.google.com with SMTP id xk12so29842616pac.0; Wed, 04 May 2016 17:36:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:organization:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=MFwvFrQhdZ665fmLf47yEBQ3PbJK3MB0vM+m8etYCT8=; b=VNiNt81EAeOqHV+DpA6CX+lr5APjYRc870e1mzdWmxppKPQi43Ogam8upwSx8mqwTY b/JdguOqwNNo4Un197fg2jTmSt55h3VSvy+QjreZ7Hn2yIlIRxXUKuCuQ9cLFpMBFdVy prT0ZC1cQLr4Cf2hzcXbi/e0LTBMwHZUxRmkxu6JuWUSoRXLnazL2AUArRGT6fuyYcYf jr+Yy4cOjEkoUS9P4SKH/NB8iHV5IaTvlSp6V7Aoo0n+VdnNDYG4O2U5Fp5KlONcVKCq MthAgQiJ0cbKxdWU+UFaQzIR2kDd8OMGmkM1nSyDKvlkD80SVPPr9HibiJIPap6n8myv WHWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding; bh=MFwvFrQhdZ665fmLf47yEBQ3PbJK3MB0vM+m8etYCT8=; b=WrduxyO/YNPFm/+Ww9I/80zHP06AVtI/y1MmkvimxEW3VXs9M0C8CcQfVffJ63WZUi L4gRQHtG8miTV0X1AxbtvIduHjDaDxLs3OMR2bZksXNpVm+8pajHItjn/8WxqTXQqV5N rKCo3PZparrM5023EbkXxVCFc7Y2kxRYmb35UxDWHy9Jrcw/jnz4icYCr6t3WQQ+64+K VqqfjBGogFZR383Fal6MTFn8Ys3QxW5pcyKgcKxwWHRba3zfsiiY31zOa1VRGXM4Y8r0 7LVPIPlvoeQcSEx9N5V7FUm2bJa5mZkf9iF3eC71q+hi6KfWlP2woWiVzVX2hQORYbw2 5+fA==
X-Gm-Message-State: AOPr4FUIJ7f0TT6ixY7X4dbtPRLDmJkXPhUd0kDUDiTnyA7+PLzrLeRw/HohWCDSsglvMg==
X-Received: by 10.67.3.200 with SMTP id by8mr16087131pad.13.1462408614810; Wed, 04 May 2016 17:36:54 -0700 (PDT)
Received: from ?IPv6:2406:e007:5671:1:28cc:dc4c:9703:6781? ([2406:e007:5671:1:28cc:dc4c:9703:6781]) by smtp.gmail.com with ESMTPSA id f16sm8699346pfj.71.2016.05.04.17.36.51 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 04 May 2016 17:36:53 -0700 (PDT)
To: Bernard Aboba <bernard.aboba@gmail.com>
References: <CE03DB3D7B45C245BCA0D243277949362E993518@MX104CL02.corp.emc.com> <7ebc2ca5-c10f-f85e-2b6f-0d685c87f187@gmail.com> <CAOW+2du4UA2Trw6hFUQ+bpBfwXSF-uJfSth5b4YCaK__ULbufA@mail.gmail.com>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Organization: University of Auckland
Message-ID: <cfbd3981-7def-94b4-7e51-db1bae68fd6c@gmail.com>
Date: Thu, 05 May 2016 12:36:58 +1200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.0
MIME-Version: 1.0
In-Reply-To: <CAOW+2du4UA2Trw6hFUQ+bpBfwXSF-uJfSth5b4YCaK__ULbufA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtcweb/3ZRZx8GyUycxC16-p7z8NP1Bvj4>
Cc: "Black, David" <david.black@emc.com>, "rtcweb@ietf.org" <rtcweb@ietf.org>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Subject: Re: [rtcweb] [tsvwg] Diffserv QoS for Video
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.17
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: <https://mailarchive.ietf.org/arch/browse/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, 05 May 2016 00:36:57 -0000

Thanks Bernard.

All the same, I think the phrasing I quoted at
https://tools.ietf.org/html/draft-ietf-tsvwg-rtcweb-qos-15#section-4
is problematic; it implies that there's a Boolean property "interactive"
which clearly is not supported in the encoding parameters.

Regards
   Brian

On 05/05/2016 11:01, Bernard Aboba wrote:
> Brian Carpenter said: 
> 
> "Then, is it clear how the browser "knows" this?"
> 
> [BA] The application explicitly provides information to the browser by setting the RTCRtpEncodingParameters.priority attribute
> via the sender.setParameters() API: 
> 
> dictionary RTCRtpEncodingParameters { unsigned long ssrc <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-ssrc>;
> |RTCRtpRtxParameters| rtx <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-rtx>; |RTCRtpFecParameters| fec
> <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-fec>; boolean active
> <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-active>; |RTCPriorityType| priority
> <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-priority>; unsigned long maxBitrate
> <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-maxBitrate>; unsigned long maxFramerate
> <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-maxFramerate>; DOMString rid
> <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-rid>; double scaleResolutionDownBy
> <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-scaleResolutionDownBy> = 1.0; };
> 
> 
> The Priority and QoS Model is described in the latest WebRTC 1.0 Editor's draft (http://w3c.github.io/webrtc-pc/) Section 4.10: 
> 
> 4.10 Priority and QoS Model
> 
> Many applications have multiple media flows of the same data type and often some of the flows are more important than others.
> WebRTC uses the priority and Quality of Service (QoS) framework described in [RTCWEB-TRANSPORT] and [TSVWG-RTCWEB-QOS] to
> provide priority and DSCP marking for packets that will help provide QoS in some networking environments. The priority setting
> can be used to indicate the relative priority of various flows. The priority API allows the JavaScript applications to tell the
> browser whether a particular media flow is high, medium, low or of very low importance to the application by setting
> the |priority|property of ||RTCRtpEncodingParameters|| objects to one of the following values.
> 
> 
>         4.10.1 RTCPriorityType Enum
> 
> 
> enum RTCPriorityType {
>     "very-low <http://w3c.github.io/webrtc-pc/#idl-def-RTCPriorityType.very-low>",
>     "low <http://w3c.github.io/webrtc-pc/#idl-def-RTCPriorityType.low>",
>     "medium <http://w3c.github.io/webrtc-pc/#idl-def-RTCPriorityType.medium>",
>     "high <http://w3c.github.io/webrtc-pc/#idl-def-RTCPriorityType.high>"
> };
> 
> 
> On Wed, May 4, 2016 at 1:28 PM, Brian E Carpenter <brian.e.carpenter@gmail.com <mailto:brian.e.carpenter@gmail.com>> wrote:
> 
>     I fear I have an up-level question: what is the definition of "interactive"?
> 
>     draft-ietf-tsvwg-rtcweb-qos doesn't define it, presumably because it was
>     assumed to be obvious, but thinking about David's suggestions, I decided
>     that it isn't so obvious.
> 
>     https://tools.ietf.org/html/draft-ietf-tsvwg-rtcweb-qos-15#section-4 says:
> 
>        The following are the inputs provided by the WebRTC application to
>        the browser:
> 
>        o  Flow Type: The browser provides this input as it knows if the flow
>           is audio, interactive video with or without audio, non-interactive
>           video with or without audio, or data.
> 
>     Firstly, I'm puzzled by the apparent contradiction between the first
>     sentence (in which the app provides input to the browser) and the second
>     sentence (in which to the browser provides input to something else).
> 
>     Then, is it clear how the browser "knows" this? If David's statement below
>     about the API is correct, the browser actually cannot "provide this input"
>     as stated in the above quotation. Or I am confused.
> 
>     Finally, why is audio not also subdivided into interactive and
>     non-interactive? As far as I can see, both are logically possible.
> 
>     Regards
>        Brian
> 
>     On 05/05/2016 03:26, Black, David wrote:
>     > Greetings,
>     >
>     > I write as the shepherd for the WebRTC QoS draft (draft-ietf-tsvwg-rtcweb-qos).
>     > IETF Last Call on this draft uncovered an issue that appears to also require
>     > changes in the Web RTC transports draft (draft-ietf-rtcweb-transports).
>     >
>     > The Web RTC draft  specifies different Diffserv Codepoints (DSCPs) for use with
>     > Interactive vs. Non-Interactive Video (with or without audio in both cases):
>     > https://tools.ietf.org/html/draft-ietf-tsvwg-rtcweb-qos-15#section-5
>     >
>     > The IETF LC issue is: How does an implementer determine whether video is
>     > interactive vs. non-interactive?
>     >
>     > The answer (unexpected to at least me) is that this can't be done for current
>     > WebRTC - all video has to be treated as interactive because there's no API
>     > support to distinguish interactive video from non-interactive video.  That
>     > doesn't appear to be stated anywhere obvious, and a TSVWG draft seems
>     > like the wrong place to do so.
>     >
>     > Hence, this message contains initial proposed changes to both the WebRTC
>     > Transports draft and WebRTC QoS draft to resolve this issue without removing
>     > any of the DSCPs currently specified for video in the WebRTC QoS draft.
>     >
>     > We should resolve this within the next few days, as the WebRTC QoS draft is
>     > (finally!) on the IESG telechat agenda for May 19.
>     >
>     > --- WebRTC Transports draft - proposed changes
>     >
>     > In Section 4 Media Prioritization, after the following existing text:
>     >
>     >    For media, a "media flow", which can be an "audio flow" or a "video
>     >    flow", is what [RFC7656] calls a "media source", which results in a
>     >    "source RTP stream" and one or more "redundancy RTP streams".  This
>     >    specification does not describe prioritization between the RTP
>     >    streams that come from a single "media source".
>     >
>     > Add a new paragraph:
>     >
>     >    All media flows in WebRTC are assumed to be interactive; there is
>     >    no browser API support for non-interactive media, aside from sending
>     >    non-interactive media content via the data channel.
>     >
>     > This ought to cite a W3C reference for the WebRTC API - the following
>     > appears plausible:
>     >
>     >    [W3C.WD-webrtc-20120209]
>     >               Bergkvist, A., Burnett, D., Jennings, C., and A.
>     >               Narayanan, "WebRTC 1.0: Real-time Communication Between
>     >               Browsers", World Wide Web Consortium WD WD-webrtc-
>     >               20120209, February 2012,
>     >               <http://www.w3.org/TR/2012/WD-webrtc-20120209>.
>     >
>     > -- WebRTC QoS draft - proposed changes
>     >
>     > In Section 5 DSCP Mappings, after the following existing text:
>     >
>     >    The browser SHOULD first select the flow type of the flow.  Within
>     >    the flow type, the relative importance of the flow SHOULD be used to
>     >    select the appropriate DSCP value.
>     >
>     > Add a new paragraph:
>     >
>     >    The current WebRTC browser API does not support non-interactive
>     >    video; all video is assumed to be interactive [I-D.ietf-rtcweb-transports].
>     >    Browsers MUST NOT use the DSCP mappings for Non-Interactive Video
>     >    in Table 1.  Non-browser implementations of WebRTC MAY use the
>     >    DSCP mappings for Non-Interactive Video in Table 1 for video that is
>     >    known to not be interactive, e.g., all video in a video playback application
>     >    based on a custom implementation of the WebRTC protocols would not
>     >    be interactive.
>     >
>     > ------
>     >
>     > Comments are welcome - as noted, above,  we should resolve this in
>     > the next few days in order to avoid pulling the WebRTC QoS draft off
>     > of the May 19 IESG telechat agenda. Please reply to both the TSVWG and
>     > RTCWEB lists, as we need  a coherent solution across both drafts.
>     >
>     > I want to thank Colin Perkins for suggesting the video playback example.
>     >
>     > Thanks, --David (as WebRTC QoS draft shepherd)
>     >
>     >
> 
>     _______________________________________________
>     rtcweb mailing list
>     rtcweb@ietf.org <mailto:rtcweb@ietf.org>
>     https://www.ietf.org/mailman/listinfo/rtcweb
> 
>