On Thu, 07 Feb 2008 08:45:07 -0700
Peter Saint-Andre <[EMAIL PROTECTED]> wrote:

> What do you mean by "time-based UUID"? Could you show us an example or 
> provide a reference to a specification?

Time-based UUIDs are explained in the section 4.2 of the RFC4122¹.
When talking about UUIDs, there are :
 - time-based UUIDs, consisting in a timestamp, some random data, and the MAC 
address
 - name-based UUIDs, consisting in some stuff that make them invariant over time
 - random-based UUIDs, with just random data in them

You could use random-based UUIDs for ThreadID, but I don't know why, I'm not 
very fan of it, even if it's simpler !
You could use name-based UUIDs for it (based on the hash of the message and JID 
maybe).
You could use time-based UUIDs. It's true that the spec says they embed the MAC 
address, which is not thinkable in the context of IM, so it can be replaced by 
a 48-bit hash ( one algorithm that could be used is HMAC-MD5-48 [RFC2104]² ) or 
a random sequence.

Just saying “the thread ID must be an UUID” might result in different 
implementations.
I think we should take a decision concerning the kind of UUID to use.
The simplest are random-based UUIDs, and it sticks well with the idea of 
opaqueness.
Time-based UUIDs, a lot more complicated, could help for some stuff, can be 
considered as not-so-opaque by those data-miners wanting to obtain information 
from them (ie. when was a thread started, making thread trees with just their 
ThreadIDs).
Name-based UUIDs ? don't know.

I totally agree that saying “random-based UUIDs” is smarter, and my idea is a 
lot of brain masturbation ;)

Regards,

Refs:
 ¹ RFC4122 http://www.ietf.org/rfc/rfc4122.txt
 ² RFC2104 http://www.ietf.org/rfc/rfc2104.txt

-- 
Jérôme Carretero

Attachment: signature.asc
Description: PGP signature

Reply via email to