(57)【特許請求の範囲】
【請求項１】
複数の物理マシン上に仮想的に生成される複数の仮想マシンにより実現されるシステムを管理する管理装置であって、
前記システムの仕様を規定する仕様条件を取得する仕様条件取得部と、
前記仕様条件に基づき、前記複数の物理マシンへの前記複数の仮想マシンの割り当てを決定するシステム配置部と、
を備え、
前記システム配置部は、
前記複数の仮想マシンのうち少なくとも１つの仮想マシンの前記複数の物理マシンへの割り当てが変更された場合において、前記少なくとも１つの仮想マシンの演算処理性能が向上した場合に、前記少なくとも１つの仮想マシンの演算処理性能の変動が、予め定められた範囲内になるように、前記少なくとも１つの仮想マシンの演算処理性能を制限する、
管理装置。
【請求項２】
前記システム配置部は、前記少なくとも１つの仮想マシンの演算処理性能の変動が予め定められた範囲内になるように、前記複数の物理マシンへの前記複数の仮想マシンの割り当てを決定する、
請求項１に記載の管理装置。
【請求項３】
前記システム配置部は、
前記仕様条件に基づいて、前記複数の物理マシンの間での前記少なくとも１つの仮想マシンの移動が必要であるか否かを判断し、
前記複数の物理マシンの間での前記少なくとも１つの仮想マシンの移動が必要であると判断した場合に、前記複数の物理マシンの間での前記少なくとも１つの仮想マシンの移動処理を実行する、
請求項１又は請求項２に記載の管理装置。
【請求項４】
前記複数の仮想マシンの演算処理環境に関する情報を収集する情報収集部をさらに備え、
前記仕様条件は、
前記複数の仮想マシンのそれぞれについて、どのような物理マシン上に生成されるべきかを規定するシステム配置条件と、
前記システムを運用する条件を規定するシステム運用条件と、
仮想マシンの演算処理環境に関する条件と、
を含み、
前記システム配置部は、
前記システム配置条件に基づき、前記複数の物理マシンへの前記複数の仮想マシンの割り当てを決定し、
前記情報収集部が収集した情報、前記システム運用条件および前記仮想マシンの演算処理環境に関する条件に基づき、前記少なくとも１つの仮想マシンの演算処理性能を制限する制限信号を出力する、
請求項１から請求項３までの何れか一項に記載の管理装置。
【請求項５】
請求項４に記載の管理装置と、
前記複数の物理マシンの少なくとも１つの物理マシンと接続され、前記少なくとも１つの物理マシン上に生成される前記少なくとも１つの仮想マシンを管理する仮想マシン管理装置と、
を備え、
前記仮想マシン管理装置は、
前記少なくとも１つの物理マシンの演算処理資源のうち、前記少なくとも１つの仮想マシンに割り当てる演算処理資源を調整するリソース割り当て調整部を有し、
前記リソース割り当て調整部は、前記システム配置部の出力した前記制限信号に基づいて、前記少なくとも１つの仮想マシンの演算処理性能を制限する、
管理システム。
【請求項６】
前記システム配置部は、前記仮想マシン管理装置に対して、前記システム配置条件と、前記システム運用条件と、前記仮想マシンの演算処理環境に関する条件とを通知し、
前記リソース割り当て調整部は、前記システム配置条件と、前記システム運用条件と、前記仮想マシンの演算処理環境に関する条件とに基づき、前記少なくとも１つの物理マシンの演算処理資源のうち、前記少なくとも１つの仮想マシンに割り当てる演算処理資源を調整する、
請求項５に記載の管理システム。
【請求項７】
複数の物理マシン上に仮想的に生成される複数の仮想マシンにより実現されるシステムを管理する管理方法であって、
前記システムの仕様を規定する仕様条件を取得する仕様条件取得段階と、
前記仕様条件に基づき、前記複数の物理マシンへの前記複数の仮想マシンの割り当てを決定するシステム配置段階と、
を備え、
前記システム配置段階は、
前記複数の仮想マシンのうち少なくとも１つの仮想マシンの前記複数の物理マシンへの割り当てが変更された場合において、前記少なくとも１つの仮想マシンの演算処理性能が向上した場合に、前記少なくとも１つの仮想マシンの演算処理性能の変動が予め定められた範囲内になるように、前記少なくとも１つの仮想マシンの演算処理性能を制限する制限段階を有する、
管理方法。
【請求項８】
コンピュータを、
複数の物理マシン上に仮想的に生成される複数の仮想マシンにより実現されるシステムを管理する管理装置として機能させるプログラムであって、
前記管理装置は、
前記システムの仕様を規定する仕様条件を取得する仕様条件取得部と、
前記仕様条件に基づき、前記複数の物理マシンへの前記複数の仮想マシンの割り当てを決定するシステム配置部と、
を備え、
前記システム配置部は、
前記複数の仮想マシンのうち少なくとも１つの仮想マシンの前記複数の物理マシンへの割り当てが変更された場合において、前記少なくとも１つの仮想マシンの演算処理性能が向上した場合に、前記少なくとも１つの仮想マシンの演算処理性能の変動が予め定められた範囲内になるように、前記少なくとも１つの仮想マシンの演算処理性能を制限するように機能する、
プログラム。
【請求項９】
複数の物理マシン上に仮想的に生成される複数の仮想マシンにより実現されるシステムを管理する管理装置であって、
前記システムの仕様を規定する仕様条件を取得する仕様条件取得部と、
前記仕様条件に基づき、前記複数の物理マシンへの前記複数の仮想マシンの割り当てを決定するシステム配置部と、
前記複数の仮想マシンの演算処理環境に関する情報を収集する情報収集部と、
を備え、
前記仕様条件は、前記複数の仮想マシンのそれぞれについて、どのような物理マシン上に生成されるべきかを規定するシステム配置条件と、前記システムを運用する条件を規定するシステム運用条件と、仮想マシンの演算処理環境に関する条件とを含み、
前記システム配置部は、
前記システム配置条件に基づき、前記複数の物理マシンへの前記複数の仮想マシンの割り当てを決定し、
前記情報収集部が収集した情報、前記システム運用条件および前記仮想マシンの演算処理環境に関する条件に基づき、前記複数の仮想マシンのうち、少なくとも１つの仮想マシンの演算処理性能を制御する制御信号を出力し、
前記システム配置部は、
前記複数の物理マシンへの前記複数の仮想マシンの割り当てを決定する前に、前記複数の物理マシンに前記複数の仮想マシンを割り当てる複数の組み合わせにつき、割り当て後の前記複数の仮想マシンの演算処理性能をシミュレートする、
管理装置。
【請求項１０】
前記仕様条件取得部は、
特定の機能を実現するためのシステムの機能に関する情報と、前記特定の機能を実現するためのシステムの構造に関す条件とが対応づけられた情報、又は、特定の規模若しくは用途におけるシステムを構成する仮想マシンの演算処理環境に関する条件に関する情報をユーザに提供し、
前記ユーザにより入力された、前記システムの構造に関する条件又は前記システムを構築する仮想マシンの演算処理環境に関する条件を前記仕様条件として取得する、
請求項９に記載の管理装置。
【請求項１１】
複数のクラウドサービスの中から、前記仕様条件を満足するクラウドサービスを抽出するクラウド評価部を更に備え、
前記システム配置部は、前記仕様条件及び前記クラウド評価部の抽出結果に基づいて、前記複数の物理マシンへの前記複数の仮想マシンの割り当てを決定する、
請求項９又は請求項１０に記載の管理装置。
【請求項１２】
請求項９から請求項１１までの何れか一項に記載の管理装置と、
前記複数の物理マシンの少なくとも１つの物理マシンと接続され、前記少なくとも１つの物理マシン上に生成される前記少なくとも１つの仮想マシンを管理する仮想マシン管理装置と、
を備え、
前記仮想マシン管理装置は、
前記少なくとも１つの物理マシンの演算処理資源のうち、前記少なくとも１つの仮想マシンに割り当てる演算処理資源を調整するリソース割り当て調整部を有し、
前記リソース割り当て調整部は、前記システム配置部の出力した前記制御信号に基づいて、前記少なくとも１つの仮想マシンの演算処理性能を制御する、
管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、管理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、同一の物理マシンに複数の論理的なサーバ等（仮想マシンと称する場合がある。）を構築する仮想化技術が普及しつつある。仮想化技術を用いることで、複数の仮想マシンにより構成されたシステムを構築することができる。仮想化技術を用いたシステムでは仮想マシンの追加、変更または移動が容易なので、リソース状況または用途の変更に応じて、システムの構造を柔軟に変更することができる。（例えば、特許文献１〜４を参照。）。
特許文献１  特開２００７−０４８３１５号公報
特許文献２  特開２００８−２９３２８３号公報
特許文献３  特開２００９−１７５７８８号公報
特許文献４  特開２００９−１９９３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、システムの構造を変更する場合には、論理構成と物理構成とを再度マッピングしなければならず、頻繁にシステムの構造を変更することは難しい。また、物理マシンのリソース状況が変化したり、異なる物理マシン上に仮想マシンが移動された場合には、仮想マシンの演算処理性能が変動する。仮想マシンの演算処理性能が頻繁に変動すると、仮想マシンを用いて実現されるシステムの管理が煩雑になる。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明の第１の態様においては、複数の物理マシン上に仮想的に生成される複数の仮想マシンにより実現されるシステムを管理する管理装置であって、システムの仕様を規定する仕様条件を取得する仕様条件取得部と、仕様条件に基づき、複数の物理マシンへの複数の仮想マシンの割り当てを決定するシステム配置部とを備え、システム配置部は、複数の仮想マシンのうち、少なくとも１つの仮想マシンの演算処理性能が向上した場合に、少なくとも１つの仮想マシンの演算処理性能の変動が、予め定められた範囲内になるように、少なくとも１つの仮想マシンの演算処理性能を制限する管理装置が提供される。上記の管理装置において、システム配置部は、少なくとも１つの仮想マシンの演算処理性能の変動が予め定められた範囲内になるように、複数の物理マシンへの複数の仮想マシンの割り当てを決定してよい。
【０００５】
上記の管理装置において、複数の仮想マシンの演算処理環境に関する情報を収集する情報収集部をさらに備え、仕様条件は、複数の仮想マシンのそれぞれについて、どのような物理マシン上に生成されるべきかを規定するシステム配置条件と、システムを運用する条件を規定するシステム運用条件と、仮想マシンの演算処理環境に関する条件とを含み、システム配置部は、システム配置条件に基づき、複数の物理マシンへの複数の仮想マシンの割り当てを決定し、情報収集部が収集した情報、システム運用条件および仮想マシンの演算処理環境に関する条件に基づき、少なくとも１つの仮想マシンの演算処理性能を制限する制限信号を出力してよい。
【０００６】
本発明の第２の態様においては、上記の管理装置と、複数の物理マシンの少なくとも１つの物理マシンと接続され、少なくとも１つの物理マシン上に生成される少なくとも１つの仮想マシンを管理する仮想マシン管理装置とを備え、仮想マシン管理装置は、少なくとも１つの物理マシンの演算処理資源のうち、少なくとも１つの仮想マシンに割り当てる演算処理資源を調整するリソース割り当て調整部を有し、リソース割り当て調整部は、システム配置部の出力した制限信号に基づいて、少なくとも１つの仮想マシンの演算処理性能を制限する管理システムが提供される。
【０００７】
上記の管理システムにおいて、システム配置部は、仮想マシン管理装置に対して、システム配置条件と、システム運用条件と、仮想マシンの演算処理環境に関する条件とを通知し、リソース割り当て調整部は、システム配置条件と、システム運用条件と、仮想マシンの演算処理環境に関する条件とに基づき、少なくとも１つの物理マシンの演算処理資源のうち、少なくとも１つの仮想マシンに割り当てる演算処理資源を調整してよい。
【０００８】
本発明の第３の態様においては、複数の物理マシン上に仮想的に生成される複数の仮想マシンにより実現されるシステムを管理する管理方法であって、システムの仕様を規定する仕様条件を取得する仕様条件取得段階と、仕様条件に基づき、複数の物理マシンへの複数の仮想マシンの割り当てを決定するシステム配置段階とを備え、システム配置段階は、複数の仮想マシンのうち、少なくとも１つの仮想マシンの演算処理性能が向上した場合に、少なくとも１つの仮想マシンの演算処理性能の変動が予め定められた範囲内になるように、少なくとも１つの仮想マシンの演算処理性能を制限する制限段階を有する管理方法が提供される。
【０００９】
本発明の第４の態様においては、コンピュータを、複数の物理マシン上に仮想的に生成される複数の仮想マシンにより実現されるシステムを管理する管理装置として機能させるプログラムであって、管理装置は、システムの仕様を規定する仕様条件を取得する仕様条件取得部と、仕様条件に基づき、複数の物理マシンへの複数の仮想マシンの割り当てを決定するシステム配置部とを備え、システム配置部は、複数の仮想マシンのうち、少なくとも１つの仮想マシンの演算処理性能が向上した場合に、少なくとも１つの仮想マシンの演算処理性能の変動が予め定められた範囲内になるように、少なくとも１つの仮想マシンの演算処理性能を制限するように機能するプログラムが提供される。
【００１０】
本発明の第５の態様においては、複数の物理マシン上に仮想的に生成される複数の仮想マシンにより実現されるシステムを管理する管理装置であって、システムの仕様を規定する仕様条件を取得する仕様条件取得部と、仕様条件に基づき、複数の物理マシンへの複数の仮想マシンの割り当てを決定するシステム配置部と、複数の仮想マシンの演算処理環境に関する情報を収集する情報収集部とを備え、仕様条件は、複数の仮想マシンのそれぞれについて、どのような物理マシン上に生成されるべきかを規定するシステム配置条件と、システムを運用する条件を規定するシステム運用条件と、仮想マシンの演算処理環境に関する条件とを含み、システム配置部は、システム配置条件に基づき、複数の物理マシンへの複数の仮想マシンの割り当てを決定し、情報収集部が収集した情報、システム運用条件および仮想マシンの演算処理環境に関する条件に基づき、複数の仮想マシンのうち、少なくとも１つの仮想マシンの演算処理性能を制御する制御信号を出力する管理装置が提供される。
【００１１】
本発明の第６の態様においては、上記の管理装置と、複数の物理マシンの少なくとも１つの物理マシンと接続され、少なくとも１つの物理マシン上に生成される少なくとも１つの仮想マシンを管理する仮想マシン管理装置とを備え、仮想マシン管理装置は、少なくとも１つの物理マシンの演算処理資源のうち、少なくとも１つの仮想マシンに割り当てる演算処理資源を調整するリソース割り当て調整部を有し、リソース割り当て調整部は、システム配置部の出力した制御信号に基づいて、少なくとも１つの仮想マシンの演算処理性能を制御する管理システムが提供される。
【００１２】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１３】
【図１】クラウド運用システム１００の一例を概略的に示す。
【図２】クラウド管理装置１２０の内部構成の一例を概略的に示す。
【図３】クラウド管理装置１２０における処理の一例を概略的に示す。
【図４】仮想マシン管理装置１３２の内部構成の一例を概略的に示す。
【図５】クラウド運用システム１００の情報処理の一例を概略的に示す。
【図６】データテーブル６００の一例を概略的に示す。
【図７】ユーザが入力する仕様条件の一例を概略的に示す。
【図８】データテーブル８００の一例を概略的に示す。
【図９】クラウド運用システム１００の情報処理の一例を概略的に示す。
【図１０Ａ】クラウド運用システム１００の情報処理の他の例を概略的に示す。
【図１０Ｂ】図１０Ａにおける情報処理の一部における処理の一例を概略的に示す。
【図１０Ｃ】図１０Ａにおける情報処理の一部における処理の一例を概略的に示す。
【図１０Ｄ】図１０Ａにおける情報処理の一部における処理の一例を概略的に示す。
【図１１Ａ】仕様条件とクラウド管理装置１２０の機能との対応関係の一例を示す。
【図１１Ｂ】仕様条件とクラウド管理装置１２０の機能との対応関係の一例を示す。
【図１２Ａ】仕様条件とクラウド管理装置１２０の機能との対応関係の一例を示す。
【図１２Ｂ】仕様条件とクラウド管理装置１２０の機能との対応関係の一例を示す。
【図１３Ａ】仕様条件とクラウド管理装置１２０の機能との対応関係の一例を示す。
【図１３Ｂ】仕様条件とクラウド管理装置１２０の機能との対応関係の一例を示す。
【図１４】コンピュータ１９００のハードウェア構成の一例を概略的に示す。
【発明を実施するための形態】
【００１４】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１５】
図１は、クラウド運用システム１００の一例を概略的に示す。クラウド運用システム１００は、ユーザ端末１１０と、クラウド管理装置１２０と、クラウド提供会社１３０の仮想マシン管理装置１３２と、クラウド提供会社１４０の仮想マシン管理装置１４２と、クラウド提供会社１５０の仮想マシン管理装置１５２とを備える。クラウド運用システム１００は、管理システムの一例であってよい。クラウド管理装置１２０は、管理装置の一例であってよい。
【００１６】
本実施形態において、ユーザ端末１１０、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２は、ネットワーク１０を介して接続される。ネットワーク１０としては、インターネット、専用回線、無線パケット通信網などを例示することができる。
【００１７】
クラウド運用システム１００は、仮想サーバサービスまたはクラウドサービス（クラウドサービス等と称する場合がある。）を、ユーザに提供する。ユーザは、クラウド運用システム１００を用いて、複数の物理マシン上に仮想的に生成される複数の仮想マシンにより、一定の機能を実現するシステムを構築することができる。
【００１８】
物理マシンとしては、物理サーバ、ルータ、ストレージなどを例示することができる。一定の機能を実現するシステムとしては、宿泊予約システム、電子商取引システム、勘定系システムなどを例示することができる。
【００１９】
ユーザは、ユーザ端末１１０を介してクラウド運用システム１００との間で情報をやりとりすることができる。ユーザは、クラウドサービス等を利用して構築するシステムの仕様を規定する仕様条件を、クラウド運用システム１００に入力してよい。仕様条件の少なくとも一部は、クラウド運用システム１００の初期設定として設定されていてもよい。
【００２０】
仕様条件としては、ユーザがクラウドサービス等を利用して構築するシステムの構造に関する条件（システムの構造に関する条件と称する場合がある。）、クラウドサービス等の仕様または運用に対するユーザの要求に関する条件（ユーザの要求に関する条件と称する場合がある。）などを例示することができる。仕様条件は、システム毎に設定されてもよく、当該システムを構成するサブシステム毎に設定されてもよく、当該システムを構成する仮想マシン毎に設定されてもよい。
【００２１】
システムの構造に関する条件としては、当該システムがいくつのサブシステムを有するのか、それぞれのサブシステムはどのような機能を有するのか、それぞれのサブシステムはいくつの仮想マシンを有するのか、それぞれの仮想マシンはどの仮想マシンと接続されるのか等を例示することができる。
【００２２】
ユーザの要求に関する条件としては、システムを実現する複数の仮想マシンのそれぞれについて、どのような物理マシン上に生成されるべきかを規定するシステム配置条件、システムを運用する条件を規定するシステム運用条件、仮想マシンの演算処理環境に関する条件、クラウド提供会社に関する条件、システムを構成するサブシステムを複数のグループに分類するシステム構成条件などを例示することができる。
【００２３】
仕様条件は、目的の異なる複数のシステム構成条件を含んでよい。例えば、仕様条件は、演算処理資源の共有が許される複数のサブシステムを規定する目的でサブシステムを分類したシステム構成条件と、物理サーバの共有が許される複数のサブシステムを規定する目的でサブシステムを分類したシステム構成条件とを含んでよい。演算処理資源（リソースと称する場合がある。）としては、ＣＰＵ、メモリ、ストレージ、ネットワークのＩ／Ｏなどを例示することができる。
【００２４】
クラウド運用システム１００は、クラウド提供会社１３０、クラウド提供会社１４０およびクラウド提供会社１５０が提供するクラウドサービス等の中から、ユーザが入力した仕様条件を満足するクラウドサービス等を抽出してよい。クラウド運用システム１００は、クラウド提供会社１３０、クラウド提供会社１４０およびクラウド提供会社１５０が提供するクラウドサービス等を組み合わせて、ユーザが入力した仕様条件を満足するクラウドサービス等を提供してよい。
【００２５】
ユーザは、ユーザ端末１１０およびネットワーク１０を介して、クラウド管理装置１２０との間で情報をやりとりすることができる。ユーザ端末１１０は、ネットワーク１０を介してクラウド管理装置１２０と通信できる装置であればよく、Ｗｅｂブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末、無線端末などにより実現することができる。
【００２６】
クラウド管理装置１２０は、クラウド提供会社が提供するクラウドサービス等を利用して、ユーザが入力した仕様条件を満足するシステムを構築してよい。これにより、クラウド管理装置１２０は、ユーザが入力した仕様条件を満足するシステムを、複数の物理マシン上に仮想的に生成される複数の仮想マシンにより実現することができる。
【００２７】
クラウド管理装置１２０は、ユーザ端末１１０から、ユーザが入力した仕様条件を受け取ってよい。クラウド管理装置１２０は、ユーザが入力した仕様条件に基づいて、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２を制御してよい。
【００２８】
クラウド管理装置１２０は、ユーザが入力した仕様条件と、複数のクラウド提供会社が提供するクラウドサービス等とを比較して、システムを構築するクラウド提供会社を選択してよい。クラウド管理装置１２０は、選択したクラウド提供会社の仮想マシン管理装置に対して、ユーザが入力した仕様条件を通知してよい。クラウド管理装置１２０からの通知を受け取った仮想マシン管理装置は、ユーザが入力した仕様条件に基づいて、システムを構築してよい。
【００２９】
クラウド管理装置１２０は、ユーザが入力した仕様条件に基づいて、システムを複数のサブシステムに分割してもよい。クラウド管理装置１２０は、複数のサブシステムのそれぞれを、異なるクラウド提供会社が提供するクラウドサービス等を利用して構築してもよい。クラウド管理装置１２０は、システムを構築した後で、複数のクラウド提供会社が提供するクラウドサービス等を比較して、システムまたはサブシステムを構築するクラウド提供会社を変更してもよい。
【００３０】
クラウド管理装置１２０は、ユーザが入力した仕様条件に基づいて、構築したシステムを管理してよい。クラウド管理装置１２０は、ユーザが入力した仕様条件の中から、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２のそれぞれが管理すべき条件を抽出してよい。これにより、クラウド管理装置１２０は、ユーザが入力した仕様条件に基づき、複数の物理マシンへの複数の仮想マシンの割り当てを決定することができる。
【００３１】
クラウド管理装置１２０は、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２に対して、それぞれが管理すべき条件を通知してよい。仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２は、通知された条件を満足すべく、仮想マシンを管理してよい。これにより、クラウド管理装置１２０は、仮想マシンの演算処理性能の変動を、予め定められた条件の範囲内に抑制することができる。
【００３２】
例えば、クラウド管理装置１２０がクラウド提供会社１３０のクラウドサービス等を利用してシステムを構築する場合、クラウド管理装置１２０は、ユーザが入力した仕様条件を仮想マシン管理装置１３２に通知する。ユーザが入力した仕様条件の中に、仮想マシンの演算処理性能を予め定められた範囲内に制限するという条件が含まれている場合、ある物理マシン１３４の負荷が大きくなり、当該物理マシン１３４上に生成された仮想マシンの演算処理性能が低下したときに、仮想マシン管理装置１３２は、例えば、当該仮想マシンを負荷の大きな物理マシン１３４から負荷の小さな別の物理マシン１３４に移動させることで、当該仮想マシンの演算処理性能を向上させる。
【００３３】
しかし、仮想マシンの演算処理性能が向上すると、システムの監視が困難になる場合がある。例えば、仮想マシンの移動により、システムが実行しているバッチ処理の所要時間が大きく変動すると、システムの監視が困難になる。このとき、仮想マシン管理装置１３２は、例えば、仮想マシンのＣＰＵの処理速度を低下させたり、演算処理結果の出力を遅延させたりすることで、当該仮想マシンの見かけ上の演算処理性能を予め定められた範囲内に維持してよい。
【００３４】
これにより、仮想マシンの演算処理性能の変動を、予め定められた条件の範囲内に抑制することができる。また、クラウド管理装置１２０が、システムを複数のサブシステムに分割して、複数のサブシステムのそれぞれを、異なるクラウド提供会社が提供するクラウドサービス等を利用して構築している場合であっても、システムを安定して運用することができる。
【００３５】
クラウド管理装置１２０は、仮想マシンを静的に制御する機能（静的制御機能と称する場合がある。）を有してよい。クラウド管理装置１２０は、仮想マシンを動的に制御する機能（動的制御機能と称する場合がある。）を有してよい。クラウド管理装置１２０は、システムまたは仮想マシンに関する情報を収集する機能（センサー機能と称する場合がある。）を有してよい。
【００３６】
クラウド管理装置１２０は、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２を制御して、静的制御機能、動的制御機能およびセンサー機能を実現してよい。静的制御機能、動的制御機能およびセンサー機能は、クラウド管理装置１２０により、予め定められた時間に実行されてもよく、ユーザにより手動で実行されてもよい。
【００３７】
クラウド管理装置１２０は、センサー機能によりシステム、仮想マシンもしくは物理マシンの稼働状況を監視して、当該稼働状況が予め定められた状態になれば、静的制御機能もしくは動的制御機能を開始してもよく、また予め定められた状態が一定期間継続した場合に、静的制御機能もしくは動的制御機能を開始してもよい。クラウド管理装置１２０は、静的制御機能もしくは動的制御機能を複数回に分けて実施してもよく、断続的に実施してもよい。
【００３８】
仮想マシンを静的に制御するとは、仮想マシンの運用を停止した状態で、仮想マシンを制御することを言う。仮想マシンの運用を停止した状態としては、仮想マシンを生成する物理マシンの電源を停止している状態、仮想マシンまたは当該仮想マシンを生成する物理マシンを再起動している状態、仮想マシンを一時停止している状態などを例示することができる。仮想マシンを静的に制御する場合としては、新たにシステムを構築する場合、クラウド提供会社の間でシステムまたはサブシステムを移動する場合などを例示することができる。
【００３９】
例えば、サブシステムを構築している仮想マシンの運用を一時的に停止して、その間に当該仮想マシンを異なる物理マシン上に移動させる。その後、上記の仮想マシンの運用を再開することで、当該仮想マシンの運用を一時的に停止する前に実行していた処理を継続して実行することができる。また、仮想マシンを静的に制御して仮想マシンを異なる物理マシン上に移動させることで、システムの均衡を維持することができる。
【００４０】
ユーザは、仮想マシンを静的に制御してよい時間帯、一定時間以内であれば仮想マシンを静的に制御してよい旨などを仕様条件として入力してよい。クラウド管理装置１２０は、上記の仕様条件に基づいて、仮想マシンを静的に制御する時期を決定してよい。
【００４１】
クラウド管理装置１２０は、静的制御の対象となる仮想マシンの数、リソース量などに基づいて、上記の時間帯または上記の一定時間の間に静的に制御する仮想マシンを決定してよい。これにより、仮想マシンの静的制御に伴う、一時的なリソース使用量の増加を抑制することができる。その結果、仮想マシンを静的に制御する間も、提供中のクラウドサービス等の品質を維持することができる。
【００４２】
クラウド管理装置１２０は、管理するシステム単位もしくはサブシステム単位、またはユーザ単位で静的制御を実施してよい。例えば、上記の時間帯または上記の一定時間の間に、全ての仮想マシンを静的に制御することができないケースもある。この場合、クラウド管理装置１２０は、管理するシステム単位もしくはサブシステム単位、またはユーザ単位で、静的制御の実施時期を順番にシフトしながら静的制御を実施してよい。これにより、ユーザは、利用者の視点でクラウド基盤の状況を容易に把握することができる。
【００４３】
クラウド管理装置１２０は、物理マシンの稼動拠点、物理マシンが設置されている電算センターの格付け、当該電算センターが設置されている地域において自然災害が発生する確率または当該電算センターへの交通の利便性に基づいて、仮想マシンを静的に制御することで、ユーザが入力した仕様条件を達成してよい。
【００４４】
クラウド管理装置１２０は、内部ファイアウォール、ＩＤＳ（Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）、ＩＰＳ（Ｉｎｔｒｕｓｉｏｎ  Ｐｒｅｖｅｎｔｉｏｎ  Ｓｙｓｔｅｍ）、ＷＡＦ（Ｗｅｂ  Ａｐｐｌｉｃａｔｉｏｎ  Ｆｉｒｅｗａｌｌ）、ハイパーバイザーのウイルス検知機能などのセキュリティシステムの有無に基づいて、仮想マシンを静的に制御することで、ユーザが入力した仕様条件を達成してよい。
【００４５】
クラウド管理装置１２０は、仮想マシンを静的に制御して、仮想マシンの演算処理性能、信頼性または品質を予め定められた範囲内に維持することで、ユーザが入力した仕様条件を達成してよい。仮想マシンの信頼性としては、物理マシンの２重化の有無、物理マシンの再起動の頻度、使用しているソフトウエアの信頼性、連続稼動時間の長短などを例示することができる。
【００４６】
クラウド管理装置１２０は、暗号化アクセラレータ、３Ｄ演算アクセラレータ、フォールトトレラント、仮想マシンＩｎメモリー化技術を施した仮想化装置など特殊な用途に使用される装置または機能の有無に基づいて、仮想マシンを静的に制御することで、ユーザが入力した仕様条件を達成してよい。仮想マシンＩｎメモリー化技術を施した仮想化装置とは、例えば、仮想マシンのイメージが記録されている保存領域を高速な揮発性メモリーのＤＲＡＭ、不揮発性のＦｅＲＡＭ、ＰＲＡＭもしくはＲＲＡＭなどのメモリー上に配置し、高速化を図った仮想マシン提供基盤または装置をいう。特殊な用途に使用される装置の他の例としては、補助演算装置、補助画像処理装置、セキュリティボックスなどを例示することができる。
【００４７】
クラウド管理装置１２０は、仮想マシンを静的に制御して、ＷＥＢサーバとアプリケーションサーバとを異なる物理マシン上に生成することで、ユーザが入力した仕様条件を達成してよい。クラウド管理装置１２０は、仮想マシンを静的に制御して、アプリケーションサーバとデータベースサーバとを異なる物理マシン上に生成することで、ユーザが入力した仕様条件を達成してよい。
【００４８】
クラウド管理装置１２０は、仮想マシンを静的に制御して、ＤＭＺにＷＥＢサーバを配置することで、ユーザが入力した仕様条件を達成してよい。クラウド管理装置１２０は、仮想マシンを静的に制御して、災害対策用などのバックアップシステムと現在使用に供されているシステムとを異なる物理マシン上に構築することで、ユーザが入力した仕様条件を達成してよい。
【００４９】
クラウド管理装置１２０は、仮想マシンを静的に制御して、同一の機能を有する複数の仮想マシンを、異なる物理マシン上に生成することで、ユーザが入力した仕様条件を達成してよい。このとき、複数の仮想マシンのそれぞれを、全て異なる物理マシン上に生成してもよく、一部の仮想マシンを、他の仮想マシンとは異なる物理マシン上に生成してもよい。例えば、３台のＷＥＢサーバを、３台の物理サーバ上に生成してもよく、２台の物理サーバに生成してもよい。
【００５０】
クラウド管理装置１２０は、仮想マシンを生成する物理マシンを固定することで、ユーザが入力した仕様条件を達成してよい。クラウド管理装置１２０は、仮想マシンを特定の物理マシン上に優先的に生成することで、ユーザが入力した仕様条件を達成してよい。例えば、複数の仮想マシンにより構成されるシステムに障害が発生した場合に、物理マシンの障害と上記システムとの対応付けを容易にすることなどを目的として、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２が、仮想マシンを生成する物理マシンを固定してよい。
【００５１】
仮想マシンを生成する物理マシンを固定する他の例としては、複数の仮想マシンにより構成されるシステムにおいて、ユーザの仕様条件の中に、物理マシンの設置場所がユーザの住所から１ｋｍ以内という条件が含まれている場合を例示することができる。この場合、当該ユーザの仮想マシンを生成している物理マシンの負荷が所定の値より大きくなると、例えば仮想マシン管理装置１３２が、当該ユーザの仮想マシンを当該物理マシンに固定して、他のユーザの仮想マシンを別の物理マシンに移動させる。これにより、上記の仕様条件を達成することができる。
【００５２】
仮想マシンを動的に制御するとは、仮想マシンの運用を継続した状態で、仮想マシンを制御することを言う。仮想マシンの運用を継続した状態とは、仮想マシンが現実に稼動している状態だけでなく、仮想マシンの停止時間がアプリケーション層への影響を無視しうる程度である場合をも含む。
【００５３】
この場合の仮想マシンの停止時間は、数マイクロ秒から数十ミリまたは数百ミリ秒程度であってもよい。例えば、ネットワークの瞬断の場合には、仮想マシンが停止したとしても、ＯＳまたはミドルウェアの動的リカバリ機能が動作するので、アプリケーション層への影響を無視しうる。仮想マシンを動的に制御する場合としては、仮想マシンの演算処理性能を予め定められた範囲内に維持する場合、複数の仮想マシンの間でリソースを共有する場合などを例示することができる。
【００５４】
クラウド管理装置１２０は、仮想マシンを動的に制御して、演算処理装置リソース、記憶装置リソースなどの演算処理資源の優先度をリアルタイムに制御することで、ユーザが入力した仕様条件を達成してよい。クラウド管理装置１２０は、演算処理資源の使用量をリアルタイムに制御することで、ユーザが入力した仕様条件を達成してよい。クラウド管理装置１２０は、仮想マシンを動的に制御して、記憶装置の通信速度またはサービス用通信速度の優先度を制御することで、ユーザが入力した仕様条件を達成してよい。
【００５５】
クラウド管理装置１２０は、仮想マシンを動的に制御して、仮想マシンの状態を制御することで、ユーザが入力した仕様条件を達成してよい。仮想マシンの状態としては、仮想マシンの稼動、停止、一時停止または再開を例示することができる。クラウド管理装置１２０は、仮想マシンを予め定められた時間に起動させたり、停止させたりしてもよい。クラウド管理装置１２０は、仮想マシンを動的に制御して、仮想マシンを異なる物理マシン上に移動させることで、ユーザが入力した仕様条件を達成してよい。
【００５６】
クラウド管理装置１２０は、仮想マシンを動的に制御して、直列に接続された複数の仮想マシンの間で演算処理資源を分配してよい。これにより、複数の仮想マシンの演算処理性能のバランス（演算処理性能の直列対称性と称する場合がある。）を調整することができる。クラウド管理装置１２０は、演算処理性能の直列対称性を維持することにより、ユーザが入力した仕様条件を達成してよい。
【００５７】
例えば、３層クライアント・サーバモデルにおいて、１つのトランザクション処理を複数の処理ステップに分割した場合、ＷＥＢサーバ、ＡＰサーバおよびＤＢサーバの何れかに処理能力の偏りがあると、システム全体の処理能力は、処理能力の低いサーバに依存する。そこで、ＷＥＢサーバ、ＡＰサーバおよびＤＢサーバの処理能力のバランスを均等化することで、演算処理性能の直列対称性を維持することができる。
【００５８】
クラウド管理装置１２０は、仮想マシンを動的に制御して、並列に接続された複数の仮想マシンの間で演算処理資源を分配してよい。これにより、複数の仮想マシンの演算処理性能のバランス（演算処理性能の並列対称性と称する場合がある。）を調整することができる。クラウド管理装置１２０は、演算処理性能の並列対称性を維持することにより、ユーザが入力した仕様条件を達成してよい。
【００５９】
クラウド管理装置１２０は、仮想マシンを動的に制御して、アイドリング中の仮想マシンのリソース割り当ての優先度を制御したり、当該仮想マシンを一時的に停止することで、ユーザが入力した仕様条件を達成してよい。例えば、アイドリング中の仮想マシンに割り当てる演算処理資源の優先度を下げることで、クラウドサービス等の運用コスト、排出される二酸化炭素量などを抑制することができる。
【００６０】
クラウド管理装置１２０は、仮想マシンを動的に制御して、夜間地域に設置された物理マシン上に生成された仮想マシンを優先的に稼動させることで、ユーザが入力した仕様条件を達成してよい。これにより、夜間電力を利用することができ、クラウドサービス等の運用コスト、排出される二酸化炭素量などを抑制することができる。
【００６１】
クラウド管理装置１２０は、仮想マシンを動的に制御して、ウイルスが検出された物理マシンを一時的に停止したり、当該物理マシンのサービス用通信ラインを停止することで、ユーザが入力した仕様条件を達成してよい。クラウド管理装置１２０は、仮想マシンを動的に制御して、ハザードが検知された電算センタもしくは当該電算センタ内のフロアに設置された物理マシンから、仮想マシンもしくはシステムを移動させることで、ユーザが入力した仕様条件を達成してよい。
【００６２】
クラウド管理装置１２０は、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２を介して、セキュリティに関する情報、障害に関する情報、システムに関する情報などを収集してよい。システムに関する情報としては、システムの性能もしくは稼動状態、リソースの共有状態、物理マシンの共有状態、または、システムを構成する複数の仮想マシンの演算処理環境もしくは稼働状況を例示することができる。仮想マシン管理装置１４２および仮想マシン管理装置１５２は、上記の情報を収集して、クラウド管理装置１２０に通知してよい。
【００６３】
システムの性能としては、予め定められた業務に関する単位時間あたりの処理量を例示することができる。仮想マシンの演算処理環境としては、仮想マシンの演算処理性能、仮想マシンに割り当てられている演算処理資源、仮想マシンを生成している物理マシン、当該物理マシンの仕様などを例示することができる。
【００６４】
物理マシンの仕様としては、物理マシンの識別記号、物理マシンの有する演算処理資源、物理マシンのセキュリティに関する情報、物理マシンが設置されている電算センタに関する情報などを例示することができる。稼働状況としては、稼動中、停止中、一時停止中、障害発生の有無、リソース使用量などを例示することができる。
【００６５】
ここで、仮想マシンの演算処理性能とは、実際の演算処理性能だけでなく、見かけ上の演算処理性能をも含む。例えば、ＣＰＵの処理速度を低下させたり、演算処理結果の出力を遅延させたりすることで、演算処理性能を制限することができる。
【００６６】
クラウド管理装置１２０は、収集した情報に基づいて、複数のクラウド提供会社が提供するクラウドサービス等を評価してよい。クラウド管理装置１２０は、定期的に評価を実施してもよく、随時、評価を実施してもよい。
【００６７】
クラウド管理装置１２０は、上記の評価に基づいて、利用するクラウド提供会社を変更してよい。クラウド管理装置１２０は、クラウド提供会社を変更した場合であっても、ユーザへの影響を抑制すべく、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２を制御してよい。
【００６８】
クラウド管理装置１２０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ハードディスクドライブ、ストレージ等を含んで構成される。クラウド管理装置１２０は、ネットワーク１０を介して、ユーザ端末１１０、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２と通信できる装置であればよく、サーバ用コンピュータ、パーソナルコンピュータ、携帯電話、携帯端末、無線端末などにより実現することができる。
【００６９】
クラウド提供会社１３０は、クラウドサービス等を提供してよい。クラウド提供会社１３０は、仮想マシン管理装置１３２と、物理マシン１３４と、ネットワーク１３８とを有してよい。仮想マシン管理装置１３２は、ネットワーク１３８を介して、物理マシン１３４と接続されてよい。
【００７０】
仮想マシン管理装置１３２は、ユーザが入力した仕様条件に基づいて、複数の物理マシン１３４のうち、少なくとも１つの物理マシン１３４上に少なくとも１つの仮想マシンを生成してよい。仮想マシン管理装置１３２は、生成した仮想マシンを管理してよい。仮想マシン管理装置１３２は、クラウド管理装置１２０からの指示に基づいて、生成した仮想マシンを管理してよい。
【００７１】
仮想マシン管理装置１３２は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスクドライブ、ストレージ等を含んで構成される。仮想マシン管理装置１３２は、ネットワーク１０を介してクラウド管理装置１２０と通信でき、ネットワーク１３８を介して物理マシン１３４と通信できる装置であればよく、サーバ用コンピュータ、パーソナルコンピュータ、携帯電話、携帯端末または無線端末などにより実現することができる。
【００７２】
物理マシン１３４は、ネットワーク１３８を介して仮想マシン管理装置１３２と通信できる装置であればよく、サーバ用コンピュータ、パーソナルコンピュータ、携帯電話、携帯端末または無線端末、ストレージ、ルータなどにより実現することができる。ネットワーク１３８としては、インターネット、専用回線、無線パケット通信網などを例示することができる。
【００７３】
クラウド提供会社１４０は、クラウドサービス等を提供してよい。クラウド提供会社１４０は、仮想マシン管理装置１４２と、物理マシン１４４と、ネットワーク１４８とを有してよい。仮想マシン管理装置１４２、物理マシン１４４およびネットワーク１４８は、それぞれ、仮想マシン管理装置１３２、物理マシン１３４およびネットワーク１３８と同様の構成を有してよい。
【００７４】
クラウド提供会社１５０は、クラウドサービス等を提供してよい。クラウド提供会社１５０は、仮想マシン管理装置１５２と、物理マシン１５４と、ネットワーク１５８とを有してよい。仮想マシン管理装置１５２、物理マシン１５４およびネットワーク１５８は、それぞれ、仮想マシン管理装置１３２、物理マシン１３４およびネットワーク１３８と同様の構成を有してよい。
【００７５】
図２は、クラウド管理装置１２０の内部構成の一例を概略的に示す。図３は、クラウド管理装置１２０における処理の一例を概略的に示す。図２および図３を用いて、クラウド管理装置１２０について説明する。
【００７６】
クラウド管理装置１２０は、通信制御部２１０と、入力部２１２と、出力部２１４と、仕様条件取得部２２２と、システム定義部２２４と、クラウド評価部２２６と、システム配置部２３０と、情報収集部２３２と、システムパッケージ記憶部２４２と、システム定義記憶部２４４と、クラウド仕様記憶部２４６とを有してよい。これらの構成要素は互いに接続されており、互いに情報をやり取りすることができる。
【００７７】
通信制御部２１０は、ネットワーク１０を介して、ユーザ端末１１０、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２と通信するインターフェースであってよい。通信制御部２１０は、クラウド管理装置１２０の設定もしくは操作に関する指示、または、ユーザが入力した仕様条件を受け付けてよい。
【００７８】
入力部２１２は、クラウド管理装置１２０の設定もしくは操作に関する指示、または、システムパッケージ記憶部２４２、システム定義記憶部２４４もしくはクラウド仕様記憶部２４６に格納すべき情報が入力されてよい。入力部２１２としては、キーボード、マウス、トラックボール、ジョグタイヤル、タッチパネルディスプレイ、記憶媒体の読取装置などを例示することができる。
【００７９】
出力部２１４は、クラウド管理装置１２０の動作状態、入力部２１２から入力した内容のエコーバック等を表示する。出力部２１４としては、液晶表示装置、有機ＥＬディスプレイ、タッチパネルディスプレイ、プリンタなどを例示することができる。なお、図３において、出力部２１４は作図を省略している。
【００８０】
仕様条件取得部２２２は、通信制御部２１０または入力部２１２を介して、ユーザが入力した仕様条件を取得してよい。仕様条件取得部２２２は、取得した仕様条件のうち、システムの構造に関する条件を、システム定義部２２４に通知してよい。仕様条件取得部２２２は、取得した仕様条件のうち、ユーザの要求に関する条件を、クラウド評価部２２６に通知してよい。
【００８１】
仕様条件取得部２２２は、通信制御部２１０または出力部２１４を介して、ユーザの入力を補助する情報をユーザに提供してよい。ユーザの入力を補助する情報は、特定の機能を実現するシステムについて、当該システムの機能と、当該システムの構造に関する条件とを対応付けたシステムパッケージであってよい。システムパッケージは、特定の機能を実現するシステムの雛形であってよい。システムパッケージは、特定の機能を実現するシステムについて、当該システムの機能と、当該システムの構造に関する条件とを対応付ける情報であってよい。
【００８２】
システムパッケージは、システムパッケージの識別記号と、システムパッケージの機能を実現するシステムの構造と、システムパッケージに含まれる仮想マシン間の接続関係と、仮想マシン上で動作するＯＳおよびアプリケーションプログラム等の動作プログラムとを含んでよい。ユーザは、規模または用途に応じたシステムパッケージを組み合わせることで、システムの構造に関する条件を容易に入力することができる。
【００８３】
ユーザの入力を補助する情報の別の例は、ユーザが構築するシステムの規模または用途における、仮想マシンの演算処理環境に関する条件の典型例であってよい。仮想マシンの演算処理環境に関する条件としては、仮想マシンの演算処理性能、記憶容量、通信速度、セキュリティ、信頼性などを例示することができる。これにより、ユーザは、提示された条件の中から希望する条件を選択することで、当該条件を容易に入力することができる。
【００８４】
システム定義部２２４は、仕様条件取得部２２２から、システムの構造に関する条件を受け取ってよい。システム定義部２２４は、システムパッケージ記憶部２４２から、システムパッケージ記憶部２４２に格納されているシステムパッケージの情報を受け取ってよい。システム定義部２２４は、仕様条件取得部２２２から受け取ったシステムの構造に関する条件をシステム定義記憶部２４４に格納してよい。
【００８５】
仕様条件取得部２２２から受け取ったシステムの構造に関する条件の中に、システムパッケージの識別記号が含まれている場合、システム定義部２２４は、仕様条件取得部２２２から受け取った情報と、システムパッケージ記憶部２４２に格納されているシステムパッケージに関する情報とを照合して、システムの構造に関する条件を作成してよい。
【００８６】
これにより、仮想マシンの数、それぞれの仮想マシンの上で動作する動作プログラム、仮想マシン間の接続関係などを規定することができる。システムの構造に関する条件に仮想マシン間の接続関係が含まれることで、クラウド管理装置１２０が仮想マシンと物理マシンとのマッピングを容易に実行することができる。システム定義部２２４は、作成したシステムの構造に関する条件をシステム定義記憶部２４４に格納してよい。
【００８７】
クラウド評価部２２６は、仕様条件取得部２２２から、ユーザの要求に関する条件を受け取ってよい。クラウド評価部２２６は、システム定義部２２４から、ユーザが構築するシステムの構造に関する条件を受け取ってよい。クラウド評価部２２６は、クラウド仕様記憶部２４６から、クラウド仕様記憶部２４６に格納されている複数のクラウド提供会社に関する情報を受け取ってよい。クラウド提供会社に関する情報としては、クラウド提供会社の格付け、経営状態、提供しているクラウドサービス等の種類および運用コスト、所有している物理マシンの仕様などを例示することができる。
【００８８】
クラウド評価部２２６は、ユーザが入力した仕様条件と、複数のクラウド提供会社に関する情報とを照合してよい。これにより、クラウド評価部２２６は、複数のクラウド提供会社の中から、ユーザが入力した仕様条件を満足するクラウドサービス等を提供するクラウド提供会社を抽出することができる。
【００８９】
クラウド評価部２２６は、１つのクラウド提供会社が提供する１つのクラウドサービス等を利用して、システムを構築する場合について、抽出結果を算出してよい。クラウド評価部２２６は、ユーザが構築するシステムを複数のサブシステムに分割して、１以上のクラウド提供会社が提供する複数のクラウドサービス等を利用して、システムを構築する場合について、抽出結果を算出してよい。クラウド評価部２２６は、複数のサブシステムと、複数のクラウドサービス等との全ての組合せの中から、ユーザが入力した仕様条件を満足する組合せを抽出してよい。
【００９０】
クラウド評価部２２６は、通信制御部２１０または出力部２１４を介して、抽出結果をユーザに提供してよい。クラウド評価部２２６は、抽出結果を並び替えた後、ユーザに提供してもよい。クラウド評価部２２６は、システムを運用するコストが低額な順番に、抽出結果を並べ替えてよい。クラウド評価部２２６は、仕様条件のそれぞれについて優先順位が入力されている場合には、優先順位の高い仕様条件をキーとして、抽出結果を並べ替えてよい。
【００９１】
ユーザは、抽出された組合せの中から、どの組合せに基づいてシステムを構築するかを選択してよい。クラウド評価部２２６は、ユーザが選択した組合せを抽出結果として出力してよい。クラウド評価部２２６は、評価結果の最もよい組合せを抽出結果として出力してもよい。
【００９２】
システム配置部２３０は、クラウド評価部２２６から、ユーザの要求に関する条件と、抽出結果とを受け取ってよい。システム配置部２３０は、システム定義記憶部２４４から、システムの構造に関する条件を受け取ってよい。
【００９３】
システム配置部２３０は、ユーザが入力した仕様条件に含まれるシステム配置条件に基づいて、複数の物理マシンへの複数の仮想マシンの割り当てを決定してよい。システム配置部２３０は、ユーザが入力した仕様条件と、抽出結果とに基づいて、複数の物理マシンへの複数の仮想マシンの割り当てを決定してよい。ここで、「複数の物理マシンへの複数の仮想マシンの割り当てを決定する」とは、どの物理マシン上に、どの仮想マシンを生成するかを決定する場合だけでなく、どのクラウドサービス等を利用して、どのサブシステムを構築するかを決定する場合をも含む。
【００９４】
複数の物理マシンへの複数の仮想マシンの割り当ては、例えば、以下の手順により決定することができる。まず、システム配置部２３０は、抽出結果に基づいて、ユーザが構築するシステムを複数のサブシステムに分割する。次に、システム配置部２３０は、抽出結果に基づいて、どのクラウド提供会社のどのクラウドサービス等を利用して、どのサブシステムを構築するかを決定する。
【００９５】
次に、システム配置部２３０は、ユーザが入力した仕様条件に基づいて、それぞれのサブシステムに関する仕様条件を作成する。このとき、ユーザの要求に関する条件が複数のクラウド提供会社に関連する場合には、システム配置部２３０は、当該条件を複数のクラウド提供会社に按分してよい。
【００９６】
クラウド提供会社１３０のクラウドサービスを利用してサブシステムＡを構築して、クラウド提供会社１４０のクラウドサービスを利用してサブシステムＢを構築する場合を例として、ユーザの要求に関する条件の按分方法について説明する。ユーザの要求に関する条件として、サブシステムＡおよびサブシステムＢの１ヶ月あたりの運用コストの合計を一定額以下にする条件がある場合を想定する。
【００９７】
このとき、システム配置部２３０は、サブシステムＡおよびサブシステムＢのそれぞれが要求する演算処理資源の使用量、セキュリティの程度、特殊な機能の有無などに基づいて、１ヶ月当りの運用コストに関する条件を按分してよい。これにより、例えば、サブシステムＡおよびサブシステムＢの１ヶ月あたりの運用コストの合計を５０万円以下にする条件に基づいて、サブシステムＡの１ヶ月あたりの運用コストを３０万円以下にする条件と、サブシステムＢの１ヶ月あたりの運用コストを２０万円以下にする条件とを作成することができる。
【００９８】
システム配置部２３０は、通信制御部２１０を介して、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２に対して、それぞれが管理するサブシステムに関する仕様条件を通知してよい。仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２は、システム配置部２３０からサブシステムに関する仕様条件を受け取り、受け取った仕様条件を満足するサブシステムを構築してよい。また、構築したサブシステムが受け取った仕様条件を満足するように、仮想マシンを管理してよい。
【００９９】
システム配置部２３０は、情報収集部２３２から、構築したシステムに関する情報を受け取ってよい。システム配置部２３０は、情報収集部２３２から受け取った情報に基づいて、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２を制御してよい。
【０１００】
例えば、仮想マシン管理装置１３２は、複数の物理マシン１３４の稼働率が低い場合に、複数の物理マシン上に生成された仮想マシンを、１台の物理マシン上に移動させて、クラウドサービス等の運用コストを低減させる場合がある。また、１台の物理マシン１３４の負荷が増加した場合に、当該物理マシン上に生成された複数の仮想マシンのうちの一部を、他の物理マシン１３４に移動させて、仮想マシンに割り当てる演算処理資源の使用量を確保する場合がある。
【０１０１】
仮想マシン管理装置１３２が、仮想マシンを異なる物理マシン１３４に移動させることで、仮想マシンの演算処理性能が変動する場合がある。しかし、システムを構築する複数の仮想マシンのうち、一部の仮想マシンの演算処理性能が急激に向上すると、システムのボトルネックが変化したり、バッチ処理の所要時間が変化したりすることにより、システムの監視が困難になる場合がある。
【０１０２】
システム配置部２３０は、少なくとも１つの仮想マシンの演算処理性能が向上した場合に、当該仮想マシンの演算処理性能の変動が予め定められた範囲内になるように、当該仮想マシンの演算処理性能を制限してよい。このとき、システム配置部２３０は、ユーザが入力した仕様条件を満足するように、仮想マシン管理装置１３２を制御してよい。システム配置部２３０は、ユーザの要求に関する条件を満足するように、仮想マシン管理装置１３２を制御してよい。これにより、仮想マシン管理装置１３２における物理マシンの構成が変更された場合であっても、システム配置部２３０は、当該変更がユーザに与える影響を抑制することができる。
【０１０３】
システム配置部２３０が仮想マシンの演算処理性能を制限する方法としては、仮想マシン管理装置１３２に対して通知する仕様条件の中に上記の条件を含めておく方法、仮想マシンの演算処理性能が向上した場合に、複数の物理マシンへの複数の仮想マシンの割り当て（システム配置パターンと称する場合がある。）を新たに決定する方法、仮想マシンの演算処理性能が向上した場合に、仮想マシン管理装置１３２に対して、当該仮想マシンの演算処理性能を制限する制限信号を出力する方法を例示することができる。
【０１０４】
システム配置部２３０は、情報収集部２３２が収集した情報、システム運用条件および仮想マシンの演算処理環境に関する条件とに基づき、仮想マシン管理装置１３２に対して、仮想マシンの演算処理性能を制限する制限信号を出力してよい。仮想マシン管理装置１３２は、制限信号を受け取ると、演算処理性能が向上した仮想マシンに割り当てる演算処理資源を減少させたり、当該仮想マシンのＣＰＵの処理速度を低下させたり、演算処理結果の出力を遅延させたりすることで、当該仮想マシンの演算処理性能を予め定められた範囲内に維持してよい。これにより、当該仮想マシンの演算処理性能を制限することができる。
【０１０５】
制限信号は、上記の仮想マシンの演算処理性能を制御する制御信号の一例であってよい。クラウド管理装置１２０は、複数の仮想マシンのそれぞれが仕様条件を満足するように制御信号を生成してよい。クラウド管理装置１２０は、生成した制御信号を仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２の少なくとも１つに通知してよい。仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２は、クラウド管理装置１２０から受け取った制御信号に基づいて、仮想マシンの演算処理性能などを制御してよい。
【０１０６】
システム配置部２３０は、情報収集部２３２が収集した情報に基づいて、演算処理性能が向上した仮想マシンの演算処理性能を制限してよい。システム配置部２３０は、情報収集部２３２から、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２が管理する複数の仮想マシンの演算処理環境に関する情報を受け取ってよい。
【０１０７】
例えば、仮想マシン管理装置１３２が管理する複数の仮想マシンに割り当てる演算処理資源を変更する場合、システム配置部２３０は、１以上のシステム配置パターンを生成して、生成したシステム配置パターンのそれぞれについて、複数の仮想マシンのそれぞれの演算処理性能を事前にシミュレートしてよい。システム配置部２３０は、シミュレーション結果を評価して、システム運用条件および仮想マシンの演算処理環境に関する条件を満足するシステム配置パターンを、評価結果として抽出してよい。システム配置部２３０は、評価結果に基づいて、仮想マシン管理装置１３２が管理する複数の仮想マシンに割り当てる演算処理資源を決定して、制限信号を作成してよい。
【０１０８】
システム配置部２３０は、システム配置パターンのそれぞれをスコアリングすることにより、シミュレーション結果を評価してよい。スコアリングの方法としては、システム運用条件および仮想マシンの演算処理環境に関する条件のそれぞれについて評価点を算出し、評価点の合計によりシミュレーション結果を評価してよい。また、上記の条件の一部に重みを付けて、シミュレーション結果を評価してもよい。例えば、コスト、セキュリティ、信頼性または顧客満足度など特定の分野に関する条件を重視する場合には、当該分野に関連する条件と、当該分野に関連しない条件との間で重み付けを変えて、シミュレーション結果を評価してよい。
【０１０９】
上記のシミュレーション結果の中に、システム運用条件および仮想マシンの演算処理環境に関する条件の全てを同時に満足するシステム配置パターンが存在しない場合、システム配置部２３０は、システム運用条件および仮想マシンの演算処理環境に関する条件のうち、一部の条件を無視して、再度、１以上のシステム配置パターンを生成して、生成したシステム配置パターンのそれぞれについて、複数の仮想マシンのそれぞれの演算処理性能をシミュレートして、シミュレーション結果を評価してよい。
【０１１０】
例えば、システム運用条件および仮想マシンの演算処理環境に関する条件の中から、ユーザが構築するシステムに対する影響の小さな条件を選択して、選択した条件を無視して、再度、複数の仮想マシンのそれぞれの演算処理性能をシミュレートしてよい。上記の影響の小さな条件は、例えば、以下の手順で選択してよい。まず、システム運用条件および仮想マシンの演算処理環境に関する条件のそれぞれについて、当該条件を充足しないことを許容できるシステムまたはサブシステムの数と、当該条件の評価点とを積算した値を算出する。次に、システム運用条件および仮想マシンの演算処理環境に関する条件の中から、算出した値が小さい条件を選択してよい。
【０１１１】
このような場合、クラウド管理装置１２０は、複数の仮想マシンに割り当てる演算処理資源を変更する前に、警告メッセージをユーザ端末１１０に出力してよい。警告メッセージとしては、システム運用条件および仮想マシンの演算処理環境に関する条件の全てを同時に満足するシステム配置パターンが存在しない旨、一部の条件を無視すれば、その他の条件を満足するシステム配置パターンが存在する旨、複数の仮想マシンに割り当てる演算処理資源を変更しない旨、どのような演算処理資源がどの程度不足しているのか、などを例示することができる。
【０１１２】
クラウド管理装置１２０は、演算処理資源の使用量に関する情報を定期的に収集して、演算処理資源の利用状況をユーザ端末１１０に出力してよい。クラウド管理装置１２０は、システム運用条件および仮想マシンの演算処理環境に関する条件のそれぞれについて、演算処理資源の利用状況を算出してもよい。演算処理資源の利用状況としては、例えば、現状の物理的な提供リソースでは、実際に使用されているリソース量を何回転できるかという指標を用いてもよい。
【０１１３】
なお、本実施形態においては、クラウド管理装置１２０の静的制御機能および動的制御機能の対象が仮想マシンである場合について説明した。しかし、クラウド管理装置１２０の静的制御機能および動的制御機能の対象はこれに限定されない。例えば、ユーザのシステムが仮想マシンと物理マシンとを用いて構築されている場合には、クラウド管理装置１２０は、当該物理マシンを静的制御機能および動的制御機能の対象としてよい。物理マシン上の処理を異なる物理マシンに移動させることが困難な場合には、クラウド管理装置１２０は、当該処理を当該物理マシンに固定して、静的制御機能および動的制御機能を実施してよい。
【０１１４】
システム配置部２３０は、システム運用条件および仮想マシンの演算処理環境に関する条件を満足する結果を抽出することができなかった場合には、シミュレートの対象を仮想マシン管理装置１４２および仮想マシン管理装置１５２が管理する複数の仮想マシンに拡大してよい。これにより、システム配置部２３０は、複数の物理マシンへの複数の仮想マシンの割り当てを新たに決定することができる。
【０１１５】
システム配置部２３０は、クラウド評価部２２６に対して、クラウド提供会社の評価を実行するよう指示してよい。システム配置部２３０は、情報収集部２３２から受け取った情報を解析して、システムの性能または仮想マシンの演算処理性能が一定値以上変化したと判断した場合に、クラウド評価部２２６に対して、クラウド提供会社の評価を実行するよう指示してよい。
【０１１６】
システム配置部２３０は、クラウド評価部２２６の評価結果に基づいて、複数の物理マシンへの複数の仮想マシンの割り当てを、新たに決定してよい。システム配置部２３０は、決定結果を仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２に通知してよい。
【０１１７】
情報収集部２３２は、システムに関する情報を収集してよい。情報収集部２３２は、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２を介して、システムに関する情報を収集してよい。情報収集部２３２は、システムに関する情報を解析して、所定期間における統計値を算出してよい。情報収集部２３２は、収集した情報をシステム配置部２３０に通知してよい。
【０１１８】
システムパッケージ記憶部２４２は、システムパッケージを格納してよい。システム定義記憶部２４４は、ユーザが構築するシステムごとに、システムの構造に関する条件を格納してよい。クラウド仕様記憶部２４６は、クラウド提供会社に関する情報を格納してよい。クラウド仕様記憶部２４６は、クラウド提供会社ごとに、クラウド提供会社の格付け、経営状態、提供しているクラウドサービス等の種類および運用コスト、所有している物理マシンの仕様などを格納してよい。
【０１１９】
図４は、仮想マシン管理装置１３２の内部構成の一例を概略的に示す。仮想マシン管理装置１３２は、通知受付部４１２と、情報収集部４１４と、リソース割り当て調整部４１６と、物理マシン管理部４１８とを有してよい。これらの構成要素は互いに接続されており、情報をやり取りすることができる。通知受付部４１２は、ネットワーク１０を介して、クラウド管理装置１２０からの通知を受け付けてよい。通知受付部４１２は、クラウド管理装置１２０からの通知を、リソース割り当て調整部４１６に通知してよい。
【０１２０】
情報収集部４１４は、仮想マシン管理装置１３２が管理する仮想マシンの演算処理環境に関する情報を収集してよい。情報収集部４１４は、収集した情報をリソース割り当て調整部４１６に通知してよい。情報収集部４１４は、収集した情報を情報収集部２３２に通知してよい。情報収集部４１４は、所定期間内に収集した情報に基づいて、複数の仮想マシンのそれぞれについて、稼働時間、負荷、演算処理性能、通信速度などの統計値を算出してよい。
【０１２１】
情報収集部４１４は、物理マシン管理部４１８から、物理マシン１３４に関する情報を収集してよい。情報収集部４１４は、所定期間内に収集した情報に基づいて、物理マシンの稼動時間、負荷、演算処理性能、通信速度などの統計値を算出してよい。情報収集部４１４は、ある物理マシンが新しい機種に更新された場合には、当該物理マシンのメーカ名、型番、ＣＰＵの演算処理性能、記憶容量、通信速度等の情報を収集してよい。
【０１２２】
リソース割り当て調整部４１６は、物理マシン１３４の演算処理資源のうち、複数の仮想マシンのそれぞれに割り当てる演算処理資源を調整してよい。リソース割り当て調整部４１６は、通知受付部４１２から、ユーザが入力した仕様条件を受け取ってよい。リソース割り当て調整部４１６は、仕様条件に基づいて、物理マシン１３４の演算処理資源のうち、複数の仮想マシンのそれぞれに割り当てる演算処理資源を調整してよい。
【０１２３】
リソース割り当て調整部４１６は、システム配置条件、システム運用条件および仮想マシンの演算処理環境に関する条件に基づいて、物理マシン１３４の演算処理資源のうち、複数の仮想マシンのそれぞれに割り当てる演算処理資源を調整してよい。リソース割り当て調整部４１６は、それぞれの仮想マシンに割り当てる演算処理資源を決定して、リソース割り当て量を規定するリソース割り当て調整信号を物理マシン管理部４１８に対して出力してよい。
【０１２４】
リソース割り当て調整部４１６は、通知受付部４１２から、システム配置部２３０の出力した制限信号を受け取ってよい。この場合、リソース割り当て調整部４１６は、制限信号に基づいて、制限信号により指定された仮想マシンを特定する情報と、当該仮想マシンに割り当てる演算処理資源に関する情報とを含む、リソース割り当て調整信号を生成してよい。リソース割り当て調整部４１６は、物理マシン管理部４１８に対して、リソース割り当て調整信号を出力してよい。
【０１２５】
物理マシン管理部４１８は、物理マシン１３４を管理してよい。物理マシン管理部４１８は、リソース割り当て調整部４１６からリソース割り当て調整信号を受け取ってよい。物理マシン管理部４１８は、リソース割り当て調整信号に基づいて、指定された仮想マシンに割り当てる演算処理資源を調整してよい。
【０１２６】
図５は、クラウド運用システム１００における情報処理の一例を概略的に示す。図５は、システムを構築する処理の一例を概略的に示す。本実施形態では、まず、Ｓ５０２において、仕様条件取得部２２２が、ユーザが入力した仕様条件を取得する。Ｓ５０４において、クラウド評価部２２６が、仕様条件に含まれるシステムの構造に関する条件に基づいて、ユーザが構築するシステムを、複数のサブシステムに分割する。
【０１２７】
Ｓ５０６において、クラウド評価部２２６が、複数のサブシステムと、１以上のクラウド提供会社が提供する複数のクラウドサービス等との全ての組合せについて、ユーザが入力した仕様条件を満足するか否かを検討する。次に、クラウド評価部２２６が、ユーザが入力した仕様条件を満足する組合せを抽出する。
【０１２８】
Ｓ５０８において、クラウド評価部２２６が、一定の評価基準に従って、上記の抽出結果を並べ替える。これにより、複数のクラウドサービス等を順位付けることができ、複数のクラウドサービス等およびクラウド提供会社を評価することができる。次に、クラウド評価部２２６またはユーザが、抽出結果の中から、１つの組合せを選択する。これにより、複数のサブシステムのそれぞれについて、システムを構築するクラウド提供会社を決定することができる。
【０１２９】
Ｓ５１０において、システム配置部２３０が、仕様条件に含まれるシステム配置条件に基づいて、複数の物理マシンへの複数の仮想マシンの割り当てを決定する。これにより、システムを構成する複数の仮想マシンのそれぞれについて、どの物理マシン上に生成するかを決定することができる。
【０１３０】
Ｓ５１２において、システム配置部２３０が、仕様条件に基づいて、それぞれのサブシステムに関する仕様条件を作成する。次に、システム配置部２３０が、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２のそれぞれに対して、それぞれが管理するサブシステムに関する仕様条件を通知する。
【０１３１】
次に、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２が、システム配置部２３０から受け取ったサブシステムに関する仕様条件を満足すべく、仮想マシンを生成する。これにより、ユーザが入力した仕様条件を満足するシステムを構築することができる。
【０１３２】
図６は、システムパッケージ記憶部２４２に格納されるデータテーブル６００の一例を概略的に示す。データテーブル６００は、システムパッケージの種類６１２ごとに、システムパッケージの機能６１４と、システムパッケージの構造６１６と、システムパッケージに含まれる構成間の接続関係６１８と、動作プログラム６２０とを格納してよい。システムパッケージの構造６１６は、システムパッケージに含まれ、システムパッケージの機能を実現する構成を規定してよい。動作プログラム６２０は、システムパッケージに含まれる構成上で動作するプログラムを規定してよい。
【０１３３】
データテーブル６００は、システムパッケージの種類６１２の一例として、システムパッケージ６０１、システムパッケージ６０２、システムパッケージ６０３、システムパッケージ６０４およびシステムパッケージ６０５を格納してよい。システムパッケージの種類６１２は、システムパッケージの識別記号の一例であってよい。
【０１３４】
図７は、ユーザが入力する仕様条件の一例を概略的に示す。データテーブル７１０は、Ｘ社が構築するシステム７００の仕様条件の一例であってよい。本実施形態において、システム７００は、共用ＤＭＺシステム７０２と、宿泊予約システム７０３と、通信販売システム７０４と、決済システム７０５と、開発中のシステム７０６とを有する。
【０１３５】
データテーブル７１０は、仕様条件７１２ごとに、ユーザの入力７１４を格納してよい。仕様条件７１２は、システムの構造７２０と、システム構成条件７３０と、演算処理環境７４０と、システム配置条件７５０と、システム運用条件７６０と、クラウド提供会社に関する条件７７０とを含んでよい。演算処理環境７４０は、仮想マシンの演算処理環境に関する条件の一例であってよい。
【０１３６】
システムの構造７２０は、システムの名称７２２と、サブシステムの名称７２４と、システムパッケージの種類７２６とを含んでよい。システムの名称７２２、サブシステムの名称７２４およびシステムパッケージの種類７２６は、それぞれ、システムの識別記号、サブシステムの識別記号およびシステムパッケージの識別記号の一例であってよい。
【０１３７】
システム構成条件７３０は、リソース共有グループ７３２と、物理サーバ共有グループ７３４とを含んでよい。リソース共有グループ７３２は、演算処理資源の共有が許されるサブシステムを規定する。物理サーバ共有グループ７３４は、物理サーバの共有が許されるサブシステムを規定する。
【０１３８】
演算処理環境７４０は、ＣＰＵの性能７４２と、記憶容量７４４と、通信速度７４６とを含んでよい。ＣＰＵの性能７４２としては、所定期間内における演算処理性能の平均値、演算処理性能の最低値、演算処理性能の最大値、演算処理性能の範囲などを例示することができる。ＣＰＵの性能７４２は、仮想マシンの演算処理性能の一例であってよい。
【０１３９】
システム配置条件７５０は、セキュリティレベル７５２、設置場所７５３と、災害対策レベル７５４と、ミラーリング７５５と、稼動時間７５６とを含んでよい。システム配置条件７５０は、システムまたはサブシステムを構成する仮想マシンを生成する物理マシンが満足すべき条件を規定してよい。
【０１４０】
システム運用条件７６０は、運用コスト７６２と処理時間７６４とを含んでよい。処理時間７６４は、システムまたはサブシステムが、予め定められた業務を処理する場合に要する時間であってよい。システム運用条件７６０の他の例としては、予め定められた時間にシステムを起動または停止する定例運行を保証するか否かを例示することができる。
【０１４１】
クラウド提供会社に関する条件７７０は、格付け７７２と、再委託の可否７７４とを含んでよい。再委託の可否７７４は、クラウド提供会社が、システムの運用を外部に委託することを許可するか否かを規定する。
【０１４２】
図８は、システム定義記憶部２４４に格納されるデータテーブル８００の一例を概略的に示す。データテーブル８００は、図７に関連して説明したＸ社のシステム７００のデータテーブルであってよい。データテーブル８００は、システム配置部２３０がデータテーブル６００およびデータテーブル７１０に基づいて作成した、サブシステムに関する仕様条件の一例であってよい。
【０１４３】
データテーブル８００において、テーブルの列は、ユーザ８３０ごとに、ユーザが構築するシステムの構造８４０と、仮想マシンと物理マシンとの対応関係８５０とを格納してよい。システムの構造８４０は、サブシステムの名称８４４と、サブシステムを構成する仮想マシン８４６と、仮想マシン間の接続関係８４８とを含んでよい。
【０１４４】
システム配置部２３０は、データテーブル７１０のサブシステムの名称７２４に基づいて、サブシステムの名称８４４を作成してよい。システム配置部２３０は、データテーブル７１０のシステムパッケージの種類７２６と、データテーブル６００のシステムパッケージの構造６１６とに基づいて、サブシステムを構成する仮想マシン８４６を作成してよい。システム配置部２３０は、データテーブル７１０のシステムパッケージの種類７２６と、データテーブル６００のシステムパッケージに含まれる構成間の接続関係６１８に基づいて、仮想マシン間の接続関係８４８を作成してよい。
【０１４５】
仮想マシンと物理マシンとの対応関係８５０は、クラウド提供会社８５２と、物理マシン８５４とを含んでよい。クラウド提供会社８５２には、クラウド提供会社の識別記号が入力されてよい。物理マシン８５４には、物理マシンの識別記号が入力されてよい。
【０１４６】
データテーブル８００により、システム７００の構造を定義することができる。本実施形態において、共用ＤＭＺシステム７０２は、ＷＥＢサーバ８０１、ＷＥＢサーバ８０２およびＷＥＢサーバ８０３を有する。宿泊予約システム７０３は、アプリケーションサーバ８０４、アプリケーションサーバ８０５、データベースサーバ８０６およびデータベースサーバ８０７を有する。通信販売システム７０４は、アプリケーションサーバ８０８、アプリケーションサーバ８０９、データベースサーバ８１０およびデータベースサーバ８１１を有する。宿泊予約システム７０３および通信販売システム７０４は、共用ＤＭＺシステム７０２を共用する。
【０１４７】
決済システム７０５は、ＷＥＢサーバ８１２、ＷＥＢサーバ８１３およびＷＥＢサーバ８１４を有する。決済システム７０５は、アプリケーションサーバ８１５、アプリケーションサーバ８１６、データベースサーバ８１７およびデータベースサーバ８１８を有する。開発中のシステム７０６は、ＷＥＢサーバ８１９、ＷＥＢサーバ８２０およびＷＥＢサーバ８２１を有する。開発中のシステム７０６は、アプリケーションサーバ８２２、アプリケーションサーバ８２３、データベースサーバ８２４およびデータベースサーバ８２５を有する。
【０１４８】
図９は、クラウド運用システム１００における情報処理の一例を概略的に示す。図９は、クラウド管理装置１２０におけるシステム管理の一例を概略的に示す。本実施形態では、Ｓ９０２において、図５に関連して説明した方法と同様にして、システムを構築するクラウド提供会社を決定する。また、図５に関連して説明した方法と同様にして、システムを構築して、システムを運用する。
【０１４９】
Ｓ９０４において、情報収集部２３２が、システムの性能に関する情報を収集する。Ｓ９０６において、システム配置部２３０が、システムの性能に関する情報と、ユーザの仕様条件とを比較する。本実施形態において、システム配置部２３０は、複数の仮想マシンのそれぞれの演算処理性能について、情報収集部２３２が収集した情報と、ユーザの仕様条件とを比較する。
【０１５０】
Ｓ９０８において、システム配置部２３０が、ユーザの仕様条件で規定された演算処理性能よりも、情報収集部２３２が収集した演算処理性能の方が大きな仮想マシンを抽出する。次に、システム配置部２３０は、抽出された仮想マシンの演算処理性能を予め定められた範囲内に制限する制限信号を生成して、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２に対して、出力する。そして、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２が、システム配置部２３０が出力した制限信号に基づいて、抽出された仮想マシンの演算処理性能を制限する。
【０１５１】
図１０Ａは、クラウド運用システム１００における情報処理の他の例を概略的に示す。図１０Ｂ、図１０Ｃおよび図１０Ｄは、図１０Ａの情報処理の一部における処理の一例を概略的に示す。図１０Ａから図１０Ｄは、構築したシステムの運用状況を管理する処理の一例を概略的に示す。
【０１５２】
本実施形態では、Ｓ１０１２において、システム配置部２３０が、仕様条件取得部２２２から、ユーザが入力した仕様条件を取得する。システム配置部２３０は、システム定義記憶部２４４から、システムの構造に関する条件を取得してよい。Ｓ１０１４において、情報収集部２３２がシステムの情報を収集する。情報収集部２３２は、収集した情報をシステム配置部２３０に通知する。
【０１５３】
Ｓ１０１６において、システム配置部２３０が、情報収集部２３２が収集した情報と、ユーザが入力した仕様条件とを比較して、システムが仕様条件を満たしているか否かを判断する。システム配置部２３０は、システムを構築する複数の仮想マシンのそれぞれについて、仕様条件を満たしているか否かを判断してよい。
【０１５４】
Ｓ１０１６において、システム配置部２３０が、システムが仕様条件を満たしていると判断した場合（Ｓ１０１６のＹＥＳ）には、システムの運用状況を管理する処理を終了する。システム配置部２３０は、システムを構築する全ての仮想マシンが仕様条件を満たすと判断した場合に、システムが仕様条件を満たしていると判断してよい。
【０１５５】
Ｓ１０１６において、システム配置部２３０が、システムが仕様条件を満たすことが困難と判断した場合（Ｓ１０１６のＮＯ）には、Ｓ１０１８の処理を実行する。システム配置部２３０は、システムを構築する仮想マシンのうち、少なくとも１台の仮想マシンが仕様条件を満たすことが困難と判断した場合には、Ｓ１０１８の処理を実行してよい。Ｓ１０１８において、システム配置部２３０が、システムが仕様条件を満たすには、物理マシン間での仮想マシンの移動が必要になるか否かを判断する。
【０１５６】
例えば、情報収集部２３２が物理マシンの更新が予定されているという情報を収集した場合、システム配置部２３０は、当該物理マシン上に生成されている仮想マシンの仕様条件と、更新後の物理マシンの仕様とを比較して、物理マシン間での仮想マシンの移動が必要になるか否かを判断する。システム配置部２３０は、同一の物理マシンに生成された複数の仮想マシンの仕様条件と、当該物理マシンの負荷の履歴とを比較して、物理マシン間での仮想マシンの移動が必要になるか否かを判断する。
【０１５７】
Ｓ１０１８において、システム配置部２３０が、物理マシン間での仮想マシンの移動が必要と判断した場合（Ｓ１０１８のＹＥＳ）には、Ｓ１０２０において、仮想マシンの移動処理を実行する。Ｓ１０１８において、システム配置部２３０が、物理マシン間での仮想マシンの移動が不要と判断した場合（Ｓ１０１８のＮＯ）には、Ｓ１０２２の処理を実行する。
【０１５８】
Ｓ１０２２において、システム配置部２３０が、他の仮想マシンとの間でのリソース制御が必要になるか否かを判断する。システム配置部２３０は、システムが仕様条件を満たすには、他の仮想マシンのリソース使用量を削減する必要があるか否かを判断してよい。
【０１５９】
Ｓ１０２２において、システム配置部２３０が、他の仮想マシンとの間でのリソース制御が必要と判断した場合（Ｓ１０２２のＹＥＳ）には、Ｓ１０２４において、仮想マシン間でのリソース制御を実行する。Ｓ１０２２において、システム配置部２３０が、他の仮想マシンとの間でのリソース制御が不要と判断した場合（Ｓ１０２２のＮＯ）には、Ｓ１０２６において、仮想マシンのリソース制御を実行する。Ｓ１０２６において、仮想マシンのリソース制御が完了したら、システムの運用状況を管理する処理を終了する。
【０１６０】
図１０Ｂは、Ｓ１０２０およびＳ１０５８における、仮想マシンの移動処理の一例を概略的に示す。本実施形態において、Ｓ１０３２において、システム配置部２３０は、クラウド評価部２２６に対して、仕様条件を満足する物理マシンを抽出するよう指示する。システム配置部２３０は、Ｓ１０１８で物理マシン間の移動が必要と判断された仮想マシンに関する情報と、情報収集部２３２が収集した情報と、ユーザが入力した仕様条件とを通知する。
【０１６１】
クラウド評価部２２６は、情報収集部２３２が収集した物理マシンの稼動状況および現在の仕様から、利用できる物理マシンを特定する。クラウド評価部２２６は、物理マシン間の移動が必要と判断された仮想マシンのそれぞれと、利用できる物理マシンのそれぞれとの全ての組合せについて、ユーザが入力した仕様条件を満足するか否かを検討する。クラウド評価部２２６は、ユーザが入力した仕様条件を満足する組合せを抽出する。これにより、仕様条件を満足する物理マシンを抽出することができる。
【０１６２】
Ｓ１０３４において、まず、システム配置部２３０が、抽出結果の中から１つの組合せを選択する。システム配置部２３０は、一定の基準に基づいて抽出結果を並べ替えて、抽出結果を評価してよい。システム配置部２３０は、仕様条件のそれぞれについて優先順位が入力されている場合には、優先順位の高い仕様条件をキーとして抽出結果を並べ替えてよい。システム配置部２３０は、評価結果の最も良い組合せを選択してよい。
【０１６３】
次に、システム配置部２３０は、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２を制御して、選択した組合せに基づいて、仮想マシンを異なる物理マシン上に移動させる。システム配置部２３０は、異なる物理マシン上に移動する必要のある仮想マシンの全てを移動したら、仮想マシンの移動処理を終了する。
【０１６４】
図１０Ｃは、Ｓ１０２４における、仮想マシン間でのリソース制御の一例を概略的に示す。本実施形態において、Ｓ１０４２において、まず、システム配置部２３０が、Ｓ１０２２で仮想マシン間でのリソース制御が必要と判断された仮想マシンのそれぞれについて、リソースの共有を許可されている仮想マシンを抽出する。システム配置部２３０は、それぞれの仮想マシンに関するシステム構成条件に基づいて、抽出処理を実行してよい。
【０１６５】
次に、システム配置部２３０は、抽出された仮想マシンの稼動状況から、抽出された仮想マシンのそれぞれについて、削減できるリソース使用量を算出する。また、システム配置部２３０は、仮想マシン間でのリソース制御が必要と判断された仮想マシンのそれぞれについて、仕様条件の達成に必要なリソース量を算出する。
【０１６６】
Ｓ１０４４において、システム配置部２３０は、仮想マシン間でのリソース制御が必要と判断された仮想マシンを生成している物理マシンのそれぞれについて、当該仮想マシンに対して、追加で割り当てることができるリソース量を算出する。次に、システム配置部２３０は、仕様条件の達成に必要なリソース量と、追加で割り当てることができるリソース量とを比較して、物理マシンのリソースが十分かどうかを判断する。
【０１６７】
Ｓ１０４４において、システム配置部２３０が物理マシンのリソースが十分と判断した場合（Ｓ１０４４のＹＥＳ）には、Ｓ１０４６において、仮想マシンのリソース制御を実行する。Ｓ１０２６において、仮想マシンのリソース制御が完了したら、システムの運用状況を管理する処理を終了する。
【０１６８】
Ｓ１０４４において、システム配置部２３０が物理マシンのリソースが不十分と判断した場合（Ｓ１０４４のＮＯ）には、Ｓ１０５０において、システム配置部２３０が、Ｓ１０４２で抽出されなかった仮想マシンの中から、リソース使用量を削減することができる仮想マシンを抽出する。
【０１６９】
Ｓ１０５２において、システム配置部２３０が、Ｓ１０５０で抽出された仮想マシンに割り当てるリソースを削減することで、仕様条件を達成することができるか否かを判断する。Ｓ１０５２において、システム配置部２３０が仕様条件を達成することができると判断した場合（Ｓ１０５２のＹＥＳ）には、Ｓ１０５４において、システム配置部２３０が、Ｓ１０５０で抽出された仮想マシンのそれぞれについて、リソース制御を実行する。Ｓ１０５４において、リソース制御が完了したら、Ｓ１０４４の処理を実行する。
【０１７０】
Ｓ１０５２において、システム配置部２３０が仕様条件を達成することが困難と判断した場合（Ｓ１０５２のＮＯ）には、Ｓ１０５６において、システム配置部２３０が、他の物理サーバへ移動することができる仮想マシンを抽出する。Ｓ１０５８において、仮想マシンの移動処理を実行して、抽出した仮想マシンを他の物理サーバに移動させる。Ｓ１０５８において、仮想マシンの移動処理が完了したら、Ｓ１０４４の処理を実行する。以上により、仮想マシン間でのリソース制御を実行することができる。
【０１７１】
図１０Ｄは、Ｓ１０２６、Ｓ１０４６およびＳ１０５４における、仮想マシンのリソース制御の一例を概略的に示す。本実施形態において、Ｓ１０７２において、システム配置部２３０が、制御対象となる仮想マシンの稼動状況と、仕様条件の達成に必要なリソース量とに基づいて、制御対象となる仮想マシンに割り当てるリソース量を調整する。システム配置部２３０は、仮想マシンに割り当てるリソースを調整したら、仮想マシンのリソース制御を終了する。
【０１７２】
図１１Ａおよび図１１Ｂは、仕様条件とクラウド管理装置１２０の機能との対応関係の一例を示す。テーブル１１０２およびテーブル１１０４は、仮想マシンの演算処理環境に関する条件１１２０ごとに、クラウド管理装置１２０の機能１１４０と、制御項目１１４２と、機能の種類１１４４とを格納する。テーブル１１０２およびテーブル１１０４は、システム構成条件１１６０を格納してよい。システム構成条件１１６０は、クラウド管理装置１２０が機能１１４０を実行するときに参照する参照条件であってよい。
【０１７３】
本実施形態において、仮想マシンの演算処理環境に関する条件１１２０は、リソース制御に関する条件、稼動スペックの最適化に関する条件、セキュリティに関する条件および信頼性に関する条件を含んでよい。リソース制御に関する条件は、演算処理装置の処理速度を指定する条件、記憶装置の応答速度を指定する条件および通信速度を指定する条件を含んでよい。稼動スペックの最適化に関する条件は、演算処理性能の直列対称性を最適化するか否かを指定する条件と、演算処理性能の並列対称性を最適化するか否かを指定する条件とを含んでよい。
【０１７４】
セキュリティに関する条件は、ウイルスが検知されていない物理マシンを使用することを保証するか否かを指定する条件を含んでよい。信頼性に関する条件は、ワーニングの実績の有無または故障間隔を指定する条件と、障害の実績の有無または障害対策の有無を指定する条件とを含んでよい。
【０１７５】
テーブル１１０２およびテーブル１１０４において、○は、仮想マシンの演算処理環境に関する条件１１２０に含まれるそれぞれの条件について、制御項目１１４２を制御して機能１１４０を実行することで、当該条件を改善することができることを示す。テーブル１１０２およびテーブル１１０４において、△は、仮想マシンの演算処理環境に関する条件１１２０に含まれるそれぞれの条件について、機能１１４０を実行するときに参照する条件を示す。テーブル１１０２およびテーブル１１０４において、▼は、仮想マシンの演算処理環境に関する条件１１２０またはシステム構成条件１１６０に含まれるそれぞれの条件を改善するときに、利用してよい機能を示す。
【０１７６】
例えば、仮想マシンの演算処理環境に関する条件１１２０のリソース制御に関する条件のうち、演算処理装置の処理速度を指定する条件を例として、テーブル１１０２およびテーブル１１０４について説明する。テーブル１１０２およびテーブル１１０４において、列１１２２に○が記載されている機能は、演算処理装置の処理速度を指定する条件を改善することができることを示す。
【０１７７】
これにより、演算処理装置の処理速度を指定する条件を改善する場合、クラウド管理装置１２０は、演算処理装置リソースの優先度をリアルタイムで制御する機能、演算処理装置リソースの使用量をリアルタイムで制御する機能、記憶装置の通信速度の優先度を制御する機能、および、仮想マシンの他の物理移動を動的に制御する機能の少なくとも１つを実行すればよいことがわかる。また、演算処理装置の処理速度を指定する条件を改善するときに、列１１２２に▼が記載されている機能を利用できることがわかる。
【０１７８】
テーブル１１０２の演算処理装置リソースの優先度をリアルタイムで制御する機能の行を参照することで、クラウド管理装置１２０が、演算処理装置リソースの優先度をリアルタイムで制御する機能により、演算処理装置の処理速度を指定する条件を改善する場合には、クラウド管理装置１２０は、システム構成条件１１６０を満足するように、当該機能を実行すればよいことがわかる。また、制御項目１１４２の記載を参照することで、クラウド管理装置１２０は、演算処理装置リソースの割当優先度を変更することで、当該機能を実行すればよいことがわかる。
【０１７９】
クラウド管理装置１２０は、動的制御機能、静的制御機能およびセンサー機能により、ユーザが入力した仕様条件を満足するように、システムを管理することができる。クラウド管理装置１２０は、テーブル１１０２およびテーブル１１０４を利用してシステムを管理することで、システムの性能の変化に対する応答速度を向上させることができる。これにより、仕様条件を満足するシステムを安定して運用することができる。クラウド管理装置１２０は、機能の種類１１４４を参照して、機能の種類１１４４が動的制御機能であれば、システムの管理に有効な機能であり、機能の種類１１４４が動的制御機能であれば、システムの構築に有効な機能であると判断してよい。
【０１８０】
クラウド管理装置１２０は、センサー機能により、各仮想マシン、または、仮想マシン管理装置１３２、仮想マシン管理装置１４２もしくは仮想マシン管理装置１５２から、様々な情報を収集することができる。クラウド管理装置１２０が収集する情報としては、仮想マシンもしくはシステムの性能に関する情報、物理マシンの設置場所における温度もしくは騒音のような稼働環境に関する情報、システム、仮想マシンもしくは物理マシンのセキュリティに関する情報、障害に関する情報、または、システム、仮想マシンもしくは物理マシンの構成に情報を例示することができる。
【０１８１】
クラウド管理装置１２０は、センサー機能により、各仮想マシン、または、仮想マシン管理装置１３２、仮想マシン管理装置１４２もしくは仮想マシン管理装置１５２からのオペレーション操作に関するリクエストを収集してもよい。オペレーション操作に関するリクエストとしては、一時的にリソースの使用量を増加する旨のメッセージを例示することができる。
【０１８２】
図１２Ａおよび図１２Ｂは、仕様条件とクラウド管理装置１２０の機能との対応関係の一例を示す。テーブル１２０２およびテーブル１２０４は、システム配置条件１２２０ごとに、クラウド管理装置１２０の機能１２４０と、制御項目１２４２と、機能の種類１２４４とを格納する。テーブル１２０２およびテーブル１２０４は、システム構成条件１２６０を格納してよい。システム構成条件１２６０は、クラウド管理装置１２０が機能１２４０を実行するときに参照する参照条件であってよい。テーブル１２０２およびテーブル１２０４において、テーブル１１０２およびテーブル１１０４と類似する部分については、説明を省略する。
【０１８３】
図１３Ａおよび図１３Ｂは、仕様条件とクラウド管理装置１２０の機能との対応関係の一例を示す。テーブル１３０２およびテーブル１３０４は、システム運用条件１３２０ごとに、クラウド管理装置１２０の機能１３４０と、制御項目１３４２と、機能の種類１３４４とを格納する。テーブル１３０２およびテーブル１３０４は、システム構成条件１３６０を格納してよい。システム構成条件１３６０は、クラウド管理装置１２０が機能１３４０を実行するときに参照する参照条件であってよい。テーブル１３０２およびテーブル１３０４において、テーブル１１０２およびテーブル１１０４と類似する部分については、説明を省略する。
【０１８４】
クラウド管理装置１２０は、テーブル１１０２、テーブル１１０４、テーブル１２０２、テーブル１２０４、テーブル１３０２およびテーブル１３０４を、システム定義記憶部２４４に格納してよい。システム配置部２３０は、システムを構築または管理するときに、テーブル１１０２、テーブル１１０４、テーブル１２０２、テーブル１２０４、テーブル１３０２およびテーブル１３０４を参照してよい。
【０１８５】
以上の記載によれば、本願明細書には以下の管理方法が記載されていることは明らかである。本願明細書には、複数の物理マシン上に仮想的に生成される複数の仮想マシンにより実現されるシステムを管理する管理方法であって、システムの仕様を規定する仕様条件を取得する仕様条件取得段階と、仕様条件に基づき、複数の物理マシンへの複数の仮想マシンの割り当てを決定するシステム配置段階とを備え、システム配置段階は、複数の仮想マシンのうち、少なくとも１つの仮想マシンの演算処理性能が向上した場合に、少なくとも１つの仮想マシンの演算処理性能の変動が予め定められた範囲内になるように、少なくとも１つの仮想マシンの演算処理性能を制限する制限段階を有する管理方法が記載されている。
【０１８６】
本実施形態においては、クラウド管理装置１２０が、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２とは別の物理マシン上に設けられ、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２を制御する場合について説明した。しかしながら、クラウド管理装置１２０はこれに限定されない。
【０１８７】
例えば、仮想マシン管理装置１３２がクラウド管理装置１２０と同様の機能を実現してよい。また、クラウド管理装置１２０は、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２と同一の物理マシン上に設けられてもよい。さらに、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２の少なくとも１つが、仮想マシンにより構成されていてもよい。
【０１８８】
本実施形態においては、クラウド運用システム１００、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２を例として、それぞれに含まれる構成の機能について説明した。しかし、各構成の機能は厳密に区別されるものではなく、クラウド運用システム１００、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２のそれぞれの構成は、これに限定されない。仕様条件取得部２２２がシステム定義部２２４の機能の一部を担ってもよく、システム定義部２２４が仕様条件取得部２２２の機能の一部を担ってもよい。
【０１８９】
本実施形態においては、プログラムが実行されることにより、コンピュータがクラウド運用システム１００、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２として機能する場合について説明した。しかし、クラウド運用システム１００、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２および仮想マシン管理装置１５２は、これに限定されない。
【０１９０】
クラウド運用システム１００、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよい。クラウド運用システム１００、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２は、それぞれの用途に特化したシステムであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。
【０１９１】
例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信インターフェース等を有するデータ処理装置と、入力装置と、出力装置と、記憶装置とを備えた一般的な構成の情報処理装置において、クラウド運用システム１００、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２の各部の動作を規定したソフトウエアを起動することにより、クラウド運用システム１００、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２を実現できる。上記特化したシステムおよび上記情報処理装置は、単一のコンピュータにより構成されてもよく、ネットワーク上に分散した複数のコンピュータにより構成されてもよい。
【０１９２】
図１４は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【０１９３】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【０１９４】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【０１９５】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【０１９６】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【０１９７】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【０１９８】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【０１９９】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【０２００】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、予め定められた条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【０２０１】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【０２０２】
コンピュータ１９００にインストールされ、コンピュータ１９００をクラウド運用システム１００、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２として機能させるプログラムは、クラウド運用システム１００、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２の各部の動作を規定したモジュールを備える。
【０２０３】
これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、クラウド運用システム１００、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２の各部としてそれぞれ機能させる。これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のクラウド運用システム１００、クラウド管理装置１２０、仮想マシン管理装置１３２、仮想マシン管理装置１４２または仮想マシン管理装置１５２を構築できる。
【０２０４】
以上より、本願明細書には以下のプログラムが記載されていることが明らかである。即ち、本願明細書には、コンピュータを、複数の物理マシン上に仮想的に生成される複数の仮想マシンにより実現されるシステムを管理する管理装置であって、システムの仕様を規定する仕様条件を取得する仕様条件取得部と、仕様条件に基づき、複数の物理マシンへの複数の仮想マシンの割り当てを決定するシステム配置部とを備える管理装置として機能させ、システム配置部を、複数の仮想マシンのうち、少なくとも１つの仮想マシンの演算処理性能が向上した場合に、少なくとも１つの仮想マシンの演算処理性能の変動が予め定められた範囲内になるように、少なくとも１つの仮想マシンの演算処理性能を制限するように機能させる管理プログラムが記載されている。
【０２０５】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０２０６】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０２０７】
１０  ネットワーク 
１００  クラウド運用システム 
１１０  ユーザ端末 
１２０  クラウド管理装置 
１３０  クラウド提供会社 
１３２  仮想マシン管理装置 
１３４  物理マシン  
１３８  ネットワーク 
１４０  クラウド提供会社 
１４２  仮想マシン管理装置 
１４４  物理マシン  
１４８  ネットワーク 
１５０  クラウド提供会社 
１５２  仮想マシン管理装置 
１５４  物理マシン  
１５８  ネットワーク 
２１０  通信制御部 
２１２  入力部 
２１４  出力部 
２２２  仕様条件取得部 
２２４  システム定義部 
２２６  クラウド評価部 
２３０  システム配置部 
２３２  情報収集部 
２４２  システムパッケージ記憶部 
２４４  システム定義記憶部 
２４６  クラウド仕様記憶部 
４１２  通知受付部 
４１４  情報収集部 
４１６  調整部 
４１８  物理マシン管理部 
６００  データテーブル 
６０１  システムパッケージ
６０２  システムパッケージ
６０３  システムパッケージ
６０４  システムパッケージ
６０５  システムパッケージ
６１２  システムパッケージの種類
６１４  システムパッケージの機能
６１６  システムパッケージの構造
６１８  システムパッケージに含まれる構成間の接続関係
６２０  動作プログラム
７００  システム
７０２  共用ＤＭＺシステム
７０３  宿泊予約システム
７０４  通信販売システム
７０５  決済システム
７０６  開発中のシステム
７１０  データテーブル
７１２  仕様条件
７１４  ユーザの入力
７２０  システムの構造
７２２  システムの名称
７２４  サブシステムの名称
７２６  システムパッケージの種類
７３０  システム構成条件
７３２  リソース共有グループ
７３４  物理サーバ共有グループ
７４０  演算処理環境
７４２  ＣＰＵの性能
７４４  記憶容量
７４６  通信速度
７５０  システム配置条件
７５２  セキュリティレベル
７５３  設置場所
７５４  災害対策レベル
７５５  ミラーリング
７５６  稼動時間
７６０  システム運用条件
７６２  運用コスト
７６４  処理時間
７７０  クラウド提供会社に関する条件
７７２  格付け
７７４  再委託の可否
８００  データテーブル 
８０１  ＷＥＢサーバ
８０２  ＷＥＢサーバ 
８０３  ＷＥＢサーバ 
８０４  アプリケーションサーバ
８０５  アプリケーションサーバ
８０６  データベースサーバ 
８０７  データベースサーバ 
８０８  アプリケーションサーバ
８０９  アプリケーションサーバ
８１０  データベースサーバ 
８１１  データベースサーバ
８１２  ＷＥＢサーバ
８１３  ＷＥＢサーバ 
８１４  ＷＥＢサーバ 
８１５  アプリケーションサーバ
８１６  アプリケーションサーバ
８１７  データベースサーバ 
８１８  データベースサーバ 
８１９  ＷＥＢサーバ
８２０  ＷＥＢサーバ
８２１  ＷＥＢサーバ 
８２２  アプリケーションサーバ
８２３  アプリケーションサーバ
８２４  データベースサーバ 
８２５  データベースサーバ
８３０  ユーザ 
８４０  システムの構造
８４４  サブシステムの名称
８４６  サブシステムを構成する仮想マシン 
８４８  仮想マシン間の接続関係
８５０  仮想マシンと物理マシンとの対応関係 
８５２  クラウド提供会社
８５４  物理マシン
１１０２  テーブル
１１０４  テーブル
１１２０  仮想マシンの演算処理環境に関する条件
１１２２  列
１１４０  機能
１１４２  制御項目
１１４４  機能の種類
１１６０  システム構成条件
１２０２  テーブル
１２０４  テーブル
１２２０  システム配置条件
１２４０  機能
１２４２  制御項目
１２４４  機能の種類
１２６０  システム構成条件
１３０２  テーブル
１３０４  テーブル
１３２０  システム運用条件
１３４０  機能
１３４２  制御項目
１３４４  機能の種類
１３６０  システム構成条件
１９００  コンピュータ 
２０００  ＣＰＵ 
２０１０  ＲＯＭ 
２０２０  ＲＡＭ 
２０３０  通信インターフェイス 
２０４０  ハードディスクドライブ 
２０５０  フレキシブルディスク・ドライブ 
２０６０  ＣＤ−ＲＯＭドライブ 
２０７０  入出力チップ 
２０７５  グラフィック・コントローラ 
２０８０  表示装置 
２０８２  ホスト・コントローラ 
２０８４  入出力コントローラ 
２０９０  フレキシブルディスク 
２０９５  ＣＤ−ＲＯＭ
【図１】
0005552343.tif 000002
【図２】
0005552343.tif 000003
【図３】
0005552343.tif 000004
【図４】
0005552343.tif 000005
【図５】
0005552343.tif 000006
【図６】
0005552343.tif 000007
【図７】
0005552343.tif 000008
【図８】
0005552343.tif 000009
【図９】
0005552343.tif 000010
【図１０Ａ】
0005552343.tif 000011
【図１０Ｂ】
0005552343.tif 000012
【図１０Ｃ】
0005552343.tif 000013
【図１０Ｄ】
0005552343.tif 000014
【図１１Ａ】
0005552343.tif 000015
【図１１Ｂ】
0005552343.tif 000016
【図１２Ａ】
0005552343.tif 000017
【図１２Ｂ】
0005552343.tif 000018
【図１３Ａ】
0005552343.tif 000019
【図１３Ｂ】
0005552343.tif 000020
【図１４】
0005552343.tif 000021