Friday, February 23, 2007

WebOS....?

The WebOS (Web Operating System) is a joint project of four universities that aims at developing an operating system for the Web on top of existing operating systems and making the native services internet wide available.

The goal of this project is to provide a common set of OS services to wide area applications, including mechanisms for resource discovery, a global namespace, remote process execution, resource management, authentication, and security. On a single machine, application developers can rely on the local operating system to provide these abstractions. In the wide area, however, application developers are forced to build these abstractions themselves or to do without. This ad-hoc approach wastes programmer effort and system resources. To address these problems, WebOS provides basic operating systems services needed to build applications that are geographically distributed, highly available, incrementally scalable, and dynamically reconfiguring. webOS initial implementation is split into the following pieces:

* WebFS: A global file system layer allowing unmodified applications to read and write to the URL name space. Cache consistency is available to applications requiring it through the AFS protocol.
* Active Names: A mechanism for logically moving service functionality such as load balancing, resource discovery, and fault transparency from the server into the network.
* Secure Remote Execution: We believe applications will be running on remote nodes on behalf of arbitrary users. Assurances must be provided ensuring that applications are not able to violate the integrity of the remote server and that the servers cannot take advantage of any user access rights provided to the programs.
* Security and Authentication: Applications accessing remote files must authenticate their identities before access to protected files can be granted.
* Transactions: Applications must have well-defined failure modes. For example, an aborted remote agent should not leave a user's local file system in an inconsistent state.