Patents Assigned to VMware
  • Publication number: 20140250066
    Abstract: Methods, systems and techniques for synchronizing content, such as a file, between one or more clients and one or more servers are provided. Example embodiments provide a Cross-File Differential Content Synchronization System (CDCSS) to synchronize files between remote systems in a nearly instantaneous manner without necessitating the transfer of the entire contents of a file. These components cooperate to transfer only the differences in data content wherever possible to a recipient system by providing a patch mechanism that instructs the recipient to build the modified or new data content based upon content it already has access to. In addition, in one embodiment the CDCSS synchronization solution provides a client-based index, rather than a server-based index, for tracking patches and files, which reduces the amount of computational and I/O overhead on the server and which does not require a negotiation between a client and a server to provide an update.
    Type: Application
    Filed: March 4, 2013
    Publication date: September 4, 2014
    Applicant: VMWARE, INC.
    Inventors: Grzegorz CALKOWSKI, Mingzhe ZHUANG
  • Publication number: 20140250437
    Abstract: A remote proxy in a virtualization layer domain establishes a plurality of logical channels via a network connection. The virtualization layer domain is part of a host system in which a set of virtual machines of a virtual machine domain run on a virtualization layer of the virtualization layer domain. The remote proxy receives first information from a first logical channel in plurality of logical channels and second information from a second logical channel in plurality of logical channels through the network connection. Then, the remote proxy determines that the virtual machine domain should process the first information and forwards the first information from the virtualization layer domain to a virtual machine in the set of virtual machines in the virtual machine domain. Also, the remote proxy determines that the virtualization layer domain should process the second information and forwards the second information to the virtualization layer for processing.
    Type: Application
    Filed: May 15, 2014
    Publication date: September 4, 2014
    Applicant: VMware, Inc.
    Inventors: Matthew David Ginzton, Jeremy Sugerman, Ramesh Dharan
  • Publication number: 20140250439
    Abstract: Systems and methods described herein facilitate provisioning virtual machines (VMs) in a virtual desktop infrastructure (VDI). The VDI includes a virtual desktop management server (VDMS), a VM, and a plurality of datastores. The VDMS includes a management module that is configured to determine a plurality of usage values that are associated with the datastores. The management module is also configured to determine one or more selection penalty values that are associated with one or more thin-provisioned VMs assigned to one or more of the datastores. Further, the management module calculates a plurality of capacity values for the datastores based at least in part on the determined usage values and the determined penalty values such that each of the capacity values corresponds to a separate datastore. Based at least in part on the capacity values, the management module is configured to assign the VM to one of the datastores.
    Type: Application
    Filed: March 1, 2013
    Publication date: September 4, 2014
    Applicant: VMWARE, INC.
    Inventors: Dhiraj PARASHAR, Kenny TO
  • Patent number: 8825994
    Abstract: A method for replacing a current desktop image having a current operating system on storage media for a computing device is described. In the method, an agent process is executed on the computing device for downloading from a server to a staging area on local storage media a replacement desktop disk image having a replacement operating system. The replacement desktop image includes a prefetch set of files and metadata for additional files, the prefetch set of files including a minimal set of files necessary to boot the replacement operating system, the replacement desktop image not including contents of the additional files. The computing device is rebooted to replace the current desktop image with the replacement desktop image. The computing device is then rebooted again to load the replacement operating system using the prefetch set of files.
    Type: Grant
    Filed: September 26, 2012
    Date of Patent: September 2, 2014
    Assignee: VMware, Inc.
    Inventors: Eytan Heidingsfeld, Yehuda Itzhakov, Tai Zamir
  • Patent number: 8826273
    Abstract: An in-memory database management system (DBMS) in a virtual machine (VM) preserves the durability property of the ACID model for database management without significantly slowing performance due to accesses to disk. Input data relating to a database transaction is recorded into a replay log and forwarded to the VM for processing by the DBMS. An indication of a start of processing by the DBMS of the database transaction is received after receipt of the input data by the VM and an indication of completion of processing of the database transaction by the DBMS is subsequently received, upon which outgoing output data received from the VM subsequent to the receipt of the completion indication is delayed. The delayed outgoing output data is ultimately released upon a confirmation that all input data received prior to the receipt of the start indication has been successfully stored into the replay log, thereby preserving durability for the database transaction.
    Type: Grant
    Filed: December 22, 2010
    Date of Patent: September 2, 2014
    Assignee: VMware, Inc.
    Inventor: Xiaoxin Chen
  • Patent number: 8826283
    Abstract: A virtualized computer system provides fault tolerant operation of a primary virtual machine. In one embodiment, this system includes a backup computer system that stores a snapshot of the primary virtual machine and a log file containing non-deterministic events occurring in the instruction stream of the primary virtual machine. The primary virtual machine periodically updates the snapshot and the log file. Upon a failure of the primary virtual machine, the backup computer can instantiate a failover backup virtual machine by consuming the stored snapshot and log file.
    Type: Grant
    Filed: June 25, 2013
    Date of Patent: September 2, 2014
    Assignee: VMware, Inc.
    Inventors: Peter M. Chen, Daniel J. Scales, Min Xu, Matthew D. Ginzton
  • Patent number: 8825851
    Abstract: A computer-implemented method for management of a virtual machine in a storage area network (SAN) environment. A plurality of SAN devices for the virtual machine are discovered by a management server. Performance statistics for the plurality of SAN devices are monitored at the management server. Health of the virtual machine is determined based at least in part on the performance statistics for the plurality of SAN devices at the management server.
    Type: Grant
    Filed: August 17, 2012
    Date of Patent: September 2, 2014
    Assignee: VMware, Inc.
    Inventors: Samdeep Nayak, Wenhua Liu, Chiao-Chuan Shih, Anne Marie Merritt, Xiangdong G. Huang
  • Patent number: 8826278
    Abstract: A method of managing host physical memory using a balloon application executing within a guest virtual machine (GVM) running on a host platform is described. The balloon application receives allocation parameters from an entity outside the GVM, the allocation parameters identifying an amount of memory for the balloon application to allocate. The balloon application adjusts the allocated amount of memory according to the allocated amount. Physical memory backing up the allocated memory can then be assigned by virtualization software for use by another virtual machine running on the host platform.
    Type: Grant
    Filed: January 9, 2012
    Date of Patent: September 2, 2014
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Carl A. Waldspurger, Anil Rao
  • Patent number: 8826289
    Abstract: Managing virtual and real machines through a provisioning system. The provisioning system allows a user to create and manage machines through a “self-service” approach. The provisioning system interacts with one or more agents that manage the lifecycle of a machine. The system may provide templates that enable a user to readily create a virtual machine. The system may also include interfaces for administrators to manage virtual and real machine resources.
    Type: Grant
    Filed: March 26, 2012
    Date of Patent: September 2, 2014
    Assignee: VMware, Inc.
    Inventor: Leslie Muller
  • Patent number: 8825909
    Abstract: An application directed method for substituting a driver for a target device includes the steps of updating a set of hardware identifiers for the target device to include a new hardware device, building a list of drivers based on the set of hardware identifiers that includes the new hardware identifier, and calling into an operating system to cause the operating system to switch the driver for the target device to a new driver which is selected from the list. With this method, a device that has multiple drivers associated therewith can have just one of the drivers substituted, and where multiple devices share the same hardware ID, the driver for just one of the devices can be substituted.
    Type: Grant
    Filed: February 28, 2011
    Date of Patent: September 2, 2014
    Assignee: VMware, Inc.
    Inventor: Matthew Ray Delco
  • Publication number: 20140245016
    Abstract: The storage system exports logical storage volumes that are provisioned as storage objects. These storage objects are accessed on demand by connected computer systems using standard protocols, such as SCSI and NFS, through logical endpoints for the protocol traffic that are configured in the storage system. To facilitate creation and management of logical storage volumes, special application programming interfaces (APIs) have been developed. The special APIs include commands to create a logical storage volume, bind, unbind, and rebind the logical storage volume, extend the size of the logical storage volume, clone the logical storage volume, and move the logical storage volume.
    Type: Application
    Filed: May 8, 2014
    Publication date: August 28, 2014
    Applicant: VMWARE, INC.
    Inventors: Komal DESAI, Satyam B. VAGHANI
  • Publication number: 20140244764
    Abstract: Methods and apparatus to provide a protocol-enabled interface definition language are disclosed. An example method includes generating, using a processor, first computer readable instructions to specify a message to be transmitted by a non-initiating device of a transaction for delivery to a second device based on a protocol, and storing, in a storage device, second computer readable instructions to implement the protocol, the second computer readable instructions including the first computer readable instructions.
    Type: Application
    Filed: February 28, 2013
    Publication date: August 28, 2014
    Applicant: VMWARE, INC.
    Inventors: Kristian Helkjær Lassen, Rene W. Schmidt
  • Publication number: 20140244929
    Abstract: The storage system exports logical storage volumes that are provisioned as storage objects. These storage objects are accessed on demand by connected computer systems using standard protocols, such as SCSI and NFS, through logical endpoints for the protocol traffic that are configured in the storage system. Logical storage volumes are created from a logical storage container having an address space that maps to storage locations of the physical data storage units. Each of the logical storage volumes so created has an address space that maps to the address space of the logical storage container. A logical storage container may span more than one storage system and logical storage volumes of different customers can be provisioned from the same logical storage container with appropriate security settings.
    Type: Application
    Filed: May 8, 2014
    Publication date: August 28, 2014
    Applicant: VMWARE, INC.
    Inventors: Sanjay Vasudev ACHARYA, Rajesh BHAT, Satyam B. VAGHANI, Ilia SOKOLINSKI, Chiao-Chuan SHIH, Komal DESAI
  • Publication number: 20140244938
    Abstract: Techniques are disclosed for reducing perceived read latency. Upon receiving a read request with a scatter-gather array from a guest operating system running on a virtual machine (VM), an early read return virtualization (ERRV) component of a virtual machine monitor fills the scatter-gather array with data from a cache and data retrieved via input-output requests (IOs) to media. The ERRV component is configured to return the read request before all IOs have completed based on a predefined policy. Prior to returning the read, the ERRV component may unmap unfilled pages of the scatter-gather array until data for the unmapped pages becomes available when IOs to the external media complete. Later accesses to unmapped pages will generate page faults, which are handled by stunning the VMs from which the access requests originated until, e.g., all elements of the SG array are filled and all pages of the SG array are mapped.
    Type: Application
    Filed: February 27, 2013
    Publication date: August 28, 2014
    Applicant: VMWARE, INC.
    Inventors: Erik COTA-ROBLES, Thomas A. PHELAN
  • Publication number: 20140244841
    Abstract: A system and method for allocating a resource among clients running on host computers using capacity distribution uses lower and upper bounds with respect to a capacity to be distributed to each of the clients. Each client is allocated a portion of the capacity that corresponds to the lower bound for that client. Any excess amount of the capacity is then allocated to the clients based at least partly on the lower bound and the upper bound of each of the clients.
    Type: Application
    Filed: February 27, 2013
    Publication date: August 28, 2014
    Applicant: VMWARE, INC.
    Inventors: Ajay Gulati, Ganesha Shanmuganathan, Peter Joseph Varman
  • Publication number: 20140245299
    Abstract: Input/output operations (IOs) are issued to a storage system using request queues that are each maintained for a resource targeted by the IOs. When an IO is requested, the target resource for the IO is first identified. If a request queue is maintained for the target resource, the IO is added to the request queue and the IO is issued to the storage system as the target resource becomes available. The availability of the target resource may be determined through periodic checks or by monitoring completions of IOs issued out of the request queue.
    Type: Application
    Filed: February 27, 2013
    Publication date: August 28, 2014
    Applicant: VMware, Inc.
    Inventors: Krishna YADAPPANAVAR, Murali VILAYANNUR, Faraz SHAIKH
  • Publication number: 20140244989
    Abstract: A technique for booting a computing device using a boot image that is downloaded from a distributed network booting system involves identifying a tracker computing device that manages a plurality of computing devices that store all or a portion of the boot image, receiving from the tracker computing device information about one or more computing devices from which to download the boot image, and downloading the boot image from the one or more computing devices.
    Type: Application
    Filed: February 26, 2013
    Publication date: August 28, 2014
    Applicant: VMWARE, INC.
    Inventors: Daniel Kerry HILTGEN, Suresh SUNDRIYAL, Wit RIEWRANGBOONYA
  • Publication number: 20140245304
    Abstract: Techniques for implicit coscheduling of CPUs to improve corun performance of scheduled contexts are described. One technique minimizes skew by implementing corun migrations, and another technique minimizes skew by implementing a corun bonus mechanism. Skew between schedulable contexts may be calculated based on guest progress, where guest progress represents time spent executing guest operating system and guest application code. A non-linear skew catch-up algorithm is described that adjusts the progress of a context when the progress falls far behind its sibling contexts.
    Type: Application
    Filed: May 8, 2014
    Publication date: August 28, 2014
    Applicant: VMWARE, INC.
    Inventors: Haoqiang ZHENG, Carl A. WALDSPURGER
  • Publication number: 20140245298
    Abstract: A control module is introduced to communicate with an application workload scheduler of a distributed computing application, such as a Job Tracker node of a Hadoop cluster, and with the virtualized computing environment underlying the application. The control module periodically queries for resource consumption data, such as CPU utilization, and uses the data to calculate how MapReduce task slots should be allocated on each task node of the Hadoop cluster. The control module passes the task slot allocation to the application workload scheduler, which honors the allocation by adjusting task assignments to task nodes accordingly. The task nodes may also activate and deactivate task slots according to the changed slot allocation. As a result, the distributed computing application is able to scale up and down when other workloads sharing the virtualized computing environment change.
    Type: Application
    Filed: February 27, 2013
    Publication date: August 28, 2014
    Applicant: VMware, Inc.
    Inventors: Li ZHOU, Sandeep UTTAMCHANDANI, Yizheng CHEN
  • Publication number: 20140244898
    Abstract: An I/O hint framework is provided. In one embodiment, a computer system can receive an I/O command originating from a virtual machine (VM), where the I/O command identifies a data block of a virtual disk. The computer system can further extract hint metadata from the I/O command, where the hint metadata includes one or more characteristics of the data block that are relevant for determining how to cache the data block in a flash storage-based cache. The computer system can then make the hint metadata available to a caching module configured to manage the flash storage-based cache.
    Type: Application
    Filed: February 27, 2013
    Publication date: August 28, 2014
    Applicant: VMWARE, INC.
    Inventors: Deng Liu, Thomas A. Phelan, Li Zhou, Ramkumar Vadivelu, Sandeep Uttamchandani