Re: [hybi] Call for Consensus: draft-tyoshino-hybi-websocket-perframe-deflate as WG Item

Brian <theturtle32@gmail.com> Fri, 02 March 2012 00:58 UTC

Return-Path: <theturtle32@gmail.com>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6C30B21F8ABD for <hybi@ietfa.amsl.com>; Thu, 1 Mar 2012 16:58:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.598
X-Spam-Level:
X-Spam-Status: No, score=-3.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x76uQIPmxF94 for <hybi@ietfa.amsl.com>; Thu, 1 Mar 2012 16:58:49 -0800 (PST)
Received: from mail-tul01m020-f172.google.com (mail-tul01m020-f172.google.com [209.85.214.172]) by ietfa.amsl.com (Postfix) with ESMTP id 6C52721F8ABB for <hybi@ietf.org>; Thu, 1 Mar 2012 16:58:49 -0800 (PST)
Received: by obbeh20 with SMTP id eh20so1668321obb.31 for <hybi@ietf.org>; Thu, 01 Mar 2012 16:58:49 -0800 (PST)
Received-SPF: pass (google.com: domain of theturtle32@gmail.com designates 10.60.4.71 as permitted sender) client-ip=10.60.4.71;
Authentication-Results: mr.google.com; spf=pass (google.com: domain of theturtle32@gmail.com designates 10.60.4.71 as permitted sender) smtp.mail=theturtle32@gmail.com; dkim=pass header.i=theturtle32@gmail.com
Received: from mr.google.com ([10.60.4.71]) by 10.60.4.71 with SMTP id i7mr2768159oei.39.1330649929135 (num_hops = 1); Thu, 01 Mar 2012 16:58:49 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=xoU2H1Fw4gqLuG9oWjFvzKbLvOZsoVRaZvntBBnGM2U=; b=v8A5wQPZ3fA5xSEgPY54uPeXb1LpV3N/VeQCt56occBvWHg+QDy3B9i+c9Oo7DNrSi iu9mBd9mmA6MxOHaJuaGO/p6Lsr3UjK/Lp5/QsSFF6wOAZngspiynbEO9v+YGOzRHMd7 uVPF+t2/EVvnWg8KEx3igfqbhE+/+xmdzCJ3kT+fhn9lhSnKImHmdVm04pOGxS/4KBLo 6/9P0RbGQ/7/f1jcHAneM4nE7/0hNVOwbQ3mYafRhGgiTCCuJw+f6yIRT0HISrL8u9es jBlxfgGOiBOJRKJoqI4PBVSsOaf2wXQiI3olRad4dCcyQkF3DtjatoRgcDL8Nv5kBmUC 8Dlw==
MIME-Version: 1.0
Received: by 10.60.4.71 with SMTP id i7mr2405603oei.39.1330649929011; Thu, 01 Mar 2012 16:58:49 -0800 (PST)
Received: by 10.182.89.74 with HTTP; Thu, 1 Mar 2012 16:58:48 -0800 (PST)
In-Reply-To: <CAH_y2NHyp_1ZKVR18QDZMW0EB2X18UCNfv140RuFDfMThsHs1w@mail.gmail.com>
References: <4F4C8568.7070403@ericsson.com> <CAH_y2NF0mG9+PWotJmG0e4trgSxhOtaoGXLeeQUS1Tn5zpZuYQ@mail.gmail.com> <CAH9hSJakzY8RAHgBgQbjGq4GvPJFdrtS8TXt_aUqjiwZCOZR-g@mail.gmail.com> <CABLsOLAZe3d3BXWMEvTL-nHAMRzXJ_F-eSCUnjdsN99CTnL99g@mail.gmail.com> <CAH_y2NHyp_1ZKVR18QDZMW0EB2X18UCNfv140RuFDfMThsHs1w@mail.gmail.com>
Date: Thu, 01 Mar 2012 16:58:48 -0800
Message-ID: <CAE8AN_XfYsqG6Vc6hd4=iu7hfk=gJ++JdYoJyvsQ3qHHRNW+MQ@mail.gmail.com>
From: Brian <theturtle32@gmail.com>
To: Greg Wilkins <gregw@intalio.com>
Content-Type: multipart/alternative; boundary="e89a8fb1ee1256d31704ba381451"
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] Call for Consensus: draft-tyoshino-hybi-websocket-perframe-deflate as WG Item
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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, 02 Mar 2012 00:58:50 -0000

I like option "d."  One framing byte of overhead is practically nothing and
enables lots of opportunities for tuning and control.  If the byte of
overhead is too much for some people, perhaps there could be a
configuration parameter during the handshake to allow the user to opt into
across-the-board compression settings that would eliminate the byte and
just apply to every frame.  That would allow users with
consistently compressible data to eliminate the one byte overhead.

Alternatively, we could define a control frame to configure the compression
extension that could turn the per-frame control byte on or off.

Brian

On Thu, Mar 1, 2012 at 4:11 PM, Greg Wilkins <gregw@intalio.com> wrote:

>
>
> On 2 March 2012 09:26, John Tamplin <jat@google.com> wrote:
>
>> On Thu, Mar 1, 2012 at 3:04 PM, Takeshi Yoshino <tyoshino@google.com>wrote:
>>
>>> I also wonder if it's useful to make it able to negotiate whether to use
>>> compression bit or not on opening handshake.
>>>
>>
>> Personally, I think that complicates things too much.  When we reserved
>> the bit, one of the things we were reserving it for was per-frame
>> compression.
>
>
> I agree - we should either use a reserve bit or not - optional use is
> probably the worst of both worlds.
>
>
> The options I see we have are:
>
> a) Just use the bit in this extension.  Any other extension that uses the
> same bit will be incompatible and we leave it undefined how we work that
> out.
> b) Nominate the bit as some kind of general purpose per frame compression
> bit, available to multiple compression extensions.
> c) Come up with a system of dynamically allocated reserved bits. The
> extension requests to use a bit and the server allocates one and indicates
> which in the handshake response.  This would allow multiple reserve bit
> using extensions to co-exist... up until our limit of reserved bits.
> d) Don't use a reserved bit.  Use the first byte of the payload to
> indicate if the frame is compressed or not.
> e) Don't use a reserved bit. Compress all frames.
>
> I see c) as probably too complex and too limited to be worth the effort.
> So failing dynamic reserve bit allocation, I think if we don't allocate a
> reserved bit for frame compression, then we will never allocate them for
> anything.
> If we don't allocate a reserved bit, I think there is enough previous
> discussions to show that e) compress everything is not optimal.   d) is not
> too bad, specially if meanings could be assigned to other bits in that byte
> (eg a reset dictionary bit, a use dictionary but don't update it bit etc.)
>
> So I think b) or d) are viable options
>
> cheers
>
>
>
>
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi
>
>