Re: [ogpx] Protocol negotiation and evolution

Infinity Linden <infinity@lindenlab.com> Sat, 05 September 2009 14:26 UTC

Return-Path: <infinity@lindenlab.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 780CE3A67D8 for <ogpx@core3.amsl.com>; Sat, 5 Sep 2009 07:26:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.874
X-Spam-Level:
X-Spam-Status: No, score=-1.874 tagged_above=-999 required=5 tests=[AWL=0.103, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
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 L13U+T2wIfRm for <ogpx@core3.amsl.com>; Sat, 5 Sep 2009 07:26:36 -0700 (PDT)
Received: from mail-yw0-f203.google.com (mail-yw0-f203.google.com [209.85.211.203]) by core3.amsl.com (Postfix) with ESMTP id 9EF003A67C1 for <ogpx@ietf.org>; Sat, 5 Sep 2009 07:26:36 -0700 (PDT)
Received: by ywh41 with SMTP id 41so968542ywh.31 for <ogpx@ietf.org>; Sat, 05 Sep 2009 07:26:06 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.150.1.20 with SMTP id 20mr19261923yba.257.1252160766103; Sat, 05 Sep 2009 07:26:06 -0700 (PDT)
In-Reply-To: <3a880e2c0909050724r5f59b4fam971caeb951b61937@mail.gmail.com>
References: <3a880e2c0909031149kda16e64neb4184ca70f59745@mail.gmail.com> <20090905133632.GA18771@alinoe.com> <3a880e2c0909050724r5f59b4fam971caeb951b61937@mail.gmail.com>
Date: Sat, 5 Sep 2009 07:26:06 -0700
Message-ID: <3a880e2c0909050726q31b5777xb03e099a8ef999f7@mail.gmail.com>
From: Infinity Linden <infinity@lindenlab.com>
To: ogpx@ietf.org
Content-Type: text/plain; charset=ISO-8859-1
Subject: Re: [ogpx] Protocol negotiation and evolution
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: Sat, 05 Sep 2009 14:26:37 -0000

whoops. sent this to carlo, but forgot to send this to the list.


the current technique for "feature negotiation" is part of service
establishment. the way it works now is that after authentication or
authorization the service returns a seed capability to the client, and
the client requests named capabilities from the service. if a client
doesn't know how to utilize a particular service, it doesn't request
it. if the service doesn't know how to provide a requested service, it
doesn't return a capability for it. if there are multiple,
incompatible versions of the service, each version gets it's own
distinct capability name.

additionally, to reduce the effect of version skew, we use the
technique described in the MMOX list at
http://www.ietf.org/mail-archive/web/mmox/current/msg00679.html .

for content negotiation for protocol messages carried over HTTP, we
use the HTTP semantics: the client identifies the content type if the
request with the Content-Type: header on the request. if the client
needs a particular content type, it uses the  Accept: header to
identify acceptable content types. And the server uses the
Content-Type: header on the response to identify the content type of
the response. if the server cannot generate a response of the media
type requested, it will send a 415  response.

but more options is always better, so to support situations where the
previous technique doesn't work or isn't appropriate or just to give
options, consider documenting it as a draft, then later we can have
the discussion about integrating it into other drafts or releasing it
as it's own draft.

-cheers
-meadhbh