WebOS: Software Support for Scalable Internet Services

InfoSys 296A

Howard Besser

By Amin Vahdat


Overview

This paper describes the WebOS project. The goal of the project is to build an operating system capable of resource arbitration, authentication, and communication on a global basis. Using WebOS, programs can bridge the gap between local area networks and administrative boundaries to take advantage of global computing resources. The description of the system is organized as follows:


Motivation

The explosive growth of the World Wide Web, along with the evolution of the HTTP, HTML, and CGI standards, has enabled many applications which would not have been feasible just a few years ago. We believe that this evolution will eventually lead to support for general-purpose distributed computing over the Web. Such computation minimally requires transparent access to local and remote files, private and public data, and local and remote computation. Our research focuses on determining the infrastructure necessary to build distributed Web applications and building a prototype to validate our design. Currently, we have split our implementation efforts into the following pieces:

We have completed a preliminary version of WebFS interfacing at the Solaris vnode layer. The current implementation has been tested on Sparc Stations running Solaris 2.4 and 2.5. WebFS supports operations such as invoking grep on a list of URLs from a normal UNIX shell, running arbitrary executables which retrieve local URLs for input, and compilation of remote source trees simply by providing URLs to applications such as cc and make.

In addition to WebFS, we also have designs for a virtual machine providing secure remote program execution. We will use public key cryptography and capabilities to provide authentication for both the file system and the virtual machine. To validate our prototype design, we are building a number of distributed applications to take advantage of the common framework, including: a general-purpose compute server, a number of collaborative computing applications, remote agents, and Rent-A-Server. Please refer to our paper for more details on the system and the preceding applications.


Implications

Besides simplifying the implementation of existing distributed applications, WebOS will also enable a whole new class of applications. Transparent access to local and remote resources in the form processor cycles, disk storage, network bandwidth, and memory will engender applications that are simply not viable given current infrastructure. Some possible directions that this technology may take are discussed below:


More Information

The following describes the WebOS environment in more detail:


Send email to vahdat@cs.berkeley.edu.