Patents Assigned to VMware
  • Patent number: 8554900
    Abstract: A source virtual machine (VM) hosted on a source server is migrated to a destination VM on a destination server without first powering down the source VM. After optional pre-copying of the source VM's memory to the destination VM, the source VM is suspended and its non-memory state is transferred to the destination VM; the destination VM is then resumed from the transferred state. The source VM memory is either paged into the destination VM on demand, or is transferred asynchronously by pre-copying and write-protecting the source VM memory, and then later transferring only the modified pages after the destination VM is resumed. The source and destination servers preferably share common storage, in which the source VM's virtual disk is stored; this avoids the need to transfer the virtual disk contents.
    Type: Grant
    Filed: August 30, 2012
    Date of Patent: October 8, 2013
    Assignee: VMware, Inc.
    Inventor: Michael Nelson
  • 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: 8555274
    Abstract: A plurality of virtual machines (VMs) is established and maintained by virtualization software on one or more physical servers. Desktop management software operates to provide the VMs to remote users as virtualized desktops. The desktop management software includes a connection broker, that allows a remote user to select a type of virtualized desktop and initiate a desktop session. The desktop management software further includes lease management functionality, that ensures users are provided access to a particular virtualized desktop for only a fixed period of time. In addition, the desktop management software provides an administrative console, which allows an administrator to set various parameters, including QoS parameters, and parameters specifying the resources allocated to each user. The desktop management software interacts with lower level software to provide load-balancing functionality, that adjusts the resources provided to each VM based on the needs of the VM.
    Type: Grant
    Filed: March 31, 2006
    Date of Patent: October 8, 2013
    Assignee: VMware, Inc.
    Inventors: Puneet Chawla, Jennifer-Ann M. Anderson, Gerald C. Chen, Junaid Qurashi, Patrick Lin
  • Patent number: 8554981
    Abstract: One embodiment of the present invention is a system including: (a) plural virtualization systems configured in a cluster; (b) storage accessible to each virtualization system of the cluster, wherein for each virtual machine operative in a virtualization system of the cluster, the storage maintains a representation of virtual machine state that includes at least a description of a hardware system virtualized and an image of virtualized memory state for the virtual machine; and (c) a failover system that, responsive to an interruption of, or on, a particular one of the virtualization systems, transitions at least one affected virtual machine to another virtualization system of the cluster and resumes computations of the transitioned virtual machine based on state encoded by a corresponding one of the virtual machine states represented in the storage.
    Type: Grant
    Filed: January 21, 2008
    Date of Patent: October 8, 2013
    Assignee: VMware, Inc.
    Inventors: Rene W. Schmidt, Sridhar Rajagopal
  • Patent number: 8555003
    Abstract: Techniques for updating a cached version of data in a computer system upon a change of the data as stored in a shared storage system networked to the computer system are described. In accordance with such techniques, a notification from the shared storage system is received at the computer system upon attempting to access the shared storage system. The computer system then determines that the notification occurred due to an unregistering of the computer system's access to the shared storage system by a second computer system that has updated the data stored in the shared storage system. As such, the computer system re-registers its access to the shared storage system and updates the cached version of the data with the data in the shared storage system that was updated by the second computer system.
    Type: Grant
    Filed: June 29, 2011
    Date of Patent: October 8, 2013
    Assignee: VMware, Inc.
    Inventors: Olivier Lecomte, Satyam B. Vaghani, Daniel J. Scales
  • Publication number: 20130263119
    Abstract: A virtual computer system, including a plurality of virtual machines (VMs) running on one or more host computers, is configured to manage virtual disks in a manner to facilitate making copies of one or more virtual machines (VMs) by means of a method known as linked cloning. Techniques are disclosed for scanning a storage system to determine the set of VMs, identifying virtual disks associated with each VM, examining parent/child relationships among the virtual disks, and displaying the virtual disk hierarchy. Redundant virtual disks may be identified as the set of virtual disks that have exactly one child disk and that are not associated with a snapshot. Provisions for generating a relocate list to support migration of a linked clone may also be utilized.
    Type: Application
    Filed: March 29, 2012
    Publication date: October 3, 2013
    Applicant: VMWARE, INC.
    Inventors: Sandeep Srinivasa Rao PISSAY, Vipin BALACHANDRAN
  • Publication number: 20130262862
    Abstract: Systems and methods for providing privacy of file synchronization with sharing functionality are presented. In embodiments, a file synchronization system comprises one or more folders associated with one or more non-shared encryption keys, which may be a managed key shared across an organization, and/or a personal key that is not shared or has limited third-party sharing. The one or more non-shared encryption keys are not known to the data storage service. The file synchronization system may also contain one or more folders associated with a shared encryption key that is shared with the data storage service, and in embodiments, with a set of users of the service. The system may include a mapping correlating folders to encryption type so items in each folder can be handled appropriately. The system may have additional folders, such as one or more public folders that may be available with limited or no restrictions.
    Type: Application
    Filed: March 30, 2012
    Publication date: October 3, 2013
    Applicants: DECHO CORPORATION, VMWARE, INC.
    Inventor: David John HARTLEY
  • Publication number: 20130263132
    Abstract: One embodiment is a method for tracking data correspondences in a computer system including a host hardware platform, virtualization software running on the host hardware platform, and a virtual machine running on the virtualization software, the method including: (a) monitoring one or more data movement operations of the computer system; and (b) storing information regarding the one or more data movement operations in a data correspondence structure, which information provides a correspondence between data before one of the one or more data movement operations and data after the one of the one or more data movement operations.
    Type: Application
    Filed: May 21, 2013
    Publication date: October 3, 2013
    Applicant: VMware, Inc.
    Inventors: Osten Kit COLBERT, Geoffrey PIKE
  • Publication number: 20130262798
    Abstract: One embodiment of the present invention includes a method for maintaining a shadow page table in at least partial correspondence with guest page mappings of a guest computation. The method marking with a traced write indication at least those entries of the shadow page table that map physical memory locations which themselves encode the guest page mappings, the marking identifying, for a hardware facility, a subset of memory access targets for which updates are to be recorded in a guest write buffer accessible to the virtualization system. Responsive to a coherency-inducing operation of the guest computation, the method reads from the guest write buffer and introduces corresponding updates into the shadow page table.
    Type: Application
    Filed: May 14, 2013
    Publication date: October 3, 2013
    Applicant: VMware, Inc.
    Inventors: Keith ADAMS, Sahil RIHAN
  • Patent number: 8549241
    Abstract: A virtualization platform provides fault tolerance for a primary virtual machine by continuously transmitting checkpoint information of the primary virtual machine to a collector process, such as a backup virtual machine. When implemented on a hardware platform comprising a multi-processor that supports nested page tables, the virtualization platform leverages the nested page table support to quickly identify memory pages that have been modified between checkpoints. The backup virtual machine provides feedback information to assist the virtualization platform in identifying candidate memory pages for transmitting actual modifications to the memory pages rather than the entire memory page as part of the checkpoint information. The virtualization platform further maintains a modification history data structure to identify memory pages that can be transmitted simultaneous with the execution of the primary virtual machine rather than while the primary virtual machine has been stunned.
    Type: Grant
    Filed: January 6, 2010
    Date of Patent: October 1, 2013
    Assignee: VMware, Inc.
    Inventors: Daniel J. Scales, Pratap Subrahmanyam, Ganesh Venkitachalam, Michael Nelson
  • Patent number: 8549364
    Abstract: In one or more embodiments of the invention, communication among host agents providing high availability in a computer cluster is implemented by reading and writing to files on a shared data store. Each host agent holds a lock on a file on the shared data store corresponding to a liveness indicator for the host agent and a coordinator host agent periodically monitors the liveness indicators for host failures.
    Type: Grant
    Filed: February 18, 2009
    Date of Patent: October 1, 2013
    Assignee: VMware, Inc.
    Inventors: Elisha Ziskind, Marc Sevigny, Sridhar Rajagopal, Rostislav Vavrick, Ronald Passerini
  • Publication number: 20130254505
    Abstract: A virtualization technique, in accordance with one embodiment of the present invention, includes emulating the small computing system interface (SCSI) protocol to access a virtual SCSI storage device backed by a file stored on network attached storage (NAS).
    Type: Application
    Filed: May 14, 2013
    Publication date: September 26, 2013
    Applicant: VMware, Inc.
    Inventors: Michael Nelson, Hao Xu, Daniel J. Scales, Matthew B. Amdur
  • Publication number: 20130254459
    Abstract: One embodiment of the present invention provides a system that facilitates storing an image file of a virtual machine on a potentially unprotected flash storage exhibiting sub-optimal non-sequential write performance on a mobile phone. During operation, the system stores in the flash storage data in a log-structured format and in a protected storage meta-data associated with the data stored in the flash storage. The system also checks integrity of the data stored in the flash storage using the meta-data in the protected storage.
    Type: Application
    Filed: March 26, 2012
    Publication date: September 26, 2013
    Applicant: VMWARE, INC.
    Inventors: Cyprien LAPLACE, Harvey TUCH, Kenneth Charles BARR, Craig Farley NEWELL, Bi WU, Viktor GYURIS
  • Publication number: 20130254612
    Abstract: A method is provided for recovering from an uncorrected memory error located at a memory address as identified by a memory device. A stored hash value for a memory page corresponding to the identified memory address is used to determine the correct data. Because the memory device specifies the location of the corrupted data, and the size of the window where the corruption occurred, the stored hash can be used to verify memory page reconstruction. With the known good part of the data in hand, the hashes of the pages using possible values in place of the corrupted data are calculated. It is expected that there will be a match between the previously stored hash and one of the computed hashes. As long as there is one and only one match, then that value, used in the place of the corrupted data, is the correct value. The corrupt data, once replaced, allows operation of the memory device to continue without needing to interrupt or otherwise affect a system's operation.
    Type: Application
    Filed: May 14, 2013
    Publication date: September 26, 2013
    Applicant: VMware, Inc.
    Inventors: Carl A. WALDSPURGER, Dilpreet BINDRA, Gregory HARM, Patrick TULLMANN
  • Publication number: 20130254479
    Abstract: Systems and methods for tracking changes and performing backups to a storage device are provided. For virtual disks of a virtual machine, changes are tracked from outside the virtual machine in the kernel of a virtualization layer. The changes can be tracked in a lightweight fashion with a bitmap, with a finer granularity stored and tracked at intermittent intervals in persistent storage. Multiple backup applications can be allowed to accurately and efficiently backup a storage device. Each backup application can determine which block of the storage device has been updated since the last backup of a respective application. This change log is efficiently stored as a counter value for each block, where the counter is incremented when a backup is performed. The change log can be maintained with little impact on I/O by using a coarse bitmap to update the finer grained change log.
    Type: Application
    Filed: May 14, 2013
    Publication date: September 26, 2013
    Applicant: VMware, Inc.
    Inventors: Christian Czezatke, Krishna Yadappanavar, Andrew Tucker
  • Publication number: 20130254369
    Abstract: One embodiment of the present invention is a method of migrating functionality to a target virtualized mobile device including virtualization software that supports one or more virtual machines, the method including: (a) embodying the functionality in a virtual machine; and (b) migrating the virtual machine to the target virtualized mobile device.
    Type: Application
    Filed: May 7, 2013
    Publication date: September 26, 2013
    Applicant: VMware, Inc.
    Inventors: Lawrence ROGEL, Scott W. DEVINE
  • 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: 8543781
    Abstract: A method of acquiring a lock by a node, on a shared resource in a system of a plurality of interconnected nodes, is disclosed. Each node that competes for a lock on the shared resource maintains a list of locks currently owned by the node. A lock metadata is maintained on a shared storage that is accessible to all nodes that may compete for locks on shared resources. A heartbeat region is maintained on a shared resource corresponding to each node so nodes can register their liveness. A lock state is maintained in the lock metadata in the shared storage. A lock state may indicate lock held exclusively, lock free or lock in managed mode. If the lock is held in the managed mode, the ownership of the lock can be transferred to another node without a use of a mutual exclusion primitive such as the SCSI reservation.
    Type: Grant
    Filed: September 23, 2009
    Date of Patent: September 24, 2013
    Assignee: VMware, Inc.
    Inventors: Mayank Rawat, Jinyuan Li, Murali Vilayannur, Daniel J. Scales
  • Publication number: 20130247006
    Abstract: A framework for developing and testing a software wizard formalizes, through constraint functions, relationships between different pages of the software wizard. A sequence of user interface (UI) pages of a software wizard is generated in accordance with this framework by carrying out the steps of displaying a first UI page that includes a first UI element for causing a transition to a next UI page of the software wizard, wherein the first UI page is associated with one or more constraint functions, detecting an input event that triggers the one or more constraint functions of the first UI page to produce an output that identifies the next UI page in the sequence of UI pages of the software wizard, and transitioning to the next UI page based on the output.
    Type: Application
    Filed: March 16, 2012
    Publication date: September 19, 2013
    Applicant: VMWARE, INC.
    Inventor: David TROWBRIDGE