[Opensim-dev] Global IDs (Was Re: [Opensim-users] Grid Numberging)

Cristina Videira Lopes lopes at ics.uci.edu
Sat Nov 1 17:26:08 UTC 2008


[posting back to -dev, which is where this belongs]

If we did this also for user ids, then we wouldn't need to pass any more 
information about the user when crossing domains/hypergrid links. The 
UUID would encode the user's "home" server, and any additional info 
would be pulled from there.

I don't see this is as violation of the intent behind UUIDs as given in 
http://tools.ietf.org/html/rfc4122. The RFC already accounts for 
namespace-based UUIDs. It's unclear to me if the namespace can be 
deterministically retrieved back when using the suggested algorithm. But 
I see no reason for not being able to do that.

128 bits can encode a heck of a lot. My calculations on the back of an 
envelope tell me at most 64 bits for ip+port, which leaves another 64 
for ids within a domain, if we do this the straightforward way. If we do 
it the way they suggest in the RFC, the range is even higher, but 
collisions become possible. Arguably, when an asset server is serving 
close to 2^64 assets, it's probably time to plug in another server...

So, what do people think about this? Does this make you cringe? :-)

Note that this doesn't address at all the issue of capabilities/access 
control, it only addresses the issue of naming things globally.

Some consequences of this:
- for open grids, the existing UUIDs would have to be regenerated.
- there would have to be semantic checks performed when importing things 
from external representations, converting their UUIDs. So the brain-dead 
manual generation that I routinely do on regions, for example, would 
fail. Instead opensim would generate a valid UUID for me, for which I 
would be very grateful.

To be honest, I don't quite understand the use of UUIDs in opensim; they 
look extremely wasteful. I think they're there just because that's what 
the LL viewer imposes. If that's the case, let's use them to our advantage.

Crista

