Virtual full backups
First Claim
1. A method comprising:
- maintaining, by a client system, a set of data;
wherein the set of data includes a plurality of data blocks;
associating each respective data block in the plurality of data blocks with a respective watermark;
in response to every change that is committed to a given data block, creating a new version of the given data block and associating a new watermark with the new version of the given data block, wherein the new watermark is different than the watermark associated with all other versions of the given data block;
wherein, for each data block of the plurality of data blocks, the watermark associated with the data block indicates a version of the respective data block and is different than the watermark associated with any other version of the data block;
for each respective data block in the plurality of data blocks, determining, based on the respective watermark associated with the respective data block, whether to include the respective data block in a set of backup data to send to a backup server; and
sending, by the client system to the backup server, the set of backup data.
0 Assignments
0 Petitions
Accused Products
Abstract
According to embodiments described herein, a backup server maintains backup data for a set of data, which includes data for a first block and a second block. Backup data for the first and second block include backup data for a plurality of versions of the first and second block. A distinct watermark is stored for each version of the first block and each version of the second block. In response to a request to perform a restoration operation on the set of data, a particular version of the first block and a particular version of the second block are selected to use in the restoration operation by comparing a restoration target with the watermarks of the version of the first block and second block. The selected version of the first block has a different watermark than the selected version of the second block.
-
Citations
20 Claims
-
1. A method comprising:
-
maintaining, by a client system, a set of data; wherein the set of data includes a plurality of data blocks; associating each respective data block in the plurality of data blocks with a respective watermark; in response to every change that is committed to a given data block, creating a new version of the given data block and associating a new watermark with the new version of the given data block, wherein the new watermark is different than the watermark associated with all other versions of the given data block; wherein, for each data block of the plurality of data blocks, the watermark associated with the data block indicates a version of the respective data block and is different than the watermark associated with any other version of the data block; for each respective data block in the plurality of data blocks, determining, based on the respective watermark associated with the respective data block, whether to include the respective data block in a set of backup data to send to a backup server; and sending, by the client system to the backup server, the set of backup data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium storing instructions, which, when executed by one or more processors, cause one or more computing devices to perform operations comprising:
-
maintaining, by a client system, a set of data; wherein the set of data includes a plurality of data blocks; associating each respective data block in the plurality of data blocks with a respective watermark; in response to every change that is committed to a given block, creating a new version of the given data block and associating a new watermark with the new version of the given data block, wherein the new watermark is different than the watermark associated with all other versions of the given data block; wherein, for each data block of the plurality of data blocks, the watermark associated with the data block indicates a version of the respective data block and is different than the watermark associated with any other version of the data block; for each respective data block in the plurality of data blocks, determining, based on the respective watermark associated with the respective data block, whether to include the respective data block in a set of backup data to send to a backup server; and sending, by the client system to the backup server, the set of backup data. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification