IP Library Granted Patent US 10,346,203
Granted Patent B2
US 10,346,203 · App. 15/807,130 · Granted Jul 9, 2019

Adaptive autoscaling for virtualized applications

Inventors: Slater Stich (Stanford, CA); Alberto Arias Maestro (Bellevue, WA); 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 10,346,203
App. No.
15/807,130
Filed
Nov 8, 2017
Granted
Jul 9, 2019
Kind
B2
Art Unit
2196
USPC
718/104
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 (36)

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

electronically receiving performance data in time-series format from a running virtualized application;

computationally analyzing the performance data to determine a pattern therein;

extending the performance data to a period in the future based at least on the determined pattern;

storing the extended performance data in a computer database;

computationally determining whether resources allocated to the virtualized application are under-utilized or over-utilized, based at least in part on events at a future time during the period in the future, the events being external to the virtualized application;

adjusting at least part of the extended performance data during at least a portion of the period in the future, based at least in part on whether resources allocated to the virtualized application are under-utilized or over-utilized during at least one of the events at the future time; 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 , further comprising receiving information regarding the events external to the virtualized application.

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

9. The method of claim 1 , wherein the performance data is extended based at least in part on an accuracy of a fit between the performance data and the pattern.

10. The method of claim 1 , wherein the performance data is collected on a frequency based at least in part on a proximity of the running virtualized application to a resource limit.

11. A computer system for autoscaling virtualized applications, the computer system comprising:

a processor; and

a non-transitory computer readable medium having encoded thereon instructions executable by the processor to cause the computer system to:

electronically receive performance data in time-series format from a running virtualized application;

computationally analyze the performance data to determine a pattern therein;

extend the performance data to a period in the future based at least on the determined pattern;

store the extended performance data in a computer database;

computationally determine whether resources allocated to the virtualized application are under-utilized or over-utilized, based at least in part on events at a future time during the period in the future, the events being external to the virtualized application;

adjust at least part of the extended performance data during at least a portion of the period in the future, based at least in part on whether resources allocated to the virtualized application are under-utilized or over-utilized during at least one of the events at the future time; and

create 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.

12. The system of claim 11 , wherein the instructions further cause the computer system to analyze 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.

13. The system of claim 12 , 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 an effect of the re-allocation.

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

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

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

17. The system of claim 11 , wherein the instructions further cause the computer system to receive information regarding the events external to the virtualized application.

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

19. The system, of claim 11 , wherein the performance data is extended based at least in part on an accuracy of a fit between the performance data and the pattern.

20. The system of claim 11 , wherein the performance data is collected on a frequency based at least in part on a proximity of the running virtualized application to a resource limit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2018
From: STICH, SLATER; MAESTRO, ALBERTO ARIAS; SRIVATSAV, RAVI
To: ELASTICBOX INC.
Reel/Frame 045874/0193 →
Continuity (3)
Continuation 14206333 · Mar 12, 2014
Provisional Application 61780384 · Mar 13, 2013
Related Publication 20180067769A1 · Mar 8, 2018