Demo Architecture Overview - mobimesh/GTDemo-2015 GitHub Wiki
GT Demonstration Architecture Overview
images/system_architecture.png
Backend Architecture Overview
The backend consists of three main parts: API Server, Controller, and AccessPoint (AP) power control.
The API server offers a RESTful API which is available over Internet and local WiFi. This interface is used by the Demonstration GUI, location service, and user equipment:
API
- Demo GUI: Polls the system state (e.g. power state of APs)
- Location Service: Periodically updates (1 update/s) the current location of the users (user equipment). It also updates the position of the access points (once when the system is started).
- User equipment (UE): Updates its state (e.g. active application, traffic demand, ...) when something changes. It also polls the system state from the backend (e.g. to know to which AP it is assigned at the moment). Push notifications can be used to trigger these polling actions when needed.
Controller:
The controller holdes the current system state (e.g. MongoDB based model) and offers a plugin interface for a decision algorithm deciding which APs to turn on and how to assign the UEs to the APs.
AP Power Control:
The AP power control layer is responsible to control the power management of the access points. It communicates with the controller over a well defined interface and can be exchanged to be compatible with different testbed setups (e.g. MobiMESH access points vs. UPB Smarter Phones testbed).
Backend Architecture:
images/mt_controller_architecture2.png
UE <-> Backend Communication
The following MSC describes the communication between UE and the backend when a user starts to use a data service (e.g. video stream) on the UE.