IP Library Granted Patent US 11,061,776
Granted Patent B2
US 11,061,776 · App. 16/661,936 · Granted Jul 13, 2021

Prioritization and source-nonspecific based virtual machine recovery apparatuses, methods and systems

Inventors: Campbell Hutcheson (New Canaan, CT); William Robert Speirs, II (Norwalk, CT); Robert J. Gibbons, Jr. (Wilton, CT)
Assignee: Datto, Inc.
G06F11/1451H04L9/3236G06F2201/80
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 11,061,776
App. No.
16/661,936
Granted
Jul 13, 2021
Kind
B2
Abstract

The Prioritization and Source-Nonspecific Based Virtual Machine Recovery Apparatuses, Methods and Systems (“MBR”) transforms backup configuration request, restore request inputs via MBR components into backup configuration response, restore response outputs. A backup configuration request to configure backups of a data storage volume of a source device is obtained. A paired backup device is determined. A recovery prioritization index is generated by determining a recovery priority ranking for each selected for backup data block of the data storage volume. A discrepancy hash for each selected for backup data block of the data storage volume that is available from at least one of a set of source-nonspecific locations is precalculated. The recovery prioritization index and the discrepancy hashes are periodically updated to account for data block use. Backup data including at least one of the recovery prioritization index and the discrepancy hashes is sent from the source device to the backup device.

Claims (65)

1. A prioritized and source-nonspecific backup apparatus, comprising:

a memory;

a component collection in the memory, including:

a prioritized and source-nonspecific backup processing component;

a processor disposed in communication with the memory, and configured to issue a plurality of processing instructions from the component collection stored in the memory,

wherein the processor issues instructions from the prioritized and source-nonspecific backup processing component, stored in the memory, to:

obtain, via at least one processor, a backup configuration request datastructure to configure backups of a data storage volume of a source device;

determine, via at least one processor, a paired backup device for the source device;

generate, via at least one processor, a recovery prioritization index by determining a recovery priority ranking for each selected for backup data block of the data storage volume;

precalculate, via at least one processor, a discrepancy hash for each selected for backup data block of the data storage volume that is available from at least one of a set of source-nonspecific locations, wherein a source-nonspecific location provides a lower transmission time penalty compared to accessing the paired backup device;

update, via at least one processor, the recovery prioritization index periodically to account for use of data blocks since the last time the recovery prioritization index was updated;

update, via at least one processor, discrepancy hashes periodically to account for use of data blocks since the last time the discrepancy hashes were updated; and

send, via at least one processor, backup data from the source device to the paired backup device, wherein the backup data includes at least one of the updated recovery prioritization index and the updated discrepancy hashes.

2. The apparatus of claim 1 , further, comprising:

the processor issues instructions from the prioritized and source-nonspecific backup processing component, stored in the memory, to:

generate, via at least one processor, a source device configuration table, wherein the source device configuration table identifies a set of installed software applications on the source device that are available in equivalent form in the set of source-nonspecific locations.

3. The apparatus of claim 2 , wherein the source device configuration table identifies a version number of an installed software application.

4. The apparatus of claim 2 , wherein the source device configuration table identifies a network address of an associated source-nonspecific location that contains an installed software application in equivalent form.

5. The apparatus of claim 1 , wherein the paired backup device is cloud storage.

6. The apparatus of claim 1 , wherein a data block is a sequence of data having a nominal length.

7. The apparatus of claim 1 , wherein the instructions to generate a recovery prioritization index further comprise instructions to:

determine, via at least one processor, a specified recovery priority ranking for a specified software application;

determine, via at least one processor, application files corresponding to the specified software application;

determine, via at least one processor, application data blocks corresponding to the determined application files; and

associate, via at least one processor, the specified recovery priority ranking with the determined application data blocks.

8. The apparatus of claim 1 , wherein the instructions to generate a recovery prioritization index further comprise instructions to:

determine, via at least one processor, a specified recovery priority ranking for a specified file;

determine, via at least one processor, file data blocks corresponding to the specified file; and

assign, via at least one processor, the specified recovery priority ranking to the determined file data blocks.

9. The apparatus of claim 1 , wherein the recovery prioritization index includes an essential flag that specifies whether a data block is essential to fetch prior to booting an operating system of a recovery device.

10. The apparatus of claim 1 , wherein the recovery prioritization index is updated to account for frequency of use of data blocks.

11. The apparatus of claim 1 , wherein a discrepancy hash of a hashed data block is precalculated at a time of low CPU use.

12. The apparatus of claim 1 , wherein a discrepancy hash of a hashed data block is precalculated using a cryptographic hash function.

13. The apparatus of claim 12 , wherein the cryptographic hash function used by the source device is the same as the cryptographic hash function used by the source-nonspecific location from which the hashed data block is available to precalculate discrepancy hashes.

14. The apparatus of claim 1 , wherein a discrepancy hash of a hashed data block is updated when the hashed data block is modified.

