next up previous
Next: Using the Framework Up: The Bayanihan Framework Previous: The Bayanihan Framework

System Design

The Bayanihan framework defines a set of interacting components that can be extended and composed to build Bayanihan systems like that shown in Fig. 1.

  
Figure 1: A Bayanihan system with worker and watcher clients.
\begin{figure}
\centerline{\PSbox{system.eps hoffset=-18 voffset=-591}{5.5in}{2.78in}}
\end{figure}

A Bayanihan system consists of many clients connected to one or more servers. A client can either be a Java applet started from a web browser, or a Java application started from the command line. There can be different kinds of clients, such as worker clients for performing computation, and watcher clients for viewing results and statistics. Each client has a chassis, which contains an active engine object that communicates with a manager on the server by exchanging data objects. A work engine, for example, may get work data objects from the work manager, execute them, and return result data objects when they are done. Data objects are generally polymorphic, and know how to process themselves. Work data objects, for example, may implement a doWork() method, which the work engine can call. Both the engine and the data objects have associated GUI objects that provide a user interface.

A server typically contains a commodity HTTP server for serving out Java class files, and a command-line Java application that creates one or more problem objects representing different ongoing computations. Each problem has a program object which creates and controls manager and data pool objects of different kinds. Figure 1, for example, shows a program object controlling a work manager which takes care of distributing work and collecting results from worker clients, and a watch manager which distributes results to watcher clients. Each client connected to the server is represented by an advocate object, which forwards the client's remote calls to the appropriate manager.


next up previous
Next: Using the Framework Up: The Bayanihan Framework Previous: The Bayanihan Framework
Luis Sarmenta
12/9/1998