Re: [vwrap] [wvrap] Simulation consistency

Morgaine <morgaine.dinova@googlemail.com> Sat, 02 April 2011 18:30 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 D67CC3A687C for <vwrap@core3.amsl.com>; Sat, 2 Apr 2011 11:30:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.843
X-Spam-Level:
X-Spam-Status: No, score=-2.843 tagged_above=-999 required=5 tests=[AWL=0.133, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 ww8nViuJPwiT for <vwrap@core3.amsl.com>; Sat, 2 Apr 2011 11:30:12 -0700 (PDT)
Received: from mail-qw0-f44.google.com (mail-qw0-f44.google.com [209.85.216.44]) by core3.amsl.com (Postfix) with ESMTP id 309EF3A6873 for <vwrap@ietf.org>; Sat, 2 Apr 2011 11:30:12 -0700 (PDT)
Received: by qwg5 with SMTP id 5so3152273qwg.31 for <vwrap@ietf.org>; Sat, 02 Apr 2011 11:31:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=Do6/8TgAO//3V9qrX7f18G3vXsv3JnZ1n3XXkcdq4Rs=; b=Perx5HCpQa1+GmP9y84TBQyOELLPcbnNdfCnMkUosPtI6JuDXQ2vY1vzqYhm5rSD5j uKSoZ/oegGNeE/gX+7IMk37IsOw+D0xou4jPbkFWwjd/fxB0/qoxn/jXUhq7ucdbbyNv I5rLpaaGUvP6Fnktp3ifYU/75XPTaF4ZlBxnE=
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 :content-type; b=YBHHbHjEdpSanpYxvxpKAVQURs/KsXKOROIPJa7bw2TX/DOdExFimb9jhLDt6AIZzq cjDaW0LEc4EzfZapxTg8HG0VWeGsBrYqBMabYU1HJuwsAg0ifDMR5PLlgZ5caedZEOKf b3a6QiatGW8XPHM3/uLRIGQT2cVobHq+igSPU=
MIME-Version: 1.0
Received: by 10.229.78.22 with SMTP id i22mr1957807qck.33.1301769112934; Sat, 02 Apr 2011 11:31:52 -0700 (PDT)
Received: by 10.229.211.84 with HTTP; Sat, 2 Apr 2011 11:31:52 -0700 (PDT)
In-Reply-To: <4D97426B.8010302@gmail.com>
References: <BANLkTint6CiMRZWj59sEYM2j7VoKgz4-Bw@mail.gmail.com> <AANLkTimuVubm5Becx8cg_Uq2Gdj8EjHL7maMyqWOeYCJ@mail.gmail.com> <4D97426B.8010302@gmail.com>
Date: Sat, 02 Apr 2011 19:31:52 +0100
Message-ID: <AANLkTikv-+ESvPDqcqN2W9Qvtd0L3W1ZZ-85J3fWo9rZ@mail.gmail.com>
From: Morgaine <morgaine.dinova@googlemail.com>
To: vwrap@ietf.org
Content-Type: multipart/alternative; boundary="00235429d8f48e5953049ff3bdd2"
Subject: Re: [vwrap] [wvrap] Simulation consistency
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: Sat, 02 Apr 2011 18:30:14 -0000

Hash-based addressing is very different to UUID-based addressing as used in
SNOW-375, so I expect there is some misunderstanding of how hash digests are
applied in this scheme,

The universal address of the item is the hash digest over the data of the
item using a specified digest algorithm, and is not a UUID.  It is invariant
regardless of who computes it, although it would normally be computed only
once by the asset service at the time that the item is being stored in the
service.  All asset services everywhere will use the same digest as an
address for this item, because the digest algorithm is specified.

Data that is addressed and indexed in this way can of course be used in a
REST architecture with appropriate design, but because hash digests are not
UUIDs, there is quite a different semantic to it.  A UUID cannot be used as
a shared cache index in a multi-world architecture, because identical
content in N different worlds will have different UUIDs associated with it
in each world.  In contrast, identical content in N different worlds will
have an identical hash in every world, and therefore only a single storage
entry is needed in a multi-world cache.

The effect of this is dramatic.  Every time that an Object ARchive is loaded
to populate a new region, this can generate another several hundred thousand
(and soon, millions) of new assets which in a UUID-addressed scheme will
typically just grow the asset storage without bound.  In a hash-addressed
scheme, that OAR can be loaded a million times and the asset data storage
doesn't increase by 1 byte, neither in the asset server, the region, nor in
client caches.  Only metadata storage need grow for repeated assets in asset
services, but it's not even needed in client-side caches, so the benefits
are huge.

A nice mental image that really brings this home is that of grass patches
and trees and other common environmental objects reused in countless worlds
across the metaverse, yet requiring no downloads at all as you tour around
the worlds because visiting just one world has populated your persistent
cache with those common items already.

This can represents storage savings of thousands or even millions to 1, and
corresponding time savings too because the remote fetches from asset
services are avoided entirely.  The impact of this scheme on user experience
can be expected to be outstanding even in today's humble beginnings, and
much more so as the metaverse blooms.  It's the scheme with the best
performance and scalability of any we have examined so far.

UUID-based asset storage does not have these excellent properties, nor the
other advantages that I have described previously.


Morgaine.





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

On Sat, Apr 2, 2011 at 4:36 PM, Dzonatas Sol <dzonatas@gmail.com> wrote:

> Your hash/digest method is similar to basic REST and what I already
> implemented. Icesphere already has implementations and methods and even
> furthers them with burst modes so where there is no worry to have a URI for
> each asset. The URI can specify a list of assets or single asset (content
> varies as such), which can be returned immediately or when each is ready for
> transfer, individually. Uses LLIDL with proposed changes:
>
> Everything is documented here:
> http://wiki.secondlife.com/wiki/User:Dzonatas_Sol/SNOW-375_Resources/Inventory
> (Last edited that doc in August 2010 & Icesphere's implementation has been
> used for awhile since then)
>
>
>
> Morgaine wrote:
>
>> Back in September 2010, I wrote this post which proposes that we use in
>> VWRAP a form of asset addressing that provides massive scalability at the
>> same time as a very high degree of resilience --
>> http://www.ietf.org/mail-archive/web/vwrap/current/msg00463.html .� It is
>> based on the concept of the URI containing a host part and a hash part,
>> where the hash is generated (once, at the time of storage to the asset
>> service) using a specified digest algorithm over the content of the asset
>> being referenced.� You may wish to note that if this design were used, the
>> failure of an asset service to deliver a requested item would result in a
>> failover request for the item to one or more backup services, using the same
>> hash part but with a different host address.
>>
>>
>
> --
> --- https://twitter.com/Dzonatas_Sol ---
> Web Development, Software Engineering, Virtual Reality, Consultant
>
>