(57)【要約】      （修正有）【課題】所定の時刻までに完了させなければならないバッチジョブを、バッチ処理で扱われるデータ量が変動した場合や、バッチ処理システムにおいて障害が発生した場合でも、バッチジョブを所定の時刻に完了させる。【解決手段】ジョブネット、通常時要求処理時間、障害時要求処理時間、入力データ量に基づいて、各ジョブにおけるファイル格納媒体の配置パターンを生成し、ファイル格納媒体の配置パターンに対する通常時処理時間および障害時処理時間を予測し、要求処理時間を満たす配置パターンが存在する場合は、優先ポリシーに基づいて配置パターンを出力する。【選択図】図４
2012128770.tif 000002
【特許請求の範囲】
【請求項１】
バッチジョブ処理システムにおけるバッチジョブの実行を管理するバッチジョブ管理サーバであって、
該バッチジョブ管理サーバには、ファイル格納媒体を備えた１台以上のバッチジョブ実行サーバと、ファイル格納媒体を有し前記バッチジョブ実行サーバからのファイルアクセス要求を処理する共有ファイルサーバとが、ネットワークを介して接続されるものにおいて、
一連のジョブの纏まりであるジョブネット及び要求処理時間の設定を受け付ける機能と、
前記ジョブネット内の前記各ジョブ単位で、前記バッチジョブ実行サーバおよび前記共有ファイルサーバの前記各ファイル格納媒体を使い分けてファイルを配置する複数のファイル配置パターンを生成する機能と、
前記複数のファイル配置パターンの中から、前記要求処理時間を満たして前記バッチジョブを実行する最適ファイル配置パターンを決定する機能と、
前記最適ファイル配置パターンに基づき、前記バッチジョブ実行サーバにおける前記バッチジョブの実行を制御するジョブ実行制御機能とを備えている
ことを特徴とするバッチジョブ管理サーバ。
【請求項２】
請求項１において、
前記ジョブネット、前記要求処理時間、及び入力データ量を設定する入力パラメタ設定手段と、
前記各ファイル格納媒体を用いて、前記ジョブネットの前記各ジョブにおける前記ファイル配置パターンを生成する配置パターン算出部と、
前記ファイル配置パターンに対する前記処理時間を予測する処理時間予測部と、
前記要求処理時間を満たすファイル配置パターンが存在する場合に、該ファイル配置パターンを前記最適ファイル配置パターンとして決定する最適配置パターン決定部とを有する
ことを特徴とするバッチジョブ管理サーバ。
【請求項３】
請求項２において、
前記要求処理時間は、通常時要求処理時間と障害時要求処理時間とを含み、
前記処理時間予測部は、前記ファイル格納媒体の配置パターンに対する通常時処理時間と、前記ファイル格納媒体の配置パターンに対する障害時処理時間とを予測する機能を有し、
前記配置パターン決定部は、前記通常時要求処理時間と障害時要求処理時間を満たすファイル配置パターンを前記最適配置パターンとして出力する機能を有する
ことを特徴とするバッチジョブ管理サーバ。
【請求項４】
請求項２において、
前記各ジョブにおける前記ファイル格納媒体の配置パターンを生成する前記配置パターン算出部は、
当該ジョブに対する後続ジョブが存在しない場合は、前記ファイル格納媒体として前記共有ファイルサーバの共有可能なファイル格納媒体を選択する機能と、
当該ジョブに対する後続ジョブが存在し、当該ジョブに対する後続ジョブの分割属性が当該ジョブと異なる場合は、前記ファイル格納媒体として前記共有ファイルサーバの共有可能なファイル格納媒体を選択する機能と、
当該ジョブに対する後続ジョブが存在し、当該ジョブに対する後続ジョブの分割属性が当該ジョブと同一である場合は、前記ファイル格納媒体として全ての前記ファイル格納媒体を選択する機能と、
選択した前記ファイル格納媒体について、当該ジョブのファイル配置パターンに追加する機能とを有する
ことを特徴とするバッチジョブ管理サーバ。
【請求項５】
請求項２において、
前記処理時間予測部は、
前記ファイル格納媒体の配置パターンに対する障害時処理時間の予測において、
最大リラン時間およびリラン時間を初期化する機能と、
対象としている前記ジョブネットの開始ジョブを選択する機能と、
現在のリラン時間に選択中のジョブの処理時間を加える機能と、
現在選択中のジョブの出力ファイルが他のバッチジョブ実行サーバへ引き継ぎ可能、かつ、前記現在のリラン時間が前記最大リラン時間より大きいかどうか判定する機能と、
前記判定するステップが真である場合に、前記最大リラン時間に前記現在のリラン時間を設定し、前記現在のリラン時間を初期化する機能と、
前記選択中のジョブが終端ジョブである場合は前記最大リラン時間を出力する機能と、
前記選択中のジョブが終端ジョブでない場合は、前記現在のリラン時間に前記選択中のジョブの処理時間を加える機能とを含む
ことを特徴とするバッチジョブ管理サーバ。
【請求項６】
請求項２において、
前記入力パラメタ設定手段は、要求処理時間の優先ポリシーを設定する機能を含み、
前記最適配置パターン決定部は、
前記優先ポリシーの設定値が前記通常時要求処理時間である場合は、前記要求処理時間を満たす配置パターンから前記通常時処理時間が最も小さいパターンを選択して出力する機能と、
前記優先ポリシーの設定値が前記障害時要求処理時間である場合は、前記要求処理時間を満たす配置パターンから前記障害時処理時間が最も小さいパターンを選択して出力する機能とを含む
ことを特徴とするバッチジョブ管理サーバ。
【請求項７】
請求項２において、
前記出力ファイル配置パターンは、前記複数のファイル格納媒体上における前記ジョブネットを構成する各ジョブのファイル配置パターンを示す複数のファイル配置パターンと、前記各ファイル配置パターンに一意に付与されたパターンIDとを含む
ことを特徴とするバッチジョブ管理サーバ。
【請求項８】
請求項２において、
前記最適配置パターンには、ジョブネットの名、ジョブ実行情報、通常時予想処理時間、障害時最大リラン時間、障害時予想処理時間の情報が含まれ、
前記ジョブ実行情報は、前記ジョブネットを構成する各ジョブの前記出力ファイル格納媒体を含む
ことを特徴とするバッチジョブ管理サーバ。
【請求項９】
請求項２において、
前記バッチジョブ処理システムにおいて利用可能なリソースの割当てを制御し、その情報を割当てリソース管理テーブルに記録する機能を有する割当てリソース管理部を備え、
前記割当てリソース管理部は、前記要求処理時間と前記ジョブ実行サーバ数の情報から、前記要求処理時間に対して最適なリソース量を割り当てる
ことを特徴とするバッチジョブ管理サーバ。
【請求項１０】
請求項９において、
前記バッチジョブの実行時において各ジョブの完了を検出する機能と、
予測された前記リソース量が現在の割当てリソース量より小さい場合には割当てリソース量を減少させ、前記予測されたリソース量が前記現在の割当てリソース量より大きい場合には割当てリソース量を増加させる機能と、
前記割当てリソース量の変更に伴って新たに算出された前記バッチジョブのファイル配置パターンに従って前記最適ファイル配置パターンを変更する機能とを備えた
ことを特徴とするバッチジョブ管理サーバ。
【請求項１１】
ファイル格納媒体を備えた１台以上のバッチジョブ実行サーバと、ファイル格納媒体を有し前記バッチジョブ実行サーバからのファイルアクセス要求を処理する共有ファイルサーバとが、ネットワークを介してバッチジョブ管理サーバに接続されたバッチジョブ処理システムにおいて、
前記バッチジョブ管理サーバは、
一連のジョブの纏まりであるジョブネット及び要求処理時間の設定を受け付ける機能と、
前記ジョブネット内の前記各ジョブ単位で、前記バッチジョブ実行サーバおよび前記共有ファイルサーバの前記各ファイル格納媒体を使い分けてファイルを配置する複数のファイル配置パターンを生成する機能と、
前記複数のファイル配置パターンの中から、前記要求処理時間を満たして前記バッチジョブを実行する最適ファイル配置パターンを決定する機能と、
前記最適ファイル配置パターンに基づき、前記バッチジョブ実行サーバにおける前記バッチジョブの実行を制御するジョブ実行制御機能とを備えている
ことを特徴とするバッチジョブ処理システム。
【請求項１２】
請求項１１において、
前記バッチジョブ管理サーバは、
システム内でバッチジョブ処理に利用可能なリソースの割当てを制御する機能と、
前記要求処理時間と前記バッチジョブ実行サーバの数の情報から、前記要求処理時間に対して最適なリソース量を割り当てる機能とを有する
ことを特徴とするバッチジョブ処理システム。
【請求項１３】
バッチジョブ処理システムによりバッチジョブを実行する方法であって、
前記バッチジョブ処理システムは、
ファイル格納媒体を備えた１台以上のバッチジョブ実行サーバと、ファイル格納媒体を有し前記バッチジョブ実行サーバからのファイルアクセス要求を処理する共有ファイルサーバとが、ネットワークを介してバッチジョブ管理サーバに接続されるものにおいて、
一連のジョブの纏まりであるジョブネット及び要求処理時間の設定を受け付けるステップと、
前記バッチジョブ内のジョブ単位で、前記バッチジョブ実行サーバおよび前記共有ファイルサーバの前記各ファイル格納媒体を使い分けてファイルを配置する複数のファイル配置パターンを算出するステップと、
前記複数のファイル配置パターンの中から前記要求処理時間を満たして前記バッチジョブを実行する最適ファイル配置パターンを決定するステップと、
前記最適ファイル配置パターンに基づき、前記バッチジョブ実行サーバにおける前記バッチジョブの実行を制御するステップ
を含むことを特徴とするバッチジョブ実行方法。
【請求項１４】
請求項１３において、
前記ジョブネット、通常時要求処理時間、障害時要求処理時間、及び入力データ量を設定する入力パラメタ設定ステップと、
前記各ジョブにおける前記ファイル格納媒体の配置パターンを生成するステップと、
前記ファイル格納媒体の配置パターンに対する通常時処理時間を予測するステップと、
前記ファイル格納媒体の配置パターンに対する障害時処理時間を予測するステップと、
前記要求処理時間を満たす配置パターンが存在する場合は、当該配置パターンを出力するステップとを含む
ことを特徴とするバッチジョブ実行方法。
【請求項１５】
請求項１４において、
前記各ジョブにおけるファイル格納媒体の配置パターンを生成するステップは、
当該ジョブに対する後続ジョブが存在しない場合は、前記ファイル格納媒体として共有可能なファイル格納媒体を選択するステップと、
当該ジョブに対する後続ジョブが存在し、当該ジョブに対する後続ジョブの分割属性が当該ジョブと異なる場合は、前記ファイル格納媒体として共有可能なファイル格納媒体を選択するステップと、
当該ジョブに対する後続ジョブが存在し、当該ジョブに対する後続ジョブの分割属性が当該ジョブと同一である場合は、前記ファイル格納媒体として全てのファイル格納媒体を選択するステップと、
選択した前記ファイル格納媒体について、当該ジョブのファイル配置パターンに追加するステップ
を含むことを特徴とするバッチジョブ実行方法。
【請求項１６】
請求項１５において、
前記ファイル格納媒体の配置パターンに対する障害時処理時間を予測するステップは、
最大リラン時間およびリラン時間を初期化し、対象としている前記ジョブネットの開始ジョブを選択するステップと、
現在のリラン時間に選択中のジョブの処理時間を加えるステップと、
前記現在選択中のジョブの出力ファイルが他のバッチジョブ実行サーバへ引き継ぎ可能、かつ、前記現在のリラン時間が最大リラン時間より大きいかどうか判定するステップと、
前記判定するステップが真である場合に、前記最大リラン時間に前記現在のリラン時間を設定し、前記現在のリラン時間を初期化するステップと、
選択中のジョブが終端ジョブである場合は前記最大リラン時間を出力するステップと、
前記選択中のジョブが前記終端ジョブでない場合は、前記現在のリラン時間に前記選択中のジョブの処理時間を加えるステップから繰り返すステップ
を含むことを特徴とするバッチジョブ実行方法。
【請求項１７】
請求項１６において、
前記入力パラメタ設定ステップは、
前記要求処理時間の優先ポリシーを設定するステップを含み、
前記配置パターンを出力するステップは、
前記優先ポリシーの設定値が前記通常時要求処理時間である場合は、前記要求処理時間を満たす配置パターンから前記通常時処理時間が最も小さいパターンを選択して出力するステップと、
前記優先ポリシーの設定値が前記障害時要求処理時間である場合は、前記要求処理時間を満たす配置パターンから前記障害時処理時間が最も小さいパターンを選択して出力するステップ
を含むことを特徴とするバッチジョブ実行方法。
【請求項１８】
請求項１５において、
前記バッチジョブ管理サーバは、最適配置パターン算出部とリソース管理部とを有しており、
前記バッチジョブ内のジョブ単位で、利用可能なリソースとして割り当てられた前記バッチジョブ実行サーバおよび前記共有ファイルサーバの前記各ファイル格納媒体を使い分けてファイルを配置する複数のファイル配置パターンを決定するステップと、
前記複数のファイル配置パターンの中から所定の完了時間を満たして前記バッチジョブを実行する最適ファイル配置パターンを生成するステップ
を含むことを特徴とするバッチジョブ実行方法。
【請求項１９】
請求項１８において、
前記要求処理時間を満たす配置パターンが存在する場合には、その配置パターンを出力するステップと、
前記要求処理時間を満たす配置パターンが存在するか判定するステップと、
前記配置パターンが存在する場合には、その配置パターンおよびリソース量を記憶するステップと、
前記割り当てリソース量を減少させるステップと、
前記ファイル格納媒体の配置パターンに対する通常時処理時間を予測するステップと、
前記ファイル格納媒体の配置パターンに対する障害時処理時間を予測するステップと、
前記要求処理時間を満たす配置パターンが存在する場合には、前記配置パターンおよび前記リソース量を記憶するステップから再実行するステップと、
前記判定のステップで配置パターンが存在しない場合には、前記割り当てリソース量を増加させるステップと、
前記ファイル格納媒体の配置パターンに対する前記通常時処理時間を予測するステップと、
前記ファイル格納媒体の配置パターンに対する前記障害時処理時間を予測するステップと、
前記要求処理時間を満たす配置パターンが存在しない場合には、前記割り当てリソース量を増加させるステップから再実行するステップと、
前記要求処理時間を満たす配置パターンが存在する場合には、該配置パターンおよび前記リソース量を記憶するステップと、
前記優先ポリシーに基づいて前記配置パターンを選択し出力するステップと
を含むことを特徴とするバッチジョブ実行方法。
【請求項２０】
請求項１９において、
前記バッチジョブの実行時において前記各ジョブの完了を検出するステップと、
前記予測されたリソース量が前記現在の割り当てリソース量より小さい場合には前記割り当てリソース量を減少させるステップと、
前記予測されたリソース量が前記現在の割り当てリソース量より大きい場合には前記割当てリソース量を増加させるステップと、
算出された前記ファイル配置パターンに従って前記バッチジョブのファイル配置パターンを変更するステップと、
当該ジョブの後続ジョブから前記バッチジョブの実行を再開するステップと
を含むことを特徴とするバッチジョブ実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムにおけるバッチジョブ管理サーバ、バッチジョブ処理システム及びバッチジョブの実行方法に関する。
【背景技術】
【０００２】
金融機関を始めとする様々な企業情報システムでは、大量のデータを一括して処理するバッチ処理システムが広く利用されている。近年では、システムコスト削減のために、多数の安価なサーバを用いて並列にバッチジョブを実行するバッチ処理システムが構築されるようになってきている。バッチジョブの実行にはローカルディスクが使用されるが、多数のジョブ実行サーバを利用するバッチ処理システムでは、ジョブ実行サーバ間でデータの受け渡しが必要になるため、データを共有するための共有ファイルサーバも使用される。
【０００３】
特許文献１には、過去のジョブ実行履歴を用いて、ジョブの所要時間改善率を仮定することにより、バッチジョブの所要時間を予測する方法について開示されている。
【０００４】
特許文献２には、バッチジョブの実行において障害が発生した場合に、所定の完了時間までの残り時間を考慮して当該ジョブの再実行もしくは代替ジョブ実行を行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２８７５０９号公報
【特許文献２】特開２００９−１８１４９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
バッチ処理により行われる業務の中には、前日の営業時間に蓄積されたデータを翌日の営業開始時刻までにバッチ処理するなど、所定の時刻までに完了させなければならない業務が存在する。しかし、バッチ処理で扱われるデータ量は変動する場合があり、データ量に応じてバッチジョブの実行に要する時間が変動する。また、バッチ処理システムにおいて障害が発生した場合、一般的にはジョブの再実行により回復処理が行われるが、これによりバッチジョブの完了時刻が遅延する。このような状況においても、バッチジョブを所定の時刻に完了させなければならない。
【０００７】
特許文献１には、バッチジョブの所要時間を予測する方法は開示されているが、バッチジョブの実行において障害が発生した場合の実行時間の予測方法については開示されていない。
【０００８】
特許文献２には、バッチジョブの実行において障害が発生した場合に、当該ジョブの再実行もしくは代替ジョブ実行を行う方法が開示されているが、残り時間が不足する場合には、当該ジョブのスキップもしくは簡易的な代替ジョブを実行するため、後続のバッチジョブや業務に影響を及ぼす可能性がある。
【０００９】
上記の通り、先行技術文献には、データ量が変動した場合、および障害が発生した場合においても、所定の完了時刻までにバッチジョブを正常に完了させる方法については開示されていない。
【００１０】
本発明の目的は、データ量が変動した場合、および障害が発生した場合においても、所定の完了時刻までにバッチジョブを正常に完了させるバッチジョブ処理システム及びバッチジョブ実行方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の代表的なものを示せば、次のとおりである。バッチジョブ処理システムにおけるバッチジョブの実行を管理するバッチジョブ管理サーバであって、該バッチジョブ管理サーバには、ファイル格納媒体を備えた１台以上のバッチジョブ実行サーバと、ファイル格納媒体を有し前記バッチジョブ実行サーバからのファイルアクセス要求を処理する共有ファイルサーバとが、ネットワークを介して接続されるものにおいて、一連のジョブの纏まりであるジョブネット及び要求処理時間の設定を受け付ける機能と、前記ジョブネット内の前記各ジョブ単位で、前記バッチジョブ実行サーバおよび前記共有ファイルサーバの前記各ファイル格納媒体を使い分けてファイルを配置する複数のファイル配置パターンを決定する機能と、前記複数のファイル配置パターンの中から、前記要求処理時間を満たして前記バッチジョブを実行する最適ファイル配置パターンを生成する機能と、前記最適ファイル配置パターンに基づき、前記バッチジョブ実行サーバにおける前記バッチジョブの実行を制御するジョブ実行制御機能とを備えていることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、バッチジョブの実行において、障害が発生した場合においても、所定の完了時間を満たしつつバッチジョブを実行するバッチジョブ処理システム及びバッチジョブ実行方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施例になる、バッチジョブを実行する計算機システムのハードウェア構成を示すブロック図。
【図２】実施例１における、ジョブネットの例を表すジョブネット図。
【図３】実施例１における、ジョブの情報を表すテーブル。
【図４】実施例１における、最適実行パターン算出処理を表すフローチャート。
【図５】実施例１における、入力パラメタを表すテーブル。
【図６】実施例１における、ファイル格納媒体情報を表すテーブル。
【図７】実施例１における、ジョブ実行履歴を表すテーブル。
【図８】実施例１における、実行時間予測を表すテーブル。
【図９】実施例１における、出力結果を表すテーブル。
【図１０】実施例１における、配置パターン算出部におけるファイル配置パターン生成処理を表すフローチャート。
【図１１】実施例１における、処理時間予測部におけるジョブの処理時間の算出処理を表すフローチャート。
【図１２】実施例１における、処理時間予測部における障害時処理時間の算出処理を表すフローチャート。
【図１３】実施例１における、配置パターン算出部におけるポリシーによるパターンの選択処理を表すフローチャート。
【図１４】実施例１の効果を説明する図。
【図１５】本発明の第２の実施例になる、バッチジョブを実行する計算機システムのハードウェア構成の要部を示すブロック図。
【図１６】実施例２における、最適実行パターン算出処理を表すフローチャート。
【図１７】実施例３における、ファイル配置決定部におけるジョブ実行時のファイル配置パターン変更処理を表すフローチャート。
【発明を実施するための形態】
【００１４】
本発明の対象としているバッチ処理システムは、多数のジョブ実行サーバを利用するものであり、ジョブ実行サーバ間でデータの受け渡しが必要になるため、データを共有するための共有ファイルサーバを備えている。各ジョブ実行サーバが備えるローカルディスクは安価であるが、信頼性が低く、サーバ障害時に他のサーバへデータを引き継ぐことができない。一方、共有ファイルサーバは一般的に高信頼であるが、高価である。また、ジョブ実行サーバ台数が増えるにつれて共有ファイルサーバへのアクセスが集中し、ボトルネックとなりやすい。
【００１５】
バッチジョブの実行にローカルディスクのみを用いた場合、サーバ障害発生時に当該サーバのバッチジョブ実行結果にアクセスできないため、他のサーバにおいてバッチジョブ全体を再実行する必要があり、ジョブ再実行時間が長時間となる。
【００１６】
一方、共有ファイルサーバのみを用いてバッチジョブを実行した場合、サーバ障害発生時には他サーバがジョブ実行を引き継ぐことが可能だが、多数のジョブ実行サーバからのアクセスが共有ファイルサーバに集中するため、ファイルアクセス速度が低下し、通常のバッチジョブ実行時間が長時間となる可能性がある。
【００１７】
そのため、本発明では、バッチジョブ内のジョブ単位で、ファイル格納媒体としてローカルディスクおよび共有ファイルサーバを使い分け、所定の完了時間を満たすファイル配置パターンを生成し、バッチジョブを実行する。
【００１８】
一般的に、バッチジョブは依存関係を持つ複数のジョブから構成される。ある業務処理は一連のジョブの流れとして実現され、この一連のジョブの纏まりをジョブネットと呼ぶ。
【００１９】
本発明では、ジョブネットの処理に際して、共有ファイルサーバを使用しつつ、ジョブの処理時間が実質的に延びない範囲で適度にローカルディスクも使用する。そのため、共有ファイルサーバへのアクセスが集中するのを緩和でき、障害が発生した場合においても、所定の完了時間を満たしつつバッチジョブを実行することができる。  
以下、本発明の実施形態を添付図面に基づいて説明する。
【実施例１】
【００２０】
本発明の第１の実施例になる、バッチジョブ処理システム及びバッチジョブ実行方法について、図１乃至図１４を参照しながら説明する。
【００２１】
図１は、本発明の第１の実施例になる、バッチジョブを実行する計算機システム、すなわちバッチジョブ処理システムのハードウェア構成を示すブロック図である。  
図１において、ネットワーク１０１には、バッチジョブを実行するバッチジョブ実行サーバ１１０と、ジョブ実行サーバ間でファイルを共有するための共有ファイルサーバ１２０と、バッチジョブの実行を管理するバッチジョブ管理サーバ１４０が接続されている。
【００２２】
ジョブ実行サーバ１１０は、演算処理を行うＣＰＵ１１４と、プログラムやデータを格納するメモリ１１３と、ネットワーク７を介して他のサーバと通信を行う通信インターフェース１１５と、ファイルを格納するファイル格納媒体としてのローカルディスク１１１と、ローカルディスクを制御するためのディスクコントローラ１１２を備える。
【００２３】
ジョブ実行サーバ１１０のメモリ１１３には、ジョブの処理を行うジョブプログラム１１６と、ジョブの実行を制御するジョブ実行制御部１１７と、ジョブプログラムのファイルアクセスを制御するファイルアクセス制御部１１８が、プログラムとして存在する。
【００２４】
共有ファイルサーバ１２０は、演算処理を行うＣＰＵ１２２と、プログラムやデータを格納するメモリ１２３と、ネットワーク７を介して他のサーバと通信を行う通信インターフェース１２１と、ストレージネットワーク１０２を介してストレージシステム１３０へアクセスするためのストレージインターフェース１２５を備える。
【００２５】
共有ファイルサーバ１２０のメモリ１２３には、ジョブ実行サーバ１１０のファイルアクセス制御部１１８からの要求によりストレージシステム１３０のファイル格納媒体としてのハードディスク１３１のファイル１３２を読み書きするファイルサーバ制御部１２４が、プログラムとして存在する。
【００２６】
ストレージシステム１３０は、ストレージネットワーク１０２を介して共有ファイルサーバ１２０のストレージインターフェース１２５と接続され、冗長化されたハードディスク１３１を備える。
【００２７】
バッチジョブ管理サーバ１４０は、演算処理を行うＣＰＵ１４２と、プログラムやデータを格納するメモリ１４３と、ネットワーク１０１を介して他のサーバと通信を行う通信インターフェース１４１と、ファイルを格納するローカルディスク１５０と、ローカルディスクを制御するためのディスクコントローラ１４９を備える。
【００２８】
バッチジョブ管理サーバ１４０のメモリ１４３には、最適配置パターン生成部１５７と、バッチジョブの実行履歴を管理する実行履歴管理部１４７と、ジョブ実行サーバにおけるバッチジョブ実行を制御するジョブ実行制御部１４８が、プログラムとして存在する。バッチジョブ処理システムの各部は、メモリやファイルのデータを用い、メモリにロードされた各種のプログラムをＣＰＵにて実行することにより、それらの処理機能が実現される。最適配置パターン生成部１５７は、プログラムを実行することにより次のような機能が実現される。すなわち、最適配置パターン生成部１５７には、バッチジョブの実行条件を設定するためのパラメタを入力するためのパラメタ入力部１５８と、ファイル配置パターンの決定を行う配置パターン決定部１４４と、ファイル配置パターンの算出を行う配置パターン算出部１４５と、バッチジョブの処理時間を予測する処理時間予測部１４６とが存在する。配置パターン算出部１４５は、入力されたパラメタに従って、バッチジョブ処理システムの中で利用可能なファイル格納媒体を組み合わせた１つあるいは複数のファイル配置パターン（候補）を算出する。これらのファイル配置パターン（候補）の中から、配置パターン決定部１４４において、最適ファイル配置パターンの決定を行う。最適ファイル配置パターンの決定に際しては、処理時間予測部１４６によるバッチジョブの処理時間の予測結果が利用される。
【００２９】
また、ローカルディスク１５０には、バッチジョブのジョブ情報を格納するジョブ情報テーブル１５１と、バッチジョブの実行条件の情報を記憶するパラメタテーブル１５２と、ファイル格納媒体の特性情報を記憶するファイル格納媒体テーブル１５３と、過去のバッチジョブの実行履歴を記憶するジョブ実行履歴テーブル１５４と、バッチジョブの処理時間の算出に使用する実行時間予測テーブル１５５と、決定したファイルの最適配置パターンを記憶する最適配置パターン出力テーブル１５６が格納される。
【００３０】
上記の構成において、ジョブ実行サーバ１１０のジョブ実行制御部１１７は、バッチジョブ管理サーバ１４０のジョブ実行制御部１４８の指示により、ジョブプログラム１１６を起動し、最適ファイル配置パターンに基づいてジョブの実行を行う。ジョブプログラム１１６は、ファイルアクセス制御部１１８を介して、ローカルディスク１１１に格納されたファイル１１９の読み取りまたは書き込みを行い、業務処理を行う。もしくは、ジョブプログラム１１６は、ファイルアクセス制御部１１８および共有ファイルサーバ１２０のファイルサーバ制御部１２４を介して、ストレージシステム１３０に格納されたファイル１３２の読み取りおよび書き込みを行い、業務処理を行う。
【００３１】
なお、図１において、ジョブ実行サーバおよび共有ファイルサーバは各２台のみ図示しているが、これに限定されるものではなく、任意の台数のジョブ実行サーバおよび共有ファイルサーバに本発明を適用可能である。
【００３２】
ある業務処理は一連のジョブの流れとして実現され、この一連のジョブの纏まりをジョブネットと呼ぶ。ジョブネットの先頭の入力ファイルを開始入力ファイルと呼び、終端の出力ファイルを結果出力ファイルと呼ぶ。ジョブ間でデータの受け渡しに使用されるファイルは中間ファイルと呼ぶ。
【００３３】
図２は、ジョブネットの一例を表すジョブネット図である。  
図２では、入力データとなる入力ファイルをジョブAが読み込んでデータの加工や集計などの業務処理を行い、結果をファイルへ出力する様子が表されている。さらに、ジョブAが出力したファイルをジョブBおよびジョブDが読み込んで処理を行い、それぞれ結果をファイルを出力する様子が表されている。同様に、ジョブFはジョブCおよびジョブEの出力結果ファイルを読み込んで処理を行い、結果を出力する。このように、各ジョブは１つ以上の入力ファイルを読み込んで処理を行い、１つ以上の出力ファイルを書きだす。
【００３４】
ここで、ジョブAの入力ファイルはジョブ実行サーバ１１０の台数に応じて分割され、複数台のジョブ実行サーバ１１０上でそれぞれ異なる入力ファイルを用いてジョブAが並列に実行される。同様にジョブBからジョブFについても、複数台のジョブ実行サーバ１１０上で並列に実行される。入力ファイルの分割の一例として、金融機関における決済処理においては、口座番号や地域番号をキーにしてデータを分割し、ジョブ実行サーバへ処理を割り当てる。このデータを分割するキーを、入力データの分割属性と呼ぶ。分割属性は、各ジョブの業務処理内容により決定される。
【００３５】
図３は、図２のジョブネットに関する情報をテーブルで表現したジョブ情報テーブル１５１の例である。複数のジョブがある場合に、各ジョブに名前（Ａ〜Ｆ）が付与される。
【００３６】
ジョブ情報テーブル１５１では、各ジョブネット名、ここではジョブネットＡに対し、そのジョブネットが含むジョブ名、各ジョブの先行ジョブ名、後続ジョブ名、入力データの分割属性名を含んでいる。JOB_Aの場合、ジョブネットの最初のジョブであるため先行ジョブは無く、JOB_Aの出力ファイルをJOB_BおよびJOB_Dが使用するため後続ジョブ名は「JOB_B，JOB_D」となっている。またJOB_Fの場合、JOB_CおよびJOB_Eの出力ファイルをJ使用するため先行ジョブは「JOB_C，JOB_E」となっており、後続ジョブ名についてはジョブネットの最後のジョブであるため無しとなっている。
【００３７】
図４にバッチジョブ実行方法におけるファイル配置の最適パターン算出の処理フローを示す。まず、ステップＳ４０２において、システム運用管理者がジョブネットおよび入力パラメタを設定する。これらは、ジョブ情報テーブル１５１および入力パラメタテーブル１５２に格納される。次に、ステップＳ４０３において、ジョブネット中の各ジョブに対するファイルの配置パターンを生成し、実行時間予測テーブル１５５に格納する。そして、ステップＳ４０４において、生成されたファイルの配置パターンから、各パターンの通常時予想処理時間および障害時予想処理時間を算出し、実行時間予測テーブル１５５を更新する。ステップＳ４０５において、要求処理時間を満たす配置パターンが存在するか確認し、配置パターンが存在すればステップＳ４０６、ステップＳ４０７を、存在しなければステップＳ４０８を実行する。ステップＳ４０６で要求処理時間を満たす配置パターンを抽出し、ステップＳ４０７では、抽出された要求処理時間を満たす配置パターンの中から、優先ポリシーに基づいて「パターン」を選択し、最適配置パターン出力テーブル１５６へ出力する。ステップＳ４０８では「パターン無し」を出力する。
【００３８】
本発明では、上記の手順により各ジョブの入力ファイルおよび出力ファイルの格納媒体を決定し、バッチジョブを実行する。通常時に加えて、障害発生時の要求処理時間も満たすファイル配置パターンを算出することにより、障害が発生してジョブの再実行（リラン）を行った場合でも、要求処理時間を満たすことができる。
【００３９】
図５に、入力パラメタテーブル１５２の一例を示す。  
入力パラメタテーブル１５２は、通常時要求処理時間、障害時要求処理時間、優先ポリシー、入力ファイルサイズ、ジョブ実行サーバ数からなる。
【００４０】
通常時要求処理時間は、バッチジョブ実行中に障害が発生しなかった場合にバッチジョブが完了すべき処理時間を表す。障害時要求処理時間は、バッチジョブ実行中に障害が発生した場合でもバッチジョブが完了すべき処理時間を表す。優先ポリシーは、通常時要求処理時間および障害時要求処理時間を満たすファイル配置パターンが複数存在する場合に、通常時処理時間または障害時処理時間のどちらを優先してファイル配置パターンを選択するかを表す。ここでは、通常時処理時間が選択されている。
【００４１】
入力ファイルサイズは、バッチジョブに対する開始入力ファイルのサイズを表す。ジョブ実行サーバ数は、バッチジョブの実行に使用するジョブ実行サーバ数を表す。
【００４２】
図６にファイル格納媒体テーブル１５３の一例を示す。  
ファイル格納媒体テーブル１５３は、媒体名称、種別、性能(スループット)、ジョブ実行サーバ1台あたり性能(スループット)、サーバ障害時引継ぎ可否からなる。
【００４３】
媒体名称は、例えば「ローカルディスク」や「共有ファイルサーバ」等である。以下、「ローカルディスク」を「ローカル」、「共有ファイルサーバ」を「共有FS」と略記する。種別は、ファイル格納媒体の種別を表す。
種別がローカルの場合は、１つのジョブ実行サーバのみが格納されたファイルにアクセス可能なことを表す。種別が共有の場合は、任意のジョブ実行サーバが格納されたファイルにアクセス可能なことを表す。
【００４４】
媒体性能は、ファイル格納媒体のリード速度およびライト速度（スループット）を表す。種別が共有の場合は、全てのジョブ実行サーバからアクセスされた場合の合計のスループットである。
【００４５】
ジョブ実行サーバ1台あたり性能は、ジョブ実行サーバ1台あたりのリード速度およびライト速度（スループット）である。種別がローカルの場合は媒体性能と同一となるが、種別が共有の場合は、媒体性能をジョブ実行サーバ数で割った値となる。
【００４６】
サーバ障害時引継ぎ可否は、あるジョブ実行サーバで障害発生した場合に、他のジョブ実行サーバへファイルを引き継ぎ可能であるか否かを表す。ローカルの場合は各ジョブ実行サーバがファイルを保持しているため、他のジョブ実行サーバへファイルを引き継ぐことはできず、引き継ぎは「不可」となる。共有FSの場合は別のジョブ実行サーバでもファイルにアクセスすることが可能なため、引き継ぎは「可」となる。
【００４７】
本実施例では種別がローカルであるファイル格納媒体としてローカルディスクのみを示しているが、SSD(Solid State Drive)やメモリファイルシステムを用いてもよい。
【００４８】
図７に、ジョブ実行履歴テーブル１５４の一例を示す。  
ジョブ実行履歴テーブルは、各ジョブに関して、実行開始日時、ジョブ名、入力ファイルおよび出力ファイルのファイル格納媒体、ジョブの処理時間、入力ファイルサイズからなり、過去に実行されたジョブの情報が記録される。
【００４９】
実行開始日時は、当該ジョブの実行が開始された日時である。入力ファイルおよび出力ファイルのファイル格納媒体は、当該ジョブが実行された際に、入力ファイルおよび出力ファイルが格納されたファイル記憶媒体である。入力ファイルサイズは、当該ジョブが実行された際の入力ファイルのサイズである。処理時間は、当該ジョブの実行に要した時間である。
【００５０】
本実施例の最適配置パターン生成部１５７では、任意のジョブネット、例えば図３のジョブネットＡに対して、バッチジョブ内のジョブ単位（ジョブＡ〜ジョブＦ）で、ファイル格納媒体として複数のジョブ実行サーバの各ローカルディスクおよび共有ファイルサーバを使い分け、ファイル配置パターン (ＪＯＢ−Ａ〜ＪＯＢ−Ｆ)を生成し、各ファイル配置パターンに一意にパターンIDを付与する。そして、各ファイル配置パターンの実行時間を予測し、実行時間予測テーブル１５５に記録する。
【００５１】
図８に、実行時間予測テーブル１５５の一例を示す。  
実行時間予測テーブル１５５は、任意のジョブネット、例えば図３のジョブネットＡに対する複数の出力ファイル配置パターンの、各パターンID毎の、出力ファイル配置パターン、及び予想処理時間の情報を与えるテーブルである。パターンIDは、ジョブネットの各ファイル配置パターンに一意に付与されるIDである。したがって、出力ファイル配置パターンは、ジョブネットの各パターンID（＝１〜８）における各ジョブＡ〜Ｆの出力ファイル配置パターンを示している。また、予想処理時間は、各パターンIDにおける各ジョブの予想処理時間、バッチジョブの通常時予想処理時間、障害時の最大リラン時間、障害時予想処理時間からなる。なお、各出力ファイル配置パターンには、ジョブネットの中間ファイルの配置パターンも含まれる（図示略）。
【００５２】
各ジョブの出力ファイル格納媒体は、配置パターン算出部１４５によって、図１０に示すフローチャートに従って設定される。各ジョブの入力ファイル格納媒体は、各ジョブの先行ジョブの出力ファイル格納媒体と同一であるため、このテーブルには格納不要である。
【００５３】
各ジョブの予想処理時間は、処理時間予測部１４６によって、図１１に示すフローチャートに従って設定される。
【００５４】
通常時予想処理時間は、バッチジョブ実行中に障害が発生しなかった場合にバッチジョブの完了に要する予想処理時間を表す。通常時予想処理時間は、各ジョブの予想処理時間を合計することにより算出される。
【００５５】
障害時の最大リラン時間は、バッチジョブ実行中に障害が発生した場合に、再実行（リラン）を要するジョブの実行時間の合計の最大値を表す。障害時の最大リラン時間は、処理時間予測部１４６によって、図１２に示すフローチャートに従って算出される。
【００５６】
障害時予想処理時間は、バッチジョブ実行中に障害が発生した場合にバッチジョブの完了に要する予想処理時間を表す。通常時予想処理時間に障害時の最大リラン時間を加えた値が設定される。
【００５７】
図９に、最適配置パターン出力テーブル１５６の一例を示す。  
最適配置パターン出力テーブルは、ジョブネット名、ジョブ実行情報、通常時予想処理時間、障害時最大リラン時間、障害時予想処理時間、ジョブ実行サーバ数からなる。ジョブ実行情報は、ジョブネットを構成する各ジョブの出力ファイル格納媒体および予想処理時間を含む。ジョブ実行情報、通常予想時処理時間、障害時最大リラン時間、障害時予想処理時間には、実行時間予測テーブル１５５から選択されたファイル格納パターンの情報が転記される。
【００５８】
この例では、図８の実行時間予測テーブル１５５において、ジョブネットＡに対する複数の出力ファイル配置パターン（パターンID＝１〜８）の中から、入力パラメタテーブル１５２のパラメタ値を満たすパターンID＝２，３が選択され、これらの中で、優先ポリシーに従って、障害時予想処理時間の短いパターンID＝３の出力ファイル配置パターンが、図９の最適配置パターン出力テーブル１５６において、最適配置パターンとして出力されている。
【００５９】
ジョブ実行サーバ数には、実施例１においては、入力パラメタテーブル１５２のジョブ実行サーバ数の値が転記される。
【００６０】
図１０に、図４のステップＳ４０３の、ジョブに対するファイルの配置パターンの生成フローを示す。ステップＳ１００１において、ジョブ情報テーブル１５から１つのジョブネットのジョブ情報を取得する。ステップＳ１００２において、ジョブネット中の複数のジョブ（Ａ〜Ｆ）から、未選択のジョブを選択する。ステップＳ１００３において、ステップＳ１００２で選択されたジョブに後続ジョブが存在するかを確認し、後続ジョブが存在すればステップＳ１００４を、存在しなければステップＳ１００６を実行する。ステップＳ１００４において、ステップＳ１００２で選択されたジョブと、その全ての後続ジョブの分割属性が同一かどうかを、ジョブ情報テーブル１５１を参照して判定し、分割属性が同一であればステップＳ１００５を、異なればステップＳ１００６を実行する。ステップＳ１００５では、図６に示したファイル格納テーブルに存在する全てのファイル格納媒体を選択し、ステップＳ１００６では、ファイル格納テーブルに存在する種別が共有のファイル格納媒体を選択する。ステップＳ１００７において、選択したファイル格納媒体についてファイル配置パターンを追加する。そして、ステップＳ１００８において、未選択のジョブが存在するか確認し、存在すればステップＳ１００２からの処理を繰り返す。未選択のジョブが存在しなければ本処理を終了する。
【００６１】
ステップＳ１００５およびステップＳ１００６により共有のファイル格納媒体のみを選択しているのは、ジョブ間で分割属性が異なる場合はジョブ実行サーバ間で中間ファイルを再配置する必要があるためである。また、先頭ジョブの入力ファイルおよび終端ジョブの出力ファイルは、他システムとの連携及びデータ保護の観点から共有ファイルサーバに格納するものとする。
【００６２】
図１１に、図４のステップＳ４０４で通常時予想処理時間を算出するための、単一のジョブの処理時間を予測する処理フローを示す。ステップＳ１１０１で、複数のジョブ（Ａ〜Ｆ）からいずれかのジョブＸを選択したものとする。ステップＳ１１０２において、図７に示したジョブ実行履歴テーブル１５４から、ジョブＸおよびジョブ名、入力媒体、出力媒体が同じジョブ実行履歴を検索し、そのような履歴が存在すればステップＳ１１０４を、存在しなければステップＳ１１０５を実行する。ステップＳ１１０４では、ステップＳ１１０２で検索されたジョブ実行履歴の入力ファイルと、入力パラメタ中の入力ファイルサイズとの比率から処理時間を算出する。ステップＳ１１０５では、入力パラメタ中の入力ファイルサイズおよびファイル格納テーブルのジョブ実行サーバ１台あたりの性能を用いて処理時間を算出する。
【００６３】
図１２に、図４のステップＳ４０４の障害時予想処理時間を算出するために必要な、障害時最大リラン時間を算出する処理フローを示す。ステップＳ１２０２において、最大リラン時間、リラン時間を０に初期化し、対象としているジョブネットの開始ジョブを選択する。次に、ステップＳ１２０３において、現在のリラン時間に選択中のジョブの処理時間を加える。そして、ステップＳ１２０４において、現在選択中のジョブの出力ファイルが引き継ぎ可能かどうか判定し、引き継ぎ可能であればステップＳ１２０５を、そうでなければステップＳ１２０７を実行する。選択中のジョブの出力ファイルが引き継ぎ可能な場合、ステップＳ１２０５において、リラン時間が最大リラン時間より大きいかどうかを判定する。リラン時間が最大リラン時間より大きければ、ステップＳ１２０６において、現在のリラン時間を最大リラン時間に代入した後にリラン時間を０に初期化する。その後、ステップＳ１２０７において、現在選択中のジョブが最終ジョブかどうかを判定し、最終ジョブであればステップＳ１２０９で最大リラン時間を出力し、本処理を終了する。選択中のジョブが最終ジョブでなければ、ステップＳ１２０８で現在選択中のジョブの終端ジョブを選択し、ステップＳ１２０３からの処理を繰り返す。
【００６４】
本手順により、障害時の最大リラン時間として、引継ぎ不可ジョブが連続する最大の実行時間を求めることができる。
【００６５】
図１３に、図４中ステップＳ４０７の優先ポリシーに基づくパターン選択の処理フローを示す。優先ポリシーの設定値が通常であればステップＳ１３０３を実行し、障害であればステップＳ１３０４を実行する。ステップＳ１３０３では、通常時予想処理時間が最も小さいパターンを選択する。もし複数のパターンが選択された場合には、さらに、ステップＳ１３０５で障害時予想処理時間が最も小さいパターンを抽出する。ステップＳ１３０４では障害時予想処理時間が最も小さいパターンを選択する。もし複数のパターンが選択された場合には、さらに、ステップＳ１３０６で通常時予想処理時間が最も小さいパターンを抽出する。
【００６６】
図１４により、本実施例の効果を説明する。  
本実施例では、ジョブネットを構成する各バッチジョブの実行に、ローカルディスクと共有ファイルサーバの双方もしくはいずれかを用いる。すなわち、ジョブネットを構成するジョブ単位（Ａ〜Ｆ）で、ファイル格納媒体としてジョブ実行サーバ１、２の各ローカルディスクおよび共有ファイルサーバを使い分け、パターンIDの付与された複数のファイル配置パターン (ＪＯＢ−Ａ〜ＪＯＢ−Ｆ)を算出生成する。さらに、これらの複数のファイル配置パターンの中から所定の完了時間を満たす最適ファイル配置パターンを生成し、この最適ファイル配置パターンに基づいて、バッチジョブを実行する。これにより、サーバ障害発生時に当該サーバのバッチジョブ実行結果にアクセスできるため、ジョブ再実行時間が短縮される。また、ローカルディスクおよび共有ファイルサーバの双方を用いて各バッチジョブを実行するので、複数のジョブ実行サーバからのアクセスが共有ファイルサーバに集中してファイルアクセス速度が低下することも抑制され、所定の完了時間を満たすことができる。
【００６７】
このように、本実施例によれば、バッチジョブの実行において、障害が発生した場合においても、所定の完了時間を満たしつつバッチジョブを実行することができる。
【実施例２】
【００６８】
実施例１においては、ジョブ実行サーバ数を固定していた。このようなシステムでは、要求処理時間に対してジョブ実行サーバ数が少ない場合は、実行可能なパターン無しとなる場合が生じ得る。また、バッチジョブにおいて処理すべきデータ量が増加した場合にも、同様に、実行可能なパターン無しとなる場合が生じ得る。一方、要求処理時間に対してジョブ実行サーバ数が多い場合は、不必要な計算リソースを消費し、大幅に早くバッチジョブが完了してしまう場合も生じ得る。本実施例では、このような不具合を解消し、要求処理時間に対して最適なリソース量（ジョブ実行サーバ台数）を求める方法を示す。
【００６９】
本発明の第２の実施例を、図１５、図１６を参照しながら説明する。図１５は本発明の第２の実施例になる、計算機システムのハードウェア構成の要部を示すブロック図である。図１６は、第２の実施例におけるファイル配置の最適パターン算出の処理フローチャートである。
【００７０】
図１５に示したように、本実施例のバッチジョブ処理システムは、メモリ１４３にプログラムとして保持された割当てリソース管理部１６０を有し、テーブルとして割当てリソース管理テーブル１６１を有している。この割当てリソース管理部１６０は、例えば配置パターン決定部１４４によって起動され、バッチジョブ処理におけるリソース、例えば、ネットワーク１０１で接続されたシステム内のバッチジョブ実行サーバの台数や、共有ファイルサーバの台数など、システム内において利用可能なリソースの割当てを制御し、その情報を割当てリソース管理テーブル１６１に記録する機能を有する。
【００７１】
図１６は、実施例１の図４に相当する、最適配置パターン生成部１５７の動作を示すフローチャートである。割当てリソース管理部１６０は、配置パターン決定部１４４により起動される。まず、ステップＳ１４０２において、システム運用管理者がジョブネット、入力パラメタを設定し、さらに、必要に応じてリソースを設定する。これらは、ジョブ情報テーブル１５１、入力パラメタテーブル１５２及びリソース管理テーブル１６１に格納される。次に、ステップＳ４０３において、リソース管理テーブル１６１を参照してジョブネット中の各ジョブに対するファイルの配置パターンを生成し、実行時間予測テーブル１５５に格納する。これらの点を除けば、ステップＳ１４０２からステップＳ１４０５は、図４におけるステップＳ４０２からステップＳ４０５における処理と同一である。
【００７２】
ステップＳ１４０５においては、要求処理時間を満たす配置パターンが存在するか確認し、存在すればステップＳ１４０６を、存在しなければステップＳ１４１０を実行する。ステップＳ１４０６では、要求処理時間を満たす配置パターンおよびリソース量を各テーブルに記憶する。その後、ステップＳ１４０７では、バッチジョブの実行に割り当てられたリソース量を減少させる。そしてステップＳ１４０８において、減少したリソース量に基づいて各パターンの通常時予想処理時間および障害時予想処理時間を算出する。ステップＳ１４０９において、要求処理時間を満たす配置パターンが存在するか確認し、存在すればステップＳ１４０６からの処理を繰り返し、存在しなければステップＳ１４１４を実行する。
【００７３】
ステップＳ１４１０では、バッチジョブの実行に割り当てられたリソース量を増加させる。その後、ステップＳ１４１１では、そしてステップＳ１４０８において、増加したリソース量に基づいて各パターンの通常時予想処理時間および障害時予想処理時間を算出する。
【００７４】
ステップＳ１４１２において、要求処理時間を満たす配置パターンが存在するか確認し、存在しなければステップＳ１４１０からの処理を繰り返し、存在すればステップＳ１４１３を実行する。ステップＳ１４１３では、要求処理時間を満たす配置パターンおよびリソース量を記憶する。
【００７５】
ステップＳ１４１４では、ステップＳ１４０６またはステップＳ１４１３で記憶した配置パターンに対して、優先ポリシーに基づいてパターンを選択し、最適配置パターン出力テーブル１５６へ出力する。
【００７６】
ここで、ステップＳ１４０７およびステップＳ１４１０における割当てリソースとは、例えばバッチジョブ実行サーバの台数である。もしくは、共有ファイルサーバの台数などであってもよい。
【００７７】
以上の手順により、要求処理時間やバッチジョブにおいて処理すべきデータ量が変化する場合でも、その要求処理時間を満たす最小限のリソース量を求めることが可能となる。
【００７８】
本実施例でも、バッチジョブの実行において、障害が発生した場合においても、所定の完了時間を満たしつつバッチジョブを実行することができる。また、システムのリソース量を可変とすることで、要求処理時間に応じて最適なリソース量（ジョブ実行サーバ台数等）を提供できる。
【実施例３】
【００７９】
次に、本発明の第３の実施例を、図１７を参照しながら説明する。図１７は、実施例３における、ファイル配置決定部におけるジョブ実行時のファイル配置パターン変更処理を表すフローチャートである。
【００８０】
実施例１および２は、ファイルの配置パターンを決定しバッチジョブの実行を開始した後は、ファイル配置パターンやリソース割り当て量を変更していない。しかし、バッチジョブの実行開始後に、再度、最適実行パターンの算出を行うことが出来れば、バッチジョブ完了時間予測の高精度化やリソース割り当て量の削減が可能となる。本実施例は、実施例１または実施例２とは異なり、最適配置パターン生成部１５７が、バッチジョブの実行開始後に、再度、最適実行パターンの算出を行う機能を備えている。
【００８１】
図１７は、配置パターン決定部１４４おいてジョブ実行時にファイル配置パターン変更を行うフローチャートである。  
ステップＳ１５０２において、任意のジョブの実行完了を契機として、ステップＳ１５０３において、図１６における最適実行パターンの算出処理を実行する。このとき、ステップＳ１４０３におけるファイルの配置パターン生成においては、既に実行が完了したジョブについては出力ファイル格納媒体を変更しない。
既に実行が完了したジョブについては、実行履歴管理部１４７によりそのジョブ実行履歴がジョブ実行履歴テーブル１５４に追加される。そのため、既に実行が完了したジョブについては、実際の処理時間が実行時間予測テーブルに１５５に設定されることとなる。
【００８２】
ステップＳ１５０４において、現在のリソース割当て量とステップＳ１５０３において算出されたリソース割当て量を比較し、それらが等しい場合はステップＳ１５０７に進む。現在のリソース割当て量がステップＳ１５０３において算出されたリソース割当て量より大きい場合は、ステップＳ１５０５において割当てリソース量を減少させる。現在のリソース割当て量がステップＳ１５０３において算出されたリソース割当て量より小さい場合は、ステップＳ１５０６において割当てリソース量を増加させる。
【００８３】
ステップＳ１５０７においては、ステップＳ１５０３において算出したファイル配置パターンを実行中のバッチジョブへ反映し、ステップＳ１５０８において後続ジョブの実行を開始してバッチジョブの実行を再開する。
【００８４】
本実施例でも、バッチジョブの実行において、障害が発生した場合においても、所定の完了時間を満たしつつバッチジョブを実行することができる。また、バッチジョブの実行開始後に、再度、最適実行パターンの算出を行うので、バッチジョブ完了時間予測の高精度化やリソース割り当て量の削減が可能となる。
【符号の説明】
【００８５】
１０１…ネットワーク、１０２…ストレージネットワーク、１１０…ジョブ実行サーバ、１１１…ローカルディスク、１１２…ディスクコントローラ、１１３…メモリ、１１４…ＣＰＵ、１１５…通信インターフェース、１１６…ジョブプログラム、１１７…ジョブ実行制御部、１１８…ファイルアクセス制御部、１１９…ファイル、１２０…共有ファイルサーバ、１２１…通信インターフェース、１２２…ＣＰＵ、１２３…メモリ、１２４…ファイルサーバ制御部、１２５…ストレージインターフェース、１３０…ストレージシステム、１４０…バッチジョブ管理サーバ、１４２…ＣＰＵ、１４３…メモリ、１４４…配置パターン決定部、１４５…配置パターン算出部、１４６…処理時間予測部、１４７…実行履歴管理部、１４８…ジョブ実行制御部、１４９…ディスクコントローラ、１５０…ローカルディスク、１５１…ジョブ情報テーブル、１５２…パラメタテーブル、１５３…ファイル格納媒体テーブル、１５４…ジョブ実行履歴テーブル、１５５…実行時間予測テーブル、１５６…最適配置パターン出力テーブル、１５７…最適配置パターン生成部、１５８…パラメタ入力部、１６０…割当てリソース管理部、１６１…割当てリソース管理テーブル。
【図１】
2012128770.tif 000003
【図２】
2012128770.tif 000004
【図３】
2012128770.tif 000005
【図４】
2012128770.tif 000006
【図５】
2012128770.tif 000007
【図６】
2012128770.tif 000008
【図７】
2012128770.tif 000009
【図８】
2012128770.tif 000010
【図９】
2012128770.tif 000011
【図１０】
2012128770.tif 000012
【図１１】
2012128770.tif 000013
【図１２】
2012128770.tif 000014
【図１３】
2012128770.tif 000015
【図１４】
2012128770.tif 000016
【図１５】
2012128770.tif 000017
【図１６】
2012128770.tif 000018
【図１７】
2012128770.tif 000019