Home | Projects | Papers | Talks | Applications | Links | Documentation | Source

Shastra Web Collaboratory Project

Collaboration Everywhere!

The ultimate goal of the Shastra Collaboration project is to make multi-user collaborative computing as simple and easy to use as single-user computing is today. Collaborative computing has applications in distance learning, system support, computational steering, and collaborative entertainment. The following three examples illustrate the power of web based collaborative computing:
  • While attending a conference an attendee plugs her portable laptop into a conference network connection and engages in a collaborative conference, and shared computational visualization with co-workers at her home site. This was actually done by a student at Supercomputing 98.
  • A collection of scientists at remote sites engage in a collaborative visualization and analysis of a strand of the human genome by retrieving the strand directly from the Human Genome Project database and visualizing the structure at interactive rates.
  • A user walks up to a machine with a Java enabled WWW browser installed, visits the collaboration homepage where the software is automatically downloaded and they join into collaborative sessions with any other users on the fly.

The Shastra Collaboratory Web is an infrastructure that supports collaboration over wide area networks and integrates extremely well with the open internet standards of the world wide web. The following design goals where of paramount importance during the creation of the system:

  • Availability - the system should be available to as many users as possible.
  • Cross-Platform - the system should operate on as many types of machines as possible.
  • High-Performance - the system should support supercomputing applications.
  • Multi-Lingual - the system should be programmable in multiple languages (C, C++, Java, etc).

The Shastra Collaboration Architecture defines an extensible, programmable, computing environment for developing, using, and experimenting with sophisticated collaborative applications that support large scale geographically dispersed collaboration amongst multiple participants and systems. The architecture is connectionless, scalable, supports multi-group federation, has an adaptable data location model, supports flexible application coupling, multiple coordination strategies, dynamic downloading of executable code and is event driven. Interoperable implementations exist in C, C++, and Java.

Some of the key features of the current system are:

  • Dynamicaly downloadable - the Java version is automatically downloaded and executed in a secure fashion on demand. No components need to be downloaded prior to the operation of the system.
  • Distributed - their is no global dependence on any single server. The system can continue operation even if the server originating the activity crashes.
  • Locality - communication and transfer of information is localized to those users who are involved in the activity. No central server is used.
  • Scalability - the unconnected nature of the system and the locality property allow the system to scale to a large size.
Home | Projects | Papers | Talks | Applications | Links | Documentation | Source