IP Library Granted Patent US 9,298,724
Granted Patent B1
US 9,298,724 · App. 13/917,761 · Granted Mar 29, 2016

Systems and methods for preserving deduplication efforts after backup-job failures

Inventors: Deepak Patil (Maharashtra, IN); Vishal Bajpai (Roseville, MN)
Assignee: Symantec Corporation
G06F17/30156
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 9,298,724
App. No.
13/917,761
Granted
Mar 29, 2016
Kind
B1
Abstract

A computer-implemented method for preserving deduplication efforts after backup-job failures may include (1) identifying a deduplicated data system that reduces redundant data storage by storing and referencing a plurality of deduplicated data segments and reclaims storage space by deleting unreferenced data segments from the deduplicated data system, (2) identifying a backup job that backs up data to the deduplicated data system, causes the deduplicated data system to store at least one new data segment available to be referenced within the deduplicated data system, and fails after the deduplicated data system stores the new data segment within the deduplicated data system causing the new data segment to be unreferenced within the deduplicated data system, and (3) causing the deduplicated data system to retain the new data segment until the backup job is retried despite the new data segment being unreferenced. Various other methods, systems, and computer-readable media are also disclosed.

Claims (58)

1. A computer-implemented method for preserving deduplication efforts after backup-job failures at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying a deduplicated data system that reduces redundant data storage by storing and referencing a plurality of deduplicated data segments, wherein the deduplicated data system reclaims storage space by deleting data segments that are not referenced from the deduplicated data system;

identifying a backup job that backs up data to the deduplicated data system, wherein a first performance of the backup job:

causes the deduplicated data system to store at least one new data segment that is available to be referenced within the deduplicated data system; and

fails after the deduplicated data system stores the new data segment within the deduplicated data system, wherein failure of the first performance of the backup job causes the new data segment to not be referenced within the deduplicated data system;

causing the deduplicated data system to wait at least until a second performance of the backup job occurs by causing the deduplicated data system to retain the new data segment until the second performance of the backup job occurs successfully despite the new data segment being not referenced.

2. The computer-implemented method of claim 1 , wherein causing the deduplicated data system to wait at least until the second performance of the backup job can occur comprises:

determining a minimum retention period for the new data segment;

causing the deduplicated data system to retain the new data segment until the minimum retention period of the new data segment expires.

3. The computer-implemented method of claim 2 , wherein the length of the minimum retention period of the new data segment is at least equal to the length of a garbage-collection period of the deduplicated data system after which the deduplicated data system reclaims storage space by deleting data segments that are not referenced from the deduplicated data system.

4. The computer-implemented method of claim 2 , wherein the length of the minimum retention period of the new data segment is at least equal to the length of a retry period of the backup job after which the second performance of the backup job will occur.

5. The computer-implemented method of claim 4 , wherein the length of the minimum retention period of the new data segment is at least equal to the amount of time that elapsed while the first performance of the backup job backed up data to the deduplicated data system combined with the length of the retry period of the backup job after which the second performance of the backup job will occur.

6. The computer-implemented method of claim 2 , wherein the minimum retention period of the new data segment is user defined.

7. The computer-implemented method of claim 1 , wherein:

the deduplicated data system:

stores and references the plurality of deduplicated data segments by:

storing the plurality of deduplicated data segments within a plurality of containers, wherein each container within the plurality of containers comprises a subset of the plurality of deduplicated data segments;

referencing the plurality of containers;

reclaims storage space by deleting containers that are not referenced from the deduplicated data system;

the first performance of the backup job causes the deduplicated data system to store the new data segment within at least one new container available to be referenced within the deduplicated data system;

failure of the first performance of the backup job causes the new container to not be referenced within the deduplicated data system;

causing the deduplicated data system to wait at least until the second performance of the backup job can occur comprises causing the deduplicated data system to retain the new container until the second performance of the backup job can occur despite the new container being not referenced so that the new container is available to be referenced within the deduplicated data system when the second performance of the backup job occurs.

8. A system for preserving deduplication efforts after backup—

job failures, the system comprising:

an identifying module that identifies:

a deduplicated data system that reduces redundant data storage by storing and referencing a plurality of deduplicated data segments, wherein the deduplicated data system reclaims storage space by deleting data segments that are not referenced from the deduplicated data system;

