Re: [vwrap] Call for a vote on interop BETWEEN independent virtual worlds or not

Morgaine <morgaine.dinova@googlemail.com> Tue, 21 September 2010 03:31 UTC

Return-Path: <morgaine.dinova@googlemail.com>
X-Original-To: vwrap@core3.amsl.com
Delivered-To: vwrap@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D8C2E3A68CD for <vwrap@core3.amsl.com>; Mon, 20 Sep 2010 20:31:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.802
X-Spam-Level:
X-Spam-Status: No, score=-1.802 tagged_above=-999 required=5 tests=[AWL=0.174, 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 5irUsWyYo1nq for <vwrap@core3.amsl.com>; Mon, 20 Sep 2010 20:31:32 -0700 (PDT)
Received: from mail-pz0-f44.google.com (mail-pz0-f44.google.com [209.85.210.44]) by core3.amsl.com (Postfix) with ESMTP id 82A1F3A6844 for <vwrap@ietf.org>; Mon, 20 Sep 2010 20:31:29 -0700 (PDT)
Received: by pzk6 with SMTP id 6so1998763pzk.31 for <vwrap@ietf.org>; Mon, 20 Sep 2010 20:31:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=aSlmamfH0pEv9zDo1a0FIc4pZZ2ekmqH4RVhPAsED5k=; b=qgBoEAeoeP5lSG6EeQXJ0kRxRGVoTwhaNT6JQgNrXYKhtFQuO9Zj1MkcskeZmIL1Cu Aprnjvi1gOmiru3oSknyfrB4sJfJhvsGHG6CuNUwq5CMaZNvqiefw73pqLgxp/ldHCe+ 0Vrio8c5+px2KFMAzgzZq1eWqNBx6NzIlqesk=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=wVA44vB01dHkWMBZa1HsACK+3NeJSQYw+V4hzTfxTvK8CuTTqOs9c8jdG+8sD9T7Vl uGXFSebmuDeINZdajKW5r56Q9fqIkPSbCuCXod9t+eRsTk7Qpk2Q/DgbcYoQr/RnliCr SFxe0t5IfGd5Re2MGDLP/qHy/GGX1ovO8rZbI=
MIME-Version: 1.0
Received: by 10.142.229.16 with SMTP id b16mr8488192wfh.311.1285039913098; Mon, 20 Sep 2010 20:31:53 -0700 (PDT)
Received: by 10.142.154.7 with HTTP; Mon, 20 Sep 2010 20:31:52 -0700 (PDT)
In-Reply-To: <OFD10E5858.C55A07CB-ON852577A5.00024843-852577A5.00027ED4@us.ibm.com>
References: <AANLkTi=C3sWti421=jjRiMfGAV4O8=p3har89cMNExPF@mail.gmail.com> <4C9766E4.9000208@hp.com> <AANLkTinphZSMNGGq00M+BKTbF1ZFVp_3WiWyf8VMFob4@mail.gmail.com> <AANLkTikZ-xQB36oy6mxDmpwn1vv8F2rEXrPNaQ44+a9=@mail.gmail.com> <AANLkTik0j66h4=HDSOD3Two03E5jRKmKCyjJP+gqip_q@mail.gmail.com> <OFD10E5858.C55A07CB-ON852577A5.00024843-852577A5.00027ED4@us.ibm.com>
Date: Tue, 21 Sep 2010 04:31:52 +0100
Message-ID: <AANLkTin1rDh1Vw5Oh+0u73g_AjTc5wkjA9NW_XxmyDsZ@mail.gmail.com>
From: Morgaine <morgaine.dinova@googlemail.com>
To: David W Levine <dwl@us.ibm.com>
Content-Type: multipart/alternative; boundary=000e0cd32ada8add6e0490bcabb2
Cc: vwrap@ietf.org
Subject: Re: [vwrap] Call for a vote on interop BETWEEN independent virtual worlds or not
X-BeenThere: vwrap@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Virtual World Region Agent Protocol - IETF working group <vwrap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/vwrap>, <mailto:vwrap-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/vwrap>
List-Post: <mailto:vwrap@ietf.org>
List-Help: <mailto:vwrap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/vwrap>, <mailto:vwrap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Sep 2010 03:31:36 -0000

Great post, David!

Your formulation makes it easy to show why our earlier problem was indeed a
problem.

You start off with the premise that we're doing interop regardless of the
level of granularity (reasonable), and then you postulate that by examining
sharing of elements across boundaries from small to large we can cover all
the bases of interop (reasonable).  Yes indeed, but the trouble we
encountered yesterday was that that process from small to large had been
halted at the level of granularity of the virtual world.

It was suggested (merely through unfortunate choice of words as we now know)
that at this largest level of granularity, there would be no interoperation
BETWEEN those granules, that this was not our goal.  Using your form of
words, there would be no sharing across the VW boundaries at this level, so
your reasonable process from small to large was being aborted prematurely.
And that's why it was a show-stopper, since no inter-world tourism would
have been possible at the largest scale.  Fortunately this was just a
misunderstanding.

The reason why it was a show-stopper can be described also in terms of *
services*, in direct answer to your question about what changes would be
required in protocols as regions federate into aggregates.  One big change
occurs at the discontinuity caused by singletons.  Irrespective of size, a
virtual world today is most commonly a walled garden that runs a single
asset service for all its regions, a singleton in the asset-handling
protocol.  The change from a singleton to > 1 is not evolutionary, so a
walled garden would have blocked VW interop technically as well as by
policy.

Tourism typically requires regions to handle N+V asset services
simultaneously, where N is the number of asset services Native to the region
(often just 1) and V is the number of distinct asset services introduced to
the region by Visitors concurrently.  It requires these N+V references in
order to avoid having to copy assets to the native asset services(s) as
visitors arrive, because this would be highly non-scalable if performed by
all M worlds in a fully interconnected Mesh of tourist activity.  (N+V is
actually just one of many possible arrangements, but they share the common
design concept that asset service referencing is required to avoid
non-scalable copying and to distribute asset path load across the breadth of
the Internet.)

I like your formulation, and I expect that we can indeed devise a
size-independent protocol that works for all aggregate sizes, as long as the
full gamut of aggregates is treated uniformly.  I am however worried that
your scheme seems (at first glance) to rely on the dreaded proxying of
everything by the current region on behalf of its host world.  I'm sure that
we'll be discussing this issue a lot more in the future. :-)


Morgaine.




=====================================

On Tue, Sep 21, 2010 at 1:27 AM, David W Levine <dwl@us.ibm.com> wrote:

> A lot of words have been spent on this. Let me try to walk through my
> perspective.
>
> One.. yes, of course we're about enabling interop. Whether it's interop
> between "worlds" "regions" "Services" or "forests" I don't think
> changes the specification one whit. What we're about is describing the
> set of services and interactions which enable the deployment of a large
> collection of systems built in a large number of ways.
>
> The core goal is to allow users to share virtual regions, assets and
> services
> across a broad set of boundaries. So, just for one, starting small and
> working up.
>
> The smallest scenario is a single "stand alone" region, which wishes to
> access resources which it doesn't host. To whit, asset, inventory and
> agent services allowing the stand alone region to access items and
> services hosted by others. This, in and of itself is of course interop.
> The stand alone region wants to fetch items and rez them. A user may
> wish to log onto the region with an avatar an inventory hosted from
> other services. The moment we have a region accessing other services
> interopation is occurring. Its not very interesting interoperation
> perhaps but useful things happen.
>
> Now, whether one calls this region a "world" a "region" a "virtual
> space: doesn't much matter. Its a virtual space which wants to access
> services from other service providers.
>
> Multiple virtual regions can be federated to form bigger spaces. The
> cogent questions are:
>
> 1) What actual services are needed to support a set of regions
>
> 2) Are any changes required in the underlying protocols used by
> regains to access services because they are assembled into federations.
>
> 3) What are the user's expectations when moving between regains
> hosted by separate service providers
>
> Thus far, I've seen several publically exposed service which relate to
> federated regions,
>
> 1) the "map" Service. I could also see a possible service which helps
> regions manage placement and adjacency. (But I'm not sure this isn't
> a per deployment choice, as it may not expose any interface needed
> for Interoperability. This may also include "membership" in a basic
> way.
>
> 2) "Federated Seed Cap" which would get you a set of singletons for
> the federated regions. This might include search, currency, a
> default authentication/agent service if the federated regions
> chose to expose it. In short, it makes perfect sense for a set of
> regions to expose the services they share. (Mind you they can also
> do it on a per region basis, but this seems sane to do this way)
>
> I would be delighted to see additional items on this list. The more
> things which distinguishes a federated collection of sims, the more
> clarity is likely to be shed on what we mean when a collection of
> regions is federated.
>
>
> The second question is "Are there any protocol changes" which are
> needed when regions are federated? I ask this in all seriousness.
> Does a region's service interface change because it is part of a
> federation. If there are specific changes which happen because
> regions are federated, then clearly we need to account for this.
>
> The third question is less about how we build protocols then about
> how we describe how the bits of the system fit together and how users
> experience the systems we build and deploy.
>
> The answer, in short is that users expect to teleport and have magic
> happen. They expect that whatever appearance they have at the start of a
> teleport will be the same at the end of the teleport. They expect that
> they will be able to see everyone and everything in the new region, and
> they expect that everyone will be able to seem them.
>
> What has to happen for these desires to be fulfilled? The necessary parts
> of the items the avatar is wearing at the time of the teleport need to
> be available to both the region, and the clients need to able to access
> these items and the inbound avatar's client needs access to all the
> items in the region, and all the items worn by the avatars in the
> region. (For the purposes of this discussion, assume that data is
> passed either in line, or by reference to a remotely hosted service
> returning the data)
>
> Will this always be true? Probably not. Does the fact that a region is
> part of a federation impact this fact? I'm having a hard time seeing why
> it would. The transaction is between the region and the services hosting
> the related data. When an avatar wants to teleport into a region, the
> data about it is provided whether rhe region is a singleton or part of
> a federation. Again, I'm looking for a "how does this change things"
> point of distinction. None of this says "Federated collection of
> regions" isn't a useful construct, quite the contrary. Its how we build
> out collections of regions for lots of reasons, its just important to
> look at where the concept manifests in terms of things we can define as
> actual services with interfaces.
>
> - David
> ~ Zha
>








