Object-oriented Decentralized Distributed computing middleware for Java
Home › Description

Octojus is a decentralized Object-Oriented Java RPC middleware based on Jacaboo, from which it inherits the deployment and bootstrapping facilities.

Octojus is not a remote method invocation mechanics like RMI is, it is not a sophisticated message-passing framework like MPI, nor it is a grid-computing middleware like Hadoop. Its programming model can be seen as an object-orientation of the traditional remote procedure calls that can be found in C. More precisely, Octojus defines the concept of executable object. An executable object is a serializable Java object featuring a specific procedure, and it can embed data. Such an executable object can be sent to a remote node where it will be executed. If the execution is synchronous, the submission is blocked until the result of the procedure is sent back to the caller code in the requesting node.

In addition to this, Octojus features a system for obtaining dynamic information on nodes belonging to the cluster. This information can be used to load-balancing purposes. Octojus self-benefits from this to provide GUI for the real-time monitoring of the clusters and running distributed applications.

At a higher abstraction level, Octojus provides a framework for the development of systolic algorithms, a batch scheduler, as well as an implementation of Map/Reduce. The latter in used in the BigGrph graph computing platform.