Patents Assigned to VMware
-
Publication number: 20090187713Abstract: 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: ApplicationFiled: August 27, 2008Publication date: July 23, 2009Applicant: VMware, Inc.Inventors: John ZEDLEWSKI, Carl WALDSPURGER
-
Publication number: 20090182976Abstract: 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: ApplicationFiled: January 15, 2008Publication date: July 16, 2009Applicant: VMware, Inc.Inventor: Ole Agesen
-
Publication number: 20090183180Abstract: 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: ApplicationFiled: February 26, 2009Publication date: July 16, 2009Applicant: VMWARE, INC.Inventor: Michael Nelson
-
Patent number: 7555747Abstract: 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: GrantFiled: September 26, 2007Date of Patent: June 30, 2009Assignee: VMware, Inc.Inventor: Ole Agesen
-
Publication number: 20090144510Abstract: 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: ApplicationFiled: November 17, 2008Publication date: June 4, 2009Applicant: VMWARE, INC.Inventors: Gustav Seth WIBLING, Jagannath Gopal KRISHNAN
-
Publication number: 20090119087Abstract: 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: ApplicationFiled: July 24, 2008Publication date: May 7, 2009Applicant: VMWARE, INC.Inventors: Boon Seong ANG, Mallik MAHALINGAM, Ronghua ZHANG, Andrew LAMBETH
-
Publication number: 20090119665Abstract: 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: ApplicationFiled: November 6, 2008Publication date: May 7, 2009Applicant: VMWARE, INC.Inventors: Ganesh Venkitachalam, Michael Nelson, Daniel J. Scales
-
Publication number: 20090119493Abstract: 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: ApplicationFiled: March 27, 2008Publication date: May 7, 2009Applicant: VMWARE, INC.Inventors: Ganesh Venkitachalam, Michael Nelson, Boris Weissman, Min Xu, Vyacheslav V. Malyugin
-
Publication number: 20090119538Abstract: 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: ApplicationFiled: September 9, 2008Publication date: May 7, 2009Applicant: VMWARE, INC.Inventors: Daniel J. SCALES, Michael NELSON, Andrew TUCKER, Eric LOWE
-
Publication number: 20090119684Abstract: 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: ApplicationFiled: November 4, 2008Publication date: May 7, 2009Applicant: VMware, Inc.Inventors: Mallik MAHALINGAM, Boon Seong ANG, Pankaj THAKKAR
-
Publication number: 20090119685Abstract: 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: ApplicationFiled: November 5, 2008Publication date: May 7, 2009Applicant: VMWARE, INC.Inventors: Thomas A. PHELAN, Olivier LECOMTE
-
Patent number: 7529897Abstract: 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: GrantFiled: December 31, 2003Date of Patent: May 5, 2009Assignee: VMware, Inc.Inventors: Carl A. Waldspurger, Michael Nelson, Daniel J. Scales, Pratap Subrahmanyam
-
Publication number: 20090113109Abstract: 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: ApplicationFiled: October 24, 2008Publication date: April 30, 2009Applicant: VMWARE, INC.Inventors: Michael NELSON, Daniel J. SCALES, Andrew TUCKER
-
Publication number: 20090113111Abstract: 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: ApplicationFiled: October 30, 2008Publication date: April 30, 2009Applicant: VMWARE, INC.Inventors: Xiaoxin Chen, Carl A. Waldspurger, Pratap Subrahmanyam
-
Publication number: 20090113110Abstract: 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: ApplicationFiled: October 30, 2008Publication date: April 30, 2009Applicant: VMWARE, INC.Inventors: Xiaoxin Chen, Carl A. Waldspurger, Pratap Subrahmanyam
-
Publication number: 20090113424Abstract: 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: ApplicationFiled: October 30, 2008Publication date: April 30, 2009Applicant: VMWARE, INC.Inventors: Xiaoxin CHEN, Carl A. WALDSPURGER, Pratap SUBRAHMANYAM, Tal GARFINKEL, Daniel R. K. PORTS
-
Publication number: 20090113423Abstract: 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: ApplicationFiled: July 3, 2008Publication date: April 30, 2009Applicant: VMWARE, INC.Inventors: Daniel Hiltgen, Rene W. Schmidt
-
Publication number: 20090113216Abstract: 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: ApplicationFiled: October 30, 2008Publication date: April 30, 2009Applicant: VMware, Inc.Inventors: Xiaoxin CHEN, Carl A. WALDSPURGER, Pratap SUBRAHMANYAM, Tal GARFINKEL, Dan BONEH
-
Publication number: 20090113425Abstract: 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: ApplicationFiled: October 30, 2008Publication date: April 30, 2009Applicant: VMWARE, INC.Inventors: Daniel R. K. PORTS, Xiaoxin CHEN, Carl A. WALDSPURGER, Pratap SUBRAHMANYAM, Tal GARFINKEL
-
Publication number: 20090106248Abstract: 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: ApplicationFiled: November 26, 2008Publication date: April 23, 2009Applicant: VMWARE, INC.Inventors: Satyam B. VAGHANI, Yuen-Lin TAN