Position Paper


Carl Lagoze - lagoze@cs.cornell.edu
Project Leader, Digital Library Research Group
Department of Computer Science, Cornell University

Our group has, for the last several years, been involved in research in digital libraries. As part of this effort we developed Dienst, a protocol that supports distributed digital libraries of multiple format documents. The Dienst protocol packages requests to three core digital library services; 1) repositories, which accept requests for uniquely named documents; 2) indexes, which reference documents using bibliographic data and allow searches on this data; and 3) user interfaces, which present the information from the other services in human understandable form. In the current reference implementation, the Dienst protocol is carried within an HTTP protocol request and is gatewayed to a Dienst server through CGI. The user interface to Dienst is implemented as a set of static and dynamically created HTML forms.

Dienst is currently used as the enabling technology for the Networked Computer Science Technical Report Library (NCSTRL), an international collaboration in which over forty computer science departments and laboratories inter-operate to make over 10,000 computer science technical reports available over the Internet.

We are now working to evolve the NCSTRL technology beyond the current technology base. This work has three motivating goals:

  1. To incorporate new functionality such as improved dynamic user interfaces and secure handling of documents with restrictive terms and conditions (e.g., requiring payment).
  2. To fully modularize the architecture, allowing interaction with other digital library services such as browsing services, indexing services, and resource discovery services.
  3. To allow the architecture to adapt to evolving digital library interoperability standards.

We have focused on Java and distributed objects (CORBA and especially ILU) as the means of meeting these goals. In a prototype that we are currently developing, we are deconstructing Dienst into independent service elements distributed over the net. Interoperability between service elements and between clients and service elements occurs using ILU network method calls. We are also replacing the entirely server resident Dienst user interface with a combination of Java applet/server gateway that greatly increases the interaction between clients and the distributed library.

Using this prototype, we plan to examine in the future a number of issues related to the interaction of distributed object technology with the Web.