(57)【要約】【課題】  分割された複数のリソースの全てを定期的に故障診断することにより、全てのリソースの正常性を保証することができる。【解決手段】  サービスプロセッサ３が外部記憶装置５に記憶されているサービスプログラム２０にもとづいて定期的に予備プロセッサ２の故障診断を行い、運用プロセッサ１−１〜１−ｎのうちの１つを所定の順番に従って選択し、選択した運用プロセッサの切替要求をオペレーティングシステム１０に行う。オペレーティングシステム１０は、予備プロセッサ２をシステムから切り離し、選択された運用プロセッサをシステムに組み込んで、プロセッサの切り替えを行う。【選択図】      図１
2006252429.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが稼動するために必要なリソースが所定の単位に分割され、分割されたリソース単位を動的に切り替え可能なコンピュータシステムであって、
前記リソース単位のうち待機中のリソース単位について故障診断を行う故障診断実行手段と、
前記リソース単位のうち稼動中のリソース単位を所定の順番に従って選択するリソース単位選択手段と、
前記故障診断実行手段により前記待機中のリソース単位の故障診断の結果が正常であると判断されたとき、前記リソース単位選択手段によって選択された前記稼動中のリソース単位を前記コンピュータシステムから切り離して待機させるリソース単位切離手段と、
故障診断された前記待機中のリソース単位を前記コンピュータシステムに組み込んで稼動させるリソース単位組込手段と、
前記故障診断実行手段、前記リソース単位選択手段、前記リソース単位切離手段および前記リソース単位組込手段の処理を定期的に実行させる処理実行制御手段と、を備えた
ことを特徴とするコンピュータシステム。
【請求項２】
稼動中のリソース単位の稼動状況を測定する稼動状況測定手段と、
この稼動状況測定手段によって測定された稼動状況にもとづいて少なくとも１つ分以上のリソース単位を待機させる余裕があるか否かを判定する稼動状況判定手段と、を備え、
リソース単位切離手段は、前記稼動状況判定手段により少なくとも１つ分以上のリソース単位を待機させる余裕があると判定されたときに、稼動中のリソース単位をコンピュータシステムから切り離して待機させる
請求項１記載のコンピュータシステム。
【請求項３】
故障診断実行手段により待機中のリソース単位の故障診断の結果が異常であると判断されたとき、前記リソース単位の異常を外部に通報する通報手段を備えた
請求項１または請求項２記載のコンピュータシステム。
【請求項４】
コンピュータが稼動するために必要なリソースが所定の単位に分割され、分割されたリソース単位を動的に切り替え可能なコンピュータシステムの診断方法であって、
このコンピュータシステムに搭載されているプロセッサが記憶手段に記憶されているプログラムに従って、
前記リソース単位のうち待機中のリソース単位について定期的に故障診断を行い、
前記待機中のリソース単位の故障診断の結果が正常であると判断したとき、前記リソース単位のうち稼動中のリソース単位を所定の順番に従って選択し、
選択した前記稼動中のリソース単位を前記コンピュータシステムから切り離して待機させ、
故障診断が行われた前記待機中のリソース単位を前記コンピュータシステムに組み込んで稼動させる
ことを特徴とするコンピュータシステムの診断方法。
【請求項５】
稼動中のリソース単位の稼動状況を測定し、
測定した稼動状況にもとづいて少なくとも１つ分以上のリソース単位を待機させる余裕があるか否かを判定し、
少なくとも１つ分以上のリソース単位を待機させる余裕があると判定したときに、稼動中のリソース単位をコンピュータシステムから切り離して待機させる
請求項４記載のコンピュータシステムの診断方法。
【請求項６】
コンピュータが稼動するために必要なリソースが所定の単位に分割され、分割されたリソース単位を動的に切り替え可能なコンピュータシステムの制御プログラムであって、
前記リソース単位のうち待機中のリソース単位について故障診断を行う処理と、
前記リソース単位のうち稼動中のリソース単位を所定の順番に従って選択する処理と、
前記待機中のリソース単位の故障診断の結果が正常であると判断されたとき、選択された前記稼動中のリソース単位を前記コンピュータシステムから切り離して待機させるとともに、故障診断された前記待機中のリソース単位を前記コンピュータシステムに組み込んで稼動させる処理と、
一定時間経過後に起動して前記各処理を実行させる処理と、
をプロセッサに実行させる
コンピュータシステムの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータが稼動するために必要なプロセッサやメモリなどのリソース（資源）が所定の単位に分割され、分割されたリソース単位を動的に切り替え可能なコンピュータシステム、そのリソースの故障を診断するコンピュータシステムの診断方法および記録媒体に記録された制御プログラムに関する。
【背景技術】
【０００２】
複数個のプロセッサを搭載したマルチプロセッサシステムでは、ＯＳ（オペレーティングシステム）やアプリケーションと連動して各プロセッサに処理を分散し、全体の処理を高速に行うことができる。
【０００３】
下記特許文献１には、二重化されたプロセッサと、各プロセッサが独立にアクセスできる専用のメモリと、現用系プロセッサのみアクセスできる二重化主メモリとを有するプロセッサシステムであって、通常時、予備系プロセッサは予備系専用メモリに格納したプロセッサ診断及びメモリ診断プログラムを一定周期で実行させ、かつ正常終了の場合にはその旨を状態表示装置に表示し、一方、現用系プロセッサは専用メモリあるいは現用系プロセッサのみアクセスできる二重化主メモリに格納した予備系監視プログラムを実行し、状態表示装置より状態表示を読み取り、かつその表示のリセットを行うことにより、予備系プロセッサの正常動作を監視することが開示されている。
【０００４】
下記特許文献２には、マルチプロセッサシステムにおけるプロセッサの切り替え方式であって、運用プロセッサ及び予備プロセッサの故障部位による性能低下量を数値化し、運用プロセッサの故障部位に応じた減退後の性能と予備プロセッサの故障部位に応じた減退後の性能とを比較し、予備プロセッサの性能の方が運用プロセッサの性能よりも小さいか等しい場合は、運用プロセッサを継続して運用し、予備プロセッサの性能の方が運用プロセッサの性能よりも大きい場合には、予備プロセッサをシステムに組み込んだ後、故障した運用プロセッサをシステムから切り離して新たな予備プロセッサとして待機させることが開示されている。
【０００５】
【特許文献１】特開昭６２−９００６８号公報
【特許文献２】特開２００４−６２４７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載されたシステムでは、予備系プロセッサの故障診断を定期的に行うことにより予備系プロセッサの正常性を保証するように構成されているが、現用系プロセッサについては故障診断が行われていないため、その現用系プロセッサの正常性が保証されていない。ここで、現用系プロセッサが正常に運用されていても故障が発生していないとは限らない。運用中でありながら運用状況によっては通常使用されない部位（例えば演算プロセッサが備えている高速化処理を実現するための各種専用回路）が存在し、そのような部位に故障が生じている可能性があるからである。このように特定の部位に故障が生じている場合、その特定の部位を使用した処理を開始したときに初めて障害の発生が顕在化することになる。
【０００７】
また、特許文献２に記載されたシステムは、故障が発生して性能が低下している複数個のプロセッサを効率よく利用することを主眼においた発明であって、コンピュータシステムに搭載されている複数個のプロセッサの正常性を常に保証するように構成されているわけではない。
【０００８】
そこで、本発明は、上記のような課題を解決するためになされたものであり、リソースが論理的に分割されたコンピュータシステムにおいて、分割された複数のリソースの全てを定期的に故障診断することにより、全てのリソースの正常性を保証することができるコンピュータシステム、その診断方法および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
以上の目的を達成するため、本発明によるコンピュータシステムは、コンピュータが稼動するために必要なリソースが所定の単位に分割され、分割されたリソース単位を動的に切り替え可能なコンピュータシステムであって、リソース単位のうち待機中のリソース単位について故障診断を行う故障診断実行手段と、リソース単位のうち稼動中のリソース単位を所定の順番に従って選択するリソース単位選択手段と、故障診断実行手段により待機中のリソース単位の故障診断の結果が正常であると判断されたとき、リソース単位選択手段によって選択された稼動中のリソース単位をコンピュータシステムから切り離して待機させるリソース単位切離手段と、故障診断された待機中のリソース単位をコンピュータシステムに組み込んで稼動させるリソース単位組込手段と、故障診断実行手段、リソース単位選択手段、リソース単位切離手段およびリソース単位組込手段の処理を定期的に実行させる処理実行制御手段と、を備えたことを特徴とする。
【００１０】
稼動中のリソース単位の稼動状況を測定する稼動状況測定手段と、この稼動状況測定手段によって測定された稼動状況にもとづいて少なくとも１つ分以上のリソース単位を待機させる余裕があるか否かを判定する稼動状況判定手段と、を備え、リソース単位切離手段は、稼動状況判定手段により少なくとも１つ分以上のリソース単位を待機させる余裕があると判定されたときに、稼動中のリソース単位をコンピュータシステムから切り離して待機させるように構成されていてもよい。
【００１１】
故障診断実行手段により待機中のリソース単位の故障診断の結果が異常であると判断されたとき、リソース単位の異常を外部に通報する通報手段を備えていているのが好ましい。
【００１２】
また、本発明によるコンピュータシステムの診断方法は、コンピュータが稼動するために必要なリソースが所定の単位に分割され、分割されたリソース単位を動的に切り替え可能なコンピュータシステムの診断方法であって、このコンピュータシステムに搭載されているプロセッサが記憶手段に記憶されているプログラムに従って、リソース単位のうち待機中のリソース単位について定期的に故障診断を行い、待機中のリソース単位の故障診断の結果が正常であると判断したとき、リソース単位のうち稼動中のリソース単位を所定の順番に従って選択し、選択した稼動中のリソース単位をコンピュータシステムから切り離して待機させ、故障診断が行われた待機中のリソース単位をコンピュータシステムに組み込んで稼動させることを特徴とする。
【００１３】
稼動中のリソース単位の稼動状況を測定し、測定した稼動状況にもとづいて少なくとも１つ分以上のリソース単位を待機させる余裕があるか否かを判定し、少なくとも１つ分以上のリソース単位を待機させる余裕があると判定したときに、稼動中のリソース単位をコンピュータシステムから切り離して待機させるように構成されていてもよい。
【００１４】
また、本発明によるコンピュータシステムの制御プログラムは、コンピュータが稼動するために必要なリソースが所定の単位に分割され、分割されたリソース単位を動的に切り替え可能なコンピュータシステムの制御プログラムであって、リソース単位のうち待機中のリソース単位について故障診断を行う処理と、リソース単位のうち稼動中のリソース単位を所定の順番に従って選択する処理と、待機中のリソース単位の故障診断の結果が正常であると判断されたとき、選択された稼動中のリソース単位をコンピュータシステムから切り離して待機させるとともに、故障診断された待機中のリソース単位をコンピュータシステムに組み込んで稼動させる処理と、一定時間経過後に起動して各処理を実行させる処理と、をプロセッサに実行させることを特徴とする。
【発明の効果】
【００１５】
以上のように、本発明では、リソース単位のうち待機中のリソース単位について定期的に故障診断を行い、待機中のリソース単位の故障診断の結果が正常であると判断したとき、リソース単位のうち稼動中のリソース単位を所定の順番に従って選択し、選択した稼動中のリソース単位をコンピュータシステムから切り離して待機させ、故障診断が行われた待機中のリソース単位をコンピュータシステムに組み込んで稼動させるように構成されているので、全てのリソースについて周期的に故障診断を行うことができ、コンピュータシステムの高い信頼性を常に確保することができる。
【００１６】
また、本発明では、稼動中のリソース単位の稼動状況を測定し、測定した稼動状況にもとづいて少なくとも１つ分以上のリソース単位を待機させる余裕があるか否かを判定し、少なくとも１つ分以上のリソース単位を待機させる余裕があると判定したときに、稼動中のリソース単位をコンピュータシステムから切り離して待機させるように構成されているので、リソースの動的な切り替えによって業務処理に支障をきたす事態が生じるのを回避することができる。
【００１７】
また、本発明では、待機中のリソース単位の故障診断の結果が異常であると判断されたとき、リソース単位の異常を外部に通報するように構成されているので、システム管理者がリソース単位の異常を直ちに認識することができ、異常状態に対して直ちに対応することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の一形態を図面を参照して説明する。
【００１９】
実施の形態１．
図１は、本発明におけるコンピュータシステムの構成を示すブロック図である。図１に示すコンピュータシステムは、複数個のプロセッサ１−１〜１−ｎ，２を備えたマルチプロセッサシステムである。このようなコンピュータシステムは、例えば銀行の勘定系のシステムに代表されるように極めて高い信頼性、可用性が要求される大規模システムに用いられる。
【００２０】
複数個の運用プロセッサ１−１〜１−ｎは、外部記憶装置５に記憶されている業務プログラム１１（図２参照）に従って通常の業務処理を分散して実行するプロセッサ群である。予備プロセッサ２は、複数の運用プロセッサ１−１〜１−ｎのうちの１つが故障したときに、故障した運用プロセッサと切り替えられる（交換される）ために待機しているプロセッサである。なお、本発明においては、コンピュータシステムに搭載されている複数個のプロセッサ１−１〜１−ｎ，２の全てに対して一定周期で故障診断を行わせるために、後述するように、故障していない運用プロセッサも予備プロセッサ２と切り替えられる。サービスプロセッサ３は、外部記憶装置５に記憶されているサービスプログラム２０（図２参照）に従って各プロセッサの故障診断処理を実行するとともに、運用プロセッサと予備プロセッサ２との切り替えを管理するプロセッサである。
【００２１】
メモリ４は、各プロセッサが直接読み書きできる主記憶装置（記憶領域）である。外部記憶装置５は、ハードディスクなどの大容量の記憶装置である。また、表示装置６は、液晶ディスプレイ（ＬＣＤ）などの表示装置である。図１に示すように、各運用プロセッサ１−１〜１−ｎ、予備プロセッサ２、メモリ４、外部記憶装置５および表示装置６は、それぞれ、システムバス７を介して接続されている。また、運用プロセッサ１−１〜１−ｎ、予備プロセッサ２およびサービスプロセッサ３は、それぞれ、診断バス８を介して接続されている。
【００２２】
図２は、実施の形態１における外部記憶装置５に記憶されている各種プログラムの機能構成を示す説明図である。図２に示すように、外部記憶装置５には、コンピュータシステムを管理し、基本的なユーザ操作環境を提供するソフトウェアであるオペレーティングシステム１０と、各プロセッサの故障診断処理を実行するとともに、運用プロセッサと予備プロセッサ２との切り替えを管理する専用のソフトウェアであるサービスプログラム２０とが記憶されている。
【００２３】
オペレーティングシステム１０には、業務プログラム１１とシステム管理部１２とが含まれている。業務プログラム１１は、運用プロセッサ１−１〜１−ｎにユーザ所望の業務処理を実行させるためのプログラムである。システム管理部１２は、ファイル管理（外部記憶装置５などへの記録とその管理）、メモリ管理（業務プログラム１１が使うメモリ領域の割り当て）、タスク管理（ソフトの実行の順序や優先度の管理）などのほかに、サービスプロセッサ３からの要求に応じて、運用プロセッサ（例えば運用プロセッサ１−２）と予備プロセッサ２とを切り替える（交換する）処理、すなわち、運用プロセッサをシステムから切り離した後、予備プロセッサ２をシステムに組み込む処理を行わせるためのプログラムである。なお、オペレーティングシステム１０には、上述した機能のほかに、ネットワークや通信など、さまざまな機能も標準機能として装備されている。
【００２４】
また、サービスプログラム２０には、プログラム起動部２１と、診断プログラム転送部２２と、診断結果管理部２３と、プロセッサ切替管理部２４とが含まれている。プログラム起動部２１は、時間を計測し、一定時間が経過するとサービスプログラム２０を起動させてサービスプログラム２０に含まれる各処理（診断プログラムの転送等）をサービスプロセッサ３に実行させるプログラムである。診断プログラム転送部２２は、診断プログラムを予備プロセッサ２に転送（ロード）する処理をサービスプロセッサ３に実行させるプログラムである。診断結果管理部２３は、予備プロセッサ２から通知される試験診断の結果を所定の記憶領域（例えば外部記憶装置５における所定の記憶領域）に記憶するとともに、診断結果から異常が検出されたときは外部への通報等の処理をサービスプロセッサ３に実行させるプログラムである。また、プロセッサ切替管理部２４は、運用プロセッサと予備プロセッサ２との切り替え（交換）を管理する処理をサービスプロセッサ３に実行させるプログラムである。なお、本発明では、サービスプロセッサ３は、予備プロセッサ２の故障診断を行うために、定期的に運用プロセッサと予備プロセッサ２との切り替えを行うが、運用プロセッサの異常（故障）が検出されたときも、運用プロセッサと予備プロセッサ２との切り替えを行う。
【００２５】
次に、コンピュータシステムにおけるプロセッサの故障診断処理およびプロセッサ切替処理の手順について図３を用いて説明する。
【００２６】
図３は、実施の形態１におけるプロセッサの故障診断処理およびプロセッサ切替処理の手順を示すフローチャートである。図３に示すように、サービスプロセッサ３は、サービスプログラム２０におけるプログラム起動部２１の内容に従って、前回のサービスプログラム２０の各処理の実行が終了してからの時間を計測し、計測している時間が一定時間になったか否かを判定する（ステップＳ１）。このような構成によって、定期的に予備プロセッサ２の故障診断を行うことが可能になる。なお、サービスプログラム２０の各処理が起動される時間として、例えば運用プロセッサ１−１〜１−ｎの稼働率（使用率ともいう）が低下する真夜中などの時間が設定されるのが好ましい。
【００２７】
一定時間が経過すると、サービスプロセッサ３は、サービスプログラム２０における診断プログラム転送部２２の内容に従って、予備プロセッサ２に試験診断（インライン診断）を実行させるために診断プログラムを予備プロセッサ２に転送（ロード）する（ステップＳ２）。すなわち、被診断プロセッサである予備プロセッサ２のために確保されたメモリ４の所定記憶領域に診断プログラムを格納する。
【００２８】
メモリ４の所定記憶領域に診断プログラムが格納されると、予備プロセッサ２は、診断プログラムを起動させ、その診断プログラムの内容に従って試験診断処理を実行する。試験診断の内容としては、予備プロセッサ２の有する機能（演算プロセッサであれば、そのソフトウェア命令）の正当性が試験されることになる。例えば、予備プロセッサ２に所定の命令を与えて、その命令に対する結果が正当なものであるかどうかが判断される。試験診断では、予備プロセッサ２の全ての部位が診断される。予備プロセッサ２が演算プロセッサであれば、命令キャッシュユニットやデータキャッシュユニットなどが試験診断される。また、演算プロセッサは高速化を実現するために各種の専用回路（例えば浮動小数点演算専用回路、１０進数演算専用回路、６４ビット専用回路、３２ビット専用回路あるいはそのシステム固有の制御回路等）を備えている場合もあるが、そのような場合には、各種の専用回路についても試験診断される。予備プロセッサ２は、試験診断処理が終了すると、その試験診断の結果をサービスプロセッサ３に通知する。
【００２９】
サービスプロセッサ３は、試験診断の結果を取得すると、サービスプログラム２０における診断結果管理部２３の内容に従って、取得した試験診断の結果を所定の記録領域に記憶する（ステップＳ３）。そして、試験診断の結果に異常がないかどうかを判断する（ステップ４）。試験診断の結果から異常が検出されたときは（ステップＳ４のＮＧ）、サービスプロセッサ３は、予備プロセッサ２に何らかの障害（故障）が発生していると判断し、外部への表示・通報を行う（ステップＳ５）。例えば、表示装置６の画面上に予備プロセッサ２の異常が発生していることを表示させたり、アラームを鳴動させたり、あるいは保守センター（コンピュータシステムの保守・管理を行う場所）の端末に自動通報するなどが想定される。このような表示・通報によって予備プロセッサ２の異常を認識した管理者は、予備プロセッサ２の交換等を行う。これにより、コンピュータシステムの信頼性が担保されることになる。
【００３０】
試験診断の結果から異常が検出されなかったときは（ステップＳ４のＯＫ）、サービスプロセッサ３は、予備プロセッサ２が正常であると判断する。そして、サービスプロセッサ３は、サービスプログラム２０におけるプロセッサ切替管理部２４の内容に従って、運用プロセッサ１−１〜１−ｎの１つを選択する。そして、サービスプロセッサ３は、選択した運用プロセッサを予備プロセッサ２に切り替えさせるとともに予備プロセッサ２を運用プロセッサに切り替えさせる切替要求をオペレーティングシステム１０に対して行う（ステップＳ６）。ここで、複数個のプロセッサ１−１〜１−ｎ，２の全てが周期的に予備プロセッサ２に切り替えられるようにするために、例えば各プロセッサに順番を付けておき、その順番どおりにプロセッサを選択して予備プロセッサに切り替えるようにする。このような構成によれば、複数個のプロセッサの全てについて定期的に故障診断を行うことが可能になり、コンピュータシステムの信頼性、可用性を向上させることができるようになる。
【００３１】
オペレーティングシステム１０のシステム管理部１２は、サービスプロセッサ３からの切替要求に応じて、切替対象として選択された運用プロセッサ（例えば運用プロセッサ１−３）をシステムから切り離す（予備化する）処理を実行した後（ステップＳ７）、予備プロセッサ２をシステムに組み込む処理を実行する（ステップＳ８）。そして、プロセッサの切替完了報告をサービスプロセッサ３に通知する（ステップＳ９）。
【００３２】
サービスプロセッサ３は、切替完了報告を取得すると、取得した報告を所定の記憶領域に記憶し（ステップＳ１０）、処理を終了する。このように切替完了報告を記憶しておくことにより、容易に次の切替対象の運用プロセッサを特定することが可能になる。その後、一定時間が経過すると（ステップＳ１のＹｅｓ）、再びステップＳ２以降の処理が開始される。つまり、サービスプログラム２０における各処理は定期的に起動されることになる。
【００３３】
以上のように、この実施の形態１によれば、サービスプロセッサ３がサービスプログラム２０にもとづいて定期的に複数個のプロセッサを順に予備プロセッサ２に切り替えるとともに、待機中の予備プロセッサ２の故障診断（試験診断）を実行させるように構成されているので、全てのプロセッサについて周期的に故障診断を行うことができる。その結果、コンピュータシステムの高い信頼性を常に確保することができる。
【００３４】
具体的には、従来のシステムにおいても、複数個の運用プロセッサ１−１〜１−ｎのうちの１つの運用プロセッサが故障した場合は、正常性が保証されている待機中の予備プロセッサ２に切り替えれば、システムの処理能力が低下することはない。しかし、予備プロセッサ２の数以上（本例では２個以上）の運用プロセッサが故障した場合には、故障した運用プロセッサの全てを予備プロセッサ２に切り替えることができなくなり、システム全体の処理能力が低下してしまうことになる。これに対し、この実施の形態１におけるコンピュータシステムでは、複数個のプロセッサの全てを周期的に故障診断するので、全てのプロセッサの正常性を保証し、システム全体の信頼性を常に確保することができることになる。よって、この実施の形態１におけるコンピュータシステムは、システムを簡単に停止できない２４時間稼動システム等において特に効果を発揮する。
【００３５】
また、試験診断するプロセッサは待機中の予備プロセッサ２であるので、予備プロセッサ２の全ての部位について故障診断することができる。よって、各プロセッサの全ての部位の正常性を保証することができる。
【００３６】
また、予備プロセッサ２の診断結果から異常が検出されれば、サービスプロセッサ３が外部に通報するように構成しているので、システム管理者が予備プロセッサ２の故障を直ちに認識することができ、システムの異常状態に対して直ちに対応することができる。
【００３７】
実施の形態２．
上述した実施の形態１では、プロセッサの切り替えを行うときに、選択した１個の運用プロセッサをシステムから切り離して予備化していたが、システム全体の処理負荷が高いときは運用プロセッサ１−１〜１−ｎの全てが稼動しているので、１個の運用プロセッサをシステムから切り離すことができない状況にある。この場合、オペレーティングシステム１０は、サービスプロセッサ３からの切替要求があっても、直ちにプロセッサの切り替えを行うことはできない。そこで、この実施の形態２では、各プロセッサの稼働率の合計が一定値以下になっかたどうかを判断し、稼働率の合計が一定値以下になったときにプロセッサの切り替えを行う。以下、そのような実施の形態２の構成について説明する。
【００３８】
図４は、実施の形態２における外部記憶装置に記憶されている各種プログラムの機能構成を示す説明図である。なお、図２に示した構成と同一構成については、同一符号を付して重複する説明を省略する。
【００３９】
図４に示すように、この実施の形態２では、オペレーティングシステム１０には、業務プログラム１１およびシステム管理部１２のほかに、稼動状況測定部１３が含まれている。稼動状況測定部１３は、複数個の運用プロセッサ１−１〜１−ｎの稼動状況（稼働率）を測定し、測定した各プロセッサ１−１〜１−ｎの稼働率の合計（システム全体の稼働率）が一定値以下であるかどうかを判定する処理を各プロセッサ１−１〜１−ｎに実行させるためのプログラムである。なお、各プロセッサ１−１〜１−ｎの稼働率は、例えば、稼働率＝ビジー時間／エラップスタイム（稼働時間）または、稼働率＝１−（アイドル時間／エラップスタイム）等によって測定される。
【００４０】
図５は、実施の形態２におけるプロセッサの故障診断処理およびプロセッサ切替処理の手順を示すフローチャートである。なお、ステップＳ１〜Ｓ６までの処理は、図３に示した処理と同様であるため、重複する説明を省略する。
【００４１】
オペレーティングシステム１０の稼動状況測定部１３は、上述した計算式にもとづいて各プロセッサ１−１〜１−ｎの稼働率を測定している。サービスプロセッサ３がオペレーティングシステム１０に対してプロセッサの切替要求を行うと（ステップＳ６）、稼動状況測定部１３は、各プロセッサ１−１〜１−ｎの稼働率の合計が一定値以下であるかどうかを判定する（ステップＳ１１）。この処理では、現在の各プロセッサの稼動状況から判断して１個分以上のプロセッサを待機させる余裕があるか否かを判定している。従って、一定値は、複数個のプロセッサの最大稼働率の合計から１個分のプロセッサの稼働率を引いた値となる。
【００４２】
稼動状況測定部１３は、各プロセッサの稼働率の合計が一定値以下であると判定したときは、ステップＳ７以降のプロセッサの切替処理を実行する。すなわち、切替対象の１個の運用プロセッサを待機させて、その運用プロセッサをシステムから切り離し（予備化し）、予備プロセッサ２をシステムに組み込む。一方、稼動状況測定部１３は、各プロセッサの稼働率の合計が一定値以下でない（一定値以上である）と判定したときは、一定値以下に下がるまでステップＳ７以降のプロセッサの切替処理を行わない。なお、稼働率が一定値以上であるときは、その旨をサービスプロセッサ３に通知するように構成されていてもよい。この場合は、サービスプロセッサ３が所定期間経過後に再度プロセッサの切替要求をオペレーティングシステム１０に行うようにする。
【００４３】
以上のように、この実施の形態２によれば、各運用プロセッサ１−１〜１−ｎの稼働率が高いときは、プロセッサの切り替えを行わないように構成しているので、プロセッサの切替処理によって業務処理に支障をきたす事態が生じるのを回避することができる。
【００４４】
なお、上記の各実施の形態では、プロセッサを対象に定期的な故障診断および切り替えを行っていたが、コンピュータシステムにおける他のリソース（ハードウェア資源）が切り替え可能に分割され（区切られ）ている場合は、そのリソースについても適用することができる。例えば、メモリが切り替え可能に分割されている場合（物理的に複数のメモリが設けられて、各メモリに各プロセッサが動的に割り当てられている場合や、１つのメモリの記憶領域が各プロセッサに動的に割り当てられている場合）、切り替え可能な単位のメモリに対して定期的な故障診断および切り替えを行うことができる。また、他装置インタフェース（Ｉ／Ｏ）が切り替え可能に分割されている場合（各Ｉ／Ｏが各プロセッサに動的に割り当てられている場合）、切り替え可能な単位の他装置インタフェースに対して定期的な故障診断および切り替えを行うことができる。なお、今日のコンピュータシステムでは、一般に、システム運用の効率向上と高信頼性を実現するために、動的論理分割機能（Ｄｙｎａｍｉｃ  ＬＰＡＲ；システムのプロセッサやメモリ、Ｉ／Ｏなどのリソースを、目的や使用状況に応じて、複数の論理パーティションに分割して任意のパーティションに割り当てる機能）が装備されている。
【００４５】
ちなみに、「動的」というのは、システムを停止させることなくという意味である。従って、特定のリソースに障害が発生しても動的にリソースの割り当てを変更することにより、システムを停止することなく運用を継続することが可能となる。
【００４６】
また、上記の各実施の形態では、予備プロセッサ２の故障診断を実行した後に、プロセッサを切り替えを行っていたが、プロセッサの切り替えを行った後に、予備化されたプロセッサの故障診断を行うように構成してもよい。
【００４７】
また、上記の各実施の形態では、待機している予備プロセッサ２は１個であったが、２個以上のプロセッサを予備プロセッサ２にしてもよい。この場合、２個以上の予備プロセッサ２について同時に故障診断を行って、運用プロセッサとの切り替えを行ってもよい。この場合、実施の形態２（図５）におけるステップＳ１１では、現在の各プロセッサの稼動状況から判断して２個分以上のプロセッサを待機させる余裕があるか否かが判定されることになる。このような構成は、メモリやＩ／Ｏなどのリソースについても同様である。
【００４８】
また、上記の各実施の形態では、故障診断および切り替えの対象としてのプロセッサの単位を１個のプロセッサとしていたが、１個のプロセッサを複数のパーティションで仮想的に分割する場合は、分割したパーティションの単位を故障診断および切り替えの対象としてもよい。
【００４９】
また、上記の実施の形態２では、各プロセッサの稼働率の合計が一定値以下であるか否かの判定をオペレーティングシステム１０において行っていたが、この処理をサービスプロセッサ３がサービスプログラム２０に従って行うようにしてもよい。このような構成にする場合は、各プロセッサから現在の稼動状況をサービスプロセッサ３に通知する必要がある。
【産業上の利用可能性】
【００５０】
本発明は、予備プロセッサを備えたコンピュータシステムに適用される。
【図面の簡単な説明】
【００５１】
【図１】本発明におけるコンピュータシステムの構成を示すブロック図である。
【図２】実施の形態１における外部記憶装置に記憶されている各種プログラムの機能構成を示す説明図である。
【図３】実施の形態１におけるプロセッサの故障診断処理およびプロセッサ切替処理の手順を示すフローチャートである。
【図４】実施の形態２における外部記憶装置に記憶されている各種プログラムの機能構成を示す説明図である。
【図５】実施の形態２におけるプロセッサの故障診断処理およびプロセッサ切替処理の手順を示すフローチャートである。
【符号の説明】
【００５２】
１−１〜１−ｎ  運用プロセッサ（稼動中のリソース単位）
２  予備プロセッサ（待機中のリソース単位）
３  サービスプロセッサ（プロセッサ）
４  メモリ（リソースの一種）
５  外部記憶装置
６  表示装置
【図１】
2006252429.tif 000003
【図２】
2006252429.tif 000004
【図３】
2006252429.tif 000005
【図４】
2006252429.tif 000006
【図５】
2006252429.tif 000007