CORBACoG Architecture & Implementation


Manish Parashar
TASSL,Rutgers University

Snigdha Verma
TASSL,Rutgers University

Viraj Bhat
TASSL,Rutgers University

Gregor von Laszewski
MCS,Argonne National Laboratory

Jarek Gawor
MCS,Argonne National Laboratory


Objective :
The objective of this work is to develop a CORBA CoG kit to provide application developers with access to Grid services using CORBA.

Background :
With the growth of Internet, there has been an emergence of various technologies in several domains to process and access information. One of the technologies gaining popularity is commodity computing where distributed computing technologies such as JAVA, JNI, CORBA and DCOM etc are emerging. In parallel the high performance computing community has developed advanced infrastructure called “Grids” which allow users to use the distributed high-end resources in problem solving environment. These two technologies have different goals, emphases and solutions and as such there should be a bridge connecting them, which is the focus of CoG project. The CoG project is developing appropriate interfaces between the Grid and commodity technologies. The initial focus was on Java CoG Kit, that will allow application developers to access Grid services such as resource management, security, resource discovery. We are focusing on developing a CORBA CoG kit, which will also provide the above Grid Services. CORBA has the following advantages, which makes it suitable for development of the CoG kit
  1. Programming Language independent interface: Interfaces between clients and servers are defined in OMG IDL, thus providing multi-language and multi-platform environment.
  2. Legacy Integration:Programmers can use existing applications and use them as objects in the ORB.
  3. Location Transparency.
  4. Network Transparency.
  5. Secure Communication: With the integration of SSL over the IIOP protocol, secure communication can be established between client and remote objects.
The advantages of using CORBA CoG kit are that the client applications can be written in any language and can access the Grid Services by remote instantiation of objects. It can also be integrated with other kind of services such as Discover, NetSolve etc.


A schematic view of the overall architecture is shown in Figure 1. The ORB in the middle tier provides access to CORBA objects that implements Grid Services such as MDS, GRAM GASS and GSI. MDS provides information about the structure and state of the grid resources and services using the LDAP Protocol. GRAM allows allocation of computational and other resources. GASS provides data access.These service objects interact with the appropriate Globus Services in the backend. This provides transparency to the client applications. The CORBA Naming Service which, maps object reference to names is used to enable clients to access the grid service broker objects. Sample grid service broker object definitions are described below:

Figure 1 – CORBA CoG Architecture.

MDS By executing the various methods in MDS IDL of a remote object the application developer can access the Metacomputing Directory Service. This remote server object is connected to the MDS server using JNDI libraries.The functions provided by the CORBA server object are
a)Connection to the MDS server – The client application needs to specify the DNS name of the MDS server, the port no for the connection and the distinguished name (DN) that specifies the root for the search in the directory tree.
b)Querying the contents of the MDS server – The search is performed by specifying the root of the directory tree in which the search should take place, LDAP query and the scope i.e. how many levels in the tree the search should be performed.
c)Disconnection from MDS server.

GRAM The client application will communicate with a remote CORBA server object, which will interact with the Globus Gatekeeper for managing remote computation. The client will also be allowed to submit jobs, bind to existing jobs and cancel jobs on remote computers. It will also be able to monitor the different status of a job as in pending, active, done and suspended. The client will initially authenticate to the remote server using the CORBA Security Services. Once the authentication is successful the client will be able to create a job with the RSL string describing the job and a remote contact specifying the machine on which the execution should take place. The server object will use the CORBA Event Service to provide callbacks to the client specifying the status of the executing job.

GASS The Global Access to Secondary Storage simplifies application that uses I/O by eliminating the need to ftp files or to install a distributed file system. The CORBA server object will provide a subset of functionalities such as copying files between computers.

GSI The Grid Security Infrastructure for enabling secure communications and authentication over an open network.GSI is based on public key encryption and the Secure Sockets Layer(SSL).

Implementation Overview

CORBACog ToolKit has been developed using JacORB and JAVA.

Integration with other CORBA Services

Our overall goal is to provide a framework to enable existing Grid Computing Environments and Service Provides to interoperate. Our current effort is concentrating on enabling applications to combine services provided by Globus, with the collaborative monitoring, interaction, and steering capabilities provided by DISCOVER ( example a scientific simulation application can use CORBA CoG Kit to discover the available resources on the network, use the GRAM Service provided by CoG to run his simulation on the desired high end resource, and use DISCOVER web-portals to collaboratively monitor, interact with, and steering the application.

Source Code

The source code for accessing the CORBACoG kit is available for download. This code is in its beta version and will be updated regularly. For any questions or queries please send an email to snigdha[at]caip[dot]rutgers[dot]edu/virajb[at]caip[dot]rutgers[dot]edu


The online documentation is also available for the CORBACoG Kit


A Power Point presentation presented to the TASSL lab members about the work that I am doing and the current status.


  1. S. Verma, M. Parashar, J. Gawor, and G.von. Laszewski, "A CORBA Community Grid Kit," accepted for publication in the 2nd International Workshop on Grid Computing to be held on November 12, 2001, in Denver, Colorado. (PDF)
  2. G. von Laszewski, M. Parashar, S. Verma, J. Gawor, K. Keahey, and N. Rehn, "Design and Implementation of a CORBA Commodity Grid Kit", submitted for publication to Concurrency and Computation: Practice and Experience, July 2001.(PDF)
  3. M. Parashar, "CORBA Commodity Grid Toolkit", presented at the 1st Global Grid Forum, Amsterdam, Netherlands, March 2001.(PDF)