System and method for live virtual incremental restoring of data from cloud storage
US-2017286234-A1 · Oct 5, 2017 · US
US11403185B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11403185-B2 |
| Application number | US-201916586683-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 27, 2019 |
| Priority date | Sep 27, 2019 |
| Publication date | Aug 2, 2022 |
| Grant date | Aug 2, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Generally described, one or more aspects of the present application relate to a public snapshot service for creating and managing block-level snapshots. For example, the public snapshot service can create a snapshot based on (i) a specification of a parent snapshot to be used as a basis for a given snapshot, and (ii) a specification of the data blocks to be backed up in the given snapshot. The data blocks in the snapshot may be stored in a specific storage path structure that facilitates computation of a block difference with respect to the parent snapshot.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: a cloud provider system comprising: a snapshot repository for storing block-level snapshots; a snapshot lineage database for storing snapshot lineage data indicating one or more lineages of the block-level snapshots stored in the snapshot repository; and a public snapshot server in networked communication with the snapshot repository and the snapshot lineage database; and a block storage volume implemented on a client data storage server that is external to the cloud provider system, wherein the block storage volume stores a plurality of data blocks; wherein the public snapshot server is configured to: receive a snapshot creation request to create an incremental snapshot of the block storage volume, wherein the snapshot creation request identifies a parent snapshot stored in the snapshot repository, wherein the parent snapshot represents a prior state of the block storage volume preceding and different from a current state of the block storage volume; receive, from a client computing device in networked communication with the cloud provider system, at least one block put request subsequent to the snapshot creation request, wherein the at least one block put request identifies a subset of data blocks of the plurality of data blocks stored in the block storage volume implemented on the client data storage server to add to the incremental snapshot to be stored in the snapshot repository implemented on the cloud provider system; receive, from the client data storage server, the subset of data blocks identified by the at least one block put request; receive, from the client computing device in networked communication with the cloud provider system, a request to seal the incremental snapshot such that adding additional data blocks to the incremental snapshot is disabled; cause the incremental snapshot including the subset of data blocks received from the client data storage server and one or more references to one or more additional data blocks associated with the parent snapshot to be stored in the snapshot repository; and cause the snapshot lineage data stored in the snapshot lineage database to be updated to reflect a lineage between the parent snapshot and the incremental snapshot. 2. The system of claim 1 , wherein the public snapshot server is further configured to cause the incremental snapshot to be restored onto one or more block storage volumes implemented on the client data storage server. 3. The system of claim 1 , wherein the public snapshot server is further configured to cause the incremental snapshot to be restored onto one or more block storage volumes implemented on a block store server different from the client data storage server. 4. The system of claim 1 , wherein the subset of data blocks identified in the snapshot creation request excludes at least one data block in the block storage volume that has changed since a point in time at which the parent snapshot was created. 5. The system of claim 1 , wherein the subset of data blocks identified in the snapshot creation request includes all data blocks in the block storage volume that have changed since a point in time at which the parent snapshot was created. 6. The system of claim 1 , wherein the public snapshot server is further configured to cause the parent snapshot to be restored onto multiple block storage volumes, and subsequently receive multiple requests to create snapshots of the multiple block storage volumes, wherein the multiple requests identify the same parent snapshot and different subsets of data blocks. 7. A computer-implemented method, comprising: receiving, at a cloud provider system, a request to create an incremental snapshot of a block storage volume implemented on a client data storage server that is external to the cloud provider system, wherein the block storage volume stores a plurality of data blocks, and wherein the request identifies a parent snapshot stored in a snapshot repository; receiving, at a cloud provider system, a request to create an incremental snapshot of a block storage volume implemented on a client data storage server that is external to the cloud provider system, wherein the block storage volume stores a plurality of data blocks, and wherein the request identifies a parent snapshot stored in a snapshot repository; receiving, from a client computing device in networked communication with the cloud provider system, at least one request to add, to the incremental snapshot, a subset of data blocks of the plurality of data blocks stored in the block storage volume implemented on the client data storage server to the incremental snapshot to the incremental snapshot to be stored in the snapshot repository implemented on the cloud provider system; receiving, from the client data storage server, the subset of data blocks of the plurality of data blocks stored in the block storage volume; receiving, from the client computing device in networked communication with the cloud provider system, a request to seal the incremental snapshot such that adding additional data blocks to the incremental snapshot is disabled; storing the incremental snapshot including the subset of data blocks and one or more references to additional block data associated with the parent snapshot; and storing an association between the parent snapshot and the incremental snapshot in a database. 8. The computer-implemented method of claim 7 , further comprising restoring the incremental snapshot onto one or more block storage volumes implemented on the client data storage server external to the cloud provider system. 9. The computer-implemented method of claim 7 , further comprising restoring the incremental snapshot onto one or more block storage volumes implemented on the cloud provider system different from the client data storage server. 10. The computer-implemented method of claim 7 , wherein the subset of data blocks excludes at least one data block in the block storage volume that has changed since a point in time at which the parent snapshot was created. 11. The computer-implemented method of claim 7 , wherein the subset of data blocks includes all data blocks in the block storage volume that have changed since a point in time at which the parent snapshot was created. 12. The computer-implemented method of claim 7 , wherein the parent snapshot is an immediate parent of the incremental snapshot such that no snapshot of the block storage volume other than the incremental snapshot was created since a point in time at which the parent snapshot was created. 13. The computer-implemented method of claim 7 , wherein the parent snapshot is a remote parent of the incremental snapshot such that at least one snapshot of the block storage volume other than the incremental snapshot was created since a point in time at which the parent snapshot was created. 14. A non-transitory computer-readable medium storing instructions that, when executed by a computing system, cause the computing system to perform operations comprising: receiving, at a cloud provider system, a request to create an incremental snapshot of a block storage volume implemented on a client data storage server that is external to the cloud provider system, wherein the block storage volume stores a plurality of data blocks, and wherein the request identifies a parent snapshot stored in a snapshot repository; receiving, from a client computing device in networked communication with the cloud provider system, at least one request to add a subset of data blocks of the plurality of data blocks stored in the block storage volume implemented on the client data st
Backup restoration techniques · CPC title
for networked environments · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Using snapshots, i.e. a logical point-in-time copy of the data · CPC title
Replication mechanisms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.