The Moitree middleware for distributed mobile-cloud computing

Hillol Debnath, Mohammad A. Khan, Nafize R. Paiker, Xiaoning Ding, Narain Gehani, Reza Curtmola, Cristian Borcea

Research output: Contribution to journalArticlepeer-review

2 Scopus citations


Commonly, mobile cloud computing assumes that each mobile device of a user is paired with a user-controlled surrogate in the cloud to overcome resource limitations on mobiles. Our Avatar platform leverages this model to support efficient distributed computing over mobile devices. An avatar is a per-user, always-on software entity that resides in the cloud and acts as the surrogate of the mobile. Mobile-avatar pairs participate in distributed computing as a unified computing entity in such a way that the workload and the demand for resources on the mobiles remain low. This paper presents Moitree, the middleware of the Avatar platform, which provides a common programming and execution framework for mobile distributed apps. Moitree allows the components of a distributed app to execute seamlessly over a set of mobile-avatar pairs, with the provision of offloading computation and communication to the cloud. The programming framework has two key features: user collaborations are modeled using context-aware group semantics - groups are created dynamically based on context; data communication among group members is offloaded to the cloud through high-level communication channels. A prototype of Moitree, along with several apps, has been implemented and evaluated on Android devices and on a cloud running Android x86 avatars.

Original languageEnglish (US)
Article number110387
JournalJournal of Systems and Software
StatePublished - Nov 2019

All Science Journal Classification (ASJC) codes

  • Software
  • Information Systems
  • Hardware and Architecture


  • Distributed systems
  • Middleware
  • Mobile apps
  • Mobile cloud computings


Dive into the research topics of 'The Moitree middleware for distributed mobile-cloud computing'. Together they form a unique fingerprint.

Cite this