Let's see if I can clear up a few things...  Bear in mind that the 
design is still evolving in my head :-)

a) From the perspective of VOS, which is concerned with synchronization, 
the most important purpose of versioning is so you have a basis for 
deciding whether your replica A' of vobject A is current or out of date.  
Being able to record changes and go back into the history is just a nice 
side effect.

b) Each vobject would be versioned separately.  The child list is part of 
the versioned state, but a change to a child vobject should not affect 
the version of the parent.  One exception: embedded children (property 
fields) do affect the version.

c) The big picture I'm going towards here is that remote vobjects, 
caching, scalability/load balancing and the kind of broadcast routing Van 
Jacobson talks about are all basically cases of replication.  If the VOS 
design can unify these cases under one general solution then we've won.

I need to develop the idea more, but I think one key idea is relaxing the 
idea of a "site" so that it doesn't have to be tied to a specific host.  
I had already decided that sites would be identified by their public key, 
so that messages distributed by the site are self-verifying (by checking 
that the digital signature matches the site id).  This means if you want 
to query a vobject, any replication -- the actual host site, a local 
cache, a third party -- can answer, and you can check that the answer did 
in fact originate from the site.  What's really interesting is that this 
means the authority to publish changes to vobjects rests in who has 
knowledge of the private key that corresponds to the site's public key.  
If you wanted to do load balancing/clustering, you could share that 
private key among several trusted hosts, any one of which would be able 
to issue official state changes for vobjects on that site.

I should point out that in the most common case, hosts will be in direct 
contact with the actual site, and receive messages published from the 
site directly, so it's not any different from the way things work now.

Getting back to Kao's question (which I've wandered quite far away from), 
as noted the synchronization principals in the system are the site and 
individual vobjects.  I don't see how cycles and bounderies between 
subgraphs factor into it, except perhaps in the initial phase of 
determining the specific subset of vobjects on the site you're interested 
in.

On Wed, May 09, 2007 at 11:45:50AM +0200, Karsten Otto wrote:
> Well, Lars' suggestion of versioning only "interesting" parts and  
> your suggestion of horizons seem reasonable, but I don't think we  
> have the basis for this in VOS. A vobject usually cannot live as  
> isolated entity, but *requires* a number of relations to child  
> vobjects to make sense; thus any user-percievable "world object" is  
> actually a subgraph of the overall world graph.
> 
> The problem is delineation: It is not clear which subgraphs represent  
> independent "world objects", or if there is even a distinctive  
> decomposition. For example, two objecs may share a texture - which  
> vobject does it "belong" to? If you change one vobject, do you  
> include the texture in the version? Where do you stop following  
> relational links? I don't recall if there is any prohibition in VOS  
> against cycles in the graph - I think there isn't - so matters become  
> even more complicated.
> 
> The only separation I currently see in VOS is the relation between  
> the site vobject and its children, but even here it is not clear  
> which children represent aspects of the site itself, which are  
> scenery, and which are avatars.
> 
> Any suggestions?
> 
> Regards,
> Karsten Otto (kao)
> 
> 
> _______________________________________________
> vos-d mailing list
> vos-d@interreality.org
> http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

-- 
[   Peter Amstutz  ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]

Attachment: signature.asc
Description: Digital signature

_______________________________________________
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

Reply via email to