JP4577343B2 - 計算機システムおよびジョブステップ並列処理方法 - Google Patents

計算機システムおよびジョブステップ並列処理方法 Download PDF

Info

Publication number
JP4577343B2
JP4577343B2 JP2007237874A JP2007237874A JP4577343B2 JP 4577343 B2 JP4577343 B2 JP 4577343B2 JP 2007237874 A JP2007237874 A JP 2007237874A JP 2007237874 A JP2007237874 A JP 2007237874A JP 4577343 B2 JP4577343 B2 JP 4577343B2
Authority
JP
Japan
Prior art keywords
job
sub
main
main job
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007237874A
Other languages
English (en)
Other versions
JP2009070141A (ja
Inventor
光 柳葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007237874A priority Critical patent/JP4577343B2/ja
Publication of JP2009070141A publication Critical patent/JP2009070141A/ja
Application granted granted Critical
Publication of JP4577343B2 publication Critical patent/JP4577343B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、計算機システム、および計算機システムにおけるオペレーティングシステムのジョブステップ並列処理方法に関する。
計算機システムにおいて、一般に1つのジョブは複数のジョブステップで構成される。また、大量の業務ジョブを実行可能な計算機システムにおいて、計算機システムの運用を開始した後、業務ジョブの運用を変更せずに、複数の業務ジョブに共通する新たな処理を追加したいという要望がしばしば発生する。一例として、業務ジョブからローカルな記憶装置(例えば、磁気テープ装置)に出力した業務データを、バックアップとして遠隔地にある記憶装置に自動的に出力したいという要望がある。
追加される新たな処理(追加処理)は、一般に業務ジョブとの関連性が高い。従って、追加処理を実現するために独立したジョブを投入することは効率的ではない。例えば、業務ジョブの実行結果(デリバリ)と独立したジョブのデリバリとの整合を図るための処理や操作が必要になる可能性がある。
新たな処理を追加したい場合に、サブジョブを追加することによって対処することも考えられる(例えば、特許文献1参照。)。
図12は、特許文献1に記載された計算機システムの構成を示すブロック図である。図12に示す構成では、計算機システム(コンピュータシステム)100は、メインジョブ実行手段109Aとサブジョブ実行手段110Aとを含む。メインジョブ実行手段109Aは、ジョブ制御言語(JCL:Job Control Language)格納ファイル113に格納されているJCLにもとづいて処理を実行する。
メインジョブ実行手段109Aにおいて、ジョブ開始手段1091は、業務ジョブ(メインジョブ)の開始処理を行いジョブを生成する。ジョブステップ実行手段1093は、ジョブのジョブステップを実行する。また、ジョブステップ実行手段1093は、メインジョブデリバリ保存手段(例えば、記憶装置)112にデリバリを出力する。ジョブ終了手段1095は、ジョブの終了処理を行う。サブジョブ起動手段1092は、JCLにサブジョブ開始文が含まれていた場合には、サブジョブを起動する。サブジョブ待合せ手段1094は、メインジョブと関連するサブジョブの終了を待ち合わせる処理を行う。
サブジョブ実行手段110Aにおいて、ジョブ開始手段1101は、サブジョブ起動手段1092から制御を渡されてサブジョブの開始処理を行いサブジョブを生成する。ジョブステップ実行手段1102は、サブジョブのジョブステップを実行する。また、ジョブステップ実行手段1102は、サブジョブデリバリ保存手段(例えば、記憶装置)111にデリバリを出力する。ジョブ終了手段1103は、サブジョブの終了処理を行う。サブジョブ終了通知手段1104は、サブジョブ終了後に制御が渡されて、サブジョブが終了したことをサブジョブ待合せ手段1094に通知する。
なお、サブジョブが終了したときに、メインジョブ実行手段109Aまたはサブジョブ実行手段110Aにおいて、サブジョブ実行手段110Aにおけるジョブステップ実行手段1102によって作成されたサブジョブのデリバリをメインジョブのデリバリと結合する処理が行われる。
図12に示すコンピュータシステム100では、JCL記述に従ってジョブステップが逐次実行されるが、特許文献1に記載されているように、JCLに記述されている1つのジョブにおけるジョブステップを並列に実行することができる。
特開平10−283201号公報(図1)
新たな処理を追加したい場合にサブジョブによって対処する場合には、JCL記述に新たな処理(サブジョブ記述)に関する記述をあらかじめ追加しておく必要がある。特に、複数の業務ジョブに共通する新たな処理を追加する場合には、既に存在する全ての業務ジョブのJCLを修正する作業が発生する。新たな記述の追加は、安定稼働する業務ジョブに内容を変更することに伴うリスクを生じさせたり、修正コストを発生させたりする。
そこで、本発明は、メインジョブのJCLを変更することなく、サブジョブに相当する新たなジョブステップを追加し、追加されたジョブステップを、メインジョブに属するジョブステップとして並列実行することができる計算機システムおよびジョブステップ並列処理方法を提供することを目的とする。
本発明による計算機システムは、メインジョブ実行手段とサブジョブ実行手段とを備えた計算機システムであって、メインジョブ実行手段は、JCLで指定されるサブジョブを起動するサブジョブ起動手段を含み、メインジョブとは異なるプログラムからメインジョブを識別するデータとサブジョブのJCLとが指定され、かつ、所定条件が成立すると、JCLで指定されるサブジョブをサブジョブ起動手段に起動させるメインジョブ指定サブジョブ起動手段を備え、サブジョブの終了状態を示す情報を含むサブジョブ毎のエントリが設定されるサブジョブ管理テーブルを備え、サブジョブ実行手段は、サブジョブを開始するときに、サブジョブを識別するデータとサブジョブが属するメインジョブを識別するデータとをサブジョブ管理テーブルのエントリに設定するとともに、当該エントリにおける終了状態を示す情報を未終了に設定するジョブ開始手段を含み、メインジョブの実行状態を示す情報を含むメインジョブ毎のエントリが設定されるメインジョブ管理テーブルを備え、メインジョブ実行手段は、メインジョブを開始するときに、ジョブを識別するデータをメインジョブ管理テーブルのエントリに設定するとともに、当該エントリにおける実行状態を示す情報を実行中に設定するジョブ開始手段を含み、サブジョブ起動手段は、サブジョブを起動するときに、メインジョブ管理テーブルにおけるサブジョブが属するメインジョブのエントリに、当該メインジョブに属するサブジョブを識別するデータを設定し、メインジョブの実行状態を、メインジョブ管理テーブルに設定されているデータを参照して検索するメインジョブ検索手段を備え、メインジョブ指定サブジョブ起動手段は、メインジョブ検索手段を用いてメインジョブの実行状態を検索し、メインジョブの実行状態にもとづいてサブジョブをサブジョブ起動手段に起動させるか否か決定することを特徴とする。
本発明によるジョブステップ並列処理方法は、メインジョブ実行手段とサブジョブ実行手段とサブジョブの終了状態を示す情報を含むサブジョブ毎のエントリが設定されるサブジョブ管理テーブルとメインジョブの実行状態を示す情報を含むメインジョブ毎のエントリが設定されるメインジョブ管理テーブルとを備えた計算機システムにおけるジョブステップ並列処理方法であって、メインジョブ指定サブジョブ起動手段が、メインジョブとは異なるプログラムからメインジョブを識別するデータとサブジョブのJCLとが指定された場合に、所定条件が成立すると、当該サブジョブをサブジョブ起動手段に起動させ、サブジョブ実行手段が、サブジョブを開始するときに、サブジョブを識別するデータとサブジョブが属するメインジョブを識別するデータとをサブジョブ管理テーブルのエントリに設定するとともに、当該エントリにおける終了状態を示す情報を未終了に設定し、メインジョブ実行手段が、メインジョブを開始するときに、ジョブを識別するデータをメインジョブ管理テーブルのエントリに設定するとともに、当該エントリにおける実行状態を示す情報を実行中に設定し、サブジョブ起動手段が、サブジョブを起動するときに、メインジョブ管理テーブルにおけるサブジョブが属するメインジョブのエントリに、当該メインジョブに属するサブジョブを識別するデータを設定し、メインジョブ検索手段が、メインジョブの実行状態を、メインジョブ管理テーブルに設定されているデータを参照して検索し、メインジョブ指定サブジョブ起動手段が、メインジョブ検索手段を用いてメインジョブの実行状態を検索し、メインジョブの実行状態にもとづいてサブジョブをサブジョブ起動手段に起動させるか否か決定することを特徴とする。
本発明によれば、メインジョブのJCLを変更することなく、サブジョブに相当する新たなジョブステップを追加し、追加されたジョブステップを、メインジョブに属するジョブステップとして並列実行することができる。
図1は、本発明による計算機システムの主要構成を示すブロック図である。図1に示すように、計算機システムは、サブジョブを起動するサブジョブ起動手段1092を含むメインジョブ実行手段109とサブジョブ実行手段110とに加えて、入力条件に応じて、メインジョブに属するサブジョブを生成するか否か決定するメインジョブ指定サブジョブ起動手段101を備えている。
実施形態1.
図2は、本発明による計算機システムの実施形態を示すブロック図である。
図2に示す構成では、計算機システム(コンピュータシステム)1は、メインジョブ実行手段109とサブジョブ実行手段110とを含む。メインジョブ実行手段109は、ジョブ制御言語格納ファイル113に格納されているJCLにもとづいて処理を実行する。
メインジョブ実行手段109において、ジョブ開始手段1091は、業務ジョブ(メインジョブ)の開始処理を行いジョブを生成する。ジョブステップ実行手段1093は、ジョブのジョブステップを実行する。また、ジョブステップ実行手段1093は、メインジョブデリバリ保存手段(例えば、記憶装置)112にデリバリを出力する。ジョブ終了手段1095は、ジョブの終了処理を行う。サブジョブ起動手段1092は、サブジョブを起動する。サブジョブ待合せ手段1094は、メインジョブと関連するサブジョブの終了を待ち合わせる処理を行う。
サブジョブ実行手段110において、ジョブ開始手段1101は、サブジョブ起動手段1092から制御を渡されてサブジョブの開始処理を行う。ジョブステップ実行手段1102は、サブジョブのジョブステップを実行する。また、ジョブステップ実行手段1102は、サブジョブデリバリ保存手段(例えば、記憶装置)111にデリバリを出力する。ジョブ終了手段1103は、サブジョブの終了処理を行う。サブジョブ終了通知手段1104は、サブジョブ終了後に制御が渡されて、サブジョブが終了したことをサブジョブ待合せ手段1094に通知する。
この実施の形態では、メインジョブ実行手段109におけるデリバリ連結手段1096が、メインジョブに関連するサブジョブのデリバリをメインジョブのデリバリにマージする処理を実行する。
また、図2に示すように、メインジョブの状態を管理するために使用されるメインジョブ管理テーブル104が設けられている。メインジョブ管理テーブル104において、1つのジョブ(メインジョブ)に対して1つのエントリが存在する。
図3は、メインジョブ管理テーブル104の具体例を示す説明図である。図3に示すように、メインジョブ管理テーブル104には、各ジョブの識別番号に相当するデータが設定されるジョブ生起番号1041、実行状態1042、およびサブジョブのリンクを示す情報が設定されるサブジョブリンク1043の欄がある。ジョブ生起番号1041の欄には、ジョブを一意に識別する番号(メインジョブ生起番号など)が格納される。サブジョブリンク1043の欄には、サブジョブ情報(サブジョブ生起番号など)が格納される。なお、図3における各行が1つエントリに相当する。
図3には、「X000001」で識別されるジョブ(メインジョブ)が「実行中」であり、サブジョブリンク1043の欄に3つのサブジョブの情報1044a,1044b,1044cが設定されているので、「X000001」で識別されるジョブは、3つのサブジョブを所有していることが例示されている。また、「X000002」で識別されるジョブが「終了」していることが例示されている。また、「X000003」で識別されるジョブが「実行中」であり、サブジョブを所有していないことが例示されている。
ジョブ開始手段1091は、ジョブを生成するときに、メインジョブ管理テーブル104にエントリを生成する。すなわち、ジョブ生起番号1041の欄にジョブを一意に識別する番号を設定する。そして、実行状態1042の欄に「実行中」を示す情報を設定する。ジョブ終了手段1095は、ジョブの終了処理を行うときに、実行状態1042の欄を「終了」に更新する。
また、図2に示すように、サブジョブの状態を管理するために使用されるサブジョブ管理テーブル105が設けられている。サブジョブ管理テーブル105において、1つのサブジョブに対して1つのエントリが存在する。
図4は、サブジョブ管理テーブル105の具体例を示す説明図である。図4に示すように、サブジョブ管理テーブル105には、各サブジョブの識別番号に相当するデータが設定されるサブジョブ生起番号1051、サブジョブが属するメインジョブの識別番号に相当するデータが設定されるメインジョブ生起番号1052、終了状態1053、および完了通知先セマフォを示すデータが設定される終了待合せセマフォ1054の欄がある。サブジョブ生起番号1051の欄には、サブジョブを一意に識別する番号(サブジョブ生起番号など)が格納される。メインジョブ生起番号1052の欄には、サブジョブが所属するメインジョブの生起番号(メインジョブ生起番号)が格納される。終了状態1053の欄には、サブジョブの終了状態を示す情報が格納される。終了待合せセマフォ1054の欄には、サブジョブの終了時に通知する通知先の非同期事象通知セマフォ107(図2参照)を示すデータが格納される。なお、図4における各行が1つエントリに相当する。
サブジョブ実行手段110におけるジョブ開始手段1101は、サブジョブを生成するときに、サブジョブ管理テーブル105にエントリを生成する。すなわち、サブジョブ生起番号1051の欄にサブジョブを一意に識別する番号を設定する。そして、終了状態1053の欄に「未終了」を示す情報を設定する。また、メインジョブ生起番号1052の欄に、サブジョブ起動手段1092がサブジョブ実行手段110におけるジョブ開始手段1101に制御を渡したときに実行されていたジョブ(メインジョブ)のメインジョブ生起番号を設定する。サブジョブ実行手段110におけるジョブ終了手段1103は、サブジョブの終了処理を行うときに、終了状態1053の欄を終了状態(DONEやERRORなど)を示す情報で更新する。
サブジョブ終了通知手段1104は、プログラム108bに対する非同期待合せ時の通知情報に利用するために、終了状態(終了状態1053の欄に設定されている情報)と非同期事象通知セマフォ(終了待合せセマフォ1054の欄に設定されている情報)とを参照する。また、サブジョブ待合せ手段1094は、プログラム108bに対する即時待合せ時の通知情報に利用するために、終了状態を参照する。
図4には、「S000010」で識別されるサブジョブが所属するメインジョブが「X000001」で識別されるジョブであり、サブジョブの実行が終了し終了状態が「DONE」(正常終了)であることが例示されている。また、「S000011」で識別されるサブジョブが所属するメインジョブが「X000001」で識別されるジョブであり、サブジョブの実行が終了し終了状態が「FILEOV」(エラー)であることが例示されている。また、「S000012」で識別されるサブジョブが所属するメインジョブが「X000001」で識別されるジョブであり、サブジョブは「実行中」(未終了)であって、実行完了時にセマフォ1に通知する必要があることが例示されている。
また、コンピュータシステム1は、入力された条件に合致するジョブを検索するメインジョブ検索手段103を有する。メインジョブ検索手段103は、メインジョブ管理テーブル104を参照して、条件に合致するジョブを検索する。検索の条件として、例えば、メインジョブ生起番号やジョブの実行状態がある。
また、コンピュータシステム1は、メインジョブ指定サブジョブ起動手段101を有する。メインジョブ指定サブジョブ起動手段101は、プログラム108aから利用可能である。メインジョブ指定サブジョブ起動手段101は、メインジョブを一意に識別する番号(例えば、メインジョブ生起番号)と、ジョブ制御言語格納ファイル113に格納されているサブジョブのJCLとが指定されると、該当するメインジョブに属するサブジョブを生成するか否か決定する。すなわち、サブジョブを動的に生成するための手段である。メインジョブ指定サブジョブ起動手段101は、サブジョブを生成することに決定した場合には、サブジョブ起動手段1092に制御を渡すことによってサブジョブを生成する。
また、コンピュータシステム1は、メインジョブ指定サブジョブ待合せ手段102を有する。メインジョブ指定サブジョブ待合せ手段102は、プログラム108bから利用可能である。メインジョブ指定サブジョブ待合せ手段102は、メインジョブを一意に識別する番号(例えば、メインジョブ生起番号)、即時待合せか非同期待合せかの選択、およびサブジョブを一意に識別する番号(例えば、サブジョブ生起番号)が指定されると、該当するメインジョブに属するサブジョブを待合せるための処理を実行する。非同期待合せが選択された場合には、メインジョブ指定サブジョブ待合せ手段102およびプログラム108bは、非同期完了通知セマフォ107を介して、サブジョブが終了した時点で、非同期に完了通知を受けることができる。なお、メインジョブ指定サブジョブ待合せ手段102は、対象となるメインジョブを検索するときには、メインジョブ検索手段103を利用する。
プログラム108aとプログラム108bとは、異なるプログラムであってもよいし、1つのプログラムを構成する要素であってもよい。コンピュータシステム1は、複数のプログラムを同時に動作させることができる。なお、図2には、2つのプログラム108a,108bが例示されているが、より多くのプログラムがあってもよい。また、複数のプログラムが同時実行されることを考慮して、複数のサブジョブ起動処理やサブジョブ待合せ処理を排他的に実行する目的で、ロック機構(排他ロック)106が利用される。なお、プログラム108a,108bは、メインジョブに属するサブジョブを生成したり、サブジョブの終了を監視したりするために実行される。
また、メインジョブ指定サブジョブ起動手段101、メインジョブ指定サブジョブ待合せ手段102、メインジョブ検索手段103、メインジョブ実行手段109およびサブジョブ実行手段110は、コンピュータにおけるプログラムに従って処理を実行する中央処理装置で実現される。
次に、コンピュータシステム1のサブジョブに関する動作を説明する。
まず、メインジョブ指定サブジョブ起動手段101の動作を説明する。図5は、メインジョブ指定サブジョブ起動手段101の動作を示すフローチャートである。図5に示す例では、メインジョブ指定サブジョブ起動手段101には、プログラム108aから、入力パラメータとして、メインジョブ生起番号P5−1と、サブジョブの処理内容を記述したJCLファイル名P5−2とが指定される。
メインジョブ指定サブジョブ起動手段101は、まず、排他処理のために排他ロック106を取得する(ステップS51)。そして、メインジョブ生起番号P5−1を検索条件にして、メインジョブ検索手段103を利用してメインジョブを検索する。メインジョブ検索に失敗した場合には、サブ生成処理に失敗したことになり、処理を異常終了(JOBUNKN)する(ステップS52,S57)。
メインジョブ検索に成功した場合には、該当するメインジョブの実行状態をメインジョブ管理テーブル104によって確認する。メインジョブが実行中でないことを確認したときには、サブ生成処理に失敗したことになり、処理を異常終了(TOOLATE)する(ステップS53,S56)。メインジョブが実行中であることを確認した場合には、サブジョブ起動手段1092にサブジョブの起動を依頼する(ステップS54)。そして、サブジョブ起動手段1092の実行結果を処理結果として(ステップS55)、処理を終了する。
なお、メインジョブ指定サブジョブ起動手段101は、処理を終了するときに、排他ロック106を返却する(ステップS58)。
メインジョブ指定サブジョブ起動手段101は、メインジョブが実行中であることを条件としてサブジョブを生成することに決定するので、生成されるサブジョブは、メインジョブに包含されるジョブとして生成されることになる。また、本実施形態では、メインジョブを特定してサブジョブを起動することができる。
次に、サブジョブ起動手段1092の動作を説明する。図6は、サブジョブ起動手段1092の動作を示すフローチャートである。サブジョブ起動手段1092には、メインジョブ指定サブジョブ起動手段101から、入力パラメータとして、サブジョブの処理内容を記述したJCLファイル名P6−1が指定される。なお、JCLファイル名P6−1は、JCLファイル名P5−2と同じである。
サブジョブ起動手段1092は、サブジョブ生起番号を採番する(ステップS61)。そして、サブジョブ管理テーブル105に新たなエントリを生成し、サブジョブ生起番号1051およびメインジョブ生起番号1052の欄にサブジョブ生起番号およびメインジョブ生起番号を格納する(図4参照)。終了状態1053の欄には、初期状態として「未終了」を示す情報を設定する(ステップS62)。
また、サブジョブ起動手段1092は、メインジョブ管理テーブル104のサブジョブリンク1043の欄に、サブジョブ生起番号などのサブジョブ情報を設定する(ステップS63)。そして、サブジョブ実行手段110におけるジョブ開始手段1101に制御を渡してサブジョブを起動する(ステップS64)。サブジョブの起動に成功した場合には、処理結果として正常(DONE)を設定して処理を終了する(ステップS65,S66)。サブジョブの起動に失敗した場合には、処理結果として異常(ERROR)を設定して処理を終了する(ステップS65,S67)。
次に、メインジョブ指定サブジョブ待合せ手段102の動作を説明する。図7は、メインジョブ指定サブジョブ待合せ手段102の動作を示すフローチャートである。メインジョブ指定サブジョブ待合せ手段102には、プログラム108bから、入力パラメータとして、メインジョブ生起番号P7−1、サブジョブ生起番号P7−2、即時待合せか非同期待合せかの選択(即時待合せ/非同期待合せの選択)P7−3、サブジョブ完了状態の返却領域P7−4、および非同期待ち合わせセマフォP7−5が指定される。
メインジョブ指定サブジョブ待合せ手段102は、まず、排他処理のために排他ロック106を取得する(ステップS71)。そして、メインジョブ生起番号P7−1を検索条件にして、メインジョブ検索手段103を利用してメインジョブを検索する。メインジョブ検索に失敗した場合には、サブジョブ待合せ処理に失敗したことになり、処理を異常終了(JOBUNKN)する(ステップS72,S77)。メインジョブ検索に失敗した場合には、サブ生成処理に失敗したことになり、処理を異常終了(JOBUNKN)する(ステップS52,S57)。
メインジョブ検索に成功した場合には、メインジョブ指定サブジョブ待合せ手段102は、メインジョブ検索手段103を利用して、該当するメインジョブの実行状態をメインジョブ管理テーブル104によって確認する。メインジョブが実行中でないことを確認したときには、サブジョブ待合せ処理に失敗したことになり、処理を異常終了(TOOLATE)する(ステップS73,S76)。メインジョブが実行中であることを確認した場合には、サブジョブ待合せ手段1094にサブジョブの待合せを依頼する(ステップS74)。待合せを依頼するときに、指定された入力パラメータを、呼出パラメータとして指定する。そして、サブジョブ待合せ手段1094の実行結果を処理結果として(ステップS75)、処理を終了する。
なお、メインジョブ指定サブジョブ待合せ手段102は、処理を終了するときに、排他ロック106を返却する(ステップS78)。
次に、サブジョブ待合せ手段1094の動作を説明する。図8は、サブジョブ待合せ手段1094の動作を示すフローチャートである。サブジョブ待合せ手段1094には、メインジョブ指定サブジョブ待合せ手段102から、入力パラメータとして、サブジョブ生起番号P8−1、即時待合せ/非同期待合せの選択P8−2、サブジョブ完了状態の返却領域P8−3、および非同期待ち合わせセマフォP8−4が指定される。なお、サブジョブ生起番号P8−1、即時待合せ/非同期待合せの選択P8−2、サブジョブ完了状態の返却領域P8−3、および非同期待ち合わせセマフォP8−4は、サブジョブ生起番号P7−2、即時待合せか非同期待合せかの選択(即時待合せ/非同期待合せの選択)P7−3、サブジョブ完了状態の返却領域P7−4、および非同期待ち合わせセマフォP7−5と同じものである。
サブジョブ待合せ手段1094は、サブジョブ管理テーブル105を参照して、サブジョブ生起番号P8−1で指定されたサブジョブの「終了状態」を確認する。サブジョブが既に終了している場合には、サブジョブ管理テーブル105おけるサブジョブのエントリにおいて「終了」を示すデータが格納されているので、そのデータをサブジョブ完了状態の返却領域P8−3で示される領域に設定する(ステップS81,S82)。また、処理結果として正常(終了:DONE)を設定して処理を終了する(ステップS86)。サブジョブ完了状態の返却領域P8−3は、プログラム108bからメインジョブ指定サブジョブ待合せ手段102に指定されたサブジョブ完了状態の返却領域P7−4と同じものであるから、プログラム108bに、メインジョブ指定サブジョブ待合せ手段102を介してサブジョブ完了状態を示すデータが返却されたことになる。
サブジョブ待合せ手段1094は、サブジョブが「未終了」であることを確認したら、即時待合せ/非同期待合せの選択P8−2を確認する。即時待合せ/非同期待合せの選択P8−2が即時待合せを示している場合には、サブジョブの終了を待って「終了」を示すデータを返却することはできないので、処理結果として異常(BUSY)を設定して、すなわちサブジョブが「未終了」であることを認識可能な情報を設定して処理を終了する(ステップS84,S87)。
即時待合せ/非同期待合せの選択P8−2が非同期待合せを示している場合には、サブジョブ待合せ手段1094は、サブジョブが終了したときに非同期に終了した旨をプログラム108bに通知する必要がある。そこで、サブジョブ待合せ手段1094は、サブジョブ管理テーブル105における終了待合せセマフォ1054の欄に、非同期待ち合わせセマフォP8−4で指定されるセマフォを設定する(ステップS84,S85)。また、非同期待合せがなされていることを呼出側(プログラム108b)に知らせるために、処理結果として正常(待合せ:ENQUE)を設定して処理を終了する(ステップS86)。
次に、サブジョブ終了通知手段1104の動作を説明する。図9は、サブジョブ終了通知手段1104の動作を示すフローチャートである。サブジョブ終了通知手段1104は、サブジョブが終了した後に呼び出される。サブジョブ終了通知手段1104は、サブジョブ管理テーブル105における該当するサブジョブのエントリの終了待合せセマフォ1054の欄を確認する(ステップS91)。終了待合せセマフォ1054の欄にセマフォが登録されている場合には、そのセマフォを介して、サブジョブの「終了状態」(サブジョブ管理テーブル105における終了状態1053に格納されているデータ)をプログラム108bに通知する(ステップS92)。そして、メインジョブ実行手段109におけるサブジョブ待合せ手段1094に、サブジョブが終了したことを通知する(ステップS93)。
以上に説明したように、本実施の形態では、メインジョブの実行中に、新たな処理(サブジョブ)を動的に追加することができる。また、メインジョブ管理テーブル104におけるサブジョブリンク1043の欄にサブジョブ情報(サブジョブ生起番号など)が登録されることによってサブジョブがメインジョブに追加されることになるので、メインジョブのJCLを変更する必要はない。また、デリバリ連結手段1096によってサブジョブのデリバリをメインジョブのデリバリに取り込むことができるので、メインジョブに追加されたサブジョブの実行結果が、本来のメインジョブのデリバリに反映される。
また、メインジョブ指定サブジョブ待合せ手段102とサブジョブ待合わ手段1094とによって、メインジョブに追加されたサブジョブの終了状態を、メインジョブの終了を待たずに確認することができる。また、サブジョブの終了状態をメインジョブの終了を待たずに確認することができるので、容易に、追加されたサブジョブの実行終了を契機として他の処理を開始することができる。
また、メインジョブの状態を管理するためのメインジョブ管理テーブル104が設けられ、メインジョブ管理テーブル104における各エントリにおいて、サブジョブリンク1043の欄にはメインジョブに関連するサブジョブ情報(サブジョブ生起番号など)が格納される構造を有しているので、プログラム108a,108bで利用されるメインジョブ指定サブジョブ起動手段101やメインジョブ指定サブジョブ待合せ手段102は、メインジョブ検索手段103を介して随時メインジョブとサブジョブとの関連を参照できる。
また、サブジョブの状態を管理するためのサブジョブ管理テーブル105が設けられ、サブジョブ管理テーブル105における各エントリにおいて、サブジョブが属するメインジョブの識別番号に相当するデータが設定されるメインジョブ生起番号1052の欄が設けられているので、プログラム108bで利用されるメインジョブ指定サブジョブ待合せ手段102は、メインジョブ検索手段103を介して随時メインジョブとサブジョブとの関連を参照できる。また、終了状態1053の欄が設けられているので、サブジョブの終了状態を随時確認できる。
実施形態2.
メインジョブ指定サブジョブ起動手段101に、指定されたサブジョブ起動条件に応じてサブジョブを起動する機能を追加することによって、条件付サブジョブ起動を行う仕組みを実現することができる。サブジョブ起動条件として、「起動時刻」や「完了同期したいメインジョブのジョブステップ名」等がある。
例えば、サブジョブ起動条件として「毎日10:00に起動」が指定された場合に、メインジョブ指定サブジョブ起動手段101は、毎日10:00に、サブジョブ起動手段1092を呼び出す。すなわち、サブジョブ起動手段1092にサブジョブを起動させる。その場合には、例えば、24時間常駐するジョブ(メインジョブ)を停止させることなく、毎日10:00に定期的な処理を実施することができる。
また、サブジョブ起動条件として「完了同期したいメインジョブのジョブステップn」が指定された場合に、メインジョブ指定サブジョブ起動手段101は、ジョブステップnを終了したときにサブジョブ起動手段1092を呼び出す。その場合には、メインジョブのジョブステップの処理と同期した処理を追加できることになる。
図10は、コンピュータシステム1の具体的適用例を示す説明図である。
図10には、ジョブステップ1,3,4,・・・を含むメインジョブ1001に、ジョブステップ2を含むサブジョブ1002が追加(挿入)された例が示されている。また、ジョブステップ1の実行結果が、ローカルなテープ装置1(自コンピュータのテープ装置1005)に出力される場合であって、サブジョブ1002は、遠隔地の別コンピュータ1006におけるテープ装置2(遠隔地のテープ装置1007)にデータをバックアップする処理を行うためのジョブである。
メインジョブ1001とは異なるプログラムであって、図2に示されたプログラム108a,108bに相当する運用管理プログラム1004は、ジョブステップ1の完了を監視し、ジョブステップ1が完了したときにサブジョブ1002を追加して起動させるプログラムである。
本実施例では、メインジョブのJCLを変更することなく、新たな処理(テープバックアップ処理)を追加することができる。また、複数のメインジョブに同じ処理を追加する場合、各メインジョブのJCLを変更する構成と比較すると、JCL修正の煩わしさがないので、そのような追加は容易である。
また、追加される処理はサブジョブとして生成されるので、メインジョブにおける他のジョブステップと並列に動作させることができる。
また、図10には、サブジョブ1002のデリバリはメインジョブ1001のデリバリにマージされてデリバリ1003になることが示されている。
図11は、コンピュータシステム1の他の具体的適用例を示す説明図である。
図11に示す例では、運用管理プログラム1104に、図10に示された運用管理プログラム1004が実現する処理に加えて、サブジョブ1002の実行終了を待合せる処理が追加されている。また、サブジョブ1002の終了状態を非同期で取得し、取得したサブジョブ1002の終了状態を外部運用管理者に電子メールで通知する処理が追加されている。本実施例では、メインジョブ1001の終了を待つことなく、メインジョブ1001の終了前に、追加したサブジョブ1002の処理結果を確認することができる。
本発明は、1つのジョブに含まれるジョブステップを並列に実行させることができる計算機システムに好適に適用される。
本発明による計算機システムの主要構成を示すブロック図である。 本発明による計算機システムの実施形態を示すブロック図である。 メインジョブ管理テーブルの具体例を示す説明図である。 サブジョブ管理テーブルの具体例を示す説明図である。 メインジョブ指定サブジョブ起動手段の動作を示すフローチャートである。 サブジョブ起動手段の動作を示すフローチャートである。 メインジョブ指定サブジョブ待合せ手段の動作を示すフローチャートである。 サブジョブ待合せ手段の動作を示すフローチャートである。 サブジョブ終了通知手段の動作を示すフローチャートである。 コンピュータシステムの具体的適用例を示す説明図である。 コンピュータシステムの他の具体的適用例を示す説明図である。 特許文献1に記載されたコンピュータシステムの構成を示すブロック図である。
符号の説明
1 コンピュータシステム
101 メインジョブ指定サブジョブ起動手段
102 メインジョブ指定サブジョブ待合せ手段
103 メインジョブ検索手段
104 メインジョブ管理テーブル
105 サブジョブ管理テーブル
108a,108b プログラム
109 メインジョブ実行手段
110 サブジョブ実行手段
111 サブジョブデリバリ
112 メインジョブデリバリ
113 ジョブ制御言語格納ファイル
1091 ジョブ開始手段
1092 サブジョブ起動手段
1093 ジョブステップ実行手段
1094 サブジョブ待合せ手段
1095 ジョブ終了手段
1096 デリバリ連結手段
1101 ジョブ開始手段
1102 ジョブステップ実行手段
1103 ジョブ終了手段
1104 サブジョブ終了通知手段

Claims (8)

  1. メインジョブ実行手段とサブジョブ実行手段とを備えた計算機システムであって、
    前記メインジョブ実行手段は、JCLで指定されるサブジョブを起動するサブジョブ起動手段を含み、
    メインジョブとは異なるプログラムからメインジョブを識別するデータとサブジョブのJCLとが指定され、かつ、所定条件が成立すると、JCLで指定されるサブジョブを前記サブジョブ起動手段に起動させるメインジョブ指定サブジョブ起動手段を備え
    サブジョブの終了状態を示す情報を含むサブジョブ毎のエントリが設定されるサブジョブ管理テーブルを備え、
    前記サブジョブ実行手段は、サブジョブを開始するときに、サブジョブを識別するデータとサブジョブが属するメインジョブを識別するデータとを前記サブジョブ管理テーブルのエントリに設定するとともに、当該エントリにおける終了状態を示す情報を未終了に設定するジョブ開始手段を含み、
    メインジョブの実行状態を示す情報を含むメインジョブ毎のエントリが設定されるメインジョブ管理テーブルを備え、
    前記メインジョブ実行手段は、メインジョブを開始するときに、ジョブを識別するデータを前記メインジョブ管理テーブルのエントリに設定するとともに、当該エントリにおける実行状態を示す情報を実行中に設定するジョブ開始手段を含み、
    前記サブジョブ起動手段は、サブジョブを起動するときに、前記メインジョブ管理テーブルにおけるサブジョブが属するメインジョブのエントリに、当該メインジョブに属するサブジョブを識別するデータを設定し、
    メインジョブの実行状態を、前記メインジョブ管理テーブルに設定されているデータを参照して検索するメインジョブ検索手段を備え、
    前記メインジョブ指定サブジョブ起動手段は、前記メインジョブ検索手段を用いてメインジョブの実行状態を検索し、メインジョブの実行状態にもとづいてサブジョブをサブジョブ起動手段に起動させるか否か決定する
    ことを特徴とする計算機システム。
  2. メインジョブを識別するデータ、即時待合せか非同期待合せかの選択、およびサブジョブを識別するデータが指定されたことに応じて、当該メインジョブに属するサブジョブの待合せを依頼するメインジョブ指定サブジョブ待合せ手段を備え、
    メインジョブ実行手段は、前記メインジョブ指定サブジョブ待合せ手段の依頼に応じて、サブジョブが終了していない場合には、即時待合せが選択されているときには未終了である旨を返却し、非同期待合せが選択されている場合には、非同期待合せがなされている旨を返却するサブジョブ待合せ手段を含む
    請求項1記載の計算機システム。
  3. ブジョブ待合せ手段は、サブジョブについての非同期待合せがなされている旨を返却する場合に、当該サブジョブのエントリに、非同期待ち合わせセマフォを示すデータを設定する
    請求項2記載の計算機システム。
  4. メインジョブ指定サブジョブ起動手段は、インジョブが実行中であることを条件としてサブジョブをサブジョブ起動手段に起動させる
    請求項1から請求項3のうちのいずれか1項に記載の計算機システム。
  5. メインジョブ指定サブジョブ起動手段は、指定されたサブジョブ起動条件が成立すると、サブジョブをサブジョブ起動手段に起動させる
    請求項1から請求項のうちのいずれか1項に記載の計算機システム。
  6. メインジョブ実行手段とサブジョブ実行手段とサブジョブの終了状態を示す情報を含むサブジョブ毎のエントリが設定されるサブジョブ管理テーブルとメインジョブの実行状態を示す情報を含むメインジョブ毎のエントリが設定されるメインジョブ管理テーブルとを備えた計算機システムにおけるジョブステップ並列処理方法であって、
    メインジョブ指定サブジョブ起動手段が、メインジョブとは異なるプログラムからメインジョブを識別するデータとサブジョブのJCLとが指定された場合に、所定条件が成立すると、当該サブジョブをサブジョブ起動手段に起動させ、
    前記サブジョブ実行手段が、サブジョブを開始するときに、サブジョブを識別するデータとサブジョブが属するメインジョブを識別するデータとを前記サブジョブ管理テーブルのエントリに設定するとともに、当該エントリにおける終了状態を示す情報を未終了に設定し、
    前記メインジョブ実行手段が、メインジョブを開始するときに、ジョブを識別するデータを前記メインジョブ管理テーブルのエントリに設定するとともに、当該エントリにおける実行状態を示す情報を実行中に設定し、
    前記サブジョブ起動手段が、サブジョブを起動するときに、前記メインジョブ管理テーブルにおけるサブジョブが属するメインジョブのエントリに、当該メインジョブに属するサブジョブを識別するデータを設定し、
    メインジョブ検索手段が、メインジョブの実行状態を、前記メインジョブ管理テーブルに設定されているデータを参照して検索し、
    前記メインジョブ指定サブジョブ起動手段が、メインジョブ検索手段を用いてメインジョブの実行状態を検索し、メインジョブの実行状態にもとづいてサブジョブをサブジョブ起動手段に起動させるか否か決定する
    ことを特徴とするジョブステップ並列処理方法。
  7. メインジョブ指定サブジョブ待合せ手段が、メインジョブを識別するデータ、即時待合せか非同期待合せかの選択、およびサブジョブを識別するデータが指定されたことに応じて、サブジョブが終了していない場合には、即時待合せが選択されているときには未終了であることを示す情報を出力し、
    メインジョブ実行手段が、非同期待合せが選択されている場合には、非同期待合せがなされていることを示す情報を出力する
    請求項記載のジョブステップ並列処理方法。
  8. メインジョブ指定サブジョブ起動手段が、メインジョブが実行中であることを条件としてサブジョブをサブジョブ起動手段に起動させ
    請求項または請求項記載のジョブステップ並列処理方法。
JP2007237874A 2007-09-13 2007-09-13 計算機システムおよびジョブステップ並列処理方法 Expired - Fee Related JP4577343B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007237874A JP4577343B2 (ja) 2007-09-13 2007-09-13 計算機システムおよびジョブステップ並列処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007237874A JP4577343B2 (ja) 2007-09-13 2007-09-13 計算機システムおよびジョブステップ並列処理方法

Publications (2)

Publication Number Publication Date
JP2009070141A JP2009070141A (ja) 2009-04-02
JP4577343B2 true JP4577343B2 (ja) 2010-11-10

Family

ID=40606321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007237874A Expired - Fee Related JP4577343B2 (ja) 2007-09-13 2007-09-13 計算機システムおよびジョブステップ並列処理方法

Country Status (1)

Country Link
JP (1) JP4577343B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770038A (zh) * 2016-08-22 2018-03-06 平安科技(深圳)有限公司 消息发送方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2500894A (en) 2012-04-03 2013-10-09 Ibm Automatically deriving a command for starting a program in an operating system of a computer

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06175862A (ja) * 1992-12-02 1994-06-24 Fuji Electric Co Ltd 電子計算機装置
JP2630239B2 (ja) * 1993-12-24 1997-07-16 日本電気株式会社 分散処理システム
JP3245500B2 (ja) * 1994-04-28 2002-01-15 エヌイーシーマイクロシステム株式会社 マルチプログラミングにおける事象管理方式
JP2718377B2 (ja) * 1994-10-07 1998-02-25 日本電気株式会社 子タスク終了待ち合わせシステム
JPH10283201A (ja) * 1997-04-01 1998-10-23 Nec Corp ジョブステップ並列処理方式、並列処理方法および並列 処理プログラムを記録した記録媒体
JPH11250021A (ja) * 1998-03-05 1999-09-17 Nippon Telegr & Teleph Corp <Ntt> ネットワーク上での分散処理方法及びそのシステム並びに分散処理プログラムを記録した媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770038A (zh) * 2016-08-22 2018-03-06 平安科技(深圳)有限公司 消息发送方法和装置

Also Published As

Publication number Publication date
JP2009070141A (ja) 2009-04-02

Similar Documents

Publication Publication Date Title
US8732665B2 (en) Deploying environments for testing by providing instantaneous availability of prebuilt environments
US8762929B2 (en) System and method for exclusion of inconsistent objects from lifecycle management processes
US7610512B2 (en) System and method for automated and assisted resolution of it incidents
US8732668B2 (en) System and method of error handling in a platform as a service environment
JP2016541056A (ja) ビジネスフローをスケジュールするためのコンピュータ装置、方法及び装置
US20080244589A1 (en) Task manager
US8850400B2 (en) System and method for providing an implementation accelerator and regression testing framework for use with environments such as fusion applications
US20100161549A1 (en) Masterless distributed batch scheduling engine
JP2003085005A (ja) 計算機システム構成自動変更方式
CN106600226B (zh) 用于优化流程管理系统的方法及装置
US8468386B2 (en) Detecting and recovering from process failures
CN111666141A (zh) 任务调度方法、装置、设备及计算机存储介质
US10430232B2 (en) Controllable workflow in software configuration automation
JP4577343B2 (ja) 計算機システムおよびジョブステップ並列処理方法
JP2007058506A (ja) 文書管理サーバ、文書管理システム、及び、文書管理プログラムとその記録媒体
JP4109153B2 (ja) ジョブ制御装置、ジョブ制御ファイル、ジョブ制御方法及びジョブ制御プログラム
JP2005258501A (ja) 障害影響範囲解析システム及び障害影響範囲解析方法及びプログラム
JP7036603B2 (ja) 運用管理システム
JP6751231B2 (ja) ジョブスケジューラ試験プログラム、ジョブスケジューラ試験方法及び並列処理装置
JP4989496B2 (ja) コマンドネット実行装置、コマンドネット実行プログラム及びコマンドネット実行プログラムを記録したコンピュータ読み取り可能な記録媒体
KR20090068938A (ko) 분산된 엔지니어링 자원의 통합 및 실행을 위한 엔지니어링프레임워크 및 그를 이용한 방법
JP2008146204A (ja) サービス管理システム、サービス管理装置およびサービス管理方法
JP2006285473A (ja) 製造工程管理システム
WO2024139011A1 (zh) 信息处理方法
US20240211341A1 (en) Computer-readable recording medium storing information processing program, information processing method, and information processing apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100708

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100727

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100809

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4577343

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees