IP Library › Granted Patent US 12,229,011
Granted Patent B2
US 12,229,011 · App. 16/575,296 · Granted Feb 18, 2025

Scalable log-based continuous data protection for distributed databases

Inventors: Akshat Vig (Seattle, WA); Parikshit Shivajirao Pol (Seattle, WA); Subramanian Sankara Subramanian (Seattle, WA); Rama Krishna Sandeep Pokkunuri (Seattle, WA); Rajaprabhu Thiruchi Loganathan (Issaquah, WA); Harini Chandrasekharan (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G06F11/1451G06F16/1815G06F16/2322
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,229,011
App. No.
16/575,296
Filed
Sep 18, 2019
Granted
Feb 18, 2025
Kind
B2
Examiner
HO, ANDREW N
Art Unit
2162
USPC
707/685
Abstract

In response to determining that continuous data protection is to be enabled for a particular table of a database service, a service component verifies that automated transmission of change records of the table to a log-structured journal has been configured. A given change record comprises a before-image and an after-image associated with a committed database write, and is assigned a unique sequence number. In response to a determination to restore the table as of a specified point in time, a restore record set is identified from the journal with respect to a selected snapshot of the table. The restore record set includes change records which are not represented in the snapshot and are to be represented in the restored table. A restore result table is created using the selected snapshot and the restore record set.

Claims (64)

1. A method, comprising:

performing, at one or more computing devices:

updating a data object as a portion of a committed storage state at a network-accessible service, wherein the network-accessible service provides configurable data protection for individual data objects of the committed storage state, wherein the data protection for a particular data object, when enabled, stores a plurality of versions, including a current version and one or more previous versions, of the particular data object as part of the committed storage state, and wherein, subsequent to updating the data object, the current version of the data object is accessible to one or more clients of the network-accessible service and data protection for the data object is disabled;

receiving a request specifying that data protection for the data object, currently disabled, is to be enabled to provide for a restore of the data object; and

in response to receiving the request, enabling data protection for the data object, comprising initiating:

(a) insertion, into a journal, of one or more records indicating respective writes directed to the data object; and

(b) creation of one or more snapshots of the data object;

wherein a particular record of the one or more records inserted into the journal indicating a particular write of the respective writes comprises both:

one or more before-values for the data object modified by the particular write; and

one or more after-values for the data object modified by the particular write, in the same particular record.

2. The method as recited in claim 1 , further comprising performing, at the one or more computing devices:

in response to determining that the data object is to be restored, restoring the data object using at least a portion of the journal and a snapshot of the one or more snapshots of the data object.

3. The method as recited in claim 1 , further comprising performing, at the one or more computing devices:

inserting, into the journal, one or more time marker records; and

restoring the data object, wherein the restoring comprises examining the one or more time marker records.

4. The method as recited in claim 1 , further comprising performing, at the one or more computing devices:

in response to receiving a write request directed to the data object, (a) overwriting the data object at the network-accessible service, and (b) inserting a record corresponding to the write request into the journal using a write-once protocol.

5. The method as recited in claim 1 , further comprising performing, at the one or more computing devices:

in response to determining a change in size of the journal, initiating a creation of a particular snapshot of the data object; and

utilizing the particular snapshot and at least a portion of the journal to restore the data object.

6. The method as recited in claim 1 , further comprising performing, at the one or more computing devices:

storing, in the journal, a timestamp based at least in part on a local clock time of a node of the network-accessible service at which at least a portion of the data object is stored; and

restoring the data object, wherein said restoring comprises examining the timestamp.

7. A system, comprising:

one or more computing devices;

wherein the one or more computing devices include instructions that upon execution on or across one or more processors cause the one or more computing devices to:

update a data object as a portion of a committed storage state at a network-accessible service, wherein the network-accessible service provides configurable data protection for individual data objects of the committed storage state, wherein the data protection for a particular data object, when enabled, stores a plurality of versions, including a current version and one or more previous versions, of the particular data object as part of the committed storage state, and wherein, subsequent to updating the data object, the current version of the data object is accessible to one or more clients of the network-accessible service and data protection for the data object is disabled;

receive a request specifying that data protection for the data object, currently disabled, is to be enabled to provide for a restore of the data object; and

in response to receiving the request, enable data protection for the data object, wherein to enable data protection for the data object the instructions that upon execution on or across the one or more processors cause the one or more computing devices to initiate:

(a) insertion, into a journal, of one or more records indicating respective writes directed to the data object; and

(b) creation of one or more snapshots of the data object;

wherein a particular record of the one or more records inserted into the journal indicating a particular write of the respective writes comprises both:

one or more before-values for the data object modified by the particular write; and

one or more after-values for the data object modified by the particular write, in the same particular record.

8. The system as recited in claim 7 , wherein the one or more computing devices include further instructions that upon execution on or across the one or more processors further cause the one or more computing devices to:

in response to determining that the data object is to be restored, restore the data object using at least a portion of the journal and a snapshot of the one or more snapshots of the data object.

9. The system as recited in claim 7 , wherein the one or more computing devices include further instructions that upon execution on or across the one or more processors further cause the one or more computing devices to:

insert, into the journal, one or more time marker records; and

examine the one or more time marker records to restore the data object.

10. The system as recited in claim 7 , wherein the one or more computing devices include further instructions that upon execution on or across the one or more processors further cause the one or more computing devices to:

in response to determining a restoration response time of the data object, initiate creation of at least one particular snapshot of the data object.

11. The system as recited in claim 7 , wherein the one or more computing devices include further instructions that upon execution on or across the one or more processors further cause the one or more computing devices to:

in response to determining that data protection for the data object is to be disabled, terminating insertion, into the journal, of records indicating respective writes directed to the data object.

12. The system as recited in claim 7 , wherein the one or more computing devices include further instructions that upon execution on or across the one or more processors further cause the one or more computing devices to:

store, in the journal, a timestamp based at least in part on a local clock time of a node of the network-accessible service at which at least a portion of the data object is stored; and

restore the data object, wherein said restoring comprises examining the timestamp.

13. One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors cause one or more computer systems to:

update a data object as a portion of a committed storage state at a network-accessible service, wherein the network-accessible service provides configurable data protection for individual data objects of the committed storage state, wherein the data protection for a particular data object, when enabled, stores a plurality of versions, including a current version and one or more previous versions, of the particular data object as part of the committed storage state, and wherein, subsequent to updating the data object, the current version of the data object is accessible to one or more clients of the network-accessible service and data protection for the data object is disabled;

receive a request specifying that data protection for the data object, currently disabled, is to be enabled to provide for a restore of the data object; and

in response to receiving the request, enable data protection for the data object, wherein to enable data protection for the data object the program instructions that when executed on or across the one or more processors cause the one or more computer systems to initiate:

(a) insertion, into a journal, of one or more records indicating respective writes directed to the data object; and

(b) creation of one or more snapshots of the data object;

wherein a particular record of the one or more records inserted into the journal indicating a particular write of the respective writes comprises both:

one or more before-values for the data object modified by the particular write; and

one or more after-values for the data object modified by the particular write, in the same particular record.

14. The one or more non-transitory computer-accessible storage media as recited in claim 13 , storing further program instructions that when executed on or across one or more processors cause one or more computer systems to:

in response to determining that the data object is to be restored, restore the data object using at least a portion of the journal and a snapshot of the one or more snapshots of the data object.

15. The one or more non-transitory computer-accessible storage media as recited in claim 13 , storing further program instructions that when executed on or across one or more processors cause one or more computer systems to:

insert, into the journal, one or more time marker records; and

examine the one or more time marker records to restore the data object.

16. The one or more non-transitory computer-accessible storage media as recited in claim 13 , storing further program instructions that when executed on or across one or more processors cause one or more computer systems to:

in response to determining a restoration response time of the data object, initiate creation of at least one particular snapshot of the data object.

17. The one or more non-transitory computer-accessible storage media as recited in claim 13 , storing further program instructions that when executed on or across one or more processors cause one or more computer systems to:

in response to the determining that data protection for the data object is to be enabled, verify that the data object has been configured for automated snapshot generation.

Continuity (2)
Continuation 14977472 · Dec 21, 2015
Related Publication 20200012568A1 · Jan 9, 2020
References Cited (296)
US 5586264A · Belknap et al. · 1996 [cited by applicant]
US 5615364A · Marks · 1997 [cited by applicant]
US 5692177A · Miller · 1997 [cited by applicant]
US 5768527A · Zhu et al. · 1998 [cited by applicant]
US 5813009A · Johnson et al. · 1998 [cited by applicant]
US 5842222A · Nishimura et al. · 1998 [cited by applicant]
US 5991772A · Doherty et al. · 1999 [cited by applicant]
US 6016553A · Schneider · 2000 [cited by applicant]
US 6085200A · Hill et al. · 2000 [cited by applicant]
US 6161109A · Matamoros et al. · 2000 [cited by applicant]
US 6199074B1 · Kern et al. · 2001 [cited by applicant]
US 6272598B1 · Arlitt et al. · 2001 [cited by applicant]
US 6374266B1 · Shnelvar · 2002 [cited by applicant]
US 6374267B1 · Tam · 2002 [cited by applicant]
US 6397351B1 · Miller et al. · 2002 [cited by applicant]
US 6505216B1 · Schutzman et al. · 2003 [cited by applicant]
US 6611850B1 · Shen · 2003 [cited by applicant]
US 6651077B1 · East et al. · 2003 [cited by applicant]
US 6728735B1 · Fong · 2004 [cited by applicant]
US 6728879B1 · Atkinson · 2004 [cited by applicant]
US 7096392B2 · Sim-Tang · 2006 [cited by applicant]
US 7328226B1 · Karr et al. · 2008 [cited by applicant]
US 7330859B2 · Gupta et al. · 2008 [cited by applicant]
US 7343356B2 · Prahlad et al. · 2008 [cited by applicant]
US 7353241B2 · Erlingsson · 2008 [cited by applicant]
US 7373364B1 · Chapman · 2008 [cited by applicant]
US 7386586B1 · Headley et al. · 2008 [cited by applicant]
US 7509358B1 · Bingham et al. · 2009 [cited by applicant]
US 7546428B1 · McAndrews et al. · 2009 [cited by applicant]
US 7565661B2 · Sim-Tang · 2009 [cited by applicant]
US 7577807B2 · Rowan · 2009 [cited by applicant]
US 7587431B1 · Rao · 2009 [cited by examiner]
US 7606841B1 · Ranade · 2009 [cited by applicant]
US 7606844B2 · Kottomtharayil · 2009 [cited by applicant]
US 7653668B1 · Shelat et al. · 2010 [cited by applicant]
US 7657781B1 · Dixon et al. · 2010 [cited by applicant]
US 7668876B1 · Kulkarni · 2010 [cited by applicant]
US 7680843B1 · Panchbudhe et al. · 2010 [cited by applicant]
US 7689597B1 · Bingham et al. · 2010 [cited by applicant]
US 7716186B2 · Cannon et al. · 2010 [cited by applicant]
US 7730034B1 · Deflaux et al. · 2010 [cited by applicant]
US 7774313B1 · Nachenberg · 2010 [cited by examiner]
US 7792802B1 · Rao · 2010 [cited by applicant]
US 7801866B1 · Kathuria · 2010 [cited by examiner]
US 7802001B1 · Petry et al. · 2010 [cited by applicant]
US 7840766B2 · Eguchi · 2010 [cited by applicant]
US 7860836B1 · Natanzon · 2010 [cited by examiner]
US 7921077B2 · Ting et al. · 2011 [cited by applicant]
US 7949662B2 · Farber et al. · 2011 [cited by applicant]
US 7979649B1 · Thiam · 2011 [cited by examiner]
US 8041679B1 · Narayanan · 2011 [cited by applicant]
US 8065278B2 · Beatty et al. · 2011 [cited by applicant]
US 8065442B1 · Chatterjee · 2011 [cited by examiner]
US 8078582B2 · Wang et al. · 2011 [cited by applicant]
US 8095745B1 · Schmidt et al. · 2012 [cited by applicant]
US 8108343B2 · Wang et al. · 2012 [cited by applicant]
US 8108429B2 · Sim-Tang · 2012 [cited by applicant]
US 8117164B2 · Spektor et al. · 2012 [cited by applicant]
US 8161255B2 · Anglin et al. · 2012 [cited by applicant]
US 8166263B2 · Prahlad et al. · 2012 [cited by applicant]
US 8190960B1 · Bahadur et al. · 2012 [cited by applicant]
US 8200615B2 · Halliday · 2012 [cited by applicant]
US 8200706B1 · Sim-Tang · 2012 [cited by applicant]
US 8244679B1 · Bilsborough · 2012 [cited by applicant]
US 8255739B1 · Chatterjee et al. · 2012 [cited by applicant]
US 8271447B1 · Natanzon · 2012 [cited by examiner]
US 8332842B2 · Bauer et al. · 2012 [cited by applicant]
US 8335771B1 · Natanzon · 2012 [cited by examiner]
US 8359596B2 · Kobayashi et al. · 2013 [cited by applicant]
US 8364648B1 · Sim-Tang · 2013 [cited by examiner]
US 8386631B2 · Nilsson et al. · 2013 [cited by applicant]
US 8386771B2 · Baker et al. · 2013 [cited by applicant]
US 8429198B1 · Sim-Tang · 2013 [cited by applicant]
US 8463633B2 · Jung et al. · 2013 [cited by applicant]
US 8478726B2 · Habermann et al. · 2013 [cited by applicant]
US 8488661B2 · Menon et al. · 2013 [cited by applicant]
US 8510270B2 · Pareek et al. · 2013 [cited by applicant]
US 8521695B2 · Zwilling et al. · 2013 [cited by applicant]
US 8533478B2 · Aguilera et al. · 2013 [cited by applicant]
US 8543746B2 · Roever · 2013 [cited by applicant]
US 8548945B2 · Dwyer et al. · 2013 [cited by applicant]
US 8554734B1 · Chatterjee · 2013 [cited by examiner]
US 8566286B1 · Hawton et al. · 2013 [cited by applicant]
US 8572091B1 · Sivasubramanian et al. · 2013 [cited by applicant]
US 8612700B1 · Armstrong et al. · 2013 [cited by applicant]
US 8626709B2 · Isaacson et al. · 2014 [cited by applicant]
US 8635187B2 · Beatty et al. · 2014 [cited by applicant]
US 8650155B2 · Corbin et al. · 2014 [cited by applicant]
US 8676752B2 · Kundu et al. · 2014 [cited by applicant]
US 8677189B2 · Das · 2014 [cited by applicant]
US 8688645B2 · Sadhwani · 2014 [cited by applicant]
US 8706992B2 · Liu · 2014 [cited by applicant]
US 8712970B1 · Sim-Tang · 2014 [cited by applicant]
US 8719362B2 · Wu et al. · 2014 [cited by applicant]
US 8725934B2 · Batwara et al. · 2014 [cited by applicant]
US 8769223B2 · Boldt · 2014 [cited by applicant]
US 8805810B2 · Lucas · 2014 [cited by applicant]
US 8806154B1 · Gupta · 2014 [cited by applicant]
US 8818954B1 · Bergant et al. · 2014 [cited by applicant]
US 8825938B1 · Ellard et al. · 2014 [cited by applicant]
US 8892938B1 · Sundaram et al. · 2014 [cited by applicant]
US 9009115B2 · Cisler · 2015 [cited by applicant]
US 9116847B2 · Liu · 2015 [cited by applicant]
US 9183200B1 · Liu et al. · 2015 [cited by applicant]
US 9183268B2 · Novick et al. · 2015 [cited by applicant]
US 9235606B1 · Mooney et al. · 2016 [cited by applicant]
US 9552382B2 · Barrus · 2017 [cited by applicant]
US 9558078B2 · Farlee et al. · 2017 [cited by applicant]
US 9703640B2 · Beatty · 2017 [cited by applicant]
US 9720991B2 · Kritchko et al. · 2017 [cited by applicant]
US 9734021B1 · Sanocki et al. · 2017 [cited by applicant]
US 9785510B1 · Madhavarapu et al. · 2017 [cited by applicant]
US 9823973B1 · Natanzon · 2017 [cited by applicant]
US 10037251B1 · Bono · 2018 [cited by examiner]
US 10162715B1 · MacDonald McAlister et al. · 2018 [cited by applicant]
US 10338972B1 · Acheson · 2019 [cited by applicant]
US 10756976B2 · Tomkins · 2020 [cited by applicant]
US 10884869B2 · Shaull · 2021 [cited by applicant]
US 11392557B1 · Fuller · 2022 [cited by applicant]
US 20010047380A1 · Fuller · 2001 [cited by applicant]
US 20020114341A1 · Sutherland et al. · 2002 [cited by applicant]
US 20020152299A1 · Traversat et al. · 2002 [cited by applicant]
US 20020184239A1 · Mosher, Jr. · 2002 [cited by examiner]
US 20030220935A1 · Vivian et al. · 2003 [cited by applicant]
US 20040215803A1 · Traversat et al. · 2004 [cited by applicant]
US 20050022213A1 · Yamagami · 2005 [cited by applicant]
US 20050027819A1 · Nakano · 2005 [cited by applicant]
US 20050188256A1 · Stager et al. · 2005 [cited by applicant]
US 20050235016A1 · Amano · 2005 [cited by examiner]
US 20050251540A1 · Sim-Tang · 2005 [cited by applicant]
US 20050262097A1 · Sim-Tang · 2005 [cited by applicant]
US 20060020634A1 · Huras et al. · 2006 [cited by applicant]
US 20060053262A1 · Prahlad et al. · 2006 [cited by applicant]
US 20060100972A1 · Chianese et al. · 2006 [cited by applicant]
US 20060173935A1 · Merchant · 2006 [cited by applicant]
US 20060253600A1 · Hannuksela · 2006 [cited by applicant]
US 20060288183A1 · Boaz · 2006 [cited by examiner]
US 20070027937A1 · McGrattan et al. · 2007 [cited by applicant]
US 20070050577A1 · Kimura · 2007 [cited by applicant]
US 20070088973A1 · Passerini · 2007 [cited by examiner]
US 20070112893A1 · Okada · 2007 [cited by examiner]
US 20070162516A1 · Thiel et al. · 2007 [cited by applicant]
US 20070233699A1 · Taniguchi · 2007 [cited by applicant]
US 20070245107A1 · Kano · 2007 [cited by examiner]
US 20070250835A1 · Kobayashi et al. · 2007 [cited by applicant]
US 20070276884A1 · Hara et al. · 2007 [cited by applicant]
US 20070288530A1 · Romem et al. · 2007 [cited by applicant]
US 20070294274A1 · Kano · 2007 [cited by examiner]
US 20080034013A1 · Cisler · 2008 [cited by applicant]
US 20080177994A1 · Mayer · 2008 [cited by applicant]
US 20080281879A1 · Kawamura · 2008 [cited by examiner]
US 20080294696A1 · Frandzel · 2008 [cited by applicant]
US 20080307018A1 · Ulrich · 2008 [cited by applicant]
US 20080307020A1 · Ko · 2008 [cited by applicant]
US 20090125362A1 · Reid et al. · 2009 [cited by applicant]
US 20090238262A1 · Miceli · 2009 [cited by applicant]
US 20090254721A1 · Suzuki · 2009 [cited by applicant]
US 20090271605A1 · Park et al. · 2009 [cited by applicant]
US 20100005259A1 · Prahlad et al. · 2010 [cited by applicant]
US 20100077173A1 · Rao · 2010 [cited by examiner]
US 20100146004A1 · Sim-Tang · 2010 [cited by applicant]
US 20100169594A1 · Tsaur · 2010 [cited by applicant]
US 20100257138A1 · Wang et al. · 2010 [cited by applicant]
US 20100257140A1 · Davis et al. · 2010 [cited by applicant]
US 20100262717A1 · Critchley et al. · 2010 [cited by applicant]
US 20100274762A1 · Murphy et al. · 2010 [cited by applicant]
US 20110055506A1 · Eguchi · 2011 [cited by applicant]
US 20110083098A1 · Cisler · 2011 [cited by examiner]
US 20110137899A1 · Lyon-Smith · 2011 [cited by applicant]
US 20110141882A1 · Rieschl et al. · 2011 [cited by applicant]
US 20110178985A1 · San Martin Arribas et al. · 2011 [cited by applicant]
US 20110258239A1 · Petrocelli · 2011 [cited by applicant]
US 20110282842A1 · Popovski · 2011 [cited by examiner]
US 20120143825A1 · Boehm · 2012 [cited by examiner]
US 20120166401A1 · Li et al. · 2012 [cited by applicant]
US 20120209817A1 · Golab et al. · 2012 [cited by applicant]
US 20120221715A1 · Hamada · 2012 [cited by applicant]
US 20120250682A1 · Vincent et al. · 2012 [cited by applicant]
US 20120265890A1 · Carlson et al. · 2012 [cited by applicant]
US 20120297246A1 · Liu · 2012 [cited by applicant]
US 20120303999A1 · Calder et al. · 2012 [cited by applicant]
US 20120317274A1 · Richter et al. · 2012 [cited by applicant]
US 20120317583A1 · Corbea et al. · 2012 [cited by applicant]
US 20130018853A1 · Jayaraman et al. · 2013 [cited by applicant]
US 20130073724A1 · Parashar et al. · 2013 [cited by applicant]
US 20130124466A1 · Naidu et al. · 2013 [cited by applicant]
US 20130124483A1 · Furuhashi et al. · 2013 [cited by applicant]
US 20130124917A1 · Das · 2013 [cited by applicant]
US 20130132604A1 · Cohen et al. · 2013 [cited by applicant]
US 20130151683A1 · Jain et al. · 2013 [cited by applicant]
US 20130152047A1 · Moorthi et al. · 2013 [cited by applicant]
US 20130166556A1 · Baeumges et al. · 2013 [cited by applicant]
US 20130262388A1 · Sorenson et al. · 2013 [cited by applicant]
US 20130262389A1 · Rathof et al. · 2013 [cited by applicant]
US 20130290642A1 · Huang et al. · 2013 [cited by applicant]
US 20130346366A1 · Ananthanarayanan et al. · 2013 [cited by applicant]
US 20140019413A1 · Braam et al. · 2014 [cited by applicant]
US 20140019421A1 · Jagadeesan · 2014 [cited by applicant]
US 20140019696A1 · Linde · 2014 [cited by applicant]
US 20140046906A1 · Patiejunas et al. · 2014 [cited by applicant]
US 20140047263A1 · Coatney et al. · 2014 [cited by applicant]
US 20140074787A1 · Berman · 2014 [cited by applicant]
US 20140181042A1 · Toyama et al. · 2014 [cited by applicant]
US 20140279905A1 · Muniswamy-Reddy et al. · 2014 [cited by applicant]
US 20140324785A1 · Gupta et al. · 2014 [cited by applicant]
US 20140358844A1 · Mundlapudi et al. · 2014 [cited by applicant]
US 20150172412A1 · Escriva et al. · 2015 [cited by applicant]
US 20160077744A1 · Pundir et al. · 2016 [cited by applicant]
US 20160077923A1 · Zhang et al. · 2016 [cited by applicant]
US 20160179568A1 · Bezbaruah · 2016 [cited by applicant]
US 20160241676A1 · Armstrong · 2016 [cited by applicant]
US 20160267105A1 · Sun · 2016 [cited by applicant]
US 20160306709A1 · Shaull · 2016 [cited by applicant]
US 20170093755A1 · Pol · 2017 [cited by applicant]
US 20170315728A1 · Zheng · 2017 [cited by applicant]
US 20190332267A1 · Muniswamy-Reddy · 2019 [cited by applicant]
US 20190332268A1 · Greenwood · 2019 [cited by applicant]
US 20190347351A1 · Koomthanam · 2019 [cited by applicant]
US 20200067772A1 · Tomkins · 2020 [cited by applicant]
US 20200133786A1 · Ramabhadran · 2020 [cited by applicant]
US 20200159413A1 · Seal · 2020 [cited by applicant]
US 20200311142A1 · Edelman · 2020 [cited by applicant]
CN 104750773 · 2015 [cited by applicant]
JP 2014141343 · 2014 [cited by applicant]
JP 6331976B2 · 2018 [cited by examiner]
WO 2012168365 · 2012 [cited by applicant]
U.S. Appl. No. 15/717,606, filed Sep. 27, 2017, Vaibhav Jain. [cited by applicant]
U.S. Appl. No. 15/717,614, filed Sep. 27, 2017, Vaibhav Jain. [cited by applicant]
“Cloud Spanner: TrueTime and External Consistency”, Retrieved from URL: https://cloud.google.com/spanner/docs/true-time-external-consistency on Feb. 28, 2018, pp. 1-6. [cited by applicant]
Randall Hunt, “Keeping Time with Amazon Time Sync Service”, AWS News Blog, Retrieved the URL: https://aws.amazon.com/blogs/aws/keeping-time-with-amazon-time-sync-service on Feb. 28, 2018, pp. 1-3. [cited by applicant]
Barbara Liskov, “Practical Uses of Synchronized Clocks in Distributed Systems”, ACM, copyright 1991 ACM, pp. 1-9. [cited by applicant]
James C. Corbrett, et al., “Spanner: Google's Globally-Distributed Database”, Published in the Proceeding of OSDI 2012, 2012, pp. 1-14. [cited by applicant]
Friedemann Mattern, “Virtual Time and Global States of Distributed Systems”, In the Proceedings of the International Workshop on Parallel and Distributed Algorithms, Oct. 1988, pp. 120-134. [cited by applicant]
U.S. Appl. No. 15/918,920, filed Mar. 12, 2018, Tate Andrew Certain, et al. [cited by applicant]
“Capturing Table Activity with DynamoDB Streams”, dated Oct. 19, 2018, pp. 1-8. [cited by applicant]
Randall Hunt “New—Amazon DynamoDB Continuous Backups and Points-In-Time Recovery”, Mar. 26, 2018, pp. 1-9. [cited by applicant]
“Appendix E. Realese Notes”, (PostgreSQL: Documentation: 10: E.144. Release 9.0.7), Oct. 19, 2018, pp. 1-4. [cited by applicant]
“PostgreSQL: The World's Most Advanced Open Source Relational Database”, (https://www.postgresql.org), dated Oct. 19, 2018, pp. 1-10. [cited by applicant]
U.S. Appl. No. 15/728,271, filed Oct. 9, 2017, Pradeep Jnana Madhavarapu. [cited by applicant]
U.S. Appl. No. 15/676,933, filed Aug. 14, 2017, Elizabeth Sanocki. [cited by applicant]
U.S. Appl. No. 16/231,109, filed Dec. 21, 2018, Grant Alexander MacDonald. [cited by applicant]
U.S. Appl. No. 14/977,453, filed Dec. 21, 2015, Yan Valerie Leshinsky. [cited by applicant]
U.S. Appl. No. 15/807,367, filed Nov. 8, 2017, Vaibhav Jain. [cited by applicant]
U.S. Appl. No. 15/920,207, filed Mar. 13, 2018, Akshat Vig. [cited by applicant]
U.S. Appl. No. 16/101,153, filed Aug. 10, 2018, Akshat Vig. [cited by applicant]
U.S. Appl. No. 15/920,193, filed Mar. 13, 2018, Akshat Vig. [cited by applicant]
U.S. Appl. No. 16/197,033, filed Nov. 20, 2018, Rachit Jain. [cited by applicant]
U.S. Appl. No. 16/231,109, filed Dec. 21, 2018, Grant Alexander MacDonald McAlister. [cited by applicant]
Amazon Web Services, “Amazon DynamoDB Developer Guide”, API Version, Aug. 10, 2012, pp. 1-793. [cited by applicant]
Amazon Web Services, “Amazon DynamoDB Streams API Reference”, API Version, Aug. 10, 2012, pp. 1-29. [cited by applicant]
U.S. Appl. No. 14/077,173, filed Nov. 11, 2013, Marvin Michael Theimer et al. [cited by applicant]
U.S. Appl. No. 14/077,171, filed Nov. 11, 2013, Marvin Michael Theimer et al. [cited by applicant]
U.S. Appl. No. 14/136,624, filed Dec. 20, 2013, Marvin Michael Theimer et al. [cited by applicant]
U.S. Appl. No. 14/136,645, filed Dec. 20, 2013, Marvin Michael Theimer et al. [cited by applicant]
U.S. Appl. No. 14/077,167, filed Nov. 11, 2013, Marvin Michael Theimer et al. [cited by applicant]
U.S. Appl. No. 14/077,162, filed Nov. 11, 2013, Marvin Michael Theimer et al. [cited by applicant]
U.S. Appl. No. 14/316,674, filed Jun. 26, 2014, Allan Henry Vermeulen et al. [cited by applicant]
U.S. Appl. No. 14/537,788, filed Nov. 10, 2014, Lei Ye et al. [cited by applicant]
International Search Report and Written Opinion From PCT/US2014/065057, Dated Feb. 20, 2015, Amazon Technologies, Inc., pp. 1-13. [cited by applicant]
Alejandro Abdelnur, “Oozie Specification, a Hadoop Workflow System,” Oct. 8, 2010, retrieved from http://rvs.github.com/oozie/release/2.2.1/WorkflowFunctionalSpec.html on Feb. 11, 2013, pp. 1-37. [cited by applicant]
Ani I Pillai and Alejandro Abdelnur, “Oozie Coordinator Specification,” Oct. 8, 2010., retrieved from http://rvs.github.com/oozie/releases/2.2.1 /CoordinatorFunctionaiSpec.html on Feb. 11, 2013. pp. 1-43. [cited by applicant]
“Oozie-Design,” retrieved from http://rvs.github.com/oozie/design.html on Feb. 11, 2013. pp. 1-2. [cited by applicant]
“Quartz Scheduler 2.1.x Documentation,” retrieved from http://quartz-scheduler.org/files/documentation/Quartz-2.1.x-Documentation.pdfon Feb. 11, 2013. pp. 1-140. [cited by applicant]
Apache Kafka, “A High-Throughput Distributed Messaging System”, pp. 1-42, Oct. 8, 2013. [cited by applicant]
Amazon Web Services, “Amazon Simple Queue Service (Amazon SQS)”, pp. 1-5, Oct. 8, 2013. [cited by applicant]
Apache Software Foundation, “Hadoop Streaming”, pp. 7-17, 2008. [cited by applicant]
SIGMOD Record, “Parallel Data Processing with MapReduce: A Survey”, Kyong-Ha Lee, et al., pp. 11-20, Dec. 2011. [cited by applicant]
Splunk Inc., “Splunk for Application Management”, pp. 1-2, 2012. [cited by applicant]
GitHub, “Rationale”, pp. 1-2, Oct. 8, 2013. [cited by applicant]
GitHub, “Tutorial”, pp. 1-8, Oct. 8, 2013. [cited by applicant]
U.S. Appl. No. 13/764,716, filed Feb. 11, 2013, Kathryn Marie Shih et al. [cited by applicant]
U.S. Appl. No. 13/764,711 , filed Feb. 11, 2013, Kathryn Marie Shih et al. [cited by applicant]
U.S. Appl. No. 61/738,967, filed Dec. 18, 2012, Kathryn Marie Shih et al. [cited by applicant]
U.S. Appl. No. 13/465,944, filed May 7, 2012, Jonathan 8. Corley et al. [cited by applicant]
U.S. Appl. No. 13/465,978, filed May 7, 2012, Jonathan 8. Corley et al. [cited by applicant]
U.S. Appl. No. 13/476,987, filed May 21, 2012, Jacob Gabrielson et al. [cited by applicant]
Pierre Dorion, IBM Tivoli Storage Manager backup software tips, Apr. 2009, http://searchdatabackup.techtarget.com/tip/IBMTivoli-Storage-Manager-backup-software-tips. [cited by applicant]
Lascon, TSM Hints and Tips on Restores, Nov. 10, 2012, LasCon Storage, http://www.lascon.co.uk/tsm-restores.php. [cited by applicant]
International Search Report and Written Opinion from PCT/US14/65052, Dated Feb. 20, 2015, Amazon Technologies, Inc., pp. 1-11. [cited by applicant]
U.S. Appl. No. 14/753,475, filed Jun. 29, 2015, Allan Henry Vermeulen, et al. [cited by applicant]
U.S. Appl. No. 14/753,484, filed Jun. 29, 2015, John Michael Morkel, et al. [cited by applicant]
U.S. Appl. No. 14/753,495, filed Jun. 29, 2015, Timothy Daniel Cole, et al. [cited by applicant]
U.S. Appl. No. 14/753,505, filed Jun. 29, 2015, Allan Henry Vermeulen, et al. [cited by applicant]
U.S. Appl. No. 14/482,668, filed Sep. 10, 2014, Allan Henry Vermuelen. [cited by applicant]
U.S. Appl. No. 14/482,661, filed Sep. 10, 2014, Allan Henry Vermeulen. [cited by applicant]
U.S. Appl. No. 14/491,454, filed Sep. 19, 2014, Allan Henry Vermeulen. [cited by applicant]
U.S. Appl. No. 14/491,371, filed Sep. 19, 2014, Allan Henry Vermeulen. [cited by applicant]
U.S. Appl. No. 14/491,444, filed Sep. 19, 2014, Allan Henry Vermeulen. [cited by applicant]
U.S. Appl. No. 14/316,630, filed Jun. 26, 2014, Allan Henry Vermeulen. [cited by applicant]
U.S. Appl. No. 14/316,622, filed Jun. 26, 2014, Allan Henry Vermeulen. [cited by applicant]
U.S. Appl. No. 14/316,619, filed Jun. 26, 2014, Allan Henry Vermeulen. [cited by applicant]
U.S. Appl. No. 14/231,077, filed Mar. 31, 2014, Jacob A. Strauss. [cited by applicant]
U.S. Appl. No. 14/230,378, filed Mar. 31, 2011, Jacob A. Strauss. [cited by applicant]
Sergio Almeida, et al., “Chain Replication: a Causal + Consistent Datastore based on Chain Replication”, Apr. 15-17, 2013, pp. 85-98. [cited by applicant]
Scott Lystig Fritchie, “Chain Replication in Theory and in Practice”, Sep. 30, 2010, pp. 1-11. [cited by applicant]
Robbert Van Renesse, et al., “Chain Replication for Supporting High Throughput and Availability”, 2004, pp. 91-104. [cited by applicant]