Dynamic triggering of block-level backups based on block change thresholds and corresponding file identities using communication pathways between co-resident data agents
First Claim
Patent Images
1. A method for triggering block-level backups based on change thresholds to individual data files, the method comprising:
- obtaining, by a first data agent that tracks an application, file-to-data-block relationship information about data files that are accessible to the tracked application in a file system,wherein the application, the file system, and the first data agent execute on a first computing device comprising one or more processors and non-transitory computer memory,wherein the first data agent obtains the file-to-data-block relationship information from a second data agent that tracks the file system and also executes on the first computing device, andwherein the file-to-data-block relationship information identifies a first set of data blocks that store contents of the data files on a first data storage device;
monitoring, by the first data agent, write operations performed by the tracked application to the first data storage device;
maintaining, by the first data agent, a representation of changed data blocks resulting from the write operations performed by the tracked application;
periodically transmitting, by the first data agent, a time-stamped version of the representation of changed data blocks to an index service that executes on a second computing device comprising one or more processors and non-transitory computer memory;
by the index service, keeping count of changed data blocks over time based on a plurality of time-stamped versions of the representation of changed data blocks received from the first data agent;
by the index service, indexing the file-to-data-block relationship information into a data-block-to-file mapping; and
when a threshold measure of changed data blocks is passed by a second set of data blocks changed by the tracked application among the first set of data blocks, wherein the second set of data blocks store contents of a first data file among the data files accessible to the tracked application but do not store contents of other of the data files accessible to the tracked application,performing at least in part by the first data agent a block-level backup of the second set of data blocks,wherein the block-level backup is based on changes to the first data file and not to other of the data files accessible to the tracked application and excludes unchanged data blocks that are monitored by the first data agent, andwherein the index service using the data-block-to-file mapping and the keeping count of the changed data blocks over time determines that the threshold measure of changed data blocks is passed by the first data file.
3 Assignments
0 Petitions
Accused Products
Abstract
A data storage management approach is disclosed that performs backup operations flexibly, based on a dynamic scheme of monitoring block changes occurring in production data. The illustrative system monitors block changes based on certain block-change thresholds and triggers block-level backups of the changed blocks when a threshold is passed. Block changes may be monitored in reference to particular files based on a reverse lookup mechanism. The illustrative system also collects and stores historical information on block changes, which may be used for reporting and predictive analysis.
-
Citations
20 Claims
-
1. A method for triggering block-level backups based on change thresholds to individual data files, the method comprising:
-
obtaining, by a first data agent that tracks an application, file-to-data-block relationship information about data files that are accessible to the tracked application in a file system, wherein the application, the file system, and the first data agent execute on a first computing device comprising one or more processors and non-transitory computer memory, wherein the first data agent obtains the file-to-data-block relationship information from a second data agent that tracks the file system and also executes on the first computing device, and wherein the file-to-data-block relationship information identifies a first set of data blocks that store contents of the data files on a first data storage device; monitoring, by the first data agent, write operations performed by the tracked application to the first data storage device; maintaining, by the first data agent, a representation of changed data blocks resulting from the write operations performed by the tracked application; periodically transmitting, by the first data agent, a time-stamped version of the representation of changed data blocks to an index service that executes on a second computing device comprising one or more processors and non-transitory computer memory; by the index service, keeping count of changed data blocks over time based on a plurality of time-stamped versions of the representation of changed data blocks received from the first data agent; by the index service, indexing the file-to-data-block relationship information into a data-block-to-file mapping; and when a threshold measure of changed data blocks is passed by a second set of data blocks changed by the tracked application among the first set of data blocks, wherein the second set of data blocks store contents of a first data file among the data files accessible to the tracked application but do not store contents of other of the data files accessible to the tracked application, performing at least in part by the first data agent a block-level backup of the second set of data blocks, wherein the block-level backup is based on changes to the first data file and not to other of the data files accessible to the tracked application and excludes unchanged data blocks that are monitored by the first data agent, and wherein the index service using the data-block-to-file mapping and the keeping count of the changed data blocks over time determines that the threshold measure of changed data blocks is passed by the first data file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium storing instructions that, when executed by a first computing device comprising one or more processors and non-transitory computer memory, cause the first computing device to perform operations comprising:
-
obtaining, by a first data agent that executes on the first computing device and which tracks an application, file-to-data-block relationship information about data files that are accessible to the tracked application in a file system, wherein the application, the file system, and the first data agent execute on the first computing device, wherein the first data agent obtains the file-to-data-block relationship information from a second data agent that tracks the file system and also executes on the first computing device, and wherein the file-to-data-block relationship information identifies a first set of data blocks that store contents of the data files on a first data storage device; monitoring, by the first data agent, write operations performed by the tracked application to the first data storage device; maintaining, by the first data agent, a representation of changed data blocks resulting from the write operations performed by the tracked application; periodically transmitting, by the first data agent, a time-stamped version of the representation of changed data blocks to an index service that executes on a second computing device comprising one or more processors and non-transitory computer memory, wherein the index service keeps count of changed data blocks over time based on a plurality of time-stamped versions of the representation of changed data blocks received from the first data agent, and further wherein the index service indexes the file-to-block relationship information into a data-block-to-file mapping; and when a threshold measure of changed data blocks is passed by a second set of data blocks changed by the tracked application among the first set of data blocks, wherein the second set of data blocks store contents of a first data file among the data files accessible to the tracked application and do not store contents of other of the data files, performing at least in part by the first data agent a block-level backup of the second set of data blocks, wherein the block-level backup is based on changes to the first data file and not to other of the data files accessible to the tracked application and excludes unchanged data blocks that are monitored by the first data agent, and wherein a determination that the threshold measure is passed for the first data file is made by the index service (a) using the data-block-to-file mapping and (b) keeping count of the changed data blocks over time based on the plurality of time-stamped versions of the representation of changed data blocks received from the first data agent. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification