Verteilte Anwendungen, Plattformen und Systeme - Themen

Auf dieser Seite finden Sie ausgeschriebene offene Themen zu den Projektmodulen Verteilte Anwendungen, Plattformen und Systeme. Falls Sie sich für eines der Themen interessieren, wenden Sie sich bitte (gerne auch während des Semesters) an den genannten Betreuer. Häufig haben wir auch noch kurzfristig zusammengestellte Themen, bei denen wir nicht selten auch auf Ihre Vorlieben eingehen können. Sollte in der folgenden Liste nichts für Sie dabei sein, kontaktieren Sie bitte einen der Betreuer oder Prof. Hauck.

„The Cost of Confidential State-Machine Replication,“ Masterarbeit, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2025 – Verfügbar.
State-Machine Replication (SMR) is an established mechanism to build fault-tolerant services. Byzantine Fault-tolerant SMR systems are able to guarantee liveness and safety even if a subset of replicas is malicious. However, since client requests are issued to all replicas and the application state is also replicated on all replicas, individual malicious nodes are able to leak potentially sensitive information. In recent years there have been several proposals to use additional cryptographic mechanisms, such as verifiable secret sharing, to protect the confidentiality of the issued requests and the application state. These approaches differ in terms of the supported applications, and especially the performance The goal of this master thesis is to investigate the capabilities and performance impact of different cryptographic primitives that can be used to implement confidentiality in SMR systems.
„Read-write locks for the UDS deterministic scheduler,“ Projektarbeit, Bachelorarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2025 – Verfügbar.
State-machine replication is a concept to achieve availability be replicating software components on multiple servers, called replicas. As these replicas have to come to the same state and output the same data, they need be deterministic. UDS is a scheduling algorithm to provide deterministic multi-threading within replicas. So far, UDS is based on locks that protect shared state similar to the synchronized statement in Java. Task of this work is to develop locks that distinguish read and write accesses, i.e. a read lock may be acquired by many threads but not at the same time as a write lock of the same data. In a Bachelor's thesis, we would also expect an evaluation of performance gains compared to the current version of UDS. All developed software shall be implemented in Java.
„Implementing the PBFT on top of the SMRteez message layer,“ Projektarbeit, Bachelorarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2025 – Verfügbar.
State-machine replication is a concept to achieve availability be replicating software components on multiple servers, called replicas. These replicas have to communicate among each other and with clients in order to achieve consensus on the execution order of incoming requests. At the instute, we developed a message layer for replicas that takes care of encryption, addressing and group management. In a replica, there has to be an implementation of a consensus protocol on top of the message layer. The task of this work is to implement the well known PBFT protocol by exploiting the capabilities of the message layer. The protocol is well documented in papers and there is a C/C++ implementation that can be used as a template. With our message layer, the implementation should be relieved from non-consensus-related task as cryptography and group management. All developed software needs to be developed in Java.
„Feature Comparison of State-of-the-Art Network Simulators/Emulators,“ Projektarbeit, Bachelorarbeit, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2025 – Verfügbar.
Network simulators/emulators are a useful option to create virtual network environments for distributed applications on a single machine. In general, network emulators offer more realistic environments compared to simulators, however in terms of scalability and reproducibility of the experiments network simulators tend to have an advantage. The goal of this project or bachelor thesis is to compare the feature sets and usability of different network emulators and simulators using one or multiple representative demo applications.
„Command line interface for an SMR controller app,“ Projektarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2025 – Verfügbar.
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. For a popular SMR framework, called BFT-SMaRt, we developed a command utility that can start and stop a group of replicas. This tool has a GUI, but not yet a command line interface (CLI). The task of this work is to develop such a CLI and improve the usability of this tool so that it it becomes easy to setup and manage groups of replicas, and manage and monitor their execution. This task could be enriched by optional aspects like injecting faults into the replicas in order to test their fault-tolerance capabilities. All developed software components should be implemented in Java.
„A UDP-based protocol for an SMR message layer,“ Projektarbeit, Bachelorarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2025 – Verfügbar.
State-machine replication is a concept to achieve availability be replicating software components on multiple servers, called replicas. These replicas have to communicate among each other and with clients in order to achieve consensus on the execution order of incoming requests. At the instute, we developed a message layer for replicas that takes care of encryption, addressing and group management. So far the protocols TCP and QUIC were used. Task of this work is to develop a simple UDP-based protocol that can reliably send messages to other replicas or clients. However, the new protocol shall be TCP-friendly, i.e. it also adapts its data rate if the network shows signs of congestions so that the network is not overloaded. In a Bachelor's thesis, we would also expect an evaluation of performance compared to the other protocols of the existing message layer. All developed software shall be implemented in Java.
„User interface for the in.Crease person and committee module,“ Projektarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Verfügbar.
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.
„Performance Evaluation of the Gramine Library OS,“ Projektarbeit, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Verfügbar.
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.