Re: [hybi] how do we move forward on agreeing on framing?

"Shelby Moore" <shelby@coolpage.com> Fri, 20 August 2010 06:37 UTC

Return-Path: <shelby@coolpage.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 013963A683A for <hybi@core3.amsl.com>; Thu, 19 Aug 2010 23:37:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.948
X-Spam-Level:
X-Spam-Status: No, score=-1.948 tagged_above=-999 required=5 tests=[AWL=0.651, BAYES_00=-2.599]
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 gSTI+1iBnw-q for <hybi@core3.amsl.com>; Thu, 19 Aug 2010 23:37:40 -0700 (PDT)
Received: from www5.webmail.pair.com (www5.webmail.pair.com [66.39.3.83]) by core3.amsl.com (Postfix) with SMTP id 967633A681B for <hybi@ietf.org>; Thu, 19 Aug 2010 23:37:40 -0700 (PDT)
Received: (qmail 12861 invoked by uid 65534); 20 Aug 2010 06:38:14 -0000
Received: from 121.97.54.174 ([121.97.54.174]) (SquirrelMail authenticated user shelby@coolpage.com) by sm.webmail.pair.com with HTTP; Fri, 20 Aug 2010 02:38:14 -0400
Message-ID: <eeb8535abdbd1a84a0798f3392660ce7.squirrel@sm.webmail.pair.com>
Date: Fri, 20 Aug 2010 02:38:14 -0400
From: Shelby Moore <shelby@coolpage.com>
To: Dave Cridland <dave@cridland.net>
User-Agent: SquirrelMail/1.4.20
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-Priority: 1 (Highest)
Importance: High
Cc: hybi@ietf.org
Subject: Re: [hybi] how do we move forward on agreeing on framing?
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: shelby@coolpage.com
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, 20 Aug 2010 06:37:42 -0000

Critical point follows...

>>> I don't think that is the case since I'm likely to have to
>>> load-balance millions or billions of connections and not have the
>>> ability to modify or place interesting requirements on the servers
>>> while remaining competitive.

> Shelby Moore wrote:
>> However, we can access probabilities, and thus prioritize [snip]
>> so as to reduce conflation errors that accumulate as brittle
>> complexity inertia.
>>
>> Are you designing an orthogonal layer in a protocol stack (correct
>> engineering) [snip] ?

> Francis Brosnan Blázquez wrote:
>> While I see interesting the case you are exposing (zillions of
>> connections), it does not make it a representative case at all. As you
>> know, good protocol design is based on function delegation: each layer
>> makes a particular defined function.

> Actually, good protocol design is about making stuff that works.
> Anything else is very much a secondary consideration, and while certain
> principles are useful, the one I'm most concerned with is the end-to-end
> principle, which (loosely) states that you minimize the amount of smarts
> in intermediaries, and force complexity to the ends.

http://en.wikipedia.org/wiki/End-to-end_principle

That applies to fragmentation but not multiplexing, because fragmentation
is required by all ends (i.e. there is no minimum frame size that can be
guaranteed to go through all "dumb" networks), whereas multiplexing is an
optimization not required by all possible ends.

A key point about multiplexing is that the "dumb" network can route it
even when it is not in the base protocol the network understands?  In
other words, only the two ends that agree to multiplex, need to know that
there is a multiplexing capable protocol layer on top of the base
protocol.

Fragmentation must be in the base protocol and multiplexing MUST not be,
if you want to follow correct and enduring engineering principle of
maximizing re-use and interoperability.

>> I still believe WS should focus more on transport features and let
>> application protocols on top of it to complete the work....
>>
>> ...because it will be always better than any solution worked by the WG.
>> In other words: let the people to choose what to place on top of WS.

> No, because it means that intermediaries need to work higher up the
> stack in order to do things like multiplexing and refragmentation, both
> of which are very low-level tasks.

The intermediaries are the ends in the case of multi-plexing, because
beyond them, the data has been de-multiplexed and is now just pure base
protocol. In other words, multi-plexing is NOT a low-level task.

And as explained above, fragmentation is a low-level task.