Re: [hybi] Payload only compression extension, again

Takeshi Yoshino <tyoshino@google.com> Tue, 26 July 2011 14:23 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 32C0321F8BBA for <hybi@ietfa.amsl.com>; Tue, 26 Jul 2011 07:23:31 -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 0LDcsMlzXp6X for <hybi@ietfa.amsl.com>; Tue, 26 Jul 2011 07:23:30 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by ietfa.amsl.com (Postfix) with ESMTP id 4B63F21F8B9E for <hybi@ietf.org>; Tue, 26 Jul 2011 07:23:30 -0700 (PDT)
Received: from hpaq1.eem.corp.google.com (hpaq1.eem.corp.google.com [172.25.149.1]) by smtp-out.google.com with ESMTP id p6QENTjs016477 for <hybi@ietf.org>; Tue, 26 Jul 2011 07:23:29 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1311690209; bh=nLUoZW6Q5hRvIQ489kSKY6QaQ/Q=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Content-Type; b=YrzdSiMQxLh3Ilh2k97ngWQhsEgXQFHbwg9Hn3RT2rKABER47dSRwfr5mJqn32nYO 7/Q3u3Tm6to7e2Q4I2PAw==
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:content-type:x-system-of-record; b=jAvmHN0WN02ybzI296fPMKjNc0yQad/6lJycVUYoTj+U4sbl0M2WQxJmkKpZbmzuS S8uf5QiKNoB1/7232l6Cw==
Received: from ywp31 (ywp31.prod.google.com [10.192.16.31]) by hpaq1.eem.corp.google.com with ESMTP id p6QENGbB010655 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <hybi@ietf.org>; Tue, 26 Jul 2011 07:23:27 -0700
Received: by ywp31 with SMTP id 31so267119ywp.3 for <hybi@ietf.org>; Tue, 26 Jul 2011 07:23:27 -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 :content-type; bh=rnmN68zOYZK/AytGhhXUT8ogw1Ot8ESXxrFti6vdgpE=; b=PWIKSBLvGDpv2Q2ESD/0B/nywKErj242mWzbXT+SI6Cyg55B4Bu5bIqGSYnBamLme8 1Tw61p3nTVGuOyEpRskg==
Received: by 10.151.50.15 with SMTP id c15mr5799214ybk.285.1311690206188; Tue, 26 Jul 2011 07:23:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.151.44.11 with HTTP; Tue, 26 Jul 2011 07:23:06 -0700 (PDT)
In-Reply-To: <CAE8AN_VuTFi5OrOW7md1L_Ggqvyx9_8VPu+0LE6t9j31mHYcnQ@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>
From: Takeshi Yoshino <tyoshino@google.com>
Date: Tue, 26 Jul 2011 23:23:06 +0900
Message-ID: <CAH9hSJYhenXHobhmL+sdmRp-b5BRWQUmj3V1oridcMma233zOA@mail.gmail.com>
To: "hybi@ietf.org" <hybi@ietf.org>
Content-Type: multipart/alternative; boundary="001517570906cb948f04a8f9aca6"
X-System-Of-Record: true
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: Tue, 26 Jul 2011 14:23:32 -0000

Thanks all. It seems that we'd
- add COMP bit
but for now
- leave advanced API, heuristics unspecified

And, as discussed in this thread a year ago
http://www.ietf.org/mail-archive/web/hybi/current/msg01810.html
I'm planning to add some parameters to this extension.

- Max size of LZ77 sliding window (and any other DEFLATE parameter if
useful)
-- requiring 32kB window for each connection might cause inacceptable memory
pressure for large scale system with lots of connection or embed system with
small memory
--- see the result of experiment done by spdy folk
https://spdy-dev.googlegroups.com/attach/4051c1467338d389/zlib_20100202.html?view=1&part=4
-- So, I'd add parameter "window_bits" to allow such endpoint to limit
sliding window size used by the other peer
-- if it's hard to get this negotiation into spec soon, the spec may
initially suggest some default values and limit based on these
investigation. Say, "endpoints MUST use sliding window of 2^12 or smaller".

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