We envision that ten years from now most homes will be equipped with powerful, inexpensive machines that will be as integral a part of our lives as the present day telephones and televisions. Similarly, a global computing network will have evolved to the point that virtually all machines throughout the developed world will be linked by high speed optical networks, and that users will communicate with each other, as well as access essentially all of their desired information over such a network. The types of applications supported in such an infrastructure will become far more ambitious as the power of the machines and the bandwidth of the communication links increase manyfold.
These technological advances will profoundly affect the traditional views of operating and database systems, network protocols, and even data acquisition and processing techniques, thereby requiring the computer science community to rethink its major research directions. The theoretical foundations that were adequate for uniprocessors or small number of tightly-coupled multiprocessors-- semantics based on the ``state'' of a system, or a complexity theory based on lock-step synchronization of multiple processors--will have to be revised to account for large ensembles of processors communicating asynchronously to solve a single problem. To precisely identify the research directions, we propose a gross categorization of the applications into three major classes:
As may be evident, Class I applications are characterized by the need to support storage and retrieval of massive amounts of data in multiple forms (text, image, video, animation). The processing requirements, however, may be quite elementary. Class II applications, on the other hand, combine a massive amount of computation with information storage and retrieval and present the results to the user in a form in which it can be easily visualized. Typically, applications in this class do not need real-time response, nor is real-time interaction with the user a prerequisite (though achieving reasonable response times may often be required to facilitate scientific experimentations). Class III applications, in addition to requiring support for retrieving and/or synthesizing information objects, impose real-time constraints on computing and communication requirements.
We believe that the above classification characterizes the evolution of applications that will become pervasive in the information infrastructures of the future. Moreover, at the core of these application classes lies fertile ground for research and development, ranging from design of algorithms (for efficient storage and retrieval, data-compression, information transport, network management, etc.) to language and operating system design, and tools and methodologies for application development. Consequently, attaining a breakthrough in designing and evaluating system architectures for information management systems of the future will require orchestrating a coherent and comprehensive effort that integrates expertise in information storage and retrieval, database systems, computer graphics, parallel computing, interactive and real-time distributed simulations, networking protocols, and systems engineering. The synergy among the research interests of the participants in this proposal provides an excellent opportunity for pursuing this research in the Department of Computer Sciences at the University of Texas at Austin.