IP Library Granted Patent US 12,422,984
Granted Patent B2
US 12,422,984 · App. 18/232,958 · Granted Sep 23, 2025

Automated elastic resource management of a container system by a distributed storage system

Inventors: Dhruv Bhatnagar (Karnataka, IN); Madanagopal Arunachalam (Karnataka, IN); Aditya Dani (San Jose, CA); Naveen Revanna (Campbell, CA); Luis Pablo Pabón (Sturbridge, MA)
Assignee: Pure Storage, Inc.
G06F3/061G06F3/0631G06F3/0679
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,422,984
App. No.
18/232,958
Granted
Sep 23, 2025
Kind
B2
Abstract

An example method for automated elastic resource management of a container system by a storage system comprises providing, by a container storage management system, a volume for use by a containerized application of a container system, the volume deployed on a node of the container system; analyzing, by the container storage management system, input/output (I/O) operations to the volume based on historical I/O operations; and directing, by the container storage management system and based on the analyzing the I/O operations based on the historical I/O operations, the container system to adjust a capacity of a resource associated with the node.

Claims (35)

1. A method comprising:

providing, by a container storage management system, a volume for use by a containerized application of a container system, the volume deployed on a node of the container system;

analyzing, by the container storage management system, input/output (I/O) operations to the volume based on historical I/O operations comprising operations performed prior to a particular time; and

directing, by the container storage management system and based on the analyzing the I/O operations based on the historical I/O operations, the container system to adjust a capacity of a resource associated with the node, wherein:

the volume is associated with a storage pool of a plurality of storage pools, wherein different storage pools of the plurality of storage pools are defined by different characteristics of storage resources in each storage pool; and

the directing the container system to adjust the capacity of the resource comprises reallocating the volume to an additional storage pool of the plurality of storage pools.

2. The method of claim 1 , wherein the analyzing the I/O operations to the volume based on historical I/O operations comprises accessing a machine learning model based on historical I/O operations.

3. The method of claim 1 , wherein the historical I/O operations comprise historical I/O operations to additional volumes provided by the container storage management system for use by additional containerized applications of the container system.

4. The method of claim 1 , wherein the historical I/O operations comprise historical I/O operations to additional volumes provided by the container storage management system for use by additional containerized applications of additional container systems.

5. The method of claim 1 , wherein the directing the container system to adjust the capacity of the resource further comprises directing the container system to provide a notification to a user about the adjusting the capacity of the resource.

6. The method of claim 5 , wherein the notification comprises an input option to the user to approve the adjusting of the capacity of the resource.

7. The method of claim 1 , wherein the directing the container system to adjust the capacity of the resource further comprises reallocating at least one of the containerized application or the volume to an additional node.

8. A system comprising:

one or more memories storing computer-executable instructions; and

one or more processors to execute the computer-executable instructions to perform a process comprising:

providing a volume for use by a containerized application of a container system, the volume deployed on a node of the container system;

analyzing input/output (I/O) operations to the volume based on historical I/O operations comprising operations performed prior to a particular time; and

directing, based on the analyzing the I/O operations based on the historical I/O operations, the container system to adjust a capacity of a resource associated with the node, wherein:

the volume is associated with a storage pool of a plurality of storage pools, wherein different storage pools of the plurality of storage pools are defined by different characteristics of storage resources in each storage pool; and

the directing the container system to adjust the capacity of the resource comprises reallocating the volume to an additional storage pool of the plurality of storage.

9. The system of claim 8 , wherein the analyzing the I/O operations to the volume based on historical I/O operations comprises accessing a machine learning model based on historical I/O operations.

10. The system of claim 8 , wherein the historical I/O operations comprise historical I/O operations to additional volumes provided by system for use by additional containerized applications of the container system.

11. The system of claim 8 , wherein the historical I/O operations comprise historical I/O operations to additional volumes provided by the system for use by additional containerized applications of additional container systems.

12. The system of claim 8 , wherein the directing the container system to adjust the capacity of the resource further comprises directing the container system to provide a notification to a user about the adjusting the capacity of the resource.

13. The system of claim 12 , wherein the notification comprises an input option to the user to approve the adjusting of the capacity of the resource.

