# Handle System

L’Handle System è un registro gestito dalla CNRI che assegna identificatori persistenti, o handle, alle risorse informatiche, e infine a risolvere gli handle inseriti nell'informazione necessari per individuare, accedere ed infine utilizzare quelle risorse.
Come per gli handle utilizzati altrove in informatica (handle delle funzioni implementate in un linguaggio di programmazione di un sistema operativo), gli Handle prodotti dall'Handle System sono trasparenti e non codificano alcuna informazione sulla risorsa sottostante, essendo vincolati solo ai metadati della risorsa. Di conseguenza, gli Handle non vengono invalidati dalle modifiche effettuate ai metadati.
Questo sistema è stato sviluppato da Robert E. Kahn del CNRI. Il lavoro iniziale fu effettuato alla DARPA negli anni 1992-1996, come parte di un'attività più ampia per i servizi degli oggetti digitali distribuiti, ed è stata quindi contemporanea con il primo sviluppo del World Wide Web, con obiettivi simili.
L'Handle System (HS) fu implementato nell'autunno del 1994, ed era gestito ed amministrato dal CNRI fino a Dicembre 2015, quando venne introdotto un nuovo modo di operare detto multi-primary administrator (MPA). La DONA Foundation amministra il Global Handle Registry (GHR) del sistema HS e crea gli MPA, collabora con il CNRI e la IDF. L'HS attualmente fornisce l'infrastruttura sottostante per sistemi basati sul concetto di Handle come il DOI e il DSpace, e vengono utilizzati per dare accesso nel campo dell'istruzione, in quello professionale, per i documenti governativi e per risorse informatiche generiche.
Il CNRI provvede le specifiche e il codice sorgente per implementare i riferimenti ai server e ai protocolli usati dal sistema attraverso una "Public License" esente da diritti, in modo simile ad una licenza open source.
Attualmente sono in esecuzione migliaia di servizi Handle. Più di 1000 sono per le università e le librerie, ma essi operano pure nei laboratori nazionali, in gruppi di ricerca, agenzie governative e imprese commerciali, ricevendo oltre 200 milioni di richieste di risoluzione ogni mese.

## Specifiche

L'Handle System viene definito dalle specifiche RFC 3650, 3651 e 3652 della IETF; queste includono un insieme di protocolli aperti, un namespace, e un riferimento all'implementazione dei protocolli. La documentazione, il software, e altre indormazioni sono fornite dal CNRI su un sito specifico.

### Rappresentazione standard

