(57)【要約】【課題】複数の資源のうちの１つの資源の利用者への提供量の変更に伴って、当該変更に伴って生じるその他の資源の需要量の変動に応じて、その他の資源の提供量を変動後の需要量に見合った量に設定する。【解決手段】資源提供システム１０は、ストレージ提供サーバ１２、ＣＰＵコア及びメモリを提供する中継装置１８を含む。中継装置１８は、各資源の性能のバランスがとれた状態となるように各資源の提供量が対応付けられた資源量テーブル３０を記憶する。資源提供設定部３２は、複数の資源のうち１つの資源の提供量を変更する変更要求を受けた場合、資源量テーブル３０を参照し、変更要求を受けた資源の変更後の提供量に対応付けられた、その他の資源の提供量を特定する。資源提供設定部３２は、変更要求を受けた資源の提供量を変更要求通りに変更すると共に、その他の資源の提供量も特定した提供量に変更する。【選択図】図１
2017004237.tif 000002
【特許請求の範囲】
【請求項１】
通信回線を介して利用者に提供される、記憶資源及び計算資源を含むプールされた複数の資源と、
前記複数の資源それぞれの前記利用者への提供量を設定する資源提供量設定手段であって、前記複数の資源のうちの１つの前記利用者への提供量が変更された場合に、前記複数の資源の提供量の組み合わせが示された組み合わせ情報に基づいて、提供量が変更された資源以外の資源の前記利用者への提供量も変更する資源提供量設定手段、
を備える資源提供装置。
【請求項２】
前記複数の資源のうち少なくとも１つの資源の前記利用者による利用量を検出する資源利用量検出手段、
をさらに備え、
前記資源提供量設定手段は、前記利用量と当該資源の前記利用者への現在の提供量との比較結果に応じて、当該資源の前記利用者への提供量を変更する、
ことを特徴とする、請求項１に記載の資源提供装置。
【請求項３】
前記利用量と当該資源の現在のプール量との比較結果に応じて、当該資源のプール量を変更する資源プール量変更手段、
をさらに備える、
ことを特徴とする、請求項２に記載の資源提供装置。
【請求項４】
プールされた記憶資源を有し、前記記憶資源を利用者に提供する複数のサーバと、
前記複数のサーバ、及び、前記利用者が使用する利用者端末に通信回線を介して接続され、プールされた計算資源を有し、前記計算資源を前記利用者に提供する中継装置と、
を備え、
前記中継装置は、
前記複数のサーバが有する複数の記憶資源及び前記計算資源を含む複数の資源それぞれの前記利用者への提供量を設定する資源提供量設定手段であって、前記複数の資源のうちの１つの前記利用者への提供量が変更された場合に、前記記憶資源とその他の資源の提供量の組み合わせが示された組み合わせ情報に基づいて、提供量が変更された資源以外の資源の前記利用者への提供量も変更する資源提供量設定手段、
を備える、
ことを特徴とする資源提供システム。
【請求項５】
コンピュータを、
通信回線を介して利用者に提供される、記憶資源及び計算資源を含むプールされた複数の資源それぞれの前記利用者への提供量を設定する資源提供量設定手段であって、前記複数の資源のうちの１つの前記利用者への提供量が変更された場合に、前記複数の資源の提供量の組み合わせが示された組み合わせ情報に基づいて、提供量が変更された資源以外の資源の前記利用者への提供量も変更する資源提供量設定手段、
として機能させる資源提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、資源提供装置、資源提供システム、及び、資源提供プログラムに関する。
【背景技術】
【０００２】
従来、ＣＰＵ、メモリ、及びストレージなどの資源（ハードウェア資源）をプールしておき、インターネットなどの通信回線を介して、当該資源をユーザに対して提供するサービスが提案されている。このサービスはクラウドサービスと呼ばれており、特に上記のような資源を提供するサービス形態はＩａａＳ（Infrastructure as a Service）と呼ばれている。
【０００３】
このようなクラウドサービスにおいて、各資源の提供量、つまり利用者（ユーザ）が利用可能となる各資源の量は、ユーザによって指定されるのが一般的である。ユーザは、自ら指定した各資源の利用量に応じて、クラウドサービスの提供者に対して料金を支払う。
【０００４】
また、各資源の提供量を自動的に設定する技術、あるいは、各資源の提供量の設定をサポートする技術も提案されている。
【０００５】
例えば、特許文献１には、複数の資源のうち、処理のボトルネックとなる資源を識別して、資源の利用料が予め指定された指定料金以下となる範囲において、ボトルネックとなる資源の提供量を増強させることが開示されている。また、特許文献２には、サーバ上の仮想マシンの資源の使用を監視し、資源の追加、削除、開始、停止等の構成改変を行う仮想化マネージャが開示されている。また、特許文献３には、性能テストにより処理パフォーマンスが検証済みの資源構成をスナップショットとして複数保持し、ユーザに複数のスナップショットから所望のスナップショットを選択させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１６１１４９号公報
【特許文献２】特表２０１３−５１８３３０号公報
【特許文献３】特開２０１１−１１３２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
複数の資源のうち１つの資源の提供量が変更された場合、当該変更に伴ってその他の資源の需要量が変動する場合がある。例えば、複数の提供資源（ＣＰＵ、メモリ、ストレージなど）から構成される仮想ハードウェアのストレージ容量が増大させられた場合、その後、ストレージへ格納されるべく当該仮想ハードウェアに送信されるデータ量が増大する場合がある。その結果、送信されてくる大量のデータを処理するために仮想ハードウェアに求められる処理能力が増大する。つまり、仮想ハードウェアにおけるＣＰＵやメモリの需要量がストレージ容量増大前より増える。逆に、仮想ハードウェアのストレージ容量が減少させられた場合、その後におけるストレージへの格納データ量は低く維持される場合が多く、その場合は仮想ハードウェアにおけるＣＰＵやメモリの需要量はストレージ容量減少前よりも減ることになる。
【０００８】
本発明の目的は、複数の資源のうちの１つの資源の利用者への提供量の変更に伴って、当該変更に伴って生じるその他の資源の需要量の変動に応じて、その他の資源の提供量を変動後の需要量に見合った量に設定することにある。
【課題を解決するための手段】
【０００９】
本発明に係る資源提供装置は、通信回線を介して利用者に提供される、記憶資源及び計算資源を含むプールされた複数の資源と、前記複数の資源それぞれの前記利用者への提供量を設定する資源提供量設定手段であって、前記複数の資源のうちの１つの前記利用者への提供量が変更された場合に、前記複数の資源の提供量の組み合わせが示された組み合わせ情報に基づいて、提供量が変更された資源以外の資源の前記利用者への提供量も変更する資源提供量設定手段、を備えることを特徴とする。
【００１０】
望ましくは、前記複数の資源のうち少なくとも１つの資源の前記利用者による利用量を検出する資源利用量検出手段、をさらに備え、前記資源提供量設定手段は、前記利用量と当該資源の前記利用者への現在の提供量との比較結果に応じて、当該資源の前記利用者への提供量を変更する。
【００１１】
望ましくは、前記利用量と当該資源の現在のプール量との比較結果に応じて、当該資源のプール量を変更する資源プール量変更手段、をさらに備える。
【００１２】
本発明に係る資源提供システムは、プールされた記憶資源を有し、前記記憶資源を利用者に提供する複数のサーバと、前記複数のサーバ、及び、前記利用者が使用する利用者端末に通信回線を介して接続され、プールされた計算資源を有し、前記計算資源を前記利用者に提供する中継装置と、を備え、前記中継装置は、前記複数のサーバが有する複数の記憶資源及び前記計算資源を含む複数の資源それぞれの前記利用者への提供量を設定する資源提供量設定手段であって、前記複数の資源のうちの１つの前記利用者への提供量が変更された場合に、前記記憶資源とその他の資源の提供量の組み合わせが示された組み合わせ情報に基づいて、提供量が変更された資源以外の資源の前記利用者への提供量も変更する資源提供量設定手段、を備えることを特徴とする。
【００１３】
本発明に係る資源提供プログラムは、コンピュータを、通信回線を介して利用者に提供される、記憶資源及び計算資源を含むプールされた複数の資源それぞれの前記利用者への提供量を設定する資源提供量設定手段であって、前記複数の資源のうちの１つの前記利用者への提供量が変更された場合に、前記複数の資源の提供量の組み合わせが示された組み合わせ情報に基づいて、提供量が変更された資源以外の資源の前記利用者への提供量も変更する資源提供量設定手段、として機能させることを特徴とする。
【発明の効果】
【００１４】
請求項１及び５に記載の発明によれば、複数の資源のうちの１つの資源の利用者への提供量の変更に伴って、当該変更に伴って生じるその他の資源の需要量の変動に応じて、その他の資源の提供量を変動後の需要量に見合った量に設定することができる。
【００１５】
請求項２に記載の発明によれば、資源の提供量を当該資源の利用量に応じて適切に自動変更し、それに伴い他の資源の提供量も変更することができる。
【００１６】
請求項３に記載の発明によれば、資源の利用量に応じた適切な資源のプール量を設定することができる。
【００１７】
請求項４に記載の発明によれば、複数の資源のうちの１つの資源の提供量が変更されたことに伴う他の資源の需要量の変化に応じて、当該他の資源の提供量を変更することができると共に、記憶資源を有する複数のサーバそれぞれにおける記憶資源と、中継装置における計算資源とを含む複数の資源の提供量を中継装置において集中管理することができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係る資源提供システムの構成概略図である。
【図２】資源量テーブルの例を示す図である。
【図３】中継装置における資源提供量変更処理の流れを示すフローチャートである。
【図４】中継装置における資源プール量変更処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【００２０】
図１は、本実施形態に係る資源提供システム１０の構成概略図である。資源提供システム１０は、計算資源としてのＣＰＵ及びメモリ、並びに記憶資源としてのストレージを含む複数の資源（ハードウェア資源）を通信回線を介して利用者（ユーザ）に提供するシステムである。資源提供システム１０は、複数のストレージ提供サーバ１２、複数のクライアント装置１４、並びに、複数のストレージ提供サーバ１２と通信回線１６ａを介して接続され、複数のクライアント装置１４と通信回線１６ｂを介して接続される中継装置１８を含んで構成される。本実施形態において、通信回線１６ａ及び１６ｂはインターネットであるが、ＬＡＮなどであってもよい。
【００２１】
ストレージ提供サーバ１２は、サーバとして機能し得る程度の性能を有するコンピュータである。ストレージ提供サーバ１２は、ハードディスク（ＨＤＤ）あるいはソリッドステートドライブ（ＳＳＤ）などの記憶装置を有する。その記憶領域の一部が、ユーザへの提供を目的としてストレージプール２０としてプールされている。資源提供システム１０においては、いわゆるマルチテナントシステムとなっており、ストレージプール２０内において、複数のテナント（例えば企業など）用の複数のストレージが定義されている（図１においては、テナントＡ用ストレージ２０ａのみ示されている）。テナントＡに属するユーザは、テナントＡ用ストレージ２０ａを利用することができるが、その他のテナント用のストレージを利用することはできない。資源提供システム１０には、複数のストレージ提供サーバ１２を含むが、各ストレージ提供サーバ１２の構成及び機能は同様である。また、１つのみのストレージ提供サーバ１２を含む態様も採用することができる。
【００２２】
クライアント装置１４は、資源の提供を受けるユーザが使用する装置であり、例えば、パーソナルコンピュータあるいは複合機などである。資源提供システム１０は複数のクライアント装置１４を含む。複数のクライアント装置１４は、複数のテナント（例えばテナントＡ、テナントＢ、テナントＣ・・・）に設置され、各テナントに属するユーザが使用するものである。また、１つのみのクライアント装置１４を含む態様も採用することができる。ユーザは、クライアント装置１４を使用した資源提供システム１０の利用にあたり、資源提供システム１０へのログイン処理を行う。これにより、資源提供システム１０は、当該ユーザが属するテナントを把握可能となる。
【００２３】
中継装置１８は、サーバとして機能し得る程度の性能を有するコンピュータである。中継装置１８は、複数のストレージ提供サーバ１２と複数のクライアント装置１４との間で情報（データ）の中継を行う。例えば、複数のストレージ提供サーバ１２において、データ処理のインターフェースやプロトコルが互いに異なる場合があり、そのような場合に、中継装置１８は、クライアント装置１４からのストレージ提供サーバ１２へのデータの格納要求を、各ストレージ提供サーバ１２に適したデータに変換した上でストレージ提供サーバ１２へ送信するなどの処理を行う。
【００２４】
中継装置１８は、ＣＰＵコアプール２２、メモリプール２４、記憶部２６、及び、制御部２８を備える。以下、これらについて説明する。
【００２５】
中継装置１８は、ＣＰＵ資源として複数のＣＰＵコアからなるＣＰＵコア群を有する。その一部が、ユーザへの提供を目的としてＣＰＵコアプール２２としてプールされている。ストレージプール２０同様、ＣＰＵコアプール２２内において、テナントＡ用ＣＰＵコア２２ａを含む複数のテナント用の複数のＣＰＵコアが定義されている。テナントＡに属するユーザは、テナントＡ用ＣＰＵコア２２ａを利用することができるが、その他のテナント用のＣＰＵコアを利用することはできない。
【００２６】
また、中継装置１８は、メモリ資源としてＲＡＭなどの一時記憶装置を有している。その記憶領域の一部が、ユーザへの提供を目的としてメモリプール２４としてプールされている。ストレージプール２０及びＣＰＵコアプール２２同様、メモリプール２４内において、テナントＡ用メモリ２４ａを含む複数のテナント用の複数のメモリが定義されている。テナントＡに属するユーザは、テナントＡ用メモリ２４ａを利用することができるが、その他のテナント用のメモリを利用することはできない。
【００２７】
記憶部２６は、例えばハードディスクやＲＯＭ、あるいはＲＡＭを含んで構成される（これはユーザに提供されるものではない）。記憶部２６には、中継装置１８の各部を動作させるためのプログラム、中継装置１８における演算処理結果、あるいは、ユーザ及び当該ユーザの属するテナントを識別するためのユーザ情報などが記憶される。
【００２８】
また、記憶部２６には、複数の資源の提供量の組み合わせを示す組み合わせ情報としての資源量テーブル３０が記憶される。資源量テーブル３０においては、資源提供システム１０が提供する各資源の提供量が対応付けられた資源提供量セットが複数定義されている。各資源提供量セットには、テナントが資源提供システム１０の管理者に支払う料金が設定されている。資源量テーブル３０は、資源提供システム１０の管理者によってテナント毎に作成され、対応するテナントの承認を得て記憶部２６に記憶される。
【００２９】
各資源提供量セットにおいては、提供量により定まる各資源の性能に従って、複数の資源の提供量が対応付けられる。例えば、ストレージ容量２０ＧＢに対しては、ストレージ容量を２０ＧＢに設定したテナントが必要十分とするＣＰＵコア数（例えば１個）及びメモリ容量（例えば１ＧＢ)が対応付けられる。一方、ストレージ容量１００ＧＢに対しては、ストレージ容量を１００ＧＢに設定したテナントが一般的に必要十分とするＣＰＵコア数（例えば４個）及びメモリ容量（例えば１６ＧＢ)が対応付けられる。このように、資源量テーブル３０においては、提供量により定まる各資源の性能レベルに応じた複数の資源提供量セットが定義されている。
【００３０】
各資源提供量セットにおいては、資源提供システム１０の管理者とユーザとの間での契約（ＳＬＡ；Service Level Agreement）における最低処理速度を維持できる限りにおいて、ある資源の性能が処理のボトルネックになることなく、あるいは、ある資源の性能が他の資源の性能に比して突出して高くなることもなく、当該テナントにとってできるだけ各資源の性能のバランスがとれた状態となるように、各資源の提供量が対応付けられている。これらの各資源提供量セットにおいて対応付けられる各資源の提供量は、過去における当該テナントの各資源の利用実績などに基づいて決定される。なお、本実施形態では、中継装置１８の記憶部２６に資源量テーブル３０が記憶されるが、資源量テーブル３０は、中継装置１８からアクセス可能な他の装置の記憶部に記憶されてもよい。
【００３１】
制御部２８は、例えばＣＰＵ（これはユーザに提供されるものではない）を含んで構成され、記憶部２６に記憶されたプログラムに従って、中継装置１８に含まれる各部の制御を行う。制御部２８は、資源提供量設定部３２、資源利用量検出部３４、及び、資源プール量設定部３６としても機能する。
【００３２】
資源提供量設定部３２は、各テナントに対する各資源の提供量を設定する。具体的には、テナントＡ用ストレージ２０ａを含む複数のテナント用ストレージの容量、テナントＡ用ＣＰＵコア２２ａを含む複数のテナント用ＣＰＵコアの数、及びテナントＡ用メモリ２４ａを含む複数のテナント用メモリの容量を設定する。
【００３３】
あるテナントへの各資源の提供量は、当該テナントに属するユーザからの指示に基づいて設定される。例えば、テナントＡに属するユーザが使用するクライアント装置１４からストレージ容量の指示情報を受けた場合、資源提供量設定部３２は、当該指示情報に基づいて、テナントＡ用ストレージ２０ａの容量を設定する。ＣＰＵコア数、メモリ容量についても同様である。このように、資源提供量設定部３２は、各資源の提供量を個別に設定可能である。
【００３４】
また、資源提供量設定部３２は、後述の資源利用量検出部３４の検出結果に基づいて、各資源の提供量を変更してもよい。１つの方法として、資源利用量検出部３４が検出したあるテナントのある資源の利用量と、当該テナントに対する当該資源の提供量との比較結果に応じて当該資源の当該テナントに対する提供量を変更する。例えば、テナントＡ用ストレージ２０ａの容量に対するテナントＡ用ストレージ２０ａの利用量の割合が第１の閾値以上（例えば９割以上）となった場合に、資源提供量設定部３２はテナントＡ用ストレージ２０ａの容量を増大させる。あるいは、テナントＡ用ストレージ２０ａの容量に対するテナントＡ用ストレージ２０ａの利用量の割合が第１の閾値よりも小さい第２の閾値以下（例えば３割以下）となった場合に、資源提供量設定部３２はテナントＡ用ストレージ２０ａの容量を減少させる。
【００３５】
また、他の方法として、資源提供量設定部３２は、あるテナントの複数の時点におけるある資源の利用量に基づいて、当該資源の当該テナントによる利用量の時間的推移を演算し、当該時間的推移に基づいて当該資源の当該テナントに対する提供量を変更してもよい。例えば、テナントＡ用ストレージ２０ａの利用量が所定期間における増大量が所定値以上の場合、あるいは、所定期間における減少量が所定値以上の場合、つまり所定期間におけるテナントＡ用ストレージ２０ａの利用量の変化量が所定値以上の場合に、テナントＡ用ストレージ２０ａの容量を増大あるいは減少させる。
【００３６】
さらに、資源提供量設定部３２は、あるテナントの各資源の提供量が設定済みの状態において、当該テナントの１つの資源の提供量が変更された場合、資源量テーブル３０に基づいて、提供量が変更された資源以外の資源の当該テナントへの提供量も変更する。当該処理については、図２を用いて後に詳述する。
【００３７】
資源利用量検出部３４は、提供した各資源の利用量をテナント毎に検出する。あるいは、各資源について、複数のテナントによる利用量の合計量を検出する。ストレージの利用量については、各テナント用ストレージにおけるデータ記憶済み容量が各テナントのストレージの利用量として検出される。また、ＣＰＵ及びメモリなどのように、経時的に利用量が上下変動し得る資源については、所定期間内における利用量の指標値（例えば最大値、平均値、中央値など）が各資源の利用量として検出される。資源利用量検出部３４は、各テナント用の各資源の利用量を常時検出（モニタ）するようにしてもよいし、所定間隔毎（例えば１日１回など）に検出するようにしてもよい。
【００３８】
資源プール量設定部３６は、資源利用量検出部３４の検出結果に基づいて、ユーザに提供する分としてプールされている資源プール量を増大あるいは減少させる。例えば、ストレージプール２０の容量を変更する場合、ストレージ提供サーバ１２が有する記憶装置におけるストレージプール２０としてプールされる記憶領域を拡大あるいは縮小する。
【００３９】
資源提供量設定部３２の処理同様に、資源プール量設定部３６は、１つの方法として、資源利用量検出部３４が検出したある資源の利用量と、当該資源のプール量との比較結果に応じて当該資源のプール量を変更する。ここでの資源の利用量とは、各テナントによる利用量の合計である。例えば、ストレージプール２０の容量に対するストレージプール２０全体としての利用量の割合が第１の閾値以上（例えば９割以上）となった場合に、資源プール量設定部３６はストレージプール２０の容量を増大させる。あるいは、ストレージプール２０の容量に対するストレージプール２０全体としての利用量の割合が第１の閾値よりも小さい第２の閾値以下（例えば３割以下）となった場合に、資源プール量設定部３６はストレージプール２０の容量を減少させる。
【００４０】
また、他の方法として、資源プール量設定部３６は、複数の時点におけるある資源の利用量に基づいて、当該資源の利用量の時間的推移を演算し、当該時間的推移に基づいて当該資源のプール量を変更してもよい。例えば、ストレージプール２０全体としての利用量が所定期間における増大量が所定値以上の場合、あるいは、所定期間における減少量が所定値以上の場合、つまり所定期間におけるストレージプール２０全体としての利用量の変化量が所定値以上の場合に、ストレージプール２０の容量を増大あるいは減少させる。
【００４１】
資源提供システム１０の構成概略は以上の通りである。上述のように、資源提供システム１０においては、ストレージ提供サーバ１２及び中継装置１８が、ユーザに資源を提供する資源提供装置を構成する。資源提供システム１０においては、複数のストレージ提供サーバ１２が中継装置１８に通信回線１６ａを介して接続されているため、中継装置１８において、複数のストレージ提供サーバ１２に分散して配置される複数のストレージの集中管理（例えば各ストレージの容量設定など）が可能となっている。なお、本実施形態では、資源としてストレージ、ＣＰＵ、及びメモリがユーザに提供されているが、それらに加え、その他の資源（例えばネットワークカードなど）も提供するようにしてもよい。
【００４２】
次に、図１を参照しつつ図２を用いて、資源提供量設定部３２による、あるテナントの１つの資源の提供量が変更された場合における、当該テナントに対するその他の資源の提供量を変更する処理について説明する。
【００４３】
図２には、資源量テーブル３０の一例が示されている。図２における資源量テーブル３０は、テナントＡに対応するものである。上述の通り、資源量テーブル３０においては、提供量により定まる各資源の性能に従って、複数の資源の提供量が対応付けられる。例えば、ロー３０ａをみれば、ストレージ容量２０ＧＢ、ＣＰＵコア数１個、メモリ容量１ＧＢが対応付けられている。これらが１つの資源提供量セットを構成している。ロー３０ａに対応する資源提供量セットは、各資源の性能が比較的低くなる提供量セットであり、当該資源提供量セットにはその性能に見合った料金２円／ｈが設定されている。一方、ロー３０ｂをみれば、ストレージ容量１００ＧＢ、ＣＰＵコア数４個、メモリ容量１６ＧＢからなる資源提供量セットが定義されている。当該資源提供量セットは、各資源の性能が比較的高い提供量セットであり、当該資源提供量セットにはその性能に見合った料金１６円／ｈが設定されている。
【００４４】
現在、テナントＡ用ストレージ２０ａの容量が２０ＧＢに、テナントＡ用ＣＰＵコア２２ａの個数が１個に、テナントＡ用メモリ２４ａの容量が１ＧＢに設定されているとする。この状態において、テナントＡに属するユーザから、テナントＡ用ストレージ２０ａの容量を２０ＧＢから６０ＧＢへの変更要求を受けた場合を考える。中継装置１８が、当該ユーザが使用するクライアント装置１４からテナントＡ用ストレージ２０ａの容量の変更要求を受信すると、資源提供量設定部３２は、資源量テーブル３０を参照し、変更後のストレージ容量に対応付けられているＣＰＵコア数及びメモリ容量を特定する。具体的には、資源提供量設定部３２は、資源量テーブル３０においてストレージ容量が６０ＧＢとなっているロー３０ｃを特定し、ロー３０ｃに設定されているＣＰＵコア数（２個）及びメモリ容量（４ＧＢ）を特定する。そして、変更要求通りにテナントＡ用ストレージ２０ａの容量を２０ＧＢから６０ＧＢへ変更すると共に、テナントＡ用ＣＰＵコア２２ａの数を１個から２個へ、テナントＡ用メモリ２４ａの容量を１ＧＢから４ＧＢへ変更する。
【００４５】
本実施形態によれば、資源量テーブルにおいて複数の資源の性能のバランスが取れるように複数の資源の提供量が組み合わされた資源提供量セットが定義され、それに基づいて、複数の資源のうち１つの資源の提供量が変更された場合に、他の資源の提供量も変更される。つまり、１つの資源のみの提供量が変更された場合であっても、資源提供システム１０が提供する複数の資源の性能が、ユーザにとってバランスが良いように常に保たれることになる。これにより、１つの資源の提供量の変更に伴って生じるその他の資源の需要量の変動に早期に対応することができる。例えば、１つの資源の増強によって生じ得る、その他の資源の提供量不足（つまりその他の資源がボトルネックになること）による処理速度の低下を未然に防止することができる。あるいは、１つの資源の提供量の減少によって生じ得る、その他の資源の過剰提供に起因する無駄なコストを削減することができる。
【００４６】
上記においては、ストレージの提供量が変更された場合に、それに伴ってＣＰＵコア及びメモリの提供量も変更する例を示したが、もちろん、ＣＰＵコアの提供量の変更に伴ってストレージ及びメモリの提供量を変更してもよいし、メモリの提供量の変更に伴ってストレージ及びＣＰＵコアの提供量を変更してもよい。
【００４７】
また、上記例においては、ストレージの提供量がユーザの指示により変更されていたが、資源利用量検出部３４の検出結果に基づいて、資源提供量設定部３２がストレージの提供量を変更し、それに伴ってその他の資源の提供量を変更するようにしてもよい。例えば、テナントＡ用ストレージ２０ａの利用量がストレージ２０ａの容量の９割以上となっていることが検出された場合に、資源提供量設定部３２は当該検出結果に基づいてテナントＡ用ストレージ２０ａの容量を増大させるに伴って、ＣＰＵコア数及びメモリ容量を増大させるようにしてもよい。
【００４８】
また、資源提供システム１０が複数のストレージ提供サーバ１２を有している場合、資源量テーブル３０におけるストレージ容量は、複数のストレージ提供サーバ１２に分散して配置された複数のテナントＡ用ストレージ２０ａの容量の合計であってよい。このようにすることで、資源提供システム１０全体として、ストレージ提供量、ＣＰＵコアの数、及びメモリ提供量が常にバランス良く提供される。
【００４９】
あるいは、資源量テーブル３０におけるストレージ容量は、複数のストレージ提供サーバ１２のうち、予め定められた１つのストレージ提供サーバ１２（注目ストレージ提供サーバ）の容量であってもよい。このようにすることで、他のストレージ提供サーバ１２におけるストレージの提供量に関わらず、注目ストレージ提供サーバのストレージ提供量のみに着目してその他の資源の提供量を設定し得る。例えば、複数のストレージ提供サーバ１２のうち、頻繁に利用するものとそうでないものが明確に分かれている場合に、頻繁に利用されるストレージ提供サーバを注目ストレージ提供サーバとすることで、よりデータ処理量の実態に即した資源提供量の設定が可能になる。当該注目ストレージ提供サーバの設定は、資源提供システム１０の提供者とユーザ間のＳＬＡに含めてもよい。
【００５０】
以下、図１を参照しつつ、図３のフローチャートを用いて、資源提供システム１０における資源提供量の変更処理の流れについて説明する。
【００５１】
ステップＳ１０において、資源提供量設定部３２は、複数の資源のいずれかに対して、その提供量の変更要求を受けたか否かを識別する。ここでの変更要求は、ユーザの指示に基づくものであってもよいし、資源利用量検出部３４の検出結果に基づいて資源提供量設定部３２が自ら発するものであってもよい。
【００５２】
ステップＳ１２において、資源提供量設定部３２は、変更要求を受けた資源がいずれのテナントのものであるかを識別する。当該識別は、変更要求をユーザが指示した場合には、ユーザのログイン情報などに基づいて変更要求を送信したユーザが属するテナントを識別すればよいし、資源利用量検出部３４の検出結果に基づいて資源提供量設定部３２が提供量を変更した場合は、当該変更処理の対象となった資源に対応するテナントを識別すればよい。
【００５３】
ステップＳ１４において、資源提供量設定部３２は、資源量テーブル３０を参照し、変更要求に係る資源の変更後の提供量に対応付けられている、その他の資源の提供量を特定する。
【００５４】
ステップＳ１６において、資源提供量設定部３２は、変更要求があった資源については変更要求通りにその提供量を変更し、さらに、その他の資源の提供量を、ステップＳ１４で特定された提供量に変更する。
【００５５】
次に、図１を参照しつつ、図４のフローチャートを用いて、資源提供システム１０における資源プール量の変更処理の流れについて説明する。本例では、ストレージのプール量、つまりストレージプール２０の容量を変更する処理について説明する。
【００５６】
ステップＳ２０において、資源利用量検出部３４は、ストレージプール２０の利用量を検出する。ここで検出される利用量は、テナントＡ用ストレージ２０ａを含む、複数のテナント用の各ストレージの各テナントによる利用量の合計である。
【００５７】
ステップＳ２２において、資源プール量設定部３６は、ステップＳ２０において検出されたストレージプール２０の利用量と、ストレージプール２０の容量とを比較して、ストレージプール２０の容量を変更する必要があるか否かを判定する。上述のように、ストレージプール２０の容量に対するストレージプール２０の利用量の割合が第１の閾値以上（例えば９割以上）あるいは第２の閾値以下（例えば３割以下）であれば容量変更が必要と判定する。ステップＳ２２においてストレージプール２０の容量の変更が不要と判定された場合は、処理を終了する。
【００５８】
ステップＳ２２においてストレージプール２０の容量の変更が必要と判定された場合は、ステップＳ２４において、資源プール量設定部３６は、ステップＳ２２の判定結果に応じて、ストレージプール２０の容量を変更する。例えば、ステップＳ２２において、ストレージプール２０の容量に対するストレージプール２０の利用量の割合が第１の閾値以上と判定された場合はストレージプール２０の容量を増大させ、ストレージプール２０の容量に対するストレージプール２０の利用量の割合が第２の閾値以下と判定された場合はストレージプール２０の容量を減少させる。
【００５９】
図４のフローチャートにおいて処理の流れが示されたように、資源提供システム１０においては、資源の利用量に応じて、当該資源のプール量を変更することも可能である。これにより、例えば資源提供システム１０の管理者が、各資源を第三者に対してプール量に応じた料金を支払うことで資源プールを確保している場合において、管理者にかかる無駄なコストを削減することができる。
【符号の説明】
【００６０】
１０  資源提供システム、１２  ストレージ提供サーバ、１４  クライアント装置、１６ａ，１６ｂ  通信回線、１８  中継装置、２０  ストレージプール、２２  ＣＰＵコアプール、２４  メモリプール、２６  記憶部、２８  制御部、３０  資源量テーブル、３２  資源提供量設定部、３４  資源利用量検出部、３６  資源プール量設定部。
【図１】
2017004237.tif 000003
【図２】
2017004237.tif 000004
【図３】
2017004237.tif 000005
【図４】
2017004237.tif 000006