R. Meersman, Z. Tari (Eds.): CoopIS/DOA/ODBASE 2004, LNCS 3291, pp. 1143–1154, 2004.
© Springer-Verlag Berlin Heidelberg 2004
CORBA Components Collocation Optimization
Enhanced with Local ORB-Like Services Support
Mohsen Sharifi, Adel Torkaman Rahmani, Vahid Rafe, and Hossein Momeni
Computer Engineering Department
Iran University of Science and Technology
{msharifi, rahmani, rafe, h_momeni}@iust.ac.ir
Abstract. Some current implementations of CORBA Component Model
(CCM) are flawed with unreasonable communication overheads when
components are in the same address space and in the same container.
Alternative approaches have introduced mechanisms for direct local
communication of such components. In these approaches collocated
components do not communicate through ORB and therefore cannot use
ORB services such as events, naming and transactions locally, unless they
are programmed explicitly. This paper presents a new approach for
communication of collocated components with local ORB-like services
support. A unit inside each container is responsible for handling
communication between components within or outside the container. Local
requests are passed to the local components without ORB involvement.
Local or remoteness of a request is determined from the IOR of the called
component which has been logged by the relevant special unit upon the
creation of the component in its container. Implementation results of our
approach show a considerable reduction of local communication overheads.
Keywords: CORBA Component Model (CCM), ORB Services, Container,
Collocation.
1 Introduction
Various technologies have since been presented for the implementation of distributed
systems and environments. One such technology presented by OMG group is CORBA
Component Model (CCM). CCM is a component model for building and deploying
CORBA applications.
CCM promotes the use of container servers, which host downloadable components
and manage system services implicitly. So component implementations can only
contain the application business logic. Moreover, the required system service
strategies are identified inside external descriptors. Thus, various system strategies
could be applied to the same component implementation. Thanks to CCM,
applications can now be viewed as a composition of packaged, deployable, and
distributed components.
However, some current implementations of CCM,like MicoCCM, are flawed with
unreasonable communication overheads when components are in the same address
space and also in the same container, i.e. are collocated. Eliminating these overheads
is very crucial and quite beneficial to some applications like real-time ones.