GGrantIndex
← Search

ITR/SY+SI:The System Architecture of a Computing Utility

$2,911,212FY2001CSENSF

Stanford University, Stanford CA

Investigators

Abstract

Computing services in the future should become just as available and easy to use as any of the modern utilities: power, water, or telephone service. A compute utility should work reliably and invisibly, providing users with simple, efficient access to their data and individualized computing environments anywhere in the world. Data kept in the utility may be private, publicly available, or shared between designated parties. Our proposed compute utility architecture is based on the idea of a compute capsule, which captures the entire logical state of an active computing environment. A capsule is portable, persistent, host-independent, self-contained and can be suspended on disk, arbitrarily bound to different machines, and transparently resumed. Compute servers in a utility run a small trusted computing base, which manages the compute capsules like a cache. Users' capsules can be run on any of the compute servers in the utility and are typically run on local machines for enhanced interactive performance. Capsules provide users with customizabililty as well as a guarantee of isolation from other users. As persistent objects that can be shared, duplicated and version-controlled, capsules can be easily managed and administered. The compute utility model has significant advantages over our current environment. First, instead of requiring end users to procure, administer and upgrade their equipment individually, resources of a utility are shared and managed centrally by experts, thus resulting in a more efficient system. Second, a global utility allows users efficient access to their computing environment everywhere. They need not juggle a large number of different interfaces and deal with the discontinuities as they move between home and work every day. Third, a professionally managed compute utility designed to support global mobility and sharing can provide greater security than our current environment. In contrast, today novice users are responsible for keeping their systems secure, and the lack of adequate support for sharing and mobility leads to practices that jeopardize security. Fourth, the infrastructure of a utility serves as an excellent platform for several emerging computing trends: software hosted remotely by application service providers, support of ubiquitous access devices, and large-scale distributed computing. The goal of this research project is to investigate the viability of a compute utility and to lay the technical foundation for such an infrastructure. The techniques developed can also be applied to manage an institution's distributed resources. First, we will investigate the concept of capsules fully by studying their design and applications. Capsules can be implemented at the machine, operating system and application level; trade-offs between these different approaches will be studied. We will also explore novel uses of capsules: capsules can be used to run untrusted software; they can provide secure and shared environments for group projects; capsules can also serve as pre-installed software packages ready to run on any machine. We will develop the associated tools to make capsuleseasy to use. Second, we will develop the technologies to ensure security in a compute utility. Security will be provided at three levels: a small trusted kernel that provides isolation between capsules and monitors capsules for added security; the use of certified capsules to create trusted computing environments; data security will be provided by encryption, and sharing will be supported by a flexible key management scheme. We plan to conduct a careful analysis of the vulnerabilities of the system. Third, this research will produce the technologies useful for creating scalable, efficient, and easily maintainable compute utilities. They include techniques for managing machines in a globally distributed environment by treating them as caches of capsules, and techniques that combine capsule caching and remote display technology to support global mobility and sharing. This research will develop a prototype compute utility to validate the technology developed. To make extensive experimentation possible, the prototype will support legacy software. The experiments will be designed especially to address the information technology needs of universities. Computer systems have gone through two major eras, time-sharing on mainframes and personal computing. The success of this research may usher in a new era of compute utility and have a significant impact on our future computing practice.

View original record on NSF Award Search →