IP Library Granted Patent US 10,942,781
Granted Patent B2
US 10,942,781 · App. 16/224,200 · Granted Mar 9, 2021

Automated capacity provisioning method using historical performance data

Inventors: Yiping Ding (Dover, MA); Assaf Marron (Ramat-Gan, IL); Fred Johannessen (Leander, TX)
Assignee: BMC Software, Inc.
G06F9/505G06F3/0484G06F3/04847H04L43/0882H04L47/801H04L47/823H04L67/303G06F2209/508G06F2209/5019H04L67/1002
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,942,781
App. No.
16/224,200
Granted
Mar 9, 2021
Kind
B2
Abstract

The method may include collecting performance data relating to processing nodes of a computer system which provide services via one or more applications, analyzing the performance data to generate an operational profile characterizing resource usage of the processing nodes, receiving a set of attributes characterizing expected performance goals in which the services are expected to be provided, and generating at least one provisioning policy based on an analysis of the operational profile in conjunction with the set of attributes. The at least one provisioning policy may specify a condition for re-allocating resources associated with at least one processing node in a manner that satisfies the performance goals of the set of attributes. The method may further include re-allocating, during runtime, the resources associated with the at least one processing node when the condition of the at least one provisioning policy is determined as satisfied.

Claims (22)

1. A method for automatically scaling cloud computer resources, the method comprising: receiving a provisioning strategy; obtaining historical performance data characterizing a computer system over a first period of time, the computer system implementing computer resources with fluctuating demand over time; programmatically executing a trending analysis using the historical performance data over the first period of time to predict one or more resource usage patterns for a second period of time after the first period of time; automatically generating one or more auto-scaling policies based on results of the trending analysis and the provisioning strategy, the one or more auto-scaling policies including at least one of a first auto-scaling policy that correlates arrival rate and required servers, a second auto-scaling policy that correlates time-dependent information and required servers, a third auto- scaling policy that correlates utilization and required servers, or a fourth auto-scaling policy that correlates response time and required servers; monitoring current performance data characterizing the computer system during the second period of time, including monitoring the fluctuating demand; implementing the one or more auto-scaling policies, based on the monitoring and in reaction to the fluctuating demand, to allocate a quantity of the required servers to maintain the arrival rate within a defined range during the second period of time and one or more of the time-dependent information, the utilization, and the response time within the defined range during the second period of time; and provisioning the computer resources based on the one or more auto-scaling policies during the second period of time.

2. The method of claim 1 , wherein the provisioning strategy indicates a total average computer processing unit (CPU) utilization.

3. The method of claim 1 , wherein the execution of the trending analysis detects changes in daily or weekly resource usage patterns.

4. The method of claim 1 , further comprising:

obtaining historical performance data over the second period of time; and

programmatically re-executing the trending analysis using the historical performance data over the second period of time to predict one or more resource usage patterns for a third period of time after the second period of time.

5. The method of claim 1 , wherein the receiving step, the obtaining step, the programmatically executing step, the automatically generating step, and the provisioning step are sequentially executed without any manual intervention.

6. The method of claim 1 , wherein the one or more auto-scaling policies include a plurality of auto-scaling policies, the plurality of auto-scaling policies including the first auto-scaling policy, the second auto-scaling policy, the third auto-scaling policy, and the fourth auto-scaling policy.

7. A non-transitory computer-readable medium storing instructions, when executed by at least one processor, are configured to cause the at least one processor to execute the following operations: receive a provisioning strategy; obtain historical performance data characterizing a computer system over a first period of time, the computer system implementing computing resources with fluctuating demand over time; programmatically execute a trending analysis using the historical performance data over the first period of time to predict one or more resource usage patterns for a second period of time after the first period of time; automatically generate a plurality of auto-scaling policies based on results of the trending analysis and the provisioning strategy, the plurality of auto-scaling policies including a first auto-scaling policy that correlates time-dependent information and required servers, and a second auto-scaling policy that correlates utilization and required servers; monitor current performance data characterizing the computer system during the second period of time, including monitoring the fluctuating demand; implement the one or more auto-scaling policies, based on the monitoring and in reaction to the fluctuating demand, to allocate a quantity of the required servers to maintain the arrival rate within a defined range during the second period of time and one or more of the time-dependent information, the utilization, and the response time within the defined range during the second period of time; and provision cloud computer resources based on the plurality of the auto-scaling policies during the second period of time.

8. The non-transitory computer-readable medium of claim 7 , wherein the provisioning strategy indicates a total average computer processing unit (CPU) utilization.

9. The non-transitory computer-readable medium of claim 7 , wherein the execution of the trending analysis detects changes in daily or weekly resource usage patterns.

10. The non-transitory computer-readable medium of claim 7 , further comprising:

obtain historical performance data over the second period of time; and

programmatically re-execute the trending analysis using the historical performance data over the second period of time to predict one or more resource usage patterns for a third period of time after the second period of time.

11. The non-transitory computer-readable medium of claim 7 , wherein the receive operation, the obtain operation, the programmatically execute operation, the automatically generating operation, and the provisioning operation are sequentially executed without any manual intervention.

12. A capacity planning system for automatically scaling cloud computer resources in a computer system, the capacity planning system comprising: at least one processor; a non-transitory computer-readable medium storing executing instructions that when executed by the at least one processor are configured to cause the at least one processor to: receive a provisioning strategy; obtain historical performance data characterizing the computer system over a first period of time, the computer system implementing computing resources with fluctuating demand over time; programmatically execute a trending analysis using the historical performance data over the first period of time to predict one or more resource usage patterns for a second period of time after the first period of time; automatically generate a plurality of auto-scaling policies based on results of the trending analysis and the provisioning strategy, the plurality of auto-scaling policies including a first auto-scaling policy that correlates response time and required servers, and a second auto-scaling policy that correlates arrival rate and required servers; monitor current performance data characterizing the computer system during the second period of time, including monitoring the fluctuating demand; implement the one or more auto-scaling policies, based on the monitoring and in reaction to the fluctuating demand, to allocate a quantity of the required servers to maintain the arrival rate within a defined range during the second period of time and one or more of the time-dependent information, the utilization, and the response time within the defined range during the second period of time; and provision the cloud computer resources based on the plurality of the auto-scaling policies during the second period of time.

13. The capacity planning system of claim 12 , wherein the provisioning strategy indicates a total average computer processing unit (CPU) utilization.

14. The capacity planning system of claim 12 , wherein the execution of the trending analysis detects changes in daily or weekly resource usage patterns.

15. The capacity planning system of claim 12 , further comprising:

obtain historical performance data over the second period of time; and

programmatically re-execute the trending analysis using the historical performance data over the second period of time to predict one or more resource usage patterns for a third period of time after the second period of time.

16. The capacity planning system of claim 12 , wherein the receiving step, the obtaining step, the programmatically executing step, the automatically generating step, and the provisioning step are sequentially executed without any manual intervention.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
SECURITY INTEREST Recorded Sep 10, 2019
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 050327/0634 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2018
From: DING, YIPING; MARRON, ASSAF; JOHANNESSEN, FRED
To: BMC SOFTWARE, INC.
Reel/Frame 047810/0033 →
Continuity (6)
Continuation 15222491 · Jul 28, 2016
Continuation 14743161 · Jun 18, 2015
Continuation 14044614 · Oct 2, 2013
Continuation 11848298 · Aug 31, 2007
Provisional Application 60824240 · Aug 31, 2006
Related Publication 20190121672A1 · Apr 25, 2019
Cited By (2)
US 12,455,772 US 12,681,712