Synchronized change tracking in data storage volumes
First Claim
1. A computer-implemented system for backing up data, the system comprising:
- at least one processor and an operatively associated storage device, wherein the at least one processor is programmed to;
execute a tracking application;
execute a file system driver; and
execute a file system filter driver, wherein the file system filter driver is programmed to;
receive a start tracking request;
receive a plurality of write input/output (I/O) requests from the application;
record a set of current changes to an address of a block to be modified by the write I/O request for each of the plurality of I/O requests;
forward the write I/O request to the file system driver;
receive a lock request;
determine that the lock request is the first lock request received since receipt of the start tracking request; and
in response to receiving the second lock request after the first lock request,copy the current changes to frozen changes,clear the current changes,receive a second lock request, anddiscard current changes after initiating a merger of the current changes.
6 Assignments
0 Petitions
Accused Products
Abstract
Various examples are directed to systems and methods for backing up data. A tracking utility may receive a start request and then receive a write request directed towards the first volume. An address of the block of the volume to be modified by the write request may be recorded to a current changes list. The tracking utility may also receive a first lock request, wherein the lock request comprises an instruction to place the volume in a read-only mode. Upon receiving the first lock request, the tracking utility may copy the current changes list to a frozen changes list and clear the current changes list. Upon receiving a second lock request, the tracking utility may merge the current changes list and the frozen changes list.
56 Citations
19 Claims
-
1. A computer-implemented system for backing up data, the system comprising:
-
at least one processor and an operatively associated storage device, wherein the at least one processor is programmed to; execute a tracking application; execute a file system driver; and execute a file system filter driver, wherein the file system filter driver is programmed to; receive a start tracking request; receive a plurality of write input/output (I/O) requests from the application; record a set of current changes to an address of a block to be modified by the write I/O request for each of the plurality of I/O requests; forward the write I/O request to the file system driver; receive a lock request; determine that the lock request is the first lock request received since receipt of the start tracking request; and in response to receiving the second lock request after the first lock request, copy the current changes to frozen changes, clear the current changes, receive a second lock request, and discard current changes after initiating a merger of the current changes. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented system for backing up data, the system comprising:
at least one processor and an operatively associated storage device, wherein the storage device comprises a first volume, and wherein the at least one processor is programmed to; execute a file system driver; execute a tracking utility, wherein the tracking utility is programmed to; receive a start tracking request; receive a write request directed towards the first volume; record to a current changes list an address at the volume to be modified by the write request; receive a lock request; determine that the lock request is the first lock request received since receipt of the start tracking request; copy the current changes list to a frozen changes list; clear the current changes list; receive a second lock request; and in response to receiving the second lock request after the first lock request, merge the current changes list and the frozen changes list. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
13. A computer-implemented system for backing up data, the system comprising:
at least one processor and an operatively associated storage device, wherein the storage device comprises a first volume, and wherein the at least one processor is programmed to; execute a backup client, wherein the backup client is programmed to; detect lock requests; initiate a tracking utility at a first time; request a first snapshot of the first volume, the first snapshot having a first lock request; generate a first backup copy of the first volume from the first snapshot; determine that the lock request is the first lock request received; request a second snapshot of the first volume, the second snapshot having a second lock request; stop the tracking utility in response to detecting the second lock request; receive from the tracking utility a list comprising changes to the first volume between the first time and a time of a last snapshot of the volume taken before the tracking utility is stopped; and generate a second backup copy of the first volume from the second snapshot considering the list. - View Dependent Claims (14, 15, 16, 17, 18, 19)
Specification