The Handle System Corporation for National Research Initiatives
       
Local Handle Services
Interface Specification
System Fundamentals
Technical Manual
Local Handle Services
 

Local handle services (LHS), defined in detail in the Interface Specification, can be used for many different kinds of Internet applications, but the most popular (and the simplest) use has been to give persistent identifiers to web content, so that the content can be referenced and located using those permanent identifiers (with location data stored in the associated handle records) rather than using locations as identifiers (such as URLs which frequently change). See Proxy Server (hdl.handle.net) for information on resolving handles using a web browser.

Local handle services are run by organizations with administrative responsibility for creating and managing identifiers under certain prefixes (also known as naming authorities). A service may be responsible for any number of local handle namespaces, each identified by a unique prefix.

To run a local handle service, you must download and install a local handle server. A typical LHS (as may be used for managing web content which is also the simplest configuration) has one site with one handle server, as illustrated by LHS "X" in Figure 1 below.

Handle System Configuration Illustration

Figure 1: LHS "X" With One Server in One Site

A service "scales up" by adding more servers. A large web content provider may need more than one server, depending on variables like server speed and hard drive size. There is no solely technical limit to the number of servers that can be added. If there are multiple servers, all the identifiers, and all resolution requests, will be evenly distributed across all the servers by virtue of the use of hashing.

Another way to scale up, and to provide redundancy via "replication" or "mirroring" of identifiers in an LHS, is to add more sites to a given handle service, either at the same physical location or at different locations. Figure 2 shows a local handle service consisting of three sites and a total of six servers. This distributed approach is intended to aid scalability, accommodate any large-scale of operation, and mitigate problems of single point failure. Each site is a complete replica of every other site in the handle service.

One site is designated "primary" and it becomes the site responsible for handle administration for that service, taking responsibility for all the requests to create/delete/modify handles. The other sites within that service may also have one or more servers, and it's not necessary to have the same number in each site. Those sites provide resolution services, but are not used for administration. In other words, while each site will have the same replicated set of handles, each site may allocate that set of handles across a different number of servers, as shown in Figure 2.

Local Handle Service Site Configurations

Figure 2: LHS "Y" with Three Sites and Six Servers

The Global Handle Registry (GHR) is operated by Corporation for National Research Initiatives (CNRI) and behaves like an LHS except that it knows where to find (via IP address) and how to contact (via which port) all registered local handle services. In addition, the service information it stores for each LHS will enable a client to determine which servers within each site in a service to ask for a given handle. Every handle client always knows how to contact the GHR.

As illustrated in Figure 3 below, all local handle services make themselves known to the GHR so that the GHR can direct clients to the correct LHS to resolve a given handle. The process of installing a handle server generates a configuration file with the service information that the GHR requires. Instructions for submitting it come with the installation files.

Local Handle Service Site Configurations

Figure 3: Client Queries the Global Handle Registry

HANDLE.NET software is infrastructure and should be installed by system administrators. Whether your planned use of the software is simply for managing web content, or for a complex integration with another application, preparation for downloading the HANDLE.NET software should include a review of System Fundamentals and the Interface Specification It also requires the Java Runtime Environment, and familiarity with public/private key or secret key authentication.

 

See HANDLE.NET Software for download instructions.

 
Updated 9 July 2007

Send inquiries to hdladmin@cnri.reston.va.us