distributed systems examples