An
identification number,
theoretically created
uniquely. That is,
theoretically, no two
GUIDs should be the same. Naturally, with a
fixed length, this is not
possible, since the
identifier will eventually
overflow. The method by which a
GUID is formed
depends upon the
library used.
For instance, in
Microsoft OSes, the
GUID is created as a 128-
bit number by the
operating system and thus the
OS acts as the
mediator, doling out
GUIDs and guaranteeing their
uniqueness on that machine. This is done
based upon the
hardware address of an
ethernet card in the
machine or, if none is
present, another way. Additionally, the
date,
time, a
counter, and some more stuff. (
see http://msdn.microsoft.com/library/books/inole/S10E8.HTM for more info) The
idea behind this is that each
hardware address should be
unique.
Microsoft makes
extensive use of
GUIDs in
Windows.
There was much
concern a
while back because
Microsoft Windows 98 created each user with a
GUID that was
sent to
Microsoft when the
OS was
registered. A
fix was made
available in
response to the
public uprising. Additionally, there was much
concern because
Microsoft Office documents also were found to
contain user-
linkable
GUIDs. Again, in
response to
public uprising,
Microsoft made a
fix and
program to
prevent GUIDs from being created and to
remove GUIDs from
existing documents.
GUIDs have actually been
around for a
while and are used in a
variety of
applications,
especially in
RPCs, where they are
known as
UUIDs.