A communication architecture for performing work in a distributed computing environment
involves client processes on client nodes sending work requests to a director.
The director examines the work requests to determine one or more resources required
to perform the work as well as one or more server nodes that can provide the required
resources. The director then forwards the work requests to server processes on
the server nodes that can provide the required resources. The work requests provided
to the server processes specify that the work results are to be provided directly
from the server processes to the client processes that made the work requests.
The director maintains a table of resource data that specifies the services and/or
resources that are provided by and/or made available on the server nodes in the
distributed computing environment.