The differences among grid, cloud, edge, and fog computing