Abstract :
Consider a logical structure S constructed over a given network G and possessing certain properties specified by a requirement predicate P(S´, G). Consider a failure event involving a set F of disconnected edges or crashed vertices. The paper deals with making S fault-tolerant, i.e., ensuring that after the failure event, the surviving structure S´ = SF continues to satisfy V. This requirement for fault-tolerance can be interpreted in two different ways. Rigid fault-tolerance means that after the failure event F, we insist on imposing on the surviving structure S´ the requirements of V with respect to the original network G, i.e., demanding that S´ satisfies the predicate P(S´, G). Alternatively, competitive fault tolerance involves evaluating the performance of the surviving S´ with respect to the surviving network G´ = G F, i.e., requiring that subsequent to the failure event F, the surviving S´ satisfies P(S´, G´). The paper introduces the distinction between rigid and competitive fault tolerance in network structures, and explores this distinction through studying MST structures, connectivity structures and flow structures. In particular, necessary and sufficient conditions are established for the existence of rigid fault tolerant structures, and constructions are presented for both types of structures.