IP Library Granted Patent US 9,946,608
Granted Patent B1
US 9,946,608 · App. 14/869,338 · Granted Apr 17, 2018

Consistent backup of blocks through block tracking

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,946,608
App. No.
14/869,338
Granted
Apr 17, 2018
Kind
B1
Abstract

A method for creating an inconsistent backup and then a consistent backup is described. The method may include creating an inconsistent, full backup of a storage device. The method may further include creating a first snapshot of the storage device. The method may also include creating a consistent backup increment of the storage device based on the first snapshot. Additionally, the method may include adding the consistent backup increment to the inconsistent, full backup.

Claims (65)

1. A method for consistent backup of at least a portion of a storage device, the method comprising:

creating, using a backup application running on a computing device, a backup of the at least a portion of the storage device;

recording, at the computing device, a number of changes to the portion of the storage device during the backup;

calculating, at the computing device, a backup metric based upon one or more changes to the portion of the storage device during the backup and one or more items remaining to be backed up from the portion of the storage device;

in response to determining, at the computing device, that the backup metric is higher than a backup threshold:

creating, using a service running on the computing device, a snapshot of the portion of the storage device;

tracking, using a driver running on the computing device, changes to the portion of the storage device; and

updating the backup, using the backup application running on the computing device, by backing up changed blocks from the portion of the storage device, the changed blocks being blocks that were tracked by the driver as changed since the backup was created.

2. The method of claim 1 , further comprising:

in response to determining that the snapshot of the portion of the storage device failed: designating the backup as an inconsistent backup.

3. The method of claim 1 , further comprising:

comparing the changed blocks from the portion of the storage device with the backup blocks from the backup of the portion of the storage device.

4. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon, which, when executed by a processor, cause the processor to perform operations for consistent backup of at least a portion of a storage device, the operations comprising:

creating, using a backup application running on a computing device, a backup of the portion of the storage device;

recording, at the computing device, a number of changes to the portion of the storage device during backup:

calculating, at the computing device, a backup metric based upon, at least in part, the number of changes to the portion of the storage device during the backup and a number of items remaining to be backed up from the portion of the storage device:

in response to determining, at the computing device, that the backup metric is higher than a backup threshold:

creating, using a service running on the computing device, a snapshot of the portion of the storage device:

tracking, using a driver running on the computing device, changes to the portion of the storage device: and

updating the backup, using the backup application running on the computing device, by backing up changed blocks from the portion of the storage device, the changed blocks being blocks that were tracked by the driver as changed.

5. The computer program product of claim 4 , wherein the operations further comprise:

in response to determining that the backup of the portion of the storage device is a consistent backup:

updating the backup, using the backup application running on the computing device, by backing up the changed blocks from the portion of the storage device, the changed blocks being blocks that were tracked by the driver as changed since the backup was created.

6. The computer program product of claim 4 , wherein the operations further comprise:

in response to determining that the snapshot of the portion of the storage device failed: designating the backup as an inconsistent backup.

7. The computer program product of claim 4 , wherein the operations further comprise:

comparing the changed blocks from the portion of the storage device with the backup blocks from the backup of the portion of the storage device.

8. A computing system for consistent backup of at least a portion of a storage device, the computing system comprising one or more processors, wherein the one or more processors are configured to:

create, using a backup application running on a computing device, a backup of the portion of the storage device;

record, at the computing device, a number of changes to the portion of the storage device during the backup:

calculate, at the computing device, a backup metric based upon one or more changes to the portion of the storage device during the backup and one or more items remaining to be backed up from the portion of the storage device:

in response to determining, at the computing device, that the backup metric is higher than a backup threshold:

create, using a service running on the computing device, a snapshot of the portion of the storage device;

track, using a driver running on the computing device, changes to the portion of the storage device; and

update the backup, using the backup application running on the computing device, by backing up changed blocks from the portion of the storage device, the changed blocks being blocks that were tracked by the driver as changed.

9. The computing system of claim 8 , wherein the one or more processors are further configured to:

in response to determining that the backup of the portion of the storage device is a consistent backup:

update the backup, using the backup application running on the computing device, by backing up the changed blocks from the portion of the storage device, the changed blocks being blocks that were tracked by the driver as changed since the backup was created.

10. The computing system of claim 8 , wherein the one or more processors are further configured to:

in response to determining that the snapshot of the portion of the storage device failed: designate the backup as an inconsistent backup.

11. The computing system of claim 8 , wherein the one or more processors are further configured to:

compare the changed blocks from the portion of the storage device with the backup blocks from the backup of the portion of the storage device.

12. A method for consistent backup of at least a portion of a storage device, the method comprising:

creating, using a backup application running on a computing device, a backup of at least a portion of a storage device;

recording, at the computing device, a number of changes to the portion of the storage device during the backup;

calculating, at the computing device, a backup metric based upon, at least in part, the number of changes to the portion of the storage device during the backup and a number of items remaining to be backed up from the portion of the storage device;

in response to determining, at the computing device, that the backup metric is higher than a backup threshold:

creating, using a service running on the computing device, a snapshot of the portion of the storage device;

tracking, using a driver running on the computing device, changes to the portion of the storage device; and

updating the backup, using the backup application running on the computing device, by backing up changed blocks from the portion of the storage device, the changed blocks being blocks that were tracked by the driver as changed.

13. The method of claim 12 , further comprising:

in response to determining that the snapshot of the portion of the storage device failed:

updating the backup, using the backup application running on the computing device, by backing up changed blocks from the portion of the storage device, the changed blocks being blocks that were tracked by the driver as changed.

14. The method of claim 12 , further comprising:

in response to determining that the backup threshold has not been reached after a threshold time:

updating the backup, using the backup application running on the computing device, by backing up changed blocks from the portion of the storage device, the changed blocks being blocks that were tracked by the driver as changed.

15. The method of claim 12 , wherein the backup threshold is a ratio of changed data to unchanged data in the portion of the storage device since the backup was created.

16. A computing system for consistent backup of at least a portion of a storage device, the computing system comprising one or more processors, wherein the one or more processors are configured to:

create, using a backup application running on a computing device, a backup of at least a portion of a storage device;

record, at the computing device, a number of changes to the portion of the storage device during the backup;

calculate, at the computing device, a backup metric based upon, at least in part, the number of changes to the portion of the storage device during the backup and a number of items remaining to be backed up from the portion of the storage device;

in response to determining, at the computing device, that the backup metric is higher than a backup threshold:

create, using a service running on the computing device, a snapshot of the portion of the storage device;

track, using a driver running on the computing device, changes to the portion of the storage device; and

update the backup, using the backup application running on the computing device, by backing up changed blocks from the portion of the storage device, the changed blocks being blocks that were tracked by the driver as changed.

Assignments (5)
REAFFIRMATION AGREEMENT Recorded Aug 28, 2022
From: ACRONIS AG; ACRONIS INTERNATIONAL GMBH; ACRONIS SCS, INC.; ACRONIS, INC.; GROUPLOGIC, INC.; NSCALED INC.; ACRONIS MANAGEMENT LLC; 5NINE SOFTWARE, INC.; ACRONIS GERMANY GMBH; ACRONIS NETHERLANDS B.V.; ACRONIS BULGARIA EOOD; DEVICELOCK, INC.; DEVLOCKCORP LTD; ACRONIS INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 061330/0818 →
SECURITY INTEREST Recorded Dec 19, 2019
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 051418/0119 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2019
From: OBSIDIAN AGENCY SERVICES, INC.
To: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
Reel/Frame 050783/0893 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2018
From: PER, YURI; BELOUSSOV, SERGUEI M.; PROTASOV, STANISLAV; LYADVINSKY, MAXIM V.; TYURYUMOV, ALEXEY; MORLANG, ALEXEY
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 045175/0566 →
SECURITY INTEREST Recorded Jul 26, 2017
From: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
To: OBSIDIAN AGENCY SERVICES, INC., AS COLLATERAL AGENT
Reel/Frame 043350/0186 →