Re: [hybi] Payload only compression extension, again

Takeshi Yoshino <tyoshino@google.com> Wed, 27 July 2011 03:39 UTC

Return-Path: <tyoshino@google.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 DD4D721F8B30 for <hybi@ietfa.amsl.com>; Tue, 26 Jul 2011 20:39:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.976
X-Spam-Level:
X-Spam-Status: No, score=-105.976 tagged_above=-999 required=5 tests=[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.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ABIIuZgvt24O for <hybi@ietfa.amsl.com>; Tue, 26 Jul 2011 20:39:24 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id 2239C21F8B27 for <hybi@ietf.org>; Tue, 26 Jul 2011 20:39:24 -0700 (PDT)
Received: from hpaq11.eem.corp.google.com (hpaq11.eem.corp.google.com [172.25.149.11]) by smtp-out.google.com with ESMTP id p6R3dMfP029136 for <hybi@ietf.org>; Tue, 26 Jul 2011 20:39:23 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1311737963; bh=GBsVDqgkiw2KFOg4mLw3eveBdrs=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Rt5qc/xcFl6MieqfKq/UIvUWzvwuXVp/bi8KfCkx4tCJVtiBlVuvFFPiyceH+WNq1 Bn9e9CJblts9BJdVL6oyQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:from:date: message-id:subject:to:cc:content-type:x-system-of-record; b=b2IUOthR9Cb2FSAJholv4utAoOufz93dn1LPjJtRwiG+zTbvjjNDX1iWo6E0EOuiK ycRTggs5Nik3JpdI4vfQw==
Received: from yxm8 (yxm8.prod.google.com [10.190.4.8]) by hpaq11.eem.corp.google.com with ESMTP id p6R3dBO4000842 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <hybi@ietf.org>; Tue, 26 Jul 2011 20:39:21 -0700
Received: by yxm8 with SMTP id 8so700368yxm.23 for <hybi@ietf.org>; Tue, 26 Jul 2011 20:39:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=D6L/oss5FGkNis8jPz6SJlpY+vDnLAbj/Zyo8I9QSJM=; b=cNtgPoanze+l3HErLsW0h4Hwf10OI62Ljs2i8Xk5zuVj03Wx0Am8TYCW/ICgmqTJNI axEVQQIo9d9z3SguLZ7w==
Received: by 10.150.177.1 with SMTP id z1mr6694470ybe.399.1311737961155; Tue, 26 Jul 2011 20:39:21 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.151.44.11 with HTTP; Tue, 26 Jul 2011 20:39:01 -0700 (PDT)
In-Reply-To: <CABLsOLA7TSTDqxCvbtxOzGOrdOuzMtEc=ysAAvs2CBZm1MrToA@mail.gmail.com>
References: <AANLkTik2LqCC2-ZLLdWNNaQ18ypcQU_5djJobkYtYk6T@mail.gmail.com> <AANLkTik+uh98b0n7U=xrE0Aaa7MyBfZVXSwj+8wfVTKW@mail.gmail.com> <AANLkTinCtDepu+wDt4=8GyXqhfn=SQ7v2SjJhKzP2Mzr@mail.gmail.com> <AANLkTinhw0j5U_tvfCCrcEx=J6b7wBua4XzhWkvthUjL@mail.gmail.com> <BANLkTi=SjQwGQu-3v2wjniyp9DrQ1ZcQdA@mail.gmail.com> <BANLkTi=dqFN-57GV3rYDv4feTAaZFQko1g@mail.gmail.com> <BANLkTikWFwfs0FOuET5ZS1HEzjweNO0_CA@mail.gmail.com> <BANLkTikHXtVM+7nfz60toKTJCXBuMwMC1g@mail.gmail.com> <BANLkTinsMu+Znbg7Fe7+9HZeZg=Q8SwDHg@mail.gmail.com> <4DB8D3B2.8090002@mozilla.com> <BANLkTimE9qYEvBVLGbOsU7YDVGDwHpGjgA@mail.gmail.com> <BANLkTi=L=8r7dCkRa6MTC3AGziZWeM+fpA@mail.gmail.com> <BANLkTi=-msm-ppt1n_2U5+bHoZO1i+Yj7A@mail.gmail.com> <BANLkTikEYhsdcrK1RqQTwjy3yuSVOaw=Dw@mail.gmail.com> <BANLkTimhEai77LC53NFeOhgNzFQes7HS7g@mail.gmail.com> <BANLkTinW8SL-kwJs-ZsJPmqj269dT29N0A@mail.gmail.com> <CAH9hSJYkjiGPM6RihBkF54zFDXFn935Y0T4FU91G6ttekCyBwA@mail.gmail.com> <CALiegfkUa90DP=YAHJuyQK=CrMs4MoSguxca60fuxM16GgYr8w@mail.gmail.com> <CABLsOLAkdxrGJzqvmoBSxF3QH_zqjg2DHzW2TkfJC+iYiSXKrg@mail.gmail.com> <CAH9hSJZmdSU0j5WETz2A339Gbe=7BTp3VXfie0VChboQoJ=Pjw@mail.gmail.com> <CAH_y2NG6uWp_Utu_0NRXUA2-i+sMdFjDWnf42zM0JaOzojcXiA@mail.gmail.com> <CAH9hSJbS+y8+742OC0fc_1Hy8VgopPSG7yN+BgBCx4CY+kzGnQ@mail.gmail.com> <CABLsOLCk9DHHwk=NumpNruCgso5nr6_QwaLtfiZJ-m0Tp7vm_Q@mail.gmail.com> <CAH_y2NEYmvGPESMyKgMCHOXC1Yp1-cpbZH=X-zhMAhKTRsKgKQ@mail.gmail.com> <CAE8AN_VuTFi5OrOW7md1L_Ggqvyx9_8VPu+0LE6t9j31mHYcnQ@mail.gmail.com> <CAH9hSJYhenXHobhmL+sdmRp-b5BRWQUmj3V1oridcMma233zOA@mail.gmail.com> <CABLsOLA7TSTDqxCvbtxOzGOrdOuzMtEc=ysAAvs2CBZm1MrToA@mail.gmail.com>
From: Takeshi Yoshino <tyoshino@google.com>
Date: Wed, 27 Jul 2011 12:39:01 +0900
Message-ID: <CAH9hSJYCAiFBgr3MJ3f+49qgRpy-ZBnGe_4Sy-qLd5AgTvzHSQ@mail.gmail.com>
To: John Tamplin <jat@google.com>
Content-Type: multipart/alternative; boundary="000e0cd6a910368e1904a904cbc9"
X-System-Of-Record: true
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] Payload only compression extension, again
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: Wed, 27 Jul 2011 03:39:25 -0000

