A New Approach To Detecting Failures In Distributed Systems