説明

ジョブシミュレーションシステム、ジョブシミュレーション方法及びジョブシミュレーションプログラム

【課題】バッチジョブの実行状況、バッチジョブにより生成されたファイルを転送する転送ジョブの実行状況を予測するためのジョブシミュレーションシステム、ジョブシミュレーション方法及びジョブシミュレーションプログラムを提供する。
【解決手段】シミュレーション装置20の制御部21は、バッチジョブシミュレーション処理、転送ジョブシミュレーション処理を実行する。バッチジョブシミュレーション処理においては、実行可能ジョブについて、終了時刻を算出するとともに、後続ジョブを特定する。後続ジョブが既に実行済みであって、後続ジョブの開始時刻と先行ジョブの終了時刻とに不整合が生じている場合には、このジョブについて再計算を行なう。そして、バッチジョブ、転送ジョブについての終了時限までの余裕時間を算出し、余裕時間が十分でないと判定した場合には、先行ジョブにおいて調整対象ジョブを特定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、バッチジョブ、転送ジョブの実行状況を予測するためのジョブシミュレーションシステム、方法及びプログラムに関する。
【背景技術】
【0002】
企業における業務管理のために複数のバッチジョブを連続して実行させる場合がある。この場合、各ジョブの先後関係を考慮する必要があり、このような先後関係を示したジョブネットワークにより実行管理している。そして、各種ジョブやジョブネットワークを実行させる場合、ジョブを実行するシステムにおける負荷や、ジョブネットワークの終了時刻を考慮する必要がある。そこで、ジョブネットワークの実行状況についてシミュレーションを行ない、システム負荷や終了時刻の予測を行なうことがある。例えば、複数のジョブを並列して実行する計算機システムにおいて、バッチ処理時間を短縮するための運用環境案やジョブスケジュール案を求める技術が検討されている(例えば、特許文献1を参照。)。この文献に記載された技術においては、基本データ部をもとにパラメタ情報を生成し、シミュレーション制御部でシミュレーションを制御する。
【0003】
また、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、実用的な実行予定時間帯を求める技術も検討されている(例えば、特許文献2を参照。)。この文献に記載された技術においては、処理時間の実績値に基づき、選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する。次に、ジョブシナリオが実行される予定の実行予定時間帯を算出する。そして、並列実行されたジョブの多重度を考慮して、ジョブシナリオが実行される場合の処理予定時間を算出する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−203151号公報(第1頁、図1)
【特許文献2】特開2010−231694号公報(第1頁、図1)
【発明の概要】
【発明が解決しようとする課題】
【0005】
複数のバッチジョブについての実行シミュレーションを行なう場合、各バッチジョブについて、相互に関係する実行開始条件を考慮する必要がある。特に、複数の実行開始条件において各ジョブの先後関係が設定されている場合には、先行ジョブの終了時刻と後続ジョブの開始時刻を整合させる必要があり、シミュレーションが複雑になるという課題がある。従って、このようなシミュレーションを、できるだけ簡単な演算処理により実現できることが望ましい。
また、バッチジョブを実行して生成されたファイルを、他のシステムに転送しなければならない場合もある。このような場合には、各バッチジョブの終了時限だけではなく、生成されたファイルについての転送ジョブの転送完了時刻を考慮する必要がある。この場合には、転送完了時限を考慮して、バッチジョブのジョブネットワークを終了させる必要がある。
【0006】
本発明は、上記問題点を解決するためになされたものであり、バッチジョブの実行状況、バッチジョブにより生成されたファイルを転送する転送ジョブの実行状況を予測するためのジョブシミュレーションシステム、ジョブシミュレーション方法及びジョブシミュレーションプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記問題点を解決するために、請求項1に記載の発明は、各バッチジョブのジョブ開始条件、基準所要時間に関するデータを記憶したバッチジョブ管理情報記憶手段と、バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件、基準所要時間、終了時限に関するデータを記憶した転送ジョブ管理情報記憶手段と、各バッチジョブのジョブ終了時刻及びファイルの転送終了時刻を算出する制御手段とを備えたジョブシミュレーションシステムであって、前記制御手段が、前記バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件、基準所要時間に基づいて、各バッチジョブの終了時刻を算出する手段と、バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、前記バッチジョブの終了時刻を登録する手段と、前記転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と前記転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する手段と、各転送ジョブの転送終了時刻と終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する手段とを備えたことを要旨とする。
【0008】
請求項2に記載の発明は、請求項1に記載のジョブシミュレーションシステムにおいて、前記バッチジョブ管理情報記憶手段には、各バッチジョブの終了時限が記憶されており、前記制御手段が、各バッチジョブの終了時刻と、このバッチジョブの終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する手段を更に備えることを要旨とする。
【0009】
請求項3に記載の発明は、請求項1又は2に記載のジョブシミュレーションシステムにおいて、前記バッチジョブ管理情報記憶手段には、各バッチジョブに対して後続ジョブ情報が記憶されており、前記制御手段が、後続ジョブのジョブ開始条件における開始時刻が、先行ジョブの終了時刻よりも早いと判定した場合には、後続ジョブのジョブ開始条件の開始時刻を変更して、再度、終了時刻を算出し直し、すべてのバッチジョブにおいて、後続ジョブのジョブ開始条件における開始時刻が、先行ジョブの終了時刻以降になるまで、終了時刻の算出を繰り返すことを要旨とする。
【0010】
請求項4に記載の発明は、請求項3に記載のジョブシミュレーションシステムにおいて、前記制御手段が、各バッチジョブの終了時限に対する終了時刻の余裕時間を算出し、余裕時間が基準時間以下の場合には、前記バッチジョブ管理情報記憶手段に記憶された先行ジョブ情報を用いてジョブネットワークを特定して、前記特定したジョブネットワークに関する情報を出力する手段を更に備えることを要旨とする。
【0011】
請求項5に記載の発明は、請求項1〜4のいずれか一つに記載のジョブシミュレーションシステムにおいて、前記転送ジョブ管理情報記憶手段には、転送ジョブの優先度が設定されており、前記制御手段が、同一時刻に複数のファイルが転送可能な状態にある場合には、優先度が高い転送ジョブを先に実行させた場合の転送終了時刻を算出することを要旨とする。
【0012】
請求項6に記載の発明は、請求項1〜5のいずれか一つに記載のジョブシミュレーションシステムにおいて、前記制御手段が、各転送ジョブの転送時間における回線利用の多重度を算出し、前記多重度及び回線容量に基づいて基準所要時間を修正した修正所要時間を算出し、この修正所要時間を用いて転送終了時刻を算出することを要旨とする。
【0013】
請求項7に記載の発明は、各バッチジョブのジョブ開始条件、基準所要時間に関するデータを記憶したバッチジョブ管理情報記憶手段と、バッチジョブによって生成されたファ
イルを転送する転送ジョブのジョブ開始条件、基準所要時間、終了時限に関するデータを記憶した転送ジョブ管理情報記憶手段と、各バッチジョブのジョブ終了時刻及びファイルの転送終了時刻を算出する制御手段とを備えたジョブシミュレーションシステムを用いて、ジョブシミュレーションを行なう方法であって、前記制御手段が、前記バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件、基準所要時間に基づいて、各バッチジョブの終了時刻を算出する段階と、バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、前記バッチジョブの終了時刻を登録する段階と、前記転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と前記転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する段階と、各転送ジョブの転送終了時刻と終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する段階とを実行することを要旨とする。
【0014】
請求項8に記載の発明は、各バッチジョブのジョブ開始条件、基準所要時間に関するデータを記憶したバッチジョブ管理情報記憶手段と、バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件、基準所要時間、終了時限に関するデータを記憶した転送ジョブ管理情報記憶手段と、各バッチジョブのジョブ終了時刻及びファイルの転送終了時刻を算出する制御手段とを備えたジョブシミュレーションシステムを用いて、ジョブシミュレーションを行なうためのプログラムであって、前記制御手段を、前記バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件、基準所要時間に基づいて、各バッチジョブの終了時刻を算出する手段、バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、前記バッチジョブの終了時刻を登録する手段、前記転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と前記転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する手段、各転送ジョブの転送終了時刻と終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する手段として機能させることを要旨とする。
【0015】
(作用)
請求項1、7、8に記載の発明によれば、制御手段が、バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件、基準所要時間に基づいて、各バッチジョブの終了時刻を算出する。次に、バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、バッチジョブの終了時刻を登録する。次に、転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する。そして、各転送ジョブの転送終了時刻と終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する。これにより、バッチジョブ及びファイルの転送ジョブについてのシミュレーション結果において、余裕がない場合には注意喚起することができる。
【0016】
請求項2に記載の発明によれば、制御手段が、各バッチジョブの終了時刻と、このバッチジョブの終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する。これにより、各ジョブについて終了時限を考慮して、注意喚起することができる。
【0017】
請求項3に記載の発明によれば、制御手段が、後続ジョブのジョブ開始条件における開始時刻が、先行ジョブの終了時刻よりも早いと判定した場合には、後続ジョブのジョブ開始条件の開始時刻を変更して、再度、終了時刻を算出し直す。そして、すべてのバッチジョブにおいて、後続ジョブのジョブ開始条件における開始時刻が、先行ジョブの終了時刻以降になるまで、終了時刻の算出を繰り返す。これにより、ジョブを実行するために複数
の開始条件がある場合にも、比較的簡易な演算処理によりシミュレーションを行なうことができる。そして、先行ジョブの終了時刻と、後続ジョブの開始時刻とが整合していない場合には、時刻関係を整合させてシミュレーションを再実行することができる。
【0018】
請求項4に記載の発明によれば、制御手段が、各バッチジョブの終了時限に対する終了時刻の余裕時間を算出し、余裕時間が基準時間以下の場合には、バッチジョブ管理情報記憶手段に記憶された先行ジョブ情報を用いてジョブネットワークを特定して、特定したジョブネットワークに関する情報を出力する。これにより、問題がある可能性があるバッチジョブを効率的に特定することができる。
【0019】
請求項5に記載の発明によれば、制御手段が、同一時刻に複数のファイルが転送可能な状態にある場合には、優先度が高い転送ジョブを先に実行させた場合の転送終了時刻を算出する。これにより、転送対象ファイルの性質に応じた優先度を考慮して、転送処理についてのシミュレーションを行なうことができる。
【0020】
請求項6に記載の発明によれば、制御手段が、各転送ジョブの転送時間における回線利用の多重度を算出し、多重度及び回線容量に基づいて基準所要時間を修正した修正所要時間を算出し、この修正所要時間を用いて転送終了時刻を算出する。これにより、転送時の回線の使用状況を考慮して転送終了時刻を算出することができる。
【発明の効果】
【0021】
本発明によれば、バッチジョブの実行状況、バッチジョブにより生成されたファイルを転送する転送ジョブの実行状況を予測するためのジョブシミュレーションシステム、ジョブシミュレーション方法及びジョブシミュレーションプログラムを提供することができる。
【図面の簡単な説明】
【0022】
【図1】本発明の実施形態のシステム概略図。
【図2】本実施形態の各記憶部に記録されたデータの説明図であって、(a)はバッチジョブ情報記憶部、(b)は転送ジョブ情報記憶部に記録されたデータの説明図。
【図3】本実施形態の処理手順の説明図。
【図4】本実施形態の処理手順の説明図。
【図5】本実施形態の処理手順の説明図。
【図6】本実施形態の処理手順の説明図。
【図7】本実施形態の処理手順の説明図。
【図8】本実施形態の処理手順の説明図。
【発明を実施するための形態】
【0023】
以下、本発明を具体化した実施形態を図1〜図8に従って説明する。本実施形態では、バッチジョブを実行し、このバッチジョブによって生成されるファイルを転送するジョブの実行状況を管理する場合に用いるジョブシミュレーションシステム、ジョブシミュレーション方法及びジョブシミュレーションプログラムとして説明する。
【0024】
本実施形態では、図1に示すように、ジョブネットワーク情報記憶部12、JCL記憶部13、シミュレーション装置20を用いる。
ジョブネットワーク情報記憶部12には、シミュレーションの対象となるバッチジョブのジョブネットワーク情報が記憶されている。このジョブネットワーク情報には、先行ジョブのジョブ識別子に対して後続ジョブのジョブ識別子が記録されている。このジョブネットワーク情報を用いることにより、各ジョブに対して、直前に実行される先行ジョブや、各ジョブに引き続き実行される後続ジョブを特定することができる。
【0025】
JCL記憶部13には、各バッチジョブを制御するためのジョブ制御言語(JCL)により記載されたJCL文が記憶されている。このJCL文を解析することにより、各バッチジョブに必要なファイルのファイル識別子や、生成されるファイルのファイル識別子を特定することができる。そして、バッチジョブにより生成されるファイルのファイル識別子と、ジョブ実行に必要なファイルのファイル識別子とをマッチングさせることにより、ジョブの先行・後続関係を特定することができる。
【0026】
シミュレーション装置20は、バッチジョブや転送ジョブの実行状況をシミュレーションするコンピュータシステムである。シミュレーション装置20は、ジョブネットワーク情報記憶部12、JCL記憶部13から、ジョブ実行状況のシミュレーションに用いるデータを取得する。更に、シミュレーション装置20は、利用者からの要求に基づいて、ジョブの実行状況をシミュレーションし、このシミュレーション結果を出力する。このため、このシミュレーション装置20は、図1に示すように、制御部21、バッチジョブ情報記憶部22、転送ジョブ情報記憶部23、基本情報記憶部24、キーボード、マウス等の入力部31、ディスプレイ等の表示部32、通信手段等を備えている。
【0027】
制御部21は、図示しないCPU、RAM、ROMからなる制御手段を有し、後述する処理(データ登録段階、計算管理段階、バッチジョブ計算段階、転送ジョブ計算段階、調整支援段階等の各処理等)を実行する。このためのシミュレーションプログラムを実行することにより、制御部21は、データ登録手段211、計算管理手段212、バッチジョブ計算手段213、転送ジョブ計算手段214、調整支援手段215として機能する。
【0028】
データ登録手段211は、ジョブネットワーク情報記憶部12、JCL記憶部13から取得したデータを用いて、シミュレーションに必要なデータを生成し、バッチジョブ情報記憶部22、転送ジョブ情報記憶部23に記録する処理を実行する。
計算管理手段212は、バッチジョブや転送ジョブのシミュレーションの管理処理を実行する。この計算管理手段212は、余裕時間の長短を判定するための基準時間に関するデータを保持している。更に、この計算管理手段は、CPUや記憶容量(ワークエリアに用いるディスク装置)等のリソースの使用量を時刻毎に算出するためのリソース使用量管理テーブルを記憶するメモリを備えている。このリソース使用量管理テーブルにおいては、ジョブが実行される時間軸に対して、リソース使用量が記録される。
【0029】
バッチジョブ計算手段213は、バッチジョブの実行状況についてのシミュレーション処理を実行する。
転送ジョブ計算手段214は、転送ジョブの実行状況についてのシミュレーション処理を実行する。この転送ジョブ計算手段214は、転送ジョブシミュレーション上の時刻を表わす時間ステップに関するデータを保持する時間ステップメモリを備える。更に、転送ジョブ計算手段214は、各時間ステップにおいて実行している転送ジョブにおける回線の使用状況を特定するためのデータを保持する転送処理メモリを備える。この転送処理メモリには、実行中の転送ジョブのジョブ識別子に対して、この時間ステップにおいて、まだ送信されていないデータ量(データ残量)が記録される。
【0030】
調整支援手段215は、シミュレーションによって算出された転送終了時刻を早めるための調整を支援する処理を実行する。この調整支援手段215は、調整対象の転送ジョブを特定するための転送時間許容値に関するデータを保持している。更に、調整支援手段215は、分割可能な転送ジョブのジョブ識別子を登録した分割可能ジョブテーブルを備えている。そして、調整支援手段215は、転送ジョブを分割するための値を保持する分割数メモリを備えるとともに、分割限界を示す分割限度に関するデータを保持している。なお、分割数メモリには、初期値として「1」を記憶させておく。
【0031】
バッチジョブ情報記憶部22はバッチジョブ管理情報記憶手段として機能する。このバッチジョブ情報記憶部22には、図2(a)に示すように、バッチジョブのシミュレーションを行なうためのバッチジョブ管理レコード220が記録されている。このバッチジョブ管理レコード220は、後述するデータ登録処理が行なわれた場合に生成され、バッチジョブシミュレーションが実行されたときに更新される。バッチジョブ管理レコード220には、ジョブ識別子、実行遷移、実行開始可能時刻、後続ジョブ識別子、引継ファイル識別子、リソース消費、基準ジョブ実行時間、ジョブ終了時限、倍率、機械的待機時間に関するデータが記録される。更に、バッチジョブ管理レコード220には、バッチジョブのシミュレーション結果として、ジョブ開始時刻、ジョブ終了時刻、余裕時間、先行ジョブ終了時刻、引継ファイル受取時刻に関するデータが記録される。ここで、実行開始可能時刻、先行ジョブ終了時刻、引継ファイル受取時刻がジョブ開始条件として機能する。
【0032】
ジョブ識別子データ領域には、バッチジョブを特定するための識別子に関するデータが記録される。
実行遷移データ領域には、バッチジョブの実行状態を特定するためのフラグが記録される。本実施形態では、「実行待ち」、「実行可」、「実行完了」のいずれかを示すフラグが記録される。「実行待ち」フラグは、バッチジョブを実行するための条件が整っていない状態を示すフラグである。「実行可」フラグは、先行ジョブが終了し、バッチジョブの実行に必要なファイルが生成されて、バッチジョブを実行できる状態を示すフラグである。「実行完了」フラグは、バッチジョブの実行を完了した状態を示すフラグである。
【0033】
実行開始可能時刻データ領域には、バッチジョブの開始が許容される時刻に関するデータが記録される。この実行開始可能時刻以降の時刻において、先行ジョブの終了や引継ファイルが生成された場合に、バッチジョブは「実行可」状態になる。
後続ジョブ識別子データ領域には、このジョブの実行を完了した場合に引き続き行なわれる後続ジョブ(バッチジョブや転送ジョブ)を特定するための識別子に関するデータが記録される。この後続ジョブは、ジョブネットワークやファイル識別子により特定される。複数の後続ジョブがある場合には、すべての後続ジョブのジョブ識別子が記録される。
【0034】
引継ファイル識別子データ領域には、このバッチジョブによって生成され、後続ジョブに引き継がれるファイルを特定するための識別子に関するデータが記録される。
リソース消費データ領域には、このバッチジョブを実行するために必要なリソース(CPUや記憶容量等)の使用量に関するデータが記録される。
【0035】
基準ジョブ実行時間データ領域には、テストデータについて、このバッチジョブを実行した場合の実行開始から実行終了までの基準所要時間に関するデータが記録される。
ジョブ終了時限データ領域には、このバッチジョブを終了すべき制限時刻に関するデータが記録される。
【0036】
倍率データ領域には、テストデータに対して本番相当のデータ量の倍率に関するデータが記録される。この倍率を用いることにより、基準ジョブ実行時間に基づき、本番のジョブ実行の所要時間を算出することができる。
機械的待機時間データ領域には、実際にジョブが開始されるまでの待機時間(例えば、データ記憶媒体等からデータのロードに必要な所要時間)に関するデータが記録される。
【0037】
ジョブ開始時刻データ領域には、バッチジョブシミュレーションにおいて、このバッチジョブを開始した時刻に関するデータが記録される。
ジョブ終了時刻データ領域には、バッチジョブシミュレーションにおいて、このバッチジョブを終了した時刻に関するデータが記録される。
【0038】
余裕時間データ領域には、ジョブ終了時刻からジョブ終了時限までの残り時間に関するデータが記録される。
先行ジョブ終了時刻データ領域には、このバッチジョブの先行ジョブのジョブ識別子、及び先行ジョブの終了時刻に関するデータが記録される。
【0039】
引継ファイル受取時刻データ領域には、このバッチジョブにおいて使用するファイルを生成した先行ジョブのジョブ識別子、このファイルのファイル識別子、及びファイルが生成された時刻に関するデータが記録される。
【0040】
転送ジョブ情報記憶部23は転送ジョブ管理情報記憶手段として機能する。この転送ジョブ情報記憶部23には、図2(b)に示すように、転送ジョブのシミュレーションを行なうための転送ジョブ管理レコード230が記録されている。この転送ジョブ管理レコード230は、後述するデータ登録処理が行なわれた場合に生成され、転送ジョブシミュレーションが実行されたときに更新される。転送ジョブ管理レコード230には、ジョブ識別子、実行遷移、転送ファイル識別子、転送開始可能時刻、転送路区分、リソース消費、テストデータ量、基準転送時間、転送完了時限、倍率に関するデータが記録される。更に、転送ジョブ管理レコード230には、各ジョブのシミュレーション結果として、転送ファイル受取時刻、転送開始時刻、転送終了時刻、余裕時間に関するデータが記録される。ここで、実行開始可能時刻、転送ファイル受取時刻がジョブ開始条件として機能する。
【0041】
ジョブ識別子データ領域には、転送ジョブを特定するための識別子に関するデータが記録される。
実行遷移データ領域には、転送ジョブの実行状態を特定するためのフラグが記録される。本実施形態では、「実行待ち」、「実行可」、「実行完了」のいずれかを示すフラグが記録される。「実行待ち」フラグは、転送ジョブを実行するための条件が整っていない状態を示すフラグである。「実行可」フラグは、転送ジョブの対象ファイルが生成されて、転送ジョブを実行できる状態を示すフラグである。「実行完了」フラグは、転送ジョブの実行を完了した状態を示すフラグである。
【0042】
転送ファイル識別子データ領域には、この転送ジョブによって転送されるファイルを特定するための識別子に関するデータが記録される。
転送開始可能時刻データ領域には、転送ジョブの開始が許容される時刻に関するデータが記録される。この転送開始可能時刻以降において、転送対象ファイルが既に存在している場合又は生成された場合に転送ジョブは「実行可」状態になる。
【0043】
転送路区分データ領域には、転送ジョブの優先度を特定するための区分に関するデータが記録される。本実施形態では、優先度として「優先」、「一般」の2種類の区分を用いる。「優先」及び「一般」ジョブが実行可能な場合には、「優先」ジョブを優先して転送シミュレーションを行なう。
【0044】
リソース消費データ領域には、この転送ジョブを実行するために必要なリソース(CPUや記憶容量等)の使用量に関するデータが記録される。
テストデータ量データ領域には、この転送ジョブにおいてテストデータとして送信されるデータ量に関するデータが記録される。
【0045】
基準転送時間データ領域には、テストデータについて、この転送ジョブを実行した場合の転送開始から転送終了までの基準所要時間に関するデータが記録される。この基準転送時間は、テストデータ量を基準転送量で除算した値と一致する。
【0046】
転送完了時限データ領域には、この転送ジョブを終了すべき制限時刻に関するデータが記録される。
倍率データ領域には、テストデータに対して本番相当のデータ量の倍率に関するデータが記録される。この倍率を用いることにより、基準転送時間を修正して、本番のジョブ実行の所要時間を算出することができる。
【0047】
転送ファイル受取時刻データ領域には、バッチジョブシミュレーションにおいて転送対象ファイルを生成した時刻(ファイルの生成時刻)に関するデータが記録される。
転送開始時刻データ領域には、転送ジョブシミュレーションにおいて転送を開始した時刻に関するデータが記録される。
【0048】
転送終了時刻データ領域には、転送ジョブシミュレーションにおいて転送を終了して時刻に関するデータが記録される。
余裕時間データ領域には、転送終了時刻から転送完了時限までの残り時間に関するデータが記録される。
【0049】
基本情報記憶部24には、シミュレーションを行なう場合に用いる基本情報が記録されている。この基本情報は、シミュレーションの対象システムの環境情報やシミュレーションにおける制約条件が登録された場合に記録される。基本情報には、転送シミュレーションにおける時間ステップにおける初期値、転送路における多重限度、回線容量、基準転送量に関するデータが記録される。ここで、多重限度は、転送路において同時期に転送可能な多重度である。また、回線容量は、転送路における最大通信速度(各時間ステップにおける最大転送量)である。基準転送量は、各転送ジョブにおける転送に用いられる転送速度(各時間ステップにおいて実行される各転送ジョブの転送量)である。本実施形態では、各転送ジョブにおいて、同じ基準転送量を用いて転送を行なう場合を想定する。
【0050】
次に、本実施形態のジョブシミュレーション処理について説明する。ここでは、データ登録処理(図3)、ジョブ実行シミュレーション処理(図4)、バッチジョブシミュレーション処理(図5)、後続ジョブの実行遷移判定処理(図6)、転送ジョブシミュレーション処理(図7)、調整支援処理(図8)の順に説明する。
【0051】
(データ登録処理)
まず、図3を用いて、データ登録処理を説明する。このデータ登録処理は、新たなジョブが登録された場合や、ジョブの実行条件等が変更された場合に実行される。ここでは、まず、シミュレーション対象のジョブについて、ジョブ識別子を記録したバッチジョブ管理レコード220、転送ジョブ管理レコード230を、それぞれバッチジョブ情報記憶部22、転送ジョブ情報記憶部23に登録しておく。そして、管理者によってデータ登録指示が入力された場合に、以下の処理を実行する。
【0052】
まず、シミュレーション装置20の制御部21は、ジョブネットワーク情報の解析処理を実行する(ステップS1−1)。具体的には、制御部21のデータ登録手段211は、ジョブネットワーク情報記憶部12から、ジョブネットワーク情報を取得する。そして、データ登録手段211は、ジョブネットワーク情報記憶部12から取得したジョブネットワーク情報を解析して、各バッチジョブの後続ジョブのジョブ識別子を特定する。
【0053】
次に、シミュレーション装置20の制御部21は、JCL文の解析処理を実行する(ステップS1−2)。具体的には、制御部21のデータ登録手段211は、JCL記憶部13からJCLを取得する。そして、データ登録手段211は、JCL記憶部13から取得したJCL文を解析して、各ジョブの実行開始に必要なファイルのファイル識別子、出力されるファイル(後続ジョブ引継ファイル)のファイル識別子を特定する。そして、デー
タ登録手段211は、ジョブ実行により出力されるファイルのファイル識別子と、ジョブ実行開始に必要なファイルのファイル識別子とをマッチングすることにより、先行ジョブ及び後続ジョブのジョブ識別子を特定する。
【0054】
次に、シミュレーション装置20の制御部21は、シミュレーション用データの生成処理を実行する(ステップS1−3)。具体的には、制御部21のデータ登録手段211は、各バッチジョブのジョブ識別子が記録されたバッチジョブ管理レコード220に、ジョブネットワーク情報やJCL文の解析により特定された先行ジョブ及び後続ジョブ識別子、引継ファイル識別子を記録する。
【0055】
次に、シミュレーション装置20の制御部21は、不足データの登録処理を実行する(ステップS1−4)。具体的には、制御部21のデータ登録手段211は、バッチジョブ情報記憶部22、転送ジョブ情報記憶部23に記録されている各レコードを抽出して、表示部32に出力する。この場合、担当者は、入力部31を用いて各ジョブの実行条件(例えば、実行開始時刻、転送開始可能時刻や終了時限等)を追加登録する。
【0056】
(ジョブ実行シミュレーション処理)
次に、図4を用いて、ジョブ実行シミュレーション処理を説明する。
まず、シミュレーション装置20の制御部21は、バッチジョブシミュレーション処理を実行する(ステップS2−1)。具体的には、制御部21の計算管理手段212は、バッチジョブ計算手段213に対してバッチジョブシミュレーションの実行を指示する。この場合、後述するように、バッチジョブ計算手段213は、バッチジョブシミュレーション処理を行なう。
【0057】
次に、シミュレーション装置20の制御部21は、転送ジョブシミュレーション処理を実行する(ステップS2−2)。具体的には、制御部21の計算管理手段212は、転送ジョブ計算手段214に対して転送ジョブ実行シミュレーションの実行を指示する。この場合、後述するように、転送ジョブ計算手段214は、転送ジョブシミュレーション処理を行なう。
そして、各シミュレーションを終了した後で、評価対象ジョブを特定し、ジョブ毎に以下の処理を繰り返す。
【0058】
ここでは、シミュレーション装置20の制御部21は、リソース使用量の登録処理を実行する(ステップS2−3)。具体的には、制御部21の計算管理手段212は、各ジョブのジョブ開始時刻〜ジョブ終了時刻の各時間ステップに対して、リソース使用量管理テーブルの各時刻にリソース消費量を加算して記録する。
【0059】
次に、シミュレーション装置20の制御部21は、バッチジョブ、転送ジョブの時限までの余裕時間の取得処理を実行する(ステップS2−4)。具体的には、制御部21の計算管理手段212は、バッチジョブ管理レコード220、転送ジョブ管理レコード230に記録されているジョブ終了時刻、転送終了時刻を取得する。次に、計算管理手段212は、算出したジョブ終了時刻、転送終了時刻を、それぞれジョブ終了時限、転送完了時限から差し引いて、余裕時間を算出する。そして、計算管理手段212は、各レコード(220、230)に、算出した余裕時間を記録する。
【0060】
次に、シミュレーション装置20の制御部21は、終了時限までの余裕時間は十分かどうかについての判定処理を実行する(ステップS2−5)。具体的には、制御部21の計算管理手段212は、算出した余裕時間と基準時間とを比較する。余裕時間が基準時間より長い場合には、余裕時間は十分と判定する。
【0061】
終了時限までの余裕時間が十分であると判定した場合(ステップS2−5において「YES」の場合)、シミュレーション装置20の制御部21は、このジョブについての繰り返し処理を終了する。
【0062】
一方、終了時限までの余裕時間が十分でないと判定した場合(ステップS2−5において「NO」の場合)、シミュレーション装置20の制御部21は、先行ジョブの特定処理を実行する(ステップS2−6)。具体的には、制御部21の計算管理手段212は、バッチジョブ情報記憶部22から、評価対象ジョブのジョブ識別子がジョブ識別子データ領域に記録されているバッチジョブ管理レコード220をバッチジョブ情報記憶部22から抽出する。そして、計算管理手段212は、このバッチジョブ管理レコード220において、先行ジョブ終了時刻データ領域又は引継ファイル受取時刻データ領域に記録されている先行ジョブのジョブ識別子を抽出する。
【0063】
更に、計算管理手段212は、抽出したジョブ識別子がジョブ識別子データ領域に記録されたバッチジョブ管理レコード220において、先行ジョブ終了時刻データ領域又は引継ファイル受取時刻データ領域に記録されている先行ジョブのジョブ識別子を更に抽出する。このように、順次、先行ジョブ終了時刻データ領域又は引継ファイル受取時刻データ領域に記録されているジョブ識別子を抽出することにより、計算管理手段212は、評価対象ジョブのすべての先行ジョブを特定する。
【0064】
次に、シミュレーション装置20の制御部21は、調整対象ジョブの特定処理を実行する(ステップS2−7)。具体的には、制御部21の計算管理手段212は、特定した先行ジョブのジョブ識別子が記録されているバッチジョブ管理レコード220をバッチジョブ情報記憶部22から抽出する。そして、計算管理手段212は、各レコードに記録されているジョブ終了時刻からジョブ開始時刻を差し引いて所要時間を算出する。そして、計算管理手段212は、算出した所要時間を比較して、所要時間が最も長いジョブを調整対象ジョブとして特定する。
【0065】
次に、シミュレーション装置20の制御部21は、調整対象ジョブの出力処理を実行する(ステップS2−8)。具体的には、制御部21の計算管理手段212は、調整対象ジョブのジョブ識別子を表示部32に出力する。
以上の処理を、バッチジョブ情報記憶部22、転送ジョブ情報記憶部23に記録されているすべてのジョブについて繰り返す。
【0066】
次に、シミュレーション装置20の制御部21は、リソース使用量の出力処理を実行する(ステップS2−9)。具体的には、制御部21の計算管理手段212は、リソース使用量管理テーブルに記憶されたリソース使用量を取得し、横軸を時間軸とするグラフを生成して、表示部32に出力する。
【0067】
(バッチジョブシミュレーション処理)
次に、図5を用いて、バッチジョブシミュレーション処理を説明する。
最初に、シミュレーション装置20の制御部21は、実行開始可能時刻が記録されているバッチジョブ管理レコード220の実行遷移データ領域に「実行可」フラグを記録する。
更に、バッチジョブ計算手段213は、先行ジョブの終了や引継ファイルの受取を完了しているバッチジョブ管理レコード220の実行遷移データ領域に「実行可」フラグを記録する。
そして、シミュレーション装置20の制御部21は、実行可能ジョブの検索処理を実行する(ステップS3−1)。具体的には、制御部21のバッチジョブ計算手段213は、バッチジョブ情報記憶部22を用いて、実行遷移データ領域に「実行可」フラグが記録さ
れているバッチジョブ管理レコード220を検索する。
【0068】
次に、シミュレーション装置20の制御部21は、特定した実行可能ジョブ(処理対象ジョブ)毎に、以下の処理を繰り返す。
まず、シミュレーション装置20の制御部21は、終了時刻の算出処理を実行する(ステップS3−2)。具体的には、制御部21のバッチジョブ計算手段213は、バッチジョブ管理レコード220に記憶されているジョブ開始時刻、機械的待機時間、基準ジョブ実行時間、倍率を取得する。次に、バッチジョブ計算手段213は、基準ジョブ実行時間に倍率を乗算し、機械的待機時間を加算することにより、実行所要時間を算出する。次に、バッチジョブ計算手段213は、ジョブ開始時刻に実行所要時間を加算してジョブ終了時刻を算出する。そして、バッチジョブ計算手段213は、この処理対象ジョブについてのバッチジョブ管理レコード220にジョブ終了時刻を記録する。
【0069】
次に、シミュレーション装置20の制御部21は、実行完了の登録処理を実行する(ステップS3−3)。具体的には、制御部21のバッチジョブ計算手段213は、このバッチジョブ管理レコード220の実行遷移データ領域に「実行完了」フラグを記録する。
【0070】
次に、シミュレーション装置20の制御部21は、後続ジョブの特定処理を実行する(ステップS3−4)。具体的には、制御部21のバッチジョブ計算手段213は、このバッチジョブ管理レコード220の後続ジョブデータ領域に記録されているジョブ識別子に基づいて、後続ジョブのジョブ識別子を特定する。そして、バッチジョブ計算手段213は、後続ジョブのバッチジョブ管理レコード220の先行ジョブ終了時刻データ領域に、処理対象ジョブのジョブ終了時刻を記録する。
【0071】
次に、シミュレーション装置20の制御部21は、引継ファイル情報の登録処理を実行する(ステップS3−5)。具体的には、制御部21のバッチジョブ計算手段213は、引継ファイルデータ領域に記録されているファイル識別子を特定する。次に、バッチジョブ計算手段213は、このファイル識別子が引継ファイル受取時刻データ領域に記録されているバッチジョブ管理レコード220を特定する。そして、バッチジョブ計算手段213は、後続ジョブのバッチジョブ管理レコード220の引継ファイル受取時刻データ領域に、処理対象ジョブのジョブ終了時刻を記録する。
【0072】
更に、バッチジョブ計算手段213は、ファイル識別子が引継ファイルデータ領域に記録されている転送ジョブ管理レコード230を特定する。そして、バッチジョブ計算手段213は、この転送ジョブ管理レコード230の引継ファイル受取時刻データ領域に、処理対象ジョブのジョブ終了時刻を記録する。
【0073】
次に、シミュレーション装置20の制御部21は、特定した後続ジョブ毎に、後続ジョブの実行遷移判定処理を実行する(ステップS3−6)。この後続ジョブの実行遷移判定処理については、図6を用いて後述する。
【0074】
次に、シミュレーション装置20の制御部21は、全バッチジョブについてシミュレーションを終了したかどうかについての判定処理を実行する(ステップS3−7)。具体的には、制御部21のバッチジョブ計算手段213は、まだ、「実行完了」フラグが記録されていないバッチジョブ管理レコード220の有無によって判定する。このようなバッチジョブ管理レコード220が残っている場合には、全バッチジョブについて終了していないことになる。
【0075】
全バッチジョブについて終了していない場合(ステップS3−7において「NO」の場合)、ステップS3−1からの処理を繰り返す。一方、すべてのバッチジョブ管理レコー
ド220に「実行完了」フラグが記録されており、全バッチジョブについて終了している場合(ステップS3−7において「YES」の場合)には、バッチジョブシミュレーションを終了する。
【0076】
(後続ジョブの実行遷移判定処理)
次に、図6を用いて、後続ジョブの実行遷移判定処理を説明する。
まず、シミュレーション装置20の制御部21は、後続ジョブは実行済かどうかについての判定処理を実行する(ステップS4−1)。具体的には、制御部21のバッチジョブ計算手段213は、後続ジョブのバッチジョブ管理レコード220に記録されている実行遷移データ領域に記録されたフラグを取得する。ここで、「実行完了」フラグが記録されている場合には、後続ジョブは実行済みである。
【0077】
後続ジョブが実行済又は実行可の場合(ステップS4−1において「YES」の場合)、シミュレーション装置20の制御部21は、後続ジョブの開始時刻の取得処理を実行する(ステップS4−2)。具体的には、制御部21のバッチジョブ計算手段213は、後続ジョブのバッチジョブ管理レコード220に記録されているジョブ開始時刻を取得する。
【0078】
次に、シミュレーション装置20の制御部21は、後続ジョブのジョブ開始時刻が先行ジョブ終了時刻よりも後になっているかどうかについての判定処理を実行する(ステップS4−3)。具体的には、制御部21のバッチジョブ計算手段213は、後続ジョブのバッチジョブ管理レコード220のジョブ開始時刻データ領域に記録された時刻と、先行ジョブの終了時刻とを比較する。本実施形態では、先行ジョブの終了時刻として、バッチジョブ管理レコード220の先行ジョブ終了時刻データ領域に記録された時刻を用いる。
【0079】
後続ジョブのジョブ開始時刻が先行ジョブ終了時刻以降になっている場合(ステップS4−3において「YES」の場合)、シミュレーション装置20の制御部21は、実行遷移データ領域に記録された「実行完了」又は「実行可」フラグをそのままの状態にして、この後続ジョブについて実行遷移判定処理を終了する。
【0080】
一方、後続ジョブのジョブ開始時刻が先行ジョブ終了時刻よりも早い場合(ステップS4−3において「NO」の場合)には、シミュレーション装置20の制御部21は、後続ジョブに対して「実行可」登録処理を実行する(ステップS4−4)。具体的には、制御部21のバッチジョブ計算手段213は、後続ジョブのバッチジョブ管理レコード220の実行遷移データ領域の「実行完了」フラグを「実行可」フラグに変更する。「実行可」フラグが記録されている場合には、このフラグをそのまま維持する。更に、バッチジョブ計算手段213は、後続ジョブのジョブ開始時刻データ領域に先行ジョブの終了時刻を記録する。
【0081】
また、後続ジョブが実行済かつ実行可でない場合(ステップS4−1において「NO」の場合)にも、シミュレーション装置20の制御部21は、後続ジョブに対して「実行可」登録処理を実行する(ステップS4−4)。
【0082】
(転送ジョブシミュレーション処理)
次に、図7を用いて、転送ジョブシミュレーション処理を説明する。ここでは、転送路の多重度、開始時刻、データ倍率を考慮して、転送完了時刻を計算する。
【0083】
まず、シミュレーション装置20の制御部21は、転送開始可能時刻によりソート処理を実行する(ステップS5−1)。具体的には、制御部21の転送ジョブ計算手段214は、転送ジョブ管理レコード230に記録されている転送開始可能時刻が早い順番に並び
替える。
【0084】
次に、シミュレーション装置20の制御部21は、最初の時間ステップの設定処理を実行する(ステップS5−2)。具体的には、制御部21の転送ジョブ計算手段214は、シミュレーションに用いる時間ステップとして初期値(最初の時間ステップ)を時間ステップメモリに設定する。
【0085】
次に、シミュレーション装置20の制御部21は、転送路の使用状況の取得処理を実行する(ステップS5−3)。具体的には、制御部21の転送ジョブ計算手段214は、転送処理メモリに記録されている実行中の転送ジョブの数を計数して多重度を算出することにより、転送路の使用状況を取得する。
【0086】
次に、シミュレーション装置20の制御部21は、転送路に余裕があるかどうかについての判定処理を実行する(ステップS5−4)。具体的には、制御部21の転送ジョブ計算手段214は、転送処理メモリを用いて算出した多重度と、基本情報記憶部24に記憶されている多重限度とを比較する。ここで、多重度が多重限度未満の場合には、転送路に余裕があると判定する。
【0087】
転送路に余裕がある場合(ステップS5−4において「YES」の場合)、シミュレーション装置20の制御部21は、送信可能なファイルがあるかどうかについての判定処理を実行する(ステップS5−5)。具体的には、制御部21の転送ジョブ計算手段214は、現在の時間ステップにおいて、転送ジョブ管理レコード230の実行遷移データ領域に「実行可」フラグが記録されている転送ジョブを特定する。なお、転送ファイル受取時刻データ領域に転送開始可能時刻よりも遅い時刻が記録されている転送ジョブ管理レコード230については、転送ファイル受取時刻が時間ステップに達したときに、「実行可」フラグを記録する。
【0088】
送信可能なファイルがある場合(ステップS5−5において「YES」の場合)、シミュレーション装置20の制御部21は、優先ジョブがあるかどうかについての判定処理を実行する(ステップS5−6)。具体的には、制御部21の転送ジョブ計算手段214は、「実行可」フラグが記録されている転送ジョブ管理レコード230の転送路区分を取得する。転送路区分データ領域に「優先」フラグが記録されている場合には優先ジョブがあると判定する。
【0089】
優先ジョブがある場合(ステップS5−6において「YES」の場合)、シミュレーション装置20の制御部21は、優先ジョブの実行登録処理を実行する(ステップS5−7)。具体的には、制御部21の転送ジョブ計算手段214は、優先ジョブの転送ジョブ管理レコード230のテストデータ量に倍率を乗算して総データ量を算出する。そして、転送ジョブ計算手段214は、転送処理メモリに、優先ジョブの転送ジョブ管理レコード230のジョブ識別子、総データ量を記録する。
【0090】
優先ジョブがない場合(ステップS5−6において「NO」の場合)、シミュレーション装置20の制御部21は、一般ジョブの実行登録処理を実行する(ステップS5−8)。具体的には、制御部21の転送ジョブ計算手段214は、一般ジョブの転送ジョブ管理レコード230のデータ量に倍率を乗算して総データ量を算出する。そして、転送ジョブ計算手段214は、転送処理メモリに、一般ジョブの転送ジョブ管理レコード230のジョブ識別子、総データ量を記録する。
【0091】
そして、優先ジョブの実行登録処理(ステップS5−7)、一般ジョブの実行登録処理(ステップS5−8)の実行後、シミュレーション装置20の制御部21は、ステップS
5−4の処理に戻る。
【0092】
一方、転送路に余裕がない場合(ステップS5−4において「NO」の場合)、送信可能なファイルがない場合(ステップS5−5において「NO」の場合)、シミュレーション装置20の制御部21は、リソース使用量の計算処理を実行する(ステップS5−9)。具体的には、制御部21の転送ジョブ計算手段214は、転送処理メモリに記録されている転送ジョブについて、基本情報記憶部24に記憶された基準転送量の総計値を算出する。次に、転送ジョブ計算手段214は、基本情報記憶部24に記憶された回線容量を、基準転送量の総計値で除算することにより修正係数を算出する。そして、転送ジョブ計算手段214は、各転送ジョブの基準転送量に修正係数を乗算して、修正基準転送量を算出する。
【0093】
次に、シミュレーション装置20の制御部21は、転送完了時刻の算出処理を実行する(ステップS5−10)。具体的には、制御部21の転送ジョブ計算手段214は、転送ジョブ管理レコード230に記憶された基準転送時間を取得する。次に、転送ジョブ計算手段214は、各ジョブの基準転送時間に〔転送処理メモリのデータ残量/総データ量〕を乗算して、残り所要時間を算出する。更に、転送ジョブ計算手段214は、各ジョブの残り所要時間を修正係数で除算することにより、各転送ジョブにおける転送完了までの修正残り所要時間を算出する。なお、複数のジョブを実行している場合には、転送ジョブ計算手段214は、修正残り所要時間が最も短い転送ジョブを特定する。更に、転送ジョブ計算手段214は、現在の時間ステップに修正残り所要時間を加算して、特定した転送ジョブ転送終了時刻を算出する。そして、転送ジョブ計算手段214は、特定した転送ジョブの転送ジョブ管理レコード230に「実行完了」フラグ、転送終了時刻を記録する。
【0094】
次に、シミュレーション装置20の制御部21は、すべての転送ジョブを終了したかどうかについての判定処理を実行する(ステップS5−11)。具体的には、制御部21の転送ジョブ計算手段214は、「実行完了」フラグが記録されていない転送ジョブ管理レコード230の有無により判定する。すべての転送ジョブ管理レコード230に「実行完了」フラグが記録されている場合には、全ファイルの転送を終了したことになる。
【0095】
すべての転送ジョブを終了した場合(ステップS5−11において「YES」の場合)、シミュレーション装置20の制御部21は、転送ジョブシミュレーションを終了する。
一方、転送を完了していない転送ジョブが残っている場合(ステップS5−11において「NO」の場合)、シミュレーション装置20の制御部21は、時間ステップの更新処理を実行する(ステップS5−12)。具体的には、制御部21の転送ジョブ計算手段214は、ステップS5−10において算出した転送終了時刻まで、時間ステップを更新する。
【0096】
この場合、回線容量に応じて、各時間ステップの転送量を算出する。まず、転送ジョブ計算手段214は、時間ステップの更新毎に、転送処理メモリに記録されているデータ残量から修正基準転送量を減算するとともに、時間ステップを進める。そして、シミュレーション装置20の制御部21は、ステップS5−3の処理から繰り返す。
【0097】
(調整支援処理)
次に、図8を用いて、調整支援処理を説明する。本実施形態では、転送ジョブの完了時限までに時間的に余裕がない場合に、転送条件を変更して、再度、シミュレーションを行なう。具体的には、転送ジョブを分割することにより、所要時間の短縮化を試みる。そして、余裕時間が改善されない場合には、分割数を増やして再計算する。
【0098】
まず、シミュレーション装置20の制御部21は、転送所要時間が長い調整対象ジョブ
があるかどうかについての判定処理を実行する(ステップS6−1)。具体的には、制御部21の調整支援手段215は、各転送ジョブ管理レコード230の転送終了時刻から転送開始時刻を差し引いた転送所要時間と転送時間許容値とを比較する。そして、調整支援手段215は、転送所要時間が転送時間許容値よりも長い転送ジョブの有無を確認する。
【0099】
転送時間許容値より転送所要時間が長い調整対象ジョブを検出できない場合(ステップS6−1において「NO」の場合)、シミュレーション装置20の制御部21は、調整支援処理を終了する。
【0100】
一方、転送時間許容値より転送所要時間が長い調整対象ジョブを検出した場合(ステップS6−1において「YES」の場合)、シミュレーション装置20の制御部21は、調整対象ジョブは分割可能かどうかについての判定処理を実行する(ステップS6−2)。具体的には、制御部21の調整支援手段215は、調整対象ジョブのジョブ識別子が分割可能ジョブテーブルに登録されているかどうかにより判定する。調整対象ジョブのジョブ識別子が分割可能ジョブテーブルに登録されていない場合には、調整対象ジョブを分割できないと判定する。
【0101】
調整対象ジョブを分割できないと判定した場合(ステップS6−2において「NO」の場合)、シミュレーション装置20の制御部21は、アラーム処理を実行する(ステップS6−3)。具体的には、制御部21の調整支援手段215は、表示部32にアラームを出力する。
【0102】
一方、調整対象ジョブのジョブ識別子が分割可能ジョブテーブルに登録されており、調整対象ジョブを分割できると判定した場合(ステップS6−2において「YES」の場合)、シミュレーション装置20の制御部21は、調整対象ジョブの分割処理を実行する(ステップS6−4)。具体的には、制御部21の調整支援手段215は、分割数メモリに記録された値に「1」を加算して更新するとともに、この分割数により転送対象ジョブを分割する。
【0103】
そして、シミュレーション装置20の制御部21は、転送ジョブシミュレーション処理を実行する(ステップS6−5)。具体的には、制御部21の調整支援手段215は、分割されたファイルを用いて、再度、転送ジョブシミュレーションを行なう。
【0104】
次に、シミュレーション装置20の制御部21は、転送所要時間が転送時間許容値以下かどうかについての判定処理を実行する(ステップS6−6)。具体的には、制御部21の調整支援手段215は、再実行したシミュレーション結果に基づいて、転送所要時間が転送時間許容値以下になったかどうかを判定する。
【0105】
転送所要時間が転送時間許容値以下になった場合(ステップS6−6において「YES」の場合)、シミュレーション装置20の制御部21は、調整支援情報の出力処理を実行する(ステップS6−7)。具体的には、制御部21の調整支援手段215は、表示部32に調整支援情報を出力する。この調整支援情報には、調整対象の転送ジョブのジョブ識別子、分割数に関するメッセージを含める。
【0106】
一方、転送所要時間が転送時間許容値以下になっていない場合(ステップS6−6において「NO」の場合)、シミュレーション装置20の制御部21は、分割限界かどうかについての判定処理を実行する(ステップS6−8)。具体的には、制御部21の調整支援手段215は、分割数が分割限度に到達した場合には分割限界と判定する。
【0107】
分割限界に達した場合(ステップS6−8において「YES」の場合)、シミュレーシ
ョン装置20の制御部21は、アラーム処理を実行する(ステップS6−3)。一方、分割限界に達していない場合(ステップS6−8において「NO」の場合)、シミュレーション装置20の制御部21は、ステップS6−2からの処理を繰り返す。
【0108】
以上、本実施形態によれば、以下に示す効果を得ることができる。
(1)上記実施形態では、シミュレーション装置20の制御部21は、バッチジョブシミュレーション処理(ステップS2−1)、転送ジョブシミュレーション処理(ステップS2−2)を実行する。ここで、終了時限までの余裕時間が十分でないと判定した場合(ステップS2−5において「NO」の場合)、制御部21は、先行ジョブを特定し(ステップS2−6)、調整対象ジョブの特定処理を実行する(ステップS2−7)。これにより、ジョブ終了時刻に余裕がない場合には、先行ジョブを特定して注意喚起することができる。
【0109】
更に、評価対象ジョブが転送ジョブの場合には、制御部21の計算管理手段212は、転送ジョブ管理レコード230に記録された転送ファイル識別子を取得し、ファイルを生成するバッチジョブを特定する。そして、計算管理手段212は、特定したバッチジョブのジョブ識別子が記録されたジョブネットワーク情報を、ジョブネットワーク情報記憶部12から取得し、評価対象ジョブのすべての先行ジョブを特定する。転送ジョブの終了時刻に余裕がない場合には、引継ファイルを生成するバッチジョブのジョブネットワークを考慮して注意喚起することができる。例えば、障害発生時に、ジョブの開始時刻を意図的に変更し、この場合のジョブやファイルに対する影響を調査することができる。
【0110】
(2)上記実施形態では、シミュレーション装置20の制御部21は、実行可能ジョブを検索する(ステップS3−1)。そして、制御部21は、実行可能ジョブについて、終了時刻の算出処理(ステップS3−2)、実行完了の登録処理(ステップS3−3)を実行する。次に、制御部21は、後続ジョブの特定処理(ステップS3−4)、引継ファイル情報の登録処理(ステップS3−5)を実行する。そして、制御部21は、特定した後続ジョブ毎に、後続ジョブの実行遷移判定処理を実行する(ステップS3−6)。ここでは、後続ジョブが実行済でない場合(ステップS4−1において「NO」の場合)にも、制御部21は、後続ジョブに「実行可」登録処理を実行する(ステップS4−4)。これにより、ジョブの開始のために複数のジョブ開始条件が設定されている場合においても、一部のジョブ開始条件に基づいてジョブの実行シミュレーションを行なうため、簡単な構成により実行状況を計算することができる。
【0111】
更に、後続ジョブが実行済の場合(ステップS4−1において「YES」の場合)、制御部21は、後続ジョブの開始時刻を取得する(ステップS4−2)。そして、後続ジョブのジョブ開始時刻が先行ジョブ終了時刻よりも早い場合(ステップS4−3において「NO」の場合)には、制御部21は、後続ジョブに対して「実行可」登録処理を実行する(ステップS4−4)。これにより、ジョブ開始条件が整合していない場合には、「実行完了」状態から「実行可」状態に戻して、再度計算し直すことができる。
【0112】
(3)上記実施形態では、転送ジョブシミュレーション処理において、優先ジョブがある場合(ステップS5−6において「NO」の場合)、シミュレーション装置20の制御部21は、転送路に対して優先ジョブの実行登録処理を実行する(ステップS5−7)。これにより、転送されるファイルの優先度を考慮して、転送の順番を決めたシミュレーションを行なうことができる。
【0113】
(4)上記実施形態では、転送ジョブシミュレーション処理において、シミュレーション装置20の制御部21は、転送完了時刻の算出処理を実行する(ステップS5−10)。ここでは、転送ジョブ計算手段214は、各転送ジョブの基準転送時間に〔転送処理メ
モリのデータ残量/総データ量〕を乗算して、残り所要時間を算出する。そして、転送ジョブ計算手段214は、各ジョブの残り所要時間において、回線容量を考慮して各転送ジョブにおける転送完了までの修正所要時間を算出する。これにより、転送路の多重度を考慮して、的確な所要時間を算出することができる。
【0114】
(5)上記実施形態では、調整支援処理において、転送時間許容値より転送所要時間が長い調整対象ジョブを検出した場合(ステップS6−1において「YES」の場合)、シミュレーション装置20の制御部21は、調整対象ジョブは分割可能かどうかについての判定処理を実行する(ステップS6−2)。そして、調整対象ジョブのジョブ識別子が分割可能ジョブテーブルに登録されており、調整対象ジョブを分割できると判定した場合(ステップS6−2において「YES」の場合)、制御部21は、調整対象ジョブの分割処理を実行する(ステップS6−4)。転送所要時間が転送時間許容値以下になった場合(ステップS6−6において「YES」の場合)、制御部21は、調整支援情報の出力処理を実行する(ステップS6−7)。これにより、管理者は、転送ジョブの実行方法を効率的に検討することができる。
【0115】
(6)上記実施形態では、シミュレーション装置20の制御部21は、リソース使用量の出力処理を実行する(ステップS2−9)。これにより、管理者はリソース使用量の時間的推移を把握することができる。
【0116】
なお、上記実施形態は、以下の態様に変更してもよい。
・ 上記実施形態では、転送ジョブについて調整支援処理を実行する。調整支援処理の対象は、転送ジョブに限定されるものではなく、バッチジョブについて調整を行なうようにしてもよい。この場合には、例えば、余裕時間がないバッチジョブについて、実行開始可能時刻が実行開始の制限になっている場合には、この実行開始可能時刻を所定時間だけ前倒してシミュレーションを行なう。また、先行ジョブ終了時刻や引継ファイル受取時刻が実行開始の制限になっている場合には、先行ジョブ終了時刻や引継ファイル受取時刻を所定時間だけ前倒してシミュレーションを行なう。
【0117】
・ 上記実施形態では、調整支援処理においては、転送ジョブの分割を行なって、再度シミュレーションを行なう。調整方法は、ジョブの分割に限定されるものではない。例えば、調整対象の転送ジョブの転送路区分が「一般」になっている場合には「優先」に変更した場合のシミュレーションを行なうようにしてもよい。
【0118】
・ 上記実施形態では、多重限度に基づいて、同時期に実行できる転送ジョブを決定する。これに加えて、回線能力に応じて、実行する転送ジョブを決定するようにしてもよい。この場合には、基準転送量の総計が回線容量に到達した場合にジョブ実行を制限する。
【0119】
・ 上記実施形態では、終了時限までの余裕時間が十分でないと判定した場合(ステップS2−5において「NO」の場合)、シミュレーション装置20の制御部21は、先行ジョブの特定処理を実行する(ステップS2−6)。この場合、制御部21の計算管理手段212は、バッチジョブ情報記憶部22に記憶されたバッチジョブ管理レコード220を用いて先行ジョブを特定する。先行ジョブの特定方法はこれに限定されるものではない。例えば、制御部21の計算管理手段212は、ジョブ識別子が記録されたジョブネットワーク情報を、ジョブネットワーク情報記憶部12から取得するようにしてもよい。
また、評価対象ジョブが転送ジョブの場合には、計算管理手段212が、転送ファイル識別子を用いて先行ジョブを特定するようにしてもよい。この場合には、計算管理手段212が、転送ジョブ管理レコード230に記録された転送ファイル識別子を取得することにより、転送ジョブによって転送されるファイルを特定する。そして、計算管理手段212は、この転送ファイル識別子が引継ファイルとして記録されたバッチジョブ管理レコー
ド220を検索することにより、ファイルを生成する先行ジョブ(バッチジョブ)を特定する。
【符号の説明】
【0120】
12…ジョブネットワーク情報記憶部、13…JCL記憶部、20…シミュレーション装置、21…制御部、211…データ登録手段、212…計算管理手段、213…バッチジョブ計算手段、214…転送ジョブ計算手段、215…調整支援手段、22…バッチジョブ情報記憶部、23…転送ジョブ情報記憶部、24…基本情報記憶部、31…入力部、32…表示部。

