DE69731998T2 - Informationsverarbeitungsvorrichtung und Verfahren - Google Patents

Informationsverarbeitungsvorrichtung und Verfahren Download PDF

Info

Publication number
DE69731998T2
DE69731998T2 DE69731998T DE69731998T DE69731998T2 DE 69731998 T2 DE69731998 T2 DE 69731998T2 DE 69731998 T DE69731998 T DE 69731998T DE 69731998 T DE69731998 T DE 69731998T DE 69731998 T2 DE69731998 T2 DE 69731998T2
Authority
DE
Germany
Prior art keywords
transaction
identifier
transaction context
context
processing
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 - Lifetime
Application number
DE69731998T
Other languages
English (en)
Other versions
DE69731998D1 (de
Inventor
Masahiko Ohta-ku Yoshimoto
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Application granted granted Critical
Publication of DE69731998D1 publication Critical patent/DE69731998D1/de
Publication of DE69731998T2 publication Critical patent/DE69731998T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Description

  • Die Erfindung bezieht sich auf eine Informationsverarbeitungsvorrichtung und ein Informationsverarbeitungsverfahren, insbesondere auf eine Informationsverarbeitungsvorrichtung und ein Informationsverarbeitungsverfahren mit einem parallelen Steuerverfahren, das beispielsweise für eine interaktive kooperationsartige Anwendung geeignet ist.
  • Bei einer Transaktionsverarbeitung wird eine parallele Steuerung gemäß einer Zweiphasensperre ausgeführt. Diese Steuerung wird weithin als Einrichtung zum Trennen einer Vielzahl von Transaktionen und zum Sicherstellen einer kohärenten Planung verwendet. Zum Sicherstellen von Kohärenz selbst bei Wiederherstellungsverarbeitungen zum Fehlerzeitpunkt ist es außerdem gebräuchlich, dass bei einer Zweiphasensperre eine Sperrungsfreigabeverarbeitung bei Vorhandensein einer der Transaktion folgenden Übergabeverarbeitung auszuführen ist.
  • Im vorstehend beschriebenen Stand der Technik treten jedoch Probleme auf.
  • Insbesondere neuere Computersysteme stellen im Allgemeinen eine interaktive Betriebsumgebung unter Verwendung eines Mehr-Fenster-Systems bereit. Eine wünschenswerte Anwendung in einem Mehr-Fenster-System ist eine, die Daten interaktiv aktualisiert, während sie eine wandlungsfähige Anzeige gemeinsamer Daten unter Verwendung einer Datenbank darstellt.
  • Im vorstehend beschriebenen Stand der Technik ergibt sich jedoch ein Problem, wenn eine bestimmte Anwendung eine Aktualisierungsverarbeitung auf eine Vielzahl gemeinsamer Daten anwendet. Das Problem besteht darin, dass während eine Aktualisierung von Inhalten bezüglich bestimmter gemeinsamer Daten durchgeführt wird, eine Operation, durch die eine Aktualisierungsverarbeitung weiterhin auf andere gemeinsame Daten angewendet wird oder durch die Aktualisierungsinhalte gelöscht werden, verboten ist. Das stellt eine große Behinderung für die Herstellung einer interaktiven Betriebsumgebung im Hinblick auf gemeinsame Daten mit einer komplexen Struktur dar.
  • Das tatsächliche Löschen von Aktualisierungsinhalten hinsichtlich einiger gemeinsamer Daten, während die Aktualisierungsinhalte hinsichtlich einiger gemeinsamer Daten durchgeführt werden, ist unter Verwendung des vorstehend beschriebenen Standes der Technik nicht unbedingt unmöglich.
  • Bei einer Transaktion wird beispielsweise der Dateninhalt gespeichert, bevor die Datenaktualisierungsverarbeitung beginnt, und die Verarbeitung für das Ungültigmachen der Aktualisierungsinhalte wird auf der Grundlage der gespeicherten Inhalte ausgeführt, wodurch es möglich wird, die Aktualisierungsinhalte tatsächlich zu löschen, wenn die Transaktion abgeschlossen ist. Bei diesem Verfahren ist es jedoch erforderlich, die Inhalte aller gemeinsamen Daten zu speichern, die der Gegenstand einer Datenaktualisierung sind. Das heißt, dass eine Abnahme an Effizienz unvermeidbar ist. Bei einem Datenbankverwaltungssystem gibt es außerdem Gelegenheiten, bei denen eine Aktualisierung eines sich auf eine Übergabe oder Aktivierung eines Daemon-Vorgangs beziehenden Zeitstempels ausgeführt wird. Da diese ohne Bezug zu dem tatsächlichen Löschen von Aktualisierungsinhalten sind, können sie unter bestimmten Umständen unerwünschte Nebeneffekte darstellen.
  • Obwohl ferner gesagt werden kann, dass die Fortsetzung der Aktualisierungsverarbeitung einiger gemeinsamer Daten, während einer Übergabe von Aktualisierungsinhalten bezüglich anderer gemeinsamer Daten eine starke Beschränkung darstellt, ist das jedoch nicht unbedingt unmöglich.
  • In einem Computersystem, bei dem Multitasking möglich ist, wird die vorstehend beschriebene Beschränkung beispielsweise nicht auf eine Reihe von unabhängig, Aufgabe für Aufgabe aktivierten Transaktionen angewendet, und deshalb kann eine selektive Übergabeverarbeitung über einen breiten Bereich ausgeführt werden, der die Errichtung einer interaktiven Betriebsumgebung hinsichtlich gemeinsamer Daten mit einer komplexen Struktur einschließt. Mit diesem Verfahren steigt jedoch im Allgemeinen die Belastung für das Betriebssystem oder das Datenbankverwaltungssystem mit dem Anstieg der Anzahl an Aufgaben, und für die Anwendungsentwicklung sind größere Anstrengungen erforderlich.
  • Da ein Multitasking- bzw. Mehrprogrammbetriebs-Verarbeitung verwendendes Verfahren eine ursprünglich als ganzes ablaufende Anwendung in eine Vielzahl von Aufgaben teilt, ist es außerdem erforderlich, dass Aufgaben durch eine Kommunikation zwischen den Aufgaben verbunden werden. Da eine Kommunikation zwischen Aufgaben im Allgemeinen von einer Transaktion unabhängig ist, muss der Anwendungsentwickler die Möglichkeit ausschließen, dass die Kohärenz der Transaktion durch eine von dem Inhalt der gemeinsamen Daten abhängige Kommunikation verloren geht. Das ist jedoch überaus schwierig und führt zu Anwendungen, die bezüglich Erweiterbarkeit und Wartung starke Mängel aufweisen.
  • Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine Informationsverarbeitungsvorrichtung und ein Informationsverarbeitungsverfahren bereitzustellen, bei denen, wenn eine bestimmte Anwendung eine Aktualisierungsverarbeitung auf eine Vielzahl gemeinsamer Daten anwendet, eine Operation durchgeführt werden kann, bei der während einer Übergabe eines Aktualisierungsinhalts bezüglich bestimmter gemeinsamer Daten eine Aktualisierungsverarbeitung weiterhin auf andere gemeinsame Daten angewendet wird oder der Aktualisierungsinhalt gelöscht wird.
  • Die Beschreibung des Europäischen Patents Nummer EP-A-0 578 406 offenbart ein verteiltes Transaktionsverarbeitungssystem, das die vorausgesetzte Übergabekonfiguration mit der Ausnahme verwendet, dass die neue vorausgesetzte Übergabeprotokollkoordinierungseinrichtung lediglich einen "Übergabe-" Protokollsatz für übergebene Transaktionen zwangsmäßig schreiben muss, anstatt dem früheren zwangsmäßigen Schreiben von zwei Protokollsätzen.
  • Gemäß einem Gesichtspunkt der Erfindung ist eine Informationsverarbeitungsvorrichtung gemäß Patentanspruch 1 bereitgestellt.
  • Gemäß einem weiterem Gesichtspunkt der Erfindung ist ein Informationsverarbeitungsverfahren gemäß Patentanspruch 10 bereitgestellt.
  • Es kann gemäß der vorstehend beschriebenen Erfindung eine Informationsverarbeitungsvorrichtung und ein Informationsverarbeitungsverfahren bereitgestellt werden, bei denen, wenn eine bestimmte Anwendung eine Aktualisierungsverarbeitung auf eine Vielzahl gemeinsamer Daten anwendet, eine Operation durchgeführt werden kann, bei der, während ein Aktualisierungsinhalt bezüglich bestimmter gemeinsamer Daten übergeben wird, eine Aktualisierungsverarbeitung weiterhin auf andere gemeinsame Daten angewendet wird oder der Aktualisierungsinhalt verworfen wird.
  • Ausführungsbeispiele der Erfindung werden nun unter Bezugnahme auf die beiliegende Zeichnung beschrieben. Es zeigen:
  • 1 eine Darstellung einer Transaktionskontextverwaltungstabelle und eines Transaktionskontextes in einem Datenbankverwaltungssystem,
  • 2 ein Ablaufdiagramm eines Beispiels eines Vorgangs zum Erzeugen eines Transaktionskontexts,
  • 3 ein Ablaufdiagramm eines Beispiels eines Vorgangs zum Wechseln eines Transaktionskontexts,
  • 4 ein Ablaufdiagramm eines Beispiels eines Vorgangs zum Löschen eines bestimmten Transaktionskontexts,
  • 5 ein Ablaufdiagramm eines Beispiels eines Vorgangs zum Sperren des Schaltens eines Transaktionskontexts,
  • 6 ein Ablaufdiagramm eines Beispiels eines Vorgangs zum Löschen des Sperrens des Schaltens eines Transaktionskontexts,
  • 7 ein Ablaufdiagramm eines Beispiels eines Vorgangs zum Aktivieren eines Handhabers bei einem externen Transaktionsabbruch,
  • 8 eine Darstellung zur Beschreibung eines Beispiels eines Computersystems zum Ausführen der Erfindung, und
  • 9 ein Beispiel des Speicherbilds eines Speicherträgers, der Programmcodes gemäß einem Ausführungsbeispiel der Erfindung speichert.
  • Ein System zum Ausführen der Erfindung ist ein Computersystem der in 8 veranschaulichten Art, bei der Computer wie Workstations oder Personalcomputer durch ein Netz 101 miteinander verbunden sind. Ein Datenbankserver läuft beispielsweise als Software auf Servern 102, 104 des Computersystems zum Bereitstellen eines auf einer Transaktion beruhenden Datenteilungsverfahrens. Eine Anwendung, die bei einem Client 103 läuft und das Datenteilungsverfahren verwendet, führt eine Verarbeitung aus, während sie mit einem Datenbankverwaltungsserver über eine vorbestimmte Bibliothek kommuniziert.
  • Eine Abfolge nachstehend beschriebener Vorgänge ist durch den Datenbankverwaltungsserver implementiert, obwohl einige oder alle Vorgänge durch die vorstehend beschriebene Bibliothek implementiert sind. Der Datenbankverwaltungsserver kann außerdem aus einer Vielzahl an Servern bestehen. Die Erfindung bezieht sich nicht auf den Aufbau oder die Rollenverteilung des Datenbankverwaltungsservers und der Bibliothek, und wird deshalb nachstehend einfach als Datenbankverwaltungssystem bezeichnet.
  • Erstes Ausführungsbeispiel
  • Als erstes wird ein Transaktionskontext als Verfahren zum Kennzeichnen einer Vielzahl von Transaktionen innerhalb eines Anwendungsprozesses eingeführt.
  • Ein Transaktionskontext ist ein durch den Datensatztyp in einer bekannten verfahrensorientierten Programmiersprache ausgedrückter Zustand. Der ausgedrückte Inhalt umfasst Informationen wie die Kennung einer unter dem Transaktionskontext aktivierten Transaktion, ein das Sperren eines Transaktionskontextschaltens bzw. -umschaltens bestimmendes Flag (Schaltsperrung-Flag) und einen Handhaber bzw. Handler, der aktiviert wird, wenn eine Transaktion aus externen Gründen abgebrochen wird. Eine Transaktion gehört hier zu dem Transaktionskontext, der zu der Zeit vorherrscht, bei der die Transaktion aktiviert wird, und der Transaktionskontext wird erst gewechselt, wenn die Transaktion beendet ist. Ein derartiger Zustand wird wie folgt ausgedrückt: "Die Transaktion wird unter dem Transaktionskontext aktiviert."
  • Eine unter dem Transaktionskontext aktivierte Transaktion ist höchstens eine als oberste Transaktion auf der äußersten Seite einer verschachtelten Struktur dienende Transaktion. Wenn die Transaktion nicht aktiviert ist, ist der verwendete Ausdruck: "Die Transaktion ist leer." In dem Transaktionskontext sind auf Ziffern und Buchstabenfolgen beruhende Kennungen gegeben und eine Transaktionskontextverwaltungstabelle ist als durch eine bekannte Einrichtung erstellte Entsprechungstabelle bereitgestellt, wobei Kennungen und Transaktionskontexte derart bereitgestellt sind, dass sie einander eindeutig entsprechen. Die vorstehend beschriebenen Kennungen sind als Parameter bei Transaktionskontextoperationen bestimmt.
  • 1 ist eine eine Transaktionskontextverwaltungstabelle und einen Transaktionskontext in einem Datenbankverwaltungssystem beschreibende Darstellung.
  • In 1 sind eine Transaktionskontextverwaltungstabelle 201 und ein Transaktionskontext 202 gezeigt. Zwei Transaktionskontexte 202 sind mit entsprechenden Kennungen c1 und c2 der Verwaltungstabelle 201 bereitgestellt. In dem der Kennung c1 entsprechenden Transaktionskontext ist eine "Transaktionskennung = 12" entsprechende Transaktion aktiviert. Der der Kennung c2 entsprechende Transaktionskontext ist leer.
  • Erzeugen eines Transaktionskontextes
  • 2 zeigt ein Ablaufdiagramm eines Beispieles eines Vorgangs zum Erzeugen eines Transaktionskontextes.
  • Die Transaktionskontextverwaltungstabelle wird in Schritt S201 in 2 zum Bestimmen, ob ein einer bestimmten Kennung entsprechender Transaktionskontext existiert, durchsucht. Anschließend werden in Schritt S202 die Ergebnisse der Suche beurteilt und die Verarbeitung beendet, wenn ein der bestimmten Kennung entsprechender Transaktionskontext gefunden wurde.
  • Wenn kein der bestimmten Kennung entsprechender Transaktionskontext in Schritt S202 gefunden wurde, geht das Programm weiter zu Schritt S203 zum erneuten Erzeugen und Eintragen eines Transaktionskontextes. Genauer gesagt, es wird in Schritt S203 ein Transaktionskontext erzeugt und danach das Schaltsperrung-Flag in Schritt S204 gelöscht. Darauf folgt Schritt S205, bei dem die Kennung des neu erzeugten Transaktionskontextes in die Transaktionsverwaltungstabelle eingetragen wird. Die Verarbeitung wird dann beendet.
  • Vom Gesichtspunkt der Bequemlichkeit der Anwendungsentwicklung aus ist es wünschenswert, dass ein verwendbarer Transaktionskontext ohne die Ausführung des Vorgangs gemäß 2 existiert. Eine auf dem Stand der Technik beruhende Anwendung ist beispielsweise einem Beispiel äquivalent, bei dem ein Transaktionskontext der Erfindung auf die Zahl eins beschränkt ist. In anderen Worten, ein Transaktionskontext kann, wenn es eine Beschränkung gibt, sofort, zumindest vor der Aktivierung der Transaktion, erzeugt werden und nur während der Ausführung der Transaktion existieren.
  • Selbst in einem Fall, bei dem eine Vielzahl nachstehend beschriebener Transaktionskontexte verwendet wird, können jedoch vorübergehend Umstände auftreten, bei denen kein Transaktionskontext existiert. Bei diesem Ausführungsbeispiel ist ein Standard-Transaktionskontext als allgemein in derartigen Umständen einsetzbare Einrichtung bereitgestellt. Noch genauer, das vorliegende Ausführungsbeispiel ist, in einem Fall, bei dem ein Transaktionskontext nicht ausdrücklich bestimmt ist, derart ausgebildet, dass eine eine Anwendung hinsichtlich einer Datenbank durchführende Operation wie eine Operation hinsichtlich einer zu dem Standard- Transaktionskontext gehörenden Transaktion behandelt wird. Es sei angemerkt, dass dem Standard-Transaktionskontext eine vorbestimmte Kennung wie die Ziffer "0" oder eine leere Buchstabenfolge zugewiesen wird, und dass die Operation eines Transaktionskontextes mittels dieser Kennung möglich ist.
  • Schalten eines Transaktionskontextes
  • 3 zeigt ein Ablaufdiagramm eines Beispiels eines Vorgangs zum Wechseln eines Transaktionskontextes.
  • Ob ein aktueller Transaktionskontext gewechselt werden kann oder nicht, wird in Schritt S301 überprüft. Die Tatsache, dass ein Schalten möglich ist, bedeutet, dass das Schaltsperrung-Flag im aktuellen Transaktionskontext gelöscht wurde. Die Ergebnisse der Überprüfung werden in Schritt S302 beurteilt. Wenn das Schaltsperrung-Flag nicht gelöscht wurde, wird die Verarbeitung beendet.
  • Wenn andererseits das Schaltsperrung-Flag gelöscht wurde und ein Schalten möglich ist, geht das Programm weiter zu Schritt S303, bei dem die Transaktionskontextverwaltungstabelle zum Bestimmen, ob ein einer bestimmten Kennung entsprechender Transaktionskontext existiert, durchsucht wird. Anschließend werden die Ergebnisse der Suche in Schritt S304 beurteilt und die Verarbeitung beendet, wenn kein der bestimmten Kennung entsprechender Transaktionskontext gefunden wurde.
  • Wenn andererseits ein der bestimmten Kennung entsprechender Transaktionskontext in Schritt S304 gefunden wurde, werden der abgerufene Transaktionskontext und der aktuelle Transaktionskontext in Schritt S305 verglichen. Das Ergebnis des Vergleichs wird in Schritt S306 beurteilt. Wenn der abgerufene Transaktionskontext und der aktuelle Transaktionskontext in Schritt S306 als verschieden gefunden werden, wird der Transaktionskontext in Schritt 307 in den bestimmten Transaktionskontext gewechselt.
  • Wenn der Transaktionskontext gewechselt wurde, werden alle Operationen bezüglich der Transaktion oder gemeinsamer Daten hinsichtlich der zu dem bestimmten Transaktionskontext gehörenden Transaktion zu der Zeit ausgeführt, bei der die nächste Schaltoperation durchgeführt wird.
  • Löschen eines Transaktionskontextes
  • 4 zeigt ein Ablaufdiagramm eines Beispiels eines Vorgangs zum Löschen eines bestimmten Transaktionskontextes.
  • Die Transaktionskontextverwaltungstabelle wird in Schritt S401 in 4 zum Bestimmen, ob ein einer bestimmten Kennung entsprechender Transaktionskontext existiert, durchsucht. Anschließend werden die Ergebnisse der Suche in Schritt S202 beurteilt und die Verarbeitung beendet, wenn kein der bestimmten Kennung entsprechender Transaktionskontext gefunden wurde.
  • Wenn ein der bestimmten Kennung entsprechender Transaktionskontext in Schritt S402 gefunden wurde, wird der Zustand des gefundenen Transaktionskontextes in Schritt S403 untersucht. Anschließend werden die Ergebnisse der Suche in Schritt S404 beurteilt und die Verarbeitung beendet, wenn der der bestimmten Kennung entsprechende Transaktionskontext nicht leer ist.
  • Wenn der der bestimmten Kennung entsprechende Transaktionskontext jedoch leer ist, wird die bestimmte Kennung in Schritt S405 aus der Transaktionskontextverwaltungstabelle gelöscht. Bei Bedarf wird vor der Beendigung der Verarbeitung ein den Transaktionskontext ausdrückender Satz ausgegeben.
  • Wenn der aktuelle Transaktionskontext gelöscht wird, wird, bei Bedarf, eine Verarbeitung zum Durchführen des Wechsels in den Standard-Transaktionskontext ausgeführt. Das stellt jedoch keine Beschränkung dar. Zu dem Vorgang gemäß 4 kann beispielsweise ein die Löschung des aktuellen Transaktionskontextes sperrender Vorgang hinzugefügt werden.
  • Selektive Übergabeverarbeitung
  • Eine selektive unter Verwendung der vorstehenden Vorgänge implementierte Übergabeverarbeitung wird näher beschrieben.
  • Bei einer gemeinsame Daten A, B und C verwendenden Anwendung werden durch den Vorgang von 2 drei den drei Kennungen a, b und c entsprechende Transaktionskontexte erzeugt und der Transaktionskontext bezüglich der Kennung a, der Transaktionskontext bezüglich der Kennung b und der Transaktionskontext bezüglich der Kennung c eingerichtet, den gemeinsamen Daten A, B bzw. C zu entsprechen. Die Tatsache, dass die gemeinsamen Daten A und der Transaktionskontext bezüglich der Kennung einander entsprechen, bedeutet, dass die Kennung für den Transaktionskontext gemäß dem Vorgang von 3 zu der Kennung a gewechselt wird, wobei die zu der Kennung a gehörende Transaktion aktiviert wird und eine Aktualisierungsverarbeitung bezüglich der gemeinsamen Daten A in der Transaktion ausgeführt wird. Eine exklusive Sperre bezüglich der gemeinsamen Daten A, B und C ist in den zu den Kennungen a, b and c gehörenden Transaktionen sichergestellt.
  • Es ist eine selektive Übergabeverarbeitung möglich, die im Stand der Technik schwierig auszuführen ist, insbesondere die Verarbeitung zum Übergeben des Inhalts des Wechsels der gemeinsamen Daten A, des Abbruchs der Aktualisierung des Inhalts der gemeinsamen Daten B und der Fortsetzung der Aktualisierungsverarbeitung der gemeinsamen Daten C. Genauer gesagt, es reicht aus, die Kennung bezüglich des Transaktionskontextes zu der Kennung a zu wechseln, die Transaktion zu übergeben und dann einen Wechsel zu Kennung b zu machen und dann abzubrechen. Da individuelle Transaktionen nicht im Widerspruch zu dem vorstehend beschriebenen Zweiphasensperrabkommen stehen, wird auch ein Kohärenzverlust vermieden.
  • Sicherstellen von Kohärenz
  • Ein Sicherstellen von Kohärenz wird nun näher beschrieben.
  • Ein Transaktionskontext befindet sich in einem dem Prozess eigenen Zustand und hat keinen Einfluss auf einen anderen Prozess. Das heißt, dass eine Abfolge von durch einen anderen Prozess geführten Transaktionen ohne Bezug zum Aufbau des Transaktionskontextes gleich ist. Aus diesem Grund sind die Fälle, in denen Probleme hinsichtlich der Kohärenz auftreten können, auf die beschränkt, bei denen eine Vielzahl an zu einem bestimmten Prozess gehörenden Transaktionen einander überlappen. Eine derartige Bedingung scheint offensichtlich im Widerspruch zu der Transaktionsverarbeitungsvoraussetzung, insbesondere der Trennbarkeit von Transaktionen von einander zu sein.
  • Tatsächlich wurde das Zweiphasensperrsystem als Bedingung für die Ermöglichung der serienmäßigen Durchführung einer Abfolge voneinander getrennter Transaktionen vorgeschlagen. Das gilt jedoch nicht, wenn die Ausführung einer Transaktion durch ein und denselben Prozess gesteuert ist. Das Zweiphasensperrsystem beruht ursprünglich auf der Tatsache, dass eine Willkür bei der Transaktionsplanung, insbesondere der Reihenfolge parallel operierender Transaktionen im Allgemeinen unvorhersehbar ist. Im Gegensatz dazu kann die Verarbeitungsreihenfolge hinsichtlich einer Vielzahl an in einer Verarbeitung aktivierter Transaktionen frei bestimmt werden und es ist nicht erforderlich, die Möglichkeit einer serienmäßigen Durchführung hinsichtlich unbestimmter Planungen in Betracht zu ziehen. Anders gesagt, es ist ausreichend, wenn die Möglichkeit einer serienmäßigen Durchführung zwischen Transaktionen sichergestellt ist, die in verschiedenen Prozessen aktiviert wurden. Bei der vorliegenden Erfindung ist diese Bedingung klar erfüllt.
  • Überarbeitung eines Sperrverwaltungsverfahrens
  • Es ist erforderlich, dass die nachstehend dargestellte Überarbeitung auf das Sperrverwaltungsverfahren in einem Datenbankverwaltungssystem angewendet wird.
  • Bei dem vorstehend beschriebenen Beispiel sind Transaktionskontexte bereitgestellt, die jeweils drei Einheiten gemeinsamer Daten entsprechen. Hinsichtlich des Erzeugens einer Anwendung ist es jedoch bequemer, wenn es möglich ist, sich auf unterschiedlichen Transaktionskontexten entsprechende gemeinsame Daten zu beziehen, beispielsweise auf die gemeinsamen Daten B oder C in dem zu der Kennung a gehörenden Transaktionskontext. Das ist nichts anderes als ein Überlappen einer Vielzahl an zu dem vorstehend beschriebenen Prozess gehörenden Transaktionen. In diesem Fall wird es bei der Beziehung zu einer Transaktion außerhalb der Verarbeitung ausreichen, wenn eine gemeinsame Sperre hinsichtlich der gemeinsamen Daten B oder C in dem Transaktionskontext sichergestellt ist, der zu der Kennung a gehört, um die Möglichkeit einer serienmäßigen Durchführung sicherzustellen. Anders gesagt, eine exklusive Sperre und eine gemeinsame Sperre koexistieren anscheinend bei einer Vielzahl an Transaktionen innerhalb eines Prozesses.
  • Das Sicherstellen, dass eine gemeinsame Sperre mit einer exklusiven Sperre koexistiert, ist einem Fall ähnlich, bei dem ein normaler gemeinsamer Zeitgeber sichergestellt ist, und es reicht aus, das auszuführen, bevor auf die gemeinsamen Daten Bezug genommen wird. Das gleiche gilt hinsichtlich des Sicherstellens einer exklusiven Sperre, die mit einer gemeinsamen Sperre koexistiert. Bei einer Transaktion außerhalb eines Prozesses ist ferner die Koexistenz einer exklusiven Sperre und einer gemeinsamen Sperre bedeutungslos und es reicht aus, wenn lediglich die exklusive Sperre bekannt ist. Es ist zufriedenstellend, wenn die Existenz der gemeinsamen Sperre in dem Augenblick offensichtlich wird, in dem die exklusive Sperre freigegeben ist. Das ist hinsichtlich des Erreichens einer Übereinstimmung mit herkömmlicher Semantik ideal.
  • Andererseits erlaubt die Erfindung, obwohl es möglich ist, eine Vielzahl an Transaktionen in einer Verarbeitung zum gleichzeitigen Erwerben einer exklusiven Sperre zu erlauben, dies im Grunde aus den nachstehend angeführten Gründen nicht.
  • Zum ersten ist von einer Transaktion außerhalb einer Verarbeitung aus gesehen, die Existenz einer Vielzahl exklusiver Sperren eindeutig unerwünscht. Da jedoch eine Abfolge exklusiver Sperren äquivalent ist, ist es schwierig, eine Übereinstimung mit herkömmlicher Semantik herzustellen. Die Überarbeitung eines Datenbankverwaltungssystems ist außerdem im Vergleich mit einem Fall bezüglich einer gemeinsamen Sperre viel schwieriger. Darüber hinaus wird die Aufgabe, selbst wenn diese Überarbeitung nicht erlaubt ist, im Wesentlichen gelöst, wenn ein Schalten zu einem anderen Transaktionskontext unter vorübergehender Verwendung des in 3 gezeigten Vorgangs durchgeführt wird. Ein ausdrückliches Feststellen des Schaltens in der Anwendung ist auch hinsichtlich einer Verbesserung der Wartung von Vorteil.
  • Mit Blick auf das Vorstehende wird eine innerhalb eines Prozesses erworbene exklusive Sperre höchstens zu einer hinsichtlich gemeinsamer Daten gemacht und ein Fall, bei dem der Erwerb einer Vielzahl exklusiver Sperren angefordert ist, führt zu einer in Abnormalität endenden Verarbeitung.
  • Zweites Ausführungsbeispiel
  • Eine Informationsverarbeitungsvorrichtung gemäß einem zweiten Ausführungsbeispiel der Erfindung wird nun beschrieben. Elemente in dem zweiten Ausführungsbeispiel, die im Wesentlichen die gleichen wie die des ersten Ausführungsbeispiels sind, werden mit gleichen Bezugszeichen bezeichnet und müssen nicht noch einmal ausführlich beschrieben werden.
  • Das vorstehend beschriebene erste Ausführungsbeispiel ist auch auf eine eine Mehr-Fenster-Umgebung verwendende Anwendung anwendbar.
  • Bei dem vorstehend beschriebenen Beispiel sind beispielsweise drei Fenster Wa, Wb und Wc bereitgestellt und ein zu Kennung a gehörender Transaktionskontext, ein zu Kennung b gehörender Transaktionskontext und ein zu Kennung c gehörender Transaktionskontext werden eingerichtet, den Fenstern Wa, Wb bzw. Wc zu entsprechen. Wenn jeder Transaktionskontext gewechselt wird, kann das Schalten des Transaktionskontextes durch Auswählen des Fensters durchgeführt werden. In dem Fall ergibt sich jedoch folgendes Problem:
  • Wenn ein Erreichen eines Sperrens hinsichtlich gemeinsamer Daten in einer Transaktion angefordert wird, tritt die Transaktion in einen Wartezustand ein, wenn die Anforderung nicht sofort erfüllt wird. Bei einer interaktiven Anwendung kann eine anwendungsspezifische Verarbeitung andererseits selbst dann ausgeführt werden, wenn die Transaktion in dem Wartezustand ist. Somit gibt es, wenn ein Transaktionskontext verwendet wird, eine Möglichkeit, dass der Transaktionskontext gewechselt wird, während die Transaktion in dem Wartezustand ist.
  • Wenn der Transaktionskontext gewechselt wurde, ist es erforderlich, zu dem ursprünglichen Transaktionskontext zurückzukehren, um die Verarbeitung wiederaufzunehmen, sowie der Wartezustand gelöscht ist. Das ist jedoch nicht immer einfach durchzuführen. Da das Löschen des Wartezustands hinsichtlich der Anwendung asynchron auftritt, wird eine Einrichtung (wie eine Software-Unterbrechung) zum asynchronen Wiederaufnehmen der Verarbeitung in Betracht gezogen. In vielen Programmiersprachen ist jedoch eine Beschreibung einer asynchronen Verarbeitung viel schwieriger als eine Beschreibung einer synchronen Verarbeitung und sie ist für Transaktionen nicht praktikabel, bei denen Lesen/Schreiben hinsichtlich einer großen Anzahl an Elementen gemeinsamer Daten durchgeführt werden.
  • Sperren eines Schaltens eines Transaktionskontextes
  • Das Schalten eines Transaktionskontextes wird durch den in 5 gezeigten Vorgang zum Lösen des vorstehenden Problems gesperrt.
  • Die Transaktionskontextverwaltungstabelle wird in Schritt S501 in 5 zum Bestimmen, ob ein einer bestimmten Kennung entsprechender Transaktionskontext existiert, durchsucht. Anschließend werden die Ergebnisse der Suche in Schritt S502 beurteilt und die Verarbeitung beendet, wenn kein der bestimmten Kennung entsprechender Transaktionskontext gefunden wurde.
  • Wenn ein dem bestimmten Kennung entsprechender Transaktionskontext in Schritt S502 gefunden wurde, wird der Zustand des gefundenen Transaktionskontextes in Schritt S503 untersucht, um zu bestimmen, ob der gefundene Transaktionskontext gewechselt werden kann. Anschließend werden die Ergebnisse der Suche in Schritt S504 beurteilt und die Verarbeitung beendet, wenn das Schaltsperrung-Flag nicht gelöscht wurde.
  • Wenn das Schaltsperrung-Flag gelöscht wurde, wird jedoch das Schaltsperrung-Flag des einer bestimmten Kennung entsprechenden Transaktionskontextes in Schritt S505 gesetzt und die Verarbeitung beendet.
  • Der vorstehend beschriebene Vorgang kann derart abgeändert werden, dass eine Bestimmung der Kennung weggelassen werden darf und die vorstehende Verarbeitung hinsichtlich des aktuellen Transaktionskontextes ausgeführt wird.
  • Löschen einer Sperrung eines Transaktionskontextschaltens
  • 6 zeigt ein Ablaufdiagram eines Beispiels eines Vorgangs zum Löschen der Sperrung eines Transaktionskontextschaltens.
  • Die Transaktionskontextverwaltungstabelle wird in Schritt S601 in 6 zum Bestimmen, ob ein einer bestimmten Kennung entsprechender Transaktionskontext existiert, durchsucht. Anschließend werden die Ergebnisse der Suche in Schritt S602 beurteilt und die Verarbeitung beendet, wenn kein der bestimmten Kennung entsprechender Transaktionskontext gefunden wurde.
  • Wenn ein der bestimmten Kennung entsprechender Transaktionskontext in Schritt S602 gefunden wurde, wird der Zustand des gefundenen Transaktionskontextes in Schritt S603 untersucht, um zu bestimmen, ob der gefundene Transaktionskontext gewechselt werden kann. Anschließend werden die Ergebnisse der Suche in Schritt S604 beurteilt und die Verarbeitung beendet, wenn das Schaltsperrung-Flag gelöscht wurde.
  • Wenn das Schaltsperrung-Flag gesetzt wurde, wird das Schaltsperrung-Flag des einer bestimmten Kennung entsprechenden Transaktionskontextes in Schritt S605 gelöscht und die Verarbeitung beendet.
  • Der vorstehend beschriebene Vorgang kann derart abgeändert werden, dass eine Bestimmung der Kennung weggelassen werden darf und die vorstehende Verarbeitung hinsichtlich des aktuellen Transaktionskontextes ausgeführt wird.
  • Gemäß den vorstehend beschriebenen Vorgängen kann das Transaktionskontext-Schaltsperrung-Flag in den gesetzten oder gelöschten Zustand gewechselt werden. Andererseits wird gemäß der in 3 gezeigten Transaktionskontext-Schaltsperrung-Einrichtung der Zustand des Schaltsperrung-Flags in Schritt S301 untersucht. Daher kann das Schalten eines Transaktionskontextes nach Belieben gesperrt und die Sperrung gelöst werden.
  • Drittes Ausführungsbeispiel
  • Eine Informationsverarbeitungsvorrichtung gemäß einem dritten Ausführungsbeispiel der Erfindung wird nun beschrieben. Elemente in dem dritten Ausführungsbeispiel, die im Wesentlichen die gleichen wie im ersten Ausführungsbeispiel sind, sind mit gleichen Bezugszeichen bezeichnet und müssen nicht noch einmal ausführlich beschrieben werden.
  • Es gibt Gelegenheiten, bei denen eine Transaktion aufgrund eines Hardware-Fehlers oder einer gegenseitigen Blockierung extern abgebrochen wird. Wenn ein externer Abbruch asynchron auftritt und eine für eine Anwendung spezifische Ausnahmeverarbeitung ausgeführt wird, ist die herkömmliche Vorgehensweise, im Voraus einen Ausnahmen-Handhaber zu einzustellen.
  • Andererseits ist es, wenn ein Transaktionskontext in der Erfindung verwendet wird, von größerem Vorteil für diese Ausnahmenverarbeitung, wenn sie in einem einer Transaktion entsprechenden Transaktionskontext ausgeführt wird. Der Grund dafür ist, dass der Zweck einer Ausnahmenverarbeitung die Ausführung einer anwendungsspezifische Nachbearbeitung als Reaktion auf ein unnormales Ende einer Transaktion ist, und diese anwendungsspezifische Nachbearbeitung ist klarerweise dem Transaktionskontext eigen.
  • Um den vorstehend beschriebenen Anforderungen gerecht zu werden, wird das Einstellen des Ausnahmen-Handhabers für jeden Transaktionskontext dieses Ausführungsbeispiels durchgeführt. Das bedeutet, dass eine Einrichtung zum Einstellen "Handhabers aktiviert, wenn eine Transaktion aus externen Gründen abgebrochen wird" im Inhalt bereitgestellt wird, der durch den in dem ersten Ausführungsbeispiel beschriebenen Transaktionskontext ausgedrückt wird. Diese Einstelleinrichtung ist für die verwendete Programmiersprache spezifisch.
  • 7 zeigt ein Ablaufdiagramm eines Beispiels eines Vorgangs zum Aktivieren eines Handhabers bei einem externen Transaktionsabbruch.
  • Ein der abgebrochenen Transaktion entsprechender Transaktionskontext wird über die Transaktionskontextverwaltungstabelle in Schritt S701 in 7 abgerufen. Anschließend werden der abgerufene Transaktionskontext und der aktuelle Transaktionskontext in Schritt S702 verglichen. Das Ergebnis des Vergleichs wird in Schritt S703 beurteilt und das Programm geht zu Schritt S706, wenn die beiden identisch sind. Wenn die beiden verschieden sind, wird der aktuelle Transaktionskontext in Schritt S704 durchsucht. Die Ergebnisse der Suche werden in Schritt S705 beurteilt und das Programm geht weiter zu Schritt S706, wenn ein Schalten möglich ist. Wenn kein Schalten möglich ist, wird eine Halten-Verarbeitung in Schritt S709 ausgeführt und die Verarbeitung dann beendet.
  • Anschließend wird in Schritt S706 überprüft, ob der Handhaber gesetzt wurde oder nicht. Das Ergebnis wird in Schritt S707 beurteilt und die Verarbeitung beendet, wenn der Handhaber nicht gesetzt wurde. Wenn andererseits der Handhaber gesetzt wurde, wird der gesetzte Handhaber in Schritt S708 aktiviert.
  • Die Details von Schritt S708 werden nun beschrieben. Als erstes wird der Transaktionskontext gemäß dem in 3 gezeigten Vorgang gewechselt und ein Schalten des Transaktionskontextes gemäß dem in 5 gezeigten Vorgang gesperrt. Der Handhaber wird dann aktiviert. Währenddessen wird die in 6 gezeigte Einrichtung zum Löschen der Sperrung des Transaktionskontextschaltens unwirksam gemacht. Schließlich wird in dem Augenblick, in dem die Ausführung des Handhabers endet, die Sperrung des Transaktionskontextschaltens durch den in 6 gezeigten Vorgang gelöscht, wobei der vor der Abbruchsverarbeitung vorherrschende Transaktionskontext durch den in 2 gezeigten Vorgang wieder eingestellt wird und die Verarbeitung wird dann beendet.
  • Die Halten-Verarbeitung von Schritt S709 ist wie folgt: Wenn ein Schalten eines Transaktionskontextes gesperrt wurde, wird statt der Aktivierung eines Handhaber der gesetzte Handhaber in dem Augenblick aktiviert, in dem die Sperrung des Schaltens des aktuellen Transaktionskontextes gelöscht wird, insbesondere in dem Augenblick, in dem das Datenbankverwaltungssystem den Vorgang von 5 zum Löschen der Schaltsperrung ausführt. Das ist eine Art Verzögerungsevaluationseinrichtung. Wenn dementsprechend ein Abbruch einer Vielzahl an Transaktionen aufgetreten ist, gibt es dementsprechend Beispiele, bei denen eine Vielzahl an Handhabern aktiviert sind, wobei die Aktivierungsreihenfolge der Handhaber mit der Reihenfolge der externen Abbrüche übereinstimmt.
  • Es sei angemerkt, dass der in 7 dargestellte Vorgang sich um den externen Abbruch einer Transaktion kümmert. Es gibt jedoch auch Beispiele, bei denen eine Ausführung der Nachbearbeitung durch ein und denselben Handhaber für die Erzeugung einer Anwendung von größerem Vorteil ist. In einem derartigen Fall, und als Beispiel wird ein einem internen Transaktionsabbruch entsprechendes Handhaber-Aktivierungs-Flag zu einem Transaktionskontext hinzugefügt und eine Einrichtung zum Ändern des Handhaber-Aktivierungs-Flag bereitgestellt, wobei eine Änderung derart ausgeführt werden kann, dass der Handhaber hinsichtlich eines internen Abbruchs einer Transaktion aktiviert wird.
  • Weitere Ausführungsbeispiele
  • Die vorliegende Erfindung kann bei einem aus einer Vielzahl von Einrichtungen (beispielsweise einem Hostcomputer, einer Schnittstelle, einer Leseeinrichtung, einem Drucker, usw.) bestehenden System oder bei einer eine einzige Einrichtung (beispielsweise einen Kopierer oder ein Faxgerät, usw.) umfassenden Vorrichtung angewendet werden.
  • Es ist selbstverständlich, dass die Aufgabe der Erfindung auch durch das Bereitstellen eines Speicherträgers zum Speichern von Programmcodes zum Durchführen der vorstehenden Funktionen der vorstehenden Ausführungsbeispiele auf einem System oder einer Vorrichtung, zum Lesen der Programmcodes von dem Speicherträger mit einem Computer (beispielsweise einer CPU oder MPI) des Systems oder der Vorrichtung und zum anschließende Ausführen des Programms erreicht werden kann. In diesem Fall implementieren die von dem Speicherträger gelesenen Programmcodes die Funktionen gemäß den Ausführungsbeispielen und der die Programmcodes speichernde Speicherträger stellt die Erfindung dar. Der Speicherträger wie eine Floppy-Diskette, eine Festplatte, eine optische Platte, eine magnetooptische Platte, eine CD-ROM, eine CD-R, ein Magnetband, eine Speicherkarte der nichtflüchtigen Art oder ein ROM kann ferner zum Bereitstellen der Programmcodes verwendet werden.
  • Neben dem Fall, dass die vorstehenden Funktionen gemäß den Ausführungsbeispielen durch das Ausführen der durch einen Computer gelesenen Programmcodes implementiert sind, ist es selbstverständlich, dass die Erfindung auch einen Fall abdeckt, bei dem ein auf dem Computer laufendes Betriebssystem (OS) oder dergleichen einen Teil des oder den gesamten Prozess gemäß den Bestimmungen von Programmcodes durchführt und die Funktionen gemäß dem Ausführungsbeispiel ausführt.
  • Es ist selbstverständlich, dass die vorliegende Erfindung ferner einen Fall abdeckt, bei dem, nachdem die von dem Speicherträger gelesenen Programmcodes auf ein in den Computer gestecktes Funktionserweiterungsboard oder einen in einer mit dem Computer verbundene Funktionserweiterungseinheit bereitgestellten Speicher geschrieben wurden, eine in dem Funktionserweiterungsboard oder der Funktionserweiterungseinheit enthaltene CPU oder dergleichen einen Teil des oder den gesamten Prozess gemäß den Bestimmungen der Programmcodes durchführt und die Funktionen der vorstehenden Ausführungsbeispiele implementiert.
  • In einem Fall, bei dem die vorliegende Erfindung bei demvorstehend genannten Speicherträger angewendet ist, werden dem vorstehend beschriebenen Ablaufdiagramm entsprechende Programmcodes auf diesem Speicherträger gespeichert. Genauer gesagt, es werden in dem Beispiel des Speicherabbilds von 9 dargestellte Module auf dem Speicherträger gespeichert.
  • Es reicht insbesondere aus, Programmcodes zumindest der Module "Identifikationsinformationenverwaltung" und "Identifikationsinformationenbearbeitung" auf dem Speicherträger zu speichern. Es ist außerdem bevorzugt, dass Programmcodes der Module "Identifikationsinformationenschaltsteuerung", "Handhaberaktivierung" und "gemeinsame exklusive Steuerung" auf dem Speicherträger gespeichert werden.
  • Da viele, scheinbar sehr unterschiedliche Ausführungsbeispiele der vorliegenden Erfindung ausgeführt werden können, ohne deren Schutzbereich zu verlassen, ist klar, dass die Erfindung nicht auf diese spezifischen Ausführungsbeispiele beschränkt ist, sondern nur auf das in den beliegenden Patentansprüchen definierte.

Claims (12)

  1. Informationsverarbeitungsvorrichtung mit: einer Verwaltungseinrichtung (201) zum Verwalten von Entsprechungen zwischen gemeinsamen Daten entsprechenden Transaktionskontexten und einer Vielzahl von Transaktionen, durch Hinzufügen einer Kennung zu jedem Transaktionskontext, wobei der Transaktionskontext eine Vielzahl von Transaktionen innerhalb eines Prozesses identifiziert, und einer Betriebseinrichtung (102, 104) zum Festlegen einer Kennung und Bearbeiten eines der festgelegten Kennung entsprechenden Transaktionskontexts, um selektiv Operationen zur Aufforderung zu einem festen Speichern eines Inhalts einer Änderung erster gemeinsamer Daten, Abbrechen der Aktualisierung eines Inhalts zweiter gemeinsamer Daten, und Fortsetzen der Aktualisierungsverarbeitung dritter gemeinsamer Daten durchzuführen.
  2. Vorrichtung gemäß Anspruch 1, wobei die Verwaltungseinrichtung die Entsprechung zwischen den Identifikationsinformationen und der Transaktion durch eine Kennung verwaltet.
  3. Vorrichtung gemäß einem der vorangehenden Ansprüche, wobei die Betriebseinrichtung dazu angepasst ist, die Erzeugung, das Löschen und das Schalten der Identifikationsinformationen durchzuführen.
  4. Vorrichtung gemäß einem der vorangehenden Ansprüche, zudem mit einer Einrichtung, die dazu angepasst ist, eine Standard-Kennung zu einer Transaktion hinzuzufügen, die ohne Verwendung der Betriebseinrichtung benutzt werden kann.
  5. Vorrichtung gemäß einem der vorangehenden Ansprüche, zudem mit einer Schaltsteuerungseinrichtung zum Sperren des Schaltens einer Kennung durch die Betriebseinrichtung und Löschen der Schaltsperrung.
  6. Vorrichtung gemäß einem der vorangehenden Ansprüche, zudem mit einer Aktivierungseinrichtung, die dazu angepasst ist, um im Fall, dass eine Transaktion abgebrochen wird, einen Handhaber zu aktivieren, der in einer dieser Transaktion entsprechenden Kennung festgelegt wurde.
  7. Vorrichtung gemäß einem der vorangehenden Ansprüche, zudem mit einer gemeinsamen exklusiven Steuerungseinrichtung zum gleichzeitigen Sicherstellen einer gemeinsamen Sperre und einer exklusiven Sperre, mit Bezug auf ein Sperrobjekt, in einer Vielzahl von Transaktionen innerhalb eines Prozesses.
  8. Vorrichtung gemäß Anspruch 7, wobei die gemeinsame exklusive Steuerungseinrichtung die exklusive Sperre nur in einer Transaktion sicherstellt, unabhängig davon, ob es eine Transaktion ist, die in dem einen Prozess enthalten ist.
  9. Informationsverarbeitungsverfahren mit: einem Verwaltungsschritt (S201, S202, S301–S306, S401– S404, S501–S504, S601–S604 und S701–S707) zum Verwalten von Entsprechungen zwischen gemeinsamen Daten entsprechenden Transaktionskontexten und einer Vielzahl von Transaktionen durch Hinzufügen einer Kennung zu jedem Transaktionskontext, wobei der Transaktionskontext eine Vielzahl von Transaktionen innerhalb von einem Prozess identifiziert, und einem Betriebsschritt (S203, S204, S205, S307, S405, S505, S605, S708, S709) zum Spezifizieren einer Kennung und Bearbeiten eines der festgelegten Kennung entsprechenden Transaktionskontexts, um selektiv die Operationen zur Aufforderung zu einem festen Speichern eines Inhalts einer Änderung erster gemeinsamer Daten, Abbrechen der Aktualisierung eines Inhalts zweiter gemeinsamer Daten, und Fortsetzen der Aktualisierungsverarbeitung dritter gemeinsamer Daten durchzuführen.
  10. Verfahren gemäß Anspruch 9, zudem mit einem Schaltsteuerungsschritt zum Sperren des Schaltens einer Kennung durch den Betriebsschritt und Löschen der Schaltsperrung.
  11. Verfahren gemäß Anspruch 9 oder 10, zudem mit, wenn eine Transaktion abgebrochen wird, Durchführen eines Aktivierungsschritts zum Aktivieren eines Handhabers, der in einer dieser Transaktion entsprechenden Kennung festgelegt wurde.
  12. Rechnerlesbarer Speicher, der Programmcodes eines Informationsverarbeitungsverfahrens gemäß einem der Ansprüche 9 bis 11 speichert.
DE69731998T 1996-06-14 1997-06-12 Informationsverarbeitungsvorrichtung und Verfahren Expired - Lifetime DE69731998T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP8154119A JPH103416A (ja) 1996-06-14 1996-06-14 情報処理装置およびその方法
JP15411996 1996-06-14

Publications (2)

Publication Number Publication Date
DE69731998D1 DE69731998D1 (de) 2005-01-27
DE69731998T2 true DE69731998T2 (de) 2005-10-06

Family

ID=15577347

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69731998T Expired - Lifetime DE69731998T2 (de) 1996-06-14 1997-06-12 Informationsverarbeitungsvorrichtung und Verfahren

Country Status (4)

Country Link
US (1) US6148299A (de)
EP (1) EP0817036B1 (de)
JP (1) JPH103416A (de)
DE (1) DE69731998T2 (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6618751B1 (en) * 1999-08-20 2003-09-09 International Business Machines Corporation Systems and methods for publishing data with expiration times
US8290809B1 (en) 2000-02-14 2012-10-16 Ebay Inc. Determining a community rating for a user using feedback ratings of related users in an electronic environment
US7428505B1 (en) * 2000-02-29 2008-09-23 Ebay, Inc. Method and system for harvesting feedback and comments regarding multiple items from users of a network-based transaction facility
US9614934B2 (en) 2000-02-29 2017-04-04 Paypal, Inc. Methods and systems for harvesting comments regarding users on a network-based facility
US6772176B1 (en) * 2000-11-17 2004-08-03 Oracle International Corporation Coordinating a distributed transaction between participants unable to follow a two-phase commit
US20020078152A1 (en) 2000-12-19 2002-06-20 Barry Boone Method and apparatus for providing predefined feedback
US7444335B1 (en) 2001-02-28 2008-10-28 Oracle International Corporation System and method for providing cooperative resource groups for high availability applications
US7069317B1 (en) 2001-02-28 2006-06-27 Oracle International Corporation System and method for providing out-of-band notification of service changes
US6892205B1 (en) 2001-02-28 2005-05-10 Oracle International Corporation System and method for pre-compiling a source cursor into a target library cache
US7058629B1 (en) * 2001-02-28 2006-06-06 Oracle International Corporation System and method for detecting termination of an application instance using locks
US7213049B2 (en) * 2001-07-17 2007-05-01 Bea Systems, Inc. System and method for transaction processing with transaction property feature
US7085755B2 (en) * 2002-11-07 2006-08-01 Thomson Global Resources Ag Electronic document repository management and access system
JP5159375B2 (ja) 2008-03-07 2013-03-06 インターナショナル・ビジネス・マシーンズ・コーポレーション メタバースにおけるオブジェクトの真贋判断システム、方法及びそのコンピュータ・プログラム
US8396929B2 (en) * 2008-07-02 2013-03-12 Sap Portals Israel Ltd. Method and apparatus for distributed application context aware transaction processing
US8688661B2 (en) 2012-06-15 2014-04-01 International Business Machines Corporation Transactional processing
US8682877B2 (en) 2012-06-15 2014-03-25 International Business Machines Corporation Constrained transaction execution
US9384004B2 (en) 2012-06-15 2016-07-05 International Business Machines Corporation Randomized testing within transactional execution
US8880959B2 (en) * 2012-06-15 2014-11-04 International Business Machines Corporation Transaction diagnostic block
US20130339680A1 (en) 2012-06-15 2013-12-19 International Business Machines Corporation Nontransactional store instruction
US9772854B2 (en) 2012-06-15 2017-09-26 International Business Machines Corporation Selectively controlling instruction execution in transactional processing
US9436477B2 (en) 2012-06-15 2016-09-06 International Business Machines Corporation Transaction abort instruction
US9336046B2 (en) 2012-06-15 2016-05-10 International Business Machines Corporation Transaction abort processing
US9448796B2 (en) 2012-06-15 2016-09-20 International Business Machines Corporation Restricted instructions in transactional execution
US9317460B2 (en) 2012-06-15 2016-04-19 International Business Machines Corporation Program event recording within a transactional environment
US8966324B2 (en) 2012-06-15 2015-02-24 International Business Machines Corporation Transactional execution branch indications
US9740549B2 (en) 2012-06-15 2017-08-22 International Business Machines Corporation Facilitating transaction completion subsequent to repeated aborts of the transaction
US9367323B2 (en) 2012-06-15 2016-06-14 International Business Machines Corporation Processor assist facility
US10437602B2 (en) 2012-06-15 2019-10-08 International Business Machines Corporation Program interruption filtering in transactional execution
US9348642B2 (en) 2012-06-15 2016-05-24 International Business Machines Corporation Transaction begin/end instructions
US9442737B2 (en) 2012-06-15 2016-09-13 International Business Machines Corporation Restricting processing within a processor to facilitate transaction completion
US9361115B2 (en) 2012-06-15 2016-06-07 International Business Machines Corporation Saving/restoring selected registers in transactional processing
US9372724B2 (en) * 2014-04-01 2016-06-21 Freescale Semiconductor, Inc. System and method for conditional task switching during ordering scope transitions
US9372723B2 (en) * 2014-04-01 2016-06-21 Freescale Semiconductor, Inc. System and method for conditional task switching during ordering scope transitions
US9733981B2 (en) 2014-06-10 2017-08-15 Nxp Usa, Inc. System and method for conditional task switching during ordering scope transitions
US10380656B2 (en) 2015-02-27 2019-08-13 Ebay Inc. Dynamic predefined product reviews
US10765948B2 (en) 2017-12-22 2020-09-08 Activision Publishing, Inc. Video game content aggregation, normalization, and publication systems and methods
US11712627B2 (en) 2019-11-08 2023-08-01 Activision Publishing, Inc. System and method for providing conditional access to virtual gaming items
US20230153803A1 (en) * 2021-11-18 2023-05-18 Aaron Bawcom Systems and Methods for Resilient Transaction Processing

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3293839B2 (ja) * 1990-05-16 2002-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム
JPH05134886A (ja) * 1990-11-30 1993-06-01 Fujitsu Ltd デツドロツク検出方式
US5504899A (en) * 1991-10-17 1996-04-02 Digital Equipment Corporation Guaranteeing global serializability by applying commitment ordering selectively to global transactions
US5335343A (en) * 1992-07-06 1994-08-02 Digital Equipment Corporation Distributed transaction processing using two-phase commit protocol with presumed-commit without log force
US5689706A (en) * 1993-06-18 1997-11-18 Lucent Technologies Inc. Distributed systems with replicated files
US6330582B1 (en) * 1994-03-21 2001-12-11 International Business Machines Corporation Apparatus and method enabling a client to control transaction message traffic between server and client processes
JP2507235B2 (ja) * 1994-06-24 1996-06-12 インターナショナル・ビジネス・マシーンズ・コーポレイション クライアント・サ―バ・コンピュ―タ・システム、及びそのクライアント・コンピュ―タ、サ―バ・コンピュ―タ、並びにオブジェクト更新方法
US5721915A (en) * 1994-12-30 1998-02-24 International Business Machines Corporation Interaction between application of a log and maintenance of a table that maps record identifiers during online reorganization of a database
US5682537A (en) * 1995-08-31 1997-10-28 Unisys Corporation Object lock management system with improved local lock management and global deadlock detection in a parallel data processing system

Also Published As

Publication number Publication date
EP0817036B1 (de) 2004-12-22
EP0817036A2 (de) 1998-01-07
US6148299A (en) 2000-11-14
JPH103416A (ja) 1998-01-06
EP0817036A3 (de) 1999-06-16
DE69731998D1 (de) 2005-01-27

Similar Documents

Publication Publication Date Title
DE69731998T2 (de) Informationsverarbeitungsvorrichtung und Verfahren
DE4216871C2 (de) Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
DE4435751B4 (de) Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem
DE602005004166T2 (de) Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen
DE69531112T2 (de) Mechanismus zum verknüpfen von dateien auf einem emulierten system mit dem zentralsystem für den zugriff durch emulierte systembenutzer
DE3611223A1 (de) Verfahren und vorrichtung zum verhindern einer blockierung in einem datenbank-verwaltungssystem
DE10085374B4 (de) Systemmanagementspeicher für die Systemmanagement-Interrupt-Behandler wird in die Speichersteuereinrichtung integriert, unabhängig vom BIOS und Betriebssystem
DE112012000693B4 (de) Ausführen einer Vielzahl von Instanzen einer Anwendung
DE69838756T2 (de) Die verarbeitung von eingabe/ausgabeanforderungen von mehreren treibern ermöglichen dateisystem-primitivroutine in einem mehrschicht-treiber-e/a-system
DE112010003925B4 (de) Erweiterbare Zugriffssteuerungslisten-Grundstruktur
DE69730449T2 (de) Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten
DE69815946T2 (de) Informationsverarbeitungsvorrichtung
DE2720578A1 (de) Rechnersystem mit mehrprogrammbetrieb/mehrprogrammverarbeitung sowie verfahren zum betrieb eines solchen rechnersystems
DE102006007084B4 (de) System zum Liefern von Programmen zu einer von einem Nutzer bedienbaren Vorrichtung
DE2500006A1 (de) Wirtsdatenverarbeitungssystem und verfahren zur emulation von eingabe/ausgabe- befehlen
DE2902465A1 (de) Datenverarbeitungsanordnung
DE69733305T2 (de) System/Verfahren zur wirkungsvollen Übermittlung von Datenströmen in einem Multimediasystem
DE112013007160T5 (de) Entwicklungsumgebungssystem, Entwicklungsumgebungsvorrichtung, Entwicklungsumgebungsbereitstellungsverfahren und Programm
DE112005002402T5 (de) Hybride Hardware-/Software-Implementierung eines Transaktionsspeicherzugriffs
DE69818135T2 (de) Verfahren zum Zugriff auf Datenbankinformation
DE19705955A1 (de) Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung
EP0519109A1 (de) Zugriffskontrolle in Rechnernetzen
DE2517276A1 (de) Datenverarbeitungssystem
DE2612139A1 (de) Ein/ausgang-steuerungssystem
DE4420451A1 (de) Sperrmechanismus für ein CHECK-IN/CHECK-OUT-Modell

Legal Events

Date Code Title Description
8364 No opposition during term of opposition