Network-accessible block-level snapshots

US11403185B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11403185-B2
Application numberUS-201916586683-A
CountryUS
Kind codeB2
Filing dateSep 27, 2019
Priority dateSep 27, 2019
Publication dateAug 2, 2022
Grant dateAug 2, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11403185B2 cover?
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 …
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1464. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 02 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).