Source-linked AI summary

Mobile Cloud Computing: A Comparison of Application Models

Dejan Kovachev, Yiwei Cao, Ralf Klamma

arXiv:1107.4940v1cs.NIcs.DCcs.MM

TL;DR

Mobile applications have not yet realized cloud computing’s benefits because mobile devices face resource constraints, changing operating conditions, and interactivity requirements. The paper surveys and compares mobile cloud application models, defines mobile cloud computing, and identifies research challenges, concluding that existing approaches are incomplete and that potential lies between native and Web extremes through dynamic computation shifting.

  • Problem

    Mobile applications must use cloud computation and storage without sacrificing interactivity, while adapting to changing network conditions and local resource availability.

  • Method

    The paper systematically surveys and compares mobile application models through cloud-computing principles, defines mobile cloud computing, and reviews research challenges.

  • Results

    Existing mobile cloud approaches cover only subsets of the desired characteristics, and none completely meets mobile-cloud requirements.

  • Takeaways & Limitations

    The paper concludes that the full potential of mobile cloud applications lies between native and Web extremes, with computation dynamically shifted between devices and the cloud.

Abstract

from arXiv · show

Cloud computing is an emerging concept combining many fields of computing. The foundation of cloud computing is the delivery of services, software and processing capacity over the Internet, reducing cost, increasing storage, automating systems, decoupling of service delivery from underlying technology, and providing flexibility and mobility of information. However, the actual realization of these benefits is far from being achieved for mobile applications and open many new research questions. In order to better understand how to facilitate the building of mobile cloud-based applications, we have surveyed existing work in mobile computing through the prism of cloud computing principles. We give a definition of mobile cloud coputing and provide an overview of the results from this review, in particular, models of mobile cloud applications. We also highlight research challenges in the area of mobile cloud computing. We conclude with recommendations for how this better understanding of mobile cloud computing can help building more powerful mobile applications.

I. INTRODUCTION

Mobile cloud computing applies cloud principles to resource-constrained mobile devices by augmenting their capabilities through wireless access to cloud resources. The paper surveys application models, identifies unresolved challenges, and argues that existing approaches cover only subsets of the desired characteristics.

  • I. INTRODUCTION: Mobile devices support increasingly capable applications using sensing, data exchange, realtime streams, and Web 2.0 services, but remain resource-poor and less secure.Examples include games, video processing, finance, health, payments, and ticketing.
  • I. INTRODUCTION: Mobile cloud computing transparently augments mobile device capabilities through wireless access to cloud storage and computing, dynamically adapting offloading to operating conditions while preserving sensing and interactivity.The paper defines this model as combining elastic cloud augmentation with context-aware adjustment of computation placement.
  • I. INTRODUCTION: Mobile cloud applications must offload computation and storage without hurting user interactivity, introducing latency, or limiting application possibilities.The paper frames this as a central hurdle beyond simple cloud services.
  • I. INTRODUCTION: Key research challenges include abstracting heterogeneous technology, modeling performance and interactivity factors, adapting under constraints, and preserving privacy and security during cloud integration.These challenges concern building application models that can support broad computing capabilities across scenarios.
  • I. INTRODUCTION: The survey systematically compares mobile application models against cloud computing ideas and finds that existing projects cover only different subsets of desired mobile cloud characteristics.The authors therefore call for adopting a new architecture design model for cloud-connected mobile applications.
  • I. INTRODUCTION: The paper connects mobile and cloud computing by reviewing current application models, comparing promising cloud-oriented models, outlining research challenges, and concluding with recommendations.The paper is organized around status, model comparison, challenges, and conclusions.

II. CURRENT STATUS IN MOBILE APPLICATIONS

Current mobile applications are largely offline, locally processing applications and synchronizing periodically with backend systems. Native applications provide strong device integration and availability but trade these benefits for portability and development costs.

  • A. Offline Applications: Most mobile applications in this category operate as fat clients, processing presentation and business logic locally while periodically synchronizing with backend systems.A fat client keeps most resources locally rather than distributing them across a network.
  • A. Offline Applications: Offline applications provide good device integration, hardware-specific performance, multitasking, and availability without network connectivity.These capabilities arise from local execution and direct access to device functionality.
  • A. Offline Applications: Native applications lack portability across platforms, increase time to market, and require developers to learn new programming languages.These are identified as disadvantages of offline applications.

B. Online Applications

