VMware Patent Grants

Adjusting page sharing scan rates based on estimation of page sharing opportunities within large pages

Granted: May 23, 2017
Patent Number: 9658775
Memory performance in a computer system that implements large page mappings is improved by dynamically tuning the page scan rate at which a memory sharing module (e.g., in a hypervisor) performs small page scanning operations that identify and exploit potential small page sharing opportunities within large pages. In operation, when free memory is relatively low, the hypervisor adjusts the page scan rate based on a statistical estimate of the percentage of virtual small pages that are…

Transparent memory-mapped emulation of I/O calls

Granted: May 23, 2017
Patent Number: 9658878
A virtual-machine-based system provides a mechanism to implement application file I/O operations of protected data by implementing the I/O operations semantics in a shim layer with memory-mapped regions. The semantics of these I/O operations are emulated in a shim layer with memory-mapped regions by using a mapping between a process' address space and a file or shared memory object. Data that is protected from viewing by a guest OS running in a virtual machine may nonetheless be accessed…

Dynamic mechanism for fault injection for testing distributed systems

Granted: May 23, 2017
Patent Number: 9658934
A distributed system and method for error handling testing of a target component in the distributed system uses a proxy gateway in the target component that can intercept communications to and from remote components of the distributed system. When a proxy mode of the proxy gateway in the target component is enabled, at least one of the communications at the proxy gateway is modified to introduce an error. When the proxy mode of the proxy gateway in the target component is disabled, the…

Fault tolerant distributed query processing using query operator motion

Granted: May 23, 2017
Patent Number: 9659057
Techniques for enabling fault tolerant distributed query processing are provided. In one embodiment, a first processing node in a plurality of processing nodes can execute an instance of a query operator, where the query operator is part of a query plan for a database query that is processed in a distributed manner by the plurality of processing nodes. The first processing node can further generate a snapshot of the instance of the query operator, where the snapshot includes state…

Policy management of deployment plans

Granted: May 16, 2017
Patent Number: 9652211
A deployment system enables a developer to define a logical, multi-tier application blueprint that can be used to create and manage (e.g., redeploy, upgrade, backup, patch) multiple applications in a cloud infrastructure. The deployment system supports the use of nested policies to manage a deployment plan. Upon determining compliance to the nested policies, the application can be deployed according to an application blueprint, which means any needed VMs are provisioned from the cloud…

Methods and systems for managing virtual and real machines

Granted: May 16, 2017
Patent Number: 9652267
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.

Method and system for creating a hierarchy of virtual machine templates in a virtualized computing system

Granted: May 16, 2017
Patent Number: 9652273
A virtualized computing system supports the execution of a plurality of virtual machines, where each virtual machine supports the execution of applications therein. Each application executes within a container that isolates the application executing therein from other processes executing on the computing system. A hierarchy of virtual machine templates is created by instantiating a parent virtual machine template, the parent virtual machine template having a guest operating system and a…

CPU scheduler configured to support latency sensitive virtual machines

Granted: May 16, 2017
Patent Number: 9652280
A host computer has one or more physical central processing units (CPUs) that support the execution of a plurality of containers, where the containers each include one or more processes. Each process of a container is assigned to execute exclusively on a corresponding physical CPU when the corresponding container is determined to be latency sensitive. The assignment of a process to execute exclusively on a corresponding physical CPU includes the migration of tasks from the corresponding…

Power-aware scheduling

Granted: May 16, 2017
Patent Number: 9652298
Systems and techniques are described for power-aware scheduling. One of the techniques includes monitoring execution of a plurality of groups of software threads executing on a physical machine, wherein the physical machine comprises a physical hardware platform that includes a plurality of processor packages having a plurality of package power states, wherein the plurality of package power states includes an independent package power state; obtaining a respective independent power state…

Maintaing encryption keys to provide encryption on top of data deduplication

Granted: May 16, 2017
Patent Number: 9652634
Exemplary methods, apparatuses, and systems generate an encryption key based upon data content of a portion of data to be encrypted by the encryption key. The encryption key is stored as one of a plurality of encryption keys within a subset of storage. Each of the plurality of encryption keys is generated based upon corresponding data content. A checksum representing the plurality of encryption keys is calculated. In response to receiving an input/output (I/O) request for data encrypted…

Virtual machine deployment and management engine

