Globally Unique Identifier ▪ Sale

A Globally Unique Identifier (GUID, /ˈɡwɪd/ or pron.: /ˈɡɪd/) is a unique reference number used as an identifier in computer software. The term GUID typically refers to various implementations of the universally unique identifier (UUID) standard.

GUIDs are usually stored as 128-bit values, and are commonly displayed as 32 hexadecimal digits with groups separated by hyphens, such as {21EC2020-3AEA-1069-A2DD-08002B30309D}. GUIDs generated from random numbers contain 6 fixed bits saying they are random and 122 random bits; the total number of unique such GUIDs is 2 or 5.3×10. This number is so large that the probability of the same number being generated randomly twice is negligible; however other GUID versions have different uniqueness properties and probabilities, ranging from guaranteed uniqueness to likely non-uniqueness.

Common uses [edit]

Binary encoding [edit]

A GUID can be stored as a 16-byte (128-bit) number; Microsoft defines a format which is split into four fields, defined as follows. Note that this format differs from the UUID standard only in the byte order of the first 3 fields.

Bits Bytes Name Endianness

(Microsoft GUID Structure)

Endianness

RFC 4122

32 4 Data1 Native Big
16 2 Data2 Native Big
16 2 Data3 Native Big
64 8 Data4 Big Big

This endianness applies only to the way in which a GUID is stored, and not to the way in which it is represented in text. GUIDs and RFC 4122 UUIDs should be identical when displayed textually.

One to three of the most significant bits of the first byte in Data 4 define the type variant of the GUID:

Pattern Description
0xx Network Computing System backward compatibility
10x Standard
110 Microsoft Component Object Model backward compatibility; this includes the GUIDs for important interfaces like IUnknown and IDispatch
111 Reserved for future use

For the "standard" variant, the most significant four bits of Data3 define the version number, and the algorithm used.

Text encoding [edit]

A GUID is most commonly written in text as a sequence of hexadecimal digits separated into five groups, such as:

3F2504E0-4F89-11D3-9A0C-0305E82C3301

This text notation contains the following fields, separated by hyphens:

Hex digits Description
8 Data1
4 Data2
4 Data3
4 Initial two bytes from Data4
12 Remaining six bytes from Data4

For the first three fields, the most significant digit is on the left. The last two fields are treated as eight separate bytes, each having their most significant digit on the left, and they follow each other from left to right. Note that the digit order of the fourth field may be unexpected, since it's treated differently than in the structure.

Often braces are added to enclose the above format, such as:

{3F2504E0-4F89-11D3-9A0C-0305E82C3301}

This is sometimes known as "registry format".

When printing fewer characters is desired, GUIDs are sometimes encoded into a base64 or Ascii85 string.

A base64-encoded GUID consists of 22 to 24 characters (depending on padding), for instance:

4AQlP4lP0xGaDAMF6CwzAQ
4AQlP4lP0xGaDAMF6CwzAQ==

and Ascii85 encoding gives 20 characters, for example:

5:$Hj:Pf\4RLB9%kU\Lj

In Uniform Resource Names (URN), GUIDs have namespace identifier "uuid", e.g.:

urn:uuid:3F2504E0-4F89-11D3-9A0C-0305E82C3301

Algorithm [edit]

In the OSF-specified algorithm for generating new (V1) GUIDs, the user's network card MAC address is used as a base for the last group of GUID digits, which means, for example, that a document can be tracked back to the computer that created it. This privacy hole was used when locating the creator of the Melissa virus. Most of the other digits are based on the time while generating the GUID.

V1 GUIDs which contain a MAC address and time can be identified by the digit "1" in the first position of the third group of digits, for example {2F1E4FC0-81FD-11DA-9156-00036A0F876A}.

V4 GUIDs use the later algorithm, which is a pseudo-random number. These have a "4" in the same position, for example {38A52BE4-9352-453E-AF97-5C3B448652F0}. More specifically, the 'data3' bit pattern would be 0001xxxxxxxxxxxx in the first case, and 0100xxxxxxxxxxxx in the second. Cryptanalysis of the WinAPI GUID generator shows that, since the sequence of V4 GUIDs is pseudo-random, given full knowledge of the internal state, it is possible to predict previous and subsequent values.

Non-unique GUIDs [edit]

