Distributed Algorithms in DDS: Higher Level Abstractions for Building Scalable and Fault-Tolerant Distributed Systems