A virtual synchrony protocol ensures that all past operations have been delivered before a membership change is put into effect.
In our GemFire product, the equivalent of virtual synchrony is achieved in Gemfire in a component of the cache called a DistributionAdvisor. These are mini membership managers that track the ownership of cache Regions across the distributed system. When a member creates a new cache Region that others already have, the DistributionAdvisor is used to perform a flush operation (called State Flush in Gemfire) to ensure that all past operations have been applied before the new member's Region is allowed to be used. There are a number of steps involved in this operation for which I have applied for a patent (#11/982,563). Outside of this we haven't seen the need for a full virtual synchrony protocol covering all communications.