[rtcweb] Data channel setup: scalability, user experience, labels

"MARCON, JEROME (JEROME)" <jerome.marcon@alcatel-lucent.com> Mon, 04 March 2013 18:36 UTC

Return-Path: <jerome.marcon@alcatel-lucent.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 33A0F21F8DD4 for <rtcweb@ietfa.amsl.com>; Mon, 4 Mar 2013 10:36:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.482
X-Spam-Level:
X-Spam-Status: No, score=-9.482 tagged_above=-999 required=5 tests=[AWL=0.767, BAYES_00=-2.599, HELO_EQ_FR=0.35, RCVD_IN_DNSWL_HI=-8]
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 e3Q-lkyEevJE for <rtcweb@ietfa.amsl.com>; Mon, 4 Mar 2013 10:36:07 -0800 (PST)
Received: from smail2.alcatel.fr (smail2.alcatel.fr [64.208.49.57]) by ietfa.amsl.com (Postfix) with ESMTP id DE2B621F8DCB for <rtcweb@ietf.org>; Mon, 4 Mar 2013 10:36:06 -0800 (PST)
Received: from FRMRSSXCHHUB03.dc-m.alcatel-lucent.com (FRMRSSXCHHUB03.dc-m.alcatel-lucent.com [135.120.45.63]) by smail2.alcatel.fr (8.14.3/8.14.3/ICT) with ESMTP id r24Ia4GY026231 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT) for <rtcweb@ietf.org>; Mon, 4 Mar 2013 19:36:05 +0100
Received: from FR712WXCHHUB03.zeu.alcatel-lucent.com (135.239.2.74) by FRMRSSXCHHUB03.dc-m.alcatel-lucent.com (135.120.45.63) with Microsoft SMTP Server (TLS) id 8.3.213.0; Mon, 4 Mar 2013 19:36:04 +0100
Received: from FR711WXCHMBA03.zeu.alcatel-lucent.com ([169.254.3.55]) by FR712WXCHHUB03.zeu.alcatel-lucent.com ([135.239.2.74]) with mapi id 14.02.0247.003; Mon, 4 Mar 2013 19:36:04 +0100
From: "MARCON, JEROME (JEROME)" <jerome.marcon@alcatel-lucent.com>
To: "rtcweb@ietf.org" <rtcweb@ietf.org>
Thread-Topic: Data channel setup: scalability, user experience, labels
Thread-Index: Ac4ZBx/hYvUqem8+Tz2lp+QBZVXajg==
Date: Mon, 4 Mar 2013 18:36:04 +0000
Message-ID: <39821B4C400EC14DAD4DB25330A9271A01929A@FR711WXCHMBA03.zeu.alcatel-lucent.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.239.27.38]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.69 on 155.132.188.80
Subject: [rtcweb] Data channel setup: scalability, user experience, labels
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, 04 Mar 2013 18:36:08 -0000

I would like to get rough opinions on three data channel related topics:

Scalability-challenging scenarios
---------------------
If I am not mistaken, Randell mentioned in Boston some data channel setup scenarios like: 1000 data channels opened in the same session, and possibly 100 data channels opened simultaneously (usage: file transfer). I agree it is important to keep some scalability objectives in mind when taking decisions on the data channel setup design. So what about a list of real-life scalability-challenging scenarios like:

1. No SCTP association is established, and an endpoint wishes to open 100 data channels for the same usage (e.g. file transfer)

2. An SCTP association is established, and an endpoint wishes to open 100 data channels for the same usage (e.g. file transfer)

3. An endpoint creates and closes a data channel at a high frequency, for the same usage (probably an app misbehavior here, but...)

4. ...any other?

User consent
---------------------
These scalability-challenging scenarios not only raise scalability issues, but user experience issues as well. Should these be relevant in IETF (and not in W3C), which user consent is appropriate in the context of data channel setup ?

A) Assuming an initial/updating SDP offer declaring one 'chat' channel and 100 'file transfer' channels, each with a distinct label. The user consent will be:
* 1-line: "open data channels [for this time only | anytime during this session] for any usage/subprotocol"
* 2-line: "open data channels [for this time only | anytime during this session] for usage/subprotocol: (1) chat (2) file transfer"
* 101-line: "open data channels for this time only for usage/subprotocol.label: (1) chat.label1 (2) file transfer.label 2... (101) file transfer.label 101"

B) Assuming a data channel created in-band, with a subprotocol already negotiated
* I assume user consent is not required here ?

C) Assuming a data channel created in-band, with a subprotocol 'file transfer' never negotiated before in the SDP handshake (I think only Randell's proposal allows this)
* 1-line: "open a data channel for this time only for usage/subprotocol.label = chat.label1"  
* 1-line: "open a data channel [for this time only | anytime during this session] for usage/subprotocol = chat" 

>From these (too much detailed) cases, we can identify 3 main types of user consent for data channel setup:
U1. open any number of data channels of any type: prompted at the time of SCTP association setup 
U2. open any number of data channels of a given usage/subprotocol: prompted the first time this subprotocol is signaled to the peer (in SDP or in-band)
U3. open one data channel of a given usage/subprotocol of a given label 

Label usefulness
---------------------
I would like to understand the usefulness of data channel labels. Considering that:
- (if user consent is of type U1 or U2 described above) labels do not take part of user consent
- labels are no longer used as data channel identifiers (SCTP stream numbers are better for this, according to the 3 data channel setup proposals on the table: Randell's, Martin's and mine). 
- W3C says nothing about the use of data channel labels

Jerome