System and method for adaptive configuration of software based on current and historical data
First Claim
1. A computer-implemented method of adaptive software execution, comprising:
- steps to improve performance of a computer system that executes a plurality of software tasks by;
receiving, by one or more hardware processors, first data that reflect a first status of a first execution of a software task from the plurality of software tasks;
determining, by the one or more hardware processors based on the first data, a first set of configurations for the first execution of the software task, the first set of configurations including a first configuration associated with a first weight and a second configuration associated with a second weight;
wherein the first weight and the second weight reflect, respectively, a status of a prior execution of the software task with the first configuration and the second configuration, and wherein the first set of configurations are ranked based on the first weight and the second weight;
determining a sequence of executions of the software task with the first configuration and the second configuration based on the first weight and the second weight;
performing, by the one or more hardware processors, the first execution of the software task with the first configuration according to the sequence;
receiving, by the one or more hardware processors, second data that reflect a second status of the first execution of the software task with the first configuration;
determining, by the one or more hardware processors based on the second data, whether to perform a second execution of the software task with the second configuration according to the sequence; and
updating the first weight based on the second data.
1 Assignment
0 Petitions
Accused Products
Abstract
This disclosure relates to systems and methods for adaptive configuration of software based on current and historical data. In one embodiment, a method is disclosed, which comprises receiving first data that reflects a first status of an execution of a software task. The method further comprises determining, based on the first data, a first set of configurations to be provided for the execution of the software task, wherein each configuration of the first set of configurations is associated with a weight that reflects a statistic measurement of a prior status of an execution of the software task when the configuration is provided, and wherein the first set of configurations are ranked based on the weights. The method also comprises providing, based on the ranking, at least one of the first set of configurations for the execution of the software task.
6 Citations
21 Claims
-
1. A computer-implemented method of adaptive software execution, comprising:
-
steps to improve performance of a computer system that executes a plurality of software tasks by; receiving, by one or more hardware processors, first data that reflect a first status of a first execution of a software task from the plurality of software tasks; determining, by the one or more hardware processors based on the first data, a first set of configurations for the first execution of the software task, the first set of configurations including a first configuration associated with a first weight and a second configuration associated with a second weight;
wherein the first weight and the second weight reflect, respectively, a status of a prior execution of the software task with the first configuration and the second configuration, and wherein the first set of configurations are ranked based on the first weight and the second weight;determining a sequence of executions of the software task with the first configuration and the second configuration based on the first weight and the second weight; performing, by the one or more hardware processors, the first execution of the software task with the first configuration according to the sequence; receiving, by the one or more hardware processors, second data that reflect a second status of the first execution of the software task with the first configuration; determining, by the one or more hardware processors based on the second data, whether to perform a second execution of the software task with the second configuration according to the sequence; and updating the first weight based on the second data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system of adaptive software execution, comprising:
-
one or more hardware processors; and one or more memory units storing instructions executable by the one or more hardware processors to perform a set of steps to improve performance of a computer system that executes a plurality of software tasks by; receiving, by one or more hardware processors, first data that reflect a first status of a first execution of a software task from the plurality of software tasks; determining, by the one or more hardware processors based on the first data, a first set of configurations for the first execution of the software task, the first set of configurations including a first configuration associated with a first weight and a second configuration associated with a second weight;
wherein the first weight and the second weight reflect, respectively, a status of a prior execution of the software task with the first configuration and the second configuration, and wherein the first set of configurations are ranked based on the first weight and the second weight;determining a sequence of executions of the software task with the first configuration and the second configuration based on the first weight and the second weight; performing, by the one or more hardware processors, the first execution of the software task with the first configuration according to the sequence; receiving, by the one or more hardware processors, second data that reflect a second status of the first execution of the software task with the first configuration; determining, by the one or more hardware processors based on the second data, whether to perform a second execution of the software task with the second configuration according to the sequence; and updating the first weight based on the second data. - View Dependent Claims (9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21)
-
-
15. A non-transitory computer-readable medium storing computer-executable instructions to implement a method of adaptive software execution, the method comprising:
-
steps to improve performance of a computer system that executes a plurality of software tasks by; receiving, by one or more hardware processors, first data that reflect a first status of a first execution of a software task from the plurality of software tasks; determining, by the one or more hardware processors based on the first data, a first set of configurations for the first execution of the software task, the first set of configurations including a first configuration associated with a first weight and a second configuration associated with a second weight;
wherein the first weight and the second weight reflect, respectively, a status of a prior execution of the software task with the first configuration and the second configuration, and wherein the first set of configurations are ranked based on the first weight and the second weight;determining a sequence of executions of the software task with the first configuration and the second configuration based on the first weight and the second weight; performing, by the one or more hardware processors, the first execution of the software task with the first configuration according to the sequence; receiving, by the one or more hardware processors, second data that reflect a second status of the first execution of the software task with the first configuration; determining, by the one or more hardware processors based on the second data, whether to perform a second execution of the software task with the second configuration according to the sequence; and updating the first weight based on the second data.
-
Specification