Projects that use applets, and allow users to participate in a computation using only a standard Web browser, seem to be fewer, but have also been growing in number. Perhaps the earliest of these is a simple factoring application done in 1995 with an alpha version of Java by two students at the University of Washington 1995 [28]. More recently, a similarly simple demo, DAMPP [27], was featured in JavaWorld. More complex and general-purpose frameworks for applet-based parallel computing include Charlotte [4], which implements distributed shared memory, and uses eager scheduling, and Javelin [8], which uses servlets, an optional Linda tuple-space, and a Cilk-like work-stealing strategy.
Many of these projects provide the programmer with a way to easily generate different kinds of applications. However, these applications are usually restricted to following a particular programming model. With Project Bayanihan, we take advantage of the flexibility and ease-of-use provided by distributed object technology to to build a general-purpose framework for implementing and experimenting not only with different applications, but with different programming models and volunteer computing mechanisms as well.
Another feature of Project Bayanihan not found in other systems is the explicit support for flexibility and ease in designing user interfaces for clients.