2K: A Dynamic, Component-Based Operating System for Rapidly Changing Environments

Modern, distributed computing systems need to cope continuously with changes. as software upgrade; and frequent changes in the execution environment, such as network bandwidth, memory availability. This paper proposes 2K, a component-based operating system architecture for rapidly changing environments. In 2K, adaptation is driven by architectural awareness: the system software includes models of its own structure, state, and behavior. Change in the dynamic structure of the system triggers adaptation. To implement adaptation, 2K incorporates a reflective middleware layer that admits dynamic customization through the dynamic loading of components and modification of object mechanisms such as method dispatch. The architecture also addresses adaptation in response to software and hardware evolution through code distribution, implemented using the active networking model. Prototype implementations of 2K ideas had provided encouraging results. We also present an application study, identify problems that arose while implementing the application on a traditional system, and analyze how 2K features would alleviate those problems.

[1]  Silvano Maffeis,et al.  Adding Group Communication and Fault-Tolerance to CORBA , 1995, COOTS.

[2]  Roy H. Campbell,et al.  Monitoring compliance of a software system with its high-level design models , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[3]  Stanley B. Zdonik,et al.  A framework for scalable dissemination-based systems , 1997, OOPSLA '97.

[4]  Roy H. Campbell,et al.  Architecture-oriented visualization , 1996, OOPSLA '96.

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

[6]  Sanjay R. Radia,et al.  The SunSCALR framework for Internet servers , 1998, Digest of Papers. Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing (Cat. No.98CB36224).

[7]  Daniel M. Zimmerman,et al.  benefits and drawbacks of current Java mobile agent systems , 1997 .

[8]  Klara Nahrstedt,et al.  QoS Translation and Admission Control for MPEG Video , 1997 .

[9]  T. Anderson The Case for Application-Speci c Operating Systems , 1992 .

[10]  Andrew S. Grimshaw,et al.  The Legion vision of a worldwide virtual computer , 1997, Commun. ACM.

[11]  M. van Steen,et al.  The Architectural Design of Globe: A Wide-Area Distributed System , 1997 .

[12]  Douglas C. Schmidt,et al.  Constructing reliable distributed communication systems with CORBA , 1997, IEEE Commun. Mag..

[13]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[14]  Roy H. Campbell,et al.  Quarterware for middleware , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[15]  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).

[16]  Jo-Mei Chang,et al.  Reliable broadcast protocols , 1984, TOCS.

[17]  Douglas C. Schmidt Principles and patterns of high-performance and real-time distributed object computing (tutorial) , 1997, PODC '97.

[18]  Roy H. Campbell,et al.  Reflective ORBs: Supporting Robust, Time-Critical Distribution , 1997, ECOOP Workshops.

[19]  Calton Pu,et al.  Optimistic incremental specialization: streamlining a commercial operating system , 1995, SOSP.

[20]  Roy H. Campbell,et al.  Design conformance management of software systems: An architecture-oriented approach , 1996 .

[21]  John A. Zinky,et al.  Architectural Support for Quality of Service for CORBA Objects , 1997, Theory Pract. Object Syst..

[22]  Jerome H. Saltzer,et al.  End-to-end arguments in system design , 1984, TOCS.

[23]  Michael N. Nelson,et al.  An overview of the Spring system , 1994, Proceedings of COMPCON '94.

[24]  Roy H. Campbell,et al.  Designing and implementing Choices: an object-oriented system in C++ , 1993, CACM.

[25]  Klara Nahrstedt,et al.  The QOS Broker , 1995, IEEE Multim..

[26]  Roy H. Campbell,et al.  Fine-grained, dynamic user customization of operating systems , 1996, Proceedings of the Fifth International Workshop on Object-Orientation in Operation Systems.

[27]  Michael Stonebraker,et al.  Operating system support for database management , 1981, CACM.

[28]  Robert Grimm,et al.  Application performance and flexibility on exokernel systems , 1997, SOSP.

[29]  Roy H. Campbell,et al.  Dynamic Agent-Based Security Architecture For Mobile Computers , 1998 .

[30]  Dawson R. Engler,et al.  Exterminate all operating system abstractions , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[31]  Yi-Min Wang,et al.  COMERA: COM Extensible Remoting Architecture , 1998, COOTS.

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

[33]  Roy H. Campbell,et al.  /spl mu/Choices: an object-oriented multimedia operating system , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[34]  Sean Matthew Dorward,et al.  Inferno: la commedia interattiva , 1997 .

[35]  Fabio Kon,et al.  A Detailed Description of Off++, a Distributed Adaptable Microkernel , 1997 .