IP Library Granted Patent US 12,425,477
Granted Patent B2
US 12,425,477 · App. 18/487,345 · Granted Sep 23, 2025

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 12,425,477
App. No.
18/487,345
Granted
Sep 23, 2025
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:

utilizing select queuing models for evaluating resources of a network storage environment by:

selecting a first queuing model for evaluating N node resources based upon the network storage environment including the N node resources to model;

selecting a second queuing model for evaluating homogeneous aggregates based upon I/O requests targeting the homogeneous aggregates being uniformly served by storage devices of the network storage environment; and

selecting the second queuing model under a shortest job first scheduling policy for evaluating a hybrid aggregate based upon I/O requests targeting the hybrid aggregate being served at varying rates;

determining latencies for the resources utilizing the selected queuing models;

computing an optimal point and confidence factor for the optimal point based upon the latencies; and

provisioning a resource based upon the optimal point and confidence factor.

2. The method of claim 1 , further comprising:

utilizing the second queuing model based upon varying service times for I/O requests targeting the hybrid aggregate.

3. The method of claim 1 , further comprising:

utilizing the first queuing model based upon a determination that I/O requests arrive according to a stochastic process by a single node according to a first come first service methodology.

4. The method of claim 1 , further comprising:

utilizing the second queuing model for the hybrid aggregate based upon a determination that service times for I/O requests are variable where some I/O requests are served at a faster rate than other I/O requests.

5. The method of claim 1 , further comprising:

determining latencies using inter-arrival times and service times.

6. The method of claim 1 , further comprising:

managing traffic at a storage module according to priority levels assigned to high priority traffic, lower priority traffic, and consistency point operations.

7. The method of claim 1 , wherein the optimal point is an indicator of resource utilization beyond which throughput gains for a workload is smaller than an increase in latency.

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

utilize select queuing models for evaluating resources of a network storage environment by:

selecting a first queuing model for evaluating N node resources based upon the network storage environment including the N node resources to model;

selecting a second queuing model for evaluating homogeneous aggregates based upon I/O requests targeting the homogeneous aggregates being uniformly served by storage devices of the network storage environment; and

selecting the second queuing model under a shortest job first scheduling policy for evaluating a hybrid aggregate based upon I/O requests targeting the hybrid aggregate being served at varying rates;

determine latencies for the resources utilizing the selected queuing models;

compute an optimal point and confidence factor for the optimal point based upon the latencies; and

provision a resource based upon the optimal point and confidence factor.

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

utilize the second queuing model based upon varying service times for I/O requests targeting the hybrid aggregate.

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

utilize the first queuing model based upon a determination that I/O requests arrive according to a stochastic process by a single node according to a first come first service methodology.

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

utilize the second queuing model for the hybrid aggregate based upon a determination that service times for I/O requests are variable where some I/O requests are served at a faster rate than other I/O requests.

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

determine latencies using inter-arrival times and service times.

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

manage traffic at a storage module according to priority levels assigned to high priority traffic, lower priority traffic, and consistency point operations.

14. The non-transitory machine readable medium of claim 8 , wherein the optimal point is an indicator of resource utilization beyond which throughput gains for a workload is smaller than an increase in latency.

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:

utilize select queuing models for evaluating resources of a network storage environment by:

selecting a first queuing model for evaluating N node resources based upon the network storage environment including the N node resources to model;

selecting a second queuing model for evaluating homogeneous aggregates based upon I/O requests targeting the homogeneous aggregates being uniformly served by storage devices of the network storage environment; and

selecting the second queuing model under a shortest job first scheduling policy for evaluating a hybrid aggregate based upon I/O requests targeting the hybrid aggregate being served at varying rates;

determine latencies for the resources utilizing the selected queuing models;

compute an optimal point and confidence factor for the optimal point based upon the latencies; and

provision a resource based upon the optimal point and confidence factor.

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

utilize the second queuing model based upon varying service times for I/O requests targeting the hybrid aggregate.

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

utilize the first queuing model based upon a determination that I/O requests arrive according to a stochastic process by a single node according to a first come first service methodology.

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

