Sie sind hier: Startseite Lehre Projekte

Projekte

Der Lehrstuhl für Kommunikationssysteme bietet Praktika und Projekte sowohl für den Bachelor- als auch den Masterstudiengang an. Die unten aufgeführten Themen sind in der Regel für beide Studiengänge geeignet und können entsprechend flexibel erweitert werden.

Ort und Zeit

Die Praktika beginnen in der Regel zum jeweiligen Semesterstart und erfolgen in direkter Absprache mit den jeweiligen Ansprechpartnern. Je nach Vereinbarung, Gruppengröße und Interesse gibt es regelmäßige Treffen. Diese umfassen dann Koordination, Vortrag oder Programmieren unter Anleitung. Die Treffen finden im Rechenzentrum im Institutsviertel (Hermann-Herder-Str. 10) statt.

Zielsetzung

In dieser Veranstaltung soll (in Teamarbeit und) unter Anleitung ein Software- oder entsprechendes Projekt selbständig geplant und umgesetzt werden. Diese bauen zum Teil auf bereits erfolgten Arbeiten auf oder können ihrerseits eine spätere Bachelor- oder Master-Arbeit vorbereiten.

Ziele dieser Veranstaltung liegen in der Vermittlung von Programmier- und Projekterfahrung, Koordination, Verständnis und die selbständige Bearbeitung von (komplexeren) Softwareprojekten.

 

Themen

Bei Interesse an einem der folgenden Themen bitte beim jeweiligen Mitarbeiter melden.

 

Lokale Anpassung von virtuellen Lehr- und Lernumgebungen

Das Rechenzentrum betreibt selbst und im Auftrag verschiedener Fakultäten PC-Pools in unterschiedlichen Varianten. Diese Räume dienen gleichzeitig Lehr- und Prüfungszwecken sowie dem Selbststudium mit Nutzung verschiedener (fachspezifischer) Arbeitsumgebungen. Viele davon basieren auf Windows-Umgebungen (7 und 10).

