ShAir: Extensible Middleware for Mobile Peer-to-Peer Resource Sharing
Daniel J. Dubois1
Henry Holtzman1 1MIT Media Lab
ShAir is a middleware infrastructure that allows mobile applications to share resources
of their devices (e.g., data, storage, connectivity, computation) in a transparent way.
The goals of ShAir are:
(i) abstracting the creation and maintenance of opportunistic delay-tolerant peer-to-peer networks;
(ii) being decoupled from the actual hardware and network platform;
(iii) extensibility in terms of supported hardware, protocols, and on the type of resources that can be shared;
(iv) being capable of self-adapting at run-time;
(v) enabling the development of applications that are easier to design, test, and simulate.
In this paper we discuss the design, extensibility, and maintainability of the ShAir middleware,
and how to use it as a platform for collaborative resource-sharing applications.
Finally we show our experience in designing and testing a file-sharing application.
Paper (2.2MB, PDF):
Proceedings of the 9th Joint Meeting of
the European Software Engineering Conference and
the ACM Symposium on the Foundations of Software Engineering (Industrial Track), pp. 687-690, 2013.
ShAir is middleware for resource sharing among mobile devices (middle layer).
Applications (top layer) can use the middleware APIs to easily create and maintain opportunistic peer-to-peer networks.
The middleware is independent of device hardware or network types (bottom layer).
It is extensible in that new features (e.g., advanced peer-to-peer protocols) can be added as plug-ins (dotted parts).