Paraskevas Evripidou
Chris Panayiotou
Evi Pitoura
George Samaras


This project aims to the development of a framework for designing Parallel Applications on the Web using Java Mobile Agents. The mobile agent execution environment used to realize our proposed framework is based on the Aglet Technology, developed by IBM Tokyo, which is a Java based framework for building mobile agent objects. Our proposed framework enhances the capabilities of the Aglets with parallel processing constructs. We have applied this framework for the development of a parallel Web-based Query system. Java Mobile agents are launched in the Web to query in parallel distributed databases. Java multithreading is then employed to combine the partial results of the queries, thus a second level of concurrency is employed. A prototype has been developed and successfully tested, thus providing proof of concept for the proposed framework.

The undeniable eminence of Java technology in networking performance over other respected programming languages like C++, its global portability and security control system gives Java the lead in Client/Server programming and mobile computing. On the other hand, the World Wide Web (simply Web) is rapidly being accepted as a universal access mechanism for network information. This popularity of the Web suggests that Web browsers may offer a compelling end-user interface for a large class of applications, even in computational demanding areas like super computing. Indeed, their widespread availability, the availability of the Internet to offer world-wide any-to-any connectivity, the ease with which users can create forms using HTML, makes the Web very attractive (and inexpensive) for a large class of client/server database applications.

The objective is to decisively marry these two technologies, namely Java Mobile Agents and Web, for the solution of large problems in parallel. The real challenge in integrating Java and Parallel Processing is the formation of smart, lightweight, flexible, independent and portable Java Parallel processing programs, with maximum performance and security standards, that will support efficient parallel processing communication and synchronization over the Internet.

In this paper, we introduce a new approach for the development of Java-based Parallel Processing applications over the Web. Our approach is based on the idea of using mobile agents. These agents are launched to different hosts on Web and they cooperate and communicate among themselves in order to solve large problems fast.

The driving force motivating the use of mobile agents is twofold. First, mobile agents provide an efficient, flexible and asynchronous method for searching for information or services in rapidly evolving networks: mobile agents are launched into the unstructured network and roam around to gather information. Second, mobile agents support intermittent connectivity, slow networks, and lightweight devices. This second property makes the use of mobile agents very attractive. In our case, it relieves the remote client from any unnecessary overhead by “moving” it to the heavyweight servers at the fixed network. Furthermore, it allows a straightforward adaptation of our approach to the emerging, and very popular, wireless environments.

Our latest work in this area: PaCMAn (Parallel Computing with Java Mobile Agents) launches multiple Java-mobile Agents that communicate and cooperate to solve problems in parallel. Each mobile agent can travel anywhere in the web to perform its tasks. We also introduce the concept of task-handlers, which are Java objects capable of implementing a particular tasks of the target application. TaskHandlers are dynamically assigned to PaCMAn/s mobile agents. We have developed and tested a prototype system with several application.