Heterogeneity in Mobile Cloud Computing: Taxonomy and Open Challenges | Synapse