IP Library Granted Patent US 11,658,920
Granted Patent B2
US 11,658,920 · App. 17/308,915 · Granted May 23, 2023

System and method for autonomous and dynamic resource allocation in storage systems

Inventors: Rahul Deo Vishwakarma (Bangalore, IN); Jayanth Kumar Reddy Perneti (Bangalore, IN); Gopal Singh (Lucknow, IN)
Assignee: EMC IP Holding Company LLC
H04L47/823G06F9/505G06F9/5055G06F9/5072G06N3/0436G06N7/005G06N7/023H04L47/783H04L67/1097H04W28/0942G06F2209/504G06F2209/5019
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,658,920
App. No.
17/308,915
Granted
May 23, 2023
Kind
B2
Abstract

Embodiments are described for an autonomously and dynamically allocating resources in a distributed network based on forecasted a-priori CPU resource utilization, rather than a manual throttle setting. A multivariate (CPU idle %, disk I/O, network and memory) rather than single variable approach for Probabilistic Weighted Fuzzy Time Series (PWFTS) is used for forecasting compute resources. The dynamic throttling is combined with an adaptive compute change rate detection and correction. A single spike detection and removal mechanism is used to prevent the application of too many frequent throttling changes. Such a method can be implemented for several use cases including, but not limited to: cloud data migration, replication to a storage server, system upgrades, bandwidth throttling in storage networks, and garbage collection.

Claims (36)

1. A computer-implemented method of automatically and dynamically allocating resources in a distributed computer system, comprising:

estimating the completion time of a desired operation;

predicting, using log statistics, compute usage of the system by applying multivariate time-series analysis to produce a usage forecast, wherein the usage forecast defines a number of different usage levels, wherein the time-series analysis is performed using Probabilistic Weighted Fuzzy Time Series (PWFTS) for forecasting compute resource usage;

obtaining, using the using the usage forecast, a transition set comprising transition points occurring at specific times between the different usage levels;

analyzing the transition points to identify single point spike conditions;

removing the single point spikes from the transition set;

setting throttle values for the transition points based on a default throttle map; and

calculating a relative deviation and updating throttle values based on a throttle adjustment map.

2. The method of claim 1 wherein the distributed computer system comprises a storage network executing a deduplication backup process.

3. The method of claim 2 wherein the storage network comprises at least part of a cloud computer network and a virtualized computer network.

4. The method of claim 3 wherein the resources comprise at least one of: central processing unit (CPU) usage, storage disk input/output (I/O) cycles, network bandwidth, and memory space utilization, and wherein the multiple variables of the multivariate time-series analysis comprise at least CPU usage, disk I/O, network bandwidth and memory utilization.

5. The method of claim 4 wherein the desired operation is selected from one of: cloud data migration, replication to a storage server, system upgrades, bandwidth throttling in storage networks, and garbage collection.

6. The method of claim 1 wherein the different usage levels comprise three usage levels denoted low, medium, and high usage.

7. The method of claim 6 wherein the default throttle map defines a throttle value limiting availability of a resource proportional to an increased usage level, and increasing availability of the resource proportional to a decreased usage level.

8. The method of claim 1 wherein the log statistics are obtained by one of a Linux system activity report (sar), an I/O statistics reporter, and a system performance log.

9. The method of claim 7 further comprising allocating resources based on the usage forecast and updated throttle values.

10. A system for automatically and dynamically allocating resources in a distributed computer system, comprising:

a machine learning processing component estimating the completion time of a desired operation, predicting, using log statistics, compute usage of the system by applying multivariate time-series analysis to produce a usage forecast, wherein the usage forecast defines a number of different usage levels, and obtaining, using the using the usage forecast, a transition set comprising transition points occurring at specific times between the different usage levels, wherein the time-series analysis is performed using Probabilistic Weighted Fuzzy Time Series (PWFTS) for forecasting compute resource usage;

an analyzer analyzing the transition points to identify single point spike conditions, removing the single point spikes from the transition set, and setting throttle values for the transition points based on a default throttle map; and

a calculator calculating a relative deviation and updating throttle values based on a throttle adjustment map.

11. The system of claim 10 wherein the distributed computer system comprises a storage network executing a deduplication backup process.

12. The system of claim 11 wherein the storage network comprises at least part of a cloud computer network and a virtualized computer network.

13. The system of claim 12 wherein the resources comprise at least one of: central processing unit (CPU) usage, storage disk input/output (I/O) cycles, network bandwidth, and memory space utilization, and wherein the multiple variables of the multivariate time-series analysis comprise at least CPU usage, disk I/O, network bandwidth and memory utilization.

14. The system of claim 13 wherein the desired operation is selected from one of: cloud data migration, replication to a storage server, system upgrades, bandwidth throttling in storage networks, and garbage collection.

15. The system of claim 10 wherein the different usage levels comprise three usage levels denoted low, medium, and high usage.

16. The system of claim 15 wherein the default throttle map defines a throttle value limiting availability of a resource proportional to an increased usage level, and increasing availability of the resource proportional to a decreased usage level.

17. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein, the computer-readable program code adapted to be executed by one or more processors to perform a method of allocating replication journal space among multiple applications in a computer backup system, comprising:

estimating the completion time of a desired operation;

predicting, using log statistics, compute usage of the system by applying multivariate time-series analysis to produce a usage forecast, wherein the usage forecast defines a number of different usage levels, wherein the time-series analysis is performed using Probabilistic Weighted Fuzzy Time Series (PWFTS) for forecasting compute resource usage;

obtaining, using the using the usage forecast, a transition set comprising transition points occurring at specific times between the different usage levels;

analyzing the transition points to identify single point spike conditions;

removing the single point spikes from the transition set;

setting throttle values for the transition points based on a default throttle map; and

calculating a relative deviation and updating throttle values based on a throttle adjustment map.

18. The computer program product of claim 17 wherein the distributed computer system comprises a storage network executing a deduplication backup process, and wherein the storage network comprises at least part of a cloud computer network and a virtualized computer network.

19. The computer program product of claim 18 wherein the resources comprise at least one of: central processing unit (CPU) usage, storage disk input/output (I/O) cycles, network bandwidth, and memory space utilization, and wherein the multiple variables of the multivariate time-series analysis comprise at least CPU usage, disk I/O, network bandwidth and memory utilization, and further wherein the desired operation is selected from one of: cloud data migration, replication to a storage server, system upgrades, bandwidth throttling in storage networks, and garbage collection.

Assignments (7)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
Continuity (2)
Division 16784721 · Feb 7, 2020
Related Publication 20210258267A1 · Aug 19, 2021