Java in combination with Web browsers' abilities to load and execute untrusted Java applets in a secure fashion has made computing over the Web a possibility. Now the challenge is to fully utilize this potential, given the limitations imposed by browsers. This paper presents Knitting-Factory, an infrastructure to facilitate Web-based computing, which addresses this challenge. It supports building distributed applications, specifically those consisting of Java applets executing in browsers. It is composed of (1) a distributed name service to assist users in locating other participants of a distributed computation via standard browsers, (2) an embedded class server to eliminate the need for external HTTP servers for serving applet code, and (3) a technique for direct applet-to-applet communication.In this paper, we describe the design and implementation of KnittingFactory and demonstrate its benefits by applying it to three distinct areas of Web-based computing. First, we apply our distributed name service to a client/server architecture to enable RMI clients to locate servers on unknown hosts. Second, we use the embedded class server to extend the capability of Charlotte, a parallel computing environment. And finally, we build a collaborative application using our direct applet-to-applet communication technique which does not require a forwarding agent.
Metacomputing on theWeb: The projects which focus on Java-based parallel computing include ATLAS [1], Charlotte [3], JPVM [11], JavaParty [22], Javelin [8], ParaWeb [6], and WebFlow [5]. Similarly, there have been proposals for Web-enabled virtual machines as a base for High Performance Computing and Communication (HPCC) platform [14], to use Java in an SPMD programming model [17], and to extend Java with global pointers and remote service request mechanisms from the Nexus communication library [13]. Unfortunately, all but Charlotte and Javelin fail to take advantage of Web browsers in bringing distributed computing to every-day users.JPVM provides a message passing interface to Java stand-alone applications, but not applets. Projects such as JavaParty and [17] require running a Java process to server
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.