Werner Kurschl: Monitoring von verteilten Systemen, Dissertation, Institut für Wirtschaftsinformatik- Software Engineering, Johannes Kepler Universität Linz, 2000.


Die Verbesserung der Leistungsfähigkeit von Rechnersystemen und die Fortschritte in der Netzwerktechnologie haben in den letzten Jahren zu einer verstärkten Dezentralisierung von Diensten und Daten, verstärkten Nutzung gemeinsamer Betriebsmittel (z.B. Netzwerk) sowie vermehrter Parallelisierung von Verarbeitungsschritten in Anwendungssystemen geführt. Die in verteilten Systemen mögliche Aufteilung eines gesamten Systems auf mehrere Prozesse hat u.a. den Vorteil, das sich damit Anwendungssysteme gut an physikalische, organisatorische und softwaretechnische Anforderungen anpassen lassen. Als Folge dieser Entwicklungen wächst der Bedarf an verteilten Anwendungen.

Im Konstruktionsprozeß von verteilten Anwendungssystemen sind die Entwickler mit Problemstellungen konfrontiert, die bei der Konstruktion nichtverteilter Anwendungssysteme nicht oder nur in eingeschränkter Form auftreten. Beispiele für solche Problemstellungen sind die Verteilung von Ressourcen und/oder Prozessen auf mehrere Rechner, die Parallelisierung von Verarbeitungsschritten, die Identifikation und Behandlung von Fehlern, die Steuerung der Verarbeitung asynchroner Ereignisse und die Einbindung von Kommunikationsdiensten. »Monitoring« und dynamische Programmanalyse soll helfen, die Entwicklung verteilter Systeme so zu unterstützen, das die Systemanforderungen erfüllt werden können, die oben erwähnten Problemstellungen zu bewältigen und den Einsatz verteilter Systeme zu überwachen.

Die vorliegende Arbeit ist in sieben Kapitel gegliedert. Neben den Kapiteln Einleitung und Motivation sowie Schlußfolgerungen werden in fünf aufeinander aufbauenden Kapiteln die Themen Terminologie verteilter Systeme, Anforderungen an verteilte Systeme und Probleme bei der Entwicklung verteilter Systeme, Konzepte des Monitorings, existierende Monitoringsysteme und das Monitoringsystem Orwell behandelt.

Im zweiten Kapitel der Arbeit werden wesentliche Begriffe aus dem Bereich der verteilten Systeme erläutert. Ausgehend vom Begriff System wird eine Charakterisierung verteilter Systeme vorgenommen, indem wesentliche Eigenschaften verteilter Systeme diskutiert werden. Darauf aufbauend erfolgt die Erläuterung wichtiger Konzepte und Mechanismen, die bei der Konstruktion verteilter Systeme eine bedeutende Rolle spielen. Den Abschluß bildet eine überblicksartige Beschreibung der wichtigsten Schritte zur Beobachtung und Analyse verteilter Systeme.

Auf dieser begrifflichen Basis werden im dritten Kapitel wichtigste Aspekte verteilter Systeme aus der Sicht des Software Engineering dargelegt. Das sind vor allem Aspekte wie Zuverlässigkeit, Fehlertoleranz, Effizienz, Skalierbarkeit und Sicherheit. Danach folgt die Diskussion von Problemen, die bei der Entwicklung verteilter Systeme häufig auftreten. Dabei werden auch objektorientierte verteilte Systeme berücksichtigt. Weiters folgt eine Erörterung der Aspekte Zeit und Kausalität, die für die Beobachtung verteilter Systeme bedeutsam sind.

Das vierte Kapitel besteht aus einer Diskussion grundlegender Anforderungen an Monitoringsysteme. Der größte Teil des Kapitels setzt sich mit dem von Feldkuhn, Erickson [89] stammenden und von Mansouri Samani [95] verfeinerten allgemeinen Monitoringmodell und den darin enthaltenen Konzepten, Aktivitäten und Strategien zur Beobachtung und Analyse verteilter Systeme auseinander.

Das fünfte Kapitel enthält eine Präsentation ausgewählter Forschungsansätze und Werkzeuge des Monitorings. Die Präsentation stützt sich dabei auf das im vorigen Kapitel erläuterte allgemeine Monitoringmodell.

Das sechste Kapitel beschreibt das vom Autor entwickelte Monitoringsystem Orwell. Es wird die Grundarchitektur der verteilten, objektorientierten Analyseumgebung und die zur Verfügung gestellte Funktionalität erläutert. Ferner wird ein Vergleich und eine Bewertung mit den im Kapitel vier vorgestellten Monitoringsystemen vorgenommen.

Den Abschluß bildet eine Darstellung der Ergebnisse und Erfahrungen der Arbeit und gibt einen Ausblick auf zukünftige Entwicklungen und Forschungsbedarfe. Zusätzlich werden Konsequenzen diskutiert, die aus den Erkenntnissen der vorliegenden Arbeit gezogen werden sollten.