Научная статья на тему 'Performance Evaluation of AGLETS and JADE Mobile Agent Using Encryption and Decryption Time'

Performance Evaluation of AGLETS and JADE Mobile Agent Using Encryption and Decryption Time Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
207
98
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
Aglets / Decryption / Encryption / JADE / Mobile Agent
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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, Decryption time and file transfer time. Our findings revealed that there is no significant difference between the performances of these two mobile agents using the parameters mentioned before.

Текст научной работы на тему «Performance Evaluation of AGLETS and JADE Mobile Agent Using Encryption and Decryption Time»

Performance Evaluation of AGLETS and JADE Mobile Agent Using Encryption and

Decryption Time

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

Abstract — 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, Decryption time and file transfer time. Our findings revealed that there is no significant difference between the performances of these two mobile agents using the parameters mentioned before.

Index Terms — Aglets, Decryption, Encryption, JADE, Mobile Agent.

I. INTRODUCTION

MOBILE agents are autonomous programs that move about the network on behalf of their owners while searching for information or even negotiating with other agents. Mobile agents can also be defined as those agents that possess the characteristics of mobility. This means that the agents have the ability to migrate from one host computer to another. This may seem like a trivial characteristic, but the advantages to mobility are both subtle and important. Mobile agents are also known as programs that are able to migrate in a network in order to optimize their consumption of resources, such as network bandwidth, or to adapt to a changing environment.

A mobile agent migrates from one Host to another Host where the data is sourced. This agent could be a control

Manuscript received November 18, 2010. Performance evaluation of AGLETS and JADE mobile agent using encryption and decryption time.

Dada E. G. is with the Department of Computer Engineering, University of Maiduguri, Nigeria (e-mail: gbengadada2004@ yahoo.com).

Joseph S. B. is with the Department of Computer Engineering, University of Maiduguri, Nigeria (e-mail: sjbassi74@ yahoo.co.uk).

M. K. Mishra is with the Department of Computer Engineering, University of Maiduguri,Borno State,Nigeria, (Corresponding author phone: +234-8065578635 e-mail: [email protected]).

system (in the simplest case, a thermostat), that reads the source data and then interacts with the system to make adjustments. In this model, the mobile agent interacts with the data collection agent at the source. Moreover, the agent could collect and filter data, and then return to the original host. This type of agent could be useful in situations where full-time connections are not always practically possible (such as satellites in low-earth orbit).

The advent of mobile agents’ technology attracts a lot of interest from the fields of distributed systems, information retrieval, electronic commerce and artificial intelligence. The emergence of Java, with its support for mobile code, led to heightened research activity in this area. Java is the language of choice for mobile agent systems such as Concordia, JADE, Odyssey, Aglets, Tracy and Voyager. 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 including process control and network monitoring. Network 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 communicates the data back to a central server, or migrates back to itself with its data. Process control is another interesting application. Instead of purely collecting data from remote servers, the agents must also monitor and control the devices to which they’re attached. Prior to migrating, the agents can be configured for their particular destination. From this perspective, mobile agents are an interesting deployment method for distributed systems.

II. Mobile Agent Architecture

The mobile agent architectural pattern introduces the ability for agents to migrate themselves between hosts. The agent architecture includes the mobility element, which allows an agent to migrate from one host to another. An agent can migrate to any host that implements the mobile framework. The mobile agent framework provides a protocol that permits communication between hosts for agent migration. This framework also requires some kind of authentication and security, to avoid a mobile agent

16

R&I, 2010, N4

framework from becoming a conduit for viruses. Also implicit in the mobile agent framework is a means for discovery. For example, which hosts are available for migration, and what services do they provide? Communication is also implicit, as agents can communicate with one another on a host, or across hosts in preparation for migration. The mobile agent architecture is advantageous as it supports the development of intelligent distributed systems that is dynamic, and whose configuration and loading is defined by the agents themselves (see Figure 1).

