Composite lock for computer systems with multiple domains
AssigneeVMware, Inc.
InventorsOle Agesen, Keith M. Adams
Life of this patent
Estimating the term…
Loading patent…
AssigneeVMware, Inc.
InventorsOle Agesen, Keith M. Adams
Estimating the term…
In a multi-domain computer system in which several processes are running, a composite lock provides mutually exclusive access to a resource. The composite lock has a back-end component and a front-end component. The back-end component is platform-dependent and operates as a semaphore, with Wait and Signal functions. The front-end component conditionally calls the Wait and Signal functions depending on whether the lock is currently contested when a new process wishes to acquire the lock, and on whether any process is currently suspended, waiting to acquire the lock. The front-end and back-end components may execute in different domains. In the uncontested case, the invention avoids costly domain crossings. The front-end component may also include a spinning feature to further reduce the need to invoke the back-end component and cause a domain crossing. The composite lock is particularly advantageous in computer systems that include a virtual machine.
In a computer system that has a hardware platform, a software platform and a plurality of processes running in user-defined domains, a lock comprising:
In a computer system that has a hardware platform, a software platform, a resource and a plurality of user-defined domains, a lock for controlling access to the resource by a plurality of processes, the lock comprising:
A computer system comprising:
In a computer system that has a hardware platform, a software platform and a plurality of user-defined domains, a method for controlling concurrently running processes comprising:
In a computer system that has a hardware platform, a software platform and a plurality of user-defined domains, a method for controlling concurrently running processes comprising:
In a computer system that has a host hardware platform, a host software platform, a virtual machine monitor running on the hardware platform, and a virtual machine (VM) running on the virtual machine monitor, a method for controlling concurrently running processes comprising:
Dependencies are inferred from the claim text.