Die zugrundeliegende bwLehrpool-Infrastruktur setzt hierfür stark auf Virtualisierungslösungen, um als diese in Form von virtuelle Desktops zur Verfügung zu stellen. In diesen virtuellen Maschinen sollen beim Start bestimmte Anpassungen (Bildschirmauflösung, Anpassung der Umgebung, evtl. Einbinden von externen Ressourcen (Shares) - eine Art "win. Profile Light".

Die bwLehrpool-Infrastruktur sorgt bereits dafür, dass die Maschinen beim Login die jeweilige VM konfigurieren. Für die interne Konfiguration gibt es bereits ein Tool, dieses soll geeignet erweitert, angepasst etc. werden. Weiterhin sollten Konzepte entwickelt werden, wie bestimmte Aufgaben geeignet in die virtuelle Lehr- und Lernumgebung übergeben werden können.

Sinnvolle Vorkenntnisse

Basiskenntnisse Virtualisierung, Windows, Skripting

Kontakt

Dirk von Suchodoletz

 

Gateway für Türschilder auf E-Ink-Basis

Insbesondere für Räume mit wechselnden Belegungen, wie Vorlesungssäle, Seminarräume oder Computerpools bietet es sich an, statt des wöchentlichen Wechselns papierner Belegungspläne auf moderne elektronische Türschilder zu setzen. Wenn diese besonders energiesparend sein sollen, bieten sich hier E-Ink-Lösungen an. Auf diesen lassen sich nicht einfach klassische Webbrowser im Fullscreen laufen lassen, sondern sie werden üblicherweise anders mit Informationen bestückt. In diesem Projekt soll untersucht werden, wie ein möglichst effektives und skalierendes System für eine Versorgung von größeren Gebäuden mit solchen E-Ink-basierten Türschildern aussehen kann und wie die Umsetzung der Datenquellen (aus HIS-in-One bzw. mit Informationen zur tatsächlichen Belegung von Computer-Pools) für die Darstellung aussehen kann (z.B. Erzeugen von Bildern aus Webseiten, die dann geeignet an die Displays verteilt werden).

Voraussetzungen

Gewisse System- und Hardwarekenntnisse, Programmierkenntnisse, Webprogrammierung

Kontakt

Dirk von Suchodoletz

Authentifizierung und User-Information via HIS-in-One-Webservices

Das Rechenzentrum betreibt selbst und im Auftrag verschiedener Fakultäten PC-Pools. Diese Räume dienen gleichzeitig Lehr-, Recherche- (in der UB) und Prüfungszwecken sowie dem Selbststudium mit Nutzung verschiedener (fachspezifischer) Arbeitsumgebungen (Projekt bwLehrpool). Je nach Pool sollen sich evtl. nur ausgewählte Nutzergruppen anmelden können oder es soll ihnen je nach Fachgebiet oder Studienjahr eine unterschiedliche Auswahl angezeigt werden.

Üblicherweise wird LDAP als Authentifizierungs-Backend in den Pools eingesetzt. In diesem Projekt soll untersucht werden, ob sich ein LDAP-Proxy (Prototyp für andere Zwecke existiert bereits) entwickeln lässt, der im Hintergrund für Authentifizierung und Beschaffung zusätzlicher Parameter HIS-in-One Webservices (Beispielcode liegt vor) nutzen kann. Performance und Möglichkeiten der Auswahl und Nutzung zusätzlicher Benutzerinformationen soll evaluiert und testweise implementiert werden.

Voraussetzungen

Linux- und Programmierkenntnisse (C/C++ bzw. Java sowie Shell- und Systemebene; Begriffe und Konzepte wie LDAP, PAM, Authentifizierung, Webservices, ... sollten bekannt sein)

Kontakt

Dirk von Suchodoletz

Alternative Authentifizierungsverfahren in bwLehrpool

Das Rechenzentrum betreibt selbst und im Auftrag verschiedener Fakultäten PC-Pools in unterschiedlichen Varianten. Diese Räume dienen gleichzeitig Lehr- und Prüfungszwecken sowie dem Selbststudium mit Nutzung verschiedener (fachspezifischer) Arbeitsumgebungen. Mit zunehmender einrichtungsübergreifender Kooperation (European Campus im EUCOR-Verbund, gemeinsame Lehramt, externe Wissenschaftler und Dozenten, ...) kommen zunehmend Personengruppen vor, die in der lokalen Authentifizierung (typischerweise LDAP oder AD) nicht vorliegen. Um diesen Gruppen trotzdem einfachen Zugriff auf zentrale Lehr- und Lernressourcen zu geben, sollen alternative Authentifizierungsmethoden (unter Nutzung eines LDAP-Proxies) evaluiert werden. Hierzu zählen Föderationen wie DFN-AAI oder bwIDM und Ansätze, die das zentrale Campus-Management (im Bsp. Freiburg: HIS-in-One) als Backend nutzen. Eine prototypische Umsetzung ist anhand der bestehenden bwLehrpool-Infrastruktur zu evaluieren und zu implementieren.

Voraussetungen:

Linux- und Programmierkenntnisse (Begriffe wie PAM, Shibboleth, Webservices sollten einen nicht schrecken sondern im Gegenteil etwas sagen)

Kontakt

Dirk von Suchodoletz

Netzwerk-Performance-/Fehlerindikatoren für PC-Pool-Betrieb (auf Basis bwLehrpool)

Das Rechenzentrum betreibt selbst und im Auftrag verschiedener Fakultäten PC-Pools in unterschiedlichen Varianten. Diese Räume dienen gleichzeitig Lehr- und Prüfungszwecken sowie dem Selbststudium mit Nutzung verschiedener (fachspezifischer) Arbeitsumgebungen. Die Funktion der lokalen Rechner hängt stark von einer fehlerfreien und performanten Netzwerkanbindung ab. Es kann zu schwierig zu debuggenden Fehlersituationen kommen, wenn hier Störungen auftreten. Um solche Störungen möglichst früh zu erkennen und um Indizien für mögliche Fehlfunktionen zu identifizieren, soll die schon bestehende Self-Monitoring-Componente der einzelnen Maschinen geeignet erweitert werden. Etliche Daten/Informationen werden auf den Bootserver als Log übertragen, diesen Teil gilt es ebenfalls geeignet zu erweitern (mit größerer Datenmenge und steigenden Client-Zahlen wird es sehr schnell unübersichtlich). Indikatoren sind geeignet zu ermitteln und eine prototypische Umsetzung auf Basis der bestehenden Umgebung zu realisieren.

Das Ganze ist auf späteren Einsatz angelegt und erfolgt als praktische Mitarbeit im Team in einem laufenden Infrastrukturprojekt des RZ gemeinsam mit der HAW Offenburg (vgl. https://www.bwlehrpool.de).

Sinnvolle Vorkenntnisse

Voraussetzung für das Projekt sind Netzwerk- und Programmiererfahrungen.

Kontakt

Dirk von Suchodoletz

Automatische Migration von VMs (hypervisor-übergreifend)

In verschiedenen Szenarien und Projekten (ViCE, bwLehrpool, EaaS, ...) kann es notwendig sein, dass eine Virtuelle Maschine (VM) von einem Typ Hypervisor (z.B. VMware-Workstation) auf einen anderen Typ (z.B. Linux Qemu/KVM) übertragen werden soll. Damit geht häufig die Änderung der virtuellen Hardware einher, welches ein ähnliches Problem für viele Betriebssysteme bedeutet, wie der Ausbau der Systemplatte aus einer Maschine und Einbau in eine (hardwaremäßig) andere Maschine. Hier soll für verschiedene Betriebssysteme untersucht werden, wie weit sich dieses automatisieren ließe und wie größere manuelle Anpassungen vermieden werden können. Üblicherweise lässt sich das Zielsystem ja gut beschreiben (im Sinne der vorhandenen Hardware).

Sinnvolle Vorkenntnisse

Virtualisierer sollte man mal gesehen haben, weitergehende Betriebssystemkenntnisse (Hardware-/Treiberschicht), grundlegende Programmierkenntnisse

Kontakt

Dirk von Suchodoletz

Flexible Desktop-Virtualisierung

Für bwLehrpool wird auf verschiedene Hypervisoren für die Desktop-Virtualisierung (nicht im klassischen Sinne der VDI, jedoch in Punkten vergleichbar) gesetzt. Diese werden je nach Anforderung automatisch konfiguriert. Dieses geschieht einerseits auf Seite der die einzelnen Maschinen vorbereitenden Lehrenden (dann üblicherweise das individuelle Gerät mit VMware-Workstation, VirtualBox oder Linux-KVM) und später dann auf jedem Client, wo dann die VMs als Arbeitsumgebung für den Desktop ausgewählt werden.

Hier werden neue Konzepte gesucht, die das bisherige System für mehrere Virtualisierer (die unter Linux zur Verfügung stehen: VMware (Vorlage), VirtualBox, Linux/KVM) nutzbar machen. Das soll VirtualBox (und Linux/KVM) transparent einsetzbar machen. Im nächsten Schritt wären Funktionen denkbar, die die lokale Änderung von Images basierend auf Vorarbeiten ermöglichen. Derzeit geschieht dieses über eine externe Anwendung auf Drittsystemen.

Sinnvolle Vorkenntnisse

Linux, Virtualisierer sollte man mal gesehen haben, grundlegende Programmierkenntnisse (Shell etc.)

Kontakt

Dirk von Suchodoletz

 

 

Einsatz von Docker für Rechteseparierung

Das Rechenzentrum betreibt ein HPC-System welches durch Cloud-Funktionalität in seiner Nutzbarkeit erweitert werden soll. Zur Separierung von Nutzerrechten bieten sich Docker-Ansätze oder Virtualisierung an. Jedoch ist es schwierig elegant den Zugriff auf (gemountete) Filesysteme in den Rechten einzuschränken, da Nutzer in einer VM durchaus (unkontrolliert durch den Admin des HPC-Systems) Root (Administrator) mit vollen Rechten sein können. Hier wäre zu untersuchen, welche Möglichkeiten es gibt, geeignet performante Filesysteme des Hosts (BeeGFS, NFS via RDMA) in der Virtualisierung nutzbar zu machen, ohne dass ein Nutzer zu weitreichende Rechte erhält. Der erste Schritt wäre die Untersuchung für eine einzelne VM auf einem Clusternode, weitere Schritte würden die Zahl möglicher VMs (verschiedener Nutzer) erhöhen.

Das Ganze bietet die Grundlage für weitere Überlegungen im Bereich des Infrastrukturprojekts ViCE (http://www.alwr-bw.de/kooperationen/vice/).

Sinnvolle Vorkenntnisse

Voraussetzung für das Projekt sind Netzwerkerfahrungen und Kenntnisse von Virtualisierern, Docker sowie Linux cgroups etc.

Kontakt

Dirk von Suchodoletz

Browser-based Emulation-as-a-Service

Emulation-as-a-Service provides a complete Cloud-based emulator framework, to simplify access to old computer systems (http://bw-fla.uni-freiburg.de). The cloud-based approach, however, requires dedicated Cloud-compute resources, such that sometimes a more lightweight solution is required. One such browser-based emulators is
a JavaScript-based v86 emulator (https://copy.sh/v86/).

The EaaS framework does more than running an emulator, though, providing means to access hard disk, floppy and CD-ROM images. While these can easily be transported to a server under the control of the EaaS framework, this task is more difficult for cloud-based emulation.

Expected outcome(s) of this bachelor thesis / master project / master thesis:

  • integrate browser-based technology within the Emulation-as-a-Service framework, in particular to make disk images available and usable with browser-based emulators.

Required Knowledge:

JavaScript and Java programming skills.

Contact

Klaus Rechert

Disk image format identification

In order to ease the use of arbitrary digital objects given as disk images, they have to be characterized to match suitable emulators and/or to determine how to proceed with this type of data.

The focus of this project is to identify the technical characteristics of an image file using the disktype tool (https://github.com/eaas-framework/disktype). Unfortunately, disktype in its current version is not producing machine-readable results, hence we cannot automate the characterization process.

Expected tasks:

  • develop a concept for hierarchical (technical) image information (e.g. media-type, partition-table etc.)
  • emit machine-readable data

Preconditions

C programming skills.

 

Contact

Klaus Rechert

 

Zugriff auf Bulk-Daten über HTTP Streaming

Für Cloud-Dienste kann die Nutzung von HTTP für den Datentransport vorteilhaft sein, da für die Auslieferung der Daten lediglich ein Webserver notwendig ist. Zum Beispiel "mountet" das Emulation-as-a-Service Framework eine virtuelle Festplatte (disk-image) einer HTTP URL mittels FUSE. Bei hohen Netzwerklatenzen ist der Datendurchsatz schlecht, so dass sowohl ein Read-Cache als auch pre-fetching im Hintergrund eine bessere Nutzung der verfügbaren Bandbreite verspricht. 
Aufgaben:
  • Entwicklung eines Performancetests der das Problem (geringer Durchsatz bei hoher Netzwerklatenz) demonstriert und strukturierte Analysen erlaubt
  • Erweiterung der QEMU HTTP Blocktreiber Implementierung um einen Read-Cache
  • Erweiterung der QEMU HTTP Blocktreiber Implementierung mit einer pre-fetching Option
Hinweis: Die Bearbeitung dieses Projekts kann ohne Programmierkenntnisse in C und insbes. ohne allg. Programmiererfahrung sehr zeitaufwändig werden, da zusätzlicher Aufwand für das Erlernen erlernen einer neuen Programmierspache (und Ihrer Tücken) notwendig sein wird. EIn Projekt bzw. eine konkrete Aufgabenstellung kann aber auch ein guter Startpunkt für des einer (neuen) Programmiersprache, jedoch sollte der extra Zeitaufwand bei der Studiumsplanung berücksichtigt werden.

Kontakt