0% found this document useful (0 votes)
55 views5 pages

AGLETS and JADE Mobile Agent

The mobile agent approach is a relatively new concept in the distributed systems environment. The agents migrate from Client to server in a network where the state of the running program is saved, transported to the new host, and are stored, allowing the program to continue from the point where it stopped. In this paper, we evaluate the performance of the JADE and Aglet mobile agents. We developed a simulation program to evaluate the performance of the two mobile agents using the Encryption time
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views5 pages

AGLETS and JADE Mobile Agent

The mobile agent approach is a relatively new concept in the distributed systems environment. The agents migrate from Client to server in a network where the state of the running program is saved, transported to the new host, and are stored, allowing the program to continue from the point where it stopped. In this paper, we evaluate the performance of the JADE and Aglet mobile agents. We developed a simulation program to evaluate the performance of the two mobile agents using the Encryption time
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Performance Evaluation of AGLETS and

JADE Mobile Agent Using Encryption and


Decryption Time
Dada E. G., Joseph S. B., and M. K. Mishra

 system (in the simplest case, a thermostat), that reads the


Abstract — The mobile agent approach is a relatively new source data and then interacts with the system to make
concept in the distributed systems environment. The agents adjustments. In this model, the mobile agent interacts with
migrate from Client to server in a network where the state of the data collection agent at the source. Moreover, the agent
the running program is saved, transported to the new host, could collect and filter data, and then return to the original
and are stored, allowing the program to continue from the host. This type of agent could be useful in situations where
point where it stopped. In this paper, we evaluate the
full-time connections are not always practically possible
performance of the JADE and Aglet mobile agents. We
developed a simulation program to evaluate the performance
(such as satellites in low-earth orbit).
of the two mobile agents using the Encryption time, The advent of mobile agents’ technology attracts a lot of
Decryption time and file transfer time. Our findings revealed interest from the fields of distributed systems, information
that there is no significant difference between the retrieval, electronic commerce and artificial intelligence.
performances of these two mobile agents using the parameters The emergence of Java, with its support for mobile code,
mentioned before. led to heightened research activity in this area. Java is the
language of choice for mobile agent systems such as
Index Terms — Aglets, Decryption, Encryption, JADE, Concordia, JADE, Odyssey, Aglets, Tracy and Voyager.
Mobile Agent. Java also supports development of mobile agents that are
tightly integrated with the Web [1].
Mobile agents have been used in a variety of applications
I. INTRODUCTION including process control and network monitoring. Network

M OBILE agents are autonomous programs that move


about the network on behalf of their owners while
searching for information or even negotiating with other
monitoring is an ideal application for mobile agents. An
agent is provided details of data collection, and then
disbursed into a network. The agent collects data, and either
agents. Mobile agents can also be defined as those agents communicates the data back to a central server, or migrates
that possess the characteristics of mobility. This means that back to itself with its data. Process control is another
the agents have the ability to migrate from one host interesting application. Instead of purely collecting data
computer to another. This may seem like a trivial from remote servers, the agents must also monitor and
characteristic, but the advantages to mobility are both subtle control the devices to which they’re attached. Prior to
and important. Mobile agents are also known as programs migrating, the agents can be configured for their particular
that are able to migrate in a network in order to optimize destination. From this perspective, mobile agents are an
their consumption of resources, such as network bandwidth, interesting deployment method for distributed systems.
or to adapt to a changing environment.
A mobile agent migrates from one Host to another Host II. MOBILE AGENT ARCHITECTURE
where the data is sourced. This agent could be a control The mobile agent architectural pattern introduces the
ability for agents to migrate themselves between hosts. The
Manuscript received November 18, 2010. Performance evaluation of
AGLETS and JADE mobile agent using encryption and decryption time.
agent architecture includes the mobility element, which
Dada E. G. is with the Department of Computer Engineering, University allows an agent to migrate from one host to another. An
of Maiduguri, Nigeria (e-mail: gbengadada2004@ yahoo.com). agent can migrate to any host that implements the mobile
Joseph S. B. is with the Department of Computer Engineering, framework. The mobile agent framework provides a
University of Maiduguri, Nigeria (e-mail: sjbassi74@ yahoo.co.uk).
protocol that permits communication between hosts for
M. K. Mishra is with the Department of Computer Engineering,
University of Maiduguri,Borno State,Nigeria, (Corresponding author agent migration. This framework also requires some kind of
phone: +234-8065578635 e-mail: [email protected]). authentication and security, to avoid a mobile agent

16 R&I, 2010, N4
framework from becoming a conduit for viruses. Also and a new method of communication amongst network
implicit in the mobile agent framework is a means for nodes. Despite a number of successful mobile agent
discovery. For example, which hosts are available for applications, still there are some barriers preventing this
migration, and what services do they provide? technology from spreading out to a wider range of
Communication is also implicit, as agents can communicate enterprise and individual users. This is due to many reasons
with one another on a host, or across hosts in preparation such as, lack of standard in both software and hardware
for migration. The mobile agent architecture is products (e.g. programming languages, protocols and
advantageous as it supports the development of intelligent devices). To overcome this, a number of initiatives are
distributed systems that is dynamic, and whose underway which may help developers in building their
configuration and loading is defined by the agents applications based on mobile agent technology as in [3].
themselves (see Figure 1). Researchers and the developers also find it difficult to
define the real concept of mobile agent technology and the
tasks that Mobile Agent should
perform is another contributing
problem. Furthermore, the current
Agent Agent Agent Agent infrastructure is not ready to support
and integrate with mobile agent
technology. Another major concern
Agent Agent
made by researchers is the security
Agent Migration issue, for example, when using MAs
Mobile Agent Protocol Mobile Agent whether in E-commerce or M-
Framework Framework commerce fields, to act on behalf of
their users to handle transactions over
the net.
Sensors Actuators Sensors Actuators
Other unresolved issues include
privacy, trust and integrity. Privacy is
Environment Environment lost since the agent must have access
Fig. 1. The mobile agent framework supports agent mobility [5] to the user profile, which may contain
sensitive information about the user,
A. Technical Obstacles in the Development of Mobile and may be shared with other agents in the working
Agents environment. In addition, this information may be modified
during the transaction (by a hacker for example).
The Mobile agent paradigm is a promising technology
TABLE I
TECHNICAL IMPLICATIONS OF MOBILE AGENTS
Technical Issue Implication for Mobile Agents
MAs conserve bandwidth, especially for networks which have low bandwidth capacity (e.g. wireless network). By
replacing continuous communication with an agent directly at the point of information generation, the bandwidth
Bandwidth
use can be reduced. Instead of sending dozens or even hundreds of queries across the network, sending one agent
on a single request the agent can manage this process locally at the remote side.
MAs can act or respond on errors that may be encountered within their contexts because of their adaptive and
Fault-tolerance
ragged attributes.
MAs can give greater flexibility, because new tasks and codes can be added to the system without the need for a
Flexibility
fixed code-base.
Interaction Mobile agents enable new types of interaction, such as negotiating agents that travel to vendors’ sites/servers
seeking for the best deal such as comparing prices (e.g. e-commerce application).
MAs are able to move (relocate itself) to remote hosts in order to establish "channels" based on proprietary
Protocols
protocols.
Scalability MAs can carry out their function well (without disruption) when the host system or environment changes in size or
volume in order to meet a new user’s need.
MAs can carry out tasks which require variable degrees of independence such as, network management, software
Self-contained tasks
updates, etc.
MAs fit perfectly into a disconnected environment where the signal coverage is frequently lost
Weak coverage
(being disconnected); MAs will then migrate from one node to another when the coverage becomes
available.

