IP Library Granted Patent US 8,595,189
Granted Patent B2
US 8,595,189 · App. 13/420,358 · Granted Nov 26, 2013

Method and system for implementing fast incremental backups

Inventor: Kedar Patwardhan (Maharashtra, 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,595,189
App. No.
13/420,358
Granted
Nov 26, 2013
Kind
B2
Abstract

A method for fast incremental replication of a file system. The method includes, at a data storage level, tracking file system status for a plurality of files by using a data structure inside respective inodes for the plurality of files, and at a file system level, tracking file system status for a plurality of files by using a file system mask structure. For all files present in a backup, a catalogue of the file path name and inode number is maintained on a source file system. During incremental backup, a source file system data structure enumerating a plurality of modified inodes is consulted. For inodes that have not been marked as removed or created, the file system mask structure that tracks modified portions is consulted to obtain a file incremental change and inodes. The method further includes performing incremental backup using the inodes that have been modified and appended.

Claims (38)

1. A method for fast incremental replication of a file system, comprising:

at a data storage level, tracking a file system status for a plurality of files by using a data structure inside respective inodes for the plurality of files;

at a file system level, tracking a file system status for a plurality of files by using a file system mask structure;

for all files present in a backup, maintaining a catalogue of a file path name and inode number on a source file system;

during incremental backup, consulting a source file system data structure enumerating a plurality of modified inodes to determine inodes that have been marked as removed or created;

for inodes that have not been marked as removed or created, consulting the file system mask structure that tracks modified portions to obtain a file incremental change and inodes that have been modified and appended, the file incremental change indicating a difference between a stored file size and a subsequent file size; and

performing incremental backup using the inodes that have been modified and appended.

2. The method of claim 1 , wherein when a file has been removed, an on-disk inode tracks the same separately by using a bit field.

3. The method of claim 1 , wherein when a file has been created, an on-disk inode tracks the same separately by using a bit field, and regarding said file creation, no file range modification is done.

4. The method of claim 1 , wherein each file in the file system tracks ranges modified by maintaining such information persistently by dividing said each file into chunks and representing the chunks by a bit-map.

5. The method of claim 1 , wherein each file in the file system tracks ranges modified by maintaining such information persistent on at the data storage level.

6. The method of claim 1 , wherein each time a file is created or renamed, said file's name and parent directory inode number is recorded with the inode at the data storage level.

7. The method of claim 1 , wherein once a directory inode that is not marked as created has been reached, a path is extracted from an inode number using a catalog maintained at a backup.

8. A computer readable storage medium having stored thereon computer executable instructions that, when executed by a computer system, cause the computer system to perform a method comprising:

at a data storage level, tracking a file system status for a plurality of files by using a data structure inside respective inodes for the plurality of files;

at a file system level, tracking a file system status for a plurality of files by using a file system mask structure;

for all files present in a backup, maintaining a catalogue of the file path name and inode number on the source file system;

during incremental backup, consulting a source file system data structure enumerating a plurality of modified inodes to determine inodes that have been marked as removed or created;

for inodes that have not been marked as removed or created, consulting the file system mask structure that tracks modified portions to obtain a file incremental change and inodes that have been modified and appended, the file incremental change indicating a difference between a stored file size and a subsequent file size; and

performing incremental backup using the inodes that have been modified and appended.

9. The computer readable storage medium of claim 8 , wherein when a file has been removed, an on-disk inode tracks the same separately by using a bit field.

10. The computer readable storage medium of claim 8 , wherein when a file has been created, an on-disk inode tracks the same separately by using a bit field.

11. The computer readable storage medium of claim 8 , wherein each file in the file system tracks ranges modified by maintaining such information persistently by dividing said each file into chunks and representing the chunks by a bit-map.

12. The computer readable storage medium of claim 8 , wherein each file in the file system tracks ranges modified by maintaining such information persistent on at the data storage level.

13. The computer readable storage medium of claim 8 , wherein each time a file is created or renamed, said file's name and parent directory inode number is recorded with the inode at the data storage level.

14. The computer readable storage medium of claim 8 , wherein once a directory inode that is not marked as created has been reached, a path is extracted from an inode number using a catalog maintained at a backup.

15. A computer system having a microprocessor coupled to a computer readable memory, the memory having computer readable code therein which when executed by the computer system causes the computer system to implement a method comprising:

at a data storage level, tracking a file system status for a plurality of files by using a data structure inside respective inodes for the plurality of files;

at a file system level, tracking a file system status for a plurality of files by using a file system mask structure;

for all files present in a backup, maintaining a catalogue of the file path name and inode number on the source file system;

during incremental backup, consulting a source file system data structure enumerating a plurality of modified inodes to determine inodes that have been marked as removed or created;

for inodes that have not been marked as removed or created, consulting the file system mask structure that tracks modified portions to obtain a file incremental change and inodes that have been modified and appended, the file incremental change indicating a difference between a stored file size and a subsequent file size;

performing incremental backup using the inodes that have been modified and appended.

16. The computer system of claim 15 , wherein when a file has been removed, an on-disk inode tracks the same separately by using a bit field.

17. The computer system of claim 15 , wherein when a file has been created, an on-disk inode tracks the same separately by using a bit field, and regarding said file creation, no file range modification is done.

18. The computer system of claim 15 , wherein each file in the file system tracks ranges modified by maintaining such information persistently by dividing said each file into chunks and representing the chunks by a bit-map.

19. The computer system of claim 15 , wherein each file in the file system tracks ranges modified by maintaining such information persistent on at the data storage level.

20. The computer system of claim 15 , wherein each time a file is created or renamed, said file's name and parent directory inode number is recorded with the inode at the data storage level.

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 Mar 14, 2012
From: PATWARDHAN, KEDAR
To: SYMANTEC CORPORATION
Reel/Frame 027864/0459 →
Continuity (1)
Related Publication 20130246362A1 · Sep 19, 2013