(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたユーザ端末に、仮想化した自装置のコンピュータリソースを提供する複数の仮想化装置と、前記ネットワークを介して当該複数の仮想化装置に接続された複数のリソース提供装置とを備えたリソース提供システムであって、
前記リソース提供装置は、
前記複数の仮想化装置のうち自装置の配下として対応付けられた複数の前記仮想化装置を識別する配下仮想化装置識別情報が記憶される配下仮想化装置情報記憶部と、
前記配下仮想化装置識別情報によって識別される複数の前記仮想化装置の負荷状況を示す負荷状況値が記憶される負荷状況値記憶部と、
前記配下仮想化装置識別情報によって識別される前記仮想化装置から、当該仮想化装置の負荷状況値を収集して前記負荷状況値記憶部に記憶させる第１の負荷状況値収集部と、
前記仮想化装置から、当該仮想化装置を自装置に帰属させるための追加要求であって、当該仮想化装置の識別情報が含まれる追加要求が送信されると、当該識別情報を前記配下仮想化装置識別情報として前記配下仮想化装置情報記憶部に記憶させる配下仮想化装置更新部と、
前記ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、前記配下仮想化装置情報記憶部に記憶された前記配下仮想化装置識別情報によって識別される前記仮想化装置にコンピュータリソースを提供させる仮想化装置判定部と、を備え、
前記仮想化装置は、
複数の前記リソース提供装置から、当該リソース提供装置の前記負荷状況値記憶部に記憶された前記負荷状況値を収集する第２の負荷状況値収集部と、
前記第２の負荷状況値収集部によって収集された前記複数のリソース提供装置毎の前記負荷状況値を比較した比較結果に基づいて、当該複数のリソース提供装置のうちいずれのリソース提供装置に自装置を帰属させるかを判定する帰属リソース提供装置判定部と、
前記帰属リソース提供装置判定部によって自装置を帰属させると判定した前記リソース提供装置に、自装置の識別情報が含まれる追加要求を送信する追加要求送信部と、を備える
ことを特徴とするリソース提供システム。
【請求項２】
前記ネットワークを介して接続された前記複数の仮想化装置には、前記リソース提供装置に追加要求を送信することによって自装置の帰属する前記リソース提供装置を変更する遊撃仮想化装置と、前記追加要求を送信せずに自装置の帰属する前記リソース提供装置を変更しない専属仮想化装置とが含まれ、
前記リソース提供装置の前記配下仮想化装置情報記憶部には、前記ユーザ端末に対して提供することが定められたコンピュータリソースの量に応じた前記専属仮想化装置を識別する専属配下仮想化装置識別情報と、前記追加要求を送信した前記遊撃仮想化装置を識別する遊撃配下仮想化装置識別情報とが記憶される
ことを特徴とする請求項１に記載のリソース提供システム。
【請求項３】
前記リソース提供装置の前記仮想化装置判定部は、
前記ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、前記配下仮想化装置情報記憶部に記憶された配下仮想化装置識別情報のうち、前記遊撃配下仮想化装置識別情報よりも専属配下仮想化装置識別情報を優先的に選択して、選択した当該配下仮想化装置識別情報によって識別される前記仮想化装置にコンピュータリソースを提供させる
ことを特徴とする請求項２に記載のリソース提供システム。
【請求項４】
前記仮想化装置の追加要求送信部は、
定められた条件が満たされる場合に、前記追加要求を送信する
ことを特徴とする請求項１から請求項３までのいずれか１項に記載のリソース提供システム。
【請求項５】
前記仮想化装置の、
前記第２の負荷状況値収集部は、複数回に亘って前記複数のリソース提供装置から前記負荷状況値を収集し、
帰属リソース提供装置判定部は、
前記第２の負荷状況値収集部によって収集された複数の前記負荷状況値の遷移状況に応じて、前記複数のリソース提供装置のうちいずれのリソース提供装置に自装置を帰属させるかを判定する
ことを特徴とする請求項１から請求項４までのいずれか１項に記載のリソース提供システム。
【請求項６】
ネットワークを介して接続されたユーザ端末に、仮想化した自装置のコンピュータリソースを提供する複数の仮想化装置と、当該複数の仮想化装置のうち自装置の配下として対応付けられた複数の前記仮想化装置を識別する配下仮想化装置識別情報が記憶される配下仮想化装置情報記憶部と、前記配下仮想化装置識別情報によって識別される複数の前記仮想化装置の負荷状況を示す負荷状況値が記憶される負荷状況値記憶部とを備えるリソース提供装置であって、前記ネットワークを介して当該複数の仮想化装置に接続された複数のリソース提供装置とを備えたリソース提供システムのリソース提供方法であって、
前記リソース提供装置が、
前記配下仮想化装置識別情報によって識別される前記仮想化装置から、当該仮想化装置の負荷状況値を収集して前記負荷状況値記憶部に記憶させるステップと、
前記仮想化装置が、
複数の前記リソース提供装置から、当該リソース提供装置の前記負荷状況値記憶部に記憶された前記負荷状況値を収集するステップと、
収集した前記複数のリソース提供装置毎の前記負荷状況値を比較した比較結果に基づいて、当該複数のリソース提供装置のうちいずれのリソース提供装置に自装置を帰属させるかを判定するステップと、
前記判定によって自装置を帰属させると判定した前記リソース提供装置に、自装置の識別情報が含まれる追加要求を送信するステップと、
前記リソース提供装置が、
前記仮想化装置から当該仮想化装置の識別情報が含まれる追加要求が送信されると、当該識別情報を前記配下仮想化装置識別情報として前記配下仮想化装置情報記憶部に記憶させるステップと、
前記ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、前記配下仮想化装置情報記憶部に記憶された前記配下仮想化装置識別情報によって識別される前記仮想化装置にコンピュータリソースを提供させるステップと、
を備えることを特徴とするリソース提供方法。
【請求項７】
ネットワークを介して接続されたユーザ端末に、仮想化した自装置のコンピュータリソースを提供する複数の仮想化装置と、前記ネットワークを介して当該複数の仮想化装置に接続された複数のリソース提供装置であって、前記複数の仮想化装置のうち自装置の配下として対応付けられた複数の前記仮想化装置を識別する配下仮想化装置識別情報が記憶される配下仮想化装置情報記憶部と、前記配下仮想化装置識別情報によって識別される複数の前記仮想化装置の負荷状況を示す負荷状況値が記憶される負荷状況値記憶部と、前記配下仮想化装置識別情報によって識別される前記仮想化装置から、当該仮想化装置の負荷状況値を収集して前記負荷状況値記憶部に記憶させる第１の負荷状況値収集部と、前記仮想化装置から当該仮想化装置の識別情報が含まれる追加要求が送信されると、当該識別情報を前記配下仮想化装置識別情報として前記配下仮想化装置情報記憶部に記憶させる配下仮想化装置更新部と、前記ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、前記配下仮想化装置情報記憶部に記憶された前記配下仮想化装置識別情報によって識別される前記仮想化装置にコンピュータリソースを提供させる仮想化装置判定部と、を有する前記リソース提供装置とを備えたリソース提供システムにおける前記仮想化装置であって、
複数の前記リソース提供装置から、当該リソース提供装置の前記負荷状況値記憶部に記憶された前記負荷状況値を収集する第２の負荷状況値収集部と、
前記第２の負荷状況値収集部によって収集された前記複数のリソース提供装置毎の前記負荷状況値を比較した比較結果に基づいて、当該複数のリソース提供装置のうちいずれのリソース提供装置に自装置を帰属させるかを判定する帰属リソース提供装置判定部と、
前記帰属リソース提供装置判定部によって自装置を帰属させると判定した前記リソース提供装置に、自装置の識別情報が含まれる追加要求を送信する追加要求送信部と、を備える
ことを特徴とする仮想化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ端末から送信されるコンピュータリソースの提供要求に応じてコンピュータリソースの提供を行なうリソース提供システム、リソース提供方法および仮想化装置に関する。
【背景技術】
【０００２】
コンピュータ装置のプロセッサやメモリ、ディスクなどのコンピュータリソースを仮想化し、１台の物理マシンに複数の仮想マシンを起動させる仮想化技術が研究されている。また、このような仮想化機能を備える複数の仮想化装置を用意し、ネットワークを介してユーザ端末から送信されるリソース提供要求に応じて仮想化装置に仮想マシンを起動させ、ユーザ端末に利用可能に提供するリソース提供システムが研究されている。このようなリソース提供システムによって提供されるクラウドサービスなどとも呼ばれるリソース提供サービスによれば、コンピュータのハードウェアやソフトウェアを買い取りやリースではなく従量制の課金により利用したり、必要な時に必要なだけ利用したりすることが可能である。
このようなリソース提供システムは、データセンタ等に大量に用意された物理マシンのコンピュータリソースを、インターネットを介して広く公開して提供するいわゆるパブリッククラウドが一般的であった。これに加えて、近年ではこのようなクラウドを特定の企業等の組織内等の閉じられた環境内におけるコンピュータシステムに適用するいわゆるプライベートクラウドが研究されている（例えば、非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「クラウド大全  サービス詳細から基盤技術まで」、日経ＢＰ社、２００９年４月
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、リソース提供システムの提供者は、ユーザ端末からのリソース提供要求に応じてコンピュータリソースを即時に提供するために、要求されるコンピュータリソース量が最大となる時に合わせた規模のコンピュータリソースを予め用意しておく必要がある。ただし、要求されるコンピュータリソース量には、時間帯や曜日、季節などに応じた揺らぎがあると考えられる。このため、サービスを提供する事業者が、要求されるコンピュータリソース量が最大となる時に合わせた規模のコンピュータリソースを用意すると、提供要求量の少ない期間にはコンピュータリソースの余剰が発生することとなりコンピュータリソースを有効に利用できない。特に大規模なプライベートクラウドを構築する場合、クラウド内の物理マシンを複数のクラスタに分割し、クラスタ毎に異なる組織等に利用させることが考えられる。このとき、複数のクラスタのそれぞれについて予め一定台数の仮想化装置を用意することになるため、パブリッククラウドのように全体として大量の仮想化装置を用意する場合と比べて、提供要求に応じたコンピュータリソース量に過不足が発生することが多くなる可能性があると考えられる。ここで、限られた範囲のユーザにコンピュータリソースを提供する複数のリソース提供システムにおいても、コンピュータリソースの利用効率を上げ、ユーザからのリソース提供要求に応じて即時にコンピュータリソースを提供する安定したリソース提供システムを提供することが望ましい。
【０００５】
本発明は、このような状況に鑑みてなされたもので、コンピュータリソースの利用効率を上げ、ユーザからのリソース提供要求に応じて即時にコンピュータリソースを提供する安定したリソース提供システム、リソース提供方法および仮想化装置を提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、ネットワークを介して接続されたユーザ端末に、仮想化した自装置のコンピュータリソースを提供する複数の仮想化装置と、ネットワークを介して複数の仮想化装置に接続された複数のリソース提供装置とを備えたリソース提供システムであって、リソース提供装置は、複数の仮想化装置のうち自装置の配下として対応付けられた複数の仮想化装置を識別する配下仮想化装置識別情報が記憶される配下仮想化装置情報記憶部と、配下仮想化装置識別情報によって識別される複数の仮想化装置の負荷状況を示す負荷状況値が記憶される負荷状況値記憶部と、配下仮想化装置識別情報によって識別される仮想化装置から、仮想化装置の負荷状況値を収集して負荷状況値記憶部に記憶させる第１の負荷状況値収集部と、仮想化装置から、仮想化装置を自装置に帰属させるための追加要求であって、仮想化装置の識別情報が含まれる追加要求が送信されると、識別情報を配下仮想化装置識別情報として配下仮想化装置情報記憶部に記憶させる配下仮想化装置更新部と、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、配下仮想化装置情報記憶部に記憶された配下仮想化装置識別情報によって識別される仮想化装置にコンピュータリソースを提供させる仮想化装置判定部と、を備え、仮想化装置は、複数のリソース提供装置から、リソース提供装置の負荷状況値記憶部に記憶された負荷状況値を収集する第２の負荷状況値収集部と、第２の負荷状況値収集部によって収集された複数のリソース提供装置毎の負荷状況値を比較した比較結果に基づいて、複数のリソース提供装置のうちいずれのリソース提供装置に自装置を帰属させるかを判定する帰属リソース提供装置判定部と、帰属リソース提供装置判定部によって自装置を帰属させると判定したリソース提供装置に、自装置の識別情報が含まれる追加要求を送信する追加要求送信部と、を備えることを特徴とする。
【０００７】
また、本発明は、ネットワークを介して接続された複数の仮想化装置には、リソース提供装置に追加要求を送信することによって自装置の帰属するリソース提供装置を変更する遊撃仮想化装置と、追加要求を送信せずに自装置の帰属するリソース提供装置を変更しない専属仮想化装置とが含まれ、リソース提供装置の配下仮想化装置情報記憶部には、ユーザ端末に対して提供することが定められたコンピュータリソースの量に応じた専属仮想化装置を識別する専属配下仮想化装置識別情報と、追加要求を送信した遊撃仮想化装置を識別する遊撃配下仮想化装置識別情報とが記憶されることを特徴とする。
【０００８】
また、本発明は、リソース提供装置の仮想化装置判定部が、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、配下仮想化装置情報記憶部に記憶された配下仮想化装置識別情報のうち、遊撃配下仮想化装置識別情報よりも専属配下仮想化装置識別情報を優先的に選択して、選択した配下仮想化装置識別情報によって識別される仮想化装置にコンピュータリソースを提供させることを特徴とする。
【０００９】
また、本発明は、仮想化装置の追加要求送信部が、定められた条件が満たされる場合に、追加要求を送信することを特徴とする。
【００１０】
また、本発明は、仮想化装置の第２の負荷状況値収集部が、複数回に亘って複数のリソース提供装置から負荷状況値を収集し、帰属リソース提供装置判定部は、第２の負荷状況値収集部によって収集された複数の負荷状況値の遷移状況に応じて、複数のリソース提供装置のうちいずれのリソース提供装置に自装置を帰属させるかを判定することを特徴とする。
【００１１】
また、本発明は、ネットワークを介して接続されたユーザ端末に、仮想化した自装置のコンピュータリソースを提供する複数の仮想化装置と、複数の仮想化装置のうち自装置の配下として対応付けられた複数の仮想化装置を識別する配下仮想化装置識別情報が記憶される配下仮想化装置情報記憶部と、配下仮想化装置識別情報によって識別される複数の仮想化装置の負荷状況を示す負荷状況値が記憶される負荷状況値記憶部とを備えるリソース提供装置であって、ネットワークを介して複数の仮想化装置に接続された複数のリソース提供装置とを備えたリソース提供システムのリソース提供方法であって、リソース提供装置が、配下仮想化装置識別情報によって識別される仮想化装置から、仮想化装置の負荷状況値を収集して負荷状況値記憶部に記憶させるステップと、仮想化装置が、複数のリソース提供装置から、リソース提供装置の負荷状況値記憶部に記憶された負荷状況値を収集するステップと、収集した複数のリソース提供装置毎の負荷状況値を比較した比較結果に基づいて、複数のリソース提供装置のうちいずれのリソース提供装置に自装置を帰属させるかを判定するステップと、判定によって自装置を帰属させると判定したリソース提供装置に、自装置の識別情報が含まれる追加要求を送信するステップと、リソース提供装置が、仮想化装置から仮想化装置の識別情報が含まれる追加要求が送信されると、識別情報を配下仮想化装置識別情報として配下仮想化装置情報記憶部に記憶させるステップと、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、配下仮想化装置情報記憶部に記憶された配下仮想化装置識別情報によって識別される仮想化装置にコンピュータリソースを提供させるステップと、を備えることを特徴とする。
【００１２】
また、本発明は、ネットワークを介して接続されたユーザ端末に、仮想化した自装置のコンピュータリソースを提供する複数の仮想化装置と、ネットワークを介して複数の仮想化装置に接続された複数のリソース提供装置であって、複数の仮想化装置のうち自装置の配下として対応付けられた複数の仮想化装置を識別する配下仮想化装置識別情報が記憶される配下仮想化装置情報記憶部と、配下仮想化装置識別情報によって識別される複数の仮想化装置の負荷状況を示す負荷状況値が記憶される負荷状況値記憶部と、配下仮想化装置識別情報によって識別される仮想化装置から、仮想化装置の負荷状況値を収集して負荷状況値記憶部に記憶させる第１の負荷状況値収集部と、仮想化装置から仮想化装置の識別情報が含まれる追加要求が送信されると、識別情報を配下仮想化装置識別情報として配下仮想化装置情報記憶部に記憶させる配下仮想化装置更新部と、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、配下仮想化装置情報記憶部に記憶された配下仮想化装置識別情報によって識別される仮想化装置にコンピュータリソースを提供させる仮想化装置判定部と、を有するリソース提供装置とを備えたリソース提供システムにおける仮想化装置であって、複数のリソース提供装置から、リソース提供装置の負荷状況値記憶部に記憶された負荷状況値を収集する第２の負荷状況値収集部と、第２の負荷状況値収集部によって収集された複数のリソース提供装置毎の負荷状況値を比較した比較結果に基づいて、複数のリソース提供装置のうちいずれのリソース提供装置に自装置を帰属させるかを判定する帰属リソース提供装置判定部と、帰属リソース提供装置判定部によって自装置を帰属させると判定したリソース提供装置に、自装置の識別情報が含まれる追加要求を送信する追加要求送信部と、を備えることを特徴とする。
【発明の効果】
【００１３】
以上説明したように、本発明によれば、複数のリソース提供装置が、自装置の配下として対応付けられた複数の仮想化装置を識別する配下仮想化装置識別情報を記憶し、配下の仮想化装置から負荷状況値を収集して記憶し、仮想化装置から仮想化装置の識別情報が含まれる追加要求が送信されると配下仮想化装置識別情報として記憶し、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて配下の仮想化装置にコンピュータリソースを提供させ、仮想化装置が、複数のリソース提供装置からそのリソース提供装置の配下の仮想化装置の負荷状況値を収集し、収集した負荷状況値の比較結果に基づいて、複数のリソース提供装置のうちいずれのリソース提供装置に自装置を帰属させるかを判定して追加要求を送信するようにしたので、コンピュータリソースの利用効率を上げ、ユーザからのリソース提供要求に応じて即時にコンピュータリソースを提供する安定したリソース提供システムを提供することが可能となる。例えば、リソース提供システムによりプライベートクラウドを提供する場合、仮想化装置が、自身の帰属するクラスタを負荷状況に応じて判定して変更することができるため、負荷状況に応じてクラスタ間でのコンピュータリソースを融通させることが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態によるリソース提供システムの構成例を示すブロック図である。
【図２】本発明の一実施形態によるクラスタコントローラのノードコントローラ記憶部に記憶されるノードコントローラ情報の項目例を示す図である。
【図３】本発明の一実施形態によるクラスタコントローラのインスタンス記憶部に記憶されるインスタンス情報の項目例を示す図である。
【図４】本発明の一実施形態によるクラスタコントローラのリソース状況記憶部に記憶されるリソース状況情報の項目例を示す図である。
【図５】本発明の一実施形態によるクラスタコントローラのノードコントローラ記憶部に記憶されるノードコントローラ情報のデータ例を示す図である。
【図６】本発明の一実施形態によるノードコントローラの構成例を示す図である。
【図７】本発明の一実施形態によるノードコントローラが記憶するインスタンス情報のデータ例を示す図である。
【図８】本発明の一実施形態によるノードコントローラが記憶するリソース状況情報のデータ例を示す図である。
【図９】本発明の一実施形態によるノードコントローラが記憶するクラスタコントローラ情報のデータ例を示す図である。
【図１０】本発明の一実施形態によるノードコントローラのリソース状況収集部４２３が一定時間毎に収集するリソース状況情報の例を示す図である。
【図１１】本発明の一実施形態によるノードコントローラが記憶する自装置が帰属するクラスタコントローラ情報のデータ例を示す図である。
【図１２】本発明の一実施形態によるリソース提供システムの動作例を示すシーケンス図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について、図面を参照して説明する。
図１は、本実施形態によるリソース提供システム１の構成を示すブロック図である。リソース提供システム１は、ユーザ端末１００と、クラウドコントローラ２００と、複数台のクラスタコントローラ３００−Ｎ（クラスタコントローラ３００−１、クラスタコントローラ３００−２、・・・）と、複数台のノードコントローラ４００（専属ノードコントローラ４１０−１、専属ノードコントローラ４１０−２、専属ノードコントローラ４１０−３、専属ノードコントローラ４１０−４、・・・、遊撃ノードコントローラ４２０−１、遊撃ノードコントローラ４２０−２、・・・）とのコンピュータ装置を備えている。これらのコンピュータ装置はネットワークを介して接続される。ここで、複数台のノードコントローラ４００は自身のコンピュータリソースを仮想化してユーザ端末１００に提供する機能を備えており、特に専属ノードコントローラ４１０−Ｎと遊撃ノードコントローラ４２０−Ｎとを区別する必要のない場合にはノードコントローラ４００として説明する。
【００１６】
ここで、複数のクラスタコントローラ３００−Ｎは同様の構成であり、特に区別の必要がない場合にはクラスタコントローラ３００として説明する。クラスタコントローラ３００は、複数のノードコントローラ４００のうち自装置に帰属するノードコントローラ４００を配下のノードコントローラ４００として管理する。すなわち、ノードコントローラ４００は自装置を配下とするひとつのクラスタコントローラ３００に帰属し、ひとつのクラスタコントローラ３００は自装置に帰属する複数のノードコントローラ４００を配下に持つ。ここでは、クラスタコントローラ３００−１によって管理されるクラスタをクラスタＡとし、クラスタコントローラ３００−２によって管理されるクラスタをクラスタＢとする。例えば、ノードコントローラ４００が、クラスタＡのクラスタコントローラ３００−１からのコンピュータリソースの提供要求（インスタンスの起動要求）に応じてコンピュータリソースを提供するとき、そのノードコントローラ４００はクラスタコントローラ３００−１（クラスタＡ）に帰属している。具体的には、後述するように、ノードコントローラ４００は自身が帰属するクラスタコントローラ３００のＩＤを自身の記憶領域に記憶し、クラスタコントローラ３００は自身に帰属するノードコントローラ４００のＩＤを自身の記憶領域に記憶する。
【００１７】
ノードコントローラ４００は、ネットワークを介して接続されたユーザ端末１００に、仮想化した自装置のコンピュータリソースを提供するコンピュータ装置である。複数のノードコントローラ４００は、リソース提供サービスを提供する単位であるクラスタ毎に分割され、複数のクラスタコントローラ３００のうちいずれかのクラスタコントローラ３００に帰属する。ここで、ネットワークを介して接続された複数のノードコントローラ４００には、クラスタコントローラ３００に帰属情報変更要求を送信することによって自装置の帰属するクラスタコントローラ３００を変更する遊撃ノードコントローラ４２０−Ｎと、帰属情報変更要求を送信せずに自装置の帰属するクラスタコントローラ３００を変更しない専属ノードコントローラ４１０−Ｎとが含まれる。複数台の専属ノードコントローラ４１０−Ｎは同様の構成であり、特に区別の必要がない場合には専属ノードコントローラ４１０として説明する。同様に、複数台の遊撃ノードコントローラ４２０−Ｎは同様の構成であり、特に区別の必要がない場合には遊撃ノードコントローラ４２０として説明する。ここでは、専属ノードコントローラ４１０−１と、専属ノードコントローラ４１０−２と、遊撃ノードコントローラ４２０−１とがクラスタＡに帰属し、専属ノードコントローラ４１０−３と、専属ノードコントローラ４１０−４と、遊撃ノードコントローラ４２０−２とがクラスタＢに帰属するとして説明する。
【００１８】
ユーザ端末１００は、クラウドコントローラ２００にコンピュータリソースの提供要求を送信し、送信した提供要求に応じて提供されるコンピュータリソースを利用するコンピュータ端末である。ユーザ端末１００は、例えばインターネットブラウザの機能を備えており、予め定められたＵＲＬ（Uniform Resource Locator）に基づいて、クラウドコントローラ２００によって提供されるウェブサイトに接続する。ユーザ端末１００は、クラウドコントローラ２００にコンピュータリソースの提供要求を送信し、コンピュータリソースの提供元であるノードコントローラ４００において起動されたインスタンスのＩＰ（Internet Protocol）アドレスをクラウドコントローラ２００から受信する。ユーザ端末１００は、受信したＩＰアドレスに基づいてノードコントローラ４００に接続し、ノードコントローラ４００のコンピュータリソースを利用する。ここで、インスタンスとは、ノードコントローラ４００のＣＰＵ、メモリ、ディスクなどの物理的なハードウェアリソースを仮想化して特定の単位として切り出した仮想的なコンピュータリソースであるスロット上に起動された仮想マシンである。
【００１９】
クラウドコントローラ２００は、ユーザ端末１００からリソース提供サービスへのインタフェースであるウェブサイトを提供し、ユーザ端末１００から送信されるコンピュータリソースの提供要求を受信する。クラウドコントローラ２００は、受信した提供要求に応じたクラスタコントローラ３００に、コンピュータリソースの提供要求を送信する。例えば、クラウドコントローラ２００は、コンピュータリソースを提供するユーザ端末１００に対応するユーザアカウントを自身の記憶領域に予め記憶しておく。また、ユーザアカウント毎にコンピュータリソースを提供するクラスタコントローラ３００を対応付けて記憶しておく。クラウドコントローラ２００は、ユーザ端末１００からコンピュータリソースの提供要求を受信すると、提供要求を送信したユーザ端末１００に対応するクラスタを管理するクラスタコントローラ３００に、コンピュータリソースの提供要求を送信する。また、クラウドコントローラ２００には、ノードコントローラ４００に起動される仮想マシンのイメージファイルが記憶されている。
【００２０】
クラスタコントローラ３００は、ネットワークを介して複数のノードコントローラ４００に接続され、自身の配下のノードコントローラ４００の動作を制御するコンピュータ装置である。クラスタコントローラ３００は、ノードコントローラ記憶部３１０と、インスタンス記憶部３２０と、リソース状況記憶部３３０と、リソース状況収集部３４０と、ノードコントローラ情報更新部３５０と、ノードコントローラ判定部３６０とを備えている。
【００２１】
ノードコントローラ記憶部３１０には、ネットワークを介して接続された複数のノードコントローラ４００のうち、自装置の配下として対応付けられた複数のノードコントローラ４００を識別するノードコントローラＩＤが含まれるノードコントローラ情報が記憶される。ここで、ノードコントローラ記憶部３１０に記憶されるノードコントローラ情報には、ユーザ端末１００に対して提供することが定められたコンピュータリソースの量に応じた専属ノードコントローラ４１０を識別するノードコントローラＩＤと、自身に帰属する遊撃ノードコントローラ４２０を識別するノードコントローラＩＤとが含まれる。また、ノードコントローラ記憶部３１０には、ノードコントローラＩＤによって識別される複数のノードコントローラ４００のリソース状況を示すリソース状況情報が記憶される。
【００２２】
図２は、ノードコントローラ記憶部３１０に記憶されるノードコントローラ情報の項目例を示す図である。ここでは、ノードコントローラＩＤと、ノードコントローラのＩＰアドレスと、ノードコントローラのメモリ容量と、ノードコントローラの空きメモリ容量と、ノードコントローラのディスク容量と、ノードコントローラの空きディスク容量と、ノードコントローラのＣＰＵ数と、ノードコントローラの空きＣＰＵ数と、そのノードコントローラが遊撃ノードコントローラ４２０であるか否か（専属ノードコントローラ４１０であるか）を示す真偽値（フラグ）とが対応付けられて記憶される。ここで、ノードコントローラの空きメモリ容量と、ノードコントローラの空きディスク容量と、ノードコントローラの空きＣＰＵ数とのリソース状況情報は、リソース状況収集部３４０によって取得されて記憶される。遊撃ノードコントローラ４２０であるか否かを示すフラグは、例えば値が「０」であれば対応するノードコントローラが専属ノードコントローラ４１０であることを示し、値が「１」であれば対応するノードコントローラが遊撃ノードコントローラ４２０であることを示す。
【００２３】
インスタンス記憶部３２０には、自装置の配下のノードコントローラ４００において起動しているインスタンスに関するインスタンス情報が記憶される。図３は、インスタンス情報の項目例を示す図である。インスタンス情報には、インスタンスＩＤと、インスタンスを動作させているノードコントローラのノードコントローラＩＤと、インスタンスに割り当てられているメモリ容量と、インスタンスに割り当てられているディスク容量と、インスタンスに割り当てられているＣＰＵ数とが対応付けられて記憶される。
【００２４】
リソース状況記憶部３３０には、ノードコントローラ記憶部３１０に記憶されたノードコントローラＩＤによって識別される複数のノードコントローラ４００のリソース状況の合計値が含まれるリソース状況情報が記憶される。図４は、リソース状況情報の項目例を示す図である。リソース状況情報には、クラスタ全体のメモリ総量と、クラスタ全体の空きメモリ総量と、クラスタ全体のディスク総量と、クラスタ全体の空きディスク総量と、クラスタ全体のＣＰＵ総数と、クラスタ全体の空きＣＰＵ総数とが対応付けられて記憶される。リソース状況情報は、ノードコントローラ記憶部３１０に記憶されているリソース状況情報に基づいてリソース状況収集部３４０によって生成され、記憶される。ここで、コンピュータリソースの空き容量は、予め定められたコンピュータリソース量に応じたスロットを単位として記憶されるようにしても良い。例えば、メモリ容量１ＧＢ、ディスク容量２０ＧＢ、ＣＰＵ数１のコンピュータリソース量を１スロットとして、スロット単位でコンピュータリソースの空き容量が記憶されるようにしても良い。
【００２５】
リソース状況収集部３４０は、ノードコントローラ記憶部３１０に記憶されたノードコントローラＩＤによって識別されるノードコントローラ４００から、そのノードコントローラ４００のリソース状況情報を収集して、ノードコントローラ記憶部３１０およびリソース状況記憶部３３０に記憶させる。リソース状況収集部３４０は、例えばＳＯＡＰ（Simple Object Access Protocol）通信やＳＮＭＰ（Simple Network Management Protocol）通信などにより、定期的にリソース状況情報を取得する。ここで、リソース状況収集部３４０は、自身の配下であるノードコントローラ４００のそれぞれから、メモリ容量と、空きメモリ容量と、ディスク容量と、空きディスク容量と、ＣＰＵ数と、空きＣＰＵ数とのコンピュータリソース状況情報を受信して、ノードコントローラ記憶部３１０に記憶させる。また、リソース状況収集部３４０は、自身の配下の全てのノードコントローラ４００からコンピュータリソース状況情報を収集した後に、ノードコントローラ記憶部３１０に記憶されたコンピュータリソース状況情報の各値の合計値を算出し、リソース状況記憶部３３０に記憶させる。
【００２６】
ノードコントローラ情報更新部３５０は、遊撃ノードコントローラ４２０から送信される帰属情報変更要求に応じて、ノードコントローラ記憶部３１０に記憶されたノードコントローラ情報を更新して記憶させる。例えば、ノードコントローラ情報更新部３５０は、遊撃ノードコントローラ４２０からその遊撃ノードコントローラ４２０のノードコントローラＩＤが含まれる追加要求が送信されると、受信したノードコントローラＩＤに対応するノードコントローラ情報をノードコントローラ記憶部３１０に追加して記憶させる。また、ノードコントローラ情報更新部３５０は、遊撃ノードコントローラ４２０からその遊撃ノードコントローラ４２０のノードコントローラＩＤが含まれる削除要求が送信されると、受信したノードコントローラＩＤに対応するノードコントローラ情報をノードコントローラ記憶部３１０から削除する。これにより、帰属情報変更要求を送信したノードコントローラの帰属先のクラスタコントローラ３００が変更される。
【００２７】
ノードコントローラ判定部３６０は、ユーザ端末１００から送信されるコンピュータリソースの提供要求に応じて、ノードコントローラ記憶部３１０に記憶されたノードコントローラＩＤによって識別されるノードコントローラ４００にコンピュータリソース提供要求を送信し、ユーザ端末１００にコンピュータリソースを提供させる。ここで、ノードコントローラ判定部３６０は、ノードコントローラ記憶部３１０に記憶されたノードコントローラ４００のリソース状況情報を参照して、要求された量のコンピュータリソースが提供可能なノードコントローラ４００を抽出する。また、ノードコントローラ判定部３６０は、ノードコントローラ記憶部３１０に記憶されたノードコントローラＩＤのうち、遊撃ノードコントローラ４２０を示すノードコントローラＩＤよりも専属ノードコントローラ４１０を示すノードコントローラＩＤを優先的に選択して、選択したノードコントローラＩＤによって識別されるノードコントローラ４００にコンピュータリソースを提供させる。
【００２８】
例えば、ノードコントローラ記憶部３１０に記憶されたノードコントローラ情報が、図５に示すように記憶されているとする。ここで、メモリ１Ｇ、ディスク容量２０Ｇ、ＣＰＵ数１（１スロット）のコンピュータリソースの提供要求がユーザ端末１００から送信されたとする。ノードコントローラ判定部３６０は、コンピュータリソースの提供要求に含まれるコンピュータリソースの要求量と、ノードコントローラ記憶部３１０に記憶されたリソース状況情報を比較して、専属ノードコントローラ４１０−２または遊撃ノードコントローラ４２０−１によって提供要求量に応じたコンピュータリソースを提供可能であると判定する。ノードコントローラ記憶部３１０は、フラグを参照して、専属ノードである専属ノードコントローラ４１０−２のノードコントローラＩＤを優先的に選択する。このように、ノードコントローラ判定部３６０は、遊撃ノードコントローラよりも専属ノードコントローラを優先的に選択してコンピュータリソースを提供することで、遊撃ノードコントローラ４２０の稼働を減らし、クラスタを移動しやすい状態に保つことができる。すなわち、遊撃ノードコントローラ４２０が帰属するクラスタとは異なるクラスタにおけるリソースが不足してきた場合に、自身のコンピュータリソース上に動作するインスタンスを他のノードコントローラ４００に移動させて、その異なるクラスタに帰属先を変更する可能性を高めることができる。
【００２９】
専属ノードコントローラ４１０は、定められたクラスタに固定して帰属するノードコントローラ４００である。ここでは、専属ノードコントローラ４１０と遊撃ノードコントローラ４２０とが同様に持つ機能部について、図６に示すノードコントローラ４００を参照して説明する。ノードコントローラ４００は、自身のコンピュータリソースを仮想化してユーザ端末１００に提供するコンピュータ装置である。ノードコントローラ４００は、ノード管理部４０１と、仮想化部４０２と、コンピュータリソース４０４とを備える。ノード管理部４０１は、クラスタコントローラ３００や他のノードコントローラ４００が備えるノード管理部４０１と通信を行い、ノードコントローラ４００によるコンピュータリソースの提供を制御する。仮想化部４０２は、コンピュータリソース４０４を仮想化し、仮想化したコンピュータリソース上にインスタンス４０３（仮想マシン）を起動させる。ここで、仮想化部４０２は、予め定められたコンピュータリソースの量に応じた複数のスロットの区画をコンピュータリソース４０４上に定め、スロット単位でインスタンスを起動させるようにしても良い。
【００３０】
ここで、ノード管理部４０１は、自装置のコンピュータリソース４０４の利用状況を測定してリソース状況情報を自身の記憶領域に記憶させる。図７と図８は、ノード管理部４０１が自身の記憶領域に記憶させる情報の項目例を示す図である。図７に示すように、ノード管理部４０１は、自装置のコンピュータリソース４０４上に起動されたインスタンスを識別するインスタンスＩＤを記憶する。また、図８に示すように、ノード管理部４０１は、自装置のコンピュータリソース４０４のリソース状況情報を記憶する。リソース状況情報には、自装置のメモリ容量と、自装置の空きメモリ容量と、自装置のディスク容量と、自装置の空きディスク容量と、自装置のＣＰＵ数と、自装置の空きＣＰＵ数とが対応付けられて記憶される。また、ノード管理部４０１は、他のノードコントローラ４００のノード管理部４０１と通信を行うことによって、自装置のコンピュータリソース４０４に起動された複数のインスタンス４０３を、他のノードコントローラ４００に移動させる機能（ライブマイグレーション）を有する。
【００３１】
図１に戻り、専属ノードコントローラ４１０は、ノード管理部４１１と、仮想化部４１２とを備えている。ノード管理部４１１と仮想化部４１２とは、ノードコントローラ４００が備える上述の同名の機能部に対応する。専属ノードコントローラ４１０は、遊撃ノードコントローラ４２０が備えるリソース状況収集部４２３〜帰属情報変更要求部４２５の機能部を備えても良いが、これらを動作させて自身の帰属先のクラスタコントローラ３００を変更させることがない。これに対し、遊撃ノードコントローラ４２０は、クラスタコントローラ３００のリソース状況に合わせて自身が帰属するクラスタコントローラ３００を変更する。すなわち、リソース提供システム１によるリソース提供サービスの提供者は、ユーザとのＳＬＡ（Service Level Agreement）などの契約に基づいて定められたコンピュータリソース量に応じた量の専属ノードコントローラ４１０を、クラスタコントローラ３００に帰属させる。このような専属ノードコントローラ４１０により、特定のクラスタコントローラ３００の配下に常に一定以上のコンピュータリソースを保つことができる。
【００３２】
遊撃ノードコントローラ４２０は、クラスタコントローラ３００に帰属情報変更要求を送信することによって自装置の帰属するクラスタコントローラ３００を変更するノードコントローラ４００である。遊撃ノードコントローラ４２０は、ノード管理部４２１と、仮想化部４２２と、リソース状況収集部４２３と、帰属クラスタ判定部４２４と、帰属情報変更要求部４２５とを備えている。ノード管理部４２１と仮想化部４２２とは、専属ノードコントローラ４１０が備える上述の同名の機能部と同様の構成である。
【００３３】
リソース状況収集部４２３は、複数のクラスタコントローラ３００から、そのクラスタコントローラ３００のリソース状況記憶部３３０に記憶されたリソース状況情報を収集し、自身の記憶領域に記憶する。ここで、リソース状況収集部４２３は、図９に示すような、自身が帰属する親となりうるクラスタコントローラ３００の一覧を自身の記憶領域に予め記憶している。リソース状況収集部４２３は、このような一覧に含まれるクラスタコントローラ３００のリソース状況記憶部３３０に記憶されているリソース状況情報を収集して自身の記憶領域に記憶する。また、リソース状況収集部４２３は、複数回に亘ってクラスタコントローラ３００からリソース状況情報を収集して記憶するようにしても良い。例えば、リソース状況収集部４２３は、定められた一定時間毎にクラスタコントローラ３００からリソース状況情報を収集し、一定時間毎のリソース状況情報を履歴として記憶する。これにより、帰属クラスタ判定部４２４は、リソース状況の遷移に応じて帰属クラスタを判定することが可能となる。
【００３４】
帰属クラスタ判定部４２４は、リソース状況収集部４２３によって収集された複数のクラスタコントローラ３００毎のリソース状況情報を比較し、比較結果に基づいて、複数のクラスタコントローラ３００のうちいずれのクラスタコントローラ３００に自装置を帰属させるかを判定する。例えば、帰属クラスタ判定部４２４は、複数のクラスタコントローラ３００のリソース状況情報を比較して、空き容量がより少ないクラスタコントローラ３００に自装置を帰属させると判定する。
【００３５】
ここで、帰属クラスタ判定部４２４は、リソース状況収集部４２３によって複数のリソース状況情報が収集されていれば、複数のリソース状況情報の遷移状況に応じて、複数のクラスタコントローラ３００のうちいずれのクラスタコントローラ３００に自装置を帰属させるかを判定するようにしても良い。図１０は、リソース状況収集部４２３によってｔ１、ｔ２、ｔ３、ｔ４の時点でそれぞれ収集されたリソースの空き状況の例を示す図である。クラスタＡのリソース空き状況は概ね変化がないことに対し、クラスタＢのリソース空き状況は減少している。帰属クラスタ判定部４２４は、このようなリソース状況の変化の傾きを算出し、次の計測時点ではクラスタＢのリソース空き状況がクラスタＡのリソース空き状況を下回ると判定すると、クラスタＢに自装置を帰属させると判定する。また、帰属クラスタ判定部４２４は、自装置のコンピュータリソースにおけるメモリ、ディスク、ＣＰＵの種別と、クラスタ毎に不足しているコンピュータリソースの種別とに応じて帰属先のクラスタを判定するようにしても良い。例えば、自装置のＣＰＵが他のノードコントローラのＣＰＵに比べて性能の良い（周波数の高い）ＣＰＵを有している場合には、ＣＰＵが不足しているクラスタを優先的に選択して帰属先のクラスタであると判定するようにしても良い。
【００３６】
帰属情報変更要求部４２５は、クラスタコントローラ３００に、自装置の帰属先の変更を要求する帰属情報変更要求を送信する。帰属情報変更要求には、例えば、自装置のノードコントローラＩＤを含んだ追加要求と削除要求とが存在する。帰属情報変更要求部４２５は、自装置が帰属するクラスタコントローラ３００を変更する場合には、まず自身が帰属するクラスタコントローラ３００に対して、自身の帰属を削除する削除要求を送信する。一方、帰属情報変更要求部４２５は、帰属クラスタ判定部４２４によって自装置を帰属させると判定したクラスタコントローラ３００に、自装置を帰属させて配下とすることを要求する追加要求を送信する。ここで、帰属情報変更要求部４２５は、自身の記憶領域に、図１１に示されるような自身が帰属するクラスタコントローラ３００のＩＤを記憶する。
【００３７】
ここで、帰属情報変更要求部４２５は、一定期間毎にリソース状況収集部４２３によって収集されたリソース状況情報に基づいて帰属クラスタ判定部４２４に判定された判定結果に応じて帰属先変更要求を送信しても良いし、定められた他の条件が満たされる場合に帰属先変更要求を送信するようにして良い。例えば、ノード管理部４２１に記憶されている自装置のリソース状況情報を参照して、自装置のコンピュータリソースに一定以上の空き容量が発生した場合に、帰属先変更要求を送信して帰属先を変更するようにして良い。
【００３８】
次に、本実施形態によるリソース提供システム１の動作例を説明する。図１２は、リソース提供システム１における遊撃ノードコントローラ４２０が自身の帰属先を変更させる動作例を示すシーケンス図である。
ここで、遊撃ノードコントローラ４２０−１は、初期段階ではクラスタコントローラ３００−１（クラスタＡ）に帰属する。クラスタコントローラ３００−１のリソース状況収集部３４０は、自身の配下である専属ノードコントローラ４１０−１、（専属ノードコントローラ４１０−２、）遊撃ノードコントローラ４２０−１から、リソース状況情報を受信する（ステップＳ１）。一方、クラスタコントローラ３００−２のリソース状況収集部３４０は、自身の配下である専属ノードコントローラ４１０−３（、専属ノードコントローラ４１０−４、遊撃ノードコントローラ４２０−２）から、リソース状況情報を受信する（ステップＳ２）。
【００３９】
遊撃ノードコントローラ４２０−１のリソース状況収集部４２３は、クラスタコントローラ３００−１およびクラスタコントローラ３００−２から、リソース状況情報を受信する（ステップＳ３、４）。遊撃ノードコントローラ４２０の帰属クラスタ判定部４２４は、クラスタコントローラ３００−１のリソース状況情報とクラスタコントローラ３００−２のリソース状況情報とを比較し（ステップＳ５）、比較結果に基づいて自装置の帰属先を判定する（ステップＳ６）。帰属クラスタ判定部４２４が、自装置をクラスタＢに帰属させると判定すると、帰属情報変更要求部４２５は、クラスタコントローラ３００−１に帰属先の削除要求を送信する（ステップＳ７）。
【００４０】
クラスタコントローラ３００−１は、自身が備えるインスタンス記憶部３２０を参照して、遊撃ノードコントローラ４２０−１上にインスタンスが存在するか否かを判定する。クラスタコントローラ３００−１は、遊撃ノードコントローラ４２０−１上にインスタンスが存在すると判定した場合、遊撃ノードコントローラ４２０−１のコンピュータリソース上で動作しているインスタンスの移動先を判定する。クラスタコントローラ３００−１が、遊撃ノードコントローラ４２０−１のコンピュータリソース上で動作しているインスタンスを専属ノードコントローラ４１０−１に移動させると判定すると、クラスタコントローラ３００−１は、遊撃ノードコントローラ４２０−１に専属ノードコントローラ４１０−１へのインスタンス移動要求を送信する（ステップＳ８）。遊撃ノードコントローラ４２０−１のノード管理部４２１は、クラスタコントローラ３００−１から送信される専属ノードコントローラ４１０−１へのインスタンス移動要求に応じて、自装置のコンピュータリソースで動作しているインスタンスを専属ノードコントローラ４１０−１に移動させる（ステップＳ９）。専属ノードコントローラ４１０−１は、遊撃ノードコントローラ４２０−１から移動されたインスタンスを自装置のコンピュータリソース上で動作させる。
【００４１】
クラスタコントローラ３００−１のノードコントローラ情報更新部３５０は、ノードコントローラ記憶部３１０に記憶された遊撃ノードコントローラ４２０−１のノードコントローラ情報を削除する（ステップＳ１０）。また、クラスタコントローラ３００−１は、遊撃ノードコントローラ４２０−１上で起動されていたインスタンスに対応するインスタンス情報をインスタンス記憶部３２０から削除する。また、遊撃ノードコントローラ４２０−１が自身の配下から削除されたことによって減少したコンピュータリソース量を、リソース状況記憶部３３０に記憶されたリソース状況情報から減算して更新する。遊撃ノードコントローラ４２０−１の帰属情報変更要求部４２５は、クラスタコントローラ３００−２に対して、自身をクラスタコントローラ３００−２の配下に帰属させる追加要求を送信する（ステップＳ１１）。クラスタコントローラ３００−２のノードコントローラ情報更新部３５０は、遊撃ノードコントローラ４２０−１から送信される追加要求を受信すると、受信した追加要求の送信元である遊撃ノードコントローラ４２０−１のノードコントローラ情報をノードコントローラ記憶部３１０に追加して記憶させる（ステップＳ１２）。また、クラスタコントローラ３００−２は、遊撃ノードコントローラ４２０−１上に起動されたインスタンス情報をインスタンス記憶部３２０に追加する。また、遊撃ノードコントローラ４２０−１が自身に帰属することによって増加したコンピュータリソース量を、リソース状況記憶部３３０に記憶されたリソース状況情報に増加させて更新する。これにより、遊撃ノードコントローラ４２０−１はクラスタコントローラ３００−２の配下のノードコントローラとして記憶され、帰属先がクラスタＡからクラスタＢに変更される。
【００４２】
以後、クラスタコントローラ３００−２がユーザ端末１００からのコンピュータリソース提供要求を受信すると、自身の配下の専属ノードコントローラ４１０の空きリソースが不足していれば、自身の配下である遊撃ノードコントローラ４２０−１にインスタンス起動要求を送信する（ステップＳ１４）。遊撃ノードコントローラ４２０−１は、コンピュータリソース提供要求に応じたイメージファイルをクラウドコントローラ２００から読み出し、自身のコンピュータリソース上にインスタンスを起動させる。
【００４３】
以上説明したように、本実施形態のリソース提供システム１によれば、特定のクラスタに帰属する専属ノードコントローラ４１０によってＳＬＡ等に応じた一定以上のコンピュータリソースを常に確保する一方、遊撃ノードコントローラ４２０を、状況に応じて複数のクラスタのいずれかに帰属させることができる。これにより、コンピュータリソースの利用効率を上げ、ユーザからのリソース提供要求に応じて即時にコンピュータリソースを提供する安定したリソース提供サービスを提供することが可能となる。
【００４４】
例えば、特定のクラスタに帰属するコンピュータリソースが提供要求に対して不足する場合、従来の技術では、リソース提供サービスの提供者が新たな物理マシンを購入してその特定のクラスタに接続させる必要がある。しかしながら、このような場合に他のクラスタにおいてコンピュータリソースの余剰が発生していることが考えられる。このとき、コンピュータリソースの余剰が存在するクラスタから、コンピュータリソースが不足している他のクラスタにコンピュータリソースの帰属先を変更させることができれば、限られたコンピュータリソースをより効率よく利用することが可能となる。そこで、本実施形態のリソース提供システム１によれば、遊撃ノードコントローラ４２０の帰属するクラスタを変更することができるため、限られたコンピュータリソースをより効率よく利用することが可能となる。また、実際に提供されるコンピュータリソースを提供するのはノードコントローラ４００であり、ノードコントローラ４００の帰属先はノードコントローラ４００自身が判定している。このため、例えばクラスタコントローラ３００によって帰属先が変更される場合に比べて、大規模なシステム変更が不要であり、プライベートクラウド全体としてのシステム保守性を高めることができる。
【００４５】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりコンピュータリソースの提供を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００４６】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００４７】
１  リソース提供システム
１００  ユーザ端末
２００  クラウドコントローラ
３００  クラスタコントローラ
３１０  ノードコントローラ記憶部
３２０  インスタンス記憶部
３３０  リソース状況記憶部
３４０  リソース状況収集部
３５０  ノードコントローラ情報更新部
３６０  ノードコントローラ判定部
４００  ノードコントローラ
４０１  ノード管理部
４０２  仮想化部
４０３  インスタンス
４０４  コンピュータリソース
４１０  専属ノードコントローラ
４１１  ノード管理部
４１２  仮想化部
４２０  遊撃ノードコントローラ
４２１  ノード管理部
４２２  仮想化部
４２３  リソース状況収集部
４２４  帰属クラスタ判定部
４２５  帰属情報変更要求部
【図１】
0005412304.tif 000002
【図２】
0005412304.tif 000003
【図３】
0005412304.tif 000004
【図４】
0005412304.tif 000005
【図５】
0005412304.tif 000006
【図６】
0005412304.tif 000007
【図７】
0005412304.tif 000008
【図８】
0005412304.tif 000009
【図９】
0005412304.tif 000010
【図１０】
0005412304.tif 000011
【図１１】
0005412304.tif 000012
【図１２】
0005412304.tif 000013