Re: [ogpx] The Urgent Need For Protocol Negotiation (Was: Beyond the monolithic client protocol endpoint)
Carlo Wood <carlo@alinoe.com> Tue, 08 December 2009 14:01 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 D66053A63D3 for <ogpx@core3.amsl.com>;
Tue, 8 Dec 2009 06:01:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.824
X-Spam-Level:
X-Spam-Status: No, score=-0.824 tagged_above=-999 required=5 tests=[AWL=0.606,
BAYES_00=-2.599, HELO_EQ_AT=0.424, HOST_EQ_AT=0.745]
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 c77EuGyJ7wCV for
<ogpx@core3.amsl.com>; Tue, 8 Dec 2009 06:01:12 -0800 (PST)
Received: from viefep19-int.chello.at (viefep19-int.chello.at [62.179.121.39])
by core3.amsl.com (Postfix) with ESMTP id 5DB003A67A7 for <ogpx@ietf.org>;
Tue, 8 Dec 2009 06:01:11 -0800 (PST)
Received: from edge04.upc.biz ([192.168.13.239]) by viefep19-int.chello.at
(InterMail vM.7.09.01.00 201-2219-108-20080618) with ESMTP id
<20091208140059.MVRG5725.viefep19-int.chello.at@edge04.upc.biz>;
Tue, 8 Dec 2009 15:00:59 +0100
Received: from mail9.alinoe.com ([77.250.43.12]) by edge04.upc.biz with edge
id Ee0w1d0Cu0FlQed04e0xMz; Tue, 08 Dec 2009 15:00:59 +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 1NI0ZG-0001dB-IB; Tue, 08 Dec 2009 14:57:30 +0100
Date: Tue, 8 Dec 2009 14:57:30 +0100
From: Carlo Wood <carlo@alinoe.com>
To: Suzy Deffeyes <suzyq@pobox.com>
Message-ID: <20091208135730.GA4384@alinoe.com>
References: <e0b04bba0912051014y1aeea211i2ce3267179c70f1e@mail.gmail.com>
<4B1B785A.9000602@cox.net>
<e0b04bba0912060911i122d62e9o37a7229a2d742ac@mail.gmail.com>
<20091207001703.GA26539@alinoe.com>
<f72742de0912071030k22cae4d1xd4100ecd823373af@mail.gmail.com>
<20091207195825.GA23549@alinoe.com>
<2bd5b7f10912071540x6f1d797dw9941ace39dcb4b5a@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <2bd5b7f10912071540x6f1d797dw9941ace39dcb4b5a@mail.gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: ogpx@ietf.org
Subject: Re: [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: Tue, 08 Dec 2009 14:01:14 -0000
On Mon, Dec 07, 2009 at 05:40:30PM -0600, Suzy Deffeyes wrote: > > * In the latter case (the service not knowning about it) the viewer > needs to fall back to the old style map on opensim and to a hardcoded > S3 url on Second Life (which DOES support this capability, but just > doesn't know about the "capability" url itself). > > * Once Linden Lab (or any other grid that will implement the same > way that map works) stops supporting the "old style map", there > is no way to tell the client explicit that THIS "feature" (the > new way of how map works) is now mandatory, other than the > existing method of requiring a minimal *viewer* version... which > of course only works for the few viewers that are supported this > way and which is a very crude way to state that one feature is > now mandatory (bound to fail once there are lots of features > like this to be negotiated). > > > So in the map tile case you mention, if the viewer gets a cap to the new way of > fetching tiles, it wouldn't try to do the old way. Well, if it DOES get a cap, then clearly the service DOES know about the feature, so there is little need for the old style map. > In this particular case, > it seems like getting a cap for http fetch of map tiles deprecates client use > of the old mechanism. Yup. The problem that I tried to demonstrate that needs protocol/feature negotiation is for the case that the server does NOT return a cap. Wouldn't it an ideal world if in the end we'll have One Big Virual World ;) (rethorical question). But, one world or not (and certainly in the case where we have many different worlds) in the end we will have many different branches of servers. Server implementations written by different people, with different goals and ideas. At the client side the same thing will happen. Right now we ONLY have six or so separately maintained viewers; that number will grow a lot in the future up till the point where it is unpractical to maintain communication between client and server coders. If we all can convince ourselves that the standard that we will produce here is THE BEST-- and does not need ANY extensions or extra features, then surely we will decide that what we make here is the Best For Everyone, and Nobody Needs More. However, we are not the (only) server developers of the future, and I predict that there will be a growing number of server developers in the future that WILL feel the need for some new, till then unsupported feature. What is going to happen is that there WILL be a growing set of "features" on top of the VWRAP standard, and no controlled way to communicate all those features to the viewer developers... To make a long story short, it will become a mess. Soon you will only really be able to connect to server type "opensim" if you use their viewer; and only connect to Second Life if you use Linden Lab's viewer. The viewer coders will get frustrated about that, because they want to allow their users to connect whereever. So, they need to make their viewer adjust to the protocol as function of the server type that they connect to. At first, it would be sufficient to add some kludge to detect the major grids (as it works for "their own" viewer), but the growing number of servers and features will make a nightmare of this. Server version detection will be needed, and then the viewer coders will need to start to keep track of which versions of each server-type support what features. The methods used to determine if some feature is optional and whether or not a viewer can or want to use it will also be random (everyone implementing their own way). Some server developers will only support a few viewers and keep a list of versions of those viewers and then "negotiate" the features silently by assuming that viewer MyOwnViewer version 4.35 is compatible and has features A,E,J,M,N,X and Z, while FurryViewer version 1.11 is not compatible but 1.12 is but only supports features A,E,X and Z. Now LittleViewer can't connect at all (except for using the base VWRAP protocol) except by spoofing it's version and saying it is really FurryViewer, however LittleViewer's coder didn't really want to add feature X, rather wanted just to support feature F... Buttom line, this isn't about ONE application (a server) with a compatible viewer (client) that is controlled and maintained by the same people as the server. This is about a large network of servers and clients maintained and developed dynamically by many different groups and we DO NEED TO SUPPORT protocol evolution in order to avoid a complete future mess. If anyone doesn't believe that (or thinks that we can do this with just caps and the other methods already proposed in OGP) then I beg you to add this anyway: if no features are added then we're talking about three or four small, standard messages (two each direction) for each client-server connection, and no harm done. If anyone doesn't WANT this, because they don't want to see the protocol evolve, because a *standard* means that everyone uses the same, and therefore building in ways to add random features would only invite people to make viewers incompatible; then please reconsider. I strongly believe that not adding support will not stop people. Besides, it isn't bad if the protocol changes over time at all imho; look at it as evolution: support for the best features will be added to all viewers and servers, other features won't make it and die again. As long as it is crystal clear who supports what, and the documentation of each and every feature can easily be found back on the web, then I think we only gained. -- Carlo Wood <carlo@alinoe.com>
- [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