Architecture for Large Scale Offloading of Performance Driven Context Specific Distributed Mobile Applications

Department of Computer Science and Engineering, Arizona State University

Faculty Advisor

Sandeep K.S. Gupta
Department of Computer Science and Engineering
Arizona State University

Research Faculty

Ayan Banerjee
Department of Computer Science and Engineering
Arizona State University

Present Students



Advancements in wearables and smart phone technology have provided the opportunity for: data driven evaluation of innovative user contexts such as cognitive states and gathering of information content at high data rate. Such access to context rich data, can potentially enable computationally intensive crowd-sourcing applications. Considering limited resources on single device and context required in distributed app may be available on multiple devices processing this continuous data in cloud may be expensive. On the other hand, increase in smartphone usage allows neighbouring smart phones to potentially serve as computational surrogates at low communication cost due to their proximity. Idea of ContextMete is to provide a distributed framework that can utilize cloud computing infrastructure composed of mobile, laptops, desktops to run context specific distributed applications..


We envision ContextMete to meet the following set of goals:

  • Collaborative data driven real time applications
  • Interaction model driven heterogeneous task offload
  • Sharing of models between smart applications.
  • User preference driven application execution

Architectural Design

We explore ContextMete, a smart infrastructure application design and development framework, that enables optimized offload of decision algorithms, fast data-driven learning of human interaction models, and sharing of contextual data among applications.

ContextMete is composed of Context and Resource manager that handles the gathering of sensor data, derive contexts and predicts context as well as resources for the mobile device. While making offload decision, it chooses devices to execute a given task based on how well the context and resource on the device match the requirements of the task.

The workflow manager, execution manager are responsible of execution of task. Execution manager is executes the task locally while offload manager and communication manager manage task offload.

ContextMete Architecture

Human Mobile interaction models

We plan to consider three different types of human interaction models driven by: a) mobility, b) usage of personal devices, and c) physiological changes. This information is gathered by monitoring the mobile devices for context informations and developing prediction models.

Approach: Different interactions may require diverse mathematical treatments, however, we only plan to explore a data-driven modeling approach. Such an approach is essential for the models to be used in practice. We will consider modeling mobility, using statistical models, usage patterns, using time series prediction techniques such as Auto-Regressive and Integrated Moving Average (ARIMA) and physiological changes, using machine learning models or combination of such models. As shown in our previous work, such approaches may lead to accurate models if provided with real data.

Examples of human mobile interaction models used in smart offload decision

As a part of the smart offload decision we integrate a localition prediction, battery level prediction derived from continuous monitoring of the offload devices.

Different types of context monitored on ContextMete participating devices

Prediction models with data monitored on mobile devices

Battery level prediction: We monitor the resources on the phone to develop a battery level prediction model that uses the CPU Usage, current battery level, charging or discharging state of the battery to estimate the level of battery for the next hour.

Mental State prediction: The mental state of the mobile device user is obtained by collecting the EEG signals using NeuroSky headset. Machine learning based models predict the mental state of the user.

Location prediction: GPS location data, wifi state is monitored to to obtain location context. During the day, the location of the user is obtained to determine seasonal patterns that are further used for prediction of battery level.

Battery level prediction using regression based models

Mental state prediction using machine learning models

Location prediction

Offload decision considering context matching and resource optimization.

We developed a two tier optimization scheme that evaluates the current state of context on connected devices, available resources and makes a decision of offload.

Tier 1: In every mobile device, the current context values are compared to the context available on the device. If the exact context requirements match, the device is suitable to run the ContextMete app.

Tier 2: In case of new app or change in the context state, new offload device is required. In this case, amongst the available devices, required context values are compared to the context available on the device. If the exact context requirements match, the device that has matching context is chosen for offload.

Experimental Set up

We test the implementation of ContextMete by running the ContextMete app on the available devices and execute some distributed applications on it.

Example Smart Stadium:: Consider a stadium where on entry all individuals are provided with a Google glass, which connects to their smartphones. The glass has capabilities to record their viewing space and stream it to their smartphones. A smart application can be envisioned where any individual can request a real time 360° video feed of the playground. This video stream is composed by capturing viewing space from individuals at strategic positions and stitching them in real time. The application selects candidate individuals primarily based on their location. The glass of each selected individual captures video snippets from their viewing space, and sends them to the smartphone, which converts them into frames locally. Here since the video stream is of high data rate it is beneficial to offload frame extraction computation to the source of data rather than transferring the entire video to some cloud server. The next step is to merge the frames to form a 360° frame. Here the smartphone of one individual may send the frames to the other selected individual using device to device (D2D) communication such as Bluetooth, and one of them will merge the frames. Using such distributed computation offloading a 360° frame will be created by avoiding expensive video transmission to the cloud server. The encoding of the frames into a video stream is an extremely expensive operation and may not be performed in a single phone. Hence, every individual which stores a 360° frame uploads the frames to a cloud server, which encodes them to a video and sends it to the requesting individual.

Distributed app to obtain 360° video from volunteer devices in stadium.

Set up of devices running ContextMete

Limits of resources on volunteer devices e.g. battery level

ContextMete Running on the Device

Resource Usage obtained from connected devices


  • Madhurima Pore, Vinaya Chakati, Ayan Banerjee, and Sandeep K. S. Gupta, Poster Abstract: ContextMete: Context Optimized Peer Offload Architecture for Distributed Mobile Applications, in the First IEEE/ACM Symposium on Edge Computing October 27-28, 2016, Washington DC, USA. [ PDF | bib ]

  • M. Pore, K. Sadeghi, V. Chakati, A. Banerjee, and S. K. S. Gupta, Enabling Real-Time Collaborative Brain-Mobile Interactive Applications on Volunteer Mobile Devices, The 2nd ACM Workshop on Hot Topics in Wireless, Paris, France, 2015. [ PDF | bib ]

Last Updated: 11th May 2008

Photos: AFP,,

Sponsor logos are registered trademarks of National Science Foundation and Mediserve Information Systems Inc, respectively