Re: [hybi] channel alternatives

Roberto Peon <fenix@google.com> Fri, 13 November 2009 18:03 UTC

Return-Path: <fenix@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 C3AFC3A67ED for <hybi@core3.amsl.com>; Fri, 13 Nov 2009 10:03:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.783
X-Spam-Level:
X-Spam-Status: No, score=-105.783 tagged_above=-999 required=5 tests=[AWL=0.193, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, 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 CRtiMAfQWTYQ for <hybi@core3.amsl.com>; Fri, 13 Nov 2009 10:03:47 -0800 (PST)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.45.13]) by core3.amsl.com (Postfix) with ESMTP id EFDBE3A672E for <hybi@ietf.org>; Fri, 13 Nov 2009 10:03:46 -0800 (PST)
Received: from zps36.corp.google.com (zps36.corp.google.com [172.25.146.36]) by smtp-out.google.com with ESMTP id nADI4GTF004715 for <hybi@ietf.org>; Fri, 13 Nov 2009 10:04:16 -0800
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1258135456; bh=7DIFZGxrgtT01nx9s5bGVf+HJr8=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=BMc/AN6Ik0L2XbrTnovpStsJu+nFxUwZolsCyaDn/+9q6qQi30JqRHw4KtYTaovEX K8BnvXK1D6J9YAcGQ8IaA==
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=NTkwnTK9YAXu9fzENg4f8lWN3RPCjUnwQTRLJga7xaEAIqgqVOTYmMf0LNqsWKqPa Z3/Nzkng5a1ishye/7dcQ==
Received: from qyk31 (qyk31.prod.google.com [10.241.83.159]) by zps36.corp.google.com with ESMTP id nADI4DBD007500 for <hybi@ietf.org>; Fri, 13 Nov 2009 10:04:14 -0800
Received: by qyk31 with SMTP id 31so1667911qyk.9 for <hybi@ietf.org>; Fri, 13 Nov 2009 10:04:13 -0800 (PST)
MIME-Version: 1.0
Received: by 10.224.58.201 with SMTP id i9mr2991164qah.8.1258135453460; Fri, 13 Nov 2009 10:04:13 -0800 (PST)
In-Reply-To: <00F01C33-AE49-4A79-A003-1EBA37FE788B@icesoft.com>
References: <4AFC869C.9090403@webtide.com> <F4C6CDAD-1ABE-4A2A-A65B-0C8EEA95D90B@surrey.ac.uk> <4AFC9936.8090007@webtide.com> <803EA6E6-F94E-4F8D-9026-86C6EB33422A@icesoft.com> <3a880e2c0911121751q22b3929bwc5d7dbcaa0731226@mail.gmail.com> <bbeaa26f0911121800m6ee5e014n327b1dee77dafd54@mail.gmail.com> <8B0A9FCBB9832F43971E38010638454F0F35CBBC@SISPE7MB1.commscope.com> <DC3B92EB-68F0-416F-A472-3ED726C56F79@icesoft.com> <ad99d8ce0911130909m1f098dfcn3f4e8c8b95b6852c@mail.gmail.com> <00F01C33-AE49-4A79-A003-1EBA37FE788B@icesoft.com>
Date: Fri, 13 Nov 2009 10:04:13 -0800
Message-ID: <ad99d8ce0911131004m7f2840d9l21622c826b240694@mail.gmail.com>
From: Roberto Peon <fenix@google.com>
To: Ted Goddard <ted.goddard@icesoft.com>
Content-Type: multipart/alternative; boundary="00c09f99e399c86ea20478447c4d"
X-System-Of-Record: true
Cc: "hybi@ietf.org" <hybi@ietf.org>, "Thomson, Martin" <Martin.Thomson@andrew.com>
Subject: Re: [hybi] channel alternatives
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: Fri, 13 Nov 2009 18:03:48 -0000

On Fri, Nov 13, 2009 at 9:41 AM, Ted Goddard <ted.goddard@icesoft.com>wrote:

>
> On 2009-11-13, at 10:09 AM, Roberto Peon wrote:
>
>  Speaking as the person who would be responsible for much of the work of
>> sticking sctp in for google, the greatest challenges are seemingly the home
>> routers/nat devices. Both server and client-side changes are trivial when
>> using the sockets API.
>>
>
> Start by tunnelling SCTP over UDP?  Home users would
> be willing to open a UDP port on their router if it
> improved their browsing experience.


It'd be great if this would be deployed :). UDP certainly seems like one of
the most likely ways to deploy SCTP.
Given how much pain various browsers (including mobile browsers) have caused
me, though, I remain pessimistic about users doing anything en-mass unless
things completely cease to function without it. They don't know the
technology that makes things work, and they don't want to. They just
(understandably) want it to work, and leave the rest to the
specialists/experts!


>
>  Note that our research Haas found that multiplexing itself may actually be
>> harmful... it is multiplexing plus client assigned priorities that seems to
>> be the winning combination.
>>
>
> A priority header could also be added alongside an
> HTTP request identifier.


Certainly that could work too.. so long as you always get priorities with
multiplexing, you get some of the benefits that we've exhibited
experimentally with SPDY. Note that while multiplexing+priorities helps
everyone, it helps high-bandwidth clients more (as they're more likely to be
affected by head-of-line blocking).
Header text compression is the big win for users on slower links.


>
>
>  If all my wishes came true tomorrow, Sctp would be widely deployed, would
>> give userspace applications easy access to a representation of bytes in
>> flight, cwnd, and other important connection properties...and would support
>> channel bases priorities.
>>
>> The connection properties are interesting for varying server and client
>> behavior to better serve the user. I really want to send data to someone
>> using a satellite uplink fir data differently than a mobile user, or someone
>> with a nearly lossless 100 Mb link!
>>
>
> That's true, the application should react differently
> depending on the capacity.  Discovering the capacity
> quickly would seem to require a combination of client
> and server hints together with feedback from the
> connection.  The application-level API for this might
> not be simple -- it may be analogous to the transition
> from single threaded to multi-threaded APIs.  Do you
> have a version of this in a SPDY API?
>
> Ted.


Unfortunately no-- that is too low level. SPDY looks like HTTP for the
application users.
As far as accessing that info, we have modified linux kernels that allow for
userspace access to some of that information. We hope that we can
communicate some of this back to the client (as servers are FAR more likely
to change to a new kernel, etc. than the majority of users out there) and
thus both sides can profit from the information... but it is just an idea
right now. No implementation yet exists (we're too busy trying to open
source and deploy what we have already!).

-=R


>
>
>
>
>
>>  On Nov 13, 2009 8:47 AM, "Ted Goddard" <ted.goddard@icesoft.com> wrote:
>>>
>>>
>>> On 2009-11-12, at 7:45 PM, Thomson, Martin wrote:
>>>
>>> I’m also increasingly of the view that channels-based protocols aren’t
>>> necessarily the right way to solve head-of-line blocking problems.  There
>>> are other methods that do not demand the same overheads.  For instance, a
>>> simple request identifier can be used for request-response correlation.
>>>
>>> A request identifier (say, as an HTTP header) appears to
>>> have a number of useful properties:
>>>
>>>  - it can be optionally specified, so only clients
>>>   supporting the feature need be aware of it
>>>  - it can be ignored by the server, so server implementation
>>>   is also optional
>>>  - there is no latency for channel setup; uniqueness of the
>>>   identifier can be a client responsibility, so there is
>>>   no negotiation cost
>>>  - the same identifier can be applied to chunked responses,
>>>   allowing large responses to be interleaved
>>>
>>> Would an existing HTTP proxy be confused by interleaved,
>>> "identified" chunks?
>>>
>>> I’m actually more excited about the prospect of getting HTTP over SCTP.
>>>
>>> What if google began providing their current services over
>>> SCTP?  This will need a critical mass to get started.  (There
>>> is also the small problem of missing SCTP client stacks.)
>>>
>>> Ted.
>>>
>>>
>>> _______________________________________________
>>> hybi mailing list
>>> hybi@ietf.org
>>> https://www.ietf.org/mailman/listinfo/hybi
>>>
>>
>>
>
>