(57)【要約】  サーバシステム（１）は、複数の仮想サーバ（２０）が稼動する複数の物理サーバ（１０）に通信網３で接続され、物理サーバ（１０）上で稼働する仮想サーバ（２０）を管理する管理装置（１００）を備え、管理装置（１００）は、物理サーバ（１０）において、仮想サーバ（２０）を稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う判定部（１０４）を備える。
2012046386.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想サーバが稼動する複数の物理サーバと、
複数の前記物理サーバに通信網で接続され、前記物理サーバ上で稼働する前記仮想サーバを管理する管理装置と、を備え、
前記管理装置は、
前記物理サーバにおいて、前記仮想サーバを稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う判定手段を備えるサーバシステム。
【請求項２】
請求項１に記載のサーバシステムにおいて、
前記管理装置は、
所定の処理が実行されている、複数の前記仮想サーバおよび複数の前記物理サーバの負荷データを前記通信網を介して収集する収集手段をさらに備え、
前記管理装置の前記判定手段は、前記収集手段が収集した前記負荷データに基づいて、前記判定する処理を行うサーバシステム。
【請求項３】
請求項２に記載のサーバシステムにおいて、
前記管理装置は、
前記単位時間内に処理される前記負荷データが所定数未満含まれるように前記単位時間の最小値を決定する決定手段をさらに備え、
前記管理装置の前記判定手段は、決定された前記最小値に前記単位時間を分割し、前記最小値の前記単位時間で前記判定する処理を行うサーバシステム。
【請求項４】
請求項２または３に記載のサーバシステムにおいて、
前記管理装置は、
前記収集手段が収集した前記負荷データを、単位負荷の範囲に基づいて、グループに分類し、各前記グループから所定数の負荷データを選択する選択手段をさらに備え、
前記管理装置の前記判定手段は、選択された前記負荷データに基づいて、前記判定する処理を行うサーバシステム。
【請求項５】
請求項２乃至４いずれか一項に記載のサーバシステムにおいて、
前記管理装置の前記判定手段は、前記判定する処理において、前記空きリソース容量が、前記負荷データの負荷のピークが周期的に現れる所定期間にわたり、要求条件を満たしているか否かを判定するサーバシステム。
【請求項６】
請求項２乃至５いずれか一項に記載のサーバシステムにおいて、
前記管理装置の前記判定手段は、前記判定する処理において、前記負荷データの負荷のピークが周期的に現れる所定期間内の前記空きリソース容量の平均値が、平均値の要求条件を満たしているか否かを判定するサーバシステム。
【請求項７】
請求項２乃至６いずれか一項に記載のサーバシステムにおいて、
前記管理装置は、
前記負荷データに基づいて、前記物理サーバの余剰リソース量を算出する算出手段と、
算出された前記余剰リソース量をユーザに提示するリソース提示手段と、
をさらに備えるサーバシステム。
【請求項８】
複数の仮想サーバが稼動する複数の物理サーバに通信網で接続され、
前記物理サーバにおいて、前記仮想サーバを稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う判定手段を備える管理装置。
【請求項９】
複数の仮想サーバが稼動する複数の物理サーバに通信網で接続され、前記物理サーバ上で稼働する前記仮想サーバを管理する管理装置が、
前記物理サーバにおいて、前記仮想サーバを稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行うサーバ管理方法。
【請求項１０】
複数の仮想サーバが稼動する複数の物理サーバに通信網で接続され、前記物理サーバ上で稼働する前記仮想サーバを管理する管理装置を実現するコンピュータに、
前記物理サーバにおいて、前記仮想サーバを稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う手順を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバシステム、管理装置、サーバ管理方法、およびプログラムに関し、特に、複数の物理サーバ上で複数の仮想サーバが稼働するサーバシステム、管理装置、サーバ管理方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、１台の物理サーバにソフトウェアによって複数の仮想サーバを構築し、それら複数の仮想サーバで複数の処理を同時に実行するための仮想サーバ技術が実現されている。仮想サーバ技術によれば、通信網によって接続された複数の物理サーバ上で複数の仮想サーバを同時に稼動させるためのシステムも構築することが可能である。【０００３】
このような複数の物理サーバ上で複数の仮想サーバが稼動する仮想サーバシステムでは、物理サーバの空きリソースの処理性能を動的に計測し、性能の異なる物理サーバ上で稼働する仮想サーバの処理性能を比較する技術が従来から知られている。【０００４】
たとえば、特許文献１には、複数の物理サーバ上で仮想サーバを稼働させる仮想サーバ環境において、仮想サーバを移動させる先の物理サーバの空き容量を見積もることが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１３４６８７号公報
【発明の概要】
【０００６】
しかしながら上述した文献記載のシステムでは、ある時点の負荷の値についてのキャパシティの有無についての判断を行うだけであり、処理内容に依存して時間的に変化する周期性のある一定期間の負荷データに対して、十分なキャパシティが確保できるかどうかは検証されていない。しかも、一定期間の負荷データに対してキャパシティの確認を行う場合、負荷データ数が増加してデータ量が膨大となるため、キャパシティの判定の計算時間が長くなるという問題点があった。
【０００７】
本発明の目的は、上述した課題を解決するサーバシステム、管理装置、サーバ管理方法、およびプログラムを提供することにある。
【０００８】
本発明のサーバシステムは、
複数の仮想サーバが稼動する複数の物理サーバと、
複数の前記物理サーバに通信網で接続され、前記物理サーバ上で稼働する前記仮想サーバを管理する管理装置と、を備え、
前記管理装置は、
前記物理サーバにおいて、前記仮想サーバを稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う判定手段を備える。
【０００９】
本発明の管理装置は、
複数の仮想サーバが稼動する複数の物理サーバに通信網で接続され、
前記物理サーバにおいて、前記仮想サーバを稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う判定手段を備える。
【００１０】
本発明のサーバ管理方法は、
複数の仮想サーバが稼動する複数の物理サーバに通信網で接続され、前記物理サーバ上で稼働する前記仮想サーバを管理する管理装置が、
前記物理サーバにおいて、前記仮想サーバを稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う。
【００１１】
本発明のプログラムは、
複数の仮想サーバが稼動する複数の物理サーバに通信網で接続され、前記物理サーバ上で稼働する前記仮想サーバを管理する管理装置を実現するコンピュータに、
前記物理サーバにおいて、前記仮想サーバを稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う手順を実行させるためのものである。
【００１２】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００１３】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００１４】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
【００１５】
さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【００１６】
本発明によれば、仮想サーバを稼働したときの物理サーバのリソース管理を短時間に低負荷で行うサーバシステム、管理装置、サーバ管理方法、およびプログラムが提供される。
【図面の簡単な説明】
【００１７】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１８】
【図１】本発明の実施の形態に係るサーバシステムの構成を示す機能ブロック図である。
【図２】本発明の実施の形態に係るサーバシステムの動作の例を示すフローチャートである。
【図３】本発明の実施の形態に係るサーバシステムの構成を示す機能ブロック図である。
【図４】本発明の実施の形態に係るサーバシステムの動作の例を示すフローチャートである。
【図５】本発明の実施の形態に係るサーバシステムにおける一連の処理で扱うデータ形式の例を一覧表で示す図である。
【図６】本発明の実施の形態に係るサーバシステムの構成を示す機能ブロック図である。
【図７】本発明の実施の形態に係るサーバシステムの動作の例を示すフローチャートである。
【図８】本発明の実施の形態に係るサーバシステムにおける一連の処理で扱うデータ形式の例を一覧表で示す図である。
【図９】本発明の実施の形態に係るサーバシステムの構成を示す機能ブロック図である。
【図１０】本発明の実施の形態に係るサーバシステムの動作の例を示すフローチャートである。
【図１１】本発明の実施の形態に係るサーバシステムの管理装置における一連の処理で扱うデータ形式の例を一覧表で示す図である。
【図１２】本発明の実施の形態に係るサーバシステムの管理装置の画面の一例を示す図である。
【図１３】本発明の実施の形態に係るサーバシステムの並列分散処理を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００２０】
（第１の実施の形態）
図１は、本発明の実施の形態に係るサーバシステム１の構成を示す機能ブロック図である。
本発明の実施の形態に係るサーバシステム１は、複数の仮想サーバ２０が稼動する複数の物理サーバ１０と、複数の物理サーバ１０に通信網３で接続され、物理サーバ１０上で稼働する仮想サーバ２０を管理する管理装置１００と、を備える。そして、管理装置１００は、物理サーバ１０において、仮想サーバ２０を稼働させたときの空きリソース容量が、所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う判定部１０４を有する。図１では、物理サーバＰＭ１で稼動する仮想サーバに符号ＶＭ１１、．．．、ＶＭ１ｎ（ｎは自然数）を付与し、物理サーバＰＭｍで稼動する仮想サーバに符号ＶＭｍ１、．．．、ＶＭｍｉ（ｍとｉは自然数）を付与する。以下の説明では、これらの符号を用いてそれぞれを区別する。
【００２１】
サーバシステム１の各構成要素は、ＣＰＵ（Central Processing Unit）、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを備えるコンピュータのハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
また、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
【００２２】
管理装置１００は、たとえば、図示しないＣＰＵやメモリ、ハードディスク、および通信装置を備え、キーボードやマウス等の入力装置やディスプレイやプリンタ等の出力装置と接続されるサーバコンピュータやパーソナルコンピュータ、またはそれらに相当する装置により実現することができる。そして、ＣＰＵが、ハードディスクに記憶されるプログラムをメモリに読み出して実行することにより、上記各ユニットの各機能を実現することができる。
【００２３】
本実施形態のコンピュータプログラムは、管理装置１００を実現させるためのコンピュータに、物理サーバ１０において、仮想サーバ２０を稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う手順を実行させるように記述されている。
【００２４】
本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記録媒体（磁気ディスク、半導体メモリ、光ディスク等）に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラムは、記録媒体からコンピュータのメモリにロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリにロードされてもよい。
【００２５】
本実施形態のサーバシステム１において、管理装置１００は、それぞれ業務アプリケーションを実行している物理サーバ１０および仮想サーバ２０のリソースを監視し、必要に応じて、仮想サーバ２０を他の物理サーバ１０にマイグレーションするなどの制御を行うこともできる。このとき、本実施形態の管理装置１００は、リソースを効率よく利用できるような物理サーバ１０と仮想サーバ２０の組み合わせを見つける判定処理を行う。
【００２６】
本実施形態において、物理サーバ１０は、ハードウェアによって構成される実際のコンピュータをさし、図示しないＣＰＵやメモリ、ハードディスク、および通信制御装置を備え、キーボードやマウス等の入力装置やディスプレイやプリンタ等の出力装置と接続されるサーバコンピュータやパーソナルコンピュータ、またはそれらに相当する装置により実現することができる。そして、ＣＰＵが、ハードディスクに記憶されるプログラムをメモリに読み出して実行することにより、上記各ユニットの各機能を実現することができる。
【００２７】
仮想サーバ２０は、物理サーバ１０上に仮想化ソフトによって構築される仮想的なコンピュータをさす。仮想サーバ２０は物理サーバ１０上に複数稼働させることができる。これにより、１台の物理サーバ１０を、複数の利用者が同時に利用したり、異なるＯＳを並列に実行させたりすることができる。
図１では、管理装置１００は、物理サーバ１０とは異なるコンピュータとなっているが、物理サーバ１０または仮想サーバ２０が稼働しているコンピュータにより実現することもできる。
【００２８】
本実施形態において、サーバシステム１の管理対象システムは、複数の仮想サーバ２０が稼働する複数の物理サーバ１０を備えるシステムであり、たとえば、データセンタなど、多数のＩＴ機器を有する大規模なシステムを含む。この場合、上記の物理サーバ１０と仮想サーバ２０の組み合わせ数が膨大になり、仮想サーバ２０をマイグレーションする移動先の物理サーバ１０を決定する計算時間が長くなり、処理の負荷が大きくなってしまうという課題が生じる。したがって、本発明の実施形態に係るサーバシステム１では、所定の単位時間ごとに分割し、並列分散処理によって判定処理を行うことで、このようなデータセンタなど、多数のＩＴ機器を有する大規模システムにも対応可能になる。
【００２９】
また、本発明の実施の形態に係るサーバシステム１において、管理装置１００は、物理サーバ１０および仮想サーバ２０の負荷データの負荷のピークが周期的に現れるものについて、負荷データを監視し、効率よくリソースを利用できるように制御する。
【００３０】
たとえば、企業内のウェブサーバは、出退勤時刻と昼休みに負荷が高くなるという日単位の周期性を有する。また、企業の給与計算システムや勤務管理システムなどは、月単位でデータ処理を行うため、月末や月初にサーバの負荷のピークがあり、それ以外の時期はサーバの負荷が低いといった月単位の周期性を有する。このように、物理サーバ上で稼働する仮想サーバの負荷は、処理内容に依存して時間的に変化する。そこで、負荷データの負荷のピークが周期的に現れ、一定期間内で負荷が変化するような場合においても、本実施形態の管理装置１００は、効率よくリソースを利用できるように制御する。
【００３１】
監視対象の物理サーバ１０および仮想サーバ２０の負荷のピークが周期的に現れる期間（以後、「タイムスパンＴ」と呼ぶ）は、日単位、週単位、月単位、年単位、曜日単位、季節単位、半期単位など様々考えられる。また、分割処理の単位時間（△Ｔ）は、たとえば、１時間、１日、１週間、１ヶ月、１年などである。
また、リソースは、物理サーバ１０または仮想サーバ２０のＣＰＵ、メモリ、ネットワークＩ／Ｏ（Input/Output）、およびストレージＩ／Ｏなどを含むことができる。
【００３２】
具体的には、サーバシステム１は、収集部１０２と、判定部１０４とを有する管理装置１００と、管理装置１００に接続された負荷データ記憶部１２０と、判定結果記憶部１３０と、を備える。
なお、負荷データ記憶部１２０および判定結果記憶部１３０は、管理装置１００に含まれてもよい。
【００３３】
収集部１０２は、通信網３を介して、物理サーバ１０および仮想サーバ２０から物理サーバ１０および仮想サーバ２０の負荷データの値を一定間隔で取得し、履歴データとして負荷データ記憶部１２０に記憶する。収集部１０２が収集する負荷データは、物理サーバ１０および仮想サーバ２０それぞれのＣＰＵ使用率、メモリ使用率、記録媒体の入出力性能値（例えば最大データ転送速度に対する入出力データ転送速度の割合）、通信制御装置の入出力性能値（伝送速度や使用帯域等）等の性能に関する情報を含む。
【００３４】
負荷データ記憶部１２０は、収集部１０２が収集した負荷データを記憶する。負荷データ記憶部１２０は、物理サーバ１０ごとに、その物理サーバ１０上で稼働している仮想サーバ２０ごとの負荷データを、収集時刻ｔごとに１ペアとして記憶することができる。
【００３５】
判定部１０４は、収集部１０２が収集した負荷データに基づいて、物理サーバ１０上で稼働する仮想サーバ２０の格納可能性を判定する。本実施形態では、判定部１０４は、収集部１０２が収集した、物理サーバ１０と物理サーバ１０上で稼働する仮想サーバ２０の負荷データを時間帯ごとに分割し、格納可能性を判定する。また、判定部１０４は、格納可能性の判定結果を判定結果記憶部１３０に記憶する。
【００３６】
ここで、判定部１０４における判定処理の並列分散処理について、以下に説明する。
たとえば、図１３に示すように、まず、複数の物理サーバ１０（ＰＭ１、ＰＭ２、．．．、ＰＭｍ）から通信網３を介して収集部１０２が収集した負荷データＤ１、Ｄ２、．．．、Ｄｍは、負荷データ記憶部１２０に格納する。その後、所定のタイムスパンＴを複数に分割した単位時間△Ｔごとに、それぞれ、時刻ｔ１からｔ２の間のデータｄ１１、ｄ２１、．．．、ｄｍ１、時刻ｔ２からｔ３の間のデータｄ１２、ｄ２２、．．．、ｄｍ２などに分割される。なお、本図では、タイムスパンＴが４つの単位時間△Ｔに分割されているが、これに限定されるものではなく、説明上便宜的に示しているだけである。そして、判定部１０４において、複数の処理部Ｕ１、Ｕ２、Ｕ３、．．．が、この単位時間△Ｔごとに分割された複数の物理サーバ１０（ＰＭ１、ＰＭ２、．．．、ＰＭｍ）の分割データをそれぞれ並列に分散して処理する。そして、各処理部から処理された複数の結果Ｒ１、Ｒ２、Ｒ３、．．．が判定結果記憶部１３０に格納される。
【００３７】
たとえば、図１３では、判定部１０４の処理部Ｕ１では、時刻ｔ１からｔ２の間の物理サーバＰＭ１、ＰＭ２、．．．、ＰＭｍのデータｄ１１、ｄ２１、．．．、ｄｍ１が処理されて結果Ｒ１が判定結果記憶部１３０に格納される。また、判定部１０４の処理部Ｕ２では、時刻ｔ２からｔ３の間の物理サーバＰＭ１、ＰＭ２、．．．、ＰＭｍのデータｄ１２、ｄ２２、．．．、ｄｍ２が処理されて結果Ｒ２が判定結果記憶部１３０に格納される。このようにして、本発明の管理装置１００の判定部１０４における判定処理は、並列分散処理されることとなる。
【００３８】
図１に戻り、本実施形態では、判定部１０４は、ある周期の時間帯で、たとえば、２４時間で、物理サーバ１０上の空きリソースを使って、ある周期的な負荷のピークを有する仮想サーバ２０が稼働できるか否かを判定し、ある仮想サーバ２０の物理サーバ１０に対する格納可能性として示す。
【００３９】
ここで、格納可能性の判定とは、ある物理サーバ１０上で０台以上の仮想サーバ２０が稼働している状況で、物理サーバ１０上で新たに仮想サーバ２０を稼働させる場合、仮想サーバ２０の負荷について周期性のある一定期間を単位として、その期間内の全ての時刻において、ＣＰＵ、メモリ、ネットワークＩ／Ｏ、ストレージＩ／Ｏなどのいずれのリソースもキャパシティが不足することなく処理を完了できるかどうかを判定することと定義する。
ただし、他の実施形態では、ＣＰＵ、メモリ、ネットワークＩ／Ｏ、またはストレージＩ／Ｏなどのうち予め決められたいずれかのリソースのキャパシティが不足することなく周期性のある一定期間内に処理を完了できるかどうかを判定することもできる。
【００４０】
すなわち、物理サーバ１０上の空きリソースが、仮想サーバ２０を稼働するのに必要な量以上であれば、格納可能（ＯＫ）と判定され、物理サーバ１０上の空きリソースが、仮想サーバ２０を稼働するのに必要な量に満たなければ、格納不可（ＮＧ）と判定される。
【００４１】
判定結果記憶部１３０は、判定部１０４が行った格納可能性の判定結果を「ＯＫ」または「ＮＧ」のいずれか記憶する。本実施形態では、便宜上、判定結果を「ＯＫ」または「ＮＧ」と示しているが、これに限定されるものではなく、判定結果を示す情報として、数値、記号、フラグなど、様々な態様が考えられる。
【００４２】
このように構成された本実施形態のサーバシステム１の動作について、以下に説明する。
図２は、本発明の実施の形態に係るサーバシステム１の動作の例を示すフローチャートである。以下、図１および図２を用いて説明する。
本発明の実施の形態に係るサーバ管理方法は、管理装置１００が、物理サーバにおいて、仮想サーバを稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う（ステップＳ１０３）。
【００４３】
詳細には、まず、収集部１０２が、各物理サーバ１０から、物理サーバ１０および仮想サーバ２０の負荷データを収集し、負荷データ記憶部１２０に記憶する（ステップＳ１０１）。そして、判定部１０４が、負荷データ記憶部１２０を参照し、記憶された負荷データを所定の単位時間ごとに分割する。そして、並列分散処理にて格納可能性を判定し、その判定結果を判定結果記憶部１３０に記憶する（ステップＳ１０３）。
【００４４】
本実施形態のサーバシステム１は、このようにして判定結果記憶部１３０に記憶された各物理サーバ１０で仮想サーバ２０を稼働させた場合の格納可能性の判定結果を、オペレータが必要に応じて閲覧できるように提示する提示部（不図示）を有することができる。たとえば、判定結果をディスプレイなどの出力装置（不図示）に画面表示したり、プリンタなどの出力装置（不図示）に印字出力したりできる。
オペレータが、キーボードなどの入力装置（不図示）を用いて、格納可能性の判定結果を検索する操作を行う操作画面をディスプレイに表示し、オペレータの操作を受け付けて、検索処理を行う処理部（不図示）を有することができる。
【００４５】
このように構成することで、仮想サーバ２０の移動先に適した物理サーバ１０の選択をオペレータに短時間で判断させることが可能になる。なお、判定結果は、すべての物理サーバの判定結果をリストにして提示してもよい。また、リストは、判定結果の可否毎にソートできてもよい。さらに、リストに、物理サーバの他の性能情報（たとえば、ＣＰＵ性能、メモリ容量等）などを含めて提示してもよい。
【００４６】
本発明によれば、物理サーバ１０と仮想サーバ２０の各組合せに対して、物理サーバ１０上に仮想サーバ２０を移動して稼働させた場合について、物理サーバ１０や仮想サーバ２０の負荷データを時間帯ごとに分割して格納可能性の判定処理を実行することにより、並列分散処理が可能となる。そのため、本発明によれば、短時間に低負荷で仮想サーバ２０の移動先に適した物理サーバ１０の選択ができる。このように、本発明によれば、仮想サーバを稼働したときの物理サーバのリソース管理を短時間に低負荷で行える。そして、本発明によれば、仮想サーバ２０のキャパシティ不足や無駄な空きリソースの発生を回避することができ、効率よくリソースを利用できることとなる。
【００４７】
本発明によれば、特に、周期性のある一定期間の負荷データに対して、仮想サーバ２０の実行に必要なキャパシティが十分確保されていることを短時間で検証することができる。その理由は、仮想サーバの周期的な負荷データの全体に対して、格納可能性を判定できるためである。
【００４８】
また、本発明のサーバシステム１によれば、物理サーバや仮想サーバの台数が増大した場合でも、仮想サーバを稼働させるのに十分なキャパシティを持つ物理サーバを短時間に判定できるという効果を奏する。この結果、仮想サーバのキャパシティ不足や無駄な空きリソースの発生を回避することができる。その理由は、格納可能性の判定処理を並列分散実行可能な処理として実現しているためである。
【００４９】
（第２の実施の形態）
図３は、本発明の実施の形態に係るサーバシステム１の構成を示す機能ブロック図である。
本実施形態のサーバシステム１の管理装置２００は、上記実施の形態の管理装置１００における、収集部１０２が収集した負荷データに基づく処理を行う具体的な構成を有する。
なお、本実施形態において、サーバシステム１は、物理サーバ１０および仮想サーバ２０の台数がそれほど多くなく、負荷データのサイズ（監視対象となる負荷データ件数）が中程度の場合の例について説明する。
【００５０】
本発明の実施の形態に係るサーバシステム１において、管理装置２００は、図１の上記実施形態の管理装置１００の構成に加え、さらに、生成部２０２と、算出部２０４と、を備える。
生成部２０２は、はじめに、収集部１０２が各物理サーバ１０から収集した物理サーバ１０および仮想サーバ２０の負荷データから、各物理サーバ１０の識別子（ＰＭ＿ＩＤ）と収集時刻ｔがキーで、負荷データがバリューのペアのデータを生成する。そして、生成部２０２は、分割処理の単位時間△Ｔがキーで、その時間内に含まれる時刻ｔのログをバリューとするペアのデータを生成する。
生成部２０２によって生成された上記各データは、負荷データ記憶部１２０に記憶することができる。
【００５１】
算出部２０４は、タイムスパンＴに含まれる全てのΔＴに対して、仮想サーバ２０を稼働させた場合の物理サーバ１０の余剰リソース量を算出する。
【００５２】
このように構成された本実施形態のサーバシステム１の管理装置２００の動作について、以下に説明する。
図４は、本発明の実施の形態に係るサーバシステム１の動作の例を示すフローチャートである。また、図５は、サーバシステム１における一連の処理で扱うデータ形式の例を一覧表で示す図である。以下、図３乃至図５を用いて説明する。
【００５３】
まず、管理装置２００の収集部１０２が、通信網３を介して各物理サーバ１０の負荷データを一定間隔で取得し、負荷データ記憶部１２０に記憶する（ステップＳ２０１）。この時のデータ形式は図５の表１のステップＳ２０１のようになる。図５に示すように、負荷データは、たとえば、収集時刻ｔ（2010/05/27 13:05:02）、物理サーバ１０および仮想サーバ２０の識別情報（ＰＭ１、ＶＭ１１）、その仮想サーバ２０のＣＰＵ利用率（CPU 32%）、およびネットワーク入出力性能値（NW send 253Mbps）などを含む。
【００５４】
管理装置２００の生成部２０２が、負荷データ記憶部１２０を参照し、各負荷データから、物理サーバ１０の識別子（ＰＭ＿ＩＤ）と時刻ｔがキーで、負荷データ（図５の表１において、「load_info_1(VM_ID+CPU+NW_send+...」と示す）がバリューのペアのデータを生成する（ステップＳ２０３）。この時のデータ形式は図５の表１のステップＳ２０３のようになる。
【００５５】
さらに、管理装置２００の生成部２０２が、負荷データ記憶部１２０を参照し、分割処理の単位時間△Ｔがキーで、その時間内に含まれる時刻ｔのログ（図５の表１において、「load_info_2(PM_ID+t+load_info_1のリスト)」と示す）をバリューとするペアのデータを生成する（ステップＳ２０５）。この時のデータ形式は図５の表１のステップＳ２０５のようになる。
【００５６】
管理装置２００の判定部１０４が、負荷データ記憶部１２０を参照し、同じΔＴに含まれるログからＰＭ＿ＩＤと仮想サーバの識別子（ＶＭ＿ＩＤ）のペアのデータを生成して、格納可能性を判定する。そして、管理装置２００の判定部１０４は、その判定結果（図５の表１において、「result_2(PM_ID,VM_ID,OK/NG)」に相当）を判定結果記憶部１３０に記憶する（ステップＳ２０７）。さらに、管理装置２００の算出部２０４が、負荷データ記憶部１２０を参照し、余剰リソース量（図５の表１において、「result_2(PM_ID,VM_ID,余剰リソース)」に相当）を算出して、判定結果記憶部１３０に記憶する（ステップＳ２０９）。この時のデータ形式は図５の表１のステップＳ２０７およびステップＳ２０９のようになる。
【００５７】
管理装置２００の判定部１０４が、判定結果記憶部１３０を参照し、タイムスパンＴに含まれる全てのΔＴに対して、格納可能性を判定する。そして、管理装置２００の判定部１０４は、ＰＭ＿ＩＤとＶＭ＿ＩＤのペアのデータに対応する判定結果（図５の表１において、「result_1(OK/NG)」に相当）を判定結果記憶部１３０に記憶する（ステップＳ２１１）。そして、管理装置２００の算出部２０４が、判定結果記憶部１３０を参照し、ＰＭ＿ＩＤとＶＭ＿ＩＤのペアのデータに対応する物理サーバ１０の余剰リソース（図５の表１において、「result_1(余剰リソース)」に相当）を算出して、判定結果記憶部１３０に記憶する（ステップＳ２１３）。この時のデータ形式は図５の表１のステップＳ２１１およびＳ２１３のようになる。
【００５８】
このようにして判定結果記憶部１３０に記憶された各物理サーバ１０で仮想サーバ２０を稼働させた場合の格納可能性の判定結果は、上記実施形態と同様に、オペレータからの検索要求を受け付けて検索結果をオペレータに提示することができる。
これにより、仮想サーバ２０の移動先に適した物理サーバ１０の選択をオペレータに短時間で判断させることが可能になる。また、余剰リソース量を比較できるように提示することにより、無駄の少ない物理サーバ１０の選択をオペレータに判断させることが可能になる。
【００５９】
本実施形態のサーバシステム１によれば、上記実施形態と同様な効果を奏する。
【００６０】
（第３の実施の形態）
図６は、本発明の実施の形態に係るサーバシステム１の構成を示す機能ブロック図である。
本実施形態のサーバシステム１の管理装置３００は、図３の上記実施形態とは、負荷データの件数が多い場合などに、判定部１０４の分割処理の単位時間をより短くすることで、判定処理の負荷を低減する点で相違する。
【００６１】
本発明の実施の形態に係るサーバシステム１において、管理装置３００は、図３の上記実施形態の管理装置２００の構成に加え、単位時間内に処理される負荷データが所定数未満含まれるように、単位時間の最小値を決定する決定部３０２をさらに備える。さらに、管理装置３００の判定部１０４は、決定された最小値に単位時間を分割し、最小値の単位時間で判定する処理を行う。
なお、本実施形態において、サーバシステム１は、物理サーバ１０および仮想サーバ２０の台数が多く、負荷データのサイズ（監視対象となる負荷データ件数）が大きい場合の例について説明する。
【００６２】
具体的には、本実施形態の管理装置３００は、図３の上記実施形態の管理装置２００の生成部２０２に替えて、生成部３０４を有するとともに、管理装置２００と同様な収集部１０２と、判定部１０４と、算出部２０４と、を有し、さらに、決定部３０２を有する。
【００６３】
決定部３０２において、単位時間の最小値は、単位時間内に処理される負荷データに対応する物理サーバ１０と仮想サーバ２０のペア数がその時間内で所定個数未満となるように決定することができる。収集部１０２が収集した負荷データの単位時間あたりの処理数が多く、かつ、判定処理の負荷が所定の基準より高くなる場合に決定部３０２の本処理を行うのが好ましい。
【００６４】
生成部３０４は、図３の上記実施形態の管理装置２００の生成部２０２と同様に、収集部１０２が各物理サーバ１０から収集した物理サーバ１０および仮想サーバ２０の負荷データから、各物理サーバ１０の識別子（ＰＭ＿ＩＤ）と収集時刻ｔがキーで、負荷データがバリューのペアのデータを生成する。そして、生成部２０２は、分割処理の単位時間△Ｔがキーで、その時間内に含まれる時刻ｔのログをバリューとするペアのデータを生成する。
【００６５】
さらに、生成部３０４は、生成されたデータのペア数が所定数より多い場合に、単位時間△Ｔの最小値ΔＴｍｉｎがキーで、その時間内に含まれる時刻ｔのログをバリューとするペアのデータを生成する。
生成部３０４によって生成された上記各データは、負荷データ記憶部１２０に記憶することができる。
【００６６】
このように構成された本実施形態のサーバシステム１の管理装置３００の動作について、以下に説明する。
図７は、本発明の実施の形態に係るサーバシステム１の管理装置３００の動作の例を示すフローチャートである。また、図８は、サーバシステム１における一連の処理で扱うデータ形式の例を一覧表で示す図である。
【００６７】
なお、本実施形態の管理装置３００は、図４の上記実施形態の管理装置２００の動作を示すフローチャートと同様な手順で処理を行うとともに、図４のステップＳ２０５とステップＳ２０７の間に、図７に示すステップＳ３０１乃至ステップＳ３０７の処理を行う。以下、図４、図６乃至図８を用いて説明する。
【００６８】
上記実施形態の管理装置２００と同様に、管理装置３００の収集部１０２が、通信網３を介して各物理サーバ１０の負荷データを一定間隔で取得し、負荷データ記憶部１２０に記憶する（図４のステップＳ２０１）。この時のデータ形式は図８の表２のステップＳ２０１のようになる。
【００６９】
管理装置３００の生成部３０４が、負荷データ記憶部１２０を参照し、各負荷データから、各物理サーバ１０の識別子（ＰＭ＿ＩＤ）と収集時刻ｔがキーで、負荷データ（図８の表２において、「load_info_1(VM_ID+CPU+NW_send+...」と示す）がバリューのペアのデータを生成する（図４のステップＳ２０３）。この時のデータ形式は図８の表２のステップＳ２０３のようになる。
【００７０】
管理装置３００の生成部３０４が、負荷データ記憶部１２０を参照し、分割処理の単位時間△Ｔがキーで、その時間内に含まれる時刻ｔのログ（図８の表２において、「load_info_2(PM_ID+t+load_info_1のリスト)」と示す）をバリューとするペアのデータを生成する（図４のステップＳ２０５）。この時のデータ形式は図８の表２のステップＳ２０５のようになる。そして、管理装置３００は、図７のステップＳ３０１に処理を移行する。
【００７１】
管理装置３００の決定部３０２が、負荷データ記憶部１２０を参照し、ステップＳ２０５で生成されたデータのペア数が所定数より多いか否かを判定する（図７のステップＳ３０１）。そして、データのペア数が所定数より多い場合には（図７のステップＳ３０１のＹＥＳ）、管理装置３００の決定部３０２が、負荷データ記憶部１２０を参照し、単位時間内に処理される負荷データが所定数未満含まれるように単位時間△Ｔの最小値ΔＴｍｉｎを決定する（図７のステップＳ３０２）。なお、データのペア数が所定数より少ない場合には（図７のステップＳ３０１のＮＯ）、管理装置３００は、図４のフローに戻り、図４のステップＳ２０７の処理を続ける。
【００７２】
そして、管理装置３００の生成部３０４が、負荷データ記憶部１２０を参照し、単位時間△Ｔの最小値ΔＴｍｉｎがキーで、その時間内に含まれる時刻ｔのログ（図８の表２において、「load_info_3(load_info_2のリスト)」と示す）をバリューとするペアのデータを生成する（図７のステップＳ３０３）。この時のデータ形式は図８の表２のステップＳ３０３のようになる。
【００７３】
そして、管理装置３００の判定部１０４が、負荷データ記憶部１２０を参照し、同じΔＴｍｉｎに含まれるログからＰＭ＿ＩＤとＶＭ＿ＩＤのペアのデータを生成して、格納可能性を判定する。そして、管理装置３００の判定部１０４は、その判定結果（図８の表２において、「result_3(PM_ID,VM_ID,OK/NG)」に相当）を判定結果記憶部１３０に記憶する（図７のステップＳ３０５）。さらに、管理装置３００の算出部２０４が、負荷データ記憶部１２０を参照し、余剰リソース量（図８の表２において、「result_3(PM_ID,VM_ID,余剰リソース)」に相当）を算出して、判定結果記憶部１３０に記憶する（図７のステップＳ３０７）。この時のデータ形式は図８の表２のステップＳ３０５およびＳ３０７のようになる。そして、管理装置３００は、図４のフローに戻り、図４のステップＳ２０７の処理を続ける。
【００７４】
管理装置３００の判定部１０４が、判定結果記憶部１３０を参照し、ΔＴに含まれる全てのΔＴｍｉｎに対して、格納可能性を判定する。そして、管理装置３００の判定部１０４は、その判定結果（図８の表２において、「result_2(PM_ID,VM_ID,OK/NG)」に相当）を判定結果記憶部１３０に記憶する（図４のステップＳ２０７）。さらに、管理装置３００の算出部２０４が、判定結果記憶部１３０を参照し、余剰リソース量（図８の表２において、「result_2(PM_ID,VM_ID,余剰リソース)」に相当）を算出して、判定結果記憶部１３０に記憶する（図４のステップＳ２０９）。この時のデータ形式は図８の表２のステップＳ２０７およびＳ２０９のようになる。
【００７５】
そして、管理装置３００の判定部１０４が、判定結果記憶部１３０を参照し、タイムスパンＴに含まれる全てのΔＴに対して、格納可能性を判定する。そして、管理装置３００の判定部１０４は、ＰＭ＿ＩＤとＶＭ＿ＩＤのペアのデータに対応する判定結果（図８の表２において、「result_1(OK/NG)」に相当）を判定結果記憶部１３０に記憶する（図４のステップＳ２１１）。そして、管理装置３００の算出部２０４が、判定結果記憶部１３０を参照し、ＰＭ＿ＩＤとＶＭ＿ＩＤのペアのデータに対応する物理サーバ１０の余剰リソース（図８の表２において、「result_1(余剰リソース)」に相当）を算出して、判定結果記憶部１３０に記憶する（図４のステップＳ２１３）。この時のデータ形式は図８の表２のステップＳ２１１およびＳ２１３のようになる。
【００７６】
このようにして判定結果記憶部１３０に記憶された各物理サーバ１０で仮想サーバ２０を稼働させた場合の格納可能性の判定結果は、上記実施形態と同様に、オペレータからの検索要求を受け付けて検索結果をオペレータに提示することができる。
これにより、仮想サーバ２０の移動先に適した物理サーバの選択をオペレータに短時間で判断させることが可能になる。また、余剰リソース量を比較できるように提示することにより、無駄の少ない物理サーバ１０の選択をオペレータに判断させることが可能になる。
【００７７】
本実施形態のサーバシステム１によれば、上記実施形態と同様な効果を奏するとともに、物理サーバ１０や仮想サーバ２０の負荷データを分割処理の単位時間の最小値△Ｔｍｉｎごとに分割して格納可能性の判定処理を実行することにより、より粒度の小さい並列分散処理が可能となる。そのため、本発明によれば、データ量が大規模になった場合でも短時間で仮想サーバ２０の移動先に適した物理サーバ１０の選択ができ、仮想サーバ２０のキャパシティ不足や物理サーバ１０の無駄な空きリソースの発生を回避することができる。
【００７８】
（第４の実施の形態）
図９は、本発明の実施の形態に係るサーバシステム１の構成を示す機能ブロック図である。
本実施形態のサーバシステム１の管理装置４００は、図３および図６の上記実施形態とは、同様な負荷パターンの負荷データを有するサーバをグループ化し、グループの中から代表のサーバを選択して判定処理を行うことで、判定処理の負荷を低減する点で相違する。
【００７９】
本実施形態のサーバシステム１の管理装置４００は、サーバの負荷のパターンが同じようなものが多数存在するようなシステムの場合に特に有用である。また、負荷の低いサーバで、ほとんど負荷に変化がないものが多数存在するようなシステムの場合にも有用である。
【００８０】
本発明の実施の形態に係るサーバシステム１において、管理装置４００は、収集部１０２が収集した負荷データを、単位負荷の範囲に基づいて、グループに分類し、各グループから所定数の負荷データを選択する選択部４０２をさらに備える。さらに、管理装置４００の判定部１０４は、選択された負荷データに基づいて、判定する処理を行う。
なお、本実施形態において、サーバシステム１は、物理サーバ１０および仮想サーバ２０の台数が非常に多く、かつ、負荷データのサイズ（監視対象となる負荷データ件数）が極端に大きいの場合の例について説明する。
【００８１】
具体的には、本実施形態の管理装置４００は、図３または図６の上記実施形態の管理装置２００の生成部２０２または管理装置３００の生成部３０４に替えて、生成部４０６を有するとともに、管理装置２００および管理装置３００と同様な収集部１０２と、判定部１０４と、算出部２０４と、を有し、管理装置３００の決定部３０２に替えて、決定部４０４を有し、さらに、選択部４０２を有する。
【００８２】
選択部４０２は、収集部１０２が収集した負荷データを、単位負荷の範囲に基づいて、グループに分類し、各グループから所定数の負荷データを選択する。後述するように、選択部４０２は、単位時間△Ｔまたは単位時間△Ｔの最小値△Ｔｍｉｎに含まれる物理サーバ１０と仮想サーバ２０の負荷データのペア数が所定のペア数より多い場合に負荷データの選択処理を行うことができる。または、同様な負荷パターンを有するものが所定のデータ数より多い場合に選択処理を行ってもよい。
【００８３】
ここで、単位負荷の範囲とは、たとえば、単位時間当たりの物理サーバ１０の平均負荷、ピーク時の負荷、または負荷の変動幅などの範囲である。選択部４０２は、所定の範囲の平均負荷、ピーク時の負荷、または負荷の変動幅を有する物理サーバ１０をグループに分け、グループの中から代表のサーバを選択する。
【００８４】
決定部４０４は、図６の管理装置３００の決定部３０２と同様に、単位時間内に処理される負荷データが所定数未満含まれるように単位時間の最小値を決定する。
なお、本実施形態の管理装置４００は、決定部４０４を有しているが、必ずしも必要はなく、図３の管理装置２００と同様に、単位時間の最小値を決定する構成は有さなくてもよい。
【００８５】
生成部４０６は、図３の上記実施形態の管理装置２００の生成部２０２と同様に、収集部１０２が各物理サーバ１０から収集した物理サーバ１０および仮想サーバ２０の負荷データから、各物理サーバ１０の識別子（ＰＭ＿ＩＤ）と収集時刻ｔがキーで、負荷データがバリューのペアのデータを生成する。そして、生成部２０２は、分割処理の単位時間△Ｔがキーで、その時間内に含まれる時刻ｔのログをバリューとするペアのデータを生成する。
【００８６】
さらに、生成部４０６は、図６の上記実施形態の管理装置３００の生成部３０４と同様に、生成されたデータのペア数が所定数より多い場合に、単位時間△Ｔの最小値ΔＴｍｉｎがキーで、その時間内に含まれる時刻ｔのログをバリューとするペアのデータを生成する。
生成部４０６によって生成された上記各データは、負荷データ記憶部１２０に記憶することができる。
【００８７】
このように構成された本実施形態のサーバシステム１の管理装置４００の動作について、以下に説明する。
図１０は、本発明の実施の形態に係るサーバシステム１の管理装置４００の動作の例を示すフローチャートである。また、図１１は、サーバシステム１における一連の処理で扱うデータ形式の例を一覧表で示す図である。
なお、本実施形態の管理装置４００は、図４の上記実施形態の管理装置２００の動作を示すフローチャートと同様な手順で処理を行うとともに、図４のステップＳ２０５とステップＳ２０７の間に、図７に示すステップＳ３０１乃至ステップＳ３０７の処理を行い、さらに、図７のステップＳ３０３とステップＳ３０５の間に、図１０のステップＳ４０１乃至ステップＳ４０５の処理を行う。以下、図４、図７、図９乃至図１１を用いて説明する。
【００８８】
上記実施形態の管理装置２００と同様に、管理装置４００の収集部１０２が、通信網３を介して各物理サーバ１０の負荷データを一定間隔で取得し、負荷データ記憶部１２０に記憶する（図４のステップＳ２０１）。この時のデータ形式は図１１の表３のステップＳ２０１のようになる。
【００８９】
管理装置４００の生成部４０６が、負荷データ記憶部１２０を参照し、各負荷データから、各物理サーバ１０の識別子（ＰＭ＿ＩＤ）と収集時刻ｔがキーで、負荷データ（図１１の表３において、「load_info_1(VM_ID+CPU+NW_send+...」と示す）がバリューのペアのデータを生成する（図４のステップＳ２０３）。この時のデータ形式は図１１の表３のステップＳ２０３のようになる。
【００９０】
管理装置４００の生成部４０６が、負荷データ記憶部１２０を参照し、分割処理の単位時間△Ｔがキーで、その時間内に含まれる時刻ｔのログ（図１１の表３において、「load_info_2(PM_ID+t+load_info_1のリスト)」と示す）をバリューとするペアのデータを生成する（図４のステップＳ２０５）。この時のデータ形式は図１１の表３のステップＳ２０５のようになる。そして、管理装置４００は、図７のステップＳ３０１に処理を移行する。
【００９１】
管理装置４００の決定部４０４が、負荷データ記憶部１２０を参照し、ステップＳ２０５で生成されたデータのペア数が所定数より多いか否かを判定する（図７のステップＳ３０１）。そして、データのペア数が多い場合には（図７のステップＳ３０１のＹＥＳ）、管理装置４００の決定部４０４が、負荷データ記憶部１２０を参照し、単位時間内に処理される負荷データが所定数未満含まれるように単位時間△Ｔの最小値ΔＴｍｉｎを決定する（図７のステップＳ３０２）。
【００９２】
そして、管理装置４００の生成部３０４が、負荷データ記憶部１２０を参照し、単位時間△Ｔの最小値ΔＴｍｉｎがキーで、その時間内に含まれる時刻ｔのログ（図１１の表３において、「load_info_3(load_info_2のリスト)」と示す）をバリューとするペアのデータを生成する（図７のステップＳ３０３）。この時のデータ形式は図１１の表３のステップＳ３０３のようになる。そして、管理装置４００は、図１０のステップＳ４０１に処理を移行する。
【００９３】
管理装置４００の選択部４０２が、負荷データ記憶部１２０を参照し、ステップＳ３０３で生成されたΔＴｍｉｎに含まれるデータのペア数が所定数より多いか否かを判定する（図１０のステップＳ４０１）。そして、ΔＴｍｉｎに含まれるデータのペア数が所定数より多い場合には（図１０のステップＳ４０１のＹＥＳ）、単位負荷ΔＬの範囲ごとにデータのペアをグループ化する（図１０のステップＳ４０３）。この時のデータ形式は図１１の表３のステップＳ４０３のようになる。なお、ΔＴｍｉｎに含まれるデータのペア数が所定数より少ない場合には（図１０のステップＳ４０１のＮＯ）、管理装置４００は、図７のフローに戻り、図７のステップＳ３０５の処理を続ける。
【００９４】
そして、管理装置４００の選択部４０２が、負荷データ記憶部１２０を参照し、ΔＬに含まれるデータのペアのうち代表となるｒ個を選択し、ΔＴｍｉｎに含まれるデータのペアを置換する（図１０のステップＳ４０５）。この時のデータ形式は図１１の表３のステップＳ４０５のようになる。そして、管理装置４００は、図７のフローに戻り、図７のステップＳ３０５の処理を続ける。
【００９５】
そして、管理装置４００の判定部１０４が、負荷データ記憶部１２０を参照し、同じΔＴｍｉｎに含まれるログからＰＭ＿ＩＤとＶＭ＿ＩＤのペアのデータを生成して、格納可能性を判定する。そして、管理装置４００の判定部１０４は、その判定結果（図１１の表３において、「result_3(PM_ID,VM_ID,OK/NG)」に相当）を判定結果記憶部１３０に記憶する（図７のステップＳ３０５）。さらに、管理装置４００の算出部２０４が、負荷データ記憶部１２０を参照し、余剰リソース量（図１１の表３において、「result_3(PM_ID,VM_ID,余剰リソース)」に相当）を算出して、判定結果記憶部１３０に記憶する（図７のステップＳ３０７）。この時のデータ形式は図１１の表３のステップＳ３０５およびＳ３０７のようになる。そして、管理装置４００は、図４のフローに戻り、図４のステップＳ２０７の処理を続ける。
【００９６】
管理装置４００の判定部１０４が、判定結果記憶部１３０を参照し、ΔＴに含まれる全てのΔＴｍｉｎに対して、格納可能性を判定する。そして、管理装置４００の判定部１０４は、その判定結果（図８の表２において、「result_3(PM_ID,VM_ID,OK/NG)」に相当）を判定結果記憶部１３０に記憶する（図４のステップＳ２０７）。さらに、管理装置４００の算出部２０４が、判定結果記憶部１３０を参照し、余剰リソース量（図１１の表３において、「result_2(PM_ID,VM_ID,余剰リソース)」に相当）を算出して、判定結果記憶部１３０に記憶する（図４のステップＳ２０９）。この時のデータ形式は図１１の表３のステップＳ２０７およびＳ２０９のようになる。
【００９７】
そして、管理装置４００の判定部１０４が、判定結果記憶部１３０を参照し、タイムスパンＴに含まれる全てのΔＴに対して、格納可能性を判定する。そして、管理装置４００の判定部１０４は、ＰＭ＿ＩＤとＶＭ＿ＩＤのペアのデータに対応する判定結果（図１１の表３において、「result_1(OK/NG)」に相当）を判定結果記憶部１３０に記憶する（図４のステップＳ２１１）。そして、管理装置４００の算出部２０４が、判定結果記憶部１３０を参照し、ＰＭ＿ＩＤとＶＭ＿ＩＤのペアのデータに対応する物理サーバ１０の余剰リソース（図１１の表３において、「result_1(余剰リソース)」に相当）を算出して、判定結果記憶部１３０に記憶する（図４のステップＳ２１３）。この時のデータ形式は図１１の表３のステップＳ２１１およびＳ２１３のようになる。
【００９８】
このようにして判定結果記憶部１３０に記憶された各物理サーバ１０で仮想サーバ２０を稼働させた場合の格納可能性の判定結果は、上記実施形態と同様に、オペレータからの検索要求を受け付けて検索結果をオペレータに提示することができる。
これにより、仮想サーバ２０の移動先に適した物理サーバ１０の選択をオペレータに短時間で判断させることが可能になる。また、余剰リソース量を比較できるように提示することにより、無駄の少ない物理サーバ１０の選択をオペレータに判断させることが可能になる。
【００９９】
本実施形態のサーバシステム１によれば、上記実施形態と同様な効果を奏するとともに、物理サーバ１０や仮想サーバ２０の負荷データを分割処理の単位時間の最小値△Ｔｍｉｎごとに分割し、さらに単位負荷△Ｌの範囲ごとに代表値を絞り込んで格納可能性の判定処理を実行することにより、より粒度が小さくかつ組合せの少ない並列分散処理が可能となる。そのため、本発明によれば、データ量が極端に大きくなった場合でも短時間で仮想サーバ２０の移動先に適した物理サーバ１０の選択ができ、仮想サーバ２０のキャパシティ不足や物理サーバ１０の無駄な空きリソースの発生を回避することができる。
【０１００】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
たとえば、本発明の他の実施形態のサーバシステム１において、管理装置の判定部における格納可能性の判定処理は、以下の判定を行う構成としてもよい。第１の判定方法は、安全性を重視した方法であり、空きリソース容量が全期間にわたり要求されたリソース量を満たしているかを判定する。オンライン処理向けの判定方法である。第２の判定方法は、空きリソース容量の平均が要求されたリソース量を満たしているかを判定する。この第２の判定方法では、一時的にリソース容量が上限に達してもよく、所定期間内（一周期以内）（たとえば、２４時間以内）に処理が終了できればよいシステムに適した方法であり、バッチ処理向けの判定方法である。
これら２つの判定方法は、オペレータのニーズに応じて、いずれかを選択して行ってもよいし、両方行ってもよい。
【０１０１】
すなわち、上記第１の判定方法によれば、他の実施形態のサーバシステム１において、管理装置の判定部は、判定する処理において、空きリソース容量が、負荷データの負荷のピークが周期的に現れる所定期間にわたり、要求条件を満たしているか否かを判定する。この要求条件を満たしていれば、判定部は、格納可能性があると判定することができる。
【０１０２】
また、上記第２の判定方法によれば、他の実施形態のサーバシステム１において、管理装置の判定部は、判定する処理において、負荷データの負荷のピークが周期的に現れる所定期間内の空きリソース容量の平均値が、平均値の要求条件を満たしているか否かを判定する。この要求条件を満たしていれば、判定部は、格納可能性があると判定することができる。
【０１０３】
また、他の実施形態のサーバシステム１において、管理装置は、算出された余剰リソース量をユーザに提示するリソース提示部（不図示）をさらに備えることができる。さらに、管理装置の判定部による判定結果をユーザに提示する判定結果提示部（不図示）をさらに備えてもよい。
【０１０４】
図１２は、本発明の実施の形態に係るサーバシステム１のリソース提示部によって表示装置（不図示）に表示される画面の一例を示す図である。
同図に示すように、画面５００は、仮想サーバ５１２（ＶＭ）と移動先物理サーバ５１４（ＰＭ）のペアのデータに対するＣＰＵ、メモリ、またはネットワークなどの余剰リソース５１６をリスト５０２として含む。リスト５０２において、リソース選択リスト５１８によってＣＰＵ、メモリ、またはネットワークの中からオペレータが操作部（不図示）を用いて選択したリソースの余剰リソース量の少ない順にソートすることができる。このリスト５０２をオペレータが参照することで、仮想サーバを移動したときの物理サーバの余剰リソース量を比較できる。
【０１０５】
なお、この例では、リスト５０２には、格納可能性の判定で、「ＯＫ」と判定されたもののみを含んでいるものとする。他の例では、すべての物理サーバ１０と仮想サーバ２０のペアの一覧を含むこともでき、その場合、格納可能性の判定結果を示す情報（「ＯＫ」または「ＮＧ」など）をリスト５０２に表示するのが望ましい。
【０１０６】
また、リスト５０２には、仮想サーバ５１２と移動先物理サーバ５１４のペアごとに、仮想サーバ５１２を移動先物理サーバ５１４に移動する指示を受け付ける移動ボタン５２０を設けてもよい。オペレータは、リスト５０２を参照し、物理サーバ１０と仮想サーバ２０のペアを移動ボタン５２０で選択することができ、さらに、マイグレーションの実行指示をＯＫボタン５２２で受け付けることができる。オペレータがＯＫボタン５２２を操作することで、リスト５０２の中で移動ボタン５２０で選択された物理サーバ１０と仮想サーバ２０のペアについて、移動先物理サーバ５１４に仮想サーバ５１２をマイグレーションする指示として受け付けることができる。また、リスト５０２を参照して、マイグレーションを行う必要がないとオペレータが判断した場合には、キャンセルボタン５２４を操作することで、画面５００を閉じたり、移動ボタン５２０による選択をキャンセルしたりしてもよい。
【０１０７】
管理装置１００は、仮想サーバを物理サーバにマイグレーションする指示を受け付けたとき、受け付けた仮想サーバを受け付けた物理サーバにマイグレーションする移動部をさらに備えてもよい。あるいは、他の管理装置または物理サーバにマイグレーションを指示してもよい。
【０１０８】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１０９】
本発明は、以下の態様も含むことができる。
（付記１）
複数の仮想サーバが稼動する複数の物理サーバに通信網で接続され、
前記物理サーバにおいて、前記仮想サーバを稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う判定手段を備え、
さらに、所定の処理が実行されている、複数の前記仮想サーバおよび複数の前記物理サーバの負荷データを前記通信網を介して収集する収集手段を備え、
前記判定手段は、前記収集手段が収集した前記負荷データに基づいて、前記判定する処理を行う管理装置。
【０１１０】
（付記２）
（付記１）に記載の管理装置において、
前記単位時間内に処理される前記負荷データが所定数未満含まれるように前記単位時間の最小値を決定する決定手段をさらに備え、
前記判定手段は、決定された前記最小値に前記単位時間を分割し、前記最小値の前記単位時間で前記判定する処理を行う管理装置。
【０１１１】
（付記３）
（付記１）または（付記２）に記載の管理装置において、
前記収集手段が収集した前記負荷データを、単位負荷の範囲に基づいて、グループに分類し、各前記グループから所定数の負荷データを選択する選択手段をさらに備え、
前記判定手段は、選択された前記負荷データに基づいて、前記判定する処理を行う管理装置。
【０１１２】
（付記４）
（付記１）乃至（付記３）いずれかに記載の管理装置において、
前記管理装置の前記判定手段は、前記判定する処理において、前記空きリソース容量が、前記負荷データの負荷のピークが周期的に現れる所定期間にわたり、要求条件を満たしているか否かを判定する管理装置。
【０１１３】
（付記５）
（付記１）乃至（付記４）いずれかに記載の管理装置において、
前記管理装置の前記判定手段は、前記判定する処理において、前記負荷データの負荷のピークが周期的に現れる所定期間内の前記空きリソース容量の平均値が、平均値の要求条件を満たしているか否かを判定する管理装置。
【０１１４】
（付記６）
（付記１）乃至（付記５）いずれかに記載の管理装置において、
前記管理装置は、
前記負荷データに基づいて、前記物理サーバの余剰リソース量を算出する算出手段と、
算出された前記余剰リソース量をユーザに提示するリソース提示手段と、
をさらに備える管理装置。
【０１１５】
（付記７）
（付記１）乃至（付記６）いずれかに記載の管理装置において、
前記管理装置の前記判定手段による判定結果をユーザに提示する判定結果提示手段をさらに備える管理装置。
【０１１６】
（付記８）
複数の仮想サーバが稼動する複数の物理サーバに通信網で接続され、前記物理サーバ上で稼働する前記仮想サーバを管理する管理装置が、
前記物理サーバにおいて、前記仮想サーバを稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行い、
さらに、所定の処理が実行されている、複数の前記仮想サーバおよび複数の前記物理サーバの負荷データを前記通信網を介して収集し、
収集した前記負荷データに基づいて、前記判定する処理を行うサーバ管理方法。
【０１１７】
（付記９）
（付記８）に記載のサーバ管理方法において、
前記管理装置が、
前記単位時間内に処理される前記負荷データが所定数未満含まれるように前記単位時間の最小値を決定し、
決定された前記最小値に前記単位時間を分割し、前記最小値の前記単位時間で前記判定する処理を行うサーバ管理方法。
【０１１８】
（付記１０）
（付記８）または（付記９）に記載のサーバ管理方法において、
前記管理装置が、
収集した前記負荷データ、単位負荷の範囲に基づいて、グループに分類し、各前記グループから所定数の負荷データを選択し、
選択された前記負荷データに基づいて、前記判定する処理を行うサーバ管理方法。
【０１１９】
（付記１１）
（付記８）乃至（付記１０）いずれかに記載のサーバ管理方法において、
前記管理装置が、
前記判定する処理において、前記空きリソース容量が、前記負荷データの負荷のピークが周期的に現れる所定期間にわたり、要求条件を満たしているか否かを判定するサーバ管理方法。
【０１２０】
（付記１２）
（付記８）乃至（付記１１）いずれかに記載のサーバ管理方法において、
前記管理装置が、
前記判定する処理において、前記負荷データの負荷のピークが周期的に現れる所定期間内の前記空きリソース容量の平均値が、平均値の要求条件を満たしているか否かを判定するサーバ管理方法。
【０１２１】
（付記１３）
（付記８）乃至（付記１２）いずれかに記載のサーバ管理方法において、
前記管理装置が、
前記負荷データに基づいて、前記物理サーバの余剰リソース量を算出し、
算出された前記余剰リソース量をユーザに提示するサーバ管理方法。
【０１２２】
（付記１４）
（付記８）乃至（付記１３）いずれかに記載のサーバ管理方法において、
前記管理装置が、前記判定結果をユーザに提示するサーバ管理方法。
【０１２３】
（付記１５）
複数の仮想サーバが稼動する複数の物理サーバと、
複数の前記物理サーバに通信網で接続され、前記物理サーバ上で稼働する前記仮想サーバを管理する管理装置と、を備え、
前記管理装置は、
前記物理サーバにおいて、前記仮想サーバを稼働させたときの空きリソース容量が所定の条件を満たすか否かを判定する処理を、所定の単位時間ごとに分割し、並列分散処理によって行う判定手段を備え、
前記管理装置の前記判定手段による判定結果をユーザに提示する判定結果提示手段をさらに備えるサーバシステム。
【０１２４】
この出願は、２０１０年１０月７日に出願された日本出願特願２０１０−２２７８２４号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2012046386.tif 000003
【図２】
2012046386.tif 000004
【図３】
2012046386.tif 000005
【図４】
2012046386.tif 000006
【図５】
2012046386.tif 000007
【図６】
2012046386.tif 000008
【図７】
2012046386.tif 000009
【図８】
2012046386.tif 000010
【図９】
2012046386.tif 000011
【図１０】
2012046386.tif 000012
【図１１】
2012046386.tif 000013
【図１２】
2012046386.tif 000014
【図１３】
2012046386.tif 000015
【国際調査報告】
2012046386.tif 000016
2012046386.tif 000017
2012046386.tif 000018