(57)【要約】【課題】多数のジョブがネット状に関連付けられ、かつそのうちの特定ジョブについて目標終了時刻が設定されている場合に、上記特定ジョブを目標終了時刻までに確実に終了させるようにすることを課題とする。【解決手段】各ジョブの処理件数に基づいて推定した処理時間と開始時刻とから各ジョブの終了時刻を推定する終了時刻推定手段と、最初に実行されるジョブから特定ジョブに至るネット上の複数のパスのうち、特定ジョブの開始時刻に影響を及ぼすクリティカルパスを判別するクリティカルパス判別手段と、上記推定手段で推定した特定ジョブの終了時刻が目標終了時刻よりも遅いときに、上記判別手段で判別したクリティカルパス上のジョブの処理の優先度を高める優先度変更手段とを備える。【選択図】          図１
2004295731.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数のジョブの終了が他の１又は複数のジョブの起動の条件となって多数のジョブがネット状に関連付けられ、かつそのうちの少なくとも１つのジョブについて目標終了時刻が設定されているジョブネットを処理対象とするバッチジョブ処理システムであって、各ジョブの終了時刻を推定する終了時刻推定手段と、最初に実行されるスタートジョブから目標終了時刻が設定された特定ジョブに至るネット上の複数のパスのうち、特定ジョブの開始時刻に影響を及ぼすクリティカルパスを判別するクリティカルパス判別手段と、上記推定手段で推定した特定ジョブの終了時刻が目標終了時刻よりも遅いときに、上記判別手段で判別したクリティカルパス上のジョブの処理の優先度を高める優先度変更手段とを有することを特徴とするバッチジョブ処理システム。
【請求項２】
優先度変更手段は、終了時刻推定手段で推定した特定ジョブの終了時刻が目標終了時刻よりも遅い場合に、その遅れの程度が大きいほどクリティカルパス上のジョブの処理の優先度をより高くすることを特徴とする請求項１に記載のバッチジョブ処理システム。
【請求項３】
各ジョブごとに処理件数と処理時間の実績を記録するジョブ実績記録手段が備えられていると共に、終了時刻推定手段は、各ジョブごとに、上記ジョブ実績記録手段に記録されている各ジョブの過去の実績に基づいて設定した処理件数と処理時間の関係式と、今回の処理件数とから推定処理時間を算出し、この推定処理時間と開始時刻とから終了時刻を推定することを特徴とする請求項１又は請求項２に記載のバッチジョブ処理システム。
【請求項４】
各ジョブで扱うファイルのレコード件数の実績を記録するファイル実績記録手段が備えられていると共に、終了時刻推定手段は、今回の各ジョブの処理件数を、上記ファイル実績記録手段に記録されている各ファイルのレコード件数の過去の実績と、スタートジョブに入力されるファイルのレコード件数とから推定することを特徴とする請求項３に記載のバッチジョブ処理システム。
【請求項５】
終了時刻推定手段は、各ジョブの終了ごとに、後続ジョブの終了時刻を推定し直し、クリティカルパス判別手段及び優先度変更手段は、各ジョブの終了ごとに、終了時刻推定手段で推定し直した終了時刻に基づいてクリティカルパス判別処理及び優先度変更処理を行うことを特徴とする請求項１から請求項４のいずれかに記載のバッチジョブ処理システム。
【請求項６】
１又は複数のジョブの終了が他の１又は複数のジョブの起動の条件となって多数のジョブがネット状に関連付けられ、かつそのうちの少なくとも１つのジョブについて目標終了時刻が設定されているジョブネットを処理対象とするバッチジョブ処理プログラムであって、コンピュータを、各ジョブの終了時刻を推定する終了時刻推定手段、最初に実行されるスタートジョブから目標終了時刻が設定された特定ジョブに至るネット上の複数のパスのうち、特定ジョブの開始時刻に影響を及ぼすクリティカルパスを判別するクリティカルパス判別手段、及び、上記推定手段で推定した特定ジョブの終了時刻が目標終了時刻よりも遅いときに、上記判別手段で判別したクリティカルパス上のジョブの処理の優先度を高める優先度変更手段として機能させることを特徴とするバッチジョブ処理プログラム。
【請求項７】
コンピュータを優先度変更手段として機能させるときは、終了時刻推定手段で推定した特定ジョブの終了時刻が目標終了時刻よりも遅い場合に、その遅れの程度が大きいほどクリティカルパス上のジョブの処理の優先度をより高くするように機能させることを特徴とする請求項６に記載のバッチジョブ処理プログラム。
【請求項８】
コンピュータを、各ジョブごとに処理件数と処理時間の実績を記録するジョブ実績記録手段として機能させると共に、終了時刻推定手段として機能させるときは、各ジョブごとに、上記ジョブ実績記録手段に記録されている各ジョブの過去の実績に基づいて設定した処理件数と処理時間の関係式と、今回の処理件数とから推定処理時間を算出し、この推定処理時間と開始時刻とから終了時刻を推定するように機能させることを特徴とする請求項６又は請求項７に記載のバッチジョブ処理プログラム。
【請求項９】
コンピュータを、各ジョブで扱うファイルのレコード件数の実績を記録するファイル実績記録手段として機能させると共に、終了時刻推定手段として機能させるときは、今回の各ジョブの処理件数を、上記ファイル実績記録手段に記録されている各ファイルのレコード件数の過去の実績と、スタートジョブに入力されるファイルのレコード件数とから推定するように機能させることを特徴とする請求項８に記載のバッチジョブ処理プログラム。
【請求項１０】
コンピュータを終了時刻推定手段として機能させるときは、各ジョブの終了ごとに後続ジョブの終了時刻を推定し直し、クリティカルパス判別手段及び優先度変更手段として機能させるときは、各ジョブの終了ごとに、終了時刻推定手段で推定し直した終了時刻に基づいてクリティカルパス判別処理及び優先度変更処理を行うように機能させることを特徴とする請求項６から請求項９のいずれかに記載のバッチジョブ処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネット状に関連付けられた多数のバッチジョブの処理システム及びバッチジョブ処理プログラムに関し、コンピュータを用いたデータ処理技術の分野に関する。
【０００２】
【従来の技術】
コンピュータを用いたデータ処理システムにおいては、時間帯を分けてオンライン処理とバッチ処理とを実行することがあり、例えば、午前７時〜午後７時をオンライン時間帯、午後７時〜翌日午前７時をバッチ時間帯とする場合がある。この場合、オンライン処理の開始のために、最後のバッチジョブを午前７時までに完了する必要があり、また、バッチ処理によって作成したファイルを他の部署に伝送して業務に使用する場合等に、その業務の開始のために当該バッチジョブを設定された時刻までに終了しなければならない場合がある。
【０００３】
このようにバッチジョブの終了時刻が規制される場合に、確実にその時刻までに完了するためのものとして、特許文献１に開示された発明が存在する。
【０００４】
この発明は、終了時刻が設定されているジョブについては、指定された時間内に実行を開始する権利を付与した整理券情報を対応付けてバッチ処理システムにキューイングすると共に、バッチの実行を制御する制御手段は、この整理券情報が対応付けられたジョブについては、その情報に示された時間内に実行を優先的に開始するようにしたものであり、これによれば、終了時刻が設定されたジョブが通常のジョブより優先的に処理され、設定された時刻までに完了することが期待できる。
【０００５】
【特許文献１】特開平１１−２４７７９号公報
【発明が解決しようとする課題】
しかし、上記特許文献１に記載されたシステムは、終了時刻が設定されているジョブと通常のジョブとの間に関連性がない場合に、整理券情報を付与して投入したジョブを、必要に応じて通常のジョブより優先させて実行するというものであり、ネット状に関連付けられた多数のジョブの処理システムにおいて、効果的に実施されるものではない。
【０００６】
つまり、多数のジョブがネット状に関連付けられ、先行する１つ又は複数のジョブの終了が後続の１つ又は複数のジョブの起動条件となっているいわゆるジョブネットにおいては、終了時刻が設定されている特定のジョブについて整理券情報を付与しても、先行ジョブの終了が１つでも遅延すれば、特定ジョブも設定時刻に終了しないことになる。
【０００７】
また、これを回避するために、特定ジョブとそのジョブに先行する全てのジョブに整理券情報を付与すると、特にネット上の複数の経路を経て当該特定ジョブに至る場合に、各経路上の全てのジョブについて整理券情報を付与しなければならないことになって、優先されるジョブの数が著しく増大し、その結果、優先の効果が低下して特定ジョブの設定時刻までの終了が困難となると共に、通常のジョブの処理が必要以上に犠牲にされて、システム全体としての処理能力が低下することになる。
【０００８】
さらに、上記整理券情報は終了時刻が設定されているジョブについては事前に付与されるので、各ジョブの処理が順調に進み、終了時刻に余裕が生じている場合にも特定ジョブ或いはそれに先行するジョブが優先されることになって、その他のジョブの処理が徒に遅延されるおそれがある。
【０００９】
そこで、本発明は、多数のジョブがネット状に関連付けられており、かつそのうちの少なくとも１つの特定ジョブについて終了時刻が設定されているジョブネットにおいて、上記特定ジョブを設定時刻までに終了させるために優先させるジョブを必要最小限にとどめることにより、当該特定ジョブを効果的に優先させて設定時刻までに確実に終了させると共に、通常のジョブを犠牲にすることを極力回避して、システム全体としての処理を促進し、また、そのための制御をバッチ処理動作中の各時点の状況に応じて動的に対応しながら実行することにより、上記目的をより効果的に達成することを課題とする。
【００１０】
【課題を解決するための手段】
上記課題を解決するため、本発明は次のように構成したことを特徴とする。
【００１１】
まず、本願の請求項１に記載の発明は、１又は複数のジョブの終了が他の１又は複数のジョブの起動の条件となって多数のジョブがネット状に関連付けられ、かつそのうちの少なくとも１つのジョブについて目標終了時刻が設定されているジョブネットを処理対象とするバッチジョブ処理システムに関するものであって、各ジョブの終了時刻を推定する終了時刻推定手段と、最初に実行されるスタートジョブから目標終了時刻が設定された特定ジョブに至るネット上の複数のパスのうち、特定ジョブの開始時刻に影響を及ぼすクリティカルパスを判別するクリティカルパス判別手段と、上記推定手段で推定した特定ジョブの終了時刻が目標終了時刻よりも遅いときに、上記判別手段で判別したクリティカルパス上のジョブの処理の優先度を高める優先度変更手段とを有することを特徴とする。
【００１２】
また、請求項２に記載の発明は、上記請求項１に記載のシステムにおいて、優先度変更手段は、終了時刻推定手段で推定した特定ジョブの終了時刻が目標終了時刻よりも遅い場合に、その遅れの程度が大きいほどクリティカルパス上のジョブの処理の優先度をより高くすることを特徴とする。
【００１３】
これらの発明によれば、まず、目標終了時刻が設定されている特定ジョブについて、終了時刻推定手段によって推定した終了時刻が目標終了時刻よりも早いときは、優先度変更手段による優先度の変更は行われないから、不必要な優先度の変更による通常のジョブの処理の遅延や、これに伴うシステム全体の処理能力の低下が回避されることになる。
【００１４】
一方、上記特定ジョブの推定終了時刻が目標終了時刻よりも遅いときは、優先度変更手段により、クリティカルパス上のジョブが、スタートジョブから特定ジョブの直前のジョブまで或いは該特定ジョブを含めて、一斉に優先度が高められると共に、これ以外のジョブについては優先度を高めることがないから、特定ジョブの直前のジョブの終了時刻、即ち特定ジョブの開始時刻が効果的に早められることになり、その終了時刻が目標終了時刻内に収まる確率が向上することになる。
【００１５】
その場合に、請求項２に記載の発明によれば、推定終了時刻が目標終了時刻よりも遅い場合に、その遅れの程度に応じてクリティカルパス上のジョブの優先度を高める度合いが大きくされるから、推定終了時刻の遅れが小さいときに必要以上に優先度を高めることが回避されると共に、推定終了時刻の遅れが大きいときには優先度が十分高められ、特定ジョブの終了が目標終了時刻より遅延することが一層効果的に防止されることになる。
【００１６】
また、請求項３に記載の発明は、上記請求項１又は請求項２に記載のシステムにおいて、各ジョブごとに処理件数と処理時間の実績を記録するジョブ実績記録手段を備えると共に、終了時刻推定手段は、各ジョブごとに、上記ジョブ実績記録手段に記録されている各ジョブの過去の実績に基づいて設定した処理件数と処理時間の関係式と、今回の処理件数とから推定処理時間を算出し、この推定処理時間と開始時刻とから終了時刻を推定することを特徴とする。
【００１７】
また、請求項４に記載の発明は、上記請求項３に記載のシステムにおいて、各ジョブで扱うファイルのレコード件数の実績を記録するファイル実績記録手段を備えると共に、終了時刻推定手段は、今回の各ジョブの処理件数を、上記ファイル実績記録手段に記録されている各ファイルのレコード件数の過去の実績と、スタートジョブに入力されるファイルのレコード件数とから推定することを特徴とする。
【００１８】
これらの発明によれば、各ジョブの終了時刻が過去の実績に基づく統計処理により、精度よく推定されることになる。
【００１９】
特に、請求項４に記載の発明によれば、終了時刻を推定するための各ジョブの今回の処理件数が、バッチ処理業務の開始前に予め計算しておかなくても、スタートジョブに入力されるファイルの既知のレコード件数と過去の実績とから直ちに求めれることになる。したがって、特にジョブの実行によって出力ファイルに生成されるレコード件数が予測困難な場合にも、各ジョブの処理件数を的確に求めることができ、終了時刻の推定精度を容易にかつ効果的に高めることが可能となる。
【００２０】
そして、請求項５に記載の発明は、上記請求項１から請求項４のいずれかに記載のシステムにおいて、終了時刻推定手段は、各ジョブの終了ごとに、後続ジョブの終了時刻を推定し直し、クリティカルパス判別手段及び優先度変更手段は、各ジョブの終了ごとに、終了時刻推定手段で推定し直した終了時刻に基づいてクリティカルパス判別処理及び優先度変更処理を行うことを特徴とする。
【００２１】
この発明によれば、クリティカルパス上のジョブの抽出ないし優先度の変更が、バッチ処理作業の開始時だけでなく、作業中における各ジョブの終了時ごとに、その時点の最新の推定終了時刻に基づいて行われることになる。
【００２２】
したがって、例えば、当初クリティカルパスと認定されたパス上のジョブの処理が予想以上に進捗した場合、各ジョブの終了時刻の推定のし直しにより、特定ジョブの推定終了時刻の目標終了時刻に対する遅れが軽減又は解消され、或いはクリティカルパスの認定が他のパスに変更されることになり、この場合、不必要な優先が回避されることになる。また、これとは逆に、ジョブの処理が予想以上に遅延した場合には、特定ジョブの推定終了時刻の目標終了時刻に対する遅れが著しくなるので、クリティカルパス上のジョブの優先度がさらに高められることになり、或いは、当初クリティカルパスと認定されたパス以外のパスが新たにクリティカルパスと認定されて、そのパス上のジョブの優先度が高められることになる。
【００２３】
このように、作業の進捗に応じて、優先度の設定、変更が行われることになるので、不必要に優先度を高めることなく、しかも必要な場合には迅速かつ十分に優先度が高められて、特定ジョブの遅延が一層効果的に防止されることになる。
【００２４】
一方、請求項６に記載の発明は、１又は複数のジョブの終了が他の１又は複数のジョブの起動の条件となって多数のジョブがネット状に関連付けられ、かつそのうちの少なくとも１つのジョブについて目標終了時刻が設定されているジョブネットを処理対象とするバッチジョブ処理プログラムに関するものであって、コンピュータを、各ジョブの終了時刻を推定する終了時刻推定手段、最初に実行されるスタートジョブから目標終了時刻が設定された特定ジョブに至るネット上の複数のパスのうち、特定ジョブの開始時刻に影響を及ぼすクリティカルパスを判別するクリティカルパス判別手段、及び、上記推定手段で推定した特定ジョブの終了時刻が目標終了時刻よりも遅いときに、上記判別手段で判別したクリティカルパス上のジョブの処理の優先度を高める優先度変更手段として機能させることを特徴とする。
【００２５】
また、請求項７に記載の発明は、上記請求項６に記載のプログラムにおいて、コンピュータを優先度変更手段として機能させるときは、終了時刻推定手段で推定した特定ジョブの終了時刻が目標終了時刻よりも遅い場合に、その遅れの程度が大きいほどクリティカルパス上のジョブの処理の優先度をより高くするように機能させることを特徴とする。
【００２６】
また、請求項８に記載の発明は、上記請求項６又は請求項７に記載のプログラムにおいて、コンピュータを、各ジョブごとに処理件数と処理時間の実績を記録するジョブ実績記録手段として機能させると共に、終了時刻推定手段として機能させるときは、各ジョブごとに、上記ジョブ実績記録手段に記録されている各ジョブの過去の実績に基づいて設定した処理件数と処理時間の関係式と、今回の処理件数とから推定処理時間を算出し、この推定処理時間と開始時刻とから終了時刻を推定するように機能させることを特徴とする。
【００２７】
また、請求項９に記載の発明は、上記請求項８に記載のシステムにおいて、コンピュータを、各ジョブで扱うファイルのレコード件数の実績を記録するファイル実績記録手段として機能させると共に、終了時刻推定手段として機能させるときは、今回の各ジョブの処理件数を、上記ファイル実績記録手段に記録されている各ファイルのレコード件数の過去の実績と、スタートジョブに入力されるファイルのレコード件数とから推定するように機能させることを特徴とする。
【００２８】
そして、請求項１０に記載の発明は、上記請求項６から請求項９のいずれかに記載のプログラムにおいて、コンピュータを終了時刻推定手段として機能させるときは、各ジョブの終了ごとに後続ジョブの終了時刻を推定し直し、クリティカルパス判別手段及び優先度変更手段として機能させるときは、各ジョブの終了ごとに、終了時刻推定手段で推定し直した終了時刻に基づいてクリティカルパス判別処理及び優先度変更処理を行うように機能させることを特徴とする。
【００２９】
上記の請求項６から請求項１０に記載のプログラムに関する発明は、請求項１から請求項５に記載のシステムに関する発明にそれぞれ対応し、したがって、これらのプログラムを用いてコンピュータを稼動させることにより、請求項１から請求項５に記載のシステムに関する発明と同様の作用が得られる。
【００３０】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。なお、以下の実施の形態は本発明のバッチジョブ管理システムに係るものであると同時に、このシステムで用いられるプログラムは、本発明のバッチジョブ管理プログラムの実施の形態を構成するものである。
【００３１】
図１は本実施の形態に係るバッチジョブ管理システムの全体の構成を示すもので、このシステムは、コンピュータ１と、該コンピュータ１の記憶装置に記録された複数のプログラム及び複数のテーブルとで構成されている。
【００３２】
上記プログラムとしては、まず、バッチ処理用の基本プログラムとして、バッチジョブの起動順序や起動時刻を管理するバッチ管理プログラムＰ１と、該プログラムＰ１の管理の下でバッチジョブを実行するジョブ実行プログラムＰ２とが備えられている。
【００３３】
また、目標終了時刻が設定されたジョブ（以下、「特定ジョブ」という）についての終了時刻管理用プログラムとしては、事前に目標終了時刻を設定する目標終了時刻設定プログラムＰ３と、終了時刻管理用の統計データを作成する日次処理プログラムＰ４及び月次処理プログラムＰ５と、バッチ処理の実行開始時に各ジョブの終了時刻を予め推定する終了時刻推定プログラムＰ６と、バッチ処理の進捗に併せて各ジョブの終了時刻の推定を更新する終了時刻更新プログラムＰ７と、これらのプログラムＰ６、Ｐ７でサブルーチンとして用いられる処理時間算出プログラムＰ８と、同じくサブルーチンとして用いられるプログラムであって、終了時刻の推定結果に基づき、上記特定ジョブの終了時刻に影響を及ぼすクリティカルパス上のジョブ（以下、「クリティカルジョブ」という）がどのような状況にあるかを判定するクリティカルジョブ判定プログラムＰ９とが備えられている。
【００３４】
そして、このクリティカルジョブの状況に応じて、上記ジョブ実行プログラムＰ２が各ジョブの処理の優先度を設定し、上記特定ジョブが目標終了時刻までに終了するように動作する。
【００３５】
また、これらのプログラムＰ１〜Ｐ９によるバッチ処理の制御や管理に用いられるテーブルとしては、まず、基本制御用として、各ジョブの処理の優先度を予め設定、記録した優先度管理テーブルＴ１が備えられており、また、上記特定ジョブの終了時刻管理用のマスターとして、その目標終了時刻や該時刻に対する遅延度合いを管理する目標時刻管理テーブルＴ２と、各ジョブの開始条件等を管理するジョブ開始管理テーブルＴ３と、処理対象ジョブネットの構成を管理するジョブ・ファイル関連テーブルＴ４とが備えられている。
【００３６】
また、上記特定ジョブの終了時刻管理用の各種データを記録するものとして、毎日の各ファイルのレコード件数の実績を記録するファイル実績テーブルＴ５と、このレコード件数の１月間での平均を記録するファイル平均実績テーブルＴ６と、毎日のジョブの処理実績を記録するジョブ実績テーブルＴ７と、このジョブ処理実績の１月間での平均を記録するジョブ平均実績テーブルＴ８とが備えられている。
【００３７】
さらに、バッチ処理実行中に更新、参照されるデータの記録用として、実行開始時に推定され、実行中にその推定値が更新される各ファイルのレコード件数を記録するファイル実行履歴テーブルＴ９と、処理実行開始時に推定した各ジョブの終了時刻等と処理実行中に更新された各ジョブの終了時刻等を記録するジョブ実行履歴テーブルＴ１０と、実行開始時に推定され、実行中にその推定内容が更新されるクリティカルジョブの状況を記録するクリティカルジョブ管理テーブルＴ１１とが備えられている。
【００３８】
ここで、この実施の形態の処理対象となっているジョブネットの腰部の構成について説明すると、図２に示すように、このジョブネットは、ＦＩＬＥ−０１を処理の中心的な対象である基準ファイルとし、このＦＩＬＥ−０１とＦＩＬＥ−０２とがバッチ処理の開始時に最初に実行されるスタートジョブとしてのＪＯＢ−０１に入力され、このＪＯＢ−０１によりＦＩＬＥ−０３が出力される。
【００３９】
以下、ＪＯＢ−０２は、上記ＦＩＬＥ−０３を入力して、ＦＩＬＥ−０４、０５、０６、０７、０８を出力し、ＪＯＢ−０３は、上記ＦＩＬＥ−０１、０３、０４、０５を入力して、ＦＩＬＥ−０９を出力し、ＪＯＢ−０４は、上記ＦＩＬＥ−０６を入力して、ＦＩＬＥ−１０、１１を出力し、ＪＯＢ−０５は、上記ＦＩＬＥ−０７を入力して、ＦＩＬＥ−１２を出力し、ＪＯＢ−０６は、上記ＦＩＬＥ−０８を入力して、ＦＩＬＥ−１３を出力し、ＪＯＢ−０７は、上記ＦＩＬＥ−０９を入力して、ＦＩＬＥ−１４を出力し、ＪＯＢ−０８は、上記ＦＩＬＥ−０６、１０、１１を入力して、ＦＩＬＥ−１５を出力し、ＪＯＢ−０９は、上記ＦＩＬＥ−１２を入力して、ＦＩＬＥ−１６、１７を出力し、ＪＯＢ−１０は、上記ＦＩＬＥ−１３を入力して、帳票を出力し、ＪＯＢ−１１は、上記ＦＩＬＥ−１５、１６、１７を入力して、ＦＩＬＥ−１８を出力するようになっている。
【００４０】
また、図１に示す上記各テーブルＴ１〜Ｔ１１の構成を説明すると、まず優先度管理テーブルＴ１は、図３に示すように、各ジョブについて、その識別ＩＤをキーとして、優先度を示す記号Ａ（優先度：普通）、Ｂ（同：やや高）、Ｃ（同：高）を記録するようになっている。
【００４１】
また、目標終了時刻管理テーブルＴ２は、図４に示すように、目標終了時刻が設定されているジョブについて、その識別ＩＤをキーとして、設定された目標終了時刻、即ちその時刻が経過したときに目標時刻より遅延する恐れが生じる時刻（以下、「遅延注意時刻」という）と、さらに遅延の程度が危険状態となる時刻（以下、「遅延危険時刻」という）とを記録するようになっている。
【００４２】
また、ジョブ開始管理テーブルＴ３は、図５に示すように、各ジョブについて、その識別ＩＤをキーとして、そのジョブが起動するために終了したことが条件となるジョブ、つまり図２に示すジョブネットにおいて、当該ジョブの入力ファイルを出力する直上位のジョブ（以下、「起動条件ジョブ」という）と、各ジョブの終了時刻推定のために一部のジョブに設定された設定開始時刻とが記録されるようになっている。
【００４３】
ここで、上記設定開始時刻は、例えば当該システム外から伝送等でファイルを入手する場合に、その入手期限となる時刻等であり、各ジョブの終了時刻推定時には、その時刻に当該ジョブが開始するものとして推定されるが、例えば伝送ファイルをそれより早く入手した場合等は、当該ジョブの開始時刻は設定開始時刻より前の時刻となる。
【００４４】
また、ジョブ・ファイル関連テーブルＴ４は、図６に示すように、図２に示すジョブネットの構成を記録するもので、各ジョブについて、その識別ＩＤをキーとして、入力ファイルと出力ファイルとが記録されている。なお、このテーブルＴ４は、各ファイルについて、その識別ＩＤをキーとして、そのファイルが入力されるジョブと出力されるジョブとを記録するように構成してもよい。
【００４５】
また、各種データ記録用としてのファイル実績テーブルＴ５は、図７に示すように、毎日のバッチ処理が終了したきに、各ファイルごとに処理したレコード件数の実績を記録するようになっている。
【００４６】
また、ファイル平均実績テーブルＴ６は、図８に示すように、上記ファイル実績テーブルＴ５に記録されている毎日のレコード件数の実績の１月間での平均を記録するようになっている。
【００４７】
また、ジョブ実績テーブルＴ７は、図９に示すように、毎日のバッチ処理が終了したきに、各ジョブごとに処理した件数とその処理時間の実績を記録するようになっている。ここで、ジョブの処理件数とは、入力ファイルと出力ファイルのレコード件数の総和をいう。
【００４８】
さらに、ジョブ平均実績テーブルＴ８は、図１０に示すように、各ジョブごとに、上記ジョブ実績テーブルＴ７に記録されている処理件数及び処理時間の実績の１月間での平均と、毎日の処理件数と処理時間との関係から統計的に求められる処理件数に対する処理時間の変化率とを記録するようになっている。
【００４９】
ここで、上記処理時間変化率は、図１１に示すように、毎日の処理件数と処理時間とをＸ、Ｙ座標とする点をＸＹ平面上にプロットし、これらの点を例えば最小２乗法で直線化したときの勾配を示し、この勾配をａ、上記平均処理件数をＸ０、平均処理時間をＹ０とすれば、当該ジョブの処理件数Ｘと処理時間Ｙとの関係は、次式
Ｙ＝ａ（Ｘ−Ｘ０）＋Ｙ０
で表される直線によって示されることになる。
【００５０】
一方、バッチ処理中にデータが更新、参照されるテーブルのうちのファイル実行履歴テーブルＴ９は、図１２に示すように、ファイル名をキーとして、各ファイルのレコード件数を記録するようになっている。その場合に、ＦＩＬＥ−０１とＦＩＬＥ−０２は、今回のバッチ処理に際して外部から入力されるので、そのレコード件数は既知であるが、ＦＩＬＥ−０３以下については、基準ファイルであるＦＩＬＥ−０１の今回のレコード件数と、図８のファイル平均実績テーブルＴ６に記録されている各ファイルの平均レコード件数とから算出して記録するようになっている。そして、バッチ処理中における各ジョブの終了時に、件数が確定したファイルについては、レコード件数を実績値に更新するようになっている。
【００５１】
また、ジョブ実行履歴テーブルＴ１０も、バッチ処理中にデータが更新、参照されるテーブルであって、図１３に示すように、各ジョブの識別ＩＤをキーとして、各ジョブの処理件数、処理時間、開始時刻及び終了時刻の推定値と実績値とを記録するようになっている。このうち、推定値はバッチ処理開始時に一斉に記録され、実績値は、各ジョブの終了時に、終了したジョブの推定値を実績値に書き換えると共に、その書き換えに伴って後続ジョブの値を計算し直して記録するようになっている。
【００５２】
さらに、クリティカルジョブ管理テーブルＴ１１は、図１４に示すように、クリティカルパス上のジョブ、即ちその終了時刻が特定ジョブの開始時刻に影響を及ぼすジョブであると判定されたジョブについて、特定ジョブが目標終了時刻までに終了することに関し、どのような状況にあるかを示すステータスを記録するようになっている。
【００５３】
次に、上記各プログラムの動作を示すフローチャートを参照して、本実施の形態に係るシステムの具体的動作を説明する。
【００５４】
図１５に示すフローチャートは、図１の終了時刻推定プログラムＰ６の動作を示すもので、このプログラムＰ６は当該バッチ処理の開始時に実行され、次のように動作する。
【００５５】
まず、ステップＳ１で、図５のジョブ開始管理テーブルＴ３から、スタートジョブ、即ちＪＯＢ−０１の後続ジョブを取得する。この例の場合、ＪＯＢ−０２以下、ＪＯＢ−１１まで、図２に示す全てのジョブはＪＯＢ−０１の終了が起動の条件となる後続ジョブであり、したがって、このステップＳ１で、ＪＯＢ−０２〜ＪＯＢ−１１が取得されることになる。
【００５６】
次に、ステップＳ２で、図６のジョブ・ファイル関連テーブルＴ４から、上記スタートジョブ及び後続ジョブの入出力ファイルを取得する。即ち、ＪＯＢ−０１の入力ファイルはＦＩＬＥ−０１、０２で、出力ファイルはＦＩＬＥ−０３であり、ＪＯＢ−０２の入力ファイルはＦＩＬＥ−０３で、出力ファイルはＦＩＬＥ−０４〜０８である、といった情報を取得する。
【００５７】
次に、ステップＳ３で、スタートジョブに入力される基準ファイルの既知のレコード件数と、図８のファイル平均実績テーブルＴ６に記録されている各ファイルの平均レコード件数とから、今回の処理時における各ファイルのレコード件数を推定する。
【００５８】
つまり、スタートジョブに入力されるファイル（ＦＩＬＥ−０１、ＦＩＬＥ−０２）以外については、実際にジョブを実行するまではレコード件数が不明であるので、処理の開始前に、先月の平均実績データと今回の基準ファイルのレコード件数とから、各ファイルのレコード件数を推定するのであり、図に示す例の場合、ＦＩＬＥ−０１を基準ファイルとして、先月のその平均レコード件数は９００件（図８参照）、今回のレコード件数は９５０件（図１２参照）であるから、ＦＩＬＥ−０３以下の各ファイルのレコードの推定件数は、図８の平均レコード件数に、９５０／９００を掛けた値となる。
【００５９】
そして、このようにして得られたＦＩＬＥ−０３以下の各ファイルの推定レコード件数と、ＦＩＬＥ−０１、ＦＩＬＥ−０２の既知のレコード件数とを図１２のファイル実行履歴テーブルＴ９に記録する。なお、その記録結果は、図１２（Ａ）に示すようになる。
【００６０】
次に、フローチャートのステップＳ４で、上記のようにして求めた各ファイルのレコード件数と、ステップＳ２で取得した各ジョブの入出力ファイルとから、各ジョブの推定処理件数、即ち各ジョブの入力ファイルのレコード件数と出力ファイルのレコード件数との和を算出する。
【００６１】
この計算は、例えばＪＯＢ−０１の場合、入力ファイルはＦＩＬＥ−０１とＦＩＬＥ−０２であり、出力ファイルはＦＩＬＥ−０３であるから、図１２からこれらの３つのファイルのレコード件数「９５０」、「１２０」、「２１１．１」を取得する。そして、これらの和としての推定処理件数「１２８１」を得、以下同様にして、各ジョブの推定処理件数を算出する。
【００６２】
また、ステップＳ５で、上記のようにして得られた各ジョブの推定処理件数から、各ジョブの推定処理時間を算出する。この処理は、当該終了時刻推定プログラムＰ６でサブルーチンとして用いられる処理時間算出プログラムＰ８により、次のように行われる。
【００６３】
即ち、図１６にフローチャートを示すように、まずステップＳ１１で、図１０のジョブ平均実績テーブルＴ８から当該ジョブについての平均処理件数、平均処理時間及び処理時間変化率の各データを読み込む。そして、ステップＳ１２で、これらのデータと、図１５のフローチャートの上記ステップＳ４で求めた当該ジョブの推定処理件数とから、そのジョブの推定処理時間を算出する。上記各データは、各ジョブについての図１１に示す関係式［Ｙ＝ａ（Ｘ−Ｘ０）＋Ｙ０］を特定するものであり、例えばＪＯＢ−０１の場合、
Ｙ＝０．００４１６６７×（Ｘ−１２００）＋１０
となる。
【００６４】
そして、図１７に示すように、この式のＸにＪＯＢ−０１の今回の推定処理件数である「１２８１」を入力し、Ｙ＝１０．３４を得る。つまり、今回のＪＯＢ−０１の推定処理時間は「１０分２０秒」となる。以下同様にして、ステップＳ４で求めた推定処理件数と、図１０のジョブ平均実績テーブルＴ８とから、各ジョブの推定処理時間を算出し、ステップＳ６で、これらの値を図１３に示すジョブ実行履歴テーブルＴ１０の推定欄の該当ジョブのレコードに記録する。
【００６５】
次に、図１５のフローチャートのステップＳ７で、上記スタートジョブの予め設定された開始時刻と、ジョブ開始管理テーブルＴ３に記録されている各ジョブの実行順序と、上記のようにして求めた各ジョブの推定処理時間とから、各ジョブの推定開始時刻及び推定終了時刻とを求める。
【００６６】
その場合に、上記ジョブ開始管理テーブルＴ３に設定開始時刻が定められているジョブについては、その起動条件となる先行ジョブの推定終了時刻と設定開始時刻のうちの遅いほうの時刻を選択し、その時刻を当該ジョブの推定開始時刻とする（図１３の推定開始時刻欄の網掛け部参照）。
【００６７】
そして、ステップＳ８で、上記のようにして求めた各ジョブの推定開始時刻と推定終了時刻とを、上記ジョブ実行履歴テーブルＴ１０の推定欄の該当ジョブのレコードに記録する。
【００６８】
このようにして、各ジョブの推定処理件数、推定処理時間、推定開始時刻及び推定終了時刻が全て求められることになり、図１０（Ａ）に示すように、ジョブ実行履歴テーブルＴ１０の推定欄が全て埋められることになる。
【００６９】
その場合に、図示の例では、ＪＯＢ−０２の終了が起動条件となる４つのジョブＪＯＢ−０３、０４、０５、０６のうち、ジョブ開始管理テーブルＴ３に設定開始時刻が記録されているＪＯＢ−０３、０６については、推定開始時刻はＪＯＢ−０２の推定終了時刻「２１時１５分２８秒」ではなく、上記ジョブ開始管理テーブルＴ３に設定された設定開始時刻、即ちＪＯＢ−０３についは「２１時２５分」、ＪＯＢ−０６については「２１時３０分」とされており、例えば外部からファイルの伝送を待つために、少なくともその設定開始時刻まで待って開始するものとして、それ以降の各ジョブの推定開始時刻及び推定終了時刻を算出している。
【００７０】
そして、ステップＳ９で、上記のようにして全て埋められたジョブ実行履歴テーブルＴ１０の推定欄のデータを実績欄に複写し、当該バッチ処理の開始時に、図１３（Ａ）に示すように、ジョブ実行履歴テーブルＴ１０の全体が完成される。
【００７１】
以上のような処理の後、ステップＳ１０で、クリティカルジョブを判定し、そのジョブのステータスを設定する。この処理は、当該終了時刻推定プログラムＰ６でサブルーチンとして用いられるクリティカルジョブ判定プログラムＰ９により、次のように行われる。
【００７２】
即ち、図１８にフローチャートを示すように、まずステップＳ２１で、目標終了時刻管理テーブルＴ２に目標終了時刻等が登録されている特定ジョブについて、ジョブ実行履歴テーブルＴ１０の実績欄のデータから、特定ジョブのクリティカルパスを判定する。
【００７３】
この判定は、特定ジョブに至るパスをスタートジョブ側に遡ったときに複数のパスに分岐する場合、即ちスタートジョブ側から特定ジョブ側に向かって見れば複数のパスの合流部がある場合に、その合流部直前の各パス上のジョブの実績終了時刻を比較することにより行われ、該実績終了時刻の遅い方のジョブが存在するパスがクリティカルパスであると判定する。
【００７４】
今、ＪＯＢ−１１が特定ジョブであり、そのクリティカルパスを判定するものとすると、図２のジョブネットの構成からＪＯＢ−０８が存在するパスとＪＯＢ−０９が存在するパスのいずれか一方がクリティカルパスとなるが、図１３（Ａ）のジョブ実行履歴テーブルＴ１０の実績終了時刻のデータによれば、ＪＯＢ−０８の実績終了時刻は「２１時４６分１８秒」、ＪＯＢ−０９の実績終了時刻は「２１時２０分５３秒」であるから、ＪＯＢ−０８が存在するほうのパスがクリティカルパスとなる。そして、このパス上の全てのジョブ、即ち、ＪＯＢ−０１、０２、０４、０８が、特定ジョブであるＪＯＢ−１１のクリティカルジョブとなる。
【００７５】
次に、ステップＳ２２で、上記ジョブ実行履歴テーブルＴ１０の実績欄から特定ジョブの実績終了時刻を取得し、次いでステップＳ２３で、この実績終了時刻と、上記目標終了時刻管理テーブルＴ２から取得した目標終了時刻（遅延注意時刻）及び遅延危険時刻とを比較する。
【００７６】
そして、実績終了時刻が遅延注意時刻よりも前であれば、ステップＳ２４からステップＳ２６を実行して、当該特定ジョブ及び上記クリティカルパス上でこれに先行するクリティカルジョブのステータスを全て「安全」とする。また、実績終了時刻が遅延注意時刻よりも後であるが、遅延危険時刻よりも前であれば、ステップＳ２４、Ｓ２５からステップＳ２７を実行して、上記特定ジョブ及びクリティカルジョブのステータスを全て「注意」とし、さらに、実績終了時刻が遅延危険時刻よりも後であれば、ステップＳ２４、Ｓ２５からステップＳ２８を実行して、上記特定ジョブ及びクリティカルジョブのステータスを全て「危険」とする。
【００７７】
そして、ステップＳ２９で、上記のようにして判定したクリティカルジョブと、該クリティカルジョブ及び特定ジョブのステータスとを、図１４のクリティカルジョブ管理テーブルＴ１１に記録する。
【００７８】
なお、上記例の場合、図１３（Ａ）に示すように、特定ジョブであるＪＯＢ−１１の実績終了時刻は「２２時２分３３秒」であり、これを目標終了時刻管理テーブルＴ２に記録されている時刻と比較すると、この時刻は遅延注意時刻と遅延危険時刻との間にあるから、ステータスは「注意」となる。したがって、クリティカルジョブ管理テーブルＴ１１には、該特定ジョブ（ＪＯＢ−１１）、及びこれに対するクリティカルジョブ（ＪＯＢ−０１、０２、０４、０８）のステータスとして、全て「注意」が記録される。
【００７９】
次に、図１９に示すフローチャートについて説明すると、このフローチャートは、図１に示す終了時刻更新プログラムＰ７の動作を示すもので、当該バッチ処理の開始後、各ジョブの終了時に、上記ジョブ実行履歴テーブルＴ１０の実績欄のデータを、終了したジョブの実績データに基づいて順次更新するように動作する。
【００８０】
まず、ステップＳ３１で、終了したジョブの出力ファイルに生成されたレコード件数を取得し、これを図１２のファイル実行履歴テーブルＴ９の当該ファイルのレコードに記録する。この場合、実際には、バッチ開始時に全ファイルのレコード件数が算出されて記録されているから、それを実績値に書き換えることになり、図１２（Ｂ）には、ＪＯＢ−０１が終了した時点で、ＦＩＬＥ−０３のレコード件数が算出値「２１１．１」から実績値「２５０」に書き換えられたことが示されている。
【００８１】
次に、ステップＳ３２で、終了したジョブの処理件数及び処理時間の実績値をジョブ実行履歴テーブルＴ１０の当該ジョブの実績欄に書き込む。
【００８２】
ここで、実績処理件数は、既知の、或いは当該ジョブの開始前に先行ジョブの出力ファイルのレコード件数として確定した入力ファイルのレコード件数と、当該ジョブの終了時に確定した出力ファイルのレコード件数の和であり、図例の場合、ＪＯＢ−０１の終了時点で、その入力イファイルのレコード件数は、ＦＩＬＥ−０１が「９５０」、ＦＩＬＥ−０２が「１２０」であり、出力ファイル（ＦＩＬＥ−０３）のレコード件数は、上記のようにしてファイル実行履歴テーブルＴ９に書き込んだ「２５０」であるから、ジョブ実行履歴テーブルＴ１０のＪＯＢ−０１の実績処理件数の欄には「１３２０」が記録される。また、実績処理時間は実測された時間であって、図例の場合、「１０分２５秒」がジョブ実行履歴テーブルＴ１０のＪＯＢ−０１の実績処理時間の欄に記録される。
【００８３】
なお、この場合も、実績欄にはバッチ開始時に推定欄から複写されたデータが記録されているから、実際には、これらの複写されたデータを上記の実績値に書き換えることになり、以下同様である。また、図１３（Ｂ）には、参考として、処理件数、処理時間、開始時刻及び終了時刻の各実績値について、推定値に対して増減した値を記載している。
【００８４】
次に、ステップＳ３３で、ジョブ開始管理テーブルＴ３から、終了したジョブの後続ジョブを抽出し、ステップＳ３４で、抽出した後続ジョブの処理件数を算出すると共に、その値をジョブ実行履歴テーブルＴ１０の当該後続ジョブの実績処理件数欄に記録する。
【００８５】
今、ＪＯＢ−０１が終了した時点で、後続ジョブはＪＯＢ−０２〜ＪＯＢ−１１の全てのジョブであるが、そのうち、ＪＯＢ−０１の終了により値が変化したＦＩＬＥ−０３のレコード件数の影響を受けるＪＯＢ−０２、０３について、処理件数を具体的に計算すると、まず、ＪＯＢ−０２については、ジョブ・ファイル関連テーブルＴ４とファイル実行履歴テーブルＴ９とを参照すれば、入力ファイルは、ＦＩＬＥ−０３（レコード件数：２５０、以下同様）であり、出力ファイルは、ＦＩＬＥ−０４（１０５．６）、ＦＩＬＥ−０５（２１１．１）、ＦＩＬＥ−０６（３１６．７）、ＦＩＬＥ−０７（４２２．２）、ＦＩＬＥ−０８（５２７．８）であるから、処理件数は「１８３３」となる。
【００８６】
また、ＪＯＢ−０３については、入力ファイルは、ＦＩＬＥ−０１（９５０）、ＦＩＬＥ−０３（２５０）、ＦＩＬＥ−０４（１０５．６）、ＦＩＬＥ−０５（２１１．１）であり、出力ファイルは、ＦＩＬＥ−０９（１０５．６）であるから、処理件数は「１６２２」となる。
【００８７】
そして、このような再計算により得られた処理件数をジョブ実行履歴テーブルＴ１０の当該後続ジョブの実績処理件数欄に記録する。なお、図１３（Ｂ）には、ＪＯＢ−０１が終了した時点での再計算の結果として、ＪＯＢ−０２、０３の実績処理件数がいずれも「３９件」増加したことを示している。
【００８８】
次に、フローチャートのステップＳ３５で、後続ジョブの処理時間を、図１６にフローチャート示す処理時間算出プログラムＰ８を用いて、前述の終了時刻推定時と同様にして算出する。
【００８９】
ここで、処理件数が増加したＪＯＢ−０２、０３について、処理時間を再計算すると、まず、ＪＯＢ−０２については、処理件数と処理時間との関係式は、図１０のジョブ平均実績テーブルＴ８より、
Ｙ＝０．００１４７０６×（Ｘ−１７００）＋５
であるから、処理件数（Ｘ）に「１８３３」を代入することにより、Ｙ＝５．２、即ち、処理時間「５分１２秒」が得られる。また、ＪＯＢ−０３については、関係式は、
Ｙ＝０．００１２５３８×（Ｘ−１３００）＋３
であるから、処理件数Ｘに「１６２２」を代入することにより、Ｙ＝３．４、即ち、処理時間「３分２４秒」が得られる。
【００９０】
そして、ステップＳ３６で、この再計算により得られた処理時間をジョブ実行履歴テーブルＴ１０の当該後続ジョブの実績処理時間欄に記録する。なお、図１３（Ｂ）には、ＪＯＢ−０１が終了した時点での再計算の結果として、ＪＯＢ−０２、０３の実績処理時間がいずれも「４秒」増加したことを示している。
【００９１】
次に、ステップＳ３７で、上記のようにして再計算した実績処理時間に基づき、最終ジョブに至る全ての後続ジョブについて、その開始時刻と終了時刻とを再計算し、その結果をジョブ実行履歴テーブルＴ１０の各対応するジョブのレコードの実績開始時刻欄及び実績終了時刻欄に記録する。
【００９２】
上記例の場合、ＪＯＢ−０１の処理時間（実測値）が「５秒」増加し、ＪＯＢ−０２、０３の再計算した実績処理時間がいずれも「４秒」増加したことに伴い、その影響を受けるジョブの実績開始時刻及び実績終了時刻も、それぞれ推定値より増加することになり、図１３（Ｂ）には、ＪＯＢ−０１が終了した時点でのこれらの増加量が参考として記載されている。
【００９３】
このようにして、各ジョブが終了するたびに、終了したジョブの実測値としての実績処理時間と、実際に生成された出力ファイルのレコード件数とに基づいて、後続の処理時間、開始時刻及び終了時刻の実績値が再計算され、ジョブ実行履歴テーブルの実績欄が書き換えられえる。
【００９４】
そして、その都度、ステップＳ３８で、前述のクリティカルジョブ判定プログラムＰ９により、クリティカルパスの再判定と、クリティカルジョブのステータスの再判定とを行い、クリティカルパス自体が変化したとき、及びクリティカルパスは変化しないが、クリティカルジョブのステータスが変化したときには、クリティカルジョブ管理テーブルＴ１１の該当欄を書き換える。
【００９５】
以上のようにして、当該ジョブネットについてのバッチ処理の開始時、及びバッチ処理途中の各ジョブの終了時に、特定ジョブ及びその開始時刻に影響を及ぼすクリティカルジョブについて、特定ジョブが目標終了時刻までに終了することに対する状況がステータスとして記録、更新される。
【００９６】
そして、ジョブ実行プログラムＰ２は、各ジョブの開始時に、このステータスを参照し、他のシステムのジョブ或いは他のジョブネット上のジョブに対する当該ジョブの処理の優先度を設定する。
【００９７】
即ち、ジョブ実行プログラムＰ２は、図２１に示すフローチャートに従い、次のように動作する。
【００９８】
まず、ステップＳ４１で、上記クリティカルジョブ管理テーブルＴ１１から今回処理を開始しようとするジョブのステータスを取得し、また、優先度管理テーブルＴ１から、そのジョブについて予め設定されている優先度を取得する。
【００９９】
次に、ステップＳ４２で、上記クリティカルジョブ管理テーブルＴ１１から取得したステータスに応じて、当該ジョブの優先度を必要に応じ変更する。つまり、ステータスが「安全」の場合には優先度の変更は行わず、「注意」の場合は、優先度を予め設定されている優先度から１段階高めて、「Ａ（普通）」→「Ｂ（やや高）」又は「Ｂ（やや高）」→「Ｃ（高）」とし、さらに、ステータスが「危険」の場合は、優先度を２段階高めて、「Ａ（普通）」、「Ｂ（やや高）」→「Ｃ（高）」とする。
【０１００】
そして、ステップＳ４３で、上記のようにして変更した（或いは変更しなかった）優先度で当該ジョブを実行する。
【０１０１】
これにより、目標終了時刻が設定された特定ジョブ及びそのジョブの開始時刻に影響を及ぼすジョブについての優先度が、バッチ処理を実行しながら、各時点の状況に応じて動的に制御されることになり、特定ジョブが目標終了時刻までに終了する確率が向上することになる。
【０１０２】
また、以上のようなバッチ処理動作と並行して、その実績に対する統計処理作業が行われる。この処理を実行するプログラムのうち、日次処理プログラムＰ４は、図２１に示すフローチャートに従って動作し、まずステップＳ５１で、図７のファイル実績テーブルＴ５に、処理した日付とファイル名とをキーとして、各ファイルの実際に処理されたレコード件数を記録する。
【０１０３】
また、ステップＳ５２で、図９のジョブ実績テーブルＴ７に、処理した日付とジョブ識別ＩＤとをキーとして、各ジョブの実際の処理件数と処理時間とを記録する。
【０１０４】
また、月次処理プログラムＰ５は、図２２に示すフローチャートに従って動作し、まず、ステップＳ６１で、上記ファイル実績テーブルＴ５に記録されているデータに基づき、月ごとに、各ファイルの１日についての平均レコード件数を算出し、これを図８のファイル平均実績テーブルＴ６に記録する。
【０１０５】
また、ステップＳ６２で、月ごとに、上記ジョブ実績テーブルＴ７に記録されているデータに基づき、各ジョブの１日についての平均処理件数及び平均処理時間とを算出すると共に、毎日の処理件数と処理時間の関係を図１１に示すＸＹ平面にプロットして、処理件数に対する処理時間の変化率を算出する。そして、ステップＳ６３で、各ジョブについての平均処理件数、平均処理時間、及び処理時間変化率を、図１０のジョブ平均実績テーブルＴ８に、ジョブ識別ＩＤをキーとして記録する。
【０１０６】
これらの日次及び月次の統計処理によって作成されたテーブルは、前述のように、バッチ処理開始時の終了時刻推定作業、及びバッチ処理中における終了時刻更新作業において用いられる。
【０１０７】
なお、以上の実施の形態では、全システムが単一のコンピュータ１によって構成されているが、これをホストコンピュータと、該コンピュータとの間でデータの伝送が可能なパーソナルコンピュータとで構成することも可能である。
【０１０８】
つまり、図２３に示すシステムは、バッチ処理を実行するホストコンピュータ１１と、その目標終了時間等の設定や統計処理等に用いられるパーソナルコンピュータ１２と、これらの間でデータの伝送を行う伝送システム１３とを備えている。
【０１０９】
そして、上記ホストコンピュータ１１とパーソナルコンピュータ１２とに、ジョブ開始管理テーブル、ジョブ・ファイル関連テーブル、ファイル実行履歴テーブル、ジョブ実行履歴テーブル、及びクリティカルジョブ管理テーブルがそれぞれ搭載され、両コンピュータ１１、１２における同じテーブル同士が伝送システム１３を介して、常に同じ内容に保持されるようになっている。したがって、この実施の形態に係るシステムによっても、図１に構成を示すシステムと全く同様に動作することになる。
【０１１０】
【発明の効果】
以上のように本発明によれば、多数のジョブがネット状に関連付けられ、かつそのうちの少なくとも１つの特定ジョブについて目標終了時刻が設定されているジョブネットを処理する場合に、各ジョブの終了時刻を推定すると共に、その推定の結果、上記特定ジョブの終了時刻が目標終了時刻よりも遅れることが判明したときには、最初に実行するジョブからその特定ジョブに至るネット上の複数のパスのうち、特定ジョブの開始時刻に影響を及ぼすクリティカルパスを判別して、そのパス上のジョブを優先的に処理するようにしたから、特定ジョブやその上位のジョブを常に一律に優先して、その他のジョブに対する処理を不必要に遅延させることを回避しながら、特定ジョブの終了が目標終了時刻よりも遅延することを効果的に防止することが可能となる。
【０１１１】
特に、各ジョブについての終了時刻の推定を、当該バッチ処理業務の開始時だけでなく、その実行中にも、例えば各ジョブが終了するごとに行うようにすることにより、上記特定ジョブが一層確実に目標終了時刻までに終了することになり、例えばこの特定ジョブで生成されるファイルを他の業務に用いる場合等に、その業務に支障をきたす、といったトラブルが未然に回避されることになる。
【図面の簡単な説明】
【図１】本発明に係るデータ処理システムの実施の形態の構成示すブロック図である。
【図２】同システムの処理対象の例として示すジョブネットの構成図である。
【図３】同システムで用いられる優先度管理テーブルの構成図である。
【図４】目標終了時刻管理テーブルの構成図である。
【図５】ジョブ開始管理テーブルの構成図である。
【図６】ジョブ・ファイル関連テーブルの構成図である。
【図７】ファイル実績テーブルの構成図である。
【図８】ファイル平均実績テーブルの構成図である。
【図９】ジョブ実績テーブルの構成図である。
【図１０】ジョブ平均実績テーブルの構成図である。
【図１１】平均処理時間算出方法の説明図である。
【図１２】ファイル実行履歴テーブルの構成図である。
【図１３】ジョブ実行履歴テーブルの構成図である。
【図１４】クリティカルジョブ管理テーブルの構成図である。
【図１５】終了時刻推定プログラムの動作を示すフローチャートである。
【図１６】処理時間算出プログラムの動作を示すフローチャートである。
【図１７】処理時間算出方法の説明図である。
【図１８】クリティカルジョブ判定プログラムの動作を示すフローチャートである。
【図１９】終了時刻更新プログラムの動作を示すフローチャートである。
【図２０】ジョブ実行プログラムの動作を示すフローチャートである。
【図２１】日時処理プログラムの動作を示すフローチャートである。
【図２２】月次処理プログラムの動作を示すフローチャートである。
【図２３】他の実施の形態のシステム構成を示すブロック図である。
【符号の説明】
１      コンピュータ
【図１】
2004295731.tif 000003
【図２】
2004295731.tif 000004
【図３】
2004295731.tif 000005
【図４】
2004295731.tif 000006
【図５】
2004295731.tif 000007
【図６】
2004295731.tif 000008
【図７】
2004295731.tif 000009
【図８】
2004295731.tif 000010
【図９】
2004295731.tif 000011
【図１０】
2004295731.tif 000012
【図１１】
2004295731.tif 000013
【図１２】
2004295731.tif 000014
【図１３】
2004295731.tif 000015
【図１４】
2004295731.tif 000016
【図１５】
2004295731.tif 000017
【図１６】
2004295731.tif 000018
【図１７】
2004295731.tif 000019
【図１８】
2004295731.tif 000020
【図１９】
2004295731.tif 000021
【図２０】
2004295731.tif 000022
【図２１】
2004295731.tif 000023
【図２２】
2004295731.tif 000024
【図２３】
2004295731.tif 000025