IP Library › Granted Patent US 9,811,371
Granted Patent B2
US 9,811,371 · App. 13/537,764 · Granted Nov 7, 2017

Concurrent execution of a computer software application along multiple decision paths

Inventors: Gili Nachum (Rehovot, IL); Vladimir Gamaley (Rehovot, IL); Gil Perzy (Rehovot, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/46G06F9/4843G06F8/60G06F8/61
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,811,371
App. No.
13/537,764
Granted
Nov 7, 2017
Kind
B2
Abstract

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.

Claims (32)

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2012
From: NACHUM, GILI; GAMALEY, VLADIMIR; PERZY, GIL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028470/0169 →
Continuity (1)
Related Publication 20140007103A1 · Jan 2, 2014