http://www.umiacs.umd.edu/~jimmylin/cloud-computing/Session5.pdf