[Top]

[Back]

[Next]

[Bottom]


5 A Mobile Agent Framework to Support Distributed Information Management


"I had to quit my job to have time to read my email" - Adam Curry

5.1 Requirements

The last chapter has demonstrated that current mobile agent systems, whilst providing the necessary tools to support the migration of agents between network nodes and the communication between agents, do not provide a direct solution for addressing the problem of information overload.

Therefore, a framework is needed that will address a number of issues, simultaneously, to ensure that the requirements of a distributed information management system are met. This chapter presents the potential requirements of such a system in the context of a mobile agent architecture and also details the initial framework and components required to support mobile agents that perform distributed information management tasks.

5.1.1 Arbitrary Migration

To ensure that programmers are given the maximum flexibility in designing agents, the migration of agents should be transparent and reduced to a single instruction (for example, the go command as used in Telescript). Additionally, this instruction should be able to be issued arbitrarily and execution should continue with the command after the jump instruction. This means that the state of an agent must be encapsulate by this migration command, which will package the agent into a format suitable for network transmission. This will allow programmers to concentrate on the tasks of writing distributed information management agents.

With stateless migration systems, the burden of ensuring that the data that needs transferring with the agent is in a well-defined area (for example, a folder within a briefcase in TACOMA) lies firmly with the programmer of the agent. Even though stateless migration requires less effort on behalf of the migration mechanism, it is considered an undesirable requirement due to the fact that it places some of the migration task with the programmer.

5.1.2 Persistence

A key attribute of a mobile agent system is the concept of persistence; the longer an agent is active, the more nodes it can visit and the more influence it can have. Indeed, if an agent has the ability to learn and augment its knowledge-base, then as time moves forward, the agent will gain `experience'. As the agent gains more experience, the more valuable it becomes to the user, since it has useful knowledge about the nodes that it has visited.

For example, consider a resource discovery agent that visits nodes to find out about a particular subject. As the agent issues queries at each node, it can retain information about the range of facilities available, the number of query results found, the average response time, etc. When it is issued with a new request from its user, it can use this information to make a decision about which nodes might be worth visiting first.

The experience that individual agents gain might also be pooled into a collective experience-base that is stored at the node where a user launches their agents. In this way, new agents can be equipped with an existing knowledge-base with which to begin their search.

5.1.3 Fault Tolerance

As mobile agents move across networks and nodes to fulfil their goals, their `experience' and knowledge base may grow as will the data that they collect. To prevent this information from being lost, an agent must be protected from a number of situations that may occur in its lifetime:

5.1.4 Agent Communication Language

Agents should be able to communicate with other agents in a common language, which conveys meaning and represents information in a standard format. An example of such standards that are both part of the ARPA Knowledge Sharing Effort (Patil et al., 1992) are the Knowledge Query and Manipulation Language (KQML) and the Knowledge Interchange Format (KIF).

KQML (Finin et al., 1995) is a high-level protocol and language for agent to service and agent to agent interaction and communication, commonly termed Agent Communication Languages (ACL). It is based around a notion derived from speech act theory in linguistics (Austin, 1962) where messages that are communicated consist of performatives indicating what the receiver should do with the message, for example, tell. Currently, KQML provides performatives which deal with belief revision, querying, knowledge-base maintenance, actions and services. Also, KQML has the ability to nest performatives, such that more specialised performatives can be built from more general-purpose performatives.

KIF (Genesereth et al., 1992) is a rich language that provides a standard representation of information. It can express beliefs, rules, facts and partial descriptions of functions amongst other things. However, KIF is used for more than just a information representation; it also provides a central language for communication between other ACLs. Translating between n ACLs and a central information language such as KIF, reduces the number of translators required from O(n²) to O(n+1).

The advantages of using ACLs and standard information representations are clear; if all agents within the system conform to an interchange standard, then the amount of data translation is reduced and the introduction of translation errors into the data are lessened.

5.1.5 Communication

Another aspect that needs to be considered is how agents are to name and reference other agents? It is obviously not suitable to reference agents through network or machine address, due to the fact that they may move frequently. Additionally, some form of registration needs to take place when the agent moves, so that its current address can be resolved and located. Finin (Finin et al., 1995b) advocates the use of a hierarchical naming convention, not dissimilar to the Domain Naming Service (DNS). Each agent domain is responsible for maintaining a portion of the agent naming tree and addressing is resolved by agent name servers. More importantly, they illustrate the use of agent proxies to provide protocol gateways and firewalls.

The Heterogeneous Communication Model (Goose, 1995; Goose, 1996) provides a similar mechanism for agents to communicate with other agents through an addressing mechanism; as agents transport to a domain, they register their presence with a central router. The form of this registration determines which types of messages the agents is willing to receive: this is analogous to offering server-style functions to other clients. In an example scenario, an agent could register once to indicate that it had information on a particular subject and again to say that it required information on another subject. Due to the configurable and modular nature of the HCM, these concepts can be extended over domains by adopting a DNS-like architecture.

5.1.6 Heterogeneity

To ensure that a mobile agent system is generic enough to suit a wide range of applications, it must possess heterogeneity in the following areas:

The advantages of heterogeneity for distributed information management agents are clear (White, 1994b); it broadens the scope of information resources that agents can access and control on behalf of their user and allows the agents to integrate with more distributed resources and applications.

5.1.7 Security

To ensure that agents can do no harm to their environment or to another agent, a number of security considerations need to be taken into account:

The discussion surrounding the security of mobile agents is currently a topic which generates much debate (Chess et al., 1995). There is genuine concern that mobile agents could present a fundamental problem to networks and systems unless their movement and execution are closely monitored and regulated. It is obvious that some forms of control will have to be implemented to ensure that mobile agents cannot execute on prohibited nodes, cannot monopolise resources or cannot perform malicious acts across network nodes.

