JP3277888B2 - ロック待ち解除装置及びプログラムを記録した機械読み取り可能な記録媒体 - Google Patents

ロック待ち解除装置及びプログラムを記録した機械読み取り可能な記録媒体

Info

Publication number
JP3277888B2
JP3277888B2 JP17670098A JP17670098A JP3277888B2 JP 3277888 B2 JP3277888 B2 JP 3277888B2 JP 17670098 A JP17670098 A JP 17670098A JP 17670098 A JP17670098 A JP 17670098A JP 3277888 B2 JP3277888 B2 JP 3277888B2
Authority
JP
Japan
Prior art keywords
task
lock
waiting
shared resource
attention
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP17670098A
Other languages
English (en)
Other versions
JPH11353285A (ja
Inventor
昌子 内沼
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP17670098A priority Critical patent/JP3277888B2/ja
Publication of JPH11353285A publication Critical patent/JPH11353285A/ja
Application granted granted Critical
Publication of JP3277888B2 publication Critical patent/JP3277888B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のタスクによ
って共有されるディスク装置,共通メモリなどの共有資
源の排他制御方式に関し、特に、共有資源の解放を待っ
ている待ちタスクに対するロック待ち解除のアテンショ
ン(待ち状態のタスクに対する報告)が、何らかの原因
によりロストした場合でも、待ちタスクがロック待ち解
除を検出できるようにした技術に関する。
【0002】
【従来の技術】従来、一般的に行われている共有資源に
対する排他制御方式は次のようなものである。複数のタ
スクによって共有される共有資源を使用しようとするタ
スクは、先ず、排他制御装置に対してロック要求を行
う。排他制御装置は、ロック要求された共有資源が他の
タスクによってロックされているか否かを調べる。そし
て、ロックされていない場合には共有資源をロックする
と共に要求元のタスクに対して「ロック成功」を通知
し、ロックされている場合には、要求元のタスクに対し
て「ロック待ち」を通知する。
【0003】要求元のタスクは、「ロック成功」が通知
された場合には共有資源を使用した処理を開始し、「ロ
ック待ち」が通知された場合には、待ち状態となりロッ
ク待ち解除のアテンションを待つ。そして、ロック待ち
解除のアテンションが、排他制御装置から送られてくる
と、共有資源を使用した処理を開始する。
【0004】上述した従来の技術は、ロック待ち解除の
アテンションがロストした場合を全く考慮していない。
このため、何からの原因でロック待ち解除のアテンショ
ンがロストしてしまうと、共有資源を使用した処理を永
遠に行うことができなくなってしまうという問題があ
る。
【0005】そこで、このような問題点を解決するた
め、例えば、特開平2−113321号公報に記載され
ている技術では、図8に示すように、排他制御機能を有
する共有ディスク装置111を共有する2つの情報処理
系101,102内に、時間監視手段103,106と
占有再試行手段104,107と閉塞手段105,10
8とを設けると共に、情報処理系101,102をそれ
ぞれ2つの経路(ディスク制御装置109を通る経路と
ディスク制御装置110を通る経路)を介して共有ディ
スク装置111と接続するようにしている。
【0006】情報処理系101は、共有ディスク装置1
11を占有しようとしてその占有に失敗した場合、時間
監視手段103による経過時間の監視を開始すると共
に、そのとき使用した経路を記録しておく。
【0007】共有ディスク装置111の占有に失敗して
から一定時間が経過したことを時間監視手段103が検
出する前に、情報処理系102が共有ディスク装置11
1を解放し、共有ディスク装置111から解放通知が送
られてきた場合は、情報処理系101は、占有再試行手
段104を使用し、記録されている経路を介して再度共
有ディスク装置111の占有を試みる。
【0008】これに対して、共有ディスク装置111の
占有に失敗してから一定時間が経過したことを時間監視
手段103が検出しても、共有ディスク装置111から
解放通知が送られて来なかった場合は、情報処理系10
1は、占有再試行手段104を使用し、記録されている
経路と異なる経路を介して再度共有ディスク装置111
の占有を試みる。つまり、共有ディスク装置111の占
有に失敗してから一定時間が経過しても解放通知が送ら
れて来なかったのは、記録されている経路に障害がある
と判断し、別の経路を使用して再度共有ディスク装置1
11の占有を試みるものである。この従来の技術によれ
ば、情報処理系101,102と共有ディスク装置11
1との間に設けられている2つの経路の内の一方の障害
により解放通知がロストしてしまっても、情報処理系1
01,102は、共有ディスク装置111が解放された
ことを検出することができる。
【0009】
【発明が解決しようとする課題】上述した従来の技術に
よれば、情報処理系と共有ディスク装置との間の経路の
障害により、解放通知がロストした場合には、情報処理
系は、共有ディスクが解放されたこと検出できる。しか
し、上述した従来の技術は、共有ディスク装置が解放さ
れたことを1種類の解放通知により、情報処理系に通知
している。つまり、従来の技術は、共有資源が解放され
たことを情報処理系に通知するための構成をただ1つし
か備えていないと考えられるため、その構成の障害によ
り解放通知がロストした場合には、情報処理系が共有デ
ィスク装置の解放を検出できないという問題があった。
【0010】そこで、本発明の目的は、排他制御装置の
構成要素の内の、ロック待ち解除のアテンションを待ち
タスクに対して出力する構成要素の障害により、ロック
待ち解除のアテンションがロストした場合でも、待ちタ
スクが共有資源の解放を検出できるようにすることにあ
る。
【0011】
【課題を解決するための手段】本発明のロック待ち解除
装置は上記目的を達成するため、タスクからの共有資源
に対するロック要求に応答して、前記共有資源が他のタ
スクによってロックされている場合は要求元のタスクに
「ロック待ち」を通知し、ロックされていない場合は前
記共有資源をロックすると共に要求元のタスクに「ロッ
ク成功」を通知するロック手段と、前記共有資源をロッ
クしているタスクからの前記共有資源に対するアンロッ
ク要求に応答して、前記共有資源をアンロックした後、
前記共有資源の解放を待っているタスクの内の1つによ
って前記共有資源をロックし、更に前記共有資源をロッ
クしたタスクの待ち時間が予め定められているアテンシ
ョン報告期間を超えていなければ、前記共有資源をロッ
クしたタスクに対して「ロック成功」のアテンションを
報告し、前記アテンション報告期間を超えていれば前記
共有資源をロックしたタスクに対して「ロック成功」の
アテンションを報告しないアンロック手段と、前記共有
資源の解放を待っているタスクの待ち時間が、前記アテ
ンション報告期間よりも長い、予め定められている最大
監視時間を超えたとき、前記タスクに対して「待ち時間
オーバ」のアテンションを報告し前記タスクにロック待
ち再試行要求を行わせるロック待ち時間監視手段と、前
記タスクが行ったロック待ち再試行要求に応答して、要
求元のタスクが前記アンロック手段によって前記共有資
源をロックするタスクにされている場合は前記要求元の
タスクに「ロック成功」を通知し、そうでない場合は前
記要求元のタスクに「再ロック待ち」を通知して前記要
求元のタスクの待ち時間を初期値に戻すロック待ち再試
行手段とを備えている。
【0012】この構成においては、共有資源をロックし
ているタスクが、共有資源に対するアンロック要求を行
うと、アンロック手段が、共有資源をアンロックした
後、共有資源の解放を待っているタスクの内の1つによ
って共有資源をロックし、更に共有資源をロックしたタ
スクの待ち時間が予め定められているアテンション報告
期間を超えていなければ、前記共有資源をロックしたタ
スクに対して「ロック成功」のアテンションを報告す
る。もし、この「ロック成功」のアテンションが、アン
ロック手段の障害等によりロストしても、上記タスクの
待ち時間が最大監視時間を超えたら、ロック待ち時間監
視手段が上記タスクに対して「待ち時間オーバ」のアテ
ンションを報告し、このアテンションを受けたタスクが
ロック待ち再試行要求を行い、これに応答してロック待
ち再試行手段が、要求元のタスクに対して「ロック成
功」を通知するので、共有資源の解放を待っているタス
クは、共有資源が解放されたことを検出することができ
る。
【0013】また、本発明のロック待ち解除装置は、共
有資源の解放を待っているタスクの待ち時間を簡単な構
成で管理できるようにするため、前記共有資源の解放を
待っているタスクそれぞれの待ち時間が登録されるロッ
ク待ち状態記憶手段を備え、且つ、前記タスクは、前記
ロック手段から「ロック待ち」が通知された場合、前記
ロック待ち状態記憶手段に自タスクのタスクIDと待ち
時間の初期値とを対応付けて登録する構成を有し、前記
ロック待ち時間監視手段は、監視間隔毎に前記ロック待
ち状態記憶手段に登録されている各タスクの待ち時間を
前記監視間隔ずつ増加させ、前記ロック待ち状態記憶手
段に登録されている待ち時間が前記最大監視時間を超え
たタスクに対して「待ち時間オーバ」のアテンションを
報告する構成を有している。
【0014】この構成においては、ロック手段から「ロ
ック待ち」が通知されたタスクが、ロック待ち状態記憶
手段に、自タスクのタスクIDと待ち時間の初期値とを
対応付けて登録し、ロック待ち時間監視手段が、監視間
隔毎に、ロック待ち状態記憶手段に登録されている各タ
スクの待ち時間を監視間隔ずつ増加させる。
【0015】更に、本発明のロック待ち解除装置は、
「ロック待ちキャンセル」のアテンションがロストした
場合にも、それに対処できるようにするため、ロック待
ちアンロック要求を出力するロック待ち打ち切り手段を
備え、且つ、前記ロック手段は、「ロック待ち」を通知
したタスクを示す情報をロック待ちキューに登録する構
成を有し、前記アンロック手段は、ロック待ちアンロッ
ク要求によってロック待ちを打ち切ることが要求された
タスクを示す情報を前記ロック待ちキューから外し、そ
のタスクの待ち時間が前記アテンション報告期間を経過
していない場合に限り、前記タスクに対して「ロック待
ちキャンセル」のアテンションを報告する構成を有し、
前記ロック待ち再試行手段は、ロック待ち再試行要求さ
れたタスクがロック待ちがキャンセルされたタスクであ
る場合は、前記タスクに「ロック待ちキャンセル」を通
知する構成を有する。
【0016】この構成においては、アンロック手段が、
ロック待ちアンロック要求によってロック待ちを打ち切
ることが要求されたタスクを示す情報をロック待ちキュ
ーから外し、そのタスクの待ち時間がアテンション報告
期間を経過していない場合に限り、上記タスクに対して
「ロック待ちキャンセル」のアテンションを報告する。
このアテンションが、アンロック手段の障害等によりロ
ストした場合であっても、上記タスクの待ち時間が最大
監視時間を超えたら、ロック待ち時間監視手段が、上記
タスクに対して「待ち時間オーバ」のアテンションを報
告し、このアテンションを受けたタスクが、ロック待ち
再試行要求を行い、これに応答してロック待ち再試行手
段が、要求元のタスクに対して「ロック待ちキャンセ
ル」を通知するので、「ロック待ちキャンセル」のアテ
ンションがロストしてもそれに対処することができる。
【0017】
【発明の実施の形態】次に本発明の実施の形態について
図面を参照して詳細に説明する。
【0018】〔実施例の構成〕図1は本発明の実施例の
ブロック図である。図1を参照すると、本実施例は、第
1のホストコンピュータ1と、第2のホストコンピュー
タ2と、第1,第2のホストコンピュータ1,2上のタ
スクが共有する共有資源(図示せず)を一元的に排他制
御する複数ホスト間排他制御手段3とを含む。
【0019】第1のホストコンピュータ1は、共有資源
を排他中のロックタスク11と、共有資源の解放を待っ
ている待ちタスク12と、自ホスト内のすべての待ちタ
スクの待ち時間を記憶しているロック待ち状態記憶手段
13と、監視間隔xごとに自分自身を起動し、ロック待
ち状態記憶手段13中に最大監視時間Xを超えた待ちタ
スクが存在する場合にはその待ちタスクに対して「待ち
時間オーバ」のアテンションを報告するロック待ち時間
監視手段14と、経過時間監視手段15とを含む。
【0020】第2のホストコンピュータ2も、第1のホ
ストコンピュータ1と同様の構成要素である、ロックタ
スク21,待ちタスク22,ロック待ち状態記憶手段2
3,ロック待ち時間監視手段24および経過時間監視手
段25を含む。
【0021】複数ホスト間排他制御手段3は、共有資源
に対する新規のロック要求を処理するロック手段31
と、アンロック要求を処理するアンロック手段32と、
アテンション報告期間Yを超えた待ちタスクからの、待
ち状態の再確認を要求するロック待ち再試行要求を処理
するロック待ち再試行手段33と、ロック待ちキュー3
4とを備える。
【0022】監視間隔xと最大監視時間Xは、x<Xの
関係を満たす必要がある。更に、これらの値は、ホスト
コンピュータ間で等値であることが好ましい。これは、
これらの値がホストコンピュータ間で異なると、待ち時
間オーバの検出に要する時間がホストコンピュータ間で
異なってしまうからである。
【0023】また、最大監視時間Xとアテンション報告
期間Yは、X>Yの関係を満たす必要がある。ここで、
両者の差(X―Y)は、ホストコンピュータと複数ホス
ト間排他制御手段3の間の通信オーバヘッドより十分大
きい値に設定する必要がある。これは、通信オーバヘッ
ドが差(X―Y)より大きい場合、アテンション報告期
間直前にロック待ちが解除されると、複数ホスト間排他
制御手段3によるロック待ち解除のアテンションがホス
トコンピュータに届く前に最大監視時間Xを超え、ロッ
ク待ち時間監視手段14も「待ち時間オーバ」のアテン
ションを報告し、二重アテンションとなる可能性がある
ためである。
【0024】〔実施例の動作の説明〕次に、図1のブロ
ック図および、図2〜図6のフローチャートを参照して
本実施例の全体の動作について詳細に説明する。
【0025】以下、第1のホストコンピュータ1内のタ
スクaと、第2のホストコンピュータ2内のタスクbが
同一の共有資源に対してほぼ同時にロック要求を行い、
タスクbがタスクaに対して待ちとなった場合を例に挙
げて動作を説明する。なお、第1のホストコンピュータ
1と第2のホストコンピュータ2は同様の構成要素から
成るため、タスクaがタスクbに対して待ちとなる場合
も、ホストコンピュータ1,2の関係が逆になるだけ
で、同様に処理される。
【0026】先ず、タスクaがロック手段31に対しロ
ック要求を行う(図2のステップA1)。
【0027】ロック手段31は、ロック要求された共有
資源が他タスクによってロックされていないか調べる
(図4のステップC1)。この例の場合、共有資源はロ
ックされていないので、ロック手段31は共有資源をロ
ック中にし(ステップC2)、タスクaに「ロック成
功」の旨を返却する(ステップC3)。
【0028】タスクaは、「ロック成功」が返却される
と(図2のステップA2がYES)、ロックタスク11
となり、共有資源を使用した処理を行う。
【0029】その後、タスクbがロック手段31に対し
ロック要求を行うと(図2のステップA1)、ロック手
段31は、ロック要求された共有資源が他タスクによっ
てロックされていないか調べる(図4のステップC
1)。この例の場合、共有資源はタスクaによりロック
されているため、ロック手段31は、タスクbを示す情
報をロック待ちキュー34に登録すると共にタスクbの
待ち開始時刻を設定し(ステップC4→ステップC
5)、更にタスクbに「ロック待ち」の旨を返却する
(ステップC6)。
【0030】タスクbは、「ロック待ち」が返却される
と(図2のステップA2がNO→ステップA3がYE
S)、ロック待ち状態記憶手段23に自タスクのタスク
IDに対応付けて監視対象フラグ=ON,待ち時間=0
を登録した後(ステップA4)、アテンション待ちに入
り(ステップA5)、待ちタスク22となる。
【0031】この間、第2のホストコンピュータ2内の
ロック待ち時間監視手段24は、定期的に自分自身を起
動している。まだ待ちタスクが1個もロック待ち状態記
憶手段23上に登録されていない状態でロック待ち時間
監視手段24が起動された場合は、ロック待ち状態記憶
手段23の先頭エントリが有効エントリでないため(図
3のステップB1→ステップB2がNO)、監視間隔x
後に自分自身を起動するようにタイマをセットするだけ
で終了する(ステップB9)。
【0032】これに対して、タスクbが自タスクに関す
る情報をロック待ち状態記憶手段23に登録した直後
に、ロック待ち時間監視手段24が起動された場合は、
ロック待ち状態記憶手段23中にタスクbの情報を格納
したエントリがあり(図3のステップB1→ステップB
2がYES→ステップB3がYES)、待ち時間(=
0)<最大監視時間Xであるため(ステップB4がYE
S)、待ち時間に監視間隔xを加算する(ステップB
5)。以降、ロック待ち時間監視手段24が起動される
たびに、タスクbの待ち時間は監視間隔xずつ増加して
いく。
【0033】タスクbの待ち時間<アテンション報告期
間Yの時点で、共有資源をロックしているタスクaがア
ンロック手段32に対しアンロック要求を行った場合は
(以降、本条件をケース1と呼ぶ)、アンロック手段3
2は、タスクaがロックタスクであるためこれをアンロ
ックし(図5のステップD1がYES→ステップD
2)、待ちタスクbがあるのでこれをロック中にし(ス
テップD3がYES→ステップD4)、待ち時間<アテ
ンション報告期間Yなので、待ちタスクbに「ロック成
功」のアテンションを報告し(ステップD5がNO→ス
テップD6)、タスクaに「アンロック成功」の旨を返
却する(ステップD7)。
【0034】タスクbは受け取ったアテンションが「待
ち時間オーバ」ではないので(図2のステップA6がN
O)、ロック待ち状態記憶手段23から自タスクの情報
を削除し(ステップA10)、ロック要求が完了する。
【0035】また、アテンション報告期間Y≦タスクb
の待ち時間≦最大監視時間Xの時点で、タスクaがアン
ロック手段32に対しアンロック要求を行った場合は
(以降、本条件をケース2と呼ぶ)、アンロック手段3
2は、ケース1と同様に、タスクaをアンロックして待
ちタスクbをロック中にするが(図5のステップD1が
YES→ステップD2→ステップD3がYES→ステッ
プD4)、待ち時間≧アテンション報告期間Yなので、
待ちタスクbに「ロック成功」のアテンションは報告せ
ずに、タスクaに「アンロック成功」の旨を返却する
(ステップD5がYES→ステップD7)。
【0036】ロック待ち時間監視手段24は、タスクb
にアテンションが来ないため待ち時間を加算し続け(図
3のステップB5)、最大監視時間X≦待ち時間になる
と(ステップB4がNO)、監視対象フラグ=OFF、
待ち時間=0にしてタスクbを監視対象から外し(ステ
ップB7)、タスクbに「待ち時間オーバ」のアテンシ
ョンを報告する(ステップB8)。
【0037】タスクbは受け取ったアテンションが「待
ち時間オーバ」なので(図2のステップA6がYE
S)、ロック待ち再試行手段33に対しロック待ち再試
行要求を行う(ステップA7)。
【0038】ロック待ち再試行手段33は、要求元のタ
スクbが、複数ホスト間排他制御手段3内ではロックタ
スクと認識されているため(図6のステップE1がYE
S)、タスクbに「ロック成功」の旨を返却する(ステ
ップE2)。
【0039】タスクbは、ロック待ち再試行要求の結果
が「再ロック待ち」ではないので(図2のステップA8
がNO)、ロック待ち状態記憶手段23から自タスクの
情報を削除し(ステップA10)、ロック要求が完了す
る。
【0040】次に、最大監視時間X<タスクbの待ち時
間の時点で、タスクaがアンロック手段32に対しアン
ロック要求を行った場合(以降、本条件をケース3と呼
ぶ)について説明する。ケース2と同様、まず最大監視
時間X≦待ち時間になった時点で、タスクbが「待ち時
間オーバ」のアテンションを受け取り、ロック待ち再試
行要求を行う(図2のステップA6がYES→ステップ
A7)。
【0041】ロック待ち再試行手段33は、この時点で
は、タスクbはまだ待ちタスクであるため(図6のステ
ップE1がNO→ステップE3がYES)、タスクbに
「再ロック待ち」の旨を返却し(ステップE4)、待ち
開始時刻を再設定する(ステップE5)。
【0042】タスクbは、ロック待ち再試行要求の結果
が「再ロック待ち」なので(図2のステップA8がYE
S)、ロック待ち状態記憶手段23上の自タスクの状態
を監視対象フラグ=ON、待ち時間=0に戻し(ステッ
プA9)、再度アテンション待ちに入る(ステップA
5)。
【0043】ロック待ち時間監視手段24は、タスクb
が再び監視対象フラグ=ONになったため、再びタスク
bの待ち時間を0から監視間隔xずつ加算していく。そ
の後の動作は、タスクaがアンロック要求を行った時点
での、ロック待ち時間監視手段24上のタスクbの待ち
時間と、アテンション報告期間Yと、最大監視時間Xと
の大小関係により、ケース1またはケース2に帰結す
る。
【0044】ケース1において、タスクbに対するアン
ロック手段32からの「ロック成功」のアテンションが
ロストした場合は、ホストコンピュータ2には、ケース
2と同様アンロック手段32がアテンションを報告しな
かったように見える。このため、ホストコンピュータ2
はケース2と同様の処理を行う。すなわち、最大監視時
間X≦待ち時間になった時点で、タスクbが「待ち時間
オーバ」のアテンションを受け取り、ロック待ち再試行
要求を行う。ロック待ち再試行手段33がタスクbに
「ロック成功」の旨を返却し、ロック要求が完了する。
このように、本実施例によれば、アンロック手段32か
らタスクbへの「ロック成功」のアテンションがロスト
しても、ロック待ち再試行手段33がタスクbに「ロッ
ク成功」の旨を返却するので、例え、アンロック手段3
2のアテンション報告機能に障害が発生しても、タスク
bは、共有資源が解放されたことを検出することができ
る。
【0045】次に、タスクbのロック待ちが、経過時間
監視などにより打ち切りとなる場合について説明する。
この場合、打ち切り要求元である経過時間監視手段25
は、タスクbに対応するプログラムの実行時間が予め定
められている時間を超えた場合、上記プログラムを終了
させ、更に、ロック待ち状態記憶手段23に上記プログ
ラムに対応するタスクbに関する情報が登録されている
か否かを判断する。そして、タスクbに関する情報が登
録されていると判断した場合は、アンロック手段32に
対しタスクbのロック待ちのアンロック要求を行う。
尚、本実施例では、経過時間監視手段を打ち切り要求元
(打ち切り要求手段)としたが、打ち切り要求元はこれ
に限られるものではない。
【0046】タスクbの待ち時間<アテンション報告期
間Yの時点で、タスクbのロック待ちのアンロック要求
が行われると(以降、本条件をケース4と呼ぶ)、アン
ロック手段32は、タスクbが待ちタスクであるため
(図5のステップD1がNO→ステップD8がYE
S)、タスクbをロック待ちキュー34から外し(ステ
ップD9)、更に待ち時間<アテンション報告期間Yで
なので、待ちタスクbに「ロック待ちキャンセル」のア
テンションを報告する(ステップD10がNO→ステッ
プD11)。その後、アンロック手段32は、経過時間
監視手段25に対して「アンロック成功」の旨を返却す
る(ステップD7)。なお、この例では、ステップD8
の判断結果はYESとなるが、もし、その判断結果がN
Oとなった場合は、アンロック手段32は、要求元の経
過時間監視手段25に対して「該当するロックなし」の
旨を返却する(ステップD12)。
【0047】その後のタスクbの動きは、ケース1と同
様である。即ち、タスクbは受け取ったアテンションが
「待ち時間オーバ」ではないので(図2のステップA6
がNO)、ロック待ち状態記憶手段23から自タスクの
情報を削除し(ステップA10)、ロック要求を打ち切
る。
【0048】また、アテンション報告期間Y≦タスクb
の待ち時間≦最大監視時間Xの時点で、経過時間監視手
段25がタスクbのロック待ちのアンロック要求を行う
と(以降、本条件をケース5と呼ぶ)、アンロック手段
32は、ケース4と同様に、タスクbをロック待ちキュ
ー34から外すが(図5のステップD1がNO→ステッ
プD8がYES→ステップD9)、待ち時間≧アテンシ
ョン報告期間Yなので、待ちタスクbへのアテンション
は報告せずに、経過時間監視手段25に「アンロック成
功」を返却する(ステップD10がYES→ステップD
7)。
【0049】その後のロック待ち時間監視手段24とタ
スクbの動きは、ケース2と同様である。つまり、ロッ
ク待ち時間監視手段24は、タスクbに「待ち時間オー
バ」のアテンションを報告し(図3のステップB8)、
タスクbはロック待ち再試行要求を行う(図2のステッ
プA7)。
【0050】ロック待ち再試行手段33は、タスクbが
ロック待ちがキャンセルされたタスクであるため(図6
のステップE1がNO→ステップE3がNO→ステップ
E6がYES)、タスクbに「ロック待ちキャンセル」
の旨を返却する(ステップE7)。
【0051】タスクbは、ロック待ち再試行要求の結果
が「再ロック待ち」ではないので(図2のステップA8
がNO)、ロック待ち状態記憶手段23から自タスクの
情報を削除し(ステップA10)、ロック要求を打ち切
る。
【0052】最大監視時間X<タスクbの待ち時間の時
点で、タスクbのロック待ちのアンロック要求を行われ
ると(以降、本条件をケース6と呼ぶ)、ケース3と同
様に処理され、ロック待ち時間監視手段24上のタスク
bの待ち時間と、アテンション報告期間Yと、最大監視
時間Xとの大小関係により、ケース4またはケース5に
帰結する。
【0053】ケース4において、アンロック手段32か
らタスクbへの「ロック待ちキャンセル」のアテンショ
ンがロストした場合は、第2のホストコンピュータ2に
は、ケース5と同様アンロック手段32がアテンション
を報告しなかったように見える。このため、第2のホス
トコンピュータ2はケース4と同様の処理を行う。すな
わち、最大監視時間X≦待ち時間になった時点で、タス
クbが「待ち時間オーバ」のアテンションを受け取り、
ロック待ち再試行要求を行う。ロック待ち再試行手段3
3がタスクbに「ロック待ちキャンセル」の旨を返却
し、ロック要求が打ち切りとなる。
【0054】このように、本実施例によれば、アンロッ
ク手段32からタスクbへの「ロック待ちキャンセル」
のアテンションがロストしても、ロック待ち再試行手段
33がタスクbに「ロック待ちキャンセル」の旨を返却
するので、例え、アンロック手段32のアテンション報
告機能に障害が発生しても、タスクbは、ロック待ちが
キャンセルになったことを検出することができる。
【0055】なお、本実施例では、ロック待ち状態記憶
手段23は同一ホストコンピュータ内の複数のタスクか
ら共有可能な場所に配置している。そして、図2のステ
ップA4,ステップA9,ステップA10,および図3
の区間B10の破線は、それぞれロック待ち状態記憶手
段23を排他使用していることを意味する。すなわち、
待ちタスク22によるロック待ち状態記憶手段23の登
録処理(ステップA4)、更新処理(ステップA9)、
削除処理(ステップA10)、およびロック待ち時間監
視手段24による検索/更新処理(区間B10)は逐次
化されており、同時実行されないことが保証されてい
る。
【0056】図7は本発明のロック待ち解除装置のハー
ドウェア構成例を示した図であり、タスク実行用のコン
ピュータ71,72と、排他制御用のコンピュータ73
と、記録媒体74〜76とから構成されている。コンピ
ュータ71,72はそれぞれ図1に示した第1,第2の
ホストコンピュータ1,2に相当し、コンピュータ73
は、図1に示した複数ホスト間排他制御手段3に相当す
る。また、各コンピュータ71〜73に接続されている
記録媒体74〜74はディスク,半導体メモリ,その他
の記録媒体であり、コンピュータ71〜73をロック待
ち解除装置として機能させるためのプログラムが記録さ
れている。
【0057】記録媒体74に記録されているプログラム
は、コンピュータ71によって読み取られ、その動作を
制御することでコンピュータ71上に、図1に示したロ
ック待ち時間監視手段14,経過時間監視手段15を実
現する。
【0058】また、記録媒体75に記録されているプロ
グラムは、コンピュータ72によって読み取られ、その
動作を制御することでコンピュータ72上に、図1に示
したロック待ち時間監視手段24,経過時間監視手段2
5を実現する。
【0059】更に、記録媒体76に記録されているプロ
グラムは、コンピュータ73によって読み取られ、コン
ピュータ73の動作を制御することで、コンピュータ7
3上に図1に示したロック手段31,アンロック手段3
2,ロック待ち再試行手段33を実現する。
【0060】
【発明の効果】以上説明したように、本発明によれば、
アンロック手段が共有資源の解放を待っているタスクに
対して行った「ロック成功」のアテンションが、アンロ
ック手段の障害等によりロストした場合であっても、上
記タスクの待ち時間が最大監視時間を超えると、ロック
待ち時間監視手段がそのタスクに対して「待ち時間オー
バ」のアテンションを報告し、このアテンションを受け
たタスクがロック待ち再試行要求を行い、これに応答し
てロック待ち再試行手段が、要求元のタスクに対して
「ロック成功」を通知するので、共有資源の解放を待っ
ているタスクは、共有資源が解放されたこと検出するこ
とができる。
【0061】また、本発明のロック待ち解除装置によれ
ば、アンロック手段がタスクに対して行った「ロック待
ちキャンセル」のアテンションの報告が、アンロック手
段の障害等によりロストした場合であっても、上記タス
クの待ち時間が最大監視時間を超えたら、ロック待ち時
間監視手段が、上記タスクに対して「待ち時間オーバ」
のアテンションを報告し、このアテンションを受けたタ
スクが、ロック待ち再試行要求を行い、これに応答して
ロック待ち再試行手段が、要求元のタスクに対して「ロ
ック待ちキャンセル」を通知するので、アンロック手段
の障害等により「ロック待ちキャンセル」のアテンショ
ンがロストした場合でも、それに対処することができ
る。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】タスクの処理例を示すフローチャートである。
【図3】ロック待ち時間監視手段14の処理例を示すフ
ローチャートである。
【図4】ロック手段31の処理例を示すフローチャート
である。
【図5】アンロック手段32の処理例を示すフローチャ
ートである。
【図6】ロック待ち再試行手段33の処理例を示すフロ
ーチャートである。
【図7】ロック待ち解除装置のハードウェア構成例を示
すブロック図である。
【図8】従来の技術のブロック図である。
【符号の説明】
1…第1のホストコンピュータ 11…ロックタスク 12…待ちタスク 13…ロック待ち状態記憶手段 14…ロック待ち時間監視手段 15…経過時間監視手段 2…第2のホストコンピュータ 21…ロックタスク 22…待ちタスク 23…ロック待ち状態記憶手段 24…ロック待ち時間監視手段 25…経過時間監視手段 31…ロック手段 32…アンロック手段 33…ロック待ち再試行手段 34…ロック待ちキュー 3…複数ホスト間排他制御手段

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 タスクからの共有資源に対するロック要
    求に応答して、前記共有資源が他のタスクによってロッ
    クされている場合は要求元のタスクに「ロック待ち」を
    通知し、ロックされていない場合は前記共有資源をロッ
    クすると共に要求元のタスクに「ロック成功」を通知す
    るロック手段と、 前記共有資源をロックしているタスクからの前記共有資
    源に対するアンロック要求に応答して、前記共有資源を
    アンロックした後、前記共有資源の解放を待っているタ
    スクの内の1つによって前記共有資源をロックし、更に
    前記共有資源をロックしたタスクの待ち時間が予め定め
    られているアテンション報告期間を超えていなければ、
    前記共有資源をロックしたタスクに対して「ロック成
    功」のアテンションを報告し、前記アテンション報告期
    間を超えていれば前記共有資源をロックしたタスクに対
    して「ロック成功」のアテンションを報告しないアンロ
    ック手段と、 前記共有資源の解放を待っているタスクの待ち時間が、
    前記アテンション報告期間よりも長い、予め定められて
    いる最大監視時間を超えたとき、前記タスクに対して
    「待ち時間オーバ」のアテンションを報告し前記タスク
    にロック待ち再試行要求を行わせるロック待ち時間監視
    手段と、 前記タスクが行ったロック待ち再試行要求に応答して、
    要求元のタスクが前記アンロック手段によって前記共有
    資源をロックするタスクにされている場合は前記要求元
    のタスクに「ロック成功」を通知し、そうでない場合は
    前記要求元のタスクに「再ロック待ち」を通知して前記
    要求元のタスクの待ち時間を初期値に戻すロック待ち再
    試行手段とを備えたことを特徴とするロック待ち解除装
    置。
  2. 【請求項2】 前記共有資源の解放を待っているタスク
    それぞれの待ち時間が登録されるロック待ち状態記憶手
    段を備え、且つ、 前記タスクは、前記ロック手段から「ロック待ち」が通
    知された場合、前記ロック待ち状態記憶手段に自タスク
    のタスクIDと待ち時間の初期値とを対応付けて登録す
    る構成を有し、 前記ロック待ち時間監視手段は、監視間隔毎に前記ロッ
    ク待ち状態記憶手段に登録されている各タスクの待ち時
    間を前記監視間隔ずつ増加させ、前記ロック待ち状態記
    憶手段に登録されている待ち時間が前記最大監視時間を
    超えたタスクに対して「待ち時間オーバ」のアテンショ
    ンを報告する構成を有することを特徴とする請求項
    載のロック待ち解除装置。
  3. 【請求項3】 前記監視間隔は前記アテンション報告期
    間よりも短いことを特徴とする請求項記載のロック待
    ち解除装置。
  4. 【請求項4】 ロック待ちアンロック要求を出力するロ
    ック待ち打ち切り手段を備え、且つ、 前記ロック手段は、「ロック待ち」を通知したタスクを
    示す情報をロック待ちキューに登録する構成を有し、 前記アンロック手段は、ロック待ちアンロック要求によ
    ってロック待ちを打ち切ることが要求されたタスクを示
    す情報を前記ロック待ちキューから外し、そのタスクの
    待ち時間が前記アテンション報告期間を経過していない
    場合に限り、前記タスクに対して「ロック待ちキャンセ
    ル」のアテンションを報告する構成を有し、 前記ロック待ち再試行手段は、ロック待ち再試行要求さ
    れたタスクがロック待ちがキャンセルされたタスクであ
    る場合は、前記タスクに「ロック待ちキャンセル」を通
    知する構成を有することを特徴とする請求項記載のロ
    ック待ち解除装置。
  5. 【請求項5】 前記共有資源は、複数のホストコンピュ
    ータ上のタスクによって共有されることを特徴とする請
    求項記載のロック待ち解除装置。
  6. 【請求項6】 タスク実行用のコンピュータと排他制御
    用のコンピュータとをロック待ち解除装置として機能さ
    せるためのプログラムを記録した機械読み取り可能な記
    録媒体であって、 前記排他制御用のコンピュータを、 タスクからの共有資源に対するロック要求に応答して、
    前記共有資源が他のタスクによってロックされている場
    合は要求元のタスクに「ロック待ち」を通知し、ロック
    されていない場合は前記共有資源をロックすると共に要
    求元のタスクに「ロック成功」を通知するロック手段、 前記共有資源をロックしているタスクからの前記共有資
    源に対するアンロック要求に応答して、前記共有資源を
    アンロックした後、前記共有資源の解放を待っているタ
    スクの内の1つによって前記共有資源をロックし、更に
    前記共有資源をロックしたタスクの待ち時間が予め定め
    られているアテンション報告期間を超えていなければ、
    前記共有資源をロックしたタスクに対して「ロック成
    功」のアテンションを報告し、前記アテンション報告期
    間を超えていれば、前記共有資源をロックしたタスクに
    対して「ロック成功」のアテンションを報告しないアン
    ロック手段、 前記タスクが行ったロック待ち再試行要求に応答して、
    要求元のタスクが前記アンロック手段によって前記共有
    資源をロックするタスクにされている場合は前記要求元
    のタスクに「ロック成功」を通知し、そうでない場合は
    前記要求元のタスクに「再ロック待ち」を通知して前記
    要求元のタスクの待ち時間を初期値に戻すロック待ち再
    試行手段として機能させ、 前記タスク実行用のコンピュータを、 前記共有資源の解放を待っているタスクの待ち時間が、
    前記アテンション報告期間よりも長い、予め定められて
    いる最大監視時間を超えたとき、前記タスクに対して
    「待ち時間オーバ」のアテンションを報告し前記タスク
    にロック待ち再試行要求を行わせるロック待ち時間監視
    手段として機能させるためのプログラムを記録した機械
    読み取り可能な記録媒体。
JP17670098A 1998-06-09 1998-06-09 ロック待ち解除装置及びプログラムを記録した機械読み取り可能な記録媒体 Expired - Fee Related JP3277888B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17670098A JP3277888B2 (ja) 1998-06-09 1998-06-09 ロック待ち解除装置及びプログラムを記録した機械読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17670098A JP3277888B2 (ja) 1998-06-09 1998-06-09 ロック待ち解除装置及びプログラムを記録した機械読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JPH11353285A JPH11353285A (ja) 1999-12-24
JP3277888B2 true JP3277888B2 (ja) 2002-04-22

Family

ID=16018225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17670098A Expired - Fee Related JP3277888B2 (ja) 1998-06-09 1998-06-09 ロック待ち解除装置及びプログラムを記録した機械読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP3277888B2 (ja)

Also Published As

Publication number Publication date
JPH11353285A (ja) 1999-12-24

Similar Documents

Publication Publication Date Title
US6681226B2 (en) Selective pessimistic locking for a concurrently updateable database
US5339427A (en) Method and apparatus for distributed locking of shared data, employing a central coupling facility
US5357612A (en) Mechanism for passing messages between several processors coupled through a shared intelligent memory
US6418542B1 (en) Critical signal thread
JPH086840A (ja) サーバ回復のためのディレクトリ操作の完了を判定する機構
US20080256550A1 (en) Parallel processing system by OS for single processor
EP1117042A2 (en) Emulation of persistent group reservations
EP1001343B1 (en) Highly available asynchronous I/O for clustered computer systems
JP5250955B2 (ja) データ処理システムのバックアップ制御装置及びシステム
JP3277888B2 (ja) ロック待ち解除装置及びプログラムを記録した機械読み取り可能な記録媒体
US6199105B1 (en) Recovery system for system coupling apparatuses, and recording medium recording recovery program
JPH0877025A (ja) タスクの優先度制御方法、タスクの優先度制御装置
JPH04361340A (ja) メモリ排他制御方式
JPH1139171A (ja) マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体
JP3206453B2 (ja) 共有ファイル更新制御方式
JP3039456B2 (ja) タスク管理システム及びタスク管理方法ならびにタスク管理プログラムを格納した記憶媒体
JP3603671B2 (ja) データ共有管理装置およびデータ共有管理方法
JP2933011B2 (ja) ファイルの排他制御システム
JP2001134338A (ja) ハイバネーション機能のユーザ管理方法及び情報処理装置
JP2001306380A (ja) 二相コミット回避方式およびそのプログラム記録媒体
JP3033509B2 (ja) トランザクションの遅延リカバリ方式、遅延リカバリ方法および遅延リカバリプログラムを記録した記録媒体
JP2999024B2 (ja) 子プロセスの終了待ち合わせ処理装置
JPH10289215A (ja) アプリケーションプログラム単位の現用予備切り替え機能を有するコンピュータシステム及びプログラムを記録した機械読み取り可能な記録媒体
JP2000181754A (ja) トランザクション処理システム及びトランザクション処理システムの制御プログラムを記録した媒体
JPH05241861A (ja) オペレーティングシステムの空きメモリ管理方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080215

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090215

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100215

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100215

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140215

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees