Dienstgüte-Management in verteilten Objektsystemen
- Die Integration von Dienstgüte-Vorkehrungen in objektorientierte Verteilungsinfrastrukturen befähigt Anwendungsentwickler, den Verteilungs-induzierten Problemen verteilter Systeme zu begegnen. Im Rahmen dieser Arbeit wurde die generische Einbettung von Dienstgüte-Vorkehrungen in verteilte Objektsysteme untersucht und ein Lösungsansatz präsentiert. Zunächst wurde eine Analyse der für das Dienstgüte-Management notwendigen Aufgaben vorgestellt. Ausgehend von einem verteilten Objektmodell wurde untersucht, wie Dienstgüte-Vorkehrungen integriert werden können. Dienstgüte-Vorkehrungen stellen bei einem zugrundeliegenden Ob- jektmodell nicht-einkapselbare Verantwortlichkeiten dar. Die enge Bindung der Dienstgüte-Vorkehrungen an einen Dienst führt so zu Vermaschungen in den Strukturen der Implementierung. Damit ist die getrennte Wieder- verwendung beider erschwert. Zusätzlich werden unterschiedliche Abstrak- tionen vermischt. Die aspektorientierte Programmierung (AOP) behandelt solche Vermaschungen. Dienstgüte wurde bei der Integration in ein verteil- tes Objektmodell als ein Aspekt im Sinne der AOP klassifiziert. Ausgehend von den Anforderungen an das Dienstgüte-Management wur- de ein Rahmenwerk auf Basis eines verteilten Objektmodells entworfen. Der in dieser Arbeit dargestellte Schwerpunkt liegt auf der Spezifikation von Dienstgüte-Charakteristiken und deren Umsetzung in die Implementie- rungssprache der Anwendungsobjekte. Für die Unterstützung der Ende-zu- Ende-Dienstgüte-Erbringung ist der Einbezug von Dienstgüte-Vorkehrun- gen des Netzwerks, Betriebssystems oder spezieller Bibliotheken notwendig. Die resultierende Hierarchie von Dienstgüte-Mechanismen wird durch die vorgestellte Integration in eine Verteilungsinfrastruktur unterstützt. Durch die Integration der Dienstgüte-Spezifikation in die Schnittstel- lenbeschreibungssprache erlaubt das Rahmenwerk einen aspektorientierten Ansatz ohne die Einführung weiterer Sprachen zur Spezifikation oder Im- plementierung. Die Spezifikation von Dienstgüte-Charakteristiken in der erweiterten IDL wird in spezielle Entwurfsmuster in der Zielsprache umge- setzt. Diese Entwurfsmuster separieren die Anwendungsobjekte weitgehend von den Dienstgüte-Vorkehrungen. Die auf der Ebene der Anwendungsobjekte generierten Vorlagen für die Dienstgüte-Vorkehrungen können durch einen modifizierten bzw. schon da- für ausgelegten Verteilungsinfrastrukturkern in das System integriert wer- den. Eine einheitliche statische Schnittstelle erlaubt einen einfachen re- effektiven Ansatz. So ist der Zugriff auf Dienstgüte-Vorkehrungen tieferer Schichten wie auch die Integration anwendungsspezifischer Dienstgüte-Vor- kehrungen auf der Netzwerkschicht möglich. Das Rahmenwerk bietet somit eine klare Trennung der Verantwortlich- keiten, die sowohl Anwendungsentwickler wie auch Dienstgüte-Implemen- tierer unterstützt. Die aus der Schnittstellenbeschreibungssprache generier- ten Einheiten stellen für die Anwendungsobjekte eine Abstraktion dar, die sowohl die Verteilungsaspekte wie auch die Dienstgüte-Vorkehrungen ein- fach nutzbar anbietet und von der zugrundeliegenden Plattform isoliert. Eine sich aus dieser Arbeit ergebende Fragestellung besteht in der Er- weiterung und Verallgemeinerung des aspektorientierten Ansatzes. Die im Rahmen der Analyse betrachteten Dienstgüte-Charakteristiken sind aus dem systemnahen Bereich und insbesondere aus der Betrachtung typi- scher Probleme in verteilten Systemen und den daraus erwachsenen Anwen- dungsanforderungen gewonnen. Nicht-funktionale Aspekte der Dienster- bringung lassen sich weiter fassen. So kann ausgehend von den bereitge- stellten Abstraktionen untersucht werden, inwieweit auf Anwendungsebe- ne nicht-funktionale Eigenschaften in ähnlicher Weise einbettbar sind. Im Rahmen dieser Arbeit wurde beispielsweise eine Dienstgüte-Charakteristik zur Parallelisierung von Berechnungen realisiert. Eine anwendungsbezogene Dienstgüte-Charakteristik könnte numerische Optimierungen realisieren, die von den reinen mathematischen Operationen zu trennen ist. Andere Beispiele aus der Multimedia-Kategorie sind durch die Qualität einer Au- dio-Übertragung gegeben. So kann bei einer geringen Bandbreite durch die Kompression der Daten eine bessere Qualität der Audiowiedergabe ereicht werden, als durch Übertragung der Rohdaten. Die Kompressionsrate kann von der Anwendung isoliert und durch entsprechende Dienstgüte-Mecha- nismen realisiert werden. Qualitätsunterschiede ergeben sich durch mögli- che verlustbehaftete Kompression und de notwendigen Anforderungen an Hardware- oder Software-Unterstützung. Andere Kriterien für die Qualität lassen sich weniger leicht vor der Anwendung verbergen. Die Wiedergabe von Stereo- oder Mono-Audiodaten erfordert entsprechende Anwendungen und auch Ausstattungen der Endgeräte. Im Kontext dieser Arbeit wurde ein Objektmodell betrachtet, das eine starke Bindung zwischen Schnittstellen und Objekten besitzt. Insbeson- deren wurde bei der Umsetzung der Schnittstellenbeschreibungssprache in die Zielsprache eine Umsetzung gewählt, die Dienste als Objekte reprä- sentiert. Involviert die Diensterbringung verschiedene Objekte, kann nur ein Objekt als Stellvertreter all dieser Dienste den Service anbieten. Dieses Objekt ist für die Einhaltung von Dienstgüte-Vereinbarungen mit Klien- ten verantwortlich. Innerhalb der Objekte, die den Service realisieren, sind für die Dienstgüte-Erbringung dann ggf. weitere interne Dienstgüte-Vor- kehrungen zu etablieren. Komponentenmodelle versprechen hier einen all- gemeineren Ansatz, der die Integration von Dienstgüte-Vorkehrungen loh- nenswert erscheinen lässt. Zum einen unterstützen Komponentenmodelle definierte Schnittstellen zur Interaktion zwischen den beteiligten Objek- ten einer Komponente, und zum anderen bieten Komponenten eine über die Schnittstellenbeschreibungssprache hinausgehende Beschreibung ihrer Funktionalität in einer Komponentenspezifikation. Diese Komponentenspe- zifikation verspricht einen guten Ansatz, um Dienstgüte-Spezifikationen der Komponenten zu integrieren. Neben den beiden bislang beschriebenen Forschungsrichtungen, die je- weils ein Rahmenwerk für das Dienstgüte-Management voraussetzen und darauf aufbauen, existieren innerhalb des in der Arbeit vorgestellten Rah- menwerkes weitere offene Forschungsfragen. Die Ausgestaltung von Preisen bei der Vergabe von Ressourcen und die damit verbundenen Richtlinien für die Vergabe und auch den Entzug stellen noch kein abgeschlossenes Gebiet dar. Hier ist der Einbezug anderer Disziplinen vielversprechend. Preisrichtlinien für manche Ressourcen, die bei Nicht-Nutzung verfallen wie Netzwerkkapazität sind Gegenstand der Forschung in der Betriebs- wirtschaftslehre. Die Gestaltung von Vergaberichtlinien, insbesondere aber die Festlegung von Vergütungen bei Nichterbringung eines festgesetzten Dienstgüte-Niveaus oder Kompensationen bei dem Entzug von Ressourcen mit einer damit einhergehenden Verletzung der Dienstgüte-Vereinbarung, wirft rechtliche Fragen über die Gültigkeit solcher Richtlinien auf. Weitere, nicht-interdisziplinäre Fragestellungen, ergeben sich aus der Frage der Wiederverwendbarkeit und Dokumentation von Dienstgüte-Vor- kehrungen im Rahmenwerk. Die Erstellung eines Katalogs mit einem ein- heitlichen Aufbau wie es bei Entwurfsmustern üblich ist verspricht eine geeignete Dokumentationsform. Allerdings muss eine solche Dokumentati- on zwei Zielgruppen gerecht werden. Zum einen sind dies Anwendungsent- wickler, die eine gegebene Dienstgüte-Implementierung anwenden wollen und Informationen für die Nutzung und Anpassung der Anwendung benö- tigen und zum anderen Dienstgüte-Entwickler, die auf bereits existierende transportspezifische Dienstgüte-Mechanismen aufbauen. Für die hier skizzierten Forschungsrichtungen ist ein Rahmenwerk für das Dienstgüte-Management unerlässlich. Das in dieser Arbeit vorgestellte Rahmenwerk bietet eine gute Ausgangsbasis.