title: Mobile peer model : a mobile peer-to-peer communication and coordination framework - with focus on scalability and security
Creators: name: Schoba, Jörg
Publisher: name: TU Wien
Year: 2017
Subjects: subject: coordination
subject: middleware
subject: mobile
subject: P2P
subject: space-based computing

description: P2P-basierte Kommunikation und Koordination ist ein zukunftsträchtiges Paradigma in verteilten Systemen der nächsten Generation. Eine Analyse der derzeit existierenden Frameworks für P2P-basierte Kommunikation und Koordination von mobilen Geräten in einem global verteilten Netzwerk zeigt, dass die meisten Ansätze entweder für Entwickler keine wirklichen Vorteile bringen, nur für spezielle Anwendungsfälle konzipiert sind, nur in lokalen Netzwerken angewandt werden können, veraltet sind oder nicht auf mobilen Geräten implementiert werden können. Deshalb wurde in dieser Arbeit ein auf P2PKommunikation basierendes Koordinations-Framework für mobile Geräte entworfen und implementiert. Die Referenz-Implementierung wurde für die Android-Plattform entwickelt, weil Android zurzeit den größten Marktanteil unter den mobilen Betriebssystemen hält. Nichtsdestotrotz ist das Framework so konzipiert, dass es auch auf anderen gängigen, mobilen Betriebssystemen implementiert werden kann und ist generell auf mobile Geräte optimiert. Einschränkungen im Vergleich zu einem System, welches auf einer Desktop oder Server-Maschine läuft, sind z.B. die beschränkte Akkulaufzeit, die limitierte Prozessorgeschwindigkeit und die limitierte Netzwerkkonnektivität. Diese Aspekte wurden beim technischen Entwurf des Framework berücksichtigt. Da eine Kommunikation auch über das öffentliche Internet möglich sein soll, wurden auch spezielle Sicherheits-Maßnahmen getroffen, welche für eine sichere Kommunikation in diesem Fall unerlässlich sind. Das Framework wurde so entworfen, dass eine Kommunikation in Netzwerken mit beliebigen NAT-Konstellationen möglich ist, ohne einen Router oder eine Firewall konfigurieren zu müssen. Das entwickelte Framework unterstützt den Programmierer bei der Entwicklung einer mobilen Applikation, welche auf P2P-Kommunikation basiert und liefert die Middleware- Komponenten, welche die Kommunikations- und Koordinationslogik abstrahieren und es dem Entwickler ermöglichen, sich auf die Applikationslogik zu fokussieren.
description: Peer-to-peer (P2P) communication and coordination is an emerging paradigm in next generation distributed systems. An analysis of the state of the art of conceptualized and existing P2P communication and coordination frameworks, which are applicable for widely distributed systems and support deployment on current mobile devices, reveals that most of these approaches do not provide sufficient developer support, are only applicable for specific use cases, are designed for local area networks, are deprecated or not easily deployable on mobile devices. Therefore, a coordination framework for mobile devices based on P2P communication is designed and implemented, intended to support developers in creating internet-scale, distributed mobile applications. The reference implementation is conducted for Android devices, because Android currently has the highest market share of mobile operating systems. Nevertheless, the system is designed to be implementable also on other mobile platforms and generally is compliant to mobile constraints. Compared to a system running on a desktop or server machine these constraints include, e.g., the battery consumption, the limited processing power and the limited network connectivity. These aspects have been considered in the technical system design. Also, because P2P communication shall be possible in an internet-scale network, appropriate security measures have been taken. Moreover, the system is designed to be able to traverse any network address translation (NAT) of a network without having to configure a router or firewall, which enables P2P communication in any network constellation. This work delivers a framework that supports a developer of a mobile P2P application by providing the middleware components that abstract communication and coordination logic of the application and let the developer focus on application logic only.