(57)【特許請求の範囲】
【請求項１】
所定の要求を送信する端末と通信可能であり、前記端末から受信した要求を処理する２以上の仮想計算機を備える計算機と、
前記仮想計算機と通信可能であり、前記仮想計算機に対するリセット処理指示を行う運用管理装置と、
を有する情報処理システムにおいて、前記仮想計算機の記憶領域を開放するための計算機制御方法であって、
前記運用管理装置は、前記計算機内の仮想計算機を管理する記憶部を備えており、前記記憶部に管理された仮想計算機に対して１台ずつ順次リセット処理指示を行い、
前記仮想計算機は、前記運用管理装置から前記リセット処理指示を受けたときに、自身のリソースの一部を他の仮想計算機に配分し、自身を閉塞してから、未処理の要求を処理し、自身のリセット処理を実行した後、自身の閉塞を解除し、前記他の仮想計算機に配分したリソースを自身に戻す
ことを特徴とする計算機制御方法。
【請求項２】
前記情報処理システムは、
前記端末、前記仮想計算機および前記運用管理装置と通信可能であり、前記端末から受信した要求を前記仮想計算機に振り分ける負荷分散装置をさらに有し、
前記運用管理装置は、前記仮想計算機にリセット処理指示を行う前に、その仮想計算機に前記要求を振り分けないように前記負荷分散装置に対して振り分け変更指示を行い、
前記負荷分散装置は、前記振り分け変更指示を受けたときに、前記振り分け変更指示に従って振り分け変更を行う
ことを特徴とする請求項１に記載の計算機制御方法。
【請求項３】
所定の要求を送信する端末と通信可能であり、前記端末から受信した要求を処理する２以上の仮想計算機を備える計算機と、
前記仮想計算機と通信可能であり、前記仮想計算機に対するリセット処理指示を行う運用管理装置と、
前記端末、前記仮想計算機および前記運用管理装置と通信可能であり、前記端末から受信した要求を前記仮想計算機に振り分ける負荷分散装置と、
を有する情報処理システムにおいて、前記仮想計算機の記憶領域を開放するための計算機制御方法であって、
前記計算機が備える２以上の計算機のうち少なくとも１つは、前記負荷分散装置により前記端末からの要求が振り分けられない待機用仮想計算機として動作し、
前記運用管理装置は、前記計算機内の仮想計算機を管理する記憶部を備えており、前記記憶部に管理された仮想計算機に対して１台ずつ順次リセット処理指示を行い、
前記運用管理装置から前記リセット処理指示を受けた仮想計算機は、自身のリソースの一部を前記待機用仮想計算機に配分し、自身を閉塞してから、未処理の要求を処理し、自身のリセット処理を実行した後、自身の閉塞を解除して、自身が新たに待機用仮想計算機として動作し、
前記リセット処理指示を受けた仮想計算機からリソースの配分を受けた待機用仮想計算機は、前記負荷分散装置により前記端末からの要求が振り分けられる稼働中の仮想計算機として動作する
ことを特徴とする計算機制御方法。
【請求項４】
前記運用管理装置が前記リセット処理指示または前記振り分け変更指示を行うタイミングは、前記記憶部に格納された前記振り分け変更指示または前記リセット処理指示の開始時刻を監視することにより定められる
ことを特徴とする請求項１ないし請求項３のいずれか一項に記載の計算機制御方法。
【請求項５】
前記運用管理装置が前記リセット処理指示または前記振り分け変更指示を行うタイミングは、前記記憶部に格納された前記振り分け変更指示または前記リセット処理指示の開始時刻、および前記仮想計算機間のリセット間隔時間を監視することにより定められる
ことを特徴とする請求項１ないし請求項４のいずれか一項に記載の計算機制御方法。
【請求項６】
所定の要求を送信する端末と通信可能であり、前記端末から受信した要求を処理する２以上の仮想計算機を備える計算機と、
前記仮想計算機と通信可能であり、前記仮想計算機に対するリセット処理指示を行う運用管理装置と、
を有する情報処理システムであって、
前記運用管理装置は、
前記計算機内の仮想計算機を管理する記憶部と、
前記計算機内の仮想計算機の記憶領域を開放するために、前記記憶部に管理された仮想計算機に対して１台ずつ順次リセット処理指示を行う処理部と、
を備え
前記仮想計算機は、前記運用管理装置から前記リセット処理指示を受けたときに、自身のリソースの一部を他の仮想計算機に配分し、自身を閉塞してから、未処理の要求を処理し、自身のリセット処理を実行した後、自身の閉塞を解除し、前記他の仮想計算機に配分したリソースを自身に戻す
ことを特徴とする情報処理システム。
【請求項７】
コンピュータに請求項１ないし請求項５のいずれか一項に記載の計算機制御方法を実行させることを特徴とする計算機制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機の計算機制御方法、情報処理システムおよび計算機制御プログラムに関する。
【背景技術】
【０００２】
コンピュータの処理効率が稼働時間の経過に従って低下することがある。この現象は、コンピュータで実行されるプログラムにおいて、一旦確保した記憶領域を開放する処理が記述されていないなどのプログラミングエラーに起因することが知られており、ソフトウェアエージングと呼ばれている。このソフトウェアエージングに対しては、所定時間ごとにプログラムのリセットを行うことによって元の処理効率に回復させる技術がある（例えば特許文献１参照）。ここで、リセットとは、そのプログラムが確保していた記憶領域（メモリ）を開放する処理であり、例えば、プログラムの再起動であったり、ＦｕｌｌＧＣと呼ばれたりする処理をいう。
【特許文献１】特開２００１−１８８６８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、コンピュータにおいて、プログラムがリセットされた場合には、それらが再起動され、処理可能な状態になるまでの間は、システムによるサービスを提供できなくなるという問題がある。
【０００４】
例えば、Ｊ２ＥＥ（Java 2 Enterprise Edition：登録商標）を実装するアプリケーションサーバでは、リセット処理の一環として未使用の記憶領域を開放するＦｕｌｌＧＣ（Garbage Collection：ガーベジコレクション）が実行されると、そのアプリケーションサーバの処理効率が低下し、サービスの目標性能を維持することが困難になる場合がある。特に、マルチプロセッサシステムなどにおいて大規模な仮想メモリ領域がアプリケーションサーバに割当てられている場合には、ガーベジコレクションによるアプリケーションサーバ全体の処理効率の低下は非常に顕著である。
【０００５】
また、負荷分散装置によって端末からの要求を複数のアプリケーションサーバに均等に振り分ける構成では、各アプリケーションサーバでＦｕｌｌＧＣが実行される時刻がほぼ同じ時間帯になり、複数のアプリケーションサーバからなるシステム全体において処理効率の低下が起きてしまう。
【０００６】
そこで、本発明は、前記問題に鑑み、コンピュータにおいて、システムにおける計算機の記憶領域の開放を行う場合に、システム全体の処理効率の低下を抑えることを目的とする。
【課題を解決するための手段】
【０００７】
前記課題を解決する本発明は、所定の要求を送信する端末と通信可能であり、端末から受信した要求を処理する２以上の仮想計算機を備える計算機と、仮想計算機と通信可能であり、仮想計算機に対するリセット処理指示を行う運用管理装置とを有する情報処理システムにおいて、仮想計算機の記憶領域を開放するための計算機制御方法であって、運用管理装置が、計算機内の仮想計算機を管理する記憶部を備えており、記憶部に管理された仮想計算機に対して１台ずつ順次リセット処理指示を行い、仮想計算機が、運用管理装置からリセット処理指示を受けたときに、自身のリソースの一部を他の仮想計算機に配分し、自身を閉塞してから、未処理の要求を処理し、自身のリセット処理を実行した後、自身の閉塞を解除し、前記他の仮想計算機に配分したリソースを自身に戻すことを特徴とする計算機制御方法である。なお、本発明は、他の計算機制御方法、情報処理システムおよび計
算機制御プログラムを含む。
【発明の効果】
【０００８】
本発明によれば、システムにおける計算機の記憶領域の開放を行う場合に、システム全体の処理効率の低下を抑えることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００１０】
≪システムの構成と概要≫
図１は、本実施形態に係る情報処理システムの構成を示すブロック図である。本実施形態では、端末からの要求を負荷分散装置が複数の仮想計算機に均等に割り振る情報処理システムにおける、仮想計算機のリセット制御方法について説明する。ここで、仮想計算機とは、１台の計算機内にあるＣＰＵ（Central Processing Unit）、メモリ、Ｉ／Ｏスロットなどのリソースを分けて割り当てることによって実現される論理的な計算機のことである。
【００１１】
図１に示すように、本実施形態における情報処理システム１００は、端末１０、負荷分散装置２０、計算機３０および運用管理装置５０を含んで構成される。端末１０は、ネットワーク６０を介して負荷分散装置２０と接続される。負荷分散装置２０および運用管理装置５０は、相互に接続されるとともに、それぞれが計算機３０内の各仮想計算機４０に接続されている。なお、図１では３つの仮想計算機４０を示しているが、本発明の実施形態はその台数に限定されるものではない。
【００１２】
端末１０は、ユーザが直接操作して利用する端末用コンピュータであり、ユーザの操作などに応じた要求を負荷分散装置２０に送信するとともに、負荷分散装置２０から受信した結果を表示してユーザが参照可能とする。負荷分散装置２０は、端末１０からの要求を受け付けて、各仮想計算機４０にそれぞれ振り分ける。計算機３０は、２以上の仮想計算機４０を備える。仮想計算機４０は、負荷分散装置２０により振り分けられた端末１０からの要求を処理する計算機である。仮想計算機４０は、１以上のＣＰＵが所定のメモリに格納されたプログラムを実行することによって実現される。なお、仮想計算機４０は総称であり、個別に指示する場合には仮想計算機１、仮想計算機２、仮想計算機３などという。運用管理装置５０は、各仮想計算機４０に対するリセットの管理を行うとともに、負荷分散装置２０に対する振り分け変更指示を行う。ネットワーク６０は、端末１０と負荷分散装置２０とを通信可能とするための通信網であり、例えば、インターネットやＬＡＮ（Local Area Network）、無線ネットワーク、電話回線網などによって実現される。
【００１３】
ここで、仮想計算機４０は、いわゆるアプリケーションサーバとして機能する。アプリケーションサーバ（プログラム）は、ミドルウェアの一種であり、Ｗｅｂブラウザなどのフロントエンドの端末層と、ＤＢＭＳ（DataBase Management System）やＥＲＰ（Enterprise Resource Planning）パッケージなどのバックエンドの企業情報システムとの中間に位置し、業務アプリケーションプログラム（AP、Application Program）やビジネスロジック（BL、Business Logic）の実行環境を提供する。インターネットおよびブロードバンドの普及やシステムの高可用性および高信頼性を実現する技術の成熟によって、アプリケーションサーバは、企業内の業務システムだけでなく、オンラインショッピングやオンライントレード、企業間の電子商取引、さらには、ミッションクリティカル業務にも利用されるようになってきている。
【００１４】
本実施形態では、仮想計算機４０内でＦｕｌｌＧＣが所定の条件（例えば、空きメモリ容量が所定値以下であるなど）により実行される前に、仮想計算機４０を所定のタイミングで一台ずつリセットし、突然のＦｕｌｌＧＣ実行によるアプリケーションサーバの極端な処理効率低下を防ぐ。リセットを行う際は、リセット対象となる仮想計算機４０には、負荷分散装置２０から要求の振り分けをしないようにするとともに、リセット対象の仮想計算機４０自体も閉塞させる。リセット中は、リセット対象以外の仮想計算機４０に端末１０からの要求を振り分けるため、要求の処理を行う仮想計算機４０が一つ減ることで処理効率が多少低下するが、一部の仮想計算機４０において、ＦｕｌｌＧＣ実行によって極端な処理効率の低下が発生することを防止できるようにしている。
【００１５】
そのために、負荷分散装置２０および仮想計算機４０に接続された運用管理装置５０において、リセット処理の管理を行う。運用管理装置５０は、リセットの開始時刻になると（所定のタイミングにより）、振り分け変更およびリセット処理を実行するように、負荷分散装置２０および仮想計算機４０のそれぞれに対して指示する。その詳細について、以下に説明する。
【００１６】
≪第１の実施形態≫
本発明の第１の実施形態は、本発明に係る基本的な実施形態であり、第２の実施形態および第３の実施形態の基礎となるものである。
【００１７】
＜仮想計算機の構成＞
図２は、計算機のハードウェアおよびソフトウェアの構成を示す図である。図２に示すように、本実施形態に係る計算機３０は、ＣＰＵ（Central Processing Unit）４０１およびメモリ４０２を備えている。
【００１８】
ＣＰＵ４０１は、図２では１以上あるように示されているが、実際には、１以上のＣＰＵ４０１が仮想計算機４０ごとに割り当てられるので、例えば仮想計算機４０が３個ある場合には、３以上のＣＰＵ４０１が備わる（図９ないし図１２も同様）。
【００１９】
メモリ４０２内は、論理分割機能（LPAR、Logical Partitioning）の技術を用いて論理的に複数の仮想計算機４０に分割されている。論理分割機能とは、１台の計算機３０を論理的に複数の区画に分割して、リソース（ＣＰＵやメモリ、Ｉ／Ｏスロットなど）を区画ごとに割り当てるものである。これによれば、１台の計算機３０に複数の仮想計算機４０を構築できるため、計算機３０を有効活用することができる。なお、図２において、仮想計算機４０は、メモリ４０２内にあるように示されているが、実際にはメモリ４０２内の仮想計算機４０用プログラムが、その仮想計算機４０に割り当てられたＣＰＵ４０１によって実行されることによって実現される（図９ないし図１２も同様）。
【００２０】
各仮想計算機４０は、実行環境プログラム４０３およびオペレーティングシステム４１０を含む各種プログラムを有する。実行環境プログラム４０３は、アプリケーションプログラムやビジネスロジックなどのプログラムの実行環境を実現するプログラムである。オペレーティングシステム４１０は、プログラムの実行に際して、リソースの管理や処理全体の制御などを行う。
【００２１】
実行環境プログラム４０３は、要求処理部４０４、要求処理状況監視部４０５、閉塞処理実行部４０６およびリセット処理実行部４０７からなる。要求処理部４０４は、負荷分散装置２０によって振り分けられた端末１０からの要求に応じた処理を行う。具体的には、端末１０からの要求に応じて業務アプリケーションプログラムを実行する。
【００２２】
要求処理状況監視部４０５は、要求処理部４０４における端末１０からの要求の処理状況の監視を行う。本実施形態に係る仮想計算機４０は、リセット処理を実行する前に、自らを閉塞して、内部に残っている要求をすべて処理してしまうか、もしくは、仕掛かり中の要求をキャンセルまたは破棄しなければならない。そのため、要求処理状況監視部４０５は、端末１０からその仮想計算機４０に送信された要求がすべて処理しきれたか否かを監視するか、もしくは、仕掛かり中の要求があるか否かを監視する必要がある。
【００２３】
閉塞処理実行部４０６は、仮想計算機４０の閉塞を実行する。前記のようにリセット処理を行う際に、仮想計算機４０を閉塞させて、負荷分散装置２０から要求が振り分けられないようにする。具体的には、新たな要求を受け付けないようにするために、例えば、ビジー（Busy）のメッセージを返すような処理を行う。もしくは、新たな要求に応答しないようにする。この場合、負荷分散装置２０が仮想計算機４０に要求を送り、その応答が来ることなくタイムアウトになったときには、当該仮想計算機４０には要求を送らないようにする。
【００２４】
リセット処理実行部４０７は、仮想計算機４０内のリセット処理を実行する。具体的には、無意味に確保され続けているメモリ領域を強制的に開放するために、例えば、メモリ領域の強制ガーベジコレクションや仮想計算機４０の再起動などを行う。なお、要求処理部４０４、要求処理状況監視部４０５、閉塞処理実行部４０６およびリセット処理実行部４０７は、プログラムである。
【００２５】
＜運用管理装置の構成＞
図３は、本実施形態に係る運用管理装置の構成を示す図である。図３に示すように、運用管理装置５０は、ＣＰＵ（処理部）５０１およびメモリ（記憶部）５０２を備えている。メモリ５０２には、リセット処理設定時間監視部５１０、リセット処理指示部５２０、リセット処理時間設定テーブル５３０、計算機状態管理テーブル５４０および負荷分散振り分け管理テーブル５５０が含まれている。
【００２６】
リセット処理設定時間監視部５１０は、リセット処理時間設定テーブル５３０に設定された値を読み込み、設定時間を監視する。読み込んだ値の時刻になったら、リセット処理指示部５２０にリセット処理開始通知を送信する。
【００２７】
リセット処理指示部５２０は、リセット処理設定時間監視部５１０からリセット処理開始通知を受信すると、負荷分散装置２０およびリセット対象の仮想計算機４０に振り分け変更指示およびリセット処理指示を送信し、計算機状態管理テーブル５４０および負荷分散振り分け管理テーブル５５０の状態変更を行う。負荷分散装置２０には、リセット対象の仮想計算機４０に対して端末１０からの要求を振り分けないように振り分け変更の指示を出す。また、負荷分散振り分け管理テーブル５５０には、振り分け変更指示に対応するように仮想計算機４０の状態を変更する。負荷分散装置２０の振り分け変更が完了すると、リセット対象の仮想計算機４０にリセット処理の指示を送信する。リセット対象の仮想計算機４０では、リセット処理が終了すると、リセット処理指示部５２０にリセット処理完了通知を送信する。
【００２８】
図４は、リセット処理時間設定テーブルの構成を示す図である。リセット処理時間設定テーブル５３０は、リセット処理に関する時間設定を登録するテーブルである。リセット処理時間設定テーブル５３０は、設定項目５３１および設定値５３２を項目とするレコードからなる。設定項目５３１は、設定する項目の名称を示す。設定値５３２は、設定する値を示す。本例では、設定項目５３１に振り分け変更指示およびリセット処理指示の開始時刻のみが設定されているので、仮想計算機４０のリセット処理が終了次第、次の仮想計算機４０のリセット処理に移っていく。なお、開始時刻は、１日１回に限ることなく、１日２回以上設定してもよいし、２日以上の期間に１回設定してもよい。
【００２９】
本例に追加して、設定項目５３１には、必要に応じてさらにリセット間隔時間などを設定（格納）してもよい。リセット間隔時間は、２以上の仮想計算機４０をリセットする際の間隔時間を示す。リセット間隔時間を設定した場合、所定の仮想計算機４０のリセット処理が終了次第、次の仮想計算機４０のリセット処理を行うのではなく、リセット処理を開始してからリセット間隔時間が経過した後、次のリセット処理を行うことになる。この場合、リセット処理設定時間監視部５１０は、開始時刻に加えて、リセット間隔時間も監視するようになる。
【００３０】
図５は、計算機状態管理テーブルの構成を示す図である。計算機状態管理テーブル５４０は、各仮想計算機４０の稼働状態を管理するテーブルである。計算機状態管理テーブル５４０は、計算機名５４１、計算機識別情報（以下、計算機ＩＤという）５４２および状態５４３を項目とするレコードからなる。計算機名５４１は、仮想計算機４０の名称を示す。計算機ＩＤ５４２は、計算機名５４１に対応付けられた識別情報である。状態５４３は、仮想計算機４０の状態を示す。この状態５４３は、通常「稼動」であるが、リセット処理の実行中は「リセット中」になる。また、負荷分散装置２０から要求が振り分けられていない待機中は「待機」になる。なお、各項目ともに、最後の有効なレコードの次のレコードにＮＵＬＬが設定される。
【００３１】
図６は、負荷分散振り分け管理テーブルの構成を示す図である。負荷分散振り分け管理テーブル５５０は、負荷分散装置２０の要求振り分け状態を管理するテーブルである。負荷分散振り分け管理テーブル５５０は、計算機名５５１および状態５５２を項目とするレコードからなる。計算機名５５１は、仮想計算機４０の名称を示す。状態５５２は、負荷分散装置２０が端末１０からの要求を当該仮想計算機４０に振り分けるか否かを示す。状態５５２は、負荷分散装置２０が要求を振り分けているときに「アクティブ」が設定され、要求を振り分けていないときに「スタンバイ」が設定される。この状態５５２の設定値は、要求の振り分け変更が完了した後に更新される。
【００３２】
＜リセット処理指示＞
図７は、リセット処理指示部の処理の流れを示すフローチャートである。運用管理装置５０のリセット処理指示部５２０は、リセット処理の開始時刻になると、リセット処理設定時間監視部５１０から、リセット処理開始通知を受信する（ステップＳ６１１）。リセット処理開始通知を受信すると、リセット計算機ＩＤを設定する（ステップＳ６１２）。リセット計算機ＩＤは、計算機状態管理テーブル５４０におけるレコードの順番を示す。本実施形態では、順次リセットを行っていくので、リセット計算機ＩＤに１を代入して、１ずつ更新しながら、リセット計算機ＩＤが示すレコードの仮想計算機４０がすべてリセットされるまでリセット処理を行う。具体的には、計算機状態管理テーブル５４０において、リセット計算機ＩＤに対応する計算機ＩＤ５４２がＮＵＬＬでない間は（ステップＳ６１３）、ステップＳ６１４ないしステップＳ６２１の処理を繰り返す（ステップＳ６２２）。
【００３３】
次に、各仮想計算機４０内をリセットさせるまでの指示の流れを説明する。リセット処理指示部５２０は、リセット処理を開始するためには、リセットするための指示を負荷分散装置２０およびリセット対象の仮想計算機４０に送信する。まず、負荷分散装置２０には、リセット対象の仮想計算機４０に端末１０からの要求を振り分けないように要求の振り分け変更指示を送信する（ステップＳ６１４）。この場合、リセット処理指示部５２０は、負荷分散装置２０に対して各仮想計算機４０に要求を振り分けるか否かを示す情報をまとめて送信する。従って、リセット対象でない仮想計算機４０には要求を振り分ける指示を改めて行うことになる。
【００３４】
負荷分散装置２０から要求の振り分け変更完了通知を受信すると（ステップＳ６１５）、リセット対象の（リセット計算機ＩＤに対応する）仮想計算機４０には要求が振り分けられない状態になったので、負荷分散振り分け管理テーブル５５０の状態５５２を「アクティブ」から「スタンバイ」に変更する（ステップＳ６１６）。端末１０からの要求の振り分け変更が完了したので、リセット計算機ＩＤに対応する仮想計算機４０にリセット処理指示を送信する（ステップＳ６１７）。そして、計算機状態管理テーブル５４０において、リセット対象の仮想計算機４０に対応する状態５４３を「リセット中」に変更する（ステップＳ６１８）。
【００３５】
リセット処理指示を受けた仮想計算機４０は、リセット処理が完了すると、リセット処理完了通知をリセット処理指示部５２０に送信する。リセット処理指示部５２０は、仮想計算機４０からリセット処理完了通知を受信すると（ステップＳ６１９）、計算機状態管理テーブル５４０において、その仮想計算機４０に対応する状態５４３を「稼働」に変更する（ステップＳ６２０）。これにより、一の仮想計算機４０に対するリセット処理指示部５２０の一連の処理が終了する。続いて、リセット計算機ＩＤを＋１更新し（ステップＳ６２１）、計算機状態管理テーブル５４０の次のレコードを参照して、次の仮想計算機４０に対するリセット処理指示を行う。そして、計算機状態管理テーブル５４０の計算機ＩＤ５４２がＮＵＬＬになるまで処理を繰り返す（ステップＳ６１３ないしステップＳ６２２）。
【００３６】
＜仮想計算機内リセット処理＞
図８は、仮想計算機内のリセット処理実行部４０７におけるリセット処理の流れを示すフローチャートである。仮想計算機４０は、リセット処理指示部５２０からリセット処理指示を受信すると（ステップＳ６３１）、リセット処理を開始する。まず、仮想計算機４０の閉塞処理実行部４０６が閉塞処理を実行する（ステップＳ６３２）。具体的には、仮想計算機４０が新たな要求を受信したときは、その要求を受け付けることなく、例えば、ビジー（Busy）のメッセージを返すような閉塞状態を設定する。閉塞処理が完了すると、要求処理部４０４が、閉塞処理の前に仮想計算機４０内のメモリに未処理で溜まっていた端末１０からの要求をすべて処理する（ステップＳ６３３）。仮想計算機４０内のメモリに溜まっていた要求の処理が終了し、要求が残っていない状態になると、リセット処理実行部４０７がリセット処理を実行する（ステップＳ６３４）。リセット処理が終了すると、閉塞処理実行部４０６が仮想計算機４０の閉塞状態を解除する（ステップＳ６３５）。そして、仮想計算機４０が、運用管理装置５０のリセット処理指示部５２０にリセット処理終了通知を送信する（ステップＳ６３６）。
【００３７】
以上説明した本発明の第１の実施形態によれば、仮想計算機４０のリセット処理を行っても、リセット処理中の仮想計算機４０には端末１０からの要求が振り分けられずに、他の仮想計算機４０が要求を処理するので、ソフトウェアエージングに対する処置ができる。また、リセット処理中の仮想計算機４０に振り分けられた要求の処理時間が長くなってしまうという不具合を防ぎ、計算機３０全体の処理効率の低下を抑えることができる。
【００３８】
≪第２の実施形態≫
本発明の第２の実施形態は、動的論理分割機能（Dynamic Logical Partitioning）の技術を利用することによって、さらに情報処理システム１００全体の処理効率の低下を抑えるものである。ここで、動的論理分割機能とは、論理分割機能により１つの計算機を仮想的に複数に分けた区画を、稼動中に仮想計算機４０を再起動することなく、別の区画のリソースとして再割当てすることを可能にするものである。
【００３９】
第１の実施形態では、端末１０からの要求を通常３つの仮想計算機４０で処理しているが、１つの仮想計算機４０のリセット中は２つの仮想計算機４０に縮退して処理しなければならなくなる。そのため、リセット中以外の仮想計算機４０に要求が集中して、スループットが落ちることがある。ところが、リセット中の仮想計算機４０は、閉塞処理の前に残っていた要求を処理し、リセットできるだけのリソース（ＣＰＵ使用率を含む）があれば十分なので、稼動しているときほどのリソースを必要としない。
【００４０】
そこで、第２の実施形態では、動的論理分割機能を利用し、リソースの再配分を行う。図９に示すように、リセット対象の仮想計算機４０（仮想計算機１）には、リセット処理ができるだけのリソースを残して、余分なリソースを稼働中の仮想計算機４０（仮想計算機２、仮想計算機３）に配分する。そうすると、図１０に示すように、稼働中の仮想計算機４０（仮想計算機２、仮想計算機３）は、リセット中の仮想計算機４０（仮想計算機１）があることにより要求が増えたとしても、リソースが配分されて増加するので、通常の運用時より多くの要求を処理することができ、通常の運用時からの処理効率の低下を最小限に抑えて、処理を続行することができる。
【００４１】
実際の動作としては、負荷分散装置２０における要求の振り分け変更後に、リセット対象の仮想計算機４０のリソースを稼働中の仮想計算機４０に配分する。リセット処理の終了後は、要求の振り分けを元に戻す前に、リソース配分を元の状態に戻す。具体的には、仮想計算機４０が、運用管理装置５０からリセット処理指示を受信した（図８のステップＳ６３１）ときに、閉塞処理（図８のステップＳ６３２）を行う前に、残っている要求の処理およびリセット処理に必要となる以外のリソースを他の仮想計算機４０に配分し、閉塞解除処理（図８のステップＳ６５）を行った後に、その配分したリソースを元に戻す。
【００４２】
以上説明した本発明の第２の実施形態によれば、リセット処理中の仮想計算機４０のリソースを他の稼動中の仮想計算機４０に配分するので、リセット中であってもさらに処理効率の低下を抑えることができる。
【００４３】
≪第３の実施形態≫
第３の実施形態は、待機用の仮想計算機４０を用意することによって、処理効率をほとんど落とさずに計算機３０全体の運用を続行することができるものである。本実施形態における通常の運用では、待機用の仮想計算機４０には端末１０からの要求を振り分けず、稼動中の仮想計算機４０に要求を振り分けて処理をする。待機用の仮想計算機４０は、第２の実施形態で説明したリセット中の仮想計算機４０と同様に、最小限必要なリソースを持っている。
【００４４】
図１３は、具体的なリソース配分例（リソース配分前の状態）を示す図である。リソース割り当て管理テーブル４２０は、計算機３０内で仮想計算機４０に対するリソースの割り当てを管理するテーブルである。リソース割り当て管理テーブル４２０は、計算機名４２１、ＣＰＵ４２２およびメモリ４２３を項目とするレコードからなる。計算機名４２１は、仮想計算機４０の名称である。ＣＰＵ４２２は、計算機名４２１で示される仮想計算機４０に割り当てられたＣＰＵの個数を示す。メモリ４２３は、計算機名４２１で示される仮想計算機４０に割り当てられたメモリの容量（ＭＢｙｔｅ単位）を示す。計算機３０全体では、リソースとして４８個のＣＰＵおよび３６００ＭＢのメモリがあるが、待機用の仮想計算機４０である仮想計算機１には、ＣＰＵが少なめに割り当てられている。そして、その他の仮想計算機４０（仮想計算機２ないし４）には、残りのＣＰＵが均等に割り当てられている。また、各仮想計算機４０（仮想計算機１ないし４）には、メモリが均等に割り当てられている。なお、ＣＰＵを割り当てる方法には、各仮想計算機４０にそれぞれ１個のＣＰＵを割り当てて、そのＣＰＵ使用率を指定する方法がある。この場合、例えば、仮想計算機１のＣＰＵ使用率を１０％と指定し、仮想計算機２ないし４のＣＰＵ使用率をそれぞれ３０％と指定することができる。
【００４５】
第２の実施形態では、リセット対象の仮想計算機４０の余分なリソースを稼動中の仮想計算機４０に配分したが、第３の実施形態では、図１１に示すように、余分なリソースを待機中の仮想計算機４０に配分する。図１４は、リソース配分後の状態を示す図である。ここでは、仮想計算機２をリセットするので、その仮想計算機２に割り当てられていた余分のリソース（ＣＰＵ１２個）が待機中の仮想計算機４０（仮想計算機１）に割り当てられる。なお、各仮想計算機４０にそれぞれ１個のＣＰＵを割り当てて、そのＣＰＵ使用率を指定する方法を使った場合、例えば、仮想計算機２のＣＰＵ使用率を１０％と指定し、仮想計算機１、３および４のＣＰＵ使用率をそれぞれ３０％と指定することができる。
【００４６】
実際の動作としては、運用管理装置５０は、待機中の仮想計算機４０（仮想計算機１）のリソースが増えることになるので、リセット対象の仮想計算機４０（仮想計算機２）に振り分けていた要求を、待機中だった仮想計算機４０に振り分けるように負荷分散装置２０に対して振り分け変更指示を行い、リセット対象の仮想計算機４０をスタンバイ状態とする。図１２は、振り分け先を変更した後の状態を示す図である。そして、運用管理装置５０は、リセット対象の仮想計算機４０にリセット処理指示を行う。
【００４７】
仮想計算機４０（仮想計算機２）は、運用管理装置５０からリセット処理指示を受けて、まず、リソースの一部を待機中の仮想計算機４０（仮想計算機１）に配分し、閉塞を行う。次に、閉塞前に溜まった要求を処理した後に、リセット処理を行う。そして、閉塞を解除した後、その仮想計算機４０（仮想計算機２）がそのまま待機用の仮想計算機４０として動作する。待機用だった仮想計算機４０（仮想計算機１）は、振り分け変更指示を受けた負荷分散装置２０から要求が振り分けられるとともに、リセット処理指示を受けた仮想計算機４０（仮想計算機２）からリソースの一部が配分されることによって、稼動中の仮想計算機４０としてそのまま処理を続ける。次の仮想計算機４０をリセットする場合は、運用管理装置５０からリセット処理指示を受けた仮想計算機４０が、直前にリセット処理が完了して待機用となった仮想計算機４０にリソースを配分してから、リセット処理を行うように繰り返す。
【００４８】
以上説明した本発明の第３の実施形態によれば、リセット処理中も余分なリソースを有効に活用でき、かつ、稼働している仮想計算機４０の数も減らないので、通常の運用と変わらない状態で計算機３０を稼働させることができる。そのため、処理効率をほとんど落とさずに運用することが可能となる。
【００４９】
以上本発明の実施の形態について説明したが、図１に示す情報処理システム１００のそれぞれで実行されるプログラムをコンピュータにより読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の実施の形態に係る情報処理システムが実現されるものとする。なお、プログラムをインターネットなどのネットワーク経由でコンピュータシステムに提供するようにしてもよい。さらに、プログラムが書き込まれた半導体チップなどを提供してもよい。
【００５０】
≪その他の実施の形態≫
以上本発明の好適な実施の形態について一例を示したが、本発明は前記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、以下のような実施の形態が考えられる。
（１）前記実施形態では、情報処理システム１００が端末１０、負荷分散装置２０、計算機３０および運用管理装置５０を含んで構成されるように記載したが、負荷分散装置２０がない構成であってもよい。この場合、計算機３０内の仮想計算機４０が端末１０から直接要求を受信することになる。
（２）前記実施形態では、リソース割り当て管理テーブル４２０にはＣＰＵやメモリを設定したが、他のリソース、例えば、Ｉ／Ｏスロットやハードディスク装置などを設定してもよい。
（３）前記実施形態では、情報処理システム１００において、端末１０と負荷分散装置２０とがネットワーク６０を介して接続されるように記載したが、別の接続形態であってもよい。例えば、情報処理システム１が１台のコンピュータであって、端末１０がキーボードやマウス、ディスプレイであり、計算機３０（仮想計算機４０）がコンピュータ全体を制御する構成であり、端末１０と負荷分散装置２０とがＩ／Ｏケーブルで接続される形態であってもよい。
（４）前記実施形態では、運用管理装置５０が１台の負荷分散装置２０および１台の計算機３０に接続されているように記載したが、複数の負荷分散装置２０および複数の計算機３０に接続される構成であってもよい。この場合、運用管理装置５０のメモリ５０２には、各計算機３０に対応した複数のリセット処理時間設定テーブル５３０および計算機状態管理テーブル５４０、ならびに各負荷分散装置２０に対応した複数の負荷分散振り分け管理テーブル５５０が含まれることになる。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施形態に係る情報処理システムの構成を示す図である。
【図２】計算機のハードウェアおよびソフトウェアの構成を示す図である。
【図３】運用管理装置の構成を示す図である。
【図４】リセット処理時間設定テーブルの構成を示す図である。
【図５】計算機状態管理テーブルの構成を示す図である。
【図６】負荷分散振り分け管理テーブルの構成を示す図である。
【図７】リセット処理指示部の処理の流れを示すフローチャートである。
【図８】仮想計算機内のリセット処理の流れを示すフローチャートである。
【図９】動的論理分割機能の技術を利用し、システム稼働中に稼働中の仮想計算機にリソース配分する仮想計算機の構成を示す図である。
【図１０】動的論理分割機能の技術を利用し、リソース配分した後の仮想計算機の構成を示す図である。
【図１１】動的論理分割機能の技術を利用し、待機用仮想計算機にリソース配分している仮想計算機の構成を示す図である。
【図１２】動的論理分割機能の技術を利用し、リソース配分した後の仮想計算機の構成を示す図である。
【図１３】リソース配分前のリソース割り当て管理テーブルの構成を示す図である。
【図１４】リソース配分後のリソース割り当て管理テーブルの構成を示す図である。
【符号の説明】
【００５２】
１０    端末
２０    負荷分散装置
３０    計算機
４０    仮想計算機
５０    運用管理装置
１００  情報処理システム
５０１  ＣＰＵ（処理部）
５０２  メモリ（記憶部）
５４０  計算機状態管理テーブル
【図１】
0004649341.tif 000002
【図２】
0004649341.tif 000003
【図３】
0004649341.tif 000004
【図４】
0004649341.tif 000005
【図５】
0004649341.tif 000006
【図６】
0004649341.tif 000007
【図７】
0004649341.tif 000008
【図８】
0004649341.tif 000009
【図９】
0004649341.tif 000010
【図１０】
0004649341.tif 000011
【図１１】
0004649341.tif 000012
【図１２】
0004649341.tif 000013
【図１３】
0004649341.tif 000014
【図１４】
0004649341.tif 000015