IP Library Granted Patent US 11,829,250
Granted Patent B2
US 11,829,250 · App. 16/582,027 · Granted Nov 28, 2023

Systems and methods for efficiently backing up large datasets

Inventors: Vaijayanti Bharadwaj (Pune, IN); Chirag Dalal (Pune, IN)
Assignee: Veritas Technologies LLC
G06F11/1453G06F11/1464G06F16/215G06F16/2219
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 11,829,250
App. No.
16/582,027
Granted
Nov 28, 2023
Kind
B2
Abstract

A computer-implemented method for efficiently backing up large datasets may include (i) identifying data on an application server to be deduplicated by a deduplication server and then stored on a backup server, (ii) dividing the data into subsets, and (iii) for each subset of data subsequent to an initial subset of data, (a) transferring the subset of data to the deduplication server in response to detecting that a previous subset of data has completed transfer to the deduplication server, (b) deduplicating the subset of data in response to detecting that the previous subset of data has completed deduplication, and (c) transferring a deduplicated version of the subset of data to the backup server in response to detecting that the subset of data has completed deduplication and the previous subset of data has completed transfer to the backup server. Various other methods, systems, and computer-readable media are also disclosed.

Claims (38)

1. A computer-implemented method for efficiently backing up large datasets, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying a set of data on an application server, the application server comprising an application data storage, to be deduplicated by a deduplication server, the deduplication server comprising a deduplication data storage, and stored on a backup server;

dividing the set of data on the application server into a plurality of subsets of data; and

for each subset of data subsequent to an initial subset of data:

in response to detecting that a previous subset of data has completed transfer to the deduplication data storage, transferring the subset of data from the application data storage to the deduplication data storage while the deduplication server performs deduplication of the previous subset of data;

in response to detecting that the previous subset of data has completed deduplication by the deduplication server and that the subset of data has completed transfer to the deduplication data storage, deduplicating, by the deduplication server, the subset of data while the deduplication server transfers the previous subset of data to the backup server; and

in response to detecting that the previous subset of data has completed transfer to the backup server and that the subset of data has completed deduplication at the deduplication server, transferring a deduplicated version of the subset of data to the backup server.

2. The computer-implemented method of claim 1 , wherein dividing the set of data on the application server into the plurality of subsets of data comprises dividing the set of data such that each subset is a unique dataset subject to deduplication independent of each other subset.

3. The computer-implemented method of claim 1 , wherein dividing the set of data on the application server into the plurality of subsets of data comprises dividing the set of data such that each subset occupies less space in storage than an amount of space in storage available on the deduplication server.

4. The computer-implemented method of claim 1 , wherein the set of data comprises a set of columns of a database on the application server.

5. The computer-implemented method of claim 1 , wherein the application server comprises a cluster of application servers.

6. The computer-implemented method of claim 1 , wherein the deduplication server comprises a cluster of deduplication servers.

7. The computer-implemented method of claim 1 , wherein the application server comprises a greater amount of storage than the deduplication server.

8. The computer-implemented method of claim 1 , wherein the deduplication server comprises insufficient storage to store the set of data from the application server.

9. A system for efficiently backing up large datasets, the system comprising:

an identification module, stored in memory, that identifies a set of data on an application server, the application server comprising an application data storage, to be deduplicated by a deduplication server, the deduplication server comprising a deduplication data storage, and stored on a backup server;

a division module, stored in memory, that divides the set of data on the application server into a plurality of subsets of data;

a transfer module, stored in memory, that, for each subset of data subsequent to an initial subset of data, in response to detecting that a previous subset of data has completed transfer to the deduplication data storage, transfers the subset of data from the application data storage to the deduplication data storage while the deduplication server performs deduplication of the previous subset of data;

a deduplication module, stored in memory, that, for each subset of data subsequent to the initial subset of data, in response to detecting that the previous subset of data has completed deduplication by the deduplication server and that the subset of data has completed transfer to the deduplication data storage, deduplicates, by the deduplication server, the subset of data while the deduplication server transfers the previous subset of data to the backup server;

a storage module, stored in memory, that, for each subset of data subsequent to the initial subset of data, in response to detecting that the previous subset of data has completed transfer to the backup server and that the subset of data has completed deduplication at the deduplication server, transfers a deduplicated version of the subset of data to the backup server; and

at least one physical processor configured to execute the identification module, the division module, the transfer module, the deduplication module, and the storage module.

10. The system of claim 9 , wherein the division module divides the set of data on the application server into the plurality of subsets of data by dividing the set of data such that each subset is a unique dataset subject to deduplication independent of each other subset.

11. The system of claim 9 , wherein the division module divides the set of data on the application server into the plurality of subsets of data by dividing the set of data such that each subset occupies less space in storage than an amount of space in storage available on the deduplication server.

12. The system of claim 9 , wherein the set of data comprises a set of columns of a database on the application server.

13. The system of claim 9 , wherein the application server comprises a cluster of application servers.

14. The system of claim 9 , wherein the deduplication server comprises a cluster of deduplication servers.

15. The system of claim 9 , wherein the application server comprises a greater amount of storage than the deduplication server.

16. The system of claim 9 , wherein the deduplication server comprises insufficient storage to store the set of data from the application server.

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

identify a set of data on an application server, the application server comprising an application data storage, to be deduplicated by a deduplication server, the deduplication server comprising a deduplication data storage, and stored on a backup server;

divide the set of data on the application server into a plurality of subsets of data; and

for each subset of data subsequent to an initial subset of data:

in response to detecting that a previous subset of data has completed transfer to the deduplication data storage, transfer the subset of data from the application data storage to the deduplication data storage while the deduplication server performs deduplication of the previous subset of data;

in response to detecting that the previous subset of data has completed deduplication by the deduplication server and that the subset of data has completed transfer to the deduplication data storage, deduplicate, by the deduplication server, the subset of data while the deduplication server transfers the previous subset of data to the backup server; and

in response to detecting that the previous subset of data has completed transfer to the backup server and that the subset of data has completed deduplication at the deduplication server, transfer a deduplicated version of the subset of data to the backup server.

18. The non-transitory computer-readable medium of claim 17 , wherein the one or more computer-readable instructions cause the computing device to divide the set of data on the application server into the plurality of subsets of data by dividing the set of data such that each subset is a unique dataset subject to deduplication independent of each other subset.

19. The non-transitory computer-readable medium of claim 17 , wherein the one or more computer-readable instructions cause the computing device to divide the set of data on the application server into the plurality of subsets of data by dividing the set of data such that each subset occupies less space in storage than an amount of space in storage available on the deduplication server.

20. The non-transitory computer-readable medium of claim 17 , wherein the set of data comprises a set of columns of a database on the application server.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075377/0130 →
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
Reel/Frame 069697/0238 →
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 INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 18, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 052189/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2019
From: BHARADWAJ, VAIJAYANTI; DALAL, CHIRAG
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 050484/0743 →
Continuity (1)
Related Publication 20210089406A1 · Mar 25, 2021