Date of Award

Spring 1-1-2013

Document Type


Degree Name

Doctor of Philosophy (PhD)


Computer Science

First Advisor

Shivakant Mishra

Second Advisor

Richard Han

Third Advisor

Qin Lv

Fourth Advisor

Michael Eisenberg

Fifth Advisor

Jeremy Siek


Mobile devices, smartphones and tablets, have become an integral part of everyday life, allowing users to be connected and perform all sorts of computing tasks. Despite being quite powerful, smartphones and tablets are not as capable as desktops and laptops due to their small form factor and limited power, and this difference is likely to persist for a number of years. To bridge the gap, researchers and developers have started incorporating external resources such as remote nodes on the local network or the Internet and the Cloud in performing computing tasks using mobile devices. This entails offloading a part or all of a computing task to a remote node that performs the task and returns the results back to the mobile device. This allows users to perform tasks through their mobile devices that are not possible or impractical to be performed on mobile devices alone. However, offloading introduced several new challenges such as resource discovery and use, node security, and data privacy.

This dissertation discusses how partitioning can be used to provide a better computing experience to mobile users addressing the challenges related to offloading. Hardware limitation of mobile devices is addressed by providing a solution that allows the mobile user to easily build a personal computing environment by integrating several remote resources into one Logical Machine. To address the issue of user data privacy when data is shipped to untrusted remote nodes, a new approach of user-specified data partitioning is introduced. The overall execution consists of identifying sensitive data, shipping code and non-private data for remote execution and getting the results back, and then combining the results from local and remote executions on the mobile device. This approach is validated via three popular applications, image processing, audio processing and video processing applications developed for Android platform.