Patents Assigned to VMware
-
Publication number: 20140181635Abstract: 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: ApplicationFiled: December 21, 2012Publication date: June 26, 2014Applicant: VMWARE, INC.Inventor: Jonathan CLARK
-
Publication number: 20140176583Abstract: 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: ApplicationFiled: December 20, 2012Publication date: June 26, 2014Applicant: VMWARE, INC.Inventors: Salim ABIEZZI, Jose FONSECA, Mark SHELDON, Alan HOURIHANE
-
Publication number: 20140181806Abstract: 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: ApplicationFiled: December 20, 2012Publication date: June 26, 2014Applicant: VMWARE, INC.Inventors: Salim ABIEZZI, Jose FONSECA, Mark SHELDON
-
Publication number: 20140181682Abstract: 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: ApplicationFiled: December 26, 2012Publication date: June 26, 2014Applicant: VMWARE, INC.Inventors: Lawrence SPRACKLEN, Banit AGRAWAL, Rishi BIDARKAR
-
Publication number: 20140181787Abstract: 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: ApplicationFiled: December 20, 2012Publication date: June 26, 2014Applicant: VMware, Inc.Inventor: Rostislav Hristov
-
Publication number: 20140181398Abstract: 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: ApplicationFiled: November 6, 2013Publication date: June 26, 2014Applicant: VMware, Inc.Inventors: Rajesh Bhat, Sanjay Acharya, Satyam B. Vaghani, Chiao-Chuan Shih
-
Patent number: 8762684Abstract: 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: GrantFiled: July 10, 2012Date of Patent: June 24, 2014Assignee: VMware, Inc.Inventors: Keith Adams, Sahil Rihan
-
Patent number: 8762660Abstract: 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: GrantFiled: May 30, 2012Date of Patent: June 24, 2014Assignee: VMware, Inc.Inventors: Faraz Shaikh, Murali Vilayannur
-
Patent number: 8763115Abstract: 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: GrantFiled: March 19, 2008Date of Patent: June 24, 2014Assignee: VMware, Inc.Inventors: Dmitriy Budko, Xiaoxin Chen, Oded Horovitz, Carl A. Waldspurger
-
Publication number: 20140173181Abstract: 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: ApplicationFiled: February 11, 2013Publication date: June 19, 2014Applicant: VMWARE, INC.Inventor: Daniel James BEVERIDGE
-
Publication number: 20140173593Abstract: 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: ApplicationFiled: December 14, 2012Publication date: June 19, 2014Applicant: VMWARE, INC.Inventors: Pradeep PADALA, Aashish PARIKH
-
Publication number: 20140173196Abstract: 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: ApplicationFiled: February 25, 2013Publication date: June 19, 2014Applicant: VMware, Inc.Inventors: Daniel James BEVERIDGE, Thiruvengada Govindan THIRUMAL, Kiran MADNANI, Neeraj GOYAL
-
Publication number: 20140173737Abstract: 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: ApplicationFiled: December 14, 2012Publication date: June 19, 2014Applicant: VMWARE, INC.Inventors: Michael Ira Toback, David Ferguson, Maria del Carmen Hernandez-Villavicencio, Wenfeng Liu, Monty Ijzerman
-
Publication number: 20140172800Abstract: 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: ApplicationFiled: February 24, 2014Publication date: June 19, 2014Applicant: VMware, Inc.Inventor: Jonathan Clark
-
Publication number: 20140173751Abstract: 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: ApplicationFiled: December 17, 2012Publication date: June 19, 2014Applicant: VMWARE, INC.Inventor: Raja Rao DV
-
Publication number: 20140173213Abstract: 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: ApplicationFiled: February 11, 2013Publication date: June 19, 2014Applicant: VMWARE, INC.Inventor: Daniel James BEVERIDGE
-
Patent number: 8756397Abstract: 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: GrantFiled: January 17, 2013Date of Patent: June 17, 2014Assignee: VMware, Inc.Inventors: Xiaoxin Chen, Carl A. Waldspurger, Anil Rao
-
Publication number: 20140164722Abstract: 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: ApplicationFiled: December 10, 2012Publication date: June 12, 2014Applicant: VMware, Inc.Inventors: Alexander Thomas GARTHWAITE, Yury BASKAKOV, Irene ZHANG, Kevin Scott CHRISTOPHER, Jesse POOL
-
Publication number: 20140165215Abstract: 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: ApplicationFiled: March 7, 2013Publication date: June 12, 2014Applicant: VMware, Inc.Inventor: Uday KURKURE
-
Publication number: 20140164648Abstract: 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: ApplicationFiled: December 11, 2012Publication date: June 12, 2014Applicant: VMWARE, INC.Inventors: Peter BARBER, Aaron ROLETT, Reilly GRANT