Metacomputing with mobile agents
In this paper we present Parallel Computing with Mobile Agents (PaCMAn), a mobile agent based Metacomputer that enables its users to utilize idle resources on the internet to tackle computational problems that could not be handled efficiently with their own resources. The PaCMAn launches multiple mobile agents that cooperate and communicate to solve problems in parallel. Each agent supports the basic communication and synchronization tasks of the classical parallel worker assuming the role of a process in a parallel processing application. Application tasks, however, are assigned dynamically to the PaCMAn's mobile agents via TaskHandlers. TaskHandlers are Java objects capable of implementing particular tasks of the application. The PaCMAn consists of three major components: Broker, Server and Client. A server machine has to be explicitly registered in order to take part in the PaCMAn Metacomputer. A number of brokers keep track of the available resources. In the PaCMAn system both server and client machines can be located anywhere in the Internet. The clients select the servers that they will utilize based on the specific resource requirements. We have developed and tested prototype systems with several applications. These prototypes provide proof of concept of our proposed Metacomputing philosophy. Furthermore they have demonstrated that PaCMAn provides parallel efficiency. We also demonstrate that the PaCMAn Metacomputer can be used as the computational engine for the creation of sophisticated Pervasive Services anywhere anytime.
metacomputing mobile agents java pervasive computing mobile computing