
Verteilte Systeme
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
In dieser verbesserten und aktualisierten Ausgabe des Lehrbuchklassikers Verteilte Systeme stellen die Autoren Tanenbaum und Van Steen sowohl die Einzelheiten verteilter Systeme als auch die zugrunde liegenden Technologien vor. Ihre klare, umfassende und fesselnde Behandlung des Themas bildet einen hervorragenden Text für Dozenten und Studenten der Informatik, die eine systematische Behandlung der Prinzipien und Technologien von verteilten Systemen fordern. Die Autoren trennen die Prinzipien von den Paradigmen und erörtern vier verschiedene Klassen von verteilten Systemen. Dabei zeigen sie auf, in welcher Beziehung die Prinzipien miteinander stehen. Durch diesen Ansatz wird das komplexe Thema der verteilten Systeme leichter verständlich. Neu in dieser Auflage sind Kapitel zu System- und Softwarearchitekturen sowie Systeme mit Selbst-Management. Zudem findet im gesamten Buch eine erweiterte Behandlung von Peer-to-Peer-Systemen sowie die Virtualisierung und ihre Rolle in verteilten Systemen seinen Platz. Viele neue Beispiele und Fallstudien zur Veranschaulichung der Prinzipien von verteilten Systemen -insbesondere webbasierte Systeme- machen dieses Werk zu einem essentiellen Begleiter eines jeden Informatikers. Das Buch richtet sich an Studierende und Praktiker aus den Bereichen der Informatik und ihren verwandten Fächern. Umfangreiche Zusatzmaterialien runden dieses Lehrwerk ab.
- Architekturen
- Prozesse
- Kommunikation
- Benennung- und Namensysteme
- Synchronisierung
- Konsistenz und Replikation
- Fehlertoleranz
- Sicherheit
- Verteilte objektbasierte Systeme
- Verteilte Dateisysteme
- Verteilte webbasierte Systeme
- Verteilte koordinationsbasierte Systeme
Andrew S. Tanenbaum hat am M.I.T. den akademischen Grad eines Bachelor of Science erworben und an der University of California in Berkeley promoviert. Zurzeit ist er Professor für Informatik an der Vrije Universiteit in Amsterdam, wo er über 30 Jahre lang für Tausende von Studenten sehr beliebte Kurse über Betriebssysteme, Computerorganisation und Netzwerke gehalten hat. Darüber hinaus ist er der Co-Autor von fünf Büchern, die in über 20 Sprachen übersetzt wurden und weltweit verwendet werden. Außerdemist er der Autor von MINIX, der Inspirationsquelle und Grundlage für die Entwicklung von Linux.
Maarten van Steen hat an der Universität von Twente angewandte Mathematik studiert und an der Universität von Leiden in Informatik promoviert. Zurzeit ist er Professor an der Vrije Universiteit Amsterdam, wo er an großmaßstäblichen verteilten Systemen arbeitet. Er lehrt über Betriebssysteme, Computernetzwerke und verteilte Systeme.
More details
Other editions
Additional editions

Persons
Die Autoren:
Andrew S. Tanenbaum hat am M.I.T. den akademischen Grad eines Bachelor of Science erworben und an der University of California in Berkeley promoviert. Zurzeit ist er Professor für Informatik an der Vrije Universiteit in Amsterdam, wo er über 30 Jahre lang für Tausende von Studenten sehr beliebte Kurse über Betriebssysteme, Computerorganisation und Netzwerke gehalten hat. Darüber hinaus ist er der Co-Autor von fünf Büchern, die in über 20 Sprachen übersetzt wurden und weltweit verwendet werden. Außerdemist er der Autor von MINIX, der Inspirationsquelle und Grundlage für die Entwicklung von Linux.
Maarten van Steen hat an der Universität von Twente angewandte Mathematik studiert und an der Universität von Leiden in Informatik promoviert. Zurzeit ist er Professor an der Vrije Universiteit Amsterdam, wo er an großmaßstäblichen verteilten Systemen arbeitet. Er lehrt über Betriebssysteme, Computernetzwerke und verteilte Systeme.
Content
- Verteile Systeme - Prinzipien und Paradigmen
- Inhaltsverzeichnis
- Vorwort
- 1 Einleitung
- 1.1 Definition eines verteilten Systems
- 1.2 Ziele
- 1.3 Klassen verteilter Systeme
- 2 Architekturen
- 2.1 Architekturstile
- 2.2 Systemarchitekturen
- 2.3 Architekturen und Middleware
- 2.4 Selbstmanagement in verteilten Systemen
- 3 Prozesse
- 3.1 Threads
- 3.2 Virtualisierung
- 3.3 Clients
- 3.4 Server
- 3.5 Codemigration
- 4 Kommunikation
- 4.1 Grundlagen
- 4.2 Entfernter Prozeduraufruf (Remote Procedure Call, RPC)
- 4.3 Nachrichtenorientierte Kommunikation
- 4.4 Streamorientierte Kommunikation
- 4.5 Multicast-Kommunikation
- 5 Benennung und Namenssysteme
- 5.1 Namen, Bezeichner und Adressen
- 5.2 Lineare Benennung
- 5.3 Hierarchische Benennung
- 5.4 Attributbasierte Benennung
- 6 Synchronisierung
- 6.1 Uhrensynchronisierung
- 6.2 Logische Uhren
- 6.3 Gegenseitiger Ausschluss
- 6.4 Globale Positionierung von Knoten
- 6.5 Wahlalgorithmen
- 7 Konsistenz und Replikation
- 7.1 Einführung 305
- 7.2 Datenzentrierte Konsistenzmodelle 307
- 7.3 Client-zentrierte Konsistenzmodelle 319
- 7.4 Replikationsverwaltung 326
- 7.5 Konsistenzprotokolle 336
- 8 Fehlertoleranz
- 8.1 Einführung in die Fehlertoleranz
- 8.2 Belastbarkeit von Prozessen
- 8.3 Zuverlässige Client-Server-Kommunikation
- 8.4 Zuverlässige Gruppenkommunikation
- 8.5 Verteilter Commit
- 8.6 Wiederherstellung (Recovery)
- 9 Sicherheit
- 9.1 Einführung in das Thema Sicherheit
- 9.2 Sichere Kanäle
- 9.3 Zugriffssteuerung
- 9.4 Sicherheitsverwaltung
- 10 Verteilte objektbasierte Systeme
- 10.1 Architektur
- 10.2 Prozesse
- 10.3 Kommunikation
- 10.4 Benennung
- 10.5 Synchronisierung
- 10.6 Konsistenz und Replikation
- 10.7 Fehlertoleranz
- 10.8 Sicherheit
- 11 Verteilte Dateisysteme
- 11.1 Architektur
- 11.2 Prozesse
- 11.3 Kommunikation
- 11.4 Namen
- 11.5 Synchronisierung
- 11.6 Konsistenz und Replikation
- 11.7 Fehlertoleranz
- 11.8 Sicherheit
- 12 Verteilte webbasierte Systeme
- 12.1 Architektur
- 12.2 Prozesse
- 12.3 Kommunikation
- 12.4 Benennung
- 12.5 Synchronisierung
- 12.6 Konsistenz und Replikation
- 12.7 Fehlertoleranz
- 12.8 Sicherheit
- 13 Verteilte koordinationsbasierte Systeme
- 13.1 Einführung in Koordinationsmodelle
- 13.2 Architekturen
- 13.3 Prozesse
- 13.4 Kommunikation
- 13.5 Benennung
- 13.6 Synchronisierung
- 13.7 Konsistenz und Replikation
- 13.8 Fehlertoleranz
- 13.9 Sicherheit
- 14 Literatur und Quellen
- 14.1 Weiterführende Literatur
- 14.2 Quellen
- Über die Autoren
- Liste mit englischen Begriffen und deren Übersetzung
- Liste mit deutschen Begriffen und deren Übersetzung
- Register
- Vorwort
- Zur deutschen Ausgabe
- Empfehlungen zum Gebrauch des Buches
- CWS zum Buch
- 1 Einleitung
- 1.1 Definition eines verteilten Systems
- 1.2 Ziele
- 1.2.1 Zugriff auf Ressourcen
- 1.2.2 Verteilungstransparenz
- 1.2.3 Offenheit
- 1.2.4 Skalierbarkeit
- 1.2.5 Typische Fehlannahmen
- 1.3 Klassen verteilter Systeme
- 1.3.1 Verteilte Computersysteme
- 1.3.2 Verteilte Informationssysteme
- 1.3.3 Verteilte Pervasive Systeme
- 2 Architekturen
- 2.1 Architekturstile
- 2.2 Systemarchitekturen
- 2.2.1 Zentralisierte Architekturen
- 2.2.2 Dezentralisierte Architekturen
- 2.2.3 Hybridarchitekturen
- 2.3 Architekturen und Middleware
- 2.3.1 Interzeptoren
- 2.3.2 Allgemeine Ansätze für adaptive Software
- 2.3.3 Erörterung
- 2.4 Selbstmanagement in verteilten Systemen
- 2.4.1 Modell der Rückkopplungssteuerung
- 2.4.2 Systemüberwachung mit Astrolabe
- 2.4.3 Unterscheidung von Replikationsstrategien in Globule
- 2.4.4 Automatische Reparatur von Komponenten in Jade
- 3 Prozesse
- 3.1 Threads
- 3.1.1 Einführung in Threads
- 3.1.2 Threads in verteilten Systemen
- 3.2 Virtualisierung
- 3.2.1 Die Rolle der Virtualisierung in verteilten Systemen
- 3.2.2 Architekturen virtueller Maschinen
- 3.3 Clients
- 3.3.1 Vernetzte Benutzerschnittstellen
- 3.3.2 Clientseitige Software für die Verteilungstransparenz
- 3.4 Server
- 3.4.1 Allgemeine Entwurfsfragen
- 3.4.2 Servercluster
- 3.4.3 Servercluster verwalten
- 3.5 Codemigration
- 3.5.1 Ansätze zur Codemigration
- 3.5.2 Migration und lokale Ressourcen
- 3.5.3 Migration in heterogenen Systemen
- 4 Kommunikation
- 4.1 Grundlagen
- 4.1.1 Protokollschichten
- 4.1.2 Arten der Kommunikation
- 4.2 Entfernter Prozeduraufruf (Remote Procedure Call, RPC)
- 4.2.1 Grundlagen der RPC-Verwendung
- 4.2.2 Übergabe von Parametern
- 4.2.3 Asynchrone RPCs
- 4.2.4 DCE-RPC
- 4.3 Nachrichtenorientierte Kommunikation
- 4.3.1 Nachrichtenorientierte flüchtige Kommunikation
- 4.3.2 Nachrichtenorientierte persistente Kommunikation
- 4.3.3 Das Warteschlangensystem WebSphere von IBM
- 4.4 Streamorientierte Kommunikation
- 4.4.1 Unterstützung für kontinuierliche Medien
- 4.4.2 Streams und Dienstgüte
- 4.4.3 Synchronisierung von Streams
- 4.5 Multicast-Kommunikation
- 4.5.1 Multicast auf Anwendungsebene
- 4.5.2 Gossip-basierte Datenverbreitung
- 5 Benennung und Namenssysteme
- 5.1 Namen, Bezeichner und Adressen
- 5.2 Lineare Benennung
- 5.2.1 Einfache Lösungen
- 5.2.2 Heimatgestützte Ansätze
- 5.2.3 Verteilte Hash-Tabellen
- 5.2.4 Hierarchische Ansätze
- 5.3 Hierarchische Benennung
- 5.3.1 Namensräume
- 5.3.2 Namensauflösung
- 5.3.3 Die Implementierung eines Namensraumes
- 5.3.4 DNS
- 5.4 Attributbasierte Benennung
- 5.4.1 Verzeichnisdienste
- 5.4.2 Hierarchische Implementierungen: LDAP
- 5.4.3 Dezentrale Implementierungen
- 6 Synchronisierung
- 6.1 Uhrensynchronisierung
- 6.1.1 Physikalische Uhren
- 6.1.2 Global Positioning System (GPS)
- 6.1.3 Algorithmen zur Uhrzeitsynchronisierung
- 6.2 Logische Uhren
- 6.2.1 Die logischen Uhren von Lamport
- 6.2.2 Vektoruhren
- 6.3 Gegenseitiger Ausschluss
- 6.3.1 Überblick
- 6.3.2 Ein zentralisierter Algorithmus
- 6.3.3 Ein dezentraler Algorithmus
- 6.3.4 Ein verteilter Algorithmus
- 6.3.5 Ein Token-Ring-Algorithmus
- 6.3.6 Die vier Algorithmen im Vergleich
- 6.4 Globale Positionierung von Knoten
- 6.5 Wahlalgorithmen
- 6.5.1 Herkömmliche Wahlalgorithmen
- 6.5.2 Wahlalgorithmen in drahtlosen Umgebungen
- 6.5.3 Wahlalgorithmen in großmaßstäblichen Systemen
- 7 Konsistenz und Replikation
- 7.1 Einführung
- 7.1.1 Gründe für Replikation
- 7.1.2 Replikation als Skalierungstechnik
- 7.2 Datenzentrierte Konsistenzmodelle
- 7.2.1 Stufenlose Konsistenz
- 7.2.2 Konsistente Anordnung von Operationen
- 7.3 Clientzentrierte Konsistenzmodelle
- 7.3.1 Eventual Consistency
- 7.3.2 Monotones Lesen
- 7.3.3 Monotones Schreiben
- 7.3.4 »Read Your Writes«-Konsistenz
- 7.3.5 »Writes Follow Reads«-Konsistenz
- 7.4 Replikationsverwaltung
- 7.4.1 Platzierung der Replikatserver
- 7.4.2 Replikation und Platzierung von Inhalten
- 7.4.3 Verteilung von Inhalten
- 7.5 Konsistenzprotokolle
- 7.5.1 Stufenlose Konsistenz
- 7.5.2 Urbildbasierte Protokolle (Primary-Based Protocols)
- 7.5.3 Protokolle für replizierte Schreibvorgänge
- 7.5.4 Cache-Kohärenzprotokolle
- 7.5.5 Implementieren der clientzentrierten Konsistenz
- 8 Fehlertoleranz
- 8.1 Einführung in die Fehlertoleranz
- 8.1.1 Grundbegriffe
- 8.1.2 Fehlermodelle
- 8.1.3 Maskierung des Ausfalls durch Redundanz
- 8.2 Belastbarkeit von Prozessen
- 8.2.1 Entwurfsfragen
- 8.2.2 Maskierung von Ausfällen und Replikation
- 8.2.3 Übereinstimmung in fehlerhaften Systemen
- 8.2.4 Erkennung von Ausfällen (Failure Detection)
- 8.3 Zuverlässige Client-Server-Kommunikation
- 8.3.1 Punkt-zu-Punkt-Kommunikation
- 8.3.2 RPC-Semantik bei Fehlern
- 8.4 Zuverlässige Gruppenkommunikation
- 8.4.1 Grundlegende Verfahren für zuverlässiges Multicasting
- 8.4.2 Skalierbarkeit beim zuverlässigen Multicasting
- 8.4.3 Atomares Multicasting
- 8.5 Verteilter Commit
- 8.5.1 Zwei-Phasen-Commit
- 8.5.2 Drei-Phasen-Commit
- 8.6 Wiederherstellung (Recovery)
- 8.6.1 Einführung
- 8.6.2 Kontrollpunkt (Checkpoint)
- 8.6.3 Nachrichtenprotokollierung
- 8.6.4 Wiederherstellungsorientierte Datenverarbeitung
- 9 Sicherheit
- 9.1 Einführung in das Thema Sicherheit
- 9.1.1 Sicherheitsbedrohungen, -richtlinien und -mechanismen
- 9.1.2 Entwurfsfragen
- 9.1.3 Kryptografie
- 9.2 Sichere Kanäle
- 9.2.1 Authentifizierung
- 9.2.2 Nachrichtenintegrität und Vertraulichkeit
- 9.2.3 Sichere Gruppenkommunikation
- 9.2.4 Kerberos
- 9.3 Zugriffssteuerung
- 9.3.1 Allgemeine Aspekte der Zugriffssteuerung
- 9.3.2 Firewalls
- 9.3.3 Sicherer mobiler Code
- 9.3.4 DoS-Angriffe (Denial of Service)
- 9.4 Sicherheitsverwaltung
- 9.4.1 Schlüsselverwaltung
- 9.4.2 Sichere Gruppenverwaltung
- 9.4.3 Autorisierungsverwaltung
- 10 Verteilte objektbasierte Systeme
- 10.1 Architektur
- 10.1.1 Verteilte Objekte
- 10.1.2 Enterprise Java Beans
- 10.1.3 Verteilte gemeinsam genutzte Objekte in Globe
- 10.2 Prozesse
- 10.2.1 Objektserver
- 10.2.2 Das Ice-Laufzeitsystem
- 10.3 Kommunikation
- 10.3.1 Clients an Objekte binden
- 10.3.2 Statischer und dynamischer Aufruf entfernter Methoden (Remote Method Invocation, RMI) im Vergleich
- 10.3.3 Übergeben von Parametern
- 10.3.4 Java RMI
- 10.3.5 Objektbasierte Nachrichtenübermittlung
- 10.4 Benennung
- 10.4.1 CORBA-Objektverweise
- 10.4.2 Globe-Objektverweise
- 10.5 Synchronisierung
- 10.6 Konsistenz und Replikation
- 10.6.1 Eintrittskonsistenz
- 10.6.2 Replizierte Aufrufe
- 10.7 Fehlertoleranz
- 10.7.1 Fehlertoleranz in CORBA
- 10.7.2 Fehlertoleranz in Java
- 10.8 Sicherheit
- 10.8.1 Globe
- 10.8.2 Sicherheit für entfernte Objekte
- 11 Verteilte Dateisysteme
- 11.1 Architektur
- 11.1.1 Client-Server-Architekturen
- 11.1.2 Clusterbasierte verteilte Dateisysteme
- 11.1.3 Symmetrische Architekturen
- 11.2 Prozesse
- 11.3 Kommunikation
- 11.3.1 RPCs in NFS
- 11.3.2 Das RPC2-Subsystem
- 11.3.3 Dateiorientierte Kommunikation in Plan 9
- 11.4 Namen
- 11.4.1 Namen in NFS
- 11.4.2 Erstellen eines globalen Namensraumes
- 11.5 Synchronisierung
- 11.5.1 Semantik der gemeinsamen Dateiverwendung
- 11.5.2 Dateien sperren
- 11.5.3 Gemeinsame Verwendung von Dateien in Coda
- 11.6 Konsistenz und Replikation
- 11.6.1 Clientseitiger Cache
- 11.6.2 Serverseitige Replikation
- 11.6.3 Replikation in Peer-to-Peer-Dateisystemen
- 11.6.4 Dateireplikation in Grid-Systemen
- 11.7 Fehlertoleranz
- 11.7.1 Umgang mit byzantinischen Fehlern
- 11.7.2 Hohe Verfügbarkeit in Peer-to-Peer-Systemen
- 11.8 Sicherheit
- 11.8.1 Sicherheit in NFS
- 11.8.2 Dezentrale Authentifizierung
- 11.8.3 Sichere Peer-to-Peer-Systeme zur gemeinsamen Verwendung von Dateien
- 12 Verteilte webbasierte Systeme
- 12.1 Architektur
- 12.1.1 Herkömmliche webbasierte Systeme
- 12.1.2 Webdienste
- 12.2 Prozesse
- 12.2.1 Clients
- 12.2.2 Der Apache-Webserver
- 12.2.3 Webservercluster
- 12.3 Kommunikation
- 12.3.1 HTTP
- 12.3.2 SOAP
- 12.4 Benennung
- 12.5 Synchronisierung
- 12.6 Konsistenz und Replikation
- 12.6.1 Zwischenspeicherung auf dem Webproxy
- 12.6.2 Replikation für Webhosting-Systeme
- 12.6.3 Replikation von Webanwendungen
- 12.7 Fehlertoleranz
- 12.8 Sicherheit
- 13 Verteilte koordinationsbasierte Systeme
- 13.1 Einführung in Koordinationsmodelle
- 13.2 Architekturen
- 13.2.1 Allgemeiner Ansatz
- 13.2.2 Herkömmliche Architekturen
- 13.2.3 Peer-to-Peer-Architekturen
- 13.2.4 Mobilität und Koordination
- 13.3 Prozesse
- 13.4 Kommunikation
- 13.4.1 Inhaltsgesteuertes Routing
- 13.4.2 Unterstützung von kombinierten Abonnements (Subscription)
- 13.5 Benennung
- 13.5.1 Zusammengesetzte Ereignisse beschreiben
- 13.5.2 Abgleichen von Ereignissen mit Abonnements
- 13.6 Synchronisierung
- 13.7 Konsistenz und Replikation
- 13.7.1 Statische Ansätze
- 13.7.2 Dynamische Replikation
- 13.8 Fehlertoleranz
- 13.8.1 Zuverlässige Publish/Subscribe-Kommunikation zwischen Anbieter und Abonnent
- 13.8.2 Fehlertoleranz in gemeinsam genutzten Datenräumen
- 13.9 Sicherheit
- 13.9.1 Vertraulichkeit
- 13.9.2 Sichere gemeinsam genutzte Datenräume
- 14 Literatur und Quellen
- 14.1 Weiterführende Literatur
- 14.1.1 Einführungen und allgemeine Werke
- 14.1.2 Architekturen
- 14.1.3 Prozesse
- 14.1.4 Kommunikation
- 14.1.5 Benennung
- 14.1.6 Synchronisierung
- 14.1.7 Konsistenz und Replikation
- 14.1.8 Fehlertoleranz
- 14.1.9 Sicherheit
- 14.1.10 Verteilte objektbasierte Systeme
- 14.1.11 Verteilte Dateisysteme
- 14.1.12 Verteilte webbasierte Systeme
- 14.1.13 Verteilte koordinationsbasierte Systeme
- 14.2 Quellen
- Über die Autoren
- Liste mit englischen Begriffen und deren Übersetzung
- Liste mit deutschen Begriffen und deren Übersetzung
- Register
- !
- Numerisch
- A
- B
- C
- D
- E
- F
- G
- H
- I
- J
- K
- L
- M
- N
- O
- P
- Q
- R
- S
- T
- U
- V
- W
- X
- Z
- © Copyright
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.