(57)【特許請求の範囲】
【請求項１】
リソースにより処理を実行する複数の情報処理システムから、予備リソースの量を算出するための情報を受信する受信部と、
前記受信部が受信した情報に基づき、前記複数の情報処理システム各々が利用する予備リソースの上限値を算出する第１の算出部と、
前記受信部が受信した情報に基づき、前記複数の情報処理システム全体を一つのシステムとした場合に当該システムが利用する予備リソースの総量を算出する第２の算出部と、
前記複数の情報処理システムのうち１の情報処理システムから予備リソースの割り当てを要求する割当要求を受信し、当該割当要求に含まれる要求量と、当該割当要求の受信までに前記１の情報処理システムが使用した予備リソースの利用量との合計と、前記上限値との比較結果に基づき、予備リソースを前記１の情報処理システムに割り当てる判定部と、
前記判定部により割り当てられた予備リソースの量を前記１の情報処理システムに通知する通知部と、
を備える予備リソース提供装置。
【請求項２】
前記受信部は、前記複数の情報処理システムのそれぞれから各々の故障特性を表す情報を受信し、
前記第２の算出部は、前記受信部が前記複数の情報処理システムのそれぞれから受信した各々の故障特性を表す情報を用いて前記複数の情報処理システム各々の故障率の発生確率を示す故障関数を生成し、複数の故障関数を畳み込み演算により合成することにより、前記予備リソースの総量を算出することを特徴とする請求項１に記載の予備リソース提供装置。
【請求項３】
前記判定部は、前記要求量と前記利用量との合計が前記上限値以下であると判定した場合、前記要求量の予備リソースを前記１の情報処理システムに割り当て、前記要求量と前記利用量との合計が前記上限値より大きいと判定した場合、前記上限値から前記利用量を減算した分の予備リソースを前記１の情報処理システムに割り当てることを特徴とする請求項１または２に記載の予備リソース提供装置。
【請求項４】
前記受信部は、前記複数の情報処理システム各々が有するリソース、前記複数の情報処理システム各々において発生する可能性のある故障の故障モデルおよび平均故障率を含む故障特性、前記複数の情報処理システム各々に求められる信頼度の目標値のうちいずれか一つまたは複数の情報を受信することを特徴とする請求項１から３のいずれか１項に記載の予備リソース提供装置。
【請求項５】
前記１の情報処理システムに割り当てた予備リソース量を記憶する記憶部をさらに備え、前記１の情報処理システムの前記割当要求に応じて予備リソースが新たに割り当てられた場合、新たに割り当てられた予備リソース量を反映するよう前記記憶部を更新することを特徴とする請求項１から４のいずれか１項に記載の予備リソース提供装置。
【請求項６】
リソースにより処理を実行する複数の情報処理システムから、予備リソースの量を算出するための情報を受信する受信工程と、
前記受信工程において受信した情報に基づき、前記複数の情報処理システム各々が利用する予備リソースの上限値を算出する第１の算出工程と、
前記受信工程において受信した情報に基づき、前記複数の情報処理システム全体を一つのシステムとした場合に当該システムが利用する予備リソースの総量を算出する第２の算出工程と、
前記複数の情報処理システムのうち１の情報処理システムから予備リソースの割り当てを要求する割当要求を受信し、当該割当要求に含まれる要求量と、当該割当要求の受信までに前記１の情報処理システムが使用した予備リソースの利用量との合計と、前記上限値との比較結果に基づき、予備リソースを前記１の情報処理システムに割り当てる判定工程と、
前記判定工程により割り当てられた予備リソースの量を前記１の情報処理システムに通知する通知工程と、
を含む、予備リソース提供装置によって実行される予備リソース提供方法。
【請求項７】
リソースにより処理を実行する複数の情報処理システムから、予備リソースの量を算出するための情報を受信する受信手順と、
前記受信手順において受信した情報に基づき、前記複数の情報処理システム各々が利用する予備リソースの上限値を算出する第１の算出手順と、
前記受信手順において受信した情報に基づき、前記複数の情報処理システム全体を一つのシステムとした場合に当該システムが利用する予備リソースの総量を算出する第２の算出手順と、
前記複数の情報処理システムのうち１の情報処理システムから予備リソースの割り当てを要求する割当要求を受信し、当該割当要求に含まれる要求量と、当該割当要求の受信までに前記１の情報処理システムが使用した予備リソースの利用量との合計と、前記上限値との比較結果に基づき、予備リソースを前記１の情報処理システムに割り当てる判定手順と、
前記判定手順により割り当てられた予備リソースの量を前記１の情報処理システムに通知する通知手順と、
を含む各処理をコンピュータに実行させることを特徴とする予備リソース提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予備リソース提供装置、予備リソース提供方法および予備リソース提供プログラムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングに代表されるように、ネットワークを経由してリソースを利用したサービスを提供する情報処理システムの普及が進んでいる。
【０００３】
情報処理システムが利用するリソースが故障すると、提供するサービスの品質が低下する。そこで、故障に対する情報処理システムの耐性を高め信頼性を向上させるために、予め予備リソースを準備しておき、故障時には故障したリソースから予備リソースに切り替えて使用する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Dong  Seong  Kim,  Fumio  Machida,  Kishor  S.  Trivedi,  “Availability  Modeling  and  Analysis  of  a  Virtualized  System”,  15th  IEEE  Pacific  Rim  International  Symposium  on  Dependable  Computing−PRDC,  pp.  365-371,  2009
【非特許文献２】Ramendra  K.  Sahoo,  Anand  Sivasubramaniam,  Mark  S.  Squillante,  Yanyong  Zhang,  “Failure  Data  Analysis  of  a  Large-Scale  Heterogeneous  Server  Environment”,  Proceedings  of  the  2004  International  Conference  on  Dependable  Systems  and  Networks,  28  June−1  July  2004
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、情報処理システムの高い信頼性を確保するためには、おこりうる故障の全てに対処できるだけの予備リソースを準備することになる。したがって、要求される信頼度が高くなるほど、準備する予備リソースの量も増加する。
【０００６】
たとえば、要求される信頼度を数値１０から１で表し、数値が大きいほど要求される信頼度が厳しいとする。そして、１０台のサーバを備える情報処理システムにおいて、信頼度１０から１を達成する場合に準備する予備リソースの量を考える。たとえば、信頼度１０では、すべての故障に直ちに対処して処理を継続しなければならないとする。この場合、全てのサーバに対して予備サーバを準備する。すなわち、１０台の予備サーバを準備する。他方、信頼度１では、１０の故障のうち１だけ直ちに対処し、他の故障については順次対処すればよいとする。この場合、１台の予備サーバを準備しておければよい。
【０００７】
このように、情報処理システム各々が、故障に対する高い信頼性を確保するために予備リソースを準備する場合、信頼性の基準を厳しくするほど予備リソース量が増大し、それに伴ってコストが増大する。
【０００８】
本発明は、上記に鑑みてなされたものであって、より少ない予備リソース量で高い信頼性を実現することができる予備リソース提供装置、予備リソース提供方法および予備リソース提供プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明の１実施形態に係る予備リソース提供装置は、リソースにより処理を実行する複数の情報処理システムから、予備リソースの量を算出するための情報を受信する。さらに、予備リソース提供装置は、受信した情報に基づき、複数の情報処理システム各々が利用する予備リソースの上限値を算出する。そして、予備リソース提供装置は、受信した情報に基づき、複数の情報処理システム全体を一つのシステムとした場合に当該システムが利用する予備リソースの総量を算出する。さらに、予備リソース提供装置は、複数の情報処理システムのうち１の情報処理システムから予備リソースの割り当てを要求する割当要求を受信する。予備リソース提供装置は、当該割当要求に含まれる要求量と、当該割当要求の受信までに１の情報処理システムが使用した予備リソースの利用量との合計と、上限値とを比較する。予備リソース提供装置は、比較結果に基づき、予備リソースを１の情報処理システムに割り当てる。予備リソース提供装置は、割り当てられた予備リソースの量を１の情報処理システムに通知する。
【発明の効果】
【００１０】
本発明にかかる予備リソース提供装置、予備リソース提供方法および予備リソース提供プログラムは、より少ない予備リソース量で高い信頼性を実現することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、第１の実施形態に係る予備リソース提供装置の構成の一例を示す図である。
【図２】図２は、複数の情報処理システムを一つの情報処理システムとみなして予備リソース量を決定する場合のスケールメリットについて説明するための図である。
【図３Ａ】図３Ａは、第１の実施形態に係る管理情報記憶部に格納する情報の一例について説明するための図である。
【図３Ｂ】図３Ｂは、第１の実施形態に係る割当情報記憶部に格納する情報の一例について説明するための図である。
【図３Ｃ】図３Ｃは、第１の実施形態に係る運用情報記憶部に格納する情報の一例について説明するための図である。
【図４】図４は、第１の実施形態に係る予備リソース提供方法の処理の流れの一例を示す図である。
【図５】図５は、第１の実施形態をインタークラウドシステムに適用した例を示す図である。
【図６】図６は、予備リソース提供装置による一連の処理を実行するプログラムである予備リソース提供プログラムによる情報処理が、コンピュータを用いて具体的に実現されることを示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかる予備リソース提供装置、予備リソース提供方法および予備リソース提供プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００１３】
［第１の実施形態］
第１の実施形態に係る予備リソース提供装置は、複数の情報処理システムにおいて故障が発生した場合に、当該情報処理システムに対して予備リソースを提供する。情報処理システム各々は、提供される予備リソースを使用して所定の信頼性を確保しつつ処理を継続することができる。
【００１４】
第１の実施形態に係る予備リソース提供装置は、複数の情報処理システムをひとまとまりのシステムとみなして予備リソースを提供する。すなわち、第１の実施形態に係る予備リソース提供装置は、複数の情報処理システムを一つのシステムとみなすことで、スケールメリットを利用して予備リソース量を低減する。スケールメリットとは、複数の情報処理システムに課される信頼性条件が同じ場合であっても、複数の情報処理システムを全体として一つのシステムとみなすことで、準備する予備リソースの量を低減することができるという利点である。
【００１５】
第１の実施形態に係る予備リソース提供装置は、複数の情報処理システムを一つのシステムとみなした場合にシステム全体として必要な予備リソースの量（以下、単に予備リソース総量とも称する。）を算出する。また、予備リソース提供装置は、各情報処理システムから受信した当該情報処理システムにおいて発生する故障等に関する情報に基づき、各情報処理システムに提供する予備リソースの上限値（以下、単に上限値とも称する。）を算出する。そして、予備リソース提供装置は、各情報処理システムから予備リソースの要求を受信すると、要求されたリソースの量（以下、単に要求量とも称する。）と、予め算出した上限値と、既に情報処理システムが利用している予備リソース量（以下、利用量とも称する。）と、に基づき、提供する予備リソースの量を決定する。
【００１６】
［予備リソース提供装置１００の構成の一例］
図１は、第１の実施形態に係る予備リソース提供装置１００の構成の一例を示す図である。予備リソース提供装置１００は、複数の情報処理システム２００Ａ，２００Ｂ，２００Ｃと、ネットワーク３００を介して通信可能に接続される。また、予備リソース提供装置１００は、リソース４００を予備リソースとして管理する。リソース４００は、ネットワーク３００を介して情報処理システム２００Ａ，２００Ｂ，２００Ｃと接続される。なお、図１には、３つの情報処理システム２００Ａ，２００Ｂ，２００Ｃを示すが、予備リソース提供装置１００に接続される情報処理システムの数は３つに限定されない。
【００１７】
予備リソース提供装置１００は、リソース４００を管理し、複数の情報処理システム２００Ａ，２００Ｂ，２００Ｃからの要求に応じてリソース４００を予備リソースとして提供する。たとえば、予備リソース提供装置１００は、サーバ、記憶装置、ネットワーク等複数のリソースを管理し、外部からの要求に応じてリソースを提供するインタークラウドサーバである。
【００１８】
情報処理システム２００Ａ，２００Ｂ，２００Ｃはそれぞれ、所定の情報処理を実行するシステムである。たとえば、情報処理システム２００Ａ，２００Ｂ，２００Ｃは、インタークラウドシステムを利用してアプリケーションサービスを提供するアプリケーションサービスプロバイダー（ASP:  Application  Service  Provider）のシステムである。またたとえば、情報処理システム２００Ａ，２００Ｂ，２００Ｃは、ＳａａＳ（Software  as  a  Service）、ＩａａＳ（Infrastructure  as  a  Service）、ＨａａＳ（Hardware  as  a  Service）提供業者が運用するシステムなどである。また、情報処理システム２００Ａ，２００Ｂ，２００Ｃは、個人が構築したシステムであって、予備リソース提供装置１００から予備リソースの提供を受けて、処理を実行するシステムであってもよい。
【００１９】
ネットワーク３００は、予備リソース提供装置１００と、情報処理システム２００Ａ，２００Ｂ，２００Ｃと、リソース４００とを通信可能に接続する。ネットワーク３００はたとえば、ワイドエリアネットワーク（WAN:  Wide  Area  Network）や、ローカルエリアネットワーク（LAN:  Local  Area  Network）など任意のネットワークである。なお、予備リソース提供装置１００とリソース４００とを接続するネットワークと、情報処理システム２００Ａ，２００Ｂ，２００Ｃと予備リソース提供装置１００およびリソース４００とを接続するネットワークは別のネットワークであってもよい。
【００２０】
リソース４００は、サーバ、記憶装置、ルータ等、情報処理に使用する装置等である。リソース４００は、データセンタ等であってもよく、予備リソース提供装置１００は、複数のデータセンタをネットワークを介して管理してもよい。
【００２１】
［予備リソース提供装置１００の構成の詳細］
予備リソース提供装置１００は、制御部１１０と記憶部１２０とを備える。制御部１１０は、予備リソース提供装置１００における処理を制御する。記憶部１２０は、予備リソース提供装置１００における処理に使用する情報や、予備リソース提供装置１００における処理によって生成される情報を記憶する。
【００２２】
制御部１１０は、受信部１１１と、算出部１１２と、判定部１１３と、通知部１１４とを有する。
【００２３】
受信部１１１は、情報処理システム２００Ａ，２００Ｂ，２００Ｃの各々から、予備リソースの提供に係る情報を受信する。たとえば、受信部１１１は、情報処理システム２００Ａ，２００Ｂ，２００Ｃから、予備リソース提供装置１００が各システムに提供する予備リソースの上限値を決定するための情報を受信する。また、受信部１１１は、情報処理システム２００Ａ，２００Ｂ，２００Ｃへ予備リソースを提供するために必要な予備リソースの総量を決定するための情報を受信する。
【００２４】
たとえば、受信部１１１は、情報処理システム２００Ａ，２００Ｂ，２００Ｃから各々が有するリソースについての情報、たとえばリソース数を受信する。また、受信部１１１は、たとえば、情報処理システム２００Ａ，２００Ｂ，２００Ｃから各々の故障特性を表す情報を受信する。また、受信部１１１は、たとえば、情報処理システム２００Ａ，２００Ｂ，２００Ｃの信頼性目標を表す情報を受信する。たとえば、受信部１１１は、情報処理システム２００Ａ，２００Ｂ，２００Ｃから故障モデル、規模、平均故障率、要求信頼性等の情報を受信する。
【００２５】
故障モデルとは、情報処理システム２００Ａ，２００Ｂ，２００Ｃにおいて発生する可能性がある故障を想定して単純化したモデルである。たとえば部品間の異常や、環境要因によって発生する異常など、情報処理システム２００Ａ，２００Ｂ，２００Ｃにおいて発生する可能性がある故障をモデル化したものである。また、時間枠に応じて故障率も変動するが、故障モデルまたは故障関数は、各故障率が現れる確率を表す。たとえば、故障率「０．２」が現れる確率は「０．１」である、という場合には、１０個の時間枠中に０．２の割合でサーバが故障する事象は１０×０．１＝１回で発生する。
【００２６】
規模とは、情報処理システム２００Ａ，２００Ｂ，２００Ｃが備えるリソース等の数や性能、記憶容量などの情報である。たとえば、規模とは、情報処理システム２００Ａは、１０台のサーバを備え、各サーバが４ＧＢのメモリを有し、４コアのＣＰＵ（Central  Processing  Unit）を搭載する等の情報である。
【００２７】
平均故障率とは、所定時間あたりの故障発生件数の平均値であり、たとえば、１時間あたりの故障の発生件数を平均したものである。故障率は、情報処理システム２００Ａ，２００Ｂ，２００Ｃにおいて故障が発生する確率を示す。
【００２８】
要求信頼性とは、情報処理システム２００Ａ，２００Ｂ，２００Ｃに求められる信頼度である。信頼度とは、単位時間内にシステムや装置が動作している確率を指す。また、要求信頼性は、サービスレベルアグリーメント（SLA:  Service  Level  Agreement）であってもよい。サービスレベルアグリーメントとは、サービス提供者とサービス委託者との間で決定されるサービスの内容、範囲、品質の要求水準を定めたものである。第１の実施形態では、予備リソース提供装置１００と情報処理システム２００Ａ，２００Ｂ，２００Ｃとの間で定めた信頼性の条件であってもよい。
【００２９】
受信部１１１が受信した情報は、記憶部１２０が有する管理情報記憶部１２１に記憶される。記憶部１２０の詳細については後述する。
【００３０】
算出部１１２は、受信部１１１が受信した情報に基づき、情報処理システム２００Ａ，２００Ｂ，２００Ｃ各々に提供する予備リソースの上限値を算出する。すなわち、算出部１１２は、受信部１１１が受信した情報に基づき、情報処理システム２００Ａ，２００Ｂ，２００Ｃにおいて故障が発生した場合であっても所定の品質の処理を実行することを可能にする予備リソースの上限量を算出する。このとき、算出部１１２は、情報処理システム２００Ａ，２００Ｂ，２００Ｃ全体を一つのシステムとみなした場合のスケールメリットは考慮せずに、各情報処理システム２００Ａ，２００Ｂ，２００Ｃに割り当てる予備リソースの上限値を算出する。
【００３１】
第１の実施形態では、算出部１１２は、一日を所定の時間枠に分割し、各時間枠について予備リソースの上限量を算出する。ただし、算出部１１２は、一日あたりの上限量、数日あたりの上限量等を算出するものとしてもよいし、各時間枠に同じ上限量を割り当てるものとしてもよい。
【００３２】
算出部１１２はまた、予備リソース提供装置１００による予備リソースの提供を受ける全ての情報処理システム２００Ａ，２００Ｂ，２００Ｃをまとめて一つの情報処理システムとみなした場合に必要な予備リソースの総量を算出する。
【００３３】
たとえば、算出部１１２は、各々の情報処理システムについて、故障モデル、故障率、規模で故障関数を構成する。そして、算出部１１２は、情報処理システム２００Ａ，２００Ｂ，２００Ｃを一つのシステムとみなした場合の故障関数を畳み込み演算によって合成する。また、算出部１１２は、複数の情報処理システム２００Ａ，２００Ｂ，２００Ｃの要求信頼度を、各々の規模と各々の信頼性目標を用いて、一つの信頼性の値として合成する。その後、算出部１１２は、合成された故障関数と要求信頼性を用いて、全体としての予備リソースの総量を算出する。
【００３４】
畳み込み演算は一般に知られている手法で行う。たとえば、１台のサーバが故障する確率が０．３の情報処理システムＡと、１台のサーバが故障する確率が０．４の情報処理システムＢとについて、故障関数を合成する場合を考える。この場合、同時にサーバ２台、すなわち、情報処理システムＡのサーバ１台と情報処理システムＢのサーバ１台とが故障する確率は、０．３×０．４＝０．１２となる。
【００３５】
情報処理システム２００Ａ，２００Ｂ，２００Ｃをまとめて一つの情報処理システムとみなした場合には、スケールメリットを利用できる。このため、全体を一つの情報処理システムとみなした場合に必要な予備リソースの総量は、各情報処理システム２００Ａ，２００Ｂ，２００Ｃそれぞれを別個のシステムとみなした場合に必要な予備リソースの量を合算したものではない。
【００３６】
複数の情報処理システムを一つの情報処理システムとみなした場合のスケールメリットについて、図２を参照して説明する。図２は、複数の情報処理システムを一つの情報処理システムとみなして予備リソース量を決定する場合のスケールメリットについて説明するための図である。
【００３７】
図２中、横軸に予め設定される時間枠を示し、縦軸に、各時間枠内に発生した情報処理システム２００Ａ，２００Ｂ，２００Ｃにおける故障の故障率を示す。図２では、１時間の時間枠を設定し、１時間ごとの故障率を示している。図２に示すように、時間枠「１」における情報処理システム２００Ａの故障率は、約０．０２であるが、情報処理システム２００Ｂの故障率は０．１である。また、時間枠「１４」における情報処理システム２００Ｃの故障率は約０．２であるが、情報処理システム２００Ａの故障率は、約０．０１である。
【００３８】
図２の場合に、各情報処理システム２００Ａ，２００Ｂ，２００Ｃを独立のシステムとみなして予備リソース量を算出する。情報処理システム２００Ａは、時間枠「１１」において故障率が最大値０．１となっている。つまり、情報処理システム２００Ａが２０台のサーバを有する場合、同時に２台のサーバが故障する可能性がある。したがって情報処理システム２００Ａに故障が生じた場合に安定した動作を継続するためには、予備サーバ２台が必要である。
【００３９】
また、情報処理システム２００Ｂは、時間枠「３」において故障率が最大値０．２となっている。つまり、情報処理システム２００Ｂが２０台のサーバを有する場合、同時に４台のサーバが故障する可能性がある。したがって、情報処理システム２００Ｂに故障が生じた場合に安定した動作を継続するためには、予備サーバ４台が必要である。
【００４０】
さらに、情報処理システム２００Ｃは、時間枠「１４」および「２３」において故障率が最大値０．２となっている。つまり、情報処理システム２００Ｃが２０台のサーバを有する場合、同時に４台のサーバが故障する可能性がある。したがって、情報処理システム２００Ｃに故障が生じた場合に安定した動作を継続するためには、予備サーバ４台が必要である。
【００４１】
つまり、情報処理システム２００Ａ，２００Ｂ，２００Ｃをそれぞれ独立のシステムとみなして、それぞれに対応する予備サーバを準備する場合、全部で１０台の予備サーバが必要となる。
【００４２】
しかし、情報処理システム２００Ａ，２００Ｂ，２００Ｃを全体として一つの情報処理システムとみなした場合には、情報処理システム数の増加により、同一時間枠の故障数のサンプル数が大きくなり、大数の法則と中心極限定理により、同一時間枠における全体の故障数の合計値はばらつきが小さく、全体の故障数の平均値に近づき、個々の情報処理システムのそれぞれの故障数の変動より安定しているといえる。
【００４３】
言い換えると、情報処理システム２００Ａ，２００Ｂ，２００Ｃは同時に最大故障率で発生する確率が小さく、図２のように対象となる時間枠内、同時に１０台故障することがない。この確率は無視できる程度であれば、全体として、各情報処理システムの最大故障率の合計値より少ない数で予備サーバを準備することが許容され、それぞれの情報処理システムに対して別個に予備リソースを準備する場合と比較して準備する予備リソース量を低減できる。
【００４４】
このように、情報処理システム２００Ａ，２００Ｂ，２００Ｃを全体として一つの情報処理システムとみなすと、故障台数の変動が平準化され、個々のシステムの故障台数の変動の影響を小さくすることができる。このようにスケールメリットを利用すれば、全体として準備する予備リソースの量を低減することができる。
【００４５】
なお、図２では、例示を容易にするため故障率を通常より高く設定した。実際のシステムにおける故障率は通常図示した値よりも低くなる。
【００４６】
算出部１１２は、上記のように情報処理システム２００Ａ，２００Ｂ，２００Ｃを一つのシステムとみなしてスケールメリットを利用し、システム全体に提供する予備リソースの総量を算出する。
【００４７】
このように、スケールメリットを利用する場合、連携させる情報処理システムの数、すなわち、一つのシステムとみなされる情報処理システムの数が増えれば増えるほど、全体の予備リソース削減効果が高まる。したがって、スケールメリットによる効果を最大にするためには、より多くの情報処理システムを連携させることが望ましい。
【００４８】
しかしながら、たとえば、予備リソース提供装置１００は、多数の情報処理システムに予備リソースを提供する場合、適宜複数の情報処理システムを組み合わせて複数のグループを構成し、各グループを一つのシステムとみなしてもよい。そして、予備リソース提供装置１００は、一つのグループに割り当てる予備リソースの総量を低減できるように組み合わせる情報処理システムを調整してもよい。それによって、必要な予備リソース量をさらに低減することができる。この場合は、算出部１１２は、情報処理システムの組み合わせを算出する処理も実行する。
【００４９】
算出部１１２が算出した予備リソース総量は、記憶部１２０が有する割当情報記憶部１２２に格納する。また、算出部１１２が算出した上限値は、記憶部１２０が有する運用情報記憶部１２３に格納する。割当情報記憶部１２２および運用情報記憶部１２３についても後述する。
【００５０】
判定部１１３は、各情報処理システム２００Ａ，２００Ｂ，２００Ｃの運用中に故障が発生した場合等に、各情報処理システム２００Ａ，２００Ｂ，２００Ｃから予備リソースの要求を受信する。すなわち、判定部１１３は、予備リソースの要求量ＱＲを受信する。そして、判定部１１３は、要求量ＱＲに対応する時間枠において、要求を送信した情報処理システムが既に使用している予備リソース量（利用量ＱＵ）を運用情報記憶部１２３から読み出す。判定部１１３は、利用量ＱＵと要求量ＱＲとを合算する。そして、判定部１１３は、利用量ＱＵと要求量ＱＲとの合計と、算出部１１２が算出した上限値ＱＬとを比較する。
【００５１】
判定部１１３は、利用量ＱＵと要求量ＱＲとの合計が上限値ＱＬを超える場合は、上限値ＱＬから利用量ＱＵを減算した量を限度として、予備リソースを割り当てる。判定部１１３は、利用量ＱＵと要求量ＱＲとの合計が上限値以下の場合は、要求量ＱＲの予備リソースを割り当てる。そして、判定部１１３は、運用情報記憶部１２３に格納されている利用量ＱＵを更新する。
【００５２】
通知部１１４は、情報処理システム２００Ａ，２００Ｂ，２００Ｃの予備リソース要求への応答として、割り当てたリソース量を通知する。
【００５３】
次に、図３Ａ乃至図３Ｃを参照して記憶部１２０に格納する情報について説明する。図３Ａは、第１の実施形態に係る管理情報記憶部１２１に格納する情報の一例について説明するための図である。図３Ｂは、第１の実施形態に係る割当情報記憶部１２２に格納する情報の一例について説明するための図である。図３Ｃは、第１の実施形態に係る運用情報記憶部１２３に格納する情報の一例について説明するための図である。
【００５４】
記憶部１２０は、管理情報記憶部１２１と、割当情報記憶部１２２と、運用情報記憶部１２３とを有する。
【００５５】
管理情報記憶部１２１は、受信部１１１が受信する各情報処理システム２００Ａ，２００Ｂ，２００Ｃの情報を格納する。たとえば、図３Ａに示すように、管理情報記憶部１２１は、各情報処理システム２００Ａ，２００Ｂ，２００Ｃのリソース、ここではサーバについての情報を記憶する。図３Ａの例では、情報処理システム２００Ａについて、情報処理システム２００Ａを一意に識別する対象システムＩＤ（Identifier）「２００Ａ」に対応付けてリソース情報が格納されている。図３Ａの例では、情報処理システム２００Ａが、サーバを１０台備え記憶容量は６ＧＢであることが示されている。このほか、図示しないが、管理情報記憶部１２１は、受信部１１１が受信した故障モデル等の他の情報も格納する。
【００５６】
割当情報記憶部１２２は、算出部１１２が算出した予備リソース総量を格納する。たとえば、予備リソース提供装置１００が情報処理システムを複数のグループに分けてそれぞれを一つのシステムとみなした場合は、各グループの予備リソース総量を格納する。図３Ｂの例では、情報処理システム２００Ａ，２００Ｂ，２００Ｃを全体として一つのシステムとみなしている。そして、図３Ｂの例では、システムを一意に識別するシステムＩＤ（Identifier）「Ｓ０１」に対応付けて、各情報処理システムのＩＤ「２００Ａ，２００Ｂ，２００Ｃ」と予備リソース総量「サーバ１０台」とが格納されている。
【００５７】
運用情報記憶部１２３は、算出部１１２が算出した各情報処理システム２００Ａ，２００Ｂ，２００Ｃの上限値を格納する。また、運用情報記憶部１２３は、各情報処理システム２００Ａ，２００Ｂ，２００Ｃに予備リソースを提供した場合にその量を利用量として格納する。具体的には、判定部１１３における処理によって各情報処理システムに割り当てられた予備リソース量を格納する。
【００５８】
図３Ｃの例では、運用情報記憶部１２３は、各時間枠に対応づけて上限値と利用量とを格納する。たとえば、情報処理システム２００Ａの時間枠「１」の上限値「サーバ２台」と利用量「０台」とを格納している。運用情報記憶部１２３に格納される情報は、情報処理システムに予備リソースが提供されるごとに更新される。
【００５９】
［予備リソース提供処理の流れの一例］
図４は、第１の実施形態に係る予備リソース提供方法の処理の流れの一例を示す図である。図４を参照して、予備リソース提供方法の処理の流れの一例を説明する。
【００６０】
まず、情報処理システム２００Ａが、予備リソース提供装置１００による予備リソースの提供を受けるため、予備リソース提供装置１００に対する登録を行うことで予備リソース提供処理が開始する。たとえば、予備リソース提供装置１００の管理者が、情報処理システム２００Ａの管理者からの要求を受けて、予備リソース提供装置１００に新規加入した情報処理システム２００Ａを登録する。または、情報処理システム２００Ａが、予備リソース提供装置１００に対して新規加入要求を送信し、それに応じて予備リソース提供装置１００が、予備リソース提供処理を開始する。
【００６１】
まず、予備リソース提供装置１００は、新規加入した情報処理システム２００Ａに対して、情報送信要求を送信する（ステップＳ４０１）。情報処理システム２００Ａは、予備リソース提供装置１００に対して要求された情報を送信する。すなわち、情報処理システム２００Ａは、故障モデル、規模、平均故障率、要求信頼性等の情報を送信する。
【００６２】
予備リソース提供装置１００の受信部１１１は、情報処理システム２００Ａから送信される情報を受信する（ステップＳ４０２）。そして、算出部１１２は、受信した情報に基づいて、情報処理システム２００Ａに割り当てる予備リソース量の上限値を算出する（ステップＳ４０３）。算出した上限値は、運用情報記憶部１２３に格納される。
【００６３】
算出部１１２はさらに、新規加入した情報処理システム２００Ａと既に加入済みの情報処理システム２００Ｂ，２００Ｃとを全体として一つのシステムとみなして、必要な予備リソース総量を算出する（ステップＳ４０４）。そして、算出部１１２は、算出した総量を割当情報記憶部１２２に格納することで、予備リソース総量を設定する（ステップＳ４０５）。
【００６４】
上限値と予備リソース総量の格納が完了すると、予め設定された時間枠の時間のカウントを開始する（ステップＳ４０６）。たとえば、各時間枠に予め番号を割り振っておき、時間枠の番号Ｆに、カウントを開始する時間枠の番号を代入する（Ｆ＝ｎ（ｎは１以上の自然数））。そして、情報処理システム２００Ａは自システム内に故障が発生すると、予備リソースを要求する量を示す情報を含む予備リソース要求を予備リソース提供装置１００に送信する。予備リソース提供装置１００の判定部１１３は、予備リソース要求を受信する（ステップＳ４０７）。
【００６５】
判定部１１３は、当該時間枠において情報処理システム２００Ａが既に使用している予備リソース量（利用量ＱＵ）を運用情報記憶部１２３から読み出す。さらに判定部１１３は、当該時間枠に情報処理システム２００Ａが使用できる予備リソースの上限値（ＱＬ）を、運用情報記憶部１２３から読み出す（ステップＳ４０８）。
【００６６】
判定部１１３は、読み出した利用量ＱＵと要求量ＱＲとを合算し、当該時間枠の上限値ＱＬと比較し、利用量ＱＵと要求量ＱＲとの合計が上限値ＱＬよりも大きいか否かを判定する（ステップＳ４０９）。利用量ＱＵと要求量ＱＲとの合計が上限値ＱＬよりも大きい場合（ステップＳ４０９、肯定）、判定部１１３は、情報処理システム２００Ａに上限値ＱＬから利用量ＱＵを減算した分の予備リソースを割り当てる（ステップＳ４１０）。また、利用量ＱＵと要求量ＱＲとの合計が上限値ＱＬ以下の場合（ステップＳ４０９、否定）、判定部１１３は、情報処理システム２００Ａに要求量ＱＲ分の予備リソースを割り当てる（ステップＳ４１１）。そして、判定部１１３は、割り当てたリソースの量を、運用情報記憶部１２３から読み出した利用量ＱＵに加算して、運用情報記憶部１２３に格納された利用量ＱＵを更新する（ステップＳ４１２）。
【００６７】
通知部１１４は、判定部１１３により割り当てられた予備リソースの量を情報処理システム２００Ａに通知する（ステップＳ４１３）。そして通知部１１４は、処理を判定部１１３に返す。判定部１１３は、当該時間枠が終了したか否かを判定する（ステップＳ４１４）。当該時間枠が終了したと判定する（ステップＳ４１４、肯定）と、判定部１１３は、次の時間枠に移行する（Ｆ＝Ｆ＋１、ステップＳ４１５）。そして再びステップＳ４０７に戻る。他方、当該時間枠が終了していないと判定する（ステップＳ４１４、否定）と、処理はそのままステップＳ４０７に戻る。予備リソース提供装置１００は、予備リソース提供処理が継続している間、この処理を繰り返す。
【００６８】
なお、上述の説明では、予備リソース要求は予備リソースの提供が必要になった時点で送信されるものとした。しかしこれに限らず、情報処理システム２００Ａ，２００Ｂ，２００Ｃにおいて予め故障の発生を予測して、提供を受けたい時間枠より前に予備リソース要求を送信し、所定の時間枠になると予備リソースの提供を受けるように構成してもよい。この場合は、予備リソース要求に、要求量のほかに提供を受ける時間枠の情報を含めて送信すればよい。
【００６９】
また、上記第１の実施形態では、情報処理システム２００Ａは、予備リソース提供装置１００が記憶部１２０を更新（図４、ステップＳ４１２）してから割り当てられた予備リソース量の通知を受けるものとした（図４、ステップＳ４１３）。これに限らず、予備リソース提供装置１００はまず、情報処理システム２００Ａに割り当て量を通知し、情報処理システム２００Ａから確認応答を受信した後に、記憶部１２０を更新するものとしてもよい。また、情報処理システム２００Ａは、通知に対する応答として、予備リソース提供装置１００による予備リソースの割り当てを拒否することができるように構成してもよい。
【００７０】
［第１の実施形態の効果］
上述の通り、第１の実施形態に係る予備リソース提供装置は、リソースにより処理を実行する複数の情報処理システムから、予備リソースの量を算出するための情報を受信する。そして、予備リソース提供装置は、受信した情報に基づき、複数の情報処理システム各々が利用する予備リソースの上限値を算出する。さらに、予備リソース提供装置は、受信した情報に基づき、複数の情報処理システム全体を一つのシステムとした場合に当該システムが利用する予備リソースの総量を算出する。そして、予備リソース提供装置は、複数の情報処理システムのうち１の情報処理システムから予備リソースの割り当てを要求する割当要求を受信する。予備リソース提供装置は、受信した割当要求に含まれる要求量と、割当要求の受信までに当該１の情報処理システムが使用した予備リソースの利用量との合計と、前記上限値とを比較する。そして、予備リソース提供装置は、比較に基づき、予備リソースを１の情報処理システムに割り当て、割り当てた予備リソースの量を１の情報処理システムに通知する。このように、第１の実施形態に係る予備リソース提供装置は、複数の情報処理システムを全体として一つの大きなシステムとみなして予備リソース量を算出する。また、第１の実施形態に係る予備リソース提供装置は、各情報処理システムについて提供する予備リソースの上限値を算出する。
【００７１】
このように、複数の情報処理システムを一つの大きなシステムとみなすことで、スケールメリットを利用することができる。すなわち、各情報処理システムにおいて発生する故障量の変動が平準化され、全体として要求される予備リソース量を低減することができる。したがって、個々の情報処理システムにおいて予備リソースを準備する場合と比較して、全体として準備する予備リソースの総量を低減しつつ、各情報処理システムにおいて高い信頼性を確保することができる。
【００７２】
また、各情報処理システムに対して提供する予備リソースに上限値を設けることで、予備リソースを利用する各情報処理システム間での公平性を保つことができる。このため、公平な予備リソース提供を実現することができる。
【００７３】
また、ひとまとまりのシステムとみなす情報処理システムの組み合わせを調整することで、予備リソースの総量をさらに低減することができる。
【００７４】
［第２の実施形態］
これまで本発明の実施形態について説明したが、本発明は上述した実施形態以外にも、その他の実施形態にて実施されてもよい。以下に、その他の実施形態を説明する。
【００７５】
［インタークラウドシステム］
図５は、第１の実施形態をインタークラウドシステムに適用した例を示す図である。図５に示すように、第１の実施形態の予備リソース提供処理を実現するソフトウェアをインタークラウドサーバに搭載して、予備リソース提供を行うことができる。
【００７６】
図５の例では、インタークラウドサーバ５００に予備リソース提供プログラム５１０を搭載する。そして、インタークラウドサーバ５００とＡＳＰ（Application  Service  Provider）管理装置７００Ａ，７００Ｂ，７００Ｃとがネットワークを介して接続される。インタークラウドサーバ５００はまた、リソース管理装置６００と接続される。リソース管理装置６００はリソース６１０を管理する。
【００７７】
インタークラウドサーバ５００は、リソース管理装置６００が管理するリソース６１０を予備リソースとしてＡＳＰ管理装置７００Ａ，７００Ｂ，７００Ｃに提供する。
【００７８】
ＡＳＰ管理装置７００Ａ，７００Ｂ，７００Ｃは各々リソース７１０Ａ，７１０Ｂ，７１０Ｃを利用してユーザ端末８００Ａ，８００Ｂ，８００Ｃにサービスを提供する。ＡＳＰ管理装置７００Ａ，７００Ｂ，７００Ｃは各々リソース７１０Ａ，７１０Ｂ，７１０Ｃの運用を管理する。リソース７１０Ａ，７１０Ｂ，７１０Ｃに故障が発生すると故障の情報は各々を管理するＡＳＰ管理装置７００Ａ，７００Ｂ，７００Ｃに送信される。ＡＳＰ管理装置７００Ａ，７００Ｂ，７００Ｃは、故障に対処するために必要な予備リソース量を算出し、インタークラウドサーバ５００に対して、要求する予備リソース量の情報を送信する。インタークラウドサーバ５００は、図４のステップＳ４０２〜Ｓ４１５の処理を実行して、ＡＳＰ管理装置７００Ａ，７００Ｂ，７００Ｃに予備リソースの割当を通知する。ＡＳＰ管理装置７００Ａ，７００Ｂ，７００Ｃは、通知に含まれた情報を用いてリソース６１０にアクセスし、リソース６１０を利用してユーザ端末８００Ａ，８００Ｂ，８００Ｃに対するサービスを継続する。
【００７９】
また、既存のインタークラウドサーバに予備リソース提供プログラム５１０をインストールすることで、既存の機能に加えて予備リソース提供処理を実行することもできる。
【００８０】
［システム構成］
上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００８２】
たとえば、上記実施形態の説明においては、予備リソース提供装置１００は受信部１１１、算出部１１２、判定部１１３、通知部１１４を備えるものとして説明したが、これらの機能の一部を組み合わせてもよい。また、たとえば算出部１１２による上限値と予備リソース総量の算出は別々の機能部が実行するものとしてもよい。また、記憶部１２０の各部に格納されるデータの構成も図示したものに限定されず、適宜変更してもよい。たとえば、常に予備リソースを提供する全ての情報処理システムを一つのシステムとみなす場合は、割当情報記憶部１２２を削除し、管理情報記憶部１２１に統合してもよい。
【００８３】
［プログラム］
図６は、予備リソース提供装置による一連の処理を実行するプログラムである予備リソース提供プログラムによる情報処理が、コンピュータを用いて具体的に実現されることを示す図である。図６に例示するように、コンピュータ３０００は、例えば、メモリ３０１０と、ＣＰＵ（Central  Processing  Unit）３０２０と、ハードディスクドライブ３０８０と、ネットワークインタフェース３０７０とを有する。コンピュータ３０００の各部はバス３１００によって接続される。
【００８４】
メモリ３０１０は、図６に例示するように、ＲＯＭ３０１１及びＲＡＭ３０１２を含む。ＲＯＭ３０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。
【００８５】
ここで、図６に例示するように、ハードディスクドライブ３０８０は、例えば、ＯＳ３０８１、アプリケーションプログラム３０８２、プログラムモジュール３０８３、プログラムデータ３０８４を記憶する。すなわち、開示の技術に係る予備リソース提供プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュール３０８３として、例えばハードディスクドライブ３０８０に記憶される。例えば、制御部１１０の各部と同様の情報処理を実行する手順各々が記述されたプログラムモジュール３０８３が、ハードディスクドライブ３０８０に記憶される。
【００８６】
また、記憶部１２０に記憶されるデータのように、予備リソース提供プログラムによる情報処理に用いられるデータは、プログラムデータ３０８４として、例えばハードディスクドライブ３０８０に記憶される。そして、ＣＰＵ３０２０が、ハードディスクドライブ３０８０に記憶されたプログラムモジュール３０８３やプログラムデータ３０８４を必要に応じてＲＡＭ３０１２に読み出し、各種の手順を実行する。
【００８７】
なお、予備リソース提供プログラムに係るプログラムモジュール３０８３やプログラムデータ３０８４は、ハードディスクドライブ３０８０に記憶される場合に限られない。例えば、プログラムモジュール３０８３やプログラムデータ３０８４は、着脱可能な記憶媒体に記憶されてもよい。この場合、ＣＰＵ３０２０は、ディスクドライブなどの着脱可能な記憶媒体を介してデータを読み出す。また、同様に、予備リソース提供プログラムに係るプログラムモジュール３０８３やプログラムデータ３０８４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。この場合、ＣＰＵ３０２０は、ネットワークインタフェース３０７０を介して他のコンピュータにアクセスすることで各種データを読み出す。
【００８８】
［その他］
なお、本実施例で説明した予備リソース提供プログラムは、インターネット等のネットワークを介して配布することができる。また、予備リソース提供プログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読取可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【００８９】
１００  予備リソース提供装置
１１０  制御部
１１１  受信部
１１２  算出部
１１３  判定部
１１４  通知部
１２０  記憶部
１２１  管理情報記憶部
１２２  割当情報記憶部
１２３  運用情報記憶部
２００Ａ，２００Ｂ，２００Ｃ  情報処理システム
３００  ネットワーク
４００  リソース
５００  インタークラウドサーバ
５１０  予備リソース提供プログラム
６００  リソース管理装置
６１０  リソース
７００Ａ，７００Ｂ，７００Ｃ  ＡＳＰ管理装置
７１０Ａ，７１０Ｂ，７１０Ｃ  リソース
８００Ａ，８００Ｂ，８００Ｃ  ユーザ端末
【図１】
0005626935.tif 000002
【図２】
0005626935.tif 000003
【図３Ａ】
0005626935.tif 000004
【図３Ｂ】
0005626935.tif 000005
【図３Ｃ】
0005626935.tif 000006
【図４】
0005626935.tif 000007
【図５】
0005626935.tif 000008
【図６】
0005626935.tif 000009