IP Library Granted Patent US 9,619,477
Granted Patent B1
US 9,619,477 · App. 13/835,035 · Granted Apr 11, 2017

Systems and methods for accelerating backup operations

Inventors: Yong Tian (Beijing, CN); Yingsong Jia (Beijing, CN); Chao Lei (Beijing, CN); William Browning (Blaine, MN)
Assignee: Veritas Technologies
G06F17/30129
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,619,477
App. No.
13/835,035
Filed
Mar 15, 2013
Granted
Apr 11, 2017
Kind
B1
Examiner
LIN, ALLEN S
Art Unit
2153
USPC
707/655
Abstract

A computer-implemented method for accelerating backup operations may include (1) identifying a volume of data that may be stored by a computing system attached to a network and that may be designated for a backup to a deduplicated data store, (2) monitoring traffic on the network for at least one data object destined for the volume of data, (3) copying the data object from the traffic on the network and (4) seeding the deduplicated data store with the data object before the backup to the deduplicated data store. Various other methods, systems, and computer-readable media are also disclosed.

Claims (70)

1. A computer-implemented method for accelerating backup operations, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying a storage unit of a computing system, wherein:

the computing system is attached to a network;

the storage unit is periodically backed up to a deduplicated data store by storing a copy of the storage unit at the deduplicated data store;

any data segments that are contained within data objects stored at the storage unit and not already stored to the deduplicated data store must be transferred from the storage unit to the deduplicated data store as part of periodically backing up the data objects to the deduplicated data store; and

any data segments that are contained within the data objects stored at the storage unit and already stored to the deduplicated data store are not required to be transferred from the storage unit to the deduplicated data store as part of periodically backing up the data objects to the deduplicated data store;

identifying, within traffic on the network, a new data object that is destined for the storage unit but that has not reached or been stored to the storage unit, wherein the new data object contains a new data segment that has not been stored to the deduplicated data store;

generating, before the new data object reaches the storage unit and in response to identifying the new data object within the traffic on the network, a copy of the new data object from the traffic on the network;

seeding, before the copy of the storage unit that contains the new data object is stored to the deduplicated data store and in response to generating the copy of the new data object from the traffic on the network, the deduplicated data store with the copy of the new data object by storing, to the deduplicated data store, an instance of the new data segment from the copy of the new data object from the traffic on the network; and

storing, after seeding the deduplicated data store with the copy of the new data object from the traffic on the network, the copy of the storage unit that contains the new data object to the deduplicated data store by:

determining that the instance of the new data segment contained within the new data object is already stored to the deduplicated data store;

refraining from transferring the new data segment contained within the new data object from the storage unit to the deduplicated data store; and

creating a reference between the copy of the storage unit that contains the new data object and the instance of the new data segment that is already stored to the deduplicated data store.

2. The computer-implemented method of claim 1 , wherein generating the copy of the new data object comprises:

identifying a network switch comprising a first port connected to the computing system and comprising a second port connected to a backup appliance for performing deduplication to the deduplicated data store;

configuring the network switch with a port mirroring feature to forward the traffic that travels via the first port to the second port.

3. The computer-implemented method of claim 1 , wherein identifying the new data object comprises determining, based at least in part on a protocol by which the new data object is transferred, that the new data object will be subject to a backup operation performed on the storage unit.

4. The computer-implemented method of claim 1 , wherein identifying the new data object comprises determining, based at least in part on a network address to which the new data object is directed, that the new data object will be subject to a backup operation performed on the storage unit.

5. The computer-implemented method of claim 1 , wherein seeding the deduplicated data store with the copy of the new data object comprises deduplicating a temporary backup of the copy of the new data object to the deduplicated data store, such that the copy of the new data object is chunked into a plurality of data segments, and each unique data segment within the plurality of data segments is written to the deduplicated data store, a corresponding fingerprint for each unique data segment being added to a fingerprint store of the deduplicated data store.

6. The computer-implemented method of claim 5 , wherein the temporary backup is configured to expire after the copy of the storage unit that includes the new data object is stored to the deduplicated data store.

7. The computer-implemented method of claim 1 , wherein storing the copy of the storage unit to the deduplicated data store comprises generating the copy of the storage unit at a point in time after the new data object has been stored at the storage unit.

8. The computer-implemented method of claim 1 , wherein identifying the new data object comprises:

identifying at least one attribute of at least one previous data object that was transferred on the network;

determining that the previous data object was subject to a previous backup operation performed on the storage unit;

determining that the new data object shares the attribute with the previous data object;

determining, based at least in part on the new data object sharing the attribute with the previous data object, that the new data object will be subject to a subsequent backup operation performed on the storage unit.

9. A system for accelerating backup operations, the system comprising:

an identification module programmed to identify a storage unit of a computing system, wherein:

the computing system is attached to a network;

the storage unit is periodically backed up to a deduplicated data store by storing a copy of the storage unit at the deduplicated data store;

any data segments that are contained within data objects stored at the storage unit and not already stored to the deduplicated data store must be transferred from the storage unit to the deduplicated data store as part of periodically backing up the data objects to the deduplicated data store; and

any data segments that are contained within the data objects stored at the storage unit and already stored to the deduplicated data store are not required to be transferred from the storage unit to the deduplicated data store as part of periodically backing up the data objects to the deduplicated data store;

a monitoring module programmed to identify, within traffic on the network, a new data object that is destined for the storage unit but that has not reached or been stored to the storage unit, wherein the new data object contains a new data segment that has not been stored to the deduplicated data store;