Certain GUIDs turn up again and again, both intentionally, and otherwise. In a GUID Partition Table (GPT), it's not appropriate for more than one disk to have the same Disk GUID, or for more than one partition to have the same Unique partition GUID, however it is appropriate for multiple partitions to use the same Partition type GUID. So only Linux swap partitions, and all Linux swap partitions on GPT-formatted disks can be counted on to have the GUID 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F, for example.

Some flawed GUID-generating implementations rely on pseudo-random number generators that use random number seed sources that turn out to be predictable. Standard Valid GUIDs are not chosen at random; they are chosen by standardized algorithms. (See, e.g. RFC 4122.) These algorithms result in GUIDs that are more reliably unique than ones chosen using even a hypothetically perfect random number generator, and far more reliably unique than numbers chosen by pseudorandom number generators.

Non-unique FireWire GUIDs [edit]

Operating systems (including Windows, Mac OS X and Linux) are designed based on the expectation that a given disk will never have the same Disk GUID as another. However, the so-called FireWire GUIDs (which are called GUIDs, but are a non-standard 64 bits) of every unit of several common models of hard drive/drive case that each use the same manufacturer's chipset, Oxford Semiconductor, all have the same GUID - 0x30E002E0454647 (sometimes displayed in decimal form as Connection ID 13757101839304263) including NewerTech, Vantec, and Cavalry, and this causes problems when such drives are daisy-chained or otherwise connected to the same system. The manufacturers were supposed to serialize them, but many didn't.[when? clarification needed]

Sequential algorithms [edit]

GUIDs are commonly used as the primary key of database tables, and with that, often the table has a clustered index on that attribute. This presents a performance issue when inserting records because a fully random GUID means the record may need to be inserted anywhere within the table rather than merely appended near the end of it.

As a way of mitigating this issue while still providing enough randomness to effectively prevent duplicate number collisions, several algorithms have been used to generate sequential GUIDs.

The oldest technique, present as a feature in early version of Microsoft's GUIDGEN SDK tool, works by simply outputting the set of MAC-based version 1 GUIDs corresponding to a time interval, taking advantage of the fact that the time field in v1 GUIDs has a resolution of 100 ns, which allows a million sequential GUIDs to be generated by simply locking out other GUID generators on the computer for a tenth of a second (or 10000 GUIDs in a millisecond). These sequential GUIDs are unique, but the increment happens in the Data1 field, not at the end of the GUID.

The second technique, described by Jimmy Nilsson in August 2002 and referred to as a "COMB" ("combined guid/timestamp"), replaces the last 6 bytes of Data4 in a random (version 4) GUID with the least-significant 6 bytes of the current system date/time. While this can result in GUIDs that are generated out of order within the same fraction of a second, his tests showed this had little real-world[clarify] impact on insertion. One side effect of this approach is that the date and time of insertion can be easily extracted from the value later, if desired. The COMB technique tries to compensate for the reduced clustering in database indexes caused by switching to an OS version that uses random GUIDs rather than MAC-based GUIDs, and is useful only when it is not possible to revert to version 1 GUIDs.

Starting with Microsoft SQL Server version 2005, Microsoft added a function to the Transact-SQL language called NEWSEQUENTIALID(), which essentially provides access to the traditional version 1 GUIDs (or something so close it fits the same description), with all their advantages and disadvantages.

In 2006, a programmer found that the SYS_GUID function provided by Oracle was returning sequential GUIDs on some platforms, but this appears to be a bug rather than a feature.

Uses [edit]

In the Microsoft Component Object Model (COM), GUIDs are used to uniquely distinguish different software component interfaces. This means that two (possibly incompatible) versions of a component can have exactly the same name but still be distinguishable by their GUIDs. For example, in the creation of components for Microsoft Windows using COM, all components must implement the IUnknown interface to allow client code to find all other interfaces and features of that component, and they do this by creating a GUID which may be called upon to provide an entry point. The IUnknown interface is defined as a GUID with the value of {00000000-0000-0000-C000-000000000046}, and rather than having a named entry point called "IUnknown", the preceding GUID is used, thus every component that provides an IUnknown entry point gives the same GUID, and every program that looks for an IUnknown interface in a component always uses that GUID to find the entry point, knowing that an application using that particular GUID must always consistently implement IUnknown in the same manner and the same way.

