Apparatuses, methods and systems for determining a virtual machine state based on CPU registers

US9323638B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9323638-B2
Application numberUS-201514702397-A
CountryUS
Kind codeB2
Filing dateMay 1, 2015
Priority dateAug 9, 2013
Publication dateApr 26, 2016
Grant dateApr 26, 2016

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.

The CPU REGISTER ASSISTED VIRTUAL MACHINE SCREENSHOT CAPTURE TIMING APPARATUSES, METHODS AND SYSTEMS (“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 verifying a status of an operating system running on a virtual machine, the method comprising: obtaining, by a server, a plurality of virtual central processing unit (CPU) register values associated with at least one virtual CPU register of a virtual CPU on a hypervisor, the hypervisor providing virtualization services to the virtual machine; determining, based at least in part on the plurality of virtual CPU register values, the status of the operating system; and acquiring an output of the virtual machine so as to verify the status of the operating system, wherein: obtaining the plurality of virtual CPU register values comprises obtaining the plurality of virtual CPU register values in a time-ordered sequence, and determining the status of the operating system is based at least in part on the time-ordered sequence. 2. The method of claim 1 , wherein determining the status of the operating system comprises: estimating an entropy of the at least one virtual CPU register based at least in part on the plurality of virtual CPU register values, and determining the status of the operating system is based at least in part on the entropy of the at least one virtual CPU register. 3. The method of claim 1 , wherein: determining the status of the operating system comprises determining that the operating system of the virtual machine has booted successfully, and acquiring the output of the virtual machine comprises acquiring a representation of a display output of the virtual machine, the representation indicating successful booting of the virtual machine. 4. The method of claim 3 , wherein determining the status of the operating system comprises: determining if an application is running on the virtual machine. 5. The method of claim 1 , wherein determining the status of the operating system comprises: determining that the operating system is booting, and checking the status of the operating system after a predetermined period of time in response to determining that the operating system is booting. 6. The method of claim 1 , wherein determining the status of the operating system comprises: determining that the operating system has booted unsuccessfully. 7. The method of claim 1 , wherein acquiring the output of the virtual machine comprises: acquiring a representation of a display output of the virtual machine. 8. The method of claim 1 , further comprising: automatically recognizing text in the output of the virtual machine; generating a report based at least in part on the text; and transmitting the report to an administrator user as an indication of the status of the operating system. 9. An apparatus for verifying a status of an operating system of a virtual machine, the apparatus comprising: a 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 virtual central processing unit (CPU) register values associated with at least one virtual CPU register of a virtual CPU on a hypervisor, the hypervisor providing virtualization services to the virtual machine; determines, based at least in part on the plurality of virtual CPU register values, the status of the operating system; and acquires an output of the virtual machine so as to verity the status of the operating system, wherein, upon execution of the processor-executable instructions by the at least one processor, the apparatus: obtains the plurality of virtual CPU register values in a time-ordered sequence, and determines the status of the operating system based at least in part on the time-ordered sequence. 10. The apparatus of claim 9 , wherein, upon execution of the processor-executable instructions by the at least one processor, the apparatus: estimates an entropy of the at least one virtual CPU register based at least in part on the plurality of virtual CPU register values, and determines the status of the operating system based at least in part on the entropy of the at least one virtual CPU register. 11. The apparatus of claim 9 , wherein, upon execution of the processor-executable instructions by the at least one processor, the apparatus: determines that the operating system has booted successfully, and acquires a representation of a display output of the virtual machine, the representation indicating of successful booting of the virtual machine. 12. The apparatus of claim 11 , wherein, upon execution of the processor-executable instructions by the at least one processor, the apparatus: determines if an application is running on the virtual machine. 13. The apparatus of claim 9 , wherein, upon execution of the processor-executable instructions by the at least one processor, the apparatus: determines that the operating system is booting, and checks the status of the operating system of the virtual machine after a predetermined period of time in response to determining that the operating system is booting. 14. The apparatus of claim 9 , wherein, upon execution of the processor-executable instructions by the at least one processor, the apparatus: determines that the operating system has booted unsuccessfully. 15. The apparatus of claim 9 , wherein, upon execution of the processor-executable instructions by the at least one processor, the apparatus: acquires a representation of a display output of the virtual machine. 16. The apparatus of claim 9 , upon execution of the processor-executable instructions by the at least one processor, the apparatus: automatically recognizes text in the output of the virtual machine; generates a report indicative of the text; and transmits the report to an administrator user as an indication of the status of the operating system. 17. A method for verifying a status of an operating system of a virtual machine via a hypervisor providing a virtual central processing unit (CPU) to the virtual machine, the method comprising: obtaining, by a server, a plurality of time-ordered virtual CPU register values associated with at least one virtual CPU register of the virtual CPU on the hypervisor; determining, based at least in part on the plurality of time-ordered virtual CPU register values, a boot state value of the operating system of the virtual machine, the boot state value indicating that the operating system of the virtual machine (i) is still booting, (ii) has booted successfully, or (iii) has booted unsuccessfully; and acquiring a representation of a display output of the virtual machine if the boot state value indicates that the operating system of the virtual machine has booted successfully or has booted unsuccessfully. 18. The method of claim 17 , further comprising: if the operating system of the virtual machine has booted unsuccessfully, determining an error message based at least in part on the representation of the display output of the virtual machine. 19. An apparatus for verifying a status of an operating system of a virtual machine via a hypervisor providing a virtual central processing unit (CPU) to the virtual machine, the apparatus comprising: a 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

Assignees

Inventors

Classifications

  • Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available (error or fault processing without redundancy G06F11/0703; error detection or correction by redundancy in data representation G06F11/08; error detection or correction of the data by redundancy in operations G06F11/14; error detection or correction by redundancy in hardware G06F11/16) · CPC title

  • G06F11/327Primary

    Alarm or error message display · CPC title

  • Display of status information · CPC title

  • involving virtual machines · CPC title

  • Virtual · 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 US9323638B2 cover?
The CPU REGISTER ASSISTED VIRTUAL MACHINE SCREENSHOT CAPTURE TIMING APPARATUSES, METHODS AND SYSTEMS (“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…
Who is the assignee on this patent?
Datto Inc, Datto Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/327. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 26 2016 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).