Javelin [#!JAVELIN97!#] from the University of California, Santa Barbara, is an Internet-based global computing infrastructures that supports Java. In Javelin, there are three kinds of participating entities: clients, hosts and brokers. A client is a process seeking computing resources; a host is a process offering computing resources; a broker is a process that coordinates the supply and demand for computing resources. Clients register with the broker their tasks to be run; hosts register with the broker their intention to run tasks. The broker assigns tasks to hosts that then run the tasks and send results back to the clients.
The design is based on widely used components: Web browsers and the portable Java. By pointing their browser to a known URL of a broker, users automatically make their resources available to host parts of parallel computations. This is achieved by downloading and executing an applet that spawns a small daemon thread that waits and ``listens'' for tasks from the broker. This approach makes it easy for a host to participate-all that is needed is a Java-capable web browser and the URL of the broker.
It is good for very loosley-coupled parallel applications (``task parallelism'') but it is less appropriate for the more tightly-coupled SPMD programming made possible by our approach.