cdlrg.jpg (11645 bytes)

Cornell Digital Library
Research Group

Flexible and Extensible Digital Object and Repository Architecture
(FEDORA)


An essential requirement of our component-ware digital library infrastructure is a reliable and secure means to store and access digital content. In the FEDORA project, we are investigating a general digital object model and repository architecture for encapsulating and securing multimedia content. Fundamental to the architecture are mechanisms to provide for extensibility and interoperability of content types and rights management schemes. The key challenges we are addressing in FEDORA include:

 

The Digital Object Model

FEDORA defines a container abstraction known as the DigitalObject that encapsulates multimedia content in typed byte stream packages called DataStreams. Any Datastream may reference remote data in other DigitalObjects, resulting in distributed content. The DigitalObject also has an interface, or behavior, layer that provides views, or disseminations, of encapsulated data in a contextually meaningful manner. A dissemination can be either a direct transcription of stored data (e.g. a page of a book), any computable derivation of stored content, an interactive object (e.g., a book viewing applet), or any mixture of these. A content type is a set of service requests that formally specify the nature of a particular form of content, either globally or within a specific domain. Disseminators are the mechanisms for associating content types with DigitalObjects. The Repository is the FEDORA component that provides services to deposit, store, replicate and access DigitalObjects as generic components, identifiable by unique names.

A simple DigitalObject is depicted below. It contains a structural kernel with two DataStreams (a Postscript stream and MARC metadata) and the PrimitiveDisseminator, which is the set of service requests common to all DigitalObjects. There are also three content-type Disseminators (BOOK, MARC, and DC for Dublin Core). Clients can obtain actual disseminations by invoking the content-type methods of each. For example, a client can obtain a Dublin Core record by invoking the getDCRecord() request. Although there is no Dublin Core data inside this object, the DC Disseminator activates an external mechanism that derives Dublin Core from MARC data. This is one simple example of how the underlying structure of a DigitalObject is distinct from the content types is can disseminate.

 

 

The Extensibility Model

The architectural segregation of DigitalObject structure, content-type interfaces, and mechanisms for executing type-specific behaviors is key to the FEDORA extensibility model. This separation makes it possible for content types to be stored and referenced as independent entities in their own right. Content types are essentially a set of methods (class signatures) and mechanisms (programs) that execute them. Both can be treated like any other form of content and, as such, they can be stored in uniquely named DigitalObjects. This creates a de facto registry: content types become "known" when their names (e.g., URNs of their DigitalObject containers) are registered with a digital library naming service. FEDORA provides the means for associating these named content types with DigitalObjects, as well as the environment for activating their mechanisms. This same extensibility model applies to rights management schemes. FEDORA's facilities for access management are inclusive rather than prescriptive - accommodating a variety of existing and new rights management schemes. The FEDORA extensibility model depends heavily on mobile code security, an area of research that we will incorporate into our continuing architectural work.

 

For more information:

Daniel Jr., Ron and Carl Lagoze, Distributed Active Relationships in the Warwick Framework, Proceedings of the 1997 IEEE Metadata Conference, Silver Spring, Maryland, July 1997, http://www2.cs.cornell.edu/lagoze/papers/DAR-draft.ps

Daniel Jr., Ron, Carl Lagoze, and Sandra Payette, A Metadata Architecture for Digital Libraries, IEEE Advances in Digital Libraries 1998, Santa Barbara, California, April 1998, http://www2.cs.cornell.edu/lagoze/papers/ADL98/dar-adl.html

Payette, Sandra and Carl Lagoze, Flexible and Extensible Digital Object and Repository Architecture, http://www2.cs.cornell.edu/payette/papers/ECDL98/FEDORA.html