Next: Potentials and Possibilities
Up: Motivations
Previous: Non-Java-Based Volunteer Computing
Java-based volunteer computing provides an alternative that
addresses the problems we have seen so far, improving on both
PVM and distributed.net in three main areas:
- 1.
- Ease-of-use.
In a Java-based system, volunteering takes only one step:
use a Java-capable browser to visit the server web site.
There is no technical knowledge required beyond that of using a web browser.
The user doesn't even have to be aware of the file system,
or understand what downloading an applet really means.
Thus, anyone, even minimally-computer-literate users
of commodity Internet services, can join in such computations.
- 2.
- Platform-independence.
Java-based systems are easy for the programmers
and administrators to use as well. Since the Java language and libraries
are platform-independent, programmers can ``write once,
run anywhere'' - they can just do their development
on any platform, compile the final code into one set of binaries
(i.e., Java bytecode), and then post it on the appropriate web sites.
Once this is done, any machine that has a Java runtime environment can
download these applets and run them. Since free Java browsers and
runtime environments have already been implemented on most major platforms
today, practically anybody on the Internet
can easily volunteer their computers. In fact, this would include even users
of network computers (NCs),
whose operating systems may not allow them
to download and execute non-Java binary programs such as those used
by PVM and distributed.net.
- 3.
- Security.
Like distributed.net, a Java-based system
has the advantage of not requiring accounts or remote-shell access on the
volunteer machines.
Furthermore, unlike distributed.net, the Java applets
that volunteers download are executed in a
sandbox that prevents them from stealing
or doing damage to the volunteer's data.
In short, a Java-based volunteer computing system requires minimal setup
and distribution effort on the part of the programmers and administrators,
minimal technical knowledge and inconvenience on the part of volunteers,
and minimal security risk. This characteristic ease with which a volunteer
computing system can be set up is what makes it attractive as
the next step in bringing supercomputing closer to
the reach of the common user.
Next: Potentials and Possibilities
Up: Motivations
Previous: Non-Java-Based Volunteer Computing
Luis Sarmenta
1/2/1998