Agent

Agent

Agent

Mobile Agent Framework

Sensors

Actuators

Agent Migration Protocol

Sensors

Environment

Fig. 1. The mobile agent framework supports agent mobility [5]

A. Technical Obstacles in the Development of Mobile Agents

The Mobile agent paradigm is a promising technology

and a new method of communication amongst network nodes. Despite a number of successful mobile agent applications, still there are some barriers preventing this technology from spreading out to a wider range of enterprise and individual users. This is due to many reasons such as, lack of standard in both software and hardware products (e.g. programming languages, protocols and devices). To overcome this, a number of initiatives are underway which may help developers in building their applications based on mobile agent technology as in [3].

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 infrastructure is not ready to support and integrate with mobile agent technology. Another major concern made by researchers is the security issue, for example, when using MAs whether in E-commerce or Mcommerce fields, to act on behalf of their users to handle transactions over the net.

Other unresolved issues include privacy, trust and integrity. Privacy is lost since the agent must have access to the user profile, which may contain sensitive information about the user, and may be shared with other agents in the working environment. In addition, this information may be modified during the transaction (by a hacker for example).

Agent Agent

Agent

Mobile Agent Framework

Actuators

Environment

TABLE I

Technical Implications Of Mobile Agents

Technical Issue Bandwidth

Fault-tolerance

Flexibility

interaction

Protocols

Scalability

Self-contained tasks Weak coverage

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 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 ragged attributes.

MAs can give greater flexibility, because new tasks and codes can be added to the system without the need for a fixed code-base.

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.

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 updates, etc.

