-
Die
vorliegende Erfindung betrifft ein Verfahren zur Synchronisation
mindestens eines entfernten Systems mit einem Hauptsystem, wobei
zu aktualisierende Dateien über
ein Datennetz gesendet werden, welches das Hauptsystem mit dem mindestens einen
entfernten System verbindet, und einen Server zur Synchronisation
mindestens eines entfernten Systems mit einem Hauptsystem.
-
Moderne
Systeme, die Funktionen für
Telekommunikationsdienste bereitstellen, sind mehr und mehr über das
gesamte Telekommunikationsnetz verteilt. Eine Aktualisierung dieser
Systeme bedeutet oft das Kopieren einer Haupt-Software in verschiedenen
Systemen. Wegen der großen
Datenmengen werden solche Hauptdateien normalerweise auf CDs kopiert
und zu den verschiedenen Orten geschickt. Dort werden die Daten
in den entsprechenden Speicher des lokalen Telekommunikationssystems
geladen.
-
Weiterhin
sind Computersysteme bekannt, bei denen Daten, die in mehreren entfernten
Datenbank-Dateien gespeichert sind, mit Daten synchronisiert werden,
die in einer Haupt-Datenbank-Datei
gespeichert sind. Es sind mehrere Lösungen zur Lösung des
Problems bekannt, dass unsynchronisierte Kopien von Datenbank-Dateien
Fehler verursachen können.
Verschiedene Benutzer können
bei einer identischen Abfrage der Datenbank verschiedene Ergebnisse
erhalten.
-
Gemäß einer
Lösung
sind alle Computer, die Kopien einer Datenbank-Datei speichern,
ständig miteinander
verbunden, und die verschiedenen Kopien der Datei werden kontinuierlich
synchronisiert. Eine solche kontinuierliche Verbindung ist jedoch
im Allgemeinen zu teuer und verringert die System-Effizienz.
-
Gemäß einer
weiteren Lösung
markieren die Anwender Änderungen
in ihren jeweiligen Kopien. Mit einer manuellen Prozedur wird eine
Haupt-Datenbank-Datei regelmäßig aus
jeder der von den Anwendern markierten Kopien aktualisiert. Diese
Prozedur ist zeitaufwendig und sehr fehleranfällig.
-
Gemäß einer
weiteren Lösung
erzeugt das System für
jede entfernte Datei eine zugehörige
Datensicherungs-Datei. Das System erzeugt eine entfernte Datei durch
Kopieren von Daten aus der Hauptdatei. Die Datensicherungs-Datei
spiegelt den Inhalt der entfernten Datei wider, als die entfernte
Datei erzeugt oder zuletzt synchronisiert wurde. Von Zeit zu Zeit
synchronisiert das System Daten in der Hauptdatei und den entfernten
Dateien, indem es vergleicht, welche der Dateien, die entfernte
Datei oder die Hauptdatei, die aktuellere Version der Daten enthält. Das
System aktualisiert dann die Datei, welche die weniger aktuellen
Daten enthält,
mit den Daten aus der Datei, welche die aktuelleren Daten enthält. Nach
der Synchronisation der Dateien kopiert das System alle Daten aus
der entfernten Datei in die Datensicherungs-Datei.
-
Wegen
der großen
Datenmengen, die kopiert werden müssen, und wegen der komplizierten Entwicklung
der Haupt-Software sind all diese Lösungen jedoch nicht auf das
oben beschriebene Problem im Bereich der Kommunikationssysteme anwendbar.
-
In
US 5 978 805 wird ein Verfahren
zur Synchronisation von Dateien beschrieben, die in den Speichern
von zwei entfernt angeordneten Systemen gespeichert sind. Das Ziel
enthält
eine Referenzdatei, welche die gleichen Daten enthalten kann wie
die in der Quelldatei enthaltenen. Die Synchronisation wird erreicht,
indem Schlüssel
vom Zielsystem zum Quellsystem gesendet werden. Die Schlüssel repräsentieren
Referenz-Blöcke
von Daten der Referenzdatei. Jeder Schlüssel enthält ein Kennzeichen, eine Anzeige
der Länge
des entsprechenden Datenblocks und eine Prüfsumme. Im Quellsystem werden
die Kennzeichen mit Teilen der Quelldatei verglichen. Wenn die Kennzeichen übereinstimmen,
wird eine dem Referenzblock entsprechende Prüfsumme mit der dem Quell-Block
entsprechenden Prüfsumme verglichen.
Wenn die Prüfsummen übereinstimmen, wird
eine Nachricht, die den Schlüssel
und den Referenzblock kennzeichnet, der übereingestimmt hat, vom Quell-
zum Zielsystem gesendet, damit der Referenzblock aus der Referenzdatei
kopiert werden kann, um die synchronisierte Datei aufzubauen.
-
Es
ist eine Aufgabe der Erfindung, die Synchronisation mindestens eines
entfernten Systems mit einem Hauptsystem zu verbessern.
-
Das
Ziel der vorliegenden Erfindung wird durch ein Verfahren zur Synchronisation
mindestens eines entfernten Systems mit einem Hauptsystem gemäß Anspruch
9 sowie durch einen Server gemäß Anspruch
1 erreicht.
-
Durch
diese Erfindung werden mehrere Vorteile erreicht: Die zum Kopieren
einer Haupt-Software in verschiedenen Systemen benötigte Zeit
wird drastisch verringert. Weiterhin wird die Datenmenge, die über ein
Datennetz ausgetauscht wird, auf eine Höhe verringert, die durch vorhandene
Systeme auf effiziente Weise verarbeitet werden kann. Dies führt zu Kosteneinsparungen
im Vergleich zu vorhandenen Verfahren. Weiterhin sind geringe Investitionen erforderlich,
um vorhandene Systeme aufzurüsten, die
vorhandene Infrastruktur und Protokolle können zur Implementation der
Erfindung wieder verwendet werden.
-
Die
Erfindung ist nicht auf Telekommunikationssysteme begrenzt, sondern
kann auch auf alle anderen Arten von Computersystemen angewendet werden.
-
Weitere
Vorteile werden durch die Ausführungen
erreicht, die in den abhängigen
Ansprüchen angedeutet
werden.
-
Gemäß der bevorzugten
Ausführung
der Erfindung löscht
die Steuerungseinheit Dateien, die in mindestens einem entfernten
System vorhanden sind, aber im Hauptsystem fehlen.
-
Weiterhin
kann die Steuerungseinheit auslösen,
dass der Abgleich von Dateiattributen von Dateien synchronisiert
wird. Abgeglichene Dateiattribute sind zum Beispiel Zugriffsrechte,
der Besitzer der Datei oder die Datei-Gruppe. Die Steuerungseinheit
bestimmt Dateien, die im entfernten System und im Hauptsystem vorhanden
sind, aber unterschiedliche Dateiattribute haben. Dann passt es
die Dateiattribute des entfernten Systems an die Dateiattribute
des Hauptsystems an. Weiterhin kann die Steuerungseinheit auch symbolische
Links und/oder feste Links anpassen.
-
Diese
Eigenschaften vergrößern den
Umfang und die Anwendbarkeit des vom Server bereitgestellten Dienstes.
Weiterhin sparen sie Speicherplatz in den entfernten Systemen.
-
Die
Flexibilität
des gesamten Systems wird erhöht,
wenn die Steuerungseinheit die Rollen des Hauptsystems und des entfernten
Systems den Computersystemen auf der Grundlage einer Nachricht zuordnet,
die von einer Steuerungs-Station empfangen wird. Dadurch kann der
Kopier-Prozess einfach an die vorliegenden Systemanforderungen angepasst
werden.
-
Gemäß einer
weiteren bevorzugten Ausführung
der Erfindung sendet die Steuerungseinheit Befehle an das Hauptsystem
und an das mindestens eine entfernte System, wobei die Befehle eine
Datei-Klassifikation enthalten, die eine Gruppe von zu aktualisierenden
Dateien spezifiziert, und die Steuerungseinheit fordert vom Hauptsystem
und von dem mindestens einen entfernten System, mit einer Liste von
Dateien zu antworten, die mit dieser Datei-Klassifikation übereinstimmen.
Dies führt
zu einer weiteren Reduktion der Daten, die über das Datennetz ausgetauscht
werden müssen.
Folglich werden weitere Kosteneinsparungen und Vorteile bei der
Verarbeitungszeit erreicht.
-
Weitere
Vorteile werden durch folgendes erreicht: Die Steuerungseinheit
empfängt
vom Hauptsystem und von dem mindestens einen entfernten System eine
entsprechende Liste von zu aktualisierenden Dateien. Die Steuerungseinheit
vergleicht die empfangenen Listen und filtert identische Dateien heraus.
Dann sendet die Steuerungseinheit zum Hauptsystem und zu dem mindestens
einen entfernten System eine Liste von Dateien, die herausgefiltert wurden
und fordert die Berechnung von Prüfsummen für diese Dateien an. Dieses
Konzept führt
zu weiteren Einsparungen der Verarbeitungszeit im Hauptsystem und
in den entfernten Systemen. Weiterhin wird die Datenmenge, die über das
Datennetz ausgetauscht werden muss, verringert.
-
Weitere
Vorteile werden durch folgendes erreicht: Die Steuerungseinheit
fordert von den Dateisystemen des Hauptsystems und des mindestens
einen entfernten Systems, dass der Zugang zu den zu aktualisierenden
Dateien blockiert wird, bis die Datensynchronisation beendet ist.
Weiterhin kann die Steuerungseinheit die zu aktualisierenden Dateien mehreren
Datei-Blöcken
zuordnen und die Datensynchronisation jedes der Dateiblöcke getrennt durchführen. Wegen
der Zuordnung der Dateien zu Datei-Blöcken wird es möglich, das
entfernte System während
der Datensynchronisation mindestens teilweise laufen zu lassen.
-
Diese
Funktionen können
dazu benutzt werden, das Risiko von durch die Datensynchronisation verursachten
Daten-Inkonsistenzen
zu verhindern.
-
Gemäß einer
weiteren Ausführung
der Erfindung fordert die Steuerungseinheit vom Dateisystem des
mindestens einen entfernten Systems die Überprüfung auf Daten-Inkonsistenzen,
die durch die Datensynchronisation verursacht wurden und die Rückgabe einer
Liste inkonsistenter Dateien. Wenn sie die Listen der inkonsistenten
Dateien empfängt,
führt sie die
Datensynchronisation erneut durch, nun für die Dateien dieser Listen.
Hierdurch ist es möglich,
durch die Datensynchronisation verursachte Daten-Inkonsistenzen
zu vermeiden und das entfernte System während der Datensynchronisation
laufen zu lassen.
-
Insbesondere
ist es vorteilhaft, die oben beschriebenen Konzepte auf die Synchronisation
von Telekommunikationssystemen und auf die Synchronisation von Systemen
mit Echtzeit-Anforderungen anzuwenden.
-
Diese
und andere Eigenschaften und Vorteile der Erfindung werden besser
verstanden, wenn man die folgende detaillierte Beschreibung der
zurzeit bevorzugten beispielhaften Ausführung in Verbindung mit den
begleitenden Zeichnungen liest, in denen:
-
1 ein
Blockdiagramm ist, das ein System mit einem Hauptsystem und mehreren
entfernten Systemen und einem Server gemäß der Erfindung zeigt.
-
2 ein
Flussdiagramm ist, das die Kommunikation zwischen dem Server, dem
Hauptsystem und einem der entfernten Systeme aus 1 zeigt.
-
3 ein
Flussdiagramm ist, das die Kommunikation zwischen dem Server, dem
Hauptsystem und einem der entfernten Systeme aus 1 zeigt.
-
4 ein
Blockdiagramm ist, das die Kommunikation zwischen dem Server, dem
Hauptsystem und zwei der entfernten Systeme aus 1 zeigt.
-
1 zeigt
die Computersysteme 1 bis 4, einen Server 6,
eine Steuerungs-Station 7 und ein Kommunikationsnetz 5.
-
Das
Kommunikationsnetz 5 ist ein Datennetz, das die Datenübertragung
zwischen den Computersystemen 1 bis 4, dem Server 6 und
der Steuerungs-Station 7 ermöglicht. Vorzugsweise ist das Kommunikationsnetz 5 ein
IP-Netzwerk (IP = Internet-Protokoll).
Bei dieser Art von Netzwerk wird das IP-Protokoll als Schicht-3-Protokoll
benutzt. Vom physikalischen Standpunkt kann das Kommunikationsnetz 5 durch
eine Vielzahl von Unter-Netzwerken gebildet
werden, die verschiedenen Netzbetreibern zugeordnet werden können und
die auf verschiedenen Technologien basieren können.
-
Zum
Beispiel wird das Kommunikationsnetz 5 durch ein ATM-Backbone-Netzwerk
(ATM = Asynchronous Transfer Mode) und mehrere LAN-Netzwerke (LAN
= Local Area Network) gebildet, die zum Beispiel auf einem Ethernet-MAC-Protokoll
basieren (MAC = Media Access Protocol). Weiterhin kann das Kommunikationsnetz 5 durch
eine Vielzahl von synchronen Kanälen
gebildet werden, die über
ein herkömmliches
Telekommunikationsnetz aufgebaut werden und das Computersystem 1 bis 4,
den Server 6 und die Steuerungs-Station 7 verbinden.
-
Die
Computersysteme 1 bis 4 sind Telekommunikationssysteme.
Das Computersystem 1 ist eine Testinstallation, die sich
in einem Testzentrum eines Technologie-Lieferanten befindet. Die
Computersysteme 2 bis 4 sind aktive Telekommunikationssysteme,
die ständig
in Betrieb sind und die ständig
Telekommunikationsdienste in einem Telekommunikationsnetz (nicht
gezeigt) ausführen.
Die Computersysteme 1 bis 4 sind zum Beispiel
Vermittlungsanlagen, Netzwerkknoten, Netzwerkmanagement-System-Komponenten,
Dienstmanagement-System-Komponenten,
Netzwerkdienst-Server, zum Beispiel IN SCP-Knoten (IN = Intelligentes
Netzwerk, SCP = Service Control Point, Dienstkontrollpunkt) oder
Internet- oder Web-Server.
-
Es
ist aber auch möglich,
dass die Computersysteme 1 bis 4 andere Arten
von Aufgaben ausführen.
-
Die
Computersysteme 1 bis 4 bestehen aus mehreren
Untersystemen 11 bis 13, 21 bis 23, 31 bis 33 bzw. 41 bis 43.
Jedes dieser Untersysteme führt unterschiedliche
Funktionen aus. Weiterhin enthält jedes
dieser Untersysteme zwei parallele Systeme, um die Zuverlässigkeit
und die Sicherheit des gesamten Systems zu erhöhen. Die Systeme sind gedoppelt,
sowohl vom Standpunkt der Hardware, als auch vom Standpunkt der
Software.
-
Vom
funktionellen Standpunkt enthält
das Untersystem 11 zwei Steuerungseinheiten 15 und 16 bzw.
zugeordnete Dateisysteme 17 und 18. Die Dateisysteme 17 und 18 verwalten
alle Daten und den Programmcode des Untersystems 11. Die
Untersysteme 21, 31 und 41 haben dieselbe
Architektur und enthalten Steuerungseinheiten 25 und 26, 35 und 36 und 45 und 46 und
die Dateisysteme 27 und 28, 37 und 38 bzw. 47 und 48.
-
Die
Steuerungseinheit 7 ist ein normaler Computer, zum Beispiel
ein PC, der mit dem Kommunikationsnetz 5 verbunden ist.
-
Der
Server 6 wird durch einen oder mehrere miteinander verbundene
Computer, eine auf dieser Hardware-Plattform eingerichtete Software-Plattform und
eine Vielzahl von Anwendungsprogrammen, die auf dieser Systemplattform
laufen, gebildet. Die Funktionen des Servers 6, wie im
Folgenden beschrieben, werden durch Ausführung der Anwendungssoftware-Programme auf der
System-Plattform des Servers 6 ausgeführt.
-
Vom
funktionellen Standpunkt enthält
der Server 6 eine Kommunikationseinheit 61, eine
Steuerungseinheit 62 und ein Dateisystem 63.
-
Die
Kommunikationseinheit 61 führt die erforderlichen Kommunikationsdienste
zur Kommunikation mit den Computersystemen 1 bis 4 aus.
Sie enthält
zum Beispiel die erforderlichen Funktionalitäten zur Bereitstellung des
TCP/IP-Protokoll-Stacks (IP
= Internet Protocol; TCP = Transmission Control Protocol).
-
Die
Steuerungseinheit 62 führt
folgende Funktionen aus: Sie erkennt zu synchronisierende Dateien,
die im Hauptsystem vorhanden sind, aber in mindestens einem entfernten
System fehlen. Die Zuweisung der Rollen des Hauptsystems und des
entfernten Systems ist flexibel. Es kann ein entferntes System geben,
aber auch eine Vielzahl von entfernten Systemen. Gemäß der Ausführung in 1 spielt das
Computersystem 1 die Rolle des Hauptsystems, und die Computersysteme 2 bis 4 spielen
die Rolle der entfernten Systeme.
-
Die
Steuerungseinheit 62 empfängt Prüfsummen vom Hauptsystem und
vom mindestens einen entfernten System. Diese Prüfsummen werden vom sendenden
System für
entsprechende Dateien berechnet, die synchronisiert werden müssen. Die Steuerungseinheit 62 vergleicht
die empfangenen entsprechenden Prüfsummen. Zum Beispiel empfängt sie
vier Prüfsummen,
jede von einem der Computersysteme 1, 2, 3 und 4.
Jede dieser vier Prüfsummen
wird der speziellen Datei zugeordnet, die zu aktualisieren ist.
Die Steuerungseinheit 62 vergleicht die vom Computersystem 1 empfangene
Prüfsumme mit
jeder der von den Computersystemen 2 bis 4 empfangenen
Prüfsummen.
Dann erkennt es mit Hilfe dieses Vergleichs entsprechende Dateien
mit unterschiedlichen Prüfsummen.
-
Zum
Beispiel erkennt es, dass die von den Computersystemen 1 und 2 empfangenen
Prüfsummen
für die
spezielle Datei identisch sind, aber dass die von den Computersystemen 1 und 3 empfangenen
Prüfsummen
für die
spezielle Datei unterschiedlich sind.
-
Wenn
die Steuerungseinheit 62 entsprechende Dateien mit unterschiedlichen
Prüfsummen erkennt,
löst es
die Übertragung
der erkannten Dateien vom Hauptsystem zu dem entfernten System aus, welches
eine entsprechende Datei mit einer unterschiedlichen Prüfsumme enthält.
-
Die
detaillierte Funktion der Steuerungseinheit 62 wird nun
anhand der 2 beschrieben:
-
2 zeigt
ein Flussdiagramm, das die Kommunikation zwischen dem Server 6,
den Computersystemen 1 und 2 und der Steuerungs-Station 7 darstellt.
Es zeigt die Nachrichten 51 bis 60, 610 und 620,
die zwischen dem Server 6, den Computersystemen 1 und 2 und
der Steuerungs-Station 7 ausgetauscht werden.
-
Die
Steuerungs-Station 7 sendet die Steuerungs-Nachricht 51 über das
Kommunikationsnetz 5 zum Server 6. Die Steuerungs-Nachricht 51 spezifiziert,
welches der Computersysteme 1 bis 4 das Hauptsystem
ist, und welche der Computersysteme 1 bis 4 zugeordnete
entfernte Systeme sind. Zum Beispiel weist die Steuerungs-Nachricht 51 dem Computersystem 1 die
Rolle des Hauptsystems und dem Computersystem 2 die Rolle
des entfernten Systems zu.
-
Weiterhin
spezifiziert die Befehls-Nachricht 51 die Gruppe von Dateien,
die aktualisiert werden müssen.
-
Zum
Beispiel enthält
sie eine Beschreibung oder Spezifikations-Parameter, welche diese
Dateien spezifizieren. Weiterhin können durch die Befehls-Nachricht 51 zusätzliche
Informationen, wie Datenstrukturen, Ausnahmen, usw. spezifiziert
werden.
-
Die
Steuerungseinheit 62 bestimmt eine Datei-Klassifikation,
welche die Gruppe von Dateien spezifiziert, die von der Befehls-Nachricht 51 definiert werden.
Zur Ausführung
dieser Funktion ruft die Steuerungseinheit 62 Informationen über die
Datenstruktur der Dateisysteme des Hauptsystems und des entfernten
Systems ab. Diese Information kann im Dateisystem 63 gespeichert
sein, es ist aber auch möglich,
dass die Steuerungseinheit 62 diese Information von den
Computersystemen 1 bis 4 anfordert.
-
Die
Datei-Klassifikation beschreibt die Teile der Datenstruktur der
Dateisysteme der Computersysteme 1 und 2, die
synchronisiert werden müssen. Die
Datei-Klassifikation kann ein oder mehrere Kriterien enthalten.
Kriterien können
miteinander verknüpft
sein (z.B. durch logische Operatoren). Kriterien sind zum Beispiel
Dateiname, Datei-Pfad, Dateierweiterung, usw. Weiterhin ist es möglich, dass
die Datei-Klassifikation alle Dateien des Dateisystems auswählt.
-
Es
ist möglich,
dass die Computersysteme 1 und 2 unterschiedliche
Datenstrukturen haben, und dass die Steuerungseinheit 62 diese
Unterschiede in ihrer Berechnung berücksichtigt.
-
Entsprechend
der Details der Berechnung der Datei-Klassifikation kann die Befehls-Nachricht 51 durch
eine Vielzahl von Nachrichten ersetzt werden, die zwischen dem Server 6,
der Steuerungs-Station 7 und den Computersystemen 1 bis 4 ausgetauscht
werden.
-
Die
Steuerungseinheit 62 fordert vom Hauptsystem und vom entfernten
System, mit einer Liste von Dateien zu antworten, die mit der Datei-Klassifikation übereinstimmen.
Sie löst
das Senden der Befehls-Nachrichten 52 und 53 an
die Computersysteme 1 und 2 aus, die von diesen
Systemen fordern, mit einer Liste von Dateien zu antworten, die
mit der berechneten Datei-Klassifikation übereinstimmen.
-
Es
ist möglich,
dass die Datei-Klassifikation spezifiziert, welches der Untersysteme 11 bis 13 und 21 bis 23 aktualisiert
werden muss, und dass die Datei-Klassifikation spezifiziert, ob
beide parallelen Systeme 17, 18, 27 und 28 aktualisiert
werden müssen.
-
Die
Systeme 1 und 2 bestimmen die Dateien, die mit
der empfangenen Datei-Klassifikation übereinstimmen. Weiterhin bestimmen
die Systeme 1 und 2 ein oder mehrere Datei-Attribute
jeder Datei, die mit der empfangenen Datei-Klassifikation übereinstimmen.
Die Anzahl und die Art der von den Systemen 1 und 2 bestimmten
Datei-Attribute kann von der Steuerungseinheit 62 spezifiziert
werden, zum Beispiel als Teil der Datei-Klassifikation, die mit
den Nachrichten 52 und 53 übertragen wird. Es ist aber
auch möglich,
dass die Systeme 1 und 2 einen vorher festgelegten
Bereich von Datei-Attributen für
jede Datei bestimmen, die mit der Datei-Klassifikation übereinstimmt.
Weiterhin ist es möglich,
dass die Anzahl und die Art der bestimmten Parameter sich von Datei
zu Datei unterscheiden und von der Art der bestimmten Datei abhängen.
-
Datei-Attribute
beschreiben die Charakteristiken einer Datei. Datei-Attribute sind
zum Beispiel Datei-Name, Größe der Datei,
Inhaber der Datei, Benutzergruppe, Zugriffsrechte, usw.
-
Zum
Beispiel fragt die Steuerungseinheit 15 das Dateisystem 17 ab
und filtert Datei-Attribute der Dateien heraus, die mit der empfangenen
Datei-Klassifikation übereinstimmen.
Die gefilterten Datei-Attribute sind Zugriffsrechte, Inhaber, Gruppe,
iNode und Verbindungs-Zähler.
-
Dasselbe
wird von der Steuerungseinheit 16 durchgeführt, die
Dateien des Dateisystems 18, die mit der empfangenen Datei-Klassifikation übereinstimmen,
herausfiltert.
-
Es
ist aber auch möglich,
dass die Nachrichten 52 und 53 bereits eine komplette
Liste von zu aktualisierenden Dateien enthalten, die zum Beispiel durch
ihren jeweiligen Dateinamen spezifiziert werden, der von den Computersystemen 1 und 2 dazu benutzt
wird, Dateien herauszufiltern, die mit den Dateien dieser Liste übereinstimmen.
-
Weiterhin
ist es möglich,
dass diese Datei-Liste nicht vom Server 6 berechnet wird,
sondern mit der Steuerungsnachricht 51 empfangen wird,
von einem Bediener eingegeben wird, oder in den entfernten Systemen
und im Master-System vordefiniert ist.
-
Nachdem
dieser Auswahl- und Filterschritt durchgeführt wurde, liefern die Computersysteme 1 und 2 eine
Liste von Dateien zurück,
die mit der durch die Nachrichten 52 und 53 spezifizierten
Datei-Klassifikation übereinstimmen.
Jede dieser Dateilisten enthält
die gefilterten Dateiattribute der Dateien des entsprechenden entfernten
Systems, die mit der Datei-Klassifikation übereinstimmen. Diese Dateilisten werden
als Teil der Nachrichten 54 und 55 über das Datennetz 5 zum
Server 6 übertragen.
-
Die
empfangenen Listen von Dateien repräsentieren die Dateien der Computersysteme 1 und 2, die
aktualisiert werden müssen.
Die empfangenen Listen werden von der Steuerungseinheit 62 verglichen.
Zum Beispiel erzeugt die Steuerungseinheit 62 eine Liste
mit drei Zeilen, wobei die erste Zeile die Datei kennzeichnet, die
zweite Zeile kennzeichnet, ob diese Datei im Computersystem 1 verfügbar ist, und
die dritte Zeile kennzeichnet, ob diese Datei im Computersystem 2 verfügbar ist.
Beim Vergleich der empfangenen Listen filtert die Steuerungseinheit 62 identische
Dateien heraus, d.h. Dateien, die in beiden Systemen verfügbar sind,
im Hauptsystem 1 und im entfernten System 2.
-
Kennungen
dieser identischen Dateien können
in einer ersten Dateiliste gespeichert werden. Die erste Dateiliste
repräsentiert
Dateien, für
die Prüfsummen
berechnet werden müssen.
-
Weiterhin
ist es möglich,
dass die Steuerungseinheit 62 eine, mehrere oder alle der
folgenden weiteren Dateilisten erzeugt: Eine Liste von Dateien,
die im entfernten System gelöscht
werden müssen;
eine Liste von Dateien, bei denen die Zugriffsrechte dieser Dateien
im entfernten System geändert
werden müssen;
eine Liste von Dateien, bei denen die Gruppenzuordnung im entfernten
System geändert
werden muss; eine Liste von Dateien, bei denen die symbolischen
Links dieser Dateien im entfernten System geändert werden müssen; und
eine Liste von Dateien, bei denen die Hard-Links dieser Dateien
verarbeitet werden müssen.
-
Die
Steuerungseinheit 62 berechnet den Inhalt dieser Listen
durch Vergleich der Dateiattribute der oben beschriebenen Listen,
die vom Hauptsystem und von den entfernten Systemen empfangen wurden.
-
Dann
sendet die Steuerungseinheit 62 die Nachrichten 56 und 57 zum
Computersystem 1 bzw. 2. Die Nachrichten 56 und 57 fordern
die Berechnung von Prüfsummen
für eine
Anzahl von Dateien an, die in den Nachrichten 56 und 57 spezifiziert
sind. Die durch die Nachrichten 56 und 57 spezifizierten
Dateien sind die Dateien, die durch den oben beschriebenen Prozess
herausgefiltert wurden.
-
Wenn
sie die Nachrichten 56 und 57 empfangen, beginnen
die Systeme 1 und 2 mit der Berechnung von Prüfsummen
für die
in den Nachrichten 56 bzw. 57 spezifizierten Dateien.
Die Berechnung der Prüfsummen
wird durch einen zyklischen Blockprüfungs-Algorithmus (CRC) mit
32 Bit durchgeführt.
-
Weiterhin
ist es möglich,
einen der folgenden Algorithmen zur Berechnung der Prüfsumme zu
benutzen: ADLER32, BSD sum, POSIX cksum, CRC-16, MD2, MD5, SHA und
Unix System V sum.
-
Die
berechneten Prüfsummen
werden zurück
zum Server 6 gesendet. Die Computersysteme 1 und 2 antworten
mit den Nachrichten 59 und 58, die eine Liste
von Dateien und entsprechenden berechneten Prüfsummen enthalten. Der Server 6 vergleicht eine
nach der anderen die entsprechenden Prüfsummen, die von den Computersystemen 1 und 2 empfangen
wurden.
-
Wenn
dem Hauptsystem mehr als ein entferntes System zugeordnet ist, erfolgt
dieser Prüfsummenvergleich
für jede
Verbindung zwischen Hauptsystem und entferntem System getrennt.
-
Zum
Beispiel erzeugt die Steuerungseinheit 62 im Dateisystem 63 eine
Liste mit vier Zeilen, die erste Zeile kennzeichnet Dateien, die
zweite Zeile kennzeichnet, ob die Datei im Hauptsystem verfügbar ist,
die dritte Zeile kennzeichnet, ob die Datei im entfernten System
verfügbar
ist, und die vierte Zeile kennzeichnet, ob die vom Hauptsystem und
vom entfernten System empfangenen Prüfsummen unterschiedlich oder
gleich sind. Dann bestimmt sie mit Hilfe dieser Liste die Dateien,
die im Hauptsystem vorhanden sind, aber im entfernten System fehlen, oder
die unterschiedliche Prüfsummen
haben.
-
Eine
Liste solcher erkannter Dateien wird durch die Nachrichten 610 zum
Computersystem 1 übertragen,
welches das Hauptsystem ist. Die Nachricht 610 fordert
vom Computersystem 1, eine Nachricht an das entfernte System 2 zu
senden, das den Inhalt der in der Nachricht spezifizierten Dateien
enthält.
-
Wenn
es die Nachricht 610 empfängt, erzeugt das Computersystem 1 Kopien
der spezifizierten Dateien und sendet diese Kopien als Nachricht 620 über das
Datennetz 5 zum Computersystem 2.
-
Weiterhin
bestimmt die Steuerungseinheit 62 mit Hilfe der oben beschriebenen,
im Dateisystem 63 erzeugten Liste die Dateien, die im entfernten
System vorhanden sind, aber im Hauptsystem fehlen. Die Steuerungseinheit 62 sendet
eine Liste dieser Dateien zum Computersystem 2. Die Nachricht 60 fordert
vom Computersystem 2, die Dateien zu löschen, die in der begleitenden
Liste spezifiziert sind.
-
Weiterhin
ist es möglich,
dass die Steuerungseinheit vom entfernten Computersystem 2 anfordert,
die erforderlichen Aktionen für
die Dateien durchzuführen,
die in den oben beschriebenen weiteren Listen spezifiziert sind.
Zum Beispiel fordert sie die Änderung
von Zugriffsrechten auf Dateien an, die Änderung des Inhabers und/oder
der Gruppen-Dateiattribute von Dateien, die Anpassung symbolischer Links
und/oder von Hard-Links von Dateien, usw.
-
Das
Computersystem 2 ersetzt die Dateien, die in der Nachricht 620 beschrieben
werden, durch die Dateien, die in der Nachricht 620 enthalten
sind. Weiterhin löscht
es die in der Nachricht 60 beschriebenen Dateien.
-
Eine
weitere Ausführung
der Erfindung wird nun anhand von 3 beschrieben.
Diese Ausführung
berücksichtigt
die Einschränkung,
dass Daten-Inkonsistenzen, die durch die Datensynchronisation verursacht
werden können,
verhindert werden müssen.
-
3 zeigt
ein Flussdiagramm, das die Kommunikation zwischen dem Server 6,
der Steuerungs-Station 7, der Steuerungseinheit 15 und
der Steuerungseinheit 25 darstellt. Weiterhin zeigt sie eine
Vielzahl von Nachrichten 630, 64 bis 87,
die zwischen den Computersystemen 1 und 2, dem
Server 6 und der Steuerungs-Station 7 über das Datennetz 5 ausgetauscht
werden müssen.
-
Die
Nachricht 630 entspricht der Nachricht 51 in 2.
-
Zusätzlich zur
Berechnung der Datei-Klassifikation ordnet die Steuerungseinheit 62 zu
aktualisierende Dateien einer Anzahl von Datei-Blöcken zu. Zum
Beispiel ordnet sie die Datei-Klassifikation
drei verschiedenen Datei-Blöcken
zu. Die Zuordnung berücksichtigt
hauptsächlich
Abhängigkeiten
und Beziehungen zwischen Dateien und hat die Absicht, abhängige Dateien
zu gruppieren. Um diese Zuordnung durchzuführen, greift die Steuerungseinheit 62 auf Daten
zu, welche die Datenstruktur der Computersysteme 1 und 2 beschreiben.
Im Folgenden führt
sie die Datensynchronisation jedes dieser Blöcke getrennt durch.
-
Zum
Beispiel führt
sie eine Datensynchronisation 111 für den ersten Block durch, dann
führt sie eine
Datensynchronisation 112 für den zweiten Block durch,
und dann führt
sie eine Datensynchronisation 113 für den dritten Block durch.
-
Bezüglich zur
ersten Datensynchronisation 111 sendet sie Nachrichten 64 und 65 zu
den Steuerungseinheiten 15 und 25. Die Nachrichten 64 und 65 fordern
von den Steuerungseinheiten 15 und 25, den Zugriff
auf die Dateien des zu aktualisierenden Blocks zu blockieren, bis
die Datensynchronisation 111 beendet ist. Die Nachrichten 64 und 65 enthalten eine
entsprechende Datei-Klassifikation, welche die Dateien des ersten
Blocks kennzeichnet.
-
Dann
werden die Nachrichten 66 bis 76 zwischen dem
Server 7 und den Steuerungseinheiten 25 und 15 ausgetauscht,
die die Datensynchronisation der Dateien des ersten Blocks entsprechend
der anhand von 2 beschriebenen Prozedur durchführen.
-
Dann
sendet die Steuerungseinheit 62 die Nachrichten 78 und 79 zur
Steuerungseinheit 15 und 25, welche den Abschluss
der Datensynchronisation anzeigen und das Rückgängigmachen der Blockierung
der aktualisierten Dateien anfordern.
-
Im
Folgenden führt
die Steuerungseinheit 62 dieselbe Prozedur für die Datensynchronisation 112 und 113 aus:
Die
Nachrichten 80, 81, 84 und 85 werden
zu den Steuerungseinheiten 25 und 15 gesendet
und fordern die Blockierung des Zugriffs auf die zu aktualisierenden
Dateien, bis die Datensynchronisation beendet ist. Nach der Beendigung
der Datensynchronisationen 112 und 113 werden
die Nachrichten 82, 83, 86 und 87 zu
den Steuerungseinheiten 15 und 25. gesendet und
zeigen die Beendigung der Datensynchronisation an und fordern das
Rückgängigmachen der
Blockierung der entsprechenden Dateien.
-
Im
Folgenden werden weitere Ausführungen der
Erfindung anhand von 4 beschrieben. Diese Ausführung berücksichtigt
die Anforderung, Blockierungen der Systeme 1 bis 4 zu
verhindern und trotzdem durch die Datensynchronisation verursachte
Inkonsistenzen zu verhindern.
-
4 zeigt
ein Flussdiagramm, das die Kommunikation zwischen dem Server 6,
de Steuerungseinheiten 16, 26 und 36 und
der Steuerungs-Station 7 darstellt. Die Nachrichten 88 bis 104 werden
zwischen dem Server 6, der Steuerungs-Station 7 und
den Steuerungseinheiten 16, 26 und 36 über das
Datennetz 5 ausgetauscht. Diese Nachrichten werden drei
Datensynchronisationen 121, 122 und 123 zugeordnet.
-
Die
im Folgenden beschriebene Ausführung vermeidet
die Zuordnung von Dateien zu Datei-Blöcken, es ist aber auch möglich, die
Prozedur gemäß 4 mit
der Prozedur gemäß 3 zu
kombinieren.
-
Nachdem
die Datei-Klassifikation berechnet wurde, werden die Nachrichten 88 bis 90 von
der Steuerungseinheit 62 zu den Steuerungseinheiten 16, 26 bzw. 36 gesendet.
Die Nachrichten 88 bis 90 fordern von den Dateisystemen
der Computersysteme 1 bis 3 eine Überprüfung auf
durch die Datensynchronisation verursachte Daten-Inkonsistenzen.
Zum Beispiel enthalten die Nachrichten 88 bis 90 eine
entsprechende Datei-Klassifikation, und die Steuerungseinheiten 16, 26 und 36 fordern
von den Dateisystemen 18, 28 und 38 die Überprüfung auf
Daten-Inkonsistenzen
der durch die Datei-Klassifikation spezifizierten Dateien. Daten-Inkonsistenzen
werden zum Beispiel mit Hilfe von Protokolldateien oder Transaktions-Mechanismen überprüft.
-
Zum
Ende der Datensynchronisation, die gemäß 2 durchgeführt wird,
werden neue Dateninhalte der Dateien durch die Nachrichten 91 und 92 vom
Hauptsystem 1 zu den entfernten Systemen 2 und 3 übertragen.
Die Dateisysteme 28 und 38 überprüfen, ob Daten-Inkonsistenzen
verursacht werden, wenn Dateien durch Dateiinhalte ersetzt werden,
die durch die Nachrichten 91 bzw. 92 empfangen
werden. Die Ergebnisse dieser Überprüfung werden durch
die Nachrichten 93 bis 95 an die Steuerungseinheit 62 gesendet.
Die Nachrichten 93 bis 95 enthalten eine entsprechende
Liste von Dateien, die als inkonsistent markiert sind.
-
Zum
Beispiel empfängt
die Steuerungseinheit 62 eine erste Liste inkonsistenter
Dateien von der Steuerungseinheit 26 und eine zweite Liste
inkonsistenter Dateien von der Steuerungseinheit 36. Die
Steuerungseinheit 62 startet eine neue Datensynchronisation 122 für Dateien,
die als inkonsistente Dateien markiert sind. Bezüglich des entfernten Systems 2 startet
sie eine solche Datensynchronisation für Dateien, die in der ersten
Liste als inkonsistent markiert sind, und für das entfernte System 3 startet sie
eine solche Datensynchronisation für die Dateien, die in der zweiten
Liste als inkonsistent markiert sind.
-
Zwei
verschiedene Strategien werden auf die Beziehung zwischen Hauptsystem
und entferntem System zwischen den Computersystemen 1 und 2 und
zwischen den Computersystemen 1 und 3 wie folgt
angewendet:
Die vom Server 6 zur Steuerungseinheit 26 gesendete
Nachricht 97 ist eine Blockierungs-Nachricht, mit der angefordert
wird, den Zugang zu den Dateien der ersten Liste zu blockieren.
Diese Prozedur wird zum Beispiel gemäß 3 beschrieben.
-
Die
Nachricht 96 fordert die Überprüfung auf durch die Daten-Synchronisation verursachte
Daten-Inkonsistenzen von Dateien der zweiten Liste. Bezüglich des
Computersystems 3 befolgt die zweite Daten-Synchronisation 122 derselben
Strategie wie die erste Daten-Synchronisation 121.
-
Die
Nachrichten 98 und 99 senden den Inhalt der Dateien,
die zu aktualisieren sind, vom Hauptsystem zu den entsprechenden
entfernten Systemen 2 und 3. Die Nachricht 100 ist
eine Nachricht zum Rückgängigmachen
der Blockierung, wie aus der Ausführung gemäß 3 bekannt.
Die Nachricht 101 ist dieselbe Art von Nachricht wie die
Nachricht 94, sie enthält
eine Liste von noch inkonsistenten Dateien.
-
Im
Folgenden startet die Steuerungseinheit 62 erneut eine
Daten-Synchronisation 123 für die Dateien, die in der Nachricht 101 spezifiziert
sind. Sie sendet die Nachricht 102, welche die Überprüfung auf
Daten-Inkonsistenzen für
die Dateien der Nachricht 101 anfordert. Die Nachricht 103 sendet
den Inhalt der zu aktualisierenden Datei zur Steuerungseinheit 36.
Die Nachricht 104 zeigt an, dass keine weiteren Daten-Inkonsistenzen beobachtet
werden.
-
Wenn
die Nachricht 104 empfangen wird, wird die gesamte Daten-Synchronisation beendet, und
die Steuerungseinheit 62 hört damit auf, weitere Daten-Synchronisationen
zu initiieren.