R. Meersman and Z. Tari et al. (Eds.): OTM 2007, Part I, LNCS 4803, pp. 505–521, 2007.
© Springer-Verlag Berlin Heidelberg 2007
A Survey of Fault Tolerant CORBA Systems
Muhammad Fahad
1
, Aamer Nadeem
1
, and Michael R. Lyu
2
1
Department of Computer Science
Mohammad Ali Jinnah University, Islamabad, Pakistan
mhd.fahad@gmail.com, aamern@acm.org
2
Department of Computer Science and Engineering
Chinese University of Hong Kong, Hong Kong S.A.R., China
lyu@cse.cuhk.edu.hk
Abstract. CORBA is an OMG standard for distributed object computing; but
despite being a standard and wide scale acceptance in the industry it lacks the
ability to meet high demands of quality of service (QoS) required for building a
reliable fault tolerant distributed system. To tackle these issues, in 2001, OMG
incorporated fault tolerance mechanisms, QoS policies and services in its
standard interfaces as mentioned in its Fault Tolerant CORBA (FT-CORBA)
specification. FT-CORBA Architecture used the notion of object replication to
provide reliable and fault tolerant services. In this paper, we surveyed the dif-
ferent approaches for building FT-CORBA based distributed systems with their
merits and limitations. We gave an overview of FT-CORBA specification; its
requirements and limitations, and FT-CORBA Architecture. We have also re-
vised the existing categorization of FT-CORBA systems by incorporating a
fourth approach, i.e., Reflective Approach, in the categorization taxonomy. A
comparison between different types of replication and FT-CORBA based
systems is conducted to achieve quick insight on their features.
Keywords: CORBA Middleware, Object Replication Styles, Fault Tolerant
CORBA Specification, Fault Tolerant CORBA systems.
1 Introduction
Distributed systems are used in a variety of application domains in which services are
provided by independent components working together as a single transparent system.
In distributed systems, CORBA is accepted as a standard because of its inherent loca-
tion transparency, portability, interoperability and language independence [1]. With
these features, CORBA was made a standard for distributed object computing by the
Object Management Group (OMG) [2]. In CORBA, Interface Definition Language
(IDL) defines interfaces to objects. Clients have to implement IDL interfaces to ac-
cess server functionality and this makes CORBA language independent. By location
transparency, clients can invoke server objects without worrying about the location of
the server objects. Portability makes CORBA independent of specific ORB and the
system can be implemented and used on top of any CORBA-compliant ORB. This is
achieved by the Portable Object Adaptor (POA), a component of CORBA, which is
responsible for making server-side functionality appear as CORBA object to clients.