CS 4448 - Fall 1998
Object-Oriented Programming and Design
Talk 5.3
by
Chris Bartle

Create your own supercomputer with Java
by
Laurence Vanhelsuwé

Introduction
Java is gaining widespread acceptance on the World Wide Web.  It provides
security features that are designed to protect the user from a malicious
program.  Although Java prevents most unauthorized access to the user's
computer, it allows any downloaded applets to steal processing power.


Theory of Operation
Standard Java security settings allow a Java applet to communicate with the host that sent it.

So long as Java allows communication between the client and the host, a Java applet can perform intense calculations and
send the answer back.

There is no way for the user's computer to tell the difference between an applet that runs on behalf of the user or the
host.  Though an applet's access to the processor can be limited, it can't be stopped.


Usefulness
The ideal problems for this type of distributed computing are those that are computationally intense, but require little
bandwidth to be sent over.

An ideal use is decryption.  A short encrypted block can be sent to connected computers with the range of keys to try.  An
Intel P2 300 can break a 32 bit code in about 7 minutes, a 64 bit key could be broken into 2^32 blocks of this size.

Unlike current projects in distributed computing, this technique does not require the consent of the kind soul that donates
processing power.


DAMPP Solution
DAMPP stands for distributed applet-based (massively) parallel processing

Provides UDPUtils, WorkerApplet, JobMaster, and ResultsReceiver classes to deal with the actual communication.  These
classes are used to facilitate communication between the client and the server.

UDPUtils actually builds and decodes the UDP packets that carry the data.

WorkerApplet is used by the downloaded client to get data from the server and send back the answer.

JobMaster and ResultsReceiver are used by the server to send requests and receiver results.

The actual applet must be custom written to do the necessary calculations and interpret the results.


Source
For the full article, go to:
http://www.javaworld.com/javaworld/jw-01-1997/jw-01-dampp.html


Copyright © University of Colorado. All rights reserved.
Revised: November, 1998