IP Library Granted Patent US 8,762,341
Granted Patent B1
US 8,762,341 · App. 13/335,010 · Granted Jun 24, 2014

Efficiently configuring multiple backup data policies with information specifying data to backup

Inventors: Sameer Mahajan (Pune, IN); Dulipsinh Hanamant Deshmukh (Pune, IN); Pradip Kulkarni (Pune, IN); Nitin Anand (Pune, IN)
Assignee: Symantec Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,762,341
App. No.
13/335,010
Filed
Dec 22, 2011
Granted
Jun 24, 2014
Kind
B1
Art Unit
2168
USPC
707/648
Abstract

A system and method for determining the data that should be backed up by a plurality of backup policies are described. A global file change log that lists which files have been changed may be maintained. The global file change log may be processed to distribute the file change information into policy-specific file change logs. A global block change bitmap may also be maintained. The global block change bitmap may indicate which data blocks of the files have been changed. Performing a respective backup operation for a respective backup policy may include backing up only the data blocks that have changed in the files listed in the respective policy-specific file change log since a previous backup operation for the respective backup policy was performed. The data blocks that have changed may be specified in a respective policy-specific block change bitmap for the respective backup policy.

Claims (58)

1. A non-transitory, computer-accessible storage medium storing program instructions executable by one or more processors to:

for each respective backup policy of a plurality of backup policies, configure the respective backup policy with information specifying a respective subset of a plurality of files to be backed up;

in response to changes to the plurality of files, maintain a global file change log that lists which files of the plurality of files have been changed;

process the global file change log, wherein in processing the global file change log, the program instructions are executable to:

for each respective backup policy of the plurality of backup policies, determine which particular files of the respective subset of files corresponding to the respective backup policy are listed in the global file change log, and add the particular files to a respective policy-specific file change log for the respective backup policy; and

clear the global file change log;

wherein the program instructions are further executable by the one or more processors to perform a respective backup operation for each respective backup policy, wherein in performing the respective backup operation for each respective backup policy, the program instructions are executable by the one or more processors to backup the files listed in the respective policy-specific file change log for the respective backup policy;

wherein after performing the respective backup operation for each respective backup policy, the program instructions are further executable by the one or more processors to clear the respective policy-specific file change log for the respective backup policy.

2. The non-transitory, computer-accessible storage medium of claim 1 ,

wherein the program instructions are further executable by the one or more processors to periodically perform said processing the global file change log.

3. The non-transitory, computer-accessible storage medium of claim 1 , wherein the program instructions are further executable by the one or more processors to:

in response to changes to the plurality of files, maintain a global block change bitmap that indicates which data blocks of the plurality of files have been changed; and

for each respective backup policy of the plurality of backup policies, update a respective policy-specific block change bitmap using the global block change bitmap;

wherein in performing the respective backup operation for each respective backup policy, the program instructions are executable by the one or more processors to backup only the data blocks that have changed in the files listed in the respective policy-specific file change log since a previous backup operation for the respective backup policy was performed, wherein the data blocks that have changed are specified in the respective policy-specific block change bitmap for the respective backup policy.

4. The non-transitory, computer-accessible storage medium of claim 3 ,

wherein in updating the respective policy-specific block change bitmap for each respective backup policy, the program instructions are executable by the one or more processors to perform a bitwise OR operation on the respective policy-specific block change bitmap using the global block change bitmap.

5. The non-transitory, computer-accessible storage medium of claim 3 ,

wherein after performing the respective backup operation for each respective backup policy, the program instructions are further executable by the one or more processors to clear the respective policy-specific block change bitmap for the respective backup policy.

6. The non-transitory, computer-accessible storage medium of claim 3 ,

wherein the program instructions are executable by the one or more processors to update the policy-specific block change bitmaps for the backup policies in response to determining that a backup operation for one of the backup policies has been initiated.

7. The non-transitory, computer-accessible storage medium of claim 3 ,

wherein the program instructions are further executable by the one or more processors to clear the global block change bitmap after updating the policy-specific block change bitmaps for the backup policies.

8. A system comprising:

one or more processors; and

memory storing program instructions, wherein the program instructions are executable by the one or more processors to:

