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.
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.