Patents Assigned to VMware
  • Publication number: 20140181635
    Abstract: Systems and methods described herein enable a residual error image to be added and rendered in an existing HTML canvas using native primitives. A current image and a residual error image containing pixel value differences between the current image and an updated image are received. A positive residual error image and a negative error image are generated from the residual error image. The positive residual error image is added to the current image to generate a partially updated image, and the partially updated image is xored to generate an inverse image. The negative residual error image is added to the inverse image to generate an updated inverse image, and xoring the inverse image to revert the inverse image to generate the updated image.
    Type: Application
    Filed: December 21, 2012
    Publication date: June 26, 2014
    Applicant: VMWARE, INC.
    Inventor: Jonathan CLARK
  • Publication number: 20140176583
    Abstract: Methods, techniques, and systems for dynamically allocating graphics processing units among virtual machines are provided. Example embodiments provide a dynamic GPU allocation system (“DGAS”), which enables the efficient allocation of physical GPU resources to one or more virtual machines. In one embodiment, the DGAS comprises virtualization logic running on a server computing system that computes GPU benefit factors for the virtual machines on a dynamic basis, and combines the computed GBFs with static priorities to determine a ranked ordering of virtual machines. The available GPU resources are then allocated to some subset of these ranked virtual machines as physical GPU capacity is matched with the requirements of the subset. Physical GPU resources are then allocated to the subset of virtual machines that have the highest promise of GPU utilization.
    Type: Application
    Filed: December 20, 2012
    Publication date: June 26, 2014
    Applicant: VMWARE, INC.
    Inventors: Salim ABIEZZI, Jose FONSECA, Mark SHELDON, Alan HOURIHANE
  • Publication number: 20140181806
    Abstract: Methods, techniques, and systems for dynamically allocating graphics processing units among virtual machines are provided. Example embodiments provide a dynamic GPU allocation system (“DGAS”), which enables the efficient allocation of physical GPU resources to one or more virtual machines. In one embodiment, the DGAS comprises a GPU allocation list for use in allocating the physical GPU resources comprising one or more virtual machine entries each containing a designation of a virtual machine, an indication of a GPU benefit factor associated with the designated virtual machine, and an indication of processing bandwidth requirements associated with the designated virtual machine. The entries are ranked based at least upon the GPU benefit factor associated with each designated virtual machine. Available GPU resources are allocated to some subset of these ranked virtual machines as physical GPU capacity is matched with the requirements of the subset.
    Type: Application
    Filed: December 20, 2012
    Publication date: June 26, 2014
    Applicant: VMWARE, INC.
    Inventors: Salim ABIEZZI, Jose FONSECA, Mark SHELDON
  • Publication number: 20140181682
    Abstract: Image data representing a desktop image for a client device that is accessing the desktop remotely is compressed according to a method that preserves image fidelity in selected non-text regions. The method, which is carried out in a remote server, includes the steps of generating image data for the remote desktop image and analyzing different regions of the remote desktop image, identifying those regions of the remote desktop image that are text regions, selecting non-text regions of the remote desktop image for lossless compression based on a spatial relationship between the non-text regions and the text regions, compressing the image data using a lossless compression protocol for a portion of the image data corresponding to the selected non-text regions, and transmitting the compressed image data to the client device.
    Type: Application
    Filed: December 26, 2012
    Publication date: June 26, 2014
    Applicant: VMWARE, INC.
    Inventors: Lawrence SPRACKLEN, Banit AGRAWAL, Rishi BIDARKAR
  • Publication number: 20140181787
    Abstract: The current application is directed to implementation of crosscutting functionalities, including code instrumentation, error logging, performance monitoring and performance-data logging, and other such crosscutting functionalities. These crosscutting functionalities generally violate, or run counter to, modem code-development strategies and programming-language features that seek to partition logic into hierarchically organized compartments and modules with related functionalities, attribute values, and other common features. In current client/server environments, for certain types of programs distributed by a server to client computers, including programs embedded in files that specify web pages, cross-cutting functionality is encoded in advice included with the programs and distributed to the client computers, which weave the advice into programs prior to or during client-side interpretation of the programs.
    Type: Application
    Filed: December 20, 2012
    Publication date: June 26, 2014
    Applicant: VMware, Inc.
    Inventor: Rostislav Hristov
  • Publication number: 20140181398
    Abstract: A method processes input-output commands (IOs) in a storage system. The storage system receives an IO including first and second identifiers. The first identifier is used to direct the IO to the storage system. At the storage system, the method retrieves the second identifier from the IO and translates the second identifier to a logical storage volume identifier. Then, the method executes the IO on storage locations referenced by a logical storage volume corresponding to the logical storage volume identifier.
    Type: Application
    Filed: November 6, 2013
    Publication date: June 26, 2014
    Applicant: VMware, Inc.
    Inventors: Rajesh Bhat, Sanjay Acharya, Satyam B. Vaghani, Chiao-Chuan Shih
  • Patent number: 8762684
    Abstract: Some embodiments of the present invention include a memory management unit (MMU) configured to, in response to a write access targeting a guest page mapping of a guest virtual page number (GVPN) to a guest physical page number (GPPN) within a guest page table, identify a first page mapping that associates the GVPN with a physical page number (PPN). The MMU is also configured to determine whether a traced write indication is associated with the first page mapping and, if so, record update information identifying the targeted guest page mapping. The update information is used to reestablish coherence between the guest page mapping and the first page mapping. The MMU is further configured to perform the write access.
    Type: Grant
    Filed: July 10, 2012
    Date of Patent: June 24, 2014
    Assignee: VMware, Inc.
    Inventors: Keith Adams, Sahil Rihan
  • Patent number: 8762660
    Abstract: A virtualized storage stack includes logical layers above the physical storage layer. Each logical layer allocates data blocks, and the data block allocation is propagated down to the physical storage layer. To facilitate contiguous storage, each layer of the virtualized storage stack maintains additional metadata associated with data blocks. For each data block, the metadata indicates whether the data block is free, provisioned and includes a tag that indicates when the data block was first written. Data blocks that were first written as part of the same write request share the same tag, and are mostly guaranteed to be physically co-located. Block allocations that reuse data blocks having the same tag are preferred. Such preference increases the likelihood of the blocks being contiguous in the physical storage as these blocks were allocated as part of the same first write.
    Type: Grant
    Filed: May 30, 2012
    Date of Patent: June 24, 2014
    Assignee: VMware, Inc.
    Inventors: Faraz Shaikh, Murali Vilayannur
  • Patent number: 8763115
    Abstract: One embodiment of the present invention is a method of operating a virtualization system, the method including: (a) instantiating a virtualization system on an underlying hardware machine, the virtualization system exposing a virtual machine in which multiple execution contexts of a guest execute; (b) monitoring the execution contexts from the virtualization system; and (c) selectively impeding computational progress of a particular one of the execution contexts.
    Type: Grant
    Filed: March 19, 2008
    Date of Patent: June 24, 2014
    Assignee: VMware, Inc.
    Inventors: Dmitriy Budko, Xiaoxin Chen, Oded Horovitz, Carl A. Waldspurger
  • Publication number: 20140173181
    Abstract: A method of enabling “fast” suspend and “rapid” resume of virtual machines (VMs) employs a cache that is able to perform input/output operations at a faster rate than a storage device provisioned for the VMs. The cache may be local to a computer system that is hosting the VMs or may be shared cache commonly accessible to VMs hosted by different computer systems. The method includes the steps of saving the state of the VM to a checkpoint file stored in the cache and locking the checkpoint file so that data blocks of the checkpoint file are maintained in the cache and are not evicted, and resuming execution of the VM by reading into memory the data blocks of the checkpoint file stored in the cache.
    Type: Application
    Filed: February 11, 2013
    Publication date: June 19, 2014
    Applicant: VMWARE, INC.
    Inventor: Daniel James BEVERIDGE
  • Publication number: 20140173593
    Abstract: pa Systems and methods for finding solutions exhaustively in distributed load balancing are provided. A plurality of virtual machines (VMs) is in communication with a virtual machine management server (VMMS). The VMMS is configured to generate a matrix that represents a mapping of a plurality of virtual machines (VMs) to a plurality of hosts and to calculate a first imbalance metric of the matrix. The VMMS is also configured to identify a plurality of candidate migrations the VMs. The VMMS searches through the solution space efficiently and can perform an exhaustive search to find the optimal solution. For each candidate migration, the VMMS is configured to alter the matrix to represent the candidate migration and to calculate a candidate imbalance metric based on the altered matrix. The VMMS is also configured to determine which candidate migration to perform based at least in part on the candidate imbalance metric for each candidate migration and the first imbalance metric.
    Type: Application
    Filed: December 14, 2012
    Publication date: June 19, 2014
    Applicant: VMWARE, INC.
    Inventors: Pradeep PADALA, Aashish PARIKH
  • Publication number: 20140173196
    Abstract: A method of enabling “fast” suspend and “rapid” resume of virtual machines (VMs) employs a cache that is able to perform input/output operations at a faster rate than a storage device provisioned for the VMs. The cache may be local to a computer system that is hosting the VMs or may be shared cache commonly accessible to VMs hosted by different computer systems. The method includes the steps of saving the state of the VM to a checkpoint file stored in the cache and locking the checkpoint file so that data blocks of the checkpoint file are maintained in the cache and are not evicted, and resuming execution of the VM by reading into memory the data blocks of the checkpoint file stored in the cache.
    Type: Application
    Filed: February 25, 2013
    Publication date: June 19, 2014
    Applicant: VMware, Inc.
    Inventors: Daniel James BEVERIDGE, Thiruvengada Govindan THIRUMAL, Kiran MADNANI, Neeraj GOYAL
  • Publication number: 20140173737
    Abstract: Exemplary methods, apparatuses, and systems receive data describing a first software component used by a software product and vulnerability data describing a vulnerability in the first software component. A vulnerability score is calculated for the software product based upon the vulnerability data for the first software component. The vulnerability score is recalculated for the software product based upon receiving an updated status of the vulnerability in the first software component from bug tracking software, a waiver of the vulnerability of a software component, the addition of another software component, or another update to the software product or component(s). The task of remediation of the vulnerability in the first software component can be assigned to a user and tracked. A user interface is provided to enable users to monitor the vulnerabilities of software products or components.
    Type: Application
    Filed: December 14, 2012
    Publication date: June 19, 2014
    Applicant: VMWARE, INC.
    Inventors: Michael Ira Toback, David Ferguson, Maria del Carmen Hernandez-Villavicencio, Wenfeng Liu, Monty Ijzerman
  • Publication number: 20140172800
    Abstract: A method for updating and formatting a local file is described. An update file, having a newer version of the local file, is accessed from a server over a network and a list of new hash values corresponding to data blocks of the update file is retrieved. Divisions between the data blocks are located when a value of a rolling checksum reaches a particular value, the data 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 from the server and written to a new file. For each of the new hash values having a matching local hash value, the corresponding block is copied from the local file to the new file.
    Type: Application
    Filed: February 24, 2014
    Publication date: June 19, 2014
    Applicant: VMware, Inc.
    Inventor: Jonathan Clark
  • Publication number: 20140173751
    Abstract: A human-machine chatting system facilitates real-time two-way communications between a user and a machine. During operation, the system monitors performance of a machine, runs a chat application on behalf of the monitored machine, and determines whether a user is authorized to access performance information associated with the monitored machine. In response to the user being authorized to access the performance information, the system allows the user to obtain the performance information via the chat application.
    Type: Application
    Filed: December 17, 2012
    Publication date: June 19, 2014
    Applicant: VMWARE, INC.
    Inventor: Raja Rao DV
  • Publication number: 20140173213
    Abstract: A method of enabling “fast” suspend and “rapid” resume of virtual machines (VMs) employs a cache that is able to perform input/output operations at a faster rate than a storage device provisioned for the VMs. The cache may be local to a computer system that is hosting the VMs or may be shared cache commonly accessible to VMs hosted by different computer systems. The method includes the steps of saving the state of the VM to a checkpoint file stored in the cache and locking the checkpoint file so that data blocks of the checkpoint file are maintained in the cache and are not evicted, and resuming execution of the VM by reading into memory the data blocks of the checkpoint file stored in the cache.
    Type: Application
    Filed: February 11, 2013
    Publication date: June 19, 2014
    Applicant: VMWARE, INC.
    Inventor: Daniel James BEVERIDGE
  • Patent number: 8756397
    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: June 17, 2014
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Carl A. Waldspurger, Anil Rao
  • Publication number: 20140164722
    Abstract: A process for lazy checkpointing a virtual machine is enhanced to reduce the number of read/write accesses to the checkpoint file and thereby speed up the checkpointing process. The process for saving a state of a virtual machine running in a physical machine to a checkpoint file maintained in persistent storage includes the steps of copying contents of a block of memory pages, which may be compressed, into a staging buffer, determining after the copying if the buffer is full, and upon determining that the buffer is full, saving the buffer contents in a storage block of the checkpoint file.
    Type: Application
    Filed: December 10, 2012
    Publication date: June 12, 2014
    Applicant: VMware, Inc.
    Inventors: Alexander Thomas GARTHWAITE, Yury BASKAKOV, Irene ZHANG, Kevin Scott CHRISTOPHER, Jesse POOL
  • Publication number: 20140165215
    Abstract: In a method for limiting access to a digital item, a count for the digital item is stored, wherein the count is a number of accesses permitted for the digital item. A password for accessing the digital item is received. A plurality of password hashes is generated by utilizing one-way hash functions based on the number of accesses of the count and the password to generate the plurality of password hashes based on the count. The plurality of password hashes is stored in a password hash file.
    Type: Application
    Filed: March 7, 2013
    Publication date: June 12, 2014
    Applicant: VMware, Inc.
    Inventor: Uday KURKURE
  • Publication number: 20140164648
    Abstract: Methods and systems described herein facilitate improving universal serial bus (USB) storage performance in remote computing environments. A virtual USB host is associated with a virtual machine running a guest operating system (OS) and is configured to communicate with a USB storage device that is connected to a remote terminal. The virtual USB host is further configured to transmit one of a data-in request to the USB storage device before the guest OS transmits the data-in request or an acknowledgement of a data-out request to the guest OS before the USB storage device transmits the acknowledgement.
    Type: Application
    Filed: December 11, 2012
    Publication date: June 12, 2014
    Applicant: VMWARE, INC.
    Inventors: Peter BARBER, Aaron ROLETT, Reilly GRANT