Overview

Components
     Client API
     QPC
     DAP
     Data Server

Plug-And-Play

Catalog

Benefits

Home

Automatic Code Deployment (Plug-And-Play)

In MOCHA, deploying code containing application-specific components (i.e. types or query operators) is done by shipping the compiled Java classes that implement these components. To simplify this discussion, we shall assume that each type or operator is entirely implemented in one Java class. In general, however,  a type might contain several other types, and its implementation might span several classes. The same holds true for query operators.

When a system administrator needs to incorporate a new or updated data type or query operator into the system, he/she has to perform the following tasks:

  1. Store the Java class into the code repository associated with the QPC.

  2. Register the new type or query operator by adding metadata entries into the catalog.

  3. Announce the availability of the new functionality to the user community.

The process of automatic code deployment starts when the QPC receives a query request from the client. Once the QPC has determined the execution plan for the query, it inspect the plan and generates a list with the data types and operators needed to processes the query. QPC then searches the catalog metadata (already fetched during query parsing) to map each type or operator to the Java class that implements it. Each Java class is then retrieved from the code repository by the code loader module in the QPC and prepared for distribution. The QPC connects to each of the DAPs running at the targeted data sites, and sends to each one the piece of the plan they must execute. This plan is encoded using XML, and it specifies the operators to be performed and the information about the Java classes that are required. Afterwards, the QPC starts the code deployment phase, in which it first ships the classes for the data types to the client and the DAPs, and then sends the classes for the operators to the DAPs. Figure 7 illustrates how the QPC ships the Java class (shown in red) for a given type or operator. As we can see from the figure, this process resembles the Plug-And-Play features of many hardware devices. We call these Plug-And-Play Java classes  MOCHLETS.

Figure 6: Plug-And-Play Code Deployment

Once the code deployment process has been completed, the QPC signals all DAPs to materialize their execution plan and start processing results. All results are gathered by QPC and send back to the client for visualization purposes. Notice that the code deployment phase occurs on-line and with no human involvement, as an automatic process carried out completely by the QPC using the metadata in the catalog and the structure of the query plan. Thus, the capabilities of each element in MOCHA can be extended at run time in a dynamic fashion.

 

PREVIOUS          NEXT

 

© 2000 University of Maryland. All rights reserved.


Last update was on June 14, 2000
manuel@cs.umd.edu

Web Accessibility