JPH01211140A - データ資源アクセス方法 - Google Patents
データ資源アクセス方法Info
- Publication number
- JPH01211140A JPH01211140A JP63318658A JP31865888A JPH01211140A JP H01211140 A JPH01211140 A JP H01211140A JP 63318658 A JP63318658 A JP 63318658A JP 31865888 A JP31865888 A JP 31865888A JP H01211140 A JPH01211140 A JP H01211140A
- Authority
- JP
- Japan
- Prior art keywords
- lock
- resource
- rlm
- data
- request
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は同時に1つの又は2つ以上のプログラムを実行
する汎用ディジタル計算システムを動作させる方法に関
する。更に詳細に説明すれば1本発明は任意のアクセス
される資源の情報状態の複製物間のコヒーレンシーを維
持しながら選択的にロック可能なデータ資源に対し並行
的に実行するプロセスのスループットを増大させること
に関する。
する汎用ディジタル計算システムを動作させる方法に関
する。更に詳細に説明すれば1本発明は任意のアクセス
される資源の情報状態の複製物間のコヒーレンシーを維
持しながら選択的にロック可能なデータ資源に対し並行
的に実行するプロセスのスループットを増大させること
に関する。
B、従来技術
多くの作業単位またはサブタスクが同じレコードのアク
セスを共有する必要があるハイエンドのデータ共有シス
テムでは、最短応答時間が得られることが保証されるよ
うにレコード/データに対する並行アクセスを管理する
必要がある。短かい応答時間はマルチプログラミング・
レベルを低下させ、該システムにおける他の資源との競
合を減する。データを共有するシステム数が2つ以上に
なると適切な管理の必要性はずっと大きくなる。
セスを共有する必要があるハイエンドのデータ共有シス
テムでは、最短応答時間が得られることが保証されるよ
うにレコード/データに対する並行アクセスを管理する
必要がある。短かい応答時間はマルチプログラミング・
レベルを低下させ、該システムにおける他の資源との競
合を減する。データを共有するシステム数が2つ以上に
なると適切な管理の必要性はずっと大きくなる。
ハイエンド・システムではデータベースl10(入力/
出力)は遅延原因のかなりの部分を構成する。I10遅
延は2つの主要な源から発生する。
出力)は遅延原因のかなりの部分を構成する。I10遅
延は2つの主要な源から発生する。
第一は記憶されている媒体(ディスク)からのデータブ
ロックの読取りに関する遅延である。第二は1つのシス
テムがデータブロックを変更(更新)し[ブロック無効
化]、それにより複製されたコピーを無効にするときの
他のユーザーへの通報に関する遅延である。
ロックの読取りに関する遅延である。第二は1つのシス
テムがデータブロックを変更(更新)し[ブロック無効
化]、それにより複製されたコピーを無効にするときの
他のユーザーへの通報に関する遅延である。
データ資源の共有を管理する1つの従来の方法はオバー
マーク (Obermarck)、外による米国特許第
4399504号に開示されている。この方法−2つの
システムがデータ共有に関係する場合に最も効率的であ
る−は、資源のロックを獲得し開放するためにIBM情
報管理システム(IMS/VS)バージョン1をIMS
/VS資源り、/り・マネジャー(IRLM)と共に用
いる。 IMS/VSプロセス/ユーザーがそのIR
LMを要求すると、IRLMは通信を伴わずに要求を許
可することができるかどうかを調べる。もしそうなら、
要求は直ちに処理され、プロセス/ユーザーは続行する
ことが許可される。もし通信が要求されるなら、要求は
送信のためキューされ、資源が開放されて要求が再開始
できるようになるまでプロセス/ユーザーは延期される
。IBM3084システム対の場合には、遅延は3〜2
3ミリ秒の範囲になることがある。
マーク (Obermarck)、外による米国特許第
4399504号に開示されている。この方法−2つの
システムがデータ共有に関係する場合に最も効率的であ
る−は、資源のロックを獲得し開放するためにIBM情
報管理システム(IMS/VS)バージョン1をIMS
/VS資源り、/り・マネジャー(IRLM)と共に用
いる。 IMS/VSプロセス/ユーザーがそのIR
LMを要求すると、IRLMは通信を伴わずに要求を許
可することができるかどうかを調べる。もしそうなら、
要求は直ちに処理され、プロセス/ユーザーは続行する
ことが許可される。もし通信が要求されるなら、要求は
送信のためキューされ、資源が開放されて要求が再開始
できるようになるまでプロセス/ユーザーは延期される
。IBM3084システム対の場合には、遅延は3〜2
3ミリ秒の範囲になることがある。
C1発明が解決しようとする問題点
該方法は単一の更新者と複数の同時読取者を許可する。
しかしながら、資源を更新するプロセス/ユーザーは、
他のシステムが古いバージョンからのデータを使用する
のを妨げるために、該更新を他のシステムにも利用可能
にしなければならない、この要求は第3図に関連して明
白に示すように幾つかの問題を生ずる。第3図はプロセ
ス/ユーザーが共有資源上のレコードを更新するのを許
可するのに必要な従来技術の簡略化されたステップのシ
ーケンスを表わす、プロセス/ユーザーが存在するシス
テムは、最初にロック(100)を取得し、所望のレコ
ードを含むブロックをDASDからバッファ(102)
に読込まなければならない、そしてプロセス/ユーザー
は、その更新、を開始する前に、バッファされたブロッ
クでそれ自身のロック(104)を取得する。プロセス
/ユーザーが同じブロックで複数のレコードを更新しな
ければならないとき1つの問題が生ずる。
他のシステムが古いバージョンからのデータを使用する
のを妨げるために、該更新を他のシステムにも利用可能
にしなければならない、この要求は第3図に関連して明
白に示すように幾つかの問題を生ずる。第3図はプロセ
ス/ユーザーが共有資源上のレコードを更新するのを許
可するのに必要な従来技術の簡略化されたステップのシ
ーケンスを表わす、プロセス/ユーザーが存在するシス
テムは、最初にロック(100)を取得し、所望のレコ
ードを含むブロックをDASDからバッファ(102)
に読込まなければならない、そしてプロセス/ユーザー
は、その更新、を開始する前に、バッファされたブロッ
クでそれ自身のロック(104)を取得する。プロセス
/ユーザーが同じブロックで複数のレコードを更新しな
ければならないとき1つの問題が生ずる。
例えば、前述のように、もし幾つかのプロセス/ユーザ
ーが同じブロックでレコードを更新しなければならない
なら、上記米国特許に記載の方法は各プロセス/ユーザ
ーが該ブロックで該レコードを更新することを必要とす
る。各プロセス/ユーザーがコミットする前に、該方法
は更新されたブロックがDASD (112)に再書込
みされ。
ーが同じブロックでレコードを更新しなければならない
なら、上記米国特許に記載の方法は各プロセス/ユーザ
ーが該ブロックで該レコードを更新することを必要とす
る。各プロセス/ユーザーがコミットする前に、該方法
は更新されたブロックがDASD (112)に再書込
みされ。
同じブロック(複製物)の他の保持者に、該ブロックが
変更されていることを示す回報メツセージ(110)が
後続することを必要とする。この事象シーケンスはブロ
ックを更新するプロセス/ユーザー毎に反復される。
変更されていることを示す回報メツセージ(110)が
後続することを必要とする。この事象シーケンスはブロ
ックを更新するプロセス/ユーザー毎に反復される。
IMS/VSによって使用される上記米国特許記載の方
法は”コミットを強制する”方式とじて記述されている
ものである。前述のように、該方式は更新を行なうシス
テムに強制してDASDに変更されたブロックを書込み
、無効メツセージを他のシステムに送出し、肯定応答を
待ってからプロセス/ユーザーがそれ以後の更新を続け
るのを許可する。同じブロックに対し複数の更新を要す
るプロセスの場合には、ユーザーは一般にDASD書込
み毎に最小限平均25ミリ秒のDASDアクセス時間の
費用を支払わなければならない。
法は”コミットを強制する”方式とじて記述されている
ものである。前述のように、該方式は更新を行なうシス
テムに強制してDASDに変更されたブロックを書込み
、無効メツセージを他のシステムに送出し、肯定応答を
待ってからプロセス/ユーザーがそれ以後の更新を続け
るのを許可する。同じブロックに対し複数の更新を要す
るプロセスの場合には、ユーザーは一般にDASD書込
み毎に最小限平均25ミリ秒のDASDアクセス時間の
費用を支払わなければならない。
各ブロックのコピーを保持するシステムのリストが維持
されるデータ共有システムのバッファ・プールを管理す
る従来技術の方法はIBM技術報告 (Technic
al Bulletin)、ダイアス (Dias)、
”同時制御の統合に関する設計及び分析(Design
andAnalysis of Integrate
d Concurrency Controi)”、V
ol、18.NO,5,1986年3月、p、4642
に記載されている。ダイアスのロック・マネジャーは記
憶装置にあるブロックの有効なコピーを保持するシステ
ムのリストを含む、この方法はバッファ・プールでブロ
ックを検査する前にプロセス/ユーザーがブロック上の
共有ロックを取得することを必要とする。ロック・マネ
ジャーは記憶装置にバッファされたブロックが有効であ
るかどうかを示す、もしブロックが有効ではないことが
わかれば、最新レベルのブロックがバッファ・プールに
あることを保証するため、バッファ・マネジャーはブロ
ックを再読取りする。ブロックを更新するには、プロセ
ス/ユーザーは該ブロックに排他的ロックを保持しなけ
ればならない、それは、コミット(更新)時刻に、”有
効なコピーを有する°“リストから全ての他のシステム
を除去する要求をロック・マネジャーに送り、その排他
的ロックを開放する。該方法は全てのロックが他のシス
テムとの通信を必要とするという欠点がある。その結果
、プロセスはメツセージの伝達のための余分な遅延及び
−時停止/再開始のための余分な経路長を伴うことにな
る。もう1つの不利点はロッキングがブロック・レベル
で実行されなければならないので異なるプロセス/ユー
ザーによる同じブロックの同時読取り及び更新はたとえ
プロセスが同じシステムでランしていても許可されない
ことである。
されるデータ共有システムのバッファ・プールを管理す
る従来技術の方法はIBM技術報告 (Technic
al Bulletin)、ダイアス (Dias)、
”同時制御の統合に関する設計及び分析(Design
andAnalysis of Integrate
d Concurrency Controi)”、V
ol、18.NO,5,1986年3月、p、4642
に記載されている。ダイアスのロック・マネジャーは記
憶装置にあるブロックの有効なコピーを保持するシステ
ムのリストを含む、この方法はバッファ・プールでブロ
ックを検査する前にプロセス/ユーザーがブロック上の
共有ロックを取得することを必要とする。ロック・マネ
ジャーは記憶装置にバッファされたブロックが有効であ
るかどうかを示す、もしブロックが有効ではないことが
わかれば、最新レベルのブロックがバッファ・プールに
あることを保証するため、バッファ・マネジャーはブロ
ックを再読取りする。ブロックを更新するには、プロセ
ス/ユーザーは該ブロックに排他的ロックを保持しなけ
ればならない、それは、コミット(更新)時刻に、”有
効なコピーを有する°“リストから全ての他のシステム
を除去する要求をロック・マネジャーに送り、その排他
的ロックを開放する。該方法は全てのロックが他のシス
テムとの通信を必要とするという欠点がある。その結果
、プロセスはメツセージの伝達のための余分な遅延及び
−時停止/再開始のための余分な経路長を伴うことにな
る。もう1つの不利点はロッキングがブロック・レベル
で実行されなければならないので異なるプロセス/ユー
ザーによる同じブロックの同時読取り及び更新はたとえ
プロセスが同じシステムでランしていても許可されない
ことである。
D0問題点を解決するための手段
本発明の目的は同じか又は異なる中央電子システムで複
数のユーザーによるデータ資源の同時アクセスを制御す
る方法を改善することである。
数のユーザーによるデータ資源の同時アクセスを制御す
る方法を改善することである。
更に本発明の目的はアクセスされた資源の情報状態の複
製物間のコヒーレンシーを維持しながらデータ資源の選
択的にロック可能な部分に対し同時に実行するプロセス
のスループットを大きくすることである。
製物間のコヒーレンシーを維持しながらデータ資源の選
択的にロック可能な部分に対し同時に実行するプロセス
のスループットを大きくすることである。
更に本発明の目的はN経路のデータ共有におけるレコー
ドのロック及びバッファの無効化を効率的に支援し、ト
ランザクション優先の環境で資源の変更の通知及びロッ
クを保持する他のプロセスとの調整を続行することであ
る。
ドのロック及びバッファの無効化を効率的に支援し、ト
ランザクション優先の環境で資源の変更の通知及びロッ
クを保持する他のプロセスとの調整を続行することであ
る。
更に本発明の目的はロックにより同期されているデータ
の処理と並行するロック要求にサービスすることである
。
の処理と並行するロック要求にサービスすることである
。
前記及びその他の目的、特徴及び利点は本明細書で開示
される方法により実現される。共有データ資源(即ちデ
ータ・ブロック)のアクセスを要求する複数のユーザー
は該資源の読取りないしは書込みロックを要求する必要
がある。一般に、本発明に従って、たとえブロックがユ
ーザーの一人によって更新中のプロセスにあっても、複
数ユーザーは同時に同じブロックに対し読取りアクセス
することができる。しかしながら、該ブロックの更新ロ
ックを保持するシステムのユーザーしか該ブロックを更
新することができない、更に詳、IJllに説明すれば
、所与のロック要求に応答して、要求しているプロセス
/ユーザーが存在するシステムの資源における利害関係
状態(即ちUPDATE又はREAD)を確立する判定
動作が開始される。この判定動作は資源をアクセスしシ
ステム内の資源の所望の部分をバッファするのに必要な
動作と並行する1次いで処理が開始され要求元のユーザ
ーに対するロック要求を選択的に許可ないしは拒否する
。
される方法により実現される。共有データ資源(即ちデ
ータ・ブロック)のアクセスを要求する複数のユーザー
は該資源の読取りないしは書込みロックを要求する必要
がある。一般に、本発明に従って、たとえブロックがユ
ーザーの一人によって更新中のプロセスにあっても、複
数ユーザーは同時に同じブロックに対し読取りアクセス
することができる。しかしながら、該ブロックの更新ロ
ックを保持するシステムのユーザーしか該ブロックを更
新することができない、更に詳、IJllに説明すれば
、所与のロック要求に応答して、要求しているプロセス
/ユーザーが存在するシステムの資源における利害関係
状態(即ちUPDATE又はREAD)を確立する判定
動作が開始される。この判定動作は資源をアクセスしシ
ステム内の資源の所望の部分をバッファするのに必要な
動作と並行する1次いで処理が開始され要求元のユーザ
ーに対するロック要求を選択的に許可ないしは拒否する
。
もし処理が更新ロックの許可を生ずるなら、システムは
バッファされた資源にメツセージを付与し、該バッファ
された資源を要求している他のシステムのリストを作成
・維持且つ更新する。該バッファされた資源の更新は資
源ロック・マネジャーに報告する。該マネジャーは更新
されたシステムのリストを用いて、該バッファされた資
源の複製物を保持している各システムに資源変更の通知
を回報通信する。資源をバッファしているシステムは。
バッファされた資源にメツセージを付与し、該バッファ
された資源を要求している他のシステムのリストを作成
・維持且つ更新する。該バッファされた資源の更新は資
源ロック・マネジャーに報告する。該マネジャーは更新
されたシステムのリストを用いて、該バッファされた資
源の複製物を保持している各システムに資源変更の通知
を回報通信する。資源をバッファしているシステムは。
同報通信されたメツセージの受領の肯定応答を受取ると
、該データ資源の部分のロックを開放する。
、該データ資源の部分のロックを開放する。
E、実施例
本発明は記憶装置1通信及び計算機能のような計算資源
の最適利用にもかかわらず完全性及び障害からの回復可
能性を維持しながらデータ資源を共有する汎用コンピュ
ータを動作させる方法を提供する。
の最適利用にもかかわらず完全性及び障害からの回復可
能性を維持しながらデータ資源を共有する汎用コンピュ
ータを動作させる方法を提供する。
第2図は直接アクセス記憶装置(DASD)13.14
に記憶されたデータのアクセスを共有する最大Nの中央
電子システム(CEC)11.12 (fm略化のため
2つのシステムだけを示す)を含むことがある典型的な
システムを表わす、各システム11.12内にはホスト
・オペレーティング・システム21,22;少なくとも
1つの管理システム/トランザクション・プロセッサ3
1〜34:管理システム/トランザクション・プロセッ
サ毎のバッファ・プール41〜44:データベース回復
制御(DBRC)システム51.52;及び資源ロック
・マネジャー(RLM)61.62を含む多数のデータ
記憶及びプログラム領域を有する実アドレス空間又は仮
想アドレス空間がある。
に記憶されたデータのアクセスを共有する最大Nの中央
電子システム(CEC)11.12 (fm略化のため
2つのシステムだけを示す)を含むことがある典型的な
システムを表わす、各システム11.12内にはホスト
・オペレーティング・システム21,22;少なくとも
1つの管理システム/トランザクション・プロセッサ3
1〜34:管理システム/トランザクション・プロセッ
サ毎のバッファ・プール41〜44:データベース回復
制御(DBRC)システム51.52;及び資源ロック
・マネジャー(RLM)61.62を含む多数のデータ
記憶及びプログラム領域を有する実アドレス空間又は仮
想アドレス空間がある。
各管理システム/トランザクション・プロセッサ31〜
34はトランザクション・ログ・ディスクの1つと通信
するのに適合する。システム11.12は通信制御装置
により(または代りにチャネル対チャネルのアダプタに
より)相互接続され、共有DASD13.14及び制御
データセット57を介して疎結合される。
34はトランザクション・ログ・ディスクの1つと通信
するのに適合する。システム11.12は通信制御装置
により(または代りにチャネル対チャネルのアダプタに
より)相互接続され、共有DASD13.14及び制御
データセット57を介して疎結合される。
各CEC11,12は一主記憶及び仮想記憶装置、並び
に必要なチャネル及び周辺装置と共に−IBM3084
ないしは18Mシステム/370のような汎用中央処理
装置から成る。その構成はG、M、アムダール(Amd
ahl)、外の米国特許第3400371号に記載され
ている。
に必要なチャネル及び周辺装置と共に−IBM3084
ないしは18Mシステム/370のような汎用中央処理
装置から成る。その構成はG、M、アムダール(Amd
ahl)、外の米国特許第3400371号に記載され
ている。
各システム11.12は18Mシステム/370 MV
Sオペレーティング・システムのようなオペレーティン
グ・システム21.22の制御の下に動作する。管理シ
ステム/トランザクション・プロセッサ31〜34はそ
れぞれのオペレーティング・システムの制御の下に実行
し、通信制御装置27−例えば、IBM3705通信制
御装置かもしれない−とのインタフェースに、これらの
オペレーティング・システム機構を利用する。
Sオペレーティング・システムのようなオペレーティン
グ・システム21.22の制御の下に動作する。管理シ
ステム/トランザクション・プロセッサ31〜34はそ
れぞれのオペレーティング・システムの制御の下に実行
し、通信制御装置27−例えば、IBM3705通信制
御装置かもしれない−とのインタフェースに、これらの
オペレーティング・システム機構を利用する。
各CECのDBRCモジュール51.52はIBM33
50のような直接アクセス記憶装置に存在することがあ
る制御データ・セット57を共有する。 DBRCの例
はカー(Carr)、外の米国特許第4480304号
に記載された発明により計算システムを作動させるよう
に変更されたIBM INS/VSデータベース回復制
御機構である。
50のような直接アクセス記憶装置に存在することがあ
る制御データ・セット57を共有する。 DBRCの例
はカー(Carr)、外の米国特許第4480304号
に記載された発明により計算システムを作動させるよう
に変更されたIBM INS/VSデータベース回復制
御機構である。
第2図により、2つのCECII、12を含む典型的な
計算システムの動作について説明する。障害状態は存在
しないものと仮定すると、多重プログラミング環境で各
CEC−それぞれは管理システム/トランザクション・
プロセッサ31〜34の制御下にある−の少なくとも1
つのアプリケーション・プログラム(図示せず)が実行
される。
計算システムの動作について説明する。障害状態は存在
しないものと仮定すると、多重プログラミング環境で各
CEC−それぞれは管理システム/トランザクション・
プロセッサ31〜34の制御下にある−の少なくとも1
つのアプリケーション・プログラム(図示せず)が実行
される。
例えば管理システム/トランザクション・プロセッサ3
1の制御の下に実行するプロセス/ユーザーが、例えば
0ASD13に存在するデータ資源の一部分のアクセス
を必要とするとき、管理システム/トランザクション・
プロセッサ31は、制御経路35で示すような、対応す
るRLM61との通信のためロック要求を起こす、ロッ
ク要求はUPDATEロック要求ないしは5HAREロ
ツク要求から成ることがある。
1の制御の下に実行するプロセス/ユーザーが、例えば
0ASD13に存在するデータ資源の一部分のアクセス
を必要とするとき、管理システム/トランザクション・
プロセッサ31は、制御経路35で示すような、対応す
るRLM61との通信のためロック要求を起こす、ロッ
ク要求はUPDATEロック要求ないしは5HAREロ
ツク要求から成ることがある。
UPDATEロックは資源が変更される場合に要求され
、5HAREロツクは読取りの場合に要求される。
、5HAREロツクは読取りの場合に要求される。
ロック要求を処理する際、RLM61は利害関係マネジ
ャー(IM)10により制御/データ経路25.21.
23.27.24.22.26に沿ってRLM62と通
信することができる。 RLMはロックを要求するとき
非同期ロック方式を利用する。これはシステムがDAS
D13からブロックを読取るために支払わなければなら
ない遅延とロックを得るのに関連した応答時間遅延とを
オ−バッファすることを可能にする。非同期方式を用い
る場合、ロック要求を解決するのにもしプロセッサ間の
通信が必要ならRLM 61は即値表示を管理システム
/トランザクション・プロセッサ31に返送する。
ャー(IM)10により制御/データ経路25.21.
23.27.24.22.26に沿ってRLM62と通
信することができる。 RLMはロックを要求するとき
非同期ロック方式を利用する。これはシステムがDAS
D13からブロックを読取るために支払わなければなら
ない遅延とロックを得るのに関連した応答時間遅延とを
オ−バッファすることを可能にする。非同期方式を用い
る場合、ロック要求を解決するのにもしプロセッサ間の
通信が必要ならRLM 61は即値表示を管理システム
/トランザクション・プロセッサ31に返送する。
ロック要求が終了すると、非同期要求の発行者−本実施
例では管理システム/トランザクション・プロセッサ3
1−はRLM61により動作の続行を許可され、該要求
が成功したか失敗したかが通知される。その結果、管理
システム/トランザクション・プロセッサは必要とする
所望の資源の該部分を物理的に読取り、システム内にバ
ッファする動作を開始することができる。プロセッサ間
の通信を必要とするか避けられるかの状態については、
ロックを許可するステップに関連してあとで詳細に説明
する。システムのIMIOに1つの事例がある。各RL
M61.62はIMIOとの通信セツションを確立する
。 IMIOはRLM61.62の間のロックを調停す
る。
例では管理システム/トランザクション・プロセッサ3
1−はRLM61により動作の続行を許可され、該要求
が成功したか失敗したかが通知される。その結果、管理
システム/トランザクション・プロセッサは必要とする
所望の資源の該部分を物理的に読取り、システム内にバ
ッファする動作を開始することができる。プロセッサ間
の通信を必要とするか避けられるかの状態については、
ロックを許可するステップに関連してあとで詳細に説明
する。システムのIMIOに1つの事例がある。各RL
M61.62はIMIOとの通信セツションを確立する
。 IMIOはRLM61.62の間のロックを調停す
る。
各RLM61.62は仮想記憶装置の詳細なロック情報
の表を維持する。 IMIOもそれ自身のロック表を仮
想記憶装置に維持し、個々のトランザクション・レベル
でよりもRLMレベルでロック所有権を追跡する。
の表を維持する。 IMIOもそれ自身のロック表を仮
想記憶装置に維持し、個々のトランザクション・レベル
でよりもRLMレベルでロック所有権を追跡する。
ロック要求がIMIOへのメツセージ送信を要求すると
、RLM61.62は通常は要求元のプログラムに待機
するよう告げる。要求処理が完了すると、RLM61゜
62は要求者に再開するように告げる。非同期ロックに
より、 RLM61.62は要求者にいつ■旧Oへのメ
ツセージが必要かを告げ、該結果の要求者に■旧Oから
の応答がいつ返送されるかを知らせる。
、RLM61.62は通常は要求元のプログラムに待機
するよう告げる。要求処理が完了すると、RLM61゜
62は要求者に再開するように告げる。非同期ロックに
より、 RLM61.62は要求者にいつ■旧Oへのメ
ツセージが必要かを告げ、該結果の要求者に■旧Oから
の応答がいつ返送されるかを知らせる。
非同期のロック要求を実現する重要な局面はロック要求
処理が過去のある時点でロック表の状態に対して実行さ
れなければならないことである。
処理が過去のある時点でロック表の状態に対して実行さ
れなければならないことである。
例えば、もしプロセッサAが時刻T1でオブジェクトに
対する更新ロックを取得し時刻T2でそれを開放するな
ら、たとえ実際の処理が時刻T2後に生ずる場合でも、
そのオブジェクトに対し時刻T1とT2の間で行なわれ
るロック要求はどれも拒否されなければならない。
対する更新ロックを取得し時刻T2でそれを開放するな
ら、たとえ実際の処理が時刻T2後に生ずる場合でも、
そのオブジェクトに対し時刻T1とT2の間で行なわれ
るロック要求はどれも拒否されなければならない。
それ以後のロック要求の処理を可能にするためには、こ
の方式はロック活動記録と呼ばれる、保持された過去の
ロックの符号化に依存する。該記録は、それが控えめで
ある(即ち、該記録よりも多くのロックが保持されてい
てもよいが、該記録よりも少ないロックが保持されては
ならないことを意味する)限り、不正確であっても許さ
れる。
の方式はロック活動記録と呼ばれる、保持された過去の
ロックの符号化に依存する。該記録は、それが控えめで
ある(即ち、該記録よりも多くのロックが保持されてい
てもよいが、該記録よりも少ないロックが保持されては
ならないことを意味する)限り、不正確であっても許さ
れる。
正確さが低い活動記録の場合には、空間オーバヘッドが
少なくなり、より簡単なアルゴリズムを用いて要求を検
査することができる。正確さが高い活動記録の場合には
、許可されているべき要求を拒否する見込みが少なくな
る。ロック活動記録は複数のプロセッサ間で比較される
時刻ステップを含むので、ある種のクロック同期が必要
である。
少なくなり、より簡単なアルゴリズムを用いて要求を検
査することができる。正確さが高い活動記録の場合には
、許可されているべき要求を拒否する見込みが少なくな
る。ロック活動記録は複数のプロセッサ間で比較される
時刻ステップを含むので、ある種のクロック同期が必要
である。
非同期ロック・アルゴリズムは3つの構成要素:同期論
理クロック、保持されたロックの過去の状態を符号化す
る手段、及び互換性を検査する手段から成る。これらの
3つの構成要素について以下に説明する。
理クロック、保持されたロックの過去の状態を符号化す
る手段、及び互換性を検査する手段から成る。これらの
3つの構成要素について以下に説明する。
同期論理クロックは整合された時間の表示を維持するの
に使用される。該クロックはTM(利害関係マネジャー
)によって制御される。メツセージがRLM (資源
ロック・マネジャー)に送られる毎に、 IMはクロッ
クを増訂数し、その結果をメツセージに記憶する。
に使用される。該クロックはTM(利害関係マネジャー
)によって制御される。メツセージがRLM (資源
ロック・マネジャー)に送られる毎に、 IMはクロッ
クを増訂数し、その結果をメツセージに記憶する。
RLMはI14からメツセージを受取ると、入ってくる
クロック値とそれ自身のクロックを比較する。
クロック値とそれ自身のクロックを比較する。
もし入ってくる値の方が大きければ、その値は新しいク
ロック値として記憶される。 RLMは他の方法でその
クロック値を変えることはない。
ロック値として記憶される。 RLMは他の方法でその
クロック値を変えることはない。
このクロック・アルゴリズムの結果、IMのクロックの
値は常に少なくともRLMのクロックの値と同じ大きさ
である。この特性は非同期のロック・アルゴリズムの正
確さにとって非常に重要である。
値は常に少なくともRLMのクロックの値と同じ大きさ
である。この特性は非同期のロック・アルゴリズムの正
確さにとって非常に重要である。
全ての活動記録の符号化はINで行なわれる。その方法
として、ロック表の要素はそれらに対する最後のUNL
OCK動作を過ぎても保持される。ロック表の古い活動
記録の要素は定期的に削除され、記憶オーバヘッドを制
限する。活動記録情報も活動状態のロックに必要とする
ことがある。 READモードに格下げされるUPDA
TEモードに保持されたロッりの場合について考慮され
たい。
として、ロック表の要素はそれらに対する最後のUNL
OCK動作を過ぎても保持される。ロック表の古い活動
記録の要素は定期的に削除され、記憶オーバヘッドを制
限する。活動記録情報も活動状態のロックに必要とする
ことがある。 READモードに格下げされるUPDA
TEモードに保持されたロッりの場合について考慮され
たい。
活動記録を表わすには、各ロック素子は2つの余分なフ
ィールド二ロックに対する最後のUNLOCK動作の時
点のIMの論理クロック値、最後のINLOcにを実行
したRIJのIDを含む、これらのフィールドは下記の
ように宣言される: DECLARE I LOCK。
ィールド二ロックに対する最後のUNLOCK動作の時
点のIMの論理クロック値、最後のINLOcにを実行
したRIJのIDを含む、これらのフィールドは下記の
ように宣言される: DECLARE I LOCK。
2 LOCKTIME FIXED(32)、 /*最
後ノUNLOCK(7)論理時刻零/ 2 LOCKULID FIXED(8)、 /本最
後にアンロックしたRLM 10又はθネ/ 新しいロックが生ずると、 LOCKTIMEとLOC
KULIDは0に初期設定される。 UNLOCにがロ
ックに対して実行されるとき、下記のアルゴリズムが使
用される。CLOCにはINの論理クロック値であり、
REQLMIDはアンロックするRLMの独特のIDで
ある。
後ノUNLOCK(7)論理時刻零/ 2 LOCKULID FIXED(8)、 /本最
後にアンロックしたRLM 10又はθネ/ 新しいロックが生ずると、 LOCKTIMEとLOC
KULIDは0に初期設定される。 UNLOCにがロ
ックに対して実行されるとき、下記のアルゴリズムが使
用される。CLOCにはINの論理クロック値であり、
REQLMIDはアンロックするRLMの独特のIDで
ある。
if LOCKULID =REQLMID or L
OCKTIME = OthenLOCKULID =
UNLOCK者のロックマネジャーID;1se LOCKULID = O; LOCKTIME = CLOCに;註:もし単一
のRLMがこの口、ツクのUNLOCKを実行している
なら、LOCKULIDは意味がある。さもなければ、
LOCKULIDは0である。
OCKTIME = OthenLOCKULID =
UNLOCK者のロックマネジャーID;1se LOCKULID = O; LOCKTIME = CLOCに;註:もし単一
のRLMがこの口、ツクのUNLOCKを実行している
なら、LOCKULIDは意味がある。さもなければ、
LOCKULIDは0である。
古い活動記録を除去するため定期的にロック表の掃引が
実行される。しきい値が選択され、しきい値よりも古い
活動記録情報が削除される。削除されている最新の活動
記録情報の論理クロック値は互換性検査のため保持され
る。
実行される。しきい値が選択され、しきい値よりも古い
活動記録情報が削除される。削除されている最新の活動
記録情報の論理クロック値は互換性検査のため保持され
る。
下記で、 5WEEPは削除されている活動記録の最高
の論理クロック値を含むIMにおける入城変数である。
の論理クロック値を含むIMにおける入城変数である。
5WEEPは遅れた要求に対して防護するため互換性
検査により使用される。ロック表で要素毎に実行される
掃引アルゴリズムを下記に示す:if LOCK’TI
MEはOに等しくなく且つCLOCK −[、QCKT
IMEはTHRESHOLDよりも大きいthen d
o;5WEEP = n+ax(SWEEP、 LO(
JTIME);LOCKTIME = 0; LOCKULID = o; if 要素に対しロックが保持されていない the
nロック表から除去する; end; 要するに、活動記録情報は下記から成る:・あらゆる°
゛最近00ツクに対する最後のUNLOCにの論理時刻 ・ロックが1つしかなかった場合のロックに対する最後
のUNLOCKを実行したRLM 10・破棄されてい
る活動記録情報の最新の論理時刻を含む5WEEP変数 各非同期ロック要求はそれが発行される時刻にRLMの
論理クロック値によりスタンプされる。ある時点で、た
ぶん幾つかの非同期要求収集後に。
検査により使用される。ロック表で要素毎に実行される
掃引アルゴリズムを下記に示す:if LOCK’TI
MEはOに等しくなく且つCLOCK −[、QCKT
IMEはTHRESHOLDよりも大きいthen d
o;5WEEP = n+ax(SWEEP、 LO(
JTIME);LOCKTIME = 0; LOCKULID = o; if 要素に対しロックが保持されていない the
nロック表から除去する; end; 要するに、活動記録情報は下記から成る:・あらゆる°
゛最近00ツクに対する最後のUNLOCにの論理時刻 ・ロックが1つしかなかった場合のロックに対する最後
のUNLOCKを実行したRLM 10・破棄されてい
る活動記録情報の最新の論理時刻を含む5WEEP変数 各非同期ロック要求はそれが発行される時刻にRLMの
論理クロック値によりスタンプされる。ある時点で、た
ぶん幾つかの非同期要求収集後に。
RLMは要求をIMに送る。 INの互換性検査は下記
を確認しなければならない: ・要求はロックの現在の保持者と互換性がある。
を確認しなければならない: ・要求はロックの現在の保持者と互換性がある。
・要求はロックの”既知の”活動記録と互換性がある。
・要求はロックの削除された活動記録と互換性がある。
註:ロック毎の最後のUNLOCKの時刻だけが記憶さ
れる。従って、アルゴリズムは活動記録の時刻よりも小
さいか又は該時刻に等しい論理クロック値を有するロッ
クを許可してはならない、しかしながら、もしLOCK
ULIDが該要求のRLM IDに一致するなら、該ロ
ックは許可することができる。
れる。従って、アルゴリズムは活動記録の時刻よりも小
さいか又は該時刻に等しい論理クロック値を有するロッ
クを許可してはならない、しかしながら、もしLOCK
ULIDが該要求のRLM IDに一致するなら、該ロ
ックは許可することができる。
もし入ってくる要求がswEEP (破棄された最新の
活動記録)よりも小さいか又はそれに等しい論理時刻を
有するなら、ロック表は必要な情報を含まない、この場
合、要求は拒否される。
活動記録)よりも小さいか又はそれに等しい論理時刻を
有するなら、ロック表は必要な情報を含まない、この場
合、要求は拒否される。
これらの規則をまとめると下記のコード・セグメントに
なる。 REQTIMEは要求が出たときのRLMの論
理値である。 REQLMIDは要求者のRLM ID
である1両者はRLMによりIMに送られたメツセージ
にあるフィールドである。
なる。 REQTIMEは要求が出たときのRLMの論
理値である。 REQLMIDは要求者のRLM ID
である1両者はRLMによりIMに送られたメツセージ
にあるフィールドである。
if REQTIMEは5WEEPよりも小さいか又は
等しいthen 要求を拒否する: else do; ロックを探索する; if見つかった and ((REQTIMEはI、O
CKTIMEよりも小さいか又は等しく且つREQLM
IDはLOCKULIDに等しくない) or要求は
保持者と互換性がない) then do; 要求を拒否する; lse 要求を受諾する end; ■旧まPO5T MESSAGE(PO5TMSG)
を実現する。 PO5TMSGはロックされた資源に対
する動作であり、それによって、更新RLMは同じ資源
のロックを有する他の全ての保持者にメツセージを送る
。更に。
等しいthen 要求を拒否する: else do; ロックを探索する; if見つかった and ((REQTIMEはI、O
CKTIMEよりも小さいか又は等しく且つREQLM
IDはLOCKULIDに等しくない) or要求は
保持者と互換性がない) then do; 要求を拒否する; lse 要求を受諾する end; ■旧まPO5T MESSAGE(PO5TMSG)
を実現する。 PO5TMSGはロックされた資源に対
する動作であり、それによって、更新RLMは同じ資源
のロックを有する他の全ての保持者にメツセージを送る
。更に。
該メツセージは管理システム/トランザクション・プロ
セッサによりバッファされる資源に付与される。メツセ
ージは資源のコピーを現に保持するシステムにいつ変更
が生じたかを知らせる。更に、バッファされた資源のロ
ックを次に取得するシステムは、DASDには現在のバ
ージョンがないことを知らされる。もし既にメツセージ
が付与されているバッファされた資源にメツセージが送
られていれば、現存するメツセージは破棄され新しいメ
ツセージが付与される。新しいメツセージは該資源のロ
ックを保持している他のRLMにも送られる。
セッサによりバッファされる資源に付与される。メツセ
ージは資源のコピーを現に保持するシステムにいつ変更
が生じたかを知らせる。更に、バッファされた資源のロ
ックを次に取得するシステムは、DASDには現在のバ
ージョンがないことを知らされる。もし既にメツセージ
が付与されているバッファされた資源にメツセージが送
られていれば、現存するメツセージは破棄され新しいメ
ツセージが付与される。新しいメツセージは該資源のロ
ックを保持している他のRLMにも送られる。
全ての関連したシステムが該メツセージを肯定応答した
とき、PO5TMSGは要求者、管理システム/トラン
ザクション・プロセッサに完了を知らせる。
とき、PO5TMSGは要求者、管理システム/トラン
ザクション・プロセッサに完了を知らせる。
更に要求者は該メツセージを受取った他のロック保持者
数のカウントを受取る。障害時の使用可能性を保証する
ためメツセージはその有効期間のあいだ2つのシステム
のなかに存在する。
数のカウントを受取る。障害時の使用可能性を保証する
ためメツセージはその有効期間のあいだ2つのシステム
のなかに存在する。
RLMはロックを許可するのに階層ロック方式を用いる
1階層ロックでは、管理システム/トランザクション・
プロセッサはロック名を体系化して論理階層に入れる。
1階層ロックでは、管理システム/トランザクション・
プロセッサはロック名を体系化して論理階層に入れる。
その結果、管理システム/トランザクション・プロセッ
サはロックを取得できるようになる前に、予め親ロック
を保持しなければならない1種々のシステムのRLMは
論理階層のどの部分にRL14がロックを保持するかを
(管理システム/トランザクション・プロセッサの局所
的な段階に代わって)追跡するためRLM自身のあいだ
で通信する。単一のRLMが階層のサブトリー(sub
tree)にロックだけを保持するときは、そのRLM
は該サブトリーの根ロックと唯一の利害関係を有する。
サはロックを取得できるようになる前に、予め親ロック
を保持しなければならない1種々のシステムのRLMは
論理階層のどの部分にRL14がロックを保持するかを
(管理システム/トランザクション・プロセッサの局所
的な段階に代わって)追跡するためRLM自身のあいだ
で通信する。単一のRLMが階層のサブトリー(sub
tree)にロックだけを保持するときは、そのRLM
は該サブトリーの根ロックと唯一の利害関係を有する。
唯一の利害関係とは、所有するRLMが単一利害関係サ
ブトリーの範囲内で、他のRLMとの通信を行なわずに
、ロックを取得できることである。 RLMは、どの時
点でも、多くのサブトリーで唯一の利害関係を有するこ
とがある。
ブトリーの範囲内で、他のRLMとの通信を行なわずに
、ロックを取得できることである。 RLMは、どの時
点でも、多くのサブトリーで唯一の利害関係を有するこ
とがある。
データ共有システムのプロセッサはそれぞれ旧。
にコードのコピーをランし、局所的に生じたロック要求
を処理する。 RLMも該システムの成る計算機に存在
する単一のIHにメツセージを送る。
を処理する。 RLMも該システムの成る計算機に存在
する単一のIHにメツセージを送る。
データベース・システムはロックを論理階層に分類する
。ロックはどれもその親ロックが保持されるまでは取得
することができない。
。ロックはどれもその親ロックが保持されるまでは取得
することができない。
1Mは各資源に対するロックを保持するRLMのセット
を動的に追跡する。単一のRLMが資源のロックを保持
するとき、その旧、Hは該資源で唯一の利害関係を有す
る。 RLMは資源で唯一の利害関係を有するあいだは
■にと相談せずに該資源に従属するロックを取得するこ
とができる。
を動的に追跡する。単一のRLMが資源のロックを保持
するとき、その旧、Hは該資源で唯一の利害関係を有す
る。 RLMは資源で唯一の利害関係を有するあいだは
■にと相談せずに該資源に従属するロックを取得するこ
とができる。
データベース・システムの設計者はロック階層を選択す
る。ロック・マネジャー(LH)はトランザクションが
オブジェクト自身のロックを取得する前に該オブジェク
トの親ロックを取得する必要がある。データベース・シ
ステムのロック階層の可能なレベルを下記に示す: データベース リレーション ページ テユーブル ブロック レコード オブジェクトを体系化して階層に入れることはデータベ
ース・システムで支援されたデータ・モデルが階層構造
であることを意味しない1本明細書に記述された手法は
リレーショナル・システムにも等しく適用される。
る。ロック・マネジャー(LH)はトランザクションが
オブジェクト自身のロックを取得する前に該オブジェク
トの親ロックを取得する必要がある。データベース・シ
ステムのロック階層の可能なレベルを下記に示す: データベース リレーション ページ テユーブル ブロック レコード オブジェクトを体系化して階層に入れることはデータベ
ース・システムで支援されたデータ・モデルが階層構造
であることを意味しない1本明細書に記述された手法は
リレーショナル・システムにも等しく適用される。
第4図に階層ロック・マネジャーの構造を示す。
RLMはトランザクションを実行する各々のシステムで
ランする。 INは別個のシステムでランする。
ランする。 INは別個のシステムでランする。
各RLMが仮想記憶装置に有する表は、同じシステムで
ランしているトランザクションによりオブジェクトに対
して保持された全てのロックを記述する。 RLMの表
はオブジェクトのトリーとして体系化される。更に、各
オブジェクトはそれに関連した2つのキュー:オブジェ
クトに対するロックの保持者のキュー及びオブジェクト
に対するロックの待機者のキューを有する。 RLMが
他のRLMはロックを保持しないオブジェクトのロック
を保持するとき、最初のRLMは該オブジェクトと唯一
の利害関係を持つといわれる。ロックは子オブジェクト
で取得できるようになる前に親オブジェクトで取得しな
ければならないという規則により、 RLMはオブジェ
クトと唯一の利害関係を持つとき該オブジェクトの全て
の子孫とも唯一の利害関係を持つ、トランザクションは
オブジェクトのロックを取得する必要があるとき、その
システムの該RLMに対し要求を出す、該RLMはその
ロック表を検査し下記の3つの事項のうちの1つを実行
する=(1)直ちに該ロックを許可する。
ランしているトランザクションによりオブジェクトに対
して保持された全てのロックを記述する。 RLMの表
はオブジェクトのトリーとして体系化される。更に、各
オブジェクトはそれに関連した2つのキュー:オブジェ
クトに対するロックの保持者のキュー及びオブジェクト
に対するロックの待機者のキューを有する。 RLMが
他のRLMはロックを保持しないオブジェクトのロック
を保持するとき、最初のRLMは該オブジェクトと唯一
の利害関係を持つといわれる。ロックは子オブジェクト
で取得できるようになる前に親オブジェクトで取得しな
ければならないという規則により、 RLMはオブジェ
クトと唯一の利害関係を持つとき該オブジェクトの全て
の子孫とも唯一の利害関係を持つ、トランザクションは
オブジェクトのロックを取得する必要があるとき、その
システムの該RLMに対し要求を出す、該RLMはその
ロック表を検査し下記の3つの事項のうちの1つを実行
する=(1)直ちに該ロックを許可する。
(2)該ロック要求を同じオブジェクトの互換性のない
別の要求のあとにキューする。
別の要求のあとにキューする。
(3)該要求をメツセージを介してRLMに送る。
INが仮想記憶装置に有する表は(システムのトランザ
クションの代わりに)それぞれのRLMによりオブジェ
クトに保持されたロックを記述する。
クションの代わりに)それぞれのRLMによりオブジェ
クトに保持されたロックを記述する。
しかしながら、IMの表はシステムに保持されたロック
を全て含むわけではない、この表は2つ以」二のRLM
によってオブジェクトに保持されたロック及び唯一の利
害関係を有するRLMによってオブジェクトに保持され
た最も高いレベルのロックを含む、各IM表の項目はロ
ックを保持するRLMのセットを表わす、第5図はIM
表及びRLM表の例を示す。
を全て含むわけではない、この表は2つ以」二のRLM
によってオブジェクトに保持されたロック及び唯一の利
害関係を有するRLMによってオブジェクトに保持され
た最も高いレベルのロックを含む、各IM表の項目はロ
ックを保持するRLMのセットを表わす、第5図はIM
表及びRLM表の例を示す。
トランザクションがそのシステムのRLMからオブジェ
クトのロックを要求するとき、下記の3つの状況のうち
の1つが存在する: (1)オブジェクトはHしに表にはない。
クトのロックを要求するとき、下記の3つの状況のうち
の1つが存在する: (1)オブジェクトはHしに表にはない。
(2)オブジェクトはRLHの表にはあるが、RLMは
該オブジェクトでは唯一の利害関係を持たない。
該オブジェクトでは唯一の利害関係を持たない。
(3) RLMは該オブジェクトで唯一の利害関係を持
つ。
つ。
次にこれらの状況に対するロック・マネジャーの活動に
ついて調べる。
ついて調べる。
もしオブジェクトがRLM表になければ、 RLMはオ
ブジェクトをその表に入れ、該オブジェクトのロックの
待機者のキューに該トランザクションを入れる。 RL
Mは該オブジェクトのロックを要求するIHにメツセー
ジを送り、該トランザクションの延期を指示する。
ブジェクトをその表に入れ、該オブジェクトのロックの
待機者のキューに該トランザクションを入れる。 RL
Mは該オブジェクトのロックを要求するIHにメツセー
ジを送り、該トランザクションの延期を指示する。
下記のように、3つの応答のうちの1つがIMから戻る
ことができる。それに続いて、句”トランザクションを
再開始する” −オブジェクトの待機者キューのトラン
ザクションの項目を保持者キューに移動することを意味
する−が受取られ。
ことができる。それに続いて、句”トランザクションを
再開始する” −オブジェクトの待機者キューのトラン
ザクションの項目を保持者キューに移動することを意味
する−が受取られ。
該トランザクションは実行を続行することが許される。
IN応答及び関連RLM動作は次の通りである:(1)
オブジェクトのロックは許可されており、RLMは該オ
ブジェクトで唯一の利害関係を持つ、 RLHは該オブ
ジェクトを唯一の利害関係として記録する。
オブジェクトのロックは許可されており、RLMは該オ
ブジェクトで唯一の利害関係を持つ、 RLHは該オブ
ジェクトを唯一の利害関係として記録する。
(2)オブジェクトのロックは許可されているが。
もう1つのRLMも該オブジェクトに利害関係を持つ、
該RLMは該トランザクションを再開始する。
該RLMは該トランザクションを再開始する。
(3)オブジェクトのロックはもう1つのRLMの障害
により許可することができない、該トランザクションが
呼起こされ、要求が失敗したことが通知される。該オブ
ジェクトは該RLM表から除去される。
により許可することができない、該トランザクションが
呼起こされ、要求が失敗したことが通知される。該オブ
ジェクトは該RLM表から除去される。
もしオブジェクトはRLM表にあるが該RLMは該オブ
ジェクトで唯一の利害関係を有しないなら。
ジェクトで唯一の利害関係を有しないなら。
該RLMは該オブジェクトの待機者キューにトランザク
ションの要求を付加し、該トランザクションを延期し、
且つメツセージを介して要求をIMに転送する。可能な
IM応答メツセージ及び関連RE、M動作は前の場合の
動作とほぼ同じである。唯一の相違はIMがRLMにロ
ックを許可すると、要求トランザクションと同じシステ
ムでランしている他のトランザクションが該要求と競合
するオブジェクトのロックを保持できることである。そ
の場合、要求しているトランザクションは、それらが該
オブジェクトのロックを開放するまでは1局所トランザ
クションのあとにキューされたままである。
ションの要求を付加し、該トランザクションを延期し、
且つメツセージを介して要求をIMに転送する。可能な
IM応答メツセージ及び関連RE、M動作は前の場合の
動作とほぼ同じである。唯一の相違はIMがRLMにロ
ックを許可すると、要求トランザクションと同じシステ
ムでランしている他のトランザクションが該要求と競合
するオブジェクトのロックを保持できることである。そ
の場合、要求しているトランザクションは、それらが該
オブジェクトのロックを開放するまでは1局所トランザ
クションのあとにキューされたままである。
もしRLMがオブジェクトで唯一の利害関係を持つなら
、 IMとの通信は不要である。前の場合のように、ト
ランザクションは、該オブジェクトの競合しているロッ
クを保持する他の局所トランザクションがそれらのロッ
クを開放するまで、待機者キューにとどまることができ
る。
、 IMとの通信は不要である。前の場合のように、ト
ランザクションは、該オブジェクトの競合しているロッ
クを保持する他の局所トランザクションがそれらのロッ
クを開放するまで、待機者キューにとどまることができ
る。
IMはあるRLMによりロックされるが単一の利害関係
によりカバーされないオブジェクトの表を維持する。
IMはロック要求をRLM (例えば、RLM 61)
から受取ると、そのオブジェクトの表を検査する。
によりカバーされないオブジェクトの表を維持する。
IMはロック要求をRLM (例えば、RLM 61)
から受取ると、そのオブジェクトの表を検査する。
もし該オブジェクトがまだその表になければその表に加
えられ、RLMの唯一の利害関係として記録され、応答
がロックを許可するRLM 61に返されると共に唯一
の利害関係がRLM 61に与えられる。
えられ、RLMの唯一の利害関係として記録され、応答
がロックを許可するRLM 61に返されると共に唯一
の利害関係がRLM 61に与えられる。
もしオブジェクトが既にIMの表にあれば、■旧よ該要
求と競合するオブジェクトのロックを保持する他のRL
Mの各々にメツセージを送る。 RLM 61は該オブ
ジェクトのロックを保持するRLMのリストに加えられ
る。 RLMの全てが新しいロックを認める許可を与え
ることを示すメツセージを返すと。
求と競合するオブジェクトのロックを保持する他のRL
Mの各々にメツセージを送る。 RLM 61は該オブ
ジェクトのロックを保持するRLMのリストに加えられ
る。 RLMの全てが新しいロックを認める許可を与え
ることを示すメツセージを返すと。
■旧まロックを許可するメツセージをRLM 61に送
る。
る。
もし、該要求の時点で、もう1つのRLM (例えば
、 RLM 62)が該オブジェクトで唯一の利害関係
を持つなら、更に複雑なプロトコルが必要になる。
、 RLM 62)が該オブジェクトで唯一の利害関係
を持つなら、更に複雑なプロトコルが必要になる。
IMは直ちに該オブジェクトに対するロックをRLM6
1に加えるが、 RLM 62が保持する唯一の利害関
係は一時的に保持される。その期間中、該IMはIIL
M62が該唯−の利害関係のオブジェクトの直近下位の
オブジェクトに保持されたロックをどれも該IMに送る
ことを要求する。もちろん、新しいオブジェクトはRL
M 62に唯一の利害関係を持つ、全ての直接従属する
ロックがRLM 62によりIMに送られているときは
、最初のオブジェクトでRLM 62の唯一の利害関係
は落される。
1に加えるが、 RLM 62が保持する唯一の利害関
係は一時的に保持される。その期間中、該IMはIIL
M62が該唯−の利害関係のオブジェクトの直近下位の
オブジェクトに保持されたロックをどれも該IMに送る
ことを要求する。もちろん、新しいオブジェクトはRL
M 62に唯一の利害関係を持つ、全ての直接従属する
ロックがRLM 62によりIMに送られているときは
、最初のオブジェクトでRLM 62の唯一の利害関係
は落される。
もし該オブジェクトの競合するロックを保持するRLH
のどれかが失敗していれば、INはRLM 61に対す
るロック要求に誤り応答を返す。
のどれかが失敗していれば、INはRLM 61に対す
るロック要求に誤り応答を返す。
RLMは局所トランザクション要求及びINからの遠隔
要求の両者に応答しなければならない、このセクション
ではINメツセージに対する応答について説明する。
RLMはIMからの遠隔要求を受取ると、その関連する
オブジェクトの表を検査する。もしその表が該オブジェ
クトを含まなければ、ロックを許可するメツセージは直
ちにINに返される。その表が該オブジェクトを含むな
ら、該要求は該ロックの現在の保持者及び待機者との互
換性について検査される。もし該要求に互換性があるな
ら。
要求の両者に応答しなければならない、このセクション
ではINメツセージに対する応答について説明する。
RLMはIMからの遠隔要求を受取ると、その関連する
オブジェクトの表を検査する。もしその表が該オブジェ
クトを含まなければ、ロックを許可するメツセージは直
ちにINに返される。その表が該オブジェクトを含むな
ら、該要求は該ロックの現在の保持者及び待機者との互
換性について検査される。もし該要求に互換性があるな
ら。
ロックを許可するメツセージは直ちにIMに返される。
さもなければ、該要求は該オブジェクトの他の待機して
いるロック要求のあとにキューされる。
いるロック要求のあとにキューされる。
該要求が(該オブジェクトのロックを開放する他のトラ
ンザクションにより)許可されると、該ロックを許可す
るIMにメツセージが返される。
ンザクションにより)許可されると、該ロックを許可す
るIMにメツセージが返される。
トランザクションがオブジェクトのロックを開放すると
、 RLMは新しい保持者を収容できるかどうかを調べ
るため待機者のキューを検査する。もしそうなら、互換
性がある多くの新しい待機者が、それらが局所にある場
合に、保持者キューに加えられる。互換性がある遠隔の
待機者の場合は該要求を許可するメツセージがIMに送
られる。オブジェクトの最後のロックがRLMで開放さ
れると、ロックを開放するためのメツセージがIMに送
られる。
、 RLMは新しい保持者を収容できるかどうかを調べ
るため待機者のキューを検査する。もしそうなら、互換
性がある多くの新しい待機者が、それらが局所にある場
合に、保持者キューに加えられる。互換性がある遠隔の
待機者の場合は該要求を許可するメツセージがIMに送
られる。オブジェクトの最後のロックがRLMで開放さ
れると、ロックを開放するためのメツセージがIMに送
られる。
INはオブジェクトのロック保持者のリストから該RL
Mを除去する。もし現在ただ1つのRLM L、か該オ
ブジェクトのロックを保持しないなら、唯一の利害関係
を与えるメツセージが送られ、■旧よその表で現在の唯
一の利害関係のオブジェクトの下位の全てのオブジェク
トを削除する。
Mを除去する。もし現在ただ1つのRLM L、か該オ
ブジェクトのロックを保持しないなら、唯一の利害関係
を与えるメツセージが送られ、■旧よその表で現在の唯
一の利害関係のオブジェクトの下位の全てのオブジェク
トを削除する。
RLM 61によりロックが管理システム/トランザク
ション・プロセッサ31にいったん付与されると、該プ
ロセッサ31は線81を介して0ASD 13の所望の
データをアクセスし、そのバッファ・プールに該データ
を読取る。プロセス/ユーザーによりデータを処理する
間に又はその後のある時点で、該データはDASD13
に再書込みされ、RLM 61は該ロックを開放するよ
うに通知される。もしプロセス/ユーザーがバッファ・
プール41に保持されたデータの多重更新を行なわなけ
ればならないなら、管理システム/トランザクション・
プロセッサ31は、更新されたデータをDASD13に
書込む前、全ての更新が終了するまでバッファ・プロセ
ッサにデータを保持する。もしRLM 62が該データ
がDASD13に書込まれる前に資源のコピーを要求す
れば、 RLM 61はコピーを直接バッファ・プール
から制御経路45.3L35.61.25.21.23
.27.24.22.26を介してIILM 62に届
ける。管理システム/トランザクション・プロセッサ3
1は更新されたブロックの下記の情報をPO5TMSG
動作で使用するためRLM 61に返す。
ション・プロセッサ31にいったん付与されると、該プ
ロセッサ31は線81を介して0ASD 13の所望の
データをアクセスし、そのバッファ・プールに該データ
を読取る。プロセス/ユーザーによりデータを処理する
間に又はその後のある時点で、該データはDASD13
に再書込みされ、RLM 61は該ロックを開放するよ
うに通知される。もしプロセス/ユーザーがバッファ・
プール41に保持されたデータの多重更新を行なわなけ
ればならないなら、管理システム/トランザクション・
プロセッサ31は、更新されたデータをDASD13に
書込む前、全ての更新が終了するまでバッファ・プロセ
ッサにデータを保持する。もしRLM 62が該データ
がDASD13に書込まれる前に資源のコピーを要求す
れば、 RLM 61はコピーを直接バッファ・プール
から制御経路45.3L35.61.25.21.23
.27.24.22.26を介してIILM 62に届
ける。管理システム/トランザクション・プロセッサ3
1は更新されたブロックの下記の情報をPO5TMSG
動作で使用するためRLM 61に返す。
本更新するシステムのID
本更新されたデータベースのID
本更新されたブロックの10
同様に、他の管理システム32〜34はどれも対応する
RLM 61.62と協力してDASD13.14のデ
ータをアクセスし、バッファ・プール41〜44に記憶
されたデータを操作する。1つのバッファ・プールで行
なわれた更新が、同じブロックのコピーを有することが
ある他のシステムのバッファ・プールでも正しく行なわ
れることを保証することはコヒーレンシーの維持と呼ば
れる。
RLM 61.62と協力してDASD13.14のデ
ータをアクセスし、バッファ・プール41〜44に記憶
されたデータを操作する。1つのバッファ・プールで行
なわれた更新が、同じブロックのコピーを有することが
ある他のシステムのバッファ・プールでも正しく行なわ
れることを保証することはコヒーレンシーの維持と呼ば
れる。
各管理システム/トランザクション・プロセッサは障害
の場合の回復のため全てのトランザクションのログをデ
ィスク71〜74に維持する。データベース回復制御機
構51.52は制御データセット57のアクセスを共有
し、システム又は他の障害の場合に管理システム31〜
34と協力してデータベースの回復を制御する。
の場合の回復のため全てのトランザクションのログをデ
ィスク71〜74に維持する。データベース回復制御機
構51.52は制御データセット57のアクセスを共有
し、システム又は他の障害の場合に管理システム31〜
34と協力してデータベースの回復を制御する。
第6図は本発明の方法により計算システムを動作させる
のに使われる、各管理システム/トランザクション・プ
ロセッサ31〜34内に含まれるバッファ・マネジャー
・モジュールを示す、バッファ・マネジャー・モジュー
ルはロック取得のため適切なRLMと通信するように明
確に指定されている。
のに使われる、各管理システム/トランザクション・プ
ロセッサ31〜34内に含まれるバッファ・マネジャー
・モジュールを示す、バッファ・マネジャー・モジュー
ルはロック取得のため適切なRLMと通信するように明
確に指定されている。
バッファ・マネジャーは、管理システムがデータベース
管理システム/トランザクション・プロセッサであると
きは主記憶装置(21)に、又は情報管理システム/ト
ランザクション・プロセッサならばバッファ・プール(
41)に、ブロックのプールを維持する。各ブロックは
関連するバッファ見出し一ブロックの識別(データベー
ス及びブロック番号の識別)及び他の状況を含む−を有
する。
管理システム/トランザクション・プロセッサであると
きは主記憶装置(21)に、又は情報管理システム/ト
ランザクション・プロセッサならばバッファ・プール(
41)に、ブロックのプールを維持する。各ブロックは
関連するバッファ見出し一ブロックの識別(データベー
ス及びブロック番号の識別)及び他の状況を含む−を有
する。
バッファ・マネジャーが各ブロックと共に維持する他の
状況は第6図に示す。
状況は第6図に示す。
バッファ・マネジャーは保持する各マネジャーのUPD
ATE又はREADロックのどちらかを保持する。
ATE又はREADロックのどちらかを保持する。
READとUPDATEロックは互換性があるが、UP
DATEロックは他のUPDATEロックとは互換性が
ない、それゆえ、任意の時刻で1つのプロセッサだけが
特定のブロックの更新可能なコピーを保持できるが。
DATEロックは他のUPDATEロックとは互換性が
ない、それゆえ、任意の時刻で1つのプロセッサだけが
特定のブロックの更新可能なコピーを保持できるが。
読取りは複数の読取者に許可される。バッファ・マネジ
ャーがプロセス/ユーザーにブロックの変更を許可でき
るようになる前に、 RLMは該ブロックにUPDAT
Eロックを保持しなければならない、該プロセスは関連
したブロック・ロックの下位の階層の一貫性を保証する
のに役立つレコード・ロックも取得する。バッファマネ
ジャーがDASDからブロックを取出すとき、下記の動
作を行なう=(1)バッファ見出しのBUFSYNCを
消去する。
ャーがプロセス/ユーザーにブロックの変更を許可でき
るようになる前に、 RLMは該ブロックにUPDAT
Eロックを保持しなければならない、該プロセスは関連
したブロック・ロックの下位の階層の一貫性を保証する
のに役立つレコード・ロックも取得する。バッファマネ
ジャーがDASDからブロックを取出すとき、下記の動
作を行なう=(1)バッファ見出しのBUFSYNCを
消去する。
(2) BUFEVENTを2にセットする。
(3)該ブロックの5HARE LOCKを非同期オプ
ションにより要求する。
ションにより要求する。
(4) DASD読取りをスケジューリングする。
(5) BUFSYNCフラグを待つ。
ロック要求処理が終了すると、 nLMは要求している
サブシステムのロック状況出口を駆動する。
サブシステムのロック状況出口を駆動する。
ロック状況出口はロック要求が失敗した場合にはBUF
FLFA Iをセットする。いずれにしても、それはB
UFEVENTを減計数する。もしBUFEVENTが
Oになれば、それはBUFSYNC事象を知らせる。
FLFA Iをセットする。いずれにしても、それはB
UFEVENTを減計数する。もしBUFEVENTが
Oになれば、それはBUFSYNC事象を知らせる。
同様に、Iloが終了するとき、該ブロックの読取り中
にI10誤りが起きていたならBUFFIOERがセッ
トされる。いずれにしても、BUFEVENTは減計数
される。もしBUFEVENTがOになれば、 BUF
SYNC信号が送られる。
にI10誤りが起きていたならBUFFIOERがセッ
トされる。いずれにしても、BUFEVENTは減計数
される。もしBUFEVENTがOになれば、 BUF
SYNC信号が送られる。
もしロック要求が成功しブロック読取りの誤りがなかっ
たなら、該ロックは直ちに使用することができる。もし
誤りが起きたなら、読取られたブロックは使用すること
ができない、ロック要求失敗の場合には1次の試みで成
功するのを保証するため同期ロック要求が使われ、続い
て通常のブロック読取りが行なわれる。
たなら、該ロックは直ちに使用することができる。もし
誤りが起きたなら、読取られたブロックは使用すること
ができない、ロック要求失敗の場合には1次の試みで成
功するのを保証するため同期ロック要求が使われ、続い
て通常のブロック読取りが行なわれる。
もしブロックのS HA REロックを保持するプロセ
ス/ユーザーがあとで該ブロックを更新しなければなら
ないなら、該ブロックの共有ロックを格」こげして更新
するように同期ロック要求が行なわれなければならない
、もし該ブロックを更新する意向が予めわかっていれば
、前記プロセスで非同期に取得されたブロック・ロック
はUPDATEモードで取得し、余分なロック要求及び
起こりうる延期/再開始を避けることができる。前述の
バッファ見出しにあるBUFFUPDTフィールドはU
PDATEロックが該ブロックに保持されていることを
忘れないようにするために使用される。
ス/ユーザーがあとで該ブロックを更新しなければなら
ないなら、該ブロックの共有ロックを格」こげして更新
するように同期ロック要求が行なわれなければならない
、もし該ブロックを更新する意向が予めわかっていれば
、前記プロセスで非同期に取得されたブロック・ロック
はUPDATEモードで取得し、余分なロック要求及び
起こりうる延期/再開始を避けることができる。前述の
バッファ見出しにあるBUFFUPDTフィールドはU
PDATEロックが該ブロックに保持されていることを
忘れないようにするために使用される。
本発明の動作
一ケース■−
次に、本発明を使用する無競合動作を図面を参照して説
明する。レコード1111及びR12(図示せず)から
成るブロックB1はDASD13にありバッファ・プー
ル41又は43には存在しない、 CECIfにあるプ
ロセッサ/ユーザーはR11のアクセスを欲するものと
する。
明する。レコード1111及びR12(図示せず)から
成るブロックB1はDASD13にありバッファ・プー
ル41又は43には存在しない、 CECIfにあるプ
ロセッサ/ユーザーはR11のアクセスを欲するものと
する。
ステップ1:プロセス/ユーザーはバッファ・マネジャ
ーから01を要求する。
ーから01を要求する。
ステップ2:バッファ・マネジャーはBlがバッファ・
プールにないことがわかると下 記動作を開始する: + Blに対し非同期更新ロック要求を出す。
プールにないことがわかると下 記動作を開始する: + Blに対し非同期更新ロック要求を出す。
+ Blをバッファに読取るためT10を開始する。
+ プロセス/ユーザーを一時停止
する。
ステップ3:成功及び唯一の利害関係を表わす非同期更
新ロック要求応答を返す。
新ロック要求応答を返す。
+ バッファ・マネジャーはその表
にロック要求成功を記入する。
ステップ4:B1を読取るIloが完了する。
+ バッファ・マネジャーは成功し
た読取り完了を表に記入する。
+ Blはバッファ・マネジャーによりバッファ・プ
ールに使用可能 と記録され、システム11が唯一 の利害関係を有することを示す メツセージを付与する。
ールに使用可能 と記録され、システム11が唯一 の利害関係を有することを示す メツセージを付与する。
+ プロセス/ユーザーが再開始す
る。
ステップ5:プロセス/ユーザーはBlに対するそれ自
身の読取りブロック・ロックを 要求する。 (154) 十 要求を通信なしで許可する。
身の読取りブロック・ロックを 要求する。 (154) 十 要求を通信なしで許可する。
ステップ6:プロセス/ユーザーは旧1及び旧2のロッ
クを要求する。 (156) 十 ロックは階層的にブロック・ロ ックに従属する。
クを要求する。 (156) 十 ロックは階層的にブロック・ロ ックに従属する。
+ Blの唯一の利害関係によりロックを通信なしに
直ちに許可する。
直ちに許可する。
ステップ7:プロセス/ユーザーはR11を更新する。
(158)
ステップ8:プロセス/ユーザーはコミットのフェーズ
1を開始する。
1を開始する。
ステップ9:バッファ・マネジャーはB1に対するPO
5TMSGを発行する。 (160)ステップ10:プ
ロセス/ユーザーはRL2を更新する。 (162) ステップ11:バッファ・マネジャーはB1に対するP
O5TMSGを発行する。 (164)ステップ10:
プロセス/ユーザーはフェーズ1〜2を変換ログ・レコ
ードニ! 込ム。
5TMSGを発行する。 (160)ステップ10:プ
ロセス/ユーザーはRL2を更新する。 (162) ステップ11:バッファ・マネジャーはB1に対するP
O5TMSGを発行する。 (164)ステップ10:
プロセス/ユーザーはフェーズ1〜2を変換ログ・レコ
ードニ! 込ム。
ステップ11:プロセス/ユーザーはコミットのフェー
ズ2を開始する。
ズ2を開始する。
ステップ12:プロセス/ユーザーはステップ9及びス
テップ11で行なりれたPO5TMSG呼出しが終って
いることをバッファ ・マネジャーが知らせるのを待つ。
テップ11で行なりれたPO5TMSG呼出しが終って
いることをバッファ ・マネジャーが知らせるのを待つ。
ステップ13:プロセス/ユーザーのロックを開放する
。
。
ステップ14:バッファ・マネジャーは更新されたブロ
ックのDASDへの再書込みを決定する。
ックのDASDへの再書込みを決定する。
ステップ15: DASDへのブロック書込みを完了す
る6ステップ16:バッファ・マネジャーは該ブロック
のメツセージを消去しブロック・ロ ックを開放する要求をRLMに出す。
る6ステップ16:バッファ・マネジャーは該ブロック
のメツセージを消去しブロック・ロ ックを開放する要求をRLMに出す。
一ケースII −−
レコード旧1及びR12から成るブロックBlは該ブロ
ックが更新されたのちDASD13に書込まれるまでシ
ステム11のバッファ・プール41にあるものとする(
ケースIのステップ13)、システム12のプロセス/
ユーザーは旧lの読取りを欲するものとする。
ックが更新されたのちDASD13に書込まれるまでシ
ステム11のバッファ・プール41にあるものとする(
ケースIのステップ13)、システム12のプロセス/
ユーザーは旧lの読取りを欲するものとする。
ステップ1ニジステム12のプロセス/ユーザーはバッ
ファ・マネジャーからB1を要求 する。
ファ・マネジャーからB1を要求 する。
ステップ2:バッファ・マネジャーはBlがシステム1
2のバッファ・プール42にないことがわかると下記動
作を開始する: + 81の非同期5HAREロツク要求を出す。
2のバッファ・プール42にないことがわかると下記動
作を開始する: + 81の非同期5HAREロツク要求を出す。
+110は記憶装置への81の読取り
を開始する。
十 プロセス/ユーザーを延期する。
ステップ3:成功及び唯一の利害関係、ならびにPO5
TMSGメツセージを表わす非同期′ロック要求応答を
返す。
TMSGメツセージを表わす非同期′ロック要求応答を
返す。
+ システム12のバッファ・マネジ
ャーはその表にロック要求成功
を記入する。
十 前のPO3TMSGの結果としてシステム11のR
LM 61から返されたメツセージは、システム11が
まだ 現在の81ブロツクを保持するこ とを回報通信する(ケースIの ステップ11)。
LM 61から返されたメツセージは、システム11が
まだ 現在の81ブロツクを保持するこ とを回報通信する(ケースIの ステップ11)。
+ システム12によりブロックB1を要求するメツセ
ージをシステム 11に送る。
ージをシステム 11に送る。
ステップ4: Blを読取るブロックI10が完了する
。
。
+ システム12のバッファ・マネジ
ャーは読取り完了の成功を表に
記入する。
+ Blはバッファ・マネジャーによりバッファ・プ
ールに使用不可 能と記録される。
ールに使用不可 能と記録される。
ステップ5:ブロック口1の現在のコピーをシステム1
1から受取る。
1から受取る。
+ プロセス/ユーザーは再開始す
る。
ステップ6:プロセス/ユーザーはB1に対するそれ自
身のロックを要求する。
身のロックを要求する。
十 共有ロックの要求である。
+ 要求は通信なしに許可される。
ステップ7:プロセス/ユーザーはR11のロックを要
求する。
求する。
十 ロックは階層的にブロック・ロ
ックに従属する。
+ Blはシステム12で唯一の利害関係ではないか
ら、レコード・ロ ツクは通信を必要とする。
ら、レコード・ロ ツクは通信を必要とする。
+R11のロック要求が許可される
までプロセス/ユーザーを延期
する。
一ケースIII −
レコードR11及びR12から成るブロックB1は既に
システム11のバッファ・プール41にあるものとし、
システム11のプロセス/ユーザーはR11のアクセス
を欲するものとする。
システム11のバッファ・プール41にあるものとし、
システム11のプロセス/ユーザーはR11のアクセス
を欲するものとする。
ステップ1ニジステム11のプロセス/ユーザーはバッ
ファ・マネジャーがらB1を要求 する。
ファ・マネジャーがらB1を要求 する。
ステップ2:バッファ・マネジャーはB1がシステム1
1のバッファ・プール4Iにあることがわかると直ちに
プロセス/ユー ザーに返す。
1のバッファ・プール4Iにあることがわかると直ちに
プロセス/ユー ザーに返す。
ステップ3:プロセス/ユーザーはB1に対するそれ自
身の読取りロックを要求する。
身の読取りロックを要求する。
+ 該要求は通信なしに許可される。
ステップ4:プロセス/ユーザーはR11のロックを要
求する。
求する。
十 ロックは階層的にブロック・ロ
ックに従属する。
+ システム11で旧は唯一の利害関
係であるから、レコード・ロッ
クは通信を必要としない。
Rはトランザクションによりアクセスされたレコード数
、Bはトランザクションにより読取られたブロック数、
Uはトランザクションにより更新されたブロック数、及
びNはデータ共有に加わるシステム数とする。データベ
ース・システムはブロックが1)ASI)から読取られ
たとき該ブロックが更新されるかどうかを予測しないも
のとする。そして、競合がないものとすると1本発明は
下記の延期/再開始(S/R)数及びトランザクション
をランするメツセージ数を必要とする: SR= B + U メツセージ=B+1+1 延期/再開始は読取られるブロックごとに、及びUPD
ATEモードに格上げされるブロック・ロックごとに待
機する必要があるために生ずる。読取られ更新されるブ
ロックごとのメツセージが送られ、最後にUNLOCK
ALL及びバッファ無効化メツセージが送られる。
、Bはトランザクションにより読取られたブロック数、
Uはトランザクションにより更新されたブロック数、及
びNはデータ共有に加わるシステム数とする。データベ
ース・システムはブロックが1)ASI)から読取られ
たとき該ブロックが更新されるかどうかを予測しないも
のとする。そして、競合がないものとすると1本発明は
下記の延期/再開始(S/R)数及びトランザクション
をランするメツセージ数を必要とする: SR= B + U メツセージ=B+1+1 延期/再開始は読取られるブロックごとに、及びUPD
ATEモードに格上げされるブロック・ロックごとに待
機する必要があるために生ずる。読取られ更新されるブ
ロックごとのメツセージが送られ、最後にUNLOCK
ALL及びバッファ無効化メツセージが送られる。
現在のIMS/VSのデータ共有の場合の費用は:SR
= B + U + Rメツセージ数 U(
N −1) + R+ 1U(N−1)項は同報通信無
効化を行なう費用である。R項はレコード・ロックを取
得するためのメツセージをカウントする5もしレコード
の一部が同じGHTクラスにハツシュすれば、トランザ
クションによっては取得するメツセージがRメツセージ
よりも少ないことがある。これらの数字を比較すると1
本発明が必要とする遅延/再開始はRだけ少なくなり、
メツセージは少なくともR−B4O(N −2)だけ少
なくなる。2経路共有の場合は、本発明によるメツセー
ジはIt−8だけ少なくなる。
= B + U + Rメツセージ数 U(
N −1) + R+ 1U(N−1)項は同報通信無
効化を行なう費用である。R項はレコード・ロックを取
得するためのメツセージをカウントする5もしレコード
の一部が同じGHTクラスにハツシュすれば、トランザ
クションによっては取得するメツセージがRメツセージ
よりも少ないことがある。これらの数字を比較すると1
本発明が必要とする遅延/再開始はRだけ少なくなり、
メツセージは少なくともR−B4O(N −2)だけ少
なくなる。2経路共有の場合は、本発明によるメツセー
ジはIt−8だけ少なくなる。
4ブロツクで6レコードを読取り 2ブロツクのレコー
ドの 2つを更新するトランザクションの場合、2経路
データ共有を行なう現在のINS/VS方式のメツセー
ジ及び延期/再開始対の両者をカウントすると、下記の
結果が得られる: 動 作 メツセージ゛ メツセージ゛
S/RS/RIMS/VS 本発明 INS/VS
本発明READ4BLOCKS 0
4 4 4GET
6 RECORD LOCKS 4
0 4 0BLIFFER
NOTIFY 2 0
0 0UNLOCK ALL
1 1 0
0合 計 7 5
8 46つのロックを取得するにはINS/VS
に4つのメツセージが課されるに過ぎない、同じブロッ
クのロックの場合、 INS/VS資源ロック・マネジ
ャーにおける大域ハツシュ・テーブル方式は通信を減す
るものと仮定する。 UNLOCK ALLの場合は1
両方式とも1つのメツセージが課されているに過ぎない
、これは、今日では適切ではないことがある最適化を仮
定している。引用例では、本発明はバッファ無効化のた
め、より多くのメツセージを送るが、実際にはレコード
・ロックでそれらを減する。
ドの 2つを更新するトランザクションの場合、2経路
データ共有を行なう現在のINS/VS方式のメツセー
ジ及び延期/再開始対の両者をカウントすると、下記の
結果が得られる: 動 作 メツセージ゛ メツセージ゛
S/RS/RIMS/VS 本発明 INS/VS
本発明READ4BLOCKS 0
4 4 4GET
6 RECORD LOCKS 4
0 4 0BLIFFER
NOTIFY 2 0
0 0UNLOCK ALL
1 1 0
0合 計 7 5
8 46つのロックを取得するにはINS/VS
に4つのメツセージが課されるに過ぎない、同じブロッ
クのロックの場合、 INS/VS資源ロック・マネジ
ャーにおける大域ハツシュ・テーブル方式は通信を減す
るものと仮定する。 UNLOCK ALLの場合は1
両方式とも1つのメツセージが課されているに過ぎない
、これは、今日では適切ではないことがある最適化を仮
定している。引用例では、本発明はバッファ無効化のた
め、より多くのメツセージを送るが、実際にはレコード
・ロックでそれらを減する。
更に重要な要素は、現在のIMS/VSに必要な余分の
延期/再開始対が新しい方式では削除されることである
。
延期/再開始対が新しい方式では削除されることである
。
システムは、システムに故障が生ずると、DASDに再
書込みされていないコミットされた更新を有するブロッ
クを保持することができる。バッファ・マネジャー、資
源ロック・マネジャー及びデータベース回復制御は、残
存しているシステムのトランザクションが陳腐化したデ
ータに遭遇しないこと及び最新の値が速やかに復元され
ることを確実にするため協力しなければならない、資源
ロック・マネジャーはPO5TMSGのコピーを少なく
とも2つのシステムに保持するので、単一の故障ではP
O3TMSGメツセージを喪失することはない、これら
の保持されたメツセージは残存しているシステムに陳腐
化したデータを見させない、このシステムは、該故障バ
ッファ・マネジャーの代理を演じ、故障で失われたブロ
ック値の要求に答える。該代理は回復が完了し現在のブ
ロック値がDASDに再書込みし終るまで他のシステム
からの要求を留保する。データベース回復制御は失われ
たブロックの値を回復するため単一システム再実行型回
復を用いる。チエツクポイント式のような、現在の手法
は回復を実行するため検査しなければならないログ・デ
ータの量を制限するのに使用することができる1回復さ
れたブロックは残存しているシステムからのコミットさ
れていない更新を含むことがある。コミットされていな
いレコード値は該残存しているシステムによりなお保持
されたレコード・ロックによりカバーされる。故障した
システムの回復が完了すると、該ブロック・ロック(及
び該故障したシステムのコミットされていないトランザ
クションにより保持されたレコード・ロック)が開放さ
れる。該故障したシステムによりブロック・ロックに付
与された全てのメツセージも削除される。
書込みされていないコミットされた更新を有するブロッ
クを保持することができる。バッファ・マネジャー、資
源ロック・マネジャー及びデータベース回復制御は、残
存しているシステムのトランザクションが陳腐化したデ
ータに遭遇しないこと及び最新の値が速やかに復元され
ることを確実にするため協力しなければならない、資源
ロック・マネジャーはPO5TMSGのコピーを少なく
とも2つのシステムに保持するので、単一の故障ではP
O3TMSGメツセージを喪失することはない、これら
の保持されたメツセージは残存しているシステムに陳腐
化したデータを見させない、このシステムは、該故障バ
ッファ・マネジャーの代理を演じ、故障で失われたブロ
ック値の要求に答える。該代理は回復が完了し現在のブ
ロック値がDASDに再書込みし終るまで他のシステム
からの要求を留保する。データベース回復制御は失われ
たブロックの値を回復するため単一システム再実行型回
復を用いる。チエツクポイント式のような、現在の手法
は回復を実行するため検査しなければならないログ・デ
ータの量を制限するのに使用することができる1回復さ
れたブロックは残存しているシステムからのコミットさ
れていない更新を含むことがある。コミットされていな
いレコード値は該残存しているシステムによりなお保持
されたレコード・ロックによりカバーされる。故障した
システムの回復が完了すると、該ブロック・ロック(及
び該故障したシステムのコミットされていないトランザ
クションにより保持されたレコード・ロック)が開放さ
れる。該故障したシステムによりブロック・ロックに付
与された全てのメツセージも削除される。
第1図はN経路のシステムで動作するプロセス/ユーザ
ーによって2つのレコードを更新する際に本発明によっ
て用いられる方法を示す図、第2図は本発明による動作
の代表的なディジタル計算システム構成を表わすブロッ
ク図、第3図は2経路のシステムで動作するプロセス/
ユーザーによってブロックの2つのレコードを更新する
従来技術の方法を示す図、 第4図は階層ロックマネジャーの構造を表わすブロック
図、 第5図はIM及びRLMにより維持される表の例を示す
図、 第6図は各管理システム/トランザクション・プロセッ
サ内に含まれるバッファ・マネジャー・モジュールを示
す図である。 10・・・・IM、 11.12・・・・CEC113
,14・・・・DASD、21.22・・・・ホスト・
オペレーティング・システム、27・・・・通信制御装
置、31〜34・・・・管理システム/トランザクショ
ン・プロセッサ、41〜44・・・・バッファ・プール
、51.52 ・・・・DBIC161,62・・・
・RLM、71〜74・・・・トランザクション・ログ
・ディスク。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 頓 宮 孝 −(外1名) ¥ 3 口 篤4 回 χ 5 図
ーによって2つのレコードを更新する際に本発明によっ
て用いられる方法を示す図、第2図は本発明による動作
の代表的なディジタル計算システム構成を表わすブロッ
ク図、第3図は2経路のシステムで動作するプロセス/
ユーザーによってブロックの2つのレコードを更新する
従来技術の方法を示す図、 第4図は階層ロックマネジャーの構造を表わすブロック
図、 第5図はIM及びRLMにより維持される表の例を示す
図、 第6図は各管理システム/トランザクション・プロセッ
サ内に含まれるバッファ・マネジャー・モジュールを示
す図である。 10・・・・IM、 11.12・・・・CEC113
,14・・・・DASD、21.22・・・・ホスト・
オペレーティング・システム、27・・・・通信制御装
置、31〜34・・・・管理システム/トランザクショ
ン・プロセッサ、41〜44・・・・バッファ・プール
、51.52 ・・・・DBIC161,62・・・
・RLM、71〜74・・・・トランザクション・ログ
・ディスク。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 頓 宮 孝 −(外1名) ¥ 3 口 篤4 回 χ 5 図
Claims (1)
- 【特許請求の範囲】 複数の並行して実行可能な独立なユーザーにより、デー
タ資源の選択的にロック可能な部分に同時にアクセスし
且つ上記データ資源の部分の情報状態の複製物間にコヒ
ーレンシーを維持する方法であって、 ユーザーにより、対応する電子システムの資源ロック・
マネジャーに、データ資源の所望部分に関する更新ロッ
クを要求し、 資源ロック・マネジャーにより上記データ資源の所望部
分に関する上記電子システムの利害関係状態を判定する
とともに、上記判定処理と並行して上記データ資源に条
件付きアクセスを行なって上記電子システム内に上記デ
ータ資源の所望部分をバッファし、 上記判定ステップにより上記データ資源の所望部分に他
の電子システムが利害関係を有していないことが示され
る時、資源ロック・マネジャーにより上記電子システム
及び上記要求を行なっているユーザーに上記更新ロック
を許可し、上記電子システム内にバッファされた上記デ
ータ資源に、上記電子システムが更新ロック及び上記資
源に対する独占的な利害関係を保持していることを示す
メッセージを付加し、 上記電子システム内に、上記バッファされた資源に読取
ロックを要求している全てのシステム中のユーザーのリ
ストを維持し、 上記バッファされた資源に含まれるデータを処理し、デ
ータに対する変更を上記資源ロック・マネジャーに報告
し、 上記バッファされた資源上に読取ロックを保持している
全てのリストされたユーザーに、現行データに非コヒー
レンシーのあることを通知するステップを含む データ資源アクセス方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/155,674 US4965719A (en) | 1988-02-16 | 1988-02-16 | Method for lock management, page coherency, and asynchronous writing of changed pages to shared external store in a distributed computing system |
| US155674 | 1988-02-16 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01211140A true JPH01211140A (ja) | 1989-08-24 |
Family
ID=22556346
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63318658A Pending JPH01211140A (ja) | 1988-02-16 | 1988-12-19 | データ資源アクセス方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US4965719A (ja) |
| EP (1) | EP0328827A3 (ja) |
| JP (1) | JPH01211140A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03102543A (ja) * | 1989-09-18 | 1991-04-26 | Nec Corp | データ操作命令閉塞方式 |
| JPH05134915A (ja) * | 1991-06-14 | 1993-06-01 | Internatl Business Mach Corp <Ibm> | 共用データシステムにおけるデータ資源のロツキング方法及びシステム間のデータロツク管理方法 |
| JPH09179767A (ja) * | 1995-12-06 | 1997-07-11 | Electron & Telecommun Res Inst | 多重使用者環境の貯蔵システムにおいて、バッファーロック技法を用いたバッファー管理方法 |
| JP2006277634A (ja) * | 2005-03-30 | 2006-10-12 | Nec Corp | 排他制御方法と情報処理装置 |
| WO2012147203A1 (ja) * | 2011-04-28 | 2012-11-01 | 三菱電機株式会社 | システムコントローラ及びプログラム |
Families Citing this family (126)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2650965B2 (ja) * | 1988-05-27 | 1997-09-10 | 株式会社日立製作所 | 計算機システムおよびそのタスクスケジュール方法 |
| DE3885451T2 (de) * | 1988-06-16 | 1994-05-11 | Ibm | Elektronisches Post-Folgesystem. |
| EP0381655A3 (en) * | 1989-01-31 | 1992-12-02 | International Business Machines Corporation | Method for synchronizing the dispatching of tasks among multitasking operating systems |
| US5101488A (en) * | 1989-05-02 | 1992-03-31 | Motorola, Inc. | Method for retrieving and updating data in a real-time data base system |
| JPH032939A (ja) * | 1989-05-30 | 1991-01-09 | Hitachi Ltd | データ管理方法 |
| US5170480A (en) * | 1989-09-25 | 1992-12-08 | International Business Machines Corporation | Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time |
| US5117352A (en) * | 1989-10-20 | 1992-05-26 | Digital Equipment Corporation | Mechanism for fail-over notification |
| US5161227A (en) * | 1989-11-13 | 1992-11-03 | International Business Machines Corporation | Multilevel locking system and method |
| US5063503A (en) * | 1989-12-18 | 1991-11-05 | At&T Bell Laboratories | Information control system for selectively locking an entity with requested intermediate reserve exclusive and share locks |
| US5063501A (en) * | 1989-12-18 | 1991-11-05 | At&T Bell Laboratories | Information control system for selectively transferring a tree lock from a parent node to a child node thereby freeing other nodes for concurrent access |
| US5062038A (en) * | 1989-12-18 | 1991-10-29 | At&T Bell Laboratories | Information control system |
| US5063502A (en) * | 1989-12-18 | 1991-11-05 | At&T Bell Laborabories | Information control system for counting lock application against composite information infrastructure |
| US5063504A (en) * | 1989-12-18 | 1991-11-05 | At&T Bell Laboratories | Information control system for reserve locking infrastructure nodes for subsequent exclusive and share locking by the system |
| JP2699600B2 (ja) * | 1990-01-30 | 1998-01-19 | 日本電気株式会社 | 資源の排他制御方式 |
| US5301290A (en) * | 1990-03-14 | 1994-04-05 | International Business Machines Corporation | Method for minimizing lock processing while ensuring consistency among pages common to local processor caches and a shared external store |
| US5293600A (en) * | 1990-04-06 | 1994-03-08 | International Business Machines Corporation | Counter and flux bit locking for very fast shared serialization of shared data objects |
| US5369764A (en) * | 1990-04-25 | 1994-11-29 | Blair; Gary L. | Method for sharing access to database elements in a data processing system |
| GB9009702D0 (en) * | 1990-04-30 | 1990-06-20 | Hewlett Packard Co | Object based computer system |
| US5261089A (en) * | 1990-05-16 | 1993-11-09 | International Business Machines Corporation | Optimization of commit procedures by utilizing a two-phase commit procedure only when necessary |
| US5459862A (en) * | 1990-06-14 | 1995-10-17 | Sunquest Informaion Systems, Inc. | Network concurrency control for autonomous databases featuring independent lock release and lock ownership transfer |
| US5669002A (en) * | 1990-06-28 | 1997-09-16 | Digital Equipment Corp. | Multi-processor resource locking mechanism with a lock register corresponding to each resource stored in common memory |
| US5261069A (en) * | 1990-08-13 | 1993-11-09 | Hewlett-Packard Company | Method of maintaining consistency of cached data in a database system |
| JP2511588B2 (ja) * | 1990-09-03 | 1996-06-26 | インターナショナル・ビジネス・マシーンズ・コーポレイション | デ―タ処理ネットワ―ク、ロックを獲得させる方法及び直列化装置 |
| US5537574A (en) * | 1990-12-14 | 1996-07-16 | International Business Machines Corporation | Sysplex shared data coherency method |
| JPH0827755B2 (ja) * | 1991-02-15 | 1996-03-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データの単位を高速度でアクセスする方法 |
| JPH079632B2 (ja) * | 1991-06-18 | 1995-02-01 | インターナショナル・ビジネス・マシーンズ・コーポレイション | アドレス変換装置および方法 |
| US5457793A (en) * | 1992-03-30 | 1995-10-10 | International Business Machines Corporation | Software cache management of a shared electronic store in a supplex |
| CA2086691C (en) * | 1992-03-30 | 1997-04-08 | David A. Elko | Communicating messages between processors and a coupling facility |
| US5317739A (en) * | 1992-03-30 | 1994-05-31 | International Business Machines Corp. | Method and apparatus for coupling data processing systems |
| US5408653A (en) * | 1992-04-15 | 1995-04-18 | International Business Machines Corporation | Efficient data base access using a shared electronic store in a multi-system environment with shared disks |
| EP0569605A1 (de) * | 1992-05-06 | 1993-11-18 | International Business Machines Corporation | Verfahren zur Zugriffsverwaltung und -steuerung mehrerer Rechner auf gemeinsame Daten |
| US5423044A (en) * | 1992-06-16 | 1995-06-06 | International Business Machines Corporation | Shared, distributed lock manager for loosely coupled processing systems |
| JP2842738B2 (ja) * | 1992-08-25 | 1999-01-06 | 富士通株式会社 | オンライン処理システム |
| US5392433A (en) * | 1992-09-25 | 1995-02-21 | International Business Machines Corporation | Method and apparatus for intraprocess locking of a shared resource in a computer system |
| US5596754A (en) * | 1992-10-29 | 1997-01-21 | Digital Equipment Corporation | Method for performing private lock management |
| US5485607A (en) * | 1993-02-05 | 1996-01-16 | Digital Equipment Corporation | Concurrency-control method and apparatus in a database management system utilizing key-valued locking |
| US5619671A (en) * | 1993-04-19 | 1997-04-08 | International Business Machines Corporation | Method and apparatus for providing token controlled access to protected pages of memory |
| US5628023A (en) * | 1993-04-19 | 1997-05-06 | International Business Machines Corporation | Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view |
| US5911138A (en) * | 1993-06-04 | 1999-06-08 | International Business Machines Corporation | Database search facility having improved user interface |
| US5442758A (en) * | 1993-07-19 | 1995-08-15 | Sequent Computer Systems, Inc. | Apparatus and method for achieving reduced overhead mutual exclusion and maintaining coherency in a multiprocessor system utilizing execution history and thread monitoring |
| US5615373A (en) * | 1993-08-26 | 1997-03-25 | International Business Machines Corporation | Data lock management in a distributed file server system determines variable lock lifetime in response to request to access data object |
| US5526524A (en) * | 1993-12-23 | 1996-06-11 | International Business Machines Corporation | Method and system for management of locked objects in a computer supported cooperative work environment |
| US5454108A (en) * | 1994-01-26 | 1995-09-26 | International Business Machines Corporation | Distributed lock manager using a passive, state-full control-server |
| US5450595A (en) * | 1994-02-15 | 1995-09-12 | International Business Machines Corporation | Multiple hash tables based on access frequency |
| US5712974A (en) * | 1994-03-30 | 1998-01-27 | International Business Machines Corporation | Method and apparatus for controlling the configuration definitions in a data processing system with a plurality of processors |
| US5546579A (en) * | 1994-05-02 | 1996-08-13 | International Business Machines Corporation | Page refreshing procedure using two locking granularities to ensure cache coherency in a multisystem database processing environment having a high-speed shared electronic store |
| EP0764302B1 (en) * | 1994-06-10 | 1998-12-02 | Texas Micro Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
| US5751992A (en) * | 1994-09-23 | 1998-05-12 | International Business Machines Corporation | Computer program product for continuous destaging of changed data from a shared cache in a multisystem shared disk environment wherein castout interest is established in a hierarchical fashion |
| US5577261A (en) * | 1995-01-23 | 1996-11-19 | Tandem Computers Incorporated | Ordered and reliable maintenance of inter-process relationships in a distributed multiprocessor |
| US5630140A (en) * | 1995-01-23 | 1997-05-13 | Tandem Computers Incorporated | Ordered and reliable signal delivery in a distributed multiprocessor |
| US5550973A (en) * | 1995-03-15 | 1996-08-27 | International Business Machines Corporation | System and method for failure recovery in a shared resource system having a moving write lock |
| JP3086779B2 (ja) * | 1995-06-19 | 2000-09-11 | 株式会社東芝 | メモリ状態復元装置 |
| US5860137A (en) * | 1995-07-21 | 1999-01-12 | Emc Corporation | Dynamic load balancing |
| US5692182A (en) * | 1995-10-05 | 1997-11-25 | International Business Machines Corporation | Bufferpool coherency for identifying and retrieving versions of workfile data using a producing DBMS and a consuming DBMS |
| US5737514A (en) * | 1995-11-29 | 1998-04-07 | Texas Micro, Inc. | Remote checkpoint memory system and protocol for fault-tolerant computer system |
| US5751939A (en) * | 1995-11-29 | 1998-05-12 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory |
| US5864657A (en) * | 1995-11-29 | 1999-01-26 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
| US5745672A (en) * | 1995-11-29 | 1998-04-28 | Texas Micro, Inc. | Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer |
| US6574654B1 (en) * | 1996-06-24 | 2003-06-03 | Oracle Corporation | Method and apparatus for lock caching |
| US5805900A (en) * | 1996-09-26 | 1998-09-08 | International Business Machines Corporation | Method and apparatus for serializing resource access requests in a multisystem complex |
| TW379298B (en) * | 1996-09-30 | 2000-01-11 | Toshiba Corp | Memory updating history saving device and memory updating history saving method |
| US5930794A (en) * | 1996-10-18 | 1999-07-27 | Sagent Technologies, Inc. | Database repository with deferred transactions |
| US6754656B1 (en) | 1996-10-22 | 2004-06-22 | International Business Machines Corporation | System and method for selective partition locking |
| US7480653B2 (en) * | 1996-10-22 | 2009-01-20 | International Business Machines Corporation | System and method for selective partition locking |
| US5872981A (en) * | 1997-05-30 | 1999-02-16 | Oracle Corporation | Method for managing termination of a lock-holding process using a waiting lock |
| US6092155A (en) | 1997-07-10 | 2000-07-18 | International Business Machines Corporation | Cache coherent network adapter for scalable shared memory processing systems |
| US6044438A (en) * | 1997-07-10 | 2000-03-28 | International Business Machiness Corporation | Memory controller for controlling memory accesses across networks in distributed shared memory processing systems |
| US6292860B1 (en) | 1997-12-16 | 2001-09-18 | Ncr Corporation | Method for preventing deadlock by suspending operation of processors, bridges, and devices |
| US6021430A (en) * | 1998-04-15 | 2000-02-01 | Unisys Corporation | Output interface method and system for enhanced data transfers via cooperative service interface |
| US6009463A (en) * | 1998-04-15 | 1999-12-28 | Unisys Corporation | Cooperative service interface with buffer and lock pool sharing, for enhancing message-dialog transfer between network provider and distributed system services |
| US6101533A (en) * | 1998-04-15 | 2000-08-08 | Unisys Corporation | Multiple interface data communication system and method utilizing multiple connection library interfaces with buffer and lock pool sharing |
| US6334134B1 (en) * | 1998-08-18 | 2001-12-25 | International Business Machines Corporation | Insert performance on a multi-system transaction environment |
| US6330612B1 (en) * | 1998-08-28 | 2001-12-11 | International Business Machines Corporation | Method and apparatus for serializing access to a shared resource in an information handling system |
| US7013305B2 (en) | 2001-10-01 | 2006-03-14 | International Business Machines Corporation | Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange |
| US6751617B1 (en) | 1999-07-12 | 2004-06-15 | Xymphonic Systems As | Method, system, and data structures for implementing nested databases |
| US6529905B1 (en) | 2000-01-11 | 2003-03-04 | Frontline Solutions, Inc. | Method and system for allowing multiple users to edit a hierarchical data structure |
| US6571276B1 (en) * | 2000-02-23 | 2003-05-27 | International Business Machines Corporation | System for managing asset access in a distributed storage system |
| WO2002010978A2 (en) * | 2000-07-28 | 2002-02-07 | Xymphonic Systems As | Method, system and data structures for implementing nested databases |
| US6704767B1 (en) * | 2000-09-26 | 2004-03-09 | Oracle International Corporation | Using distributed information about lock conversion requests to efficiently manage lock state transitions |
| US20020073026A1 (en) * | 2000-12-12 | 2002-06-13 | Gruber Allen B. | System and method for interactive fundraising over a wide-area network |
| US20020111904A1 (en) * | 2001-02-13 | 2002-08-15 | Gruber Harry E. | Method and system for soliciting charitable donation during electronic commerce |
| US20020165759A1 (en) * | 2001-05-03 | 2002-11-07 | Gruber Harry E. | Method and system for efficient communication and relationship management |
| US6603955B2 (en) * | 2001-06-27 | 2003-08-05 | Harry E. Gruber | Mission certification quiz for fundraising campaign |
| US20030033244A1 (en) * | 2001-08-10 | 2003-02-13 | Ephraim Feig | Method and system for determining a person's interests and soliciting donation over a wide area network |
| AU2002326117A1 (en) * | 2001-08-15 | 2003-03-03 | Ariel Noy | Service provisioning in a distributed network management architecture |
| US20030088455A1 (en) * | 2001-11-02 | 2003-05-08 | Gruber Harry E | Increasing pubilc awareness of non-profit organizations' missions |
| US20030217131A1 (en) * | 2002-05-17 | 2003-11-20 | Storage Technology Corporation | Processing distribution using instant copy |
| US7080378B1 (en) | 2002-05-17 | 2006-07-18 | Storage Technology Corporation | Workload balancing using dynamically allocated virtual servers |
| US20040049399A1 (en) * | 2002-09-10 | 2004-03-11 | Elisabeth Familian | Method and system for online donation and sending customized card |
| US20040059793A1 (en) * | 2002-09-20 | 2004-03-25 | Gruber Allen B. | Method and system for virtual website domain name service |
| US7739245B1 (en) | 2002-09-30 | 2010-06-15 | Symantec Operating Corporation | Block locking in a multi-node environment |
| US8185602B2 (en) | 2002-11-05 | 2012-05-22 | Newisys, Inc. | Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters |
| US20040093226A1 (en) * | 2002-11-08 | 2004-05-13 | Gruber Harry E. | Distributed method and system for managing volunteers and other individuals engaged in fundraising campaign |
| US6950913B2 (en) * | 2002-11-08 | 2005-09-27 | Newisys, Inc. | Methods and apparatus for multiple cluster locking |
| US7107272B1 (en) | 2002-12-02 | 2006-09-12 | Storage Technology Corporation | Independent distributed metadata system and method |
| US20040122682A1 (en) * | 2002-12-18 | 2004-06-24 | Gruber Allen B. | Method and system for efficient validation of nonprofit organizations |
| US20040128269A1 (en) * | 2002-12-27 | 2004-07-01 | Milligan Charles A. | System and method for managing data through families of inter-related metadata tables |
| US6996682B1 (en) | 2002-12-27 | 2006-02-07 | Storage Technology Corporation | System and method for cascading data updates through a virtual copy hierarchy |
| US7340743B1 (en) * | 2003-04-25 | 2008-03-04 | Symantec Operating Corporation | Masterless locks in a multi-node environment |
| JP4012517B2 (ja) * | 2003-04-29 | 2007-11-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 仮想計算機環境におけるロックの管理 |
| US20040230896A1 (en) * | 2003-05-16 | 2004-11-18 | Dethe Elza | Method and system for enabling collaborative authoring of hierarchical documents with unique node identifications |
| US20040244001A1 (en) * | 2003-05-30 | 2004-12-02 | Haller John Henry | Methods of allocating use of multiple resources in a system |
| US7254683B2 (en) * | 2003-11-03 | 2007-08-07 | International Business Machines Corporation | Speculative data mirroring apparatus method and system |
| US7574438B2 (en) * | 2003-12-03 | 2009-08-11 | Sap Aktiengesellschaft | Database access with multilevel lock |
| US7406698B2 (en) * | 2003-12-30 | 2008-07-29 | Microsoft Corporation | Driver framework component for synchronizing interactions between a multi-threaded environment and a driver operating in a less-threaded software environment |
| US20050278280A1 (en) * | 2004-05-28 | 2005-12-15 | Semerdzhiev Krasimir P | Self update mechanism for update module |
| US7779404B2 (en) * | 2004-06-10 | 2010-08-17 | Cisco Technology, Inc. | Managing network device configuration using versioning and partitioning |
| US8090806B1 (en) | 2004-06-10 | 2012-01-03 | Cisco Technology, Inc. | Two-stage network device configuration process |
| JP4526337B2 (ja) * | 2004-09-15 | 2010-08-18 | 株式会社日立製作所 | データ管理システム及び方法 |
| US8359429B1 (en) * | 2004-11-08 | 2013-01-22 | Symantec Operating Corporation | System and method for distributing volume status information in a storage system |
| US20060123003A1 (en) * | 2004-12-08 | 2006-06-08 | International Business Machines Corporation | Method, system and program for enabling non-self actuated database transactions to lock onto a database component |
| US7735089B2 (en) * | 2005-03-08 | 2010-06-08 | Oracle International Corporation | Method and system for deadlock detection in a distributed environment |
| US20070150658A1 (en) * | 2005-12-28 | 2007-06-28 | Jaideep Moses | Pinning locks in shared cache |
| US20080005512A1 (en) * | 2006-06-29 | 2008-01-03 | Raja Narayanasamy | Network performance in virtualized environments |
| US7636832B2 (en) * | 2006-10-26 | 2009-12-22 | Intel Corporation | I/O translation lookaside buffer performance |
| US8495311B2 (en) * | 2009-06-25 | 2013-07-23 | International Business Machines Corporation | Updating shared variables atomically |
| US8046633B2 (en) * | 2009-12-10 | 2011-10-25 | International Business Machines Corporation | Improving data availability during failure detection and recovery processing in a shared resource system |
| WO2011112051A2 (ko) * | 2010-03-11 | 2011-09-15 | 엘지전자 주식회사 | 무선 통신 시스템에서 mtc를 위한 방법 및 장치 |
| CN101872296B (zh) * | 2010-06-18 | 2014-12-10 | 中兴通讯股份有限公司 | 实现大容量群发短信的装置及方法 |
| JP5661586B2 (ja) * | 2011-09-30 | 2015-01-28 | 株式会社沖データ | 画像形成装置、情報処理装置及び画像形成システム |
| US9262463B2 (en) * | 2013-08-05 | 2016-02-16 | International Business Machines Corporation | Managing multiple locks for data set members in a data set index |
| US20150113191A1 (en) * | 2013-10-17 | 2015-04-23 | International Business Machines Corporation | Resource serialization in a transactional execution facility |
| US10404700B1 (en) * | 2015-08-27 | 2019-09-03 | Cadence Design Systems, Inc. | Concurrent design process |
| US10467198B2 (en) * | 2016-09-15 | 2019-11-05 | Oracle International Corporation | Network partition tolerance in a high available centralized VCS implementation |
| US10310916B2 (en) * | 2017-09-14 | 2019-06-04 | Intel Corporation | Scalable spinlocks for non-uniform memory access |
| US11003652B1 (en) * | 2020-01-14 | 2021-05-11 | International Business Machines Corporation | Multi-write database modification |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62145349A (ja) * | 1985-12-20 | 1987-06-29 | Hitachi Ltd | システム間デ−タベ−ス共用方式 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4207609A (en) * | 1978-05-08 | 1980-06-10 | International Business Machines Corporation | Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system |
| US4480304A (en) * | 1980-10-06 | 1984-10-30 | International Business Machines Corporation | Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment |
| US4399504A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment |
| US4412285A (en) * | 1981-04-01 | 1983-10-25 | Teradata Corporation | Multiprocessor intercommunication system and method |
| US4489379A (en) * | 1982-01-25 | 1984-12-18 | International Business Machines Corporation | Distributed data processing in ring-structured networks architected for full duplex peer-to-peer operation of processing stations and uninterruptible transfer of long data records between stations |
| US4574350A (en) * | 1982-05-19 | 1986-03-04 | At&T Bell Laboratories | Shared resource locking apparatus |
| US4587609A (en) * | 1983-07-01 | 1986-05-06 | Honeywell Information Systems Inc. | Lockout operation among asynchronous accessers of a shared computer system resource |
| US4584643A (en) * | 1983-08-31 | 1986-04-22 | International Business Machines Corporation | Decentralized synchronization of clocks |
| US4531185A (en) * | 1983-08-31 | 1985-07-23 | International Business Machines Corporation | Centralized synchronization of clocks |
| JPS60107170A (ja) * | 1983-11-15 | 1985-06-12 | Nec Corp | マルチプロセッサ制御方式 |
| US4604694A (en) * | 1983-12-14 | 1986-08-05 | International Business Machines Corporation | Shared and exclusive access control |
| US4716528A (en) * | 1986-02-03 | 1987-12-29 | International Business Machines Corporation | Method for managing lock escalation in a multiprocessing, multiprogramming environment |
-
1988
- 1988-02-16 US US07/155,674 patent/US4965719A/en not_active Expired - Fee Related
- 1988-12-19 JP JP63318658A patent/JPH01211140A/ja active Pending
- 1988-12-19 EP EP19880312009 patent/EP0328827A3/en not_active Withdrawn
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62145349A (ja) * | 1985-12-20 | 1987-06-29 | Hitachi Ltd | システム間デ−タベ−ス共用方式 |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03102543A (ja) * | 1989-09-18 | 1991-04-26 | Nec Corp | データ操作命令閉塞方式 |
| JPH05134915A (ja) * | 1991-06-14 | 1993-06-01 | Internatl Business Mach Corp <Ibm> | 共用データシステムにおけるデータ資源のロツキング方法及びシステム間のデータロツク管理方法 |
| JPH09179767A (ja) * | 1995-12-06 | 1997-07-11 | Electron & Telecommun Res Inst | 多重使用者環境の貯蔵システムにおいて、バッファーロック技法を用いたバッファー管理方法 |
| JP2006277634A (ja) * | 2005-03-30 | 2006-10-12 | Nec Corp | 排他制御方法と情報処理装置 |
| WO2012147203A1 (ja) * | 2011-04-28 | 2012-11-01 | 三菱電機株式会社 | システムコントローラ及びプログラム |
| JP5558632B2 (ja) * | 2011-04-28 | 2014-07-23 | 三菱電機株式会社 | システムコントローラ、設備システム及びプログラム |
| US9488970B2 (en) | 2011-04-28 | 2016-11-08 | Mitsubishi Electric Corporation | System controller and program |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0328827A2 (en) | 1989-08-23 |
| US4965719A (en) | 1990-10-23 |
| EP0328827A3 (en) | 1992-03-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH01211140A (ja) | データ資源アクセス方法 | |
| EP0735473B1 (en) | Method and apparatus for managing a database in a distributed object operating environment | |
| US8126843B2 (en) | Cluster-wide read-copy update system and method | |
| US5574902A (en) | Efficient destaging of updated local cache pages for a transaction in a multisystem and multiprocess database management system with a high-speed shared electronic store | |
| US11449241B2 (en) | Customizable lock management for distributed resources | |
| US5761660A (en) | Computer program product and program storage device for database access using a shared electronic store in a multi-system environment having shared disks | |
| US5504900A (en) | Commitment ordering for guaranteeing serializability across distributed transactions | |
| US5276835A (en) | Non-blocking serialization for caching data in a shared cache | |
| US5623659A (en) | Parent/child subset locking scheme for versioned objects | |
| US5434994A (en) | System and method for maintaining replicated data coherency in a data processing system | |
| US6389420B1 (en) | File manager providing distributed locking and metadata management for shared data access by clients relinquishing locks after time period expiration | |
| Mueller et al. | A nested transaction mechanism for LOCUS | |
| EP0549140A2 (en) | Record updating method | |
| JPH056297A (ja) | トランザクシヨン処理方法およびシステム | |
| US20050022047A1 (en) | Conditional data access after database system failure | |
| JPH03161859A (ja) | リクエスト管理方法及びアクセス制御システム | |
| US10929201B2 (en) | Method and system for implementing generation locks | |
| JPH04310148A (ja) | データの単位を高速度でアクセスする方法 | |
| JPH06222936A (ja) | 共用変数の値を更新する方法 | |
| Thomson et al. | Fast distributed transactions and strongly consistent replication for OLTP database systems | |
| Ulusoy | Research issues in real-time database systems: survey paper | |
| CN100449539C (zh) | 无共享数据库系统中的单相提交 | |
| Stone | Database applications of the fetch-and-add instruction | |
| CN115629822B (zh) | 一种基于多核处理器的并发事务处理方法及其系统 | |
| US6366946B1 (en) | Critical code processing management |