MAs fit perfectly into a disconnected environment where the signal coverage is frequently lost (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 mobile agent applications. In other words, MAs need to be protected against hosts, and hosts need to be protected against MAs. In summary, the Table I briefly explains the implications of using MAs for 8 identified significant technical issues.

B. JADE

Java Agent DEvelopment Framework (JADE) is a software framework originally developed by TILAB, Italy and it is totally written in Java. It is an enabling technology, a middleware for the development and run-time execution of peer-to-peer applications which are based on the agents’ paradigm. It also simplifies the implementation of multiagent systems through a middleware that complies with the Foundation for Intelligent Physical Agents (FIPA) specifications. The agent platform can be distributed across machines (which not even need to share the same OS) and the configuration can be controlled via a remote GUI. The configuration can be even changed at run-time by moving 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 the fixed network. Agents otherwise called “peer” evolve dynamically in JADE, appearing and disappearing in the system according to the needs and the requirements of the application environment. Communication between the peers, regardless of whether they are running in the wireless or wired network, is completely symmetric with each peer being able to play both the initiator and the responder role.

The development of JADE according to [4] is based on the following driving principles:

Interoperability: JADE is compliant with the FIPA specifications. As a consequence, JADE agents can interoperate with other agents, provided that they comply with the same standard.

Uniformity and portability: JADE provides a 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,

J2SE and J2ME environment. In theory, application developers could decide the Java run-time environment at deploy-time.

Easy to use: The complexity of the middleware is hidden behind a simple and intuitive set of APIs.

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 anything about them; neither do they add any computational overhead.

Architectural Model: JADE includes both the libraries (i.e. the Java classes) required to develop application agents and the run-time environment that provides the basic services and that must be active on the device before agents can be executed. Each instance of the JADE run-time is called container (since it “contains” agents). The set of all containers is called platform and provides a homogeneous layer that hides to agents (and to application developers also) the complexity and the diversity of the underlying tires (hardware, operating systems, types of network, JVM).

As seen in Figure 2, JADE is compatible with the J2ME

CLDC/MIDP1.0 environment. It has already been tested on the fields over the GPRS network with different mobile terminals among which include Nokia 3650, Motorola Accompli008, Siemens SX45, PalmVx, Compaq iPaq, Psion5MX, HP Jornada 560. The JADE run-time memory footprint, in a MIDP 1.0 environment, is around 100 KB, but can be further reduced until 50 KB using the ROMizing technique i.e. compiling JADE together with the JVM. JADE is extremely versatile and therefore, not only does it fit the constraints of environments with limited resources, but it has already been integrated into complex architectures such as .NET or J2EE where JADE becomes a service to execute multi-party proactive applications. The limited memory footprint allows installing JADE on all mobile phones provided that they are Java-enabled.

Internet Wireless- environment

Fig. 2. JADE architectural model (Source: Bellifemine F., JADE a White Paper, Exp Journal)

18

R&I, 2010, N4

C. Aglets

Aglet is a mobile Java object that visits aglet enabled hosts in a computer network. It is autonomous, since it runs in its own thread of execution after arriving at a host, and reactive, because of its ability to respond to incoming messages [2]. Aglet agent framework was designed by IBM Tokyo in the 1990s. Aglets is based on the Java programming language, as it is well suited for a mobile agents framework. First, the applications are portable to any system (both homogeneous and heterogeneous) that is capable of running a Java Virtual Machine (JVM). Second, a JVM is an ideal platform for migration services. Java supports serialization, which is the aggregation of a Java application’s program and data into a single object that is restartable. In this case, the Java application is restarted on a new JVM. Java also provides a secure environment (sandbox) to ensure that a mobile agent framework doesn’t become a virus distribution system [5].

The Aglets framework is shown in Figure 3.

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 security. Agents must be able to register themselves on a given host to enable communication from outside agents. In order to support communication, security features must be implemented to ensure that the agent has the authority to execute on the framework. Aglets provides a number of

necessary characteristics for a mobile agent framework, including mobility, communication, security, and confidentiality. Aglets provide weak migration, in that the agents can only migrate at arbitrary points within the code (such as with the dispatch method).

III. Discussion

We developed an application for the implementation of two mobile agent systems on win32 platform that is, windows XP SP2. Five dummy files whose size ranges from 500kb to 1mb were created on the client system. The results of the comparison encryption and decryption time between Aglets and JADE can be view from the server. The time is measured in milliseconds while the size of the files is measured in bytes. From the experiments performed, it was observed that there is difference in encryption and decryption time between Aglets and JADE with the latter giving a better performance than Aglets in all test cases. 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.

IV. Analysis of Results

The Table II is a comparison between the encryption time of each file from 500kb - 1mb for JADE and Aglets (see Figure 4).

TABLE II

Encryption Time Comparison between JADE And Agelets

Encryption Time (ms)

Size (kb) jade Aglet

500 760 765

600 1681 1686

700 1700 1705

800 1761 1766

900 1971 1977

1000 2052 2058

Fig. 4. Graph showing encryption time comparison between JADE and Aglets

The Table III is a comparison between the decryption time of each file from 500kb - 1mb for JADE and Aglets (see Figure 5).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

900 667 661

1000 730 731

Fig. 6. Graph showing file transmission time comparison between JADE and Aglets

Decryption Time for JADE and Aglet

800

Fig. 5. Graph showing decryption time comparison between JADE and Aglets

TABLE IV

File Transmission Time Comparison between JADE And Agelets

Time taken to send files from one system to another (ms)

Size (kb) JADE Aglet

500 169,337,778,715 169,337,778,713

600 169,337,778,775 169,337,778,773

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

1000 169,337,780,500 169,337,780,497

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 challenges. Also JADE uses the asynchronous method of messaging, which puts the Agent Communication Language (ACL) into consideration and supports multiple agent execution and interaction. This makes it more preferred in multi agent distributed environments. Aglets use API for transfer of agent and RMI for exchange of messages which is not in line with FIPA regulations that JADE is using. Our future work will focus on using memory utilization and fault tolerance to test the performance of mobile agents across different platform.

References

[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

i Надоели баннеры? Вы всегда можете отключить рекламу.