[AVTCORE] Slight rewording on Selective Forwarding Middlebox
Magnus Westerlund <magnus.westerlund@ericsson.com> Mon, 30 March 2015 11:14 UTC
Return-Path: <magnus.westerlund@ericsson.com>
X-Original-To: avt@ietfa.amsl.com
Delivered-To: avt@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 992861ACDE8 for <avt@ietfa.amsl.com>; Mon, 30 Mar 2015 04:14:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.501
X-Spam-Level:
X-Spam-Status: No, score=-1.501 tagged_above=-999 required=5 tests=[BAYES_50=0.8, RCVD_IN_DNSWL_MED=-2.3, 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 rWhcfHV45CoH for <avt@ietfa.amsl.com>; Mon, 30 Mar 2015 04:14:15 -0700 (PDT)
Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8ABE21ACDE5 for <avt@ietf.org>; Mon, 30 Mar 2015 04:14:14 -0700 (PDT)
X-AuditID: c1b4fb2d-f79a46d0000006b4-2a-551930040230
Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.253.124]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id B9.6F.01716.40039155; Mon, 30 Mar 2015 13:14:12 +0200 (CEST)
Received: from [127.0.0.1] (153.88.183.153) by smtp.internal.ericsson.com (153.88.183.35) with Microsoft SMTP Server id 14.3.210.2; Mon, 30 Mar 2015 13:14:11 +0200
Message-ID: <55193001.9070009@ericsson.com>
Date: Mon, 30 Mar 2015 13:14:09 +0200
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Thunderbird/31.5.0
MIME-Version: 1.0
To: IETF AVTCore WG <avt@ietf.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrKJMWRmVeSWpSXmKPExsUyM+JvjS6LgWSoweZJlhYve1ayOzB6LFny kymAMYrLJiU1J7MstUjfLoErY/WL9WwF0/0rnje+YGpgvGLexcjJISFgItE0aR4jhC0mceHe erYuRi4OIYGjjBIr/rxih3CWM0rcmPKEqYuRg4NXQFvic7M8SAOLgKrE9+ZlTCA2m4CFxM0f jWwgtqhAsMTP9t1gcV4BQYmTM5+wgNgiAkoSOyZtYwaxhQWsJZ5+bWYGGcksoCmxfpc+SJhZ QF6ieetssBIhoE0NTR2sExj5ZiGZNAuhYxaSjgWMzKsYRYtTi4tz042M9VKLMpOLi/Pz9PJS SzYxAsPp4JbfujsYV792PMQowMGoxMOrsE4iVIg1say4MvcQozQHi5I4r53xoRAhgfTEktTs 1NSC1KL4otKc1OJDjEwcnFINjJKSF8/U1C9O+3EhU/Lv4bl79vGv/fST9ZuiUuGJ/0+cfff7 bd9us+jKilz2lYJ7jYOfvV+yZdqCb2tbVxZYr3782ctrzc1Zu++9F2vb8mz+j57sLo2JxQt/ Ok+MXi7vw5a306jwPfPpgK8r5tduWnZH/JhpVNm3taGvrGN8n649KiZu/yqdOXmrEktxRqKh FnNRcSIA3O2z8wgCAAA=
Archived-At: <http://mailarchive.ietf.org/arch/msg/avt/2w2lvFYTmomQLLBrkJ96V5KBXGU>
Subject: [AVTCORE] Slight rewording on Selective Forwarding Middlebox
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avt/>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Mar 2015 11:14:17 -0000
WG,
Based on last weeks discussion with David Benham, I have attempted to
write the SFM section more neutral in regards to if one must have
independent SSRC spaces or not. Please review if you think this is
better or if you have further suggestion on changes needed.
Cheers
Magnus
3.7. Selective Forwarding Middlebox
Another method for handling media in the RTP mixer is to "project",
or make available, all potential RTP sources (SSRCs) into a per-
endpoint, independent RTP session. The middlebox can select which of
the potential sources that are currently actively transmitting media
will be sent to each of the endpoints. This is similar to the media
switching Mixer but has some important differences in RTP details.
+-A---------+ +-Middlebox-----------------+
| +-RTP1----| |-RTP1------+ +-----+ |
| | +-Video-| |-Video---+ | | | |
| | | AV1|------------>|---------+-+------>| | |
| | | |<------------|BV1 <----+-+-------| S | |
| | | |<------------|CV1 <----+-+-------| W | |
| | | |<------------|DV1 <----+-+-------| I | |
| | | |<------------|EV1 <----+-+-------| T | |
| | | |<------------|FV1 <----+-+-------| C | |
| | +-------| |---------+ | | H | |
| +---------| |-----------+ | | |
+-----------+ | | M | |
| | A | |
+-B---------+ | | T | |
| +-RTP2----| |-RTP2------+ | R | |
| | +-Video-| |-Video---+ | | I | |
| | | BV1|------------>|---------+-+------>| X | |
| | | |<------------|AV1 <----+-+-------| | |
| | | |<------------|CV1 <----+-+-------| | |
| | | | : : : |: : : : : : : : :| | |
| | | |<------------|FV1 <----+-+-------| | |
| | +-------| |---------+ | | | |
| +---------| |-----------+ | | |
+-----------+ | | | |
: : : :
: : : :
+-F---------+ | | | |
| +-RTP6----| |-RTP6------+ | | |
| | +-Video-| |-Video---+ | | | |
| | | FV1|------------>|---------+-+------>| | |
| | | |<------------|AV1 <----+-+-------| | |
| | | | : : : |: : : : : : : : :| | |
| | | |<------------|EV1 <----+-+-------| | |
| | +-------| |---------+ | | | |
| +---------| |-----------+ +-----+ |
+-----------+ +---------------------------+
Figure 17: Selective Forwarding Middlebox
In the six endpoint conference depicted above in (Figure 17) one can
see that endpoint A is aware of five incoming SSRCs, BV1-FV1. If
this middlebox intends to have a similar behavior as in Section 3.6.2
where the mixer provides the endpoints with the two latest speaking
endpoints, then only two out of these five SSRCs need concurrently
transmit media to A. As the middlebox selects the source in the
different RTP sessions that transmit media to the endpoints, each RTP
stream requires rewriting of certain RTP header fields when being
projected from one session into another. In particular, the sequence
number needs to be consecutively incremented based on the packet
actually being transmitted in each RTP session. Therefore, the RTP
sequence number offset will change each time a source is turned on in
a RTP session. The timestamp (possibly offset) stays the same.
The RTP sessions can be considered independent, the SSRC numbers used
can also be handled independently, thereby bypassing the requirement
for SSRC collision detection and avoidance. This will require tools
such as remapping tables between the RTP sessions.However, using
independent RTP sessions are not required, the switching behavior is
possible to perform also with a common SSRC space. However, in this
case collision detection and handling becomes a different problem.
Therefore, it is up to the implementation to use a single common SSRC
space or separate ones.
Using separate SSRC spaces have some implications. For example, the
RTP stream that is being sent by endpoint B to the middlebox (BV1)
may use an SSRC value of 12345678. When that RTP stream is sent to
endpoint F by the middlebox, it can use any SSRC value, e.g.
87654321. As a result, each endpoint may have a different view of
the application usage of a particular SSRC. Any RTP level identity
information, such as SDES items also needs to update the SSRC
referenced, if the included SDES items are intended to be global.
Thus the application must not use SSRC as references to RTP streams
when communicating with other peers directly. This also affects loop
detection which will fail to work, as there is no common namespace
and identities across the different legs in the communication session
on RTP level. Instead this responsibility falls onto higher layers.
The middlebox is also responsible to receive any RTCP codec control
requests coming from an endpoint, and decide if it can act on the
request locally or needs to translate the request into the RTP
session/transport leg that contains the media source. Both endpoints
and the middlebox need to implement conference related codec control
functionalities to provide a good experience. Commonly used are Full
Intra Request to request from the media source to provide switching
points between the sources, and Temporary Maximum Media Bit-rate
Request (TMMBR) to enable the middlebox to aggregate congestion
control responses towards the media source so to enable it to adjust
its bit-rate (obviously only in case the limitation is not in the
source to middlebox link).
The selective forwarding middlebox has been introduced in recently
developed videoconferencing systems in conjunction with, and to
capitalize on, scalable video coding as well as simulcasting. An
example of scalable video coding is Annex G of H.264, but other
codecs, including H.264 AVC and VP8 also exhibit scalability, albeit
only in the temporal dimension. In both scalable coding and
simulcast cases the video signal is represented by a set of two or
more bitstreams, providing a corresponding number of distinct
fidelity points. The middlebox selects which parts of a scalable
bitstream (or which bitstream, in the case of simulcasting) to
forward to each of the receiving endpoints. The decision may be
driven by a number of factors, such as available bit rate, desired
layout, etc. Contrary to transcoding MCUs, these "Selective
Forwarding Units" (SFUs) have extremely low delay, and provide
features that are typically associated with high-end systems
(personalized layout, error localization) without any signal
processing at the middlebox. They are also capable of scaling to a
large number of concurrent users, and--due to their very low delay--
can also be cascaded.
This version of the middlebox also puts different requirements on the
endpoint when it comes to decoder instances and handling of the RTP
streams providing media. As each projected SSRC can, at any time,
provide media, the endpoint either needs to be able to handle as many
decoder instances as the middlebox received, or have efficient
switching of decoder contexts in a more limited set of actual decoder
instances to cope with the switches. The application also gets more
responsibility to update how the media provided is to be presented to
the user.
Note that this topology could potentially be seen as a media
translator which include an on/off logic as part of its media
translation. The topology has the property that all SSRCs present in
the session is visible to an endpoint. It also has mixer aspects, as
the streams it provides are not basically translated version, but
instead they have conceptual property assigned to them and can be
both turned on/off as well as being fully or partially delivered.
Thus this topology appears to be some hybrid between the translator
and mixer model.
The differences between selective forwarding middlebox and a
switching mixer (Section 3.6.2) are minor, and they share most
properties. The above requirement on having a large number of
decoding instances or requiring efficient switching of decoder
contexts, are one point of difference. The other is how the
identification is performed, where the Mixer uses CSRC to provide
information on what is included in a particular RTP stream that
represent a particular concept. Selective forwarding gets the source
information through the SSRC, and instead have to use other mechanism
to make clear the streams current purpose.
--
Magnus Westerlund
----------------------------------------------------------------------
Services, Media and Network features, Ericsson Research EAB/TXM
----------------------------------------------------------------------
Ericsson AB | Phone +46 10 7148287
Färögatan 6 | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com
----------------------------------------------------------------------
- [AVTCORE] Slight rewording on Selective Forwardin… Magnus Westerlund
- Re: [AVTCORE] Slight rewording on Selective Forwa… Magnus Westerlund
- Re: [AVTCORE] Slight rewording on Selective Forwa… Magnus Westerlund
- Re: [AVTCORE] Slight rewording on Selective Forwa… Bernard Aboba
- Re: [AVTCORE] Slight rewording on Selective Forwa… Roni Even
- Re: [AVTCORE] Slight rewording on Selective Forwa… David Benham (dbenham)
- Re: [AVTCORE] Slight rewording on Selective Forwa… Magnus Westerlund
- Re: [AVTCORE] Slight rewording on Selective Forwa… Magnus Westerlund