Contemporary Computing - Ranka, Sanjay; Banerjee, Arunava; Biswas, Kanad Kishore (Springer Berlin Heidelberg, 2010)