IP Library Granted Patent US 9,817,699
Granted Patent B2
US 9,817,699 · App. 14/206,333 · Granted Nov 14, 2017

Adaptive autoscaling for virtualized applications

Inventors: Slater Stich (Sunnyvale, CA); Alberto Arias Maestro (Mountain View, CA); Ravi Srivatsav (San Jose, CA)
Assignee: ElasticBox Inc.
G06F9/50G06F9/5005G06F9/505G06F9/5011G06F9/5016G06F9/5027G06F9/5061G06F9/5077G06F9/5083G06F2209/508
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,817,699
App. No.
14/206,333
Granted
Nov 14, 2017
Kind
B2
Abstract

Virtualized applications are autoscaled by receiving performance data in time-series format from a running virtualized application, computationally analyzing the performance data to determine a pattern therein, and extending the performance data to a time in the future based at least on the determined pattern. The extended performance data is analyzed to determine if resources allocated to the virtualized application are under-utilized or over-utilized, and a schedule for re-allocating resources to the virtualized application based at least in part on a result of the analysis of the extended performance data is created.

Claims (33)

1. A method for autoscaling virtualized applications, the method comprising:

electronically receiving performance data in time-series format from a running virtualized application, wherein the performance data is collected at a frequency that varies depending on a proximity of the running virtualized application to a resource limit;

computationally analyzing the performance data to determine a pattern therein;

storing the performance data in a computer database;

extending the performance data to a time in the future based at least on the determined pattern, wherein the time in the future to which the performance data is extended is based on an accuracy of a fit between the performance data and the pattern;

receiving information regarding events external to the virtualized application;

computationally analyzing the extended performance data over the amount of time, wherein computationally analyzing includes determining, based at least in part on the information regarding events external to the virtualized application, if resources allocated to the virtualized application are under-utilized or over-utilized, and adjusting at least part of the extended performance data at a future time associated with events external to the virtualized application, responsive to determining whether resources allocated to the virtualized application are under-utilized or over-utilized; and

creating a schedule for re-allocating resources to the virtualized application based at least in part on a result of the analysis of the extended performance data.

2. The method of claim 1 , further comprising analyzing previously collected performance data for the virtualized application or a similar virtualized application, wherein determining if resources allocated to the virtualized application are under-utilized or over-utilized is further based on the previously collected performance data.

3. The method of claim 2 , wherein the previously collected performance data comprises a point in time at which a resource re-allocation occurred, and wherein determining if resources allocated to the virtualized application are under-utilized or over-utilized is further based on an effect of the re-allocation.

4. The method of claim 2 , wherein the similar virtualized application shares a name, type, class or behavior pattern with the virtualized application.

5. The method of claim 1 , wherein the pattern comprises a fitted curve, line, or periodic function.

6. The method of claim 1 , wherein the time in the future comprises one hour, twelve hours, one day, or one month.

7. The method of claim 1 , wherein the external events comprise a time of day, week, month, or year, a software launch, or a marketing event.

8. The method of claim 1 , wherein the performance data is extended based on curve fitting, the amount of time in the future that the performance data is extended depending on an accuracy of the curve fitting.

9. The method of claim 8 , wherein the accuracy is determined using an error metric.

10. A system for autoscaling virtualized applications, the system comprising:

a computer processor configured for executing computer instructions for computationally executing the steps of:

i. receiving performance data in time-series format from a running virtualized application, wherein the performance data is collected at a frequency that varies depending on a proximity of the running virtualized application to a resource limit;

ii. analyzing the performance data to determine a pattern therein;

iii. extending the performance data to a time in the future based at least on the determined pattern, wherein the time in the future to which the performance data is extended is based on an accuracy of a fit between the performance data and the pattern;

iv. receiving information regarding events external to the virtualized application;

v. analyzing the extended performance data over the amount of time, wherein analyzing includes to determining, based at least in part on the information regarding events external to the virtualized application, if resources allocated to the virtualized application are underutilized or over-utilized, and adjusting at least part of the extended performance data at a future time associated with events external to the virtualized application responsive to determining whether resources allocated to the virtualized application are under-utilized or over-utilized; and

vi. creating a schedule for re-allocating resources to the virtualized application based at least in part on a result of the analysis of the extended performance data; and

a database for storing performance data related to the execution of the plurality of virtual machines.

11. The system of claim 10 , further comprising analyzing previously collected performance data for the virtualized application or a similar virtualized application, wherein determining if resources allocated to the virtualized application are underutilized or over-utilized is further based on the previously collected performance data.

12. The system of claim 11 , wherein the previously collected performance data comprises a point in time at which a resource re-allocation occurred, and wherein determining if resources allocated to the virtualized application are under-utilized or over-utilized is further based on an effect of the re-allocation.

13. The system of claim 11 , wherein the similar virtualized application shares a name, type, class or behavior pattern with the virtualized application.

14. The system of claim 10 , wherein the pattern comprises a fitted curve, line, or periodic function.

15. The system of claim 10 , wherein the time in the future comprises one hour, twelve hours, one day, or one month.

16. The system of claim 10 , wherein the external events comprise a time of day, week, month, or year, a software launch, or a marketing event.

17. The system of claim 10 , wherein the performance data is extended based on curve fitting, the amount of time in the future that the performance data is extended depending on an accuracy of the curve fitting.

18. The system of claim 17 , wherein the accuracy is determined using an error metric.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2014
From: STICH, SLATER; MAESTRO, ALBERTO ARIAS; SRIVATSAV, RAVI
To: ELASTICBOX INC.
Reel/Frame 033544/0500 →
Continuity (2)
Provisional Application 61780384 · Mar 13, 2013
Related Publication 20140282591A1 · Sep 18, 2014