説明

コンピュータリソース提供システム、コンピュータリソース提供方法およびリソース取引プログラム

【課題】複数のコンピュータリソース提供システムにおけるコンピュータリソースの利用効率を上げる。
【解決手段】ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供する複数のリソース提供装置から送信されるコンピュータリソースの割当要求に応じて、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを割当要求の要求元であるリソース提供装置に割当て、リソース提供装置から送信されるコンピュータリソースの解放要求に応じて、解放要求に対応する余剰リソースを、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースとして記憶する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ端末から送信されるコンピュータリソースの提供要求に応じてコンピュータリソースの提供を行なうコンピュータリソース提供システム、コンピュータリソース提供方法およびリソース取引プログラムに関する。
【背景技術】
【0002】
近年、コンピュータ装置のプロセッサやメモリ、ディスクなど物理マシンのコンピュータリソースを、仮想的に分割したり統合したりして仮想マシンを起動する仮想化技術が研究されている。このような仮想化技術を用いて、ユーザ端末からの要求に応じた容量の仮想マシンを提供するクラウド・コンピューティングやグリッド・コンピューティング等と呼ばれるコンピュータリソース提供システムが提供されている。このようなコンピュータリソース提供システムでは、ユーザは、コンピュータのハードウェアやソフトウェアを、買い取りやリースではなく、電気や水道等のように従量制の支払いを行って利用したり、必要な時に必要なだけ利用したりすることが可能である(例えば、非特許文献1〜3)。このようなコンピュータの利用形態が普及する中で、複数の事業者が独自にこのようなコンピュータリソース提供システムを構築し、ユーザは複数のコンピュータリソース提供システムの中から自身の要求に沿った最適なコンピュータリソース提供システムを利用するコンピューティング環境が普及しつつある。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】“amazon web services”、[online]、[平成21年4月1日検索]、インターネットURL:http://aws.amazon.com/
【非特許文献2】“amazon web services Tecnnical Documentation”、[online]、[平成21年4月1日検索]、インターネットURL:http://aws.amazon.com/documentation/
【非特許文献3】学びing著、「Amazon EC2/S3クラウド入門」、秀和システム、2008年12月
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、コンピュータリソース提供システムを提供する事業者は、ユーザからの提供要求に応じてコンピュータリソースを即時に提供するために、要求されるコンピュータリソースの量が最大となる時に合わせた規模のコンピュータリソースを予め用意しておく必要がある。例えば、図17(a)は、あるユーザから要求されるコンピュータリソースの時間の経過に応じた提供要求量の遷移を示す図である。このように、コンピュータリソースの提供要求量には、時間帯や曜日、季節などに応じた揺らぎがあると考えられる。この場合、サービスを提供する事業者は、提供要求量が最大となる時に提供可能な量のコンピュータリソースを用意すると、提供要求量の少ない期間にはコンピュータリソースの余剰が発生することとなりコンピュータリソースを有効に利用できない。ここで、図17(b)は、他のユーザから要求されるコンピュータリソースの提供要求量の遷移を示す。このように、一般的にあるユーザと他のユーザとの提供要求量の遷移は異なるため、時間の経過に応じた提供要求量の合計値は、ユーザ数が多ければ多いほど図17(c)に示すように平準化される。すなわち、コンピュータリソース提供システムを提供する際には、システム規模が大規模であればある程、コンピュータリソースの提供要求量が平準化され、提供要求に応じて用意するコンピュータリソースを有効に利用できると考えられる。
【0005】
本発明は、このような状況に鑑みてなされたもので、複数のコンピュータリソース提供システムにおけるコンピュータリソースの利用効率を上げるコンピュータリソース提供システム、コンピュータリソース提供方法およびリソース取引プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決するために、本発明は、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供する複数のリソース提供装置と、複数のリソース提供装置に接続されたリソース取引装置とを備えたコンピュータリソース提供システムであって、リソース提供装置は、自身に割当てられたコンピュータリソースの割当量と、自身がユーザ端末に提供しているコンピュータリソースの提供量とが記憶されるコンピュータリソース量記憶部と、割当量と提供量との差と、提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身に割当てられたコンピュータリソースから提供要求に応じたコンピュータリソースを提供可能であるか否かを判定する判定部と、判定部によって、提供要求量に応じたコンピュータリソースを提供可能ではないと判定された場合に、リソース取引装置に提供要求量に応じたコンピュータリソースの割当要求を行う割当要求部と、割当量と提供量との差と、提供要求量とを比較して、自身に割当てられたコンピュータリソースのうち、一定期間内に提供しないコンピュータリソースを余剰リソースとして検出し、リソース取引装置に、検出した余剰リソースの解放要求を行う解放要求部と、を備え、リソース取引装置は、ネットワークに接続されたコンピュータ装置に基づくコンピュータリソースのうち、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される未割当コンピュータリソース識別情報記憶部と、リソース提供装置から送信される割当要求に応じて、未割当コンピュータリソース識別情報に対応するコンピュータリソースを、割当要求の要求元であるリソース提供装置に割当てるリソース割当部と、リソース提供装置から送信される解放要求に応じて、解放要求に対応する余剰リソースを識別する識別情報を、未割当コンピュータリソース識別情報として未割当コンピュータリソース識別情報記憶部に記憶させるリソース解放部と、を備えることを特徴とする。
【0007】
また、本発明は、上述した提供要求には、コンピュータリソースの提供を要求する要求期間を示す情報が含まれており、リソース取引装置は、複数のリソース提供装置に対応する複数のユーザ端末から送信される提供要求に基づいて、一定時間毎のコンピュータリソースの提供量の予測値を算出する要求スケジュール管理部を備え、リソース割当部は、要求スケジュール管理部によって算出された提供量の予測値に応じて、コンピュータリソースが不足するリソース提供装置にコンピュータリソースの割当を行い、リソース解放部は、要求スケジュール管理部によって算出された提供量の予測値に応じて、コンピュータリソースに余剰が発生するリソース提供装置に割当てられたコンピュータリソースを解放することを特徴とする。
【0008】
また、本発明は、上述したコンピュータリソース提供システムは、複数のネットワークのそれぞれに設置された複数のリソース提供装置およびリソース取引装置を備え、リソース取引装置のリソース割当部は、自身のネットワークに接続されたコンピュータリソースの割当量と提供量との差と、提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身のネットワークに接続されたコンピュータリソースから提供要求に応じたコンピュータリソースを提供可能であるか否かを判定し、提供可能でないと判定した場合に、他のネットワークのリソース取引装置にコンピュータリソースの割当要求を送信し、送信した割当要求に応じて他のリソース取引装置から割当てられるコンピュータリソースを、割当要求の要求元であるリソース提供装置に割当てることを特徴とする。
【0009】
また、本発明は、上述したコンピュータリソースの提供は、コンピュータ装置が自身のコンピュータリソースに仮想マシンを起動して、起動した仮想マシンをユーザ端末に利用させることにより行われ、複数の仮想マシンは用途に応じてクラスタ毎に管理され、リソース取引装置のリソース割当部は、他のリソース取引装置に、クラスタ毎にコンピュータリソースの割当要求を行うことを特徴とする。
【0010】
また、本発明は、上述したリソース取引装置のリソース割当部は、自身のネットワーク内のコンピュータ装置によって提供されている仮想マシンに対応する新たなコンピュータリソースの提供要求を受信し、受信した提供要求に応じたコンピュータリソースを自身のネットワーク内から提供可能でないと判定した場合には、コンピュータ装置によって提供されている仮想マシンに対応するクラスタに属する全てのコンピュータリソースについての割当要求を他のリソース取引装置に行い、送信した割当要求に応じて他のリソース取引装置から割当てられるコンピュータリソースに対して、自身のネットワーク内のコンピュータ装置によって提供されている仮想マシンを移動させることを特徴とする。
【0011】
また、本発明は、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供し、自身に割当てられたコンピュータリソースの割当量と、自身がユーザ端末に提供しているコンピュータリソースの提供量とが記憶されるコンピュータリソース量記憶部を有する複数のリソース提供装置と、複数のリソース提供装置に接続され、ネットワークに接続されたコンピュータ装置に基づくコンピュータリソースのうち、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される未割当コンピュータリソース識別情報記憶部を有するリソース取引装置とを備えたコンピュータリソース提供システムのコンピュータリソース提供方法であって、リソース提供装置が、割当量と提供量との差と、提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身に割当てられたコンピュータリソースから提供要求に応じたコンピュータリソースを提供可能であるか否かを判定するステップと、提供要求量に応じたコンピュータリソースを提供可能ではないと判定された場合に、リソース取引装置に提供要求量に応じたコンピュータリソースの割当要求を行うステップと、割当量と提供量との差と、提供要求量とを比較して、自身に割当てられたコンピュータリソースのうち、一定期間内に提供しないコンピュータリソースを余剰リソースとして検出し、リソース取引装置に、検出した余剰リソースの解放要求を行うステップと、リソース取引装置が、リソース提供装置から送信される割当要求に応じて、未割当コンピュータリソース識別情報に対応するコンピュータリソースを、割当要求の要求元であるリソース提供装置に割当てるステップと、リソース提供装置から送信される解放要求に応じて、解放要求に対応する余剰リソースを識別する識別情報を、未割当コンピュータリソース識別情報として未割当コンピュータリソース識別情報記憶部に記憶させるステップと、を備えることを特徴とする。
【0012】
また、本発明は、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供し、自身に割当てられたコンピュータリソースの割当量と、自身がユーザ端末に提供しているコンピュータリソースの提供量とが記憶されるコンピュータリソース量記憶部を有する複数のリソース提供装置と、複数のリソース提供装置に接続され、ネットワークに接続されたコンピュータ装置に基づくコンピュータリソースのうち、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される未割当コンピュータリソース識別情報記憶部を有するリソース取引装置のコンピュータに、リソース提供装置から送信されるコンピュータリソースの割当要求に応じて、未割当コンピュータリソース識別情報に対応するコンピュータリソースを、割当要求の要求元であるリソース提供装置に割当てるステップと、リソース提供装置から送信されるコンピュータリソースの解放要求に応じて、解放要求に対応する余剰リソースを識別する識別情報を、未割当コンピュータリソース識別情報として未割当コンピュータリソース識別情報記憶部に記憶させるステップと、を実行させるリソース取引プログラムである。
【発明の効果】
【0013】
以上説明したように、本発明によれば、ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供する複数のリソース提供装置から送信されるコンピュータリソースの割当要求に応じて、リソース取引装置が、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを割当要求の要求元であるリソース提供装置に割当て、リソース提供装置から送信されるコンピュータリソースの解放要求に応じて、解放要求に対応する余剰リソースを、複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースとして記憶するようにしたので、複数のリソース提供装置のコンピュータリソースを共用化することができ、それぞれのコンピュータリソースを有効に利用することが可能となる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施形態によるリソース提供システムの概念を示す図である。
【図2】従来のリソース提供システムと本発明の第1の実施形態によるリソース提供システムとの差異の概念を示す図である。
【図3】本発明の第1の実施形態によるリソース提供システムの端末構成を示すブロック図である。
【図4】本発明の第1の実施形態によるリソース提供システムの構成を示すブロック図である。
【図5】本発明の第1の実施形態による要求スケジュール記憶部に記憶される提供要求のデータ例を示す図である。
【図6】本発明の第1の実施形態による要求スケジュール管理部が算出するクラウドサービスシステム毎の提供量の予測値のデータ例を示す図である。
【図7】本発明の第1の実施形態によるクラウド状態管理部が自身の記憶領域に記憶させる利用状況情報のデータ例を示す図である。
【図8】本発明の第1の実施形態によるリソース割当スケジュール管理部が算出する仮想化装置の割当に必要となる所要時間のデータ例を示す図である。
【図9】本発明の第1の実施形態による仮想化装置の割当処理の動作例を示すフローチャートである。
【図10】本発明の第1の実施形態による仮想化装置の割当処理の動作例を示すシーケンス図である。
【図11】本発明の第1の実施形態による仮想化装置の解放処理の動作例を示すフローチャートである。
【図12】本発明の第1の実施形態による仮想化装置の解放処理の動作例を示すシーケンス図である。
【図13】本発明の第2の実施形態によるリソース提供システムの端末構成を示すブロック図である。
【図14】本発明の第2の実施形態によるグループテーブルのデータ例を示す図である。
【図15】本発明の第2の実施形態による属性テーブルのデータ例を示す図である。
【図16】本発明の第2の実施形態による制約テーブルのデータ例を示す図である。
【図17】クラウドサービスシステムのスケールメリットを説明する図である。
【発明を実施するための形態】
【0015】
以下、本発明の一実施形態について、図面を参照して説明する。
<第1の実施形態>
まず、図1を参照して、本発明の第1の実施形態によるリソース提供システム1の概要を説明する。本実施形態のリソース提供システム1は、複数のクラウドサービスシステム(第1のクラウドサービスシステム1000、第2のクラウドサービスシステム2000)と、マシンプール3000とを備えている。クラウドサービスシステムは、自身のコンピュータリソースを仮想化して仮想マシンを起動する複数台の仮想化装置(物理マシン)を備えている。また、クラウドサービスシステムは、ユーザ端末からのコンピュータリソースの提供要求に応じて、自身が備える仮想化装置に起動された仮想マシンをユーザ端末に利用させることによってコンピュータリソースの提供を行う。マシンプール3000は、いずれのクラウドサービスシステムにも属さない仮想化装置が属するコンピュータ群である。
【0016】
クラウドサービスシステムは、自身に属する仮想化装置のコンピュータリソースに余剰がある場合には、余剰分の仮想化装置を解放し、マシンプール3000に帰属させる。一方、自身のコンピュータリソースが不足する場合には、マシンプール3000から仮想化装置を取得し、取得した仮想化装置のコンピュータリソースを提供する。このようにすれば、複数のクラウドサービスシステムの間で余剰リソースを共有化し、互いにコンピュータリソースを融通しあうことが可能となる。これにより、それぞれのクラウドサービスシステムにおいて、自身が予め用意したコンピュータリソースの量を超えるコンピュータリソースの提供要求があった場合にも、コンピュータリソースの提供を行なうことが可能となる。また、それぞれのクラウドサービスシステムにおいて提供可能なコンピュータリソースの総量は、それぞれのクラウドサービスシステムが独自に用意するコンピュータリソースを超えることとなるから、時間帯によるユーザからの提供要求の揺らぎを平準化するスケールメリットを享受することが可能である。
【0017】
図2(a)に示すように、従来のクラウドサービスシステムは、それぞれが独自にコンピュータリソースを用意し、独自に用意したコンピュータリソースのみを利用可能とするものであった。すなわち、それぞれのクラウドサービスシステムにおいて、複数のユーザから不規則に行なわれるコンピュータリソースの提供要求に応じて、コンピュータリソースを提供できるだけのコンピュータリソースを予め用意しておく必要があった。このため、用意したコンピュータリソースに余剰が発生している時間帯には、余剰リソースは余剰のままとなっており、用意したコンピュータリソースを有効に活用できているとはいえない場合があった。これに対し、本実施形態によるリソース提供システム1では、図2(b)に示すように、複数のクラウドサービスシステムが、マシンプールを経由してコンピュータリソースを融通しあうことにより、クラウドサービスシステムにおいて余剰リソースがある場合には、余剰リソースを他のクラウドサービスシステムで活用できるようにして、コンピュータリソースの有効利用を可能とするものである。
【0018】
ここで、それぞれのクラウドサービスシステムはそれぞれ異なるサービスであるから、互いのネットワークを隔離して、クラウドサービスシステム間での情報漏えいや不正アクセスが行なわれないようなセキュリティを確保することが重要である。そこで、各クラウドサービスシステムには、物理的または論理的に異なるネットワークセグメントを形成させる。さらに、クラウドサービスシステム間において仮想化装置を移動させる際には、必ず一旦マシンプール3000に属してから移動させるようにして、クラウドサービスシステム間で直接的にコンピュータリソースの移動を行なわせない。このようにして、各クラウドサービスシステムの独立性を保つ。ここで、「仮想化装置の移動」は、後述するように、仮想化装置が帰属するネットワークセグメントの切り替えを行なうことによって実現する。
【0019】
さらに、各クラウドサービスシステムからマシンプール3000に仮想化装置の解放を行なう際には、解放された仮想化装置についてディスクのクリーンアップやメンテナンス、動作テストなどのクリーンアップ処理を行う。解放された仮想化装置を他のクラウドサービスシステムに取得させる際には、このようなクリーンアップ処理を行った後に取得させる。このようにして、クラウドサービスシステム間を移動するコンピュータリソースに他のクラウドサービスシステムにおいて利用されていた際の情報が残留することを防ぐ。このようにして、クラウドサービスシステム間での情報漏えいや不正アクセスを防ぐ。また、VLAN(Virtual Local Area Network)などのネットワークの仮想化技術により各クラウドサービスシステムを構成する物理マシン群は、それぞれネットワークセキュリティ上で独立した構成となっており、ネットワーク上でのクラウドサービスシステムをまたがった形態での情報漏えいや改ざんが起こらない構成とする。これにより、各クラウドサービスシステムは、いわゆるプライベートクラウドとして企業向けに提供できるレベルのセキュリティが確保される。
【0020】
<構成>
次に、図3を参照して、このようなリソース提供システム1を提供する具体的な端末構成例を説明する。ここでは、第1のクラウドサービスシステム1000と、第2のクラウドサービスシステム2000と、マシンプール3000とのコンピュータ群によりネットワークが形成されている。
【0021】
第1のクラウドサービスシステム1000には、クラウド管理装置1100と、クラスタ管理装置1200−1と、クラスタ管理装置1200−2と、仮想化装置1300−1と、仮想化装置1300−2と、仮想化装置1300−3とが属している。第2のクラウドサービスシステム2000には、クラウド管理装置2100と、クラスタ管理装置2200−1と、仮想化装置クラスタ管理装置2200−2と、仮想化装置2300−1と、仮想化装置2300−2と、仮想化装置2300−3と、仮想化装置2300−4と、仮想化装置2300−5とが属している。マシンプール3000には、マシンプール管理装置3100と、クリーンアップ装置3200と、仮想化装置3300−1と、仮想化装置3300−2と、仮想化装置3300−3とが属している。ここで、同名の各装置は同様の構成であるので、個別の説明をする必要がない場合には、それぞれクラウド管理装置1100、クラスタ管理装置1200、仮想化装置1300として説明する。リソース提供システム1が備える仮想化装置(仮想化装置1300、仮想化装置2300、仮想化装置3300)は、第1のクラウドサービスシステム1000、第2のクラウドサービスシステム2000、マシンプール3000のいずれかのコンピュータ群に割当てられており、クラウドサービスシステムにおけるクラウド管理装置1100、マシンプール3000におけるマシンプール管理装置3100のそれぞれには、自身に割当てられた仮想化装置の識別情報が記憶されている。
【0022】
次に、図4を参照して、リソース提供システム1を提供する各コンピュータ装置の機能を説明する。ユーザ端末500は、第1のクラウドサービスシステム1000によりコンピュータリソースの提供を受けるコンピュータ装置である。ユーザ端末500は、インターネットブラウザの機能を備えており、クラウド管理装置1100等と通信を行う。ユーザ端末500は、ユーザから入力される操作情報に応じて、コンピュータリソースの提供要求をクラウド管理装置1100に送信する。また、ユーザ端末500は、コンピュータリソースの提供要求に応じて自身に提供された仮想化装置1300のIPアドレスを、クラウド管理装置1100から受信する。ユーザ端末500は、受信したIPアドレスを宛先として、自身に提供された仮想化装置1300にアクセスし、仮想化装置1300−Nの仮想マシンを利用する。ユーザ端末500は、例えば、自身に提供された仮想化装置1300の仮想マシン上にウェブサーバ等を構築して、インターネット上にウェブサービスを公開することができる。ここでは、コンピュータリソースの提供要求を行うコンピュータ装置として、一台のユーザ端末500を図示して説明するが、それぞれのクラウドサービスシステムは複数台のユーザ端末からの提供要求を受信し、コンピュータリソースを提供する。ここでは、ユーザ端末500は、インターネットブラウザの機能によりクラウド管理装置1100等と通信を行うこととしたが、その他の専用のアプリケーションにより通信を行うようにしても良い。また、クラウドサービスシステムは、例えば、ネットワークを介してアプリケーションサービスを提供するサービス提供装置から送信されるコンピュータリソースの提供要求に応じて、コンピュータリソースを提供しても良い。このように、クラウドサービスシステムは、ネットワークを介して接続された様々なコンピュータ装置において動作するプログラムから送信されるコンピュータリソースの提供要求に応じて、コンピュータリソースを提供する。
【0023】
クラウド管理装置1100は、ユーザ端末500から送信されるコンピュータリソースの提供要求を受付け、第1のクラウドサービスシステム1000に属するクラスタ管理装置1200や仮想化装置1300を管理するコンピュータ装置である。クラウド管理装置1100は、提供要求受信部1110と、リソース量記憶部1120と、判定部1130と、リソース提供部1140と、割当要求部1150と、解放要求部1160とを備えている。
【0024】
提供要求受信部1110は、ユーザ端末500から送信されるコンピュータリソースの提供要求を受信する。ここで、提供要求受信部1110が受信する提供要求には、提供要求の送信元のユーザ端末500を識別するユーザID、コンピュータリソースの提供要求期間、コンピュータリソースの提供要求量等が含まれる。コンピュータリソースの提供要求期間には、例えば、ユーザがコンピュータリソースの提供を要求する開始日時と、終了日時とを示す情報が含まれる。コンピュータリソースの提供要求量には、例えば、予め定められたコンピュータリソース単位に基づく単位数を表す情報が含まれる。例えば、コンピュータリソースの提供単位は、コンピュータリソースの能力値によって定められた単位であり、例えば、CPU性能が2.6GHz、メモリ容量が2GB、ディスク容量が500GBである仮想マシンを1単位とする。例えば、第1のクラウドサービスシステムは、提供要求を送信するユーザとの間で予め定められた単位数を上限として、ユーザ端末500からの提供要求に応じてコンピュータリソースを提供する。
【0025】
リソース量記憶部1120には、ネットワーク内で第1のクラウドサービスシステム1000に割当てられたコンピュータリソースの割当量と、複数のユーザ端末500に提供しているコンピュータリソースの提供量とが記憶されている。コンピュータリソースの割当量とは、第1のクラウドサービスシステム1000に属する複数台の仮想化装置1300のコンピュータリソースの総量である。コンピュータリソースの提供量は、リソース提供部1140によってユーザ端末500にコンピュータリソースが提供される際に更新されて記憶される。割当量と提供量とは、上述したコンピュータリソース単位によって表される。
【0026】
判定部1130は、提供要求受信部1110が受信した提供要求に含まれる提供要求量に応じたコンピュータリソースが、第1のクラウドサービスシステム1000に割当てられているコンピュータリソースの内から提供可能であるか否かを判定する。例えば、判定部1130は、リソース量記憶部1120に記憶された割当量と提供量との差と、ユーザ端末500から送信された提供要求に含まれる提供要求量とを比較して、割当量と提供量との差が提供要求量よりも大きい場合には、提供可能であると判定する。一方、割当量と提供量との差が提供要求量よりも小さい場合には、提供可能でないと判定する。
【0027】
リソース提供部1140は、判定部1130によってコンピュータリソースが提供可能であると判定された場合に、第1のクラウドサービスシステム1000に属する複数の仮想化装置1300のうち、提供要求量に応じたコンピュータリソースの空きがある仮想化装置1300が有するコンピュータリソースを、ユーザ端末500に提供すると判定する。リソース提供部1140は、提供すると判定したコンピュータリソースを識別するIP(Internet Protocol)アドレスを、ユーザ端末500に送信する。ユーザ端末500は、送信されたIPアドレスを宛先として仮想化装置1300に接続し、提供された仮想化装置1300のコンピュータリソースを利用する。
【0028】
割当要求部1150は、判定部1130によって、コンピュータリソースが提供可能でないと判定された場合に、リソース取引装置100に対して、仮想化装置の割当要求を送信する。割当要求には、割当要求部1150が割当を要求するコンピュータリソース単位を示す割当要求量が含まれる。割当要求量は、例えば、割当量と提供量との差に対する提供要求量の不足分である。ここで、割当要求部1150が送信した割当要求に応じて仮想化装置1300が割当てられると、リソース提供部1140が、割当てられた仮想化装置1300の内から、ユーザ端末500にコンピュータリソースを提供する。
【0029】
解放要求部1160は、リソース量記憶部1120に記憶された割当量と提供量との差と、提供要求量とを比較して、自身に割当てられた仮想化装置1300のうち、コンピュータリソースを一定期間内に提供しない仮想化装置1300を余剰リソースとして検出し、リソース取引装置100に、検出した余剰リソースの解放要求を行う。
【0030】
クラスタ管理装置1200は、第1のクラウドサービスシステム1000に属する複数の仮想化装置1300を、定められた単位(クラスタ)毎に管理するコンピュータ装置である。例えば、クラスタ管理装置1200−1は、仮想化装置1300−1と仮想化装置1300−2とを管理し、クラスタ管理装置1200−2は仮想化装置1300−3と仮想化装置1300−4とを管理する。ここで、仮想化装置1300の管理においては、例えば、仮想化装置1300のリソース状況を監視する処理を行う。例えば、クラスタ管理装置1200は、クラウド管理装置1100のリソース提供部1140がユーザ端末500に提供するコンピュータリソースに対応する仮想化装置1300のIPアドレスを通知する際、複数の仮想化装置1300のうちいずれの仮想化装置1300のコンピュータリソースを提供するかを、自身に属する仮想化装置1300のリソース状況、負荷状況等に基づいて判定する。
【0031】
複数台の仮想化装置1300は、自身のコンピュータリソースを仮想化する機能を備えたコンピュータ装置である。仮想化装置1300は、自身のコンピュータリソースを仮想的に分割し、分割したコンピュータリソース上に仮想マシンを起動させる。ここでは、クラウドサービスシステムによって、複数種類のOS(Operating System)や、そのOS上で動作するサーバプログラム、アプリケーションプログラムなどが含まれる情報であるイメージが予め用意され、ユーザからの要求に応じたイメージが仮想マシン上に展開されてユーザ端末500に利用可能に提供される。このような仮想マシンを提供するソフトウェアとしては、例えばXen(登録商標)などが適用できる。
第2のクラウドサービスシステム2000は、上述した第1のクラウドサービスシステム1000と同様の構成であり、クラウド管理装置2100、クラスタ管理装置2200、仮想化装置2300のそれぞれは、リソース取引装置100が備える同名のコンピュータ装置と同様の構成である。
【0032】
マシンプール3000は、ネットワークに接続された複数のクラウドサービスシステムのうち、いずれのクラウドサービスシステムにも属さないコンピュータ装置が属するコンピュータ群である。
マシンプール管理装置3100は、いずれのクラウドサービスシステムにも属さないコンピュータ装置を管理する。例えば、マシンプール管理装置3100は、リソース取引装置100から、コンピュータ装置の管理要求を受信すると、管理要求によって識別されるコンピュータ装置の識別情報を記憶する。ここで、マシンプール管理装置3100が管理対象として記憶するコンピュータ装置の識別情報は、ネットワークに接続されたコンピュータ装置のうち、複数のクラウドサービスシステムのいずれにも割当てられていないコンピュータ装置を識別する未割当コンピュータリソース識別情報である。
【0033】
クリーンアップ装置3200は、リソース取引装置100から送信されるクリーンアップ要求を受信すると、受信したクリーンアップ要求によって識別される仮想化装置1300のクリーンアップ処理を行う。クリーンアップ処理とは、例えば、仮想化装置1300のディスクのクリーンアップや、ディスクのメンテナンスや、セルフテストなどを含む。ディスクのクリーンアップとは、例えば、ディスクの記憶ビットの全てに0(ゼロ)を記憶させる処理である。ディスクのメンテナンスは、例えば、ディスクに書き込みを行い、書き込みエラーが発生するか否かを判定する処理である。このようなクリーンアップ処理は、ディスクの容量などに応じて、例えば10時間などの時間を要する場合がある。
仮想化装置3300は、第1のクラウドサービスシステム1000に属する同名のコンピュータ装置と同様の構成である。
【0034】
リソース取引装置100は、各コンピュータ群の間でのコンピュータ装置の割当を制御するコンピュータ装置であり、要求受信部110と、要求スケジュール記憶部120と、要求スケジュール管理部130と、クラウド状態管理部140と、リソース割当スケジュール記憶部150と、リソース割当スケジュール管理部160と、スケジュールマッチング部170と、リソース割当部180とを備えている。
【0035】
要求受信部110は、リソース取引装置100から送信される仮想化装置の割当要求または解放要求を受信する。要求受信部110が割当要求または解放要求を受信すると、スケジュールマッチング部170によって、各クラウドサービスシステムのリソース状況に応じて余剰リソースの検出が行なわれ、検出された余剰リソースがリソース割当部180によって割当要求の送信元のクラウドサービスシステムに割当てられる。ここで、リソース取引装置100の各部は、要求受信部110が割当要求または解放要求を受信した場合に動作するようにしても良いし、一定期間毎に動作するようにしても良いし、その双方の動作を行っても良い。
【0036】
要求スケジュール記憶部120には、ネットワーク内の各クラウドサービスシステムに送信された提供要求のうち、コンピュータリソースの提供が開始されていない提供要求が記憶される。図5は、要求スケジュール記憶部120に記憶される提供要求のデータ例を示す図である。上述したように、提供要求には、提供要求の送信元のユーザ端末500に対応するユーザIDと、コンピュータリソース提供の開始日時と、終了日時と、提供要求量とが含まれており、これらが提供要求を識別する提供要求IDに対応付けられて記憶される。また、要求スケジュール記憶部120には、ネットワーク内のクラウドサービスシステム毎に、提供要求が記憶される。
【0037】
要求スケジュール管理部130は、要求スケジュール記憶部120に記憶された提供要求に基づいて、クラウドサービスシステム毎に一定時間毎のコンピュータリソースの提供量の増減量の予測値を算出する。例えば、図6は、要求スケジュール管理部130が算出するクラウドサービスシステム毎の提供量の予測値のデータ例を示す図である。この例では、第1のクラウドサービスシステム(クラウドID「1」)では、1分後(00:01分)には、現時点(00:00分)と比べてコンピュータリソースの提供量が10単位増加し、2分後(00:02分)には、現時点(00:00分)と比べてコンピュータリソースの提供量が15単位増加することを示している。ここで、要求スケジュール管理部130が予測値を算出する際には、現時点での提供量に、要求スケジュール記憶部120に記憶された提供要求に応じた提供要求量を加算することにより算出するようにしても良いし、提供要求量の遷移を示す履歴情報を記憶させておき、曜日や時間帯、ユーザ数などの変動に応じてコンピュータリソースの提供量の増減量の予測値を算出するようにしても良い。
【0038】
クラウド状態管理部140は、ネットワーク内に接続された各クラウドサービスシステムにおけるクラウド管理装置のリソース量記憶部(第1のクラウドサービスシステム1000であれば、クラウド管理装置1100のリソース量記憶部1120)に記憶されたコンピュータリソースの割当量と提供量とを読み出し、利用状況情報を自身の記憶領域に記憶させる。
【0039】
図7は、クラウド状態管理部140が自身の記憶領域に記憶させる利用状況情報のデータ例を示す図である。ここでは、クラウドサービスシステムを識別するクラウドID毎に、そのクラウドサービスシステムへのコンピュータリソースの割当量と、実際にユーザ端末に提供されているコンピュータリソースの提供量とを示す情報が対応付けられて記憶される。ここでは、第1のクラウドサービスシステム1000のクラウドIDを1とし、第2のクラウドサービスシステム2000のクラウドIDを2とすると、第1のクラウドサービスシステム1000には、256単位のコンピュータリソースが割当てられており、割当てられたコンピュータリソースのうち150単位のコンピュータリソースがユーザ端末に提供されていることを示している。すなわち、第1のクラウドサービスシステム1000においては、割当量と提供量との差である余剰リソースは116単位であり、現状からさらに116単位分の提供要求に応じてコンピュータリソースの提供を行なうことが可能である。第2のクラウドサービスシステム2000には、128単位のコンピュータリソースが割当てられており、割当てられたコンピュータリソースのうち105単位のコンピュータリソースがユーザ端末に提供されていることを示している。
【0040】
リソース割当スケジュール記憶部150には、ネットワークに接続されたそれぞれのコンピュータ装置が割当てられるクラウドサービスシステムを一定時間毎に対応付けたリソース割当スケジュールが記憶される。また、リソース割当スケジュール記憶部150には、ネットワークに接続されたコンピュータリソースのうち、いずれのクラウドサービスシステムにも割当てられておらず、マシンプール3000に帰属するコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される。
【0041】
リソース割当スケジュール管理部160は、リソース割当スケジュール記憶部150に記憶されたリソース割当スケジュールに基づくネットワーク構成の変化に基づいて、仮想化装置の割当に必要となる一定時間毎の所要時間(si)を算出する。図8は、リソース割当スケジュール管理部160がクラウドID毎、コンピュータリソース単位数毎に算出する仮想化装置の割当に必要となる所要時間のデータ例を示す図である。
【0042】
スケジュールマッチング部170は、要求スケジュール管理部130によって算出されたコンピュータリソースの提供量の予測値と、クラウド状態管理部140によって算出された利用状況情報とに基づいて、一定時間毎の各クラウドサービスシステムの余剰リソース量を予測し、余剰リソース量が規定値以下となる時点(t1、t2、・・・tn)を検出する。ここで、余剰リソース量の規定値は、例えば、クラウドサービスシステム毎の割当量に応じて定められた閾値であり、余剰リソース量がその値を下回ると、ユーザ端末500からの提供要求に応答するためのコンピュータリソースが不足する蓋然性があることを示す値である。例えば、あるクラウドサービスシステムに対するコンピュータリソースの割当量が256単位であったとすると、その4分の1にあたる64単位が規定値として定められる。スケジュールマッチング部170は、クラウド状態管理部140によって算出された割当量と提供量との差である余剰リソースが、要求スケジュール管理部130によって算出された一定時間毎のコンピュータリソースの提供量の予測値に応じて増加した場合に、余剰リソースが規定値未満となる時点(t1、t2、・・・tn)を検出する。また、スケジュールマッチング部170は、余剰リソースが規定値未満となる各時点(t1、t2、・・・tn)のそれぞれと現時点(T)との差が、仮想化装置の割当に必要となる所要時間(si)未満であるか否かを判定する。
【0043】
リソース割当部180は、スケジュールマッチング部170が、余剰リソースが規定値未満となるいずれかの時点(ti)と現時点(T)との差が、仮想化装置の割当に必要となる所要時間(si)未満であると判定した場合、仮想化装置の割当処理を行う。仮想化装置の割当処理では、スケジュールマッチング部170によって、余剰リソースが規定値未満となるいずれかの時点(ti)と現時点(T)との差が、仮想化装置の割当に必要となる所要時間(si)未満であると判定されたクラウドサービスシステムに、マシンプール3000に属する仮想化装置を割当てるように、仮想ネットワーク管理装置200にネットワークセグメントの切り替えを行なわせる。
【0044】
ここで、リソース割当部180は、仮想化装置の割当処理を行う際には、クラウド管理装置1100から送信される割当要求に応じて、リソース割当スケジュール記憶部150に記憶された未割当コンピュータリソース識別情報を読み出し、読み出した未割当コンピュータリソース識別情報に対応する仮想化装置を、割当要求の要求元であるリソース提供装置1100に割当てる。一方、仮想化装置の解放処理を行う際には、リソース提供装置1100から送信される解放要求に応じて、仮想ネットワーク管理装置200にネットワークセグメントの切り替えを行なわせた後に、解放要求に対応する余剰リソースを識別する識別情報を、未割当コンピュータリソース識別情報としてリソース割当スケジュール記憶部150に記憶させる。
【0045】
仮想ネットワーク管理装置200は、リソース取引装置100のリソース割当部180からの指示に基づいて、ネットワークセグメントの切り替えを行なう。ネットワークセグメントの切り替えは、例えば、仮想化装置1300のIPアドレスを、第1のクラウドサービスシステム1000に付与されたネットワークセグメントに基づくIPアドレスから、第2のクラウドサービスシステム2000に付与されたネットワークセグメントに基づくIPアドレスに付与し直すことによって行なう。ここでは、例えば、ネットワークセグメント毎にファイアウォールなどを設置している場合には、仮想ネットワーク管理装置200は、ファイアウォールにおける設定値の切り替えなどを行なう。また、ネットワークセグメントは、例えば、VLAN、オーバレイネットワーク、VPN(Virtual Private Network)などのネットワーク仮想化技術を用いてセキュアに分離するようにしても良い。例えば、VLAN機能を持つネットワークスイッチを利用して、このネットワークセグメントとの切り替えを行なう場合、仮想化装置1300が受信する識別タグを、第1のクラウドサービスシステム1000に付与された識別タグから、第2のクラウドサービスシステム2000に付与された識別タグに変更するように、仮想ネットワーク管理装置200がネットワークスイッチの設定値の切り替えを行なう。
【0046】
<動作例:リソース割当>
次に、図9を参照して、本実施形態によるリソース提供システム1が、マシンプール3000からクラウドサービスシステムに仮想化装置の割当を行う動作例を説明する。ここでは、リソース取引装置100によって一定時間毎に行われる仮想化装置の割当処理を説明する。リソース取引装置100は、ネットワークに接続されたクラウドサービスシステムの状況に応じて、コンピュータリソースが不足するクラウドサービスシステムに対してマシンプール3000から仮想化装置の割当を行なう。
【0047】
要求スケジュール管理部130は、要求スケジュール記憶部120に記憶されたクラウドサービスシステム毎の提供要求を読み出し、図5に示したような提供要求に応じた一定時間毎の提供要求量の予測値を算出する(ステップS1)。クラウド状態管理部140は、接続された各クラウドサービスシステムのクラウド管理装置から、現時点(T)で各クラウドサービスシステムがユーザ端末に提供しているコンピュータリソースの提供量を読み出し、図7に示したような利用状況情報を生成し、記憶する(ステップS2)。
【0048】
リソース割当スケジュール管理部160は、要求スケジュール記憶部120に記憶された提供要求量と、各クラウドサービスシステムの割当量との差に基づいて、図6に示したような、クラウドサービスシステム毎の提供量の予測値を算出する。スケジュールマッチング部170は、ステップS1において要求スケジュール管理部130が算出した提供要求量の予測値と、ステップS2においてリソース割当スケジュール管理部160が算出したコンピュータリソースの提供量総量とに基づいて、一定時間毎の余剰リソース量を算出する(ステップS3)。また、スケジュールマッチング部170は、余剰リソース量が、規定値未満である時点(t1、t2、・・・tn)を検出する(ステップS4)。
【0049】
また、リソース割当スケジュール管理部160は、ステップS4において検出した各時点(t1、t2、・・・tn)のそれぞれにおいて、リソース不足が予測されるクラウドサービスシステムを検出し、図8に示したような、検出したクラウドサービスシステムに仮想化装置を割当てるための所要時間(si)を算出する(ステップS5)。スケジュールマッチング部170は、ステップS4において検出した余剰リソースが規定値未満となる各時点(ti)(i=1、2、・・・n。初期値は1とする)と現時点(T)との差と、仮想化装置の割当に必要となる所要時間(si)とを比較する(ステップS6)。
【0050】
スケジュールマッチング部170が、余剰リソースが規定値未満となるいずれかの時点(ti)と現時点(T)との差が、仮想化装置の割当に必要となる所要時間(si)より大きいと判定した場合(ステップS7:YES)、iをカウントアップする(ステップS8)。ここで、スケジュールマッチング部170は、iの値がnより大きいか否かを判定する(ステップS9)。ここで、iの値がnより大きいと判定すれば(ステップS9:YES)ステップS1に戻り、iの値がnより大きくないと判定すれば(ステップS9:NO)ステップS6に戻る。一方、ステップS7において、スケジュールマッチング部170が、余剰リソースが規定値未満となるいずれかの時点(ti)と現時点(T)との差が、仮想化装置の割当に必要となる所要時間(si)より大きくないと判定した場合(ステップS7:NO)、リソース割当部180は、仮想化装置の割当処理を行う(ステップS10)。仮想ネットワーク管理装置200は、リソース取引装置100のリソース割当部180からの指示に基づいて、ネットワークセグメントの切り替えを行なう。ここで、ステップS6からステップS10までの処理は、例えば、for(i=1;;i<=n){if(ti―T>si) i++ else ステップS10へ}として表すことができる。
【0051】
図9の例では、リソース取引装置100によって一定時間毎に行われる仮想化装置の割当処理を説明したが、仮想化装置の割当処理は、第1のクラウドサービスシステム1000から送信される割当要求に応じて行なうようにしても良い。図10は、クラウド管理装置1100から送信される割当要求に応じて、仮想化装置の割当を行なう動作を示すシーケンス図である。
【0052】
クラウド管理装置1100の提供要求受信部1110が、ユーザ端末500からコンピュータリソースの提供要求を受信し、判定部1130が、予め自身に割当てられた仮想化装置から提供要求に応じたコンピュータリソースを提供可能ではないと判定すると、割当要求部1150は、リソース取引装置100に仮想化装置の割当要求を送信する(ステップS11)。リソース取引装置100のスケジュールマッチング部170は、第2のクラウドサービスシステム2000の仮想化装置2300−1に、提供要求に応じたコンピュータリソースの余剰リソースが存在することを検出する。リソース割当部180は、スケジュールマッチング部170によって検出された仮想化装置2300−1をクラウド管理装置1100に割当てる割当要求を、仮想ネットワーク管理装置200に送信する(ステップS12)。
【0053】
仮想ネットワーク管理装置200は、仮想化装置の割当要求に応じて、仮想化装置2300−1のネットワークセグメントを第1のクラウドサービスシステム1000に切替えて、クラウド管理装置1100に割当てる(ステップS13)。仮想ネットワーク管理装置200は、割当処理が完了したことを示す完了通知を、リソース取引装置100に送信する(ステップS14)。リソース取引装置100は、完了通知をクラウド管理装置1100に送信する(ステップS15)。
【0054】
このように、リソース提供システム1は、ネットワークに接続されたクラウドサービスシステムのいずれかが、ユーザ端末から送信される提供要求に応じてコンピュータリソースを提供するための余剰リソースが規定値未満である場合に、そのクラウドサービスシステムに対して、マシンプール3000に属する仮想化装置を割当てる。これにより、リソース提供システム1に接続された各クラウドサービスシステムは、自身のクラウドサービスシステムに属する仮想化装置のみによってはコンピュータリソースの提供を行なうことができない場合にも、マシンプール3000から新たに仮想化装置の割当を受けることで、ユーザ端末にコンピュータリソースの提供を行なうことが可能となる。
【0055】
<動作例:リソース解放>
次に、図11を参照して、本実施形態によるリソース提供システム1が、クラウドサービスシステムからマシンプール3000に仮想化装置の解放を行う動作例を説明する。ここでは、リソース取引装置100によって一定時間毎に行われる仮想化装置の解放処理を説明する。リソース取引装置100は、ネットワークに接続されたクラウドサービスシステムの状況に応じて、コンピュータリソースの余剰が発生するクラウドサービスシステムに割当てられた仮想化装置の解放処理を行なう。
【0056】
要求スケジュール管理部130は、要求スケジュール記憶部120に記憶されたクラウドサービスシステム毎の提供要求を読み出し、図5に示したような提供要求に応じた一定時間毎の提供量の予測値を算出する(ステップS21)。クラウド状態管理部140は、接続された各クラウドサービスシステムのクラウド管理装置から、現時点(T)で各クラウドサービスシステムがユーザ端末に提供しているコンピュータリソースの提供量を読み出し、図7に示したような利用状況情報を算出し、記憶する(ステップS22)。
【0057】
リソース割当スケジュール管理部160は、要求スケジュール記憶部120に記憶された提供要求量と、各クラウドサービスシステムの割当量と提供量との差とに基づいて、図6に示したような、クラウドサービスシステム毎の提供量の予測値を算出する。スケジュールマッチング部170は、ステップS21において要求スケジュール管理部130が算出した提供要求量の予測値と、ステップS22においてリソース割当スケジュール管理部160が算出した利用状況情報に含まれるコンピュータリソースの提供量の総量とに基づいて、一定時間毎の余剰リソース量を算出する(ステップS23)。また、スケジュールマッチング部170は、余剰リソース量が規定値以上である期間が一定以上存在するクラウドサービスシステムが存在するか否かを判定し(ステップS24)、存在する場合は、その期間を検出する。
【0058】
スケジュールマッチング部170が、余剰リソース量が規定値以上である期間が一定以上存在するクラウドサービスシステムが存在すると判定すると(ステップS24:YES)、検出した期間の開始時間が、現時点(T)以前であるか否かを判定する(ステップS25)。スケジュールマッチング部170が、検出した期間の開始時間が、現時点(T)以前であると判定すると、リソース割当部180は、その余剰リソースの解放処理を行う(ステップS26)。
【0059】
図11の例では、リソース取引装置100によって一定時間毎に行われる仮想化装置の解放処理を説明したが、仮想化装置の解放処理は、第1のクラウドサービスシステム1000から送信される解放要求に応じて行なうようにしても良い。図12は、第1のクラウドサービスシステム1000から送信される解放要求に応じて、リソース取引装置100が仮想化装置の解放を行なう動作を示すシーケンス図である。
【0060】
クラウド管理装置1100の解放要求部1160は、例えば、リソース量記憶部1120に記憶された割当量と提供量と、ユーザ端末500から受信する提供要求とに応じて、負荷の下がっている仮想化装置1300−1の仮想マシンを仮想化装置1300−2に移動させることで、仮想化装置1300−1を空き状態にすることが可能であることを検出する。クラウド管理装置1100は、仮想マシンの移動要求を、クラスタ管理装置1200−1に送信する(ステップS31)。クラスタ管理装置1200−1は、仮想化装置1300−1に生成した仮想マシンを、仮想化装置1300−2に移動させる(ステップS33)。ここで、仮想マシンの移動は、仮想化技術におけるライブマイグレーションの機能によって行なう。
【0061】
仮想化装置1300−1は、仮想化装置1300−2への仮想マシンの移動を完了すると、クラスタ管理装置1200−1に、完了通知を送信する(ステップS34)。クラスタ管理装置1200−1は、仮想化装置1300−1の解放要求を、リソース取引装置100に送信する(ステップS35)。リソース取引装置100は、解放要求を仮想ネットワーク管理装置200に転送する(ステップS36)。そして、仮想ネットワーク管理装置200は、仮想化装置1300−1に付与されたIPアドレスを、マシンプール3000におけるネットワークセグメントに対応するIPアドレスに振り替えることで、仮想化装置1300−1を第1のクラウドサービスシステム1000から解放する(ステップS37)。仮想ネットワーク管理装置200は、仮想化装置1300−1の解放処理が完了すると、リソース取引装置100に完了通知を送信する(ステップS38)。リソース取引装置100は、クリーンアップ装置3200に、ステップS37で解放された仮想化装置1300−1のクリーンアップ要求を行う。クリーンアップ装置3200は、送信されたクリーンアップ要求に応じて、仮想化装置1300−1のクリーンアップ処理を行う(ステップS40)。
【0062】
クリーンアップ装置3200は、仮想化装置1300−1のクリーンアップ処理が完了すると、リソース取引装置100に完了通知を送信する(ステップS41)。リソース取引装置100は、ステップS40においてクリーンアップ処理が行われた仮想化装置1300−1の管理要求を、マシンプール管理装置3100に送信する(ステップS42)。マシンプール管理装置3100は、管理要求に応じて、仮想化装置1300−1を自身に属するコンピュータ装置として記憶すると、リソース取引装置100に、完了通知を送信する(ステップS43)。リソース取引装置100は、クラスタ管理装置1200−1に、物理マシンの解放処理が完了したことを示す完了通知を送信する(ステップS44)。
【0063】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。本実施形態は、第1の実施形態において説明した複数のクラウドサービスシステムと、リソース取引装置100との組み合わせが複数組存在する場合の実施形態である。すなわち、本実施形態では、図13に示されるように、データセンタ10000に設置された第1の実施形態におけるリソース提供システム1と、データセンタ20000に設置された同様のリソース提供システム1との間で、コンピュータリソースの融通を行なうものである。
【0064】
ここでは、例えば、データセンタ10000におけるリソース取引装置10100のリソース割当部10180は、自身のネットワーク(データセンタ10000)に接続されたコンピュータリソースの割当量と提供量との差と、提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身のネットワークに接続された仮想化装置から提供要求に応じたコンピュータリソースを提供可能であるか否かを判定し、提供可能であると判定した場合、提供要求の送信元であるユーザ端末500にコンピュータリソースを提供する。一方、提供可能でないと判定した場合に、他のネットワーク(データセンタ20000)のリソース取引装置20100に仮想化装置の割当要求を送信し、送信した割当要求に応じてデータセンタ20000のリソース取引装置20100から割当てられる仮想化装置を、割当要求の要求元であるクラウド管理装置11100に割当てる。
【0065】
ここで、例えばデータセンタ10000内の各コンピュータ装置は、回線速度の早いLAN等で接続されているが、データセンタ10000とデータセンタ20000とは、インターネットなどのネットワーク30000を介して接続される。ここで、例えばクラスタ管理装置11200−1によって管理される複数の仮想化装置11300の仮想マシンにおいて、ウェブ(WEB)サーバ(Web Server)と、アプリケーション(AP)サーバ(AP Server)と、データベース(DB)サーバ(DB Server)とが構築されている場合、このようなクラスタに属する仮想マシンの全ては、回線速度の早いLAN内に接続されていることが望ましい。そこで、リソース取引装置10100のリソース割当部10180は、リソース取引装置20100に対してコンピュータリソースの割当要求を行う際には、クラスタ毎に行なう。
【0066】
さらに、データセンタをまたがって仮想化装置の割当を行なう際には、ライブマイグレーションの機能を用いてデータセンタ間での仮想マシンの移動を行い、同一クラスタの全ての仮想化装置11300が同一のデータセンタ内に構築されるようにしても良い。この場合、リソース取引装置10100のリソース割当部10180は、自身のネットワーク(データセンタ10000)内の仮想化装置11300−1によって提供されている仮想マシンと同一クラスタでの新たなコンピュータリソースの提供要求を受信し、受信した提供要求に応じたコンピュータリソースを自身のネットワーク内から提供可能でないと判定した場合には、仮想化装置11300によって提供されている仮想マシンに対応するクラスタに属する全ての仮想化装置についての割当要求を、データセンタ20000のリソース取引装置20100に行い、送信した割当要求に応じてリソース取引装置20100から割当てられる仮想化装置に対して、動作中の仮想マシンを移動させる。
【0067】
ここで、同一のクラスタに属する複数の仮想マシンは、同一のデータセンタ内に設置された仮想化装置11300によって提供されることが望ましいが、例えば、WEBサーバとAPサーバとDBサーバとが連携して動作する同一の用途のグループに存在する場合、一般的に、WEBサーバとAPサーバとの間で送受信される情報よりも、APサーバとDBサーバとの間で送受信される情報の方が多く、高負荷である。そこで、複数の仮想マシンが同一のグループに属する場合でも、例えばWEBサーバと、APサーバまたはDBサーバとは、異なるデータセンタに設置することを許可し、APサーバとDBサーバとを異なるデータセンタに設置することは許可しないようにしても良い。
【0068】
例えば、図14〜図16は、同一のグループに属する仮想マシンについて、複数のデータセンタをまたがって仮想マシンを構築することを許可するか否か判定する際に参照するデータテーブルの例を示す図である。これらのデータテーブルは、リソース取引装置10100のリソース割当部10180に記憶される。例えば、図14のグループテーブルに示すように、ユーザ端末500に提供される仮想マシンは、仮想マシンIDに対応付けられて、その仮想マシンが属するクラスタを識別するクラスタIDと、その仮想マシンを起動する際に用いられたOS(Operation System)やアプリケーションソフトなどのイメージファイルとが記憶される。この例では、例えば、仮想マシンIDが「124」と「246」と「267」である仮想マシンは、ともにグループIDが「26」であるグループに属することが判定できる。
【0069】
図15は、イメージファイルとそのイメージファイルの属性とを対応付ける属性テーブルのデータ例を示す図である。ここでは、それぞれのイメージファイルごとに、そのイメージファイルが、WEBサーバと、APサーバと、DBサーバとのいずれを起動させるものであるかを示すイメージ属性が記憶される。
図16は、イメージ属性毎に、そのイメージ属性の仮想マシンが、同一のデータセンタ内に設置される必要性を示す制約テーブルのデータ例を示すデータ例である。ここでは、異なるデータセンタ内に設置されることが許可される関係が「0」、異なるデータセンタ内に設置されることが許可されない関係が「1」として示されている。リソース取引装置10100のリソース割当部10180は、このようなルールテーブルに基づいて他のデータセンタへの割当要求を行う。
【0070】
なお、以上説明したようなリソース提供システム1において提供されるクラウドコンピューティングサービスは、インターネットを介して不特定多数に向けてサービスが提供されるものが主であるが、近年では、企業内システムなどをクラウドコンピューティングサービスにより構築する要求が高まっている。すなわち、インターネットに接続されたネットワークセグメントとは隔離されたネットワークセグメントにクラウドコンピューティングサービス環境を構築し、企業内向けにクラウドコンピューティングサービスを提供するプライベート・クラウドが要求されている。しかしながら、上述のように、クラウドコンピューティングサービスには、システムが大規模である程にコンピュータリソースの提供要求量が平準化されるという利点があるため、規模の小さなプライベート・クラウドを構成する場合にはクラウド・コンピューティングの利点を享受することが困難である。そこで、本実施形態によるリソース取引装置100により、インターネットに公開されたパブリック・クラウドと、企業内等に限って利用が許可されたプライベート・クラウドとのコンピュータリソースを共有化するようにしても良い。これにより、規模の小さなプライベート・クラウドにおいても、クラウド・コンピューティングの利点を享受することが可能となる。
【0071】
また、SI(System Integrator)事業者などによって構築されるSIシステムにおいて、時間帯や季節などによって負荷が変化する場合がある。このような場合に、SIシステムにおける余剰リソースを、リソース取引装置100によってマシンプール3000に帰属させて、他のクラウドサービスシステムによって利用可能としても良い。このようにすれば、SIシステムにおけるコンピュータリソースを有効に利用することができる。
【0072】
また、複数の物理マシンのコンピュータリソースを統合して利用するグリッド・コンピューティングシステムにおけるコンピュータリソースと、クラウドサービスシステムにおけるコンピュータリソースとを、リソース取引装置100によって融通するようにしても良い。このように、本実施形態のリソース提供システム1は、データセンタ等の拠点に設置された複数台のコンピュータ装置を用いてサービスを提供する様々な形態のハウジングサービスに適用することが可能である。
【0073】
また、本実施形態においては、仮想マシン1台当たりのコンピュータリソースの能力値を予め定め、仮想マシン1台当たりを単位数としたコンピュータリソースの提供要求を受付けることとしたが、例えば、複数の仮想マシンを1単位としても良いし、予め定められた複数段階の仮想マシンの能力値のうちいずれかの能力値に応じた提供要求を受付けるようにしても良い。
【0074】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりコンピュータリソースの提供を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0075】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0076】
1 リソース提供システム
100 リソース取引装置
110 割当要求受信部
120 要求スケジュール記憶部
130 要求スケジュール管理部
140 クラウド状態管理部
150 リソース割当スケジュール記憶部
160 リソース割当スケジュール管理部
170 スケジュールマッチング部
180 リソース割当部
200 仮想ネットワーク管理装置
500 ユーザ端末
1000 第1のクラウドサービスシステム
1100 クラウド管理装置
1110 提供要求受信部
1120 リソース量記憶部
1130 判定部
1140 リソース提供部
1150 割当要求部
1160 解放要求部
1200 クラスタ管理装置
1300 仮想化装置
2000 第2のクラウドサービスシステム
2100 クラウド管理装置
2200 クラスタ管理装置
2300 仮想化装置
3000 マシンプール
3100 マシンプール管理装置
3200 クリーンアップ装置
3300 仮想化装置

【特許請求の範囲】
【請求項1】
ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供する複数のリソース提供装置と、当該複数のリソース提供装置に接続されたリソース取引装置とを備えたコンピュータリソース提供システムであって、
前記リソース提供装置は、
自身に割当てられた前記コンピュータリソースの割当量と、自身が前記ユーザ端末に提供している前記コンピュータリソースの提供量とが記憶されるコンピュータリソース量記憶部と、
前記割当量と前記提供量との差と、前記提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身に割当てられた前記コンピュータリソースから前記提供要求に応じた前記コンピュータリソースを提供可能であるか否かを判定する判定部と、
前記判定部によって、前記提供要求量に応じた前記コンピュータリソースを提供可能ではないと判定された場合に、前記リソース取引装置に前記提供要求量に応じたコンピュータリソースの割当要求を行う割当要求部と、
前記割当量と前記提供量との差と、前記提供要求量とを比較して、自身に割当てられた前記コンピュータリソースのうち、一定期間内に提供しない前記コンピュータリソースを余剰リソースとして検出し、前記リソース取引装置に、検出した余剰リソースの解放要求を行う解放要求部と、を備え、
前記リソース取引装置は、
前記ネットワークに接続された前記コンピュータ装置に基づくコンピュータリソースのうち、前記複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される未割当コンピュータリソース識別情報記憶部と、
前記リソース提供装置から送信される前記割当要求に応じて、前記未割当コンピュータリソース識別情報に対応する前記コンピュータリソースを、前記割当要求の要求元である前記リソース提供装置に割当てるリソース割当部と、
前記リソース提供装置から送信される前記解放要求に応じて、当該解放要求に対応する余剰リソースを識別する識別情報を、前記未割当コンピュータリソース識別情報として前記未割当コンピュータリソース識別情報記憶部に記憶させるリソース解放部と、
を備えることを特徴とするコンピュータリソース提供システム。
【請求項2】
前記提供要求には、コンピュータリソースの提供を要求する要求期間を示す情報が含まれており、
前記リソース取引装置は、
前記複数のリソース提供装置に対応する複数の前記ユーザ端末から送信される前記提供要求に基づいて、一定時間毎のコンピュータリソースの提供量の予測値を算出する要求スケジュール管理部を備え、
前記リソース割当部は、前記要求スケジュール管理部によって算出された前記提供量の予測値に応じて、コンピュータリソースが不足する前記リソース提供装置にコンピュータリソースの割当を行い、
前記リソース解放部は、前記要求スケジュール管理部によって算出された前記提供量の予測値に応じて、コンピュータリソースに余剰が発生する前記リソース提供装置に割当てられたコンピュータリソースを解放する
ことを特徴とする請求項1に記載のコンピュータリソース提供システム。
【請求項3】
前記コンピュータリソース提供システムは、複数のネットワークのそれぞれに設置された前記複数のリソース提供装置および前記リソース取引装置を備え、
前記リソース取引装置のリソース割当部は、
自身のネットワークに接続されたコンピュータリソースの前記割当量と前記提供量との差と、前記提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身のネットワークに接続されたコンピュータリソースから前記提供要求に応じた前記コンピュータリソースを提供可能であるか否かを判定し、提供可能でないと判定した場合に、他の前記ネットワークの前記リソース取引装置にコンピュータリソースの割当要求を送信し、送信した割当要求に応じて前記他のリソース取引装置から割当てられるコンピュータリソースを、前記割当要求の要求元である前記リソース提供装置に割当てる
ことを特徴とする請求項1または請求項2に記載のコンピュータリソース提供システム。
【請求項4】
前記コンピュータリソースの提供は、前記コンピュータ装置が自身のコンピュータリソースに仮想マシンを起動して、起動した仮想マシンを前記ユーザ端末に利用させることにより行われ、複数の前記仮想マシンは用途に応じてクラスタ毎に管理され、
前記リソース取引装置のリソース割当部は、
前記他のリソース取引装置に、前記クラスタ毎にコンピュータリソースの割当要求を行う
ことを特徴とする請求項3に記載のコンピュータリソース提供システム。
【請求項5】
前記リソース取引装置のリソース割当部は、
自身のネットワーク内の前記コンピュータ装置によって提供されている仮想マシンに対応する新たなコンピュータリソースの提供要求を受信し、受信した提供要求に応じたコンピュータリソースを自身のネットワーク内から提供可能でないと判定した場合には、前記コンピュータ装置によって提供されている仮想マシンに対応するクラスタに属する全てのコンピュータリソースについての割当要求を前記他のリソース取引装置に行い、送信した割当要求に応じて前記他のリソース取引装置から割当てられるコンピュータリソースに対して、自身のネットワーク内の前記コンピュータ装置によって提供されている前記仮想マシンを移動させる
ことを特徴とする請求項4に記載のコンピュータリソース提供システム。
【請求項6】
ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供し、自身に割当てられた前記コンピュータリソースの割当量と、自身が前記ユーザ端末に提供している前記コンピュータリソースの提供量とが記憶されるコンピュータリソース量記憶部を有する複数のリソース提供装置と、当該複数のリソース提供装置に接続され、前記ネットワークに接続された前記コンピュータ装置に基づくコンピュータリソースのうち、前記複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される未割当コンピュータリソース識別情報記憶部を有するリソース取引装置とを備えたコンピュータリソース提供システムのコンピュータリソース提供方法であって、
前記リソース提供装置が、
前記割当量と前記提供量との差と、前記提供要求によって要求されるコンピュータリソースの提供要求量とを比較して、自身に割当てられた前記コンピュータリソースから前記提供要求に応じた前記コンピュータリソースを提供可能であるか否かを判定するステップと、
前記提供要求量に応じた前記コンピュータリソースを提供可能ではないと判定された場合に、前記リソース取引装置に前記提供要求量に応じたコンピュータリソースの割当要求を行うステップと、
前記割当量と前記提供量との差と、前記提供要求量とを比較して、自身に割当てられた前記コンピュータリソースのうち、一定期間内に提供しない前記コンピュータリソースを余剰リソースとして検出し、前記リソース取引装置に、検出した余剰リソースの解放要求を行うステップと、
前記リソース取引装置が、
前記リソース提供装置から送信される前記割当要求に応じて、前記未割当コンピュータリソース識別情報に対応する前記コンピュータリソースを、前記割当要求の要求元である前記リソース提供装置に割当てるステップと、
前記リソース提供装置から送信される前記解放要求に応じて、当該解放要求に対応する余剰リソースを識別する識別情報を、前記未割当コンピュータリソース識別情報として前記未割当コンピュータリソース識別情報記憶部に記憶させるステップと、
を備えることを特徴とするコンピュータリソース提供方法。
【請求項7】
ユーザ端末から送信されるコンピュータリソースの提供要求に応じて、ネットワークに接続された複数台のコンピュータ装置のうち自身に割当てられた複数台のコンピュータ装置に基づいて仮想化されたコンピュータリソースを提供し、自身に割当てられた前記コンピュータリソースの割当量と、自身が前記ユーザ端末に提供している前記コンピュータリソースの提供量とが記憶されるコンピュータリソース量記憶部を有する複数のリソース提供装置に接続され、前記ネットワークに接続された前記コンピュータ装置に基づくコンピュータリソースのうち、前記複数のリソース提供装置のいずれにも割当てられていないコンピュータリソースを識別する未割当コンピュータリソース識別情報が記憶される未割当コンピュータリソース識別情報記憶部を有するリソース取引装置のコンピュータに、
前記リソース提供装置から送信されるコンピュータリソースの割当要求に応じて、前記未割当コンピュータリソース識別情報に対応する前記コンピュータリソースを、前記割当要求の要求元である前記リソース提供装置に割当てるステップと、
前記リソース提供装置から送信されるコンピュータリソースの解放要求に応じて、当該解放要求に対応する余剰リソースを識別する識別情報を、前記未割当コンピュータリソース識別情報として前記未割当コンピュータリソース識別情報記憶部に記憶させるステップと、
を実行させるリソース取引プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2010−250778(P2010−250778A)
【公開日】平成22年11月4日(2010.11.4)
【国際特許分類】
【出願番号】特願2009−102470(P2009−102470)
【出願日】平成21年4月20日(2009.4.20)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)