IP Library Granted Patent US 12,566,869
Granted Patent B2
US 12,566,869 · App. 18/818,441 · Granted Mar 3, 2026

Retention policy-based protection of data written to a data store

Inventors: Ronald Karr (Palo Alto, CA); Glen Kerr (Melbourne, AU)
Assignee: Pure Storage, Inc.
G06F21/602G06F3/0608G06F3/0652G06F3/067
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,566,869
App. No.
18/818,441
Filed
Aug 28, 2024
Granted
Mar 3, 2026
Kind
B2
Art Unit
2499
USPC
713/189
Abstract

An illustrative method includes determining that a first data instance stored within a first data store is replicated as a second data instance stored within a second data store, determining that a second retention policy associated with the second data instance stored within the second data store is at least as stringent as a first retention policy associated with the first data instance stored within the first data store, and modifying, based on the determining that the second retention policy is as least as stringent as the first retention policy, the first retention policy to allow for the first data instance to be modified or deleted without the first set of one or more conditions each being satisfied.

Claims (61)

1 . A method comprising:

determining, by a data protection system, that a first data instance stored within a first data store is replicated as a second data instance stored within a second data store;

determining, by the data protection system, that a second retention policy associated with the second data instance stored within the second data store is at least as stringent as a first retention policy associated with the first data instance stored within the first data store, the first retention policy specifying a first set of one or more conditions that each have to be satisfied for the first data instance to be modified or deleted from the first data store and the second retention policy specifying a second set of one or more conditions that each have to be satisfied for the second data instance to be modified or deleted from the second data store; and

modifying, by the data protection system based on the determining that the second retention policy is as least as stringent as the first retention policy, the first retention policy to allow for the first data instance to be modified or deleted without the first set of one or more conditions each being satisfied;

wherein when the second retention policy is already created before the first data instance is replicated as the second data instance, the method further comprises modifying the second retention policy to be at least as stringent as the first retention policy; and

wherein the modifying the second retention policy to be at least as stringent as the first retention policy comprises:

determining, based on a comparison of the first and second retention policies, that the first retention policy specifies that the first data instance cannot be modified or deleted for a greater amount of time than what is specified in the second retention policy, and

modifying the second retention policy to specify that the second data instance cannot be modified or deleted for a period at least equivalent to that specified in the first retention policy.

2 . The method of claim 1 , wherein:

the first set of one or more conditions specifies a first retention time period that specifies a minimum threshold of time that the first data instance should be retained before being modified or deleted; and

the second set of one or more conditions specifies a second retention time period that specifies a minimum threshold of time that the second data instance should be retained before being modified or deleted.

3 . The method of claim 1 , wherein:

the first set of one or more conditions specifies a first minimum threshold of entities that have to approve a modification or deletion of the first data instance; and

the second set of one or more conditions specifies a second minimum threshold of entities that have to approve a modification or deletion of the second data instance.

4 . The method of claim 1 , further comprising:

detecting, by the data protection system, a write event in which the first data instance is written to the first data store;

issuing, by the data protection system based on the detecting the write event, a command to perform a replication process in which the first data instance is replicated to the second data store;

wherein the determining that the first data instance is replicated as the second data instance is performed based on the issuing the command to perform the replication process.

5 . The method of claim 4 , further comprising creating, by the data protection system based on the command to perform the replication process, the second retention policy for the second data instance.

6 . The method of claim 5 , wherein:

the second data store comprises an object-based bucket; and

the creating the second retention policy comprises creating an object lock for the object-based bucket that specifies the second set of one or more conditions.

7 . The method of claim 1 , wherein the determining that the second retention policy is at least as stringent as the first retention policy comprises setting the second retention policy to be at least as stringent as the first retention policy.

8 . The method of claim 1 , wherein the modifying the first retention policy comprises transmitting an update command to a data store that stores data representative of the first retention policy, the update command configured to update the data representative of the first retention policy.

9 . The method of claim 1 , wherein:

the first data store comprises a file-based data store; and

the second data store comprises an object-based data store.

10 . The method of claim 1 , wherein the first data store and the second data store are included in a single storage system.

11 . The method of claim 1 , wherein the first data store is included in a first storage system and the second data store is included in a second storage system remote from and communicatively coupled to the first storage system by way of a network.

12 . The method of claim 1 , wherein the data protection system is implemented by a storage system associated with the first data store.

13 . The method of claim 1 , wherein the data protection system is implemented by a storage system associated with the second data store.

14 . The method of claim 1 , wherein the data protection system is implemented by a cloud-based monitoring system communicatively coupled to the first data store and the second data store by way of a network.

15 . A system comprising:

a memory storing instructions; and

one or more processors communicatively coupled to the memory and configured to execute the instructions to perform a process comprising:

determining that first data instance stored within a first data store is replicated as a second data instance stored within a second data store;

