Patents Assigned to VMware
  • Publication number: 20090187713
    Abstract: A method and system of managing data access in a shared memory cache of a processor are disclosed. The method includes probing one or more memory addresses that map to a subset of the shared memory cache and sensing a plurality of events in the one or more memory addresses. Cache utilization information is then obtained by reading a hardware performance counter of the processor. The hardware performance counter is incremented based on the occurrence of the plurality of events. Based upon the cache utilization information, an occurrence of one of the plurality of events is reduced.
    Type: Application
    Filed: August 27, 2008
    Publication date: July 23, 2009
    Applicant: VMware, Inc.
    Inventors: John ZEDLEWSKI, Carl WALDSPURGER
  • Publication number: 20090182976
    Abstract: A computer system that is programmed with virtual memory accesses to physical memory employs multi-bit counters associated with its page table entries. When a page walker visits a page table entry, the multi-bit counter associated with that page table entry is incremented by one. The computer operating system uses the counts in the multi-bit counters of different page table entries to determine where large pages can be deployed effectively. In a virtualized computer system having a nested paging system, multi-bit counters associated with both its primary page table entries and its nested page table entries are used. These multi-bit counters are incremented during nested page walks. Subsequently, the guest operating systems and the virtual machine monitors use the counts in the appropriate multi-bit counters to determine where large pages can be deployed effectively.
    Type: Application
    Filed: January 15, 2008
    Publication date: July 16, 2009
    Applicant: VMware, Inc.
    Inventor: Ole Agesen
  • Publication number: 20090183180
    Abstract: A virtual machine (VM) runs on system hardware, which includes a physical network interface device that enables transfer of packets between the VM and a destination over a network. A virtual machine monitor (VMM) exports a hardware interface to the VM and runs on a kernel, which forms a system software layer between the VMM and the system hardware. Pending packets (both transmit and receive) issued by the VM are stored in a memory region that is shared by, that is, addressable by, the VM, the VMM, and the kernel. Rather than always transferring each packet as it is issued, packets are clustered in the shared memory region until a trigger event occurs, whereupon the cluster of packets is passed as a group to the physical network interface device. Optional mechanisms are included to prevent packets from waiting too long in the shared memory space before being transferred to the network.
    Type: Application
    Filed: February 26, 2009
    Publication date: July 16, 2009
    Applicant: VMWARE, INC.
    Inventor: Michael Nelson
  • Patent number: 7555747
    Abstract: A sequence of input language (IL) instructions of a guest system is converted, for example by binary translation, into a corresponding sequence of output language (OL) instructions of a host system, which executes the OL instructions. In order to determine the return address after any IL call to a subroutine at a target entry address P, the corresponding OL return address is stored in an array at a location determined by an index calculated as a function of P. After completion of execution of the OL translation of the IL subroutine, execution is transferred to the address stored in the array at the location where the OL return address was previously stored. A confirm instruction block is included in each OL call site to determine whether the transfer was to the correct or incorrect call site, and a back-up routine is included to handle the cases of incorrect call sites.
    Type: Grant
    Filed: September 26, 2007
    Date of Patent: June 30, 2009
    Assignee: VMware, Inc.
    Inventor: Ole Agesen
  • Publication number: 20090144510
    Abstract: A method for enabling inter-process communication between a first application and a second application, the first application running within a first context and the second application running within a second context of a virtualization system is described. The method includes receiving a request to attach a shared region of memory to a memory allocation, identifying a list of one or more physical memory pages defining the shared region that corresponds to the handle, and mapping guest memory pages corresponding to the allocation to the physical memory pages. The request is received by a framework from the second application and includes a handle that uniquely identifies the shared region of memory as well as an identification of at least one guest memory page corresponding to the memory allocation. The framework is a component of a virtualization software, which executes in a context distinct from the context of the first application.
    Type: Application
    Filed: November 17, 2008
    Publication date: June 4, 2009
    Applicant: VMWARE, INC.
    Inventors: Gustav Seth WIBLING, Jagannath Gopal KRISHNAN
  • Publication number: 20090119087
    Abstract: A virtual device emulated in software and included in a virtual machine is provided in a virtualized computer system. The virtual device includes an emulation mode and a pass through mode. The emulation mode is used for a first plurality of device operations. The pass through mode is used for a second plurality of device operations. The virtual device is configured to communicate with a physical device and each of the second plurality of device operations are configured to be handled by the physical device. The virtual device also includes a switching logic to switch between the emulation mode and the pass through mode based on a device operation to be performed by the virtual machine of the virtual device.
    Type: Application
    Filed: July 24, 2008
    Publication date: May 7, 2009
    Applicant: VMWARE, INC.
    Inventors: Boon Seong ANG, Mallik MAHALINGAM, Ronghua ZHANG, Andrew LAMBETH
  • Publication number: 20090119665
    Abstract: A backup VM is allowed to enter live execution mode at instruction boundaries but not in the middle of emulation of a single instruction. This is accomplished by having the last log entry of multiple entries generated during emulation of an instruction to have an indication of a “go-live” point and by having the backup VM not replay log entries provided by the primary VM beyond the log entry that indicates the “go-live” point.
    Type: Application
    Filed: November 6, 2008
    Publication date: May 7, 2009
    Applicant: VMWARE, INC.
    Inventors: Ganesh Venkitachalam, Michael Nelson, Daniel J. Scales
  • Publication number: 20090119493
    Abstract: A method and computer program product for logging non-deterministic events of a virtual machine executing a sequence guest instructions, the method including tracking an execution point in the sequence of executing guest instructions, the tracking of the execution point including determining a branch count of executed branch instructions; and detecting an occurrence of a non-deterministic event directed to the virtual machine during execution of the sequence of guest instructions, and recording information which includes an identifier of a current execution point, wherein the identifier includes the branch count.
    Type: Application
    Filed: March 27, 2008
    Publication date: May 7, 2009
    Applicant: VMWARE, INC.
    Inventors: Ganesh Venkitachalam, Michael Nelson, Boris Weissman, Min Xu, Vyacheslav V. Malyugin
  • Publication number: 20090119538
    Abstract: A fault-tolerant virtualized computer system comprises a primary host executing a primary virtual machine (VM) and a backup host executing a backup VM. In one embodiment, each VM includes a virtual disk mapped to a shared disk image on physical disk accessible to both hosts. A virtual disk IO request is received by virtualization software executing on the backup host from a backup VM. When the virtual disk IO request is a read request, the virtual disk IO request is mapped to a physical read IO request of a virtual disk image stored on a physical disk, the physical read IO request is issued to the physical disk. However, when the virtual disk IO request is a write request, it is assumed to be completed without mapping the virtual disk IO request or issuing a mapped physical IO request to the physical disk.
    Type: Application
    Filed: September 9, 2008
    Publication date: May 7, 2009
    Applicant: VMWARE, INC.
    Inventors: Daniel J. SCALES, Michael NELSON, Andrew TUCKER, Eric LOWE
  • Publication number: 20090119684
    Abstract: According to one or more embodiments a logical virtual device may provide the desired functionality using either a virtual device or a physical device connected to a virtual machine. When the physical device is available, a guest operating system executing on a virtual machine (VM) can be instructed to utilize the physical device. When the VM is migrated between hosts of different underlying hardware, or when the physical device becomes unavailable, e.g., through dynamic reconfiguration or reallocation of physical resources, the guest operating system can be instructed to utilize the virtual device instead.
    Type: Application
    Filed: November 4, 2008
    Publication date: May 7, 2009
    Applicant: VMware, Inc.
    Inventors: Mallik MAHALINGAM, Boon Seong ANG, Pankaj THAKKAR
  • Publication number: 20090119685
    Abstract: One embodiment of the present invention is a method for enabling a computer system to run multiple multipathing software modules which includes: (a) scanning for physical devices; (b) scanning for paths to each of the physical devices; (c) presenting the paths to one or more multipathing software modules of a plurality of multipathing software modules operating within the computer system; (d) the multipathing software modules claiming or rejecting one or more of the one or more paths; and (e) creating and exposing one or more logical devices, wherein each logical device is associated with a multipathing software module.
    Type: Application
    Filed: November 5, 2008
    Publication date: May 7, 2009
    Applicant: VMWARE, INC.
    Inventors: Thomas A. PHELAN, Olivier LECOMTE
  • Patent number: 7529897
    Abstract: To generate a checkpoint for a virtual machine (VM), first, while the VM is still running, a copy-on-write (COW) disk file is created pointing to a parent disk file that the VM is using. Next, the VM is stopped, the VM's memory is marked COW, the device state of the VM is saved to memory, the VM is switched to use the COW disk file, and the VM begins running again for substantially the remainder of the checkpoint generation. Next, the device state that was stored in memory and the unmodified VM memory pages are saved to a checkpoint file. Also, a copy may be made of the parent disk file for retention as part of the checkpoint, or the original parent disk file may be retained as part of the checkpoint. If a copy of the parent disk file was made, then the COW disk file may be committed to the original parent disk file.
    Type: Grant
    Filed: December 31, 2003
    Date of Patent: May 5, 2009
    Assignee: VMware, Inc.
    Inventors: Carl A. Waldspurger, Michael Nelson, Daniel J. Scales, Pratap Subrahmanyam
  • Publication number: 20090113109
    Abstract: Techniques for creating a fault tolerant system in a virtual machine environment utilize a primary VM and a backup VM. To initialize the fault tolerant system, the backup VM and primary VM start from the same state. To achieve this in one embodiment, the primary VM is suspended and the state of the primary VM is copied to the backup VM. Once the backup VM has received all the primary VM's state, the primary VM is resumed. Subsequent state changes of the primary VM are buffered until the backup VM resumes, connects to the primary VM, and starts consuming the buffered content. Thereafter, synchronization is maintained by the primary VM's writing relevant state changes to a log and the backup VM's reading such relevant state changes from the log.
    Type: Application
    Filed: October 24, 2008
    Publication date: April 30, 2009
    Applicant: VMWARE, INC.
    Inventors: Michael NELSON, Daniel J. SCALES, Andrew TUCKER
  • Publication number: 20090113111
    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: October 30, 2008
    Publication date: April 30, 2009
    Applicant: VMWARE, INC.
    Inventors: Xiaoxin Chen, Carl A. Waldspurger, Pratap Subrahmanyam
  • Publication number: 20090113110
    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: Application
    Filed: October 30, 2008
    Publication date: April 30, 2009
    Applicant: VMWARE, INC.
    Inventors: Xiaoxin Chen, Carl A. Waldspurger, Pratap Subrahmanyam
  • Publication number: 20090113424
    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: Application
    Filed: October 30, 2008
    Publication date: April 30, 2009
    Applicant: VMWARE, INC.
    Inventors: Xiaoxin CHEN, Carl A. WALDSPURGER, Pratap SUBRAHMANYAM, Tal GARFINKEL, Daniel R. K. PORTS
  • Publication number: 20090113423
    Abstract: Embodiments of the present invention include methods, systems, apparati, computer program products and other tangible realizations of techniques to support interchange of role for guest and host operating system instances executed (or executable) within a virtualization system.
    Type: Application
    Filed: July 3, 2008
    Publication date: April 30, 2009
    Applicant: VMWARE, INC.
    Inventors: Daniel Hiltgen, Rene W. Schmidt
  • Publication number: 20090113216
    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: Application
    Filed: October 30, 2008
    Publication date: April 30, 2009
    Applicant: VMware, Inc.
    Inventors: Xiaoxin CHEN, Carl A. WALDSPURGER, Pratap SUBRAHMANYAM, Tal GARFINKEL, Dan BONEH
  • Publication number: 20090113425
    Abstract: A virtual-machine-based system provides a mechanism to implement application file I/O operations of protected data by implementing the I/O operations semantics in a shim layer with memory-mapped regions. The semantics of these I/O operations are emulated in a shim layer with memory-mapped regions by using a mapping between a process' address space and a file or shared memory object. Data that is protected from viewing by a guest OS running in a virtual machine may nonetheless be accessed by the process.
    Type: Application
    Filed: October 30, 2008
    Publication date: April 30, 2009
    Applicant: VMWARE, INC.
    Inventors: Daniel R. K. PORTS, Xiaoxin CHEN, Carl A. WALDSPURGER, Pratap SUBRAHMANYAM, Tal GARFINKEL
  • Publication number: 20090106248
    Abstract: In a file system shared by multiple servers, reservation of a data storage unit such as a LUN of a disk array to acquire locks in order to commit a transaction acting on data stored in the data storage unit is deferred until the transaction is completed in RAM and the locks can be acquired in parallel during a single instance of reserving the data storage unit.
    Type: Application
    Filed: November 26, 2008
    Publication date: April 23, 2009
    Applicant: VMWARE, INC.
    Inventors: Satyam B. VAGHANI, Yuen-Lin TAN