• No results found

A Survey on Comparative Study of Mobile Agent Platforms

N/A
N/A
Protected

Academic year: 2020

Share "A Survey on Comparative Study of Mobile Agent Platforms"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

A Survey on Comparative Study of Mobile

Agent Platforms

Ritu Gupta1

Department of Computer science & Engineering Haryana College of Technology & Management

Kaithal(Haryana),India

Gaurav Kansal2

Department of Electronics & Communication Swami Parmanand College of Engineering &Technology

Lalru(Mohali),India

Abstract:

Mobile Agent technology is upcoming alternative to construct an elegant generation of highly distributed systems. A mobile agent can move to the network locations of the needed information resources and perform a locally custom information retrieval task. The mobile agent can carry on a task while the connection to the portable device is temporally lost and then continue the processing to provide the link which returns back to the found result. An agent platform is a technical structural design providing the environment in which agents can actively exist and operate to achieve their goals. In this paper, we analyzed the characteristics of existing mobile agent platforms.

Keywords: Mobile Agent, distributed system, custom information retrieval.

1. Introduction

An agent is a self-directed and identifiable entity that performs one or several tasks in order to achieve some goals. In networking, an agent can run even if the user disconnects from the network. A Mobile Agent is “a program that can be moved between several machines conserving its state”, where the state represents the values assumed by the data structures of the program. Mobile agents are able to find the way on the network by themselves. During the agent lifetime, an agent could migrate from an execution environment to another. The agent migration process consists of deactivating the agent, capturing its state, transporting the agent to a new location, restoring the agent state, and resuming the agent execution. The different migration strategies can be employed. Several platforms implements the mobile agents which have emerged since the 1990s. Some of them are no longer maintained or disappeared and others continued to be used in various research laboratories and even in some commercial products.

2. Mobile Agent Platforms

An agent is a mobile entity that can move with its execution framework from one machine to another machine under its own control in order to achieve specific tasks.

A mobile agent is the combination of three parts:

(1). The mobile agent code part corresponds to a certain algorithm, (2). The mobile agent execution thread (with an execution stack),

(3). the mobile agent data part corresponds to the values of the agent's global variables.

The mobile agent data can develop dynamically as a consequence of visits to servers where information is collected. All these parts move with the agent whenever it moves. The platform provides for supporting mobile agents is called as mobile agent platforms [5]. Fig. 1. shows the services which are responsible for transporting an agent (with or without state) between two computational entities residing in different locations

(2)

Fig.1 Components of Mobile agent platform

The different types of mobile agent platforms have been developed : AGLETS, JADE, VOYAGER, TACOMA, GRASSHOPPER, SPRINGS.

2.1 Aglets

Aglets is a general-purpose mobile-agent platform. Aglets [12],[10] is a Java-based system in which agents migrate between agent servers. Aglets developed by IBM, Tokyo in 1996 and maintained by the open source community since 2001. An Aglet [2] is a mobile agent which uses java language. Aglets are derived from an abstract class called Aglet. Aglets are Java objects that can move from one host on the internet to another. An aglet can execute on one host, can stop its execution, dispatches itself to other host and resume its execution on new remote host. Aglet platform uses an event driven approach to mobile agents which is corresponding to the Java library Applet class. Each aglet implements a set of event handler methods which define the aglets behaviour. Aglets is based on single-thread model for agents and a communication infrastructure based on message passing. Both synchronous and asynchronous messages are supported. Mobile agents in Aglets use proxies as a convenient abstraction to refer to remote agents (e.g., to send them messages). The main disadvantage of this platform is that the proxies it provides are not dynamic proxies (i.e., they cannot be used after the agent they point to moves to another place).i.e: the programmer must obtain himself/herself an updated proxy, if needed, before using it. As every agent is assigned a single thread, the programmer must avoid the execution of long-running tasks: otherwise, that would prevent agent events (such as incoming messages) from being considered. This single-thread model could lead to deadlocks if two agents send each other a synchronous message at the same time (each of the agents is unable to process the incoming message until the other agent has received its message). The platform does not support remote calls to agents or assigning them user-friendly identifiers. Finally, it is not possible to specify callback methods for travel operations (a predefined method is always executed on arrival to the target place). Aglet supports operating systems: Window32 with JDK 1.1.x , OS/ 2 Warp Version 3 and 4, AIX 4.x, Solaris for SPARC, and Solaris for x86, SDK 2.0.1 on Mac OS 8.x.

