%0 Journal Article %J Parallel and Distributed Systems, IEEE Transactions on %D 2001 %T An adaptive algorithm for tolerating value faults and crash failures %A Ren,Yansong %A Michel Cukier %A Sanders,W. H. %K active replication communication %K adaptive algorithm %K adaptive fault tolerance %K adaptive majority voting algorithm %K AQuA architecture %K client-server systems %K CORBA %K crash failures %K data consistency %K data integrity %K Dependability %K distributed object management %K fault tolerant computing %K objects replication %K value faults %X 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'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 %B Parallel and Distributed Systems, IEEE Transactions on %V 12 %P 173 - 192 %8 2001/02// %@ 1045-9219 %G eng %N 2 %R 10.1109/71.910872