ABSTRACT

Dependability of software has become an important consideration in the design and implementation of modern applications. As software becomes more distributed and employed over unreliable networks, high availability and fault tolerance present a challenge. Many models and protocols exist to provide faulttolerance at the software level. However, the majority of these solutions assumes failure models that only focus on node crashes and do not provide for the partitioning of the underlying network. When a network link becomes unavailable, the system might be split in two or more partitions that are unable to communicate with each other. This type of failure is ignored by many systems. For example the Fault Tolerant CORBA standard (Object Management Group 2004b)

∗ This work has been funded by FEDER and the Spanish MEC under grant TIN2006-14738-C02-01 and by the European Community under the FP6 IST project DeDiSys (Dependable Distributed Systems), contract number 4152.