IP Library Granted Patent US 11,792,263
Granted Patent B2
US 11,792,263 · App. 17/671,270 · Granted Oct 17, 2023

Methods and systems for managing a resource in a networked storage environment

Inventors: Curtis Hrischuk (Holly Springs, NC); Jeffrey Scott MacFarland (Wake Forest, NC); Alma Dimnaku (Wellesley, MA)
Assignee: NetApp, Inc.
H04L67/1097
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,792,263
App. No.
17/671,270
Granted
Oct 17, 2023
Kind
B2
Abstract

Methods and systems for a networked storage system are provided. One method includes receiving a resource identifier identifying a resource of a network storage environment as an input to a processor executable application programming interface (API); and predicting available performance capacity of the resource by using an optimum utilization of the resource, a current utilization and a predicted utilization based on impact of a workload change at the resource, where the optimum utilization is an indicator of resource utilization beyond which throughput gains for a workload is smaller than increase in latency in processing the workload.

Claims (58)

1. A method, comprising:

selecting a resource based upon a determination that physical headroom for the resource is to be computed;

selecting a time range for computing the physical headroom;

determining whether a node associated with the resource has a peer node configured according to high availability pair with the node;

in response to the node and the peer node being configured as the high availability pair, utilizing peer node data for headroom computation over the time range to generate a headroom value;

performing the headroom computation over the time range to determine the headroom value, wherein the headroom computation takes into account an optimal point determined using an extrapolated data set derived from latency and utilization data used to extrapolate missing values within an incomplete latency vs utilization data set, and wherein the latency and utilization data is pre-processed based upon a workload mix signature; and

implementing the headroom value for the resource.

2. The method of claim 1 , comprising:

in response to the node and the peer node not being configured as the high availability pair, utilizing node latency and utilization for the headroom computation over the time range.

3. The method of claim 1 , wherein the utilizing peer node data further comprises:

performing the headroom computation to use the peer node data to take into account latency and utilization affected by workloads at the peer node in the event the node takes over the workloads from the peer node based upon the peer node failing.

4. The method of claim 1 , wherein the utilizing peer node data further comprises:

using workloads of the node and the peer node as operational points for the headroom computation, wherein the operational points are determined based upon an effect of internal workflows when the node is configured as a high available failover node or when non-critical workloads can be throttled or delayed.

5. The method of claim 1 , comprising:

determining a confidence factor for the optimal point; and

performing the headroom computation to take into account both the optimal point and the confidence factor.

6. The method of claim 1 , wherein the latency vs utilization data set comprises a latency vs utilization curve, and wherein the extrapolated data set is an extrapolated curve used by the headroom computation used to determine the optimal point for the resource.

7. The method of claim 1 ,

removing outlier values and utilizing historical data to interpolate the missing values.

8. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:

select a resource based upon a determination that physical headroom for the resource is to be computed;

select a time range for computing the physical headroom;

determine whether a node associated with the resource has a peer node configured according to high availability pair with the node;

in response to the node and the peer node being configured as the high availability pair, utilize peer node data for headroom computation over the time range to generate a headroom value;

perform the headroom computation over the time range to determine the headroom value, wherein the headroom computation takes into account an optimal point determined using an extrapolated data set derived from latency and utilization data used to extrapolate missing values within an incomplete latency vs utilization data set, and wherein the latency and utilization data is pre-processed based upon a workload mix signature; and

implement the headroom value for the resource.

9. The non-transitory machine readable medium of claim 8 , wherein the instructions cause the machine to:

in response to a workload signature of a workload set exceeding a threshold, calculate a new optimal point based upon a modified workload mix.

10. The non-transitory machine readable medium of claim 9 , wherein the instructions cause the machine to:

generate the modified workload mix based upon the workload signature of the workload set with portions of the workload set that are added or removed.

11. The non-transitory machine readable medium of claim 9 , wherein the instructions cause the machine to:

determine the headroom value based upon a difference of the new optimal point and a new operational point.

12. The non-transitory machine readable medium of claim 9 , wherein the instructions cause the machine to:

validate an operational point, used by the headroom computation, based upon neighboring values.

13. The non-transitory machine readable medium of claim 9 , wherein the instructions cause the machine to:

utilize a means estimator to reduce an impact of outliers for different latencies measured for a same utilization; and

remove a set of outliers from an operational point, used by the headroom computation, to validate the operational point.

14. The non-transitory machine readable medium of claim 9 , wherein the instructions cause the machine to:

mark events affecting validity of an operational point, used by the headroom computation, as unusual events, wherein the events correspond to storage system level events associated with quality of service data, wherein an unusual event affecting performance is discarded.

15. A computing device comprising:

a memory comprising machine executable code; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the computing device to:

select a resource based upon a determination that physical headroom for the resource is to be computed;

select a time range for computing the physical headroom;

determine whether a node associated with the resource has a peer node configured according to high availability pair with the node;

in response to the node and the peer node being configured as the high availability pair, utilizing peer node data for headroom computation over the time range to generate a headroom value;

perform the headroom computation over the time range to determine the headroom value, wherein the headroom computation takes into account an optimal point determined using an extrapolated data set derived from latency and utilization data used to extrapolate missing values within an incomplete latency vs utilization data set, and wherein the latency and utilization data is pre-processed based upon a workload mix signature; and

implement the headroom value for the resource.

16. The computing device of claim 15 , wherein the machine executable code causes the machine to:

in response to the node and the peer node not being configured as the high availability pair, utilize node latency and utilization for the headroom computation over the time range.

17. The computing device of claim 15 , wherein the machine executable code causes the machine to:

perform the headroom computation to use the peer node data to take into account latency and utilization affected by workloads at the peer node in the event the node takes over the workloads from the peer node based upon the peer node failing.

18. The computing device of claim 15 , wherein the machine executable code causes the machine to:

determine a confidence factor for the optimal point; and

perform the headroom computation to take into account both the optimal point and the confidence factor.

19. The computing device of claim 15 , wherein the latency vs utilization data set comprises a latency vs utilization curve, and wherein the extrapolated data set is an extrapolated curve used by the headroom computation used to determine the optimal point for the resource.

20. The computing device of claim 15 , wherein the machine executable code causes the machine to:

utilize workloads of the node and the peer node as operational points for the headroom computation, wherein the operational points are determined based upon an effect of internal workflows when the node is configured as a high available failover node or when non-critical workloads can be throttled or delayed.

Continuity (3)
Continuation 16460101 · Jul 2, 2019
Continuation 14805770 · Jul 22, 2015
Related Publication 20220239742A1 · Jul 28, 2022