MobiCloud: Mobile Edge Computing

Mobile devices are becoming pervasive, yet a persistent gap in hardware capabilities still separates them from desktop machines. To bridge this gap, recent research has turned to cloud-assisted execution as a way of leveraging remote resources to enhance application performance. Code-offloading systems automatically partition applications across resource-constrained devices and more powerful remote nodes to improve execution. Existing approaches, however, only focus on compute resources, ignoring memory and network limitations in mobile environments.

The research objectives of the MobiCloud project extend in three main directions:

  • new innovative code-offloading practises that enable mobile applications to take advantage of the larger memory (in conjunction with the more powerful CPUs) of cloud-based nodes by partitioning application state and distributing computation accordingly;
  • an automated approach for reducing the data transmitted from backend services to a mobile device by extracting application-specific proxies for mobile client applications that execute part of the application logic at the network edge to filter data sent to mobile devices; and
  • a distributed edge cloud platform that decouples services from fixed hosting locations to reduce access latency to backend services by migrating services at runtime to adapt to changes in network conditions due to user roaming.

C-RAM: Breaking Mobile Device Memory Barriers Using the Cloud

Mobile applications are constrained by the available memory of mobile devices. C-RAM is a system that uses cloud-based memory to extend the memory of mobile devices. It splits application state and its associated computation between a mobile device and a cloud node to allow applications to consume more than the available memory, while minimising the performance impact. C-RAM thus enables developers to realise new applications or port legacy desktop applications with a large memory footprint to mobile platforms without explicitly designing them to account for memory limitations. To handle network failures with partitioned application state, C-RAM uses a new snapshot-based fault tolerance mechanism in which changes to remote memory objects are periodically backed up to the device. After failure, the device rolls back execution to continue from the last snapshot. C-RAM supports execution with an application state exceeding available device memory through a user-level virtual memory: objects are loaded on-demand from snapshots in flash memory.

EdgeReduce: Eliminating Mobile Network Traffic Using Application-Specific Edge Proxies

Mobile carriers are struggling to cope with the surge in smartphone traffic. Data transfers between mobile client applications and their Internet backend services contribute significantly to the contention in radio access networks (RANs). Client applications, however, typically transfer unnecessary data because (i) backend service APIs do not support a fine- grained specification of the data actually required by clients and (ii) clients aggressively prefetch data that is never used. EdgeReduce is an automated approach for reducing the data transmitted from backend services to a mobile device. Based on source-level program analysis, it generates application-specific proxiesfor mobile client applications that execute part of the application logic at the network edge to filter data returned by backend API calls and only send used data to the client. EdgeReduce also permits the tuning of aggressive prefetching strategies: proxies replace large prefetched objects such as images by futures, whose access by the client triggers the retrieval of the object on-demand.

NOMAD: An Edge Cloud Platform for Hyper-Responsive Mobile Apps

Fast access to backend services is crucial for many mobile apps. For example, emerging augmented-reality devices such as Google Glass require fast access to powerful servers to achieve seamless interactivity with the real world; and online gaming clients need to communicate in real-time through centralised game services. A major obstacle to achieving this hyper responsiveness is the performance of the underlying network that interconnects mobile clients and services. Network effects cannot be anticipated, let alone controlled, due to the unpredictability of wide-area networks and the fact that users roam between different networks. NOMAD is a distributed edge cloud platform that decouples services from fixed hosting locations to enable services to migrate seamlessly between edge locations, thus adapting to changes in network conditions and user roaming on-the-fly.

Funder
Orange Labs UK and EIT ICT Labs (2009-2014)
Categories
Team

Related Publications

Andreas Pamboris, and Peter Pietzuch
IEEE Transactions on Mobile Computing (TMC), 2015
Volume PP, Issue 99
Andreas Pamboris, Miguel Baguena, Alexander L. Wolf, Pietro Manzoni, and Peter Pietzuch
ACM International Conference on Mobile Systems, Applications and Services (MobiSys), 2015
Florence, Italy
Andreas Pamboris, and Peter Pietzuch
ACM International Conference on Mobile Software Engineering and Systems (MobileSoft), 2015
Florence, Italy
Miguel Baguena, Andreas Pamboris, Peter Pietzuch, George Samaras, Mihail Sichitiu, and Pietro Manzoni
IEEE Consumer Communications and Networking Conference (CCNC), 2016
Las Vegas, NV, USA