next up previous
Next: Research Issues Up: Towards Bayanihan: Building an Previous: Towards Bayanihan: Building an

Introduction

Project Bayanihan seeks to develop the idea of web-based volunteer computing, wherein people cooperate in solving a large parallel problem by using standard Web browsers to volunteer their computers' processing power. Because volunteering requires no prior human contact and very little technical knowledge, it becomes very easy to build very large volunteer computing networks. At its full potential, volunteer computing can make it possible to build world-wide massively parallel computing networks more powerful than any supercomputer. Even on a smaller, more practical scale, volunteer computing can be used within companies or institutions to provide supercomputer-like facilities by harnessing the computing power of existing workstations. Many interesting variations are also possible, including networks of information appliances (NOIAs), paid volunteer systems, and barter trade of compute cycles [25].

Java offers us a promising opportunity to make volunteer computing a reality. With Java, we can write parallel applications as applets and post them on the Web. Then, users who want to volunteer need only to use a Java-capable browser and visit the web page. The applets will be downloaded and executed automatically, without any need for human intervention except for the initial mouse click required to go to the web page. Furthermore, thanks to Java's security mechanisms, volunteers need not worry about security or privacy. This ease-of-use, coupled with the ubiquitous support for Java in today's systems, makes it potentially possible for anyone to build volunteer computing networks which anyone and everyone on the Internet can join.

A number of groups have recognized and discussed the potential benefits and issues of this idea [2,10,27,25], and several already have prototype implementations (see Sect.6). In this paper, we present the current state of our own research.

We present a software framework based on Java and HORB [20], that heavily exploits object-oriented programming techniques to provide ease-of-use and several levels of flexibility for programmers. We start with a discussion of the issues that need to be addressed, and present an overall system design that addresses these issues. Then, we discuss our current implementation of this design, and report on some results from current prototype applications. We end with a discussion on future work, related work, and a summary.


next up previous
Next: Research Issues Up: Towards Bayanihan: Building an Previous: Towards Bayanihan: Building an
Luis Sarmenta
1/2/1998