a backup job that backs up data to the deduplicated data system, wherein a first performance of the backup job:

causes the deduplicated data system to store at least one new data segment that is available to be referenced within the deduplicated data system; and

fails after the deduplicated data system stores the new data segment within the deduplicated data system, wherein failure of the first performance of the backup job causes the new data segment to not be referenced within the deduplicated data system;

a retention module that causes the deduplicated data system to wait at least until a second performance of the backup job occurs by causing the deduplicated data system to retain the new data segment until the second performance of the backup job occurs successfully despite the new data segment being not referenced;

at least one processor that executes the identifying module and the retention module.

9. The system of claim 8 , wherein the retention module causes the deduplicated data system to wait at least until the second performance of the backup job can occur by:

determining a minimum retention period for the new data segment;

causing the deduplicated data system to retain the new data segment until the minimum retention period of the new data segment expires.

10. The system of claim 9 , wherein the length of the minimum retention period of the new data segment is at least equal to the length of a garbage-collection period of the deduplicated data system after which the deduplicated data system reclaims storage space by deleting data segments that are not referenced from the deduplicated data system.

11. The system of claim 9 , wherein the length of the minimum retention period of the new data segment is at least equal to the length of a retry period of the backup job after which the second performance of the backup job will occur.

12. The system of claim 11 , wherein the length of the minimum retention period of the new data segment is at least equal to the amount of time that elapsed while the first performance of the backup job backed up data to the deduplicated data system combined with the length of the retry period of the backup job after which the second performance of the backup job will occur.

13. The system of claim 9 , wherein the minimum retention period of the new data segment is user defined.

14. The system of claim 8 , wherein:

the deduplicated data system:

stores and references the plurality of deduplicated data segments by:

storing the plurality of deduplicated data segments within a plurality of containers, wherein each container within the plurality of containers comprises a subset of the plurality of deduplicated data segments;

referencing the plurality of containers;

reclaims storage space by deleting containers that are not referenced from the deduplicated data system;

the first performance of the backup job causes the deduplicated data system to store the new data segment within at least one new container available to be referenced within the deduplicated data system;

failure of the first performance of the backup job causes the new container to not be referenced within the deduplicated data system;

the retention module causes the deduplicated data system wait at least until the second performance of the backup job can occur by causing the deduplicated data system to retain the new container until the second performance of the backup job can occur despite the new container being not referenced so that the new container is available to be referenced within the deduplicated data system when the second performance of the backup job occurs.

15. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

identify a deduplicated data system that reduces redundant data storage by storing and referencing a plurality of deduplicated data segments, wherein the deduplicated data system reclaims storage space by deleting segments that are not referenced from the deduplicated data system;

identify a backup job that backs up data to the deduplicated data system, wherein a first performance of the backup job:

causes the deduplicated data system to store at least one new data segment that is available to be referenced within the deduplicated data system; and

fails after the deduplicated data system stores the new data segment within the deduplicated data system, wherein failure of the first performance of the backup job causes the new data segment to not be referenced within the deduplicated data system;

cause the deduplicated data system to wait at least until a second performance of the backup job occurs by causing the deduplicated data system to retain the new data segment until the second performance of the backup job occurs successfully despite the new data segment being not referenced.

16. The non-transitory computer-readable medium of claim 15 , wherein the one or more computer-executable instructions cause the computing device to cause the deduplicated data system to wait at least until the second performance of the backup job can occur by causing the computing device to:

determine a minimum retention period for the new data segment;

cause the deduplicated data system to retain the new data segment until the minimum retention period of the new data segment expires.

17. The non-transitory computer-readable medium of claim 16 , wherein the length of the minimum retention period of the new data segment is at least equal to the length of a garbage-collection period of the deduplicated data system after which the deduplicated data system reclaims storage space by deleting data segments that are not referenced from the deduplicated data system.

18. The non-transitory computer-readable medium of claim 16 , wherein the length of the minimum retention period of the new data segment is at least equal to the length of a retry period of the backup job after which the second performance of the backup job will occur.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075728/0466 →
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 Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
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 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2013
From: PATIL, DEEPAK; BAJPAI, VISHAL
To: SYMANTEC CORPORATION
Reel/Frame 030612/0565 →