R&I, 2010, N4 17
These issues are trivial but it has to be considered in the J2SE and J2ME environment. In theory, application
mobile agent applications. In other words, MAs need to be developers could decide the Java run-time environment at
protected against hosts, and hosts need to be protected deploy-time.
against MAs. In summary, the Table I briefly explains the Easy to use: The complexity of the middleware is hidden
implications of using MAs for 8 identified significant behind a simple and intuitive set of APIs.
technical issues. Pay-as-you-go philosophy: Programmers do not need to
use all the features provided by the middleware. Features
that are not used do not require programmers to know
B. JADE
anything about them; neither do they add any computational
Java Agent DEvelopment Framework (JADE) is a overhead.
software framework originally developed by TILAB, Italy Architectural Model: JADE includes both the libraries
and it is totally written in Java. It is an enabling technology, (i.e. the Java classes) required to develop application agents
a middleware for the development and run-time execution and the run-time environment that provides the basic
of peer-to-peer applications which are based on the agents’ services and that must be active on the device before agents
paradigm. It also simplifies the implementation of multi- can be executed. Each instance of the JADE run-time is
agent systems through a middleware that complies with the called container (since it “contains” agents). The set of all
Foundation for Intelligent Physical Agents (FIPA) containers is called platform and provides a homogeneous
specifications. The agent platform can be distributed across layer that hides to agents (and to application developers
machines (which not even need to share the same OS) and also) the complexity and the diversity of the underlying
the configuration can be controlled via a remote GUI. The tires (hardware, operating systems, types of network, JVM).
configuration can be even changed at run-time by moving As seen in Figure 2, JADE is compatible with the J2ME
agents from one machine to another one, as and when
required.
The conceptual model of JADE
dwells mainly on distributed system
topology with peer-to-peer
networking, and software component
architecture with agent paradigm. The
network topology affects how the
various components are linked
together, whereas the component
architecture specifies what the
components are supposed to expect
from one another. The intelligence,
initiative, information, resources and
control are fully distributed on mobile
terminals as well as on computers in Fig. 2. JADE architectural model (Source: Bellifemine F., JADE a White Paper, Exp Journal)
the fixed network. Agents otherwise CLDC/MIDP1.0 environment. It has already been tested on
called “peer” evolve dynamically in JADE, appearing and the fields over the GPRS network with different mobile
disappearing in the system according to the needs and the terminals among which include Nokia 3650, Motorola
requirements of the application environment. Accompli008, Siemens SX45, PalmVx, Compaq iPaq,
Communication between the peers, regardless of whether Psion5MX, HP Jornada 560. The JADE run-time memory
they are running in the wireless or wired network, is footprint, in a MIDP1.0 environment, is around 100 KB,
completely symmetric with each peer being able to play but can be further reduced until 50 KB using the ROMizing
both the initiator and the responder role. technique i.e. compiling JADE together with the JVM.
The development of JADE according to [4] is based on JADE is extremely versatile and therefore, not only does it
the following driving principles: fit the constraints of environments with limited resources,
Interoperability: JADE is compliant with the FIPA but it has already been integrated into complex architectures
specifications. As a consequence, JADE agents can such as .NET or J2EE where JADE becomes a service to
interoperate with other agents, provided that they comply execute multi-party proactive applications. The limited
with the same standard. memory footprint allows installing JADE on all mobile
Uniformity and portability: JADE provides a phones provided that they are Java-enabled.
homogeneous set of APIs that are independent from the
underlying network and Java version. More in details, the
JADE run-time provides the same APIs both for the J2EE,

18 R&I, 2010, N4
C. Aglets necessary characteristics for a mobile agent framework,
Aglet is a mobile Java object that visits aglet enabled including mobility, communication, security, and
hosts in a computer network. It is autonomous, since it runs confidentiality. Aglets provide weak migration, in that the
in its own thread of execution after arriving at a host, and agents can only migrate at arbitrary points within the code
reactive, because of its ability to respond to incoming (such as with the dispatch method).
messages [2]. Aglet agent framework was designed by IBM
Tokyo in the 1990s. Aglets is based on the Java III. DISCUSSION
programming language, as it is well suited for a mobile We developed an application for the implementation of
agents framework. First, the applications are portable to any two mobile agent systems on win32 platform that is,
system (both homogeneous and heterogeneous) that is windows XP SP2. Five dummy files whose size ranges
capable of running a Java Virtual Machine (JVM). Second, from 500kb to 1mb were created on the client system. The
a JVM is an ideal platform for migration services. Java results of the comparison encryption and decryption time
supports serialization, which is the aggregation of a Java between Aglets and JADE can be view from the server. The
application’s program and data into a single object that is time is measured in milliseconds while the size of the files
restartable. In this case, the Java application is restarted on a is measured in bytes. From the experiments performed, it
new JVM. Java also provides a secure environment was observed that there is difference in encryption and
(sandbox) to ensure that a mobile agent framework doesn’t decryption time between Aglets and JADE with the latter
become a virus distribution system [5]. giving a better performance than Aglets in all test cases.
The Aglets framework is shown in Figure 3. The time difference was not much, it was also observed that
the time taken to encrypt, decrypt and transfer files
increases as the file sizes increases.
Agent
IV. ANALYSIS OF RESULTS
Agent Agent
The Table II is a comparison between the encryption time
of each file from 500kb – 1mb for JADE and Aglets (see
Agent API Figure 4).
TABLE II
Agent Mobility ENCRYPTION TIME COMPARISON BETWEEN JADE AND
Runtime Protocol AGELETS
Environment
Encryption Time (ms)
Java Virtual Machine Size (kb) JADE Aglet
500 760 765
600 1681 1686
Sensors Actuators 700 1700 1705
800 1761 1766
Environment 900 1971 1977
1000 2052 2058
Fig. 3. Aglets mobile agent architecture [5]
At the bottom of the framework is the JVM (the virtual
machine that interprets the Java bytecodes). The agent
runtime environment and mobility protocol are next. The
mobility protocol, called Aglet Transport Protocol (or
ATP), provides the means to serialize agents and then
transport them to a host previously defined by the agent.
The agent API is at the top of the stack, which in usual Java
fashion provides a number of API classes that focus on
agent operation. Finally, there are the various agents that
operate on the framework. The agent API and runtime
environment provide a number of services that are central to
a mobile agent framework. Some of the more important
functions are agent management, communication, and Fig. 4. Graph showing encryption time comparison between JADE and Aglets
security. Agents must be able to register themselves on a The Table III is a comparison between the decryption
given host to enable communication from outside agents. In time of each file from 500kb – 1mb for JADE and Aglets
order to support communication, security features must be (see Figure 5).
implemented to ensure that the agent has the authority to
execute on the framework. Aglets provides a number of

