Prof. Dr.-Ing. Franz Hauck

Franz Hauck
Prof. Dr.-Ing. Franz Hauck
Stellv. Institutsdirektor
Institut für Verteilte Systeme
Institut für Verteilte Systeme
Universität Ulm
Albert-Einstein-Allee 11
89081 Ulm
Baden-Württemberg
Deutschland
Raum: O27 348
Telefon: +4973150-24143

Prof. Dr.-Ing. Franz J. Hauck

Lehrtätigkeit


Auf dieser Seite erfahren Sie Details zur Lehre, an denen Prof. Hauck beteiligt ist oder war.

 

Offene Projekt- und Abschlussarbeiten

Hier werden nur die offenen Arbeiten gelistet, die Prof. Hauck selbst betreut. Arbeiten, die von Mitarbeitern betreut und von Prof. Hauck bewertet werden, finden Sie auf der Themenseite zur Projektveranstaltung VAPS. Mehr offene Arbeiten finden sich auf den Institutswebseiten für Individualprojekte und Abschlussarbeiten.

„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.
„Reconfiguration of BFT-SMaRt replica groups at run-time,“ Projektarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – 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. 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.

 

Laufende Projekt- und Abschlussarbeiten

Diese Liste enthält alle laufenden Arbeiten, die von Prof. Hauck bewertet werden, im Fall von Abschlussarbeiten nur solche, bei denen er Erstgutachter ist.

D. Riedel, „Liberating BFT-SMaRt from configuration files,“ Projektarbeit VS-2025-08P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2025 – Vergeben.
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.
K. Anter, „Improvements for the regulation module in in.Crease,“ Projektarbeit VS-2024-03P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Vergeben.
„Implementation of BLS Signatures for Trusted Platform Modules,“ Projektarbeit, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Vergeben.
The Trusted Platform Module (TPM) is a standardized cryptographic co-processor which provides a specific set cryptographic functionality comprising encryption, digital signatures, and hash functions among other features. TPM 2.0 modules come in five different implementations, which offer different security levels ranging from the discrete implementations which provide the highest level of security, down to software TPMs which are unsafe for production environments and are intended for the development purposes only. BLS signatures are a signature scheme based on elliptic curves and pairing-based cryptography for verification. Their mathematical construction provides useful isomorphisms which allow to create multi- and threshold signatures. BLS signatures are currently not included in the TPM specification and can therefore not be generated by TPMs by default. There is however a recent publication which describes how BLS signatures can be generated by leveraging cryptographic primitives for Schnorr signatures that are specified in the TPM standard. The goal of this project is to dive into to the TPM technology stack and build a prototype implementation of the BLS signature scheme proposed in the research paper.
V. Kolb, „Implementation of the Exactly-Once Semantic as a Middleware,“ Bachelorarbeit, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Vergeben.
„Evaluating microservices: a comparative study of application architectures based on projects at Mercedes-Benz Tech Innovation,“ Masterarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Vergeben.
„Development of a Visualization Tool for Educational Purposes for the Operating Systems Lecture,“ Projektarbeit, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Vergeben.
The task of this project is to develop a web-based application that can be used as part of the operating systems lecture for educational purposes. The application should encompass a graphical emulation of basic computer hardware components such as a simple processor with a narrow instruction set or a memory management unit. The goal is to have an educational tool for students to help them develop intuition for concepts like instruction processing or virtual memory management.
„Design and Implementation of a Deterministic Execution Engine with Rollback Capabilities based on Software Transactional Memory,“ Bachelorarbeit, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Vergeben.
State-Machine Replication is an established fault-tolerance mechanism to build highly available services. Hereby, the basic idea is to deterministically execute issued requests on multiple replicas. SMR Systems are typically build on consensus protocols to establish a total order of client requests to ensure consistency among the replicas. There are a number of speculative consensus protocol that order requests with low latency by handing requests to the execution engine without additional inter-replica communication. These systems are based on the assumption that the current consensus leader is working correctly most of the time. A faulty leader could however make conflicting proposal to different replicas which could lead to diverging states among the replicas. In such a case the replicas have to be able to perform a rollback to re-create a consistent system state. Software transactional memory (STM) is a lock-free concurrency control mechanism which manages conflicting access to shared resources using special datastructures. There are a variety of different strategies for conflict detection and resolution, used by different STM approaches that optimize performance for different system models. The goal of this thesis is to design and implement a deterministic execution engine based on software transactional memory which is capable of tracking read- and write-sets of processed transactions and leverage this information to perform rollbacks if necessary. There is an existing deterministic STM implementation available in Java which has been developed in a previous thesis that could be utilized here.
„A fault-aware message layer for state-machine replication,“ Masterarbeit VS-2025-07M, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Vergeben.
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.

 

