(57)【要約】仮想マシン管理装置は、複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出する負荷算出部と、この負荷算出部により算出された総リソース負荷の変化傾向を決定する傾向決定部と、当該複数の仮想マシンに関しクライアント装置との接続状況を収集することにより、当該複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定する接続状況管理部と、上記総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替える配置決定部と、を備える。
2013102975.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出する負荷算出部と、
前記負荷算出部により算出された前記総リソース負荷の変化傾向を決定する傾向決定部と、
前記複数の仮想マシンに関しクライアント装置との接続状況を収集することにより、前記複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定する接続状況管理部と、
前記総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替える配置決定部と、
を備える仮想マシン管理装置。
【請求項２】
前記配置決定部は、前記総リソース負荷の変化傾向が増加傾向を示す場合には、前記未接続状態の仮想マシンが分散して各サーバ装置上で稼働するように、前記配置パターンを決定し、前記総リソース負荷の変化傾向が減少傾向を示す場合には、前記未接続状態の仮想マシンが稼働するサーバ装置の数が減少するように、前記配置パターンを決定する、請求項１に記載の仮想マシン管理装置。
【請求項３】
前記未接続状態の仮想マシンが接続状態に遷移する確率を遷移確率として取得する確率取得部と、
前記複数のサーバ装置の空きリソース量を収集するリソース管理部と、
を更に備え、
前記配置決定部は、前記総リソース負荷の変化傾向が増加傾向を示す場合には、第１決定処理を実行し、
前記第１決定処理は、
接続状態の１仮想マシン当たりのリソース負荷を算出し、
或るサーバ装置の空きリソース量で満足させ得る、接続状態の仮想マシンの数を追加可能数として算出し、
前記遷移確率で未接続状態の仮想マシンが接続状態に変わると仮定した場合の、前記追加可能数の接続状態の仮想マシンが生じるための、未接続状態の仮想マシンの数を制限数として算出し、
前記制限数と前記或るサーバ装置上で稼働されている未接続状態の仮想マシンの数とに基づいて、他のサーバ装置へ移動させる未接続状態の仮想マシンの数を決定し、
前記他のサーバ装置に関する前記制限数を算出し、
前記他のサーバ装置の前記制限数に応じて、前記或るサーバ装置から前記他のサーバ装置へ移動させる未接続状態の仮想マシンを特定する、
ことを含む、
請求項１又は２に記載の仮想マシン管理装置。
【請求項４】
前記未接続状態の仮想マシンが接続状態に遷移する確率を遷移確率として取得する確率取得部と、
前記複数のサーバ装置の空きリソース量を収集するリソース管理部と、
を更に備え、
前記配置決定部は、前記総リソース負荷の変化傾向が減少傾向を示す場合には、第２決定処理を実行し、
前記第２決定処理は、
接続状態の１仮想マシン当たりのリソース負荷を算出し、
或るサーバ装置の空きリソース量で満足させ得る、接続状態の仮想マシンの数を追加可能数として算出し、
前記遷移確率で未接続状態の仮想マシンが接続状態に変わると仮定した場合の、前記追加可能数の接続状態の仮想マシンが生じるための、未接続状態の仮想マシンの数を制限数として算出し、
前記制限数から、前記或るサーバ装置上で稼働されている未接続状態の仮想マシンの数を減じた数に基づいて、他のサーバ装置から受け入れ可能な未接続状態の仮想マシンの数を受入可能数として決定し、
稼働している接続状態の仮想マシンの数が少ないサーバ装置から優先的に、前記受入可能数以下の未接続状態の仮想マシンを前記或るサーバ装置に移動させる対象に決定する、
ことを含む請求項１から３のいずれか１項に記載の仮想マシン管理装置。
【請求項５】
前記配置決定部により決定された前記配置パターンに基づいて、前記未接続状態の仮想マシンを移動先となるサーバ装置に移動させる移動処理部、
を更に備え、
前記リソース管理部は、前記移動処理部が前記未接続状態の仮想マシンを移動させたことにより、稼働する仮想マシンがなくなったサーバ装置の消費電力を低減させる、
請求項１から４のいずれか１項に記載の仮想マシン管理装置。
【請求項６】
少なくとも１つのコンピュータが、
複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出し、
算出された前記総リソース負荷の変化傾向を決定し、
前記複数の仮想マシンに関しクライアント装置との接続状況を収集することにより、前記複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定し、
前記総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替える、
ことを含む仮想マシン管理方法。
【請求項７】
少なくとも１つのコンピュータに、
複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出する負荷算出部と、
前記負荷算出部により算出された前記総リソース負荷の変化傾向を決定する傾向決定部と、
前記複数の仮想マシンに関しクライアント装置との接続状況を収集することにより、前記複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定する接続状況管理部と、
前記総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替える配置決定部と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンの管理技術に関する。
【背景技術】
【０００２】
Ｘｅｎ（登録商標）やＫＶＭ（Kernel-based Virtual Machine；登録商標）のような仮想化ソフトを用いた仮想化技術によれば、１台のサーバ上で複数の仮想マシンを稼働させることができ、更に、各仮想マシンをサーバ間で移動させることも可能である。これに伴い、仮想マシンが利用するリソース量をサーバが過不足なく提供し、かつ、サーバのリソース負荷が許容量を超えないように管理する技術が重要となってきている。【０００３】
一般的には、仮想マシンをサーバ間で移動させることにより、サーバ間でリソース負荷を分散させる手法が採られる。下記特許文献１には、複数の仮想サーバに関し、移行先サーバ、移行先サーバの必要台数、資源割当量等を決定するパッキングアルゴリズムにより、好適なサーバ移行計画を機械的に作成する手法が提案されている。【０００４】
一方で、データセンタにおけるサーバ台数の増加や、サーバ上で稼働させる仮想マシン数の増加に伴い、データセンタの消費電力の増大が問題となっている。よって、データセンタの消費電力を低減する技術の開発も求められている。下記特許文献２及び３には、仮想サーバを移行させて、稼働中の仮想サーバがなくなった物理サーバを停止させることで、消費電力を削減する手法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２１０００１号公報
【特許文献２】特開２００９−１６９８５８号公報
【特許文献３】特開２０１１−９０５９４号公報
【発明の概要】
【０００６】
しかしながら、上述のような提案手法は、管理対象となる仮想マシンに対して所定のサービスレベルを要求するサービスにそのまま適用することはできない。サービスレベルとして、例えば、所望の応答性能やサービスが途切れないようにすること等が要求される。そのようなサービス例として、シンクライアントシステムが挙げられる。シンクライアントシステムでは、仮想マシンとシンクライアントのユーザ端末とがネットワークを介して接続され、ユーザ端末からの処理要求が仮想マシン上で処理される。このシステムでは、ユーザがシンクライアント端末を介して仮想マシンを操作するため、仮想マシンの動作には所定のサービスレベルが要求される。
【０００７】
仮想マシンをサーバ間で移動させると、ダウンタイムと呼ばれるサービスが一瞬途切れる時間が発生する。そのため、所定のサービスレベルが要求されている仮想マシンについては、できるだけサーバ間で移動させない方がよい。併せて、サーバのリソースに過剰な空きが生じたり、又は、サーバのリソースが不足したりといった事態を防ぐことも望まれる。
【０００８】
本発明は、このような課題に鑑みてなされたものであり、仮想マシンに要求されるサービスレベルを満足しつつ、サーバ装置のリソースを有効活用し得る、仮想マシンの管理技術を提供する。
【０００９】
本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。
【００１０】
第１の態様は、仮想マシン管理装置に関する。第１態様に係る仮想マシン管理装置は、複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出する負荷算出部と、この負荷算出部により算出された総リソース負荷の変化傾向を決定する傾向決定部と、当該複数の仮想マシンに関しクライアント装置との接続状況を収集することにより、当該複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定する接続状況管理部と、上記総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替える配置決定部と、を備える。
【００１１】
第２の態様は、仮想マシン管理方法に関する。第２態様に係る仮想マシン管理方法は、少なくとも１つのコンピュータが、複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出し、算出された総リソース負荷の変化傾向を決定し、当該複数の仮想マシンに関しクライアント装置との接続状況を収集することにより、当該複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定し、上記総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替えることを含む。
【００１２】
なお、本発明の他の態様としては、上記第１態様に含まれる各構成を少なくとも１つのコンピュータに実現させるコンピュータプログラムであってもよいし、このようなプログラムを格納するコンピュータが読み取り可能な記憶媒体であってもよい。この記憶媒体は、非一時的な有形の媒体を含む。
【００１３】
上記各態様によれば、仮想マシンに要求されるサービスレベルを満足しつつ、サーバ装置のリソースを有効活用し得る、仮想マシンの管理技術を提供することができる。
【図面の簡単な説明】
【００１４】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１５】
【図１】図１は、第１実施形態における仮想マシン管理システムの構成例を概念的に示す図である。
【図２】図２は、第１実施形態における仮想マシン管理装置の構成例を概念的に示す図である。
【図３】図３は、第１実施形態における仮想マシン管理装置の動作例を示すフローチャートである。
【図４】図４は、増加傾向時の配置パターン決定方法を示すフローチャートである。
【図５】図５は、増加傾向時の配置パターン決定方法を示すフローチャートである。
【図６】図６は、減少傾向時の配置パターン決定方法を示すフローチャートである。
【図７】図７は、減少傾向時の配置パターン決定方法を示すフローチャートである。
【図８Ａ】図８Ａは、増加傾向時の配置パターン決定過程を概念的に示す図である。
【図８Ｂ】図８Ｂは、増加傾向時の配置パターン決定過程を概念的に示す図である。
【図９Ａ】図９Ａは、減少傾向時の配置パターン決定過程を概念的に示す図である。
【図９Ｂ】図９Ｂは、減少傾向時の配置パターン決定過程を概念的に示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について説明する。なお、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
【００１７】
本実施形態に係る仮想マシン管理装置は、複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出する負荷算出部と、この負荷算出部により算出された総リソース負荷の変化傾向を決定する傾向決定部と、複数の仮想マシンに関しクライアント装置との接続状況を収集することにより、当該複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定する接続状況管理部と、総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替える配置決定部と、を備える。
【００１８】
本実施形態に係る仮想マシン管理方法は、少なくとも１台のコンピュータが、複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出し、算出された総リソース負荷の変化傾向を決定し、複数の仮想マシンに関しクライアント装置との接続状況を収集することにより、当該複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定し、総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替えることを含む。
【００１９】
本実施形態では、クライアント装置との接続状況に応じて、クライアント装置と接続が確立されていない未接続状態の仮想マシンが特定され、複数の仮想マシンの総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法が切り替えられる。なお、クライアント装置と仮想マシンとの接続とは、ＴＣＰ（Transmission Control Protocol）コネクション等のような通信で論理的に確立される通信路を意味する。
【００２０】
このように、本実施形態によれば、クライアント装置と接続が確立されていない仮想マシンを優先的に移動させることが決定される。接続が確立されていない仮想マシンは、言い換えれば、所定のサービスレベルを要求されていない仮想マシンである。よって、本実施形態によれば、仮想マシンの配置を、仮想マシンが要求するリソースを各サーバ装置が確実に確保することができるような配置に決定することができる。また、このように決定された仮想マシンの配置によれば、仮想マシンの移動により、仮想マシンに要求されるサービスレベルが保てないといった問題点も解消することができる。
【００２１】
また、本実施形態では、仮想マシンの総リソース負荷の変化傾向に応じて配置パターンの決定方法が切り替えられるため、移動対象となる未接続状態の仮想マシンとその移動先となるサーバ装置とを状況に応じて適切に決定することができる。この適切に決定することには、例えば、仮想マシンが要求するリソースをサーバが過不足なく提供し得るように決定すること、稼働しているサーバ数が低減されるように決定すること等が含まれる。
【００２２】
以下、上述の実施形態について更に詳細を説明する。
［第１実施形態］
〔システム構成〕
図１は、第１実施形態における仮想マシン管理システムの構成例を概念的に示す図である。仮想マシン管理システム１は、図１に示すように、仮想マシン管理装置１０、管理対象である仮想マシンが動作可能な複数のサーバ装置２０（＃１）、（＃２）、（＃ｎ）等を有する。なお、以降、仮想マシン管理システム１は省略形で管理システム１と表記され、仮想マシン管理装置１０は省略形で管理装置１０と表記される。また、各サーバ装置２０（＃１）、（＃２）、（＃ｎ）についての説明は、個々に区別して説明する必要がある場合を除いて、１つのサーバ装置２０として述べる。また、本実施形態は、サーバ装置２０の数を限定しない。
【００２３】
管理装置１０と各サーバ装置２０とは通信網３により通信可能に接続される。また、各サーバ装置２０は、通信網２を介してユーザ端末３０と通信可能に接続される。通信網２及び３は、インターネット等のような公衆網、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、無線通信ネットワーク等である。なお、本実施形態では、通信網２及び３の具体的実現手法、及び、その上でやりとりされる通信形態は限定されない。
【００２４】
ユーザ端末３０は、ＰＣ（Personal Computer）、携帯電話、携帯ＰＣ等のような一般的なユーザ端末である。例えば、管理システム１を利用するユーザは、ユーザ端末３０を用いて、通信網２を介して管理システム１にアクセスすることにより、サーバ装置２０上で稼働される仮想マシンを操作する。ユーザ端末３０は、管理システム１と通信する機能、管理システム１から提供されるデータに基づいて画面を表示しかつユーザ操作を受け付けるユーザインタフェース機能等の一般的な機能を有していればよい。本実施形態は、ユーザ端末３０のハードウェア構成及びソフトウェア構成を制限しないし、管理システム１にアクセスするユーザ端末３０の数も制限しない。
【００２５】
管理装置１０は、いわゆるコンピュータであり、例えば、バス９で相互に接続される、ＣＰＵ（Central Processing Unit）５、メモリ６、入出力インタフェース（Ｉ／Ｆ）７等を有する。メモリ６は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスク、可搬型記憶媒体等である。入出力Ｉ／Ｆ７は、通信網３を介して各サーバ装置２０と通信を行う通信装置等と接続される。入出力Ｉ／Ｆ７は、表示装置や入力装置等のようなユーザインタフェース装置と接続されてもよい。本実施形態は、管理装置１０のハードウェア構成を限定しない。
【００２６】
管理装置１０は、複数のサーバ装置２０上で稼働される複数の仮想マシンを管理し、各仮想マシンに要求されるサービスレベルを満足しつつ、各サーバ装置２０のリソースを有効活用し得るように、各仮想マシンの配置を決定する。
【００２７】
各サーバ装置２０は、いわゆるコンピュータであり、例えば、バス９で相互に接続される、ＣＰＵ５、メモリ６、入出力Ｉ／Ｆ７等を有する。各サーバ装置２０は、複数の仮想マシンを動作させ得るハードウェア構成をそれぞれ有していればよく、各々同一のハードウェア構成を有する必要はない。本実施形態は、各サーバ装置２０のハードウェア構成を限定しない。
【００２８】
各サーバ装置２０は、上述のようなハードウェア構成により実現される各種リソースを提供することにより、複数の仮想マシン（図２に示される符号２５）を稼働させる。各サーバ装置２０には、複数の仮想マシン２５を稼働させ得るリソースが予め確保されている。また、各サーバ装置２０は、自身の起動時に起動させるべき仮想マシンが定義された初期設定情報を持つようにしてもよい。
【００２９】
〔装置構成〕
図２は、第１実施形態における管理装置１０の構成例を概念的に示す図である。管理装置１０は、リソース負荷取得部１１、総リソース負荷算出部１２、傾向決定部１３、確率取得部１４、接続状況管理部１５、配置決定部１６、リソース管理部１７、仮想マシン管理テーブル１８、移動処理部１９等を有する。管理装置１０は、例えば、メモリ６に格納されたプログラムがＣＰＵ５により実行されることにより上述のような各処理部をそれぞれ実現する。当該プログラムは、例えば、ＣＤ（Compact Disc）、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力Ｉ／Ｆ７を介してインストールされ、メモリ６に格納される。なお、図２には、サーバ装置（＃１）２０のみに仮想マシン２５が示されているが、他のサーバ装置２０にも同様に仮想マシン２５が稼働される。
【００３０】
移動処理部１９は、配置決定部１６により決定される後述の配置パターンに基づいて、未接続状態の仮想マシンをサーバ装置２０間で移動させる。なお、仮想マシン２５の具体的移動処理については、ＶＭｗａｒｅ社により提供されるＶＭｏｔｉｏｎ等のような周知技術が利用されればよいため、ここでは説明を省略する。
【００３１】
リソース管理部１７は、各サーバ装置２０の総リソース量及び空きリソース量を各サーバ装置２０からそれぞれ逐次収集する。空きリソース量とは、サーバ装置２０において、稼働されていない仮想マシン２５に新たに割り当てることができるリソース量を意味する。リソース管理部１７による収集は、所定の周期で実行されてもよいし、他の処理部からの指示の受信を契機に実行されてもよい。但し、配置決定部１６の配置パターン決定処理において、それらの最新の情報が利用されることが望ましいため、当該配置パターン決定処理の実行タイミングに合わせて、当該収集処理が実行されることが望ましい。
【００３２】
更に、リソース管理部１７は、移動処理部１９が未接続状態の仮想マシンを移動させたことにより、稼働する仮想マシンがなくなったサーバ装置２０の消費電力を低減させる。消費電力の低減処理として、リソース管理部１７は、例えば、そのサーバ装置２０の電源を停止させる。なお、消費電力の低減処理は、このような処理に制限されず、消費電力モードを持つサーバ装置２０に対してはそのモードへの移行を指示する処理であってもよい。
【００３３】
仮想マシン管理テーブル１８は、各サーバ装置２０に関し、そのサーバ装置２０上で稼働されている仮想マシン２５のリストをそれぞれ格納する。各サーバ装置２０及び各仮想マシン２５は、例えば、サーバＩＤ及び仮想マシンＩＤにより特定される。これらの情報は、仮想マシン２５が起動されたタイミング、仮想マシン２５がサーバ装置２０間を移動したタイミング、及び、仮想マシン２５が停止されたタイミングで、各サーバ装置２０から通知されてもよいし、所定の周期で仮想マシン管理装置１０により収集されてもよい。
【００３４】
リソース負荷取得部１１は、各仮想マシン２５が各サーバ装置２０に対して要求しているリソース負荷に関する情報を逐次取得する。リソース負荷取得部１１により取得されたリソース負荷情報はリアルタイムの情報となる。リソース負荷取得部１１は、各サーバ装置２０又は各仮想マシン２５に対して要求することにより、当該情報を取得する。なお、リソース負荷取得部１１による取得タイミングは、所定の周期で実行されてもよいし、他の処理部からの指示の受信を契機に実行されてもよい。但し、配置決定部１６の配置パターン決定処理において、それらの最新の情報が利用されることが望ましいため、当該配置パターン決定処理の実行タイミングに合わせて、当該取得処理が実行されることが望ましい。
【００３５】
また、リソース負荷とは、各仮想マシン２５のために確保されている各サーバ装置２０のリソースの量を示す。これにより、リソース負荷情報には、リソース種毎のリソース量の情報が含まれていてもよいし、リソース種毎のリソース量を合計した量を示す値が含まれていてもよいし、特定されたリソース種のみのリソース量の情報が含まれていてもよい。例えば、リソース負荷情報には、ＣＰＵリソースのリソース量としてＣＰＵ使用率３％を示すデータが設定され、メモリリソースのリソース量として２００メガバイト（ＭＢ）を示すデータが設定され、通信リソースのリソース量として１００メガｂｐｓ（bits per second）を示すデータが設定される。なお、本実施形態は、このリソース種を制限しない。
【００３６】
総リソース負荷算出部１２は、リソース負荷取得部１１により取得された、各仮想マシン２５のリソース負荷情報から、全ての仮想マシン２５が各サーバ装置２０に対して要求している総リソース負荷を算出する。この総リソース負荷は、例えば、リソース種毎にリソース量が合計されることにより算出される。
【００３７】
傾向決定部１３は、総リソース負荷算出部１２により算出された総リソース負荷の変化傾向を決定する。各仮想マシンのリソース負荷は時間と共に変動する。例えば、各ユーザが集中して各仮想マシンを利用する時間帯や殆ど利用されない時間帯が存在する。傾向決定部１３により決定される変化傾向は、このような各仮想マシンのリソース負荷の時間変動が反映される。
【００３８】
傾向決定部１３は、当該変化傾向として、増加傾向、減少傾向、及び平衡傾向のいずれか１つを決定する。傾向決定部１３は、以前に算出された総リソース負荷値の時系列データと今回算出された総リソース負荷値との関係から、今回算出された総リソース負荷の所定時間範囲における時間軸に対する傾きを算出し、この傾きの値と所定第１閾値（増加判定用）又は所定第２閾値（減少判定用）とを比較することにより、変化傾向を決定する。傾きの絶対値が所定第１閾値よりも大きく、かつ、傾きが正の値を示す場合には、変化傾向が増加傾向に決定され、傾きの絶対値が所定第２閾値よりも大きく、かつ、傾きが負の値を示す場合には、変化傾向が減少傾向に決定され、それ以外の場合に、変化傾向が平衡傾向に決定される。所定第１閾値及び所定第２閾値は、同じ値であってもよい。なお、変化傾向の決定手法については、上述のような手法に限定されず、周知技術が利用されればよい。
【００３９】
接続状況管理部１５は、各仮想マシン２５に関しユーザ端末３０との接続状況を逐次収集することにより、各仮想マシン２５を、ユーザ端末３０と接続が確立されている接続状態の仮想マシンと、ユーザ端末３０と接続が確立されていない未接続状態の仮想マシンとに区分けする。当該接続状況は、各仮想マシン２５又は各サーバ装置２０から収集される。接続状況管理部１５は、区分け情報を仮想マシン管理テーブル１８に格納してもよい。当該接続状況の収集タイミングは、所定の周期であってもよいし、他の処理部からの指示の受信を契機に実行されてもよい。但し、配置決定部１６の配置パターン決定処理において、それらの最新の情報が利用されることが望ましいため、当該配置パターン決定処理の実行タイミングに合わせて、当該収集処理が実行されることが望ましい。
【００４０】
確率取得部１４は、所定単位時間あたりに未接続状態の仮想マシンに接続が確立される確率を遷移確率として取得する。言い換えれば、確率取得部１４は、所定単位時間あたりに未接続状態の仮想マシンが接続状態に遷移する確率を取得する。例えば、確率取得部１４は、所定単位時間前の各仮想マシンの区分け情報と最新の各仮想マシンの区分け情報とに基づいて状態遷移速度を求め、この状態遷移速度を現時点の未接続状態の仮想マシンの数で除算することにより、当該遷移確率を取得する。
【００４１】
配置決定部１６は、傾向決定部１３により決定された総リソース負荷の変化傾向に応じた決定処理により、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置２０とからなる配置パターンを決定する。例えば、この配置パターンは、移動対象となる少なくとも１つの未接続状態の仮想マシンの識別情報とその仮想マシンの移動先となるサーバ装置２０の識別情報とを各レコードに含むデータとして生成される。
【００４２】
配置決定部１６は、当該変化傾向が増加傾向を示す場合には、未接続状態の仮想マシンが分散して各サーバ装置２０で稼働するように、当該配置パターンを決定する。配置決定部１６は、当該変化傾向が減少傾向を示す場合には、管理システム１において、未接続状態の仮想マシンが稼働するサーバ装置２０の数が減少するように、当該配置パターンを決定する。また、配置決定部１６は、当該変化傾向が平衡傾向を示す場合には、仮想マシンの移動を決定しない。
【００４３】
このように、配置決定部１６は、総リソース負荷の変化傾向に応じた、増加傾向時の決定処理（第１決定処理に対応）、減少傾向時の決定処理（第２決定処理に対応）、平衡傾向時の決定処理のいずれか１つを実行することにより、当該配置パターンを決定する。増加傾向時の決定処理及び減少傾向時の決定処理は、図４、図５及び図６で示される増加傾向時の決定方法及び減少傾向時の決定方法に対応する。また、平衡傾向時の決定処理では、仮想マシンの移動が決定されない。
【００４４】
〔動作例〕
以下、第１実施形態における仮想マシン管理方法について図３を用いて説明する。図３は、第１実施形態における管理装置１０の動作例を示すフローチャートである。
【００４５】
管理装置１０は、各サーバ装置２０又は各仮想マシン２５から、各仮想マシン２５のリソース負荷情報をそれぞれ取得する（Ｓ３１）。管理装置１０は、その取得されたリソース負荷情報から、対象の仮想マシン２５が各サーバ装置２０に要求しているリソース負荷の合計、即ち、総リソース負荷を算出する（Ｓ３２）。
【００４６】
続いて、管理装置１０は、今回算出された総リソース負荷と、以前に算出された総リソース負荷とに基づいて、現在の総リソース負荷の変化傾向を決定する（Ｓ３３）。ここでは、変化傾向として、増加傾向、減少傾向、平衡傾向のいずれか１つが特定される。
【００４７】
管理装置１０は、変化傾向が増加傾向を示す場合には（Ｓ３４；ＹＥＳ）、増加傾向時の決定方法により、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置２０とからなる配置パターンを決定する（Ｓ３５）。より具体的には、管理装置１０は、増加傾向時には、未接続状態の仮想マシンが分散して各サーバ装置上で稼働するように配置パターンを決定する。
【００４８】
管理装置１０は、変化傾向が減少傾向を示す場合には（Ｓ３４；ＮＯかつＳ３６；ＹＥＳ）、減少傾向時の決定方法により当該配置パターンを決定する（Ｓ３７）。より具体的には、管理装置１０は、減少傾向時には、管理システム１において、未接続状態の仮想マシンが稼働するサーバ装置２０の数が減少するように、当該配置パターンを決定する。
【００４９】
なお、管理装置１０は、変化傾向が平衡傾向を示す場合には（Ｓ３４；ＮＯかつＳ３６；ＮＯ）、仮想マシンの移動を決定しない。
【００５０】
管理装置１０は、上述のように決定された配置パターンに基づいて、未接続状態の仮想マシンを移動先のサーバ装置２０に移動させる（Ｓ３８）。管理装置１０は、この仮想マシンの移動により、稼働されている仮想マシン２５が存在しなくなったサーバ装置２０の消費電力を低減させる（Ｓ３９）。
【００５１】
図４及び図５は、増加傾向時の配置パターン決定方法を示すフローチャートである。以下、図４及び図５を用いて、図３における上述の（Ｓ３５）で実行される増加傾向時の配置パターン決定方法について詳細に説明する。
【００５２】
まず、管理装置１０は、総リソース負荷を全ての接続状態の仮想マシンの数で除算することにより、接続状態の１仮想マシン当たりのリソース負荷を算出する（Ｓ４１）。総リソース負荷は、総リソース負荷算出部１２により算出され、全ての接続状態の仮想マシンの数は、仮想マシン管理テーブル１８に格納されるデータに基づいて取得される。未接続状態の仮想マシンが要求するリソース負荷は、接続状態の仮想マシンのそれに比べて、一般的にかなり低い。そこで、上述のような除算により、接続状態の１仮想マシン当たりのリソース負荷が算出される。
【００５３】
各仮想マシンのリソース負荷は、ユーザの使用状況に依存して変動するため、予測が困難である。しかしながら、このように仮想マシン全体の総リソース負荷の平均により各仮想マシンのリソース負荷を取得することにより、当該変動に依存しない形態で平滑化されたリソース負荷を取得することができる。
【００５４】
管理装置１０は、サーバ装置２０の空きリソース量を、上述のように算出されたリソース負荷で除算することにより、サーバ装置２０の空きリソース量で満足させ得る、接続状態の仮想マシンの数を算出する（Ｓ４２）。言い換えれば、管理装置１０は、サーバ装置２０に関し、リソース不足を生じない範囲で、接続状態の仮想マシンを残りいくつ稼働させることができるかを見積もる。（Ｓ４２）で算出される数は、追加可能数と呼ぶこともできる。サーバ装置２０の空きリソース量は、リソース管理部１７により取得される。
【００５５】
続いて、管理装置１０は、未接続状態の仮想マシンに接続が確立される、現時点の確率（現時点の遷移確率）を算出する（Ｓ４３）。これは、仮想マシン管理テーブル１８に格納される仮想マシン２５の情報と、接続状況管理部１５により生成された、各仮想マシンが接続状態か未接続状態かを示す区分け情報とにより算出される。
【００５６】
続いて、管理装置１０は、上述のように算出された遷移確率で未接続状態の仮想マシンが接続状態に変わると仮定した場合の、（Ｓ４２）で算出された数（追加可能数）の接続状態の仮想マシンが生じるための未接続状態の仮想マシンの数を算出する（Ｓ４４）。ここで算出される数は、当該遷移確率で未接続状態の仮想マシンが接続状態に変わったとしてもそのサーバ装置２０でリソース不足が生じない条件を満足し得る未接続状態の仮想マシンの数を意味する。具体的には、管理装置１０は、（Ｓ４２）で算出された数を当該遷移確率で除算することによりこの数を算出する。（Ｓ４４）で算出される数は、制限数と呼ぶこともできる。
【００５７】
管理装置１０は、そのサーバ装置２０上で現時点稼働されている未接続状態の仮想マシンの数が（Ｓ４４）で算出された数を超える場合（Ｓ４５；ＹＥＳ）、稼働されている未接続状態の仮想マシンの数から（Ｓ４４）で算出された数を減じた数の、未接続状態の仮想マシンを移動対象に決定する（Ｓ４６）。遷移確率の予測誤差を考慮して、管理装置１０は、稼働されている未接続状態の仮想マシンの数から（Ｓ４４）で算出された数を減じた数に、所定値を加算した数を、移動対象の仮想マシンの数としてもよい。
【００５８】
一方、管理装置１０は、現時点稼働されている未接続状態の仮想マシンの数が（Ｓ４４）で算出された数未満である場合（Ｓ４５；ＮＯ）、そのサーバ装置２０を移動先候補リストに設定する（Ｓ４７）。これで、そのサーバ装置２０が、（Ｓ４６）で移動対象として決定された未接続状態の仮想マシンの移動先候補となる。
【００５９】
図４の例では、説明の便宜のため、（Ｓ４４）、（Ｓ４５）及び（Ｓ４６）がそれぞれ各処理ステップとして記載されたが、管理装置１０は、以下の式を用いて、それらの処理ステップを一括で実行してもよい。以下の式において、ｘは、移動対象とされる未接続状態の仮想マシンの数を示し、Ｘは、稼働されている未接続状態の仮想マシンの数を示し、Ａは、（Ｓ４２）で算出された数を示し、ρは遷移確率を示す。
ｘ≧Ｘ−（Ａ／ρ）
【００６０】
例えば、（Ｓ４２）において、サーバ装置２０の空きリソース量で満足させ得る、接続状態の仮想マシンの数Ａとして、１０が算出され、未接続状態の仮想マシンに接続が確立される確率ρが２０％であり、稼働されている未接続状態の仮想マシンの数Ｘが９０である場合には、移動対象の仮想マシンの数が４０以上に決定される。
ｘ≧９０−（１０／０．２）＝４０
【００６１】
管理装置１０は、図４に示される上述の処理を未接続状態の仮想マシンが稼働する各サーバ装置２０についてそれぞれ実行した後、図５の例に示される動作を遂行する。図５の動作例によれば、図４の（Ｓ４６）で決定された移動対象の仮想マシンの移動先が決定される。このとき、移動先候補は、上述の（Ｓ４７）で設定された移動先候補リストに加えて、未接続状態の仮想マシンが稼働しないサーバ装置２０が設定されている。
【００６２】
管理装置１０は、移動先候補の各サーバ装置２０に関し、その空きリソース量で満足させ得る、接続状態の仮想マシンの数をそれぞれ算出する（Ｓ５１）。この算出手法は、図４の（Ｓ４２）と同様である。
【００６３】
次に、管理装置１０は、遷移確率で未接続状態の仮想マシンが接続状態に変わると仮定した場合の、（Ｓ５１）で算出された数の接続状態の仮想マシンが生じるための、未接続状態の仮想マシンの数を算出する（Ｓ５２）。ここで利用される遷移確率は、図４の（Ｓ４３）で算出された値が利用されればよい。
【００６４】
続いて、管理装置１０は、移動先候補の各サーバ装置２０に関し、（Ｓ５２）で算出された各数を上限として、図４の（Ｓ４６）で移動対象として決定された各仮想マシンを移動先候補のサーバ装置にそれぞれ割り振る（Ｓ５３）。このとき、或るサーバ装置２０で稼働する未接続状態の仮想マシンが２以上の他のサーバ装置２０に割り振られてもよいし、複数のサーバ装置２０上の未接続状態の仮想マシンが１つの他のサーバ装置２０に割り振られてもよい。
【００６５】
管理装置１０は、図４の（Ｓ４６）で移動対象として決定された各仮想マシンと、（Ｓ５３）で移動先に割り振られたサーバ装置２０とのペアを含む配置パターンを生成する（Ｓ５４）。この配置パターンには、例えば、仮想マシン２５の識別情報とサーバ装置２０の識別情報とのペアが格納される。
【００６６】
図６及び図７は、減少傾向時の配置パターン決定方法を示すフローチャートである。以下、図６及び図７を用いて、図３における上述の（Ｓ３７）で実行される減少傾向時の配置パターン決定方法について詳細に説明する。
【００６７】
管理装置１０は、（Ｓ６１）、（Ｓ６２）、（Ｓ６３）及び（Ｓ６４）を実行する。これら各処理は、増加傾向時の配置パターン決定方法（Ｓ４１、Ｓ４２、Ｓ４３、Ｓ４４）と同様であるため、ここでは説明を省略する。
【００６８】
管理装置１０は、（Ｓ６４）で算出された数がそのサーバ装置２０上で現時点稼働されている未接続状態の仮想マシンの数を超える場合（Ｓ６５；ＹＥＳ）、（Ｓ６４）で算出された数から稼働されている未接続状態の仮想マシンの数を減じた数の、未接続状態の仮想マシンを受入可能対象に決定する（Ｓ６６）。遷移確率の予測誤差を考慮して、管理装置１０は、（Ｓ６４）で算出された数から稼働されている未接続状態の仮想マシンの数を減じた数から、更に所定値を減算した数を、受入可能対象の仮想マシンの数としてもよい。（Ｓ６６）で算出される数は、受入可能数と呼ぶこともできる。
【００６９】
図６の例においても、説明の便宜のため、（Ｓ６４）、（Ｓ６５）及び（Ｓ６６）がそれぞれ各処理ステップとして記載されたが、管理装置１０は、以下の式を用いて、それらの処理ステップを一括で実行してもよい。以下の式において、ｘは、移動対象とされる未接続状態の仮想マシンの数を示し、Ｘは、稼働されている未接続状態の仮想マシンの数を示し、Ａは、（Ｓ６２）で算出された数を示し、ρは遷移確率を示す。
ｙ≦（Ａ／ρ）−Ｘ
【００７０】
例えば、（Ｓ６２）において、サーバ装置２０の空きリソース量で満足させ得る、接続状態の仮想マシンの数Ａとして、１が算出され、未接続状態の仮想マシンに接続が確立される確率ρが１％であり、稼働されている未接続状態の仮想マシンの数Ｘが６０である場合には、受入可能対象の仮想マシンの数が４０以下に決定される。
ｙ≦（１／０．０１）−６０＝４０
【００７１】
管理装置１０は、図６に示される上述の処理を各サーバ装置２０についてそれぞれ実行した後、図７の例に示される動作を遂行する。図７の動作例によれば、図６の（Ｓ６６）で受け入れ可能と決定されたサーバ装置２０に移動させる、未接続状態の仮想マシンが特定される。
【００７２】
管理装置１０は、少なくとも１つの接続状態の仮想マシンを稼働させており、かつ、図６の（Ｓ６６）で受入可能と判定されたサーバ装置２０を移動先候補と設定する（Ｓ７１）。
【００７３】
管理装置１０は、稼働している接続状態の仮想マシンの数が少ないサーバ装置２０上で稼働する仮想マシンから優先的に、移動先候補のサーバ装置２０に割り振る（Ｓ７２）。管理装置１０は、このように移動対象として決定された各仮想マシンと、移動先に割り振られたサーバ装置２０とのペアを含む配置パターンを生成する（Ｓ７３）。
【００７４】
〔第１実施形態の作用及び効果〕
上述のように、第１実施形態では、総リソース負荷の変化傾向に応じて、増加傾向時の決定処理、減少傾向時の決定処理及び平衡傾向時の決定処理が切り替えられながら、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置２０とからなる配置パターンが決定される。
【００７５】
総リソース負荷が増加傾向を示す場合、未接続状態の仮想マシンよりも高いリソース負荷を要求する接続状態の仮想マシンが増加する可能性が高くなる、即ち、未接続状態の仮想マシンに接続が確立される確率（遷移確率）は高くなると考えることができる。そこで、第１実施形態では、総リソース負荷が増加傾向を示す場合、未接続状態の仮想マシンが分散して各サーバ装置上で稼働するように、配置パターンが決定される。これにより、総リソース負荷が増加傾向を示す場合にも、各サーバ装置２０に要求されるリソース負荷が各サーバ装置２０の許容量を超えないようにすることができる。
【００７６】
また、このような配置パターンを決定するにあたり、第１実施形態では、各サーバ装置２０の空きリソース量で満足させ得る接続状態の仮想マシンの数（追加可能数）が算出され、総リソース負荷の変化傾向に対応する遷移確率が算出され、これらの値が利用されることで、各サーバ装置２０に関し、他のサーバ装置２０へ移動させるべき未接続状態の仮想マシンの数が決定される。結果として、第１実施形態では、未接続状態の仮想マシンが接続状態に移行したとしても、各サーバ装置２０に要求されるリソース負荷が許容量を超えないような配置に各仮想マシンを配置することができる。
【００７７】
逆に、総リソース負荷が減少傾向を示す場合、未接続状態の仮想マシンよりも高いリソース負荷を要求する接続状態の仮想マシンが減少する可能性が高くなる、即ち、当該遷移確率は低くなると考えることができる。そこで、第１実施形態では、総リソース負荷の変化傾向が減少傾向を示す場合には、未接続状態の仮想マシンが稼働するサーバ装置２０の数が減少するように、配置パターンが決定される。これにより、未接続状態の仮想マシンを少ない数のサーバ装置２０に集約的に配置することができ、ひいては、仮想マシンが稼働するサーバ装置２０の数を減らすことができる。
【００７８】
第１実施形態では、仮想マシンの移動により、稼働する仮想マシンがなくなったサーバ装置２０に対して、消費電力を低減させる処理が適用される。よって、第１実施形態によれば、省電力化を実現することができる。
【００７９】
このような作用について、図を用いて更に説明する。図８Ａ及び図８Ｂは、増加傾向時の配置パターン決定過程を概念的に示す図である。
【００８０】
図８Ａには次のような内容が示されている。サーバ装置２０（＃１）において、未接続状態の仮想マシン群と接続状態の仮想マシン群とが稼働しており、サーバ装置２０（＃２）において、未接続状態の仮想マシン群のみが稼働している。サーバ装置２０（＃１）に関し、空きリソース量が５１Ａで示され、未接続状態の仮想マシン群のリソース負荷が５２Ａで示され、接続状態の仮想マシン群のリソース負荷が５３Ａで示される。同様に、サーバ装置２０（＃２）に関し、空きリソース量が５１Ｂで示され、未接続状態の仮想マシン群のリソース負荷が５２Ｂで示される。また、空きリソース量５１Ａ及び５１Ｂは、接続状態の仮想マシンを複数稼働できる大きさであると仮定される。
【００８１】
図８Ａにおいて、サーバ装置２０（＃１）にはまだ空きリソース量５１Ａが存在するが、このままの状態で総リソース負荷が増加に転じた場合、未接続状態の仮想マシン群にユーザ端末３０等からの接続が確立され、仮想マシン群の要求するリソース負荷がサーバ装置２０（＃１）の許容量を超える可能性がある。
【００８２】
そこで、第１実施形態では、図８Ｂに示されるように、サーバ装置２０（＃１）のリソース負荷が許容量を超える前に、サーバ装置２０（＃１）上の未接続状態の仮想マシンが空きリソース量の多いサーバ装置２０（＃２）へ移される。第１実施形態では、サーバ装置２０（＃１）のリソース負荷が許容量を超える前のタイミングが、総リソース負荷の変化傾向が増加傾向を示すタイミングで検知される。また、移される未接続状態の仮想マシン群のリソース負荷５５Ｂは、当該遷移確率で各仮想マシンが接続状態に遷移した場合に、サーバ装置２０（＃１）の許容量を超えると予想される量に相当する。
【００８３】
図９Ａ及び図９Ｂは、減少傾向時の配置パターン決定過程を概念的に示す図である。
【００８４】
図９Ａには次のような内容が示されている。サーバ装置２０（＃１）及び２０（＃２）の各々において、未接続状態の仮想マシン群と接続状態の仮想マシン群とが稼働している。サーバ装置２０（＃１）に関し、空きリソース量が６１Ａで示され、未接続状態の仮想マシン群のリソース負荷が６２Ａで示され、接続状態の仮想マシン群のリソース負荷が６３Ａで示される。同様に、サーバ装置２０（＃２）に関し、空きリソース量が６１Ｂで示され、未接続状態の仮想マシン群のリソース負荷が６２Ｂで示され、接続状態の仮想マシン群のリソース負荷が６３Ｂで示される。また、空きリソース量６１Ａ及び６１Ｂは、接続状態の仮想マシンを複数稼働できる大きさであると仮定する。
【００８５】
図９Ａにおいて、サーバ装置２０（＃２）には未接続状態の仮想マシン群のリソース負荷６２Ｂが存在するが、このままの状態で総リソース負荷が減少に転じた場合、リソース負荷６３Ｂの接続状態の仮想マシン群も未接続状態に遷移し、サーバ装置２０（＃２）上には、未接続状態の仮想マシンのみが稼働する状態になる可能性がある。但し、未接続状態の仮想マシンのみが稼働していたとしても、稼働する仮想マシンが存在すれば、サーバ装置２０（＃２）の電源を停止することはできない。
【００８６】
そこで、第１実施形態では、図９Ｂに示されるように、サーバ装置２０（＃２）上で稼働する未接続状態の仮想マシン群の一部（又は全部）がサーバ装置２０（＃１）へ移される。移される未接続状態の仮想マシン群のリソース負荷６５Ｂは、当該遷移確率で各仮想マシンが接続状態に遷移した場合でも、サーバ装置２０（＃１）の許容量を超えないと予想される量の範囲で設定される。
【００８７】
［第１変形例］
上述の第１実施形態では、各仮想マシン２５のリソース負荷情報から総リソース負荷が取得された。総リソース負荷は、各仮想マシン２５が要求するリソース負荷のみでなく、各サーバ装置２０の消費電力、電気料金等のような、仮想マシン２５が稼働することにより変動する他の指標値を含んでもよい。この場合、リソース管理部１７が、各サーバ装置２０から消費電力情報を更に収集し、総リソース負荷算出部１２は、各仮想マシン２５のリソース負荷情報に加えて、各消費電力情報を考慮することにより、総リソース負荷を決定すればよい。
【００８８】
［第２変形例］
上述の第１実施形態では、各仮想マシン２５は、接続状態か未接続状態かで分類されたが、未接続状態の仮想マシンをその通信接続状況に応じて更に分類し、未接続状態の仮想マシンの移動先を決定するにあたり、その更なる分類を利用するようにしてもよい。具体的には、第２変形例は、接続が確立されてからその接続が切断されるまでの時間（以降、ライフタイムと表記する）に応じて、未接続状態の仮想マシンを分類する。
【００８９】
第２変形例では、接続状況管理部１５が、各仮想マシン２５のライフタイムを計測し、各ライフタイムに応じて、未接続状態の仮想マシンを、平均的に所定時間よりも長いライフタイムを持つ未接続状態の仮想マシンと、平均的に所定時間よりも短いライフタイムを持つ未接続状態の仮想マシンとに分類する。配置決定部１６は、総リソース負荷が増加傾向を示す場合に、このような分類に応じて、同類の未接続状態の仮想マシンの移動先が同じサーバ装置２０となるように、当該配置パターンを決定する。
【００９０】
このようにライフタイムの異なる仮想マシンを別々のサーバ装置２０に集約することにより、総リソース負荷が下降傾向にある時に、消費電力の低減処理を施すサーバ装置２０の数をより早く生じさせることができる。これは、ライフタイムが短い仮想マシンが集約されたサーバ装置２０では、総リソース負荷が増加傾向から減少傾向に移行すると、各仮想マシンがいち早く未接続状態へ移行するため、そのサーバ装置２０上の各仮想マシンが移動させられる可能性が高くなるからである。このように、第２変形例によれば、一層、消費電力効果を上げることができる。
【００９１】
［その他の変形例］
上述の第１実施形態では、図１の例に示されるように、各サーバ装置２０と管理装置１０とが異なるコンピュータで実現される例を挙げたが、管理装置１０は、少なくとも１つのサーバ装置２０と同じコンピュータで実現されてもよい。この場合、管理装置１０は、仮想マシンが稼働するサーバ装置２０のリソースの一部を用いて実現されてもよいし、仮想マシンが稼働していないサーバ装置２０のリソースを用いて実現されてもよい。
【００９２】
また、上述の第１実施形態では、各仮想マシン２５に、所定のサービスレベルが要求されているか否かが、その仮想マシン２５に対する接続確立状況に基づいて判別されていた。しかしながら、接続状態の仮想マシンが、更に、所定のサービスレベルが要求されているか否かで分類されてもよい。この場合、例えば、各仮想マシン２５上で実際に実行されているサービスの種類や各仮想マシン２５に要求されるＱｏＳ（Quality of Service）の情報やユーザの契約内容等のような他の情報が利用される。
【００９３】
この場合には、接続状況管理部１５は、各仮想マシン２５を接続状態か未接続状態かで分類した後、更に、上述のような情報を用いて、接続状態の各仮想マシンを、所定のサービスレベルが要求されている仮想マシンとそれが要求されていない仮想マシンとに分類する。配置決定部１６は、未接続状態の仮想マシンと、所定のサービスレベルが要求されていない接続状態の仮想マシンとを移動対象に決定する。
【００９４】
［補足］
上述の各実施形態及び各変形例における管理システム１は、シンクライアントシステムに適用された場合、一層効果を発揮する。この場合、ユーザ端末３０は、シンクライアント端末となり、ユーザがそのユーザ端末３０を介して仮想マシン２５を操作する。この場合、ダウンタイムの回避や応答性能などのサービスレベルが重視される。前述の通り、ダウンタイムは仮想マシン２５をサーバ装置２０間で移動させることにより発生する。上述の管理システム１によれば、接続の確立されていない仮想マシン２５が移動対象とされるため、ダウンタイムの発生を防ぐことが出来る。
【００９５】
なお、上述の説明で用いた複数のフローチャートでは、複数のステップ（処理）が順番に記載されているが、本実施形態で実行される処理ステップの実行順序は、その記載の順番に制限されない。本実施形態では、図示される処理ステップの順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態及び各変形例は、内容が相反しない範囲で組み合わせることができる。
【００９６】
上記の各実施形態及び各変形例の一部又は全部は、以下の付記のようにも特定され得る。但し、各実施形態及び各変形例が以下の記載に限定されるものではない。
【００９７】
（付記１）
複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出する負荷算出部と、
前記負荷算出部により算出された前記総リソース負荷の変化傾向を決定する傾向決定部と、
前記複数の仮想マシンに関しクライアント装置との接続状況を収集することにより、前記複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定する接続状況管理部と、
前記総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替える配置決定部と、
を備える仮想マシン管理装置。
【００９８】
（付記２）
前記配置決定部は、前記総リソース負荷の変化傾向が増加傾向を示す場合には、前記未接続状態の仮想マシンが分散して各サーバ装置上で稼働するように、前記配置パターンを決定し、前記総リソース負荷の変化傾向が減少傾向を示す場合には、前記未接続状態の仮想マシンが稼働するサーバ装置の数が減少するように、前記配置パターンを決定する、付記１に記載の仮想マシン管理装置。
【００９９】
（付記３）
前記未接続状態の仮想マシンが接続状態に遷移する確率を遷移確率として取得する確率取得部と、
前記複数のサーバ装置の空きリソース量を収集するリソース管理部と、
を更に備え、
前記配置決定部は、前記総リソース負荷の変化傾向が増加傾向を示す場合には、第１決定処理を実行し、
前記第１決定処理は、
接続状態の１仮想マシン当たりのリソース負荷を算出し、
或るサーバ装置の空きリソース量で満足させ得る、接続状態の仮想マシンの数を追加可能数として算出し、
前記遷移確率で未接続状態の仮想マシンが接続状態に変わると仮定した場合の、前記追加可能数の接続状態の仮想マシンが生じるための、未接続状態の仮想マシンの数を制限数として算出し、
前記制限数と前記或るサーバ装置上で稼働されている未接続状態の仮想マシンの数とに基づいて、他のサーバ装置へ移動させる未接続状態の仮想マシンの数を決定し、
前記他のサーバ装置に関する前記制限数を算出し、
前記他のサーバ装置の前記制限数に応じて、前記或るサーバ装置から前記他のサーバ装置へ移動させる未接続状態の仮想マシンを特定する、
ことを含む、
付記１又は２に記載の仮想マシン管理装置。
【０１００】
（付記４）
前記未接続状態の仮想マシンが接続状態に遷移する確率を遷移確率として取得する確率取得部と、
前記複数のサーバ装置の空きリソース量を収集するリソース管理部と、
を更に備え、
前記配置決定部は、前記総リソース負荷の変化傾向が減少傾向を示す場合には、第２決定処理を実行し、
前記第２決定処理は、
接続状態の１仮想マシン当たりのリソース負荷を算出し、
或るサーバ装置の空きリソース量で満足させ得る、接続状態の仮想マシンの数を追加可能数として算出し、
前記遷移確率で未接続状態の仮想マシンが接続状態に変わると仮定した場合の、前記追加可能数の接続状態の仮想マシンが生じるための、未接続状態の仮想マシンの数を制限数として算出し、
前記制限数から、前記或るサーバ装置上で稼働されている未接続状態の仮想マシンの数を減じた数に基づいて、他のサーバ装置から受け入れ可能な未接続状態の仮想マシンの数を受入可能数として決定し、
稼働している接続状態の仮想マシンの数が少ないサーバ装置から優先的に、前記受入可能数以下の未接続状態の仮想マシンを前記或るサーバ装置に移動させる対象に決定する、
ことを含む付記１から３のいずれか１つに記載の仮想マシン管理装置。
【０１０１】
（付記５）
前記配置決定部により決定された前記配置パターンに基づいて、前記未接続状態の仮想マシンを移動先となるサーバ装置に移動させる移動処理部、
を更に備え、
前記リソース管理部は、前記移動処理部が前記未接続状態の仮想マシンを移動させたことにより、稼働する仮想マシンがなくなったサーバ装置の消費電力を低減させる、
付記１から４のいずれか１つに記載の仮想マシン管理装置。
【０１０２】
（付記６）
少なくとも１つのコンピュータが、
複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出し、
算出された前記総リソース負荷の変化傾向を決定し、
前記複数の仮想マシンに関しクライアント装置との接続状況を収集することにより、前記複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定し、
前記総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替える、
ことを含む仮想マシン管理方法。
【０１０３】
（付記７）
前記少なくとも１つのコンピュータが、
前記総リソース負荷の変化傾向が増加傾向を示す場合には、前記未接続状態の仮想マシンが分散して各サーバ装置上で稼働するように、前記配置パターンを決定し、
前記総リソース負荷の変化傾向が減少傾向を示す場合には、前記未接続状態の仮想マシンが稼働するサーバ装置の数が減少するように、前記配置パターンを決定する、
ことを更に含む付記６に記載の仮想マシン管理方法。
【０１０４】
（付記８）
前記少なくとも１つのコンピュータが、
前記未接続状態の仮想マシンが接続状態に遷移する確率を遷移確率として取得し、
前記複数のサーバ装置の空きリソース量を収集する、
ことを更に含み、
前記増加傾向時の配置パターン決定は、
接続状態の１仮想マシン当たりのリソース負荷を算出し、
或るサーバ装置の空きリソース量で満足させ得る、接続状態の仮想マシンの数を追加可能数として算出し、
前記遷移確率で未接続状態の仮想マシンが接続状態に変わると仮定した場合の、前記追加可能数の接続状態の仮想マシンが生じるための、未接続状態の仮想マシンの数を制限数として算出し、
前記制限数と前記或るサーバ装置上で稼働されている未接続状態の仮想マシンの数とに基づいて、他のサーバ装置へ移動させる未接続状態の仮想マシンの数を決定し、
前記他のサーバ装置に関する前記制限数を算出し、
前記他のサーバ装置の前記制限数に応じて、前記或るサーバ装置から前記他のサーバ装置へ移動させる未接続状態の仮想マシンを特定する、
ことを含む、
付記６又は７に記載の仮想マシン管理方法。
【０１０５】
（付記９）
前記少なくとも１つのコンピュータが、
前記未接続状態の仮想マシンが接続状態に遷移する確率を遷移確率として取得し、
前記複数のサーバ装置の空きリソース量を収集する、
ことを更に含み、
前記減少傾向時の配置パターン決定は、
接続状態の１仮想マシン当たりのリソース負荷を算出し、
或るサーバ装置の空きリソース量で満足させ得る、接続状態の仮想マシンの数を追加可能数として算出し、
前記遷移確率で未接続状態の仮想マシンが接続状態に変わると仮定した場合の、前記追加可能数の接続状態の仮想マシンが生じるための、未接続状態の仮想マシンの数を制限数として算出し、
前記制限数から、前記或るサーバ装置上で稼働されている未接続状態の仮想マシンの数を減じた数に基づいて、他のサーバ装置から受け入れ可能な未接続状態の仮想マシンの数を受入可能数として決定し、
稼働している接続状態の仮想マシンの数が少ないサーバ装置から優先的に、前記受入可能数以下の未接続状態の仮想マシンを前記或るサーバ装置に移動させる対象に決定する、
ことを含む付記６から８のいずれか１つに記載の仮想マシン管理方法。
【０１０６】
（付記１０）
前記少なくとも１つのコンピュータは、
決定された前記配置パターンに基づいて、前記未接続状態の仮想マシンを移動先となるサーバ装置に移動させ、
前記未接続状態の仮想マシンを移動させたことにより、稼働する仮想マシンがなくなったサーバ装置の消費電力を低減させる、
ことを更に含む付記６から９のいずれか１つに記載の仮想マシン管理方法。
【０１０７】
（付記１１）
少なくとも１つのコンピュータに、
複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出する負荷算出部と、
前記負荷算出部により算出された前記総リソース負荷の変化傾向を決定する傾向決定部と、
前記複数の仮想マシンに関しクライアント装置との接続状況を収集することにより、前記複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定する接続状況管理部と、
前記総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替える配置決定部と、
を実現させるプログラム。
【０１０８】
（付記１２）
前記配置決定部は、前記総リソース負荷の変化傾向が増加傾向を示す場合には、前記未接続状態の仮想マシンが分散して各サーバ装置上で稼働するように、前記配置パターンを決定し、前記総リソース負荷の変化傾向が減少傾向を示す場合には、前記未接続状態の仮想マシンが稼働するサーバ装置の数が減少するように、前記配置パターンを決定する、付記１１に記載のプログラム。
【０１０９】
（付記１３）
前記少なくとも１つのコンピュータに、
前記未接続状態の仮想マシンが接続状態に遷移する確率を遷移確率として取得する確率取得部と、
前記複数のサーバ装置の空きリソース量を収集するリソース管理部と、
を更に実現させ、
前記配置決定部は、前記総リソース負荷の変化傾向が増加傾向を示す場合には、第１決定処理を実行し、
前記第１決定処理は、
接続状態の１仮想マシン当たりのリソース負荷を算出し、
或るサーバ装置の空きリソース量で満足させ得る、接続状態の仮想マシンの数を追加可能数として算出し、
前記遷移確率で未接続状態の仮想マシンが接続状態に変わると仮定した場合の、前記追加可能数の接続状態の仮想マシンが生じるための、未接続状態の仮想マシンの数を制限数として算出し、
前記制限数と前記或るサーバ装置上で稼働されている未接続状態の仮想マシンの数とに基づいて、他のサーバ装置へ移動させる未接続状態の仮想マシンの数を決定し、
前記他のサーバ装置に関する前記制限数を算出し、
前記他のサーバ装置の前記制限数に応じて、前記或るサーバ装置から前記他のサーバ装置へ移動させる未接続状態の仮想マシンを特定する、
ことを含む、
付記１１又は１２に記載のプログラム。
【０１１０】
（付記１４）
前記少なくとも１つのコンピュータに、
前記未接続状態の仮想マシンが接続状態に遷移する確率を遷移確率として取得する確率取得部と、
前記複数のサーバ装置の空きリソース量を収集するリソース管理部と、
を更に実現させ、
前記配置決定部は、前記総リソース負荷の変化傾向が減少傾向を示す場合には、第２決定処理を実行し、
前記第２決定処理は、
接続状態の１仮想マシン当たりのリソース負荷を算出し、
或るサーバ装置の空きリソース量で満足させ得る、接続状態の仮想マシンの数を追加可能数として算出し、
前記遷移確率で未接続状態の仮想マシンが接続状態に変わると仮定した場合の、前記追加可能数の接続状態の仮想マシンが生じるための、未接続状態の仮想マシンの数を制限数として算出し、
前記制限数から、前記或るサーバ装置上で稼働されている未接続状態の仮想マシンの数を減じた数に基づいて、他のサーバ装置から受け入れ可能な未接続状態の仮想マシンの数を受入可能数として決定し、
稼働している接続状態の仮想マシンの数が少ないサーバ装置から優先的に、前記受入可能数以下の未接続状態の仮想マシンを前記或るサーバ装置に移動させる対象に決定する、
ことを含む付記１１から１３のいずれか１つに記載のプログラム。
【０１１１】
（付記１５）
前記少なくとも１つのコンピュータに、
前記配置決定部により決定された前記配置パターンに基づいて、前記未接続状態の仮想マシンを移動先となるサーバ装置に移動させる移動処理部、
を更に実現させ、
前記リソース管理部は、前記移動処理部が前記未接続状態の仮想マシンを移動させたことにより、稼働する仮想マシンがなくなったサーバ装置の消費電力を低減させる、
付記１１から１４のいずれか１つに記載のプログラム。
【０１１２】
（付記１６）付記１１から１５のいずれか１つに記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【０１１３】
この出願は、２０１２年１月６日に出願された日本出願特願２０１２−９２２号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2013102975.tif 000003
【図２】
2013102975.tif 000004
【図３】
2013102975.tif 000005
【図４】
2013102975.tif 000006
【図５】
2013102975.tif 000007
【図６】
2013102975.tif 000008
【図７】
2013102975.tif 000009
【図８Ａ】
2013102975.tif 000010
【図８Ｂ】
2013102975.tif 000011
【図９Ａ】
2013102975.tif 000012
【図９Ｂ】
2013102975.tif 000013
【手続補正書】
【提出日】平成26年3月3日(2014.3.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定する接続状況管理部と、
複数の仮想マシンが要求している総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替える配置決定部と、
を備える仮想マシン管理装置。
【請求項２】
複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出する負荷算出部と、
前記負荷算出部により算出された前記総リソース負荷の変化傾向を決定する傾向決定部と、
を更に備える請求項１に記載の仮想マシン管理装置。
【請求項３】
前記配置決定部は、前記総リソース負荷の変化傾向が増加傾向を示す場合には、前記未接続状態の仮想マシンが分散して各サーバ装置上で稼働するように、前記配置パターンを決定し、前記総リソース負荷の変化傾向が減少傾向を示す場合には、前記未接続状態の仮想マシンが稼働するサーバ装置の数が減少するように、前記配置パターンを決定する、請求項１又は２に記載の仮想マシン管理装置。
【請求項４】
前記未接続状態の仮想マシンが接続状態に遷移する確率を遷移確率として取得する確率取得部と、
前記複数のサーバ装置の空きリソース量を収集するリソース管理部と、
を更に備え、
前記配置決定部は、前記総リソース負荷の変化傾向が増加傾向を示す場合には、第１決定処理を実行し、
前記第１決定処理は、
接続状態の１仮想マシン当たりのリソース負荷を算出し、
或るサーバ装置の空きリソース量で満足させ得る、接続状態の仮想マシンの数を追加可能数として算出し、
前記遷移確率で未接続状態の仮想マシンが接続状態に変わると仮定した場合の、前記追加可能数の接続状態の仮想マシンが生じるための、未接続状態の仮想マシンの数を制限数として算出し、
前記制限数と前記或るサーバ装置上で稼働されている未接続状態の仮想マシンの数とに基づいて、他のサーバ装置へ移動させる未接続状態の仮想マシンの数を決定し、
前記他のサーバ装置に関する前記制限数を算出し、
前記他のサーバ装置の前記制限数に応じて、前記或るサーバ装置から前記他のサーバ装置へ移動させる未接続状態の仮想マシンを特定する、
ことを含む、
請求項１から３のいずれか１項に記載の仮想マシン管理装置。
【請求項５】
前記未接続状態の仮想マシンが接続状態に遷移する確率を遷移確率として取得する確率取得部と、
前記複数のサーバ装置の空きリソース量を収集するリソース管理部と、
を更に備え、
前記配置決定部は、前記総リソース負荷の変化傾向が減少傾向を示す場合には、第２決定処理を実行し、
前記第２決定処理は、
接続状態の１仮想マシン当たりのリソース負荷を算出し、
或るサーバ装置の空きリソース量で満足させ得る、接続状態の仮想マシンの数を追加可能数として算出し、
前記遷移確率で未接続状態の仮想マシンが接続状態に変わると仮定した場合の、前記追加可能数の接続状態の仮想マシンが生じるための、未接続状態の仮想マシンの数を制限数として算出し、
前記制限数から、前記或るサーバ装置上で稼働されている未接続状態の仮想マシンの数を減じた数に基づいて、他のサーバ装置から受け入れ可能な未接続状態の仮想マシンの数を受入可能数として決定し、
稼働している接続状態の仮想マシンの数が少ないサーバ装置から優先的に、前記受入可能数以下の未接続状態の仮想マシンを前記或るサーバ装置に移動させる対象に決定する、
ことを含む請求項１から４のいずれか１項に記載の仮想マシン管理装置。
【請求項６】
前記配置決定部により決定された前記配置パターンに基づいて、前記未接続状態の仮想マシンを移動先となるサーバ装置に移動させる移動処理部、
を更に備え、
前記リソース管理部は、前記移動処理部が前記未接続状態の仮想マシンを移動させたことにより、稼働する仮想マシンがなくなったサーバ装置の消費電力を低減させる、
請求項１から５のいずれか１項に記載の仮想マシン管理装置。
【請求項７】
少なくとも１つのコンピュータが、
複数の仮想マシンの中から、クライアント装置と接続が確立されていない未接続状態の仮想マシンを特定し、
複数の仮想マシンが要求している総リソース負荷の変化傾向に応じて、優先的に移動させる未接続状態の仮想マシンと移動先となるサーバ装置とからなる配置パターンの決定方法を切り替える、
ことを含む仮想マシン管理方法。
【請求項８】
少なくとも１つのコンピュータが、
複数の仮想マシンが複数のサーバ装置に対して要求している総リソース負荷を算出し、
算出された前記総リソース負荷の変化傾向を決定する、
ことを更に含む請求項７に記載の仮想マシン管理方法。
【請求項９】
少なくとも１つのコンピュータに、請求項７又は８に記載の仮想マシン管理方法を実行させるプログラム。
【国際調査報告】
2013102975.tif 000014
2013102975.tif 000015