-
Technisches
Gebiet
-
Die
vorliegende Erfindung betrifft allgemein Computer- und Telekommunikationsnetzwerke
und insbesondere die Dateisynchronisation für fehlertolerante Telekommunikationsnetzwerke.
-
Allgemeiner
Stand der Technik
-
Mit
dem Aufkommen immer komplizierterer Telekommunikationsdienste sind
Telekommunikationsnetzwerke zunehmend verteilt. Statt daß Telekommunikationsdienste
durch einen zentralisierten Computer mit mehreren Prozessoren durchgeführt werden,
werden diese Telekommunikationsdienste zum Beispiel zunehmend durch
ein verteiltes Netzwerk von Computern und Servern durchgeführt, in
dem jeder solcher Computer oder Server im allgemeinen einen einzigen
oder zentralen Prozessor, wie zum Beispiel einen Prozessor der Klasse
Intel Pentium, enthält.
Die Vorteile eines solchen verteilten Netzwerks von Computern und
Servern, die in der Regel über
einen schnellen Bus, ein Ethernet- oder faseroptisches Kabel miteinander
verbunden sind, sind zum Beispiel Kosteneffektivität und die
Fähigkeit
für inkrementelles
Netzwerkwachstum.
-
Eine
besondere Schwierigkeit bei solchen verteilten vernetzten Computern
betrifft die Fehlertoleranz, sodaß, wenn ein Computer funktionsunfähig wird,
ein anderer Computer in dem Netzwerk sofort alle zuvor durch den
betriebsunfähig
gewordenen Computer durchgeführten
Funktionen mit minimaler Unterbrechung des Dienstes übernehmen
kann. Wenn zum Beispiel der Telekommunikationsdienste bereitstellende
primäre Computer
(der als der aktive Anwendungsprozessor ("der aktive AP") (auch als ein ausgesonderter Anwendungsprozessor
bekannt) bezeichnet wird) funktionsunfähig werden (abstürzen) sollte,
kann, um eine Dienstunterbrechung zu vermeiden, ein fehlertolerantes
System einen sekundären
Computer (der als Reserveanwendungsprozessor ("Reserve-AP") bezeichnet wird) vorsehen, um sofort
die Durchführung
aller zuvor durch den aktiven AP bereitgestellten Dienste aufzunehmen.
Damit der Reserve-AP sofort mit minimaler Unterbrechung des Dienstes
online wird, so als ob kein Fehler oder anderes wesentliches Ereignis
stattgefunden hätte, sollte
der Reserve-AP vorzugsweise Zugang zu identischen Informationen
wie der aktive AP haben und synchron mit diesem sein.
-
Im
Stand der Technik umfaßten
Versuche, eine solche Synchronizität aufrechtzuerhalten, in der
Regel das Kopieren von Dateien durch den Reserve-AP aus dem aktiven
AP. Ein solcher Kopierprozeß ist
in der Regel sehr zeitaufwendig und nimmt Minuten zum Kopieren von
Dateien mit Gigabitgröße in Anspruch,
sodaß es notwendig
ist, daß ein
Dienstverlust oder eine Dienstunterbrechung dazwischentritt. Folglich
bleibt eine Notwendigkeit, jede solche Verzögerung oder Unterbrechung drastisch
zu reduzieren, um Dienstunterbrechungen, die länger als einige wenige Sekunden
dauern, zu vermeiden.
-
Andere
vorbekannte Systeme stellen zwar Synchronizität bereit, ermöglichen
es aber in der Regel solchen Computern nicht, autonom zu operieren,
sondern nur im Gleichschritt. Andere fehlertolerante Systeme sehen
keinen Reservemechanismus vor, sondern stellen lediglich ein Plattenarray
(raid) zum automatischen Sichern von auf einer Platte gespeicherten
Informationen bereit. Andere Systeme erfordern zusätzliche
Hardware zum redundanten Clustern von Computern und sind plattformabhängig.
-
Aus
der Schrift EP-A-593062 ist ein Verfahren zur Datenbanksynchronisation
in einem fehlertoleranten Netzwerk mit einer primären Datenbank
und einer Reservedatenbank, die sich jeweils auf einem separaten Computer
befinden, bekannt.
-
Folglich
wird weiter eine Vorrichtung, ein Verfahren und ein System zur Bereitstellung
von Informationssynchronizität
in einem fehlertoleranten Netzwerk benötigt. Diese Synchronizität sollte
innerhalb eines sehr kleinen Zeitrahmens stattfinden, wie zum Beispiel
innerhalb von Sekunden, um Dienstunterbrechungen zu vermeiden. Zusätzlich sollten
eine solche Vorrichtung, ein solches Verfahren und ein solches System
keine zusätzliche
Hardware erfordern, plattformunabhängig und anwendungsunabhängig sein,
wobei eine solche Fehlertoleranz für den Benutzer und für die Anwendung
transparent stattfindet.
-
Kurzfassung
der Erfindung
-
Gemäß der vorliegenden
Erfindung, die durch die unabhängigen
Ansprüche
definiert wird, werden ein Verfahren und ein System zur Dateisynchronisation
für ein
fehlertolerantes Netzwerk bereitgestellt, wobei das fehlertolerante
Netzwerk im allgemeinen eine aktive Netzwerkentität, wie zum
Beispiel einen Telekommunikationsserver, und eine Reservenetzwerkentität zum Übernehmen
der Funktionalität
der aktiven Netzwerkentität im
Fall eines Ausfalls der aktiven Netzwerkentität enthält. Die Vorrichtung, das Verfahren
und das System der vorliegenden Erfindung stellen eine solche Informationssynchronizität innerhalb
eines sehr kleinen Zeitrahmens, wie zum Beispiel innerhalb von Sekunden,
bereit, um Dienstunterbrechungen zu vermeiden, falls die aktive
Netzwerkentität
ausfällt
und die Reservenetzwerkentität
aktiv wird. Außerdem
erfordern die Vorrichtung, das Verfahren und das System der vorliegenden
Erfindung keine zusätzliche
Hardware, sind plattform- und anwendungsunabhängig, wobei solche Fehlertoleranz
für den
Benutzer und die Anwendung transparent stattfindet.
-
Das
Verfahren der vorliegenden Erfindung beginnt mit dem Zugreifen auf
eine Datei in der aktiven Netzwerkentität, zum Beispiel durch eine
Lese- oder Schreibanforderung einer beliebigen Netzwerkanwendung.
Eine Dateizugriffsanforderung in der aktiven Netzwerkentität wird erzeugt
und zu der Reservenetzwerkentität
gesendet, die außerdem
die Dateizugriffsanforderung durchführt. Die Reservenetzwerkentität erzeugt dann
eine Dateizugriffsbestätigung
und sendet sie zu der aktiven Netzwerkentität. Die aktive Netzwerkentität bestimmt
dann, ob die Dateizugriffsanforderung der aktiven Netzwerkentität eine entsprechende
Dateizugriffsbestätigung
von der Reservenetzwerkentität
aufweist. Wenn die Dateizugriffsanforderung die entsprechende Dateizugriffsbestätigung aufweist,
wodurch angezeigt wird, daß die
Dateien zwischen der aktiven und der Reservenetzwerkentität in Synchronizität sind,
löscht
die aktive Netzwerkentität
dann die Dateizugriffsanforderung und die entsprechende Dateizugriffsbestätigung aus
dem Speicher. Wenn die Dateizugriffsanforderung die entsprechende
Dateizugriffsbestätigung
jedoch nicht aufweist, wodurch eine fehlende Synchronizität angezeigt
wird, erzeugt die aktive Netzwerkentität dann eine Fehlernachricht
und transferiert die Dateizugriffsanforderung zur späteren Benutzung
zu einer Fehlerprotokollierung. Eine solche spätere Benutzung wäre zum Beispiel
das Erzeugen einer Alarmbedingung und das Transferieren der Reservenetzwerkentität zu einem
aktiven Status.
-
Wie
bereits erwähnt,
ist diese Methodologie für
die Netzwerkanwendung transparent und von dieser unabhängig. Außerdem ist
die Methodologie von einer Betriebsplattform in der aktiven und
der Reservenetzwerkentität
unabhängig.
Die verschiedenen Dateizugriffsanforderungen umfassen in der Regel
eine Leseanforderung, eine Schreibanforderung, eine Öffnungsanforderung
und eine Schließanforderung
und können durch
eine beliebige Art von Netzwerkanwendung aufgerufen werden.
-
Zahlreiche
andere Vorteile und Merkmale der vorliegenden Erfindung werden ohne
weiteres aus der folgenden ausführlichen
Beschreibung der Erfindung und ihrer Ausführungsformen, aus den Ansprüchen und aus
den beigefügten
Zeichnungen deutlich.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist ein Blockschaltbild
einer Vorrichtungs- und Systemausführungsform der vorliegenden
Erfindung;
-
2 ist ein Opperationsflußdiagramm
des Prozesses, der in einem aktiven AP und einem Reserve-AP gemäß der vorliegenden
Erfindung stattfindet; und
-
3 ist ein Flußdiagramm
eines Verfahrens gemäß der vorliegenden
Erfindung.
-
Ausführliche
Beschreibung der Erfindung
-
Obwohl
die vorliegende Erfindung in vielen verschiedenen Formen verkörpert werden
kann, werden spezifische Ausführungsformen
in den Zeichnungen gezeigt und hier im einzelnen beschrieben, wobei
sich versteht, daß die
vorliegende Offenlegung als eine Exemplifizierung der Prinzipien
der Erfindung zu betrachten ist und die Erfindung nicht auf die
spezifischen dargestellten Ausführungsformen
beschränken
soll.
-
Wie
bereits erwähnt,
werden weiterhin eine Vorrichtung, ein Verfahren und ein System
zur Bereitstellung von Informationssynchronizität in einem fehlertoleranten
Netzwerk benötigt.
Gemäß der vorliegenden
Erfindung liefern eine Vorrichtung, ein Verfahren und ein System solche
Informations- oder Dateisynchronizität in einem fehlertoleranten
Netzwerk innerhalb eines sehr kleinen Zeitrahmens, wie zum Beispiel
innerhalb von Sekunden, um Dienstunterbrechungen zu vermeiden. Zusätzlich erfordern
die Vorrichtung, das Verfahren und das System der vorliegenden Erfindung
keine zusätzliche
Hardware, sind plattformunabhängig
und anwendungsunabhängig
und stellen solche Fehlertoleranz für den Benutzer und für die Anwendung
transparent bereit.
-
1 ist ein Blockschaltbild
von Ausführungsformen
von Vorrichtung 20 und System 10 der vorliegenden
Erfindung. Jede Vorrichtung 20 kann als eine Netzwerkentität betrachtet
werden, wie zum Beispiel ein Dienststeuerpunkt, ein Dienstknoten
oder eine andere Art von Telekommunikationsserver, wobei das System 10 mehrere
solche Vorrichtungen 20 enthält, die über eine Kommunikationsstrecke 15,
wie zum Beispiel eine Ethernet- oder beliebige andere Strecke eines
beliebigen Kommunikationsmediums (wie zum Beispiel T1/E1, faseroptisches
Kabel, Koaxialkabel usw.) gekoppelt sind. Mit Bezug auf 1 enthält jede Vorrichtung 20 (mit der
Kennzeichnung 20A und 20S ) einen Prozessor (CPU) 30,
eine Netzwerkschnittstelle (NIC) 35, einen ersten Speicher 40 (wie
zum Beispiel RAM) und einen zweiten, langfristigeren Speicher 50 (wie
zum Beispiel ein Magnetplattenlaufwerk, ein optisches Speichergerät oder eine
beliebige andere Art von Datenspeichergerät). Jede Vorrichtung 20 kann
zu jedem gegebenen Zeitpunkt einen Betriebszustand aufweisen, der
als aktiv (20A ) oder Reserve (20S ) bezeichnet wird, und bei der bevorzugten
Ausführungsform
ist jede Vorrichtung 20A und 20S ein entsprechender aktiver AP oder
Reserve-AP.
-
Die
Vorrichtungen 20A und 20S sind miteinander (und potentiell mit
anderen Vorrichtungen 20) über eine Kommunikationsstrecke 15,
wie zum Beispiel ein Ethernet- oder ein anderes Netzwerkübertragungsmedium, zur
Kommunikation miteinander über
jede ihrer entsprechenden Netzwerkschnittstellen 35 verbunden, um
ein System 10 gemäß der vorliegenden
Erfindung zu bilden. In jeder Vorrichtung 20 oder an diese
angekoppelt wird der zweite, längerfristige
Speicher 50, wie zum Beispiel ein Magnetplattenlaufwerk,
für Daten-
und anderweitige Dateispeicherung verwendet. Gemäß der vorliegenden Erfindung
wird der Daten- oder anderweitige Dateizugriff (wie später ausführlicher
besprochen wird) zwischen dem aktiven AP (zum Beispiel der Vorrichtung 20A ) und dem Reserve-AP (wie zum Beispiel
der Vorrichtung 20S ) synchronisiert.
In jeder Vorrichtung 20 dient der erste Speicher 40 bei
der bevorzugten Ausführungsform
zum Speichern von Programmanweisungen wie nachfolgend besprochen.
Der Prozessor 30 hat bidirektionalen Zugriff auf den zweiten
Speicher 50, zum Beispiel zum Öffnen, Lesen oder Beschreiben
und Schließen
von in dem zweiten Speicher 50 gespeicherten Dateien.
-
Weiter
mit Bezug auf 1 kann
jeder Prozessor (CPU) 30 eine einzige integrierte Schaltung
(IC) oder mehrere integrierte Schaltungen oder andere, verbundene,
angeordnete oder gruppierte Komponenten, wie zum Beispiel Mikroprozessoren,
digitale Signalprozessoren (DSPs), anwendungspezifische integrierte
Schaltungen (ASICs), zugeordnete Speicher (wie zum Beispiel RAM
und ROM) und andere ICs und Komponenten enthalten. Folglich sollte
für die
vorliegende Beschreibung der Begriff Prozessor so aufgefaßt werden,
daß er gleichbedeutend
für einen
einzigen Prozessor oder eine Anordnung von Prozessoren, Mikroprozessoren, Steuerungen
oder eine bestimmte andere Gruppierung von integrierten Schaltungen,
die die oben und außerdem
nachfolgend ausführlich
mit Bezug auf 2 und 3 besprochenen Funktionen
durchführen,
mit zugeordnetem Speicher, wie zum Beispiel Mikroprozessorspeicher
oder zusätzlichem
RAM, ROM, EPROM oder E2PROM, steht und diese
umfaßt.
Die Methodologie der Erfindung, die nachfolgend mit Bezug auf 2 und 3 besprochen wird, kann in dem Prozessor 30 mit
seinem zugeordneten Speicher (wie zum Beispiel dem ersten Speicher 40)
und anderen äquivalenten
Komponenten als eine Menge von Programmanweisungen zur nachfolgenden
Ausführung,
wenn der Prozessor 30 betriebsfähig (d. h. eingeschaltet und
funktionsfähig)
ist, programmiert und gespeichert werden.
-
Wie
nachfolgend ausführlicher
besprochen wird, wird, immer wenn eine Anwendung in einem aktiven AP,
wie zum Beispiel der Vorrichtung 20A ,
auf eine Datei in dem zweiten Speicher 50A zugreift,
dieser Dateizugriff in Echtzeit in dem Reserve-AP (Vorrichtung 20S ) und in seinem entsprechenden zweiten
Speicher 50S dupliziert. Unter
Verwendung von "FSYNC"-Prozessen in jedem
Prozessor 30A und 30S wird, immer wenn ein Dateizugriff
in der aktiven Vorrichtung 20A stattfindet,
eine entsprechende Dateizugriffsanforderung durch den aktiven Prozessor 30A (über
die Netzwerkschnittstelle 35A ,
die Kommunikationsstrecke 15 und die Netzwerkschnittstelle 35S ) zu dem Reserveprozessor 30S gesendet. Der Reserveprozessor 30S verarbeitet dann die Dateizugriffsanforderung
und gibt (ebenfalls über
die Kommunikationsstrecke 15 und die entsprechenden Netzwerkschnittstellen 35)
eine Bestätigung
an den aktiven Prozessor 30A zurück. Der
aktive Prozessor 30A überwacht
durch die FSYNC-Prozesse, daß jede
Dateizugriffsanforderung (in dem aktiven AP) eine entsprechende Bestätigung von
dem Reserve-AP erhält.
Folglich stellt die Methodologie der vorliegenden Erfindung sicher, daß der Reserve-AP
fast sofortigen Zugriff auf alle in dem aktiven AP gespeicherten
aktuellen Informationen besitzt.
-
2 ist ein insgesamtes Operationsflußdiagramm
einer Methodologie der vorliegenden Erfindung, so wie sie durch
die in einem aktiven AP 100 und einem Reserve-AP 200 auftretenden
Prozesse gemäß der vorliegenden
Erfindung exemplifiziert wird. Wie in 2 dargestellt,
gibt es eine Sammlung von Dateisynchronisationsprozessen mit dem
Namen "FSYNC", die die Synchronisation
gewählter
Dateien (die in dem zweiten Speicher 50 gespeichert sind)
aus dem aktiven AP 100 zu dem Reserve-AP 200 betreffen.
Wie in 2 dargestellt,
sind diese Dateisynchronisationsprozesse (FSYNC-Prozesse) der FSYNC-Auditor 105,
der FSYNC-Dämon 110 und
der FSYNC-Dateizugriffsprozeß 115 (auch
als FSYNC-(ftsp-)Dateizugriff bekannt, wobei "ftsp" fehlertolerante
Systemprozesse bedeutet). Diese FSYNC-Prozesse sind in dem aktiven AP 100 und
in dem Reserve-AP 200 identisch
und werden durch tiefgestellte Buchstaben unterschieden, sodaß ein tiefgestelltes "A" die in dem aktiven AP 100 auftretenden
aktiven Prozesse bezeichnet, während
ein tiefgestelltes "B" die in dem Reserve-AP
auftretenden Reserveprozesse bezeichnet (zu einem beliebigen gegebenen Zeitpunkt).
Es ist zu beachten, daß zu
jedem beliebigen bestimmten Zeitpunkt eine gegebene Vorrichtung 20 (wie
zum Beispiel ein AP oder anderer Computer) von einem aktiven Status
in einen inaktiven oder Außer-Dienst-AP
oder von einem aktiven zu einem Reserve-AP oder von einem Reserve-
zu einem aktiven AP übergehen
kann. Folglich kann jeder Prozeß sowohl
in aktiven als auch Reserve-APs enthalten sein, obwohl zu einem
beliebigen gegebenen Zeitpunkt verschiedene Prozesse wirken können.
-
Unter
weiterer Bezugnahme auf 2 findet
die Dateisynchronisationsmethodologie der vorliegenden Erfindung
statt, wenn eine beliebige Anwendung (oder ein beliebiger Prozeß) 120 auf
Informationen, Daten oder andere Dateien (einzeln und kollektiv
hier als "Dateien" bezeichnet) in dem
Speicher 130, wie zum Beispiel dem in 1 dargestellten zweiten Speicher 50,
zugreift. Ein solcher Speicher 130 kann zum Beispiel ein Magnetfestplattenlaufwerk,
ein Magnetbandlaufwerk oder ein optisches Speichermedium sein. Wie
in 2 dargestellt, ist
ein solcher Zugriff auf den Speicher 130 durch die Anwendung
(oder den Prozeß) 120 als
der Zugriff 140 dargestellt, bei dem es sich um eine Anforderung
zum Öffnen
einer Datei, zum Lesen aus einer Datei, zum Beschreiben einer Datei
oder zum Schließen
einer Datei handeln kann, wobei eine solche Datei in dem Speicher 130 gespeichert
ist. Es kann jede Art von Anwendung 120 beteiligt sein,
und die Dateisynchronisationsmethodologie der vorliegenden Erfindung
ist jeder gegebenen Anwendung 120 und jeder gegebenen Plattform
der Vorrichtung 20 (AP) vollständig transparent und unabhängig davon.
-
Bei
der bevorzugten Ausführungsform
wird immer dann, wenn eine solche Anwendung 120 auftritt, woran
ein Zugriff auf den Speicher 130 beteiligt ist, eine Bibliothek
von Funktionen aufgerufen, die als die FSYNC-Dateizugriffsfunktionen 115 bezeichnet
werden. Wenn eine Anwendung (oder ein Prozeß) 120 auf eine Datei
zugreift (140) wird folglich über eine FSYNC-Dateizugriffsfunktion
auf die Zieldatei zugegriffen und das Ergebnis des Dateizugriffs
(141) wird an die Anwendung (oder den Prozeß) 120 zurückgegeben.
-
Während die
Anwendung (oder der Prozeß) 120 einen
Zugriff auf eine Datei im Speicher 130 anfordert, instanziiert
sie ein neues Objekt der Klasse oder Bibliothek FSYNC 115 wie
zum Beispiel FSYNC_Disk_IO(). Während
der Konstruktor FSYNC_Disk_IO() ausgeführt wird, empfängt der
FSYNC-Dämon 110 ein
Signal oder einen Interrupt (142) und die Anforderung des
Dateizugriffs wird außerdem
in einer Anforderungswarteschlange 150 registriert (143).
Der nun unterbrochene FSYNC-Dämon 110 untersucht (144)
die Anforderungswarteschlange 150 und sendet (145)
die Anforderung des Dateizugriffs (die sich in der Anforderungswarteschlange 150 befand)
zu dem Anwendungsprozessorknotenmanager (bzw. dem Management) (APNM) 155,
wobei es sich um Speicher- und Weiterleitsoftware zum Senden von
Informationen zu anderen Computern oder Servern in einem Netzwerk
oder anderen System (über
die Netzwerkschnittstellen 35 und die Kommunikationsstrecke 15)
handelt. Der APNM 155A sendet dann
die Dateizugriffsanforderung (146) zu dem Reserve-AP 200,
die dann durch den APNM 155S des
Reserve-AP empfangen wird.
-
Der
APNM 155S des Reserve-AP 200 transferiert
(147) diese Fernanforderung eines Dateizugriffs dann zu
dem FSYNC-Dämon 110S , der in dem Prozessor 30S auf dem Reserve-AP 200 operiert.
Der FSYNC-Dämon 110S führt
dann die Anforderung des Dateizugriffs durch (148), wie
zum Beispiel durch Öffnen oder
Beschreiben einer bestimmten in dem Speicher 130S (wie
zum Beispiel dem zweiten Speicher 50S )
gespeicherten Datei und empfängt
(149) einen Rückgabewert,
wie zum Beispiel num_bytes_written. Der FSYNC-Dämon 110S transferiert
dieses Rückgabeergebnis
dann als eine Bestätigung
(151) zu dem APNM 155S ,
der seinerseits die Bestätigung
zu dem aktiven AP 100 sendet (152) (auch über die
Netzwerkschnittstellen 35 und die Kommunikationsstrecke 15).
Der APNM 155A des aktiven AP 100 transferiert
dann (153) die Bestätigung
zu dem FSYNC-Dämon 110A , der die empfangene Bestätigung in
der Bestätigungswarteschlange 160 registriert
(154).
-
Der
FSYNC-Auditor 105A überwacht
regelmäßig den
Betriebsstatus des FSYNC-Dämon 110A , der regelmäßig eine Ansage bzw. einen "Herzschlag" zu dem FSYNC-Auditor 105A sendet (156). Außerdem überwacht
der FSYNC-Auditor 105A regelmäßig oder
periodisch den Dateisynchronisationsprozeß. Der FSYNC-Auditor 105A liest (157) die Bestätigungswarteschlange 160 und
liest (158) die Anforderungswarteschlange 150.
Der FSYNC-Auditor 105A vergleicht
dann jede Bestätigung
mit einer entsprechenden Anforderung, und wenn sie beide gültig sind,
können
sie aus ihren jeweiligen Warteschlangen 150 und 160 gelöscht werden.
Falls keine Übereinstimmung
einer übereinstimmenden
Bestätigung
aus dem Reserve-AP 200 mit einer entsprechenden Anforderung in
der Anforderungswarteschlange 150 gefunden werden kann,
transferiert (159) der FSYNC-Auditor 105A die
Anforderung aus der Anforderungswarteschlange in die Fehlerprotokollierung 170 für einen
späteren
Audit oder Alarmbedingung.
-
Wie
in 2 dargestellt, gewährleisten
die verschiedenen Prozesse der vorliegenden Erfindung, daß für jeden
Dateizugriff in dem aktiven AP ein übereinstimmender Dateizugriff
in dem Reserve-AP gefunden wird, wodurch sichergestellt wird, daß der Reserve-AP
zu allen Zeiten aktuelle Informationen besitzt. Falls der aktive AP
solche Anforderungen nicht zu dem Reserve-AP sendet, sodaß dann der
aktive AP keine Bestätigungen empfängt, können zusätzlich etwaige
fehlende Informationen in dem Reserve-AP aus der Fehlerprotokollierung 170 wiederhergestellt
werden.
-
3 ist ein Flußdiagramm
des Verfahrens gemäß der vorliegenden
Erfindung. Das Verfahren beginnt (Startschritt 205) damit,
daß ein
Prozeß in
dem aktiven AP einen Zugriff auf eine Datei anfordert. Die Anforderung
des Dateizugriffs wird dann in der Anforderungswarteschlange registriert
und der FSYNC-Dämonprozeß wird abgerufen,
wie zum Beispiel durch ein Interruptsignal (Schritt 210).
Als nächstes
sendet im Schritt 212 der FSYNC-Dämon die Dateizugriffsanforderung
zu dem APNM und der APNM sendet die Anforderung des Dateizugriffs
zu dem Reserve-AP (Schritt 214). Der APNM in dem Reserve-AP
empfängt
die Dateizugriffsanforderung (Schritt 216) und sendet die
Anforderung des Dateizugriffs zu dem FSYNC-Dämon
in dem Reserve-AP (Schritt 218).
-
Weiter
mit Bezug auf 3 ruft
der FSYNC-Dämon
in dem Reserve-AP die FSYNC-ftsp-Dateizugriffsfunktion auf (Schritt 220).
Es wird auf die Zieldatei zugegriffen und ein Rückgabeergebniswert an den FSYNC-Dämon in dem
Reserve-AP zurückgegeben
(Schritt 222). Der FSYNC-Dämon erzeugt dann eine Bestätigung aus
dem Rückgabeergebniswert
(Schritt 224) und sendet die Bestätigung über den APNM des Reserve-AP
zu dem aktiven AP (Schritt 226). Der APNM des aktiven AP
empfängt
dann die Bestätigung
(Schritt 228) und transferiert die Bestätigung zu dem FSYNC-Dämon. Der
FSYNC-Dämmon
sendet die Bestätigung zu
der Bestätigungswarteschlange
(Schritt 230). Der FSYNC-Auditor liest periodisch die Anforderungswarteschlange
und die Bestätigungswarteschlange
(Schritt 232) und vergleicht jede Bestätigung mit jeder Anforderung
(Schritt 234). Wenn es für jede Anforderung eine gültige Bestätigung gibt
(Schritt 236) können
die entsprechende Bestätigung
und Anforderung aus ihren jeweiligen Warteschlangen gelöscht werden
(Schritt 238), und dieser Teil des Verfahrens kann enden
(Rückkehrschritt 242).
Wenn im Schritt 236 keine gültige Bestätigung mit einer entsprechenden
Anforderung gepaart werden kann, wird die Dateizugriffsanforderung
zu der Fehlerprotokollierung gesendet (Schritt 240), gefolgt
durch eine mögliche
Alarmbedingung, und das Verfahren kann ebenfalls enden (Rückkehrschritt 242).
-
Gemäß der vorliegenden
Erfindung ist für
die Dateisynchronisation ein Programmbeispiel in der Sprache C++
nachfolgend dargestellt, zur Verwendung von aus C++ abgeleiteten
Klassen auf eine Weise, die für jede
Anwendung oder jeden Prozeß in
dem aktiven und Reserve-AP transparent und unabhängig von diesen ist. Unter
Verwendung der Fähigkeiten
der objektorientierten Programmierung der Sprache C++ werden neue Klassen
von C++ mit Vererbung aus den ursprünglichen Basisklassen abgeleitet.
Die neuen Klassen enthalten Methoden für Synchronisation gemäß der vorliegenden
Erfindung. Zum Beispiel wird nun eine ftsp-Klasse, die ursprünglich iofstream
enthält,
in fsync_iofstream abgeleitet. Letzteres garantiert, daß eine Dateischreiboperation
sowohl in dem aktiven als auch in dem Reserve-AP dupliziert wird.
Ein AP-Dämon
kann verwendet werden, um sicherzustellen, welcher AP zu einem beliebigen
gegebenen Zeitpunkt aktiv, in Reserve oder außer Betrieb ist.
-
Das
folgende Beispiel zeigt, wie eine neue abgeleitete Klasse syn_Disk_IO
aus der ftsp-Klasse Disk_IO abgeleitet wird.
-
-
-
Die
neue abgeleitete Klasse mit Synchronisation
-
-
Wie
oben dargestellt, wird gemäß der vorliegenden
Erfindung jeder Dateizugriff in einem aktiven AP effektiv in Echtzeit
in einem Reserve-AP dupliziert. Falls der Reserve-AP die Funktionalität des aktiven
AP übernehmen
und zu einem aktiven Modus übergehen
muß, hat
der Reserve-AP folglich bereits sofortigen Zugriff zu praktisch
allen aktuellen Informationen, die von dem (zuletzt) aktiven AP
verwendet werden. Als weitere Folge wird im Fall solcher Übergänge in einem
fehlertoleranten Netzwerk die Dienstunterbrechung minimiert.
-
Zahlreiche
andere Vorteile der vorliegenden Erfindung können deutlich werden. Die Vorrichtung,
das Verfahren und das System der vorliegenden Erfindung gewährleisten
Informationssynchronizität
in einem fehlertoleranten Netzwerk und stellen solche Informationen
oder Dateisynchronizität
in einem fehlertoleranten Netzwerk innerhalb eines sehr kleinen
Zeitrahmens, wie zum Beispiel innerhalb von Sekunden, bereit, um Dienstunterbrechungen
zu vermeiden. Außerdem
erfordern die Vorrichtung, das Verfahren und das System der vorliegenden
Erfindung keine zusätzliche
Hardware und sind plattformunabhängig,
anwendungsunabhängig
und stellen solche Fehlertoleranz für den Benutzer und für die Anwendung
transparent bereit.
-
Aus
dem obigen ist erkennbar, daß zahlreiche
Varianten und Modifikationen bewirkt werden können, ohne vom Schutzumfang
der Erfindung abzuweichen. Es versteht sich, daß keinerlei Beschränkung in
bezug auf die spezifischen Verfahren und Vorrichtungen, die hier
dargestellt wurden, beabsichtigt ist oder angenommen werden sollte.
Es ist natürlich
beabsichtigt, durch die angefügten
Ansprüche
alle solchen Modifikationen, die in den Schutzumfang der Ansprüche fallen,
abzudecken.