[ogpx] The Urgent Need For Protocol Negotiation (Was: Beyond the monolithic client protocol endpoint)
Carlo Wood <carlo@alinoe.com> Mon, 07 December 2009 00:20 UTC
Return-Path: <carlo@alinoe.com>
X-Original-To: ogpx@core3.amsl.com
Delivered-To: ogpx@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix)
with ESMTP id C65803A69BC for <ogpx@core3.amsl.com>;
Sun, 6 Dec 2009 16:20:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.555
X-Spam-Level:
X-Spam-Status: No, score=0.555 tagged_above=-999 required=5 tests=[AWL=-1.629,
BAYES_40=-0.185, HELO_EQ_AT=0.424, HOST_EQ_AT=0.745, J_CHICKENPOX_34=0.6,
J_CHICKENPOX_36=0.6]
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 Wl6FocjUQcVh for
<ogpx@core3.amsl.com>; Sun, 6 Dec 2009 16:20:19 -0800 (PST)
Received: from viefep15-int.chello.at (viefep15-int.chello.at [62.179.121.35])
by core3.amsl.com (Postfix) with ESMTP id E48493A69D0 for <ogpx@ietf.org>;
Sun, 6 Dec 2009 16:20:15 -0800 (PST)
Received: from edge05.upc.biz ([192.168.13.212]) by viefep15-int.chello.at
(InterMail vM.7.09.01.00 201-2219-108-20080618) with ESMTP id
<20091207002004.XXFX10074.viefep15-int.chello.at@edge05.upc.biz> for
<ogpx@ietf.org>; Mon, 7 Dec 2009 01:20:04 +0100
Received: from mail9.alinoe.com ([77.250.43.12]) by edge05.upc.biz with edge
id E0L21d08F0FlQed050L31L; Mon, 07 Dec 2009 01:20:04 +0100
X-SourceIP: 77.250.43.12
Received: from carlo by mail9.alinoe.com with local (Exim 4.69) (envelope-from
<carlo@alinoe.com>) id 1NHRHj-0001QQ-PM for ogpx@ietf.org;
Mon, 07 Dec 2009 01:17:03 +0100
Date: Mon, 7 Dec 2009 01:17:03 +0100
From: Carlo Wood <carlo@alinoe.com>
To: ogpx@ietf.org
Message-ID: <20091207001703.GA26539@alinoe.com>
References: <e0b04bba0912051014y1aeea211i2ce3267179c70f1e@mail.gmail.com>
<4B1B785A.9000602@cox.net>
<e0b04bba0912060911i122d62e9o37a7229a2d742ac@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <e0b04bba0912060911i122d62e9o37a7229a2d742ac@mail.gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Subject: [ogpx] The Urgent Need For Protocol Negotiation (Was: Beyond the
monolithic client protocol endpoint)
X-BeenThere: ogpx@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Virtual Worlds and the Open Grid Protocol <ogpx.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ogpx>,
<mailto:ogpx-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ogpx>
List-Post: <mailto:ogpx@ietf.org>
List-Help: <mailto:ogpx-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ogpx>,
<mailto:ogpx-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Dec 2009 00:20:21 -0000
On Sun, Dec 06, 2009 at 05:11:51PM +0000, Morgaine wrote: > It's not up to us to prejudge nor prescribe how VW applications will be > structured. The fact that advanced ones will involve multiple disjoint > processes is a given, and our protocol endpoint design must take that into > account, or it will be obsolete before it is even ready. I'd like to grab this opportunity to recall my proposal for client-server protocol negotiation. I really, really think that this is very important. If we could get the protocol completely right and finished the first time and it would never have to be changed again in the future, because it would suit every possible future demand and desire, then sure, we wouldn't need this... However, apart from that the fact that we'll make mistakes, we certainly can't predict what will be needed in the future! Therefore we really should allow for protocol changes by means of negotiation of optional and mandatory protocol features. I also think that we should use MY proposal for this negotiation; and not some other "protocol negotiation" that just won't cut it once things really start to change. To recall: * The protocol negotiation would allow to shift the protocol base over time to a COMPLETELY arbitrary new protocol (that garantees that any possible future demand CAN be met). * It is possible to keep backwards compatibility for as long as desired (ie, a few years), at which point old clients may be forced to upgrade if they lack then mandatory protocol features. * The proposal comes with a well thought-out sheme of distributed documentation of the protocol (extensions): For documentation purposes there would be the need for one central website having links to the websites of every administration with protocol extensions/enhancements (and from there to documentation of each feature separately). Leaving out the details for now, as they don't really matter imho. Not until we agree that this is something that we want. Having such negotiation defined, the protocol can and will be subject to an evolutionary process: Client coders will think of new features; certain VW's will implement and support those - and the best features will, under user demand, be copied by other grids. Once every grid uses some new feature and every viewer supports it, the feature can be made an integral part of the protocol as if it had been from the very start of it's design. As an example (from IRC (I have been the main developer and coder for undernet IRC for seven years)): In 1993 I introduced "Time Stamps" on undernet to battle net.riding. Today every IRC network uses time stamps, and it's unthinkable that IRC would work without. Other extensions that I added on top of the RFC which have slowly been copied by other networks*) are: bans stop every type of channel flooding; SILENCE stops private flooding at the server of the sender; delayed joins (to allow large event channels with thousands of listeners); "max targets" flood limiting (to slow down mass spamming to one message per 2 minutes); BURST message to synchronize channels on net.join atomically; numeric nicks to stop seven types of possible desyncs as a result of changing nicks in combination of MODE's, etc. But here it stopped... and left me very frustrated about the protocol: IT TURNED OUT TO BE IMPOSSIBLE TO MAKE NEEDED IMPROVEMENTS! Why? Because for subsequent essential improvements I needed to change the client-server protocol and that was IMPOSSIBLE because of the lack of a good client-server protocol negotiation. (After I left, this negotiation was added, but in a bad way, still not allowing for the changes that are really needed). -- Carlo Wood <carlo@alinoe.com> *) Not literally, but the Idea: each IRC network is a completely isolated set of servers, often running their own private server versions, so there is no need for any kind of compatibility there. That is different for the client-server protocol, since the SAME clients connect to different networks (but, as said before-- for a long time any such negotiation was lacking; resulting in hackish ways to "detect" on what network one was ('undernet', 'efnet', 'dalnet') and then guessing what features are needed (as no versioning was being done) for a long time, with uncontrolled wild growth as result. VWRAP will exist of many servers and viewers by *different* administrations/groups that all interconnect however! In that case a good protocol negotion sheme IS needed, from the very start!
- [ogpx] Beyond the monolithic client protocol endp… Morgaine
- Re: [ogpx] Beyond the monolithic client protocol … Lawson English
- Re: [ogpx] Beyond the monolithic client protocol … Morgaine
- [ogpx] The Urgent Need For Protocol Negotiation (… Carlo Wood
- Re: [ogpx] Beyond the monolithic client protocol … David W Levine
- Re: [ogpx] Beyond the monolithic client protocol … Han Sontse
- Re: [ogpx] The Urgent Need For Protocol Negotiati… Joshua Bell
- Re: [ogpx] The Urgent Need For Protocol Negotiati… Meadhbh Hamrick
- Re: [ogpx] The Urgent Need For Protocol Negotiati… Carlo Wood
- Re: [ogpx] The Urgent Need For Protocol Negotiati… Carlo Wood
- Re: [ogpx] The Urgent Need For Protocol Negotiati… Suzy Deffeyes
- Re: [ogpx] The Urgent Need For Protocol Negotiati… Carlo Wood
- Re: [ogpx] The Urgent Need For Protocol Negotiati… Morgaine