2.2 JADE

JADE is Java Agent Development Framework [9]. It is java-based mobile agent system which is scalable,

flexible and easy to use. JADE developed by TILAB (Telecom Italia Lab) since July 1998. It is a java based

(3)

the developers from the Telecom Italia Lab (Tilab), where it was originated first. JADE is also suitably accessible. The developers and users can download the current version of JADE.

2.3 Voyager

Voyager [4][13] is a Java based platform which provides flexibility using conventional techniques and distributed computing based on mobile agents in order to create network applications. Voyager developed by Object Space in 1997. Voyager is a platform for agent-enhanced ORB (Object Request Broker) for Java. Voyager [6] provides a set of object messaging capabilities and it also allows the objects to move in the network as agents. It is a distributed computing middleware focused towards simplify the management of remote communications (remote method invocations) protocols. Voyager is a mobile agent platform with several functionalities which eases the development of distributed systems. It offers facilities such as the dynamic generation of CORBA proxies, mobile code, and mobile agents. Agents communicate via traditional remote method invocations using proxies. Voyager provides flexible life spans for agents, by supporting a variety of life span methods:

(1) An agent can live until it has none local or remote references (default life span of an agent). (2) Agent can live for a certain amount of time (by default for a single day).

(3) It can live for a particular point in time.

(4) It can live until it remains inactive for a specified time. (5) An agent can live forever.

(6) An agent’s life span can be changed flexibly as required.

According to [11], Voyager provides location transparency through forwarding chains of proxies. The main disadvantage of Voyager is that it is a commercial product not available for free which prevents many researchers from using it in favor of other alternatives available. The forwarding chain mechanism used to track mobile agents can also be inefficient because the whole chain must be traversed in order to locate an agent and a single broken link makes the agent unreachable. This platform provides no security management for un-trusted agents. Voyager supports operating systems: UNIX, Windows.

2.4 TACOMA

TACOMA (Tromoso And Cornell Moving Agents) [14] is a cooperative project based on mobile agents developed by Tromoso and Cornell University. TACOMA [15] considers static/dynamic agents of computing system. The agents which are portable and operate in stateless mode and when an agent moves between sites, the status information is stored within a data file called DATA, and the agent code itself is stored in a data file called CODE. At the receiving site, the agent code is extracted from the data file of CODE and executed the agent using the file data for its data and information on the status of the agent. When an agent wants to move to a new site, an entry is added to the data directory called HOST tell him where to move. It is a mechanism predetermined movement which automates the process of transfer. TACOMA supports weak mobility. Agents states and initialization data are encapsulated in a data structure called as briefcase. These agents communicate with one-another by passing briefcases.

2.5 Grasshopper

