Refine
Document Type
- Doctoral Thesis (3) (remove)
Language
- German (3) (remove)
Has Fulltext
- yes (3)
Is part of the Bibliography
- no (3)
Keywords
- Verteiltes System (3) (remove)
Institute
- Informatik (3)
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.
Funktionsorientierte Bausteine zur Integration kontinuierlicher Medien in verteilte Anwendungen
(1997)
Das Ziel der vorliegenden Arbeit war die Entwicklung einer komfortablen Beschreibung verteilter Anwendungen, die kontinuierliche Medien integrieren. Die Klarheit des Ansatzes ergibt sich aus der Beschränkung auf die anwenderrelevanten Funktionalitäten. Weitere Gebiete, die systembezogen sind, wurden nur soweit wie nötig behandelt. Die Aufgaben anderer Bereiche, wie des Betriebssystems und des Managementsystems sowie der Kommunikationsdienste, konnten nur gestreift werden, indem die anwendungsabhängigen Anforderungen spezifiziert wurden. Durch deren Extraktion und die Zuordnung der Anforderungen an die einzelnen Bereiche, ergibt sich eine klarere Sicht auf Betriebssystem, Management und Kommunikationsdienste und deren notwendige Weiterentwicklung. Das entwickelte Funktionenmodell beschreibt zusammenhängend alle mit kontinuierlichen Medien verbundenen Arbeiten. In der vorliegenden Arbeit wurde gezeigt, wie aus den Funktionen auf kontinuierlichen Medien durch die Spezifikation geeigneter Schnittstellen Bausteine zur Integration der Medien in verteilte Anwendungen erstellt werden. Die Beschrei bung der Bausteine erfolgt durch diese Schnittstellen; es sind Steuer-, Daten- und Managementschnittstellen. Die Herauslösung der gesonderten Beschreibung der Multimedia-Datenflußstruktur schafft einerseits die Grundlage für eine Teilklassifikation der Anwendungen nach Medien-Gesichtspunkten. Andererseits kann die Erstellung einer Anwendung aus einer bestimmten Anwendungsklasse, wie zum Beispiel ein einfaches Wiedergabesystem, durch die gesonderte Beschreibung der Multimedia-Datenflußstruktur schneller in der Bausteinstruktur realisiert werden. Das Funktionenmodell wird auch in [Fritzsche96] beschrieben. Das in dieser Arbeit konzipierte Bausteinmodell gewährleistet eine integrierte Beschreibung von Geräten, Werkzeugen und Anwendungen kontinuierlicher Medien. Die verwendete Beschreibungstechnik erlaubt dabei nicht nur eine übersichtliche Darstellung sondern bietet auch hierarchische Strukturierungen an. Das Zusammenspiel der Bausteine erfordert zu sätzliche Komponenten zur Steuerung und Abstimmung der einzelnen Funktionen, die in dieser Arbeit neu eingeführt werden. Es lassen sich sowohl zentralistische als auch verteilte Steuerungen realisieren. Mit einer entsprechenden Schnittstelle versehen kann eine Steuerkomponente eine ganze Gruppe von Bausteinen dem Benutzer als Einheit zur Verfügung stellen. Somit lassen sich auch verschiedene Medien und/oder mehrere Funktionen gemeinsam mit einer Steuerkomponente zu einem Baustein zusammenfassen. Diese zusammenge setzten Bausteine bieten nun echte Multifunktionalität und Multimedialität. Durch die Komponenten- und Anwendungsmodellierung nach [Zimm93] wird darüber hinaus eine flexible, auch dynamisch änderbare Anwendungsstruktur vom Anwendungs-Management ermöglicht. Das Bausteinmodell wird auch in [Fritzsche96] behandelt. Bisherigen Ansätzen für Multimedia-Komponenten fehlt die allgemeine Interoperabilität der Komponenten. Diese kann nur durch eine umfassende, formale Spezifikation der Komponenten-Schnittstellen, insbesondere aber von Steuerschnittstellen, erfolgen. Zur Spezifikation der Schnittstellen ist die Integration der kontinuierlichen oder zeitabhängigen Medien als abstrakte Datentypen unabdingbar. Auf diese Art werden aus den Komponenten Bausteine. Im vorliegenden Ansatz wurden erstmalig Steuerschnittstellen für Multimedia-Komponenten spezifiziert und als Hierarchie dargestellt. Der neue Ansatz erlaubt es daher, multimediale Systeme nach einem Baukastensystem zu erstellen, indem Bausteine durch Bindung untereinander zu einer Anwendung zusammengesetzt werden. Nach der Verbindungsstruktur der multimedialen Anwendung können verschiedene Anwendungstypen unterschieden werden. Die Definition der Komponentenschnittstellen bezieht sich auf ein abstraktes Datenmodell für kontinuierliche Medien. Das Datenmodell ist eine eigenständige Weiterentwicklung der Ansätze von [Herrtw91] und [Gibbs94] und kann auch zur Realisierung der Komponenten verwendet werden. Multimediadaten wurden zunächst auf zwei Ebenen als Sequenz und Sequenzelemente modelliert. Daraus lassen sich bereits einige Funktionen auf den Daten ableiten, die von den Bausteinen realisiert werden müssen. Kennzeichnend für die Sequenzelemente ist, daß sie die Zeitparameter Zeitpunkt und Dauer besitzen und damit eine explizite Integration der Zeit in das Datenmodell realisieren. Aus diesen Parametern der Elemente können auch für die Sequenz die Parameter Zeitpunkt und Dauer abgeleitet werden. Somit könnte eine Sequenz selbst wieder Element einer Sequenz werden. Da diese Sequenzen von Sequenzen aber zum Teil schwer zu handhaben sind und zum Aufbau von sehr komplexen Verschachtelungen verleiten, wird in dieser Arbeit eine andere Erweiterung der Datenhierarchie, eine Liste, vorgestellt. Diese Erweiterung führt nur eine weitere Hierarchieebene oder Granularitätsstufe ein, ist aber durch die vorgegebenen Funktionen gleichmächtig wie die Verschachtelung der Sequenzen, im Operationsablauf aber leichter nachzuvollziehen. Die Liste repräsentiert die gröbste Granularitätsstufe. Diese ist mit der Titelfolge einer Schallplatte oder einer CD vergleichbar. Die einzelnen Teile haben zueinander nur eine lose Ordnung. In der ersten Verfeinerung der Granularität wird in jedem einzelnen Listenelement eine strenge zeitliche Ordnung gefordert; ein Listenelement ist eine Sequenz. In der zweiten Stufe der Verfeinerung, der Unterteilung der Sequenzen, treten die bereits bekannten Se quenzelemente auf. Die Daten werden im Ticker-Schrittgeber-Modell interpretiert. Dieses Modell erhält zwei Zeitebenen, den Ticker als Bezugssystem der Funktionen untereinander und den Schrittgeber als Steuerung der einzelnen Funktionen. Ein zweistufiges Uhrenmodell mir festgesetzten Operationen und Uhrenbeziehungen wird in dieser Arbeit neu eingeführt. Die Beziehung zwischen Schrittgeber und Ticker ist, daß ein Schritt nach einer bestimmten Anzahl von Ticks erfolgt. Der Startwert des Tickers kann frei gewählt werden, ebenso der Startwert des Schrittgebers. Für den Schrittgeber bestimmt sein Start-Tick, wann er beginnt fortzuschreiten. Ein Schrittgeber ist mit genau einer Sequenz verbunden, deren Start-Schritt beschreibt, bei welchem Schrittwert das erste Sequenzelement gültig wird. Die Start-Zeitpunkte der Elemente und ihre Dauern werden in Schritten gemessen. Das Datenmodell für Multimedia wurde in [Fritzsche95] veröffentlicht. Implementierungen Als Grundlage für die Entwicklung der Bausteine zur Integration kontinuierlicher Medien in verteilte Anwendungen wurden die Funktionen auf den Medien herangezogen. Diese sind in ihren einfachsten Formen die Grundfunktionen Perzeption, Präsentation und Speicherung der Medien, wobei die Speicherung in die Funktionen Schreiben in den Speicher und Lesen aus dem Speicher geteilt wird. Die durch die Perzeption festgelegten, oder künstlich erzeugten Mediendaten können zwischen den einzelnen Funktionen übertragen werden. Eine Bearbeitung der Daten ist beim Austausch zwischen den Funktionen möglich. Die Veränderung der Daten und ihr Bezug zu den Grundfunktionen wird durch die Verarbeitungsfunktionen der Typen f 1 bis f 5 beschrieben. Die Funktionen werden durch Operationen gesteuert, die aus dem Datenmodell abgeleitet werden. Insbesondere wird so auch die explizite Veränderung der Zeitparameter möglich. Somit bietet das Datenmodell eine geeignete Grundlage für jede Art der Verarbeitung kontinuierlicher Medien. Das entwickelte Modell unterstützt die Anwendungserstellung durch objektorientierte Ansätze auf den Ebenen der Konzeption, der Anwendungsspezifikation und der Komponentenentwicklung. Konzeptionell bietet das Funktionenmodell die schnelle und übersichtliche Darstellung der Anwendung. Die aus dem Funktionenmodell ableitbare Anwendungsspezifikation unterstützt die weitere Entwicklung durch Anwendungs- und Komponentenschablonen, sowie durch die vorgefertigte und erweiterbare Hierarchie der Schnittstellen und durch die Bibliotheken für Standardbausteine. Die Verwendung dieser Elemente der Anwendungsspezifikation läßt sich teilweise automatisieren. Das Ergebnis der Anwendungsspezifikation ist eine Menge von Komponenten, die alle vollständig spezifiziert sind. Diese Komponenten sind die funktionsorientierten Bausteine zur Integration kontinuierlicher Medien in verteilte Anwendungen. Im ersten Schritt wurde das vorgestellte Datenmodell mit seinen Operationen in einer objektorientierten Programmiersprache (C [Lipp91]) implementiert [Braun92]. Darauf aufbauend wurden verschiedene Anwendungsfunktionen und Normalisierungsoperationen entwickelt und für den Bereich Audio realisiert [Bast93]. Die von den Funktionen auf kontinuierlichen Medien abgeleiteten Bausteine werden, wie in der vorliegenden Arbeit ausführlich dargestellt, als Komponenten verteilter Anwendungen realisiert. Aus den verschiedenen Realisierungsebenen sollen hier zwei Beispiele hervorgehoben werden. Zunächst wird auf die Komponentenrealisierung eingegangen; danach folgt die Realisierung von Tickern und enger Kopplung. Diese beiden Punkte stellen zentrale Aufgaben des Ansatzes dar. Realisierung von Komponenten Die Realisierung der Komponenten gliedert sich in zwei Abschnitte. Der erste Abschnitt ist die Zerlegung einer Komponente in Standardobjekte nach [Zimm93]. Die Standardobjekte entstammen Kommunikationsklassen, Stub- und Dispatcherklassen, Anwendungsklassen und Kooperationsprotokollklassen. Die Objekte der Anwendungsklassen realisieren die Anwendungsfunktionalität der Komponente. Das Ausprogrammieren dieser Objekte stellt den zweiten Abschnitt der Komponentenrealisierung dar. Dazu liefert das entwickelte Datenmodell die Programmierunterstützung. Zur Abbildung der Spezifikationskonstrukte der Komponenten auf Implementierungskonstrukte wird in [Zimm93] eine Methode vorgestellt, die die unterschiedlichen Konstrukte für Schnittstellen, Kommunikationskontexte und Komponenten auf Klassen und Objekte abbildet. So entsteht eine Klassenhierarchie von C Klassen [Lipp91] für kommunikations-, anwendung-s und managementorientierte Objekte. Weiterhin wird in [Zimm93] ein Verfahren vorgestellt, durch das in Abhängigkeit von den Eigenschaften einer Komponente parallel ablaufende Datenflüsse in ein System von leichtgewichtigen Prozessen (Threads) transformiert werden können. Als Resultat gewinnt man eine modulare Softwarearchitektur der Komponente, die sich aus interagierenden Objekten und zugehörigen Threads zusammen setzt. In [Zimm93] werden folgende Objektklassen unterschieden: . Kommunikationsklassen . Stub- und Dispatcherklassen . Anwendungsklassen . Kooperationsprotokollklassen. Eine elementare Objektarchitektur aus diesen Klassen ist in Abbildung 54 dargestellt. Es gibt jeweils eine Realisierung für eine Supplier-Komponente und eine Consumer- Komponente. Die Anwendungsobjekte können bezüglich ihrer Funktionalität in initiierende und akzeptierende Objekte eingeteilt werden. Im Falle unidirektionaler Schnittstellen sind die Anwendungsobjekte auf der Konsumentenseite (z.B. Benutzerkomponente) für die Initiierung von Methoden an Schnittstellenobjekten verantwortlich. Beispielsweise ist ein Anwendungsobjekt innerhalb der Benutzerkomponente für die Initiierung der Steueroperationen verantwortlich. Im Falle von interaktiven Komponenten [Zimm93] erfolgt dazu ein Benutzerdialog mit einem interaktiven Benutzer. Also realisiert innerhalb der Benutzerkomponente das Anwendungsobjekt einen solchen Benutzerdialog. Anwendungsobjekte auf der Konsumentenseite stellen somit typischerweise keine eigenen Methoden bereit, sondern bestehen lediglich aus einem Konstruktor. Auf der akzeptierenden Seite, den Anbieter (Supplier), realisiert ein Anwendungsobjekt die Operationen an einer Schnittstelle. Dazu wird eine Methode accept benötigt, falls ein verbindungsorientierter Kommunikationskontext zugrunde liegt. Diese Methode dient der Behandlung eingehender Verbindungswünsche. In [Alireza94] werden verschiedene Komponentenrealisierungen ausführlich vorgestellt. Die Realisierung der Ticker und Schrittgeber stellt die Einbettung der zeitbezogenen Komponenten in ihre (Betriebssystem) Umgebung dar. Ähnlich, wie eine Komponente über den Socketmechanismus Zugang zum Kommunikationssystem erhält, erhält eine zeitbezogene Komponente über den Ticker-Schrittgeber-Mechanismus Zugang zum Zeitbezugssystem. Denn die Schrittgeber beziehen sich auf Ticker, Ticker aber auf die Systemzeit. Da auch die Systemzeit als Takt zur Verfügung gestellt wird, können Ticker und Schrittgeber wegen ihrer ähnlichen Funktionalitäten aus einer gemeinsamen Zeitgeberklasse abgeleitet werden. Im Anhang C ist die Deklaration dieser gemeinsamen Klasse angegeben. In einer Anwendung beziehen sich die Schrittgeber verschiedener Komponenten auf einen gemeinsamen Ticker. Dieser Ticker liegt in der Systemumgebung der den Komponenten gemeinsamen interaktiven Benutzerkomponente. Die interaktive Benutzerkomponente verteilt die Ticks über die Steuerschnittstellen an die Komponenten und realisiert so die enge Kopplung der Komponenten. Bei einer Tickrate von 600 Hz ist es nur innerhalb eines Systems sinnvoll jeden Tick als Ereignis zu verteilen. Anstatt nun zu jedem Tick ein Ereignis zu verteilen werden bei der Tickverteilung Tickwerte mit fester Rate verteilt, wobei diese Rate in die Größenordnung der Schritte fällt. Um die Übertragungsraten gemäß den Anforderungen an der Steuerschnittstelle klein zu halten, wird zu jedem Schritt nur ein Teil (1 Byte) des Tickwertes übertragen. Begonnen wird mit der Übertragung des höchstwertigen Bytes, so daß im letzten Schritt einer Tickerübertragung mit dem letzten Byte der genaue aktuelle Tickwert übertragen wird. Ähnliche Verfahren werden bereits bei anderen Synchronisations verfahren verwendet. Eine genaue Beschreibung sowie die Kodierung für die verschachtelte Übertragung von Tickwerten und SchnittstellenAufrufen wird in [Hesme93] vorgestellt. Weitere Entwicklung Zur Realisierung verteilter multimedialer Anwendungen, muß man die einzelnen verteilten Komponenten bestimmen und ihre Funktion beschreiben. Die Komponenten tauschen unter einander Steuerungsinformationen und Multimediadaten aus. Diese Daten und das beim Austausch verwendete Protokoll sollten allgemein standardisiert sein, um den Zusammen schluß heterogener Systeme zu ermöglichen. In der vorliegenden Arbeit wurde gezeigt, wie sowohl die Daten als auch das Zusammenspiel der Komponenten festgelegt werden können. Obwohl alle Geräteklassen und Geräte funktionen sowie verschiedene Werkzeuge entwickelt wurden, und das vorgestellte Modell die gesamte Entwicklung verteilter multimedialer Anwendungen unterstützt, ist dieses große Gebiet noch lange nicht erschöpfend behandelt. Eine Erweiterung der Managementschnittstellen und die Realisierung von komplexen Werkzeugen sind die vordringlichsten Aufgaben. Damit entsteht ein mächtiges Entwicklungswerkzeug für Multimediaanwendungen. Funktionsorientierte Bausteine zur Integration kontinuierlicher Medien in verteilte Anwendungen Eine weitere Aufgabe ist die genauere Untersuchung der Nebenbedingungen, die zur Unterscheidung der Funktionen der Typen f 1 bis f 5 führten. Aus diesen Untersuchungen sowie aus den Ergebnissen der Ticker- und Schrittgeber-Realisierung lassen sich dann genauer spezifizierte Anforderungen an die Betriebs- oder Kommunikations-Systeme ableiten.
Ziel der Arbeit war es, neue Techniken zur Erschließung und Selektion von Web- basierten Suchservern zu entwickeln und zu evaluieren, um hieraus eine integrierte Architektur für nicht-kooperative Suchserver im WWW abzuleiten. Dabei konnte gezeigt werden, daß die im Sichtbaren Web vorhandene Informationsmenge dazu geeignet ist, um eine effektive Erschließung des Unsichtbaren Webs zu unterstützen. Existierende Strategien für verteiltes Information Retrieval setzen eine explizite Kooperation von Seiten der Suchserver voraus. Insbesondere Verfahren zur Selektion von Suchservern basieren auf der Auswertung von umfangreichen Termlisten bzw. Termhäufigkeiten, um eine Auswahl der potentiell relevantesten Suchserver zu einer gegebenen Suchanfrage vornehmen zu können (z. B. CORI [26] und GlOSS [54]). Allerdings werden derartige Informationen von realen Suchservern des WWW in der Regel nicht zu Verfügung gestellt. Die meisten Web-basierten Suchserver verhalten sich nicht kooperativ gegenüber hierauf aufsetzenden Metasuchsystemen, was die Übertragbarkeit der Selektionsverfahren auf das WWW erheblich erschwert. Außerdem erfolgt die Evaluierung der Selektionsstrategien in der Regel in Experimentumgebungen, die sich aus mehr oder weniger homogenen, künstlich partitionierten Dokumentkollektionen zusammensetzen und somit das Unsichtbare Web und dessen inhärente Heterogenität nur unzureichend simulieren. Dabei bleiben Daten unberücksichtigt, die sich aus der Einbettung von Suchservern in die Hyperlinkstruktur des WWW ergeben. So bietet z. B. die systematische Auswertung von Backlink-Seiten also jener Seiten die einen Hyperlink auf die Start- oder Suchseite eines Suchservers enthalten die Möglichkeit, die im WWW kollektiv geleistete Indexierungsarbeit zu nutzen, um die Erschließung von Suchservern effektiv zu unterstützen. Eine einheitliche Systematik zur Beschreibung von Suchservern Zunächst ist es notwendig alle Informationen, die über einen Suchserver erreichbar sind, in ein allgemeingültiges Beschreibungsmodell zu integrieren. Dies stellt eine Grundvorraussetzung dar, um die einheitliche Intepretierbarkeit der Daten zu gewährleisten, und somit die Vergleichbarkeit von heterogenen Suchservern und den Aufbau komplexer Metasuchsysteme zu erlauben. Ein solche Beschreibung soll auch qualitative Merkmale enthalten, aus denen sich Aussagen über die Reputation einer Ressource ableiten lassen. Existierende Beschreibungen von Suchservern bzw. Dokumentkollektionen wie STARTS-CS [53] oder RSLP-CD [93] realisieren wenn überhaupt nur Teilaspekte hiervon. Ein wichtiger Beitrag dieser Arbeit besteht somit in der Identifizierung und Klassifizierung von suchserverbeschreibenden Metadaten und hierauf aufbauend der Spezifikation eines als Frankfurt Core bezeichneten Metadatensatzes für web-basierte Suchserver, der die genannten Forderungen erfüllt. Der Frankfurt Core berücksichtigt Metadaten, deren Erzeugung eine explizite Kooperation von Seiten der Suchserver voraussetzt, als auch Metadaten, die sich automatisiert z. B. durch linkbasierte Analyseverfahren aus dem sichtbaren Teil des WWW generieren lassen. Integration von Wissensdarstellungen in Suchserver-Beschreibungen Ein wichtige Forderung an Suchserver-Beschreibungen besteht in der zusätzlichen Integration von wissens- bzw. ontologiebasierten Darstellungen. Anhand einer in Description Logic spezifizierten Taxonomie von Suchkonzepten wurde in der Arbeit exemplarisch eine Vorgehensweise aufgezeigt, wie die Integration von Wissensdarstellungen in eine Frankfurt Core Beschreibung praktisch umgesetzt werden kann. Dabei wurde eine Methode entwickelt, um unter Auswertung einer Suchkonzept-Taxonomie Anfragen an heterogene Suchschnittstellen verschiedener Suchserver zu generieren, ohne die Aussagekraft von kollektionsspezifischen Suchfeldern einzuschränken. Durch die Taxonomie wird die einheitliche Verwendung von syntaktisch und semantisch divergierenden Suchfeldern verschiedener Suchserver sowie deren einheitliche Verwendung auf der integrierten Suchschnittstelle eines Metasuchsystems sichergestellt. Damit kann diese Arbeit auch in Zusammenhang mit den Aktivitäten des Semantischen Webs betrachtet werden. Die Abstützung auf Description Logic zur Wissensrepräsentation sowie die Verwendung von RDF zur Spezifikation des Frankfurt Core verhält sich konform zu aktuellen Aktivitäten im Bereich Semantisches Web, wie beispielsweise der Ontology Inference Layer (OIL) [24]. Darüber hinaus konnte durch die Integration der Suchkonzept-Taxonomie in den Arbeitsablauf einer Metasuchmaschine, bereits eine konkrete Anwendung demonstriert werden. Entwicklung neuartiger Verfahren zur Erschließung von Suchservern Für einzelne Felder des Frankfurt Core wurden im Rahmen dieser Arbeit Strategien entwickelt, die aufzeigen, wie sich durch die systematische Auswertung von Backlink- Seiten Suchserver-beschreibende Metadaten automatisiert generieren lassen. Dabei konnte gezeigt werden, daß der Prozeß der automatisierten Erschließung von Suchservern durch die strukturelle und inhaltliche Analyse von Hyperlinks sinnvoll unterstützt werden kann. Zwar hat sich ein HITS-basiertes Clustering-Verfahren als wenig praktikabel erwiesen, um eine effiziente Erschließung von Suchservern zu unterstützen, dafür aber ein hyperlinkbasiertes Kategorisierungsverfahren. Das Verfahren erlaubt eine Zuordnung von Kategorien zu Suchservern und kommt ohne zusätzliche Volltextinformationen aus. Dabei wird das WWW als globale Wissenbasis verwendet: die Zuordnung von Kategorienbezeichnern zu Web-Ressourcen basiert ausschließlich auf der Auswertung von globalen Term- und Linkhäufigkeiten wie sie unter Verwendung einer generellen Suchmaschine ermittelt werden können. Der Grad der Ähnlichkeit zwischen einer Kategorie und einer Ressource wird durch die Häufigkeit bestimmt, mit der ein Kategoriebezeichner und ein Backlink auf die Ressource im WWW kozitiert werden. Durch eine Reihe von Experimenten konnte gezeigt werden, daß der Anteil korrekt kategorisierter Dokumente an Verfahren heranreicht, die auf Lerntechniken basieren. Das dargestellte Verfahren läßt sich leicht implementieren und ist nicht auf eine aufwendige Lernphase angewiesen, da die zu kategorisierenden Ressourcen nur durch ihren URL repräsentiert werden. Somit erscheint das Verfahren geeignet, um existierende Kategorisierungsverfahren für Web-Ressourcen zu ergänzen. Ein Verfahren zur Selektion von Suchservern Ein gewichtiges Problem, durch welches sich die Selektion von Suchservern im WWW erheblich erschwert, besteht in der Diskrepanz zwischen der freien Anfrageformulierung auf Benutzerseite und nur spärlich ausgezeichneten Suchserver-Beschreibungen auf Seiten des Metasuchsystems. Da auf der Basis der geringen Datenmenge eine Zuordnung der potentiell relevantesten Suchserver zu einer Suchanfrage kaum vorgenommen werden kann, wird oft auf zusätzliches Kontextwissen zurückgegriffen, um z. B. ein Anfragerweiterung durch verwandte Begriffe vornehmen zu können (siehe z. B. QPilot [110]). Eine solche Vorgehensweise erhöht allerdings nur die Wahrscheinlichkeit für Treffer von Anfragetermen in den Suchserver-Beschreibungen und liefert noch keine ausreichende Sicherheit. Deshalb wurde in der Arbeit ein Selektionsverfahren entwickelt, das sich auf die Auswertung von Ko-Zitierungs- und Dokumenthäufigkeiten von Termen in großen Dokumentsammlungen abstützt. Das Verfahren berechnet ein Gewicht zwischen einem Anfrageterm und einem Suchserver auf der Basis von einigen wenigen Deskriptortermen, wie sie z. B. aus der FC-Beschreibung eines Suchservers extrahiert werden können. Dies hat den Vorteil, daß die Suchbegriffe nicht explizit in den einzelnen Suchserver-Beschreibungen vorkommen müssen, um eine geeignete Selektion vornehmen zu können. Um die Anwendbarkeit des Verfahrens in einer realistischen Web-Umgebung zu demonstrieren, wurde eine geeignete Experimentumgebung von spezialisierten Suchservern aus dem WWW zusammengestellt. Durch anschließende Experimente konnte die Tauglichkeit des entwickelten Verfahrens aufgezeigt werden, indem es mit einem Verfahren verglichen wurde, das auf Probe-Anfragen basiert. Das heißt, daß eine erfolgreiche Selektion durchgeführt werden kann, ohne daß man explizit auf das Vorhandensein von lokalen Informationen angewiesen ist, die erst aufwendig durch das Versenden von Probe-Anfragen ¨uber die Web-Schnittstelle des Suchservers extrahiert werden müssten. Herleitung einer integrierten Architektur Um das Zusammenspiel der erarbeiteten Strategien und Techniken zur Erschließung, Beschreibung und Selektion in einer integrierten Architektur umzusetzen, wurde die Metasuchmaschine QUEST entwickelt und prototypisch implementiert. QUEST erweitert die Architektur einer traditionellen Metasuchmaschinenarchitektur, um Komponenten, die eine praktische Umsetzung der Konzepte und Techniken darstellen, die im Rahmen dieser Arbeit entwickelt wurden. QUEST bildet einen tragfähigen Ansatz zur Kombination von wissensbasierten Darstellungen auf der einen und eher heuristisch orientierten Methoden zur automatischen Metadatengenerierung auf der anderen Seite. Dabei stellt der Frankfurt Core das zentrale Bindeglied dar, um die einheitliche Behandlung der verfügbaren Daten zu gewährleisten.