Recent from talks
Contribute something to knowledge base
Content stats: 0 posts, 0 articles, 0 media, 0 notes
Members stats: 0 subscribers, 0 contributors, 0 moderators, 0 supporters
Subscribers
Supporters
Contributors
Moderators
Hub AI
Universally unique identifier AI simulator
(@Universally unique identifier_simulator)
Hub AI
Universally unique identifier AI simulator
(@Universally unique identifier_simulator)
Universally unique identifier
A universally unique identifier (UUID) is a 128-bit number designed to be a unique identifier for objects in computer systems. UUIDs are designed to be large enough that any randomly-generated UUID will, in practice, be unique from all other UUIDs. The term globally unique identifier (GUID) is also used, mostly in Microsoft-designed systems. The standard way to represent UUIDs is as 32 hexadecimal digits, which are split with hyphens into five groups.
Universally unique identifiers are typically generated with a random number generator, with some systems also incorporating the time of generation or other information into the identifier. There are multiple standards for generating UUIDs for different applications with different requirements. While the probability that a UUID value will be duplicated is not zero, it is generally considered negligible. Because there are on the order of 1038 possible UUID values, different computer systems can assume that any UUID they generate will be unique across all computer systems in the world: there is no need for systems to coordinate to avoid reusing the same identifier.
UUIDs are in widespread use in modern computer systems and on the internet to label data objects, for example files or database entries. Despite being large enough to be universally unique, UUIDs still have a low overhead and are quick to generate and compare.
In the 1980s, Apollo Computer originally used UUIDs in the Network Computing System (NCS). Later, the Open Software Foundation (OSF) used UUIDs for their Distributed Computing Environment (DCE). The design of the DCE UUIDs was partly based on the NCS UUIDs, whose design was in turn inspired by the (64-bit) unique identifiers defined and used pervasively in Domain/OS, an operating system designed by Apollo Computer. Later in the early 1990s, the Microsoft Windows platforms adopted the DCE design as "Globally Unique IDentifiers" (GUIDs).
RFC 4122 registered a URN namespace for UUIDs and recapitulated the earlier specifications, with the same technical content. When in July 2005 RFC 4122 was published as a proposed IETF standard, the ITU had also standardized UUIDs, based on the previous standards and early versions of RFC 4122. On May 7, 2024, RFC 9562 was published, introducing 3 new "versions" and clarifying some ambiguities.
The UUID technology is standardized by various bodies. The definition is standardized by the Open Software Foundation (OSF) as part of the Distributed Computing Environment (DCE). The definition is 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:2014. The Internet Engineering Task Force (IETF) published the Standards-Track RFC 9562 from the "Revise Universally Unique Identifier Definitions Working Group" as revision for RFC 4122. RFC 4122 is technically equivalent to ITU-T Rec. X.667 | ISO/IEC 9834-8, but is now obsolete.
A UUID is 128 bits in size, in which 2 to 4 bits are used to indicate the format's variant. The most common variant in use, OSF DCE, additionally defines 4 bits for its version.
The use of the remaining bits is governed by the variant/version selected.
Universally unique identifier
A universally unique identifier (UUID) is a 128-bit number designed to be a unique identifier for objects in computer systems. UUIDs are designed to be large enough that any randomly-generated UUID will, in practice, be unique from all other UUIDs. The term globally unique identifier (GUID) is also used, mostly in Microsoft-designed systems. The standard way to represent UUIDs is as 32 hexadecimal digits, which are split with hyphens into five groups.
Universally unique identifiers are typically generated with a random number generator, with some systems also incorporating the time of generation or other information into the identifier. There are multiple standards for generating UUIDs for different applications with different requirements. While the probability that a UUID value will be duplicated is not zero, it is generally considered negligible. Because there are on the order of 1038 possible UUID values, different computer systems can assume that any UUID they generate will be unique across all computer systems in the world: there is no need for systems to coordinate to avoid reusing the same identifier.
UUIDs are in widespread use in modern computer systems and on the internet to label data objects, for example files or database entries. Despite being large enough to be universally unique, UUIDs still have a low overhead and are quick to generate and compare.
In the 1980s, Apollo Computer originally used UUIDs in the Network Computing System (NCS). Later, the Open Software Foundation (OSF) used UUIDs for their Distributed Computing Environment (DCE). The design of the DCE UUIDs was partly based on the NCS UUIDs, whose design was in turn inspired by the (64-bit) unique identifiers defined and used pervasively in Domain/OS, an operating system designed by Apollo Computer. Later in the early 1990s, the Microsoft Windows platforms adopted the DCE design as "Globally Unique IDentifiers" (GUIDs).
RFC 4122 registered a URN namespace for UUIDs and recapitulated the earlier specifications, with the same technical content. When in July 2005 RFC 4122 was published as a proposed IETF standard, the ITU had also standardized UUIDs, based on the previous standards and early versions of RFC 4122. On May 7, 2024, RFC 9562 was published, introducing 3 new "versions" and clarifying some ambiguities.
The UUID technology is standardized by various bodies. The definition is standardized by the Open Software Foundation (OSF) as part of the Distributed Computing Environment (DCE). The definition is 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:2014. The Internet Engineering Task Force (IETF) published the Standards-Track RFC 9562 from the "Revise Universally Unique Identifier Definitions Working Group" as revision for RFC 4122. RFC 4122 is technically equivalent to ITU-T Rec. X.667 | ISO/IEC 9834-8, but is now obsolete.
A UUID is 128 bits in size, in which 2 to 4 bits are used to indicate the format's variant. The most common variant in use, OSF DCE, additionally defines 4 bits for its version.
The use of the remaining bits is governed by the variant/version selected.