R&I, 2010, N4 19
The Table IV shows the comparison of JADE and Aglet
in terms of the time it takes to send files from one computer
system to another one (see Figure 6).
It was observed from the Table IV that the rate at which
JADE transfers the encrypted files is to some extent faster
than that of Aglets.

TABLE III
DECRYPTION TIME COMPARISON BETWEEN JADE AND AGELETS
Decryption Time (ms)
Size (kb) JADE Aglet
500 302 300
600 455 451
700 510 504
800 612 1766 Fig. 6. Graph showing file transmission time comparison between JADE and Aglets
900 667 661
1000 730 731

V. CONCLUSION
The results obtained showed that there is only some
slight difference in performance between JADE and
Aglet in terms of Encryption time, Decryption time
and file transfer. The little differences could be due to
the fact that all information exchanged by JADE
complies with FIPA specification and hence include
only the information required by the transport layer
unlike Aglet that exchanges all data. Another factor is
that JADE support skeletons that are implemented as
abstract classes that relief the programmer the burden
of solving synchronization, timeouts and other
Fig. 5. Graph showing decryption time comparison between JADE and Aglets challenges. Also JADE uses the asynchronous method
of messaging, which puts the Agent Communication
TABLE IV Language (ACL) into consideration and supports multiple
FILE TRANSMISSION TIME COMPARISON BETWEEN JADE agent execution and interaction. This makes it more
AND AGELETS preferred in multi agent distributed environments. Aglets
Time taken to send files from one system use API for transfer of agent and RMI for exchange of
to another (ms) messages which is not in line with FIPA regulations that
Size (kb) JADE Aglet JADE is using. Our future work will focus on using
500 169,337,778,715 169,337,778,713 memory utilization and fault tolerance to test the
600 169,337,778,775 169,337,778,773 performance of mobile agents across different platform.
700 169,337,779,790 169,337,779,788
800 169,337,780,037 169,337,780,034
900 169,337,780,318 169,337,780,315
REFERENCES
1000 169,337,780,500 169,337,780,497 [1] Wong, D., Paciorek, N. and Moore D., “Java-based mobile agents,”
Communications of the ACM 42(3), 1999, pp. 92-105.
[2] Lange, D. B. and Oshima, M., “Programming and deploying Java
mobile agents with aglets,” Addison-Wesley, 1998.
[3] FIPA, “Foundation for intelligent physical agents”, 2004, URL:
http://www.fipa.org/
[4] Bellifemine, F., “JADE – a white paper. EXP. 3.3”, Retrieved October
1, 2010 from http://exp.telecomitalialab.com, , 2003
[5] Jones Tim M., “Artificial intelligence: A System Approach.,” Infinity
Science Press LLL, 2008.

20 R&I, 2010, N4

You might also like