Re: [ogpx] Tourist use case

Joshua Bell <josh@lindenlab.com> Fri, 30 October 2009 17:23 UTC

Return-Path: <josh@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 52D863A6836 for <ogpx@core3.amsl.com>; Fri, 30 Oct 2009 10:23:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.609
X-Spam-Level:
X-Spam-Status: No, score=-1.609 tagged_above=-999 required=5 tests=[AWL=0.367, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
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 aMWN3-zw4Bwl for <ogpx@core3.amsl.com>; Fri, 30 Oct 2009 10:23:30 -0700 (PDT)
Received: from mail-iw0-f202.google.com (mail-iw0-f202.google.com [209.85.223.202]) by core3.amsl.com (Postfix) with ESMTP id 06C2B3A67BD for <ogpx@ietf.org>; Fri, 30 Oct 2009 10:23:29 -0700 (PDT)
Received: by iwn40 with SMTP id 40so2541141iwn.32 for <ogpx@ietf.org>; Fri, 30 Oct 2009 10:23:43 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.28.143 with SMTP id m15mr5386083ibc.23.1256923423838; Fri, 30 Oct 2009 10:23:43 -0700 (PDT)
In-Reply-To: <e0b04bba0910300029jd385ea7s1ab66a6d67b084d4@mail.gmail.com>
References: <9b8a8de40910160034j11dcb94fm401f29814aed60a8@mail.gmail.com> <3a880e2c0910160116g7a7e488fpe03b10d9b534aa35@mail.gmail.com> <9b8a8de40910160635j268ef9c9mae55781221c94d7e@mail.gmail.com> <20091029134353.GB2298@alinoe.com> <e0b04bba0910300029jd385ea7s1ab66a6d67b084d4@mail.gmail.com>
Date: Fri, 30 Oct 2009 10:23:43 -0700
Message-ID: <f72742de0910301023i266832d3ta7c96cc13985e959@mail.gmail.com>
From: Joshua Bell <josh@lindenlab.com>
To: ogpx@ietf.org
Content-Type: multipart/alternative; boundary=00151774126c3011e304772a4a60
Subject: Re: [ogpx] Tourist use case
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: Fri, 30 Oct 2009 17:23:31 -0000

On Fri, Oct 30, 2009 at 12:29 AM, Morgaine
<morgaine.dinova@googlemail.com>wrote;wrote:

>
> This directly implies that asset services must be quite separate from ADs.
> Although we haven't spelled it out, clients must have access to an arbitrary
> list of asset services, because as agents travel around the VWRAP-compatible
> metaverse, the regions they visit will contain objects from an arbitrary
> number of asset service providers.
>
> *Without access to these asset services, the visited regions would not be
> visualizable at all.  And denying visualization is no business of the AD's.
>  * This makes it clear that access to asset services should not be
> mediated by the AD at all --- the AD's role should be limited to allowing or
> denying entrance to a region.  Once inside a region, it is the region that
> offers capabilities for access to the asset services of assets within the
> region.
>

After reading this a few times, I agree with the high level sentiment - but
be careful regarding the terminology, as specific wording tripped me up the
first few times through.

In the SL protocol today, clients only ever communicate with a region. It's
the region's responsibility to provide the data for what the agent sees.
This occurs both for items that would be considered aspects of the region
(chairs, buildings, trees, waterfalls) and "transient" items (other avatars
with attachments). The region exposes a data source (today, the
byte-efficient but fairly grotesque family of UDP packets) of the
description of objects (prims, textures, sourds, animations, ...) which the
client consumes.

Behind the scenes, the region may be pulling those object definitions from
an asset service, or they may be present in the region definition itself.
The client is unaware of this - it's hidden behind the services the region
exposes.

Now for the terminology bit: we can call the services the region is exposing
"asset services" but these could be quite distinct from the sorts of things
present in an agent's inventory. One phrase that's potentially confusing is
"the regions they visit will contain objects from an arbitrary number of
asset service providers" - while I agree with the high-level interpretation
of that statement, I think it paints a picture that as you're exploring a
region, the client is *necessarily* going off and making connections to a
variety of asset servers to fetch the data.

I don't think VWRAP should *preclude* that (I imagine it's only sensible for
things like textures to be referenced by URLs which could be coming off of
any old place), but my initial reading of your text was that the client
would necessarily be fetching things from external asset services. For
example, if I buy a chair on FooGrid and drop it on BarGrid, when you visit
BarGrid you're having to ask FooGrid's asset service for the description.
Again, I think that's *conceivable*, but shouldn't be *necessary*. (And I
don't think you're claiming that - but my first read-through came away with
that impression.)

And, of course, one can conceive of clients that implement a policy of not
trusting FooGrid for anything and wouldn't make such a connection - FooGrid
could be blacklisted by some large search company, my ISP, or perhaps my AD.


Indeed, but fortunately it hasn't been proposed that asset services be part
> of the agent service in VWRAP.  The legacy SL model of assets and
> inventories clearly doesn't apply in our extended scenarios, and the OGP
> documents never covered asset services at all, so we're defining the asset
> services and inventory model of VWRAP as we speak. :-)
>

Be careful about blurring the use of "asset services" between "stuff in
regions" and "stuff I have". I think there is a big intersection - and may
have the same characteristics and/or protocols, but I also think they are
are distinct. I would guess that there will be asset services associated
with both agents and regions - off the top of my head:

Uses of an agent-associated "asset" service:
* content to client app (inspect your inventory)
* content from client app (upload/import to inventory)
* content to region (rez something)
* content from region (buy/take something)
* content to agent (give something)
* content from agent (receive something)

Uses of an region-associated "asset" service:
* content to client app (see the world)
* content from client app (upload/import to region)
* content to region (during teleport/region crossing)
* content from region (during teleport/region crossing)
* content to agent (buy/take something)
* content from agent (rez something)

I'm using "asset" in quotes since that term may be overloaded. "Content"
might be a better term.