The 3G Bridge (Generic Grid Grid Bridge) is designed to be used as a mediator between different types of Grid middleware. Its main goal is to realize a standard gateway between the various grid systems. It has three main parts:
Regarding point 1) the web service interface offers the most important job manipulation functionalities like submission, state query, result query, cancel, etc. For 2) the 3G Bridge stores the job description in a relational database and the queue manager is responsible to invoke the different grid handlers to perform activities on a particular job. In 3) a grid plugin is responsible to communicate with the backend grid system like BOINC, XtremWeb, etc. The incoming jobs are organized into queues and each queue must have a grid plugin handling the jobs of the particular queue. For example, a BOINC plugin will take jobs from a certain job queue and insert them as workunits into the BOINC database.
The architecture of the 3G Bridge is shown on the figure. The task of 3G Bridge is to transfer jobs/workunits received from the source grid (client) to the target grid. 3G Bridge consists of a Job Database, Queue Manager, GridHandler interface and target grid Plugins. To work as an independent service it is extended with a WSSubmitter Web Service interface through which the client can submit jobs and can check the status of job execution.
3G Bridge also contains an HTTPD and a Download Manager component to support the transfer of input/output files between the client and the bridge.
The heart of the 3G Bridge is the Job Database. This database is used as a generic storage of jobs that should be run using some kind of grid plugin. It contains MySQL tables describing the job properties, input and output files.
Through the WSSubmitter interface the client can place jobs into the Job Database and can query their status. The Job Database is implemented via MySQL and as such it handles SQL queries, inserts and updates. Besides the task of placing generic descriptions into the Job Database its other task is to provide job status information from the database. In order to write the client side in a remote system we also provide a simple Web Service client, called as WSClient.
The Queue Manager (QM) periodically reads jobs from the Job Database and transmits them to the Grid Handler Interface. It uses information in the Job Database to handle jobs by the Grid Handler Interface and by the grid plugins. Periodically instructs grid plugins to submit new jobs, and to update the status of already submitted jobs. The Queue Manager creates several queues for the jobs stored in the Job Database, where jobs that should run using a given grid plugin belong to the same queue.
The Grid Handler Interface enables to connect various target grids via their Plugin. The Grid Handler Interface provides a generic set of interface functions as follows:
In order to connect a target grid into 3G Bridge a grid-specific Plugin should be written for the target grid by implementing this set of interface functions. Notice that the grid Plugin is also responsible for querying the status of job/WU execution in the target grid and retrieving the output of submitted jobs/WUs.
Installation instructions for the 3G Bridge software can be found in the 3G Bridge manual