Diva Canto (Crista) wrote:
> The only reason why I'm suggesting the encoding hack as a horrible 
> option not to be immediately discarded  is that it is probably the 
> simplest thing to do for the LL Viewer to start pulling assets from 
> different places on the internet. From all I know, the LL Viewer is 
> deeply rooted on UUIDs for universal identification; refactoring this 
> will be a massive undertaking on the viewer. But simply giving 
> semantics to UUIDs would not be that big of a deal. I'm thinking a few 
> conditionals here and there:
>
> url = RetrieveUrl(uuid)
> if ItsASyntacticallyValidUrl(url)
>    try to do the right thing, please
> else
>    do what you do now
>
> or something to this effect.
>
> Of course, we're hitting our heads again on the pre-condition of using 
> the LL Viewer...
>
> Dickson, Mike (ISS Software) wrote:
>>
>> We really don't want to start encoding info into a GUID. The RFC that 
>> describes them pretty much details what kinds of entropy can be used. 
>>
>>  
>>
>> I've been thinking for a while that the handle service 
>> (http://www.handle.net) might be a nice way to do a URL style 
>> mechanism to refer to assets and such not on a local server.  It's 
>> been a while since I looked at it but it's pretty much designed for 
>> the purpose and there's a proxy architecture already defined for it.
>>
>>  
>>
>> Mike
>>
>>  
>>
>> *From:* opensim-users-bounces at lists.berlios.de 
>> [mailto:opensim-users-bounces at lists.berlios.de] *On Behalf Of *Diva Canto
>> *Sent:* Saturday, November 01, 2008 9:05 AM
>> *To:* opensim-users at lists.berlios.de
>> *Subject:* Re: [Opensim-users] [Opensim-dev] Grid Numberging
>>
>>  
>>
>> Actually, I just realized that the problem is already much worse than 
>> I thought.
>> The practices that we are all doing around opensim completely 
>> invalidate the concept of uniqueness in UUIDs. This comes from the 
>> fact that UUIDs are being externalized into DBs and XML 
>> representations, which are then being imported elsewhere. As people 
>> reuse entire DBs and XML files to recreate the same worlds in 
>> different grids, uniqueness goes down the drain. So definitely, 
>> forget about "Universal" Unique Identification with UUIDs; uris/urls 
>> are absolutely required for universal naming. The only way to savage 
>> UUIDs would be use part of their representation to deterministically 
>> code up the ip/port of where they come from.
>>
>> Stefan Andersson wrote:
>>
>> And the whole thread started with suggesting we allocate information 
>> bits to encode semantics. Which drastically heightens the risk of 
>> collisions, intentional or malicious.
>>
>> Just see guids as private to the trust domain, and we'll all fine. 
>> Grids should be publicly referred to by something riches, as an 
>> uri/url for example.
>>
>> Best regards,
>> Stefan Andersson
>> Tribal Media AB
>>  
>> Join the 3d web revolution : http://tribalnet.se/
>>  
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>> Date: Fri, 31 Oct 2008 20:10:41 -0700
>> From: diva at metaverseink.com <mailto:diva at metaverseink.com>
>> To: opensim-users at lists.berlios.de 
>> <mailto:opensim-users at lists.berlios.de>
>> Subject: Re: [Opensim-users] [Opensim-dev] Grid Numberging
>>
>> Not to mention the dudes and dudettes who generate region UUIDs by 
>> hand... (a-hem)
>> Purely random UUIDs that don't encode higher-order information are 
>> too fragile when there is a chance that people will get their hands 
>> on them. I'm not even talking about malicious manipulation, just 
>> simple human intervention.
>>
>> Frisby, Adam wrote:
>>
>> Yeah, the reason I said 'almost' wasn't because of a good UUID generator, - it's the bad ones.
>>  
>> IE, people using bad random sources, etc which dramatically increase the chance of a collision - ie if you are only getting 30 bits of randomness, you could run into a collision fairly quickly.
>>  
>> Adam
>>  
>>   
>>
>>     -----Original Message-----
>>
>>     From: opensim-users-bounces at lists.berlios.de <mailto:opensim-users-bounces at lists.berlios.de> [mailto:opensim-users-
>>
>>     bounces at lists.berlios.de <mailto:bounces at lists.berlios.de>] On Behalf Of Sean Dague
>>
>>     Sent: Friday, 31 October 2008 4:48 PM
>>
>>     To: opensim-users at lists.berlios.de <mailto:opensim-users at lists.berlios.de>
>>
>>     Subject: Re: [Opensim-users] [Opensim-dev] Grid Numberging
>>
>>      
>>
>>     Dr Scofield wrote:
>>
>>         
>>
>>         Frisby, Adam wrote:
>>
>>               
>>
>>             Shouldn't UUIDs by definition be unique?
>>
>>              
>>
>>              
>>
>>              
>>
>>             IE -- if your generating them randomly a collision is almost
>>
>>             guaranteed to never ever occur.
>>
>>                     
>>
>>         "almost" being a key word here...
>>
>>               
>>
>>     "...after generating 1 billion UUIDs every second for the next 100
>>
>>     years, the probability of creating just one duplicate would be about
>>
>>     50%. The probability of one duplicate would be about 50% if every
>>
>>     person on earth owns 600 million UUIDs." <http://en.wikipedia.org/wiki/UuidJusttokeep>
>>
>>       <http://en.wikipedia.org/wiki/UuidJusttokeep>
>>
>>     http://en.wikipedia.org/wiki/Uuid <http://en.wikipedia.org/wiki/UuidJusttokeep>
>>
>>       <http://en.wikipedia.org/wiki/UuidJusttokeep>
>>
>>     Just to keep " <http://en.wikipedia.org/wiki/UuidJusttokeep>almost" in perspective,
>>
>>      
>>
>>             -Sean
>>
>>      
>>
>>     --
>>
>>     Sean Dague / Neas Bade
>>
>>     sdague at gmail.com <mailto:sdague at gmail.com>
>>
>>     http://dague.net <http://dague.net/>
>>
>>      
>>
>>         
>>
>> _______________________________________________
>> Opensim-users mailing list
>> Opensim-users at lists.berlios.de <mailto:Opensim-users at lists.berlios.de>
>> https://lists.berlios.de/mailman/listinfo/opensim-users
>>  
>>   
>>
>>
>>
>>  
>> ------------------------------------------------------------------------
>>
>>
>>   
>>  
>> _______________________________________________
>> Opensim-users mailing list
>> Opensim-users at lists.berlios.de <mailto:Opensim-users at lists.berlios.de>
>> https://lists.berlios.de/mailman/listinfo/opensim-users
>>   
>>
>>  
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Opensim-users mailing list
>> Opensim-users at lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/opensim-users
>>   
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Opensim-users mailing list
> Opensim-users at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-users
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20081101/b4890ac5/attachment-0001.html>


More information about the Opensim-dev mailing list