14. The system of claim 8 , wherein the directing the container system to adjust the capacity of the resource further comprises reallocating at least one of the containerized application or the volume to an additional node.

15. A non-transitory, computer-readable medium storing computer instructions that, when executed, direct one or more processors of one or more computing devices to perform a process comprising:

providing a volume for use by a containerized application of a container system, the volume deployed on a node of the container system;

analyzing input/output (I/O) operations to the volume based on historical I/O operations comprising operations performed prior to a particular time; and

directing, based on the analyzing the I/O operations based on the historical I/O operations, the container system to adjust a capacity of a resource associated with the node, wherein:

the volume is associated with a storage pool of a plurality of storage pools, wherein different storage pools of the plurality of storage pools are defined by different characteristics of storage resources in each storage pool; and

the directing the container system to adjust the capacity of the resource comprises reallocating the volume to an additional storage pool of the plurality of storage.

16. The computer-readable medium of claim 15 , wherein the analyzing the I/O operations to the volume based on historical I/O operations comprises accessing a machine learning model based on historical I/O operations.

17. The computer-readable medium of claim 15 , wherein the historical I/O operations comprise historical I/O operations to additional volumes provided by the one or more computing devices for use by additional containerized applications of the container system.

18. The computer-readable medium of claim 15 , wherein the historical I/O operations comprise historical I/O operations to additional volumes provided by the one more computing devices for use by additional containerized applications of additional container systems.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2023
From: BHATNAGAR, DHRUV; ARUNACHALAM, MADANAGOPAL; DANI, ADITYA; REVANNA, NAVEEN; PABÓN, LUIS PABLO
To: PURE STORAGE, INC., A DELAWARE CORPORATION
Reel/Frame 064562/0545 →
Continuity (3)
Continuation In Part 18128445 · Mar 30, 2023
Continuation In Part 18091094 · Dec 29, 2022
Related Publication 20240220109A1 · Jul 4, 2024
References Cited (185)
US 3495472A · Long · 1970 [cited by applicant]
US 3504797A · Reid · 1970 [cited by applicant]
US 3706914A · Buren · 1972 [cited by applicant]
US 3822155A · Feldstein et al. · 1974 [cited by applicant]
US 3918478A · Le Rouax · 1975 [cited by applicant]
US 7269612B2 · Devarakonda et al. · 2007 [cited by applicant]
US 7587570B2 · Sarkar · 2009 [cited by applicant]
US 7694082B2 · Golding et al. · 2010 [cited by applicant]
US 7865765B2 · Trevathan et al. · 2011 [cited by applicant]
US 7917705B2 · Bamba et al. · 2011 [cited by applicant]
US 7925874B1 · Zaitsev · 2011 [cited by applicant]
US 7930476B1 · Castelli et al. · 2011 [cited by applicant]
US 7975115B2 · Wayda et al. · 2011 [cited by applicant]
US 8046466B2 · Sutou · 2011 [cited by applicant]
US 8276148B2 · Cho et al. · 2012 [cited by applicant]
US 8412890B2 · Bamba et al. · 2013 [cited by applicant]
US 8495472B1 · Magerramov et al. · 2013 [cited by applicant]
US 8504797B2 · Mimatsu · 2013 [cited by applicant]
US 8667499B2 · Brandwine et al. · 2014 [cited by applicant]
US 8706914B2 · Duchesneau · 2014 [cited by applicant]
US 8822155B2 · Sukumar et al. · 2014 [cited by applicant]
US 8918478B2 · Ozzie et al. · 2014 [cited by applicant]
US 9053167B1 · Swift et al. · 2015 [cited by applicant]
US 9069465B2 · Hatasaki et al. · 2015 [cited by applicant]
US 9141305B2 · Tylik et al. · 2015 [cited by applicant]
US 9208032B1 · McAlister et al. · 2015 [cited by applicant]
US 9275063B1 · Natanzon · 2016 [cited by applicant]
US 9280678B2 · Redberg · 2016 [cited by applicant]
US 9395922B2 · Nishikido et al. · 2016 [cited by applicant]
US 9462056B1 · Protopopov et al. · 2016 [cited by applicant]
US 9489443B1 · Muniswamy-Reddy et al. · 2016 [cited by applicant]
US 9552299B2 · Stalzer · 2017 [cited by applicant]
US 9619293B1 · Cropper et al. · 2017 [cited by applicant]
US 9619429B1 · Wang et al. · 2017 [cited by applicant]
US 9740403B2 · Storer et al. · 2017 [cited by applicant]
US 9767119B2 · Sprague et al. · 2017 [cited by applicant]
US 9864539B1 · Tylik et al. · 2018 [cited by applicant]
US 9864874B1 · Shanbhag et al. · 2018 [cited by applicant]
US 9904587B1 · Potlapally et al. · 2018 [cited by applicant]
US 9916442B2 · Lindo et al. · 2018 [cited by applicant]
US 9930133B2 · Susarla et al. · 2018 [cited by applicant]
US 9953293B2 · Benke et al. · 2018 [cited by applicant]
US 9983807B1 · Tylik · 2018 [cited by applicant]
US 10013196B2 · Tylik et al. · 2018 [cited by applicant]
US 10025673B1 · Maccanti et al. · 2018 [cited by applicant]
US 10061692B1 · Nicklin et al. · 2018 [cited by applicant]
US 10102356B1 · Sahin et al. · 2018 [cited by applicant]
US 10185495B2 · Katsuki · 2019 [cited by applicant]
US 10192065B2 · Iyer et al. · 2019 [cited by applicant]
US 10284532B2 · Quinlan et al. · 2019 [cited by applicant]
US 10324639B2 · Seo · 2019 [cited by applicant]
US 10331350B1 · Kucherov et al. · 2019 [cited by applicant]
US 10355946B1 · Dolas et al. · 2019 [cited by applicant]
US 10387263B2 · Karinta · 2019 [cited by applicant]
US 10397324B2 · Hrischuk et al. · 2019 [cited by applicant]
US 10503564B2 · Krstić et al. · 2019 [cited by applicant]
US 10567406B2 · Astigarraga et al. · 2020 [cited by applicant]
US 10572284B2 · Bugenhagen · 2020 [cited by applicant]
US 10592140B2 · Nicklin et al. · 2020 [cited by applicant]
US 10613961B2 · Chen · 2020 [cited by applicant]
US 10690512B2 · Das et al. · 2020 [cited by applicant]
US 10705904B2 · Potlapally et al. · 2020 [cited by applicant]
US 10749943B1 · Feiguine et al. · 2020 [cited by applicant]
US 10768986B2 · Aronovich et al. · 2020 [cited by applicant]
US 10791174B2 · Nachimuthu et al. · 2020 [cited by applicant]
US 10798207B2 · Susarla et al. · 2020 [cited by applicant]
US 10810088B1 · Gu et al. · 2020 [cited by applicant]
US 10824355B2 · Ahmed et al. · 2020 [cited by applicant]
US 10846137B2 · Vallala et al. · 2020 [cited by applicant]
US 10860382B1 · Sharifi Mehr · 2020 [cited by applicant]
US 10866767B2 · Sterin et al. · 2020 [cited by applicant]
US 10877683B2 · Wu et al. · 2020 [cited by applicant]
US 10929192B2 · Biener et al. · 2021 [cited by applicant]
US 10986114B1 · Singh et al. · 2021 [cited by applicant]
US 11003504B2 · Prabhakar et al. · 2021 [cited by applicant]
US 11023128B2 · Pabon · 2021 [cited by applicant]
US 11068296B2 · Khan et al. · 2021 [cited by applicant]
US 11080080B2 · Shibayama et al. · 2021 [cited by applicant]
US 11080081B2 · Shibayama et al. · 2021 [cited by applicant]
US 11106810B2 · Natanzon et al. · 2021 [cited by applicant]
US 11169856B2 · Parekh et al. · 2021 [cited by applicant]
US 11171995B2 · Young et al. · 2021 [cited by applicant]
US 11212303B1 · Shah · 2021 [cited by applicant]
US 11221829B2 · Creti et al. · 2022 [cited by applicant]
US 11238173B2 · Iyer et al. · 2022 [cited by applicant]
US 11281457B2 · Jodoin et al. · 2022 [cited by applicant]
US 11301550B2 · Grajek et al. · 2022 [cited by applicant]
US 11307894B1 · Jibaja et al. · 2022 [cited by applicant]
US 11321130B2 · Hallur et al. · 2022 [cited by applicant]
US 11340837B1 · Vohra et al. · 2022 [cited by applicant]
US 11366735B2 · Selegean et al. · 2022 [cited by applicant]
US 11409552B2 · Medina et al. · 2022 [cited by applicant]
US 11455234B2 · Ghare et al. · 2022 [cited by applicant]
US 11460320B2 · Das et al. · 2022 [cited by applicant]
US 11487588B2 · Shivanna et al. · 2022 [cited by applicant]
US 11550613B2 · Jin et al. · 2023 [cited by applicant]
US 11586471B2 · Nakamura et al. · 2023 [cited by applicant]
US 11663029B2 · Shibayama et al. · 2023 [cited by applicant]
US 20040243699A1 · Koclanes et al. · 2004 [cited by applicant]
US 20050080838A1 · Colby et al. · 2005 [cited by applicant]
US 20060161753A1 · Aschoff et al. · 2006 [cited by applicant]
US 20070283119A1 · Sarkar et al. · 2007 [cited by applicant]
US 20080034093A1 · Sutou · 2008 [cited by applicant]
US 20080052719A1 · Briscoe · 2008 [cited by examiner]
US 20090119673A1 · Bubba · 2009 [cited by applicant]
US 20100082505A1 · Hollingsworth et al. · 2010 [cited by applicant]
US 20100241731A1 · Du et al. · 2010 [cited by applicant]
US 20100250748A1 · Sivasubramanian et al. · 2010 [cited by applicant]
US 20110035540A1 · Fitzgerald et al. · 2011 [cited by applicant]
US 20110138391A1 · Cho et al. · 2011 [cited by applicant]
US 20110161617A1 · Bamba et al. · 2011 [cited by applicant]
US 20120079556A1 · Wahl · 2012 [cited by applicant]
US 20120179823A1 · Hatasaki et al. · 2012 [cited by applicant]
US 20120266163A1 · Durham et al. · 2012 [cited by applicant]
US 20140156877A1 · Tylik et al. · 2014 [cited by applicant]
US 20140201218A1 · Catalano et al. · 2014 [cited by applicant]
US 20150269239A1 · Swift et al. · 2015 [cited by applicant]
US 20150373105A1 · Okada et al. · 2015 [cited by applicant]
US 20160119443A1 · Susarla et al. · 2016 [cited by applicant]
US 20160188582A1 · Sprague et al. · 2016 [cited by applicant]
US 20160259586A1 · Tylik et al. · 2016 [cited by applicant]
US 20170060918A1 · Iyer et al. · 2017 [cited by applicant]
US 20170116040A1 · Cropper et al. · 2017 [cited by applicant]
US 20170185438A1 · Thomas et al. · 2017 [cited by applicant]
US 20170235503A1 · Karr · 2017 [cited by examiner]
US 20170308330A1 · Suresh et al. · 2017 [cited by applicant]
US 20180069867A1 · Grajek et al. · 2018 [cited by applicant]
US 20180101568A1 · Jones-McFadden et al. · 2018 [cited by applicant]
US 20190155511A1 · Tenner et al. · 2019 [cited by applicant]
US 20190196877A1 · Biener et al. · 2019 [cited by applicant]
US 20190312934A1 · Mitkar et al. · 2019 [cited by applicant]
US 20190317757A1 · Jodoin et al. · 2019 [cited by applicant]
US 20190362004A1 · Oks et al. · 2019 [cited by applicant]
US 20200012509A1 · Khan et al. · 2020 [cited by applicant]
US 20200104151A1 · Shibayama · 2020 [cited by applicant]
US 20200104153A1 · Shibayama et al. · 2020 [cited by applicant]
US 20200117447A1 · Catalano et al. · 2020 [cited by applicant]
US 20200159648A1 · Ghare et al. · 2020 [cited by applicant]
US 20200233938A1 · Sirianni et al. · 2020 [cited by applicant]
US 20200244706A1 · Young et al. · 2020 [cited by applicant]
US 20200250006A1 · Parekh et al. · 2020 [cited by applicant]
US 20200267057A1 · Garvey et al. · 2020 [cited by applicant]
US 20200271476A1 · Das et al. · 2020 [cited by applicant]
US 20200311603A1 · Qiu et al. · 2020 [cited by applicant]
US 20200409767A1 · Prabhakar et al. · 2020 [cited by applicant]
US 20210034423A1 · Hallur et al. · 2021 [cited by applicant]
US 20210055862A1 · Mulholland · 2021 [cited by examiner]
US 20210141538A1 · Sakai et al. · 2021 [cited by applicant]
US 20210141900A1 · Brown et al. · 2021 [cited by applicant]
US 20210144164A1 · Mathur et al. · 2021 [cited by applicant]
US 20210149669A1 · Catalano et al. · 2021 [cited by applicant]
US 20210211443A1 · Sullivan et al. · 2021 [cited by applicant]
US 20210294630A1 · Jin et al. · 2021 [cited by applicant]
US 20210328942A1 · Ghosh et al. · 2021 [cited by applicant]
US 20210357248A1 · Shibayama et al. · 2021 [cited by applicant]
US 20210389990A1 · Nakamura et al. · 2021 [cited by applicant]
US 20210406086A1 · Shivanna et al. · 2021 [cited by applicant]
US 20220035574A1 · Cain · 2022 [cited by applicant]
US 20220035627A1 · Catalano et al. · 2022 [cited by applicant]
US 20220066910A1 · Malleni · 2022 [cited by examiner]
US 20220092159A1 · Grajek et al. · 2022 [cited by applicant]
US 20220253255A1 · Vohra et al. · 2022 [cited by applicant]
US 20220276907A1 · Longo et al. · 2022 [cited by applicant]
US 20220279001A1 · Shah · 2022 [cited by applicant]
US 20220283862A1 · Narayana Gowda et al. · 2022 [cited by applicant]
US 20220318057A1 · Hebbalalu et al. · 2022 [cited by applicant]
US 20220345524A1 · Mitkar et al. · 2022 [cited by applicant]
US 20220365825A1 · Toal et al. · 2022 [cited by applicant]
US 20220376970A1 · Chawathe et al. · 2022 [cited by applicant]
US 20220382455A1 · Lee et al. · 2022 [cited by applicant]
US 20220385682A1 · Levin et al. · 2022 [cited by applicant]
US 20220391138A1 · Dronamraju et al. · 2022 [cited by applicant]
US 20220413956A1 · Mathew et al. · 2022 [cited by applicant]
US 20230004370A1 · Seth et al. · 2023 [cited by applicant]
US 20230007023A1 · Andrabi et al. · 2023 [cited by applicant]
US 20230060766A1 · Thomas et al. · 2023 [cited by applicant]
US 20230121460A1 · Banerjee et al. · 2023 [cited by applicant]
US 20230128202A1 · Minda · 2023 [cited by applicant]
US 20230134266A1 · Sundararajan et al. · 2023 [cited by applicant]
US 20230153141A1 · Guo et al. · 2023 [cited by applicant]
US 20230168934A1 · Vaka et al. · 2023 [cited by applicant]
US 20230236767A1 · Karr · 2023 [cited by examiner]
Hwang, et al., “RAID-x: A New Distributed Disk Array for I/O-Centric Cluster Computing”, Proceedings the Ninth International Symposium on High-Performance Distributed Computing, 2000, pp. 279-286. [cited by applicant]
Stalzer, “FlashBlades: System Architecture and Applications”, Proceedings of the 2nd Workshop on Architectures and Systems for Big Data, Association for Computing Machinery, New York, NY, 2012, pp. 10-14. [cited by applicant]
Storer, et al., “Pergamum: Replacing Tape with Energy Efficient, Reliable, Disc-Based Archival Storage”, Fast'08: Proceedings of the 6th USENIX Conference on File and Storage Technologies, Feb. 2008, Article No. 1, pp. … [cited by applicant]