DE3611223C2 - - Google Patents

Info

Publication number
DE3611223C2
DE3611223C2 DE3611223A DE3611223A DE3611223C2 DE 3611223 C2 DE3611223 C2 DE 3611223C2 DE 3611223 A DE3611223 A DE 3611223A DE 3611223 A DE3611223 A DE 3611223A DE 3611223 C2 DE3611223 C2 DE 3611223C2
Authority
DE
Germany
Prior art keywords
task
resources
information
tasks
sequence
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
Application number
DE3611223A
Other languages
English (en)
Other versions
DE3611223A1 (de
Inventor
Atsuhiko Hirota
Takashi Hitachi Jp Owaki
Yasutaka Yokohama Jp Yamaguchi
Toshihiro Hitachi Jp Hayashi
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3611223A1 publication Critical patent/DE3611223A1/de
Application granted granted Critical
Publication of DE3611223C2 publication Critical patent/DE3611223C2/de
Granted 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Description

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Verhindern einer Blockierung in einem Datenbankverwal­ tungssystem und befaßt sich somit mit einem Verfahren und einer Vorrichtung zum Steuern einer Datenbank, deren Be­ triebsmittel gemeinsam durch parallel ausgeführte Aufgaben genutzt werden und insbesondere mit einem Verfahren und ei­ ner Vorrichtung zum ausschließlichen Steuern einer Daten­ bank, die die Integrität der Daten in den Betriebsmitteln sicherstellen und sich für ein Datenbankverwaltungssystem eignen, das eine hohe Ansprechgeschwindigkeit für die Daten­ handhabung benötigt.
Wenn Daten in Betriebsmitteln, die durch Aufgaben gemeinsam genutzt werden, wie beispielsweise in der Datenbank einer Rechneranlage durch eine Vielzahl von parallel ausgeführten Aufgaben gleichzeitig fortgeschrieben werden oder wenn auf diese Daten durch eine Vielzahl von parallel ausgeführten Auf­ gaben gleichzeitig Bezug genommen wird, können die Daten zer­ stört werden (Zerstörung der Datenintegrität) oder kann in den Verarbeitungsergebnissen der Aufgaben ein Fehler auftreten.
Bei einem bekannten Datenbankverwaltungssystem ist ein Mecha­ nismus (ausschließlicher Steuermechanismus) vorgesehen, um zu verhindern, daß eine Vielzahl von Aufgaben gleichzeitig die Datenbank oder Betriebsmittel, die einen Teil der Datenbank darstellen, handhabt.
Bei einem herkömmlichen ausschließlichen Steuersystem wird die Datenbank oder ein Teil der Datenbank (Betriebsmittel) nur für ein Zeitintervall gesperrt, das für eine Aufgabe notwendig ist, und wird die Handhabung der gesperrten Betriebsmittel durch an­ dere Aufgaben verzögert, bis die Betriebsmittel freigegeben sind (Sperrsystem).
Wenn jedoch eine Vielzahl von Betriebsmitteln benutzt wird und wenn jede Aufgabe der Reihe nach die Betriebsmittel in der erforderlichen Weise sperrt, ohne die Betriebsmittel freizugeben, kann eine Aufgabe den Versuch unternehmen, die durch eine andere Aufgabe gesperrten Betriebsmittel zu sper­ ren und auf ein Freigeben der Aufgabe warten (Blockierung). In diesem Fall können beide Aufgaben nicht ausgeführt werden.
Bei einem Datenbankverwaltungssystem, das eine ausschließliche Steuerung nach dem Sperrverfahren bewirkt, ist somit ein aus­ schließlicher Steuermechanismus mit einer Einrichtung zum Ver­ hindern einer Blockierung vorgesehen.
Bei dem bekannten Verfahren der Verhinderung einer Blockierung wird das Auftreten der Blockierung wahrgenommen und wird der normale Zustand wieder hergestellt (Rückstellsystem), oder wird die Sperre der Betriebsmittel, die von einer Aufgabe benutzt werden, kollektiv so gesteuert, daß eine Blockierung verhindert wird (Bündelsperrsystem).
Beim Bündelsperrsystem werden alle Betriebsmittel, die eine Aufgabe in einer Reihe von Verarbeitungsschritten benötigt, kollektiv gesperrt und fordern die gesperrten Betriebsmittel keine Sperre anderer Betriebsmittel. Bei diesem System wird eine Blockierung dadurch verhindert, daß ein Betriebsmittelwarte­ zustand nicht auftritt, bei dem die Aufgabe auf das Freigeben der durch eine andere Aufgabe gesperrten Betriebsmittel wartet.
Wenn jedoch beim Bündelsperrsystem eine Aufgabe begonnen wird, die eine Vielzahl von Betriebsmitteln verwendet, werden alle Betriebsmittel bezüglich der Aufgabe gesperrt, selbst wenn nur auf ein Betriebsmittel zugegriffen wird. Da hat zur Folge, daß das Sperrintervall der Betriebsmittel lang ist und daß die Mög­ lichkeit der parallelen Ausführung der Aufgaben geringer ist, d. h. die Anzahl der Aufgaben abnimmt, die parallel ausgeführt werden können. Selbst wenn eine Aufgabe nur auf einen Teil der kollektiv gesperrten Betriebsmittel zugreift, können somit an­ dere Aufgaben nicht auf die nicht zugegriffenen Betriebsmittel der kollektiv gesperrten Betriebsmittel zugreifen. Die Betriebs­ mittel, von denen weiterhin nicht sicher ist, ob sie benötigt werden oder nicht, bis die Aufgabe ausgeführt ist, müssen wei­ terhin gleichfalls gesperrt werden. Der Sperrbereich ist somit größer als es dann der Fall wäre, wenn die Betriebsmittel ein­ zeln gesperrt würden. Das führt auch zu einer verminderten Mög­ lichkeit der parallelen Ausführung der Aufgaben. Da weiterhin ein Anwender (Entwickler eines Programmes) die zu sperrenden Betriebsmittel ausdrücklich angeben muß, können leicht in der Programmentwicklung Fehler auftreten und sind die Zuverlässig­ keit und die Produktivität des Programmes vermindert.
Beim Rückstellsystem sperrt andererseits jede Aufgabe die Be­ triebsmittel, die sie benötigt, wobei dann, wenn zwischen den Betriebsmitteln eine Blockierung auftritt, die Ausführung aller Aufgaben unterbrochen wird und die Blockierung aufgelöst wird. So lange bei diesem System keine Blockierung auftritt, ist die Möglichkeit einer Parallelausführung der Aufgaben größer als es beim Bündelsperrsystem der Fall ist. Wenn jedoch einmal eine Blockierung auftritt, wird viel Zeit benötigt, bevor das System aus dem blockierten Zustand heraus wieder hergestellt ist. Bei der Wiederherstellung aus dem blockierten Zustand im Rückstell­ system wird eine der Aufgaben, in Verbindung mit der die Blockie­ rung aufgetreten ist, nicht zugelassen, so daß die gesperrten Be­ triebsmittel zwangsweise freigegeben werden. Das reicht jedoch nicht aus, da die nicht zugelassene Aufgabe Betriebsmittel ge­ handhabt hat, bevor die Blockierung auftrat, und diese Betriebs­ mittel wieder auf den Zustand vor der Ausführung der Aufgabe zurückgebracht werden sollten. Da weiterhin die Möglichkeit be­ steht, daß die wieder herzustellenden Betriebsmittel freigegeben wurden und eine andere Aufgabe unter Verwendung dieser Be­ triebsmittel ausgeführt wurde, sollte auch eine derartige Auf­ gabe nicht zugelassen werden (Rückstellverkettung). Beim Rück­ stellsystem ist somit der zur Wiederherstellung benötigte Be­ reich groß und die Wiederherstellungszeit lang. Die nicht zu­ gelassene Aufgabe sollte erneut ausgeführt werden und das An­ sprechvermögen der Aufgabe nimmt im Durchschnitt ab. Obwohl ein Verfahren zum Verhindern der Rückstellverkettung bereits vorgeschlagen worden ist, tritt dennoch eine Blockierung auf und wird erhebliche Zeit für die Wiederherstellung des Systems aus einem blockierten Zustand beim Rückstellsystem benötigt.
Bei einem System, bei dem jede Aufgabe der Reihe nach die be­ nötigten Betriebsmittel sperrt und dennoch eine Blockierung verhindert werden kann, ist somit die Verarbeitungszeit kürzer als beim Bündelsperrsystem oder beim Rückstellsystem.
Durch die Erfindung soll ein ausschließliches Steuerverfahren für eine Datenbank geschaffen werden, das die Möglichkeit der parallelen Ausführung von Aufgaben wesentlich erhöht, indem das Auftreten einer Blockierung verhindert wird. Durch die Erfindung soll weiterhin eine ausschließliche Steuer­ vorrichtung für eine Datenbank geschaffen werden, mit der das obige Steuerverfahren ausgeführt werden kann.
Diese Aufgabe wird erfindungsgemäß mit dem im Patentanspruch 1 genannten Verfahren gelöst. Weitere, vorteilhafte Ausgestal­ tungen dieses Verfahrens und eine Vorrichtung zum Durchführen dieses Verfahrens ergeben sich aus den Unteransprüchen.
Dazu wird auf J. W. Havender "Avoiding Deadlock in Multi-tasking Systems" IBM Systems Journal, Bd. 7, Nr. 2 (1968) verwiesen. In diesem Aufsatz ist beschrieben, daß bei einer Sperrabfolge für Betriebsmittel zum sequentiellen Sperren der Betriebsmittel durch jede Aufgabe ohne Freigabe der Betriebsmittel dann, wenn die Abfolge des Sperrens von zwei Betriebsmitteln allen Betriebs­ mitteln gemeinsam ist, die von zwei Aufgaben zu sperren sind, keine Blockierung zwischen diesen beiden Aufgaben auftritt.
Die erfindungsgemäße Steuerung läuft in der folgenden Weise ab: Eine Information über die Sperrabfolge der Betriebsmittel durch die Aufgabe, die in der Rechneranlage in der Vergangen­ heit noch nicht verwaltet wurde, wird der Steuervorrichtung ein­ gegeben, bevor die Aufgabe ausgeführt wird. Auf der Grundlage der eingegebenen Information wird eine Kombination von Aufga­ ben, die möglicherweise zu einer Blockierung führen kann, vor der Ausführung der Aufgabe abgefragt. Auf die abgefragte Infor­ mation wird während der Ausführung der Aufgaben Bezug genommen. Die Ausführung der Aufgaben wird so gesteuert, daß die Aufgaben, die zu einer Blockierung führen können, nicht gleichzeitig aus­ geführt werden (Betriebsmittelsperre ist nur für eine Aufgabe erlaubt). Wenn somit die Aufgabe der Reihe nach die zur Ausfüh­ rung benötigten Betreibsmittel sperrt, tritt keine Blockierung zwischen den Aufgaben auf und wird eine ausschließliche Steuerung der Datenbank erzielt.
Im folgenden wird anhand der Zeichnung ein besonders bevorzugtes Ausführungsbeispiel der Erfindung näher beschrieben.
Fig. 1 zeigt den Aufbau einer Rechneranlage, bei der das erfindungsgemäße Verfahren und die erfindungsgemäße Vorrichtung angewandt werden können.
Fig. 2 zeigt eine Betriebsmittelsperrfolge-Tabelle.
Fig. 3 zeigt eine Informtionstabelle zum Verhindern einer Blockierung.
Fig. 4 zeigt den Fall, in dem eine Blockierung auftritt.
Fig. 5 zeigt den Fall, in dem keine Blockierung auftritt.
Fig. 6 zeigt ein Verarbeitungsflußdiagramm für einen Auf­ gabenverteiler.
Fig. 7A und 7B zeigen ein bekanntes System und das erfin­ dungsgemäße System.
Fig. 1 zeigt den Aufbau einer Rechneranlage, bei der das er­ findungsgemäße Verfahren und die erfindungsgemäße Vorrichtung angewandt werden können.
Die Rechneranlage 1 umfaßt eine Zentraleinheit CPU 2, eine Vor­ verarbeitungseinheit 3 und eine Ausführungssteuereinheit 4. Die CPU 2 speichert in einem Benutzungsabfolgeinformatinsspei­ cher 6 eine Betriebsmittelbenutzungabfolgeinformation für jede Aufgabe, die von einem Anwender über das Bedienungsfeld gestellt wird, bevor die Aufgabe ausgeführt wird. Eine Definierungsein­ heit 7 bildet die Betriebsmittelsperrabfolgeinformation auf der Grundlage der Benutzungsabfolgeinformation und schreibt diese in eine Betriebsmittelsperrabfolgetabelle ein und ein Tabellen­ generator 9 erzeugt auf der Grundlage der eingeschriebenen In­ formation die Informationstabelle 10 zum Verhindern einer Bloc­ kierung. Die Ausführungssteuereinheit 4 nimmt auf die Informa­ tionstabelle 10 zum Verhindern einer Blockierung Bezug, wenn die Aufgaben ausgeführt werden, um die Ausführung der Aufgaben entsprechend zu steuern.
Die Ausführungssteuereinheit 4 umfaßt einen Aufgabenverteiler 15, der eine Aufgabenidentifizierung von einer Aufgabenwarteschlange 11 liest, die die Aufgabenidentifizierung einer Aufgabe hält, die begonnen werden soll, auf die Informationstabelle 10 zum Verhindern einer Blockierung und eine Aufgabenstatustabelle 13 Bezug nimmt, die einen Aufgabenausführungsstatus verwaltet, und ein Startsignal 14 erzeugt, um eine der Aufgaben 1, 2 und 3 entsprechend der Aufgabenidentifizierung zu beginnen, und einen Betriebsmittelverteiler 19, der auf Betriebsmittelverteilungs­ tabellen 18 A, 18 B und 18 C für Betriebsmittel A 17 A, B 17 B und C 17 C durch ein Betriebsmittelsperranforderungssignal Bezug nimmt, das das Sperren der Betriebsmittel von den Aufgaben 1, 2 und 3 fordert, um die Betriebsmittel zu sperren und freizugeben.
Die Betriebsmittelbenutzungsabfolgeinformation für jede Aufgabe, die im Informationsspeicher 6 gespeichert ist, gibt eine Mög­ lichkeit einer Abfolge an, wenn jede Aufgabe der Reihe nach alle Betriebsmittel sperrt, ohne sie frei zu geben. Die Abfolgeinfor­ mation wird von einer Kombination aus einer Abfolgeregel zum Be­ nutzen der Betriebsmittel (beispielsweise einer Information, die die Möglichkeit der Benutzung der Betriebsmittel B, die den Be­ triebsmitteln A am nächsten sind, in einer gegebenen Aufgabe an­ gibt) und einer Wählregel (beispielsweise einer Information, die die Möglichkeit der Benutzung einer der Betriebsmittel A und B entsprechend einem Verarbeitungsergebnis in einer gegebenen Auf­ gabe angibt) wiedergegeben, so daß die Abfolgeinformation durch die Wählregel selbst dann wiedergegeben werden kann, wenn die Betriebsmittelbenutzungsabfolge durch die Aufgabenausführungs­ abfolge nicht eindeutig festgelegt ist. Die Abfolgeregel gibt lediglich die Möglichkeit der Betriebsmittelbenutzungsabfolge an, wobei nicht alle Betriebsmittel in der Benutzungsabfolgeinforma­ tion bei der Ausführung der Aufgabe benötigt werden. Beispiels­ weise kann die Aufgabe, die eine Abfolgeregel bestimmt, die Be­ triebsmittel A und B in dieser Abfolge in der Betriebsmittelbe­ nutzungsabfolgeinformation zu benutzen, nur die Betriebsmittel A oder B bei der tatsächlichen Ausführung der Aufgabe benutzen. Wenn jedoch beide Betriebsmittel A und B benutzt werden, müssen die Betriebsmittel A zuerst benutzt werden.
Die Definitionseinheit 7 in der Vorverarbeitungseinheit 3 ruft die Betriebsmittelbenutzungsabfolgeinformation ab, die im Spei­ cher 6 gespeichert ist, und entwickelt diese Information in der Betriebsmittelsperrabfolgetabelle 8 für jede Aufgabe.
Fig. 2 zeigt die Betriebsmittelsperrabfolgetabelle 8. In dieser Tabelle ist eine Betriebsmittelbenutzungsabfolge gespeichert, die für jede Aufgabe nach Maßgabe einer Definitionsinformation be­ stimmt ist. In der Tabelle sind die Abfolgeregel und die Wählregel durch Zeiger wiedergegeben. Ein Symbol Δ in einer Zeiger­ spalte gibt an, daß der entsprechende Zeiger nicht benutzt wird. Beispielsweise kann die Aufgabe mit der Aufgabenidenti­ fizierung 5 möglicherweise die Betriebsmittel C, A und B sper­ ren, wobei dann, wenn die Betriebsmittel C gesperrt sind, mög­ licherweise die Betriebsmittel A oder B gesperrt werden können, ohne die Betriebsmittel C freizugeben. Auf der Grundlage der Adresse der Aufgabenidentifizierung 5 ist es bekannt, daß die zuerst zu sperrenden Betriebsmittel die Betriebsmittel C sind, und auf der Grundlage des Inhalts des Abfolgezeigers in der Ab­ folgeregelspalte, die den Betriebsmitteln C entspricht, ist es bekannt, daß in der Aufgabe 5 die Betriebsmittel B als nächstes zu sperren sind. Auf der Grundlage des Inhalts des Wählzeigers, der in der Wählregelspalte der Betriebsmittel B gespeichert ist, ist es bekannt, daß die Betriebsmittel A herausgenommen wurden und daß die Betriebsmittel B oder C anschließend an die Betriebs­ mittel C zu sperren sind, was vom Verarbeitungsergebnis der Auf­ gabe 5 abhängt. Da sich weder in der Wählregelspalte noch in der Abfolgeregelspalte der Betriebsmittel A ein Zeiger befin­ det, ist es bekannt, daß keine weitere Betriebsmittelsperrung notwendig ist.
Der Tabellengenerator 9 in der Vorverarbeitungseinheit 3 nimmt andererseits auf die Betriebsmittelsperrabfolgetabelle 8 Bezug, um die Aufgaben zu suchen, deren Betriebsmittelsperrabfolge we­ nigstens teilweise gleich ist. Die Suche erfolgt in der folgenden Weise.
  • 1. Für alle Gruppen aus zwei Betriebsmitteln in der Betriebs­ mittelsperrabfolge für jede Aufgabe wird geprüft, ob die Ab­ folgeregel in jeder Gruppe aufgestellt ist und es werden alle Gruppen mit aufgestellten Abfolgeregeln abgerufen.
  • 2. Für die abgerufenen Betriebsmittelgruppen wird geprüft, ob es die gleiche Gruppe in der Sperrabfolge für eine andere Aufgabenidentifizierung gibt, wobei dann, wenn das der Fall ist, deren Abfolge überprüft wird, und dann, wenn das nicht der Fall ist, die Aufgabenidentifizierung für diese Gruppe als eine Aufgabenidentifizierung registriert wird, die eine Möglichkeit einer Blockierung für die gesuchte Aufgabeniden­ tifizierung in der Informationstabelle 10 zum Verhindern einer Blockierung angibt.
  • 3. Der obige Arbeitsvorgang wird für alle Aufgabenidentifizie­ rungsgruppen durchgeführt.
Fig. 3 zeigt die Informationstabelle 10 zum Verhindern einer Blockierung. Sie enthält die Information, die in der oben be­ schriebenen Weise gebildet wird.
Die in der oben beschriebenen Weise gebildete Information enthält die Aufgabenidentifizierungen derjenigen Aufgaben, die möglicher­ weise zu einer Blockierung führen können. Da gemäß der Erfindung die Betriebsmittelbenutzungsabfolge für jede Aufgabe durch den Anwender vor der Ausführung der Aufgabe eingegeben (definiert) wird, kann die Informationstabelle 10 zum Verhindern einer Bloc­ kierung gleichfalls vor der Ausführung der Aufgabe gebildet wer­ den (off-line). Bei dem in Fig. 1 dargestellten Ausführungsbei­ spiel schreibt der Benutzer die Betriebsmittelbenutzungsabfolgeinfor­ mation über das Bedienungsfeld 5 in den Speicher 6 ein. Es ist auch möglich, daß die CPU 2 die Aufgabe nach Maßgabe eines Pro­ gramms analysiert, um die Betriebsmittelbenutzungsabfolgen der Aufgaben zu bestimmten und sie in den Speicher 6 einzuschreiben.
Im folgenden wird die Arbeitsweise des Tabellengenerators 9 be­ schrieben. Wie es in Fig. 2 dargestellt ist, geht die Betriebs­ mittelsperrabfolge der Aufgabe mit der Aufgabenidentifizierung 1 von den Betriebsmitteln A auf die Betriebsmittel B über. Diese Gruppe von Betriebsmitteln A und B ist in allen vier anderen Auf­ gaben enthalten. Von diesen wird die Abfolgeregel in den Aufgaben mit den Aufgabenidentifizierungen 2, 3 und 4 gebildet. Die Abfol­ ge der Betriebsmittel A und B für die Aufgabenidentifizierungen 2 und 3 ist gleich der für die Aufgabenidentifizierung 1, die Abfolge für die Aufgabenidentifizierung 4 ist jedoch entgegenge­ setzt. Wenn daher die Aufgabe mit der Aufgabenidentifizierung 4 gleichzeitig mit der Aufgabe mit der Aufgabenidentifizierung 1 (oder 2 oder 3) ausgeführt wird, kann eine Blockierung auftreten. Für die Aufgabenidentifizierung 1 wird in der Informationstabelle 10 zur Vermeidung einer Blockierung die Identifizierung 4 einge­ schrieben, um anzuzeigen, daß die Aufgabe mit der Aufgabeniden­ tifizierung 4 zu einer Blockierung führen kann.
Wie es in Fig. 4 dargestellt ist, werden die Aufgaben mit den Aufgabenidentifizierungen 1 und 4 parallel ausgeführt, wobei jede Aufgabe frei die Betriebsmittel sperren kann, wobei ohne die Durchführung der Ausführungssteuerung des vorliegenden Aus­ führungsbeispiels dann, wenn die beiden Aufgaben zu den darge­ stellten Zeitpunkten begonnen werden, beide Aufgaben in Bereit­ schaft stehen und die Blockierung zum Zeitpunkt td auftritt.
Wie es in Fig. 5 dargestellt ist, werden andererseits die Auf­ gaben mit der gleichen Sperrabfolge, d. h. die Aufgaben mit den Identifizierungen 1 und 3 in Fig. 2 parallel ausgeführt. In die­ sem Fall tritt keine Blockierung auf, gleichgültig in welcher zeitlichen Abfolge die Aufgaben ausgeführt werden.
Dadurch daß vorher die Betriebsmittelbenutzungsabfolge für jede Aufgabe festgelegt wird, ist es somit möglich, vor der Ausfüh­ rung einer Aufgabe die Aufgabengruppen zu bestimmen, die mög­ licherweise mit einer anderen Aufgabe zu einer Blockierung füh­ ren können. Das Ergebnis wird der Informationstabelle 10 zur Verhinderung der Blockierung zugeführt. Bevor jede Aufgabe be­ gonnen wird, wird auf diese Informationstabelle 10 Bezug genom­ men, wobei dann, wenn eine Aufgabe möglicherweise mit derjenigen Aufgabe zu einer Blockierung führen kann, deren Ausführung nun begonnen wird, der Beginn der neuen Aufgabe ausgesetzt wird, und die Blockierung nicht auftritt. Ein zusätzlicher Platz- oder Zeitbedarf zur Vermeidung der Blockierung bei der Ausführung der Aufgabe kann daher so gering wie möglich gehalten werden. Die Betriebsmittelsperrabfolgetabelle 8 in Fig. 2 wird ab­ sichtlich so gewählt, daß die Blockierung häufig auftritt. Bei der tatsächlichen parallelen Ausführung der Aufgaben kommt es selten vor, daß Aufgabenidentifizierungen registriert werden, die die Möglichkeit eines häufigen Auftretens einer Blockierung haben, wie es in Fig. 3 dargestellt ist.
Im folgenden wird ein Ausführungsbeispiel des ausschließlichen Steuerverfahrens für die Aufgabenausführung erläutert. Ein Aus­ führungsbeispiel des Steuerverfahrens für die Aufgabenausfüh­ rung in der Ausführungssteuereinheit 4 von Fig. 1 wird im ein­ zelnen beschrieben.
Fig. 6 zeigt das Flußdiagramm für eine Aufgabenbeginnanfor­ derung im Aufgabenverteiler 15. Wenn eine Beginnanforderung für die Aufgabe 20 aufgegeben wird, wird die Aufgabenidentifi­ zierung in der Aufgabenwarteschlange 11 eingeschrieben und wird der Aufgabenverteiler 15 informiert, der die Aufgabeniden­ tifizierung von der Warteschlange 11 ausliest (Schritt 31), auf die Tabelle 10 zur Vermeidung einer Blockierung Bezug nimmt und die Aufgabenidentifizierungen ausliest, die möglicherweise zu einer Blockierung führen können (Identifizierungen der Auf­ gaben, die nicht parallel ausgeführt werden können) (Schritt 32). Wenn es wenigstens eine Aufgabe gibt, die nicht parallel ausge­ führt werden kann, wird im Schritt 33 auf die Aufgabenstatus­ tabelle 13 Bezug genommen, um zu prüfen, ob die durch die Auf­ gabenidentifizierung identifizierte Aufgabe, die nicht parallel ausgeführt werden kann, ausgeführt wird oder nicht (Schritt 34). Die Aufgabenstatustabelle 13 hält die Information, die angibt, ob jede Aufgabe ausgeführt wird oder nicht. Wenn wenigstens eine Aufgabe, die nicht parallel ausgeführt werden kann, ausgeführt wird (dann besteht die Möglichkeit einer Blockierung, wenn die geforderte Aufgabe begonnen wird), was auf dem Ergebnis des Schrittes 35 beruht, schreibt der Aufgabenverteiler 15 die Iden­ tifizierung der geforderten Aufgabe in die Aufgabenwarteschlan­ ge 11 (Schritt 36). Bei dem vorliegenden Ausführungsbeispiel wird die Aufgabenidentifizierung am Ende der Aufgabenwarteschlange 11 eingeschrieben. Der Beginn der Aufgabe, die möglicherweise zu einer Blockierung führt, wird somit so lange verzögert, bis der Aufgabenverteiler 15 das nächstemal informiert wird.
Wenn es andererseits bei der Prüfung im Schritt 33 keine Aufga­ be gibt, die nicht parallel ausgeführt werden kann, oder wenn bei der Prüfung im Schritt 35 keine gerade ausgeführte Aufgabe festgestellt wird, die nicht parallel ausgeführt werden kann, wird die Arbeitsinformation für die geforderte Aufgabe in der Aufgabenstatustabelle auf "in Ausführung begriffen" fortgeschrie­ ben und wird der Beginn der Aufgabe, die der Aufgabenidenti­ fizierung entspricht, im Betriebssystem gefordert, um mit der Ausführung der Aufgabe zu beginnen. Der Aufgabenverteiler 15 führt den oben beschriebenen Arbeitsablauf für alle Aufgaben (Aufgabenidentifizierungen) aus, die in die Aufgabenwarteschlan­ ge 11 eingeschrieben sind.
Am Ende der Ausführung der Abfolge der Aufgaben (einschließlich des Endes durch einen Fehler) gibt die Aufgabe 20 die Aufgaben­ identifizierung dem Aufgabenverteiler 15 aus und informiert die Aufgabe 20 über das Ende. Der Aufgabenverteiler 15 schreibt die Betriebsinformation über das Aufgabenende in der Aufgabenstatus­ tabelle 13 auf "Halt" fort. Derselbe Arbeitsablauf wie der der Beginnanforderung (siehe Fig. 6) wird ausgeführt, da die Aufgaben ausgeführt werden können, die für einen Beginn auf das Ende der Aufgabe warten.
Wie es oben beschrieben wurde, steuert der Aufgabenverteiler 15 die Aufgaben derart, daß diejenigen Aufgaben, die möglicherweise zu einer Blockierung führen können, nicht parallel ausgeführt werden. Eine Blockierung zwischen den Aufgaben kann daher voll­ ständig selbst dann vermieden werden, wenn die Aufgabe der Reihe nach die Betriebsmittel sperrt.
Die begonnene und ausgeführte Aufgabe liefert andererseits die Aufgabenidentifizierung und die Betriebsmittelidentifizierung der zu verwendenden Betriebsmittel dem Betriebsmittelverteiler 19 zum Zeitpunkt des Beginns der Benutzung der Betriebsmittel (beispielsweise zum Zeitpunkt der Ausführung einer OPEN-Verar­ beitung einer Datei) um die Sperre der Betriebsmittel anzufor­ dern.
Der Betriebsmittelverteiler 19 nimmt auf die entsprechende Be­ triebsmittelverteilungstabelle 18 A, 18 B und 18 C Bezug, um zu prüfen, ob die der Betriebsmittelidentifizierung entsprechenden Be­ triebsmittel durch eine andere Aufgabe gesperrt sind oder nicht. Die Betriebsmittelverteilungstabellen 18 A, 18 B und 18 C enthalten eine Information darüber, ob die jeweiligen Betriebsmittel ge­ sperrt sind oder nicht, sowie die Identifizierungen der gesperr­ ten Aufgaben (allerdings nur dann, wenn sie gesperrt sind). Wenn eine andere als die Aufgabe, die die Sperre fordert, ge­ sperrt ist, hält der Betriebsmittelverteiler 19 die Aufgabe, die die Sperre fordert, in betriebsbereitem Zustand, bis die Betriebsmittel freigegeben sind. Wenn die Betriebsmittel nicht gesperrt sind oder die Aufgabe, die die Sperre fordert, gesperrt ist, wird die Sperrinformation der entsprechenden Betriebsmit­ tel in der Betriebsmittelsperrinformationstabelle auf "gesperrt" fortgeschrieben und ist das Sperren der Aufgabe erlaubt, die die Sperre fordert.
Am Ende der Benutzung der Betriebsmittel (beispielsweise beim Ausführen der Schließung einer Datei) gibt die Aufgabe anderer­ seits die Aufgabenidentifizierung und Identifizierung der Be­ triebsmittel, deren Benutzung beendet wurde, dem Betriebsmittel­ verteiler 19 aus, um die Freigabe der Betriebsmittel zu fordern. Der Betriebsmittelverteiler 19 ändert die Sperrstatusinformation der entsprechenden Betriebsmittel in der Betriebsmittelsperrta­ belle auf den Freigabezustand und bringt die Aufgabe, die be­ reitgestanden hat, durch das Freigeben der Betriebsmittel vom Bereitschafts- auf den Ausführungszustand. In dieser Weise wird ein paralleler Zugriff zu Betriebsmitteln durch eine Vielzahl von Aufgaben vermieden und eine Zerstörung der Daten­ integrität in der Datenbank verhindert.
Wie es oben beschrieben wurde, ist die Ausführungssteuerein­ heit 4 mit der Tabelle 10 zur Vermeidung der Blockierung, der Aufgabenstatustabelle und dem Aufgabenverteiler 15 versehen und verzögert die Einheit 4 den Beginn derjenigen Aufgabe, die möglicherweise zu einer Blockierung führen kann, so daß eine Blockierung im Sperrsystem vermieden wird.
Da die Blockierung vermieden wird, müssen nur die zu benutzen­ den Betriebsmittel zum Zeitpunkt der Anfangs- oder Endanforde­ rung der Benutzung der Betriebsmittel gesperrt oder freigegeben werden, so daß keine Notwendigkeit besteht, die zu benutzenden Betriebsmittel vor dem Beginn der Benutzung zu spezifizie­ ren, wie es beim Bündelsperrsystem der Fall ist. Wenn daher der Anwender das Programm entwickelt, muß er das Sperren und Freige­ ben der Betriebsmittel nicht in Betracht ziehen.
Fig. 7A und 7B zeigen einen Vergleich der Betriebsmittelsperr­ intervalle durch die Aufgaben beim bekannten Bündelsperrsystem (Fig. 7A) und beim erfindungsgemäßen System (Fig. 7B).
Gemäß der Erfindung ist das Betriebsmittelsperrintervall durch die Aufgabe kürzer, ist die Wahrscheinlichkeit geringer, daß eine Aufgabe auf die Freigabe der Betriebsmittel warten muß, und ist die Möglichkeit der Parallelverarbeitung verbessert.
Da im Vergleich mit dem Rückstellsystem das erfindungsgemäße System die Wiederherstellungszeit aus der Blockierung nicht be­ nötigt, da die Blockierung nicht auftritt, wird das Ansprechver­ mögen der Aufgabe nicht merklich beeinträchtigt. Bei dem vorlie­ genden Ausführungsbeispiel verwendet die Aufgabe die Betriebs­ mittel in einer bestimmten Benutzungsabfolge. Wenn die Möglich­ keit besteht, daß die Betriebsmittel in einer anderen als der festgelegten Benutzungsabfolge benutzt werden, kann der Betriebs­ mittelverteiler 19 auf die Betriebsmittelsperrabfolgetabelle Bezug nehmen, um die Benutzungsabfolge zu prüfen, wenn die Be­ triebsmittel geprüft werden, um zu vermeiden, daß die Aufgabe die Betriebsmittel in einer falschen Abfolge benutzt.
Obwohl das ausschließliche Sperrsystem, das die Betriebsmittel ausschließlich unter den Aufgaben sperrt, beschrieben wurde, können die Aufgaben auch auf Retrival-Aufgaben begrenzt sein und kann ein gemeinsam genutztes Sperrsystem verwandt werden, bei dem die Betriebsmittel gleichzeitig gesperrt werden können. In diesem Fall wird ein Sperrmodus (ausschließlich/gemeinsam) in der Betriebsmittelsperrabfolge definiert und wird die Auf­ gabe, die möglicherweise zu einer Blockierung führen kann, mit der zusätzlichen Bedingung bestimmt, daß ein Bereitschaftszu­ stand nicht auftritt, wenn beide im gemeinsamen Sperrmodus sind. In dieser Weise wird eine ausschließliche Steuerung mit großen Möglichkeiten der Parallelverarbeitung erzielt.
Wie es oben beschrieben wurde, wird bei dem Verfahren und der Vorrichtung zum ausschließlichen Steuern der Datenbank die aus­ schließliche Steuerung ohne Blockierung erreicht. Da eine klein­ ste Anzahl der Betriebsmittel, die für die Ausführung der Aufgabe notwendig ist, gesperrt wird, wird eine Abnahme des Ansprechver­ mögens der Aufgabe und eine Abnahme der Fähigkeit der Parallel­ verarbeitung so gering wie möglich gehalten. Da die ausschließ­ liche Steuerung automatisch bewirkt wird, muß der Anwender die Betriebsmittel nicht sperren oder freigeben und sind die Produk­ tivität und die Zuverlässigkeit der Programmierung verbessert.

Claims (14)

1. Verfahren zum Verhindern einer Blockierung in einem Da­ tenbank-Verwaltungssystem eines Rechners, in dem eine Vielzahl von Aufgaben eine Vielzahl von Betriebsmitteln in der Datenbank gemeinsam benutzt und parallel ausgeführt wird, dadurch gekennzeichnet, daß dem Rechner vor der Ausführung der Aufgaben eine Benutzungsabfolge der von jeder Aufgabe zu benutzenden Betriebsmittel eingegeben wird, die Möglichkeit einer Blockierung durch die gemeinsame Nutzung der Betriebsmittel unter den Aufgaben für jede Aufgabe auf der Grundlage der Information über die eingegebene Betriebsmittelbenutzungsabfolge vor der Ausführung der Aufgaben geprüft und eine erste Tabelle erstellt wird, die das Prüfungsergebnis enthält, auf die erste Tabelle auf eine Beginnanforderung von der Aufgabe ansprechend Bezug ge­ nommen wird, um zu prüfen, ob die Aufgabe, die die Beginnanforde­ rung ausgegeben hat, möglicherweise zu einer Blockierung führt, und der Beginn der Aufgabe, die die Beginnanforderung ausgege­ ben hat, verzögert wird, wenn die Aufgabe möglicherweise zu einer Blockierung führt, und im anderen Fall der Beginn der Auf­ gabe gewährt wird.
2. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß ein Sperrzustand der Betriebsmittel auf eine Betriebsmittelbenutzungsanforderung von der den Beginn fordernden Aufgabe ansprechend geprüft wird, deren Beginn ge­ währt wurde, und daß die den Beginn fordernde Aufgabe einem be­ triebsbereiten Zustand zugeführt wird, wenn die durch die den Beginn fordernde Aufgabe zu benutzenden Betriebsmittel aufgrund der Benutzung durch eine andere Aufgabe gesperrt sind, und im an­ deren Fall zugelassen wird, daß die den Beginn fordernde Aufgabe diese Betriebsmittel sperrt.
3. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß bei der Erstellung der ersten Tabelle die Möglichkeit der Blockierung dadurch untersucht wird, daß geprüft wird, ob eine Benutzungsabfolge von beliebigen zwei Betriebs­ mitteln in jeder Aufgabe umgekehrte Benutzungsabfolge in anderen Aufgaben vorhanden ist.
4. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß die Information über die Benutzungsabfolge der Betriebsmittel, die durch jede Aufgabe zu benutzen sind, im Betriebsmittelbenutzungsabfolgeeingabeschritt eine Vielzahl von Informationsgruppen einschließt, von denen jede eine Information über die zu benutzenden Betriebsmittel, eine Information über die als nächste zu benutzenden Betriebsmittel und eine Information über die Betriebsmittel enthält, die nach Maßgabe des Arbeits­ ablaufzustandes der Aufgabe gewählt werden.
5. Verfahren nach Anspruch 1, dadurch gekennzeich­ net, daß im Betriebsmittelbenutzungsabfolgeeingabeschritt die Information über die Benutzungsabfolge der Betriebsmittel, die durch jede Aufgabe zu benutzen sind, auf der Grundlage einer von außen durch einen Anwender eingegebene Information erstellt wird.
6. Vorrichtung zum Verhindern einer Blockierung in einem Da­ tenbank-Verwaltungssystem, in dem eine Vielzahl von Aufgaben ge­ meinsam eine Vielzahl von Betriebsmitteln in der Datenbank be­ nutzt und parallel ausgeführt wird, gekennzeichnet durch eine erste Speichereinrichtung (17 A, 17 B, 17 C), die eine Viel­ zahl von Betriebsmitteln speichert, eine zweite Speichereinrich­ tung (6), die eine Information über die Benutzungsabfolge der Betriebsmittel, die durch jede Aufgabe zu benutzen sind, vor der Ausführung der Aufgaben speichert, eine Vorverarbeitungseinheit (3), die mit der zweiten Speichereinrichtung verbunden ist und eine Information über die Möglichkeit einer Blockierung aufgrund der gemeinsamen Benutzung der Betriebsmittel unter den Aufgaben auf der Grundlage der Information über die Benutzungsabfolge, die in der zweiten Speichereinrichtung gespeichert ist, vor der Aus­ führung der Aufgaben erstellt, und eine Ausführungssteuereinheit (4), die mit der ersten Speichereinrichtung und der Vorverarbei­ tungseinheit verbunden ist und auf eine Beginnanforderung von der Aufgabe ansprechend auf der Grundlage der Information von der Vor­ verarbeitungseinheit prüft, ob die den Beginn fordernde Aufgabe möglicherweise zu einer Blockierung führt, und den Beginn der Auf­ gabe verzögert, wenn die den Beginn fordernde Aufgabe mit der Möglichkeit einer Blockierung verbunden ist.
7. Vorrichtung nach Anspruch 6, dadurch gekenn­ zeichnet, daß die Vorverarbeitungseinheit eine Einrich­ tung (7), die mit der zweiten Speichereinrichtung verbunden ist und eine Sperrabfolge der Betriebsmittel für jede Aufgabe auf der Grundlage der Information über die Betriebsmittelbenutzungs­ abfolge festlegt, die in der zweiten Speichereinrichtung gespei­ chert ist, eine Betriebsmittelsperrabfolgetabelle (8), die mit der die Sperrabfolge bestimmenden Einrichtung verbunden ist und die Information über die Betriebsmittelsperrabfolge für jede Aufgabe speichert, und einen Tabellengenerator (9) enthält, der mit der Betriebsmittelsperrabfolgetabelle verbunden ist und die Information über die Möglichkeit einer Blockierung aufgrund der gemeinsamen Benutzung der Betriebsmittel unter den Aufgaben auf­ grund der Information erstellt, die vor der Ausführung der Auf­ gaben in der Betriebsmittelsperrabfolgetabelle gespeichert ist.
8. Vorrichtung nach Anspruch 6, dadurch gekenn­ zeichnet, daß die Ausführungssteuereinheit eine Informa­ tionstabelle (10) zur Verhinderung einer Blockierung, die mit dem Tabellengenerator der Vorverarbeitungseinheit verbunden ist und die Information über die Möglichkeit einer Blockierung auf­ grund der gemeinsamen Benutzung der Betriebsmittel unter den Aufgaben speichert, die durch den Tabellengenerator gebildet wird, eine dritte Speichereinrichtung (20), die eine Vielzahl von Aufgabenprogrammen (TASK 1, TASK 2, TASK 3) speichert, und einen Aufgabenverteiler (15) enthält, der mit der Informations­ tabelle zum Verhindern einer Blockierung und der dritten Spei­ chereinrichtung verbunden ist, um auf die Informationstabelle zum Verhindern der Blockierung auf eine Beginnanforderung von der Aufgabe ansprechend Bezug zu nehmen, zu prüfen, ob die den Beginn fordernde Aufgabe möglicherweise zu einer Blockierung führt, und den Beginn der Aufgabe zu verzögern, wenn die den Be­ ginn fordernde Aufgabe mit der Möglichkeit einer Blockierung verbunden ist, und im anderen Fall den Beginn der Aufgabe zu ge­ währen.
9. Vorrichtung nach Anspruch 6, gekennzeichnet durch eine Betriebsmittelverteilungstabelleneinrichtung (18 A, 18 B, 18 C), die mit den Betriebsmitteln verbunden ist und die In­ formation über den Sperrzustand der jeweiligen Betriebsmittel speichert, und einen Betriebsmittelverteiler (19), der auf die Betriebsmittelverteilungstabelleneinrichtung auf eine Betriebs­ mittelsperranforderung von der Aufgabe ansprechend Bezug nimmt und die fordernde Aufgabe in einen betriebsbereiten Zustand bringt, wenn die Aufgabe aufgrund der Benutzung durch eine an­ dere Aufgabe gesperrt ist, und im anderen Fall gestattet, daß die Aufgabe die Betriebsmittel sperrt.
10. Vorrichtung nach Anspruch 8, dadurch gekenn­ zeichnet, daß die Ausführungssteuereinheit eine Aufgaben­ warteschlangeneinrichtung (11) enthält, die mit dem Aufgaben­ verteiler verbunden ist, Aufgabenidentifizierungen der zu begin­ nenden Aufgaben speichert und die Beginnanforderungen der Auf­ gaben, die den gespeicherten Aufgabenidentifizierungen entspre­ chen, dem Aufgabenverteiler in der Reihenfolge der gespeicherten Aufgabenidentifizierungen ausgibt.
11. Vorrichtung nach Anspruch 10, dadurch gekenn­ zeichnet, daß der Aufgabenverteiler in der Aufgabenwarte­ schlangeneinrichtung die Aufgabenidentifizierung speichert, die der Aufgabe entspricht, die die Beginnanforderung ausgegeben hat, wenn der Beginn der Aufgabe zu verzögern ist.
12. Vorrichtung nach Anspruch 6, dadurch gekenn­ zeichnet, daß die Vorverarbeitungeinheit die Möglichkeit einer Blockierung dadurch prüft, daß überprüft wird, ob eine der Benutzungsabfolge von zwei Betriebsmitteln in jeder Aufgabe um­ gekehrte Benutzungsabfolge in einer anderen Aufgabe vorhanden ist.
13. Vorrichtung nach Anspruch 7, dadurch gekenn­ zeichnet, daß die Betriebsmittelsperrabfolgetabelle in den Speicherbereichen für die jeweiligen Aufgaben eine Vielzahl von Informationsgruppen enthält, von denen jede einen Speicher­ platz zum Speichern der Information über die zu benutzenden Be­ triebsmittel, einen Abfolgezeiger zum Angeben eines Speicher­ platzes, an dem die Information über die als nächstes zu benutzen­ den Betriebsmittel gespeichert ist, und einen Wählzeiger zum Anzeigen eines Speicherplatzes enthält, an dem die nach Maß­ gabe des Arbeitsablaufzustandes der Aufgabe gewählten Betriebs­ mittel gespeichert sind.
14. Vorrichtung nach Anspruch 6, gekennzeichnet durch eine Eingabeeinrichtung (5), die mit der zweiten Speicher­ einrichtung verbunden ist und es dem Anwender erlaubt, eine In­ formation über die Benutzungsabfolge der Betriebsmittel einzu­ geben, die für jede Aufgabe zu benutzen sind.
DE19863611223 1985-04-08 1986-04-04 Verfahren und vorrichtung zum verhindern einer blockierung in einem datenbank-verwaltungssystem Granted DE3611223A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60073817A JPS61233849A (ja) 1985-04-08 1985-04-08 デ−タベ−ス排他制御方法

Publications (2)

Publication Number Publication Date
DE3611223A1 DE3611223A1 (de) 1986-10-16
DE3611223C2 true DE3611223C2 (de) 1988-06-23

Family

ID=13529085

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863611223 Granted DE3611223A1 (de) 1985-04-08 1986-04-04 Verfahren und vorrichtung zum verhindern einer blockierung in einem datenbank-verwaltungssystem

Country Status (3)

Country Link
US (1) US4791554A (de)
JP (1) JPS61233849A (de)
DE (1) DE3611223A1 (de)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0833857B2 (ja) * 1987-02-18 1996-03-29 株式会社日立製作所 システム間デ−タベ−ス共用システムジヤ−ナルマ−ジ方式
US5319780A (en) * 1987-10-19 1994-06-07 International Business Machines Corporation System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is issued
US5193188A (en) * 1989-01-05 1993-03-09 International Business Machines Corporation Centralized and distributed wait depth limited concurrency control methods and apparatus
US5133074A (en) * 1989-02-08 1992-07-21 Acer Incorporated Deadlock resolution with cache snooping
JPH02226442A (ja) * 1989-02-28 1990-09-10 Toshiba Corp データベースシステムのデッドロック防止方式
US5101488A (en) * 1989-05-02 1992-03-31 Motorola, Inc. Method for retrieving and updating data in a real-time data base system
US5029169A (en) * 1989-07-11 1991-07-02 Bell Communications Research, Inc. Methods and apparatus for fault detection
CA2027934C (en) * 1989-12-22 1994-06-21 Cherie C. Barnes Accelerated deadlock detection in congested data transactions
JP2699600B2 (ja) * 1990-01-30 1998-01-19 日本電気株式会社 資源の排他制御方式
JPH0451335A (ja) * 1990-06-20 1992-02-19 Oki Electric Ind Co Ltd データベース処理装置
JPH05134886A (ja) * 1990-11-30 1993-06-01 Fujitsu Ltd デツドロツク検出方式
US5317737A (en) * 1991-07-29 1994-05-31 Ncr Corporation Method and apparatus for controlling a re-entrant synchronization lock tenure in a multiprocessor system
US5355455A (en) * 1991-11-19 1994-10-11 International Business Machines Corporation Method and apparatus for avoiding deadlock in a computer system with two or more protocol-controlled buses interconnected by a bus adaptor
CA2061298C (en) * 1992-02-17 1996-12-03 Douglas J. Mortson Method for detecting critical failures during the building of complex computer programs from source code parts
US5666511A (en) * 1992-10-08 1997-09-09 Fujitsu Limited Deadlock suppressing schemes in a raid system
US5630114A (en) * 1993-01-22 1997-05-13 Serra; Bill Database management system embedded in an operating system command
DE69422743T2 (de) * 1993-03-30 2000-06-08 Fujitsu Ltd Endlosschleife-Erkennungsgerät
FR2708766B1 (fr) * 1993-08-03 1995-09-08 Bull Sa Procédé d'analyse d'interblocages dans un système d'exploitation.
FR2718868B1 (fr) * 1994-04-18 1996-05-31 Bull Sa Procédé de détection d'interblocages dans les systèmes multiprocesseurs à mémoire partagée.
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
US5787439A (en) * 1996-12-13 1998-07-28 Novell, Inc. Method and system for maintaining a preferred sequence for accessing a plurality of objects
US6112265A (en) * 1997-04-07 2000-08-29 Intel Corportion System for issuing a command to a memory having a reorder module for priority commands and an arbiter tracking address of recently issued command
US5994884A (en) * 1998-08-27 1999-11-30 The United States Of America As Represented By The Secretary Of The Navy Booster circuit for foldback current limited power supplies
JP2001125797A (ja) * 1999-10-25 2001-05-11 Seiko Epson Corp マルチタスクシステム及びそのプログラムを記録した記録媒体並びに加工装置
JP2001344119A (ja) * 2000-05-30 2001-12-14 Nec Corp トランザクション実行制御方式およびトランザクション実行制御方法
US7689560B2 (en) 2000-10-13 2010-03-30 Miosoft Corporation Persistent data storage techniques
EP1197876A3 (de) * 2000-10-13 2003-04-16 Miosoft Corporation Dauerhafte Datenspeichertechnik
US20020087665A1 (en) * 2000-12-29 2002-07-04 Marshall Donald Brent Method and system for integrated resource management
US6904431B2 (en) * 2002-01-25 2005-06-07 Openwave Systems Inc. Algorithm for dynamic selection of data locking granularity
US7437727B2 (en) * 2002-03-21 2008-10-14 Network Appliance, Inc. Method and apparatus for runtime resource deadlock avoidance in a raid system
US7328364B1 (en) 2003-03-21 2008-02-05 Network Appliance, Inc. Technique for coherent suspension of I/O operations in a RAID subsystem
US7337290B2 (en) * 2003-04-03 2008-02-26 Oracle International Corporation Deadlock resolution through lock requeing
US7827216B1 (en) 2003-07-23 2010-11-02 Novell, Inc. Method for coordinating relationships between multiple physical entities
US7693847B1 (en) * 2004-07-13 2010-04-06 Teradata Us, Inc. Administering workload groups
US20060236071A1 (en) * 2005-04-15 2006-10-19 Barszczak Tomasz M Method and system for optimizing operations on memory device
US9198084B2 (en) 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
US8434082B2 (en) * 2006-06-22 2013-04-30 Intel Corporation Efficient ticket lock synchronization implementation using early wakeup in the presence of oversubscription
US8069445B2 (en) * 2006-06-30 2011-11-29 Intel Corporation Method and apparatus for detecting lock acquisition hierarchy violations and unsafe lock releases
US7926058B2 (en) * 2007-02-06 2011-04-12 Mba Sciences, Inc. Resource tracking method and apparatus
US8667144B2 (en) 2007-07-25 2014-03-04 Qualcomm Incorporated Wireless architecture for traditional wire based protocol
US8966451B2 (en) 2007-11-30 2015-02-24 International Business Machines Corporation Identifying potential lock conditions in transactional software applications
US8811294B2 (en) 2008-04-04 2014-08-19 Qualcomm Incorporated Apparatus and methods for establishing client-host associations within a wireless network
US9398089B2 (en) * 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
US8102849B2 (en) 2009-02-12 2012-01-24 Qualcomm, Incorporated Association procedure to enable multiple multicast streams
US9264248B2 (en) 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
US8521472B2 (en) * 2009-09-18 2013-08-27 International Business Machines Corporation Method to compute wait time
US9582238B2 (en) 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
CN102103523A (zh) * 2009-12-22 2011-06-22 国际商业机器公司 锁分配控制的方法和装置
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US20130013318A1 (en) 2011-01-21 2013-01-10 Qualcomm Incorporated User input back channel for wireless displays
US8964783B2 (en) 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US8674957B2 (en) 2011-02-04 2014-03-18 Qualcomm Incorporated User input device for wireless back channel
JP5870994B2 (ja) * 2011-03-04 2016-03-01 日本電気株式会社 デッドロック回避方法、デッドロック回避機構
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
JP6264803B2 (ja) * 2013-09-24 2018-01-24 富士通株式会社 ジョブ抽出プログラム、ジョブ抽出装置、及びジョブ抽出方法
EP3047380B1 (de) * 2014-12-13 2019-04-24 VIA Alliance Semiconductor Co., Ltd. Musterdetektor zur erkennung von ausfällen
CN105934743B (zh) 2014-12-13 2019-06-04 上海兆芯集成电路有限公司 一种微处理器及在其中检测arb的模式的方法
CN105980978B (zh) * 2014-12-13 2019-02-19 上海兆芯集成电路有限公司 用于检测暂停的逻辑分析器
WO2016092345A1 (en) * 2014-12-13 2016-06-16 Via Alliance Semiconductor Co., Ltd. Logic analyzer for detecting hangs
JP6939644B2 (ja) * 2018-02-26 2021-09-22 オムロン株式会社 工程制御装置、製造装置、工程制御方法、制御プログラム、及び記録媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4318182A (en) * 1974-04-19 1982-03-02 Honeywell Information Systems Inc. Deadlock detection and prevention mechanism for a computer system
US4224664A (en) * 1976-05-07 1980-09-23 Honeywell Information Systems Inc. Apparatus for detecting when the activity of one process in relation to a common piece of information interferes with any other process in a multiprogramming/multiprocessing computer system
JPS5443644A (en) * 1977-09-13 1979-04-06 Fujitsu Ltd Processing system for deadlock automatic release at exclusive control time
US4189771A (en) * 1977-10-11 1980-02-19 International Business Machines Corporation Method and means for the detection of deadlock among waiting tasks in a multiprocessing, multiprogramming CPU environment
US4627019A (en) * 1982-07-08 1986-12-02 At&T Bell Laboratories Database management system for controlling concurrent access to a database

Also Published As

Publication number Publication date
JPS61233849A (ja) 1986-10-18
DE3611223A1 (de) 1986-10-16
JPH0465414B2 (de) 1992-10-20
US4791554A (en) 1988-12-13

Similar Documents

Publication Publication Date Title
DE3611223C2 (de)
DE4497149B4 (de) Computerbezogenes Verfahren zur Datenreplikation in Peer-to-Peer-Umgebung
DE4216871C2 (de) Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
DE2303596C2 (de) Datenverarbeitungsanordnung
EP0635792B1 (de) Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen
DE2629459C2 (de)
DE60306674T2 (de) Verfahren und systeme zur regelung des zugriffs auf ein datenobjekt mittels sperren
DE4210126C2 (de) Verfahren zur dynamischen Dateierweiterung in einem Online-Datenbanksystem und Vorrichtung zur Durchführung des Verfahrens
DE4123126C1 (de)
DE4420451C2 (de) Sperrmechanismus für ein CHECK-IN/CHECK-OUT-Modell
DE69818135T2 (de) Verfahren zum Zugriff auf Datenbankinformation
DE4011745A1 (de) Taskverfolgungseinrichtung
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
DE4033336A1 (de) Verfahren zum erzeugen einer ausfallmeldung und mechanismus fuer ausfallmeldung
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
DE3842289C2 (de) Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem
DE2101949A1 (de) Verfahren zum Schutz von Datengruppen in einer Multiprocessing-Datenverarbeitungsanlage
DE2912073C2 (de)
EP1701266A1 (de) Testvorrichtung zur Überprüfung einer Stapelverarbeitung
EP3364257B1 (de) Verfahren zum betrieb eines engineering-systems für ein industrielles prozessautomatisierungssystem und steuerungsprogramm
DE1191145B (de) Elektronische Zifferrechenmaschine
EP1226484A2 (de) Elektronisches gerät mit softwareschutz
DE2165589A1 (de) Anordnung zur programmgesteuerten bestimmung von fehlern in einer datenverarbeitungsanlage
WO2001006347A1 (de) Operandenstapelspeicher und verfahren zum betreiben eines operandenstapelspeichers

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: STREHL, P., DIPL.-ING. DIPL.-WIRTSCH.-ING. SCHUEBEL-HOPF, U., DIPL.-CHEM. DR.RER.NAT. GROENING, H.,DIPL.-ING., PAT.-ANWAELTE, 8000 MUENCHEN