Hardware emulation using on-the-fly virtualization

US9250942B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9250942-B2
Application numberUS-2218408-A
CountryUS
Kind codeB2
Filing dateJan 30, 2008
Priority dateJan 30, 2008
Publication dateFeb 2, 2016
Grant dateFeb 2, 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.

At least one anomaly associated with at least one actual hardware element in a computer system having a plurality of hardware elements is addressed. The anomaly is detected, and, responsive to the detection, a virtualization layer is inserted between (i) an operating system of the computer system, and (ii) the plurality of hardware elements. Hardware emulation and/or selective hardware activation/deactivation are performed on the at least one actual hardware element by the virtualization layer. The insertion of the virtualization layer is accomplished in an on-the-fly manner.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for addressing at least one anomaly associated with at least one actual hardware element in a computer system having a plurality of hardware elements, said method comprising the steps of: responsive to detecting said at least one anomaly, inserting a virtualization layer between (i) an operating system of said computer system, and (ii) said plurality of hardware elements; performing at least one of hardware emulation and hardware deactivation on said at least one actual hardware element, with said virtualization layer; wherein said insertion of said virtualization layer is accomplished in an on-the-fly manner; wherein said at least one anomaly associated with said at least one actual hardware element comprises a failure of said actual hardware element, and wherein said virtualization layer performs said hardware emulation by presenting to said operating system a virtual hardware element having characteristics substantially similar to those of said actual hardware element; and wherein said at least one actual hardware element comprises an original first storage element; receiving, by said virtualization layer from said operating system, a request to read a block of data from said original first storage element; determining whether said block of data has already been transferred from said original first storage element to a second storage element; and responsive to said determining step indicating that said block of data has not already been transferred from said original first storage element to said second storage element, reading said block of data from said original first storage element. 2. The method of claim 1 , wherein said failure comprises an incipient failure. 3. The method of claim 1 , wherein said hardware emulation is continued at least until a hardware replacement for said at least one actual hardware element is in place. 4. The method of claim 1 , further comprising the additional steps of: repeating said receiving and determining steps of claim 1 for additional blocks of data; and responsive to said repeated determining step indicating that given ones of said additional blocks of data have already been transferred from said original first storage element to said second storage element, reading said given ones of said additional blocks of data from said second storage element. 5. The method of claim 4 , further comprising the additional steps of: receiving, by said virtualization layer from said operating system, a request to write a particular block of data to said original first storage element; and responsive to said write request, writing said particular block of data to said second storage element. 6. The method of claim 5 , further comprising the additional steps of: monitoring at least said writing to determine whether migration of substantially all said blocks of data to said second storage element is substantially complete; and responsive to determining that said migration is substantially complete, replacing said original first storage element with a replacement first storage element. 7. The method of claim 6 , further comprising the additional steps of: receiving, by said virtualization layer from said operating system, a request to read a block of data from said replacement first storage element; determining whether said block of data has already been transferred from said second storage element to said replacement first storage element; and responsive to said step of determining whether said block of data has already been transferred from said second storage element to said replacement first storage element indicating that said block of data has not already been transferred from said second storage element to said replacement first storage element, reading said block of data from said second storage element. 8. The method of claim 7 , further comprising the additional steps of: repeating said receiving step and said determining step of claim 7 for additional blocks of data; and responsive to said repetition of said determining step of claim 7 indicating that given ones of said additional blocks of data have already been transferred from said second storage element to said replacement first storage element, reading said given ones of said additional blocks of data from said replacement first storage element. 9. The method of claim 8 , further comprising the additional steps of: receiving, by said virtualization layer from said operating system, a request to write a particular block of data to said replacement first storage element; and writing said particular block of data to said replacement first storage element. 10. The method of claim 9 , further comprising the additional steps of: monitoring at least said writing to said replacement first storage element to determine whether migration of substantially all said blocks of data to said replacement first storage element is substantially complete; and responsive to determining that said migration to said replacement first storage element is substantially complete, uninstalling said virtualization layer from said system, so that said operating system can access said replacement first storage element directly. 11. The method of claim 1 , wherein said at least one anomaly associated with said at least one actual hardware element comprises a condition of said actual hardware element that indicates that said actual hardware element is to be masked, and wherein said virtualization layer performs said hardware deactivation by: masking presence of said actual hardware element from said operating system; and disabling said actual hardware element. 12. The method of claim 11 , further comprising the additional steps of: monitoring said actual hardware element for replacement; and responsive to detecting replacement, ceasing said masking and uninstalling said virtualization layer from said system. 13. The method of claim 11 , wherein said actual hardware element is a battery and wherein said condition comprises a fire hazard. 14. An apparatus for addressing at least one anomaly associated with at least one actual hardware element in a computer system having a plurality of hardware elements, said apparatus comprising: means for, responsive to detecting said at least one anomaly, inserting a virtualization layer between (i) an operating system of said computer system, and (ii) said plurality of hardware elements; means for performing at least one of hardware emulation and hardware deactivation on said at least one actual hardware element, with said virtualization layer; wherein said means for inserting said virtualization layer are configured to accomplish said insertion in an on-the-fly manner; wherein said at least one anomaly associated with said at least one actual hardware element comprises a failure of said actual hardware element, and wherein said virtualization layer performs said hardware emulation by presenting to said operating system a virtual hardware element having characteristics substantially similar to those of said actual hardware element; and wherein said at least one actual hardware element comprises an original first storage element; means for receiving, by said virtualization layer from said operating system, a request to read a block of data from said original first storage element; means for determining whether said block of data has already been transferred from said original first storage element to a second storage element; and responsive to said determining indicating that said block of data has not already been transferred from said original first storage ele

Assignees

Inventors

Classifications

  • in a virtual computing platform, e.g. logically partitioned systems · CPC title

  • Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40) · CPC title

  • Provision of facilities of other operating environments, e.g. WINE (I/O emulation G06F13/105) · 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 US9250942B2 cover?
At least one anomaly associated with at least one actual hardware element in a computer system having a plurality of hardware elements is addressed. The anomaly is detected, and, responsive to the detection, a virtualization layer is inserted between (i) an operating system of the computer system, and (ii) the plurality of hardware elements. Hardware emulation and/or selective hardware activati…
Who is the assignee on this patent?
Carbone Martim, Jansen Bernhard, Ramasamy Harigovind V, and 4 more
What technology area does this patent fall under?
Primary CPC classification G06F9/45537. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 02 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).