Adaptation Space: Surviving Non-maskable Failures

Some failures cannot be masked by redundancies, because an unanticipated situation occurred, because fault-tolerance measures were not adequate, or because there was a security breach (which is not amenable to replication). Applications that wish to continue to offer some service despite non-maskable failure must adapt to the loss of resources. When numerous combinations of non-maskable failure modes are considered, the set of possible adaptations becomes complex. This paper presents adaptation spaces, a formalism for navigating among combinations of adaptations. An adaptation space describes a collection of possible adaptations of a software component or system, and provides a uniform way of viewing a group of alternative software adaptations. Adaptation spaces describe the different means for monitoring the conditions that different adaptations depend on, and the particular configurations through which an adaptive application navigate. Our goal is to use adaptation spaces to provide survivable services to applications despite non-maskable failures such as malicious attacks. We present the basic concepts concerning adaptation spaces, with examples. We then present a formal model for reasoning about and selecting alternative adaptations, allowing developers of survivable application to automate their system''s adaptive behavior.

[1]  Calton Pu,et al.  Specialization classes: an object framework for specialization , 1996, Proceedings of the Fifth International Workshop on Object-Orientation in Operation Systems.

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

[3]  Craig Chambers,et al.  Predicate Classes , 1993, ECOOP.

[4]  Calton Pu,et al.  Fine-Grain Adaptive Scheduling using Feedback , 1989, Comput. Syst..

[5]  Setrag Khoshafian,et al.  Object identity , 1986, OOPLSA '86.

[6]  Wietse Z. Venema,et al.  TCP Wrapper: Network Monitoring, Access Control, and Booby Traps , 1992, USENIX Summer.

[7]  Jonathan Walpole,et al.  Device and data independence for multimedia presentations , 1995 .

[8]  Calton Pu,et al.  Multimedia Applications Require Adaptive CPU Scheduling , 1996 .

[9]  Beng-Hong Lim,et al.  Structuring operating systems using adaptive objects for improving performance , 1995, Proceedings of International Workshop on Object Orientation in Operating Systems.

[10]  Calton Pu,et al.  A Metadata Based Approach to Improving Query Responsiveness , 1997, MD.

[11]  Calton Pu,et al.  Adaptive methods for distributed video presentation , 1995, CSUR.

[12]  John A. Zinky,et al.  Specifying and measuring quality of service in distributed object systems , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[13]  Crispan Cowan,et al.  StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks , 1998, USENIX Security Symposium.

[14]  Calton Pu,et al.  A Distributed Real-Time MPEG Video Audio Player , 1995, NOSSDAV.

[15]  Karsten Schwan,et al.  Improving performance by use of adaptive objects: experimentation with a configurable multiprocessor thread package , 1993, [1993] Proceedings The 2nd International Symposium on High Performance Distributed Computing.

[16]  Wolfgang Klas,et al.  /spl delta/-sets for optimized reactive adaptive playout management in distributed multimedia database systems , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

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

[18]  Crispin Cowan,et al.  Declarative specialization of object-oriented programs , 1997, OOPSLA '97.

[19]  Calton Pu,et al.  A Specialization Toolkit to Increase the Diversity of Operating Systems , 1996 .

[20]  J. Paul Tremblay,et al.  Discrete Mathematical Structures with Applications to Computer Science , 1975 .

[21]  Calton Pu,et al.  Death, taxes, and imperfect software: surviving the inevitable , 1998, NSPW '98.

[22]  Calton Pu,et al.  Fast concurrent dynamic linking for an adaptive operating system , 1996, Proceedings of International Conference on Configurable Distributed Systems.

[23]  Jonathan Walpole,et al.  Adaptive load migration systems for PVM , 1994, Proceedings of Supercomputing '94.

[24]  Charles Consel,et al.  A general approach for run-time specialization and its application to C , 1996, POPL '96.

[25]  Calton Pu,et al.  SWiFT: a feedback control and dynamic reconfiguration toolkit , 1998 .

[26]  Olivier Danvy,et al.  Tutorial notes on partial evaluation , 1993, POPL '93.

[27]  Jacques Noyé,et al.  A Uniform Approach for Compile-Time and Run-Time Specialization , 1996, Dagstuhl Seminar on Partial Evaluation.