GUIDs are also inserted into documents from Microsoft Office programs. Even audio or video streams in the Advanced Systems Format (ASF) are identified by their GUIDs.

A GUID's representation can be little endian or big endian, so all APIs need to ensure that the correct data structure is used.

Subtypes [edit]

There are several flavors of GUIDs used in COM:

DCOM introduces many additional GUID subtypes:

These GUID subspaces may overlap, as the context of GUID usage defines its subtype. For example, there might be a class using the same GUID for its CLSID as another class is using for its IID - all without a problem. On the other hand, two classes using the same CLSID could not co-exist.

XML syndication formats [edit]

There is also a guid element in some versions of the RSS specification, and a mandatory id element in Atom, which should contain a unique identifier for each individual article or weblog post. In RSS the contents of the GUID can be any text, and in practice is typically a copy of the article URL. Atoms' IDs need to be valid URIs (usually URLs pointing to the entry, or URNs containing any other unique identifier).

See also [edit]

References [edit]

  1. "GUID structure (Windows)". Msdn.microsoft.com. Retrieved 2012-08-14. 
  2. A Universally Unique IDentifier (UUID) URN Namespace
  3. Registry Keys and Entries for a Type 1 Online Store. Microsoft.com.
  4. "Tracking Melissa's alter egos" (Press release). ZDNet. 1999-04-02. 
  5. "Design and Cryptanalysis of UUID-generator in Windows". Gotdotnet.ru. 2008-06-23. Retrieved 2012-06-20. 
  6. "Using two usb/firewire external drive with oxford chip « Prune's Blog". Lecentre.net. Retrieved 2013-04-06. 
  7. Nilsson, Jimmy. "InformIT". InformIT. Retrieved 2012-06-20. 
  8. "MSDN". Msdn.microsoft.com. Retrieved 2012-06-20. 
  9. Watch out for sequential Oracle GUIDs!, Steven Feuerstein, Oracle Professional, 19 February 2006. Retrieved 2011-12-08.

External links [edit]

Popular search requests

Globally Unique Identifier is an object of interest for many people. For example, the people often search for Globally Unique Identifier website, Globally Unique Identifier blog, Globally Unique Identifier online, Globally Unique Identifier information, Globally Unique Identifier photo, Globally Unique Identifier picture, Globally Unique Identifier video, Globally Unique Identifier movie, Globally Unique Identifier history, Globally Unique Identifier news, Globally Unique Identifier facts, Globally Unique Identifier description, Globally Unique Identifier detailed info, Globally Unique Identifier features, Globally Unique Identifier manual, Globally Unique Identifier instructions, Globally Unique Identifier comparison, Globally Unique Identifier book, Globally Unique Identifier story, Globally Unique Identifier article, Globally Unique Identifier review, Globally Unique Identifier feedbacks, Globally Unique Identifier selection, Globally Unique Identifier data, Globally Unique Identifier address, Globally Unique Identifier phone number, download Globally Unique Identifier, Globally Unique Identifier reference, Globally Unique Identifier wikipedia, Globally Unique Identifier facebook, Globally Unique Identifier twitter, Globally Unique Identifier 2013, Globally Unique Identifier 2014, Globally Unique Identifier in the United States, Globally Unique Identifier USA, Globally Unique Identifier US, Globally Unique Identifier in United Kingdom, Globally Unique Identifier UK, Globally Unique Identifier in Canada, Globally Unique Identifier in Australia, etc.

Globally Unique Identifier is also an object of commercial interest. For example, many people are interested in Globally Unique Identifier offers, Globally Unique Identifier buy, Globally Unique Identifier sell, Globally Unique Identifier sale, Globally Unique Identifier discounts, discounted Globally Unique Identifier, Globally Unique Identifier coupon, Globally Unique Identifier promo code, Globally Unique Identifier order, to order Globally Unique Identifier online, to buy Globally Unique Identifier, how much for Globally Unique Identifier, Globally Unique Identifier price, Globally Unique Identifier cost, Globally Unique Identifier price list, Globally Unique Identifier tariffs, Globally Unique Identifier rates, Globally Unique Identifier prices, Globally Unique Identifier delivery, Globally Unique Identifier store, Globally Unique Identifier online store, Globally Unique Identifier online shop, inexpensive Globally Unique Identifier, cheap Globally Unique Identifier, Globally Unique Identifier for free, free Globally Unique Identifier, used Globally Unique Identifier, and so on.

