IP Library Granted Patent US 9,842,039
Granted Patent B2
US 9,842,039 · App. 14/307,759 · Granted Dec 12, 2017

Predictive load scaling for services

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,842,039
App. No.
14/307,759
Granted
Dec 12, 2017
Kind
B2
Abstract

Embodiments are directed to determining an optimal number of concurrently running cloud resource instances and to providing an interactive interface that shows projected operational metric measurements. In one scenario, a computer system accesses metric information which identifies operational metric measurements, and further accesses a second portion of metric information that identifies operational metric measurements for the cloud resource instances over a second period of time. The computer system then calculates projected operational metric measurements based on the identified operational metric measurements over the first period of time (e.g. for reactive tuning) and further based on the identified operational metric measurements over the second period of time (e.g. for predictive tuning). The computer system then determines, based on the projected operational metric measurements, a number of cloud resource instances that are to be concurrently running at a specified future point in time.

Claims (38)

1. At a computer system including at least one processor and a memory, a computer-implemented method for determining an optimal number of concurrently running cloud resource instances, the method comprising:

an act of accessing a first portion of metric information that identifies first operational metric measurements for one or more cloud resource instances over a first period of time prior to a present time, wherein the first period of time is a contiguous time period;

an act of accessing a second portion of metric information that identifies second operational metric measurements for the one or more cloud resource instances over at least a second period of time, the second period of time comprising one or more discrete periods of time that occurred in the past, the second period of time also corresponding to one or more specified future periods of time;

an act of calculating one or more projected operational metric measurements based on the identified operational metric measurements over the first period of time and further based on the identified operational metric measurements over the second period of time; and

an act of determining, based on the one or more projected operational metric measurements, a number of cloud resource instances that are to be concurrently running at the one or more specified future periods of time; and

based on at least the one or more projected operational metric measurements, an act of scaling the concurrently running cloud resource instances during at least one of the one or more specified future points in time.

2. The method of claim 1 , wherein the identified operational metric measurements over the first period of time are prioritized over the identified operational metric measurements of the second period of time when calculating the one or more projected operational metric measurements.

3. The method of claim 1 , wherein the second period of time is specified by a user and comprises at least one of a day, a week, a month or a year.

4. The method of claim 3 , wherein older operational metric measurements are weighted progressively less than newer operational metric measurements.

5. The method of claim 1 , wherein the projected operational metric measurements based on the identified operational metric measurements over the first period of time comprise reactive measurements while the projected operational metric measurements based on the identified operational metric measurements over the second period of time comprise predictive measurements.

6. The method of claim 1 , wherein determining a number of virtual machine instances that are to be concurrently running triggers an auto-scaling action if the number of concurrently running virtual machine instances is more or less than the determined number.

7. The method of claim 6 , wherein the auto-scaling action comprises adding at least one virtual machine instance.

8. The method of claim 6 , wherein the auto-scaling action comprises removing at least one virtual machine instance.

9. The method of claim 8 , wherein virtual machine instances are removed upon determining that the removal would not trigger other auto-scaling actions.

10. The method of claim 6 , wherein auto-scaling actions are prevented from removing virtual machine instances to prioritize health over resource savings.

11. The method of claim 6 , wherein the auto-scaling action comprises increasing or decreasing the size of at least one currently running virtual machine instance.

12. A computer program product for implementing a method for providing an interactive interface that shows projected operational metric measurements, the computer program product comprising one or more computer-readable hardware storage media having stored thereon computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform the method, the method comprising:

accessing a first portion of metric measurement data that identifies first operational metric measurements for one or more cloud resource instances over a first time period prior to a present time, wherein the first time period is a single, contiguous time period;

accessing a second portion of metric information that identifies second operational metric measurements for the one or more cloud resource instances over at least a second period of time, the second period of time comprising one or more discrete periods of time that occurred in the past, the second period of time also corresponding to one or more specified future periods of time;

calculating one or more projected operational metric measurements based on both the accessed operational metric measurements over the first time period and the second time period;

determining, based on the one or more projected operational metric measurements, a number of cloud resource instances that are to be concurrently running at the one or more specified future periods of time; and

providing an interactive interface that displays the determined number of cloud resource instances that are to be concurrently running at the one or more specified periods of time, the interactive interface further allowing input that changes operational metric settings and dynamically updates the number of concurrently running cloud resource instances.

13. The computer program product of claim 12 , wherein the interactive interface show historical operational metric measurement data for a time period and an indication of the number of virtual machine instances that would have been concurrently running had auto-scaling been applied during the time period.

14. The computer program product of claim 13 , wherein the interactive interface further shows a cost savings for the time period had auto-scaling been applied during that time period.

15. The computer program product of claim 12 , wherein the interactive interface provides an indication that an auto-scaling action has been triggered based on the determined number of virtual machine instances that are to be concurrently running.

16. The computer program product of claim 15 , wherein the interactive interface provides an option to choose which virtual machine instances are removed during an auto-scaling action.

17. The computer program product of claim 16 , wherein the interactive interface provides an option to select a new size for those virtual machine instances that are to be changed during an auto-scaling action.

18. A computer system comprising the following:

one or more processors;

system memory;

one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by the one or more processors, cause the computing system to perform a method for determining an optimal number of concurrently running virtual machine instances, the method comprising the following:

accessing a first portion of metric information that identifies first operational metric measurements for one or more virtual machine instances over a first period of time prior to a present time, wherein the first period of time is a contiguous time period;

accessing a second portion of metric information that identifies second operational metric measurements for the one or more virtual machine instances over at least a second period of time, the second period of time comprising a plurality of discrete periods of time that occurred in the past, the second period of time also corresponding to one or more specified future periods of time;

calculating one or more projected operational metric measurements based on the identified operational metric measurements over the first period of time and further based on the identified operational metric measurements over the second period of time; and

determining, based on the one or more projected operational metric measurements, a number of virtual machine instances that are to be concurrently running at the one or more specified future periods of time;

based on at least the one or more projected operational metric measurements, an act of scaling the concurrently running cloud resource instances during at least one of the one or more specified future periods of time.

19. The computer system of claim 18 , wherein determining a number of virtual machine instances that are to be concurrently running triggers an auto-scaling action if the number of concurrently running virtual machine instances is more or less than the determined number.

20. The computer system of claim 18 , wherein the auto-scaling action is automatically performed upon determining that a second, different auto-scaling action would not be triggered.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2014
From: SICILIANO, STEPHEN; LAMANNA, CHARLES; GREBNOV, ILYA
To: MICROSOFT CORPORATION
Reel/Frame 033127/0227 →