jGrid v0.53 README
Darrick Wong
8 November 2003

Hi!  Thanks for trying out jGrid!  I hope you'll enjoy it, but keep in mind
that this is meant to be a proof-of-concept, not a commercial grid server.  See
the project web site, http://thibs.menloschool.org/~djwong/programs/jGrid/ for
more details about the internals.

I. To build the programs and samples, do this:

$ make

II. To start the Grid Manager, run this on your grid server, named $SERVER:

$ java -cp . -Djava.security.policy=java.policy grid.manager.Main

III. To start a worker from a command line, do this:

$ java -cp . grid.worker.App $SERVER

After it starts, you'll want to push the "Add" button to add a worker to the
grid.

IV. To start a worker in a web page, do this:

1. Install some web server and make sure that the jGrid files are accessible
   via this web server.  Let's assume that you've set things up so that the
   directory containing this README is accessible at $JGRID_URL.
   
2. Point your browser at $JGRID_URL/bapp.html .  Wait for Java to start, then
   push the "Add" button to add this worker to the grid.  You will likely want
   to customize this file and not use my defaults.

V. To start my sample Mandelbrot grid client, do this:

$ java -cp . -Djava.security.policy=java.policy grid.client.fractal.App $SERVER

VI. A few odds and ends regarding RMI:

If you write your own grid clients, you will need to make the class files
available to both the Grid Manager and the Grid Workers.  The easiest way to do
this, of course, is to set up a networked file share and run everything the
apps from the command line.  This is, of course, the preferred way to do it.

However, it's not a particularly slick solution -- the whole point of an
Internet-enabled grid engine is that one should be able to start workers from
a web browser anywhere in the world.  This is why the instructions for section
IV tell you to make everything web accessible; once you do this, web browsers
will automatically download all the required class files over HTTP.

If you want to force _everyone_ to use HTTP, then put the following option to
the Java VM:

-Djava.rmi.server.codebase=$JGRID_URL

Where $JGRID_URL is something like http://tortuga/~djwong/jGrid/ .  Once you
have done this, the RMI class loader will kick in and load class files over the
network.

Happy Hacking!

--Darrick Wong
