Re: [vos-d] vobject namespace

2006-12-13 Thread Reed Hedges
Peter Amstutz wrote:
 On Tue, Dec 12, 2006 at 07:23:05AM -0500, Reed Hedges wrote:
 How is this different than the way things currently are?
 
 It's not, except that s5 uses 32 bit identifiers as the canonical name 
 of a vobject rather than arbitrary strings.
 
 Are you proposing to require that all objects except one special root 
 have at least one parent?  Or just to encourage that practice for most 
 objects?
 
 Requiring it.  This allows us to have one unified namespace instead of 
 lots of little subtrees hanging off the site root.  

OK, so / is the root object, not the site, (and if you ask it to 
list-children you only get objects in the root, not all) and /foo is an 
objet that's properly in the root, but  /$abcde is bypassing the 
filesystem and accessing directly by ID?

No way to get *all* objects on a site? (Might be useful, not for remote 
access but when working with COD files, say)


Also I think this
 makes it easier to ultimately start defining recommendations for 
 organization (i.e. where does vobject reflection go, configuration, 
 worlds, hypervos pages, etc...  it may well end up looking like a unix 
 filesystem!)

Right, well we already do this sometimes, it's just all ad hoc. Actually 
I like the ad-doc nature, one nice thing about VOS is that it's not 
neccesary to have a conforming structure, so long as you have the right 
references to the right vobjects with the right types in the right places.

  Obviously this is
 partially a programming problem that they weren't freed properly, but it 
 would be a great advantage to be able to automatically sweep up these 
 loose vobjects.

Do you think that this problem is actually a feature? If you want to 
move objects out of the normal tree but still keep them around.  I.e. if 
it garbage collected you'de have to move the objects to /tmp etc.

Reed


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


Re: [vos-d] vobject namespace

2006-12-12 Thread Karsten Otto
Am 11.12.2006 um 19:03 schrieb Peter Amstutz:

 I'm thinking that it would be useful to have a well defined root,
 similar to the unix file system root, and for vobjects on the site  
 to be
 treated sort of like inodes.  This has a few advantages: it is simpler
 to mount conventional filesystems onto the VOS namespace,

What do you mean by mount here? A filesystem is not a vobject  
graph, you'd have to wrap each of its files into a vobject first. Or  
wait, is this one of the things you could do with the magical virtual  
s5 vobjects?

 and it is
 easy to identify named (accessable via the root) and unnamed
 objects, and to garbage collect the latter since we found that
 long-running sites had a tendency to build up cruft in the form of
 discarded unlinked vobjects.

Really? I thought this was already done this way? But then, I was  
never really clear on the details of the vobject lifecycle and this  
excise stuff...

 A vobject would now be describable as either a literal identifier like
 vos://interreality.org/$88FA3483 or with a path like
 vos://interreality.org/worlds/blocks.  The former would be used
 internally, the latter would reflect the human and programmatic layout
 of a VOS site.

I'm slightly confused. So far, we had the canonical name, based on  
the direct site-to-vobject link.
This was what the whole VOS infrastructure worked with, as well as  
the VOP/VIP protocols (from,to attributes). Then there was the path  
name, which was only used at the user/programmer level. Whenever the  
VOS infrastructure got one of these, it first had to resolve it into  
a canonical name by following the contextual name/number links from  
the site.

Now, you want to ditch the direct site-to-vobject link (fine by me),  
and use the $88FA form as new canonical name? Or do you truly want  
multiple vobject identities, one for each way it is linked into the  
vobject graph, plus one internal ID (whatever that is)?

 VOS reflective structures would be linked as branches off the root,  
 such
 as the list of vobject types, and sitewide configuration parameters
 (like what plugins are loaded).  So you could browse
 vos://interreality.org/types/namespaces/core to get a list of all
 vobject types present in the core namespace.  Or you could browse
 vos://interreality.org/etc/plugins to get a list of plugins.  This  
 would
 be well defined so that these structures are available on any site.

Sounds good, except that I'd like to see vos://interreality.org/ 
core:plugins there...
I'm not sure it you care, but I found it useful to distinguish  
between role path elements with a colon, and pure name elements  
without a colon. The first kind indicates what role a child plays in  
respect to the parent vobject, e.g. a3dl:position. The namespace  
reflects the fact that this is a registered name for a precisely  
defined semantic concept. The second kind is arbitrary, and signifies  
nothing except membership. You find this mainly on the site and the  
sector, as
Karsten or even 08154223, since often users don't care about  
vobject names and let VOS generate it.

 Child links would be like hard links in a Unix file system, except  
 that
 we'll maintain the parent list, so you can actually tell who's
 pointing to a particular vobject.  I suppose in this scheme a  
 hypercard
 would be like a symbolic link.

