Synchronization of virtual machine-based desktop environments
AssigneeThe Boeing Company
InventorJonathan N. Hotra
Life of this patent
Estimating the term…
Abstract
Systems, methods, and computer program products to synchronize software processes in a virtual machine environment are described herein. In one embodiment, a computer-based system comprises at least one processor, first logic instructions stored in a tangible computer readable medium which, when executed by the at least one processor, configure the at least one processor to define at least a first virtual machine and a second virtual machine, both of which execute on the at least one processor, and second logic instructions stored in a tangible computer readable medium which, when executed by the at least one processor, configure the at least one processor to synchronize execution of operations on the first virtual machine and the second virtual machine.
Claims20
A computer system, comprising:
- a memory comprising instructions that when executed by a processor cause the processor to perform operations including;
- synchronizing timing of execution of first operations of a first virtual machine executing on the processor and second operations of a second virtual machine executing on the processor by:
- receiving a first ready signal from the first virtual machine based on the first virtual machine reaching a first cross-channel operation of the first operations, the first cross-channel operation including asserting a first value at the first virtual machine;
- receiving a second ready signal from the second virtual machine based on the second virtual machine reaching a second cross-channel operation of the second operations, the second cross-channel operation including asserting a second value at the second virtual machine;
- and
- after receiving the first ready signal and the second ready signal, transmitting a first go signal to the first virtual machine and a second go signal to the second virtual machine, wherein the first virtual machine checks the second value in response to the first go signal, and wherein the second virtual machine checks the first value in response to the second go signal.
A computer-based method, comprising:
- synchronizing timing of execution of first operations of a first virtual machine executing on a processor and second operations of a second virtual machine executing on the processor by:
- receiving a first ready signal from the first virtual machine based on the first virtual machine reaching a first cross-channel operation of the first operations, the first cross-channel operation including asserting a first value at the first virtual machine;
- receiving a second ready signal from the second virtual machine based on the second virtual machine reaching a second cross-channel operation of the second operations, the second cross-channel operation including asserting a second value at the second virtual machine;
- and
- after receiving the first ready signal and the second ready signal, transmitting a first go signal to the first virtual machine and a second go signal to the second virtual machine, wherein the first virtual machine checks the second value in response to the first go signal, and wherein the second virtual machine checks the first value in response to the second go signal.
A non-transitory computer-readable medium comprising instructions executable by a processor to perform operations including:
- synchronizing timing of execution of first operations of a first virtual machine executing on the processor and second operations of a second virtual machine executing on the processor by:
- receiving a first ready signal from the first virtual machine based on the first virtual machine reaching a first cross-channel operation of the first operations, the first cross-channel operation including asserting a first value at the first virtual machine;
- receiving a second ready signal from the second virtual machine based on the second virtual machine reaching a second cross-channel operation of the second operations, the second cross-channel operation including asserting a second value at the second virtual machine;
- and
- after receiving the first ready signal and the second ready signal, transmitting a first go signal to the first virtual machine and a second go signal to the second virtual machine, wherein the first virtual machine checks the second value in response to the first go signal, and wherein the second virtual machine checks the first value in response to the second go signal.
Dependencies are inferred from the claim text.