1 AN OVERVIEW OF THE AQUA GATEWAY 1 Mouna Seri, Tod Courtney, Michel Cukier, and William H. Sanders Center for Reliable and High-Performance Computing Coordinated Science Laboratory and Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign Urbana, Illinois 61801 {seri, tod, cukier, whs}@crhc.uiuc.edu 1. INTRODUCTION The goal of the AQuA architecture is to provide adaptive fault tolerance to distributed applications by using commercial off-the-shelf hardware and operating systems. The AQuA architecture allows application programmers to request desired levels of dependability during applications’ runtimes. It also provides adaptive fault tolerance. In distributed systems, resources change dynamically, and different types of faults can occur anywhere and anytime. AQuA is designed to provide dependability for CORBA applications. It provides fault-tolerance mechanisms to ensure that a CORBA client can obtain reliable services, even if the CORBA server object that provides the desired services suffers from crash failures and value faults. 2. THE AQUA ARCHITECTURE Figure 1 shows the different components of the AQuA architecture in one particular configuration. ORB Gateway IIOP Object QuO ORB Gateway IIOP Object QuO Object Factory ORB Gateway IIOP Dependability Manager ORB Gateway IIOP Maestro/Ensemble Group Communication System ORB Gateway IIOP Object QuO ORB Gateway IIOP Object QuO ORB Gateway IIOP Object QuO ORB Gateway IIOP Object QuO Object Factory ORB Gateway IIOP Object Factory ORB Gateway IIOP Dependability Manager ORB Gateway IIOP Dependability Manager ORB Gateway IIOP Maestro/Ensemble Group Communication System Maestro/Ensemble Group Communication System Figure 1. AQuA Architecture 1 This research has been supported by DARPA contract F30602-98-C-0187.