(57)【要約】【課題】  オンライン処理およびバッチ処理の負荷の状況に応じて、コンピュータにいずれの処理を実行させるかの切り換えを行うための技術を提供する。【解決手段】  本システムは、制御サーバ２と、オンライン処理またはバッチ処理のいずれかを実行する、互いに別の筐体に収容された複数の実行サーバ１とを備える。制御サーバ２は、複数の実行サーバ１の動作状況を監視する監視部２１と、各実行サーバ１のオンライン処理およびバッチ処理のぞれぞれの処理性能を示す情報を記憶した属性テーブル２４と、監視部２１による監視結果に基づいて、属性テーブル２４を参照し、複数の実行サーバ１をオンライン処理またはバッチ処理に割り当てる割り当て決定部２２と、を備える。【選択図】  図１
2005174087.tif 000002
【特許請求の範囲】
【請求項１】
制御サーバと、オンライン処理またはバッチ処理のいずれかを実行する、互いに別の筐体に収容された複数の実行サーバとを備え、
前記制御サーバは、
前記複数の実行サーバの動作状況を監視する監視手段と、
各実行サーバのオンライン処理およびバッチ処理のぞれぞれの処理性能を示す情報を記憶した処理性能記憶手段と、
前記監視手段による監視結果に基づいて、前記処理性能記憶手段を参照し、前記複数の実行サーバをオンライン処理またはバッチ処理に割り当てる割り当て手段と、を備える分散処理システム。
【請求項２】
前記制御サーバは、
バッチ処理のジョブ別の処理実績を示す情報を記憶した処理実績記憶手段をさらに備え、
前記割り当て手段は、
前記処理実績記憶手段を参照して、バッチ処理を実行させる実行サーバを選択し、選択された実行サーバに対してバッチ処理を割り当てる請求項１記載の分散処理システム。
【請求項３】
前記処理性能を示す情報は、所定のベンチマークテストの成績である請求項１記載の分散処理システム。
【請求項４】
制御サーバと、オンライン処理またはバッチ処理のいずれかを実行する複数の実行サーバと、負荷分散装置とを備え、
前記負荷分散装置は、
オンライン処理が割り当てられている実行サーバのアドレス情報を記憶した記憶部と、
前記記憶部にアドレスが記憶されている実行サーバに対して、オンライントランザクションを振り分ける振り分け手段とを備え、
前記制御サーバは、
前記複数の実行サーバの中から、オンライン処理を実行させる実行サーバおよびバッチ処理を実行させる実行サーバを選択し、それぞれにオンライン処理またはバッチ処理を割り当てる手段と、
前記割り当て手段がオンライン処理に割り当てた実行サーバのアドレス情報を前記負荷分散装置の記憶部に登録するオンライン登録手段と、
前記割り当て手段がバッチ処理の割り当てた実行サーバに対して、ジョブを指定してバッチ処理の実行を指示するバッチ処理指示手段と、を備える分散処理システム。
【請求項５】
前記制御サーバは、
前記複数の実行サーバの動作状況を監視する監視手段をさらに備え、
前記割り当て手段は、前記監視手段が監視した前記動作状況に基づいて割り当てを行う請求項４記載の分散処理システム。
【請求項６】
前記監視手段は、
各実行サーバのＣＰＵ稼働率、メモリ使用率、および物理メモリと仮想メモリとの間のスワップ頻度のうちの１つ以上の情報を、それぞれの実行サーバから取得する請求項５記載の分散処理システム。
【請求項７】
前記割り当て手段によりバッチ処理が割り当てられている実行サーバが複数あるとき、
前記バッチ処理指示手段は、前記バッチ処理が割り当てられている複数の実行サーバのうち、前記動作状況が所定の状況に達していない実行サーバへバッチ処理の実行を指示する請求項５記載の分散処理システム。
【請求項８】
前記割り当て手段によりオンライン処理が割り当てられている実行サーバの前記動作状況が所定の状況に達しているとき、
前記割り当て決定部は、オンライン処理が割り当てられていない実行サーバを新たにオンライン処理を行うように割り当てる請求項５記載の分散処理システム。
【請求項９】
方法
互いに別の筐体に収容された複数の実行サーバのそれぞれに、オンライン処理またはバッチ処理のいずれかの処理を割り当てて実行させる方法であって、
前記複数の実行サーバの動作状況を監視し、
各実行サーバのオンライン処理およびバッチ処理のぞれぞれの処理性能を示す情報を記憶した処理性能記憶手段を参照し、前記監視した結果に基づいて前記複数の実行サーバをオンライン処理またはバッチ処理に割り当てる方法。
【請求項１０】
オンライン処理またはバッチ処理のいずれかを実行する複数の実行サーバと、オンライントランザクションを振り分ける負荷分散装置とを備えた分散処理システムが、オンライン処理およびバッチ処理を実行する方法であって、
前記複数の実行サーバの中から、オンライン処理を実行させる実行サーバおよびバッチ処理を実行させる実行サーバを選択し、それぞれの実行サーバにオンライン処理またはバッチ処理を割り当て、
オンライン処理が割り当てられた実行サーバのアドレス情報を前記負荷分散装置に登録し、
バッチ処理が割り当てられた実行サーバに対して、ジョブを指定してバッチ処理の実行を指示する方法。
【請求項１１】
互いに別の筐体に収容された複数の実行サーバのそれぞれに、オンライン処理またはバッチ処理のいずれかの処理を割り当てて実行させるためのコンピュータプログラムであって、
コンピュータに実行されると、
前記複数の実行サーバの動作状況を監視し、
各実行サーバのオンライン処理およびバッチ処理のぞれぞれの処理性能を示す情報を記憶した処理性能記憶手段を参照し、前記監視した結果に基づいて前記複数の実行サーバをオンライン処理またはバッチ処理に割り当てるコンピュータプログラム。
【請求項１２】
オンライン処理またはバッチ処理のいずれかを実行する複数の実行サーバと、オンライントランザクションを振り分ける負荷分散装置とを備えた分散処理システムに、オンライン処理およびバッチ処理を実行させるためのコンピュータプログラムであって、
コンピュータに実行されると、
前記複数の実行サーバの中から、オンライン処理を実行させる実行サーバおよびバッチ処理を実行させる実行サーバを選択し、それぞれの実行サーバにオンライン処理またはバッチ処理を割り当て、
オンライン処理が割り当てられた実行サーバのアドレス情報を前記負荷分散装置に登録し、
バッチ処理が割り当てられた実行サーバに対して、ジョブを指定してバッチ処理の実行を指示するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数台のコンピュータマシンでの分散処理に関し、特に、処理状況に応じてオンライン処理とバッチ処理との割り当てを柔軟に変更するための技術に関する。
【背景技術】
【０００２】
トランザクションが発生するごとに、そのトランザクションをオンラインで送って処理するオンライン処理と、複数の処理をまとめて実行するバッチ処理がある。従来は、オンライン処理を行うコンピュータと、バッチ処理を行うコンピュータとは、それぞれあらかじめ固定的に定められていた。そして、オンライン処理用のコンピュータおよびバッチ処理用のコンピュータは、それぞれ、最大負荷のときでも安定して処理できる能力が担保されている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、オンライン処理が多く発生する時間帯とバッチ処理の負荷が大きくなる時間帯は異なることが多い。従って、１台のコンピュータを、オンライン処理とバッチ処理とで切り換えて使用することができれば、処理性能を劣化させず、コンピュータ全体にかかるコストを節約することができる。
【０００４】
また、これを任意のコンピュータの組み合わせで行うことができれば、コスト節約のみならず、資源の有効利用にもつながる。
【０００５】
本発明の目的は、オンライン処理およびバッチ処理の負荷の状況に応じて、コンピュータにいずれの処理を実行させるかの切り換えを行うための技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明の一つの実施態様に従う分散処理システムは、制御サーバと、オンライン処理またはバッチ処理のいずれかを実行する、互いに別の筐体に収容された複数の実行サーバとを備え、前記制御サーバは、前記複数の実行サーバの動作状況を監視する監視手段と、各実行サーバのオンライン処理およびバッチ処理のぞれぞれの処理性能を示す情報を記憶した処理性能記憶手段と、前記監視手段による監視結果に基づいて、前記処理性能記憶手段を参照し、前記複数の実行サーバをオンライン処理またはバッチ処理に割り当てる割り当て手段と、を備える。
【０００７】
好適な実施形態では、前記制御サーバは、バッチ処理のジョブ別の処理実績を示す情報を記憶した処理実績記憶手段をさらに備え、前記割り当て手段は、前記処理実績記憶手段を参照して、バッチ処理を実行させる実行サーバを選択し、選択された実行サーバに対してバッチ処理を割り当てるようにしてもよい。
【０００８】
好適な実施形態では、前記処理性能を示す情報は、所定のベンチマークテストの成績であってもよい。
【０００９】
本発明の一つの実施態様に従う分散処理システムは、制御サーバと、オンライン処理またはバッチ処理のいずれかを実行する複数の実行サーバと、負荷分散装置とを備え、前記負荷分散装置は、オンライン処理が割り当てられている実行サーバのアドレス情報を記憶した記憶部と、前記記憶部にアドレスが記憶されている実行サーバに対して、オンライントランザクションを振り分ける振り分け手段とを備え、前記制御サーバは、前記複数の実行サーバの中から、オンライン処理を実行させる実行サーバおよびバッチ処理を実行させる実行サーバを選択し、それぞれにオンライン処理またはバッチ処理を割り当てる手段と、前記割り当て手段がオンライン処理に割り当てた実行サーバのアドレス情報を前記負荷分散装置の記憶部に登録するオンライン登録手段と、前記割り当て手段がバッチ処理の割り当てた実行サーバに対して、ジョブを指定してバッチ処理の実行を指示するバッチ処理指示手段と、を備える。
【００１０】
好適な実施形態では、前記制御サーバは、前記複数の実行サーバの動作状況を監視する監視手段をさらに備え、前記割り当て手段は、前記監視手段が監視した前記動作状況に基づいて割り当てを行うようにしてもよい。
【００１１】
好適な実施形態では、前記監視手段は、各実行サーバのＣＰＵ稼働率、メモリ使用率、および物理メモリと仮想メモリとの間のスワップ頻度のうちの１つ以上の情報を、それぞれの実行サーバから取得することもできる。
【００１２】
好適な実施形態では、前記割り当て手段によりバッチ処理が割り当てられている実行サーバが複数あるとき、前記バッチ処理指示手段は、前記バッチ処理が割り当てられている複数の実行サーバのうち、前記動作状況が所定の状況に達していない実行サーバへバッチ処理の実行を指示するようにしてもよい。
【００１３】
好適な実施形態では、前記割り当て手段によりオンライン処理が割り当てられている実行サーバの前記動作状況が所定の状況に達しているとき、前記割り当て決定部は、オンライン処理が割り当てられていない実行サーバを新たにオンライン処理を行うように割り当てることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態に係る分散型の情報処理システムついて、図面を用いて説明する。本実施形態に係る分散処理システムは、複数台の実行サーバ１を備え、バッチ処理およびトランザクション処理を分散処理する。
【００１５】
本実施形態に係る分散処理システムの全体構成図を図１に示す。本システムは、同図に示すように、複数台の実行サーバ１と、制御サーバ２と、複数台のクライアント３と、負荷分散装置４と、ＨＵＢ５，６と、記憶装置７とを備える。
【００１６】
複数台の実行サーバ１、制御サーバ２および複数台のクライアント３のそれぞれは、いずれも例えば汎用的なコンピュータシステムにより構成され、以下に説明する各サーバ１，２およびクライアント３内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【００１７】
複数の実行サーバ１は、それぞれ、別々の筐体に収容された、別々のコンピュータマシンである。そして、各コンピュータマシンの仕様、各コンピュータマシンで動作しているオペレーティングシステムなどは、共通であっても良いし、それぞれ別々であっても良い。各実行サーバ１は、制御サーバ２によってオンライン処理またはバッチ処理のいずれかを実行するように割り当てられている。
【００１８】
制御サーバ２は、各実行サーバ１を制御し、それぞれに所定の処理を実行させる。例えば、制御サーバ２は、それぞれの実行サーバ１にオンライン処理を実行させるか、またはバッチ処理を実行させるか決定し、それぞれを割り当てる。そして、制御サーバ２は、各実行サーバ１がそれぞれ割り当てられた処理を実行するために必要な設定を行う。
【００１９】
制御サーバ２は、監視部２１と、割り当て決定部２２と、動作状況テーブル２３と、属性テーブル２４と、稼働実績テーブル２５と、ジョブ別実績テーブル２６とを備える。
【００２０】
監視部２１は、各実行サーバ１の動作状況を監視する。監視部２１は、例えば、各実行サーバ１が正常に動作しているかを監視する。そして、動作しているときは、各実行サーバ１の負荷の状態を示す情報を取得する。ここでは、監視部２１は、負荷の状態を示す情報としてＣＰＵ稼働率、メモリ使用率および物理メモリと仮想メモリとの間のスワップ頻度を各実行サーバ１から取得する。
【００２１】
監視部２１は、動作状況の監視結果を動作状況テーブル２３に格納する。この結果、動作状況テーブル２３には、各実行サーバ１の動作状況が格納される。
【００２２】
動作状況テーブル２３の一例を図２に示す。同図に示すように、動作状況テーブル２３は、サーバ名２３１と、割り当て処理２３２と、負荷状況２３３とをデータ項目として有する。負荷状況２３３には、さらに、ＣＰＵ使用率２３４と、メモリ使用率２３５と、スワップ頻度２３６とが含まれる。
【００２３】
割り当て処理２３２は、オンライン処理が割り当てられているのか、バッチ処理が割り当てられているのか、いずれも割り当てられていないかを示す。従って、割り当て処理２３２には、「オンライン」、「バッチ」、「未稼働」のいずれかがセットされる。割り当て処理２３２は、割り当て決定部２２により設定される。
【００２４】
ＣＰＵ使用率２３４、メモリ使用率２３５、およびスワップ頻度２３６には、監視部２１が各実行サーバ１から取得した情報が格納される。
【００２５】
属性テーブル２４は、各実行サーバ１の属性が記憶されている。図３に、属性テーブル２４の構成の一例を示す。すなわち、属性テーブル２４は、サーバ名２４１と、各サーバの性能２４２およびオンライン処理とバッチ処理との切替判定に用いる上限しきい値２４３と、下限しきい値２４４とを備える。
【００２６】
性能２４２には、バッチ処理およびオンライン処理のそれぞれについてのベンチマークテストの結果を示す情報２４２１，２４２２が含まれる。
【００２７】
上限しきい値２４３は、各実行サーバ１の負荷の限界値を示す。例えば、オンライン処理（またはバッチ処理）が割り当てられている実行サーバ１の負荷の状態が上限しきい値２４３を上回っていたとき、オンライン処理（またはバッチ処理）の処理能力が限界であるので、制御サーバ２が別の実行サーバ１にオンライン処理を割り当てる。
【００２８】
下限しきい値２４４は、オンライン処理またはバッチ処理の割り当てを解除するための限界値を示す。例えば、オンライン処理（またはバッチ処理）を割り当てられた実行サーバ１の稼働率が低下し、下限しきい値２４４を下回っているときに、オンライン処理（またはバッチ処理）の割り当てを解除可能とする。
【００２９】
上限しきい値２４３および下限しきい値２４４には、それぞれ、ＣＰＵ使用率２４３１，２４４１と、メモリ使用率２４３２，２４４２と、スワップ頻度２４３３，２４４３とが含まれている。各実行サーバ１の動作状況が上限しきい値２４３を越えているか、または下限しきい値２４４を下回っているかの判定は、後述するように、割り当て決定部２２が動作状況テーブル２３に登録されている各実行サーバ１のそれぞれ対応する項目と比較して行う。
【００３０】
稼働実績テーブル２５は、各実行サーバ１が行った処理の実績に関する情報が記憶されている。例えば、稼働実績テーブル２５は、図４に示すように、サーバ名２５１と、導入日２５２と、稼働時間２５３と、稼働回数２５４とをデータ項目として有する。稼働時間２５３には、総稼働時間２５３１と、バッチ処理の稼働時間２５３２と、オンライン処理の稼働時間２５３３とを含む。稼働回数２５４には、バッチ処理の稼働回数２５４１と、オンライン処理の稼働回数２５４２と、オンライン処理でのエラー回数２５４３とを含む。
【００３１】
ジョブ別実績テーブル２６は、各実行サーバ１が行ったバッチ処理のジョブ別の処理実績に関する情報が記憶されている。例えば、ジョブ別実績テーブル２６は、図５に示すように、ジョブ名２６１と、サーバ名２６２と、ジョブ別総稼働時間２６３と、ジョブ別稼働回数２６４と、ジョブ別エラー発生回数２６５とをデータ項目として有する。
【００３２】
属性テーブル２４、稼働実績テーブル２５およびジョブ別実績テーブル２６のデータは、いずれも、適当なタイミングでオペレータが図示しない入力装置から入力して登録、更新することができる。あるいは、稼働実績テーブル２５およびジョブ別実績テーブル２６のデータは、記録装置７に蓄積されたログに基づいて、自動登録するようにしても良い。
【００３３】
再び図１を参照すると、割り当て決定部２２は、動作状況テーブル２３、属性テーブル２４、稼働実績テーブル２５およびジョブ別実績テーブル２６の一つ以上を参照し、各実行サーバ１に対し、オンライン処理を行うかまたはバッチ処理を行うかの割り当てを決定し、動作状況テーブル２３の割り当て処理２３２に登録する。
【００３４】
例えば、割り当て決定部２２は、各実行サーバ１の動作状況が格納されている動作状況テーブル２３を参照し、オンライン処理を行う実行サーバとバッチ処理を行う実行サーバとを定める。
【００３５】
例えば、割り当て決定部２２は、オンライン処理が割り当てられている実行サーバ１の負荷状況２３３を、属性テーブル２４の上限しきい値２４３と比較し、これを越えていないか確認する。この比較では、ＣＰＵ使用率、メモリ使用率およびスワップ頻度のいずれか一つでも越えている項目があるか、または全項目が越えているときにしきい値を越えたと判定する。また、オンライン処理が割り当てられている実行サーバ１が複数あるとき、その１台の負荷の状態がしきい値を越えたとき、半数がしきい値を越えたとき、またはすべてがしきい値を越えたときのいずれかの場合に、オンライン処理が過負荷状態であると判定する。オンライン処理が過負荷状態であるとき、割り当て決定部２２は、オンライン処理およびバッチ処理のいずれにも割り当てられていない実行サーバ１をオンライン処理へ割り当てる。
【００３６】
また、割り当て決定部２２は、バッチ処理の割り当てられている各実行サーバ１の負荷状況の監視を上述と同様に行い、上限しきい値２４３を越えている実行サーバ１の有無を判定する。割り当て決定部２２は、新たなバッチジョブを実行させたいとき、上限しきい値２４３を越えていない実行サーバ１を選択し、ジョブの実行を指示する。つまり、上限しきい値を越えている実行サーバ１に対しては、新たなジョブの実行を指示しない。
【００３７】
さらに、割り当て決定部２２は、負荷状況２３３と下限しきい値２４４と比較し、下限しきい値を下回っている実行サーバ１は、オンライン処理またはバッチ処理の割り当てを解除する。
【００３８】
割り当て決定部２２について説明を続ける。割り当て決定部２２は、属性テーブル２４の性能２４２を参照し、バッチ処理またはオンライン処理の割り当てを行う。このとき、例えば、バッチ処理を割り当てるときは、バッチ処理のベンチマークテスト結果２４２１を参照し、バッチ処理性能が高いものから順に割り当てても良い。オンライン処理の場合も同様である。
【００３９】
あるいは、割り当て決定部２２は、稼働実績テーブル２５を参照し、バッチ処理またはオンライン処理のそれぞれの実績に基づいて実行サーバ１を選択しても良い。例えば、バッチ処理を割り当てるときは、バッチ処理稼働時間２５３２が最も長いものを選択しても良い。オンライン処理の場合も同様である。
【００４０】
また、バッチ処理が割り当てられている実行サーバ１のうち、実際にジョブを実行させる実行サーバ１を選択するときは、ジョブ別実績テーブル２６を参照して決定してもよい。つまり、あるジョブを実行させるとき、そのジョブについて最も信頼できる実績を有するサーバを選択し、そのサーバに割り当てても良い。例えば、ジョブ別総稼働時間２６３が最も長いもの、あるいはジョブ別稼働回数が多いものであっても良いし、エラー発生回数２６５が最も少ないものでも良い。あるいは、これらを適当に組み合わせた基準を設け、決定しても良い。
【００４１】
割り当て決定部２２は、さらに、オンライン処理またはバッチ処理が割り当てられたそれぞれの実行サーバ１に、それぞれ割り当てられた処理を実行させるため、および割り当てを解除するために必要な設定を行う。
【００４２】
例えば、オンライン処理の場合は、負荷分散装置４が設定情報記憶部４１に登録されている実行サーバ１に対してトランザクションを振り分けている。従って、新たにオンライン処理が割り当てられた実行サーバ１については、割り当て決定部２２が、割り当て処理２３２に「オンライン」と登録すると共に、その実行サーバ１のアドレスを設定情報記憶部４１に登録する。そして、割り当て決定部２２は、その実行サーバ１に対して、オンライン処理稼働プロセスの実行を指示する。
【００４３】
オンライン処理稼働プロセスとは、オンライン処理を実行するために、実行サーバ１にあらかじめ実行（常駐）させておくプロセスである。オンライン処理稼働プロセスが常駐している実行サーバ１がオンライントランザクションを受信すると、このトランザクションを適切に処理することができる。
【００４４】
また、オンライン処理の割り当てを解除するときは、割り当て決定部２２は、割り当て処理２３２を「未稼働」に変更し、設定情報記憶部４１からそのサーバ１のアドレスを削除する。そして、その実行サーバ１へオンライン処理稼働プロセスの停止を指示する。
【００４５】
次に、実行サーバ１に新たにバッチ処理が割り当てられたとき、割り当て決定部２２が、動作状況テーブル２３の割り当て処理２３２に「バッチ」と登録する。さらに、バッチ処理が割り当てられた実行サーバ１に対して、バッチ処理稼働プロセスの実行を指示する。バッチ処理稼働プロセスとは、バッチ処理を実行するためにあらかじめ実行（常駐）させておくプロセスである。そして、実際のバッチジョブを実行させるときは、割り当て決定部２２が、割り当て処理２３２に「バッチ」が設定されている実行サーバ１に対して、ジョブ名等を指定し、そのジョブの実行を指示する。
【００４６】
負荷分散装置４は、設定情報記憶部４１と、送受信部４２とを備える。設定情報記憶部４１は、オンライン処理が割り当てられている実行サーバ１のアドレス情報が記憶されている。設定情報記憶部４１に登録されている情報は、制御サーバ２により、追加および削除されることができる。送受信部４２は、クライアント３からのトランザクションを受け付けると、設定情報記憶部４１に登録されている実行サーバ１の中から一つを選択し、その選択された実行サーバ１へトランザクションを送信する。実行サーバ１の選択は、例えば、ラウンドロビンで行う。
【００４７】
記憶装置７は、実行サーバ１が処理を行うために必要なプログラムおよびデータを格納する。記憶装置７は、すべての実行サーバ１から読み出しおよび書き込みが可能である。例えば、バッチ処理稼働プロセスおよびオンライン処理稼働プロセス用のプログラムを記憶している。また、バッチ処理およびトランザクション処理で使用されるデータも記憶している。各実行サーバ１が記憶装置７へアクセスして、必要なプログラムおよびデータを取得し、処理結果を格納する。
【００４８】
次に、上述のような構成を備えた本システムの動作について、図６〜図９に示すフローチャートに基づいて説明する。
【００４９】
まず、図６は、制御サーバ２の初期設定の手順を示すフローチャートである。ここに示す初期設定では、各実行サーバ１の性能を登録する。
【００５０】
本システムの管理者は、各実行サーバ１の処理性能を取得する。すなわち、管理者は、各実行サーバ１にバッチ処理用の所定のベンチマークテストを実行させ、バッチ処理性能を計測する（Ｓ１１）。同様に、管理者は、各実行サーバ１にオンライン処理用に所定のベンチマークテストを実行させ、バッチ処理性能を計測する（Ｓ１２）。そして、それぞれの処理性能の計測結果を、属性テーブル２４の性能２４２に登録する（Ｓ１３）。
【００５１】
また、属性テーブル２４の上限しきい値２４３および下限しきい値２４４は、あらかじめ定められていて、登録されている。
【００５２】
次に、図７は制御サーバ２の処理手順を示すフローチャートである。まず、制御サーバ２は、監視部２１が各実行サーバ１の動作状況を監視し、それぞれの実行サーバの負荷状況を取得する（Ｓ２１）。取得した負荷状況を示す情報は、動作状況テーブル２３に格納される。
【００５３】
次に、割り当て決定部２２は、動作状況テーブル２３に登録されている負荷状況２３３と属性テーブル２４の上限しきい値２４３とを比較し、負荷状況２３３が上限しきい値２４３を越えている実行サーバの有無を判定する（Ｓ２２）。上限しきい値２４３を越える実行サーバ１がないときは（Ｓ２２：Ｎｏ）、ステップＳ２３をスキップする。
【００５４】
上限しきい値を越える実行サーバ１があるときは（Ｓ２２：Ｙｅｓ）、その実行サーバ１が割り当てられているバッチ処理またはオンライン処理の処理能力が不足していることを示す。従って、処理能力を増強するため、割り当て決定部２２が新たに実行サーバを選択して、処理能力が不足している処理を実行するよう割り当てる（Ｓ２３）。ステップＳ２３の詳細な処理は後述する。
【００５５】
次に、割り当て決定部２２は、動作状況テーブル２３に登録されている負荷状況２３３と属性テーブル２４の下限しきい値２４３とを比較し、負荷状況２３３が下限しきい値２４４を下回る実行サーバの有無を判定する（Ｓ２４）。下限しきい値２４４を下回る実行サーバ１がないときは、ステップＳ２１へ戻る。
【００５６】
下限しきい値を下回る実行サーバ１があるときは（Ｓ２４：Ｙｅｓ）、その実行サーバ１に対する処理の割り当てを解除する（Ｓ２５）。つまり、その実行サーバ１にはバッチ処理またはオンライン処理が割り当てられているが、処理性能に余裕があるので、解除する。ステップＳ２５の詳細な処理は後述する。このあと、ステップＳ２１へ戻り、上記の処理を繰り返し行う。
【００５７】
そして、上記ステップＳ２３の詳細な処理手順のフローチャートを図８に示す。ここで、図８のフローチャートについて説明する。
【００５８】
まず、割り当て決定部２２は、動作状況テーブル２３を参照し、上限しきい値を越えた実行サーバに割り当てられている処理の種類を判別する（Ｓ３００）。
【００５９】
オンライン処理の場合、割り当て決定部２２は、動作状況テーブル２３の割り当て処理２３２が「未稼働」である実行サーバを探す（Ｓ３１１）。未稼働サーバが存在するとき（Ｓ３１１：Ｙｅｓ）、属性テーブル２４を参照し、未稼働サーバの中で最もオンライン処理性能が高い実行サーバを選択し、ステップＳ３１３、Ｓ３１４をスキップする（Ｓ３１２）。
【００６０】
未稼働サーバが存在しないとき（Ｓ３１１：Ｎｏ）、割り当て決定部２２は、属性テーブル２４を参照してバッチ処理が割り当てられている実行サーバのうち、オンライン処理性能が最も高い実行サーバを抽出する（Ｓ３１３）。そして、抽出された実行サーバのバッチ処理割り当てを解除するために、実行中のジョブが終了し次第、この実行サーバに常駐しているバッチ処理稼働プロセスを終了させる（Ｓ３１４）。なお、ステップＳ３１３では、処理性能ではなく、稼働実績に基づいて実行サーバを選択しても良い。
【００６１】
ここで、割り当て決定部２２は、ステップＳ３１２で選択された実行サーバまたはステップＳ３１４でバッチ処理の割り当てが解除された実行サーバに、オンライン処理稼働プロセスを起動させる（Ｓ３１５）。そして、割り当て決定部２２は、この実行サーバのアドレス情報を負荷分散装置４の設定情報記憶部４１に登録する（Ｓ３１６）。さらに、割り当て決定部２２は、この実行サーバの割り当て処理２３２を「オンライン」に変更する（Ｓ３１７）。
【００６２】
これにより、オンライン処理の負荷が大きいときに、未稼働またはバッチ処理が割り当てられていた実行サーバが、新たにオンライン処理用サーバとして動作を開始する。この結果、システム全体のオンライン処理性能が増強される。
【００６３】
一方、上限しきい値を越えた実行サーバにバッチ処理が割り当てられていた場合、割り当て決定部２２は、動作状況テーブル２３の割り当て処理２３２が「未稼働」である実行サーバを探す（Ｓ３２１）。未稼働サーバが存在するとき（Ｓ３２１：Ｙｅｓ）、属性テーブル２４を参照し、未稼働サーバの中で最もバッチ処理性能が高い実行サーバを選択し、ステップＳ３２３〜Ｓ３２５をスキップする（Ｓ３２２）。
【００６４】
未稼働サーバが存在しないとき（Ｓ３２１：Ｎｏ）、割り当て決定部２２は、属性テーブル２４を参照してオンライン処理が割り当てられている実行サーバのうち、バッチ処理性能が最も高い実行サーバを抽出する（Ｓ３２３）。そして、抽出された実行サーバのオンライン処理割り当てを解除するために、この実行サーバのアドレス情報を負荷分散装置４の設定情報記憶部４１から削除する（Ｓ３２４）。そして、実行中のオンライントランザクション処理が終了し次第、この実行サーバに常駐しているオンライン処理稼働プロセスを終了させる（Ｓ３２５）。
【００６５】
ステップＳ３２２で選択された実行サーバまたはステップ３２４、Ｓ３２５でオンライン処理の割り当てが解除された実行サーバに、バッチ処理稼働プロセスを起動させる（Ｓ３２６）。さらに、割り当て決定部２２は、この実行サーバの割り当て処理２３２を「バッチ」に変更する（Ｓ３１７）。
【００６６】
これにより、バッチ処理の負荷が大きいときに、未稼働またはオンライン処理が割り当てられていた実行サーバが、新たにバッチ処理用サーバとして動作を開始する。この結果、システム全体のバッチ処理性能が増強される。
【００６７】
次に、図７のステップＳ２５の詳細な処理手順のフローチャートを図９に示す。ここで、このフローチャートに従って説明する。
【００６８】
まず、割り当て決定部２２が、動作状況テーブル２３を参照し、下限しきい値以下の実行サーバに割り当てられている処理の種類を判別する（Ｓ４１）。
【００６９】
オンライン処理の場合、この実行サーバのオンライン処理割り当てを解除するために、この実行サーバのアドレス情報を負荷分散装置４の設定情報記憶部４１から削除する（Ｓ４２）。そして、実行中のオンライントランザクション処理が終了し次第、この実行サーバに常駐しているオンライン処理稼働プロセスを終了させる（Ｓ４３）。
【００７０】
一方、下限しきい値以下の実行サーバにバッチ処理が割り当てられているときは、この実行サーバで実行中のバッチ処理が終了し次第、この実行サーバに常駐しているバッチ処理稼働プロセスを終了させる（Ｓ４４）。
【００７１】
そして、いずれの場合でも、割り当て決定部２２が、動作状況テーブル２３のこの実行サーバの割り当て処理２３２を「未稼働」に変更する（Ｓ４５）。
【００７２】
以上に説明した通り、本実施形態によれば、オンライン処理およびバッチ処理のそれぞれの処理状況に応じて、複数の実行サーバをいずれの処理に割り当てるかを動的に変更可能である。
【００７３】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【図面の簡単な説明】
【００７４】
【図１】本発明の一実施形態に係る分散処理システムの全体構成を示す図である。
【図２】動作状況テーブルの一例を示す図である。
【図３】属性テーブルの一例を示す図である。
【図４】稼働実績テーブルの一例を示す図である。
【図５】ジョブ別実績テーブルの一例を示す図である。
【図６】制御サーバの初期設定のフローチャートである。
【図７】制御サーバの処理手順を示すフローチャートである。
【図８】処理の割り当てを切り換えるときの手順を示すフローチャートである。
【図９】処理の割り当てを解除するときの手順を示すフローチャートである。
【符号の説明】
【００７５】
１…実行サーバ、２…制御サーバ、３…クライアント、４…負荷分散装置、５、６…ＨＵＢ、７…記憶装置。
【図１】
2005174087.tif 000003
【図２】
2005174087.tif 000004
【図３】
2005174087.tif 000005
【図４】
2005174087.tif 000006
【図５】
2005174087.tif 000007
【図６】
2005174087.tif 000008
【図７】
2005174087.tif 000009
【図８】
2005174087.tif 000010
【図９】
2005174087.tif 000011