|Volume 7, Issue 1 -
THE CALTECH INFOSPHERES PROJECT
A NEW APPROACH TO COLLABORATIVE DISTRIBUTED COMPUTING
K. Mani Chandy, Boris Dimitrov, Zuzana Dobes, John Garnett, Joseph Kiniry, Huy Le, Jacob Mandelson, Matthew Richardson, Adam Rifkin, Eve Schooler, Paolo A.G. Sivilotti, Wesley Tanaka, Luke Weisman, California Institute of Technology
Widespread use of the World Wide Web has led to the development of a cottage industry in which large numbers of people without formal education in computing are developing server applications on the Web. The Caltech Infospheres Project, led by K. Mani Chandy, seeks to extend this infrastructure to a distributed system with peer-to-peer process communication across the Global Information Infrastructure (GII). The goal of this distributed system is to provide an environment in which new collaborative applications can be easily created.
This collaborative environment is made up of "infospheres," which are collections of tasks, tools, and interfaces managed by individual computer users. The project's goal is to develop the infrastructure that supports the creation of infospheres and new kinds of interactions between them. This is being done by identifying and specifying software components that can be composed to create distributed applications, implementing the software components as classes in an object-oriented framework, developing a compositional methodology for constructing correct distributed applications from the components, and implementing a library of applications that demonstrates the methodology.
The project develops methods and tools for distributed programming applications layered on top of standard network technologies. Although this implementation uses Java, other object-oriented languages that support threads and communication classes could also be used. The proposed design supports distributed sessions of processes, or "dapplets," that can be composed by linking input and output ports (inboxes and outboxes). The design was selected because it supports modularity. Each process has a simple interface defined by its ports, and has the straightforward implementation in Java using Java socket classes. The design facilitates the creation and maintenance of sessions, or temporary networks of dapplets, that carry out specific tasks, such as arranging a meeting time for a group of people or collaborating on parts of a system design. In the meeting example, a group of committee members would have "calendar dapplets" that work together in a session to compute a common meeting time. When the task is complete, the session terminates.
The Caltech Infospheres Project group is also considering leveraging off of object request broker technology. More information about infospheres and the Caltech's prototype experimental distributed environment (EDEN) is available on the Web at http://www.infospheres.caltech.edu/ .
Table of Contents