Patents Assigned to VMware
  • Publication number: 20110265083
    Abstract: A server supporting the implementation of virtual machines includes a local memory used for caching, such as a solid state device drive. During I/O intensive processes, such as a boot storm, a “content aware” cache filter component of the hypervisor of the server first accesses a cache structure in a content cache device to determine whether data blocks have been stored in the cache structure prior to requesting the data blocks from a networked disk array via a standard I/O stack of the hypervisor. The content aware cache filter component is implemented in an I/O virtualization layer of the standard I/O stack that sits above a file system layer of the standard I/O stack, such that any file system protocol may be implemented in the file system layer.
    Type: Application
    Filed: April 26, 2010
    Publication date: October 27, 2011
    Applicant: VMWARE, INC.
    Inventor: Scott Howard DAVIS
  • Patent number: 8046468
    Abstract: Methods and systems for allocating resources in a virtual desktop resource environment are provided. A method includes making a prediction on the future demand for processes running on a distributed environment with several hosts. The prediction is based on the process demand history and includes the removal of historic process demand glitches. Further, the prediction is used to perform a cost and benefit analysis for moving a candidate process from one host to another, and the candidate process is moved to a different host when the cost and benefit analysis recommends such move. In another embodiment, the predictions on future process demand are used for distributed power management by putting hosts in stand-by mode when the overall demand decreases or by adding hosts to the distributed environment when the load increases.
    Type: Grant
    Filed: January 26, 2009
    Date of Patent: October 25, 2011
    Assignee: VMware, Inc.
    Inventors: Canturk Isci, Chengwei Wang, Chirag Bhatt, Ganesha Shanmuganathan, Anne Holler
  • Publication number: 20110258625
    Abstract: To generate a checkpoint for a virtual machine (VM), first, while the VM is still running, a copy-on-write (COW) disk file is created pointing to a parent disk file that the VM is using. Next, the VM is stopped, the VM's memory is marked COW, the device state of the VM is saved to memory, the VM is switched to use the COW disk file, and the VM begins running again for substantially the remainder of the checkpoint generation. Next, the device state that was stored in memory and the unmodified VM memory pages are saved to a checkpoint file. Also, a copy may be made of the parent disk file for retention as part of the checkpoint, or the original parent disk file may be retained as part of the checkpoint. If a copy of the parent disk file was made, then the COW disk file may be committed to the original parent disk file.
    Type: Application
    Filed: June 28, 2011
    Publication date: October 20, 2011
    Applicant: VMWARE, INC.
    Inventors: Carl A. WALDSPURGER, Michael NELSON, Daniel J. SCALES, Pratap SUBRAHMANYAM
  • Publication number: 20110258626
    Abstract: Techniques for updating a cached version of data in a computer system upon a change of the data as stored in a shared storage system networked to the computer system are described. In accordance with such techniques, a notification from the shared storage system is received at the computer system upon attempting to access the shared storage system. The computer system then determines that the notification occurred due to an unregistering of the computer system's access to the shared storage system by a second computer system that has updated the data stored in the shared storage system. As such, the computer system re-registers its access to the shared storage system and updates the cached version of the data with the data in the shared storage system that was updated by the second computer system.
    Type: Application
    Filed: June 29, 2011
    Publication date: October 20, 2011
    Applicant: VMWARE, INC.
    Inventors: Olivier LECOMTE, Satyam B. VAGHANI, Daniel J. SCALES
  • Patent number: 8037280
    Abstract: A system and related method of operation for migrating the memory of a virtual machine from one NUMA node to another. Once the VM is migrated to a new node, migration of memory pages is performed while giving priority to the most utilized pages, so that access to these pages becomes local as soon as possible. Various heuristics are described to enable different implementations for different situations or scenarios.
    Type: Grant
    Filed: June 11, 2008
    Date of Patent: October 11, 2011
    Assignee: VMware, Inc.
    Inventors: Vivek Pandey, Ole Agesen, Alex Garthwaite, Carl Waldspurger, Rajesh Venkatasubramanian
  • Patent number: 8037227
    Abstract: Dispatching of interrupts to a processor is conditionally suppressed, that is, only if an old priority value and a new priority value are either both less than or both greater than a maximum pending priority value. This conditional avoidance of dispatching is preferably implemented by a virtual priority module within a binary translator in a virtualized computer system and relates to interrupts directed to a virtualized processor by a virtualized local APIC.
    Type: Grant
    Filed: August 14, 2009
    Date of Patent: October 11, 2011
    Assignee: VMware, Inc.
    Inventor: Boris Weissman
  • Patent number: 8037032
    Abstract: One embodiment is a method for providing incremental backups for a source computing machine, the method including: (a) creating a first backup snapshot including a virtual machine (VM) snapshot of an initial copy of a source computing machine volume, wherein said VM snapshot includes a timestamp and a first redo log file; (b) reconfiguring and customizing said first backup snapshot to create a first bootable VM, writing changes associated with said reconfiguring and customizing into said first redo log file, then creating a first bootable snapshot including a VM snapshot of said first bootable VM, wherein said VM snapshot of said first bootable VM includes a timestamp for said first bootable VM and a redo log file; (c) performing an incremental update of said first backup snapshot or a subsequent backup snapshot, then creating a subsequent backup snapshot including a VM snapshot of said incremental update, wherein said VM snapshot of said incremental update includes a timestamp for said incremental update and
    Type: Grant
    Filed: August 25, 2008
    Date of Patent: October 11, 2011
    Assignee: VMware, Inc.
    Inventors: Aleksey Pershin, Ilia Langouev, Sudarsana R. Piduri, Parag Ratankumar Shah, Joshua M. Silver
  • Publication number: 20110239213
    Abstract: A method of direct access by a virtual machine (VM) running on a host machine to physical storage via a virtual function (VF) running on an input/output (IO) adapter comprising: providing by a virtualization intermediary running on the host machine an indication of an active path associated with a virtual storage device; obtaining by a guest driver running within a guest operating system of the VM the stored indication of the active path from the shared memory region; dispatching an IO request by the guest driver to the VF that includes an indication of the active path; and sending by the VF an IO request that includes the indicated active path.
    Type: Application
    Filed: March 25, 2010
    Publication date: September 29, 2011
    Applicant: VMWARE, INC.
    Inventors: Sanjana ASWANI, Hariharan SUBRAMANIAN, Edward Joseph GOGGIN, Vibhor Arunkumar PATALE, Rupesh BAJAJ
  • Patent number: 8028071
    Abstract: A virtual computer system enabling dynamic, aggregated use of multiple TCP/IP offload engines (TOEs) by the set of guest computer systems hosted on the virtual computer system. Each of the guest computer systems includes an offload selection switch and the associated virtual machine monitor includes a first virtual context component. Second virtual context components are associated with a set of TCP/IP stacks and TOEs and interoperate with the first virtual context components to establish a virtual routing of network connections between the offload selection switches and the TOEs. The virtual context mapping retains the initially requested network connection information as well as the resolved virtual network connection established, thereby allowing the initial network connection request to be internally reapplied as required to accommodate dynamic changes in the network protocol parameters of the TOEs.
    Type: Grant
    Filed: February 14, 2007
    Date of Patent: September 27, 2011
    Assignee: VMware, Inc.
    Inventors: Mallik Mahalingam, Ramu Arunachalam, Walter Andrew Lambeth
  • Publication number: 20110231696
    Abstract: Methods and systems for cluster resource management in virtualized computing environments are described. VM spares are used to reserve (or help discover or otherwise obtain) a set of computing resources for a VM. While VM spares may be used for a variety of scenarios, particular uses of VM spares include using spares to ensure resource availability for requests to power on VMs as well as for discovering, obtaining, and defragmenting the resources and VMs on a cluster, e.g., in response to requests to reserve resources for a VM or to respond to a notification of a failure for a given VM.
    Type: Application
    Filed: March 17, 2010
    Publication date: September 22, 2011
    Applicant: VMWARE, INC.
    Inventors: Minwen JI, Elisha ZISKIND, Anne Marie HOLLER
  • Publication number: 20110231857
    Abstract: 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: Application
    Filed: March 19, 2010
    Publication date: September 22, 2011
    Applicant: VMWARE, INC.
    Inventors: Puneet Zaroo, Richard West, Carl A. Waldspurger, Xiao Zhang
  • Publication number: 20110231440
    Abstract: Systems and methods of executing an application in an application specific runtime environment are disclosed. The application specific runtime environment is defined by an application environment specification to include a minimal or reduced set of software resources required for execution of the application. The application environment is generated by determining software resource dependencies and is used to provision the application specific runtime environment in real-time in response to a request to execute the application. Use of the application specific runtime environment allows the application to be executed using fewer computing resources, e.g., memory.
    Type: Application
    Filed: May 31, 2011
    Publication date: September 22, 2011
    Applicant: VMWARE, INC.
    Inventors: Stevan VLAOVIC, Richard OFFER, Lynn LEBLANC
  • Patent number: 8024506
    Abstract: The invention is used in a virtual machine monitor for a multiprocessing system that includes a virtual memory system. During a software-based processing of a guest instruction, including translating or interpreting a guest instruction, mappings between virtual addresses and physical addresses are retained in memory until processing of the guest instruction is completed. The retained mappings may be cleared after each guest instruction has been processed, or after multiple guest instructions have been processed. Information may also be stored to indicate that an attempt to map a virtual address to a physical address was not successful. The invention may be extended beyond virtual machine monitors to other systems involving the software-based processing of instructions, and beyond multiprocessing systems to other systems involving concurrent access to virtual memory management data.
    Type: Grant
    Filed: September 21, 2007
    Date of Patent: September 20, 2011
    Assignee: VMware, Inc.
    Inventors: Ole Agesen, Pratap Subrahmanyam
  • Publication number: 20110225205
    Abstract: A database query optimization method is provided for database queries that include predicates, the queries being directed to at least one database table having data in rows and columns. The method includes associating a lineage bit set with each row of the database table, the lineage bit set providing a binary predicate state indication whether each predicate is met or are not met by data in the row. A dependency bit set is established to provide a binary indication of the predicates that are included in each query. Queries are applied against the database table by a logical operation between the lineage bit set and the dependency bit set. A database query optimization data structure includes a lineage bit set associated with each row in the database table. The lineage bit set provides a binary predicate state indication whether each predicate is met or are not met by data in the row.
    Type: Application
    Filed: May 19, 2011
    Publication date: September 15, 2011
    Applicant: VMWARE, INC.
    Inventors: Russell OKAMOTO, Greg PASSMORE
  • Patent number: 8019861
    Abstract: A speculative virtual machine (“VM”) resource scheduler for a VM that is hosted by a primary host server initiates the creation of at least one duplicate VM on a secondary host server. The VM and the duplicate VM are run substantially in lockstep while the scheduler monitors resources on the primary host server and the secondary host server. The scheduler then determines an advantageous host server among the primary host server and the secondary host server and, based at least in part on the determination, initiates the powering down of either the VM on the primary host server or the duplicate VM on the secondary host server.
    Type: Grant
    Filed: January 29, 2009
    Date of Patent: September 13, 2011
    Assignee: VMware, Inc.
    Inventor: Matthew David Ginzton
  • Publication number: 20110218730
    Abstract: One embodiment of the present invention is a method for managing a datacenter using a mobile device, which method includes: (a) in response to a user request, the mobile device causing an identification prober to obtain information from one or more of a plurality of identification providers disposed at predetermined locations in the datacenter, and determining a mobile device location in the datacenter therefrom; (b) the mobile device requesting a datacenter map from a datacenter management system, displaying at least a portion of the map on a mobile device display, and displaying the mobile device location on the at least a portion of the map; and (c) the mobile device obtaining an equipment location of an equipment in the datacenter from the datacenter management system, displaying directions from the mobile device location to the equipment location, and displaying the equipment location on the at least a portion of the map if it fits in the display.
    Type: Application
    Filed: March 5, 2010
    Publication date: September 8, 2011
    Applicant: VMWARE, INC.
    Inventors: Eric Marshall RIDER, Benjamin Trevor KOLIN, Karen Natalie WONG
  • Publication number: 20110219447
    Abstract: Computer implemented methods, system and apparatus for managing execution of a running-page in a virtual machine include associating an execution trace code with the running page by a security virtual machine. The execution trace code generates a notification upon initiation of the execution of the running page by the virtual machine. The notification is received by the security virtual machine running independent of the virtual machine executing the running-page. The running page associated with the execution trace code is validated by the security virtual machine as authorized for execution. An exception is generated if the running-page is not authorized for execution. The generated exception is to prevent the execution of the running page in the virtual machine.
    Type: Application
    Filed: March 8, 2011
    Publication date: September 8, 2011
    Applicant: VMWARE, INC.
    Inventors: Oded HOROVITZ, Samuel LARSEN, Gilad Arie WOLFF, Marios LEVENTOPOULOS, Bharath CHANDRAMOHAN
  • Publication number: 20110219433
    Abstract: Methods, systems, and techniques for task-based access control are provided. Example embodiments provide a task-based access control system “TBACS,” which provides task-based permissions management using proxy task objects. In one example embodiment, the proxy task objects encapsulate activities, comprising one or more privileges, each associated with an object upon which the privilege can act. In some examples, proxy task objects may be used with a virtualization infrastructure to delegate permissions to delegate users, real or automated. Proxy task objects may also be associated with their own user interfaces for performance of the corresponding activities.
    Type: Application
    Filed: March 4, 2011
    Publication date: September 8, 2011
    Applicant: VMWARE, INC.
    Inventor: Conrad ALBRECHT-BUEHLER
  • Patent number: 8015367
    Abstract: A host computer system is configured to present each of multiple resident contexts with an address space that may be mapped, at least in part, to corresponding portions of a host memory. The address space of a selected context is sampled, and, for each of a plurality of sampled portions of the address space of the selected context that are backed by a corresponding portion of host memory, a count of the number of portions of address spaces of any contexts that are backed by the same portion of the host memory is obtained. A metric is then computed as a function of the count. A decision about swapping out or reclaiming the allocation of the memory of the contexts is based on the metric. The metric is preferably a function of a mean (such as harmonic, geometric or arithmetic) or median of the counts for each context.
    Type: Grant
    Filed: February 16, 2007
    Date of Patent: September 6, 2011
    Assignee: VMware, Inc.
    Inventors: Anil Rao, Carl Waldspurger, Xiaoxin Chen
  • Patent number: 8013859
    Abstract: A graphical display combines multiple dimensions of information relating to resource allocation and usage by a group of computer systems and sub-systems of the computer systems. The graphical display includes a series of graphics, each indicating resource usage by one of the computer systems. In addition, each graphic has multiple sections. Each section of the graphic indicates resource usage by a sub-system that is within the computer system represented by the graphic. Each section of the graphics may also be color-coded. The color code indicates the amount of resources the associated sub-system is receiving relative to the amount of resources that has been designated for that sub-system.
    Type: Grant
    Filed: March 20, 2008
    Date of Patent: September 6, 2011
    Assignee: VMware, Inc.
    Inventor: Thomas C. Cannon, III