fault tolerance theory 2382665