Survivable distributed systems: design and implementation (common object request broker architecture)