Handling fragmentation of archived data in cloud/object storage
First Claim
1. A method for handling fragmentation of archived data in cloud/object storage, the method comprising:
- uploading, by a computer system, a first snapshot of a data set to the cloud/object storage, the first snapshot including at least one data object comprising a plurality of data blocks; and
uploading, by the computer system, a second snapshot of the data set to the cloud/object storage, wherein the second snapshot is uploaded at least a predefined number of snapshots after the first snapshot, and wherein the uploading of the second snapshot comprises;
determining, by the computer system, that the second snapshot includes a version of the data object included in the first snapshot;
in response to the determining, selecting, by the computer system, a subset of the plurality of data blocks in the data object of the first snapshot, the subset including data blocks in the plurality of data blocks that have remained the same since the first snapshot;
reading, by the computer system, the subset of the plurality of data blocks from the first snapshot in the cloud/object storage;
adding, by the computer system, the subset of the plurality of data blocks to the version of the data object in the second snapshot; and
uploading, by the computer system, the second snapshot with the subset of the plurality of data blocks to the cloud/object storage.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for handling fragmentation of archived data in cloud/object storage are provided. In one set of embodiments, a computer system can upload a new snapshot of a data set to the cloud/object storage, where the new snapshot comprises a plurality of data blocks, and where the new snapshot is uploaded as one or more data objects and one or more metadata objects. For each data block in the plurality of data blocks, the computer system can identify an existing data object in the cloud/object storage where the data block is currently stored. The computer system can further select, from among the identified existing data objects, a subset of the existing data objects that are part of a snapshot created in the cloud/object storage at least a predefined number of snapshots before the new snapshot, and select one or more data blocks of one or more data objects in the subset that have not be overwritten by another snapshot. The computer system can then upload the one or more data blocks as part of the new snapshot.
33 Citations
21 Claims
-
1. A method for handling fragmentation of archived data in cloud/object storage, the method comprising:
-
uploading, by a computer system, a first snapshot of a data set to the cloud/object storage, the first snapshot including at least one data object comprising a plurality of data blocks; and uploading, by the computer system, a second snapshot of the data set to the cloud/object storage, wherein the second snapshot is uploaded at least a predefined number of snapshots after the first snapshot, and wherein the uploading of the second snapshot comprises; determining, by the computer system, that the second snapshot includes a version of the data object included in the first snapshot; in response to the determining, selecting, by the computer system, a subset of the plurality of data blocks in the data object of the first snapshot, the subset including data blocks in the plurality of data blocks that have remained the same since the first snapshot; reading, by the computer system, the subset of the plurality of data blocks from the first snapshot in the cloud/object storage; adding, by the computer system, the subset of the plurality of data blocks to the version of the data object in the second snapshot; and uploading, by the computer system, the second snapshot with the subset of the plurality of data blocks to the cloud/object storage. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium having stored thereon program code executable by a computer system, the program code embodying a method for handling fragmentation of archived data in cloud/object storage, the method comprising:
-
uploading a first snapshot of a data set to the cloud/object storage, the first snapshot including at least one data object comprising a plurality of data blocks; and uploading a second snapshot of the data set to the cloud/object storage, wherein the second snapshot is uploaded at least a predefined number of snapshots after the first snapshot, and wherein the uploading of the second snapshot comprises; determining that the second snapshot includes a version of the data object included in the first snapshot; in response to the determining, selecting a subset of the plurality of data blocks in the data object of the first snapshot, the subset including data blocks in the plurality of data blocks that have remained the same since the first snapshot; reading the subset of the plurality of data blocks from the first snapshot in the cloud/object storage; adding the subset of the plurality of data blocks to the version of the data object in the second snapshot; and uploading the second snapshot with the subset of the plurality of data blocks to the cloud/object storage. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system comprising:
-
a processor; and a non-transitory computer readable medium having stored thereon program code for handling fragmentation of archived data in cloud/object storage, the program code causing the processor to; upload a first snapshot of a data set to the cloud/object storage, the first snapshot including at least one data object comprising a plurality of data blocks; and upload a second snapshot of the data set to the cloud/object storage, wherein the second snapshot is uploaded at least a predefined number of snapshots after the first snapshot, and wherein the uploading of the second snapshot comprises; determine that the second snapshot includes a version of the data object included in the first snapshot; in response to the determining, select a subset of the plurality of data blocks in the data object of the first snapshot, the subset including data blocks in the plurality of data blocks that have remained the same since the first snapshot; read the subset of the plurality of data blocks from the first snapshot in the cloud/object storage; add the subset of the plurality of data blocks to the version of the data object in the second snapshot; and upload the second snapshot with the subset of the plurality of data blocks to the cloud/object storage. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification