The Digital Library as Community of Information Agents

Michael P. Wellman, Edmund H. Durfee, William P. Birmingham

Artificial Intelligence Laboratory
University of Michigan
Ann Arbor, MI 48109-2110

{wellman, durfee, wpb} @ umich.edu


A position statement, to appear in IEEE Expert (Trends & Controversies Section on the Role of AI in Digital Libraries), June 1996.


The advent of digital libraries presents a plethora of challenges and opportunities for artificial intelligence technology. Extracting relevant information from large multimedia digital collections stresses technologies for information retrieval, text and image understanding, translation, and
so on. Satisfying diverse user communities calls for advanced interfaces, user modeling, speech/gesture recognition, and other emerging mechanisms. Between users and collections is a gulf filled with a large, diverse, and evolving network of services that must be selectively marshaled to accomplish particular tasks.

We argue that a fundamental role for AI in digital libraries is to perform the underlying monitoring, management, and allocation of services and resources that bring together users and information. While user-interface or retrieval technologies are also important, it is obvious that such technologies will undergo ongoing and dramatic change, which in turn can lead to the restructuring of “how things are done” in the library. In a very real sense, therefore, the underlying architecture of a digital library must continually search through a growing, shifting, and complex space of content and capabilities for combinations that best serve needs arising at a given moment.

For this reason, we view the critical role of AI in a digital library as providing an infrastructure that accommodates extreme heterogeneity of content and function, and supports continual extension and evolution in both categories as well. To us, this means that:

  • Specialized information processing functions must combine flexibly, keeping function and format orthogonal as far as possible.
  • Combinations of functional units and resources to be deployed for any particular task cannot be hardwired, but must be dynamic choices of the system based upon continually changing factors in the library.
  • The capabilities and requirements of any functional unit must be explicitly described, in order for the system or these units themselves to evaluate their applicability and suitability of combinations.

The University of Michigan Digital Library (UMDL) project aims to satisfy these criteria with an architecture based on distributed information agents. The agents in this system represent specialized information-processing functions, with additional abilities to reason about their effectiveness and requirements, communicate with other agents, negotiate about terms and resources, and perform other generic agent functions. We call them “agents” because we assign these modules autonomy of action (they choose what services to perform for whom with what resources under what terms), under the general constraints imposed by their situations and their relations with other agents. Typical digital library tasks require teaming among numerous specialized agents, but each agent can choose whether to join a team depending on what it expects to get out of participation.

Our description so far has been very generic, mainly because the scope of what constitutes an “information-processing task” relevant to the digital library is so broad. To make our conception more concrete, types of agents that we have built for UMDL thus far include:

  • User-interface agents (UIAs): manage the presentation of information and elicit input from the user, maintain user models, and in general represent the end user’s interests in the system.
  • Query planners: generate plans to satisfy user queries and to form temporary agent teams that combine capabilities to accomplish the plans.
  • Collection-interface agents (CIAs): run local search on collection databases, and represent the interests of publishers and other owners of library materials.
  • Information service providers: perform specific services such as thesaurus (providing synonyms) and taxonomy servers (to broaden/narrow topics), and notification agents that monitor features of the digital library for relevant events of interest to other agents.
  • System facilitators: support the location of relevant agents (e.g., the registry serves as a directory of agent capabilities) and mediate the establishment of terms for collective performance (e.g., auctions identify prices that providers and consumers can agree upon).

Each agent we (or third-party developers) build can present interesting problems for AI. Some correspond to classic AI problems (e.g., language processing tasks, planning tasks), others may correspond to newer types of AI problems (e.g., negotiation). Agent development can benefit from AI techniques in knowledge representation, for example, or machine learning. But, note that as far as the system architecture is concerned, how an agent performs its information processing task–and in particular whether any “AI technique” is employed–is irrelevant. What is essential for the architecture is that the agent be able to describe its capabilities precisely and accurately to other agents. Since there is no fixed set or small number of information library services, this means we must provide an expressive language to construct these descriptions, mutually understood by the library agents, at least some of whom are able (most likely using AI planning techniques but not necessarily) to conduct the search for ways of teaming agents up to accomplish tasks while still satisfying the individual agents’ preferences.

We therefore believe that language and protocol design for agent communication is a key area where AI can contribute to digital library development. We have found structured description languages useful for representing agent capabilities, since they directly support construction of descriptions from parts of others, and reasoning about the relationship between descriptions based on the structure of their parts. Using these facilities, for example, agents can negotiate about provision of complex services, as long as they have a common understanding of the primitives making up those services. For example, in our current prototype, the query planner uses knowledge about the relationship between the index terms of the registry and the taxonomy server to enlist both of these agents for an iterative search for collections “near” the user’s query.

We have also found agent communication languages based on speech act categories (as in KQML) quite useful for describing protocols and agent communication strategies. In particular, we have been able to identify a number of speech acts (and appropriate semantics) that cover a broad range of information services. In addition, we are introducing speech acts to cover negotiation: the process by which a set of agents comes to terms on provision of information services and allocation of resources to the various service activities. Our protocols support a general negotiation model, based on agents tendering offers to buy or sell services, basic resources, and other information goods for specified prices. Market facilitator agents help resolve these offers into deals among agents. The specific protocols employed depend on the agent interaction. For example, where the information services are easily parametrized and interchangeable, a competitive auction process involving many agents will be effective. For more individualized services, the negotiation facilitator may need to account for strategic reasoning on the part of participating agents.

As all the hype surrounding software agents attests, digital libraries are just one arena for a new generation of automated information services. AI has a large role to play in improving the generality, robustness, and overall competence of these services. We believe that the field of AI has an equally important role to play in architectural infrastructure (in concert with other technologies, of course). In a digital library, our typical problem is an abundance of available information and information services. Efficiently bringing together the right agents with the right resources for the right tasks is the measure of the library’s effectiveness.


For more information on the UMDL project, see

Building the University of Michigan Digital Library: Interacting Software Agents in Support of Inquiry-Based Education (DE Atkins, et al.). IEEE Computer, May 1996.