Designing general-purpose fault-tolerant distributed systems-a layered approach | IEEE Conference Publication | IEEE Xplore