Concurrent execution of a computer software application along multiple decision paths
View Patent ↗Managing the execution of a computer software application by duplicating a primary instance of a computer software application during its execution in a primary execution context to create multiple duplicate instances of the computer software application in corresponding duplicate execution contexts, and effecting a selection of a different candidate subset of predefined elements for each of the duplicate instances.
1. A computer hardware system configured to manage execution of a computer software application, comprising:
a hardware processor configured to initiate the following operations:
identifying, during execution of a primary instance of the computer software application, the primary instance reaching an execution point that presents a plurality of predefined options to a user; wherein the computer software application is an installation program executing within a virtual machine, and each of the plurality of duplicate instances execute within respective cloned virtual machines;
generating, prior to selection by the user of one of the pre-defined options and based upon the execution point being reached, a plurality of duplicate instances of the primary instance;
assigning, respectively, execution paths corresponding to the plurality of predefined options to each of the plurality of duplicate instances;
executing, prior to the selection by the user of one of the predefined options, the plurality of duplicate instances along their respective execution paths;
gathering information associated with the execution of the each of the plurality of duplicate instances;
automatically eliminating, as a predefined option to be presented to the user, the predefined option corresponding to one of the plurality of duplicate instances that resulted in a failed operation;
presenting a recommendation, prior to the one predefined option being selected and based upon the gathered information, as to the plurality of predefined options;
determining that one of the plurality of pre-defined options has been selected;
terminating, based upon the one predefined option being selected, each of the duplicate instances not associated with the one predefined option; and
identifying, within one of the execution paths corresponding to the plurality of predefined options, a second execution point that presents a second plurality of predefined option to the user, and repeating the steps of generating, assigning, and executing for the second execution path.
2. The system of claim 1 , wherein the recommendation regards an installation option.
3. The system of claim 1 , wherein the primary instance is terminated upon each of the duplicate instances not associated with the one predefined option being terminated.
4. The system of claim 1 , wherein each of the duplicate instances not associated with the one predefined option are configured to self-terminate based upon the one predefined option being selected.
5. The system of claim 1 , wherein the duplicate instance associated with the one predefined option being selected is configured to terminate each of the duplicate instances not associated with the one predefined option.
6. A computer program product, comprising:
a computer-readable hardware storage device having computer-readable program code stored therein for managing execution of a computer software application, the computer-readable program code, which when executed by a computer hardware system, causes the computer hardware system to perform:
identifying, during execution of a primary instance of the computer software application, the primary instance reaching an execution point that presents a plurality of predefined options to a user; wherein the computer software application is an installation program executing within a virtual machine, and each of the plurality of duplicate instances execute within respective cloned virtual machines;
generating, prior to selection by the user of one of the pre-defined options and based upon the execution point being reached, a plurality of duplicate instances of the primary instance;
assigning, respectively, execution paths corresponding to the plurality of predefined options to each of the plurality of duplicate instances;
executing, prior to the selection by the user of one of the predefined options, the plurality of duplicate instances along their respective execution paths;
gathering information associated with the execution of the each of the plurality of duplicate instances;
automatically eliminating, as a predefined option to be presented to the user, the predefined option corresponding to one of the plurality of duplicate instances that resulted in a failed operation;
presenting a recommendation, prior to the one predefined option being selected and based upon the gathered information, as to the plurality of predefined options;
determining that one of the plurality of pre-defined options has been selected;
terminating, based upon the one predefined option being selected, each of the duplicate instances not associated with the one predefined option; and
identifying, within one of the execution paths corresponding to the plurality of predefined options, a second execution point that presents a second plurality of predefined option to the user, and repeating the steps of generating, assigning, and executing for the second execution path.
7. The computer program product of claim 6 , wherein the recommendation regards an installation option.
8. The computer program product of claim 6 , wherein the primary instance is terminated upon each of the duplicate instances not associated with the one predefined option being terminated.
9. The computer program product of claim 6 , wherein each of the duplicate instances not associated with the one predefined option are configured to self-terminate based upon the one predefined option being selected.
10. The computer program product of claim 6 , wherein the duplicate instance associated with the one predefined option being selected is configured to terminate each of the duplicate instances not associated with the one predefined option.