Patents Assigned to VMware
-
Publication number: 20130246355Abstract: Techniques for creating a fault tolerant system in a virtual machine environment utilize a primary VM and a backup VM. To initialize the fault tolerant system, the backup VM and primary VM start from the same state. To achieve this in one embodiment, the primary VM is suspended and the state of the primary VM is copied to the backup VM. Once the backup VM has received all the primary VM's state, the primary VM is resumed. Subsequent state changes of the primary VM are buffered until the backup VM resumes, connects to the primary VM, and starts consuming the buffered content. Thereafter, synchronization is maintained by the primary VM's writing relevant state changes to a log and the backup VM's reading such relevant state changes from the log.Type: ApplicationFiled: March 20, 2013Publication date: September 19, 2013Applicant: VMware, Inc.Inventors: Michael NELSON, Daniel J. SCALES, Andrew TUCKER
-
Publication number: 20130238790Abstract: An anomaly in a shared input/ouput (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: ApplicationFiled: April 9, 2013Publication date: September 12, 2013Applicant: VMware, Inc.Inventors: Ajay GULATI, Irfan AHMAD, Jyothir RAMANAN, Carl A. WALDSPURGER
-
Publication number: 20130239107Abstract: Embodiments provide a system including a plurality of objects and a monitoring module coupled to the objects. The monitoring module is configured to determine a health value of each object. The system also includes an optimization module coupled to the monitoring module. The optimization module is configured to receive a user input indicating a utility to be increased within the system, wherein the utility is based on the health value of each object. The optimization module is also configured to identify a plurality of available actions to be performed on each object. Each available action is associated with at least one expected consequence. The optimization module is also configured to calculate an expected utility of each action based on an effect of each expected consequence on the health value of each object and select, from the available actions, an action based on the expected utility for the system.Type: ApplicationFiled: March 8, 2012Publication date: September 12, 2013Applicant: VMWARE, INC.Inventors: Moshe ZADKA, Shankar UNNI
-
Patent number: 8533382Abstract: A virtualization platform provides fault tolerance for a primary virtual machine by continuously transmitting checkpoint information of the primary virtual machine to a collector process, such as a backup virtual machine. When implemented on a hardware platform comprising a multi-processor that supports nested page tables, the virtualization platform leverages the nested page table support to quickly identify memory pages that have been modified between checkpoints. The backup virtual machine provides feedback information to assist the virtualization platform in identifying candidate memory pages for transmitting actual modifications to the memory pages rather than the entire memory page as part of the checkpoint information. The virtualization platform further maintains a modification history data structure to identify memory pages that can be transmitted simultaneous with the execution of the primary virtual machine rather than while the primary virtual machine has been stunned.Type: GrantFiled: January 6, 2010Date of Patent: September 10, 2013Assignee: VMware, Inc.Inventors: Daniel J. Scales, Pratap Subrahmanyam, Ganesh Venkitachalam, Michael Nelson
-
Patent number: 8533745Abstract: Completion interrupts corresponding to I/O requests issued by a virtual machine guest, which runs on a host platform, are virtualized in such a way that I/O completion interrupts to the requesting guest are delivered no faster than it can stably handle them, but, when possible, faster than the nominal speed of a virtual device to which a virtual machine addresses the I/O request. In general, completion events received from the host platform in response to guest I/O requests are examined with respect to time. If enough time has passed that the virtual device would normally have completed the I/O request, then the completion interrupt is delivered to the guest. If the nominal time has not elapsed, however, the invention enqueues and time-stamps the event and delivers it at the earliest of a) the normal maturity time, or b) at a safepoint.Type: GrantFiled: December 14, 2010Date of Patent: September 10, 2013Assignee: VMware, Inc.Inventors: Ole Agesen, Boris Weissman, Keith Adams, Jennifer-Ann M. Anderson, Maxime Austruy
-
Publication number: 20130232463Abstract: A deployment system enables a developer to customize a deployment plan generated according to a logical, multi-tier application blueprint for deploying multiple applications in a cloud infrastructure. Using the deployment system, the developer inserts a custom script or task in a sequence of tasks to be performed to deploy an application component in different phases (e.g., installation, configuration, start-up) on a virtual machine. The deployment system anchors the custom script to the different phases of the application component's deployment such that the customizations to the deployment plan are maintained through changes to the underlying application blueprint.Type: ApplicationFiled: March 2, 2012Publication date: September 5, 2013Applicant: VMWARE, INC.Inventors: Vishwas NAGARAJA, Komal MANGTANI, Sesh JALAGAM, David WINTERFELDT
-
Publication number: 20130232500Abstract: A method is described for scheduling in an intelligent manner a plurality of threads on a processor having a plurality of cores and a shared last level cache (LLC). In the method, a first and second scenario having a corresponding first and second combination of threads are identified. The cache occupancies of each of the threads for each of the scenarios are predicted. The predicted cache occupancies being a representation of an amount of the LLC that each of the threads would occupy when running with the other threads on the processor according to the particular scenario. One of the scenarios is identified that results in the least objectionable impacts on all threads, the least objectionable impacts taking into account the impact resulting from the predicted cache occupancies. Finally, a scheduling decision is made according to the one of the scenarios that results in the least objectionable impacts.Type: ApplicationFiled: March 29, 2013Publication date: September 5, 2013Applicant: VMware, Inc.Inventors: Puneet ZAROO, Richard WEST, Carl A. WALDSPURGER, Xiao ZHANG
-
Publication number: 20130232497Abstract: A deployment system orchestrates execution of deployment plan in coordination with nodes participating in deployment of a multi-tier application in a cloud infrastructure. The deployment system distributes local deployment plans to each node and maintains a centralized state of deployment time dependencies between tasks in different local deployment plans. Prior to execution of each task, deployment agents executing on each node communicates with the centralized deployment system to check whether any deployment time dependencies need to be resolved. Additionally, the deployment system utilizes a node task timer that triggers a heartbeat mechanism for monitoring failure of deployment agents.Type: ApplicationFiled: March 2, 2012Publication date: September 5, 2013Applicant: VMWARE, INC.Inventors: Sesh JALAGAM, Komal MANGTANI, Vishwas NAGARAJA, David WINTERFELDT
-
Publication number: 20130232498Abstract: A deployment system enables a developer to generate a deployment plan according to a logical, multi-tier application blueprint defined by application architects. The deployment plan includes tasks to be executed for deploying application components on virtual computing resource provided in a cloud infrastructure. The deployment plan includes time dependencies that determine an execution order of the tasks according to dependencies between application components specified in the application blueprint. The deployment plan enables system administrators to view the application blueprint as an ordered workflow view that facilitates collaboration between system administrators and application architects.Type: ApplicationFiled: March 2, 2012Publication date: September 5, 2013Applicant: VMWARE, INC.Inventors: Komal MANGTANI, Sesh JALAGAM, Vishwas NAGARAJA, David WINTERFELDT
-
Publication number: 20130232480Abstract: 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, properties, and dependencies between top-tier and second-tier components. The application can be deployed according to the application blueprint, which means any needed VMs are provisioned from the cloud infrastructure, and application components and software services are installed.Type: ApplicationFiled: March 2, 2012Publication date: September 5, 2013Applicant: VMWARE, INC.Inventors: David WINTERFELDT, Komal MANGTANI, Sesh JALAGAM, Vishwas NAGARAJA
-
Patent number: 8528107Abstract: An administrator may set restrictions related to the operation of a virtual machine (VM), and virtualization software enforces such restrictions. There may be restrictions related to the general use of the VM, such as who may use the VM, when the VM may be used, and on what physical computers the VM may be used. There may be similar restrictions related to a general ability to modify a VM, such as who may modify the VM. There may also be restrictions related to what modifications may be made to a VM, such as whether the VM may be modified to enable access to various devices or other resources. There may also be restrictions related to how the VM may be used and what may be done with the VM. Information related to the VM and any restrictions placed on the operation of the VM may be encrypted to inhibit a user from circumventing the restrictions.Type: GrantFiled: September 14, 2006Date of Patent: September 3, 2013Assignee: VMware, Inc.Inventors: Matthew Ginzton, Matthew Eccleston, Srinivas Krishnamurti, Gerald C. Chen, Nicholas Ryan
-
Patent number: 8527673Abstract: In a virtualized computer system in which a guest operating system runs on a virtual machine of a virtualized computer system, a computer-implemented method of providing the guest operating system with direct access to a hardware device coupled to the virtualized computer system via a communication interface, the method including: (a) obtaining first configuration register information corresponding to the hardware device, the hardware device connected to the virtualized computer system via the communication interface; (b) creating a passthrough device by copying at least part of the first configuration register information to generate second configuration register information corresponding to the passthrough device; and (c) enabling the guest operating system to directly access the hardware device corresponding to the passthrough device by providing access to the second configuration register information of the passthrough device.Type: GrantFiled: May 21, 2008Date of Patent: September 3, 2013Assignee: VMware, Inc.Inventors: Mallik Mahalingam, Michael Nelson
-
Publication number: 20130227248Abstract: In a computer system having virtual machines, one or more unused bits of a guest virtual address range are allocated for aliasing so that multiple virtually addressed sub-pages can be mapped to a common memory page. When one bit is allocated for aliasing, sub-pages can be virtually addressed at a granularity that is one-half of a memory page. When M bits are allocated for aliasing, sub-pages can be virtually addressed at a granularity that is 1/(2M)-th of a memory page. The granularity of page sizes can be selected according to particular use cases. In the case of COW optimization, page sizes can be set statically between 4 KB and 2 MB or configured dynamically among multiple page sizes.Type: ApplicationFiled: February 27, 2012Publication date: August 29, 2013Applicant: VMWARE, INC.Inventors: Bhavesh MEHTA, Benjamin C. SEREBRIN
-
Publication number: 20130227558Abstract: Embodiments perform automated provisioning of a cluster for a distributed computing platform. Target host computing devices are selected from a plurality of host computing devices based on configuration information, such as a desired cluster size, a data set, code for processing the data set and, optionally, a placement strategy. One or more virtual machines (VMs) are instantiated on each target host computing device. Each VM is configured to access a virtual disk that is preconfigured with code for executing functionality of the distributed computing platform and serves as a node of the cluster. The data set is stored in a distributed file system accessible by at least a subset of the VMs. The code for processing the data set is provided to at least a subset of the VMs, and execution of the code is initiated to obtain processing results.Type: ApplicationFiled: February 29, 2012Publication date: August 29, 2013Applicant: VMWARE, INC.Inventors: Junping DU, Ying HE, Da WAN, Jun XIAO
-
Patent number: 8522228Abstract: In a method of updating software on a dormant disk, exposed files are accessed. The exposed files are exposed by mounting the dormant disk. The exposed files are scanned to determine the status of software residing on the dormant disk. The scanning is achieved without requiring booting of the dormant disk. It is determined whether an update is available for the software residing on the dormant disk.Type: GrantFiled: March 31, 2006Date of Patent: August 27, 2013Assignee: VMware, Inc.Inventors: Bich Cau Le, Robert F. Deuel, Sirish Raghuram, Yufeng Zheng
-
Patent number: 8521966Abstract: A method for enabling inter-process communication between a first application and a second application, the first application running within a first context and the second application running within a second context of a virtualization system is described. The method includes receiving a request to attach a shared region of memory to a memory allocation, identifying a list of one or more physical memory pages defining the shared region that corresponds to the handle, and mapping guest memory pages corresponding to the allocation to the physical memory pages. The request is received by a framework from the second application and includes a handle that uniquely identifies the shared region of memory as well as an identification of at least one guest memory page corresponding to the memory allocation. The framework is a component of a virtualization software, which executes in a context distinct from the context of the first application.Type: GrantFiled: November 17, 2008Date of Patent: August 27, 2013Assignee: VMware, Inc.Inventors: Gustav Seth Wibling, Jagannath Gopal Krishnan
-
Patent number: 8521504Abstract: The invention relates to managing registers during a binary translation mode in a virtual computing system. A set of registers is saved to memory before beginning to execute a series of blocks of translated code, and the contents of the set of registers are restored from memory later. A status register is maintained for tracking the status of each register within the set, the status indicating whether the contents are valid and whether the contents are saved in memory. Before the execution of each block, a determination is made as to whether the actions taken within the block relative to the registers are compatible with the current status of the registers. If the actions are not compatible, additional registers are saved to memory or restored from memory, so that the translation block can be executed.Type: GrantFiled: August 20, 2007Date of Patent: August 27, 2013Assignee: VMware, Inc.Inventors: Xiaoxin Chen, Sahil Rihan
-
Patent number: 8521686Abstract: A manager program for managing virtual machines includes a process which receives a notification message indicating an occurrence of an event affecting a data storage unit in a data storage system that supports a shared file system. The notification message might have come from a virtual machine host or resulted from a hardware reconfiguration. The manager program then determines whether another virtual machine host is sharing the data storage unit. The manager program might make this determination by polling each of the virtual machine hosts it manages or by checking information previously collected and stored in a database. If another virtual machine host is sharing the data storage unit, the manager program sends a refresh message to that virtual machine host that causes the virtual machine host to update information relating to the data storage unit in a cache associated with the virtual machine host.Type: GrantFiled: July 13, 2009Date of Patent: August 27, 2013Assignee: VMware, Inc.Inventors: Haripriya Rajagopal, Satyam Vaghani, Yuen-Lin Tan
-
Publication number: 20130219389Abstract: Methods, apparatus, and articles of manufacture to virtualize performance counters are disclosed. An example method includes scheduling a virtual machine on a processor, incrementing a virtual performance counter in response to an occurrence of a speculative event during direct execution of guest instructions by the virtual machine on the processor, and incrementing the virtual performance counter in response to an occurrence of the speculative event during execution of emulated instructions by a hypervisor on behalf of the virtual machine on the processor.Type: ApplicationFiled: August 23, 2012Publication date: August 22, 2013Applicant: VMWARE, INC.Inventors: Benjamin Charles Serebrin, Daniel Michael Hecht
-
Publication number: 20130219388Abstract: Virtual machines may be configured in a complex computing environment having dependencies among themselves and on the virtualization platform they operate on. The present disclosure formalizes these dependencies by defining a component framework that enables a deployer to know about the dependencies at deployment time and allow the platform to ensure that all required dependencies are satisfied at runtime. Disclosed is a set of Open Virtualization Format (OVF) sections that allow an OVF package to express dependencies to services using OVF meta-data. At deployment time, those OVF sections allow the platform to recognize and honor those dependencies, and at runtime provide the virtual machines with appropriate configuration meta-data.Type: ApplicationFiled: February 22, 2012Publication date: August 22, 2013Applicant: VMWARE, INC.Inventors: Jan MOELLER, Steffen GRARUP, Rene W. SCHMIDT