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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, 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.
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)
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., Kawasaki | 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 |
US8051423B2 (en) | 2007-02-06 | 2011-11-01 | Mba Sciences, Inc. | System and method for tracking resources during parallel processing |
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 | 国际商业机器公司 | 锁分配控制的方法和装置 |
US9413803B2 (en) | 2011-01-21 | 2016-08-09 | Qualcomm Incorporated | User input back channel for wireless displays |
US9787725B2 (en) | 2011-01-21 | 2017-10-10 | 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 |
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 |
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 |
US8674957B2 (en) | 2011-02-04 | 2014-03-18 | Qualcomm Incorporated | User input device for wireless back channel |
US9503771B2 (en) | 2011-02-04 | 2016-11-22 | Qualcomm Incorporated | Low latency wireless display for graphics |
US10108386B2 (en) | 2011-02-04 | 2018-10-23 | Qualcomm Incorporated | Content provisioning for wireless back channel |
US9405549B2 (en) * | 2011-03-04 | 2016-08-02 | Nec Corporation | Deadlock avoidance method and deadlock avoidance mechanism |
US9525998B2 (en) | 2012-01-06 | 2016-12-20 | Qualcomm Incorporated | Wireless display with multiscreen service |
JP6264803B2 (ja) * | 2013-09-24 | 2018-01-24 | 富士通株式会社 | ジョブ抽出プログラム、ジョブ抽出装置、及びジョブ抽出方法 |
WO2016092347A1 (en) * | 2014-12-13 | 2016-06-16 | Via Alliance Semiconductor Co., Ltd. | Distributed hang recovery logic |
WO2016092346A1 (en) | 2014-12-13 | 2016-06-16 | Via Alliance Semiconductor Co., Ltd. | Conditional pattern detector for detecting hangs |
WO2016092344A1 (en) * | 2014-12-13 | 2016-06-16 | Via Alliance Semiconductor Co., Ltd. | Pattern detector for detecting hangs |
CN105980979B (zh) * | 2014-12-13 | 2018-11-20 | 上海兆芯集成电路有限公司 | 用于检测暂停的逻辑分析器 |
JP6939644B2 (ja) * | 2018-02-26 | 2021-09-22 | オムロン株式会社 | 工程制御装置、製造装置、工程制御方法、制御プログラム、及び記録媒体 |
Family Cites Families (5)
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 |
-
1985
- 1985-04-08 JP JP60073817A patent/JPS61233849A/ja active Granted
-
1986
- 1986-04-04 DE DE19863611223 patent/DE3611223A1/de active Granted
- 1986-04-07 US US06/848,484 patent/US4791554A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS61233849A (ja) | 1986-10-18 |
JPH0465414B2 (de) | 1992-10-20 |
DE3611223A1 (de) | 1986-10-16 |
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 | |
DE69105512T2 (de) | Ein verfahren und eine vorrichtung für speicherung der information in einem speicher und ihre benutzung in speicherkarten. | |
DE60315996T2 (de) | Verfahren und vorrichtung zur datenbewegung mittels sperren | |
DE3854667T2 (de) | Datenbasissystem mit einer Baumstruktur. | |
EP0635792B1 (de) | Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen | |
DE2629459C2 (de) | ||
DE4210126C2 (de) | Verfahren zur dynamischen Dateierweiterung in einem Online-Datenbanksystem und Vorrichtung zur Durchführung des Verfahrens | |
DE69225566T2 (de) | Rechnersystem | |
DE4123126C1 (de) | ||
DE69818135T2 (de) | Verfahren zum Zugriff auf Datenbankinformation | |
DE3886756T2 (de) | Betriebsmittelzugriff für Multiprozessorrechnersystem. | |
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 | |
DE4420451A1 (de) | Sperrmechanismus für ein CHECK-IN/CHECK-OUT-Modell | |
DE1499182A1 (de) | Elektrische Datenverarbeitungsanlage | |
DE3842289C2 (de) | Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem | |
DE68924992T2 (de) | Symmetrische Steuerungsanordnung für Multiverarbeitung. | |
DE2101949A1 (de) | Verfahren zum Schutz von Datengruppen in einer Multiprocessing-Datenverarbeitungsanlage | |
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE69609887T2 (de) | Hypertextsystem und Anzeigeverfahren | |
DE2912073C2 (de) |
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 |