Despite the widespread availability of distributed systems and the extensive work on distributed programming and execution environments, only a small number of applications take advantage of such systems. A major obstacle is the application development barrier: each such system or environment requires applications to adhere to a different API ultimately limiting acceptance. Even if one manages to write the application using the new API, obtaining predictable performance is a challenge given the dynamic nature of distributed environments.

The Computing Communities project articulates a novel method of middleware development, which does not suffer from the excruciating problem of having to redesign, re-code, or even recompile applications. All binaries of all existing applications that run on a standard operating system run on the new, distributed platform. This distributed platform realizes a "computing community" (CC for short), which is a single, dynamically changing, virtual multiprocessor system, physically built by coalescing many independent computing and information resources. The CC can be configured to provide a custom environment for application execution across all of its resources, supporting a variety of features such as transparent distribution, global scheduling, fault tolerance, and application adaptation to changes in resource availability. These features are embodied in a middleware layer that is transparently inserted between the application and the base operating system using API interception techniques. The name CC comes from the similarity between such a system and a real community, where diverse people coexist in a cooperative environment.

Computing Communities is a collaborative project involving researchers at New York University and Arizona State University.


The Computing Communities project is supported by the Defense Advanced Research Projects Agency and Rome Laboratory, Air Force Materiel Command, USAF, under agreement number F30602-99-1-0157; by the National Science Foundation under grant numbers CCR-9411590 and CCR-9988176; and by Microsoft.