Patents Assigned to VMware
  • Publication number: 20090282101
    Abstract: According to one aspect of the invention, a request to generate a state checkpoint of a computer is initiated within a user-level software entity, such as a virtual machine. Upon sensing the request, a checkpointing mechanism generates and stores at least one checkpoint, each checkpoint comprising a representation of the total state of the computer system. Upon sensing a state restoration request corresponding to one of the checkpoints, the checkpointing mechanism restores the checkpointed state in the computer, which can then resume operation from the restored total state. According to another aspect of the invention, a total checkpointed state is exported to another computer, where the state can be modified, for example, debugged, and then loaded into either the originally checkpointed computer (which, again, may be a virtual machine), or some other computer.
    Type: Application
    Filed: July 23, 2009
    Publication date: November 12, 2009
    Applicant: VMWARE, INC.
    Inventors: Beng-Hong LIM, Edouard BUGNION, Scott DEVINE
  • Publication number: 20090271787
    Abstract: A method for linking a plurality of virtualized application packages for execution on a computer system is described. A runtime executable of a primary virtualized application package is launched. A secondary virtualized application package to be merged with the primary virtualized application package is identified. In one embodiment, application settings and file data for the first and second virtualized application packages are merged into a single data structure. An execution layer is created by starting execution of one of the application files associated with the primary virtualized application package. Requests from the execution layer to the operating system for configuration settings and contents of application files of either the primary virtualized application package or secondary virtualized application package and providing requested configuration settings are satisfied using configuration settings and file information from both the primary and secondary virtualized application packages.
    Type: Application
    Filed: April 24, 2009
    Publication date: October 29, 2009
    Applicant: VMWARE, INC.
    Inventor: Jonathan CLARK
  • Publication number: 20090271779
    Abstract: A method for updating a local file and format for the local to be updated is described. An update file, which is a newer version of the local file, is accessible from a server over a network. A list of new hash values corresponding to data blocks of the update file is retrieved from the server. An algorithm locates divisions between the data blocks when a value of a rolling checksum reaches a particular value, the blocks being of variable size. New hash values of the update file are compared with local hash values of the local file. For each of the new hash values not having a matching local hash value, the corresponding data block is downloaded the server written to a new file. For each of the new hash values having a matching local hash value, the corresponding block is copied to the new file. The procedure is executed entirely on the client.
    Type: Application
    Filed: April 24, 2009
    Publication date: October 29, 2009
    Applicant: VMWARE, INC.
    Inventor: Jonathan CLARK
  • Publication number: 20090271418
    Abstract: A namespace is provided in a file system that employs logical volumes. With the namespace, the file system can withstand data storage units going offline without compromising accessibility of the files in the data storage units that remain online. The files in the online data storage units remain accessible through the use of path lookup tables that are stored in the online data storage units.
    Type: Application
    Filed: April 28, 2008
    Publication date: October 29, 2009
    Applicant: VMWARE, INC.
    Inventors: Satyam B. VAGHANI, Yuen-Lin TAN
  • Publication number: 20090265706
    Abstract: Systems and methods for migration between computing machines are disclosed. The source and target machines can be either physical or virtual; the source can also be a machine image. The target machine is connected to a snapshot or image of the source machine file system, and a redo-log file is created on the file system associated with the target machine. The target machine begins operation by reading data directly from the snapshot or image of the source machine file system. Thereafter, all writes are made to the redo-log file, and subsequent reads are made from the redo-log file if it contains data for the requested sector or from the snapshot or image if it does not. The source machine continues to be able to run separately and simultaneously after the target machine begins operation.
    Type: Application
    Filed: April 21, 2008
    Publication date: October 22, 2009
    Applicant: VMWARE, INC.
    Inventors: Victor V. Golosovker, Ilya Languev, Sirish Raghuram
  • Publication number: 20090254693
    Abstract: Snapshots that are consistent across a group of data objects are generated. The snapshots are initiated by a coordinator, which transmits a sequence of commands to each storage node hosting a data object within a group of data objects. The first command prepares a data object for a snapshot. After a data object has been successfully prepared, an acknowledgment is sent to the coordinator. Once all appropriate acknowledgments are received, the coordinator sends a command to confirm that a snapshot has been created for each data object in the respective group. After receiving this confirmation, the coordinator takes action to confirm or record the successful completion of the group-consistent snapshot.
    Type: Application
    Filed: April 4, 2008
    Publication date: October 8, 2009
    Applicant: VMWARE, INC.
    Inventors: Christos KARAMANOLIS, Matthew Benjamin AMDUR, Patrick William Penzias DIRKS
  • Publication number: 20090254582
    Abstract: Consistent replicas of a data object are created using a replication protocol that includes an opportunistic replication phase followed by a consistent replication phase. During the opportunistic replication phase, dirty regions are selected from the data object included in a primary computer and copied to a data object replica included in a secondary computer according to a selection heuristic. During the consistent replication phase, an immutable image of the data object is created by the primary computer and the remaining dirty regions are copied from the immutable image of the data object to the data object replica to create a consistent replica of the data object.
    Type: Application
    Filed: April 22, 2008
    Publication date: October 8, 2009
    Applicant: VMware, Inc.
    Inventors: Christos KARAMANOLIS, Matthew Benjamin Amdur, Patrick William Penzias Dirks
  • Publication number: 20090254709
    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: Application
    Filed: June 16, 2009
    Publication date: October 8, 2009
    Applicant: VMWARE, INC.
    Inventor: Ole AGESEN
  • Publication number: 20090249049
    Abstract: A method for precisely counting guest branch instructions in a virtualized computer system is described. In one embodiment, guest instructions execute in a direct execution mode of the virtualized computer system. The direct execution mode operates at a first privilege level having a lower privilege than a second privilege level. A branch count of previously executed first privilege level branch instructions is maintained as instructions execute. Execution of a first privilege level branch instruction caused by a control transfer to the direct execution mode is detected. Responsive to the detection, a guest branch instruction count is determined based on the first privilege level branch count.
    Type: Application
    Filed: March 31, 2008
    Publication date: October 1, 2009
    Applicant: VMWARE, INC.
    Inventors: Boris Weissman, Vyacheslav V. Malyugin, Petr Vandrovec, Ganesh Venkitachalam, Min Xu
  • Publication number: 20090249357
    Abstract: A method of data communication between a first virtual machine and a second virtual machine is disclosed. The second virtual machine is executing in a record/replay mode. The method includes copying data from the first virtual machine to a first queue. The first queue is configured to receive the data from the first virtual machine. The first queue has a first queue header section and a first queue data section. The first queue header being write protected and configured to store a tail pointer of the data in the first queue. The tail pointer is updated in the first header section. This update of the tail pointer causes a page fault. The method further includes handling page fault through a page fault handler. The handling includes copying the data from the first queue to a second queue. The second queue being configured to receive a copy of the data and to allow the second virtual machine to access the copy of the data.
    Type: Application
    Filed: July 2, 2008
    Publication date: October 1, 2009
    Applicant: VMWARE, INC.
    Inventors: Anupam CHANDA, Kevin Scott CHRISTOPHER, Jeremy SUGERMAN, Petr VANDROVEC, Gustav Seth WIBLING
  • Publication number: 20090248611
    Abstract: One embodiment is a computer-implemented method of trace collection for a virtual machine that includes: executing a sequence of instructions from an initial state of the virtual machine; accessing an event log of data relating to nondeterministic events, which data includes an execution point; making at least a portion of the data available to the virtual machine when the sequence reaches the execution point; collecting trace information in response to expansion parameters; and storing the trace information in a trace file.
    Type: Application
    Filed: March 28, 2008
    Publication date: October 1, 2009
    Applicant: VMWARE, INC.
    Inventors: Min Xu, Vyacheslav V. Malyugin, Jeffrey W. Sheldon, Ganesh Venkitachalam, Boris Weissman
  • Publication number: 20090240904
    Abstract: Computer implemented methods, computer program products and computer systems synchronize copies of a virtual disk. A record of blocks that are modified during an access session of a copy of the virtual disk is maintained. For each partition of the virtual disk, a file system level indication of currently relevant blocks is obtained. Only those blocks that were modified during the access session and are currently relevant are copied to at least one additional copy of the virtual disk.
    Type: Application
    Filed: March 20, 2008
    Publication date: September 24, 2009
    Applicant: VMware, Inc.
    Inventors: Maxime AUSTRUY, Jad CHAMCHAM, Christian LEROY, Christian CZEZATKE, Asit DESAI
  • Publication number: 20090237404
    Abstract: A graphical display combines multiple dimensions of information relating to resource allocation and usage by a group of computer systems and sub-systems of the computer systems. The graphical display includes a series of graphics, each indicating resource usage by one of the computer systems. In addition, each graphic has multiple sections. Each section of the graphic indicates resource usage by a sub-system that is within the computer system represented by the graphic. Each section of the graphics may also be color-coded. The color code indicates the amount of resources the associated sub-system is receiving relative to the amount of resources that has been designated for that sub-system.
    Type: Application
    Filed: March 20, 2008
    Publication date: September 24, 2009
    Applicant: VMware, Inc.
    Inventor: Thomas C. Cannon, III
  • Publication number: 20090240793
    Abstract: The present invention is directed to a method and system of memory management that features dual buffer rings, each of which includes descriptors identifying addresses of a memory space, referred to as buffers, in which portions of data packets are stored. Typically, the header segment of each data packet is stored at a first set of a plurality of buffers, and the portion of the payload segment that does not fit among the buffers of the first set is stored in the buffers of a second set. In this manner, the size of the individual buffers associated with the first buffer rings may be kept to the smallest size of useable storage space, and the buffers corresponding to the second buffer ring may be arbitrary in size.
    Type: Application
    Filed: March 18, 2008
    Publication date: September 24, 2009
    Applicant: VMWARE, INC.
    Inventors: Ronghua Zhang, Pankaj Thakkar
  • Patent number: 7590982
    Abstract: Dispatching of interrupts to a processor is conditionally suppressed, that is, only if an old priority value and a new priority value are either both less than or both greater than a maximum pending priority value. This conditional avoidance of dispatching is preferably implemented by a virtual priority module within a binary translator in a virtualized computer system and relates to interrupts directed to a virtualized processor by a virtualized local APIC.
    Type: Grant
    Filed: April 26, 2004
    Date of Patent: September 15, 2009
    Assignee: VMware, Inc.
    Inventor: Boris Weissman
  • Publication number: 20090222558
    Abstract: A method for protecting a virtual computer system which may be susceptible to adverse effects from a Denial of Service attack is described. The virtual computer system includes a plurality of VMs. In the method, data that is transferred between the virtual computer system and the computer network is monitored for an indication of a possible Denial of Service attack. If an indication of a possible Denial of Service attack is detected, one or more of the VMs is suspended, to reduce the risk of adverse effects on one or more other VMs.
    Type: Application
    Filed: May 18, 2009
    Publication date: September 3, 2009
    Applicant: VMware, Inc.
    Inventors: Hao XU, Daniel J. SCALES
  • Publication number: 20090216975
    Abstract: A server-based desktop-virtual machines architecture may be extended to a client machine. In one embodiment, a user desktop is remotely accessed from a client system. The remote desktop is generated by a first virtual machine running on a server system, which may comprise one or more server computers. During execution of the first virtual machine, writes to a corresponding virtual disk are directed to a delta disk file or redo log. A copy of the virtual disk is created on the client system. When a user decides to “check out” his or her desktop, the first virtual machine is terminated (if it is running) and a copy of the delta disk is created on the client system. Once the delta disk is present on the client system, a second virtual machine can be started on the client system using the virtual disk and delta disk to provide local access to the user's desktop at the client system. This allows the user to then access his or her desktop without being connected to a network.
    Type: Application
    Filed: February 23, 2009
    Publication date: August 27, 2009
    Applicant: VMware, Inc.
    Inventors: Yaron HALPERIN, Jad CHAMCHAM, Christian M. LEROY, Gerald I. L. CHEONG, Matthew ECCLESTON, Ji FENG
  • Patent number: 7581064
    Abstract: In a method of utilizing cache metadata to optimize memory access, cache metadata associated with a set of cache locations is inspected by software. The cache metadata is analyzed to determine memory utilization. Memory access is optimized based on results of the analysis of the cache metadata.
    Type: Grant
    Filed: April 24, 2006
    Date of Patent: August 25, 2009
    Assignee: VMware, Inc.
    Inventors: John Zedlewski, Carl Waldspurger
  • Patent number: 7577722
    Abstract: A provisioning server automatically configures a virtual machine (VM) according to user specifications and then deploys the VM on a physical host. The user may either choose from a list of pre-configured, ready-to-deploy VMs, or he may select which hardware, operating system and application(s) he would like the VM to have. The provisioning server then configures the VM accordingly, if the desired configuration is available, or it applies heuristics to configure a VM that best matches the user's request if it isn't. The invention also includes mechanisms for monitoring the status of VMs and hosts, for migrating VMs between hosts, and for creating a network of VMs.
    Type: Grant
    Filed: April 5, 2002
    Date of Patent: August 18, 2009
    Assignee: VMware, Inc.
    Inventors: Dilip Khandekar, Dragutin Petkovic, Pratap Subrahmanyam, Bich Cau Le
  • Publication number: 20090187750
    Abstract: A source computer system with one instruction set architecture (ISA) is configured to run on a target hardware system that has its own ISA, which may be the same as the source ISA. In cases where the source instructions cannot be executed directly on the target system, the invention provides binary translation system. During execution from binary translation, however, both synchronous and asynchronous exceptions may arise. Synchronous exceptions may be either transparent (requiring processing action wholly within the target computer system) or non-transparent (requiring processing that alters a visible state of the source system). Asynchronous exceptions may also be either transparent or non-transparent, in which case an action that alters a visible state of the computer system needs to be applied.
    Type: Application
    Filed: March 5, 2009
    Publication date: July 23, 2009
    Applicant: VMWARE, INC.
    Inventor: Edouard BUGNION