Global Cooperative Computing

Workshop on Wide-Area Collaboration and Cooperative Computing
Second International WWW Conference: Mosaic and the Web

Hypertext: http://www.ai.mit.edu/projects/transit/gcc_www94/gcc_www94.html
Postscript: http://www.ai.mit.edu/projects/transit/gcc_www94/www94.ps


Abstract

Pervasive network connectivity changes our computational landscape. Each computer now resides within a global computer web rather than existing in isolation. Until recently, use of the network has been manual and primitive, requiring sophistication and effort on the part of the user to exploit the resource. The World-Wide Web transcends this traditional model, providing native support for the global computer web. To date, however, the WWW has been used primarily to publish information. Global cooperative computing represents the next step in exploiting wide-scale network connectivity wherein distributed users and computers globally cooperate on common computing problems. In this paper we focus on how the World-Wide Web can be used to rapidly advance the state of the art in computation and change the way software is developed, maintained, debugged, optimized, and used. The cooperative computing model we advocate supports systems which continually adapt to user needs and global information. This adaptability delivers considerable performance and convenience advantages to both developers and end users.

Overview

As network connectivity becomes an integral part of all computing systems, we can change many of our computing paradigms to take advantage of this resource. Exploiting the resource fully, however, requires a paradigm switch away from the models of computing employed when isolation was the norm rather than the exception. We explicitly consider the benefits of redesigning basic processes to gain advantage from a global web of computers. In particular, we focus on the implications of this model for:

Individual computing users in our world often share common goals. Users want their applications to run robustly and quickly. Some want to extend and improve the applications they use, and almost all users want to take advantage of enhancements others make in the applications they run. To the extent that groups of individuals run common applications, they have common goals. Common applications include editors such as emacs or Microsoft Word, browsers like Lynx or Mosaic, and operating systems such as Linux, OSF/1, MS-DOS, or Windows. Experience with the performance, security, reliability, and robustness of a common application is of interest to the entire user base. Similarly, improvements which increase any of these aspects of an application may benefit the entire user base.

Global cooperative computing considers how to exploit pervasive network connectivity to allow individuals to gain maximum benefit from the community of users who share common computing goals. By changing the computational paradigm to encompass the shared user base, tools can automatically collect and assimilate information about common use and common defects -- e.g. bugs which cause the program to crash. Improvements can be managed in a more automated way, and users can easily transition to enhanced versions of an application. Further, once identified, critical bugs or security issues can rapidly be brought to the attention of a user base, often along with the capability to automatically correct the problem.