Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method comprising: obtaining a plurality of different parameter values for a first computation, each parameter value being a different candidate value for transitioning all worker processes in a pool of worker processes from having a first state to having a different second state, wherein the worker processes in the pool of worker processes are installed on a plurality of different respective computing devices, wherein each worker process in the pool of worker processes has a state that is the same as the state of all other worker processes in the pool of worker processes; providing each worker process having the first state a different respective parameter value that is different from parameter values provided to all other worker processes having the first state, wherein each worker process having the first state performs the first computation including applying the respective parameter value to generate a respective first result for the first computation according to the respective parameter value, and wherein the first computation is a non-state-altering computation; receiving respective first results of the first computation from one or more worker processes of the pool of worker processes that performed the first computation; receiving user input from a user selecting, as a selected parameter value, a parameter value of the plurality of parameter values based on the respective first results of the first computation; and providing each worker process in the pool of worker processes having the first state the selected parameter value, wherein each worker process receiving the selected parameter value performs a second computation including applying the selected parameter value to modify the state of the worker process from having the first state to having the second state corresponding to the selected parameter value, and wherein the second computation is a state-altering computation.
2. The method of claim 1 , wherein the respective state of a worker process is defined by a set of data to be used as input for a particular computation.
3. The method of claim 2 , wherein input to the second computation and output of the second computation are the same for each of the worker processes in the pool of worker processes.
4. The method of claim 1 , wherein two or more worker processes of the pool of worker processes perform the first computation simultaneously.
5. The method of claim 1 , further comprising: determining that a first worker process did not successfully modify a state of the first worker process from the first state to the second state; and in response to the determining, removing the first worker process from the pool of worker processes.
6. The method of claim 1 , further comprising: storing the respective state of a first worker process that has a respective state that is the second state; initializing a new worker process; updating the respective state of the new worker process to the second state, including causing the new worker process to read the stored state of the first worker process; and adding the new worker process to the pool of worker processes.
7. The method of claim 1 , further comprising: reading the first state from storage; and updating the respective state of each worker process in the pool of worker processes to the first state using the first state read from storage.
8. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: obtaining a plurality of different parameter values for a first computation, each parameter value being a different candidate value for transitioning all worker processes in a pool of worker processes from having a first state to having a different second state, wherein the worker processes in the in a pool of worker processes are installed on a plurality of different respective computing devices, wherein each worker process in the pool of worker processes has a state that is the same as the state of all other worker processes in the pool of worker processes; providing each worker process having the first state a different respective parameter value that is different from parameter values provided to all other worker processes having the first state, wherein each worker process having the first state performs the first computation including applying the respective parameter value to generate a respective first result for the first computation according to the respective parameter value, and wherein the first computation is a non-state-altering computation; receiving respective first results of the first computation from one or more worker processes of the pool of worker processes that performed the first computation; receiving user input from a user selecting, as a selected parameter value, a parameter value of the plurality of parameter values based on the respective first results of the first computation; and providing each worker process in the pool of worker processes having the first state the selected parameter value, wherein each worker process receiving the selected parameter value performs a second computation including applying the selected parameter value to modify the state of the worker process from having the first state to having the second state corresponding to the selected parameter value, and wherein the second computation is a state-altering computation.
9. The system of claim 8 , wherein the respective state of a worker process is defined by a set of data to be used as input for a particular computation.
10. The system of claim 9 , wherein input to the second computation and output of the second computation are the same for each of the worker processes in the pool of worker processes.
11. The system of claim 8 , wherein two or more worker processes of the pool of worker processes perform the first computation simultaneously.
12. The system of claim 8 , wherein the operations further comprise: determining that a first worker process did not successfully modify a state of the first worker process from the first state to the second state; and in response to the determining, removing the first worker process from the pool of worker processes.
13. The system of claim 8 , wherein the operations further comprise: storing the respective state of a first worker process that has a respective state that is the second state; initializing a new worker process; updating the respective state of the new worker process to the second state, including causing the new worker process to read the stored state of the first worker process; and adding the new worker process to the pool of worker processes.
14. The system of claim 8 , wherein the operations further comprise: reading the first state from storage; and updating the respective state of each worker process in the pool of worker processes to the first state using the first state read from storage.
15. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising: obtaining a plurality of different parameter values for a first computation, each parameter value being a different candidate value for transitioning all working processes in a pool of worker processes from having a first state to having a different second state, wherein the worker processes in the pool of worker processes are installed on a plurality of different respective computing devices, wherein each worker process in the pool of worker processes has a state that is the same as the state of all other worker processes in the pool of worker processes; providing each worker process having the first state a different respective parameter value that is different from parameter values provided to all other worker processes having the first state, wherein each worker process having the first state performs the first computation including applying the respective parameter value to generate a respective first result for the first computation according to the respective parameter value, and wherein the first computation is a non-state-altering computation; receiving respective first results of the first computation from one or more worker processes of the pool of worker processes that performed the first computation; receiving user input from a user selecting, as a selected parameter value, a parameter value of the plurality of parameter values based on the respective first results of the first computation; and providing each worker process in the pool of worker processes having the first state the selected parameter value, wherein each worker process receiving the selected parameter value performs a second computation including applying the selected parameter value to modify the state of the worker process from having the first state to having the second state corresponding to the selected parameter value, and wherein the second computation is a state-altering computation.
16. The computer-readable medium of claim 15 , wherein the operations further comprise: determining that a first worker process did not successfully modify a state of the first worker process from the first state to the second state; and in response to the determining, removing the first worker process from the pool of worker processes.
17. The computer-readable medium of claim 15 , wherein the operations further comprise: storing the respective state of a first worker process that has a respective state that is the second state; initializing a new worker process; updating the respective state of the new worker process to the second state, including causing the new worker process to read the stored state of the first worker process; and adding the new worker process to the pool of worker processes.
Unknown
October 6, 2015
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.