-
GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft allgemein eine Ferndatenbank, die
von einer Gruppe von Datenbankverwaltungssystem-Servern verwaltet
wird, und insbesondere ein Verfahren und ein System, die es einem
Client-System ermöglichen,
Zugriff auf die Ferndatenbank zu erlangen, um die Arbeitslast gleichmäßig zu verteilen
und eine Neusynchronisierung durchzuführen.
-
DER ERFINDUNG ZUGRUNDE LIEGENDER
ALLGEMEINER STAND DER TECHNIK
-
In
der Informationstechnologie wünschen sich
Kunden heute Systeme, die sich durch eine bessere Leistungsfähigkeit
und durch Kostenvorteile gegenüber
ihren aktuellen Systemen auszeichnen, bei denen sie jedoch ihre
vorhandenen Anwendungen weiterhin nutzen können. Eine hohe Verfügbarkeit
ist angesichts der heutigen zunehmend mobilen Arbeitswelt und der
globalen Verbindungsmöglichkeiten über das
Internet ebenfalls wichtig. Moderne Verarbeitungssysteme für Anwendungen
in der Informationstechnologie müssen
skalierbar sein und eine stufenweise Erweiterung sowie eine ständige Verfügbarkeit
der Anwendung ermöglichen.
Um diese Erfordernisse hinsichtlich der Konzeption zu erfüllen, wurde
die Clustering-Technologie, zum Beispiel das S/390-Parallel-Sysplex-Modell
der IBM Corporation, entwickelt.
-
Ein
Cluster (Rechnerverbund) verbindet einzelne Datenverarbeitungssysteme
so, dass ein einziges leistungsfähiges
System entsteht, das zahlreiche Benutzer gleichzeitig unterstützen kann.
Ein Cluster bietet eine hohe Verfügbarkeit und hervorragende Skalierbarkeit.
Wenn ein System/Knoten in dem Cluster ausfällt, können die anderen Systeme in
dem Cluster weiterhin betrieben werden.
-
Die
Cluster-Technologie bietet viele Vorteile in einem parallelen Datenbankverwaltungssystem. 1 zeigt
zum Beispiel eine aus drei Rechnern 101 bis 103 bestehende
Sysplex-Umgebung 100, die Plattenspeicherplatz wie zum
Beispiel eine Gruppe 110 aus Speichereinheiten, beispielsweise
die Plattenlaufwerke 111 bis 113, auf denen sich
eine Datenbank befindet, gemeinsam benutzen. Jeder Rechner 101 bis 103 enthält eine
Datenbankverwaltungssystem-(DBMS-)Komponente 121 bis 123 und
einen zugehörigen
Protokolldatensatz 151 bis 153, um eine Festschreibungs-
oder Zurücksetzungsoperation
einer Arbeitseinheit zu verwalten. Der Zugriff auf jeden Protokolldatensatz 151 bis 153 kann
nur von der DBMS-Komponente
erfolgen, der er gehört.
Jede DBMS-Komponente 121 bis 123 weiß, wie sie
Daten mit anderen DBMS-Komponenten austauschen muss, und sie weiß, wie der
ihnen gemeinsame Datenbestand 110 zu verwalten ist. Eine
Kopplungseinrichtung (coupling facility) 120 verbindet
die Rechner 101 bis 103 miteinander und mit der
Gruppe 110 der Speichereinheiten 111 bis 113.
Die Kopplungseinrichtung 120 enthält auch ein Arbeitslast-Verwaltungsprogramm
(Work Load Manager (WLM)) 124, das die Arbeitslast einer
jeden DBMS-Komponente 121 bis 123 verwaltet, überwacht
und gleichmäßig verteilt.
-
Auf
den Sysplex 100 kann eine Vielzahl von Client-Systemen 140 über eine
Netzwerkverbindung 145, üblicherweise über ein
TCP/IP-Netzwerk, zugreifen. Aus Gründen der Übersichtlichkeit ist in 2 nur
ein Client 140 gezeigt. Der Client 140 könnte ein
weiterer paralleler Sysplex oder ein Arbeitsplatzrechner oder ein
anderer Personal Computer sein. Der Client 140 sieht den
Sysplex 100 als ein ganzes Abbild, d.h., der Client 140 betrachtet
den Sysplex als eine einzige Ferndatenbank und nicht als eine Vielzahl
von einzelnen DBMS-Komponenten 121 bis 123.
Wenn der Client 140 eine Anforderung oder einen Befehl
an die Datenbank übergeben möchte, braucht
der Client 140 nur eine Übertragung mit einer DBMS-Komponente,
zum Beispiel der Komponente 121, des Sysplex 100 einzuleiten.
Um Zugriff auf die eine Komponente 121 zu erlangen, sendet der
Client 140 eine Nachricht an einen Domänennamenserver (DNS) 130,
mit der er um eine Netzwerkadresse, beispielsweise eine IP-Adresse,
eines Rechners 101 bis 103 in dem Sysplex 100 bittet,
der eine aktive DBMS-Komponente 121 bis 123 enthält.
-
Der
DNS 130 ist eng mit dem Arbeitslast-Verwaltungsprogramm
(WLM) 124 verbunden, d.h., er ist darin eingebunden, und
er führt
ein Verzeichnis von all den verschiedenen Rechnergruppen, d.h. Sysplexes,
in dem Netzwerk und ihrer jeweiligen IP-Adressen. Für jede Rechnergruppe
wird ein Domänenname
wie zum Beispiel "system1.vnet.ibm.com" vergeben, und jeder
Rechner in der Gruppe hat eine eigene IP-Adresse. Der Client 140 meldet
beim DNS 130, dass seine Datenbanken Teil des Systems mit
der Bezeichnung "system1.vnet.ibm.com." sind. Da der DNS 130 die IP-Adressen
verwaltet, muss der Client 140 die IP-Adressen der einzelnen
Rechner nicht fest codieren. Wenn der Client 140 dem DNS 130 seine
Anforderung für
die Anbindung an eine Datenbank übergibt,
gibt der Client 140 folglich den Domänennamen des Datenbank-Speicherplatzes
an, und der DNS 130 löst
den Domänennamen
in eine bestimmte Gruppe von IP-Adressen auf.
-
In
einer weiteren Reaktion auf die Anforderung des Client 140 fragt
der DNS 130 bei dem WLM 124 nach, um festzustellen,
welche DBMS-Komponenten 121 bis 123 aktiv sind
und auf welchen Rechnern 101 bis 103 sie sich
befinden. Der DNS 130 sendet dann eine Nachricht an den
Client 140 zurück,
die die IP-Adresse
eines Rechners 101, 102, 103 enthält, der
eine aktive DBMS-Komponente für
diese benannte Gruppe enthält.
In einer Sysplex-Umgebung, die eine gleichmäßige Verteilung der Arbeitslast
unterstützt,
ist die vom DNS 130 an den Client 140 zurückgeschickte
IP-Adresse die Adresse desjenigen Rechners, dessen DBMS-Komponente
die geringste Auslastung aufweist. Um die DBMS-Komponente mit der
geringsten Auslastung zu ermitteln, tauscht der DNS 130 mit
dem WLM 124, das auch die Arbeitslast einer jeden DBMS-Komponente 121 bis 123 überwacht,
Daten aus. Der Client 140 verwendet dann diese IP-Adresse
zur Herstellung einer ersten Verbindung mit dem entsprechenden Rechner,
der die DBMS-Komponente in dem Sysplex enthält.
-
Sobald
die erste Verbindung zwischen dem Client 140 und der einen
DBMS-Komponente, zum Beispiel der Komponente 121, hergestellt
wurde, schickt die DBMS-Komponente 121 dem Client 140 eine
Liste (nicht gezeigt) der aktiven DBMS-Komponenten und ihrer jeweiligen
Arbeitslasten, d.h. eine gewichtete Liste, zurück. Die Liste ermöglicht dem Client,
die Arbeit gleichmäßig auf
die aktiven Komponenten des Datenbank-Sysplex zu verteilen.
-
Diese
Konfiguration sieht eine gemeinsame Nutzung der Daten und eine gleichmäßige Verteilung der
Arbeitslast für
eine Vielzahl von Clients vor. Die enge Verbindung des DNS 130 mit
dem WLM 124 stellt jedoch mehrere Probleme dar. Erstens
sind auf vielen Sysplex-Systemen keine Domänennamenserver installiert,
und Kunden binden einen DNS nur ungern in ihre vorhandenen TCP/IP-Netzwerke
ein. Ohne den DNS 130 kann der Client 140 aber
keinen Kontakt mit der Datenbank herstellen, und folglich funktioniert
die verteilte Sysplex-Strategie nicht. Zweitens ist der Austausch
von Daten zwischen dem WLM und dem DNS mit einer Latenzzeit verbunden, selbst
wenn ein vom WLM aktivierter DNS installiert wird. Wenn der Client 140 ein
Verbindungsrechner (Gateway) ist, der mehrere Anforderungen an den DNS 130 sendet,
kann die aufgrund der Latenzzeit auftretende Verzögerung folglich
die Leistungsfähigkeit
beeinträchtigen.
Drittens ist eine Einbindung des WLM und des DNS schwierig und komplex,
da der DNS üblicherweise
eine auf UNIX beruhende Anwendung und das WLM eine Datenbankanwendung ist.
-
Es
besteht folglich ein Bedarf an einem Verfahren und einem System,
die die gleichmäßige Verteilung
der Arbeitslast in einem Sysplex-System unterstützen und die Leistungsfähigkeit
eines solchen Systems verbessern. Das Verfahren und das System sollten
einfach zu realisieren sein und keine umfangreichen Änderungen
an vorhandenen Systemen erforderlich machen. Die vorliegende Erfindung
geht diesen Bedarf an.
-
Die
US-Patentschrift
US 5 774 660 (Liu
Zaide u.a.) mit dem Titel "World-wide-web
server with delayed resource-binding for resource-based load balancing
an a distributed resource multinode network" beschreibt eine Website, um Ressourcen
an einen Browser auf einem Client zu senden, der mit einem Rechnernetzwerk
verbunden ist. Ein Server mit mehreren Knoten sendet Seiten des
World Wide Web an Clients mit einem netzwerkbasierten Browser. Eine
Lastverteilungseinheit (load balancer) empfängt alle Anforderungen von
Clients, da sie eine virtuelle Adresse für die gesamte Site verwenden.
Die Lastverteilungseinheit stellt eine Verbindung mit dem Client
her und wartet auf die URL von dem Client. Die URL gibt die angeforderte
Ressource an. Die Lastverteilungseinheit wartet mit der Durchführung der Lastverteilung,
bis der Speicherort der angeforderten Ressource bekannt ist. Die
Verbindung und die Anforderung der URL werden von der Lastverteilungseinheit
an einen zweiten Knoten weitergereicht, der über die angeforderte Ressource
verfügt.
Die Lastverteilungseinheit wiederholt die Paketfolge der ersten
Verbindung für
den zweiten Knoten, ändert
aber für
diesen Knoten die Adresse zu der Folge. Die Netzwerk-Software wird
so geändert,
dass sie die physische Netzwerkadresse des zweiten Knotens erzeugt, ändert dann
aber die Zieladresse wieder in die virtuelle Adresse zurück. Der
zweite Knoten sendet die angeforderte Ressource mit der virtuellen
Adresse als ihre Quelle direkt an den Client. Da alle Anforderungen
zuerst von der Lastverteilungseinheit empfangen werden, welche den
physischen Speicherort der angeforderten Ressource feststellt, können Knoten
unterschiedliche Ressourcen enthalten. Der gesamte Inhalt der Website
wird nicht auf allen Knoten gespiegelt. Engpässe im Netzwerk werden vermieden,
da die Knoten die großen
Dateien direkt an den Client zurücksenden
und dabei die Lastverteilungseinheit umgehen. Client-Browser können die
virtuelle Adresse im Cachespeicher zwischenspeichern, obgleich verschiedene
Koten mit verschiedenen physischen Adressen Anforderungen bedienen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Verfahren und ein System zur
Anbindung eines Client an eine Datenbank, die von einem Netzwerk
aus Rechnersystemen verwaltet wird, welche über eine Vielzahl von Datenbankverwaltungssystem-(DBMS-)Komponenten verfügen. Das
Verfahren und das System beinhalten die Bereitstellung einer gemeinsam
benutzten Netzwerkadresse für
die Vielzahl der DBMS-Komponenten, die von dem Client für seine
Anbindung an eine aktive DBMS-Komponente der Vielzahl der DBMS-Komponenten
verwendet wird.
-
Durch
die Aspekte der vorliegenden Erfindung ermöglicht die gemeinsam benutzte
Netzwerkadresse dem Client die Anbindung an eine beliebige Komponente
der Vielzahl der DBMS-Komponenten über einen Netzwerk-Router,
solange eine DBMS-Komponente aktiv ist. Sobald der Client mit einer
Komponente verbunden ist, sendet die Komponente dem Client eine
Liste aller aktiven Komponenten und ihrer jeweiligen Arbeitslasten.
Die Liste enthält
auch komponentenspezifische Netzwerkadressen, die einer jeden Komponente
entsprechen, so dass der Client die Arbeit gleichmäßig auf
die aktiven Komponenten verteilen kann.
-
Durch
einen weiteren Aspekt der vorliegenden Erfindung ist die komponentenspezifische
Netzwerkadresse eine der entsprechenden DMBS-Komponente eigene Adresse,
und sie ist mit dieser Komponente verknüpft und nicht mit dem Rechner,
auf dem sie sich möglicherweise
befindet. Wenn ein Rechner, auf dem sich die DBMS-Komponente befindet,
abstürzt
oder wenn die DBMS-Komponente
abstürzt
und auf einem anderen Rechner neu gestartet wird, kann der Client
folglich einen Neusynchronisierungsprozess durchführen, zum
Beispiel einen Festschreibungs- oder Zurücksetzungsprozess, indem er mittels
der komponentenspezifischen Netzwerkadresse wieder eine Verbindung
zu der entsprechenden Komponente herstellt.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
eine in der Technik bekannte Sysplex-Umgebung.
-
2 zeigt
eine Sysplex-Umgebung gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
3 ist
ein Flussdiagramm, das den Prozess der gleichmäßigen Verteilung der Arbeitslast gemäß der vorliegenden
Erfindung zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die
vorliegende Erfindung betrifft allgemein eine Ferndatenbank, die
von einer Gruppe von Datenbankverwaltungssystem-Servern verwaltet
wird, und insbesondere ein Verfahren und ein System, die es einem
Client-System ermöglichen,
Zugriff auf die Ferndatenbank zu erlangen, um die Arbeitslast gleichmäßig zu verteilen
und um eine Neusynchronisierung durchzuführen. Die folgende Beschreibung wird
vorgelegt, um einem Fachmann die Herstellung und die Nutzung der
Erfindung zu ermöglichen,
und sie wird im Rahmen einer Patenanmeldung und deren Erfordernisse
bereitgestellt. Verschiedene mögliche Änderungen
an der bevorzugten Ausführungsform
und den allgemeinen Grundsätzen
und Merkmalen, die hier beschrieben werden, sind für den Fachmann
ohne weiteres erkennbar. Folglich soll die vorliegende Erfindung
nicht auf die dargestellte Ausführungsform
beschränkt
sein, sondern ihr soll der größtmögliche Schutzumfang
in Übereinstimmung mit
den hier beschriebenen Grundsätzen
und Merkmalen zugebilligt werden.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung werden jeder DBMS-Komponente in dem Sysplex
zwei Netzwerkadressen zugewiesen. Die erste Adresse ist eine gemeinsame
Netzwerkadresse, die von allen DBMS-Komponenten in dem Sysplex gemeinsam verwendet
wird. Der Client verwendet die gemeinsam benutzte Netzwerkadresse,
um auf den Sysplex über
einen standardmäßigen Router
zuzugreifen, der den Client mit jeder aktiven Komponente verbinden kann,
die sich an der gemeinsam benutzten Netzwerkadresse befindet. Die
zweite Netzwerkadresse, die jeder DBMS-Komponente zugewiesen wird,
ist komponentenspezifisch und der Komponente fest zugeordnet. Sobald
der Client über
die gemeinsam benutzte Netzwerkadresse mit einer Komponente in Kontakt
getreten ist, stellt diese Komponente dem Client eine gewichtete
Liste zur Verfügung,
die die komponentenspezifische Netzwerkadresse einer jeden aktiven
Komponente enthält.
Der Client kann die Arbeit dann gleichmäßig auf die anderen aktiven Komponenten
verteilen. Wenn die Verbindung zwischen dem Client und einer bestimmten
Komponente während
eines Festschreibungsprozesses unterbrochen wird, kann der Client überdies
problemlos wieder eine Verbindung mit der bestimmten Komponente
herstellen, indem er die komponentenspezifische Netzwerkadresse
dieser Komponente verwendet. Folglich werden eine gleichmäßiger Verteilung
der Arbeitslast und eine Neusynchronisierung erreicht, ohne dass
ein DNS in das Sysplex-System eingebunden werden muss.
-
2 zeigt
eine Sysplex-Umgebung 200 gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung. Wie gezeigt ist, enthält der Sysplex 200 eine
Vielzahl von vernetzten Rechnern 201 bis 203,
die mit einer Kopplungseinrichtung 220 verbunden sind,
welche wiederum mit einer Gruppe 210 von Speichereinheiten 211 bis 213 verbunden
ist, auf denen sich die Datenbank befindet. Zwar kann jeder der
Rechner 201 bis 203 eine DBMS-Komponente 221 bis 223 enthalten,
doch ist dies nicht unbedingt erforderlich. In einer bevorzugten
Ausführungsform der
vorliegenden Erfindung ist ein Client 240 mit einem Netzwerk-Router 250 verbunden,
der wiederum mit dem Sysplex-Netzwerk 200 verbunden ist. 2 zeigt
zwar eine Verbindung zwischen einem einzigen Router 250 und
einem einzigen Client 240, doch sollte klar sein, dass
eine Vielzahl von Routern und eine Vielzahl von Clients mit dem
Sysplex-Netzwerk 200 verbunden werden können.
-
Gemäß einer
bevorzugten Ausführungsform werden
jeder DBMS-Komponente 221 bis 223 zwei Netzwerkadressen
zugewiesen. Die erste Netzwerkadresse ist eine gemeinsam benutzte
Netzwerkadresse (YYY), die allen Komponenten 221 bis 223 des Sysplex 200 gemeinsam
ist. Die gemeinsam benutzte Netzwerkadresse YYY stellt den Ort dar,
an dem die gesamte Datenbank gemeinsam benutzt wird, und der Client 240 verwendet
sie, um auf die Datenbank als ein einziges Abbild zuzugreifen. Die
zweite Netzwerkadresse, die jeder Komponente 221 bis 223 zugewiesen
wird, ist eine komponentenspezifische Netzwerkadresse (XXA, XXB,
XXC). Keine zwei Komponenten des Sysplex haben dieselbe komponentenspezifische
Netzwerkadresse. Sowohl die gemeinsam benutzte Netzwerkadresse als
auch die komponentenspezifische Netzwerkadresse sind mit der entsprechenden
DBMS-Komponente 221 bis 223 und nicht mit dem
Rechner 201 bis 203 verknüpft, auf dem sich die Komponente
möglicherweise
befindet. Dies ist vor allem bei einer Neusynchronisierung von Bedeutung.
-
Die
gemeinsam benutzte Netzwerkadresse (YYY) wird für einen Zugriff auf jede beliebige DBMS-Komponente 221 bis 223 des
Sysplex 200 konfiguriert. Solange eine DBMS-Komponente 221 bis 223 aktiv
ist, verbindet der Netzwerk-Router 250 daher den Client 240 mit
einer der aktiven Komponenten 221 bis 223. In
einer bevorzugten Ausführungsform
tauscht der Netzwerk-Router 250 mit jeder DBMS-Komponente 221 bis 223 Daten
direkt aus, und er kennt den Status einer jeden Komponente, d.h.,
er weiß,
ob sie aktiv oder inaktiv ist. Der Router 250 kann folglich
direkt Daten an eine der aktiven Komponenten 221 bis 223 weiterleiten.
In einer anderen Ausführungsform
wird der Netzwerk-Router 250 mit einem WLM 224 verbunden,
dem die gleichen Statusinformationen entnommen werden können.
-
Ein
DNS 230 wird mit dem Client 240 verbunden, aber
nicht in das Sysplex-Netzwerk 200 eingebunden. Wie zuvor
führt der
DNS 230 ein Verzeichnis von Domänennamen von Datenbankspeicherplätzen. In
der bevorzugten Ausführungsform
der vorliegenden Erfindung braucht der DNS 230 nur die
gemeinsam benutzte Netzwerkadresse eines jeden Speicherplatzes der
Ferndatenbank zu speichern. Wenn der Client 240 mittels
des Domänennamens des
Datenbankspeicherplatzes auf eine Ferndatenbank zugreifen möchte, löst der DNS 230 folglich
den Domänennamen
in eine Netzwerkadresse auf, d.h. in die gemeinsam benutzte Netzwerkadresse,
und schickt diese Adresse an den Client 240 zurück.
-
Sobald
der Client 240 den Kontakt mit einer der aktiven DBMS-Komponenten, zum
Beispiel der Komponente 221, hergestellt hat, übernimmt
ein Datenbankprotokoll und schickt eine gewichtete Liste 260 der
aktiven DBMS-Komponenten 221 bis 223 zurück. In einer
bevorzugten Ausführungsform
enthält die
gewichtete Liste 260 die jeweiligen Arbeitslasten 261 einer
jeden Komponente und die komponentenspezifische Netzwerkadresse 262 einer
jeden Komponente. Der Client 240 kann dann die gewichtete Liste 260 zur
gleichmäßigen Verteilung
neuer Verbindungen auf die aktiven Komponenten 221 bis 223 des
Datenbank-Sysplex 200 verwenden und dadurch die Arbeitslast
gleichmäßig verteilen.
-
3 zeigt
einen Prozess zur gleichmäßigen Verteilung
der Arbeitslast gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung. Der Prozess 300 beginnt, indem
jeder DBMS-Komponente 221 bis 223 durch den Schritt 310 eine
gemeinsam benutzte Netzwerkadresse (YYY) zugewiesen wird. Die gemeinsam
benutzte Netzwerkadresse (YYY) ist bei allen Komponenten 221 bis 223 des Sysplex 200 gleich. Über den
Schritt 320 bittet der Client 240 den DNS 230 um
Auflösung
des Domänennamens
eines Datenbankspeicherplatzes, der zu einer Datenbank gehört, die
sich in dem Sysplex 200 befindet. Der DNS 230 löst den Domänennamen
in die gemeinsam benutzte Netzwerkadresse (YYY) auf und schickt
sie über
den Schritt 330 an den Client 240 zurück. Alternativ
dazu kann der Client 240 sein eigenes Verzeichnis (nicht
gezeigt) verwalten, das die gemeinsam benutzten Netzwerkadressen
seiner Datenbanken enthält.
-
Im
Schritt 340 bittet der Client 240 den Netzwerk-Router 250,
die gemeinsam benutzte Netzwerkadresse (YYY) der Datenbank weiterzuleiten.
Der Router 250 stellt fest, welche DBMS-Komponenten 221 bis 223 gegebenenfalls
aktiv sind, und verbindet den Client 240 im Schritt 350 mit
einer beliebigen der aktiven DBMS-Komponenten 221 bis 223.
Sobald der Client 240 mit einer DBMS-Komponente verbunden
ist, schickt diese DBMS-Komponente im Schritt 360 die gewichtete
Liste 260 an den Client 240 zurück, der
die Arbeit dann unter Verwendung der komponentenspezifischen Netzwerkadressen 262 im Schritt 370 gleichmäßig auf
die aktiven Komponenten verteilen kann.
-
Wie
vorstehend erklärt
wurde, kann der Client 240 einer bestimmten DBMS-Komponente
Arbeit zuweisen, wobei er wahrscheinlich die Komponente mit der
geringsten Auslastung wählt,
zum Beispiel die Komponente 221, indem er die Anforderung
oder den Befehl an die komponentenspezifische Netzwerkadresse (XXA)
der Komponente weiterleitet. Zudem bietet die komponentenspezifische
Netzwerkadresse einen weiteren Vorteil, wenn der Datenaustausch zwischen
dem Client 240 und einer Komponente 221 während einer
zweiphasigen Festschreibungsprozedur unterbrochen und die Komponente 221 auf
einem anderen Rechner, zum Beispiel dem Rechner 202 oder
dem Rechner 203, neu gestartet wird.
-
Wie
vorstehend erwähnt
wurde, "besitzt" jede DBMS-Komponente 221 bis 223 einen
Protokolldatensatz 251 bis 253, der jede Arbeitseinheit
erfasst, die von der DBMS-Komponente verarbeitet wird, welcher der
Protokolldatensatz gehört.
Nur die DBMS-Komponente kann auf ihren Protokolldatensatz zugreifen,
d.h., die Daten in dem Protokolldatensatz werden von den Komponenten
nicht gemeinsam benutzt. Wenn während
des zweiphasigen Festschreibungsprozesses ein Datenübertragungsfehler auftritt,
muss sich der Client 240 mit der Komponente des Sysplex,
zum Beispiel der Komponente 221, "neu synchronisieren", der die Protokolldatensätze 251 gehören, die
der Arbeitseinheit des Client 240 zugeordnet sind. Der
Neusynchronisierungsprozess ermöglicht
dem Client 240, den Ausgang (Erfolg oder Scheitern) der
Arbeitseinheit an der DBMS-Komponente 221 festzustellen.
Zur Durchführung
einer Neusynchronisierung muss der Client 240 jedoch den Datenaustausch
mit der Komponente 221 wieder aufnehmen, die die ursprüngliche
Arbeitseinheit ausgeführt
hat.
-
Gemäß dem Verfahren
und dem System der vorliegenden Erfindung wird die komponentenspezifische
Netzwerkadresse (XXA) mit ihrer entsprechenden Komponente und nicht
mit dem Rechner verknüpft,
auf dem diese Komponente 221 möglicherweise läuft. Der
Client 240 braucht nur die komponentenspezifische Netzwerkadresse
(XXA) zu verwenden, um wieder eine Verbindung mit der Komponente 221 herzustellen,
ungeachtet dessen, wo sie neu gestartet worden ist. Bislang war
es schwierig, die Netzwerkadresse einer bestimmten Komponente ausfindig
zu machen, die auf einem anderen Rechner neu gestartet worden ist,
beispielsweise aufgrund des Ausfalls eines Rechners, nun aber ist
diese Aufgabe gemäß dem Verfahren
und dem System der vorliegenden Erfindung somit einfach geworden.
-
Durch
Aspekte des Verfahrens und des Systems der vorliegenden Erfindung
kann die gleichmäßige Verteilung
der Arbeitslast und eine Neusynchronisierung von Festschreibungen
in einem Sysplex-Netzwerk durchgeführt werden, ohne dass ein DNS
eng mit dem Sysplex verbunden sein muss. Probleme in Verbindung
mit der Einbindung einer auf UNIX beruhenden Anwendung in eine Datenbankanwendung
werden vermieden. Indem der DNS durch einen Netzwerk-Router ersetzt
wird, entfällt
die mit dem DNS verbundene Latenzzeit, und der Zeitraum, der notwendig
ist, um eine Erstverbindung zwischen dem Client und dem Sysplex
herzustellen, wird verringert, wodurch die Leistungsfähigkeit
verbessert wird. Überdies
sind keine Änderungen
an dem Client notwendig, um das Verfahren und das System der vorliegenden
Erfindung zu realisieren.
-
Obgleich
die vorliegende Erfindung gemäß den gezeigten
Ausführungsformen
beschrieben wurde, erkennt der Fachmann ohne weiteres, dass an den
Ausführungsformen
Veränderungen
vorgenommen werden könnten
und dass diese Veränderungen unter
den Umfang der vorliegenden Erfindung fallen würden. Folglich kann der Fachmann
viele Änderungen
vornehmen, ohne vom Umfang der beigefügten Ansprüche abzuweichen.
-
Zwar
wurde die vorliegende Erfindung mit Bezug auf eine Sysplex-Umgebung
beschrieben, doch könnte
die Erfindung beispielsweise auch auf andere Systeme mit mehreren
Servern, wie den Servern in einem einzelnen System, zum Beispiel
einem Server mit mehreren Prozessoren und einem gemeinsam benutzten
Speicher, oder auf ein Netzwerk aus Systemen angewendet werden.
Obgleich diese Erfindung mit Bezug auf einen DBMS-Server wie zum Beispiel
ein relationales Datenbankverwaltungssystem-Produkt, so zum Beispiel
das Produkt IBM DB2, beschrieben wurde, kann die Erfindung auf jede beliebige
Art eines Servers angewendet werden, zum Beispiel auf Dateiserver,
Druckserver, Dateiübertragungsprogramme
usw.