Forschungsthemen
[BA] Towards a Time-aware Role-based Remote Data Mirroring Simulator
Remote Data Mirroring is an approach where data is replicated among multiple servers (called mirrors) to increase the availability of this data.
In a current research endeavor at the Software Technology Group, we developed a simulator for remote data mirroring, which allows to inspect the timing aspects of a remote data mirror network\footnote{https://github.com/sebastiangoetz/TimedRDMSimulator}.
In particular, the duration of selected adapation actions can be investigated. For example, how long does it take for a network to reconfigure from a fully connected topology to a balanced tree topology.
The current simulator realizes a very simple behavior for distributing the data among the mirrors. As soon as two mirrors are ready to receive data and the link between them is active, the mirror which already has the data will send it to the other mirror.
The goal of this thesis is to extend this simple behavior by adding support for role-oriented programming. Mirrors shall be able to play roles, which alter their behavior. For example, a mirror could play the role \texttt{DataSink} which will prohibit the mirror from sending any data to other mirrors. Another role is \texttt{LimitedDistributor}, where a mirror will only send its data to a fixed amount of other mirrors.
For this, the current simulator needs to be extended with appropriate means to implement these roles and to enable an easy extension with further roles by future developers.
In particular, the effector of the simulator needs to be extended to offer timed control about role playership to users of the simulator.
Besides this practical task, the thesis shall investigate alternative approaches to realize this adaptive behavior and compare them systematically.
Betreuer: Sebastian Götz