説明

ジョブスケジュール変更支援システム、方法及びプログラム

【課題】予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、実用的な実行予定時間帯を求めること。
【解決手段】スケジュールの変更を行うジョブシナリオの選択と、基準時刻の入力とを受け付け、処理時間の実績値に基づき、選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出し、入力された基準時刻と算出された処理標準時間とを用いて、選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出し、処理標準時間が算出された時間帯における並列実行されたジョブの多重度を示す基準多重度と、算出された実行予定時間帯において選択されたジョブシナリオを含めて並列実行されるジョブの予定多重度とを用いて、算出された処理標準時間から算出された実行予定時間帯において選択されたジョブシナリオが実行される場合の処理予定時間を算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジョブスケジュール変更支援システム、方法及びプログラムに関し、特に、予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援するためのジョブスケジュール変更支援システム、方法及びプログラムに関する。
【背景技術】
【0002】
近年、情報システムの大規模化に伴い、業務を実現するためのプログラムの単位であるジョブが多数のものとなっている。そこで、バッチジョブ管理システムは、予め多数のジョブを定期のスケジュールとして登録し、当該スケジュールに従って、登録されたジョブを順次実行する。
【0003】
通常、バッチジョブ管理システムにおいては、複数のジョブの中で実行順序に先行又は後続の関係のあるジョブをまとめてジョブネットという単位で管理し、さらに、複数のジョブネットについて実行順序に先行又は後続の関係のあるジョブネットをまとめてジョブシナリオという単位で管理する。つまり、バッチジョブ管理システムは、ジョブシナリオの開始時刻をスケジュールとして登録し、当該ジョブシナリオを登録された開始時刻から実行させる。これにより、当該ジョブシナリオに属するジョブネット及びジョブが順次実行される。
【0004】
特許文献1には、ジョブスケジュールの最適化に関する技術が開示されている。特許文献1にかかるジョブスケジューリング方法では、ジョブを実行した際のリソース使用量情報を計測し、当該ジョブの実行時間及びリソース使用量の予測を行い、リソース使用量の閾値を超えた場合、開始時刻を遅らせて、再度、実行時間の予測を行う。
【0005】
また、特許文献2には、ジョブスケジュールの作成に関する技術が開示されている。特許文献2にかかるジョブスケジュール計画システムでは、対象ジョブの指定、制約条件等を入力し、ジョブのスケジューリングを行い、結果を表示する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−11023号公報
【特許文献2】特開平08−30468号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1では、まず、登録されたジョブを試験的に実行し、当該実行結果と制約条件に基づいて最適なスケジュールを求めるものである。特許文献2は、ジョブスケジュールを作成する場合の入出力インタフェースに関するものである。そして、特許文献1及び2は、ジョブスケジュールを新規に作成する場合の技術である。
【0008】
しかしながら、実際に定期のスケジュールに基づきバッチジョブ管理システムを運用する中では、業務の都合等により定期のスケジュール通りにジョブシナリオが実行できないことがある。その場合、開始時刻を遅らせて臨時に当該ジョブシナリオを実行することになる。このとき、当該ジョブシナリオの臨時の実行時間帯と同じ時間帯に、他のジョブシナリオに属するジョブが定期のスケジュール通りに正常に実行中又は実行予定の可能性がある。そのため、ジョブを実行しているサーバのCPUやメモリの使用量が上限を超えるなどのリソースが不足等の原因で、エラーが発生してしまう可能性がある。これにより、例えば、サーバの稼働が停止するなどにより、被害が拡大する恐れがある。
【0009】
しかし、定期のスケジュールに登録されたジョブシナリオ及びジョブシナリオに属するジョブの数は、例えば、数百から数千といったオーダーとなる場合がある。そして、ジョブシナリオ内及びジョブシナリオ間での依存関係は、複雑である。そのため、正規のジョブシナリオにかかる処理に影響を与えることなく、臨時でジョブシナリオを実行させるために、どの時間帯であればよいかを管理者等が判断することは、困難である。特に、臨時でジョブシナリオを実行させる場合は、時間的な制約が大きいため、見極めるのは困難である。
【0010】
以上のことから、特許文献1及び2では、臨時にジョブシナリオを投入する場合には対応できないという問題点がある。その理由は、当初のスケジュールにない時間帯に実行しなければならないため、実行される時間帯における他のジョブシナリオの影響を受けて、ジョブのリソース使用量が変化し、それに伴いジョブの処理時間も通常より長くなる可能性があるためである。
【0011】
本発明は、このような問題を解決するためになされたものであり、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、変更後の時間帯に予定されている他のジョブシナリオの影響を考慮したジョブシナリオの処理予定時間を算出することができるジョブスケジュール変更支援システム、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の第1の態様にかかるジョブスケジュール変更支援システムは、予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援するものであって、前記複数のジョブシナリオ毎に定期的に実行するためのスケジュールを格納するジョブスケジュール記憶部と、前記複数のジョブシナリオ毎の処理時間の実績値と、時間帯毎に並列実行されたジョブの多重度を示す基準多重度とを格納するジョブ実行履歴記憶部と、前記選択されたジョブシナリオのスケジュールの変更を支援する処理を行う制御部と、を備え、前記制御部は、スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを受け付ける受付手段と、前記ジョブ実行履歴記憶部に格納された処理時間の実績値に基づき、前記選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する処理標準時間算出手段と、前記入力された基準時刻と前記算出された処理標準時間とを用いて、前記選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する実行予定時間帯算出手段と、前記ジョブスケジュール記憶部を参照し、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブの予定多重度を算出する多重度算出手段と、前記処理標準時間算出手段により前記処理標準時間が算出された時間帯における前記ジョブ実行履歴記憶部に格納された基準多重度と、前記算出された予定多重度とを用いて、前記算出された処理標準時間から前記算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する処理予定時間算出手段と、を備える。
【0013】
これにより、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、変更後の時間帯に予定されている他のジョブシナリオの影響を考慮したジョブシナリオの処理予定時間を算出する。そのため、実用的な実行予定時間帯を求め、ジョブスケジュールの変更を支援することができ、臨時のジョブシナリオを適切に実行させることができる。
【0014】
また、前記受付手段は、前記選択されたジョブシナリオの実行における終了時刻期限を含めて前記基準時刻として入力を受け付け、前記実行予定時間帯算出手段は、当該選択されたジョブシナリオが実行される場合に前記算出された処理標準時間が経過したときの終了予定時刻が、前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することが望ましい。これにより、様々な制約条件を含めずに少なくとも終了時刻期限を満たすことができ、処理負荷を抑えることができる。
【0015】
さらに、前記受付手段は、前記選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付け、前記実行予定時間帯算出手段は、前記入力された開始時刻期限を前記開始予定時刻の初期値として前記終了予定時刻を求め、当該求められた終了予定時刻が前記入力された終了時刻期限以降である場合に、前記入力された開始時刻期限より前の時刻に前記開始予定時刻を定めることが望ましい。これにより、実行予定時間帯の算出の繰り返しを減らし、処理負荷を減らすことができる。
【0016】
また、前記実行予定時間帯算出手段は、前記定められた開始予定時刻から前記算出された処理予定時間が経過した終了予定時刻が前記入力された終了時刻期限以降である場合に、当該終了予定時刻が前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出するとよい。これにより、補正された実行予定時間帯を用いて、ユーザがスケジュールの変更を容易に把握することができる。
【0017】
さらに、前記受付手段は、前記基準時刻を満たさない場合の限界値である許容時間の入力をさらに受け付け、前記実行予定時間帯算出手段は、前記基準時刻に前記入力された許容時間を反映させた時刻に収まるように前記実行予定時間帯を算出するとよい。これにより、制約条件に幅を持たせることができ、処理予定時間の算出の繰り返しを減らすことができる。
【0018】
また、前記受付手段は、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付け、前記複数のジョブシナリオの実行時における時間帯毎のリソース使用量の実績値を格納するリソース使用実績記憶部と、前記算出された実行予定時間帯における前記リソース使用実績記憶部に格納されたリソース使用量の実績値及び前記算出された予定多重度に基づき、前記算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出するリソース予定使用量算出手段と、前記算出されたリソース予定使用量が前記入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する診断結果生成手段と、前記生成された診断結果を表示手段へ出力する出力手段とをさらに備えることが望ましい。これにより、算出された実行予定時間帯におけるリソース使用上のリスクを予め把握し、ユーザの判断を支援することができる。
【0019】
また、ジョブシナリオに属する複数のジョブの実行順序の定義情報を前記複数のジョブシナリオ毎に格納したジョブシナリオ定義情報記憶部をさらに備え、前記ジョブ実行履歴記憶部は、前記複数のジョブシナリオに属するジョブ毎の処理時間の実績値を含めて前記複数のジョブシナリオ毎の処理時間の実績値とし、時間帯毎に並列実行されたジョブシナリオに属するジョブ数に基づき決定された値を前記基準多重度として格納し、前記処理標準時間算出手段は、前記ジョブ実行履歴記憶部に格納されたジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記ジョブシナリオ定義情報記憶部に格納された定義情報に基づき、当該算出されたジョブ処理標準時間から前記処理標準時間を算出し、前記多重度算出手段は、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を前記予定多重度として算出し、前記処理予定時間算出手段は、前記処理標準時間算出手段により前記処理標準時間が算出された時間帯における前記ジョブ実行履歴記憶部に格納された基準多重度と、前記算出された予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記ジョブシナリオ定義情報記憶部に格納された定義情報に基づき、当該算出されたジョブ処理予定時間から前記処理予定時間を算出することが望ましい。これにより、ジョブ毎の多重度を考慮したジョブ毎の処理予定時間により、ジョブシナリオの処理予定時間をより正確に算出することができる。
【0020】
さらに、前記受付手段は、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付け、前記処理標準時間算出手段は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理標準時間を算出し、前記処理予定時間算出手段は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理予定時間を算出するとよい。これにより、ジョブシナリオに含まれる一部のジョブのみを臨時に実行させる場合の処理予定時間を算出することができる。
【0021】
本発明の第2の態様にかかるジョブスケジュール変更支援方法は、予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援するものであって、スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを受け付ける受付ステップと、前記選択されたジョブシナリオにおける処理時間の実績値に基づき、前記選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する処理標準時間算出ステップと、前記入力された基準時刻と前記算出された処理標準時間とを用いて、前記選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する実行予定時間帯算出ステップと、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブの多重度を示す予定多重度を算出する多重度算出ステップと、前記処理標準時間算出ステップにより前記処理標準時間が算出された時間帯における並列実行されたジョブの基準多重度と、前記算出された予定多重度とを用いて、前記算出された処理標準時間から前記算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する処理予定時間算出ステップと、を含む。
【0022】
これにより、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、変更後の時間帯に予定されている他のジョブシナリオの影響を考慮したジョブシナリオの処理予定時間を算出する。そのため、実用的な実行予定時間帯を求め、ジョブスケジュールの変更を支援することができ、臨時のジョブシナリオを適切に実行させることができる。
【0023】
また、前記受付ステップは、前記選択されたジョブシナリオの実行における終了時刻期限を含めて前記基準時刻として入力を受け付け、前記実行予定時間帯算出ステップは、当該選択されたジョブシナリオが実行される場合に前記算出された処理標準時間が経過したときの終了予定時刻が、前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することが望ましい。これにより、様々な制約条件を含めずに少なくとも終了時刻期限を満たすことができ、処理負荷を抑えることができる。
【0024】
さらに、前記受付ステップは、前記選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付け、前記実行予定時間帯算出ステップは、前記入力された開始時刻期限を前記開始予定時刻の初期値として前記終了予定時刻を求め、当該求められた終了予定時刻が前記入力された終了時刻期限以降である場合に、前記入力された開始時刻期限より前の時刻に前記開始予定時刻を定めることが望ましい。これにより、実行予定時間帯の算出の繰り返しを減らし、処理負荷を減らすことができる。
【0025】
また、前記実行予定時間帯算出ステップは、前記定められた開始予定時刻から前記算出された処理予定時間が経過した終了予定時刻が前記入力された終了時刻期限以降である場合に、当該終了予定時刻が前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出するとよい。これにより、補正された実行予定時間帯を用いて、ユーザがスケジュールの変更を容易に把握することができる。
【0026】
さらに、前記受付ステップは、前記基準時刻を満たさない場合の限界値である許容時間の入力をさらに受け付け、前記実行予定時間帯算出ステップは、前記基準時刻に前記入力された許容時間を反映させた時刻に収まるように前記実行予定時間帯を算出するとよい。これにより、制約条件に幅を持たせることができ、処理予定時間の算出の繰り返しを減らすことができる。
【0027】
また、前記受付ステップは、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付け、前記算出された実行予定時間帯におけるリソース使用量の実績値及び前記算出された予定多重度に基づき、前記算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出するリソース予定使用量算出ステップと、前記算出されたリソース予定使用量が前記入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する診断結果生成ステップと、前記生成された診断結果を表示手段へ出力する出力ステップとをさらに含むことが望ましい。これにより、算出された実行予定時間帯におけるリソース使用上のリスクを予め把握し、ユーザの判断を支援することができる。
【0028】
また、前記処理標準時間算出ステップは、前記選択されたジョブシナリオにおけるジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記選択されたジョブシナリオに属する複数のジョブの実行順序の定義情報に基づき、当該算出されたジョブ処理標準時間から前記処理標準時間を算出し、前記多重度算出ステップは、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を前記予定多重度として算出し、前記処理予定時間算出ステップは、前記処理標準時間算出ステップにより前記処理標準時間が算出された時間帯における並列実行されたジョブシナリオに属するジョブ数に基づき決定された値である前記基準多重度と、前記算出された予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記定義情報に基づき、当該算出されたジョブ処理予定時間から前記処理予定時間を算出することが望ましい。これにより、ジョブ毎の多重度を考慮したジョブ毎の処理予定時間により、ジョブシナリオの処理予定時間をより正確に算出することができる。
【0029】
さらに、前記受付ステップは、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付け、前記処理標準時間算出ステップは、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理標準時間を算出し、前記処理予定時間算出ステップは、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理予定時間を算出するとよい。これにより、ジョブシナリオに含まれる一部のジョブのみを臨時に実行させる場合の処理予定時間を算出することができる。
【0030】
本発明の第3の態様にかかるジョブスケジュール変更支援プログラムは、予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援する処理をコンピュータに実行させるものであって、スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを受け付ける受付処理と、前記選択されたジョブシナリオにおける処理時間の実績値に基づき、前記選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する処理標準時間算出処理と、前記入力された基準時刻と前記算出された処理標準時間とを用いて、前記選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する実行予定時間帯算出処理と、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブの多重度を示す予定多重度を算出する多重度算出処理と、前記処理標準時間算出処理により前記処理標準時間が算出された時間帯における並列実行されたジョブの基準多重度と、前記算出された予定多重度とを用いて、前記算出された処理標準時間から前記算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する処理予定時間算出処理と、を含む。
【0031】
これにより、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、変更後の時間帯に予定されている他のジョブシナリオの影響を考慮したジョブシナリオの処理予定時間を算出する。そのため、実用的な実行予定時間帯を求め、ジョブスケジュールの変更を支援することができ、臨時のジョブシナリオを適切に実行させることができる。
【0032】
また、前記受付処理は、前記選択されたジョブシナリオの実行における終了時刻期限を含めて前記基準時刻として入力を受け付け、前記実行予定時間帯算出処理は、当該選択されたジョブシナリオが実行される場合に前記算出された処理標準時間が経過したときの終了予定時刻が、前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することが望ましい。これにより、様々な制約条件を含めずに少なくとも終了時刻期限を満たすことができ、処理負荷を抑えることができる。
【0033】
さらに、前記受付処理は、前記選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付け、前記実行予定時間帯算出処理は、前記入力された開始時刻期限を前記開始予定時刻の初期値として前記終了予定時刻を求め、当該求められた終了予定時刻が前記入力された終了時刻期限以降である場合に、前記入力された開始時刻期限より前の時刻に前記開始予定時刻を定めることが望ましい。これにより、実行予定時間帯の算出の繰り返しを減らし、処理負荷を減らすことができる。
【0034】
また、前記実行予定時間帯算出処理は、前記定められた開始予定時刻から前記算出された処理予定時間が経過した終了予定時刻が前記入力された終了時刻期限以降である場合に、当該終了予定時刻が前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出するとよい。これにより、補正された実行予定時間帯を用いて、ユーザがスケジュールの変更を容易に把握することができる。
【0035】
さらに、前記受付処理は、前記基準時刻を満たさない場合の限界値である許容時間の入力をさらに受け付け、前記実行予定時間帯算出処理は、前記基準時刻に前記入力された許容時間を反映させた時刻に収まるように前記実行予定時間帯を算出するとよい。これにより、制約条件に幅を持たせることができ、処理予定時間の算出の繰り返しを減らすことができる。
【0036】
また、前記受付処理は、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付け、前記算出された実行予定時間帯におけるリソース使用量の実績値及び前記算出された予定多重度に基づき、前記算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出するリソース予定使用量算出処理と、前記算出されたリソース予定使用量が前記入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する診断結果生成処理と、前記生成された診断結果を表示手段へ出力する出力処理とをさらに備えることが望ましい。これにより、算出された実行予定時間帯におけるリソース使用上のリスクを予め把握し、ユーザの判断を支援することができる。
【0037】
また、前記処理標準時間算出処理は、前記選択されたジョブシナリオにおけるジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記選択されたジョブシナリオに属する複数のジョブの実行順序の定義情報に基づき、当該算出されたジョブ処理標準時間から前記処理標準時間を算出し、前記多重度算出処理は、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を前記予定多重度として算出し、前記処理予定時間算出処理は、前記処理標準時間算出処理により前記処理標準時間が算出された時間帯における並列実行されたジョブシナリオに属するジョブ数に基づき決定された値である前記基準多重度と、前記算出された予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記定義情報に基づき、当該算出されたジョブ処理予定時間から前記処理予定時間を算出することが望ましい。これにより、ジョブ毎の多重度を考慮したジョブ毎の処理予定時間により、ジョブシナリオの処理予定時間をより正確に算出することができる。
【0038】
さらに、前記受付処理は、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付け、前記処理標準時間算出処理は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理標準時間を算出し、前記処理予定時間算出処理は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理予定時間を算出するとよい。これにより、ジョブシナリオに含まれる一部のジョブのみを臨時に実行させる場合の処理予定時間を算出することができる。
【発明の効果】
【0039】
本発明によれば、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、変更後の時間帯に予定されている他のジョブシナリオの影響を考慮したジョブシナリオの処理予定時間を算出する。これにより、実用的な実行予定時間帯を求め、ジョブスケジュールの変更を支援するジョブスケジュール変更支援システム、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0040】
【図1】本発明の実施の形態1にかかるジョブスケジュール変更支援システムを含む全体構成を示すブロック図である。
【図2】本発明の実施の形態1にかかるバッチ実行予定診断サーバのハードウェア構成を示すブロック図である。
【図3】本発明の実施の形態1にかかる臨時ジョブシナリオ実行予約処理の流れを示すフローチャート図である。
【図4】本発明の実施の形態1にかかるジョブ実行予約画面の例を示す図である。
【図5】本発明の実施の形態1にかかる実行予定診断条件入力画面の例を示す図である。
【図6】本発明の実施の形態1にかかる診断結果表示画面の例を示す図である。
【図7】本発明の実施の形態1にかかる実行予定診断処理の流れを示すフローチャート図である。
【図8】本発明の実施の形態1にかかる実行予定時間帯算出処理の流れを示すフローチャート図である。
【図9】本発明の実施の形態1にかかる実行予定時間帯補正処理の流れを示すフローチャート図である。
【図10】本発明の実施の形態1にかかるリソース予定使用量算出処理の流れを示すフローチャート図である。
【図11】本発明の実施の形態1にかかる診断処理の流れを示すフローチャート図である。
【図12】本発明の実施の形態1にかかるリソース使用率及び多重度の実績と実行予定時間帯における多重度の関係を示す図である。
【図13】本発明の実施の形態1にかかる多重度とリソース使用率の関係を示す図である。
【図14】本発明の実施の形態1にかかる実行予定診断処理の条件と結果の例を示す図である。
【発明を実施するための形態】
【0041】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【0042】
<発明の実施の形態1>
図1は、本発明の実施の形態1にかかるジョブスケジュール変更支援システム100を含む全体構成を示すブロック図である。ジョブスケジュール変更支援システム100は、予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援するものである。ジョブスケジュール変更支援システム100は、バッチ実行予定診断サーバ3、ジョブシナリオ定義情報記憶部41、ジョブスケジュール記憶部42、ジョブ実行履歴記憶部43、リソース使用実績記憶部44、実行予定情報記憶部45及び診断結果情報記憶部46を備える。
【0043】
ジョブシナリオ定義情報記憶部41は、ジョブシナリオに属する複数のジョブの実行順序の定義情報をジョブシナリオ毎に格納する記憶装置である。ここで、実行順序の定義情報とは、複数のジョブの中における実行順序の先行又は後続の関係を定義した情報である。例えば、あるジョブを実行するための条件として、所定の他のジョブが先行して実行を完了していることを定義した情報である。尚、一つのジョブ当たりに先行又は後続するジョブの数は、複数であってもよい。
【0044】
ジョブスケジュール記憶部42は、複数のジョブシナリオ毎に定期的に実行するためのスケジュールを格納する記憶装置である。ここで、スケジュールとは、ジョブシナリオに属するジョブの内、最も先行して実行すべきジョブの開始時刻である。そして、スケジュールは、定期的な実行を予約するものである。例えば、毎日8時10分に実行を開始することなどを示す。
【0045】
ジョブ実行履歴記憶部43は、複数のジョブシナリオ毎の処理時間の実績値と、時間帯毎に並列実行されたジョブの多重度を示す基準多重度とを格納する記憶装置である。具体的には、処理時間の実績値とは、複数のジョブシナリオに属するジョブ毎の処理時間の実績値を含むものであるとよい。また、基準多重度は、時間帯毎に並列実行されたジョブシナリオに属するジョブ数に基づき決定された値であるとよい。例えば、多重度は、時間帯当たりに実行されるジョブ数の最大値又は平均値等を数値で表したものであるか、複数のジョブ数を一つのランクに対応付けて表現してもよい。尚、基準多重度は、予め格納される必要はなく、後述するようにバッチ実行予定診断サーバ3において算出してもよい。
【0046】
リソース使用実績記憶部44は、複数のジョブシナリオの実行時における時間帯毎のリソース使用量の実績値を格納する記憶装置である。ここで、リソース使用量とは、例えば、バッチサーバ2a、2b及び2cのいずれか又は複数におけるCPU(Central Processing Unit)、メモリ又はハードディスクの使用量又は使用率等である。尚、リソース使用量は、ネットワークのI/Oを含むものであっても構わない。
【0047】
実行予定情報記憶部45は、バッチ実行予定診断サーバ3により算出されたジョブシナリオにおける開始予定時刻と終了予定時刻により定まる時間帯を格納する記憶装置である。
【0048】
診断結果情報記憶部46は、バッチ実行予定診断サーバ3により生成された診断結果を格納する記憶装置である。
【0049】
尚、ジョブシナリオ定義情報記憶部41、ジョブスケジュール記憶部42、ジョブ実行履歴記憶部43、リソース使用実績記憶部44、実行予定情報記憶部45及び診断結果情報記憶部46は、ハードディスクドライブ、フラッシュメモリ等の不揮発性の記憶装置である。
【0050】
バッチ実行予定診断サーバ3は、汎用的なコンピュータシステムであり、端末5により選択されたジョブシナリオのスケジュールの変更を支援する処理を行う。バッチ実行予定診断サーバ3は、端末5からスケジュール変更を行う条件の入力を受け付け、受け付けた条件に基づいた実行予定診断処理を行い、診断結果を端末5へ出力する。また、バッチ実行予定診断サーバ3は、端末5から実行予約を受け付けた場合、要求された開始時刻を選択されたジョブシナリオについてジョブスケジュール記憶部42へスケジュールとして登録する。バッチ実行予定診断サーバ3は、例えば、WEBサーバであり、WEBクライアントである端末5からの要求に応じて、応答するものであるとよい。
【0051】
バッチ実行予定診断サーバ3は、実行予定診断処理を行うための受付部301と、処理標準時間算出部302と、実行予定時間帯算出部303と、多重度算出部304と、処理予定時間算出部305と、リソース使用量算出部306と、診断結果生成部307と、出力部308とを備える。
【0052】
受付部301は、スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを端末5から受け付ける。このとき、受付部301は、選択されたジョブシナリオの実行における終了時刻期限を含めて基準時刻として入力を受け付ける。また、受付部301は、選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付ける。さらに、受付部301は、基準時刻を満たさない場合に許容できる遅延時間の限界値である許容時間の入力をさらに受け付ける。つまり、受付部301は、開始時刻期限及び終了時刻期限のそれぞれについて許容時間を受け付けることができる。そして、受付部301は、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付ける。また、受付部301は、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付ける。
【0053】
処理標準時間算出部302は、ジョブ実行履歴記憶部43に格納された処理時間の実績値に基づき、選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する。このとき、処理標準時間算出部302は、ジョブ実行履歴記憶部43に格納されたジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を選択されたジョブシナリオに属するジョブ毎に算出し、ジョブシナリオ定義情報記憶部41に格納された定義情報に基づき、当該算出されたジョブ処理標準時間から処理標準時間を算出する。さらに、処理標準時間算出部302は、受付部301により一部のジョブが選択された場合に、選択されたジョブについてのジョブ処理標準時間を算出する。
【0054】
実行予定時間帯算出部303は、受付部301において入力された基準時刻と処理標準時間算出部302により算出された処理標準時間とを用いて、選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する。このとき、実行予定時間帯算出部303は、選択されたジョブシナリオが実行される場合に処理標準時間算出部302により算出された処理標準時間が経過したときの終了予定時刻が、受付部301において入力された終了時刻期限以前となるように開始予定時刻を定めることにより、選択されたジョブシナリオの実行予定時間帯を算出する。これにより、様々な制約条件を含めずに少なくとも終了時刻期限を満たすことができ、処理負荷を抑えることができる。
【0055】
また、実行予定時間帯算出部303は、入力された開始時刻期限を開始予定時刻の初期値として終了予定時刻を求め、当該求められた終了予定時刻が入力された終了時刻期限以降である場合に、入力された開始時刻期限より前の時刻に開始予定時刻を定める。これにより、実行予定時間帯の算出の繰り返しを減らし、処理負荷を減らすことができる。
【0056】
さらに、実行予定時間帯算出部303は、一旦、定められた開始予定時刻から、後述する処理予定時間算出部305により算出された処理予定時間が経過した終了予定時刻が、入力された終了時刻期限以降である場合に、当該終了予定時刻が入力された終了時刻期限以前となるように開始予定時刻を定めることにより、選択されたジョブシナリオの実行予定時間帯を算出する。これにより、補正された実行予定時間帯を用いて、ユーザがスケジュールの変更を容易に把握することができる。
【0057】
また、実行予定時間帯算出部303は、受付部301において入力された許容時間を基準時刻に反映させた時刻に収まるように実行予定時間帯を算出する。これにより、制約条件に幅を持たせることができ、処理予定時間の算出の繰り返しを減らすことができる。
【0058】
多重度算出部304は、ジョブスケジュール記憶部42を参照し、実行予定時間帯算出部303により算出された実行予定時間帯において選択されたジョブシナリオを含めて並列実行されるジョブの多重度を示す予定多重度を算出する。具体的には、多重度算出部304は、実行予定時間帯算出部303により算出された実行予定時間帯において選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を予定多重度として算出する。尚、多重度算出部304は、上述した基準多重度を算出してもよい。
【0059】
処理予定時間算出部305は、処理標準時間算出部302により処理標準時間が算出された時間帯におけるジョブ実行履歴記憶部43に格納された基準多重度と、多重度算出部304により算出された予定多重度とを用いて、処理標準時間算出部302により算出された処理標準時間から、実行予定時間帯算出部303により算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する。
【0060】
また、処理予定時間算出部305は、ジョブ毎の基準多重度と、ジョブ毎の予定多重度とを用いて、処理予定時間を算出する。すなわち、処理予定時間算出部305は、処理標準時間算出部302により処理標準時間が算出された時間帯におけるジョブ実行履歴記憶部43に格納されたジョブ毎の基準多重度と、多重度算出部304により算出されたジョブ毎の予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を選択されたジョブシナリオに属するジョブ毎に算出し、ジョブシナリオ定義情報記憶部41に格納された定義情報に基づき、当該算出されたジョブ処理予定時間から処理予定時間を算出する。これにより、ジョブ毎の多重度を考慮したジョブ毎の処理予定時間により、ジョブシナリオの処理予定時間をより正確に算出することができる。
【0061】
さらに、処理予定時間算出部305は、受付部301により一部のジョブが選択された場合に、選択されたジョブについてのジョブ処理予定時間を算出する。これにより、ジョブシナリオに含まれる一部のジョブのみを臨時に実行させる場合の処理予定時間を算出することができる。
【0062】
リソース使用量算出部306は、実行予定時間帯算出部303により算出された実行予定時間帯における前記リソース使用実績記憶部に格納されたリソース使用量の実績値及び算出された予定多重度に基づき、算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出する。
【0063】
診断結果生成部307は、リソース使用量算出部306により算出されたリソース予定使用量が、受付部301により入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する。出力部308は、診断結果生成部307により生成された診断結果を表示手段である端末5へ出力する。これにより、実行予定時間帯及び診断結果を表示させることができ、ユーザによるスケジュールの変更を支援することができる。
【0064】
尚、上述した実行予定診断処理は、実行予定時間帯算出処理、実行予定時間帯補正処理、リソース予定使用量算出処理及び診断処理により行われる。実行予定時間帯算出処理は、受付部301と、処理標準時間算出部302と、実行予定時間帯算出部303とにより実現される。実行予定時間帯補正処理は、多重度算出部304と、処理予定時間算出部305と、実行予定時間帯算出部303とにより実現される。リソース予定使用量算出処理は、リソース使用量算出部306により実現される。診断処理は、診断結果生成部307と、出力部308とにより実現される。
【0065】
図2は、本発明の実施の形態1にかかるバッチ実行予定診断サーバ3のハードウェア構成を示すブロック図である。バッチ実行予定診断サーバ3は、CPU31と、RAM(Random Access Memory)32と、ROM(Read Only Memory)33と、通信部34と、ハードディスク35とを備える。また、ハードディスク35は、不揮発性記憶装置であり、OS(Operating System)351、WEBサーバプログラム352、APサーバプログラム353及びバッチ実行予定診断プログラム354が格納されている。バッチ実行予定診断プログラム354は、選択されたジョブシナリオのスケジュールの変更を支援する処理が実装されたプログラムであり、具体的には、実行予定診断処理等を実現する。尚、ハードディスク35は、ジョブシナリオ定義情報記憶部41、ジョブスケジュール記憶部42、ジョブ実行履歴記憶部43、リソース使用実績記憶部44、実行予定情報記憶部45及び診断結果情報記憶部46をさらに含むものであってもよい。
【0066】
CPU31は、バッチ実行予定診断サーバ3における各種処理、RAM32、ROM33、通信部34及びハードディスク35へのアクセス等を制御する。通信部34は、ジョブシナリオ定義情報記憶部41、ジョブスケジュール記憶部42、ジョブ実行履歴記憶部43、リソース使用実績記憶部44、実行予定情報記憶部45及び診断結果情報記憶部46、並びに、端末5との通信を行う。
【0067】
バッチ実行予定診断サーバ3は、CPU31が、RAM32、ROM33又はハードディスク35に格納されたOS351、WEBサーバプログラム352、APサーバプログラム353及びバッチ実行予定診断プログラム354を読み込み、実行する。これにより、バッチ実行予定診断サーバ3は、WEBアプリケーションとして稼働し、受付部301と、処理標準時間算出部302と、実行予定時間帯算出部303と、多重度算出部304と、処理予定時間算出部305と、リソース使用量算出部306と、診断結果生成部307と、出力部308として動作する。
【0068】
図1に戻り、端末5は、バッチ実行予定診断サーバ3の通信部34に対して、ジョブスケジュール記憶部42に格納されたジョブシナリオの内、スケジュール変更を行う対象のジョブシナリオを選択し、送信する。また、端末5は、スケジュール変更を行う条件及び実行予定診断の要求を送信する。そして、端末5は、バッチ実行予定診断サーバ3から、診断結果を受信する。そのとき、端末5は、受信した診断結果を表示手段(不図示)に表示する。また、端末5は、選択したジョブシナリオについて入力した開始時刻の実行予約の要求を送信する。
【0069】
また、端末5は、図示しない構成として、マウス及びキーボード等の入力装置、並びに、ディスプレイ等の出力装置を備える。表示手段は、ブラウザ等の表示用ソフトウェアで実現され、例えば、ディスプレイ等の出力装置にバッチ実行予定診断サーバ3で生成された各種入力画面及び診断結果等を表示するものである。端末5は、例えば、通信部34との通信機能と、ブラウザ等を備えたパーソナルコンピュータであればよい。尚、端末5は、バッチ実行予定診断サーバ3に含まれるものであってもよい。また、バッチ実行予定診断サーバ3に接続される端末の台数は、これに限定されない。また、端末5は、バッチ実行予定診断サーバ3にネットワーク(不図示)を介して接続されても構わない。
【0070】
バッチジョブ管理サーバ1は、ジョブシナリオ定義情報記憶部41及びジョブスケジュール記憶部42を参照し、ジョブシナリオをバッチ実行する。その際、バッチジョブ管理サーバ1は、ジョブシナリオに属するジョブ毎に実行する。そして、バッチジョブ管理サーバ1は、バッチサーバ2a、2b及び2cのいずれか又は複数においてジョブを実行する。尚、ジョブを実行するサーバは、予め定められていても、動的に変更しても構わない。
【0071】
バッチサーバ2a、2b及び2cは、バッチジョブ管理サーバ1から要求されたジョブを実行するコンピュータシステムである。尚、バッチサーバ2a、2b及び2cの台数は、これに限定されない。
【0072】
図3は、本発明の実施の形態1にかかる臨時ジョブシナリオ実行予約処理の流れを示すフローチャート図である。まず、バッチ実行予定診断サーバ3の受付部301は、端末5からスケジュール変更を行う条件の入力を受け付ける(S10)。具体的には、まず、バッチ実行予定診断サーバ3は、端末5からの要求に応じてジョブシナリオの選択画面を送信し、端末5からジョブシナリオの選択を受け付ける。このとき、ジョブシナリオの選択画面に表示される複数のジョブシナリオは、ジョブシナリオ定義情報記憶部41に定義情報が格納され、ジョブスケジュール記憶部42に定期のスケジュールが格納されているものである。その後、バッチ実行予定診断サーバ3は、端末5へジョブシナリオ予約画面を送信する。
【0073】
図4は、本発明の実施の形態1にかかるジョブ実行予約画面6の例を示す図である。ジョブシナリオ予約画面6は、ジョブシナリオ表示部61、予約日時入力部62、ジョブネット表示部631乃至633、条件入力ボタン65及び実行予約ボタン66を含む。ジョブシナリオ表示部61は、端末5により選択されたジョブシナリオのIDを表示する。予約日時入力部62は、ジョブシナリオ表示部61に表示されたジョブシナリオの実行予約対象の日時の入力欄である。
【0074】
ジョブネット表示部631乃至633は、ジョブシナリオ表示部61に表示されたジョブシナリオに属するジョブネットのID等の情報の表示欄である。ここでは、当該ジョブシナリオは、3つのジョブネットを有する場合を示す。また、ジョブネット表示部633は、ジョブ選択部64を表示する。ジョブ選択部64は、ジョブネット表示部633に表示されるジョブネットに属するジョブのIDの表示欄及び登録又は非登録の選択の受付欄である。ここで、登録又は非登録とは、以降の実行予定診断及び実行予約における対象のジョブであるか否かを示す。つまり、端末5は、ジョブ選択部64により、ジョブシナリオ表示部61に表示されたジョブシナリオに属する複数のジョブの内、一部のジョブを選択することができる。
【0075】
条件入力ボタン65は、ジョブシナリオ予約画面6に入力された情報に基づき、後述する条件入力画面7へ画面遷移を要求する。実行予約ボタン66は、ジョブシナリオ表示部61に表示されたジョブシナリオ、予約日時入力部62に入力された予約日時及びジョブ選択部64に選択されたジョブについて、実行予約をバッチ実行予定診断サーバ3へ要求する。
【0076】
ジョブシナリオ予約画面6において条件入力ボタン65が押下された場合、受付部301は、条件入力画面7を返信する。図5は、本発明の実施の形態1にかかる条件入力画面7の例を示す図である。条件入力画面7は、ジョブシナリオ表示部71、開始時刻期限入力部72、終了時刻期限入力部73、メモリ使用条件入力部74、CPU使用条件入力部75、実行予定診断ボタン76及び戻るボタン77を含む。ジョブシナリオ表示部71は、ジョブシナリオ表示部61と同様である。
【0077】
開始時刻期限入力部72は、実行予定診断を行う際の制約条件である開始時刻期限の入力欄である。開始時刻期限とは、当該ジョブシナリオの実行を開始する時刻の期限である。開始時刻期限入力部72は、希望時刻入力部721及び許容時間入力部722を含む。希望時刻入力部721は、開始の希望時刻についての年月日、時及び分の入力欄である。また、許容時間入力部722は、希望時刻入力部721に入力された希望時刻を満たさない場合に許容できる誤差の時及び分の入力欄である。
【0078】
終了時刻期限入力部73は、実行予定診断を行う際の制約条件である終了時刻期限の入力欄である。終了時刻期限とは、当該ジョブシナリオの実行を終了する見込みの時刻の期限である。終了時刻期限入力部73は、希望時刻入力部731及び許容時間入力部732を含む。希望時刻入力部731は、終了の希望時刻についての年月日、時及び分の入力欄である。また、許容時間入力部732は、希望時刻入力部731に入力された希望時刻を満たさない場合に許容できる誤差の時及び分の入力欄である。
【0079】
メモリ使用条件入力部74は、実行予定診断を行う際のメモリの使用条件の入力欄である。メモリ使用条件入力部74は、許容条件入力部741乃至743を含む。許容条件入力部741は、メモリ使用率の上限値の入力欄である。許容条件入力部742は、実行予定時間帯の内、許容条件入力部741に入力されたメモリ使用率の上限値を超えない時間帯の割合の上限値の入力欄である。許容条件入力部743は、ジョブシナリオに属する複数のジョブの内、許容条件入力部741に入力されたメモリ使用率の上限値を超えないジョブ数の割合の上限値の入力欄である。
【0080】
CPU使用条件入力部75は、実行予定診断を行う際のCPUの使用条件の入力欄である。CPU使用条件入力部75は、許容条件入力部751乃至753を含む。許容条件入力部751は、CPU使用率の上限値の入力欄である。許容条件入力部752は、実行予定時間帯の内、許容条件入力部751に入力されたCPU使用率の上限値を超えない時間帯の割合の上限値の入力欄である。許容条件入力部753は、ジョブシナリオに属する複数のジョブの内、許容条件入力部751に入力されたCPU使用率の上限値を超えないジョブ数の割合の上限値の入力欄である。
【0081】
バッチ実行予定診断サーバ3は、開始時刻期限入力部72及び終了時刻期限入力部73に入力された条件を、実行予定時間帯を算出するに当たり絶対的な条件として扱う。一方、バッチ実行予定診断サーバ3は、メモリ使用条件入力部74及びCPU使用条件入力部75に入力された条件を、実行予定時間帯を算出するに当たり考慮しない。その代りに、診断処理における判定の閾値に用いる。
【0082】
実行予定診断ボタン76は、ジョブシナリオ予約画面6及び条件入力画面7に入力された情報に基づき、実行予定診断を要求する。戻るボタン77は、ジョブシナリオ予約画面6へ画面遷移を要求する。
【0083】
条件入力画面7において実行予定診断ボタン76が押下された場合、受付部301は、端末5からジョブシナリオ予約画面6及び条件入力画面7に入力された情報を条件の入力として受け付ける。つまり、受付部301は、スケジュール変更を行う対象のジョブシナリオの選択と、基準時刻として開始時刻期限及び終了時刻期限と、メモリ使用条件及びCPU使用条件とを受け付ける。
【0084】
図3に戻り、続いて、バッチ実行予定診断サーバ3は、実行予約診断処理を行う(S20)。尚、実行予約診断処理の詳細については、図7以降で詳述する。そして、バッチ実行予定診断サーバ3の出力部308は、実行予約診断処理により生成された診断結果を端末5へ出力する(S30)。例えば、出力部308は、診断結果表示画面8を端末5へ出力する。
【0085】
ここで、端末5は、出力部308により出力された診断結果を表示手段により出力装置に表示する。図6は、本発明の実施の形態1にかかる診断結果表示画面8の例を示す図である。診断結果表示画面8は、ジョブシナリオ表示部81、実行予定時間帯表示部82、リソース診断結果表示部83、メモリ診断結果表示部84、CPU診断結果表示部85、条件入力ボタン86及び実行予約ボタン87を含む。ジョブシナリオ表示部81は、ジョブシナリオ表示部61と同様である。
【0086】
実行予定時間帯表示部82は、バッチ実行予定診断サーバ3において行われた実行予約診断処理により算出された実行予定時間帯の表示欄である。実行予定時間帯表示部82は、開始予定時刻表示部821及び終了予定時刻表示部822を含む。開始予定時刻表示部821は、算出された開始予定時刻を表示する。終了予定時刻表示部822は、算出された終了予定時刻を表示する。
【0087】
リソース診断結果表示部83は、実行予約診断処理により算出された実行予定時間帯におけるリソース予定使用量に関する総合的な診断結果を表示する。メモリ診断結果表示部84は、算出された実行予定時間帯におけるメモリ使用率についての診断結果を表示する。CPU診断結果表示部85は、算出された実行予定時間帯におけるCPU使用率についての診断結果を表示する。
【0088】
メモリ診断結果表示部84は、診断結果表示部841乃至843を含む。診断結果表示部841は、メモリ使用率に関する総合的な診断結果を表示する。診断結果表示部842は、実行予定時間帯の内、メモリ使用率の上限値を満たす時間帯の割合を表示する。診断結果表示部843は、ジョブシナリオに属する複数のジョブの内、メモリ使用率の上限値を満たすジョブ数の割合を表示する。
【0089】
CPU診断結果表示部85は、診断結果表示部851乃至853を含む。診断結果表示部851は、CPU使用率に関する総合的な診断結果を表示する。診断結果表示部852は、実行予定時間帯の内、CPU使用率の上限値を満たす時間帯の割合を表示する。診断結果表示部853は、ジョブシナリオに属する複数のジョブの内、CPU使用率の上限値を満たすジョブ数の割合を表示する。
【0090】
条件入力ボタン86は、条件入力ボタン65と同様であり、実行予約ボタン87は、実行予約ボタン66と同様である。
【0091】
図3に戻り、バッチ実行予定診断サーバ3は、診断結果表示画面8における端末5からの要求が実行予約であるか否かを判定する(S40)。診断結果表示画面8において条件入力ボタン86が押下された場合、実行予約でないと判定し、受付部301は、ステップS10の処理へ戻る。診断結果表示画面8において実行予約ボタン87が押下された場合、実行予約であると判定し、受付部301は、ジョブシナリオ表示部81に表示されたジョブシナリオ及び実行予定時間帯表示部82に表示された実行予定時間帯についてジョブスケジュール記憶部42へスケジュールとして登録する(S50)。
【0092】
図7は、本発明の実施の形態1にかかる実行予定診断処理の流れを示すフローチャート図である。まず、バッチ実行予定診断サーバ3は、実行予定時間帯算出処理を行う(S21)。図8は、本発明の実施の形態1にかかる実行予定時間帯算出処理の流れを示すフローチャート図である。
【0093】
図8において、まず、処理標準時間算出部302は、各ジョブのジョブ処理標準時間を算出する(S211)。具体的には、まず、処理標準時間算出部302は、ジョブ実行履歴記憶部43を参照し、受付部301により選択されたジョブシナリオに属するジョブ毎の処理時間の実績値を取得する。次に、処理標準時間算出部302は、取得したジョブ毎の処理時間の実績値からジョブ処理標準時間を算出する。また、受付部301により一部のジョブが選択された場合に、処理標準時間算出部302は、選択されたジョブについての処理時間の実績値を取得して、選択されたジョブについてのジョブ処理標準時間を算出する。ここで、ジョブ処理標準時間は、過去の稼動実績データから算出される平均値、最大値又は最大値の8割程度などであればよい。また、処理標準時間算出部302は、過去の稼動実績データから異常終了又は警告終了した場合を除くことが望ましい。
【0094】
次に、処理標準時間算出部302は、ジョブシナリオの処理標準時間を算出する(S212)。具体的には、まず、処理標準時間算出部302は、ジョブシナリオ定義情報記憶部41を参照し、選択されたジョブシナリオにおける定義情報を取得する。次に、処理標準時間算出部302は、取得した定義情報に定義された当該ジョブシナリオ内のジョブの実行順序によりステップS211で算出されたジョブ処理標準時間を加算して処理標準時間を算出する。例えば、ジョブAの実行完了後に実行されるジョブがジョブBである場合、処理標準時間算出部302は、ジョブAのジョブ処理標準時間にジョブBのジョブ処理標準時間を加算して当該ジョブシナリオの処理標準時間とする。また、ジョブAの実行完了後に実行されるジョブがジョブB及びジョブCに分岐する場合、処理標準時間算出部302は、ジョブB及びジョブCのジョブ処理標準時間を比較し、大きい方のジョブ処理標準時間のみを加算に用いる。
【0095】
続いて、実行予定時間帯算出部303は、入力された開始時刻期限を開始予定時刻に設定する(S213)。すなわち、実行予定時間帯算出部303は、希望時刻入力部721に入力された希望時刻を開始予定時刻に設定する。または、許容時間入力部722に許容時間が入力されている場合は、実行予定時間帯算出部303は、希望時刻に許容時間を加算した時刻を開始予定時刻に設定する。
【0096】
そして、実行予定時間帯算出部303は、実行予定時間帯を算出する(S214)。具体的には、実行予定時間帯算出部303は、ステップS213において設定された開始予定時刻からステップS212において算出された処理標準時間を経過させた場合の時刻を終了予定時刻として算出する。
【0097】
ここで、実行予定時間帯算出部303は、算出された終了予定時刻が終了時刻期限以前であるか否かを判定する(S215)。尚、終了時刻期限は、希望時刻入力部731に入力された希望時刻とする。又は、許容時間入力部732に許容時間が入力されている場合は、終了時刻期限は、希望時刻に許容時間を加算した時刻とする。
【0098】
ステップS215において終了予定時刻が終了時刻期限より後であると判定された場合、実行予定時間帯算出部303は、開始予定時刻を早める(S216)。すなわち、実行予定時間帯算出部303は、開始予定時刻を所定の時間で前倒しした時刻に設定する。ここで、所定の時間は、少なくとも終了予定時刻と終了時刻期限との差分以上である。例えば、当該差分の数倍であればよい。または、許容時間が入力されている場合は、当該差分と許容時間を加えた時間であってもよい。また、所定の時間は、例えば30分など、予め登録されたものを用いても構わない。尚、ステップS216において、実行予定時間帯算出部303は、早めた開始予定時刻が所定の条件を満たすか否かを判定するとよい。例えば、現在時刻から既定の時間が経過した以後である場合に、ステップS214へ戻るようにするとよい。また、現在時刻から既定の時間が経過する前である場合には、実行予定時間帯算出処理を中断し、診断結果を"NG"としてもよい。この場合、既定の時間については、予め登録されたものを用いても構わない。または、条件入力画面7において、開始予定時刻を早める時刻の上限値の入力を受け付けるようにしても構わない。以降、バッチ実行予定診断サーバ3は、ステップS214、S215及びS216を繰り返す。但し、ステップS214における開始予定時刻は、ステップS216により設定された開始予定時刻となる。
【0099】
ステップS215において終了予定時刻が終了時刻期限以前であると判定された場合、実行予定時間帯算出部303は、各算出結果を保存する(S217)。具体的には、実行予定時間帯算出部303は、ステップS211において算出されたジョブ毎のジョブ処理標準時間と、ステップS212において算出されたジョブシナリオの処理標準時間と、直近のステップS214において算出された実行予定時間帯、すなわち、開始予定時刻及び終了予定時刻とを実行予定情報記憶部45に格納する。
【0100】
続いて、図7に戻り、バッチ実行予定診断サーバ3は、実行予定時間帯補正処理を行う(S22)。図9は、本発明の実施の形態1にかかる実行予定時間帯補正処理の流れを示すフローチャート図である。
【0101】
図9において、まず、多重度算出部304は、当初スケジュールにおける基準多重度を算出する(S221)。具体的には、まず、多重度算出部304は、ジョブスケジュール記憶部42を参照し、選択されたジョブシナリオの当初スケジュールにおいて並列実行されたジョブ数である基準多重度を算出し、ジョブ実行履歴記憶部43に格納する。尚、多重度算出部304は、定期スケジュールにおけるジョブ実行の終了のタイミングで都度、基準多重度を算出し、ジョブ実行履歴記憶部43に格納するようにしてもよい。尚、当初スケジュールとは、ステップS211において処理標準時間算出部302により処理標準時間が算出された時間帯である。
【0102】
次に、多重度算出部304は、実行予定時間帯における予定多重度を算出する(S222)。具体的には、まず、多重度算出部304は、ステップS214において算出された実行予定時間帯を実行予定情報記憶部45から取得する。次に、多重度算出部304は、ジョブスケジュール記憶部42を参照し、取得した実行予定時間帯において並列実行されるジョブ数を算出する。そして、多重度算出部304は、算出されたジョブ数に選択されたジョブシナリオにおける時間帯ごとのジョブ数を加算して、当該実行予定時間帯における予定多重度を算出する。
【0103】
そして、処理予定時間算出部305は、基準多重度及び予定多重度を用いて各ジョブのジョブ処理予定時間を算出する(S223)。具体的には、まず、処理予定時間算出部305は、当初スケジュールにおける基準多重度をジョブ実行履歴記憶部43から取得する。次に、処理予定時間算出部305は、基準多重度と予定多重度との関係からジョブ処理標準時間を補正してジョブ処理予定時間を算出する。例えば、処理予定時間算出部305は、基準多重度と予定多重度との比率に応じて、以下の式(1)を用いて算出するとよい。または、処理予定時間算出部305は、基準多重度と予定多重度との組み合わせに応じて予め定められた係数を用いても構わない。
ジョブ処理予定時間 = ジョブ処理標準時間 × 予定多重度 / 基準多重度 ・・・(1)
【0104】
そして、処理予定時間算出部305は、算出されたジョブ処理予定時間を用いてジョブシナリオの処理予定時間を算出する(S224)。具体的には、まず、処理予定時間算出部305は、ジョブシナリオ定義情報記憶部41を参照し、選択されたジョブシナリオにおける定義情報を取得する。次に、処理予定時間算出部305は、取得した定義情報に定義された当該ジョブシナリオ内のジョブの実行順序によりステップS223で算出されたジョブ処理予定時間を加算して処理予定時間を算出する。
【0105】
続いて、実行予定時間帯算出部303は、実行予定時間帯を補正する(S225)。具体的には、まず、実行予定時間帯算出部303は、実行予定情報記憶部45から開始予定時刻を取得する。次に、実行予定時間帯算出部303は、取得した開始予定時刻からステップS224において算出された処理予定時間を経過させた場合の時刻を終了予定時刻として補正する。
【0106】
ここで、実行予定時間帯算出部303は、補正された終了予定時刻が終了時刻期限以前であるか否かを判定する(S226)。ステップS226において終了予定時刻が終了時刻期限より後であると判定された場合、実行予定時間帯算出部303は、開始予定時刻を早める(S227)。以降、バッチ実行予定診断サーバ3は、ステップS222乃至S227を繰り返す。但し、当該繰り返しにおいては、各ステップにおける入力値は、直前に実行されたステップS222乃至S225において算出又は補正された値を用いる。具体的には、ステップS222における実行予定時間帯は、ステップS225により補正された実行予定時間帯となる。また、ステップS223において、「ジョブ処理標準時間を補正してジョブ所定予定時間を算出する」とあったものが、「直前のステップS223において算出されたジョブ処理予定時間を補正してジョブ所定予定時間を算出する」となる。例えば、式(1)のジョブ処理標準時間は、直前のステップS223において算出されたジョブ処理予定時間となる。また、ステップS225における開始予定時刻は、直前のステップS227により設定された開始予定時刻となる。
【0107】
ステップS226において終了予定時刻が終了時刻期限以前であると判定された場合、実行予定時間帯算出部303は、各算出結果を保存する(S228)。具体的には、実行予定時間帯算出部303は、ステップS222において算出されたジョブ毎の予定多重度と、ステップS223において算出されたジョブ毎のジョブ処理予定時間と、ステップS224において算出されたジョブシナリオの処理予定時間と、直近のステップS225において補正された実行予定時間帯、すなわち、開始予定時刻及び終了予定時刻とを実行予定情報記憶部45に格納する。
【0108】
続いて、図7に戻り、バッチ実行予定診断サーバ3は、リソース予定使用量算出処理を行う(S23)。図10は、本発明の実施の形態1にかかるリソース予定使用量算出処理の流れを示すフローチャート図である。
【0109】
図10において、まず、リソース使用量算出部306は、リソース使用量の実績値を取得する(S231)。具体的には、まず、リソース使用量算出部306は、ステップS225において算出された実行予定時間帯を実行予定情報記憶部45から取得する。次に、リソース使用量算出部306は、リソース使用実績記憶部44から、取得した実行予定時間帯におけるリソース使用量の実績値を取得する。ここでは、リソース使用量の実績値は、例えば、メモリ使用量及びCPU使用量等である。
【0110】
次に、リソース使用量算出部306は、実行予定時間帯におけるリソース実績使用率を算出する(S232)。具体的には、リソース使用量算出部306は、取得した実行予定時間帯におけるメモリ使用量及びCPU使用量からリソース実績使用率を算出する。
【0111】
そして、リソース使用量算出部306は、予定多重度を用いて、実行予定時間帯におけるリソース予定使用率を算出する(S233)。具体的には、まず、リソース使用量算出部306は、実行予定情報記憶部45から実行予定時間帯における基準多重度及び予定多重度を取得する。次に、リソース使用量算出部306は、実行予定時間帯における基準多重度と予定多重度との関係からリソース実績使用率を補正してリソース予定使用率を算出する。
【0112】
続いて、図7に戻り、バッチ実行予定診断サーバ3は、診断処理を行う(S24)。図11は、本発明の実施の形態1にかかる診断処理の流れを示すフローチャート図である。
【0113】
図11において、まず、診断結果生成部307は、時間帯毎にリソース予定使用率が希望値を超えたか否かの判定結果を生成する(S241)。具体的には、まず、診断結果生成部307は、メモリの予定使用率が許容条件入力部741に入力されたメモリの希望値を超えたか否かを時間帯毎に判定し、超えない場合に判定結果を"OK"、超えた場合に判定結果を"NG"とする。同様に、診断結果生成部307は、CPUの予定使用率が許容条件入力部751に入力されたCPUの希望値を超えたか否かを時間帯毎に判定し、超えない場合に判定結果を"OK"、超えた場合に判定結果を"NG"とする。
【0114】
次に、診断結果生成部307は、全ての判定結果から総合診断結果を生成する(S242)。具体的には、まず、診断結果生成部307は、生成されたメモリにおける判定結果が"OK"である時間帯が許容条件入力部742に入力された上限値を満たすか否かを判定する。また、診断結果生成部307は、生成されたメモリにおける判定結果が"OK"であるジョブ数の割合が許容条件入力部743に入力された上限値を満たすか否かを判定する。同様に、診断結果生成部307は、生成されたCPUにおける判定結果が"OK"である時間帯が許容条件入力部752に入力された上限値を満たすか否かを判定する。また、診断結果生成部307は、生成されたCPUにおける判定結果が"OK"であるジョブ数の割合が許容条件入力部753に入力された上限値を満たすか否かを判定する。その後、診断結果生成部307は、上述した4種類の判定において全て"OK"であった場合に、総合診断結果を"OK"として生成する。また、診断結果生成部307は、上述した4種類の判定において一つ以上"NG"であった場合に総合診断結果を"NG"として生成する。尚、判定の順序、総合診断結果の判定の条件等は、上述したものに限定されない。これにより、算出された実行予定時間帯におけるリソース使用上のリスクを予め把握し、ユーザの判断を支援することができる。
【0115】
このように、本発明によれば、予め登録されたスケジュールを変更してジョブシナリオを実行させる場合に、変更後の時間帯に予定されている他のジョブシナリオの影響を考慮したジョブシナリオの処理予定時間を算出する。これにより、実用的な実行予定時間帯を求め、ジョブスケジュールの変更を支援することができる。
【0116】
図12は、本発明の実施の形態1にかかるリソース使用率及び多重度の実績と実行予定時間帯における多重度の関係を示す図である。図12において、横軸は、実行予定時間帯を示し、縦軸は、リソース使用率を示す。リソース実績使用率L1は、ステップS232において算出されたリソース実績使用率である。基準多重度L2は、ステップS221において取得された実行予定時間帯における基準多重度である。予定多重度L3は、ステップS222において取得された実行予定時間帯における予定多重度である。
【0117】
また、図13は、本発明の実施の形態1にかかる多重度とリソース使用率の関係を示す図である。図12及び図13から、リソース実績使用率L1と基準多重度L2とに相関関係があることがわかる。そのため、診断結果生成部307は、基準多重度L2と予定多重度L3との関係からリソース予定使用率を算出することができる。
【0118】
図14は、本発明の実施の形態1にかかる実行予定診断処理の条件と結果の例を示す図である。以下では、図14を用いて許容時間の有無による効果について説明する。但し、リソース使用量について考慮しないものとする。まず、同じジョブシナリオが選択された場合のケースA1とケースA2を比較する。
【0119】
ケースA1において、バッチ実行予定診断サーバ3は、開始時刻期限"8:00"及び終了時刻期限"15:00"として入力を受け付ける。そして、バッチ実行予定診断サーバ3は、ケースA1の条件により実行予定診断処理を行ったところ、開始予定時刻が"8:00"の場合、処理予定時間が"7時間10分"と算出されたとする。この場合、終了予定時刻が"15:10"となり、終了時刻期限"15:00"を満たさない。そのため、バッチ実行予定診断サーバ3は、開始予定時刻を、例えば30分前倒しを行い、"7:30"として再度、処理予定時間を算出する。ここでは、予定多重度も再度算出されるため、処理予定時間が"7時間00分"となったとする。この場合、終了予定時刻が"14:30"となり、終了時刻期限"15:00"を満たすため、診断結果が"OK"として終了する。
【0120】
一方、ケースA2において、バッチ実行予定診断サーバ3は、開始時刻期限"8:00"、終了時刻期限"15:00"及び終了遅延許容時間"10分"として入力を受け付ける。そして、ケースA1の場合と同様に、バッチ実行予定診断サーバ3は、ケースA2の条件により実行予定診断処理を行ったところ、開始予定時刻が"8:00"の場合、処理予定時間が"7時間10分"と算出されたとする。この場合、終了予定時刻が"15:10"となり、終了時刻期限"15:10"を満たすため、診断結果が"OK"として終了する。
【0121】
このように、ケースA1及びA2では、同じジョブシナリオのスケジュール変更について、同じ開始時刻期限及び終了時刻期限に対して、共に診断結果"OK"を得ることができる。そして、ケースA1は、ケースA2に比べて入力条件が少ないため、制約条件を細かく設定する必要なく妥当な結果を得ることができるという効果を奏する。一方、ケースA1は、処理予定時間の算出を2回繰り返しているが、ケースA2は、入力条件に終了遅延許容時間を設定することにより、処理予定時間の算出において開始予定時刻の前倒しを行う必要なく、1回で診断結果"OK"とすることができる。そのため、終了遅延許容時間を設定することで、実行予定診断処理の負荷を抑えることができる。
【0122】
また、ケースB1とケースB2では、開始遅延許容時間に関する例を説明する。但し、ケースA1及びA2とは異なるジョブシナリオが選択されたものとする。
【0123】
ケースB1において、バッチ実行予定診断サーバ3は、開始時刻期限"8:00"及び終了時刻期限"15:00"として入力を受け付ける。そして、バッチ実行予定診断サーバ3は、ケースB1の条件により実行予定診断処理を行ったところ、開始予定時刻が"8:00"の場合、処理予定時間が"6時間40分"と算出されたとする。この場合、終了予定時刻が"14:40"となり、終了時刻期限"15:00"を満たすため、診断結果が"OK"として終了する。
【0124】
一方、ケースB2において、バッチ実行予定診断サーバ3は、開始時刻期限"8:00"、開始遅延許容時間"10分"及び終了時刻期限"15:00"として入力を受け付ける。そして、バッチ実行予定診断サーバ3は、ケースB2の条件により実行予定診断処理を行ったところ、開始予定時刻が"8:10"の場合、予定多重度がケースB1と異なるため、処理予定時間が"6時間35分"と算出されたとする。この場合、終了予定時刻が"14:45"となり、終了時刻期限"15:00"を満たすため、診断結果が"OK"として終了する。
【0125】
このように、ケースB1及びB2では、同じジョブシナリオのスケジュール変更について、同じ開始時刻期限及び終了時刻期限に対して、共に診断結果"OK"を得ることができる。ケースB2は、入力条件に開始遅延許容時間を設定することにより、ケースB1で算出された開始予定時刻より遅い時刻でありながら、ケースB1と同じ終了時刻期限を満たすことができる。そのため、例えば、開始時刻までに余裕がない場合には、開始遅延許容時間を設定することで、終了時刻期限を満たしつつ、できるだけ開始予定時刻が遅くすることができる。これにより、臨時のジョブシナリオの開始までの余裕をより確保するようにスケジュールを変更することができる。
【0126】
例えば、臨時にジョブシナリオの投入を行う場合には、開始時刻期限及び終了時刻期限を十分に検討した上で、厳密な制約条件として入力することが、時間的な制約のために困難なことがある。しかし、本発明の実施の形態1にかかるジョブスケジュール変更支援システム100により、開始時刻期限及び終了時刻期限の第一希望としての希望時刻を入力すると共に、実際の制約条件を許容時間として入力することで、一度の実行予約診断処理によりこれらの条件を加味した結果を得ることができる。
【0127】
<その他の発明の実施の形態>
尚、本発明の実施の形態1にかかるジョブスケジュール変更支援システム100では、開始予定時刻及び終了予定時刻を算出していたが、少なくとも選択されたジョブシナリオにおける処理予定時間を算出すればよい。これにより、処理予定時間に基づいたスケジュールの変更を支援することができる。
【0128】
さらに、本発明の実施の形態1にかかるジョブスケジュール変更支援システム100では、ジョブ毎の多重度を扱う必要はなく、少なくともジョブシナリオ毎の多重度としてもよい。例えば、多重度を時間帯毎に並列実行されたジョブシナリオ数としてもよい。
【0129】
また、本発明の実施の形態1の受付部301は、選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付けることにより、選択されたジョブを一つの新たなジョブシナリオとすることができ、複数のジョブのスケジュールを一括して変更することができる。
【0130】
尚、受付部301は、開始時刻期限の代わりに、開始を希望する最早の開始予定時刻を受け付けてもよい。または、受付部301は、開始時刻期限の許容時間として、前倒しの上限時間又は前倒しの時間幅を受け付けても構わない。
【0131】
本発明の実施の形態1では、リソース予定使用量の希望値を制約条件としていないため、リソース予定使用量の一部分が希望値を上回ったとしても、実行予定時間帯を算出する。そのため、リソース予定使用量の異なる閾値を再度入力し、診断をやり直すことなく、リスクを含めた結果を算出する。そのため、限られた時間内で、妥当な結果を出すことができる。
【0132】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【0133】
100 ジョブスケジュール変更支援システム
1 バッチジョブ管理サーバ
2a バッチサーバ
2b バッチサーバ
2c バッチサーバ
3 バッチ実行予定診断サーバ
30 制御部
301 受付部
302 処理標準時間算出部
303 実行予定時間帯算出部
304 多重度算出部
305 処理予定時間算出部
306 リソース使用量算出部
307 診断結果生成部
308 出力部
31 CPU
32 RAM
33 ROM
34 通信部
35 ハードディスク
351 OS
352 WEBサーバプログラム
353 APサーバプログラム
354 バッチ実行予定診断プログラム
41 ジョブシナリオ定義情報記憶部
42 ジョブスケジュール記憶部
43 ジョブ実行履歴記憶部
44 リソース使用実績記憶部
45 実行予定情報記憶部
46 診断結果情報記憶部
5 端末
6 ジョブシナリオ予約画面
61 ジョブシナリオ表示部
62 予約日時入力部
631 ジョブネット表示部
632 ジョブネット表示部
633 ジョブネット表示部
64 ジョブ選択部
65 条件入力ボタン
66 実行予約ボタン
7 条件入力画面
71 ジョブシナリオ表示部
72 開始時刻期限入力部
721 希望時刻入力部
722 許容時間入力部
73 終了時刻期限入力部
731 希望時刻入力部
732 許容時間入力部
74 メモリ使用条件入力部
741 許容条件入力部
742 許容条件入力部
743 許容条件入力部
75 CPU使用条件入力部
751 許容条件入力部
752 許容条件入力部
753 許容条件入力部
76 実行予定診断ボタン
77 戻るボタン
8 診断結果表示画面
81 ジョブシナリオ表示部
82 実行予定時間帯表示部
821 開始予定時刻表示部
822 終了予定時刻表示部
83 リソース診断結果表示部
84 メモリ診断結果表示部
841 診断結果表示部
842 診断結果表示部
843 診断結果表示部
85 CPU診断結果表示部
851 診断結果表示部
852 診断結果表示部
853 診断結果表示部
86 条件入力ボタン
87 実行予約ボタン
L1 リソース実績使用率
L2 基準多重度
L3 予定多重度

