Communication architecture for distributed computing environment
First Claim
1. A method for processing data on a distributed computing system that includes a plurality of nodes, the method comprising:
- maintaining mapping data that specifies work that can be performed by the plurality of nodes;
in response to receiving, from a first process on a first node from the plurality of nodes, a first work request to perform first work, determining based upon the first work and the mapping data, that a first portion of the first work is to be performed on a second node from the plurality of nodes and that a second portion of the first work is to be performed on a third node from the plurality of nodes;
providing a second work request to a second process on the second node, wherein the second work request specifies that the first portion of the first work is to be performed and that results of performing the first portion of the first work are to be provided directly to the first process; and
providing a third work request to a third process on the third node, wherein the third work request specifies that the second portion of the first work is to be performed and that results of performing the second portion of the work are to be provided directly to the first process.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
22 Claims
-
1. A method for processing data on a distributed computing system that includes a plurality of nodes, the method comprising:
-
maintaining mapping data that specifies work that can be performed by the plurality of nodes;
in response to receiving, from a first process on a first node from the plurality of nodes, a first work request to perform first work, determining based upon the first work and the mapping data, that a first portion of the first work is to be performed on a second node from the plurality of nodes and that a second portion of the first work is to be performed on a third node from the plurality of nodes;
providing a second work request to a second process on the second node, wherein the second work request specifies that the first portion of the first work is to be performed and that results of performing the first portion of the first work are to be provided directly to the first process; and
providing a third work request to a third process on the third node, wherein the third work request specifies that the second portion of the first work is to be performed and that results of performing the second portion of the work are to be provided directly to the first process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A distributed computing system for performing work, the distributed computing system comprising:
-
a plurality of nodes; and
a director communicatively coupled to the plurality of nodes, the director being configured to maintain mapping data that specifies work that can be performed by the plurality of nodes, in response to receipt, from a first process on a first node from the plurality of nodes, of a first work request to perform first work, derermine based upon the first work and the mapping data, that a first portion of the first work is to be performed on a second node from the plurality of nodes and that a second portion of the first work is to be performed on a third node from the plurality of nodes and provide a second work request to a second process on the second node, wherein the second request specifies that the first portion of the first work is to be performed and that results of performing the first portion of the first work are to be provided directly to the first process; and
provide a third work request to a third process on the third node, wherein the third work request specifies that the second portion of the first work is to be performed and that results of performing the second portion of the first work are to be provided derectly to the first process. - View Dependent Claims (10, 11)
-
-
12. A computer-readable medium carrying instructions for processing data on a distributed computing system that includes a plurality of nodes, wherein processing of the instructions by one or more processors, cause:
-
maintaining mapping data that specifies work that can be performed by the plurality of nodes;
in response to receiving, from a first process on a first node from the plurality of nodes, a first work request to perform first work, determining based upon the first work and the mapping data, that a first portion of the first work is to be performed on a second node from the plurality of nodes and that a second portion of the first work is to be performed on a third node from the plurality of nodes;
providing a second work request to a second process on the second node, wherein the second work request specifies that the first portion of the first work is to be performed and that results of performing the first portion of the first work are to be provided directly to the first process;
providing a third work request to a third process on the third node, wherein the third work request specifies that the second portion of the first work is to be performed and that results of performing the second portion of the first work are to be provided directly from the third node to the first process. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for processing data on a distributed computing system that includes a plurality of nodes, the method comprising:
-
maintaining mapping data that specifies work that can be performed by the plurality of nodes; and
in response to receiving a first work request to perform first work from a first process on a first node from the plurality of nodes, determining based upon the first work and the mapping data, that the first work is to be performed on a second node from the plurality of nodes, generating an updated first work request that specifies that the first process is to directly receive results of performing the first work, and providing the updated first work request to a second process on the second node.
-
-
21. An apparatus for processing data on a distributed computing system, the apparatus comprising a memory carrying instructions which, when executed by one or more processors, cause:
-
maintaining mapping data that specifies work that can be performed by the plurality of nodes; and
in response to receiving a first work request to perform first work from a first process on a first node from the plurality of nodes, determining based upon the first work and the mapping data, that the first work is to be performed on a second node from the plurality of nodes, generating an updated first work request that specifies that the first process is to directly receive results of performing the first work, and providing the updated first work request to a second process on the second node.
-
-
22. A computer-readable medium for processing data on a distributed computing system, the computer readable medium carrying instructions which, when executed by one or more processors, cause:
-
maintaining mapping data that specifies work that can be performed by the plurality of nodes; and
in response to receiving a first work request to perform first work from a first process on a first node from the plurality of nodes, determining based upon the first work and the mapping data, that the first work is to be performed on a second node from the plurality of nodes, generating an updated first work request that specifies that the first process is to directly receive results of performing the first work, and providing the updated first work request to a second process on the second node.
-
Specification