JPS6131500B2 - - Google Patents
Info
- Publication number
- JPS6131500B2 JPS6131500B2 JP56112395A JP11239581A JPS6131500B2 JP S6131500 B2 JPS6131500 B2 JP S6131500B2 JP 56112395 A JP56112395 A JP 56112395A JP 11239581 A JP11239581 A JP 11239581A JP S6131500 B2 JPS6131500 B2 JP S6131500B2
- Authority
- JP
- Japan
- Prior art keywords
- lock
- irlm
- resource
- request
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING 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)
- Multi Processors (AREA)
Description
本発明の技術分野
本発明は、汎用コンピユータ・システムを1つ
又はそれ以上のプログラムの上で同時に動作させ
る装置に関する。更に具体的には、本発明は、1
つ又はそれ以上の中央電子複合体で実行中の異つ
たプログラムによつて共用されている資源へのア
クセスをダイナミツクに制御し、かつ上記資源の
保全性を維持するとともに、異つた中央電子複合
体の間で共用される制御パラメータの通信を最少
ならしめる装置に関する。 背景の技術 多くの作業ユニツト又はサブタスクが共通のレ
コードへアクセスする必要がある大型データ・ベ
ース・システムにおいては、データの保全性を維
持するため同時的アクセスを管理する必要があ
る。 従来までのデータ共用方式の1つは、単一区画
内の2つ又はそれ以上のサブタスクにより、2つ
又はそれ以上のジヨブ・ステツプにより(複数の
区画)、及び任意数のユーザにより(クロスシス
テム共用方式)VSAMデータ・セツトを同時にア
クセス。IBM社から出版されたVSAMに関する手
引書によれば(例えば、G320−5774−01、
1979、95〜97頁)、読出し又は書込みのためにデ
ータ・セツトを開く多くのオプシヨンが可能であ
る。 VSAMクロス区画/領域共用方式において、
VSAMデータ・セツトが定義されるとき、オプシ
ヨンはDEFINE指令のSHARE OPTIONSパラメ
ータによつて定義される。最初のオプシヨンによ
つて、データ・セツトは、出力処理のために1人
のユーザによつてのみ開かれてよく(レコードを
更新し又は付加するため)、又は読出し動作のた
めにのみ複数のユーザによつて開かれてよい。こ
のオプシヨンによつて、完全な読出し及び書込み
の保全性が与えられる。第2のオプシヨンにおい
て、データ・セツトは出力処理のために1人のユ
ーザによつて開かれることができ、読取りだけの
処理のために複数人のユーザによつて開かれるこ
とができる。このオプシヨンにおいて、ユーザは
更新されつつあるレコードを読取ることができる
ので、書込保全性は実現されるが、読取保全性は
実現されない。第3のオプシヨンにおいて、デー
タ・セツトは読取り及び書込み動作のために任意
数のユーザによつて開かれることができ、保全性
(読取り又は書込み)はVSAMによつて実現され
ない。 VSAMクロス・システム共用方式では、第1オ
プシヨンによつて、データ・セツトは読取り及び
書込み動作について任意数のユーザによつて開か
れることができるが、保全性はVSAMによつて実
現されない。第2オプシヨンでは、データ・セツ
トは任意数のユーザによつて読取り及び書込み動
作について開かれることができるが、VSAMはそ
れぞれの直接処理要求のために新しいバツフアを
用意し、データ・セツトの保全性を維持するため
に、RESERVE及びRELEASEマクロがユーザに
よつて使用されなければならない。 第1オプシヨンを除く上記オプシヨンのいずれ
においても、VSAMのユーザは、ENQ/DEQ又
はRESERVE/RELEASEマクロを使用して、デ
ータ・セツトの保全性を維持しなければならな
い。 従来までのIBM IMS/VS製品において、その
ようなマクロの発生は、プログラム分離手段の機
能である(IMS/VS 第1版手引書、プログラ
ム番号5740−XX2、リリース1.5、IBM出版物
SH20−9145−0、3.12〜3.14頁参照)。しかし、
この手段を使用しては、異つた中央電子複合体
(CEC)上で動作を実行している複数人のユーザ
は、共通のデータへ同時にアクセスすることがで
きず、大型組織体によつてデータ・ベースを効果
的に使用しようとする場合の大きな障害となる。 共通のデータへ複数の同時的アクセスを実行さ
せる従来までの方式は、米国特許出願第965810号
に記載されている。この特許出願は同時通報装置
に関する。外部エンキユー装置(EEF)5は、
それぞれのCPU及びコングルー・アンス・クラ
ス・(Congruence class)ごとに関心ビツトを有
する。関心ビツトのセツトは、CPUが対応する
コングルーアンス・クラスのデータ資源上でロツ
クを保持しているか、又はそれを待機しているこ
とを示す。それぞれのCPUは内部エンキユー装
置(IEF)を含み、このIEFはそれぞれのコング
ルーアンス・クラスごとにロツク・ビツトを有す
る。データ資源へのアクセス要求(リクエスト)
は、IEF内に対応するロツク・ビツトがセツトさ
れていれば、CPUによつて許されるが、上記ロ
ツク・ビツトがセツトされていなければ、アクセ
ス要求は先ずEEFへ、次いでEEFにおいてアク
セス要求のコングルーアンス・クラスに関心を有
する他のCPUへ通報されねばならない。上記米
国出願に説明されるシステムは実際上同時通報装
置であつて、同時アクセスを制御する構成は説明
されていない。更に、EEFは別個のハードウエ
ア装置又はCPUの1つに設けられる。EEFにお
ける故障は、CPU群といずれかのCPUによるデ
ータ資源アクセス要求の処理との間の通信を妨害
する。それぞれのCPUには、故障したCPU又は
EEFによつて後の回復動作のために設定された
ロツクを維持する手段は設けられていない。 本発明の要約 本発明の目的は、同一及び/又は異つた中央電
子複合体(CEC)の上に在る複数のユーザによ
つて、データ資源へのアクセスが同時になされる
のを制御する装置を提供することである。 本発明の他の目的は、サブシステム、通信、ロ
ツク・マネジヤの故障から回復を可能ならしめる
ロツキング装置を提供することである。 本発明の他の目的は、データ資源へ同時にアク
セスしているCEC群の間でロツク・データの通
信を最適化させるための通信プロトコルを提供す
ることである。 本発明の他の目的は、マルチプログラミング及
びマルチプロセツサ環境において、複数のユーザ
の間でデータ、通信、及び計算資源を割当てるた
めの汎用コンピユータにおける制御装置を提供す
ることである。 複数の中央電子複合体を含むコンピユータ・シ
ステムは、本発明を組込まれた場合、1つ又はそ
れ以上のプログラムを同時に処理することができ
る。1つ又はそれ以上の中央電子複合体の上で動
作しているプログラムによつて共用される資源へ
のアクセスは、上記複合体の間で共用制御パラメ
ータを最少限通知するだけで制御される。その制
御方法は次のとおりである。 (1) それぞれの資源コングルーアンス・クラスに
関して、各複合体の関心状態をそれぞれの複合
体の中に維持する。もし複合体が以前に或るコ
ングルーアンス・クラス内の資源に対してアク
セスを許したのであれば、その複合体はそのコ
ングルーアンス・クラスに関心を有する。 (2) 第1の複合体内で、資源キー及び資源コング
ルーアンス・クラスを有する資源に対してアク
セス・リクエストを発生する。 (3) アクセス・リクエストの資源コングルーアン
ス・クラスにおいて第1及び第2の複合体の関
心状態を決定する。 (4) アクセス・リクエストの資源コングルーアン
ス・クラスにおいて、第1複合体が関心を有し
第2複合体が関心を有しないことが決定される
と、第2複合体へ通知することなく、第1複合
体中でアクセス・リクエストを処理する。 (5) 第2複合体がアクセス・リクエストの資源コ
ングルーアンス・クラスに関心を有することが
決定されると、更に処理を行うためアクセス・
リクエストを第2複合体へ通知する。 (6) いずれの複合体もアクセス・リクエストの資
源コングルーアンス・クラスに関心を有しない
ことが決定されると、アクセス・リクエストの
資源コングルーアンス・クラスにおける第1複
合体の新しい関心状態を第2複合体へ通知し、
第1複合体の中でアクセス・リクエストを処理
する。 (7) アクセス・リクエストの処理は、選択的に資
源へのアクセスを許し、否定し、又は待機する
ことによつてなされる。 資源名称及び資源コングルーアンス・クラスを
有する資源へのアクセス・リクエストを処理する
ため、中央電子複合体の動作は次のような特徴を
有する。 (1) アクセス・リクエストのコングルーアンス・
クラスに複合体が関心を有することが決定され
ると、以前にアクセスされかつ未だ解放されて
いないコングルーアンス・クラス内で全ての資
源の資源キーを有するコングルーアンス・クラ
ス・フアイルへアクセスし、アクセスが求めら
れた資源のロツク状態を決定するため、アクセ
ス・リクエストの資源キーを探索する。 (2) アクセス・リクエストの資源キーが無効ロツ
ク状態を有すると、資源へのアクセスを許し、
保持ロツク状態を有するコングルーアンス・ク
ラスへ資源キーを付加する。 (3) アクセス・リクエストの資源がアクセス・リ
クエストと両立する保持ロツク状態を有する
と、資源へのアクセスを許す。 (4) アクセス・リクエストの資源がアクセス・リ
クエストと両立しない保持ロツク状態を有する
と、選択的にアクセスを否定し、又は資源キー
のためのコングルーアンス・クラス・フアイル
へ待機アクセス状態を付加することによつて、
資源へのアクセスを許す。 本発明を組込んだコンピユータ・システムにお
いて、資源キーを有する資源への先行するアクセ
ス要求は、第1の中央電子複合体を次のステツプ
に従つて動作させることによつて処理される。 (1) 同一の資源キーに対する他のアクセス要求に
ついてログされた保持ロツク状態が解放される
と、同一の資源キーのために待機されたアクセ
ス・リクエストが存在するかどうかを決定す
る。 (2) 第1の複合体によつてログされた待機アクセ
ス・リクエストが存在すると、先行するリクエ
ストへ資源へのアクセスを許し、待機アクセス
状態をクリアし、資源キーのためにコングルー
アンス・クラス・フアイルへ対応する保持ロツ
ク状態をログする。 (3) 第2複合体によつてログされた待機アクセ
ス・リクエストが存在すると、コングルーアン
ス・クラス・フアイルから待機アクセス状態を
クリアし、先行するアクセス・リクエストの資
源が利用可能であることを第2複合体へ通知す
る。 実施例の説明 本発明は、保全性を維持するとともに、故障か
らの回復を可能にしつつ、また記憶装置、通信手
段、計算装置などのコンピユータ資源を最適に使
用しながら、データ資源を共用する汎用コンピユ
ータを動作させるコンピユータ構成を提供する。 米国特許出願第194483号において、包括的ハツ
シユ表を用いて共用データへアクセスする装置が
開示されている。更に上記出願において、故障時
点の間にロツクを保留し、故障に起因して矛盾を
有するに至つたデータへのアクセスを禁止し、か
つ回復を実行する装置が説明されている。 本発明は、実際上汎用コンピユータ・システム
を動作させる資源ロツク・マネジヤ・モジユール
中に設けられる。資源ロツク・マネジヤ機能は、
次の手順を含む。 LOCK、UNLOCK、INQUIRY、INQRESP、
GHTUPD、GRANT、PTB、IDENT、QUIT、
VERIFY、PURGE、FAIL、RECONNECT。 上記の手順は次のようなデータ・オブジエクト
(deta object)を使用する。 MCB マスタ制御ブロツク RRHT 資源ハツシユ表 GHT 包括ハツシユ表 RGHT 保留ロツク包括ハツシユ表 RHB 資源ヘツダー・ブロツク RLB 資源ロツク・ブロツク WHB 作業ユニツト・ブロツク SIDB サブシステム識別ブロツク ISL 識別サブシステム・リスト RLPL 資源ロツク・リクエスト・パラメータ・
リスト これらのデータ・オブジエクトは第2図に関連
して説明する。第2図は、IRLM61,62の構
成を示したものであり、各種のデータ共用及び故
障モードについて、これらデータ構造の間の関係
を説明するのに有用な図である。 RHB、RLB、WHB、SIDBは後で詳細に説明す
るように、それぞれのCECの中でダイナミツク
に構成される。 図面の詳細な説明に入る前に、上記の手順を説
明しておく。 LOCK この手順は新しいロツク・リクエストのために
RLBを形成する。RLPLハツシユ値及び資源名称
を使用して、RHT−RHBを探索し、要求された
資源のためのRHBが存在するかどうかを決定す
る。包括的なロツク・リクエストを付与するた
め、IRLM制御ブロツクへ次のような変更がなさ
れる。 1 要求されたハツシユ値に対応するGHTエン
トリイにおいて、ロツクを付与するIRLMの関
心ビツトがオンにされる(既にオンになつてい
なければ)。 2 もしこのIRLMがGHTエントリイの私的使用
を有するならば、対応するRHTマスク私的使
用ビツトがオンにされる。 3 要求されたハツシユ値及び資源名称を含む
RHBが形成される(既に形成されていなけれ
ば)。RHB関心マスクは、どのIRLMが資源に
対してロツクを保持するかを示す。 4 ロツク保持手段の作業ユニツト識別情報を含
むWHBが形成される(既に形成されていなけ
れば)。WHBはリクエストしているIMS/VS
のSIDBへ接続される。 5 保持されたロツクを表わすためRLBが形成
される。RLBはロツクの保持された状態を含
む。RLBはRHB及びWHBへ接続される。 PTB この手順は、ロツク・リクエストが直ちに付与
されてよいが、他のIRLMとの通信を待機しなけ
ればならないか、IRLM又は通信リンクの故障に
よつて創出された事故のために拒絶されねばなら
ないかを決定する。 この手順は次のようなIRLM共用モードを処理
する。 1 正常の共用モード=双方のIRLMが実行中で
あり、相互に通信している。 2 IRLM故障モード=一方のIRLMが現在実行
していない。このIRLMは他のIRLMのために
暗黙的にロツクを保留している。このIRLM
は、他のIRLMの関心ビツトを含むGHTエント
リイへハツシユ値を入れた新しいRHBのため
に、ロツクを付与することはできない。 3 通信故障モード=双方のIRLMは実行中であ
るが、相互に通信していない。IRLMは、通信
リンクの故障時に私的使用を有していたGHT
エントリイに対してのみロツクを付与すること
ができる。 INQUIRY この手順は、他のIRLMから送られた包括的な
ロツク照会リクエストを処理する。もし照会リク
エストが、このIRLMによつて保持されたロツク
と両立すれば、応答メツセージがリクエストを行
つたIRLMへ送られる。このメツセージは、
IRLMへロツクを付与してよい旨を通知する。そ
れは更に、IRLMが資源の上にロツクを現在保持
しているかどうかを通知する。もし照会が両立的
でなければ、RLBがその照会のために形成さ
れ、RHB待機連鎖の上に置かれる。非両立性を
生じた保持ロツクが解放されると、上記の応答メ
ツセージは照会を行つたIRLMへ戻され、今やロ
ツクを付与してよい旨を通知する。 INQRESP この手順は、包括的なロツク照会リクエストに
応答して受取られたメツセージを処理する。 UNLOCK この手順は、IMS/VSによつて出された
UNLOCKリクエストを処理する。UNLOCKリク
エストRLPLは、ロツク・トークン(LOCK手順
によつて戻されたRLBアドレス)、又はハツシユ
値、資源名称、解放されるべきロツクの作業ユニ
ツト識別情報を含む。 GRANT この手順はロツク・リクエストを受入れる。も
しリクエストがRHB待機連鎖上にあり、他の
IRLMからの照会でなければ、それはRHB保持連
鎖へ移動させられる。もしリクエストが照会リク
エストであれば、RLBは待機連鎖から除去され
かつ解放される。ロツクを受入れる旨のメツセー
ジが、照会したIRLMへ送られる。 GHTUPD この手順は、他のIRLMから受取られたメツセ
ージの内容に基づいてIRLMのGHTを更新する。 IDENT この手順はIMS/VS IDENTリクエストを処理
する。IDENTはIMS/VSをIRLMへ接続する。
IMS/VSは、他のIRLMリクエストを出す前に、
IDENTリクエストに出さねばならない。この手
順は、IMS/VSのためにSIDB(サブシステム識
別ブロツク)を形成する。双方のIRLMのISLは
更新され、IMS/VSがIDENTリクエストを出さ
れた特定のIRLMへ接続されていることを示す。
IDENTリクエストが出された時点で、IMS/VS
のためにロツクを明示的に保留する(QUIT
RETAIN)及び/又は暗黙的に保留する
(IRLM/システム/通信リンクの故障)ことと
なる以上の活動に起因して、IMS/VSのための
ISL中にエントリイが既に存在するかも知れな
い。 QUIT この手順はQUITリクエストを処理する。この
リクエストはRETAIN又はRELEASEを指定して
よい。RETAINは、そのリクエストを出した
IMS/VSによつて現在保持されている全てのロ
ツクを保留することを意味する。RELEASEは、
保持されている全てのロツク、又はこのIMS/
VSのために以前に保留された全てのロツクを解
放する(UNLOCK)ことを意味する。 保持されたロツクは、WHBから関連したRLB
を除去し、ロツクを保持しているIMS/VSのISL
エントリイによつて指定された1つのダミー
WHBから、上記除去されたRLBを連鎖すること
によつて、保留されたロツクへ変換される。 どのロツクが保留され又は解放されたかによつ
て、全てのWHB及びIMS/VSに関連したSIDBが
解放される。 VERIFY この手順はIRLM VERIFYリクエストを処理
する。VERIFYは、1つのIMS/VSが他のIMS/
VSの特定のデータ・ベースへのアクセスを共用
している時、上記他のIMS/VSを確実にIRLMへ
知らせるため、上記1つのIMS/VSによつて出
される。IRLMに知られていることは、IMS/VS
のためのエントリイがIRLM ISL中に存在するこ
とを意味する。ISLエントリイの存在は、IMS/
VSによつて保持されたロツクが依然として保持
又は保留されていることを確実にする。 いずれかのIRLMに関連した全てのIMS/VS
は、双方のIRLMのISLにあるISLエントリイを含
むので、VERIFYリクエストを処理するため、他
のIRLMを通信する必要はない。 PURGE この手順はIRLM PURGEリクエストを処理す
る。PURGEはIMS/VS又はそれに代つて実行さ
れる回復プログラムによつて出される。PURGE
は、故障が起つたため非両立的状態に残された
IMS/VSデータ・ベースを訂正した後に出され
る。 PURGEリクエスト・メツセージは他のIRLM
へ送られる。他のIRLMによつても同じ論理が実
行される。 FAIL この手順は、他のIRLMとの通信を喪失させた
故障の検出を処理する。 RECONNECT この手順は、1つのIRLMと他のIRLMとの再
接続を処理する。 この手順への入力は次のとおりである。 1 他のIRLMがこのIRLMとの以前の接続を記
憶しているかどうかの表示。 2 他のIRLMのGHTの内容。 3 他のIRLMのRGHTの内容。 4 他のIRLMのISLの内容。 第1図は、DASD13,14に記憶されたデー
タへのアクセスを共用する複数のCEC11,1
2を含む典型的システムを示す。それぞれの
CEC11,12において、多数のデータ記憶領
域及びプログラム領域を含む実アドレス又は仮想
アドレスのスペースが存在する。第1図におい
て、本発明に関連する部分は、上位オペレーテイ
ング・システム21,22、情報管理システム
(IMS)31〜34、バツフア・プール41,4
4、データ・ベース回復制御(DBRC)システム
51,52、IMS資源ロツク・マネジヤ
(IRLM)61,62である。 IMS31〜34の各々は、取付ログ・テープ7
1〜74の1つと通信することができる。CEC
11,12は通信制御装置27(又はチヤネル間
アダプタ)によつて相互接続されており、共用の
DASD13,14及び制御データ・セツト57を
介して柔軟結合されている。 それぞれのCEC11,12はIBMシステム/
360又はIBMシステム/370の如き汎用中央処理ユ
ニツト、主記憶装置、仮想記憶装置、チヤネル及
び周辺装置を含む。IBMシステム/360又はIBM
システム/370のアーキテクチヤーは米国特許第
3400371号及びIBM社の出版物(例えば、IBM
Sytem/370 Principles of Operation、GA22−
7000−6)に解説されている。 それぞれのCEC11,12はIBMシステム/
360又はIBMシステム/370オペレーテイング・シ
ステムの如き上位オペレーテイング・システム2
1,22の制御の下で動作する。このようなオペ
レーテイング・システムはIBM社の出版物(例え
ば、出版物番号GC22−6534、GC28−0661、
GC20−1800)に説明されている。IMS31〜34は
それぞれの上位システム21,22の制御の下で
動作し、通信制御装置27をインターフエイスす
るため、これらの上位システムを利用する。通信
制御装置27は、例えばIBM3705通信制御装置で
あつてよい。本発明は、IBM社の出版物SH20−
9145−0に説明されるIBM IMS/VS(プログラ
ム製品番号5740−XX2)の使用効率を改善し、同
一又は異つたCEC上で動作を実行しているIMS3
1〜34の間でDASD13,14上にあるデータ
を共用する新規な装置を提供することである。 それぞれのCEC11,12にあるDBRCシステ
ム51,52は制御データ・セツト57を共用す
る。制御データ・セツト57は、IBM3350の如き
直接アクセス記憶装置におかれてよい。DBRCシ
ステムの例はIBM IMS/VSデータ・ベース回復
制御機能(プログラム番号5740−XX2)である。
これはIBM出版物SH35−0027−1に説明されて
おり、本発明にしたがう計算システムを動作させ
るため、関連出願に説明されているように変更さ
れる。 第1図を参照して、2つのCEC11,12を
含む典型的計算システムの動作を説明する。故障
が存在しないものと仮定すると、1つ又はそれ以
上のアプリケーシヨン・プログラム(図示せず)
は、それぞれのCECにおいてマルチプログラミ
ング環境で動作を実行する。それぞれのCECは
IMS31〜34のいずれかの制御の下にある。 IMS31の下で動作を実行しているアプリケー
シヨン作業ユニツトが、例えばDASD13に存在
するデータ資源へのアクセスを要求する時、IMS
31はロツク要求を発生し、線35を介して
IRLM61へ伝達する。ロツク要求は表1に示さ
れるように情報を含む。
又はそれ以上のプログラムの上で同時に動作させ
る装置に関する。更に具体的には、本発明は、1
つ又はそれ以上の中央電子複合体で実行中の異つ
たプログラムによつて共用されている資源へのア
クセスをダイナミツクに制御し、かつ上記資源の
保全性を維持するとともに、異つた中央電子複合
体の間で共用される制御パラメータの通信を最少
ならしめる装置に関する。 背景の技術 多くの作業ユニツト又はサブタスクが共通のレ
コードへアクセスする必要がある大型データ・ベ
ース・システムにおいては、データの保全性を維
持するため同時的アクセスを管理する必要があ
る。 従来までのデータ共用方式の1つは、単一区画
内の2つ又はそれ以上のサブタスクにより、2つ
又はそれ以上のジヨブ・ステツプにより(複数の
区画)、及び任意数のユーザにより(クロスシス
テム共用方式)VSAMデータ・セツトを同時にア
クセス。IBM社から出版されたVSAMに関する手
引書によれば(例えば、G320−5774−01、
1979、95〜97頁)、読出し又は書込みのためにデ
ータ・セツトを開く多くのオプシヨンが可能であ
る。 VSAMクロス区画/領域共用方式において、
VSAMデータ・セツトが定義されるとき、オプシ
ヨンはDEFINE指令のSHARE OPTIONSパラメ
ータによつて定義される。最初のオプシヨンによ
つて、データ・セツトは、出力処理のために1人
のユーザによつてのみ開かれてよく(レコードを
更新し又は付加するため)、又は読出し動作のた
めにのみ複数のユーザによつて開かれてよい。こ
のオプシヨンによつて、完全な読出し及び書込み
の保全性が与えられる。第2のオプシヨンにおい
て、データ・セツトは出力処理のために1人のユ
ーザによつて開かれることができ、読取りだけの
処理のために複数人のユーザによつて開かれるこ
とができる。このオプシヨンにおいて、ユーザは
更新されつつあるレコードを読取ることができる
ので、書込保全性は実現されるが、読取保全性は
実現されない。第3のオプシヨンにおいて、デー
タ・セツトは読取り及び書込み動作のために任意
数のユーザによつて開かれることができ、保全性
(読取り又は書込み)はVSAMによつて実現され
ない。 VSAMクロス・システム共用方式では、第1オ
プシヨンによつて、データ・セツトは読取り及び
書込み動作について任意数のユーザによつて開か
れることができるが、保全性はVSAMによつて実
現されない。第2オプシヨンでは、データ・セツ
トは任意数のユーザによつて読取り及び書込み動
作について開かれることができるが、VSAMはそ
れぞれの直接処理要求のために新しいバツフアを
用意し、データ・セツトの保全性を維持するため
に、RESERVE及びRELEASEマクロがユーザに
よつて使用されなければならない。 第1オプシヨンを除く上記オプシヨンのいずれ
においても、VSAMのユーザは、ENQ/DEQ又
はRESERVE/RELEASEマクロを使用して、デ
ータ・セツトの保全性を維持しなければならな
い。 従来までのIBM IMS/VS製品において、その
ようなマクロの発生は、プログラム分離手段の機
能である(IMS/VS 第1版手引書、プログラ
ム番号5740−XX2、リリース1.5、IBM出版物
SH20−9145−0、3.12〜3.14頁参照)。しかし、
この手段を使用しては、異つた中央電子複合体
(CEC)上で動作を実行している複数人のユーザ
は、共通のデータへ同時にアクセスすることがで
きず、大型組織体によつてデータ・ベースを効果
的に使用しようとする場合の大きな障害となる。 共通のデータへ複数の同時的アクセスを実行さ
せる従来までの方式は、米国特許出願第965810号
に記載されている。この特許出願は同時通報装置
に関する。外部エンキユー装置(EEF)5は、
それぞれのCPU及びコングルー・アンス・クラ
ス・(Congruence class)ごとに関心ビツトを有
する。関心ビツトのセツトは、CPUが対応する
コングルーアンス・クラスのデータ資源上でロツ
クを保持しているか、又はそれを待機しているこ
とを示す。それぞれのCPUは内部エンキユー装
置(IEF)を含み、このIEFはそれぞれのコング
ルーアンス・クラスごとにロツク・ビツトを有す
る。データ資源へのアクセス要求(リクエスト)
は、IEF内に対応するロツク・ビツトがセツトさ
れていれば、CPUによつて許されるが、上記ロ
ツク・ビツトがセツトされていなければ、アクセ
ス要求は先ずEEFへ、次いでEEFにおいてアク
セス要求のコングルーアンス・クラスに関心を有
する他のCPUへ通報されねばならない。上記米
国出願に説明されるシステムは実際上同時通報装
置であつて、同時アクセスを制御する構成は説明
されていない。更に、EEFは別個のハードウエ
ア装置又はCPUの1つに設けられる。EEFにお
ける故障は、CPU群といずれかのCPUによるデ
ータ資源アクセス要求の処理との間の通信を妨害
する。それぞれのCPUには、故障したCPU又は
EEFによつて後の回復動作のために設定された
ロツクを維持する手段は設けられていない。 本発明の要約 本発明の目的は、同一及び/又は異つた中央電
子複合体(CEC)の上に在る複数のユーザによ
つて、データ資源へのアクセスが同時になされる
のを制御する装置を提供することである。 本発明の他の目的は、サブシステム、通信、ロ
ツク・マネジヤの故障から回復を可能ならしめる
ロツキング装置を提供することである。 本発明の他の目的は、データ資源へ同時にアク
セスしているCEC群の間でロツク・データの通
信を最適化させるための通信プロトコルを提供す
ることである。 本発明の他の目的は、マルチプログラミング及
びマルチプロセツサ環境において、複数のユーザ
の間でデータ、通信、及び計算資源を割当てるた
めの汎用コンピユータにおける制御装置を提供す
ることである。 複数の中央電子複合体を含むコンピユータ・シ
ステムは、本発明を組込まれた場合、1つ又はそ
れ以上のプログラムを同時に処理することができ
る。1つ又はそれ以上の中央電子複合体の上で動
作しているプログラムによつて共用される資源へ
のアクセスは、上記複合体の間で共用制御パラメ
ータを最少限通知するだけで制御される。その制
御方法は次のとおりである。 (1) それぞれの資源コングルーアンス・クラスに
関して、各複合体の関心状態をそれぞれの複合
体の中に維持する。もし複合体が以前に或るコ
ングルーアンス・クラス内の資源に対してアク
セスを許したのであれば、その複合体はそのコ
ングルーアンス・クラスに関心を有する。 (2) 第1の複合体内で、資源キー及び資源コング
ルーアンス・クラスを有する資源に対してアク
セス・リクエストを発生する。 (3) アクセス・リクエストの資源コングルーアン
ス・クラスにおいて第1及び第2の複合体の関
心状態を決定する。 (4) アクセス・リクエストの資源コングルーアン
ス・クラスにおいて、第1複合体が関心を有し
第2複合体が関心を有しないことが決定される
と、第2複合体へ通知することなく、第1複合
体中でアクセス・リクエストを処理する。 (5) 第2複合体がアクセス・リクエストの資源コ
ングルーアンス・クラスに関心を有することが
決定されると、更に処理を行うためアクセス・
リクエストを第2複合体へ通知する。 (6) いずれの複合体もアクセス・リクエストの資
源コングルーアンス・クラスに関心を有しない
ことが決定されると、アクセス・リクエストの
資源コングルーアンス・クラスにおける第1複
合体の新しい関心状態を第2複合体へ通知し、
第1複合体の中でアクセス・リクエストを処理
する。 (7) アクセス・リクエストの処理は、選択的に資
源へのアクセスを許し、否定し、又は待機する
ことによつてなされる。 資源名称及び資源コングルーアンス・クラスを
有する資源へのアクセス・リクエストを処理する
ため、中央電子複合体の動作は次のような特徴を
有する。 (1) アクセス・リクエストのコングルーアンス・
クラスに複合体が関心を有することが決定され
ると、以前にアクセスされかつ未だ解放されて
いないコングルーアンス・クラス内で全ての資
源の資源キーを有するコングルーアンス・クラ
ス・フアイルへアクセスし、アクセスが求めら
れた資源のロツク状態を決定するため、アクセ
ス・リクエストの資源キーを探索する。 (2) アクセス・リクエストの資源キーが無効ロツ
ク状態を有すると、資源へのアクセスを許し、
保持ロツク状態を有するコングルーアンス・ク
ラスへ資源キーを付加する。 (3) アクセス・リクエストの資源がアクセス・リ
クエストと両立する保持ロツク状態を有する
と、資源へのアクセスを許す。 (4) アクセス・リクエストの資源がアクセス・リ
クエストと両立しない保持ロツク状態を有する
と、選択的にアクセスを否定し、又は資源キー
のためのコングルーアンス・クラス・フアイル
へ待機アクセス状態を付加することによつて、
資源へのアクセスを許す。 本発明を組込んだコンピユータ・システムにお
いて、資源キーを有する資源への先行するアクセ
ス要求は、第1の中央電子複合体を次のステツプ
に従つて動作させることによつて処理される。 (1) 同一の資源キーに対する他のアクセス要求に
ついてログされた保持ロツク状態が解放される
と、同一の資源キーのために待機されたアクセ
ス・リクエストが存在するかどうかを決定す
る。 (2) 第1の複合体によつてログされた待機アクセ
ス・リクエストが存在すると、先行するリクエ
ストへ資源へのアクセスを許し、待機アクセス
状態をクリアし、資源キーのためにコングルー
アンス・クラス・フアイルへ対応する保持ロツ
ク状態をログする。 (3) 第2複合体によつてログされた待機アクセ
ス・リクエストが存在すると、コングルーアン
ス・クラス・フアイルから待機アクセス状態を
クリアし、先行するアクセス・リクエストの資
源が利用可能であることを第2複合体へ通知す
る。 実施例の説明 本発明は、保全性を維持するとともに、故障か
らの回復を可能にしつつ、また記憶装置、通信手
段、計算装置などのコンピユータ資源を最適に使
用しながら、データ資源を共用する汎用コンピユ
ータを動作させるコンピユータ構成を提供する。 米国特許出願第194483号において、包括的ハツ
シユ表を用いて共用データへアクセスする装置が
開示されている。更に上記出願において、故障時
点の間にロツクを保留し、故障に起因して矛盾を
有するに至つたデータへのアクセスを禁止し、か
つ回復を実行する装置が説明されている。 本発明は、実際上汎用コンピユータ・システム
を動作させる資源ロツク・マネジヤ・モジユール
中に設けられる。資源ロツク・マネジヤ機能は、
次の手順を含む。 LOCK、UNLOCK、INQUIRY、INQRESP、
GHTUPD、GRANT、PTB、IDENT、QUIT、
VERIFY、PURGE、FAIL、RECONNECT。 上記の手順は次のようなデータ・オブジエクト
(deta object)を使用する。 MCB マスタ制御ブロツク RRHT 資源ハツシユ表 GHT 包括ハツシユ表 RGHT 保留ロツク包括ハツシユ表 RHB 資源ヘツダー・ブロツク RLB 資源ロツク・ブロツク WHB 作業ユニツト・ブロツク SIDB サブシステム識別ブロツク ISL 識別サブシステム・リスト RLPL 資源ロツク・リクエスト・パラメータ・
リスト これらのデータ・オブジエクトは第2図に関連
して説明する。第2図は、IRLM61,62の構
成を示したものであり、各種のデータ共用及び故
障モードについて、これらデータ構造の間の関係
を説明するのに有用な図である。 RHB、RLB、WHB、SIDBは後で詳細に説明す
るように、それぞれのCECの中でダイナミツク
に構成される。 図面の詳細な説明に入る前に、上記の手順を説
明しておく。 LOCK この手順は新しいロツク・リクエストのために
RLBを形成する。RLPLハツシユ値及び資源名称
を使用して、RHT−RHBを探索し、要求された
資源のためのRHBが存在するかどうかを決定す
る。包括的なロツク・リクエストを付与するた
め、IRLM制御ブロツクへ次のような変更がなさ
れる。 1 要求されたハツシユ値に対応するGHTエン
トリイにおいて、ロツクを付与するIRLMの関
心ビツトがオンにされる(既にオンになつてい
なければ)。 2 もしこのIRLMがGHTエントリイの私的使用
を有するならば、対応するRHTマスク私的使
用ビツトがオンにされる。 3 要求されたハツシユ値及び資源名称を含む
RHBが形成される(既に形成されていなけれ
ば)。RHB関心マスクは、どのIRLMが資源に
対してロツクを保持するかを示す。 4 ロツク保持手段の作業ユニツト識別情報を含
むWHBが形成される(既に形成されていなけ
れば)。WHBはリクエストしているIMS/VS
のSIDBへ接続される。 5 保持されたロツクを表わすためRLBが形成
される。RLBはロツクの保持された状態を含
む。RLBはRHB及びWHBへ接続される。 PTB この手順は、ロツク・リクエストが直ちに付与
されてよいが、他のIRLMとの通信を待機しなけ
ればならないか、IRLM又は通信リンクの故障に
よつて創出された事故のために拒絶されねばなら
ないかを決定する。 この手順は次のようなIRLM共用モードを処理
する。 1 正常の共用モード=双方のIRLMが実行中で
あり、相互に通信している。 2 IRLM故障モード=一方のIRLMが現在実行
していない。このIRLMは他のIRLMのために
暗黙的にロツクを保留している。このIRLM
は、他のIRLMの関心ビツトを含むGHTエント
リイへハツシユ値を入れた新しいRHBのため
に、ロツクを付与することはできない。 3 通信故障モード=双方のIRLMは実行中であ
るが、相互に通信していない。IRLMは、通信
リンクの故障時に私的使用を有していたGHT
エントリイに対してのみロツクを付与すること
ができる。 INQUIRY この手順は、他のIRLMから送られた包括的な
ロツク照会リクエストを処理する。もし照会リク
エストが、このIRLMによつて保持されたロツク
と両立すれば、応答メツセージがリクエストを行
つたIRLMへ送られる。このメツセージは、
IRLMへロツクを付与してよい旨を通知する。そ
れは更に、IRLMが資源の上にロツクを現在保持
しているかどうかを通知する。もし照会が両立的
でなければ、RLBがその照会のために形成さ
れ、RHB待機連鎖の上に置かれる。非両立性を
生じた保持ロツクが解放されると、上記の応答メ
ツセージは照会を行つたIRLMへ戻され、今やロ
ツクを付与してよい旨を通知する。 INQRESP この手順は、包括的なロツク照会リクエストに
応答して受取られたメツセージを処理する。 UNLOCK この手順は、IMS/VSによつて出された
UNLOCKリクエストを処理する。UNLOCKリク
エストRLPLは、ロツク・トークン(LOCK手順
によつて戻されたRLBアドレス)、又はハツシユ
値、資源名称、解放されるべきロツクの作業ユニ
ツト識別情報を含む。 GRANT この手順はロツク・リクエストを受入れる。も
しリクエストがRHB待機連鎖上にあり、他の
IRLMからの照会でなければ、それはRHB保持連
鎖へ移動させられる。もしリクエストが照会リク
エストであれば、RLBは待機連鎖から除去され
かつ解放される。ロツクを受入れる旨のメツセー
ジが、照会したIRLMへ送られる。 GHTUPD この手順は、他のIRLMから受取られたメツセ
ージの内容に基づいてIRLMのGHTを更新する。 IDENT この手順はIMS/VS IDENTリクエストを処理
する。IDENTはIMS/VSをIRLMへ接続する。
IMS/VSは、他のIRLMリクエストを出す前に、
IDENTリクエストに出さねばならない。この手
順は、IMS/VSのためにSIDB(サブシステム識
別ブロツク)を形成する。双方のIRLMのISLは
更新され、IMS/VSがIDENTリクエストを出さ
れた特定のIRLMへ接続されていることを示す。
IDENTリクエストが出された時点で、IMS/VS
のためにロツクを明示的に保留する(QUIT
RETAIN)及び/又は暗黙的に保留する
(IRLM/システム/通信リンクの故障)ことと
なる以上の活動に起因して、IMS/VSのための
ISL中にエントリイが既に存在するかも知れな
い。 QUIT この手順はQUITリクエストを処理する。この
リクエストはRETAIN又はRELEASEを指定して
よい。RETAINは、そのリクエストを出した
IMS/VSによつて現在保持されている全てのロ
ツクを保留することを意味する。RELEASEは、
保持されている全てのロツク、又はこのIMS/
VSのために以前に保留された全てのロツクを解
放する(UNLOCK)ことを意味する。 保持されたロツクは、WHBから関連したRLB
を除去し、ロツクを保持しているIMS/VSのISL
エントリイによつて指定された1つのダミー
WHBから、上記除去されたRLBを連鎖すること
によつて、保留されたロツクへ変換される。 どのロツクが保留され又は解放されたかによつ
て、全てのWHB及びIMS/VSに関連したSIDBが
解放される。 VERIFY この手順はIRLM VERIFYリクエストを処理
する。VERIFYは、1つのIMS/VSが他のIMS/
VSの特定のデータ・ベースへのアクセスを共用
している時、上記他のIMS/VSを確実にIRLMへ
知らせるため、上記1つのIMS/VSによつて出
される。IRLMに知られていることは、IMS/VS
のためのエントリイがIRLM ISL中に存在するこ
とを意味する。ISLエントリイの存在は、IMS/
VSによつて保持されたロツクが依然として保持
又は保留されていることを確実にする。 いずれかのIRLMに関連した全てのIMS/VS
は、双方のIRLMのISLにあるISLエントリイを含
むので、VERIFYリクエストを処理するため、他
のIRLMを通信する必要はない。 PURGE この手順はIRLM PURGEリクエストを処理す
る。PURGEはIMS/VS又はそれに代つて実行さ
れる回復プログラムによつて出される。PURGE
は、故障が起つたため非両立的状態に残された
IMS/VSデータ・ベースを訂正した後に出され
る。 PURGEリクエスト・メツセージは他のIRLM
へ送られる。他のIRLMによつても同じ論理が実
行される。 FAIL この手順は、他のIRLMとの通信を喪失させた
故障の検出を処理する。 RECONNECT この手順は、1つのIRLMと他のIRLMとの再
接続を処理する。 この手順への入力は次のとおりである。 1 他のIRLMがこのIRLMとの以前の接続を記
憶しているかどうかの表示。 2 他のIRLMのGHTの内容。 3 他のIRLMのRGHTの内容。 4 他のIRLMのISLの内容。 第1図は、DASD13,14に記憶されたデー
タへのアクセスを共用する複数のCEC11,1
2を含む典型的システムを示す。それぞれの
CEC11,12において、多数のデータ記憶領
域及びプログラム領域を含む実アドレス又は仮想
アドレスのスペースが存在する。第1図におい
て、本発明に関連する部分は、上位オペレーテイ
ング・システム21,22、情報管理システム
(IMS)31〜34、バツフア・プール41,4
4、データ・ベース回復制御(DBRC)システム
51,52、IMS資源ロツク・マネジヤ
(IRLM)61,62である。 IMS31〜34の各々は、取付ログ・テープ7
1〜74の1つと通信することができる。CEC
11,12は通信制御装置27(又はチヤネル間
アダプタ)によつて相互接続されており、共用の
DASD13,14及び制御データ・セツト57を
介して柔軟結合されている。 それぞれのCEC11,12はIBMシステム/
360又はIBMシステム/370の如き汎用中央処理ユ
ニツト、主記憶装置、仮想記憶装置、チヤネル及
び周辺装置を含む。IBMシステム/360又はIBM
システム/370のアーキテクチヤーは米国特許第
3400371号及びIBM社の出版物(例えば、IBM
Sytem/370 Principles of Operation、GA22−
7000−6)に解説されている。 それぞれのCEC11,12はIBMシステム/
360又はIBMシステム/370オペレーテイング・シ
ステムの如き上位オペレーテイング・システム2
1,22の制御の下で動作する。このようなオペ
レーテイング・システムはIBM社の出版物(例え
ば、出版物番号GC22−6534、GC28−0661、
GC20−1800)に説明されている。IMS31〜34は
それぞれの上位システム21,22の制御の下で
動作し、通信制御装置27をインターフエイスす
るため、これらの上位システムを利用する。通信
制御装置27は、例えばIBM3705通信制御装置で
あつてよい。本発明は、IBM社の出版物SH20−
9145−0に説明されるIBM IMS/VS(プログラ
ム製品番号5740−XX2)の使用効率を改善し、同
一又は異つたCEC上で動作を実行しているIMS3
1〜34の間でDASD13,14上にあるデータ
を共用する新規な装置を提供することである。 それぞれのCEC11,12にあるDBRCシステ
ム51,52は制御データ・セツト57を共用す
る。制御データ・セツト57は、IBM3350の如き
直接アクセス記憶装置におかれてよい。DBRCシ
ステムの例はIBM IMS/VSデータ・ベース回復
制御機能(プログラム番号5740−XX2)である。
これはIBM出版物SH35−0027−1に説明されて
おり、本発明にしたがう計算システムを動作させ
るため、関連出願に説明されているように変更さ
れる。 第1図を参照して、2つのCEC11,12を
含む典型的計算システムの動作を説明する。故障
が存在しないものと仮定すると、1つ又はそれ以
上のアプリケーシヨン・プログラム(図示せず)
は、それぞれのCECにおいてマルチプログラミ
ング環境で動作を実行する。それぞれのCECは
IMS31〜34のいずれかの制御の下にある。 IMS31の下で動作を実行しているアプリケー
シヨン作業ユニツトが、例えばDASD13に存在
するデータ資源へのアクセスを要求する時、IMS
31はロツク要求を発生し、線35を介して
IRLM61へ伝達する。ロツク要求は表1に示さ
れるように情報を含む。
【表】
キー・フイールドは、アクセスが要求されるデ
ータ・ベース・レコード又は資源の名称を含む。
ハツシユ・フイールドは資源のハツシユ・クラス
(hash class)又はコングルーアンス・クラスを
含む。これらのクラスは、米国特許出願第965810
号に説明されるように、これまでに使用可能な多
くのハツシユ法の1つによつて決定される。状態
フイールドは、8つのロツク状態の1つを指定
し、データ資源が2つ以上の作業ユニツトによつ
てロツクされている時、結果の状態及び両立性
(compatibility)を決定するために使用される。
作業ユニツトが、最初のロツク要求の時とは違つ
た状態を指定して、2度目に資源をロツクする
時、データ資源が所与の作業ユニツトによつて、
2度以上ロツクされるのを許すために、ロツクが
最終的に保持される状態は、最初の状態によつて
付与された特権を失うことなく第2の状態の特権
を有するものでなければならない。これは非階層
的特権順序を許す。その順序では、それぞれの高
次の状態は先行する状態の全ての特権を必ずしも
含まない。 同一の作業ユニツトによる同一の資源につい
て、ロツク要求の状態フイールドの値と、先行す
るロツク要求の状態値とは、第3の状態を得るた
め次のような結果状態マトリクスへ入れられる。
次いで、ロツク要求は第3状態へのリクエストと
してIRLM61で処理される。
ータ・ベース・レコード又は資源の名称を含む。
ハツシユ・フイールドは資源のハツシユ・クラス
(hash class)又はコングルーアンス・クラスを
含む。これらのクラスは、米国特許出願第965810
号に説明されるように、これまでに使用可能な多
くのハツシユ法の1つによつて決定される。状態
フイールドは、8つのロツク状態の1つを指定
し、データ資源が2つ以上の作業ユニツトによつ
てロツクされている時、結果の状態及び両立性
(compatibility)を決定するために使用される。
作業ユニツトが、最初のロツク要求の時とは違つ
た状態を指定して、2度目に資源をロツクする
時、データ資源が所与の作業ユニツトによつて、
2度以上ロツクされるのを許すために、ロツクが
最終的に保持される状態は、最初の状態によつて
付与された特権を失うことなく第2の状態の特権
を有するものでなければならない。これは非階層
的特権順序を許す。その順序では、それぞれの高
次の状態は先行する状態の全ての特権を必ずしも
含まない。 同一の作業ユニツトによる同一の資源につい
て、ロツク要求の状態フイールドの値と、先行す
るロツク要求の状態値とは、第3の状態を得るた
め次のような結果状態マトリクスへ入れられる。
次いで、ロツク要求は第3状態へのリクエストと
してIRLM61で処理される。
【表】
2つの作業ユニツトが同一の資源へアクセスし
ている時、ロツク要求状態が両立するかどうかを
決定するため、次のようなマトリクスが使用され
る(Xは両立しないことを示す)。
ている時、ロツク要求状態が両立するかどうかを
決定するため、次のようなマトリクスが使用され
る(Xは両立しないことを示す)。
【表】
表1のロツク要求フオーマツトへ戻つて、
SIDBアドレス・フイールドは、システム識別ブ
ロツク中のメモリ・ロケーシヨンを指定し、後に
詳細に説明するように、IRLM61の作業ヘツダ
ー・ブロツク(WHB)へアクセスするために使
用される。オプシヨン・フイールドは、ロツク要
求が条件つきであるか、無条件であるかを指定す
る。もし「条件つき」オプシヨンが指定され、資
源が前に非両立状態においてロツクされたことを
IRLMが決定すると(表3参照)、作業ユニツト
は、ロツクが付与され得ないことを通知される。
しかし、「無条件」オプシヨンが指定されたので
あれば、要求されたロツクは待機させられ、作業
ユニツトは、先行するロツクが解放されかつ待機
させられた要求が許容される時点を通知されるの
みである。 ロツク要求を処理するに当つて、IRLM61は
線25、CEC21、線23、通信制御装置2
7、線24、CEC22、線26を介してIRLM6
2と通信する。そのような通信が必要であるが無
用である条件は、ロツクを付与する構成及びステ
ツプとともに、後で詳細に説明する。 IMS31へのロツクがIRLM61によつて付与
されると、IMS31は線81を介してDASD13
中の所望のデータへアクセスし、データをバツフ
ア・プール41へ読出す。アプリケーシヨン作業
ユニツトがデータを処理している過程中約束され
た時点で、データはDASD13へ書戻され、
IRLM61はロツクの解放を通知される。 このようにして、IMS31〜34はIRLM6
1,62と協動し、DASD13,14上のデータ
へアクセスし、バツフア・プール41〜44中に
記憶されたデータ上で動作する。 IMS31〜34は、故障時の回復に備えて、取
付ログ・テープ71〜74上に全ての取引き
(transaction)のログを維持している。DBRC5
1,52は制御データ・セツト57へのアクセス
を共通にしており、システムの故障又はその他の
故障の場合に、後に詳細に説明するように、デー
タ・ベースの回復を制御するためIMS31〜34
と協動する。 ここで第2図を参照すると、そこにはIRLM6
1の詳細が示される。IRLM61は本発明に従う
コンピユータ・システムの動作中に使用される基
本データ・オブジエクトを限定する。 資源ロツク要求パラメータ・リスト(RLPL)
110は、IRLM61へリクエストを与えるため
IMS31,33によつて使用される。本実施例に
おいて、それは32ビツト資源ハツシユ値210、32
バイト資源名称、4バイトSIDBアドレス21
1、8バイト作業ユニツト識別情報、1バイト要
求ロツク状態、オプシヨン・インデイケータ(条
件つき又は無条件)を含む。 マスタ制御ブロツク(MCB)112は次の構
成要素及び連鎖へアドレス・ポインタ201〜2
05,261を与える。RHT114、GHT11
6、RGHT118、ISL120、SIDB122
(SIDB122,124、連鎖212の最切のも
の)、及びRLB161(他のIRLM62からの要
求に対応する待機RLB161,165,16
7、連鎖262〜263における最初のもの)。 資源ハツシユ表(RHT)114は512個のエン
トリイを含む。それぞれのエントリイは8バイト
長であり、32ビツト・マスク(4バイト)及び対
応するRHTハツシユ・クラス(ハツシユ群又は
コングルーアンス・クラスとも呼ばれる)におけ
る最初のRHB140及び144に対する4バイ
ト・ポインタ(例えば220,222)を含む。
RHTビツト・マスク中の各ビツトは、GHT11
6における16384個のエントリイの1つに対応
し、それがセツトされていれば、後に詳細に説明
するように私的使用インデイケータを示す。 包括ハツシユ表(GHT)116は16384個のエ
ントリイを含む。それぞれのエントリイは1バイ
ト長であり、その各ビツトは1つのIRLM識別情
報(IRLMID)に対応する。しかし本実施例にお
いては、2個のビツトが使用される。1つのビツ
トはIRLM61のためのIRLMID=1に対応し、
他のビツトはIRLM62のためのIRLMID=2に
対応する。GHT116中のビツトがオンであれ
ば、それは対応するIRLMIDを有するIRLM6
1,62が少なくとも1つの資源上でロツクを保
持し(及び/又は)待機していることを意味す
る。このロツクはGHT116のエントリイへ入
れられている。 保留ロツク包括ハツシユ表(RGHT)118は
16384個のエントリイを含む。GHT116と同じ
ように、RGHT118中のそれぞれのエントリイ
は1バイト長であり、本実施例においては、2個
のビツト0及び1が使用される。ビツト0は
IRLM61のためのIRLMID=1に対応し、ビツ
ト1はIRLM62のためのIRLMID=2に対応す
る。RGHT118におけるエントリイ中のオンの
ビツトは、対応するIRLMIDを有するIRLM6
1,62が少なくとも1つの資源上でロツクを保
持(及び/又は)待機していことを意味する。そ
のロツクは、IRLMが故障した(異常状態で終了
した)時点で、上記RGHTエントリイに対応する
GHTエントリイへ入れられたものである。ビツ
トがオンのRGHTエントリイへ入れられたロツク
に対しては、新しいロツク要求は付与されない。 識別サブシステム・リスト(ISL)120は、
IDENT手順によつて限定されたエントリイのリ
ストである。それぞれのIRLM61,62はISL
120と同じものを含む。ISL120は双方の
IRLMに関連した全てのIMS31〜34を示す。
ISL120のエントリイは次のようである。 (1) 8バイトIMS31〜34の名称。 (2) IMS31〜34が接続される又は最後に接続
されていたIRLM61,62のIRLMID。 (3) 1バイトの「QUIT RETAIN保留」マス
ク。その各ビツトは、GHTエントリイの場合
と同じように、IRLMへ割当てられ、このマス
クのビツトがオンであることは、明示
QUITRETAIN要求によつて、対応するIRLM
61,62がこのIMS31〜34のためにロツ
クを保留されていることを意味する。 (4) 1バイトの「IRLM乃至通信故障保留」マス
ク(ISLFMSK)。その各ビツトは、GHTエン
トリイの場合と同じように、IRLMへ割当てら
れ、このマスクのビツトがオンであることは、
対応するIRLMがこのIMSのためのロツクを保
持していたこと、及びIRLM乃至システム乃至
通信故障が生じたことを意味する。 (5) ダミーのWHB130へ行く4バイト・ポイ
ンタ223。WHB130から保留ロツクRLB
156,153、連鎖251,252が接続さ
れる。これはQUIT RETAINの場合にのみ存
在する。即ち、後に詳細に説明するように、
QUIT要求が出された時、IMS31〜34が接
続されたIRLM61,62のISL120にのみ
存在する。 IMSサブシステム識別ブロツク(SIDB)12
2,124は、IMS31〜34がIRLMへ通知さ
れた後、IRLM61又は62によつて構築され
る。IMSの作業ユニツトに対するWHBは、この
ブロツクから連鎖される。例えば、SIDB122
はWHB132へ連鎖され213、SIDB124は
WHB134及び136へ連鎖される214及び
215。 それぞれの作業ユニツト・ブロツク(WHB)
132,134,136は、ロツクを保持し(及
び/又は)待機しているIMS作業ユニツトを表わ
し、WHBに関連した全ての保持及び待機RLBの
連鎖を含む。例えば、待機RLB166,16
3,160及び保持RLB151,154はWHB
136へ連鎖される231,232,233,2
34,235。保持RLB155,152,15
0はWHB132へ連鎖される241,242,
243。 資源ヘツダー・ブロツク(RHB)140,1
42,144は、ロツクが要求され(及び/又
は)保持されている。それぞれの資源名称のため
に創出される。複数のハツシユ群の1つ(RHT
エントリイの1つに対応する)に属する全ての
RHBはRHB連鎖を形成する。それぞれのRHBは
次のようなエントリイを含む。 (1) 資源ハツシユ値(32ビツト)。 (2) 資源名称(32ビツト)。 (3) IRLM関心マスク。これはGHTエントリイの
場合と同じように使用される。このマスクのビ
ツトのオンは、対応するIRLMがこの資源上で
ロツクを現在保持していることを意味する。 (4) RHB連鎖ワード。これは同じRHTエントリ
イへ入れられるRHBの連鎖を維持するために
使用される。例えば、RHB140はRHB14
2へ連鎖され221、RHT114中のエント
リイへ接続される220。RHB144はRHT
114中の異つたエントリイへ接続され22
2。 (5) RHBをロツク保持RLB及びロツク待機RLB
の連鎖へつなぐ待機RLB連鎖ワード及び保持
RLB連鎖ワード。例えば、RHB140は、ロ
ツク保持RLB150〜151へ連鎖され、か
つロツク待機RLB160〜161へ連鎖され
る168。RHB142は、ロツク保持RLB1
52〜154へ連鎖され157、かつロツク待
機RLB163,165へ連鎖される169。
RHB144は、ロツク保持RLB155,15
6へ連鎖され158、かつロツク待機RLB1
66,167へ連鎖される170。 それぞれの資源ロツク・ブロツク(RLB)
は、ロツクの保持手段又はロツクを獲得するため
のリクエスト待機手段を表わしている。それぞれ
のRLBはロツク状態を含む。 第2図のデータ構成は、例えば1つのIRLM6
1の典型的構成を表わし、他のIRLM62につい
ても同様の構成が存在する。いくつかのデータ・
オブジエクトは同期を維持され(即ち、実質的に
同一)、従つて正常な処理過程で通信の遅延が生
じてもよい。これに該当するものはGHT、
RGHT、ISLなどである。 IMS資源ロツク・マネジヤIRLM61,62は
IMS31〜34のデータ共用機能によつて使用さ
れるロツク・サービスを与える。ロツク・サービ
スはIMSサブシステム、VTAM、システム間通信
リンク、MVSなどの故障時にロツクを保留する
ことを含む。保留されたロツクは、故障のために
矛循を有するかも知れないデータ・ベース
(DASD13,14)情報へのアクセスを禁止す
る。 IMS/VS共用データ環境におけるデータ・ベ
ース情報の保全性は、DL/Iデータ管理機能
(IMS31〜34の構成要素)、DBRC51,52
及びIRLM61,62の共同責任である。 DL/I(IMSの構成要素)はDASD13,1
4へのアクセスを実行し、各種の故障が発生した
時、データ・ベースを回復乃至修復するために使
用される取引ログ・テープを維持する。 DBRC51,52はデータ・ベース・データ・
セツトの使用情報を保持する。この情報は、どの
IMS/VSサブシステムが現在各々のデータ・セ
ツトを使用しているかを示す。IMS31〜34
は、DASD13,14上でデータ・セツトを割当
てる時、DBRC51,52を呼出す。データ・セ
ツトを割当てる時、DBRC51,52は、現在デ
ータ・セツトを使用しているIMS31〜34の名
称を含むリストを、IMS31〜34へ戻す。IMS
31〜34は、IMS31〜34の名称リストを送
ることによつて、IRLM61〜62のサービス
(VERIFY)を呼出す。IRLMは、リスト中のそ
れぞれのIMS31〜34が現在IRLM61〜62
のサービスを使用しているかどうかを示す表示
を、IMS31〜34へ戻す。IRLM61,62の
サービスの使用は、IMSがIRLMを使用している
時故障が生じ、IRLMがそのロツクを保持してい
る場合が含まれる。IMS31〜34のいずれも
IRLM61〜62によつて知られていなければ、
IMS31〜34はデータ・セツトを割当てない。
これが必要である理由は、IRLM61〜62が
IMS31〜34の各々のためにロツクを保持する
のでなければ、データ・セツトの継続的使用が、
データの保全性を危険にするからである。 前述したように、それぞれのIRLM61,62
は、IMS/VS識別サブシステム・リスト(ISL)
中に、2システム環境において2つのIRLMのい
ずれかへ現在接続されている全てのIMS31〜3
4のリストを保持している。ISL120は、入力
リスト中のIMSサブシステム名称がISL120中
にあるかどうかを決定するため、VERIFYリクエ
ストを処理するために使用される。それぞれの
IRLM61,62はそこに接続されたIMS31〜
34のためのロツクを保持する。IRLM61,6
2はGHT116及びRGHT118と同じものを
含む。 ISL120、GHT116、RGHT118はシス
テム間通信、サブシステム、及び/又はシステム
の故障時にロツクを保護する情報を与える。これ
については、関連出願に詳細に説明されている。 今から図面を参照して、本発明の基本的構成及
び動作を典型的な場合について説明する。 2つのCEC上で実行されている複数の作業ユ
ニツトにより共用されたデータ資源へ複数の同時
的アクセスを行うことは、それぞれのCECに特
別の資源ロツク・マネジヤ(IRLM)を設け、通
信量を最少にし、かつロツク・データを記憶する
ためそれぞれのCECで必要となるスペースを最
適に利用しながら制御することができる。上記の
IRLMは包括ハツシム表(GHT)を含み、この
GHTは、それぞれのコングルーアンス・クラス
におけるそれぞれのIRLMのための関心ビツト
と、資源ヘツダー・ブロツク(RHB)及び作業
ユニツト・ブロツク(WHB)に関連した保持資
源ロツク・ブロツク(held RLB)及び待機資源
ロツク・ブロツク(wait RLB)の連鎖のための
関心ビツトとを含んでいる。RHBは連鎖される
とともに資源ヘツダー表(RHT)へ接続され、
RHTはGHT中のそれぞれの対応するエントリイ
のために排他的使用ビツトを含む。WTBは、サ
ブシステム識別ブロツク(SIDB)へ接続され
る。WHBへ接続されないで、他のIRLMからのリ
クエストに関連している待機RLBは相互に連鎖
される。 上記の構成におけるロツク要求について、次に
説明する。以下の説明において、IRLM62に関
して第2図に示されるデータ構造は、「′」を付す
ることとする。従つて、IRLM61のGHTは
GHT116であるから、IRLM62のGHTは
GHT116′となる。 ケース 例えば、作業ユニツトのためにRLPL110を
IRLM61へ与えることにより、IMS31がデー
タ資源N1に対するロツクを要求したとする。こ
の場合、2つのIRLM61,62におけるハツシ
ユ・クラスH1のためのGHT116,116′の
エントリイは00であると仮定するRLB154a
がリクエストのために創出され、データ資源N1
のために連鎖169中に置かれる。PTB手順
は、H1のためにIRLM61中でGHT116のエ
ントリイを10にセツトし、更新されたGHT11
6のエントリイを通信制御装置27を介して
IRLM62へ送る。IRLM62は、GHTUPD手順
を実行して、H1のためにGHT116′のエント
リイを10にセツトする。IRLM61はN1のため
にIMS31へロツクを付与し、要求されたデータ
資源のハツシユ・クラスH1のためにRHT11
4中で私的使用ビツトをオンにセツトし、リクエ
ストのためのRLB154aを待機連鎖169か
らRHBのための保持連鎖157へ移動させる。
IRLM62において、RHT114′へのエントリ
イはなされず、RLBも創出されない。 ケース ケースによつて創出された条件が存在するも
のと仮定し、IMS32によつてIRLM62へのリ
クエストがなされたものと仮定する。サブケース
Aにおいては、リクエストはケースと同じよ
うに同一のデータ資源N1のためになされる。サ
ブケースBにおいては、同一のハツシユ・クラ
スH1を有する異つたデータ資源N2のためにな
される。 サブケースA IRLM62は、RLB154a′を創出し、それを
資源N1のRHB142′のための待機連鎖16
9′中に置く。次いで、それはハツシユ・クラス
H1のためのGHT116′のエントリイを10から
11へ変更し、IRLM61へGHT更新リクエストを
送り(GHTUPD手順)、かつ質問リクエストを送
る(PTB手順)。IRLM61はIRLM62の関心を
反映させるためそのGHTを更新する(GHT11
6=11)。更にそれは質問を処理する(INQUIRY
手順)。INQUIRY手順は、このサブケースAに
おいて、ロツクがIRLM61によつて付与された
データ資源N1についてリクエストがなされたこ
とを決定する。従つて、それは、このリクエスト
が前に付与されたロツクと両立する(両立状態)
かどうかを決定するため、保持RLB152〜1
54にアクセスする。状態が両立的であるると仮
定すると、IRLM61中の資源に対するRHB14
2におけるIRLM関心マスク193は、IRLM6
2′の関心を示すためセツトされ、IRLM62
は、それがロツクを付与することができる旨を通
知される。IRLM62は、IRLM61の関心を示
すため、その資源のためにRHB142′における
IRLM関心マスク193′をセツトし、RLB15
4a′は待機RLB連鎖169′から保持RLB連鎖1
57′へ移動させられ、IMS32へロツクが付与
される。 上記の状態が成立して、同一のデータ資源N1
を使用するためリクエストがIRLM61へなされ
たものと仮定する。データ資源N1はIRLM62
中に保持されているN1を先行するロツクと両立
しない状態を有している。IRLM62′の関心ビ
ツトはGHT116中でオンであるから(H1に
ついてGHT116=11)、IRLM61は、名称N
1、ハツシユ・クラスH1、状態、及びオプシヨ
ン(無条件と仮定する)を指定してロツク・リク
エストをIRLM62へ送る。RLB163が創出さ
れ、RHBのために待機連鎖169に置かれる。
IRLM62において、RLB165′が創出され、
RHB142のための待機連鎖169へ加えられ
る。それはRHB142′のための保持連鎖15
7′にあるRLB154′に対応するロツクと両立
しない状態の場合であるから、RLB165′は、
MCB112′へ接続された待機RLB連鎖へ加えら
れる(WHBではなく)。IRLM62からIRLM6
1への応答はなされず(リクエストは無条件)、
正常な処理において、RLB154′の保持手段が
UNLOCKリクエストを出すまで、(UNLOCK手
順)、ロツク・リクエストは停止される。IRLM
62はRLB154′を解放する。RHB142′の
ための保持連鎖157′中に他のRLB′が存在しな
いか、RLB165′がRHB142′のための待機
連鎖169′の最上部にあり、かつRHB142′
のための保持連鎖157′中にあるRLBと両立す
る状態であると仮定すれば、RLB165′が解放
され、それがデータ資源N1のために前に要求さ
れたロツクを付与することができる旨をIRLM6
1へ知らせる。RLB165′が唯一の待機RLBで
あり、RHB142′のための保持RLBが存在しな
ければ、RHB142′も解放される。更に、
IRLM62はGHT116′にあるH1のための関
心ビツトをリセツトし(H1についてGHT11
6′=10)、H1についてGHT116=10をセツ
トするようにIRLM61へ命ずる。ここで注意す
べきは、IRLM62において保持RLB N1のた
めの保持連鎖へ加えられておらず、IRLM61で
は加えられていることである。(即ち、RLB16
5は、図示されるように、待機連鎖からRHB1
42のための保持連鎖157へ動かされる)。こ
の状態において、ハツシユ群H1についてGHT
116=GHT116′=10であるから、IRLM6
1はデータ資源ハツシユ群H1を私的に使用する
ことができる。対応する関心ビツトはRHT11
4=1であり、RHT114′=0である。 サブケースB この例において、上記の状態が成立しているも
のとして、WHB136′の作業ユニツトのため
に、異つたデータ資源N2に対するロツク・リク
エストが、IMS32によつてIRLM62へなされ
る。データ資源N2は、前のリクエストと同じ
GHT116′のエントリイへハツシユ値H1を入
れられている。最初、データ資源N1,N2のハ
ツシユ群H1について、GHT116=GHT11
6′=10である(IRLM61は関心ビツトをオン
にされ、IRLM62はオンにされていない)。
IRLM62はH1のためにGHT116′=11をセ
ツトし、待機RLB151a′をRHB140′(デー
タ資源N2のためのRHB)のための待機連鎖1
68′へ加えWHB136′(図示されず)に関し
ては、GHT116を更新するためIRLM61へリ
クエストを送り、かつハツシユ群H1のデータ資
源N2に対するロツク・リクエストを送る。 IRLM61はGHT116を更新し(ハツシユ群
H1についてGHT116=11)、RHT114中に
対応するマスク・ビツトをリセツトし(IRLM6
1はハツシユ群H1を私的に使用しないので)、
N2をキーとして有するRHBを求めて、ハツシ
ユ群H1に対応するRHT114へ接続された
RHB連鎖を探索する。IRLM61においてデータ
資源N2のためのRHBが存在しないものと仮定
すると、IRLM61はIRLM62に応答して、ロ
ツクを付与することが可能であることを知らせ
る。IRLM61はロツクされた資源を識別しな
い。 次いで、IRLM62はRLB151′を待機連鎖
168′からRHB140′のための保持連鎖15
6′へ動かしロツクを付与する。第2図に示され
るように、今やRLB151′はWHB136′へ接
続された連鎖の中にある。 2つの中央電子複合体(CEC)の上で動作し
ている複数の作業ユニツトによつて共用されたデ
ータ資源への複数の同時的アクセスは、最少の通
信を実行し、かつロツク・データを記憶するため
各複合体で必要とされるスペースを最適に利用し
つつ制御される。それが可能となるのは、各複合
体が資源ロツク・マネジヤ(IRLM)を有するか
らである。IRLMは、各コングルーアンス・クラ
スにおける各CECのIRLMに対する関心ビツトを
含む包括ハツシユ表(GHT)と、資源ヘツダ
ー・ブロツク(RHB)及び作業ユニツト・ブロ
ツク(WHB)に関連した「保持」及び「待機」
の資源ロツク・ブロツク(RLB)の連鎖とを含
む。RHBは連鎖されるとともに、資源ヘツダー
表(RHT)へ接続され、RHTは、GHT中のそれ
ぞれの対応するエントリイのために排他的使用ビ
ツトを含む。WHBは、システム識別ブロツク
(SIDB)へ接続される。WHBへ接続されない待
機RLB、即ち他のIRLMからのリクエストに関連
した待機RLBは相互に連鎖される。 作業ユニツトによつてデータ資源へアクセスす
るための第1IRLMのリクエストは、第1IRLMが
コングルーアンス・クラスの排他的又は私的使用
を有するかどうかを、RHT/GHTから決定する
ことによつて処理される。もし排他的又は私的使
用を有すれば、リクエストは第1IRLM内で処理
される。もし排他的又は私的使用を有しておら
ず、第2IRLMがコングルーアンス・クラスに関
心を有すれば、第1IRLMへ通知が出され、第
1IRLMはそのリクエストを処理する。 もしロツク・リクエストがいずれかのIRLMに
よつて以前に非両立状態へロツクされていないデ
ータ資源に対するものであれば、そのリクエスト
は許され、かつデータ資源のRHBに対するRLB
保持連鎖エントリイが第1IRLMの中で創出され
る。他方、もしロツク・リクエストがいずれかの
IRLMに保持されたデータ資源上のロツクと非両
立的であれば、RLBエントリイが、そのリクエ
ストのために、非両立的な保持RLBを有する
RHBの待機連鎖へ加えられる。通信及びロツク
維持処理を最適化するため、第2IRLMは第
1IRLMによつて付与された保持PLBを保存せ
ず、第1IRLMのために待機RLBを保存する。こ
うして、第2IRLMは、非両立的な保持ロツクが
解放される時点を第1IRLMへ知らせるようにさ
れる。 産業上の応用性 本発明は、マルチプロセシング/マルチプログ
ラミング環境において、データが複数の中央電子
複合体によつて共用されるコンピユータ・システ
ムに応用できる。本発明の装置は、同一又は異つ
たCEC上で動作している2つ以上の作業ユニツ
トによつて、両立しない同時的アクセスがなされ
る場合に、特定のデータ資源をロツクする。
SIDBアドレス・フイールドは、システム識別ブ
ロツク中のメモリ・ロケーシヨンを指定し、後に
詳細に説明するように、IRLM61の作業ヘツダ
ー・ブロツク(WHB)へアクセスするために使
用される。オプシヨン・フイールドは、ロツク要
求が条件つきであるか、無条件であるかを指定す
る。もし「条件つき」オプシヨンが指定され、資
源が前に非両立状態においてロツクされたことを
IRLMが決定すると(表3参照)、作業ユニツト
は、ロツクが付与され得ないことを通知される。
しかし、「無条件」オプシヨンが指定されたので
あれば、要求されたロツクは待機させられ、作業
ユニツトは、先行するロツクが解放されかつ待機
させられた要求が許容される時点を通知されるの
みである。 ロツク要求を処理するに当つて、IRLM61は
線25、CEC21、線23、通信制御装置2
7、線24、CEC22、線26を介してIRLM6
2と通信する。そのような通信が必要であるが無
用である条件は、ロツクを付与する構成及びステ
ツプとともに、後で詳細に説明する。 IMS31へのロツクがIRLM61によつて付与
されると、IMS31は線81を介してDASD13
中の所望のデータへアクセスし、データをバツフ
ア・プール41へ読出す。アプリケーシヨン作業
ユニツトがデータを処理している過程中約束され
た時点で、データはDASD13へ書戻され、
IRLM61はロツクの解放を通知される。 このようにして、IMS31〜34はIRLM6
1,62と協動し、DASD13,14上のデータ
へアクセスし、バツフア・プール41〜44中に
記憶されたデータ上で動作する。 IMS31〜34は、故障時の回復に備えて、取
付ログ・テープ71〜74上に全ての取引き
(transaction)のログを維持している。DBRC5
1,52は制御データ・セツト57へのアクセス
を共通にしており、システムの故障又はその他の
故障の場合に、後に詳細に説明するように、デー
タ・ベースの回復を制御するためIMS31〜34
と協動する。 ここで第2図を参照すると、そこにはIRLM6
1の詳細が示される。IRLM61は本発明に従う
コンピユータ・システムの動作中に使用される基
本データ・オブジエクトを限定する。 資源ロツク要求パラメータ・リスト(RLPL)
110は、IRLM61へリクエストを与えるため
IMS31,33によつて使用される。本実施例に
おいて、それは32ビツト資源ハツシユ値210、32
バイト資源名称、4バイトSIDBアドレス21
1、8バイト作業ユニツト識別情報、1バイト要
求ロツク状態、オプシヨン・インデイケータ(条
件つき又は無条件)を含む。 マスタ制御ブロツク(MCB)112は次の構
成要素及び連鎖へアドレス・ポインタ201〜2
05,261を与える。RHT114、GHT11
6、RGHT118、ISL120、SIDB122
(SIDB122,124、連鎖212の最切のも
の)、及びRLB161(他のIRLM62からの要
求に対応する待機RLB161,165,16
7、連鎖262〜263における最初のもの)。 資源ハツシユ表(RHT)114は512個のエン
トリイを含む。それぞれのエントリイは8バイト
長であり、32ビツト・マスク(4バイト)及び対
応するRHTハツシユ・クラス(ハツシユ群又は
コングルーアンス・クラスとも呼ばれる)におけ
る最初のRHB140及び144に対する4バイ
ト・ポインタ(例えば220,222)を含む。
RHTビツト・マスク中の各ビツトは、GHT11
6における16384個のエントリイの1つに対応
し、それがセツトされていれば、後に詳細に説明
するように私的使用インデイケータを示す。 包括ハツシユ表(GHT)116は16384個のエ
ントリイを含む。それぞれのエントリイは1バイ
ト長であり、その各ビツトは1つのIRLM識別情
報(IRLMID)に対応する。しかし本実施例にお
いては、2個のビツトが使用される。1つのビツ
トはIRLM61のためのIRLMID=1に対応し、
他のビツトはIRLM62のためのIRLMID=2に
対応する。GHT116中のビツトがオンであれ
ば、それは対応するIRLMIDを有するIRLM6
1,62が少なくとも1つの資源上でロツクを保
持し(及び/又は)待機していることを意味す
る。このロツクはGHT116のエントリイへ入
れられている。 保留ロツク包括ハツシユ表(RGHT)118は
16384個のエントリイを含む。GHT116と同じ
ように、RGHT118中のそれぞれのエントリイ
は1バイト長であり、本実施例においては、2個
のビツト0及び1が使用される。ビツト0は
IRLM61のためのIRLMID=1に対応し、ビツ
ト1はIRLM62のためのIRLMID=2に対応す
る。RGHT118におけるエントリイ中のオンの
ビツトは、対応するIRLMIDを有するIRLM6
1,62が少なくとも1つの資源上でロツクを保
持(及び/又は)待機していことを意味する。そ
のロツクは、IRLMが故障した(異常状態で終了
した)時点で、上記RGHTエントリイに対応する
GHTエントリイへ入れられたものである。ビツ
トがオンのRGHTエントリイへ入れられたロツク
に対しては、新しいロツク要求は付与されない。 識別サブシステム・リスト(ISL)120は、
IDENT手順によつて限定されたエントリイのリ
ストである。それぞれのIRLM61,62はISL
120と同じものを含む。ISL120は双方の
IRLMに関連した全てのIMS31〜34を示す。
ISL120のエントリイは次のようである。 (1) 8バイトIMS31〜34の名称。 (2) IMS31〜34が接続される又は最後に接続
されていたIRLM61,62のIRLMID。 (3) 1バイトの「QUIT RETAIN保留」マス
ク。その各ビツトは、GHTエントリイの場合
と同じように、IRLMへ割当てられ、このマス
クのビツトがオンであることは、明示
QUITRETAIN要求によつて、対応するIRLM
61,62がこのIMS31〜34のためにロツ
クを保留されていることを意味する。 (4) 1バイトの「IRLM乃至通信故障保留」マス
ク(ISLFMSK)。その各ビツトは、GHTエン
トリイの場合と同じように、IRLMへ割当てら
れ、このマスクのビツトがオンであることは、
対応するIRLMがこのIMSのためのロツクを保
持していたこと、及びIRLM乃至システム乃至
通信故障が生じたことを意味する。 (5) ダミーのWHB130へ行く4バイト・ポイ
ンタ223。WHB130から保留ロツクRLB
156,153、連鎖251,252が接続さ
れる。これはQUIT RETAINの場合にのみ存
在する。即ち、後に詳細に説明するように、
QUIT要求が出された時、IMS31〜34が接
続されたIRLM61,62のISL120にのみ
存在する。 IMSサブシステム識別ブロツク(SIDB)12
2,124は、IMS31〜34がIRLMへ通知さ
れた後、IRLM61又は62によつて構築され
る。IMSの作業ユニツトに対するWHBは、この
ブロツクから連鎖される。例えば、SIDB122
はWHB132へ連鎖され213、SIDB124は
WHB134及び136へ連鎖される214及び
215。 それぞれの作業ユニツト・ブロツク(WHB)
132,134,136は、ロツクを保持し(及
び/又は)待機しているIMS作業ユニツトを表わ
し、WHBに関連した全ての保持及び待機RLBの
連鎖を含む。例えば、待機RLB166,16
3,160及び保持RLB151,154はWHB
136へ連鎖される231,232,233,2
34,235。保持RLB155,152,15
0はWHB132へ連鎖される241,242,
243。 資源ヘツダー・ブロツク(RHB)140,1
42,144は、ロツクが要求され(及び/又
は)保持されている。それぞれの資源名称のため
に創出される。複数のハツシユ群の1つ(RHT
エントリイの1つに対応する)に属する全ての
RHBはRHB連鎖を形成する。それぞれのRHBは
次のようなエントリイを含む。 (1) 資源ハツシユ値(32ビツト)。 (2) 資源名称(32ビツト)。 (3) IRLM関心マスク。これはGHTエントリイの
場合と同じように使用される。このマスクのビ
ツトのオンは、対応するIRLMがこの資源上で
ロツクを現在保持していることを意味する。 (4) RHB連鎖ワード。これは同じRHTエントリ
イへ入れられるRHBの連鎖を維持するために
使用される。例えば、RHB140はRHB14
2へ連鎖され221、RHT114中のエント
リイへ接続される220。RHB144はRHT
114中の異つたエントリイへ接続され22
2。 (5) RHBをロツク保持RLB及びロツク待機RLB
の連鎖へつなぐ待機RLB連鎖ワード及び保持
RLB連鎖ワード。例えば、RHB140は、ロ
ツク保持RLB150〜151へ連鎖され、か
つロツク待機RLB160〜161へ連鎖され
る168。RHB142は、ロツク保持RLB1
52〜154へ連鎖され157、かつロツク待
機RLB163,165へ連鎖される169。
RHB144は、ロツク保持RLB155,15
6へ連鎖され158、かつロツク待機RLB1
66,167へ連鎖される170。 それぞれの資源ロツク・ブロツク(RLB)
は、ロツクの保持手段又はロツクを獲得するため
のリクエスト待機手段を表わしている。それぞれ
のRLBはロツク状態を含む。 第2図のデータ構成は、例えば1つのIRLM6
1の典型的構成を表わし、他のIRLM62につい
ても同様の構成が存在する。いくつかのデータ・
オブジエクトは同期を維持され(即ち、実質的に
同一)、従つて正常な処理過程で通信の遅延が生
じてもよい。これに該当するものはGHT、
RGHT、ISLなどである。 IMS資源ロツク・マネジヤIRLM61,62は
IMS31〜34のデータ共用機能によつて使用さ
れるロツク・サービスを与える。ロツク・サービ
スはIMSサブシステム、VTAM、システム間通信
リンク、MVSなどの故障時にロツクを保留する
ことを含む。保留されたロツクは、故障のために
矛循を有するかも知れないデータ・ベース
(DASD13,14)情報へのアクセスを禁止す
る。 IMS/VS共用データ環境におけるデータ・ベ
ース情報の保全性は、DL/Iデータ管理機能
(IMS31〜34の構成要素)、DBRC51,52
及びIRLM61,62の共同責任である。 DL/I(IMSの構成要素)はDASD13,1
4へのアクセスを実行し、各種の故障が発生した
時、データ・ベースを回復乃至修復するために使
用される取引ログ・テープを維持する。 DBRC51,52はデータ・ベース・データ・
セツトの使用情報を保持する。この情報は、どの
IMS/VSサブシステムが現在各々のデータ・セ
ツトを使用しているかを示す。IMS31〜34
は、DASD13,14上でデータ・セツトを割当
てる時、DBRC51,52を呼出す。データ・セ
ツトを割当てる時、DBRC51,52は、現在デ
ータ・セツトを使用しているIMS31〜34の名
称を含むリストを、IMS31〜34へ戻す。IMS
31〜34は、IMS31〜34の名称リストを送
ることによつて、IRLM61〜62のサービス
(VERIFY)を呼出す。IRLMは、リスト中のそ
れぞれのIMS31〜34が現在IRLM61〜62
のサービスを使用しているかどうかを示す表示
を、IMS31〜34へ戻す。IRLM61,62の
サービスの使用は、IMSがIRLMを使用している
時故障が生じ、IRLMがそのロツクを保持してい
る場合が含まれる。IMS31〜34のいずれも
IRLM61〜62によつて知られていなければ、
IMS31〜34はデータ・セツトを割当てない。
これが必要である理由は、IRLM61〜62が
IMS31〜34の各々のためにロツクを保持する
のでなければ、データ・セツトの継続的使用が、
データの保全性を危険にするからである。 前述したように、それぞれのIRLM61,62
は、IMS/VS識別サブシステム・リスト(ISL)
中に、2システム環境において2つのIRLMのい
ずれかへ現在接続されている全てのIMS31〜3
4のリストを保持している。ISL120は、入力
リスト中のIMSサブシステム名称がISL120中
にあるかどうかを決定するため、VERIFYリクエ
ストを処理するために使用される。それぞれの
IRLM61,62はそこに接続されたIMS31〜
34のためのロツクを保持する。IRLM61,6
2はGHT116及びRGHT118と同じものを
含む。 ISL120、GHT116、RGHT118はシス
テム間通信、サブシステム、及び/又はシステム
の故障時にロツクを保護する情報を与える。これ
については、関連出願に詳細に説明されている。 今から図面を参照して、本発明の基本的構成及
び動作を典型的な場合について説明する。 2つのCEC上で実行されている複数の作業ユ
ニツトにより共用されたデータ資源へ複数の同時
的アクセスを行うことは、それぞれのCECに特
別の資源ロツク・マネジヤ(IRLM)を設け、通
信量を最少にし、かつロツク・データを記憶する
ためそれぞれのCECで必要となるスペースを最
適に利用しながら制御することができる。上記の
IRLMは包括ハツシム表(GHT)を含み、この
GHTは、それぞれのコングルーアンス・クラス
におけるそれぞれのIRLMのための関心ビツト
と、資源ヘツダー・ブロツク(RHB)及び作業
ユニツト・ブロツク(WHB)に関連した保持資
源ロツク・ブロツク(held RLB)及び待機資源
ロツク・ブロツク(wait RLB)の連鎖のための
関心ビツトとを含んでいる。RHBは連鎖される
とともに資源ヘツダー表(RHT)へ接続され、
RHTはGHT中のそれぞれの対応するエントリイ
のために排他的使用ビツトを含む。WTBは、サ
ブシステム識別ブロツク(SIDB)へ接続され
る。WHBへ接続されないで、他のIRLMからのリ
クエストに関連している待機RLBは相互に連鎖
される。 上記の構成におけるロツク要求について、次に
説明する。以下の説明において、IRLM62に関
して第2図に示されるデータ構造は、「′」を付す
ることとする。従つて、IRLM61のGHTは
GHT116であるから、IRLM62のGHTは
GHT116′となる。 ケース 例えば、作業ユニツトのためにRLPL110を
IRLM61へ与えることにより、IMS31がデー
タ資源N1に対するロツクを要求したとする。こ
の場合、2つのIRLM61,62におけるハツシ
ユ・クラスH1のためのGHT116,116′の
エントリイは00であると仮定するRLB154a
がリクエストのために創出され、データ資源N1
のために連鎖169中に置かれる。PTB手順
は、H1のためにIRLM61中でGHT116のエ
ントリイを10にセツトし、更新されたGHT11
6のエントリイを通信制御装置27を介して
IRLM62へ送る。IRLM62は、GHTUPD手順
を実行して、H1のためにGHT116′のエント
リイを10にセツトする。IRLM61はN1のため
にIMS31へロツクを付与し、要求されたデータ
資源のハツシユ・クラスH1のためにRHT11
4中で私的使用ビツトをオンにセツトし、リクエ
ストのためのRLB154aを待機連鎖169か
らRHBのための保持連鎖157へ移動させる。
IRLM62において、RHT114′へのエントリ
イはなされず、RLBも創出されない。 ケース ケースによつて創出された条件が存在するも
のと仮定し、IMS32によつてIRLM62へのリ
クエストがなされたものと仮定する。サブケース
Aにおいては、リクエストはケースと同じよ
うに同一のデータ資源N1のためになされる。サ
ブケースBにおいては、同一のハツシユ・クラ
スH1を有する異つたデータ資源N2のためにな
される。 サブケースA IRLM62は、RLB154a′を創出し、それを
資源N1のRHB142′のための待機連鎖16
9′中に置く。次いで、それはハツシユ・クラス
H1のためのGHT116′のエントリイを10から
11へ変更し、IRLM61へGHT更新リクエストを
送り(GHTUPD手順)、かつ質問リクエストを送
る(PTB手順)。IRLM61はIRLM62の関心を
反映させるためそのGHTを更新する(GHT11
6=11)。更にそれは質問を処理する(INQUIRY
手順)。INQUIRY手順は、このサブケースAに
おいて、ロツクがIRLM61によつて付与された
データ資源N1についてリクエストがなされたこ
とを決定する。従つて、それは、このリクエスト
が前に付与されたロツクと両立する(両立状態)
かどうかを決定するため、保持RLB152〜1
54にアクセスする。状態が両立的であるると仮
定すると、IRLM61中の資源に対するRHB14
2におけるIRLM関心マスク193は、IRLM6
2′の関心を示すためセツトされ、IRLM62
は、それがロツクを付与することができる旨を通
知される。IRLM62は、IRLM61の関心を示
すため、その資源のためにRHB142′における
IRLM関心マスク193′をセツトし、RLB15
4a′は待機RLB連鎖169′から保持RLB連鎖1
57′へ移動させられ、IMS32へロツクが付与
される。 上記の状態が成立して、同一のデータ資源N1
を使用するためリクエストがIRLM61へなされ
たものと仮定する。データ資源N1はIRLM62
中に保持されているN1を先行するロツクと両立
しない状態を有している。IRLM62′の関心ビ
ツトはGHT116中でオンであるから(H1に
ついてGHT116=11)、IRLM61は、名称N
1、ハツシユ・クラスH1、状態、及びオプシヨ
ン(無条件と仮定する)を指定してロツク・リク
エストをIRLM62へ送る。RLB163が創出さ
れ、RHBのために待機連鎖169に置かれる。
IRLM62において、RLB165′が創出され、
RHB142のための待機連鎖169へ加えられ
る。それはRHB142′のための保持連鎖15
7′にあるRLB154′に対応するロツクと両立
しない状態の場合であるから、RLB165′は、
MCB112′へ接続された待機RLB連鎖へ加えら
れる(WHBではなく)。IRLM62からIRLM6
1への応答はなされず(リクエストは無条件)、
正常な処理において、RLB154′の保持手段が
UNLOCKリクエストを出すまで、(UNLOCK手
順)、ロツク・リクエストは停止される。IRLM
62はRLB154′を解放する。RHB142′の
ための保持連鎖157′中に他のRLB′が存在しな
いか、RLB165′がRHB142′のための待機
連鎖169′の最上部にあり、かつRHB142′
のための保持連鎖157′中にあるRLBと両立す
る状態であると仮定すれば、RLB165′が解放
され、それがデータ資源N1のために前に要求さ
れたロツクを付与することができる旨をIRLM6
1へ知らせる。RLB165′が唯一の待機RLBで
あり、RHB142′のための保持RLBが存在しな
ければ、RHB142′も解放される。更に、
IRLM62はGHT116′にあるH1のための関
心ビツトをリセツトし(H1についてGHT11
6′=10)、H1についてGHT116=10をセツ
トするようにIRLM61へ命ずる。ここで注意す
べきは、IRLM62において保持RLB N1のた
めの保持連鎖へ加えられておらず、IRLM61で
は加えられていることである。(即ち、RLB16
5は、図示されるように、待機連鎖からRHB1
42のための保持連鎖157へ動かされる)。こ
の状態において、ハツシユ群H1についてGHT
116=GHT116′=10であるから、IRLM6
1はデータ資源ハツシユ群H1を私的に使用する
ことができる。対応する関心ビツトはRHT11
4=1であり、RHT114′=0である。 サブケースB この例において、上記の状態が成立しているも
のとして、WHB136′の作業ユニツトのため
に、異つたデータ資源N2に対するロツク・リク
エストが、IMS32によつてIRLM62へなされ
る。データ資源N2は、前のリクエストと同じ
GHT116′のエントリイへハツシユ値H1を入
れられている。最初、データ資源N1,N2のハ
ツシユ群H1について、GHT116=GHT11
6′=10である(IRLM61は関心ビツトをオン
にされ、IRLM62はオンにされていない)。
IRLM62はH1のためにGHT116′=11をセ
ツトし、待機RLB151a′をRHB140′(デー
タ資源N2のためのRHB)のための待機連鎖1
68′へ加えWHB136′(図示されず)に関し
ては、GHT116を更新するためIRLM61へリ
クエストを送り、かつハツシユ群H1のデータ資
源N2に対するロツク・リクエストを送る。 IRLM61はGHT116を更新し(ハツシユ群
H1についてGHT116=11)、RHT114中に
対応するマスク・ビツトをリセツトし(IRLM6
1はハツシユ群H1を私的に使用しないので)、
N2をキーとして有するRHBを求めて、ハツシ
ユ群H1に対応するRHT114へ接続された
RHB連鎖を探索する。IRLM61においてデータ
資源N2のためのRHBが存在しないものと仮定
すると、IRLM61はIRLM62に応答して、ロ
ツクを付与することが可能であることを知らせ
る。IRLM61はロツクされた資源を識別しな
い。 次いで、IRLM62はRLB151′を待機連鎖
168′からRHB140′のための保持連鎖15
6′へ動かしロツクを付与する。第2図に示され
るように、今やRLB151′はWHB136′へ接
続された連鎖の中にある。 2つの中央電子複合体(CEC)の上で動作し
ている複数の作業ユニツトによつて共用されたデ
ータ資源への複数の同時的アクセスは、最少の通
信を実行し、かつロツク・データを記憶するため
各複合体で必要とされるスペースを最適に利用し
つつ制御される。それが可能となるのは、各複合
体が資源ロツク・マネジヤ(IRLM)を有するか
らである。IRLMは、各コングルーアンス・クラ
スにおける各CECのIRLMに対する関心ビツトを
含む包括ハツシユ表(GHT)と、資源ヘツダ
ー・ブロツク(RHB)及び作業ユニツト・ブロ
ツク(WHB)に関連した「保持」及び「待機」
の資源ロツク・ブロツク(RLB)の連鎖とを含
む。RHBは連鎖されるとともに、資源ヘツダー
表(RHT)へ接続され、RHTは、GHT中のそれ
ぞれの対応するエントリイのために排他的使用ビ
ツトを含む。WHBは、システム識別ブロツク
(SIDB)へ接続される。WHBへ接続されない待
機RLB、即ち他のIRLMからのリクエストに関連
した待機RLBは相互に連鎖される。 作業ユニツトによつてデータ資源へアクセスす
るための第1IRLMのリクエストは、第1IRLMが
コングルーアンス・クラスの排他的又は私的使用
を有するかどうかを、RHT/GHTから決定する
ことによつて処理される。もし排他的又は私的使
用を有すれば、リクエストは第1IRLM内で処理
される。もし排他的又は私的使用を有しておら
ず、第2IRLMがコングルーアンス・クラスに関
心を有すれば、第1IRLMへ通知が出され、第
1IRLMはそのリクエストを処理する。 もしロツク・リクエストがいずれかのIRLMに
よつて以前に非両立状態へロツクされていないデ
ータ資源に対するものであれば、そのリクエスト
は許され、かつデータ資源のRHBに対するRLB
保持連鎖エントリイが第1IRLMの中で創出され
る。他方、もしロツク・リクエストがいずれかの
IRLMに保持されたデータ資源上のロツクと非両
立的であれば、RLBエントリイが、そのリクエ
ストのために、非両立的な保持RLBを有する
RHBの待機連鎖へ加えられる。通信及びロツク
維持処理を最適化するため、第2IRLMは第
1IRLMによつて付与された保持PLBを保存せ
ず、第1IRLMのために待機RLBを保存する。こ
うして、第2IRLMは、非両立的な保持ロツクが
解放される時点を第1IRLMへ知らせるようにさ
れる。 産業上の応用性 本発明は、マルチプロセシング/マルチプログ
ラミング環境において、データが複数の中央電子
複合体によつて共用されるコンピユータ・システ
ムに応用できる。本発明の装置は、同一又は異つ
たCEC上で動作している2つ以上の作業ユニツ
トによつて、両立しない同時的アクセスがなされ
る場合に、特定のデータ資源をロツクする。
第1図は本発明の装置を含む典型的コンピユー
タ・システムのブロツク図、第2図は第1図の資
源ロツク・マネジヤ61,62のブロツク図であ
る。 11,12……CEC(中央電子複合体)、1
3,14……DASD(直接アクセス記憶装置)、
21,22……上位オペレーテイング・システ
ム、27……通信制御装置、31,32,33,
34……IMS(情報管理システム)、41,4
2,43,44……バツフア・プール、51,5
2……DBRC(データ・ベース回復制御システ
ム)、57……制御データ・セツト、61,62
……IRLM(IMS資源ロツク・マネジヤ)、71,
72,73,74……取引ログ・テープ、110
……RLPL(資源ロツク・リクエスト・パラメー
タ・リスト)、112……MCB(マスタ制御ブロ
ツク)、114……RHT(資源ハツシユ表)、1
16……GHT(包括ハツシユ表)、118……
RGHT(保留ロツク包括ハツシユ表)、120…
…ISL(識別サブシステム・リスト)、122,
124……SIDB(サブシステム識別ブロツク)、
130,132,134,136……WHB(作
業ユニツト・ブロツク)、140,142,14
4……RHB(資源ヘツダー・ブロツク)、15
0,151,152,153,154,155,
156,160,161,163,165,16
6,167……RLB(資源ロツク・ブロツク)。
タ・システムのブロツク図、第2図は第1図の資
源ロツク・マネジヤ61,62のブロツク図であ
る。 11,12……CEC(中央電子複合体)、1
3,14……DASD(直接アクセス記憶装置)、
21,22……上位オペレーテイング・システ
ム、27……通信制御装置、31,32,33,
34……IMS(情報管理システム)、41,4
2,43,44……バツフア・プール、51,5
2……DBRC(データ・ベース回復制御システ
ム)、57……制御データ・セツト、61,62
……IRLM(IMS資源ロツク・マネジヤ)、71,
72,73,74……取引ログ・テープ、110
……RLPL(資源ロツク・リクエスト・パラメー
タ・リスト)、112……MCB(マスタ制御ブロ
ツク)、114……RHT(資源ハツシユ表)、1
16……GHT(包括ハツシユ表)、118……
RGHT(保留ロツク包括ハツシユ表)、120…
…ISL(識別サブシステム・リスト)、122,
124……SIDB(サブシステム識別ブロツク)、
130,132,134,136……WHB(作
業ユニツト・ブロツク)、140,142,14
4……RHB(資源ヘツダー・ブロツク)、15
0,151,152,153,154,155,
156,160,161,163,165,16
6,167……RLB(資源ロツク・ブロツク)。
Claims (1)
- 1 通信リンクによつて相互接続されかつ2つの
コングルーアンス・クラスに構成された資源へ共
通にアクセスする第1及び第2の中央電子複合体
を含むマルチプロセシング/マルチプログラミン
グ・コンピユータ・システムで動作する共用資源
ロツキング装置にして、上記中央電子複合体の
各々に設けられ上記コングルーアンス・クラスの
各々における各中央電子複合体の関心情報を記憶
する手段と、上記第1の中央電子複合体が私的使
用を有するコングルーアンス・クラスの資源が上
記第1の中央電子複合体によつてリクエストされ
たことに応答して上記第1の中央電子複合体の中
に維持されたロツク・レコードに基づいて選択的
にリクエストを付与し又は待機する手段と、上記
第2の中央電子複合体が関心を有するコングルー
アンス・クラスの資源が上記第1の中央電子複合
体によつてリクエストされたことに応答してリク
エストを上記第2の中央電子複合体へ通知し上記
第1又は第2の中央電子複合体の中に維持された
ロツク・レコードに基づいて選択的にリクエスト
を付与し又は待機する手段とを具備する共用資源
ロツキング装置。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/194,483 US4399504A (en) | 1980-10-06 | 1980-10-06 | Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5764861A JPS5764861A (en) | 1982-04-20 |
| JPS6131500B2 true JPS6131500B2 (ja) | 1986-07-21 |
Family
ID=22717772
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56112395A Granted JPS5764861A (en) | 1980-10-06 | 1981-07-20 | Common resource locking device |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4399504A (ja) |
| JP (1) | JPS5764861A (ja) |
Families Citing this family (125)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4435753A (en) | 1980-10-31 | 1984-03-06 | International Business Machines Corporation | Register allocation system using recursive queuing during source code compilation |
| US4533996A (en) * | 1982-02-23 | 1985-08-06 | International Business Machines Corporation | Peripheral systems accommodation of guest operating systems |
| US4464713A (en) * | 1981-08-17 | 1984-08-07 | International Business Machines Corporation | Method and apparatus for converting addresses of a backing store having addressable data storage devices for accessing a cache attached to the backing store |
| US4574350A (en) * | 1982-05-19 | 1986-03-04 | At&T Bell Laboratories | Shared resource locking apparatus |
| US4507751A (en) * | 1982-06-21 | 1985-03-26 | International Business Machines Corporation | Method and apparatus for logging journal data using a log write ahead data set |
| US4627019A (en) * | 1982-07-08 | 1986-12-02 | At&T Bell Laboratories | Database management system for controlling concurrent access to a database |
| US4698752A (en) * | 1982-11-15 | 1987-10-06 | American Telephone And Telegraph Company At&T Bell Laboratories | Data base locking |
| US4792896A (en) * | 1983-12-07 | 1988-12-20 | 516277 Ontario Limited | Storage controller emulator providing transparent resource sharing in a computer system |
| US4604694A (en) * | 1983-12-14 | 1986-08-05 | International Business Machines Corporation | Shared and exclusive access control |
| US4750116A (en) * | 1985-10-11 | 1988-06-07 | International Business Machines Corporation | Hardware resource management |
| US4847754A (en) * | 1985-10-15 | 1989-07-11 | International Business Machines Corporation | Extended atomic operations |
| US5155678A (en) * | 1985-10-29 | 1992-10-13 | International Business Machines Corporation | Data availability in restartable data base system |
| US5115499A (en) * | 1986-05-14 | 1992-05-19 | Sequoia Systems, Inc. | Shared computer resource allocation system having apparatus for informing a requesting computer of the identity and busy/idle status of shared resources by command code |
| US5027316A (en) * | 1986-09-11 | 1991-06-25 | International Business Machines Corporation | Versioning of message formats in a 24-hour operating environment |
| GB2196762B (en) * | 1986-10-27 | 1990-12-19 | Burr Brown Ltd | Interleaved access to global memory by high priority source |
| US5202971A (en) * | 1987-02-13 | 1993-04-13 | International Business Machines Corporation | System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock |
| JPH0833857B2 (ja) * | 1987-02-18 | 1996-03-29 | 株式会社日立製作所 | システム間デ−タベ−ス共用システムジヤ−ナルマ−ジ方式 |
| US5201040A (en) * | 1987-06-22 | 1993-04-06 | Hitachi, Ltd. | Multiprocessor system having subsystems which are loosely coupled through a random access storage and which each include a tightly coupled multiprocessor |
| US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
| US4958273A (en) * | 1987-08-26 | 1990-09-18 | International Business Machines Corporation | Multiprocessor system architecture with high availability |
| US5077658A (en) * | 1987-10-19 | 1991-12-31 | International Business Machines Corporation | Data access system for a file access processor |
| US4897782A (en) * | 1987-10-19 | 1990-01-30 | International Business Machines Corporation | Local cache structure for maintaining updated file characteristics in a file sharing system |
| US5237682A (en) * | 1987-10-19 | 1993-08-17 | International Business Machines Corporation | File management system for a computer |
| US5319780A (en) * | 1987-10-19 | 1994-06-07 | International Business Machines Corporation | System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is issued |
| US4888681A (en) * | 1987-10-19 | 1989-12-19 | International Business Machines Corporation | Space management system for data files having shared access |
| AU616213B2 (en) * | 1987-11-09 | 1991-10-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
| CA2003338A1 (en) * | 1987-11-09 | 1990-06-09 | Richard W. Cutts, Jr. | Synchronization of fault-tolerant computer system having multiple processors |
| IL88165A (en) * | 1987-12-21 | 1993-01-31 | Honeywell Bull | Apparatus and method for a data processing system having a peer relationship among a plurality of central processing units |
| US5222237A (en) * | 1988-02-02 | 1993-06-22 | Thinking Machines Corporation | Apparatus for aligning the operation of a plurality of processors |
| WO1989007299A1 (en) * | 1988-02-02 | 1989-08-10 | Thinking Machines Corporation | Method and apparatus for aligning the operation of a plurality of processors |
| US4965719A (en) * | 1988-02-16 | 1990-10-23 | International Business Machines Corporation | Method for lock management, page coherency, and asynchronous writing of changed pages to shared external store in a distributed computing system |
| US5274809A (en) * | 1988-05-26 | 1993-12-28 | Hitachi, Ltd. | Task execution control method for a multiprocessor system with enhanced post/wait procedure |
| US5043876A (en) * | 1988-05-27 | 1991-08-27 | International Business Machines Corporation | N-level file shadowing and recovery in a shared file system |
| JPH01303527A (ja) * | 1988-05-31 | 1989-12-07 | Hitachi Ltd | 共有資源の管理方法 |
| AU625293B2 (en) * | 1988-12-09 | 1992-07-09 | Tandem Computers Incorporated | Synchronization of fault-tolerant computer system having multiple processors |
| US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
| JPH02195453A (ja) * | 1989-01-25 | 1990-08-02 | Toshiba Corp | ファイルアクセス制御方式 |
| US5325524A (en) * | 1989-04-06 | 1994-06-28 | Digital Equipment Corporation | Locating mobile objects in a distributed computer system |
| US5101488A (en) * | 1989-05-02 | 1992-03-31 | Motorola, Inc. | Method for retrieving and updating data in a real-time data base system |
| US5297283A (en) * | 1989-06-29 | 1994-03-22 | Digital Equipment Corporation | Object transferring system and method in an object based computer operating system |
| US5117352A (en) * | 1989-10-20 | 1992-05-26 | Digital Equipment Corporation | Mechanism for fail-over notification |
| US5263169A (en) * | 1989-11-03 | 1993-11-16 | Zoran Corporation | Bus arbitration and resource management for concurrent vector signal processor architecture |
| US5191652A (en) * | 1989-11-10 | 1993-03-02 | International Business Machines Corporation | Method and apparatus for exploiting communications bandwidth as for providing shared memory |
| US5161227A (en) * | 1989-11-13 | 1992-11-03 | International Business Machines Corporation | Multilevel locking system and method |
| AU650242B2 (en) * | 1989-11-28 | 1994-06-16 | International Business Machines Corporation | Methods and apparatus for dynamically managing input/output (I/O) connectivity |
| US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
| US5499356A (en) * | 1989-12-29 | 1996-03-12 | Cray Research, Inc. | Method and apparatus for a multiprocessor resource lockout instruction |
| US5203004A (en) * | 1990-01-08 | 1993-04-13 | Tandem Computers Incorporated | Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections |
| US5301337A (en) * | 1990-04-06 | 1994-04-05 | Bolt Beranek And Newman Inc. | Distributed resource management system using hashing operation to direct resource request from different processors to the processor controlling the requested resource |
| 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 |
| 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 |
| US5319774A (en) * | 1990-05-16 | 1994-06-07 | International Business Machines Corporation | Recovery facility for incomplete sync points for distributed application |
| JP3293839B2 (ja) * | 1990-05-16 | 2002-06-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム |
| JP2691081B2 (ja) * | 1990-05-16 | 1997-12-17 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ・ネットワーク |
| US5327532A (en) * | 1990-05-16 | 1994-07-05 | International Business Machines Corporation | Coordinated sync point management of protected resources |
| US5276876A (en) * | 1990-05-16 | 1994-01-04 | International Business Machines Corporation | Registration of resources for commit procedures |
| US5165031A (en) * | 1990-05-16 | 1992-11-17 | International Business Machines Corporation | Coordinated handling of error codes and information describing errors in a commit procedure |
| US5319773A (en) * | 1990-05-16 | 1994-06-07 | International Business Machines Corporation | Asynchronous resynchronization of a commit procedure |
| JPH05508496A (ja) * | 1990-06-11 | 1993-11-25 | クレイ、リサーチ、インコーポレーテッド | 命令をロードおよびフラグする方法および装置 |
| 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 |
| EP0472829A3 (en) * | 1990-08-31 | 1993-01-07 | International Business Machines Corporation | Multicomputer complex and distributed shared data memory |
| US5388196A (en) * | 1990-09-07 | 1995-02-07 | Xerox Corporation | Hierarchical shared books with database |
| JP2829115B2 (ja) * | 1990-10-19 | 1998-11-25 | 株式会社日立製作所 | ファイル共用方法 |
| US5537574A (en) * | 1990-12-14 | 1996-07-16 | International Business Machines Corporation | Sysplex shared data coherency method |
| US5287473A (en) * | 1990-12-14 | 1994-02-15 | International Business Machines Corporation | Non-blocking serialization for removing data from a shared cache |
| US5276835A (en) * | 1990-12-14 | 1994-01-04 | International Business Machines Corporation | Non-blocking serialization for caching data in a shared cache |
| JPH0827755B2 (ja) * | 1991-02-15 | 1996-03-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データの単位を高速度でアクセスする方法 |
| JP2533266B2 (ja) * | 1991-06-14 | 1996-09-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法 |
| US5390328A (en) * | 1992-03-30 | 1995-02-14 | International Business Machines Corporation | Data processing system and method for providing notification in a central processor of state changes for shared data structure on external storage |
| JP2566717B2 (ja) * | 1992-03-30 | 1996-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 条件付きオペレーション提供装置及び方法 |
| US5339427A (en) * | 1992-03-30 | 1994-08-16 | International Business Machines Corporation | Method and apparatus for distributed locking of shared data, employing a central coupling facility |
| 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 |
| 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 |
| US5276878A (en) * | 1992-10-07 | 1994-01-04 | International Business Machines Corporation | Method and system for task memory management in a multi-tasking data processing system |
| US5596754A (en) * | 1992-10-29 | 1997-01-21 | Digital Equipment Corporation | Method for performing private lock management |
| US5911138A (en) * | 1993-06-04 | 1999-06-08 | International Business Machines Corporation | Database search facility having improved user interface |
| 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 |
| EP0667573A1 (en) * | 1994-02-14 | 1995-08-16 | International Business Machines Corporation | Incorporation of services written in one operating system environment into another operating system environment |
| US5450595A (en) * | 1994-02-15 | 1995-09-12 | International Business Machines Corporation | Multiple hash tables based on access frequency |
| US5513351A (en) * | 1994-07-28 | 1996-04-30 | International Business Machines Corporation | Protecting a system during system maintenance by usage of temporary filenames in an alias table |
| 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 |
| US5634122A (en) * | 1994-12-30 | 1997-05-27 | International Business Machines Corporation | System and method for multi-level token management for distributed file systems |
| US5897635A (en) * | 1995-06-07 | 1999-04-27 | International Business Machines Corp. | Single access to common user/application information |
| US5628005A (en) * | 1995-06-07 | 1997-05-06 | Microsoft Corporation | System and method for providing opportunistic file access in a network environment |
| US5860137A (en) * | 1995-07-21 | 1999-01-12 | Emc Corporation | Dynamic load balancing |
| US5794241A (en) * | 1996-04-08 | 1998-08-11 | Oracle Corporation | Method and apparatus for dynamically disabling and enabling table locking for a database |
| US5860070A (en) * | 1996-05-31 | 1999-01-12 | Oracle Corporation | Method and apparatus of enforcing uniqueness of a key value for a row in a data table |
| US6041383A (en) * | 1996-07-22 | 2000-03-21 | Cabletron Systems, Inc. | Establishing control of lock token for shared objects upon approval messages from all other processes |
| US7480653B2 (en) * | 1996-10-22 | 2009-01-20 | International Business Machines Corporation | System and method for selective partition locking |
| US6754656B1 (en) | 1996-10-22 | 2004-06-22 | International Business Machines Corporation | System and method for selective partition locking |
| US6141720A (en) * | 1997-06-12 | 2000-10-31 | Cabletron Systems, Inc. | Method and apparatus for coordination of a shared object in a distributed system |
| 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 |
| US9361243B2 (en) | 1998-07-31 | 2016-06-07 | Kom Networks Inc. | Method and system for providing restricted access to a storage medium |
| US7536524B2 (en) * | 1998-07-31 | 2009-05-19 | Kom Networks Inc. | Method and system for providing restricted access to a storage medium |
| US8234477B2 (en) | 1998-07-31 | 2012-07-31 | Kom Networks, Inc. | Method and system for providing restricted access to a storage medium |
| 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 |
| US6757893B1 (en) * | 1999-12-17 | 2004-06-29 | Canon Kabushiki Kaisha | Version control system for software code |
| US6529905B1 (en) | 2000-01-11 | 2003-03-04 | Frontline Solutions, Inc. | Method and system for allowing multiple users to edit a hierarchical data structure |
| US6851005B1 (en) * | 2000-03-03 | 2005-02-01 | International Business Machines Corporation | Apparatus and method for implementing raid devices in a cluster computer system |
| US6952736B1 (en) * | 2000-04-25 | 2005-10-04 | Microsoft Corporation | Object-based locking mechanism |
| US7003521B2 (en) * | 2000-05-30 | 2006-02-21 | Sun Microsystems, Inc. | Method and apparatus for locking objects using shared locks |
| US7529778B1 (en) | 2001-12-12 | 2009-05-05 | Microsoft Corporation | System and method for providing access to consistent point-in-time file versions |
| US7313557B1 (en) * | 2002-03-15 | 2007-12-25 | Network Appliance, Inc. | Multi-protocol lock manager |
| US7099899B2 (en) * | 2002-04-23 | 2006-08-29 | International Business Machines Corporation | System and method for item versioning in a content mangement system |
| US7565406B2 (en) * | 2002-07-24 | 2009-07-21 | Sun Microsystems, Inc. | Last thread lock management for multi-threaded process and distributed data systems |
| US8095657B2 (en) * | 2002-07-24 | 2012-01-10 | Oracle America, Inc. | First thread lock management for distributed data systems |
| US20040019660A1 (en) * | 2002-07-24 | 2004-01-29 | Sandhya E. | Lock holding multi-threaded processes for distibuted data systems |
| US7093230B2 (en) * | 2002-07-24 | 2006-08-15 | Sun Microsystems, Inc. | Lock management thread pools for distributed data systems |
| US8185602B2 (en) | 2002-11-05 | 2012-05-22 | Newisys, Inc. | Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters |
| US6950913B2 (en) * | 2002-11-08 | 2005-09-27 | Newisys, Inc. | Methods and apparatus for multiple cluster locking |
| JP2004265193A (ja) * | 2003-03-03 | 2004-09-24 | Canon Inc | 情報処理方法、情報処理装置、サーバ装置の制御方法、サーバ装置 |
| US20040230896A1 (en) * | 2003-05-16 | 2004-11-18 | Dethe Elza | Method and system for enabling collaborative authoring of hierarchical documents with unique node identifications |
| US20050278280A1 (en) * | 2004-05-28 | 2005-12-15 | Semerdzhiev Krasimir P | Self update mechanism for update module |
| US7617256B2 (en) * | 2004-07-19 | 2009-11-10 | Microsoft Corporation | Remote file updates through remote protocol |
| US8316129B2 (en) | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
| 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 |
| US8868748B2 (en) * | 2010-10-11 | 2014-10-21 | International Business Machines Corporation | Two-level management of locks on shared resources |
| US8631277B2 (en) | 2010-12-10 | 2014-01-14 | Microsoft Corporation | Providing transparent failover in a file system |
| US9331955B2 (en) | 2011-06-29 | 2016-05-03 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
| US8856582B2 (en) | 2011-06-30 | 2014-10-07 | Microsoft Corporation | Transparent failover |
| US20130067095A1 (en) | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Smb2 scaleout |
| US8788579B2 (en) | 2011-09-09 | 2014-07-22 | Microsoft Corporation | Clustered client failover |
| US9348859B2 (en) | 2013-03-25 | 2016-05-24 | International Business Machines Corporation | Providing record-level sharing (RLS) to local data sets |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE1250659B (de) * | 1964-04-06 | 1967-09-21 | International Business Machines Corporation, Armonk, NY (V St A) | Mikroprogrammgesteuerte Datenverarbeitungsanlage |
| US3469239A (en) * | 1965-12-02 | 1969-09-23 | Hughes Aircraft Co | Interlocking means for a multi-processor system |
| US3573736A (en) * | 1968-01-15 | 1971-04-06 | Ibm | Interruption and interlock arrangement |
| US3528062A (en) * | 1968-07-05 | 1970-09-08 | Ibm | Program interlock arrangement,including task suspension and new task assignment |
| DE2064383C3 (de) * | 1970-01-12 | 1981-02-26 | Fujitsu Ltd., Kawasaki, Kanagawa (Japan) | Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen |
| US3683418A (en) * | 1970-04-16 | 1972-08-08 | Bell Telephone Labor Inc | Method of protecting data in a multiprocessor computer system |
| JPS4930578B1 (ja) * | 1970-09-30 | 1974-08-14 | ||
| US3725872A (en) * | 1971-03-03 | 1973-04-03 | Burroughs Corp | Data processing system having status indicating and storage means |
| US3761883A (en) * | 1972-01-20 | 1973-09-25 | Ibm | Storage protect key array for a multiprocessing system |
| GB1410631A (en) * | 1972-01-26 | 1975-10-22 | Plessey Co Ltd | Data processing system interrupt arrangements |
| US3781808A (en) * | 1972-10-17 | 1973-12-25 | Ibm | Virtual memory system |
| US3889237A (en) * | 1973-11-16 | 1975-06-10 | Sperry Rand Corp | Common storage controller for dual processor system |
| US4104718A (en) * | 1974-12-16 | 1978-08-01 | Compagnie Honeywell Bull (Societe Anonyme) | System for protecting shared files in a multiprogrammed computer |
| SE397013B (sv) * | 1976-12-17 | 1977-10-10 | Ellemtel Utvecklings Ab | Sett och anordning for att overfora datainformationer till tva parallellt arbetande datamaskindelar |
| JPS596415B2 (ja) * | 1977-10-28 | 1984-02-10 | 株式会社日立製作所 | 多重情報処理システム |
| US4209839A (en) * | 1978-06-16 | 1980-06-24 | International Business Machines Corporation | Shared synchronous memory multiprocessing arrangement |
-
1980
- 1980-10-06 US US06/194,483 patent/US4399504A/en not_active Expired - Lifetime
-
1981
- 1981-07-20 JP JP56112395A patent/JPS5764861A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5764861A (en) | 1982-04-20 |
| US4399504A (en) | 1983-08-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6131500B2 (ja) | ||
| US4480304A (en) | Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment | |
| US6105085A (en) | Lock mechanism for shared resources having associated data structure stored in common memory include a lock portion and a reserve portion | |
| US6412034B1 (en) | Transaction-based locking approach | |
| US5287453A (en) | Fast remote file access facility for distributing file access requests in a closely coupled computer system | |
| EP0563623B1 (en) | Communicating messages between processors and a coupling facility | |
| US5060144A (en) | Locking control with validity status indication for a multi-host processor system that utilizes a record lock processor and a cache memory for each host processor | |
| US5987550A (en) | Lock mechanism for shared resources in a data processing system | |
| US6112263A (en) | Method for multiple independent processes controlling access to I/O devices in a computer system | |
| CN100458757C (zh) | 嵌入式实时操作系统中多核处理器的核间通信方法及装置 | |
| JPH1165863A (ja) | 共有資源管理方法 | |
| US6065065A (en) | Parallel computer system and file processing method using multiple I/O nodes | |
| US6640280B1 (en) | Obtaining data from a remote storage device using multiple jobs per device on RA | |
| EP0682312A2 (en) | Hardware implemented locking mechanism for parallel/distributed computer system | |
| JPH01188965A (ja) | データ処理方法 | |
| JP2003131900A (ja) | サーバシステム運用管理方式 | |
| JPH03194647A (ja) | 故障通告方法 | |
| JPS63238634A (ja) | 分散多重処理トランザクション処理システム | |
| US7577957B1 (en) | Multiple jobs per device that are linked via a device record for servicing by different adapters | |
| US5063504A (en) | Information control system for reserve locking infrastructure nodes for subsequent exclusive and share locking by the system | |
| US6601183B1 (en) | Diagnostic system and method for a highly scalable computing system | |
| US6076126A (en) | Software locking mechanism for locking shared resources in a data processing system | |
| US5062038A (en) | Information control system | |
| US6185650B1 (en) | High performance locking facility | |
| JPS61265661A (ja) | 多重処理システム |