Special issue: High availability in CORBA

1
Editorial Special Issue: High Availability in CORBA The Common Object Request Broker Architecture (CORBA), specified by the Object Management Group (OMG), is a middleware specification of basic mecha- nisms for remote object invocation through an Object Request Broker (ORB). CORBA also specifies a set of services for object management, including a Persistence Service an Event Service,a Transaction Service, etc. Nev- ertheless, and even if there are several OMG processes under way to standardize high availability features in CORBA 3.0, neither the current ORB nor the existing CORBA services specify tools for building highly avail- able applications. This can be considered a major lim- itation for many of today’s application domains such as process control, telecommunications, and electronic stock exchange. In these areas, programmers must pro- vide, besides CORBA facilities, specific features for high availability. The group paradigm was shown to be very powerful in supporting high availability through replica- tion. Replicas of the same object are gathered inside a group which provides the abstraction of a fault-tolerant entity. Group communication primitives such as atomic broadcast and state transfer ensure the mutual consis- tency of the replicas. Several applications have suc- cessfully experimented with the support of replication through group communication. Adding group facilities to a CORBA environment is not straightforward espe- cially if the objective is to preserve a sufficient level of CORBA compatibility. In fact, at least three differ- ent approaches have been used to extend CORBA with group facilities. Namely, an integrative approach where the group abstraction is integrated inside a dedicated ORB; an interception approach where the group abstrac- tion is provided below standard ORB communications; and a service approach where the group abstraction is provided as a CORBA service, on top of an ORB. This special issue gathers three papers, each presenting one of the approaches in extending CORBA with group facili- ties, as well as a fourth paper describing the experience of building a large scale group-based application with CORBA. The first paper, entitled “The Maestro Approach to Building Reliable Interoperable Distributed Applications with Multiple Execution Styles,” was written by Alexey Vaysburd and Ken Birman from Cornell University. The paper presents a toolkit, named Maestro, which pro- vides object group invocation primitives, besides clas- c 1998 John Wiley & Sons, Inc. sical point-to-point remote communications currently implemented by ORB vendors. Maestro follows the in- tegrative approach by mixing CORBA standard invoca- tions with group communications. It is a distributed ob- ject layer built over the Ensemble group communication system, a successor of the Isis and Horus group-based tools developed at Cornell. The second paper, entitled “Consistent Object Repli- cation in the Eternal System,” was written by Louise Moser, Patrick Melliar-Smith, and Priya Narasimhan from the University of California at Santa Barbara. The paper presents the Eternal object system, which exploits the Internet Inter-ORB Protocol (IIOP) to intercept stan- dard object invocations in commercial ORBs, and trans- form these invocations into object group multicasts using the TOTEM group-based system, also developed at the University of California at Santa Barbara. The third paper, entitled “The Implementation of a CORBA Object Group Service,” was written by Pascal Felber, Rachid Guerraoui, and Andr´ e Schiper from the Ecole Polytechnique F´ ed´ erale de Lausanne. The paper presents a way to extend CORBA with group facili- ties, through a first-class Object Group Service which enriches the list of existing CORBA services. Group fa- cilities are implemented as a library of CORBA objects, and can be used on top of any commercial ORB. The fourth paper, entitled “Experience with Dis- tributed Replicated Objects: The Nile Project,” was writ- ten by Aleta Ricciardi, Michael Ogg, and Fabio Previato from the University of Texas at Austin. The paper de- scribes the experience of the authors in building NILE: a job processing environment. NILE is implemented with Electra, the first Object Request Broker providing ob- ject group communication (Electra was designed and implemented by Silvano Maffeis at the University of Zurich). NILE is intended to provide transparent access to hundreds of heterogeneous commodity processors in the context of a high energy physics experiment, and the authors point out several lessons from using Electra for large-scale object replication. Gul Agha Rachid Guerraoui Guest Editors THEORY AND PRACTICE OF OBJECT SYSTEMS, Vol. 4(2), 71 1998 CCC 1074-3227/98/020071-01

Transcript of Special issue: High availability in CORBA

Editorial

Special Issue: High Availability in CORBA

