Mobile agent evolution computing

https://doi.org/10.1016/S0020-0255(01)00109-8Get rights and content

Abstract

The ecosystem is an evolutionary result of natural laws. Food web (or food chain) embeds a set of computation rules of natural balance. Based on the concepts of food web, one of the laws that we may learn from the natural besides neural networks and genetic algorithms, we propose a theoretical computation model for mobile-agent evolution on the Internet. We define an agent niche overlap graph and agent evolution states. We also propose a set of algorithms, which is used in our multimedia search programs, to simulate agent evolution. Agents are cloned to live on a remote host station based on three different strategies: the brute force strategy, the semi-brute force strategy, and the selective strategy. Evaluations of different strategies are discussed. Guidelines of writing mobile-agent programs are proposed. The technique can be used in distributed information retrieval which allows the computation load to be added to servers, but significantly reduces the traffic of network communication. In the literature of software agents, it is hard to find other similar models. The results of this research only address a small portion of the ice field. We hope that this problem would be further studied in the societies of network communications, multimedia information retrieval, and intelligent systems on the Internet.

Introduction

Communication over Internet is growing increasingly and will have profound implications for our economy, culture and society. From mainframe-based numerical computing to decentralized downsizing, PCs and workstation computers connected by Internet have become the trend of the next generation computers. With the growing popularity of World Wide Web, digital libraries over Internet play an important role in the academic, business, and industrial worlds. In order to allow effective and efficient information retrieval, many search engines were developed. However, due to the limitation of now-a-day network communication bandwidth, researchers [15] suggest that distributed Internet search mechanisms should overcome the traditional information retrieval technologies, which perform the controls of searching and data transmission on a single machine. Mobile-agents are software programs that can travel over the Internet. Mobile search agents find the information specified by its original query user on a specific station, and send back search results to the user. Only queries and results are transmitted over the Internet. Thus, unnecessary transmission is avoided. In other words, mobile agent computing distributes computation loads among networked stations and reduces network traffic.

A mobile-agent, in general, can be more than just a search program. For instance, a mobile-agent can serve as an emergency message broadcaster, an advertising agent, or a survey questionnaire collector. A mobile-agent should have the following properties:

  • It can achieve a goal automatically.

  • It should be able to clone itself and propagate.

  • It should be able to communicate with other agents.

  • It has some evolution states to record the computation status.

The environment where mobile-agents live is the Internet. Agents are distributed automatically or semi-automatically via some communication paths. Therefore, agents meet each other on the Internet. Agents who have the same goal can share information and cooperate. However, if the system resource (e.g., network bandwidth or disk storage of a station) is insufficient, agents compete with each other. These phenomena are similar to those in the ecosystem of the real world. A creature is born with a goal to live and reproduce. To defend their natural enemies, creatures of the same species cooperate. However, in a perturbation in ecosystems, creatures compete with or even kill each other. The natural world has built a law of balance. Food web (or food chain) embeds the law of creature evolution. With the growing popularity of the Internet where mobile-agents live, it is our goal to learn from the natural to network propose an agent evolution computing model over the Internet. The model, even if it is applied only in the mobile-agent evolution discussed in this paper, can be generalized to solve other computer science problems. For instance, the search problems in distributed Artificial Intelligence, network traffic control, or any computation that involves a large amount of concurrent/distributed computation. In general, an application of our Food Web evolution model should have the following properties:

  • The application must contain a number of concurrent events.

  • Events can be simulated by some processes, which can be partitioned into a number of groups according to the properties of events.

  • There must exist some consumer–producer relationships among groups so that dependencies can be determined.

  • The number of processes must be large enough.

For instance, with the growing popularity of the Internet, Web-based documentations are retrieved via some search engine. Search processes can be conducted as several concurrent events distributed among Internet stations. These search events of the same kind (e.g., pursuing the same document) can be formed in a group. Within these agent groups, search agents can provide information to each other. Considering the amount of Web sites in the future, the quantity of concurrent search events is reasonably large.

We propose a logical network for agent connections/communications, called Agent Communication Network (or ACN). ACN is dynamic. It evolves as the agent communication proceeds. It also serves as a graph theoretical model of agent evolution computing. Our research purposes include:

  • Provide a model for agent evolution and define the associated rules.

  • Construct simulation facilities to estimate agent evolution.

  • Suggest guidelines to write intelligent mobile-agent programs.

  • Suggest strategies to construct efficient ACNs. and,

  • Ensure network security in the simulation environment.

Given an ACN, the model finds which agent evolution policy produces the maximum throughput (i.e., the goal of agents achieved). Or, changing the structure of an ACN, the model is able to find out how to adjust the agent evolution policy in order to recover from the change (or how is the throughput affected).

We have surveyed articles in the area of mobile-agents, personal agents, and intelligent agents. The related works are discussed in Section 2. Some terminologies and definitions are given in Section 3, where we also introduce the detail concepts of agent communication network. In our model, an agent evolves based on state transitions, which are discussed in Section 4. A graph theoretical model which describes agent dependencies and competitions is given in Section 5. Agent evolution computing algorithms, which we used to construct our simulation, are addressed in Section 6. Simulations are then discussed in Section 7. And finally, we discuss our conclusions and possible extensions in Section 8.

Section snippets

Related work

The concept of agent-based software engineering is discussed in a survey paper [5]. The author presents two important issues: agent communication language and agent architecture. Agent communication languages allow agents to share information and send messages to each other. Agent architecture, on the other hand, includes network infrastructure and software architecture that ensure agent computing. An open agent architecture for kiosk-based multimedia information service is proposed in [3].

Agent communication network

Agents communicate with each other since they can help each other. For instance, agents sharing the same search query should be able to pass query results to each other so that redundant computation can be avoided. An Agent Communication Network (ACN) serves this purpose. Each node in an ACN (shown in Fig. 1) represents an agent on a computer network node, and each link represents a logical computer network connection (or an agent communication link). Since agents of the same goal want to pass

Agent evolution states

An agent evolves. It can react to an environment, respond to another agent, and communicate with other agents. The evolution process of an agent involves some internal states. As shown in Fig. 2, an agent is in one of the following states after it is born and before it is killed or dies naturally:

  • Searching: the agent is searching for a goal.

  • Suspending: the agent is waiting for enough resources in its environment in order to search for its goal.

  • Dangling: the agent loses its goal of surviving, it

Species food web and niche overlap graph

Agents can suspend/resume or even kill each other. We need a general policy to decide which agent is killed. By our definition, a species is a set of agents of the same goal with a same priority. It is the priority of a goal we base on to discriminate two or more species.

We need to construct a direct graph which represents the dependency between species. We call this digraph a species food web (or food web). Each node in the graph represents a species. All species of a connected food web (i.e.,

Agent evolution computing over an ACN

The algorithms proposed in this section use the agent evolution states and the niche overlap graphs discussed for agent evolution computing. An agent wants to search for its goal. At the same time, since the searching process is distributed, an agent wants to find a destination station to clone itself. Searching and cloning essentially exist as a co-routing relation. A co-routine can be a pair of processes. While one process serves as a producer, another serves as a consumer. When the consumer

Simulation

It is difficult to build our agent evolution computing environment or any agent systems from the scratch. Therefore, we choose JATLite as the supporting system for the design of our simulation. Another reason for choosing JATLite is that agents written in Java, which can be achieved using JATLite, can run on different computer environments, since Java virtual machine is widely available and Java applet agents can be run from most Web browsers.

JATLite is a software library developed at Stanford

Conclusions

Mobile agent-based software engineering is interesting. However, in the literature, we did not find any other similar theoretical approach to model what mobile-agents should act on the Internet, especially how mobile-agents can cooperate and compete. A theoretical computation model for agent evolution was proposed in this paper. Algorithms for the realization of our model were given. Consequently, our contributions in this paper are:

  • We proposed a model for agent evolution computing based on

Acknowledgements

I would like to thank all members of the MINE Lab, especially Lawrence Y.G. Deng and Tseng-Hsiang Chang for their discussion.

References (21)

  • J.G. Annunziato, A review of agent technology, in: Proceedings of the First International Conference on Multi-Agent...
  • A. Caglayan et al.

    Agent Sourcebook: A Complete Guide to Desktop, Internet, and Intranet Agents

    (1997)
  • P. Charlton, Y. Chen, E. Mamdani, O. Olsson, J. Pitt, F. Somers, A. Wearn, An open agent architecture for integrating...
  • C. Dharap, M. Freeman, Information agents for automated browsing, in: Proceedings of the 1996 ACM CIKM Conference...
  • M.R. Genesereth

    Sotftware agents

    Communication of the ACM

    (1994)
  • R. Gray, D. Kotz, S. Nog, D. Rus, G. Cybenko, Mobile-agents: the next generation in distributed computing, in:...
  • R.S. Gray

    Agent Tcl

    Dr. Dobb's Journal of Software Tools for Professional Programmer

    (1997)
  • J. Kiniry et al.

    Hands-on look at Java mobile-agents

    IEEE Internet Computing

    (1997)
  • D. Kotz et al.

    Agent Tcl: targeting the needs of mobile computers

    IEEE Internet Computing

    (1997)
  • S. Krause, T. Magedanz, Mobile service agents enabling intelligence on demand in telecommunications, in: Proceedings of...
There are more references available in the full text version of this article.

Cited by (0)

View full text