Distributed and cloud computing: from parallel processing to the Internet of things | Synapse