Distribution of operations to remote computers
First Claim
1. A method for distributing operations among a plurality of processing threads, comprising:
- receiving a plurality of operations for execution on a first thread using input data obtained from a database;
identifying one or more independent operations from among the plurality of received operations, such that the one or more independent operations are for execution using input data independent of the database;
providing at least one of the one or more independent operations to a second thread for execution; and
receiving results of the execution of the at least one independent operation from the second thread.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and tool are disclosed for distributing operations in a software application from a master computer to one or more slave computers for execution. Operations within the software application are identified that employ input data independent of other input data. The identified operations, which can be organized into groups of one or more operations, may then be distributed to a slave computer for execution. A group of operations may also include one or more heuristics, for determining when the group of operations should be executed on a slave computer. If a group of operations is distributed to a slave computer for execution, the master computer subsequently determines if the slave computer successfully executed those operations. If the slave computer successfully executed the group of operations, it returns the results to the master computer, which then employs the returned results to continue running the software application. If, however, the slave computer was unable to successfully execute the group of operations, then the master computer may execute the group of operations itself or provide the group of operations to another slave computer, allowing the master computer to continue running the software application without interruption.
-
Citations
42 Claims
-
1. A method for distributing operations among a plurality of processing threads, comprising:
-
receiving a plurality of operations for execution on a first thread using input data obtained from a database;
identifying one or more independent operations from among the plurality of received operations, such that the one or more independent operations are for execution using input data independent of the database;
providing at least one of the one or more independent operations to a second thread for execution; and
receiving results of the execution of the at least one independent operation from the second thread. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of distributing operations among a plurality of computers, comprising:
-
receiving a plurality of operations for execution on a first computer using input data obtained from a database;
identifying one or more independent operations from among the plurality of received operations, such that the one or more independent operations are for execution using input data independent of the database;
determining whether at least one of the one or more independent operations should be executed on a second computer remote from the first computer, and if it is determined that the at least one independent operation should be executed on the second computer, providing the at least one independent operation to the second computer for execution, and receiving results of the execution of the at least one independent operation from the second computer; and
if it is determined that the at least one independent operation should not be executed on a second computer, executing the at least one independent operation on the first computer. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A tool for distributing operations among a plurality of computers, comprising:
-
an identification module that;
parses through a plurality of operations for execution on a master computer using input data obtained from a database, and identifies one or more independent operations that use input data independent of the database from among the plurality of received operations;
a remote execution determination module that determines whether each identified independent operation should be executed on a slave computer or executed on the master computer; and
a remote computer interface module that;
transmits independent operations from the master computer to one or more slave computers for execution, and receives results of execution of the transmitted independent operations from the one or more slave computers. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A computer-readable medium having stored thereon a data structure, comprising:
-
a plurality of operations for execution on a host computer; and
an identifier identifying a group of the operations as operations that may alternately be executed on a slave computer. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42)
-
Specification