IP Library Granted Patent US 10,007,447
Granted Patent B2
US 10,007,447 · App. 14/824,721 · Granted Jun 26, 2018

Systems, methods, and computer program products for low impact backup

Inventors: Anton Gostev (Saint-Petersburg, RU); Alexander Baranov (Saint-Petersburg, RU)
Assignee: Veeam Software AG
G06F3/0619G06F3/065G06F3/067G06F3/0665G06F11/1461G06F11/1464G06F11/3409G06F11/3485G06F11/1466G06F2201/81G06F2201/815
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,007,447
App. No.
14/824,721
Granted
Jun 26, 2018
Kind
B2
Abstract

Embodiments include methods, systems, and computer program products for low impact image level backup and replication of data between a production data storage and a backup data storage. In an embodiment system, the system starts processing of a task to backup or recover data between the production data storage and the backup data storage. The system measures a latency to access the production data storage. The system then determines whether the latency is above a throttling threshold. When the system determines that the latency exceeds the throttling threshold, the system calculates a throttling value, determines an amount of the delay based on the calculated throttling value, and delays, by the determined amount, the processing of the next data block.

Claims (79)

1. A computer implemented method for low impact backup, comprising:

starting processing of a task to backup or recover data to or from a production data storage;

measuring a latency to access the production data storage;

determining the latency is above a throttling threshold;

calculating a throttling value that defines an amount to throttle the processing of the task to backup or recover data to or from the production data storage;

determining an amount of delay based on the throttling value;

inserting sleep time within the task, wherein the sleep time is based at least in part on the determined amount of delay; and

processing the modified task.

2. The method of claim 1 , wherein the determining the amount of delay comprises determining the amount of delay such that the amount of delay allows the processing of the task to be throttled back by a percentage value indicated by the throttling value.

3. The method of claim 1 , wherein the calculating comprises:

subtracting the throttling threshold from the latency to determine a delta value; and

multiplying the delta value by a predefined fine tuning coefficient to determine the throttling value.

4. The method of claim 1 , wherein the measuring comprises communicating with a hypervisor in a host system connected to the production data storage to access a latency value.

5. The method of claim 1 , further comprising:

until the latency exceeds a task adding threshold, repeatedly:

waiting for a defined amount of time;

starting processing of additional tasks to backup or recover data between the production data storage and a backup data storage; and

re-measuring the latency.

6. The method of claim 5 , further comprising:

receiving the task adding threshold and the throttling threshold from a user configuration.

7. The method of claim 1 , the delaying inserting further comprising:

inserting the sleep time between data mover processes within the task.

8. The method of claim 1 , further comprising:

setting the throttling threshold based on environmental conditions of a backup data storage.

9. The method of claim 1 , wherein the calculating comprises:

calculating the throttling value based at least in part on the measured latency and the throttling threshold.

10. The method of claim 1 , further comprising:

in response to the calculating the throttling value, determining the throttling value is above a predefined maximum value; and

setting the throttling value to the predefined maximum value.

11. The method of claim 1 , further comprising:

in response to the calculating the throttling value, determining the throttling value is less than or equal to 0%; and

resetting the throttling value.

12. The method of claim 1 , further comprising:

determining the latency is above a second threshold value, wherein the second threshold value controls an active task assignment process.

13. The method of claim 1 , wherein the sleep time within the task causes processing of the task to be throttled back by the throttling value.

14. A system, comprising:

a memory;

at least one processor coupled to the memory and configured to:

start processing of a task to backup or recover data to or from a production data storage;

measure a latency to access the production data storage;

determine the latency is above a throttling threshold;

calculate a throttling value that defines an amount to throttle the processing of the task to backup or recover data to or from the production data storage;

determine an amount of delay based on the throttling value;

insert sleep time within the task, wherein the sleep time is based at least in part on the determined amount of delay; and

process the modified task.

15. The system of claim 14 , wherein to determine the amount of delay, the at least one processor is further configured to:

determine the amount of delay such that the amount of delay allows the processing of the task to be throttled back by a percentage value indicated by the throttling value.

16. The system of claim 14 , wherein to calculate the throttling value, the at least one processor is further configured to:

subtract the throttling threshold from the latency to determine a delta value; and

multiply the delta value by a predefined fine tuning coefficient to determine the throttling value.

17. The system of claim 14 , wherein to measure the latency, the at least one processor is further configured to:

communicate with a hypervisor in a host system connected to the production data storage to access a latency value.

18. The system of claim 14 , wherein the at least one processor is further configured to:

until the latency exceeds a task adding threshold, repeatedly:

wait for a defined amount of time;

start processing of additional tasks to backup or recover data between the production data storage and a backup data storage; and

re-measure the latency.

19. The system of claim 18 , wherein the at least one processor is further configured to:

receive the task adding threshold and the throttling threshold from a user configuration.

20. A non-transitory tangible computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

starting processing of a task to backup or recover data to or from a production data storage;

measuring a latency to access the production data storage;

determining the latency is above a throttling threshold;

calculating a throttling value that defines a percentage to throttle the processing of the task to backup or recover data to or from the production data storage;

determining an amount of delay based on the throttling value;

inserting sleep time within the task, wherein the sleep time is based at least in part on the determined amount of delay; and

processing the modified task.

21. The non-transitory computer-readable medium of claim 20 , wherein the determining the amount of delay comprises determining the amount of delay such that the amount of delay allows the processing of the task to be throttled back by a percentage value indicated by the throttling value.

22. The non-transitory computer-readable medium of claim 20 , wherein the calculating comprises:

subtracting the throttling threshold from the latency to determine a delta value; and

multiplying the delta value by a predefined fine tuning coefficient to determine the throttling value.

23. The non-transitory computer-readable medium of claim 20 , wherein the measuring comprises communicating with a hypervisor in a host system connected to the production data storage to access a latency value.

24. The non-transitory computer-readable medium of claim 20 , the operations further comprising:

until the latency exceeds a task adding threshold, repeatedly:

waiting for a defined amount of time;

starting processing of additional tasks to backup or recover data between the production data storage and a backup data storage; and

re-measuring the latency.

25. The non-transitory computer-readable medium of claim 24 , the operations further comprising:

receiving the task adding threshold and the throttling threshold from a user configuration.

Assignments (3)
SECURITY INTEREST Recorded May 29, 2020
From: VEEAM SOFTWARE GROUP GMBH
To: JPMORGAN CHASE N.A.
Reel/Frame 052790/0483 →
CHANGE OF NAME Recorded May 18, 2020
From: VEEAM SOFTWARE AG
To: VEEAM SOFTWARE GROUP GMBH
Reel/Frame 052690/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: GOSTEV, ANTON; BARANOV, ALEXANDER
To: VEEAM SOFTWARE AG
Reel/Frame 042755/0604 →
Continuity (2)
Provisional Application 62037376 · Aug 14, 2014
Related Publication 20160048350A1 · Feb 18, 2016