@article {18661,
	title = {AQuA: an adaptive architecture that provides dependable distributed objects},
	journal = {Computers, IEEE Transactions on},
	volume = {52},
	year = {2003},
	month = {2003/01//},
	pages = {31 - 50},
	abstract = {Building dependable distributed systems from commercial off-the-shelf components is of growing practical importance. For both cost and production reasons, there is interest in approaches and architectures that facilitate building such systems. The AQuA architecture is one such approach; its goal is to provide adaptive fault tolerance to CORBA applications by replicating objects. The AQuA architecture allows application programmers to request desired levels of dependability during applications{\textquoteright} runtimes. It provides fault tolerance mechanisms to ensure that a CORBA client can always obtain reliable services, even if the CORBA server object that provides the desired services suffers from crash failures and value faults. AQuA includes a replicated dependability manager that provides dependability management by configuring the system in response to applications{\textquoteright} requests and changes in system resources due to faults. It uses Maestro/Ensemble to provide group communication services. It contains a gateway to intercept standard CORBA IIOP messages to allow any standard CORBA application to use AQuA. It provides different types of replication schemes to forward messages reliably to the remote replicated objects. All of the replication schemes ensure strong, data consistency among replicas. This paper describes the AQuA architecture and presents, in detail, the active replication pass-first scheme. In addition, the interface to the dependability manager and the design of the dependability manager replication are also described. Finally, we describe performance measurements that were conducted for the active replication pass-first scheme, and we present results from our study of fault detection, recovery, and blocking times.},
	keywords = {active replication pass-first scheme, adaptive architecture, adaptive fault tolerance, AQuA, CORBA, data consistency, data integrity, dependable distributed objects, distributed object management, performance measurements, quality of service, replicated dependability manager, replication schemes, software fault tolerance, system resources},
	isbn = {0018-9340},
	doi = {10.1109/TC.2003.1159752},
	author = {Ren,Yansong and Bakken,D. E. and Courtney,T. and Michel Cukier and Karr,D. A. and Rubel,P. and Sabnis,C. and Sanders,W. H. and Schantz,R.E. and Seri,M.}
}
@article {18650,
	title = {An adaptive algorithm for tolerating value faults and crash failures},
	journal = {Parallel and Distributed Systems, IEEE Transactions on},
	volume = {12},
	year = {2001},
	month = {2001/02//},
	pages = {173 - 192},
	abstract = {The AQuA architecture provides adaptive fault tolerance to CORBA applications by replicating objects and providing a high-level method that an application can use to specify its desired level of dependability. This paper presents the algorithms that AQUA uses, when an application{\textquoteright}s dependability requirements can change at runtime, to tolerate both value faults in applications and crash failures simultaneously. In particular, we provide an active replication communication scheme that maintains data consistency among replicas, detects crash failures, collates the messages generated by replicated objects, and delivers the result of each vote. We also present an adaptive majority voting algorithm that enables the correct ongoing vote while both the number of replicas and the majority size dynamically change. Together, these two algorithms form the basis of the mechanism for tolerating and recovering from value faults and crash failures in AQuA},
	keywords = {active replication communication, adaptive algorithm, adaptive fault tolerance, adaptive majority voting algorithm, AQuA architecture, client-server systems, CORBA, crash failures, data consistency, data integrity, Dependability, distributed object management, fault tolerant computing, objects replication, value faults},
	isbn = {1045-9219},
	doi = {10.1109/71.910872},
	author = {Ren,Yansong and Michel Cukier and Sanders,W. H.}
}
@conference {18689,
	title = {Proteus: a flexible infrastructure to implement adaptive fault tolerance in AQuA},
	year = {1999},
	month = {1999/11//},
	pages = {149 - 168},
	abstract = {Building dependable distributed systems from commercial off-the-shelf components is of growing practical importance. For both cost and production reasons, there is interest in approaches and architectures that facilitate building such systems. The AQuA architecture is one such approach; its goal is to provide adaptive fault tolerance to CORBA applications by replicating objects, providing a high-level method for applications to specify their desired dependability, and providing a dependability manager that attempts to reconfigure a system at runtime so that dependability requests are satisfied. This paper describes how dependability is provided in AQuA. In particular it describes Proteus, the part of AQuA that dynamically manages replicated distributed objects to make them dependable. Given a dependability request, Proteus chooses a fault tolerance approach and reconfigures the system to try to meet the request. The infrastructure of Proteus is described in this paper, along with its use in implementing active replication and a simple dependability policy},
	keywords = {adaptive fault tolerance, AQuA, commercial off-the-shelf components, CORBA applications, cost, dependable distributed systems, distributed object management, object replication, proteus, reconfigurable architectures, Runtime, Software architecture, software fault tolerance},
	doi = {10.1109/DCFTS.1999.814294},
	author = {Sabnis,C. and Michel Cukier and Ren,J. and Rubel,P. and Sanders,W. H. and Bakken,D. E. and Karr,D.}
}
