High Availability Support in CORBA Environments

Distributed systems are a good basis to support highly available applications. In a distributed system there are multiple nodes which have independent behavior when failures arise, i.e., the failure of one node does not mean the failure of the others. So, if some support is given by the underlying system, applications can be made highly available decomposing them in components, and placing replicas of those components into independent nodes. This paper describes Hidra, a CORBA-based architecture, where object oriented distributed applications can increase their availability placing a number of object replicas in different domains or different nodes. The system provides failure detection and failure recovery mechanisms to maintain the applications' state consistent.