Patterns for Fault Tolerant Software