DE69130014T2 - Vorrichtung and Verfahren zur Verarbeitung replizierter Daten in einem verteilten Datenverarbeitungssystem - Google Patents
Vorrichtung and Verfahren zur Verarbeitung replizierter Daten in einem verteilten DatenverarbeitungssystemInfo
- Publication number
- DE69130014T2 DE69130014T2 DE69130014T DE69130014T DE69130014T2 DE 69130014 T2 DE69130014 T2 DE 69130014T2 DE 69130014 T DE69130014 T DE 69130014T DE 69130014 T DE69130014 T DE 69130014T DE 69130014 T2 DE69130014 T2 DE 69130014T2
- Authority
- DE
- Germany
- Prior art keywords
- file
- message
- replicated
- processing
- command
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 190
- 238000000034 method Methods 0.000 title claims description 168
- 230000004044 response Effects 0.000 claims description 176
- 230000010076 replication Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000011084 recovery Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 4
- 230000003252 repetitive effect Effects 0.000 claims 2
- 238000002372 labelling Methods 0.000 claims 1
- 230000001172 regenerating effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 238000013102 re-test Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 3
- 230000015654 memory Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Description
- Die Erfindung betrifft ein Verfahren zur Verarbeitung replizierter Daten in einem verteilten Datenverarbeitungssystem, bei dem mehrere Prozessoren mit jeweils replizierten Betriebsmitteln über ein Netzwerk verbunden sind, wobei diese Prozessoren jeweils einen Teilauftrag zum Verarbeiten von von den replizierten Betriebsmitteln erzeugten Daten ausführen. Insbesondere betrifft die Erfindung ein Verarbeitungsverfahren für replizierte Daten in einem verteilten Datenverarbeitungssystem, das dazu geeignet ist, auf wirkungsvolle Weise eine hoch-zuverlässige verteilte Verarbeitung auszuführen.
- Derzeit werden Computer in großem Umfang genutzt, und es laufen verschiedene Forschungs- und Entwicklungsvorhaben, die hauptsächlich auf eine Verbesserung von Computern hinsichtlich hoher Geschwindigkeit und hoher Zuverlässigkeit abzielen.
- Insbesondere wird die Zunahme verteilter Verarbeitungssysteme in der Computerindustrie als vierte Welle erwartet, folgend auf die Großrechner von Mitte der 60er Jahre bis Mitte der 70er Jahre, die Minicomputer von Mitte der 70er bis in die frühen 80er Jahre sowie die PCs in den 80er Jahren.
- Der Begriff "verteiltes Verarbeitungssystem" betrifft ein System, das das gesamte, mehrere Computer verbindende Netzwerk so nutzt, als liege ein einzelner Computer vor.
- Ferner betrifft der Begriff "verteilte Verarbeitung" eine Verarbeitungsform, bei der mehrere über Kommunikationsleitungen verbundene Computer zusammenarbeiten, um einen Job auszuführen. Jeder Computer verfügt über einen Prozessor zum Ausführen eines Teils dieses Jobs, und diese Prozessoren senden und empfangen Meldungen, um ihre Prozesse auszuführen.
- Es ist eine Aufgabe verteilter Verarbeitung, eine Funktionsdezentralisierung, eine Belastungsdezentralisierung, eine Bereichsdezentralisierung sowie höhere Zuverlässigkeit durch Dezentralisierung aller Jobs, die bisher zur Verarbeitung auf einem Computer zentralisiert waren, auf mehrere Computer, um in diesen verarbeitet zu werden, zu erzielen.
- D.h., dass die Größe der jeweiligen Computer verringert und ihre Wirtschaftlichkeit dadurch verbessert wird, dass die jeweiligen Computer nur mit den jeweils erforderlichen Funktionen versehen werden, um die Funktionen zu dezentralisieren. Außerdem verfügen die jeweiligen Computer über hohes Funktionsvermögen, weswegen ein System mit hohem Funktionsvermögen aufgebaut werden kann.
- Jobs, die die Fähigkeiten eines Computers hinsichtlich der Rechengeschwindigkeit, des Speichervermögens und der Eingabe/Ausgabe-Geschwindigkeit überschreiten, können ebenfalls dezentralisiert oder auf mehrere Computer verteilt und in diesen verarbeitet werden. Im Ergebnis kann eine Zunahme oder Abnahme der Belastung flexibel gemeistert werden.
- Ferner benötigt es viel Zeit, Daten zu übertragen, wenn eine große Datenmenge an einen Computer übertragen wird, der weit entfernt liegt, und sie in diesem verarbeitet wird. Wenn eine Bereichsverteilung verwendet wird und durch einen Bereichscomputer eine einfache Vorverarbeitung ausgeführt wird, um alleine das Ergebnis zum Zentrum zu übertragen, wird jedoch ein Teil des Verarbeitungsergebnisses unmittelbar vor Ort erzielt. Ferner reicht eine kleine Menge übertragener Daten aus.
- Wenn die gesamte Verarbeitung durch einen Computer ausgeführt wird, hält das gesamte System an, wenn dieser Computer eine Störung erleidet. Selbst wenn ein Computer eine Störung erleidet, wenn Jobs durch verteilte Verarbeitung mehreren Computern zugeordnet sind, kann jedoch die Verarbeitung durch die verbliebenen Computer mit etwas beeinträchtigtem Funktionsvermögen fortgesetzt werden, was zu verbesserter Systemzuverlässigkeit führt.
- Eine derartige verteilte Verarbeitung ist in "Electronic information communication handbook" (herausgegeben von The Institute of Electronics, Information and Communication Engineers und veröffentlicht von OHM SHA LTD. im Jahr 1988) auf den Seiten 1615-1626 beschrieben.
- Ein Teil der verteilten Verarbeitung aus den letzten Jahren unterstützt verteilte Verarbeitung zwischen verschiedenen Arten von Maschinen, um Erzeugnisse verschiedener Hersteller über ein Netzwerk zu verbinden, wie es in der japanischen Zeitschrift "Nikkei Electronics, 1990, 6-11, No. 502" (veröffentlicht von Nikkei BP Ltd. im Jahr 1990) auf den Seiten 121-148 beschrieben ist.
- Bei herkömmlichen Verfahren zum Verwalten und Kontrollieren von Dateien in verteilten Verarbeitungssystemen existiert ein Verfahren, bei dem nur wichtige Dateien mit beliebigem Replikationsgrad vervielfältigt werden und diese verwaltet werden.
- Als Verfahren betreffend die Zuverlässigkeit der so verviel fältigten Daten existiert ein Verfahren des Sammelns der aus den replizierten Dateien ausgegebenen Daten in einem Computer unter Verwendung der Daten für eine vorbestimmte Zeitspanne und einer Zusammenpassprüfung hinsichtlich gesammelter Daten.
- Jedoch besteht bei einem herkömmlichen Kontrollverfahren für replizierte Dateien in verteilten Verarbeitungssystemen ein Problem dahingehend, dass beim Auftreten einer Fehlübereinstimmung hinsichtlich des Inhalts der gesammelten Daten kein Wiederherstellungsverfahren in Betracht gezogen ist und die Verarbeitung des Zugreifens auf die Datei anhält, wenn ein Zustand fehlender Übereinstimmung oder fehlenden Zusammenpassens aufgetreten ist.
- Da das Zusammenpassen zwischen von den replizierten Dateien ausgegebenen Daten nach einem Sammeln für die vorbestimmte Zeitspanne geprüft wird, ist die Zugriffsverarbeitung durch diese Zeit verzögert, was zu einem anderen Problem führt.
- Es ist eine Aufgabe der Erfindung, ein Verfahren und ein System zur Verarbeitung replizierter Daten in einem verteilten Verarbeitungssystem zum Überwinden dieser Probleme im Stand der Technik zu schaffen, die sich automatisch von einem Nichtzusammenpass-Zustand zwischen Dateien, die mit wahlfreiem Repliziergrad vervielfältigt wurden, erholen können, ohne die Verarbeitung eines Dateizugriffs zu unterbrechen, und zwar selbst dann, wenn ein Nichtzusammenpassen zwischen den vervielfältigten Dateien aufgetreten ist, und die einen Nichtzusammenpass-Zustand, wie er zwischen den vervielfältigten Dateien auftritt, erkennen, ohne das Ansprech-Funktionsvermögen beim Dateizugriff zu verringern, um das Verarbeitungsvermögen und die Zuverlässigkeit des ver teilten Verarbeitungssystems zu verbessern.
- Um die oben beschriebenen Aufgaben zu lösen, ist gemäß der Erfindung, wie sie in den beigefügten Ansprüchen dargelegt ist, ein Verarbeitungsverfahren für replizierte Daten für ein verteiltes Verarbeitungssystem geschaffen, bei dem mehrere Prozessoren über ein gemeinsames Übertragungsmedium verbunden sind und diese Prozessoren Prozesse unter Verwendung erster empfangener Daten zu replizierten Daten, wie sie durch in jeweiligen Prozessoren replizierte Ressourcen erzeugt werden, ausführen und ein Zusammenpassen zwischen den ersten empfangenen Daten und anschließend empfangenen replizierten Daten prüfen.
- Gemäß einer weiteren Ausführungsform der Erfindung kann ein Verfahren zum Verarbeiten replizierter Daten für ein verteiltes Verarbeitungssystem, wie gemäß der obigen Erscheinungsform (1) definiert, dafür sorgen, dass Dateien in jedem externen Speichermedium repliziert werden, wie sie jeweils mit mehreren Prozessoren verbunden sind, und ein beliebiger Prozessor unter den mehreren Prozessoren eine Anforderung für Zugriff auf replizierte Dateien ausgibt, replizierte Antwortdaten von den replizierten Daten entsprechend der Zugriffsanforderung empfängt, Prozesse unter Verwendung von Antwortdaten, wie sie als erste unter den replizierten Antwortdaten empfangen wurden, weiter ausführt und das Zusammenpassen der zuerst empfangenen Antwortdaten unter Verwendung der anschließend empfangenen replizierten Antwortdaten prüft.
- Gemäß einer weiteren Ausführungsform der Erfindung kann ein Verfahren zur Verarbeitung replizierter Daten für ein verteiltes Verarbeitungssystem, wie hinsichtlich der Erscheinungsform (2) definiert, dafür sorgen, dass derjenige Prozessor, der die Zugriffsanforderung ausgegeben hat, keine nächste Dateizugriffsanforderung erzeugt, bevor nicht die Übereinstimmungsprüfung zwischen replizierten Antwortdaten abgeschlossen ist.
- Gemäß einer weiteren Ausführungsform der Erfindung kann ein Verfahren zur Verarbeitung replizierter Daten für ein verteiltes Verarbeitungssystem, wie gemäß der Erscheinungsform (3) definiert, dafür sorgen, dass dann, wenn durch eine Zusammenpassprüfung zwischen Antwortdaten ein Nichtzusammenpassen zwischen Antwortdaten erkannt wird, der Prozessor, der die Zugriffsanforderung erzeugt hat, eine erste Wiederholungsprozedur ausführt, bei der er eine Anweisung zum Löschen eines durch die Zugriffsanforderung errichteten Dateizustands ausgibt, er eine zweite Wiederholungsprozedur zum erneuten Erzeugen der Zugriffsanforderung ausführt, nachdem der durch die erste Wiederholungsprozedur errichtete Dateizustand gelöscht wurde, und er die erste Wiederholungsprozedur und die zweite Wiederholungsprozedur wiederholt, bis das Nichtzusammenpassen zwischen Antwortdaten verschwindet.
- Gemäß einer weiteren Erscheinungsform der Erfindung kann ein Verfahren zur Verarbeitung replizierter Daten in einem verteilten Verarbeitungssystem, wie gemäß der Erscheinungsform (4) definiert, dafür sorgen, dass anstelle der Wiederholung der ersten und der zweiten Wiederholungsprozedur, bis das Nichtzusammenpassen zwischen Antwortdaten verschwindet, der Prozessor, der die Zugriffsanforderung erzeugt hat, die zweite Wiederholungsprozedur mit einer wahlfreien, voreingestellten Zeitverschiebung ausführt.
- Gemäß einer weiteren Erscheinungsform der Erfindung kann ein Verfahren zur Verarbeitung replizierter Daten in einem verteilten Verarbeitungssystem, wie gemäß der Erscheinungsform (4) oder (5) definiert, dafür sorgen, dass der Prozessor, der die Zugriffsanforderung erzeugt hat, keine Verarbeitung unter Verwendung der zuerst empfangenen Antwortdaten ausführt, sondern er alle von replizierten Dateien zugeführten Antwortdaten sammelt und die Verarbeitung ausführt, nachdem er ein Zusammenpassen zwischen allen gesammelten Antwortdaten geprüft hat und ein Zusammenpassen zwischen Antwortdaten als Ergebnis der ersten und der zweiten Wiederholungsprozedur bestimmt hat.
- Gemäß einer weiteren Erscheinungsform der Erfindung kann ein Verfahren zur Verarbeitung replizierter Daten in einem verteilten Verarbeitungssystem, wie gemäß einer der Erscheinungsformen (4) bis (6) definiert, dafür sorgen, dass derjenige Prozessor, der die Zugriffsanforderung erzeugt hat, die erste und die zweite Wiederholungsprozedur auf Grundlage des Prüfergebnisses zum Zusammenpassen aller von replizierten Dateien gelieferter Antwortdaten, die innerhalb einer wahlfrei eingestellten Zeitperiode gesammelt wurden, ausführt.
- Gemäß einer weiteren Erscheinungsform der Erfindung kann ein Verfahren zur Verarbeitung replizierter Daten in einem verteilten Verarbeitungssystem, wie gemäß der Erscheinungsform (7) definiert, dafür sorgen, dass dann, wenn nicht alle Antwortdaten von replizierten Dateien innerhalb einer wahlfrei voreingestellten Zeitperiode gesammelt werden können, derjenige Prozessor, der die Zugriffsanforderung erzeugt hat, einen Fehler- oder Ausfallprozess zum Prüfen des Zusammenpassens hinsichtlich der Antwortdaten ausführt, die innerhalb einer voreingestellten Zeitperiode gesammelt wurden, und er die Zusammenpassprüfung, die erste und die zweite Wiederholungsprozedur nach der Fehlerprozedur ausführt.
- Gemäß einer weiteren Erscheinungsform der Erfindung kann ein Verfahren zur Verarbeitung replizierter Daten in einem verteilten Verarbeitungssystem, wie gemäß der Erscheinungsform (4) definiert, dafür sorgen, dass der Prozessor, der die Zu griffsanforderung erzeugt hat, als erste Wiederholungsprozedur einen Freigabebefehl zum Aufheben eines Besetztzustands, wie durch exklusive Steuerung eines Lesebefehls errichtet, dann ausgibt, wenn die Zugriffsanforderung der Lesebefehl zum Zeitpunkt der Dateiaktualisierung ist, er einen Löschbefehl zum Löschen eines durch einen Hinzufügebefehl hinzugefügten Datensatzes ausgibt, wenn die Zugriffsanforderung der Hinzufügebefehl ist und er einen Schließbefehl zum Aufheben eines Besetztzustands einer Datei, wie durch einen ausschließlichen Öffnungsbefehl erzeugt, dann ausgibt, wenn die Zugriffsanforderung der ausschließliche Öffnungsbefehl ist.
- Gemäß einer weiteren Erscheinungsform der Erfindung kann ein Verfahren zur Verarbeitung replizierter Daten in einem verteilten Verarbeitungssystem, wie gemäß einer der Erscheinungsformen (4) bis (6) definiert, dafür sorgen, dass die mehreren Prozessoren Meldungen wie eine Zugriffsanforderungsmeldung und eine Zugriffsantwortmeldung im Rundruf an das Übertragungsmedium liefern und verteilte Verarbeitungsvorgänge durch Senden und Empfangen der Meldungen ausführen; wobei jeder der mehreren Prozessoren ein Kommunikationssteuerungs- oder Verwaltungsmodul für einen Rundrufvorgang der Meldung, wie sie vom eigenen Prozessor an das mit anderen Prozessoren verbundene Übertragungsmedium zu liefern ist, und zum Aufnehmen einer Meldung betreffend den eigenen Prozessor aus den im Rundruf auf das Übertragungsmedium gegebenen Meldungen, ein Clientdatei-Steuerungs- oder -verwaltungsmodul zum Liefern der durch das Kommunikationssteuerungsmodul aufgenommenen Meldung an ein Benutzerprogramm zum Verarbeiten der Meldung und zum Erzeugen einer Zugriffsanforderungsmeldung und zum Übertragen derselben an das Kommunikationsverwaltungsmodul auf Grundlage eines vom Benutzerprogramm gelieferten Dateizugriffsbefehls, und eine Speichereinrichtung für übertragene Information zum Einspeichern von durch das Clientdatei-Verwaltungsmodul an das Kommunika tionsverwaltungsmodul übertragener Meldungsinformation aufweist; und wobei der Prozessor, der die Zugriffsanforderung erzeugt hat, die Meldung über das Kommunikationsverwaltungsmodul unter Verwendung des Clientdatei-Verwaltungsmoduls an das Übertragungsmedium überträgt, gleichzeitig damit eine wahlfrei voreingestellte Sammelzeitperiode, wie sie für die Zusammenpassprüfung zu verwenden ist, in die Speichereinrichtung für übertragene Information einspeichert, und eine Zusammenpassprüfung für alle von den replizierten Dateien gelieferten Antwortdaten vornimmt und die erste und die zweite Wiederholungsprozedur auf Grundlage der in der Speichereinrichtung für übertragene Information gespeicherten Zeitperiode ausführt.
- Beim Betreiben der Erscheinungsformen der Erfindung empfängt jeder Prozessor mehrere von den vervielfältigten Dateien übertragene Antwortdaten auf Grundlage eines von ihm selbst ausgegebenen Zugriffsbefehls. Dabei überträgt jeder Prozessor Antwortdaten, wie er sie als erste von den vervielfältigten Dateien empfangen hat, zum Zeitpunkt des Empfangs an das Benutzerprogramm, und er speichert sie gleichzeitig selbst ein.
- Dann vergleicht jeder Prozessor die anschließend empfangenen Antwortdaten mit den als ersten empfangenen Antwortdaten, und er nimmt eine Prüfung hinsichtlich des Auftretens eines Nichtzusammenpassens zwischen den Antwortdaten (d.h. zwischen den replizierten Dateien) vor.
- Wenn dabei eine Fehlübereinstimmung zwischen Antwortdaten erkannt wird, gibt der aktuelle Prozessor, der den Zugriffsbefehl ausgegeben hat, als erstes einen Befehl zum Aufheben des ausgegebenen Zugriffsbefehls für replizierte Dateien aus, und er löscht den durch den selbst ausgegebenen Zugriffsbefehl errichteten Dateizustand (erste Wiederholungs prozedur). Dann gibt der Prozessor erneut denselben Zugriffsbefehl aus (zweite Wiederholungsprozedur).
- Ein Nichtzusammenpasszustand zwischen replizierten Dateien wird dann errichtet, wenn mehrere Prozessoren gleichzeitig auf replizierte Dateien zugreifen. Von jedem Prozessor wird ein Zugriffsbefehl erneut zu individuellen Zeitpunkten ausgegeben. Daher werden die Zeitpunkte der Wiederausgabe der Zugriffsbefehle, wie von den jeweiligen Prozessoren ausgeführt, automatisch gegeneinander versetzt. Hinsichtlich eines wiederausgegebenen Zugriffsbefehls wird dadurch das Auftreten eines Nichtzusammenpasszustands automatisch vermieden.
- Selbst wenn zwischen Dateien, die mit beliebigem Replikationsgrad repliziert wurden, ein Nichtzusammenpassen auftritt, erfolgt daher eine automatische Erholung vom Nichtzusammenpasszustand ohne Unterbrechung der Dateizugriffsverarbeitung.
- Zum Zeitpunkt des ersten Empfangs einer Antwort von replizierten Dateien wird die Steuerung an das Benutzerprogramm zurückgegeben. Daher wird das Funktionsvermögen betreffend die Dateizugriffsreaktion durch eine Zusammenpassprüfung zwischen Dateien nicht verringert.
- Fig. 1 ist ein Blockdiagramm, das ein erstes Ausführungsbeispiel einer Konfiguration gemäß der Erfindung bei einem verteilten Verarbeitungssystem zeigt, bei dem die Erfindung angewandt ist;
- Fig. 2A - 2C sind insgesamt ein Flussdiagramm, das ein erstes Ausführungsbeispiel einer Verarbeitungsoperation im ver teilten Verarbeitungssystem von Fig. 1 gemäß der Erfindung zeigt;
- Fig. 3 ist ein zeitbezogenes Diagramm, das ein Ausführungsbeispiel einer Verarbeitungsoperation im verteilten Verarbeitungssystem von Fig. 1 gemäß der Erfindung zeigt;
- Fig. 4A und 4B sind schematische Diagramme, die Beispiele von Formaten einer Sende-SI-Tabelle und einer Datei bzw. einer Steuertabelle oder Verwaltungstabelle in Fig. 1 zeigen;
- Fig. 5 ist ein Flussdiagramm, das ein zweites Ausführungsbeispiel einer Verarbeitungsoperation im verteilten Verarbeitungssystem von Fig. 1 gemäß der Erfindung zeigt;
- Fig. 6A - 6D sind insgesamt Flussdiagramme zum Erläutern von Verarbeitungsvorgängen entsprechend einem anderen Ausführungsbeispiel der Erfindung;
- Fig. 7A und 7B sind zeitbezogene Diagramme, die eine Verarbeitungsoperation in einem verteilten Verarbeitungssystem mit der Sende-SI-Tabelle und der Dateisteuerungstabelle, wie in Fig. 4A und 4B dargestellt, gemäß einem anderen Ausführungsbeispiel der Erfindung zeigen; und
- Fig. 8 ist ein Blockdiagramm, das ein Beispiel eines verteilten Datenverarbeitungssystems zeigt, das in Zusammenhang mit der Erfindung steht.
- Für ein besseres Verständnis der Erfindung wird darauf hingewiesen, dass die Erfinder vor der vorliegenden Erfindung Dateispeicherungs- und Dateizugriffsverfahren entwickelt ha ben, wie sie im am 18. April 1991 offengelegten Dokument JP- A-03-92942 offenbart sind.
- D.h., dass es sich um ein Dateispeicherverfahren für ein Computersystem mit Prozessoren und Speichern zum Einspeichern von Daten handelt, wobei eine eine Informationsgruppe repräsentierende Datei auf Basis beliebiger logischer Einheiten im Speicher gespeichert oder repliziert wird. Das Dateizugriffsverfahren umfasst das Ausgeben einer Dateizugriffsanforderung in einem speziellen Prozessor, das Bestimmen der Position einer angeforderten Datei auf Grundlage von Information, wie sie in einer Tabelle im eigenen Prozessor abgespeichert ist, und das Zugreifen auf die angeforderten Dateien auf Grundlage der ermittelten Position. Die realisierte Konfiguration ist in Fig. 8 veranschaulicht.
- Fig. 8 zeigt ein Beispiel eines Dateizugriffs- und Speichersystems, bei dem mehrere Prozessoren 810, 820 und 830 über ein gemeinsames Netzwerk 801 verbunden sind, um gegenseitigen Zugriff zu ermöglichen. Jeder der Prozessoren umfasst ein Terminal 812, 822 oder 832 sowie eine Plattenvorrichtung 813, 823 oder 833. Die Plattenvorrichtungen 813, 823 und 833 sind mit Dateien A, B und D, Dateien B, C und F bzw. Dateien A, C und E versehen. Demgemäß ist die Datei A in den Prozessoren 810 und 830 repliziert, und die Dateien B und C sind in den Prozessoren 810 und 820 sowie den Prozessoren 820 und 830 repliziert. Der Replikationsgrad einer Datei wird abhängig vom Bedeutungsgrad von Dateien wahlfrei bestimmt.
- Nachfolgend werden Ausführungsbeispiele der Erfindung im Einzelnen unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
- Fig. 1 zeigt ein Blockdiagramm eines ersten Ausführungsbeispiels einer Konfiguration eines verteilten Verarbeitungs systems gemäß der Erfindung.
- Das verteilte Verarbeitungssystem umfasst ein Netzwerk 4 vom Bustyp, Prozessoren 1-3 zum Ausführen von Prozessen, Terminals 10, 20 und 30 mit jeweils Eingabefunktion für Befehle zur verarbeitenden Handhabung sowie Anzeigefunktion für Verarbeitungsergebnisse, die jeweils mit den Prozessoren 1-3 verbunden sind, sowie Plattenvorrichtungen 11, 21 und 31, die jeweils mit den Prozessoren 1-3 verbunden sind, um zu verarbeitende Daten zu speichern.
- Die Plattenvorrichtung 11 des Prozessors 1 sowie die Plattenvorrichtung 21 des Prozessors 2 enthalten replizierte Dateien (A) 12 bzw. 22.
- Der Prozessor 1 verfügt über ein Benutzerprogramm 13 (nachfolgend als UPa 13 bezeichnet), während der Prozessor 2 über ein Benutzerprogramm 23 verfügt (nachfolgend als UPb 23 bezeichnet).
- Jeder der Prozessoren 1-3 zum Ausführen von Verarbeitungen gemäß der Erfindung führt eine verteilte Verarbeitung dadurch aus, dass er eine auf dem Netzwerk 4 übertragene Meldung aussendet und empfängt.
- Nun erfolgt unter Bezugnahme auf Fig. 1 eine Beschreibung betreffend die Formatkonfiguration der Meldung 5.
- Die Meldung 5 enthält Flags 51 und 58 (in Fig. 1 mit F bezeichnet), die den Beginn bzw. das Ende der Meldung 5 anzeigen, einen Inhaltscode 52 (mit CC bezeichnet), der den Inhalt der Meldung anzeigt, eine Quellenadresse 53 (mit SA bezeichnet) zum Einspeichern der Prozessornummer eines Prozessors, der die aktuelle Meldung erzeugt hat, eine Seriennummer 54 (mit C bezeichnet), die zur Übertragung über das Netzwerk 4 benötigt wird, Quelleninformation 55 (mit SI bezeichnet), die ein Benutzerprogramm (wie z.B. das UPa 13) kennzeichnet, das auf eine Datei zugreift, einen Datenabschnitt 56 (mit DATEN bezeichnet), der ein Bereich zum Einspeichern zu übertragender Information ist, und FCS (Rahmenabfolge-Prüfinformation) 57, bei der es sich um einen Bereich zum Ausführen einer Prüfung hinsichtlich eines Fehlers bei der Übertragung handelt.
- Der Inhaltscode 52 enthält ferner einen Dateinamenabschnitt 521 (mit FNM bezeichnet), der eine Datei bezeichnet, auf die zuzugreifen ist, sowie einen ID(IDentifizier)-Abschnitt 522, der die Klassifizierung einer Meldung anzeigt, wie als Dateizugriffsanforderung oder als Dateizugriffsantwort.
- Beim ersten Ausführungsbeispiel wird als Inhalt des Dateinamenabschnitts 521 ein Dateiname ausgehend von der Annahme verwendet, dass ein Dateiname im System einzigartig ist. Im Dateinamenabschnitt 521 kann jedoch anstelle des Dateinamens ein Code oder dergleichen, entsprechend dem Dateiinhalt verwendet werden.
- Die Quelleninformation 55 beinhaltet einen Prozessornummer- Informationsabschnitt 521 (in Fig. 1 mit PNO 551 bezeichnet), der ein Bereich zum Einspeichern der Prozessornummer eines Prozessors ist, der ein Benutzerprogramm ausführt, einen Tasknummer-Informationsabschnitt 552 (mit TNO bezeichnet), der ein Bereich zum Einspeichern von Information ist, die das gerade ausgeführte Programm anzeigt, und einen Seriennummer-Informationsabschnitt 553 (mit SEQ bezeichnet), der ein Bereich für die fortlaufende Nummer ist und die Reihenfolge einer vom Benutzerprogramm erzeugten Meldung anzeigt.
- Beim Ausführungsbeispiel sendet jeder der Prozessoren 1-3 eine Meldung 5 mit einem solchen Format im Rundruf auf dem Netzwerk 4. Ferner bestimmt jeder der Prozessoren 1-3 auf Grundlage des Inhalts des Inhaltscodes 52 der Meldung 5 auf dem Netzwerk, ob diese Meldung 5 für ihn selbst erforderlich ist, wobei er nur eine erforderliche Meldung 5 aufnimmt.
- Nun wird die Konfiguration jedes der Prozessoren 1-3 sowie dessen Funktion unter Verwendung des Prozessors 1 als Beispiel beschrieben.
- Eine Netzwerk-Schnittstelle 101 ist ein Modul zur Schnittstellenbildung mit dem Netzwerk 4, und eine Plattenschnittstelle 111 ist ein Modul zur Schnittstellenbildung mit der Plattenvorrichtung 11.
- Ein Kommunikationssteuerungsmodul 102 bestimmt auf Grundlage des Inhalts der vom Netzwerk 4 empfangenen Meldung 5 (Inhaltscode 52), ob die empfangene Meldung für den eigenen Prozessor erforderlich ist. Wenn die empfangene Meldung eine erforderliche Meldung ist, speichert das Kommunikationssteuerungsmodul 102 dieselbe in einen Eingangsmeldungsbereich 104 ein. Das Kommunikationssteuerungsmodul sendet eine in einem Ausgangsmeldungsbereich 105 gespeicherte Meldung im Rundruf über die Netzwerk-Schnittstelle 101 als Meldung 5 an das Netzwerk 4.
- Auch hinsichtlich einer gesendeten Meldung überprüft das Kommunikationssteuerungsmodul 102, ob die gesendete Meldung für den eigenen Prozessor erforderlich ist, auf dieselbe Weise, wie dies für eine vom Netzwerk 4 empfangene Meldung gilt. Falls sie erforderlich ist, speichert das Kommunikationssteuerungsmodul 102 diese gesendete Meldung in den Eingangsmeldungsbereich 104 ein.
- So werden eine empfangene Meldung und eine gesendete Meldung entsprechend dem Inhaltscode 52 in den Eingangsmeldungsbereich 104 bzw. den Ausgangsmeldungsbereich 105 eingespeichert.
- Der Inhaltscode einer für den eigenen Prozessor erforderlichen Meldung wird in einer Inhaltscodetabelle 103 gespeichert. Genauer gesagt, werden der "Dateiname" der Datei in der eigenen Plattenvorrichtung 11 und ein Inhaltscode mit einem Code, der anzeigt, dass eine "Zugriffsanforderung" eingestellt ist, im Dateinamenabschnitt 521 bzw. im ID-Abschnitt 522 der Meldung 5 z.B. dann gespeichert, wenn der Prozessor initialisiert wird. In dem ID-Abschnitt 522 wird auch in Kombination oder einzeln, abhängig von der Ausführungssituation des Benutzerprogramms, ein Inhaltscode eingespeichert, der einen Code aufweist, der anzeigt, dass eine Zugriffsantwort eingespeichert ist.
- Das Kommunikationssteuerungsmodul 102 vergleicht den in der empfangenen Meldung 5 enthaltenen Inhaltscode 52 mit dem in der Inhaltscodetabelle 103 registrierten Inhaltscode, und es nimmt die Meldung 5 auf, wenn diese übereinstimmen.
- Ein Clientdatei-Steuerungsmodul 106 liefert eine im Eingangsmeldungsbereich 4 gespeicherte Meldung an den UPa 13 und führt eine Verarbeitung zum Einspeichern der vom UPa 13 gelieferten Sendemeldung in den Ausgangsmeldungsbereich 105 aus.
- Eine Sende-SI(Sourceinformation = Quelleninformation)-Tabelle 107 ist eine Tabelle, in die der Inhalt der im Ausgangsmeldungsbereich 105 zu speichernden Quelleninformation 55 so eingespeichert wird, dass Entsprechung mit dem Inhaltscode 52 vom Clientdatei-Steuerungsmodul 106 besteht.
- Ein Benutzerprogramm-Ausführungsbereich (in der Zeichnung als UP-Ausführungsbereich bezeichnet) 108 ist ein Bereich zum Ausführen eines Benutzerprogramms wie desjenigen, das im UP 13 gespeichert ist.
- Eine Dateisteuerungstabelle 110 und ein Serverdatei-Steuerungsmodul 109 arbeiten so, dass sie den Zugriff auf die Datei (A) 12 innerhalb der mit dem eigenen Prozessor verbundenen Plattenvorrichtung 11 steuern oder verwalten.
- Nun werden Formate der Sende-SI-Tabelle 107 und der Dateisteuerungstabelle 110 beschrieben.
- Die Sende-SI-Tabelle 107 verfügt über Zeilen 1071-1072, die der Quelleninformation 55 der Meldung 5 entsprechen, die die Dateizugriffsanforderung anzeigt. In jeder dieser Zeilen 1071-1072 sind ein Timerbereich 10712 zum Erfassen des Zeitablaufs einer Antwort auf eine Zugriffsanforderung hin, ein Anzahlbereich 10713 zum Einspeichern der Anzahl von Meldungen, die Zugriffsantworten auf eine Zugriffsanforderung anzeigen, und ein Bereich 10714 für empfangene Meldungen zum Einspeichern von Zugriffsantwortmeldungen einem Quelleninformationsbereich (in der Zeichnung als SI-Bereich bezeichnet) 10711 zum Einspeichern des Inhalts der Quelleninformation 55 der Zugriffsanforderungsmeldungen zugeordnet.
- Die Dateiverwaltungstabelle 110 verfügt über Zeilen 1101 - 1102, entsprechend den Dateien in der eigenen Plattenvorrichtung 11. Jede der Zeilen 1101-1102 enthält einen Dateinamenbereich (in der Zeichnung als Bereich FNM bezeichnet) 11011 zum Einspeichern eines Codes (eines Dateinamens beim vorliegenden Ausführungsbeispiel), wie er jeder Datei entspricht, einen Bereich 11012 für physikalische Information zum Einspeichern von eine Platte und eine Position innerhalb der Platte, wo diese Datei eingespeichert ist, anzeigt, einen Quelleninformationsbereich (als Bereich SI be zeichnet) zum Einspeichern des Inhalts der Quelleninformation (die Quelleninformation 55 in der Meldung 5) einer Zugriffsanforderungsmeldung für diese Datei.
- Nun sei angenommen, dass der Dateinamenbereich 11011 und der Bereich 11012 für physikalische Information vorab zum Zeitpunkt der Dateizuordnung eingestellt werden.
- Nachfolgend wird die Grundfunktion des Sendens und Empfangens der Meldung 5, wie zwischen den Prozessoren 1-3 im verteilten Verarbeitungssystem des vorliegenden Ausführungsbeispiels mit dieser Konfiguration ausgeführt, beschrieben.
- Als allererstes wird nun der Sendevorgang für die Meldung 5 auf Grundlage des Verarbeitungsvorgangs des Clientdatei- Steuerungsmoduls 106 beschrieben, wie er dann ausgeführt wird, wenn vom UPa 13 ein Dateizugriffsbefehl ausgegeben wurde.
- Das UPa 13 spezifiziert den Namen einer Datei, auf die zuzugreifen ist, und den Zugriffsinhalt, und es gibt einen dadurch erzeugten Dateizugriffsbefehl aus.
- Der Zugriffsbefehl wird durch das Clientdatei-Steuerungsmodul 106 aufgenommen. Dieses Clientdatei-Steuerungsmodul 106 erzeugt eine Meldung mit dem Inhaltscode 52, der Quelleninformation 55 und dem Datenabschnitt 56, wie im Format der Meldung 5 dargestellt (Fig. 1), mit der unten beschriebenen Einstellung, und es speichert dieselbe in den Ausgangsmeldungsbereich 105 ein.
- D.h., dass der durch das UPa 13 spezifizierte Dateiname bereits in den Dateinamenabschnitt 521 des Inhaltscodes 52 eingetragen ist und in den ID-Abschnitt 522 bereits ein Code eingetragen ist, der eine Zugriffsanforderung anzeigt.
- Die Nummer des eigenen Prozessors ist bereits in den Prozessornummer-Informationsabschnitt (PNO) 551 der Quelleninformation 55 eingetragen. Eine dem UPa 13, der den Dateizugriffsbefehl ausgegeben hat, zugeordnete Nummer, wie eine Tasknummer, ist bereits in den Tasknummer-Informationsabschnitt (TNO) 552 eingetragen. In den Seriennummer-Informationsabschnitt oder den Meldungsabfolgeabschnitt (SEQ) 553 ist bereits eine Seriennummer eingetragen, die die Reihenfolge der Ausgabe des Zugriffsbefehls anzeigt. In den Datenabschnitt 56 ist bereits der durch das UPa 13 spezifizierte Zugriffsinhalt eingetragen.
- Dabei wird der Inhalt der so eingetragenen Quelleninformation 55 in den Quelleninformationsbereich 10711 eingetragen, und im entsprechenden Timerbereich 10712 wird ein Timer gesetzt.
- Die durch die zuvor beschriebene Verarbeitung in den Ausgangsmeldungsbereich 105 eingespeicherte Meldung wird durch das Kommunikationssteuerungsmodul 102 als Meldung 5 im Rundruf auf das Netzwerk 4 gegeben.
- Eine derartige Meldung wird als "Zugriffsanforderungsmeldung" bezeichnet.
- Nun wird auf Grundlage des Verarbeitungsvorgangs im Serverdatei-Steuerungsmodul 109 ein Vorgang beim Empfangen einer Meldung beschrieben.
- Das Clientdatei-Steuerungsmodul z.B. des Prozessors 2 gibt auf Grundlage einer Anforderung vom UPb 23 eine Zugriffsanforderungsmeldung im Rundruf über das Kommunikationssteuerungsmodul des Prozessors 2 mit dem durch die Meldung 5 repräsentierten Format auf das Netzwerk 4.
- Diese Zugriffsanforderungsmeldung wird von einem Prozessor mit einer Datei, wie der Datei (A) 12, die durch den Inhaltscode 52 innerhalb dieser Meldung 5 spezifiziert ist, in die eigene Plattenvorrichtung aufgenommen, d.h., dass die Zugriffsanforderungsmeldung im nun angenommenen Fall vom Prozessor 1 aufgenommen wird. Außerdem speichert das Kommunikationssteuerungsmodul 102 im Prozessor 1 die Zugriffsanforderungsmeldung hinsichtlich der Datei (A) 12 in den Eingangsmeldungsbereich 104 ein.
- Das Serverdatei-Verwaltungsmodul 109 nimmt diese Meldung vom Eingangsmeldungsbereich 104 auf, und sie speichert den Inhalt der Quelleninformation 55 in der so aufgenommenen Meldung in den Quelleninformationsbereich 11013 der Dateiverwaltungstabelle 110 ein.
- Das Serverdatei-Steuerungsmodul 109 führt auf Grundlage des Inhalts des Bereichs 11012 für physikalische Information in der Dateisteuerungstabelle 110 eine Dateizugriffsverarbeitung aus, wie sie durch den Datenabschnitt 56 in der Meldung 5 spezifiziert ist.
- Ferner erzeugt das Serverdatei-Steuerungsmodul 109 auf Grundlage des Ergebnisses dieser Dateizugriffsverarbeitung eine eine Zugriffsantwort anzeigende Meldung mit dem Inhaltscode 52, der Quelleninformation 55 und dem Datenabschnitt 56 der Meldung, die so eingetragen werden, wie es nachfolgend beschrieben wird, und es speichert die Meldung in den Ausgangsmeldungsbereich 105 ein. Diese Meldung wird als "Antwortmeldung" bezeichnet.
- In der Zugriffsantwortmeldung ist der Name der Datei, auf die zugegriffen wird, im Dateinamenabschnitt 521 eingetragen, und im ID-Abschnitt 522 ist ein die Zugriffsantwort an zeigender Code eingetragen. Ferner ist in die Quelleninformation 55 der Wert der Quelleninformation in der Zugriffsanforderungsmeldung eingetragen (d.h. der Inhalt des Quelleninformationsbereichs 11013 der Dateisteuerungstabelle). Außerdem ist der Inhalt des Ergebnisses des Dateizugriffs in den Datenabschnitt eingetragen. Hier beinhaltet "Inhalt des Ergebnisses des Dateizugriffs" Information dahingehend, ob der Zugriff normal abgeschlossen wurde oder nicht, sowie Information, die dann, wenn der Dateizugriff anomal beendet wurde, den Inhalt einer Anomalität anzeigt. Nachfolgend wird diese Information als Zustandsinformation bezeichnet. Ferner ist im Fall eines Befehls LESEN auch der gelesene Inhalt enthalten.
- Die durch die vorstehend beschriebene Verarbeitung in den Ausgangsmeldungsbereich 105 eingespeicherte Dateizugriffsantwort-Meldung wird vom Kommunikationssteuerungsmodul 105 als Meldung 5 im Rundruf auf das Netzwerk 4 gegeben.
- Die Zugriffsantwortmeldung wird vom Prozessor 2 aufgenommen, der das Benutzerprogramm ausführt, das die Zugriffsanforderung erzeugt hat, d.h. das UPb 23.
- Auf diese Weise sendet und empfängt das verteilte Verarbeitungssystem beim vorliegenden Ausführungsbeispiel die Meldung 5 zwischen einem beliebigen der Prozessoren 1-3 und führt die verteilten Verarbeitungsvorgänge fort.
- Beim verteilten Verarbeitungssystem des vorliegenden Ausführungsbeispiels mit der bisher beschriebenen Konfiguration wird eine Verarbeitungsoperation gemäß der Erfindung ausgeführt, um ein Problem zu meistern, wie es unten beschrieben ist.
- Zu allererst wird nun das Problem beschrieben.
- Als Beispiel sei nun angenommen, dass zwei Benutzerprogramme UPa 13 und UPb 23 gleichzeitig auf die replizierten Dateien (A) 12 und 22 zugreifen.
- Das UPa 13 gibt einen Dateizugriffsbefehl aus, um eine Zugriffsanforderung zu erstellen. Der Dateizugriffsbefehl wird an die Datei (A) 12 in der Plattenvorrichtung 11 im eigenen Prozessor 1 und die Datei (A) 22 in der Plattenvorrichtung 21 des Prozessors 2 übertragen. In diesem Fall wird die Datei (A) 12 im eigenen Prozessor 1, die kein Zwischenschalten des Netzwerk 4 benötigt, früher verarbeitet. Das Ergebnis der Verarbeitung hinsichtlich des Dateizugriffsbefehls für die Datei (A) 12 wird an das UPa 13 übertragen, und so wird eine Zugriffsantwort erstellt.
- Andererseits sei nun angenommen, dass das UPb 23 einen Dateizugriffsbefehl für denselben Datensatz wie das UPa 13 zum selben Zeitpunkt ausgibt, zu dem das UPa 13 den Dateizugriffsbefehl ausgibt.
- Auf dieselbe Weise wie beim Dateizugriffsbefehl des UPa 13 wird auch der Dateizugriffsbefehl vom UPb 23 an die Datei (A) 22 in der Plattenvorrichtung 21 des eigenen Prozessors 2 sowie die Datei (A) 12 in der Plattenvorrichtung 11 des Prozessors 1 gesendet.
- In diesem Fall wird die Datei (A) 22 im eigenen Prozessor 2 früher verarbeitet.
- Das Ergebnis der Verarbeitung des Dateizugriffsbefehls hinsichtlich der Datei (A) 22 wird an das UPb 23 übertragen.
- D.h., dass der Zustand auftritt, dass das UPa 13 auf die Datei (A) 12 zugreift und das UPb 23 auf die Datei (A) 22 zu greift.
- In diesem Zustand erreicht der Zugriffsbefehl vom UPb 23 die Datei (A) 12, und der Zugriffsbefehl vom UPa 13 erreicht die Datei (A) 22. Abhängig vom Inhalt des Zugriffsbefehls in diesem Fall treten im Folgenden beispielhaft beschriebene Zustände selbst dann auf, wenn keinerlei Fehler in der Hardware vorliegen.
- Im Fall einer Dateiaktualisierung wird ein Zugriff von anderen Benutzerprogrammen auf einen einschlägigen Datensatz in der Datei ab dem Zeitpunkt des Empfangs des Befehls LESEN bis zum Abschluss der Verarbeitung SCHREIBEN gesperrt, um eine ausschließliche. Steuerung des Dateizugriffs auszuführen. Daher wird der Zugriffsbefehl (LESEN) des UPb 23 hinsichtlich des Datensatzes der Datei (A) 12, für den sich das UPa 13 im Zustand LESEN befindet, als ausschließender Fehler zurückgewiesen und nicht angenommen.
- Gleichzeitig wird auch der Befehl LESEN des UPa 13, der die Datei (A) 22 erreicht hat, als ausschließender Fehler zurückgewiesen.
- Wenn das UPa 13 und das UPb 23 in diesem Zustand Verarbeitungen SCHREIBEN ausführen, wird der einschlägige Datensatz der Datei (A) 12 durch das UPa 13 aktualisiert, während der einschlägige Datensatz der Datei (A) 22 durch das UPb 23 aktualisiert wird. Daher unterscheidet sich die Datei (A) 12 inhaltlich von der Datei (A) 22.
- Wenn der Zugriffsbefehl ein Befehl HINZUFÜGEN für denselben Datensatz der Datei ist, spiegelt sich der vom UPa 13 hinzugefügte Inhalt in der Datei (A) 12 wider, während sich der vom UPb 23 hinzufügte Inhalt in der Datei (A) 22 widerspiegelt. Im Ergebnis unterscheidet sich die Datei (A) 12 inhaltlich von der Datei (A) 22.
- Wenn der Zugriffsbefehl ein Befehl ausschließliches-ÖFFNEN ist, wird hinsichtlich der Datei (A) 12 nur der Zugriffsbefehl vom UPa 13 angenommen, während für die Datei (A) 22 nur der Zugriffsbefehl vom UPb 23 angenommen wird. Im Ergebnis unterscheidet sich die Datei (A) 12 inhaltlich von der Datei (A) 22.
- Beim verteilten Verarbeitungssystem des vorliegenden Ausführungsbeispiels überprüft jeder der Prozessoren 1-3 die Übereinstimmung zwischen Antwortdaten, wie sie von jeweiligen replizierten Dateien geliefert werden, um die oben beschriebenen Probleme zu überwinden. Wenn Fehlübereinstimmung zwischen Antwortdaten erkannt wird, gibt der eigene Prozessor einen Befehl zum Löschen eines für replizierte Dateien ausgegebenen Zugriffsbefehls aus (durch eine erste Wiederholungsprozedur), und er gibt den ersten Zugriffsbefehl erneut aus (durch eine zweite Wiederholungsprozedur).
- Dabei wird die Wiederausgabe des Zugriffsbefehls von jedem Prozessor zu einem individuellen Zeitpunkt ausgeführt. Daher sind die Zeitpunkte der Wiederausgabe der jeweiligen Zugriffsbefehle automatisch versetzt, und es ist das Auftreten eines Nichtzusammenpass-Zustands automatisch vermieden.
- Wenn zwischen Dateien ein Nichtzusammenpassen auftritt, wird so ein Befehl zum Löschen des ausgegebenen Zugriffsbefehls ausgegeben (erste Wiederholungsprozedur), und danach wird derselbe Zugriffsbefehl wie der erste Zugriffsbefehl erneut ausgegeben (zweite Wiederholungsprozedur). Dadurch wird eine automatische Erholung vom Nichtzusammenpass-Zustand ohne Unterbrechung der Verarbeitung möglich.
- Wie bisher beschrieben, erlauben es die Prozessoren 1-3 im verteilten Verarbeitungssystem des vorliegenden Ausführungsbeispiels, dass die jeweiligen Benutzerprogramme gleichzeitig auf replizierte Dateien zugreifen, während Übereinstimmen zwischen diesen beibehalten ist.
- Die Netzwerkkonfiguration des vorliegenden Ausführungsbeispiels und Netzwerkkonfigurationen der anderen Ausführungsbeispiele, die später beschrieben werden, verfügen über ein Netzwerk vom Bustyp. Jedoch ist die Netzwerkkonfiguration nicht auf diesen Typ beschränkt, sondern es können Netzwerke beliebiger Form verwendet werden.
- Von den Terminals 10, 20 und 30 können mehrere mit jedem der Prozessoren 1-3 verbunden sein, und mit diesen können auch jeweils mehrere Platten von den Plattenvorrichtungen 11, 21 und 31 verbunden sein. Keines dieser Betriebsmittel kann mit den jeweiligen Prozessoren 1-3 verbunden sein.
- Das vorliegenden Ausführungsbeispiel ist als Beispiel verdoppelter Dateien beschrieben. Jedoch kann die Erfindung auch bei replizierten Dateien, die über verdoppelte Dateien hinausgehen, angewandt werden.
- Nachfolgend wird die Funktion jedes Prozessors gemäß der Erfindung im verteilten Verarbeitungssystem des Ausführungsbeispiels detaillierter beschrieben.
- Die Fig. 2A - 2C zeigen ein Flussdiagramm, das einen Verarbeitungsvorgang im in Fig. 1 dargestellten verteilten Verarbeitungssystem veranschaulicht.
- Das Flussdiagramm der Fig. 2A - 2C betrifft einen Verarbeitungsvorgang durch das in Fig. 1 dargestellte Clientdatei- Steuerungsmodul 106, und insbesondere zeigt es den Ablauf, wie er ausgeführt wird, wenn eine Zugriffsantwortmeldung empfangen wird, sowie den Ablauf der ersten Wiederholungsprozedur (nachfolgend als Wiederholungsprozedur (1) bezeichnet) sowie der zweiten Wiederholungsprozedur (nachfolgend als Wiederholungsprozedur (2) bezeichnet) gemäß der Erfindung.
- Das Ausführungsbeispiel betrifft eine Art des Sammelns von Antworten, wie sie von replizierten Dateien geliefert werden, für eine vorbestimmte Zeitspanne, und es betrifft die Art des Prüfens des Zusammenpassens zwischen replizierten Dateien auf Grundlage des Ergebnisses der Sammlung von Antworten.
- Fig. 2A zeigt durch Schritte 201-206 den Ablauf vom Auslesen einer empfangenen Zugriffsantwortmeldung bis zum Beginn einer Wiederholungs-Prüfverarbeitung einschließlich der Wiederholungsprozeduren (1) und (2), und sie zeigt im Rest den Ablauf der Wiederholungs-Prüfverarbeitung. Die Fig. 2B und 2C zeigen ein Beispiel der Wiederholungsprozedur (1) bzw. ein Beispiel der Wiederholungsprozedur (2).
- Gemäß Fig. 2 liest das Clientdatei-Steuerungsmodul 106 eine vom Netzwerk 4 empfangene Zugriffsantwortmeldung aus und speichert diese in den Eingangsmeldungsbereich ein (Schritt 201), es prüft die Sende-SI-Tabelle und es ermittelt, ob der Wert des in der Zugriffsantwortmeldung enthaltenen Quellen informationsabschnitts bereits im Quelleninformationsbereich der Sende-SI-Tabelle registriert ist (Schritt 202).
- Wenn keine Registrierung vorliegt, wird bestimmt, dass die Zugriffsantwortmeldung keine Antwort auf eine vom eigenen Prozessor erzeugte Zugriffsanforderung ist. Daher wird diese Meldung verworfen (Schritt 203) und es wird auf die nächste Zugriffsantwortmeldung gewartet.
- Wenn Registrierung festgestellt wird, wird die empfangene Zugriffsantwortmeldung in den Bereich für empfangene Meldungen in der entsprechenden Zeile (d.h., die Zeile, in der der der Inhalt des in der Meldung enthaltenen Quelleninformationsabschnitts registriert ist) der Sende-SI-Tabelle eingespeichert (Schritt 204). Dabei wird der Wert im Anzahlbereich um eins erhöht.
- Auf Grundlage des Timerbereichs der Sende-SI-Tabelle wird ermittelt, ob der bei Erzeugung der Zugriffsanforderungsmeldung gesetzte Timer seinen Zeitablauf erreicht hat (Schritt 205).
- Wenn die Zeit noch nicht abgelaufen ist, wird auf den Empfang der nächsten Meldung gewartet.
- Wenn die Zeit abgelaufen ist, wird eine Wiederholungs-Prüfverarbeitung mit den Wiederholungsprozeduren (1) und (2) gemäß der Erfindung ausgeführt (Schritt 206).
- Nachfolgend wird die Wiederholungs-Prüfverarbeitung ebenfalls unter Bezugnahme auf Fig. 2A beschrieben.
- Es wird überprüft, ob die in der Sende-SI-Tabelle eingespeicherte Zugriffsantwortmeldung eine der Wiederholungsprozedur (1) entsprechende Meldung ist (Schritt 207).
- Wenn die Zugriffsantwortmeldung keine der Wiederholungsprozedur (1) entsprechende Meldung ist, werden die Inhalte der im Bereich der Sende-SI-Tabelle für empfangene Meldungen gespeicherten Zugriffsantwortmeldungen vergleichen (Schritt 208).
- Als Vergleichsmaßnahme existiert auch ein Verfahren, bei dem alle Meldungsinhalte verglichen werden. Beim hier verwendeten Verfahren werden jedoch die Antwortmeldungen nur hinsichtlich der Zustandsinformation verglichen, die den Endzustand der Zugriffsverarbeitung anzeigt.
- Wenn Antwortmeldungen hinsichtlich der Zustandsinformation übereinstimmen, ist ein Zusammenpassen zwischen replizierten Dateien gewährleistet, und demgemäß wird die empfangene Dateizugriffs-Antwortmeldung an ein Benutzerprogramm, wie die Datei (A) 12 von Fig. 1, geliefert (Schritt 209). Danach wird der zugehörige Bereich der Sende-SI-Tabelle rückgesetzt (Schritt 210), um die Verarbeitung zu beenden.
- Wenn zu diesem Zeitpunkt die Anzahl der empfangenen Antwortmeldungen "0" ist, wird einen Dateifehler anzeigende Information an das Benutzerprogramm geliefert.
- Wenn die Dateizugriffs-Antwortmeldungen im Schritt 208 nicht hinsichtlich der Abschluss-Zustandsinformation übereinstimmen, kann kein Zusammenpassen zwischen replizierten Dateien gewährleistet werden, und demgemäß wird der zugehörige Bereich der Sende-SI-Tabelle rückgesetzt (Schritt 211) und es wird die nächste Wiederholungsprozedur (1) abhängig vom Inhalt des Dateizugriff-Anforderungsbefehls ausgeführt, der eine Antwortmeldung angefordert hat (Schritt 212).
- Wenn die Zugriffsantwortmeldung im Schritt 207 eine der Wie derholungsprozedur (1) entsprechende Meldung ist, wird die Wiederholungsprozedur (2) ausgeführt (Schritt 213).
- Nachfolgend wird die Wiederholungsprozedur (1) unter Bezugnahme auf Fig. 2B beschrieben.
- Als erstes wird, wenn die Zugriffsanforderung ein Befehl LESEN ist (Schritt 214), eine Zugriffsanforderungsmeldung erzeugt und im Ausgangsmeldungsbereich abgespeichert, die in ihrem Datenabschnitt einen Befehl FREIGABE zum Löschen des Zustands enthält, dass der Datensatz durch ausschließliche Steuerung belegt wird (Schritt 215).
- Wenn die Zugriffsanforderung ein Befehl HINZUFÜGEN ist (Schritt 216), wird eine Zugriffsanforderungsmeldung, die in ihrem Datenabschnitt einen Befehl LÖSCHEN zum Löschen des durch den Befehl HINZUFÜGEN hinzugefügten Datensatzes enthält, erzeugt und in den Ausgangsmeldungsbereich eingespeichert (Schritt 217).
- Wenn die Zugriffsanforderung ein Befehl ausschließliches- ÖFFNEN (Schritt 218) ist, wird die Datei durch den Befehl ausschließliches-ÖFFNEN belegt, und demgemäß wird eine Zugriffsanforderungsmeldung, die in ihrem Datenabschnitt einen Befehl SCHLIEßEN zum Löschen dieses Zustands enthält, erzeugt und in den Ausgangsmeldungsbereich eingespeichert (Schritt 219).
- Auf jede Zugriffsanforderungsmeldung hin (Schritt 220) wird so eine Zugriffsanforderungsmeldung, die in ihrem Datenabschnitt einen Befehl zum Löschen des Dateibelegungszustands enthält, wie durch jede Zugriffsanforderungsmeldung hervorgerufen, erzeugt und in den Ausgangsmeldungsbereich eingespeichert (Schritt 221).
- Diese Meldungen (wie die Befehle FREIGABE, LÖSCHEN und SCHLIEßEN) werden durch das Kommunikationssteuerungsmodul im Rundruf auf das Netzwerk 4 in Fig. 1 gegeben.
- Dann wird auf den Empfang einer Zugriffsantwortmeldung auf eine durch eine solche Wiederholungsprozedur (1) ausgegebene Zugriffsanforderungsmeldung gewartet.
- Auch hinsichtlich der Antwortmeldung auf die Wiederholungsprozedur (1) wird dem Verarbeitungsablauf der Schritte (201 - 206) gefolgt. Wenn im Schritt 207 klargestellt wird, dass die empfangene Meldung eine Zugriffsantwortmeldung auf einen durch die Wiederholungsprozedur (1) ausgegebenen Befehl ist, wird die Wiederholungsprozedur (2) ausgeführt (Schritt 213).
- Nachfolgend wird die Wiederholungsverarbeitung (2) unter Bezugnahme auf Fig. 2C beschrieben.
- Bei dieser Wiederholungsverarbeitung (2) wird eine Zugriffsanforderungsmeldung, die in ihrem Datenabschnitt einen Zugriffsanforderungsbefehl enthält, der die Wiederholungsprozedur (1) ausgelöst hat, erzeugt und in den Ausgangsmeldungsbereich eingespeichert.
- D.h., dass dann, wenn bei der Wiederholungsprozedur (1) der Befehl FREIGABE ausgegeben wurde (Schritt 222), eine Zugriffsanforderungsmeldung, die in ihrem Datenabschnitt einen Befehl LESEN enthält, erzeugt und in den Ausgangsmeldungsbereich eingespeichert wird (Schritt 223).
- Wenn bei der Wiederholungsprozedur (1) eine Zugriffsanforderungsmeldung erzeugt wird, die in ihrem Datenabschnitt einen Befehl LÖSCHEN enthält, wird eine Zugriffsanforderungsmeldung, die in ihrem Datenabschnitt einen Befehl HINZUFÜGEN enthält, erzeugt und in den Ausgangsmeldungsbereich einge speichert (Schritt 225).
- Wenn bei der Wiederholungsprozedur (1) eine Zugriffsanforderungsmeldung erzeugt wird, die in ihrem Datenabschnitt einen Befehl SCHLIEßEN enthält (Schritt 226), wird eine Zugriffsanforderungsmeldung, die in ihrem Datenabschnitt einen Befehl ausschließliches-ÖFFNEN enthält, erzeugt und in den Ausgangsmeldungsbereich eingespeichert (Schritt 227).
- In Reaktion auf jede Zugriffsanforderungsmeldung, wobei der Dateibelegungszustand durch die Wiederholungsprozedur (1) gelöscht ist (Schritt 228), wird so dieselbe Zugriffsanforderungsmeldung erneut erzeugt und in den Ausgangsmeldungsbereich eingespeichert (Schritt 229).
- Diese Meldungen (wie die Befehle LESEN, HINZUFÜGEN und ausschließlich-ÖFFNEN) werden durch das Kommunikationssteuerungsmodul im Rundruf an das Netzwerk 4 in Fig. 1 übertragen.
- Durch einen anderen Prozessor wird auch eine Wiederholungsprozedur (2) mit demselben Inhalt wie demjenigen dieser Wiederholungsprozedur (2) ausgegeben. Dabei unterscheiden sie sich jedoch hinsichtlich des Ausgabezeitpunkts voneinander. Dadurch wird kein Nichtzusammenpassen zwischen Dateien aufgrund von durch die Wiederholungsprozedur (2) ausgegebenen Meldungen verursacht. Die empfangene Meldung, die dieser Wiederholungsprozedur (2) entspricht, wird als Ergebnis einer im Schritt 208 ausgeführten Nichtzusammenpass-Prüfung als i.o. ("Überstimmung") bewertet, was zu normalem Abschluss führt.
- Selbst wenn ein Nichtzusammenpassen zwischen replizierten Dateien auftritt, wird der Nichtzusammenpass-Zustand durch die Wiederholungsprozedur (1) aufgehoben, und danach wird die Zugriffsverarbeitung durch die Wiederholungsprozedur (2) im verteilten Verarbeitungssystem des vorliegenden Ausführungsbeispiels erneut ausgeführt. Daher ist automatisch ein Zusammenpassen zwischen den Dateien gewährleistet.
- Um die Ausführungszeitpunkte der von den Prozessoren ausgeführten Wiederholungsprozedur (2) zu staffeln kann vor der Ausgabe des Wiederholungsbefehls gemäß jeder Wiederholungsprozedur (2) eine zufällige Wartezeit eingefügt werden.
- Nachfolgend wird der Verarbeitungsvorgang gemäß der Erfindung unter Bezugnahme auf zwei Dateizugriffe weiter beschrieben, die in Fig. 1 durch Pfeile (b) mit durchgezogener Linie und Pfeile (a) mit gestrichelter Linie angegeben sind.
- Fig. 3 zeigt in einem zeitbezogenen Diagramm einen Verarbeitungsvorgang gemäß einem Ausführungsbeispiel der Erfindung im verteilten Verarbeitungssystem von Fig. 1.
- Das zeitbezogene Diagramm von Fig. 3 beruht auf dem in den Fig. 2A - 2C dargestellten Verarbeitungsvorgang, und es zeigt den Fall, dass die zwei Benutzerprogramme UPa 13 und UPb 23 von Fig. 1 gleichzeitig LESE-Zugriff auf replizierte Dateien (A) 12 bzw. 22 erlangen.
- Wenn das UPa 13 einen Dateizugriffsbefehl (LESEN) 300 ausgibt und eine Zugriffsanforderung erstellt, sendet das Clientdatei-Steuerungsmodul 106 eine dem Dateizugriffsbefehl (LESEN) 300 entsprechende Zugriffsanforderungsmeldung (LE- SEN) 301 an die Datei (A) 12 in ihrer eigenen Prozessorplatte sowie die Datei (A) 22 in der Plattenvorrichtung 21 des Prozessors 2 in Fig. 1.
- In diesem Fall wird die Datei (A) 12 im eigenen Prozessor, die kein Zwischenschalten des Netzwerks 4 von Fig. 1 benö tigt, früher verarbeitet. An das UPa 13 wird Statusinformation 302 übertragen, die das Verarbeitungsergebnis für den Dateizugriffsbefehl (LESEN) 300 betreffend die Datei (A) 12 anzeigt, und es wird eine Zugriffsantwort erstellt.
- Nun sei angenommen, dass das UPb 23 gleichzeitig mit der Ausgabe des vom UPa 13 ausgeführten Dateizugriffsbefehls (LESEN) 300 einen ähnlichen Dateizugriffsbefehl (LESEN) 320 für denselben Datensatz ausgegeben hat.
- Dann sendet auf dieselbe Weise das Clientdatei-Steuerungsmodul 126 im Prozessor 2 eine dem vom UPb 23 erzeugten Dateizugriffsbefehl (LESEN) 320 entsprechende Zugriffsanforderungsmeldung (LESEN) 321 an die Datei (A) 22 in der Plattenvorrichtung des eigenen Prozessors sowie die Datei (A) 12 in der Plattenvorrichtung des Prozessors 1.
- In diesem Fall wird die Datei (A) 22 im eigenen Prozessor früher verarbeitet. An das UPb 23 wird dann Zustandsinformation 322 übertragen, die das Verarbeitungsergebnis für den Dateizugriffsbefehl (LESEN) 320 betreffend die Datei (A) 22 anzeigt.
- Dabei tritt der Zustand auf, dass das UPa 13 auf die Datei (A) 12 zugreift, während das UPb 23 auf die Datei (A) 22 zugreift.
- In diesem Fall erreicht die Zugriffsanforderungsmeldung 321, die dem vom UPb 23 zugeführten Dateizugriffsbefehl (LESEN) 320 entspricht, die Datei (A) 12. Andererseits erreicht die Zugriffsanforderungsmeldung 301, die dem vom UPa 13 gelieferten Dateizugriffsbefehl (LESEN) 300 entspricht, die Datei (A) 22. Abhängig von den Inhalten der Dateizugriffsbefehle 300 und 320 in diesem Fall tritt der oben unter Bezugnahme auf Fig. 1 beschriebene Zugriffsfehlerzustand selbst auf, wenn die Hardware im System keinerlei Fehler zeigt.
- D.h., dass die Dateizugriffsbefehle 300 und 320 Befehle LESEN zum Aktualisieren von Dateien sind. Wegen der ausschließlichen Steuerung für den Dateizugriff wird die Zugriffsanforderungsmeldung 321, die dem Dateizugriffsbefehl (LESEN) 320 des UPb 23 in Bezug auf einen Datensatz der Datei (A) 12 des lesenden UPa 13 entspricht, als ausschließender Fehler zurückgewiesen und nicht angenommen.
- Auf dieselbe Weise wird auch die Zugriffsanforderungsmeldung 301, die dem Dateizugriffsbefehl (LESEN) 300 des UPa 13 entspricht, der die Datei (A) 22 erreicht hat, als ausschließender Fehler zurückgewiesen.
- Wenn das UPa 13 und das UPb 23 in diesem Zustand Schreibverarbeiten ausführen, wird der einschlägige Datensatz der Datei (A) 12 durch das UPa 13 aktualisiert, während der einschlägige Datensatz der Datei (A) 22 durch das UPb 26 aktualisiert wird. Daher unterscheidet sich die Datei (A) 12 inhaltlich von der Datei (A) 22.
- Um derartige Probleme eines Nichtzusammenpasszustands der Dateien zu überwinden, prüft jeder Prozessor im verteilten Verarbeitungssystem von Fig. 1 die Übereinstimmung zwischen von den replizierten Dateien gelieferten Antwortdaten. Wenn Nichtübereinstimmung zwischen Antwortdaten erkannt wird, gibt der Prozessor einen Befehl zum Aufheben des selbst für repliziert Dateien ausgegebenen Zugriffsbefehls aus, und anschließend gibt er erneut denselben Zugriffsbefehl aus.
- D.h., dass die Zustands-Einzelinformationen 302 und 303 der entsprechend dem vom UPa 13 erzeugten Dateizugriffsbefehl (LESEN) 300 gelieferten Zugriffsantwortmeldungen von den Dateien (A) 12 und 22 voneinander verschieden sind. Daher führt das Clientdatei-Steuerungsmodul 106 des das UPa 13 ausführenden Prozessors 1 die oben unter Bezugnahme auf Fig. 3 beschriebene Wiederholungsprozedur (1) 304 erneut aus, und es gibt eine Löschanforderungsmeldung (Freigabe) 305 zum Löschen der Zugriffsanforderungsmeldung (LESEN) 301 aus.
- Durch die Löschanforderungsmeldung (FREIGABE) 305 wird der Besetztzustand der Datei (A) 12 durch das UPa 13 aufgehoben.
- Auf dieselbe Weise unterscheiden sich Zustands-Einzelinformationen 322 und 323 von Zugriffsanforderungsmeldungen, die entsprechend dem vom UPb 23 erzeugten Dateizugriffsbefehl (LESEN) 320 von den Dateien (A) 12 und 22 geliefert werden, voneinander. Daher führt das Clientdatei-Steuerungsmodul 126 die in Fig. 3 dargestellte Wiederholungsprozedur (1) 324 aus, und es gibt eine Löschanforderungsmeldung (FREIGABE) 325 zum Löschen der Zugriffsanforderungsmeldung (LESEN) 321 aus.
- Durch die Löschanforderungsmeldung (FREIGABE) 325 wird der Besetztzustand der Datei (A) 22 durch das UPb 23 aufgehoben.
- Die jeweiligen Clientdatei-Steuerungsmodule 106 und 126 werden durch Antwortmeldungen 306, 307, 326 und 327 über die Aufhebung dieser Besetztzustände informiert.
- In einem Zustand, in dem weder die Datei (A) 12 noch 22 besetzt ist, geben die Clientdatei-Steuerungsmodule 106 und 126 der jeweiligen Prozessoren 1 und 2, die das UPa 13 bzw. das UPb 23 ausführen, erneut Zugriffsanforderungsmeldungen (LESEN) 309 und 329, die jeweils mit den Zugriffsanforderungsmeldungen (LESEN) 301 und 321 übereinstimmen, durch die oben unter Bezugnahme auf Fig. 3 beschriebenen Wiederho- lungsprozeduren (2) 308 und 328 aus.
- Die Wiederholungsprozeduren (1) 304 und 324 sowie die Wiederholungsprozeduren (2) 308 und 328, wie sie vorstehend beschrieben sind, werden wiederholt, bis die Zugriffsverarbeitung gelingt.
- Jedoch werden die Zugriffsanforderungsmeldungen (LESEN) 309 und 329 durch die Wiederholungsprozedur (2) 308 und 328 durch die Prozessoren 1 und 2 zu deren individuellen Zeitpunkten ausgegeben. Daher sind die Ausgabezeitpunkte der Zugriffsanforderungsmeldungen (LESEN) 309 und 329 automatisch versetzt. Was die Zugriffsanforderungsmeldungen (LESEN) 309 und 329 betrifft, wie sie durch die Wiederholungsprozeduren (2) 308 bzw. 328 ausgegeben werden, ist das Auftreten eines Nichtzusammenpass-Zustands derselben automatisch vermieden.
- Um die Ausführungszeitpunkte für die Wiederholung im UPa 13 und UPb 23 zu versetzen, kann vor der Ausgabe der Wiederholungsbefehle (Zugriffsanforderungsmeldungen (LESEN)) 309 und 329 in der Wiederholungsprozedur (2) 308 bzw. 328 eine zufällige Wartezeit eingefügt werden. Im Ergebnis kann ein Dateizugriff auf Grundlage der Wiederholungsprozeduren (2) 308 und 328 erfolgreich ausgeführt werden.
- Das bisher beschriebene Verfahren ist ein Verfahren des Sammelns von Antworten, wie sie von replizierten Dateien geliefert werden für eine vorbestimmte Zeit sowie des Überprüfens des Zusammenpassens replizierter Dateien auf Grundlage des Ergebnisses der Antwortsammlung.
- Andererseits kann auch ein Verfahren verwendet werden, bei dem Antworten von replizierten Dateien entsprechend einer Anzahl gesammelt werden, die einem vorbestimmten Replikationsgrad entspricht, anstatt dass Antworten von replizierten Dateien für ein vorbestimmtes Zeitintervall gesammelt werden. Nun wird ein zweites Ausführungsbeispiel der Erfin dung beschrieben, das ein derartiges Verfahren verwendet.
- Um das vorliegende zweite Ausführungsbeispiel zu realisieren, wird sowohl in der Sende-SI-Tabelle 107 als auch der Dateisteuerungstabelle 110, wie sie in Fig. 1 dargestellt sind, ein Replikationsgradbereich, der den Replikationsgrad von Dateien anzeigt, eingetragen.
- Fig. 4A und 4B zeigen eine Modifizierung der Formate der Sende-SI-Tabelle und der Dateisteuerungstabelle, wie in Fig. 1 dargestellt.
- In jeder der Zeilen 4071-4072 enthält die in Fig. 4A dargestellte Sende-SI-Tabelle 407 einen Replikationsgradbereich 400 zusätzlich zum SI-Bereich 10711 zum Timerbereich 10712, zum Anzahlbereich 10713 und zum Bereich 10714 für empfangene Meldungen. In jeder der Zeilen 4101-4102 enthält die in Fig. 4B dargestellte Dateisteuerungstabelle 410 einen Replikationsgradbereich 401 zusätzlich zum FNM-Bereich 11011, zum Bereich 11012 für physikalische Information und zum SI-Bereich 11013.
- Nun sei angenommen, dass der Replikationsbereich 401 in der Dateisteuerungstabelle 410 zum Zeitpunkt eines Dateizugriffs in jedem Prozessor eingetragen wird.
- Ferner trägt das in Fig. 1 dargestellte Serverdatei-Steuerungsmodul 109 den Inhalt des Replikationsgradbereichs 401 in der Dateisteuerungstabelle 410 entsprechend der Zugriffsanforderung als Replikationsgradinformation in die Zugriffsantwortmeldung ein.
- Andererseits trägt das Clientdatei-Steuerungsmodul 106 den Replikationsgrad innerhalb der Meldung in den Replikationsgradbereich 400 der Sende-SI-Tabelle 407 ein, wenn die dem Befehl ÖFFNEN entsprechende Antwortmeldung empfangen wird.
- Beim verteilten Verarbeitungssystem des zweiten Ausführungsbeispiels mit dieser Sende-SI-Tabelle 407 und der Dateisteuerungstabelle 410 prüft das Clientdatei-Steuerungsmodul 106 von Fig. 1 zum Zeitpunkt des Empfangs einer Zugriffsantwortmeldung die Übereinstimmung zwischen Zugriffsantwortmeldungen, wie sie im Bereich für empfangene Meldungen gespeichert sind, auf Grundlage der Replikationsgradbereiche 400 und 401 in der Sende-SI-Tabelle 407 und der Dateisteuerungstabelle 410.
- Auf diese Weise erfolgt eine Prüfung hinsichtlich des Zusammenpassens zwischen Zugriffsantwortmeldungen, wenn die vorbestimmte Anzahl von Antwortmeldungen vom Client empfangen ist, selbst bevor eine vorbestimmte Zeitspanne abgelaufen ist. Im Ergebnis kann eine Wiederholungs-Prüfungsverarbeitung mit besseren Wirkungsgrad als demjenigen der Verarbeitung erzielt werden, wie sie im Flussdiagramm der Fig. 2B - 2C dargestellt ist.
- Fig. 5 zeigt in einem Flussdiagramm einen Verarbeitungsvorgang gemäß dem zweiten Ausführungsbeispiel der Erfindung, wobei es sich um eine Modifizierung des verteilten Verarbeitungssystems von Fig. 1 handelt.
- In Fig. 5 ist auf den Betrieb des verteilten Verarbeitungssystems mit der Sende-SI-Tabelle 407 und der Dateisteuerungstabelle 410, wie in den Fig. 4A und 4B dargestellt, Bezug genommen, insbesondere auf ein Flussdiagramm zur Verarbeitung, wie sie vom in Fig. 1 dargestellten Clientdatei- Steuerungsmodul 106 ausgeführt wird.
- Als erstes liest das Clientdatei-Steuerungsmodul die vom Netzwerk empfangene Zugriffsantwortmeldung, wie sie im Ein gangsmeldungsbereich gespeichert ist (Schritt 501), es führt eine Überprüfung hinsichtlich der Sende-SI-Tabelle aus, und es ermittelt, ob der Wert des Quelleninformationsabschnitts in der Zugriffsantwortmeldung bereits im Quelleninformationsbereich der Sende-SI-Tabelle registriert ist (Schritt 502).
- Wenn noch kein Registrierung vorliegt, ist die Meldung keine Antwort auf eine vom eigenen Prozessor erzeugte Zugriffsanforderung, und demgemäß wird diese Meldung verworfen (Schritt 503) und es wird auf die nächste Zugriffsantwortmeldung gewartet.
- Wenn bereits eine Registrierung vorliegt, wird die Zugriffsantwortmeldung in den Bereich für empfangene Meldungen in der entsprechenden Zeile (in der der Inhalt des Quelleninformationsabschnitts in der Meldung registriert ist) der Sende-SI-Tabelle eingespeichert (Schritt 504). Dabei wird der Wert im Anzahlbereich um eins erhöht.
- Die Verarbeitung ist insoweit identisch mit den Schritten 201-204 betreffend Fig. 2A.
- Dann wird ermittelt, ob der im Anzahlbereich innerhalb der Sende-SI-Tabelle gespeicherte Wert, d.h. die Anzahl empfangener Zugriffsantwortmeldungen mit dem Wert übereinstimmt, wie er im in Fig. 4A dargestellten Replikationsgradbereich 400 gespeichert ist (Schritt 505).
- Wenn die Anzahl empfangener Zugriffsantwortmeldungen mit dem Wert des Replikationsgrads oder -bereichs übereinstimmt, d.h., wenn von allen replizierten Dateien Antworten zurückgeliefert wurden, wird eine Wiederholungs-Prüfverarbeitung ausgeführt, die identisch mit dem in Fig. 2A dargestellten Schritt 206 ist (Schritt 506).
- Im Fall fehlender Übereinstimmung erfolgt eine Zeitablaufsprüfung, die identisch mit dem in Fig. 2A dargestellten Schritt 205 ist (Schritt 507). D.h., dass auf Grundlage des Timerbereichs 10712 der in Fig. 4 dargestellten Sende-SI-Tabelle 407 überprüft wird, ob der zum Zeitpunkt des Auftretens der Zugriffsanforderungsmeldung gesetzte Timer seinen Zeitablauf erreicht hat.
- Wenn der Zeitablauf noch nicht erreicht ist, kehrt der Prozess zu einem Zustand zurück, in dem auf dem Empfang der nächsten Meldung gewartet wird.
- Im Fall eines Zeitablaufs wird die Sende-SI-Tabelle 407 von Fig. 4A rückgesetzt (Schritt 508), dann wird eine Fehlerverarbeitung ausgeführt (Schritt 509) und danach wird die Wiederholungsprüfverarbeitung des Schritts 506 ausgeführt.
- Bei der Fehlerverarbeitung wird der Wert im Anzahlbereich 10713 als Wert des Replikationsgradbereichs der in Fig. 4A dargestellten Sende-SI-Tabelle 407 eingetragen.
- Beim zweiten Ausführungsbeispiel kann so zum Zeitpunkt des Empfangs so vieler Antwortmeldungen, wie sie dem Replikationsgrad entsprechen, eine Wiederholungs-Prüfverarbeitung ausgeführt werden.
- Dadurch ist das Antwort-Funktionsvermögen im Vergleich zu dem beim ersten Ausführungsbeispiel verbessert.
- Nun wird ein drittes Ausführungsbeispiel des in Fig. 1 dargestellten Verarbeitungssystems beschrieben.
- Beim dritten Ausführungsbeispiel wird die Steuerung an das UPa 13 bei der in Fig. 1 dargestellten Anordnung zurückgege ben, wenn von der Datei (A) 12 in der Plattenvorrichtung 11 des Prozessors 1 eine Antwort rückgeliefert wird, und es wird für Zusammenpassen zwischen replizierten Dateien gesorgt.
- D.h., dass eine Wiederholungs-Prüfverarbeitung dann ausgeführt wird, wenn alle Antworten von replizierten Dateien beim ersten und zweiten Ausführungsbeispiel erhalten sind, wie sie in den Fig. 2 und 5 dargestellt sind. Aus dem Gesichtspunkt des Antwort-Funktionsvermögen tritt daher das folgende Problem auf.
- Als Beispiel sei nun in Fig. 1 angenommen, dass das im Prozessor 1 arbeitende UPa 13 auf die Dateien (A) 12 und 22 zugreift, die in replizierter Form in der Plattenvorrichtung 11 des eigenen Prozessors und der Plattenvorrichtung 21 des Prozessors 2 vorliegen. In diesem Fall ist beim ersten und zweiten Ausführungsbeispiel die Rücklieferungszeit für die Zugriffsantwort an das UPa 13 auf die Zeit des Rücklieferns der Antwort von der Datei (A) 22 über das Netzwerk 4 eingestellt, und zwar trotz der Tatsache, dass das UPa 13 auf die Datei (A) 12 der Plattenvorrichtung 11 des eigenen Prozessors zugreift.
- Beim dritten Ausführungsbeispiel ist ein derartiges Absenken des Antwort-Funktionsvermögens verhindert.
- Beim dritten Ausführungsbeispiel sind die Konfigurationen der Sende-SI-Tabelle und der Dateisteuerungstabelle identisch mit denen des in Fig. 4 dargestellten zweiten Ausführungsbeispiels. Jedoch wird eine der replizierten Dateien als Vorzugsdatei verwendet, wenn ein Konflikt aufgetreten ist.
- Die bevorzugte Datei kann zum Zeitpunkt der Dateizuordnung spezifiziert werden. Statt einer Spezifizierung durch den Benutzer kann eine Datei als Vorzugsdatei verwendet werden, die unter den replizierten Dateien, die zum Zeitpunkt der Dateiöffnung Antworten geliefert haben, z.B. zum Prozessor mit der kleinsten Nummer gehört.
- Nachfolgend wird der Verarbeitungsvorgang des dritten Ausführungsbeispiels unter Bezugnahme auf Fig. 6 beschrieben.
- Fig. 6 verkörpert das dritte Ausführungsbeispiel einer Verarbeitung gemäß der Erfindung beim in Fig. 1 dargestellten verteilten Verarbeitungssystem in einem Flussdiagramm.
- Auf dieselbe Weise wie das erste und zweite Ausführungsbeispiel zeigt Fig. 6 einen Verarbeitungsablauf im Clientdatei- Steuerungsmodul 106 von Fig. 1 zum Zeitpunkt des Empfangs einer Zugriffsantwortmeldung.
- Fig. 6A ist ein Verarbeitungsablauf vom Auslesen einer empfangenen Zugriffsantwortmeldung bis zur Wiederholungs-Prüfungsverarbeitung beim vorliegenden dritten Ausführungsbeispiel. Fig. 6B ist ein Verarbeitungsablauf der Wiederholungs-Prüfverarbeitung beim dritten Ausführungsbeispiel. Die Fig. 6C und 6D sind Verarbeitungsabläufe von Wiederholungsprozeduren (3) und (4) beim dritten Ausführungsbeispiel.
- Nun wird auf Grundlage von Fig. 6A die Verarbeitung vom Auslesen der Zugriffsantwortmeldung bis zur Wiederholungs-Prüfverarbeitung beim dritten Ausführungsbeispiel beschrieben.
- Als erstes liest das Clientdatei-Steuerungsmodul die vom Netzwerk empfangene und in den Eingangsmeldungsbereich eingespeicherte Zugriffsantwortmeldung (Schritt 601), es nimmt eine Prüfung hinsichtlich der Sende-SI-Tabelle vor und es ermittelt, ob der Wert des Quelleninformationsabschnitts in der Zugriffsantwortmeldung bereits im Quelleninformationsbereich der Sende-SI-Tabelle registriert ist (Schritt 602).
- Wenn noch keine Registrierung vorliegt, ist die Meldung keine Antwort auf eine durch den eigenen Prozessor erzeugte Zugriffsanforderung, und demgemäß wird diese Meldung verworfen (Schritt 603) und es wird auf die nächste Zugriffsantwortmeldung gewartet.
- Die Verarbeitung ist insoweit identisch mit der des ersten und zweiten Ausführungsbeispiels, wie sie jeweils in den Fig. 2 bzw. 5 dargestellt sind.
- Andernfalls wird, wenn bereits eine Registrierung vorliegt, überprüft, ob die Zugriffsantwortmeldung eine Meldung ist, die einer Wiederholungsprozedur (3) entspricht, wie sie später beschrieben wird (Schritt 604).
- Wenn die Meldung eine der Wiederholungsprozedur (3) entsprechende Meldung ist, geht der Ablauf zu einem Schritt 608 weiter.
- Wenn die Meldung keine der Wiederholungsprozedur (3) entsprechende Meldung ist, wird ermittelt, ob die Meldung eine Antwort von einer Vorzugsdatei (A) ist (Schritt 605).
- Wenn die Meldung keine Antwort von der Vorzugsdatei (A) ist, geht die Verarbeitung zum Schritt 608 weiter, der später beschrieben wird. Wenn die Meldung eine Antwort von der Vorzugsdatei (A) ist, wird die Meldung an ein Benutzerprogramm geliefert, das Ziel der Anforderung ist (beim Beispiel UPa 13 in Fig. 13) (Schritt 606), und es wird ein Modus für Wiederholungs-Prüfverarbeitung errichtet (Schritt 607).
- Dann wird die Zustandsinformation dieser Meldung in die Sen de-SI-Tabelle eingespeichert (Schritt 608), und es wird ermittelt, ob so viele Antworten empfangen wurden, wie sie dem Replikationsgrad entsprechen (Schritt 609).
- Wenn bereits so viele Antworten empfangen wurden, wie sie dem Replikationsgrad entsprechen, geht die Verarbeitung zu einem Schritt 613 weiter, der später beschrieben wird, und es wird eine Wiederholungs-Prüfverarbeitung ausgeführt. Solange nicht so viele Antworten empfangen würden, wie sie dem Replikationsgrad entsprechen, wird ermittelt, ob ein Zeitablauf erreicht wurde (Schritt 610).
- Wenn der Zeitablauf nicht erreicht ist, kehrt der Prozess zum Schritt 601 zurück und es wird die nächste empfangene Meldung ausgelesen.
- Im Fall eines Zeitablaufs wird die Sende-SI-Tabelle rückgesetzt (Schritt 611), es wird eine Fehlerverarbeitung ausgeführt (Schritt 612) und der Prozess geht zur Wiederholungs- Prüfverarbeitung 613 weiter.
- Bei der Fehlerverarbeitung wird der Wert des Anzahlbereichs 10713 als Wert des Replikationsgradbereichs der Sende-SI-Tabelle 407, wie in Fig. 4 dargestellt, eingetragen.
- Durch die Verarbeitung der oben beschriebenen Schritte 605 - 607 wird beim dritten Ausführungsbeispiel die Steuerung zum Zeitpunkt des Empfangs einer Antwort von der Datei im eigenen Prozessor an die UPa 13 von Fig. 1, die eine Antwortmeldung angefordert hat, zurückgegeben. Selbst wenn im Modus der Wiederholungsprüfung ein Zugriffsbefehl von einem anderen Benutzerprogramm angenommen wird, verschiebt das Clientdatei-Steuerungsmodul seine Prozessausführung, bis der Modus der Wiederholungsprüfung aufgehoben ist.
- D.h., dass dann, wenn in Fig. 1 eine Zugriffsantwortmeldung empfangen wird, die von der Datei (A) 12 herrührt, die eine Vorzugsdatei ist, die Verarbeitung der Schritte 601-605 ausgeführt wird, die Zugriffsantwortmeldung im Schritt 606 an das UPa 13 geliefert wird und danach die Prozesse des Schritts 607 und der folgenden Schritte ausgeführt werden.
- Wenn jedoch eine Zugriffsantwortmeldung empfangen wird, die von der Datei (A) 22 geliefert wird, die keine Vorzugsdatei ist, gehen die Prozesse vom Schritt 606 zum Schritt 608 weiter und es wird die Ermittlungsverarbeitung im Schritt 609 ausgeführt.
- Wenn dabei so viele Antworten empfangen sind, wie es dem Replikationsgrad entspricht, wird die Wiederholungs-Prüfverarbeitung im Schritt 613 ausgeführt.
- Nun wird diese Wiederholungs-Prüfverarbeitung beim dritten Ausführungsbeispiel unter Bezugnahme auf Fig. 6B beschrieben.
- Bei der Wiederholungs-Prüfverarbeitung wird als erstes ermittelt, ob die empfangene Antwortmeldung eine Meldung ist, die der Wiederholungsprozedur (3) entspricht, die später beschrieben wird (Schritt 614).
- Wenn die empfangene Antwortmeldung keine der Wiederholungsprozedur (3) entsprechende Meldung ist, wird überprüft, ob die in der Sende-SI-Tabelle registrierten Antwortmeldungen hinsichtlich der Zustandsinformation übereinstimmen (Schritt 615).
- Im Fall einer Übereinstimmung wird der einschlägige Teil der Sende-SI-Tabelle rückgesetzt (Schritt 616). Ferner wird der in der Verarbeitung des Schritts 607 eingestellte Modus der Wiederholungsprüfung aufgehoben (rückgesetzt) (Schritt 617) und die Wiederholungs-Prüfverarbeitung wird beendet.
- Wenn dagegen die Zugriffsantwortmeldungen in der Verarbeitung des Schritts 615 verschiedene Zustandsinformationen i.o. (erfolgreich) und NG (fehlgeschlagen) aufweisen, wird die Sende-SI-Tabelle rückgesetzt (Schritt 618) und es wird die Wiederholungsverarbeitung (3) ausgeführt, die später beschrieben wird (Schritt 619).
- Wenn die empfangene Antwortmeldung eine Meldung ist, die der Wiederholungsprozedur (3) im Schritt 614 entspricht, wird eine Wiederholungsprozedur (4) ausgeführt, die später beschrieben wird (Schritt 620).
- Nun wird unter Bezugnahme auf Fig. 6 die Wiederholungsprozedur (3) beim dritten Ausführungsbeispiel beschrieben.
- In der Wiederholungsprozedur (3) wird der nachfolgend beschriebene Prozess ausgeführt.
- Als erstes wird das Ergebnis (i.o. oder NG) der von der Vorzugsdatei rückgelieferten Antwort geliefert (Schritt 621).
- Wenn die Antwort von der Vorzugsdatei i.o. ist (Schritt 622), wird die Zugriffsanforderungsmeldung für den Befehl, der diese Zugriffsanforderungsmeldung ausgelöst hat, erneut in den Ausgangsmeldungsbereich 105 in Fig. 1 eingespeichert (Schritt 623) und auf Grundlage des durch das Kommunikationssteuerungsmodul 102 in Fig. 1 ausgeführten Sendevorgangs wird eine Verarbeitung für die empfangene Meldung ausgehend vom Schritt 601 ausgeführt.
- Wenn dagegen die Antwort von der Vorzugsdatei NG ist, wird die oben unter Bezugnahme auf den Schritt 212 in Fig. 2 be schriebene Wiederholungsprozedur (1) ausgeführt (Schritt 624). D.h., dass die Zugriffsanforderungsmeldung des Zustandslöschbefehls (wie FREIGABE, LÖSCHEN und SCHLIEßEN) für den ausgegebenen Befehl, der die Zugriffsantwortmeldung ausgelöst ha, in den Ausgangsmeldungsbereich 105 in Fig. 1 eingespeichert wird, und auf Grundlage des durch das Kommunikationssteuerungsmodul 102 in Fig. 1 ausgeführten Sendevorgangs wird die Verarbeitung der empfangenen Meldung beginnend mit dem Schritt 601 ausgeführt.
- Die durch die Wiederholungsprozedur (3) erzeugte Antwortmeldung für die Wiederholungsprozedur-Antwortmeldung wird in den Schritten 604 und 614 bestätigt, und es wird die Wiederholungsprozedur (4) des Schritts 620 ausgeführt.
- Nun wird unter Bezugnahme auf Fig. 6D die Wiederholungsprozedur (4) beim dritten Ausführungsbeispiel beschrieben.
- Als erstes wird, im Fall einer Antwortmeldung, wie sie erhalten wird, wenn die Antwort von der Vorzugsdatei in der Wiederholungsprozedur (3) i.o ist, d.h., wenn die Antwort eine Antwortmeldung ist, die der Verarbeitung des Schritts 623 (Schritt 625) entspricht, und die Zustandsinformation der von jeder Datei gelieferten Antwortmeldung, wobei die Statusinformation der Zugriffsantwortmeldung NG war, i.o wird (Sehritt 626), der im Schritt 607 eingestellte Modus der Wiederherstellprüfung aufgehoben (Schritt 627) und die Verarbeitung wird beendet.
- Solange die Zustandsinformation der von jeder Datei gelieferten Antwortmeldung nicht i.o ist, geht der Prozess zum. Schritt 623 weiter und in den Ausgangsmeldungsbereich wird erneut eine Anforderungsmeldung für erneuten Zugriff eingespeichert.
- Andererseits wird im Fall einer Antwortmeldung, wie sie erhalten wird, wenn die Antwort von der Vorzugsdatei bei der Wiederholungsprozedur (3) NG ist, d.h., wenn die Antwort eine Antwortmeldung ist, die der Verarbeitung des Schritts 624 (Schritt 628) entspricht, und jede Datei, in der die Zustandsinformation i.o war, durch die Zustandslösch-Anforderungsmeldung gelöscht (Schritt 629) wird, der im Schritt 607 eingestellte Modus der Wiederholungsprüfung aufgehoben (Schritt 630) und es wird die in Fig. 2 dargestellte Wiederholungsprozedur (2) ausgeführt (Schritt 631). D.h., dass die erste Zugriffsanforderungsmeldung, die das Nichtzusammenpassen von Dateien hervorgerufen hat, in den Ausgangsmeldungsbereich eingespeichert hat.
- Wenn sich im Schritt 629 zeigt, dass nicht alle Dateien, in denen die Zustandsinformation i.o war, aufgehoben wurden, geht der Prozess zum Schritt 624 weiter und es wird die Wiederholungsprozedur (1) erneut ausgeführt.
- Selbst wenn beim dritten Ausführungsbeispiel ein Nichtzusammenpassen zwischen Dateien auftritt, stimmen alle Inhalte der replizierten Dateien mit dem Inhalt der Vorzugsdatei überein, und es ist für ein Zusammenpassen zwischen den Dateien gesorgt. Ferner wird die Steuerung zum Zeitpunkt des Rücklieferns der Antwort von der Vorzugsdatei an das Benutzerprogramm zurückgegeben, wodurch eine Absenkung des Antwort-Funktionsvermögens, wie dies durch Überprüfen des Zusammenpassens zwischen replizierten Dateien verursacht wird, verhindert ist.
- Nun wird unter Verwendung zeitbezogener Diagramme der Betrieb des verteilten Verarbeitungssystems gemäß dem dritten Ausführungsbeispiel beschrieben.
- Fig. 7 zeigt zeitbezogene Diagramme, die den Verarbeitungs ablauf der Ausführungsbeispiele gemäß der Erfindung in verteilten Verarbeitungssystemen mit der Sende-SI-Tabelle und der Dateisteuerungstabelle von Fig. 4 veranschaulichen.
- Fig. 7A ist ein zeitbezogenes Diagramm für das erste und zweite Ausführungsbeispiel, während Fig. 7B ein zeitbezogenes Diagramm für das dritte Ausführungsbeispiel ist.
- Beim ersten und zweiten Ausführungsbeispiel wird zu einem Zeitpunkt 74 des Zurücklieferns von Antworten (Antwortmeldungen 72 und 73) von den Dateien (A) 12 und 22 für eine vom UPa 13 ausgegebene Antwortmeldung 71, wie in Fig. 7A dargestellt, eine Wiederholungs-Prüfverarbeitung 75 ausgeführt. Wenn das Ergebnis der Wiederholungs-Prüfverarbeitung 75 i.o. ist, wird eine Rückgabe 76 der Steuerung an das UPa 13 vorgenommen.
- Dagegen wird beim in Fig. 7B dargestellten dritten Ausführungsbeispiel als erstes die Datei (A) 12 als Vorzugsdatei definiert. Beim vorliegenden dritten Ausführungsbeispiel wird dann die Rückgabe 78 der Steuerung an das UPa 13 zum Zeitpunkt 77 der Rücklieferung der Antwortmeldung 72 von der Vorzugsdatei (A) 12 auf die durch das UPa 13 erzeugte Antwortmeldung 71 zurückgegeben.
- Danach wird die Wiederholungsprüfung 75 zum Zeitpunkt der Rücklieferung der Antwortmeldung 73 von der Datei (A). 22 ausgeführt.
- Nach Abschluss der Wiederholungsprüfung 75 wird ein Befehl (SCHREIBEN), wie er vom UPa 13 ausgegeben wurde, bevor die Wiederholungsprüfung 75 beendet wurde, als Zugriffsanforderungsmeldung 70 an die Dateien (A) 12 und 22 übertragen.
- So wird beim dritten Ausführungsbeispiel die Steuerung zum Zeitpunkt der Rücklieferung der Antwortmeldung von der Datei in der Plattenvorrichtung des eigenen Prozessors, die die Vorzugsdatei ist, an das Benutzerprogramm zurückgegeben, wodurch eine Verschlechterung des Antwort-Funktionsvermögens, wie durch Überprüfen des Zusammenpassens zwischen replizierten Dateien hervorgerufen, verhindert ist.
- Das Verfahren des Überprüfens von Antwortmeldungen, wie sie von replizierten Dateien zurückgeliefert werden, wie für das dritte Ausführungsbeispiel angegeben, d.h. das Verfahren, gemäß dem als erstes eine erste ankommende Meldung an das Benutzerprogramm geliefert wird und zum Zeitpunkt des Empfangs einer später eingehenden Meldung auf Übereinstimmung zwischen der letzteren eingetroffenen Meldung und der früher eingetroffenen Meldung geprüft wird, kann in ähnlicher Weise auch auf den Fall angewandt werden, bei dem verschiedene Betriebsmittel wie Programme oder Drucker mehrfach oder repliziert vorhanden sind.
- Selbst wenn beim ersten bis dritten Ausführungsbeispiel ein Nichtzusammenpassen zwischen replizierten Dateien auftritt, kann das Nichtzusammenpassen automatisch aufgehoben werden, wie es zuvor unter Bezugnahme auf die Fig. 1 bis 7 beschrieben wurde.
- Ferner wird durch die Antwortmeldung der als erstes empfangene Datei die Steuerung an das Benutzerprogramm zurückgegeben, und danach wird das Zusammenpassen zwischen Dateien überprüft. Dadurch ist eine Absenkung des Antwort-Funktionsvermögens, wie durch Überprüfen des Zusammenpassens zwischen replizierten Dateien hervorgerufen, verhindert.
- Die Wiederholungsprüfungen, wie sie beim ersten bis dritten Ausführungsbeispiel vorgenommen werden, sind Prüfungen, die zum Zeitpunkt einer Dateiaktualisierung erforderlich sind, aber sie sind dann nicht erforderlich, wenn eine Datei z.B. im Modus "NUR LESEN" geöffnet ist. Bei einem alternativen Verfahren wird daher geprüft, ob der Dateiöffnungsmodus vorliegt. Solange die Datei bei diesem alternativen Verfahren nicht im Aktualisierungsmodus geöffnet ist, wird im Clientdatei-Steuerungsmodul 106 in Fig. 1 keine Wiederholungs- Prüfverarbeitung ausgeführt, sondern eine zuvor empfangene Zugriffsantwortmeldung wird zum Zeitpunkt des Empfangs an das Benutzerprogramm geliefert. Dabei wird eine später empfangene Zugriffsantwortmeldung nicht beachtet und verworfen. Durch dieses Verfahren kann das Antwort-Funktionsvermögen im Fall eines Zugriffs unter Verwendung eines anderen Modus als des Dateiaktualisierungsmodus verbessert werden.
- So wird es insbesondere beim dritten Ausführungsbeispiel möglich, einen Nichtzusammenpass-Zustand zu prüfen, wie er zwischen replizierten Dateien auftritt, ohne dass das Antwortverhalten beim Dateizugriff gesenkt wird, und beim Auftreten eines Nichtzusammenpass-Zustands ist es möglich, diesen automatisch zu beseitigen, ahne dass das Benutzerprogramm dies bemerkt.
- Im Ergebnis können wichtige Dateien mit wahlfreiem Replikationsgrad repliziert werden. Außerdem wird dabei das Antwort-Funktionsvermögen betreffend Zugriffe nicht verringert. Dies führt nicht nur zu verbesserter Dateizuverlässigkeit sondern auch zu verbesserter Zweckdienlichkeit hinsichtlich des Gebrauchs durch den Benutzer.
- Selbst wenn zwischen Dateien, die mit wahlfreiem Replikationsgrad repliziert sind, ein Nichtzusammenpassen auftritt, ermöglicht die vorliegende Erfindung eine automatische Erholung vom Nichtzusammenpass-Zustand, ohne dass die Verarbeitung eines Dateizugriffs unterbrochen wird. Die Erfindung ermöglicht es auch, einen Nichtzusammenpass-Zustand zu er kennen, wie er zwischen replizierten Dateien verursacht wird, ohne dass das Antwort-Funktionsvermögen beim Dateizugriff herabgesetzt wird. Im Ergebnis können das Verarbeitungs-Funktionsvermögen und die Zuverlässigkeit verteilter Verarbeitungssysteme verbessert werden.
Claims (12)
1. Verfahren zur Verarbeitung replizierter Daten in einem
verteilten Verarbeitungssystem mit replizierten
Informationsquellen (12, 22) zur Abgabe der replizierten Daten, mehreren
Prozessoren (1, 2) zur Durchführung einer vorbestimmten
Verarbeitung der abgegebenen replizierten Daten und einem die
Prozessoren untereinander verbindenden Übertragungsmedium
(4),
wobei die Prozessoren (1, 2) jeweils die folgenden
Schritte ausführen:
Empfangen der von den Informationsquellen abgegebenen
replizierten Daten, die zunächst empfangene replizierte Daten
und nachfolgend empfangene replizierte Daten einschließen,
die jeweils von unterschiedlichen Informationsquellen (12,
22) abgegeben sind,
Beginnen mit der Durchführung der vorbestimmten
Verarbeitung (13, 23) unter Verwendung der zunächst empfangenen
replizierten Daten, bevor die nachfolgenden replizierten
Daten empfangen werden,
Prüfen eines Zusammenpassens der zunächst empfangenen
replizierten Daten und der nachfolgend empfangenen
replizierten Daten, und
Durchführen einer Wiederherstellprozedur für mangelndes
Zusammenpassen, wenn die Prüfung ein mangelndes
Zusammenpassen der zunächst und der nachfolgend empfangenen replizierten
Daten ergibt.
2. Verfahren nach Anspruch 1, wobei die Informationsquellen
Dateien (12, 22) sind, die in entsprechenden externen
entsprechenderweise mit den Prozessoren verbundenen
Speichermedien (11, 21) repliziert vorhanden sind, und wobei ein
beliebiger der Prozessoren eine Anforderung für einen Zugriff auf
die replizierten Dateien ausgibt, entsprechend der
Zugriffsanforderung replizierte Antwortdaten von den replizierten
Dateien empfängt, die genannte Verarbeitung unter Verwendung
der unter den replizierten Antwordaten zunächst empfangenen
Antwortdaten durchführt und das Zusammenpassen der zunächst
empfangenen Antwortdaten und der danach empfangenen
replizierten Antwortdaten prüft.
3. Verfahren nach Anspruch 2, wobei der genannte Prozessor,
der die Zugriffsanforderung ausgegeben hat, die nächste
Dateizugriffsanforderung nicht erzeugt, bis die Prüfung des
Zusammenpassens der replizierten Antwortdaten beendet ist.
4. Verfahren nach Anspruch 3, wobei der genannte Prozessor,
der die Zugriffsanforderung ausgegeben hat, bei einer
Erkennung eines fehlenden Zusammenpassens der Antwortdaten eine
erste Wiederholungsprozedur zur Ausgabe eines Befehls zur
Löschung eines von der Zugriffsanforderung gesetzten
Dateizustands sowie eine zweite Wiederholungsprozedur zur erneuten
Erzeugung der Zugriffsanforderung, wenn der Dateizustand von
der ersten Wiederholungsprozedur gelöscht worden ist,
durchführt und die erste und die zweite Wiederholungsprozedur
wiederholt, bis das Fehlen des Zusammenpassens der Antwortdaten
verschwindet.
5. Verfahren nach Anspruch 4, wobei der Prozessor, der die
Zugriffsanforderung ausgegeben hat, die zweite
Wiederholungsprozedur eine vorbestimmte Zeitspanne nach der ersten
Wiederholungsprozedur durchführt.
6. Verfahren nach Anspruch 4 oder 5, wobei der Prozessor,
der die Zugriffsanforderung ausgegeben hat, alle von den
replizierten Dateien (12, 22) gelieferten Antwortdaten sammelt
und die genannte Verarbeitung nach einem Prüfen eines
Zusammenpassens all der gesammelten Antwortdaten und einem
festgestellten Zusammenpassen der Antwortdaten mittels der ersten
und der zweiten Wiederholungsprozedur durchführt.
7. Verfahren nach einem der Ansprüche 4 bis 6, wobei der
Prozessor, der die Zugriffsanforderung ausgegeben hat; die
erste und die zweite Wiederholungsprozedur auf der Grundlage
einer Prüfung aller von den replizierten Dateien (12, 22)
gelieferter und innerhalb einer vorbestimmten Zeit gesammelter
Antwortdaten durchführt.
8. Verfahren nach Anspruch 7, wobei dann, wenn nicht alle
Antwortdaten der replizierten Dateien (12, 22) innerhalb der
vorbestimmten Zeit gesammelt werden können, der Prozessor,
der die Zugriffsanforderung ausgegeben hat, eine
Fehlerprozedur zur Begrenzung des für das Zusammenpassen zu prüfenden
Gegenstands auf Antwortdaten durchführt, die innerhalb der
vorbestimmten Zeit gesammelt wurden, und die Prüfung auf
Zusammenpassen, die erste Wiederholungsprozedur und die zweite
Wiederholungsprozedur nach der Fehlerprozedur ausführt.
9. Verfahren nach Anspruch 4, wobei der Prozessor, der die
Zugriffsanforderung ausgegeben hat, als erste
Wiederholungsprozedur einen Freigabebefehl zur Löschung eines
Besetztzustands eines Datensatzes, der unter ausschließlicher
Steuerung durch einen Lesebefehl eingenommen wurde, ausgibt, wenn
die Zugriffsanforderung der Lesebefehl war, einen Löschbefehl
zum Löschen eines von einem Hinzufügebefehl hinzugefügten
Datensatzes ausgibt, wenn die Zugriffsanforderung der
Hinzufügebefehl war, und einen Schließbefehl zum Löschen eines
Besetztzustands einer Datei, der von einem ausschließlichen
Öffnungsbefehl eingerichtet wurde, ausgibt, wenn die
Zugriffsanforderung der Befehl zum ausschließlichen Öffnen
war.
10. Vorrichtung zur Verarbeitung replizierter Daten in einem
verteilten Verarbeitungssystem mit replizierten
Informationsquellen (12, 22) zur Abgabe der replizierten Daten, mehreren
Prozessoren (1, 2) zur Durchführung einer vorbestimmten
Verarbeitung der abgegebenen repliezierten Daten und einem die
Prozessoren untereinander verbindenden Übertragungsmedium
(4),
wobei die Vorrichtung aufweist:
eine Empfangsschaltung (101, 102, 104), um bei einem
Prozessor (1) von den Informationsquellen (12, 22) abgegebene
replizierte Daten zu empfangen, die zunächst empfangene
replizierte Daten und nachfolgend empfangene replizierte Daten
beinhalten, die entsprechenderweise von unterschiedlichen
Informationsquellen abgegeben worden sind,
eine Verarbeitungsschaltung (106, 108), um mit der
vorbestimmten. Verarbeitung unter Verwendung der zunächst
empfangenen replizierten Daten zu beginnen, bevor die nachfolgenden
replizierten Daten empfangen werden, ein Zusammenpassen der
zunächst empfangenen replizierten Daten und der nachfolgend
empfangenen replizierten Daten zu prüfen und eine
Wiederherstellungsprozedur für fehlendes Zusammenpassen durchzuführen,
wenn die Prüfung ein fehlendes Zusammenpassen der zunächst
und der nachfolgend empfangenen replizierten Daten ergibt.
3 Prozessor
5 Meldung
10 Terminal
11 Platte
12 Datei (A)
20 Terminal
21 Platte
22 Datei (A)
30 Terminal
31 Platte
56 DATEN
70 Anforderung (Schreiben)
71 Anforderung (Lesen)
75 Wiederholungsprüfung
76 Schreiben
101 Netzwerk-Schnittstelle
102 Kommunikationssteuerungsmodul
103 Inhaltscodetabelle
104 Eingangsmeldungsbereich
105 Ausgangsmeldungsbereich
106 Clientdatei-Steuerungsmodul
107 Sende-SI-Tabelle
108 UP-Ausführungsbereich
109 Serverdatei-Steuerungsmodul
110 Dateisteuerungstabelle
111 Plattenschnittstelle
201 Lesezugriff-Antwortmeldung
202 Prüfung der Sende-SI-Tabelle?
203 empfangene Meldung verwerfen
204 empfangene Meldung in die Sende-SI-Tabelle
einspeichern
205 Zeitablauf?
206 Wiederholungs-Prüfverarbeitung ausführen
207 Meldung entsprechend der Wiederholungsprozedur (1)?
208 Übereinstimmungsprüfung zwischen empfangenen
Meldungen?
209 Empfangene Meldung an das UP senden
210 Sende-SI-Tabelle rücksetzen
211 Sende-SI-Tabelle rücksetzen
212 Wiederholungsprozedur (1) ausführen
213 Wiederholungsprozedur (2) ausführen
214 Lesen?
215 Freigabe-Befehl in den Ausgabemeldungsbereich
einspeichern
216 Hinzufügen?
217 Löschbefehl in den Ausgabemeldungsbereich einspeichern
218 Ausschließliches Öffnen?
219 Schließbefehl in den Ausgabemeldungsbereich
einspeichern
220 Anderer Befehl
221 Entsprechenden Befehl in den Ausgabemeldungsbereich
einspeichern
222 Freigabe?
223 Lesebefehl in den Ausgabemeldungsbereich einspeichern
224 Löschen?
225 Hinzufügebefehl in den Ausgabemeldungsbereich
einspeichern
226 Schließen?
227 Befehl für ausschließliches Öffnen in den
Ausgabemeldungsbereich einspeichern
228 Anderer Befehl
229 Entsprechenden Befehl in den Ausgabemeldungsbereich
einspeichern
300 Lesen
301 Anforderung (Lesen)
304 Wiederholungsverarbeitung (2)
308 Wiederholungsverarbeitung (2)
309 Anforderung (Lesen)
320 Lesen
321 Anforderung (Lesen)
324 Wiederholungsverarbeitung (1)
328 Wiederholungsverarbeitung (2)
329 Anforderung (Lesen)
400 Replikationsgradbereich
401 Replikationsgradbereich
501 Zugriffsanforderungsmeldung auslesen
502 SI-Sendetabelle prüfen?
503 Empfangene Meldung verwerfen
504 Empfangene Meldung in die Sende-SI-Tabelle
einspeichern
505 Existieren so viele Antworten, wie sie dem
Replikationsgrad entsprechen?
506 Wiederholungs-Prüfverarbeitung ausführen
507 Zeitablauf?
508 Sende-SI-Tabelle rücksetzen
509 Fehlerverarbeitung ausführen
601 Zugriffsantwortmeldung lesen
602 Sende-SI-Tabelle prüfen?
603 Empfangene Meldung verwerfen
604 Meldung entsprechend der Wiederholungsprozedur (3)
605 Antwort von der Vorzugsdatei?
606 Meldung an UP (User Program = Benutzerprogramm) senden
607 Wiederholungs-Prüfmodus errichten
608 Zustandsinformation für die empfangene Meldung in die
Sende-SI-Tabelle speichern
609 So viele Antworten vorhanden, wie sie dem
Replikationsgrad entsprechen?
610 Zeitablauf?
611 Sende-SI-Tabelle rücksetzen
612 Fehlerverarbeitung ausführen
613 Wiederholungs-Prüfverarbeitung ausführen
614 Meldung entsprechend der Wiederholungsprozedur (3)?
615 Übereinstimmung zwischen empfangenen Meldungen prüfen?
616 Sende-SI-Tabelle rücksetzen
617 Wiederholungs-Prüfmodus rücksetzen
618 Sende-SI-Tabelle rücksetzen
619 Wiederholungsprozedur (3) ausführen
620 Wiederholungsprozedur (4) ausführen
621 Zustandsinformation klarstellen, wie sie von der
Vorzugsdatei geliefert wurde
622 i.o.?
623 Dieselbe Zugriffsanforderungsmeldung erneut speichern
624 Wiederholungsprozedur (1) ausführen
625 Antwortmeldung entspricht dem Schritt 623?
626 Ist jede Zustandsinformation i.o.?
627 Wiederholungs-Prüfmodus aufheben
628 Antwortmeldung entsprechend dem Schritt 624?
629 Wurden alle Dateien aufgehoben?
630 Wiederholungs-Prüfmodus aufheben
631 Wiederholungsprozedur (2) ausführen
801 Netzwerk
810 Prozessor
812 Terminal
820 Prozessor
822 Terminal
830 Prozessor
832 Terminal
10711 SI-Bereich
10712 Timerbereich
10713 Anzahlbereich
10714 Bereich für empfangene Meldungen
11011 FNM-Bereich
11012 Bereich für physikalische Information
11013 SI-Bereich
Beschriftung ohne Bezugszeichen in alphabetischer
Reihenfolge
Absent Nichtvorhanden
Cancel Löschen
End Ende
Exclusive ausschließlich
Free Freigabe
No Nein
Noncoincidence Nicht-Übereinstimmung
Occupation by... Besetzt durch...
OK i.o.
Processor Prozessor
Present vorhanden
Read Lesen
Request Anforderung
Same SI is absent dieselbe SI fehlt
Same Si is present dieselbe SI ist vorhanden
Stagger versetzt
Yes Ja
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28377790A JP3516344B2 (ja) | 1990-10-22 | 1990-10-22 | 分散処理システムの多重データ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69130014D1 DE69130014D1 (de) | 1998-09-24 |
DE69130014T2 true DE69130014T2 (de) | 1999-04-29 |
Family
ID=17669992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69130014T Expired - Fee Related DE69130014T2 (de) | 1990-10-22 | 1991-10-22 | Vorrichtung and Verfahren zur Verarbeitung replizierter Daten in einem verteilten Datenverarbeitungssystem |
Country Status (4)
Country | Link |
---|---|
US (1) | US5333265A (de) |
EP (1) | EP0482582B1 (de) |
JP (1) | JP3516344B2 (de) |
DE (1) | DE69130014T2 (de) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7299240B1 (en) | 1992-04-10 | 2007-11-20 | Intellisync Corporation | Method for translating computer data from one record structure to another |
US5710922A (en) * | 1993-06-02 | 1998-01-20 | Apple Computer, Inc. | Method for synchronizing and archiving information between computer systems |
GB2297181B (en) * | 1993-09-24 | 1997-11-05 | Oracle Corp | Method and apparatus for data replication |
GB2284494B (en) * | 1993-11-26 | 1998-09-09 | Hitachi Ltd | Distributed shared memory management system |
US5588147A (en) * | 1994-01-14 | 1996-12-24 | Microsoft Corporation | Replication facility |
US5796999A (en) * | 1994-04-15 | 1998-08-18 | International Business Machines Corporation | Method and system for selectable consistency level maintenance in a resilent database system |
EP0678812A1 (de) * | 1994-04-20 | 1995-10-25 | Microsoft Corporation | Replikationsüberprüfung |
US5434994A (en) * | 1994-05-23 | 1995-07-18 | International Business Machines Corporation | System and method for maintaining replicated data coherency in a data processing system |
US5699511A (en) * | 1995-10-10 | 1997-12-16 | International Business Machines Corporation | System and method for dynamically varying low level file system operation timeout parameters in network systems of variable bandwidth |
US5787304A (en) * | 1996-02-05 | 1998-07-28 | International Business Machines Corporation | Multipath I/O storage systems with multipath I/O request mechanisms |
US5764634A (en) * | 1996-03-13 | 1998-06-09 | International Business Machines Corporation | Lan switch with zero latency |
US6412017B1 (en) | 1996-07-01 | 2002-06-25 | Microsoft Corporation | Urgent replication facility |
US5781910A (en) * | 1996-09-13 | 1998-07-14 | Stratus Computer, Inc. | Preforming concurrent transactions in a replicated database environment |
US6049809A (en) * | 1996-10-30 | 2000-04-11 | Microsoft Corporation | Replication optimization system and method |
US6212529B1 (en) | 1996-11-13 | 2001-04-03 | Puma Technology, Inc. | Synchronization of databases using filters |
US7013315B1 (en) | 1996-11-13 | 2006-03-14 | Intellisync Corporation | Synchronization of databases with record sanitizing and intelligent comparison |
US7302446B1 (en) | 1996-11-13 | 2007-11-27 | Intellisync Corporation | Synchronizing databases |
US6044381A (en) | 1997-09-11 | 2000-03-28 | Puma Technology, Inc. | Using distributed history files in synchronizing databases |
US5943676A (en) | 1996-11-13 | 1999-08-24 | Puma Technology, Inc. | Synchronization of recurring records in incompatible databases |
US6405218B1 (en) | 1996-11-13 | 2002-06-11 | Pumatech, Inc. | Synchronizing databases |
US6141664A (en) | 1996-11-13 | 2000-10-31 | Puma Technology, Inc. | Synchronization of databases with date range |
US6330568B1 (en) | 1996-11-13 | 2001-12-11 | Pumatech, Inc. | Synchronization of databases |
US6925477B1 (en) | 1998-03-31 | 2005-08-02 | Intellisync Corporation | Transferring records between two databases |
US7007003B1 (en) | 1998-12-04 | 2006-02-28 | Intellisync Corporation | Notification protocol for establishing synchronization mode for use in synchronizing databases |
US6279026B1 (en) * | 1998-12-04 | 2001-08-21 | Honeywell International Inc | Timeout object for object-oriented, real-time process control system and method of operation thereof |
US6484220B1 (en) * | 1999-08-26 | 2002-11-19 | International Business Machines Corporation | Transfer of data between processors in a multi-processor system |
US6820213B1 (en) | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
US6687851B1 (en) | 2000-04-13 | 2004-02-03 | Stratus Technologies Bermuda Ltd. | Method and system for upgrading fault-tolerant systems |
US6691225B1 (en) | 2000-04-14 | 2004-02-10 | Stratus Technologies Bermuda Ltd. | Method and apparatus for deterministically booting a computer system having redundant components |
US6901481B2 (en) | 2000-04-14 | 2005-05-31 | Stratus Technologies Bermuda Ltd. | Method and apparatus for storing transactional information in persistent memory |
US6802022B1 (en) | 2000-04-14 | 2004-10-05 | Stratus Technologies Bermuda Ltd. | Maintenance of consistent, redundant mass storage images |
JP4497691B2 (ja) * | 2000-09-27 | 2010-07-07 | 株式会社日立製作所 | データベース管理方法及び管理システム |
US7359920B1 (en) | 2001-04-18 | 2008-04-15 | Intellisync Corporation | Communication protocol for synchronization of personal information management databases |
US7334004B2 (en) * | 2001-06-01 | 2008-02-19 | Oracle International Corporation | Consistent read in a distributed database environment |
US20030105816A1 (en) * | 2001-08-20 | 2003-06-05 | Dinkar Goswami | System and method for real-time multi-directional file-based data streaming editor |
US7149759B2 (en) | 2002-03-25 | 2006-12-12 | International Business Machines Corporation | Method and system for detecting conflicts in replicated data in a database network |
AU2004286660B2 (en) | 2003-10-27 | 2011-06-16 | Hitachi Vantara, LLC | Policy-based management of a redundant array of independent nodes |
US8311974B2 (en) * | 2004-02-20 | 2012-11-13 | Oracle International Corporation | Modularized extraction, transformation, and loading for a database |
US7444197B2 (en) * | 2004-05-06 | 2008-10-28 | Smp Logic Systems Llc | Methods, systems, and software program for validation and monitoring of pharmaceutical manufacturing processes |
US7346633B2 (en) * | 2004-06-10 | 2008-03-18 | Sybase, Inc. | System providing methodology for replication subscription resolution |
US7496787B2 (en) * | 2004-12-27 | 2009-02-24 | Stratus Technologies Bermuda Ltd. | Systems and methods for checkpointing |
US20070028144A1 (en) * | 2005-07-29 | 2007-02-01 | Stratus Technologies Bermuda Ltd. | Systems and methods for checkpointing |
US20070038891A1 (en) * | 2005-08-12 | 2007-02-15 | Stratus Technologies Bermuda Ltd. | Hardware checkpointing system |
US8868504B2 (en) | 2007-03-07 | 2014-10-21 | Oracle International Corporation | Database system with active standby and nodes |
US7991775B2 (en) | 2008-08-08 | 2011-08-02 | Oracle International Corporation | Global checkpoint SCN |
US8838919B2 (en) | 2010-08-30 | 2014-09-16 | Oracle International Corporation | Controlling data lag in a replicated computer system |
US8589361B2 (en) | 2010-08-30 | 2013-11-19 | Oracle International Corporation | Reduced disk space standby |
US8868492B2 (en) | 2011-06-15 | 2014-10-21 | Oracle International Corporation | Method for maximizing throughput and minimizing transactions response times on the primary system in the presence of a zero data loss standby replica |
US9251002B2 (en) | 2013-01-15 | 2016-02-02 | Stratus Technologies Bermuda Ltd. | System and method for writing checkpointing data |
US9767178B2 (en) | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
WO2015102875A1 (en) | 2013-12-30 | 2015-07-09 | Stratus Technologies Bermuda Ltd. | Checkpointing systems and methods of using data forwarding |
WO2015102874A2 (en) | 2013-12-30 | 2015-07-09 | Stratus Technologies Bermuda Ltd. | Method of delaying checkpoints by inspecting network packets |
US9652338B2 (en) | 2013-12-30 | 2017-05-16 | Stratus Technologies Bermuda Ltd. | Dynamic checkpointing systems and methods |
US11657037B2 (en) | 2015-10-23 | 2023-05-23 | Oracle International Corporation | Query execution against an in-memory standby database |
US10747752B2 (en) | 2015-10-23 | 2020-08-18 | Oracle International Corporation | Space management for transactional consistency of in-memory objects on a standby database |
US10698771B2 (en) | 2016-09-15 | 2020-06-30 | Oracle International Corporation | Zero-data-loss with asynchronous redo shipping to a standby database |
US10891291B2 (en) | 2016-10-31 | 2021-01-12 | Oracle International Corporation | Facilitating operations on pluggable databases using separate logical timestamp services |
US11475006B2 (en) | 2016-12-02 | 2022-10-18 | Oracle International Corporation | Query and change propagation scheduling for heterogeneous database systems |
US10803039B2 (en) | 2017-05-26 | 2020-10-13 | Oracle International Corporation | Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index |
US10691722B2 (en) | 2017-05-31 | 2020-06-23 | Oracle International Corporation | Consistent query execution for big data analytics in a hybrid database |
US10719446B2 (en) | 2017-08-31 | 2020-07-21 | Oracle International Corporation | Directly mapped buffer cache on non-volatile memory |
US10956335B2 (en) | 2017-09-29 | 2021-03-23 | Oracle International Corporation | Non-volatile cache access using RDMA |
US10732836B2 (en) | 2017-09-29 | 2020-08-04 | Oracle International Corporation | Remote one-sided persistent writes |
US11086876B2 (en) | 2017-09-29 | 2021-08-10 | Oracle International Corporation | Storing derived summaries on persistent memory of a storage device |
US10802766B2 (en) | 2017-09-29 | 2020-10-13 | Oracle International Corporation | Database with NVDIMM as persistent storage |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4224664A (en) * | 1976-05-07 | 1980-09-23 | Honeywell Information Systems Inc. | Apparatus for detecting when the activity of one process in relation to a common piece of information interferes with any other process in a multiprogramming/multiprocessing computer system |
US4270168A (en) * | 1978-08-31 | 1981-05-26 | United Technologies Corporation | Selective disablement in fail-operational, fail-safe multi-computer control system |
US4356546A (en) * | 1980-02-05 | 1982-10-26 | The Bendix Corporation | Fault-tolerant multi-computer system |
US4627019A (en) * | 1982-07-08 | 1986-12-02 | At&T Bell Laboratories | Database management system for controlling concurrent access to a database |
US5056003A (en) * | 1985-06-17 | 1991-10-08 | International Business Machines Corporation | Distributed data management mechanism |
JPS63100562A (ja) * | 1986-10-17 | 1988-05-02 | Hitachi Ltd | フアイルシステム管理方式 |
DE3639055C2 (de) * | 1986-11-14 | 1998-02-05 | Bosch Gmbh Robert | Verfahren zur Betriebsüberwachung und Fehlerkorrektur von Rechnern eines Mehrrechnersystems und Mehrrechnersystem |
US4881166A (en) * | 1987-07-24 | 1989-11-14 | Amoco Corporation | Method for consistent multidatabase transaction processing |
US4912707A (en) * | 1988-08-23 | 1990-03-27 | International Business Machines Corporation | Checkpoint retry mechanism |
JP2804046B2 (ja) * | 1988-08-26 | 1998-09-24 | 株式会社日立製作所 | 分散処理システムのデータ整合化方法 |
US5136707A (en) * | 1988-10-28 | 1992-08-04 | At&T Bell Laboratories | Reliable database administration arrangement |
US5095421A (en) * | 1989-08-17 | 1992-03-10 | International Business Machines Corporation | Transaction processing facility within an operating system environment |
US5170480A (en) * | 1989-09-25 | 1992-12-08 | International Business Machines Corporation | Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time |
US5062045A (en) * | 1990-02-23 | 1991-10-29 | International Business Machines Corporation | System for maintaining a document and activity selective alterable document history log in a data processing system |
-
1990
- 1990-10-22 JP JP28377790A patent/JP3516344B2/ja not_active Expired - Fee Related
-
1991
- 1991-10-22 DE DE69130014T patent/DE69130014T2/de not_active Expired - Fee Related
- 1991-10-22 EP EP91117995A patent/EP0482582B1/de not_active Expired - Lifetime
- 1991-10-22 US US07/780,337 patent/US5333265A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0482582A3 (de) | 1994-04-20 |
DE69130014D1 (de) | 1998-09-24 |
JPH04157541A (ja) | 1992-05-29 |
US5333265A (en) | 1994-07-26 |
EP0482582A2 (de) | 1992-04-29 |
JP3516344B2 (ja) | 2004-04-05 |
EP0482582B1 (de) | 1998-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69130014T2 (de) | Vorrichtung and Verfahren zur Verarbeitung replizierter Daten in einem verteilten Datenverarbeitungssystem | |
DE3908459C2 (de) | Netzwerkserver | |
DE69724846T2 (de) | Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus | |
DE69322549T2 (de) | Verteilte Transaktionsverarbeitung mit einem Zwei-Phasen-Bindungsprotokoll mit erwarteter Bindung ohne Aufzeichnungspflicht | |
DE3751853T2 (de) | Vorrichtung für ein fehlertolerantes Rechnersystem mit erweiterungsfähigem Prozessorabschnitt | |
DE602004005415T2 (de) | Rechnersystem zur Wiedergewinnung von Daten auf Basis von Datenprioritäten | |
DE68913629T2 (de) | Satzverriegelungsprozessor für vielfachverarbeitungsdatensystem. | |
DE69702169T2 (de) | Berechtigung zum abgetrennten Schreiben in einer Benutzer/Anbieter-Rechneranordnung | |
DE69123663T2 (de) | Kanäle in einem Rechnerein-Ausgabesystem | |
DE3687777T2 (de) | Verfahren und geraet zur sicherstellung eines datenuebertragungssystems. | |
DE69033434T2 (de) | Datenverarbeitungssystem und Datenübertragungs- und -verarbeitungsverfahren | |
DE69232686T2 (de) | Multiplex-Übertragungssystem | |
DE3301628A1 (de) | Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern | |
DE4033336A1 (de) | Verfahren zum erzeugen einer ausfallmeldung und mechanismus fuer ausfallmeldung | |
DE3751949T2 (de) | Verfahren zum Starten eines Untersystems in einem verteilten Verarbeitungssystem | |
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
DE10255111A1 (de) | System und Verfahren zum Laden von Firmware mit hoher Verfügbarkeit | |
DE69227741T2 (de) | System und Verfahren zur Aufrüstung von Computer-Hardware und Software | |
DE69427732T2 (de) | Datenübertragungsverfahren mittels eines Datenstromes | |
DE69120362T2 (de) | Speicherverwaltung in einem Datenverarbeitungsnetzwerk | |
DE69027827T2 (de) | Verfahren und Anordnung zur On-line-Verarbeitung von Transaktionsdaten | |
DE19780639C2 (de) | Arbeitsübernahmesystem | |
DE602005004508T2 (de) | Speichersystem und Speichersteuerverfahren | |
DE69617709T2 (de) | Steuerung von gemeinsamen plattendaten in einer duplex-rechnereinheit | |
DE69212284T2 (de) | Vorrichtung zur Benutzung von Fehlerinformationen eines Einzel- oder Mehrrechnersystems eines Flugzeuges |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |