End-consumer Computing: Concepts, Methodologies, Tools and Applications