JP2000148714A - データ処理システム - Google Patents
データ処理システムInfo
- Publication number
- JP2000148714A JP2000148714A JP10318699A JP31869998A JP2000148714A JP 2000148714 A JP2000148714 A JP 2000148714A JP 10318699 A JP10318699 A JP 10318699A JP 31869998 A JP31869998 A JP 31869998A JP 2000148714 A JP2000148714 A JP 2000148714A
- Authority
- JP
- Japan
- Prior art keywords
- lock
- list
- manager
- request
- entry
- 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.)
- Pending
Links
Landscapes
- Multi Processors (AREA)
Abstract
外の通信手段を用いることなく、結合機構を使用したシ
ステム間のロック管理を実現すること。 【解決手段】ロック競合時の通信用リストと、ロック競
合時の通知先を登録するロック競合制御テーブルを備
え、ロックが競合してロック要求が失敗した場合に、通
信用リストにロック要求を書き込み、通信先のシステム
に受信データの到着を通知する。
Description
に係り、特に複数のシステム間で共有する資源のロック
管理に関する。
C)と、これらの処理装置により共用される結合機構
(構造化電子記憶機構:SES)と、それらを結合する
メッセージパスとからなるデータ処理システムに関する
従来技術として、例えば、特開平6−83783号公報
に記載された技術が知られている。
技術は、処理装置間のデータ排他制御、処理装置間のメ
ッセージ通信機能を持つ結合機構のリスト構造に関する
ものである。
管理を行うデータ処理システムに関する従来技術とし
て、例えば、米国特許第860,808号公報に記載さ
れた技術が知られている。
従来技術は、複数のMVSシステムによって構成される
シスプレックス環境で動作し、TLM(tailore
dlock manager:データベースマネージャ
ー固有のロック管理を行う)と、SLM(system
lockmanager:システム共通のロック管理
を行う)から構成されるローカルロックマネージャーを
持ったデータベースマネージャーと、結合機構上のリス
ト構造上でロック情報を管理するSESLM(SESロ
ックマネージャー)と、各システム上のSLM間の通信
手段によって実現される結合機構を用いた複数システム
間のロック管理に関するものである。
ルハッシュテーブルに基づくローカルレベルで処理さ
れ、可能であればこのレベルで共有資源へのアクセスが
許可または拒否される。必要があればSLMがSESL
Mと通信を行い、ロックテーブルとリストを含んだ結合
機構上のリスト構造内のロック情報を更新する。
した場合に、別のシステムが既に共用でロックを保持し
ている場合、SLMからSESLMへのロック要求が失
敗することによってロック競合を検出する。排他的にロ
ックを確保しようとしているシステムから、他のシステ
ムに対して、前述のSLM間の通信手段を用いて当該資
源がグローバル管理下に置かれる旨を通知して、各シス
テムのローカルレベルのロック情報を取得することによ
り、排他的にロックを要求しているシステムによってロ
ック情報がグローバルレベルで管理される。
ロック情報を管理する結合機構のリスト構造とは別に、
ロック競合が発生した場合に使用する各システムのSL
M間の通信手段を別に備えていなければならない。ま
た、ロック競合が生じた場合は、SLMからSESLM
へのロック要求が失敗することにより、ロック競合が発
生したことを検知した後、前記SLM間の通信手段を介
して、他のシステムのSLMへ競合の発生を通知してい
るが、この通知に伴うメッセージの送信処理はSLMの
数すなわちシステムの数に比例して増大する。
合機構のリスト構造以外に別の通信手段を用意すること
なく、結合機構を使用したシステム間のロック管理を実
現することにある。
競合の発生に伴い他のシステムのSLMへロック競合の
発生を通知した場合に、ロック競合を検知したシステム
からのメッセージ送信処理を削減し、SLMの数すなわ
ちシステムの数が増加した場合のオーバヘッドを軽減す
ることにある。
的は、SESLM内にメッセージ通信用リストを備え、
各システムのSLM間のメッセージ通信をSESLMを
経由して行うことにより達成される。さらに、SESL
M内にロック競合時の通信先を登録するロック競合制御
テーブルを備え、ロック競合が発生した場合に、ロック
要求を行ったSLMにロック競合の発生を応答するのと
同時に、他のシステムのSLMに対する通信用リストに
ロック競合の発生を通知するメッセージを含んだリスト
エントリを書き込み、通信先のシステムに受信データの
到着を通知することによって、ロック競合の発生を通知
するメッセージの送信処理を行う。
ック要求を行ったシステムが、ロック競合の応答を受信
した後に行っていた、他のシステムのSLMにロック競
合を通知するメッセージの送信を不要にすることにより
達成される。
して詳細に説明する。
る。本発明によるシステム構成は、複数のシステム10
0−1,100−2、共用データベース120および結
合機構110から構成される。システムは、共用データ
ベースにアクセスする複数のアプリケーションプログラ
ム(AP:101−1,101−2)、アプリケーショ
ンプログラムからのデータベースへのアクセスを制御す
るデータベースマネージャー(DBM:102−1,1
02−2)、データベース管理プログラムから共用デー
タベースに対するロック要求を受け付けるテーラードロ
ックマネージャー(TLM:103−1,103−
2)、TLMからのロック要求によってシステム間でロ
ックの制御を行うシステムロックマネージャー(SL
M:104−1,104−2)を含む。
ジャーから要求されたロック要求および通信要求の制御
を行う結合機構ロックマネージャー111を含む。
合機構ロックマネージャーSESLMとシステムロック
マネージャーSLMのテーブル構造を示した図である。
結合機構ロックマネージャーは、グローバルロックマネ
ージャー(GLM,201)とローカルロックマネージ
ャー(LLM,202)から構成される既存のロックテ
ーブル200と、リストセット210に、ロック競合制
御テーブル240が追加される。また、リストセットは
既存のロック情報格納用リスト211に、通信用リスト
212が追加される。リストはリストエントリ220か
ら構成される。また、送信用リストはリストモニターテ
ーブル230を含む。
効かどうかを示すフラグ241と通信用リストのリスト
番号242を含む。TLM250からSLM260へは
SLMパラメタリスト251によってロック要求が行わ
れる。SLMではロック要求をローカルハッシュテーブ
ル261またはグローバルハッシュテーブル262で監
理する。
機構ロックマネージャー内のテーブルの関連を示す図で
ある。ロックマネージャーからのロック要求300に
は、オプション指示子310が追加される。オプション
指示子にはグローバルロック競合通知指示子311とロ
ーカルロック競合指示子312を含む。ロック要求によ
ってロックテーブル200が比較され、更新されること
がある。
が更新され、ホルダーIDで指定されるロック情報格納
用リスト211にロック情報が登録される。ロック要求
が失敗すれば、ロックテーブルは更新される場合と更新
されない場合があり、オプション指示子の要求があれ
ば、ロック競合制御テーブル240から通信用リスト2
12のリスト番号を求めて、通信用リストにロック情報
が登録される。
順を示す図である。最初にロック要求の妥当性をチェッ
クし(処理401,402)、不当な要求の場合は要求
例外を示す応答コードでリターンする処理403。次に
ロックテーブル処理を実行する処理404。ロックテー
ブル処理では、米国特許第860,808号公報に記載
されているのと同様の処理が行われ、ロック要求中のエ
ントリ番号によって示されるロックテーブルエントリに
対して比較と置き換えが行われる。
クマネージャー比較が失敗する。GLMがゼロの場合
は、GLMにホルダーIDの値を書き込み、LLMが比
較される。LLMはビットストリングであり、最左を0
としてホルダーIDの値に相当するビット位置以外の全
てのビットを比較し、いずれか1ビットでもゼロでない
場合はローカルロックマネージャー比較が失敗し、全て
がゼロの場合はローカルロックマネージャー比較が成功
する。
した場合については、図5で説明する(処理405)。
ローカルロックマネージャー比較に失敗した場合につい
ては、図6で説明する(処理406)。グローバルロッ
クマネージャー比較およびローカルロックマネージャー
比較が成功した場合は、リストエントリの登録処理を行
う。新規のリストエントリの登録の場合は、新規にリス
トエントリを生成し、指定されたデータを書き込む(処
理407,408)、既存のリストエントリが存在する
場合は、指定されたデータにより更新する処理409。
以上の処理が完了した後、正常終了の応答コードでリタ
ーンする(処理410)。
較に失敗した場合の処理を示す図である。グローバルロ
ック競合通知要求311が指定されているかどうか判定
する処理501。指定されていなければ、グローバルロ
ックマネージャー比較失敗の応答コードでリターンする
(処理510)。指定されている場合は、GLMの値に
対応するロック競合制御テーブル240のエントリから
リスト通信用リスト番号242を求める(処理50
2)。
エントリの有無を判定し(処理503)、次に送信用リ
ストに空きがあるかどうかを判定する(処理505)。
空きリストエントリがなければセカンダリ応答コードと
してリストセットフルを設定してリターンする処理50
4,510。送信用リストに空きがなければ、セカンダ
リ応答コードとしてリストフルを設定し、リターンする
(処理506,510)。共に空きがあればリストエン
トリを生成し、指定されたデータを書き込む(処理50
7)。
送信するためのリストモニターが登録されているかどう
かをリストモニターテーブル230を参照して判定し、
登録されていればさらに登録されているリストエントリ
の数が1かどうかを判定する(処理508)。なぜなら
ば、リスト通知コマンドはリストにリストエントリが登
録されていない状態からリストエントリが登録された場
合に発行するためである。登録されているリストエント
リの数が1の場合はリスト通知コマンドを発行する(処
理509)。以上の処理が完了した後、グローバルロッ
クマネージャー比較失敗の応答コードでリターンする
(処理510)。
に失敗した場合の処理を示す図である。ローカルロック
競合通知要求312が指定されているかどうか判定する
(処理601)。指定されていなければ、ローカルロッ
クマネージャー比較失敗の応答コードでリターンする
(処理611)。指定されている場合は、ロック競合制
御テーブル240に登録されている有効エントリのう
ち、ホルダーID302で示すエントリ番号を除いた全
てのエントリのリスト番号242を求める(処理60
2)。
の空きエントリの有無を判定し(処理603)、次に各
送信用リストに空きがあるかどうかを判定する(処理6
05)。空きリストエントリがなければセカンダリ応答
コードとしてリストセットフルを設定してリターンする
(処理604,611)。送信用リストに空きがなけれ
ばセカンダリ応答コードとしてリストフルを設定し、リ
ターンする(処理606,611)。共に空きがあれば
リストエントリを生成し、指定されたデータを書き込む
(処理607)。
送信するリストモニターが登録されているかどうかをリ
ストモニターテーブル230を参照して判定し、登録さ
れていればさらに登録されているリストエントリの数が
1かどうかを判定する(処理608)。登録されている
リストエントリの数が1の場合はリスト通知コマンドを
発行する(処理609)。全てのリストエントリの処理
が完了していなければ処理607から繰り返す(処理6
10)。以上の処理が完了した後、グローバルロックマ
ネージャー比較失敗の応答コードでリターンする(処理
611)。
処理手順を示す図である。以下の説明中の既存のコマン
ドについては、特開平6−83783号公報を参照され
たい。最初にALSTコマンドによりSESLM用のリ
スト構造の割り当てを行う(処理701)。ALSTコ
マンドには、既存のロックテーブル200、リストセッ
ト210に加えて、ロック競合制御テーブル240を生
成するためにLSTオペランドのサブオペランドとして
LCCIオペランドが新設され、処理701ではLCC
Iオペランドを指定する。
SUコマンドによりユーザー登録を行い(処理70
2)、RLMコマンドによりリストモニター登録を行い
(処理703)、受信用リストの初期化のためにリスト
が空になるまでRDLEコマンドを発効する(処理70
4)。さらに、新規コマンドであるロック競合制御テー
ブル書き込みWLCCコマンドにより、受信用リスト番
号をロック競合制御テーブルへ登録する(処理70
5)。
理手順を示す図である。SLMパラメタリスト251で
示されるハッシュインデックスが使用中かどうか、ロー
カルハッシュテーブルをチェックする(処理801)。
使用中であればグローバル管理中かどうかチェックする
(処理802)。ローカル管理からグローバル管理へは
処理812および図9及び図10のロックエスカレーシ
ョンによって遷移する。グローバル管理中であれば、そ
のハッシュインデックスを管理しているSLM(グロー
バルマネージャーと呼ぶ)へシグナルを送信する(処理
803)。
インデックスの管理状態と同じ要求であるかチェックす
る(処理804)。同じ要求SHR状態でSHR要求が
行われた、またはEXCL状態の場合はローカルハッシ
ュテーブルに登録し(処理805)、TLMへリターン
する(処理806)。処理801で未使用の場合と、処
理804で異なる要求SHR状態でEXCL要求が行わ
れたの場合はSESLMのロックテーブルエントリを更
新する(処理807)。結果を判定し(処理808)、
更新が成功した場合はTLMへリターンする(処理80
9)。
かどうかを応答コードによりチェックする(処理81
0)。競合が発生していなければ、不当な要求としてエ
ラーリターンする(処理811)。競合が発生している
場合は、ロックエスカレーション処理を行い(処理81
2)、ローカルハッシュテーブルに登録し(処理81
3)、TLMにリターンする(処理809)。
ン処理については図9及び図10で詳細に説明する。そ
の他の処理の詳細については、米国特許第860,80
8号公報を参照されたい。
ョン処理を示すタイミングチャートである。最初にTL
M1から資源名RNAMEを共用SHRで確保する要求
が行われる901。SLM1はSESLMのロックテー
ブルエントリをSHR状態を書き込み902、TLM1
へロック確保成功を応答する903。
EXCLで確保する要求が行われる904。SLM2は
ロックテーブルエントリへのEXCL状態の書き込みと
レコードデータの書き込みを行う905。ロックテーブ
ルエントリへの書き込みを行う時に、ローカルロック競
合通知指示312を行う。ロックテーブルエントリはす
でにSHR状態であるためローカルロックマネージャー
比較に失敗し、SLM1への送信用リストにリストエン
トリが登録され、リスト通知が行われる。
ネージャー比較失敗を検知した後に従来行っていたSL
M1へのエスカレーションシグナルの送信処理が省略さ
れる。SLM2は応答コードよりロック競合の発生とエ
スカレーション通知が行われたことを検知する906。
SLM1ではリスト通知を受信し907、リストエント
リを読み出してエスカレーションシグナルを受信し90
8、ローカルハッシュテーブルからロック情報を読み出
してSLM2へSESLMを経由してエスカレーション
応答を送信する909。SLM2はリスト通知を受信し
910、リストエントリを読み出してエスカレーション
応答を受信し911、グローバルハッシュテーブルを構
築し912、以降のロックエスカレーションに伴う処理
を継続する913。
処理を行う場合についても、SESLMを経由してメッ
セージが送受信される。
ック情報を管理する結合機構のリスト構造以外の通信手
段を用いることなく、結合機構を使用したシステム間の
ロック管理を実現することができる。
ク競合を引き起こしたロック要求を行ったシステムから
他のシステムへロック競合の発生を通知するためのメッ
セージの送信が不要となるため、ロック競合に伴うメッ
セージの送信処理のオーバヘッドが削減され、SLMの
数すなわちシステムの数が増加した場合のオーバヘッド
が軽減される。
る。
である。
ネージャー内のテーブルの関連を示す図である。
ーチャートである。
場合の処理を示すフローチャートである。
合の処理を示すフローチャートである。
すフローチャートである。
フローチャートである。
チャートである。(その1)
グチャートである。(その2)
ータベース。
Claims (2)
- 【請求項1】1台以上のプロセッサ上の各プロセッサで
動作する複数のデータベースマネージャーと、前記各々
のデータベースマネージャーが持つローカルロックマネ
ージャーと、前記各々のローカルロックマネージャーと
接続されるグローバルロックマネージャーを持った結合
機構とを含んで構成され、前記データベースマネージャ
ーによって管理される共用データに対する、多数のトラ
ンザクションによるアクセスを管理するロック機構を保
持するデータ処理システムにおいて、 前記グローバルロックマネージャーは前記各々のローカ
ルロックマネージャー相互間の通信機能を備えているこ
とを特徴とするデータ処理システム。 - 【請求項2】前記グローバルロックマネージャーは、ロ
ック情報を管理するロックテーブル及びリストと、ロー
カルロックマネージャー相互間の通信のために使用する
リストと、ロック競合が発生した場合にリストエントリ
を登録するリストの番号を登録するロック競合制御テー
ブルを含んだリスト構造を持ち、ロック競合制御テーブ
ルの各エントリに対応するリストの番号を登録するコマ
ンドを持ち、各プロセッサ上のローカルロックマネージ
ャーからのロックテーブルエントリの更新を行うコマン
ドは、当該コマンドの実行時にロックテーブルエントリ
の比較に失敗した場合に、ロック競合制御テーブルに登
録されているリストにリストエントリを登録するか否か
を選択する要求指示子を持ち、当該コマンドの実行時に
ロックテーブルエントリの比較に失敗し、前記要求指示
子の指定がある場合に、ロック競合制御テーブルに登録
されているリストにリストエントリを登録し、当該リス
トにリストモニターが登録されていてかつリスト状態が
遷移した場合に、リスト通知を行うことを特徴とする請
求項1記載のデータ処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10318699A JP2000148714A (ja) | 1998-11-10 | 1998-11-10 | データ処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10318699A JP2000148714A (ja) | 1998-11-10 | 1998-11-10 | データ処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000148714A true JP2000148714A (ja) | 2000-05-30 |
Family
ID=18102024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10318699A Pending JP2000148714A (ja) | 1998-11-10 | 1998-11-10 | データ処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000148714A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7096325B2 (en) | 2004-03-29 | 2006-08-22 | Hitachi, Ltd. | Method and apparatus for multistage volume locking |
-
1998
- 1998-11-10 JP JP10318699A patent/JP2000148714A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7096325B2 (en) | 2004-03-29 | 2006-08-22 | Hitachi, Ltd. | Method and apparatus for multistage volume locking |
US7197609B2 (en) * | 2004-03-29 | 2007-03-27 | Hitachi, Ltd. | Method and apparatus for multistage volume locking |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1979814B1 (en) | Adaptive region locking | |
US6539446B1 (en) | Resource locking approach | |
CN101595668B (zh) | 建立协调定时网络中的服务器之间的逻辑路径的方法和系统 | |
EP0447038B1 (en) | A system for establishing a communication path in a closely coupled computer system | |
US5604863A (en) | Method for coordinating executing programs in a data processing system | |
US5878205A (en) | Method and system for processing complex recovery using polling signals in a shared medium | |
EP0127772B1 (en) | Method and apparatus for processing messages in a computing system | |
US5790788A (en) | Managing group events by a name server for a group of processors in a distributed computing environment | |
US5416921A (en) | Apparatus and accompanying method for use in a sysplex environment for performing escalated isolation of a sysplex component in the event of a failure | |
US7392335B2 (en) | Anticipatory changes to resources managed by locks | |
US20070078911A1 (en) | Replicating data across the nodes in a cluster environment | |
JP4098233B2 (ja) | マルチノードシステム内でのデータおよびロック転送中の呼出し時間およびメッセージトラフィックの減少 | |
CA2252261C (en) | A high availability asynchronous computer system | |
CA2606457C (en) | Techniques for handling inconsistencies in enqueue lock information | |
JP3255759B2 (ja) | マルチプロセッサシステム | |
JP2000148714A (ja) | データ処理システム | |
JPH06348512A (ja) | 資源管理コンピュータ・システム | |
CN101523352A (zh) | 用于并发控制的持久锁/资源 | |
CN114285865B (zh) | 共享云硬盘的访问权限控制系统 | |
JPH08278953A (ja) | 計算機システムにおける排他制御方式 | |
EP0483347B1 (en) | Queue-based inter-process communications system for digital data processing system | |
JP2000003333A (ja) | クライアント・サーバ・システム及び記録媒体 | |
JPH11353197A (ja) | 共有プール資源制御方式 | |
JPH05334266A (ja) | サーバ・クライアントモデルの処理装置 | |
JPH05334163A (ja) | 複数システム間共用メモリ排他制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080308 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090308 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 8 Free format text: PAYMENT UNTIL: 20100308 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100308 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110308 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120308 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130308 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130308 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 12 Free format text: PAYMENT UNTIL: 20140308 |