Apparatuses, methods and systems for determining a virtual machine state

US10705939B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10705939-B2
Application numberUS-201715830376-A
CountryUS
Kind codeB2
Filing dateDec 4, 2017
Priority dateAug 9, 2013
Publication dateJul 7, 2020
Grant dateJul 7, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

APPARATUSES, METHODS AND SYSTEMS FOR DETERMINING A VIRTUAL MACHINE STATE (“CRV”) (transforms register retrieval requests, via CRV components, into boot success messages and screenshot capture command invocation outputs. A method comprises determining when to capture a screenshot of a virtual machine's display output by observing the values of a virtual CPU's registers, or the entropy of the virtual CPU's register values, obtained from a hypervisor in communication with the virtual machine's virtual CPU. The method further comprises determining when the virtual machine is at a boot success state and capturing a screenshot of the virtual machine display output.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for generating rules for determining a status of an operating system running on a virtual machine, the method comprising: obtaining a plurality of register sample values comprising: a plurality of boot success state register sample values, each of which represents a sample virtual central processing unit (CPU) register value associated with a virtual CPU register of a virtual CPU that has successfully booted, and a plurality of boot error state register sample values, each of which represents a sample virtual CPU register value associated with a virtual CPU register of a virtual CPU that has encountered an error while booting; generating a set of rules for evaluating virtual CPU register values associated with a target virtual CPU to determine whether the target virtual CPU has successfully booted, wherein the set of rules are generated based at least in part on at least some of the plurality of boot success state register sample values, and at least some of the plurality of boot error state register sample values; and storing the generated set of rules; wherein each register sample value in the plurality of register sample values is associated with a virtual CPU register in a defined plurality of virtual CPU registers and the method further comprises: identifying one or more virtual CPU registers in the defined plurality of virtual CPU registers that stay at a single value regardless of whether a virtual CPU has successfully booted, or has encountered an error while booting; and excluding register sample values associated with any of the identified one or more virtual CPU registers from the plurality of register sample values; wherein the set of rules are not generated based on any of the excluded register sample values. 2. The method of claim 1 , wherein the generated set of rules comprise at least one of a logical conditional statement and a decision tree. 3. The method of claim 1 , further comprising: receiving a plurality of virtual CPU register values associated with at least one virtual CPU register of a virtual CPU on a hypervisor; evaluating at least some of the received plurality of virtual CPU register values using the generated set of rules; determining, based on the evaluation, a boot status of the virtual CPU associated with the received virtual CPU register values; and transmitting a message indicating the boot status. 4. The method of claim 1 , wherein: the plurality of register sample values further comprises a plurality of boot in-progress state register sample values, each of which represent a sample virtual central processing unit (CPU) register value associated with a virtual CPU register of a virtual CPU that is in the process of booting up; and the generated set of rules are also to determine whether the target virtual CPU is in a boot in-progress state, and are generated based at least in part on at least some of the plurality of boot in-progress state register sample values. 5. The method of claim 1 , further comprising transmitting the generated set of rules to a server. 6. An apparatus for generating rules for determining a status of an operating system running on a virtual machine, the apparatus comprising: memory to store processor-executable instructions; and at least one processor, operably coupled to the memory, to execute the processor-executable instructions, wherein upon execution of the processor-executable instructions by the at least one processor, the apparatus: obtains a plurality of register sample values comprising: a plurality of boot success state register sample values, each of which represents a sample virtual central processing unit (CPU) register value associated with a virtual CPU register of a virtual CPU that has successfully booted, and a plurality of boot error state register sample values, each of which represents a sample virtual CPU register value associated with a virtual CPU register of a virtual CPU that has encountered an error while booting; generate a set of rules for evaluating virtual CPU register values associated with a target virtual CPU to determine whether the target virtual CPU has successfully booted, wherein the set of rules are generated based at least in part on at least some of the plurality of boot success state register sample values, and at least some of the plurality of boot error state register sample values; and store the generated set of rules; wherein each register sample value in the plurality of register sample values is associated with a virtual CPU register in a defined plurality of virtual CPU registers, and wherein upon execution of the processor-executable instructions by the at least one processor, the apparatus: identifies one or more virtual CPU registers in the defined plurality of virtual CPU registers that stay at a single value regardless of whether a virtual CPU has successfully booted, or has encountered an error while booting; and excludes register sample values associated with any of the identified one or more virtual CPU registers from the plurality of register sample values; wherein the set of rules are not generated based on any of the excluded register sample values. 7. The apparatus of claim 6 , wherein the generated set of rules comprise at least one of a logical conditional statement and a decision tree. 8. The apparatus of claim 6 , wherein upon execution of the processor-executable instructions by the at least one processor, the apparatus: receives a plurality of virtual CPU register values associated with at least one virtual CPU register of a virtual CPU on a hypervisor; evaluates at least some of the received plurality of virtual CPU register values using the generated set of rules; determines, based on the evaluation, a boot status of the virtual CPU associated with the received virtual CPU register values; and transmits a message indicating the boot status. 9. The apparatus of claim 6 , wherein: the plurality of register sample values further comprises a plurality of boot in-progress state register sample values, each of which represent a sample virtual central processing unit (CPU) register value associated with a virtual CPU register of a virtual CPU that is in the process of booting up; and the generated set of rules are also to determine whether the target virtual CPU is in a boot in-progress state, and are generated based at least in part on at least some of the plurality of boot in-progress state register sample values. 10. The apparatus of claim 6 , wherein upon execution of the processor-executable instructions by the at least one processor, the apparatus transmits the generated set of rules to a server. 11. A method for generating rules for determining a status of an operating system running on a virtual machine, the method comprising: obtaining a plurality of register sample values comprising: a plurality of boot success state register sample values, each of which represents a sample virtual central processing unit (CPU) register value associated with a virtual CPU register of a virtual CPU that has successfully booted, and a plurality of boot error state register sample values, each of which represents a sample virtual CPU register value associated with a virtual CPU register of a virtual CPU that has encountered an error while booting; generating a set of rules for evaluating virtual CPU register values associated with a target virtual CPU to determine whether the target virtual CPU has successfully booted, wherein the set of rules are generated based at least in part on at least some of the plurality of boot success state register sample values, and at least some of the plurality of boot

Assignees

Inventors

Classifications

  • by power-on test, e.g. power-on self test [POST] · CPC title

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

  • G06F11/327Primary

    Alarm or error message display · CPC title

  • Management of the backup or restore process · CPC title

  • Backup scheduling policy · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10705939B2 cover?
APPARATUSES, METHODS AND SYSTEMS FOR DETERMINING A VIRTUAL MACHINE STATE (“CRV”) (transforms register retrieval requests, via CRV components, into boot success messages and screenshot capture command invocation outputs. A method comprises determining when to capture a screenshot of a virtual machine's display output by observing the values of a virtual CPU's registers, or the entropy of the vir…
Who is the assignee on this patent?
Datto Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/2284. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 07 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).