IP Library Granted Patent US 8,201,021
Granted Patent B1
US 8,201,021 · App. 11/048,458 · Granted Jun 12, 2012

Method and apparatus for efficiently creating backup files with less redundancy

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,201,021
App. No.
11/048,458
Granted
Jun 12, 2012
Kind
B1
Abstract

A method of creating backup files having less redundancy. The method creates a backup file by creating an overhead segment for each file that is to be backed up and creating a data segment containing the data that is to be backed up for each file. After creating the overhead segment and the data segment, the overhead segment is placed into an overhead stream data segment is stored in memory. The overhead segment is also positioned in the overhead stream with a pointer that identifies the data segment within the memory. For backups of subsequent servers or the same server at a later time, the backup software will create a separate overhead stream. However, a plurality of overhead streams may contain pointers to the same data segments such that redundant data segments do not need to be stored in a backup server.

Claims (37)

1. A method of creating backup files having less redundancy, comprising:

triggering a backup process;

for each file to be backed up, creating a data segment;

storing the data segment at a location in memory;

creating an overhead stream having a pointer that identifies the location of the data segment;

determining if the data segment is redundant to a previously stored data segment;

if the data segment is redundant, deleting the redundant data segment; and

updating the overhead stream pointer to identify the previously stored data segment that is identical to the deleted data segment.

2. The method of claim 1 wherein the determining step comprises:

computing a checksum that represents the contents of the data segment;

comparing the checksum to at least one previously generated checksums; and

if a matching checksum is found, identifying the data segment as redundant.

3. The method of claim 2 wherein the checksum is an MD5 checksum.

4. The method of claim 2 wherein the checksum is used to define a directory path and file name for the data segment.

5. The method of claim 2 further comprising, for each redundant data segment, performing a binary compare between the data segment and the previously stored data segment.

6. The method of claim 2 wherein the checksum is a unique signature or fingerprint representing the contents of the data segment.

7. The method of claim 1 wherein, each execution of the triggering step, creates a separate overhead stream, where a plurality of overhead streams identifies common data segments.

8. The method of claim 7 wherein each overhead stream represents a backup of a different device.

9. Apparatus for creating backup files having less redundancy comprising:

a backup server for accessing at least one file to be backed up, creating data segments and an overhead stream each time a backup is triggered, determining when a data segment is redundant; and when a data segment is redundant, deleting the data segment from memory and updating the overhead stream to identify a previously stored data segment that is identical to the deleted data segment.

10. The apparatus of claim 9 further comprising at least one server containing at least one file to be backed up.

11. The apparatus of claim 9 wherein a separate overhead stream is created for each at least one server.

12. A computer readable medium for storing software that, when executed on a processor, causes the processor to perform a method comprising:

for each file to be backed up, creating a data segment;

storing the data segment at a location in memory;

creating an overhead stream having a pointer that identifies the location of the data segment;

determining if the data segment is redundant to a previously stored data segment;

if the data segment is redundant, deleting the redundant data segment; and

updating the overhead stream pointer to identify the previously stored data segment that is identical to the deleted data segment.

13. The method of claim 12 wherein the determining step comprises:

computing a checksum that represents the contents of the data segment;

comparing the checksum to at least one previously generated checksums; and

if a matching checksum is found, identifying the data segment as redundant.

14. The method of claim 13 wherein the checksum is an MD5 checksum.

15. The method of claim 13 wherein the checksum is used to define a directory path and file name for the data segment.

16. The method of claim 15 further comprising, for each redundant data segment, performing a binary compare between the data segment and the previously stored data segment.

17. The method of claim 16 wherein the checksum is a unique signature or fingerprint representing the contents of the data segment.

Assignments (14)
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 →
CHANGE OF NAME Recorded Sep 21, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019866/0480 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2005
From: SHAH, SUNIL; SEARLS, KIRK L.; TSAUR, YNN-PYNG "ANKER"
To: VERITAS OPERATING CORPORATION
Reel/Frame 016241/0515 →