Distributed Computing Machines