US 12,223,362 B2
Machine-learning-based load balancing for cloud-based disaster recovery apparatuses, processes and systems
William J. Sherwood, Jr., Rochester, NY (US)
Assigned to DATTO, INC., Norwalk, CT (US)
Filed by Datto, Inc., Norwalk, CT (US)
Filed on Aug. 10, 2021, as Appl. No. 17/399,008.
Prior Publication US 2023/0069593 A1, Mar. 2, 2023
Int. Cl. G06F 9/46 (2006.01); G06F 9/50 (2006.01); G06N 20/00 (2019.01)
CPC G06F 9/505 (2013.01) [G06F 9/5016 (2013.01); G06F 9/5077 (2013.01); G06N 20/00 (2019.01)] 18 Claims
OG exemplary drawing
 
1. A load balancing asset virtualizing apparatus, comprising:
at least one memory;
a component collection stored in the at least one memory;
at least one processor disposed in communication with the at least one memory, the at least one processor executing processor-executable instructions from the component collection, the component collection structured with processor-executable instructions, comprising:
obtain, via the at least one processor, an asset virtualization request datastructure, the asset virtualization request datastructure structured to include a first data field for identifying an asset and a second data field for specifying an expected workload timeframe corresponding to the expected workload timeframe associated with the asset virtualization request datastructure;
retrieve, via the at least one processor, a set of asset workload classification labels for the asset, the set of asset workload classification labels determined using an asset workload classification datastructure, the asset workload classification datastructure trained using a machine learning method and asset telemetry training data;
retrieve, via the at least one processor, a set of node workload classification labels for each node in a set of available compute nodes, each set of node workload classification labels determined using a node workload classification datastructure, the node workload classification datastructure trained using a machine learning method and node telemetry training data from a repository, the node telemetry training data including labeled training records over a certain period of time;
determine, via the at least one processor, a set of candidate compute nodes from the set of available compute nodes, in which the set of node workload classification labels for a candidate compute node is determined to be compatible with the set of asset workload classification labels for the asset, in which compatibility is determined using a set of capacity threshold rules;
select, via the at least one processor, a candidate compute node from the set of candidate compute nodes; and
instantiate, via the at least one processor, a virtual machine corresponding to the asset on the selected candidate compute node.