Mobile Cloud Computing with Adaptive Applications (MOCCA)

Motivation

There is a strong trend today to shift personal computing from desktop PCs to powerful mobile devices (e.g. smartphones and tablets) thanks to the advances of computing and communication technologies. Smartphone and tablet computer sales are soaring, and app markets are flourishing. This trend has already resulted in the migration of different software, including multimedia, gaming, social-networking, etc, from traditional desktop devices to mobile devices. With their growing computational power and network bandwidth, it is foreseeable that in the future, mobile devices will be used as truly personal computers running smart applications that will be able to react and adapt to their runtime environment in order to provide situative, personalized service to the user. Obviously, these smart applications will need to access remote resources and services. That is the point where mobile cloud computing (mCC) starts.

Currently, most mobile applications are being provided directly from online application stores for immediate download and installation in supported smartphones. While smartphones steadily become more powerful to improve the user-experience and provide faster processing of larger and more resource intensive handset-centric applications, in mCC both the data processing and storage is primarily being transferred from the handset itself to the cloud provider, i.e. the handset will be used as a network device to display apps in a mobile browser or through a thin-client interface. Still, many mobile applications like online gaming and augmented reality that require high-processing capacity and minimum network latency will most probably continue to be processed locally on powerful smartphones and mobile tablets while at the same time interacting with services in the cloud. However, mCC poses challenges due to the intrinsic nature and constraints of wireless networks and devices (network latency, limited and dynamically varying bandwidth, battery life). Thus dynamic solutions wrt use of cloud services (software and platform) by mobile applications are needed to improve the performance and user experience of applications and/or battery life of devices.

Objectives

The main goal is to extend the current state of the art in self-adaptive mobile applications in order to leverage the potential of cloud computing such that an adaptive application on a mobile device

(1) may be reconfigured on-the-fly in order to bind to and use a service provided in the cloud if this service provides a higher utility to the application user than what has been in use before, and

(2) may "outsource" compute intensive application or middleware components to the cloud, for example in order to gain performance, save battery resources, or obtain more storage capacity.

If successful, the results of this research will provide a seamless merging of dynamic application adaptation and access to cloud computing services and resources. Clearly, the fact that we are dealing with applications on mobile computing devices raises a number of challenges in terms of robustness, resource consumption, scalability, and more.

 

Together with our norwegian partners, we will apply our solutions on soon-to-be scenarios such as ambient assisted living. For instance, the smartphone is serving as gateway node that is communicating with sensor devices, cloud resources and further services to support elderly people in everyday life.