Fundamentals of Mobile and Pervasive Computing