[sldev] UUID variant/version bits?

Argent Stonecutter secret.argent at gmail.com
Thu Nov 29 07:19:16 PST 2007


On 29-Nov-2007, at 00:25, Lawson English wrote:
> Argent Stonecutter wrote:
>> 302 Remote asset
>>
>> Location: http://otherguy:theirport/some/opaque/path/and/id
>>
>> And the asset server AND you can't make any assumptions about what  
>> "/some/opaque/path/and/id" means.
>>
>
> But....
>
> What if there is a collission between the UUIDs of two different  
> domains?

UUIDs should not be shared between domains, they're only used  
internally (for example, in scripts, and in references within  
compound assets). Portability of scripts between domains is probably  
not a given.

You don't need to have URIs hidden from the clients, either. The  
client just needs to track the server it got the URI from and to be  
able to go "oh, this is a UUID, I can't use this directly, I better  
ask the asset server how to map its UUIDs to URIs". The server would  
send the client something like "Use 'http://server:9999/cap/foo/jutsu/ 
%s'". If the domain does an indirect mapping that would instead be  
"Use 'http://server/uuid_map.asp?uuid=%s'" and then it would return a  
redirect like the above.

This wouldn't be inefficient. Any of these names could be cached by  
the client as a permanent URI to map that UUID to, though it would be  
smartest to at least save the first and last of any chain of  
redirects and use the most recent (the end) link first. This would  
mean that the *server* could cache the result as well, and change it  
if someone else's asset server goes down and it needs to remap them  
to its locally cached copy of the asset - the client would go "hey,  
'http://otherguy:theirport/some/opaque/path/and/id' doesn't work for  
UUIO, I'll try 'http://server/uuid_map.asp?uuid=UUID'" and the server  
would redirect to 'http://server:9999/cap/foo/jutsu/UUID').



More information about the SLDev mailing list