A service-oriented framework allows client applications to services hosted
on a distributed computing access computational grid. Services facilitate
remote, parallel execution of code in a way that is scalable,
fault-tolerant, dynamic and language-independent. Services can be written
in a variety of languages, and do not need to be compiled or linked with
vendor-supplied code. A client written in one language can invoke a
Service written in another. A benefit of the invention over traditional
approaches is that it virtualizes the Service. Rather than send a request
directly to the remote machine hosting the Service, a client request is
sent to a manager, which enqueues until an Engine is available. The first
Engine to dequeue the request hosts the Service. This mechanism, in which
a single virtual Service instance (the client-side object) is implemented
by one or more physical instances (Engine processes), provides for fault
tolerance and essentially unlimited scalability.