Re: [hybi] Multiplexing in WebSocket (Was: HyBi Design Space)

Greg Wilkins <gregw@webtide.com> Mon, 12 October 2009 08:13 UTC

Return-Path: <gregw@webtide.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7E8423A683C for <hybi@core3.amsl.com>; Mon, 12 Oct 2009 01:13:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.241
X-Spam-Level: *
X-Spam-Status: No, score=1.241 tagged_above=-999 required=5 tests=[BAYES_50=0.001, SARE_LWSHORTT=1.24]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p+nUEZ6Drzk9 for <hybi@core3.amsl.com>; Mon, 12 Oct 2009 01:13:12 -0700 (PDT)
Received: from qw-out-2122.google.com (qw-out-2122.google.com [74.125.92.25]) by core3.amsl.com (Postfix) with ESMTP id A4C013A6824 for <hybi@ietf.org>; Mon, 12 Oct 2009 01:13:12 -0700 (PDT)
Received: by qw-out-2122.google.com with SMTP id 9so467683qwb.31 for <hybi@ietf.org>; Mon, 12 Oct 2009 01:13:10 -0700 (PDT)
Received: by 10.224.46.79 with SMTP id i15mr4570109qaf.58.1255334751914; Mon, 12 Oct 2009 01:05:51 -0700 (PDT)
Received: from ?10.10.1.9? (60-242-119-126.tpgi.com.au [60.242.119.126]) by mx.google.com with ESMTPS id 2sm1050628qwi.39.2009.10.12.01.05.47 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 12 Oct 2009 01:05:50 -0700 (PDT)
Message-ID: <4AD2E353.8070609@webtide.com>
Date: Mon, 12 Oct 2009 19:05:39 +1100
From: Greg Wilkins <gregw@webtide.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
MIME-Version: 1.0
To: Ian Hickson <ian@hixie.ch>, "hybi@ietf.org" <hybi@ietf.org>
References: <4ACE50A2.5070404@ericsson.com> <3a880e2c0910081600v3607665dp193f6df499706810@mail.gmail.com> <4ACF4055.6080302@ericsson.com> <Pine.LNX.4.62.0910092116010.21884@hixie.dreamhostps.com>
In-Reply-To: <Pine.LNX.4.62.0910092116010.21884@hixie.dreamhostps.com>
X-Enigmail-Version: 0.95.7
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Subject: Re: [hybi] Multiplexing in WebSocket (Was: HyBi Design Space)
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Oct 2009 08:13:13 -0000

Ian Hickson wrote:

> FWIW, so far I've concluded (based on long discussions with a number of 
> developers and implementors) that multiplexing would actually not be that 
> great.

Which developers/implementors?

So far the majority of opinions I've seen on this list and the whatwg list
have been favourable to multiplexing.   Can you invite them to post their
opinions here?


> However, WebSocket
> connections are long lived by design, 

I do not believe you can anticipate websocket usage over the long
term.  Just because you think now they will only be used for long
lived connections, that may not always be the case.  It is short
sighted to build such limitations into a once-in-a-decade chance to
upgrade the protocols we use on the web.

> and the cost of setting up a
> connection therefore is insignificant compared to the cost of the protocol
> itself.

There is also a cost associated with maintaining and servicing a
connection.


> There's also something to be said for relying on TCP's built in
> congestion control -- if you were to open two connections to a server, 
> one sending vast amounts of data, and one sending just the occasional 
> critically important notification, it would be best if the latter could 
> avoid getting throttled along with the first.

Some would argue that is improperly bypassing TCP's congestion control.

I have often seen the horrid argument put that if you use 8 connections
instead of 1, then you are more likely to get better service from
a router that is fair sharing capacity among connections.   That path
leads to an irrational arms race as once everybody uses 8 connections,
somebody will use 16 to get better service etc etc.

Implementing connection policies is not something that should
be left to the application developer. It is far far better that the
browsers implement connection control policies.


> As with anything, though, there's always the option of changing this if 
> strong arguments one way or the other are put forward. We can also 
> introduce multiplexing as a new version of the protocol in a future 
> version.

Protocol versions come once maybe twice a decade.   Please consider
the future and not just short term needs of one particular interest
group.



regards