Predictive upload of snapshot data
First Claim
1. A computer-implemented method for data backup, comprising:
- tracking using a list of writes, a set of changes to a volume to synchronize with a remote storage system, the set of changes reflecting an amount of data to upload to the remote storage system, the list of writes stored on another volume;
determining, by a computer system, a start time to begin upload of the data identified by the set of changes before a scheduled time of a snapshot of the volume, the start time based at least in part on throughput to the remote storage system over a network, the amount of the identified data to upload reflected in the set of changes, and an amount of time remaining before the scheduled time;
forming a set of changes without collisions by removing changes from the set of changes that are overwritten by a later change before the scheduled time based at least in part on the list of writes;
starting an upload from the volume of reduced data represented by the set of changes without collisions to the remote storage system before the scheduled time and after the start time, the reduced data determined based at least in part on the list of writes and the start time;
in accordance with the scheduled time, closing the snapshot to new changes to the volume by determining the last change to the volume from the set of changes to complete the snapshot based at least in part on the list of writes and by associating the new changes with another snapshot of the volume in the list of writes; and
after the scheduled time, completing the snapshot by uploading remaining reduced data that remains to be sent as part of the snapshot from the volume to the remote storage system based at least in part on the list of writes.
1 Assignment
0 Petitions
Accused Products
Abstract
A snapshot of a volume is taken by proactive uploading of scheduled snapshot data before the scheduled snapshot time has arrived. A volume snapshot schedule of once a day may be set up to a service provider using a speed-limited network connection. Using a determined upload speed of the network connection and a list of changes to the volume since a prior snapshot, a snapshot system may determine an appropriate time to start uploading volume data so that the snapshot may be completed at or after the scheduled snapshot time. By using the list of changes and available bandwidth of the network connection, the snapshot may be completed earlier than had it been started at the time of the snapshot and the available bandwidth of the network connection may be more efficiently used.
19 Citations
26 Claims
-
1. A computer-implemented method for data backup, comprising:
-
tracking using a list of writes, a set of changes to a volume to synchronize with a remote storage system, the set of changes reflecting an amount of data to upload to the remote storage system, the list of writes stored on another volume; determining, by a computer system, a start time to begin upload of the data identified by the set of changes before a scheduled time of a snapshot of the volume, the start time based at least in part on throughput to the remote storage system over a network, the amount of the identified data to upload reflected in the set of changes, and an amount of time remaining before the scheduled time; forming a set of changes without collisions by removing changes from the set of changes that are overwritten by a later change before the scheduled time based at least in part on the list of writes; starting an upload from the volume of reduced data represented by the set of changes without collisions to the remote storage system before the scheduled time and after the start time, the reduced data determined based at least in part on the list of writes and the start time; in accordance with the scheduled time, closing the snapshot to new changes to the volume by determining the last change to the volume from the set of changes to complete the snapshot based at least in part on the list of writes and by associating the new changes with another snapshot of the volume in the list of writes; and after the scheduled time, completing the snapshot by uploading remaining reduced data that remains to be sent as part of the snapshot from the volume to the remote storage system based at least in part on the list of writes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 25, 26)
-
-
8. A computer-implemented method for data transfer, comprising:
-
tracking a set of changes to a volume since a prior backup of data, the set of changes tracked in another volume; determining, by a computer system, a start time to begin sending data identified by the set of changes to storage before a scheduled time of a backup of the volume, the start time based at least in part on estimated throughput of sending the identified data to the storage, an amount of identified data to send to the storage, and an amount of time remaining before the scheduled time; before the scheduled time and after the start time, sending from the volume at least a subset of the identified data to be stored as part of the backup, the subset determined based at least in part on the tracking of the set of changes and the start time; at the scheduled time, closing the backup to new changes to the volume by determining a last change in the set of changes to make the backup complete; and after the scheduled time, completing the backup by sending, from the volume, remaining identified data that remains to be sent as part of the backup to the storage. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer system for performing backup, comprising:
one or more computing resources having one or more processors and memory including executable instructions that, when executed by the one or more processors, cause the one or more processors to implement at least; a volume configured to contain volume data that is associated with a scheduled backup of the volume to a remote storage system; a network interface configured to connect the computer system to the remote storage system; a change monitor configured to identify modified data by tracking a set of changes to the volume data since a prior backup of data to the remote storage system, the set of changes tracked in another volume; and a backup system configured to; determine a start time to begin sending modified data represented by the set of changes from the volume to the remote storage system as part of the scheduled backup, send from the volume at least a subset of the modified data over the network before the scheduled backup to be stored as part of the scheduled backup, close the scheduled backup to new changes to the volume by determining a last change in the set of changes that makes the scheduled backup complete, and complete the scheduled backup by sending from the volume remaining modified data identified by the set of changes that remain to be sent, wherein the subset of the modified data is determined based at least in part on the tracking of the set of changes and the start time, and wherein the start time is based at least in part on estimated throughput of the network, an amount of changes to send over the network to the remote storage system, and an amount of time remaining before the scheduled backup. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
21. One or more non-transitory computer-readable storage media having collectively stored thereon executable instructions that, when executed by one or more processors of a computer system, cause the computer system to at least:
-
track a set of changes to a volume since a prior backup of data from the volume, the set of changes tracked in another volume; determine a start time to begin sending data identified by the set of changes to storage as part of a scheduled backup, the start time based at least in part on estimated throughput of sending the identified data to the storage, an amount of identified data to send to the storage, and an amount of time remaining before the scheduled backup; before the scheduled backup; send from the volume at least a subset of the identified data to be stored as part of the scheduled backup to the storage; and send at least a portion of the subset of the identified data to a remote data store associated with the storage to prepare the remote data store for synchronization with the scheduled backup, the portion of the subset determined based at least in part on tracking the set of changes and the start time; at a time that is based at least in part on the time of the scheduled backup, close the scheduled backup to new changes to the volume by determining a last change in the set of changes to make the backup complete; complete the scheduled backup by sending from the volume remaining identified data that remains to be sent to the storage; and complete the synchronization of the scheduled backup to the remote data store by sending remaining data from the scheduled backup to the remote data store. - View Dependent Claims (22, 23, 24)
-
Specification