【特許請求の範囲】
【請求項1】
予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援するジョブスケジュール変更支援システムであって、
前記複数のジョブシナリオ毎に定期的に実行するためのスケジュールを格納するジョブスケジュール記憶部と、
前記複数のジョブシナリオ毎の処理時間の実績値と、時間帯毎に並列実行されたジョブの多重度を示す基準多重度とを格納するジョブ実行履歴記憶部と、
前記選択されたジョブシナリオのスケジュールの変更を支援する処理を行う制御部と、を備え、
前記制御部は、
スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを受け付ける受付手段と、
前記ジョブ実行履歴記憶部に格納された処理時間の実績値に基づき、前記選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する処理標準時間算出手段と、
前記入力された基準時刻と前記算出された処理標準時間とを用いて、前記選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する実行予定時間帯算出手段と、
前記ジョブスケジュール記憶部を参照し、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブの予定多重度を算出する多重度算出手段と、
前記処理標準時間算出手段により前記処理標準時間が算出された時間帯における前記ジョブ実行履歴記憶部に格納された基準多重度と、前記算出された予定多重度とを用いて、前記算出された処理標準時間から前記算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する処理予定時間算出手段と、
を備えるジョブスケジュール変更支援システム。
【請求項2】
前記受付手段は、前記選択されたジョブシナリオの実行における終了時刻期限を含めて前記基準時刻として入力を受け付け、
前記実行予定時間帯算出手段は、当該選択されたジョブシナリオが実行される場合に前記算出された処理標準時間が経過したときの終了予定時刻が、前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することを特徴とする請求項1に記載のジョブスケジュール変更支援システム。
【請求項3】
前記受付手段は、前記選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付け、
前記実行予定時間帯算出手段は、前記入力された開始時刻期限を前記開始予定時刻の初期値として前記終了予定時刻を求め、当該求められた終了予定時刻が前記入力された終了時刻期限以降である場合に、前記入力された開始時刻期限より前の時刻に前記開始予定時刻を定めることを特徴とする請求項2に記載のジョブスケジュール変更支援システム。
【請求項4】
前記実行予定時間帯算出手段は、前記定められた開始予定時刻から前記算出された処理予定時間が経過した終了予定時刻が前記入力された終了時刻期限以降である場合に、当該終了予定時刻が前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することを特徴とする請求項2又は3に記載のジョブスケジュール変更支援システム。
【請求項5】
前記受付手段は、前記基準時刻を満たさない場合の限界値である許容時間の入力をさらに受け付け、
前記実行予定時間帯算出手段は、前記基準時刻に前記入力された許容時間を反映させた時刻に収まるように前記実行予定時間帯を算出することを特徴とする請求項1乃至4のいずれか1項に記載のジョブスケジュール変更支援システム。
【請求項6】
前記受付手段は、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付け、
前記複数のジョブシナリオの実行時における時間帯毎のリソース使用量の実績値を格納するリソース使用実績記憶部と、
前記算出された実行予定時間帯における前記リソース使用実績記憶部に格納されたリソース使用量の実績値及び前記算出された予定多重度に基づき、前記算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出するリソース予定使用量算出手段と、
前記算出されたリソース予定使用量が前記入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する診断結果生成手段と、
前記生成された診断結果を表示手段へ出力する出力手段とをさらに備えることを特徴とする請求項1乃至5のいずれか1項に記載のジョブスケジュール変更支援システム。
【請求項7】
ジョブシナリオに属する複数のジョブの実行順序の定義情報を前記複数のジョブシナリオ毎に格納したジョブシナリオ定義情報記憶部をさらに備え、
前記ジョブ実行履歴記憶部は、前記複数のジョブシナリオに属するジョブ毎の処理時間の実績値を含めて前記複数のジョブシナリオ毎の処理時間の実績値とし、時間帯毎に並列実行されたジョブシナリオに属するジョブ数に基づき決定された値を前記基準多重度として格納し、
前記処理標準時間算出手段は、前記ジョブ実行履歴記憶部に格納されたジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記ジョブシナリオ定義情報記憶部に格納された定義情報に基づき、当該算出されたジョブ処理標準時間から前記処理標準時間を算出し、
前記多重度算出手段は、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を前記予定多重度として算出し、
前記処理予定時間算出手段は、前記処理標準時間算出手段により前記処理標準時間が算出された時間帯における前記ジョブ実行履歴記憶部に格納された基準多重度と、前記算出された予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記ジョブシナリオ定義情報記憶部に格納された定義情報に基づき、当該算出されたジョブ処理予定時間から前記処理予定時間を算出することを特徴とする請求項1乃至6のいずれか1項に記載のジョブスケジュール変更支援システム。
【請求項8】
前記受付手段は、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付け、
前記処理標準時間算出手段は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理標準時間を算出し、
前記処理予定時間算出手段は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理予定時間を算出することを特徴とする請求項7に記載のジョブスケジュール変更支援システム。
【請求項9】
予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援するジョブスケジュール変更支援方法であって、
スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを受け付ける受付ステップと、
前記選択されたジョブシナリオにおける処理時間の実績値に基づき、前記選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する処理標準時間算出ステップと、
前記入力された基準時刻と前記算出された処理標準時間とを用いて、前記選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する実行予定時間帯算出ステップと、
前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブの多重度を示す予定多重度を算出する多重度算出ステップと、
前記処理標準時間算出ステップにより前記処理標準時間が算出された時間帯における並列実行されたジョブの基準多重度と、前記算出された予定多重度とを用いて、前記算出された処理標準時間から前記算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する処理予定時間算出ステップと、
を含むジョブスケジュール変更支援方法。
【請求項10】
前記受付ステップは、前記選択されたジョブシナリオの実行における終了時刻期限を含めて前記基準時刻として入力を受け付け、
前記実行予定時間帯算出ステップは、当該選択されたジョブシナリオが実行される場合に前記算出された処理標準時間が経過したときの終了予定時刻が、前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することを特徴とする請求項9に記載のジョブスケジュール変更支援方法。
【請求項11】
前記受付ステップは、前記選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付け、
前記実行予定時間帯算出ステップは、前記入力された開始時刻期限を前記開始予定時刻の初期値として前記終了予定時刻を求め、当該求められた終了予定時刻が前記入力された終了時刻期限以降である場合に、前記入力された開始時刻期限より前の時刻に前記開始予定時刻を定めることを特徴とする請求項10に記載のジョブスケジュール変更支援方法。
【請求項12】
前記実行予定時間帯算出ステップは、前記定められた開始予定時刻から前記算出された処理予定時間が経過した終了予定時刻が前記入力された終了時刻期限以降である場合に、当該終了予定時刻が前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することを特徴とする請求項10又は11に記載のジョブスケジュール変更支援方法。
【請求項13】
前記受付ステップは、前記基準時刻を満たさない場合の限界値である許容時間の入力をさらに受け付け、
前記実行予定時間帯算出ステップは、前記基準時刻に前記入力された許容時間を反映させた時刻に収まるように前記実行予定時間帯を算出することを特徴とする請求項9乃至12のいずれか1項に記載のジョブスケジュール変更支援方法。
【請求項14】
前記受付ステップは、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付け、
前記算出された実行予定時間帯におけるリソース使用量の実績値及び前記算出された予定多重度に基づき、前記算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出するリソース予定使用量算出ステップと、
前記算出されたリソース予定使用量が前記入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する診断結果生成ステップと、
前記生成された診断結果を表示手段へ出力する出力ステップとをさらに含むことを特徴とする請求項9乃至13のいずれか1項に記載のジョブスケジュール変更支援方法。
【請求項15】
前記処理標準時間算出ステップは、前記選択されたジョブシナリオにおけるジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記選択されたジョブシナリオに属する複数のジョブの実行順序の定義情報に基づき、当該算出されたジョブ処理標準時間から前記処理標準時間を算出し、
前記多重度算出ステップは、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を前記予定多重度として算出し、
前記処理予定時間算出ステップは、前記処理標準時間算出ステップにより前記処理標準時間が算出された時間帯における並列実行されたジョブシナリオに属するジョブ数に基づき決定された値である前記基準多重度と、前記算出された予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記定義情報に基づき、当該算出されたジョブ処理予定時間から前記処理予定時間を算出することを特徴とする請求項9乃至14のいずれか1項に記載のジョブスケジュール変更支援方法。
【請求項16】
前記受付ステップは、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付け、
前記処理標準時間算出ステップは、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理標準時間を算出し、
前記処理予定時間算出ステップは、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理予定時間を算出することを特徴とする請求項15に記載のジョブスケジュール変更支援方法。
【請求項17】
予め登録された定期のスケジュールに基づき独立して実行される複数のジョブシナリオの内、選択されたジョブシナリオのスケジュールの変更を支援する処理をコンピュータに実行させるジョブスケジュール変更支援プログラムであって、
スケジュールの変更を行うジョブシナリオの選択と、当該スケジュールを変更した場合のジョブシナリオの基準時刻の入力とを受け付ける受付処理と、
前記選択されたジョブシナリオにおける処理時間の実績値に基づき、前記選択されたジョブシナリオにおける処理時間の標準値である処理標準時間を算出する処理標準時間算出処理と、
前記入力された基準時刻と前記算出された処理標準時間とを用いて、前記選択されたジョブシナリオが実行される予定の時間帯である実行予定時間帯を算出する実行予定時間帯算出処理と、
前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブの多重度を示す予定多重度を算出する多重度算出処理と、
前記処理標準時間算出処理により前記処理標準時間が算出された時間帯における並列実行されたジョブの基準多重度と、前記算出された予定多重度とを用いて、前記算出された処理標準時間から前記算出された実行予定時間帯において前記選択されたジョブシナリオが実行される場合の処理予定時間を算出する処理予定時間算出処理と、
を含むジョブスケジュール変更支援プログラム。
【請求項18】
前記受付処理は、前記選択されたジョブシナリオの実行における終了時刻期限を含めて前記基準時刻として入力を受け付け、
前記実行予定時間帯算出処理は、当該選択されたジョブシナリオが実行される場合に前記算出された処理標準時間が経過したときの終了予定時刻が、前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することを特徴とする請求項17に記載のジョブスケジュール変更支援プログラム。
【請求項19】
前記受付処理は、前記選択されたジョブシナリオの実行における開始時刻期限を含めて前記基準時刻として入力を受け付け、
前記実行予定時間帯算出処理は、前記入力された開始時刻期限を前記開始予定時刻の初期値として前記終了予定時刻を求め、当該求められた終了予定時刻が前記入力された終了時刻期限以降である場合に、前記入力された開始時刻期限より前の時刻に前記開始予定時刻を定めることを特徴とする請求項18に記載のジョブスケジュール変更支援プログラム。
【請求項20】
前記実行予定時間帯算出処理は、前記定められた開始予定時刻から前記算出された処理予定時間が経過した終了予定時刻が前記入力された終了時刻期限以降である場合に、当該終了予定時刻が前記入力された終了時刻期限以前となるように開始予定時刻を定めることにより、当該選択されたジョブシナリオの実行予定時間帯を算出することを特徴とする請求項18又は19に記載のジョブスケジュール変更支援プログラム。
【請求項21】
前記受付処理は、前記基準時刻を満たさない場合の限界値である許容時間の入力をさらに受け付け、
前記実行予定時間帯算出処理は、前記基準時刻に前記入力された許容時間を反映させた時刻に収まるように前記実行予定時間帯を算出することを特徴とする請求項17乃至20のいずれか1項に記載のジョブスケジュール変更支援プログラム。
【請求項22】
前記受付処理は、前記選択されたジョブシナリオの実行におけるリソース使用量の希望値の入力をさらに受け付け、
前記算出された実行予定時間帯におけるリソース使用量の実績値及び前記算出された予定多重度に基づき、前記算出された実行予定時間帯におけるリソース使用量の予定値であるリソース予定使用量を算出するリソース予定使用量算出処理と、
前記算出されたリソース予定使用量が前記入力されたリソース使用量の希望値を満たすか否かを判定した診断結果を生成する診断結果生成処理と、
前記生成された診断結果を表示手段へ出力する出力処理とをさらに備えることを特徴とする請求項17乃至21のいずれか1項に記載のジョブスケジュール変更支援プログラム。
【請求項23】
前記処理標準時間算出処理は、前記選択されたジョブシナリオにおけるジョブ毎の処理時間の実績値に基づき、ジョブの処理時間の標準値であるジョブ処理標準時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記選択されたジョブシナリオに属する複数のジョブの実行順序の定義情報に基づき、当該算出されたジョブ処理標準時間から前記処理標準時間を算出し、
前記多重度算出処理は、前記算出された実行予定時間帯において前記選択されたジョブシナリオを含めて並列実行されるジョブシナリオに属するジョブ数に基づき決定された値を前記予定多重度として算出し、
前記処理予定時間算出処理は、前記処理標準時間算出処理により前記処理標準時間が算出された時間帯における並列実行されたジョブシナリオに属するジョブ数に基づき決定された値である前記基準多重度と、前記算出された予定多重度とを用いて、ジョブの処理時間の予定値であるジョブ処理予定時間を前記選択されたジョブシナリオに属するジョブ毎に算出し、前記定義情報に基づき、当該算出されたジョブ処理予定時間から前記処理予定時間を算出することを特徴とする請求項17乃至22のいずれか1項に記載のジョブスケジュール変更支援プログラム。
【請求項24】
前記受付処理は、前記選択されたジョブシナリオに属する複数のジョブの内、一部のジョブの選択をさらに受け付け、
前記処理標準時間算出処理は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理標準時間を算出し、
前記処理予定時間算出処理は、前記選択されたジョブシナリオにおける前記選択されたジョブについての前記ジョブ処理予定時間を算出することを特徴とする請求項23に記載のジョブスケジュール変更支援プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2010−231694(P2010−231694A)
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願番号】特願2009−80984(P2009−80984)
【出願日】平成21年3月30日(2009.3.30)
【出願人】(592131906)みずほ情報総研株式会社 (187)