determining that a second retention policy associated with the second data instance stored within the second data store is at least as stringent as a first retention policy associated with the first data instance stored within the first data store, the first retention policy specifying a first set of one or more conditions that each have to be satisfied for the first data instance to be modified or deleted from the first data store and the second retention policy specifying a second set of one or more conditions that each have to be satisfied for the second data instance to be modified or deleted from the second data store; and

modifying, based on the determining that the second retention policy is as least as stringent as the first retention policy, the first retention policy to allow for the first data instance to be modified or deleted without the first set of one or more conditions each being satisfied;

wherein when the second retention policy is already created before the first data instance is replicated as the second data instance, the process further comprises modifying the second retention policy to be at least as stringent as the first retention policy; and

wherein the modifying the second retention policy to be at least as stringent as the first retention policy comprises:

determining, based on a comparison of the first and second retention policies, that the first retention policy specifies that the first data instance cannot be modified or deleted for a greater amount of time than what is specified in the second retention policy, and

modifying the second retention policy to specify that the second data instance cannot be modified or deleted for a period at least equivalent to that specified in the first retention policy.

16 . The system of claim 15 , wherein:

the first set of one or more conditions specifies a first retention time period that specifies a minimum threshold of time that the first data instance should be retained before being modified or deleted; and

the second set of one or more conditions specifies a second retention time period that specifies a minimum threshold of time that the second data instance should be retained before being modified or deleted.

17 . The system of claim 15 , wherein:

the first set of one or more conditions specifies a first minimum threshold of entities that have to approve a modification or deletion of the first data instance; and

the second set of one or more conditions specifies a second minimum threshold of entities that have to approve a modification or deletion of the second data instance.

18 . The system of claim 15 , wherein the process further comprises:

detecting a write event in which the first data instance is written to the first data store;

issuing, based on the detecting the write event, a command to perform a replication process in which the first data instance is replicated to the second data store;

wherein the determining that the first data instance is replicated as the second data instance is performed based on the issuing the command to perform the replication process.

19 . The system of claim 15 , wherein the determining that the second retention policy is at least as stringent as the first retention policy comprises setting the second retention policy to be at least as stringent as the first retention policy.

20 . A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for performing a process comprising:

determining that first data instance stored within a first data store is replicated as a second data instance stored within a second data store;

determining that a second retention policy associated with the second data instance stored within the second data store is at least as stringent as a first retention policy associated with the first data instance stored within the first data store, the first retention policy specifying a first set of one or more conditions that each have to be satisfied for the first data instance to be modified or deleted from the first data store and the second retention policy specifying a second set of one or more conditions that each have to be satisfied for the second data instance to be modified or deleted from the second data store; and

modifying, based on the determining that the second retention policy is as least as stringent as the first retention policy, the first retention policy to allow for the first data instance to be modified or deleted without the first set of one or more conditions each being satisfied;

wherein when the second retention policy is already created before the first data instance is replicated as the second data instance, the process further comprises modifying the second retention policy to be at least as stringent as the first retention policy; and

wherein the modifying the second retention policy to be at least as stringent as the first retention policy comprises:

determining, based on a comparison of the first and second retention policies, that the first retention policy specifies that the first data instance cannot be modified or deleted for a greater amount of time than what is specified in the second retention policy, and

