The majority of the world’s computing resources remains idle most of the time. By using this resource pool, an individual computation may be completed in a fraction of time required to run the same computation on a single machine. However, distributing a program over a number of machines proves to be a tedious and difficult job. This paper introduces a system, called AdJava, which harnesses the computing power of these under-utilized heterogeneous computers by automatically distributing the user application across the available resources. In addition to providing transparent automatic distribution, AdJava provides load balancing and migration of distributed objects through the use of intelligent software agents. The system provides all this support without any programmer involvement and without modifying the Java Virtual Machine (JVM). AdJava’s range of features, combined with its ease of use, makes it a powerful system for distributed computing.
Mohammad M. Fuad, Michael J. Oudshoorn