JP2008242667A - 排他制御方法及び排他制御プログラム - Google Patents

排他制御方法及び排他制御プログラム Download PDF

Info

Publication number
JP2008242667A
JP2008242667A JP2007080260A JP2007080260A JP2008242667A JP 2008242667 A JP2008242667 A JP 2008242667A JP 2007080260 A JP2007080260 A JP 2007080260A JP 2007080260 A JP2007080260 A JP 2007080260A JP 2008242667 A JP2008242667 A JP 2008242667A
Authority
JP
Japan
Prior art keywords
program
exclusive control
data set
shared data
name
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
Application number
JP2007080260A
Other languages
English (en)
Inventor
Seiichi Endo
精一 遠藤
Kazuo Morita
和夫 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Exa Corp
Original Assignee
Exa Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Exa Corp filed Critical Exa Corp
Priority to JP2007080260A priority Critical patent/JP2008242667A/ja
Publication of JP2008242667A publication Critical patent/JP2008242667A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】各アプリケーションプログラムの内部にENQ/DEQプログラムを組み込むことなく容易にシステムに排他制御機能を付加できる排他制御方法を提供する。
【解決手段】複数のコンピュータに接続された外部記憶装置23に記憶された共有データセット24a、24b、…のデータを更新する際、各コンピュータに汎用的なENQ/DEQ制御を施す排他制御用共通プログラム32をロードし、プログラム実行用JCL31a、31bにより排他制御したいアプリケーションプログラム名及び排他制御したい共有データセット名を指定して上記排他制御用共通プログラム32を実行させる。排他制御用共通プログラム32は、プログラム実行用JCL31a、31bにより指定されたアプリケーションプログラムによる共有データセットのデータ更新時に排他制御を行なう。
【選択図】 図2

Description

本発明は、複数のアプリケーションプログラムにより外部記憶装置に記憶された共有データセットを更新する際に排他制御を行なう排他制御方法及び排他制御プログラムに関する。
複数のアプリケーションプログラムにより外部記憶装置に記憶されたデータセットを共有するコンピュータシステムでは、データの整合性確保及びデータセットの破壊防止のために排他制御を行なっている。複数例えば2つのアプリケーションプログラムが共有データセットを同時にアクセスする場合、双方ともデータの「読込み」であれば何の問題も発生しない。また、一方のアプリケーションプログラムがデータ内容の「更新」で、他のアプリケーションプログラムがデータの「読込み」の場合、読込み側のデータ内容が、更新前なのか更新後なのかの区別がつかないものの、コンピュータ処理としては正常処理される。しかし、双方のアプリケーションプログラムがデータ内容の「更新」の場合には、相手の更新結果を無視して自分側で上書きしてしまい、データ内容が正しく処理されなくなる。また、双方のアプリケーションプログラムが同時にデータ内容を更新するため、前記データセットが破壊されることもある。このため複数のアプリケーションプログラムが同一データセットを同時に更新する可能性がある場合には、関係する全てのプログラムの中で、同時更新が行なわれないような排他制御を行なう必要がある。
上記排他制御を行なうため、従来では共有データセットのデータを更新する各アプリケーションプログラムの内部に排他制御プログラムを組み込んでいる。
ここで、排他制御には、物理排他制御によるもの(以下「物理排他制御方式」という。)と論理排他制御によるもの(以下「論理排他制御方式」という。)とがある。
このうち物理排他制御方式で排他制御される範囲は、磁気ディスク装置に代表される直接アクセス可能な補助記憶装置全体というような物理的単位である。
一方、論理排他制御方式で排他制御される範囲は、補助記憶装置上にデータを論理的な単位でまとめたデータセット単位である。
上記排他制御方式には複数の方法があるが、一般的には排他制御プログラム(以下「ENQ/DEQプログラム」という。)を全てのアプリケーションプログラムの内部に組み込む方法が採用されている(例えば、特許文献1参照。)。
上記ENQ/DEQプログラムは、共有データセットのデータを更新中のアプリケーションプログラムがある場合、後から当該データセットのデータの更新を要求してきたアプリケーションプログラムを待ち状態とし、先に更新中のアプリケーションプログラムの処理終了後に後から更新を要求してきたアプリケーションプログラムの待ち状態を解除するという機能を有する(例えば、特許文献2、特許文献3参照。)。
図5は、アプリケーションプログラムの内部にENQ/DEQプログラムを組み込む従来の排他制御方法を示したものである。なお、図5では、プログラム実行用JCL11aによってアプリケーションプログラム12を指定し、外部記憶装置14に記憶されているデータセット名「XX」の共有データセット15を更新する際、同時にプログラム実行用JCL11bによりアプリケーションプログラム13を指定して上記データセット名「XX」の共有データセット15を更新する場合について示している。
図5において、11a、11bは所定のアプリケーションプログラムを指定して実行させるためのジョブ制御言語(以下「JCL」という。)によるプログラム実行用JCL(指令書)であり、外部記憶装置(図示せず)に記憶される。上記プログラム実行用JCL11a、11bは、それぞれ異なるコンピュータにロードされて使用される。
上記プログラム実行用JCL11aは、「// EXEC PGM=‘PROGAA’」によりプログラム名「AA」のアプリケーションプログラム12を指定し、DD(データ定義)ステートメントの記述「//DD01 DD DISP=SHR.DSN=ZZ」によりデータセット名「ZZ」の共有データセット、「//DD02 DD DISP=SHR.DSN=XX」により排他制御を行なうデータセット名「XX」の共有データセットを指定する。
また、上記プログラム実行用JCL11bは、「// EXEC PGM=‘PROGBB’」によりプログラム名「BB」のアプリケーションプログラム13を指定し、DDステートメントの記述「//DD01 DD DISP=SHR.DSN=YY」によりデータセット名「YY」の共有データセット、「//DD03 DD DISP=SHR.DSN=XX」により排他制御を行なうデータセット名「XX」の共有データセットを指定する。
上記プログラム実行用JCL11a、11bにおいては、データセット名「XX」の共有データセット15がアプリケーションプログラム12、13による同時アクセスの対象となっており、排他制御が行なわれる。
今、プログラム実行用JCL11aが先にコンピュータにロードされ、その後、プログラム実行用JCL11bが他のコンピュータにロードされたものとする。最初にロードされたプログラム実行用JCL11aによって、プログラム名「AA」のアプリケーションプログラム12が指定される。
アプリケーションプログラム12は、プログラム実行用JCL11aにおける「DD02」のデータ定義に従い、外部記憶装置14に記憶されているデータセット名「XX」の共有データセット15のデータを更新する。この場合、アプリケーションプログラム12には、ENQ/DEQプログラム12aが組み込まれており、外部記憶装置14に記憶されているデータセット名「XX」の共有データセット15の更新要求が受け付けられた場合、排他制御を行なって共有データセット15を専有する。
上記アプリケーションプログラム12がデータセット名「XX」の共有データセット15の更新処理を行なっている間は、プログラム実行用JCL11bによってプログラム名「BB」のアプリケーションプログラム13の実行が指示され、アプリケーションプログラム13が「DD03」のデータ定義に従ってデータセット名「XX」の共有データセット15の更新を要求しても、受け付けられずに待ち状態となる。
そして、上記アプリケーションプログラム12が共有データセット15に対する更新処理が終了すると、ENQ/DEQプログラム12aは「DEQ」命令によって排他制御を終了する。
上記ENQ/DEQプログラム12aによる排他制御が終了すると、上記待機状態にあるアプリケーションプログラム13の待ち状態が解除され、アプリケーションプログラム13はプログラム実行用JCL11bにおける「DD03」のデータ定義に従い、外部記憶装置14に記憶されているデータセット名「XX」の共有データセット15のデータを更新することができる。この場合、上記アプリケーションプログラム13においても、アプリケーションプログラム12と同様にENQ/DEQプログラム13aが組み込まれており、外部記憶装置14に記憶されているデータセット名「XX」の共有データセット15に対する排他制御を行なう。
特公平05−040935号公報 特開平02−194442号公報 特公平04−021893号公報
上記のように従来では、アプリケーションプログラムに組み込んだENQ/DEQプログラムによって共有データセットに対する排他制御を行ない、共有データセットのデータの整合性を確保すると共にデータセットの破壊を防止している。
しかしながら、上記従来の排他制御方法では、次のような問題がある。
(1)アプリケーションプログラム制作時に他の既存のアプリケーションプログラムと競合が発生するか否かを調査しなければならない。
(2)アプリケーションプログラムに排他制御機能を付加する場合には、全てのアプリケーションプログラムの内部にENQ/DEQプログラムを組み込まなければならない。
(3)ENQ/DEQプログラムを有するアプリケーションプログラムのENQ/DEQルールを台帳で管理しなければならない。
(4)新規アプリケーションプログラムが他の既存のアプリケーションプログラムと競合するかどうかを調査し、競合する場合には、既存のアプリケーションプログラムのENQ/DEQルールに合致した排他制御プログラムを新規アプリケーションプログラムに追加して組み込まなければならない。
本発明は上記の課題を解決するためになされたもので、各アプリケーションプログラムの内部にENQ/DEQプログラムを組み込むことなく容易にシステムに排他制御機能を付加することができ、アプリケーションプログラム制作時に他の既存のアプリケーションプログラムと競合が発生するか否かを調査する必要がなく、且つ管理が容易な排他制御方法及び排他制御プログラムを提供することを目的とする。
第1の発明は、複数のコンピュータが接続された外部記憶装置に記憶された共有データセットのデータ更新時に前記共有データセットを排他制御する排他制御方法において、
前記コンピュータに排他制御を施す排他制御用共通プログラムをロードし、前記コンピュータで処理させたい内容を記述した指令書により前記排他制御用共通プログラム名を指定すると共に排他制御したいアプリケーションプログラム名及び共有データセット名を指定し、前記排他制御用共通プログラムにより前記指定されたアプリケーションプログラムによる共有データセットのデータ更新に際して該共有データセットの排他制御を実行することを特徴とする。
第2の発明は、複数のコンピュータが接続された外部記憶装置に複数のアプリケーションプログラム及び共有データセットが記憶され、前記アプリケーションプログラムによる共有データセットのデータ更新時に該共有データセットを排他制御する排他制御プログラムにおいて、
前記コンピュータにロードされ、コンピュータで処理させたい内容が記述されると共に排他制御したいアプリケーションプログラム名及び共有データセット名を指定する指令書に従って稼働する前記各アプリケーションプログラムに共通使用される排他制御用共通プログラムを備え、
前記排他制御用共通プログラムは、前記指令書の記述内容を解読し、該指令書により指定された排他制御対象のアプリケーションプログラム名及び共有データセット名を得る解読ステップと、前記解読ステップにより解読されたデータセット名の共有データセットの排他要求を行なう排他要求ステップと、前記解読ステップにより解読されたプログラム名のアプリケーションプログラムを前記外部記憶装置から呼出し、前記共有データセットのデータ更新を行なうデータ更新ステップと、前記データ更新ステップによる共有データセットのデータ更新終了後、前記共有データセットの排他開放を行なう排他開放ステップとを具備することを特徴とする。
本発明によれば、汎用的な排他制御(ENQ/DEQ)機能を有する排他制御用共通プログラムを作成し、当該プログラムを使用してアプリケーションプログラムに排他制御機能を付加することにより、各アプリケーションプログラムの内部に排他制御プログラムを組み込むことなく容易にシステムに排他制御機能を付加することができる。また、排他制御用共通プログラムを実行させる指令書において、排他制御したいアプリケーションプログラム名及び排他制御したい共有データセット名を指定するだけで、共有データセットの排他制御を行なうことができる。
また、各アプリケーションプログラムには、排他制御プログラムを組み込む必要がないので、アプリケーションプログラム制作時に他の既存のアプリケーションプログラムと競合が発生するか否かを調査する必要がない。更に、排他制御に関わる部分を標準化できるので、アプリケーションプログラムの維持管理が容易になる。
以下、図面を参照して本発明の一実施形態を説明する。
図1は本発明の一実施形態に係る排他制御機能を備えたコンピュータシステムの概略構成を示すブロック図である。図1は、複数のコンピュータ例えば2台のコンピュータにより、外部記憶装置に記憶されたデータセットを共有する場合のシステムの構成例について示している。
図1において、20はバスラインで、このバスライン20には、複数の論理区画を含む第1のコンピュータ本体21及び第2のコンピュータ本体22が接続されると共に、例えば磁気ディスク装置等の外部記憶装置23が接続される。上記第1のコンピュータ本体21はCPU211及び内部メモリ212等を備え、第2のコンピュータ本体22はCPU221及び内部メモリ222等を備えている。
上記外部記憶装置23には、上記コンピュータ本体21、22が共有するデータセット名「WW」、「XX」、「YY」、「ZZ」等の共有データセット24a、24b、24c、24d、…が記憶されていると共に、各コンピュータ本体21、22が独自に使用するデータ等、各種データが記憶されている。
また、上記バスライン20には、外部記憶装置を用いて構成されるJCLメモリ25及びプログラムメモリ26が接続される。更に上記バスライン20には、上記コンピュータ本体21、22の処理データを表示する表示装置27及び処理データを印刷するプリンタ28等が接続される。上記表示装置27はキーボード等のデータ入力部を備え、コンピュータ処理や処理結果を入手するための画面装置である。
上記JCLメモリ25は、JCL・ライブラリー251を備えており、このJCL・ライブラリー251に「JCL-01」、「JCL-02」、「JCL-03」、「JCL-04」、…等のプログラム実行用JCL31a、31b、31c、31d、…が記憶される。このプログラム実行用JCL31a、31b、31c、31d、…には、図2に詳細を示すようにJCLにより、排他制御(ENQ/DEQ)用共通プログラムのプログラム名、使用するアプリケーションプログラム名、共有データセット名、プログラム・ライブラリー名、データセットの取扱い、等のコンピュータで処理させたい内容が記述される。上記プログラム実行用JCL31a、31b、31c、31d、…の単位は、1つの纏まった処理であり、その纏まりがジョブと呼ばれている。あるジョブを実行させたい場合には、上記表示装置27から上記JCLメモリ25に記憶されているプログラム実行用JCL31a、31b、31c、31d、…を第1のコンピュータ本体21あるいは第2のコンピュータ本体22に読み込むように指示する。
また、上記プログラムメモリ26には、汎用的なENQ/DEQ制御を実行する排他制御用共通プログラム32及びプログラム・ライブラリー261が記憶される。このプログラム・ライブラリー261には例えば「PGM-AA」、「PGM-BB」、「PGM-CC」、「PGM-DD」、…等のプログラム名を有する各種アプリケーションプログラム34a、34b、34c、34d、…が記憶される。上記アプリケーションプログラム34a、34b、34c、34d、…は、ある目的を持ってコンピュータ処理を行なわせるための手順書である。
なお、上記図1では、外部記憶装置23、JCLメモリ25及びプログラムメモリ26を別個に設けた場合について示したが、別個に設ける必要はなく例えば1つの外部記憶装置内に構成しても良い。
次に、上記プログラム実行用JCL31a、31b、排他制御用共通プログラム32及びアプリケーションプログラム34a、34bの構成例について図2を参照して説明する。なお、排他制御用共通プログラム32のプログラム名を「GUAUTENQ」として説明する。また、図2は、プログラム実行用JCL31aによりアプリケーションプログラム34aを指定して外部記憶装置23に記憶されているデータセット名「XX」の共有データセット24bを更新し、同時にプログラム実行用JCL31bによりアプリケーションプログラム34bを指定してデータセット名「XX」の共有データセット24bを更新する場合について示している。この場合、例えばJCLメモリ25に記憶されているプログラム実行用JCL31aを第1のコンピュータ本体21にロードし、プログラム実行用JCL31bを第2のコンピュータ本体22にロードするように図1に示す表示装置27から指示する。
上記プログラム実行用JCL31aには、排他制御用共通プログラム32を指定する「// EXEC PGM=GUAUTENQ」、実行させたいアプリケーションプログラム名「AA」を指定する「// PARM=‘PROGAA’」、排他制御を行なうデータセット名「XX」の共有データセットを指定する「//DDENQ DD DISP=SHR.DSN=XX」が記述されている。また、プログラム実行用JCL31aにおける「//DD01 DD DISP=SHR.DSN=ZZ」及び「//DD02 DD DISP=SHR.DSN=XX」からなる(A)の記述は、プログラムAA(PROGAA)で必要とするDDステートメントである。
なお、上記プログラム実行用JCL31aにおける個々の記述は、下記の内容を示している。
EXEC:使用するプログラム名を指定する。
DD:使用する入出力データを定義する。
DISP:入力したデータの状況を示す。
DSN:入出力データに付けられた名称を指定する。
SHR:既存データを共用で使用する。
また、プログラム実行用JCL31bには、排他制御用共通プログラム32を指定する「// EXEC PGM=GUAUTENQ」、アプリケーションプログラム名「BB」を指定する「// PARM=‘PROGBB’」、排他制御を行なうデータセット名「XX」の共有データセットを指定する「//DDENQ DD DISP=SHR.DSN=XX」が記述されている。また、「//DD01 DD DISP=SHR.DSN=YY」及び「//DD03 DD DISP=SHR.DSN=XX」からなる(B)の記述は、プログラムBB(PROGBB)で必要とするDDステートメントである。
上記プログラム実行用JCL31a、31bによって実行が指示される排他制御用共通プログラム32は、プログラム実行用JCL31a、31bで指定された共有データセットに対する排他制御を行なう汎用的なENQ/DEQプログラム33を備えている。
上記ENQ/DEQプログラム33は、図2の例ではプログラム実行用JCL31a、31bにより指定されたアプリケーションプログラム34a、34bにより外部記憶装置23に記憶されているデータセット名「XX」の共有データセット24bのデータを更新する際に排他制御を実行する。
すなわち、ENQ/DEQプログラム33は、例えばプログラム実行用JCL31aにより指定されたデータセット名「XX」の共有データセット24bに対する処理を実行する際、前記共有データセット24bの更新要求が許可されると、「ENQ‘XX’」によりデータセット名「XX」の共有データセット24bに対する排他制御を開始する。このときプログラム名「AA」のアプリケーションプログラム34aを呼出してデータセット名「XX」の共有データセット24bのデータ更新処理を実行する。アプリケーションプログラム34aは、「DD02」のDDステートメントを開き、その記述に従ってデータセット名「XX」の共有データセット24bのデータ更新処理を繰り返して行ない、「EOF=0」になると「DD02」のDDステートメントを閉じてデータ更新処理を終了し、排他制御用共通プログラム32に戻る。
排他制御用共通プログラム32は、上記アプリケーションプログラム34aによるデータセット名「XX」の共有データセット24bのデータ更新処理を終了すると、ENQ/DEQプログラム33の排他制御を終了する。
また、上記排他制御用共通プログラム32は、プログラム実行用JCL31bにより指定されたプログラム名「BB」のアプリケーションプログラム34b及びデータセット名「XX」の共有データセット24bに対する排他制御を実行する際においても、プログラム実行用JCL31bの指示に従って上記と同様の処理を実行する。
次に、上記コンピュータシステムにおける排他制御の全体の動作を上記図1、図2、及び図3、図4に示すフローチャートを参照して説明する。
上記コンピュータシステムにおいて、例えばプログラム実行用JCL31a及びプログラム実行用JCL31bのジョブを実行させる場合、JCLメモリ25に記憶されているプログラム実行用JCL31aを第1のコンピュータ本体21に読込み、プログラム実行用JCL31bを第2のコンピュータ本体22に読み込むように表示装置27から指示する。これによりプログラム実行用JCL31aが第1のコンピュータ本体21にロードされ、プログラム実行用JCL31bが第2のコンピュータ本体22にロードされる。
第1のコンピュータ本体21は、プログラム実行用JCL31aがロードされると、このプログラム実行用JCL31aに記述されている「// EXEC PGM=GUAUTENQ」によってプログラムメモリ26から排他制御用共通プログラム32を読出し、その内容に従って動作する。排他制御用共通プログラム32は、プログラム実行用JCL31aに記述されている内容を解読し、「// PARM=‘PROGAA’」の記述によりプログラム名「AA」を自動的に入手すると共に、「//DDENQ DD DISP=SHR.DSN=XX」の記述により排他制御を行なうデータセット名「XX」を自動的に入手する(ステップA1)。
排他制御用共通プログラム32は、データセット名「XX」の共有データセット24bに対する排他制御を実行する際、前記共有データセット24bに対する更新要求を出し、更新要求が許可されるとENQ/DEQプログラム33による排他制御を開始する。
すなわち、ENQ/DEQプログラム33は、先ず「ENQ‘XX’」の記述により外部記憶装置23に記憶されているデータセット名「XX」の共有データセット24bに対する排他要求を行ない(ステップA2)、次いで、プログラムメモリ26のプログラム・ライブラリー261からプログラム名「AA」のアプリケーションプログラム34aを読出し(ステップA3)、図4に示すようにそのプログラム内容に従って処理を実行する。
アプリケーションプログラム34aは、図4に示すように上記「DD02」のDDステートメントを開き、その記述に従ってデータセット名「XX」の共有データセット24bのデータ読み出し、データ書き込み等のデータ更新処理を行ない(ステップB1)、データの更新処理を行なう都度「EOF=0」になったかどうか、つまり処理を終了したかどうかを判定する(ステップB2)。この判定の結果、「EOF=0」でなければステップB1に戻ってデータセット名「XX」の共有データセット24bの更新処理を繰り返して実行する。そして、上記ステップB2において「EOF=0」、すなわち全てのデータファイルの更新処理が終了したと判定されると、「DD02」のDDステートメントを閉じてデータセット名「XX」の共有データセット24bの更新処理を終了し、図3のENQ/DEQプログラム33に戻る。
このときENQ/DEQプログラム33は、データセット名「XX」の共有データセット24bの排他開放を行ない(ステップA4)、排他制御を終了する。
一方、第2のコンピュータ本体22は、プログラム実行用JCL31bがロードされると、このプログラム実行用JCL31bに記述されている「// EXEC PGM=GUAUTENQ」によってプログラムメモリ26から排他制御用共通プログラム32を読出し、そのプログラム内容に従って動作する。排他制御用共通プログラム32は、上記の場合と同様にプログラム実行用JCL31bに記述されている内容を解読し、「// PARM=‘PROGBB’」の記述によりプログラム名「BB」のアプリケーションプログラム34b、「//DDENQ DD DISP=SHR.DSN=XX」の記述により排他制御を行なうデータセット名「XX」をそれぞれ自動的に入手し、ENQ/DEQプログラム33により、データセット名「XX」の共有データセット24bに対する排他制御を開始する。
上記排他制御用共通プログラム32は、データセット名「XX」の共有データセット24bに対する排他制御を実行する際、前記共有データセット24bの更新要求を出すが、第1のコンピュータ本体21により前記共有データセット24bがデータ更新中で排他制御されている場合には更新要求が受け付けられずに待ち状態となる。この待ち状態において、第1のコンピュータ本体21による前記共有データセット24bの排他制御が終了すると、第2のコンピュータ本体22による前記共有データセット24bの更新要求が受け付けられる。
第2のコンピュータ本体22は、前記共有データセット24bの更新要求が受け付けられると、上記第1のコンピュータ本体21の場合と同様に、排他制御用共通プログラム32のENQ/DEQプログラム33により排他制御を実行する。
すなわちENQ/DEQプログラム33は、データセット名「XX」の共有データセット24bに対する排他要求を行なった後、プログラムメモリ26からプログラム名「BB」のアプリケーションプログラム34bを読出して前記共有データセット24bのデータ更新処理を実行し、更新処理を終了すると前記共有データセット24bの排他開放を行なって排他制御を終了する。
上記のように汎用的なENQ/DEQ機能を有する排他制御用共通プログラム32を作成し、当該プログラムを使用してアプリケーションプログラムに排他制御機能を付加することにより、各アプリケーションプログラムの内部にENQ/DEQプログラムを組み込むことなく容易に排他制御機能を付加することができる。また、排他制御用共通プログラム32を実行させるプログラム実行用JCL31a、31b上に、排他制御したいアプリケーションプログラム名及び排他制御したい共有データセット名を指定するだけで、共有データセットの排他制御を行なうことができる。
また、各アプリケーションプログラムには、ENQ/DEQプログラムを組み込む必要がないので、アプリケーションプログラム制作時に他の既存のアプリケーションプログラムと競合が発生するか否かを調査する必要がない。更に、排他制御に関わる部分を標準化できるので、アプリケーションプログラムの維持管理が容易になる。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できるものである。
本発明の一実施形態に係るコンピュータシステムの構成例を示すブロック図である。 同実施形態におけるプログラム実行用JCL、排他制御用共通プログラム、アプリケーションプログラム及びデータセットの構成例を示す図である。 同実施形態における排他制御動作を説明するためのフローチャートである。 同実施形態におけるアプリケーションプログラムのデータ更新動作を説明するためのフローチャートである。 従来の共有データセットに対する排他制御方法の説明図である。
符号の説明
11a、11b…プログラム実行用JCL、12、13…アプリケーションプログラム、12a、13a…ENQ/DEQプログラム、14…外部記憶装置、15…共有データセット、21…第1のコンピュータ本体、211…第1のコンピュータ本体のCPU、212…第1のコンピュータ本体の内部メモリ、22…第2のコンピュータ本体、221…第2のコンピュータ本体のCPU、222…第2のコンピュータ本体の内部メモリ、23…外部記憶装置、24a、24b、24c、24d、…、…共有データセット、25…JCLメモリ、251…JCL・ライブラリー、26…プログラムメモリ、261…プログラム・ライブラリー、27…表示装置、28…プリンタ、31a、31b、31c、31d、…、…プログラム実行用JCL、32…排他制御用共通プログラム、33…ENQ/DEQプログラム、34a、34b、34c、34d、…、…アプリケーションプログラム、A1〜A4…排他制御用共通プログラムによる排他制御の処理ステップ、B1、B2…アプリケーションプログラムによる共有データセットの更新処理ステップ。

