(57)【要約】【課題】予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、実用的な実行予定時間帯を求めること。【解決手段】スケジュールの変更を行うジョブシナリオの選択と、基準時刻の入力とを受け付け、処理時間の実績値に基づき、選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出し、入力された基準時刻と算出された処理標準時間とを用いて、選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出し、処理標準時間が算出された時間帯における並列実行されたジョブの多重度を示す基準多重度と、算出された実行予定時間帯において選択されたジョブシナリオを含めて並列実行されるジョブの予定多重度とを用いて、算出された処理標準時間から算出された実行予定時間帯において選択されたジョブシナリオが実行される場合の処理予定時間を算出する。【選択図】図１
2010231694.tif 000002
【特許請求の範囲】
【請求項１】
予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援するジョブスケジュール変更支援システムであって、
前記複数のジョブシナリオ毎に定期的に実行するためのスケジュールを格納するジョブスケジュール記憶部と、
前記複数のジョブシナリオ毎の処理時間の実績値と、時間帯毎に並列実行されたジョブの多重度を示す基準多重度とを格納するジョブ実行履歴記憶部と、
前記選択されたジョブシナリオのスケジュールの変更を支援する処理を行う制御部と、を備え、
前記制御部は、
スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを受け付ける受付手段と、
前記ジョブ実行履歴記憶部に格納された処理時間の実績値に基づき、前記選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する処理標準時間算出手段と、
前記入力された基準時刻と前記算出された処理標準時間とを用いて、前記選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する実行予定時間帯算出手段と、
前記ジョブスケジュール記憶部を参照し、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブの予定多重度を算出する多重度算出手段と、
前記処理標準時間算出手段により前記処理標準時間が算出された時間帯における前記ジョブ実行履歴記憶部に格納された基準多重度と、前記算出された予定多重度とを用いて、前記算出された処理標準時間から前記算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する処理予定時間算出手段と、
を備えるジョブスケジュール変更支援システム。
【請求項２】
前記受付手段は、前記選択されたジョブシナリオの実行における終了時刻期限を含めて前記基準時刻として入力を受け付け、
前記実行予定時間帯算出手段は、当該選択されたジョブシナリオが実行される場合に前記算出された処理標準時間が経過したときの終了予定時刻が、前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することを特徴とする請求項１に記載のジョブスケジュール変更支援システム。
【請求項３】
前記受付手段は、前記選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付け、
前記実行予定時間帯算出手段は、前記入力された開始時刻期限を前記開始予定時刻の初期値として前記終了予定時刻を求め、当該求められた終了予定時刻が前記入力された終了時刻期限以降である場合に、前記入力された開始時刻期限より前の時刻に前記開始予定時刻を定めることを特徴とする請求項２に記載のジョブスケジュール変更支援システム。
【請求項４】
前記実行予定時間帯算出手段は、前記定められた開始予定時刻から前記算出された処理予定時間が経過した終了予定時刻が前記入力された終了時刻期限以降である場合に、当該終了予定時刻が前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することを特徴とする請求項２又は３に記載のジョブスケジュール変更支援システム。
【請求項５】
前記受付手段は、前記基準時刻を満たさない場合の限界値である許容時間の入力をさらに受け付け、
前記実行予定時間帯算出手段は、前記基準時刻に前記入力された許容時間を反映させた時刻に収まるように前記実行予定時間帯を算出することを特徴とする請求項１乃至４のいずれか１項に記載のジョブスケジュール変更支援システム。
【請求項６】
前記受付手段は、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付け、
前記複数のジョブシナリオの実行時における時間帯毎のリソース使用量の実績値を格納するリソース使用実績記憶部と、
前記算出された実行予定時間帯における前記リソース使用実績記憶部に格納されたリソース使用量の実績値及び前記算出された予定多重度に基づき、前記算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出するリソース予定使用量算出手段と、
前記算出されたリソース予定使用量が前記入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する診断結果生成手段と、
前記生成された診断結果を表示手段へ出力する出力手段とをさらに備えることを特徴とする請求項１乃至５のいずれか１項に記載のジョブスケジュール変更支援システム。
【請求項７】
ジョブシナリオに属する複数のジョブの実行順序の定義情報を前記複数のジョブシナリオ毎に格納したジョブシナリオ定義情報記憶部をさらに備え、
前記ジョブ実行履歴記憶部は、前記複数のジョブシナリオに属するジョブ毎の処理時間の実績値を含めて前記複数のジョブシナリオ毎の処理時間の実績値とし、時間帯毎に並列実行されたジョブシナリオに属するジョブ数に基づき決定された値を前記基準多重度として格納し、
前記処理標準時間算出手段は、前記ジョブ実行履歴記憶部に格納されたジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記ジョブシナリオ定義情報記憶部に格納された定義情報に基づき、当該算出されたジョブ処理標準時間から前記処理標準時間を算出し、
前記多重度算出手段は、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を前記予定多重度として算出し、
前記処理予定時間算出手段は、前記処理標準時間算出手段により前記処理標準時間が算出された時間帯における前記ジョブ実行履歴記憶部に格納された基準多重度と、前記算出された予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記ジョブシナリオ定義情報記憶部に格納された定義情報に基づき、当該算出されたジョブ処理予定時間から前記処理予定時間を算出することを特徴とする請求項１乃至６のいずれか１項に記載のジョブスケジュール変更支援システム。
【請求項８】
前記受付手段は、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付け、
前記処理標準時間算出手段は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理標準時間を算出し、
前記処理予定時間算出手段は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理予定時間を算出することを特徴とする請求項７に記載のジョブスケジュール変更支援システム。
【請求項９】
予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援するジョブスケジュール変更支援方法であって、
スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを受け付ける受付ステップと、
前記選択されたジョブシナリオにおける処理時間の実績値に基づき、前記選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する処理標準時間算出ステップと、
前記入力された基準時刻と前記算出された処理標準時間とを用いて、前記選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する実行予定時間帯算出ステップと、
前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブの多重度を示す予定多重度を算出する多重度算出ステップと、
前記処理標準時間算出ステップにより前記処理標準時間が算出された時間帯における並列実行されたジョブの基準多重度と、前記算出された予定多重度とを用いて、前記算出された処理標準時間から前記算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する処理予定時間算出ステップと、
を含むジョブスケジュール変更支援方法。
【請求項１０】
前記受付ステップは、前記選択されたジョブシナリオの実行における終了時刻期限を含めて前記基準時刻として入力を受け付け、
前記実行予定時間帯算出ステップは、当該選択されたジョブシナリオが実行される場合に前記算出された処理標準時間が経過したときの終了予定時刻が、前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することを特徴とする請求項９に記載のジョブスケジュール変更支援方法。
【請求項１１】
前記受付ステップは、前記選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付け、
前記実行予定時間帯算出ステップは、前記入力された開始時刻期限を前記開始予定時刻の初期値として前記終了予定時刻を求め、当該求められた終了予定時刻が前記入力された終了時刻期限以降である場合に、前記入力された開始時刻期限より前の時刻に前記開始予定時刻を定めることを特徴とする請求項１０に記載のジョブスケジュール変更支援方法。
【請求項１２】
前記実行予定時間帯算出ステップは、前記定められた開始予定時刻から前記算出された処理予定時間が経過した終了予定時刻が前記入力された終了時刻期限以降である場合に、当該終了予定時刻が前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することを特徴とする請求項１０又は１１に記載のジョブスケジュール変更支援方法。
【請求項１３】
前記受付ステップは、前記基準時刻を満たさない場合の限界値である許容時間の入力をさらに受け付け、
前記実行予定時間帯算出ステップは、前記基準時刻に前記入力された許容時間を反映させた時刻に収まるように前記実行予定時間帯を算出することを特徴とする請求項９乃至１２のいずれか１項に記載のジョブスケジュール変更支援方法。
【請求項１４】
前記受付ステップは、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付け、
前記算出された実行予定時間帯におけるリソース使用量の実績値及び前記算出された予定多重度に基づき、前記算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出するリソース予定使用量算出ステップと、
前記算出されたリソース予定使用量が前記入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する診断結果生成ステップと、
前記生成された診断結果を表示手段へ出力する出力ステップとをさらに含むことを特徴とする請求項９乃至１３のいずれか１項に記載のジョブスケジュール変更支援方法。
【請求項１５】
前記処理標準時間算出ステップは、前記選択されたジョブシナリオにおけるジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記選択されたジョブシナリオに属する複数のジョブの実行順序の定義情報に基づき、当該算出されたジョブ処理標準時間から前記処理標準時間を算出し、
前記多重度算出ステップは、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を前記予定多重度として算出し、
前記処理予定時間算出ステップは、前記処理標準時間算出ステップにより前記処理標準時間が算出された時間帯における並列実行されたジョブシナリオに属するジョブ数に基づき決定された値である前記基準多重度と、前記算出された予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記定義情報に基づき、当該算出されたジョブ処理予定時間から前記処理予定時間を算出することを特徴とする請求項９乃至１４のいずれか１項に記載のジョブスケジュール変更支援方法。
【請求項１６】
前記受付ステップは、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付け、
前記処理標準時間算出ステップは、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理標準時間を算出し、
前記処理予定時間算出ステップは、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理予定時間を算出することを特徴とする請求項１５に記載のジョブスケジュール変更支援方法。
【請求項１７】
予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援する処理をコンピュータに実行させるジョブスケジュール変更支援プログラムであって、
スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを受け付ける受付処理と、
前記選択されたジョブシナリオにおける処理時間の実績値に基づき、前記選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する処理標準時間算出処理と、
前記入力された基準時刻と前記算出された処理標準時間とを用いて、前記選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する実行予定時間帯算出処理と、
前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブの多重度を示す予定多重度を算出する多重度算出処理と、
前記処理標準時間算出処理により前記処理標準時間が算出された時間帯における並列実行されたジョブの基準多重度と、前記算出された予定多重度とを用いて、前記算出された処理標準時間から前記算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する処理予定時間算出処理と、
を含むジョブスケジュール変更支援プログラム。
【請求項１８】
前記受付処理は、前記選択されたジョブシナリオの実行における終了時刻期限を含めて前記基準時刻として入力を受け付け、
前記実行予定時間帯算出処理は、当該選択されたジョブシナリオが実行される場合に前記算出された処理標準時間が経過したときの終了予定時刻が、前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することを特徴とする請求項１７に記載のジョブスケジュール変更支援プログラム。
【請求項１９】
前記受付処理は、前記選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付け、
前記実行予定時間帯算出処理は、前記入力された開始時刻期限を前記開始予定時刻の初期値として前記終了予定時刻を求め、当該求められた終了予定時刻が前記入力された終了時刻期限以降である場合に、前記入力された開始時刻期限より前の時刻に前記開始予定時刻を定めることを特徴とする請求項１８に記載のジョブスケジュール変更支援プログラム。
【請求項２０】
前記実行予定時間帯算出処理は、前記定められた開始予定時刻から前記算出された処理予定時間が経過した終了予定時刻が前記入力された終了時刻期限以降である場合に、当該終了予定時刻が前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することを特徴とする請求項１８又は１９に記載のジョブスケジュール変更支援プログラム。
【請求項２１】
前記受付処理は、前記基準時刻を満たさない場合の限界値である許容時間の入力をさらに受け付け、
前記実行予定時間帯算出処理は、前記基準時刻に前記入力された許容時間を反映させた時刻に収まるように前記実行予定時間帯を算出することを特徴とする請求項１７乃至２０のいずれか１項に記載のジョブスケジュール変更支援プログラム。
【請求項２２】
前記受付処理は、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付け、
前記算出された実行予定時間帯におけるリソース使用量の実績値及び前記算出された予定多重度に基づき、前記算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出するリソース予定使用量算出処理と、
前記算出されたリソース予定使用量が前記入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する診断結果生成処理と、
前記生成された診断結果を表示手段へ出力する出力処理とをさらに備えることを特徴とする請求項１７乃至２１のいずれか１項に記載のジョブスケジュール変更支援プログラム。
【請求項２３】
前記処理標準時間算出処理は、前記選択されたジョブシナリオにおけるジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記選択されたジョブシナリオに属する複数のジョブの実行順序の定義情報に基づき、当該算出されたジョブ処理標準時間から前記処理標準時間を算出し、
前記多重度算出処理は、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を前記予定多重度として算出し、
前記処理予定時間算出処理は、前記処理標準時間算出処理により前記処理標準時間が算出された時間帯における並列実行されたジョブシナリオに属するジョブ数に基づき決定された値である前記基準多重度と、前記算出された予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記定義情報に基づき、当該算出されたジョブ処理予定時間から前記処理予定時間を算出することを特徴とする請求項１７乃至２２のいずれか１項に記載のジョブスケジュール変更支援プログラム。
【請求項２４】
前記受付処理は、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付け、
前記処理標準時間算出処理は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理標準時間を算出し、
前記処理予定時間算出処理は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理予定時間を算出することを特徴とする請求項２３に記載のジョブスケジュール変更支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブスケジュール変更支援システム、方法及びプログラムに関し、特に、予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援するためのジョブスケジュール変更支援システム、方法及びプログラムに関する。
【背景技術】
【０００２】
近年、情報システムの大規模化に伴い、業務を実現するためのプログラムの単位であるジョブが多数のものとなっている。そこで、バッチジョブ管理システムは、予め多数のジョブを定期のスケジュールとして登録し、当該スケジュールに従って、登録されたジョブを順次実行する。
【０００３】
通常、バッチジョブ管理システムにおいては、複数のジョブの中で実行順序に先行又は後続の関係のあるジョブをまとめてジョブネットという単位で管理し、さらに、複数のジョブネットについて実行順序に先行又は後続の関係のあるジョブネットをまとめてジョブシナリオという単位で管理する。つまり、バッチジョブ管理システムは、ジョブシナリオの開始時刻をスケジュールとして登録し、当該ジョブシナリオを登録された開始時刻から実行させる。これにより、当該ジョブシナリオに属するジョブネット及びジョブが順次実行される。
【０００４】
特許文献１には、ジョブスケジュールの最適化に関する技術が開示されている。特許文献１にかかるジョブスケジューリング方法では、ジョブを実行した際のリソース使用量情報を計測し、当該ジョブの実行時間及びリソース使用量の予測を行い、リソース使用量の閾値を超えた場合、開始時刻を遅らせて、再度、実行時間の予測を行う。
【０００５】
また、特許文献２には、ジョブスケジュールの作成に関する技術が開示されている。特許文献２にかかるジョブスケジュール計画システムでは、対象ジョブの指定、制約条件等を入力し、ジョブのスケジューリングを行い、結果を表示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１１０２３号公報
【特許文献２】特開平０８−３０４６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１では、まず、登録されたジョブを試験的に実行し、当該実行結果と制約条件に基づいて最適なスケジュールを求めるものである。特許文献２は、ジョブスケジュールを作成する場合の入出力インタフェースに関するものである。そして、特許文献１及び２は、ジョブスケジュールを新規に作成する場合の技術である。
【０００８】
しかしながら、実際に定期のスケジュールに基づきバッチジョブ管理システムを運用する中では、業務の都合等により定期のスケジュール通りにジョブシナリオが実行できないことがある。その場合、開始時刻を遅らせて臨時に当該ジョブシナリオを実行することになる。このとき、当該ジョブシナリオの臨時の実行時間帯と同じ時間帯に、他のジョブシナリオに属するジョブが定期のスケジュール通りに正常に実行中又は実行予定の可能性がある。そのため、ジョブを実行しているサーバのＣＰＵやメモリの使用量が上限を超えるなどのリソースが不足等の原因で、エラーが発生してしまう可能性がある。これにより、例えば、サーバの稼働が停止するなどにより、被害が拡大する恐れがある。
【０００９】
しかし、定期のスケジュールに登録されたジョブシナリオ及びジョブシナリオに属するジョブの数は、例えば、数百から数千といったオーダーとなる場合がある。そして、ジョブシナリオ内及びジョブシナリオ間での依存関係は、複雑である。そのため、正規のジョブシナリオにかかる処理に影響を与えることなく、臨時でジョブシナリオを実行させるために、どの時間帯であればよいかを管理者等が判断することは、困難である。特に、臨時でジョブシナリオを実行させる場合は、時間的な制約が大きいため、見極めるのは困難である。
【００１０】
以上のことから、特許文献１及び２では、臨時にジョブシナリオを投入する場合には対応できないという問題点がある。その理由は、当初のスケジュールにない時間帯に実行しなければならないため、実行される時間帯における他のジョブシナリオの影響を受けて、ジョブのリソース使用量が変化し、それに伴いジョブの処理時間も通常より長くなる可能性があるためである。
【００１１】
本発明は、このような問題を解決するためになされたものであり、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、変更後の時間帯に予定されている他のジョブシナリオの影響を考慮したジョブシナリオの処理予定時間を算出することができるジョブスケジュール変更支援システム、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の第１の態様にかかるジョブスケジュール変更支援システムは、予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援するものであって、前記複数のジョブシナリオ毎に定期的に実行するためのスケジュールを格納するジョブスケジュール記憶部と、前記複数のジョブシナリオ毎の処理時間の実績値と、時間帯毎に並列実行されたジョブの多重度を示す基準多重度とを格納するジョブ実行履歴記憶部と、前記選択されたジョブシナリオのスケジュールの変更を支援する処理を行う制御部と、を備え、前記制御部は、スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを受け付ける受付手段と、前記ジョブ実行履歴記憶部に格納された処理時間の実績値に基づき、前記選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する処理標準時間算出手段と、前記入力された基準時刻と前記算出された処理標準時間とを用いて、前記選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する実行予定時間帯算出手段と、前記ジョブスケジュール記憶部を参照し、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブの予定多重度を算出する多重度算出手段と、前記処理標準時間算出手段により前記処理標準時間が算出された時間帯における前記ジョブ実行履歴記憶部に格納された基準多重度と、前記算出された予定多重度とを用いて、前記算出された処理標準時間から前記算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する処理予定時間算出手段と、を備える。
【００１３】
これにより、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、変更後の時間帯に予定されている他のジョブシナリオの影響を考慮したジョブシナリオの処理予定時間を算出する。そのため、実用的な実行予定時間帯を求め、ジョブスケジュールの変更を支援することができ、臨時のジョブシナリオを適切に実行させることができる。
【００１４】
また、前記受付手段は、前記選択されたジョブシナリオの実行における終了時刻期限を含めて前記基準時刻として入力を受け付け、前記実行予定時間帯算出手段は、当該選択されたジョブシナリオが実行される場合に前記算出された処理標準時間が経過したときの終了予定時刻が、前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することが望ましい。これにより、様々な制約条件を含めずに少なくとも終了時刻期限を満たすことができ、処理負荷を抑えることができる。
【００１５】
さらに、前記受付手段は、前記選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付け、前記実行予定時間帯算出手段は、前記入力された開始時刻期限を前記開始予定時刻の初期値として前記終了予定時刻を求め、当該求められた終了予定時刻が前記入力された終了時刻期限以降である場合に、前記入力された開始時刻期限より前の時刻に前記開始予定時刻を定めることが望ましい。これにより、実行予定時間帯の算出の繰り返しを減らし、処理負荷を減らすことができる。
【００１６】
また、前記実行予定時間帯算出手段は、前記定められた開始予定時刻から前記算出された処理予定時間が経過した終了予定時刻が前記入力された終了時刻期限以降である場合に、当該終了予定時刻が前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出するとよい。これにより、補正された実行予定時間帯を用いて、ユーザがスケジュールの変更を容易に把握することができる。
【００１７】
さらに、前記受付手段は、前記基準時刻を満たさない場合の限界値である許容時間の入力をさらに受け付け、前記実行予定時間帯算出手段は、前記基準時刻に前記入力された許容時間を反映させた時刻に収まるように前記実行予定時間帯を算出するとよい。これにより、制約条件に幅を持たせることができ、処理予定時間の算出の繰り返しを減らすことができる。
【００１８】
また、前記受付手段は、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付け、前記複数のジョブシナリオの実行時における時間帯毎のリソース使用量の実績値を格納するリソース使用実績記憶部と、前記算出された実行予定時間帯における前記リソース使用実績記憶部に格納されたリソース使用量の実績値及び前記算出された予定多重度に基づき、前記算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出するリソース予定使用量算出手段と、前記算出されたリソース予定使用量が前記入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する診断結果生成手段と、前記生成された診断結果を表示手段へ出力する出力手段とをさらに備えることが望ましい。これにより、算出された実行予定時間帯におけるリソース使用上のリスクを予め把握し、ユーザの判断を支援することができる。
【００１９】
また、ジョブシナリオに属する複数のジョブの実行順序の定義情報を前記複数のジョブシナリオ毎に格納したジョブシナリオ定義情報記憶部をさらに備え、前記ジョブ実行履歴記憶部は、前記複数のジョブシナリオに属するジョブ毎の処理時間の実績値を含めて前記複数のジョブシナリオ毎の処理時間の実績値とし、時間帯毎に並列実行されたジョブシナリオに属するジョブ数に基づき決定された値を前記基準多重度として格納し、前記処理標準時間算出手段は、前記ジョブ実行履歴記憶部に格納されたジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記ジョブシナリオ定義情報記憶部に格納された定義情報に基づき、当該算出されたジョブ処理標準時間から前記処理標準時間を算出し、前記多重度算出手段は、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を前記予定多重度として算出し、前記処理予定時間算出手段は、前記処理標準時間算出手段により前記処理標準時間が算出された時間帯における前記ジョブ実行履歴記憶部に格納された基準多重度と、前記算出された予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記ジョブシナリオ定義情報記憶部に格納された定義情報に基づき、当該算出されたジョブ処理予定時間から前記処理予定時間を算出することが望ましい。これにより、ジョブ毎の多重度を考慮したジョブ毎の処理予定時間により、ジョブシナリオの処理予定時間をより正確に算出することができる。
【００２０】
さらに、前記受付手段は、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付け、前記処理標準時間算出手段は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理標準時間を算出し、前記処理予定時間算出手段は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理予定時間を算出するとよい。これにより、ジョブシナリオに含まれる一部のジョブのみを臨時に実行させる場合の処理予定時間を算出することができる。
【００２１】
本発明の第２の態様にかかるジョブスケジュール変更支援方法は、予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援するものであって、スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを受け付ける受付ステップと、前記選択されたジョブシナリオにおける処理時間の実績値に基づき、前記選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する処理標準時間算出ステップと、前記入力された基準時刻と前記算出された処理標準時間とを用いて、前記選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する実行予定時間帯算出ステップと、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブの多重度を示す予定多重度を算出する多重度算出ステップと、前記処理標準時間算出ステップにより前記処理標準時間が算出された時間帯における並列実行されたジョブの基準多重度と、前記算出された予定多重度とを用いて、前記算出された処理標準時間から前記算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する処理予定時間算出ステップと、を含む。
【００２２】
これにより、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、変更後の時間帯に予定されている他のジョブシナリオの影響を考慮したジョブシナリオの処理予定時間を算出する。そのため、実用的な実行予定時間帯を求め、ジョブスケジュールの変更を支援することができ、臨時のジョブシナリオを適切に実行させることができる。
【００２３】
また、前記受付ステップは、前記選択されたジョブシナリオの実行における終了時刻期限を含めて前記基準時刻として入力を受け付け、前記実行予定時間帯算出ステップは、当該選択されたジョブシナリオが実行される場合に前記算出された処理標準時間が経過したときの終了予定時刻が、前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することが望ましい。これにより、様々な制約条件を含めずに少なくとも終了時刻期限を満たすことができ、処理負荷を抑えることができる。
【００２４】
さらに、前記受付ステップは、前記選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付け、前記実行予定時間帯算出ステップは、前記入力された開始時刻期限を前記開始予定時刻の初期値として前記終了予定時刻を求め、当該求められた終了予定時刻が前記入力された終了時刻期限以降である場合に、前記入力された開始時刻期限より前の時刻に前記開始予定時刻を定めることが望ましい。これにより、実行予定時間帯の算出の繰り返しを減らし、処理負荷を減らすことができる。
【００２５】
また、前記実行予定時間帯算出ステップは、前記定められた開始予定時刻から前記算出された処理予定時間が経過した終了予定時刻が前記入力された終了時刻期限以降である場合に、当該終了予定時刻が前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出するとよい。これにより、補正された実行予定時間帯を用いて、ユーザがスケジュールの変更を容易に把握することができる。
【００２６】
さらに、前記受付ステップは、前記基準時刻を満たさない場合の限界値である許容時間の入力をさらに受け付け、前記実行予定時間帯算出ステップは、前記基準時刻に前記入力された許容時間を反映させた時刻に収まるように前記実行予定時間帯を算出するとよい。これにより、制約条件に幅を持たせることができ、処理予定時間の算出の繰り返しを減らすことができる。
【００２７】
また、前記受付ステップは、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付け、前記算出された実行予定時間帯におけるリソース使用量の実績値及び前記算出された予定多重度に基づき、前記算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出するリソース予定使用量算出ステップと、前記算出されたリソース予定使用量が前記入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する診断結果生成ステップと、前記生成された診断結果を表示手段へ出力する出力ステップとをさらに含むことが望ましい。これにより、算出された実行予定時間帯におけるリソース使用上のリスクを予め把握し、ユーザの判断を支援することができる。
【００２８】
また、前記処理標準時間算出ステップは、前記選択されたジョブシナリオにおけるジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記選択されたジョブシナリオに属する複数のジョブの実行順序の定義情報に基づき、当該算出されたジョブ処理標準時間から前記処理標準時間を算出し、前記多重度算出ステップは、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を前記予定多重度として算出し、前記処理予定時間算出ステップは、前記処理標準時間算出ステップにより前記処理標準時間が算出された時間帯における並列実行されたジョブシナリオに属するジョブ数に基づき決定された値である前記基準多重度と、前記算出された予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記定義情報に基づき、当該算出されたジョブ処理予定時間から前記処理予定時間を算出することが望ましい。これにより、ジョブ毎の多重度を考慮したジョブ毎の処理予定時間により、ジョブシナリオの処理予定時間をより正確に算出することができる。
【００２９】
さらに、前記受付ステップは、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付け、前記処理標準時間算出ステップは、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理標準時間を算出し、前記処理予定時間算出ステップは、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理予定時間を算出するとよい。これにより、ジョブシナリオに含まれる一部のジョブのみを臨時に実行させる場合の処理予定時間を算出することができる。
【００３０】
本発明の第３の態様にかかるジョブスケジュール変更支援プログラムは、予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援する処理をコンピュータに実行させるものであって、スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを受け付ける受付処理と、前記選択されたジョブシナリオにおける処理時間の実績値に基づき、前記選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する処理標準時間算出処理と、前記入力された基準時刻と前記算出された処理標準時間とを用いて、前記選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する実行予定時間帯算出処理と、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブの多重度を示す予定多重度を算出する多重度算出処理と、前記処理標準時間算出処理により前記処理標準時間が算出された時間帯における並列実行されたジョブの基準多重度と、前記算出された予定多重度とを用いて、前記算出された処理標準時間から前記算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する処理予定時間算出処理と、を含む。
【００３１】
これにより、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、変更後の時間帯に予定されている他のジョブシナリオの影響を考慮したジョブシナリオの処理予定時間を算出する。そのため、実用的な実行予定時間帯を求め、ジョブスケジュールの変更を支援することができ、臨時のジョブシナリオを適切に実行させることができる。
【００３２】
また、前記受付処理は、前記選択されたジョブシナリオの実行における終了時刻期限を含めて前記基準時刻として入力を受け付け、前記実行予定時間帯算出処理は、当該選択されたジョブシナリオが実行される場合に前記算出された処理標準時間が経過したときの終了予定時刻が、前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することが望ましい。これにより、様々な制約条件を含めずに少なくとも終了時刻期限を満たすことができ、処理負荷を抑えることができる。
【００３３】
さらに、前記受付処理は、前記選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付け、前記実行予定時間帯算出処理は、前記入力された開始時刻期限を前記開始予定時刻の初期値として前記終了予定時刻を求め、当該求められた終了予定時刻が前記入力された終了時刻期限以降である場合に、前記入力された開始時刻期限より前の時刻に前記開始予定時刻を定めることが望ましい。これにより、実行予定時間帯の算出の繰り返しを減らし、処理負荷を減らすことができる。
【００３４】
また、前記実行予定時間帯算出処理は、前記定められた開始予定時刻から前記算出された処理予定時間が経過した終了予定時刻が前記入力された終了時刻期限以降である場合に、当該終了予定時刻が前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出するとよい。これにより、補正された実行予定時間帯を用いて、ユーザがスケジュールの変更を容易に把握することができる。
【００３５】
さらに、前記受付処理は、前記基準時刻を満たさない場合の限界値である許容時間の入力をさらに受け付け、前記実行予定時間帯算出処理は、前記基準時刻に前記入力された許容時間を反映させた時刻に収まるように前記実行予定時間帯を算出するとよい。これにより、制約条件に幅を持たせることができ、処理予定時間の算出の繰り返しを減らすことができる。
【００３６】
また、前記受付処理は、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付け、前記算出された実行予定時間帯におけるリソース使用量の実績値及び前記算出された予定多重度に基づき、前記算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出するリソース予定使用量算出処理と、前記算出されたリソース予定使用量が前記入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する診断結果生成処理と、前記生成された診断結果を表示手段へ出力する出力処理とをさらに備えることが望ましい。これにより、算出された実行予定時間帯におけるリソース使用上のリスクを予め把握し、ユーザの判断を支援することができる。
【００３７】
また、前記処理標準時間算出処理は、前記選択されたジョブシナリオにおけるジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記選択されたジョブシナリオに属する複数のジョブの実行順序の定義情報に基づき、当該算出されたジョブ処理標準時間から前記処理標準時間を算出し、前記多重度算出処理は、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を前記予定多重度として算出し、前記処理予定時間算出処理は、前記処理標準時間算出処理により前記処理標準時間が算出された時間帯における並列実行されたジョブシナリオに属するジョブ数に基づき決定された値である前記基準多重度と、前記算出された予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記定義情報に基づき、当該算出されたジョブ処理予定時間から前記処理予定時間を算出することが望ましい。これにより、ジョブ毎の多重度を考慮したジョブ毎の処理予定時間により、ジョブシナリオの処理予定時間をより正確に算出することができる。
【００３８】
さらに、前記受付処理は、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付け、前記処理標準時間算出処理は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理標準時間を算出し、前記処理予定時間算出処理は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理予定時間を算出するとよい。これにより、ジョブシナリオに含まれる一部のジョブのみを臨時に実行させる場合の処理予定時間を算出することができる。
【発明の効果】
【００３９】
本発明によれば、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、変更後の時間帯に予定されている他のジョブシナリオの影響を考慮したジョブシナリオの処理予定時間を算出する。これにより、実用的な実行予定時間帯を求め、ジョブスケジュールの変更を支援するジョブスケジュール変更支援システム、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の形態１にかかるジョブスケジュール変更支援システムを含む全体構成を示すブロック図である。
【図２】本発明の実施の形態１にかかるバッチ実行予定診断サーバのハードウェア構成を示すブロック図である。
【図３】本発明の実施の形態１にかかる臨時ジョブシナリオ実行予約処理の流れを示すフローチャート図である。
【図４】本発明の実施の形態１にかかるジョブ実行予約画面の例を示す図である。
【図５】本発明の実施の形態１にかかる実行予定診断条件入力画面の例を示す図である。
【図６】本発明の実施の形態１にかかる診断結果表示画面の例を示す図である。
【図７】本発明の実施の形態１にかかる実行予定診断処理の流れを示すフローチャート図である。
【図８】本発明の実施の形態１にかかる実行予定時間帯算出処理の流れを示すフローチャート図である。
【図９】本発明の実施の形態１にかかる実行予定時間帯補正処理の流れを示すフローチャート図である。
【図１０】本発明の実施の形態１にかかるリソース予定使用量算出処理の流れを示すフローチャート図である。
【図１１】本発明の実施の形態１にかかる診断処理の流れを示すフローチャート図である。
【図１２】本発明の実施の形態１にかかるリソース使用率及び多重度の実績と実行予定時間帯における多重度の関係を示す図である。
【図１３】本発明の実施の形態１にかかる多重度とリソース使用率の関係を示す図である。
【図１４】本発明の実施の形態１にかかる実行予定診断処理の条件と結果の例を示す図である。
【発明を実施するための形態】
【００４１】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００４２】
＜発明の実施の形態１＞
図１は、本発明の実施の形態１にかかるジョブスケジュール変更支援システム１００を含む全体構成を示すブロック図である。ジョブスケジュール変更支援システム１００は、予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援するものである。ジョブスケジュール変更支援システム１００は、バッチ実行予定診断サーバ３、ジョブシナリオ定義情報記憶部４１、ジョブスケジュール記憶部４２、ジョブ実行履歴記憶部４３、リソース使用実績記憶部４４、実行予定情報記憶部４５及び診断結果情報記憶部４６を備える。
【００４３】
ジョブシナリオ定義情報記憶部４１は、ジョブシナリオに属する複数のジョブの実行順序の定義情報をジョブシナリオ毎に格納する記憶装置である。ここで、実行順序の定義情報とは、複数のジョブの中における実行順序の先行又は後続の関係を定義した情報である。例えば、あるジョブを実行するための条件として、所定の他のジョブが先行して実行を完了していることを定義した情報である。尚、一つのジョブ当たりに先行又は後続するジョブの数は、複数であってもよい。
【００４４】
ジョブスケジュール記憶部４２は、複数のジョブシナリオ毎に定期的に実行するためのスケジュールを格納する記憶装置である。ここで、スケジュールとは、ジョブシナリオに属するジョブの内、最も先行して実行すべきジョブの開始時刻である。そして、スケジュールは、定期的な実行を予約するものである。例えば、毎日８時１０分に実行を開始することなどを示す。
【００４５】
ジョブ実行履歴記憶部４３は、複数のジョブシナリオ毎の処理時間の実績値と、時間帯毎に並列実行されたジョブの多重度を示す基準多重度とを格納する記憶装置である。具体的には、処理時間の実績値とは、複数のジョブシナリオに属するジョブ毎の処理時間の実績値を含むものであるとよい。また、基準多重度は、時間帯毎に並列実行されたジョブシナリオに属するジョブ数に基づき決定された値であるとよい。例えば、多重度は、時間帯当たりに実行されるジョブ数の最大値又は平均値等を数値で表したものであるか、複数のジョブ数を一つのランクに対応付けて表現してもよい。尚、基準多重度は、予め格納される必要はなく、後述するようにバッチ実行予定診断サーバ３において算出してもよい。
【００４６】
リソース使用実績記憶部４４は、複数のジョブシナリオの実行時における時間帯毎のリソース使用量の実績値を格納する記憶装置である。ここで、リソース使用量とは、例えば、バッチサーバ２ａ、２ｂ及び２ｃのいずれか又は複数におけるＣＰＵ（Central Processing Unit）、メモリ又はハードディスクの使用量又は使用率等である。尚、リソース使用量は、ネットワークのＩ／Ｏを含むものであっても構わない。
【００４７】
実行予定情報記憶部４５は、バッチ実行予定診断サーバ３により算出されたジョブシナリオにおける開始予定時刻と終了予定時刻により定まる時間帯を格納する記憶装置である。
【００４８】
診断結果情報記憶部４６は、バッチ実行予定診断サーバ３により生成された診断結果を格納する記憶装置である。
【００４９】
尚、ジョブシナリオ定義情報記憶部４１、ジョブスケジュール記憶部４２、ジョブ実行履歴記憶部４３、リソース使用実績記憶部４４、実行予定情報記憶部４５及び診断結果情報記憶部４６は、ハードディスクドライブ、フラッシュメモリ等の不揮発性の記憶装置である。
【００５０】
バッチ実行予定診断サーバ３は、汎用的なコンピュータシステムであり、端末５により選択されたジョブシナリオのスケジュールの変更を支援する処理を行う。バッチ実行予定診断サーバ３は、端末５からスケジュール変更を行う条件の入力を受け付け、受け付けた条件に基づいた実行予定診断処理を行い、診断結果を端末５へ出力する。また、バッチ実行予定診断サーバ３は、端末５から実行予約を受け付けた場合、要求された開始時刻を選択されたジョブシナリオについてジョブスケジュール記憶部４２へスケジュールとして登録する。バッチ実行予定診断サーバ３は、例えば、ＷＥＢサーバであり、ＷＥＢクライアントである端末５からの要求に応じて、応答するものであるとよい。
【００５１】
バッチ実行予定診断サーバ３は、実行予定診断処理を行うための受付部３０１と、処理標準時間算出部３０２と、実行予定時間帯算出部３０３と、多重度算出部３０４と、処理予定時間算出部３０５と、リソース使用量算出部３０６と、診断結果生成部３０７と、出力部３０８とを備える。
【００５２】
受付部３０１は、スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを端末５から受け付ける。このとき、受付部３０１は、選択されたジョブシナリオの実行における終了時刻期限を含めて基準時刻として入力を受け付ける。また、受付部３０１は、選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付ける。さらに、受付部３０１は、基準時刻を満たさない場合に許容できる遅延時間の限界値である許容時間の入力をさらに受け付ける。つまり、受付部３０１は、開始時刻期限及び終了時刻期限のそれぞれについて許容時間を受け付けることができる。そして、受付部３０１は、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付ける。また、受付部３０１は、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付ける。
【００５３】
処理標準時間算出部３０２は、ジョブ実行履歴記憶部４３に格納された処理時間の実績値に基づき、選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する。このとき、処理標準時間算出部３０２は、ジョブ実行履歴記憶部４３に格納されたジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を選択されたジョブシナリオに属するジョブ毎に算出し、ジョブシナリオ定義情報記憶部４１に格納された定義情報に基づき、当該算出されたジョブ処理標準時間から処理標準時間を算出する。さらに、処理標準時間算出部３０２は、受付部３０１により一部のジョブが選択された場合に、選択されたジョブについてのジョブ処理標準時間を算出する。
【００５４】
実行予定時間帯算出部３０３は、受付部３０１において入力された基準時刻と処理標準時間算出部３０２により算出された処理標準時間とを用いて、選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する。このとき、実行予定時間帯算出部３０３は、選択されたジョブシナリオが実行される場合に処理標準時間算出部３０２により算出された処理標準時間が経過したときの終了予定時刻が、受付部３０１において入力された終了時刻期限以前となるように開始予定時刻を定めることにより、選択されたジョブシナリオの実行予定時間帯を算出する。これにより、様々な制約条件を含めずに少なくとも終了時刻期限を満たすことができ、処理負荷を抑えることができる。
【００５５】
また、実行予定時間帯算出部３０３は、入力された開始時刻期限を開始予定時刻の初期値として終了予定時刻を求め、当該求められた終了予定時刻が入力された終了時刻期限以降である場合に、入力された開始時刻期限より前の時刻に開始予定時刻を定める。これにより、実行予定時間帯の算出の繰り返しを減らし、処理負荷を減らすことができる。
【００５６】
さらに、実行予定時間帯算出部３０３は、一旦、定められた開始予定時刻から、後述する処理予定時間算出部３０５により算出された処理予定時間が経過した終了予定時刻が、入力された終了時刻期限以降である場合に、当該終了予定時刻が入力された終了時刻期限以前となるように開始予定時刻を定めることにより、選択されたジョブシナリオの実行予定時間帯を算出する。これにより、補正された実行予定時間帯を用いて、ユーザがスケジュールの変更を容易に把握することができる。
【００５７】
また、実行予定時間帯算出部３０３は、受付部３０１において入力された許容時間を基準時刻に反映させた時刻に収まるように実行予定時間帯を算出する。これにより、制約条件に幅を持たせることができ、処理予定時間の算出の繰り返しを減らすことができる。
【００５８】
多重度算出部３０４は、ジョブスケジュール記憶部４２を参照し、実行予定時間帯算出部３０３により算出された実行予定時間帯において選択されたジョブシナリオを含めて並列実行されるジョブの多重度を示す予定多重度を算出する。具体的には、多重度算出部３０４は、実行予定時間帯算出部３０３により算出された実行予定時間帯において選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を予定多重度として算出する。尚、多重度算出部３０４は、上述した基準多重度を算出してもよい。
【００５９】
処理予定時間算出部３０５は、処理標準時間算出部３０２により処理標準時間が算出された時間帯におけるジョブ実行履歴記憶部４３に格納された基準多重度と、多重度算出部３０４により算出された予定多重度とを用いて、処理標準時間算出部３０２により算出された処理標準時間から、実行予定時間帯算出部３０３により算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する。
【００６０】
また、処理予定時間算出部３０５は、ジョブ毎の基準多重度と、ジョブ毎の予定多重度とを用いて、処理予定時間を算出する。すなわち、処理予定時間算出部３０５は、処理標準時間算出部３０２により処理標準時間が算出された時間帯におけるジョブ実行履歴記憶部４３に格納されたジョブ毎の基準多重度と、多重度算出部３０４により算出されたジョブ毎の予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を選択されたジョブシナリオに属するジョブ毎に算出し、ジョブシナリオ定義情報記憶部４１に格納された定義情報に基づき、当該算出されたジョブ処理予定時間から処理予定時間を算出する。これにより、ジョブ毎の多重度を考慮したジョブ毎の処理予定時間により、ジョブシナリオの処理予定時間をより正確に算出することができる。
【００６１】
さらに、処理予定時間算出部３０５は、受付部３０１により一部のジョブが選択された場合に、選択されたジョブについてのジョブ処理予定時間を算出する。これにより、ジョブシナリオに含まれる一部のジョブのみを臨時に実行させる場合の処理予定時間を算出することができる。
【００６２】
リソース使用量算出部３０６は、実行予定時間帯算出部３０３により算出された実行予定時間帯における前記リソース使用実績記憶部に格納されたリソース使用量の実績値及び算出された予定多重度に基づき、算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出する。
【００６３】
診断結果生成部３０７は、リソース使用量算出部３０６により算出されたリソース予定使用量が、受付部３０１により入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する。出力部３０８は、診断結果生成部３０７により生成された診断結果を表示手段である端末５へ出力する。これにより、実行予定時間帯及び診断結果を表示させることができ、ユーザによるスケジュールの変更を支援することができる。
【００６４】
尚、上述した実行予定診断処理は、実行予定時間帯算出処理、実行予定時間帯補正処理、リソース予定使用量算出処理及び診断処理により行われる。実行予定時間帯算出処理は、受付部３０１と、処理標準時間算出部３０２と、実行予定時間帯算出部３０３とにより実現される。実行予定時間帯補正処理は、多重度算出部３０４と、処理予定時間算出部３０５と、実行予定時間帯算出部３０３とにより実現される。リソース予定使用量算出処理は、リソース使用量算出部３０６により実現される。診断処理は、診断結果生成部３０７と、出力部３０８とにより実現される。
【００６５】
図２は、本発明の実施の形態１にかかるバッチ実行予定診断サーバ３のハードウェア構成を示すブロック図である。バッチ実行予定診断サーバ３は、ＣＰＵ３１と、ＲＡＭ（Random Access Memory）３２と、ＲＯＭ（Read Only Memory）３３と、通信部３４と、ハードディスク３５とを備える。また、ハードディスク３５は、不揮発性記憶装置であり、ＯＳ（Operating System）３５１、ＷＥＢサーバプログラム３５２、ＡＰサーバプログラム３５３及びバッチ実行予定診断プログラム３５４が格納されている。バッチ実行予定診断プログラム３５４は、選択されたジョブシナリオのスケジュールの変更を支援する処理が実装されたプログラムであり、具体的には、実行予定診断処理等を実現する。尚、ハードディスク３５は、ジョブシナリオ定義情報記憶部４１、ジョブスケジュール記憶部４２、ジョブ実行履歴記憶部４３、リソース使用実績記憶部４４、実行予定情報記憶部４５及び診断結果情報記憶部４６をさらに含むものであってもよい。
【００６６】
ＣＰＵ３１は、バッチ実行予定診断サーバ３における各種処理、ＲＡＭ３２、ＲＯＭ３３、通信部３４及びハードディスク３５へのアクセス等を制御する。通信部３４は、ジョブシナリオ定義情報記憶部４１、ジョブスケジュール記憶部４２、ジョブ実行履歴記憶部４３、リソース使用実績記憶部４４、実行予定情報記憶部４５及び診断結果情報記憶部４６、並びに、端末５との通信を行う。
【００６７】
バッチ実行予定診断サーバ３は、ＣＰＵ３１が、ＲＡＭ３２、ＲＯＭ３３又はハードディスク３５に格納されたＯＳ３５１、ＷＥＢサーバプログラム３５２、ＡＰサーバプログラム３５３及びバッチ実行予定診断プログラム３５４を読み込み、実行する。これにより、バッチ実行予定診断サーバ３は、ＷＥＢアプリケーションとして稼働し、受付部３０１と、処理標準時間算出部３０２と、実行予定時間帯算出部３０３と、多重度算出部３０４と、処理予定時間算出部３０５と、リソース使用量算出部３０６と、診断結果生成部３０７と、出力部３０８として動作する。
【００６８】
図１に戻り、端末５は、バッチ実行予定診断サーバ３の通信部３４に対して、ジョブスケジュール記憶部４２に格納されたジョブシナリオの内、スケジュール変更を行う対象のジョブシナリオを選択し、送信する。また、端末５は、スケジュール変更を行う条件及び実行予定診断の要求を送信する。そして、端末５は、バッチ実行予定診断サーバ３から、診断結果を受信する。そのとき、端末５は、受信した診断結果を表示手段（不図示）に表示する。また、端末５は、選択したジョブシナリオについて入力した開始時刻の実行予約の要求を送信する。
【００６９】
また、端末５は、図示しない構成として、マウス及びキーボード等の入力装置、並びに、ディスプレイ等の出力装置を備える。表示手段は、ブラウザ等の表示用ソフトウェアで実現され、例えば、ディスプレイ等の出力装置にバッチ実行予定診断サーバ３で生成された各種入力画面及び診断結果等を表示するものである。端末５は、例えば、通信部３４との通信機能と、ブラウザ等を備えたパーソナルコンピュータであればよい。尚、端末５は、バッチ実行予定診断サーバ３に含まれるものであってもよい。また、バッチ実行予定診断サーバ３に接続される端末の台数は、これに限定されない。また、端末５は、バッチ実行予定診断サーバ３にネットワーク（不図示）を介して接続されても構わない。
【００７０】
バッチジョブ管理サーバ１は、ジョブシナリオ定義情報記憶部４１及びジョブスケジュール記憶部４２を参照し、ジョブシナリオをバッチ実行する。その際、バッチジョブ管理サーバ１は、ジョブシナリオに属するジョブ毎に実行する。そして、バッチジョブ管理サーバ１は、バッチサーバ２ａ、２ｂ及び２ｃのいずれか又は複数においてジョブを実行する。尚、ジョブを実行するサーバは、予め定められていても、動的に変更しても構わない。
【００７１】
バッチサーバ２ａ、２ｂ及び２ｃは、バッチジョブ管理サーバ１から要求されたジョブを実行するコンピュータシステムである。尚、バッチサーバ２ａ、２ｂ及び２ｃの台数は、これに限定されない。
【００７２】
図３は、本発明の実施の形態１にかかる臨時ジョブシナリオ実行予約処理の流れを示すフローチャート図である。まず、バッチ実行予定診断サーバ３の受付部３０１は、端末５からスケジュール変更を行う条件の入力を受け付ける（Ｓ１０）。具体的には、まず、バッチ実行予定診断サーバ３は、端末５からの要求に応じてジョブシナリオの選択画面を送信し、端末５からジョブシナリオの選択を受け付ける。このとき、ジョブシナリオの選択画面に表示される複数のジョブシナリオは、ジョブシナリオ定義情報記憶部４１に定義情報が格納され、ジョブスケジュール記憶部４２に定期のスケジュールが格納されているものである。その後、バッチ実行予定診断サーバ３は、端末５へジョブシナリオ予約画面を送信する。
【００７３】
図４は、本発明の実施の形態１にかかるジョブ実行予約画面６の例を示す図である。ジョブシナリオ予約画面６は、ジョブシナリオ表示部６１、予約日時入力部６２、ジョブネット表示部６３１乃至６３３、条件入力ボタン６５及び実行予約ボタン６６を含む。ジョブシナリオ表示部６１は、端末５により選択されたジョブシナリオのＩＤを表示する。予約日時入力部６２は、ジョブシナリオ表示部６１に表示されたジョブシナリオの実行予約対象の日時の入力欄である。
【００７４】
ジョブネット表示部６３１乃至６３３は、ジョブシナリオ表示部６１に表示されたジョブシナリオに属するジョブネットのＩＤ等の情報の表示欄である。ここでは、当該ジョブシナリオは、３つのジョブネットを有する場合を示す。また、ジョブネット表示部６３３は、ジョブ選択部６４を表示する。ジョブ選択部６４は、ジョブネット表示部６３３に表示されるジョブネットに属するジョブのＩＤの表示欄及び登録又は非登録の選択の受付欄である。ここで、登録又は非登録とは、以降の実行予定診断及び実行予約における対象のジョブであるか否かを示す。つまり、端末５は、ジョブ選択部６４により、ジョブシナリオ表示部６１に表示されたジョブシナリオに属する複数のジョブの内、一部のジョブを選択することができる。
【００７５】
条件入力ボタン６５は、ジョブシナリオ予約画面６に入力された情報に基づき、後述する条件入力画面７へ画面遷移を要求する。実行予約ボタン６６は、ジョブシナリオ表示部６１に表示されたジョブシナリオ、予約日時入力部６２に入力された予約日時及びジョブ選択部６４に選択されたジョブについて、実行予約をバッチ実行予定診断サーバ３へ要求する。
【００７６】
ジョブシナリオ予約画面６において条件入力ボタン６５が押下された場合、受付部３０１は、条件入力画面７を返信する。図５は、本発明の実施の形態１にかかる条件入力画面７の例を示す図である。条件入力画面７は、ジョブシナリオ表示部７１、開始時刻期限入力部７２、終了時刻期限入力部７３、メモリ使用条件入力部７４、ＣＰＵ使用条件入力部７５、実行予定診断ボタン７６及び戻るボタン７７を含む。ジョブシナリオ表示部７１は、ジョブシナリオ表示部６１と同様である。
【００７７】
開始時刻期限入力部７２は、実行予定診断を行う際の制約条件である開始時刻期限の入力欄である。開始時刻期限とは、当該ジョブシナリオの実行を開始する時刻の期限である。開始時刻期限入力部７２は、希望時刻入力部７２１及び許容時間入力部７２２を含む。希望時刻入力部７２１は、開始の希望時刻についての年月日、時及び分の入力欄である。また、許容時間入力部７２２は、希望時刻入力部７２１に入力された希望時刻を満たさない場合に許容できる誤差の時及び分の入力欄である。
【００７８】
終了時刻期限入力部７３は、実行予定診断を行う際の制約条件である終了時刻期限の入力欄である。終了時刻期限とは、当該ジョブシナリオの実行を終了する見込みの時刻の期限である。終了時刻期限入力部７３は、希望時刻入力部７３１及び許容時間入力部７３２を含む。希望時刻入力部７３１は、終了の希望時刻についての年月日、時及び分の入力欄である。また、許容時間入力部７３２は、希望時刻入力部７３１に入力された希望時刻を満たさない場合に許容できる誤差の時及び分の入力欄である。
【００７９】
メモリ使用条件入力部７４は、実行予定診断を行う際のメモリの使用条件の入力欄である。メモリ使用条件入力部７４は、許容条件入力部７４１乃至７４３を含む。許容条件入力部７４１は、メモリ使用率の上限値の入力欄である。許容条件入力部７４２は、実行予定時間帯の内、許容条件入力部７４１に入力されたメモリ使用率の上限値を超えない時間帯の割合の上限値の入力欄である。許容条件入力部７４３は、ジョブシナリオに属する複数のジョブの内、許容条件入力部７４１に入力されたメモリ使用率の上限値を超えないジョブ数の割合の上限値の入力欄である。
【００８０】
ＣＰＵ使用条件入力部７５は、実行予定診断を行う際のＣＰＵの使用条件の入力欄である。ＣＰＵ使用条件入力部７５は、許容条件入力部７５１乃至７５３を含む。許容条件入力部７５１は、ＣＰＵ使用率の上限値の入力欄である。許容条件入力部７５２は、実行予定時間帯の内、許容条件入力部７５１に入力されたＣＰＵ使用率の上限値を超えない時間帯の割合の上限値の入力欄である。許容条件入力部７５３は、ジョブシナリオに属する複数のジョブの内、許容条件入力部７５１に入力されたＣＰＵ使用率の上限値を超えないジョブ数の割合の上限値の入力欄である。
【００８１】
バッチ実行予定診断サーバ３は、開始時刻期限入力部７２及び終了時刻期限入力部７３に入力された条件を、実行予定時間帯を算出するに当たり絶対的な条件として扱う。一方、バッチ実行予定診断サーバ３は、メモリ使用条件入力部７４及びＣＰＵ使用条件入力部７５に入力された条件を、実行予定時間帯を算出するに当たり考慮しない。その代りに、診断処理における判定の閾値に用いる。
【００８２】
実行予定診断ボタン７６は、ジョブシナリオ予約画面６及び条件入力画面７に入力された情報に基づき、実行予定診断を要求する。戻るボタン７７は、ジョブシナリオ予約画面６へ画面遷移を要求する。
【００８３】
条件入力画面７において実行予定診断ボタン７６が押下された場合、受付部３０１は、端末５からジョブシナリオ予約画面６及び条件入力画面７に入力された情報を条件の入力として受け付ける。つまり、受付部３０１は、スケジュール変更を行う対象のジョブシナリオの選択と、基準時刻として開始時刻期限及び終了時刻期限と、メモリ使用条件及びＣＰＵ使用条件とを受け付ける。
【００８４】
図３に戻り、続いて、バッチ実行予定診断サーバ３は、実行予約診断処理を行う（Ｓ２０）。尚、実行予約診断処理の詳細については、図７以降で詳述する。そして、バッチ実行予定診断サーバ３の出力部３０８は、実行予約診断処理により生成された診断結果を端末５へ出力する（Ｓ３０）。例えば、出力部３０８は、診断結果表示画面８を端末５へ出力する。
【００８５】
ここで、端末５は、出力部３０８により出力された診断結果を表示手段により出力装置に表示する。図６は、本発明の実施の形態１にかかる診断結果表示画面８の例を示す図である。診断結果表示画面８は、ジョブシナリオ表示部８１、実行予定時間帯表示部８２、リソース診断結果表示部８３、メモリ診断結果表示部８４、ＣＰＵ診断結果表示部８５、条件入力ボタン８６及び実行予約ボタン８７を含む。ジョブシナリオ表示部８１は、ジョブシナリオ表示部６１と同様である。
【００８６】
実行予定時間帯表示部８２は、バッチ実行予定診断サーバ３において行われた実行予約診断処理により算出された実行予定時間帯の表示欄である。実行予定時間帯表示部８２は、開始予定時刻表示部８２１及び終了予定時刻表示部８２２を含む。開始予定時刻表示部８２１は、算出された開始予定時刻を表示する。終了予定時刻表示部８２２は、算出された終了予定時刻を表示する。
【００８７】
リソース診断結果表示部８３は、実行予約診断処理により算出された実行予定時間帯におけるリソース予定使用量に関する総合的な診断結果を表示する。メモリ診断結果表示部８４は、算出された実行予定時間帯におけるメモリ使用率についての診断結果を表示する。ＣＰＵ診断結果表示部８５は、算出された実行予定時間帯におけるＣＰＵ使用率についての診断結果を表示する。
【００８８】
メモリ診断結果表示部８４は、診断結果表示部８４１乃至８４３を含む。診断結果表示部８４１は、メモリ使用率に関する総合的な診断結果を表示する。診断結果表示部８４２は、実行予定時間帯の内、メモリ使用率の上限値を満たす時間帯の割合を表示する。診断結果表示部８４３は、ジョブシナリオに属する複数のジョブの内、メモリ使用率の上限値を満たすジョブ数の割合を表示する。
【００８９】
ＣＰＵ診断結果表示部８５は、診断結果表示部８５１乃至８５３を含む。診断結果表示部８５１は、ＣＰＵ使用率に関する総合的な診断結果を表示する。診断結果表示部８５２は、実行予定時間帯の内、ＣＰＵ使用率の上限値を満たす時間帯の割合を表示する。診断結果表示部８５３は、ジョブシナリオに属する複数のジョブの内、ＣＰＵ使用率の上限値を満たすジョブ数の割合を表示する。
【００９０】
条件入力ボタン８６は、条件入力ボタン６５と同様であり、実行予約ボタン８７は、実行予約ボタン６６と同様である。
【００９１】
図３に戻り、バッチ実行予定診断サーバ３は、診断結果表示画面８における端末５からの要求が実行予約であるか否かを判定する（Ｓ４０）。診断結果表示画面８において条件入力ボタン８６が押下された場合、実行予約でないと判定し、受付部３０１は、ステップＳ１０の処理へ戻る。診断結果表示画面８において実行予約ボタン８７が押下された場合、実行予約であると判定し、受付部３０１は、ジョブシナリオ表示部８１に表示されたジョブシナリオ及び実行予定時間帯表示部８２に表示された実行予定時間帯についてジョブスケジュール記憶部４２へスケジュールとして登録する（Ｓ５０）。
【００９２】
図７は、本発明の実施の形態１にかかる実行予定診断処理の流れを示すフローチャート図である。まず、バッチ実行予定診断サーバ３は、実行予定時間帯算出処理を行う（Ｓ２１）。図８は、本発明の実施の形態１にかかる実行予定時間帯算出処理の流れを示すフローチャート図である。
【００９３】
図８において、まず、処理標準時間算出部３０２は、各ジョブのジョブ処理標準時間を算出する（Ｓ２１１）。具体的には、まず、処理標準時間算出部３０２は、ジョブ実行履歴記憶部４３を参照し、受付部３０１により選択されたジョブシナリオに属するジョブ毎の処理時間の実績値を取得する。次に、処理標準時間算出部３０２は、取得したジョブ毎の処理時間の実績値からジョブ処理標準時間を算出する。また、受付部３０１により一部のジョブが選択された場合に、処理標準時間算出部３０２は、選択されたジョブについての処理時間の実績値を取得して、選択されたジョブについてのジョブ処理標準時間を算出する。ここで、ジョブ処理標準時間は、過去の稼動実績データから算出される平均値、最大値又は最大値の８割程度などであればよい。また、処理標準時間算出部３０２は、過去の稼動実績データから異常終了又は警告終了した場合を除くことが望ましい。
【００９４】
次に、処理標準時間算出部３０２は、ジョブシナリオの処理標準時間を算出する（Ｓ２１２）。具体的には、まず、処理標準時間算出部３０２は、ジョブシナリオ定義情報記憶部４１を参照し、選択されたジョブシナリオにおける定義情報を取得する。次に、処理標準時間算出部３０２は、取得した定義情報に定義された当該ジョブシナリオ内のジョブの実行順序によりステップＳ２１１で算出されたジョブ処理標準時間を加算して処理標準時間を算出する。例えば、ジョブＡの実行完了後に実行されるジョブがジョブＢである場合、処理標準時間算出部３０２は、ジョブＡのジョブ処理標準時間にジョブＢのジョブ処理標準時間を加算して当該ジョブシナリオの処理標準時間とする。また、ジョブＡの実行完了後に実行されるジョブがジョブＢ及びジョブＣに分岐する場合、処理標準時間算出部３０２は、ジョブＢ及びジョブＣのジョブ処理標準時間を比較し、大きい方のジョブ処理標準時間のみを加算に用いる。
【００９５】
続いて、実行予定時間帯算出部３０３は、入力された開始時刻期限を開始予定時刻に設定する（Ｓ２１３）。すなわち、実行予定時間帯算出部３０３は、希望時刻入力部７２１に入力された希望時刻を開始予定時刻に設定する。または、許容時間入力部７２２に許容時間が入力されている場合は、実行予定時間帯算出部３０３は、希望時刻に許容時間を加算した時刻を開始予定時刻に設定する。
【００９６】
そして、実行予定時間帯算出部３０３は、実行予定時間帯を算出する（Ｓ２１４）。具体的には、実行予定時間帯算出部３０３は、ステップＳ２１３において設定された開始予定時刻からステップＳ２１２において算出された処理標準時間を経過させた場合の時刻を終了予定時刻として算出する。
【００９７】
ここで、実行予定時間帯算出部３０３は、算出された終了予定時刻が終了時刻期限以前であるか否かを判定する（Ｓ２１５）。尚、終了時刻期限は、希望時刻入力部７３１に入力された希望時刻とする。又は、許容時間入力部７３２に許容時間が入力されている場合は、終了時刻期限は、希望時刻に許容時間を加算した時刻とする。
【００９８】
ステップＳ２１５において終了予定時刻が終了時刻期限より後であると判定された場合、実行予定時間帯算出部３０３は、開始予定時刻を早める（Ｓ２１６）。すなわち、実行予定時間帯算出部３０３は、開始予定時刻を所定の時間で前倒しした時刻に設定する。ここで、所定の時間は、少なくとも終了予定時刻と終了時刻期限との差分以上である。例えば、当該差分の数倍であればよい。または、許容時間が入力されている場合は、当該差分と許容時間を加えた時間であってもよい。また、所定の時間は、例えば３０分など、予め登録されたものを用いても構わない。尚、ステップＳ２１６において、実行予定時間帯算出部３０３は、早めた開始予定時刻が所定の条件を満たすか否かを判定するとよい。例えば、現在時刻から既定の時間が経過した以後である場合に、ステップＳ２１４へ戻るようにするとよい。また、現在時刻から既定の時間が経過する前である場合には、実行予定時間帯算出処理を中断し、診断結果を"ＮＧ"としてもよい。この場合、既定の時間については、予め登録されたものを用いても構わない。または、条件入力画面７において、開始予定時刻を早める時刻の上限値の入力を受け付けるようにしても構わない。以降、バッチ実行予定診断サーバ３は、ステップＳ２１４、Ｓ２１５及びＳ２１６を繰り返す。但し、ステップＳ２１４における開始予定時刻は、ステップＳ２１６により設定された開始予定時刻となる。
【００９９】
ステップＳ２１５において終了予定時刻が終了時刻期限以前であると判定された場合、実行予定時間帯算出部３０３は、各算出結果を保存する（Ｓ２１７）。具体的には、実行予定時間帯算出部３０３は、ステップＳ２１１において算出されたジョブ毎のジョブ処理標準時間と、ステップＳ２１２において算出されたジョブシナリオの処理標準時間と、直近のステップＳ２１４において算出された実行予定時間帯、すなわち、開始予定時刻及び終了予定時刻とを実行予定情報記憶部４５に格納する。
【０１００】
続いて、図７に戻り、バッチ実行予定診断サーバ３は、実行予定時間帯補正処理を行う（Ｓ２２）。図９は、本発明の実施の形態１にかかる実行予定時間帯補正処理の流れを示すフローチャート図である。
【０１０１】
図９において、まず、多重度算出部３０４は、当初スケジュールにおける基準多重度を算出する（Ｓ２２１）。具体的には、まず、多重度算出部３０４は、ジョブスケジュール記憶部４２を参照し、選択されたジョブシナリオの当初スケジュールにおいて並列実行されたジョブ数である基準多重度を算出し、ジョブ実行履歴記憶部４３に格納する。尚、多重度算出部３０４は、定期スケジュールにおけるジョブ実行の終了のタイミングで都度、基準多重度を算出し、ジョブ実行履歴記憶部４３に格納するようにしてもよい。尚、当初スケジュールとは、ステップＳ２１１において処理標準時間算出部３０２により処理標準時間が算出された時間帯である。
【０１０２】
次に、多重度算出部３０４は、実行予定時間帯における予定多重度を算出する（Ｓ２２２）。具体的には、まず、多重度算出部３０４は、ステップＳ２１４において算出された実行予定時間帯を実行予定情報記憶部４５から取得する。次に、多重度算出部３０４は、ジョブスケジュール記憶部４２を参照し、取得した実行予定時間帯において並列実行されるジョブ数を算出する。そして、多重度算出部３０４は、算出されたジョブ数に選択されたジョブシナリオにおける時間帯ごとのジョブ数を加算して、当該実行予定時間帯における予定多重度を算出する。
【０１０３】
そして、処理予定時間算出部３０５は、基準多重度及び予定多重度を用いて各ジョブのジョブ処理予定時間を算出する（Ｓ２２３）。具体的には、まず、処理予定時間算出部３０５は、当初スケジュールにおける基準多重度をジョブ実行履歴記憶部４３から取得する。次に、処理予定時間算出部３０５は、基準多重度と予定多重度との関係からジョブ処理標準時間を補正してジョブ処理予定時間を算出する。例えば、処理予定時間算出部３０５は、基準多重度と予定多重度との比率に応じて、以下の式（１）を用いて算出するとよい。または、処理予定時間算出部３０５は、基準多重度と予定多重度との組み合わせに応じて予め定められた係数を用いても構わない。
ジョブ処理予定時間  ＝  ジョブ処理標準時間  ×  予定多重度  ／  基準多重度      ・・・（１）
【０１０４】
そして、処理予定時間算出部３０５は、算出されたジョブ処理予定時間を用いてジョブシナリオの処理予定時間を算出する（Ｓ２２４）。具体的には、まず、処理予定時間算出部３０５は、ジョブシナリオ定義情報記憶部４１を参照し、選択されたジョブシナリオにおける定義情報を取得する。次に、処理予定時間算出部３０５は、取得した定義情報に定義された当該ジョブシナリオ内のジョブの実行順序によりステップＳ２２３で算出されたジョブ処理予定時間を加算して処理予定時間を算出する。
【０１０５】
続いて、実行予定時間帯算出部３０３は、実行予定時間帯を補正する（Ｓ２２５）。具体的には、まず、実行予定時間帯算出部３０３は、実行予定情報記憶部４５から開始予定時刻を取得する。次に、実行予定時間帯算出部３０３は、取得した開始予定時刻からステップＳ２２４において算出された処理予定時間を経過させた場合の時刻を終了予定時刻として補正する。
【０１０６】
ここで、実行予定時間帯算出部３０３は、補正された終了予定時刻が終了時刻期限以前であるか否かを判定する（Ｓ２２６）。ステップＳ２２６において終了予定時刻が終了時刻期限より後であると判定された場合、実行予定時間帯算出部３０３は、開始予定時刻を早める（Ｓ２２７）。以降、バッチ実行予定診断サーバ３は、ステップＳ２２２乃至Ｓ２２７を繰り返す。但し、当該繰り返しにおいては、各ステップにおける入力値は、直前に実行されたステップＳ２２２乃至Ｓ２２５において算出又は補正された値を用いる。具体的には、ステップＳ２２２における実行予定時間帯は、ステップＳ２２５により補正された実行予定時間帯となる。また、ステップＳ２２３において、「ジョブ処理標準時間を補正してジョブ所定予定時間を算出する」とあったものが、「直前のステップＳ２２３において算出されたジョブ処理予定時間を補正してジョブ所定予定時間を算出する」となる。例えば、式（１）のジョブ処理標準時間は、直前のステップＳ２２３において算出されたジョブ処理予定時間となる。また、ステップＳ２２５における開始予定時刻は、直前のステップＳ２２７により設定された開始予定時刻となる。
【０１０７】
ステップＳ２２６において終了予定時刻が終了時刻期限以前であると判定された場合、実行予定時間帯算出部３０３は、各算出結果を保存する（Ｓ２２８）。具体的には、実行予定時間帯算出部３０３は、ステップＳ２２２において算出されたジョブ毎の予定多重度と、ステップＳ２２３において算出されたジョブ毎のジョブ処理予定時間と、ステップＳ２２４において算出されたジョブシナリオの処理予定時間と、直近のステップＳ２２５において補正された実行予定時間帯、すなわち、開始予定時刻及び終了予定時刻とを実行予定情報記憶部４５に格納する。
【０１０８】
続いて、図７に戻り、バッチ実行予定診断サーバ３は、リソース予定使用量算出処理を行う（Ｓ２３）。図１０は、本発明の実施の形態１にかかるリソース予定使用量算出処理の流れを示すフローチャート図である。
【０１０９】
図１０において、まず、リソース使用量算出部３０６は、リソース使用量の実績値を取得する（Ｓ２３１）。具体的には、まず、リソース使用量算出部３０６は、ステップＳ２２５において算出された実行予定時間帯を実行予定情報記憶部４５から取得する。次に、リソース使用量算出部３０６は、リソース使用実績記憶部４４から、取得した実行予定時間帯におけるリソース使用量の実績値を取得する。ここでは、リソース使用量の実績値は、例えば、メモリ使用量及びＣＰＵ使用量等である。
【０１１０】
次に、リソース使用量算出部３０６は、実行予定時間帯におけるリソース実績使用率を算出する（Ｓ２３２）。具体的には、リソース使用量算出部３０６は、取得した実行予定時間帯におけるメモリ使用量及びＣＰＵ使用量からリソース実績使用率を算出する。
【０１１１】
そして、リソース使用量算出部３０６は、予定多重度を用いて、実行予定時間帯におけるリソース予定使用率を算出する（Ｓ２３３）。具体的には、まず、リソース使用量算出部３０６は、実行予定情報記憶部４５から実行予定時間帯における基準多重度及び予定多重度を取得する。次に、リソース使用量算出部３０６は、実行予定時間帯における基準多重度と予定多重度との関係からリソース実績使用率を補正してリソース予定使用率を算出する。
【０１１２】
続いて、図７に戻り、バッチ実行予定診断サーバ３は、診断処理を行う（Ｓ２４）。図１１は、本発明の実施の形態１にかかる診断処理の流れを示すフローチャート図である。
【０１１３】
図１１において、まず、診断結果生成部３０７は、時間帯毎にリソース予定使用率が希望値を超えたか否かの判定結果を生成する（Ｓ２４１）。具体的には、まず、診断結果生成部３０７は、メモリの予定使用率が許容条件入力部７４１に入力されたメモリの希望値を超えたか否かを時間帯毎に判定し、超えない場合に判定結果を"ＯＫ"、超えた場合に判定結果を"ＮＧ"とする。同様に、診断結果生成部３０７は、ＣＰＵの予定使用率が許容条件入力部７５１に入力されたＣＰＵの希望値を超えたか否かを時間帯毎に判定し、超えない場合に判定結果を"ＯＫ"、超えた場合に判定結果を"ＮＧ"とする。
【０１１４】
次に、診断結果生成部３０７は、全ての判定結果から総合診断結果を生成する（Ｓ２４２）。具体的には、まず、診断結果生成部３０７は、生成されたメモリにおける判定結果が"ＯＫ"である時間帯が許容条件入力部７４２に入力された上限値を満たすか否かを判定する。また、診断結果生成部３０７は、生成されたメモリにおける判定結果が"ＯＫ"であるジョブ数の割合が許容条件入力部７４３に入力された上限値を満たすか否かを判定する。同様に、診断結果生成部３０７は、生成されたＣＰＵにおける判定結果が"ＯＫ"である時間帯が許容条件入力部７５２に入力された上限値を満たすか否かを判定する。また、診断結果生成部３０７は、生成されたＣＰＵにおける判定結果が"ＯＫ"であるジョブ数の割合が許容条件入力部７５３に入力された上限値を満たすか否かを判定する。その後、診断結果生成部３０７は、上述した４種類の判定において全て"ＯＫ"であった場合に、総合診断結果を"ＯＫ"として生成する。また、診断結果生成部３０７は、上述した４種類の判定において一つ以上"ＮＧ"であった場合に総合診断結果を"ＮＧ"として生成する。尚、判定の順序、総合診断結果の判定の条件等は、上述したものに限定されない。これにより、算出された実行予定時間帯におけるリソース使用上のリスクを予め把握し、ユーザの判断を支援することができる。
【０１１５】
このように、本発明によれば、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、変更後の時間帯に予定されている他のジョブシナリオの影響を考慮したジョブシナリオの処理予定時間を算出する。これにより、実用的な実行予定時間帯を求め、ジョブスケジュールの変更を支援することができる。
【０１１６】
図１２は、本発明の実施の形態１にかかるリソース使用率及び多重度の実績と実行予定時間帯における多重度の関係を示す図である。図１２において、横軸は、実行予定時間帯を示し、縦軸は、リソース使用率を示す。リソース実績使用率Ｌ１は、ステップＳ２３２において算出されたリソース実績使用率である。基準多重度Ｌ２は、ステップＳ２２１において取得された実行予定時間帯における基準多重度である。予定多重度Ｌ３は、ステップＳ２２２において取得された実行予定時間帯における予定多重度である。
【０１１７】
また、図１３は、本発明の実施の形態１にかかる多重度とリソース使用率の関係を示す図である。図１２及び図１３から、リソース実績使用率Ｌ１と基準多重度Ｌ２とに相関関係があることがわかる。そのため、診断結果生成部３０７は、基準多重度Ｌ２と予定多重度Ｌ３との関係からリソース予定使用率を算出することができる。
【０１１８】
図１４は、本発明の実施の形態１にかかる実行予定診断処理の条件と結果の例を示す図である。以下では、図１４を用いて許容時間の有無による効果について説明する。但し、リソース使用量について考慮しないものとする。まず、同じジョブシナリオが選択された場合のケースＡ１とケースＡ２を比較する。
【０１１９】
ケースＡ１において、バッチ実行予定診断サーバ３は、開始時刻期限"８：００"及び終了時刻期限"１５：００"として入力を受け付ける。そして、バッチ実行予定診断サーバ３は、ケースＡ１の条件により実行予定診断処理を行ったところ、開始予定時刻が"８：００"の場合、処理予定時間が"７時間１０分"と算出されたとする。この場合、終了予定時刻が"１５：１０"となり、終了時刻期限"１５：００"を満たさない。そのため、バッチ実行予定診断サーバ３は、開始予定時刻を、例えば３０分前倒しを行い、"７：３０"として再度、処理予定時間を算出する。ここでは、予定多重度も再度算出されるため、処理予定時間が"７時間００分"となったとする。この場合、終了予定時刻が"１４：３０"となり、終了時刻期限"１５：００"を満たすため、診断結果が"ＯＫ"として終了する。
【０１２０】
一方、ケースＡ２において、バッチ実行予定診断サーバ３は、開始時刻期限"８：００"、終了時刻期限"１５：００"及び終了遅延許容時間"１０分"として入力を受け付ける。そして、ケースＡ１の場合と同様に、バッチ実行予定診断サーバ３は、ケースＡ２の条件により実行予定診断処理を行ったところ、開始予定時刻が"８：００"の場合、処理予定時間が"７時間１０分"と算出されたとする。この場合、終了予定時刻が"１５：１０"となり、終了時刻期限"１５：１０"を満たすため、診断結果が"ＯＫ"として終了する。
【０１２１】
このように、ケースＡ１及びＡ２では、同じジョブシナリオのスケジュール変更について、同じ開始時刻期限及び終了時刻期限に対して、共に診断結果"ＯＫ"を得ることができる。そして、ケースＡ１は、ケースＡ２に比べて入力条件が少ないため、制約条件を細かく設定する必要なく妥当な結果を得ることができるという効果を奏する。一方、ケースＡ１は、処理予定時間の算出を２回繰り返しているが、ケースＡ２は、入力条件に終了遅延許容時間を設定することにより、処理予定時間の算出において開始予定時刻の前倒しを行う必要なく、１回で診断結果"ＯＫ"とすることができる。そのため、終了遅延許容時間を設定することで、実行予定診断処理の負荷を抑えることができる。
【０１２２】
また、ケースＢ１とケースＢ２では、開始遅延許容時間に関する例を説明する。但し、ケースＡ１及びＡ２とは異なるジョブシナリオが選択されたものとする。
【０１２３】
ケースＢ１において、バッチ実行予定診断サーバ３は、開始時刻期限"８：００"及び終了時刻期限"１５：００"として入力を受け付ける。そして、バッチ実行予定診断サーバ３は、ケースＢ１の条件により実行予定診断処理を行ったところ、開始予定時刻が"８：００"の場合、処理予定時間が"６時間４０分"と算出されたとする。この場合、終了予定時刻が"１４：４０"となり、終了時刻期限"１５：００"を満たすため、診断結果が"ＯＫ"として終了する。
【０１２４】
一方、ケースＢ２において、バッチ実行予定診断サーバ３は、開始時刻期限"８：００"、開始遅延許容時間"１０分"及び終了時刻期限"１５：００"として入力を受け付ける。そして、バッチ実行予定診断サーバ３は、ケースＢ２の条件により実行予定診断処理を行ったところ、開始予定時刻が"８：１０"の場合、予定多重度がケースＢ１と異なるため、処理予定時間が"６時間３５分"と算出されたとする。この場合、終了予定時刻が"１４：４５"となり、終了時刻期限"１５：００"を満たすため、診断結果が"ＯＫ"として終了する。
【０１２５】
このように、ケースＢ１及びＢ２では、同じジョブシナリオのスケジュール変更について、同じ開始時刻期限及び終了時刻期限に対して、共に診断結果"ＯＫ"を得ることができる。ケースＢ２は、入力条件に開始遅延許容時間を設定することにより、ケースＢ１で算出された開始予定時刻より遅い時刻でありながら、ケースＢ１と同じ終了時刻期限を満たすことができる。そのため、例えば、開始時刻までに余裕がない場合には、開始遅延許容時間を設定することで、終了時刻期限を満たしつつ、できるだけ開始予定時刻が遅くすることができる。これにより、臨時のジョブシナリオの開始までの余裕をより確保するようにスケジュールを変更することができる。
【０１２６】
例えば、臨時にジョブシナリオの投入を行う場合には、開始時刻期限及び終了時刻期限を十分に検討した上で、厳密な制約条件として入力することが、時間的な制約のために困難なことがある。しかし、本発明の実施の形態１にかかるジョブスケジュール変更支援システム１００により、開始時刻期限及び終了時刻期限の第一希望としての希望時刻を入力すると共に、実際の制約条件を許容時間として入力することで、一度の実行予約診断処理によりこれらの条件を加味した結果を得ることができる。
【０１２７】
＜その他の発明の実施の形態＞
尚、本発明の実施の形態１にかかるジョブスケジュール変更支援システム１００では、開始予定時刻及び終了予定時刻を算出していたが、少なくとも選択されたジョブシナリオにおける処理予定時間を算出すればよい。これにより、処理予定時間に基づいたスケジュールの変更を支援することができる。
【０１２８】
さらに、本発明の実施の形態１にかかるジョブスケジュール変更支援システム１００では、ジョブ毎の多重度を扱う必要はなく、少なくともジョブシナリオ毎の多重度としてもよい。例えば、多重度を時間帯毎に並列実行されたジョブシナリオ数としてもよい。
【０１２９】
また、本発明の実施の形態１の受付部３０１は、選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付けることにより、選択されたジョブを一つの新たなジョブシナリオとすることができ、複数のジョブのスケジュールを一括して変更することができる。
【０１３０】
尚、受付部３０１は、開始時刻期限の代わりに、開始を希望する最早の開始予定時刻を受け付けてもよい。または、受付部３０１は、開始時刻期限の許容時間として、前倒しの上限時間又は前倒しの時間幅を受け付けても構わない。
【０１３１】
本発明の実施の形態１では、リソース予定使用量の希望値を制約条件としていないため、リソース予定使用量の一部分が希望値を上回ったとしても、実行予定時間帯を算出する。そのため、リソース予定使用量の異なる閾値を再度入力し、診断をやり直すことなく、リスクを含めた結果を算出する。そのため、限られた時間内で、妥当な結果を出すことができる。
【０１３２】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【０１３３】
１００  ジョブスケジュール変更支援システム
１  バッチジョブ管理サーバ
２ａ  バッチサーバ
２ｂ  バッチサーバ
２ｃ  バッチサーバ
３  バッチ実行予定診断サーバ
３０  制御部
３０１  受付部
３０２  処理標準時間算出部
３０３  実行予定時間帯算出部
３０４  多重度算出部
３０５  処理予定時間算出部
３０６  リソース使用量算出部
３０７  診断結果生成部
３０８  出力部
３１  ＣＰＵ
３２  ＲＡＭ
３３  ＲＯＭ
３４  通信部
３５  ハードディスク
３５１  ＯＳ
３５２  ＷＥＢサーバプログラム
３５３  ＡＰサーバプログラム
３５４  バッチ実行予定診断プログラム
４１  ジョブシナリオ定義情報記憶部
４２  ジョブスケジュール記憶部
４３  ジョブ実行履歴記憶部
４４  リソース使用実績記憶部
４５  実行予定情報記憶部
４６  診断結果情報記憶部
５  端末
６  ジョブシナリオ予約画面
６１  ジョブシナリオ表示部
６２  予約日時入力部
６３１  ジョブネット表示部
６３２  ジョブネット表示部
６３３  ジョブネット表示部
６４  ジョブ選択部
６５  条件入力ボタン
６６  実行予約ボタン
７  条件入力画面
７１  ジョブシナリオ表示部
７２  開始時刻期限入力部
７２１  希望時刻入力部
７２２  許容時間入力部
７３  終了時刻期限入力部
７３１  希望時刻入力部
７３２  許容時間入力部
７４  メモリ使用条件入力部
７４１  許容条件入力部
７４２  許容条件入力部
７４３  許容条件入力部
７５  ＣＰＵ使用条件入力部
７５１  許容条件入力部
７５２  許容条件入力部
７５３  許容条件入力部
７６  実行予定診断ボタン
７７  戻るボタン
８  診断結果表示画面
８１  ジョブシナリオ表示部
８２  実行予定時間帯表示部
８２１  開始予定時刻表示部
８２２  終了予定時刻表示部
８３  リソース診断結果表示部
８４  メモリ診断結果表示部
８４１  診断結果表示部
８４２  診断結果表示部
８４３  診断結果表示部
８５  ＣＰＵ診断結果表示部
８５１  診断結果表示部
８５２  診断結果表示部
８５３  診断結果表示部
８６  条件入力ボタン
８７  実行予約ボタン
Ｌ１  リソース実績使用率
Ｌ２  基準多重度
Ｌ３  予定多重度
【図１】
2010231694.tif 000003
【図２】
2010231694.tif 000004
【図３】
2010231694.tif 000005
【図４】
2010231694.tif 000006
【図５】
2010231694.tif 000007
【図６】
2010231694.tif 000008
【図７】
2010231694.tif 000009
【図８】
2010231694.tif 000010
【図９】
2010231694.tif 000011
【図１０】
2010231694.tif 000012
【図１１】
2010231694.tif 000013
【図１２】
2010231694.tif 000014
【図１３】
2010231694.tif 000015
【図１４】
2010231694.tif 000016