IP Library › Granted Patent US 11,526,784
Granted Patent B2
US 11,526,784 · App. 16/816,527 · Granted Dec 13, 2022

Real-time server capacity optimization tool using maximum predicted value of resource utilization determined based on historica data and confidence interval

Inventors: Suki Ramasamy (Chennai, IN); Mahesh Ganesan (Chennai, IN); Vipul Chaudhari (Gurugram, IN); Srinivasan Bhaskaran Kasyap (Chennai, IN); Debendra Sharma (Chennai, IN)
Assignee: Bank of America Corporation
G06N5/04G06F9/5027G06F16/2462G06N5/02G06F9/5077G06N5/003G06N5/046G06N20/00
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 11,526,784
App. No.
16/816,527
Granted
Dec 13, 2022
Kind
B2
Abstract

A system includes a server associated with a resource utilization, a database storing historical data including resource utilization values over a first time period, and a processor. The processor identifies, from the historical data, a maximum resource utilization value and determines a duration of time for which the resource utilization exceeds a percentage of the maximum. The processor predicts, based on the historical data, a maximum predicted resource utilization value over a second time period, later than the first. The processor also determines, based on the historical data, an upper bound of a resource utilization confidence interval. The processor generates, based on the maximum value over the first time period, the duration of time, the maximum predicted value over the second time period, and the upper bound, a recommendation to consolidate the server with a second server and/or to release computational resources. The processor transmits the recommendation to an administrator.

Claims (88)

1. A system comprising:

a first server associated with a resource utilization;

a database configured to store historical data for the first server comprising time-series values of the resource utilization of the first server collected from the first server over a first period of time; and

a hardware processor configured to:

identify, from the historical data, a maximum value of the resource utilization from the time-series values of the resource utilization of the first server collected from the first server over the first period of time;

determine, from the historical data, a first duration of time comprising a number of distinct times during which the time-series values of the resource utilization of the first server collected from the first server over the first period of time exceed a given percentage of the maximum value of the resource utilization;

predict, based on the historical data, a maximum predicted value of the resource utilization of the first server over a second period of time later than the first period of time;

determine, based on the historical data, a first confidence interval for the resource utilization of the first server, the first confidence interval comprising an upper bound of the first confidence interval;

generate, based at least on the maximum value of the resource utilization of the first server collected from the first server over the first period of time, the first duration of time, the maximum predicted value of the resource utilization of the first server over the second period of time, and the upper bound of the first confidence interval, a recommendation comprising at least one of:

a recommendation to consolidate the first server with a second server; and

a recommendation to release computational resources of the first server to the second server;

transmit the recommendation to a user device associated with a system administrator;

in response to generating the recommendation:

identify one or more applications running on the first server; and

transfer the one or more applications running on the first server to the second server to release the computational resources of the first server.

2. The system of claim 1 , wherein, in response to releasing the computational resources of the first server, the processor is further configured to assign the computational resources of the first server to a third server.

3. The system of claim 1 , wherein:

the processor is further configured to:

determine whether a percentage of the first duration of time over the first period of time is less than a threshold; and

in response to determining the percentage of the first duration of time over the first period of time is less than the threshold, remove the maximum value of the resource utilization from the historical data, wherein:

predicting the maximum predicted value of the resource utilization of the first server over the second period of time is further based on the determination that the percentage of the first duration of time over the first period of time is less than the threshold; and

determining the first confidence interval for the resource utilization of the first server is further based on the determination that the percentage of the first duration of time over the first period of time is less than the threshold.

4. The system of claim 1 , wherein the computation resources comprise at least one of:

computer processing units (CPUs);

random-access memory (RAM); and

disk storage.

5. The system of claim 1 , wherein determining the first confidence interval comprises at least one of:

implementing a gradient descent algorithm; and

implementing a simplex method.

6. The system of claim 1 , wherein predicting the maximum predicted value of the resource utilization of the first server over the second period of time comprises performing a time-series analysis of the time-series values of the resource utilization of the first server collected from the first server over the first period of time.

7. The system of claim 1 , wherein:

the processor is further configured to:

determine, from the historical data, a plurality of duration of times during which the values of the resource utilization of the first server collected from the first server over the first period of time exceed a given percentage of the maximum value of the resource utilization;

determine whether a percentage of a total of the duration of times over the first period of time is more than a threshold; and

in response to determining the percentage of the plurality of duration of times over the first period of time is more than the threshold, determine the maximum value of the resource utilization from the historical data is normal.

8. A method comprising:

accessing historical data for a first server, the first server associated with a resource utilization, the historical data comprising time-series values of the resource utilization of the first server collected from the first server over a first period of time;

identifying, from historical data, a maximum value of the resource utilization of the first server from the time-series values of the resource utilization collected from the first server over the first period of time;

determining, from the historical data, a first duration of time comprising a number of distinct times during which the time-series values of the resource utilization of the first server collected from the first server over the first period of time exceed a given percentage of the maximum value of the resource utilization;