for each respective backup policy of a plurality of backup policies, configure the respective backup policy with information specifying a respective subset of a plurality of files to be backed up;

in response to changes to the plurality of files, maintain a global file change log that lists which files of the plurality of files have been changed;

process the global file change log, wherein in processing the global file change log, the program instructions are executable to:

for each respective backup policy of the plurality of backup policies, determine which particular files of the respective subset of files corresponding to the respective backup policy are listed in the global file change log, and add the particular files to a respective policy-specific file change log for the respective backup policy; and

clear the global file change log;

wherein the program instructions are further executable by the one or more processors to perform a respective backup operation for each respective backup policy, wherein in performing the respective backup operation for each respective backup policy, the program instructions are executable by the one or more processors to backup the files listed in the respective policy-specific file change log for the respective backup policy;

wherein after performing the respective backup operation for each respective backup policy, the program instructions are further executable by the one or more processors to clear the respective policy-specific file change log for the respective backup policy.

9. The system of claim 8 ,

wherein the program instructions are further executable by the one or more processors to periodically perform said processing the global file change log.

10. The system of claim 8 , wherein the program instructions are further executable by the one or more processors to:

in response to changes to the plurality of files, maintain a global block change bitmap that indicates which data blocks of the plurality of files have been changed; and

for each respective backup policy of the plurality of backup policies, update a respective policy-specific block change bitmap using the global block change bitmap;

wherein in performing the respective backup operation for each respective backup policy, the program instructions are executable by the one or more processors to backup only the data blocks that have changed in the files listed in the respective policy-specific file change log since a previous backup operation for the respective backup policy was performed, wherein the data blocks that have changed are specified in the respective policy-specific block change bitmap for the respective backup policy.

11. The system of claim 10 ,

wherein in updating the respective policy-specific block change bitmap for each respective backup policy, the program instructions are executable by the one or more processors to perform a bitwise OR operation on the respective policy-specific block change bitmap using the global block change bitmap.

12. The system of claim 10 ,

wherein after performing the respective backup operation for each respective backup policy, the program instructions are further executable by the one or more processors to clear the respective policy-specific block change bitmap for the respective backup policy.

13. The system of claim 10 ,

wherein the program instructions are executable by the one or more processors to update the policy-specific block change bitmaps for the backup policies in response to determining that a backup operation for one of the backup policies has been initiated.

14. The system of claim 10 ,

wherein the program instructions are further executable by the one or more processors to clear the global block change bitmap after updating the policy-specific block change bitmaps for the backup policies.

15. A method comprising:

for each respective backup policy of a plurality of backup policies, configuring the respective backup policy with information specifying a respective subset of a plurality of files to be backed up;

in response to changes to the plurality of files, maintaining a global file change log that lists which files of the plurality of files have been changed;

processing the global file change log, wherein processing the global file change log includes:

for each respective backup policy of the plurality of backup policies, determining which particular files of the respective subset of files corresponding to the respective backup policy are listed in the global file change log, and adding the particular files to a respective policy-specific file change log for the respective backup policy; and

clearing the global file change log;

wherein the method further comprises performing a respective backup operation for each respective backup policy, wherein performing the respective backup operation for each respective backup policy includes backing up the files listed in the respective policy-specific file change log for the respective backup policy; and

after performing the respective backup operation for each respective backup policy, clearing the respective policy-specific file change log for the respective backup policy.

16. The method of claim 15 , further comprising:

in response to changes to the plurality of files, maintaining a global block change bitmap that indicates which data blocks of the plurality of files have been changed; and

for each respective backup policy of the plurality of backup policies, updating a respective policy-specific block change bitmap using the global block change bitmap;

wherein performing the respective backup operation for each respective backup policy includes backing up only the data blocks that have changed in the files listed in the respective policy-specific file change log since a previous backup operation for the respective backup policy was performed, wherein the data blocks that have changed are specified in the respective policy-specific block change bitmap for the respective backup policy.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075763/0001 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2011
From: MAHAJAN, SAMEER; DESHMUKH, DULIPSINH; KULKARNI, PRADIP; ANAND, NITIN
To: SYMANTEC CORPORATION
Reel/Frame 027435/0007 →