Grasshopper is a comparatively new system and the platforms which implementing MASIF support. Its application is based on telecommunication applications. Grasshopper [1] was developed by IKV++ in ninetees (IKV is a company information technologies and customized solutions for telecommunications and information services). This platform is used for mobile agents, compliant with the standards MASIF [16] and FIPA (http://www.fipa.org/). A Grasshopper system can be composed of different regions. It provides agent developers with interesting features, including a graphical user interface to manage agents, agencies, and regions. By defining regions, the developer can benefit from dynamic proxies. The main disadvantage of Grasshopper is that a call to an agent which is moving can end up executing on the copy of the agent at origin (which will be removed once the agent arrives at its destination). Grasshopper supports operating system: Windows NT/ 9x, Solaris with JDK 1.1 and Java 1.1 MASIF,FIPA. (http:/ / www.ikv.de/ poducts/ grasshopper).

2.6 SPRINGS

(4)

mobile agents. Its development has been inspired by the features of other popular platforms, such as Voyager and Grasshopper. Similarly to other platforms (e.g., Grasshopper and JADE), SPRINGS [8] proposes a hierarchical architecture based on regions. It provides full position clearness for movements (the programmer does not need to specify network addresses but just the name of the destination (the mapping is dynamic and does not rely on configuration files); and for calls, through the use of dynamic proxies. Moreover, it attempts to minimize the live-lock problem that can arise when agents move quickly. The main disadvantage of SPRINGS is that it does not support agent communication using the standard FIPA. Also, it does not provide sophisticated security mechanisms. This platform is easy to use but does not provide graphics based tools to the user.

3. Parallel Computation for Mobile Agent Platforms

(Using Parallel Algorithm for matrix multiplication):

SPRINGS and Voyager are the platforms that use the concept of a parallel algorithm. The following steps described generally as follows:

1) Multiply two real matrices in distributed location. 2) Consider two square m-by-m matrices X and Y. 3) Calculate the product of both matrices into matrix Z.

4) Create m agents to perform the multiplication. Firstly each agent i holds the row i of matrix X and the column i of matrix Y.

5) Calculate the value of Z (i, i).

6) After that, the agent sends the column i of matrix Y to agent i + 1 and receives the column i-1 of matrix Y from agent i-1.

7) With row i of matrix X and column i-1 of matrix Y, calculate Z (i, i - 1).

8) Repeat the entire process until every agent i has computed completely the row i of Z.

This algorithm shows the mobility of the agents in the following way. Every agent monitors periodically the processor overload of its current computer, and decides to move to another computer when it exceeds a certain value. In this way, according to the above algorithm, the agents will execute, most of the time, on computers that are not highly overloaded. To make sure that the processor overload varies frequently enough, performed the program in a computer cluster that several research groups use to carry out processor’s severe computations.

4. Comparison of Mobile agent Platforms:

We compare the above mobile agents platforms on major features which can affect their applicability as shown in Table 1. In the table we evaluate the following characteristics of each platform.

1). Security: Strong security mechanisms are desirable in technologies operating in heterogeneous distributed environments like world wide web. Security protects agents against host and from other agents.

2). Communication Technique: Communication notifies the agents to handle incoming messages from other agents. Asynchronous communication is more efficient as compared to synchronous communication.

3). Mobility: Mobility can reduce network traffic and can increase efficiency of agents.

4). Whether it supports graphics based tools or not.

(5)

Table 1. Comparison of mobile agent platforms

5. Conclusion

In this paper, we have presented a comparison of existing mobile agent platforms. This study analyzed six mobile agents platforms developed by different groups. On comparison JADE, mobile agent platform seems most appealing. It is the platform which is purely designed in Java and supports different kinds of devices operating in internet. It provides strong security mechanism and supports agent mobility. Among other platforms, Voyager is commercial mobile agent platform and doesn’t comply with FIPA standards. Aglets also doesn’t comply with FIPA, lacks security and scalability. SPRINGS provides scalability and reliability with high number of mobile agents. Consequently, JADE is the most balanced platform and SPRINGS is the most reliable platform among the six discussed in this paper.

References

[1] Aumer, B.C.; Magedanz, T. (Aug. 1999): “Grasshopper - a mobile agent platform for active telecommunication,” in Third International Workshop Intelligent Agents for Telecommunication Applications, Sweden, pp. 19–32.

[2] Daniel Hagimont; Ismail, L. (October 1999): "A Performance Evaluation of the Mobile Agent Paradigm," ACM IGPLAN Notices ,Proceedings of the 14th

ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications OOPSLA '99, Vol. 34, No. 10.

[3] FIPA specifications, http://www.fipa.org/

[4] Glass, G. (Feb. 1999): "Object Space Voyager Core Package Technical Overview ", Mobility:process, computers and agents , Addison- Wesley.

[5] Green, S. et al. Software Agents: A review, Technical Report, Departmentof Computer Science, Trinity College, Dublin, Ireland. [6] Grasshopper. WWW Site. http://www.grasshopper.de.

Mobile agent Platforms

Aglets JADE Voyager TACOMA Grasshopper SPRINGS

Features

Security Limited Strong Limited & Secured channel

Uses firewall agent

Limited Limited

Communicatio n technique Synchronous, Asynchronous Asynchrono us

All methods Asynchronous Synchronous Synchronous, Asynchronous

Mobility Aglet transfer protocol In-built agent mobility service Java object series Transfer control protocol Dynamic proxies(region server) Dynamic proxies (location wise) GUI Based tools

Some Yes No Some Yes No

Organization IBM Tokyo research

Telecom Italia

Lab

Object space Tromoso and Cornell University

IKV++ Distributed Information Systems Group

Operating system used

JDK 1.1.x on Win32, OS/ 2 Warp Version 3 and 4, AIX 4.x, Solaris for

SPARC. All (with JRE) UNIX, Linux Windows Unix,Win95, Win NT, PDA systems Windows NT/ 9x, Solaris Should run on all

platforms supporting JDK 1.1

Linux

Programming languages used

JAVA 1.1 JAVA 1.1 JAVA 1.1 C, Perl, Unix, Tcl scripting

language

(6)

[7] IEEE Foundation for Intelligent Physical Agents (FIPA). Publicly Available Agent Platform Implementations.http://www.fipa.org/resources/livesystems.html[2006].

[8] Ilarri, S.; Mena, E. (june 2006) “SPRINGS: A scalable platform for highly mobile agents in distributed computing environments,” inFourth International Workshop on Mobile Distributed Computing (MDC’06), Niagara Falls/Buffalo, New York, USA. IEEE Computer Society.

[9] JADE, http://jade.tilab.com.

[10] Lange DB; Oshima, M.(1998) “Programming and deploying Java mobile agents with Aglets”. Addison-Wesley: Reading, MA. [11] Moreau, L. (March 2002) “A fault-tolerant directory service for mobile agents based on forwarding pointers,” in ACM symposium on

Applied computing, Madrid, Spain. ACM Press, pp. 93–100. [12] www.google.com

[13] Object Space Inc., Object Space Voyager Core Package Technical Overview 1997. [14] Tromsø And Cornell Moving Agents (TACOMA) project, http://www.tacoma.cs.uit.no/

[15] Sudmann NP; Johansen D. (2000):Adding mobility to non-mobile Web robots. Proceedings of the IEEE ICDCS’00 Workshop on Knowledge Discovery and Data Mining in the World-Wide Web. IEEE: Piscataway, NJ, 73–79.

Figure

Table 1. Comparison of mobile agent platforms

References

Related documents

In this paper we underline the weaknesses of m-SCTP and terminal-based approaches and propose an overall network- controlled architecture (UFA) for SCTP handover management.

Based on the idea, we have put forward novel routing strategies for Barrat- Barthelemy- Vespignani (BBV) weighted network. By defining the weight of edges as

Thus, this study is designed to highlight the status of uncontrolled hypertension in patients with type 2 diabetes and determine the associated factors, which may affect the

The anti- oxidant activity was performed by DPPH free radical scavenging method using ascorbic acid as standard and compound IIa, IIc and IId showed significant free

Drawing on history, politics, language, literature, contemporary media, music, art, and relationship building with Pacific communities, Pacific Studies and Samoan Studies

penicillin, skin testing for immediate hyper-.. sensitivity to the agent should

Th is is the reason why vari- ous salmonella types become important causal factors of epidemic acute gastroenteritis type, within the institu- tions for retenting children aged

The objectives of this study were to develop newly formulated lemon fruit flavored tasty Saline as ready to use functional powder drinks for electrolytic balance after