Cluster Computing, Grid Computing and Edge Computing