utilize the second queuing model for the hybrid aggregate based upon a determination that service times for I/O requests are variable where some I/O requests are served at a faster rate than other I/O requests.

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

determine latencies using inter-arrival times and service times.

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

manage traffic at a storage module according to priority levels assigned to high priority traffic, lower priority traffic, and consistency point operations.

Continuity (4)
Division 17671270 · Feb 14, 2022
Continuation 16460101 · Jul 2, 2019
Continuation 14805770 · Jul 22, 2015
Related Publication 20240039996A1 · Feb 1, 2024
References Cited (86)
US 6128710A · Greenspan · 2000 [cited by examiner]
US 6192470B1 · Kelley et al. · 2001 [cited by applicant]
US 6263382B1 · Bartlett et al. · 2001 [cited by applicant]
US 6622221B1 · Zahavi · 2003 [cited by examiner]
US 7613947B1 · Coatney et al. · 2009 [cited by applicant]
US 7640342B1 · Aharoni et al. · 2009 [cited by applicant]
US 7664798B2 · Wood et al. · 2010 [cited by applicant]
US 7707015B2 · Lubrecht et al. · 2010 [cited by applicant]
US 7770173B2 · Farrell · 2010 [cited by examiner]
US 8010337B2 · Narayanan et al. · 2011 [cited by applicant]
US 8244868B2 · La et al. · 2012 [cited by applicant]
US 8260622B2 · Chron et al. · 2012 [cited by applicant]
US 8274909B2 · Harvell et al. · 2012 [cited by applicant]
US 8412672B1 · Radhakrishnan et al. · 2013 [cited by applicant]
US 8531954B2 · McNaughton et al. · 2013 [cited by applicant]
US 8543359B2 · Abrahao · 2013 [cited by examiner]
US 8738972B1 · Bakman et al. · 2014 [cited by applicant]
US 8874954B1 · Gupte et al. · 2014 [cited by applicant]
US 8914497B1 · Xiao et al. · 2014 [cited by applicant]
US 8996666B2 · Vasseur · 2015 [cited by applicant]
US 9009296B1 · Siganporia et al. · 2015 [cited by applicant]
US 9063939B2 · Dalton · 2015 [cited by applicant]
US 9128965B1 · Yanacek et al. · 2015 [cited by applicant]
US 9645901B2 · Nagaraj · 2017 [cited by applicant]
US 9830238B2 · Mu et al. · 2017 [cited by applicant]
US 10275851B1 · Zhao · 2019 [cited by examiner]
US 10397324B2 · Hrischuk et al. · 2019 [cited by applicant]
US 11252231B2 · Hrischuk et al. · 2022 [cited by applicant]
US 20020049845A1 · Sreenivasan et al. · 2002 [cited by applicant]
US 20020152305A1 · Jackson et al. · 2002 [cited by applicant]
US 20060168272A1 · Rustad et al. · 2006 [cited by applicant]
US 20070220524A1 · Cha · 2007 [cited by examiner]
US 20070283016A1 · Pendarakis et al. · 2007 [cited by applicant]
US 20080059972A1 · Ding et al. · 2008 [cited by applicant]
US 20080183871A1 · Ogawa · 2008 [cited by examiner]
US 20100075751A1 · Garvey et al. · 2010 [cited by applicant]
US 20100232288A1 · Coatney et al. · 2010 [cited by applicant]
US 20100262710A1 · Khatib et al. · 2010 [cited by applicant]
US 20100313203A1 · Dawson et al. · 2010 [cited by applicant]
US 20110128448A1 · Bellers · 2011 [cited by examiner]
US 20110153270A1 · Hoffman · 2011 [cited by applicant]
US 20110197027A1 · Balasubramanian et al. · 2011 [cited by applicant]
US 20110225362A1 · Leggette · 2011 [cited by applicant]
US 20120011517A1 · Smith et al. · 2012 [cited by applicant]
US 20120084270A1 · Jayaraman et al. · 2012 [cited by applicant]
US 20120137002A1 · Ferris et al. · 2012 [cited by applicant]
US 20130124714A1 · Bednar · 2013 [cited by applicant]
US 20130159548A1 · Vasseur et al. · 2013 [cited by applicant]
US 20130173804A1 · Murthy et al. · 2013 [cited by applicant]
US 20130191086A1 · Temple, III · 2013 [cited by applicant]
US 20130204960A1 · Ashok et al. · 2013 [cited by applicant]
US 20130227111A1 · Wright et al. · 2013 [cited by applicant]
US 20130304903A1 · Mick · 2013 [cited by examiner]
US 20140047040A1 · Patiejunas et al. · 2014 [cited by applicant]
US 20140068053A1 · Ravi et al. · 2014 [cited by applicant]
US 20140095696A1 · Sala · 2014 [cited by examiner]
US 20140165060A1 · Muller et al. · 2014 [cited by applicant]
US 20140372607A1 · Gladwin et al. · 2014 [cited by applicant]
US 20150006733A1 · Khan et al. · 2015 [cited by applicant]
US 20150095892A1 · Baggott et al. · 2015 [cited by applicant]
US 20150120906A1 · Dowling et al. · 2015 [cited by applicant]
US 20150235308A1 · Mick et al. · 2015 [cited by applicant]
US 20150277969A1 · Strauss et al. · 2015 [cited by applicant]
US 20150295827A1 · Zhu et al. · 2015 [cited by applicant]
US 20160065492A1 · Hu et al. · 2016 [cited by applicant]
US 20160112275A1 · Park et al. · 2016 [cited by applicant]
US 20160150030A1 · Apte et al. · 2016 [cited by applicant]
US 20160173571A1 · Bragstad et al. · 2016 [cited by applicant]
US 20160210341A1 · Zhuang et al. · 2016 [cited by applicant]
US 20170201580A1 · Dimnaku et al. · 2017 [cited by applicant]
US 20190130326A1 · Carley · 2019 [cited by examiner]
US 20220239742A1 · Hrischuk et al. · 2022 [cited by applicant]
WO WO2007028158A2 · 2007 [cited by examiner]
Advisory Action mailed Dec. 31, 2020 for U.S. Appl. No. 16/460,101 filed Jul. 2, 2019, 03 pages. [cited by applicant]
Final Office Action mailed Jun. 14, 2017 for U.S. Appl. No. 14/805,770, filed Jul. 22, 2015, 14 pages. [cited by applicant]
Final Office Action mailed Oct. 2, 2018 for U.S. Appl. No. 14/805,770, filed Jul. 22, 2015, 16 pages. [cited by applicant]
Final Office Action mailed on Oct. 6, 2020 for U.S. Appl. No. 16/460,101 filed Jul. 2, 2019, 12 pages. [cited by applicant]
Non final Office Action mailed Jan. 23, 2017 for U.S. Appl. No. 14/805,770, filed Jul. 22, 2015, 11 pages. [cited by applicant]
Non-Final Office Action mailed Dec. 20, 2017 for U.S. Appl. No. 14/805,770, filed Jul. 22, 2015, 12 pages. [cited by applicant]
Non-Final Office Action mailed Jan. 26, 2023 for U.S. Appl. No. 17/671,270, filed Feb. 14, 2022, 15 pages. [cited by applicant]
Non-Final Office Action mailed Jun. 26, 2020 for U.S. Appl. No. 16/460,101 filed Jul. 2, 2019, 12 pages. [cited by applicant]
Non-Final Office Action mailed Mar. 30, 2021 for U.S. Appl. No. 16/460,101 filed Jul. 2, 2019, 20 pages. [cited by applicant]
Notice of Allowance mailed on Jun. 5, 2019 for U.S. Appl. No. 14/805,770, filed Jul. 22, 2015, 8 pages. [cited by applicant]
Notice of Allowance mailed on Jun. 1, 2023 for U.S. Appl. No. 17/671,270, filed Feb. 14, 2022, 8 pages. [cited by applicant]
Notice of Allowance mailed on Oct. 5, 2021 for U.S. Appl. No. 16/460,101 filed Jul. 2, 2019, 14 pages. [cited by applicant]
Restriction Requirement mailed Oct. 14, 2022 for U.S. Appl. No. 17/671,270, filed Feb. 14, 2022, 5 pages. [cited by applicant]