US 11,914,486 B2
Cloning and recovery of data volumes
Grant Alexander MacDonald McAlister, Seattle, WA (US); and Milovan Milovanovic, Alexadria, VA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Jun. 17, 2022, as Appl. No. 17/807,679.
Application 17/807,679 is a continuation of application No. 16/231,109, filed on Dec. 21, 2018, granted, now 11,385,969.
Application 16/231,109 is a continuation of application No. 14/977,389, filed on Dec. 21, 2015, granted, now 10,162,715.
Application 14/977,389 is a continuation of application No. 14/063,626, filed on Oct. 25, 2013, granted, now 9,218,245, issued on Dec. 22, 2015.
Application 14/063,626 is a continuation of application No. 13/620,962, filed on Sep. 15, 2012, granted, now 8,612,396, issued on Dec. 17, 2013.
Application 13/620,962 is a continuation of application No. 12/415,968, filed on Mar. 31, 2009, granted, now 8,332,365, issued on Dec. 11, 2012.
Prior Publication US 2023/0070982 A1, Mar. 9, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/048 (2013.01); G06F 11/14 (2006.01); G06F 11/34 (2006.01)
CPC G06F 11/1469 (2013.01) [G06F 11/1451 (2013.01); G06F 11/1464 (2013.01); G06F 11/1471 (2013.01); G06F 11/3409 (2013.01); G06F 11/3476 (2013.01); G06F 2201/80 (2013.01); G06F 2201/81 (2013.01); G06F 2201/815 (2013.01); G06F 2201/84 (2013.01); G06F 2201/875 (2013.01)] 20 Claims
OG exemplary drawing
 
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 service of a cloud service provider, wherein the database service is configured to:
receive, at a web service layer implemented in a control plane of the cloud service provider, an API request for an operation that creates a new database from an existing snapshot of an existing database associated with a first unique identifier;
determine, at the control plane of the cloud service provider and based on the API request, state information comprising point in time information and configuration information that is distinct from either the existing database or the existing snapshot;
provide the state information to a data plane of the cloud service provider having access to database resources of the cloud service provider; and
responsive to the state information being received by the data plane, execute a plurality of tasks at the data plane to create the new database from the existing snapshot of the existing database, the plurality of tasks comprising:
determining the existing snapshot of the existing database, according to the point in time information provided in the state information, from a plurality of existing snapshots of the existing database, wherein the determined existing snapshot is stored in data storage of the data plane and is not an active database, wherein the existing database comprises a plurality of data items, and wherein individual ones of the plurality of existing snapshots replicate the existing database at different respective points in time;
provisioning, based at least in part on the configuration information, a new instance on which to create the new database, distinct from either the existing database or the existing snapshot, wherein the new database is associated with a second unique identifier different from the first unique identifier; and
copying the determined existing snapshot of the existing database to the new instance to create the new database.