AcknowledgementsI would like to extend my sincere gratitude towards my thesis supervisors, Prof. Mainak Chaudhuri and Prof. Sumit Ganguly for their guidance, constant support and encouragement. This thesis would not have been possible without them.
I thank the Department of Computer Science and Engineering, IIT Kanpur for providing the necessary infrastructure and congenial environment facilitating this research work.
I also thank Tejas Gandhi for providing invaluable help in setting up Openstack, Adarsh Jagannath for various useful discussions we had which proved instrumental in the progress of this thesis, Abhimanyu Arora for working on a part of this thesis together with me, and all my fellow batchmates for the delightful time we spent together and making my stay at IITK memorable.
I am forever indebted to my family for everything in my life.