One policy involves giving an agent exactly the right amount of permission required to complete its pre-authorised task. If an agent requires more permission, it must apply to the regulatory body of the node. Access or denial will depend upon a number of factors; the ability of the agent to pay for the new permission and the trustworthiness of the agent in the past, as examples.

5.1.8 Summary

The requirements that have been previously outlined are considered the minimum necessary to build an initial framework for mobile agents to support distributed information management tasks.

It is hoped that requirements such as arbitrary migration and ACLs will give the programmer flexibility when writing agents, heterogeneity and communication will allow an agent to reach as many distributed information resources as possible, and security and fault tolerance will make the mobile agent system both trustworthy and robust.

5.2 The Framework

The framework that is to be presented is based around an agent-oriented model; everything in the system is abstracted through agents (figure 5.1). The system is comprised of both static and mobile agents; static agents provide resources and facilities to mobile agents and mobile agents move between network domains taking advantage of these resources to fulfil their goals.

It is envisaged that mobile agents will migrate in a state-oriented fashion and be comprised of code, state and some form of knowledge base. The code segment of an agent will describe the functionality of the agent, for example a resource discovery agent or a link maintenance agent. The state segment will include the stack and local data that the agent is currently executing upon; this will be transferred with the agent transparently. Finally, the knowledge-base will contain the `intelligence' of the agent, that is, its experiences, its goals and its beliefs. This segment will also contain temporary information that the agent is working upon before it is returned to the user.

The manner in which mobile agents (and indeed, static agents) achieve the requirements identified earlier forms the discussion in chapter 6, Future Work. The next sections take each component of the framework and detail its general activities and purpose in the mobile agent infrastructure.

5.2.1 Domain Agent

A domain agent is a static agent that supervises the activities that occur within a domain; a domain is a logical boundary used to delimit nodes, agents and resources into manageable and distinct entities. The domain agent has a number of responsibilities to information resources, users and agents within a given domain:

The domain agent, then, is the key force within a domain and is ultimately responsible for ensuring that security is enforced within the domain and that agents can communicate with information resources and other agents.

5.2.2 Resource Agent

Resource agents are static agents that exist within a domain to provide a level of abstraction between mobile agents and the information resource to which they provide access. The purpose of a resource agent is to mediate access to a particular resource at a local level for an agent; the resource agent understands how to interrogate the resource and also understands the permission structures associated with the resource.

The resource agent has a number of functions to fulfil:

The interaction between resource agents and mobile agents will form the crux of the distributed information management aspect of the infrastructure. The flexibility that mobile agents are afforded in accessing these information resources and the manner in which they interpret the results will determine their usefulness to the user.

5.2.3 Mobile Agent

Mobile agents, as their name suggests, are the components within the framework which can migrate between network nodes. They are the mechanism by which the user exercises control over their own distributed information resources and gain access to other, shared information resources.

Mobile agents are equipped with a set of user-defined goals which describe the nature and limits of their functionality, for example, a resource discovery agent is a mobile agent with a different goal set than, say, a navigation assistant agent. It is probable that, in addition to the limits on the functionality that users place on their mobile agents, the mobile agents themselves will encounter limits (in the form of security, authentication and validation) that exist within domains. In some cases, these limits (for example, lack of funds to pay for resources) will compromise the goals that have been given to the mobile agent.

There are two general approaches to the coordination of mobile agents:

The essential functions of mobile agents will be delineated by the distributed information management tasks that they are allocated. However, they have the following interactions with the framework:

It is clear then, that mobile agents are the ultimate effector of change within a distributed information management environment, and as such, should be treated cautiously. The possibility for mobile agents to effect changes or gain access to private information must be closely monitored by the domain agent and the individual resource agents. A comprehensive authentication, validation and access permission system is vital to ensure that malicious agents can do no harm to a system and that legitimate mobile agents can fulfil their goals.

5.2.4 User Interface Agent

The user interface agent is an agent that resides within a domain and provides a level of abstraction for the user away from the details of the mobile agent framework. It is essentially an interface agent (see chapter 3) that needs to be capable of the following tasks:

User interface agents provide the user with a window onto their agents, their status, their results and the mobile agent framework. The creation of new distributed resource management agents could either be the task of the user to write (or reuse with different parameters), or the task of the user interface agent to interpret the requirements of the user and generate mobile agents to fulfil those tasks automatically. The latter approach is most desirable, but is still a long way off given the technology that exists currently.

5.2.5 Gateway Agent

A gateway agent is a static entity that resides within a domain and provides access to another network or to a restricted domain. Therefore, gateway agents need to provide the following services:

5.3 Summary

The framework that has been presented in this chapter has shown that there is much work that needs to be undertaken above and beyond what current mobile agent systems offer for distributed information management. The framework provides a network-wide environment in which users can manage, augment and integrate their existing distributed information systems, and also discover and incorporate additional bodies of information from other distributed information systems that have been made accessible by other users. The sharing permissions that these information resources are issued with will determine the level at which anonymous mobile agents can interact with foreign resources; the potential for cooperative working is obvious.

The realisation of this framework will take two stages; production of the infrastructure components and the development of a set of mobile agent-based tools to support the user in achieving distributed information management goals. The next chapter identifies some of these issues as future work and discusses their potential implementations.




[Top]

[Back]

[Next]

[Bottom]


EMail: jd94r@ecs.soton.ac.uk
WWW: http://www.ecs.soton.ac.uk/~jd94r
Copyright © 1996, University of Southampton. All rights reserved.