(57)【特許請求の範囲】
【請求項１】
各バッチジョブのジョブ開始条件、後続ジョブ情報、基準所要時間に関するデータを記憶したバッチジョブ管理情報記憶手段と、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件、基準所要時間、終了時限に関するデータを記憶した転送ジョブ管理情報記憶手段と、
余裕時間の長短を判定するための基準時間に関するデータを保持するとともに、各バッチジョブのジョブ終了時刻及びファイルの転送終了時刻を算出する制御手段とを備えたジョブシミュレーションシステムであって、
前記制御手段が、
前記バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件の中で一部のジョブ開始条件を満たすジョブについて実行可と判定し、このジョブの開始時刻及び基準所要時間に基づいて、各バッチジョブの終了時刻を算出し、前記バッチジョブ管理情報記憶手段に、前記終了時刻を記録する手段と、
前記バッチジョブ管理情報記憶手段に記録された後続ジョブ情報に基づいて、前記終了時刻を記録したジョブを先行ジョブとする後続ジョブを特定し、前記後続ジョブが実行済みの場合には、前記後続ジョブの開始時刻を取得し、前記取得した後続ジョブの開始時刻が、前記先行ジョブの終了時刻よりも早いと判定した場合には、前記後続ジョブの開始時刻を変更して、再度、終了時刻を算出し直し、すべての後続ジョブの開始時刻が、前記後続ジョブの先行ジョブの終了時刻以降になるまで、終了時刻の算出を繰り返す手段と、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、前記バッチジョブの終了時刻を登録する手段と、
前記転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と前記転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する手段と、
各転送ジョブの転送終了時刻と終了時限とを比較して、前記終了時刻から終了時限までの残り時間である余裕時間が前記基準時間以下の場合には、アラームを出力する手段と
を備えたことを特徴とするジョブシミュレーションシステム。
【請求項２】
前記バッチジョブ管理情報記憶手段には、各バッチジョブの終了時限が記憶されており
、
前記制御手段が、各バッチジョブの終了時刻と、このバッチジョブの終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する手段を更に備えることを特徴とする請求項１に記載のジョブシミュレーションシステム。
【請求項３】
前記制御手段が、各バッチジョブの終了時限に対する終了時刻の余裕時間を算出し、余裕時間が基準時間以下の場合には、前記バッチジョブ管理情報記憶手段に記憶された先行ジョブ情報を用いてジョブネットワークを特定して、前記特定したジョブネットワークに関する情報を出力する手段を更に備えることを特徴とする請求項１又は２に記載のジョブシミュレーションシステム。
【請求項４】
前記転送ジョブ管理情報記憶手段には、転送ジョブの優先度が設定されており、
前記制御手段が、同一時刻に複数のファイルが転送可能な状態にある場合には、優先度が高い転送ジョブを先に実行させた場合の転送終了時刻を算出することを特徴とする請求項１〜３のいずれか一つに記載のジョブシミュレーションシステム。
【請求項５】
前記制御手段が、各転送ジョブの転送時間において同時期に回線利用の転送ジョブの数を計数した多重度を算出し、前記多重度及び回線容量に基づいて基準所要時間を修正した修正所要時間を算出し、この修正所要時間を用いて転送終了時刻を算出することを特徴とする請求項１〜４のいずれか一つに記載のジョブシミュレーションシステム。
【請求項６】
各バッチジョブのジョブ開始条件、後続ジョブ情報、基準所要時間に関するデータを記憶したバッチジョブ管理情報記憶手段と、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件、基準所要時間、終了時限に関するデータを記憶した転送ジョブ管理情報記憶手段と、
余裕時間の長短を判定するための基準時間に関するデータを保持するとともに、各バッチジョブのジョブ終了時刻及びファイルの転送終了時刻を算出する制御手段とを備えたジョブシミュレーションシステムを用いて、ジョブシミュレーションを行なう方法であって、
前記制御手段が、
前記バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件の中で一部のジョブ開始条件を満たすジョブについて実行可と判定し、このジョブの開始時刻及び基準所要時間に基づいて、各バッチジョブの終了時刻を算出し、前記バッチジョブ管理情報記憶手段に、前記終了時刻を記録する段階と、
前記バッチジョブ管理情報記憶手段に記録された後続ジョブ情報に基づいて、前記終了時刻を記録したジョブを先行ジョブとする後続ジョブを特定し、前記後続ジョブが実行済みの場合には、前記後続ジョブの開始時刻を取得し、前記取得した後続ジョブの開始時刻が、前記先行ジョブの終了時刻よりも早いと判定した場合には、前記後続ジョブの開始時刻を変更して、再度、終了時刻を算出し直し、すべての後続ジョブの開始時刻が、前記後続ジョブの先行ジョブの終了時刻以降になるまで、終了時刻の算出を繰り返す段階と、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、前記バッチジョブの終了時刻を登録する段階と、
前記転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と前記転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する段階と、
各転送ジョブの転送終了時刻と終了時限とを比較して、前記終了時刻から終了時限までの残り時間である余裕時間が前記基準時間以下の場合には、アラームを出力する段階と
を実行することを特徴とするジョブシミュレーション方法。
【請求項７】
各バッチジョブのジョブ開始条件、後続ジョブ情報、基準所要時間に関するデータを記憶したバッチジョブ管理情報記憶手段と、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件、基準所要時間、終了時限に関するデータを記憶した転送ジョブ管理情報記憶手段と、
余裕時間の長短を判定するための基準時間に関するデータを保持するとともに、各バッチジョブのジョブ終了時刻及びファイルの転送終了時刻を算出する制御手段とを備えたジョブシミュレーションシステムを用いて、ジョブシミュレーションを行なうためのプログラムであって、
前記制御手段を、
前記バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件の中で一部のジョブ開始条件を満たすジョブについて実行可と判定し、このジョブの開始時刻及び基準所要時間に基づいて、各バッチジョブの終了時刻を算出し、前記バッチジョブ管理情報記憶手段に、前記終了時刻を記録する手段、
前記バッチジョブ管理情報記憶手段に記録された後続ジョブ情報に基づいて、前記終了時刻を記録したジョブを先行ジョブとする後続ジョブを特定し、前記後続ジョブが実行済みの場合には、前記後続ジョブの開始時刻を取得し、前記取得した後続ジョブの開始時刻が、前記先行ジョブの終了時刻よりも早いと判定した場合には、前記後続ジョブの開始時刻を変更して、再度、終了時刻を算出し直し、すべての後続ジョブの開始時刻が、前記後続ジョブの先行ジョブの終了時刻以降になるまで、終了時刻の算出を繰り返す手段、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、前記バッチジョブの終了時刻を登録する手段、
前記転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と前記転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する手段、
各転送ジョブの転送終了時刻と終了時限とを比較して、前記終了時刻から終了時限までの残り時間である余裕時間が前記基準時間以下の場合には、アラームを出力する手段
として機能させることを特徴とするジョブシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッチジョブ、転送ジョブの実行状況を予測するためのジョブシミュレーションシステム、方法及びプログラムに関する。
【背景技術】
【０００２】
企業における業務管理のために複数のバッチジョブを連続して実行させる場合がある。この場合、各ジョブの先後関係を考慮する必要があり、このような先後関係を示したジョブネットワークにより実行管理している。そして、各種ジョブやジョブネットワークを実行させる場合、ジョブを実行するシステムにおける負荷や、ジョブネットワークの終了時刻を考慮する必要がある。そこで、ジョブネットワークの実行状況についてシミュレーションを行ない、システム負荷や終了時刻の予測を行なうことがある。例えば、複数のジョブを並列して実行する計算機システムにおいて、バッチ処理時間を短縮するための運用環境案やジョブスケジュール案を求める技術が検討されている（例えば、特許文献１を参照。）。この文献に記載された技術においては、基本データ部をもとにパラメタ情報を生成し、シミュレーション制御部でシミュレーションを制御する。
【０００３】
また、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、実用的な実行予定時間帯を求める技術も検討されている（例えば、特許文献２を参照。）。この文献に記載された技術においては、処理時間の実績値に基づき、選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する。次に、ジョブシナリオが実行される予定の実行予定時間帯を算出する。そして、並列実行されたジョブの多重度を考慮して、ジョブシナリオが実行される場合の処理予定時間を算出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２０３１５１号公報（第１頁、図１）
【特許文献２】特開２０１０−２３１６９４号公報（第１頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数のバッチジョブについての実行シミュレーションを行なう場合、各バッチジョブについて、相互に関係する実行開始条件を考慮する必要がある。特に、複数の実行開始条件において各ジョブの先後関係が設定されている場合には、先行ジョブの終了時刻と後続ジョブの開始時刻を整合させる必要があり、シミュレーションが複雑になるという課題がある。従って、このようなシミュレーションを、できるだけ簡単な演算処理により実現できることが望ましい。
また、バッチジョブを実行して生成されたファイルを、他のシステムに転送しなければならない場合もある。このような場合には、各バッチジョブの終了時限だけではなく、生成されたファイルについての転送ジョブの転送完了時刻を考慮する必要がある。この場合には、転送完了時限を考慮して、バッチジョブのジョブネットワークを終了させる必要がある。
【０００６】
本発明は、上記問題点を解決するためになされたものであり、バッチジョブの実行状況、バッチジョブにより生成されたファイルを転送する転送ジョブの実行状況を予測するためのジョブシミュレーションシステム、ジョブシミュレーション方法及びジョブシミュレーションプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記問題点を解決するために、請求項１に記載の発明は、各バッチジョブのジョブ開始条件、後続ジョブ情報、基準所要時間に関するデータを記憶したバッチジョブ管理情報記憶手段と、バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件、基準所要時間、終了時限に関するデータを記憶した転送ジョブ管理情報記憶手段と、余裕時間の長短を判定するための基準時間に関するデータを保持するとともに、各バッチジョブのジョブ終了時刻及びファイルの転送終了時刻を算出する制御手段とを備えたジョブシミュレーションシステムであって、前記制御手段が、前記バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件の中で一部のジョブ開始条件を満たすジョブについて実行可と判定し、このジョブの開始時刻及び基準所要時間に基づいて、各バッチジョブの終了時刻を算出し、前記バッチジョブ管理情報記憶手段に、前記終了時刻を記録する手段と、前記バッチジョブ管理情報記憶手段に記録された後続ジョブ情報に基づいて、前記終了時刻を記録したジョブを先行ジョブとする後続ジョブを特定し、前記後続ジョブが実行済みの場合には、前記後続ジョブの開始時刻を取得し、前記取得した後続ジョブの開始時刻が、前記先行ジョブの終了時刻よりも早いと判定した場合には、前記後続ジョブの開始時刻を変更して、再度、終了時刻を算出し直し、すべての後続ジョブの開始時刻が、前記後続ジョブの先行ジョブの終了時刻以降になるまで、終了時刻の算出を繰り返す手段と、
バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、前記バッチジョブの終了時刻を登録する手段と、前記転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と前記転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する手段と、各転送ジョブの転送終了時刻と終了時限とを比較して、前記終了時刻から終了時限までの残り時間である余裕時間が前記基準時間以下の場合には、アラームを出力する手段とを備えたことを要旨とする。
【０００８】
請求項２に記載の発明は、請求項１に記載のジョブシミュレーションシステムにおいて、前記バッチジョブ管理情報記憶手段には、各バッチジョブの終了時限が記憶されており、前記制御手段が、各バッチジョブの終了時刻と、このバッチジョブの終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する手段を更に備えることを要旨とする。
【００１０】
請求項３に記載の発明は、請求項１又は２に記載のジョブシミュレーションシステムにおいて、前記制御手段が、各バッチジョブの終了時限に対する終了時刻の余裕時間を算出し、余裕時間が基準時間以下の場合には、前記バッチジョブ管理情報記憶手段に記憶された先行ジョブ情報を用いてジョブネットワークを特定して、前記特定したジョブネットワークに関する情報を出力する手段を更に備えることを要旨とする。
【００１１】
請求項４に記載の発明は、請求項１〜３のいずれか一つに記載のジョブシミュレーションシステムにおいて、前記転送ジョブ管理情報記憶手段には、転送ジョブの優先度が設定されており、前記制御手段が、同一時刻に複数のファイルが転送可能な状態にある場合には、優先度が高い転送ジョブを先に実行させた場合の転送終了時刻を算出することを要旨とする。
【００１２】
請求項５に記載の発明は、請求項１〜４のいずれか一つに記載のジョブシミュレーションシステムにおいて、前記制御手段が、各転送ジョブの転送時間において同時期に回線利用の転送ジョブの数を計数した多重度を算出し、前記多重度及び回線容量に基づいて基準所要時間を修正した修正所要時間を算出し、この修正所要時間を用いて転送終了時刻を算出することを要旨とする。
【００１３】
請求項６に記載の発明は、各バッチジョブのジョブ開始条件、後続ジョブ情報、基準所要時間に関するデータを記憶したバッチジョブ管理情報記憶手段と、バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件、基準所要時間、終了時限に関するデータを記憶した転送ジョブ管理情報記憶手段と、余裕時間の長短を判定するための基準時間に関するデータを保持するとともに、各バッチジョブのジョブ終了時刻及びファイルの転送終了時刻を算出する制御手段とを備えたジョブシミュレーションシステムを用いて、ジョブシミュレーションを行なう方法であって、前記制御手段が、前記バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件の中で一部のジョブ開始条件を満たすジョブについて実行可と判定し、このジョブの開始時刻及び基準所要時間に基づいて、各バッチジョブの終了時刻を算出し、前記バッチジョブ管理情報記憶手段に、前記終了時刻を記録する段階と、前記バッチジョブ管理情報記憶手段に記録された後続ジョブ情報に基づいて、前記終了時刻を記録したジョブを先行ジョブとする後続ジョブを特定し、前記後続ジョブが実行済みの場合には、前記後続ジョブの開始時刻を取得し、前記取得した後続ジョブの開始時刻が、前記先行ジョブの終了時刻よりも早いと判定した場合には、前記後続ジョブの開始時刻を変更して、再度、終了時刻を算出し直し、すべての後続ジョブの開始時刻が、前記後続ジョブの先行ジョブの終了時刻以降になるまで、終了時刻の算出を繰り返す段階と、バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、前記バッチジョブの終了時刻を登録する段階と、前記転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と前記転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する段階と、各転送ジョブの転送終了時刻と終了時限とを比較して、前記終了時刻から終了時限までの残り時間である余裕時間が前記基準時間以下の場合には、アラームを出力する段階とを実行することを要旨とする。
【００１４】
請求項７に記載の発明は、各バッチジョブのジョブ開始条件、後続ジョブ情報、基準所要時間に関するデータを記憶したバッチジョブ管理情報記憶手段と、バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件、基準所要時間、終了時限に関するデータを記憶した転送ジョブ管理情報記憶手段と、余裕時間の長短を判定するための基準時間に関するデータを保持するとともに、各バッチジョブのジョブ終了時刻及びファイルの転送終了時刻を算出する制御手段とを備えたジョブシミュレーションシステムを用いて、ジョブシミュレーションを行なうためのプログラムであって、前記制御手段を、前記バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件の中で一部のジョブ開始条件を満たすジョブについて実行可と判定し、このジョブの開始時刻及び基準所要時間に基づいて、各バッチジョブの終了時刻を算出し、前記バッチジョブ管理情報記憶手段に、前記終了時刻を記録する手段、前記バッチジョブ管理情報記憶手段に記録された後続ジョブ情報に基づいて、前記終了時刻を記録したジョブを先行ジョブとする後続ジョブを特定し、前記後続ジョブが実行済みの場合には、前記後続ジョブの開始時刻を取得し、前記取得した後続ジョブの開始時刻が、前記先行ジョブの終了時刻よりも早いと判定した場合には、前記後続ジョブの開始時刻を変更して、再度、終了時刻を算出し直し、すべての後続ジョブの開始時刻が、前記後続ジョブの先行ジョブの終了時刻以降になるまで、終了時刻の算出を繰り返す手段、バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、前記バッチジョブの終了時刻を登録する手段、前記転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線
の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と前記転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する手段、各転送ジョブの転送終了時刻と終了時限とを比較して、前記終了時刻から終了時限までの残り時間である余裕時間が前記基準時間以下の場合には、アラームを出力する手段として機能させることを要旨とする。
【００１５】
（作用）
請求項１、６、７に記載の発明によれば、制御手段が、バッチジョブ管理情報記憶手段に記憶されたジョブ開始条件、基準所要時間に基づいて、各バッチジョブの終了時刻を算出する。次に、バッチジョブによって生成されたファイルを転送する転送ジョブのジョブ開始条件として、バッチジョブの終了時刻を登録する。次に、転送ジョブのジョブ開始条件を用いてファイルの転送順番を決定し、ファイルの転送に用いる回線の使用状況に応じて転送ジョブにおける転送開始時刻を算出し、この転送開始時刻と転送ジョブ管理情報記憶手段に記憶された基準所要時間とを用いて転送終了時刻を算出する。そして、各転送ジョブの転送終了時刻と終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する。これにより、バッチジョブ及びファイルの転送ジョブについてのシミュレーション結果において、余裕がない場合には注意喚起することができる。
【００１６】
請求項２に記載の発明によれば、制御手段が、各バッチジョブの終了時刻と、このバッチジョブの終了時限とを比較して、余裕時間が基準時間以下の場合には、アラームを出力する。これにより、各ジョブについて終了時限を考慮して、注意喚起することができる。
【００１７】
本発明によれば、制御手段が、後続ジョブのジョブ開始条件における開始時刻が、先行ジョブの終了時刻よりも早いと判定した場合には、後続ジョブのジョブ開始条件の開始時刻を変更して、再度、終了時刻を算出し直す。そして、すべてのバッチジョブにおいて、後続ジョブのジョブ開始条件における開始時刻が、先行ジョブの終了時刻以降になるまで、終了時刻の算出を繰り返す。これにより、ジョブを実行するために複数の開始条件がある場合にも、比較的簡易な演算処理によりシミュレーションを行なうことができる。そして、先行ジョブの終了時刻と、後続ジョブの開始時刻とが整合していない場合には、時刻関係を整合させてシミュレーションを再実行することができる。
【００１８】
請求項３に記載の発明によれば、制御手段が、各バッチジョブの終了時限に対する終了時刻の余裕時間を算出し、余裕時間が基準時間以下の場合には、バッチジョブ管理情報記憶手段に記憶された先行ジョブ情報を用いてジョブネットワークを特定して、特定したジョブネットワークに関する情報を出力する。これにより、問題がある可能性があるバッチジョブを効率的に特定することができる。
【００１９】
請求項４に記載の発明によれば、制御手段が、同一時刻に複数のファイルが転送可能な状態にある場合には、優先度が高い転送ジョブを先に実行させた場合の転送終了時刻を算出する。これにより、転送対象ファイルの性質に応じた優先度を考慮して、転送処理についてのシミュレーションを行なうことができる。
【００２０】
請求項５に記載の発明によれば、制御手段が、各転送ジョブの転送時間における回線利用の多重度を算出し、多重度及び回線容量に基づいて基準所要時間を修正した修正所要時間を算出し、この修正所要時間を用いて転送終了時刻を算出する。これにより、転送時の回線の使用状況を考慮して転送終了時刻を算出することができる。
【発明の効果】
【００２１】
本発明によれば、バッチジョブの実行状況、バッチジョブにより生成されたファイルを転送する転送ジョブの実行状況を予測するためのジョブシミュレーションシステム、ジョブシミュレーション方法及びジョブシミュレーションプログラムを提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態のシステム概略図。
【図２】本実施形態の各記憶部に記録されたデータの説明図であって、（ａ）はバッチジョブ情報記憶部、（ｂ）は転送ジョブ情報記憶部に記録されたデータの説明図。
【図３】本実施形態の処理手順の説明図。
【図４】本実施形態の処理手順の説明図。
【図５】本実施形態の処理手順の説明図。
【図６】本実施形態の処理手順の説明図。
【図７】本実施形態の処理手順の説明図。
【図８】本実施形態の処理手順の説明図。
【発明を実施するための形態】
【００２３】
以下、本発明を具体化した実施形態を図１〜図８に従って説明する。本実施形態では、バッチジョブを実行し、このバッチジョブによって生成されるファイルを転送するジョブの実行状況を管理する場合に用いるジョブシミュレーションシステム、ジョブシミュレーション方法及びジョブシミュレーションプログラムとして説明する。
【００２４】
本実施形態では、図１に示すように、ジョブネットワーク情報記憶部１２、ＪＣＬ記憶部１３、シミュレーション装置２０を用いる。
ジョブネットワーク情報記憶部１２には、シミュレーションの対象となるバッチジョブのジョブネットワーク情報が記憶されている。このジョブネットワーク情報には、先行ジョブのジョブ識別子に対して後続ジョブのジョブ識別子が記録されている。このジョブネットワーク情報を用いることにより、各ジョブに対して、直前に実行される先行ジョブや、各ジョブに引き続き実行される後続ジョブを特定することができる。
【００２５】
ＪＣＬ記憶部１３には、各バッチジョブを制御するためのジョブ制御言語（ＪＣＬ）により記載されたＪＣＬ文が記憶されている。このＪＣＬ文を解析することにより、各バッチジョブに必要なファイルのファイル識別子や、生成されるファイルのファイル識別子を特定することができる。そして、バッチジョブにより生成されるファイルのファイル識別子と、ジョブ実行に必要なファイルのファイル識別子とをマッチングさせることにより、ジョブの先行・後続関係を特定することができる。
【００２６】
シミュレーション装置２０は、バッチジョブや転送ジョブの実行状況をシミュレーションするコンピュータシステムである。シミュレーション装置２０は、ジョブネットワーク情報記憶部１２、ＪＣＬ記憶部１３から、ジョブ実行状況のシミュレーションに用いるデータを取得する。更に、シミュレーション装置２０は、利用者からの要求に基づいて、ジョブの実行状況をシミュレーションし、このシミュレーション結果を出力する。このため、このシミュレーション装置２０は、図１に示すように、制御部２１、バッチジョブ情報記憶部２２、転送ジョブ情報記憶部２３、基本情報記憶部２４、キーボード、マウス等の入力部３１、ディスプレイ等の表示部３２、通信手段等を備えている。
【００２７】
制御部２１は、図示しないＣＰＵ、ＲＡＭ、ＲＯＭからなる制御手段を有し、後述する処理（データ登録段階、計算管理段階、バッチジョブ計算段階、転送ジョブ計算段階、調整支援段階等の各処理等）を実行する。このためのシミュレーションプログラムを実行することにより、制御部２１は、データ登録手段２１１、計算管理手段２１２、バッチジョブ計算手段２１３、転送ジョブ計算手段２１４、調整支援手段２１５として機能する。
【００２８】
データ登録手段２１１は、ジョブネットワーク情報記憶部１２、ＪＣＬ記憶部１３から取得したデータを用いて、シミュレーションに必要なデータを生成し、バッチジョブ情報記憶部２２、転送ジョブ情報記憶部２３に記録する処理を実行する。
計算管理手段２１２は、バッチジョブや転送ジョブのシミュレーションの管理処理を実行する。この計算管理手段２１２は、余裕時間の長短を判定するための基準時間に関するデータを保持している。更に、この計算管理手段は、ＣＰＵや記憶容量（ワークエリアに用いるディスク装置）等のリソースの使用量を時刻毎に算出するためのリソース使用量管理テーブルを記憶するメモリを備えている。このリソース使用量管理テーブルにおいては、ジョブが実行される時間軸に対して、リソース使用量が記録される。
【００２９】
バッチジョブ計算手段２１３は、バッチジョブの実行状況についてのシミュレーション処理を実行する。
転送ジョブ計算手段２１４は、転送ジョブの実行状況についてのシミュレーション処理を実行する。この転送ジョブ計算手段２１４は、転送ジョブシミュレーション上の時刻を表わす時間ステップに関するデータを保持する時間ステップメモリを備える。更に、転送ジョブ計算手段２１４は、各時間ステップにおいて実行している転送ジョブにおける回線の使用状況を特定するためのデータを保持する転送処理メモリを備える。この転送処理メモリには、実行中の転送ジョブのジョブ識別子に対して、この時間ステップにおいて、まだ送信されていないデータ量（データ残量）が記録される。
【００３０】
調整支援手段２１５は、シミュレーションによって算出された転送終了時刻を早めるための調整を支援する処理を実行する。この調整支援手段２１５は、調整対象の転送ジョブを特定するための転送時間許容値に関するデータを保持している。更に、調整支援手段２１５は、分割可能な転送ジョブのジョブ識別子を登録した分割可能ジョブテーブルを備えている。そして、調整支援手段２１５は、転送ジョブを分割するための値を保持する分割数メモリを備えるとともに、分割限界を示す分割限度に関するデータを保持している。なお、分割数メモリには、初期値として「１」を記憶させておく。
【００３１】
バッチジョブ情報記憶部２２はバッチジョブ管理情報記憶手段として機能する。このバッチジョブ情報記憶部２２には、図２（ａ）に示すように、バッチジョブのシミュレーションを行なうためのバッチジョブ管理レコード２２０が記録されている。このバッチジョブ管理レコード２２０は、後述するデータ登録処理が行なわれた場合に生成され、バッチジョブシミュレーションが実行されたときに更新される。バッチジョブ管理レコード２２０には、ジョブ識別子、実行遷移、実行開始可能時刻、後続ジョブ識別子、引継ファイル識別子、リソース消費、基準ジョブ実行時間、ジョブ終了時限、倍率、機械的待機時間に関するデータが記録される。更に、バッチジョブ管理レコード２２０には、バッチジョブのシミュレーション結果として、ジョブ開始時刻、ジョブ終了時刻、余裕時間、先行ジョブ終了時刻、引継ファイル受取時刻に関するデータが記録される。ここで、実行開始可能時刻、先行ジョブ終了時刻、引継ファイル受取時刻がジョブ開始条件として機能する。
【００３２】
ジョブ識別子データ領域には、バッチジョブを特定するための識別子に関するデータが記録される。
実行遷移データ領域には、バッチジョブの実行状態を特定するためのフラグが記録される。本実施形態では、「実行待ち」、「実行可」、「実行完了」のいずれかを示すフラグが記録される。「実行待ち」フラグは、バッチジョブを実行するための条件が整っていない状態を示すフラグである。「実行可」フラグは、先行ジョブが終了し、バッチジョブの実行に必要なファイルが生成されて、バッチジョブを実行できる状態を示すフラグである。「実行完了」フラグは、バッチジョブの実行を完了した状態を示すフラグである。
【００３３】
実行開始可能時刻データ領域には、バッチジョブの開始が許容される時刻に関するデータが記録される。この実行開始可能時刻以降の時刻において、先行ジョブの終了や引継ファイルが生成された場合に、バッチジョブは「実行可」状態になる。
後続ジョブ識別子データ領域には、このジョブの実行を完了した場合に引き続き行なわれる後続ジョブ（バッチジョブや転送ジョブ）を特定するための識別子に関するデータが記録される。この後続ジョブは、ジョブネットワークやファイル識別子により特定される。複数の後続ジョブがある場合には、すべての後続ジョブのジョブ識別子が記録される。
【００３４】
引継ファイル識別子データ領域には、このバッチジョブによって生成され、後続ジョブに引き継がれるファイルを特定するための識別子に関するデータが記録される。
リソース消費データ領域には、このバッチジョブを実行するために必要なリソース（ＣＰＵや記憶容量等）の使用量に関するデータが記録される。
【００３５】
基準ジョブ実行時間データ領域には、テストデータについて、このバッチジョブを実行した場合の実行開始から実行終了までの基準所要時間に関するデータが記録される。
ジョブ終了時限データ領域には、このバッチジョブを終了すべき制限時刻に関するデータが記録される。
【００３６】
倍率データ領域には、テストデータに対して本番相当のデータ量の倍率に関するデータが記録される。この倍率を用いることにより、基準ジョブ実行時間に基づき、本番のジョブ実行の所要時間を算出することができる。
機械的待機時間データ領域には、実際にジョブが開始されるまでの待機時間（例えば、データ記憶媒体等からデータのロードに必要な所要時間）に関するデータが記録される。
【００３７】
ジョブ開始時刻データ領域には、バッチジョブシミュレーションにおいて、このバッチジョブを開始した時刻に関するデータが記録される。
ジョブ終了時刻データ領域には、バッチジョブシミュレーションにおいて、このバッチジョブを終了した時刻に関するデータが記録される。
【００３８】
余裕時間データ領域には、ジョブ終了時刻からジョブ終了時限までの残り時間に関するデータが記録される。
先行ジョブ終了時刻データ領域には、このバッチジョブの先行ジョブのジョブ識別子、及び先行ジョブの終了時刻に関するデータが記録される。
【００３９】
引継ファイル受取時刻データ領域には、このバッチジョブにおいて使用するファイルを生成した先行ジョブのジョブ識別子、このファイルのファイル識別子、及びファイルが生成された時刻に関するデータが記録される。
【００４０】
転送ジョブ情報記憶部２３は転送ジョブ管理情報記憶手段として機能する。この転送ジョブ情報記憶部２３には、図２（ｂ）に示すように、転送ジョブのシミュレーションを行なうための転送ジョブ管理レコード２３０が記録されている。この転送ジョブ管理レコード２３０は、後述するデータ登録処理が行なわれた場合に生成され、転送ジョブシミュレーションが実行されたときに更新される。転送ジョブ管理レコード２３０には、ジョブ識別子、実行遷移、転送ファイル識別子、転送開始可能時刻、転送路区分、リソース消費、テストデータ量、基準転送時間、転送完了時限、倍率に関するデータが記録される。更に、転送ジョブ管理レコード２３０には、各ジョブのシミュレーション結果として、転送ファイル受取時刻、転送開始時刻、転送終了時刻、余裕時間に関するデータが記録される。ここで、実行開始可能時刻、転送ファイル受取時刻がジョブ開始条件として機能する。
【００４１】
ジョブ識別子データ領域には、転送ジョブを特定するための識別子に関するデータが記録される。
実行遷移データ領域には、転送ジョブの実行状態を特定するためのフラグが記録される。本実施形態では、「実行待ち」、「実行可」、「実行完了」のいずれかを示すフラグが記録される。「実行待ち」フラグは、転送ジョブを実行するための条件が整っていない状態を示すフラグである。「実行可」フラグは、転送ジョブの対象ファイルが生成されて、転送ジョブを実行できる状態を示すフラグである。「実行完了」フラグは、転送ジョブの実行を完了した状態を示すフラグである。
【００４２】
転送ファイル識別子データ領域には、この転送ジョブによって転送されるファイルを特定するための識別子に関するデータが記録される。
転送開始可能時刻データ領域には、転送ジョブの開始が許容される時刻に関するデータが記録される。この転送開始可能時刻以降において、転送対象ファイルが既に存在している場合又は生成された場合に転送ジョブは「実行可」状態になる。
【００４３】
転送路区分データ領域には、転送ジョブの優先度を特定するための区分に関するデータが記録される。本実施形態では、優先度として「優先」、「一般」の２種類の区分を用いる。「優先」及び「一般」ジョブが実行可能な場合には、「優先」ジョブを優先して転送シミュレーションを行なう。
【００４４】
リソース消費データ領域には、この転送ジョブを実行するために必要なリソース（ＣＰＵや記憶容量等）の使用量に関するデータが記録される。
テストデータ量データ領域には、この転送ジョブにおいてテストデータとして送信されるデータ量に関するデータが記録される。
【００４５】
基準転送時間データ領域には、テストデータについて、この転送ジョブを実行した場合の転送開始から転送終了までの基準所要時間に関するデータが記録される。この基準転送時間は、テストデータ量を基準転送量で除算した値と一致する。
【００４６】
転送完了時限データ領域には、この転送ジョブを終了すべき制限時刻に関するデータが記録される。
倍率データ領域には、テストデータに対して本番相当のデータ量の倍率に関するデータが記録される。この倍率を用いることにより、基準転送時間を修正して、本番のジョブ実行の所要時間を算出することができる。
【００４７】
転送ファイル受取時刻データ領域には、バッチジョブシミュレーションにおいて転送対象ファイルを生成した時刻（ファイルの生成時刻）に関するデータが記録される。
転送開始時刻データ領域には、転送ジョブシミュレーションにおいて転送を開始した時刻に関するデータが記録される。
【００４８】
転送終了時刻データ領域には、転送ジョブシミュレーションにおいて転送を終了して時刻に関するデータが記録される。
余裕時間データ領域には、転送終了時刻から転送完了時限までの残り時間に関するデータが記録される。
【００４９】
基本情報記憶部２４には、シミュレーションを行なう場合に用いる基本情報が記録されている。この基本情報は、シミュレーションの対象システムの環境情報やシミュレーションにおける制約条件が登録された場合に記録される。基本情報には、転送シミュレーションにおける時間ステップにおける初期値、転送路における多重限度、回線容量、基準転送量に関するデータが記録される。ここで、多重限度は、転送路において同時期に転送可能な多重度である。また、回線容量は、転送路における最大通信速度（各時間ステップにおける最大転送量）である。基準転送量は、各転送ジョブにおける転送に用いられる転送速度（各時間ステップにおいて実行される各転送ジョブの転送量）である。本実施形態では、各転送ジョブにおいて、同じ基準転送量を用いて転送を行なう場合を想定する。
【００５０】
次に、本実施形態のジョブシミュレーション処理について説明する。ここでは、データ登録処理（図３）、ジョブ実行シミュレーション処理（図４）、バッチジョブシミュレーション処理（図５）、後続ジョブの実行遷移判定処理（図６）、転送ジョブシミュレーション処理（図７）、調整支援処理（図８）の順に説明する。
【００５１】
（データ登録処理）
まず、図３を用いて、データ登録処理を説明する。このデータ登録処理は、新たなジョブが登録された場合や、ジョブの実行条件等が変更された場合に実行される。ここでは、まず、シミュレーション対象のジョブについて、ジョブ識別子を記録したバッチジョブ管理レコード２２０、転送ジョブ管理レコード２３０を、それぞれバッチジョブ情報記憶部２２、転送ジョブ情報記憶部２３に登録しておく。そして、管理者によってデータ登録指示が入力された場合に、以下の処理を実行する。
【００５２】
まず、シミュレーション装置２０の制御部２１は、ジョブネットワーク情報の解析処理を実行する（ステップＳ１−１）。具体的には、制御部２１のデータ登録手段２１１は、ジョブネットワーク情報記憶部１２から、ジョブネットワーク情報を取得する。そして、データ登録手段２１１は、ジョブネットワーク情報記憶部１２から取得したジョブネットワーク情報を解析して、各バッチジョブの後続ジョブのジョブ識別子を特定する。
【００５３】
次に、シミュレーション装置２０の制御部２１は、ＪＣＬ文の解析処理を実行する（ステップＳ１−２）。具体的には、制御部２１のデータ登録手段２１１は、ＪＣＬ記憶部１３からＪＣＬを取得する。そして、データ登録手段２１１は、ＪＣＬ記憶部１３から取得したＪＣＬ文を解析して、各ジョブの実行開始に必要なファイルのファイル識別子、出力されるファイル（後続ジョブ引継ファイル）のファイル識別子を特定する。そして、デー
タ登録手段２１１は、ジョブ実行により出力されるファイルのファイル識別子と、ジョブ実行開始に必要なファイルのファイル識別子とをマッチングすることにより、先行ジョブ及び後続ジョブのジョブ識別子を特定する。
【００５４】
次に、シミュレーション装置２０の制御部２１は、シミュレーション用データの生成処理を実行する（ステップＳ１−３）。具体的には、制御部２１のデータ登録手段２１１は、各バッチジョブのジョブ識別子が記録されたバッチジョブ管理レコード２２０に、ジョブネットワーク情報やＪＣＬ文の解析により特定された先行ジョブ及び後続ジョブ識別子、引継ファイル識別子を記録する。
【００５５】
次に、シミュレーション装置２０の制御部２１は、不足データの登録処理を実行する（ステップＳ１−４）。具体的には、制御部２１のデータ登録手段２１１は、バッチジョブ情報記憶部２２、転送ジョブ情報記憶部２３に記録されている各レコードを抽出して、表示部３２に出力する。この場合、担当者は、入力部３１を用いて各ジョブの実行条件（例えば、実行開始時刻、転送開始可能時刻や終了時限等）を追加登録する。
【００５６】
（ジョブ実行シミュレーション処理）
次に、図４を用いて、ジョブ実行シミュレーション処理を説明する。
まず、シミュレーション装置２０の制御部２１は、バッチジョブシミュレーション処理を実行する（ステップＳ２−１）。具体的には、制御部２１の計算管理手段２１２は、バッチジョブ計算手段２１３に対してバッチジョブシミュレーションの実行を指示する。この場合、後述するように、バッチジョブ計算手段２１３は、バッチジョブシミュレーション処理を行なう。
【００５７】
次に、シミュレーション装置２０の制御部２１は、転送ジョブシミュレーション処理を実行する（ステップＳ２−２）。具体的には、制御部２１の計算管理手段２１２は、転送ジョブ計算手段２１４に対して転送ジョブ実行シミュレーションの実行を指示する。この場合、後述するように、転送ジョブ計算手段２１４は、転送ジョブシミュレーション処理を行なう。
そして、各シミュレーションを終了した後で、評価対象ジョブを特定し、ジョブ毎に以下の処理を繰り返す。
【００５８】
ここでは、シミュレーション装置２０の制御部２１は、リソース使用量の登録処理を実行する（ステップＳ２−３）。具体的には、制御部２１の計算管理手段２１２は、各ジョブのジョブ開始時刻〜ジョブ終了時刻の各時間ステップに対して、リソース使用量管理テーブルの各時刻にリソース消費量を加算して記録する。
【００５９】
次に、シミュレーション装置２０の制御部２１は、バッチジョブ、転送ジョブの時限までの余裕時間の取得処理を実行する（ステップＳ２−４）。具体的には、制御部２１の計算管理手段２１２は、バッチジョブ管理レコード２２０、転送ジョブ管理レコード２３０に記録されているジョブ終了時刻、転送終了時刻を取得する。次に、計算管理手段２１２は、算出したジョブ終了時刻、転送終了時刻を、それぞれジョブ終了時限、転送完了時限から差し引いて、余裕時間を算出する。そして、計算管理手段２１２は、各レコード（２２０、２３０）に、算出した余裕時間を記録する。
【００６０】
次に、シミュレーション装置２０の制御部２１は、終了時限までの余裕時間は十分かどうかについての判定処理を実行する（ステップＳ２−５）。具体的には、制御部２１の計算管理手段２１２は、算出した余裕時間と基準時間とを比較する。余裕時間が基準時間より長い場合には、余裕時間は十分と判定する。
【００６１】
終了時限までの余裕時間が十分であると判定した場合（ステップＳ２−５において「ＹＥＳ」の場合）、シミュレーション装置２０の制御部２１は、このジョブについての繰り返し処理を終了する。
【００６２】
一方、終了時限までの余裕時間が十分でないと判定した場合（ステップＳ２−５において「ＮＯ」の場合）、シミュレーション装置２０の制御部２１は、先行ジョブの特定処理を実行する（ステップＳ２−６）。具体的には、制御部２１の計算管理手段２１２は、バッチジョブ情報記憶部２２から、評価対象ジョブのジョブ識別子がジョブ識別子データ領域に記録されているバッチジョブ管理レコード２２０をバッチジョブ情報記憶部２２から抽出する。そして、計算管理手段２１２は、このバッチジョブ管理レコード２２０において、先行ジョブ終了時刻データ領域又は引継ファイル受取時刻データ領域に記録されている先行ジョブのジョブ識別子を抽出する。
【００６３】
更に、計算管理手段２１２は、抽出したジョブ識別子がジョブ識別子データ領域に記録されたバッチジョブ管理レコード２２０において、先行ジョブ終了時刻データ領域又は引継ファイル受取時刻データ領域に記録されている先行ジョブのジョブ識別子を更に抽出する。このように、順次、先行ジョブ終了時刻データ領域又は引継ファイル受取時刻データ領域に記録されているジョブ識別子を抽出することにより、計算管理手段２１２は、評価対象ジョブのすべての先行ジョブを特定する。
【００６４】
次に、シミュレーション装置２０の制御部２１は、調整対象ジョブの特定処理を実行する（ステップＳ２−７）。具体的には、制御部２１の計算管理手段２１２は、特定した先行ジョブのジョブ識別子が記録されているバッチジョブ管理レコード２２０をバッチジョブ情報記憶部２２から抽出する。そして、計算管理手段２１２は、各レコードに記録されているジョブ終了時刻からジョブ開始時刻を差し引いて所要時間を算出する。そして、計算管理手段２１２は、算出した所要時間を比較して、所要時間が最も長いジョブを調整対象ジョブとして特定する。
【００６５】
次に、シミュレーション装置２０の制御部２１は、調整対象ジョブの出力処理を実行する（ステップＳ２−８）。具体的には、制御部２１の計算管理手段２１２は、調整対象ジョブのジョブ識別子を表示部３２に出力する。
以上の処理を、バッチジョブ情報記憶部２２、転送ジョブ情報記憶部２３に記録されているすべてのジョブについて繰り返す。
【００６６】
次に、シミュレーション装置２０の制御部２１は、リソース使用量の出力処理を実行する（ステップＳ２−９）。具体的には、制御部２１の計算管理手段２１２は、リソース使用量管理テーブルに記憶されたリソース使用量を取得し、横軸を時間軸とするグラフを生成して、表示部３２に出力する。
【００６７】
（バッチジョブシミュレーション処理）
次に、図５を用いて、バッチジョブシミュレーション処理を説明する。
最初に、シミュレーション装置２０の制御部２１は、実行開始可能時刻が記録されているバッチジョブ管理レコード２２０の実行遷移データ領域に「実行可」フラグを記録する。
更に、バッチジョブ計算手段２１３は、先行ジョブの終了や引継ファイルの受取を完了しているバッチジョブ管理レコード２２０の実行遷移データ領域に「実行可」フラグを記録する。
そして、シミュレーション装置２０の制御部２１は、実行可能ジョブの検索処理を実行する（ステップＳ３−１）。具体的には、制御部２１のバッチジョブ計算手段２１３は、バッチジョブ情報記憶部２２を用いて、実行遷移データ領域に「実行可」フラグが記録さ
れているバッチジョブ管理レコード２２０を検索する。
【００６８】
次に、シミュレーション装置２０の制御部２１は、特定した実行可能ジョブ（処理対象ジョブ）毎に、以下の処理を繰り返す。
まず、シミュレーション装置２０の制御部２１は、終了時刻の算出処理を実行する（ステップＳ３−２）。具体的には、制御部２１のバッチジョブ計算手段２１３は、バッチジョブ管理レコード２２０に記憶されているジョブ開始時刻、機械的待機時間、基準ジョブ実行時間、倍率を取得する。次に、バッチジョブ計算手段２１３は、基準ジョブ実行時間に倍率を乗算し、機械的待機時間を加算することにより、実行所要時間を算出する。次に、バッチジョブ計算手段２１３は、ジョブ開始時刻に実行所要時間を加算してジョブ終了時刻を算出する。そして、バッチジョブ計算手段２１３は、この処理対象ジョブについてのバッチジョブ管理レコード２２０にジョブ終了時刻を記録する。
【００６９】
次に、シミュレーション装置２０の制御部２１は、実行完了の登録処理を実行する（ステップＳ３−３）。具体的には、制御部２１のバッチジョブ計算手段２１３は、このバッチジョブ管理レコード２２０の実行遷移データ領域に「実行完了」フラグを記録する。
【００７０】
次に、シミュレーション装置２０の制御部２１は、後続ジョブの特定処理を実行する（ステップＳ３−４）。具体的には、制御部２１のバッチジョブ計算手段２１３は、このバッチジョブ管理レコード２２０の後続ジョブデータ領域に記録されているジョブ識別子に基づいて、後続ジョブのジョブ識別子を特定する。そして、バッチジョブ計算手段２１３は、後続ジョブのバッチジョブ管理レコード２２０の先行ジョブ終了時刻データ領域に、処理対象ジョブのジョブ終了時刻を記録する。
【００７１】
次に、シミュレーション装置２０の制御部２１は、引継ファイル情報の登録処理を実行する（ステップＳ３−５）。具体的には、制御部２１のバッチジョブ計算手段２１３は、引継ファイルデータ領域に記録されているファイル識別子を特定する。次に、バッチジョブ計算手段２１３は、このファイル識別子が引継ファイル受取時刻データ領域に記録されているバッチジョブ管理レコード２２０を特定する。そして、バッチジョブ計算手段２１３は、後続ジョブのバッチジョブ管理レコード２２０の引継ファイル受取時刻データ領域に、処理対象ジョブのジョブ終了時刻を記録する。
【００７２】
更に、バッチジョブ計算手段２１３は、ファイル識別子が引継ファイルデータ領域に記録されている転送ジョブ管理レコード２３０を特定する。そして、バッチジョブ計算手段２１３は、この転送ジョブ管理レコード２３０の引継ファイル受取時刻データ領域に、処理対象ジョブのジョブ終了時刻を記録する。
【００７３】
次に、シミュレーション装置２０の制御部２１は、特定した後続ジョブ毎に、後続ジョブの実行遷移判定処理を実行する（ステップＳ３−６）。この後続ジョブの実行遷移判定処理については、図６を用いて後述する。
【００７４】
次に、シミュレーション装置２０の制御部２１は、全バッチジョブについてシミュレーションを終了したかどうかについての判定処理を実行する（ステップＳ３−７）。具体的には、制御部２１のバッチジョブ計算手段２１３は、まだ、「実行完了」フラグが記録されていないバッチジョブ管理レコード２２０の有無によって判定する。このようなバッチジョブ管理レコード２２０が残っている場合には、全バッチジョブについて終了していないことになる。
【００７５】
全バッチジョブについて終了していない場合（ステップＳ３−７において「ＮＯ」の場合）、ステップＳ３−１からの処理を繰り返す。一方、すべてのバッチジョブ管理レコー
ド２２０に「実行完了」フラグが記録されており、全バッチジョブについて終了している場合（ステップＳ３−７において「ＹＥＳ」の場合）には、バッチジョブシミュレーションを終了する。
【００７６】
（後続ジョブの実行遷移判定処理）
次に、図６を用いて、後続ジョブの実行遷移判定処理を説明する。
まず、シミュレーション装置２０の制御部２１は、後続ジョブは実行済かどうかについての判定処理を実行する（ステップＳ４−１）。具体的には、制御部２１のバッチジョブ計算手段２１３は、後続ジョブのバッチジョブ管理レコード２２０に記録されている実行遷移データ領域に記録されたフラグを取得する。ここで、「実行完了」フラグが記録されている場合には、後続ジョブは実行済みである。
【００７７】
後続ジョブが実行済又は実行可の場合（ステップＳ４−１において「ＹＥＳ」の場合）、シミュレーション装置２０の制御部２１は、後続ジョブの開始時刻の取得処理を実行する（ステップＳ４−２）。具体的には、制御部２１のバッチジョブ計算手段２１３は、後続ジョブのバッチジョブ管理レコード２２０に記録されているジョブ開始時刻を取得する。
【００７８】
次に、シミュレーション装置２０の制御部２１は、後続ジョブのジョブ開始時刻が先行ジョブ終了時刻よりも後になっているかどうかについての判定処理を実行する（ステップＳ４−３）。具体的には、制御部２１のバッチジョブ計算手段２１３は、後続ジョブのバッチジョブ管理レコード２２０のジョブ開始時刻データ領域に記録された時刻と、先行ジョブの終了時刻とを比較する。本実施形態では、先行ジョブの終了時刻として、バッチジョブ管理レコード２２０の先行ジョブ終了時刻データ領域に記録された時刻を用いる。
【００７９】
後続ジョブのジョブ開始時刻が先行ジョブ終了時刻以降になっている場合（ステップＳ４−３において「ＹＥＳ」の場合）、シミュレーション装置２０の制御部２１は、実行遷移データ領域に記録された「実行完了」又は「実行可」フラグをそのままの状態にして、この後続ジョブについて実行遷移判定処理を終了する。
【００８０】
一方、後続ジョブのジョブ開始時刻が先行ジョブ終了時刻よりも早い場合（ステップＳ４−３において「ＮＯ」の場合）には、シミュレーション装置２０の制御部２１は、後続ジョブに対して「実行可」登録処理を実行する（ステップＳ４−４）。具体的には、制御部２１のバッチジョブ計算手段２１３は、後続ジョブのバッチジョブ管理レコード２２０の実行遷移データ領域の「実行完了」フラグを「実行可」フラグに変更する。「実行可」フラグが記録されている場合には、このフラグをそのまま維持する。更に、バッチジョブ計算手段２１３は、後続ジョブのジョブ開始時刻データ領域に先行ジョブの終了時刻を記録する。
【００８１】
また、後続ジョブが実行済かつ実行可でない場合（ステップＳ４−１において「ＮＯ」の場合）にも、シミュレーション装置２０の制御部２１は、後続ジョブに対して「実行可」登録処理を実行する（ステップＳ４−４）。
【００８２】
（転送ジョブシミュレーション処理）
次に、図７を用いて、転送ジョブシミュレーション処理を説明する。ここでは、転送路の多重度、開始時刻、データ倍率を考慮して、転送完了時刻を計算する。
【００８３】
まず、シミュレーション装置２０の制御部２１は、転送開始可能時刻によりソート処理を実行する（ステップＳ５−１）。具体的には、制御部２１の転送ジョブ計算手段２１４は、転送ジョブ管理レコード２３０に記録されている転送開始可能時刻が早い順番に並び
替える。
【００８４】
次に、シミュレーション装置２０の制御部２１は、最初の時間ステップの設定処理を実行する（ステップＳ５−２）。具体的には、制御部２１の転送ジョブ計算手段２１４は、シミュレーションに用いる時間ステップとして初期値（最初の時間ステップ）を時間ステップメモリに設定する。
【００８５】
次に、シミュレーション装置２０の制御部２１は、転送路の使用状況の取得処理を実行する（ステップＳ５−３）。具体的には、制御部２１の転送ジョブ計算手段２１４は、転送処理メモリに記録されている実行中の転送ジョブの数を計数して多重度を算出することにより、転送路の使用状況を取得する。
【００８６】
次に、シミュレーション装置２０の制御部２１は、転送路に余裕があるかどうかについての判定処理を実行する（ステップＳ５−４）。具体的には、制御部２１の転送ジョブ計算手段２１４は、転送処理メモリを用いて算出した多重度と、基本情報記憶部２４に記憶されている多重限度とを比較する。ここで、多重度が多重限度未満の場合には、転送路に余裕があると判定する。
【００８７】
転送路に余裕がある場合（ステップＳ５−４において「ＹＥＳ」の場合）、シミュレーション装置２０の制御部２１は、送信可能なファイルがあるかどうかについての判定処理を実行する（ステップＳ５−５）。具体的には、制御部２１の転送ジョブ計算手段２１４は、現在の時間ステップにおいて、転送ジョブ管理レコード２３０の実行遷移データ領域に「実行可」フラグが記録されている転送ジョブを特定する。なお、転送ファイル受取時刻データ領域に転送開始可能時刻よりも遅い時刻が記録されている転送ジョブ管理レコード２３０については、転送ファイル受取時刻が時間ステップに達したときに、「実行可」フラグを記録する。
【００８８】
送信可能なファイルがある場合（ステップＳ５−５において「ＹＥＳ」の場合）、シミュレーション装置２０の制御部２１は、優先ジョブがあるかどうかについての判定処理を実行する（ステップＳ５−６）。具体的には、制御部２１の転送ジョブ計算手段２１４は、「実行可」フラグが記録されている転送ジョブ管理レコード２３０の転送路区分を取得する。転送路区分データ領域に「優先」フラグが記録されている場合には優先ジョブがあると判定する。
【００８９】
優先ジョブがある場合（ステップＳ５−６において「ＹＥＳ」の場合）、シミュレーション装置２０の制御部２１は、優先ジョブの実行登録処理を実行する（ステップＳ５−７）。具体的には、制御部２１の転送ジョブ計算手段２１４は、優先ジョブの転送ジョブ管理レコード２３０のテストデータ量に倍率を乗算して総データ量を算出する。そして、転送ジョブ計算手段２１４は、転送処理メモリに、優先ジョブの転送ジョブ管理レコード２３０のジョブ識別子、総データ量を記録する。
【００９０】
優先ジョブがない場合（ステップＳ５−６において「ＮＯ」の場合）、シミュレーション装置２０の制御部２１は、一般ジョブの実行登録処理を実行する（ステップＳ５−８）。具体的には、制御部２１の転送ジョブ計算手段２１４は、一般ジョブの転送ジョブ管理レコード２３０のデータ量に倍率を乗算して総データ量を算出する。そして、転送ジョブ計算手段２１４は、転送処理メモリに、一般ジョブの転送ジョブ管理レコード２３０のジョブ識別子、総データ量を記録する。
【００９１】
そして、優先ジョブの実行登録処理（ステップＳ５−７）、一般ジョブの実行登録処理（ステップＳ５−８）の実行後、シミュレーション装置２０の制御部２１は、ステップＳ
５−４の処理に戻る。
【００９２】
一方、転送路に余裕がない場合（ステップＳ５−４において「ＮＯ」の場合）、送信可能なファイルがない場合（ステップＳ５−５において「ＮＯ」の場合）、シミュレーション装置２０の制御部２１は、リソース使用量の計算処理を実行する（ステップＳ５−９）。具体的には、制御部２１の転送ジョブ計算手段２１４は、転送処理メモリに記録されている転送ジョブについて、基本情報記憶部２４に記憶された基準転送量の総計値を算出する。次に、転送ジョブ計算手段２１４は、基本情報記憶部２４に記憶された回線容量を、基準転送量の総計値で除算することにより修正係数を算出する。そして、転送ジョブ計算手段２１４は、各転送ジョブの基準転送量に修正係数を乗算して、修正基準転送量を算出する。
【００９３】
次に、シミュレーション装置２０の制御部２１は、転送完了時刻の算出処理を実行する（ステップＳ５−１０）。具体的には、制御部２１の転送ジョブ計算手段２１４は、転送ジョブ管理レコード２３０に記憶された基準転送時間を取得する。次に、転送ジョブ計算手段２１４は、各ジョブの基準転送時間に〔転送処理メモリのデータ残量／総データ量〕を乗算して、残り所要時間を算出する。更に、転送ジョブ計算手段２１４は、各ジョブの残り所要時間を修正係数で除算することにより、各転送ジョブにおける転送完了までの修正残り所要時間を算出する。なお、複数のジョブを実行している場合には、転送ジョブ計算手段２１４は、修正残り所要時間が最も短い転送ジョブを特定する。更に、転送ジョブ計算手段２１４は、現在の時間ステップに修正残り所要時間を加算して、特定した転送ジョブ転送終了時刻を算出する。そして、転送ジョブ計算手段２１４は、特定した転送ジョブの転送ジョブ管理レコード２３０に「実行完了」フラグ、転送終了時刻を記録する。
【００９４】
次に、シミュレーション装置２０の制御部２１は、すべての転送ジョブを終了したかどうかについての判定処理を実行する（ステップＳ５−１１）。具体的には、制御部２１の転送ジョブ計算手段２１４は、「実行完了」フラグが記録されていない転送ジョブ管理レコード２３０の有無により判定する。すべての転送ジョブ管理レコード２３０に「実行完了」フラグが記録されている場合には、全ファイルの転送を終了したことになる。
【００９５】
すべての転送ジョブを終了した場合（ステップＳ５−１１において「ＹＥＳ」の場合）、シミュレーション装置２０の制御部２１は、転送ジョブシミュレーションを終了する。
一方、転送を完了していない転送ジョブが残っている場合（ステップＳ５−１１において「ＮＯ」の場合）、シミュレーション装置２０の制御部２１は、時間ステップの更新処理を実行する（ステップＳ５−１２）。具体的には、制御部２１の転送ジョブ計算手段２１４は、ステップＳ５−１０において算出した転送終了時刻まで、時間ステップを更新する。
【００９６】
この場合、回線容量に応じて、各時間ステップの転送量を算出する。まず、転送ジョブ計算手段２１４は、時間ステップの更新毎に、転送処理メモリに記録されているデータ残量から修正基準転送量を減算するとともに、時間ステップを進める。そして、シミュレーション装置２０の制御部２１は、ステップＳ５−３の処理から繰り返す。
【００９７】
（調整支援処理）
次に、図８を用いて、調整支援処理を説明する。本実施形態では、転送ジョブの完了時限までに時間的に余裕がない場合に、転送条件を変更して、再度、シミュレーションを行なう。具体的には、転送ジョブを分割することにより、所要時間の短縮化を試みる。そして、余裕時間が改善されない場合には、分割数を増やして再計算する。
【００９８】
まず、シミュレーション装置２０の制御部２１は、転送所要時間が長い調整対象ジョブ
があるかどうかについての判定処理を実行する（ステップＳ６−１）。具体的には、制御部２１の調整支援手段２１５は、各転送ジョブ管理レコード２３０の転送終了時刻から転送開始時刻を差し引いた転送所要時間と転送時間許容値とを比較する。そして、調整支援手段２１５は、転送所要時間が転送時間許容値よりも長い転送ジョブの有無を確認する。
【００９９】
転送時間許容値より転送所要時間が長い調整対象ジョブを検出できない場合（ステップＳ６−１において「ＮＯ」の場合）、シミュレーション装置２０の制御部２１は、調整支援処理を終了する。
【０１００】
一方、転送時間許容値より転送所要時間が長い調整対象ジョブを検出した場合（ステップＳ６−１において「ＹＥＳ」の場合）、シミュレーション装置２０の制御部２１は、調整対象ジョブは分割可能かどうかについての判定処理を実行する（ステップＳ６−２）。具体的には、制御部２１の調整支援手段２１５は、調整対象ジョブのジョブ識別子が分割可能ジョブテーブルに登録されているかどうかにより判定する。調整対象ジョブのジョブ識別子が分割可能ジョブテーブルに登録されていない場合には、調整対象ジョブを分割できないと判定する。
【０１０１】
調整対象ジョブを分割できないと判定した場合（ステップＳ６−２において「ＮＯ」の場合）、シミュレーション装置２０の制御部２１は、アラーム処理を実行する（ステップＳ６−３）。具体的には、制御部２１の調整支援手段２１５は、表示部３２にアラームを出力する。
【０１０２】
一方、調整対象ジョブのジョブ識別子が分割可能ジョブテーブルに登録されており、調整対象ジョブを分割できると判定した場合（ステップＳ６−２において「ＹＥＳ」の場合）、シミュレーション装置２０の制御部２１は、調整対象ジョブの分割処理を実行する（ステップＳ６−４）。具体的には、制御部２１の調整支援手段２１５は、分割数メモリに記録された値に「１」を加算して更新するとともに、この分割数により転送対象ジョブを分割する。
【０１０３】
そして、シミュレーション装置２０の制御部２１は、転送ジョブシミュレーション処理を実行する（ステップＳ６−５）。具体的には、制御部２１の調整支援手段２１５は、分割されたファイルを用いて、再度、転送ジョブシミュレーションを行なう。
【０１０４】
次に、シミュレーション装置２０の制御部２１は、転送所要時間が転送時間許容値以下かどうかについての判定処理を実行する（ステップＳ６−６）。具体的には、制御部２１の調整支援手段２１５は、再実行したシミュレーション結果に基づいて、転送所要時間が転送時間許容値以下になったかどうかを判定する。
【０１０５】
転送所要時間が転送時間許容値以下になった場合（ステップＳ６−６において「ＹＥＳ」の場合）、シミュレーション装置２０の制御部２１は、調整支援情報の出力処理を実行する（ステップＳ６−７）。具体的には、制御部２１の調整支援手段２１５は、表示部３２に調整支援情報を出力する。この調整支援情報には、調整対象の転送ジョブのジョブ識別子、分割数に関するメッセージを含める。
【０１０６】
一方、転送所要時間が転送時間許容値以下になっていない場合（ステップＳ６−６において「ＮＯ」の場合）、シミュレーション装置２０の制御部２１は、分割限界かどうかについての判定処理を実行する（ステップＳ６−８）。具体的には、制御部２１の調整支援手段２１５は、分割数が分割限度に到達した場合には分割限界と判定する。
【０１０７】
分割限界に達した場合（ステップＳ６−８において「ＹＥＳ」の場合）、シミュレーシ
ョン装置２０の制御部２１は、アラーム処理を実行する（ステップＳ６−３）。一方、分割限界に達していない場合（ステップＳ６−８において「ＮＯ」の場合）、シミュレーション装置２０の制御部２１は、ステップＳ６−２からの処理を繰り返す。
【０１０８】
以上、本実施形態によれば、以下に示す効果を得ることができる。
（１）上記実施形態では、シミュレーション装置２０の制御部２１は、バッチジョブシミュレーション処理（ステップＳ２−１）、転送ジョブシミュレーション処理（ステップＳ２−２）を実行する。ここで、終了時限までの余裕時間が十分でないと判定した場合（ステップＳ２−５において「ＮＯ」の場合）、制御部２１は、先行ジョブを特定し（ステップＳ２−６）、調整対象ジョブの特定処理を実行する（ステップＳ２−７）。これにより、ジョブ終了時刻に余裕がない場合には、先行ジョブを特定して注意喚起することができる。
【０１０９】
更に、評価対象ジョブが転送ジョブの場合には、制御部２１の計算管理手段２１２は、転送ジョブ管理レコード２３０に記録された転送ファイル識別子を取得し、ファイルを生成するバッチジョブを特定する。そして、計算管理手段２１２は、特定したバッチジョブのジョブ識別子が記録されたジョブネットワーク情報を、ジョブネットワーク情報記憶部１２から取得し、評価対象ジョブのすべての先行ジョブを特定する。転送ジョブの終了時刻に余裕がない場合には、引継ファイルを生成するバッチジョブのジョブネットワークを考慮して注意喚起することができる。例えば、障害発生時に、ジョブの開始時刻を意図的に変更し、この場合のジョブやファイルに対する影響を調査することができる。
【０１１０】
（２）上記実施形態では、シミュレーション装置２０の制御部２１は、実行可能ジョブを検索する（ステップＳ３−１）。そして、制御部２１は、実行可能ジョブについて、終了時刻の算出処理（ステップＳ３−２）、実行完了の登録処理（ステップＳ３−３）を実行する。次に、制御部２１は、後続ジョブの特定処理（ステップＳ３−４）、引継ファイル情報の登録処理（ステップＳ３−５）を実行する。そして、制御部２１は、特定した後続ジョブ毎に、後続ジョブの実行遷移判定処理を実行する（ステップＳ３−６）。ここでは、後続ジョブが実行済でない場合（ステップＳ４−１において「ＮＯ」の場合）にも、制御部２１は、後続ジョブに「実行可」登録処理を実行する（ステップＳ４−４）。これにより、ジョブの開始のために複数のジョブ開始条件が設定されている場合においても、一部のジョブ開始条件に基づいてジョブの実行シミュレーションを行なうため、簡単な構成により実行状況を計算することができる。
【０１１１】
更に、後続ジョブが実行済の場合（ステップＳ４−１において「ＹＥＳ」の場合）、制御部２１は、後続ジョブの開始時刻を取得する（ステップＳ４−２）。そして、後続ジョブのジョブ開始時刻が先行ジョブ終了時刻よりも早い場合（ステップＳ４−３において「ＮＯ」の場合）には、制御部２１は、後続ジョブに対して「実行可」登録処理を実行する（ステップＳ４−４）。これにより、ジョブ開始条件が整合していない場合には、「実行完了」状態から「実行可」状態に戻して、再度計算し直すことができる。
【０１１２】
（３）上記実施形態では、転送ジョブシミュレーション処理において、優先ジョブがある場合（ステップＳ５−６において「ＮＯ」の場合）、シミュレーション装置２０の制御部２１は、転送路に対して優先ジョブの実行登録処理を実行する（ステップＳ５−７）。これにより、転送されるファイルの優先度を考慮して、転送の順番を決めたシミュレーションを行なうことができる。
【０１１３】
（４）上記実施形態では、転送ジョブシミュレーション処理において、シミュレーション装置２０の制御部２１は、転送完了時刻の算出処理を実行する（ステップＳ５−１０）。ここでは、転送ジョブ計算手段２１４は、各転送ジョブの基準転送時間に〔転送処理メ
モリのデータ残量／総データ量〕を乗算して、残り所要時間を算出する。そして、転送ジョブ計算手段２１４は、各ジョブの残り所要時間において、回線容量を考慮して各転送ジョブにおける転送完了までの修正所要時間を算出する。これにより、転送路の多重度を考慮して、的確な所要時間を算出することができる。
【０１１４】
（５）上記実施形態では、調整支援処理において、転送時間許容値より転送所要時間が長い調整対象ジョブを検出した場合（ステップＳ６−１において「ＹＥＳ」の場合）、シミュレーション装置２０の制御部２１は、調整対象ジョブは分割可能かどうかについての判定処理を実行する（ステップＳ６−２）。そして、調整対象ジョブのジョブ識別子が分割可能ジョブテーブルに登録されており、調整対象ジョブを分割できると判定した場合（ステップＳ６−２において「ＹＥＳ」の場合）、制御部２１は、調整対象ジョブの分割処理を実行する（ステップＳ６−４）。転送所要時間が転送時間許容値以下になった場合（ステップＳ６−６において「ＹＥＳ」の場合）、制御部２１は、調整支援情報の出力処理を実行する（ステップＳ６−７）。これにより、管理者は、転送ジョブの実行方法を効率的に検討することができる。
【０１１５】
（６）上記実施形態では、シミュレーション装置２０の制御部２１は、リソース使用量の出力処理を実行する（ステップＳ２−９）。これにより、管理者はリソース使用量の時間的推移を把握することができる。
【０１１６】
なお、上記実施形態は、以下の態様に変更してもよい。
・  上記実施形態では、転送ジョブについて調整支援処理を実行する。調整支援処理の対象は、転送ジョブに限定されるものではなく、バッチジョブについて調整を行なうようにしてもよい。この場合には、例えば、余裕時間がないバッチジョブについて、実行開始可能時刻が実行開始の制限になっている場合には、この実行開始可能時刻を所定時間だけ前倒してシミュレーションを行なう。また、先行ジョブ終了時刻や引継ファイル受取時刻が実行開始の制限になっている場合には、先行ジョブ終了時刻や引継ファイル受取時刻を所定時間だけ前倒してシミュレーションを行なう。
【０１１７】
・  上記実施形態では、調整支援処理においては、転送ジョブの分割を行なって、再度シミュレーションを行なう。調整方法は、ジョブの分割に限定されるものではない。例えば、調整対象の転送ジョブの転送路区分が「一般」になっている場合には「優先」に変更した場合のシミュレーションを行なうようにしてもよい。
【０１１８】
・  上記実施形態では、多重限度に基づいて、同時期に実行できる転送ジョブを決定する。これに加えて、回線能力に応じて、実行する転送ジョブを決定するようにしてもよい。この場合には、基準転送量の総計が回線容量に到達した場合にジョブ実行を制限する。
【０１１９】
・  上記実施形態では、終了時限までの余裕時間が十分でないと判定した場合（ステップＳ２−５において「ＮＯ」の場合）、シミュレーション装置２０の制御部２１は、先行ジョブの特定処理を実行する（ステップＳ２−６）。この場合、制御部２１の計算管理手段２１２は、バッチジョブ情報記憶部２２に記憶されたバッチジョブ管理レコード２２０を用いて先行ジョブを特定する。先行ジョブの特定方法はこれに限定されるものではない。例えば、制御部２１の計算管理手段２１２は、ジョブ識別子が記録されたジョブネットワーク情報を、ジョブネットワーク情報記憶部１２から取得するようにしてもよい。
また、評価対象ジョブが転送ジョブの場合には、計算管理手段２１２が、転送ファイル識別子を用いて先行ジョブを特定するようにしてもよい。この場合には、計算管理手段２１２が、転送ジョブ管理レコード２３０に記録された転送ファイル識別子を取得することにより、転送ジョブによって転送されるファイルを特定する。そして、計算管理手段２１２は、この転送ファイル識別子が引継ファイルとして記録されたバッチジョブ管理レコー
ド２２０を検索することにより、ファイルを生成する先行ジョブ（バッチジョブ）を特定する。
【符号の説明】
【０１２０】
１２…ジョブネットワーク情報記憶部、１３…ＪＣＬ記憶部、２０…シミュレーション装置、２１…制御部、２１１…データ登録手段、２１２…計算管理手段、２１３…バッチジョブ計算手段、２１４…転送ジョブ計算手段、２１５…調整支援手段、２２…バッチジョブ情報記憶部、２３…転送ジョブ情報記憶部、２４…基本情報記憶部、３１…入力部、３２…表示部。
【図１】
0005298150.tif 000002
【図２】
0005298150.tif 000003
【図３】
0005298150.tif 000004
【図４】
0005298150.tif 000005
【図５】
0005298150.tif 000006
【図６】
0005298150.tif 000007
【図７】
0005298150.tif 000008
【図８】
0005298150.tif 000009