Patent ID: 8336050

Claim:
A computer-implemented method of communicating messages amongst a cluster of virtual machines executing on a host machine using virtual synchrony, comprising: receiving, by a hypervisor of a host machine from a virtual membership and message operations (VMMO) component of a sender virtual machine (VM) with membership in the cluster of virtual machines (VMs), a request to reserve a block of memory in a shared memory segment of the host machine; reserving, by a central ordering and membership unit (COMU) component of the hypervisor, the block of memory in the shared memory segment; providing, by the COMU component, a start address of the reserved block of memory to the sender VM that sent the request, wherein the VMMO component of the sender VM is configured to copy a message from an application executed by the sender VM into the reserved block of memory; sending, by the COMU component, a new message available request to all other VMs in the cluster of VMs, wherein the new message available request comprises the start address of the reserved block of memory and a length of the message copied by the sender VM; identifying, by the COMU component, each of the all other VMs in the cluster of VMs that has accessed and read the message in the reserved block of memory, wherein each of the all other VMs provides an indication to the COMU component when it has read the message in the reserved block of memory; and in response to receiving the indication, the COMU component decreasing a reference count tracking a total number of VMs that have read the message in the reserved block of memory, wherein the hypervisor further manages membership of the cluster of VMs executing on the host machine and maintains the total ordering of messages such that available messages are read by each of the all other VMs in the cluster of VMs using virtual synchrony of inter-process message passing technique.