The Future of MOCHA

Nick Roussopoulos
University of Maryland


MOCHA is a middleware architecture designed to interconnect a large number of distributed data sources. MOCHA automatically deploys and executes Java code either near the data sources or near the client in order to reduce data movement. By shipping code embedded in the query, MOCHA can generate efficient plans that execute powerful "data-reducing" operators (filters and aggregators) at the data sources and "data-inflating" ones (rendering) at the client. . In MOCHA, Java classes are stored in some fixed location code repositories from which MOCHA retrieves and deploys them on a "need basis." The automatic code deployment has the unique feature that "fresh code" is maintained in the repositories and requires no installation of new versions on client devices. It, thus, eliminates maintenance cost on multiple hardware platforms, OS, and software. The overall reduction on software maintenance cost will have a significant impact on small devises which are in abundance and remote hardware which are either difficult or impossible to maintain including, constellations of satellites and systems that due to their limited capacity, cannot be a-priori loaded with all the code functionality that will ever need. In this talk, we will also discuss the role of MOCHA in a P2P data acquisition, integration and service environment. Technical papers on MOCHA can be found in