Given the prevalence of global networking and computing infrastructures (such as the Internet and the Cloud), mobile networking environments, powerful hand-held user devices, and physical-world sensing and actuation devices, the possibilities of new mobile distributed systems have reached unprecedented levels. Such systems are dynamically composed of networked resources in the environment, which may span from the immediate neighborhood of the users – as advocated by pervasive computing – up to the entire globe – as envisioned by the Future Internet and one of its major constituents, the Internet of Things. Hence, we can now talk about truly ubiquitous computing.

The resulting ubiquitous systems have a number of unique – individually or in their combination – features, such as dynamicity due to volatile resources and user mobility, heterogeneity due to constituent resources developed and run independently, and context-dependence due to the highly changing characteristics of the execution environment, whether technical, physical or social.
The latter two aspects are particularly manifested through the physical but also social sensing and actuation capabilities of mobile devices and their users. More specifically, leveraging the massive adoption of smartphones and other user-controlled mobile devices, besides physical crowd-sensing, social crowd-sensing comes into play. In the former, a device’s sensor passively reports the sensed phenomena, while, in the latter, the user is aware of and indeed aids in the sensing of the environment. In addition, mobile distributed systems are most often characterized by the absence of any centralized control. This results in peer interaction between system entities, ad hoc or opportunistic relations between them, and relations reflecting the social behavior of the systems’ users. All the above features span the application, middleware and higher network layers of mobile distributed systems in a cross-layer fashion.

This challenging environment is characterized by high complexity raising key research questions:

  • 1. How to deal with the extreme uncertainty, when developing and running mobile distributed systems, resulting from the openness and constant evolution of their execution environment?
  • 2. How to manage the ultra-large scale and dynamicity resulting from millions or even billions of mobile devices that interact with the physical environment through sensing and actuation?
  • 3. How to leverage the social aspects arising out of billions of users carrying personal devices in order to enable powerful, critical-mass social sensing and actuation?

The research questions identified above call for radically new ways in conceiving, developing and running mobile distributed systems.