Supporting ubiquitous computing with stateless consoles and computation caches

In this thesis, we describe mechanisms to support a system architecture that provides ubiquitous access to a globally distributed and essentially unlimited set of anonymous computing resources. We propose network-attached frame buffer consoles to access computing sessions on remote servers. Console features: stateless, no software, no administration, user mobility, isolation from desktop failures. We developed a methodology to evaluate interactive performance of GUI and multimedia applications. Quantitative analysis on an implementation showed that commodity networks provide an interactive experience indistinguishable from traditional desktops. Next, we restructured operating systems using a new abstraction: compute capsules. Capsules provide a private, customizable, virtualized, host-independent system interface. They encapsulate the state of a user's computing session. Capsules migrate between machines or reside off-line in stable storage, thereby solving many problems: scaling to unlimited logins, dynamic load balancing, availability, checkpoint/resume, mobility, remote administration. We demonstrated that it is feasible to extend COTS operating systems with this abstraction. Our prototype suspends and resumes complete login sessions running standard batch, GUI, and multimedia applications.

[1]  William I. Nowicki,et al.  NFS: Network File System Protocol specification , 1989, RFC.

[2]  David A. Patterson,et al.  A case for networks of workstations (now) , 1994, Symposium Record Hot Interconnects II.

[3]  Ken Thompson,et al.  The use of name spaces in Plan 9 , 1993, OPSR.

[4]  Raphael A. Finkel,et al.  Designing a process migration facility: the Charlotte experience , 1989, Computer.

[5]  Charles E. Perkins,et al.  IP Mobility Support , 1996, RFC.

[6]  Gregory R. Ganger,et al.  Dynamic Function Placement in Active Storage Clusters , 1999 .

[7]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1987, TOCS.

[8]  Dejan S. Milojicic,et al.  Process migration , 1999, ACM Comput. Surv..

[9]  Ken Thompson,et al.  Plan 9 from Bell Labs , 1995 .

[10]  David R. Cheriton,et al.  The V distributed system , 1988, CACM.

[11]  Barton P. Miller,et al.  Fine-grained dynamic instrumentation of commodity operating system kernels , 1999, OSDI '99.

[12]  Jochen Liedtke,et al.  A persistent system in real use-experiences of the first 13 years , 1993, Proceedings Third International Workshop on Object Orientation in Operating Systems.

[13]  Fred B. Schneider,et al.  Hypervisor-based fault tolerance , 1996, TOCS.

[14]  Robert P. Goldberg,et al.  Survey of virtual machine research , 1974, Computer.

[15]  Andrew S. Grimshaw,et al.  Legion: An Operating System for Wide-Area Computing , 1999 .

[16]  Andy Hopper,et al.  Teleporting in an X Window System Environment , 1994 .

[17]  Adrian Nye X protocol reference manual , 1990 .

[18]  John Rosenberg,et al.  Grasshopper: An Orthogonally Persistent Operating System , 1994, Comput. Syst..

[19]  Alan Dearle,et al.  Toward Ubiquitous Environments for Mobile Users , 1998, IEEE Internet Comput..

[20]  Andrew S. Tanenbaum,et al.  Globe: a wide area distributed system , 1999, IEEE Concurr..

[21]  Raphael A. Finkel,et al.  Designing a Process Migration Facility , 1989 .

[22]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1987, SOSP '87.

[23]  Peter M. Chen,et al.  Discount Checking: Transparent, Low-Overhead Recovery for General Applications , 1998 .

[24]  D. B. Davis,et al.  Sun Microsystems Inc. , 1993 .

[25]  Andy Hopper,et al.  Virtual Network Computing , 1998, IEEE Internet Comput..

[26]  Andrew R. Cherenson,et al.  The Sprite network operating system , 1988, Computer.

[27]  José M. Bernabéu-Aubán,et al.  Solaris MC: A Multi Computer OS , 1996, USENIX Annual Technical Conference.

[28]  Barton P. Miller,et al.  Process migration in DEMOS/MP , 1983, SOSP '83.

[29]  Kai Li,et al.  Libckpt: Transparent Checkpointing under UNIX , 1995, USENIX.

[30]  Amin Vahdat,et al.  GLUix: a global layer unix for a network of workstations , 1998, Softw. Pract. Exp..

[31]  Andy Hopper,et al.  A ubiquitous, personalized computing environment for all: Teleporting in an X Window System Environment , 1994, IEEE Personal Communications.

[32]  Ben Shneiderman,et al.  Designing the User Interface: Strategies for Effective Human-Computer Interaction , 1998 .

[33]  Derek McAuley,et al.  Devices on the Desk Area Network , 1995, IEEE J. Sel. Areas Commun..

[34]  Zheng Wang,et al.  Using latency to evaluate interactive system performance , 1996, OSDI '96.

[35]  Ralph E. Droms,et al.  Dynamic Host Configuration Protocol , 1993, RFC.

[36]  Ben Shneiderman,et al.  Designing the user interface - strategies for effective human-computer interaction, 2nd Edition , 1992 .

[37]  J. Duane Northcutt,et al.  The interactive performance of SLIM: a stateless, thin-client architecture , 1999, SOSP.

[38]  C. R. Landau The checkpoint mechanism in KeyKOS , 1992, [1992] Proceedings of the Second International Workshop on Object Orientation in Operating Systems.

[39]  Mike Hibler,et al.  Microkernels meet recursive virtual machines , 1996, OSDI '96.

[40]  Miron Livny,et al.  Condor-a hunter of idle workstations , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[41]  Jonathan Walpole,et al.  MPVM: A Migration Transparent Version of PVM , 1995, Comput. Syst..

[42]  Ian T. Foster,et al.  Globus: a Metacomputing Infrastructure Toolkit , 1997, Int. J. High Perform. Comput. Appl..

[43]  P. Merkey,et al.  Beowulf: harnessing the power of parallelism in a pile-of-PCs , 1997, 1997 IEEE Aerospace Conference.

[44]  Jason Nieh,et al.  The design, implementation and evaluation of SMART: a scheduler for multimedia applications , 1997, SOSP.

[45]  M. Frans Kaashoek,et al.  Mobile Computing with the Rover Toolkit , 1997, IEEE Trans. Computers.

[46]  Georg Stellner,et al.  CoCheck: checkpointing and process migration for MPI , 1996, Proceedings of International Conference on Parallel Processing.

[47]  Keith A. Lantz,et al.  Structured Graphics for Distributed Systems , 1984, TOGS.

[48]  Scott Devine,et al.  Disco: running commodity operating systems on scalable multiprocessors , 1997, TOCS.

[49]  Chris Steketee,et al.  Experiences with the Implementation of a Process Migration Mechanism for Amoeba , 1996 .

[50]  BlackAndrew,et al.  Fine-grained mobility in the Emerald system , 1988 .

[51]  David E. Culler,et al.  WebOS: operating system services for wide area applications , 1998, Proceedings. The Seventh International Symposium on High Performance Distributed Computing (Cat. No.98TB100244).

[52]  Paul Francis,et al.  The IP Network Address Translator (NAT) , 1994, RFC.

[53]  Derek McAuley,et al.  The desk area network , 1991, OPSR.