Granted: May 16, 2017
Patent Number: 9654411
A virtual machine deployment and management engine deploys virtual machines to physical host computers based on a deployment time matrix. The deployment time matrix specifies approximate amounts of time used to clone or deploy a virtual machine from every host computer to every other host computer. The virtual machine deployment and management engine selects a deployment path based on the deployment times and executes the clone or deploy operations.

Centralized power management with partial suspend mode for distributed storage systems

Granted: May 9, 2017
Patent Number: 9645636
An example method is provided to perform centralized power management for a distributed storage system accessible by a cluster in a virtualized computing environment. The method may comprise a management entity identifying a first host from the cluster to enter into a partial suspend mode, and selecting a second host from the cluster to take control of a storage controller of the first host. The method may further comprise the management entity transferring control of the storage…

Application blueprints based on service templates to deploy applications in different cloud environments

Granted: May 9, 2017
Patent Number: 9645805
Disclosed examples to configure an application blueprint involve, during a design phase, binding a service template to a node of the application blueprint. The application blueprint defines an application to be deployed in a cloud environment. The service template is mapped to a plurality of services that are selectable during a runtime phase to implement the node in the cloud environment. During the runtime phase, a first one of the services is bound to the node of the application…

Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud infrastructure

Granted: May 9, 2017
Patent Number: 9645858
A deployment system enables a developer to define a logical, multi-tier application blueprint that can be used to create and manage (e.g., redeploy, upgrade, backup, patch) multiple applications in a cloud infrastructure. In the application blueprint, the developer models an overall application architecture, or topology, that includes individual and clustered nodes (e.g., VMs), logical templates, cloud providers, deployment environments, software services, application-specific code,…

Low-cost backup and edge caching using unused disk blocks

Granted: May 9, 2017
Patent Number: 9645950
A designated storage system receives a request to store data in the local storage as a backup copy. The designated storage system requests a file system in the computer system to store the backup copy as a file in the local storage and maintains a record describing storage locations for each of the one or more sets of contiguous available file system data blocks. The storage system may transmit the record to a management computer configured to track which of the computer systems has…

Multi-touch interface gestures for keyboard and/or mouse inputs

Granted: May 2, 2017
Patent Number: 9639186
A mouse-and-keyboard based user interface is updated based on gestures made on a touch screen that is displaying the mouse-and-keyboard based user interface. The user interface update process includes the steps of receiving one or more touch events in response to a gesture made on the touch screen, translating the touch events to a mouse-and-keyboard based command, transmitting the mouse-and-keyboard based command to an operating system, and receiving an updated display in response…

Method and system for determining functional tests to execute based on code coverage

Granted: May 2, 2017
Patent Number: 9639453
Techniques are disclosed for automatically determining tests to run on source code based on code coverage. In one embodiment, an extensible system takes as input a configuration file having pointers to an IP address of a server where tests are being run and a type of code coverage instrumentation. An agent configured to instrument source code and collect code coverage information is copied to the server at the IP address. During a training phase, the agent intercepts tests being run on…

Dynamic database and API-accessible credentials data store

Granted: May 2, 2017
Patent Number: 9639691
A system for managing credentials for authenticating and securely communicating with trusted hosts, for example, in a cloud computing environment. The system dynamically updates credentials stored in a database and injects the updated credentials back into a runtime environment without restarting the runtime environment or applications running on the runtime environment. Embodiments of the present invention further enable credentials to be tracked and managed on a per-tenant basis,…

Method and system for recovering from network disconnects by cloning a virtual port

Granted: May 2, 2017
Patent Number: 9641389
Techniques for managing the configuration of managed nodes in a virtual machine network are disclosed. In an embodiment, managing the configuration of a managed node involves creating a clone of a virtual port on the managed node and using the cloned virtual port as an alternative communication channel between the managed node and a virtual machine management system to modify the virtual port. This technique can be used to restore connectivity to a managed node, such as a virtual switch,…

Resolving a convex optimization problem to optimize network traffic in a distributed system

Granted: May 2, 2017
Patent Number: 9641452
Techniques are disclosed herein for managing network bandwidth in a distributed system having multiple endpoints that upload data to a central server or server cluster. One embodiment provides a computer-implemented method that includes receiving a logical topology of the network that is determined based on network measurements. The method further includes resolving a convex optimization problem over the logical topology to determine a bandwidth allocation scheme for the endpoints…