DE69629630T2 - Struktur zur Gruppenzugehörigkeitsverwaltung in einem Mehrfachrechnersystem - Google Patents

Struktur zur Gruppenzugehörigkeitsverwaltung in einem Mehrfachrechnersystem Download PDF

Info

Publication number
DE69629630T2
DE69629630T2 DE69629630T DE69629630T DE69629630T2 DE 69629630 T2 DE69629630 T2 DE 69629630T2 DE 69629630 T DE69629630 T DE 69629630T DE 69629630 T DE69629630 T DE 69629630T DE 69629630 T2 DE69629630 T2 DE 69629630T2
Authority
DE
Germany
Prior art keywords
cluster
node
subsystems
nodes
subsystem
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69629630T
Other languages
English (en)
Other versions
DE69629630D1 (de
Inventor
Robert A. Menlo Park Alfieri
James T. Durham Compton
Andrew R. Monroeville Huber
Paul T. Raleigh McGrath
Khaled S. Durham Soufi
Brian J. Cary Thorstad
Eric R. Chapel Hill Vook
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
Data General Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Data General Corp filed Critical Data General Corp
Publication of DE69629630D1 publication Critical patent/DE69629630D1/de
Application granted granted Critical
Publication of DE69629630T2 publication Critical patent/DE69629630T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1425Reconfiguring to eliminate the error by reconfiguration of node membership
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

  • Die vorliegende Erfindung betrifft im Allgemeinen Multiprozessorsysteme und im Besonderen Clustersysteme mit gemeinsamem Datenträger. Insbesondere betrifft die Erfindung einen Rahmen zum Anschließen und Lösen von Knoten in einem Multiprozessor-Cluster-System.
  • Ein Multiprozessor-Cluster-System weist im typischen Fall mehrere Knoten auf, die durch eine private Kommunikationsverbindung miteinander verbunden sind. Das Clustersystem hat außerdem eine gemeinsame Cluster-Ressource, wie z. B. einen virtuellen Datenträger, der für alle Knoten zugänglich ist, die ein Betriebssystem abarbeiten, das koordinierten Zugang zu der gemeinsamen Ressource unterstützt. Clustersysteme haben viele Vorteile. Sie verleihen dem Benutzer hohe Verfügbarkeit, weil die Verfügbarkeit nicht davon abhängt, dass alle Knoten aktive Teilnehmer im Cluster sind. Ein oder mehrere Knoten können das Cluster verlassen, ohne notwendigerweise die Verfügbarkeit zu beeinträchtigen. Neue Knoten können zu dem System hinzugefügt werden, ohne dass das System heruntergefahren und neu gestartet werden muss. Außerdem können Knoten voneinander verschiedene Prozessordesigns aufweisen, die die Erweiterung des Systems ermöglichen. Auf diese Weise sorgt das Clustersystem für eine hohe Gesamtleistung.
  • Clustersysteme mit gemeinsamem Datenträger werden meist für Datenbankdienste verwendet, die ein verteiltes Sperrensystem benötigen, um eine Verletzung der Integrität von Daten auf dem gemeinsamen virtuellen Datenträger zu vermeiden. Das Mitgliedschaftsmanagement in einem solchen Clustersystem erforderte, dass dem verteilten Sperrensystem Clusterbewusstsein verliehen wurde. Derartige Clustersysteme mit gemeinsamem Datenträger sind aber begrenzt, weil sich das Clusterbewusstsein auf nur eine Subsystemschicht erstreckt. Bestimmte Betriebssysteme haben mehrere Subsysteme, die so geschichtet sind, dass ein höheres Subsystem vom Betrieb niedrigerer Subsysteme abhängen muss. Bekannte Methoden des Cluster-Mitgliedschaftsmanagements sind nicht in der Lage, derartige geschichtete Subsysteme durch Clusterübergänge von sich dem Cluster anschließenden und aus ihm ausscheidenden Knoten zu führen.
  • Client-Dienste sind im typischen Fall auf die Knoten des Clusters verteilt, was eine ausgedehnte Koordination dessen erfordert, welcher Knoten welchen Dienst implementiert. Dies ist während Knotenübergängen eines sich dem Cluster anschließenden oder aus ihm ausscheidenden Knotens besonders schwierig. Grund dafür ist, dass den meisten Diensten die Clusterumgebung nicht bewusst ist. Die Client-Dienste würden im typischen Fall selbstständig den besten Knoten für die Ausführung bestimmen. Es würde ein Recovery-Mechanismus zum Einleiten der Wiederherstellung benötigt, wenn der derzeit den Dienst ausführende Knoten das Cluster verlässt. Einzelne Dienste ihren eigenen Mechanismus für diese Koordination implementieren zu lassen, erfordert detaillierte Modifikationen an den Client-Diensten, damit sie auf einem Clustersystem abgearbeitet werden können, was die Verwaltung des Clusters mühsam und schwierig macht, weil eventuell unkonsistente Mechanismen verwendet werden.
  • Das US-Patent US-A-5.287.453 offenbart ein Cluster-Computersystem, das ein Cluster miteinander verbundener, unabhängig betriebener Computersysteme hat, die durch einen Cluster-Controller Informationen austauschen. Die Mitglieder des Clusters tauschen eine Liste aller clusterweit gemeinsam zu nutzenden Platten, Bänder und Drucker aus. Wenn ein Operator auf ein benanntes Disk- Volume in dem System Bezug nehmen will, setzt er den Plattensatz oder das Datenträgervolume in das Plattenlaufwerk von einem der Mitglieder des Clusters ein. Das System erkennt das Volume lokal und sendet eine Nachricht an alle anderen Mitglieder, dass das benannte Volume eingesetzt worden ist.
  • Die Erfindung in ihren diversen Aspekten ist in den unabhängigen Ansprüchen unten definiert, auf die jetzt Bezug zu nehmen ist. Vorteilhafte Merkmale sind in den anhängigen Ansprüchen dargelegt.
  • Eine bevorzugte Ausgestaltung der Erfindung, die unten mit Bezug auf die Zeichnungen ausführlicher beschrieben wird, sieht ein Verfahren und eine Vorrichtung zum Kombinieren bestimmter Prozessoren, oder Knoten, eines Multiprozessorsystems in einem Cluster vor, das Benutzern des System im Wesentlichen als ein vereintes System erscheint. Mehrere Subsysteme, die auf gegenwärtig in dem Cluster befindlichen Knoten abgearbeitet werden, werden über Übergänge von sich dem Cluster anschließenden und aus ihm ausscheidenden Knoten benachrichtigt. Dies stellt den Subsystemen der Cluster-Knoten eine konsistente Ansicht der aktiven Mitgliedschaft in dem Cluster bereit, wodurch alle Knoten-Subsysteme durch die Knotenübergänge geführt werden können. Dieses Merkmal ist besonders nützlich bei Subsystemen, die in Ebenen interdependent sind, wobei die Subsysteme höherer Ebenen von dem Betrieb von Subsystemen niedrigerer Ebenen abhängig sind. Ein spezieller Übergang wird dem Subsystem der gleichen Ebene an allen Knoten mitgeteilt. Die Benachrichtigung wird nicht auf eine weitere Subsystemebene weitergeleitet, bis das benachrichtigte Subsystem jedes Knotens diese Benachrichtung bearbeitet und bestätigt, dass eine solche Bearbeitung abgeschlossen ist. Wenn der Übergang ein sich dem Cluster anschließender Knoten ist, werden Subsysteme, angefangen mit Subsystemen niedrigerer Ebene und der Reihe nach durch höhere Subsystemebenen fortschreitend, benachrichtigt. Wenn der Übergang ein das Cluster kontrolliert verlassender Knoten ist, werden Subsysteme, angefangen mit Subsystemen höherer Ebene und der Reihe nach durch niedrigere Subsystemebenen fortschreitend, benachrichtig. Wenn der Übergang ein von anderen Knoten unkontrolliert aus dem Cluster gedrängter Knoten ist, werden Subsysteme, angefangen mit Subsystemen niedrigerer Ebene und der Reihe nach durch höhere Subsystemebenen fortschreitend, benachrichtigt.
  • Es ist eine Registrierungs- und Start-Funktion vorgesehen, bei der Client-Dienste, einschließlich Benutzeranwendungen, auf speziellen Knoten in einem Cluster so eingeleitet werden, dass das Cluster den Client-Diensten im Wesentlichen als eine einheitliche Einheit erscheint. Für jeden Client-Dienst wird ein Knoten gewählt und dieser Client-Dienst wird bei dem Knoten registriert. Gegenwärtig in dem Cluster befindliche Knoten werden darüber benachrichtigt, dass der spezielle Dienst bei dem betreffenden Knoten registriert ist. Auf diese Weise können Client-Dienste auf einen anderen Knoten übertragen werden, wenn der Knoten, an dem dieser Dienst registriert ist, das Cluster verlässt. Der Client-Dienst kann an einem Knoten gemäß einem in dem Dienst enthaltenen Aktionsparameter in Reaktion auf das Registrieren dieses Dienstes bei diesem Knoten gestartet werden. Dies versieht Client-Dienste mit clusterweiter Verfügbarkeit, weil sie sich nicht jedesmal, wenn sie übertragen werden, ausdrücklich selbst einleiten müssen. Client-Dienste können vorteilhaft als Parent-Dienst (Eltern-Dienst) und einem oder mehreren Child-Diensten (Kind-Diensten) gruppiert werden.
  • Gruppierte Client-Dienste sind bei dem gleichen Knoten registriert und nutzen in dem Parent-Dienst enthaltene Aktionsparameter für alle Startaktivitäten innerhalb der Gruppe. Das Wählen eines Knotens für jeden Client-Dienst kann das Bereitstellen einer Datenbank von Wählfaktoren für den Client-Dienst und das Anwenden der Wählfaktoren auf Informationen bezüglich der Verfügbarkeit der Knoten in dem Cluster aufweisen. Die Wählfaktoren legen Regeln fest, die Knoten mit dem Client-Dienst in Bezug setzen.
  • Eine solche Registrierungs- und Startfunktion ist vorzugsweise eine Komponente eines Ereignismanagers, der ein Subsystem ist, das vom Cluster-Mitgliedschaftsmanager Benachrichtigungen über Knotenübergänge erhält. Der Ereignismanager überwacht bei einem bestimmten Knoten registrierte Client-Dienste mit Hilfe einer Ereignisüberwachung (Event-Watcher) und sorgt für Bedienungsvorgänge, die in Reaktion auf das Stattfinden eines Ereignisses, wie eines Knotenübergangs, ausgeführt werden. Die Ereignisüberwachung kann in Reaktion auf das Registrieren eines Client-Dienstes aktiviert und in Reaktion auf das Deregistrieren des Client-Dienstes deaktiviert werden.
  • Im Folgenden wird die bevorzugte Ausgestaltung der vorliegenden Erfindung mit Bezug auf die Zeichnungen beispielhaft ausführlicher beschrieben. Dabei zeigt bzw. zeigen:
  • 1 ein Blockdiagramm eines die Erfindung ausgestaltenden Multiprozessor-Cluster-Systems;
  • 2 ein Zustandsübergangsdiagramm eines Übergangsbenachrichtigungsrahmens für eine einzelne Subsystemebene;
  • 3 bis 10 Diagramme von Subsystemzuständen in einem Zwei-Knoten-Cluster, das sich dem Cluster anschließende Knoten illustriert;
  • 11 und 12 Diagramme von Subsystemzuständen in einem Zwei-Knoten-Cluster, die das kontrollierte Ausscheiden eines Knotens aus dem Cluster illustrieren;
  • 13 bis 15 Diagramme von Subsystemzuständen in einem Zwei-Knoten-Cluster, die ein unkontrolliertes erzwungenes Ausscheiden eines Knotens aus dem Cluster illustrieren;
  • 16 ein Blockdiagramm, das die Gruppierung von Client-Diensten illustriert;
  • 17 ein 15 ähnliches Diagramm, das mehrere Generationen von Client-Dienst-Gruppierungen illustriert;
  • 18 ein Zustandsübergangsdiagramm, das das Starten eines Client-Dienstes illustriert;
  • 19 ein Zustandsübergangsdiagramm, das die Übergangszustände eines Client-Dienstes illustriert;
  • 20 eine 18 ähnliche Darstellung, die zusätzliche Übergangszustände illustriert, und
  • 21 ein Blockdiagramm eines Ereignismanager-Subsystems.
  • HARDWARE
  • Ein Multiprozessor-Cluster-System 25, wobei jetzt speziell auf die Zeichnungen und die darin abgebildeten veranschaulichenden Ausgestaltungen Bezug genommen wird, hat mehrere Knoten 26 und eine gemeinsame Cluster-Ressource, wie z. B. einen physikalischen Datenträger 28, der aus mehreren physikalischen Plattenlaufwerken bestehen könnte (1). Jeder Knoten 26 hat einen Prozessor (Zentraleinheit, CPU), einen physikalischen Speicher, Caches, gemeinsame und private Busschnittstellen und wahlweise dedizierte Geräte. Jeder Knoten arbeitet eine Kopie eines auf UNIX gestützten Betriebssystems, wie z. B. das von der Data General Corporation von Westborn, Massachusetts, USA, vertriebenen Betriebssystem DG/UX 5.4, ab, das auf jeder beliebigen Hardwarekonfiguration fährt, die ein derartiges Betriebssystem unterstützt. Ein Beispiel für eine solche Hardwarekonfiguration ist die von Data General vermarktete AViiON®-Familie.
  • Cluster-System 25 hat außerdem ein Interconnect 36, das ein dediziertes gemeinsames Cluster-Kommunikationsmittel ist, über das Knoten 26 direkt mit allen anderen Knoten im gleichen Cluster sprechen können, und einen gemeinsamen Cluster-E/A-Bus 32, über den alle Knoten alle physikalisch an den gemeinsamen Bus angeschlossenen Geräte, wie z. B. Datenträger 28, gemeinsam nutzen können. In der illustrierten Ausgestaltung ist der gemeinsame Bus 32 ein SCSI-Standardbus.
  • SOFTWARE
  • Cluster-System 25 hat eine einzelne Mitgliedschaftsdatenbank 34, die einen dedizierten virtuellen gemeinsamen Cluster-Datenträger hat, der neben einem clusterbewussten Urlader 38 auf dem physikalischen Datenträger 28 wohnt. Die Mitgliedschaftsdatenbank 34 verwaltet beständige Knotenkonfigurationsinformationen 40, die zum Urladen, Ausschalten oder Notausschalten (Panik) eines Knotens 26 benötigt werden. Zu derartigen beständigen Informationen gehört die Identifizierung der Anzahl von Knoten, die in dem System konfiguriert sind, sowie Konfigurationsdaten über jeden Knoten, die mit einer Knotenkennnummer indexiert sind. Die Mitgliedschaftsdatenbank 34 hat außerdem eine Datenbank für den aktiven Mitgliedschaftszustand 42, die flüchtige Informationen über Knotenzustände enthält. Derartige flüchtige Informationen ändern sich dynamisch, wenn Knoten sich dem Cluster kontrolliert anschließen, das Cluster kontrolliert verlassen oder unkontrolliert aus dem Cluster gedrängt werden. Ein Knoten kann irgendeinen der folgenden Zustände aufweisen: Inaktiv – der Knoten ist nicht konfiguriert oder er ist kein aktives Mitglied des Clusters.
  • Anschließend – der Knoten ist dabei, sich an ein Cluster anzuschließen, was bedeutet, dass der Knoten andere Knoten über seine Absicht, sich dem Cluster kontrolliert anzuschließen, informiert hat, aber noch nicht alle der registrierten Knoten-Subsysteme im Cluster die Übergänge abgeschlossen haben, um den neuen Knoten kontrolliert aufzunehmen.
  • Angeschlossen – der Knoten hat sich dem Cluster völlig angeschlossen und alle registrierten Knotensubsysteme im Cluster akzeptieren den neuen Knoten als ein Mitglied des Clusters und haben ihre Übergänge zum Aufnehmen des neuen Knotens abgeschlossen.
  • Ausscheidend – der Knoten ist dabei, den Cluster zu verlassen, was bedeutet, dass der Knoten andere Knoten über seine Absicht, das Cluster kontrolliert zu verlassen, informiert hat; aber noch nicht alle registrierten Knoten-Subsysteme der Knoten im Cluster Übergänge zum kontrollierten Ausschließen des neuen Knotens abgeschlossen haben.
  • Zwangsausscheidung – andere Knoten sind dabei, diesen Knoten aus dem Cluster zu drängen. Andere Knoten können einen Knoten hinausdrängen, wenn dieser Knoten nicht richtig funktioniert, z. B. wenn er nicht mit anderen Knoten kommuniziert. Nachdem die anderen Knoten das Bearbeiten der Zwangsausscheidung abgeschlossen haben, was das Ausführen von Recovery-Prozeduren umfasst, markieren die anderen Knoten diesen Knoten als inaktiv. Der hinausgedrängte Knoten reagiert panisch, nachdem er bemerkt hat, dass die anderen Knoten ihn ausgeschlossen haben. Ein Knoten reagiert panisch, indem er weiteres Bearbeiten abbricht, um eine Verfälschung gemeinsamer Cluster-Ressourcen zu vermeiden.
  • A. MITGLIEDSCHAFTSMANAGER
  • Das Clustersystem 25 hat einen Mitgliedschaftsmanager-Rahmen mit einem Übergangsbenachrichtigungsrahmen 44, der Benachrichtigungen an alle Subsysteme auf Kernel-Ebene und Benutzerebene bereitstellt, die über Clusterübergänge benachrichtigt werden müssen (2 bis 15). Zweck des Übergangsbenachrichtigungsrahmens 44 ist es, clusterbewusste Subsysteme bereitzustellen, eine kohärente Methode zum Bearbeiten von Clusterübergangsinformationen unter den Knoten. Clusterbewusste Subsysteme sind Subsysteme, die bei einem Cluster-Mitgliedschaftsmanager-Subsystem 46 eines Knotens registriert sind. In der illustrierten Ausgestaltung hat jeder Knoten 26 vier Subsysteme auf Kernel-Ebene, darunter Cluster-Mitgliedschaftsmanager-Subsystem 46, die zusammen den Übergangsbenachrichtigungsrahmen 44, ein Verteilter-Sperrenmanager-(DLM-)Subsystem 48, ein Virtueller-Diskmanager-(VDM-)Subsystem 50 und ein Gemeinschaftsdateisystem-(SFS-)Subsystem 52 bereitstellen. Jeder Knoten 26 hat außerdem wenigstens ein Subsystem auf Benutzerebene, nämlich ein Ereignismanager-Subsystem 54. Derartige Subsysteme 46 bis 54 sind untereinander in Ebenen voneinander abhängig. In der illustrierten Ausgestaltung ist der Mitgliedschaftsmanager 46 das Subsystem niedrigster Ebene und der Ereignismanager 54 das Subsystem höchster Ebene. Es könnten aber auch noch andere. höhere Subsysteme bereitgestellt werden. Für die Subsysteme ist eine globale Übergangsrangordnung vorgesehen, wobei niedrigere Subsysteme kleinere Werte und höhere Subsysteme größere Werte erhalten.
  • Der Übergangsbenachrichtigungsrahmen 44 funktioniert wie folgt. Bevor ein Knoten sich einem Cluster anschließt, registrieren interessierte Subsysteme dieses Knotens ihre Absicht, Benachrichtigungen über Clusterübergänge zu erhalten. Ein registriertes Subsystem muss auch einen Steuerthread liefern, der Warten-auf-Übergang-Benachrichtigungen vom Mitgliedschaftsmanager-Subsystem 46 dieses Knotens sperrt. Während kontrollierter Anschlüsse und Zwangsausschlüsse von Knoten koordinieren die Mitgliedschaftsmanager-Subsysteme 46 aller Knoten, um die registrierten Subsysteme des Knotens mit Bezug auf das globale Übergangsrangordnungsschema von unten nach oben zu benachrichtigen, wie unten noch ausführlicher illustriert wird. Die Mitgliedschaftsmanager-Subsysteme benachrichtigen also zunächst die rangniedrigsten Subsysteme aller Knoten, gefolgt von den rangmäßig nächsthöheren bis zu den ranghöchsten. Umgekehrt koordinieren während des kontrollierten Ausscheidens von Knoten die Mitgliedschaftsmanager-Subsysteme 46 aller Knoten, um die registrierten Subsysteme des Knotens von oben nach unten zu benachrichtigen, wobei sie zunächst die ranghöchsten Subsysteme aller Knoten benachrichtigen, gefolgt von den rangmäßig nächsthöchsten bis zu den rangniedrigsten. Diese Rangordnung hat den Zweck, dass Abhängigkeiten höherer Subsysteme von niedrigeren Subsystemen erfüllt werden. Das heißt, dass ein Knotenanschlussübergang zuerst von einem Subsystem niedrigerer Ebene bearbeitet wird, sodass Subsysteme höherer Ebene versichert sein können, dass die Subsysteme, von denen sie abhängen, nämlich niedrigerere Subsysteme, sich des Anschließens bewusst sind und seine Bearbeitung abgeschlossen haben. Umgekehrt muss ein kontrolliertes Verlassen zuerst von einem Subsystem höherer Ebene bearbeitet werden, sodass die untereren Subsysteme in dem ausscheidenden Knoten während des Ausscheidungsübergangs betriebsfähig bleiben. Ein unkontrolliertes Ausscheiden wird von unten nach oben bearbeitet, um sicherzustellen, dass alle Fehlerbedingungen nach oben fortgepflanzt werden, bevor auf der nächsthöchsten Ebene die Wiederherstellung versucht wird.
  • Das Mitgliedschaftsmanager-Subsystem jedes, Knotens schreitet mit der Benachrichtigung des der Reihe nach nächsten Subsystems erst dann fort, wenn das Subsystem jedes Knotens, das derzeit an der Reihe ist, seine Beendigung der Bearbeitung für den Übergang bestätigt. Das Mitgliedschaftsmanager-Subsystem jedes Knotens kann aber ein registriertes Subsystem benachrichtigen, um mehrerer Übergänge für verschiedene Knoten gleichzeitig zu bearbeiten. Jeder dieser Übergänge kann anderer Art sein. Dies verbessert die Leistungsfähigkeit in Situationen, in denen viele Knoten gleichzeitig Übergänge durchlaufen, wie z. B. dann, wenn viele Knoten nach einem Stromausfall, der das gesamte Cluster ausgeschaltet hat, urladen. Der Mitgliedschaftsmanager jedes Knotens benachrichtigt aber keine Subsysteme, die für einen bestimmten Übergangsknoten außer Betrieb sind. Als Folge dessen können mehrere Übergänge für verschiedene Knoten zur gleichen Zeit auf verschiedenen Subsystemebenen bearbeitet werden, aber der Mitgliedschaftsmanager-Rahmen des Clusters gewährleistet das richtige Subsystemordnen für jeden Übergangsknoten.
  • Für Beispiele der Verwendung von Clustersubsystemen zur Beteiligung an kontrolliertem Anschließen, kontrolliertem Verlassen und unkontrolliertem Zwangsausscheiden unter Verwendung des Übergangsbenachrichtigungsrahmens 44 wird auf die 2 bis 15 Bezug genommen, die ein Clustersystem illustrieren, das potenziell ein Zwei-Knoten-Cluster hat. Die in den 3 bis 15 illustrierten Beispiele können auf drei oder mehr Knoten verallgemeinert werden, wobei jeder Knotenübergang sequenziell nacheinander jedes Subsystem an allen Knoten durchläuft. Jeder Mitgliedschaftsmanager würde den gleichen Knotenübergang nicht zum nächsthöheren Subsystem weiterleiten, bis alle Knoten auf der aktuellen Ebene ihren Abschluss der Übergangsbearbeitung für den neuen Knoten bestätigt haben.
  • In dem in 3 illustrierten Zustand enthält das Cluster keine aktiven Mitglieder. Der Systemverwalter schaltet Knoten N0 ein und beginnt sein Urladen. Knoten N1 bleibt abgeschaltet. Um sich als das erste aktive Mitglied kontrolliert an den Cluster anzuschließen, öffnet Knoten NO die Mitgliedschaftsdatenbank 34 des Clusters und ruft seine Konfigurationsinformationen ab. Knoten N0 initialisiert seine Kernel-Subsysteme 4652, die sich jeweils für die Übergangsbenachrichtigung registrieren (4). Die Subsysteme erzeugen (spawn) einen Thread, der einen Kernelaufruf durchführt, der blockiert, weil zu diesem Zeitpunkt keine Clusterübergänge stattgefunden haben. Das INIT-Subsystem (nicht gezeigt) des Knotens N0 leitet das kontrollierte Anschließen von Knoten N0 durch das höchste derzeit registrierte Subsystem ein. Das Mitgliedschaftsmanager-Subsystem 46 von Knoten N0 bildet den Cluster und markiert den aktiven Zustand des Knotens N0 als anschließend. Mitgliedschaftsmanager 46 des Knotens NO benachrichtigt sein DLM-Subsystem 48, dass der Knoten NO sich dem Cluster anschließt (5). Der Thread des DLM- Subsystems 48 des Knotens N0 wird aufgeweckt, bemerkt den Neuanschlusszustand des Knotens NO, gibt die gemeinsame Bearbeitung an einen anderen DLM-Thread ab, und schließt dann sein Anschließen ab. Das DLM-Subsystem des Knotens NO markiert den Zustand des Knotens N0 als angeschlossen und informiert den Mitgliedschaftsmanager 46 des Knotens NO, dass DLM seine gemeinsame Bearbeitung für Knoten NO abgeschlossen hat. Der gleiche Vorgang wird für das VDM-Subsystem 50 und das SFS-Subsystem 52 des Knotens NO wiederholt (6).
  • Nachdem der Knoten N0 sich dem Cluster auf der Kernelebene angeschlossen hat, geht er zum Benutzerraum über (7a7c). Das INIT-Subsystem (nicht gezeigt) des Knotens N0 erzeugt Ereignismanager-Subsystem 54, das einen Thread erzeugt, der sofort zurückkehrt, weil der Ereignismanager 54 des Knotens N0 das kontrollierte Anschließen des Knotens N0 noch nicht bearbeitet hat. Nachdem der Ereignismanager 54 des Knotens N0 das kontrollierte Anschließen des Knotens NO bearbeitet hat, markiert er den Zustand des Knotens NO als angeschlossen und informiert den Mitgliedschaftsmanager 46 des Knotens NO, dass er das kontrollierte Anschließen des Knotens N0 bearbeitet hat.
  • In 8 schaltet der Administrator den Knoten N1 ein und urlädt ihn, was bewirkt, dass die Knoten N0 und N1 ein kontrolliertes Anschließen des Knotens N1 durchführen. Der Knoten N1 öffnet die Mitgliedschaftsdatenbank 34, ruft seine Konfigurationsinformationen ab und initialisiert seine Kernel-Subsysteme 4652, die sich für Übergangsbenachrichtigungen registrieren. Der Mitgliedschaftsmanager von sich anschließenden Knoten muss mit dem Cluster-Hauptknoten verhandeln, um sich dem Cluster anzuschließen. Wenn sich mehrere Knoten in dem Cluster befinden, wird ein Knoten unter Verwendung des Decker-Algorithmus, der in der Technik bekannt ist, zum Hauptknoten. Der Hauptknoten schreibt sein Heartbeat-Signal in einem bestimmten Bereich der Mitgliedschaftsdatenbank 34. Sich anschließende Knoten untersuchen einen derartigen Bereich auf das Heartbeat-Signal, um den Hauptknoten zu identifizieren. Das Mitgliedschaftsmanager-Subsystem 46 des Knotens N1 verhandelt mit dem Mitgliedschaftsmanager des Knotens NO, der der Hauptknoten sein muss, weil er der einzige Knoten im Cluster ist, um sich dem Cluster anzuschließen. Die Mitgliedschaftsmanager der Knoten N0 und N1 markieren den Zustand des Knotens N1 als sich dem Cluster anschließend. Die Mitgliedschaftsmanager der Knoten N0 und N1 benachrichtigen ihre jeweiligen DLM-Subsysteme 48, dass Knoten N1 sich dem Cluster anschließt. Beide DLM-Subsysteme werden durch ihre Aufrufe aufgeweckt und beginnen mit der Bearbeitung des kontrollierten Anschließens des Knotens N1. Nachdem beide DLM-Subsysteme in der Bearbeitung des kontrollierten Anschließens des Knotens N1 koordiniert haben, markieren die DLM-Subsysteme den Zustand des Knotens N1 als angeschlossen und senden dem Mitgliedschaftsmanager eine Bestätigung. Nachdem sie die Bestätigungen beider DLM erhalten haben, benachrichtigen die Mitgliedschaftsmanager der Knoten NO und N1 das entsprechende VDM-Subsystem 50, dass der Knoten N1 sich dem Cluster anschließt (9). Nachdem beide VDM-Subsysteme das Anschließen des Knotens N1 bearbeitet haben, markieren beide Subsysteme den Zustand des Knotens N1 als angeschlossen und senden jeweils eine Bestätigung dessen an ihren Mitgliedschaftsmanager.
  • Nachdem sich der Knoten N1 dem Cluster auf der Kernel-Ebene angeschlossen hat, geht der Knoten N1 zum Benutzerraum über, wobei sein INIT-Subsystem (nicht gezeigt) Ereignismanager 54 erzeugt. Der Ereignismanager des Knotens N1 registriert sich bei den Mitgliedschaftsmanagern. Der Ereignismanager des Knotens N1 erzeugt einen Thread, der einen Kernelaufruf durchführt, der sofort zurückgegeben wird, weil der Ereignismanager des Knotens N1 das kontrollierte Anschließen des Knotens N1 bearbeiten muss. Der Ereignismanager des Knotens N0 wacht auf und bearbeitet das kontrollierte Anschließen des Knotens N1. Nachdem beide Ereignismanager 54 in der Bearbeitung des kontrollierten Anschließens des Knotens N1 koordiniert haben, markieren sie den Zustand des Knotens N1 als angeschlossen und senden jeweils ihrem Mitgliedschaftsmanager eine Bestätigung des kontrollierten Anschließens. Der Knoten N1 ist wie in 10 illustriert angeschlossen.
  • Es ist möglich, dass ein Knoten ein kontrolliertes Ausscheiden einleitet, während sich der Knoten noch im anschließenden Zustand befindet. Ein sich anschließendes Subsystem setzt die anschließenden Zustände aber nicht direkt in einen ausscheidenden oder einen inaktiven Zustand um. Das sich anschließende Subsystem muss den Angeschlossen-Übergang abschließen und bestätigen. Der Mitgliedschaftsmanager kehrt den anschließenden Zustand nur zwischen Benachrichtigungen an registrierte Subsystemebenen in den ausscheidenden Zustand um.
  • Eine Bearbeitung, durch den Übergangsbenachrichtigungsrahmen 44, eines kontrollierten Ausscheidens eines Knotens, wie sie während eines Herunterfahrens eines Knotens stattfinden würde, wird unter Bezugnahme auf 11 und 12 illustriert. Der Knoten N0 leitet sein Herunterfahren ein, indem er den entsprechenden Aufruf zum Einleiten eines kontrollierten Ausscheidens durchführt. Die Mitgliedschaftsmanager- Subsysteme der Knoten N0 und N1 markieren den Knoten N0 als ausscheidend. Die Mitgliedschaftsmanager der Knoten NO und N1 wecken beide Ereignismanager 54 mit dem Übergang des Knotens N0 auf. Beide Ereignismanager 54 notieren den Zustand des Knotens N0 als ausscheidend und beginnen ihre koordinierte Bearbeitung des kontrollierten Ausscheidens des Knotens NO. Wie unten noch ausführlicher beschrieben wird, kann das Bearbeiten des kontrollierten Ausscheidens des Knotens N0 durch beide Ereignismanager ein beträchtliches Maß an Herunterfahren auf Anwendungsebene beinhalten, wonach beide Ereignismanager den Knoten N0 als inaktiv markieren und ihre betreffenden Mitgliedschaftsmanager benachrichtigen. Der Mitgliedschaftsmanager des Knotens N0 deregistriert den Ereignismanager des Knotens N0 automatisch für die Übergangsbenachrichtigung, wodurch der Ereignismanager des Knotens N0 keine weiteren Benachrichtigungen erhält. Als nächstes führt der Mitgliedschaftsmanager der Knoten NO und N1 jeweils die gleiche Iteration mit den SFS-Subsystemen 52 beider Knoten, dann mit beiden VDM-Subsystemen 50 und dann mit den DLM-Subsystemen 48 durch. Schließlich markiert der Mitgliedschaftsmanager beider Knoten jeweils den Knoten N0 als inaktiv, was auch das Ende des kontrollierten Ausscheidens des Knotens N0 ist. Knoten N0 führt die Bearbeitung des Herunterfahrens auf Kernelebene durch und kehrt zur Urladebefehlszeile zurück.
  • Es ist zu beachten, dass ein Knoten kein kontrolliertes Anschließen durchführen kann, während andere Knoten das kontrollierte Ausscheiden des Knotens bearbeiten. In der Praxis kann diese Situation eintreten, wenn der ausscheidende Knoten abnormal gestorben ist und wieder bootet, bevor andere Knoten die Chance hatten zu bemerken, dass dieser ausscheidende Knoten gestorben ist.
  • Sobald die anderen Knoten bemerken, dass der ausscheidende Knoten eigentlich gestorben ist, drängen die anderen Knoten den toten Knoten aus dem Cluster, wobei sie ihre Bearbeitung des kontrollierten Ausscheidens abbrechen. Anschließend akzeptieren die anderen Knoten die Anforderung eines kontrollierten Anschließens des neuen Knotens.
  • Ein unkontrolliertes (abruptes) Zwangsausscheiden ist eine abnormale Situation; z. B. wenn ein Knoten nicht mehr fähig ist, mit den anderen Clusterknoten zu kommunizieren. Wenn der hinausgedrängte Knoten bemerkt, dass die anderen Knoten diesen Knoten aus dem Cluster gedrängt haben, reagiert der hinausgedrängte Knoten panisch. Der Übergangsbenachrichtigungsrahmen 44 stellt sicher, dass der hinausgedrängte Knoten keine gemeinsamen Cluster-Resourcen verfälscht. Wenn ein registriertes Subsystem sich mitten in der Bearbeitung eines kontrollierten Anschließens oder Ausscheidens des hinausgedrängten Knotens befindet, könnte der Mitgliedschaftsmanager jedes Knotens das bearbeitende Subsystem erneut benachrichtigen, damit es seine kontrollierte Bearbeitung für den Knoten abbricht und die Bearbeitungswiederherstellung beginnt.
  • Ein Beispiel eines Zwangsausscheidens wird mit Bezug auf die 13 bis 15 illustriert, was damit beginnt, dass der Knoten N1 an das Cluster angeschlossen ist und der Knoten N0 urlädt und sich dem Cluster kontrolliert anschließt. Wenn beispielsweise die Mitgliedsmanager der Knoten N0 und N1 das kontrollierte Anschließen des Knotens N0 aufwärts durch die VDM-Subsysteme 50 bearbeitet haben, aber von den SFS-Subsystemen 52 noch keine Bestätigung erhalten haben, dass sie das Bearbeiten des kontrollierten Anschließens des Knotens N0 abgeschlossen haben, weil die SFS-Subsysteme der Knoten NO und N1 aufgrund eines Interconnect-Ausfalls an Knoten NO nicht kommunizieren können, wird das kontrollierte Anschließen des Knotens N0 als in einem hängenden Zustand befindlich notiert (13). Der Mitgliedschaftsmanager des Knotens N1 bemerkt, dass der Knoten N1 nicht mehr mit dem Knoten N0 kommunizieren kann. Knoten 1 drängt Knoten NO aus dem Cluster, indem er den Zustand des Knotens NO als zwangsausscheidend markiert. Der Mitgliedschaftsmanager des Knotens N0 bemerkt, dass der Knoten N1 den Knoten N0 hinausgedrängt hat, und reagiert sofort panisch (14). Der Mitgliedschaftsmanager des Knotens N1 leitet die Zwangsausscheidungsbearbeitung ausgehend vom untersten Subsystem und aufwärts weiter bis zum höchsten registrierten Subsystem ein. Das DLM-Subsystem 48 des Knotens N1 markiert den Knoten N0 als zwangsausscheidend, bemerkt den abrupten Übergang aus dem angeschlossenen Zustand und beginnt die Recovery-Bearbeitung, wie. in 14 illustriert. Nachdem das DLM-Subsystem des Knotens N1 seine Beendigung der Recovery-Bearbeitung für das Zwangsausscheiden des Knotens NO durch Markieren des Zustands des Knotens N0 als inaktiv bestätigt hat, führt der Mitgliedschaftsmanager des Knotens N1 die gleiche Iteration mit Bezug auf das VDM-Subsystem 50 durch.
  • Der Knoten N0 kann sich dem Cluster erst dann wieder kontrolliert anschließen, wenn alle Subsysteme des Knotens N1 ihre Bearbeitung der Zwangsausscheidung des Knotens N0 abgeschlossen haben. Wenn der Mitgliedschaftsmanager des Knotens N1 das SFS-Subsystem 52 des Knotens N1 schließlich eingeholt hat, bricht dieses Subsystem seine Bearbeitung des ursprünglichen kontrollierten Anschließens des Knotens N0 ab und führt die Recovery-Bearbeitung durch gefolgt von einer Bestätigung seiner Beendigung der Zwangsausscheidungsbearbeitung für Knoten N0 durch Markieren des Zustands des Knotens N0 als inaktiv. Der Mitgliedschaftsmanager des Knotens N1 würde die Zwangsausscheidungsbenachrichtigung normalerweise durch das höchste registrierte Subsystem, Ereignismanager 54, weiter iterieren. Weil aber das SFS-Subsystem 52 das höchste Subsystem war, das über den Versuch eines kontrollierten Anschließens durch den Knoten N1 benachrichtigt wurde, durchläuft die Zwangsausscheidungsbearbeitung nur das SFS-Subsystem. Nach der Bearbeitung der Zwangsausscheidungsbenachrichtigung durch das höchste zutreffende Subsystem, in diesem Fall das SFS-Subsystem, markiert der Mitgliedschaftsmanager des Knotens N1 den Zustand von Knoten N0 als inaktiv (15).
  • Tabelle 1 zeigt die Typen der Benachrichtigungen, die der Mitgliedschaftsmanager an ein registriertes Subsystem sendet, und die entsprechenden Bestätigungen, deren Erhalt der Mitgliedschaftsmanager von dem registrierten Subsystem erwartet, nachdem das registrierte Subsystem seine Bearbeitung des Übergangs abgeschlossen hat, für einen bestimmten Übergangsknoten. Tabelle 1 führt auch die erneuten Benachrichtigungen auf, die, dieser Mitgliedschaftsmanager an das registrierte Subsystem senden kann, während das registrierte Subsystem noch die ursprüngliche Benachrichtigung für den im Übergang befindlichen Knoten bearbeitet.
  • Einige registrierte Subsysteme müssen eventuell eine Zwei- oder Mehrphasen-Commit-Operation für einen der bestimmten Knotenübergänge durchführen. Um ein solches Mehrphasen-Commit bereitzustellen, stellt der Mitgliedschaftsmanager 46 Barrieren-Synchronisation bereit. Jedes registrierte Subsystem kann eine Anzahl von Schranken angeben, die das Subsystem für jeden Knotenübergangstyp wünscht. Die Mitgliedschaftsmanager senden dann Benachrichtigungen, die Barrieren-Synchronisation mit Subsystemebenen aufweisen. Alle Knoten auf einer bestimmten Subsystemebene müssen ihren Abschluss der Übergangsbearbeitung für die bestimmte Schranke bestätigen, bevor der Mitgliedschaftsmanager zu dem Subsystem übergeht, das als nächstes an der Reihe ist. Wenn beispielsweise das DLM-Subsystem während eines Anschlussübergangs zwei „Anschluss"-Schranken verlangt, müssen alle DLM-Subsysteme Anschlusschranke 0 bestätigen, bevor sie über Schranke 1 benachrichtigt werden. Nachdem sie Schranke 1 bestätigt haben, schreitet der Anschlussübergang zum VDM-Subsystem weiter, das eine andere Schrankenzahl haben kann. Auch müssen sich alle Subsysteme auf einer bestimmten Ebene für jeden Übergangstyp mit der gleichen Schrankenzahl registrieren.
  • In 1 wird ein Zustandsdiagramm für das Übergangsbenachrichtigungsnetzwerk 44 illustriert, um die Benachrichtigungstypen zu veranschaulichen, die ein einzelnes registriertes Subsystem für einen Knotenübergang erhalten kann. Wie in 2 beobachtet, kann der Übergang für jeden Übergangstyp durch mehrere Schranken verlaufen. Zur Verdeutlichung wird nur eine Schranke für das Zwangsausscheiden dargestellt. Es sind aber mehrere Schranken erlaubt. Gestrichelte Linien stellen Übergangsbenachrichtigungen dar. Durchgezogene Linien stellen Bestätigungen vom einzelnen Subsystem auf einem einzelnen Knoten oder über alle Knoten dar.
  • BENACHRICHTIGUNGEN VON EINEM MITGLIEDSCHAFTSMANAGER ÜBER ÜBERGÄNGE FÜR EINEN BESTIMMTEN KNOTEN AN EIN REGISTRIERTES SUBSYSTEM UND ERWARTETE BESTÄTIGUNGEN VON DEM REGISTRIERTEN SUBSYSTEM
  • TABELLE 1
    Figure 00210001
  • B. EREIGNISMANAGER
  • Das Ereignismanager-Subsystem 54 ist ein Benutzerraum-Subsystem, das clusterweite Verfügbarkeit für Client-Dienste bereitstellt. Diese letztere Funktion wird von einem Registrierungs- und Startdienst 56 (1621) durchgeführt, der eine Komponente des Ereignismanager-Subsystems 54 (21) ist. Das Ereignismanager-Subsystem 54 hat einen Ereignismanager-Dämon 58 mit mehreren Überwachungen (Watcher) 60a bis 60g, die bestimmte Bedingungen überwachen. Wenn eine Überwachung ein Problem feststellt, löst das Ereignismanager-Subsystem 54 das Problem über Aktionsfunktionen 62. Registrierungs- und Startdienst 56 kann als eine Überwachung des Ereignismanagerdämons 58 betrachtet werden, führt aber zusätzliche nützliche Funktionen durch, die unten noch ausführlicher beschrieben werden.
  • Ein Client-Dienst ist jede Rechentätigkeit, einschließlich Benutzeranwendungen, die auf einem Knoten oder auf mehr als einem Knoten in einem Cluster durchgeführt wird. Eine Schwierigkeit besteht darin, zu bestimmen, welcher Knoten bzw. welche Knoten jeden Client-Dienst anfänglich bereitstellen sollte(n). Außerdem muss koordiniert sein, welcher Knoten welche Dienste während eines Ausfallszenarios implementiert. Wenn einzelne Client-Dienste ihre eigenen Mechanismen zum Bestimmen des besten Ortes zum Ausführen und zum Iniitiieren der Wiederherstellung (Revocery), wenn der die Dienste derzeit bereitstellende Knoten das Cluster verlässt, bestimmen sollten, würde der administrativen Verwaltung des Clusters eine schwere Bürde aufgelastet. Registrierungs- und Startdienst 56 verleiht nichtclusterbewussten Anwendungen Clusterbewusstsein, indem er wählt, auf welchem Knoten ein Client-Dienst ausführt, den Client-Dienst bei diesem Knoten registriert und derzeit im Cluster befindliche Knoten benachrichtigt, dass der betreffene Client-Dienst bei diesem Knoten registriert ist. Registrierungs- und Startdienst 56 stellt außerdem ein fakultatives Start- oder Ausführungsleistungsmerkmal bereit, das aufgerufen wird, wenn der Dienst an einem bestimmten Knoten registriert wird. Das Start-Leistungsmerkmal kann außerdem zum kontrollierten Übertragen eines Dienstes von einem Knoten auf einen anderen verwendet werden. Das Start-Leistungsmerkmal, das „Aktionsfunktionen" genannt wird, verbessert die clusterweite Verfügbarkeit, indem es die Fähigkeit zum Einleiten, zur Migration und zur Beendigung von Client-Diensten verleiht. Derartige Übertragungen des Client-Dienstes können beispielsweise das Ergebnis von sich dem Cluster anschließenden und ihn verlassenden Knoten sein. Beispiele der Dienste, die prinzipiellen Gebrauch vom Registrierungs- und Startdienst machen, sind beispielsweise Drucken-Subsysteme, fließendes Internetprotokoll (IP), Vernetzungsdienste und Lizenzserver, obwohl auch andere Dienste den Registrierungs- und Startdienst vorteilhaft nutzen können.
  • 1. Registrierung
  • Registrierung ist der Prozess, bei dem ein Knoten oder mehr als ein Knoten in einem Cluster die Verantwortung für einen zuvor definierten Client-Dienst beanspruchen kann/können oder sie ihm/ihnen zugewiesen wird. Sie wird auf clusterweiter atomischer Basis durchgeführt. Eine Registrierung zeigt einen Verantwortungsanspruch an, dass der registrierte Knoten die Verpflichtungen des spezifizierten Client-Dienstes erfüllt. Als Folge der Registrierung oder Deregistrierung werden fakultative Dienststart-, Benachrichtungs- oder Herunterfahrbefehle, „Aktionsfunktionen" genannt, aufgerufen. Auf diese Weise kann die Registrierung den Client-Dienst einleiten oder starten und dem Benutzerdienst Clusterbewusstsein verleihen. Clusterbewusstsein ist ein Ergebnis der Benachrichtigung anderer Knoten in dem Cluster sowie von Knoten, die sich später dem Cluster anschließen, bei Registrierungsabschluss über die Registrierung.
  • 2. Wählen
  • Die Wahl, welchem Knoten als Teil einer Registrierungsoperation eine bestimmte Verantwortung zugewiesen wird, wird von einem Satz von Wählparametern oder Datenbankelementen 64 gelenkt. Diese Wählparameter können einen Satz Datenbankelemente aufweisen, die angeben, wann, wo und unter welchen Bedingungen ein Dienst registriert werden sollte. Es können aber auch zusätzliche Kriterien in die Wählfunktion eingeschlossen. sein, z. B. die jüngste Leistungsstatistik bestimmter Knoten. Vom Administrator bereitgestellte Prioritätsfaktoren wie folgt können ausgewählt werden:
  • Zulässige Knoten (Allowable_Nodes) – die Knoten aus dem Cluster, bei denen die Registrierung erlaubt ist. Alle Knoten müssen potenzielle Mitglieder des Clusters sein, obwohl sie nicht hochgefahren sein müssen. Zum Bezeichnen aller potenziellen Knoten des Clusters kann ein einzelnes Stellvertreterzeichen benutzt werden.
  • Knotenpräferenzen (Node_Preferences) – Knotenpräferenzen ergeben sich aus der Tatsache, dass nicht alle Knoten alle Client-Dienste gleich gut unterstützen. Knotenpräferenzen können als eine ungeordnete Liste oder als eine geordnete Liste angegeben. werden. Die Auswahl unter ungeordneten Elementen wird von der jüngsten Leistungscharakteristik des Clusters beeinflusst. Geordnete Listen werden angefangen mit dem ranghöchsten Element bearbeitet.
  • Unzulässige Knoten (Disallowable_Nodes) – die Knoten aus dem Cluster, bei denen keine Registrierung zulässig ist. Das Hinzufügen eines Knotens zu dem Feld der unzulässigen Knoten eines Client-Dienstes leitet aber nicht automatisch auch eine Übertragung des Dienstes ein.
  • Automatische Registrierung (Auto_Register) – wird verwendet, wenn das Cluster anfänglich hochgefahren wird, wobei jeder Benutzer-Client-Dienst potenziell registriert und gestartet werden muss. Das Feld für automatisches Registrieren erlaubt es dem Administrator zu definieren, unter welchen Bedingungen ein Dienst registriert werden sollte.
  • Platzierungsrichtlinien (Placement_Policy) – zeigen an, welche Art von Registrierungsphilosophie angewendet wird, nämlich, ob der Client-Dienst auf genau einem Knoten zu registrieren ist oder ob er auf jedem zulässigen Knoten registriert und gestartet werden soll.
  • Wie in 18 illustriert, kann ein Client-Dienst entweder von einem automatischen Start 66 oder einem externen Start 68 gestartet werden. Der Registrierungsund Start-Dienst eines entscheidungstreffenden Knotens wählt unter Verwendung der Wählparameter, wie bereits dargelegt, den besten Knoten an 64 aus. Der entscheidungstreffende Knoten kann jeder beliebige Knoten im Cluster sein. Er wird durch den Besitz einer Dateisperre bestimmt und mit Hilfe einer clusterweiten Semaphore bearbeitet. Wenn Reife (Maturity) auf den Client-Dienst angewendet wird, überträgt der Registrierungs- und Start-Dienst auf einen auf Reife wartenden Zustand 70. Reif e. bezieht sich auf die Reif e des Clusters. Ein Cluster ist reif bezüglich einem bestimmten Client-Dienst, wenn wenigstens ein Knoten aus der Liste der zulässigen Knoten up ist und (a) ein primärer Knoten verfügbar ist, (b) genug Knoten up sind oder (c) genug Zeit verstrichen ist. Sobald das Cluster reif ist (70) oder wenn Reife nicht zutrifft, benachrichtigt (72) der Registrierungs- und Start-Dienst den ausgewählten Knoten, damit er den Dienst startet, und die anderen Knoten, dass der Client-Dienst einem bestimmten Knoten zugewiesen worden ist. Der Client-Dienst wird dann aktiviert oder gestartet (74). Mit Ausnahme des unten Beschriebenen (Gruppierung) hat jeder Registrierungs- und Start-Client-Dienst unabhängige Wählfaktoren.
  • 3. Gruppierung
  • Der Registrierungs- und Startdienst 56 erlaubt es Client-Diensten, miteinander in einer als Gruppierung 76 bekannten Verbindung assoziiert zu sein (16 und 17). Der Gruppierungsmechanismus ist eine Beziehung zwischen einem Parent-Client-Dienst 78 und einem oder mehreren Child-Client-Diensten 80. Zweck dieser Gruppierungsanordnung ist es, den Administrator dann Verbindungen spezifizieren zu lassen, wenn spezifische Dienste zusammen platziert werden müssen. Das Child (Kind) wird immer dort platziert, wo das Parent (Eltern) platziert ist. Child-Dienste haben keine Wählfaktoren; es werden nur die Wählfaktoren der Parents verwendet. Eine Gruppierung 76' kann Child-Dienste 80 aufweisen, die Child-Dienste eines anderen Dienstes 80' sind, der, wiederum das Child von Parent-Dienst 78 ist, wie in 17 illustriert, wären alle Child-Dienste (80 und 80') unter der Platzierung des Parent-Dienstes 78.
  • Die Registrierung für jedes Child 80 wird ausgesetzt, bis sein Parent-Dienst erfolgreich registriert und sein Startbefehl (start_command), wenn überhaupt, erfolgreich abgeschlossen wurde. Nachdem der Parent-Dienst fertig ist, wird jedes Child bearbeitet. Desgleichen impliziert eine Deregistrierung eines Parent- Dienstes die Deregistrierung der Child-Dienste. Child-Dienste werden zuerst mit Stoppbefehlen (stop_command) deregistriert, die entsprechend aufgerufen werden. Beim Übertragen einer Gruppierung 76 werden gruppierte Child-Dienste 80 immer zuerst gestoppt und zuletzt gestartet.
  • 4. Aktionsfunktionen
  • Registrierungs- und Startdienst 56 unterstützt veschiedene Aktionen, die als eine Folge von Registrierungstransaktionen stattfinden sollen. Aktionen sind der „Start"-Aspekt des Registrierungs- und Startdienst. Wenn sie mit Gruppierungen 76 und Auswahlparametern 64 kombiniert sind, sorgen Aktionen dafür, dass viele Client-Dienste sich für clusterweite Verfügbarkeit vollständig vom Registrierungs- und Startdienst abhängen können. Einleiten, Migration und Beendigung können mit dem Registrierungs- und Startdienst 56 alle direkt durchgeführt werden.
  • Der Registrierungs- und Startdienst 56 in der illustrierten Ausgestaltung hat vier Aktionsfunktionen:
  • Startbefehl (Start_Command) – Die Datenbank wird bei erfolgreicher Registrierung des Client-Dienstes geprüft, um zu bestimmen, ob ein solcher Befehl mit dem Dienst assoziiert ist. Wenn ein solcher Befehl vorliegt, wird der Client-Dienst an dem registrierten Knoten ausgeführt. Die Registrierung ist erst dann vollständig, wenn der Start erfolgreich abgeschlossen wurde. Wenn eine Startoperation erfolglos ist, wird versucht, den Client-Dienst an einem anderen Knoten in der Liste der zulässigen Knoten zu starten.
  • Stoppbefehl (Stop_Command) – Die Datenbank wird geprüft, um die Anwesenheit dieses Befehls zu bestimmen, wenn ein Client-Dienst seine Beendigung beabsichtigt. Die Deregistrierung ist erst dann vollständig, wenn der Stoppbefehl endet.
  • Benachrichtigungsbefehl (Notify_Command) – Dieser Befehl stellt einen Mechanismus bereit, wodurch andere Knoten darüber informiert werden, dass der Client-Dienst einem bestimmten Knoten zugewiesen worden ist. Wenn ein Client-Dienst erfolgreich registriert ist, wird die Datenbank geprüft, um zu bestimmen, ob dieser Befehl mit dem Dienst assoziiert ist. Ist dies der Fall, wird er an allen Knoten in der Liste der zulässigen Knoten außer dem registrierten Knoten ausgeführt. Wenn ein Knoten in der Liste der zulässigen Knoten sich dem Cluster anschließt, nachdem ein Dienst registriert worden ist, und der Dienst einen Benachrichtigungsbefehl hat, wird der Befehl an dem neuen Knoten eingeleitet. Das schließt Knoten ein, die das Cluster verlassen und sich ihm später wieder anschließen. Wenn ein Startbefehl vorliegt, wird die Benachrichtigung bis zum erfolgreichen Start ausgesetzt.
  • Recovery-Befehl (Recovery_Command) – Dieser wird benutzt, wenn ein Knoten das Cluster unkontrolliert verlässt. Für jeden an dem hinausgedrängten Knoten registrierten Dienst wird die Datenbank geprüft, um zu bestimmen, ob mit dem Dienst ein Recovery-Befehl assoziiert ist. Ist dies der Fall, wird er ausgeführt. Der Knoten für den Recovery-Vorgang wird mit Hilfe der Wählparameter 64 bestimmt. Wenn die Wiederherstellung abgeschlossen ist, wird der Dienst deregistriert. Im typischen Fall wird der Dienst dann an einem der überlebenden Knoten registriert und gestartet.
  • Ein eng mit einer Aktionsfunktion verwandtes Konzept ist das der Übertragung. Die Übertragung eines Dienstes wird durch eine Kombination von zwei Aktionsfunktionen bewerkstelligt. Zunächst wird der Dienst ausgemacht und deregistriert. Zweitens wird er registriert und gestartet. Eine Dienstübertragung kann unter verschiedenen Umständen sehr hilfreich sein. Unter bestimmten Umständen wünscht eventuell der Administrator die Versetzung eines Dienstes. Unter anderen Umständen wird die Übertragungsfunktion zum Übertragen aller Dienste für einen Knoten verwendet, der kontrolliert heruntergefahren wird. Unter noch anderen Umständen kann die Versetzung des Dienstes seiner Art gemäß trivial sein. Weil seine Versetzung keine Auswirkungen hat, kann ein solcher Dienst automatisch übertragen werden, wenn ein bevorzugter Knoten sich dem Cluster anschließt, wenn der Dienst an einem anderen Knoten als einem bevorzugten Knoten platziert ist.
  • Beim Übertragen eines Client-Dienstes von einem Knoten auf einen anderen wird von dem übertragenen Knoten ein „Transferabsicht"-Flag gesetzt. Die Wirkung des Transferabsicht-Flags auf die Übergänge des Registrierungs- und Startdienstes 56 ist unter Bezugnahme auf 19 zu sehen. Der Registrierungs- und Startdienst 56 hat einen Startzustand 82, einen registrierten Zustand 84, einen Stoppzustand 86, einen deregistrierten Zustand 88 und einen Wiederherstellungszustand 90. Jeder der Stopp-, Start- und Wiederherstellungszustände wird übersprungen, wenn ihr jeweiliger Befehl nicht existiert. Der Startzustand 82 zeigt an, dass der Dienst gerade gestartet wird. Bei erfolgreichem Start schaltet der Dienst in einen registrierten Zustand 84, der anzeigt, dass der Dienst behauptet, an irgendeinem Knoten betriebsfähig zu sein. Der registrierte Dienst transferiert zum Stoppzustand 86, wenn das Transferabsicht-Flag bei einem kontrollierten Verlassen des betriebsfähigen Knotens als Teil der Übertragung zu einem anderen Knoten gesetzt wird. Der registrierte Dienst transferiert als Teil einer externen Deregistrierung oder einer Übertragungsoperation zum Stoppzustand 86. Nach Abschluss des Stoppbefehls geht der Dienst vom Stoppzustand 86 in den deregistrierten Zustand 88 über, was anzeigt, dass der Dienst derzeit nicht registriert ist und dass derzeit keine Knotenübergänge ablaufen. Ein Dienst, der übertragen wird, geht normalerweise unmittelbar vom deregistrieren Zustand 88 in den Startzustand 82 über. Der Wiederherstellungszustand 90 findet nur statt, wenn ein Knoten das Cluster unkontrolliert verlässt, während der Dienst im registrierten Zustand 84 oder im Stoppzustand 86 war. Ein ausführlicheres Zustandsübergangsdiagramm ist in 20 dargestellt und illustriert verschiedene Zwischenzustände.
  • Tabelle 2 illustriert ein Beispiel eines Zustandsübergangs in einem Drei-Knoten-Cluster mit Knoten NO, N1 und N2. Das Beispiel basiert darauf, dass Knoten NO und Knoten N1 die zulässigen Knoten sind mit einem Maturity_Count (Reifezahl) gleich 2 und einer Maturity_Time (Reifezeit) gleich 5. Auto Register ist auf automatisch eingestellt. Das Beispiel gilt für einen Einzel-Client-Dienst. Im Beispiel sind anfänglich alle Knoten heruntergefahren. Zum Zeitpunkt t1 bootet der Knoten N2, sodass der Status des Knotens auf einen up-Zustand wechselt. Für den Dienst findet keine Änderung statt, weil Knoten N2 nicht in der Liste der zulässigen Knoten ist. Zum Zeitpunkt t2 wartet der Dienst auf Cluster-Reife und Knoten N0 bootet. Zum Zeitpunkt t3 verstreicht die Reifezeit und der Dienst-Startbefehl wird an Knoten N0 ausgeführt. Der Start wird am Zeitpunkt t4 abgeschlossen und der Dienst wird am Knoten NO registriert. Zum Zeitpunkt t5 bootet Knoten N1. Weil der Dienst bereits registriert ist, findet keine Aktion statt. Wenn aber eine „Benachrichtigungsaktion" definiert ist, würde sie zu diesem Zeitpunkt am Knoten N1 ausgeführt werden. Am Zeitpunkt t6 scheidet der Knoten N2 kontrolliert aus dem Cluster aus, was auch keinen Einfluss auf den Dienst hat. Zum Zeitpunkt t7 beginnt der Knoten N0 ein kontrolliertes Ausscheiden. Dies hat zur Folge, dass der Dienst im Stoppzustand mit gesetzter Transferabsicht ist. Das Stoppen ist zum Zeitpunkt t8 abgeschlossen. Der Dienst wird zum Zeitpunkt t9 auf den Knoten N1 im Startzustand übertragen. Der Dienst wird zum Zeitpunkt t10 an N1 registriert, wenn der Start abgeschlossen wird. Zum Zeitpunkt t11 schließt der Knoten N0 das kontrollierte Ausscheiden ab und wird heruntergefahren. Dies stellt keine Änderung in der Datenbank dar, weil der up/down-Zustand eines Knotens kein in der Datenbank geführter Zustand ist. Am Zeitpunkt t12 beginnt der Knoten N1 ein kontrolliertes Ausscheiden, was den Dienst in einen Stoppzustand versetzt. Wenn Stopp zum Zeitpunkt t13 abgeschlossen ist, wird der Dienst deregistriert und das Transferabsicht-Flag wird gelöscht.
  • TABELLE 2 ZUSTANDSÜBERGANGSBEISPIEL A
    Figure 00320001
  • In einem in Tabelle 3 illustrierten Beispiel wird Knoten N0 als ein bevorzugter Knoten definiert und die übrigen Knoten als zulässig. Maturity_Count ist auf 2 gesetzt. Auto_Register ist auf automatisch gesetzt. Placement_Policy ist auf register_on_one gesetzt. Transfer_cost ist frei. Zu Anfang des Beispiels sind die drei Knoten N0, N1 und N2 im Cluster alle down. An Zeitpunkt t1 bootet der Knoten N0 und der Dienst tritt an Knoten N0 in den Startzustand ein. An Zeitpunkt t2 kommt der Start zum Abschluss und der Dienst wird an Knoten NO registriert. An Zeitpunkt t3 bootet der Knoten N1 und wird benachrichtigt, dass der Dienst an Knoten N0 registriert ist. Zwischen den Zeitpunkten t4 und t, scheidet der Knoten N0 kontrolliert aus dem Cluster aus. Der Dienst wird auf Knoten N1 übertragen und dort registriert. An Zeitpunkt t8 bootet der Knoten N2 und wird benachrichtigt, dass der Dienst an Knoten N1 registriert ist. An Zeitpunkt t9 bootet der Knoten N0 und wird benachrichtigt, dass der Dienst an Knoten 1 registriert ist. An Zeitpunkt t10, kurz nach seinem Booten, bemerkt der Knoten NO, dass freie Übergänge erlaubt sind und dass er gegenüber Knoten N1 bevorzugt wird. Der Knoten N0 leitet automatisch eine Übertragung ein. Der Dienst tritt in den Stoppzustand 86 ein und das Stoppen kommt am Zeitpunkt t11 zum Abschluss. An Zeitpunkt t12 tritt der Dienst am Knoten N0 in den Startzustand ein. Der Start kommt am Zeitpunkt t13 zum Abschluss, und der Dienst wird am Knoten N0 registriert. Die Knoten N1 und N2 werden benachrichtigt, dass der Dienst am Knoten N0 registriert ist.
  • TABELLE 3 ZUSTANDSÜBERGANGSBEISPIEL B
    Figure 00340001
  • 5. Ereignismanager-Dämon
  • Registrierungs- und Startdienst 56 fordert automatisch den Ereignismanager-Dämon 58 zum Überwachen auf einen Zustand an, der sich auf einen Client-Dienst bezieht. Der Registrierungs- und Startdienst fordert den Ereignismanager-Dämon zum Aktivieren dieser Ereignisgruppe (Event Group) bei der Registrierung des Dienstes und zum Deaktivieren der Ereignisgruppe in Reaktion auf die Deregistrierung des Dienstes an. Wenn der Ereignismanager-Dämon 58 ein Problem feststellt, wird eine Ereignisaktion 62 zum Lösen des Problems aufgerufen.
  • An den Registrierungs- und Startdienst wird keine direkte Kommunikation zurückgesendet.
  • Tabelle 4 illustriert die Felder, die mit einem vom Ereignismanager-Dämon 58 überwachten Ereignis assoziiert sind. Zusätzlich zum Ereignisnamensfeld gibt es Felder für IN-Parameter und OUT-Parameter, die das Ereignis definieren, auf dessen Feststellung die zutreffende Ereignisüberwachung eingestellt ist, und die OUT-Parameter werden ausgefüllt, wenn das Ereignis stattfindet. Die Ausgabe wird für die Aktionsfunktion 62 verfügbar gemacht, die mit dem betreffenden Ereignis assoziiert ist. Ereignisgruppen (Event_Groups) werden verwendet, um ansonsten unabhängige Ereignisse logisch zu assoziieren, um anzugeben, wann, wo und unter welchen Bedingungen sie zu aktivieren sind.
  • TABELLE 4 EREIGNISMANAGER-DÄMON
    Figure 00350001
  • Im Ereignismanager-Subsystem 54 ist der Ereignismanager-Dämon 58 das Steuerzentrum. Alle Überwachungen 60a60g sind über eine Kommunikationsbibliothek mit dem Ereignismanager-Dämon verbunden. Eine der Überwachungen im Ereignismanager-Subsystem 54 ist die Mitgliedschaftsmanager-Überwachung 60e, die auf die zuvor beschriebene Weise Benachrichtigungen über Knotenübergänge vom Mitgliedschaftsmanager-Subsystem 46 erhält und eine. Schnittstelle zum Übergangsbenachrichtigungsrahmen 44 bereitstellt. Das Ereignismanager-Subsystem 54 sorgt dafür, dass dem Registrierungs- und Startdienst 56 derartige Knotenübergänge bewusst sind.
  • Ein Beispiel einer Anwendung, für die der Registrierungs- und Startdienst 56 besonders zutreffend ist, ist die Bereitstellung eines Server mit fließender Lizenz am Cluster-System. Die lizenzierte Software könnte als ein Dienst eingerichtet werden und auf einer bestimmten Zahl von Knoten im Cluster ausführen dürfen. Der Registrierungs- und Startdienst arbeitet das Startprogramm ab, das die lizenzierte Software auf einem der Knoten aufruft. Wenn dieser Knoten kontrolliert oder unkontrolliert heruntergefahren wird, überträgt der Registrierungs- und Startdienst die lizenzierte Software nach der Wiederherstellung, wenn das Ausscheiden unkontrolliert war, auf einen neuen Knoten.
  • So ist zu sehen, dass die vorliegende Erfindung einen eng koordinierten Cluster-Mitgliedschaftsmanager-Rahmen bereitstellt, der das Anschließen oder Ausscheiden unter allen Knoten in einem Cluster koordiniert, einschließlich dem Hindurchführen der mehreren Schichten von beteiligten Subsysteme durch die Übergänge. Eines der Subsysteme kann im Benutzerraum sein und führt die Übertragungen von Client-Diensten durch, einschließlich Benutzeranwendungen, die sich aus dem Anschließen von Knoten an das Cluster und dem Ausscheiden von Knoten aus dem Cluster ergeben. Andere Benutzerraumanwendungen können sich während der Laufzeit beim Mitgliedschaftsmanager-Übergangsbenachrichtigungsrahmen registrieren. Somit wird ein robustes System bereitgestellt, das die hohe Gesamtleistung der Multiprozessor-Cluster-Technologie verbessert.
  • Die vorliegende Ausgestaltung erleichtert die Verwendung von Multiprozessor-Clustersystemen mit Betriebssystemen, die mehrere Subsysteme haben, die in Schichten angeordnet sind, indem sie alle beteiligten Subsysteme durch Knotenübergänge führt. Außerdem verleiht sie nicht clusterbewussten Client-Diensten, zu denen eine Vielfalt verschiedener Rechenaktivitäten einschließlich Benutzeranwendungen zählen, Clusterbewusstsein. Dies erlaubt es Benutzern, das Clustersystem als eine einzelne Einheit zu behandeln, wobei das Clustersystem dem Client-Dienst clusterweite Verfügbarkeit verleiht, einschließlich der Einleitung des Client-Dienstes an einem bestimmten Knoten, der Migration des Client-Dienstes zwischen Knoten und der Beendigung des Client-Dienstes.
  • Änderungen und Modifikationen in den speziell beschriebenen Ausgestaltungen können ohne Abweichen von den Grundsätzen der Erfindung durchgeführt werden, deren Begrenzung nur durch den Umfang der anhängigen Ansprüche vorgesehen ist.

Claims (76)

  1. Betriebsverfahren für ein Multiprozessorsystem mit mehreren Knoten, einer gemeinsamen, für alle Knoten zugänglichen Ressource und mehreren interdependenten Ebenen von Betriebssystem-Subsystemen auf jedem der genannten Knoten, wobei das Verfahren die folgenden Schritte umfasst: Kombinieren spezieller der genannten Knoten in einem Cluster, der Benutzern des genannten Systems im Wesentlichen als ein vereintes System erscheint, und Benachrichtigen der Ebenen von Subsystemen, die auf gegenwärtig in dem Cluster befindlichen Knoten abgearbeitet werden, über Übergänge von sich dem Cluster anschließenden und es verlassenden Knoten, um eine konsistente Ansicht aktiver Mitgliedschaft in dem Cluster bereitzustellen.
  2. Verfahren nach Anspruch 1, bei dem die Subsysteme in Ebenen interdependent sind, wobei Subsysteme höherer Ebenen von dem Betrieb von Subsystemen niedrigerer Ebenen abhängig sind.
  3. Verfahren nach Anspruch 2, das die Benachrichtigung von einem der genannten Subsysteme auf allen der genannten, gegenwärtig in dem Cluster befindlichen Knoten über einen Übergang und das Verarbeiten dieser Benachrichtigung an dem genannten einen der genannten Subsysteme, bevor ein weiteres der genannten Subsysteme auf allen der genannten, gegenwärtig in dem Cluster befindlichen Knoten über den Übergang benachrichtigt wird, aufweist.
  4. Verfahren nach Anspruch 3, das das Benachrichtigen von Subsystemen, angefangen mit Subsystemen niedrigerer Ebene und der Reihe nach durch höhere Subsystemebenen fortschreitend, über einen Übergang eines sich dem Cluster anschließenden Knotens aufweist.
  5. Verfahren nach Anspruch 3, das das Benachrichtigen von Subsystemen, angefangen mit Subsystemen höherer Ebene und der Reihe nach durch niedrigere Subsystemebenen fortschreitend; über einen Übergang eines das Cluster kontrolliert verlassenden Knotens aufweist.
  6. Verfahren nach Anspruch 3, das das Benachrichtigen von Subsystemen, angefangen mit Subsystemen niedrigerer Ebene und der Reihe nach durch höhere Subsystemebenen fortschreitend, über einen Übergang eines von anderen Prozessoren aus dem Cluster gedrängten Knotens aufweist.
  7. Verfahren nach einem der Ansprüche 2 bis 6, bei dem die genannten Subsysteme ein Subsystem höherer Ebene aufweisen, das mit Benutzerprogrammen interagiert.
  8. Verfahren nach Anspruch 7, bei dem das genannte Subsystem höherer Ebene einen Dienst aufweist, der Benutzerprogramme automatisch und atomisch zu anderen Knoten transferiert, wenn der die Benutzerprogramme ausführende Knoten das Cluster verlässt.
  9. Verfahren nach einem der Ansprüche 2 bis 8, bei dem die genannten Subsysteme ein Verteilter-Sperrenmanager-Subsystem, ein Virtueller-Diskmanager-Subsystem und ein Gemeinschaftsdatei-Subsystem aufweisen.
  10. Verfahren nach einem der Ansprüche 1 bis 9, bei dem das genannte Verfahren für einen Übergang eines sich dem Cluster anschließenden Knotens die folgenden Schritte aufweist: a) Registrieren von Subsystemen des sich anschließenden Knotens zum Empfangen von Übergangsbenachrichtigungen, b) Anschließen des Knotens an das Cluster und c) Benachrichtigen registrierter Subsysteme in dem Cluster darüber, dass der sich anschließende Knoten sich dem Cluster angeschlossen hat.
  11. Verfahren nach einem der Ansprüche 1 bis 10, bei dem das genannte Verfahren für einen Übergang eines von einem anderen Knoten aus dem Cluster gedrängten Knotens die folgenden Schritte aufweist: a) Benachrichtigen registrierter Subsysteme durch den anderen Knoten darüber, dass der eine Knoten aus dem Cluster gedrängt wird, und b) Übertragen registrierter Programme, die auf dem genannten einen Knoten ausgeführt werden, atomisch auf einen anderen Knoten und Wiederherstellen der Programme zum Ausführen auf dem genannten anderen Knoten.
  12. Verfahren nach einem der Ansprüche 1 bis 11 einschließlich Initiieren von Client-Diensten auf speziellen der genannten Knoten in einem Cluster auf eine Weise, die den Client-Diensten im Wesentlichen als ein vereintes System erscheint, Wählen eines Knotens für jeden Client-Dienst, Registrieren des Client-Dienstes bei diesem Knoten und Benachrichtigen von gegenwärtig in dem Cluster befindlichen Knoten darüber, dass der spezielle Client-Dienst bei dem speziellen Knoten registriert ist, wodurch der spezielle Dienst auf einen anderen Knoten übertragen werden kann, wenn der spezielle Knoten das Cluster verlässt.
  13. Verfahren nach Anspruch 12, das ferner das Starten eines Client-Dienstes auf einem Knoten gemäß einem in dem Client-Dienst enthaltenen Aktionsparameter in Reaktion auf das Registrieren dieses Client-Dienstes bei diesem Knoten aufweist.
  14. Verfahren nach Anspruch 13, das ferner das Gruppieren von Client-Diensten als Eltern-Client-Dienst und wenigstens einen Kind-Client-Dienst, das Registrieren gruppierter Client-Dienste bei dem gleichen Knoten und das Starten gruppierter Client-Dienste gemäß einem in dem Eltern-Client-Dienst enthaltenen Aktionsparameter aufweist.
  15. Verfahren nach Anspruch 12, 13 oder 14, bei dem das genannte Wählen eines Knotens das Bereitstellen einer Datenbank von Wählfaktoren für den Client-Dienst und das Anwenden der genannten Wählfaktoren auf die gegenwärtig in dem Cluster befindlichen Knoten aufweist, wobei die genannten Wählfaktoren Regeln festlegen, die Knoten mit dem Client-Dienst in Bezug setzen.
  16. Verfahren nach Anspruch 15, bei dem die genannten Wählfaktoren aus der Gruppe ausgewählt werden, die zulässige Knoten, nicht zulässige Knoten und Knotenpräferenzen aufweist.
  17. Verfahren nach einem der Ansprüche 12 bis 16, das ferner das Benachrichtigen vor sich an das Cluster anschließenden Knoten darüber aufweist, dass der spezielle Client-Dienst bei den speziellen Knoten registriert ist.
  18. Verfahren nach einem der Ansprüche 12 bis 17, das die Überwachung eines bei einem Knoten registrierten Client-Dienstes unter Verwendung einer Ereignisüberwachung an diesem Knoten aufweist.
  19. Verfahren nach Anspruch 18, das das Aktivieren der Ereignisüberwachung in Reaktion auf das Registrieren des Client-Dienstes und das Deaktivieren der Ereignisüberwachung in Reaktion auf das Deregistrieren des Client-Dienstes aufweist.
  20. Verfahren nach einem der Ansprüche 12 bis 19, bei dem die genannten mehreren Subsysteme einen Cluster-Mitgliedschaftsmanager haben, der bestimmt, welche der genannten Knoten gegenwärtig in dem Cluster sind, und bei dem der genannte Cluster-Mitgliedschaftsmanager Benachrichtigung darüber bereitstellt, welche Knoten in dem Cluster sind.
  21. Verfahren nach Anspruch 20, bei dem das genannte Initiieren von Diensten auf einem speziellen der genannten Knoten von einem anderen der genannten mehreren Subsysteme durchgeführt wird.
  22. Verfahren nach einem der Ansprüche 1 bis 21, das das Initiieren von Client-Diensten auf speziellen der genannten Knoten in einem Cluster auf eine Weise, die dem Client-Dienst im Wesentlichen als ein vereintes System erscheint, das Registrieren eines Client-Dienstes bei einem der genannten Knoten und das Starten des Client-Dienstes auf diesem Knoten gemäß einem von dem Client- Dienst aufgewiesenen Aktionsparameter in Reaktion auf das Registrieren dieses Benutzer-Dienstes bei diesem Knoten aufweist.
  23. Verfahren nach Anspruch 22, das das Transferieren des Client-Dienstes zu einem anderen Knoten aufweist, wenn dieser Knoten das Cluster verlässt.
  24. Verfahren nach Anspruch 23, bei dem das genannte Transferieren das Neustarten des Client-Dienstes auf dem anderen Knoten gemäß dem genannten Aktionsparameter aufweist.
  25. Multiprozessor-Cluster-System, umfassend: mehrere Knoten (26), eine gemeinsame Ressource (28), die für alle Knoten zugänglich ist, ein Cluster-Kommunikationsmedium (36) zwischen den genannten Knoten, mehrere interdependente Ebenen von Betriebssystem-Subsystemen (4654) auf jedem der genannten Knoten, wobei die genannten Subsysteme ein Cluster-Mitgliedschaftsmanager-Subsystem (46) zum Benachrichtigen von Subsystemen, die auf gegenwärtig in dem Cluster befindlichen Knoten abgearbeitet werden, über sich dem Cluster anschließende und es verlassende Knoten aufweist, um eine konsistente Ansicht aktiver Mitgliedschaft in dem Cluster bereitzustellen, und ein Registrierungs- und Start-Subsystem (56) zum Initiieren von Client-Diensten auf speziellen der genannten Knoten in einem Cluster auf eine Weise, die den Client-Diensten im Wesentlichen als ein vereinter Knoten erscheint, wobei das genannte Registrierungs- und Start-Subsystem einen Knoten für jeden Client-Dienst wählt, den Client-Dienst bei diesem Knoten registriert und gegenwärtig in dem Cluster befindliche Knoten darüber benachrichtigt, dass der spezielle Dienst bei dem speziellen Knoten registriert ist.
  26. Multiprozessor-Cluster-System nach Anspruch 25, bei dem die Subsysteme in Ebenen interdependent sind, wobei Subsysteme höherer Ebenen von dem Betrieb von Subsystemen niedrigerer Ebenen abhängig sind.
  27. Multiprozessor-Cluster-System nach Anspruch 26, bei dem das genannte Mitgliedschaftsmanager-Subsystem (46) eines der genannten Subsysteme auf allen der genannten, gegenwärtig in dem Cluster befindlichen Knoten über einen Übergang benachrichtigt und dieses genannte eine der genannten Subsysteme auf allen Knoten diese Benachrichtigung verarbeitet, bevor das genannte Mitgliedschaftsmanager-Subsystem ein weiteres der genannten Subsysteme auf allen der genannten, gegenwärtig in dem Cluster befindlichen Knoten über den Übergang benachrichtigt.
  28. Multiprozessor-Cluster-System nach Anspruch 27, bei dem das genannte Mitgliedschaftsmanager-Subsystem (46) Subsysteme angefangen mit Subsystemen niedrigerer Ebene und der Reihe nach durch höhere Subsystemebenen fortschreitend über einen Übergang eines sich dem Cluster anschließenden Knotens benachrichtigt.
  29. Multiprozessor-Cluster-System nach Anspruch 27 oder Anspruch 28, bei dem das genannte Mitgliedschaftsmanager-Subsystem (46) Subsysteme angefangen mit Subsystemen höherer Ebene und der Reihe nach durch niedrigere Subsystemebenen fortschreitend über einen Übergang eines das Cluster kontrolliert verlassenden Knotens benachrichtigt.
  30. Multiprozessor-Cluster-System nach Anspruch 27, 28 oder 29, bei dem das genannte Mitgliedschaftsmanager-Subsystem (46) Subsysteme angefangen mit Subsystemen niedrigerer Ebene und der Reihe nach durch höhere Subsystemebenen fortschreitend über einen Übergang eines von anderen Prozessoren aus dem Cluster gedrängten Knotens benachrichtigt.
  31. Multiprozessor-Cluster-System nach einem der Ansprüche 25 bis 30, bei dem das genannte Registrierungs- und Start-Subsystem (56) einen Client-Dienst auf einem Knoten gemäß einem in den Client-Dienst eingeschlossenen Aktionsparameter in Reaktion auf das Registrieren dieses Client-Dienstes bei diesem Knoten startet.
  32. Multiprozessor-Cluster-System nach Anspruch 31, bei dem das genannte Registrierungs- und Start-Subsystem (56) zum Gruppieren von Client-Diensten als einen Eltern-Client-Dienst und wenigstens einen Kind-Client-Dienst ausgeführt ist und bei dem das genannte Registrierungsund Start-Subsystem ferner gruppierte Client-Dienste bei dem gleichen Knoten registriert und gruppierte Client-Dienste gemäß einem in den Eltern-Client-Dienst eingeschlossenen Aktionsparameter startet.
  33. Multiprozessor-Cluster-System nach einem der Ansprüche 25 bis 32, bei dem das genannte Registrierungsund Start-Subsystem (56) eine Datenbank mit Wählfaktoren für den Client-Dienst aufweist und die genannten Wählfaktoren auf die gegenwärtig in dem Cluster befindlichen Knoten anwendet, um den Knoten zum Registrieren eines Client-Dienstes zu wählen, wobei die genannten Wählfaktoren Regeln festlegen, die Knoten mit dem Client-Dienst in Bezug setzen.
  34. Multiprozessor-Cluster-System nach einem der Ansprüche 25 bis 33, bei dem das genannte Registrierungsund Start-Subsystem (56) ferner sich an das Cluster anschließende Knoten darüber benachrichtigt, dass der spezielle Client-Dienst bei dem speziellen Knoten registriert ist.
  35. Multiprozessor-Cluster-System nach einem der Ansprüche 25 bis 34, das ein Ereignismanager-Subsystem (54) zum Feststellen von Clusterfehlern und zum Reagieren auf sie aufweist und bei dem das Registrierungs- und Start-Subsystem (56) auf das Ereignismanager-Subsystem reagiert.
  36. Multiprozessor-Cluster-System nach Anspruch 35, bei dem das genannte Ereignismanager-Subsystem (54) eine Ereignisüberwachung (60) zum Überwachen eines bei einem Knoten registrierten Client-Dienstes an diesem Knoten aufweist.
  37. Computer-geeignetes Medium, in das Programmcode eingegliedert ist, wobei der genannte Programmcode ein Betriebssystem für ein Multiprozessor-Cluster-System definiert, das mehrere Knoten (26) hat, eine gemeinsame, für alle Prozessoren zugängliche Ressource (28) und mehrere interdependente Ebenen von Subsystemen (4654) aufweist, wobei eines der genannten Subsysteme ein Cluster-Mitgliedschaftsmanager-Subsystem (46) zum Kombinieren spezieller der genannten Knoten in einem Cluster ist, das Benutzern des genannten Systems im Wesentlichen als ein vereintes System erscheint, wobei der genannte Cluster-Mitgliedschaftsmanager zum Benachrichtigen der Ebenen von Subsystemen, die auf gegenwärtig in einem Cluster befindlichen Knoten abgearbeitet werden, über Übergänge von sich dem Cluster anschließenden und es verlassenden Knoten ausgeführt ist, um eine konsistente Ansicht aktiver Mitgliedschaft in dem Cluster bereitzustellen.
  38. Computer-geeignetes Medium nach Anspruch 37, wobei das Betriebssystem ferner einen Registrierungs- und Start-Dienst (56) hat zum Initiieren von Client-Diensten an speziellen von Knoten in einem Cluster auf eine Weise, die den Client-Diensten im Wesentlichen als ein vereintes System erscheint, wobei der genannte Registrierungs- und Start-Dienst einen Knoten für jeden Client-Dienst wählt, den Client-Dienst bei diesem Knoten registriert und gegenwärtig in dem Cluster befindliche Knoten darüber benachrichtigt, dass der spezielle Dienst bei dem speziellen Knoten registriert ist.
  39. Betriebsverfahren für ein Multiprozessorsystem mit mehreren Knoten, einer gemeinsamen, für alle Knoten zugänglichen Ressource und mehreren interdependenten Ebenen von Betriebssystem-Subsystemen auf jedem der genannten Knoten, wobei das Verfahren die folgenden Schritte umfasst: Kombinieren spezieller der genannten Knoten in einem Cluster, der Benutzern des genannten Systems im Wesentlichen als ein vereintes System erscheint, und Benachrichtigen der Ebenen von Subsystemen, die auf gegenwärtig in dem Cluster befindlichen Knoten abgearbeitet werden, über Übergänge von sich dem Cluster anschließenden und es verlassenden Knoten, um eine konsistente Ansicht aktiver Mitgliedschaft in dem Cluster bereitzustellen.
  40. Verfahren nach Anspruch 1, bei dem die Subsysteme in Ebenen interdependent sind, wobei Subsysteme höherer Ebenen von dem Betrieb von Subsystemen niedrigerer Ebenen abhängig sind.
  41. Verfahren nach Anspruch 2, das die Benachrichtigung von einem der genannten Subsysteme auf allen der genannten, gegenwärtig in dem Cluster befindlichen Knoten über einen Übergang und das Verarbeiten dieser Benachrichtigung an dem genannten einen der genannten Subsysteme, bevor ein weiteres der genannten Subsysteme auf allen der genannten, gegenwärtig in dem Cluster befindlichen Knoten über den Übergang benachrichtigt wird, aufweist.
  42. Verfahren nach Anspruch 3, das das Benachrichtigen von Subsystemen, angefangen mit Subsystemen niedrigerer Ebene und der Reihe nach durch höhere Subsystemebenen fortschreitend, über einen Übergang eines sich dem Cluster anschließenden Knotens aufweist.
  43. Verfahren nach Anspruch 3, das das Benachrichtigen von Subsystemen, angefangen mit Subsystemen höherer Ebene und der Reihe. nach durch niedrigere Subsystemebenen fortschreitend, über einen Übergang eines das Cluster kontrolliert verlassenden Knotens aufweist.
  44. Verfahren nach Anspruch 3, das das Benachrichtigen von Subsystemen, angefangen mit Subsystemen niedrigerer Ebene und der Reihe nach durch höhere Subsystemebenen fortschreitend, über einen Übergang eines von anderen Prozessoren aus dem Cluster gedrängten Knotens aufweist.
  45. Verfahren nach einem der Ansprüche 2 bis 6, bei dem die genannten Subsysteme ein Subsystem höherer Ebene aufweisen, das mit Benutzerprogrammen interagiert.
  46. Verfahren nach Anspruch 7, bei dem das genannte Subsystem höherer Ebene einen Dienst aufweist, der Benutzerprogramme automatisch und atomisch zu anderen Knoten transferiert, wenn der die Benutzerprogramme ausführende Knoten das Cluster verlässt.
  47. Verfahren nach einem der Ansprüche 2 bis 8, bei dem die genannten Subsysteme ein Verteilter-Sperrenmanager-Subsystem, ein Virtueller-Diskmanager-Subsystem und ein Gemeinschaftsdatei-Subsystem aufweisen.
  48. Verfahren nach einem der Ansprüche 1 bis 9, bei dem das genannte Verfahren für einen Übergang eines sich dem Cluster anschließenden Knotens die folgenden Schritte aufweist: a) Registrieren von Subsystemen des sich anschließenden Knotens zum Empfangen von Übergangsbenachrichtigungen, b) Anschließen des Knotens an das Cluster und c) Benachrichtigen registrierter Subsysteme in dem Cluster darüber, dass der sich anschließende Knoten sich dem Cluster angeschlossen hat.
  49. Verfahren nach einem der Ansprüche 1 bis 10, bei dem das genannte Verfahren für einen Übergang eines von einem anderen Knoten aus dem Cluster gedrängten Knotens die folgenden Schritte aufweist: a) Benachrichtigen registrierter Subsysteme durch den anderen Knoten darüber, dass der eine Knoten aus dem Cluster gedrängt wird, und b) Übertragen registrierter Programme, die auf dem genannten einen Knoten ausgeführt werden, atomisch auf einen anderen Knoten und Wiederherstellen der Programme zum Ausführen auf dem genannten anderen Knoten.
  50. Verfahren nach einem der Ansprüche 1 bis 11 einschließlich Initiieren von Client-Diensten auf speziellen der genannten Knoten in einem Cluster auf eine Weise, die den Client-Diensten im Wesentlichen als ein vereintes System erscheint, Wählen eines Knotens für jeden Client-Dienst, Registrieren des Client-Dienstes bei diesem Knoten und Benachrichtigen von gegenwärtig in dem Cluster befindlichen Knoten darüber, dass der spezielle Client-Dienst bei dem speziellen Knoten registriert ist, wodurch der spezielle Dienst auf einen anderen Knoten übertragen werden kann, wenn der spezielle Knoten das Cluster verlässt.
  51. Verfahren nach Anspruch 12, das ferner das Starten eines Client-Dienstes auf einem Knoten gemäß einem in dem Client-Dienst enthaltenen Aktionsparameter in Reaktion auf das Registrieren dieses Client-Dienstes bei diesem Knoten aufweist.
  52. Verfahren nach Anspruch 13, das ferner das Gruppieren von Client-Diensten als Eltern-Client-Dienst und wenigstens einen Kind-Client-Dienst, das Registrieren gruppierter Client-Dienste bei dem gleichen Knoten und das Starten gruppierter Client-Dienste gemäß einem in dem Eltern-Client-Dienst enthaltenen Aktionsparameter aufweist.
  53. Verfahren nach Anspruch 12, 13 oder 14, bei dem das genannte Wählen eines Knotens das Bereitstellen einer Datenbank von Wählfaktoren für den Client-Dienst und das Anwenden der genannten Wählfaktoren auf die gegenwärtig in dem Cluster befindlichen Knoten aufweist, wobei die genannten Wählfaktoren Regeln festlegen, die Knoten mit dem Client-Dienst in Bezug setzen.
  54. Verfahren nach Anspruch 15, bei dem die genannten Wählfaktoren aus der Gruppe ausgewählt werden, die zulässige Knoten, nicht zulässige Knoten und Knotenpräferenzen aufweist.
  55. Verfahren nach einem der Ansprüche 12 bis 16, das ferner das Benachrichtigen von sich an das Cluster anschließenden Knoten darüber aufweist, dass der spezielle Client-Dienst bei den speziellen Knoten registriert ist.
  56. Verfahren nach einem der Ansprüche 12 bis 17, das die Überwachung eines bei einem Knoten registrierten Client-Dienstes unter Verwendung einer Ereignisüberwachung an diesem Knoten aufweist.
  57. Verfahren nach Anspruch 18, das das Aktivieren der Ereignisüberwachung in Reaktion auf das Registrieren des Client-Dienstes und das Deaktivieren der Ereignisüberwachung in Reaktion auf das Deregistrieren des Client-Dienstes aufweist.
  58. Verfahren nach einem der Ansprüche 12 bis 19, bei dem die genannten mehreren Subsysteme einen Cluster-Mitgliedschaftsmanager haben, der bestimmt, welche der genannten Knoten gegenwärtig in dem Cluster sind, und bei dem der genannte Cluster-Mitgliedschaftsmanager Benachrichtigung darüber bereitstellt, welche Knoten in dem Cluster sind.
  59. Verfahren nach Anspruch 20, bei dem das genannte Initiieren von Diensten auf einem speziellen der genannten Knoten von einem anderen der genannten mehreren Subsysteme durchgeführt wird.
  60. Verfahren nach einem der Ansprüche 1 bis 21, das das Initiieren von Client-Diensten auf speziellen der genannten Knoten in einem Cluster auf eine Weise, die dem Client-Dienst im Wesentlichen als ein vereintes System erscheint, das Registrieren eines Client-Dienstes bei einem der genannten Knoten und das Starten des Client-Dienstes auf diesem Knoten gemäß einem von dem Client- Dienst aufgewiesenen Aktionsparameter in Reaktion auf das Registrieren dieses Benutzer-Dienstes bei diesem Knoten aufweist.
  61. Verfahren nach Anspruch 22, das das Transferieren des Client-Dienstes zu einem anderen Knoten aufweist, wenn dieser Knoten das Cluster verlässt.
  62. Verfahren nach Anspruch 23, bei dem das genannte Transferieren das Neustarten des Client-Dienstes auf dem anderen Knoten gemäß dem genannten Aktionsparameter aufweist.
  63. Multiprozessor-Cluster-System, umfassend: mehrere Knoten (26), eine gemeinsame Ressource (28), die für alle Knoten zugänglich ist, ein Cluster-Kommunikationsmedium (36) zwischen den genannten Knoten, mehrere interdependente Ebenen von Betriebssystem-Subsystemen (4654) auf jedem der genannten Knoten, wobei die genannten Subsysteme ein Cluster-Mitgliedschaftsmanager-Subsystem (46) zum Benachrichten von Subsystemen, die auf gegenwärtig in dem Cluster befindlichen Knoten abgearbeitet werden, über sich dem Cluster anschließende und es verlassende Knoten aufweist, um eine konsistente Ansicht aktiver Mitgliedschaft in dem Cluster bereitzustellen, und ein Registrierungs- und Start-Subsystem (56) zum Initiieren von Client-Diensten auf speziellen der genannten Knoten in einem Cluster auf eine Weise, die den Client-Diensten im Wesentlichen als ein vereinter Knoten erscheint, wobei das genannte Registrierungs- und Start-Subsystem einen Knoten für jeden Client-Dienst wählt, den Client-Dienst bei diesem Knoten registriert und gegenwärtig in dem Cluster befindliche Knoten darüber benachrichtigt, dass der spezielle Dienst bei dem speziellen Knoten registriert ist.
  64. Multiprozessor-Cluster-System nach Anspruch 25, bei dem die Subsysteme in Ebenen interdependent sind, wobei Subsysteme höherer Ebenen von dem Betrieb von Subsystemen niedrigerer Ebenen abhängig sind.
  65. Multiprozessor-Cluster-System nach Anspruch 26, bei dem das genannte Mitgliedschaftsmanager-Subsystem (46) eines der genannten Subsysteme auf allen der genannten, gegenwärtig in dem Cluster befindlichen Knoten über einen Übergang benachrichtigt und dieses genannte eine der genannten Subsysteme auf allen Knoten diese Benachrichtigung verarbeitet, bevor das genannte Mitgliedschaftsmanager-Subsystem ein weiteres der genannten Subsysteme auf allen der genannten, gegenwärtig in dem Cluster befindlichen Knoten über den Übergang benachrichtigt.
  66. Multiprozessor-Cluster-System nach Anspruch 27, bei dem das genannte Mitgliedschaftsmanager-Subsystem (46) Subsysteme angefangen mit Subsystemen niedrigerer Ebene und der Reihe nach durch höhere Subsystemebenen fortschreitend über einen Übergang eines sich dem Cluster anschließenden Knotens benachrichtigt.
  67. Multiprozessor-Cluster-System nach Anspruch 27 oder Anspruch 28, bei dem das genannte Mitgliedschaftsmanager-Subsystem (46) Subsysteme angefangen mit Subsystemen höherer Ebene und der Reihe nach durch niedrigere Subsystemebenen fortschreitend über einen Übergang eines das Cluster kontrolliert verlassenden Knotens benachrichtigt.
  68. Multiprozessor-Cluster-System nach Anspruch 27, 28 oder 29, bei dem das genannte Mitgliedschaftsmanager-Subsystem (46) Subsysteme angefangen mit Subsystemen niedrigerer Ebene und der Reihe nach durch höhere Subsystemebenen fortschreitend über einen Übergang eines von anderen Prozessoren aus dem Cluster gedrängten Knotens benachrichtigt.
  69. Multiprozessor-Cluster-System nach einem der Ansprüche 25 bis 30, bei dem das genannte Registrierungsund Start-Subsystem (56) einen Client-Dienst auf einem Knoten gemäß einem in den Client-Dienst eingeschlossenen Aktionsparameter in Reaktion auf das Registrieren dieses Client-Dienstes bei diesem Knoten startet.
  70. Multiprozessor-Cluster-System nach Anspruch 31, bei dem das genannte Registrierungs- und Start-Subsystem (56) zum Gruppieren von Client-Diensten als einen Eltern-Client-Dienst und wenigstens einen Kind-Client-Dienst ausgeführt ist und bei dem das genannte Registrierungsund Start-Subsystem ferner gruppierte Client-Dienste bei dem gleichen Knoten registriert und gruppierte Client-Dienste gemäß einem in den Eltern-Client-Dienst eingeschlossenen Aktionsparameter startet.
  71. Multiprozessor-Cluster-System nach einem der Ansprüche 25 bis 32, bei dem das genannte Registrierungsund Start-Subsystem (56) eine Datenbank mit Wählfaktoren für den Client-Dienst aufweist und die genannten Wählfaktoren auf die gegenwärtig in dem Cluster befindlichen Knoten anwendet, um den Knoten zum Registrieren eines Client-Dienstes zu wählen, wobei die genannten Wählfaktoren Regeln festlegen, die Knoten mit dem Client-Dienst in Bezug setzen.
  72. Multiprozessor-Cluster-System nach einem der Ansprüche 25 bis 33, bei dem das genannte Registrierungsund Start-Subsystem (56) ferner sich an das Cluster anschließende Knoten darüber benachrichtigt, dass der spezielle Client-Dienst bei dem speziellen Knoten registriert ist.
  73. Multiprozessor-Cluster-System nach einem der Ansprüche 25 bis 34, das ein Ereignismanager-Subsystem (54) zum Feststellen von Clusterfehlern und zum Reagieren auf sie aufweist und bei dem das Registrierungs- und Start-Subsystem (56) auf das Ereignismanager-Subsystem. reagiert.
  74. Multiprozessor-Cluster-System nach Anspruch 35, bei dem das genannte Ereignismanager-Subsystem (54) eine Ereignisüberwachung (60) zum Überwachen eines bei einem Knoten registrierten Client-Dienstes an diesem Knoten aufweist.
  75. Computer-geeignetes Medium, in das Programmcode eingegliedert ist, wobei der genannte Programmcode ein Betriebssystem für ein Multiprozessor-Cluster-System definiert, das mehrere Knoten (26) hat, eine gemeinsame, für alle Prozessoren zugängliche Ressource (28) und mehrere interdependente Ebenen von Subsystemen (4654) aufweist, wobei eines der genannten Subsysteme ein Cluster-Mitgliedschaftsmanager-Subsystem (46) zum Kombinieren spezieller der genannten Knoten in einem Cluster ist, das Benutzern des genannten Systems im Wesentlichen als ein vereintes System erscheint, wobei der genannte Cluster-Mitgliedschaftsmanager zum Benachrichtigen der Ebenen von Subsystemen, die auf gegenwärtig in einem Cluster befindlichen Knoten abgearbeitet werden, über Übergänge von sich dem Cluster anschließenden und es verlassenden Knoten ausgeführt ist, um eine konsistente Ansicht aktiver Mitgliedschaft in dem Cluster bereitzustellen.
  76. Computer-geeignetes Medium nach Anspruch 37, wobei das Betriebssystem ferner einen Registrierungs- und Start-Dienst (56) hat zum Initiieren von Client-Diensten an speziellen von Knoten in einem Cluster auf eine Weise, die den Client-Diensten im Wesentlichen als ein vereintes System erscheint, wobei der genannte Registrierungs- und Start-Dienst einen Knoten für jeden Client-Dienst wählt, den Client-Dienst bei diesem Knoten registriert und gegenwärtig in dem Cluster befindliche Knoten darüber benachrichtigt, dass der spezielle Dienst bei dem speziellen Knoten registriert ist.
DE69629630T 1995-06-23 1996-06-20 Struktur zur Gruppenzugehörigkeitsverwaltung in einem Mehrfachrechnersystem Expired - Fee Related DE69629630T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/493,550 US5666486A (en) 1995-06-23 1995-06-23 Multiprocessor cluster membership manager framework
US493550 1995-06-23

Publications (2)

Publication Number Publication Date
DE69629630D1 DE69629630D1 (de) 2003-10-02
DE69629630T2 true DE69629630T2 (de) 2004-06-03

Family

ID=23960703

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69629630T Expired - Fee Related DE69629630T2 (de) 1995-06-23 1996-06-20 Struktur zur Gruppenzugehörigkeitsverwaltung in einem Mehrfachrechnersystem

Country Status (6)

Country Link
US (1) US5666486A (de)
EP (1) EP0750256B1 (de)
JP (1) JP3953549B2 (de)
AU (1) AU713372B2 (de)
CA (1) CA2179473A1 (de)
DE (1) DE69629630T2 (de)

Families Citing this family (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692129B1 (en) * 1995-07-07 1999-08-17 Novell Inc Managing application programs in a computer network by using a database of application objects
US6047312A (en) * 1995-07-07 2000-04-04 Novell, Inc. System for replicating and associating file types with application programs among plurality of partitions in a server
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
US5826028A (en) * 1996-05-13 1998-10-20 Lockheed Martin Corporation Initialization of switching networks for use with a scalable coherent interface
US5884018A (en) * 1997-01-28 1999-03-16 Tandem Computers Incorporated Method and apparatus for distributed agreement on processor membership in a multi-processor system
US6151688A (en) 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US6003075A (en) * 1997-07-07 1999-12-14 International Business Machines Corporation Enqueuing a configuration change in a network cluster and restore a prior configuration in a back up storage in reverse sequence ordered
US5964838A (en) * 1997-09-30 1999-10-12 Tandem Computers Incorporated Method for sequential and consistent startup and/or reload of multiple processor nodes in a multiple node cluster
US5999712A (en) * 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6192483B1 (en) * 1997-10-21 2001-02-20 Sun Microsystems, Inc. Data integrity and availability in a distributed computer system
US6192401B1 (en) * 1997-10-21 2001-02-20 Sun Microsystems, Inc. System and method for determining cluster membership in a heterogeneous distributed system
US6092220A (en) * 1997-11-17 2000-07-18 International Business Machines Corporation Method and apparatus for ordered reliable multicast with asymmetric safety in a multiprocessing system
FR2773239A1 (fr) * 1997-12-30 1999-07-02 Bull Sa Configuration d'un systeme informatique multinodal
US6230183B1 (en) 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
US6243825B1 (en) * 1998-04-17 2001-06-05 Microsoft Corporation Method and system for transparently failing over a computer name in a server cluster
US6449734B1 (en) 1998-04-17 2002-09-10 Microsoft Corporation Method and system for discarding locally committed transactions to ensure consistency in a server cluster
US6360331B2 (en) * 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6421787B1 (en) 1998-05-12 2002-07-16 Sun Microsystems, Inc. Highly available cluster message passing facility
US6173413B1 (en) * 1998-05-12 2001-01-09 Sun Microsystems, Inc. Mechanism for maintaining constant permissions for multiple instances of a device within a cluster
US6161191A (en) 1998-05-12 2000-12-12 Sun Microsystems, Inc. Mechanism for reliable update of virtual disk device mappings without corrupting data
US6311217B1 (en) * 1998-06-04 2001-10-30 Compaq Computer Corporation Method and apparatus for improved cluster administration
US7929516B2 (en) * 1998-06-12 2011-04-19 Mci Communications Corporation Intelligent services network using a switch controller
US7142650B1 (en) 1998-06-12 2006-11-28 Mci Communication Corporation System and method for resource management
US6195760B1 (en) * 1998-07-20 2001-02-27 Lucent Technologies Inc Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network
US6347330B1 (en) 1998-09-04 2002-02-12 International Business Machines Corporation Dynamic selective distribution of events to server receivers
US6467050B1 (en) 1998-09-14 2002-10-15 International Business Machines Corporation Method and apparatus for managing services within a cluster computer system
US6393485B1 (en) 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6988123B2 (en) * 1998-11-06 2006-01-17 Seiko Epson Corporation Methods and apparatus for remote execution of an application over the internet
US6636891B1 (en) 1998-11-06 2003-10-21 Seiko Epson Corporation Methods and apparatus for controlling an input or output device over the internet
US6006259A (en) * 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US7774469B2 (en) 1999-03-26 2010-08-10 Massa Michael T Consistent cluster operational data in a server cluster using a quorum of replicas
US6401120B1 (en) 1999-03-26 2002-06-04 Microsoft Corporation Method and system for consistent cluster operational data in a server cluster using a quorum of replicas
US7020695B1 (en) * 1999-05-28 2006-03-28 Oracle International Corporation Using a cluster-wide shared repository to provide the latest consistent definition of the cluster (avoiding the partition-in time problem)
US6871222B1 (en) * 1999-05-28 2005-03-22 Oracle International Corporation Quorumless cluster using disk-based messaging
US7076783B1 (en) 1999-05-28 2006-07-11 Oracle International Corporation Providing figure of merit vote from application executing on a partitioned cluster
JP3707660B2 (ja) * 1999-07-15 2005-10-19 シャープ株式会社 通信機能を備えた装置およびそのグループ化方法並びにそれに用いられる記録媒体
US7463648B1 (en) 1999-08-23 2008-12-09 Sun Microsystems, Inc. Approach for allocating resources to an apparatus based on optional resource requirements
US8032634B1 (en) 1999-08-23 2011-10-04 Oracle America, Inc. Approach for allocating resources to an apparatus based on resource requirements
US6779016B1 (en) 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US8234650B1 (en) 1999-08-23 2012-07-31 Oracle America, Inc. Approach for allocating resources to an apparatus
US6597956B1 (en) 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
US8019870B1 (en) 1999-08-23 2011-09-13 Oracle America, Inc. Approach for allocating resources to an apparatus based on alternative resource requirements
US7703102B1 (en) 1999-08-23 2010-04-20 Oracle America, Inc. Approach for allocating resources to an apparatus based on preemptable resource requirements
US8179809B1 (en) 1999-08-23 2012-05-15 Oracle America, Inc. Approach for allocating resources to an apparatus based on suspendable resource requirements
US7103647B2 (en) 1999-08-23 2006-09-05 Terraspring, Inc. Symbolic definition of a computer system
US6539423B1 (en) * 1999-09-24 2003-03-25 Sap Aktiengesellschaft Methods and systems for generating interactive information formatted for a device
US6931016B1 (en) 1999-10-13 2005-08-16 Nortel Networks Limited Virtual private network management system
US6957254B1 (en) 1999-10-21 2005-10-18 Sun Microsystems, Inc Method and apparatus for reaching agreement between nodes in a distributed system
US6789213B2 (en) * 2000-01-10 2004-09-07 Sun Microsystems, Inc. Controlled take over of services by remaining nodes of clustered computing system
US6714980B1 (en) 2000-02-11 2004-03-30 Terraspring, Inc. Backup and restore of data associated with a host in a dynamically changing virtual server farm without involvement of a server that uses an associated storage device
US7093005B2 (en) 2000-02-11 2006-08-15 Terraspring, Inc. Graphical editor for defining and creating a computer system
US6691244B1 (en) * 2000-03-14 2004-02-10 Sun Microsystems, Inc. System and method for comprehensive availability management in a high-availability computer system
DE10026730A1 (de) * 2000-05-30 2001-12-06 Bayerische Motoren Werke Ag Ressourcen-Management-Verfahren für ein verteiltes System von Teilnehmern
US7487152B1 (en) 2000-05-31 2009-02-03 International Business Machines Corporation Method for efficiently locking resources of a global data repository
US7185076B1 (en) * 2000-05-31 2007-02-27 International Business Machines Corporation Method, system and program products for managing a clustered computing environment
US7502857B2 (en) * 2000-12-15 2009-03-10 International Business Machines Corporation Method and system for optimally allocating a network service
US7631064B1 (en) 2001-04-13 2009-12-08 Sun Microsystems, Inc. Method and apparatus for determining interconnections of network devices
US7640582B2 (en) 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
US20040139125A1 (en) 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
US6842869B2 (en) * 2001-06-08 2005-01-11 International Business Machines Corporation Method to maintain nonvolatile system information cached in a distributed control network
US20030149735A1 (en) * 2001-06-22 2003-08-07 Sun Microsystems, Inc. Network and method for coordinating high availability system services
US7389332B1 (en) 2001-09-07 2008-06-17 Cisco Technology, Inc. Method and apparatus for supporting communications between nodes operating in a master-slave configuration
US7277952B2 (en) 2001-09-28 2007-10-02 Microsoft Corporation Distributed system resource protection via arbitration and ownership
US7085830B1 (en) 2001-10-18 2006-08-01 Network Equipment Technologies, Inc. System and method to manage inconsistency problems between network management systems and network elements
US20030088659A1 (en) * 2001-11-08 2003-05-08 Susarla Hanumantha Rao System and method for distributed state management
US7130905B2 (en) * 2002-01-10 2006-10-31 Sun Microsystems, Inc. System and method for coordinating access to data for a distributed application
US7240088B2 (en) * 2002-01-25 2007-07-03 International Business Machines Corporation Node self-start in a decentralized cluster
US20030154202A1 (en) * 2002-02-12 2003-08-14 Darpan Dinker Distributed data system with process co-location and out -of -process communication
US7370329B2 (en) 2002-03-01 2008-05-06 Sun Microsystems, Inc. System and method for state saves in a distributed data system
US7320035B2 (en) * 2002-03-01 2008-01-15 Sun Microsystems, Inc. Object mutation determination for incremental state saves
US7421478B1 (en) 2002-03-07 2008-09-02 Cisco Technology, Inc. Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration
US6938042B2 (en) * 2002-04-03 2005-08-30 Laplink Software Inc. Peer-to-peer file sharing
US7200610B1 (en) 2002-04-22 2007-04-03 Cisco Technology, Inc. System and method for configuring fibre-channel devices
US7188194B1 (en) 2002-04-22 2007-03-06 Cisco Technology, Inc. Session-based target/LUN mapping for a storage area network and associated method
US7165258B1 (en) 2002-04-22 2007-01-16 Cisco Technology, Inc. SCSI-based storage area network having a SCSI router that routes traffic between SCSI and IP networks
US7587465B1 (en) * 2002-04-22 2009-09-08 Cisco Technology, Inc. Method and apparatus for configuring nodes as masters or slaves
US7415535B1 (en) 2002-04-22 2008-08-19 Cisco Technology, Inc. Virtual MAC address system and method
US7433952B1 (en) 2002-04-22 2008-10-07 Cisco Technology, Inc. System and method for interconnecting a storage area network
US7051102B2 (en) * 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US7024483B2 (en) * 2002-04-29 2006-04-04 Sun Microsystems, Inc. System and method for topology manager employing finite state automata for dynamic cluster formation
US7139925B2 (en) * 2002-04-29 2006-11-21 Sun Microsystems, Inc. System and method for dynamic cluster adjustment to node failures in a distributed data system
US7240098B1 (en) 2002-05-09 2007-07-03 Cisco Technology, Inc. System, method, and software for a virtual host bus adapter in a storage-area network
US8103748B2 (en) * 2002-05-20 2012-01-24 International Business Machines Corporation Rule-based method and system for managing heterogenous computer clusters
AU2003240116A1 (en) 2002-06-20 2004-01-06 British Telecommunications Public Limited Company Distributed computer
WO2004034184A2 (en) * 2002-08-23 2004-04-22 Exit-Cube, Inc. Encrypting operating system
US7239605B2 (en) * 2002-09-23 2007-07-03 Sun Microsystems, Inc. Item and method for performing a cluster topology self-healing process in a distributed data system cluster
US7206836B2 (en) * 2002-09-23 2007-04-17 Sun Microsystems, Inc. System and method for reforming a distributed data system cluster after temporary node failures or restarts
US8005979B2 (en) * 2002-10-28 2011-08-23 Oracle America, Inc. System and method for uniquely identifying processes and entities in clusters
JP4213460B2 (ja) * 2002-12-16 2009-01-21 三菱電機株式会社 通信装置のグループ化装置、通信装置のグループ化方法及び通信装置のグループ化プログラム
GB0230331D0 (en) 2002-12-31 2003-02-05 British Telecomm Method and apparatus for operating a computer network
US7543027B1 (en) * 2003-01-24 2009-06-02 Unisys Corporation Operator messaging within an environment for operating multiple computing systems
US7831736B1 (en) 2003-02-27 2010-11-09 Cisco Technology, Inc. System and method for supporting VLANs in an iSCSI
US7295572B1 (en) 2003-03-26 2007-11-13 Cisco Technology, Inc. Storage router and method for routing IP datagrams between data path processors using a fibre channel switch
US7904599B1 (en) 2003-03-28 2011-03-08 Cisco Technology, Inc. Synchronization and auditing of zone configuration data in storage-area networks
US7433300B1 (en) 2003-03-28 2008-10-07 Cisco Technology, Inc. Synchronization of configuration data in storage-area networks
US7526527B1 (en) 2003-03-31 2009-04-28 Cisco Technology, Inc. Storage area network interconnect server
US8001142B2 (en) 2003-04-02 2011-08-16 Oracle America, Inc. Distributed data system with incremental data updates
US7178065B2 (en) * 2003-04-02 2007-02-13 Sun Microsystems, Inc. System and method for measuring performance with distributed agents
US7281050B2 (en) * 2003-04-08 2007-10-09 Sun Microsystems, Inc. Distributed token manager with transactional properties
JP4402370B2 (ja) * 2003-05-14 2010-01-20 キヤノン株式会社 サービス提供装置および情報処理方法
US7451208B1 (en) 2003-06-28 2008-11-11 Cisco Technology, Inc. Systems and methods for network address failover
US7664847B2 (en) 2003-08-14 2010-02-16 Oracle International Corporation Managing workload by service
US20060064400A1 (en) 2004-09-21 2006-03-23 Oracle International Corporation, A California Corporation Methods, systems and software for identifying and managing database work
US7953860B2 (en) 2003-08-14 2011-05-31 Oracle International Corporation Fast reorganization of connections in response to an event in a clustered computing system
US8365193B2 (en) 2003-08-14 2013-01-29 Oracle International Corporation Recoverable asynchronous message driven processing in a multi-node system
US7747717B2 (en) 2003-08-14 2010-06-29 Oracle International Corporation Fast application notification in a clustered computing system
US7773714B2 (en) 2003-12-29 2010-08-10 Motorola, Inc. Method and system for employing adaptive event codes
US8275865B2 (en) * 2004-02-05 2012-09-25 International Business Machines Corporation Methods, systems and computer program products for selecting among alert conditions for resource management systems
JP4485428B2 (ja) * 2004-08-02 2010-06-23 株式会社ソニー・コンピュータエンタテインメント ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
EP1785865A4 (de) * 2004-08-02 2008-12-17 Sony Computer Entertainment Inc Netzwerksystem, verwaltungscomputer, cluster-verwaltungsverfahren und computerprogramm
US7779418B2 (en) 2004-12-30 2010-08-17 Oracle International Corporation Publisher flow control and bounded guaranteed delivery for message queues
US7818386B2 (en) 2004-12-30 2010-10-19 Oracle International Corporation Repeatable message streams for message queues in distributed systems
US8219823B2 (en) 2005-03-04 2012-07-10 Carter Ernst B System for and method of managing access to a system using combinations of user information
US7394767B2 (en) * 2005-03-31 2008-07-01 Motorola, Inc. Distributed redundancy capacity licensing in a telecommunication network element
US7817647B2 (en) * 2005-04-22 2010-10-19 Microsoft Corporation Flower-petal resolutions for PNRP
US20070011136A1 (en) * 2005-07-05 2007-01-11 International Business Machines Corporation Employing an identifier for an account of one domain in another domain to facilitate access of data on shared storage media
US7526409B2 (en) 2005-10-07 2009-04-28 Oracle International Corporation Automatic performance statistical comparison between two periods
US8196150B2 (en) 2005-10-07 2012-06-05 Oracle International Corporation Event locality using queue services
US8458725B2 (en) * 2006-04-10 2013-06-04 Oracle International Corporation Computer implemented method for removing an event registration within an event notification infrastructure
US9390118B2 (en) * 2006-04-19 2016-07-12 Oracle International Corporation Computer implemented method for transforming an event notification within a database notification infrastructure
US8370416B2 (en) * 2006-04-26 2013-02-05 Hewlett-Packard Development Company, L.P. Compatibility enforcement in clustered computing systems
US7761413B2 (en) * 2006-05-10 2010-07-20 Oracle International Corporation Method of ensuring availability of event notification registrations of a database management system
US8464275B2 (en) * 2006-05-10 2013-06-11 Oracle International Corporation Method of using a plurality of subscriber types in managing a message queue of a database management system
US7895600B2 (en) 2006-05-10 2011-02-22 Oracle International Corporation Method of optimizing propagation of non-persistent messages from a source database management system to a destination database management system
US8918490B1 (en) * 2007-07-12 2014-12-23 Oracle America Inc. Locality and time based dependency relationships in clusters
EP2210227A2 (de) * 2007-10-25 2010-07-28 Markport Limited Modifikation einer dienstablieferungsinfrastruktur in kommunikationsnetzen
US20090158299A1 (en) * 2007-10-31 2009-06-18 Carter Ernst B System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed
US8996835B2 (en) * 2008-09-15 2015-03-31 International Business Machines Corporation Apparatus and method for provisioning storage to a shared file system in a storage area network
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
US9165086B2 (en) 2010-01-20 2015-10-20 Oracle International Corporation Hybrid binary XML storage model for efficient XML processing
US8788465B2 (en) 2010-12-01 2014-07-22 International Business Machines Corporation Notification of configuration updates in a cluster system
US9069571B2 (en) 2010-12-01 2015-06-30 International Business Machines Corporation Propagation of unique device names in a cluster system
US8943082B2 (en) 2010-12-01 2015-01-27 International Business Machines Corporation Self-assignment of node identifier in a cluster system
US8904174B2 (en) 2011-03-22 2014-12-02 International Business Machines Corporation System, method and computer program product for product license management
US20120324456A1 (en) * 2011-06-16 2012-12-20 Microsoft Corporation Managing nodes in a high-performance computing system using a node registrar
US9183148B2 (en) 2013-12-12 2015-11-10 International Business Machines Corporation Efficient distributed cache consistency
US9852221B1 (en) * 2015-03-26 2017-12-26 Amazon Technologies, Inc. Distributed state manager jury selection
US10122647B2 (en) 2016-06-20 2018-11-06 Microsoft Technology Licensing, Llc Low-redistribution load balancing
US10540217B2 (en) 2016-09-16 2020-01-21 Oracle International Corporation Message cache sizing
US10474653B2 (en) 2016-09-30 2019-11-12 Oracle International Corporation Flexible in-memory column store placement
US10394677B2 (en) 2016-10-28 2019-08-27 International Business Machines Corporation Method to efficiently and reliably process ordered user account events in a cluster

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849877A (en) * 1986-12-22 1989-07-18 American Telephone And Telegraph Company Virtual execution of programs on a multiprocessor system
US5202971A (en) * 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US4816989A (en) * 1987-04-15 1989-03-28 Allied-Signal Inc. Synchronizer for a fault tolerant multiple node processing system
JPH07111713B2 (ja) * 1988-02-24 1995-11-29 富士通株式会社 構成変更制御方式
EP0472829A3 (en) * 1990-08-31 1993-01-07 International Business Machines Corporation Multicomputer complex and distributed shared data memory
US5287453A (en) * 1990-09-18 1994-02-15 Bull Hn Information Systems, Inc. Fast remote file access facility for distributing file access requests in a closely coupled computer system
JPH04367963A (ja) * 1991-06-15 1992-12-21 Hitachi Ltd 共有記憶通信方法
JP3309997B2 (ja) * 1991-09-05 2002-07-29 株式会社日立製作所 複合処理装置

Also Published As

Publication number Publication date
JP3953549B2 (ja) 2007-08-08
EP0750256B1 (de) 2003-08-27
EP0750256A2 (de) 1996-12-27
US5666486A (en) 1997-09-09
JPH09171502A (ja) 1997-06-30
AU713372B2 (en) 1999-12-02
AU5601396A (en) 1997-01-09
DE69629630D1 (de) 2003-10-02
CA2179473A1 (en) 1996-12-24
EP0750256A3 (de) 1998-09-30

Similar Documents

Publication Publication Date Title
DE69629630T2 (de) Struktur zur Gruppenzugehörigkeitsverwaltung in einem Mehrfachrechnersystem
DE69811148T2 (de) Mitgliedschaft in einem unzuverlässigen verteilten Rechnersystem
DE69715967T2 (de) Quorummechanismus in einem verteilten Zweiknotenrechnersystem
DE69429686T2 (de) Transaktionsverwaltung in objektorientiertem System
DE69805826T2 (de) Verfahren zum sequentiellen und konsistenten start und/oder nachladen von multiprozessorknoten in einer vielfachknotengruppe
DE69131500T2 (de) Regelgesteuertes Transaktionsverwaltungssystem und -verfahren
DE69623229T2 (de) Bindungsverfahren in einer Transaktion in einer verteilten Datenbank
DE102005053727B4 (de) Verteilte Verriegelung
DE69128271T2 (de) Verfahren und System zur Erhöhung der Betriebsverfügbarkeit eines Systems von Rechnerprogrammen, wirkend in einem verteilten Rechnerssystem
DE10123067A1 (de) Synchrone Vervielfältigung von Transaktionen in einem verteilten System
DE60207251T2 (de) Verfahren zur sicherstellung des betriebs eines gruppierten nachrichtenvergebenden servers während knotenausfällen und netzwerkzuteilungen
DE4303062C2 (de) Verfahren zur Behebung von Systemausfällen in einem verteilten Computersystem und Vorrichtung zur Durchführung des Verfahrens
DE69729252T2 (de) Fernverwaltung von Rechnervorrichtungen
EP0635784B1 (de) Multiprozessorsystem
DE69718715T2 (de) Verfahren zur geschichteter Transaktionsverarbeitung
DE60016371T2 (de) Vorrichtung und verfahren um die übereinstimmung der daten in einer gruppe von einspiegelungseinrichtungen gespeichert zu behalten
DE69904190T2 (de) Verfahren und programm zum verarbeiten der verwaltungsanfragen einer verteilten netzwerkanwendung in einer gruppierten rechnerumgebung
DE69923621T2 (de) Verfahren und Vorrichtung zu korrekten und vollständigen Übertragungen in einem fehlertoleranten verteilten Datenbanksystem
DE69730449T2 (de) Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten
DE69332185T2 (de) Bildung und Aufrechterhaltung von Zugriffsgruppen an der Lan/Wan Schnittstelle
DE69726379T2 (de) Ferninstallation von Software auf einem Rechnergerät
EP0346801B1 (de) Verfahren und Anordnung zur Ausführung eines Programms in einem heterogenen Mehrrechnersystem
DE69428972T2 (de) System und Verfahren für die Eigentumerverwaltung eines freigegebenen Synchronisationsmechanismus
DE3752196T2 (de) Vorrichtung für Datenverarbeitungsverteilung über eine Mehrzahl von Steuerungsorten
DE69804099T2 (de) Initialisierung von unterteilten datenobjekten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee