Principles of Mobile Computing and Communications