Online mobile applications rely on mostly available connections to backend systems and use Web technologies as an alternative to native applications. They improve accessibility and reduce platform-specific learning costs but compromise responsiveness, device-feature access, and long-lived communication.

  • B. Online Applications: Online applications assume that mobile devices remain connected to backend systems most of the time, with Web technologies helping address cross-platform issues.Their usefulness depends on network availability.
  • B. Online Applications: Web-based mobile applications are directly accessible from anywhere and reduce the developer learning curve because Web technologies are widespread.They are presented as a powerful alternative to native applications for overcoming some offline-app disadvantages.
  • B. Online Applications: Web applications introduce latency that harms real-time responsiveness, including effects from 30 msec latency, and cannot access device features such as cameras or motion detection.They also struggle with complex scenarios requiring communication sessions to remain active for longer periods.

C. Issues with Offline and Online Mobile Applications

Mobile cloud applications must dynamically adjust computation between devices and cloud as network conditions and local resources change. The surveyed augmented-execution approaches address smartphone limitations through cloud or nearby-cloud VM replicas, but VM synthesis can impose substantial startup delay.

  • Issues with Offline and Online Mobile Applications: Dynamic partitioning is needed because fixed execution splits cannot accommodate rapidly changing network conditions and local resource availability.Mobile cloud applications must dynamically adjust computing functionality between the mobile device and cloud.
  • Augmented Execution: Augmented execution offloads some or all computation to a cloud-hosted clone of the smartphone and reintegrates the results after execution.The cloned replica provides a virtualized or emulated execution environment for intensive tasks.
  • Augmented Execution: The five augmented-execution categories are primary functionality outsourcing, background augmentation, mainline augmentation, hardware augmentation, and multiplicity for parallel execution.These categories distinguish where and how computation is delegated from the phone.
  • Augmented Execution: Cloudlets execute computation-intensive software near mobile users through rapidly synthesized VMs, reducing wide-area latency with one-hop, high-bandwidth WLAN access.The mobile device supplies a small VM overlay that is applied to a cloudlet’s base VM.
  • Augmented Execution: VM synthesis takes 60 to 90 seconds, which may be unacceptable for simple or ad hoc tasks.This startup time is a practical boundary for nearby-cloud VM execution.

B. Elastic Partitioned/Modularized Applications

Elastic partitioned and modularized applications dynamically distribute application components between mobile devices and servers. Middleware and optimization frameworks choose offloading configurations using factors such as latency, data transfer, cost, connectivity, and battery life.

  • Elastic Partitioned/Modularized Applications: Application middleware can automatically and dynamically distribute application layers between device and server while optimizing latency, data transfer, cost, and overall performance.AlfredO decomposes presentation and logic layers, while the data layer remains server-side and the UI remains client-side.
  • Elastic Partitioned/Modularized Applications: R-OSGi enables AlfredO to decompose Java applications into software modules that can be deployed across connected environments.After deployment is computed, the client receives an application description and services for its Renderer.
  • Elastic Partitioned/Modularized Applications: MAUI uses profiling, connectivity, bandwidth, and latency information to periodically decide which annotated methods to offload for battery savings.Its fine-grained method-level offloading differs from complete-module offloading.
  • Elastic Partitioned/Modularized Applications: MAUI experiments show that separately offloading individual methods can be counter-productive, making combined methods preferable in some cases.The result limits the assumption that finer-grained offloading is always beneficial.
  • Elastic Partitioned/Modularized Applications: Weblets partition applications into platform-independent elastic components that can execute transparently on mobile devices or IaaS clouds.The application consists of a UI component, weblets, and a manifest describing the application.

C. Application Mobility

Application mobility moves running applications or their state between hosts so users can continue working across heterogeneous devices. The surveyed mechanisms range from complete VM migration to selective application migration with adaptation support.

  • Application Mobility: Application mobility migrates running application state from one device to another that the user can immediately access.It supports seamless movement of applications between heterogeneous hosts.
  • Application Mobility: Application mobility extends process migration by supporting migration across different architectures and adapting the user interface.Process migration pauses, relocates, and resumes a running process, whereas application mobility covers broader application behavior.
  • Application Mobility: Internet Suspend/Resume transports a complete virtual machine’s execution and customization state through VM technology and a distributed file system.A VM can be suspended at one Internet site and resumed at another.
  • Application Mobility: Migrating a complete VM consumes more time and bandwidth than selective application migration, motivating approaches that move individual applications and support adaptation.The cited JADE approach is described as migrating individual applications across heterogeneous hardware.

D. Ad-hoc Mobile Clouds

