Individual Projects

In addition to our periodically scheduled project courses (see right column), you can also participate in a number of individual and group projects. Depending on your program and its exam regulation, these can be credited as a master project module. Please contact us for details. Note that some of the proposed project works are also offered as Bachelor's or Master's  thesis. Size and difficulty will be adapted to the kind of work that is finally done.

“User interface for the in.Crease person and committee module,” Project, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 – Open.
in.Crease ist ein geplantes Informationssystem für Studierende. In Vorarbeiten wurde bereits ein Modul entworfen, um Personen und Gremien zu verwalten und geeignet darszustellen. Ziel dieses Projekts ist es die Anforderungen an die Darstellung von Personen und Gremien zu überarbeiten und neu zusammen zu stellen. Auch das Datenmodell soll auf Vollständigkeit und Konsistenz abgeklopft werden. Im Anschluss sollen UI-Elemente sowie entsprechende Berechtigungen für die einzelnen Use-Cases implementiert werden - je nach Umfang eventuell nur eine Teilmenge von wichtigen Use-Cases. Zu den Use-Cases gehören nicht nur lesende Zugriffe in Form von geeigneten Anzeigeelementen sondern auch Editier-, Anlege- und Löschfunktionen. Die Arbeit hat damit einen konzeptionellen Anteil sowie einen Implementierungsanteil, der mit TypeScript und Angular in Verbindung mit einem Redux-Store.
“Reconfiguration of BFT-SMaRt replica groups at run-time,” Project, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 – Open.
State-machine replication (SMR) is a fault-tolerance concept where multiple servers (replicas) execute the same requests. Replicas are then able to replace each other in case of faulty servers. BFT-SMaRt is a popular framework to implement SMR. BFT-SMaRt is able to add and remove replicas from the replica group at runtime. Unfortunately only the latest of the added replicas can be removed again, which is obviously an odd restriction. It is likely that the reconfiguration part is just a proof-of-concept implementation. As part of this project the restrictions should be removed so that any replica can be removed by a reconfiguration request. This needs a cleanup in the internal software as replicas are internally numbered from 0 upwards and only the replica with the highest number can be removed. This numbering scheme has to be replaced by a more sophisticated solution.
“Liberating BFT-SMaRt from configuration files,” Project, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 – Open.
State-machine replication (SMR) is a fault-tolerance concept where multiple servers (replicas) execute the same requests. Replicas are then able to replace each other in case of faulty servers. BFT-SMaRt is a popular framework to implement SMR. One of its drawbacks is that clients and replicas need the same set of configuration files. This projects is supposed to "liberate" replicas and clients mostly from these files. The configuration should be expressed by Java objects (BFT-SMaRt internally already does something like this). Further, these objects should be handed out by our commander application that is already able to initialise a group of replicas – currently by copying configuration files. This copy operation should be replaced by object passing. The student has to identify all accesses to configuration files and update the software accordingly. For clients there should be the choice of using configuration files or a serialised configuration object that could be retrieved from the commander app.
“Evaluation of multiple deterministic multi-threading approaches for state-machine replication,” Project, Bachelor's thesis or Master's thesis, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 – Open.
Deterministic execution is crucial for state-machine replication, a fault-tolerance concept where multiple servers (replicas) execute the same requests. Replicas are then able to replace each other in case of faulty servers. In order to gain efficiency, multiple approaches for deterministic multithreading have been proposed, some of them by the Institute of Distributed Systems. The goal of this work is to evaluate multiple approaches and to measure their benefit, e.g. as speedup compared to a sequential solution. This has to be done with multiple workloads, of which some should be standard, e.g. the YCSB benchmark. Depending on the type of work the actual goals have to be adapted. As a Master's thesis, we expect contributions of the student in the direction of a qualified comparison which approaches are suitable for which workloads supported by measurements. Even specific workload creation may be required to underpin corner cases where a particular approach works best or worst.
“A Performance Evaluation of Gramine,” Project, A. Heß (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 – Open.
Intel SGX is a technology that allows to launch tamper-proof enclaves in main memory, which isolate parts of applications that deal with sensitive data. There is a broad spectrum of application scenarios, ranging from fault-tolerant systems to privacy-preserving machine learning approaches. Intel provides a native SDK that can be used to derive low-level wrapper functions from a function definitions provided in a DSL, which are then used to interact with the protected parts of the application applications. However, the SDK requires special care during the design process as well as C/C++ programming skills, in order to create a bulletproof interface to the enclave. The Gramine project promises to simplify the SGX application development process by providing functionality to wrap unmodified linux applications in Intel SGX enclaves. Since this approach trades in performance for usability, the goal of this project is to conduct a performance evaluation for different applications launched natively and wrapped with Gramine.
“A fault-aware message layer for state-machine replication,” Project, Bachelor's thesis or Master's thesis, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 – Open.
State-machine replication is a fault-tolerance solution where multiple servers (replicas) execute the same requests. In order to manage the replicas, they have to handle complex replication protocols, a checkpoint mechanism etc. Obviously replicas have to communicate among each other and also with clients. As the currently available solutions are not really modular, we would like to build our own replication framework. As a first step there is a need for a messaging layer that is able to interconnect replicas and clients. Communication has to authenticated by various means (SSL, asymmetric and symmetric cryptography, message authentication codes). Further, the layer has to be aware of unavailable clients and replicas and to automatically reconnect as soon as these are back and up again. The communication layer should stick to gRPC fundamentals, e.g ProtocolBuffers but perhaps even more, to gain some interoperability and language independence. Part of the work is also an appropriate configuration concept, so that replicas know their buddy replicas and their key material. As part of a Master's thesis we would expect performance measurements and appropriate optimizations and the consideration of overload situations.
“Quantification of the Impact of Floating Point Errors in Subjective Logic,” Master's thesis or Project, J. Dispan (Supervisor), F. Kargl (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 – Open.
Subjective Logic (SL) is a mathematical framework for reasoning under uncertainty. It is useful for expressing opinions on how reliable information is (so-called Trust Opinions) and performing computations on these opinions. At our institute, we research applications of SL in the automotive domain, e.g. to express trust in data received from a sensor or from other vehicles. Current implementations of SL internally use floating-point arithmetic (IEEE 754) for performing calculations. However, IEEE 754 floating-point numbers are prone to introducing rounding errors. In safety-critical domains, failing to account for such errors might lead to catastrophic consequences. In this thesis/project, you will investigate the potential impact of floating-point errors in SL calculations and develop strategies to minimise it. You can choose your approach freely: whether you work theoretically (e.g. through a detailed study of literature) or practically (e.g. through implementing a test environment and explaining the observed effects) is up to you.
“Comparison and Implementation of HTTPS-based Service Function Chaining Proof of Transit Solutions.,” Project, B. Leonard (Supervisor), F. Kargl (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 – Open.
Service Function Chaining (SFC) is a technice to steer traffic through specific network services. To proof that the traffic was actually forwarded through the specified services, a Proof Of Transit (PoT) is used. In this project, different PoT approaches are compared and the most promising solution implemented in a HTTPS-based SFC environment.
“Zero Trust SFC enabled HTTP based Multi Factor Authentication,” Projectarbeit, L. Bradatsch (Supervisor), F. Kargl (Examiner), Inst. of Distr. Sys., Ulm Univ., 2020 – Open.
Since Google introduced their BeyondCorp project, Zero Trust (ZT) is one of the most popular buzzwords in the area of network security. In a ZT network, Policy Enforcement Point (PEP) and Policy Decision Point (PDP) are responsible for central authentication and authorization (Auth*). Both mentioned components and conventional security functions such as firewalls work largely independently of each other when it comes to processing packets. This leads to inefficient scenarios in which all packets are processed by time- consuming security functions. By coupling the conventional security functions to the PEP/PDP, higher efficiency in security-relevant packet processing can be achieved. This can be achieved by leveraging the Service Function Chaining (SFC) approach. SFC allows the dynamic chaining of conventional network service functions such as HTTP header enricher or firewalls. For each network flow can be decided what service function should be applied to all the flow's packets. The PEP/PDP in a ZT network acts then as the orchestrator, decides about the functions that should be chained together. By doing this, it can be efficiently decided which function should be applied. The goal of the project is to implement one of the thus orchestrated security service functions namely a Multi Factor Authenticator (MFA) that is embedded in a already existing Zero Trust SFC prototype. The MFA must be HTTP based and written in Go. Requirements: Good knowledge of Go and security protocols).
“Applications for the LoRaPark Ulm,” Project, F. Kargl (Supervisor), F. Kargl (Examiner), Inst. of Distr. Sys., Ulm Univ., 2020 – Open.
Contact

Secretary's Office

Marion Köhler
E-Mail
Phone: +49 731 50-24140
available in the morning
Fax: +49 731 50-24142

Postal Address

Institute of Distributed Systems
Ulm University
Albert-Einstein-Allee 11
89081 Ulm

Visiting Address

James-Franck-Ring
Gebäude O27, Raum 349
89081 Ulm
Monday, Wednesday and Thursday all day
Tuesday and Friday mornings only.

Directions