[vwrap] Inventory, Asset Metadata and Privacy (was: [wvrap] Simulation consistency)
Boroondas Gupte <sllists@boroon.dasgupta.ch> Sun, 10 April 2011 21:27 UTC
Return-Path: <sllists@boroon.dasgupta.ch>
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 C4E163A69B4 for <vwrap@core3.amsl.com>; Sun, 10 Apr 2011 14:27:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.987
X-Spam-Level:
X-Spam-Status: No, score=-1.987 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_MISMATCH_NET=0.611, 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 aGCAMWDzC9bs for <vwrap@core3.amsl.com>; Sun, 10 Apr 2011 14:27:16 -0700 (PDT)
Received: from datendelphin.net (india288.server4you.de [85.25.150.202]) by core3.amsl.com (Postfix) with ESMTP id 36A973A696D for <vwrap@ietf.org>; Sun, 10 Apr 2011 14:27:16 -0700 (PDT)
Received: from [192.168.1.107] (adsl-84-226-67-142.adslplus.ch [84.226.67.142]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by datendelphin.net (Postfix) with ESMTPSA id 8F9502E045 for <vwrap@ietf.org>; Sun, 10 Apr 2011 23:30:14 +0200 (CEST)
Message-ID: <4DA220B1.6020400@boroon.dasgupta.ch>
Date: Sun, 10 Apr 2011 23:27:13 +0200
From: Boroondas Gupte <sllists@boroon.dasgupta.ch>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110408 Lightning/1.0b3pre Thunderbird/3.1.9
MIME-Version: 1.0
To: vwrap@ietf.org
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> <BANLkTikWSG0=rDvws4gqfDMQ8kT16uikSA@mail.gmail.com> <BANLkTik4DEm06hvwmoXdbfJpjfmDAUvMuA@mail.gmail.com> <BANLkTi=_hP7N=Xe6h3ni=jRAAc8jkkpnjQ@mail.gmail.com>
In-Reply-To: <BANLkTi=_hP7N=Xe6h3ni=jRAAc8jkkpnjQ@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------060609070500000301070402"
Subject: [vwrap] Inventory, Asset Metadata and Privacy (was: [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: Sun, 10 Apr 2011 21:27:18 -0000
Hi Morgaine The distinction between metadata and 'content' and storing them in separately acquirable chunks is a good and quite important idea, I think. More generally, I can think of several reasons to split a monolithic data entity E into several separate ones, connected by referencing each other or by being referenced by a common meta-entity which replaces the previous monolithic entity: 1. Several other entities are expected to have some parts in common with E, without having other parts in common with it. 2. Some parties only need some parts of E, but not other parts. 3. Some parties are only allowed access to some parts of E, but not to other parts. (You might note the similarity between reason (1) and rules used for database normalization.) If the entities are immutable (which assets should be according to previous discussion <http://www.ietf.org/mail-archive/web/vwrap/current/threads.html#00796>), (1) can not only occur between unrelated items but will also be very common for items that result from changing a previous item. Some examples how this applies specifically to the metadata-content separation (assuming a similar inventory UI as we have in SL): * You rez an object from inventory, resize it, and take it back into inventory (which creates a new item there). o Same metadata (permissions, name(?), owner) + (What about a 'last edited' date, though? SL doesn't seem to store one, but some VWRAP systems might want to keep that info.) o Different content * You rename an item in-inventory o Different metadata (maybe ... see below) o Same content * You change next-owner permissions on an item, then give it to someone o Different metadata o Same content Reason (2) off course occurs when browsing your inventory. If you just want to e.g. read the names of your items, you don't have to fetch all the associated content data. Off course, there are more potential separations that fit one or several of these three reasons than just the metadata-content one. In SL, having objects being composed of prims, having prims reference textures for their faces instead of having the texture data lumped into their own data, or gestures being composed of steps some of which can reference animation and sound assets are other examples of such separations. On 04/10/2011 03:11 PM, Morgaine wrote: > It is worth noting that while inventories are mostly a client-side > implementation detail which can be changed unilaterally, the > /metadata/ held by inventories is a very important and separable > information type in an architecture that uses 3rd party asset > services, so it needs detailed examination. > > The metadata has to be available to remote parties in the same way as > the data itself is, and the best way of handling this is to make > metadata a separate item normally stored in the same asset service as > the data. As far as I know, this differs slightly from the concepts/architecture in SL. This might be a good thing, but because it is almost, but not completely, the same, we should be aware of these differences: In SL, there are the concept of assets (which are what I called 'content' above) and the concept of inventory items, referencing these assets and holding additional information such as permissions, name, etc. These inventory items themselves however are *not* considered assets in SL. So far, that's just a difference in nomenclature, I guess. But the SL inventory items are also handled differently from SL assets: They aren't stored (and served to the region) by the asset server, like assets are, but instead by the inventory service, which also serves the inventory tree. In fact, at least in the viewer's data model, the folders making up that tree are just special inventory items that do not reference assets but reference other inventory items. One of the drawbacks of how SL draws the line between inventory (-items) and assets is that it's probably difficult to implement something like VWR-2427 <https://jira.secondlife.com/browse/VWR-2427>. Treating the item-metadata as a type of assets as you seem to suggest might allow to better exploit the commonality that both inventory items and some data assets can refer to other assets. (Note that I'm not really an expert on SL's internal architecture, and most of the above is based on hear-say and some viewer code comments I remember. Please correct me if I'm wrong somewhere.) > The metadata item will naturally reference the corresponding data item > (which is an N:1 relationship when hash-based addressing is used), and > in some cases can reference more than one data item --- for example, > the metadata of a mesh will commonly reference not only the graphical > data required for rendering in the client but also the collision mesh > or bounding box data required by the region. Wouldn't it make more sense to keep the metadata-item-to-data-item relation strictly N:1, and have the mesh data item have a N:N relation to it's components? (Analogous to SL gestures.) While the item type should be part of the metadata, I don't think the metadata's structure should depend on the item type. After all, the structure of inodes of a file system also doesn't depend on the file formats of the referenced files. > These two types of data are separate because it would be inefficient > to require clients or regions to download data that they do not use. > Our "asset" singleton now turns into a metadata + data pair. Yep. > As a final point about metadata versus data, it should be mentioned > that generally only the data ever has access restrictions placed on it, No restrictions for whom? Just for the user whose inventory it is (but then he/she has to authenticate somehow) or no restrictions for anyone? > because placing restrictions on metadata leads to unsearchable > inventories for which the technical term is "annoying as hell", or > more seriously, poorly functionality and yet another source of lag. I agree everyone should be able to access their own inventory tree, including the item-metadata at its leaf nodes. For the tree part, you later write > Regions don't have access to your inventory [...] ("inventory" here refers to just the tree, if I understood you correctly). I guess this is also the case for other users, except where I have given them explicit permission to view parts of my inventory (if the protocol was capable of that). > I am going to assume that nobody wants that [poor functionality and > lag] and hence, that metadata is never accessed through capabilities. Now here I'm beginning to wonder, what data all is part of the tree (that others aren't able to access) and what is instead part of the item-metadata, (a fraction of) which needs to be broadcasted to other users, as it contains the references to the assets those other users have to fetch to render my avatar correctly. For example, is the item name part of that metadata or part of the tree? It obviously isn't needed by others, it's merely a reminder for myself of what that item is. If the item name for worn stuff /is/ broadcasted together with the other relevant metadata, that's OK as long as the user is aware of it, but it /does/ have some consequences: In that case, I probably wouldn't want to name a wearable "The dress that this stupid guy bought me, but that I like to wear anyway" or "Those shoes that my secret lover Example Resident gave me" but something more innocent, so that I wouldn't upset that other user and wouldn't leak that Example Resident was my secret lover. There might be other metadata that's useful to the users themselves but that they might want to withhold from region owners and other users. Imagine for example information about where and when you acquired an item, which allows you to efficiently search for that item when you forgot the item name but still remember how you got it. However, if that info is broadcasted for worn items and you wear enough different items, everyone around you has a partial trace of your virtual travels. So we can either split the metadata asset according to reason (3) above into several assets with different access policies. Or we just lump metadata we want to keep private together with the tree while only having metadata we don't mind sharing in the metadata assets. Cheers, Boroondas
- [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency dyerbrookme@juno.com
- Re: [vwrap] [wvrap] Simulation consistency dyerbrookme@juno.com
- Re: [vwrap] [wvrap] Simulation consistency Patnad Babii
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Carlo Wood
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Meadhbh Hamrick
- Re: [vwrap] [wvrap] Simulation consistency Meadhbh Hamrick
- Re: [vwrap] [wvrap] Simulation consistency Carlo Wood
- Re: [vwrap] [wvrap] Simulation consistency dyerbrookme@juno.com
- Re: [vwrap] Simulation consistency Carlo Wood
- Re: [vwrap] [wvrap] Simulation consistency Patnad Babii
- Re: [vwrap] [wvrap] Simulation consistency Izzy Alanis
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency dyerbrookme@juno.com
- Re: [vwrap] [wvrap] Simulation consistency Dahlia Trimble
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Israel Alanis
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] Simulation consistency Meadhbh Hamrick
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] Simulation consistency Morgaine
- Re: [vwrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] Simulation consistency Morgaine
- Re: [vwrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Fleep Tuque
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Carlo Wood
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- [vwrap] Is 'Data Z' immutable (like a git snapsho… Carlo Wood
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] Is 'Data Z' immutable (like a git sna… Morgaine
- Re: [vwrap] Is 'Data Z' immutable (like a git sna… Carlo Wood
- Re: [vwrap] Is 'Data Z' immutable (like a git sna… Morgaine
- Re: [vwrap] Is 'Data Z' immutable (like a git sna… Patnad Babii
- Re: [vwrap] Is 'Data Z' immutable (like a git sna… Morgaine
- Re: [vwrap] Is 'Data Z' immutable (like a git sna… Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- [vwrap] Inventory, Asset Metadata and Privacy (wa… Boroondas Gupte
- Re: [vwrap] Inventory, Asset Metadata and Privacy… Morgaine
- Re: [vwrap] Inventory, Asset Metadata and Privacy… Morgaine
- Re: [vwrap] Inventory, Asset Metadata and Privacy… Morgaine