Autoscreenshot systems and methods for virtual operating system states
AssigneeDatto, Inc.
InventorCollin Mitchell
Life of this patent
Estimating the term…
Abstract
Described screenshot verification systems and methods for automatically verifying the integrity of a backup image or other process-of-interest using a screenshot verification system, as well as disaster recovery systems including said systems and performing said methods. In accordance with various aspects of the present disclosure, a virtual machine is booted and screenshots of the boot process are taken, which are used by a trained model, such as a convolutional neural network, to determine a boot state consistency. The systems and methods described deliver over 99% accuracy and do not involve regular expression analysis typical of conventional methods.
Claims25
A method of evaluating the integrity of a process-of-interest associated with a protected machine, the method comprising:
- (a) initiating, via an operating system managing the protected machine, the process-of-interest;
- (b) taking, via the operating system managing the protected machine, a plurality of screenshots of display output while the process-of-interest is being initiated;
- (c) communicating one or more of the plurality of screenshots of the display output to a prediction module;
- (d) using the prediction module, determining a state classification for each screenshot of the plurality of screenshots of the display output using a trained model, based on one or more determined attributes associated with each screenshot of the plurality of screenshots, wherein the trained model is an artificial neural network;
- (e) adding each screenshot of the plurality of screenshots of the display output and the state classification associated with each screenshot to a memory array;
- (f) testing at least a first portion of the memory array to determine a consistency class for the process-of-interest based on screenshots and the associated state classifications stored in at least the first portion of the memory array, wherein the consistency class represents a steady state classification over a particular period of time;
- (g) based on the consistency class determined based on at least the first portion of the memory array, performing at least one of the following:
- (g1) repeating steps (b) through (g) and testing at least a second portion of the memory array to determine a consistency class for the process-of-interest based on the screenshots and the associated state classifications stored in at least the second portion of the memory array, and wherein the second portion of the memory array includes one or more screenshots and one or more state classifications not included in the first portion of the memory array;
- and
- (g2) generating a report concerning the consistency class determined in connection with at least the first portion of the memory array, the report comprising a representative screenshot selected from the screenshots stored within the memory array and the consistency class.
A method of evaluating the integrity of at least a first backup image associated with a protected machine, the method comprising:
- (a) booting, via an operating system managing a first device, a virtual machine based on at least the first backup image;
- (b) taking, via the operating system managing the first device, a plurality of samples of display output of the virtual machine over a first duration;
- (c) communicating, the plurality of samples to a prediction module located on a second device, the prediction module comprising a trained model;
- (d) determining, via the trained model of the prediction module, state classifications for one or more samples of the plurality of samples, based on one or more determined attributes associated with the one or more samples of the plurality of samples, wherein the trained model is an artificial neural network trained using a plurality of training images from one or more operating systems;
- (e) adding each sample of the plurality of samples and each associated state classifications to a memory array;
- (f) testing, at least a first portion of the memory array to determine a consistency class based on the plurality of samples and the state classifications stored in at least the first portion of the memory array, wherein the consistency class represents a steady state classification over a particular period of time;
- (g) based on the consistency class determined based on at least the first portion of the memory array, performing at least one of the following:
- (g1) repeating steps (b) through (g) and testing at least a second portion of the memory array to determine a consistency class based on the plurality of samples and state classifications stored in at least the second portion of the memory array, wherein the second portion of the memory array includes one or more samples and one or more state classifications not included in the first portion of the memory array;
- and
- (g2) generating a report concerning the consistency class determined in connection with at least the first portion of the memory array, the report comprising a representative screenshot selected from the screenshots stored within the memory array and the consistency class.
A backup system comprising:
- a first device including at least one processor and memory including instructions that, when executed by the at least one processor, cause the first device to perform one or more of the following steps:
- (a) booting a virtual machine based on at least a first backup image;
- (b) taking a plurality of samples of the display output of the virtual machine over a first duration while the virtual machine is booting;
- (c) communicating the plurality of samples of the virtual machine to a prediction module comprising a trained model, wherein the trained model is an artificial neural network trained using a plurality of boot-state training images from one or more operating systems;
- (d) determining, via the prediction module, state classifications for each sample of the plurality of samples of the virtual machine, based on one or more determined attributes associated with the one or more samples of the plurality of samples;
- (e) adding each sample of the plurality of samples of the virtual machine and the state classifications determined in association with each sample to a memory array;
- (f) testing at least a first portion of the memory array to determine a consistency class based on the plurality of samples and the state classifications stored in at least the first portion of the memory array, wherein the consistency class represents a steady state classification over a particular period of time;
- and
- (g) based on the consistency class determined based on at least the first portion of the memory array, performing at least one of the following:
- (g1) repeating steps (b) through (g) and testing at least a second portion of the memory array to determine a consistency class based on the plurality of samples and state classifications stored in at least the second portion of the memory array, wherein the second portion of the memory array includes one or more samples and one or more state classifications not included in the first portion of the memory array;
- (g2) generating a report concerning the consistency class determined in connection with at least the first portion of the memory array, the report comprising a representative sample selected from the plurality of samples stored within the memory array and the consistency class;
- and
- (g3) generating a recommended action to be taken based on the consistency class and taking the recommended action, wherein the recommended action including at least one of:
- reporting information regarding the consistency class;
- recording information regarding the consistency class;
- and ending the method.
Dependencies are inferred from the claim text.