Claims (2)

  1. 複数のコンピュータが接続された外部記憶装置に記憶された共有データセットのデータ更新時に前記共有データセットを排他制御する排他制御方法において、
    前記コンピュータに排他制御を施す排他制御用共通プログラムをロードし、前記コンピュータで処理させたい内容を記述した指令書により前記排他制御用共通プログラム名を指定すると共に排他制御したいアプリケーションプログラム名及び共有データセット名を指定し、前記排他制御用共通プログラムにより前記指定されたアプリケーションプログラムによる共有データセットのデータ更新に際して該共有データセットの排他制御を実行することを特徴とする排他制御方法。
  2. 複数のコンピュータが接続された外部記憶装置に複数のアプリケーションプログラム及び共有データセットが記憶され、前記アプリケーションプログラムによる共有データセットのデータ更新時に該共有データセットを排他制御する排他制御プログラムにおいて、
    前記コンピュータにロードされ、コンピュータで処理させたい内容が記述されると共に排他制御したいアプリケーションプログラム名及び共有データセット名を指定する指令書に従って稼働する前記各アプリケーションプログラムに共通使用される排他制御用共通プログラムを備え、
    前記排他制御用共通プログラムは、前記指令書の記述内容を解読し、該指令書により指定された排他制御対象のアプリケーションプログラム名及び共有データセット名を得る解読ステップと、前記解読ステップにより解読されたデータセット名の共有データセットの排他要求を行なう排他要求ステップと、前記解読ステップにより解読されたプログラム名のアプリケーションプログラムを前記外部記憶装置から呼出し、前記共有データセットのデータ更新を行なうデータ更新ステップと、前記データ更新ステップによる共有データセットのデータ更新終了後、前記共有データセットの排他開放を行なう排他開放ステップとを具備することを特徴とする排他制御プログラム。
