ABSTRACT

This chapter provides descriptions of several architectural patterns based on replication and diversification, the distinction being that replication deploys two or more identical copies of a system, whereas diversification incorporates different implementations of the same function. If replication or diversification is to be used, is it better to replicate components or systems. The drive for replication often stems from the view that, if a single system cannot meet the necessary dependability requirements, and then by replicating it, a much higher level of dependability can be obtained. The strength of replication is that it allows the design to be focused cleanly on either availability or reliability. Diversification takes replication one step further, with the two subsystems somehow different from each other. Virtual synchrony, also called group synchrony, is a form of replication that can be very powerful in certain architectures.