Some mobile applications, such as location based social networking, process and make use of the phone’s various sensor data. However, extensive use of sensors, such as obtaining a GPS reading, is expensive in terms of energy and this limits the mobile phone in providing the user a better service through its embedded sensors. Furthermore, consider applications that require extensive processing – image processing for video games, speech synthesis, natural language processing, augmented reality, wearable computing—all these demand high computational capacities thus restricting the developers in implementing applications for mobile phones. Considering the trends in mobile phone architecture and battery, it is unlikely that these problems will be solved in the future. This is, in fact, not merely a temporary technological deficiency but intrinsic to mobility [4], and a barrier that needs to be overcome in order to realize the full potential of mobile computing.