(57)【特許請求の範囲】
【請求項１】
リクエストを送信するクライアント端末と、
仮想マシンが動作する仮想化サーバと、
前記仮想マシンが使用するストレージと、
前記リクエストを適切な前記仮想マシンへ転送する負荷分散装置とを備え、
前記負荷分散装置が、
前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記ストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベースと、
新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、前記リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索手段と、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記類似リクエストを実行した前記仮想マシンの中から、該類似リクエストの実行後に実行された後続リクエストの数に基づいて、前記新規リクエストの転送先として適切な前記仮想マシンを選択する対象マシン選択手段と、
を備えることを特徴とする仮想化システム。
【請求項２】
前記負荷分散装置が、
各前記リクエストについて、転送先の前記仮想マシンと、転送日時とを含む情報を格納するリクエストデータベースと、
前記リクエストデータベースにアクセスして、各前記類似リクエストを実行した前記仮想マシンそれぞれについて、該類似リクエストの実行後に実行された後続リクエストの数を確認する履歴確認手段と、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースと、
を備え、
前記対象マシン選択手段が、
前記リクエスト負荷データベースと前記負荷データベースを参照し、
各前記類似リクエストについて、転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷と、該転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージの現在の負荷とを比較して、該類似リクエストの負荷が、前記現在の負荷の状況に対して許容範囲内であるか否かを判断し、前記負荷が許容範囲内である前記類似リクエストを実行した前記仮想マシンのうち、前記後続リクエストの数が最も少ない前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする請求項１に記載の仮想化システム。
【請求項３】
前記リクエスト負荷情報は、
前記リクエストに係る通信プロトコルの情報と、前記リクエストの種別の情報と、前記リクエストの実行対象を指定するオプションの情報とを含み、
前記類似リクエスト検索手段は、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする請求項１または請求項２に記載の仮想化システム。
【請求項４】
前記類似リクエスト検索手段は、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報がない場合、
前記オプションの情報にファイルが指定されているか否かを確認し、前記オプションの情報にファイルが指定されていた場合、
前記ファイルをオプションで指定している前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
該当する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする請求項３に記載の仮想化システム。
【請求項５】
前記負荷分散装置が、
前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報の組み合わせに基づいて優先度を定義するプロトコルデータベースを備え、
前記類似リクエスト検索手段は、
前記オプションの情報にファイルが指定されていない場合、又は、前記オプションの情報にファイルが指定されているが、当該ファイルをオプションで指定している前記リクエスト負荷情報が前記リクエスト負荷データベースに存在しない場合、
前記プロトコルデータベースを参照し、
優先度が低いと設定されている組み合わせと一致する前記リクエスト負荷情報以外の前記リクエスト負荷情報であって、前記新規リクエストと前記通信プロトコルの情報及び前記リクエストの種別の情報が一致する前記リクエスト負荷情報を、前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
請求項４に記載の仮想化システム。
【請求項６】
前記負荷分散装置が、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースと、
前記負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認手段とを備え、
前記類似リクエストが無かった場合、
前記負荷確認手段が、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択手段が、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする請求項１から請求項５の何れか１項に記載の仮想化システム。
【請求項７】
クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置であって、
前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記仮想マシンが使用するストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベースと、
新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、前記リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索手段と、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記類似リクエストを実行した前記仮想マシンの中から、該類似リクエストの実行後に実行された後続リクエストの数に基づいて、前記新規リクエストの転送先として適切な前記仮想マシンを選択する対象マシン選択手段と、
を備えることを特徴とする負荷分散装置。
【請求項８】
クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置による負荷分散方法であって、
新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索ステップを、類似リクエスト検索手段が実行し、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記仮想マシンのキャッシュを考慮して、転送先として適切な前記仮想マシンを選択する対象マシン選択ステップを、対象マシン選択手段が実行し、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記類似リクエストを実行した前記仮想マシンの中から、該類似リクエストの実行後に実行された後続リクエストの数に基づいて、前記新規リクエストの転送先として適切な前記仮想マシンを選択する対象マシン選択ステップを、対象マシン選択手段が実行し、
前記リクエスト負荷データベースが、
前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記仮想マシンが使用するストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納する
ことを特徴とする負荷分散方法。
【請求項９】
クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置を構成するコンピュータ上で動作する負荷分散プログラムであって、
新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索処理を、類似リクエスト検索手段に実行させ、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記類似リクエストを実行した前記仮想マシンの中から、該類似リクエストの実行後に実行された後続リクエストの数に基づいて、前記新規リクエストの転送先として適切な前記仮想マシンを選択する対象マシン選択処理を、対象マシン選択手段に実行させ、
前記リクエスト負荷データベースが、
前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記仮想マシンが使用するストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納する
ことを特徴とする負荷分散プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化システムに関し、特に、仮想マシンの負荷分散を行う技術に関する。
【背景技術】
【０００２】
物理マシン上（仮想化サーバ）で複数の仮想マシンを動作させる仮想化技術がある。仮想化技術を適用した環境（仮想化環境）においては、物理マシンとストレージが用意され、仮想化サーバとストレージはストレージ・エリア・ネットワーク（ＳＡＮ）などで接続される。また仮想化サーバとストレージは多対多の関係で接続される。
【０００３】
仮想化サーバ上で動作する各仮想マシンは、仮想化サーバのＣＰＵやメモリ、Ｉ／Ｏを共有するため、大きな負荷を与えるリクエストは他の仮想マシンに影響を与えてしまう。しかし大きな負荷を与えるか否かはリクエストを実行するまで判断できないという問題があった。
【０００４】
また、共有リソースの内、ＣＰＵ、メモリに比べ、Ｉ／Ｏの速度は特に遅く、仮想マシンが例えばＨＴＴＰ、ＷｅｂＤＡＶ、ＦＴＰ、ＣＩＦＳ等の通信プロトコルによりファイルを主に扱う機能を提供している場合において、単純に仮想マシンの負荷によってリクエストを負荷分散した場合、ストレージの負荷は考慮されず、またキャッシュも考慮されないため、Ｉ／Ｏがボトルネックとなり性能が発揮できない場合が考えられる。
【０００５】
このような状況における負荷分散の方法が、特許文献１及び特許文献２に開示されている。特許文献１に開示の技術は、サーバとストレージの負荷を調整することにより、特許文献２に開示の技術は、Ｗｅｂサーバへのリクエストに対し区切り文字を利用してサーバに与える負荷を予測することにより、それぞれ負荷分散を行っている
【０００６】
ここで、関連技術として、過去の電力負荷データを蓄積し、過去の電力負荷データを修正することで予測データを生成する技術が特許文献３に開示されている。
【０００７】
また、別の関連技術として、負荷情報と、優先順位情報と、制約条件情報とに基づいて、物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの制約条件を満足する最も優先順位の高い物理サーバを選択する技術が特許文献４に開示されている。
【０００８】
さらに、別の関連技術として、ロードバランサを備える仮想化システムが、特許文献５に開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−０１５８８８号公報
【特許文献２】特開２００８−２２５６５１号公報
【特許文献３】特開２０１１−１１４９４４号公報
【特許文献４】特開２０１１−０１３８２２号公報
【特許文献５】特開２００９−２６５７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１に開示の技術は、サーバとストレージの負荷を調整する方法であるが、リクエストを解析しないため事前に負荷予測できず高負荷を発生させてしまい、複数の種類の仮想マシンが動作する仮想環境においては問題が発生する可能性がある。
【００１１】
特許文献２に開示の技術は、Ｗｅｂサーバへのリクエストに対し区切り文字を利用してサーバに与える負荷を予測する方法であるが、ＨＴＴＰプロトコルのみを想定しリクエストに区切り文字があることが前提のため、上記のようなＨＴＴＰ以外のプロトコルが使用されるような環境では適用できない。
【００１２】
特許文献３に開示の技術は、任意の日の電力需要量を予測する発明に関するものであり、電力需要に関わるため時間単位での負荷計算となるが、仮想化システムにおいては時間単位で負荷を計算することは適切ではない。
【００１３】
特許文献４に開示の技術は、消費電力低減のために物理サーバに仮想マシンを再配置する特許であるが、消費電力低減を目的としており負荷分散ではない。また、高負荷時を考慮すると再配置は問題解決にならない。
【００１４】
また、特許文献５に開示の技術は、仮想マシンへの資源の割り当てに関するものであり、本発明の内容である仮想マシンへのリクエストの割り振りとは目的が異なる。また一般に資源は有限であり、有限の資源量を前提とした場合において、無限の資源量を前提とする特許文献５の方式には限界がある。
【００１５】
（発明の目的）
本発明の目的は、上述の課題を解決し、新規リクエストの負荷を予測し適切な仮想マシンへ転送する仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラムを提供することである。
【課題を解決するための手段】
【００１６】
本発明の第１の仮想化システムは、リクエストを送信するクライアント端末と、仮想マシンが動作する仮想化サーバと、仮想マシンが使用するストレージと、リクエストを適切な仮想マシンへ転送する負荷分散装置とを備え、負荷分散装置が、クライアント端末から過去に受信したリクエストに関し、当該リクエストに関する情報と、当該リクエストが仮想マシン及びストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベースと、新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索手段と、類似リクエストに基づき新規リクエストの負荷を予測するとともに、仮想マシンのキャッシュを考慮して、転送先として適切な仮想マシンを選択する対象マシン選択手段とを備え、リクエスト負荷情報が、リクエストに係る通信プロトコルの情報と、リクエストの種別の情報と、リクエストの実行対象を指定するオプションの情報とを含む。
【００１７】
本発明の第１の負荷分散装置は、クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置であって、クライアント端末から過去に受信したリクエストに関し、当該リクエストに関する情報と、当該リクエストが仮想マシン及びストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベースと、新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索手段と、類似リクエストに基づき新規リクエストの負荷を予測するとともに、仮想マシンのキャッシュを考慮して、転送先として適切な仮想マシンを選択する対象マシン選択手段とを備え、リクエスト負荷情報が、リクエストに係る通信プロトコルの情報と、リクエストの種別の情報と、リクエストの実行対象を指定するオプションの情報とを含む。
【００１８】
本発明の第１の負荷分散方法は、クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置による負荷分散方法であって、新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索ステップを、類似リクエスト検索手段が実行し、類似リクエストに基づき新規リクエストの負荷を予測するとともに、仮想マシンのキャッシュを考慮して、転送先として適切な仮想マシンを選択する対象マシン選択ステップを、対象マシン選択手段が実行し、リクエスト負荷情報が、リクエストに係る通信プロトコルの情報と、リクエストの種別の情報と、リクエストの実行対象を指定するオプションの情報とを含み、リクエスト負荷データベースが、クライアント端末から過去に受信したリクエストに関し、当該リクエストに関する情報と、当該リクエストが仮想マシン及びストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納する。
【００１９】
本発明の第１の負荷分散プログラムは、クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置を構成するコンピュータ上で動作する負荷分散プログラムであって、新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索処理を、類似リクエストに基づき新規リクエストの負荷を予測するとともに、仮想マシンのキャッシュを考慮して、転送先として適切な仮想マシンを選択する対象マシン選択処理を、対象マシン選択手段に実行させ、リクエスト負荷情報が、リクエストに係る通信プロトコルの情報と、リクエストの種別の情報と、リクエストの実行対象を指定するオプションの情報とを含み、リクエスト負荷データベースが、クライアント端末から過去に受信したリクエストに関し、当該リクエストに関する情報と、当該リクエストが仮想マシン及びストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納する。
【発明の効果】
【００２０】
本発明によれば、新規リクエストの負荷を予測し適切な仮想マシンへ転送することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施の形態による仮想化システムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態による負荷分散装置の構成を示すブロック図である。
【図３】本発明の第１の実施の形態によるリクエスト負荷データベースの構成例を示す図である。
【図４】本発明の第１の実施の形態によるリクエストデータベースの構成例を示す図である。
【図５】本発明の第１の実施の形態によるプロトコルデータベースの構成例を示す図である。
【図６】本発明の第１の実施の形態による仮想化システムの動作を示すフローチャートである。
【図７】本発明の第１の実施の形態による仮想化システムの動作を示すフローチャートである。
【図８】本発明の第１の実施の形態による仮想化システムの動作を示すフローチャートである。
【図９】本発明の第２の実施の形態による仮想化システムの動作を示すフローチャートである。
【図１０】本発明の仮想化システムの最小限の構成を示すブロック図である。
【図１１】本発明の負荷分散装置のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２２】
本発明の上記及び他の目的、特徴及び利点を明確にすべく、添付した図面を参照しながら、本発明の実施形態を以下に詳述する。なお、上述の本願発明の目的のほか、他の技術的課題、その技術的課題を解決する手段及びその作用効果についても、以下の実施形態による開示によって明らかとなるものである。
【００２３】
なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００２４】
（第１の実施の形態）
本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００２５】
図１は本発明の第１の実施の形態による仮想化システム１００の構成を示すブロック図である。図１を参照すると、本実施の形態による仮想化システム１００は、クライアント端末１０００と、負荷分散装置２０００と、仮想化サーバ３０００（３０００−１〜３０００−２）と、仮想化サーバ３０００上で動作する仮想マシン４０００と、ストレージ５０００（５０００−１〜５０００−２）とを備える。
【００２６】
なお、本実施の形態では、クライアント端末１０００を１台構成とし、仮想化サーバ３０００及びストレージ５０００をそれぞれ２台構成としたが、これに限定はされない。また、仮想化サーバ３０００では、１台以上の仮想マシン４０００が動作する。
【００２７】
負荷分散装置２０００は、クライアント端末１０００からの要求を仮想化サーバ３０００−１又は仮想化サーバ３０００−２に転送する機能を有し、一般にロードバランサとも呼ばれる。負荷分散装置２０００は、要求を分散して仮想化サーバ３０００−１及び仮想化サーバ３０００−２送信し、各仮想化サーバ３０００が快適な応答速度を保つことを目的とする。図２は、本実施の形態による負荷分散装置２０００の構成を示すブロック図である。
【００２８】
図２を参照すると、負荷分散装置２０００は、リクエスト受信手段２０１と、新規受信リクエストのプロトコルやリクエスト種別、オプションを解析するプロトコル解析手段２０２と、過去のリクエストのデータから類似リクエストを検索する類似リクエスト検索手段２０３と、過去のリクエストの履歴を確認する履歴確認手段２０４と、現在の負荷を確認する負荷確認手段２０５と、類似リクエスト、リクエスト履歴、現在の負荷から新規受信リクエストを処理させる仮想マシン４０００を選択する対象マシン選択手段２０６と、リクエストを転送するリクエスト転送手段２０５と、転送したリクエストに対するレスポンスを受信するレスポンス受信手段２１１と、転送したリクエストが与えた負荷を確認するリクエスト負荷確認手段２１０と、クライアント端末１０００にレスポンスを返すレスポンス転送手段２０９と、構成要素の負荷を取得する構成要素負荷取得手段２１２とを備える。
【００２９】
また、負荷分散装置２０００は、データとして各プロトコルのパラメータやオプションを保持するプロトコルデータベース２５１と、過去のリクエストによる構成要素への負荷を保持するリクエスト負荷データベース２５２と、仮想マシンで転送したリクエストの情報を蓄積するリクエストデータベース２５３と、過去からの負荷情報を保持する負荷データベース２５４とを備える。
【００３０】
リクエスト受信手段２０１は、クライアント端末１０００からのリクエストを受信し、プロトコル解析手段２０２に処理を移す。
【００３１】
プロトコル解析手段２０２は、プロトコルデータベース２５１を参照し、受信したリクエストのプロトコルと、リクエスト種別と、オプションを解析する。
【００３２】
類似リクエスト検索手段２０３は、リクエスト負荷データベース２５２から解析されたリクエストと一致するリクエストがある場合は該リクエストを選択し類似リクエストに設定する。一致するリクエストがない場合は類似するリクエストを検索し、類似リクエストに設定する。
【００３３】
履歴確認手段２０４は過去のリクエストの実行履歴及び転送先の仮想マシン４０００を確認する。
【００３４】
負荷確認手段２０５は、負荷データベース２５４を利用し、類似リクエストが負荷を与えた構成要素の負荷を確認する。
【００３５】
対象マシン選択手段２０６は、リクエストの負荷が許容できる仮想マシン４０００の内、キャッシュを考慮し、リクエストを転送する仮想マシン４０００を選択する。そのため、対象マシン選択手段２０６は、類似リクエスト検索手段２０３が取得した類似リクエストによる負荷と、負荷確認手段２０５が確認した構成要素の負荷の比較に加え、履歴確認手段２０４が確認したリクエスト数から、キャッシュヒット率が最も高いと想定される仮想マシン４０００を選択する。
【００３６】
リクエスト転送手段２０５は、対象マシン選択手段２０６が選択した仮想マシン４０００にリクエストを転送する。
【００３７】
レスポンス受信手段２１１は、リクエスト転送手段２０５が転送したリクエストに対するレスポンスを受信する。
【００３８】
リクエスト負荷確認手段２１０は、リクエスト転送後からレスポンス受信までの負荷と、現在実行中のリクエスト負荷の差を確認することで、レスポンスを受信したリクエストの負荷を決定する。
【００３９】
レスポンス転送手段２０９は、負荷分散装置２０００が受け取ったレスポンスをクライアント端末１０００に返却する。
【００４０】
構成要素負荷取得手段２１２は、定期的に構成要素の現在負荷を取得し、負荷データベース２５４に格納する。
【００４１】
ここで、図３は、リクエスト負荷データベース２５２の構成例を示す図である。図３を参照すると、リクエスト負荷データベース２５２は、新規リクエストごとに、プロトコル、リクエスト種別、オプション、構成要素（仮想化サーバ３０００、仮想マシン４０００、ストレージ５０００）の負荷情報、及びリクエストが負荷をかけた仮想マシン４０００及びストレージ５０００（以下、対象仮想マシン４０００及び対象ストレージ５０００と称する）の情報を格納する。
【００４２】
プロトコルは、新規リクエストの通信プロトコルを示す情報である。
【００４３】
リクエスト種別は、新規リクエストの種別を示す情報である。
【００４４】
オプションは、リクエストを実行する対象のファイルやパス等を示す情報である。
【００４５】
構成要素の負荷情報は、対象の仮想マシン４０００のＣＰＵ負荷量、メモリ負荷量、Ｉ／Ｏ量、及び、対象ストレージ５０００のディスク時間についての情報を含む。
【００４６】
図４は、リクエストデータベース２５３の構成例を示す図である。リクエストデータベース２５３は、仮想マシンに転送されたリクエストを、リクエスト番号、転送先サーバ、転送日時、実行中フラグの組み合わせで管理する。
【００４７】
実行中フラグは、該リクエストが現在実行中（リクエスト転送を行ったがレスポンスを未だ受信していないリクエスト）であるか否かを示す情報であり、対象マシン選択手段２０６が、リクエストデータベース２５３に登録時にフラグを設定し、リクエスト負荷確認手段２１０がレスポンス受信時にリセットする。図４の例では、実行中である場合を”１”、実行中でない場合を”０”としてフラグ管理しているが、これに限定はされない。
【００４８】
図５は、プロトコルデータベース２５１の好例性を示す図である。プロトコルデータベース２５１は、プロトコル種別と、リクエスト種別と、オプション種別との組み合わせに対する優先度を定義する。
【００４９】
本発明は、上述の構成を有し、リクエストを事前に受け取る負荷分散装置２０００において、過去に受信したリクエストが仮想マシン４０００やストレージ５０００に与えた負荷情報を格納するリクエスト負荷データベース２５２を保持し、新規リクエスト受信時にリクエスト負荷データベース２５２を検索する類似リクエスト検索手段２０３を備えることで、複数のプロトコルに対し、新規リクエストの負荷を事前予測し、他の仮想マシンへ４０００の影響を最小限にとどめ、かつボトルネックを発生させない負荷分散を実現する。
【００５０】
また過去のリクエストの転送先を確認する履歴確認手段２０４と、現在のシステムの構成要素の負荷を確認する負荷確認手段２０５を備えることで、キャッシュの利用効率を最も得られるように負荷分散を行う。さらに、レスポンス受信時に負荷情報からリクエストの負荷を計算するリクエスト負荷確認手段２１０を備えることで、リクエストの負荷を蓄積かつ補正し、負荷予測の精度を向上する。
【００５１】
（第１の実施の形態の動作の説明）
次に、本実施の形態による仮想化システム１００の動作について、図６、図７、図８を用いて詳細に説明する。
【００５２】
図６は、類似リクエスト検索手段２０３が類似リクエストを検索する際の動作を示すフローチャートである。
【００５３】
負荷分散装置２０００がクライアント端末１０００から新規リクエストを受信すると、プロトコル解析手段２０２が該新規リクエストのプロトコル、リクエスト種別及びオプションを解析し、類似リクエスト検索手段２０３が、該新規リクエストとプロトコル、リクエスト種別及びオプションが一致するリクエストを、リクエスト負荷データベース２５２から検索する（Ａ１、Ａ２）。
【００５４】
検索の結果、新規リクエストとプロトコル、リクエスト種別及びオプションが一致するリクエストがある場合、類似リクエスト検索手段２０３は、該一致するリクエストを類似リクエストに設定する（Ａ７）。
【００５５】
検索の結果、新規リクエストとプロトコル、リクエスト種別及びオプションが一致するリクエストがない場合、類似リクエスト検索手段２０３は、新規リクエストのオプションにファイルが指定されているか否かを確認する（Ａ３）。
【００５６】
新規リクエストのオプションにファイルが含まれている場合、類似リクエスト検索手段２０３は、該新規リクエストのオプションからファイルの情報を抽出し（Ａ４）、該ファイルの情報をオプションに含むリクエストを、リクエスト負荷データベース２５２から検索する（Ａ５）。該検索は、全てのプロトコル、リクエスト種別を対象として検索が行われていることになる。
【００５７】
該ファイルの情報をオプションに含むリクエストが負荷データベース２５２内に有る場合、類似リクエスト検索手段２０３は、該レコードを類似リクエストに設定する（Ａ７）。新規リクエストのオプションでファイルが指定されている場合、オプションが一致するリクエストは、キャッシュを有効利用できると考えられるからである。
【００５８】
新規リクエストのオプションにファイルが指定されていない場合（Ａ３）、及びファイルは指定されているが該ファイルの情報を含むリクエストが負荷データベース２５２内に無い場合（Ａ６）、類似リクエスト検索手段２０３は、まず、プロトコルデータベース２５１で定義されている優先度を参照し、優先度が低い組み合わせを検索対象から除外する（Ａ８）。
【００５９】
次いで、類似リクエスト検索手段２０３は、ステップＡ８で場外されなかった検索対象から、新規リクエストと同一のプロトコル及び同一のリクエスト種別を含むリクエストを、リクエスト負荷データベース２５２を検索する（Ａ９、Ａ１０）。
【００６０】
類似リクエスト検索手段２０３は、検索条件に一致するリクエストがある場合は、該リクエストを類似リクエストと判断し（Ａ７）、一致するリクエストが無い場合は、類似リクエストなしと判断する（Ａ１１）。
【００６１】
図７は、対象マシン選択手段２０６がリクエストの転送先の仮想マシン４０００を選択する際の動作を示すフローチャートである。
【００６２】
はじめに、対象マシン選択手段２０６は、類似リクエスト検索手段２０３が検索した結果に基づき、類似リクエストの有無を確認する（Ｂ１）。
【００６３】
類似リクエストが無い場合、対象マシン選択手段２０６は、負荷確認手段２０５を用いて負荷データベース２５４を参照し、全ての仮想マシン４０００の負荷を確認し、最も負荷の低い仮想マシン４０００をリクエスト転送先として選択する（Ｂ８）。
【００６４】
そして、対象マシン選択手段２０６は、リクエストデータベース２５３に新規リクエストを登録する（Ｂ１０）。この時、該新規リクエストの実効フラグは”１”に設定される。
【００６５】
類似リクエストがある場合、対象マシン選択手段２０６は、類似リクエスト実行以降に実行されたリクエストが少ないほどキャッシュを有効利用できると判断し、次の動作を行う。
【００６６】
まず、対象マシン選択手段２０６は、各類似リクエストについて、該類似リクエストが負荷を与えた構成要素を確認する（Ｂ２）。
【００６７】
次に、対象マシン選択手段２０６は、ステップＢ２の処理の内、仮想マシン４０００について、各類似リクエストの実行後に実行されたリクエスト（以下、後続リクエストと称す）の数を確認する（Ｂ３）。そして、各類似リクエストを後続リクエストの昇順に並べ替える（Ｂ４）。
【００６８】
次に、対象マシン選択手段２０６は、各類似リクエストについて、後続リクエストの数の少ない順に、構成要素に対し該類似リクエストが与えた負荷と、構成要素の現在の負荷を比較し（Ｂ５）、該類似リクエストによる負荷が許容範囲内であるか否か確認する（Ｂ６）。
【００６９】
該類似リクエストによる負荷が許容範囲内の場合、対象マシン選択手段２０６は、該類似リクエストの対象仮想マシン４０００をリクエスト転送先に設定し（Ｂ９）、リクエストデータベース２５３にリクエストを登録する（Ｂ１０）。
【００７０】
該類似リクエストによる負荷が許容範囲外の場合、対象マシン選択手段２０６は、次の類似リクエストに対しステップＢ５、ステップＢ６の確認を行う。次の類似リクエストが無い場合は、類似リクエストが無い場合と同様にステップＢ８の動作を行う。
【００７１】
上記により、後続リクエストがより少なく、負荷が許容範囲内である類似リクエストの対象仮想化サーバ３０００が、新規リクエストの転送先となる。
【００７２】
図８は、リクエスト負荷確認手段２１０がリクエストの負荷を決定する動作を示すフローチャートである。
【００７３】
レスポンス受信手段２１１が仮想化サーバ３０００上の仮想マシン４０００からのレスポンスを受信すると、リクエスト負荷確認手段２１０は、レスポンスを返した仮想マシン４０００上で実行中のリクエストの一覧を、リクエストデータベース２５４から取得する（Ｃ１）。このとき、リクエスト負荷確認手段２１０は、実行中フラグを参照することで、実行中のリクエストを抽出する。
【００７４】
次いで、リクエスト負荷確認手段２１０は、取得したリクエスト一覧の各リクエストについて、リクエスト負荷データベース２５２を参照して、各リクエストが与える負荷量を取得し、それを合計する（Ｃ２）。
【００７５】
次に、リクエスト負荷確認手段２１０は、リクエスト転送時からレスポンス受信時までの対象仮想マシン４０００、及びストレージ５０００の負荷量を負荷データベース２５４から取得し、それを合計する（Ｃ３）。
【００７６】
そしてリクエスト負荷確認手段２１０は、ステップＣ３で算出した負荷量の合計値から、ステップＣ２で取得した負荷量の合計値を引く（Ｃ４）。
【００７７】
次に、リクエスト負荷確認手段２１０は、現在実行中のリクエストの一覧の中に、負荷情報がないリクエストがあるか否かを確認する（Ｃ５）。
【００７８】
負荷情報がないリクエストがあった場合、リクエスト負荷確認手段２１０は、ステップＣ４で算出した負荷量を、負荷情報がないリクエスト数で割ることで、負荷情報が無いリクエストの負荷量を算出し、負荷情報がない各リクエストに算出した該負荷量を設定する（Ｃ６）。
【００７９】
さらに、リクエスト負荷確認手段２１０は、レスポンスを受けたリクエストに対し、負荷量があるかを確認する（Ｃ７）。
【００８０】
レスポンスを受けたリクエストに負荷量がある場合、リクエスト負荷確認手段２１０は、既知リクエストの負荷量の補正を行うため、レスポンスを受けたリクエストの負荷量とステップＣ４で算出した負荷量と、ステップＣ６で算出した負荷量との平均値を算出する（Ｃ８）。そして、該平均値を、レスポンスを受けたリクエストの負荷量としてリクエスト負荷データベース２５２に格納する（Ｃ９）。
【００８１】
また、リクエスト負荷確認手段２１０は、レスポンスを受けたリクエストについて、リクエストデータベース２５３の実行中フラグをリセットする。
【００８２】
（第１の実施の形態による効果）
【００８３】
本実施の形態による第１の効果は、仮想マシンが高負荷となること、及びそれに伴い他の仮想マシンへ影響を与えることを防げることである。
【００８４】
その理由は、過去のリクエストによる負荷情報をリクエスト負荷データベース２５２に保存することで、リクエストの負荷を事前予測し、負荷が許容できる仮想マシンを選択するためである。
【００８５】
本実施の形態による第２の効果は、特定のプロトコルではなく複数のプロトコルを対象に負荷分散を行えることである。
【００８６】
その理由は、プロトコルデータベース２５１を利用することでプロトコルに応じた解析を行い、またその後の処理においてプロトコルに依存する処理はプロトコルデータベース２５１を参照しているためである。
【００８７】
本実施の形態による第３の効果は、キャッシュを考慮して負荷分散を行えることである。
【００８８】
その理由は対象マシン選択手段２０６において、キャッシュヒット率を向上させるため、類似リクエストを実行した以降に実行した別のリクエストが少ない仮想マシン４０００を選択するためである。
【００８９】
なお、本発明の課題を解決できる最小限の構成を図１０に示す。仮想化システム１００が、リクエストを送信するクライアント端末１０００と、仮想マシン４０００が動作する仮想化サーバ３０００と、仮想マシン４０００が使用するストレージ５０００と、リクエストを適切な仮想マシン４０００へ転送する負荷分散装置２０００とを備え、負荷分散装置２０００が、クライアント端末１０００から過去に受信したリクエストに関し、当該リクエストに関する情報と、当該リクエストが仮想マシン４０００及びストレージ５０００に与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベース２５２と、新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベース２５２から類似リクエストを検索する類似リクエスト検索手段２０３と、類似リクエストに基づき新規リクエストの負荷を予測するとともに、仮想マシン４０００のキャッシュを考慮して、転送先として適切な仮想マシン４０００を選択する対象マシン選択手段２０６とを備え、リクエスト負荷情報が、リクエストに係る通信プロトコルの情報と、リクエストの種別の情報と、リクエストの実行対象を指定するオプションの情報とを含むことで、上述した本発明の課題を解決することができる。
【００９０】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明を行う。
【００９１】
図９は、本実施の形態による類似リクエスト検索手段２０３が類似リクエストを検索する際の動作を示すフローチャートである。
【００９２】
負荷分散装置２０００がクライアント端末１０００からリクエストを受信すると、プロトコル解析手段２０２が該リクエストの解析を行い、類似リクエスト検索手段２０３は、解析されたリクエスト（新規リクエスト）と、プロトコル、リクエスト種別及びオプションが一致するリクエストを、リクエスト負荷データベース２５２から検索する（Ｄ１、Ｄ２）。
【００９３】
検索の結果、新規リクエストとプロトコル、リクエスト種別及びオプションが一致するリクエストが有る場合、類似リクエスト検索手段２０３は、該リクエストを類似リクエストに設定する（Ｄ５）。
【００９４】
検索の結果、新規リクエストとプロトコル、リクエスト種別及びオプションが一致するリクエストがない場合、類似リクエスト検索手段２０３は、各オプションが残っているかを確認し（Ｄ３）、残っている場合は最後のオプションを除外する（Ｄ４）、この状態で再度検索をおこない（Ｄ１）、一致するリクエストがあるかを確認する（Ｄ２）。これを全てのオプションに対し実行し一致がない場合は類似リクエストなしと設定する（Ｄ６）。
【００９５】
次に、本発明の負荷分散装置２０００のハードウェア構成例について、図１１を参照して説明する。図１１は、負荷分散装置２０００のハードウェア構成例を示すブロック図である。
【００９６】
図１１を参照すると、本発明の負荷分散装置２０００は、一般的なコンピュータ装置と同様のハードウェア構成であり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２００１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリからなる、データの作業領域やデータの一時退避領域に用いられる主記憶部２００２、ネットワークを介してデータの送受信を行う通信部２００３、入力装置２００５や出力装置２００６及び記憶装置２００７と接続してデータの送受信を行う入出力インタフェース部２００４、上記各構成要素を相互に接続するシステムバス２００８を備えている。記憶装置２００７は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。
【００９７】
本発明の負荷分散装置２０００の各機能は、プログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置２００７に格納し、そのプログラムを主記憶部２００２にロードしてＣＰＵ２００１で実行することにより、ソフトウェア的に実現することも可能である。
【００９８】
また、本発明のクライアント端末１０００、仮想化サーバ３０００も、上記のようなハードウェア構成を有し、それぞれが有する各機能をハードウェア的又はソフトウェア的に実現する。
【００９９】
以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【０１００】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【０１０１】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【０１０２】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
【０１０３】
また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【０１０４】
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
【０１０５】
（付記１）
リクエストを送信するクライアント端末と、
仮想マシンが動作する仮想化サーバと、
前記仮想マシンが使用するストレージと、
前記リクエストを適切な前記仮想マシンへ転送する負荷分散装置とを備え、
前記負荷分散装置が、
前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記ストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベースと、
新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、前記リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索手段と、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記仮想マシンのキャッシュを考慮して、転送先として適切な前記仮想マシンを選択する対象マシン選択手段とを備え、
前記リクエスト負荷情報が、
前記リクエストに係る通信プロトコルの情報と、前記リクエストの種別の情報と、前記リクエストの実行対象を指定するオプションの情報とを含む
ことを特徴とする仮想化システム。
【０１０６】
（付記２）
前記類似リクエスト検索手段は、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記１に記載の仮想化システム。
【０１０７】
（付記３）
前記類似リクエスト検索手段は、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報がない場合、
前記オプションの情報にファイルが指定されているか否かを確認し、前記オプションの情報にファイルが指定されていた場合、
前記ファイルをオプションで指定している前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
該当する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記２に記載の仮想化システム。
【０１０８】
（付記４）
前記負荷分散装置が、
前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報の組み合わせに基づいて優先度を定義するプロトコルデータベースを備え、
前記類似リクエスト検索手段は、
前記オプションの情報にファイルが指定されていない場合、又は、前記オプションの情報にファイルが指定されているが、当該ファイルをオプションで指定している前記リクエスト負荷情報が前記リクエスト負荷データベースに存在しない場合、
前記プロトコルデータベースを参照し、
優先度が低いと設定されている組み合わせと一致する前記リクエスト負荷情報以外の前記リクエスト負荷情報であって、前記新規リクエストと前記通信プロトコルの情報及び前記リクエストの種別の情報が一致する前記リクエスト負荷情報を、前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
付記３に記載の仮想化システム。
【０１０９】
（付記５）
前記類似リクエスト検索手段が、
検索条件に一致するリクエスト負荷情報がない場合、類似リクエストな無いと判断する
ことを特徴とする付記４に記載の仮想化システム。
【０１１０】
（付記６）
前記負荷分散装置が、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースを備え、
前記対象マシン選択手段は、
前記リクエスト負荷データベースと前記負荷データベースを参照し、
前記類似リクエストが、転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷と、該転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージの現在の負荷とを比較して、該類似リクエストの負荷が、前記現在の負荷の状況に対して許容範囲内であるか否かを判断し、
許容範囲内であると判断した場合、該類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする付記１から付記５の何れか１項に記載の仮想化システム。
【０１１１】
（付記７）
前記負荷分散装置が、
前記仮想マシンに転送したリクエストの情報を格納するリクエストデータベースと、
前記リクエストデータベースにアクセスして情報を取得する履歴確認手段とを備え、
前記リクエストデータベースが、
当該リクエストについて、転送先の前記仮想マシンと、転送日時と、該リクエストが現在実行中であるか否かを示す実行中フラグとを組み合わせて格納し、
前記類似リクエストが複数あった場合、
前記履歴確認手段が、
該類似リクエストの実行後に実行された後続リクエストの数を、各前記類似リクエストについて確認し、
前記対象マシン選択手段が、
前記負荷が許容範囲内である前記類似リクエストのうち、前記後続リクエストの数が最も少ない前記類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする付記６に記載の仮想化システム。
【０１１２】
（付記８）
前記負荷分散装置が、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースと、
前記負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認手段とを備え、
前記負荷が許容範囲内である前記類似リクエストがない場合、
前記負荷確認手段が、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択手段が、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記６又は付記７に記載の仮想化システム。
【０１１３】
（付記９）
前記負荷分散装置が、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースと、
前記負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認手段とを備え、
前記類似リクエストが無かった場合、
前記負荷確認手段が、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択手段が、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記１から付記８の何れか１項に記載の仮想化システム。
【０１１４】
（付記１０）
前記負荷分散装置が、
前記仮想マシンからレスポンスを受信したリクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷を計算するリクエスト負荷確認手段を備え、
前記リクエスト負荷確認手段は、
前記リクエストデータベースから、前記仮想マシンで現在実行中である前記リクエストの一覧を取得し、
前記リクエスト負荷データベースを参照して、各リクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージ与えた負荷量を取得し、前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、各リクエストの負荷量を合算するとともに、
前記リクエスト負荷データベースを参照して、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷量を算出し、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの負荷量から、前記合算した負荷量を引くことで、前記レスポンスを受信したリクエストの負荷量を算出し、
前記算出した負荷量及び当該リクエストに関する情報を、前記リクエスト負荷データベースに格納する
ことを特徴とする付記８又は付記９に記載の仮想化システム。
【０１１５】
（付記１１）
前記リクエスト負荷確認手段は、
前記現在実行中のリクエストについて、前記リクエスト負荷データベースに負荷情報が存在しなかった場合、前記合算した負荷量と負荷情報が存在したリクエスト数を用いて、負荷情報が存在した当該リクエストの負荷量の平均値を算出し、
前記平均値を、前記負荷情報が存在しなかった当該リクエストの負荷量とする
ことを特徴とする付記１０に記載の仮想化システム。
【０１１６】
（付記１２）
クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置であって、
前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記ストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベースと、
新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、前記リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索手段と、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記仮想マシンのキャッシュを考慮して、転送先として適切な前記仮想マシンを選択する対象マシン選択手段とを備え、
前記リクエスト負荷情報が、
前記リクエストに係る通信プロトコルの情報と、前記リクエストの種別の情報と、前記リクエストの実行対象を指定するオプションの情報とを含む
ことを特徴とする負荷分散装置。
【０１１７】
（付記１３）
前記類似リクエスト検索手段は、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記１２に記載の負荷分散装置。
【０１１８】
（付記１４）
前記類似リクエスト検索手段は、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報がない場合、
前記オプションの情報にファイルが指定されているか否かを確認し、前記オプションの情報にファイルが指定されていた場合、
前記ファイルをオプションで指定している前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
該当する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記１３に記載の負荷分散装置。
【０１１９】
（付記１５）
前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報の組み合わせに基づいて優先度を定義するプロトコルデータベースを備え、
前記類似リクエスト検索手段は、
前記オプションの情報にファイルが指定されていない場合、又は、前記オプションの情報にファイルが指定されているが、当該ファイルをオプションで指定している前記リクエスト負荷情報が前記リクエスト負荷データベースに存在しない場合、
前記プロトコルデータベースを参照し、
優先度が低いと設定されている組み合わせと一致する前記リクエスト負荷情報以外の前記リクエスト負荷情報であって、前記新規リクエストと前記通信プロトコルの情報及び前記リクエストの種別の情報が一致する前記リクエスト負荷情報を、前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記１４に記載の負荷分散装置。
【０１２０】
（付記１６）
前記類似リクエスト検索手段が、
検索条件に一致するリクエスト負荷情報がない場合、類似リクエストが無いと判断する
ことを特徴とする付記１５に記載の負荷分散装置。
【０１２１】
（付記１７）
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースを備え、
前記対象マシン選択手段は、
前記リクエスト負荷データベースと前記負荷データベースを参照し、
前記類似リクエストが、転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷と、該転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージの現在の負荷とを比較して、該類似リクエストの負荷が、前記現在の負荷の状況に対して許容範囲内であるか否かを判断し、
許容範囲内であると判断した場合、該類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする付記１３から付記１６の何れか１項に記載の負荷分散装置。
【０１２２】
（付記１８）
前記仮想マシンに転送したリクエストの情報を格納するリクエストデータベースと、
前記リクエストデータベースにアクセスして情報を取得する履歴確認手段とを備え、
前記リクエストデータベースが、
当該リクエストについて、転送先の前記仮想マシンと、転送日時と、該リクエストが現在実行中であるか否かを示す実行中フラグとを組み合わせて格納し、
前記類似リクエストが複数あった場合、
前記履歴確認手段が、
該類似リクエストの実行後に実行された後続リクエストの数を、各前記類似リクエストについて確認し、
前記対象マシン選択手段が、
前記負荷が許容範囲内である前記類似リクエストのうち、前記後続リクエストの数が最も少ない前記類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする付記１７に記載の負荷分散装置。
【０１２３】
（付記１９）
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースと、
前記負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認手段とを備え、
前記負荷が許容範囲内である前記類似リクエストがない場合、
前記負荷確認手段が、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択手段が、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記１７又は付記１８に記載の負荷分散装置。
【０１２４】
（付記２０）
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースと、
前記負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認手段とを備え、
前記類似リクエストが無かった場合、
前記負荷確認手段が、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択手段が、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記１２から付記１９の何れか１項に記載の負荷分散装置。
【０１２５】
（付記２１）
前記仮想マシンからレスポンスを受信したリクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷を計算するリクエスト負荷確認手段を備え、
前記リクエスト負荷確認手段は、
前記リクエストデータベースから、前記仮想マシンで現在実行中である前記リクエストの一覧を取得し、
前記リクエスト負荷データベースを参照して、各リクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージ与えた負荷量を取得し、前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、各リクエストの負荷量を合算するとともに、
前記リクエスト負荷データベースを参照して、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷量を算出し、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの負荷量から、前記合算した負荷量を引くことで、前記レスポンスを受信したリクエストの負荷量を算出し、
前記算出した負荷量及び当該リクエストに関する情報を、前記リクエスト負荷データベースに格納する
ことを特徴とする付記１９又は付記２０に記載の負荷分散装置。
【０１２６】
（付記２２）
前記リクエスト負荷確認手段は、
前記現在実行中のリクエストについて、前記リクエスト負荷データベースに負荷情報が存在しなかった場合、前記合算した負荷量と負荷情報が存在したリクエスト数を用いて、負荷情報が存在した当該リクエストの負荷量の平均値を算出し、
前記平均値を、前記負荷情報が存在しなかった当該リクエストの負荷量とする
ことを特徴とする付記２１に記載の負荷分散装置。
【０１２７】
（付記２３）
クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置による負荷分散方法であって、
新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索ステップを、類似リクエスト検索手段が実行し、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記仮想マシンのキャッシュを考慮して、転送先として適切な前記仮想マシンを選択する対象マシン選択ステップを、対象マシン選択手段が実行し、
前記リクエスト負荷情報が、
前記リクエストに係る通信プロトコルの情報と、前記リクエストの種別の情報と、前記リクエストの実行対象を指定するオプションの情報とを含み、
前記リクエスト負荷データベースが、
前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記ストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納する
ことを特徴とする負荷分散方法。
【０１２８】
（付記２４）
前記類似リクエスト検索ステップで、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記２３に記載の負荷分散方法。
【０１２９】
（付記２５）
前記類似リクエスト検索ステップで、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報がない場合、
前記オプションの情報にファイルが指定されているか否かを確認し、前記オプションの情報にファイルが指定されていた場合、
前記ファイルをオプションで指定している前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
該当する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記２４に記載の負荷分散方法。
【０１３０】
（付記２６）
前記類似リクエスト検索ステップで、
前記オプションの情報にファイルが指定されていない場合、又は、前記オプションの情報にファイルが指定されているが、当該ファイルをオプションで指定している前記リクエスト負荷情報が前記リクエスト負荷データベースに存在しない場合、
プロトコルデータベースを参照し、
優先度が低いと設定されている組み合わせと一致する前記リクエスト負荷情報以外の前記リクエスト負荷情報であって、前記新規リクエストと前記通信プロトコルの情報及び前記リクエストの種別の情報が一致する前記リクエスト負荷情報を、前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断し、
前記プロトコルデータベースが、
前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報の組み合わせに基づいて優先度を定義する
ことを特徴とする付記２５に記載の負荷分散方法。
【０１３１】
（付記２７）
前記類似リクエスト検索ステップで、
検索条件に一致するリクエスト負荷情報がない場合、類似リクエストが無いと判断する
ことを特徴とする付記２６に記載の負荷分散方法。
【０１３２】
（付記２８）
前記対象マシン選択ステップで、
前記リクエスト負荷データベースと負荷データベースを参照し、
前記類似リクエストが、転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷と、該転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージの現在の負荷とを比較して、該類似リクエストの負荷が、前記現在の負荷の状況に対して許容範囲内であるか否かを判断し、
許容範囲内であると判断した場合、該類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択し、
前記負荷データベースが、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷の情報を格納する
ことを特徴とする付記２４から付記２７の何れか１項に記載の負荷分散方法。
【０１３３】
（付記２９）
前記仮想マシンに転送したリクエストの情報を格納するリクエストデータベースにアクセスして情報を取得する履歴確認ステップを、履歴確認手段が実行し、
前記リクエストデータベースが、
当該リクエストについて、転送先の前記仮想マシンと、転送日時と、該リクエストが現在実行中であるか否かを示す実行中フラグとを組み合わせて格納し、
前記類似リクエストが複数あった場合、
前記履歴確認ステップで、
該類似リクエストの実行後に実行された後続リクエストの数を、各前記類似リクエストについて確認し、
前記対象マシン選択ステップで、
前記負荷が許容範囲内である前記類似リクエストのうち、前記後続リクエストの数が最も少ない前記類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする付記２８に記載の負荷分散方法。
【０１３４】
（付記３０）
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認ステップを、負荷確認手段が実行し、
前記負荷が許容範囲内である前記類似リクエストがない場合、
前記負荷確認ステップで、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択ステップで、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記２８又は付記２９に記載の負荷分散方法。
【０１３５】
（付記３１）
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認ステップを、負荷確認手段が実行し、
前記類似リクエストが無かった場合、
前記負荷確認ステップで、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択ステップで、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記２３から付記３０の何れか１項に記載の負荷分散方法。
【０１３６】
（付記３２）
前記仮想マシンからレスポンスを受信したリクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷を計算するリクエスト負荷確認ステップを、深確認手段が実行し、
前記リクエスト負荷確認ステップで、
前記リクエストデータベースから、前記仮想マシンで現在実行中である前記リクエストの一覧を取得し、
前記リクエスト負荷データベースを参照して、各リクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージ与えた負荷量を取得し、前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、各リクエストの負荷量を合算するとともに、
前記リクエスト負荷データベースを参照して、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷量を算出し、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの負荷量から、前記合算した負荷量を引くことで、前記レスポンスを受信したリクエストの負荷量を算出し、
前記算出した負荷量及び当該リクエストに関する情報を、前記リクエスト負荷データベースに格納する
ことを特徴とする付記３０又は付記３１に記載の負荷分散方法。
【０１３７】
（付記３３）
前記リクエスト負荷確認ステップで、
前記現在実行中のリクエストについて、前記リクエスト負荷データベースに負荷情報が存在しなかった場合、前記合算した負荷量と負荷情報が存在したリクエスト数を用いて、負荷情報が存在した当該リクエストの負荷量の平均値を算出し、
前記平均値を、前記負荷情報が存在しなかった当該リクエストの負荷量とする
ことを特徴とする付記３２に記載の負荷分散方法。
【０１３８】
（付記３４）
クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置を構成するコンピュータ上で動作する負荷分散プログラムであって、
新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索処理を、類似リクエスト検索手段に実行させ、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記仮想マシンのキャッシュを考慮して、転送先として適切な前記仮想マシンを選択する対象マシン選択処理を、対象マシン選択手段に実行させ、
前記リクエスト負荷情報が、
前記リクエストに係る通信プロトコルの情報と、前記リクエストの種別の情報と、前記リクエストの実行対象を指定するオプションの情報とを含み、
前記リクエスト負荷データベースが、
前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記ストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納する
ことを特徴とする負荷分散プログラム。
【０１３９】
（付記３５）
前記類似リクエスト検索処理で、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記３４に記載の負荷分散プログラム。
【０１４０】
（付記３６）
前記類似リクエスト検索処理で、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報がない場合、
前記オプションの情報にファイルが指定されているか否かを確認し、前記オプションの情報にファイルが指定されていた場合、
前記ファイルをオプションで指定している前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
該当する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記３５に記載の負荷分散プログラム。
【０１４１】
（付記３７）
前記類似リクエスト検索処理で、
前記オプションの情報にファイルが指定されていない場合、又は、前記オプションの情報にファイルが指定されているが、当該ファイルをオプションで指定している前記リクエスト負荷情報が前記リクエスト負荷データベースに存在しない場合、
プロトコルデータベースを参照し、
優先度が低いと設定されている組み合わせと一致する前記リクエスト負荷情報以外の前記リクエスト負荷情報であって、前記新規リクエストと前記通信プロトコルの情報及び前記リクエストの種別の情報が一致する前記リクエスト負荷情報を、前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断し、
前記プロトコルデータベースが、
前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報の組み合わせに基づいて優先度を定義する
ことを特徴とする付記３６に記載の負荷分散プログラム。
【０１４２】
（付記３８）
前記類似リクエスト検索処理で、
検索条件に一致するリクエスト負荷情報がない場合、類似リクエストが無いと判断する
ことを特徴とする付記３７に記載の負荷分散プログラム。
【０１４３】
（付記３９）
前記対象マシン選択処理で、
前記リクエスト負荷データベースと負荷データベースを参照し、
前記類似リクエストが、転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷と、該転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージの現在の負荷とを比較して、該類似リクエストの負荷が、前記現在の負荷の状況に対して許容範囲内であるか否かを判断し、
許容範囲内であると判断した場合、該類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択し、
前記負荷データベースが、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷の情報を格納する
ことを特徴とする付記３５から付記３８の何れか１項に記載の負荷分散プログラム。
【０１４４】
（付記４０）
前記仮想マシンに転送したリクエストの情報を格納するリクエストデータベースにアクセスして情報を取得する履歴確認処理を、履歴確認手段に実行させ、
前記リクエストデータベースが、
当該リクエストについて、転送先の前記仮想マシンと、転送日時と、該リクエストが現在実行中であるか否かを示す実行中フラグとを組み合わせて格納し、
前記類似リクエストが複数あった場合、
前記履歴確認処理で、
該類似リクエストの実行後に実行された後続リクエストの数を、各前記類似リクエストについて確認し、
前記対象マシン選択処理で、
前記負荷が許容範囲内である前記類似リクエストのうち、前記後続リクエストの数が最も少ない前記類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする付記３９に記載の負荷分散プログラム。
【０１４５】
（付記４１）
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認処理を、負荷確認手段に実行させ、
前記負荷が許容範囲内である前記類似リクエストがない場合、
前記負荷確認処理で、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択処理で、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記３９又は付記４０に記載の負荷分散プログラム。
【０１４６】
（付記４２）
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認処理を、負荷確認手段に実行させ、
前記類似リクエストが無かった場合、
前記負荷確認処理で、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択処理で、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記３４から付記４１の何れか１項に記載の負荷分散プログラム。
【０１４７】
（付記４３）
前記仮想マシンからレスポンスを受信したリクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷を計算するリクエスト負荷確認処理を、深確認手段に実行させ、
前記リクエスト負荷確認処理で、
前記リクエストデータベースから、前記仮想マシンで現在実行中である前記リクエストの一覧を取得し、
前記リクエスト負荷データベースを参照して、各リクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージ与えた負荷量を取得し、前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、各リクエストの負荷量を合算するとともに、
前記リクエスト負荷データベースを参照して、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷量を算出し、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの負荷量から、前記合算した負荷量を引くことで、前記レスポンスを受信したリクエストの負荷量を算出し、
前記算出した負荷量及び当該リクエストに関する情報を、前記リクエスト負荷データベースに格納する
ことを特徴とする付記４１又は付記４２に記載の負荷分散プログラム。
【０１４８】
（付記４４）
前記リクエスト負荷確認処理で、
前記現在実行中のリクエストについて、前記リクエスト負荷データベースに負荷情報が存在しなかった場合、前記合算した負荷量と負荷情報が存在したリクエスト数を用いて、負荷情報が存在した当該リクエストの負荷量の平均値を算出し、
前記平均値を、前記負荷情報が存在しなかった当該リクエストの負荷量とする
ことを特徴とする付記４３に記載の負荷分散プログラム。
【産業上の利用可能性】
【０１４９】
本発明によれば、仮想化環境など、複数の機能を持ったサーバとストレージで構成され、かつ複数のプロトコルを扱う環境における負荷分散技術に適用できる。
【符号の説明】
【０１５０】
１００：仮想化システム
１０００：クライアント端末
２０００：負荷分散装置
２０１：リクエスト受信手段
２０２：プロトコル解析手段
２０３：類似リクエスト検索手段
２０４：履歴確認手段
２０５：負荷確認手段
２０６：対象マシン選択手段
２０５：リクエスト転送手段
２０９：レスポンス転送手段
２１０：リクエスト負荷確認手段
２１１：レスポンス受信手段
２１２：構成要素負荷取得手段
２００１：ＣＰＵ
２００２：主記憶部
２００３：通信部
２００４：入出力インタフェース部
２００５：入力装置
２００６：出力装置
２００７：記憶装置
２００８：システムバス
３０００（３０００−１〜３０００−２）：仮想化サーバ
４０００：仮想マシン
５０００（５０００−１〜５０００−２）：ストレージ
【図１】
0005957965.tif 000002
【図２】
0005957965.tif 000003
【図３】
0005957965.tif 000004
【図４】
0005957965.tif 000005
【図５】
0005957965.tif 000006
【図６】
0005957965.tif 000007
【図７】
0005957965.tif 000008
【図８】
0005957965.tif 000009
【図９】
0005957965.tif 000010
【図１０】
0005957965.tif 000011
【図１１】
0005957965.tif 000012