IP Library › Granted Patent US 12,730,825
Granted Patent B2
US 12,730,825 · App. 18/792,409 · Granted Sep 8, 2026

Dynamically modifying replication intervals based on accumulated data

Inventors: Abhishek Jain (San Jose, CA); Ronald Karr (Palo Alto, CA)
Assignee: EVERPURE, INC.
G06F16/27G06F11/1469H04L67/06G06F2201/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,730,825
App. No.
18/792,409
Granted
Sep 8, 2026
Kind
B2
Abstract

Estimates of amounts of time to transfer data to be replicated based on sizes of expected data transfers resulting from accumulated data since a previous data transfer are monitored. A determination as to whether an estimated amount of time to transfer the data exceeds an interval for replicating the data is made. The interval is determined based on a recovery point objective (RPO) for replicating the data. In response to determining that the estimated amount of time to transfer the data exceeds the interval, a subsequent interval for replicating the data is determined that satisfies the RPO.

Claims (38)

1 . A storage system, comprising:

a memory; and

a processing device, operatively coupled to the memory, the processing device configured to:

monitor estimates of amounts of time to transfer accumulated data to be replicated based on sizes of expected data transfers resulting from the accumulated data and a bandwidth of a network to transfer the accumulated data, wherein the estimates of the amounts of time are calculated through the processing device;

determine whether an estimated amount of time to transfer the data exceeds an interval for replicating the data, the interval determined based on a recovery point objective (RPO) for replicating the data;

in response to determining that the estimated amount of time to transfer the data exceeds the interval, determine a subsequent interval for replicating the data that satisfies the RPO; and

replicate the data via data transfers over the network according to the subsequent interval.

2 . The storage system of claim 1 , wherein the subsequent interval is determined based on an increased size of accumulated data for an upcoming data transfer.

3 . The storage system of claim 1 , wherein the subsequent interval is determined based on a decreased bandwidth of a network transferring the data.

4 . The storage system of claim 3 , wherein the storage system is a distributed storage system having a plurality of storage nodes, the plurality of storage nodes comprising managed flash storage devices.

5 . The storage system of claim 1 , wherein the subsequent interval comprises a reduced time interval for starting of a next data transfer.

6 . The storage system of claim 1 , wherein the processing device is further configured to:

determine when a next data transfer of replicated accumulated data occurs, based on determining a size of accumulated data of the storage system since a snapshot of the storage system for the previous data transfer.

7 . The storage system of claim 1 , wherein the processing device is further configured to:

execute a snapshot of the storage system to start replicating for a next data transfer, responsive to identifying a burst of accumulating data.

8 . The storage system of claim 1 , wherein the processing device is further configured to:

determine an overwrite pattern of accumulating data of the storage system, wherein the determining the subsequent interval is further based on the overwrite pattern.

9 . The storage system of claim 1 wherein the RPO is a maximum acceptable amount of data accumulation loss as measured by time.

10 . A method, comprising:

monitoring estimates of amounts of time to transfer accumulated data to be replicated within a storage system based on sizes of expected data transfers resulting from the accumulated data and a bandwidth of a network to transfer the accumulated data, wherein the estimates of the amounts of time are calculated through the processing device

determining, by a processing device of a storage controller, whether an estimated amount of time to transfer the data exceeds an interval for replicating the data, the interval determined based on a recovery point objective (RPO) for replicating the data;

in response to determining that the estimated amount of time to transfer the data exceeds the interval, determining a subsequent interval for replicating the data that satisfies the RPO; and

replicating the data via data transfers over the network according to the subsequent interval.

11 . The method of claim 10 , wherein the subsequent interval is determined based on an increased size of accumulated data for an upcoming data transfer.

12 . The method of claim 10 , wherein the subsequent interval is determined based on a decreased bandwidth of a network transferring the data.

13 . The method of claim 12 , wherein the storage system is a distributed storage system having a plurality of storage nodes, the plurality of storage nodes comprising managed flash storage devices.

14 . The method of claim 10 , wherein the subsequent interval comprises a reduced time interval for starting of a next data transfer.

15 . A non-transitory computer readable storage medium storing instructions which, when executed, cause a processing device to:

monitor estimates of amounts of time to transfer accumulated data to be replicated within a storage system based on sizes of expected data transfers resulting from the accumulated data and a bandwidth of a network to transfer the accumulated data, wherein the estimates of the amounts of time are calculated through the processing device;

determine whether an estimated amount of time to transfer the data exceeds an interval for replicating the data, the interval determined based on a recovery point objective (RPO) for replicating the data;

in response to determining that the estimated amount of time to transfer the data exceeds the interval, determine a subsequent interval for replicating the data that satisfies the RPO; and

replicating the data via data transfers over the network according to the subsequent interval.

16 . The non-transitory computer readable storage medium of claim 15 , wherein the subsequent interval is determined based on an increased size of accumulated data for an upcoming data transfer.

17 . The non-transitory computer readable storage medium of claim 15 , wherein the subsequent interval is determined based on a decreased bandwidth of a network transferring the data.

18 . The non-transitory computer readable storage medium of claim 17 , wherein the storage system is a distributed storage system having a plurality of storage nodes, the plurality of storage nodes comprising managed flash storage devices.

19 . The non-transitory computer readable storage medium of claim 15 , wherein the subsequent interval comprises a reduced time interval for starting of a next data transfer.

20 . The non-transitory computer readable storage medium of claim 15 , wherein the processing device is further configured to:

determine when a next data transfer of replicated accumulated data occurs, based on determining a size of accumulated data of a storage system since a snapshot of the storage system for the previous data transfer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2024
From: JAIN, ABHISHEK; KARR, RONALD
To: PURE STORAGE, INC.
Reel/Frame 068164/0116 →
Continuity (3)
Continuation 17985712 · Nov 11, 2022
Continuation 17219169 · Mar 31, 2021
Related Publication 20240394277A1 · Nov 28, 2024
References Cited (31)
US 7702667B2 · Yahalom et al. · 2010 [cited by applicant]
US 9442748B2 · Burshan et al. · 2016 [cited by applicant]
US 9910742B1 · Faibish et al. · 2018 [cited by applicant]
US 9983958B2 · Bhat et al. · 2018 [cited by applicant]
US 10191687B1 · Baruch · 2019 [cited by examiner]
US 10474536B2 · Kulkarni et al. · 2019 [cited by applicant]
US 10498815B2 · Desai et al. · 2019 [cited by applicant]
US 11748376B1 · Wang et al. · 2023 [cited by applicant]
US 12235805B1 · Zhang et al. · 2025 [cited by applicant]
US 20090313311A1 · Hoffmann · 2009 [cited by examiner]
US 20100169283A1 · Atluri et al. · 2010 [cited by applicant]
US 20100185583A1 · Berinde et al. · 2010 [cited by applicant]
US 20100191884A1 · Holenstein · 2010 [cited by examiner]
US 20150186488A1 · Fischer · 2015 [cited by examiner]
US 20160142485A1 · Mitkar et al. · 2016 [cited by applicant]
US 20160344812A1 · Desai et al. · 2016 [cited by applicant]
US 20160357642A1 · Burshan et al. · 2016 [cited by applicant]
US 20170155713A1 · Powell et al. · 2017 [cited by applicant]
US 20180074748A1 · Makin et al. · 2018 [cited by applicant]
US 20180081562A1 · Vasudevan · 2018 [cited by applicant]
US 20200034247A1 · Kulkarni et al. · 2020 [cited by applicant]
US 20220156114A1 · Nagpal et al. · 2022 [cited by applicant]
US 20220318264A1 · Jain et al. · 2022 [cited by applicant]
US 20230087089A1 · Jain et al. · 2023 [cited by applicant]
US 20230103955A1 · Shemer · 2023 [cited by examiner]
US 20230137525A1 · Karr · 2023 [cited by examiner]
US 20230367479A1 · Colgrove · 2023 [cited by examiner]
US 20240184474A1 · Liang et al. · 2024 [cited by applicant]
US 20240248910A1 · Subramanian et al. · 2024 [cited by applicant]
Frakes Dan, Up close with Mountain Lion: Power Nap (Frakes, Dan, Working Mac—Up close with Mountain Lion: Power Nap, Macworld.com, Aug. 1, 2012, pp. 1-6. [cited by applicant]
Wong T.M., et al., “Verifiable Secret Redistribution for Archive Systems,” Proceedings on First International IEEE Security in Storage Workshop (SISW'02), IEEE Xplore, Dec. 2002, 12 pages, DOI: 10.1109/SISW.2002.1183515. [cited by applicant]