A Model and Infrastructure for Federated Learning Content Repositories Daniel R. Rehak Philip Dodds Laurence Lannom Learning Systems Architecture Lab Institute for Defense Analyses Corp. for National Research Initiatives 700 Technology Drive 4850 Mark Center Drive 1895 Preston White Drive Pittsburgh, PA 15219, USA Alexandria, VA 22311, USA Reston, VA 20191, USA rehak@cmu.edu pdodds@rhassociates.com llannom@cnri.reston.va.us ABSTRACT digital libraries containing these learning and content objects In order to assist in the discovery and access of learning content (e.g., [6, 12, 13, 15]). from the diverse, extant collection of content repositories, we are Reference models such as SCORM [16] have been proven developing a reference model that describes how to build an effective in providing interoperability of content and course interoperable repository infrastructure through the creation of materials across delivery platforms. Metadata standards such as federations of repositories. Such federations provide a single IEEE LOM [10] and the Dublin Core [4] provide an effective way point of discovery and access. They collect the metadata from to describe and catalog individual content objects. But content the contributing repositories into a central registry. The and system interoperability combined with content tagging and CORDRA activities surrounding this work include development management are insufficient. of a model of federated repositories, their behavior, services and interfaces, defined through a reference model. This reference For example, the SCORM framework specifies how to develop model is a profile of a collection of open interoperability and deploy content objects that can be shared and contextualized specifications detailing the characteristics and behavior of the to suit the needs of the learner, and it provides the means to tag federation. Individual communities of practice may then content for later discovery and access in a distributed implement their own federation, with their own technology environment. But SCORM is silent about how content discovery choices and policy and business rules, following the overall and access are to be implemented. Currently, discovering and model, but tailoring it to their needs. The project also aims to accessing content for use, reuse or remix is ad hoc: you need to build an operational infrastructure that will include a master know where the content is stored and how to search and access it federation of federations. from individual repositories, typically in idiosyncratic ways. While there are several ongoing efforts aimed at building Categories and Subject Descriptors federations of learning content and content repositories, e.g., [5, H.3.7 [Information Storage and Retrieval]: Digital Libraries – 8] there is as yet no formal model of how to build such a standards, systems issues. K.3.1 [Computers and Education]: federation, nor is there a common approach to creating a shared Computer Uses in Education – computer managed instruction global infrastructure for learning content. (CMI). Thus, our goal is to develop a model of how to enable the next General Terms step in the evolution of e-learning, namely, how to solve the problem of seamless discovery and access to learning content. Management, Design, Standardization. We approach this problem through the creation of interoperable registries of content and content repositories, i.e., establishing collections of repository federations, all conforming to a set of Keywords agreed-upon standards. Building upon existing technology from Learning Content, Content Repositories, Registries, Federated the worlds of learning content management and delivery, content Repositories, Digital Libraries, Interoperability Standards, repositories, and digital libraries, this model aims to identify and Metadata, CORDRA, SCORM. specify (not develop) appropriate technologies and existing interoperability standards that can be combined into a reference 1. INTRODUCTION model that will enable learning content to be found, retrieved and In recent years, a variety of learning technology systems and reused. interoperability standards (e.g., [16]) have been developed and adopted. All of these were aimed at increasing the reuse of “learning objects”, reducing their development effort and 2. CONTENT DISCOVERY and ACCESS providing interoperability of content across delivery and PROBLEM management systems. Additionally, there exists a diverse The technological and management problem we are trying to collection of both public and private content repositories and solve is that of how to provide access to learning content, under the base assumption that good learning requires ubiquitous content, which in turn implies the need for an operational content Copyright is held by the authors. infrastructure. We recognize that while there is an existing body WWW 2005, May 10--14, 2005, Chiba, Japan. of content and a collection of content repositories, these do not interoperate in a seamless way. Furthermore, the successful adoption of the SCORM “reference model”, i.e., a profile of a addresses not only the problem of allowing the participants to collection of interoperability standards targeted at a specific remain independent except for their agreement to minimal community of practice, illustrates that a similar approach could be “interfaces”, but also provides a common, centralized method for used to provide an infrastructure aimed at the seamless discovery discovery and access. and access to content stored in the existing but diverse repositories. 3. CORDRA We are motivated by a more direct problem. The government and 3.1 Framing the Model military education and training sectors in many countries have Our working definition for the reference model underlying the begun to mandate the use of SCORM in the creation of learning content infrastructure is: content. They further require that organizations search for and reuse existing content when feasible and that they make existing an open, standards-based model for how to design and content available for reuse. Thus, while SCORM provides the implement software systems for the purposes of discovery, model for the content itself and the content delivery environment, sharing and reuse of learning content through the it does not provide a model that can be applied to content or establishment of interoperable federations of learning content repositories such that content can be easily discovered and content repositories. accessed outside of courses. No model similar to SCORM is We label this model CORDRA, and commonly expand the available for repositories, content discovery or content access. acronym as Content Object Repository Discovery and Registration/Resolution Architecture [3]. Rather than simply mandating a specific architectural solution or system for content discovery and repository interoperability (in In developing the model, we start by restating a set of core particular, how to combine repositories into an overall content questions that the overall solution must address: infrastructure in an interoperable way), we promote the reference • what are the requirements for learning content repositories model approach. While the government and military sectors have that participate in a federation? some unique requirements, the general problem of content • what are the core policy and business rules that a repository discovery, access and repository interoperability needs to be and the federation must support? addressed across all education and training sectors. We posit that • what are the minimal constraints on system architecture and we can develop a general solution applicable and adaptable to all design? sectors. • what are the implications for consistent implementations We are taking a multipronged approach. We are building a set of (needed for interoperability)? specific implementations of federated content repositories for • what are the relevant technologies? specific communities of practice. At the same time, we are • what are the relevant specifications, e.g., web, search, developing and documenting a formal underlying reference model libraries, identifiers, learning technology, …? that can be applied and adopted broadly. Much of our actual • how do we connect these technologies and specifications work is derived from prior attempts (successful and unsuccessful) into a consistent framework and model? to build such federations, leveraging existing technologies and standards, and lessons learned [1, 2, 11, 14, 17]. Our broad goal The resulting model must support a set of core capabilities: is that this reference model can become the basis for a global • “published” content will be widely available; content infrastructure. • content can persist outside of the context of a single course As base requirements, we assume a content infrastructure must: or other learning structure or delivery paradigm; • support the discovery and access to content; • content can be easily discovered; • provide content management; • there will be standard mechanisms for content access; • operate under the specific policies of the individual • content can be managed (ownership, rights, access, institutions, collections and repositories; provenance, persistence); • work “at scale”; • operations are tailored to meet the needs of the participating organizations and institutions; • be robust and reliable; and • use open standards-based interoperability; and • make business sense to those who will fund, develop and deploy it. • support integration of and with current systems for repositories, management and content delivery. Within this infrastructure, we want to make content widely available, easy to find, independent of courses and seamlessly Additionally, since we are attempting to model and build a large accessible. We want to enable reuse and remix, but maintain infrastructure, it is important that we consider some of the content in a managed environment, subject to appropriate rights attributes of successful infrastructure development. By observing management. We assume that existing systems and technologies how infrastructures have evolved in the past, we hope to minimize must integrate or interface to be part of the overall infrastructure, problems. History has shown that successful infrastructures [7]: i.e., the elements of the infrastructure will be built on diverse • evolve from local to global. They start with a local system technology platforms that need to interoperate and integrate with for local uses and users, and then connect with other local other systems, but remain independent. systems to build the broader network. • grow in size and importance with demand. There is a cyclic Thus, we are developing a model for a content infrastructure feedback loop: more demand increases use and size, which centered on the broad problem of content discovery and federated increases demand, attracting more users, …. repository integration. Such a federated repository model • use primarily core, scalable, reliable, existing technology. • there is sufficient demand, i.e., we are not premature in Existing technology is refined, extended and adapted to developing a solution to the problem. build the infrastructure. No core technologies are created • we can capture and express the key requirements and directly for the sole purpose of creating the infrastructure. properly include these into the overall solution. • have open connections and interfaces specified through • the policy problems are solvable. Our experience in minimal interoperability standards. Anyone who meets the developing and deploying digital library and learning stated interoperability requirements is permitted to join the technology systems tells us that solving management and network. Interconnection requirements are limited to only policy issues is critical, often overriding the technical those essential for successful operations. issues. • seamlessly connect from source to sink. Provide a single model and approach for the user, eliminating technological More importantly, while we understand that there have been impedance barriers between the interconnected elements unsuccessful attempts to build major repository federations in the and automating the flow of information or payload from its past, and that many of the digital library systems have not origin to its final destination. fulfilled the promise, we hope we are now at a new tipping point: • enable value-added services. Provide only core features in demand, technology and standards have matured such that we can the common infrastructure, and support mechanisms for now be successful. others to independently add their own services and features under their own business models. The amalgamation of assumptions, requirements and historic • provide separate levels of functionality. Maintain background together forms the basis for CORDRA. CORDRA independence, both in technology and management, of itself is a label for three different items: features such as generation, transport, delivery, and • a model of how to create local federations and a global management. learning content infrastructure; • focus on the right users. Know who from the user • a project working to define and document the model with community (developers, end-users, managers, individuals, sample tools and implementations; and businesses, etc.) are key players and provide the • a working system – a global federation of content registries. functionality that they need. • handle peak demand and fractional use. Know what the We describe each of these below, focusing primarily on the peak demands are, and build a system to support those, but overall formal reference model. understand that individual users have smaller demands. Users will need only a fraction of the power of the 3.2 CORDRA Model infrastructure at any time. CORDRA is designed to support the federation of existing • enable local operations and policy. Allow the participants content repositories where these are combined into a single source in the infrastructure to operate under their rules and for content discovery and access. The formal model (the policies. CORDRA reference model) can be used to design and implement • provide differentiated services. Identify when a single level such federations of repositories. of service or model will not suit all users and provide The overall CORDRA model for a single content federation is appropriate different models for different groups, possibly illustrated in Figure 1. at different costs associated with the level of service. • Learning content remains in existing (local) content • apply appropriate policies and governance. Both local and repositories that are managed and operate under their own global management of the infrastructure are critical. local rules. • make appropriate business decisions. Participants will all • Repositories and content (i.e., content metadata) are have different value propositions, and the solution must be registered within the federation to enable discovery, access attractive to both providers and consumers. and management. • move to ubiquitous or universal service. Provide a system • The federation registry is a collection of system repositories that can provide a minimal level of service to all users. that maintains a master catalog of all learning content • build systems, not components or payload. Focus on the metadata, the repository registry listing all repositories infrastructure itself, both as technology and management. within the federation, and an additional repository with Enable and rely on others to build the tools and components system data, models, etc. of the infrastructure and to provide the payload, data or • Content is located by searching against the master catalog. information that moves through the network. The catalog may also maintain additional indexing information, usage data, context, etc., that are used to rank Moving from this historic background and through the and identify the most appropriate results to satisfy a requirements, we highlight five key assumptions underlying the discovery query. The other system repositories contain development of CORDRA: declarative and semantic models used in CORDRA • there are sufficient interoperability standards. We assume operations. the core standards exist, and that while they may need to be • An identifier system provides an infrastructure for object adjusted and extended, we do not need to first define a new identification, registration and resolution. set of core standards before we can begin to define the • A common services infrastructure provides the core model and build operational systems. technical and administrative services and overall software • the core technology is stable. Again, we assume that the design paradigm used throughout a federation available digital library or repository, internet, and learning (authentication, security, rights management, business rule technologies are sufficiently stable for us to begin. processing, etc.). • End-user interfaces and application systems (search, implement the repository or indeed if it is a software system, discovery, authoring, personalization, customization, physical, or virtual. All repositories are registered as part of a delivery, etc.) are used to catalog, find, manage and deliver CORDRA implementation. The content repositories that learning content and content objects. These are built as participate in the federation are operated and maintained value-added services on top of the core federation structure. independently of the federation itself. The CORDRA model is based on key characteristics, consistent Within the model, in addition to the individual content with the requirements and background as illustrated in Figure 1: repositories, a federation has three system repositories: • persistent, actionable (content) identifiers; • the master catalog or content registry, containing metadata • individual content repositories; instances of content from the individual contributing • federated metadata; repositories used for all search and access; • single point of search; • the repository registry, containing the descriptions • service-oriented design; (metadata, policies, access information, etc.) of all • core, common services; repositories in the federation; and • a scalable infrastructure / technology base; • the system registry, containing the machine processible • value-added user services and applications; and descriptions of the CORDRA model and its implementation within the federation. • open standards. All of these repositories are registered in the repository registry, enabling a self-descriptive system. Within the model, a repository is defined as a persistent, managed store of content with a set of defined service interfaces used to integrate and interface it with the federation. There are no other stated technology requirements, i.e., we are silent on how to Figure 1: Model of a CORDRA Federation A key concept of the CORDRA model is the federation of The applications and value-added services are built on top of the metadata from the individual source repositories into the single common services and the federation infrastructure. They provide federation metadata registry. Based on prior work, we believe a collection of service-oriented models with user interfaces or that such a model is scalable and provides robust, reliable quality user agents to provide features such as content search, content of service and uncouples discovery from any idiosyncratic registration, content harvest, repository registration, content features of individual repositories. It also provides the means to delivery, and content assembly and customization. Since these easily build independent value-added services. services can be defined and built independently of the federation, we do not attempt to define or limit what someone may want to The model relies on a formal identifier infrastructure used to build, but rather try to enable a range of add-on features. provide a persistent, unique “name” or label for each item. Identifiers are actionable, with multiple resolution, providing a In the above, we described the model of a single content mapping from the name to a set of information used in processing. federation, i.e., a single collection of repositories. However, we There are collections of namespaces for identifiers; content want to enable the creation of many federations, each containing a collections use their own namespace; each federation has a different collection of repositories. More importantly, as noted namespace for elements used to define and operate the federation; above, we expect that each of these federations will need to and there is a CORDRA namespace for elements of the CORDRA operate under a different set of rules and policies, be implemented model itself. on a different technology base or platform, and use a different set of interoperability standards. For example, one federation may be A set of common services are used to build a federation; e.g., public and one may be private; one may be built assuming content identification, authorization, authentication; digital rights metadata is harvested from the repositories and another may expression and management; policy and rules processing require an active deposit and registration process. Likewise, one (workflow); search and harvest interfaces; identifier resolution; federation may rely on LOM metadata, and another may use security. All of the service definitions are stored within the Dublin Core to describe all content objects. Thus, we need to system registry. The overall model is based on a service-based define CORDRA as a model to permit the development of approach (not necessarily a Service-Oriented Architecture federations under a collection of different technology, policy and [SOA]), defining operations and behaviors as services. management schemes. Figure 2: Layered CORDRA Model Thus, the CORDRA model is defined at three discrete levels as 3.3 Federated CORDRA: Federation of illustrated in Figure 2. • The Core CORDRA Reference Model defines the structure, Federations features and capabilities of CORDRA without defining how As described above, we have developed a model of how to create to implement it within a particular community of practice. individual federations of content repositories, each federation The core model includes the system vocabularies, rule being built to meet the needs of a specific community of practice. representations, system data models and schemata, service We expect that many communities will want to create their own models and their definitions, and the CORDRA metadata. implementations. However, creating multiple implementations These items are defined both in human- and in machine- still does not meet the goal of seamless access to ubiquitous processible forms, and are assigned identifiers from the content. Users still need to be aware of the different federations CORDRA namespace. The core model is independent of and need to directly access the appropriate registries for content any implementation or federation, but is used to define and discovery. describe each of the implementations and their instances. Rather, we desire a single point of access to all content, • A Community Implementation describes a particular independent of repository or federation. Thus, the overall implementation of the CORDRA model. It specifies the set CORDRA model includes the concept of a federation-of- of data models, taxonomies, business rules, system federations, denoted as Federated CORDRA. structures, interoperability standards, etc., for a particular As illustrated in Figure 3, Federated CORDRA is the collection of community. These models are defined in terms of the CORDRA community-specific implementations. It is defined description and modeling features of the core CORDRA through a registry of the corresponding CORDRA registries, i.e., reference model. We anticipate many different a registry-of-registries (RofR). The central federation registry implementations, and describe the initial ones below. At also includes within its system repository the definition of the this level in the overall CORDRA model, the description of various CORDRA system objects that are independent of any the federation does not specify operations or mapping to an individual implementation. operational infrastructure, i.e., the implementation defines what a federation does, not how to create and operationalize Following our overall approach of building self-descriptive it. systems, the federation-of-federations registry is just another • An Operational Instantiation defines the characteristics of a CORDRA implementation and follows the overall approach and single running instance of an implementation for a reference model. Here the community is the global community of particular community. These include the choice of binding all other federations, and the implementation defines how all of of components to actual network names, namespaces, the federations register their registries into the overall federation- operational policies (backup, mirrors, etc.), hardware, of-federations registry. software and operating system choices, etc. Any We do, however, limit the model to a single level of federation, implementation may support any number of instantiations, believing that for reliability and performance, the user should e.g., production versus development systems. The never be more than two steps away from content: federation-of- characteristics of the instantiations are defined by the federations registry to an individual federation registry, and then implementation and its community; they are not part of the from the federation registry to the content repository. CORDRA reference model. Figure 3: Federated CORDRA We currently have not determined what will go into the registry- In addition to the operational registry, we are developing a user of-registries. Should we store all the metadata for all the objects portal for search and discovery. Other supporting elements in all the repositories in all the registries in all the federations? Or include a test harness and test data; help desk support; system just the total list of all the repositories or just the list of registries? documentation; and the development of operational policies for The primary function of the RofR is to be a single starting point the registry, the participating repositories and the organizations for access and discovery. Starting at the root, how do you get to that deposit and manage content. an individual content object? One can imagine searches being mapped from one federation to another; one can imagine search The ADL-R has multiple operational instances: a development results that just summarize what you might find in the different environment with prototype system that includes developmental federations; one can envision dispatching mobile agents across an and test bed instances; and a production environment with array of identified federations to gather search results or even primary and backup systems. Quality of service, performance samples of content, etc. The ability to build various applications monitoring, replication, backup, etc., are key aspects of making and searches on top of the RofR will depend on its content, but the ADL-R a robust, reliable, operational system. much of the functionality can be abstracted from the implementation details. The design and implementation will We are beginning the development of a second CORDRA evolve as the infrastructure evolves, and as we learn what will or implementation for a different sector within the US Government. will not work. We aim to address a number of different topics in this work: • understanding how to move from the existing ADL-R 3.4 CORDRA Project and Status implementation to a new community; Work on the project has been underway since 2003. Our initial • how to both capture the community’s requirements and goal was to create a single instance of a federation of content modify the core system to include their needs; repositories for the US military, operated by the Department of • developing web service interfaces; Defense (DoD). The primary objective of this federation was to • exploring access and rights management issues; support the discovery and access to SCORM-based learning • exploring models for harvest, indexing and advanced content. search; As we developed the initial design and plans for this federation, • developing an approach to capture and process local we recognized the need to separate the underlying model from the repository and registry policy and business management actual implementation, and further recognized that one single rules; and federation will not meet everyone’s needs. Different communities • demonstrating value-added services for content creation, will have different specific requirements, but it should be possible management and delivery. to create a general model, and develop specific versions of that model (profiling the generic profiles) for specific communities. As with the ADL-R, this implementation will demonstrate the Thus, we differentiated CORDRA as the general model and the overall model in a production environment and will help shape project description from the specific implementations. The US and refine the model. We anticipate that the results from this DoD implementation of CORDRA is now designated the ADL- second implementation will eventually be folded back into the Registry (ADL-R). ADL-R. The ADL-R has been in development and testing since mid-2004. Elements of the system are based on prior work on systems such We are also in the planning stages for other CORDRA as Fedora and Cross-Ref [1, 2]. The ADL-R uses the Handle implementations for other communities. Once we have a few System [9] as a core component, and incorporates other off-the- operational implementations of federated registries based on the shelf software, including commercial products such as database CORDRA model, we will begin the development of Federated management systems, LDAP directory software, XML CORDRA, the federation of federations. processors, etc., with elements from open source projects such as the Apache Project (Lucene, Apache Web Server). We currently Our approach is thus multipronged as stated above. We are anticipate that the ADL-R will go into production operations developing and building operational implementations of around mid-2005. CORDRA for specific communities in order to understand requirement and needs and to test our concepts. We take the The ADL-R incorporates a set of core capabilities, focusing on results of this work to define and shape the overall model, the central content metadata and repository registry: allowing us to produce and refine the formal description of the • content and metadata instances are identified with Handles; CORDRA model. • repositories and their core management policies are described and registered within the central registry; The CORDRA project is thus the collection of all of these • metadata instances, described using LOM, are deposited in activities: defining the model, coordinating the various the registry; implementations, and providing a way to build the federation of • simple and extended search operations are available to federations. The project includes the dissemination of the discover content and its metadata from the registry; CORDRA documents and outreach activities. Sample code, tools, • search and query operations are available to discover test data, etc., will also be released to the community as part of policies and information about the repositories that are part the project. of the federation; • internationalization is supported throughout; and Beyond the technical work, we continue to explore how to move • operational and status data are available. CORDRA, as an idea, beyond its roots in specific projects. The long-term plan is to move the work on the model itself and the 5. ACKNOWLEDGMENTS operations of the federation of federations to appropriate This work has been supported by the US Advanced Distributed governance and stewardship bodies. Learning Initiative. The views contained herein are those of the authors and should not be interpreted as necessarily representing 4. SUMMARY policies or endorsements, either expressed or implied, of the Key requirements and how the work meets them can be Learning Systems Architecture Lab, the US Advanced Distributed summarized as: Learning Initiative, the Corporation for National Research • users want to easily discover learning content and want their Initiatives, or any project sponsor. content to be found: provide a “one stop” search interface; The CORDRA activities are currently being coordinated by the • users want to find the right content in context: use Advanced Distributed Learning Initiative (ADL), the Corporation appropriate indexing and ranking data and algorithms in for National Research Initiatives (CNRI), and the Learning conjunction with search; Systems Architecture Lab (LSAL). For more information, see • searchers want precision of search results, returning only http://cordra.net/ what they need: use proper classification and good metadata; • we need flexibility and an approach that will scale, and 6. REFERENCES forcing new or rigid information, service and protocol [1] Arms, W.A., et al., “An Architecture for Information in models is unpalatable: use self-descriptive and semantic Digital Libraries,” D-Lib Magazine, Volume 3, Number 2, modeling; February 1997. • integration and interoperability with existing systems and [2] Atkins, H., et al., “Reference Linking with DOIs, A Case applications are required and we cannot foresee all of the Study,” D-Lib Magazine, Volume 6, Number 2, February required capabilities: use a service-oriented approach; 2000. • providing tailored operations for communities of practice to enable local policies and business rules, not define them: [3] CORDRA (Content Object Repository Discovery and include discoverable and machine-processible policies; and Registration/Resolution Architecture). http://cordra.net/ • ease of use is essential: develop supporting tools and user [4] Dublin Core Metadata Initiative. http://www.dublincore.org/ support and guidance. [5] EdNA Online: Education Network Australia. CORDRA is an overall reference model that attempts to meet the http://www.edna.edu.au/ goals, requirements and assumptions described herein. It defines [6] eduSource Canada: Canadian Network of Learning Object how to build federated repository systems to support the Repositories. http://www.edsource.ca/ discovery and access to learning content that operate through the federation of metadata from the contributing repositories. The [7] Friedlander, A., Infrastructure History Series, Volumes 1-4, CORDRA model and implementations of it are built on existing Corporation for National Research Initiatives, 1995-1996. technologies, and the reference model is formally defined and [8] Globe (Global Learning Object Brokered Exchange). represented through a profile of a collection of existing http://taste.merlot.org/initiatives/globe.htm technology standards and specifications. In short, the CORDRA reference model is just a profile of interoperability standards and [9] The Handle System. http://handle.net/ the additional glue needed to join them into a cohesive whole that [10] IEEE LOM 2002, IEEE Standard for Learning Object can be successfully applied and implemented. Metadata, IEEE Standards Department, Institute of A community of practice selects a set of policies, rules, Electrical and Electronic Engineers, Inc. (2002). IEEE-SA technology choices and decides on appropriate specifications for Standard 1484.12.1-2002. their needs. These choices are then reflected in the specific [11] Leiner, B., “The NCSTRL Approach to Open Architecture federation of repositories built for their needs. Each community for the Confederated Digital Library,” D-Lib Magazine, then has its own federation registry used for content discovery Volume 4, Number 12, December 1998. and access (perhaps with multiple operational instances). [12] Merlot (Multimedia Educational Resource for Learning and These individual community federations are then integrated into a Online Teaching). http://www.merlot.org/ global federation of registries, the federation-of-federations, that also follows from the overall CORDRA model. [13] NSDL - The National Science Digital Library. http://nsdl.org/ Together, these elements define a model for a global operational learning content discovery and access infrastructure. [14] Payette, S., “Interoperability for Digital Objects and Repositories: The Cornell/CNRI Experiments,” D-Lib We are developing this overall infrastructure and model by Magazine, Volume 5, Number 5, May 1999. working from individual implementations, testing and refining our work as we proceed. We combine our results into the formal [15] RDL: Reimer Digital Library. http://www.adtdl.army.mil/ model, open source tool set and documentation being released to [16] SCORM-2004 (Sharable Content Object Reference Model). the community. http://www.adlnet.org/index.cfm?fuseaction=scormabt [17] Van de Sompel, H., et al., “Resource Harvesting within the OAI-PMH Framework,” D-Lib Magazine, Volume 10, Number 12, December 2004.