Patents by Inventor Xiaoxin Chen

Xiaoxin Chen 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).

  • Patent number: 8745308
    Abstract: In a computer system supporting execution of virtualization software and at least one instance of virtual system hardware, an interface is provided into the virtualization software to allow a program to directly define the access characteristics of its program data stored in physical memory. The technique includes providing data identifying memory pages and their access characteristics to the virtualization software which then derives the memory access characteristics from the specified data. Optionally, the program may also specify a pre-defined function to be performed upon the occurrence of a fault associated with access to an identified memory page. In this manner, programs operating both internal and external to the virtualization software can protect his memory pages, without intermediation by the operating system software.
    Type: Grant
    Filed: December 4, 2012
    Date of Patent: June 3, 2014
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Pratap Subrahmanyam
  • Publication number: 20140068614
    Abstract: A virtual-machine-based system that identifies an application or process in a virtual machine in order to locate resources associated with the identified application. Access to the located resources is then controlled based on a context of the identified application. Those applications without the necessary context will have a different view of the resource.
    Type: Application
    Filed: November 4, 2013
    Publication date: March 6, 2014
    Applicant: VMware, Inc.
    Inventors: Xiaoxin CHEN, Carl A. WALDSPURGER, Pratap SUBRAHMANYAM
  • Patent number: 8607013
    Abstract: A virtual-machine-based system provides a mechanism for a virtual machine monitor (VMM) to process a hypercall received from an application running in the virtual machine (VM). A hypercall interface causes the virtual memory pages, needed by the VMM to process the hypercall, to be available to the VMM. In one embodiment, when virtual memory pages needed by the VMM to process the hypercall are not available to the VMM, the application is caused to access the needed pages, in response to which the required virtual memory becomes available to the VMM.
    Type: Grant
    Filed: October 30, 2008
    Date of Patent: December 10, 2013
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Carl A. Waldspurger, Pratap Subrahmanyam
  • Patent number: 8555081
    Abstract: A virtual-machine-based system that may protect the privacy and integrity of application data, even in the event of a total operating system compromise. An application is presented with a normal view of its resources, but the operating system is presented with an encrypted view. This allows the operating system to carry out the complex task of managing an application's resources, without allowing it to read or modify them. Different views of “physical” memory are presented, depending on a context performing the access. An additional dimension of protection beyond the hierarchical protection domains implemented by traditional operating systems and processors is provided.
    Type: Grant
    Filed: October 30, 2008
    Date of Patent: October 8, 2013
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Carl A. Waldspurger, Pratap Subrahmanyam, Tal Garfinkel, Dan Boneh
  • Patent number: 8544010
    Abstract: A computer system having a plurality of processor cores utilizes a device driver running in a driver virtual machine to handle I/O with the corresponding device for other virtual machines. A hypervisor in the computer system receives an interrupt from the corresponding device and identifies a virtual machine that best correlates to the received interrupt prior to forwarding the interrupt for handling by the driver virtual machine. The hypervisor then speculatively transmits a notification to the identified virtual machine to wake up and poll a memory shared between the identified virtual machine and the driver virtual machine. Once the driver virtual machine completes handling of the forwarded interrupt, it copies data made available by the corresponding device to the shared memory for access by the polling identified virtual machine.
    Type: Grant
    Filed: September 18, 2009
    Date of Patent: September 24, 2013
    Assignee: VMware, Inc.
    Inventors: Wei Huang, Xiaoxin Chen, Michal Ostrowski, Qicheng Christopher Li
  • Patent number: 8543790
    Abstract: A resource scheduler for managing a distribution of host physical memory (HPM) among a plurality of virtual machines (VMs) monitors usage by each of the VMs of respective guest physical memories (GPM) to determine how much of the HPM should be allocated to each of the VMs. On determining that an amount of HPM allocated to a source VM should be reallocated to a target VM, the scheduler sends allocation parameters to a balloon application executing in the source VM causing it to reserve and write a value to a guest virtual memory (GVM) location in the source VM. The scheduler identifies the HPM location that corresponds to the reserved GVM and allocates it to the target VM by mapping a guest physical memory location of the target VM to the HPM location.
    Type: Grant
    Filed: January 17, 2013
    Date of Patent: September 24, 2013
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Carl A. Waldspruger, Anil Rao
  • Patent number: 8521504
    Abstract: The invention relates to managing registers during a binary translation mode in a virtual computing system. A set of registers is saved to memory before beginning to execute a series of blocks of translated code, and the contents of the set of registers are restored from memory later. A status register is maintained for tracking the status of each register within the set, the status indicating whether the contents are valid and whether the contents are saved in memory. Before the execution of each block, a determination is made as to whether the actions taken within the block relative to the registers are compatible with the current status of the registers. If the actions are not compatible, additional registers are saved to memory or restored from memory, so that the translation block can be executed.
    Type: Grant
    Filed: August 20, 2007
    Date of Patent: August 27, 2013
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Sahil Rihan
  • Patent number: 8402441
    Abstract: A method is provided for monitoring registered code in a virtual machine of a virtualization system. The method includes instantiating a guest in the virtual machine of the virtualization system and monitoring execution of code registered for monitored execution in an execution context of the guest. The monitoring is performed by the virtualization system and is hidden from computations of the guest.
    Type: Grant
    Filed: August 8, 2008
    Date of Patent: March 19, 2013
    Assignee: VMware, Inc.
    Inventors: Dmitriy Budko, Xiaoxin Chen, Oded Horovitz, Pratap Subrahmanyam, Carl Waldspurger
  • Patent number: 8359451
    Abstract: Methods and systems for managing distribution of host physical memory (HPM) among virtual machines (VMs) executing on a host via a hypervisor are presented, where each VM has guest system software including an operating system. A method includes an operation for reserving, by a balloon application executing in a first VM, a guest virtual memory (GVM) location in the first VM. The GVM location is mapped to a guest physical memory (GPM) location, which is mapped to a host physical memory (HPM) location. The balloon application is responsive to the hypervisor for reserving memory. Further, the method includes operations for writing a value to the reserved GVM location and for remapping a plurality of GPM locations containing the value to a single HPM location. The remapping is performed by a content-based page sharing component of the hypervisor.
    Type: Grant
    Filed: March 23, 2010
    Date of Patent: January 22, 2013
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Carl A. Waldspurger, Anil Rao
  • Patent number: 8327059
    Abstract: In a computer system supporting execution of virtualization software and at least one instance of virtual system hardware, an interface is provided into the virtualization software to allow a program to directly define the access characteristics of its program data stored in physical memory. The technique includes providing data identifying memory pages and their access characteristics to the virtualization software which then derives the memory access characteristics from the specified data. Optionally, the program may also specify a pre-defined function to be performed upon the occurrence of a fault associated with access to an identified memory page. In this manner, programs operating both internal and external to the virtualization software can protect his memory pages, without intermediation by the operating system software.
    Type: Grant
    Filed: September 30, 2009
    Date of Patent: December 4, 2012
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Pratap Subrahmanyam
  • Patent number: 8271450
    Abstract: A method for monitoring a data structure maintained by guest software within a virtual machine is disclosed. Changes to the contents of the data structure are determined, such as by placing write traces on the memory pages containing the data structure. Also, the method involves determining when memory pages containing the data structure are swapped into and/or out of guest physical memory by the guest software, such as by placing write traces on the memory pages containing the guest page table and detecting changes to the present bit of page table entries involved in mapping virtual addresses for the data structure. Information about the contents of the data structure is retained while memory pages containing the data structure are swapped out of guest physical memory.
    Type: Grant
    Filed: October 1, 2009
    Date of Patent: September 18, 2012
    Assignee: VMware, Inc.
    Inventors: Oded Horovitz, Ophir Rachman, Wei Xu, Adrian Drzewiecki, Xiaoxin Chen
  • Patent number: 8266628
    Abstract: The computer program includes a virtualization software that is executable on the new processor in the legacy mode. The new processor includes a legacy instruction set for a legacy operating mode and a new instruction set for a new operation mode. The switching includes switching from the new instruction set to the legacy instruction set and switching paging tables. Each of the new operating mode and the legacy operating mode has separate paging tables. The switch routine is incorporated in a switch page that is locked in physical memory. The switch page has a first section to store a part of switching instructions conforming to the new instruction set and a second section to store another part of the switching instructions conforming to the legacy instruction set.
    Type: Grant
    Filed: December 19, 2008
    Date of Patent: September 11, 2012
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Alberto J. Munoz, Sahil Rihan, Robert D. Manchester
  • Patent number: 8261265
    Abstract: A virtual-machine-based system provides a control-transfer mechanism to invoke a user-mode application handler from existing virtual hardware directly, without going through an operating system kernel running in the virtual machine. A virtual machine monitor calls directly to the guest user-mode handler and the handler transfers control back to the virtual machine monitor, without involving the guest operating system.
    Type: Grant
    Filed: October 30, 2008
    Date of Patent: September 4, 2012
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Carl A. Waldspurger, Pratap Subrahmanyam, Tal Garfinkel, Daniel R. K. Ports
  • Patent number: 8250519
    Abstract: A method is provided for executing guest computations in a virtual machine of a virtualization system and forcing execution of registered code into an execution context of the guest. The forcing is performed from the virtualization system based on an execution trigger monitored without reliance on functionality of the guest software.
    Type: Grant
    Filed: August 8, 2008
    Date of Patent: August 21, 2012
    Assignee: VMware, Inc.
    Inventors: Dmitriy Budko, Xiaoxin Chen, Oded Horovitz, Pratap Subrahmanyam, Carl Waldspurger
  • Patent number: 8225071
    Abstract: A virtual memory system implementing the invention provides concurrent access to translations for virtual addresses from multiple address spaces. One embodiment of the invention is implemented in a virtual computer system, in which a virtual machine monitor supports a virtual machine. In this embodiment, the invention provides concurrent access to translations for virtual addresses from the respective address spaces of both the virtual machine monitor and the virtual machine. Multiple page tables contain the translations for the multiple address spaces. Information about an operating state of the computer system, as well as an address space identifier, are used to determine whether, and under what circumstances, an attempted memory access is permissible. If the attempted memory access is permissible, the address space identifier is also used to determine which of the multiple page tables contains the translation for the attempted memory access.
    Type: Grant
    Filed: February 8, 2011
    Date of Patent: July 17, 2012
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Alberto J. Munoz
  • Publication number: 20120110577
    Abstract: A method of managing host physical memory using a balloon application executing within a guest virtual machine (GVM) running on a host platform is described. The balloon application receives allocation parameters from an entity outside the GVM, the allocation parameters identifying an amount of memory for the balloon application to allocate. The balloon application adjusts the allocated amount of memory according to the allocated amount. Physical memory backing up the allocated memory can then be assigned by virtualization software for use by another virtual machine running on the host platform.
    Type: Application
    Filed: January 9, 2012
    Publication date: May 3, 2012
    Applicant: VMWARE, INC.
    Inventors: Xiaoxin CHEN, Carl A. WALDSPURGER, Anil RAO
  • Patent number: 8166253
    Abstract: A memory management sub-system includes code executable by a processor fir performing selecting a plurality of contexts, and selecting a sample of the separately allocable portions of an address space for each of the contexts. For each of the selected allocable portions, a corresponding portion of the host memory to which the selected allocable portion is mapped is determined, and a count corresponding to a number of separately allocable portions of any context that are commonly mapped to the corresponding portion of the host memory. For each context, a metric is computed that is a function of the counts for that context. Host memory is allocated among the contexts at least in part based on their respective metrics.
    Type: Grant
    Filed: August 12, 2011
    Date of Patent: April 24, 2012
    Assignee: VMware, Inc.
    Inventors: Anil Rao, Carl A. Waldspurger, Xiaoxin Chen
  • Patent number: 8099568
    Abstract: A swap space is provided for a host computer system, where the swap space includes a plurality of swap files with each individual swap file for swapping data only for a single corresponding virtual machine (VM). The per-VM swap space is used solely by the single, corresponding VM, such that only that particular VM's memory is allowed to be swapped out to the swap file.
    Type: Grant
    Filed: October 8, 2009
    Date of Patent: January 17, 2012
    Assignee: VMware, Inc.
    Inventors: Osten Kit Colbert, Carl A. Waldspurger, Xiaoxin Chen, Anil Rao
  • Patent number: 8095931
    Abstract: Memory assigned to a virtual machine is reclaimed. A resource reservation application running as a guest application on the virtual machine reserves a location in guest virtual memory. The corresponding physical memory can be reclaimed and allocated to another virtual machine. The resource reservation application allows detection of guest virtual memory page-out by the guest operating system. Measuring guest virtual memory page-out is useful for determining memory conditions inside the guest operating system. Given determined memory conditions, memory allocation and reclaiming can be used control memory conditions. Memory conditions in the virtual machine can be controlled with the objective of achieving some target memory conditions.
    Type: Grant
    Filed: September 21, 2006
    Date of Patent: January 10, 2012
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Carl Waldspurger, Anil Rao
  • Publication number: 20110302389
    Abstract: A memory management sub-system includes code executable by a processor fir performing selecting a plurality of contexts, and selecting a sample of the separately allocable portions of an address space for each of the contexts. For each of the selected allocable portions, a corresponding portion of the host memory to which the selected allocable portion is mapped is determined, and a count corresponding to a number of separately allocable portions of any context that are commonly mapped to the corresponding portion of the host memory. For each context, a metric is computed that is a function of the counts for that context. Host memory is allocated among the contexts at least in part based on their respective metrics.
    Type: Application
    Filed: August 12, 2011
    Publication date: December 8, 2011
    Applicant: VMWARE, INC.
    Inventors: Anil RAO, Carl A. WALDSPURGER, Xiaoxin CHEN