(57)【要約】【課題】オンライン処理とバッチ処理が行われる場合に情報処理システムの処理性能の低下を防ぐ。【解決手段】バッチ実行基盤３０１及びオンライン実行基盤３０３が機能する複数のＡＰ実行サーバ１１４と接続するバッチスケジュール管理装置１０２が、待機中のバッチ実行基盤３０１をバッチ処理要求の割り当て先候補として特定し、これと同じＡＰ実行サーバ１１４で機能するオンライン実行基盤３０３の負荷状況に基づき、特定した各バッチ実行基盤３０１の負荷レベルを決定し、決定した負荷レベルに基づき、候補のバッチ実行基盤３０１のうちの一つを選択してバッチ処理要求の割り当て先を決定し、決定したバッチ実行基盤３０１の負荷レベルに応じて同一のＡＰ実行サーバ１１４で機能するオンライン実行基盤３０３のオンライン処理要求を調整し、決定したバッチ実行基盤３０１にバッチ処理要求を割り当てる。【選択図】図２Ｃ
2010097566.tif 000002
【特許請求の範囲】
【請求項１】
バッチ実行基盤及びオンライン実行基盤が機能する複数のサーバと通信可能に接続する情報処理装置であって、
外部装置からバッチ処理要求を受け付ける第１の処理部と、
前記バッチ実行基盤のうちから一つ以上の前記バッチ実行基盤を選択する第２の処理部と、
前記特定したバッチ実行基盤へのリソースの割り当て状況が所定の条件を満たしている場合に、
前記特定したバッチ実行基盤と同じ前記サーバで機能している前記オンライン実行基盤を特定する第３の処理部と、
前記特定したオンライン実行基盤の負荷状況に基づき、前記特定したバッチ実行基盤の負荷レベルを決定する第４の処理部と、
前記負荷レベルに基づいて、前記特定したバッチ実行基盤のうちの一つを選択する第５の処理部と、
前記選択したバッチ実行基盤のうちの一つを前記バッチ処理要求の割り当て先として決定する第６の処理部と、
前記決定した前記バッチ実行基盤の前記負荷レベルに応じて、前記決定したバッチ実行基盤と同じ前記サーバで機能している前記オンライン実行基盤のオンライン処理要求を調整する第７の処理部と、
前記外部装置から受け付けた前記バッチ処理要求を、前記決定したバッチ実行基盤に割り当てる第８の処理部と
を備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記所定の条件は、前記特定したバッチ実行基盤がリソースを共有している状況にあるという条件であること
を特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記第５の処理部が複数の前記バッチ実行基盤を選択した場合に、
前記第６の処理部が各前記選択したバッチ実行基盤のうち処理能力が最も高いものを前記バッチ処理要求の割り当て先として決定すること
を特徴とする情報処理装置。
【請求項４】
請求項１に記載の情報処理装置であって、
前記第７の処理部における前記オンライン処理要求の調整は、
前記第６の処理部で決定した前記バッチ実行基盤と同一の前記サーバで機能する前記オンライン実行基盤の前記オンライン処理要求の受け付けを制限する第１の方法、もしくは、
前記第６の処理部で決定した前記バッチ実行基盤と同一の前記サーバで機能する前記オンライン実行基盤の前記オンライン処理要求を、他の前記サーバで機能する前記オンライン実行基盤に移動させる第２の方法
のうちの少なくともいずれかにより行うこと
を特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記第１の方法における前記制限は、当該制限によって前記オンライン実行基盤がキューイング可能な前記オンライン処理要求の数が、前記オンライン実行基盤が保証すべき値として記憶しているリクエスト最低保証値以下にならないように行われること
を特徴とする情報処理装置。
【請求項６】
請求項４に記載の情報処理装置であって、
前記負荷レベルは、
前記特定したオンライン実行基盤のオンライン処理要求を制限することなく、オンライン処理要求を前記他のサーバの前記他のオンライン実行基盤に移動することができる第１のレベル、
前記特定したオンライン実行基盤のオンライン処理要求を制限すれば、当該オンライン処理要求を前記他のオンライン実行基盤に移動することができる第２のレベル、又は、
前記特定したオンライン実行基盤のオンライン処理要求を制限しても、当該オンライン処理要求を前記他のオンライン実行基盤に移動することができない第３のレベル
のうちの少なくともいずれかであること
を特徴とする情報処理装置。
【請求項７】
請求項４に記載の情報処理装置であって、
第４の処理部は、前記特定したバッチ実行基盤のいずれもがリソースを占有している状況になく、かつ、前記バッチ実行基盤の前記負荷レベルが前記第１のレベル、前記第２のレベル、及び前記第３のレベルのいずれでもない場合に、前記情報処理装置が所定のメッセージを出力すること
を特徴とする情報処理装置。
【請求項８】
請求項１に記載の情報処理装置であって、
前記第２の処理部は、前記選択において、バッチ処理の受け付け待機中の状況にある前記バッチ実行基盤を選択すること
を特徴とする情報処理装置。
【請求項９】
請求項１に記載の情報処理装置であって、
前記サーバは仮想化機構を有し、
前記バッチ実行基盤と前記オンライン実行基盤とは、当該サーバに存在する異なる仮想サーバ上で機能していること
を特徴とする情報処理装置。
【請求項１０】
請求項１に記載の情報処理装置であって、
前記リソースは、ＣＰＵ、メモリ、通信インタフェースの種類もしくは数、及び論理ボリューム、のうちの少なくともいずれかであること
を特徴とする情報処理装置。
【請求項１１】
請求項１に記載の情報処理装置であって、
前記決定したバッチ実行基盤による前記バッチ処理の実行に際し当該バッチ実行基盤による当該バッチ処理の進捗状況を監視する第９の処理部、
前記進捗状況に基づき予め記憶している当該バッチ処理の締切時刻までに当該バッチ処理が終了していないと判断し、かつ、当該バッチ実行基盤がリソースを占有している状況にない場合に、
当該バッチ実行基盤と同じ前記サーバで機能する前記オンライン実行基盤を特定する第１０の処理部、
前記特定したオンライン実行基盤の負荷状況に基づき、当該バッチ実行基盤の負荷レベルを決定する第１１の処理部、
決定した当該バッチ実行基盤の負荷レベルに応じて、前記オンライン実行基盤のオンライン処理要求を調整する第１２の処理部
をさらに備えること
を特徴とする情報処理装置。
【請求項１２】
バッチ実行基盤及びオンライン実行基盤が機能する複数のサーバを備えて構成される情報処理システムにおいて、前記バッチ実行基盤にバッチ処理要求を割り当てる方法であって、
前記サーバと通信可能に接続する情報処理装置が、
外部装置からバッチ処理要求を受け付ける第１のステップ、
前記バッチ実行基盤のうちから一つ以上の前記バッチ実行基盤を選択する第２のステップ、
前記特定したバッチ実行基盤へのリソースの割り当て状況が所定の条件を満たしている場合に、
前記特定したバッチ実行基盤と同じ前記サーバで機能している前記オンライン実行基盤を特定する第３のステップ、
前記特定したオンライン実行基盤の負荷状況に基づき、前記特定したバッチ実行基盤の負荷レベルを決定する第４のステップ、
前記負荷レベルに基づいて、前記特定したバッチ実行基盤のうちの一つを選択する第５のステップ、
前記選択したバッチ実行基盤のうちの一つを前記バッチ処理要求の割り当て先として決定する第６のステップ、
前記決定した前記バッチ実行基盤の前記負荷レベルに応じて、前記決定したバッチ実行基盤と同じ前記サーバで機能している前記オンライン実行基盤のオンライン処理要求を調整する第７のステップ、及び
前記外部装置から受け付けた前記バッチ処理要求を、前記決定したバッチ実行基盤に割り当てる第８のステップ
を実行すること
を特徴とするバッチ処理の割り当て方法。
【請求項１３】
請求項１２に記載のバッチ処理の割り当て方法であって、
前記所定の条件は、前記特定したバッチ実行基盤がリソースを共有している状況にあるという条件であること
を特徴とするバッチ処理の割り当て方法。
【請求項１４】
請求項１２に記載のバッチ処理の割り当て方法であって、
前記第７のステップにおける前記オンライン処理要求の調整は、
前記第６のステップで決定した前記バッチ実行基盤と同一の前記サーバで機能する前記オンライン実行基盤の前記オンライン処理要求の受け付けを制限する第１の方法、もしくは、
前記第６のステップで決定した前記バッチ実行基盤と同一の前記サーバで機能する前記オンライン実行基盤の前記オンライン処理要求を、他の前記サーバで機能する前記オンライン実行基盤に移動させる第２の方法
のうちの少なくともいずれかにより行うこと
を特徴とするバッチ処理の割り当て方法。
【請求項１５】
請求項１４に記載のバッチ処理の割り当て方法であって、
前記第１の方法における前記制限は、当該制限によって前記オンライン実行基盤がキューイング可能な前記オンライン処理要求の数が、前記オンライン実行基盤が保証すべき値として記憶しているリクエスト最低保証値以下にならないように行われること
を特徴とするバッチ処理の割り当て方法。
【請求項１６】
請求項１４に記載のバッチ処理の割り当て方法であって、
前記負荷レベルは、
前記特定したオンライン実行基盤のオンライン処理要求を制限することなく、オンライン処理要求を前記他のサーバの前記他のオンライン実行基盤に移動することができる第１のレベル、
前記特定したオンライン実行基盤のオンライン処理要求を制限すれば、当該オンライン処理要求を前記他のオンライン実行基盤に移動することができる第２のレベル、又は、
前記特定したオンライン実行基盤のオンライン処理要求を制限しても、当該オンライン処理要求を前記他のオンライン実行基盤に移動することができない第３のレベル
のうちの少なくともいずれかであること
を特徴とするバッチ処理の割り当て方法。
【請求項１７】
請求項１２に記載のバッチ処理の割り当て方法であって、
前記情報処理装置が、
前記決定したバッチ実行基盤による前記バッチ処理の実行に際し当該バッチ実行基盤による当該バッチ処理の進捗状況を監視する第９のステップ、
前記進捗状況に基づき予め記憶している当該バッチ処理の締切時刻までに当該バッチ処理が終了していないと判断し、かつ、当該バッチ実行基盤がリソースを占有している状況にない場合に、
当該バッチ実行基盤と同じ前記サーバで機能する前記オンライン実行基盤を特定する第１０のステップ、
前記特定したオンライン実行基盤の負荷状況に基づき、当該バッチ実行基盤の負荷レベルを決定する第１１のステップ、
決定した当該バッチ実行基盤の負荷レベルに応じて、前記オンライン実行基盤のオンライン処理要求を調整する第１２のステップ
を実行すること
を特徴とするバッチ処理の割り当て方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び情報処理システムにおけるバッチ処理の割り当て方法に関し、とくにオンライン処理とバッチ処理が行われる場合に、処理性能の低下を防ぐための技術に関する。
【背景技術】
【０００２】
近年、企業のサーバ保有台数の増大に伴い、サーバの運用管理コストが増大している。この問題を解決するにあたり、サーバ仮想化技術を利用したサーバ集約が図られている。例えば特許文献１には、仮想サーバ上のアプリケーションやオペレーティングシステムで計測された負荷状況に基づき、仮想サーバへの物理リソースの配分を決定し、再構成を行うことが記載されている。また特許文献２には、現行使用率に基づいた物理リソースの動的再割り振り方法について記載されている。
【特許文献１】特開２００２−２０２９５９号公報
【特許文献２】特開２００４−２５２９８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
サーバ集約等を目的として、オンライン処理とバッチ処理が同一のサーバで実行されることがある。この場合、オンライン処理とバッチ処理の間でリソースの競合が頻発するとシステム全体の処理性能が低下することがある。そしてこのような処理性能の低下は、バッチ処理の遅延やオンライン処理のレスポンス遅延等、業務に多大な影響を与えることがある。
【０００４】
本発明は上記課題を解決すべくなされたもので、オンライン処理とバッチ処理が行われる情報処理システムにおいて、情報処理装置、及び情報処理システムにおけるバッチ処理の割り当て方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するための本発明のうちの一つは、バッチ実行基盤及びオンライン実行基盤が機能する複数のサーバと通信可能に接続する情報処理装置であって、
外部装置からバッチ処理要求を受け付ける第１の処理部と、
前記バッチ実行基盤のうちから一つ以上の前記バッチ実行基盤を選択する第２の処理部と、
前記特定したバッチ実行基盤へのリソースの割り当て状況が所定の条件を満たしている場合に、
前記特定したバッチ実行基盤と同じ前記サーバで機能している前記オンライン実行基盤を特定する第３の処理部と、
前記特定したオンライン実行基盤の負荷状況に基づき、前記特定したバッチ実行基盤の負荷レベルを決定する第４の処理部と、
前記負荷レベルに基づいて、前記特定したバッチ実行基盤のうちの一つを選択する第５の処理部と、
前記選択したバッチ実行基盤のうちの一つを前記バッチ処理要求の割り当て先として決定する第６の処理部と、
前記決定した前記バッチ実行基盤の前記負荷レベルに応じて、前記決定したバッチ実行基盤と同じ前記サーバで機能している前記オンライン実行基盤のオンライン処理要求を調整する第７の処理部と、
前記外部装置から受け付けた前記バッチ処理要求を、前記決定したバッチ実行基盤に割り当てる第８の処理部と
を備えることとする。
【０００６】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【０００７】
本発明によれば、オンライン処理とバッチ処理が行われる場合に情報処理システムの処理性能の低下を防ぐことができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照しつつ実施の形態について説明する。
【０００９】
＝システム構成＝
図１Ａに実施形態として説明する情報処理システム１の概略的な構成を示している。同図に示すように、この情報処理システム１は、バッチ（Batch）処理要求（リクエスト）を送信するバッチクライアント１０１、オンライン（Online）処理要求を送信するオンラインクライアント１１１、バッチクライアント１０１から送られてくるバッチ処理要求を受け付けるバッチスケジュール管理装置１０２（情報処理装置）、オンラインクライアント１１１から送られてくるオンライン処理要求を受け付ける負荷分散装置１１２、バッチスケジュール管理装置１０２又は負荷分散装置１１２から送られてくる要求に応じてバッチ処理又はオンライン処理を実行するＡＰ実行サーバ１１４、ＡＰ実行サーバ１１４が利用するデータが格納されるストレージ装置１３１を備えている。
【００１０】
同図に示すように、バッチクライアント１０１とバッチスケジュール管理装置１０２、オンラインクライアント１１１と負荷分散装置１１２、バッチスケジュール管理装置１０２とＡＰ実行サーバ１１４、負荷分散装置１１２とＡＰ実行サーバ１１４は、いずれも通信ネットワーク１３２Ａ〜１３２Ｄを介して通信可能に接続されている。通信ネットワーク１３２Ａ〜１３２Ｄは、例えばＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネット、専用線等である。ＡＰ実行サーバ１１４とストレージ装置１３１は、ＦＣスイッチ（FC:Fibre Channel）等を用いて構成されるＳＡＮ（Storage Area Network）、ＬＡＮ、ＷＡＮ、インターネット等を介して通信可能に接続されている。
【００１１】
バッチクライアント１０１、オンラインクライアント１１１、バッチスケジュール管理装置１０２、負荷分散装置１１２、及びＡＰ実行サーバ１１４は、いずれもパーソナルコンピュータやワークステーション、メインフレーム等のコンピュータである。図１Ｂにこれらの装置として用いるコンピュータのハードウエアの一例を示している。同図に示すコンピュータ１０は、ＣＰＵ１１、メモリ１２（ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等）、記憶装置１３（ハードディスクや半導体記憶装置（SSD:Solid State Drive）等）、ユーザの操作入力を受け付ける入力装置１４（キーボードやマウス等）、出力装置１５（液晶モニタ、印字装置等）、他の装置との間の通信を実現する通信インタフェース１６（ＮＩＣ（Network Interface Card、ＨＢＡ（Host Bus Adapter）等)を備えている。
【００１２】
図１Ｃにストレージ装置１３１のハードウエアの一例を示している。このストレージ装置１３１は、ディスクコントローラ２１、キャッシュメモリ２２、通信インタフェース２３、及びディスク装置２４（筐体内蔵型又は外部接続型）を備えている。
【００１３】
ディスクコントローラ２１は、ＣＰＵ及びメモリを備え、ストレージ装置１３１の機能を実現するための処理を実行する。キャッシュメモリ２２には、例えばディスク装置２４に書き込まれるデータ、ディスク装置２４から読み出されたデータが格納される。ディスク装置２４は、一台以上のハードディスク２４１（物理ディスク）を備える。ディスク装置２４は、ＲＡＩＤ（Redundant Arrays of Inexpensive （or Independent) Disks）の方式（ＲＡＩＤ０〜ＲＡＩＤ６）で制御される。
【００１４】
ストレージ装置１３１は、ディスク装置２４の記憶領域により構成される論理的な記憶領域である論理ボリュームをＡＰ実行サーバ１１４に提供する。ストレージ装置１３１の具体例として、外部装置と通信するためのチャネル制御部、ハードディスクドライブに対してアクセスを行うディスク制御部、チャネル制御部とディスク制御部との間のデータの受け渡し等に利用されるキャッシュメモリ、装置の各部を通信可能に接続するスイッチなどの通信機構を備えたディスクアレイ装置がある。
【００１５】
＝機能説明＝
図２ＡにＡＰ実行サーバ１１４の機能を示している。同図に示す各機能は、ＡＰ実行サーバ１１４のＣＰＵ１１が、メモリ１２に読み出されているプログラムを実行することにより、又はＡＰ実行サーバ１１４のハードウエアが備える機能により実現される。同図に示すように、ＡＰ実行サーバ１１４では、ハイパーバイザ（hypervisor）や仮想化プログラムなどにより実現される仮想化機構１３３、仮想化機構１３３により実現される一つ以上の仮想サーバ１２０、各仮想サーバ１２０において動作するオペレーティングシステム（ＯＳ３０２）、及びＪａｖａ（登録商標）のＪ２ＥＥ実行基盤（J2EE:Java 2 Enterprise Edition）として生成される実行基盤（バッチ実行基盤３０１とオンライン実行基盤３０３）が機能している。仮想化機構１３３は仮想サーバ１２０へのリソース（ＣＰＵ１１、メモリ１２、論理ボリューム）の割り当てを行う。
【００１６】
図２Ｂに負荷分散装置１１２が備える機能を示している。負荷分散機構１１３は、負荷分散装置１１２のＣＰＵ１１が、メモリ１２に読み出されているプログラムを実行することにより、または負荷分散装置１１２のハードウエアが備える機能により実現される。同図に示すように、負荷分散装置１１２では、負荷分散機構１１３（ロードバランサ）が機能している。負荷分散機構１１３は、オンライン処理要求に対応する処理を、各ＡＰ実行サーバ１１４のオンライン実行基盤３０３に割り当てる。このとき、負荷分散機構１１３は、処理が各ＡＰ実行サーバ１１４の各オンライン実行基盤３０３に適切に分散されるようにする。
【００１７】
図２Ｃにバッチスケジュール管理装置１０２が備える機能、及びバッチスケジュール管理装置１０２で管理されるテーブルを示している。尚、同図に示す機能は、バッチスケジュール管理装置１０２のＣＰＵ１１が、メモリ１２に読み出されているプログラムを実行することにより、又はバッチスケジュール管理装置１０２のハードウエアが備える機能により実現される。
【００１８】
同図に示すように、バッチスケジュール管理装置１０２は、バッチリクエスト管理部１０７、最適配置管理部１０８、オンライン負荷分散管理部１０９、及び仮想化機構管理部１１０を備えている。
【００１９】
バッチリクエスト管理部１０７（第１の処理部）は、バッチ処理要求を受け付ける。バッチ処理要求は、ユーザの操作入力に応じてバッチクライアント１０１から送られてくる場合もあるし、バッチスケジューラ等により自動的に生成される場合もある。バッチリクエスト管理部１０７は、バッチ処理要求を受け付けるとそれを後述のバッチＡＰ管理テーブル２０８に登録する。バッチリクエスト管理部１０７は、バッチ処理の実行時間が到来すると、バッチＡＰ管理テーブル２０８に登録されているバッチ処理要求を（例えば予め設定された優先度順）にバッチリクエストキュー２０７に登録し、バッチリクエストキュー２０７に蓄積されている各バッチ処理要求に対応するバッチ処理の実行要求を順次最適配置スケジュール部２０１に送出する。
【００２０】
最適配置管理部１０８（第１の処理部〜第８の処理部、第１０の処理部〜第１２の処理部）は、バッチ実行基盤３０１へのバッチ処理の割り当てを管理する。同図に示すように、最適配置管理部１０８は、最適配置スケジュール部２０１、実行基盤決定部２０２、バッチ完了処理部２０３、及び再配置管理部２０４を備える。
【００２１】
最適配置スケジュール部２０１は、バッチリクエスト管理部１０７から送られてくるバッチ処理の実行要求を受け付けると、受け付けたバッチ処理の実行要求をＡＰ実行サーバ１１４のバッチ実行基盤３０１に送出する（バッチ処理をバッチ実行基盤３０１に割り当てる）。また最適配置スケジュール部２０１は、受け付けたバッチ処理のバッチ実行基盤３０１の決定要求を実行基盤決定部２０２に送出する。  
実行基盤決定部２０２（第５の処理部、第６の処理部、第１１の処理部）は、最適配置スケジュール部２０１から送出されるバッチ実行基盤３０１の決定要求に応じてバッチ実行基盤３０１の決定を行う。  
バッチ完了処理部２０３は、バッチ処理が完了した際、所定のオンライン実行基盤３０３について実施していたオンライン処理要求の調整を停止し、当該バッチ処理の実行前の状態に戻す。このとき、バッチ完了処理部２０３は、後述するバッチ実行基盤管理テーブル２０９の該当のバッチ実行基盤３０１の状況５０３に「待機中」を格納する。  
再配置管理部２０４（第９の処理部）は、各ＡＰ実行サーバ１１４のバッチ実行基盤３０１のバッチ処理の実行状況を監視する。再配置管理部２０４は、締切時刻までに処理が完了しないことが予測される場合、オンライン処理要求の調整を行う。上記調整には、オンライン処理要求を制限（オンライン処理要求のキューイング数を減らす）する第１の方法と、オンライン処理要求を他のＡＰ実行サーバ１１４の他のオンライン実行基盤に移動する第２の方法とがある。第１の方法、及び第２の方法の詳細については後述する。
【００２２】
オンライン負荷分散管理部１０９は、負荷分散装置１１２の負荷分散機構１１３から負荷分散状況を取得し、取得した負荷分散状況に基づきバッチ実行基盤３０１の負荷レベル（後述）を決定する。またオンライン負荷分散管理部１０９は、負荷分散機構１１３にオンライン処理要求の調整を依頼する。またオンライン負荷分散管理部１０９は、仮想化機構管理部１１０に対し、仮想サーバ１２０へのリソースの割り当て変更を要求する。同図に示すように、オンライン負荷分散管理部１０９は、負荷分散状況取得部２０５、及び負荷分散管理部２０６を備える。
【００２３】
負荷分散状況取得部２０５は、最適配置スケジュール部２０１から送られてくるバッチ実行基盤３０１の負荷レベルの問い合わせ要求を受け付けると、負荷分散装置１１２の負荷分散機構１１３から負荷分散状況を取得し、取得した負荷分散状況に基づきバッチ実行基盤３０１の負荷レベルを決定する。そして負荷分散状況取得部２０５は、決定した負荷レベルを最適配置スケジュール部２０１に返す。  
負荷分散管理部２０６は、負荷分散装置１１２の負荷分散機構１１３にオンライン処理要求の調整要求を行い、仮想化機構管理部１１０に対し、仮想サーバ１２０へのリソースの割り当ての変更を要求する。
【００２４】
仮想化機構管理部１１０は、仮想化機構１３３と通信することにより仮想サーバ１２０へのリソースの割り当てを変更する。また仮想化機構管理部１１０は、後述するワークロード管理テーブル２１２を管理する。
【００２５】
図３は以下の説明で用いる情報処理システム１の構成である。同図に示すように、この情報処理システム１は、通信ネットワーク１３２を介して通信可能に接続される、バッチスケジュール管理装置１０２、負荷分散装置１１２、及び３台のＡＰ実行サーバ１１４ａ，１１４ｂ，１１４ｃを含んで構成されている。尚、同図ではバッチスケジュール管理装置１０２に接続するバッチクライアント１０１、及び負荷分散装置１１２に接続するオンラインクライアント１１１は省略している。
【００２６】
同図に示すように、ＡＰ実行サーバ１１４ａには２つの仮想サーバ１２０ａ−１、１２０ａ−２が存在する。仮想サーバ１２０ａ−１ではバッチ実行基盤３０１ａが機能し、仮想サーバ１２０ａ−２ではオンライン実行基盤３０３ａが機能する。  
ＡＰ実行サーバ１１４ｂには２つの仮想サーバ１２０ｂ−１、１２０ｂ−２が存在する。仮想サーバ１２０ｂ−１ではバッチ実行基盤３０１ｂが機能し、仮想サーバ１２０ｂ−２ではオンライン実行基盤３０３ｂが機能する。  
ＡＰ実行サーバ１１４ｃには２つの仮想サーバ１２０ｃ−１、１２０ｃ−２が存在する。このうち仮想サーバ１２０ｃ−１ではバッチ実行基盤３０１ｃが機能し、仮想サーバ１２０ｃ−２ではオンライン実行基盤３０３ｃが機能する。
【００２７】
以上のように、図３の情報処理システム１における各ＡＰ実行サーバ１１４ａ〜１１４ｃの夫々には、いずれも２つの仮想サーバ１２０ａ−１，１２０ａ−２，１２０ｂ−１，１２０ｂ−２，１２０ｃ−１，１２０ｃ−２が存在しており、一方の仮想サーバ１２０ａ−１，１２０ｂ−１，１２０ｃ−１ではバッチ実行基盤３０１ａ，３０１ｂ，３０１ｃが機能しており、他方の仮想サーバ１２０ａ−２，１２０ｂ−２，１２０ｃ−２ではオンライン実行基盤３０３ａ，３０３ｂ，３０３ｃが機能している。
【００２８】
＝テーブル説明＝
次にバッチスケジュール管理装置１０２において管理されるテーブルについて詳細に説明する。
【００２９】
図４にバッチＡＰ管理テーブル２０８の一例を示している。バッチＡＰ管理テーブル２０８には、バッチスケジュール管理装置１０２が受け付けたバッチ処理要求に応じて実行されるバッチ処理が管理される。同図に示すように、バッチＡＰ管理テーブル２０８は、ジョブ識別子４０１、ＡＰ名４０２、ＡＰ位置４０３、優先度４０４、及び締切時刻４０５の各項目を有する複数のレコードからなる。
【００３０】
ジョブ識別子４０１には、バッチ処理ごとに付与されるジョブの識別子が格納される。ＡＰ名４０２には、バッチ処理の名称（アプリケーション名）が格納される。ＡＰ位置４０３には、バッチアプリケーション名４０２に該当するアプリケーションを実現するためのプログラムが格納されている情報処理システム１内の位置を特定する情報（ネットワークアドレス、ディレクトリ名等）が格納される。優先度４０４には、バッチ処理（ジョブ）の実行優先度が格納される。締切時刻４０５には、バッチ処理の締切時刻（バッチ処理が完了していなければならない時刻）が格納される。
【００３１】
図５にバッチ実行基盤管理テーブル２０９の一例を示している。バッチ実行基盤管理テーブル２０９には、バッチ実行基盤３０１ａ，３０１ｂ，３０１ｃに関する情報が管理される。バッチ実行基盤管理テーブル２０９の各レコードは、バッチ実行基盤識別子５０１、ジョブ識別子５０２、状況５０３、仮想サーバ識別子５０４、開始時刻５０５、締切時刻５０６、残り時間５０７、終了件数５０８、及び全件数５０９の各項目からなる。
【００３２】
このうちバッチ実行基盤識別子５０１には、バッチ実行基盤３０１ａ、３０１ｂ，３０１ｃを特定する識別子が格納される。この識別子は全てのＡＰ実行サーバ１１４及び仮想サーバ１２０において固有の値である。  
ジョブ識別子５０２には、該当のバッチ実行基盤３０１で現在実行されているジョブ（各バッチ処理に対応）の識別子が格納される。  
状況５０３には、該当のバッチ実行基盤３０１の現在の状況が格納される。例えばバッチ処理を実行中の場合は「実行中」が、バッチ処理が実行されておらず新たなバッチ処理の実行要求を待機している状況であれば「待機中」が格納される。  
仮想サーバ識別子５０４には、該当のバッチ実行基盤３０１を実現している仮想サーバ１２０の識別子（仮想サーバ識別子）が格納される。  
開始時刻５０５には、該当のバッチ実行基盤３０１で現在実行中のバッチ処理の開始時刻が格納される。  
締切時刻５０６には、該当のバッチ実行基盤３０１で実行されているバッチ処理の締切時刻が格納される。  
残り時間５０７には、現在時刻から締切時刻５０６までの残り時間が格納される。終了件数５０８には、現在実行中のバッチ処理を開始してから現在までの入力データの処理件数（例えばトランザクション数）が格納される。  
全件数５０９には、現在実行中のバッチ処理が処理しなければならない入力データの全件数が格納される（全件数−終了件数＝残り件数）。
【００３３】
図６にオンライン実行基盤管理テーブル２１０の一例を示している。オンライン実行基盤管理テーブル２１０には、各オンライン実行基盤３０３ａ，３０３ｂ，３０３ｃに関する情報が管理される。同図に示すように、オンライン実行基盤管理テーブル２１０の各レコードは、オンライン実行基盤識別子６０１、状況６０２、及び仮想サーバ識別子６０３の各項目からなる。
【００３４】
オンライン実行基盤識別子６０１には、オンライン実行基盤３０３ａ，３０３ｂ，３０３ｃを特定する識別子が格納される。この識別子は全てのＡＰ実行サーバ１１４及び仮想サーバ１２０において固有の値である。  
状況６０２には、該当のオンライン実行基盤３０３の現在の状況（状態）が格納される。例えばオンライン処理を実行中の場合は「実行中」が、オンライン処理が実行されていない場合は「停止中」が格納される。  
仮想サーバ識別子６０３には、該当のオンライン実行基盤３０３を実現している仮想サーバ１２０の識別子（仮想サーバ識別子）が格納される。
【００３５】
図７に仮想サーバ管理テーブル２１１の一例を示している。仮想サーバ管理テーブル２１１には、各仮想サーバ１２０に現在割り当てられているリソースが管理される。仮想サーバ管理テーブル２１１の各レコードは、ＡＰ実行サーバ識別子７０１、仮想サーバ識別子７０２、割り当てリソース７０３、及びＣＰＵ占有状況７０４の各項目からなる。
【００３６】
ＡＰ実行サーバ識別子７０１には、ＡＰ実行サーバ１１４の識別子が格納される。  
仮想サーバ識別子７０２には、仮想サーバ識別子が格納される。  
割り当てリソース７０３には、該当の仮想サーバ１２０に現在割り当てられているリソースを示す情報が格納される。例えば割り当てリソース７０３には、仮想サーバ１２０に現在割り当てられているＣＰＵ１１、仮想サーバ１２０に現在割り当てられているメモリ１２の容量、現在割り当てられている通信インタフェース１６の種類や数、仮想サーバ１２０に現在割り当てられている記憶装置（又は論理ボリューム）等が格納される。
【００３７】
尚、同図ではＣＰＵ１１をグループ単位で仮想サーバ１２０に割り当てているが、必ずしもグループ単位で割り当てなくてもよい。以下の説明では１つ以上のＣＰＵ１１を含んで構成されるグループをＣＰＵグループと称する。ユーザやオペレータ等は、ＣＰＵ１１を任意にグループ分けして登録しておくことができる。
【００３８】
ＣＰＵ占有状況７０４には、各仮想サーバ１２０のＣＰＵ１１の占有状況（ＣＰＵ占有状況）が格納される。ＣＰＵ占有状況とは、各仮想サーバ１２０が自身に割り当てられているＣＰＵ１１（又はＣＰＵグループ）を「占有」しているか、或いは他の仮想サーバ１２０と「共有」しているかを示す情報である。ＣＰＵ占有状況は、基本的にユーザやオペレータ等により設定される。ある仮想サーバ１２０がＣＰＵ１１を「占有」している場合、他の仮想サーバ１２０はそのＣＰＵ１１を使用することは無いが、「共有」の場合はそのＣＰＵ１１を他の仮想サーバ１２０が同時に使用することがあり得る。尚、本実施形態では「擬似占有」という用語を使う場合があるが、「擬似占有」とは「共有」に設定されているＣＰＵ１１が一時的に特定の仮想サーバ１２０のみによって使用されている状況をいう。「擬似占有」の状態は、例えば他の仮想サーバ１２０の負荷が上昇した場合に解除され、そのＣＰＵ１１はこれを「擬似占有」していた仮想サーバ１２０と当該他の仮想サーバ１２０との間で共有される。尚、本実施形態では複数の仮想サーバ１２０によって「占有」又は「共有」されるリソースの一例としてＣＰＵ１１を挙げているが、「占有」又は「共有」されるリソースは必ずしもＣＰＵ１１に限定されない。
【００３９】
図８にワークロード管理テーブル２１２の一例を示している。ワークロード管理テーブル２１２には、各仮想サーバ１２０のリソースの現在の利用状況（ワークロード）が管理される。同図に示すように、ワークロード管理テーブル２１２の各レコードは、ＡＰ実行サーバ識別子８０１、仮想サーバ識別子８０２、ＣＰＵ割当量８０３、物理ＣＰＵ使用率８０４、及び実行処理待ち数８０５の各項目からなる。
【００４０】
ＡＰ実行サーバ識別子８０１には、ＡＰ実行サーバ１１４の識別子が格納される。  
仮想サーバ識別子８０２には、仮想サーバ識別子が格納される。  
ＣＰＵ割当量８０３には、その仮想サーバ１２０への現在のＣＰＵ１１の割当量（ＣＰＵ割当量）が格納される。尚、ＣＰＵ割当量は、例えば仮想サーバ１２０に割り当てられているＣＰＵグループの使用可能時間として把握される。  
物理ＣＰＵ使用率８０４には、ＣＰＵ１１の使用率（物理ＣＰＵ使用率）が格納される。物理ＣＰＵ使用率とは、そのＡＰ実行サーバ１１４が有する全てのＣＰＵ１１の能力に対する現在の使用量である。物理ＣＰＵ使用率はＡＰ実行サーバ１１４の現在の負荷の指標となる。  
実行処理待ち数８０５には、該当の仮想サーバ１２０の現在の処理待ち数が格納される。処理待ち数は、例えば各仮想サーバ１２０が仮想化機構１３３に発行した処理命令のうち、仮想化機構１３３上で処理待ち状態になっている処理命令の数（タスク数）によって把握される。
【００４１】
図９にオンライン負荷管理テーブル２１３の一例を示している。オンライン負荷管理テーブル２１３には、各ＡＰ実行サーバ１１４のオンライン実行基盤３０３で実行されるオンラインアプリケーションに関する情報が管理される。同図に示すように、オンライン負荷管理テーブル２１３の各レコードは、実行ＡＰ９０１、リクエスト最低保証値９０２、及びアクセス振分け先リスト９０３の各項目からなる。
【００４２】
実行ＡＰ９０１には、オンライン実行基盤３０３で実行されるオンラインアプリケーションの識別子（アプリケーション名）が格納される。  
リクエスト最低保証値９０２には、該当のアプリケーションについて最低限保証しなければならないオンライン処理要求のキューイング数（リクエスト最低保証値）が格納される。リクエスト最低保証値を超えるオンライン処理要求があった場合はオンラインクライアント１１１にエラーが返される可能性がある。  
アクセス振分け先リスト９０３には、そのオンラインアプリケーションを複数の仮想サーバ１２０に負荷分散しているときの割り当て先の仮想サーバ１２０の識別子（仮想サーバ識別子）が格納される。
【００４３】
＝処理説明＝
図１０はバッチスケジュール管理装置１０２の最適配置スケジュール部２０１により行われる処理（以下、最適配置スケジュール処理（Ｓ１０００）と称する。）を説明するフローチャートである。この処理は、例えば最適配置スケジュール部２０１が、バッチリクエスト管理部１０７等の要求元からバッチ処理の実行要求を受け付けた場合に行われる。尚、以下の説明において、符号の前に付した「Ｓ」の文字はステップを意味する。以下、同図とともに最適配置スケジュール処理（Ｓ１０００）について説明する。
【００４４】
まずＳ１００１において、最適配置スケジュール部２０１は、割り当て要求を受け付けた旨を要求元に通知する。  
Ｓ１００２では、最適配置スケジュール部２０１は、バッチ実行基盤管理テーブル２０９を参照し、各ＡＰ実行サーバ１１４のバッチ実行基盤３０１のうち、「待機中」のもの（状況５０３が「待機中」であるもの）を特定（選択）する。尚、「待機中」のバッチ実行基盤３０１が複数存在する場合には、最適配置スケジュール部２０１はそれら全てを特定する。図５のバッチ実行基盤管理テーブル２０９の場合には３行目のレコード（「バッチ実行基盤ｃ」のレコード）が特定される。  
Ｓ１００３では、最適配置スケジュール部２０１は、バッチ実行基盤管理テーブル２０９と仮想サーバ管理テーブル２１１を参照し、Ｓ１００２で特定したバッチ実行基盤３０１のＣＰＵ占有状況を取得する。具体的には、最適配置スケジュール部２０１は、バッチ実行基盤管理テーブル２０９からＳ１００２で特定したバッチ実行基盤３０１が実現されている仮想サーバ１２０（仮想サーバ識別子）を取得する。そして取得した仮想サーバ１２０のＣＰＵ占有状況を仮想サーバ管理テーブル２１１から取得することによりバッチ実行基盤３０１の占有状況を調べる。例えば図５の場合は仮想サーバ識別子として３行目の「仮想サーバ５」を取得し、仮想サーバ管理テーブル２１１から「仮想サーバ５」のＣＰＵ占有状況を取得することにより、Ｓ１００２で特定したバッチ実行基盤３０１の占有状況を取得する。
【００４５】
以上のようにしてＣＰＵ占有状況を取得した結果、Ｓ１００２で特定したバッチ実行基盤３０１のうちＣＰＵ１１を占有しているバッチ実行基盤３０１があれば（Ｓ１００３：ある）、Ｓ１００６に進む。ＣＰＵ１１を占有しているバッチ実行基盤３０１がなければ（Ｓ１００３：ない）、Ｓ１００４に進む。
【００４６】
Ｓ１００４では、最適配置スケジュール部２０１は、オンライン実行基盤管理テーブル２１０を参照し、Ｓ１００２で特定した待機中のバッチ実行基盤３０１と同一のＡＰ実行サーバ１１４で動作しているオンライン実行基盤３０３を特定する。例えば図６のオンライン実行基盤管理テーブル２１０の場合、「仮想サーバ５」が存在するＡＰ実行サーバ１１４（仮想サーバ管理テーブル２１１から取得）に存在する「仮想サーバ６」において機能している「オンライン実行基盤ｃ」（オンライン実行基盤管理テーブル２１０から取得）が特定される。
【００４７】
Ｓ１００５では、最適配置スケジュール部２０１は、オンライン負荷分散管理部１０９の負荷分散状況取得部２０５に、Ｓ１００４で特定したオンライン実行基盤３０３のオンライン処理要求の負荷レベル（つまりＳ１００２で特定したバッチ実行基盤３０１の負荷レベル）を問い合わせる。尚、負荷レベルの意味、及びＳ１００５の処理の詳細については後述する。
【００４８】
Ｓ１００６では、最適配置スケジュール部２０１は、実行基盤決定部２０２に対してバッチ実行基盤３０１の決定要求を送出する。尚、この決定要求に応じて実行基盤決定部２０２が行う処理の詳細については後述する。
【００４９】
Ｓ１００７では、最適配置スケジュール部２０１は、実行基盤決定部２０２から、決定したバッチ実行基盤３０１とともにバッチ実行基盤の決定完了通知を取得する。  
続くＳ１００８において、最適配置スケジュール部２０１は、バッチ実行基盤管理テーブル２０９及び仮想サーバ管理テーブル２１１を参照し、Ｓ１００６で決定したバッチ実行基盤３０１のＣＰＵ占有状況を調べる。例えば図５の例の場合、決定したバッチ実行基盤が「バッチ実行基盤ｃ」であれば、「バッチ実行基盤ｃ」が存在する「仮想サーバ５」のＣＰＵ占有状況を仮想サーバ管理テーブル２１１から取得し、その結果「共有」（占有でない）と判断される。  
バッチ実行基盤３０１がＣＰＵ１１を「占有」している場合には（Ｓ１００８：占有）、Ｓ１０１１に進み、「占有」していない場合（「共有」の場合）には（Ｓ１００８：共有）、Ｓ１００９に進む。  
Ｓ１００９では、最適配置スケジュール部２０１は、負荷分散管理部２０６にオンライン処理要求の調整を要求する。このとき、最適配置スケジュール部２０１はＳ１００５で負荷分散状況取得部２０５に問い合わせて取得した負荷レベルを負荷分散管理部２０６に渡す。  
尚、このようにバッチ実行基盤３０１がＣＰＵ１１を「占有」していない場合にオンライン処理要求の調整を要求するのは、ＣＰＵ１１を「占有」していない場合はできるだけオンライン処理要求を調整してバッチ処理のためのリソースが確保されるようにするためである。
【００５０】
Ｓ１０１０では、最適配置スケジュール部２０１は、負荷分散管理部２０６からオンライン処理要求の調整完了通知を取得する。  
Ｓ１０１１では、最適配置スケジュール部２０１は、決定したバッチ実行基盤３０１に対して、バッチ処理の実行要求を出す（バッチ処理要求の割り当てを行う）。  
Ｓ１０１２では、最適配置スケジュール部２０１が、バッチ実行基盤３０１がバッチ処理の実行要求を受け付けたことを確認し、バッチ実行基盤管理テーブル２０９を更新する（開始時刻５０５及び残り時間５０７に値を格納する）。
【００５１】
以上に説明したように、最適配置スケジュール部２０１は、要求元からバッチ処理要求を受け付けると、待機中のバッチ実行基盤３０１のＣＰＵ占有状況を調べる。そして受け付けたバッチ処理要求についてのバッチ処理をＣＰＵ１１を占有していないバッチ実行基盤３０１にさせる場合、オンラインの負荷レベルに応じて自動的にバッチ実行基盤３０１のオンライン処理要求を調整する。このように、本実施形態の情報処理システム１においては、バッチ処理が締切時刻までに終了するように自動的に調整がなされる。
【００５２】
図１１は図１０のフローチャートにおけるオンライン負荷レベル確認処理（Ｓ１００５）を説明するフローチャートである。以下、同図とともにオンライン負荷レベル確認処理（Ｓ１００５）について詳細に説明する。
【００５３】
まずＳ１１０１において、負荷分散状況取得部２０５は、オンライン実行基盤管理テーブル２１０を参照し、Ｓ１００４で特定されたオンライン実行基盤３０３（図５、図６の場合は「オンライン実行基盤ｃ」））が存在する仮想サーバ１２０の仮想サーバ識別子を取得する。例えば図５、図６の場合は仮想サーバ識別子として「仮想サーバ６」を取得する。
【００５４】
次のＳ１１０２では、負荷分散状況取得部２０５は、オンライン負荷管理テーブル２１３のアクセス振分け先リスト９０３に、Ｓ１１０１で特定した仮想サーバ１２０が格納されているオンラインアプリケーションの識別子（実行ＡＰ９０１の内容）と、リクエスト最低保証値とを取得する（図５の場合は「仮想サーバ６」に対応する実行ＡＰ９０１の内容である「購買」と、リクエスト最低保証値「５」を取得）。
【００５５】
Ｓ１１０３では、負荷分散状況取得部２０５は、負荷分散装置１１２の負荷分散機構１１３から、当該オンラインアプリケーションの負荷分散の状況を取得する。このとき、負荷分散状況取得部２０５は、Ｓ１１０２で取得したオンラインアプリケーションの識別子、リクエスト最低保証値、及びＳ１１０１で特定した仮想サーバ識別子を負荷分散機構１１３に渡す。
【００５６】
ここでこの問い合わせに対して応答される負荷分散状況には、一方のオンライン実行基盤３０３に割り当てているオンライン処理要求を全て他のオンライン実行基盤３０３に割り当て直すことにより一方のオンライン実行基盤３０３の処理を停止させる（以下、説明の便宜上、「オンライン処理要求の移動」と呼ぶ場合がある。）ことができるかどうか、またそのためにオンライン処理要求の受け付けを制限する必要があるかどうかを決定するのに必要な情報が含まれる。
【００５７】
続くＳ１１０４において、負荷分散状況取得部２０５は、Ｓ１１０３で取得したオンラインアプリケーションの負荷分散状況に基づき、以下のようにしてバッチ実行基盤３０１の負荷レベルを決定する。  
即ち、オンライン処理要求を制限することなくオンライン処理要求を他のオンライン実行基盤３０３に移動することができるオンラインアプリケーションが実行されているオンライン実行基盤３０３と同居する（同じＡＰ実行サーバ１１４で機能する）バッチ実行基盤３０１の負荷レベルを「１」（第１のレベル）とする。
【００５８】
またオンライン処理要求を制限すれば、オンライン処理要求を他のオンライン実行基盤３０３に移動することができるオンラインアプリケーションが実行されているオンライン実行基盤３０３と同居するバッチ実行基盤３０１の負荷レベルを「２」（第２のレベル）とする。尚、リクエスト最低保証値までオンライン処理要求を制限しなくてもオンライン処理要求を他のオンライン実行基盤３０３に移動可能な場合も負荷レベルは「２」とする。  
またオンライン処理要求の最低保証値以下とならない限界までオンライン処理要求を制限しても、オンライン処理要求を他のオンライン実行基盤３０３に移動することができないオンラインアプリケーションが実行されているオンライン実行基盤３０３と同居するバッチ実行基盤３０１の負荷レベルを「３」（第３のレベル）とする。  
尚、以上の判断において、リクエスト最低保証値以下となるようなオンライン処理要求の制限は禁止される。
【００５９】
Ｓ１１０５では、負荷分散状況取得部２０５は、Ｓ１１０４で決定したオンラインの負荷レベルを呼出元に返す。
【００６０】
図１２は図１０のフローチャートにおけるバッチ実行基盤決定処理（Ｓ１００６）を説明するフローチャートである。
【００６１】
Ｓ１２０１では、実行基盤決定部２０２が、Ｓ１００３で特定したバッチ実行基盤３０１のうちＣＰＵ１１を「占有」しているものがあるか否かを判断する。「占有」しているものがある場合には（Ｓ１２０１：ある）、Ｓ１２０６に進み、「占有」しているものがない場合には（Ｓ１２０１：ない）、Ｓ１２０２に進む。  
Ｓ１２０２では、実行基盤決定部２０２は、Ｓ１００３で特定したバッチ実行基盤３０１のうち負荷レベルが「１」のバッチ実行基盤３０１があるか否かを判断する。負荷レベルが「１」のバッチ実行基盤３０１があれば（Ｓ１２０２：ある）、Ｓ１２０６に進み、なければ（Ｓ１２０２：ない）、Ｓ１２０３に進む。  
Ｓ１２０３では、Ｓ１００３で特定したバッチ実行基盤３０１のうち負荷レベルが「２」のバッチ実行基盤３０１があるか否かを判断する。負荷レベルが「２」のバッチ実行基盤３０１があれば（Ｓ１２０３：ある）、Ｓ１２０６に進み、なければ（Ｓ１２０３：ない）、Ｓ１２０４に進む。  
Ｓ１２０４では、実行基盤決定部２０２は、負荷レベルが「３」のバッチ実行基盤３０１があるか否かを判断する。負荷レベルが「３」のバッチ実行基盤３０１があれば（Ｓ１２０４：ある）、Ｓ１２０６に進み、なければ（Ｓ１２０４：ない）、Ｓ１２０５に進む。
【００６２】
尚、負荷レベルが「３」のバッチ実行基盤３０１がある場合とは、バッチ実行基盤３０１と対になるオンライン実行基盤３０３のオンライン処理要求を制限しても擬似占有とすることはできない（例えばリクエスト最低保証値の制限によりバッチ実行基盤３０１にＣＰＵ１１を擬似占有させることができない場合）が、オンライン処理要求を制限することはできる場合（リクエスト最低保証値までは制限できる場合）である。また負荷レベルが「３」のバッチ実行基盤３０１がない場合とは、オンライン処理要求を制限することすらできない場合（例えばオンライン実行基盤３０３のリクエスト最低保証値以下とならないようにオンライン実行基盤３０３に十分にリソースを確保しておく必要がある場合）である。
【００６３】
Ｓ１２０５では、実行基盤決定部２０２は、ユーザやオペレータ等のバッチ処理の管理者にバッチ処理要求を締切時刻までに処理することができない旨を通知し、その後は処理が終了する。この通知は、例えばバッチクライアント１０１やＡＰ実行サーバ１１４の出力装置１５にその旨のメッセージを出力することにより行う。
【００６４】
このように負荷レベルが「１」〜「３」のバッチ実行基盤３０１が存在しない場合に管理者に通知するようにしているのは、現在のＡＰ実行サーバ１１４の状況下でバッチ処理を実行しても殆どリソースを使用することができず、締切時刻までにバッチ処理が終了しない可能性が高いため、事前に管理者に知らせておく必要があるからである。このように、本実施形態の情報処理システム１によれば、バッチ処理の実行前に締切時刻までに終了するか否かが管理者に通知されるので、管理者は事前にリソースを増強する等のバッチ処理のための対策を講じることができる。
【００６５】
Ｓ１２０６では、実行基盤決定部２０２は、該当するバッチ実行基盤３０１が複数存在するか否かを判断する。複数存在する場合には（Ｓ１２０６：ＹＥＳ）、Ｓ１２０７に進み、該当するバッチ実行基盤３０１が１つしかない場合には（Ｓ１２０６：ＮＯ）、Ｓ１２０８に進む。
【００６６】
Ｓ１２０７では、実行基盤決定部２０２は、複数のバッチ実行基盤３０１の夫々が機能している仮想サーバ１２０の処理能力（バッチ実行基盤３０１の処理能力）を比較する。この比較は、例えば仮想サーバ管理テーブル２１１やワークロード管理テーブル２１２を利用して行う。例えば実行基盤決定部２０２は、割り当てリソース７０３に格納されているリソースと現在の処理負荷とを比較し、その結果リソースに余裕がある程、その仮想サーバ１２０の処理能力は高いと判断する。またワークロード管理テーブル２１２の物理ＣＰＵ８０４に格納されている使用率が低い程、その仮想サーバ１２０の処理能力は低いと判断する。
【００６７】
Ｓ１２０８では、実行基盤決定部２０２は、バッチリクエスト管理部１０７から受け付けたバッチ処理要求を割り当てるバッチ実行基盤３０１を決定する（バッチ処理要求の割り当て先となるバッチ実行基盤３０１を決定する）。該当するバッチ実行基盤３０１が一つしかない場合、実行基盤決定部２０２はそのバッチ実行基盤３０１を割り当て先として決定するが、複数のバッチ実行基盤３０１が存在する場合はＳ１２０７の比較結果に基づきバッチ実行基盤を決定する。このように該当するバッチ実行基盤３０１が複数存在する場合には（Ｓ１２０６：ＹＥＳ）、そのうちの処理能力の高いバッチ実行基盤３０１が自動的に選択される。尚、この場合において、処理能力の高いバッチ実行基盤３０１を選択するのではなく、例えばバッチＡＰ管理テーブル２０８の優先度４０４の内容や締切時刻４０５の内容に応じて相応しいものを選択するようにしてもよい。
【００６８】
続くＳ１２０９において、実行基盤決定部２０２は、バッチ実行基盤管理テーブル２０９の内容を更新する（決定したバッチ実行基盤３０１の状況５０３に「実行中」を格納する）。
【００６９】
図１３は図１０のフローチャートにおけるオンライン処理要求調整処理（Ｓ１００９）を説明するフローチャートである。
【００７０】
Ｓ１３０１では、負荷分散管理部２０６が、Ｓ１００６で決定したバッチ実行基盤３０１の負荷レベルを取得する。ここで負荷レベルが「２」又は「３」であれば（Ｓ１３０１：２，３）、Ｓ１３０２に進み、負荷レベルが「１」であれば（Ｓ１３０１：１）、Ｓ１３０５に進む。  
Ｓ１３０２では、負荷分散管理部２０６は、負荷分散装置１１２の負荷分散機構１１３に対し、Ｓ１００６で決定したバッチ実行基盤３０１と同居しているオンライン実行基盤３０３に対するオンライン処理要求の制限を要求する。  
Ｓ１３０３では、負荷分散管理部２０６が負荷分散機構１１３からオンライン処理要求の制限を行った旨の完了通知を取得する。  
Ｓ１３０４では、Ｓ１００６で決定したバッチ実行基盤３０１の負荷レベルに応じて処理が分岐し、負荷レベルが「２」の場合は（Ｓ１３０４：ＹＥＳ）、Ｓ１３０５に進み、負荷レベルが「３」の場合は（Ｓ１３０４：ＮＯ）、Ｓ１３０８に進む。  
Ｓ１３０５において、負荷分散管理部２０６は、負荷分散機構１１３に対し、Ｓ１００６で決定したバッチ実行基盤３０１と同居するオンライン実行基盤３０３に割り当てているオンライン処理要求を、全て他のＡＰ実行サーバ１１４で機能する他のオンライン実行基盤３０３に割り当てるように（移動するように）要求する。
【００７１】
Ｓ１３０６では、負荷分散管理部２０６は、負荷分散機構１１３からオンライン処理要求の移動が完了した旨の通知を取得する。  
Ｓ１３０７では、負荷分散管理部２０６は、上記移動の結果を、オンライン負荷管理テーブル２１３のアクセス振分け先リスト９０３に反映する。  
Ｓ１３０８では、負荷分散管理部２０６は、オンライン処理要求の移動後に各仮想サーバ１２０に生じる負荷を予測する。そして負荷分散管理部２０６は、各ＡＰ実行サーバ１１４に存在する各仮想サーバ１２０のリソース量が、上記予測した負荷に応じて適切に割り当てられるように、仮想化機構管理部１１０にリソースの割り当て変更要求を送出する。このように、本実施形態の情報処理システム１にあっては、オンライン処理要求の移動後の負荷を予測して適宜自動的にリソースの再割り当てがなされる。このため、情報処理システム１全体として常時適切なリソースの割り当てがなされることとなる。  
Ｓ１３０９では、負荷分散管理部２０６が、仮想化機構管理部１１０がリソースの割り当て変更要求を受け付けた旨の通知を取得する。
【００７２】
尚、オンラインアプリケーションの処理への影響を考慮し、決定したバッチ実行基盤３０１と同居するオンライン実行基盤３０３のオンライン処理要求を制限しようとする際、負荷分散管理部２０６が、例えば優先度の低いバッチ処理はオンライン処理要求の制限やオンライン処理要求の移動を行わないようにする等、バッチアプリケーションに設定されている優先度等に基づきオンライン処理要求を制限するか否かを最終決定するようにしてもよい。またバッチアプリケーションの優先度とオンラインアプリケーションの優先度とを適宜比較し、バッチ処理の優先度がオンラインアプリケーションの優先度より低ければリクエストの制限を行わないように制御してもよい。
【００７３】
ところで、以上のようにして決定されたバッチ実行基盤３０１でバッチ処理が開始された後、再配置管理部２０４はバッチ処理の進捗状況をリアルタイム（又は適度なインターバル）に監視する。そして再配置管理部２０４は、必要な場合はオンライン処理要求の再調整を実行する。図１４はこの再調整に関して行われる処理（再配置管理処理（Ｓ１４００））を説明するフローチャートである。以下、同図とともに説明する。
【００７４】
上記監視に際し、まず再配置管理部２０４は、バッチ処理を実行しているバッチ実行基盤３０１から現在のバッチ処理の進捗状況を取得し（Ｓ１４０１）、バッチ実行基盤管理テーブル２０９に取得したバッチ進捗状況を反映する（Ｓ１４０２）。
【００７５】
Ｓ１４０３では、再配置管理部２０４が、バッチ処理の進捗状況から処理の終了予定時刻を求める。例えば再配置管理部２０４は、バッチ実行基盤管理テーブル２０９の開始時刻５０５から現在時刻までの経過時間と、（現在までの）終了件数５０８とに基づき、単位時間あたりの処理件数（以下、傾きと称する。）を求める。そして求めた傾きから、バッチ実行基盤管理テーブル２０９の全件数５０９の処理終了時刻を予測する。
【００７６】
Ｓ１４０４において、再配置管理部２０４は、Ｓ１４０３で求めた予測した処理終了時刻とバッチ実行基盤管理テーブル２０９の締切時刻５０６とを比較してバッチ処理が締切時刻までに終了するか否かを判断する。終了すると判断した場合には（Ｓ１４０４：ＹＥＳ）、（とくに調整の必要はないため）処理を終了する。処理が終了しないと判断した場合には（Ｓ１４０４：ＮＯ）、Ｓ１４０５に進む。
【００７７】
Ｓ１４０５では、再配置管理部２０４が、当該バッチ処理を実行しているバッチ実行基盤３０１がＣＰＵ１１を占有しているか否かを判断する。占有している場合には（Ｓ１４０５：ＹＥＳ）、Ｓ１４０７に進み、占有していない場合には（Ｓ１４０５：ＮＯ）、Ｓ１４０８に進む。
【００７８】
Ｓ１４０７では、再配置管理部２０４が、締切時刻までに処理が終了しない可能性がある旨を管理者に通知する。即ちＣＰＵ１１を占有しているにも拘わらず処理が終了しない可能性があるため、この場合はその旨を管理者に通知してリソースの増強等の必要な対策を講じるよう促す。Ｓ１４０７の後は処理が終了する。
【００７９】
Ｓ１４０８からＳ１４１０は、夫々、図１０のＳ１００４、Ｓ１００５、及びＳ１００９に類似する処理である。  
Ｓ１４０８では、再配置管理部２０４は、当該バッチ処理を実行しているバッチ実行基盤３０１と同一のＡＰ実行サーバ１１４に存在するオンライン実行基盤３０３を特定する。  
Ｓ１４０９では、再配置管理部２０４は、特定したオンライン実行基盤３０３のオンライン負荷レベルを確認することにより、当該バッチ実行基盤３０１の負荷レベルを決定する。  
Ｓ１４１０では、再配置管理部２０４は、負荷レベルに応じて負荷分散管理部２０６にリクエストの調整を要求する。  
Ｓ１４１１では、再配置管理部２０４は、実行基盤決定部２０２から負荷分散管理部２０６からオンライン処理要求の調整完了通知を取得する。その後は処理が終了する。
【００８０】
以上のように、再配置管理部２０４は、Ｓ１４０５においてバッチ実行基盤３０１がＣＰＵ１１を占有していないと判断した場合（Ｓ１４０５：ＮＯ）、負荷分散管理部２０６に自動的にオンライン処理要求の調整を依頼する。このため、バッチ実行基盤３０１のためのリソースが自動的に確保される。
【００８１】
ところで、以上の実施形態の説明は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明はその趣旨を逸脱することなく、変更、改良され得ると共に本発明にはその等価物が含まれることは勿論である。
【図面の簡単な説明】
【００８２】
【図１Ａ】情報処理システム１の概略的な構成を示す図である。
【図１Ｂ】バッチスケジュール管理装置１０２等として用いるコンピュータのハードウエアの一例である。
【図１Ｃ】ストレージ装置１３１のハードウエアの一例である。
【図２Ａ】ＡＰ実行サーバ１１４の機能を示す図である。
【図２Ｂ】負荷分散装置１１２が備える機能を示す図である。
【図２Ｃ】バッチスケジュール管理装置１０２が備える機能を示す図である。
【図３】情報処理システム１の構成例を示す図である。
【図４】バッチＡＰ管理テーブル２０８の一例を示す図である。
【図５】バッチ実行基盤管理テーブル２０９の一例を示す図である。
【図６】オンライン実行基盤管理テーブル２１０の一例を示す図である。
【図７】仮想サーバ管理テーブル２１１の一例を示す図である。
【図８】ワークロード管理テーブル２１２の一例を示す図である。
【図９】オンライン負荷管理テーブル２１３の一例を示す図である。
【図１０】最適配置スケジュール処理（Ｓ１０００）を説明するフローチャートである。
【図１１】オンライン負荷レベル確認処理（Ｓ１００５）を説明するフローチャートである。
【図１２】バッチ実行基盤決定処理（Ｓ１００６）を説明するフローチャートである。
【図１３】オンライン処理要求調整処理（Ｓ１００９）を説明するフローチャートである。
【図１４】再配置管理処理（Ｓ１４００）を説明するフローチャートである。
【符号の説明】
【００８３】
１０１  バッチクライアント
１０２  バッチスケジュール管理装置
１０７  バッチリクエスト管理部
１０８  最適配置管理部
１０９  オンライン負荷分散管理部
１１０  仮想化機構管理部
１１１  オンラインクライアント
１１２  負荷分散装置
１１３  負荷分散機構
１１４  ＡＰ実行サーバ
２０１  最適配置スケジュール部
２０２  実行基盤決定部
２０３  バッチ完了処理部
２０４  再配置管理部
２０５  負荷分散状況取得部
２０６  負荷分散管理部
２０８  バッチＡＰ管理テーブル
２０９  バッチ実行基盤管理テーブル
２１０  オンライン実行基盤管理テーブル
１２０  仮想サーバ
３０１  バッチ実行基盤
３０３  オンライン実行基盤
【図１Ａ】
2010097566.tif 000003
【図１Ｂ】
2010097566.tif 000004
【図１Ｃ】
2010097566.tif 000005
【図２Ａ】
2010097566.tif 000006
【図２Ｂ】
2010097566.tif 000007
【図２Ｃ】
2010097566.tif 000008
【図３】
2010097566.tif 000009
【図４】
2010097566.tif 000010
【図５】
2010097566.tif 000011
【図６】
2010097566.tif 000012
【図７】
2010097566.tif 000013
【図８】
2010097566.tif 000014
【図９】
2010097566.tif 000015
【図１０】
2010097566.tif 000016
【図１１】
2010097566.tif 000017
【図１２】
2010097566.tif 000018
【図１３】
2010097566.tif 000019
【図１４】
2010097566.tif 000020