[vwrap] Is 'Data Z' immutable (like a git snapshot)?

Carlo Wood <carlo@alinoe.com> Fri, 08 April 2011 20:32 UTC

Return-Path: <carlo@alinoe.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 5ECD43A696D for <vwrap@core3.amsl.com>; Fri, 8 Apr 2011 13:32:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.531
X-Spam-Level:
X-Spam-Status: No, score=-2.531 tagged_above=-999 required=5 tests=[AWL=0.068, BAYES_00=-2.599]
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 i0pvUA1Tx9l7 for <vwrap@core3.amsl.com>; Fri, 8 Apr 2011 13:32:20 -0700 (PDT)
Received: from fep11.mx.upcmail.net (fep11.mx.upcmail.net [62.179.121.31]) by core3.amsl.com (Postfix) with ESMTP id 3E7E23A68CB for <vwrap@ietf.org>; Fri, 8 Apr 2011 13:32:19 -0700 (PDT)
Received: from edge03.upcmail.net ([192.168.13.238]) by viefep11-int.chello.at (InterMail vM.8.01.02.02 201-2260-120-106-20100312) with ESMTP id <20110408203404.NHWO17007.viefep11-int.chello.at@edge03.upcmail.net> for <vwrap@ietf.org>; Fri, 8 Apr 2011 22:34:04 +0200
Received: from mail9.alinoe.com ([77.250.43.12]) by edge03.upcmail.net with edge id V8a21g02m0FlQed038a3zB; Fri, 08 Apr 2011 22:34:04 +0200
X-SourceIP: 77.250.43.12
Received: from carlo by mail9.alinoe.com with local (Exim 4.72) (envelope-from <carlo@alinoe.com>) id 1Q8INW-0005zl-H0 for vwrap@ietf.org; Fri, 08 Apr 2011 22:34:02 +0200
Date: Fri, 08 Apr 2011 22:34:02 +0200
From: Carlo Wood <carlo@alinoe.com>
To: vwrap@ietf.org
Message-ID: <20110408223402.36ae68a9@hikaru.localdomain>
In-Reply-To: <BANLkTim8uUNmGU91mYmXQX6_Eqqp92--WQ@mail.gmail.com>
References: <BANLkTint6CiMRZWj59sEYM2j7VoKgz4-Bw@mail.gmail.com> <AANLkTimuVubm5Becx8cg_Uq2Gdj8EjHL7maMyqWOeYCJ@mail.gmail.com> <AANLkTi=0iBKxo0_yv2LWsExzrKUjJLqP5Ua2uHB=M_7d@mail.gmail.com> <AANLkTi=QH+c-19PvavnXU+pgWyaqpAA0F5G5SMd6h4JR@mail.gmail.com> <5365485D-FFAE-46CA-B04E-D413E85FB1D1@gmail.com> <4D97E7FE.7010104@gmail.com> <4D97EEC1.7020207@gmail.com> <BANLkTi=9CXCtb=ryFtMuyG2w9ifb-2urkA@mail.gmail.com> <4D98AC5F.70501@gmail.com> <BANLkTikci18U3S-fz6k4doVTdtUig7j=zw@mail.gmail.com> <BANLkTim8uUNmGU91mYmXQX6_Eqqp92--WQ@mail.gmail.com>
X-Mailer: Claws Mail 3.7.8 (GTK+ 2.20.1; x86_64-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Cloudmark-Analysis: v=1.1 cv=vUpxTctd+kpWCBtSXXIkt5ll4Z8E5Qu9nLREXC/hfIo= c=1 sm=0 a=0X824X2hA4gA:10 a=_kSIUADMT0YA:10 a=lF6S9qf5Q1oA:10 a=kj9zAlcOel0A:10 a=BjFOTwK7AAAA:8 a=EJ7jBPDziFDvfpK0hCoA:9 a=Zvop8yFD0XLNKSG0BAIA:7 a=CjuIK1q_8ugA:10 a=bW3kdApBr58A:10 a=8EP8rFNXNEnfsmQk:21 a=xNZGKhOZSySOtt_M:21 a=HpAAvcLHHh0Zw7uRqdWCyQ==:117
Subject: [vwrap] Is 'Data Z' immutable (like a git snapshot)?
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: Fri, 08 Apr 2011 20:32:21 -0000

This is very nice work and I think it clarifies a lot.

I have a few very basic questions.

I see that you request Z from two different Asset servers
(originally A, but also C when a backup has been stored there).

No matter how you look at it, that is distributed storage:
compare it with git or mercurial; if Z on A could be changed
then the backup would be out dated, and that is not what
we want. So, I conclude that 'Z' (or rather, then handle
used to refer to Z when asking for it) therefore refers to
a unmodifiable data (compare git's hex ID's that point to
a snapshot).

1) Is that correct?

If it is correct and the handle for Z used in messages
like "give me a cap for Z" refer to immutable data, then
the most logical thing to do would be to use a (large)
hash value of the data (ie, md5) or an UUID that was
generated when the data was last changed (which is less
good because it would cause duplicated data when something
is changed back to what it was before), or to use an
ID that is less large, but whose uniqueness would be
guaranteed by including a (for that authority unique) ID
of the authority that made the last change. The advantage
of the latter is less bandwidth (smaller ID's) and knowledge
of the authority right into the ID of something (handy
for routing). Disadvantages are: it suffers from the same
as the UUID in that it will duplicate data whenever the
same data is generated and it requires administration to
make sure that every authority has a unique ID (compare
giving people unique IP addresses).

2) Which of those is used? has, UUID or smaller specially
crafted ID?

3) What would happen if someone gets a cap for Z, a
modifiable object; then the object is modified and then
the cap is used? Does the cap have a guaranteed life time?

4) If not every previous state of an object is kept
eternally and after changing some object old caps (and
their static data) disappear - then how will the asset
servers that contain copies know that? They are not
necessarily aware that anything changed at all for
that object, so they can't know what the life time
is. It seems that once you make a copy you are doomed
to keep it forever or do garbage collection for assets
that are never accessed anymore.

5) I can image that at SOME TIME in the future we want
a few bit (or more) that ARE mutable-- despite that the
asset ID (Z) refers to snapshot (immutable) data.
Are we going to build into the protocol a provision for
such mutable bits?

This would mean, in the case that the ID is a hash (ie md5)
that the asset Data exists of a payload that the hash is
taken over plus a mutable part that is not considered for
the hash. Obviously, such data then could get desynced
between assets servers with copies.

-- 
Carlo Wood <carlo@alinoe.com>