a copying module programmed to generate, before the new data object reaches the storage unit and in response to the new data object having been identified within the traffic on the network, a copy of the new data object from the traffic on the network;

a seeding module programmed to seed, before the copy of the storage unit that contains the new data object is stored to the deduplicated data store and in response to generating the copy of the new data object from the traffic on the network, the deduplicated data store with the copy of the new data object by storing, to the deduplicated data store, an instance of the new data segment from the copy of the new data object from the traffic on the network;

at least one processor configured to execute the identification module, the monitoring module, the copying module and the seeding module.

10. The system of claim 9 , wherein the copying module is programmed to generate the copy of the new data object by:

identifying a network switch comprising a first port connected to the computing system and comprising a second port connected to a backup appliance for performing deduplication to the deduplicated data store;

configuring the network switch with a port mirroring feature to forward the traffic that travels via the first port to the second port.

11. The system of claim 9 , wherein the monitoring module is programmed to identify the new data object by determining, based at least in part on a protocol by which the new data object is transferred, that the new data object will be subject to a backup operation performed on the storage unit.

12. The system of claim 9 , wherein the monitoring module is programmed to identify the new data object by determining, based at least in part on a network address to which the new data object is directed, that the new data object will be subject to a backup operation performed on the storage unit.

13. The system of claim 9 , wherein the seeding module is programmed to seed the deduplicated data store with the copy of the new data object by deduplicating a temporary backup of the copy of the new data object to the deduplicated data store, such that the copy of the new data object is chunked into a plurality of data segments, and each unique data segment within the plurality of data segments is written to the deduplicated data store, a corresponding fingerprint for each unique data segment being added to a fingerprint store of the deduplicated data store.

14. The system of claim 13 , wherein the temporary backup is configured to expire after the copy of the storage unit that includes the new data object is stored to the deduplicated data store.

15. The system of claim 9 , further comprising a backup module programmed to store, after the deduplicated data store has been seeded with the copy of the new data object from the traffic on the network the copy of the storage unit to the deduplicated data store by:

determining that the instance of the new data segment contained within the new data object is already stored to the deduplicated data store;

refraining from transferring the new data segment contained within the new data object from the storage unit to the deduplicated data store;

creating a reference between the copy of the storage unit and the instance of the new data segment that is already stored to the deduplicated data store.

16. The system of claim 9 , wherein the monitoring module is programmed to identify the new data object by:

identifying at least one attribute of at least one previous data object that was transferred on the network;

determining that the previous data object was subject to a previous backup operation performed on the storage unit;

determining that the new data object shares the attribute with the previous data object;

determining, based at least in part on the new data object sharing the attribute with the previous data object, that the new data object will be subject to a subsequent backup operation performed on the storage unit.

17. A non-transitory computer-readable-storage 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 storage unit of a computing system, wherein

the computing system is attached to a network;

the storage unit is periodically backed up to a deduplicated data store by storing a copy of the storage unit at the deduplicated data store;

any data segments that are contained within data objects stored at the storage unit and not already stored to the deduplicated data store must be transferred from the storage unit to the deduplicated data store as part of periodically backing up the data objects to the deduplicated data store; and

any data segments that are contained within the data objects stored at the storage unit and already stored to the deduplicated data store are not required to be transferred from the storage unit to the deduplicated data store as part of periodically backing up the data objects to the deduplicated data store;

identify, within traffic on the network, a new data object that is destined for the storage unit but that has not reached or been stored to the storage unit, wherein the new data object contains a new data segment that has not been stored to the deduplicated data store;

generate, before the new data object reaches the storage unit store and in response to identifying the new data object within the traffic on the network, a copy of the new data object from the traffic on the network;

seed, before the copy of the storage unit that contains the new data object is stored to the deduplicated data store and in response to generating the copy of the new data object from the traffic on the network, the deduplicated data store with the copy of the new data object by storing, to the deduplicated data store, an instance of the new data segment from the copy of the new data object from the traffic on the network; and

store, after seeding the deduplicated data store with the copy of the new data object from the traffic on the network, the copy of the storage unit that contains the new data object to the deduplicated data store by:

determining that the instance of the new data segment contained within the new data object is already stored to the deduplicated data store;

refraining from transferring the new data segment contained within the new data object from the storage unit to the deduplicated data store; and

creating a reference between the copy of the storage unit that contains the new data object and the instance of the new data segment that is already stored to the deduplicated data store.

18. The non-transitory computer-readable-storage medium of claim 17 , wherein the one or more computer-readable instructions cause the computing device to generate the copy of the new data object by causing the computing device to:

identify a network switch comprising a first port connected to the computing system and comprising a second port connected to a backup appliance for performing deduplication to the deduplicated data store;

configure the network switch with a port mirroring feature to forward the traffic that travels via the first port to the second port.

19. The non-transitory computer-readable-storage medium of claim 17 , wherein the one or more computer-readable instructions cause the computing device to identify the new data object by causing the computing device to determine, based at least in part on a protocol by which the new data object is transferred, that the new data object will be subject to a backup operation performed on the storage unit.

20. The non-transitory computer-readable-storage medium of claim 17 , wherein the one or more computer-readable instructions cause the computing device to identify the new data object by causing the computing device to determine, based at least in part on a network address to which the new data object is directed, that the new data object will be subject to a backup operation performed on the storage unit.

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 Mar 15, 2013
From: TIAN, YONG; JIA, YINGSONG; LEI, CHAO; BROWNING, WILLIAM
To: SYMANTEC CORPORATION
Reel/Frame 030013/0436 →