Re: [hybi] Flow control quota

John Tamplin <jat@google.com> Fri, 08 June 2012 13:03 UTC

Return-Path: <jat@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 DE54621F889B for <hybi@ietfa.amsl.com>; Fri, 8 Jun 2012 06:03:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.976
X-Spam-Level:
X-Spam-Status: No, score=-102.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
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 Nq8ik8LTDs5X for <hybi@ietfa.amsl.com>; Fri, 8 Jun 2012 06:03:42 -0700 (PDT)
Received: from mail-gg0-f172.google.com (mail-gg0-f172.google.com [209.85.161.172]) by ietfa.amsl.com (Postfix) with ESMTP id F1FFB21F8872 for <hybi@ietf.org>; Fri, 8 Jun 2012 06:03:41 -0700 (PDT)
Received: by ggnc4 with SMTP id c4so1417716ggn.31 for <hybi@ietf.org>; Fri, 08 Jun 2012 06:03:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-system-of-record; bh=y0dkYw25aJYQH0DHjpfvPjvG8Ck/EF4jnSJbWauNp8o=; b=Tt04JNI3k1h0qCzR6mm6eH+nKAnv/3/Fk2Zx2aT9w/xWDNgqu3p7E8aHpUcBKAXWDk 2qPtskXd3mzUdFjQJG/TFJg9o48tG0K5sJxN5hh4HaWp/ai275DfCQJfdDbH6yrIg9Vb rz3hflotq4zOPDlMpQhALbSRoIP+SoTXmFakReMk5wc49OlDbhEiM95/tvwSMWMgaSmb c1CgrHCt4PjeT2BAvjTD3rpx+y+T+j+GobGINDkxDyO/4iUj02H1jRtNVmPj+RdvuFjs t5dnv/1l2vv7qTBkRmn6i5qxX6L9aONB0d0QKJ+ZYzXXESuHNj0t/N8UmpIbRZovsy/M 2QFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-system-of-record:x-gm-message-state; bh=y0dkYw25aJYQH0DHjpfvPjvG8Ck/EF4jnSJbWauNp8o=; b=mgomgBuImWZoYWoCbJF57YRpnQdBZ5EF0f9uYnyJNjgs4RQKTfn49tZtQBUuOEu0tJ vsAN0kc3FIjoX1UgYxU6NombPgWs7E+sG2RLON+VGXFQKwQ2+Am3cCWCBFihR3ExtyDD QSuLktLtb78dFrWy+aip4IEvNTtQhYA24ryvcmWpSeSPANwppJfNFl/you9fwHJyKf/5 Bej4CvLGajVndmlEmxyAouPZJUAoZG2EGJi9Qs/vL044INj2LHlaxLanWwyseomPhZFj ATgwA3torN/UkcLQ4EjRlPG/KNCX7bwoUFyBC57VzEP+TM7aisw0r/IA7e34D+Jmbn+r 6J2g==
Received: by 10.50.160.202 with SMTP id xm10mr2862948igb.10.1339160621185; Fri, 08 Jun 2012 06:03:41 -0700 (PDT)
Received: by 10.50.160.202 with SMTP id xm10mr2862930igb.10.1339160621012; Fri, 08 Jun 2012 06:03:41 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.50.46.99 with HTTP; Fri, 8 Jun 2012 06:03:20 -0700 (PDT)
In-Reply-To: <000401cd4566$d5f6bb70$81e43250$@noemax.com>
References: <001a01cd3e69$4a221c10$de665430$@noemax.com> <4FC732DC.3000308@250bpm.com> <000e01cd3f1c$af15ad40$0d4107c0$@noemax.com> <4FC880A7.9070007@250bpm.com> <CAH9hSJaWrUX6gFNLT4xkXLYKHSUH5+Y7AvqN9cD_CwekvsNu3A@mail.gmail.com> <001001cd4000$fe2c82c0$fa858840$@noemax.com> <4FCCAE6B.1010306@250bpm.com> <002d01cd4262$747957b0$5d6c0710$@noemax.com> <20120607022312.GA26406@jl-vm1.vm.bytemark.co.uk> <000e01cd449d$1c0ed220$542c7660$@noemax.com> <CAH_y2NE6+3r_9pkYXhMOiRWfGJXGauEYCqg-8GvtOoCT9Ch0mA@mail.gmail.com> <000401cd4566$d5f6bb70$81e43250$@noemax.com>
From: John Tamplin <jat@google.com>
Date: Fri, 08 Jun 2012 09:03:20 -0400
Message-ID: <CABLsOLDT894V2QTk8Lb6ofc2yLKJh0pLoQ=FKPQhDKuR0uhepQ@mail.gmail.com>
To: Arman Djusupov <arman@noemax.com>
Content-Type: multipart/alternative; boundary="14dae9340eb71cd51904c1f5a15e"
X-System-Of-Record: true
X-Gm-Message-State: ALoCoQklUkLH7bZYkxCCGT2nQ8XVM1Crn2YPmDf8De1k0CghCrebbral7ANBZnAAflzuw2ebuJZx6tNjetkuhCtpehs1qxX+czmzQucl8VpVtTTkqyAbRvQE2NFYzY4XNbE8Trb61EBr
Cc: hybi@ietf.org
Subject: Re: [hybi] Flow control quota
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, 08 Jun 2012 13:03:43 -0000

On Fri, Jun 8, 2012 at 7:06 AM, Arman Djusupov <arman@noemax.com> wrote:

> Since we don't have better ideas, currently I see us having 2 options:
>
> 1. Permit the sender to send above the quota if the frame that has to be
> sent is not fragmentable, resulting in the quota going negative. The sender
> will have to wait for the quota to go positive before it can send the next
> frame. The receiver has to make sure that it supplements the sender's quota
> to a normal flow control window value once it detects that the sender has
> sent a frame above the quota. As long as circumstances are normal the size
> of the frame sent above the quota would be normal (e.g. more or less equal
> to the size of the frames sent previously). If the receiver detects an
> abuse
> of this functionality it may discard all frames and drop the logical
> channel.
>
> 2. Permit the mux extension to fragment frames of any type and to
> reassemble
> those frames to their original state on the receiving side. This is
> probably
> the most flexible solution in case if we can find an optimal format for
> writing those enveloped frames.
>
> A solution for the 2nd option:
> We need to encapsulate frame fragments into a mux message. In this case all
> mux frames would have their FIN bit set to 1 and opCode set to 2 (binary),
> so the payload of a mux frame will be transparent to all intermediaries
> that
> do not support mux. Mux frames would retain the current format and would
> have channelID in their extension data. In addition to that each mux
> message
> that corresponds to the first fragment of the original frame would include
> the frame length, opCode, FIN flag and RSV bits of the original frame;
> subsequent mux frames would include only the payload of the fragment.
>
> This format would introduce an additional overhead of 16 to 72 bits per
> original frame.
>
> This are just some option, I would be happy to read more ideas.


The original mux proposal introducing another framing layer which is
essentially your #2.  I rewrote it to something close to the current
proposal because lots of people didn't like it.

I think the fundamental issue is not having a separate message-level
framing rather than using one layer of framing for both messages and
frames, which was necessary for efficiency with small messages (which data
with the two apps we had at the time, Wave and GwtQuake, indicated would be
the bulk of the frames; it would be interesting to see the data again now
that there are some deployed apps) and to get consensus on simplicity.

-- 
John A. Tamplin
Software Engineer (GWT), Google