DE3786956T2 - Verwaltung von registrierungsdaten in einem transaktionsorientierten System. - Google Patents

Verwaltung von registrierungsdaten in einem transaktionsorientierten System.

Info

Publication number
DE3786956T2
DE3786956T2 DE87107475T DE3786956T DE3786956T2 DE 3786956 T2 DE3786956 T2 DE 3786956T2 DE 87107475 T DE87107475 T DE 87107475T DE 3786956 T DE3786956 T DE 3786956T DE 3786956 T2 DE3786956 T2 DE 3786956T2
Authority
DE
Germany
Prior art keywords
transaction
recovery
trs
commit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE87107475T
Other languages
English (en)
Other versions
DE3786956D1 (de
Inventor
Kenneth Michael Kapulka
Holly Anne Rader
Jimmy Paul Strickland
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE3786956D1 publication Critical patent/DE3786956D1/de
Publication of DE3786956T2 publication Critical patent/DE3786956T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Reduzierung der Anzahl und zur Verwaltung von Registrierungsdaten, auf die in einem transaktionsorientierten System, in dem gleichzeitig ablaufende, fehlerunabhängige Prozesse ein gemeinsames Protokoll benutzen, zugegriffen werden muß und die in diesem verarbeitet werden müssen.
  • Wie von C. J. Date in "An Introduction to Data Base Systems", Vol. 1, 4th Edition, Addison-Wesley Publishing Co., Copyright 1986, in Kapitel 18 dargelegt, stellt eine "Transaktion" eine logische Arbeitseinheit dar, die sich auf eine Abfolge von Operationen bezieht, mit der ein konsistenter Zustand einer wiederherstellbaren Ressource in einen anderen konsistenten Zustand umgewandelt wird, ohne daß dabei unbedingt in allen Zwischenstadien die Konsistenz gewahrt bleibt. Für die Belange dieser Erörterung soll eine Datenbank als typisches Beispiel für eine wiederherstellbare Ressource herangezogen werden.
  • Ein System, daß die Verarbeitung von Transaktionen unterstützt, stellt sicher, daß für den Fall, daß die Transaktion Aktualisierungen für die Datenbank ausführt und eine Störung auftritt, bevor die Transaktion zu ihrem normalen Abschluß kommt, diese Aktualisierungen rückgängig gemacht werden. Folglich wird die Transaktion entweder in ihrer Ganzheit ausgeführt oder sie wird vollständig rückgängig gemacht. Da eine Transaktion die Ausführung einer anwendungsspezifischen Abfolge von Operationen umfaßt, wird sie durch eine spezielle BEGIN-Transaktionsoperation eingeleitet und endet mit einer COMMIT-Operation oder einer ABORT-Operation. Die Operationen COMMIT und ABORT bilden den Schlüssel zur Schaffung einer Atomizität.
  • Die COMMIT-Operation bezeichnet mehrere Attribute. Erstens zeigt sie an, daß eine Transaktion erfolgreich beendet wurde. Zweitens zeigt sie an, daß sich die Datenbank in einem Zustand der Konsistenz befindet. Schließlich zeigt die COMMIT-Operation an, daß alle von dieser Arbeitseinheit vorgenommenen Aktualisierungen jetzt festgeschrieben bzw. in den Zustand der Dauerhaftigkeit überführt werden können. Im Gegensatz dazu bezeichnet die ABORT- Operation einen nicht erfolgreichen Abschluß einer Transaktion. Das heißt, der ABORT (Abbruch) bedeutet, daß ein Fehler aufgetreten ist, daß sich die Datenbank möglicherweise in einem Zustand der Inkonsistenz befindet und daß sämtliche Aktualisierungen, die von der Transaktion vorgenommen wurden, "zurückgesetzt" oder rückgängig gemacht werden müssen.
  • Transaktionen werden auf gespeicherten, programmgesteuerten Systeme ausgeführt, deren logische und physische Attribute allgemein als "Ressourcen" bezeichnet werden. Ferner kann von diesen Systemen gesagt werden, daß sie in verschiedenen Modi wie beispielsweise einem "Verarbeitungsmodus" oder, im Falle einer Störung, in einem oder mehreren "Wiederherstellungsmodi" arbeiten. Der Zugriff auf die Ressourcen und auch deren Einsatz wird über die Betriebssystemsoftware gesteuert. Dies sind die sogenannten "Ressourcen-Manager". In ähnlicher Weise werden die transaktionsorientierten Verarbeitungs- und Wiederherstellungsoperationen von der Betriebssystemsoftware gesteuert, was als "Transaktionsverarbeitung" und "Wiederherstellungs-Manager" bezeichnet wird.
  • Wie von Deitel in "An Introduction to Operating Systems", Revised Ist Edition, Addison-Wesley Publishing Co., Copyright 1984, auf den Seiten 103-108 dargestellt, kann man sich Ressourcen-Manager wie "Monitorprogramme" vorstellen. Ein Monitorprogramm ist ein auf gemeinsamen Zugriff ausgerichtetes Gebilde, das sowohl Daten als auch Prozeduren enthält, die dazu benötigt werden, eine Zuordnung für eine bestimmte gemeinsam benutzte Ressource oder Gruppe von gemeinsam benutzten Ressourcen vorzunehmen. Das heißt, ein Monitorprogramm stellt einen Mechanismus dar, der die sichere und effektive gemeinsame Benutzung abstrakter Datenarten durch verschiedene Prozesse zuläßt.
  • In einem transaktionsorientierten Datenbanksystem werden alle Änderungen an der Datenbank in ein Protokoll geschrieben, um die Wiederherstellung im Falle einer Unterbrechung zu unterstützen. Jede Transaktion verwendet die Grundelemente BEGIN (Beginn), COMMIT (Festschreibung), ABORT (Abbruch) und END (Ende) zur Begrenzung des Abschlusses (COMPLETION), des Widerrufs (UNDO) oder der Wiederholung (REDO) der einzelnen Transaktion.
  • Es sei bemerkt, daß ein Prüfpunktsatz eine Liste aller Transaktionen darstellt, die zum Zeitpunkt des Prüfpunktes aktiv waren, und darüber hinaus die Registrierungsadresse des jeweils neuesten Protokollsatzes einer jeden Transaktion enthält. Eine Transaktion, deren Datensätze zur Wiederholung (REDO) derselben verwendet werden, ist eine Transaktion, die zwischen dem letzten Prüfpunkt und dem Auftreten eines Fehlers beendet (festgeschrieben) wurde, wohingegen eine Transaktion, deren Datensätze für den Widerruf (UNDO) derselben verwendet werden, eine Transaktion ist, die zum Zeitpunkt des Auftretens eines Fehlers nicht beendet war. Daher ist es bei einem REDO erforderlich, mit der Transaktion zu dem am kürzesten zurückliegenden COMMIT-Punkt zurückzukehren und Änderungen in das Protokoll zu schreiben, wohingegen es bei einem UNDO erforderlich ist, zum BEGIN-Punkt der Transaktion zurückzukehren.
  • Es ist zu beachten, daß Transaktionen nicht nur die Arbeitseinheit definieren, sondern auch eine Wiederherstellungseinheit. Das System muß zum Zeitpunkt des Wiederanlaufs oder der Wiederherstellung wissen, für welche Transaktion ein UNDO und für welche ein REDO auszuführen ist. Der Prüfpunkt oder die Momentaufnahme, der bzw. die zu vorherbestimmten Zeitpunkten aufgenommen wird, listet sicher sämtliche Transaktionen auf, die zum Zeitpunkt der Aufnahme des Prüfpunktes im Gange waren. Daher kann das System, je nachdem, zu welchem Zeitpunkt ein Fehler aufgetreten ist, eine UNDO-Liste und eine REDO-Liste erstellen, indem es das Protokoll zunächst rückwärts durcharbeitet und dabei die Transaktionen in der UNDO-Liste rückgängig macht und anschließend das Protokoll wieder vorwärts durcharbeitet und die Transaktionen in der REDO-Liste wiederholt. Nur wenn sämtliche dieser Wiederherstellungsaktivitäten abgeschlossen sind, ist das System überhaupt in der Lage, neue Arbeit anzunehmen. Genaugenommen sind es der Prüfpunkt und die sich daran anschließende Protokollaktivität, die zur Bestätigung der UNDO- und REDO- Listen verarbeitet werden müssen.
  • Zum Stand der Technik liegen mehrere Quellen vor, in denen fehlertolerante, transaktionsorientierte Datenbanksysteme beschrieben werden. Hierzu zählen:
  • (1) Gawlick et al, US-Patentschrift 4.507.751, "Method and Apparatus for Logging Journal Data Using a Log Write Ahead Data Set", Patent erteilt am 26. März 1985.
  • (2) Baker et al, US-Patentschrift 4.498.145, "Method and Apparatus for Assuring Atomicity of Multirow Update Operations in a Database System", Patent erteilt am 5. Februar, 1985.
  • (3) Paradine et al, US-Patentschrift 4.159.517, "Journal Back-up Storage Control for a Data Processing System", Patent erteilt am 26. Juni 1979.
  • (4) Reinsch et al, "Method for Restarting a Long-running, Fault-tolerant Operation in a Transaction-oriented Data Base System Without Burdening the System Log", gleichzeitig anhängige Patentanmeldung US S/N 06/835.396, angemeldet am 3. März 1986.
  • Bei der gegenwärtige Protokollierungstechnik, die in den genannten Quellen dargestellt wird, werden sämtliche Registrierungsdaten, die von einem transaktionsorientierten System erzeugt werden, in einen einzigen Datenstrom geschrieben, der zu einem bestimmten Zeitpunkt physisch auf mehreren Direktzugriffsspeichergeräten oder Bandgeräten resident ist, wobei zu jedem Zeitpunkt immer nur auf eines dieser Geräte geschrieben wird. Die Patente von Gawlick, Baker und Paradine sowie die gleichzeitig anhängige Patentanmeldung von Reinsch beschreiben in dieser Reihenfolge (1) das Schreiben in ein Protokoll vor der Datensatzaktualisierung, (2) die Zwischenspeicherpufferung in ein Protokoll, (3) das gleichzeitige Schreiben in ein hartes und ein weiches Protokoll zur Gewährleistung einer ganzheitlichen Aktualisierung von mehreren Zeilen und (4) die Verwendung eines wiederanlauffähigen Ladedienstprogramms, in dem alle an der Datenbank vorgenommenen Änderungen zwecks Unterstützung einer Wiederherstellung im Falle einer Unterbrechung typischerweise in ein Protokoll geschrieben werden.
  • Beim Stand der Technik werden ferner die Arten von Informationen, die zur Wiederherstellung eines Systems beim Auftreten eines Fehlers benötigt werden von denjenigen unterschieden, die zur Wiederherstellung einer Ressource beim Auftreten eines Fehlers herangezogen werden. Eine Systemwiederherstellung bedeutet, daß die Systemressourcen wieder in einen früheren Zustand der Konsistenz überführt werden, wohingegen die Ressourcenwiederherstellung die Neuerstellung eines konsistenten Abbildes einer Ressource im Anschluß an deren Verstümmelung bedeutet.
  • Beim Stand der Technik werden bestimmte Bezeichnungen synonym verwendet. So kann beispielsweise der "Steuerstatus" und/oder der "Informationsstatus" einer Ressource oder eines Systems auch als "Abbild" derselben bzw. desselben bezeichnet werden. In der Transaktionsverarbeitung würde sich dies in den meisten Fällen auf die an Transaktionen erinnernden Datensätze beziehen.
  • Die vorliegende Erfindung ist in den beiliegenden Ansprüchen definiert.
  • Aufgabe dieser Erfindung ist es, ein Verfahren zur wirkungsvollen Bewerkstelligung einer protokollgestützten Datenwiederherstellung in transaktionsorientierten Systemen zu ersinnen. Hierzu gehört auch die Aufgabe, ein Verfahren zur Reduzierung der Anzahl der Registrierungsdaten zu ersinnen, auf die zur Bewerkstelligung der Datenwiederherstellung zugegriffen werden muß und die hierzu verarbeitet werden müssen.
  • Die zuvor erwähnten Aufgaben werden durch ein Verfahren zum Schreiben von gekennzeichneten (untergliederten und klassifizierten) Datensätzen aus einem ersten Protokolldatenstrom in mehrere Wiederherstellungsdatenströme und Löschen der gekennzeichneten Datensätze aus dem ersten Datenstrom beim Abschluß der Wiederherstellungseinheit, um die erneute Verwendung des ersten Protokolldatenstrom zu ermöglichen, gelöst, wie es in Anspruch 1 definiert ist.
  • Bei dem erfindungsgemäßen Verfahren wird die Wiederherstellung durch die Erzeugung zweier Datenstrukturen unterstützt. Dies sind die Datenströme TRS und RRS. Der Transaction Recovery Stream (Datenstrom zur Transaktionswiederherstellung, nachfolgend als TRS bezeichnet) wird zusammen mit dem Prüfpunkt und den Informationen zur Statusänderung dazu verwendet, die Umgebung zur Verwaltung von Transaktionen nach einer Störung wiederherzustellen. Der TRS enthält die Daten zur Bestimmung des Status der Wiederherstellungseinheit (unit of recovery, nachfolgend als UR bezeichnet), die Daten, die erforderlich sind, um ein ABORT (einen Abbruch) einer UR zu gewährleisten und die Daten, die erforderlich sind, um das COMMIT (die Festschreibung) einer UR sicherzustellen. Alle Daten, die für eine UR protokolliert wurden, werden in den TRS aufgenommen und Teil desselben.
  • Der Resource Recovery Stream (Datenstrom zur Ressourcenwiederherstellung, nachfolgend als RRS bezeichnet) wird zur Vorwärtswiederherstellung von Ressourcen verwendet. Damit ist die Neuerstellung eines gültigen Abbilds einer Ressource ausgehend von einer gültigen Kopie der Ressource gemeint, die zu einem vorherbestimmten Zeitpunkt stattfindet. Auf der Basis eines UR COMMIT oder UR ABORT werden die zur Vorwärtswiederherstellung von Ressourcen benötigten Datensätze aus dem TRS in einen oder mehrere vorherbestimmte(n) RRS(s) kopiert.
  • Der TRS stellt eine sehr dynamische Datenstruktur für Registrierungsdaten dar, die eine Behebung von Ressourcen-Inkonsistenzen erlaubt, die durch jene URs erzeugt wurden, die zum Zeitpunkt des Auftretens eines Fehlers aktiv waren. Der TRS ist das Repository (Depot) für protokollierte Daten, das aktiven URs zugeordnet wurde, wobei unter aktiven URs diejenigen Transaktionen zu verstehen sind, die zwischen den Begrenzungen BEGIN und END ausgeführt werden.
  • An dieser Stelle sei daran erinnert, daß jede Transaktion die Grundelemente BEGIN, COMMIT, ABORT (REDO, UNDO) und END zur Begrenzung der Transaktion verwendet. REDOs gewährleisten die Rückkehr der Transaktion zum am kürzesten zurückliegenden COMMIT-Punkt, wohingegen UNDOs die Rückkehr zum BEGIN-Punkt der Transaktion sicherstellen.
  • Wie zuvor bereits erwähnt, enthält der RRS Daten, die zur Vorwärtswiederherstellung ausgehend von einer Abbildkopie einer Ressource benötigt werden. Das erfindungsgemäße Verfahren erzeugt eine beliebige Anzahl von RRSs. Somit kann jede Anwendungssoftware, die auf das transaktionsorientierte Datenbanksystem zugreift, den Ressourcennamen festlegen. Daher kann auch jeder Schreibaufruf (WRITE) für das Protokoll die Ressource angeben, zu der ein bestimmter Datensatz gehören soll. Hierzu gehört auch die Auswahl der Semantik der Datensatzart, die die Bedingungen angibt, unter denen ein gegebener Datensatz aus einem TRS in einen RRS kopiert werden kann. Datensätze, die benötigt werden, um ein REDO einer Transaktion sicherzustellen, dürfen erst dann in den RRS kopiert werden, wenn die zugehörige UR den Status ENSURE-COMMIT (Festschreibung sicherstellen) annimmt. Datensätze, die benötigt werden, um ein UNDO einer Transaktion sicherzustellen, dürfen erst dann in den RRS kopiert werden, wenn die zugehörige UR in den Status ENSURE-ABORT (Abbruch sicherstellen) übergeht.
  • Aus dem oben Erwähnten geht hervor, daß durch die Verwendung des erfindungsgemäßen Verfahrens und die ausschließliche Verwaltung von konsistenten Abbildern der Daten im RRS eine Reduzierung der Speicheranforderung für RRS-Daten erreicht wird. Dies ist deshalb so, weil die Datensätze zum UR-Status und die nicht festgeschriebenen Datensätze nicht in die gespeicherten Daten aufgenommen werden müssen. Darüber hinaus reduziert sich durch die Beseitigung uninteressanter Datensätze die Zahl der Ein- Ausgabe-Operationen bei der Ressourcenwiederherstellung. Schließlich verringert sich der Verarbeitungsaufwand bei der Wiederherstellung, da der UR-Status erst dann festgelegt werden muß, wenn die Abbilder der Daten für die Kopie verwendet werden.
  • Die Erfindung wird nachstehend unter Bezugnahme auf die Figuren beschrieben, wobei
  • Fig. 1 das Auftreten von Grundelementen, die eine Transaktion begrenzen, hinsichtlich deren Abschluß bezüglich des Eintreten eines Prüfpunkts und eines Systemausfalls gemäß dem Stand der Technik zeigt,
  • die Fig. 2-3 eine Wiederherstellungseinheit (UR) und deren begrenzende Grundelemente zeigen, wobei die Wiederherstellung im einen Fall ein REDO und im anderen Fall ein UNDO von Transaktionen umfaßt,
  • Fig. 4 eine schematische Darstellung des Prozesses der Vorwärtswiederherstellung einer Ressource zeigt,
  • Fig. 5 eine höhere Steuerungsflußebene des Protokollierungsverfahrens gemäß der Erfindung aufzeigt,
  • Fig. 6 das Format der Protokollsätze innerhalb des Transaction Recovery Streams (TSR) gemäß der Erfindung veranschaulicht,
  • Fig. 7 eine Konkordanz zwischen Ressourcennamen und Resource Recovery Streams (RRSs) zeigt,
  • die Fig. 8-11 Pseudocode-Beschreibungen der UR-Steuerfunktionen (BEGIN, COMMIT, ABORT und END) darstellen,
  • Fig. 12 den höheren Pseudocode zeigt, der das Schreiben von Datensätzen zur Ressourcenwiederherstellung beschreibt und
  • die Fig. 13-24 die Strukturierung des TRS und der RRSs einschließlich der Antwort auf COMMIT-/ABORT-Befehle, bis hin zum Löschen der der Datensätze der betroffenen Wiederherstellungseinheit (UR) aus dem TRS gemäß dem erfindungsgemäßen Verfahren veranschaulichen.
  • In Fig. 1 sind die Beziehungen, die sich zwischen Transaktionsgrundelementen hinsichtlich des Zeitpunkts des Auftretens ergeben, in Bezug auf Prüfpunkte und Systemausfall dargestellt. Beim Eintreten einer Störung und damit eines Wiederanlaufs muß sich der Wiederherstellungs-Manager die Adresse des neuesten Prüfpunktsatzes aus einer Wiederanlaufdatei oder deren Äquivalent verschaffen, den Prüfpunktsatz im Systemprotokoll lokalisieren und damit fortfahren, das Protokoll von diesem Punkt an vorwärtsgerichtet bis zum Ende zu durchsuchen. Als Ergebnis dieses Vorgangs ist der Wiederherstellungs-Manager dann in der Lage, sowohl die Transaktionen zu bestimmen, die widerrufen werden müssen (UNDO), als auch die Transaktionen, die wiederholt werden müssen (REDO), um bei der Ressource wieder einen Zustand der Konsistenz herzustellen.
  • Jede Transaktion ist einer von fünf Kategorien zugeordnet. Demgemäß waren Transaktionen vom Typ T1 abgeschlossen, bevor der Prüfpunkt zum Zeitpunkt Tp erreicht war. Bei Transaktionen vom Typ T2 lag der Start vor dem Zeitpunkt Tp und der Abschluß nach dem Zeitpunkt Tp, aber noch vor dem Zeitpunkt Ta, bei dem der Systemausfall eintrat. Transaktionen vom Typ T3 begannen ebenfalls vor dem Zeitpunkt Tp, waren jedoch nicht vor dem Zeitpunkt Ta abgeschlossen. Transaktionen vom Typ T4 begannen nach dem Zeitpunkt Tp, wurden jedoch vor Erreichen des Zeitpunkts Ta abgeschlossen. Transaktionen vom Typ T5 schließlich starteten nach dem Zeitpunkt Tp, waren jedoch bis zum Zeitpunkt Ta nicht abgeschlossen. Aus diesem Grunde werden die Transaktionen T2 und T4 einem REDO unterworfen, wohingegen die Transaktionen T3 und T5 einem UNDO unterzogen werden.
  • Der Wiederherstellungs-Manager startet zwei Listen. Die UNDO- Liste enthält ursprünglich alle Transaktionen, die im Prüfpunktsatz aufgelistet sind, während die REDO-Liste zu Anfang keine Einträge enthält. Der Wiederherstellungs-Manager durchsucht das Protokoll vorwärts, beginnend beim Prüfpunktsatz. Wenn der Wiederherstellungs-Manager zu einer bestimmten Transaktion einen BEGIN-Transaktionssatz findet, fügt er diese Transaktion zur UNDO-Liste hinzu. Desgleichen verschiebt der Wiederherstellungs- Manager, wenn er einen COMMIT-Datensatz zu einer bestimmten Transaktion findet, diese Transaktion von der UNDO-Liste in die REDO-Liste.
  • Der Wiederherstellungs-Manager arbeitet das Protokoll nochmals rückwärts durch und macht die in der UNDO-Liste enthaltenen Transaktionen rückgängig. Schließlich arbeitet er wieder vorwärts und wiederholt die in der REDO-Liste enthaltenen Transaktionen.
  • Auf der Basis der obigen Beschreibung lassen sich ausgewählte Datensatzarten als REDOs oder UNDOs charakterisieren. Der Vollständigkeit halber sei auf die Fig. 2 und 3 eingegangen, die eine Wiederherstellungseinheit (UR) und deren begrenzende Grundelemente zeigen, wobei die Wiederherstellung im ersten Fall ein REDO und im zweiten Fall ein UNDO der Transaktionen bedeutet.
  • In der folgenden Erörterung beziehen sich die Fig. 5-12 auf den Grundgedanken des Verfahrens, während die Fig. 13-24 ein Ausführungsbeispiel der Erfindung veranschaulichen.
  • Es ist zu beachten, daß ein Protokoll beim Stand der Technik einen einzelnen Datenstrom darstellt, auf dem Daten, die für den Wiederanlauf des Systems benötigt werden, und Daten, die für die Wiederherstellung der Medien (Ressourcen) benötigt werden, aufgezeichnet sind. Bei dieser Erfindung wird anstelle der bloßen Verwendung einer serialisierten Aufzeichnung von Ereignissen der Datentyp eines wiederverwendbaren Transaction Recovery Streams (Datenstroms zur Transaktionswiederherstellung) und mehrerer Resource Recovery Streams (Datenströme zur Ressourcenwiederherstellung) herangezogen.
  • In Fig. 5 wird die Beziehung zwischen dem Transaction Recovery Stream (TRS) und den verschiedenen Resource Recovery Streams (RRSs) gezeigt, die durch die UR-Grundelemente (BEGIN, COMMIT/ABORT, END) ausgelöst werden. Sobald eine Transaktion einen elementaren Konsistenzpunkt erreicht und die Änderungen derselben in der Ressource, beispielsweise einer Datenbank, objektiviert wurden, steht der Speicherplatz, der im TRS von all den Datensätzen belegt war, die sich auf die Transaktion beziehen, zur erneuten Verwendung zur Verfügung. Der zugehörige Protokoll-Manager (als "Registriereinrichtung" bezeichnet) verfügt über eine Abbildung von RRS-Namen/Ressourcennamen (siehe Fig. 7). Der Ressourcenname wird in einem WRITE-Aufruf für das Protokoll angegeben. Die Datenmenge, die zur Ressourcenwiederherstellung benötigt wird, ist in der Regel sehr umfangreich.
  • Dies ist deshalb so, weil diese zur Wiederherstellung benötigten Daten ein Protokoll aller permanenten Änderungen darstellen, die an einer modifizierbaren Ressource vorgenommen wurden.
  • Zurückkommend auf Fig. 5 ist offensichtlich, daß die Verschiebung der Daten aus dem TRS in den entsprechenden RRS und die Rückforderung von Speicherplatz innerhalb des TRS durch Auslöser der UR-Steuerung bewirkt wird, die von der Registrierungseinrichtung vorgegeben werden. Diese Auslöser sind:
  • (1) BEGIN/END UR. Dieser gibt die Begrenzungen einer Wiederherstellungseinheit (UR) in Form einer Gruppe von atomischen Anwendungsprogramm-Aktualisierungen für eine Ressource an.
  • (2) COMMIT UR. Dies ist ein Entscheidungspunkt, der anzeigt, daß eine atomischer Übergangspunkt erreicht wurde. Änderungen an der Ressource werden über Fehler hinweg vorgenommen.
  • (3) ABORT UR. Dies ist ein Entscheidungspunkt, der anzeigt, daß Programmaktualisierungen widerrufen werden, für den Fall, daß die modifizierbare Ressource teilweise geändert wurde.
  • Günstigerweise wird beim erfindungsgemäßen Verfahren der Speicherplatz im Protokoll wiederverwendet und ein Lesen der Datensätze zur Medienwiederherstellung während des Systemwiederanlaufs vermieden.
  • In Fig. 6 ist das Format der Protokolldatensätze innerhalb des TRS dargestellt. Das UR ID-Feld definiert den Programmbereich, zu dem ein gegebener Protokolldatensatz gehört. Das Feld TYP kennzeichnet die Funktion der zugehörigen Daten während der Wiederherstellung. Die Typen können in zwei Kategorien unterteilt werden: UR-Steuerung und Ressourcenwiederherstellung. Der Status der UR-Steuersätze ändert sich in der UR. Die Statusänderungen werden dem Protokoll-Manager über Funktionsaufrufe mitgeteilt. Diese Funktionsaufrufe sind: BEGIN UR, COMMIT UR, ABORT UR und END UR. Jedes Ereignis erzeugt einen UR-Steuerprotokollsatz. Als UR-Steuersätze können folgenden Satzarten unterstützt werden: BEGIN, COMMIT, ABORT und END. Die Datensätze zur Ressourcenwiederherstellung zeichnen die Ressourcenänderungen auf. Als Datensätze zur Ressourcenwiederherstellung werden die Satzarten UNDO und REDO unterstützt. Die REDO-Sätze enthalten die Informationen, die zur Wiederholung der Ressourcenänderung benötigt werden.
  • Es ist zu beachten, daß das Feld mit dem Ressourcennamen ausschließlich auf die Datensätze zur Ressourcenwiederherstellung anwendbar ist. Dieses Feld bezeichnet die Ressource, die modifiziert wird. Der Ressourcenname erscheint ebenfalls in der in Fig. 7 gezeigten RRS-Abbildungstabelle. Das Feld DATEN schließlich stellt die ressourcenspezifischen oder steuerungsspezifischen Daten dar, die von der Anwendung weitergereicht werden. Der Protokoll-Manager ist nicht sensitiv für das Format oder den Inhalt dieser Daten.
  • Die nun folgende Fig. 7 zeigt die RRS-Abbildungstabelle. Die Wiederherstellungsdaten für eine Ressource werden in den in dieser Tabelle angegebenen Resource Recovery Stream (RRS) kopiert. Dabei ist zu beachten, daß ein RRS Daten für mehr als eine Ressource enthalten kann, daß heißt eine Eins-zu-n- Abbildung aufweist. Es sei hinzugesetzt, daß nicht wiederherstellbare Ressourcen durch die Bereitstellung einer Null- Ressourcen-RRS-Abbildung unterstützt werden. Somit ist die Ressource d dem Datenstrom RRS NULL zugeordnet. Datensätze für nicht wiederherstellbare Ressourcen stehen für die Transaktionswiederherstellung zur Verfügung, werden aber nicht in einen RRS übertragen.
  • Die Fig. 8-11 zeigen Pseudocode-Darstellungen der UR-Steuerfunktionen. Bezeichnenderweise weist der Pseudocode-Ausdruck eine Form auf, deren Gebrauch typisch für den Entwurf von Steuerungs- und Datenfluß ist. Veranschaulicht wird dieser Gebrauch von Linger et al in "Structured Programming: Theory and Practice", The System Programming Series, Addison-Wesley Publishing Co., Copyright 1979, ISBN 0-201-14461-1, in den Kapiteln 4-5.
  • In Fig. 8 ordnet der Pseudocode dem UR-Programmbereich eine ID zu und erstellt einen Protokollsatz im TRS. Zu irgendeinem Zeitpunkt innerhalb der Lebensdauer einer UR fällt die Entscheidung, diese durch ein COMMIT festzuschreiben oder durch ein ABORT abzubrechen. Erfolgt ein COMMIT, so wird die in Fig. 9 dargestellte COMMIT UR-Prozedur der Registriereinrichtung aufgerufen. Es sei daran erinnert, daß vor dem Erreichen des COMMIT- Punktes von verschiedenen Teilnehmern Datensätze in den Datenstrom TRS abgegeben wurden. Die Datensätze werden, sofern anwendbar, vom Transaktions-Manager oder Datenbank-Manager mit REDO/UNDO benannt, als Teil der Informationen, die an die Registriereinrichtung geliefert werden. Die Funktion der Grundelemente, wie sich diese im Steuersatz manifestieren und wie sie beantwortet werden, ist der nachstehend gezeigten Tabelle zu entnehmen: PROZEDUR UR-STEUERSATZ COPY (IM UNTERSCHIED ZU WRITE) BEGIN BEGIN TRS (Erstellen eines UR-Programmbereichs für Protokollsatz) COMMIT COMMIT/REDO TRS/RRS (REDO-Datensätze 1 : n abgebildet) ABORT ABORT/UNDO TRS/RRS (UNDO-Datensätze 1 : n in umgekehrter Abfolge abgebildet) END END TRS (Löschen aus TRS)
  • Zu beachten ist, daß die ABORT-Prozedur symmetrisch zur COMMIT- Prozedur ist. Die Tabelle deckt die in den Fig. 8-11 dargestellten Prozeduren ab. Erkannt werden muß jedoch, daß die in Fig. 12 gezeigte WRITE-Prozedur auch mehrmals in einen Transaktionsdatenstrom eingebettet werden kann, nach dem Schema BEGIN . . . WRITE,WRITE, . . . COMMIT/ABORT END. Die WRITE-Prozedur stellt einen Datensatz vom Typ UNDO/REDO in den TRS, wenn der Datensatz einen Ressourcennamen enthält, der in der RRS- Abbildungstabelle enthalten ist.
  • An diesem Punkt sind einige Bemerkungen angebracht. Erstens: der Ausdruck "1:n-Abbildung" bezieht sich auf einen UR-Programmbereich, der auf jeder der m Ressourcen definiert ist, die unter n RRSs aufgeteilt sind. Wenn m > n anwendbar ist, gibt es mindestens einen RRS, der die Datensätze/Wiederherstellungsdaten aus mindestens zwei Ressourcen enthält (siehe Fig. 4). Dies ist ein Beispiel für das "Pigeonhole"-Prinzip nach Dirichelet. Eine weitere Beobachtung ist hinsichtlich der Pseudocode-Prozeduren zu machen. Eine Reihe von Pseudocode-Prozeduren enthalten DO- Blöcke. Diese sind nicht mit DO-Schleifen gleichzusetzen.
  • DO-Blöcke werden jeweils nur einmal vollständig ausgeführt. Das Ziel in Fig. 5 besteht somit darin, eine Wiederherstellungseinheit (UR) aufzubauen. Der Aufruf der Prozedur wird zwar extern gesteuert, aber vom Protokoll-Manager beantwortet. Dadurch wird der Datensatz in den TRS gestellt.
  • In Fig. 13 sind zwei URs dargestellt: UR1 und UR2. Die URs werden im weiteren Verlauf die Ressourcen A, B, C und D verändern. In diesem Beispiel werden die zu UR1 gehörenden Daten durch ein COMMIT festgeschrieben, wohingegen bei UR2 ein Abbruch der Datenaktivität durch ein ABORT erfolgt. Bezeichnenderweise wird die Entscheidung, ob ein COMMIT oder ein ABORT erfolgt, außerhalb des Protokoll-Managers getroffen. Die an Beispielen veranschaulichten Aktivitäten umfassen: (1) die Übertragung von Daten aus dem TRS in die RRSs und (2) das anschließende Löschen der aus dem TRS übertragenen Daten als einer Funktion des END- Grundelements.
  • In Fig. 13 wurden UR1 und UR2 durch entsprechende Pendants der BEGIN-Befehle erstellt und im TRS installiert. Nachdrücklich sei hier darauf hingewiesen, daß die Festlegung eines REDO/UNDO für einen Datensatz durch den Transaktions- oder den Datenbank- Manager, nicht aber durch den Protokoll-Manager bzw. die Registriereinrichtung erfolgt. Die Datensätze in Fig. 13 sind entsprechend ihrer Abfolge auf der linken Seite durchnumeriert. So aktualisieren beispielsweise die Datensätze 1-10 den TRS für UR1 und UR2. Satz 11 beschreibt einen ABORT von UR2 und löst das Kopieren der UNDO-Datensätze 6, 8 und 10 zu UR2 aus dem TRS in den entsprechenden RRS aus. In diesem Zusammenhang wird Datensatz 6 (Ressource A) in den Datenstrom RRS1 gestellt, wohingegen die Datensätze 8 und 10 (Ressource C) in den Datenstrom RRS2 gestellt werden. Die Zuordnung, wie sie in Fig. 14 dargestellt ist, entspricht den Vorgaben der RRS-Abbildungstabelle in Fig. 7. Von Interesse ist dabei, daß die UNDO-Datensätze in umgekehrter Abfolge in den Datenstrom RRS2 gestellt werden. Dies gestattet eine exakte Vorwärtsverarbeitung bei der Ressourcenwiederherstellung. In diesem Zusammenhang sei daran erinnert, daß der ABORT (eine Form der Rückgängigmachung) auf die Rücksetzung abzielt. Der Vollständigkeit halber sei darauf hingewiesen, daß UNDO-Datensätze nur dann im RRS stehen müssen, wenn die Transaktionsverwaltung Kopiervorgänge für die Datenbank bei gleichzeitig vorliegender Transaktionsaktivität unterstützt.
  • Da die RRSs ausschließlich aus festgeschriebenen Abbildern bestehen, wird dann nur ein Teil der in der TRS-Satzfolge befindlichen Daten für die Ressourcenwiederherstellung benötigt. Im Falle eines ABORTs werden von insgesamt sieben UR2-Datensätzen im TRS nur drei UNDO UR2-Datensätze nach RRS 1 und 2 kopiert.
  • In den Fig. 15 und 16 ist die für das erfindungsgemäße Verfahren erforderliche Antwort auf einen im TRS als Datensatz 14 aufgezeichneten UR1 COMMIT-Befehl gezeigt. Der COMMIT löst das Kopieren der UR1 REDO-Datensätze 4, 12 und 13 nach RRS1, RRS2 und NULL in dieser Reihenfolge aus. Es ist zu beachten, daß lediglich die Hälfte der im TRS enthaltenen Datensätze in den RRS kopiert werden, da jede Transaktion zum Zeitpunkt der Entscheidung entweder durch einen COMMIT oder einen ABORT gesteuert wird. Bei Steuerung durch einen CONMIT werden nur Datensätze vom Typ REDO in die RRSs kopiert, während bei ABORT nur Datensätze vom Typ UNDO in die RRSs kopiert werden.
  • Wenn der Befehl END UR1 entgegengenommen wird, wie dies in Fig. 17 gezeigt ist, wird dadurch der Vorgang des Löschens von UR1-Datensätzen aus dem TRS ausgelöst. Wie in Fig. 18 gezeigt, sind die Inhalte der RRSs davon nicht betroffen. Bei der Ausführung des END-Befehls wird jede Spur von UR1 aus dem TRS gelöscht, wie in Fig. 19 zu sehen ist. Wie in Fig. 21 und 23 gezeigt bewirkt die Ausführung des END-Befehls für UR2 gleichfalls ein Löschen entsprechender Datensätze aus dem TRS. Die RRS-Datensatzabfolgen bleiben davon unberührt, wie die Fig. 20, 22 und 24 zeigen.

Claims (2)

1. Ein Verfahren zur Reduzierung der Anzahl von Registrierungsdaten, auf die in einem transaktionsorientierten System zugegriffen wird und die in diesem verarbeitet werden, in dem gleichzeitig ablaufende, fehlerunabhängige Prozesse ein gemeinsames Protokoll benutzen und in dem ferner jede Transaktion die Grundelemente BEGIN, COMMIT, ABORT (REDO/UNDO) und END zur Begrenzung der Transaktion verwendet, REDOs die Rückkehr der Transaktion zum am kürzesten zurückliegenden COMMIT-Punkt sicherstellen, während UNDOs die Rückkehr zum BEGIN-Punkt der Transaktion sicherstellen, und das folgende Schritte umfaßt:
(a) das Einleiten der Aufzeichnung von Registrierungsdaten in einer untergliederten Weise mittels einer Wiederherstellungseinheit (UR) unter Verwendung eines BEGIN-Datensatzes in einem Transaction Recovery Stream (TRS);
(b) das Klassifizieren und anschließende Schreiben von Registrierungsdaten in den TRS in Abhängigkeit von deren Funktion bei der Wiederherstellung (COMMIT, ABORT, REDO, UNDO);
(c) die Durchführung einer Eins-zu-n-Abbildung aller REDO- Registrierungsdaten des UR-Programmbereichs aus dem TRS in zuvor festgelegte, zugehörige Ressource Recovery Streams (RRSs) als Reaktion auf die UR-Statusänderung COMMIT und die Durchführung einer Eins-zu-n-Abbildung von UNDO-Registrierungsdaten des UR- Programmbereichs aus dem TRS in zuvor festgelegte, zugehörige RRSs als Reaktion auf die UR-Statusänderung ABORT; und
(d) beim Abschluß (END) der UR-Statusänderungen unter Verwendung der RRSs, das Entfernen aller Registrierungsdaten, die im Zusammenhang mit dem gegebenen UR-Programmbereich stehen, aus dem TRS.
2. Ein Verfahren gemäß Anspruch 1, bei dem ein UR-Programmbereich, der auf jeder einzelnen von m Ressourcen definiert ist, unter n RRSs aufgeteilt wird, wobei m > n, so daß mindestens ein RRS die Registrierungsdaten aus zwei Ressourcen enthält.
DE87107475T 1986-06-30 1987-05-22 Verwaltung von registrierungsdaten in einem transaktionsorientierten System. Expired - Fee Related DE3786956T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/880,387 US4878167A (en) 1986-06-30 1986-06-30 Method for managing reuse of hard log space by mapping log data during state changes and discarding the log data

Publications (2)

Publication Number Publication Date
DE3786956D1 DE3786956D1 (de) 1993-09-16
DE3786956T2 true DE3786956T2 (de) 1994-03-17

Family

ID=25376152

Family Applications (1)

Application Number Title Priority Date Filing Date
DE87107475T Expired - Fee Related DE3786956T2 (de) 1986-06-30 1987-05-22 Verwaltung von registrierungsdaten in einem transaktionsorientierten System.

Country Status (4)

Country Link
US (1) US4878167A (de)
EP (1) EP0250847B1 (de)
JP (1) JPS6310252A (de)
DE (1) DE3786956T2 (de)

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065311A (en) * 1987-04-20 1991-11-12 Hitachi, Ltd. Distributed data base system of composite subsystem type, and method fault recovery for the system
JP2718031B2 (ja) * 1987-07-17 1998-02-25 株式会社日立製作所 履歴情報取得方法
US5123104A (en) * 1988-04-08 1992-06-16 International Business Machines Corporation Method and apparatus for concurrent modification of an index tree in a transaction processing system utilizing selective indication of structural modification operations
US5043866A (en) * 1988-04-08 1991-08-27 International Business Machines Corporation Soft checkpointing system using log sequence numbers derived from stored data pages and log records for database recovery
US5067107A (en) * 1988-08-05 1991-11-19 Hewlett-Packard Company Continuous computer performance measurement tool that reduces operating system produced performance data for logging into global, process, and workload files
US5278983A (en) * 1988-09-30 1994-01-11 International Business Machines Corporation Boundary representation solid modeling system
US5159669A (en) * 1988-12-15 1992-10-27 Xerox Corporation Automatically creating a second workspace operation record including history data and a unit ID based on a first workspace operation
US5089958A (en) * 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
GB2230626A (en) * 1989-04-20 1990-10-24 Croftlands Ltd Computerised database system
DE68927705T2 (de) * 1989-06-13 1997-07-17 Ibm Verfahren zum Entfernen unbestätigter Änderungen an gespeicherten Daten durch ein Datenbankverwaltungssystem
GB8915875D0 (en) * 1989-07-11 1989-08-31 Intelligence Quotient United K A method of operating a data processing system
US5454099A (en) * 1989-07-25 1995-09-26 International Business Machines Corporation CPU implemented method for backing up modified data sets in non-volatile store for recovery in the event of CPU failure
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
US5155850A (en) * 1990-02-23 1992-10-13 International Business Machines Corporation Method and system for maintaining a time frame selective document history log in a data processing system
US5201044A (en) * 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
GB2243467B (en) * 1990-04-26 1994-03-09 Int Union Of Crystallography Handling data
US5261089A (en) * 1990-05-16 1993-11-09 International Business Machines Corporation Optimization of commit procedures by utilizing a two-phase commit procedure only when necessary
JP3293839B2 (ja) * 1990-05-16 2002-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム
US5327532A (en) * 1990-05-16 1994-07-05 International Business Machines Corporation Coordinated sync point management of protected resources
US5319774A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Recovery facility for incomplete sync points for distributed application
JP2691081B2 (ja) * 1990-05-16 1997-12-17 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・ネットワーク
US5319773A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Asynchronous resynchronization of a commit procedure
US5165031A (en) * 1990-05-16 1992-11-17 International Business Machines Corporation Coordinated handling of error codes and information describing errors in a commit procedure
DE69126066T2 (de) * 1990-06-29 1997-09-25 Oracle Corp Verfahren und Gerät zur Optimierung des Logbuchaufhebungsgebrauchs
EP0465019B1 (de) * 1990-06-29 1997-05-14 Oracle Corporation Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung
US5317730A (en) * 1991-01-11 1994-05-31 International Business Machines Corporation System for modifying persistent database based upon set of data elements formed after selective insertion or deletion
US5764877A (en) * 1991-06-25 1998-06-09 Digital Equipment Corporation Media recovery with time-split B-trees
US5325519A (en) * 1991-10-18 1994-06-28 Texas Microsystems, Inc. Fault tolerant computer with archival rollback capabilities
US5499367A (en) * 1991-11-15 1996-03-12 Oracle Corporation System for database integrity with multiple logs assigned to client subsets
US5278982A (en) * 1991-12-23 1994-01-11 International Business Machines Corporation Log archive filtering method for transaction-consistent forward recovery from catastrophic media failures
US5481710A (en) * 1992-09-16 1996-01-02 International Business Machines Corporation Method of and system for providing application programs with an undo/redo function
JP3378594B2 (ja) * 1992-09-25 2003-02-17 富士通株式会社 データベース再配置を行う処理装置
JPH06266597A (ja) * 1993-03-11 1994-09-22 Fujitsu Ltd ログ取得方式
US5544359A (en) * 1993-03-30 1996-08-06 Fujitsu Limited Apparatus and method for classifying and acquiring log data by updating and storing log data
US7174352B2 (en) * 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US6138126A (en) 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
GB2281644A (en) * 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
JP2708386B2 (ja) 1994-03-18 1998-02-04 インターナショナル・ビジネス・マシーンズ・コーポレイション 同時更新及び複写手順を通して重複データベースを回復させる方法及び装置
GB9406564D0 (en) * 1994-03-31 1994-05-25 Int Computers Ltd Database management system
US5561795A (en) * 1994-05-13 1996-10-01 Unisys Corporation Method and apparatus for audit trail logging and data base recovery
US5590277A (en) * 1994-06-22 1996-12-31 Lucent Technologies Inc. Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications
US5530802A (en) * 1994-06-22 1996-06-25 At&T Corp. Input sequence reordering method for software failure recovery
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5832203A (en) * 1995-01-23 1998-11-03 Tandem Computers Incorporated Method for providing recovery from a failure in a system utilizing distributed audit
WO1996023269A1 (en) * 1995-01-23 1996-08-01 Tandem Computers Incorporated System for maintenance of database integrity
GB2301910B (en) * 1995-06-07 1999-07-21 Ibm Management of units of work on a computer system log
JP3085899B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 マルチプロセッサシステム
US5991771A (en) * 1995-07-20 1999-11-23 Novell, Inc. Transaction synchronization in a disconnectable computer and network
US6192365B1 (en) 1995-07-20 2001-02-20 Novell, Inc. Transaction log management in a disconnectable computer and network
US5644698A (en) * 1996-05-30 1997-07-01 International Business Machines Corporation Configurable reuse delay criterion for storage volumes
US5878434A (en) * 1996-07-18 1999-03-02 Novell, Inc Transaction clash management in a disconnectable computer and network
KR100198805B1 (ko) * 1996-11-22 1999-06-15 정선종 분석 단계에서 트랜잭션 테이블 초기화 기법을 이용한 댕글링 트랜잭션 발생 방지 방법
JPH10177508A (ja) * 1996-12-18 1998-06-30 G & G Pharma Kk コンピュータ上のデータ格納構造
US5920875A (en) * 1997-03-28 1999-07-06 International Business Machines Corporation Tail compression of a sparse log stream of a computer system
US5956735A (en) * 1997-03-28 1999-09-21 International Business Machines Corporation System of compressing the tail of a sparse log stream of a computer system
US6076095A (en) * 1997-03-28 2000-06-13 International Business Machines Corporation Method of one system of a multisystem environment taking over log entries owned by another system
US6108667A (en) * 1997-03-28 2000-08-22 International Business Machines Corporation System of compressing a log stream using a scratch pad of logically deleted entries
US6125393A (en) * 1997-03-28 2000-09-26 International Business Machines Corporation System of compressing the tail of a sparse log stream of a multisystem environment
US5999935A (en) * 1997-03-28 1999-12-07 International Business Machines Corporation Tail compression of a sparse log stream of a multisystem environment
US5966708A (en) * 1997-03-28 1999-10-12 International Business Machines Tail compression of a log stream using a scratch pad of logically deleted entries
US6092084A (en) * 1997-03-28 2000-07-18 International Business Machines Corporation One system of a multisystem environment taking over log entries owned by another system
JP3778652B2 (ja) * 1997-04-18 2006-05-24 株式会社日立製作所 ログデータ収集管理方法及びその装置
US5925095A (en) * 1997-05-12 1999-07-20 International Business Machines Corporation Method and a computer program product for client/server computing with support for both recoverable and non-recoverable clients
US6574591B1 (en) * 1998-07-31 2003-06-03 Network Appliance, Inc. File systems image transfer between dissimilar file systems
US8631066B2 (en) * 1998-09-10 2014-01-14 Vmware, Inc. Mechanism for providing virtual machines for use by multiple users
US6952741B1 (en) 1999-06-30 2005-10-04 Computer Sciences Corporation System and method for synchronizing copies of data in a computer system
ATE283514T1 (de) * 1999-06-30 2004-12-15 Science Corp Comp Verfahren und vorrichtung zum untersuchen von transaktionsaufzeichnungen in einem rechnersystem
US7340426B1 (en) 1999-07-30 2008-03-04 Computer Sciences Corporation Event-triggered transaction processing for electronic data interchange
US6970844B1 (en) 1999-08-27 2005-11-29 Computer Sciences Corporation Flow designer for establishing and maintaining assignment and strategy process maps
US6961708B1 (en) 1999-08-27 2005-11-01 Computer Sciences Corporation External interface for requesting data from remote systems in a generic fashion
US7359863B1 (en) 1999-09-30 2008-04-15 Computer Sciences Corporation Condition component framework for reinsurance
US7693731B1 (en) 1999-09-30 2010-04-06 Computer Sciences Corporation Business process framework for reinsurance
US7571171B1 (en) 1999-10-29 2009-08-04 Computer Sciences Corporation Smart trigger for use in processing business transactions
US7546304B1 (en) 1999-10-29 2009-06-09 Computer Sciences Corporation Configuring keys for use in processing business data
US7526487B1 (en) 1999-10-29 2009-04-28 Computer Sciences Corporation Business transaction processing systems and methods
US7693844B1 (en) 1999-10-29 2010-04-06 Computer Sciences Corporation Configuring processing relationships among entities of an organization
US6925468B1 (en) 1999-10-29 2005-08-02 Computer Sciences Corporation Configuring systems for generating business transaction reports using processing relationships among entities of an organization
US7353196B1 (en) 1999-10-29 2008-04-01 Computer Sciences Corporation Configuring dynamic database packageset switching for use in processing business transactions
US7356541B1 (en) 1999-10-29 2008-04-08 Computer Sciences Corporation Processing business data using user-configured keys
US7363264B1 (en) 1999-10-29 2008-04-22 Computer Sciences Corporation Processing business transactions using dynamic database packageset switching
US7430514B1 (en) 2000-06-23 2008-09-30 Computer Sciences Corporation System and method for processing insurance claims using a table of contents
US7430515B1 (en) 2000-06-23 2008-09-30 Computer Sciences Corporation System and method for externalization of formulas for assessing damages
US7418400B1 (en) 2000-06-23 2008-08-26 Computer Sciences Corporation Internet-enabled system and method for assessing damages
US7571107B1 (en) 2000-06-23 2009-08-04 Computer Sciences Corporation System and method for externalization of rules for assessing damages
US7398219B1 (en) 2000-06-23 2008-07-08 Computer Sciences Corporation System and method for displaying messages using a messages table
US7095426B1 (en) 2000-06-23 2006-08-22 Computer Sciences Corporation Graphical user interface with a hide/show feature for a reference system in an insurance claims processing system
US7343307B1 (en) 2000-06-23 2008-03-11 Computer Sciences Corporation Dynamic help method and system for an insurance claims processing system
US7630909B2 (en) * 2000-10-02 2009-12-08 Computer Sciences Corporation Computerized method and system for adjusting liability estimates in an accident liability assessment program
US6968504B2 (en) 2001-06-29 2005-11-22 Microsoft Corporation Automated document formatting tool
US8832543B2 (en) * 2001-06-29 2014-09-09 Microsoft Corporation Automated document formatting tool
US7963899B2 (en) * 2001-07-13 2011-06-21 The Proctor & Gamble Company Continuous in-line pleating apparatus and process
WO2003055638A1 (en) * 2001-12-24 2003-07-10 Digimarc Id Systems, Llc Laser etched security features for identification documents and methods of making same
US7694887B2 (en) 2001-12-24 2010-04-13 L-1 Secure Credentialing, Inc. Optically variable personalized indicia for identification documents
ATE552120T1 (de) 2001-12-24 2012-04-15 L 1 Secure Credentialing Inc Verdeckte variableninformationen auf id- dokumenten und verfahren zu ihrer herstellung
US7815124B2 (en) 2002-04-09 2010-10-19 L-1 Secure Credentialing, Inc. Image processing techniques for printing identification cards and documents
US7085784B2 (en) * 2002-01-10 2006-08-01 International Business Machines Corporation System and method for eliminating duplicate copies of activity history logs in bridging two or more backend database systems
US7824029B2 (en) 2002-05-10 2010-11-02 L-1 Secure Credentialing, Inc. Identification card printer-assembler for over the counter card issuing
US7672860B2 (en) * 2002-09-09 2010-03-02 Computer Sciences Corporation Computerized method and system for determining the contribution of defenses to premises liability for an accident
US7702528B2 (en) * 2002-09-09 2010-04-20 Computer Sciences Corporation Computerized method and system for determining breach of duty in premises liability for an accident
US20040054557A1 (en) * 2002-09-09 2004-03-18 Stefan Wahlbin Computerized method and system for estimating premises liability for an accident
US20040054556A1 (en) * 2002-09-09 2004-03-18 Stephan Wahlbin Computerized method and system for determining causation in premises liability for an accident
US20040054558A1 (en) * 2002-09-09 2004-03-18 Stefan Wahlbin Computerized method and system for determining claimant status in premises liability for an accident
US20040085357A1 (en) * 2002-10-31 2004-05-06 Childress Allen B. Method of generating a graphical display of a business rule and associated business rule elements
US20040088199A1 (en) * 2002-10-31 2004-05-06 Childress Allen B. Method of forming a business rule
US7676387B2 (en) * 2002-10-31 2010-03-09 Computer Sciences Corporation Graphical display of business rules
US7451148B2 (en) 2002-10-31 2008-11-11 Computer Sciences Corporation Method of modifying a business rule while tracking the modifications
US7689442B2 (en) * 2002-10-31 2010-03-30 Computer Science Corporation Method of generating a graphical display of a business rule with a translation
US20040088195A1 (en) * 2002-10-31 2004-05-06 Childress Allen B. Method of modifying a business rule
AU2003298731A1 (en) 2002-11-26 2004-06-18 Digimarc Id Systems Systems and methods for managing and detecting fraud in image databases used with identification documents
US7702529B2 (en) * 2002-11-27 2010-04-20 Computer Sciences Corporation Computerized method and system for estimating an effect on liability using claim data accessed from claim reporting software
US7809586B2 (en) * 2002-11-27 2010-10-05 Computer Sciences Corporation Computerized method and system for estimating an effect on liability using a comparison of the actual speed of a vehicle in an accident and time and distance traveled by the vehicles in a merging vehicle accident
US7792690B2 (en) * 2002-11-27 2010-09-07 Computer Sciences Corporation Computerized method and system for estimating an effect on liability of the speed of vehicles in an accident and time and distance traveled by the vehicles
US7660725B2 (en) * 2002-11-27 2010-02-09 Computer Sciences Corporation Computerized method and system for estimating an effect on liability based on the stopping distance of vehicles
US7805321B2 (en) * 2002-11-27 2010-09-28 Computer Sciences Corporation Computerized method and system for estimating liability for an accident from an investigation of the accident
US7725334B2 (en) * 2002-11-27 2010-05-25 Computer Sciences Corporation Computerized method and system for estimating liability for an accident using dynamic generation of questions
US20040102984A1 (en) * 2002-11-27 2004-05-27 Stefan Wahlbin Computerized method and system for estimating liability using recorded vehicle data
US7818187B2 (en) * 2002-11-27 2010-10-19 Computer Sciences Corporation Computerized method and system for estimating liability
US20040103005A1 (en) * 2002-11-27 2004-05-27 Stefan Wahlbin Computerized method and system for estimating monetary damages due to injuries in an accident from liability estimated using a computer system
US7895063B2 (en) * 2002-11-27 2011-02-22 Computer Sciences Corporation Computerized method and system for creating pre-configured claim reports including liability in an accident estimated using a computer system
WO2004095348A2 (en) 2003-04-16 2004-11-04 Digimarc Corporation Three dimensional data storage
US20040215494A1 (en) * 2003-04-24 2004-10-28 Wahlbin Stefan L. Method and system for determining monetary amounts in an insurance processing system
US20050060205A1 (en) * 2003-09-02 2005-03-17 Woods Randall K. Systems and methods for a graphical input display in an insurance processing system
US7895064B2 (en) * 2003-09-02 2011-02-22 Computer Sciences Corporation Graphical input display in an insurance processing system
US7174479B2 (en) * 2003-09-10 2007-02-06 Microsoft Corporation Method and system for rollback-free failure recovery of multi-step procedures
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7631120B2 (en) 2004-08-24 2009-12-08 Symantec Operating Corporation Methods and apparatus for optimally selecting a storage buffer for the storage of data
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7296008B2 (en) 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7239581B2 (en) 2004-08-24 2007-07-03 Symantec Operating Corporation Systems and methods for synchronizing the internal clocks of a plurality of processor modules
US7577807B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7409587B2 (en) 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US20050108063A1 (en) * 2003-11-05 2005-05-19 Madill Robert P.Jr. Systems and methods for assessing the potential for fraud in business transactions
US7366801B2 (en) * 2004-01-30 2008-04-29 International Business Machines Corporation Method for buffering work requests
US7650606B2 (en) * 2004-01-30 2010-01-19 International Business Machines Corporation System recovery
US8140348B2 (en) * 2004-01-30 2012-03-20 International Business Machines Corporation Method, system, and program for facilitating flow control
JP4551096B2 (ja) * 2004-02-03 2010-09-22 株式会社日立製作所 ストレージサブシステム
US20050192850A1 (en) * 2004-03-01 2005-09-01 Lorenz Scott K. Systems and methods for using data structure language in web services
JP4575762B2 (ja) * 2004-06-03 2010-11-04 株式会社日立製作所 データ処理方法および装置並びにストレージ装置およびその処理プログラム
US7634687B2 (en) * 2005-01-13 2009-12-15 Microsoft Corporation Checkpoint restart system and method
EP1691290B1 (de) * 2005-02-09 2007-10-10 Deutsche Post AG Verfahren zur Sicherung einer Datenbank und Vorrichtung zur Durchführung des Verfahrens
JP4249719B2 (ja) * 2005-03-29 2009-04-08 株式会社日立製作所 バックアップシステム、プログラム及びバックアップ方法
WO2007047346A2 (en) 2005-10-14 2007-04-26 Symantec Operating Corporation Technique for timeline compression in a data store
US7882079B2 (en) * 2005-11-30 2011-02-01 Oracle International Corporation Database system configured for automatic failover with user-limited data loss
US7624129B2 (en) * 2006-06-30 2009-11-24 Microsoft Corporation Dual logging of changes to a user preference in a computer device
US8010391B2 (en) 2007-06-29 2011-08-30 Computer Sciences Corporation Claims processing hierarchy for insured
US8010390B2 (en) * 2007-06-04 2011-08-30 Computer Sciences Corporation Claims processing of information requirements
US8010389B2 (en) * 2007-06-04 2011-08-30 Computer Sciences Corporation Multiple policy claims processing
US8000986B2 (en) 2007-06-04 2011-08-16 Computer Sciences Corporation Claims processing hierarchy for designee
US7774646B2 (en) * 2007-07-23 2010-08-10 Netapp, Inc. Surviving storage system takeover by replaying operations in an operations log mirror
US8140483B2 (en) 2007-09-28 2012-03-20 International Business Machines Corporation Transaction log management
US20090187431A1 (en) * 2008-01-18 2009-07-23 Frank Scalet Adjusting general damages values using equalization values
JP5385545B2 (ja) * 2008-04-17 2014-01-08 インターナショナル・ビジネス・マシーンズ・コーポレーション トランザクションの実行を制御する装置及び方法
US8381032B2 (en) * 2008-08-06 2013-02-19 O'shantel Software L.L.C. System-directed checkpointing implementation using a hypervisor layer
US10127119B1 (en) * 2014-05-21 2018-11-13 Veritas Technologies, LLC Systems and methods for modifying track logs during restore processes
JP7007017B2 (ja) * 2018-03-22 2022-01-24 Necソリューションイノベータ株式会社 ストレージシステム、制御方法、及びプログラム
US11176004B2 (en) * 2019-04-01 2021-11-16 Sap Se Test continuous log replay

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4507751A (en) * 1982-06-21 1985-03-26 International Business Machines Corporation Method and apparatus for logging journal data using a log write ahead data set
US4648031A (en) * 1982-06-21 1987-03-03 International Business Machines Corporation Method and apparatus for restarting a computing system
US4498145A (en) * 1982-06-30 1985-02-05 International Business Machines Corporation Method for assuring atomicity of multi-row update operations in a database system

Also Published As

Publication number Publication date
DE3786956D1 (de) 1993-09-16
JPS6310252A (ja) 1988-01-16
EP0250847B1 (de) 1993-08-11
EP0250847A2 (de) 1988-01-07
US4878167A (en) 1989-10-31
JPH0560617B2 (de) 1993-09-02
EP0250847A3 (en) 1989-07-05

Similar Documents

Publication Publication Date Title
DE3786956T2 (de) Verwaltung von registrierungsdaten in einem transaktionsorientierten System.
DE68927705T2 (de) Verfahren zum Entfernen unbestätigter Änderungen an gespeicherten Daten durch ein Datenbankverwaltungssystem
DE3788444T2 (de) Verfahren zum Wiederanlauf einer langlaufenden fehlertoleranten Operation in einem transaktionsorientierten Datenbasissystem.
DE69119222T2 (de) Datensicherung und Beseitigung in einem Datenverarbeitungssystem
DE69126067T2 (de) Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung
DE69126066T2 (de) Verfahren und Gerät zur Optimierung des Logbuchaufhebungsgebrauchs
DE4220198C2 (de) Transaktionsverarbeitungsverfahren für einen digitalen Computer und Transaktionsverarbeitungssystem
DE69112694T2 (de) Verfahren zum Betrieb eines Datenverarbeitungssystems zur Ausführung von Datenbanktransaktionen.
DE4435751B4 (de) Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem
DE3784190T2 (de) Eintragung eines datenbasisindex in das journal zur verbesserten rueckstellung.
DE68922431T2 (de) Datenbasiserholung in einem Rechnersystem nach einem Systemabsturz.
DE68927142T2 (de) Verriegelungs- und Lese-Minimierung in einem segmentierten Speicherraum
DE69025507T2 (de) Gerät zur Sicherung und Wiederherstellung für Digitalrechner
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE3854667T2 (de) Datenbasissystem mit einer Baumstruktur.
EP0929864B1 (de) Koordinations-system
DE69126050T2 (de) Verfahren zur Aktualisierung oder Wiedergabe gespeicherter Datengruppen und System zu dessen Erzeugung
DE60030872T2 (de) Verfahren und anordnung um atomische aktualisierungen durchzuführen durch verwendung eines logischen flaschspeichergerätes
DE69913375T2 (de) Anzeige eines fehlers in einem transaktionsverarbeitungssystem
DE10112941A1 (de) System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien
DE4210126A1 (de) Verfahren und system zur dynamischen dateierweiterung fuer online-datenbanksysteme
DE3889254T2 (de) Verfahren zur Steuerung von gleichzeitigen Zugriffen innerhalb einer Seite sowie Teilwiederholung von Transaktionen in einem transaktionsorientierten System des Vorausschreibaufzeichnungstyps.
EP0685086B1 (de) Einrichtung zur automatischen erzeugung einer wissensbasis für ein diagnose-expertensystem
DE3886756T2 (de) Betriebsmittelzugriff für Multiprozessorrechnersystem.
EP1731999B1 (de) Mechanismus zum dynamischen Registrieren von Dateien in einer stapelverarbeitungsorientierten Umgebung

Legal Events

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