A method and system for transparent consistent active replication of
multithreaded application programs is described. At each replica, control
messages that contain mutex ordering information indicating the order in
which threads in the replicas claim mutexes are multicast, and the
control messages are delivered using a multicast group communication
protocol that delivers the messages in an order that determines the order
in which the operating system's thread library grants the claims of
mutexes to the threads in the replicas. Because the replicas receive the
same messages in the same source order, the corresponding threads in the
different replicas are granted their corresponding claims to the
corresponding mutexes in the same order, maintaining strong replica
consistency.