Ad-hoc mobile clouds use nearby mobile devices as cloud providers, offering computation offloading when Internet connectivity is weak or unavailable. The comparison evaluates these and other models across technology, cost, abstraction, adaptability, communication, and scalability.

  • Ad-hoc Mobile Clouds: Ad-hoc mobile clouds expose nearby devices’ computing resources to other mobile devices, especially when Internet connectivity is weak or absent.They can avoid roaming data charges and create local computing communities.
  • Ad-hoc Mobile Clouds: Frameworks for virtual mobile cloud providers mimic traditional cloud services with nearby peers but require spontaneous networking, peer discovery, and peer selection.These approaches avoid infrastructure-cloud connections while retaining computation offloading.
  • Ad-hoc Mobile Clouds: Mobile-node middleware can expose web services and multimedia services so other mobile peers use the nodes’ computing capacities in an ad-hoc cloud.The model builds on related work in mobile ad-hoc and sensor networks.
  • Ad-hoc Mobile Clouds: The comparison evaluates mobile cloud models by middleware, cost model, programming abstraction, solution generality, implementation complexity, adaptation, network load, and scalability.These criteria cover both development concerns and runtime behavior.
  • Ad-hoc Mobile Clouds: Cuervo et al. and Zhang et al. receive top comparison scores because they combine cost-aware configuration, dynamic adaptation, SDK support, and vertical and horizontal scalability.Ad-hoc approaches scale horizontally but incur high communication overhead, while cloudlet and ISR approaches lack fine-grained execution adaptation.

IV. TOPICS FOR EXPLORATION

Mobile cloud middleware must support seamless, transparent execution of elastic applications while addressing coordination, consistency, caching, synchronization, and cost challenges.

  • Middleware should provide seamless, transparent execution of elastic applications and convenient development support.
  • Key research challenges include data replication, consistency, transaction and cache management, cost-effective execution, lifecycle management, communication, and state synchronization.

A. Programming Abstraction

Mobile cloud programming abstractions aim to hide infrastructure complexity while preserving developer control and enabling dynamic application partitioning. Cost models and optimization techniques help decide where modules should execute, but optimization itself can be expensive.

  • A. Programming Abstraction: Programming tools should hide cloud-technology complexity while allowing developers to control application behavior and location.
  • A. Programming Abstraction: Applications can be split into loosely coupled modules that move between devices and clouds according to execution time, resource use, battery, monetary cost, security, and bandwidth.
  • A. Programming Abstraction: User wait time is a key criterion for deciding whether processing should occur locally or remotely.
  • A. Programming Abstraction: Cost models combine device and cloud inputs with optimization algorithms to select an application execution configuration.
  • A. Programming Abstraction: Approximate, fast optimization or prediction is needed because many-parameter optimization can consume time or computation and erase cost savings.

C. Adaptation

Adaptation is central to mobile cloud applications because limited devices face unreliable networks and changing conditions. The surveyed challenges span dynamic execution, storage trade-offs, synchronization, migration, and consistency.

  • C. Adaptation: Mobile cloud applications must dynamically reassign responsibilities between mobile clients and clouds as network and operating conditions change.
  • C. Adaptation: Cloud storage requires balancing transfer size, persistence, availability, connectivity, bandwidth, device capacity, latency, and cache coherency.
  • C. Adaptation: Cloud processing requires data management, synchronization, performance monitoring, and selective movement because some modules cannot move or do not benefit from migration.
  • C. Adaptation: Shared data makes consistency increasingly difficult, leaving transactional guarantees for highly scalable mobile-cloud software stacks as an open gap.
  • C. Adaptation: Cross-platform execution and migration remain weak because analyzed approaches are mostly tied to specific middleware.

E. Trust, Security and Privacy

Security remains a persistent mobile-cloud challenge because distributed, multi-tenant infrastructures reduce control over data and code while enabling broad resource access. The paper places these concerns within a wider research agenda requiring interdisciplinary work.

  • E. Trust, Security and Privacy: Cloud security concerns arise from multi-tenancy, concurrency, scale, and distribution.
  • E. Trust, Security and Privacy: Users may lose control over data and code distribution and face potential data loss in distributed infrastructures.
  • E. Trust, Security and Privacy: Virtually unlimited computational resources can also create indirect security concerns when provided to untrustworthy entities.
  • E. Trust, Security and Privacy: The paper concludes that mobile cloud computing will pose challenging research problems requiring interdisciplinary work across systems, networks, and HCI.
Loading 1107.4940v1…