×

Predictive governing of dynamic modification of program execution capacity

  • US 8,346,921 B1
  • Filed: 11/19/2010
  • Issued: 01/01/2013
  • Est. Priority Date: 11/19/2010
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for automatically governing dynamic modification of program execution capacity, the method comprising:

  • receiving information from a first user of a program execution service that specifies an initial quantity of computing nodes to provide program execution capacity for use in executing an indicated software program for the first user and that specifies one or more capacity modification triggers for use in later initiating automated modifications to the program execution capacity during the executing of the indicated software program, wherein each of the capacity modification triggers includes one or more criteria for use in determining if the capacity modification trigger is satisfied and includes a specified computing node quantity change, wherein the receiving of the information is performed by one or more computing systems that are configured to provide the program execution service, and wherein the program execution service has a plurality of computing nodes that are configurable to execute programs of the users of the program execution service;

    automatically generating predictions of future execution capacity that will be used for the executing of the indicated software program for the first user, wherein the automatic generating of the predictions of the future execution capacity includes obtaining historical time-series data indicating prior quantities of computing nodes used to provide program execution capacity at multiple times during multiple prior executions of the indicated software program and includes generating predicted time-series data for multiple future times based on the obtained historical time-series data, and wherein the generating of the predicted time-series data for the multiple future times is performed by the one or more configured computing systems and includes determining for each of the multiple future times a range of authorized computing node quantities for that future time that has a lower bound of the range and an upper bound of the range;

    after the automatic generating of the predictions of the future execution capacity, automatically determining a group of multiple of the plurality of computing nodes for use in executing the indicated software program for the first user, wherein the multiple computing nodes of the group are of the initial quantity specified by the first user, and automatically providing the multiple computing nodes of the group at a first time for use in providing the program execution capacity for the executing of the indicated software program by the first user; and

    automatically managing the computing nodes of the group during the executing of the indicated software program at each of one or more of the multiple future times, wherein the automatic managing is performed by the one or more configured computing systems and includes;

    automatically determining that one of the specified capacity modification triggers is currently satisfied at the future time;

    automatically determining a new quantity of computing nodes of the group that would result if the specified computing node quantity change for the one satisfied specified capacity modification trigger is performed;

    automatically determining if the new quantity of computing nodes is authorized based on being within the determined range of authorized computing node quantities for the future time from the generated predicted time-series data;

    if it is automatically determined that the new quantity of computing nodes is authorized, automatically providing the new quantity of the computing nodes in the group for the first user at the future time by performing the specified computing node quantity change for the one satisfied specified capacity modification trigger; and

    if it is not automatically determined that the new quantity of computing nodes is authorized, automatically selecting an altered quantity of computing nodes that is within the range of authorized computing node quantities for the future time, and automatically providing the altered quantity of the computing nodes in the group for the first user at the future time.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×