The implementation and analysis of OCI-based group communication support in CORBA

Dongman Lee, Dukyun Nam, Hee Yong Youn, Chansu Yu
Proceedings 2001 Pacific Rim International Symposium on Dependable Computing  
Object replication is a technique to enhance fault tolerance and high availability. Group communication is a useful mechanism guaranteeing the consistency among replicated objects. We propose a generic group communication framework that allows transparent plug-in of various group communication protocols with no modification of existing CORBA. For this, we extend the Open Communications Interface (OCI) to support interoperability, reusability of existing group communication, and independency on
more » ... RB and OS. The proposed scheme is composed of group membership component, group IOR component, and group multicast component. Experiment results show that group object invocations using the proposed scheme produce almost constant latency regardless of the number of members while the latency of multiple object invocations using IIOP constantly increases. object group needs to be maintained for constructing reliable and fault-tolerant distributed applications [14] . Group communication service (GCS) is a useful mechanism guaranteeing the consistency of the states of all the member objects. It maintains a view, a list of the currently active and connected members in an object group, and also informs the running objects of the updated view whenever it changes. The consistency can be guaranteed by reliable delivery of messages to the members in the current view. CORBA provides many attractive features like portability and interoperability that allow distributed objects to transparently interact with each other in heterogeneous and distributed environment. As such, a single group communication protocol would not satisfy all the needs of CORBA group applications. There have been several approaches for supporting group communication service in CORBA [2, 8, 10, 12, 13 ]. However, the approaches do not support transparent plug-in of group communication protocols into CORBA, and thus CORBA application programmers cannot directly exploit the protocols. Therefore, there must be a generic group communication framework that allows transparent plug-in of various group communication protocols via a standard CORBA interface. We propose a mechanism that allows such framework with no modification of existing CORBA. The proposed mechanism leverages the OCI (Open Communications Interface) [6] with Group Communication Inter-ORB Protocol (GCIOP) as a group communication instantiation of General Inter-ORB Protocol (GIOP) and assigns the CORBA object to each process member in the group communication protocol. Group name, ordering type, and state as attributes are added to the Info Object, and the interfaces of the OCI were extended to support group semantics. We implement the proposed scheme on top of our group communication protocol using an ORB supporting OCI. Experiment results show that group object invocation using the proposed scheme has almost fixed latency regardless of the number of members while the latency of multiple object invocations using IIOP constantly increases. The reminder of the paper is structured as follows. Section 2 discusses the existing approaches for group communication in CORBA. Section 3 explains internal procedures and implementation of each 3 component in the proposed scheme. And Section 4 analyses the performance of the extended OCI. Conclusion follows in Section 5. Related Work Group communication services for CORBA can be categorized into three approaches such as integration approach, service approach, and interception approach [3, 13] . Examples are Electra [8], Object Group Service [2, 3], Eternal [10], and respectively. Electra integrates group communication service with CORBA by extending Basic Object Adapter (BOA). The implementation and performance of the system are efficient since there is no intermediate object between ORB and group communication system. However, this approach needs to modify ORB for creating group reference and supporting group communication. Object Group Service (OGS) [2] provides a new CORBA Object Service for group communication. This approach is independent of ORB and guarantees portability with CORBA Object Service. However, it cannot utilize existing group communication systems and has potential drawback on the performance. Eternal [10] and Eternal interceptor [14] capture and transmit Internet Inter-ORB Protocol (IIOP) messages to the replication manager, which maps the messages onto the group communication system. This approach need not modify ORB as in the case of using interceptor. However, it is dependent on the OS since interceptor is implemented in the system call level. Open Communications Interface (OCI) [6] provides plug-in protocol interfaces for CORBA. It implements the Acceptor/Connector module [18] in ORB. The module distinguishes connection establishment from service initialization occurring in the communication of a client/server model. The interfaces are Buffer, Acceptor, Transport, Connector, Connector Factory, Registries, and Info objects [15]. A Buffer holds data in an array of octets and maintains a position counter, which are used in communications between client and server. Info objects provide information on Acceptor, Transport, Connector, and Connector Factory. Figure 1 shows how OCI incorporates a given transport protocol with
doi:10.1109/prdc.2001.992709 dblp:conf/prdc/LeeNYY01 fatcat:qn5fdxrzfncsvai5hvjio67pbu