15. The apparatus of claim 1 , wherein the backup data includes data blocks to be backed up.

16. A processor-readable prioritized and source-nonspecific backup non-transient physical medium storing processor-executable components, the components, comprising:

a component collection stored in the medium, including:

a prioritized and source-nonspecific backup processing component;

wherein the prioritized and source-nonspecific backup processing component, stored in the medium, includes processor-issuable instructions to:

obtain, via at least one processor, a backup configuration request datastructure to configure backups of a data storage volume of a source device;

determine, via at least one processor, a paired backup device for the source device;

generate, via at least one processor, a recovery prioritization index by determining a recovery priority ranking for each selected for backup data block of the data storage volume;

precalculate, via at least one processor, a discrepancy hash for each selected for backup data block of the data storage volume that is available from at least one of a set of source-nonspecific locations, wherein a source-nonspecific location provides a lower transmission time penalty compared to accessing the paired backup device;

update, via at least one processor, the recovery prioritization index periodically to account for use of data blocks since the last time the recovery prioritization index was updated;

update, via at least one processor, discrepancy hashes periodically to account for use of data blocks since the last time the discrepancy hashes were updated; and

send, via at least one processor, backup data from the source device to the paired backup device, wherein the backup data includes at least one of the updated recovery prioritization index and the updated discrepancy hashes.

17. A processor-implemented prioritized and source-nonspecific backup system, comprising:

a prioritized and source-nonspecific backup processing component means, to:

obtain, via at least one processor, a backup configuration request datastructure to configure backups of a data storage volume of a source device;

determine, via at least one processor, a paired backup device for the source device;

generate, via at least one processor, a recovery prioritization index by determining a recovery priority ranking for each selected for backup data block of the data storage volume;

precalculate, via at least one processor, a discrepancy hash for each selected for backup data block of the data storage volume that is available from at least one of a set of source-nonspecific locations, wherein a source-nonspecific location provides a lower transmission time penalty compared to accessing the paired backup device;

update, via at least one processor, the recovery prioritization index periodically to account for use of data blocks since the last time the recovery prioritization index was updated;

update, via at least one processor, discrepancy hashes periodically to account for use of data blocks since the last time the discrepancy hashes were updated; and

send, via at least one processor, backup data from the source device to the paired backup device, wherein the backup data includes at least one of the updated recovery prioritization index and the updated discrepancy hashes.

18. A processor-implemented prioritized and source-nonspecific backup method, comprising:

executing processor-implemented prioritized and source-nonspecific backup processing component instructions to:

obtain, via at least one processor, a backup configuration request datastructure to configure backups of a data storage volume of a source device;

determine, via at least one processor, a paired backup device for the source device;

generate, via at least one processor, a recovery prioritization index by determining a recovery priority ranking for each selected for backup data block of the data storage volume;

precalculate, via at least one processor, a discrepancy hash for each selected for backup data block of the data storage volume that is available from at least one of a set of source-nonspecific locations, wherein a source-nonspecific location provides a lower transmission time penalty compared to accessing the paired backup device;

update, via at least one processor, the recovery prioritization index periodically to account for use of data blocks since the last time the recovery prioritization index was updated;

update, via at least one processor, discrepancy hashes periodically to account for use of data blocks since the last time the discrepancy hashes were updated; and

send, via at least one processor, backup data from the source device to the paired backup device, wherein the backup data includes at least one of the updated recovery prioritization index and the updated discrepancy hashes.

Assignments (8)
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Mar 24, 2025
From: DATTO, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS SECOND LIEN COLLATERAL AGENT
Reel/Frame 070609/0599 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Mar 21, 2025
From: DATTO, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 070586/0681 →
RELEASE OF SECURITY INTEREST (PATENTS) Recorded Mar 20, 2025
From: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
To: DATTO, INC.
Reel/Frame 070583/0566 →
CHANGE OF NAME Recorded Oct 27, 2023
From: DATTO, INC.
To: DATTO, LLC
Reel/Frame 065385/0256 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Aug 9, 2022
From: DATTO, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 061129/0839 →
RELEASE OF SECURITY INTEREST Recorded Jun 23, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: DATTO, INC.; AUTOTASK CORPORATION; OPEN MESH, INC.; SOONR, INC.
Reel/Frame 060293/0565 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: DATTO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 054191/0984 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2019
From: HUTCHESON, CAMPBELL; SPEIRS II, WILLIAM ROBERT; GIBBONS JR., ROBERT J.
To: DATTO, INC.
Reel/Frame 050901/0403 →
Continuity (6)
Continuation In Part 16424469 · May 28, 2019
Continuation In Part 16391205 · Apr 22, 2019
Continuation In Part 16391243 · Apr 22, 2019
Continuation In Part 16055347 · Aug 6, 2018
Provisional Application 62541952 · Aug 7, 2017
Related Publication 20200159625A1 · May 21, 2020