modifying the second retention policy to specify that the second data instance cannot be modified or deleted for a period at least equivalent to that specified in the first retention policy.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2024
From: KARR, RONALD; KERR, GLEN
To: PURE STORAGE, INC.
Reel/Frame 068432/0822 →
Continuity (43)
Continuation In Part 18127926 · Mar 29, 2023
Continuation In Part 17980354 · Nov 3, 2022
Continuation In Part 17846301 · Jun 22, 2022
Continuation In Part 17725182 · Apr 20, 2022
Continuation In Part 17723903 · Apr 19, 2022
Continuation In Part 17541870 · Dec 3, 2021
Continuation In Part 17506509 · Oct 20, 2021
Continuation In Part 17506501 · Oct 20, 2021
Continuation In Part 17463088 · Aug 31, 2021
Continuation In Part 17409124 · Aug 23, 2021
Continuation In Part 17409130 · Aug 23, 2021
Continuation In Part 17409135 · Aug 23, 2021
Continuation In Part 17342203 · Jun 8, 2021
Continuation In Part 17235737 · Apr 20, 2021
Continuation 17161553 · Jan 28, 2021
Continuation In Part 17074313 · Oct 19, 2020
Continuation In Part 17039556 · Sep 30, 2020
Continuation In Part 17039536 · Sep 30, 2020
Continuation In Part 17039604 · Sep 30, 2020
Continuation In Part 17039486 · Sep 30, 2020
Continuation In Part 16916903 · Jun 30, 2020
Continuation In Part 16916903 · Jun 30, 2020
Continuation In Part 16916903 · Jun 30, 2020
Continuation 16916903 · Jun 30, 2020
Continuation In Part 16916903 · Jun 30, 2020
Continuation In Part 16916903 · Jun 30, 2020
Continuation In Part 16916903 · Jun 30, 2020
Continuation In Part 16917030 · Jun 30, 2020
Continuation In Part 16916903 · Jun 30, 2020
Continuation In Part 16916903 · Jun 30, 2020
Continuation In Part 16916903 · Jun 30, 2020
Continuation In Part 16916903 · Jun 30, 2020
Continuation In Part 16711060 · Dec 11, 2019
Continuation In Part 16711060 · Dec 11, 2019
Continuation In Part 16711060 · Dec 11, 2019
Continuation In Part 16711060 · Dec 11, 2019
Continuation In Part 16711060 · Dec 11, 2019
Continuation In Part 16711060 · Dec 11, 2019
Continuation In Part 16711060 · Dec 11, 2019
Continuation In Part 16711060 · Dec 11, 2019
Provisional Application 62985229 · Mar 4, 2020
Provisional Application 62939518 · Nov 22, 2019
Related Publication 20240419816A1 · Dec 19, 2024
References Cited (50)
US 7590812B2 · Brettell · 2009 [cited by examiner]
US 7600086B2 · Hochberg · 2009 [cited by examiner]
US 8286030B1 · Chatterjee · 2012 [cited by examiner]
US 8484737B1 · Swift · 2013 [cited by examiner]
US 9497194B2 · Akula · 2016 [cited by examiner]
US 9912752B1 · Davis · 2018 [cited by examiner]
US 10325092B2 · Casassa Mont · 2019 [cited by examiner]
US 10353619B1 · Jha · 2019 [cited by examiner]
US 10613791B2 · Meister · 2020 [cited by examiner]
US 10673793B2 · Mutha · 2020 [cited by examiner]
US 10990282B1 · Lee · 2021 [cited by examiner]
US 11232068B2 · Dhanasekaran · 2022 [cited by examiner]
US 11436097B1 · Kumar · 2022 [cited by examiner]
US 11520907B1 · Borowiec · 2022 [cited by examiner]
US 11593017B1 · Chang · 2023 [cited by examiner]
US 11829271B2 · Ramasamy et al. · 2023 [cited by applicant]
US 11921670B1 · Emberson · 2024 [cited by examiner]
US 11941116B2 · Kutner · 2024 [cited by examiner]
US 12072868B1 · Opincariu · 2024 [cited by examiner]
US 20050182910A1 · Stager · 2005 [cited by examiner]
US 20070276843A1 · Lillibridge · 2007 [cited by examiner]
US 20110055559A1 · Li · 2011 [cited by examiner]
US 20110196833A1 · Drobychev · 2011 [cited by examiner]
US 20130024423A1 · Doshi · 2013 [cited by examiner]
US 20130110969A1 · Wertheimer · 2013 [cited by examiner]
US 20140089278A1 · Lovinger · 2014 [cited by examiner]
US 20160162374A1 · Mutha · 2016 [cited by examiner]
US 20170032006A1 · Anglin · 2017 [cited by examiner]
US 20190057218A1 · Bhaskara · 2019 [cited by examiner]
US 20190075130A1 · Petry · 2019 [cited by examiner]
US 20190188278A1 · Liszka · 2019 [cited by examiner]
US 20200076632A1 · Beloussov · 2020 [cited by examiner]
US 20210042263A1 · Zdornov · 2021 [cited by examiner]
US 20210216628A1 · Kutner · 2021 [cited by examiner]
US 20210216666A1 · Miller · 2021 [cited by examiner]
US 20210240347A1 · Lee · 2021 [cited by examiner]
US 20210271686A1 · Abdul Rasheed · 2021 [cited by examiner]
US 20210334154A1 · Kalamkar · 2021 [cited by examiner]
US 20210382995A1 · Massiglia · 2021 [cited by examiner]
US 20220050898A1 · Rokade · 2022 [cited by examiner]
US 20220092036A1 · Goodall · 2022 [cited by examiner]
US 20220092180A1 · Richardson · 2022 [cited by examiner]
US 20220284000A1 · Ramasamy · 2022 [cited by examiner]
US 20240104052A1 · Madan · 2024 [cited by examiner]
US 20240104057A1 · Madan · 2024 [cited by examiner]
US 20240193283A1 · Dumitrascu · 2024 [cited by examiner]
US 20240195773A1 · Vasamsetti · 2024 [cited by examiner]
US 20240281544A1 · Dumitrascu · 2024 [cited by examiner]
US 20240419816A1 · Karr · 2024 [cited by examiner]
US 20250217501A1 · Stone · 2025 [cited by examiner]