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

Graham Klyne <gk-ietf-hybi@ninebynine.org> Mon, 12 October 2009 18:41 UTC

Return-Path: <gk-ietf-hybi@ninebynine.org>
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 5147128C2AF for <hybi@core3.amsl.com>; Mon, 12 Oct 2009 11:41:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.431
X-Spam-Level:
X-Spam-Status: No, score=-2.431 tagged_above=-999 required=5 tests=[BAYES_20=-0.74, DATE_IN_PAST_06_12=1.069, RCVD_IN_DNSWL_MED=-4, 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 3OMJuLWl3i1R for <hybi@core3.amsl.com>; Mon, 12 Oct 2009 11:41:54 -0700 (PDT)
Received: from relay3.mail.ox.ac.uk (relay3.mail.ox.ac.uk [163.1.2.165]) by core3.amsl.com (Postfix) with ESMTP id 22B9728C29E for <hybi@ietf.org>; Mon, 12 Oct 2009 11:41:54 -0700 (PDT)
Received: from smtp2.mail.ox.ac.uk ([163.1.2.205]) by relay3.mail.ox.ac.uk with esmtp (Exim 4.69) (envelope-from <gk-ietf-hybi@ninebynine.org>) id 1MxPqB-0002cY-CU; Mon, 12 Oct 2009 19:41:51 +0100
Received: from gklyne.plus.com ([80.229.154.156] helo=Eskarina.local) by smtp2.mail.ox.ac.uk with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from <gk-ietf-hybi@ninebynine.org>) id 1MxPqB-0005bv-8E; Mon, 12 Oct 2009 19:41:51 +0100
Message-ID: <4AD2F43D.6030202@ninebynine.org>
Date: Mon, 12 Oct 2009 10:17:49 +0100
From: Graham Klyne <gk-ietf-hybi@ninebynine.org>
User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812)
MIME-Version: 1.0
To: Greg Wilkins <gregw@webtide.com>
References: <4ACE50A2.5070404@ericsson.com> <3a880e2c0910081600v3607665dp193f6df499706810@mail.gmail.com> <4ACF4055.6080302@ericsson.com> <Pine.LNX.4.62.0910092116010.21884@hixie.dreamhostps.com> <4AD2E353.8070609@webtide.com>
In-Reply-To: <4AD2E353.8070609@webtide.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Oxford-Username: zool0635
Cc: "hybi@ietf.org" <hybi@ietf.org>
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 18:41:55 -0000

To add just one voice among many...

(1) in the use-cases that I've considered for pushing messages/requests to a 
browser, multiplexing is not a requirement.  Other's mileage may, of course, vary.

(2) Looking at a multiplexing protocol such as BEEP, multiplexing adds a *lot* 
of complexity to the protocol specification and implementation.  I would say 
that the case for multiplexing in the base protocol needs to be made to justify 
that added complexity.

(3) It seems to me that, if needed, a multiplexing layer could be specified and 
standardized over a non-multiplexing substrate.

#g
--

Greg Wilkins wrote:
> 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
> 
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi
>