IP Library Granted Patent US 8,498,966
Granted Patent B1
US 8,498,966 · App. 13/484,255 · Granted Jul 30, 2013

Systems and methods for adaptively performing backup operations

Inventor: Mahesh Waghole (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,498,966
App. No.
13/484,255
Filed
May 30, 2012
Granted
Jul 30, 2013
Kind
B1
Art Unit
2162
USPC
707/645
Abstract

A computer-implemented method for adaptively performing backup operations may include 1) identifying a storage system used for storage by at least one application, 2) identifying a request to perform a backup operation including at least one input/output operation on the storage system, 3) determining that an input/output capacity of the storage system has fallen below a predetermined threshold, and 4) delaying the input/output operation in response to determining that the input/output capacity of the storage system has fallen below the predetermined threshold. Various other methods, systems, and computer-readable media are also disclosed.

Claims (57)

1. A computer-implemented method for adaptively performing 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 system used for storage by a plurality of virtual machines;

identifying a request to perform a backup operation for a first virtual machine comprising at least one input/output operation, wherein the backup operation results in an increased input/output load on the storage system;

determining that an input/output capacity of the storage system has fallen below a predetermined threshold in response to the increased input/output load resulting from the performance of the backup operation of the first virtual machine;

identifying at least one input/output operation of a second virtual machine;

delaying the at least one input/output operation of the second virtual machine in response to determining that the input/output capacity of the storage system has fallen below the predetermined threshold such that the at least one input/output operation of the second virtual machine does not interfere with the backup operation of the first virtual machine.

2. The computer-implemented method of claim 1 , wherein delaying the at least one input/output operation of the second virtual machine comprises reducing a bandwidth of input/output operations performed by the second virtual machine such that additional bandwidth is available for the first virtual machine.

3. The computer-implemented method of claim 1 , wherein delaying the at least one input/output operation of the second virtual machine comprises:

creating a checkpoint in the backup operation of the first virtual machine;

pausing the backup operation of the first virtual machine for a predefined duration of time;

resuming the backup operation of the first virtual machine from the checkpoint after the predefined duration of time.

4. The computer-implemented method of claim 1 , wherein determining that the input/output capacity of the storage system has fallen below the predetermined threshold comprises monitoring an input/output load on the storage system.

5. The computer-implemented method of claim 1 , wherein the backup operation of the first virtual machine comprises reading a snapshot of data to back up from the storage system.

6. The computer-implemented method of claim 1 , wherein

the storage system comprises a storage cluster for the plurality of virtual machines.

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

adding the determination that the input/output capacity of the storage system has fallen below the predetermined threshold to an input/output load history for the storage system;

adjusting a backup schedule for at least one future backup operation involving the storage system based on the input/output load history for the storage system.

8. The computer-implemented method of claim 1 , further comprising:

determining that the input/output capacity of the storage system has exceeded an additional predetermined threshold;

expediting an additional input/output operation for the backup operation of the first virtual machine based on determining that the input/output capacity of the storage system has exceeded the additional predetermined threshold.

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

the request to perform the backup operation for the first virtual machine comprises a request to copy a snapshot from the storage system to a backup storage location;

the input/output operation comprises a read operation performed on the storage system.

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

the request to perform the backup operation for the first virtual machine comprises a request to restore a backup to the storage system;

the input/output operation comprises a write operation to the storage system.

11. A system for adaptively performing backup operations, the system comprising:

an identification module programmed to identify a storage system used for storage by a plurality of virtual machines;

a request module programmed to identify a request to perform a backup operation for a first virtual machine comprising at least one input/output operation, wherein the backup operation results in an increased input/output load on the storage system;

a determination module programmed to determine that an input/output capacity of the storage system has fallen below a predetermined threshold in response to the increased input/output load resulting from the performance of the backup operation of the first virtual machine;

an additional identification module programmed to identify at least one input/output operation of a second virtual machine;

a delay module programmed to delay at least one input/output operation of the second virtual machine in response to determining that the input/output capacity of the storage system has fallen below the predetermined threshold such that the at least one input/output operation of the second virtual machine does not interfere with the backup operation of the first virtual machine;

at least one processor configured to execute the identification module, the request module, the determination module, the additional identification module, and the delay module.

12. The system of claim 11 , wherein the delay module is programmed to delay the at least one input/output operation of the second virtual machine by reducing a bandwidth of input/output operations performed by the second virtual machine such that the additional bandwidth is available for the first virtual machine.

13. The system of claim 11 , wherein the delay module is programmed to delay the at least one input/output operation of the second virtual machine by:

creating a checkpoint in the backup operation of the first virtual machine;

pausing the backup operation of the first virtual machine for a predefined duration of time;

resuming the backup operation of the first virtual machine from the checkpoint after the predefined duration of time.

14. The system of claim 11 , wherein the determination module is programmed to determine that the input/output capacity of the storage system has fallen below the predetermined threshold by monitoring an input/output load on the storage system.

15. The system of claim 11 , wherein the backup operation of the first virtual machine comprises reading a snapshot of data to back up from the storage system.

16. The system of claim 11 , wherein the storage system comprises a storage cluster for the plurality of virtual machines.

17. The system of claim 11 , wherein the delay module is further programmed to:

add the determination that the input/output capacity of the storage system has fallen below the predetermined threshold to an input/output load history for the storage system;

adjust a backup schedule for at least one future backup operation involving the storage system based on the input/output load history for the storage system.

18. The system of claim 11 , wherein the delay module is further programmed to:

determine that the input/output capacity of the storage system has exceeded an additional predetermined threshold;

expedite an additional input/output operation for the backup operation of the first virtual machine based on determining that the input/output capacity of the storage system has exceeded the additional predetermined threshold.

19. The system of claim 11 , wherein:

the request to perform the backup operation of the first virtual machine comprises a request to copy a snapshot from the storage system to a backup storage location;

the input/output operation comprises a read operation performed on the storage system.

20. A non-transitory computer-readable-storage 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 storage system used for storage by a plurality of virtual machines;

identify a request to perform a backup operation for a first virtual machine comprising at least one input/output operation, wherein the backup operation results in an increased input/output load on the storage system;

determine that an input/output capacity of the storage system has fallen below a predetermined threshold in response to the increased input/output load resulting from the performance of the backup operation of the first virtual machine;

identify at least one input/output operation of a second virtual machine;

delay the at least one input/output operation of the second virtual machine in response to determining that the input/output capacity of the storage system has fallen below the predetermined threshold such that the input/output operation of the second virtual machine does not interfere with the backup operation of the first virtual machine.

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 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 May 30, 2012
From: WAGHOLE, MAHESH
To: SYMANTEC CORPORATION
Reel/Frame 028292/0918 →