Predicting long-term computing resource usage
First Claim
1. A computer-implemented method comprising:
- receiving, by one or more configured computing systems, historical data about prior execution of one or more indicated software programs during a prior interval of time including a plurality of months;
analyzing, by the one or more configured computing systems, the historical data to determine multiple day-of-week average program execution capacities used during the prior interval time and to determine multiple month-of-year average program execution capacities used during the prior interval time;
identifying, by the one or more configured computing systems, a future event that is expected to occur during a future interval of time including a plurality of months and that is expected to influence program execution capacity that will be used by the indicated software programs during a subset of the future interval of time, the identifying being based at least in part on information distinct form the received historical data;
generating, by the one or more configured computing systems, predictions of future program execution capacity that will be used for execution of the indicated software programs during multiple individual future days of the future interval of time, the generating of the predictions including determining the predicted future program execution capacity for individual future days based in part on one of the multiple determined day-of-week average program execution capacities and based in part on one of the multiple determined month-of-year average program execution capacities, the generating of the predictions further including adjusting the determined predicted future program execution capacity for at least one of the multiple individual future days to reflect the influence of the identified future event; and
initiating, by the one or more configured computing systems, use of the generated predictions to control program execution capacity that is available for the execution of the indicated software programs during the at least one future day.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for performing automated predictions of program execution capacity or other capacity of computing-related hardware resources that will be used to execute software programs in the future, such as for a group of computing nodes that execute one or more programs for a user. The predictions that are performed may in at least some situations be based on historical data regarding corresponding prior actual usage of execution-related capacity (e.g., for one or more prior years), and may include long-term predictions for particular future time periods that are multiple months or years into the future. In addition, the predictions of the execution-related capacity for particular future time periods may be used in various manners, including to manage execution-related capacity at or before those future time periods, such as to prepare sufficient execution-related capacity to be available at those future time periods.
108 Citations
25 Claims
-
1. A computer-implemented method comprising:
-
receiving, by one or more configured computing systems, historical data about prior execution of one or more indicated software programs during a prior interval of time including a plurality of months; analyzing, by the one or more configured computing systems, the historical data to determine multiple day-of-week average program execution capacities used during the prior interval time and to determine multiple month-of-year average program execution capacities used during the prior interval time; identifying, by the one or more configured computing systems, a future event that is expected to occur during a future interval of time including a plurality of months and that is expected to influence program execution capacity that will be used by the indicated software programs during a subset of the future interval of time, the identifying being based at least in part on information distinct form the received historical data; generating, by the one or more configured computing systems, predictions of future program execution capacity that will be used for execution of the indicated software programs during multiple individual future days of the future interval of time, the generating of the predictions including determining the predicted future program execution capacity for individual future days based in part on one of the multiple determined day-of-week average program execution capacities and based in part on one of the multiple determined month-of-year average program execution capacities, the generating of the predictions further including adjusting the determined predicted future program execution capacity for at least one of the multiple individual future days to reflect the influence of the identified future event; and initiating, by the one or more configured computing systems, use of the generated predictions to control program execution capacity that is available for the execution of the indicated software programs during the at least one future day. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer-readable medium whose contents configure a computing system to perform a method, the method comprising:
-
analyzing historical data about prior execution of one or more programs during a prior time interval to determine multiple average execution capacities used during the prior time interval that are specific to one of multiple time period categories, at least one of the multiple time period categories including multiple of a plurality of distinct prior time periods during the prior time interval; identifying a future event that is expected to occur during a future time interval, the identifying of the future event being based at least in part on information distinct from the analyzed historical data; generating, for at least one of multiple future time periods, a prediction of future execution capacity that will be used for execution of the one or more programs during that future time period, the multiple future time periods being distinct time periods during the future time interval, the generating of the prediction including determining the predicted future execution capacity for that future time period based in part on at least one of the multiple determined average execution capacities that are specific to one or more of the multiple time period categories to which that future time period corresponds; for the at least one of the multiple future time periods, adjusting the predicted future execution capacity based at least in part on the identifying of the future event; and initiating use of the generated prediction for the at least one future time period to affect execution capacity that is available for the execution of the one or more programs during the at least one future time period. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A system, comprising:
-
one or more processors; and one or more modules that are configured to, when executed by at least one of the one or more processors; receive historical data that represents an amount of prior execution capacity for one or more programs for each of a plurality of distinct prior days during a prior interval of time; automatically analyze the historical data to determine multiple average execution capacities for the prior interval time, each of the multiple determined average execution capacities being specific to one of multiple categories that each includes multiple of the plurality of distinct prior days; identify a future event that is expected to occur during a future interval of time and that is expected to influence execution capacity that will be used by the one or more programs during at least a subset of the future interval of time; at a first time, automatically generate for each of multiple future days a prediction of future execution capacity that will be used for execution of the one or more programs during that future day, the multiple future days being distinct days during the future interval of time and being after the first time, the automatic generating of the prediction for each of the multiple future days including determining the predicted future execution capacity for that future day based in part on at least one of the multiple determined average execution capacities that are specific to one or more of the multiple categories to which that future day corresponds, the determining of the predicted future execution capacity for each of at least one of the multiple future days including adjusting that predicted future execution capacity for that future day to reflect the influence of the identified future event based on that future day being part of the at least subset of the future interval of time; and initiate use of the generated predictions of the future execution capacities for the multiple future day to affect execution capacity that is available for the execution of the one or more programs during those multiple future days. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
Specification