IP Library › Granted Patent US 12,235,807
Granted Patent B2
US 12,235,807 · App. 18/110,195 · Granted Feb 25, 2025

Backend storage system implementing multiple data management models

Inventors: Weiwei Mou (Sunnyvale, CA); Prabir Paul (San Jose, CA); Abhay Chavan (Pune, IN); Luis Pablo Pabón (Sturbridge, MA)
Assignee: Pure Storage, Inc.
G06F16/1824G06F11/1469G06F2201/84
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,235,807
App. No.
18/110,195
Filed
Feb 15, 2023
Granted
Feb 25, 2025
Kind
B2
Art Unit
2159
USPC
707/640
Abstract

An illustrative method includes a storage management system receiving, from a containerized application, a storage operation request associated with a storage volume in a storage system, the storage system including a plurality of volume instances of the storage volume that correspond to a plurality of data management models, identifying, from the plurality of volume instances, one or more particular volume instances based on the storage operation request and a data management model of each volume instance in the plurality of volume instances, and directing the storage operation request to the one or more particular volume instances to be performed on the one or more particular volume instances.

Claims (42)

1. A method comprising:

receiving, by a storage management system and from a containerized application, a recovery request to restore, from a recovery dataset, a storage volume in a storage system, the storage system including a plurality of volume instances of the storage volume that correspond to a plurality of data management models;

identifying, by the storage management system and from the plurality of volume instances, one or more particular volume instances based on the recovery request, the one or more particular volume instances respectively stored in one or more storage locations configured with a second data management model;

directing, by the storage management system, the recovery request to the one or more particular volume instances;

receiving, by the storage management system, a notification indicating that the recovery request is successfully executed on a particular volume instance among the one or more particular volume instances to restore data in the particular volume instance to a state associated with a past time;

creating, by the storage management system and in response to the receiving of the notification, one or more additional volume instances based on the data in the particular volume instance, wherein the one or more additional volume instances correspond to a first data management model that facilitates one or more input/output (IO) operations;

deleting, by the storage management system, one or more volume instances corresponding to the first data management model in the plurality of volume instances, data in the one or more volume instances being associated with a current time; and

using, by the storage management system, the one or more additional volume instances in handling one or more storage operation requests.

2. The method of claim 1 , wherein:

the second data management model facilitates one or more data protection operations, the one or more data protection operations including one or more of a backup operation or a recovery operation.

3. The method of claim 2 , wherein:

a first volume instance among the one or more additional volume instances is stored in a storage location that is configured with the first data management model, the storage location being on a first compute node; and

a second volume instance among the one or more particular volume instances is stored in a different storage location that is configured with the second data management model, the different storage location being on the first compute node or on a second compute node distinct from the first compute node.

4. The method of claim 3 , wherein:

the containerized application is implemented on one of the first compute node, the second compute node, or a third compute node distinct from the first compute node and the second compute node.

5. The method of claim 1 , wherein the recovery request further includes

a backup request to create the recovery dataset.

6. The method of claim 1 , wherein:

data in the one or more additional volume instances replicates the data in the particular volume instance that is restored to the state associated with the past time; and

the one or more additional volume instances are respectively stored in one or more additional storage locations that are configured with the first data management model.

7. A system comprising:

a memory storing instructions; and

a processor communicatively coupled to the memory and configured to execute the instructions to:

receive, from a containerized application, a recovery request to restore, from a recovery dataset, a storage volume in a storage system, the storage system including a plurality of volume instances of the storage volume that correspond to a plurality of data management models;

identify, from the plurality of volume instances, one or more particular volume instances based on the recovery request, the one or more particular volume instances respectively stored in one or more storage locations configured with a second data management model;

direct the recovery request to the one or more particular volume instances;

receive a notification indicating that the recovery request is successfully executed on a particular volume instance among the one or more particular volume instances to restore data in the particular volume instance to a state associated with a past time;

create, in response to the receiving of the notification, one or more additional volume instances based on the data in the particular volume instance, wherein the one or more additional volume instances correspond to a first data management model that facilitates one or more input/output (IO) operations;

delete one or more volume instances corresponding to the first data management model in the plurality of volume instances, data in the one or more volume instances being associated with a current time; and

use the one or more additional volume instances in handling one or more storage operation requests.

8. The system of claim 7 , wherein:

the second data management model facilitates one or more data protection operations, the one or more data protection operations including one or more of a backup operation or a recovery operation.

9. The system of claim 7 , wherein the recovery request further includes

a backup request to create the recovery dataset.

10. A non-transitory computer-readable medium storing instructions that, when executed, direct a processor of a computing device to:

receive, from a containerized application, a recovery request to restore, from a recovery dataset, a storage volume in a storage system, the storage system including a plurality of volume instances of the storage volume that correspond to a plurality of data management models;

identify, from the plurality of volume instances, one or more particular volume instances based on the recovery request, the one or more particular volume instances respectively stored in one or more storage locations configured with a second data management model;

direct the recovery request to the one or more particular volume instances;

receive a notification indicating that the recovery request is successfully executed on a particular volume instance among the one or more particular volume instances to restore data in the particular volume instance to a state associated with a past time;

create, in response to the receiving of the notification, one or more additional volume instances based on the data in the particular volume instance, wherein the one or more additional volume instances correspond to a first data management model that facilitates one or more input/output (IO) operations;

delete one or more volume instances corresponding to the first data management model in the plurality of volume instances, data in the one or more volume instances being associated with a current time; and

use the one or more additional volume instances in handling one or more storage operation requests.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2023
From: MOU, WEIWEI; PAUL, PRABIR; CHAVAN, ABHAY; PABÓN, LUIS PABLO
To: PURE STORAGE, INC., A DELAWARE CORPORATION
Reel/Frame 062711/0046 →
Continuity (1)
Related Publication 20240273069A1 · Aug 15, 2024
References Cited (100)
US 6477544B1 · Bolosky et al. · 2002 [cited by applicant]
US 6618794B1 · Sicola et al. · 2003 [cited by applicant]
US 7076690B1 · Todd et al. · 2006 [cited by applicant]
US 7383466B2 · Kusters et al. · 2008 [cited by applicant]
US 7500071B2 · Boyd et al. · 2009 [cited by applicant]
US 7502960B1 · Todd et al. · 2009 [cited by applicant]
US 7613750B2 · Valiyaparambil · 2009 [cited by examiner]
US 7779425B2 · Pudipeddi et al. · 2010 [cited by applicant]
US 7840730B2 · D'Amato et al. · 2010 [cited by applicant]
US 7877545B2 · Sharma et al. · 2011 [cited by applicant]
US 7975115B2 · Wayda et al. · 2011 [cited by applicant]
US 8219524B2 · Gokhale · 2012 [cited by applicant]
US 8332365B2 · McAlister et al. · 2012 [cited by applicant]
US 8495472B1 · Magerramov et al. · 2013 [cited by applicant]
US 8504797B2 · Mimatsu · 2013 [cited by applicant]
US 8706914B2 · Duchesneau · 2014 [cited by applicant]
US 8822155B2 · Sukumar et al. · 2014 [cited by applicant]
US 8863139B2 · Kakeda · 2014 [cited by applicant]
US 8918478B2 · Ozzie et al. · 2014 [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 9430212B2 · Tripoli et al. · 2016 [cited by applicant]
US 9552299B2 · Stalzer · 2017 [cited by applicant]
US 9563385B1 · Kowalski et al. · 2017 [cited by applicant]
US 9600203B2 · Wei et al. · 2017 [cited by applicant]
US 9720620B1 · Wei et al. · 2017 [cited by applicant]
US 9720822B2 · Kimmel · 2017 [cited by applicant]
US 9740403B2 · Storer et al. · 2017 [cited by applicant]
US 9817578B2 · Rao et al. · 2017 [cited by applicant]
US 9819732B2 · Deulgaonkar et al. · 2017 [cited by applicant]
US 9864874B1 · Shanbhag et al. · 2018 [cited by applicant]
US 9886213B2 · Sivasubramanian et al. · 2018 [cited by applicant]
US 9946578B2 · Huang et al. · 2018 [cited by applicant]
US 9990161B2 · Piduri et al. · 2018 [cited by applicant]
US 10025673B1 · Maccanti et al. · 2018 [cited by applicant]
US 10102356B1 · Sahin et al. · 2018 [cited by applicant]
US 10185495B2 · Katsuki · 2019 [cited by applicant]
US 10268493B2 · Thomas et al. · 2019 [cited by applicant]
US 10289320B1 · Wigmore · 2019 [cited by applicant]
US 10324639B2 · Seo · 2019 [cited by applicant]
US 10331627B2 · Singh et al. · 2019 [cited by applicant]
US 10360057B1 · Vashishtha et al. · 2019 [cited by applicant]
US 10402578B2 · Roth et al. · 2019 [cited by applicant]
US 10491568B1 · Roth et al. · 2019 [cited by applicant]
US 10552041B2 · Rao et al. · 2020 [cited by applicant]
US 10567406B2 · Astigarraga et al. · 2020 [cited by applicant]
US 10705876B2 · Takashige et al. · 2020 [cited by applicant]
US 10719274B2 · Piduri et al. · 2020 [cited by applicant]
US 10776173B1 · Greenwood · 2020 [cited by applicant]
US 10810088B1 · Gu et al. · 2020 [cited by applicant]
US 10838624B2 · Watkins et al. · 2020 [cited by applicant]
US 10846137B2 · Vallala et al. · 2020 [cited by applicant]
US 10877683B2 · Wu et al. · 2020 [cited by applicant]
US 10949131B2 · Olson et al. · 2021 [cited by applicant]
US 11048534B2 · Thomas et al. · 2021 [cited by applicant]
US 11106810B2 · Natanzon et al. · 2021 [cited by applicant]
US 11281407B1 · Meiri et al. · 2022 [cited by applicant]
US 11294604B1 · McMullan et al. · 2022 [cited by applicant]
US 11354060B2 · Jayaraman et al. · 2022 [cited by applicant]
US 11507283B1 · Olson et al. · 2022 [cited by applicant]
US 11550484B2 · Kasso et al. · 2023 [cited by applicant]
US 11552844B1 · Ahles et al. · 2023 [cited by applicant]
US 20020143734A1 · Loy et al. · 2002 [cited by applicant]
US 20040044643A1 · Devries et al. · 2004 [cited by applicant]
US 20040111389A1 · Pudipeddi et al. · 2004 [cited by applicant]
US 20060136460A1 · Pudipeddi et al. · 2006 [cited by applicant]
US 20060155784A1 · Kusters et al. · 2006 [cited by applicant]
US 20070050591A1 · Boyd et al. · 2007 [cited by applicant]
US 20070094466A1 · Sharma et al. · 2007 [cited by applicant]
US 20080091744A1 · Shitomi et al. · 2008 [cited by applicant]
US 20080104081A1 · Mimatsu · 2008 [cited by applicant]
US 20090259816A1 · Sharma et al. · 2009 [cited by applicant]
US 20090327798A1 · D'Amato et al. · 2009 [cited by applicant]
US 20100250499A1 · McAlister et al. · 2010 [cited by applicant]
US 20110035540A1 · Fitzgerald et al. · 2011 [cited by applicant]
US 20120266177A1 · Kakeda et al. · 2012 [cited by applicant]
US 20130086585A1 · Huang et al. · 2013 [cited by applicant]
US 20140047144A1 · Haga · 2014 [cited by applicant]
US 20150227355A1 · Tripoli et al. · 2015 [cited by applicant]
US 20150261443A1 · Wei et al. · 2015 [cited by applicant]
US 20160179437A1 · Piduri et al. · 2016 [cited by applicant]
US 20170083354A1 · Thomas et al. · 2017 [cited by applicant]
US 20180067657A1 · Rao et al. · 2018 [cited by applicant]
US 20180150646A1 · Roth et al. · 2018 [cited by applicant]
US 20180260128A1 · Piduri et al. · 2018 [cited by applicant]
US 20190235761A1 · Watkins et al. · 2019 [cited by applicant]
US 20190258521A1 · Takashige et al. · 2019 [cited by applicant]
US 20200409611A1 · Olson et al. · 2020 [cited by applicant]
US 20210318895A1 · Thomas et al. · 2021 [cited by applicant]
US 20220027051A1 · Kant · 2022 [cited by examiner]
US 20220091785A1 · Meiri et al. · 2022 [cited by applicant]
US 20220164211A1 · Kumar · 2022 [cited by applicant]
US 20220236875A1 · Kasso et al. · 2022 [cited by applicant]
US 20220391138A1 · Dronamraju et al. · 2022 [cited by applicant]
US 20230019628A1 · Vohra et al. · 2023 [cited by applicant]
US 20230021150A1 · VanBenschoten · 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, et al., “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]
Cited By (1)
US 12,639,172