FIELD

The described embodiments relate generally to performing incremental data backups. More particularly, the described embodiments involve utilizing snapshots of file system volumes (that store data) to increase the efficiency by which the data can be periodically backed up to destination devices (e.g., network drives).

BACKGROUND

Computing devices have become the primary means through which users manage their personal/work-related data, e.g., digital media items, documents, emails, and so on. In this regard, it can be important for users to regularly backup their data so that recovery procedures can be carried out in an organized manner when necessary (e.g., when a data loss or corruption occurs). A popular approach for a given computing device to carry out a data backup procedure involves utilizing a mass storage device—e.g., a network-based storage drive—that is accessible to the computing device. In particular, the computing device can provide a copy of its data (e.g., stored on a local storage device) to the mass storage device, which can then be used at a later time as a basis to carry out a recovery procedure when necessary. Notably, the mass storage device typically will have a storage capacity that is substantially larger than the local storage device of the computing device. This can beneficially enable chronological versions of the data to be established, thereby increasing the granularity by which recovery procedures can be executed.

Despite the foregoing benefits that can be afforded using mass storage devices to carry out data backups, several performance issues continue to persist that have yet to be properly addressed. For example, when a computing device is carrying out an incremental data backup procedure, it can be configured to wastefully copy all of its data to a mass storage device, even when only small number of changes have occurred to the data since a previous data backup procedure was executed. One approach that attempts to address this deficiency involves the computing device comparing its current data to the data stored on the mass storage device, and copying only the changes over to the mass storage device. However, this approach suffers from latency issues due to the considerable amount of back-and-forth communications that must take place between the computing device and the mass storage device to properly identify the changes. Moreover, these latency issues are exacerbated in most scenarios as the computing device typically communicates with the mass storage device over a network connection that has constrained bandwidth.

Consequently, there exists a need for a more efficient approach for performing incremental data backups from a computing device to a mass storage device.

SUMMARY

Representative embodiments set forth herein disclose various techniques for performing incremental data backups. More particularly, the described embodiments involve utilizing snapshots of file system (FS) volumes (that store data) to increase the efficiency by which the data can be periodically backed up to destination devices (e.g., network drives)

According to some embodiments, a method for performing a backup of a source file system volume (FSV) associated with a source computing device is disclosed. The method can include the steps of (1) generating, at the source computing device, a current snapshot of the source FSV in response to a request to perform an incremental backup of the source FSV. Specifically, the current snapshot can complement a previous snapshot of the source FSV (e.g., generated in conjunction with a previous backup). In some cases, to free up storage space, the actual data for files belonging to the source FSV can be stripped from the previous snapshot (with metadata for the files remaining intact). A subsequent step of the method can include (2) generating, within a destination storage device, a second snapshot of a destination FSV, where the source FSV corresponds to the destination FSV. A next step of the method can include (3) identifying changes that have been made to the source FSV based on the current and previous snapshots managed by the source computing device. A next step of the method can include (4) reflecting the changes within the second snapshot of the destination FSV. A final step of the method can include (5) generating a third snapshot of the destination FSV to finalize the changes made to the second snapshot of the destination FSV. In this manner, the backup is performed efficiently as the source computing device can minimize the amount of back-and-forth communications that take place with the destination storage device.

Other embodiments include a non-transitory computer readable storage medium configured to store instructions that, when executed by a processor included in a computing device, cause the computing device to carry out the various steps of any of the foregoing methods. Further embodiments include a computing device that is configured to carry out the various steps of any of the foregoing methods.

Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings that illustrate, by way of example, the principles of the described embodiments.

