Dieses Kapitel bringt abschließend einen kurzen Rückblick und faßt die wichtigsten Ergebnisse der Arbeit zusammen. Anschließend werden Hinweise für weitergehende Forschungsarbeiten gegeben. Die Zusammenfassung der Ergebnisse zeigt auf, an welchen Stellen die gesteckten Ziele erreicht wurden und welchen Beitrag diese Arbeit zur Forschung leistet.
Die vorliegende Arbeit gab zunächst eine Übersicht über den Stellenwert der Verwaltung von Namen in verteilten Systemen. Es wurden einige weit entwickelte Systeme zur verteilten Namensverwaltung vorgestellt und auch die Bedeutung von Namen und Adressen in OSI- und Internet-Umgebungen angesprochen. Dabei wurde deutlich, daß die effiziente und zugleich fehlertolerante Namensverwaltung in einer verteilten Umgebung eine komplexe Aufgabe darstellt, die nur durch eine dezentrale Architektur adäquat gelöst werden kann. Aus der Analyse bestehender Namensverwaltungen lassen sich insbesondere folgende Anforderungen an eine globale Namensverwaltung ableiten:
· Universalität: Die Namensverwaltung muß Namen für ein breites Spektrum von Objekten unterschiedlichster Eigenschaften verwaltet.
· Eindeutigkeit: Die Namensverwaltung muß gewährleisten, daß vollständig spezifizierte Namen Objekte eindeutig identifizieren. Ein Objekt kann jedoch mehrere Namen tragen.
· Selbständige Konfigurierung und Administration: Sowohl der Anwender als auch der Administrator sollen weitestgehend von Konfigurierungs- und Administrationsaufgaben für die Namensverwaltung entbunden werden.
· Dynamik und Mobilität benannter Objekte: Die Namensverwaltung muß der Zugriffsweise auf Objekte, der möglichen Variabilität und Mobilität der benannten Objekte, ihrer möglichen Replikation auf Anwendungs- und Systemebene und ähnlichen Gesichtspunkten Rechnung tragen.
·
Effizienz:
Die Registrierung und insbesondere die Auflösung
globaler Namen erfordern einen hohen Grad an Effizienz, da Anwendungen u.U. bei
Namensoperationen blockieren.
· Skalierbarkeit: Das System muß den Anforderungen, die sich aus einer zunehmenden räumlichen, quantitativen und administrativen Ausdehnung des Namensraums und einer steigenden Anzahl von Benutzern ergeben, gewachsen sein.
· Hohe Verfügbarkeit und Fehlertoleranz: Viele verteilte Dienste sind von der Verfügbarkeit der Namensverwaltung inhärent abhängig. Partielle Ausfälle von Namensverwaltern oder Kommunikationsverbindungen dürfen nicht die gesamte Namensverwaltung außer Funktion setzen.
· Transparenz und Benutzerfreundlichkeit: Die Namensverwaltung hat den Transparenzanforderungen eines verteilten Systems gegenüber dem Anwender zu genügen und administrative Details der Namensverwaltung vor dem Anwender zu verbergen.
Der Entwurf einer entsprechend umfassenden Namensverwaltung, die obige Anforderungen erfüllt, erforderte die Kombination verschiedener Techniken, wobei unterschiedliche Mechanismen (z.B. zur Auflösung und zum Vorhalten oder zur Replikation von Namen) selektiv eingesetzt wurden. Die Einführung von Hierarchien bei Namensräumen und auch bei Verwalterstrukturen ist aus administrativen und auch aus leistungsorientierten Gründen von elementarer Bedeutung. Zur Erzielung von Effizienz ist das Vorhalten interpretierter Namen eine zentrale Technik; die Replikation von Namensverzeichnissen ist dagegen der primäre Mechanismus zur Erzielung von Fehlertoleranz. Um die Schwächen existierender Namensverwaltungen zu beheben, wurden für die dynamische globale Namensverwaltung im einzelnen folgende Konzepte vorgeschlagen:
• Gleichberechtigte Namensverwalter: Durch die Aufhebung der Trennung von Klient und Server wurde eine durchgängige Namensverwaltung ermöglicht, die lokale Namenseinträge nahtlos in den globalen Namensraum integriert.
• Selbständige Konfigurierung der Namensverwalter: Das Verwalternetz der dynamischen globalen Namensverwaltung wird selbständig konfiguriert und adaptiert, um den Anwender von Administrationsaufgaben zu entbinden und flexibel auf Ausfälle reagieren zu können.
• Unabhängigkeit von der Netzwerktopologie: Die Konfigurierung des Verwalternetzes und die Auswahl der Mechanismen zur Namensverwaltung berücksichtigt topologische und funktionale Gegebenheiten der zugrundeliegenden Kommunikationsinfrastruktur.
• Integration hierarchischer und attributierter Namen: Synonyme und attributierte Objektbeschreibungen werden zur globalen Verwaltung auf hierarchische Namensräume abgebildet und durch deren Mechanismen behandelt.
• Integration lokaler und globaler Namensräume: Lokale und globale Namen werden in einem universellen globalen Namensraum verwaltet. Hierdurch wird die Transparenz beim Zugriff auf Systemobjekte und die Durchgängigkeit der Mechanismen gewährleistet.
• Automatische Generierung und Plazierung von Navigationsinformation: Namenseinträge werden syntaxgesteuert im Verwalternetz plaziert. Namen werden ohne Administration in Namensverwaltern zu übergeordneten Kontexten zusammengefaßt und die zur Lokalisierung von Namenseinträgen erforderliche Navigationsinformation wird selbständig in den Namensverwaltern generiert.
• Attributierte und generische Anfragen: Die dynamische globale Namensverwaltung behandelt generische und attributierte Anfragen durch Traversieren alternativer Pfade im Namensgraphen. Globale Referenzen werden bei Mehrdeutigkeit der Navigationsinformation parallel verfolgt und an relevante Namensverwalter geleitet.
• Steigerung der Verfügbarkeit durch Replikation: Namenseinträge werden dynamisch vorgehalten und repliziert. Die Konsistenz replizierter Namenseinträge wird durch indirektes Auflösen von Referenzen und durch eine flexible Anpassung der Lebenszeit von Replikaten sichergestellt. Die Funktionsfähigkeit der Namensverwaltung bei Partitionierung des Verwalternetzes wird durch die Replikation ausfallkritischer Namensverwalter, durch fehlertolerante Verfahren zur globalen Namensauflösung und notfalls durch die Rekonfiguration des Verwalternetzes gesteigert.
Die im Rahmen der dynamischen globalen Namensverwaltung entwickelten Konzepte beheben die wesentlichen Nachteile herkömmlicher Namensverwaltungen. Zur Demonstration der Wirksamkeit der Konzepte der dynamischen globalen Namensverwaltung wurde plattformübergreifend ein Prototyp mit reduzierter Funktionalität im Oberon-System der ETH Zürich implementiert. Besonders der modulare Aufbau des Systems und die Objektorientierung der enthaltenen, gleichnamigen Programmiersprache erwiesen sich bei der Realisierung als vorteilhaft. Um die Implementierung einfach zu halten und die Vergleichbarkeit mit dem Domain Name System zu gewährleisten, verwaltet der aktuelle Prototyp hierarchisch strukturierte Namen, ähnlich den Domain Namen.
Die rasante Entwicklung globaler Netzwerke hat bereits jetzt zu einem Engpaß bei der Vergabe von Namen geführt. Es ist daher zu erwarten, daß von dynamischen Konzepten zur globalen Namensverwaltung neue Impulse für die Weiterentwicklung eingeführter Namensverwaltungen und Verzeichnisdienste wie DNS und X.500 ausgehen. In der Zukunft müssen die im Rahmen dieser Arbeit beschriebenen Techniken der dynamischen Verwaltung globaler Namensräume sicherlich zunehmend auch in den Standardisierungsprozeß einfließen. Erste vorsichtige Schritte in Richtung Dynamisierung von Namensverwaltungen wurden bereits in Vorschlägen wie Dynamic DNS [Ohta, 94] und anderen Arbeiten [Rekhter, 94.1] [Yang, 94] unternommen. Es bleibt abzuwarten, inwieweit ein solcher universeller Ansatz, wie er in der dynamischen globalen Namensverwaltung vertreten wird, schließlich auch bei der Standardisierung berücksichtigt werden kann.
Die dynamische globale Namensverwaltung bietet zahlreiche Perspektiven zur weiteren Entwicklung. Die wesentlichen Ansätze werden im folgenden kurz dargestellt und bewertet.
Ein Aspekt mit zunehmender Bedeutung für die Benutzerakzeptanz in verteilten Systemen ist der Schutz von Objekten vor unberechtigtem Zugriff. Der gegenwärtige Entwurf der dynamischen globalen Namensverwaltung bietet die Möglichkeit, die Verbreitung von Namen zu begrenzen, wodurch eine begrenzte Schutzfunktion für Namen gegeben ist. Wünschenswert wäre darüber hinaus jedoch eine umfassende Zugangskontrolle mit strengen Autorisierungsmechanismen. Dies ist insbesondere deshalb von Bedeutung, da die dynamische globale Namensverwaltung konzeptionell nicht nur die Auflösung von Namen unterstützt, sondern als wesentliches Merkmal gerade sicherheitskritische Operationen wie das eigenverantwortliche Registrieren und Löschen globaler Namen offeriert. Im Sinne einer modularen Systemarchitektur könnte die Namensverwaltung hierzu auf einen in verteilten Systemen vielfach vorhandenen Autorisierungsdienst zurückgreifen. Um den Schutz generierter Kontexte zu gewährleisten, bietet es sich an, vorhandene Methoden zur Schlüsselvergabe dahingehend zu ergänzen, daß Kontexteinträge mit Schlüsseln versehen werden, die sich aus den einzelnen Schlüsseln der enthaltenen Namenseinträge herleiten.
Neben dem Schutz von Namen stellt für den Anwender die Quantität der präsentierten Namensinformationen ein vordringliches Problem dar. Die Fülle der in globalen Namensräumen dargebotenen Informationen erfordert benutzerspezifische, individuelle Sichten auf den Namensraum. Virtuelle Namensräume [Neuman, 92b], die Ergebnisse von Auswertungen enthalten, stellen hier eine denkbare Lösung dar. Sie lassen sich erzeugen, indem Filterfunktionen auf den Namensraum angewandt werden. Filter können auch an einzelne Kontexte gebunden werden und zur Anwendung kommen, sobald der Pfad zum Kontext beschritten wird.
Filterfunktionen können auch der Auswertung impliziter, nicht im Namensraum repräsentierter Attribute dienen. Anfragen können spezielle Filterfunktionen enthalten, die an kontaktierte Namensverwalter übertragen werden. Plattformunabhängige Programmierkonzepte wie OMI [Franz, 94] oder JAVA [SUN, 95] könnten hierzu einen wesentlichen Beitrag leisten. Denkt man in diese Richtung weiter, so stößt man auf das Konzept der Autonomen Agenten [ACM, 94], die selbständig von Rechner zu Rechner wandern und Informationen sammeln. Genetische Konzepte können hier zur Verbesserung der Effektivität von Agenten beitragen. Nicht zu vernachlässigen sind in diesem Zusammenhang jedoch die hiermit verbundenen Sicherheitsbedenken vieler Anwender.
Eine weitere Steigerung der Benutzerakzeptanz könnte sicherlich die grafische Präsentation der Namensinformation bewirken. Zur Darstellung individueller Sichten auf den Namensraum sollte die dynamische globale Namensverwaltung daher durch grafische Werkzeuge (Browser) unterstützt werden. Grafische Symbole könnten beispielsweise die Ergebnisse von Namensanfragen repräsentieren. Attributierte und generische Anfragen liefern gegebenenfalls als Resultat eine Menge von Namenseinträgen. Durch Selektion grafischer Symbole könnte dem Anwender die Möglichkeit gegeben werden, den Suchhorizont weiter einzugrenzen und so Anfragen sukzessive zu präzisieren. Weiter könnten grafische Symbole Kontexte darstellen, an die wiederum Filterfunktionen oder Anfragen gebunden sind. Das Aktivieren eines Symbols initiiert dann eine Anfrage oder wendet eine Filterfunktion auf den Namensraum an. Das Resultat wird wiederum in Form grafischer Symbole präsentiert (vgl. Abbildung 6.1).
Abbildung 6.1: Grafische Repräsentation ausgewählter Sichten des Namensraums
Eine erwähnenswerte Möglichkeit zur Ergänzung der dynamischen globalen Namensverwaltung ist auch die Bereitstellung vordefinierter, objektspezifischer Schablonen und Formulare. Sie dienen als Vorgaben für die Benennung bestimmter Arten von Objekten und tragen so zur Homogenisierung des Namensraums bei. Namen für benutzerspezifische Objekte können durch das Ableiten neuer Schablonen von Vorgaben für Standardobjekte erzeugt werden. Die Registrierung neuer Namen durch den Benutzer kann zudem erleichtert werden, indem diese Schablonen in grafisch repräsentierte Kontexte eingefügt werden können, so daß sie deren Eigenschaften erben.
Obige Beispiele können lediglich einen Eindruck vermitteln, welche Perspektiven dynamische Konzepte zur globalen Namensverwaltung künftig bieten. Sicherlich werden nicht alle in dieser Arbeit vorgestellten Konzepte in kurzer Zeit Eingang in vorhandene globale Namensverwaltungen finden können. Die Notwendigkeit, grundlegende Änderungen in der Verwaltung globaler Namen vorzunehmen, verstärkt sich dennoch mit der explosionsartig zunehmenden Anzahl von Anwendern und Diensten in globalen Netzwerken zunehmend.
Dynamische Konzepte zur globalen Namensverwaltung beheben viele Schwächen bestehender Systeme und eröffnen neue Perspektiven für die künftige Entwicklung globaler Namensverwaltungen.