説明

資源管理システム、資源管理装置およびその方法

【課題】処理のために用いられる処理資源を管理する資源管理システム、資源管理装置およびその方法を提供する。
【解決手段】システム管理サーバ4は、各処理サーバ3の余剰である各共有パーティション34を、各処理サーバ3を跨いで共有できるように制御する。つまり、システム管理サーバ4は、共有パーティション34−1および共有パーティション34−2を含む共有資源グループ110を生成する。さらに、システム管理サーバ4は、共有クライアント7−1から要求された処理を共有資源グループ110に実行させるような制御を行う。この制御によって、共有クライアント7−1から要求された処理は、共有パーティション34−1または共有パーティション34−2で処理される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、資源管理システム、資源管理装置およびその方法に関する。
【背景技術】
【0002】
例えば、特許文献1は、共有資源ドメインからグリッドシステムへ資源を利用可能にして、分散アプリケーションをサポートするシステムを開示する。
また、特許文献2は、グリッドコンピューティングシステム資源をオンデマンド制御するためのシステムを開示する。
【特許文献1】特開2006−85712号公報
【特許文献2】特表2007−515008号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
本発明は、上述した背景からなされたものであって、処理のために用いられる処理資源を管理する資源管理システム、資源管理装置およびその方法を提供することを目的とする。
【課題を解決するための手段】
【0004】
上記目的を達成するために、本発明にかかる資源管理システムは、複数の論理的または物理的な処理ノードと、前記処理ノードに接続された管理ノードとを有する資源管理システムであって、前記複数の処理ノードそれぞれに含まれ、処理のために用いられる処理資源は、互いに独立な第1のパーティションおよび第2のパーティションに割り当てられ、前記第1のパーティションは、前記複数の処理ノードそれぞれに閉じた第1の処理のために用いられ、前記第2のパーティションは、前記複数の処理ノードの内、選択された1つ以上により実行される1つ以上の第2の処理のために用いられ、前記管理ノードは、前記複数の処理ノードそれぞれの処理資源の内、前記第1の処理に必要とされる処理資源以外を、前記第2のパーティションに割り当てる割当制御手段と、前記複数の処理ノードの第2のパーティションの選択された1つ以上に、外部から要求された前記第2の処理を実行させる共有資源使用手段とを有する。
【0005】
好適には、前記資源割当制御手段は、前記複数の処理ノードそれぞれにおける前記第1の処理のための処理負荷を検出する処理負荷検出手段と、前記検出された第1の処理の処理負荷に基づいて、前記複数の処理ノードそれぞれの処理資源を、前記第1のパーティションまたは前記第2のパーティションに割り当てる資源割り当て手段とを有する。
【0006】
好適には、前記共有資源使用手段は、前記複数の処理ノードの第2のパーティションのいずれか、または、前記複数の処理ノードの第2のパーティションの2つ以上を選択し、前記第2の処理それぞれを実行させる。
【0007】
好適には、前記管理ノードは、前記検出された処理負荷の値を所定時間ごとにサンプリングする負荷サンプリング手段と、前記サンプリングした処理負荷値に基づいて、将来の時刻とこの時刻において予測される負荷との関係を示す負荷予測モデル情報を作成する負荷予測モデル作成手段とをさらに有し、前記割当制御手段は、前記負荷予測モデル情報に基づいて、前記複数の処理ノードの処理資源を、前記第1のパーティションに割り当てるための制御を行う。
【0008】
好適には、前記管理ノードは、前記負荷予測モデル情報に基づいて、前記第2の処理を実行させる1つ以上の第2のパーティションを選択する選択手段をさらに有し、前記共有資源使用手段は、前記選択手段の選択に基づいて、前記複数の処理ノードの1つ以上の第2のパーティションに、前記第2の処理を実行させる。
【0009】
好適には、前記管理ノードは、前記第2の処理を要求した外部ノードに対して課金処理を行う課金手段と、前記第2の処理に利用された前記第2のパーティションを有する処理ノードに対して前記課金処理に対応する還元処理を行う還元処理手段とをさらに有する。
【0010】
好適には、前記第1のパーティションおよび前記第2のパーティションは、それぞれ仮想マシンによって実現され、前記処理ノードは、前記処理資源を用いて、前記それぞれの仮想マシンを実行する。
【0011】
好適には、前記処理ノードそれぞれは、所定時間の間、所定の量の処理資源が前記第1のパーティションに割り当てられることを保証するように制御する時間保証手段を有する。
【0012】
好適には、前記管理ノードは、前記複数の処理ノードいずれかに含まれる。
【発明の効果】
【0013】
本発明によれば、処理のために用いられる処理資源を管理する資源管理システム、資源管理装置およびその方法を提供することができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施形態を説明する。
【0015】
[資源管理システム]
図1は、本発明の実施形態にかかる資源管理方法が適用される資源管理システム1の構成を例示する図である。
図1に示すように、資源管理システム1は、処理サーバ3−1〜3−Mと、システム管理サーバ4とが、ネットワーク100を介して接続されて構成される。
また、処理サーバ3−1〜3−Mは、それぞれ、専有クライアント6−1〜6−Mと接続されている。
さらに、システム管理サーバ4は、共有クライアント7−1〜7−N(M,Nは、1以上の整数。但し、M,Nが同じ数であるとは限らない)とネットワーク102を介して接続されている。
【0016】
なお、以下、処理サーバ3−1〜3−Mなど、複数ある構成部分のいずれかを特定せずに示すときには、単に、処理サーバ3などと略記することがある。
また、以下、処理サーバ3など、資源管理システム1において、情報処理および通信の主体となりうる装置を、ノードと総称することがある。
また、以下の各図において、実質的に同じ構成部分および処理には同じ番号が付される。
また、図1においては、処理サーバ3−1〜3−Mに専有クライアント6−1〜6−Mが1つずつ接続される場合を例示したが、各処理サーバ3に複数の専有クライアント6が接続されるようにしてもよい。
また、図1においては、処理サーバ3は物理的に複数ある場合を例示したが、物理的に複数ある必要はなく、論理的に複数あればよい。
【0017】
また、図1に示した資源管理システム1を構成する装置のうち、任意の2つ以上は、適宜、一体に構成されうる。
また、ある1つの装置において実現される複数の機能が、それぞれ別々の装置において実現されるようにしてもよいし、図1に示されていない装置において実現されるようにしてもよい。
たとえば、システム管理サーバ4と処理サーバ3とは、一体に構成されるようにしてもよい。
つまり、処理サーバ3−1〜3−Mのうちの1つ以上が、システム管理サーバ4の機能を備えるように構成してもよい。
また、ネットワーク100およびネットワーク102は、同一のネットワークとしてもよい。
【0018】
[ハードウエア]
図2は、図1に示した処理サーバ3、システム管理サーバ4、専有クライアント6および共有クライアント7のハードウエア構成を例示する図である。
図2に示すように、処理サーバ3、システム管理サーバ4、専有クライアント6および共有クライアント7は、CPU122−1〜122−n(nは1以上の整数。但し、nが常に同じ数であるとは限らない)およびメモリ124−1〜124−nなどを含む本体120、入出力装置126、通信装置128、および、記録媒体132に対するデータの記録および再生を行うディスク装置130−1〜130−nから構成される。
つまり、処理サーバ3、システム管理サーバ4、専有クライアント6および共有クライアント7は、情報処理および他のノードとの通信が可能なコンピュータとしてのハードウエア構成部分を有している。
【0019】
[資源管理の概要]
図3は、図1に示した資源管理システム1において、処理サーバ3と、システム管理サーバ4と、専有クライアント6と、共有クライアント7との間で行われる資源管理の概要を例示する図であり、(A)は処理サーバ3の概要を示し、(B)はシステム管理サーバ4の制御の概要を示す。
【0020】
処理サーバ3−1は、図3(A)に示すように、互いに独立な専有パーティション32−1および共有パーティション34−1を含む。
同様に、処理サーバ3−2は、互いに独立な専有パーティション32−2および共有パーティション34−2を含む。
これら専有パーティション32および共有パーティション34は、たとえば、仮想マシンによって実現される。
また、専有パーティション32および共有パーティション34には、処理サーバ3に含まれ、処理のために用いられる資源が動的に割り当てられる。
ここで、資源とは、図2に示した本体120等、処理のために用いられるハードウエアと、処理サーバ3にインストールされ、処理のために用いられるオペレーティングシステム(OS)等のソフトウエアとを含む。
【0021】
専有パーティション32は、各処理サーバ3に接続された各専有クライアント6から要求された処理のためにのみ用いられる。
つまり、専有パーティション32は、各処理サーバ3に閉じた処理のために専有されている。
一方、共有パーティション34は、処理サーバ3に接続された専有クライアント6−1から要求された処理には用いられていないので、専有クライアント6にとっては処理に必要のない、いわば余剰のパーティションである。
そのため、共有パーティション34が外部のノードに共有されても、専有パーティション32の処理に影響はなく、したがって、共有パーティション34は外部のノードによって共有されうる。
ここで、「余剰のパーティション」または「余剰資源」とは、処理サーバ3に閉じた処理のために使用されないパーティションまたは資源を意味する。
なお、専用パーティション32および共有パーティション34は、それぞれ複数あってもよい。
【0022】
システム管理サーバ4は、図3(B)の矢印a−1,a−2に示すように、各共有パーティション34を、各処理サーバ3を跨いで共有できるように制御する。
つまり、図3(A)の例において、システム管理サーバ4は、共有パーティション34−1および共有パーティション34−2を含み、共有クライアント7からはあたかも一体のノードであるかのように見える共有資源グループ110を生成する。
さらに、システム管理サーバ4は、図3(B)の矢印bに示すように共有クライアント7−1から要求された処理を共有資源グループ110に実行させる制御を行う。
【0023】
この制御によって、共有クライアント7−1から要求された処理は、共有パーティション34−1または共有パーティション34−2で処理される。
あるいは、共有クライアント7−1から要求された処理がプロセス毎に分割されて、各プロセスが、それぞれ、共有パーティション34−1および共有パーティション34−2で処理されうる。
なお、上述した共有資源グループ110の生成については、たとえば、グリッドコンピューティング(Grid Computing)の技術を利用して実現されうる。
【0024】
このように、処理サーバの共有パーティションを共有資源グループとして提供することによって、システム全体の余剰資源を有効に利用することができる。
また、専有パーティションと共有パーティションとが互いに独立しているので、専有パーティションは、共有パーティションを使用する共有クライアントによってアクセスされることはなく、逆に、共有パーティションは、専有パーティションを使用する専有クライアント6によってアクセスされることはない。
したがって、専有パーティションと共有パーティションとの間のセキュリティが確保される。
【0025】
図4は、専有パーティション32および共有パーティション34に割り当てられる資源の変化を例示する図であって、(A)は、専有パーティション32−1に割り当てられる資源量が多くなり、専有パーティション32−2に割り当てられる資源量が少なくなる態様を例示し、(B)は、専有パーティション32−1に割り当てられる資源量が少なくなり、専有パーティション32−2に割り当てられる資源量が多くなる態様を例示する。
図4において、図示された各パーティションの大きさは、割り当てられた資源の量を示し、図示されたパーティションの大きさが大きいほど、割り当てられた資源の量が多いことを示す。
【0026】
たとえば、処理サーバ3−1の専有パーティション32−1の処理負荷が所定値よりも高い場合、システム管理サーバ4は、図4(A)に示すように、専有パーティション32−1に割り当てられる資源量が多くなるように制御する。
このとき、共有パーティション34−1に割り当てられる資源量は、共有パーティション34−1の処理負荷に関わらず、少なくなるように制御される。
一方、処理サーバ3−2の専有パーティション32−2の処理負荷が所定値よりも低い場合、システム管理サーバ4は、図4(A)に示すように、専有パーティション32−2に割り当てられる資源量が少なくなるように制御する。
このとき、共有パーティション34−2に割り当てられる資源量は、共有パーティション34−2の処理負荷に関わらず、多くなるように制御される。
【0027】
また、たとえば、処理サーバ3−1の専有パーティション32−1の処理負荷が所定値よりも低くなった場合、システム管理サーバ4は、図4(B)に示すように、専有パーティション32−1に割り当てられる資源量が少なくなるように制御する。
これに伴って、共有パーティション34−1に割り当てられる資源量は、多くなるように制御される。
一方、処理サーバ3−2の専有パーティション32−2の処理負荷が所定値よりも高くなった場合、システム管理サーバ4は、図4(B)に示すように、専有パーティション32−2に割り当てられる資源量が多くなるように制御する。
これに伴って、共有パーティション34−2に割り当てられる資源量は、少なくなるように制御される。
【0028】
このとき、図4(A),(B)に示すように、共有資源グループ110に属する共有パーティション34に割り当てられた資源量の増減に伴って、共有資源グループ110が処理に利用できる資源量も増減する。
なお、専有パーティション32に割り当てられる資源の増減を決定するための処理負荷の所定値は、複数あってよく、したがって、専有パーティション32に割り当てられる資源は、段階的に増減されるようにしてもよい。
【0029】
このように、本実施形態においては、専有パーティションの処理負荷に応じて専有パーティションに割り当てられる資源の量を動的に制御するようにしているので、資源管理システム1は、処理サーバ内において、共有パーティションよりも専有パーティションを優先させて資源の割り当てを行うことができる。
したがって、専有パーティションの処理負荷は、共有パーティションの処理負荷の増大によって、増大することはない。
よって、処理サーバを所有する管理者が共有パーティションを共有資源グループに参加させることを促進することができる。
【0030】
[処理サーバプログラム]
次に、上述した専有パーティション32および共有パーティション34が、処理サーバ3の仮想マシンによって実現される例について説明する。
図5は、図1に示した処理サーバ3において動作する処理サーバプログラム30の構成を示す図である。
図5に示すように、処理サーバプログラム30は、通信処理部302、仮想マシン割当処理部310、仮想マシン管理部330、仮想マシン情報データベース(DB)332、共有仮想マシン資源情報作成部334、ユーザインターフェース(UI)340、仮想マシン共有制御部342、システムOS350、専有仮想マシン36および共有仮想マシン38から構成される。
【0031】
処理サーバプログラム30は、たとえば、記憶媒体132(図2)を介して処理サーバ3に供給され、メモリ124にロードされ、処理サーバ3にインストールされたOS上で、処理サーバ3のハードウエア資源を具体的に利用して実行される(以下に示す各ソフトウエアについても同様)。
なお、専有仮想マシン36および共有仮想マシン38は、本実施形態においてはそれぞれ1つずつである場合を例示したが、それぞれ複数あってもよい。
【0032】
処理サーバプログラム30において、通信処理部302は、ネットワーク100を介して、システム管理サーバ4との間で通信を行うために必要な処理を行う。
仮想マシン割当処理部310は、資源負荷情報取得部312、資源負荷情報通知部314、時間保証制御部316、資源割当情報受信部318および資源割当制御部320から構成される。
仮想マシン割当処理部310は、これらの構成部分によって、各仮想マシンに資源を割り当てるための処理を行う。
【0033】
仮想マシン割当処理部310において、資源負荷情報取得部312は、専有仮想マシン36に含まれる資源負荷情報抽出部366(後述)から、この専有仮想マシン36に割り当てられている資源に関する情報とその資源の負荷状態とを含む情報(資源負荷情報)を、システムOS350を介して取得する。
さらに、資源負荷情報取得部312は、共有仮想マシン38に含まれる資源負荷情報抽出部386(後述)から、この共有仮想マシン38の資源負荷情報を、システムOS350を介して取得する。
【0034】
時間保証制御部316は、専有仮想マシン36から、時間保証情報を受け取り、その時間保証情報を資源負荷情報取得部312に対して出力する。
時間保証情報とは、専有仮想マシン36を利用する専有クライアント6のユーザによって入力された情報であって、この専有仮想マシン36に割り当てられる資源量が所定時間確保されることを保証するための情報である。
この時間保証情報は、資源量を確保したい時間に関する情報を含む。
つまり、時間保証制御部316がこの時間保証情報を受け取った場合、対応する専有仮想マシン36に割り当てられる資源量は変更されないように制御される。
【0035】
資源負荷情報取得部312は、時間保証制御部316から時間保証情報を受け取った場合、対応する専有仮想マシン36の資源負荷情報に時間保証情報を追加する。
また、資源負荷情報取得部312は、資源負荷情報を、資源負荷情報通知部314に対して出力する。
資源負荷情報通知部314は、資源負荷情報取得部312から受け取った資源負荷情報を、通信処理部302およびネットワーク100を介して、システム管理サーバ4に対して送信する。
【0036】
図6は、図5に示した資源負荷情報抽出部366および資源負荷情報抽出部386が抽出する資源負荷情報を例示する図であって、(A)は専有仮想マシン36の資源負荷情報を例示し、(B)は共有仮想マシン38の資源負荷情報を例示する。
図6(A)に示すように、専有仮想マシン36の資源負荷情報は、仮想マシン識別子、専有識別情報、割当資源#1の情報(割当資源#1情報)およびこの資源負荷値、割当資源#2情報およびこの資源負荷値等を含み、時間保証制御部316によって追加された場合には時間保証情報も含む。
図6(B)に示すように、共有仮想マシン38の資源負荷情報は、仮想マシン識別子、共有識別情報、割当資源#3情報およびこの資源負荷値、割当資源#4情報およびこの資源負荷値等を含む。
【0037】
図6(A),(B)に示した専有識別情報および共有識別情報は、この資源負荷情報に対応する仮想マシンが専有仮想マシンであるか共有仮想マシンであるかを識別するための情報である。
また、割当資源#1情報等の割当資源情報は、各仮想マシンに割り当てられた各資源の情報であって、たとえば、専有仮想マシン36にCPU122−1およびメモリ124−1が割り当てられたとすると、割当資源#1情報はCPU122−1に関する情報を示し、割当資源#2情報はメモリ124−1に関する情報を示す。
また、資源負荷値は、各資源の負荷状態を示す値であり、上述の例であればCPU122−1の処理利用率を示し、割当資源#1情報に対応する資源負荷値は、たとえば、割当資源#2情報に対応する資源負荷値は、たとえばメモリ124−1の処理利用率を示す。
【0038】
資源割当情報受信部318(図5)は、システム管理サーバ4から、仮想マシン36に資源を割り当てるための資源割当情報を受信し、この資源割当情報を資源割当制御部320に対して出力する。
資源割当制御部320は、資源割当情報受信部318からの資源割当情報に基づいて、専有仮想マシン36および共有仮想マシン38に資源を割り当てるための制御を行う。
さらに、資源割当制御部320は、専有仮想マシン36および共有仮想マシン38に割り当てた資源に関する情報(割当資源情報)を作成する。
また、資源割当制御部320は、資源割り当てのための制御を行った仮想マシンの識別子、専有/共有識別情報および割当資源情報を、仮想マシン管理部330に対して出力する。
【0039】
仮想マシン管理部330は、専有仮想マシン36および共有仮想マシン38を実現するための処理を行う。
つまり、仮想マシン管理部330は、システムOS350を介して、専有仮想マシン36および共有仮想マシン38がそれぞれ独立して各クライアント等から要求された処理を実行するための制御を行う。
また、仮想マシン管理部330は、システムOS350を介して専有仮想マシン36および共有仮想マシン38を制御するための処理を行う。
さらに、仮想マシン管理部330は、資源割当制御部320から仮想マシン識別子、専有/共有識別情報および割当資源情報を受け取り、これらの情報に基づいて、専有仮想マシン36および共有仮想マシン38の状態を示す仮想マシン情報を作成する。
また、仮想マシン管理部330は、仮想マシン情報を管理し、仮想マシン情報DB332に格納する。
【0040】
図7は、図5に示した仮想マシン管理部330が作成および管理する仮想マシン情報を例示する図である。
図7に示すように、仮想マシン情報は、専有仮想マシン情報および共有仮想マシン情報を含む。
専有仮想マシン情報は、仮想マシン識別子、専有識別情報、使用専有クライアント識別子、および、この仮想マシンに割り当てられた資源に関する割当資源情報を含む。
仮想マシン識別子、専有識別情報および割当資源情報は、仮想マシン管理部330が資源割当制御部320から受け取った情報であり、使用専有クライアント識別子は、仮想マシン管理部330がシステムOS350を介して専有仮想マシン36から抽出した情報である。
【0041】
共有仮想マシン情報は、仮想マシン識別子、共有識別情報、所属グループ識別子および割当資源情報を含む。
また、この共有仮想マシンが図3および図4を用いて説明した共有資源グループ110に属する場合、共有仮想マシン情報は、その共有資源グループの識別子(所属グループ識別子)を含む、
さらに、この共有仮想マシン38が共有クライアント7に使用されている場合、共有仮想マシン情報は、その共有クライアントの識別子(使用共有クライアント識別子)も含む。
仮想マシン識別子、共有識別情報および割当資源情報は、仮想マシン管理部330が資源割当制御部320から受け取った情報であり、所属グループ識別子および使用共有クライアント識別子は、仮想マシン管理部330が後述する仮想マシン共有制御部342から受け取った情報である。
【0042】
仮想マシン管理部330(図5)は、UI340からの操作を示すデータに基づいて、仮想マシン情報をUI340に対して出力する。
UI340は、仮想マシン管理部330からの仮想マシン情報を、入出力装置126のたとえばモニタ等に表示させるための処理を行う。
また、UI340は、入出力装置126に対するユーザの操作を受け入れて、受け入れた操作を示すデータを仮想マシン管理部330に対して出力する。
さらに、UI340は、ユーザの操作に応じて、処理サーバプログラム30の他の構成部分の処理を制御する。
【0043】
図8は、共有仮想マシン資源情報作成部334が作成する共有仮想マシン資源情報を示す図である。
図8に示すように、共有仮想マシン資源情報は、この処理サーバプログラム30が動作する処理サーバ3のサーバ識別子、仮想マシン識別子および割当資源情報を含む。
仮想マシン識別子および割当資源情報は、共有仮想マシン資源情報作成部334が仮想マシン管理部330から抽出した情報であり、サーバ識別子は、システムOS350などから抽出した情報である。
【0044】
共有仮想マシン資源情報作成部334(図5)は、ネットワーク100および通信処理部302を介して、システム管理サーバ4から、共有仮想マシン資源情報を抽出するための要求を受信する。
また、共有仮想マシン資源情報作成部334は、この要求に応じて、仮想マシン管理部330から仮想マシン資源情報を取得し、共有資源グループに属していない共有仮想マシン38の共有仮想マシン資源情報を作成する。
共有仮想マシン資源情報作成部334は、取得した共有仮想マシン情報を、通信処理部302およびネットワーク100を介して、システム管理サーバ4に対して送信する。
【0045】
仮想マシン共有制御部342は、ネットワーク100および通信処理部302を介して、システム管理サーバ4から、共有仮想マシン38が所属することとなった共有資源グループの識別子を含む情報を受信し、この情報を仮想マシン管理部330に対して出力する。
仮想マシン管理部330は、この情報を受け取ると、自身が管理する共有仮想マシン情報に所属グループ識別子を追加する。
また、仮想マシン共有制御部342は、ネットワーク100および通信処理部302を介して、システム管理サーバ4から、共有クライアント7が共有仮想マシン38を使用できるようにするための制御情報(共有資源使用制御情報)を受信する。
この共有資源使用制御情報は、共有仮想マシン識別子および共有クライアント識別子も含む。
【0046】
また、仮想マシン共有制御部342は、受信した共有資源使用制御情報に基づいて、仮想マシン管理部330と連携して、共有クライアント7が共有仮想マシン38を使用できるようにするための処理を行う。
仮想マシン管理部330は、仮想マシン共有制御部342から共有クライアント識別子を受け取って、対応する共有仮想マシン情報に使用共有クライアント識別子を追加する。
さらに、この処理が終了し、共有クライアント7が共有仮想マシン38を使用できるようになった場合、仮想マシン共有制御部342は、共有仮想マシン38の使用を許可することを示す情報(共有資源使用許可情報)を、通信処理部302およびネットワーク100を介して、システム管理サーバ4に対して送信する。
【0047】
専有仮想マシン36は、仮想マシンOS360、アプリケーション部362、通信処理部364および資源負荷情報抽出部366から構成される。
専有仮想マシン36において、仮想マシンOS360は、システムOS350上で実行され、専有仮想マシン36を動作させるためのOSとしての機能を有する。
アプリケーション部362は、仮想マシンOS360上で動作し、専有仮想マシン36に組み込まれているアプリケーションを実行させるための処理を行う。
通信処理部364は、専有クライアント6との間で通信を行うために必要な処理を行う。
資源負荷情報抽出部366は、仮想マシンOS360を介して、この専有仮想マシン36に割り当てられた資源に関する資源負荷情報を抽出する。
【0048】
共有仮想マシン38は、仮想マシンOS380、アプリケーション部382、通信処理部384および資源負荷情報抽出部386から構成される。
仮想マシン38において、仮想マシンOS380は、システムOS350上で実行され、共有仮想マシン38を動作させるためのOSとしての機能を有する。
アプリケーション部382は、仮想マシンOS380上で動作し、共有仮想マシン38に組み込まれているアプリケーションを実行させるための処理を行う。
通信処理部384は、システム管理サーバ4等を介して、共有クライアント7との間で通信を行うために必要な処理を行う。
資源負荷情報抽出部386は、仮想マシンOS380を介して、この共有仮想マシン38に割り当てられた資源に関する資源負荷情報を抽出する。
【0049】
[システム管理プログラム]
図9は、図1に示したシステム管理サーバ4において動作するシステム管理プログラム40の構成を示す図である。
図9に示すように、システム管理プログラム40は、通信処理部400,402,406、UI408、処理サーバ負荷検出部410、負荷サンプリング部412、負荷予測モデル作成部414、サンプリング情報管理部416、サンプリング情報DB416A、最適組合せ選択部420、処理サーバ資源割当制御部422、処理サーバ情報管理部424、処理サーバ情報DB424A、共有仮想マシン資源情報取得部430、共有資源グループ生成部432、共有資源グループ管理部44、共有資源使用制御部46、共有資源使用仲介処理部48、共有クライアント情報管理部500、共有クライアント情報DB500Aおよび課金/還元ポイント処理部504から構成される。
【0050】
システム管理プログラム40において、通信処理部400は、ネットワーク100を介して、各処理サーバ3との間で通信を行うために必要な処理を行う。
通信処理部402は、ネットワーク100を介して、各共有クライアント7との間で通信を行うために必要な処理を行う。
通信処理部406は、ネットワーク100を介して、各処理サーバ3内の共有仮想マシン38との間で通信を行うために必要な処理を行う。
【0051】
UI408は、入出力装置126に対するユーザの操作を受け入れて、サンプリング情報管理部416、処理サーバ情報管理部424、共有資源グループ管理部44および共有クライアント情報管理部500に対して、受け入れた操作を示すデータを出力する。
また、UI408は、ユーザの操作に応じて、システム管理プログラム40の他の構成部分の処理を制御する。
さらに、UI408は、サンプリング情報管理部416、処理サーバ情報管理部424、共有資源グループ管理部44および共有クライアント情報管理部500から受け入れた情報を、入出力装置126に対して表示させる。
【0052】
処理サーバ負荷検出部410は、通信処理部400およびネットワーク100を介して、処理サーバ3−1〜3−Mそれぞれから、資源負荷情報を受け入れる。
また、処理サーバ負荷検出部410は、受け入れた資源負荷情報を、負荷サンプリング部412、処理サーバ資源割当制御部422および処理サーバ情報管理部424に対して出力する。
処理サーバ情報管理部424は、処理サーバ負荷検出部410から資源負荷情報を受け入れ、この情報に基づいて各処理サーバ3ごとに処理サーバ情報を作成する。
【0053】
図10は、処理サーバ情報管理部424によって作成される処理サーバ情報を例示する図である。
図10に示すように、処理サーバ情報は、処理サーバ#1情報、処理サーバ#2情報等、各処理サーバ3ごとに構成されている。
各処理サーバ情報は、処理サーバ識別子、還元ポイント情報、専有仮想マシン資源負荷情報および共有仮想マシン資源負荷情報を含む。
処理サーバ識別子、専有仮想マシン資源負荷情報および共有仮想マシン資源負荷情報は、処理サーバ情報管理部424が処理サーバ負荷検出部410から受け入れた情報であり、還元ポイント情報は、処理サーバ情報管理部424が課金/還元ポイント処理部504から受け入れた情報である。
還元ポイント情報については後述する。
【0054】
処理サーバ情報管理部424(図9)は、処理サーバ情報を管理し、処理サーバ情報DB424Aに格納する。
また、処理サーバ情報管理部424は、共有資源グループ管理部44およびUI408からの要求に応じて、処理サーバ情報DB424Aから処理サーバ情報を取得し、共有資源グループ管理部44およびUI408に対して出力する。
さらに、処理サーバ情報管理部424は、課金/還元ポイント処理部504から還元ポイント情報を受け取り、対応する処理サーバ情報に追加する。
【0055】
負荷サンプリング部412は、受け入れた資源負荷情報に基づいて、所定時間ごと(たとえば20秒ごと)に、各処理サーバ3の専有仮想マシン36の資源負荷値をサンプリングする。
また、負荷サンプリング部412は、サンプリングした資源負荷値について、所定時間ごとに平均化する。
なお、平均化の際、異常値を除去する処理が行われる。
さらに、負荷サンプリング部412は、上述の処理で各処理サーバ3ごとに作成されたサンプリング情報を、負荷予測モデル作成部414およびサンプリング情報管理部416に対して出力する。
なお、サンプリングした資源負荷値の平均化については、移動平均等の手法を用いてサンプリング時の異常値をスムージングするようにしてもよい。
【0056】
図11は、負荷サンプリング部412によって作成されるサンプリング情報を例示する図である。
図11に示すように、サンプリング情報は、サーバ識別子、期間情報(たとえば12時〜13時など)、および、この期間に対応する専有仮想マシンの平均資源負荷値を含む。
サーバ識別子は、負荷サンプリング部412が処理サーバ負荷検出部410から受け入れた情報であり、期間情報および平均資源負荷値は負荷サンプリング部412が作成した情報である。
【0057】
負荷予測モデル作成部414(図9)は、負荷サンプリング部412からのサンプリング情報から、所定期間(たとえば1週間程度)の期間情報および平均資源負荷値を抽出して、その値の変化から負荷特性を解析する。
負荷特性とは、たとえば、最大最小負荷、周期性、各時間帯における変動範囲等の傾向、および偏差などである。
また、負荷予測モデル作成部414は、解析した負荷特性に基づいて、以降の各時刻において予想される資源負荷値を算出し、算出結果に基づいて、将来の時刻とこの時刻において予測される負荷との関係を示す負荷予測モデル情報を作成する。
また、負荷予測モデル作成部414は、作成した負荷予測モデル情報をサンプリング情報管理部416に対して出力する。
【0058】
図12は、負荷予測モデル情報によって示される負荷予測モデルをグラフを用いて例示した図である。
図12に例示されるグラフは、各専有仮想マシン36ごとに負荷予測モデル情報に基づいて描かれ、予想される資源負荷値の変化を示す。
図12に示すように、たとえば、処理サーバ#1の専有仮想マシン#1は時刻T1で資源負荷値が最大となり、処理サーバ#2の専有仮想マシン#2は時刻T2で資源負荷値が最大となり、処理サーバ#3の専有仮想マシン#3は時刻T3で資源負荷値が最大となることが分かる。
また、処理サーバ#1の専有仮想マシン#Aは、他の仮想マシンと比較して、資源負荷値の変動が大きいといったことが分かる。
【0059】
図4を用いて前述したように、専有パーティション32、つまり専有仮想マシン36の処理負荷(資源負荷値)が高ければ、専有仮想マシン36に割り当てられる資源の量は増大し、それに伴って、共有仮想マシン38に割り当てられる資源の量は減少する。
つまり、負荷予想モデルにおいて、専有仮想マシン36の資源負荷値が高い場合、対応する共有仮想マシン38に割り当てられる資源量は少ないと予想され、専有仮想マシン36の資源負荷値が低い場合、対応する共有仮想マシン38に割り当てられる資源量は多いと予想される。
言い換えれば、予測される共有仮想マシン38の割当資源量の変化は、負荷予測モデルの資源負荷値の変化と逆の傾向であると予測される。
なお、この負荷予測モデルは、処理サーバ資源割当制御部422および最適組合せ選択部420の処理において利用される。
【0060】
サンプリング情報管理部416(図9)は、負荷サンプリング部412からサンプリング情報を受け入れ、各処理サーバ3ごとに管理し、サンプリング情報DB416Aに格納する。
また、サンプリング情報管理部416は、負荷予想モデル作成部414から負荷予想モデル情報を取得し、対応する処理サーバ3ごとに管理し、サンプリング情報DB416Aに格納する。
さらに、サンプリング情報管理部416は、UI408、処理サーバ資源割当制御部422および最適組合せ選択部420からの要求に応じて、サンプリング情報DB416Aからサンプリング情報または負荷予想モデル情報を取得し、UI408、処理サーバ資源割当制御部422および最適組合せ選択部420に対して出力する。
さらに、サンプリング情報管理部416は、各処理サーバ3ごとにサンプリング情報を解析し、所定期間(たとえば1週間)の負荷履歴に基づいて資源の増減等の要否を判断して、判断結果に関する情報をUI408に対して出力する。
UI408が入出力装置126にこの判断結果に関する情報を表示させることによって、システム管理者は、その処理サーバ3に資源を追加するべきか否かを判断することができる。
【0061】
処理サーバ資源割当制御部422は、処理サーバ負荷検出部410から資源負荷情報を受け入れる。
また、処理サーバ資源割当制御部422は、対応する処理サーバ3の負荷予測モデル情報を受け入れる。
さらに、処理サーバ資源割当制御部422は、資源負荷情報および負荷予測モデル情報に基づいて、図13に示す処理を行い、資源割当情報を、対応する処理サーバ3に対して、通信処理部400およびネットワーク100を介して送信する。
【0062】
図13は、処理サーバ資源割当制御部422の処理(S10)を示すフローチャートである。
図13に示すように、ステップ100(S100)において、処理サーバ資源割当制御部422は、全ての処理サーバ3について処理の対象として選択したか否か判断し、そうであれば処理を終了し、そうでなければS102に進む。
ステップ102(S102)において、処理サーバ資源割当制御部422は、未選択の処理サーバ3を処理の対象として選択する。
【0063】
ステップ104(S104)において、処理サーバ資源割当制御部422は、処理サーバ負荷検出部410から、対応する専有仮想マシン36の資源負荷情報を受け入れる。
ステップ106(S106)において、処理サーバ資源割当制御部422は、資源負荷情報に時間保証情報が含まれるか否かを判断し、含まれる場合は、その専有仮想マシン36に割り当てる資源を変更しないでS100に戻り、含まれない場合はS110に進む。
ステップ110(S110)において、処理サーバ資源割当制御部422は、対応する専有仮想マシン36の負荷予測モデル情報を取得する。
【0064】
ステップ112(S112)において、処理サーバ資源割当制御部422は、専有仮想マシン36の資源負荷値が所定値以上であるか否かを判断し、そうであればS114に進み、そうでなければS118に進む。
ステップ114(S114)において、処理サーバ資源割当制御部422は、負荷予測モデル情報において、現時点から所定時間内において予測される資源負荷値の上昇度が所定値以上であるか否かを判断し、そうであればS116に進み、そうでなければS100に戻る。
ステップ116(S116)において、処理サーバ資源割当制御部422は、資源負荷値および資源負荷値の上昇度に基づいて、専有仮想マシン36の割当資源を増加させるように、つまり、共有仮想マシン38の割当資源を減少させるように、資源割当情報を作成する。
【0065】
ステップ118(S118)において、処理サーバ資源割当制御部422は、専有仮想マシン36の資源負荷値が所定値以下であるか否かを判断し、そうであればS120に進み、そうでなければS100に戻る。
ステップ120(S120)において、処理サーバ資源割当制御部422は、負荷予測モデル情報において、現時点から所定時間内において予測される資源負荷値の下降度が所定値以下であるか否かを判断し、そうであればS122に進み、そうでなければS100に戻る。
ステップ122(S122)において、処理サーバ資源割当制御部422は、資源負荷値および資源負荷値の下降度に基づいて、専有仮想マシン36の割当資源を減少させるように、つまり、共有仮想マシン38の割当資源を増加させるように、資源割当情報を作成する。
【0066】
ステップ124(S124)において、処理サーバ資源割当制御部422は、時期的特殊性があるか否かを判断し、そうである場合はS126に進み、そうでない場合はS100に戻る。
この時期的特殊性とは、たとえば、長期休業時などにおいては処理サーバ3の負荷が減少し、あるいは、長期休業直後においては処理サーバ3の負荷が増加するといった傾向を示す。
ステップ126(S126)において、処理サーバ資源割当制御部422は、時期的特殊性を資源割当情報に反映し、S100に戻る。
【0067】
最適組合せ選択部420(図9)は、共有資源グループに所属させる共有仮想マシン38の組合せを選択する。
最適組合せ選択部420は、サンプリング情報管理部416から、各処理サーバ3の負荷予測モデル情報を取得する。
最適組合せ選択部420は、各負荷予測モデル情報に基づいて、共有仮想マシン38の組合せのうち、資源の処理能力上、最適な組合せを選択し、共有仮想マシン38の組合せに関する情報(最適組合せ情報)を作成する。
【0068】
具体的には、たとえば、各負荷予測モデルにおいて、予測資源負荷値の最大となる時間帯が互いに一致しない専有仮想マシン36を選択して組合せ、これら組み合わせた専有仮想マシン36の処理サーバ3に含まれる共有仮想マシン38を、共有資源グループに所属させる組合せとして選択する。
このように組合せを選択することによって、共有資源グループの割当資源量の変動幅をできるだけ小さくすることができ、共有クライアント7は安定して共有された資源を使用できる。
また、処理サーバ3から、共有仮想マシン38のアプリケーション382の種類に関する情報を取得し、このアプリケーションの種類に応じて共有仮想マシン38を組み合わせるようにしてもよい。
【0069】
共有仮想マシン資源情報取得部430は、各共有仮想マシン38の共有仮想マシン資源情報を送信するように要求する信号を、通信処理部400およびネットワーク100を介して、各処理サーバ3に対して送信する。
さらに、共有仮想マシン資源情報取得部430は、ネットワーク100および通信処理部400を介して、各処理サーバ3から共有仮想マシン資源情報を取得する。
また、共有仮想マシン資源情報取得部430は、取得した各共有仮想マシン資源情報を、共有資源グループ生成部432に対して出力する。
【0070】
共有資源グループ生成部432は、各共有仮想マシン資源情報を受け取ると、最適組合せ選択部420に対して、最適組合せ情報を要求する。
最適組合せ選択部420は、この要求に応じて、共有資源グループ生成部432に対して最適組合せ情報を出力する。
共有資源グループ生成部432は、各処理サーバ3の共有仮想マシン資源情報および最適組合せ情報に基づいて、1つ以上の共有仮想マシン38を選択して共有資源グループを生成する。
なお、この共有資源グループの生成は、たとえば、グリッドコンピューティングの技術を利用して実現しうる。
【0071】
共有資源グループ生成部432は、作成した共有資源グループに属する共有仮想マシン38の各処理サーバ3に対して、当該共有仮想マシン38がこの共有資源グループに属したことを通知する情報を送信する。
さらに、共有資源グループ生成部432は、作成した共有資源グループに関する情報(共有資源グループ情報)を、共有資源グループ管理部44に対して出力する。
【0072】
図14は、図9に示した共有資源グループ管理部44の構成を示す図である。
図14に示すように、共有資源グループ管理部44は、共有資源グループ制御部442および共有資源グループ情報管理部444から構成される。
共有資源グループ管理部44は、これらの構成部分により、たとえば、グリッドコンピューティングなどの技術を利用して、共有資源グループを維持および管理するための処理を行う。
【0073】
共有資源グループ管理部44において、共有資源グループ制御部442は、共有資源グループ情報を共有資源グループ生成部432から受け取り、共有資源グループ情報管理部444に対して出力する。
また、共有資源グループ制御部442は、共有資源グループ情報を利用して、共有資源グループを維持するために必要な処理を行う。
共有資源グループ情報管理部444は、共有資源グループ#1情報管理部446−1、共有資源グループ#2情報管理部446−2等を含んでおり、各共有資源グループごとに共有資源グループ情報を格納し、管理する。
【0074】
図15は、共有資源グループ情報管理部444が管理する共有資源グループ情報を例示する図である。
図15に示すように、共有資源グループ情報は、グループ識別子、所属する仮想マシンの識別子、この仮想マシンを有する処理サーバの識別子、および、仮想マシンの割当資源情報を含む。
【0075】
共有資源グループ情報管理部444(図14)は、処理サーバ情報管理部424から、各共有資源グループに所属する仮想マシンの割当資源情報を取得する。
また、共有資源グループ情報管理部444は、UI408、共有資源使用制御部46、共有資源使用仲介処理部48および課金/還元ポイント処理部504からの要求に応じて、共有資源グループ情報を、それぞれの構成要素に対して出力する。
【0076】
図16は、図9に示した共有資源使用制御部46の構成を示す図である。
図16に示すように、共有資源使用制御部46は、使用要求受信部462、使用グループ選択部464、共有資源使用制御情報送信部466、共有資源使用許可情報受信部468、グループ参加通知部470および使用許可情報送信部472から構成される。
共有資源使用制御部46において、使用要求受信部462は、共有クライアント7から、ネットワーク102および通信処理部402を介して、共有資源グループの資源の使用要求を受信する。
この使用要求は、共有クライアント7の識別子を含む。
さらに、使用要求受信部462は、受信した使用要求を、使用グループ選択部464に対して出力する。
【0077】
使用グループ選択部464は、使用要求受信部462から使用要求を受け取ると、共有資源グループ管理部44に対して、共有資源グループ情報を要求する。
また、使用グループ選択部464は、共有資源グループ管理部44から共有資源グループ情報を受け取ると、共有資源グループ情報に基づいて、要求した共有クライアント7に使用させる共有資源グループを選択する。
さらに、使用グループ選択部464は、選択した共有資源グループの共有資源グループ情報を、共有資源使用制御情報送信部466に対して出力する。
【0078】
共有資源使用制御情報送信部466は、使用グループ選択部464からの共有資源グループ情報に基づいて、選択された共有資源グループに所属する共有仮想マシン38を有する処理サーバ3に対し、通信処理部400およびネットワーク100を介して、共有資源使用制御情報を送信する。
共有資源使用許可情報受信部468は、共有資源使用制御情報を送信した処理サーバ3から、ネットワーク100および通信処理部400を介して、共有資源使用許可情報を受信する。
さらに、共有資源使用許可情報受信部468は、受信した共有資源使用許可情報を、グループ参加通知部470に対して出力する。
【0079】
グループ参加通知部470は、共有資源使用許可情報を受け取ると、要求した共有クライアントの識別子と、共有資源グループの識別子とを、クライアント情報管理部500に対して出力する。
また、グループ参加通知部470は、共有資源グループに参加を許可することを示す通知情報(使用許可情報)を、使用許可情報送信部472に対して出力する。
使用許可情報送信部472は、使用許可情報を、要求した共有クライアント7に対して、通信処理部402およびネットワーク102を介して送信する。
【0080】
共有クライアント情報管理部500(図9)は、共有資源グループを使用する共有クライアント7に関する情報(共有クライアント情報)を作成および管理し、共有クライアント情報DB500Aに格納する。
また、共有クライアント情報管理部500は、UI408、共有資源使用仲介処理部48および課金/還元ポイント処理部504からの要求に応じて、共有クライアント情報DB500Aから共有クライアント情報を抽出し、それぞれの構成要素に対して出力する。
【0081】
図17は、共有クライアント情報管理部500によって作成される共有クライアント情報を例示する図である。
図17に示すように、共有クライアント情報は、共有クライアント#1情報、共有クライアント#2情報など、各共有資源グループを使用する共有クライアント7ごとに構成されている。
また、1つの共有クライアント情報は、共有クライアント識別子、使用する共有資源グループ識別子、および、後述する課金情報を含む。
共有クライアント識別子および使用共有資源グループ識別子は、共有クライアント情報管理部500が共有資源利用制御部46から受け取った情報であり、課金情報は、課金/還元ポイント処理部504から受け取った情報である。
【0082】
図18は、図9に示した共有資源使用仲介処理部48の構成を示す図である。
図18に示すように、共有資源使用仲介処理部48は、処理要求受信部482、クライアント情報取得部484、共有資源グループ情報取得部486、使用仮想マシン選択部488、処理要求送信部490、処理結果受信部492および処理結果送信部494から構成される。
共有資源使用仲介処理部48において、処理要求受信部482は、共有クライアント7から、ネットワーク102および通信処理部402を介して、処理を要求するデータ(処理要求)を受信する。
この処理要求は、共有クライアント7の識別子と処理内容を示すデータとを含む。
さらに、処理要求受信部482は、受信した処理要求を、クライアント情報取得部484および使用仮想マシン選択部488に対して出力する。
【0083】
クライアント情報取得部484は、処理要求を送信した共有クライアント7に対応する共有クライアント情報を、共有クライアント情報管理部500に要求する。
また、クライアント情報取得部484は、共有クライアント情報管理部500から取得した共有クライアント情報から、使用共有資源グループ識別子を抽出し、共有資源グループ情報取得部486に対して出力する。
共有資源グループ情報取得部486は、クライアント情報取得部484からの使用共有資源グループ識別子を利用して、共有資源グループ情報を共有資源グループ管理部44に要求する。
さらに、共有資源グループ情報取得部486は、共有資源グループ管理部44から取得した共有資源グループ情報を、使用仮想マシン選択部488に対して出力する。
【0084】
使用仮想マシン選択部488は、処理要求と、共有資源グループ情報の割当資源情報とに基づいて、各共有仮想マシン38の割当資源量などを考慮して、要求された処理を実行させる非専用仮想マシン38を選択する。
たとえば、要求された処理に要する処理負荷が大きい場合は、割当資源量の大きな共有仮想マシン38が選択される。
さらに、使用仮想マシン選択部488は、選択された共有仮想マシン38の識別子と、この共有仮想マシン38を有する処理サーバ3の識別子と、処理要求とを、処理要求送信部490に対して出力する。
【0085】
処理要求送信部490は、選択された共有仮想マシン38(この共有仮想マシン38を有する処理サーバ3)に対して、通信処理部406およびネットワーク100を介して、処理要求を送信する。
処理結果受信部492は、処理を実行した共有仮想マシン38から、ネットワーク100および通信処理部406を介して処理結果データを受信し、この処理結果データを処理結果送信部494に対して出力する。
処理結果送信部494は、処理結果データを、処理を要求した共有クライアント7に対して、通信処理部402およびネットワーク102を介して送信する。
【0086】
課金/還元ポイント処理部504は、ある共有クライアント7が共有資源グループを使用することになった場合、共有クライアント情報管理部500から、対応する共有クライアント情報を取得する。
また、課金/還元ポイント処理部504は、時間および要求する処理の量などに基づいて、課金情報を作成する。
さらに、課金/還元ポイント処理部504は、取得した共有クライアント情報に課金情報を追加して、共有クライアント情報管理部500に返す。
【0087】
課金/還元ポイント処理部504は、使用共有資源グループ情報から、使用されている処理サーバ3の識別子を取得する。
また、課金/還元ポイント処理部504は、前述で作成した課金情報に対応する還元ポイント情報を作成する。
さらに、課金/還元ポイント処理部504は、処理サーバ情報管理部424に対し、取得した処理サーバ識別子に対応する処理サーバ情報に、作成した還元ポイント情報を追加するように要求する。
このように、共有資源グループを使用した共有クライアント7に対して課金処理を行い、使用された処理サーバ3に対して還元処理を行うことによって、処理サーバ3を専有するユーザに対し、処理サーバ3を共有資源グループに参加させることを促進させることができる。
【0088】
[クライアントプログラム]
図19は、図1に示した専有クライアント6において動作する専有クライアントプログラム60の構成を示す図である。
図19に示すように、専有クライアントプログラム60は、通信処理部602、UI604、処理要求送信部610および処理結果受信部612から構成される。
専有クライアントプログラム60において、通信処理部602は、対応する処理サーバ3との間で通信を行うために必要な処理を行う。
【0089】
UI604は、入出力装置126に対するユーザの操作を受け入れて、処理要求送信部610に対して、受け入れた操作を示すデータを出力する。
また、UI604は、処理結果受信部612から受け入れた情報を、入出力装置126に対して表示させる。
処理要求送信部610は、UI604から受け入れた処理要求データを、通信処理部602を介して処理サーバ3に対して送信する。
処理結果受信部612は、通信処理部602を介して、処理結果データを受信し、UI604に対して出力する。
【0090】
図20は、図1に示した共有クライアント7において動作する共有クライアントプログラム70の構成を示す図である。
図20に示すように、共有クライアントプログラム70は、通信処理部702、UI704、共有資源グループ使用要求送信部710、使用許可情報受信部712、処理要求送信部710および処理結果受信部712から構成される。
共有クライアントプログラム70において、通信処理部702は、システム管理サーバ4との間で通信を行うために必要な処理を行う。
UI704は、入出力装置126に対するユーザの操作を受け入れて、共有資源グループ使用要求送信部710および処理要求送信部714に対して、受け入れた操作を示すデータを出力する。
また、UI704は、使用許可情報受信部712および処理結果受信部716から受け入れた情報を、入出力装置126に対して表示させる。
【0091】
共有資源グループ使用要求送信部710は、UI704から共有資源グループ使用要求データを受け入れ、通信処理部702およびネットワーク102を介して、システム管理サーバ4に対して送信する。
使用許可情報受信部712は、ネットワーク102および通信処理部702を介して、システム管理サーバ4から使用許可情報を受信し、UI704に対して出力する。
処理要求送信部714は、UI704から受け入れた処理要求データを、通信処理部702およびネットワーク102を介して、システム管理サーバ4に対して送信する。
処理結果受信部716は、ネットワーク102および通信処理部702を介して、システム管理サーバ4から処理結果データを受信し、UI704に対して出力する。
【0092】
[資源管理システム1の全体的な動作]
次に、資源管理システム1の全体的な動作を説明する。
図21は、図1に示した資源管理システム1の全体的な動作(S20)を示す通信シーケンス図である。
図21に示すように、ステップ200(S200)において、専有クライアント6−1は、処理サーバ3−1に処理を要求し、処理サーバ3−1は、専有クライアント6−1から要求された処理を実行して専有クライアント6−1に処理結果を返す。
【0093】
ステップ202−1〜202−N(S202−1〜S202−N)において、システム管理サーバ4は、所定時間毎に、処理サーバ3−1〜3−Mの負荷を検出する。
ステップ204(S204)において、システム管理サーバ4は、ある処理サーバ3(ここでは処理サーバ3−1)の資源負荷値が、所定値以上あるいは所定値以下であることを検出する。
ステップ206(S206)において、システム管理サーバ4は、検出した資源負荷値に基づいて、処理サーバ3−1の資源の割り当てを動的に制御する。
【0094】
ステップ208(S208)において、システム管理サーバ4は、処理サーバ3−1〜3−Mから、共有仮想マシン資源情報を取得する。
ステップ210(S210)において、システム管理サーバ4は、取得した共有仮想マシン資源情報に基づいて、共有資源グループを生成する。
ステップ212(S212)において、共有クライアント7は、共有資源グループの資源を使用することを要求する。
ステップ214(S214)において、システム管理サーバ4は、共有資源グループに所属する共有仮想マシン38を有する処理サーバ3(ここでは処理サーバ3−1〜3−M)に対して、共有クライアント7が共有仮想マシン38を使用できるようにするための制御を実行する。
【0095】
ステップ216(S216)において、共有クライアント7は、システム管理サーバ4に対して処理要求を送信し、システム管理サーバ4は、選択した処理サーバ3(ここでは処理サーバ3−1)に対してその処理要求を送信する。
ステップ218(S218)において、処理サーバ3−1は、要求された処理を、共有仮想マシン38を利用して実行する。
ステップ220(S220)において、処理サーバ3−1は、処理結果データをシステム管理サーバ4に返し、システム管理サーバ4は、共有クライアント7にこの処理結果データを返す。
【0096】
[変形例]
次に、本実施形態の変形例について説明する。
【0097】
図22は、共有資源使用仲介処理部48の変形例を示す図である。
図22に示す共有資源使用仲介処理部480は、図18に示した共有資源使用仲介処理部48の構成に、プロセス分割部510および処理結果統合部512が追加されている。
プロセス分割部510は、処理要求を、複数のプロセスに分割し、各プロセスを使用仮想マシン選択部488に対して出力する。
使用仮想マシン選択部488は、各プロセスを処理する複数の共有仮想マシン38を選択する。
処理結果統合部512は、複数の共有仮想マシン38が処理した処理結果データを統合し、1つの処理結果データとする。
【0098】
図23は、複数の処理サーバ3間に跨る複数の共有資源グループ110の態様を例示する図である。
図23において、処理サーバ3−1は、専有パーティション32−1、共有パーティション34a−1,34b−1を有し、処理サーバ3−2は、専有パーティション32−2、共有パーティション34a−2,34b−2を有し、処理サーバ3−3は、専有パーティション32−3、共有パーティション34a−3,34b−3を有する。
【0099】
また、共有資源グループ110−1は、共有パーティション34a−1および共有パーティション34a−2から構成されている。
さらに、共有資源グループ110−2は、共有パーティション34b−2および共有パーティション34b−3から構成されている。
【0100】
図23に例示したように、処理サーバ3−2において、複数の共有パーティションがそれぞれ別の共有資源グループに属するようにすることも可能である。
このような場合であっても、本実施形態においては、処理サーバ3−2内の各パーティションはそれぞれ独立しているので、共有資源グループ110−1と共有資源グループ110−2との間のセキュリティは確保される。
なお、認証処理などを実行することによって、共有資源グループ110−1と共有資源グループ110−2との間で、余剰資源の交換、各種データの交換等を行うことも可能である。
【0101】
図24は、共有資源グループ110が、ストレージエリアネットワーク(SAN)によって実現される態様を例示する図である。
処理サーバ3内のパーティションは、上述では仮想マシンによって実現されるとしたが、仮想マシンに限定されることはない。
たとえば、複数のディスク装置130を有する処理サーバ3において、各パーティションが、ディスク装置130などのストレージによって実現されるようにしてもよい。
この場合、たとえば、処理サーバ3−1の専有パーティション32−1は、ディスク装置130−1によって実現され、共有パーティション34−1は、ディスク装置130−2によって実現される。処理サーバ3−2においても同様である。
【0102】
専有パーティション32−1に割り当てられたディスク装置130−1は、専有クライアント6によって使用される。
共有パーティション34−1に割り当てられたディスク装置130−2と、共有パーティション34−2に割り当てられたディスク装置130−2とは、それぞれ各処理サーバ3の専有クライアント6から見れば余剰なので、共有資源グループ110に所属することができる。
【0103】
この場合、共有資源グループ110の共有パーティション34−1および34−2は、ストレージエリアネットワーク10に接続される。
さらに、ストレージエリアネットワーク10には、SAN管理サーバ12が接続されており、このSAN管理サーバ12がこのストレージエリアネットワークシステムを管理することによって、共有パーティション34−1および34−2に割り当てられたディスク装置130を、共有クライアント7が使用できる。
なお、この場合、専有パーティション32−1に割り当てられたディスク装置130−1と、共有パーティション34−1に割り当てられたディスク装置130−2とは、独立したハードウエアであるので、セキュリティ処理を行うことによって、専有クライアント6から共有パーティション34−1に割り当てられたディスク装置130−2にアクセスすることが防止される。
【0104】
なお、図5に示した処理サーバプログラム30において、時間保証制御部316は、資源負荷情報取得部312ではなく、資源割当制御部320に対して制御情報を出力するようにしてもよい。
この場合、資源割当情報には時間保証情報が含まれず、システム管理サーバ4は、時間保証情報とは無関係に制御を行う。
さらに、時間保証が設定されている場合、時間保証制御部316は、システム管理サーバ4の制御に関わらず、対応する専有仮想マシン36に割り当てられる資源量を変更しないようにする。
【0105】
また、負荷サンプリング部412は、専有仮想マシン36の資源負荷値をサンプリングするだけでなく、共有仮想マシン38の資源負荷値をサンプリングするようにしてもよい。
このようにすることによって、専有処理と組み合わせられる適切な共有処理を選択することができ、適切な組合せを選択することによって、専有処理と共有処理とを合わせた要求処理性能が物理サーバの処理容量を超えないようにすることができる。
さらに、この場合、負荷予測モデル作成部414は、専有仮想マシン36に対応する負荷予測モデル情報だけでなく、共有仮想マシン38に対応する負荷予測モデル情報を作成するようにしてもよい。
このようにすることによって、共有仮想マシン38に対する処理容量の縮小による処理時の遅延等の影響を抑制するように、共有資源グループを生成することができる。
また、専有仮想マシン36の負荷変位特性および共有仮想マシン38の負荷変位特性を波として信号処理することによって、単純に時間平均するだけでなく、変動許容範囲等も予測できるようになる。
【0106】
また、通信処理部402,406、共有資源グループ生成部432、共有資源グループ管理部44、共有資源使用制御部46および共有資源使用仲介処理部48などは、たとえばゲートウェイなど、システム管理サーバ4とは別の装置によって実現されるようにしてもよい。
この場合、共有クライアント7は、システム管理サーバ4を経由せずに、処理サーバ3の資源を使用することができる。
なお、上述したゲートウェイなどの装置に組み込まれた機能は、たとえばグリッドコンピューティングシステム等の既存の共有連携ソフトウエアなどで実現しうる。
このように、ゲートウェイなどの装置に組み込まれた機能と、その他のシステム管理プログラム40内の機能とは、それぞれ疎結合であるので、選択するソフトウエア、用途およびネットワーク設計の自由度を向上することができる。
【0107】
本実施形態においては、システム管理サーバ4が処理サーバ3の負荷を検出することによって、処理サーバ3の専有パーティションおよび共有パーティションについて、効果的な資源の動的割当てを行うことができる。
さらに負荷のサンプリングを行い、負荷予測モデルを作成することによって、処理サーバ3の専有パーティションに対して、さらに効果的に資源を割り当てることができる。
また、共有パーティションの負荷予測モデルを作成することによって、共有資源グループの効果的な生成を行うことができる。
つまり、負荷予測モデルに基づいて、共有資源グループに参加させる共有パーティションの組合せを最適にすることができる。
【産業上の利用可能性】
【0108】
本発明は、処理のために用いられる処理資源を管理する資源管理システムなどに利用可能である。
【図面の簡単な説明】
【0109】
【図1】本発明の実施形態にかかる資源管理方法が適用される資源管理システムの構成を例示する図である。
【図2】図1に示した処理サーバ、システム管理サーバ、専有クライアントおよび共有クライアントのハードウエア構成を例示する図である。
【図3】図1に示した資源管理システムにおいて、処理サーバと、システム管理サーバと、専有クライアントと、共有クライアントとの間で行われる資源管理の概要を例示する図である。
【図4】専有パーティションおよび共有パーティションに割り当てられる資源の変化を例示する図である。
【図5】図1に示した処理サーバにおいて動作する処理サーバプログラムの構成を示す図である。
【図6】図5に示した資源負荷情報抽出部および資源負荷情報抽出部が抽出する資源負荷情報を例示する図である。
【図7】図5に示した仮想マシン管理部が作成および管理する仮想マシン情報を例示する図である。
【図8】共有仮想マシン資源情報作成部が作成する共有仮想マシン資源情報を示す図である。
【図9】図1に示したシステム管理サーバにおいて動作するシステム管理プログラムの構成を示す図である。
【図10】処理サーバ情報管理部によって作成される処理サーバ情報を例示する図である。
【図11】負荷サンプリング部によって作成されるサンプリング情報を例示する図である。
【図12】負荷予測モデル情報によって示される負荷予測モデルをグラフを用いて例示した図である。
【図13】処理サーバ資源割当制御部の処理を示すフローチャートである。
【図14】図9に示した共有資源グループ管理部の構成を示す図である。
【図15】共有資源グループ情報管理部が管理する共有資源グループ情報を例示する図である。
【図16】図9に示した共有資源使用制御部の構成を示す図である。
【図17】共有クライアント情報を例示する図である。
【図18】図9に示した共有資源使用仲介処理部の構成を示す図である。
【図19】図1に示した専有クライアントにおいて動作する専有クライアントプログラムの構成を示す図である。
【図20】図1に示した共有クライアントにおいて動作する共有クライアントプログラムの構成を示す図である。
【図21】図1に示した資源管理システムの全体的な動作を示す通信シーケンス図である。
【図22】共有資源使用仲介処理部の変形例を示す図である。
【図23】複数の処理サーバ間に跨る複数の共有資源グループの態様を例示する図である。
【図24】共有資源グループが、ストレージエリアネットワーク(SAN)によって実現される態様を例示する図である。
【符号の説明】
【0110】
1・・・資源管理システム,
100・・・ネットワーク,
102・・・ネットワーク,
110・・・共有資源グループ,
10・・・ストレージエリアネットワーク,
12・・・SAN管理サーバ,
3・・・処理サーバ,
120・・・本体,
122・・・CPU,
124・・・メモリ,
126・・・入出力装置,
128・・・通信装置,
130・・・ディスク装置,
132・・・記録媒体,
32・・・専有パーティション,
34・・・共有パーティション,
30・・・処理サーバプログラム,
302・・・通信処理部,
310・・・仮想マシン割当処理部,
312・・・資源負荷情報取得部,
314・・・資源負荷情報通知部,
316・・・時間保証制御部,
318・・・資源割当情報受信部,
320・・・資源割当制御部,
330・・・仮想マシン管理部,
332・・・仮想マシン情報DB,
334・・・共有仮想マシン資源情報作成部,
340・・・UI,
342・・・仮想マシン共有制御部,
350・・・システムOS,
36・・・専有仮想マシン,
360・・・仮想マシンOS,
362・・・アプリケーション部,
364・・・通信処理部,
366・・・資源負荷情報抽出部,
38・・・共有仮想マシン,
380・・・仮想マシンOS,
382・・・アプリケーション部,
384・・・通信処理部,
386・・・資源負荷情報抽出部,
4・・・システム管理サーバ,
40・・・システム管理プログラム,
400,402,406・・・通信処理部,
408・・・UI,
410・・・処理サーバ負荷検出部,
412・・・負荷サンプリング部,
414・・・負荷予測モデル作成部,
416・・・サンプリング情報管理部,
416A・・・サンプリング情報DB,
420・・・最適組合せ選択部,
422・・・処理サーバ資源割当制御部,
424・・・処理サーバ情報管理部,
424A・・・処理サーバ情報DB,
430・・・共有仮想マシン資源情報取得部,
432・・・共有資源グループ生成部,
44・・・共有資源グループ管理部,
442・・・共有資源グループ制御部,
444・・・共有資源グループ情報管理部,
46・・・共有資源使用制御部,
462・・・使用要求受信部,
464・・・使用グループ選択部,
466・・・共有資源使用制御情報送信部,
468・・・共有資源使用許可情報受信部,
470・・・グループ参加通知部,
472・・・使用許可情報送信部,
48・・・共有資源使用仲介処理部,
482・・・処理要求受信部,
484・・・クライアント情報取得部,
486・・・共有資源グループ情報取得部,
488・・・使用仮想マシン選択部,
490・・・処理要求送信部,
492・・・処理結果受信部,
494・・・処理結果送信部,
500・・・共有クライアント情報管理部,
500A・・・共有クライアント情報DB,
504・・・課金/還元ポイント処理部,
6・・・専有クライアント,
60・・・専有クライアントプログラム,
602・・・通信処理部,
604・・・UI,
610・・・処理要求送信部,
612・・・処理結果受信部,
7・・・共有クライアント,
70・・・共有クライアントプログラム,
702・・・通信処理部,
704・・・UI,
710・・・共有資源グループ使用要求送信部,
712・・・使用許可情報受信部,
710・・・処理要求送信部,
712・・・処理結果受信部,