On Tue, Sep 21, 2010 at 1:27 AM, David W Levine <dwl@us.ibm.com> wrote:

> A lot of words have been spent on this. Let me try to walk through my
> perspective.
>
> One.. yes, of course we're about enabling interop. Whether it's interop
> between "worlds" "regions" "Services" or "forests" I don't think
> changes the specification one whit. What we're about is describing the
> set of services and interactions which enable the deployment of a large
> collection of systems built in a large number of ways.
>
> The core goal is to allow users to share virtual regions, assets and
> services
> across a broad set of boundaries. So, just for one, starting small and
> working up.
>
> The smallest scenario is a single "stand alone" region, which wishes to
> access resources which it doesn't host. To whit, asset, inventory and
> agent services allowing the stand alone region to access items and
> services hosted by others. This, in and of itself is of course interop.
> The stand alone region wants to fetch items and rez them. A user may
> wish to log onto the region with an avatar an inventory hosted from
> other services. The moment we have a region accessing other services
> interopation is occurring. Its not very interesting interoperation
> perhaps but useful things happen.
>
> Now, whether one calls this region a "world" a "region" a "virtual
> space: doesn't much matter. Its a virtual space which wants to access
> services from other service providers.
>
> Multiple virtual regions can be federated to form bigger spaces. The
> cogent questions are:
>
> 1) What actual services are needed to support a set of regions
>
> 2) Are any changes required in the underlying protocols used by
> regains to access services because they are assembled into federations.
>
> 3) What are the user's expectations when moving between regains
> hosted by separate service providers
>
> Thus far, I've seen several publically exposed service which relate to
> federated regions,
>
> 1) the "map" Service. I could also see a possible service which helps
> regions manage placement and adjacency. (But I'm not sure this isn't
> a per deployment choice, as it may not expose any interface needed
> for Interoperability. This may also include "membership" in a basic
> way.
>
> 2) "Federated Seed Cap" which would get you a set of singletons for
> the federated regions. This might include search, currency, a
> default authentication/agent service if the federated regions
> chose to expose it. In short, it makes perfect sense for a set of
> regions to expose the services they share. (Mind you they can also
> do it on a per region basis, but this seems sane to do this way)
>
> I would be delighted to see additional items on this list. The more
> things which distinguishes a federated collection of sims, the more
> clarity is likely to be shed on what we mean when a collection of
> regions is federated.
>
>
> The second question is "Are there any protocol changes" which are
> needed when regions are federated? I ask this in all seriousness.
> Does a region's service interface change because it is part of a
> federation. If there are specific changes which happen because
> regions are federated, then clearly we need to account for this.
>
> The third question is less about how we build protocols then about
> how we describe how the bits of the system fit together and how users
> experience the systems we build and deploy.
>
> The answer, in short is that users expect to teleport and have magic
> happen. They expect that whatever appearance they have at the start of a
> teleport will be the same at the end of the teleport. They expect that
> they will be able to see everyone and everything in the new region, and
> they expect that everyone will be able to seem them.
>
> What has to happen for these desires to be fulfilled? The necessary parts
> of the items the avatar is wearing at the time of the teleport need to
> be available to both the region, and the clients need to able to access
> these items and the inbound avatar's client needs access to all the
> items in the region, and all the items worn by the avatars in the
> region. (For the purposes of this discussion, assume that data is
> passed either in line, or by reference to a remotely hosted service
> returning the data)
>
> Will this always be true? Probably not. Does the fact that a region is
> part of a federation impact this fact? I'm having a hard time seeing why
> it would. The transaction is between the region and the services hosting
> the related data. When an avatar wants to teleport into a region, the
> data about it is provided whether rhe region is a singleton or part of
> a federation. Again, I'm looking for a "how does this change things"
> point of distinction. None of this says "Federated collection of
> regions" isn't a useful construct, quite the contrary. Its how we build
> out collections of regions for lots of reasons, its just important to
> look at where the concept manifests in terms of things we can define as
> actual services with interfaces.
>
> - David
> ~ Zha
>