Finding and managing information on the Internet is a complex and time-consuming process. This paper describes an Intelligent Distributed Information Management System (IDIoMS) that supports the sharing, managing, searching, and presentation of information that is widely distributed over a network such as the Internet. IDIoMS provides a comprehensive set of tools for personalized information delivery, and a platform that will enable straightforward management of distributed information systems using Internet technologies. IDIoMS benefits users through the automatic provision of timely and relevant information with minimal need for users to search for that information. The system also benefits service providers through the plug-and-play provision of information services that minimizes the overhead needed to make their services widely available.
Although the Internet provides access to a vast repository of information, the search and retrieval of specific, useful information and the management of heterogeneous information sources on the Internet is becoming increasingly difficult. This paper presents an Intelligent Distributed Information Management System (IDIoMS) that supports the sharing, managing, searching, and delivery of widely distributed information.
IDIoMS, developed jointly by Fujitsu Laboratories and British Telecommunications (BT), makes significant use of software agent technology, integrated using Internet technologies. Advanced management of distributed information resources is provided by Fujitsu Laboratories' Open Agent Middleware platform, while personalized information management and delivery is performed by BT's Personal Agent Framework.
IDIoMS will benefit users through the automatic provision of timely and relevant information with minimal need for users to search for and find that information. The system will also benefit service providers through the plug-and-play provision of information services with minimal need for providers to make their services widely available.
IDIoMS is intended to facilitate the sharing, managing, searching, and presentation of information that is widely distributed over a network. As depicted in Figure 1, the IDIoMS end user (subscriber) would benefit from an environment in which he/she can receive relevant and timely information from distributed, heterogeneous content sources in a seamless manner.
Figure 1: IDIoMS general architecture and vision
To realize this vision, IDIoMS combines and provides personalized information management applications (provided by the Personal Agent Framework layer) and an advanced information resource management system (provided by the Open Agent Middleware [OAM] layer). The user need not know or specify particular sources of data; mediator agents within IDIoMS' OAM layer assume the responsibility for automatic location of the appropriate information sources and available services all over the network, and the personal agents can proactively request and filter relevant information on behalf of the user.
This paper is organized as follows. First we introduce the two technologies that comprise IDIoMS. Then, in Section 3 we describe the overall vision and architecture of IDIoMS. In Section 4 we summarize trials of IDIoMS performed within Fujitsu and BT, before summarizing the benefits and further issues of such a system.
Having described the overall vision and arrangement of IDIoMS, we now explore the two components in more detail -- the Open Agent Middleware for management of information resources, and the Personal Agent Framework for personalized information management.
The OAM developed by Fujitsu Laboratories is a middle layer platform on Java virtual machine (JVM) to construct flexible, dynamic, scalable, and robust distributed systems over the Internet as multi-agent systems. OAM supports collaborations of agents in a seamless and transparent way, and it enables agents to be connected in a plug-and-play manner over a network. When a new agent is plugged into the network, OAM arranges the organization of agents, adapts the agents of the organization to each other, and manages their collaboration. OAM provides three main functions to enable such dynamic behavior: distributed mediation, reflective adaptation, and communication via field.
The OAM provides multiple mediator agents, federated and distributed over the network, that collaborate in order to service requests . Mediators offer a service request brokerage to other agents over the network; that is, they have meta-information databases that they use to select resources that satisfy the request. Mediators enable access to resources, and perform collation and summarization of the resources' responses.
When a service provider plugs a service agent into OAM, information about the service is advertised to a mediator. The mediator stores the advertised information in its own condition table which contains condition/destination pairs, and then forwards the advertisement to neighboring mediators (gray arrows in Figure 1).
Mediation is based on matchmaking of a requested service with the set of services (advertisements) known to the mediator. When a mediator receives a service request it forwards the request to the correct service agent or another mediator agent according to the search condition. Results from the service agent are then returned to the sender (black arrows in Figure 2).
The distributed architecture of the mediators brings several advantages. For example, load balancing of mediator work can be performed over machines because there are many mediator agents distributed over a network. The condition table can be kept only within mediator agents and no other agents get it. Redundant routes can be set between agents to improve robustness. Therefore, our distributed architecture is more scalable, secure, and robust.
Figure 2: Distributed matchmaking by federated mediators
Each agent has its own data format and protocol. Therefore, an organization of agents must agree on data formats and protocols before starting to collaborate. Within the OAM, agents can update interfaces and protocols for new interactions and collaborations in runtime.
The reflective adaptation is based on the agent/action programming model. Agents are realized as Pathwalker agent components . In a Pathwalker agent component, interfaces and protocols are realized as actions that are replaceable and extensible modules of the Pathwalker components. Once interfaces and protocols are agreed among the organization of agents, actions of each agent are replaced or added dynamically. These actions are supplied from repositories with or without collaboration with mediators. The module can be obtained also from the agent who talks with a new protocol (Figure 3).
Reflective adaptation involves changing the Java servlet code dynamically. This can be used to add new features to the interface, or even update existing code (adding an extra parameter to a method call, for example).
Figure 3: Reflective adaptation
For collaboration among an organization of agents, a common communication medium is required. This medium should be flexible, dynamic, and scalable enough to enable open communication for collaboration over the Internet. The field enables such communication among the organization of agents . As a communication medium, agents communicate with others in the peer-to-peer manner or in the multicast manner on the field. As an information-sharing medium, agents can share information among themselves on the field as a message blackboard. Thus the field works as a logical network and at the same time as a shared memory.
Communication via the field is an event-driven, multicast-based communication. All agents on the field listen to all messages in the field, and each of them reacts to messages according to its own criteria named patterns. An agent becomes aware of an event anyway and reaction to the event is up to the agent. If a set of agents always reacts to certain types of messages, these agents would constitute a weak bounded group within the organization. This kind of pre-communication and pre-grouping is required for collaboration over open environment to be flexible and dynamic.
Moreover, agents on the field can be added to and deleted from the field anytime independently of other agents. The patterns of agents can also be dynamically changed. Thus, collaboration of the field is flexible and dynamic.
Figure 4: Communication via Field
The Personal Agent Framework (PAF) is a unified environment in which several personal agents are integrated. The framework maintains a dynamic user profile that can be shared among agents in the framework and external applications. Key benefits of the framework include:
The user owns and is able to review and control the privacy level of each category of his/her profile, which is available to a suite of personal agent applications through a common application programming interface (API) (see Figure 5). Each agent can operate independently of other agents, but agents can and do share information to augment individual capabilities. Hence, the collaborative agent environment with a secure, common profile in the framework enables efficient personalized assistance for the user.
Figure 5: Components of the PAF
These are now briefly described in turn, although further description of the PAF and agent applications can be found in .
The profile manager is a core functionality of the PAF, with the responsibility to enable other applications to interact with the user profile, either through retrieving profile information or updating profile information. Additionally, the profile manager is responsible for managing the complete interest hierarchy.
PAF user profiles contain two main components: an interest profile and contact details. These are regarded as separate components, which enable contact details to be stored separately from interests, perhaps using alternative storage media (e.g., contact details might reside in a corporate directory, and personal interests in an Oracle database).
The Bugle is a personalized newspaper that provides news articles that are relevant to the user's interest profile. The Bugle makes use of the user's interest profile to find news articles that are relevant to the user. The Bugle performs more than a simple search of news feeds, though, as it makes use of the importance and expertise information associated with each interest to modify the search criteria. The Bugle attempts to find more news articles for important interests, as these are more relevant to the user. Moreover, for any interest the Bugle filters news articles according to the expertise information -- an expert in the field will receive more detailed items than a novice who is learning about the area.
Ivine is an agent designed to locate people with common interests to facilitate networking. It informs its user about other people with similar interests, skills, and expertise within a particular user community, through the dynamic user profiles maintained by the framework. Each user's Ivine agent operates autonomously and contacts other registered agents periodically to compare interest profiles. During this exchange, the information disclosed to other agents is strictly controlled by their privacy settings to ensure that information is not divulged to parties that the user does not want to know.
Radar -- named for Radar O'Reilly of the television series M*A*S*H -- is not an information-finding agent as the Bugle and Ivine are, but is more of a just-in-time information delivery agent. Radar makes use of a number of information sources, many of which are other personal agents, to present appropriate information to the user at the right time. Radar monitors the user's current activity (at present within Microsoft Word) and uses the current position in the document to find material that might be relevant. This is undoubtedly a major benefit since the user no longer needs to actively search for information. The true advantage of Radar is that it brings information to the user's attention when it is most relevant and useful.
IDIoMS is an integration of the two technologies described in the previous section -- the OAM manages the information resources that the PAF applications use to perform personalized information management functions. Users can make use of IDIoMS either statically -- viewing the results through the IDIoMS "portal" -- or dynamically via the use of Radar to provide relevant information just-in-time. A more detailed diagram of IDIoMS' architecture is shown in Figure 6 below.
Figure 6: Detailed view of the IDIoMS architecture
From a user perspective, IDIoMS provides unified access to relevant and useful information. IDIoMS is built upon the notion of functional domains. A functional domain is a categorization of the community served by IDIoMS services. Typically each domain would appear as in Figure 6, with a PAF server containing user profiles, and associated agent services and information resources. IDIoMS is intended, however, to support multiple domains; indeed, a major driving factor behind the design of IDIoMS has been to facilitate inter-domain information and knowledge sharing. IDIoMS thus provides a distributed information system that will enable users from any domain to access information from any domain provided it is relevant to their interest profile and current context.
IDIoMS can be used statically or dynamically -- these modes of operation characterize the user's interaction according to information flow from user to IDIoMS:
IDIoMS therefore provides a powerful assistant for the user, leaving him/her free to concentrate upon the important tasks. We shall now describe how IDIoMS supports the user, using Figure 6 as a reference point.
IDIoMS is built upon the use of Java technology -- and all services are integrated with IDIoMS using Java Servlets. Servlets enable all services to communicate over hypertext transfer protocol (HTTP), thus providing a scalable and robust connection medium. Furthermore, the use of HTTP as a communications medium is widespread, and therefore IDIoMS is able to capitalize on this to provide the inter-domain facilitation.
The personalized information services that are provided by the PAF are integrated within IDIoMS with no change to their functionality as seen by the user. The approach to locating information using the OAM's mediators does differ from the existing PAF. Fundamentally each agent obtains information as described in the previous section: by submitting service/search requests to mediators. The construction of these requests does, however, differ slightly between agents.
The final issue to discuss with respect to IDIoMS' operation is the cross-domain facilitation. Essentially mediator agents can act at a "meta-level" whereby they act as bridges between domains. Essentially this treats each IDIoMS domain as a separate resource with appropriate advertisement to mediators representing other domains. In actuality, advertisements for a resource in one domain can be forwarded to other domains, thereby enabling that resource to be available from more than one domain. Of course, resources may not be suitable for access to another domain (such as providing information for a domain with interests that are mutually exclusive to the present domain) but this will not affect system operation since that resource will not be requested to service a client agent for the secondary domain.
As an initial application domain, the IDIoMS project is being trialled as a support system for system engineers. This case study is designed to demonstrate and assess the potential assistance the IDIoMS project can provide. At the time of writing (January 2000) the trials have just commenced in both companies, and as such we can describe only the scope of each trial at this point.
Within Fujitsu, IDIoMS is being trialled with the SolutionNET Promotion Section, which supports all of Fujitsu's systems engineers by developing and managing information systems for them. Within BT, software engineers from the Belfast Engineering Centre are taking part in the trial to assess IDIoMS in support of their work focusing on Internet and intranet services and applications.
The overriding vision of this project is to develop a generic, agent-based platform capable of providing intelligent support for the management of distributed information systems and associated applications. IDIoMS has taken a significant step toward this end, combining a powerful assistant giving the user timely access to the right information and the right people, with an effective approach to managing distributed information systems. The resultant system being trialled in a systems engineering domain will help assess contributions to personal productivity and efficiency, and highlight additional research issues. As IDIoMS is built upon Internet technologies there is large scope for application of the system -- Internet, intranet, and extranet solutions can all be envisaged with IDIoMS. A toolset for distributed information systems provides powerful mechanisms for the management and dissemination of electronic information in a number of areas:
Clearly there are many areas of IDIoMS that can be more fully investigated -- not only from an expansion of the range of agent services provided, but also in the management of IDIoMS. Perhaps most important is the one issue that plagues the Internet -- ontology management. Clearly IDIoMS needs to address ontological issues to become a more enhanced and capable system, but such issues remain difficult to resolve. The use of XML and other standards can mitigate problems to a certain extent, but they do not provide a solution. Nonetheless, we believe that the start made with IDIoMS demonstrates that an advanced agent-based information management system is a very real and powerful application in the complex, distributed Internet society.
 T. Mohri and Y. Takada. Virtual Integration of Distributed Database by Multiple Agents. In Proc. of the First International Conference, DS'98, LNAI 1532, pp. 413-414, 1998.
 I. Iida, N. Fujino, T. Nishigaya and T. Iwao, Multi-agent Platform for Seamless Personal Communications, Telecom 99 Forum Interactive summit, Int.7, Oct. 1999.
 T. Iwao, M. Okada, Y. Takada, and M. Amamiya. Flexible Multi-Agent Collaboration using Pattern Directed Message Collaboration of Field Reactor Model. In Proc. of the Second Pacific Rim International Workshop on Multi-Agents, PRIMA'99, LNAI 1733, pp. 1-15, 1999.
 I.B. Crabtree, S.J. Soltysiak and M. Thint. Adaptive Personal Agents. Personal Technologies Journal, Vol. 2, No. 3, pp. 141-151, 1998.
 J.C. Collis, S.J. Soltysiak, D.T. Ndumu and N. Azarmi. Living with Agents. BT Technology Journal, Vol. 18, No. 1, pp. 66-7, 2000. (HTML copy)