Abstract: Exemplary methods, apparatuses, and systems include a virtual desktop management (VDM) server receiving selection of a virtual desktop from an administrator device and receiving transmission of the virtual desktop from a virtual machine. The virtual desktop is generated by the virtual machine and transmitted concurrently to a remote client device and to the VDM server. The VDM server determines that the received transmission of the virtual desktop includes a policy state and, in response, provides the administrator device with limited management access to the selected virtual machine. The limited management access prevents the administrator device from accessing display data for the virtual desktop. The VDM facilitates sending a request to and receiving permission from the client device to enable the administrator device to access the display data.
Abstract: One or more embodiments of the present invention provide a technique for effectively managing virtualized computing systems with an unlimited number of hardware resources. Host systems included in a virtualized computer system are organized into a scalable, peer-to-peer (P2P) network in which host systems arrange themselves into a network overlay to communicate with one another. The network overlay enables the host systems to perform a variety of operations, which include dividing computing resources of the host systems among a plurality of virtual machines (VMs), load balancing VMs across the host systems, and performing an initial placement of a VM in one of the host systems.
Type:
Grant
Filed:
June 14, 2011
Date of Patent:
October 7, 2014
Assignee:
VMware, Inc.
Inventors:
Ajay Gulati, Irfan Ahmad, Ganesha Shanmuganathan, Carl A. Waldspurger
Abstract: One embodiment of the system described herein facilitates a virtualized heterogeneous disk that supports differentiated storage service qualities. During operation, the system mounts a plurality of partitions of a heterogeneous disk at different mount points, each mount point corresponding to a level of quality of service (QoS). The system then receives a write command and identifies a QoS level indication associated with the write command. Subsequently, the system selects a partition on the heterogeneous disk with performance parameters matching the identified QoS level and writes data to the selected partition. The heterogeneous disk is an abstraction of a plurality of virtualized storage devices. Furthermore, the heterogeneous disk has a single block address space, and the virtualized storage devices are allowed to have differentiated performance parameters, thereby facilitating differentiated QoS levels in the heterogeneous disk.
Abstract: A system and method for allocating power resources among host computers in a cluster uses lower and upper bounds with respect to a power budget to be distributed to each of the hosts. Each host is allocated a portion of the cluster power capacity. Any excess amount of the capacity is then allocated to the hosts based at least partly on the lower bound (reserve capacity) and the upper bound (host power limit) of each of the clients.
Abstract: The instant disclosure describes embodiments of a system and method for migrating virtual machine (VM)-specific content cached in a solid state drive (SSD) attached to an original host. During operation, the original host receives event indicating an upcoming migration of a VM to a destination host. In response, the original host transmits a set of metadata associated with the SSD cache to the destination host. The metadata indicates a number of data blocks stored in the SSD cache, thereby allowing the destination host to pre-fetch data blocks specified in the metadata from a storage shared by the original host and the destination host. Subsequently, the original host receives a power-off event for the VM, and transmits a dirty block list to the destination. The dirty block list specifies one or more data blocks that have changed since the transmission of the metadata.
Abstract: The current document is directed to methods and systems that provide remote direct memory access (“RDMA”) to applications running within execution environments provided by guest operating systems and virtual machines above a virtualization layer. In one implementation, RDMA is accessed by application programs within virtual machines through a paravirtual interface that includes a virtual RDMA driver that transmits RDMA requests through a communications interface to a virtual RDMA endpoint in the virtualization layer.
Abstract: Methods, apparatus, systems and articles of manufacture are disclosed to convert a machine to a virtual machine. An example method disclosed herein includes moving, via a processor, an original operating system to create free space on a storage device, installing a hypervisor in the free space on the storage device, generating a virtual machine in the free space on the storage device, and loading the hypervisor and the virtual machine, the virtual machine to execute the original operating system.
Abstract: An anomaly in a shared input/output (IO) resource that is accessed by a plurality hosts or clients is detected when a host that is not bound by any QoS policy presents large workloads to a shared IO resource that is also accessed by hosts or clients that are governed by QoS policy. The anomaly detection triggers a response from the hosts or clients as a way to protect against the effect of the anomaly. The response is an increase in window sizes. The window sizes of the hosts or clients may be increased to the maximum window size or in proportion to their QoS shares.
Type:
Grant
Filed:
April 9, 2013
Date of Patent:
September 30, 2014
Assignee:
VMware, Inc.
Inventors:
Ajay Gulati, Irfan Ahmad, Jyothir Ramanan, Carl A. Waldspurger
Abstract: Systems and methods described herein facilitate processing or rendering desktop graphics for remote desktop display in, for example, a virtual desktop infrastructure (VDI), by decreasing the amount of data being transferred from a graphics processing unit (GPU). More specifically, the embodiments described herein include a host for hosting virtual machines within a VDI, the host includes a GPU that is configured to access a reference frame associated with desktop graphics. The GPU is further configured to generate a current frame associated with desktop graphics. The GPU is also configured to compare the reference frame with the current frame to identify one or more changed portions of the current frame relative to the reference frame, wherein the changed portions are used for the generation of an encoded frame that is configured to be displayed.
Abstract: Function exits are instrumented in tail-call optimized code in which calls to target functions and return instructions are replaced by jump instructions. A probe engine identifies a tail-call jump and instruments the jumps to raise an exception. In response to an exception raised at the tail-call jump, an exception handler loads various registers and transferring control to a trampoline, which calls the jump target. After the target function returns, an exit probe is fired when the trampoline itself returns.
Type:
Application
Filed:
March 21, 2013
Publication date:
September 25, 2014
Applicant:
VMware, Inc.
Inventors:
Radu Rugina, Ricardo E. Gonzalez, Zheng He, Alok Kataria
Abstract: Probes are employed to inject errors into code. In response to a function-entry trigger event, a probe writes a predefined test value to a return value register. The probe then cause function execution to be skipped such that the test value is returned in lieu of the value which would otherwise be returned by the function. Behavior after the error is injected may then be observed, data collected, etc. such that undesired behavior (e.g., crashes) can be identified and/or corrected. In an alternative embodiment, the probe which is triggered may write a test value to a given memory address.
Type:
Application
Filed:
March 21, 2013
Publication date:
September 25, 2014
Applicant:
VMware, Inc.
Inventors:
Radu RUGINA, Vivek Mohan THAMPI, Ricardo E. GONZALEZ, Alok KATARIA
Abstract: Embodiments perform automatic selection of hosts and/or datastores for deployment of a plurality of virtual machines (VMs) while monitoring and recovering from errors during deployment. Resource constraints associated with the VMs are compared against resources or characteristics of available hosts and datastores. A VM placement engine selects an optimal set of hosts/datastores and initiates VM creation automatically or in response to administrator authorization. During deployment, available resources are monitored enabling dynamic improvement of the set of recommended hosts/datastores and automatic recovery from errors occurring during deployment.
Type:
Grant
Filed:
May 3, 2012
Date of Patent:
September 23, 2014
Assignee:
VMware, Inc.
Inventors:
Gururaja Hegdal, Kiran Kasala, Marichetty M. S.
Abstract: A technique for predictive distributed resource scheduling and distributed power management includes analyzing patterns in the workload, predicting future workloads, and making recommendations for changes to the virtual computing environment. In addition, a cost-benefit analysis can be performed to determine whether the recommended change would likely result in improved performance.
Type:
Grant
Filed:
May 25, 2011
Date of Patent:
September 23, 2014
Assignee:
VMware, Inc.
Inventors:
Anne Marie Holler, Ganesha Shanmuganathan, Chirag Bhatt, Irfan Ahmad
Abstract: A log analytics graphical user interface enables a user to dynamically extract and define a field from unstructured log data. The log analytics module automatically determines a definition for a field based on log text selected by the user. A portion of each log message is highlighted to reflect what the extracted field may be to assist users with understanding if input parameters are selected the intended log data. Changes to the definition of the field, by the user, may cause further highlighting that to indicate an incomplete or erroneous field definition.
Type:
Application
Filed:
March 14, 2013
Publication date:
September 18, 2014
Applicant:
VMWARE, INC.
Inventors:
Erik HINTERBICHLER, Chengdu HUANG, Zhenmin LI, Ron Oded GERY
Abstract: Embodiments perform end-to-end virtual network flow monitoring in a virtual datacenter and provide differentiated views to users based on user role. A target flow pattern describing data packets of interest is distributed to a plurality of applications managing VMs in the virtual datacenter, such as hosts, virtual gateways, and other virtual network applications. Each of the applications monitors data packets routed by the application by comparing the data packets to the flow pattern and selectively collecting context data describing the data packets. The context data collected by the applications is aggregated at a remote server for analysis and reporting.
Type:
Application
Filed:
March 15, 2013
Publication date:
September 18, 2014
Applicant:
VMWARE, INC.
Inventors:
Liang Cui, Wei Zhang, Jingchun Jason Jiang, Caixia Jiang
Abstract: A method for presenting an auxiliary user interface is described. A primary user interface comprising a plurality of objects is presented. In response to selecting a portion of the plurality of objects, access is granted to an auxiliary user interface. An auxiliary user interface is presented that allows for batch modification of the portion of the plurality of objects.
Type:
Application
Filed:
March 14, 2013
Publication date:
September 18, 2014
Applicant:
VMWARE,INC.
Inventors:
Imran Q. Sayed, Radhika Rayadu Vooruvakili, Eric A. Hulteen
Abstract: A computer-implemented method for managing an independent virtual disk. The method includes creating an independent virtual disk; in response to the creating the independent virtual disk, creating a first virtual machine; and attaching an independent virtual disk to the first virtual machine; and managing the independent virtual disk by controlling the first virtual machine that is attached to the independent virtual disk.
Abstract: A method of event based object ranking is described. An object query is computed based upon a user action. The results of the query are ranked based on one or more events associated with objects in the results to create ranked results. The ranked results are provided to the user in response to the query.
Abstract: Techniques for automatically persisting variable data are provided. In one embodiment, a computer system can identify, upon compiling or interpreting source code for an application, a variable in the source code that is declared with a predefined keyword. The predefined keyword can indicate that the variable should be persistent. The computer system can then generate, for each instance in the source code where data is assigned to the variable, runtime code for saving the data in a nonvolatile data store.
Abstract: A computer-implemented method for preserving an independent virtual disk. The method, includes attaching an independent virtual disk to a first virtual machine, and preserving said independent virtual disk when the independent virtual disk is detached from the first virtual machine.