title: A high performance Open API platform for disaster management, integrating UAVs, mobile and IOT devices
Creators: name: Κυριτσης Σαραντης
Publisher: name: Technical University of Crete
Year: 2020

description: Search and rescue (SAR) constitutes a crucial, recurrent and integral challenge for civil protection entities. With the use of current technology, multiple parts of a SAR mission can be inter-connected in real-time, by using multiple aspects from the world of GIS systems, as well as leveraging the capabilities of embedded systems for on the fly application deployment.
Multiple approaches have been undertaken so far towards bridging these fields, but the proposed system is utilizing the advantageous elements of primary memory databases, as well as the performance of statically typed compiled languages, such as Golang.
The goal of this thesis is the creation of an Open API, real time and highly performant disaster management system. The key elements of this system are that it is easily deployable, easily configurable and implements a variety of different communication protocols. The drive for this implementation is that the resulting system can be deployed on any Linux-based embedded system, works with a variety of messaging protocols and is completely agnostic of the underlying network infrastructure. For the creation of this platform, a variety of technologies have been used. The deployment system is based on docker containerization, the programming language is Golang, while the main database used is Redis.
The resulting platform has been thoroughly stress tested in handling loads of transactions, simulating high load real world scenarios. Through this platform, multiple field agents (i.e. drones, rescuers, volunteers, teams of people) can coordinate their actions by utilizing whatever available network infrastructure is still operating, or can be easily deployed on the spot. Moreover, people that are facing problems (i.e. cannot move, are injured, or are trapped) can directly send their position, as well as their status through this platform, so that the responding rescuers can approach them efficiently. Performance tests indicate that the system can handle 33269 concurrent requests per second regarding creations and updates of data in the system and 57543 concurrent requests per second fetching data from the platform. To put things into perspective an ArcGIS Server REST 2D Vector mapping services supports up to 79,710 requests per hour, and a heavily optimized PostGIS installation can reach up to 7432 requests per second.
The final system offers a real-time disaster management platform, heavily optimized for fast messaging performance between the users of the platform, and mainly oriented towards team coordination in SAR operations.
description: Η έρευνα και η διάσωση (SAR) αποτελούν μια κρίσιμη, επαναλαμβανόμενη και αναπόσπαστη πρόκληση για τις οντότητες πολιτικής προστασίας. Με τη χρήση της τρέχουσας τεχνολογίας, πολλαπλά τμήματα μιας αποστολής SAR μπορούν να επικοινωνήσουν σε πραγματικό χρόνο, χρησιμοποιώντας πολλαπλές πτυχές από τον κόσμο των συστημάτων GIS, καθώς και αξιοποιώντας τις δυνατότητες των ενσωματωμένων συστημάτων για την ανάπτυξη της εφαρμογής σε πολύ σύντομο χρονικό διάστημα.
Μέχρι σήμερα έχουν υπάρξει πολλαπλές προσεγγίσεις για τη γεφύρωση αυτών των πεδίων, αλλά το προτεινόμενο σύστημα χρησιμοποιεί τα πλεονεκτήματα των βάσεων δεδομένων πρωτογενούς μνήμης, καθώς και τις επιδόσεις μεταγλωττισμένων γλωσσών στατικών τύπων, όπως η Golang.
Σκοπός αυτής της διπλωματικής εργασίας είναι η δημιουργία ενός συστήματος Ανοιχτού API, πραγματικού χρόνου και υψηλής απόδοσης για την διαχείριση καταστροφών. Τα βασικά στοιχεία αυτού του συστήματος είναι ότι είναι εύκολα αναπτυσσόμενο, διαμορφώσιμο και υλοποιεί μια ποικιλία διαφορετικών πρωτοκόλλων επικοινωνίας. Ο στόχος για αυτήν την εφαρμογή είναι το προκύπτον σύστημα να μπορεί να αναπτυχθεί σε οποιοδήποτε ενσωματωμένο σύστημα που βασίζεται στο Linux, να λειτουργεί με πολλαπλά πρωτόκολλα ανταλλαγής μηνυμάτων και είναι απόλυτα ανεξάρτητο της υποκείμενης υποδομής δικτύου. Για τη δημιουργία αυτής της πλατφόρμας, χρησιμοποιήθηκαν διάφορες τεχνολογίες. Το σύστημα ανάπτυξης βασίζεται στο σύστημα Docker, η γλώσσα προγραμματισμού είναι η Golang, ενώ η κύρια βάση δεδομένων που χρησιμοποιείται είναι η Redis.
Η πλατφόρμα που προέκυψε έχει δοκιμαστεί εκτενώς στο χειρισμό φορτίων συναλλαγών, που προσομοιώνουν σενάρια που πλησιάζουν τις πραγματικές απαιτήσεις και εστιάζουν στον υψηλό φόρτο πακέτων. Μέσω αυτής της πλατφόρμας, πολλοί πράκτορες (π.χ. αεροσκάφη, διασώστες, εθελοντές, ομάδες ανθρώπων) μπορούν να συντονίσουν τις ενέργειές τους με τη χρήση οποιασδήποτε διαθέσιμης υποδομής δικτύου εξακολουθεί να λειτουργεί ή μπορεί να αναπτυχθεί εύκολα επί τόπου. Επιπλέον, τα άτομα που αντιμετωπίζουν προβλήματα (δηλαδή δεν μπορούν να κινηθούν, τραυματίστηκαν ή βρίσκονται παγιδευμένα) μπορούν να στείλουν απευθείας τη θέση τους καθώς και την κατάστασή τους μέσω αυτής της πλατφόρμας, έτσι ώστε οι διασώστες να μπορούν να τα προσεγγίσουν αποτελεσματικά. Οι δοκιμές απόδοσης υποδεικνύουν ότι το σύστημα μπορεί να χειριστεί 33269 ταυτόχρονες αιτήσεις ανά δευτερόλεπτο για δημιουργίες και ενημερώσεις δεδομένων στο σύστημα και 57543 ταυτόχρονες αιτήσεις ανά δευτερόλεπτο για την εξαγωγή δεδομένων από την πλατφόρμα. Συγκριτικά, οι υπηρεσίες χαρτογράφησης του ArcGIS Server REST 2D Vector υποστηρίζουν έως και 79710 αιτήσεις ανά ώρα και μια εξαιρετικά παραμετροποιημένη εγκατάσταση PostGIS μπορεί να φτάσει έως και 7432 αιτήματα ανά δευτερόλεπτο.
Το τελικό σύστημα προσφέρει μια πλατφόρμα διαχείρισης καταστροφών πραγματικού χρόνου, βελτιστοποιημένη για γρήγορη απόδοση μηνυμάτων μεταξύ των χρηστών της πλατφόρμας και κυρίως προσανατολισμένη προς τον συντονισμό των ομάδων σε επιχειρήσεις SAR