(57)【特許請求の範囲】
【請求項１】
複数の情報処理装置のそれぞれを特定する装置名と、前記複数の情報処理装置のそれぞれで提供されているサービスを特定するサービス名と、前記サービスの提供に使用されている前記情報処理装置内の各種のリソースの状態である使用中リソース状態と、前記サービスの提供に使用されていない前記情報処理装置内の各種のリソースの状態である余剰リソース状態とが対応付けて登録されたテーブルを記憶した記憶手段
を備え、
前記情報処理装置のうちの何れかから、あるリソースの障害により提供ができなくなったサービスのサービス名を含む障害リソース情報を受け取った場合には、
前記テーブルを参照して、障害が発生した前記情報処理装置である障害発生情報処理装置が保有するリソースのうちで使えなくなった前記リソースを切り離し、
前記テーブルを参照して、使えなくなった前記リソースを使っていない、前記障害発生情報処理装置以外の全ての情報処理装置で動作しているサービスを特定し、
前記特定された前記サービスのうち、何れのサービスを、前記障害発生情報処理装置が引き取ることができるかを確認し、前記引き取ることができるサービスを、前記障害発生情報処理装置へ移動すると共に実行させる管理装置。
【請求項２】
複数の情報処理装置のそれぞれを特定する装置名と、前記複数の情報処理装置のそれぞれで提供されているサービスを特定するサービス名と、前記サービスの提供に使用されている前記情報処理装置内の各種のリソースの状態である使用中リソース状態と、前記サービスの提供に使用されていない前記情報処理装置内の各種のリソースの状態である余剰リソース状態とが対応付けて登録されたテーブルを記憶した記憶手段を含む管理装置によって、
前記複数の情報処理装置のうちの何れかから、あるリソースの障害により提供ができなくなったサービスのサービス名を含む障害発生通知を受け取った場合、
前記テーブルを参照して、障害が発生した前記情報処理装置である障害発生情報処理装置が保有するリソースのうちで使えなくなった前記リソースを切り離し、
前記テーブルを参照して、使えなくなった前記リソースを使っていない、前記障害発生情報処理装置以外の全ての情報処理装置で動作しているサービスを特定し、
前記特定されたサービスのうち、何れのサービスを、前記障害発生情報処理装置が引き取ることができるかを確認し、前記引き取ることができるサービスを、前記障害発生情報処理装置へ移動すると共に実行させる
サービス提供管理方法。
【請求項３】
複数の情報処理装置のうちの何れかから、あるリソースの障害により提供ができなくなったサービスのサービス名を含む障害発生通知を受け取る処理と、
前記複数の情報処理装置のそれぞれを特定する装置名と、前記複数の情報処理装置のそれぞれで提供されているサービスを特定するサービス名と、前記サービスの提供に使用されている前記情報処理装置内の各種のリソースの状態である使用中リソース状態と、前記サービスの提供に使用されていない前記情報処理装置内の各種のリソースの状態である余剰リソース状態とが対応付けて登録されたテーブルを参照して、障害が発生した前記情報処理装置である障害発生情報処理装置が保有するリソースのうちで使えなくなったリソースを切り離し、
前記テーブルを参照して、使えなくなった前記リソースを使っていない、前記障害発生情報処理装置以外の全ての情報処理装置で動作しているサービスを特定し、
前記特定されたサービスのうち、何れのサービスを、前記障害発生情報処理装置が引き取ることができるかを確認し、前記引き取ることができるサービスを、前記障害発生情報処理装置へ移動すると共に実行させる処理と
をコンピュータに実行させるサービス提供管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、サービス提供管理方法およびサービス提供管理プログラムに関する。
【背景技術】
【０００２】
それぞれ少なくとも一つのサービスを提供する複数のサーバ等の情報処理装置から構成されるサービス提供システムが知られている。
【０００３】
なお、関連技術として、特許文献１には、ある物理計算機に構築された論理計算機または論理区画（ＬＰＡＲ）に障害が発生した場合、管理サーバ１０１が、障害の生じたＬＰＡＲの構成情報を読み取り、他の物理計算機を交代先のＬＰＡＲとし、読み取ったＬＰＡＲの構成情報を交代先ＬＰＡＲに設定することで、障害時のＬＰＡＲ単位の引き継ぎを可能とする技術が開示されている。
【０００４】
また、特許文献２には、算出手段１ｂによりシャーシ５０および６０に搭載された物理サーバがそれぞれサービス提供不能となる度合いを示す設備異常度を算出し、算出された各設備異常度に基づいて指示手段１ａにより設備異常度が高い物理サーバの動作を停止させると共に、その設備異常度が高い物理サーバで動作していた仮想マシンの動作を設備異常度の低い物理サーバで開始させるサーバ管理技術が開示されている。
【０００５】
また、特許文献３には、仮想マシン５００乃至５２０が動作可能なリソース量を有するリソースプールを共有するホスト４００乃至４３０のうちの何れかのホストのメンテナンス時や障害発生時に、制御サーバ１００により、各仮想マシンが本来のリソースプールのリソースの総量を減らすことなく共有のリソースプールであるリカバリプール３００を利用できるようにし、仮想化システム１０の運用を継続させる技術が開示されている。
【０００６】
また、特許文献４には、情報処理装置１００の複数のプロセッサを監視するサービスプロセッサ１１０が、各プロセッサの稼働時間及び障害履歴に基づいて計算した各プロセッサの障害発生確率のうち最も小さい値の障害発生確率のプロセッサを選定し、選定したそのプロセッサをオペレーティングシステム用に設定することで、情報処理装置１００のシステムダウンの可能性をより低減する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−１８５８６５号公報
【特許文献２】特開２０１４−１２７１３４号公報
【特許文献３】特開２０１３−２１０７４５号公報
【特許文献４】特開２０１１−０１３９５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述したサービス提供システムでは、ある情報処理装置に障害が発生した場合、当該情報処理装置で提供されていたサービスの利用ができなくなるという問題点がある。
【０００９】
なお、特許文献１乃至４のいずれにも、ある情報処理装置等で障害が発生し、当該情報処理装置等で提供していたサービスが利用できなくなった場合の対処技術は何ら記載されていない。
【００１０】
本発明の目的は、上述した問題点を解決した管理装置、サービス提供管理方法およびサービス提供管理プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の管理装置は、
複数の情報処理装置のそれぞれを特定する装置名と、前記複数の情報処理装置のそれぞれで提供されているサービスを特定するサービス名と、前記サービスの提供に使用されている前記情報処理装置内の各種のリソースの状態である使用中リソース状態と、前記サービスの提供に使用されていない前記情報処理装置内の各種のリソースの状態である余剰リソース状態とが対応付けて登録されたテーブルを記憶した記憶手段
を備え、
前記情報処理装置うちの何れかから、あるリソースの障害により提供ができなくなったサービスのサービス名を含む障害リソース情報を受け取った場合には、
前記テーブルを参照して、前記障害リソース情報に含まれるサービス名で特定されるサービスを提供できる情報処理装置を選定し、当該情報処理装置で当該サービスを提供させる。
【００１２】
また、本発明のサービス提供管理方法は、
複数の情報処理装置うちの何れかから、あるリソースの障害により提供ができなくなったサービスのサービス名を含む障害発生通知を受け取るステップと、
前記複数の情報処理装置のそれぞれを特定する装置名と、前記複数の情報処理装置のそれぞれで提供されているサービスを特定するサービス名と、前記サービスの提供に使用されている前記情報処理装置内の各種のリソースの状態である使用中リソース状態と、前記サービスの提供に使用されていない前記情報処理装置内の各種のリソースの状態である余剰リソース状態とが対応付けて登録されたテーブルを参照して、前記障害発生通知に含まれるサービス名で特定されるサービスを提供できる情報処理装置を選定し、当該情報処理装置に当該サービスを提供させるステップと
を含む。
【００１３】
また、本発明のサービス提供管理プログラムは、
複数の情報処理装置うちの何れかから、あるリソースの障害により提供ができなくなったサービスのサービス名を含む障害発生通知を受け取る処理と、
前記複数の情報処理装置のそれぞれを特定する装置名と、前記複数の情報処理装置のそれぞれで提供されているサービスを特定するサービス名と、前記サービスの提供に使用されている前記情報処理装置内の各種のリソースの状態である使用中リソース状態と、前記サービスの提供に使用されていない前記情報処理装置内の各種のリソースの状態である余剰リソース状態とが対応付けて登録されたテーブルを参照して、前記障害発生通知に含まれるサービス名で特定されるサービスを提供できる情報処理装置を選定し、当該情報処理装置に当該サービスを提供させる処理と
をコンピュータに実行させる。
【発明の効果】
【００１４】
本発明には、ある情報処理装置に障害が発生した場合でも、当該情報処理装置で提供されていたサービスの利用ができるという効果がある。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１および第２の実施形態を示すブロック図である。
【図２】第１および第２の実施形態係るサービス毎に必要な各リソース状態を示す必要リソース状態テーブル１２を示す図である。
【図３】第１および第２の実施形態に係る各情報処理装置でそれぞれ提供されるサービスの例を示す図である。
【図４】第１および第２の実施形態に係る各サービスを実行中のそれぞれの情報処理装置における各使用中リソース状態および、余剰リソース状態を表すサービス提供中リソース状態テーブル１３を示す図である。
【図５】第１の実施形態に係る管理装置１０における処理の流れを示す図である。
【図６】第２の実施形態に係る管理装置１０における処理の流れを示す図である。
【発明を実施するための形態】
【００１６】
次に、本発明の実施形態について図面を参照して詳細に説明する。
＜第１の実施形態＞
まず、第１の実施形態について説明する。
【００１７】
図１は、本実施形態を示すブロック図である。
【００１８】
図１を参照すると、本実施形態は、サービス提供システム１から構成され、サービス提供システム１は、管理装置１０と、装置名が「ａ」である情報処理装置２０と、装置名が「ｂ」である情報処理装置３０と、装置名が「ｃ」である情報処理装置４０とから構成される。
【００１９】
管理装置１０は、記憶部１１を含む。記憶部１１は、必要リソース状態テーブル１２と、サービス提供中リソース状態テーブル１３とを含む。
【００２０】
情報処理装置２０は、制御部２１と、各種のプログラムモジュールからなる制御プログラム２２とを含む。
【００２１】
情報処理装置３０は、制御部３１と、各種のプログラムモジュールからなる制御プログラム３２とを含む。
【００２２】
情報処理装置４０は、制御部４１と、各種のプログラムモジュールからなる制御プログラム４２とを含む。
【００２３】
情報処理装置２０、３０および４０は、上述した構成要素の他に、ＣＰＵ、メモリ、高速ＩＯデバイスおよびＵＳＢインタフェース等の各種のリソースを含む。
【００２４】
図２は、必要リソース状態テーブル１２を示す図である。
【００２５】
図２を参照すると、必要リソース状態テーブル１２は、各サービスの名前であるサービス名が登録された「サービス名」欄と、「サービス名」欄に登録された各サービス名のサービスを提供するために必要な各リソースの状態である各リソース状態が登録された「必要リソース状態」欄とから構成される。
【００２６】
「必要リソース状態」欄は、さらに、「ＣＰＵコア数」欄と、「メモリ容量（ＧＢ：Ｇｉｇａ＿Ｂｙｔｅ）」欄と、「高速ＩＯデバイス」欄と、「ＵＳＢインタフェース」欄とに分割されている。
【００２７】
分割された各欄は、それぞれ必要なリソース状態、すなわち、ＣＰＵのコア数と、メモリの容量と、高速ＩＯデバイスの要否と、ＵＳＢインタフェースの要否とが各サービス名のサービス対応に登録されている。
【００２８】
なお、「高速ＩＯデバイス」欄が、「１」の場合、高速ＩＯデバイスは「要（つまり必要）」であることを示し、「０」の場合、高速ＩＯデバイスが、「否（つまり不要）」であることを示す。また、「ＵＳＢインタフェース」欄が、「１」の場合、ＵＳＢインタフェースは「要（つまり必要）」であることを示し、「０」の場合、ＵＳＢインタフェースが「否（つまり不要）」であることを示す。
【００２９】
例えば、サービス名が「サービスＢ」であるサービスを提供するために必要なリソース状態は、次のとおりである。すなわち、ＣＰＵコア数が１個、メモリ容量が２ＧＢ、高速ＩＯデバイスが必要であり、ＵＳＢインタフェースが必要である。
【００３０】
本実施形態では、図３に示すように、現在、情報処理装置２０は、サービスＥ、ＡおよびＩを、情報処理装置３０は、サービスＦ、ＨおよびＢを、報処理装置４０は、サービスＣ、ＤおよびＧをそれぞれ提供しているものとする。
【００３１】
図４は、図３に示した各サービスを実行中の各情報処理装置における各使用中リソース状態および、余剰のリソース状態を表すサービス提供中リソース状態テーブル１３を示す図である。
【００３２】
図４を参照すると、サービス提供中リソース状態テーブル１３は、「情報処理装置名」欄、「サービス名」欄および「各使用中リソース状態」欄から構成される。
【００３３】
「情報処理装置名」欄には、情報処理装置１０、２０および３０の装置名である「ａ」、「ｂ」および「ｃ」が登録されている。
【００３４】
「サービス名」欄には、各情報処理装置が提供しているサービスのサービス名が当該情報処理装置の装置名と対応付けて登録されている。
【００３５】
具体的には、図４を参照すると、装置名が「ａ」である情報処理装置２０は、「サービスＥ」、「サービスＡ」および「サービスＩ」を提供しているため、「情報処理装置名」欄に登録された「ａ」と対応付けて「サービスＥ」、「サービスＡ」および「サービスＩ」が「サービス名」欄に登録されている。
【００３６】
同様に、装置名が「ｂ」である情報処理装置３０は、「サービスＦ」、「サービスＨ」および「サービスＢ」を提供しているため、「情報処理装置名」欄に登録された「ｂ」と対応付けて「サービスＦ」、「サービスＨ」および「サービスＢ」が「サービス名」欄に登録されている。
【００３７】
また、装置名が「ｃ」である情報処理装置４０は、「サービスＣ」、「サービスＤ」および「サービスＧ」を提供しているため、「情報処理装置名」欄に登録された「ｃ」と対応付けて「サービスＣ」、「サービスＤ」および「サービスＧ」が「サービス名」欄に登録されている。
【００３８】
「各使用中リソース状態」欄は、さらに、「ＣＰＵコア数」欄と、「メモリ容量（ＧＢ）」欄と、「高速ＩＯデバイス」欄と、「ＵＳＢインタフェース」欄とに分割されている。
【００３９】
分割された各欄は、それぞれ各サービスの提供に使用される各リソース（すなわち、「ＣＰＵコア」、「メモリ」、「高速ＩＯデバイス」および「ＵＳＢインタフェース」）の状態であるリソース状態、すなわち、ＣＰＵコアの数と、メモリの容量と、高速ＩＯデバイスの要否と、ＵＳＢインタフェースの要否とが、後述するように、各情報処理装置で提供中の各サービスのサービス名と対応づけて登録されている。
【００４０】
また、「サービス名」欄において、「余剰」と記載された行には、各情報処理装置が保有するＣＰＵコア数およびメモリ容量を示す各リソースのリソース状態から、当該情報処理装置で提供している全てのサービスの提供に使用される対応するリソースのリソース状態を差し引いた残りのリソースのリソース状態が登録されている。
【００４１】
例えば、「情報処理装置名」欄に登録された「ｂ」に対応する「サービス名」欄を見ると、装置名が「ｂ」である情報処理装置３０では、サービスＦ、ＨおよびＢが提供されている。
【００４２】
また、「情報処理装置名」欄に登録された「ｂ」に対応する「各使用中リソース状態」欄を見ると、サービスＦでは、１個のＣＰＵコア、３ＧＢのメモリ容量および高速ＩＯデバイスが使用されているが、ＵＳＢインタフェースが使用されていないことが分かる。
【００４３】
同様に、サービスＨでは、１個のＣＰＵコアおよび１ＧＢのメモリ容量が使用されているが、高速ＩＯデバイスおよびＵＳＢインタフェースは使用されていいない。さらに、サービスＢでは、１個のＣＰＵコア、２ＧＢのメモリ容量、高速ＩＯデバイスおよびＵＳＢインタフェースが使用されている。
【００４４】
また、「情報処理装置名」欄に「ｂ」が登録された「サービス名」欄の「余剰」の行には、情報処理装置３０が保有するＣＰＵコア数およびメモリ容量を示す各リソースのリソース状態から、当該情報処理装置３０で提供している上述したサービスＦ、サービスＨおよびサービスＢの各サービスの提供に使用される対応するリソースのリソース状態を差し引いた残りのリソースのリソース状態が登録されている。
【００４５】
すなわち、「情報処理装置名」欄に「ｂ」が登録された「サービス名」欄の「余剰」の行のＣＰＵコア数およびメモリ容量の各欄は、５個のＣＰＵコア数および１０ＧＢのメモリ容量が余剰であることを示している。
【００４６】
なお、高速ＩＯデバイスおよびＵＳＢインタフェースの各欄における各「サービス名」の行の「１」は、当該リソースを提供可能であり、「０」は、当該リソースを提供できないことを示す。また、高速ＩＯデバイスおよびＵＳＢインタフェースの各欄における「余剰」の行の「サポート可能」は、サービスで使用される高速ＩＯデバイスまたはＵＳＢインタフェースの各リソースを提供できるだけの余剰の各リソースを有することを示す。
【００４７】
次に、本実施形態の動作について説明する。
【００４８】
図５は、第１の実施形態に係る管理装置１０における処理の流れを示す図である。
【００４９】
管理装置１０は、障害が発生した情報処理装置（以下、「障害発生情報処理装置」とも言う。）から当該障害発生情報処理装置の装置名を含む障害発生通知が送られて来たか否かを確認する（ステップＳ５１）。
【００５０】
管理装置１０は、障害発生通知が送られてこなければ（ステップＳ５１においてＮＯ）、ステップＳ５１の処理を実行する。
【００５１】
管理装置１０は、障害発生通知が送られて来た場合には（ステップＳ５１においてＹＥＳ）、当該障害発生通知に含まれる装置名（ここでは、「ｃ」であったとする。）に対応する情報処理装置４０の制御部４１に、情報処理装置４０内の制御プログラム４２に含まれる各種プログラムモジュールのうちの検証プログラムモジュールを実行し、その実行結果を管理装置１０に報告するよう指示する。
【００５２】
管理装置１０は、サービス提供中リソース状態テーブル１３を参照し、報告された検証プログラムモジュールの実行結果から、情報処理装置４０が保有するリソースのうちで使えなくなったリソース（ここでは、情報処理装置４０の高速ＩＯデバイスが障害により使えなくなったとする。）で動作していた全てのサービスのサービス名（すなわち、図４に示すテーブル１３の高速ＩＯデバイス欄に「１」が登録されているサービスＣ、ＤおよびＧ）を障害リソース情報として取得する障害リソース情報取得処理を実行する（ステップＳ５２）。
【００５３】
次に、管理装置１０は、サービス提供中リソース状態テーブル１３を参照し、取得した障害発生リソース情報が示すサービス名で特定されるサービスの各使用中リソース状態を調べ、障害発生情報処理装置４０以外のすべての情報処理装置（以下、他の情報処理装置とも言う。）の余剰リソースのリソース状態で動作可能な当該情報処理装置を選定する。
【００５４】
管理装置１０は、その選定された当該情報処理装置で障害発生リソース情報が示すサービス名で特定されるサービスを提供する障害発生情報処理装置サービス続行処理を実行する（ステップＳ５３）。
【００５５】
管理装置１０は、全ての他の情報処理装置を調べたか否かを確認し（ステップＳ５４）、全ての他の情報処理装置を調べ終えていなければ（ステップＳ５４においてＮＯ）、次の他の情報処理装置を調べるためにステップＳ５３の処理を繰り返す。
【００５６】
管理装置１０は、全ての他の情報処理装置を調べたら（ステップＳ５４においてＹＥＳ）、ステップＳ５１の処理に戻る。
【００５７】
以上、本実施形態には、ある情報処理装置に障害が発生した場合でも、当該情報処理装置で提供されていたサービスの利用ができるという効果がある。
【００５８】
その理由は、障害により使えなくなったリソースを使って障害発生情報処理装置上で動作していたサービスを動作させることが可能な余剰リソースを有する障害発生情報処理装置以外の情報処理装置にそのサービスを移動させて実行するようにしたからである。
【００５９】
なお、図５に示すフローチャートは、管理装置１０が各情報処理装置の動作状態を監視すると共に制御を行う、例えば監視制御プログラムである。
【００６０】
また、管理装置１０および情報処理装置２０乃至４０のそれぞれは、プログラムの制御に従って動作するマイクロプロセッサ等（図示せず）を用いたコンピュータである。
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。
【００６１】
第２の実施形態は、第１の実施形態と、障害発生情報処理装置における障害により使えなくなったリソース切り離すと共にその障害により使えなくなったリソースを使っていない他の情報処理装置で動作しているサービスを障害発生情報処理装置へ移動して実行する処理を加えた点が異なる。
【００６２】
本実施形態の構成は、図１に示した第１の実施形態の構成と同じであるので、その説明は省略する。また、本実施形態でも図４に示すサービス提供中リソース状態テーブル１３
が使用され、その構成も第１の実施形態と同じであるので、その説明も省略する。
【００６３】
次に、本実施形態の動作について説明する。
【００６４】
図６は、第２の実施形態に係る管理装置１０における処理の流れを示す図である。
【００６５】
管理装置１０は、障害発生情報処理装置から当該障害発生情報処理装置の装置名を含む障害発生通知が送られて来たか否かを確認する（ステップＳ６１）。
【００６６】
管理装置１０は、障害発生通知が送られてこなければ（ステップＳ６１においてＮＯ）、ステップＳ６１の処理を実行する。
【００６７】
管理装置１０は、障害発生通知が送られて来た場合には（ステップＳ６１においてＹＥＳ）、当該障害発生通知に含まれる装置名（ここでは、「ｃ」であったとする。）に対応する情報処理装置４０の制御部４１に、情報処理装置４０内の制御プログラム４２に含まれる各種プログラムモジュールのうちの検証プログラムモジュールを実行し、その実行結果を管理装置１０に報告するよう指示する。
【００６８】
管理装置１０は、サービス提供中リソース状態テーブル１３を参照し、報告された検証プログラムモジュールの実行結果から、情報処理装置４０が保有するリソースのうちで使えなくなったリソース（ここでは、情報処理装置４０の高速ＩＯデバイスが障害により使えなくなったとする。）を切り離す。
【００６９】
それと共に管理装置１０は、その使えなくなったリソースで動作していた全てのサービスのサービス名（すなわち、図４に示すテーブル１３の高速ＩＯデバイス欄に「１」が登録されているサービスＣ、ＤおよびＧ）を障害リソース情報として取得する障害リソース情報取得処理を実行する（ステップＳ６２）。
【００７０】
次に、管理装置１０は、サービス提供中リソース状態テーブル１３を参照し、使えなくなったリソース、すなわち、高速ＩＯデバイスを使っていない、障害発生情報処理装置４０以外の全ての情報処理装置（ここでは、装置名が「ａ」および「ｂ」である情報処理装置２０および３０。以下、他の情報処理装置２０、３０とも言う。）で動作しているサービス（すなわち、図４のサービス提供中リソース状態テーブル１３の高速ＩＯデバイス欄に「０」が登録されているサービスＡ、ＩおよびＨ）を特定する。
【００７１】
管理装置１０は、特定されたサービスＡ、ＩおよびＨの各使用中リソース状態を、サービス提供中リソース状態テーブル１３のサービス名欄の上位の行から順に調べる。
【００７２】
管理装置１０は、特定されたサービスをテーブル１３のサービス名欄の上位の行から順に調べた結果、サービスＡ、ＩおよびＨのうち、障害発生情報処理装置４０の余剰行に示す各使用中リソース状態欄における全てのリソース状態を満足して動作可能な他の情報処理装置２０、３０の何れのサービスを、障害発生情報処理装置４０が引き取ることができるかを確認する。
【００７３】
ここで、上述した障害発生情報処理装置４０の余剰行に示す各使用中リソース状態欄における全てのリソース状態を満足して動作可能な他の情報処理装置２０、３０のサービスの特定方法の一例を以下に説明する。
【００７４】
管理装置１０は、テーブル１３に示すように、特定されたサービスのうち上位の行にある、サービスＡから、まず、調べる。
【００７５】
テーブル１３を参照すると、各使用中リソース状態欄の「ＣＰＵコア」、「メモリ容量」、「高速ＩＯデバイス」、「ＵＳＢインタフェース」の各欄の順に（以下、同様）、サービスＡの行は、「２個」、「５ＧＢ」、「０」、「０」であるのに対して、障害発生情報処理装置４０の余剰行は、「２個」、「３ＧＢ」、「サポート可能」、「サポート可能」である。
【００７６】
なお、各使用中リソース状態は、単に各リソース状態と呼ぶ場合がある。
【００７７】
障害発生情報処理装置４０は、余剰行のリソース状態とサービスＡのリソース状態とを比べ、各リソース状態のうちのサービスＡのメモリ容量が超過するため、そのサービスＡを引き取ることができないと判断する。
【００７８】
次に、管理装置１０は、サービスＩを調べる。サービスＩの行は、「１個」、「１ＧＢ」、「０」、「０」であり、障害発生情報処理装置４０の余剰行は、上述したように「２個」、「３ＧＢ」、「サポート可能」、「サポート可能」であるので、各リソース状態を全て満足するため、障害発生情報処理装置４０は、サービスＩを引き取ることができると判断し、そのサービスＩを引き取る。
【００７９】
このとき、管理装置１０は、障害発生情報処理装置４０の余剰行の現在の各リソース状態の数値から、上述したサービスＩのリソース状態の数値を差し引く。その結果、障害発生情報処理装置４０の余剰行は、「１個」、「２ＧＢ」、「サポート可能」、「サポート可能」に更新される(図４には図示せず)。
【００８０】
管理装置１０は、続いてサービスＨを調べる。サービスＨの行は、「１個」、「１ＧＢ」、「０」、「０」であり、障害発生情報処理装置４０の更新された余剰行は、上述したように「１個」、「２ＧＢ」、「サポート可能」、「サポート可能」となっている。
【００８１】
従って、管理装置１０は、各リソース状態を全て満足するため、障害発生情報処理装置４０は、サービスＨを引き取ることができると判断し、そのサービスＨを引き取る。
【００８２】
このとき、管理装置１０は、障害発生情報処理装置４０の余剰行の現在の各リソース状態の数値から、上述したサービスＨのリソース状態の数値を差し引く。その結果、障害発生情報処理装置４０の余剰行は、「０個」、「１ＧＢ」、「サポート可能」、「サポート可能」に更新される(図４には図示せず)。
【００８３】
また、管理装置１０は、サービスＩが情報処理装置２０から障害発生情報処理装置４０に引き取られたことにより情報処理装置２０で余った分の１個のＣＰＵコア数、１ＧＢのメモリ容量を加えて情報処理装置２０の余剰行を、「５個」、「９ＧＢ」、「サポート可能」、「サポート可能」に更新する(図４には図示せず)。
【００８４】
同様に、管理装置１０は、サービスＨが情報処理装置３０から障害発生情報処理装置４０に引き取られたことにより情報処理装置３０で余った分の１個のＣＰＵコア数、１ＧＢのメモリ容量を加えて情報処理装置３０の余剰行を、「６個」、「１１ＧＢ」、「サポート可能」、「サポート可能」に更新する(図４には図示せず)。
【００８５】
こうして、管理装置１０は、引き取れるサービスＩおよびＨを続行可能サービスとして障害発生情報処理装置４０へ移動すると共に当該障害発生情報処理装置４０上でその続行可能サービスを提供する障害発生情報処理装置サービス続行処理を実行する（ステップＳ６３）。
【００８６】
次に、管理装置１０は、ステップＳ６２で取得した、障害リソース情報が示す高速ＩＯデバイスを使って障害発生情報処理装置４０上で動作していた全てのサービス名（すなわち、図４に示すテーブル１３の高速ＩＯデバイス欄に「１」が登録されているサービスＣ、ＤおよびＧ）で特定されるサービスの各使用中リソース状態を、テーブル１３のサービス名欄の上位の行から順に調べる。
【００８７】
管理装置１０は、障害発生情報処理装置４０上で高速ＩＯデバイスを使って動作していたサービスＣ、ＤおよびＧのうち、全ての他の情報処理装置（つまり、他の情報処理装置２０または３０）の余剰行の使用中リソース状態欄における全てのリソース状態を満足して動作可能な何れかのサービスを引き取ることができる他の情報処理装置を装置２０、３０の順に確認し、そのサービスを引き取ることができる装置を選定する。
【００８８】
管理装置１０は、選定された当該他の情報処理装置２０または３０が引き取れるサービスを引き取り可能サービスとして当該他の情報処理装置２０または３０へ移動すると共に当該装置２０または３０上でその引き取り可能サービスを提供する引き取り可能サービス実行処理を実行する（ステップＳ６４）。
【００８９】
ここで、上述した他の情報処理装置２０および３０の余剰行に示す各使用中リソース状態欄における全てのリソース状態を満足して動作可能な障害発生情報処理装置４０におけるサービスの特定方法の一例を以下に説明する。
【００９０】
管理装置１０は、テーブル１３に示すように、特定されたサービスのうちの上位の行にある、サービスＣから、まず、調べる。
【００９１】
テーブル１３を参照すると、各使用中リソース状態欄の「ＣＰＵコア」、「メモリ容量」、「高速ＩＯデバイス」、「ＵＳＢインタフェース」の各欄の順に（以下、同様）、サービスＣの行は、「２個」、「３ＧＢ」、「１」、「１」であるのに対して、情報処理装置２０の更新された余剰行は、「４個」、「８ＧＢ」、「サポート可能」、「サポート可能」である。
【００９２】
管理装置１０は、情報処理装置２０の更新された余剰行の各リソース状態が、サービスＣの各リソース状態を全て満足するため、情報処理装置２０は、サービスＣを引き取ることができると判断し、そのサービスＣを引き取る。
【００９３】
このとき、管理装置１０は、情報処理装置２０の更新された余剰行の各リソース状態の数値から、上述したサービスＣのリソース状態の数値を差し引く。その結果、情報処理装置２０の余剰行は、「４個」、「８ＧＢ」、「サポート可能」、「サポート可能」に更新される(図４には図示せず)。
【００９４】
管理装置１０は、続いてサービスＤを調べる。サービスＤの行は、「２個」、「４ＧＢ」、「１」、「１」であり、情報処理装置２０の更新された余剰行は、「４個」、「８ＧＢ」、「サポート可能」、「サポート可能」となっているので、各リソース状態を全て満足するため、情報処理装置２０は、サービスＤを引き取ることができると判断し、そのサービスＤを引き取る。
【００９５】
このとき、管理装置１０は、情報処理装置２０の更新された余剰行の各リソース状態の数値から、上述したサービスＤのリソース状態の数値を差し引く。その結果、情報処理装置２０の余剰行は、「２個」、「４ＧＢ」、「サポート可能」、「サポート可能」に更新される(図４には図示せず)。
【００９６】
さらに、管理装置１０は、サービスＧを調べる。サービスＧの行は、「２個」、「６ＧＢ」、「１」、「１」であり、上述した更新された情報処理装置２０の余剰行の、「２個」、「４ＧＢ」、「サポート可能」、「サポート可能」を満足しないので、情報処理装置２０はサービスＧまでは引き取れないことが判る。
【００９７】
管理装置１０は、全ての他の情報処理装置を調べたか否かを確認し（ステップＳ６５）、全ての他の情報処理装置を調べ終えていなければ（ステップＳ６５においてＮＯ）、次の他の情報処理装置（ここでは、他の情報処理装置３０となる。）を調べるためにステップＳ６４の処理を繰り返す。
【００９８】
管理装置１０は、サービスＧの行が、「２個」、「６ＧＢ」、「１」、「１」であり、情報処理装置３０の更新された余剰行は、「５個」、「１０ＧＢ」、「サポート可能」、「サポート可能」となっているので、各リソース状態を全て満足するため、情報処理装置３０は、サービスＧを引き取ることができると判断し、そのサービスＤを引き取る。
【００９９】
管理装置１０は、全ての他の情報処理装置を調べたら（ステップＳ６５においてＹＥＳ）、ステップＳ６１の処理に戻る。
【０１００】
以上、本実施形態には、ある情報処理装置に障害が発生した場合でも、当該情報処理装置で提供されていたサービスの利用ができるという効果がある。
【０１０１】
その理由は、障害発生情報処理装置における障害により使えなくなったリソースを使っていない他の情報処理装置上で動作しているサービスを障害発生情報処理装置に移動して実行すると共に、障害発生情報処理装置上で動作していたサービスを、そのサービスを動作させることが可能なリソースを有する障害発生情報処理装置以外の他の情報処理装置に移動して実行するようにしたからである。
【０１０２】
なお、図６に示すフローチャートは、管理装置１０が各情報処理装置の動作状態を監視すると共に制御を行う、例えば監視制御プログラムである。
【０１０３】
また、管理装置１０および情報処理装置２０乃至４０のそれぞれは、プログラムの制御に従って動作するマイクロプロセッサ等（図示せず）を用いたコンピュータである。
【０１０４】
また、制御プログラム２２、３２および４２は、ＢＩＯＳ（「Ｂａｓｉｃ＿Ｉｎｐｕｔ＿Ｏｕｔｐｕｔ＿Ｓｙｓｔｅｍ」）プログラムであってもよい。
【符号の説明】
【０１０５】
１    サービス提供システム
１０    管理装置
１１    記憶部
１２    必要リソース状態テーブル
１３    サービス提供中リソース状態テーブル
２０    情報処理装置
２１    制御部
２２    制御プログラム
３０    情報処理装置
３１    制御部
３２    制御プログラム
４０    情報処理装置
４１    制御部
４２    制御プログラム
【図１】
0006398641.tif 000002
【図２】
0006398641.tif 000003
【図３】
0006398641.tif 000004
【図４】
0006398641.tif 000005
【図５】
0006398641.tif 000006
【図６】
0006398641.tif 000007