handle system overview larry lannom corporation for national research initiatives
TRANSCRIPT
Handle System Overview
Larry Lannom
Corporation for National Research Initiativeshttp://www.cnri.reston.va.us/
http://www.handle.net/
Corporation for National Research Initiatives
• 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
Digital Object Architecture - Goals
Corporation for National Research Initiatives
Digital Object Architecture
Client
Resource Discovery
•Search Engines•Metadata Databases•Catalogues, Guides, etc.
Resolution System
Repositories / Collections
Corporation for National Research Initiatives
Digital Object Architecture ComponentsHandle 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 ComponentsRepository
• 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)
Naming Resources on the Net
The Problem
Internet
chapter.pdfwww.acme.com
Internet
Naming Resources on the Net
The Solution
Name = Value(s)10.123/xyz = http://www.acme.com/chapter.pdf
Naming Service
http://www.acme.com/chapter.pdfwww.acme.com
Internet
Naming Resources on the Net
The Solution
Name = Value(s)10.123/xyz = http://www.newbusiness.com/chapter.pdf
http://www.newbusiness.com/chapter.pdf
Naming Service
www.newbusiness.com
www.acme.com
Corporation for National Research Initiatives
• 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 ...
CNRI Handle System
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
URL 2 http://a-books.com/….
DLS 9 acme/repository
HS_ADMIN 100 acme.admin/jsmith
XYZ 100111001111012
Handle dataHandle Data typeIndex
10.123/456 URL 1 http://acme.com/….
The Two Types of Handle Query
Give me all data associated with handle 10.1000/123.
1. Request all data
LHS
LHS LHS LHS
LHS
LHS
LHS
LHSGHR
LHS
Handle System
HandleClient
3251094
10.1000/123 URL1(Server in US)URL2 (Server in Asia)URL3 (Server in Europe)public keyemail addressrights data
URLURLURLPKEMIP
Index Type DataHandle
Give me all data of type URL associated with handle 10.1000/123.
2. Request all data of a given type
LHS
LHS LHS LHS
LHS
LHS
LHS
LHSGHR
LHS
Handle System
HandleClient
325
10.1000/123 URL1(Server in US)URL2 (Server in Asia)URL3 (Server in Europe)
URLURLURL
Index Type DataHandle
Handle Resolution
is a collection ofhandle services,each of which consists of one ormore replicated sites,
Site 1Site 1 Site 2Site 2
Site 1Site 1
Site 2Site 2
Site 3Site 3 …... Site nSite n
Client
The Handle System
LHS
LHS LHS
LHSGHR
each of which mayhave one or moreservers.
123.456/abc URL 4 http://www.acme.com/
http://www.ideal.com/8URL
#1#1 #2#2 #n#n#4#4#3#3
#1#1 #2#2
...
Handle Clients
Global HandleRegistry
1. Sends request to Global to resolve 0.NA/10.1000 (naming authority handle for 10.1000)
Client
Request to Client:Resolve hdl:10.1000/1
Handle Clients
Client
Request to Client:Resolve hdl:10.1000/1
Global HandleRegistry
2. Global Responds withService Information for 10.1000
Service InformationAcme Local Handle Service
xcccxv xc xc xc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
..
..
..
xcxcxc
..
..
..
xcxcxc
..
..
..
...
xcccxvxccxxccx
xcccxvxccxxccx
xcccxvxccxxccx
Service Information - Acme Local Handle Service
Primary Site
123.45.67.8
Port #
Secondary Site B
Server 1
Server 1
Server 2
Server 3
Server 1
Server 2 123.52.67.9
321.54.678.12
321.54.678.14
762.34.1.1
123.45.67.4
Public Key ...
2641
K03RLQ...
2641
2641
2641
2641
2641
5&M#FG...
F^*JLS...
3E$T%...
A2S4D...
N0L8H7...
...
...
...
...
...
...
IP Address
Secondary Site A
xcccxv xc xc xc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
..
..
..
xcxcxc
..
..
..
xcxcxc
..
..
..
...
xcccxvxccxxccx
xcccxvxccxxccx
xcccxvxccxxccx
Handle Clients
Service Information - Acme Local Handle Service
Primary Site
123.45.67.8
Port #
Secondary Site B
Server 1
Server 1
Server 2
Server 3
Server 1
Server 2 123.52.67.9
321.54.678.12
321.54.678.14
762.34.1.1
123.45.67.4
Public Key ...
2641
K03RLQ...
2641
2641
2641
2641
2641
5&M#FG...
F^*JLS...
3E$T%...
A2S4D...
N0L8H7...
...
...
...
...
...
...
IP Address
Secondary Site A
xcccxv xc xc xc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
..
..
..
xcxcxc
..
..
..
xcxcxc
..
..
..
...
xcccxvxccxxccx
xcccxvxccxxccx
xcccxvxccxxccx
Handle Clients
Service Information - Acme Local Handle Service
Primary Site
123.45.67.8
Port #
Secondary Site B
Server 1
Server 1
Server 2
Server 3
Server 1
Server 2 123.52.67.9
321.54.678.12
321.54.678.14
762.34.1.1
123.45.67.4
Public Key ...
2641
K03RLQ...
2641
2641
2641
2641
2641
5&M#FG...
F^*JLS...
3E$T%...
A2S4D...
N0L8H7...
...
...
...
...
...
...
IP Address
Secondary Site A
xcccxv xc xc xc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
xcxcxc
..
..
..
xcxcxc
..
..
..
xcxcxc
..
..
..
...
xcccxvxccxxccx
xcccxvxccxxccx
xcccxvxccxxccx
Handle Clients
Handle Clients
3. Client queries Server 3 in Secondary Site A for 10.1000/1Client
Global HandleRegistry
#1#1 #2#2
#1#1
#1#1#2#2
#3#3Primary Site
Secondary Site A
Secondary Site B
Request to Client:Resolve hdl:10.1000/1
Acme LocalHandle Service
Handle Clients
4. Server responds with handle data
Client
Global HandleRegistry
#1#1 #2#2
#1#1
#1#1#2#2
Primary Site
Secondary Site A
Secondary Site B
Request to Client:Resolve hdl:10.1000/1
#3#3
Acme LocalHandle Service
Handle Clients
LHS
LHS LHS LHS
LHS
LHS
LHS
LHSGHR
LHS
Handle System
Web ClientHandle Administration
Client
ResolveHandle
HTTP Redirect
Proxy/Web Server
HTTP Get
Handle Data
http://hdl.handle.net/123.456/abc
Handle Clients
LHS
LHS LHS LHS
LHS
LHS
LHS
LHSGHR
LHS
Handle System
ClientHandle Administration
Client
hdl:/123.456/abc
ClientPlug-In
Resolve HandleRequest
Handle Data
Handle Clients
LHS
LHS LHS LHS
LHS
LHS
LHS
LHSGHR
LHS
Handle System
WebHandle Administration
Client
Web Server
HTTP
Handle Admin API
Admin Forms
Handle Clients
LHS
LHS LHS LHS
LHS
LHS
LHS
LHSGHR
LHS
Handle System
WebHandle Administration
Client
CustomClient
Handle Clients
LHS
LHS LHS LHS
LHS
LHS
LHS
LHSGHR
LHS
Handle System
Handle Administrationembedded in another
process
Handle Administrationembedded in another
processWeb
Handle Clients
LHS
LHS LHS LHS
LHS
LHS
LHS
LHSGHR
LHS
Handle System
Handle Administrationembedded in another
process
Handle Administrationembedded in another
process
Handle Resolutionembedded in another
process
Handle Resolutionembedded in another
process
Corporation for National Research Initiatives
• 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
HS Administration
Corporation for National Research Initiatives
Metadata Collection and DOI Registration
Electronic version ofAdvanced Synthesis & Catalysispublished by Wiley Interscience
Handle Data and Metadata
<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 ipsumdolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod</abstract>
http://www3.interscience.wiley.com/...
Metadata Collection and DOI Registration
Handle data and metadata
Collection Service
Handle System
WholesaleMetadataCollection
Handle dataMetadata
Other Data Services VARs
• Indexes• Filters• Queries
Metadata Collection and DOI Registration
Handle data and metadata
Collection Service
Handle System
WholesaleMetadataCollection
Handle dataMetadata
Other Data Services VARs
• Indexes• Filters• Queries
Publisher 1
Publisher 3
Publisher 2
Publisher n
Appropriate Copy Problem
http://abc.com/article.html http://abc.com/article.html
10.123/456
Handle System
ABC Journalpublisherabc.com
Reference withDOI for
article.htmlin ABC Journal
XYZ University
Local Copy ofarticle.html
in ABC Journal
http://dx.doi.org/10.123/456
dx.doi.orgproxy server
article.html
Appropriate Copy Problem: solved
Handle System
ABC Journalpublisherabc.com
Reference withDOI for
article.htmlin ABC Journal
XYZ University
Local Copy ofarticle.html
in ABC Journal
http://dx.doi.org/10.123/456?cookie
dx.doi.orgproxy server
understands cookies
Local Server
Redirect to Local Server
MetadataDatabase
Metadata?
Metadata
Appropriate Copy Problemsolved w/o local copy
Handle System
ABC Journalpublisherabc.com
Reference withDOI for
article.htmlin ABC Journal
XYZ University
Local Copy ofarticle.html
in ABC Journal
Local Server
MetadataDatabaseX
article.html
Metadata?
Metadata
dx.doi.orgproxy server
understands cookies
Appropriate Copy Problemextensible solution
Handle System
ABC Journalpublisherabc.com
Reference withDOI for
article.htmlin ABC Journal
XYZ University
Local Copy ofarticle.html
in ABC Journal
Local Server
Meta1.com
http://dx.doi.org/10.123/456?cookie
Redirect to Local Server
Meta2.com
Meta3.comMetadata Collection Services
Xarticle.html
dx.doi.orgproxy server
understands cookies
Metadata Location?
Meta1.com
Metadata?
Metadata
Repository Overview
Digital Libraries Without a Digital Object System
Web Server
Other DigitalLibrary Servers
or Services
Web-basedDigital Library
Client
HTTP
HTTPContent Operations
(CGI scripts)
CGI sCGI s ContentData
ContentData
Web Page
Web Page
Web Server
Digital Libraries With a Digital Object System
DIGITAL
OBJECT
SYSTEM
Content Operations(scripts, servlets, other
operations)
ContentData
ContentData
HTTP
Other DigitalLibrary Servers
or Services
Web-basedDigital Library
Client
Dissemination
RAP
Request
RAP
Request
Web Page
Dissemination
Corporation for National Research Initiatives
• 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.
Digital Information Object
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.
Complex Digital Object Dissemination
Laptop with modem
.jpg
.ra
PC with T1 Connection.exe
.qt
Digital Phone .xml
PDA with wirelessconnection
.jpg
Digital ObjectDigital ObjectContent Type(s)Content Type(s) RequestsRequests
InformationInformation
Digital Object Overview
DisseminationsDisseminations
Unique IdentifierUnique Identifier
HamletHamlet
It’s a BookIt’s a Book Get Page(2)Get Page(2)
Digital Object Overview
HamletHamlet
Hamlet
•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.
DataElement
DataElement
DataElement
DataElement
HamletContent Type
Operations
Content TypeOperations
Digital Object Overview
Repository
Digital Object Repository
RA
P
ClientClient
•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).
DisseminateDeposit
1 to many
Type Signature
Servlet
TypeSignature
Implementation
TypeSignature
Implementation
Type Signature API
ServletImplementation
ServletImplementation
Servlet API
Ser
vice
s A
PI
Ref
eren
ces
Content TypeOperations
Content Type Extensibility
hdl:type/repositoryhdl:type/repository
hdl: type/repositoryhdl: type/typedef URN
Handle Service
hdl:type/repository IOR:DLShttp://www.type.orgURL
hdl: type/book hdl: type/typedefURN
hdl: type/book1 hdl: type/typeimpl URN
hdl:type/typeimpl hdl:type/repositoryURN
Registerhdl:type/typedefhdl:type/typedef
hdl:type/book
Type Signature
hdl:type/book
Type Signature
hdl:type/typeimplhdl:type/typeimpl
hdl:type/book1
Servlet
hdl:type/book1
Servlet
Content Type Registration
Identifier
IdentifierIdentifier
Type SignatureType Signature
ServletServlet AttachmentsAttachments
Disseminator
Digital Object Structures
DisseminatorIdentifierIdentifier
Type SignatureType Signature
ServletServlet AttachmentsAttachments
Identifier
DataElement
DataElement
DataElement
DataElement
Type Registry
Handle ServiceHandle Servicehdl:type/repositoryhdl:type/repository
signature
servlet
100.1/PH150
MetadataMetadata
100.1/Metadata100.1/Metadata
Disseminator
hdl:type/repositoryhdl:type/repository
Digital Object Structures
DisseminatorImageImage
Identifier
.jpg.jpg.gif.gif
Type Registry
Handle ServiceHandle Service
.txt.txt
AttachmentAttachment
100.1/MetadataImplementation
AttachmentsAttachments
100.1/ImageImplementation100.1/ImageImplementation
100.1/Image100.1/Image
signature
servlet
RepositoryRepository
Deposit
IdentifierClient C
Client C
Disseminator
Servlet
XYZ-1
Servlet
XYZ-1
Content Type Extensibility Mechanism
IdentifierIdentifier
Type Signature XYZType Signature XYZ
AttachmentAttachment
Repository 2Repository 2
Deposit
DepositData
ElementData
ElementData
ElementData
Element
Client A
Client A
XYZ
Client B
Client B
XYZ-1
Dynamic Acquisition of Mobile code
Disseminate
Client D
Client D
Secure Digital Object Environment
Extensible Services
Extensible Dissemination Mechanism
IdentifierIdentifier
DisseminatorIdentifierIdentifier
Type SignatureType Signature
TypeSignature
TypeSignature
Signature API Servlet API
Ser
vice
s A
PI
ServletServlet
Attachments
Disseminations
Req
ues
ts
Resu
lts
RepositoryServices
RepositoryServices
ServletServlet AttachmentsAttachments
DataElement
DataElement
Disseminations
Req
ues
ts
Resu
lts
Corporation for National Research Initiatives
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.
Content Chaining Mechanism
StaticServiceRequest
StaticServiceRequest
Digital Object
•Digital Object ID•Disseminator ID
•Method Request•Parameters
•Digital Object ID•Disseminator ID
•Method Request•Parameters
orData
ElementData
Element
Typed BytesTyped Bytes
Type Signature
Type Signature ServletServlet
Extensible Services
•Type Signature ID•Servlet ID
•Method Request•Parameters
•Type Signature ID•Servlet ID
•Method Request•Parameters
Operation Chaining Mechanism
or•Digital Object ID
•Disseminator ID•Method Request
•Parameters
•Digital Object ID•Disseminator ID
•Method Request•Parameters Digital Object
DynamicServiceRequest
DynamicServiceRequest
Method RequestS
ervi
ces
AP
I
Servlet API
ServletServlet
•Type Signature ID•Servlet ID
•Method Request•Parameters
•Type Signature ID•Servlet ID
•Method Request•Parameters
Type Signature
Type Signature ServletServlet
Extensible Services
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 FishBabel Fish
Babel FishType
44 55
Babel TranslatorBabel Translator
66
11
ShakespeareShakespeare
33
88
Audio Tools
77
22
HamletHamlet
Data Exchange By Chaining
Query SystemQuery System
•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 B
ServicesServices
Type A
Type A
Type A