Patents Assigned to VMware
  • Patent number: 8577853
    Abstract: A shared file system for a group of host computer systems is upgraded in-place in a manner that the shared file system can remain online and accessible to the host computer systems. Each host computer system first loads a new file system driver that is backward compatible with a driver that is currently used by them to interact with the file system. Second, one of the host computer systems acquires locks to file system management data structures of the file system, upgrades the file system management data structures, and upon completion thereof, notifies the other host computer system that the upgrade to the file system management data structures is complete.
    Type: Grant
    Filed: August 17, 2011
    Date of Patent: November 5, 2013
    Assignee: VMware, Inc.
    Inventors: Jinyuan Li, Murali Vilayannur, Mayank Rawat, Satyam B. Vaghani
  • Patent number: 8578380
    Abstract: A condition variable for controlling access to a critical section of computer code by a plurality of concurrently running execution threads comprises a data structure with a head list linking threads in an arrival order and a tail list linking threads in a reverse arrival order. Together, the head and tail lists together indicate which threads are currently blocked on the condition variable. A wait counter indicates how many threads are currently linked in the data structure and a signal counter indicates how many times the condition variable has been signaled for waiting threads that are currently linked in the data structure. The head and tail pointers, as well as the wait and signal counters, may be implemented as fields of a single, atomically updatable data word.
    Type: Grant
    Filed: August 27, 2004
    Date of Patent: November 5, 2013
    Assignee: VMware, Inc.
    Inventors: Keith M. Adams, Ole Agesen
  • Patent number: 8578083
    Abstract: A method of performing disk operations on a physical storage that is being managed by a storage virtual appliance (SVA), from a virtual machine (VM), is disclosed. The method includes intercepting a data read/write request form the VM. The data read/write request is intercepted in the hypervisor prior to the read/write request reaches the SVA. The VM and the SVA are hosted in the hypervisor. The read/write request includes virtual block numbers which are translated into physical block numbers before performing the read/write operation on the physical storage. The method further includes probing a copy of virtual Logical Unit Number (LUN) block numbers to physical disk block numbers mapping table (bock map table) in the hypervisor to identify physical block numbers that corresponds to the virtual block numbers in the read/write request.
    Type: Grant
    Filed: October 12, 2009
    Date of Patent: November 5, 2013
    Assignee: VMware, Inc.
    Inventors: Karthik Chandrasekaran, Supratim Deka
  • Patent number: 8577937
    Abstract: Systems and methods of executing and/or provisioning an application in an application specific runtime environment or general runtime environment are disclosed. The application specific runtime environment or general runtime environment are optionally defined by an application environment specification to include a minimal or reduced set of software resources required for execution of the application. These software resources are optionally stored in a resource repository that includes resources associated with a plurality of operating systems and/or executable applications. Various embodiments of the invention include the development of hierarchical resource metadata configured to characterize the various files, packages and file families included in the resource repository. In some embodiments this metadata is used to select between files when provisioning an application specific runtime environment.
    Type: Grant
    Filed: August 13, 2008
    Date of Patent: November 5, 2013
    Assignee: VMware, Inc.
    Inventor: Richard Offer
  • Publication number: 20130290595
    Abstract: Memory of a database management system (DBMS) that is running in a virtual or physical machine is managed using techniques that that reduce the effect of memory swaps on the performance of the physical or virtual machine. One such technique includes the steps of determining a swap rate while the database application is in an executing state, and decreasing the size of memory space available to the database application if the swap rate is above a threshold.
    Type: Application
    Filed: April 30, 2012
    Publication date: October 31, 2013
    Applicant: VMware, Inc.
    Inventors: Boris WEISSMAN, Aleksandr V. Mirgorodskiy, Ganesh Venkitachalam, Feng Tian
  • Publication number: 20130290856
    Abstract: 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 collaborates with a corresponding client running on a client machine that accepts a “touch and swipe” style input. The agent and client exchange user interface metadata and user interface input events and translate the exchanged information to provide native graphical user interface elements (at the client machine) and simulated user actions (at the remote desktop). The agent running on the remote desktop may use an interface interaction API or library to programmatically manipulate the user interface of the remote desktop responsive and act as a proxy for the corresponding client.
    Type: Application
    Filed: October 8, 2012
    Publication date: October 31, 2013
    Applicant: VMware, Inc.
    Inventors: Daniel James BEVERIDGE, Charles Andrew HIRSTIUS, Andre LEIBOVICI
  • Publication number: 20130290641
    Abstract: A mechanism is provided for managing memory of a runtime environment executing on a virtual machine. The mechanism includes an elastic cache made of objects within heap memory of the runtime environment. When the runtime environment and virtual machine are not experiencing memory pressure from a hypervisor, the objects of the elastic cache may be used to temporarily store application-level cache data from applications running within the runtime environment. When memory pressure from the hypervisor is exerted, the objects of the elastic cache are re-purposed to inflate a memory balloon within heap memory of the runtime environment.
    Type: Application
    Filed: April 30, 2012
    Publication date: October 31, 2013
    Applicant: VMware, Inc.
    Inventor: Benjamin J. CORRIE
  • Publication number: 20130290857
    Abstract: 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 exchanges metadata and input events with a corresponding client running on a client device that accepts a “touch and swipe” style input. The agent running on the remote desktop may use an interface interaction API or software framework to programmatically manipulate the user interface of the remote desktop and act as a proxy for the corresponding client. The client constructs and displays native graphical user interface elements at the client device that are virtual representations of a corresponding user interface element at the remote desktop, including file dialogs, clipboards, start menus, and task switchers.
    Type: Application
    Filed: October 23, 2012
    Publication date: October 31, 2013
    Applicant: VMware, Inc.
    Inventor: Daniel James BEVERIDGE
  • Publication number: 20130290858
    Abstract: 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 the remote desktop may use an interface interaction API or software framework to programmatically manipulate the user interface of the remote desktop and act as a proxy for a corresponding client running on a client device that accepts a “touch and swipe” style input. A user interface virtualization profile is used to specify application-specific augmentations and application-specific support for the interface interaction API.
    Type: Application
    Filed: February 27, 2013
    Publication date: October 31, 2013
    Applicant: VMware, Inc.
    Inventor: Daniel James BEVERIDGE
  • Publication number: 20130290596
    Abstract: A mechanism is provided for managing memory of a runtime environment executing on a virtual machine. A balloon agent that is part of a runtime environment is configured to coordinate inflations of a memory balloon within a heap of” the runtime environment and an out-of-heap overflow balloon, particularly in situations where a hypervisor needs to reclaim more memory from the runtime environment than the runtime environment is able to give up. The balloon agent may slowly free out-of-heap balloon memory, which may cause an increase of a target size for the balloon agent, which in turn inflates the memory balloon inside the heap of the runtime environment.
    Type: Application
    Filed: April 30, 2012
    Publication date: October 31, 2013
    Applicant: VMware, Inc.
    Inventor: Benjamin J. CORRIE
  • Patent number: 8572706
    Abstract: A policy engine is situated between the communications path of a cloud computing environment and a user of the cloud computing environment to comply with an organization's policies for deploying web applications in the cloud computing environment. The policy engine intercepts communications packets to the cloud computing environment from a user, such as a web application developer, for example, in preparation for deploying a web application in the cloud computing environment. The policy engine identifies commands corresponding to the communications packets and directs the communications packets to appropriate rules engines corresponding to such commands in order to execute rules to comply with an organization's policies. Upon completion of execution of the rules, the communications packets are forwarded to the cloud computing environment if they comply with the policies.
    Type: Grant
    Filed: April 26, 2011
    Date of Patent: October 29, 2013
    Assignee: VMware, Inc.
    Inventors: Mark Lucovsky, Derek Collison, Vadim Spivak, Gerald C. Chen, Ramnivas Laddad
  • Patent number: 8572606
    Abstract: A system and method for reducing the likelihood of concurrency errors by identifying vulnerable segments of computer code and stalling other virtual machine threads of execution. According to one embodiment of the present invention, the vulnerable segment is identified at runtime, for example in a dynamic translator. According to another embodiment of the present invention, the vulnerable segment is identified ahead of time, for example in a static translator. According to yet another embodiment of the present invention, the vulnerable segment is identified in the binary translator of a virtual machine monitor.
    Type: Grant
    Filed: March 1, 2006
    Date of Patent: October 29, 2013
    Assignee: VMware, Inc.
    Inventors: Ole Agesen, Michael Cohen, Jeffrey W. Sheldon
  • Patent number: 8572608
    Abstract: A computer implemented method for processing virtualization of physical computers that are part of a group into virtual computers is provided. The method includes obtaining relationship data from the physical computers, where the relationship data identifies parameters used to communicate within the group. Then, the method analyzes utilization parameters for each of the physical computers of the group. A visual model for proposed virtualization of the group of physical computers is then generated. The visual model identifies hosting machines designated to define a virtual computer for each of the physical computers, where the visual model provides a graphical illustration of the group of physical computers once converted to virtual computers. The method enables adjustment of the proposed virtualization of the group of physical computers.
    Type: Grant
    Filed: October 22, 2008
    Date of Patent: October 29, 2013
    Assignee: VMware, Inc.
    Inventor: Abhinav Katiyar
  • Patent number: 8566502
    Abstract: In a computer system with a disk array that has physical storage devices arranged as logical storage units and is capable of carrying out hardware storage operations on a per logical storage unit basis, a switch is provided to offload storage operations from a file system to storage hardware. The switch translates primitives used for performing storage operations into commands executable by the physical storage devices so that the data moving portion of the storage operations can be offloaded from the file system to the storage devices.
    Type: Grant
    Filed: May 29, 2008
    Date of Patent: October 22, 2013
    Assignee: VMware, Inc.
    Inventor: Satyam B. Vaghani
  • Patent number: 8566744
    Abstract: An method for use in a computer system for determining correspondence between at least two renditions of a single computer program includes enabling the identification of a selected screenshot related to navigation within the computer program and, as a response to the identification, accessing a reference screenshot captured during navigation within a first rendition and a corresponding screenshot captured during navigation within a second rendition. The reference screenshot and the corresponding screenshot are presented on a display, thereby enabling a same-display comparison of content of the reference and corresponding screenshots.
    Type: Grant
    Filed: August 12, 2010
    Date of Patent: October 22, 2013
    Assignee: VMware, Inc.
    Inventor: John Green
  • Patent number: 8560626
    Abstract: Selecting a master node in a group of computing nodes. Computing nodes exchange suitability messages, candidate messages, and master messages to indicate the state of each node. A deterministic algorithm based on scores and timings is executed by each computing node to encourage each node to select the same master node.
    Type: Grant
    Filed: January 13, 2011
    Date of Patent: October 15, 2013
    Assignee: VMware, Inc.
    Inventor: Michael Nelson
  • Patent number: 8560791
    Abstract: Techniques for migrating persistent data between and across data stores are implemented using monitoring methods. The method includes classifying frequently updated blocks of persistent data to distinguish those blocks from less frequently updated blocks of persistent data. The less frequently updated blocks are copied from the source data store to the destination data store, such that persistent data is copied to the destination data store in the absence of the persistent data of the frequently updated blocks. The method further includes identifying a modified set of the less frequently updated blocks that are modified during the copying. The modified set of less frequently updated blocks is copied from the source data store to the destination data store, without copying the frequently updated blocks. It is then determined whether to copy the frequently updated blocks of persistent data from the source data store to the destination data store.
    Type: Grant
    Filed: February 26, 2013
    Date of Patent: October 15, 2013
    Assignee: VMware, Inc.
    Inventors: Ali Mashitizadeh, Min Cai, Emre Celebi
  • Patent number: 8561061
    Abstract: Autonomous selection between multiple virtualization techniques implemented in a virtualization layer of a virtualized computer system. The virtual machine monitor implements multiple virtualization support processors that each provide for the comprehensive handling of potential virtualization exceptions. A virtual machine monitor resident virtualization selection control is operable to select between use of first and second virtualization support processors dependent on identifying a predetermined pattern of temporally local privilege dependent instructions within a portion of an instruction stream as encountered in the execution of a guest operating system.
    Type: Grant
    Filed: May 14, 2008
    Date of Patent: October 15, 2013
    Assignee: VMware, Inc.
    Inventors: Keith M. Adams, Jeffrey W. Sheldon, Vyacheslav V. Malyugin
  • Patent number: 8560747
    Abstract: A method, system and program code for implementing distributed locks to be maintained through the use of on disk heartbeats. An instance of a node need only maintain a single heartbeat for all locks associated with the node and all of its processes. The node updates its heartbeat by accessing common storage, either virtual or physical, and updating a timestamp value in its heartbeat within a predetermined time interval, otherwise the heartbeat becomes stale. Expired heartbeats can be cleared or broken to allow redistribution of any locks associated therewith. The inventive technique may be implemented in a traditional computer environment or in a fully or partially virtualized environment and requires no use of an IP network or a separate network based lock manager.
    Type: Grant
    Filed: February 16, 2007
    Date of Patent: October 15, 2013
    Assignee: VMware, Inc.
    Inventors: Yuen-Lin Tan, Satyam Vaghani, Dragan Stancevic, Abhishek Rai, Daniel J. Scales
  • Patent number: 8560577
    Abstract: Two shared data structures are maintained in a storage unit for coordinating statistic collection among multiple hosts that share the storage unit. The first data structure stores information about the number of hosts that possess slots within the second data structure and identifying information about the slots. The second data structure maintains statistics of each of the multiple hosts. By using this first data structure, hosts can be added to and deleted from the second data structure in an organized manner.
    Type: Grant
    Filed: July 12, 2010
    Date of Patent: October 15, 2013
    Assignee: VMware, Inc.
    Inventors: Irfan Ahmad, Ajay Gulati