VMware Patent Grants

Systems and methods for using screen sampling to detect display changes

Granted: January 17, 2017
Patent Number: 9547466
A graphical user interface (GUI) is polled to identify updates for transmission to a client device. A generalized poll of the GUI is conducted at a first frequency, wherein the poll compares color values of each pixel in a general region of the GUI with a previously known color value for that pixel to detect changed pixel color values. A local region that is a subset of the general region is determined to have a greater likelihood of being updated, e.g., regions encompassing a location…

Synthetic device for installation source media

Granted: January 17, 2017
Patent Number: 9547506
In one embodiment, a computer system provides a process for executing software that cannot be executed in a first configuration. The computer system determines source media for the software stored in a first data store, the source media being in the first configuration. The computer system retrieves metadata relating to executing the software from the source media. The computer system next transforms the retrieved metadata to generate a second configuration of the source media according…

Tracking guest memory characteristics for memory scheduling

Granted: January 17, 2017
Patent Number: 9547510
A system and method are disclosed for improving operation of a memory scheduler operating on a host machine supporting virtual machines (VMs) in which guest operating systems and guest applications run. For each virtual machine, the host machine hypervisor categorizes memory pages into memory usage classes and estimates the total number of pages for each memory usage class. The memory scheduler uses this information to perform memory reclamation and allocation operations for each virtual…

Maintaining virtual hardware device ID in a virtual machine

Granted: January 17, 2017
Patent Number: 9547514
An example method to maintain services in a cloned virtual machine (VM) includes detecting a cloning operation of a virtual machine, the cloning operation causing the cloned virtual machine to be generated from a source virtual machine having a first virtual network interface card (VNIC) with a first machine access control (MAC) address, the cloned virtual machine having a second VNIC with a second MAC address unique from the first MAC address, and causing a device identifier associated…

Application-specific data in-flight services along a communication path selected based on a DIF services policy associated with a VM

Granted: January 17, 2017
Patent Number: 9547517
Embodiments provide data in-flight (DIF) services to software applications such as virtual machines (VMs) at an application level without requiring modification to established storage protocols. In exemplary embodiments, a software application is associated with a DIF services policy indicating one or more DIF services to apply to the software application. Data transmitted by the software application to a destination is tagged based on the DIF services policy associated with the software…

Recovery system and method for performing site recovery using replicated recovery-specific metadata

Granted: January 17, 2017
Patent Number: 9547563
A recovery system and method for performing site recovery utilizes recovery-specific metadata and files of protected clients at a primary site to recreate the protected clients at a secondary site. The recovery-specific metadata is collected from at least one component at the primary site, and stored with the files of protected clients at the primary site. The recovery-specific metadata and the files of the protected clients are replicated to the secondary site so that the protected…

Method and system for restoring consumed memory after memory consolidation

Granted: January 17, 2017
Patent Number: 9547600
One embodiment of the system disclosed herein facilitates reduction of latency associated with accessing content of a memory page that has been swapped out by a guest operating system in a virtualized computer system. During operation, a hypervisor detects an I/O write command issued by the guest operating system at a swap location within the guest operating system's swap file and records the swap location. The hypervisor then prefetches contents of a page stored at the swap location…

Methods for the cyclical pattern determination of time-series data using a clustering approach

Granted: January 17, 2017
Patent Number: 9547710
Cycles and other patterns within time-series data are determined. Time-series data are transformed into discretized sets of clustered data that are organized by time period. Comparison is made of the organized data to determine similar time periods and multiclusters of the similar time periods are formed. From the multicluster data, cycles are identified from which thresholds and other useful data may be derived, or the data used for other useful purposes.

Sharing remote sessions of a user interface and/or graphics of a computer

