next up previous
Next: Potentials and Possibilities Up: Motivations Previous: Non-Java-Based Volunteer Computing

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 up previous
Next: Potentials and Possibilities Up: Motivations Previous: Non-Java-Based Volunteer Computing
Luis Sarmenta
1/2/1998