Virtual Private Computing

Typical middleware systems for distributed programming focus on the issue of transparent remote communication. Applications that are realized with help of these systems tend to a classical client/server architecture. A more or less simple client application contacts central servers that hold the data or host the computation.

The possibilities of a network environment, e.g., to bundle idle resources to a huge, omnipresent computer can not be exploited by client/server like structures. To do that, applications have to be partitioned into more independent parts, which are then distributed onto this virtual machine. A middleware system that supports this paradigm must assist the developer, the user and the system administrator in identifying distributable parts, distribute the computation, download necessary code, etc.

Our VPC (Virtual Private Computing) architecture is an extension to existing middleware systems like CORBA. It consists of a programming model to describe the composition process of applications. The real composition, i.e., the instantiation of components, their distribution and their binding is done at runtime by the services that make up the runtime environment for a VPC application. By using an abstract description for components as well as their properties and requirements, the system is able to search for implementations in a global software market and maximize component reuse.

See also: VPC Project Homepage