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.