Handle System
The Handle System is the Corporation for National Research Initiatives's proprietary registry assigning persistent identifiers, or handles, to information resources, and for resolving "those handles into the information necessary to locate, access, and otherwise make use of the resources".
As with handles used elsewhere in computing, Handle System handles are opaque, and encode no information about the underlying resource, being bound only to metadata regarding the resource. Consequently, the handles are not rendered invalid by changes to the metadata.
The system was developed by Bob Kahn at the Corporation for National Research Initiatives. The original work was funded by the Defense Advanced Research Projects Agency between 1992 and 1996, as part of a wider framework for distributed digital object services, and was thus contemporaneous with the early deployment of the World Wide Web, with similar goals.
The Handle System was first implemented in autumn 1994, and was administered and operated by CNRI until December 2015, when a new "multi-primary administrator" mode of operation was introduced. The DONA Foundation now administers the system's Global Handle Registry and accredits MPAs, including CNRI and the International DOI Foundation.
The system currently provides the underlying infrastructure for such handle-based systems as Digital Object Identifiers and DSpace, which are mainly used to provide access to scholarly, professional and government documents and other information resources.
CNRI provides specifications and the source code for reference implementations for the servers and protocols used in the system under a royalty-free "Public License", similar to an open source license.
Thousands of handle services are currently running. Over 1000 of these are at universities and libraries, but they are also in operation at national laboratories, research groups, government agencies, and commercial enterprises, receiving over 200 million resolution requests per month.
Specifications
The Handle System is defined in informational RFCs 3650,3651
and 3652 of the Internet Engineering Task Force ; it includes an open set of protocols, a namespace, and a reference implementation of the protocols. Documentation, software, and related information is provided by CNRI on a dedicated website
Handles consist of a prefix which identifies a "naming authority" and a suffix which gives the "local name" of a resource. Similar to domain names, prefixes are issued to naming authorities by one of the "multi-primary administrators" of the system upon payment of a fee, which must be renewed annually. A naming authority may create any number of handles, with unique "local names", within their assigned prefixes. An example of a handle is:
-
20.1000/100
-
2381/12345
20.1000
is the prefix assigned to the naming authority and 100
is the local name within that namespace. The local name may consist of any characters from the Unicode UCS-2 character set. The prefix also consists of any UCS-2 characters, other than "/". The prefixes consist of one or more naming authority segments, separated by periods, representing a hierarchy of naming authorities. Thus, in the example 20
is the naming authority prefix for CNRI, while 1000
designates a subordinate naming authority within the 20 prefix. Other examples of top-level prefixes for the federated naming authorities of the DONA Foundation are 10
for DOI handles; 11
for handles assigned by the ITU; 21
for handles issued by the German Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen, the scientific computing center of the University of Göttingen; and 86
for the Coalition of Handle Services – China. Older "legacy" prefixes issued by CNRI before the "multi-primary administrator" structure was instituted are typically four of five digits, as in the second example above, a handle administered by the University of Leicester. All prefixes must be registered in the Global Handle Registry through an DONA Foundation approved registrar, normally for a fee.As with other uses of handles in computing, the handle is opaque; that is, it encodes no information about the underlying resource and provides only the means to retrieve metadata about the resource.
This may be contrasted with a Uniform Resource Locator, which may encode within the identifier such attributes of the resource as the protocol to be used to access the server holding the resource, the server host name and port number, and perhaps even location specifics such as the name of a file in the server file system containing the resource. In the Handle System, these specifics are not encoded in the handle, but are found in the metadata to which the handle is bound.
The metadata may include many attributes of the information resource, such as its locations, the forms in which it is available, the types of access offered, and to whom. The processing of the metadata to determine how and where the resource should be accessed, and the provision of the resource to the user, are performed in a separate step, called "resolution", using a Resolver, a server which may be different than the ones involved in exchanging the handle for the metadata. Unlike URLs, which may become invalid if the metadata embedded within them becomes invalid, handles do not become invalid and do not need to change when locations or other metadata attributes change. This helps to prevent link rot, as changes in the information resource need only be reflected in changes to the metadata, rather than in changes in every reference to the resource.
Each handle may have its own administrator and administration of the handles can be done in a distributed environment, similar to DNS domain names. The name-to-value bindings may also be secured, both via signatures to verify the data and via challenge response to verify the transmission of the data, allowing handles to be used in trust management applications.
It is possible for the same underlying information resource to be associated with multiple handles, as when two university libraries generate handles for the same book.
The Handle System is compatible with the Domain Name System, but does not require it, unlike persistent identifiers such as PURLs or ARKs, which are similar to handles, but which utilise domain names. However, unlike these domain-name based approaches, handles do require a separate prefix registration process and handle servers separate from the domain name servers.
Handles can be used natively. or expressed as Uniform Resource Identifiers through a namespace within the info URI scheme; for example,
20.1000/100
may be written as the URI, info:hdl/20.1000/100
. Some Handle System namespaces, such as Digital Object Identifiers, are "info:" URI namespaces in their own right; for example, info:doi/10.1000/182
is another way of writing the handle for the current revision of the DOI Handbook as a URI.Some Handle System namespaces define special presentation rules. For example, Digital Object Identifiers, which represent a high percentage of the extant handles, are usually presented with a "doi:" prefix:
doi:10.1000/182
.Any Handle may be expressed as a Uniform Resource Locator through the use of the generic HTTP proxy server,:
-
https://hdl.handle.net/20.1000/100
-
https://doi.org/10.1000/182
.Implementation
The Handle System website provides a series of implementation tools, notably the HANDLE.NET Software and HANDLE.NET Client Libraries. Handle clients can be embedded in end user software or in server software and extensions are already available for Adobe Acrobat and Firefox.
Handle client software libraries are available in both C and Java. Some applications have developed specific add-on tools, e.g., for the DOI System.
The interoperable network of distributed handle resolver servers are linked through a Global Resolver. Users of Handle System technology obtain a handle prefix created in the Global Handle Registry. The Global Handle Registry maintains and resolves the prefixes of locally maintained handle services. Any local handle service can, therefore, resolve any handle through the Global Resolver.
Handles are passed by a client, as a query of the naming authority/prefix, to the Handle System's Global Handle Registry. The GHR responds by sending the client the location information for the relevant Local Handle Service ; a query is then sent to the relevant server within the Local Handle Service. The Local Handle Service returns the information needed to acquire the resource, e.g., a URL which can then be turned into an HTTP re-direct.
Though the original model from which the Handle System derives dealt with management of digital objects, the Handle System does not mandate any particular model of relationships between the identified entities, nor is it limited to identifying only digital objects: non-digital entities may be represented as a corresponding digital object for the purposes of digital object management. Some care is needed in the definition of such objects and how they relate to non-digital entities; there are established models that can aid in such definitions e.g., Functional Requirements for Bibliographic Records, CIDOC CRM, and indecs content model. Some applications have found it helpful to marry such a framework to the handle application: for example, the Advanced Distributed Learning Initiative brings together Handle System application with existing standards for distributed learning content, using a Shareable Content Object Reference Model, and the Digital Object Identifier system implementation of the Handle System has adopted it together with the indecs framework to deal with semantic interoperability.
The Handle System also makes explicit the importance of organizational commitment to a persistent identifier scheme, but does not mandate one model for ensuring such commitment. Individual applications may choose to establish their own sets of rules and social infrastructure to ensure persistence.
Design principles
The Handle system is designed to meet the following requirements to contribute to persistenceThe identifier string:
- is not based on any changeable attributes of the entity ;
- is opaque ;
- is unique within the system ;
- has optional, but nice to have, features that should be supported.
- is reliable ;
- is scalable ;
- is flexible :
- is trusted ;
- builds on open architecture ;
- is transparent.
Applications
Handle System applications may use handles as simple persistent identifiers, or may choose to take advantage of other features. Its support for the simultaneous return as output of multiple pieces of current information related to the object, in defined data structures, enables priorities to be established for the order in which the multiple resolutions will be used. Handles can, therefore, resolve to different digital versions of the same content, to mirror sites, or to different business models. They can also resolve to different digital versions of differing content, such as a mix of objects required for a distance-learning course.
There are thousands of handle services running today, located in 71 countries, on 6 continents; over 1000 of them run at universities and libraries. Handle services are being run by user federations, national laboratories, universities, computing centers, libraries, government agencies, contractors, corporations, and research groups. Major publishers use the Handle System for persistent identification of commercially traded and Open Access content through its implementation with the Digital Object Identifier system.
The number of prefixes, which allow users to assign handles, is growing and stands at over 12,000 as of early 2014. There are six top-level Global Handle Registry servers that receive 68 million resolution requests per month. Proxy servers known to CNRI, passing requests to the system on the Web, receive 200 million resolution requests per month.
In 2010, CNRI and ITU entered into an agreement to collaborate on use of the Handle System and are working on the specific details of that collaboration; in April 2009 ITU listed the Handle System as an "emerging trend".