Juxta-Cat: a JXTA-based platform for distributed computing

In this paper we present a JXTA-based platform, called Juxta-CAT, which is an effort to use the JXTA architecture to build a job execution-sharing distributed environment. The Juxta-CAT platform has been deployed in a large-scale, distributed and heterogeneous P2P network, based on open JXTA protocols. The goal of our platform is to create a shared Grid where client peers can submit their tasks in the form of java programs stored on signed jar files and are remotely solved on the nodes of the platform. Thus, the main goal of our platform is giving direct access to resources and sharing of the computing resources of nodes, in contrast to other well-known P2P systems that only share hard disk contents.The architecture of our platform is made up of two types of peers: common client peers and broker peers. The former can create and submit their requests using a GUI-based application while the later are the administrators of the Grid, which are in charge of efficiently assigning client requests to the Grid nodes and notify the results to the owner's requests. To assure an efficient use of resources, brokers use an allocation algorithm, which can be viewed as a price-based economic model, to determine the best candidate node to process each new received petition. The implementation and design of peers, groups, job and presence discovery, pipe-based messaging, etc. are developed using the latest updated JXTA libraries (currently release 2.3.7) and JDK 1.5 version.Several types of applications arising from different fields such as scientific calculations, simulations, data mining, etc. can be solved in Juxta-CAT. To create a suitable demo scenario and test the proposed platform, we have joined and used the PlanetLab platform (http://www.planet-lab.org/). Juxta-CAT Project and its official web site have been hosted in Java.NET community at https://juxtacat.dev.java.net.