Flexible and Extensible Digital Object and Repository Architecture
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 and Repository 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. All DigitalObjects have a set of generic behaviors (the PrimitiveDisseminator methods) to create and access DataStreams and to manipulate the structure of the DigitalObject. The DigitalObject also has an extensible interface 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 Disseminator is a FEDORA component that associates an extended set of service requests with a DigitalObject to produce disseminations. The Repository is the FEDORA component that provides services to deposit, store, replicate and access DigitalObjects as generic entities, identifiable by their unique names (URNs).
The architectural segregation of structure, extensible interfaces, and mechanisms for executing extensible behaviors is key to the FEDORA DigitalObject model. Many types of Disseminators can be associated with a DigitalObject to extend its behavior beyond the generic methods. For example, a DigitalObject can have a Disseminator that endows it with a set book-like behaviors, allowing a client to interact with the DigitalObject through a set of requests such as "get next page" or "get next chapter." A Disseminator references a Signature which is a formal definition of the set of methods that pertain to a particular Disseminator Type. It also references a Servlet which is a mechanism (a program) that executes the methods defined by the referenced Signature. Both Signatures and Servlets can be stored in DigitalObjects and registered with a global naming service (e.g., the Handle System). This creates a de facto registry of Disseminator Types -- Signatures and Servlets become "known" when their names (e.g., URNs of their DigitalObject containers) are registered with a global naming service. A FEDORA Repository provides an environment for activating and running Servlets. The FEDORA extensibility model depends heavily on mobile code security, an area of research that we are incorporating into our continuing architectural work.
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 generic service requests. There are also three Disseminators (
DublinCore). Clients can obtain various disseminations of
the DigitalObject by invoking the methods of each Disseminator. For example, a
client can obtain a Dublin Core record by invoking the
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 disseminations it can
The FEDORA CORBA IDL can be found at: http://www.cs.cornell.edu/cdlrg/fedora/IDL/index.html
To download FEDORA Software:
Researchers are free to get the java source code of the FEDORA Reference Implementation at: http://www.cs.cornell.edu/cdlrg/fedora/Software/fedora_main.htm
For more information:Dushay, Naomi and Carl Lagoze, "Modeling Decisions for Digital Content," Cornell University Computer Science, Technical Report TR2000-1807, July, 2000.
Payette, Sandra and Carl Lagoze, Policy-Carrying, Policy-Enforcing Digital Objects, accepted by Fourth European Conference on Research and Advanced Technology for Digital Libraries, Portugal, forthcoming Springer, 2000, (Lecture notes in computer science), draft available at http://www.cs.cornell.edu/payette/papers/ecdl2000/pcpe-draft.ps
Payette, Sandra and Carl Lagoze, Value Added Surrogates for Distributed Content: Establishing a Virtual Control Zone, D-Lib Magazine, June 2000, http://www.dlib.org/dlib/june00/payette/06payette.html
Payette, Sandra, Christophe Blanchi, Carl Lagoze, and Edward Overly, Interoperability for Digital Objects and Repositories: The Cornell/CNRI Experiments, D-Lib Magazine, May 1999. http://www.dlib.org/dlib/may99/payette/05payette.html
Payette, Sandra and Carl Lagoze, Flexible and Extensible Digital Object and Repository Architecture, Second European Conference on Research and Advanced Technology for Digital Libraries, Heraklion, Crete, Greece, September 21-23, 1998, Springer, 1998, (Lecture notes in computer science; Vol. 1513). http://www.cs.cornell.edu/payette/papers/ECDL98/FEDORA.html
FEDORA, Presentation at Second European Conference on Research and Advanced Technology for Digital Libraries, September 21, 1998. http://www.cs.cornell.edu/payette/papers/ECDL98/ecdl98.ppt
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://www.cs.cornell.edu/lagoze/papers/ADL98/dar-adl.html
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://www.cs.cornell.edu/lagoze/papers/DAR-draft.ps
Contact Sandy Payette at firstname.lastname@example.org or Naomi Dushay at email@example.com.
Page last upated 07/19/00
Return to CDLRG Home Page