The Handle System is a technology specification for assigning, managing, and resolving persistent identifiers for digital objects and other resources on the Internet. The protocols specified enable a distributed computer system to store identifiers (names, or handles) of digital resources and resolve those handles into the information necessary to locate, access, and otherwise make use of the resources. That information can be changed as needed to reflect the current state and/or location of the identified resource without changing the handle.
The Handle System was developed by Bob Kahn, co-inventor of the protocols that underlie the operation of the Internet, with support from the Defense Advanced Research Projects Agency DARPA at the Corporation for National Research Initiatives (CNRI), which continues to develop and manage it. The Handle System is currently in use in several applications.
The Handle System enables management of objects as first class entities, rather than as packets of bits with dependency on other attributes such as locations. It emerged as part of a wider Framework for Distributed Digital Object Services but has been used in independent applications. The system is designed to be scalable to very large numbers of entities without performance degradation, to allow distributed administration, and to enable resolution to multiple pieces of current data (each of which may be separately managed). It also has further optional features such as public key infrastructure capability to enable trust applications.
Resolution is the process in which an identifier is the input request to a network service to receive in return a specific output of one or more pieces of current information (state data) related to the identified entity: e.g., a location (URL). The Domain Name System resolves domain names meaningful to humans into numerical IP addresses (locations of file servers). The Handle System is compatible with DNS but does not necessarily require it, unlike persistent identifiers such as PURLs or ARKs which utilise domain names and are therefore ultimately constrained by them. Other significant differences include the administrative granularity possible with the Handle System (administrators can be different for each handle, and there can also be more than one per handle) and the option for extensible multiple data types to be assigned.