On Wed, Jul 27, 2011 at 00:11, John Tamplin <jat@google.com> wrote:

> On Tue, Jul 26, 2011 at 10:23 AM, Takeshi Yoshino <tyoshino@google.com>wrote:
>
>> Additionally, I'd like to propose one more parameter.
>>
>> - No compression context sharing option
>> -- though I'm claiming that compression context sharing across frames is
>> good, it's sometimes harmful for intermediaries
>> -- for load balancers that dispatches WebSocket frames to different
>> backends, shared compression context means that the load balancer have to
>> perform decompression. it's burden in terms of both memory pressure and CPU
>> power.
>> -- So, I'd add parameter "finish_at_eof" to allow such intermediaries to
>> ask clients not to keep using the same compression context across frames
>>
>
> The problem is that if you don't share compression state across frames,
> then it becomes critical to not try and compress incompressible content.
>  Look at the experiment data I presented in that same thread -- it is very
> easy for frame sizes to go up if you aren't sharing compression state, so I
> think if this option is included we have to decide now how to turn off
> compression on a frame-by-frame basis rather than delaying it for a future
> extension.  In contrast, if compression state is maintained across frames,
> it is still usually a win even on incompressible content because different
> frames have redundancy, and the loss is never bad.
>
>
First, I'd like to make it clear that I intended to make this option one-way
property (i.e. if S included this, no shared-context in C->S direction but
allowed for C<-S direction).

I think it's still ok that clients choose to just compress everything.

With this option, service providers have two choices
1) put this option in extension response to reject shared context while
taking in the possible low efficiency you explained
2) reject compression completely

Inclusion of this parameter implies that the server-side thinks it's more
important to reject shared context than losing compression efficiency.
Looking at your experiment, for some app, there's still some gain from
frame-by-frame compression.

Without this option, they can take only 2).

That's all, I think.


> I would prefer, for the initial version, to simply have load balancers that
> can't maintain compression state to simply refuse compression.
>
> --
> John A. Tamplin
> Software Engineer (GWT), Google
>