REACT: Distributed Mobile Microservice Execution Enabled by Efficient Inter-Process Communication
Abstract
The increased mobile connectivity, the range and number of services available in various computing environments in the network, demand mobile applications to be highly dynamic to be able to efficiently incorporate those services into applications, along with other local capabilities on mobile devices. However, the monolithic structure and mostly static configuration of mobile application components today limit application's ability to dynamically manage internal components, to be able to adapt to the user and the environment, and utilize various services in the network for improving the application experience. In this paper, we present REACT, a new Android-based framework that enables apps to be developed as a collection of loosely coupled microservices (MS). It allows individual distribution, dynamic management and offloading of MS to be executed by services in the network, based on contextual changes. REACT aims to provide i) a framework as an Android Library for creating MS-based apps that adapt to contextual changes ii) a unified HTTP-based communication mechanism, using Android Inter-Process Communication (IPC) for transporting requests between locally running MS, while allowing flexible and transparent switching between network and IPC requests, when offloading. We evaluate REACT by implementing a video streaming app that dynamically offloads MS to web services in the network, adapting to contextual changes. The evaluation shows the adaptability to contextual changes and reductions in power consumption when offloading, while our communication mechanism overcomes performance limitations of Android IPC by enabling efficient transferring of large payloads between mobile MS.
- Publication:
-
arXiv e-prints
- Pub Date:
- January 2021
- DOI:
- 10.48550/arXiv.2101.00902
- arXiv:
- arXiv:2101.00902
- Bibcode:
- 2021arXiv210100902S
- Keywords:
-
- Computer Science - Networking and Internet Architecture;
- Computer Science - Distributed;
- Parallel;
- and Cluster Computing