Resource Scheduling in Mobile Cloud Computing: Taxonomy and Open Challenges