predicting, based on the historical data, a maximum predicted value of the resource utilization of the first server over a second period of time later than the first period of time;

determining, based on the historical data, a first confidence interval for the resource utilization of the first server, the first confidence interval comprising an upper bound of the first confidence interval;

generating, based at least on the maximum value of the resource utilization of the first server collected from the first server over the first period of time, the first duration of time, the maximum predicted value of the resource utilization of the first server over the second period of time, and the upper bound of the first confidence interval, a recommendation comprising at least one of:

a recommendation to consolidate the first server with a second server; and

a recommendation to release computation resources of the first server to the second server;

transmitting the recommendation to a user device associated with a system administrator;

in response to generating the recommendation:

identifying one or more applications running on the first server; and

transferring the one or more applications running on the first server to the second server to release the computational resources of the first server.

9. The method of claim 8 , further comprising, in response to releasing the computational resources of the first server, assigning the computation resources of the first server to a third server.

10. The method of claim 8 , further comprising:

determining whether a percentage of the first duration of time over the first period of time is less than a threshold; and

in response to determining the percentage of the first duration of time over the first period of time is less than the threshold, removing the maximum value of the resource utilization from the historical data, wherein:

predicting the maximum predicted value of the resource utilization of the first server over the second period of time is further based on the determination that the percentage of the first duration of time over the first period of time is less than the threshold; and

determining the first confidence interval for the resource utilization of the first server is further based on the determination that the percentage of the first duration of time over the first period of time is less than the threshold.

11. The method of claim 8 , wherein the computation resources comprise at least one of:

computer processing units (CPUs);

random-access memory (RAM); and

disk storage.

12. The method of claim 8 , wherein determining the first confidence interval comprises at least one of:

implementing a gradient descent algorithm; and

implementing a simplex method.

13. The method of claim 8 , wherein predicting the maximum predicted value of the resource utilization of the first server over the second period of time comprises performing a time-series analysis of the time-series values of the resource utilization of the first server collected from the first server over the first period of time.

14. An apparatus comprising:

a hardware processor configured to:

access a database storing historical data for a first server, the first server associated with a resource utilization, the historical data comprising time-series values of the resource utilization of the first server collected from the first server over a first period of time;

identify, from the historical data, a maximum value of the resource utilization of the first server from the time-series values of the resource utilization collected from the first server over the first period of time;

determine, from the historical data, a first duration of time comprising a number of distinct times during which the time-series values of the resource utilization of the first server collected from the first server over the first period of time exceed a given percentage of the maximum value of the resource utilization;

predict, based on the historical data, a maximum predicted value of the resource utilization of the first server over a second period of time later than the first period of time;

determine, based on the historical data, a first confidence interval for the resource utilization of the first server, the first confidence interval comprising an upper bound of the first confidence interval;

generate, based at least on the maximum value of the resource utilization of the first server collected from the first server over the first period of time, the first duration of time, the maximum predicted value of the resource utilization of the first server over the second period of time, and the upper bound of the first confidence interval, a recommendation comprising at least one of:

a recommendation to consolidate the first server with a second server; and

a recommendation to release computation resources of the first server to the second server;

transmit the recommendation to a user device associated with a system administrator;

in response to generating the recommendation:

identify one or more applications running on the first server; and

transfer the one or more applications running on the first server to the second server to release the computational resources of the first server.

15. The apparatus of claim 14 , wherein, in response to releasing the computational resources of the first server, the processor is further configured to assign the computational resources of the first server to a third server.

16. The apparatus of claim 14 , wherein:

the processor is further configured to:

determine whether a percentage of the first duration of time over the first Period of time is less than a threshold;

in response to determining the percentage of the first duration of time over the first period of time is less than the threshold, remove the maximum value of the resource utilization from the historical data, wherein:

predicting the maximum predicted value of the resource utilization of the first server over the second period of time is further based on the determination that the percentage of the first duration of time over the first period of time is less than the threshold; and

determining the first confidence interval for the resource utilization of the first server is further based on the determination that the percentage of the first duration of time over the first period of time is less than the threshold.

17. The apparatus of claim 14 , wherein the computation resources comprise at least one of:

computer processing units (CPUs);

random-access memory (RAM); and

disk storage.

18. The apparatus of claim 14 , wherein predicting the maximum predicted value of the resource utilization of the first server over the second period of time comprises performing a time-series analysis of the time-series values of the resource utilization of the first server collected from the first server over the first period of time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2020
From: RAMASAMY, SUKI; GANESAN, MAHESH; CHAUDHARI, VIPUL; KASYAP, SRINIVASAN BHASKARAN; SHARMA, DEBENDRA
To: BANK OF AMERICA CORPORATION
Reel/Frame 052095/0966 →
Continuity (1)
Related Publication 20210287112A1 · Sep 16, 2021
Cited By (1)
US 12,229,695