How Distributed Computing Works