【特許請求の範囲】
【請求項1】
各バッチジョブのジョブ開始条件、基準所要時間に関するデータを記憶したバッチジョブ管理情報記憶手段と、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件、基準所要時間、終了時限に関するデータを記憶した転送ジョブ管理情報記憶手段と、
各バッチジョブのジョブ終了時刻及びファイルの転送終了時刻を算出する制御手段とを備えたジョブシミュレーションシステムであって、
前記制御手段が、
前記バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件、基準所要時間に基づいて、各バッチジョブの終了時刻を算出する手段と、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、前記バッチジョブの終了時刻を登録する手段と、
前記転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と前記転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する手段と、
各転送ジョブの転送終了時刻と終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する手段と
を備えたことを特徴とするジョブシミュレーションシステム。
【請求項2】
前記バッチジョブ管理情報記憶手段には、各バッチジョブの終了時限が記憶されており、
前記制御手段が、各バッチジョブの終了時刻と、このバッチジョブの終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する手段を更に備えることを特徴とする請求項1に記載のジョブシミュレーションシステム。
【請求項3】
前記バッチジョブ管理情報記憶手段には、各バッチジョブに対して後続ジョブ情報が記憶されており、
前記制御手段が、
後続ジョブのジョブ開始条件における開始時刻が、先行ジョブの終了時刻よりも早いと判定した場合には、後続ジョブのジョブ開始条件の開始時刻を変更して、再度、終了時刻を算出し直し、
すべてのバッチジョブにおいて、後続ジョブのジョブ開始条件における開始時刻が、先行ジョブの終了時刻以降になるまで、終了時刻の算出を繰り返すことを特徴とする請求項1又は2に記載のジョブシミュレーションシステム。
【請求項4】
前記制御手段が、各バッチジョブの終了時限に対する終了時刻の余裕時間を算出し、余裕時間が基準時間以下の場合には、前記バッチジョブ管理情報記憶手段に記憶された先行ジョブ情報を用いてジョブネットワークを特定して、前記特定したジョブネットワークに関する情報を出力する手段を更に備えることを特徴とする請求項3に記載のジョブシミュレーションシステム。
【請求項5】
前記転送ジョブ管理情報記憶手段には、転送ジョブの優先度が設定されており、
前記制御手段が、同一時刻に複数のファイルが転送可能な状態にある場合には、優先度が高い転送ジョブを先に実行させた場合の転送終了時刻を算出することを特徴とする請求項1〜4のいずれか一つに記載のジョブシミュレーションシステム。
【請求項6】
前記制御手段が、各転送ジョブの転送時間における回線利用の多重度を算出し、前記多重度及び回線容量に基づいて基準所要時間を修正した修正所要時間を算出し、この修正所
要時間を用いて転送終了時刻を算出することを特徴とする請求項1〜5のいずれか一つに記載のジョブシミュレーションシステム。
【請求項7】
各バッチジョブのジョブ開始条件、基準所要時間に関するデータを記憶したバッチジョブ管理情報記憶手段と、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件、基準所要時間、終了時限に関するデータを記憶した転送ジョブ管理情報記憶手段と、
各バッチジョブのジョブ終了時刻及びファイルの転送終了時刻を算出する制御手段とを備えたジョブシミュレーションシステムを用いて、ジョブシミュレーションを行なう方法であって、
前記制御手段が、
前記バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件、基準所要時間に基づいて、各バッチジョブの終了時刻を算出する段階と、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、前記バッチジョブの終了時刻を登録する段階と、
前記転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と前記転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する段階と、
各転送ジョブの転送終了時刻と終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する段階と
を実行することを特徴とするジョブシミュレーション方法。
【請求項8】
各バッチジョブのジョブ開始条件、基準所要時間に関するデータを記憶したバッチジョブ管理情報記憶手段と、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件、基準所要時間、終了時限に関するデータを記憶した転送ジョブ管理情報記憶手段と、
各バッチジョブのジョブ終了時刻及びファイルの転送終了時刻を算出する制御手段とを備えたジョブシミュレーションシステムを用いて、ジョブシミュレーションを行なうためのプログラムであって、
前記制御手段を、
前記バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件、基準所要時間に基づいて、各バッチジョブの終了時刻を算出する手段、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、前記バッチジョブの終了時刻を登録する手段、
前記転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と前記転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する手段、
各転送ジョブの転送終了時刻と終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する手段
として機能させることを特徴とするジョブシミュレーションプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−173756(P2012−173756A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−31793(P2011−31793)
【出願日】平成23年2月17日(2011.2.17)
【出願人】(592131906)みずほ情報総研株式会社 (187)