Patents Assigned to VMware
-
Publication number: 20140250066Abstract: 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: ApplicationFiled: March 4, 2013Publication date: September 4, 2014Applicant: VMWARE, INC.Inventors: Grzegorz CALKOWSKI, Mingzhe ZHUANG
-
Publication number: 20140250437Abstract: 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: ApplicationFiled: May 15, 2014Publication date: September 4, 2014Applicant: VMware, Inc.Inventors: Matthew David Ginzton, Jeremy Sugerman, Ramesh Dharan
-
Publication number: 20140250439Abstract: 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: ApplicationFiled: March 1, 2013Publication date: September 4, 2014Applicant: VMWARE, INC.Inventors: Dhiraj PARASHAR, Kenny TO
-
Patent number: 8825994Abstract: 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: GrantFiled: September 26, 2012Date of Patent: September 2, 2014Assignee: VMware, Inc.Inventors: Eytan Heidingsfeld, Yehuda Itzhakov, Tai Zamir
-
Patent number: 8826273Abstract: 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: GrantFiled: December 22, 2010Date of Patent: September 2, 2014Assignee: VMware, Inc.Inventor: Xiaoxin Chen
-
Patent number: 8826283Abstract: 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: GrantFiled: June 25, 2013Date of Patent: September 2, 2014Assignee: VMware, Inc.Inventors: Peter M. Chen, Daniel J. Scales, Min Xu, Matthew D. Ginzton
-
Patent number: 8825851Abstract: 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: GrantFiled: August 17, 2012Date of Patent: September 2, 2014Assignee: VMware, Inc.Inventors: Samdeep Nayak, Wenhua Liu, Chiao-Chuan Shih, Anne Marie Merritt, Xiangdong G. Huang
-
Patent number: 8826278Abstract: 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: GrantFiled: January 9, 2012Date of Patent: September 2, 2014Assignee: VMware, Inc.Inventors: Xiaoxin Chen, Carl A. Waldspurger, Anil Rao
-
Patent number: 8826289Abstract: 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: GrantFiled: March 26, 2012Date of Patent: September 2, 2014Assignee: VMware, Inc.Inventor: Leslie Muller
-
Patent number: 8825909Abstract: 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: GrantFiled: February 28, 2011Date of Patent: September 2, 2014Assignee: VMware, Inc.Inventor: Matthew Ray Delco
-
Publication number: 20140245016Abstract: 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: ApplicationFiled: May 8, 2014Publication date: August 28, 2014Applicant: VMWARE, INC.Inventors: Komal DESAI, Satyam B. VAGHANI
-
Publication number: 20140244764Abstract: 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: ApplicationFiled: February 28, 2013Publication date: August 28, 2014Applicant: VMWARE, INC.Inventors: Kristian Helkjær Lassen, Rene W. Schmidt
-
Publication number: 20140244929Abstract: 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: ApplicationFiled: May 8, 2014Publication date: August 28, 2014Applicant: VMWARE, INC.Inventors: Sanjay Vasudev ACHARYA, Rajesh BHAT, Satyam B. VAGHANI, Ilia SOKOLINSKI, Chiao-Chuan SHIH, Komal DESAI
-
Publication number: 20140244938Abstract: 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: ApplicationFiled: February 27, 2013Publication date: August 28, 2014Applicant: VMWARE, INC.Inventors: Erik COTA-ROBLES, Thomas A. PHELAN
-
Publication number: 20140244841Abstract: 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: ApplicationFiled: February 27, 2013Publication date: August 28, 2014Applicant: VMWARE, INC.Inventors: Ajay Gulati, Ganesha Shanmuganathan, Peter Joseph Varman
-
Publication number: 20140245299Abstract: 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: ApplicationFiled: February 27, 2013Publication date: August 28, 2014Applicant: VMware, Inc.Inventors: Krishna YADAPPANAVAR, Murali VILAYANNUR, Faraz SHAIKH
-
Publication number: 20140244989Abstract: 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: ApplicationFiled: February 26, 2013Publication date: August 28, 2014Applicant: VMWARE, INC.Inventors: Daniel Kerry HILTGEN, Suresh SUNDRIYAL, Wit RIEWRANGBOONYA
-
Publication number: 20140245304Abstract: 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: ApplicationFiled: May 8, 2014Publication date: August 28, 2014Applicant: VMWARE, INC.Inventors: Haoqiang ZHENG, Carl A. WALDSPURGER
-
Publication number: 20140245298Abstract: 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: ApplicationFiled: February 27, 2013Publication date: August 28, 2014Applicant: VMware, Inc.Inventors: Li ZHOU, Sandeep UTTAMCHANDANI, Yizheng CHEN
-
Publication number: 20140244898Abstract: 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: ApplicationFiled: February 27, 2013Publication date: August 28, 2014Applicant: VMWARE, INC.Inventors: Deng Liu, Thomas A. Phelan, Li Zhou, Ramkumar Vadivelu, Sandeep Uttamchandani