Right... you could then use the hard link count to find out when a  
vobject is no longer needed, and trigger the excise thing. Maybe this  
could also help somehow in handling temporary vobjects, i.e.  
avatars created manually on the site by a client or a factory. So  
these vobjects would be linked to the client's site only, and loose  
this link on disconnect, which in turn triggers removal Just a  
quick thought.

 The basic model of the child list as associative list would be
 unaffected.  Also, this is extremely easy to implement, since the code
 for parsing and following paths is more or less the same either way.

Well, at least something stays the same :-)

Regards,
Karsten Otto (kao)

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


Re: [vos-d] vobject namespace

2006-12-12 Thread Reed Hedges

How is this different than the way things currently are?

Are you proposing to require that all objects except one special root 
have at least one parent?  Or just to encourage that practice for most 
objects?

Reed

Peter Amstutz wrote:
 I just wanted to float another idea for a change in s4 to s5.  
 Previously in s4, there was no well defined root of the vobject tree.  
 Or rather, there was the site root, but listing the contents of this 
 root would get you every vobject on the site, which was rarely what you 
 wanted.
 
 I'm thinking that it would be useful to have a well defined root, 
 similar to the unix file system root, and for vobjects on the site to be 
 treated sort of like inodes.  This has a few advantages: it is simpler 
 to mount conventional filesystems onto the VOS namespace, and it is 
 easy to identify named (accessable via the root) and unnamed 
 objects, and to garbage collect the latter since we found that 
 long-running sites had a tendency to build up cruft in the form of 
 discarded unlinked vobjects.
 
 A vobject would now be describable as either a literal identifier like 
 vos://interreality.org/$88FA3483 or with a path like 
 vos://interreality.org/worlds/blocks.  The former would be used 
 internally, the latter would reflect the human and programmatic layout 
 of a VOS site.
 
 VOS reflective structures would be linked as branches off the root, such 
 as the list of vobject types, and sitewide configuration parameters 
 (like what plugins are loaded).  So you could browse 
 vos://interreality.org/types/namespaces/core to get a list of all 
 vobject types present in the core namespace.  Or you could browse 
 vos://interreality.org/etc/plugins to get a list of plugins.  This would 
 be well defined so that these structures are available on any site.  
 
 Child links would be like hard links in a Unix file system, except that 
 we'll maintain the parent list, so you can actually tell who's 
 pointing to a particular vobject.  I suppose in this scheme a hypercard 
 would be like a symbolic link.
 
 The basic model of the child list as associative list would be 
 unaffected.  Also, this is extremely easy to implement, since the code 
 for parsing and following paths is more or less the same either way.
 
 [   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 ]
 
 
 
 
 
 ___
 vos-d mailing list
 vos-d@interreality.org
 http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d


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


[vos-d] vobject namespace

2006-12-11 Thread Peter Amstutz
I just wanted to float another idea for a change in s4 to s5.  
Previously in s4, there was no well defined root of the vobject tree.  
Or rather, there was the site root, but listing the contents of this 
root would get you every vobject on the site, which was rarely what you 
wanted.

I'm thinking that it would be useful to have a well defined root, 
similar to the unix file system root, and for vobjects on the site to be 
treated sort of like inodes.  This has a few advantages: it is simpler 
to mount conventional filesystems onto the VOS namespace, and it is 
easy to identify named (accessable via the root) and unnamed 
objects, and to garbage collect the latter since we found that 
long-running sites had a tendency to build up cruft in the form of 
discarded unlinked vobjects.

A vobject would now be describable as either a literal identifier like 
vos://interreality.org/$88FA3483 or with a path like 
vos://interreality.org/worlds/blocks.  The former would be used 
internally, the latter would reflect the human and programmatic layout 
of a VOS site.

VOS reflective structures would be linked as branches off the root, such 
as the list of vobject types, and sitewide configuration parameters 
(like what plugins are loaded).  So you could browse 
vos://interreality.org/types/namespaces/core to get a list of all 
vobject types present in the core namespace.  Or you could browse 
vos://interreality.org/etc/plugins to get a list of plugins.  This would 
be well defined so that these structures are available on any site.  

Child links would be like hard links in a Unix file system, except that 
we'll maintain the parent list, so you can actually tell who's 
pointing to a particular vobject.  I suppose in this scheme a hypercard 
would be like a symbolic link.

The basic model of the child list as associative list would be 
unaffected.  Also, this is extremely easy to implement, since the code 
for parsing and following paths is more or less the same either way.

[   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 ]



signature.asc
Description: Digital signature
___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d