An open framework for reliable distributed computing
Benoît Garbinato, Rachid Guerraoui · ACM Computing Surveys · 2000
IONS FOR RELIABLE DISTRIBUTED COMPUTING Reliable distributed systems are challenging to build because programmers have to deal with many complex issues such as reliable communication, failure detection, replication, and consistency management. A reliable distributed environment is one that provides abstractions for hiding failures by ensuring continuous availability (liveness), and preventing failures from putting the application in a inconsistent state (safety). Two main paradigms for building reliable distributed systems have emerged over the last decades: the transaction paradigm [Bernstein et al. 1987] in databases, and the group paradigm [Birman and Van Renesse 1993] for client-server main memory applications. Although useful in the development of distributed systems, current reliable distributed environments such as group communication toolkits or transactional monitors, are hardly extensible or customizable for specific application needs. The limitations of those systems are ma...