Homepage von Markus Keidl
-
Doktorandenkolloquium "Metadatenverwaltung und kontextbasierte Personalisierung in verteilten Systemen"
[ Powerpoint , PDF ]Weltweite Netzwerke, wie das Internet, stellen an die Entwickler von verteilten Systemen eine Reihe von neuartigen Herausforderungen. Sie stellen eine Vielzahl von Ressourcen zur Verfügung, die von entsprechenden Anwendungen verwendet werden können, z. B. Ressourcen für die Anfragebearbeitung wie Datenquellen, Rechenleistung oder Speicherplatz. Um diese Ressourcen effizient nutzen und verwalten zu können, benötigt man umfangreiche Metadaten. Zur effizienten verteilten Verwaltung wurde im Rahmen es ObjectGlobe-Projekts die Metadatenverwaltung MDV, ein verteiltes Metadaten-Management-System, entwickelt. Sie verwendet einen neuartigen, RDBMS-basierten Publish&Subscribe-Algorithmus, um die Replikation von neuen und relevanten Informationen anzustoßen und Replikate aktuell zu halten.
Eine weitere Herausforderung innerhalb derartiger Netzwerke ist die große Anzahl von heterogenen Benutzern. Die Herausforderung wird vergrößert durch den unter Pervasive oder auch Ubiquitous Computing bekannten Trend zu allgegenwärtigen, mobilen und ständig vernetzten Geräten. Benutzer können heute auf verschiedenste Arten auf Dienste im Internet zugreifen, z. B. per Handy oder PDA. Sie erwarten aber, dass die verwendeten Dienste entsprechend ihrer Zugriffsweise und ihrer aktuellen Umgebung passend auf sie reagieren. Im Rahmen des ServiceGlobe-Projekts wurde deshalb ein Kontext-Framework entwickelt, das die effiziente Entwicklung von flexiblen und personalisierbaren Diensten ermöglicht. Den Diensten werden Kontext-Informationen zur Verfügung gestellt, die ihnen helfen Benutzern eine personalisierte Version ihrer selbst zu präsentieren. Besonderes Augenmerk wurde darauf gelegt, dass sich die Dienste möglichst automatisch an neue Typen von Kontext-Informationen anpassen, d. h. Dienste müssen nicht nachträglich angepasst werden.
-
Diplomarbeit "Autorisierung und Kryptographie in AutO, einem verteilten System autonomer Objekte"
[ PDF , Postscript ]AutO ist ein verteiltes System autonomer Objekte. Autonome Objekte reagieren auf Ereignisse, indem sie bestimmte Aktionen ausführen. Die Einhaltung der ACID-Eigenschaften gewährleisten ein Transaktionssystem sowie Persistenz und Recovery. Migration sorgt bei Lastverschiebungen für eine dynamische Anpassung des Systems zur Laufzeit. AutO ist vollständig in der Sprache Java programmiert und somit plattformunabhängig. Dadurch ist es insbesondere für heterogene WAN-Netzwerke wie etwa das Internet geeignet.
Sicherheit ist in einem derartigen System von entscheidender Bedeutung. Es kann z. B. nicht davon ausgegangen werden, dass Daten, die über ein WAN übertragen werden, vor Manipulationen geschützt sind. Es müssen also Mechanismen existieren, die die Sicherheit in diesem System gewährleisten.
Im Rahmen dieser Diplomarbeit wurden verschiedene grundlegende Sicherheitskonzepte in AutO integriert. Der Schutz der Daten des Systems wird mit Hilfe kryptographischer Mittel erreicht. Diese werden eingesetzt, wenn Daten über ein möglicherweise unsicheres Netzwerk übertragen werden. Ein Autorisierungssystem, basierend auf rollenbasierter Zugriffskontrolle, stellt sicher, dass nur Benutzer mit der notwendigen Autorisierung auf geschützte Informationen zugreifen können.
Den Abschluss dieser Arbeit bildet die Beschreibung einer Beispielanwendung, die entwickelt wurde, um die Fähigkeiten von AutO zu demonstrieren. Ihre Aufgabe besteht in der Unterstützung der Auftragsannahme und -bearbeitung in einem fiktiven Supportunternehmen. Eine graphische Visualisierungskomponente gewährt dabei Einblick in die internen Abläufe der Anwendung.
-
Programmierpraktikum im Hauptstudium: AutO
Informationen hierzu finden sich auf der offiziellen Homepage des AutO-Systems.
- Seminar "Verteilte Datenbanken": Client/Server-Datenbanken
-
Programmierpraktikum im Grundstudium: Programmierung eines Scanners
Der Scanner liest eine Grammatikdefinition (Kombination von Tokens und regulären Ausdrücken) ein, um damit einen Automaten aufzubauen, der genau die spezifizierten Tokens erkennt. Gibt man dem Scanner nun ein Eingabefile, so durchscannt er es und gibt die Tokens auf die Standardausgabe oder ein angegebenes File aus.
Für Interessierte: die Sourcefiles (mit Doku)
-
Seminar "Parallelisierung irregulärer Probleme": Ein Compiler
für dünne lineare Algebra
In dieser Arbeit geht es um einen Compiler, der normalen FORTRAN-Sourcecode, der mit einigen zusätzlichen Anmerkungen versehen ist, in Sparsecode umwandelt. Sparsecode ist ein für dünn besetzte Matrizen optimierter Code. Dabei ist es möglich, dem Compiler die Struktur der dünnen Matrizen aus Beispielmatrizen bestimmen zu lassen, oder ihm die Struktur direkt anzugeben. Der Compiler wählt dann automatisch eine effizientes Speicherschema. Außerdem transformiert er den ursprünglichen Code so, dass er auf diesen dünnen Matrizen effizienter läuft, ohne dabei die Semantik zu verändern.
-
Seminar "Techniken in der fraktalen Geometrie": Dimensionseigenschaften
und -berechnung
Eine kurze Einführung in Eigenschaften von fraktalen Dimensionen und Propositionen zur Berechnung derselben. Grundlage ist das Buch "Techniques in Fractal Geometry" von K. Falconer.
- Projektstudium "Waggling Table":
Informationen hierzu finden sich auf der offiziellen Homepage des Projektstudiums Waggling Table