„State of Event Sourcing Application Development,“ Masterarbeit VS-2023-04M, B. Erb and E. Meißner (Betreuung), F. Kargl and F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 –
Abgeschlossen.
The event sourcing storage architecture is increasingly used for developing applications. However, previous work shows that developers encounter a couple of challenges when applying the pattern. One such challenge is the lack of mature tools and solutions, which help developers in implementing event-sourced applications. No detailed and methodological comparison of the tools already available on the market existed at the time of writing. This thesis introduces a methodology on how to compare and categorize such tools and applies it to three solutions (EventStoreDB, Axon, and Akka), which are selected according to a set of requirements. To remove subjective opinions from the assessment of the qualitative aspects, quality gates are defined, in addition to benchmarks, which are used to evaluate some quantitative aspects. Two example applications which cover a selection of event sourcing features are defined and implemented using the three selected tools, providing insight into how they aid in the development process. In the end, a detailed comparison of the capabilities of the evaluated tools is given and recommendations for when to use each tool are provided.
R.-N. Schmidt, „Intel SGX Application Development with Gramine,“ Bachelorarbeit, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 –
Abgeschlossen.
Intel SGX allows to launch tamper-proof enclaves in main memory, which can be used to isolate parts of an application's codebase that have to deal with sensitive data. There is a broad spectrum of possible applications ranging from fault-tolerant systems to privacy-preserving machine learning approaches. Intel's SGX SDK provides functionality to derive C wrapper functions based on a special-purpose Enclave-Definition Language. These wrapper functions can then be used for the interaction between trusted and untrusted parts of C/C++ applications. However, the design of this enclave interface requires special care during the development process. The Gramine project promises to circumvent this step by providing functionality to wrap unmodified linux applications in Intel SGX enclaves. The goal of this thesis/project is to break down the application development process with Gramine, in order to reveal possible limitations or pitfals. Further, a performance evaluation could be conducted to measure the overhead of Gramine in comparison to a native implementation.
D. Hunt, „Implementation and Evaluation of Eve, a Speculative Byzantine Fault Tolerant State Machine Replication System for Multi-Core Servers,“ Masterarbeit, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
X. Li, „Eine Proof-of-Concept-Studie über Service Mesh,“ Bachelorarbeit VS-2023-06B, E. Meißner (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
„Confidential Computing via Multiparty Computation and Trusted Computing,“ Masterarbeit VS-2023-05M, E. Meißner and B. Erb (Betreuung), F. Kargl and F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 –
Abgeschlossen.
In the wake of the social sciences’ so-called replication crisis, researches increasingly strive to adopt methods preventing questionable research practices in empirical studies, e. g., study preregistration and full publication of survey datasets. However, publication of survey responses poses a serious threat to the privacy of study participants. Previous work has addressed this issue while maintaining protection against questionable research practices, but either relies on Trusted Execution Environments (TEEs), which have been shown to be susceptible to various kinds of attacks, or on Secure Multiparty Computation (SMPC), requiring a honest majority of participating parties. In this work, we combine TEEs with SMPC in a platform for conducting empirical studies that provides strong guarantees for the privacy of participants. Survey responses are split into secret shares, which are distributed among a number of TEE-protected computation parties. Statistical analysis of responses is performed as an SMPC. The platform is secure against a wider range of attackers than related work, i. e., against attackers either able to circumvent the utilised TEE or controlling a majority of the computation parties. We implement a prototype of this platform and evaluate its computational performance against alternative approaches. We show that it is suitable for conducting real-world privacy-preserving empirical studies, placing only minimal computational load on survey participants. Its performance in conducting statistical analysis is inferior to its alternatives, requiring ca. 10 min for performing one two-sample t-test. However, we argue that this is sufficient for real-world settings. Additionally, we list several approaches with which performance can be enhanced.
D. Riedel, „Simulation and evaluation of a Byzantine clock,“ Bachelorarbeit VS-2022-13B, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2022 –
Abgeschlossen.
At the institute, an algorithm has been designed that realises a common time base in a group of nodes in a distributed system. Nodes can be compromised and may try to deceive the algorithm. The task of this thesis is to simulate and evaluate the behaviour of the algorithm in the presence of statistically distributed latencies between nodes. The simulation shall use a common network model for LAN and WAN scenarios. Through the simulation, the behaviour of the algorithm shall be investigated under conditions that are as realistic as possible and any problems shall be identified and addressed. Depending on the type of work, the effort will be adjusted. The work is suitable for people who are not afraid of random variables and probability distributions. Simulation frameworks in Java, an own implementation (preferably also in Java), or Matlab/Simulink could be used for the implementation.
„Optimization of Location Using a Single NB-IoT Cell,“ Masterarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2022 – Abgeschlossen.
T. Nguyen, „in.Crease regulation editor,“ Projektarbeit VS-2021-39P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2022 – Abgeschlossen.
T. Schweikert, „Implementing a Byzantine-fault-tolerant replication middleware between an audit log service and Immudb,“ Projektarbeit VS-2021-25P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2022 – Abgeschlossen.
T. Nguyen, „Implementation of a variety of features for the in.Crease regulation module,“ Projektarbeit VS-2022-07P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2022 – Abgeschlossen.
D. Hunt, „Implementation of a fast-read cache for Troxy,“ Projektarbeit VS-2022-22P, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2022 – Abgeschlossen.
D. Hunt, „Implementation of Troxy - a proxy for Byzantine fault-tolerant systems,“ Projektarbeit VS-2022-10P, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2022 – Abgeschlossen.
F. Stark, „Gamification und Lernpfade im Rückenwind-Programm,“ Projektarbeit VS-2022-24P, M. Sommer (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2022 – Abgeschlossen.
J. Dommer, „Entwicklung eines Monitoring Tools für BFT-SMaRt,“ Bachelorarbeit VS-2022-12B, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2022 – Abgeschlossen.
T. Nguyen, „Combining software-transactional memory with deterministic execution for replicated state machines,“ Masterarbeit VS-2022-17M, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2022 –
Abgeschlossen.
Replicated state machines are used to tolerate failures in distributed services. Such state machines need to be deterministic in order to achieve the same output as their replicas. For deterministic and concurrent execution, deterministic multithreading is used. This thesis shall apply techniques from software-transactional memory (STM) to deterministic multithreading. STM uses atomic memory operations to achieve an atomic update of data structures, just like transactions in database systems. We envison the development of data structures in Java (e.g. single variables, lists, arrays, etc.) that are internally using STM techniques. Access to these data structures is always intercepted and traced by particular methods invocations. Internally, multiple versions of the data are stored and tracked to their transactions so that aborting a particular transaction can be easily undone, and tainted transactions can be identified for further aborts. Determinism can be easily achieved by enforcing the same serialisation of transactions in all replicas. However, there is room for improving concurrency. Appropriate concepts can be developed, implemented and evaluated by the student.
J. Ulrich, „Client-Server Interfaces for Byzantine Fault Tolerant Services in Kubernetes,“ Masterarbeit VS-2021-30M, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2022 – Abgeschlossen.
C. Michl, „Wirksamkeit verschiedner informatikbezogener Erklärvideos,“ Projektarbeit VS-2021-04P, M. Sommer and F. J. Hauck (Betreuung), M. Sommer and F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Abgeschlossen.
J. Mayer, „Visualisation of consensus algorithms,“ Projektarbeit VS-2021-10B, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Abgeschlossen.
J. Dispan, „Praktische Umsetzung eines modifizierten Dining-Cryptographer Protokolls,“ Projektarbeit VS-2021-07P, D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2021 –
Abgeschlossen.
An blockchain-basierte Anwendungen wird oft die Forderung nach Privatsphäre der teilnehmenden Parteien gestellt. Um diese zu erfüllen, werden anonyme Broadcasts innerhalb eines Netzwerkes benötigt. Diese können durch sogenannte „Dining-Cryptographer Netzwerke“ (DCNs) realisiert werden. DCNs sind anfällig für Denial-of-Service Attacken. Bereits ein einzelner Angreifer kann gesendete Broadcasts in einem Netzwerk für alle weiteren Mitspieler unlesbar machen, während er/sie selbst weiterhin alle Nachrichten empfangen kann. Ziel dieser Arbeit ist das Implementieren der Resultate einer früheren Bachelorarbeit, welche eine Lösung für dieses Problem erarbeitet hat.
M. Strobel, „Login and user mangement for Angular and Shibboleth,“ Bachelorarbeit VS-2021-17B, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2021 –
Abgeschlossen.
Angular is a web framework for single-page application, i.e., most business logic resides in the browser not on the server. The server is contact by a REST interface, mainly used to get direct access to the application data. Shibboleth is an authentication technology used also by KIZ to authenticate and authorise web access. In this work, a simple demo application has to be developed together with a concept for authenticating users and authorisation of their application-logic and REST-based data accesses. Ideally the concept is some sort of library including guidelines, and is tested against the KIZ identity provider. This work includes some basic user management in the application to recognise already known users and attach preferences etc. to it. Challenges are user-authentication expiry during user sessions and version updates in the backend server during the life time of the single-page application.
J. Ulrich, „Kubernetes deployment for in.Crease,“ Projektarbeit VS-2021-21P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Abgeschlossen.
S. Reichersdörfer, „in.Crease Exam,“ Projektarbeit VS-2021-06P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Abgeschlossen.
C. Hartig, „in.Crease-Reg: Design and implementation of a web application for student regulations,“ Projektarbeit VS-2021-02P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2021 –
Abgeschlossen.
Imagine you could read all regulations of your study program online. You could see diffs to previous version, see only the paragraphs that matter to you, and you can follow links to referred paragraphs and even other regulations. Official comments may explain complex wordings. Sounds interesting? You could work towards that with this project. As part of the in.Crease web application, we want to create a regulation module that does exactly that. Technologies in use are among others Angular, TypeScript, Node.js and PostgreSQL. The project has to design the user story, the user interface, the interface between frontend and backend, the data model, and the caching strategy for improving server performance. A lot of previous thoughts are available as a starting point, as is a framework of components for the UI, e.g., a sophisticated tree component and the main component to select context and the type of module of the service. As the envisioned service is rather complex, this topic could easily be split among multiple students or into multiple parts for a single student. Pairs of students are also welcome.
S. Knoblauch, „Entwicklung einer web-basierten Anwendung für die Konfiguration von IoT-Komponenten,“ Projektarbeit VS-2021-20P, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2021 –
Abgeschlossen.
Das SORRIR Forschungsprojekt befasst sich mit der Entwicklung eines Frameworks für resiliente IoT-Systeme. Ein Aspekt dieses Frameworks ist ein Degradierungsmechanismus, welcher den Betriebsmodus einer IoT-Komponente automatisch anpasst, falls es zu Ausfällen von angebundenen (Teil-)Komponenten kommt. Damit soll sichergestellt werden, dass einzelne Komponenten weiterhin arbeiten, wenn auch mit reduzierter Funktionalität. In dieser Projektarbeit soll eine web-basierte Anwendung entwickelt werden, welche die Konfiguration dieses Mechanismus mittels Drag & Drop Elementen erleichtert und damit eine leichte Programmierung des Verhaltens einer IoT-Komponente ermöglicht. Gerne können hier eigene Ideen zur Umsetzung eingebracht werden. Aus der graphischen Konfiguration sollen Dateien generiert werden, die das SORRIR-Framework zur Laufzeit verwenden kann.
F. Diemer, „Efficient acquisition data upload from mHealth applications to a back-end server for persistent storage,“ Masterarbeit VS-2021-13M, M. Mehdi (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Abgeschlossen.
C. Ritzer, „EEG data visualizer for TinnituSense smartphone app,“ Projektarbeit VS-2021-03P, M. Mehdi (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Abgeschlossen.
L. Dubies, „EEG Compression/ EEG using Smartphones,“ Projektarbeit VS-2021-01P, M. Mehdi (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Abgeschlossen.
J. Ulrich, „Deployment setup for in.Crease,“ Projektarbeit VS-2021-08P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Abgeschlossen.
B. Buffinton, „Database scheme evolution in CI/CD environments,“ Bachlor's Thesis VS-2021-09B, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Abgeschlossen.
M. Kempfle, „Consensus replacement in a modular state-machine replication framework: trial and evaluation,“ Masterarbeit VS-2021-11M, G. Habiger (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Abgeschlossen.
U. Eser, „Benchmarking of BFT-SMaRt with YCSB,“ Projektarbeit VS-2021-22P, G. Habiger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2021 –
Abgeschlossen.
The YCSB is an open source benchmarking specification and framework for evaluating the performance of database-like software. Since its release in 2010, it has evolved into a de facto stan-dard for benchmarking commercial products like Redis, HBase, Cassandra and many others. Not only in the industry, but also in the scientific community, many researchers are using the YCSB to evaluate and compare their scientific findings and software artifacts against other published solutions. This project should create a YCSB Client implementation and workloads for benchmarking our platform for replicated state-machines built within our institute in the recent years. State-machine replication is a technique for providing high levels of fault-tolerance. In research projects we extended the existing BFT-SMaRt framework for our use. In the future we would like to use the results of this project to evaluate performance changes when extending the framework further. Students with previous knowledge in these areas are preferred, but the necessary skills can also be acquired during the project. At the end of the project, a thorough comparison of the newly YCSB-enabled software artifacts should be conducted.
„Analyse von Netzwerkdaten zur Identifizierung von Distributed Denial-of-Service-Attacken mithilfe von Hadoop,“ Projektarbeit in Business Analytics VS-2021-14P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Abgeschlossen.
S. Merkel, „Web Content Integrity Protection,“ Masterarbeit VS-2020-13M, E. Meißner (Betreuung), F. Kargl and F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2020 –
Abgeschlossen.
Web clients can not determine whether they have been delivered the same version of a web application as the rest of the world, which allows a web server to deliver manipulated content to specific users, allowing them to bypass implemented functionality or inject other malicious behavior. For example, a malicious web application provider who offers a web application with end-to-end encryption functionality can deliver a manipulated implementation of the encryption mechanism to targeted users and obtain access to otherwise unreadable messages or secret keys. The thesis introduces a concept to authenticate web applications and thus prevent covert attacks by web application providers through different resource versions on individual users. Previous work has created more transparency in resource management, but still allows the use of different resource versions, violates privacy, or is based on a trust model without verification possibilities. The developed concept is based on a verifiable trust model, where all users accept only the same resource version, forcing web application providers to offer the correct web application or increasing the risk for malicious web operators of detecting their manipulated resources. Two different approaches for the verifiable trust model were designed based on available mechanisms and implemented and evaluated in proof-of-concept prototypes. By using the developed concept, web application providers are able to deliver an authenticated web application and thus provide functionality to all users in a trustworthy manner, while at the same time increasing the probability to catch malicious web application providers.
A. Heß, „Verwirklichung eines Privatsphäre garantierenden Broadcast Protokolls,“ Masterarbeit, D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2020 –
Abgeschlossen.
Die Verbreitung von Transaktionen in Blockchain-Netzwerken kann viele Informationen über deren Nutzer preisgeben. Ins- besonder muss die Vertraulichkeit von Zahlungsinformationen geschützt werden. Um diesen Schutz zu erreichen, haben wir ein Protokoll entworfen, welches die Privatsphäre dieser Trans-aktionen gewährleistet und Entwicklern die nötige Flexibilität für verschiedenste Anwendungsszenarien bereitstellt. Doch es bleiben viele offene Fragen für die Umsetzung in der Praxis, beispielsweise die Anpassung an praktische Begebenheiten und die Erstellung der nötigen Gruppen. Ziel dieser Arbeit ist es, einige der offenen Fragen zu klären und das Protokoll im Rahmen einer Proof-of-Concept-Implementierung zu evaluieren. Geeignet für Studierende mit Erfahrung Netzwerkprogrammierung. This project can also be completed in English. Please contact me for further details.
„IoT Ausfallsicherheit durch Redundante Netzwerkstrukturen,“ Bachelorarbeit VS-2021-12B, D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2020 –
Abgeschlossen.
Das Internet der Dinge (IoT) bietet durch seine unvermeidliche physikalische Verteilung besondere Herausforderungen für die Entwicklung ausfallsicherer IoT Software. Während Software-Komponenten, etwa die Analyse von Sensordaten, auf verschiedene physikalische Komponenten verteilt werden können, unterliegen die Sensoren, Basisstationen und Gateways physikalischen Grenzen. Diese müssen durch Netzwerkkommunikation überbrückt werden und bergen somit weitere Ausfallrisiken. Ziel dieser Arbeit ist es, bestehende Arbeiten zu redundanten Netzwerken in IoT-Umgebungen zu analysieren und zusammenzufassen. Aufbauend auf diesen Erkenntnissen soll dann ein Konzept entwickelt werden, wie eine Beratung zu nötigen Redundanzen in eine Softwareentwicklungsumgebung für IoT Systeme eingebunden werden kann. Geeignet für Studierende mit Interesse an IoT, Ausfallsicherheit und Netzwerkkommunikation. This project can also be completed in English. Please contact me for further details.
L. Hennig, „Extending TinnituSense Android app with EEG,“ Projektarbeit, M. Mehdi (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2020 – Abgeschlossen.
„Erweiterung der Lerntheke für das BOGY-Praktikum an der Universität Ulm,“ Projektarbeit FDPI, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2020 – Abgeschlossen.
F. Diemer, „EEG application for Android: Backend,“ Projektarbeit, M. Mehdi (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2020 – Abgeschlossen.
A. Heß, „Bootstrapping of a replica group using Intel SGX,“ Projektarbeit, VAPS, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2020 – Abgeschlossen.
M. Karthan, „Angular modules and data input interfaces for the in.Crease information system,“ Projektarbeit VS-2020-27P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2020 – Abgeschlossen.
T. Nieß, „RESTful Backendserver für in.Crease,“ Projektarbeit VAPS, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2019 – Abgeschlossen.
N. Fröhlich, „Privacy Increasing Group Creation for Networks,“ Masterarbeit, D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2019 –
Abgeschlossen.
Peer-to-peer networks sometimes use group based comm- unication protocols. These share messages within a group of participants, e.g., to enhance privacy or provide fault tolerance. But group-based network protocols are faced with the hard problem of creating suitable communication groups. This problem is especially hard if you want to optimize for privacy. For privacy-preserving protocols we want communication partners that do not collude. The goal of this thesis is to design a scheme to classify network participants by collusion probability and deduce a suitable group size for minimal collusion. The result of the thesis should be a proof of concept implementtation of the scheme, as well as a theoretical evaluation of the probabilities involved.
M. Benz, „Modular State Machine Replication,“ Masterarbeit, G. Habiger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2019 – Abgeschlossen.
M. Kempfle, „Integration of etcd4j and BFT-SMaRt Parallel,“ Projektarbeit, G. Habiger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2019 –
Abgeschlossen.
In our recent research, teaching, and project work, we re-implemented etcd – a popular and well-known fault-tolerant key-value store – in Java, resulting in a multithreaded version that is easier to integrate into our research prototypes. Additionally, recent projects have looked at the State Machine Replication framework BFT-SMaRt, especially our own parallelized version of it, and worked on a way to enable snapshotting functionality. This project aims at integrating these two prototypes – etcd4J and BFT-SMaRt Parallel – into one working project, to yield a fully working, state machine replicated and fault-tolerant version of etcd4J. Further work includes testing and benchmarking this solution. The project can be modified to fit 8 or 16 ECTS.
A. Heß, „Development of a Software Component for Unique Signatures Using Intel SGX,“ Projektarbeit VAPS, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2019 –
Abgeschlossen.
Replizierte Systeme basieren oft auf Einigungsalgorithmen. Im Falle von beliebigen (byzantinischen Fehlern) werden N = 3f+1 Replikate benötigt bei f zu tolerierenden Fehlern. Mit Hilfe von vertrauenswürdigen Komponenten kann dies auf N = 2f+1 reduziert werden. Ein so genannter USIG ist so eine Komponente. Sie signiert eine Nachricht und zählt dabei eine von außen unveränderliche Sequenznummer hoch. Aufgabe der Arbeit ist es, ein Konzept und eine Implementierung mit Hilfe von Intel SGX zu entwickeln, die aus einer Java-Anwendung heraus genutzt werden kann. Herausforderungen ist neben der Implementierung die geeignete Initialisierung der Komponente.
C. Stuhler, „BOGY - Einführung in die Informatik an der Universität Ulm,“ Projektarbeit FDPI, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2019 – Abgeschlossen.
M. Karthan, „Angular frontend for the in.Crease information system,“ Projektarbeit VS-P25-2019, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2019 – Abgeschlossen.
N. Ritter, „Simulation von Broadcastprotokollen in NS3,“ Bachelorarbeit, D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2018 –
Abgeschlossen.
Um Transaktionen in Blockchain Netzwerken zu verteilen wird üblicherweise ein Broadcast Mechanismus verwendet. Dieser bietet jedoch Angriffsfläche für verschiedene Arten der Deanonymisierung. Da die Privatsphäre im Umgang mit Geld jedoch besonders wichtig ist, arbeiten wir an einem Protokoll um diese zu schützen. Derzeit existieren bereits einige Vorschläge für verwandte Protokolle. Für vergleichbare Untersuchungen sollten alle unter denselben Bedingungen evaluiert werden. Um diese Umstände zu erreichen, möchten wir dieselbe Simulationsumgebung für alle verwenden. Ziel der Arbeit ist die Implementierung verschiedener Protokolle und deren Auswertung. Literaturrecherche fällt je nach gewähltem Umfang und Arbeitsart an.
L. Schmid, „PriPlus: Userfriendly Privacy for a Blockchain Filestorage,“ Projektarbeit, D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2018 –
Abgeschlossen.
PriCloud ist ein Projekt mit dem Ziel einen Privatsphäre erhaltenden Cloudspeicher zu erhalten. Hierfür wird im Insitut an einem Prototypen in Python gearbeitet. Dieser bietet jedoch nur Konsolenzugriff auf die Subsysteme des Prototypen. Ziel des Projektes ist es ein fundiertes und geeignetes User Interface zu entwerfen und dieses praktisch zu erstellen.
T. Nguyen, „Parallelizing a Java Re-implementation of etcd,“ Bachelorarbeit, G. Habiger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2018 –
Abgeschlossen.
Ein kürzlich abgeschlossenes Studierendenprojekt reimplemen-tierte den verteilten Key-Value Store etcd in Java. Um diese Implementierung für zukünftige Forschung an fehlertoleranten Systemen weiter zu verwenden, soll dieses Projekt die Java-Implementierung parallelisieren. Durch intelligentes Locking in der zugrunde liegenden Datenstruktur soll ein möglichst hoher Grad an Parallelität erreicht werden, während die Korrektheit des Systems in allen Fällen bestehen bleibt. Anschließend sollen durch Messungen die Performance-veränderungen gegenüber der sequentiellen Variante gezeigt werden.
J. Dispan, „Evaluation von Threshold Cryptography für k-anonyme Dining Cryptographer Netzwerke,“ Bachelorarbeit VS-B16-2019, D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2018 –
Abgeschlossen.
Dining Cryptographer Netzwerke bieten eine Möglichkeit um in einer Gruppe anonym eine Nachricht an alle zu verbreiten. Diese Konstruktion benötigt jedoch sehr viele Nachtrichten und erzeugt daher viel Overhead. Um die Effizienz dieser Netzwerke zu verbessern, haben von Ahn. et al. das Konzept der k-Anonymität auf sie angewandt: Kleinere Gruppen im Gesamtnetzwerk erlauben eine Einschränkung der Anonymität, erzeugen jedoch deutlich weniger Overhead. Um die k-Anonymitätsgarantie zu stärken, bietet die Kryptografie das Konzept der Threshold-Kryptografie an: Nur wenn ausreichend Nutzer sich beteiligen, kann die Nachricht entschlüsselt werden. Ziel dieser Arbeit ist es, die Umsetzung dieser Technik für k-DC Netze zu untersuchen.
M. Benz, „Enabling Snapshotting in Multithreaded BFT-SMaRt,“ Projektarbeit, G. Habiger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2018 –
Abgeschlossen.
BFT-SMaRt ist eine Java Library für die einfache Entwicklung von Anwendungen, die durch State Machine Replication ausfallsicher und sogar robust gegenüber beliebigen (byzantinischen) Fehlern laufen können. Ziel unserer Forschung ist die Beschleunigung von State Machine Replication, wozu wir in den letzten Monaten BFT-SMaRt um Multithreading-Komponenten erweitert haben. Ein Problem hierbei ist, dass das für die Fehlertoleranz zwingend notwendige Snapshotting erheblich erschwert wird und zur Zeit für unsere Optimierungen ausgeschaltet bleiben muss. Dieses Projekt soll auf der Basis vorangegangener Projekte Wege ergründen, wie Snapshotting in Verbindung mit Multithreading in BFT-SMaRt reaktiviert werden kann, sowie Implementierungen und Messungen der gefundenen Ansätze bereitstellen.
O. Finnendahl, „Enabling Snapshotting in Multithreaded BFT-SMaRt,“ G. Habiger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2018 –
Abgeschlossen.
Für die Verwaltung großer verteilter Systeme werden in der Regel Koordinierungsdienste wie ZooKeeper oder etcd eingesetzt. Um maximale Ausfallsicherheit und dennoch starke Konsistenzgarantien zu gewährleisten, sind solche Koordinierungsdienste durch State Machine Replication repliziert. Ein Problem dieses Replizierungsansatzes ist die zumeist schlechte Ausnutzung heutiger Multicore-Systeme. In unserer Forschung beschäftigen wir uns mit Methoden, SMR-replizierte Software zu beschleunigen und auch Multithreading zu erlauben. Hierfür sind unter anderem vergleichende Messungen mit etcd vorgesehen. Da etcd selbst komplett in Go geschrieben ist, sich unsere Forschung momentan jedoch auf Java konzentriert, soll in diesem Projekt die nach außen hin sichtbare API und dafür nötige Funktionalität von etcd in Java nachimplementiert werden. Es können dabei nahezu alle Schwierigkeiten die sich durch die Verteilung ergeben (Netzwerkkommunikation und -fehler, Konsensus, etc.) vernachlässigt werden. Es wird primär die Funktionalität, die eine nicht-verteilte Installation von etcd mit einem Host bereitstellen würde, verlangt.
U. Eser, „Design einer flexiblen Peer-to-Peer Bibliothek,“ Bachelorarbeit, D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2018 –
Abgeschlossen.
Peer-to-Peer Systeme werden Heute in einer vielfalt von Situationen eingesetzt. Dies geht von verteilung von Dateien für Programme bis hin zu Transaktionen und Blöcken in modernen Blockchain Systemen. Zur implementierung dieser Systeme kann oft nicht auf eine geeignete Bibliothek zurück gegriffen werden, da diese nicht verfügbar sind. Ziel dieser Arbeit ist die Analyse von Anforderungen an eine geeignete Peer-to-Peer Bibliothek, sowie die Implementierung eines Prototypen der Bibliothek und dessen Evaluation. Der genaue Umfang richtet sich nach dem Vorwissen, dem gewählten Fokus und der Art der Arbeit.
F. Hohberger, „Design einer generischen API für Gruppenkommunikationsprotokolle,“ Masterarbeit VS-M09-2018, C. Spann (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2018 –
Abgeschlossen.
Die Implementierung von Einigungsalgorithmen wie zum Beispiel Paxos oder dessen Erweiterung Vertical Paxos stellen den Programmierer wiederholt vor ähnliche Designentscheidungen. Eine generische API könnte eine Basis für die Wiederverwendung vieler Teilkomponenten schaffen und so den Aufwand für die Implementierung neuer Algorithmen reduzieren. Ziel der Arbeit ist der Entwurf einer solchen API.
„Automatisierte Vergabe von temporären administrativen Zugängen für heterogene Systeme,“ Bachelorarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2018 –
Abgeschlossen.
In der Arbeit soll eine Zugriffskontrolle für administrative Zugänge in einem heterogenen verteilten System entwickelt werden. Diese Systeme werden für die Demonstration von Einsatzszenarien genutzt. Der Zugang muss daher mit Administratorrechten erfolgen, was sich bei vielen der beteiligten Systemen nicht durch unterschiedliche Benutzer abbilden lässt. Um das Problem der Zugangsbeschränkung und des Nachweises von getätigten Aktionen zu behandeln, sollen diese Zugänge von einer zentralen Stelle aus vergeben und wieder zurückgezogen werden. Die Arbeit erstellt eine Anforderungsanalyse, ein Konzept sowie eine Umsetzung für die wichtigsten Einzelsysteme.
„Vergleich Statistischer Informationsverteilung in Peer-to-Peer Netzen,“ Bachelorarbeit, H. Kopp and D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2017 –
Abgeschlossen.
Cryptocurrencies including Bitcoin are the focus of ongoing research, with many practical implementation questions (such as the optimal block size) left unanswered. There exist a number of Bitcoin simulators that simulate various aspects of the network in order to help answer these questions and design new cryptocurrencies. We perform a comparative study of three simulators (ns-3, Shadow and simbit) and evaluate their user friendliness and ease of use, performance and scaling characteristics, adaptability to other cryptocurrencies and the range of parameters which they can simulate. We present these findings in the form of a detailed description for each simulator as well as a tabular overview. In addition to this, we perform a comparison of the simulation performance and provide the results in the form of a graph.
A. Martel, „Vergleich Statistischer Informationsverteilung in Peer-to-Peer Netzen,“ Bachelorarbeit, D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2017 –
Abgeschlossen.
With classical broadcast mechanism, a source detection algorithm is fairly successful. There exist proposals to break the symmetry and make source detection hard. In this thesis, two of those proposals, adaptive diffusion and dandelion, should be implemented in a simulator and evaluated for interesting characteristics in realistic networks.
M. Jäckle and C. Vogel, „Provisioning, Monitoring and Snapshotting of BFT-SMaRt,“ G. Habiger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2017 –
Abgeschlossen.
This project deals with the implementation of a platform to support the further development of the BFT-SMaRt Java library. In addition, a currently disabled feature, called checkpointing, should be examined closely and maybe reimplemented in the parallel version of BFT-SMaRt which uses UDS. The first part resulted in a feature-rich platform that encompasses automatic deployment and provisioning as well as live-monitoring capabilities for application related metrics. Parallel checkpointing is not working yet, but was researched extensively and some base work was done to facilitate future developers entering the project. In detail, an extended documentation for BFT-SMaRt was created and several approaches were discussed.
P. Butz, „Implementation, Deployment and Evaluation of UDS,“ G. Habiger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2017 –
Abgeschlossen.
The increasing world wide spread of computers and mobile devices combined with better international network set high demands on service providers. A huge number of parallel access to services offered in the Internet requires huge throughput. At the same time, the availability of services is key, especially in areas like financial and cloud services. Data centers provide these requirements by replicating critical services and data among numerous computers. However, this distribution means that hardware failures are not the exception but become the rule. The State Machine Replication (SMR) approach is an attempt to allow the recovery of crashed servers. Additionally, manipulations of servers and software failures are still a problem of such systems. Byzantine fault tolerant systems build up on state machine replication and face this issue by allowing clients to validate the correctness of service responses. However, SMR requires the client requests to arrive in the same order on every server, so that this has to be decided by a consensus. Furthermore, SMR requires deterministic processing, so that the states among all machines are equal, which is usually ensured by sequential request processing. This seems inefficient, especially considering multi core and multi CPU hardware of today's server systems. Enabling parallel request processing while fulfilling the demands of SMR requires a deterministic scheduler. These are complex and more resource-intensive than general schedulers. The aim of this thesis is the implementation of such a scheduler and the evaluation of the performance to gain knowledge about the efficiency of those schedulers to compare the overhead in scheduling with the gained parallelization. As a result, the overhead in deterministic scheduling is a huge factor, which only allows a performance improvement up to a certain point based on the cost of computations within critical sections.
P. Speidel, „Anonymity in Peer-to-Peer Storage Systems,“ Masterarbeit, D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2017 – Abgeschlossen.
A. Knittel, „Implementation of asynchronous request handling in BFT SMaRt,“ G. Habiger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2016 –
Abgeschlossen.
Current research efforts of our institute include a project on deterministic scheduling of multithreaded applications for State Machine Replication (SMR) systems with Byzantine Fault Tolerance (BFT). One part of this project aims to integrate our own work on deterministic scheduling with the BFT SMaRt library. Currently, BFT SMaRt only supports synchronous request-response patterns, whereas our planned SMR platform needs these patterns to be asynchronous. The goals of this project are (i) to analyze the existing BFT SMaRt codebase, (ii) to implement the necessary interfaces for asynchronous request handling and (iii) to integrate these changes into the existing BFT SMaRt libraries.
„EduMi - Erweiterung um eine automatische Benotung,“ D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2016 – Abgeschlossen.
„EduMi - Educational Middleware,“ D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2016 – Abgeschlossen.
J. Reutlinger, „Continious integration für in.Crease,“ F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2016 – Abgeschlossen.
S. Schwerin, „Identifikation optimaler Einsatzbereiche der Einigungsalgorithmen Paxos und Vertical Paxos,“ Masterarbeit, C. Spann (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2014 –
Abgeschlossen.
Die beiden Einigungsalgorithmen Paxos und dessen Erweiterung Vertical Paxos sind strukturell grundverschieden. Das daraus resultierende, vermutlich sehr unterschiedliche Verhalten soll in dieser Arbeit in geeigneten Evaluationen untersucht und beschrieben werden. Der Unterschied der Verfahren ergibt sich in der Verteilung des Aufwands zur Fehlererholung. In Paxos kann jeder Knoten selbst direkt mit Fehlern umgehen, in Vertical Paxos gibt es einen externen Knoten, der das System überwacht.
S. Wieluch, „BANDIT - Bat Indiviudal Identity,“ Bachelorarbeit VS-B09-2014, J.-P. Elsholz (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2014 –
Abgeschlossen.
Bat individual identity (BANDIT) is the idea to apply traditional speaker recognition to identify individual bats. This helps biologists in their researches, reducing the analysing time of recorded bat signals drastically. This thesis uses mel frequency celspral coefficients for feature extraction and tests three different learning strategies (gaussian mixture model, k-nearest-neighbour and support vector machines) on their ability to identify individual bats. Additionally, the speaker recognition is optimized for the best results. The thesis shows that identifying bats by their calls is possible and depending on the learning strategy good results can be achieved (Saccopteryx bilineata: 100% with 4 bats, 75.8% with 10 bats; Micronycteris microtis: 82.8% with 4 bats).
C. Staudenmayer, „Replikation des HDFS Namenodes,“ Diplomarbeit VS-D11-2011, C. Spann (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2012 –
Abgeschlossen.
In diesar Arbeit wurde der HDFS Namenode mit Virtual Nodes nebenläufig repliziert. Dabei wurden die Java Synchronisationsmechanismen durch die von 'Virtual Nodes' ersetzt und die Nebenläufigkeit im Gegensatz zu anderen Arbeiten beibehalten. Die Lauffähigkeit wurde demonstriert, weitergehende Benchmarks müssen die Effizienz aber noch belegen.
B. Erb, „Concurrent Programming for Scalable Web Architectures,“ Diplomarbeit VS-D01-2012, J. Domaschka (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2012 –
Abgeschlossen.
Web architectures are an important asset for various large-scale web applications, such as social networks or e-commerce sites. Being able to handle huge numbers of users concurrently is essential, thus scalability is one of the most important features of these architectures. Multi-core processors, highly distributed backend architectures and new web technologies force us to reconsider approaches for concurrent programming in order to implement web applications and fulfil scalability demands. While focusing on different stages of scalable web architectures, we provide a survey of competing concurrency approaches and point to their adequate usages.
F. Hofherr, „Synchronisierungstechniken für replizierte verteilte Objekte,“ Diplomarbeit VS-D05-2010, J. Domaschka (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2010 – Abgeschlossen.
V. Lang, „Transaktionaler Speicher für Objektreplikation,“ Diplomarbeit VS-D02-2009, J. Domaschka (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2009 – Abgeschlossen.
M. Pfeil, „Optimising and Self-adaptive Strategy Selection in a Replication Framework,“ Masterarbeit VS-D07-2009, J. Domaschka (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2009 – Abgeschlossen.
S. Kächele, „nOSGi - Eine native OSGi Implementierung,“ Diplomarbeit VS-D05-2009, J. Domaschka and H. Schmidt (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2009 – Abgeschlossen.
C. Näveke, „Konfliktvorraussage für lock-basierte Synchroninierung,“ Diplomarbeit VS-D06-2009, J. Domaschka (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2009 – Abgeschlossen.
M. Herchel, „Transparent Integration of Passive Replication in a Fault-Tolerant Framework for Distributed Objects,“ Masterarbeit VS-M02-2007, J. Domaschka (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2007 – Abgeschlossen.
M. Meßner, „Eclipse-Plugin zur Analyse von Thread-Synchronisierung in Java-Programmen,“ Diplomarbeit VS-D04-2007, J. Domaschka (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2007 – Abgeschlossen.