Context-aware and automatic configuration of mobile devices in cloud-enabled ubiquitous computing