Systems and methods for executing a computer program that executes multiple processes in a multi-processor environment
First Claim
1. A method of executing a computer program that performs multiple processes, comprising:
- before executing the computer program, identifying a plurality of the processes that are capable of being executed in parallel on separate processors and generating computer code that identifies the plurality of processes;
upon executing the computer program on a client computer, accessing metadata to determine if a computer grid having multiple nodes is available to execute the identified plurality of processes, wherein the client computer is not part of the computer grid;
if the computer grid is available, then using the computer code to cause the identified plurality of processes to be executed on the computer grid, the computer code enabling the computer program to execute the identified plurality of processes in parallel on the multiple nodes of the computer grid;
if the computer grid is not available, then determining if a multi-processor computer is available to execute the identified plurality of processes, and if so, then executing the identified plurality of processes in parallel using the multi-processor computer, wherein the multi-processor computer is not part of the computer grid;
wherein the identified plurality of processes are executed sequentially on the client computer if neither the computer grid nor the multi-processor computer are available.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided for executing a computer program that performs multiple processes in a multi-processor environment. A client computer may be used to execute a process manager software application for generating computer instructions that identify a plurality of the processes that may be run in parallel on separate processors. A metadata server may be used to store metadata that identifies whether the multi-processor environment is available to execute the plurality of processes. The computer program may be stored on a computer-readable medium and may be configured to execute on the client computer, and when executed by the client computer may cause the client computer to query the metadata server to determine if the multi-processor environment is available to execute the plurality of processes. The computer program may be further configured to use the computer instructions to cause the plurality of processes to be executed in the multi-processor environment. The computer instructions may enable the computer program to execute the plurality of processes in parallel.
12 Citations
17 Claims
-
1. A method of executing a computer program that performs multiple processes, comprising:
-
before executing the computer program, identifying a plurality of the processes that are capable of being executed in parallel on separate processors and generating computer code that identifies the plurality of processes; upon executing the computer program on a client computer, accessing metadata to determine if a computer grid having multiple nodes is available to execute the identified plurality of processes, wherein the client computer is not part of the computer grid; if the computer grid is available, then using the computer code to cause the identified plurality of processes to be executed on the computer grid, the computer code enabling the computer program to execute the identified plurality of processes in parallel on the multiple nodes of the computer grid; if the computer grid is not available, then determining if a multi-processor computer is available to execute the identified plurality of processes, and if so, then executing the identified plurality of processes in parallel using the multi-processor computer, wherein the multi-processor computer is not part of the computer grid; wherein the identified plurality of processes are executed sequentially on the client computer if neither the computer grid nor the multi-processor computer are available. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for executing a computer program that performs multiple processes, comprising:
-
a client computer that executes a process manager software application for generating computer instructions that identify a plurality of the processes that may be run in parallel on separate nodes of a computer grid, wherein the client computer is not part of the computer grid; and a metadata server for storing metadata that identifies whether the computer grid is available to execute the plurality of processes; the computer program being stored on a computer-readable medium and being configured to execute on the client computer, and when executed by the client computer causing the client computer to query the metadata server to determine if the computer grid is available to execute the plurality of processes; if the computer grid is available to execute the plurality of processes, the computer program being configured to use the computer instructions to cause the plurality of processes to be executed on the computer grid, the computer instructions enabling the computer program to execute the plurality of processes in parallel on the separate nodes of the computer grid; wherein the computer program is configured to cause the client computer to determine if a multi-processor computer not part of the computer grid is available to execute the plurality of processes if the computer grid is not available, and wherein the computer program is further configured to cause the multi-processor computer to execute the plurality of processes in parallel if the computer grid is not available, wherein the client computer executes the plurality of processes sequentially if neither the computer grid nor the multi-processor computer are available. - View Dependent Claims (15, 16, 17)
-
Specification