Re: [hybi] Requirement: extensions and sub protocols
KOMATSU Kensaku <kensaku.komatsu@gmail.com> Sun, 07 March 2010 20:06 UTC
Return-Path: <kensaku.komatsu@gmail.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 695493A8D97 for <hybi@core3.amsl.com>; Sun, 7 Mar 2010 12:06:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[AWL=-0.600, BAYES_00=-2.599, J_CHICKENPOX_43=0.6, J_CHICKENPOX_45=0.6]
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 eL9IeDjhjCq4 for <hybi@core3.amsl.com>; Sun, 7 Mar 2010 12:06:23 -0800 (PST)
Received: from mail-pz0-f195.google.com (mail-pz0-f195.google.com [209.85.222.195]) by core3.amsl.com (Postfix) with ESMTP id 6DF9E3A8ABA for <hybi@ietf.org>; Sun, 7 Mar 2010 12:06:23 -0800 (PST)
Received: by pzk33 with SMTP id 33so402799pzk.5 for <hybi@ietf.org>; Sun, 07 Mar 2010 12:06:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=XZbCR3YZw6tKN2vfxGty8EKtIN1wY4gvF3HiqWZZwMQ=; b=Q/TeQDmZKIXGf3Y7sVWRFURRHAcRexPDbFXuk+u8Zxzyjx9nYG5+EscnyP8oucpp1K NE2m3iUootKg9BC/aBYEAelElMDGYSdhbCVEGJv/KwXn/TkaCQftmh1DYwhuFF973624 5QKj3h3ydkdVSjNQwV2mh60vo7SVN5URyJaso=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=fY//pWLeICDU0cNZRZCFkFGq5PsWcRqYe9bM9NsqACqMTxQLoYvnyI3V2XP5H4vPhJ O39ofBv5UuX424zaSkt745PYZX9LltiOChK/p64j+cHJhdsUOsuNM/Em/U/+Vo1lcLPI bHvgIFJ/d7HfXY0eQL1mqhIBNZuYDeuPq9dcQ=
MIME-Version: 1.0
Received: by 10.140.55.9 with SMTP id d9mr2530752rva.179.1267992384196; Sun, 07 Mar 2010 12:06:24 -0800 (PST)
In-Reply-To: <20100305190937.GC31182@shareable.org>
References: <4B8ECA2D.4050303@ericsson.com> <8e7c686d1003031732wa39f448k1d9286585517c0d8@mail.gmail.com> <20100305005716.GB9244@shareable.org> <8e7c686d1003042218q63b34131j946080d1dc53ce95@mail.gmail.com> <20100305190937.GC31182@shareable.org>
Date: Mon, 08 Mar 2010 05:06:24 +0900
Message-ID: <8e7c686d1003071206q3072047eyf5ee30f3cb20f71b@mail.gmail.com>
From: KOMATSU Kensaku <kensaku.komatsu@gmail.com>
To: Jamie Lokier <jamie@shareable.org>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: Hybi <hybi@ietf.org>
Subject: Re: [hybi] Requirement: extensions and sub protocols
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: Sun, 07 Mar 2010 20:06:24 -0000
2010/3/6 Jamie Lokier <jamie@shareable.org>: > KOMATSU Kensaku wrote: > That was true a few years ago, but things have changed. > > I believe Windows later than XP, i.e. Vista and Windows 7, now > automatically enlarge the receive window according to heuristic > measurements. > > Current Linux also does the same thing. It will set the receive > window up to 3.4Mbyte on my laptop, for example, if it thinks the path > needs that much for throughput. > > It is for exactly the reason you've described: the old 64k window > limit was too small to get good throughput on 10Mbps links with 50ms > latency, which are getting common. > > For that reason, there's no benefit to having several parallel TCPs > any more on that sort of link, on current OSes. > > However your point still applies to WebSocket usage on older OSes, and > it may be necessary to use multiple TCPs based on RTT and window size > measurements to get the full throughput on them. > > It's a good reason for applications to be able to flag some WebSockets > as "should not be combined with others". Since there are proxies in > development which automatically combine multiple WebSocket > connections passing through them, it probably should have a way to be > signalled in the handshake, too. > > Then again, wouldn't it be even better to multiplex everything > together, and then have a multi-TCP protocol to carry the whole > together when beneficial, so that even one application WebSocket could > get the full link bandwidth? > >> I also agree with multiple connections are confortable for web >> application developer, >> because it offeres an appropriate speed in most cases without >> bothersome control. >> But this manner requires more connection resources than necessary. >> >> Number of TCP connection affects to connection-sensitive equipment, >> global-NAT, proxy, firewall,load-balancer, servers, .... If we use >> appropriate number of connection and multiplexing frames for web >> applications, the system cost can be made low-priced. And I hope that >> this senario will also pleased network providers. >> To achieve this senario, preparing some libraries, defining >> sub-protocol or extentions and making it easier to use will be >> important. That's why I mentioned this-topic before. > > Exactly, I agree with all of that. > > But I think having the WebSocket implementations automatically choose > a number of TCP connections based on dynamic RTT measurement (which > will vary for different destinations, and vary over time) and the > negotiated window size might be simply too difficult. > > I think it's better to use OSes which extend the window size > dynamically - they are in a much better position to make the right > measurements, and also to take into account memory used. It's much > simpler that way too. Thanks a lot!!. I agree with your comment, so I'll choose multiple frames in one TCP connection in current OSes. I'm sorry my lack of survey. And, I'll keep challenge automatically choose # of TCP connections based on RTT measurement for OLD OSes(those don't support above features). Yes, I know this is hard challenge, but I can't disregard those share. >> For other case, It'll be useful for video service. Because it'll be >> useful for the decision of the bandwidth of contents automatically. > > I don't understand that. To determine bandwidth, something has to > measure the bandwidth. Counting connections won't do that. Can you > explain a bit more how you think it will help video delivery? Sorry for mis-wording... I meant content's bit rate. It is based on my old experience... About 7 years before, I served hi-vision video services via http/rtsp-tcp streaming. 6Mbps contents worked well when RTT was small, but I found that video service(30fps) fall down to picture story(2 or 5 fps) when RTT got larger. But in those situation, 3Mbps contents was fine(due to tcp flow control). So, automatically choose contents-bit rate based on RTT measurement was useful. But, with your comment, I understand above story is old one. Sincerly --- Kensaku KOMATSU
- [hybi] Requirement: extensions and sub protocols Salvatore Loreto
- Re: [hybi] Requirement: extensions and sub protoc… KOMATSU Kensaku
- Re: [hybi] Requirement: extensions and sub protoc… Jamie Lokier
- Re: [hybi] Requirement: extensions and sub protoc… Jamie Lokier
- Re: [hybi] Requirement: extensions and sub protoc… KOMATSU Kensaku
- Re: [hybi] Requirement: extensions and sub protoc… Greg Wilkins
- Re: [hybi] Requirement: extensions and sub protoc… Salvatore Loreto
- Re: [hybi] Requirement: extensions and sub protoc… Greg Wilkins
- Re: [hybi] Requirement: extensions and sub protoc… Salvatore Loreto
- Re: [hybi] Requirement: extensions and sub protoc… Jamie Lokier
- Re: [hybi] Requirement: extensions and sub protoc… Jamie Lokier
- Re: [hybi] Requirement: extensions and sub protoc… Jamie Lokier
- Re: [hybi] Requirement: extensions and sub protoc… KOMATSU Kensaku