"バッチ処理のスケジュールおよび実行履歴に基づいて、データやリソースの競合状態を解析する解析部と、前記バッチ処理の処理内容および配備情報を仮変更し、仮変更後の前記処理内容および前記配備情報における前記バッチ処理の前記競合状態をシミュレートするシミュレート部と、前記シミュレート部による前記シミュレート結果に応じて前記処理内容および前記配備情報の設定を更新して前記バッチ処理の制御内容を調整する調整部と、を備えることを特徴とするバッチ処理制御装置。前記シミュレート部は、前記バッチ処理間で重複するデータ処理が単一のデータ処理として実行されるように、前記処理内容および前記配備情報を変更する、ことを特徴とする請求項1記載のバッチ処理制御装置。前記シミュレート部は、前記バッチ処理に含まれるタスクのうち、同一のデータを処理対象とする前記タスクが同一のバッチ処理基盤上で実行されるように、前記処理内容および前記配備情報を変更する、ことを特徴とする請求項2記載のバッチ処理制御装置。前記シミュレート部は、前記バッチ処理のうち、同一のデータを処理対象とするタスクを含むバッチ処理が同一のバッチ処理基盤上で実行されるように、前記処理内容および前記配備情報を変更する、ことを特徴とする請求項3記載のバッチ処理制御装置。バッチ処理のスケジュールおよび実行履歴に基づいて、データやリソースの競合状態を解析する解析ステップと、前記バッチ処理の処理内容および配備情報を仮変更し、仮変更後の前記処理内容および前記配備情報における前記バッチ処理の前記競合状態をシミュレートするシミュレートステップと、前記シミュレートステップにおける前記シミュレート結果に応じて前記処理内容および前記配備情報の設定を更新して前記バッチ処理の制御内容を調整する調整ステップと、を含むことを特徴とするバッチ処理制御方法。請求項5に記載の各ステップをコンピュータに実行させるためのバッチ処理制御プログラム。バッチ処理では、複数のバッチ処理を並列、多重して実行することがあるが、このとき、各バッチ処理が同一のデータを読み込みに行く場合がある。この場合、読み込みが重複するとともに読み込んだデータを重複して保持することになるため、読み込み負荷の増大やリソース効率の低下を招いてしまう。上記特許文献1には、複数のバッチ処理を並列、多重して実行するときの処理効率を向上させることについては記載されていない。本発明は、上述した課題を解決するためになされたものであり、複数のバッチ処理を並列、多重して実行するときの処理効率を向上させることができるバッチ処理制御装置、バッチ処理制御方法およびバッチ処理制御プログラムを提供することを目的とする。本発明のバッチ処理制御装置は、バッチ処理のスケジュールおよび実行履歴に基づいて、データやリソースの競合状態を解析する解析部と、前記バッチ処理の処理内容および配備情報を仮変更し、仮変更後の前記処理内容および前記配備情報における前記バッチ処理の前記競合状態をシミュレートするシミュレート部と、前記シミュレート部による前記シミュレート結果に応じて前記処理内容および前記配備情報の設定を更新して前記バッチ処理の制御内容を調整する調整部と、を備える。本発明のコマンド実行方法は、バッチ処理のスケジュールおよび実行履歴に基づいて、データやリソースの競合状態を解析する解析ステップと、前記バッチ処理の処理内容および配備情報を仮変更し、仮変更後の前記処理内容および前記配備情報における前記バッチ処理の前記競合状態をシミュレートするシミュレートステップと、前記シミュレートステップにおける前記シミュレート結果に応じて前記処理内容および前記配備情報の設定を更新して前記バッチ処理の制御内容を調整する調整ステップと、を含む。本発明のバッチ処理制御プログラムは、上記バッチ処理制御方法に含まれる各ステップをコンピュータに実行させる。本発明によれば、複数のバッチ処理を並列、多重して実行するときの処理効率を向上させることができる。以下、添付図面を参照して、本発明に係るバッチ処理制御装置、バッチ処理制御方法およびバッチ処理制御プログラムの好適な実施形態について説明する。まず、図1を参照して、実施形態におけるバッチ処理制御装置としての最適化コントローラ1を含むバッチ処理システムの構成について説明する。バッチ処理システムは、最適化コントローラ1と、バッチ処理基盤2、3と、振舞いエンジン4、5と、データストア6と、を有する。これらの各構成要素は、同一のコンピュータ上で動作してもよいし、異なるコンピュータ上で動作してもよい。バッチ処理の処理内容や処理対象データは、予めプログラムとして記述され、バッチ処理基盤2、3上に実行可能な状態で配置されている。バッチ処理のスケジュール情報は、予め定められたバッチ処理基盤2、3上に保持されており、定められた日時になると、バッチ処理基盤2、3によりバッチ処理が開始される。なお、バッチ処理は、バッチ処理基盤のクライアント不図示からの指示により開始させることもできる。バッチ処理の処理対象データは、データストア6に格納されている。データストア6は、ハードディスクやメモリ等のローカルコンピュータのリソースであってもよいし、ファイルシステムやデータベース等のデータ管理ソフトウェアを、ネットワークを介して利用するリモートコンピュータのリソースであってもよい。さらに、Webサービス等のデータへのアクセス方法のみが公開されたコンピュータのリソースであてもよい。本実施形態では、データの生成、読み込み、更新、削除が行えるデータの保持先の総称として、データストアを用いる。バッチ処理基盤2、3は、複数のバッチ処理を実行することができる。バッチ処理としては、例えば、給与計算バッチや税金計算バッチ等の業務処理バッチが該当する。バッチ21、31は、バッチ処理基盤2、3上に実行可能な状態で配置されたバッチ処理プログラムである。バッチ処理プログラムは、バッチ処理の処理内容や処理対象データを記述したプログラムである。バッチ処理基盤上には、異なるバッチを複数配置することができる。バッチ21、31は、それぞれの処理を構成するタスク22、32を含む。バッチは、複数のタスクを含むことができる。タスク22、32は、それぞれ振舞いエンジン4、5を介して、データストア6上のデータ61、62を読み込み、書き込み、更新、削除する。バッチ処理基盤2、3上において、バッチ21、31が実行されると、それぞれのバッチ21、31に含まれるタスク22、32が順に実行される。バッチ処理基盤2、3は、それぞれスケジュール情報23、33を保持する。スケジュール情報23、33は、予め定義されたバッチ処理の実行スケジュール情報であり、何時、何処で、どのバッチを、どのような優先度に従って、どのような制約条件下で実行するのかを定めた、バッチ処理開始時の条件を保持する。バッチ処理開始時の条件が満たされた場合に、バッチ処理基盤2、3は、定義されたバッチ処理の実行を開始する。図2を参照して、スケジュール情報23、33のデータ構成について説明する。図2に示すように、スケジュール情報は、データ項目として、例えば、日時、バッチ識別子、実行先、制約条件および優先度を有する。日時には、バッチ処理の開始時間が格納され、バッチ識別子には、バッチ処理を一意に特定する識別情報が格納される。実行先には、バッチ処理を実行するバッチ処理基盤の識別子が格納される。制約条件には、バッチ処理を制約する条件が格納され、優先度には、バッチ処理の優先度合いが格納される。図1に示すバッチ処理基盤2、3は、それぞれ配備情報24、34を保持する。配備情報24、34は、バッチ処理プログラムの配備情報であり、何時、どのタスクを含む、どのバッチが、どのような設定で配置されたのかを保持する。図3を参照して、配備情報24、34のデータ構成について説明する。図3に示すように、配備情報は、データ項目として、例えば、バッチ識別子、タスク識別子、設定および日時を有する。バッチ識別子には、バッチ処理を一意に特定する識別情報が格納され、タスク識別子には、タスクを一意に特定する識別情報が格納される。設定には、バッチを配置した設定情報が格納され、日時には、バッチを配置した日時が格納される。図1に示すバッチ処理基盤2、3は、それぞれ実行履歴情報26、36を保持する。実行履歴情報26、36は、バッチ処理基盤上で実行されたバッチやタスクの実行履歴情報であり、何時、どのバッチの、どのタスクが、どのデータを、どのように処理し、その処理の結果や、処理に要した時間を保持する。図4を参照して、実行履歴情報26、36のデータ構成について説明する。図4に示すように、実行履歴情報26、36は、データ項目として、例えば、日時、バッチ識別子、タスク識別子、処理対象データ、処理内容、処理結果および実行時間を有する。日時には、バッチ処理の開始時間が格納され、バッチ識別子には、バッチ処理を一意に特定する識別情報が格納される。タスク識別子には、タスクを一意に特定する識別情報が格納され、処理対象データには、タスクが処理したデータが格納される。処理内容には、タスクの処理内容が格納され、処理結果には、タスクの処理結果が格納され、実行時間には、タスクの実行時間が格納される。図1に示す振舞いエンジン4、5は、予め設定された振舞い型によるデータ処理を行う。振舞い型は、データの入出力動作の内容を示す属性情報により表現する。具体的には、例えば、データ61が、順次読み込みのみSequentialReadOnly以下、SROという。のデータである場合には、このようなデータ61には、振舞い型としてSROが付与される。また、データ62が、順次書き込みのみSequentialWriteOnly以下、SWOという。のデータである場合には、このようなデータ62には、振舞い型としてSWOが付与される。データ41、51は、それぞれ振舞いエンジン4、5によりデータストア6上のデータ61、62の一部または全部が読み込まれた状態、もしくはタスク22、32の処理結果であって振舞いエンジン4、5によりデータストア6上のデータ61、62を更新する前または更新している最中の状態を示す。設定情報45、55は、それぞれ振舞いエンジン4、5の設定情報を保持する。本実施形態では、既に設定情報が格納されているものとする。実行履歴情報46、56は、それぞれ振舞いエンジン4、5による処理内容の実行履歴情報であり、何時、どのデータを、どのように処理し、その処理の結果や、処理に要した時間を保持する。図5を参照して、実行履歴情報46、56のデータ構成について説明する。図5に示すように、実行履歴情報46、56は、データ項目として、例えば、日時、処理対象データ、処理内容、処理結果、実行時間および待機時間を有する。日時には、振舞いエンジンによる処理の開始時間が格納され、処理対象データには、振舞いエンジンで処理されたデータが格納される。処理内容には、振舞いエンジンによる処理の内容が格納され、処理結果には、振舞いエンジンによる処理の結果が格納される。実行時間には、振舞いエンジンによる処理の実行時間が格納され、待機時間には、振舞いエンジンによる処理の待機時間が格納される。図1に示す最適化コントローラ1は、振舞いエンジン4、5による処理を最適化することにより、バッチ処理システムにおける複数のバッチを並列、多重して実行する際の処理効率を最適化する。最適化コントローラ1は、解析部11と、シミュレート部12と、調整部13とを含む。解析部11は、バッチ処理基盤2、3上に保持されているスケジュール情報23、33、配備情報24、34、設定情報25、35、実行履歴情報26、36を参照し、これらの情報を一元管理する。解析部11は、振舞いエンジン4、5上に保持されている設定情報45、55、実行履歴情報46、56を参照し、これらの情報を一元管理する。具体的に、解析部11は、バッチ処理のスケジュールや実行履歴に基づいて、データやリソースの競合状態を解析する。シミュレート部12は、スケジュール情報23、33、配備情報24、34、設定情報25、35を変更した場合の動作および結果をシミュレートする。シミュレート部12は、シミュレートの結果に基づいて、最も効率良くバッチ処理を実行するための、スケジュール情報23、33、配備情報24、34、設定情報25、35の最適値を計算する。具体的に、シミュレート部12は、バッチ処理の処理内容および配備情報を仮に変更し、仮変更後の処理内容および配備情報におけるバッチ処理の競合状態をシミュレートする。シミュレート部12は、バッチ処理間で重複するデータ処理が単一のデータ処理として実行されるように、処理内容および配備情報を変更する。シミュレート部12は、バッチ処理に含まれるタスクのうち、同一のデータを処理対象とするタスクが同一のバッチ処理基盤上で実行されるように、処理内容および配備情報を変更する。シミュレート部12は、バッチ処理のうち、同一のデータを処理対象とするタスクを含むバッチ処理が同一のバッチ処理基盤上で実行されるように、処理内容および配備情報を変更する。調整部13は、バッチ処理基盤2、3上の、スケジュール情報23、33、配備情報24、34、設定情報25、35、実行履歴情報26、36を更新し、これらの情報を一元管理する。調整部13は、振舞いエンジン4、5上の、設定情報45、55、実行履歴情報46、56を更新し、これらの情報を一元管理する。具体的に、調整部13は、シミュレート部12によるシミュレート結果に応じて処理内容および配備情報の設定を更新してバッチ処理の制御内容を調整する。次に、図6および図1を参照して、本実施形態におけるバッチ処理システムの動作の一例について説明する。この動作例では、振舞いエンジン4、5間でデータを共有するパターンについて説明する。本動作例では、以下に述べる各事項を前提とする。バッチA211、バッチB212、バッチC311は、それぞれタスクAa221およびAb222、タスクBa223およびBb224、タスクCa321およびCb322を含むバッチ処理プログラムである。また、タスクAa221、タスクBa223、タスクCa321は、それぞれデータストア6のデータA611を読み込みの対象とし、処理結果をタスクAb222、タスクBb224、タスクCb322に渡す処理である。データA611は、振舞いエンジン4の振舞い型がSRO型に定義されている。また、データA’411は、タスクAa221により、データストア6上のデータA611の一部または全てが振舞いエンジン上4に読み込まれた状態を表している。また、データA’412またはデータA’511は、タスクBa223またはタスクCa321により、データストア6上のデータA611の一部または全てが振舞いエンジン上4に読み込まれたと仮定した場合の状態を表している。また、バッチA211とバッチB212との差異は、タスクAb222とタスクBb224の処理内容にある。タスクBb224は、データストア6からデータB621を読み込み、タスクBa223の処理結果を用いて結果を出力する処理である。データB’413は、タスクBb224によりデータストア6上のデータB621の一部または全てが読み込まれた状態を表している。また、バッチA211とバッチC311との差異は、タスクAb222とタスクCb322の処理内容にある。タスクCb322は、タスクCa321の処理結果を用いてデータB’’512を出力し、データストア6上のデータB621を更新する処理である。データB’’512は、タスクCb322の処理結果であり、データストア6上のデータB621を更新する前の状態または更新途中の状態を表している。また、バッチA211、バッチB212、バッチC311が、少なくとも一回実行された実績があり、実行履歴情報26、36には、バッチA211、バッチB212、バッチC311の実行履歴情報が格納されている。バッチA211、バッチB212、バッチC311は、同時刻に開始されるようにスケジューリングされている。スケジュール情報23、33には、バッチA211、バッチB212、バッチC311の次回の実行予定が格納されている。まず、図6のように構成されたバッチ処理システムにおいて、本発明に係る最適化コントローラを適用することなく実行した場合には、以下のように実行されることになる。最初に、バッチA211、バッチB212、バッチC311が、同時刻に開始され、タスクAa221、タスクBa223、タスクCa321により、データA611がそれぞれ読み込まれる。ここで、データA611の振舞い型はSRO型であるため、タスクAa221、タスクBa223、タスクCa321は、データストア6から可能な限りデータA611を先読みすることになる。これにより、タスクAa221、タスクBa223、タスクCa321が実行されるたびにデータA611の読み込みが行われ、データストア6にはデータA611の読み込み要求ごとに負荷がかかる。また、振舞いエンジン4、5上に同一のデータA611が多重に読み込まれるため、リソース効率が低下することになる。続いて、タスクBb224により、データB621が読み込まれ、タスクCb322によりデータB621が更新される。ここで、タスクBb224によりデータB621が読み込まれた後に、タスクCb322によりデータB621がデータB’’512の値で更新された場合、データB621とデータB’’512との間には不整合が生じることになる。一般的には、ロック機構等を利用した排他制御により、このようなデータの不整合を防止する仕組みが考えられる。しかしながら、データB621に対する排他制御を行うと、タスクBb224とタスクCb322との間に、同一データに対する読み込みと更新とによる競合が発生してしまい、タスクの処理性能が低下してしまうことになる。次に、図6のように構成されたバッチ処理システムにおいて、本発明に係る最適化コントローラを適用して実行した場合には、以下のように実行されることになる。最初に、解析部11は、実行履歴情報26、36を解析し、タスクAa221、タスクBa223、タスクCa321が、データA611に対してSRO型の読み込みを行っている情報を取得する。続いて、解析部11は、スケジュール情報23、33を解析し、バッチA211、バッチB212、バッチC311が、同時刻に開始されるようにスケジューリングされている情報を取得する。続いて、解析部11は、上記実行履歴情報26、36の解析結果およびスケジュール情報23、33の解析結果から、タスクAa221、タスクBa223、タスクCa321が、同時期に同一のデータに対する同一の振舞い型を行うことを突き止め、データA611に対する読み込みが最適化の候補になると判定する。続いて、シミュレート部12は、タスクAa221、タスクBa223、タスクCa321のデータA611に対する読み込みのうち、タスクAa221による読み込みのみを、振舞いエンジン4がデータストア6に対して行い、タスクBa223およびタスクCa321は、タスクAa221により振舞いエンジン4上に読み込まれたデータA’411を読み込むように、振舞いエンジン4、5の設定情報45、55を変更した場合の動作をシミュレートする。続いて、シミュレート部12は、シミュレートした結果、データA611を読み込むために要する処理時間が約1/3に低減し、振舞いエンジン4、5上に保持するためのメモリのリソース使用量が約1/3に低減する効果があるという結果を出力する。続いて、調整部13は、シミュレート部12によるシミュレート結果に基づいて、タスクBa223、タスクCa321は、タスクAa221により振舞いエンジン4上に読み込まれたデータA’411を読み込むように、振舞いエンジン4,5の設定情報45、55を更新する。続いて、調整部13は、シミュレート部12によるシミュレート結果に基づいて、タスクAa221を実行した後に、タスクBa223、タスクCa321を実行するように、バッチ処理基盤2、3のスケジュール情報23、33を更新する。続いて、バッチA211、バッチB212、バッチC311が、同時刻に開始される。この場合、バッチA211が開始されると、バッチA211に含まれるタスクAa221が開始され、タスクAa221は、振舞いエンジン4を介して、データストア6からデータA611の読み込みを開始する。一方、バッチB212が開始されると、バッチB212に含まれるタスクBa223は、タスクAa221によるデータA611の読み込みが完了するまで待機する。また、バッチC311が開始されると、バッチC311に含まれるタスクCa321は、タスクAa221によるデータA611の読み込みが完了するまで待機する。続いて、振舞いエンジン4は、データストア6からデータA611を可能な限り先読みする。これにより、振舞いエンジン4上には、タスクAa221によってデータストア6から先読みされたデータA’411が保持されている状態となる。続いて、タスクAa221によるデータA611の読み込みが完了した後、タスクBa223、タスクCa321が開始される。この場合、タスクBa223は、振舞いエンジン4を介して、データA’411を読み込む。また、タスクCa321は、振舞いエンジン4を介して、データA’411を読み込む。本動作例により、データストア6からデータA611を読み込むために要する処理時間、およびデータA611の読み込み処理によるコンピュータ負荷を低減させることができる。また、データストア6から読み込むデータA611を、振舞いエンジン4上のデータA’411のみに統一することができるため、リソース効率を向上させることができる。これにより、タスクごとに同一のデータをデータストア6から読み込む処理の重複を廃し、余剰な処理を省くことができるため、システム全体としてのバッチ処理性能を向上させることが可能となる。次に、図7および図1を参照して、本実施形態におけるバッチ処理システムの動作の一例について説明する。この動作例では、処理対象データに重複のあるタスクの配置先を同一のバッチ処理基盤に集約するパターンについて説明する。図7に示す構成が、上述した図6に示す構成と異なる点は、図6ではバッチ処理基盤3上に配置されているタスクCa321、Cb322が、図7ではバッチ処理基盤2上に配置されている点である。この変更により、タスクCb322から出力されるデータB’’が、振舞いエンジン5から振舞いエンジン4に変更される。これ以外の構成については、上述した図6に示す構成と同様であるため、その説明を省略する。また、本動作例の内容は、上述した図6の動作例の内容と同様であるため、その説明を省略する。本動作例による効果は、上述した図6の動作例による効果に加えて、データストア6から読み込んだ同一のデータを処理するタスクおよびそのデータを、同一のバッチ処理基盤および振舞いエンジンに集約することができるため、リソース効率をさらに向上させることができる。次に、図8および図1を参照して、本実施形態におけるバッチ処理システムの動作の一例について説明する。この動作例では、処理対象データに重複のあるバッチの配置先を同一のバッチ処理基盤に集約するパターンについて説明する。図8に示す構成が、上述した図6に示す構成と異なる点は、図6ではバッチ処理基盤3上に配置されているバッチC311、タスクCa321、Cb322が、図8ではバッチ処理基盤2上に配置されている点である。この変更により、タスクCb322から出力されるデータB’’が、振舞いエンジン5から振舞いエンジン4に変更される。これ以外の構成については、上述した図6に示す構成と同様であるため、その説明を省略する。また、本動作例の内容は、上述した図6の動作例の内容と同様であるため、その説明を省略する。本動作例による効果は、上述した図6の動作例による効果に加えて、データストア6から読み込んだ同一のデータを処理するバッチ、タスクおよびそのデータを、同一のバッチ処理基盤および振舞いエンジンに集約することができるため、リソース効率をさらに向上させることができる。これにより、処理リソースに余力を持たせることができるため、システム全体としての処理量を増大させることが可能となる。上述したように、本実施形態における最適化コントローラを含むバッチ処理システムによれば、複数のバッチ処理を並列、多重して実行するときの処理効率を向上させることができる。変形例なお、上述した実施形態は、単なる例示に過ぎず、実施形態に明示していない種々の変形や技術の適用を排除するものではない。すなわち、本発明は、その趣旨を逸脱しない範囲で様々な形態に変形して実施することができる。例えば、上述した実施形態では、バッチ処理基盤と振舞いエンジンとを含んで構成しているが、これに限定されない。例えば、振舞いエンジンをクライアントエンジンとサーバエンジンとに分けて構成しもよい。これにより、分散環境での振舞いエンジンを用いて、クライアント側での処理の分散、振舞い型によるデータのハンドリングの効率化、優先度情報の同期等を行うことができるため、バッチ処理を効率化させることが可能となる。上記の実施形態の一部または全部は、以下の付記のようにも記載され得る。ただし、本発明を以下に限定するものではない。付記1バッチ処理のスケジュールおよび実行履歴に基づいて、データやリソースの競合状態を解析する解析部と、前記バッチ処理の処理内容および配備情報を仮変更し、仮変更後の前記処理内容および前記配備情報における前記バッチ処理の前記競合状態をシミュレートするシミュレート部と、前記シミュレート部による前記シミュレート結果に応じて前記処理内容および前記配備情報の設定を更新して前記バッチ処理の制御内容を調整する調整部と、を備えることを特徴とするバッチ処理制御装置。付記2前記シミュレート部は、前記バッチ処理間で重複するデータ処理が単一のデータ処理として実行されるように、前記処理内容および前記配備情報を変更する、ことを特徴とする付記1記載のバッチ処理制御装置。付記3前記シミュレート部は、前記バッチ処理に含まれるタスクのうち、同一のデータを処理対象とする前記タスクが同一のバッチ処理基盤上で実行されるように、前記処理内容および前記配備情報を変更する、ことを特徴とする付記2記載のバッチ処理制御装置。付記4前記シミュレート部は、前記バッチ処理のうち、同一のデータを処理対象とするタスクを含むバッチ処理が同一のバッチ処理基盤上で実行されるように、前記処理内容および前記配備情報を変更する、ことを特徴とする付記3記載のバッチ処理制御装置。付記5バッチ処理のスケジュールおよび実行履歴に基づいて、データやリソースの競合状態を解析する解析ステップと、前記バッチ処理の処理内容および配備情報を仮変更し、仮変更後の前記処理内容および前記配備情報における前記バッチ処理の前記競合状態をシミュレートするシミュレートステップと、前記シミュレートステップにおける前記シミュレート結果に応じて前記処理内容および前記配備情報の設定を更新して前記バッチ処理の制御内容を調整する調整ステップと、を含むことを特徴とするバッチ処理制御方法。付記6付記5に記載の各ステップをコンピュータに実行させるためのバッチ処理制御プログラム。"