Patents by Inventor Andrei Warkentin

Andrei Warkentin has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20170060613
    Abstract: In an example, a computer system includes a hardware platform and a hypervisor executing on the hardware platform. The hypervisor includes a kernel and a plurality of user-space instances within a user-space above the kernel. Each user-space instance is isolated from each other user-space instance through namespaces. Each user-space instance includes resources confined by hierarchical resource groups. The computer system includes a plurality of virtual hypervisors, where each virtual hypervisor executes in a respective user-space instance of the plurality of user-space instances.
    Type: Application
    Filed: December 29, 2015
    Publication date: March 2, 2017
    Inventors: Andrei WARKENTIN, Harvey TUCH, Cyprien LAPLACE, Alexander FAINKICHEN
  • Patent number: 9535772
    Abstract: In a computer system operable at multiple hierarchical privilege levels, a “wait-for-event” (WFE) communication channel between components operating at different privilege levels is established. Initially, a central processing unit (CPU) is configured to to “trap” WFE instructions issued by a client, such as an operating system, operating at one privilege level to an agent, such as a hypervisor, operating at a more privileged level. After storing a predefined special sequence in a storage component (e.g., a register), the client executes a WFE instruction. As part of trapping the WFE instruction, the agent reads and interprets the special sequence from the storage component and may respond to the special sequence by storing another special sequence in a storage component that is accessible to the client. Advantageously, the client may leverage this WFE communication channel to establish low-overhead watchdog functionality for the client.
    Type: Grant
    Filed: December 16, 2014
    Date of Patent: January 3, 2017
    Assignee: VMware, Inc.
    Inventors: Andrei Warkentin, Harvey Tuch
  • Publication number: 20160378543
    Abstract: A method is provided for handling interrupts in a processor, the interrupts including regular interrupts having a range of priorities and a pseudo non-maskable interrupt (PNMI) that is of a higher priority than any of the regular interrupts. The method includes the steps of obtaining an interrupt vector corresponding to a received interrupt, and if the received interrupt is a regular interrupt, enabling interrupts in the processor so that a PNMI can be received while handling the regular interrupt, executing a regular interrupt handler using the interrupt vector, and disabling interrupts in the processor. On the other hand, if the received interrupt is a PNMI, a PNMI interrupt handler is executed using the interrupt vector as an input thereto.
    Type: Application
    Filed: October 7, 2015
    Publication date: December 29, 2016
    Inventors: ANDREI WARKENTIN, Irfan Ulla Khan, Cyprien Laplace, Harvey Tuch, Alexander Fainkichen
  • Publication number: 20160378696
    Abstract: Devices are emulated as PCI devices so that existing PCI drivers can be used for the devices. This is accomplished by creating a shim PCI device with a emulated PCI configuration space, accessed via a emulated PCI Extended Configuration Access Mechanism (ECAM) space which is emulated by accesses to trapped unbacked memory addresses. When system software accesses the PCI ECAM space to probe for PCI configuration data or program base address registers of the PCI ECAM space, an exception is raised and the exception is handled by a secure monitor that is executing at a higher privilege level than the system software. The secure monitor in handling the exception emulates the PCI configuration space access of the emulated PCI device corresponding to the ECAM address accessed, such that system software may discover the device and bind and appropriately configure a PCI driver to it with the right IRQ and memory base ranges.
    Type: Application
    Filed: June 29, 2015
    Publication date: December 29, 2016
    Inventors: Andrei WARKENTIN, Harvey TUCH, Alexander FAINKICHEN
  • Publication number: 20160378699
    Abstract: A method is provided for handling interrupts in a processor, the interrupts including regular interrupts having a range of priorities and a pseudo non-maskable interrupt (PNMI) that is of a higher priority than any of the regular interrupts. The method includes obtaining an interrupt vector corresponding to a received interrupt, and if the received interrupt is a PNMI, executing a PNMI interrupt handler. If the received interrupt is a regular interrupt, the method further comprises reading a mask flag that indicates whether regular interrupts are enabled in an interrupt controller and further: if the mask flag indicates that regular interrupts are enabled, enabling interrupts in the processor so that a PNMI can be received while handling the regular interrupt, executing, a regular interrupt handler, and disabling interrupts in the processor; and if the mask flag indicates that regular interrupts are disabled, saving the interrupt vector for subsequent handling.
    Type: Application
    Filed: October 7, 2015
    Publication date: December 29, 2016
    Inventors: ANDREI WARKENTIN, IRFAN ULLA KHAN, CYPRIEN LAPLACE, HARVEY TUCH, ALEXANDER FAINKICHEN
  • Patent number: 9489211
    Abstract: A mapping table is passed to system software upon loading of the system software in a computer system. The mapping table is generated from a user-defined configuration file and maps device identifiers of various devices implemented in the computer system, as assigned by the device manufacturers, to device identifiers that are recognizable by the system software. The mapping is used by the system software when it performs binding of device drivers to devices so that devices that have been given generic and sometimes obscure names by the device manufacturers can still be associated with and bound to device drivers loaded by the system software.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: November 8, 2016
    Assignee: VMware, Inc.
    Inventors: Andrei Warkentin, Alexander Fainkichen, Harvey Tuch
  • Patent number: 9465617
    Abstract: A computer system that does not natively support non-maskable interrupts (NMIs) implements NMI-like functionality in a secure monitor. The computer system detects a high priority interrupt and determines whether or not interrupts are enabled or disabled. If interrupts are enabled, the computer system injects an exception into a currently executing thread of system software operating at the second privilege level, and an exception handler processes the exception like a standard exception. If interrupts are disabled, the computer system saves the current system state (e.g., the current program counter and CPU state) and values of one or more exception handling registers in temporary storage and injects an exception into the currently executing thread of the system software, and the exception handler processes the exception in a special manner.
    Type: Grant
    Filed: June 29, 2015
    Date of Patent: October 11, 2016
    Assignee: VMware, Inc.
    Inventors: Andrei Warkentin, Harvey Tuch
  • Publication number: 20160291986
    Abstract: A mapping table is passed to system software upon loading of the system software in a computer system. The mapping table is generated from a user-defined configuration file and maps device identifiers of various devices implemented in the computer system, as assigned by the device manufacturers, to device identifiers that are recognizable by the system software. The mapping is used by the system software when it performs binding of device drivers to devices so that devices that have been given generic and sometimes obscure names by the device manufacturers can still be associated with and bound to device drivers loaded by the system software.
    Type: Application
    Filed: March 31, 2015
    Publication date: October 6, 2016
    Inventors: Andrei WARKENTIN, Alexander FAINKICHEN, Harvey TUCH
  • Patent number: 9383935
    Abstract: In a computer system with multiple central processing units (CPUs), initialization of a memory management unit (MMU) for a secondary CPU is performed using an exception generated by the MMU. In general, this technique leverages the exception handling features of the secondary CPU to switch the CPU from executing secondary CPU initialization code with the MMU “off” to executing secondary CPU initialization code with the MMU “on.” Advantageously, in contrast to conventional techniques for MMU initialization, this exception-based technique does not require identity mapping of the secondary CPU initialization code to ensure proper execution of the secondary CPU initialization code.
    Type: Grant
    Filed: December 16, 2014
    Date of Patent: July 5, 2016
    Assignee: VMware, Inc.
    Inventors: Andrei Warkentin, Harvey Tuch
  • Publication number: 20160170816
    Abstract: In a computer system operable at multiple hierarchical privilege levels, a “wait-for-event” (WFE) communication channel between components operating at different privilege levels is established. Initially, a central processing unit (CPU) is configured to to “trap” WFE instructions issued by a client, such as an operating system, operating at one privilege level to an agent, such as a hypervisor, operating at a more privileged level. After storing a predefined special sequence in a storage component (e.g., a register), the client executes a WFE instruction. As part of trapping the WFE instruction, the agent reads and interprets the special sequence from the storage component and may respond to the special sequence by storing another special sequence in a storage component that is accessible to the client. Advantageously, the client may leverage this WFE communication channel to establish low-overhead watchdog functionality for the client.
    Type: Application
    Filed: December 16, 2014
    Publication date: June 16, 2016
    Applicant: VMWARE, INC.
    Inventors: Andrei WARKENTIN, Harvey TUCH
  • Publication number: 20160170912
    Abstract: In a computer system operable at multiple hierarchical privilege levels, a “wait-for-event” (WFE) communication channel between components operating at different privilege levels is established. Initially, a central processing unit (CPU) is configured to to “trap” WFE instructions issued by a client, such as an operating system, operating at one privilege level to an agent, such as a hypervisor, operating at a more privileged level. After storing a predefined special sequence in a storage component (e.g., a register), the client executes a WFE instruction. As part of trapping the WFE instruction, the agent reads and interprets the special sequence from the storage component and may respond to the special sequence by storing another special sequence in a storage component that is accessible to the client. Advantageously, a client may leverage this WFE communication channel to safely and reliably detect whether an agent is present.
    Type: Application
    Filed: December 16, 2014
    Publication date: June 16, 2016
    Inventors: Andrei WARKENTIN, Harvey TUCH
  • Publication number: 20160170679
    Abstract: In a computer system with multiple central processing units (CPUs), initialization of a memory management unit (MMU) for a secondary CPU is performed using an exception generated by the MMU. In general, this technique leverages the exception handling features of the secondary CPU to switch the CPU from executing secondary CPU initialization code with the MMU “off” to executing secondary CPU initialization code with the MMU “on.” Advantageously, in contrast to conventional techniques for MMU initialization, this exception-based technique does not require identity mapping of the secondary CPU initialization code to ensure proper execution of the secondary CPU initialization code.
    Type: Application
    Filed: December 16, 2014
    Publication date: June 16, 2016
    Inventors: Andrei WARKENTIN, Harvey TUCH
  • Publication number: 20150371036
    Abstract: A secure mode of a computer system is used to provide simulated devices. In operation, if an instruction executing in a non-secure mode accesses a simulated device, then a resulting exception is forwarded to a secure monitor executing in the secure mode. Based on the address accessed by the instruction, the secure monitor identifies the device and simulates the instruction. The secure monitor executes independently of other applications included in the computer system, and does not rely on any hardware virtualization capabilities of the computer system.
    Type: Application
    Filed: June 23, 2014
    Publication date: December 24, 2015
    Inventors: Andrei WARKENTIN, Harvey TUCH
  • Publication number: 20150370592
    Abstract: In a virtualized computer system operable in more than two hierarchical privilege levels, components of a hypervisor, which include a virtual machine kernel and virtual machine monitors (VMMs), are assigned to different privilege levels. The virtual machine kernel operates at a low privilege level to be able to exploit certain features provided by the low privilege level, and the VMMs operate at a high privilege level to support execution of virtual machines. Upon determining that a context switch from the virtual machine kernel to a VMM is to be performed, the computer system exits the low privilege level, and enters the high privilege level to execute a trampoline that supports context switches to VMMs, such as state changes, and then the VMM. The trampoline is deactivated after execution control is switched to the VMM.
    Type: Application
    Filed: June 23, 2014
    Publication date: December 24, 2015
    Inventors: Harvey TUCH, Andrei WARKENTIN
  • Publication number: 20150370590
    Abstract: In a virtualized computer system operable in more than two hierarchical privilege levels, components of a hypervisor, which include a virtual machine kernel and virtual machine monitors (VMMs), are assigned to different privilege levels. The virtual machine kernel operates at a low privilege level to be able to exploit certain features provided by the low privilege level, and the VMMs operate at a high privilege level to support execution of virtual machines. Upon determining that a context switch from the virtual machine kernel to a VMM is to be performed, the computer system exits the low privilege level, and enters the high privilege level to execute a trampoline that supports context switches to VMMs, such as state changes, and then the VMM. The trampoline is deactivated after execution control is switched to the VMM.
    Type: Application
    Filed: June 23, 2014
    Publication date: December 24, 2015
    Inventors: Harvey TUCH, Andrei WARKENTIN
  • Publication number: 20150370591
    Abstract: In a virtualized computer system operable in more than two hierarchical privilege levels, components of a hypervisor, which include a virtual machine kernel and virtual machine monitors (VMMs), are assigned to different privilege levels. The virtual machine kernel operates at a low privilege level to be able to exploit certain features provided by the low privilege level, and the VMMs operate at a high privilege level to support execution of virtual machines. Upon determining that a context switch from the virtual machine kernel to a VMM is to be performed, the computer system exits the low privilege level, and enters the high privilege level to execute a trampoline that supports context switches to VMMs, such as state changes, and then the VMM. The trampoline is deactivated after execution control is switched to the VMM.
    Type: Application
    Filed: June 23, 2014
    Publication date: December 24, 2015
    Inventors: Harvey TUCH, Andrei WARKENTIN
  • Publication number: 20140325202
    Abstract: Techniques for recovering virtual machine state and boot information used to boot an installed guest operating system on systems where the information has either been lost or is not present are described.
    Type: Application
    Filed: July 7, 2014
    Publication date: October 30, 2014
    Inventors: Andrei Warkentin, Jacob Oshins
  • Patent number: 8775781
    Abstract: Techniques for recovering virtual machine state and boot information used to boot an installed guest operating system on systems where the information has either been lost or is not present are described.
    Type: Grant
    Filed: March 25, 2010
    Date of Patent: July 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Andrei Warkentin, Jacob Oshins
  • Patent number: 8612633
    Abstract: Techniques for reducing virtual machine input/output emulation overhead and decreasing the attack surface of a virtual machine architecture are disclosed.
    Type: Grant
    Filed: March 31, 2010
    Date of Patent: December 17, 2013
    Assignee: Microsoft Corporation
    Inventors: Lawrence R. Cleeton, Andrei Warkentin, Andrew Nicholas, Rene Antonio Vega, Jacob Oshins, John A. Starks
  • Publication number: 20110246171
    Abstract: Techniques for reducing virtual machine input/output emulation overhead and decreasing the attack surface of a virtual machine architecture are disclosed.
    Type: Application
    Filed: March 31, 2010
    Publication date: October 6, 2011
    Applicant: Microsoft Corporation
    Inventors: Lawrence R. Cleeton, Andrei Warkentin, Andrew Nicholas, Rene Antonio Vega, Jacob Oshins, John A. Starks