Information source: wikipedia.org

Do you want to know more? Look at the full version of the Globally Unique Identifier article.

HOT DESIGNS
Premium designs
Designs by country
Designs by U.S. state
Most popular designs
Newest, last added designs
Unique designs
Cheap, budget designs
Design super sale

DESIGNS BY THEME
Accounting, audit designs
Adult, sex designs
African designs
American, U.S. designs
Animals, birds, pets designs
Agricultural, farming designs
Architecture, building designs
Army, navy, military designs
Audio & video designs
Automobiles, car designs
Books, e-book designs
Beauty salon, SPA designs
Black, dark designs
Business, corporate designs
Charity, donation designs
Cinema, movie, film designs
Computer, hardware designs
Celebrity, star fan designs
Children, family designs
Christmas, New Year's designs
Green, St. Patrick designs
Dating, matchmaking designs
Design studio, creative designs
Educational, student designs
Electronics designs
Entertainment, fun designs
Fashion, wear designs
Finance, financial designs
Fishing & hunting designs
Flowers, floral shop designs
Food, nutrition designs
Football, soccer designs
Gambling, casino designs
Games, gaming designs
Gifts, gift designs
Halloween, carnival designs
Hotel, resort designs
Industry, industrial designs
Insurance, insurer designs
Interior, furniture designs
International designs
Internet technology designs
Jewelry, jewellery designs
Job & employment designs
Landscaping, garden designs
Law, juridical, legal designs
Love, romantic designs
Marketing designs
Media, radio, TV designs
Medicine, health care designs
Mortgage, loan designs
Music, musical designs
Night club, dancing designs
Photography, photo designs
Personal, individual designs
Politics, political designs
Real estate, realty designs
Religious, church designs
Restaurant, cafe designs
Retirement, pension designs
Science, scientific designs
Sea, ocean, river designs
Security, protection designs
Social, cultural designs
Spirit, meditational designs
Software designs
Sports, sporting designs
Telecommunication designs
Travel, vacation designs
Transport, logistic designs
Web hosting designs
Wedding, marriage designs
White, light designs

E-COMMERCE DESIGNS
Magento store designs
OpenCart store designs
PrestaShop store designs
CRE Loaded store designs
Jigoshop store designs
VirtueMart store designs
osCommerce store designs
Zen Cart store designs

CMS DESIGNS
Flash CMS designs
Joomla CMS designs
Mambo CMS designs
Drupal CMS designs
WordPress blog designs
Forum designs
phpBB forum designs
PHP-Nuke portal designs

ANIMATED WEBSITE DESIGNS
Flash CMS designs
Silverlight animated designs
Silverlight intro designs
Flash animated designs
Flash intro designs
XML Flash designs
Flash 8 animated designs
Dynamic Flash designs
Flash animated photo albums
Dynamic Swish designs
Swish animated designs
jQuery animated designs

WEBSITE DESIGNS
WebMatrix Razor designs
HTML 5 designs
Web 2.0 designs
3-color variation designs
3D, three-dimensional designs
Artwork, illustrated designs
Clean, simple designs
CSS based website designs
Full design packages
Full ready websites
Portal designs
Stretched, full screen designs
Universal, neutral designs

CORPORATE ID DESIGNS
Corporate identity sets
Logo layouts, logo designs
Logotype sets, logo packs
PowerPoint, PTT designs
Facebook themes

VIDEO, SOUND & MUSIC
Video e-cards
After Effects video intros
Special video effects
Music tracks, music loops
Stock music bank

GRAPHICS & CLIPART
Pro clipart & illustrations, $19/year
5,000+ icons by subscription
Icons, pictograms

 
Globally Unique Identifier Sale - Buy now!
Super Offers
Super Offers
Custom Logo Design $149  ▪  Web Programming  ▪  ID Card Printing  ▪  Best Web Hosting  ▪  eCommerce Software  ▪  Add Your Link
© 1996-2013 MAGIA Internet StudioAboutPortfolioPhoto on DemandHostingAdvertiseSitemapPrivacyMaria Online