(57)【要約】【課題】複数のコンピュータリソース提供システムにおけるコンピュータリソースの利用効率を上げる。【解決手段】ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供する複数のリソース提供装置から送信されるコンピュータリソースの割当要求に応じて、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを割当要求の要求元であるリソース提供装置に割当て、リソース提供装置から送信されるコンピュータリソースの解放要求に応じて、解放要求に対応する余剰リソースを、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースとして記憶する。【選択図】図１
2010250778.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供する複数のリソース提供装置と、当該複数のリソース提供装置に接続されたリソース取引装置とを備えたコンピュータリソース提供システムであって、
前記リソース提供装置は、
自身に割当てられた前記コンピュータリソースの割当量と、自身が前記ユーザ端末に提供している前記コンピュータリソースの提供量とが記憶されるコンピュータリソース量記憶部と、
前記割当量と前記提供量との差と、前記提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身に割当てられた前記コンピュータリソースから前記提供要求に応じた前記コンピュータリソースを提供可能であるか否かを判定する判定部と、
前記判定部によって、前記提供要求量に応じた前記コンピュータリソースを提供可能ではないと判定された場合に、前記リソース取引装置に前記提供要求量に応じたコンピュータリソースの割当要求を行う割当要求部と、
前記割当量と前記提供量との差と、前記提供要求量とを比較して、自身に割当てられた前記コンピュータリソースのうち、一定期間内に提供しない前記コンピュータリソースを余剰リソースとして検出し、前記リソース取引装置に、検出した余剰リソースの解放要求を行う解放要求部と、を備え、
前記リソース取引装置は、
前記ネットワークに接続された前記コンピュータ装置に基づくコンピュータリソースのうち、前記複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される未割当コンピュータリソース識別情報記憶部と、
前記リソース提供装置から送信される前記割当要求に応じて、前記未割当コンピュータリソース識別情報に対応する前記コンピュータリソースを、前記割当要求の要求元である前記リソース提供装置に割当てるリソース割当部と、
前記リソース提供装置から送信される前記解放要求に応じて、当該解放要求に対応する余剰リソースを識別する識別情報を、前記未割当コンピュータリソース識別情報として前記未割当コンピュータリソース識別情報記憶部に記憶させるリソース解放部と、
を備えることを特徴とするコンピュータリソース提供システム。
【請求項２】
前記提供要求には、コンピュータリソースの提供を要求する要求期間を示す情報が含まれており、
前記リソース取引装置は、
前記複数のリソース提供装置に対応する複数の前記ユーザ端末から送信される前記提供要求に基づいて、一定時間毎のコンピュータリソースの提供量の予測値を算出する要求スケジュール管理部を備え、
前記リソース割当部は、前記要求スケジュール管理部によって算出された前記提供量の予測値に応じて、コンピュータリソースが不足する前記リソース提供装置にコンピュータリソースの割当を行い、
前記リソース解放部は、前記要求スケジュール管理部によって算出された前記提供量の予測値に応じて、コンピュータリソースに余剰が発生する前記リソース提供装置に割当てられたコンピュータリソースを解放する
ことを特徴とする請求項１に記載のコンピュータリソース提供システム。
【請求項３】
前記コンピュータリソース提供システムは、複数のネットワークのそれぞれに設置された前記複数のリソース提供装置および前記リソース取引装置を備え、
前記リソース取引装置のリソース割当部は、
自身のネットワークに接続されたコンピュータリソースの前記割当量と前記提供量との差と、前記提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身のネットワークに接続されたコンピュータリソースから前記提供要求に応じた前記コンピュータリソースを提供可能であるか否かを判定し、提供可能でないと判定した場合に、他の前記ネットワークの前記リソース取引装置にコンピュータリソースの割当要求を送信し、送信した割当要求に応じて前記他のリソース取引装置から割当てられるコンピュータリソースを、前記割当要求の要求元である前記リソース提供装置に割当てる
ことを特徴とする請求項１または請求項２に記載のコンピュータリソース提供システム。
【請求項４】
前記コンピュータリソースの提供は、前記コンピュータ装置が自身のコンピュータリソースに仮想マシンを起動して、起動した仮想マシンを前記ユーザ端末に利用させることにより行われ、複数の前記仮想マシンは用途に応じてクラスタ毎に管理され、
前記リソース取引装置のリソース割当部は、
前記他のリソース取引装置に、前記クラスタ毎にコンピュータリソースの割当要求を行う
ことを特徴とする請求項３に記載のコンピュータリソース提供システム。
【請求項５】
前記リソース取引装置のリソース割当部は、
自身のネットワーク内の前記コンピュータ装置によって提供されている仮想マシンに対応する新たなコンピュータリソースの提供要求を受信し、受信した提供要求に応じたコンピュータリソースを自身のネットワーク内から提供可能でないと判定した場合には、前記コンピュータ装置によって提供されている仮想マシンに対応するクラスタに属する全てのコンピュータリソースについての割当要求を前記他のリソース取引装置に行い、送信した割当要求に応じて前記他のリソース取引装置から割当てられるコンピュータリソースに対して、自身のネットワーク内の前記コンピュータ装置によって提供されている前記仮想マシンを移動させる
ことを特徴とする請求項４に記載のコンピュータリソース提供システム。
【請求項６】
ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供し、自身に割当てられた前記コンピュータリソースの割当量と、自身が前記ユーザ端末に提供している前記コンピュータリソースの提供量とが記憶されるコンピュータリソース量記憶部を有する複数のリソース提供装置と、当該複数のリソース提供装置に接続され、前記ネットワークに接続された前記コンピュータ装置に基づくコンピュータリソースのうち、前記複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される未割当コンピュータリソース識別情報記憶部を有するリソース取引装置とを備えたコンピュータリソース提供システムのコンピュータリソース提供方法であって、
前記リソース提供装置が、
前記割当量と前記提供量との差と、前記提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身に割当てられた前記コンピュータリソースから前記提供要求に応じた前記コンピュータリソースを提供可能であるか否かを判定するステップと、
前記提供要求量に応じた前記コンピュータリソースを提供可能ではないと判定された場合に、前記リソース取引装置に前記提供要求量に応じたコンピュータリソースの割当要求を行うステップと、
前記割当量と前記提供量との差と、前記提供要求量とを比較して、自身に割当てられた前記コンピュータリソースのうち、一定期間内に提供しない前記コンピュータリソースを余剰リソースとして検出し、前記リソース取引装置に、検出した余剰リソースの解放要求を行うステップと、
前記リソース取引装置が、
前記リソース提供装置から送信される前記割当要求に応じて、前記未割当コンピュータリソース識別情報に対応する前記コンピュータリソースを、前記割当要求の要求元である前記リソース提供装置に割当てるステップと、
前記リソース提供装置から送信される前記解放要求に応じて、当該解放要求に対応する余剰リソースを識別する識別情報を、前記未割当コンピュータリソース識別情報として前記未割当コンピュータリソース識別情報記憶部に記憶させるステップと、
を備えることを特徴とするコンピュータリソース提供方法。
【請求項７】
ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供し、自身に割当てられた前記コンピュータリソースの割当量と、自身が前記ユーザ端末に提供している前記コンピュータリソースの提供量とが記憶されるコンピュータリソース量記憶部を有する複数のリソース提供装置に接続され、前記ネットワークに接続された前記コンピュータ装置に基づくコンピュータリソースのうち、前記複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される未割当コンピュータリソース識別情報記憶部を有するリソース取引装置のコンピュータに、
前記リソース提供装置から送信されるコンピュータリソースの割当要求に応じて、前記未割当コンピュータリソース識別情報に対応する前記コンピュータリソースを、前記割当要求の要求元である前記リソース提供装置に割当てるステップと、
前記リソース提供装置から送信されるコンピュータリソースの解放要求に応じて、当該解放要求に対応する余剰リソースを識別する識別情報を、前記未割当コンピュータリソース識別情報として前記未割当コンピュータリソース識別情報記憶部に記憶させるステップと、
を実行させるリソース取引プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ端末から送信されるコンピュータリソースの提供要求に応じてコンピュータリソースの提供を行なうコンピュータリソース提供システム、コンピュータリソース提供方法およびリソース取引プログラムに関する。
【背景技術】
【０００２】
近年、コンピュータ装置のプロセッサやメモリ、ディスクなど物理マシンのコンピュータリソースを、仮想的に分割したり統合したりして仮想マシンを起動する仮想化技術が研究されている。このような仮想化技術を用いて、ユーザ端末からの要求に応じた容量の仮想マシンを提供するクラウド・コンピューティングやグリッド・コンピューティング等と呼ばれるコンピュータリソース提供システムが提供されている。このようなコンピュータリソース提供システムでは、ユーザは、コンピュータのハードウェアやソフトウェアを、買い取りやリースではなく、電気や水道等のように従量制の支払いを行って利用したり、必要な時に必要なだけ利用したりすることが可能である（例えば、非特許文献１〜３）。このようなコンピュータの利用形態が普及する中で、複数の事業者が独自にこのようなコンピュータリソース提供システムを構築し、ユーザは複数のコンピュータリソース提供システムの中から自身の要求に沿った最適なコンピュータリソース提供システムを利用するコンピューティング環境が普及しつつある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“ａｍａｚｏｎ  ｗｅｂ  ｓｅｒｖｉｃｅｓ”、[online]、[平成２１年４月１日検索]、インターネットＵＲＬ：http://aws.amazon.com/
【非特許文献２】“ａｍａｚｏｎ  ｗｅｂ  ｓｅｒｖｉｃｅｓ  Ｔｅｃｎｎｉｃａｌ  Ｄｏｃｕｍｅｎｔａｔｉｏｎ”、[online]、[平成２１年４月１日検索]、インターネットＵＲＬ：http://aws.amazon.com/documentation/
【非特許文献３】学びｉｎｇ著、「Ａｍａｚｏｎ ＥＣ２／Ｓ３クラウド入門」、秀和システム、２００８年１２月
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、コンピュータリソース提供システムを提供する事業者は、ユーザからの提供要求に応じてコンピュータリソースを即時に提供するために、要求されるコンピュータリソースの量が最大となる時に合わせた規模のコンピュータリソースを予め用意しておく必要がある。例えば、図１７（ａ）は、あるユーザから要求されるコンピュータリソースの時間の経過に応じた提供要求量の遷移を示す図である。このように、コンピュータリソースの提供要求量には、時間帯や曜日、季節などに応じた揺らぎがあると考えられる。この場合、サービスを提供する事業者は、提供要求量が最大となる時に提供可能な量のコンピュータリソースを用意すると、提供要求量の少ない期間にはコンピュータリソースの余剰が発生することとなりコンピュータリソースを有効に利用できない。ここで、図１７（ｂ）は、他のユーザから要求されるコンピュータリソースの提供要求量の遷移を示す。このように、一般的にあるユーザと他のユーザとの提供要求量の遷移は異なるため、時間の経過に応じた提供要求量の合計値は、ユーザ数が多ければ多いほど図１７（ｃ）に示すように平準化される。すなわち、コンピュータリソース提供システムを提供する際には、システム規模が大規模であればある程、コンピュータリソースの提供要求量が平準化され、提供要求に応じて用意するコンピュータリソースを有効に利用できると考えられる。
【０００５】
本発明は、このような状況に鑑みてなされたもので、複数のコンピュータリソース提供システムにおけるコンピュータリソースの利用効率を上げるコンピュータリソース提供システム、コンピュータリソース提供方法およびリソース取引プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供する複数のリソース提供装置と、複数のリソース提供装置に接続されたリソース取引装置とを備えたコンピュータリソース提供システムであって、リソース提供装置は、自身に割当てられたコンピュータリソースの割当量と、自身がユーザ端末に提供しているコンピュータリソースの提供量とが記憶されるコンピュータリソース量記憶部と、割当量と提供量との差と、提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身に割当てられたコンピュータリソースから提供要求に応じたコンピュータリソースを提供可能であるか否かを判定する判定部と、判定部によって、提供要求量に応じたコンピュータリソースを提供可能ではないと判定された場合に、リソース取引装置に提供要求量に応じたコンピュータリソースの割当要求を行う割当要求部と、割当量と提供量との差と、提供要求量とを比較して、自身に割当てられたコンピュータリソースのうち、一定期間内に提供しないコンピュータリソースを余剰リソースとして検出し、リソース取引装置に、検出した余剰リソースの解放要求を行う解放要求部と、を備え、リソース取引装置は、ネットワークに接続されたコンピュータ装置に基づくコンピュータリソースのうち、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される未割当コンピュータリソース識別情報記憶部と、リソース提供装置から送信される割当要求に応じて、未割当コンピュータリソース識別情報に対応するコンピュータリソースを、割当要求の要求元であるリソース提供装置に割当てるリソース割当部と、リソース提供装置から送信される解放要求に応じて、解放要求に対応する余剰リソースを識別する識別情報を、未割当コンピュータリソース識別情報として未割当コンピュータリソース識別情報記憶部に記憶させるリソース解放部と、を備えることを特徴とする。
【０００７】
また、本発明は、上述した提供要求には、コンピュータリソースの提供を要求する要求期間を示す情報が含まれており、リソース取引装置は、複数のリソース提供装置に対応する複数のユーザ端末から送信される提供要求に基づいて、一定時間毎のコンピュータリソースの提供量の予測値を算出する要求スケジュール管理部を備え、リソース割当部は、要求スケジュール管理部によって算出された提供量の予測値に応じて、コンピュータリソースが不足するリソース提供装置にコンピュータリソースの割当を行い、リソース解放部は、要求スケジュール管理部によって算出された提供量の予測値に応じて、コンピュータリソースに余剰が発生するリソース提供装置に割当てられたコンピュータリソースを解放することを特徴とする。
【０００８】
また、本発明は、上述したコンピュータリソース提供システムは、複数のネットワークのそれぞれに設置された複数のリソース提供装置およびリソース取引装置を備え、リソース取引装置のリソース割当部は、自身のネットワークに接続されたコンピュータリソースの割当量と提供量との差と、提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身のネットワークに接続されたコンピュータリソースから提供要求に応じたコンピュータリソースを提供可能であるか否かを判定し、提供可能でないと判定した場合に、他のネットワークのリソース取引装置にコンピュータリソースの割当要求を送信し、送信した割当要求に応じて他のリソース取引装置から割当てられるコンピュータリソースを、割当要求の要求元であるリソース提供装置に割当てることを特徴とする。
【０００９】
また、本発明は、上述したコンピュータリソースの提供は、コンピュータ装置が自身のコンピュータリソースに仮想マシンを起動して、起動した仮想マシンをユーザ端末に利用させることにより行われ、複数の仮想マシンは用途に応じてクラスタ毎に管理され、リソース取引装置のリソース割当部は、他のリソース取引装置に、クラスタ毎にコンピュータリソースの割当要求を行うことを特徴とする。
【００１０】
また、本発明は、上述したリソース取引装置のリソース割当部は、自身のネットワーク内のコンピュータ装置によって提供されている仮想マシンに対応する新たなコンピュータリソースの提供要求を受信し、受信した提供要求に応じたコンピュータリソースを自身のネットワーク内から提供可能でないと判定した場合には、コンピュータ装置によって提供されている仮想マシンに対応するクラスタに属する全てのコンピュータリソースについての割当要求を他のリソース取引装置に行い、送信した割当要求に応じて他のリソース取引装置から割当てられるコンピュータリソースに対して、自身のネットワーク内のコンピュータ装置によって提供されている仮想マシンを移動させることを特徴とする。
【００１１】
また、本発明は、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供し、自身に割当てられたコンピュータリソースの割当量と、自身がユーザ端末に提供しているコンピュータリソースの提供量とが記憶されるコンピュータリソース量記憶部を有する複数のリソース提供装置と、複数のリソース提供装置に接続され、ネットワークに接続されたコンピュータ装置に基づくコンピュータリソースのうち、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される未割当コンピュータリソース識別情報記憶部を有するリソース取引装置とを備えたコンピュータリソース提供システムのコンピュータリソース提供方法であって、リソース提供装置が、割当量と提供量との差と、提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身に割当てられたコンピュータリソースから提供要求に応じたコンピュータリソースを提供可能であるか否かを判定するステップと、提供要求量に応じたコンピュータリソースを提供可能ではないと判定された場合に、リソース取引装置に提供要求量に応じたコンピュータリソースの割当要求を行うステップと、割当量と提供量との差と、提供要求量とを比較して、自身に割当てられたコンピュータリソースのうち、一定期間内に提供しないコンピュータリソースを余剰リソースとして検出し、リソース取引装置に、検出した余剰リソースの解放要求を行うステップと、リソース取引装置が、リソース提供装置から送信される割当要求に応じて、未割当コンピュータリソース識別情報に対応するコンピュータリソースを、割当要求の要求元であるリソース提供装置に割当てるステップと、リソース提供装置から送信される解放要求に応じて、解放要求に対応する余剰リソースを識別する識別情報を、未割当コンピュータリソース識別情報として未割当コンピュータリソース識別情報記憶部に記憶させるステップと、を備えることを特徴とする。
【００１２】
また、本発明は、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供し、自身に割当てられたコンピュータリソースの割当量と、自身がユーザ端末に提供しているコンピュータリソースの提供量とが記憶されるコンピュータリソース量記憶部を有する複数のリソース提供装置と、複数のリソース提供装置に接続され、ネットワークに接続されたコンピュータ装置に基づくコンピュータリソースのうち、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される未割当コンピュータリソース識別情報記憶部を有するリソース取引装置のコンピュータに、リソース提供装置から送信されるコンピュータリソースの割当要求に応じて、未割当コンピュータリソース識別情報に対応するコンピュータリソースを、割当要求の要求元であるリソース提供装置に割当てるステップと、リソース提供装置から送信されるコンピュータリソースの解放要求に応じて、解放要求に対応する余剰リソースを識別する識別情報を、未割当コンピュータリソース識別情報として未割当コンピュータリソース識別情報記憶部に記憶させるステップと、を実行させるリソース取引プログラムである。
【発明の効果】
【００１３】
以上説明したように、本発明によれば、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供する複数のリソース提供装置から送信されるコンピュータリソースの割当要求に応じて、リソース取引装置が、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを割当要求の要求元であるリソース提供装置に割当て、リソース提供装置から送信されるコンピュータリソースの解放要求に応じて、解放要求に対応する余剰リソースを、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースとして記憶するようにしたので、複数のリソース提供装置のコンピュータリソースを共用化することができ、それぞれのコンピュータリソースを有効に利用することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態によるリソース提供システムの概念を示す図である。
【図２】従来のリソース提供システムと本発明の第１の実施形態によるリソース提供システムとの差異の概念を示す図である。
【図３】本発明の第１の実施形態によるリソース提供システムの端末構成を示すブロック図である。
【図４】本発明の第１の実施形態によるリソース提供システムの構成を示すブロック図である。
【図５】本発明の第１の実施形態による要求スケジュール記憶部に記憶される提供要求のデータ例を示す図である。
【図６】本発明の第１の実施形態による要求スケジュール管理部が算出するクラウドサービスシステム毎の提供量の予測値のデータ例を示す図である。
【図７】本発明の第１の実施形態によるクラウド状態管理部が自身の記憶領域に記憶させる利用状況情報のデータ例を示す図である。
【図８】本発明の第１の実施形態によるリソース割当スケジュール管理部が算出する仮想化装置の割当に必要となる所要時間のデータ例を示す図である。
【図９】本発明の第１の実施形態による仮想化装置の割当処理の動作例を示すフローチャートである。
【図１０】本発明の第１の実施形態による仮想化装置の割当処理の動作例を示すシーケンス図である。
【図１１】本発明の第１の実施形態による仮想化装置の解放処理の動作例を示すフローチャートである。
【図１２】本発明の第１の実施形態による仮想化装置の解放処理の動作例を示すシーケンス図である。
【図１３】本発明の第２の実施形態によるリソース提供システムの端末構成を示すブロック図である。
【図１４】本発明の第２の実施形態によるグループテーブルのデータ例を示す図である。
【図１５】本発明の第２の実施形態による属性テーブルのデータ例を示す図である。
【図１６】本発明の第２の実施形態による制約テーブルのデータ例を示す図である。
【図１７】クラウドサービスシステムのスケールメリットを説明する図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について、図面を参照して説明する。
＜第１の実施形態＞
まず、図１を参照して、本発明の第１の実施形態によるリソース提供システム１の概要を説明する。本実施形態のリソース提供システム１は、複数のクラウドサービスシステム（第１のクラウドサービスシステム１０００、第２のクラウドサービスシステム２０００）と、マシンプール３０００とを備えている。クラウドサービスシステムは、自身のコンピュータリソースを仮想化して仮想マシンを起動する複数台の仮想化装置（物理マシン）を備えている。また、クラウドサービスシステムは、ユーザ端末からのコンピュータリソースの提供要求に応じて、自身が備える仮想化装置に起動された仮想マシンをユーザ端末に利用させることによってコンピュータリソースの提供を行う。マシンプール３０００は、いずれのクラウドサービスシステムにも属さない仮想化装置が属するコンピュータ群である。
【００１６】
クラウドサービスシステムは、自身に属する仮想化装置のコンピュータリソースに余剰がある場合には、余剰分の仮想化装置を解放し、マシンプール３０００に帰属させる。一方、自身のコンピュータリソースが不足する場合には、マシンプール３０００から仮想化装置を取得し、取得した仮想化装置のコンピュータリソースを提供する。このようにすれば、複数のクラウドサービスシステムの間で余剰リソースを共有化し、互いにコンピュータリソースを融通しあうことが可能となる。これにより、それぞれのクラウドサービスシステムにおいて、自身が予め用意したコンピュータリソースの量を超えるコンピュータリソースの提供要求があった場合にも、コンピュータリソースの提供を行なうことが可能となる。また、それぞれのクラウドサービスシステムにおいて提供可能なコンピュータリソースの総量は、それぞれのクラウドサービスシステムが独自に用意するコンピュータリソースを超えることとなるから、時間帯によるユーザからの提供要求の揺らぎを平準化するスケールメリットを享受することが可能である。
【００１７】
図２（ａ）に示すように、従来のクラウドサービスシステムは、それぞれが独自にコンピュータリソースを用意し、独自に用意したコンピュータリソースのみを利用可能とするものであった。すなわち、それぞれのクラウドサービスシステムにおいて、複数のユーザから不規則に行なわれるコンピュータリソースの提供要求に応じて、コンピュータリソースを提供できるだけのコンピュータリソースを予め用意しておく必要があった。このため、用意したコンピュータリソースに余剰が発生している時間帯には、余剰リソースは余剰のままとなっており、用意したコンピュータリソースを有効に活用できているとはいえない場合があった。これに対し、本実施形態によるリソース提供システム１では、図２（ｂ）に示すように、複数のクラウドサービスシステムが、マシンプールを経由してコンピュータリソースを融通しあうことにより、クラウドサービスシステムにおいて余剰リソースがある場合には、余剰リソースを他のクラウドサービスシステムで活用できるようにして、コンピュータリソースの有効利用を可能とするものである。
【００１８】
ここで、それぞれのクラウドサービスシステムはそれぞれ異なるサービスであるから、互いのネットワークを隔離して、クラウドサービスシステム間での情報漏えいや不正アクセスが行なわれないようなセキュリティを確保することが重要である。そこで、各クラウドサービスシステムには、物理的または論理的に異なるネットワークセグメントを形成させる。さらに、クラウドサービスシステム間において仮想化装置を移動させる際には、必ず一旦マシンプール３０００に属してから移動させるようにして、クラウドサービスシステム間で直接的にコンピュータリソースの移動を行なわせない。このようにして、各クラウドサービスシステムの独立性を保つ。ここで、「仮想化装置の移動」は、後述するように、仮想化装置が帰属するネットワークセグメントの切り替えを行なうことによって実現する。
【００１９】
さらに、各クラウドサービスシステムからマシンプール３０００に仮想化装置の解放を行なう際には、解放された仮想化装置についてディスクのクリーンアップやメンテナンス、動作テストなどのクリーンアップ処理を行う。解放された仮想化装置を他のクラウドサービスシステムに取得させる際には、このようなクリーンアップ処理を行った後に取得させる。このようにして、クラウドサービスシステム間を移動するコンピュータリソースに他のクラウドサービスシステムにおいて利用されていた際の情報が残留することを防ぐ。このようにして、クラウドサービスシステム間での情報漏えいや不正アクセスを防ぐ。また、ＶＬＡＮ（Virtual Local Area Network）などのネットワークの仮想化技術により各クラウドサービスシステムを構成する物理マシン群は、それぞれネットワークセキュリティ上で独立した構成となっており、ネットワーク上でのクラウドサービスシステムをまたがった形態での情報漏えいや改ざんが起こらない構成とする。これにより、各クラウドサービスシステムは、いわゆるプライベートクラウドとして企業向けに提供できるレベルのセキュリティが確保される。
【００２０】
＜構成＞
次に、図３を参照して、このようなリソース提供システム１を提供する具体的な端末構成例を説明する。ここでは、第１のクラウドサービスシステム１０００と、第２のクラウドサービスシステム２０００と、マシンプール３０００とのコンピュータ群によりネットワークが形成されている。
【００２１】
第１のクラウドサービスシステム１０００には、クラウド管理装置１１００と、クラスタ管理装置１２００−１と、クラスタ管理装置１２００−２と、仮想化装置１３００−１と、仮想化装置１３００−２と、仮想化装置１３００−３とが属している。第２のクラウドサービスシステム２０００には、クラウド管理装置２１００と、クラスタ管理装置２２００−１と、仮想化装置クラスタ管理装置２２００−２と、仮想化装置２３００−１と、仮想化装置２３００−２と、仮想化装置２３００−３と、仮想化装置２３００−４と、仮想化装置２３００−５とが属している。マシンプール３０００には、マシンプール管理装置３１００と、クリーンアップ装置３２００と、仮想化装置３３００−１と、仮想化装置３３００−２と、仮想化装置３３００−３とが属している。ここで、同名の各装置は同様の構成であるので、個別の説明をする必要がない場合には、それぞれクラウド管理装置１１００、クラスタ管理装置１２００、仮想化装置１３００として説明する。リソース提供システム１が備える仮想化装置（仮想化装置１３００、仮想化装置２３００、仮想化装置３３００）は、第１のクラウドサービスシステム１０００、第２のクラウドサービスシステム２０００、マシンプール３０００のいずれかのコンピュータ群に割当てられており、クラウドサービスシステムにおけるクラウド管理装置１１００、マシンプール３０００におけるマシンプール管理装置３１００のそれぞれには、自身に割当てられた仮想化装置の識別情報が記憶されている。
【００２２】
次に、図４を参照して、リソース提供システム１を提供する各コンピュータ装置の機能を説明する。ユーザ端末５００は、第１のクラウドサービスシステム１０００によりコンピュータリソースの提供を受けるコンピュータ装置である。ユーザ端末５００は、インターネットブラウザの機能を備えており、クラウド管理装置１１００等と通信を行う。ユーザ端末５００は、ユーザから入力される操作情報に応じて、コンピュータリソースの提供要求をクラウド管理装置１１００に送信する。また、ユーザ端末５００は、コンピュータリソースの提供要求に応じて自身に提供された仮想化装置１３００のＩＰアドレスを、クラウド管理装置１１００から受信する。ユーザ端末５００は、受信したＩＰアドレスを宛先として、自身に提供された仮想化装置１３００にアクセスし、仮想化装置１３００−Ｎの仮想マシンを利用する。ユーザ端末５００は、例えば、自身に提供された仮想化装置１３００の仮想マシン上にウェブサーバ等を構築して、インターネット上にウェブサービスを公開することができる。ここでは、コンピュータリソースの提供要求を行うコンピュータ装置として、一台のユーザ端末５００を図示して説明するが、それぞれのクラウドサービスシステムは複数台のユーザ端末からの提供要求を受信し、コンピュータリソースを提供する。ここでは、ユーザ端末５００は、インターネットブラウザの機能によりクラウド管理装置１１００等と通信を行うこととしたが、その他の専用のアプリケーションにより通信を行うようにしても良い。また、クラウドサービスシステムは、例えば、ネットワークを介してアプリケーションサービスを提供するサービス提供装置から送信されるコンピュータリソースの提供要求に応じて、コンピュータリソースを提供しても良い。このように、クラウドサービスシステムは、ネットワークを介して接続された様々なコンピュータ装置において動作するプログラムから送信されるコンピュータリソースの提供要求に応じて、コンピュータリソースを提供する。
【００２３】
クラウド管理装置１１００は、ユーザ端末５００から送信されるコンピュータリソースの提供要求を受付け、第１のクラウドサービスシステム１０００に属するクラスタ管理装置１２００や仮想化装置１３００を管理するコンピュータ装置である。クラウド管理装置１１００は、提供要求受信部１１１０と、リソース量記憶部１１２０と、判定部１１３０と、リソース提供部１１４０と、割当要求部１１５０と、解放要求部１１６０とを備えている。
【００２４】
提供要求受信部１１１０は、ユーザ端末５００から送信されるコンピュータリソースの提供要求を受信する。ここで、提供要求受信部１１１０が受信する提供要求には、提供要求の送信元のユーザ端末５００を識別するユーザＩＤ、コンピュータリソースの提供要求期間、コンピュータリソースの提供要求量等が含まれる。コンピュータリソースの提供要求期間には、例えば、ユーザがコンピュータリソースの提供を要求する開始日時と、終了日時とを示す情報が含まれる。コンピュータリソースの提供要求量には、例えば、予め定められたコンピュータリソース単位に基づく単位数を表す情報が含まれる。例えば、コンピュータリソースの提供単位は、コンピュータリソースの能力値によって定められた単位であり、例えば、ＣＰＵ性能が２．６ＧＨｚ、メモリ容量が２ＧＢ、ディスク容量が５００ＧＢである仮想マシンを１単位とする。例えば、第１のクラウドサービスシステムは、提供要求を送信するユーザとの間で予め定められた単位数を上限として、ユーザ端末５００からの提供要求に応じてコンピュータリソースを提供する。
【００２５】
リソース量記憶部１１２０には、ネットワーク内で第１のクラウドサービスシステム１０００に割当てられたコンピュータリソースの割当量と、複数のユーザ端末５００に提供しているコンピュータリソースの提供量とが記憶されている。コンピュータリソースの割当量とは、第１のクラウドサービスシステム１０００に属する複数台の仮想化装置１３００のコンピュータリソースの総量である。コンピュータリソースの提供量は、リソース提供部１１４０によってユーザ端末５００にコンピュータリソースが提供される際に更新されて記憶される。割当量と提供量とは、上述したコンピュータリソース単位によって表される。
【００２６】
判定部１１３０は、提供要求受信部１１１０が受信した提供要求に含まれる提供要求量に応じたコンピュータリソースが、第１のクラウドサービスシステム１０００に割当てられているコンピュータリソースの内から提供可能であるか否かを判定する。例えば、判定部１１３０は、リソース量記憶部１１２０に記憶された割当量と提供量との差と、ユーザ端末５００から送信された提供要求に含まれる提供要求量とを比較して、割当量と提供量との差が提供要求量よりも大きい場合には、提供可能であると判定する。一方、割当量と提供量との差が提供要求量よりも小さい場合には、提供可能でないと判定する。
【００２７】
リソース提供部１１４０は、判定部１１３０によってコンピュータリソースが提供可能であると判定された場合に、第１のクラウドサービスシステム１０００に属する複数の仮想化装置１３００のうち、提供要求量に応じたコンピュータリソースの空きがある仮想化装置１３００が有するコンピュータリソースを、ユーザ端末５００に提供すると判定する。リソース提供部１１４０は、提供すると判定したコンピュータリソースを識別するＩＰ（Internet Protocol）アドレスを、ユーザ端末５００に送信する。ユーザ端末５００は、送信されたＩＰアドレスを宛先として仮想化装置１３００に接続し、提供された仮想化装置１３００のコンピュータリソースを利用する。
【００２８】
割当要求部１１５０は、判定部１１３０によって、コンピュータリソースが提供可能でないと判定された場合に、リソース取引装置１００に対して、仮想化装置の割当要求を送信する。割当要求には、割当要求部１１５０が割当を要求するコンピュータリソース単位を示す割当要求量が含まれる。割当要求量は、例えば、割当量と提供量との差に対する提供要求量の不足分である。ここで、割当要求部１１５０が送信した割当要求に応じて仮想化装置１３００が割当てられると、リソース提供部１１４０が、割当てられた仮想化装置１３００の内から、ユーザ端末５００にコンピュータリソースを提供する。
【００２９】
解放要求部１１６０は、リソース量記憶部１１２０に記憶された割当量と提供量との差と、提供要求量とを比較して、自身に割当てられた仮想化装置１３００のうち、コンピュータリソースを一定期間内に提供しない仮想化装置１３００を余剰リソースとして検出し、リソース取引装置１００に、検出した余剰リソースの解放要求を行う。
【００３０】
クラスタ管理装置１２００は、第１のクラウドサービスシステム１０００に属する複数の仮想化装置１３００を、定められた単位（クラスタ）毎に管理するコンピュータ装置である。例えば、クラスタ管理装置１２００−１は、仮想化装置１３００−１と仮想化装置１３００−２とを管理し、クラスタ管理装置１２００−２は仮想化装置１３００−３と仮想化装置１３００−４とを管理する。ここで、仮想化装置１３００の管理においては、例えば、仮想化装置１３００のリソース状況を監視する処理を行う。例えば、クラスタ管理装置１２００は、クラウド管理装置１１００のリソース提供部１１４０がユーザ端末５００に提供するコンピュータリソースに対応する仮想化装置１３００のＩＰアドレスを通知する際、複数の仮想化装置１３００のうちいずれの仮想化装置１３００のコンピュータリソースを提供するかを、自身に属する仮想化装置１３００のリソース状況、負荷状況等に基づいて判定する。
【００３１】
複数台の仮想化装置１３００は、自身のコンピュータリソースを仮想化する機能を備えたコンピュータ装置である。仮想化装置１３００は、自身のコンピュータリソースを仮想的に分割し、分割したコンピュータリソース上に仮想マシンを起動させる。ここでは、クラウドサービスシステムによって、複数種類のＯＳ（Operating System）や、そのＯＳ上で動作するサーバプログラム、アプリケーションプログラムなどが含まれる情報であるイメージが予め用意され、ユーザからの要求に応じたイメージが仮想マシン上に展開されてユーザ端末５００に利用可能に提供される。このような仮想マシンを提供するソフトウェアとしては、例えばＸｅｎ（登録商標）などが適用できる。
第２のクラウドサービスシステム２０００は、上述した第１のクラウドサービスシステム１０００と同様の構成であり、クラウド管理装置２１００、クラスタ管理装置２２００、仮想化装置２３００のそれぞれは、リソース取引装置１００が備える同名のコンピュータ装置と同様の構成である。
【００３２】
マシンプール３０００は、ネットワークに接続された複数のクラウドサービスシステムのうち、いずれのクラウドサービスシステムにも属さないコンピュータ装置が属するコンピュータ群である。
マシンプール管理装置３１００は、いずれのクラウドサービスシステムにも属さないコンピュータ装置を管理する。例えば、マシンプール管理装置３１００は、リソース取引装置１００から、コンピュータ装置の管理要求を受信すると、管理要求によって識別されるコンピュータ装置の識別情報を記憶する。ここで、マシンプール管理装置３１００が管理対象として記憶するコンピュータ装置の識別情報は、ネットワークに接続されたコンピュータ装置のうち、複数のクラウドサービスシステムのいずれにも割当てられていないコンピュータ装置を識別する未割当コンピュータリソース識別情報である。
【００３３】
クリーンアップ装置３２００は、リソース取引装置１００から送信されるクリーンアップ要求を受信すると、受信したクリーンアップ要求によって識別される仮想化装置１３００のクリーンアップ処理を行う。クリーンアップ処理とは、例えば、仮想化装置１３００のディスクのクリーンアップや、ディスクのメンテナンスや、セルフテストなどを含む。ディスクのクリーンアップとは、例えば、ディスクの記憶ビットの全てに０（ゼロ）を記憶させる処理である。ディスクのメンテナンスは、例えば、ディスクに書き込みを行い、書き込みエラーが発生するか否かを判定する処理である。このようなクリーンアップ処理は、ディスクの容量などに応じて、例えば１０時間などの時間を要する場合がある。
仮想化装置３３００は、第１のクラウドサービスシステム１０００に属する同名のコンピュータ装置と同様の構成である。
【００３４】
リソース取引装置１００は、各コンピュータ群の間でのコンピュータ装置の割当を制御するコンピュータ装置であり、要求受信部１１０と、要求スケジュール記憶部１２０と、要求スケジュール管理部１３０と、クラウド状態管理部１４０と、リソース割当スケジュール記憶部１５０と、リソース割当スケジュール管理部１６０と、スケジュールマッチング部１７０と、リソース割当部１８０とを備えている。
【００３５】
要求受信部１１０は、リソース取引装置１００から送信される仮想化装置の割当要求または解放要求を受信する。要求受信部１１０が割当要求または解放要求を受信すると、スケジュールマッチング部１７０によって、各クラウドサービスシステムのリソース状況に応じて余剰リソースの検出が行なわれ、検出された余剰リソースがリソース割当部１８０によって割当要求の送信元のクラウドサービスシステムに割当てられる。ここで、リソース取引装置１００の各部は、要求受信部１１０が割当要求または解放要求を受信した場合に動作するようにしても良いし、一定期間毎に動作するようにしても良いし、その双方の動作を行っても良い。
【００３６】
要求スケジュール記憶部１２０には、ネットワーク内の各クラウドサービスシステムに送信された提供要求のうち、コンピュータリソースの提供が開始されていない提供要求が記憶される。図５は、要求スケジュール記憶部１２０に記憶される提供要求のデータ例を示す図である。上述したように、提供要求には、提供要求の送信元のユーザ端末５００に対応するユーザＩＤと、コンピュータリソース提供の開始日時と、終了日時と、提供要求量とが含まれており、これらが提供要求を識別する提供要求ＩＤに対応付けられて記憶される。また、要求スケジュール記憶部１２０には、ネットワーク内のクラウドサービスシステム毎に、提供要求が記憶される。
【００３７】
要求スケジュール管理部１３０は、要求スケジュール記憶部１２０に記憶された提供要求に基づいて、クラウドサービスシステム毎に一定時間毎のコンピュータリソースの提供量の増減量の予測値を算出する。例えば、図６は、要求スケジュール管理部１３０が算出するクラウドサービスシステム毎の提供量の予測値のデータ例を示す図である。この例では、第１のクラウドサービスシステム（クラウドＩＤ「１」）では、１分後（００：０１分）には、現時点（００：００分）と比べてコンピュータリソースの提供量が１０単位増加し、２分後（００：０２分）には、現時点（００：００分）と比べてコンピュータリソースの提供量が１５単位増加することを示している。ここで、要求スケジュール管理部１３０が予測値を算出する際には、現時点での提供量に、要求スケジュール記憶部１２０に記憶された提供要求に応じた提供要求量を加算することにより算出するようにしても良いし、提供要求量の遷移を示す履歴情報を記憶させておき、曜日や時間帯、ユーザ数などの変動に応じてコンピュータリソースの提供量の増減量の予測値を算出するようにしても良い。
【００３８】
クラウド状態管理部１４０は、ネットワーク内に接続された各クラウドサービスシステムにおけるクラウド管理装置のリソース量記憶部（第１のクラウドサービスシステム１０００であれば、クラウド管理装置１１００のリソース量記憶部１１２０）に記憶されたコンピュータリソースの割当量と提供量とを読み出し、利用状況情報を自身の記憶領域に記憶させる。
【００３９】
図７は、クラウド状態管理部１４０が自身の記憶領域に記憶させる利用状況情報のデータ例を示す図である。ここでは、クラウドサービスシステムを識別するクラウドＩＤ毎に、そのクラウドサービスシステムへのコンピュータリソースの割当量と、実際にユーザ端末に提供されているコンピュータリソースの提供量とを示す情報が対応付けられて記憶される。ここでは、第１のクラウドサービスシステム１０００のクラウドＩＤを１とし、第２のクラウドサービスシステム２０００のクラウドＩＤを２とすると、第１のクラウドサービスシステム１０００には、２５６単位のコンピュータリソースが割当てられており、割当てられたコンピュータリソースのうち１５０単位のコンピュータリソースがユーザ端末に提供されていることを示している。すなわち、第１のクラウドサービスシステム１０００においては、割当量と提供量との差である余剰リソースは１１６単位であり、現状からさらに１１６単位分の提供要求に応じてコンピュータリソースの提供を行なうことが可能である。第２のクラウドサービスシステム２０００には、１２８単位のコンピュータリソースが割当てられており、割当てられたコンピュータリソースのうち１０５単位のコンピュータリソースがユーザ端末に提供されていることを示している。
【００４０】
リソース割当スケジュール記憶部１５０には、ネットワークに接続されたそれぞれのコンピュータ装置が割当てられるクラウドサービスシステムを一定時間毎に対応付けたリソース割当スケジュールが記憶される。また、リソース割当スケジュール記憶部１５０には、ネットワークに接続されたコンピュータリソースのうち、いずれのクラウドサービスシステムにも割当てられておらず、マシンプール３０００に帰属するコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される。
【００４１】
リソース割当スケジュール管理部１６０は、リソース割当スケジュール記憶部１５０に記憶されたリソース割当スケジュールに基づくネットワーク構成の変化に基づいて、仮想化装置の割当に必要となる一定時間毎の所要時間（ｓｉ）を算出する。図８は、リソース割当スケジュール管理部１６０がクラウドＩＤ毎、コンピュータリソース単位数毎に算出する仮想化装置の割当に必要となる所要時間のデータ例を示す図である。
【００４２】
スケジュールマッチング部１７０は、要求スケジュール管理部１３０によって算出されたコンピュータリソースの提供量の予測値と、クラウド状態管理部１４０によって算出された利用状況情報とに基づいて、一定時間毎の各クラウドサービスシステムの余剰リソース量を予測し、余剰リソース量が規定値以下となる時点（ｔ１、ｔ２、・・・ｔｎ）を検出する。ここで、余剰リソース量の規定値は、例えば、クラウドサービスシステム毎の割当量に応じて定められた閾値であり、余剰リソース量がその値を下回ると、ユーザ端末５００からの提供要求に応答するためのコンピュータリソースが不足する蓋然性があることを示す値である。例えば、あるクラウドサービスシステムに対するコンピュータリソースの割当量が２５６単位であったとすると、その４分の１にあたる６４単位が規定値として定められる。スケジュールマッチング部１７０は、クラウド状態管理部１４０によって算出された割当量と提供量との差である余剰リソースが、要求スケジュール管理部１３０によって算出された一定時間毎のコンピュータリソースの提供量の予測値に応じて増加した場合に、余剰リソースが規定値未満となる時点（ｔ１、ｔ２、・・・ｔｎ）を検出する。また、スケジュールマッチング部１７０は、余剰リソースが規定値未満となる各時点（ｔ１、ｔ２、・・・ｔｎ）のそれぞれと現時点（Ｔ）との差が、仮想化装置の割当に必要となる所要時間（ｓｉ）未満であるか否かを判定する。
【００４３】
リソース割当部１８０は、スケジュールマッチング部１７０が、余剰リソースが規定値未満となるいずれかの時点（ｔｉ）と現時点（Ｔ）との差が、仮想化装置の割当に必要となる所要時間（ｓｉ）未満であると判定した場合、仮想化装置の割当処理を行う。仮想化装置の割当処理では、スケジュールマッチング部１７０によって、余剰リソースが規定値未満となるいずれかの時点（ｔｉ）と現時点（Ｔ）との差が、仮想化装置の割当に必要となる所要時間（ｓｉ）未満であると判定されたクラウドサービスシステムに、マシンプール３０００に属する仮想化装置を割当てるように、仮想ネットワーク管理装置２００にネットワークセグメントの切り替えを行なわせる。
【００４４】
ここで、リソース割当部１８０は、仮想化装置の割当処理を行う際には、クラウド管理装置１１００から送信される割当要求に応じて、リソース割当スケジュール記憶部１５０に記憶された未割当コンピュータリソース識別情報を読み出し、読み出した未割当コンピュータリソース識別情報に対応する仮想化装置を、割当要求の要求元であるリソース提供装置１１００に割当てる。一方、仮想化装置の解放処理を行う際には、リソース提供装置１１００から送信される解放要求に応じて、仮想ネットワーク管理装置２００にネットワークセグメントの切り替えを行なわせた後に、解放要求に対応する余剰リソースを識別する識別情報を、未割当コンピュータリソース識別情報としてリソース割当スケジュール記憶部１５０に記憶させる。
【００４５】
仮想ネットワーク管理装置２００は、リソース取引装置１００のリソース割当部１８０からの指示に基づいて、ネットワークセグメントの切り替えを行なう。ネットワークセグメントの切り替えは、例えば、仮想化装置１３００のＩＰアドレスを、第１のクラウドサービスシステム１０００に付与されたネットワークセグメントに基づくＩＰアドレスから、第２のクラウドサービスシステム２０００に付与されたネットワークセグメントに基づくＩＰアドレスに付与し直すことによって行なう。ここでは、例えば、ネットワークセグメント毎にファイアウォールなどを設置している場合には、仮想ネットワーク管理装置２００は、ファイアウォールにおける設定値の切り替えなどを行なう。また、ネットワークセグメントは、例えば、ＶＬＡＮ、オーバレイネットワーク、ＶＰＮ（Virtual Private Network）などのネットワーク仮想化技術を用いてセキュアに分離するようにしても良い。例えば、ＶＬＡＮ機能を持つネットワークスイッチを利用して、このネットワークセグメントとの切り替えを行なう場合、仮想化装置１３００が受信する識別タグを、第１のクラウドサービスシステム１０００に付与された識別タグから、第２のクラウドサービスシステム２０００に付与された識別タグに変更するように、仮想ネットワーク管理装置２００がネットワークスイッチの設定値の切り替えを行なう。
【００４６】
＜動作例：リソース割当＞
次に、図９を参照して、本実施形態によるリソース提供システム１が、マシンプール３０００からクラウドサービスシステムに仮想化装置の割当を行う動作例を説明する。ここでは、リソース取引装置１００によって一定時間毎に行われる仮想化装置の割当処理を説明する。リソース取引装置１００は、ネットワークに接続されたクラウドサービスシステムの状況に応じて、コンピュータリソースが不足するクラウドサービスシステムに対してマシンプール３０００から仮想化装置の割当を行なう。
【００４７】
要求スケジュール管理部１３０は、要求スケジュール記憶部１２０に記憶されたクラウドサービスシステム毎の提供要求を読み出し、図５に示したような提供要求に応じた一定時間毎の提供要求量の予測値を算出する（ステップＳ１）。クラウド状態管理部１４０は、接続された各クラウドサービスシステムのクラウド管理装置から、現時点（Ｔ）で各クラウドサービスシステムがユーザ端末に提供しているコンピュータリソースの提供量を読み出し、図７に示したような利用状況情報を生成し、記憶する（ステップＳ２）。
【００４８】
リソース割当スケジュール管理部１６０は、要求スケジュール記憶部１２０に記憶された提供要求量と、各クラウドサービスシステムの割当量との差に基づいて、図６に示したような、クラウドサービスシステム毎の提供量の予測値を算出する。スケジュールマッチング部１７０は、ステップＳ１において要求スケジュール管理部１３０が算出した提供要求量の予測値と、ステップＳ２においてリソース割当スケジュール管理部１６０が算出したコンピュータリソースの提供量総量とに基づいて、一定時間毎の余剰リソース量を算出する（ステップＳ３）。また、スケジュールマッチング部１７０は、余剰リソース量が、規定値未満である時点（ｔ１、ｔ２、・・・ｔｎ）を検出する（ステップＳ４）。
【００４９】
また、リソース割当スケジュール管理部１６０は、ステップＳ４において検出した各時点（ｔ１、ｔ２、・・・ｔｎ）のそれぞれにおいて、リソース不足が予測されるクラウドサービスシステムを検出し、図８に示したような、検出したクラウドサービスシステムに仮想化装置を割当てるための所要時間（ｓｉ）を算出する（ステップＳ５）。スケジュールマッチング部１７０は、ステップＳ４において検出した余剰リソースが規定値未満となる各時点（ｔｉ）（ｉ＝１、２、・・・ｎ。初期値は１とする）と現時点（Ｔ）との差と、仮想化装置の割当に必要となる所要時間（ｓｉ）とを比較する（ステップＳ６）。
【００５０】
スケジュールマッチング部１７０が、余剰リソースが規定値未満となるいずれかの時点（ｔｉ）と現時点（Ｔ）との差が、仮想化装置の割当に必要となる所要時間（ｓｉ）より大きいと判定した場合（ステップＳ７：ＹＥＳ）、ｉをカウントアップする（ステップＳ８）。ここで、スケジュールマッチング部１７０は、ｉの値がｎより大きいか否かを判定する（ステップＳ９）。ここで、ｉの値がｎより大きいと判定すれば（ステップＳ９：ＹＥＳ）ステップＳ１に戻り、ｉの値がｎより大きくないと判定すれば（ステップＳ９：ＮＯ）ステップＳ６に戻る。一方、ステップＳ７において、スケジュールマッチング部１７０が、余剰リソースが規定値未満となるいずれかの時点（ｔｉ）と現時点（Ｔ）との差が、仮想化装置の割当に必要となる所要時間（ｓｉ）より大きくないと判定した場合（ステップＳ７：ＮＯ）、リソース割当部１８０は、仮想化装置の割当処理を行う（ステップＳ１０）。仮想ネットワーク管理装置２００は、リソース取引装置１００のリソース割当部１８０からの指示に基づいて、ネットワークセグメントの切り替えを行なう。ここで、ステップＳ６からステップＳ１０までの処理は、例えば、ｆｏｒ（ｉ＝１；；ｉ＜＝ｎ）｛ｉｆ（ｔｉ―Ｔ＞ｓｉ）  ｉ＋＋  ｅｌｓｅ  ステップＳ１０へ｝として表すことができる。
【００５１】
図９の例では、リソース取引装置１００によって一定時間毎に行われる仮想化装置の割当処理を説明したが、仮想化装置の割当処理は、第１のクラウドサービスシステム１０００から送信される割当要求に応じて行なうようにしても良い。図１０は、クラウド管理装置１１００から送信される割当要求に応じて、仮想化装置の割当を行なう動作を示すシーケンス図である。
【００５２】
クラウド管理装置１１００の提供要求受信部１１１０が、ユーザ端末５００からコンピュータリソースの提供要求を受信し、判定部１１３０が、予め自身に割当てられた仮想化装置から提供要求に応じたコンピュータリソースを提供可能ではないと判定すると、割当要求部１１５０は、リソース取引装置１００に仮想化装置の割当要求を送信する（ステップＳ１１）。リソース取引装置１００のスケジュールマッチング部１７０は、第２のクラウドサービスシステム２０００の仮想化装置２３００−１に、提供要求に応じたコンピュータリソースの余剰リソースが存在することを検出する。リソース割当部１８０は、スケジュールマッチング部１７０によって検出された仮想化装置２３００−１をクラウド管理装置１１００に割当てる割当要求を、仮想ネットワーク管理装置２００に送信する（ステップＳ１２）。
【００５３】
仮想ネットワーク管理装置２００は、仮想化装置の割当要求に応じて、仮想化装置２３００−１のネットワークセグメントを第１のクラウドサービスシステム１０００に切替えて、クラウド管理装置１１００に割当てる（ステップＳ１３）。仮想ネットワーク管理装置２００は、割当処理が完了したことを示す完了通知を、リソース取引装置１００に送信する（ステップＳ１４）。リソース取引装置１００は、完了通知をクラウド管理装置１１００に送信する（ステップＳ１５）。
【００５４】
このように、リソース提供システム１は、ネットワークに接続されたクラウドサービスシステムのいずれかが、ユーザ端末から送信される提供要求に応じてコンピュータリソースを提供するための余剰リソースが規定値未満である場合に、そのクラウドサービスシステムに対して、マシンプール３０００に属する仮想化装置を割当てる。これにより、リソース提供システム１に接続された各クラウドサービスシステムは、自身のクラウドサービスシステムに属する仮想化装置のみによってはコンピュータリソースの提供を行なうことができない場合にも、マシンプール３０００から新たに仮想化装置の割当を受けることで、ユーザ端末にコンピュータリソースの提供を行なうことが可能となる。
【００５５】
＜動作例：リソース解放＞
次に、図１１を参照して、本実施形態によるリソース提供システム１が、クラウドサービスシステムからマシンプール３０００に仮想化装置の解放を行う動作例を説明する。ここでは、リソース取引装置１００によって一定時間毎に行われる仮想化装置の解放処理を説明する。リソース取引装置１００は、ネットワークに接続されたクラウドサービスシステムの状況に応じて、コンピュータリソースの余剰が発生するクラウドサービスシステムに割当てられた仮想化装置の解放処理を行なう。
【００５６】
要求スケジュール管理部１３０は、要求スケジュール記憶部１２０に記憶されたクラウドサービスシステム毎の提供要求を読み出し、図５に示したような提供要求に応じた一定時間毎の提供量の予測値を算出する（ステップＳ２１）。クラウド状態管理部１４０は、接続された各クラウドサービスシステムのクラウド管理装置から、現時点（Ｔ）で各クラウドサービスシステムがユーザ端末に提供しているコンピュータリソースの提供量を読み出し、図７に示したような利用状況情報を算出し、記憶する（ステップＳ２２）。
【００５７】
リソース割当スケジュール管理部１６０は、要求スケジュール記憶部１２０に記憶された提供要求量と、各クラウドサービスシステムの割当量と提供量との差とに基づいて、図６に示したような、クラウドサービスシステム毎の提供量の予測値を算出する。スケジュールマッチング部１７０は、ステップＳ２１において要求スケジュール管理部１３０が算出した提供要求量の予測値と、ステップＳ２２においてリソース割当スケジュール管理部１６０が算出した利用状況情報に含まれるコンピュータリソースの提供量の総量とに基づいて、一定時間毎の余剰リソース量を算出する（ステップＳ２３）。また、スケジュールマッチング部１７０は、余剰リソース量が規定値以上である期間が一定以上存在するクラウドサービスシステムが存在するか否かを判定し（ステップＳ２４）、存在する場合は、その期間を検出する。
【００５８】
スケジュールマッチング部１７０が、余剰リソース量が規定値以上である期間が一定以上存在するクラウドサービスシステムが存在すると判定すると（ステップＳ２４：ＹＥＳ）、検出した期間の開始時間が、現時点（Ｔ）以前であるか否かを判定する（ステップＳ２５）。スケジュールマッチング部１７０が、検出した期間の開始時間が、現時点（Ｔ）以前であると判定すると、リソース割当部１８０は、その余剰リソースの解放処理を行う（ステップＳ２６）。
【００５９】
図１１の例では、リソース取引装置１００によって一定時間毎に行われる仮想化装置の解放処理を説明したが、仮想化装置の解放処理は、第１のクラウドサービスシステム１０００から送信される解放要求に応じて行なうようにしても良い。図１２は、第１のクラウドサービスシステム１０００から送信される解放要求に応じて、リソース取引装置１００が仮想化装置の解放を行なう動作を示すシーケンス図である。
【００６０】
クラウド管理装置１１００の解放要求部１１６０は、例えば、リソース量記憶部１１２０に記憶された割当量と提供量と、ユーザ端末５００から受信する提供要求とに応じて、負荷の下がっている仮想化装置１３００−１の仮想マシンを仮想化装置１３００−２に移動させることで、仮想化装置１３００−１を空き状態にすることが可能であることを検出する。クラウド管理装置１１００は、仮想マシンの移動要求を、クラスタ管理装置１２００−１に送信する（ステップＳ３１）。クラスタ管理装置１２００−１は、仮想化装置１３００−１に生成した仮想マシンを、仮想化装置１３００−２に移動させる（ステップＳ３３）。ここで、仮想マシンの移動は、仮想化技術におけるライブマイグレーションの機能によって行なう。
【００６１】
仮想化装置１３００−１は、仮想化装置１３００−２への仮想マシンの移動を完了すると、クラスタ管理装置１２００−１に、完了通知を送信する（ステップＳ３４）。クラスタ管理装置１２００−１は、仮想化装置１３００−１の解放要求を、リソース取引装置１００に送信する（ステップＳ３５）。リソース取引装置１００は、解放要求を仮想ネットワーク管理装置２００に転送する（ステップＳ３６）。そして、仮想ネットワーク管理装置２００は、仮想化装置１３００−１に付与されたＩＰアドレスを、マシンプール３０００におけるネットワークセグメントに対応するＩＰアドレスに振り替えることで、仮想化装置１３００−１を第１のクラウドサービスシステム１０００から解放する（ステップＳ３７）。仮想ネットワーク管理装置２００は、仮想化装置１３００−１の解放処理が完了すると、リソース取引装置１００に完了通知を送信する（ステップＳ３８）。リソース取引装置１００は、クリーンアップ装置３２００に、ステップＳ３７で解放された仮想化装置１３００−１のクリーンアップ要求を行う。クリーンアップ装置３２００は、送信されたクリーンアップ要求に応じて、仮想化装置１３００−１のクリーンアップ処理を行う（ステップＳ４０）。
【００６２】
クリーンアップ装置３２００は、仮想化装置１３００−１のクリーンアップ処理が完了すると、リソース取引装置１００に完了通知を送信する（ステップＳ４１）。リソース取引装置１００は、ステップＳ４０においてクリーンアップ処理が行われた仮想化装置１３００−１の管理要求を、マシンプール管理装置３１００に送信する（ステップＳ４２）。マシンプール管理装置３１００は、管理要求に応じて、仮想化装置１３００−１を自身に属するコンピュータ装置として記憶すると、リソース取引装置１００に、完了通知を送信する（ステップＳ４３）。リソース取引装置１００は、クラスタ管理装置１２００−１に、物理マシンの解放処理が完了したことを示す完了通知を送信する（ステップＳ４４）。
【００６３】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。本実施形態は、第１の実施形態において説明した複数のクラウドサービスシステムと、リソース取引装置１００との組み合わせが複数組存在する場合の実施形態である。すなわち、本実施形態では、図１３に示されるように、データセンタ１００００に設置された第１の実施形態におけるリソース提供システム１と、データセンタ２００００に設置された同様のリソース提供システム１との間で、コンピュータリソースの融通を行なうものである。
【００６４】
ここでは、例えば、データセンタ１００００におけるリソース取引装置１０１００のリソース割当部１０１８０は、自身のネットワーク（データセンタ１００００）に接続されたコンピュータリソースの割当量と提供量との差と、提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身のネットワークに接続された仮想化装置から提供要求に応じたコンピュータリソースを提供可能であるか否かを判定し、提供可能であると判定した場合、提供要求の送信元であるユーザ端末５００にコンピュータリソースを提供する。一方、提供可能でないと判定した場合に、他のネットワーク（データセンタ２００００）のリソース取引装置２０１００に仮想化装置の割当要求を送信し、送信した割当要求に応じてデータセンタ２００００のリソース取引装置２０１００から割当てられる仮想化装置を、割当要求の要求元であるクラウド管理装置１１１００に割当てる。
【００６５】
ここで、例えばデータセンタ１００００内の各コンピュータ装置は、回線速度の早いＬＡＮ等で接続されているが、データセンタ１００００とデータセンタ２００００とは、インターネットなどのネットワーク３００００を介して接続される。ここで、例えばクラスタ管理装置１１２００−１によって管理される複数の仮想化装置１１３００の仮想マシンにおいて、ウェブ（ＷＥＢ）サーバ（Web Server）と、アプリケーション（ＡＰ）サーバ（AP Server）と、データベース（ＤＢ）サーバ（DB Server）とが構築されている場合、このようなクラスタに属する仮想マシンの全ては、回線速度の早いＬＡＮ内に接続されていることが望ましい。そこで、リソース取引装置１０１００のリソース割当部１０１８０は、リソース取引装置２０１００に対してコンピュータリソースの割当要求を行う際には、クラスタ毎に行なう。
【００６６】
さらに、データセンタをまたがって仮想化装置の割当を行なう際には、ライブマイグレーションの機能を用いてデータセンタ間での仮想マシンの移動を行い、同一クラスタの全ての仮想化装置１１３００が同一のデータセンタ内に構築されるようにしても良い。この場合、リソース取引装置１０１００のリソース割当部１０１８０は、自身のネットワーク（データセンタ１００００）内の仮想化装置１１３００−１によって提供されている仮想マシンと同一クラスタでの新たなコンピュータリソースの提供要求を受信し、受信した提供要求に応じたコンピュータリソースを自身のネットワーク内から提供可能でないと判定した場合には、仮想化装置１１３００によって提供されている仮想マシンに対応するクラスタに属する全ての仮想化装置についての割当要求を、データセンタ２００００のリソース取引装置２０１００に行い、送信した割当要求に応じてリソース取引装置２０１００から割当てられる仮想化装置に対して、動作中の仮想マシンを移動させる。
【００６７】
ここで、同一のクラスタに属する複数の仮想マシンは、同一のデータセンタ内に設置された仮想化装置１１３００によって提供されることが望ましいが、例えば、ＷＥＢサーバとＡＰサーバとＤＢサーバとが連携して動作する同一の用途のグループに存在する場合、一般的に、ＷＥＢサーバとＡＰサーバとの間で送受信される情報よりも、ＡＰサーバとＤＢサーバとの間で送受信される情報の方が多く、高負荷である。そこで、複数の仮想マシンが同一のグループに属する場合でも、例えばＷＥＢサーバと、ＡＰサーバまたはＤＢサーバとは、異なるデータセンタに設置することを許可し、ＡＰサーバとＤＢサーバとを異なるデータセンタに設置することは許可しないようにしても良い。
【００６８】
例えば、図１４〜図１６は、同一のグループに属する仮想マシンについて、複数のデータセンタをまたがって仮想マシンを構築することを許可するか否か判定する際に参照するデータテーブルの例を示す図である。これらのデータテーブルは、リソース取引装置１０１００のリソース割当部１０１８０に記憶される。例えば、図１４のグループテーブルに示すように、ユーザ端末５００に提供される仮想マシンは、仮想マシンＩＤに対応付けられて、その仮想マシンが属するクラスタを識別するクラスタＩＤと、その仮想マシンを起動する際に用いられたＯＳ（Operation System）やアプリケーションソフトなどのイメージファイルとが記憶される。この例では、例えば、仮想マシンＩＤが「１２４」と「２４６」と「２６７」である仮想マシンは、ともにグループＩＤが「２６」であるグループに属することが判定できる。
【００６９】
図１５は、イメージファイルとそのイメージファイルの属性とを対応付ける属性テーブルのデータ例を示す図である。ここでは、それぞれのイメージファイルごとに、そのイメージファイルが、ＷＥＢサーバと、ＡＰサーバと、ＤＢサーバとのいずれを起動させるものであるかを示すイメージ属性が記憶される。
図１６は、イメージ属性毎に、そのイメージ属性の仮想マシンが、同一のデータセンタ内に設置される必要性を示す制約テーブルのデータ例を示すデータ例である。ここでは、異なるデータセンタ内に設置されることが許可される関係が「０」、異なるデータセンタ内に設置されることが許可されない関係が「１」として示されている。リソース取引装置１０１００のリソース割当部１０１８０は、このようなルールテーブルに基づいて他のデータセンタへの割当要求を行う。
【００７０】
なお、以上説明したようなリソース提供システム１において提供されるクラウドコンピューティングサービスは、インターネットを介して不特定多数に向けてサービスが提供されるものが主であるが、近年では、企業内システムなどをクラウドコンピューティングサービスにより構築する要求が高まっている。すなわち、インターネットに接続されたネットワークセグメントとは隔離されたネットワークセグメントにクラウドコンピューティングサービス環境を構築し、企業内向けにクラウドコンピューティングサービスを提供するプライベート・クラウドが要求されている。しかしながら、上述のように、クラウドコンピューティングサービスには、システムが大規模である程にコンピュータリソースの提供要求量が平準化されるという利点があるため、規模の小さなプライベート・クラウドを構成する場合にはクラウド・コンピューティングの利点を享受することが困難である。そこで、本実施形態によるリソース取引装置１００により、インターネットに公開されたパブリック・クラウドと、企業内等に限って利用が許可されたプライベート・クラウドとのコンピュータリソースを共有化するようにしても良い。これにより、規模の小さなプライベート・クラウドにおいても、クラウド・コンピューティングの利点を享受することが可能となる。
【００７１】
また、ＳＩ（System Integrator）事業者などによって構築されるＳＩシステムにおいて、時間帯や季節などによって負荷が変化する場合がある。このような場合に、ＳＩシステムにおける余剰リソースを、リソース取引装置１００によってマシンプール３０００に帰属させて、他のクラウドサービスシステムによって利用可能としても良い。このようにすれば、ＳＩシステムにおけるコンピュータリソースを有効に利用することができる。
【００７２】
また、複数の物理マシンのコンピュータリソースを統合して利用するグリッド・コンピューティングシステムにおけるコンピュータリソースと、クラウドサービスシステムにおけるコンピュータリソースとを、リソース取引装置１００によって融通するようにしても良い。このように、本実施形態のリソース提供システム１は、データセンタ等の拠点に設置された複数台のコンピュータ装置を用いてサービスを提供する様々な形態のハウジングサービスに適用することが可能である。
【００７３】
また、本実施形態においては、仮想マシン１台当たりのコンピュータリソースの能力値を予め定め、仮想マシン１台当たりを単位数としたコンピュータリソースの提供要求を受付けることとしたが、例えば、複数の仮想マシンを１単位としても良いし、予め定められた複数段階の仮想マシンの能力値のうちいずれかの能力値に応じた提供要求を受付けるようにしても良い。
【００７４】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりコンピュータリソースの提供を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００７５】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００７６】
１  リソース提供システム
１００  リソース取引装置
１１０  割当要求受信部
１２０  要求スケジュール記憶部
１３０  要求スケジュール管理部
１４０  クラウド状態管理部
１５０  リソース割当スケジュール記憶部
１６０  リソース割当スケジュール管理部
１７０  スケジュールマッチング部
１８０  リソース割当部
２００  仮想ネットワーク管理装置
５００  ユーザ端末
１０００  第１のクラウドサービスシステム
１１００  クラウド管理装置
１１１０  提供要求受信部
１１２０  リソース量記憶部
１１３０  判定部
１１４０  リソース提供部
１１５０  割当要求部
１１６０  解放要求部
１２００  クラスタ管理装置
１３００  仮想化装置
２０００  第２のクラウドサービスシステム
２１００  クラウド管理装置
２２００  クラスタ管理装置
２３００  仮想化装置
３０００  マシンプール
３１００  マシンプール管理装置
３２００  クリーンアップ装置
３３００  仮想化装置
【図１】
2010250778.tif 000003
【図２】
2010250778.tif 000004
【図３】
2010250778.tif 000005
【図４】
2010250778.tif 000006
【図５】
2010250778.tif 000007
【図６】
2010250778.tif 000008
【図７】
2010250778.tif 000009
【図８】
2010250778.tif 000010
【図９】
2010250778.tif 000011
【図１０】
2010250778.tif 000012
【図１１】
2010250778.tif 000013
【図１２】
2010250778.tif 000014
【図１３】
2010250778.tif 000015
【図１４】
2010250778.tif 000016
【図１５】
2010250778.tif 000017
【図１６】
2010250778.tif 000018
【図１７】
2010250778.tif 000019