レプリケーション
古典的なレプリケーションの多くはプライマリ/バックアップ・モデルに基づいており、1つのデバイスやプロセスが他のデバイス群やプロセス群を制御する。例えば、プライマリがバックアッププロセスに更新ログを渡しながら何らかの計算をしている。そして、プライマリプロセスが何らかの障害で停止すると、バックアップが交代して計算を引き継ぐ。この方式では障害発生時にログの一部が失われ、バックアップがプライマリの最近の状態と全く同一とはならない可能性がある。そのため、トランザクション結果の一部が失われる危険性があるにもかかわらず、データベースでのレプリケーションでは一般的な方法であった。
プライマリ/バックアップ型の欠点は、2つのプロセスが動作しているのに、その一方しか実際には操作を行っていない点である。それによってフォールトトレラント性は得られるが、同じ処理能力にほぼ倍のコストを費やしていることになる。このため1985年ごろから、新たなレプリケーション方法が模索されはじめた。その成果として、複製群が協調動作し、各プロセスが相互にバックアップの役目を果たしつつ、負荷を共有する方式が生まれた。
データベースの研究で有名なジム・グレイは、複数プライマリ型レプリケーションによるトランザクションモデルを研究し、最終的にその方式に懐疑的な論文を発表した。