The multispace: an evolutionary platform for infrastructural services

This paper presents the architecture for a Base, a clustered environment for building and executing highly available, scalable, but flexible and adaptable infrastructure services. Our architecture has three organizing principles: addressing all of the difficult service fault-tolerance, availability, and consistency problems in a carefully controlled environment, building that environment out of a collection of execution environments that are receptive to mobile code, and using dynamically generated code to introduce run-time-generated levels of indirection separating clients from services. We present a prototype Java implementation of a Base called the MultiSpace, and talk about two applications written on this prototype: the Ninja Jukebox (a cluster based music warehouse), and Keiretsu (an instant messaging service that supports heterogeneous clients). We show that the MultiSpace implementation successfully reduces the complexity of implementing services, and that the platform is conducive to rapid service evolution.

[1]  John H. Hartman,et al.  Toba: Java for Applications - A Way Ahead of Time (WAT) Compiler , 1997, COOTS.

[2]  Brad Curtis Johnson Subject: a Distributed Computing Environment Framework: an Osf Perspective , 1991 .

[3]  Eric A. Brewer,et al.  Cluster-based scalable network services , 1997, SOSP.

[4]  David A. Wagner,et al.  The Ninja Jukebox , 1999, USENIX Symposium on Internet Technologies and Systems.

[5]  Deyu Hu,et al.  Implementing Multiple Protection Domains in Java , 1998, USENIX Annual Technical Conference.

[6]  Roger M. Needham,et al.  Grapevine: an exercise in distributed computing , 1982, CACM.

[7]  John H. Hartman,et al.  Joust: A Platform for Liquid Software , 1999, Computer.

[8]  Thomas P. Brisco DNS Support for Load Balancing , 1995, RFC.

[9]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.

[10]  Ben Y. Zhao,et al.  An architecture for a secure service discovery service , 1999, MobiCom.

[11]  Steven McCanne,et al.  An active service framework and its application to real-time multimedia transcoding , 1998, SIGCOMM '98.

[12]  Andrew Birrell,et al.  Implementing Remote procedure calls , 1983, SOSP '83.

[13]  Robert S. Gray,et al.  Agent Tcl: a Exible and Secure Mobile-agent System , 1996 .

[14]  Robbert van Renesse,et al.  Operating system support for mobile agents , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[15]  David Wetherall,et al.  Towards an active network architecture , 1996, CCRV.

[16]  Tobin J. Lehman,et al.  T Spaces , 1998, IBM Syst. J..

[17]  John H. Hartman,et al.  Liquid Software: A New Paradigm for Networked Systems , 1996 .

[18]  Dennis Shasha,et al.  Persistant Linda: Linda + Transactions + Query Processing , 1991, Research Directions in High-Level Parallel Programming Languages.

[19]  Luís Valente,et al.  Mobile agent security and Telescript , 1996, COMPCON '96. Technologies for the Information Superhighway Digest of Papers.

[20]  David E. Culler,et al.  A case for NOW (networks of workstation) , 1995, PODC '95.

[21]  G.J. Minden,et al.  A survey of active network research , 1997, IEEE Communications Magazine.

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

[23]  David E. Culler,et al.  Using smart clients to build scalable services , 1997 .

[24]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.