US 11,914,483 B1
Metadata-based recovery classification management
Koushik Biswas, Argyle, TX (US); James William Fogel, San Francisco, CA (US); Dhananjay Baburao Karanjkar, Pune (IN); Douglas John Youd, San Francisco, CA (US); Allistaire Mair, Miami, FL (US); and James Ryan Powers, Center Line, MI (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Dec. 2, 2021, as Appl. No. 17/457,392.
Int. Cl. G06F 16/18 (2019.01); G06F 3/04847 (2022.01); G06F 11/14 (2006.01); G06F 16/14 (2019.01)
CPC G06F 11/1466 (2013.01) [G06F 3/04847 (2013.01); G06F 11/1435 (2013.01); G06F 16/148 (2019.01); G06F 16/1873 (2019.01)] 17 Claims
OG exemplary drawing
 
1. A data storage system comprising:
a data store comprising one or more physical data storage media, wherein the data store is configured to store data-object-specific version metadata for each data object of a plurality of data objects, and wherein first data-object-specific version metadata for a first data object represents a plurality of data storage operations associated with the first data object; and
a recovery management system comprising one or more processors and computer-readable memory, wherein the recovery management system is configured to:
receive, via a graphical user interface, selection of a target recovery time for the plurality of data objects;
obtain a sorted version of the first data-object-specific version metadata, wherein the sorted version represents the plurality of data storage operations in reverse-chronological order;
generate a time series data structure using the sorted version, wherein to generate the time series data structure, the recovery management system is configured to:
add a pivot element to the time series data structure, wherein the pivot element represents the target recovery time;
add a first subset of one or more elements to the time series data structure, wherein the first subset represents one or more data storage operations occurring after the target recovery time, and wherein the first subset is added to a first end of the time series data structure relative to the pivot element;
add a second subset of one or more elements to the time series data structure, wherein the second subset represents one or more data storage operations occurring prior to the target recovery time, and wherein the second subset is added to a second end of the time series data structure relative to the pivot element; and
determine, based at least partly on a quantity of elements in the second subset satisfying a threshold, a recovery class into which the first data object is classified, wherein the recovery class is one of a plurality of recovery classes, and wherein the recovery class is associated with a different default recovery operation than each other recovery class of the plurality of recovery classes; and
execute a data item recovery operation based at least partly on the recovery class, wherein the data item recovery operation comprises one of: a first recovery operation comprising removal of an item of data-object-specific version metadata representing a version deletion time; a second recovery operation comprising copying a prior version of the first data object and generation of an item of data-object-specific version metadata representing a new version creation time; a third recovery operation comprising deletion of an item of data-object-specific version metadata representing a version creation time; or a fourth recovery operation comprising recommendation of a different target recovery time.