JP2007080260A 2007-03-26 2007-03-26 排他制御方法及び排他制御プログラム Pending JP2008242667A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007080260A JP2008242667A (ja) 2007-03-26 2007-03-26 排他制御方法及び排他制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007080260A JP2008242667A (ja) 2007-03-26 2007-03-26 排他制御方法及び排他制御プログラム

Publications (1)

Publication Number Publication Date
JP2008242667A true JP2008242667A (ja) 2008-10-09

Family

ID=39913962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007080260A Pending JP2008242667A (ja) 2007-03-26 2007-03-26 排他制御方法及び排他制御プログラム

Country Status (1)

Country Link
JP (1) JP2008242667A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018072898A (ja) * 2016-10-24 2018-05-10 富士通フロンテック株式会社 情報処理装置のプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0417057A (ja) * 1990-05-11 1992-01-21 Hitachi Ltd 複合形システムにおけるジョブスケジュール方式
JPH05233336A (ja) * 1992-02-18 1993-09-10 Fujitsu Ltd オンラインシステムにおける排他制御方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0417057A (ja) * 1990-05-11 1992-01-21 Hitachi Ltd 複合形システムにおけるジョブスケジュール方式
JPH05233336A (ja) * 1992-02-18 1993-09-10 Fujitsu Ltd オンラインシステムにおける排他制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018072898A (ja) * 2016-10-24 2018-05-10 富士通フロンテック株式会社 情報処理装置のプログラム