Granted: January 17, 2017
Patent Number: 9549045
Methods, systems, and techniques for sharing a remoted user interface are described. Example embodiments provide a Remote Session Sharing Protocol (“RSSP”) for sharing a remoted user interface and/or graphics of a same computer system operating system or application. Use of the RSSP enables server computing systems to optimize the utilization of frame buffers and state information when multiple clients connect to the same remote session (e.g., connect to the same user interface of an…

User interface virtualization of context menus

Granted: January 10, 2017
Patent Number: 9542080
User interface virtualization describes a technique for providing a user with access to one computing device from another computing device, while translating the ergonomics of one computer's user interface style into the ergonomics of the other's. An agent running on a remote desktop may use an interface interaction API or software framework to programmatically open and manipulate a context menu on the remote desktop, and act as a proxy for a corresponding client running on a client…

Secure cross-process memory sharing

Granted: January 10, 2017
Patent Number: 9542112
Techniques for enabling secure cross-process memory sharing are provided. In one set of embodiments, a first user process executing on a computer system can create a memory handle representing a memory space of the first user process. The first user process can further define one or more access restrictions with respect to the memory handle. The first user process can then transmit the memory handle to a second user process executing on the computer system, the memory handle enabling the…

Preserving user profiles across remote desktop sessions

Granted: January 10, 2017
Patent Number: 9542209
User profiles of remote desktops are managed in a crash-consistent manner. When a user logs into a remote desktop, metadata of the user profile is loaded from persistent storage while registry settings and files of the user profile are loaded asynchronously with respect to the login. During the remote desktop session, snapshots of the remote desktop image in persistent storage are generated periodically, and a change log that indicates changes to the user profile is created therefrom.…

User space function execution from a kernel context for input/output filtering from a thread executing in the user space

Granted: January 10, 2017
Patent Number: 9542224
The approaches described herein implement execution of a user space operation from a kernel context. A thread, executing on a computing device, initializes a second kernel stack based on a first kernel stack. The computing device executes an operating system having a user space and a kernel space. The thread, executing in kernel space, performs a non-blocking call (e.g., an upcall) to execute an upcall function in user space, such as filtering input/output (I/O) requests. The upcall…

User interface for controlling use of a business environment on a mobile device

Granted: January 10, 2017
Patent Number: 9544274
A graphical user interface to provision business environments on mobile devices presents a navigation panel that displays a virtual phone template menu item and a policy setting menu item. Upon selection of the virtual phone template menu item, a template user interface is presented that enables an administrator to customize virtual phone image templates for users to be delivered to mobile devices that are configured to run the virtual phone image templates as virtual machines on the…

Transferring web-application prerequisite files while authentication interface occludes web-application interface

Granted: January 10, 2017
Patent Number: 9544296
A web browser sends to a web-application server a request to access a web application. The web server transmits to the web browser a parent document with an inline frame (iframe) containing a Uniform Resource Locator (URL) to an authentication location. In response, a child document is transferred to the web browser. The child document occludes the parent document and presents a user interface for user authentication. Rather than wait until authentication is complete to begin…

Management of software updates in a virtualized environment of a datacenter using dependency relationships

Granted: January 3, 2017
Patent Number: 9535684
An approach to managing software components in a datacenter having virtualized components includes maintaining a suitable data construct for representing the virtualized elements. In embodiments, virtualized elements include knowledge relating to instantiations of virtual machines. Management of software components includes traversing a data representation of the datacenter, and assessing the compatibility of the software component with components in the datacenter that relate to the…

Creating a communication channel between different privilege levels using wait-for-event instruction in systems operable at multiple levels hierarchical privilege levels

Granted: January 3, 2017
Patent Number: 9535772
In a computer system operable at multiple hierarchical privilege levels, a “wait-for-event” (WFE) communication channel between components operating at different privilege levels is established. Initially, a central processing unit (CPU) is configured to to “trap” WFE instructions issued by a client, such as an operating system, operating at one privilege level to an agent, such as a hypervisor, operating at a more privileged level. After storing a predefined special sequence in…

Transparent and lightweight recovery from hardware memory errors

Granted: January 3, 2017
Patent Number: 9535789
Systems and methods are disclosed that allow for transparently recovering from an uncorrected multi-bit error of arbitrary length located at a memory address. Storing one or more parity pages, for a set of pages in system memory, such that a page in the set of pages may be reconstructed using one of the parity pages is disclosed. Storing an indication of one or more page'disk location such that the one or more pages may be reconstructed by refilling the page from disk is also disclosed.

MTU management in a virtualized computer system

Granted: January 3, 2017
Patent Number: 9537797
A management module is implemented in a virtualization software of a virtualized computing device having one or more virtual machines and a virtual switch configured therein. The management module detects a mismatch between a maximum transmission unit (MTU) of the virtual switch and an MTU of a virtual network interface of a virtual machine. An error message may be immediately returned so that the MTU of the virtual network interface may be corrected in response thereto. Otherwise, an…

Binary editing of applications executed by virtual machines

Granted: December 27, 2016
Patent Number: 9529628
Systems and techniques are described for modifying an executable file of an application and executing the application using the modified executable file. A described technique includes receiving, by a virtual machine, a request to perform an initial function of an application and an executable file for the application. The virtual machine modifies the executable file by redirecting the executable file to a custom runtime library that includes a custom function configured to initialize…