<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Duplication of keys is a non-issue, but addressing is an issue. Given a
UUID, it's impossible to know to what system it belongs to. This mode
of identifying things is designed for centralized systems, and as such
it is fundamentally unscalable. OpenSim will never be able to become
the Apache server of 3D if it doesn't solve this addressing problem.
Everything should be qualified with an IP address / domain name + port.
Something like this:<br>
<br>
OSUUID ::=
[<protocol>://<domain>[:port][/<type>/]]UUID<br>
<br>
If the optional part is missing, the thing is assumed to be in the
local grid, using the defaults for all of those fields.<br>
<br>
Teravus Ovares wrote:
<blockquote
cite="mid:34cc66250806110633v74d69751va82f1247931d96b1@mail.gmail.com"
type="cite">
<div>Just a FYI, </div>
<div> </div>
<div>UUIDS will not be duplicated across grids, we've stated in many
forums that the chances of a UUID duplication even across hundreds of
grids generating UUIDs at the same time is like winning the lottery 50
times in a row, it just doesn't happen.</div>
<div> </div>
<div>Best Regards</div>
<div> </div>
<div>Teravus<br>
<br>
</div>
<div><span class="gmail_quote">On 6/11/08, <b
class="gmail_sendername">f.d.g.</b> <<a moz-do-not-send="true"
href="mailto:opensim-ml@fdg.org">opensim-ml@fdg.org</a>> wrote:</span>
<blockquote class="gmail_quote"
style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">If
I'm allowed to throw in my 2 cents...<br>
<br>
Sean Dague wrote:<br>
> On Tue, Jun 10, 2008 at 01:39:41AM +0900, liu xiaolu wrote:<br>
>> I think it is not necessary (or should not) to check assetID's
avaliability<br>
>> by using C# code.<br>
>> It is a tired, buggy way to go, even you can make
"getinventory"<br>
>> synchronous.<br>
>> Both of the MySQL, MSSQL have the native support of "FOREGIN
KEY<br>
>> constaints".<br>
>> RDBMS should handle such task for us.<br>
><br>
> SQLite doesn't handle it natively, and we've not really used
foreign<br>
> keys anywhere else in the design up till this point.<br>
<br>
If SQLite doesn't handle it (natively), then please don't use it,<br>
because: OpenSim right now is (nearly) perfect for SL skin/(basic)<br>
clothes designers. They can use the official viewer for previewing,<br>
without having to use some 'strange' programs or relying on the beta<br>
grid or paying for every upload to SL. The ease of use of OpenSim is<br>
given by the simple setup - just hit enter several times. These<br>
designers surely don't want to mess around with setting up MySQL or<br>
MSSQL or any other database.<br>
<br>
<br>
The second reason for not relying on the RDBMS "FOREIGN KEY", in my<br>
opinion, is the question: Would it work with Capabilities?<br>
<br>
<br>
In the context of capabilities I hope I'm also allowed to explain my<br>
hope on to what OpenSim will develop in the future - and I think the<br>
"FOREIGN KEY" perhaps won't work in that situation:<br>
<br>
Right now UUIDs are used as a key to everything. As far as I can see<br>
these UUIDs are unique only on one single grid - on another grid the<br>
same UUID could point to something completely different. Thus,<br>
connecting two grids won't work. As far as I can see the realXtend<br>
people do the travelling from one grid to another 'simply' by loging out<br>
the current user and loging in a new user on the grid you travel to,<br>
thus needing to create accounts on all grids you want to travel to.<br>
<br>
Now, how about 'simply' prepending a fully qualified domain name to the<br>
UUIDs? Then the grid you just travelled to could get all the needed<br>
data, like avatar appearance, by contacting the 'home' grid of that<br>
avatar and caching this needed data as long as the avatar is on that<br>
grid - and which grid is the 'home' grid of that avatar it knows from<br>
the FQDN prepented to the UUID of that avatar. By the way, I think it<br>
then would be needed to prepend a FQDN to every UUID to prevent<br>
duplicate UUIDs, like UUIDs for skins, clothes, attachments and so on.<br>
<br>
As far as I can see, this "prepending a FQDN to a UUID" is what<br>
capabilities look like, so with the proper use of capabilties throughout<br>
the whole system the implementation of 'grid-hopping' would be rather
easy.<br>
<br>
<br>
<br>
Bye<br>
f.d.g.<br>
_______________________________________________<br>
Opensim-dev mailing list<br>
<a moz-do-not-send="true" href="mailto:Opensim-dev@lists.berlios.de">Opensim-dev@lists.berlios.de</a><br>
<a moz-do-not-send="true"
href="https://lists.berlios.de/mailman/listinfo/opensim-dev">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br>
</blockquote>
</div>
<br>
<pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Opensim-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-dev@lists.berlios.de">Opensim-dev@lists.berlios.de</a>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-dev">https://lists.berlios.de/mailman/listinfo/opensim-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>