Similar Documents

Publication Publication Date Title
US6526441B2 (en) Input/output device information management system for multi-computer system
US8918783B2 (en) Managing virtual computers simultaneously with static and dynamic dependencies
JP5481308B2 (ja) データ制御装置及びプログラム
Henning API design matters
US20110289514A1 (en) Sharing and synchronization of objects
JP2005276158A (ja) ストレージシステム、計算機システムまたは記憶領域の属性設定方法
US10169596B2 (en) Information processing apparatus, method, and storage medium
WO2016181648A1 (ja) アクセラレータ制御装置、アクセラレータ制御方法および記録媒体
US9111114B1 (en) Method of transforming database system privileges to object privileges
JP2006260314A (ja) アプリケーションソフトウェア構成管理装置、アプリケーションソフトウェア構成管理方法、およびプログラム
JP2010140403A (ja) 情報処理装置及び情報処理方法及びプログラム
JP2009123188A (ja) 情報処理装置、情報処理方法、記憶媒体及びプログラム
JP6299095B2 (ja) 共有データ定義支援システム、そのマスタ装置、ローカル端末、プログラム
US9727381B2 (en) Image forming apparatus and resource management method
JP2008242667A (ja) 排他制御方法及び排他制御プログラム
JP2009266149A (ja) ジョブ管理プログラム及びジョブ管理装置
JP4863449B2 (ja) 複数のアプリケーションの参照関係を管理する管理システム
JP5172585B2 (ja) オブジェクト・モデルに対するアクセスを制御するシステム、方法、およびプログラム
JP4254137B2 (ja) 情報管理システム及び情報管理プログラム
US20140157279A1 (en) Information processing apparatus, information processing system, information processing method and control program storage medium
WO2018158909A1 (ja) 情報処理装置およびアクセス管理プログラム
JPS5947341B2 (ja) 索引順編成フアイルの動的排他制御方式
JP5023169B2 (ja) 要実行パッチリスト作成装置および方法
JP5034292B2 (ja) モジュール組込プログラム、モジュール組込装置およびモジュール組込方法
JP6870897B2 (ja) 監視システム、デバイス及びエンジニアリングツール

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110920