Handle System Overview Larry Lannom Corporation for National Research Initiatives http://www.cnri.reston.va.us/ http://www.handle.net/
Digital Object Architecture - Goals Framework for managing Digital (Information) Objects Give it a name and talk to it Don’t worry about where it is Don’t worry about what it’s made of Rise above details of application versions and content formats Corporation for National Research Initiatives
Repositories / Collections Digital Object Architecture Repositories / Collections Client Resolution System Resource Discovery Search Engines Metadata Databases Catalogues, Guides, etc.
Digital Object Architecture Components Handle System Go from name to attributes Fundamental indirection system for Digital Object management on the net No free lunch Added layer of infrastructure Must be managed Corporation for National Research Initiatives
Digital Object Architecture Components Repository Frees digital content from constraints of specific technologies Provide access across systems, space, time No free lunch Added layer of infrastructure Must be managed Corporation for National Research Initiatives
Repository Approach to Interoperability Modularization Separate raw data (byte stream) from data type Separate type definition from type implementation Extensibility Create new types on demand New components accessible (with controls) over the network Standard access protocol (RAP) Corporation for National Research Initiatives
Naming Resources on the Net The Problem Internet chapter.pdf www.acme.com
Naming Resources on the Net The Solution Internet Name = Value(s) 10.123/xyz = http://www.acme.com/chapter.pdf Naming Service http://www.acme.com/chapter.pdf www.acme.com
Naming Resources on the Net The Solution Internet www.newbusiness.com http://www.newbusiness.com/chapter.pdf Naming Service www.acme.com Name = Value(s) 10.123/xyz = http://www.newbusiness.com/chapter.pdf
Corporation for National Research Initiatives CNRI Handle System Distributed, scalable, secure Enforces unique names Enables association of one or more typed values, e.g., URL, with each name Optimized for speed and reliability Open, well-defined protocol and data model Provides infrastructure for application domains, e.g., digital libraries, electronic publishing ... Corporation for National Research Initiatives
Handle System Implementations Library of Congress IDF (International DOI Foundation) CrossRef (scholarly journal consortium) Enpia (Korean content management technology firm) CDI (U.S. content management technology firm) LON (U.S. learning object technology firm) CAL (Copyright Agency Ltd - Australia) TSO (U.K. publisher & info mgmt service provider) MEDRA (Multilingual European DOI Registration Agency) cIDF (Content IDF Forum, based in Japan) DTIC (Defense Technical Information Center) NTIS (National Technical Information Service) Various digital library production and research projects Corporation for National Research Initiatives
Handles Resolve to Typed Data Data type Index Handle data 10.123/456 URL 1 http://acme.com/…. URL 2 http://a-books.com/…. DLS 9 acme/repository HS_ADMIN 100 acme.admin/jsmith XYZ 1001110011110 12 Corporation for National Research Initiatives
The Two Types of Handle Query Give me all data associated with handle 10.1000/123. 1. Request all data LHS GHR Handle System Handle Client 3 2 5 10 9 4 10.1000/123 URL1(Server in US) URL2 (Server in Asia) URL3 (Server in Europe) public key email address rights data URL PK EM IP Index Type Data Give me all data of type URL associated with handle 10.1000/123. 2. Request all data of a given type LHS GHR Handle System Handle Client 3 2 5 10.1000/123 URL1(Server in US) URL2 (Server in Asia) URL3 (Server in Europe) URL Index Type Data
Handle Resolution The Handle System is a collection of handle services, Client GHR LHS each of which consists of one or more replicated sites, Site 1 Site 2 Site 3 …... Site n each of which may have one or more servers. 123.456/abc URL 4 http://www.acme.com/ http://www.ideal.com/ 8 #1 #2 #n #4 #3 ...
Handle Clients Request to Client: Resolve hdl:10.1000/1 1. Sends request to Global to resolve 0.NA/10.1000 (naming authority handle for 10.1000) Client Global Handle Registry
Acme Local Handle Service Handle Clients Request to Client: Resolve hdl:10.1000/1 Client 2. Global Responds with Service Information for 10.1000 Service Information Acme Local Handle Service xcccxv xc .. ... xccx Global Handle Registry
Service Information - Acme Local Handle Service Handle Clients xcccxv xc .. ... xccx IP Address Port # Public Key ... Primary Site Server 1 123.45.67.8 2641 K03RLQ... ... Server 2 123.52.67.9 2641 5&M#FG... ... Secondary Site A Server 1 321.54.678.12 2641 F^*JLS... ... Server 2 321.54.678.14 2641 3E$T%... ... Server 3 762.34.1.1 2641 A2S4D... ... Secondary Site B Server 1 123.45.67.4 2641 N0L8H7... ... Service Information - Acme Local Handle Service
Service Information - Acme Local Handle Service Handle Clients xcccxv xc .. ... xccx IP Address Port # Public Key ... Primary Site Server 1 123.45.67.8 2641 K03RLQ... ... Server 2 123.52.67.9 2641 5&M#FG... ... Secondary Site A Server 1 321.54.678.12 2641 F^*JLS... ... Server 2 321.54.678.14 2641 3E$T%... ... Server 3 762.34.1.1 2641 A2S4D... ... Secondary Site B Server 1 123.45.67.4 2641 N0L8H7... ... Service Information - Acme Local Handle Service
Service Information - Acme Local Handle Service Handle Clients xcccxv xc .. ... xccx IP Address Port # Public Key ... Primary Site Server 1 123.45.67.8 2641 K03RLQ... ... Server 2 123.52.67.9 2641 5&M#FG... ... Secondary Site A Server 1 321.54.678.12 2641 F^*JLS... ... Server 2 321.54.678.14 2641 3E$T%... ... Server 3 762.34.1.1 2641 A2S4D... ... Secondary Site B Server 1 123.45.67.4 2641 N0L8H7... ... Service Information - Acme Local Handle Service
Handle Clients Request to Client: Resolve hdl:10.1000/1 Global Handle Registry 3. Client queries Server 3 in Secondary Site A for 10.1000/1 #1 Acme Local Handle Service #1 #2 Secondary Site B #2 #1 #3 Primary Site Secondary Site A
Handle Clients Request to Client: Resolve hdl:10.1000/1 Global Handle Registry 4. Server responds with handle data #1 Acme Local Handle Service #1 #2 Secondary Site B #2 #1 #3 Primary Site Secondary Site A
Handle Administration Handle Clients Web Client Handle Administration Client HTTP Redirect HTTP Get http://hdl.handle.net/123.456/abc Proxy/ Web Server Handle Data Resolve Handle LHS GHR Handle System
Handle Administration Handle Clients Client Handle Administration Client Client Plug-In Handle Data Resolve Handle Request hdl:/123.456/abc LHS GHR Handle System
Handle Administration Handle Clients Web Handle Administration Client HTTP Admin Forms Web Server Handle Admin API LHS GHR Handle System
Handle Administration Handle Clients Web Handle Administration Client Custom Client LHS GHR Handle System
Handle Administration Handle Clients Handle Administration embedded in another process Web LHS GHR Handle System
Handle Administration Handle Clients Handle Resolution embedded in another process Handle Administration embedded in another process LHS GHR Handle System
Corporation for National Research Initiatives HS Administration Ownership is at the handle level Administrators defined by handles Administrator handles contain keys All admin transactions validated via challenge/response from server to client Allows distributed administration Corporation for National Research Initiatives
Handle Data and Metadata Metadata Collection and DOI Registration Electronic version of Advanced Synthesis & Catalysis published by Wiley Interscience <doi> 10.XXXX/1234</doi> <url>http://www3.interscience.wiley.com/…</url>b/ <jname>Advanced Synthesis & Catalysis</jname> <title>New Horizona</title> <author>Bill Smith</author> <page>786-980</page> <abstract>Lorem ipsum dolor sit amet, consectetuer elit, sed diem nonummy nibh euismod. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod</abstract> Handle Data and Metadata http://www3.interscience.wiley.com/... Corporation for National Research Initiatives
Metadata Collection and DOI Registration Handle data and metadata Collection Service Handle System Wholesale Metadata Collection Handle data Other Data Services VARs Indexes Filters Queries
Metadata Collection and DOI Registration Handle data and metadata Publisher 1 Publisher 2 Collection Service Handle System Wholesale Metadata Collection Handle data Publisher 3 Publisher n Other Data Services VARs Indexes Filters Queries
Appropriate Copy Problem XYZ University http://dx.doi.org/10.123/456 http://abc.com/article.html 10.123/456 http://abc.com/article.html article.html dx.doi.org proxy server Handle System Reference with DOI for article.html in ABC Journal ABC Journal publisher abc.com Local Copy of article.html in ABC Journal
Appropriate Copy Problem: solved XYZ University http://dx.doi.org/10.123/456?cookie Redirect to Local Server dx.doi.org proxy server understands cookies Handle System Reference with DOI for article.html in ABC Journal Local Server Metadata? Metadata ABC Journal publisher abc.com Metadata Database Local Copy of article.html in ABC Journal
Appropriate Copy Problem solved w/o local copy XYZ University article.html dx.doi.org proxy server understands cookies Handle System Reference with DOI for article.html in ABC Journal Local Server Metadata? Metadata ABC Journal publisher abc.com Metadata Database X Local Copy of article.html in ABC Journal
Metadata Collection Services Appropriate Copy Problem extensible solution XYZ University http://dx.doi.org/10.123/456?cookie Redirect to Local Server X article.html dx.doi.org proxy server understands cookies Handle System Reference with DOI for article.html in ABC Journal Metadata Location? Meta1.com Local Server Metadata? Metadata ABC Journal publisher abc.com Meta1.com Local Copy of article.html in ABC Journal Meta2.com Meta3.com Metadata Collection Services
Repository Overview
Digital Libraries Without a Digital Object System HTTP Web Page Content Data Web Server Web-based Digital Library Client CGI s Content Operations (CGI scripts) Other Digital Library Servers or Services
(scripts, servlets, other Digital Libraries With a Digital Object System D I G T A L O B J E C S Y M Content Operations (scripts, servlets, other operations) HTTP Web Page Dissemination Content Data Web-based Digital Library Client Web Server RAP Request Other Digital Library Servers or Services RAP Request Dissemination
Digital Information Object Exists within the Digital Object Architecture with the goal of making information a first class citizen on the Internet. Allows high level information to be moved around on the Internet much as packets of data are today. Aggregates relevant heterogeneous data and metadata. Solves the who is where problem of network addressing by using the CNRI Handle System®, a location independent global naming service. Describes the what of information in an concise and extensible manner. Corporation for National Research Initiatives
Digital Information Object Intents of Use The Intents of use extensible typing mechanism specifies what a Digital Information Object contains. A specific Digital Information Object’s intent of use is described as a content type. Content types are registered and uniquely identifiable. A content type defines a unique set of operations that can be performed on specific information type. The set of operations is known as a content type signature. A content type signature can be implemented in different ways in the form of mobile code called servlets. Corporation for National Research Initiatives
Complex Digital Object Dissemination Laptop with modem .jpg .ra PC with T1 Connection .exe .qt PDA with wireless connection .jpg .pdf Digital Phone .xml
Digital Object Overview Information Unique Identifier Digital Object Content Type(s) Requests Disseminations
Digital Object Overview Hamlet Hamlet It’s a Book Get Page(2)
Digital Object Overview Hamlet Content Type Operations Hamlet Data Element Digital objects are uniquely identified in a given name space. Data elements reference sequences of typed bytes. A Digital Object can have zero or more Content Types to reflect the intents of use of its creator.
Digital Object Repository Provides distributed Digital Object storage. Behaves as a Digital Object. Provides a dynamic acquisition and execution mechanism for the mobile code that implements the content type operations. Exclusively accessed using the Repository Access Protocol (RAP). Repository Deposit Disseminate RAP Client
Content Type Extensibility Signature Implementation Type Signature API Type Signature Content Type Operations References 1 to many Servlet Servlet Implementation Servlet API Services API
Content Type Registration Handle Service hdl:type/typedef hdl:type/book Type Signature Register hdl: type/book hdl: type/typedef URN hdl:type/repository hdl:type/typeimpl hdl:type/book1 Servlet hdl: type/repository hdl: type/typedef URN hdl: type/book1 hdl: type/typeimpl URN hdl:type/typeimpl hdl:type/repository URN hdl:type/repository IOR: DLS http://www.type.org URL
Digital Object Structures Identifier Identifier Identifier Type Signature Servlet Attachments Disseminator Disseminator Identifier Type Signature Handle Service Servlet Attachments servlet Data Element hdl:type/repository signature Type Registry
100.1/MetadataImplementation Digital Object Structures Identifier 100.1/PH150 Disseminator Metadata Image Disseminator 100.1/Metadata 100.1/Image 100.1/ImageImplementation 100.1/MetadataImplementation Attachments Attachment Handle Service hdl:type/repository .jpg .gif .txt signature Type Registry servlet
Content Type Extensibility Mechanism Identifier Client C Client A XYZ Repository Deposit Disseminator Repository 2 Deposit Identifier Disseminate Client D Client B XYZ-1 Type Signature XYZ Servlet XYZ-1 Attachment Deposit Data Element Dynamic Acquisition of Mobile code
Extensible Dissemination Mechanism Secure Digital Object Environment Disseminations Requests Results Extensible Services Type Signature Signature API Servlet API Services API Servlet Results Repository Services Identifier Disseminations Requests Attachments Disseminator Identifier Type Signature Servlet Attachments Data Element
Digital Object Chaining Provides a building block approach to information management. Enables the creation of information and operation links. Content Chaining: a digital object’s data element can reference its respective content. Operations Chaining: servlets can dynamically establish links to external resources or digital object when executed. Content Type Chaining: chaining servlets can be designed to dynamically build digital object chains from input parameters. Corporation for National Research Initiatives
Content Chaining Mechanism Type Signature Servlet Extensible Services Type Signature ID Servlet ID Method Request Parameters Static Service Request Data Element Digital Object Digital Object ID Disseminator ID Method Request Parameters or Typed Bytes
Operation Chaining Mechanism Method Request Services API Servlet API Servlet Type Signature ID Servlet ID Method Request Parameters Type Signature Servlet Extensible Services Dynamic Service Request or Digital Object ID Disseminator ID Method Request Parameters Digital Object Digital Object self
Digital Object Chaining Example Example: ask the Babel Fish Object: generate an audio version of a French translation of Shakespeare's Hamlet. Babel Fish Type 1 Shakespeare 8 4 Audio Tools 7 5 Babel Translator 6 2 Hamlet 3
Data Exchange By Chaining Digital Object chaining allows for homogeneous data exchanges in a heterogeneous data environment. Digital Object Chaining provide a layer of abstraction over data formats, encoding and transport protocols. Type A Type A Type B Type A Services Type A Query System