Seol mar théacs é seo: Distributed systems: principles and paradigms