The Common Object Request Broker Architecture(CORBA), specified by the Object Management Group(OMG), is a middleware specification of basic mecha-nisms for remote object invocation through an ObjectRequest Broker (ORB). CORBA also specifies a set ofservices for object management, including a PersistenceService an Event Service, a Transaction Service, etc. Nev-ertheless, and even if there are several OMG processesunder way to standardize high availability features inCORBA 3.0, neither the current ORB nor the existingCORBA services specify tools for building highly avail-able applications. This can be considered a major lim-itation for many of today’s application domains suchas process control, telecommunications, and electronicstock exchange. In these areas, programmers must pro-vide, besides CORBA facilities, specific features for highavailability. The group paradigm was shown to be verypowerful in supporting high availability through replica-tion. Replicas of the same object are gathered inside agroup which provides the abstraction of a fault-tolerantentity. Group communication primitives such as atomicbroadcast and state transfer ensure the mutual consis-tency of the replicas. Several applications have suc-cessfully experimented with the support of replicationthrough group communication. Adding group facilitiesto a CORBA environment is not straightforward espe-cially if the objective is to preserve a sufficient levelof CORBA compatibility. In fact, at least three differ-ent approaches have been used to extend CORBA withgroup facilities. Namely, an integrative approach wherethe group abstraction is integrated inside a dedicatedORB; an interception approach where the group abstrac-tion is provided below standard ORB communications;and a service approach where the group abstraction isprovided as a CORBA service, on top of an ORB. Thisspecial issue gathers three papers, each presenting one ofthe approaches in extending CORBA with group facili-ties, as well as a fourth paper describing the experienceof building a large scale group-based application withCORBA.

The first paper, entitled “The Maestro Approach toBuilding Reliable Interoperable Distributed Applicationswith Multiple Execution Styles,” was written by AlexeyVaysburd and Ken Birman from Cornell University. Thepaper presents a toolkit, named Maestro, which pro-vides object group invocation primitives, besides clas-

c© 1998 John Wiley & Sons, Inc.

sical point-to-point remote communications currentlyimplemented by ORB vendors. Maestro follows the in-tegrative approach by mixing CORBA standard invoca-tions with group communications. It is a distributed ob-ject layer built over the Ensemble group communicationsystem, a successor of the Isis and Horus group-basedtools developed at Cornell.

The second paper, entitled “Consistent Object Repli-cation in the Eternal System,” was written by LouiseMoser, Patrick Melliar-Smith, and Priya Narasimhanfrom the University of California at Santa Barbara. Thepaper presents the Eternal object system, which exploitsthe Internet Inter-ORB Protocol (IIOP) to intercept stan-dard object invocations in commercial ORBs, and trans-form these invocations into object group multicasts usingthe TOTEM group-based system, also developed at theUniversity of California at Santa Barbara.

The third paper, entitled “The Implementation of aCORBA Object Group Service,” was written by PascalFelber, Rachid Guerraoui, and Andre Schiper from theEcole Polytechnique Federale de Lausanne. The paperpresents a way to extend CORBA with group facili-ties, through a first-class Object Group Service whichenriches the list of existing CORBA services. Group fa-cilities are implemented as a library of CORBA objects,and can be used on top of any commercial ORB.

The fourth paper, entitled “Experience with Dis-tributed Replicated Objects: The Nile Project,” was writ-ten by Aleta Ricciardi, Michael Ogg, and Fabio Previatofrom the University of Texas at Austin. The paper de-scribes the experience of the authors in building NILE: ajob processing environment. NILE is implemented withElectra, the first Object Request Broker providing ob-ject group communication (Electra was designed andimplemented by Silvano Maffeis at the University ofZurich). NILE is intended to provide transparent accessto hundreds of heterogeneous commodity processors inthe context of a high energy physics experiment, and theauthors point out several lessons from using Electra forlarge-scale object replication.

Gul Agha

Rachid Guerraoui

Guest Editors

THEORY AND PRACTICE OF OBJECT SYSTEMS, Vol. 4(2), 71 1998 CCC 1074-3227/98/020071-01