System and method for providing load balanced processing
First Claim
Patent Images
1. A method of providing load balanced processing of operations, comprising:
- receiving a sequence of operation requests from one or more clients;
providing load balanced processing of the sequence of operation requests and avoiding load imbalances among a set of servers, including processing each operation request of the sequence of operation requests in accordance with current workloads of the set of servers, the processing of a respective operation request from a respective client including;
determining a set of files the operation requires;
distributing the operation over a plurality of servers in accordance with the current workloads, including, for each file in a plurality of files, in the set of files, separately determining a current workload for each server having a copy of the file, and dispatching a request that identifies the operation and the file, to a server that has a copy of the file and minimum current workload;
receiving intermediate results from each dispatched request;
processing the intermediate results into a single result set; and
returning the single result set to the respective client.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for providing load balanced processing is described. One or more files selected from a set of files are logically duplicated. At least one file and at least one logically duplicated file, is stored at one of a plurality of servers as specified in a load balancing layout. Execution of each operation in an operation stream is scheduled on the server storing at least one staged file required by the operation.
38 Citations
14 Claims
-
1. A method of providing load balanced processing of operations, comprising:
-
receiving a sequence of operation requests from one or more clients; providing load balanced processing of the sequence of operation requests and avoiding load imbalances among a set of servers, including processing each operation request of the sequence of operation requests in accordance with current workloads of the set of servers, the processing of a respective operation request from a respective client including; determining a set of files the operation requires; distributing the operation over a plurality of servers in accordance with the current workloads, including, for each file in a plurality of files, in the set of files, separately determining a current workload for each server having a copy of the file, and dispatching a request that identifies the operation and the file, to a server that has a copy of the file and minimum current workload; receiving intermediate results from each dispatched request; processing the intermediate results into a single result set; and returning the single result set to the respective client. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer readable storage medium storing one or more computer programs to be executed by a computer so as to perform a process, the one or more computer programs comprising:
-
instructions to receive a sequence of operation requests from one or more clients; instructions to distribute the operation over a plurality of servers in accordance with the current workloads, including, instructions to provide load balanced processing of the sequence of operation requests and avoiding load imbalances among a set of servers, including instructions to process each operation request of the sequence of operation requests in accordance with current workloads of the set of servers, the instructions to process a respective operation request from a respective client including; instructions to determine a set of files the operation requires; instructions to separately determine, for each file in a plurality of files in the set of files, a current workload for each server having a copy of the file, and to dispatch a request that identifies the operation and the file, to a server that has a copy of the file and minimum current workload; instructions to receive intermediate results from each dispatched request; instructions to process the intermediate results into a single result set; and instructions to returning the single result set to the respective client. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification