J. Dommer, “SMR Commander: a tool for bootstrapping and configuration of state-machine replicated services,” Project VS-2023-24P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 – Completed.
“Sequenzielle Algorithmen für IMP,” Project VS-2024-28P, M. Sommer (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 – Completed.
D. Riedel, “Implementation and measurement of the ByTI algorithm,” Project VS-2024-08P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 –
Completed.
In research work, we designed an extension for replicated state machines, a concept for fault-tolerant service provisioning. The designed algorithm called ByTI allows for deterministic measurements of the number of requests within a given time interval. Such measurements are necessary for automatic reconfigurations of adaptive algorithms within a replicated state machine. This project is supposed to implement the algorithmic design into our state-machine framework called SMRteez. Besides, it is supposed to evaluate the precision of the measurements in a practical setting. Further, the student may analyse the proposed algorithm and evaluate or even design alternate versions. Depending on the remaining work time ByTI could be extended to support deterministic wall-clock time stamps and deterministic random numbers, both aspects that would make state-machine replication more usable in practice. Having heart the FTDS lecture is of benefit but no pre-requisit.
T. Schrull, “Evaluation platform for state-machine replication,” Master's thesis VS-2024-10M, A. Heß (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 – Completed.
J. Waldbaur, “Escape Game zur Lernzielwiederholung im Aufbaukurs Informatik Klasse 7,” Project VS-2024-26P, M. Sommer (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 – Completed.
J. Gärtner, “Erstellung und Analyse von Unterrichtsaufgaben zum Thema Rechnernetze mit Hilfe der Lernsoftware Filius,” Project VS-2024-27P, M. Sommer (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 – Completed.
“BFT-SMaRt Hardening,” Project VS-2023-25P, A. Heß (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 –
Completed.
BFT-SMaRt is an open-source library that can be used to build fault-tolerant services. Internally, it builds on state-machine replication (SMR) technology. The core idea of SMR is to deploy the same service application on a set of different servers such that a certain number of servers can be faulty without affecting the service's availability. This approach requires a consensus mechanism to enforce a deterministic order of client requests on each individual machine. While BFT-SMaRt offers all the necessary functionality to build and deploy SMR applications, the provided API requires that developers have substantial knowledge about the internal replication mechanism. The task of this project is to reinforce the API with a higher-level of abstraction regarding the underlying communication and replication mechanisms, and thereby makes the library less error-prone to use for application developers.
P. Prechtel, “BFT-SMaRt Wrapper für gRPC und Java RMI,” Project VS-2023-21P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2024 –
Completed.
In the institute, there is an own framework for replicated state machines, a concept to implement fault-tolerant services. Our framework is called SMRteez and based on BFT-SMaRt, a mature and popular framework written in Java. SMRteez has its own client to service protocol and the client side API is quite different from what is used for ordinary service interaction. The task of this project is to implement two or three popular client APIs for SMRteez in the sense that existing client software can use the same API but the underlying protocol is exchanged to the one that SMRteez needs. Such APIs could be gRPC, HTTP and Java RMI. The student first has to investigate existing APIs, as there are many different ones, e.g. for HTTP. Further the API has to be implemented in Java. A test setup should show that a standard service can be easily replace by a replicated server using SMRteez. In case of Java RMI, there is previous work that could be used to allow for service-specific stubs at client side. This software is called FORMI and it may be interesting to use it.
D. Dik, “Automated disaster detection and recovery for cloud applications,” Bachelor's thesis VS-2024-06B, L. Beyenburg (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 – Completed.
C. Schilling, “A practical evluation of the Keylime framework,” Bachelor's thesis VS-2023-14B, A. Heß (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2024 –
Completed.
Keylime is a well-maintained open-source framework that provides secure bootstrapping procedures for remote machines based on Trusted Platform Modules (TPMs). The project promises to make TPM technology more accessible for developers. The task of this thesis or project is to browse Keylime's feature set and demonstrate a subset of the features with a suitable application scenario.
“Umsetzung des Aufbaukurs Informatik durch digitale Medien zur Erleichterung des Unterricht durch fachfremde Lehrkräfte,” Fachdidaktische Projectarbeit der Informatik VS-2023-27P, M. Sommer (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 – Completed.
T. Schweikert, “Towards a production-ready deployment of in.Crease,” Project VS-2022-27P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 – Completed.
“State of Event Sourcing Application Development,” Master's thesis VS-2023-04M, B. Erb and E. Meißner (Supervisor), F. Kargl and F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 –
Completed.
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.
S. Reichersdörfer, “Responsive user interface and exam schedules for the in.Crease information system,” Projectarbeit VS-2021-27P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 – Completed.
M. Harfmann, “Kopfaufgaben als Wiederholung zum Unterrichtsbeginn,” Fachdidaktische Projectarbeit der Informatik VS-2023-27P, M. Sommer (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 – Completed.
R.-N. Schmidt, “Intel SGX Application Development with Gramine,” Bachelor's thesis, A. Heß (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 –
Completed.
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.
C. Ruepp and J. Fischer, “Integrating Shibboleth and user management into in.Crease,” Project VS-2022-21P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 –
Completed.
in.Crease ist ein geplantes Informationssystem für Studierende. In Vorarbeiten wurde eine Bibliothek entworfen, die es erlaubt eine Single-Signon-Lösung mit dem KIZ-Login auf der Basis von Shibboleth zu implementieren. Die Projektarbeit soll das Login in die bestehende Software-Architektur von in.Crease integrieren. Diese besteht aus mehreren Docker-Containern. Statt Apache muss nginx zur Anbindung verwendet werden. Das Angular-basierte Frontend sollte mit entsprechender Login/Logout-Funktion ausgestattet werden. Eventuell kann die Nutzerverwaltung noch angepasst und erweitert werden. Stichworte wären Rechtezuteilung bzw. Feature-Vektoren. Interessierte sollten in JavaScript programmieren können oder sich die entsprechenden Fähigkeiten aneignen wollen.
K. Anter, “in.Crease regulation diff visualization,” Projectarbeit, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 –
Completed.
in.Crease ist ein geplantes Informationssystem für Studierende. In Vorarbeiten wurde ein Modul für die Darstellung und das Editieren von Satzungen entworfen, z.B. von Prüfungsordnungen oder Zulassungssatzungen. Ein gewünschtes Feature ist es, Ordnungsänderungen, z.B. eine neue Prüfungsordnung, mit einem Diff zu deren Vorgängerversionen ansprechend darzustellen. In Vorarbeiten hat sich gezeigt, dass ein Datenmodell ohne die Berücksichtigung dieses Features die nachträgliche Integration erschwert oder unmöglich macht. Diese Arbeit soll dieses Feature implementieren und wenn nötig das Datenmodell genau daraufhin anpassen. Mögliche zusätzliche Features (eventuell auch in Anschlussprojekten) könnten ein ansprechendes Layout-Konzept, die Reintegration eines Editors sowie eine Versionsverwaltung sein.
D. Hunt, “Implementation and Evaluation of Eve, a Speculative Byzantine Fault Tolerant State Machine Replication System for Multi-Core Servers,” Master's thesis, A. Heß (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 – Completed.
J. Meyer-Hilberg, “GraphQL-Engine als Anwendung für State-Machine Replication,” Bachelor's thesis VS-2023-12B, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 –
Completed.
State-machine replication (SMR) is a concept to achieve fault-tolerant services. The Institute of Distributed Systems has an own framework to deploy, run and evaluate such services. Unfortunately the overhead of SMR is quite high so that evaluations achieve bad results for very short-running applications. GraphQL is a backend technology for web-based services. The browser sends some sort of query to the backend where it is parsed, evaluated and the results are compiled according to the query demands. This sounds well-suited for evaluating practical SMR services. However, for SMR the application has to stick to certain rules, e.g. use provided locks to control concurrency. The task of this project is to evaluate existing GraphQL implementations in Java, decide on one to adapt, and transform this GraphQL in order to run on our SMR framework. Idealy, the typically used relational database management system is replaced by some simple in-memory implementation, so that a replicated GraphQL service does not need a DBMS to run. In case enough remaining time is available, measurements and comparisons to other non-adapted GraphQL implementations would be ideal.
J. Fischer and C. Ruepp, “Extending user management and deployment optimization of in.Crease,” Project VS-2023-03P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 – Completed.
L. Hulm, “Einsatz von H5P im Rückenwindprogramm,” Project VS-2023-10P, M. Sommer (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 – Completed.
X. Li, “Eine Proof-of-Concept-Studie über Service Mesh,” Bachelor's thesis VS-2023-06B, E. Meißner (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 – Completed.
“Confidential Computing via Multiparty Computation and Trusted Computing,” Master's thesis VS-2023-05M, E. Meißner and B. Erb (Supervisor), F. Kargl and F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 –
Completed.
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.
M. Zettlmeißl, “ByTI: Simulation Environment for a Byzantine Timer for State-Machine Replication,” Project VS-2021-05P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 –
Completed.
Byzantine fault tolerance can handle not only crashing nodes but also nodes with arbitrary faulty behaviour (hacking, intrusions, sporadic and intermittent faults). State-machine replication (SMR) can tolerate Byzantine failures by replicating a service onto multiple nodes and deploying a communication protocol that distributes requests to all replicas in the same order. Each replica node needs to run deterministically in order to achieve the same output in correct nodes. For implementing a deterministic timer (wall clock, interval timer), we developed a heartbeat-based distributed algorithm called ByTI (Byzantine Time Intervals). In order to improve and visualise its behaviour, this project is supposed to develop a simulation environment for the ByTI algorithm. The simulation environment should visualise the sent messages and its temporal distribution including the outcome of ByTI results (current time, interval lengths). The simulator should be able to simulate configurable message delays, delay distributions and predefined Byzantine behaviour. Further, the simulated algorithm should be adaptable in order to implement improvements. The student may decide on the technology used for implementation.
M. Schmid, “A practical evaluation of SMR frameworks,” Project VS-2023-01P, A. Heß (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2023 –
Completed.
State-machine replication is a well-known concept to achieve fault-tolerant services, by utilizing multiple replicas that process the same set of requests. A failing replica can thus be tolerated with low failover times. There are a large number of different approaches that have been proposed in recent literature. However, corresponding implementations are only publicly available for a subset of these approaches. The goal of this project is to investigate some of these implementations, by evaluating their feature set, required setup procedure, and overall usability. The latter is especially important, as some implementations may be rather old and no longer compliant to current library and system interfaces. The available frameworks have been implemented in a variety of different programming languages and published with different flavours of documentation.
D. Riedel, “Simulation and evaluation of a Byzantine clock,” Bachelor's thesis VS-2022-13B, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 –
Completed.
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,” Master's thesis, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 – Completed.
T. Nguyen, “in.Crease regulation editor,” Projectarbeit VS-2021-39P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 – Completed.
D. Hunt, “Implementation of Troxy - a proxy for Byzantine fault-tolerant systems,” Project VS-2022-10P, A. Heß (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 – Completed.
D. Hunt, “Implementation of a fast-read cache for Troxy,” Project VS-2022-22P, A. Heß (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 – Completed.
T. Nguyen, “Implementation of a variety of features for the in.Crease regulation module,” Projectarbeit VS-2022-07P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 – Completed.
T. Schweikert, “Implementing a Byzantine-fault-tolerant replication middleware between an audit log service and Immudb,” Projectarbeit VS-2021-25P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 – Completed.
F. Stark, “Gamification und Lernpfade im Rückenwind-Programm,” Project VS-2022-24P, M. Sommer (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 – Completed.
J. Dommer, “Entwicklung eines Monitoring Tools für BFT-SMaRt,” Bachelor's thesis VS-2022-12B, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 – Completed.
M. Seiffert, “Efficiently Running and Accessing Remote Android Emulators,” Master's thesis VS-2022-18M, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 – Completed.
T. Nguyen, “Combining software-transactional memory with deterministic execution for replicated state machines,” Master's thesis VS-2022-17M, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 –
Completed.
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,” Master's thesis VS-2021-30M, A. Heß (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2022 – Completed.
A. Abbati, “Byzantine fault-tolerant IoT sensor processing,” Bachelor's thesis VS-2022-14B, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2022 –
Completed.
In the Internet of Things (IoT), there are often sensors whose collected data must be prepared and further processed. This often happens in the edge area, i.e. close to the sensors, and in the cloud, i.e. in some remote data centre. The aim of this work is to explore how Byzantine errors can be tolerated in the pre-processing of sensor data until it arrives in the cloud. Byzantine errors range from total failure to sporadic hardware and software failures to nodes taken over by attackers. The work should include a reference implementation, ideally using the IoT framework developed in the SORRIR project. SORRIR is implemented in TypeScript. The work is suitable for people who have at least heard the lecture Introduction to Distributed Systems (GVS) or even Fault-tolerant Distributed Systems (FTDS), or want to familiarise themselves with these topics accordingly. The workload will be adjusted according to the type of thesis (project, bachelor, master).
C. Michl, “Wirksamkeit verschiedner informatikbezogener Erklärvideos,” Projectarbeit VS-2021-04P, M. Sommer and F. J. Hauck (Supervisor), M. Sommer and F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Completed.
J. Mayer, “Visualisation of consensus algorithms,” Projectarbeit VS-2021-10B, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Completed.
J. Dispan, “Praktische Umsetzung eines modifizierten Dining-Cryptographer Protokolls,” Projectarbeit VS-2021-07P, D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2021 –
Completed.
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,” Bachelor's thesis VS-2021-17B, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2021 –
Completed.
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,” Project VS-2021-21P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Completed.
S. Reichersdörfer, “in.Crease Exam,” Projectarbeit VS-2021-06P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Completed.
C. Hartig, “in.Crease-Reg: Design and implementation of a web application for student regulations,” Project VS-2021-02P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2021 –
Completed.
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,” Project VS-2021-20P, A. Heß (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2021 –
Completed.
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,” Master's thesis VS-2021-13M, M. Mehdi (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Completed.
C. Ritzer, “EEG data visualizer for TinnituSense smartphone app,” Project VS-2021-03P, M. Mehdi (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Completed.
L. Dubies, “EEG Compression/ EEG using Smartphones,” Project VS-2021-01P, M. Mehdi (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Completed.
J. Ulrich, “Deployment setup for in.Crease,” Projectarbeit VS-2021-08P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Completed.
B. Buffinton, “Database scheme evolution in CI/CD environments,” Bachlor's Thesis VS-2021-09B, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Completed.
M. Kempfle, “Consensus replacement in a modular state-machine replication framework: trial and evaluation,” Master's thesis VS-2021-11M, G. Habiger (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Completed.
U. Eser, “Benchmarking of BFT-SMaRt with YCSB,” Project VS-2021-22P, G. Habiger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2021 –
Completed.
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,” Projectarbeit in Business Analytics VS-2021-14P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2021 – Completed.
S. Merkel, “Web Content Integrity Protection,” Master's thesis VS-2020-13M, E. Meißner (Supervisor), F. Kargl and F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2020 –
Completed.
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,” Master's thesis, D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2020 –
Completed.
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,” Bachelor's thesis VS-2021-12B, D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2020 –
Completed.
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,” Project, M. Mehdi (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2020 – Completed.
“Erweiterung der Lerntheke für das BOGY-Praktikum an der Universität Ulm,” Projectarbeit FDPI, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2020 – Completed.
F. Diemer, “EEG application for Android: Backend,” Project, M. Mehdi (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2020 – Completed.
A. Heß, “Bootstrapping of a replica group using Intel SGX,” Projectarbeit, VAPS, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2020 – Completed.
M. Karthan, “Angular modules and data input interfaces for the in.Crease information system,” Projectarbeit VS-2020-27P, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2020 – Completed.
T. Nieß, “RESTful Backendserver für in.Crease,” Project VAPS, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2019 – Completed.
N. Fröhlich, “Privacy Increasing Group Creation for Networks,” Master's thesis, D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2019 –
Completed.
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,” Master's thesis, G. Habiger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2019 – Completed.
M. Kempfle, “Integration of etcd4j and BFT-SMaRt Parallel,” Project, G. Habiger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2019 –
Completed.
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,” Project VAPS, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2019 –
Completed.
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,” Project FDPI, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2019 – Completed.
M. Karthan, “Angular frontend for the in.Crease information system,” Projectarbeit VS-P25-2019, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2019 – Completed.
N. Ritter, “Simulation von Broadcastprotokollen in NS3,” Bachelor's thesis, D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2018 –
Completed.
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,” Projectarbeit, D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2018 –
Completed.
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,” Bachelor's thesis, G. Habiger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2018 –
Completed.
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,” Bachelor's thesis VS-B16-2019, D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2018 –
Completed.
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.
O. Finnendahl, “Enabling Snapshotting in Multithreaded BFT-SMaRt,” G. Habiger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2018 –
Completed.
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.
M. Benz, “Enabling Snapshotting in Multithreaded BFT-SMaRt,” Project, G. Habiger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2018 –
Completed.
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.
F. Hohberger, “Design einer generischen API für Gruppenkommunikationsprotokolle,” Master's thesis VS-M09-2018, C. Spann (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2018 –
Completed.
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.
U. Eser, “Design einer flexiblen Peer-to-Peer Bibliothek,” Bachelor's thesis, D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2018 –
Completed.
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.
“Automatisierte Vergabe von temporären administrativen Zugängen für heterogene Systeme,” Bachelor's thesis, F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2018 –
Completed.
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.
A. Martel, “Vergleich Statistischer Informationsverteilung in Peer-to-Peer Netzen,” Bachelor's thesis, D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2017 –
Completed.
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.
“Vergleich Statistischer Informationsverteilung in Peer-to-Peer Netzen,” Bachelor's thesis, H. Kopp and D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2017 –
Completed.
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.
M. Jäckle and C. Vogel, “Provisioning, Monitoring and Snapshotting of BFT-SMaRt,” G. Habiger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2017 –
Completed.
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 (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2017 –
Completed.
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,” Master's thesis, D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2017 – Completed.
A. Knittel, “Implementation of asynchronous request handling in BFT SMaRt,” G. Habiger (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2016 –
Completed.
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 - Educational Middleware,” D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2016 – Completed.
“EduMi - Erweiterung um eine automatische Benotung,” D. Mödinger (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2016 – Completed.
J. Reutlinger, “Continious integration für in.Crease,” F. J. Hauck (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2016 – Completed.
S. Schwerin, “Identifikation optimaler Einsatzbereiche der Einigungsalgorithmen Paxos und Vertical Paxos,” Master's thesis, C. Spann (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2014 –
Completed.
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,” Bachelor's thesis VS-B09-2014, J.-P. Elsholz (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2014 –
Completed.
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,” Diploma thesis VS-D11-2011, C. Spann (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2012 –
Completed.
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,” Diploma thesis VS-D01-2012, J. Domaschka (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2012 –
Completed.
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,” Diploma thesis VS-D05-2010, J. Domaschka (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2010 – Completed.
V. Lang, “Transaktionaler Speicher für Objektreplikation,” Diploma thesis VS-D02-2009, J. Domaschka (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2009 – Completed.
M. Pfeil, “Optimising and Self-adaptive Strategy Selection in a Replication Framework,” Master's thesis VS-D07-2009, J. Domaschka (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2009 – Completed.
S. Kächele, “nOSGi - Eine native OSGi Implementierung,” Diploma thesis VS-D05-2009, J. Domaschka and H. Schmidt (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2009 – Completed.
C. Näveke, “Konfliktvorraussage für lock-basierte Synchroninierung,” Diploma thesis VS-D06-2009, J. Domaschka (Supervisor), F. J. Hauck (Examiner), Inst. f. Vert. Sys., Univ. Ulm, 2009 – Completed.
M. Herchel, “Transparent Integration of Passive Replication in a Fault-Tolerant Framework for Distributed Objects,” Master's thesis VS-M02-2007, J. Domaschka (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2007 – Completed.
M. Meßner, “Eclipse-Plugin zur Analyse von Thread-Synchronisierung in Java-Programmen,” Diploma thesis VS-D04-2007, J. Domaschka (Supervisor), F. J. Hauck (Examiner), Inst. of Distr. Sys., Ulm Univ., 2007 – Completed.