A Universally Unique Identifier is an identifier standard used in
software construction, standardized by the Open Software Foundation
(OSF) as part of the Distributed Computing Environment (DCE). The
intent of UUIDs is to enable distributed systems to uniquely identify
information without significant central coordination. Thus, anyone can
create a UUID and use it to identify something with reasonable
confidence that the identifier will never be unintentionally used by
anyone for anything else. Information labelled with UUIDs can therefore
be later combined into a single database without needing to resolve
name conflicts. The most widespread use of this standard is in
Microsoft's Globally Unique Identifiers (GUIDs) which implement this
standard. Other significant users include Linux's ext2/ext3 filesystem,
LUKS encrypted partitions, GNOME, KDE, and Mac OS X, all of which use
implementations derived from the uuid library found in the e2fsprogs
package.
A UUID is essentially a 16-byte (128-bit) number. In its canonical
hexadecimal form a UUID may look like this:
550e8400-e29b-41d4-a716-446655440000
The number of theoretically possible UUIDs is therefore 2128 = 25616 or
about 3.4 × 1038. This means that 1 trillion UUIDs have to be created
every nanosecond for 10 billion years to exhaust the number of UUIDs.
UUIDs are documented as part of ISO/IEC 11578:1996 ""Information
technology -- Open Systems Interconnection -- Remote Procedure Call
(RPC)"" and more recently in ITU-T Rec. X.667 | ISO/IEC 9834-8:2005
(freely available). The IETF has published Proposed Standard RFC 4122
that is technically equivalent with ITU-T Rec. X.667 | ISO/IEC 9834-8.
A UUID may also be used with a specific identifier intentionally used
repeatedly to identify the same thing in different contexts. For
example, in Microsoft's Component Object Model, every component must
implement the IUnknown interface, which is done by creating a UUID
representing IUnknown. In all cases wherever IUnknown is used, whether
it is being used by a process trying to access the IUnknown interface
in a component, or by a component implementing the IUnknown interface,
it is always referenced by the same identifier,
00000000-0000-0000-C0000-00000000046.
Ref:
http://en.wikipedia.org/wiki/UUID
沒有留言:
張貼留言