Patents Assigned to VMware
-
Publication number: 20090282101Abstract: 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: ApplicationFiled: July 23, 2009Publication date: November 12, 2009Applicant: VMWARE, INC.Inventors: Beng-Hong LIM, Edouard BUGNION, Scott DEVINE
-
Publication number: 20090271787Abstract: 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: ApplicationFiled: April 24, 2009Publication date: October 29, 2009Applicant: VMWARE, INC.Inventor: Jonathan CLARK
-
Publication number: 20090271779Abstract: 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: ApplicationFiled: April 24, 2009Publication date: October 29, 2009Applicant: VMWARE, INC.Inventor: Jonathan CLARK
-
Publication number: 20090271418Abstract: 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: ApplicationFiled: April 28, 2008Publication date: October 29, 2009Applicant: VMWARE, INC.Inventors: Satyam B. VAGHANI, Yuen-Lin TAN
-
Publication number: 20090265706Abstract: 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: ApplicationFiled: April 21, 2008Publication date: October 22, 2009Applicant: VMWARE, INC.Inventors: Victor V. Golosovker, Ilya Languev, Sirish Raghuram
-
Publication number: 20090254693Abstract: 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: ApplicationFiled: April 4, 2008Publication date: October 8, 2009Applicant: VMWARE, INC.Inventors: Christos KARAMANOLIS, Matthew Benjamin AMDUR, Patrick William Penzias DIRKS
-
Publication number: 20090254582Abstract: 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: ApplicationFiled: April 22, 2008Publication date: October 8, 2009Applicant: VMware, Inc.Inventors: Christos KARAMANOLIS, Matthew Benjamin Amdur, Patrick William Penzias Dirks
-
Publication number: 20090254709Abstract: 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: ApplicationFiled: June 16, 2009Publication date: October 8, 2009Applicant: VMWARE, INC.Inventor: Ole AGESEN
-
Publication number: 20090249049Abstract: 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: ApplicationFiled: March 31, 2008Publication date: October 1, 2009Applicant: VMWARE, INC.Inventors: Boris Weissman, Vyacheslav V. Malyugin, Petr Vandrovec, Ganesh Venkitachalam, Min Xu
-
Publication number: 20090249357Abstract: 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: ApplicationFiled: July 2, 2008Publication date: October 1, 2009Applicant: VMWARE, INC.Inventors: Anupam CHANDA, Kevin Scott CHRISTOPHER, Jeremy SUGERMAN, Petr VANDROVEC, Gustav Seth WIBLING
-
Publication number: 20090248611Abstract: 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: ApplicationFiled: March 28, 2008Publication date: October 1, 2009Applicant: VMWARE, INC.Inventors: Min Xu, Vyacheslav V. Malyugin, Jeffrey W. Sheldon, Ganesh Venkitachalam, Boris Weissman
-
Publication number: 20090240904Abstract: 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: ApplicationFiled: March 20, 2008Publication date: September 24, 2009Applicant: VMware, Inc.Inventors: Maxime AUSTRUY, Jad CHAMCHAM, Christian LEROY, Christian CZEZATKE, Asit DESAI
-
Publication number: 20090237404Abstract: 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: ApplicationFiled: March 20, 2008Publication date: September 24, 2009Applicant: VMware, Inc.Inventor: Thomas C. Cannon, III
-
Publication number: 20090240793Abstract: 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: ApplicationFiled: March 18, 2008Publication date: September 24, 2009Applicant: VMWARE, INC.Inventors: Ronghua Zhang, Pankaj Thakkar
-
Patent number: 7590982Abstract: 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: GrantFiled: April 26, 2004Date of Patent: September 15, 2009Assignee: VMware, Inc.Inventor: Boris Weissman
-
Publication number: 20090222558Abstract: 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: ApplicationFiled: May 18, 2009Publication date: September 3, 2009Applicant: VMware, Inc.Inventors: Hao XU, Daniel J. SCALES
-
Publication number: 20090216975Abstract: 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: ApplicationFiled: February 23, 2009Publication date: August 27, 2009Applicant: VMware, Inc.Inventors: Yaron HALPERIN, Jad CHAMCHAM, Christian M. LEROY, Gerald I. L. CHEONG, Matthew ECCLESTON, Ji FENG
-
Patent number: 7581064Abstract: 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: GrantFiled: April 24, 2006Date of Patent: August 25, 2009Assignee: VMware, Inc.Inventors: John Zedlewski, Carl Waldspurger
-
Patent number: 7577722Abstract: 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: GrantFiled: April 5, 2002Date of Patent: August 18, 2009Assignee: VMware, Inc.Inventors: Dilip Khandekar, Dragutin Petkovic, Pratap Subrahmanyam, Bich Cau Le
-
Publication number: 20090187750Abstract: 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: ApplicationFiled: March 5, 2009Publication date: July 23, 2009Applicant: VMWARE, INC.Inventor: Edouard BUGNION