IP Library Granted Patent US 10,838,912
Granted Patent B1
US 10,838,912 · App. 15/727,346 · Granted Nov 17, 2020

Intelligent selection of backup levels

Inventors: Shelesh Chopra (Bangalore, IN); Ajith Gopinath (Bangalore, IN); Harsh Sharma (Bangalore, IN); Hareej G Hebbur (Bengaluru, IN); Chetan Battal (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F16/113G06F7/535G06F11/1451G06F11/1458G06F16/122G06F16/23
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 10,838,912
App. No.
15/727,346
Granted
Nov 17, 2020
Kind
B1
Abstract

A rule specifies a data change percent and a backup level to use corresponding to the data change percent. The backup level may be a full backup or a non-full backup. Before backing up a source for an impending backup, a percent of data change of the source from a last backup of the source to the impending backup is calculated. The rule is evaluated against the calculated percent change to select a backup level for the impending backup. Based on the evaluation, the full backup level or non-full backup level is selected and the source is backed up according to the selected backup level.

Claims (67)

1. A method comprising:

installing one or more application-specific plugins with a backup application, the application-specific plugins comprising logic for interfacing and communicating with a respective application source to backup data of the respective application source;

storing one or more rules, each rule specifying an application source to which a rule applies and comprising a data change percent, and a backup level to use corresponding to the data change percent, the backup level being one of a plurality of available backup levels, the plurality of available backup levels comprising a full backup level, and a non-full backup level;

receiving, from a user, a decision to allow a backup level of a particular application source to be selected dynamically, the particular application source comprising a virtualization platform having a plurality of virtual machines (VMs);

intercepting, by a changed block tracker (CBT) driver, writes issued by the VMs to volumes associated with the VMs to record a listing of changed blocks on the volumes;

at an impending backup of the particular application source, issuing by an application specific-plugin for the virtualization platform, a request to a copy service provided by the virtualization platform for a snapshot of the volumes;

before backing up the particular application source for the impending backup, reviewing the listing of changed blocks recorded by the CBT driver and calculating a percent of data change of the particular application source from a last backup of the particular application source to the impending backup;

selecting, from among the one or more rules, rules that apply to the particular application source;

evaluating the selected rules against the calculated percent change to select a backup level to use for the impending backup of the particular application source;

selecting, based on the evaluation, the full backup level or non-full backup level for the impending backup of the particular application source; and

backing up the snapshot provided by the copy service of the particular application source according to the selected backup level.

2. The method of claim 1 wherein a rule comprises a range of data change percentages.

3. The method of claim 1 wherein the non-full backup level comprises an incremental backup.

4. The method of claim 1 wherein the non-full backup level comprises a differential backup.

5. The method of claim 1 wherein a first rule specifies a first range of data change percentages, and the full backup level to be used when a calculated percent change falls within the first range,

wherein a second rule specifies a second range of data change percentages, and the non-full backup level to be used when the calculated percentage change falls within the second range, and

wherein each percent value in the first range is greater than each percent value in the second range.

6. The method of claim 1 wherein the calculating a percent of data change comprises:

obtaining a number of blocks backed up for the last backup;

obtaining a number of blocks to be backed for the impending backup;

dividing the number of blocks to be backed up for the impending backup with the number of blocks backed up for the last backup; and

converting a result of the division to a percent to obtain the percent of data change.

7. A system to select backup levels, the system comprising:

a processor-based system executed on a computer system and configured to execute instructions comprising:

installing one or more application-specific plugins with a backup application, the application-specific plugins comprising logic for interfacing and communicating with a respective application source to backup data of the respective application source;

storing one or more rules, each rule specifying an application source to which a rule applies and comprising a data change percent, and a backup level to use corresponding to the data change percent, the backup level being one of a plurality of available backup levels, the plurality of available backup levels comprising a full backup level, and a non-full backup level;

receiving, from a user, a decision to allow a backup level of a particular application source to be selected dynamically, the particular application source comprising a virtualization platform having a plurality of virtual machines (VMs);

intercepting, by a changed block tracker (CBT) driver, writes issued by the VMs to volumes associated with the VMs to record a listing of changed blocks on the volumes;

at an impending backup of the particular application source, issuing by an application specific-plugin for the virtualization platform, a request to a copy service provided by the virtualization platform for a snapshot of the volumes;

before backing up the particular application source for the impending backup, reviewing the listing of changed blocks recorded by the CBT driver and calculating a percent of data change of the particular application source from a last backup of the particular application source to the impending backup;

selecting, from among the one or more rules, rules that apply to the particular application source;

evaluating the selected rules against the calculated percent change to select a backup level to use for the impending backup of the particular application source;

selecting, based on the evaluation, the full backup level or non-full backup level for the impending backup of the particular application source; and

backing up the snapshot provided by the copy service of the particular application source according to the selected backup level.

8. The system of claim 7 wherein a rule comprises a range of data change percentages.

9. The system of claim 7 wherein the non-full backup level comprises an incremental backup.

10. The system of claim 7 wherein the non-full backup level comprises a differential backup.

11. The system of claim 7 wherein a first rule specifies a first range of data change percentages, and the full backup level to be used when a calculated percent change falls within the first range,

wherein a second rule specifies a second range of data change percentages, and the non-full backup level to be used when the calculated percentage change falls within the second range, and

wherein each percent value in the first range is greater than each percent value in the second range.

12. The system of claim 7 wherein the calculating a percent of data change comprises:

obtaining a number of blocks backed up for the last backup;

obtaining a number of blocks to be backed for the impending backup;

dividing the number of blocks to be backed up for the impending backup with the number of blocks backed up for the last backup; and

converting a result of the division to a percent to obtain the percent of data change.

13. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein, the computer-readable program code adapted to be executed by one or more processors to implement a method comprising:

installing one or more application-specific plugins with a backup application, the application-specific plugins comprising logic for interfacing and communicating with a respective application source to backup data of the respective application source;

storing one or more rules, each rule specifying an application source to which a rule applies and comprising a data change percent, and a backup level to use corresponding to the data change percent, the backup level being one of a plurality of available backup levels, the plurality of available backup levels comprising a full backup level, and a non-full backup level;

receiving, from a user, a decision to allow a backup level of a particular application source to be selected dynamically, the particular application source comprising a virtualization platform having a plurality of virtual machines (VMs);

intercepting, by a changed block tracker (CBT) driver, writes issued by the VMs to volumes associated with the VMs to record a listing of changed blocks on the volumes;

at an impending backup of the particular application source, issuing by an application specific-plugin for the virtualization platform, a request to a copy service provided by the virtualization platform for a snapshot of the volumes;

before backing up the particular application source for the impending backup, reviewing the listing of changed blocks recorded by the CBT driver and calculating a percent of data change of the particular application source from a last backup of the particular application source to the impending backup;

selecting, from among the one or more rules, rules that apply to the particular application source;

evaluating the selected rules against the calculated percent change to select a backup level to use for the impending backup of the particular application source;

selecting, based on the evaluation, the full backup level or non-full backup level for the impending backup of the particular application source; and

backing up the particular application source according to the selected backup level.

14. The computer program product of claim 13 wherein a rule comprises a range of data change percentages.

15. The computer program product of claim 13 wherein the non-full backup level comprises an incremental backup.

16. The computer program product of claim 13 wherein the non-full backup level comprises a differential backup.

17. The computer program product of claim 13 wherein a first rule specifies a first range of data change percentages, and the full backup level to be used when a calculated percent change falls within the first range,

wherein a second rule specifies a second range of data change percentages, and the non-full backup level to be used when the calculated percentage change falls within the second range, and

wherein each percent value in the first range is greater than each percent value in the second range.

18. The computer program product of claim 13 wherein the calculating a percent of data change comprises:

obtaining a number of blocks backed up for the last backup;

obtaining a number of blocks to be backed for the impending backup;

dividing the number of blocks to be backed up for the impending backup with the number of blocks backed up for the last backup; and

converting a result of the division to a percent to obtain the percent of data change.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (044535/0109) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2017
From: CHOPRA, SHELESH; GOPINATH, AJITH; SHARMA, HARSH; HEBBUR, HAREEJ G; BATTAL, CHETAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043808/0333 →