Dynamic triggering of block-level backups based on block change thresholds and corresponding file identities in a data storage management system
First Claim
Patent Images
1. A system for triggering block-level backups based on change thresholds to individual data files, the system comprising:
- a storage manager comprising a computing device that includes one or more processors and non-transitory computer memory;
an index server in communication with the storage manager, wherein the index server includes one or more processors and non-transitory computer memory;
a client computing device in communication with the storage manager and the index server, wherein the client computing device includes one or more processors and non-transitory computer memory for executing an application, a first data agent that tracks the application, a file system, and a second data agent that tracks the file system;
a first data storage device in communication with the client computing device, wherein the first data storage device stores data files accessible by the application,wherein a first set of data blocks store contents of the data files;
wherein the first data agent is programmed to;
monitor write operations performed by the application to the first data storage device,identify data blocks changing as a result of the write operations,maintain a representation of changed data blocks in the first data storage device resulting from the write operations, andperiodically (i) transmit a time-stamped version of the representation of changed data blocks, designated a point-in-time map, to the index server and (ii) re-initialize the representation of changed data blocks maintained by the first data agent;
wherein the second data agent that monitors the file system is programmed to;
transmit to the first data agent file-to-data-block relationship information that identifies the first set of data blocks that store the contents of the data files in the file system that are accessible to the application;
wherein the index server is programmed to;
receive a plurality of point-in-time maps,keep count of changed data blocks over time based on the plurality of point-in-time maps,index the file-to-data-block relationship information received from the second data agent into a data-block-to-file mapping,based on using the data-block-to file mapping, determine that a threshold measure of data block changes in a first of the data files has been passed by a second set of changed data blocks represented in the point-in-time maps, wherein the second set of changed data blocks is a subset of the first set of data blocks, andnotify the storage manager of the threshold having been passed; and
wherein the storage manager is programmed to;
based on receiving notice from the index server that the threshold has been passed, initiate a block-level backup of the second set of changed data blocks,wherein the block-level backup of the second set of changed data blocks does not back up the first of the data files in its entirety, andwherein the block-level backup of the second set of changed data blocks is triggered by changes in the first of the data files and not by changes in others of the data files.
2 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.
143 Citations
12 Claims
-
1. A system for triggering block-level backups based on change thresholds to individual data files, the system comprising:
-
a storage manager comprising a computing device that includes one or more processors and non-transitory computer memory; an index server in communication with the storage manager, wherein the index server includes one or more processors and non-transitory computer memory; a client computing device in communication with the storage manager and the index server, wherein the client computing device includes one or more processors and non-transitory computer memory for executing an application, a first data agent that tracks the application, a file system, and a second data agent that tracks the file system; a first data storage device in communication with the client computing device, wherein the first data storage device stores data files accessible by the application, wherein a first set of data blocks store contents of the data files; wherein the first data agent is programmed to; monitor write operations performed by the application to the first data storage device, identify data blocks changing as a result of the write operations, maintain a representation of changed data blocks in the first data storage device resulting from the write operations, and periodically (i) transmit a time-stamped version of the representation of changed data blocks, designated a point-in-time map, to the index server and (ii) re-initialize the representation of changed data blocks maintained by the first data agent; wherein the second data agent that monitors the file system is programmed to;
transmit to the first data agent file-to-data-block relationship information that identifies the first set of data blocks that store the contents of the data files in the file system that are accessible to the application;wherein the index server is programmed to; receive a plurality of point-in-time maps, keep count of changed data blocks over time based on the plurality of point-in-time maps, index the file-to-data-block relationship information received from the second data agent into a data-block-to-file mapping, based on using the data-block-to file mapping, determine that a threshold measure of data block changes in a first of the data files has been passed by a second set of changed data blocks represented in the point-in-time maps, wherein the second set of changed data blocks is a subset of the first set of data blocks, and notify the storage manager of the threshold having been passed; and wherein the storage manager is programmed to; based on receiving notice from the index server that the threshold has been passed, initiate a block-level backup of the second set of changed data blocks, wherein the block-level backup of the second set of changed data blocks does not back up the first of the data files in its entirety, and wherein the block-level backup of the second set of changed data blocks is triggered by changes in the first of the data files and not by changes in others of the data files. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for data storage management, the system comprising:
-
a storage manager comprising a computing device that includes one or more processors and non-transitory computer memory; an index server in communication with the storage manager, wherein the index server includes one or more processors and non-transitory computer memory; a client computing device in communication with the storage manager and the index server, wherein the client computing device includes one or more processors and non-transitory computer memory for executing an application, a first data agent that tracks the application, a file system, and a second data agent that tracks the file system; a first data storage device in communication with the client computing device, wherein the first data storage device stores data files accessible by the application, wherein a first set of data blocks store contents of the data files; wherein the first data agent is programmed to; monitor write operations performed by the application to the first data storage device, identify data blocks changing as a result of the write operations, maintain a representation of changed data blocks in the first data storage device resulting from the write operations, periodically (i) transmit a time-stamped version of the representation of changed data blocks, designated a point-in-time map, to the index server and (ii) re-initialize the representation of changed data blocks maintained by the first data agent, and transmit a first query to the second data agent requesting file-to-data-block relationship information about data files in the file system, including at least one data file accessible to the application; wherein the second data agent is programmed to; obtain the file-to-data-block relationship information based on a scan of the file system, and transmit the file-to-data-block relationship information to the first data agent in response to the first query; wherein the index server is programmed to; receive a plurality of point-in-time maps, index the file-to-data-block relationship information into a data-block-to-file mapping, based on using the data-block-to-file mapping, determine that a threshold measure of changed data blocks in a first of the data files has been passed by a second set of changed data blocks represented in the point-in-time maps, wherein the second set of changed data blocks is a subset of the first set, and notify the storage manager of the threshold having been passed; and wherein the storage manager is programmed to; based on receiving notice from the index server that the threshold has been passed, initiate a block-level backup of the second set of changed data blocks, by triggering the block-level backup based on changes in the first of the data files and not by changes in others of the data files. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
Specification