IP Library Granted Patent US 12,487,983
Granted Patent B2
US 12,487,983 · App. 18/439,526 · Granted Dec 2, 2025

Time and value ordered data objects for a backup of a data set

Inventors: James Christopher Sorenson, III (Madison, WI); Hao He (Bellevue, WA); Nicholas Gordon (Seattle, WA); Mrithyunjaya Kumar Annapragada (Concord, MA)
Assignee: Amazon Technologies, Inc.
G06F16/2358G06F11/1451G06F16/219G06F16/2365G06F21/602G06F16/113G06F2201/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,487,983
App. No.
18/439,526
Granted
Dec 2, 2025
Kind
B2
Abstract

Time and value ordering may be applied for items stored in data backups. A change log that persists changes to a data set may be updated with changes and used to update an in-memory table for the data set, which describes changes to items up to a current time. An event may be detected to seal the in-memory table from subsequent updates and a persistent data object that orders the items in the in-memory according to both keys of the respective items and the respective time values of the items, as stored in the change log, may be generated and stored as part of a backup for the data set.

Claims (34)

1 . A system, comprising:

at least one processor; and

a memory, storing program instructions that when executed by the at least one processor, cause the at least one processor to implement a database system, the database system configured to:

detect a compaction event for a backup of a data set;

identify persistent data objects of the backup of the data set to merge;

generate a merged persistent data object that includes items from the persistent data objects sorted according to values of the items and respective time values of the items, the values of the items being included if the respective time values of the items are within a retention threshold; and

generate a current item version of the merged persistent data object that includes the values of those items with a latest time value for the item.

2 . The system of claim 1 , wherein the detection of the compaction event is based, at least in part, on availability of computing resources to perform compaction.

3 . The system of claim 1 , wherein the detection of the compaction event is based, at least in part, on a number of the persistent data objects.

4 . The system of claim 1 , wherein the detection of the compaction event is based, at least in part, on a periodic occurrence of time.

5 . The system of claim 1 , wherein the detection of the compaction event is based, at least in part, on a request received from a component monitoring backup storage utilization in order to induce more efficient read performance or reduce storage utilization.

6 . The system of claim 1 , wherein to generate the merged persistent data object, the database system is configured to encrypt data of the merged persistent data object.

7 . The system of claim 1 , wherein to generate the merged persistent data object, the database system is configured to compress data of the merged persistent data object.

8 . A method, comprising:

detecting a compaction event for a backup of a data set;

identifying persistent data objects of the backup of the data set to merge;

generating a merged persistent data object that includes items from the persistent data objects sorted according to values of the items and respective time values of the items, the values of the items being included if the respective time values of the items are within a retention threshold; and

generating a current item version of the merged persistent data object that includes the values of those items with a latest time value for the item.

9 . The method of claim 8 , wherein the detection of the compaction event is based, at least in part, on availability of computing resources to perform compaction.

10 . The method of claim 8 , wherein the detection of the compaction event is based, at least in part, on a number of the persistent data objects.

11 . The method of claim 8 , wherein the detection of the compaction event is based, at least in part, on a periodic occurrence of time.

12 . The method of claim 8 , wherein the detection of the compaction event is based, at least in part, on a request received from a component monitoring backup storage utilization in order to induce more efficient read performance or reduce storage utilization.

13 . The method of claim 8 , wherein generating the merged persistent data object comprises encrypting data of the merged persistent data object.

14 . The method of claim 8 , wherein generating the merged persistent data object comprises compressing data of the merged persistent data object.

15 . One or more non-transitory computer-readable storage media storing program instructions that, when executed on or across one or more computing devices, cause the one or more computing devices to implement:

detecting a compaction event for a backup of a data set;

identifying persistent data objects of the backup of the data set to merge;

generating a merged persistent data object that includes items from the persistent data objects sorted according to values of the items and respective time values of the items, the values of the items being included if the respective time values of the items are within a retention threshold; and

generating a current item version of the merged persistent data object that includes the values of those items with a latest time value for the item.

16 . The one or more non-transitory computer-readable storage media of claim 15 , wherein the detection of the compaction event is based, at least in part, on a number of the persistent data objects.

17 . The one or more non-transitory computer-readable storage media of claim 15 , wherein the detection of the compaction event is based, at least in part, on a number of the persistent data objects.

18 . The one or more non-transitory computer-readable storage media of claim 15 , wherein the detection of the compaction event is based, at least in part, on a request received from a component monitoring backup storage utilization in order to induce more efficient read performance or reduce storage utilization.

19 . The one or more non-transitory computer-readable storage media of claim 15 , wherein, in generating the merged persistent data object, the program instructions cause the one or more computing devices to implement encrypting data of the merged persistent data object.

20 . The one or more non-transitory computer-readable storage media of claim 15 , wherein, in generating the merged persistent data object,, the program instructions cause the one or more computing devices to implement compressing data of the merged persistent data object.

Continuity (2)
Continuation 18067692 · Dec 16, 2022
Related Publication 20240202181A1 · Jun 20, 2024
References Cited (27)
US 8498995B1 · Gond et al. · 2013 [cited by applicant]
US 8817541B2 · Li et al. · 2014 [cited by applicant]
US 8849825B1 · Mchugh · 2014 [cited by applicant]
US 8972337B1 · Gupta · 2015 [cited by applicant]
US 9842132B2 · McKenna et al. · 2017 [cited by applicant]
US 9953102B2 · Zhou et al. · 2018 [cited by applicant]
US 10133767B1 · Cole · 2018 [cited by applicant]
US 10649980B2 · Newman · 2020 [cited by applicant]
US 11928099B1 · Sorenson, III et al. · 2024 [cited by applicant]
US 20030163439A1 · Hankin et al. · 2003 [cited by applicant]
US 20050283567A1 · Popescu-Stanesti et al. · 2005 [cited by applicant]
US 20060271784A1 · Bolosky et al. · 2006 [cited by applicant]
US 20100306222A1 · Freedman et al. · 2010 [cited by applicant]
US 20110307736A1 · George · 2011 [cited by examiner]
US 20140082316A1 · Erdmann · 2014 [cited by applicant]
US 20150268878A1 · Amit et al. · 2015 [cited by applicant]
US 20150370644A1 · Graefe · 2015 [cited by applicant]
US 20160085473A1 · Hershey et al. · 2016 [cited by applicant]
US 20180253468A1 · Gurajada et al. · 2018 [cited by applicant]
US 20190097971A1 · Coleman et al. · 2019 [cited by applicant]
US 20200125660A1 · Shuma · 2020 [cited by applicant]
US 20220229732A1 · Chitloor · 2022 [cited by examiner]
US 20220269570A1 · Agarwal et al. · 2022 [cited by applicant]
WO 2021037684 · 2021 [cited by applicant]
WO WO2022098725A1 · 2022 [cited by examiner]
International Search Report and Written Opinion from PCT/US2023/083517, dated Apr. 19, 2024, pp. 1-11. [cited by applicant]
U.S. Appl. No. 18/067,684, filed Dec. 16, 2022, James Christopher Sorenson, III. [cited by applicant]