【特許請求の範囲】
【請求項1】
複数の論理的または物理的な処理ノードと、前記処理ノードに接続された管理ノードとを有する資源管理システムであって、
前記複数の処理ノードそれぞれに含まれ、処理のために用いられる処理資源は、互いに独立な第1のパーティションおよび第2のパーティションに割り当てられ、前記第1のパーティションは、前記複数の処理ノードそれぞれに閉じた第1の処理のために用いられ、前記第2のパーティションは、前記複数の処理ノードの内、選択された1つ以上により実行される1つ以上の第2の処理のために用いられ、
前記管理ノードは、前記複数の処理ノードそれぞれの処理資源の内、前記第1の処理に必要とされる処理資源以外を、前記第2のパーティションに割り当てる割当制御手段と、
前記複数の処理ノードの第2のパーティションの選択された1つ以上に、外部から要求された前記第2の処理を実行させる共有資源使用手段と
を有する
資源管理システム。
【請求項2】
前記資源割当制御手段は、
前記複数の処理ノードそれぞれにおける前記第1の処理のための処理負荷を検出する処理負荷検出手段と、
前記検出された第1の処理の処理負荷に基づいて、前記複数の処理ノードそれぞれの処理資源を、前記第1のパーティションまたは前記第2のパーティションに割り当てる資源割り当て手段と
を有する
請求項1に記載の資源管理システム。
【請求項3】
前記共有資源使用手段は、前記複数の処理ノードの第2のパーティションのいずれか、または、前記複数の処理ノードの第2のパーティションの2つ以上を選択し、前記第2の処理それぞれを実行させる
請求項1または2に記載の資源管理システム。
【請求項4】
前記管理ノードは、
前記検出された処理負荷の値を所定時間ごとにサンプリングする負荷サンプリング手段と、
前記サンプリングした処理負荷値に基づいて、将来の時刻とこの時刻において予測される負荷との関係を示す負荷予測モデル情報を作成する負荷予測モデル作成手段と
をさらに有し、
前記割当制御手段は、前記負荷予測モデル情報に基づいて、前記複数の処理ノードの処理資源を、前記第1のパーティションに割り当てるための制御を行う
請求項2に記載の資源管理システム。
【請求項5】
前記管理ノードは、
前記負荷予測モデル情報に基づいて、前記第2の処理を実行させる1つ以上の第2のパーティションを選択する選択手段
をさらに有し、
前記共有資源使用手段は、前記選択手段の選択に基づいて、前記複数の処理ノードの1つ以上の第2のパーティションに、前記第2の処理を実行させる
請求項4に記載の資源管理システム。
【請求項6】
前記管理ノードは、
前記第2の処理を要求した外部ノードに対して課金処理を行う課金手段と、
前記第2の処理に利用された前記第2のパーティションを有する処理ノードに対して前記課金処理に対応する還元処理を行う還元処理手段と
をさらに有する
請求項1から5のいずれかに記載の資源管理システム。
【請求項7】
前記第1のパーティションおよび前記第2のパーティションは、それぞれ仮想マシンによって実現され、
前記処理ノードは、前記処理資源を用いて、前記それぞれの仮想マシンを実行する
請求項1から6のいずれかに記載の資源管理システム。
【請求項8】
前記処理ノードそれぞれは、
所定時間の間、所定の量の処理資源が前記第1のパーティションに割り当てられることを保証するように制御する時間保証手段
を有する
請求項1から7のいずれかに記載の資源管理システム。
【請求項9】
前記管理ノードは、前記複数の処理ノードいずれかに含まれる
請求項1から8のいずれかに記載の資源管理システム。
【請求項10】
複数の論理的または物理的な処理ノードに接続された資源管理装置であって、前記複数の処理ノードそれぞれに含まれ、処理のために用いられる処理資源は、互いに独立な第1のパーティションおよび第2のパーティションに割り当てられ、前記第1のパーティションは、前記複数の処理ノードそれぞれに閉じた第1の処理のために用いられ、前記第2のパーティションは、前記複数の処理ノードの内、選択された1つ以上により実行される1つ以上の第2の処理のために用いられ、
前記複数の処理ノードそれぞれの処理資源の内、前記第1の処理に必要とされる処理資源以外を、前記第2のパーティションに割り当てる割当制御手段と、
前記複数の処理ノードの第2のパーティションの選択された1つ以上に、外部から要求された前記第2の処理を実行させる共有資源使用手段と
を有する資源管理装置。
【請求項11】
前記資源割当制御手段は、
前記複数の処理ノードそれぞれにおける前記第1の処理のための処理負荷を検出する処理負荷検出手段と、
前記検出された第1の処理の処理負荷に基づいて、前記複数の処理ノードそれぞれの処理資源を、前記第1のパーティションまたは前記第2のパーティションに割り当てる資源割り当て手段と
を有する
請求項10に記載の資源管理装置。
【請求項12】
前記共有資源使用手段は、前記複数の処理ノードの第2のパーティションのいずれか、または、前記複数の処理ノードの第2のパーティションの2つ以上を選択し、前記第2の処理それぞれを実行させる
請求項10または11に記載の資源管理装置。
【請求項13】
複数の論理的または物理的な処理ノードに含まれ、処理のために用いられる処理資源を管理する資源管理方法であって、前記処理資源は、互いに独立な第1のパーティションおよび第2のパーティションに割り当てられ、前記第1のパーティションは、前記複数の処理ノードそれぞれに閉じた第1の処理のために用いられ、前記第2のパーティションは、前記複数の処理ノードの内、選択された1つ以上により実行される1つ以上の第2の処理のために用いられ、
前記複数の処理ノードそれぞれの処理資源の内、前記第1の処理に必要とされる処理資源以外を、前記第2のパーティションに割り当てる割当制御ステップと、
前記複数の処理ノードの第2のパーティションの選択された1つ以上に、外部から要求された前記第2の処理を実行させる共有資源使用ステップと
を有する資源管理方法。
【請求項14】
複数の論理的または物理的な処理ノードに含まれ、処理のために用いられる処理資源を管理する資源管理プログラムであって、前記処理資源は、互いに独立な第1のパーティションおよび第2のパーティションに割り当てられ、前記第1のパーティションは、前記複数の処理ノードそれぞれに閉じた第1の処理のために用いられ、前記第2のパーティションは、前記複数の処理ノードの内、選択された1つ以上により実行される1つ以上の第2の処理のために用いられ、
前記複数の処理ノードそれぞれの処理資源の内、前記第1の処理に必要とされる処理資源以外を、前記第2のパーティションに割り当てる割当制御ステップと、
前記複数の処理ノードの第2のパーティションの選択された1つ以上に、外部から要求された前記第2の処理を実行させる共有資源使用ステップと
をコンピュータに実行させる資源管理プログラム。

【図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

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2009−110347(P2009−110347A)
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願番号】特願2007−282914(P2007−282914)
【出願日】平成19年10月31日(2007.10.31)
【出願人】(503003854)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (1,145)