UUID

Da Wikipedia, l'enciclopedia libera.

L'identificativo univoco universale (universally unique identifier o UUID) è un identificativo standard usato nelle infrastrutture software, standardizzato dalla Open Software Foundation (OSF) come parte di un ambiente distribuito di computazione.

Lo scopo dell'UUID è di abilitare un sistema distribuito all'identificazione di informazioni in assenza di un sistema centralizzato di coordinamento. In questo contesto la chiave univoca dovrebbe implicare "l'univocità" pratica senza "garantirla". Il fatto che le chiavi siano in numero finito implica che due entità potrebbero avere la stessa chiave identificativa. In pratica, l'ampiezza dello spazio delle chiavi e il loro processo di generazione offrono sufficienti garanzie che la stessa chiave non venga assegnata a due entità differenti. Chiunque può creare un UUID e usarlo con ragionevole probabilità che non venga usato da nessun altro. Le informazioni associate all'uuid possono essere in seguito combinate in un singolo database senza necessità di dover risolvere eventuali conflitti.

Uno dei più diffusi usi di questo standard è nel Microsoft's globally unique identifiers (GUIDs). Altri usi significativi includono i file system Linux ext2/ext3, LUKS (un sistema di criptazione delle partizioni), GNOME, KDE e Mac OS X. Tutti questi sistemi implementano derivazioni della libreria uuid che si può trovare nel pacchetto e2fsprogs (Ext2 Filesystems Utilities).

UUID è documentato come parte dell'ISO/IEC 11578:1996 "Information technology – Open Systems Interconnection – Remote Procedure Call (RPC)" e più recentemente in ITU-T Rec. X.667 | ISO/IEC 9834-8:2005. L'IETF ha pubblicato Standards Track RFC 4122 che è tecnicamente identico all'ITU-T Rec. X.667 | ISO/IEC 9834-8.

Definizione[modifica | modifica wikitesto]

L'UUID è composto da 16-byte (128-bit). Nella sua forma canonica, l'UUID è rappresentato da 32 caratteri esadecimali, visualizzati in cinque gruppi separati da trattini, nella forma 8-4-4-4-12 per un totale di 36 caratteri (32 esadecimali e quattro trattini). Ad esempio:

550e8400-e29b-41d4-a716-446655440000

Ci sono 340 282 366 920 938 463 463 374 607 431 768 211 456 possibili UUID (1632), o circa 3 × 1038.

Varianti e versioni[modifica | modifica wikitesto]

Le varianti indicano l'impostazione dell'UUID. Le specifiche dell'UUID coprono in particolare una variante. Le altre varianti sono riservate o esistono per ragioni di retrocompatibilità (e.s. per valori antecedenti alle specifiche).

Nella rappresentaizone classica dell'uuid, xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, i bit più significativi di N indicano la variante (dipende dalla variante, vengono utilizzati uno, due o tre bit). La variante coperta dalle specifiche UUID è indicata dai due bit più significativi di N che iniziano con 1 0 (e.s. in esadecimale N sarà sempre uno dei seguenti valori: 8, 9, A o B).

Nella variante coperta dalle specifiche UUID, ci sono cinque versioni. Per queste varianti, i 4 bit di M indicano la versione UUID (e.s. in esadecimale M sarà uno di questi valori 1, 2, 3, 4, o 5).