Abgeschlossene Projekt- und Abschlussarbeiten

Diese Liste enthält alle früheren Arbeiten, die von Prof. Hauck bewertet werden, im Fall von Abschlussarbeiten nur solche, bei denen er Erstgutachter ist. Die Liste ist momentan noch unvollständig.

J. Dommer, „SMR Commander: a tool for bootstrapping and configuration of state-machine replicated services,“ Projektarbeit VS-2023-24P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Abgeschlossen.
„Sequenzielle Algorithmen für IMP,“ Projektarbeit VS-2024-28P, M. Sommer (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Abgeschlossen.
D. Riedel, „Implementation and measurement of the ByTI algorithm,“ Projektarbeit VS-2024-08P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Abgeschlossen.
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.
J. Dommer, „Execution semantics and guarantees of client-replica communication in BFT-SMR applications,“ Masterarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Abgeschlossen.
T. Schrull, „Evaluation platform for state-machine replication,“ Masterarbeit VS-2024-10M, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Abgeschlossen.
L. Kircher, „Evaluation of multiple deterministic multi-threading approaches for state-machine replication,“ Bachelorarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Abgeschlossen.
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.
J. Waldbaur, „Escape Game zur Lernzielwiederholung im Aufbaukurs Informatik Klasse 7,“ Projektarbeit VS-2024-26P, M. Sommer (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Abgeschlossen.
J. Gärtner, „Erstellung und Analyse von Unterrichtsaufgaben zum Thema Rechnernetze mit Hilfe der Lernsoftware Filius,“ Projektarbeit VS-2024-27P, M. Sommer (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Abgeschlossen.
„BFT-SMaRt Hardening,“ Projektarbeit VS-2023-25P, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Abgeschlossen.
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,“ Projektarbeit VS-2023-21P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2024 – Abgeschlossen.
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,“ Bachelorarbeit VS-2024-06B, L. Beyenburg (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Abgeschlossen.
F. Neidhart, „A practical comparison of Kubernetes CNI plugins,“ Bachelorarbeit VS-2024-12B, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Abgeschlossen.
C. Schilling, „A practical evluation of the Keylime framework,“ Bachelorarbeit VS-2023-14B, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2024 – Abgeschlossen.
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 Projektarbeit der Informatik VS-2023-27P, M. Sommer (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
T. Schweikert, „Towards a production-ready deployment of in.Crease,“ Projektarbeit VS-2022-27P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
„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.
S. Reichersdörfer, „Responsive user interface and exam schedules for the in.Crease information system,“ Projektarbeit VS-2021-27P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
M. Harfmann, „Kopfaufgaben als Wiederholung zum Unterrichtsbeginn,“ Fachdidaktische Projektarbeit der Informatik VS-2023-27P, M. Sommer (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
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.
C. Ruepp and J. Fischer, „Integrating Shibboleth and user management into in.Crease,“ Projektarbeit VS-2022-21P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
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,“ Projektarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
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,“ Masterarbeit, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
J. Meyer-Hilberg, „GraphQL-Engine als Anwendung für State-Machine Replication,“ Bachelorarbeit VS-2023-12B, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
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,“ Projektarbeit VS-2023-03P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
L. Hulm, „Einsatz von H5P im Rückenwindprogramm,“ Projektarbeit VS-2023-10P, M. Sommer (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.
M. Zettlmeißl, „ByTI: Simulation Environment for a Byzantine Timer for State-Machine Replication,“ Projektarbeit VS-2021-05P, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
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,“ Projektarbeit VS-2023-01P, A. Heß (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2023 – Abgeschlossen.
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,“ 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.
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.
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.
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.
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.
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.
M. Seiffert, „Efficiently Running and Accessing Remote Android Emulators,“ Masterarbeit VS-2022-18M, 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.
A. Abbati, „Byzantine fault-tolerant IoT sensor processing,“ Bachelorarbeit VS-2022-14B, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2022 – Abgeschlossen.
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,“ 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.
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.
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.
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.
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.
„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.
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.
„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.
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 - Educational Middleware,“ D. Mödinger (Betreuung), F. J. Hauck (Prüfer), Inst. f. Vert. Sys., Univ. Ulm, 2016 – Abgeschlossen.
„EduMi - Erweiterung um eine automatische Benotung,“ 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.

 

Lehrveranstaltungen an der Universität Ulm

Pflichtvorlesungen

 
Betriebssysteme (BS)
Vorlesung mit Übung, 3V+2Ü, 6 LP
SS 2024, SS 2023
Einführung in die Informatik (EidI)
Vorlesung mit Übung, 4V+2Ü, 8 LP
WS 2024 (nur Videos), WS 2023 (nur Videos), WS 2022 (nur Videos), WS 2021
Grundlagen der Betriebssysteme (GdBS)
Vorlesung mit Übung und Labor, 3V+1Ü+1L, 7 LP
WS 2024 (nur Labor), SS 2024, WS 2023 (nur Labor), SS 2023, SS2022, SS 2021, SS 2020, SS 2019, SS 2018, SS 2017, SS 2016, SS 2015 (4V+1Ü+1L, 8 LP)
Grundlagen der Rechnernetze (GRN)
Vorlesung mit Übung, 2V+1Ü, 4 LP
WS 2011, WS 2010, WS 2009, WS 2008
Programmierung von Systemen (PvS)
Vorlesung mit Übung, 4V+2Ü, 8 LP
SS 2014, SS 2012
Technische Informatik I (TI1)
Vorlesung mit Übung und Praktikum, 4V+1Ü+1P, 8 LP
SS 2011, SS 2007, SS 2005, SS 2004, SS 2003, SS 2002
Technische Informatik II (TI2)
Vorlesung mit Übung und Praktikum, 4V+1Ü+1P, 8 LP
WS 2005, WS 2002

Wahlvorlesungen

 
Algorithmen Verteilter Systemen (AVS)
Vorlesung mit Übung, 2V+2Ü, 6 LP
SS 2008, WS 2005, WS 2004
Architectures for Distributed Objects (ADO) - en
Vorlesung mit Übung, 3V+1Ü, 6 LP
WS 2009
Architekturen für Verteilte Internetdienste (AvID/ADIS) - en
Vorlesung mit Übung, 3V+1Ü, 6 LP
SS 2024, SS 2023, SS2022, SS 2021, SS 2020, SS 2016 (in Deutsch), SS 2015, SS 2014, SS 2013, SS 2012, SS 2011, SS 2010, SS 2009, SS 2008, SS 2007, SS 2006, SS 2005, SS 2004
Architekturen für Verteilte Objekte (AVO)
Vorlesung mit Übung, 3V+1Ü, 6 LP
WS 2007, WS 2006, WS 2005, WS 2004
Fault-tolerant Distributed Systems (FTDS) - en
Vorlesung mit Übung, 3V+1Ü, 6 LP
SS 2024, SS 2023, SS2022, SS 2021, SS 2020, SS 2019
Grundlagen Verteilter Systeme (GVS)
Vorlesung mit Übung, 3V+1Ü, 6 LP
WS 2024, WS 2023, WS2022, WS 2021, WS 2020, WS 2019, WS 2018, WS 2017, WS 2016, WS 2015, WS 2014, WS 2013, WS 2012, WS 2011
Moderne Konzepte Verteilter Systeme (MKVS)
Vorlesung mit Übung, 3V+1Ü, 6 LP
WS 2002
Multimediakommunikation (MMK)
Vorlesung mit Übung, 3V+1Ü, 6 LP
SS 2021, WS 2020, WS 2019, WS 2018, WS 2017, WS 2016, WS 2015, WS 2014, WS 2013, WS 2012, WS 2011, WS 2010, SS 2010, WS 2008, WS 2007, WS 2006
Verteilte Betriebssysteme (VBS)
Vorlesung mit Übung, 3V+1Ü, 6 LP
WS 2003

Proseminare

 
Effective-Java, Java Programmierung für Fortgeschrittene (EJ)
Proseminar, 2S, 4 LP
SS 2009
Java-Technologien für Verteilte Systeme (JTVS)
Proseminar, 2S, 4 LP
SS 2005
Kniffe, Tricks und Techniken für Java (KTT)
Proseminare, 2S, 4 LP
WS2021, WS 2020, WS 2019, SS 2019, SS 2018, SS 2017, SS 2016, SS 2015, SS 2014, SS 2013, SS 2012, SS 2010, WS 2009
Konzepte Verteilter Systeme (KVS)
Proseminar, 2S, 4 LP
WS 2007
Linux (LI)
Proseminar, 2S, 4 LP
SS 2004, SS 2003
Moderne Aspeckte der Java Software Entwicklung (MAJSE)
Proseminar, 2S, 4 LP
WS 2024, WS 2023, WS 2022
Peer-to-Peer-Systeme (P2P)
Proseminar, 2S, 4LP
WS 2006
Projekte der Apache Software Foundation (PASF)
Proseminar, 2S, 4 LP
SS 2021, SS 2020

Seminare/Hauptseminare

 
Ausgewählte Themen in Verteilten Systemen (ATVS)
Seminar, 2S, 4 LP
WS 2024, SS 2024, WS 2023, SS 2023, WS2022, SS 2022, WS 2021, SS 2021, SS 2020, WS 2019, SS 2019, WS 2018, SS 2018, WS 2017, SS 2017, WS 2016, SS 2016, WS 2015, SS 2015, WS 2014, SS 2014, WS 2013, SS 2013, WS 2012
Forschungstrends im Bereich Verteilter Systeme (FVS)
Seminar, 2S, 4 LP
SS 2009, WS 2008, WS 2007
Forschungstrends in Verteilten Systemen (RTDS) - en
Seminar/Hauptseminar, 2S, 4 LP
WS 2024, SS 2024, WS 2023, SS 2023, WS2022, SS 2022, WS 2021, SS 2021, WS 2020, SS 2020, WS 2019, SS 2019, WS 2018, SS 2018, WS 2017, SS 2017, WS 2016, SS 2016, WS 2015, SS 2015, WS 2014, SS 2014, WS 2013, SS 2013, WS 2012
Multimedia- und Internetsysteme (MIT)
Seminar, 2S, 4 LP
SS 2018, WS 2017, SS 2017, WS 2016, SS 2016, WS 2015, SS 2015, WS 2014, SS 2014, WS 2013, SS 2013, WS 2012, WS 2011, SS 2011, WS 2010, SS 2010, WS 2009
Multimediale Datenübertragung (MD)
Seminar, 2S, 4 LP
SS 2008, WS 2005
Sicherheit in Verteilten Systemen (SVS)
Seminar, 2S, 4 LP
SS 2003
Verlässlichkeit und Adaptierbarkeit in Verteilten Systemen (VAVS)
Seminar, 2S, 4 LP
SS 2008
Verteilte Algorithmen (VA)
Seminar, 2S, 4 LP
WS 2003
Werkzeuge des Apache-Projekts: vom XML-Parser bis zum Web-Service (WAP)
Seminar, 2S, 4 LP
WS 2004

Projekte und Praktika

 
Fachdidaktisches Projekt der Informatik (FDPI)
Projekt, 2P, 5 LP
WS 2024, SS 2024, WS 2023, SS 2023, WS2022, SS 2022, WS 2021 SS 2021, SS 2020
Middleware (MW)
Praktikum, 4P, 8 LP
SS 2009, WS 2008, SS 2008, WS 2007, SS 2007, WS 2006, SS 2006, WS 2005, SS 2005, WS 2004, SS 2004, WS 2003, SS 2003
Middleware-Technologien (MWT)
Projekt, 3Pj, 12 LP
SS 2009, WS 2008
Multimedia- und Internetsysteme im Eigenbau (MITIE)
Projekt, 3Pj, 12 LP
SS 2018, WS 2017, SS 2017, WS 2016, SS 2016, WS 2015, SS 2015, WS 2014, SS 2014, WS 2013, SS 2013, SS 2012, WS 2011, SS 2011, WS 2010, SS 2010, WS 2009
Praktikum Multimedia- und Internetsysteme (PMIT)
Praktikum, 4P, 8 LP
SS 2018, WS 2017, SS 2017, WS 2016, SS 2016, WS 2015, SS 2015, WS 2014, SS 2014, WS 2013, SS 2013, SS 2012, WS 2011, SS 2011, WS 2010, SS 2010, WS 2009
Verteilte Anwendungen, Plattformen und Systeme I (VAPS1) - de/en
Projekt, 2Pj, 8 LP
WS 2024, SS 2024, WS 2023, SS 2023, WS 2022, SS 2022, WS 2021, SS 2021, WS 2020, SS 2020, WS 2019, SS 2019, WS 2018

Verteilte Anwendungen, Plattformen und Systeme II (VAPS2) - de/en
Projekt, 2Pj, 8 LP

WS 2024, SS 2024, WS 2023, SS 2023, WS 2022, SS 2022, WS 2021, SS 2021, WS 2020, SS 2020, WS 2019, SS 2019, WS 2018
Wissen 2.0 (WI)
Praktikum, 4P, 8 LP
SS 2008

Sonstige Veranstaltungen

 
Absolventenseminar Verteilte Systeme (ABSVS) -de/en
Seminar, 2S, 0LP

WS 2024, SS 2024, WS 2023, SS 2023, WS2022, SS 2022, WS2021, SS 2021, WS 2020, SS 2020, WS 2019, SS 2019, WS 2018, SS 2018, WS 2017, SS 2017, WS 2016, SS 2016, WS 2015, SS 2015, WS 2014, SS 2014, WS 2013, SS 2013, WS 2012, SS 2012, WS 2011

 

Lehrveranstaltungen an der Universität Erlangen-Nürnberg

Vorlesungen

 
Objectoriented Concepts for Distributed Systems (I) (OODS1) - en
Vorlesung mit Übung, 2V+2Ü
WS 2000, WS 1999, SS 1999, SS 1998
Objektorientierte Konzepte in der Betriebsprogrammierung (OOBP)
Vorlesung mit Übung, 2V+2Ü
SS 1997
Objektorientierte Konzepte Verteilter Systeme II (OOVS2)
Vorlesung, 7V
WS 1999
Rapid Prototyping, Software-Metriken und Netzwerk-Programmierung (RSN)
projektbezogene Vorlesung mit Intensiv-Übung, 2V
SS 1995
Systemprogrammierung I (SysProg1)
Pflichtvorlesung mit Übung, 4V+4Ü
WS 2001, WS 2000, WS 1999, WS 1998, WS 1997

Seminare/Hauptseminare

 
Moderne Middleware-Dienste: Replikation, Mobilität u.a.
Hauptseminar, 2S
SS 1998
Objektorientierte Programmierung in verteilten Systemen
Hauptseminar, 2S
SS 1993
Objektorientierte Strukturierung verteilter Systeme
Hauptseminar, 2S
SS 1990
Objektorientierte Verteilte Systeme: Middleware für spezielle Anwendungsklassen
Hauptseminar, 2S
SS 2000
Objektorientierte Verteilte Systeme: Middleware zur Unterstützung nichtfunktionaler Eigenschaften
Hauptseminar, 2S
SS 2001
Virtuelle Rechner und Mobile Agenten - Aktuelle Trends in der Betriebssystem- und Middlewareentwicklung
Hauptseminar, 2S
SS 1999