Re: [hybi] Framing and design philosophy

Wenbo Zhu <wenboz@google.com> Mon, 02 August 2010 11:50 UTC

Return-Path: <wenboz@google.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 D4BBE3A6BC3 for <hybi@core3.amsl.com>; Mon, 2 Aug 2010 04:50:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.976
X-Spam-Level:
X-Spam-Status: No, score=-101.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
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 qlddhE5PAQ-u for <hybi@core3.amsl.com>; Mon, 2 Aug 2010 04:50:35 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.35]) by core3.amsl.com (Postfix) with ESMTP id A9F573A6BB5 for <hybi@ietf.org>; Mon, 2 Aug 2010 04:50:34 -0700 (PDT)
Received: from kpbe15.cbf.corp.google.com (kpbe15.cbf.corp.google.com [172.25.105.79]) by smtp-out.google.com with ESMTP id o72Bp04O003400 for <hybi@ietf.org>; Mon, 2 Aug 2010 04:51:00 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1280749861; bh=VGp2NOKly97i03oSE81jWUv798w=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=rZ556EV+aL4XGQ9bFwiGu+yXZjXQLDGCtn1wSaseGqZddVPSzyatWZu4OFBupSBRq G3+wCXyqNOuTZGCJw/SPg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=oThoQyiUvWVxffa8mQ4zesZBdWzGRJtY/uVeLHVfqE2HsjBFHebVpl/OC9QHgFmce wn4U6U1g0sbc9D7UpGYTA==
Received: from gxk10 (gxk10.prod.google.com [10.202.11.10]) by kpbe15.cbf.corp.google.com with ESMTP id o72BoRTH029915 for <hybi@ietf.org>; Mon, 2 Aug 2010 04:50:59 -0700
Received: by gxk10 with SMTP id 10so1754662gxk.37 for <hybi@ietf.org>; Mon, 02 Aug 2010 04:50:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.90.93.9 with SMTP id q9mr2222508agb.15.1280749857655; Mon, 02 Aug 2010 04:50:57 -0700 (PDT)
Received: by 10.91.220.17 with HTTP; Mon, 2 Aug 2010 04:50:57 -0700 (PDT)
In-Reply-To: <1280532228.24989.349.camel@tng>
References: <Pine.LNX.4.64.1007292242310.7470@ps20323.dreamhostps.com> <AANLkTiksjK6ZH=8t8V7i-rieOoYaZwHiAcV=R17gHN3C@mail.gmail.com> <Pine.LNX.4.64.1007300512050.3056@ps20323.dreamhostps.com> <AANLkTik8GHCX3AzXcbUTyQ6iSh4RRUUsen=NhrgA8jhV@mail.gmail.com> <AANLkTikcKCjBCrdxR688OVe+ieXSyRpOWrj0TmAG3FpR@mail.gmail.com> <20100730180039.GD16906@1wt.eu> <1280532228.24989.349.camel@tng>
Date: Mon, 02 Aug 2010 04:50:57 -0700
Message-ID: <AANLkTi=oPnx3jH6fup8aJB=5KE_o1-H7Ve-rpE3WjDFc@mail.gmail.com>
From: Wenbo Zhu <wenboz@google.com>
To: Patrick McManus <mcmanus@ducksong.com>
Content-Type: multipart/alternative; boundary="00163630efcb4fdcfb048cd5d0bb"
X-System-Of-Record: true
Cc: hybi@ietf.org
Subject: Re: [hybi] Framing and design philosophy
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, 02 Aug 2010 11:50:35 -0000

On Fri, Jul 30, 2010 at 4:23 PM, Patrick McManus <mcmanus@ducksong.com>wrote:

>
> Related to the syntax of framing and chunking, I also urge the group to
> tackle multiplexing in the first round of the draft. Connection
> management has long been a thorn in the side of HTTP - leading to
> arbitrary numbers of parallel connections and their assorted problems
> interacting poorly with buffering and TCP congestion control.
>
Or, without multiplexing, I'd argue that the plain-old HTTP would be
sufficient in itself - to be used as a transport protocol for the WebSocket
API.
We had use cases that involve 1) streaming-only transport; and 2) API
clients. Based on initial discussions over httpbis, full-duplex HTTP seems
to be a viable option:
http://lists.w3.org/Archives/Public/ietf-http-wg/2010AprJun/0111.html ,
http://tools.ietf.org/html/draft-zhu-http-fullduplex-01  ...

Not saying that we don't need a new protocol ... but its incompatibility
with HTTP, as cost, needs be justified.

- Wenbo


>
> Multiplexing multiple websocket messages simultaneously over a single
> TCP channel (using chunks as necessary) allows them to share a single
> TCP congestion control block as well as a single TCP handshake. Both of
> those things will be significant wins in terms of reliable efficient
> performance.
>
> There is a downside in terms of fate sharing across messages during loss
> recovery events, but frankly a single busy TCP session makes loss
> recovery much more efficient than if the same data is spread of
> unrelated TCP flows. More importantly the number of client induced
> losses due to inaccurate aggregate cwnd's across the large number of
> parallel connections is reduced. That's probably the most important
> thing.
>
> Not tackling it now basically makes repeating the mistakes of http
> forseeable, and I would not support the IETF endorsing such a
> specification.
>
>
>
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi
>