Gli Handle consistono di un prefisso che identifica l'autorità di denominazione e un suffisso che descrive il nome locale di una risorsa. Come per i nomi di un dominio internet, i prefissi sono rilasciati alle autorità di denominazione da uno degli MPA del sistema dietro pagamento di una quota, che dev'essere rinnovata annualmente. Un'autorità di denominazione può creare qualsiasi numero di Handle, ogni Handle ha un solo nome locale, all'interno dei prefissi assegnati. Esempi di sequenze Handle sono:
* 20.1000/100
* 2381/12345
Nel primo esempio, che descrive l'Handle per la licenza software del sito HANDLE.NET, 20.1000 è il prefisso assegnato all'autorità di denominazione (cioè Handle.net) mentre 100 è un nome locale dentro il namespace. Il nome locale può consistere di qualsiasi insieme di caratteri Unicode UCS-2. Anche il prefisso è formato di caratteri UCS-2, a parte "/". I prefissi possono essere formati da uno o più segmenti, separati da puntini, e rappresentano una gerarchia di autorità di denominazione. Nell'esempio 20 è il prefisso per CNRI, mentre 1000 indica un nome di autorità subordinata all'interno del prefisso 20. Altri prefissi top-level riconosciuti dalla DONA Foundation sono 10 per gli Handle della DOI; 11 per gli Handle assegnati dalla ITU; 21 per gli Handle rilasciati dalla German Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen (GWDG), il centro informatico dell'Università Georg-August di Gottinga; e 86 per Coalition of Handle Services – China. I vecchi prefissi "legacy" creati dal CNRI prima che la struttura MPA fosse definita hanno da 4 a 5 cifre, come il 2381 del secondo esempio, un Handle gestito dall'Università di Leicester. Tutti i prefissi sono registrati nel GHR tramite una registrazione accettata dalla DONA Foundation, di solito per una quota in denaro.
Vi sono namespace dell'Handle System con specifiche regole sui prefissi. Ad esempio, il namespace DOI, che utilizza un'alta percentuale degli Handle esistenti, viene rappresentato con un prefisso "doi:":
* doi:10.1000/182.
Come succede in altre applicazioni degli handle, questi sono trasparenti; cioè, non codificano informazioni sulla risorsa sottostante ma forniscono solo i mezzi per recuperare i metadati associati. Questo contrasta con una sequenza di caratteri URL, che codifica all'interno dell'identificatore tali attributi come protocollo da utilizzare per accedere al server che contiene la risorsa, identificare univocamente l'indirizzo server host e il numero della porta, e forse anche le posizioni specifiche come il nome di un file nel file system del server. Nell'Handle System, queste specifiche non sono codificate negli Handle, ma si trovano nei metadati a cui è associato l'Handle.
I metadati possono includere molti attributi della risorsa di informazioni, come le sue locazioni, le forme in cui è disponibile, i tipi di accesso ("libero", "abbonamento") offerti, e chi può accedere. L'elaborazione dei metadati per determinare come e dove dovrebbe essere accessibile e la fornitura della risorsa all'utente viene condotta in un passaggio separato, detto risoluzione, usando un Resolver, dei server che possono essere diversi da quelli coinvolti nello scambio dell'Handle per i metadati. A differenza di un URL, che potrebbe non essere più valido se i metadati incorporati al loro interno non sono più validi, gli Handle non diventano invalidi e non devono essere modificati quando le posizioni o altri attributi dei metadati cambiano. Questo previene un collegamento interrotto, qualsiasi cambiamento sulla risorsa (come la locazione) richiede solo un cambiamento ai metadati, piuttosto che cambiamenti in ogni riferimento alla risorsa.
Ogni Handle può avere un proprio amministratore(i) e la loro gestione viene effettuata in un ambiente distribuito, come per i nomi dei domini DNS. Anche le associazioni nome-valore sono protette, sia tramite firme per verificare i dati che tramite risposte nel cambiamento della trasmissione dei dati, consentendo l'utilizzo di Handle in applicazioni di gestione sicure.
È possibile associare la stessa risorsa di informazioni sottostante a più Handle, ad esempio due librerie universitarie (prefissi degli handle diversi) generano sequenze Handle differenti (e possibili insiemi di metadati differenti) per lo stesso libro.
L'Handle System è compatibile con il sistema dei nomi di dominio (DNS, ma non lo utilizza. Differisce dagli identificatori persistenti come Persistent URL o ARK, simili agli Handle, ma che usano nomi di dominio. Ebbene, a differenza di questi approcci, gli Handle richiedono un processo separato di registrazione del prefisso e i server Handle sono separati dai server dei nomi di dominio.

### Rappresentazione info URI

Gli Handle si possono esprimere come visto prima oppure come un namespace URI utilizzando lo schema info URI; ad esempio, 20.1000/100 si può scrivere come l'URI
* info:hdl/20.1000/100.
Alcuni namespace dell'Handle System, come il namespace Digital Object Identifiers, hanno l'URI "info:" personalizzato; ad esempio,
* info:doi/10.1000/182
è un'altra maniera di scrivere come un URI l'Handle per l'attuale edizione del DOI Handbook.

### Handle Servers

Qualsiasi Handle viene espresso come un Uniform Resource Locator (URL) attraverso l'utilizzo di un generico HTTP proxy server:
* https://hdl.handle.net/20.1000/100
Alcuni sistemi basati sugli Handle offrono un server proxy HTTP proprio destinato all'uso con il sistema, per ritornare all'esempio del doi:
* https://doi.org/10.1000/182.