Resilient communication services protecting end-user applications from disaster-based failures ReCoDis