Invia SMS: Distributed systems: principles and paradigms