Re: [ogpx] The Urgent Need For Protocol Negotiation (Was: Beyond the monolithic client protocol endpoint)

Carlo Wood <carlo@alinoe.com> Mon, 07 December 2009 20: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 6048328C1D6 for <ogpx@core3.amsl.com>; Mon, 7 Dec 2009 12:01:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.622
X-Spam-Level:
X-Spam-Status: No, score=-0.622 tagged_above=-999 required=5 tests=[AWL=0.808, 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 pqIly6MAJbci for <ogpx@core3.amsl.com>; Mon, 7 Dec 2009 12:01:42 -0800 (PST)
Received: from viefep15-int.chello.at (viefep15-int.chello.at [62.179.121.35]) by core3.amsl.com (Postfix) with ESMTP id 13ED628C1A7 for <ogpx@ietf.org>; Mon, 7 Dec 2009 12:01:41 -0800 (PST)
Received: from edge03.upc.biz ([192.168.13.238]) by viefep15-int.chello.at (InterMail vM.7.09.01.00 201-2219-108-20080618) with ESMTP id <20091207200131.XAYD10074.viefep15-int.chello.at@edge03.upc.biz>; Mon, 7 Dec 2009 21:01:31 +0100
Received: from mail9.alinoe.com ([77.250.43.12]) by edge03.upc.biz with edge id EL1T1d08m0FlQed03L1VSd; Mon, 07 Dec 2009 21:01:31 +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 1NHjiz-0006H9-PF; Mon, 07 Dec 2009 20:58:25 +0100
Date: Mon, 7 Dec 2009 20:58:25 +0100
From: Carlo Wood <carlo@alinoe.com>
To: Joshua Bell <josh@lindenlab.com>
Message-ID: <20091207195825.GA23549@alinoe.com>
References: <e0b04bba0912051014y1aeea211i2ce3267179c70f1e@mail.gmail.com> <4B1B785A.9000602@cox.net> <e0b04bba0912060911i122d62e9o37a7229a2d742ac@mail.gmail.com> <20091207001703.GA26539@alinoe.com> <f72742de0912071030k22cae4d1xd4100ecd823373af@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f72742de0912071030k22cae4d1xd4100ecd823373af@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: Mon, 07 Dec 2009 20:01:43 -0000

On Mon, Dec 07, 2009 at 10:30:25AM -0800, Joshua Bell wrote:
> Am I correct that this represents the previous discussion on the topic?
> 
> Carlo's post:
> 
> http://www.ietf.org/mail-archive/web/ogpx/current/msg00363.html
> 
> Meadhbh's reply:
> 
> http://www.ietf.org/mail-archive/web/ogpx/current/msg00362.html
> 
> Can you respond to Meadhbh's comments? Dealing with version skew is addressed
> at various levels in the protocol drafts already, from presence/absence of
> named capabilities to HTTP nuances to LLSD semantic rules. That's not to say
> that this is sufficient, but it does appear to cover a broad spectrum of
> version skew issues, so identifying those that aren't covered - or those that
> could be addressed more explicitly with numbered versions - would be extremely
> valuable.

Well, the more the protocol as-is allows corrections, improvements and
extensions later on without the need for client (coders) to know what
network/grid they are connected to, and/or what server versions are
being used, because it will all "automatically" work out, the better!

But-- it's very likely that not everything can be handled that way
and that viewers will more and more have to fall back to kludgy
heuristics to guess what new features are demanded or supported
on the current grid they connect to. I state that we CANNOT know
what changes of that type we will need in the future, I just know
that it will happen; that we'll wish that a feature negotiation
was in place from the beginning.

As a coincidence (or is it really a coincidence...) right NOW we
need this (see my other post): At the moment there is a need for
a new capability (the url for the map).

Working:

* If the client doesn't know about it, it won't ask for it (check).

* If the service doesn't know about it it won't return a capability.

Not working:

* 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).

Sure, we can make this work-- in some kludgy way or another--
requiring hardcoding special cases and "grid detection" etc.
But this is just one, or the first of many that will come,
and to deal with that is neat and controlled way, we need
protocol negotiation.

If I'm wrong, and no protocol negotiation will ever be needed,
then we will not have lost anything: the feature tables will
just stay empty and there will not be anything to negotiate.
No harm done.

-- 
Carlo Wood <carlo@alinoe.com>