(57)【要約】【課題】トラフィック量の変化に沿った適切なオートスケールを実施する情報処理装置を提供する。【解決手段】リモートルータ情報収集部１０７は、リモートルータ６のトラフィックの情報を取得する。情報収集部１０８は、ロードバランサ２００、仮想マシン３００及び仮想ルータ４０のトラフィックの情報を取得する。ロードバランサ制御部１０５は、サーバ装置２０に、リモートルータ６及び仮想ルータ４０のトラフィックの情報を基に、ロードバランサ２００の増減を行うための準備を実行させ、ロードバランサ２００のトラフィックの情報を基に、ロードバランサ２００の増減を行わせる。仮想マシン制御部１０６は、サーバ装置３０に、ロードバランサ２００のトラフィックの情報を基に、仮想マシン３００の増減を行うための準備を実行させ、仮想マシン３００のトラフィックの情報を基に、仮想マシン３００の増減を行わせる。【選択図】図２
2018097708.tif 000002
【特許請求の範囲】
【請求項１】
仮想リソースを動作させる演算処理装置に対するデータの送受信に用いられる通信処理装置及び前記仮想リソースのトラフィックの情報を取得する情報取得部と、
前記通信処理装置の前記トラフィックの情報を基に、前記演算処理装置に前記仮想リソースの増減を行うための準備を実行させ、前記仮想リソースのトラフィックの情報を基に、前記演算処理装置に前記仮想リソースの増減を行わせる制御部と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記情報取得部により取得された前記トラフィックの情報を基に、周期的に発生する前記トラフィックの変化を特定する情報解析部をさらに備え、
前記制御部は、前記情報解析部により特定された前記トラフィックの変化を基に、前記演算処理装置に前記仮想リソースの増減を行うための準備及び前記仮想リソースの増減を行わせる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、前記演算処理装置による前記仮想リソースの配備時間を計測し、且つ、前記情報解析部により特定された前記トラフィックの変化から前記演算処理装置の周期的な前記トラフィックの増加タイミングを特定し、前記増加タイミングから前記配備時間前に、前記演算処理装置に前記仮想リソースの増減を行うための準備を実行させる
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記制御部は、前記仮想リソースを生成させることで前記演算処理装置に前記仮想リソースの増加準備を行わせ、前記通信処理装置の前記トラフィックの情報を基に、増加させる前記仮想リソースの数を算出し、前記演算処理装置により増加準備された前記仮想リソースの数が算出した数よりも少ない場合、足りない前記仮想リソースを前記演算処理装置に生成させることを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
前記仮想リソースは、ロードバランサであり、
前記制御部は、前記ロードバランサを生成させることで前記演算処理装置に前記ロードバランサの増加準備を行わせ、前記ロードバランサの増加準備において生成された前記ロードバランサの名前解決を実行させることで前記演算処理装置に前記ロードバランサの増加を行わせる
ことを特徴とする請求項１〜４のいずれか一つに記載の情報処理装置。
【請求項６】
前記仮想リソースは、仮想マシンであり、
前記制御部は、前記仮想マシンを生成させることで前記演算処理装置に前記仮想マシンの増加準備を行わせ、前記仮想マシンの増加準備において生成された前記仮想マシンを、前記仮想マシンに対するデータの送受信を仲介する装置に登録することで前記演算処理装置に前記仮想マシンの増加を行わせる
ことを特徴とする請求項１〜４のいずれか一つに記載の情報処理装置。
【請求項７】
演算処理装置、通信処理装置及び管理装置を有する情報処理システムであって、
前記演算処理装置は、仮想リソースを動作させ
前記通信処理装置は、前記演算処理装置に対するデータの送受信に用いられ、
前記管理装置は、
前記通信処理装置及び前記仮想リソースのトラフィックの情報を取得する情報取得部と、
前記通信処理装置の前記トラフィックの情報を基に、前記演算処理装置に前記仮想リソースの増減を行うための準備を実行させ、前記仮想リソースのトラフィックの情報を基に、前記演算処理装置に前記仮想リソースの増減を行わせる制御部と
を備えた
ことを特徴とする情報処理システム。
【請求項８】
仮想リソースを動作させる演算処理装置に対するデータの送受信に用いられる通信処理装置及び前記仮想リソースのトラフィックの情報を取得し、
前記通信処理装置の前記トラフィックの情報を基に、前記演算処理装置に前記仮想リソースの増減を行うための準備を実行させ、
前記仮想リソースのトラフィックの情報を基に、前記演算処理装置に前記仮想リソースの増減を行わせる
ことを特徴とする情報処理方法。
【請求項９】
仮想リソースを動作させる演算処理装置に対するデータの送受信に用いられる通信処理装置及び前記仮想リソースのトラフィックの情報を取得し、
前記通信処理装置の前記トラフィックの情報を基に、前記演算処理装置に前記仮想リソースの増減を行うための準備を実行させ、
前記仮想リソースのトラフィックの情報を基に、前記演算処理装置に前記仮想リソースの増減を行わせる
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法に関する。
【背景技術】
【０００２】
近年、情報処理装置の普及により、会社や自宅及び外出先といった様々な環境で情報処理装置を用いることが可能になっている。そして、そのように様々な環境に配置された情報処理装置から共通のデータにアクセスするという要望を受け、クラウドシステムの利用が普及してきている。クラウドシステムとは、コンピュータネットワーク上のサーバにあるソフトウェアやデータを利用者がネットワークを通じて利用するシステムである。
【０００３】
このようなクラウドシステムには様々なウェブサービスの機能が搭載され、利用者は、１つのクラウドシステムから様々なウェブサービスを受けることができる。クラウドサービスに複数のウェブサービスの機能が搭載された場合、それらのウェブサービスに関するトラフィックの変化が複雑になる。そこで、クラウドシステムでは、そのようなトラフィックの変化に対応して、各ウェブサービスが用いる資源を自動的に増減させることが求められる。以下では、ウェブサービスが用いる資源を自動的に増減させることを、「オートスケール」と呼ぶ。
【０００４】
従来、オートスケールの方法として、使用中のリソースが性能上限に達した場合にリソースを増加させる方法や、リソースを強制的に配備し増加させる方法や、使用中のリソースに異常が発生した場合に代わりのリソースを配備する方法が知られている。
【０００５】
また、オートスケールの技術として、クラウドシステム内のサーバの前段にロードバランサを配置し、サーバの負荷に応じてサーバを増減させ、その増減したサーバに対してロードバランサが処理を振り分ける従来技術がある。また、ツリー構造のサーバ群において、サーバの負荷計算を行い、負荷計算の結果に応じてオートスケールを行う従来技術がある。また、オートスケールを行う基準とする負荷計測のために、業務ノードのリソースの割り当てを変更して、負荷計測を行い、その結果を用いて業務ノード間の関連性による影響範囲を特定する従来技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−４８９００号公報
【特許文献２】国際公開第２０１５／１４５７５３号
【特許文献３】国際公開第２０１５／１２１９２５号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、使用中のリソースが性能上限に達した場合にリソースを増加させる方法では、使用中のリソースのトラフィック量を計測し、その変化によりオートスケールを実行する。そのため、急激なトラフィック量の増加が発生した場合でも、リソースの性能上限に達してから、トラフィック量の変化を認識してオートスケールを開始する。すなわち、トラフィック量の増加の発生とオートスケールの開始との間のタイムラグが大きい。このタイムラグの間は対応が行われないため、この間にリソースの能力オーバ状態が発生するおそれがある。したがって、トラフィック量の変化に沿った適切なオートスケールを実施することは困難である。
【０００８】
開示の技術は、上記に鑑みてなされたものであって、トラフィック量の変化に沿った適切なオートスケールを実施する情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法の一つの態様において、情報取得部は、仮想リソースを動作させる演算処理装置に対するデータの送受信に用いられる通信処理装置及び前記仮想リソースのトラフィックの情報を取得する。制御部は、前記通信処理装置の前記トラフィックの情報を基に、前記演算処理装置に前記仮想リソースの増減を行うための準備を実行させ、前記仮想リソースのトラフィック情報を基に、前記演算処理装置に前記仮想リソースの増減を行わせる。
【発明の効果】
【００１０】
本願の開示する情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法の一つの態様によれば、トラフィック量の変化に沿った適切なオートスケールを実施することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、オートスケール機能を有するクラウドシステムの構成図である。
【図２】図２は、クラウド管理装置のブロック図である。
【図３】図３は、リソース管理データベースの一例を表す図である。
【図４】図４は、情報格納データベースの一例を表す図である。
【図５】図５は、プール情報の一例を表す図である。
【図６】図６は、実施例１に係る解析学習データベースの一例を表す図である。
【図７】図７は、クラウド管理装置による情報収集の処理のシーケンス図である。
【図８】図８は、実施例１に係るクラウド管理装置によるスケールアウトに関する情報解析処理のシーケンス図である。
【図９】図９は、実施例１に係るクラウド管理装置によるロードバランサのスケールアウト処理のシーケンス図である。
【図１０】図１０は、実施例１に係るクラウド管理装置による仮想マシンのスケールアウト処理のシーケンス図である。
【図１１】図１１は、実施例１に係るクラウド管理装置によるスケールインに関する情報解析処理のシーケンス図である。
【図１２】図１２は、実施例１に係るクラウド管理装置によるロードバランサのスケールイン処理のシーケンス図である。
【図１３】図１３は、実施例１に係るクラウド管理装置による仮想マシンのスケールイン処理のシーケンス図である。
【図１４】図１４は、実施例２に係る解析学習データベースの一例を表す図である。
【図１５】図１５は、実施例２に係るクラウド管理装置によるスケールアウトに関する情報解析処理のシーケンス図である。
【図１６】図１６は、実施例２に係るクラウド管理装置によるロードバランサのスケールアウト処理のシーケンス図である。
【図１７】図１７は、実施例２に係るクラウド管理装置による仮想マシンのスケールアウト処理のシーケンス図である。
【図１８】図１８は、実施例２に係るクラウド管理装置によるスケールインに関する情報解析処理のシーケンス図である。
【図１９】図１９は、実施例２に係るクラウド管理装置によるロードバランサのスケールイン処理のシーケンス図である。
【図２０】図２０は、実施例２に係るクラウド管理装置による仮想マシンのスケールイン処理のシーケンス図である。
【図２１】図２１は、実施例３に係るクラウド管理装置によるロードバランサのスケールアウト処理のシーケンス図である。
【図２２】図２２は、実施例３に係るクラウド管理装置による仮想マシンのスケールアウト処理のシーケンス図である。
【図２３】図２３は、クラウド管理装置のハードウェア構成図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法が限定されるものではない。
【実施例１】
【００１３】
図１は、オートスケール機能を有するクラウドシステムの構成図である。クラウドシステム１００は、クラウド管理装置１、ネットワーク装置４、リモートルータ６、ＤＮＳ（Domain  Name  Service）装置７、並びに、サーバ装置２１〜２３及び３１〜３３を有する。
【００１４】
図１における一点鎖線は、クラウドシステム１００を管理するための管理用ネットワークを表す。また、図１における実線は、クラウドシステム１００のサービスを提供する業務ネットワークを表す。
【００１５】
サーバ装置２１〜２３及び３１〜３３は、ネットワーク装置４を介して、サーバ装置３１〜３３のサービスを操作端末８へ提供するためのネットワーク５に接続する。また、ＤＮＳ装置７は、ネットワーク５に接続される。さらに、ネットワーク５には、リモートルータ６が接続される。そして、ＤＮＳ装置７、並びにサーバ装置２１〜２３及び３１〜３３は、リモートルータ６を介して、操作端末８に接続する。
【００１６】
サーバ装置２１〜２３は、それぞれロードバランサ２０１〜２０３を動作させる。ロードバランサ２０１〜２０３は、操作端末８から送信された処理要求を後述する仮想マシン３０１〜３０３に割り当て、負荷分散を行う。ロードバランサ２０１〜２０３は、複数で１つのロードバランサの機能を実現する。具体的には、ロードバランサ２０１〜２０３は、操作端末８からアクセスするための仮想ＩＰ（Internet  Protocol）アドレス及び分散先の仮想マシン３０１〜３０３のＩＰアドレスの情報を有する。サーバ装置２１〜２３は、いずれも同じ機能を有するため、以下では、それぞれを区別しない場合、単に「サーバ装置２０」という。また、ロードバランサ２０１〜２０３は、いずれも同じ機能を有するため、以下では、それぞれを区別しない場合、単に「ロードバランサ２００」という。このロードバランサ２００が、「仮想マシンに対するデータの送受信を仲介する装置」の一例にあたる。
【００１７】
サーバ装置３１〜３３は、それぞれ仮想マシン３０１〜３０３を動作させる。仮想マシン３０１〜３０３は、操作端末８から送信された処理要求を受信し、受信した処理要求にしたがい処理を実行する。サーバ装置３１〜３３は、いずれも同じ機能を有するため、以下では、それぞれを区別しない場合、単に「サーバ装置３０」という。また、仮想マシン３０１〜３０３は、いずれも同じ機能を有するため、以下では、それぞれを区別しない場合、単に「仮想マシン３００」という。このロードバランサ２００及び仮想マシン３００が、「仮想リソース」の一例にあたる。また、サーバ装置２０及び３０が、「演算処理装置」の一例にあたる。
【００１８】
ネットワーク装置４は、ファイアウォール装置４１、並びに、仮想ルータ４２及び４３を有する。ファイアウォール装置４１は、サーバ装置２０及び３０へのアクセスを制限し安全性を確保する。ファイアウォール装置４１は、仮想ルータ４２を接続点としてネットワーク５とサーバ装置２０及び３０とを結ぶ経路に接続し、ネットワーク上のアクセスの監視を行う。
【００１９】
仮想ルータ４２は、ネットワーク５と接続するルータである。また、仮想ルータ４３は、サーバ装置２０及び３０と接続するルータである。ロードバランサ２００及び仮想マシン３００は、仮想ルータ４２及び４３を介して、ネットワーク５に接続する。ここで、本実施例では、サーバ装置２０及び３０をネットワーク５に接続するために仮想ルータ４２及び４３を用いたが、これは物理ルータを用いてもよい。以下では、仮想ルータ４２及び４３を区別しない場合、単に「仮想ルータ４０」という場合がある。
【００２０】
ＤＮＳ装置７は、ロードバランサ２００及び仮想マシン３００の名前を解決する。ＤＮＳ装置７は、ロードバランサ２００及び仮想マシン３００のリソース名などの識別情報とＩＰアドレスとを対応させて記憶する。そして、ＤＮＳ装置７は、操作端末８からの名前解決の要求を受けて、問い合わせを受けた識別情報に対応するＩＰアドレスを応答する。
【００２１】
リモートルータ６は、例えば、企業の業務を行う拠点に配置された拠点ルータである。操作端末８は、企業の業務を行うための端末装置である。操作端末８は、リモートルータ６を介してネットワーク５に接続する。操作端末８は、ロードバランサ２００の名前を基にＤＮＳ装置７から通知されるＩＰアドレスを利用してロードバランサ２００にアクセスし、ロードバランサ２００により負荷分散が行われることで、仮想マシン３０１〜３０３が提供するサービスを受ける。
【００２２】
ここで、操作端末８とロードバランサ２００との間のデータの送受信は、リモートルータ６及び仮想ルータ４０を介して行われる。すなわち、リモートルータ６及び仮想ルータ４０が、ロードバランサ２００に対する「データの送受信に用いられる通信処理装置」の一例にあたる。また、操作端末８と仮想マシン３００との間のデータの送受信は、リモートルータ６、仮想ルータ４０及びロードバランサ２００を介して行われる。すなわち、リモートルータ６、仮想ルータ４０及びロードバランサ２００が、仮想マシン３００に対する「データの送受信に用いられる通信処理装置」の一例にあたる。
【００２３】
クラウド管理装置１は、管理ネットワークを介してサーバ装置２０及び３０にアクセスする。また、クラウド管理装置１は、管理ネットワークに加えて、ネットワーク装置４及びネットワーク５を介して、リモートルータ６及びＤＮＳ装置７にアクセスする。
【００２４】
クラウド管理装置１は、指定された仮想ルータ４２及び４３をネットワーク装置４内に生成する。また、クラウド管理装置１は、サーバ装置２０においてロードバランサ２００を起動させ配備する。さらに、クラウド管理装置１は、サーバ装置３０において仮想マシン３００を起動させ配備する。
【００２５】
さらに、クラウド管理装置１は、リモートルータ６、仮想ルータ４２及び４３、ロードバランサ２００及び仮想マシン３００のトラフィックなどの負荷情報を取得する。そして、クラウド管理装置１は、取得した負荷情報を用いてロードバランサ２００及び仮想マシン３００のオートスケール、すなわち、それぞれの増加及び削減を実行する。以下に、クラウド管理装置１の詳細について説明する。クラウド管理装置１は、情報処理装置である。また、クラウド管理装置１が、「管理装置」の一例にあたる。
【００２６】
図２は、クラウド管理装置のブロック図である。クラウド管理装置１は、ユーザインタフェース１０１、ユーザインタフェース制御部１０２、仮想ルータ制御部１０３、ファイアウォール制御部１０４、ロードバランサ制御部１０５、仮想マシン制御部１０６、リモートルータ情報収集部１０７、情報収集部１０８を有する。また、クラウド管理装置１は、情報格納データベース１１１、解析学習データベース１１２、リソース管理データベース１１３、設定パラメタ格納部１１４及びプール情報格納部１１５を有する。
【００２７】
ユーザインタフェース１０１は、例えば、キーボード及びマウスなどの入力装置、並びに、モニタなどの出力装置を有する。ユーザインタフェース１０１は、例えば、ＧＵＩ（Graphic  User  Interface）、ＣＬＩ（Command  Line  Interface）又はＡＰＩ（Application  Programing  Interface）などを提供する。操作者は、ユーザインタフェース１０１を用いて、処理要求やデータなどのクラウド管理装置１への入力を行う。
【００２８】
ユーザインタフェース制御部１０２は、ユーザインタフェース１０１により入力されたデータや処理要求を、仮想ルータ制御部１０３、ファイアウォール制御部１０４、ロードバランサ制御部１０５又は仮想マシン制御部１０６へ送信する。また、ユーザインタフェース制御部１０２は、仮想ルータ制御部１０３、ファイアウォール制御部１０４、ロードバランサ制御部１０５及び仮想マシン制御部１０６から処理要求に対する応答などのデータを受信する。そして、ユーザインタフェース制御部１０２は、ユーザインタフェース１０１を用いて操作者に受信したデータを提供する。
【００２９】
仮想ルータ制御部１０３は、操作者から入力された仮想ルータ４０の配備及び性能情報収集の設定情報などをユーザインタフェース制御部１０２を介して受信する。そして、仮想ルータ制御部１０３は、受信した設定情報にしたがい、仮想ルータ４０の配備や性能情報取集の設定の制御を行う。そして、仮想ルータ制御部１０３は、設定の実行結果をユーザインタフェース制御部１０２を介してユーザインタフェース１０１に表示させる。さらに、仮想ルータ制御部１０３は、仮想ルータ４０のリソースタイプ、リソース名及びリソースＩＤ（Identifier）を含む配備リソース情報をリソース管理データベース１１３に登録する。
【００３０】
ファイアウォール制御部１０４は、操作者から入力されたファイアウォール装置４１の配備、ルール及び性能情報収集の設定情報などをユーザインタフェース制御部１０２を介して受信する。そして、ファイアウォール制御部１０４は、受信した設定情報にしたがい、ファイアウォール装置４１の配備、ルールの設定及び性能情報取集の設定の制御を行う。そして、ファイアウォール制御部１０４は、設定の実行結果をユーザインタフェース制御部１０２を介してユーザインタフェース１０１に表示させる。さらに、ファイアウォール制御部１０４は、ファイアウォール装置４１の配備リソース情報をリソース管理データベース１１３に登録する。
【００３１】
リモートルータ情報収集部１０７は、ロードバランサ２００宛ての通信の送信元ネットワーク情報を情報格納データベース１１１から取得する。次に、リモートルータ情報収集部１０７は、ロードバランサ２００宛ての通信の送信元ネットワーク情報から、ロードバランサ２００に対する処理要求の送信元となるリモートルータ６における経路インタフェースを特定する。そして、リモートルータ情報収集部１０７は、特定した経路インタフェースを用いてリモートルータ６へのトラフィック取得情報を更新する。ここで、トラフィック取得情報とは、リモートルータ６における送信元ネットワークへのインタフェースであり、且つ、トラフィック情報の取得対象とするインタフェースである経路インタフェースが登録された情報である。
【００３２】
リモートルータ情報収集部１０７は、トラフィック取得情報をリモートルータ６に送信して、トラフィック情報の送信を要求する。その後、リモートルータ情報収集部１０７は、特定したリモートルータ６の経路インタフェースのトラフィック情報をリモートルータ６から定期的に収集して情報格納データベース１１１に格納する。例えば、リモートルータ情報収集部１０７は、１分間隔で経路インタフェースのトラフィック情報を収集する。
【００３３】
リソース管理データベース１１３は、例えば、図３に示すフォーマットを有する。図３は、リソース管理データベースの一例を表す図である。本実施例では、リソース管理データベース１１３には、リソースの種類を表すリソースタイプ、リソースに与えられた名前であるリソース名及びリソースの識別子であるリソースＩＤが登録される。図３において、リソースタイプのＬＢ（Load  Balancer）は、そのリソースがロードバランサ２００であることを表す。また、リソースタイプのｖ（virtual）ｒｏｕｔｅｒは、そのリソースが仮想ルータ４０であることを表す。また、リソースタイプのＶＭ（Virtual  Machine）は、そのリソースが仮想マシン３００であることを表す。
【００３４】
リソース管理データベース１１３は、仮想ルータ４０の配備リソース情報を仮想ルータ制御部１０３から取得する。そして、リソース管理データベース１１３は、取得した仮想ルータ４０の配備リソース情報を登録し記憶する。また、リソース管理データベース１１３は、ファイアウォール装置４１の配備リソース情報をファイアウォール制御部１０４から取得する。そして、リソース管理データベース１１３は、取得したファイアウォール装置４１の配備リソース情報を登録し記憶する。また、リソース管理データベース１１３は、ロードバランサ２００の配備リソース情報をロードバランサ制御部１０５から取得する。そして、リソース管理データベース１１３は、取得したロードバランサ２００の配備リソース情報を登録し記憶する。また、リソース管理データベース１１３は、仮想マシン３００の配備リソース情報を仮想マシン制御部１０６から取得する。そして、リソース管理データベース１１３は、取得した仮想マシン３００の配備リソース情報を登録し記憶する。
【００３５】
情報収集部１０８は、仮想ルータ４０、ロードバランサ２００及び仮想マシン３００からトラフィック情報を収集する。さらに、情報収集部１０８は、ロードバランサ２００宛ての送信元ネットワーク情報を収集する。そして、情報収集部１０８は、トラフィック情報及び送信元ネットワーク情報を情報格納データベース１１１に格納する。このリモートルータ情報収集部１０７及び情報収集部１０８が、「情報取得部」の一例にあたる。
【００３６】
情報格納データベース１１１は、例えば、図４に示すフォーマットを有する。図４は、情報格納データベースの一例を表す図である。例えば、情報格納データベース１１１には、その性能情報が取得された時刻、その性能情報の識別子である性能情報識別子、その性能情報の値及びその性能情報の単位が登録される。また、情報格納データベース１１１には、その性能情報がどのような値かを表す値のタイプ、さらにその性能情報に割り当てられたリソース名及びリソースＩＤが登録される。ここで、値のタイプにおける差分値とは、前回の計測時と今回の計測時の差分の値である。
【００３７】
さらに、図４には記載していないが、情報格納データベース１１１には、ロードバランサ２００宛ての通信の送信元ネットワークの情報も格納される。
【００３８】
情報格納データベース１１１は、リモートルータ情報収集部１０７から取得したリモートルータ６の経路インタフェースのトラフィック情報を格納する。また、情報格納データベース１１１は、情報収集部１０８から取得した仮想ルータ４０、ロードバランサ２００及び仮想マシン３００のトラフィック情報を格納する。さらに、情報格納データベース１１１は、情報収集部１０８から取得したロードバランサ２００宛ての送信元ネットワーク情報を格納する。
【００３９】
設定パラメタ格納部１１４は、クラウド管理装置１が動作するために用いる各種パラメタを格納する。例えば、設定パラメタ格納部１１４は、ロードバランサ２００及び仮想マシン３００を配備し設定するためのパラメタを格納する。
【００４０】
プール情報格納部１１５は、配備前のロードバランサ２００を収容するＬＢプールに格納されたロードバランサ２００及び配備前の仮想マシン３００を収容するＶＭプールに格納された仮想マシン３００の情報を格納する。プール情報格納部１１５は、例えば、図５に示すフォーマットを有する。図５は、プール情報の一例を表す図である。プール情報格納部１１５には、ＬＢプール又はＶＭプールのどちらかを示すプールタイプ、ＶＭプールに関連するロードバランサ２００を表す関連リソース名、並びに、各プールに格納された装置のリソースＩＤが登録される。
【００４１】
プール情報格納部１１５は、ＬＢプールへのロードバランサ２００の格納の指示をロードバランサ制御部１０５から受ける。そして、プール情報格納部１１５は、指定されたロードバランサ２００のリソースＩＤを指定されたＬＢプールに対応させて登録する。また、プール情報格納部１１５は、ＬＢプールからのロードバランサ２００の削除の指示をロードバランサ制御部１０５から受ける。そして、プール情報格納部１１５は、指定されたロードバランサ２００のリソースＩＤを指定されたＬＢプールから削除する。
【００４２】
また、プール情報格納部１１５は、ＶＭプールへの仮想マシン３００の格納の指示を仮想マシン制御部１０６から受ける。そして、プール情報格納部１１５は、指定された仮想マシン３００のリソースＩＤを指定されたＶＭプールに対応させて登録する。また、プール情報格納部１１５は、ＶＭプールへの仮想マシン３００の削除の指示を仮想マシン制御部１０６から受ける。そして、プール情報格納部１１５は、指定された仮想マシン３００のリソースＩＤを指定されたＶＭプールから削除する。
【００４３】
情報解析部１０９は、各装置におけるトラフィック情報を用いて、ロードバランサ２００及び仮想マシン３００のオートスケール又はオートスケールの準備を実行するか否かを決定する。ここで、オートスケールの準備とは、スケールアウトのために予めＬＢプールやＶＭプールにロードバランサ２００や仮想マシン３００を格納しておくことを指す。具体的には、情報解析部１０９は、以下の処理を行う。
【００４４】
情報解析部１０９は、ロードバランサ２００におけるトラフィック量を用いてロードバランサ２００のオートスケールの設定の処理を以下のように行う。
【００４５】
情報解析部１０９は、ロードバランサ２００のトラフィック情報を情報格納データベース１１１から取得する。具体的には、情報解析部１０９は、ロードバランサ２００のトラフィック量の合計値を取得する。次に、情報解析部１０９は、ロードバランサ２００のトラフィック量がロードバランサ２００の性能の上限に達したか否かを判定する。トラフィック量がロードバランサ２００の性能の上限に達している場合、情報解析部１０９は、トラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリにロードバランサ２００のスケールアウトの即時実行開始のトリガとなるＬＢスケールアウトトリガを設定する。
【００４６】
一方、トラフィック量がロードバランサ２００の性能の上限に達していない場合、情報解析部１０９は、ロードバランサ２００のトラフィック量が前回計測したトラフィック量の１．５倍以上か否かを判定する。具体的には、情報解析部１０９は、動作中の全てのロードバランサ２００のトラフィック量の合計を動作中のロードバランサ２００の数で除算した値を求める。そして、情報解析部１０９は、求めた値が、前回の計測における動作中の全てのロードバランサ２００のトラフィック量の合計を動作中のロードバランサ２００の数で除算した値の１．５倍以上であるかを確認する。ここで、本実施例では、トラフィック量が前回の１．５倍以上の場合にトラフィック量の急激な増加が発生したと判定しているが、この値は他の値であってもよく、クラウドシステム１００の運用状態に応じて設定されることが好ましい。トラフィック量が前回の１．５倍以上の場合、情報解析部１０９は、トラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリにロードバランサ２００のスケールアウトの準備、すなわち追加するロードバランサ２００のＬＢプールへの格納を指示するための値であるＬＢスケールアウト準備を設定する。
【００４７】
また、情報解析部１０９は、ロードバランサ２００のトラフィック量が前回計測したトラフィック量の０．５倍以下か否かを判定する。具体的には、情報解析部１０９は、動作中の全てのロードバランサ２００のトラフィック量の合計を動作中のロードバランサ２００の数で除算した値を求める。そして、情報解析部１０９は、求めた値が、前回の計測における動作中の全てのロードバランサ２００のトラフィック量の合計を動作中のロードバランサ２００の数で除算した値の０．５倍以下であるかを確認する。ここで、本実施例では、トラフィック量が前回の０．５倍以下の場合にトラフィック量の減少が発生したと判定しているが、この値は他の値であってもよく、クラウドシステム１００の運用状態に応じて設定されることが好ましい。トラフィック量が前回の０．５倍以下の場合、情報解析部１０９は、トラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリにＬＢスケールイン準備を設定する。
【００４８】
また、情報解析部１０９は、前段のリソースのトラフィック量によるロードバランサ２００のオートスケールの準備の設定の処理を以下のように行う。
【００４９】
情報解析部１０９は、仮想ルータ４０のトラフィック情報を情報格納データベース１１１から取得する。具体的には、情報解析部１０９は、仮想ルータ４０におけるロードバランサ２００宛てのトラフィック量の合計値を取得する。次に、情報解析部１０９は、仮想ルータ４０のトラフィック量が前回計測したトラフィック量の１．５倍以上か否かを判定する。具体的には、情報解析部１０９は、今回の仮想ルータ４０のトラフィック量の合計が、前回の仮想ルータ４０のトラフィック量の合計の１．５倍以上か否かを確認する。トラフィック量が前回の１．５倍以上の場合、情報解析部１０９は、トラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリにＬＢスケールアウト準備を設定する。
【００５０】
また、情報解析部１０９は、リモートルータ６のトラフィック情報を情報格納データベース１１１から取得する。具体的には、情報解析部１０９は、リモートルータ６の経路インタフェースのトラフィック量を取得する。そして、情報解析部１０９は、リモートルータ６のトラフィック量が前回計測したトラフィック量の１．５倍以上か否かを判定する。具体的には、情報解析部１０９は、今回のリモートルータ６のトラフィック量が、前回のリモートルータ６のトラフィック量の１．５倍以上か否かを判定する。トラフィック量が前回の１．５倍以上の場合、情報解析部１０９は、トラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリにＬＢスケールアウト準備を設定する。
【００５１】
さらに、情報解析部１０９は、仮想マシン３００のオートスケールの設定の処理を以下のように行う。
【００５２】
情報解析部１０９は、仮想マシン３００のトラフィック情報を情報格納データベース１１１から取得する。具体的には情報解析部１０９は、ロードバランサ２００に登録されている仮想マシン３００のトラフィック量の合計値を取得する。そして、情報解析部１０９は、仮想マシン３００のトラフィック量が仮想マシン３００のトラフィック量の上限に達したか否かを判定する。具体的には、情報解析部１０９は、仮想マシン３００のロードバランサ２００との間でデータの送受信を行うポートのトラフィック量の合計を仮想マシン３００の数で除算した値を求める。さらに、情報解析部１０９は、仮想マシン３００のトラフィック性能値及び仮想マシン３００のトラフィック性能の上限閾値を設定パラメタ格納部１１４から取得する。ここで、トラフィック性能の上限閾値は、トラフィック性能値を１００％とした場合のパーセンテージで表される。そして、情報解析部１０９は、仮想マシン３００のトラフィック性能値に仮想マシン３００のトラフィック性能の上限閾値を乗算し１００で除算した値が、今回求めた値以上か否かにより、トラフィック量の上限に達しているか否かを確認する。
【００５３】
仮想マシン３００のトラフィック量が仮想マシン３００の上限に達した場合、情報解析部１０９は、トラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリに仮想マシン３００のスケールアウトの即時実行開始のトリガとなるＶＭスケールアウトトリガを設定する。
【００５４】
また、情報解析部１０９は、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の上限に達したか否かを判定する。具体的には、情報解析部１０９は、全てのロードバランサ２００のトラフィック量の合計をロードバランサ２００の数で除算した値を仮想マシン３００の数で除算した値を求める。そして、情報解析部１０９は、求めた値が、仮想マシン３００のトラフィック性能値に仮想マシン３００のトラフィック性能の上限閾値を乗算し１００で除算した値より小さいか否かにより判定を行う。
【００５５】
ロードバランサ２００のトラフィック量が仮想マシン３００の性能の上限に達した場合、情報解析部１０９は、トラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリにＶＭスケールアウトトリガを設定する。
【００５６】
また、情報解析部１０９は、仮想マシン３００が削減可能な状態まで仮想マシン３００のトラフィック量が減少したか否かを判定する。具体的には、情報解析部１０９は、仮想マシン３００のロードバランサ２００との間でデータの送受信を行うポートのトラフィック量の合計を仮想マシン３００の数で除算した値を求める。さらに、情報解析部１０９は、仮想マシン３００のトラフィック性能値及び仮想マシン３００のトラフィック性能の下限閾値を設定パラメタ格納部１１４から取得する。ここで、トラフィック性能の下限閾値は、トラフィック性能値を１００％とした場合のパーセンテージで表される。例えば、仮想マシン３００のトラフィック性能の下限閾値は、２０％と設定される。ここで、仮想マシン３００のトラフィック性能の下限閾値は、クラウドシステム１００の運用状態に応じて設定されることが好ましい。情報解析部１０９は、仮想マシン３００のトラフィック性能値に仮想マシン３００のトラフィック性能の下限閾値を乗算し１００で除算した値が、今回求めた値以下か否かにより、仮想マシン３００が削減可能な状態までトラフィック量が減少したことを確認する。
【００５７】
仮想マシン３００が削減可能な状態まで仮想マシン３００のトラフィック量が減少した場合、情報解析部１０９は、トラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリにＶＭスケールイン準備を設定する。
【００５８】
また、情報解析部１０９は、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の下限に達したか否かを判定する。具体的には、情報解析部１０９は、全てのロードバランサ２００のトラフィック量の合計をロードバランサ２００の数で除算した値を仮想マシン３００の数で除算した値を求める。そして、情報解析部１０９は、求めた値が、仮想マシン３００のトラフィック性能値に仮想マシン３００のトラフィック性能の下限閾値を乗算し１００で除算した値より小さいか否かにより判定を行う。
【００５９】
ロードバランサ２００のトラフィック量が仮想マシン３００の性能の下限に達した場合、情報解析部１０９は、トラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリにＶＭスケールイン準備を設定する。
【００６０】
解析学習データベース１１２は、例えば、図６に示すフォーマットを有する。図６は、実施例１に係る解析学習データベースの一例を表す図である。例えば、解析学習データベース１１２には、その性能情報が取得された時刻、その性能情報の識別子である性能情報識別子、その性能情報の変化値及びその性能情報の単位が登録される。また、情報格納データベース１１１には、その性能情報がどのような値かを表す値のタイプ、その性能情報に割り当てられたリソース名及びリソースＩＤが登録される。さらに、解析学習データベース１１２には、その性能情報に応じて行われる処理を表すイベントタイプが格納される。
【００６１】
インベントタイプとしては、本実施例では、ＬＢスケールアウトトリガ、ＬＢスケールアウト準備、ＬＢスケールイン準備、ＶＭスケールアウトトリガ、ＶＭスケールアウト準備及びＶＭスケールイン準備がある。ＬＢスケールアウトトリガは、ロードバランサ２００のスケールアウトの即時実行開始のトリガとなる値である。ＬＢスケールアウト準備は、追加するロードバランサ２００のＬＢプールへの格納を指示するための値である。ＬＢスケールイン準備は、削減するロードバランサ２００がＬＢプールに格納された状態に戻すことを指示するための値である。ＶＭスケールアウトトリガは、仮想マシン３００のスケールアウトの即時実行開始のトリガとなる値である。ＶＭスケールアウト準備は、追加する仮想マシン３００のＶＭプールへの格納を指示するための値である。ＶＭスケールイン準備は、削減する仮想マシン３００がＶＭプールに格納された状態に戻すことを指示するための値である。
【００６２】
ロードバランサ制御部１０５は、設定パラメタ格納部１１４からロードバランサ２００の設定に用いるパラメタを取得する。そして、ロードバランサ制御部１０５は、パラメタを用いてロードバランサ２００をサーバ装置２０に配備する。さらに、ロードバランサ制御部１０５は、性能情報収取の設定などを行う。そして、ロードバランサ制御部１０５は、配備したロードバランサ２００の情報をリソース管理データベース１１３に登録する。
【００６３】
配備したロードバランサ２００の動作開始後、ロードバランサ制御部１０５は、解析学習データベース１１２の情報を読み込む。そして、ロードバランサ制御部１０５は、解析学習データベース１１２においてＬＢスケールアウトトリガが更新されたか否かを判定する。ＬＢスケールアウトトリガが更新された場合、ロードバランサ制御部１０５は、ロードバランサ２００のトラフィックの増加量である増加トラフィックを算出する。そして、ロードバランサ制御部１０５は、増加トラフィックから追加するロードバランサ２００の数を算出する。次に、ロードバランサ制御部１０５は、ＬＢプールから算出した数のロードバランサ２００を選択し、追加するロードバランサ２００とする。そして、ロードバランサ制御部１０５は、追加するロードバランサ２００のＩＰをＤＮＳ装置７に登録する。
【００６４】
また、ロードバランサ制御部１０５は、解析学習データベース１１２においてＬＢスケールアウト準備が更新されたか否かを判定する。ＬＢスケールアウト準備が更新された場合、ロードバランサ制御部１０５は、更新されたＬＢスケールアウト準備に対応するトラフィック情報における増加トラフィックから追加するロードバランサ２００の数を算出する。次に、ロードバランサ制御部１０５は、算出した数のロードバランサ２００の起動をサーバ装置２０に指示する。
【００６５】
ここで、ロードバランサ２００は、ロードバランサ２００の起動を行う際に、例えば以下の方法で起動するサーバ装置２０を選択してもよい。例えば、ロードバランサ２００は、サーバ装置２１〜２３におけるトラフィック量などのそれぞれのリソースの使用状態を取得する。そして、ロードバランサ２００は、リソースの使用量が閾値以下であるサーバ装置２０又は一番リソースの使用状態に余裕があるサーバ装置２０にロードバランサ２００の起動を指示する。
【００６６】
その後、ロードバランサ制御部１０５は、サーバ装置２０から起動完了通知を受信する。起動完了通知を受信すると、ロードバランサ制御部１０５は、追加したロードバランサ２００への設定反映をサーバ装置２０に指示する。その後、サーバ装置２０は、設定反映完了の通知をサーバ装置２０から受信する。設定反映完了の通知を受信すると、ロードバランサ制御部１０５は、追加されたロードバランサ２００の情報をプール情報格納部１１５に登録することで、追加されたロードバランサ２００をＬＢプールに格納する。
【００６７】
さらに、ＬＢスケールアウト準備を行うということはロードバランサ２００のトラフィック量の増加が見込まれ、それに対応して仮想マシン３００のトラフィック量が増加する可能性が高い。そこで、ロードバランサ制御部１０５は、ＶＭスケールアウト準備を解析学習データベース１１２に設定する。
【００６８】
また、ロードバランサ制御部１０５は、解析学習データベース１１２においてＬＢスケールイン準備が更新されたか否かを判定する。ＬＢスケールイン準備が更新された場合、ロードバランサ制御部１０５は、ロードバランサ２００のトラフィックの減少量である減少トラフィックから削減するロードバランサ２００の数を算出する。次に、ロードバランサ制御部１０５は、算出した数のロードバランサ２００のＩＰをＤＮＳ装置７から削除する。そして、ロードバランサ制御部１０５は、ＤＮＳ装置７から削除したロードバランサ２００をＬＢプールに格納する。
【００６９】
仮想マシン制御部１０６は、設定パラメタ格納部１１４から仮想マシン３００の設定に用いるパラメタを取得する。そして、仮想マシン制御部１０６は、パラメタを用いて仮想マシン３００をサーバ装置３０に配備する。さらに、仮想マシン制御部１０６は、仮想マシン３００のログ及び性能情報収取の設定などを行う。そして、仮想マシン制御部１０６は、配備した仮想マシン３００の情報をリソース管理データベース１１３に登録する。
【００７０】
配備した仮想マシン３００の動作開始後、仮想マシン制御部１０６は、解析学習データベース１１２を読み込む。そして、仮想マシン制御部１０６は、ＶＭスケールアウトトリガが更新されたか否かを判定する。ＶＭスケールアウトトリガが更新された場合、仮想マシン制御部１０６は、更新されたＶＭスケールアウトトリガに対応するトラフィック情報におけるトラフィックの増加量である増加トラフィックを算出する。そして、仮想マシン制御部１０６は、増加トラフィックから追加する仮想マシン３００の数を算出する。次に、仮想マシン制御部１０６は、ＶＭプールから算出した数の仮想マシン３００を選択し、追加する仮想マシン３００とする。そして、仮想マシン制御部１０６は、追加する仮想マシン３００をロードバランサ２００に通知する。
【００７１】
また、仮想マシン制御部１０６は、ＶＭスケールアウト準備が更新されたか否かを判定する。ＶＭスケールアウト準備が更新された場合、仮想マシン制御部１０６は、更新されたＶＭスケールアウト準備に対応するトラフィック情報における増加トラフィックから追加する仮想マシン３００の数を算出する。次に、仮想マシン制御部１０６は、算出した数の仮想マシン３００の起動をサーバ装置３０に指示する。その後、仮想マシン制御部１０６は、起動完了通知を受けて、追加した仮想マシン３００をＶＭプールに格納する。
【００７２】
ここで、仮想マシン制御部１０６は、仮想マシン３００の起動を行う際に、例えば以下の方法で起動するサーバ装置３０を選択してもよい。例えば、仮想マシン制御部１０６は、サーバ装置３１〜３３におけるトラフィック量などのそれぞれのリソースの使用状態を取得する。そして、仮想マシン制御部１０６は、リソースの使用量が閾値以下であるサーバ装置３０又は一番リソースの使用状態に余裕があるサーバ装置３０に仮想マシン３００の起動を指示する。
【００７３】
また、仮想マシン制御部１０６は、ＶＭスケールイン準備が更新されたか否かを判定する。ＶＭスケールイン準備が更新された場合、仮想マシン制御部１０６は、更新されたＶＭスケールイン準備に対応するトラフィック情報におけるトラフィックの減少量である減少トラフィックを算出する。そして、ロードバランサ制御部１０５は、減少トラフィックから削減する仮想マシン３００の数を算出する。次に、仮想マシン制御部１０６は、稼働中の仮想マシン３００の中から算出した数の仮想マシン３００を選択し、削減する仮想マシン３００を決定する。次に、仮想マシン制御部１０６は、削減する仮想マシン３００をロードバランサ２００に通知する。その後、仮想マシン制御部１０６は、削減する仮想マシン３００をＶＭプールに格納する。このロードバランサ制御部１０５及び仮想マシン制御部１０６が、「制御部」の一例にあたる。
【００７４】
次に、図７を参照して、クラウド管理装置１による情報収集の処理の流れについて説明する。図７は、クラウド管理装置による情報収集の処理のシーケンス図である。図７において各装置間を結ぶ矢印は、データの流れや情報の通知を表す。また、図７における他の矢印は、処理の流れを表す。ここでは、リモートルータ６において、ファームウェアを実行するファームウェア実行部６０が動作している場合で説明する。
【００７５】
ネットワーク装置４の仮想ルータ４０は、送信パケット毎にロードバランサ２００宛てのトラフィック情報を取得する（ステップＳ１）。
【００７６】
サーバ装置２０のロードバランサ２００は、受信パケット毎に自装置宛の送信元ネットワーク情報を取得する（ステップＳ２）。さらに、ロードバランサ２００は、受信パケット毎にトラフィック情報を取得する（ステップＳ３）。
【００７７】
サーバ装置３０の仮想マシン３００は、受信パケット後にトラフィック情報を取得する（ステップＳ４）。
【００７８】
そして、仮想ルータ４０は、ロードバランサ２００宛てのトラフィック情報をクラウド管理装置１の情報収集部１０８へ通知する（ステップＳ５）。
【００７９】
情報収集部１０８は、ロードバランサ２００宛てのトラフィック情報を仮想ルータ４０から取得する。そして、情報収集部１０８は、取得したロードバランサ２００宛てのトラフィック情報を情報格納データベース１１１に格納する（ステップＳ６）。
【００８０】
また、ロードバランサ２００は、トラフィック情報をクラウド管理装置１の情報収集部１０８へ通知する（ステップＳ７）。
【００８１】
情報収集部１０８は、ロードバランサ２００のトラフィック情報をロードバランサ２００から取得する。そして、情報収集部１０８は、ロードバランサ２００のトラフィック情報を情報格納データベース１１１に格納する（ステップＳ８）。
【００８２】
また、ロードバランサ２００は、自装置宛のパケットの送信元ネットワーク情報をクラウド管理装置１の情報収集部１０８へ通知する（ステップＳ９）。
【００８３】
情報収集部１０８は、ロードバランサ２００宛のパケットの送信元ネットワーク情報をロードバランサ２００から取得する。そして、情報収集部１０８は、ロードバランサ２００宛のパケットの送信元ネットワーク情報を情報格納データベース１１１に格納する（ステップＳ１０）。
【００８４】
リモートルータ情報収集部１０７は、ロードバランサ２００宛ての送信元ネットワーク情報を情報格納データベース１１１から取得する（ステップＳ１１）。そして、リモートルータ情報収集部１０７は、送信元ネットワークの増減の有無を判定する（ステップＳ１２）。送信元ネットワークが増減していない場合（ステップＳ１２：否定）、リモートルータ情報収集部１０７は、ステップＳ１４へ進む。
【００８５】
これに対して、送信元ネットワークの増減があった場合（ステップＳ１２：肯定）、リモートルータ情報収集部１０７は、リモートルータ６の送信元ネットワークの経路インタフェースを特定する。そして、リモートルータ情報収集部１０７は、特定した経路インタフェースを用いてリモートルータ６へのトラフィック取得情報を更新する（ステップＳ１３）。
【００８６】
次に、リモートルータ情報収集部１０７は、トラフィック取得情報をリモートルータ６へ送信して、トラフィック情報送信要求をリモートルータ６のファームウェア実行部６０に対して行う（ステップＳ１４）。
【００８７】
リモートルータ６のファームウェア実行部６０は、トラフィック取得情報を含むトラフィック情報送信要求を情報収集部１０８から受ける。次に、ファームウェア実行部６０は、トラフィック取得情報で指定された経路インタフェースのトラフィック情報を収集する。そして、ファームウェア実行部６０は、送信元ネットワークへの経路インタフェースのトラフィック情報をリモートルータ情報収集部１０７に通知する（ステップＳ１５）。
【００８８】
リモートルータ情報収集部１０７は、送信元ネットワークへの経路インタフェースのトラフィック情報をリモートルータ６のファームウェア実行部６０から取得する。そして、リモートルータ情報収集部１０７は、送信元ネットワークへの経路インタフェースのトラフィック情報を情報格納データベース１１１に格納する（ステップＳ１６）。
【００８９】
また、仮想マシン３００は、自己におけるトラフィック情報を情報収集部１０８へ通知する（ステップＳ１７）。
【００９０】
情報収集部１０８は、トラフィック情報を仮想マシン３００から取得する。そして、情報収集部１０８は、仮想マシン３００におけるトラフィック情報を情報格納データベース１１１に格納する（ステップＳ１８）。
【００９１】
次に、図８を参照して、本実施例に係るクラウド管理装置１によるスケールアウトに関する情報解析処理の流れについて説明する。図８は、実施例１に係るクラウド管理装置によるスケールアウトに関する情報解析処理のシーケンス図である。
【００９２】
情報解析部１０９は、ロードバランサ２００のトラフィック情報を情報格納データベース１１１から取得する（ステップＳ１０１）。具体的には、情報解析部１０９は、ロードバランサ２００のトラフィック量の合計値を取得する。
【００９３】
次に、情報解析部１０９は、ロードバランサ２００のトラフィック量がロードバランサ２００の性能の上限に達したか否かを判定する（ステップＳ１０２）。トラフィック量がロードバランサ２００の性能の上限に達している場合（ステップＳ１０２：肯定）、情報解析部１０９は、ステップＳ１０４に進む。
【００９４】
一方、トラフィック量がロードバランサ２００の性能の上限に達していない場合（ステップＳ１０２：否定）、情報解析部１０９は、ロードバランサ２００のトラフィック量が前回計測したトラフィック量の１．５倍以上か否かを判定する（ステップＳ１０３）。トラフィック量が前回の１．５倍未満の場合（ステップＳ１０３：否定）、情報解析部１０９は、ステップＳ１０５へ進む。
【００９５】
これに対して、トラフィック量が前回の１．５倍以上の場合（ステップＳ１０３：肯定）、情報解析部１０９は、ＬＢスケールアウトトリガを解析学習データベース１１２に設定する（ステップＳ１０４）。
【００９６】
次に、情報解析部１０９は、仮想ルータ４０のトラフィック情報を情報格納データベース１１１から取得する（ステップＳ１０５）。具体的には、情報解析部１０９は、仮想ルータ４０におけるロードバランサ２００宛てのトラフィック量の合計値を取得する。
【００９７】
次に、情報解析部１０９は、仮想ルータ４０のトラフィック量が前回計測したトラフィック量の１．５倍以上か否かを判定する（ステップＳ１０６）。トラフィック量が前回の１．５倍未満の場合（ステップＳ１０６：否定）、情報解析部１０９は、ステップＳ１０８へ進む。
【００９８】
これに対して、トラフィック量が前回の１．５倍以上の場合（ステップＳ１０６：肯定）、情報解析部１０９は、ＬＢスケールアウト準備を解析学習データベース１１２に設定する（ステップＳ１０７）。
【００９９】
次に、情報解析部１０９は、リモートルータ６のトラフィック情報を情報格納データベース１１１から取得する（ステップＳ１０８）。具体的には、情報解析部１０９は、リモートルータ６の経路インタフェースのトラフィック量を取得する。
【０１００】
次に、情報解析部１０９は、リモートルータ６のトラフィック量が前回計測したトラフィック量の１．５倍以上か否かを判定する（ステップＳ１０９）。トラフィック量が前回の１．５倍未満の場合（ステップＳ１０９：否定）、情報解析部１０９は、ステップＳ１１１へ進む。
【０１０１】
これに対して、トラフィック量が前回の１．５倍以上の場合（ステップＳ１０９：肯定）、情報解析部１０９は、ＬＢスケールアウト準備を解析学習データベース１１２に設定する（ステップＳ１１０）。
【０１０２】
次に、情報解析部１０９は、仮想マシン３００のトラフィック情報を情報格納データベース１１１から取得する（ステップＳ１１１）。具体的には情報解析部１０９は、ロードバランサ２００に登録されている仮想マシン３００のトラフィック量の合計値を取得する。
【０１０３】
次に、情報解析部１０９は、仮想マシン３００のトラフィック量が仮想マシン３００の性能の上限に達したか否かを判定する（ステップＳ１１２）。仮想マシン３００のトラフィック量が仮想マシン３００の性能の上限に達した場合（ステップＳ１１２：肯定）、情報解析部１０９は、ステップＳ１１４へ進む。
【０１０４】
これに対して、仮想マシン３００のトラフィック量が仮想マシン３００の性能の上限に達していない場合（ステップＳ１１２：否定）、情報解析部１０９は、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の上限に達したか否かを判定する（ステップＳ１１３）。
【０１０５】
ロードバランサ２００のトラフィック量が仮想マシン３００の性能の上限に達した場合（ステップＳ１１３：肯定）、情報解析部１０９は、ステップＳ１１４へ進む。
【０１０６】
次に、情報解析部１０９は、ＶＭスケールアウトトリガを解析学習データベース１１２に設定する（ステップＳ１１４）。
【０１０７】
これに対して、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の上限に達していない場合（ステップＳ１１３：否定）、情報解析部１０９は、情報解析処理を終了する。
【０１０８】
次に、図９を参照して、本実施例に係るクラウド管理装置１によるロードバランサ２００のスケールアウト処理の流れについて説明する。図９は、実施例１に係るクラウド管理装置によるロードバランサのスケールアウト処理のシーケンス図である。
【０１０９】
ロードバランサ制御部１０５は、解析学習データベース１１２の情報を読み込む（ステップＳ１２１）。
【０１１０】
次に、ロードバランサ制御部１０５は、解析学習データベース１１２が更新されたか否かを判定する（ステップＳ１２２）。解析学習データベース１１２が更新されていない場合（ステップＳ１２２：否定）、ロードバランサ制御部１０５は、スケールアウト処理を終了する。
【０１１１】
これに対して、解析学習データベース１１２が更新された場合（ステップＳ１２２：肯定）、ロードバランサ制御部１０５は、ＬＢスケールアウトトリガが更新されたか否かを判定する（ステップＳ１２３）。ＬＢスケールアウトトリガが更新されていない場合（ステップＳ１２３：否定）、ロードバランサ制御部１０５は、ステップＳ１２７へ進む。
【０１１２】
これに対して、ＬＢスケールアウトトリガが更新された場合（ステップＳ１２３：肯定）、ロードバランサ制御部１０５は、増加トラフィックから追加するロードバランサ２００の数を算出する（ステップＳ１２４）。
【０１１３】
次に、ロードバランサ制御部１０５は、ＬＢプールから算出した数のロードバランサ２００を選択し、追加するロードバランサ２００とする（ステップＳ１２５）。
【０１１４】
そして、ロードバランサ制御部１０５は、追加するロードバランサ２００のＩＰをＤＮＳ装置７に登録する（ステップＳ１２６）。
【０１１５】
次に、ロードバランサ制御部１０５は、ＬＢスケールアウト準備が更新されたか否かを判定する（ステップＳ１２７）。ＬＢスケールアウト準備が更新されていない場合（ステップＳ１２７：否定）、ロードバランサ制御部１０５は、スケールアウト処理を終了する。
【０１１６】
これに対して、ＬＢスケールアウト準備が更新された場合（ステップＳ１２７：肯定）、ロードバランサ制御部１０５は、更新されたＬＢスケールアウト準備に対応するトラフィック情報における増加トラフィックから追加するロードバランサ２００の数を算出する（ステップＳ１２８）。
【０１１７】
次に、ロードバランサ制御部１０５は、算出した数のロードバランサ２００の起動をサーバ装置２０に指示する（ステップＳ１２９）。
【０１１８】
サーバ装置２０は、ロードバランサ２００の起動の指示を受けて、指定された数のロードバランサ２００を起動する（ステップＳ１３０）。
【０１１９】
ロードバランサ２００の起動後、サーバ装置２０は、起動完了通知をロードバランサ制御部１０５へ送信する（ステップＳ１３１）。
【０１２０】
ロードバランサ制御部１０５は、起動完了通知を受信すると、追加したロードバランサ２００への設定反映をサーバ装置２０に指示する（ステップＳ１３２）。
【０１２１】
サーバ装置２０は、ロードバランサ２００への設定反映指示を受けて、追加したロードバランサ２００に指定された設定を反映させる（ステップＳ１３３）。
【０１２２】
ロードバランサ２００に対する設定反映が完了すると、サーバ装置２０は、設定反映完了の通知をロードバランサ制御部１０５へ送信する（ステップＳ１３４）。
【０１２３】
設定反映完了通知を受信すると、ロードバランサ制御部１０５は、追加されたロードバランサ２００をＬＢプールに格納する（ステップＳ１３５）。プール情報格納部１１５は、追加されたロードバランサ２００の情報をロードバランサ制御部１０５から取得し、ロードバランサ２００のリソースＩＤを指定されたＬＢプールに対応させて登録する。
【０１２４】
さらに、ロードバランサ制御部１０５は、ＶＭスケールアウト準備を解析学習データベース１１２に設定する（ステップＳ１３６）。
【０１２５】
次に、図１０を参照して、本実施例に係るクラウド管理装置１による仮想マシン３００のスケールアウト処理の流れについて説明する。図１０は、実施例１に係るクラウド管理装置による仮想マシンのスケールアウト処理のシーケンス図である。
【０１２６】
仮想マシン制御部１０６は、解析学習データベース１１２を読み込む（ステップＳ１４１）。
【０１２７】
次に、仮想マシン制御部１０６は、解析学習データベース１１２が更新されたか否かを判定する（ステップＳ１４２）。解析学習データベース１１２が更新されていない場合（ステップＳ１４２：否定）、仮想マシン制御部１０６は、スケールアウト処理を終了する。
【０１２８】
これに対して、解析学習データベース１１２が更新された場合（ステップＳ１４２：肯定）、仮想マシン制御部１０６は、ＶＭスケールアウトトリガが更新されたか否かを判定する（ステップＳ１４３）。ＶＭスケールアウトトリガが更新されていない場合（ステップＳ１４３：否定）、仮想マシン制御部１０６は、ステップＳ１４８へ進む。
【０１２９】
これに対して、ＶＭスケールアウトトリガが更新された場合（ステップＳ１４３：肯定）、仮想マシン制御部１０６は、更新されたＶＭスケールアウトトリガに対応するトラフィック情報におけるトラフィックの増加量である増加トラフィックを算出する。そして、仮想マシン制御部１０６は、増加トラフィックから追加する仮想マシン３００の数を算出する（ステップＳ１４４）。
【０１３０】
次に、仮想マシン制御部１０６は、算出した数の仮想マシン３００をＶＭプールから選択し、追加する仮想マシン３００とする（ステップＳ１４５）。
【０１３１】
次に、仮想マシン制御部１０６は、追加する仮想マシン３００をロードバランサ２００に通知する（ステップＳ１４６）。
【０１３２】
ロードバランサ２００は、追加する仮想マシン３００の通知を受けて、指定された仮想マシン３００を分散対象に追加する（ステップＳ１４７）。
【０１３３】
次に、仮想マシン制御部１０６は、ＶＭスケールアウト準備が更新されたか否かを判定する（ステップＳ１４８）。
【０１３４】
ＶＭスケールアウト準備が更新されていない場合（ステップＳ１４８：否定）、仮想マシン制御部１０６は、スケールアウト処理を終了する。
【０１３５】
これに対して、ＶＭスケールアウト準備が更新された場合（ステップＳ１４８：肯定）、仮想マシン制御部１０６は、更新されたＶＭスケールアウト準備に対応するトラフィック情報における増加トラフィックから追加する仮想マシン３００の数を算出する（ステップＳ１４９）。
【０１３６】
次に、仮想マシン制御部１０６は、算出した数の仮想マシン３００の起動をサーバ装置３０に指示する（ステップＳ１５０）。
【０１３７】
サーバ装置３０は、仮想マシン３００の起動の指示を受けて、指定された数の仮想マシン３００を起動する（ステップＳ１５１）。
【０１３８】
仮想マシン３００の起動後、サーバ装置３０は、起動完了通知を仮想マシン制御部１０６へ送信する（ステップＳ１５２）。
【０１３９】
仮想マシン制御部１０６は、起動完了通知を受けて、追加した仮想マシン３００をＶＭプールに格納する（ステップＳ１５３）。プール情報格納部１１５は、追加した仮想マシン３００の情報を仮想マシン制御部１０６から取得し、指定された仮想マシン３００のリソースＩＤを指定されたＶＭプールに対応させて登録する。
【０１４０】
次に、図１１を参照して、本実施例に係るクラウド管理装置１によるスケールインに関する情報解析処理の流れについて説明する。図１１は、実施例１に係るクラウド管理装置によるスケールインに関する情報解析処理のシーケンス図である。
【０１４１】
情報解析部１０９は、ロードバランサ２００のトラフィック情報を情報格納データベース１１１から取得する（ステップＳ２０１）。具体的には、情報解析部１０９は、ロードバランサ２００のトラフィック量の合計値を取得する。
【０１４２】
次に、情報解析部１０９は、ロードバランサ２００のトラフィック量が前回計測したトラフィック量の０．５倍以下か否かを判定する（ステップＳ２０２）。トラフィック量が前回の０．５倍より大きい場合（ステップＳ２０２：否定）、情報解析部１０９は、ステップＳ２０４へ進む。
【０１４３】
これに対して、トラフィック量が前回の０．５倍以下の場合（ステップＳ２０２：肯定）、情報解析部１０９は、ＬＢスケールイン準備を解析学習データベース１１２に設定する（ステップＳ２０３）。
【０１４４】
次に、情報解析部１０９は、仮想マシン３００のトラフィック情報を情報格納データベース１１１から取得する（ステップＳ２０４）。具体的には情報解析部１０９は、ロードバランサ２００に登録されている仮想マシン３００のトラフィック量の合計値を取得する。
【０１４５】
次に、情報解析部１０９は、仮想マシン３００が削減可能な状態まで仮想マシン３００のトラフィック量が減少したか否かを判定する（ステップＳ２０５）。仮想マシン３００が削減可能な状態まで仮想マシン３００のトラフィック量が減少した場合（ステップＳ２０５：肯定）、情報解析部１０９は、ステップＳ２０７へ進む。
【０１４６】
これに対して、仮想マシン３００が削減可能な状態までトラフィック量が減少していない場合（ステップＳ２０５：否定）、情報解析部１０９は、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の下限に達したか否かを判定する（ステップＳ２０６）。
【０１４７】
ロードバランサ２００のトラフィック量が仮想マシン３００の性能の下限に達した場合（ステップＳ２０６：肯定）、情報解析部１０９は、ステップＳ２０７へ進む。
【０１４８】
ロードバランサ２００のトラフィック量が仮想マシン３００の性能の下限に達した場合又は仮想マシン３００が削減可能な状態まで仮想マシン３００のトラフィック量が減少した場合、情報解析部１０９は、ＶＭスケールイン準備を解析学習データベース１１２に設定する（ステップＳ２０７）。
【０１４９】
これに対して、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の下限に達していない場合（ステップＳ２０６：否定）、情報解析部１０９は、情報解析処理を終了する。
【０１５０】
次に、図１２を参照して、本実施例に係るクラウド管理装置１によるロードバランサ２００のスケールイン処理の流れについて説明する。図１２は、実施例１に係るクラウド管理装置によるロードバランサのスケールイン処理のシーケンス図である。
【０１５１】
ロードバランサ制御部１０５は、解析学習データベース１１２の情報を読み込む（ステップＳ２２１）。
【０１５２】
次に、ロードバランサ制御部１０５は、解析学習データベース１１２が更新されたか否かを判定する（ステップＳ２２２）。解析学習データベース１１２が更新されていない場合（ステップＳ２２２：否定）、ロードバランサ制御部１０５は、スケールイン処理を終了する。
【０１５３】
これに対して、解析学習データベース１１２が更新された場合（ステップＳ２２２：肯定）、ロードバランサ制御部１０５は、ＬＢスケールイン準備が更新されたか否かを判定する（ステップＳ２２３）。ＬＢスケールイン準備が更新されていない場合（ステップＳ２２３：否定）、ロードバランサ制御部１０５は、スケールイン処理を終了する。
【０１５４】
これに対して、ＬＢスケールイン準備が更新された場合（ステップＳ２２３：肯定）、ロードバランサ制御部１０５は、ロードバランサ２００のトラフィックの減少量である減少トラフィックから削減するロードバランサ２００の数を算出する（ステップＳ２２４）。
【０１５５】
次に、ロードバランサ制御部１０５は、算出した数のロードバランサ２００のＩＰをＤＮＳ装置７から削除する（ステップＳ２２５）。
【０１５６】
次に、ロードバランサ制御部１０５は、ＤＮＳ装置７から削除したロードバランサ２００をＬＢプールに格納する（ステップＳ２２６）。
【０１５７】
次に、図１３を参照して、本実施例に係るクラウド管理装置１による仮想マシン３００のスケールイン処理の流れについて説明する。図１３は、実施例１に係るクラウド管理装置による仮想マシンのスケールイン処理のシーケンス図である。
【０１５８】
仮想マシン制御部１０６は、解析学習データベース１１２を読み込む（ステップＳ２３１）。
【０１５９】
次に、仮想マシン制御部１０６は、解析学習データベース１１２が更新されたか否かを判定する（ステップＳ２３２）。解析学習データベース１１２が更新されていない場合（ステップＳ２３２：否定）、仮想マシン制御部１０６は、スケールイン処理を終了する。
【０１６０】
これに対して、解析学習データベース１１２が更新された場合（ステップＳ２３２：肯定）、仮想マシン制御部１０６は、ＶＭスケールイン準備が更新されたか否かを判定する（ステップＳ２３３）。ＶＭスケールイン準備が更新されていない場合（ステップＳ２３３：否定）、仮想マシン制御部１０６は、スケールイン処理を終了する。
【０１６１】
これに対して、ＶＭスケールイン準備が更新された場合（ステップＳ２３３：肯定）、仮想マシン制御部１０６は、更新されたＶＭスケールイン準備に対応するトラフィック情報におけるトラフィックの減少量である減少トラフィックを算出する。そして、仮想マシン制御部１０６は、減少トラフィックから削減する仮想マシン３００の数を算出する（ステップＳ２３４）。
【０１６２】
次に、仮想マシン制御部１０６は、稼働中の仮想マシン３００の中から算出した数の仮想マシン３００を選択し、削減する仮想マシン３００を決定する（ステップＳ２３５）。
【０１６３】
次に、仮想マシン制御部１０６は、削減する仮想マシン３００をロードバランサ２００に通知する（ステップＳ２３６）。
【０１６４】
ロードバランサ２００は、削減する仮想マシン３００の通知を受けて、指定された仮想マシン３００を分散対象から解除する（ステップＳ２３７）。
【０１６５】
次に、仮想マシン制御部１０６は、削減する仮想マシン３００をＶＭプールに格納する（ステップＳ２３８）。
【０１６６】
ここで、本実施例に係るクラウド管理装置と他のオートスケールの技術との比較を説明する。他のオートスケールの記述として、運用管理者がリソースを強制的に配備する方法を用いた場合、配備のタイミングが運用管理者に委ねられてしまう。例えば、運用管理者は、トラフィック量の急激な増加を認知してから、リソースの強制配備を行うことになる。すなわち、トラフィックの増加を運用管理者が認知するまでの間はオートスケールが行われず、リソースの能力オーバ状態が発生するおそれがある。したがって、トラフィック量の変化に沿った適切なオートスケールを実施することは困難である。
【０１６７】
また、使用中のリソースに異常が発生した場合にオートスケールを行う方法では、異常の発生とトラフィック量の増加との間に関連性が無いため、トラフィック量の増加によるオートスケールに適切に対応することは困難である。そのため、トラフィック量が増加した場合に、リソースの能力オーバ状態が発生するおそれがあり、トラフィック量の変化に沿った適切なオートスケールを実施することは困難である。
【０１６８】
さらに、クラウドシステム内のサーバの前段にロードバランサを配置する従来技術を用いても、トラフィック量の増加に対応するオートスケールの方法としては従来の方法を用いることになり、リソースの能力オーバ状態を低減することは困難である。そのため、トラフィック量の変化に沿った適切なオートスケールを実施することは困難である。
【０１６９】
また、ツリー構造のサーバの負荷計算の結果に応じてオートスケールを行う従来技術を用いても、オートスケールの方法としては従来の方法を用いることになり、リソースの能力オーバ状態を低減することは困難である。そのため、トラフィック量の変化に沿った適切なオートスケールを実施することは困難である。
【０１７０】
また、業務ノード間の関連性による影響範囲を求める従来技術を用いても、オートスケールの方法としては従来の方法を用いることになり、リソースの能力オーバ状態を低減することは困難である。
【０１７１】
これに対して、本実施例に係るクラウド管理装置は、スケールアウトを実施するオートスケール対象リソースの前段に配置されたリソースにおけるトラフィック量を用いてオートスケール対象リソースに対するトラフィック量の変化を判断する。そして、本実施例に係るクラウド管理装置及びそれを用いたクラウドシステムは、オートスケール対象リソースに対するトラフィック量が増加又は減少することを予測して、予めオートスケールに用いるリソースを準備しておく。これにより、トラフィック量の急激な変動が発生した場合にも、予め用意したリソースを用いてオートスケールを実行するため、オートスケールを短時間で完了することができる。したがって、トラフィック量の急激な変動が発生した場合にも、トラフィック量の変化に追従した適切なオートスケールを実施することができる。
【実施例２】
【０１７２】
次に、実施例２について説明する。本実施例に係るクラウド管理装置１も図２のブロック図で表される。本実施例に係るクラウド管理装置１は、周期的なトラフィックの変化を学習し、学習結果に合わせて周期的なトラフィックの変化に応じたオートスケールを実行することが実施例１と異なる。以下の説明では実施例１と同様の各部の機能については説明を省略する。
【０１７３】
情報解析部１０９は、ロードバランサ２００のトラフィック情報を情報格納データベース１１１から取得する。具体的には、情報解析部１０９は、ロードバランサ２００のトラフィック量の合計値を取得する。次に、情報解析部１０９は、ロードバランサ２００のトラフィック量がロードバランサ２００の性能の上限に達したか否かを判定する。また、情報解析部１０９は、ロードバランサ２００のトラフィック量が前回計測したトラフィック量の１．５倍以上か否かを判定する。
【０１７４】
トラフィック量がロードバランサ２００の性能の上限に達した、もしくは、トラフィック量が前回計測したトラフィック量の１．５倍以上の場合、情報解析部１０９は、以下の定期性判定の処理を行う。
【０１７５】
情報解析部１０９は、解析学習データベース１１２に同じ時間帯に同じイベントタイプの情報が格納されているか否かを判定する。ここで、情報解析部１０９、予め決められた範囲の時間内に含まれているイベントを同じ時間帯のイベントとする。同じ時間帯に同じイベントタイプの情報が格納されている場合、情報解析部１０９は、前回のイベントの時刻と今回のイベントの時刻との間の間隔を算出する。そして、情報解析部１０９は、算出した間隔から、どのような間隔で発生するイベントかを表す定期変化ポイントタイプを決定する。
【０１７６】
例えば、本実施例では、情報解析部１０９は、前回の時刻から１時間後に同じイベントが発生した場合、定期変化ポイントタイプを「ｈｏｕｒ」と決定する。また、前回の時刻から１日後に同じイベントが発生した場合、情報解析部１０９は、定期変化ポイントタイプを「ｄａｙ」と決定する。また、前回の時刻から１週間後に同じイベントが発生した場合、情報解析部１０９は、定期変化ポイントタイプを「ｗｅｅｋ」と決定する。また、前回の時刻から１月後に同じイベントが発生した場合、情報解析部１０９は、定期変化ポイントタイプを「ｍｏｎｔｈ」と決定する。
【０１７７】
そして、情報解析部１０９は、解析学習データベース１１２の同じ時間帯の同じ定期変化ポイントタイプを有する定期性カウンタをインクリメントする。また、同じ定期変化ポイントタイプの情報が無ければ、情報解析部１０９は、定期変化ポイントタイプを変更した情報を新たに登録する。
【０１７８】
次に、情報解析部１０９は、インクリメントした定期性カウンタが閾値以上か否かを判定する。定期性カウンタが閾値以上の場合、情報解析部１０９は、インクリメントした定期性カウンタを有するエントリを増加用定期変化ポイントに設定する。この増加用定期変化ポイントは、そのポイントの時刻が到来した場合に、前回と同様のスケールアウトの処理を実行するポイントである。情報解析部１０９は、増加用定期変化ポイントを解析学習データベース１１２に設定する。
【０１７９】
また、解析学習データベース１１２に同じ時間帯に同じイベントタイプの情報が格納されていない場合、情報解析部１０９は、新たにトラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリにＬＢスケールアウトトリガを設定する。
【０１８０】
また、情報解析部１０９は、ロードバランサ２００のトラフィック情報を情報格納データベース１１１から取得する。具体的には、情報解析部１０９は、ロードバランサ２００のトラフィック量の合計値を取得する。次に、情報解析部１０９は、ロードバランサ２００のトラフィック量が前回計測したトラフィック量の０．５倍以下か否かを判定する。
【０１８１】
トラフィック量が前回計測したトラフィック量の０．５倍以下の場合、情報解析部１０９は、以下の定期性判定の処理を行う。
【０１８２】
情報解析部１０９は、解析学習データベース１１２に同じ時間帯に同じイベントタイプの情報が格納されているか否かを判定する。ここで、情報解析部１０９は、予め決められた範囲の時間内に含まれているイベントを同じ時間帯のイベントと把握する。同じ時間帯に同じイベントタイプの情報が格納されている場合、情報解析部１０９は、前回のイベントの時刻と今回のイベントの時刻との間の間隔を算出する。そして、情報解析部１０９は、算出した間隔から、定期変化ポイントタイプを決定する。
【０１８３】
そして、情報解析部１０９は、解析学習データベース１１２の同じ時間帯の同じ定期変化ポイントタイプを有する定期性カウンタをインクリメントする。また、同じ定期変化ポイントタイプの情報が無ければ、情報解析部１０９は、定期変化ポイントタイプを変更した情報を新たに登録する。
【０１８４】
次に、情報解析部１０９は、インクリメントした定期性カウンタが閾値以上か否かを判定する。定期性カウンタが閾値以上の場合、情報解析部１０９は、インクリメントした定期性カウンタを有するエントリを減少用定期変化ポイントに設定する。この減少用定期変化ポイントは、そのポイントの時刻が到来した場合に、前回と同様のスケールインの処理を実行するポイントである。情報解析部１０９は、減少用定期変化ポイントを解析学習データベース１１２に設定する。
【０１８５】
また、解析学習データベース１１２に同じ時間帯に同じイベントタイプの情報が格納されていない場合、情報解析部１０９は、新たにトラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリにＬＢスケールイン準備を設定する。
【０１８６】
また、情報解析部１０９は、仮想マシン３００のトラフィック情報を情報格納データベース１１１から取得する。具体的には、情報解析部１０９は、ロードバランサ２００に登録されている仮想マシン３００のトラフィック量の合計値を取得する。次に、情報解析部１０９は、仮想マシン３００のトラフィック量が仮想マシン３００の性能の上限に達したか否かを判定する。また、情報解析部１０９は、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の上限に達したか否かを判定する。
【０１８７】
仮想マシン３００のトラフィック量が仮想マシン３００の性能の上限に達した、もしくは、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の上限に達した場合、情報解析部１０９は、以下の定期性判定の処理を行う。
【０１８８】
情報解析部１０９は、解析学習データベース１１２に同じ時間帯に同じイベントタイプの情報が格納されているか否かを判定する。同じ時間帯に同じイベントタイプの情報が格納されている場合、情報解析部１０９は、前回の時刻と今回の時刻との間の間隔を算出し、定期変化ポイントタイプを決定する。そして、情報解析部１０９は、解析学習データベース１１２の同じ時間帯の同じ定期変化ポイントタイプを有する定期性カウンタをインクリメントする。また、同じ定期変化ポイントタイプの情報が無ければ、情報解析部１０９は、定期変化ポイントタイプを変更した情報を新たに登録する。
【０１８９】
次に、情報解析部１０９は、インクリメントした定期性カウンタが閾値以上か否かを判定する。定期性カウンタが閾値以上の場合、情報解析部１０９は、インクリメントした定期性カウンタを有するエントリを増加用定期変化ポイントに設定する。
【０１９０】
一方、同じ時間帯に同じイベントタイプの情報が格納されていない場合、情報解析部１０９は、新たにトラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリにＶＭスケールアウトトリガを設定する。
【０１９１】
また、情報解析部１０９は、仮想マシン３００が削減可能な状態まで仮想マシン３００のトラフィック量が減少したか否かを判定する。また、情報解析部１０９は、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の下限に達したか否かを判定する。
【０１９２】
仮想マシン３００が削減可能な状態まで仮想マシン３００のトラフィック量が減少した、もしくは、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の下限に達した場合、情報解析部１０９は、以下の定期性判定の処理を行う。
【０１９３】
情報解析部１０９は、解析学習データベース１１２に同じ時間帯に同じイベントタイプの情報が格納されているか否かを判定する。同じ時間帯に同じイベントタイプの情報が格納されている場合、情報解析部１０９は、前回の時刻と今回の時刻との間の間隔を算出し、定期変化ポイントタイプを決定する。そして、情報解析部１０９は、解析学習データベース１１２の同じ時間帯の同じ定期変化ポイントタイプを有する定期性カウンタをインクリメントする。また、同じ定期変化ポイントタイプの情報が無ければ、情報解析部１０９は、定期変化ポイントタイプを変更した情報を新たに登録する。
【０１９４】
次に、情報解析部１０９は、インクリメントした定期性カウンタが閾値以上か否かを判定する。定期性カウンタが閾値以上の場合、情報解析部１０９は、インクリメントした定期性カウンタを有するエントリを減少用定期変化ポイントに設定する。
【０１９５】
一方、同じ時間帯に同じイベントタイプの情報が格納されていない場合、情報解析部１０９は、新たにトラフィック情報の取得時刻や識別情報などの基本情報を解析学習データベース１１２に登録する。さらに、情報解析部１０９は、登録したエントリにＶＭスケールイン準備を設定する。
【０１９６】
ここで、図１４を参照して、本実施例に係る解析学習データベース１１２について説明する。図１４は、実施例２に係る解析学習データベースの一例を表す図である。
【０１９７】
図１４に示すように、本実施例に係る解析学習データベース１１２は、定期変化ポイントタイプ、定期性カウンタ及び最大値の欄を有する。定期変化ポイントタイプは、発生したイベントが発生する間隔により分類される定期変化の種類を表す。また、定期性カウンタは、各イベントが同じ時間帯に発生した回数を表す。最大値は、各イベントが同じ時間に発生した際の最大値を表す。
【０１９８】
ロードバランサ制御部１０５は、解析学習データベース１１２のＬＢスケールアウトトリガが更新された場合の他に、増加用定期変化ポイントの時刻が到来したか否かを判定する。そして、ＬＢスケールアウトトリガが更新された場合に加えて、増加用定期変化ポイントの時刻が到来した場合に、ロードバランサ制御部１０５は、ロードバランサ２００のスケールアウトを行う。増加用定期変化ポイントの時刻が到来した場合、ロードバランサ制御部１０５は、増加用定期変化ポイントにおける増加トラフィックの最大値を解析学習データベース１１２から取得する。そして、ロードバランサ制御部１０５は、取得した最大値から増加するロードバランサ２００の数を算出する。次に、ロードバランサ制御部１０５は、ＬＢプールから算出した数のロードバランサ２００を選択し、追加するロードバランサ２００とする。そして、ロードバランサ制御部１０５は、追加するロードバランサ２００のＩＰをＤＮＳ装置７に登録する。
【０１９９】
また、ロードバランサ制御部１０５は、解析学習データベース１１２に登録されたロードバランサ２００に対する減少用定期変化ポイントの時刻が到来したか否かを判定する。減少用定期変化ポイントの時刻が到来した場合、ロードバランサ制御部１０５は、減少用定期変化ポイントにおける減少トラフィックから削減するロードバランサ２００の数を算出する。次に、ロードバランサ制御部１０５は、動作中のロードバランサ２００の中から、算出した数のロードバランサ２００を選択する。次に、ロードバランサ制御部１０５は、ロードバランサ２００のＩＰをＤＮＳ装置７から削除する。次に、ロードバランサ制御部１０５は、選択したロードバランサ２００の削除をサーバ装置２０へ指示する。
【０２００】
さらに、ロードバランサ２００からのトラフィック量の減少が見込まれ、それに対応して仮想マシン３００のトラフィック量が減少する可能性が高い。そこで、ロードバランサ制御部１０５は、ＶＭスケールイン準備を解析学習データベース１１２に設定する。
【０２０１】
仮想マシン制御部１０６は、ＶＭスケールアウトトリガが更新された場合の他に、増加用定期変化ポイントの時刻が到来したか否かを判定する。そして、ＶＭスケールアウトトリガが更新された場合に加えて、増加用定期変化ポイントの時刻が到来した場合に、仮想マシン制御部１０６は、仮想マシン３００のスケールアウトを行う。増加用定期変化ポイントの時刻が到来した場合、仮想マシン制御部１０６は、増加用定期変化ポイントにおけるトラフィックの増加量である増加用定期変化ポイントにおける増加トラフィックの最大値を解析学習データベース１１２から取得する。そして、仮想マシン制御部１０６は、取得した最大値から追加する仮想マシン３００の数を算出する。次に、仮想マシン制御部１０６は、ＶＭプールから算出した数の仮想マシン３００を選択し、追加する仮想マシン３００とする。そして、仮想マシン制御部１０６は、追加する仮想マシン３００をロードバランサ２００に通知する。
【０２０２】
また、仮想マシン制御部１０６は、解析学習データベース１１２に登録された仮想マシン３００に対する減少用定期変化ポイントの時刻が到来したか否かを判定する。減少用定期変化ポイントの時刻が到来した場合、仮想マシン制御部１０６は、減少用定期変化ポイントにおけるトラフィックの減少量である減少トラフィックを算出する。そして、仮想マシン制御部１０６は、減少トラフィックから削減する仮想マシン３００の数を算出する。次に、仮想マシン制御部１０６は、稼働中の仮想マシン３００の中から算出した数の仮想マシン３００を選択し、削減する仮想マシン３００を決定する。次に、仮想マシン制御部１０６は、削減する仮想マシン３００をロードバランサ２００に通知する。さらに、仮想マシン制御部１０６は、選択した仮想マシン３００の削除をサーバ装置３０に指示する。
【０２０３】
次に、図１５を参照して、本実施例に係るクラウド管理装置１によるスケールアウトに関する情報解析処理の流れについて説明する。図１５は、実施例２に係るクラウド管理装置によるスケールアウトに関する情報解析処理のシーケンス図である。
【０２０４】
情報解析部１０９は、ロードバランサ２００のトラフィック情報を情報格納データベース１１１から取得する（ステップＳ３０１）。具体的には、情報解析部１０９は、ロードバランサ２００のトラフィック量の合計値を取得する。
【０２０５】
次に、情報解析部１０９は、ロードバランサ２００のトラフィック量がロードバランサ２００の性能の上限に達したか否かを判定する（ステップＳ３０２）。トラフィック量がロードバランサ２００の性能の上限に達している場合（ステップＳ３０２：肯定）、情報解析部１０９は、ステップＳ３０４に進む。
【０２０６】
一方、トラフィック量がロードバランサ２００の性能の上限に達していない場合（ステップＳ３０２：否定）、情報解析部１０９は、ロードバランサ２００のトラフィック量が前回計測したトラフィック量の１．５倍以上か否かを判定する（ステップＳ３０３）。トラフィック量が前回の１．５倍未満の場合（ステップＳ３０３：否定）、情報解析部１０９は、ステップＳ３１０へ進む。
【０２０７】
これに対して、トラフィック量が前回の１．５倍以上の場合（ステップＳ３０３：肯定）、情報解析部１０９は、ステップＳ３０４に進む。
【０２０８】
次に、情報解析部１０９は、解析学習データベース１１２に同じ時間帯に同じイベントタイプの情報が格納されているか否かを判定する（ステップＳ３０４）。同じ時間帯に同じイベントタイプの情報が格納されていない場合（ステップＳ３０４：否定）、情報解析部１０９は、ステップＳ３０９へ進む。
【０２０９】
これに対して、同じ時間帯に同じイベントタイプの情報が格納されている場合（ステップＳ３０４：肯定）、情報解析部１０９は、前回の時刻と今回の時刻との間の間隔を算出し、定期変化ポイントタイプを決定する。そして、情報解析部１０９は、解析学習データベース１１２の同じ時間帯の同じ定期変化ポイントタイプを有する定期性カウンタをインクリメントする（ステップＳ３０５）。
【０２１０】
さらに、情報解析部１０９は、定期性カウンタをインクリメントしたイベントの最大値を確認する。定期性カウンタの値が最大値より大きい場合、情報解析部１０９は、最大値を定期性カウンタの値に更新する（ステップＳ３０６）。
【０２１１】
次に、情報解析部１０９は、インクリメントした定期性カウンタが閾値以上か否かを判定する（ステップＳ３０７）。定期性カウンタが閾値未満の場合（ステップＳ３０７：否定）、情報解析部１０９は、ステップＳ３１０へ進む。
【０２１２】
これに対して、定期性カウンタが閾値以上の場合（ステップＳ３０７：肯定）、情報解析部１０９は、インクリメントした定期性カウンタを有するエントリを増加用定期変化ポイントに設定し（ステップＳ３０８）、ステップＳ３１０へ進む。
【０２１３】
また、同じ時間帯に同じイベントタイプの情報が格納されていない場合、情報解析部１０９は、ＬＢスケールアウトトリガを解析学習データベース１１２に設定する（ステップＳ３０９）。
【０２１４】
次に、情報解析部１０９は、仮想ルータ４０及びリモートルータ６のトラフィック量を用いたスケールアウト準備の設定処理を実行する（ステップＳ３１０）。ここで、図８のステップＳ１０５〜Ｓ１１０が、ステップＳ３１０で実行される処理の一例にあたる。
【０２１５】
次に、情報解析部１０９は、仮想マシン３００のトラフィック情報を情報格納データベース１１１から取得する（ステップＳ３１１）。具体的には、情報解析部１０９は、ロードバランサ２００に登録されている仮想マシン３００のトラフィック量の合計値を取得する。
【０２１６】
次に、情報解析部１０９は、仮想マシン３００のトラフィック量が仮想マシン３００の性能の上限に達したか否かを判定する（ステップＳ３１２）。仮想マシン３００のトラフィック量が仮想マシン３００の性能の上限に達した場合（ステップＳ３１２：肯定）、情報解析部１０９は、ステップＳ３１４へ進む。
【０２１７】
これに対して、仮想マシン３００のトラフィック量が仮想マシン３００の性能の上限に達していない場合（ステップＳ３１２：否定）、情報解析部１０９は、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の上限に達したか否かを判定する（ステップＳ３１３）。
【０２１８】
ロードバランサ２００のトラフィック量が仮想マシン３００の性能の上限に達していない場合（ステップＳ３１３：否定）、情報解析部１０９は、情報解析処理を終了する。
【０２１９】
これに対して、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の上限に達した場合（ステップＳ３１３：肯定）、情報解析部１０９は、ステップＳ３１４へ進む。
【０２２０】
そして、情報解析部１０９は、解析学習データベース１１２に同じ時間帯に同じイベントタイプの情報が格納されているか否かを判定する（ステップＳ３１４）。同じ時間帯に同じイベントタイプの情報が格納されている場合（ステップＳ３１４：肯定）、情報解析部１０９は、前回の時刻と今回の時刻との間の間隔を算出し、定期変化ポイントタイプを決定する。そして、情報解析部１０９は、解析学習データベース１１２の同じ時間帯の同じ定期変化ポイントタイプを有する定期性カウンタをインクリメントする（ステップＳ３１５）。
【０２２１】
次に、情報解析部１０９は、インクリメントした定期性カウンタが閾値以上か否かを判定する（ステップＳ３１６）。定期性カウンタが閾値未満の場合（ステップＳ３１６：否定）、情報解析部１０９は、情報解析処理を終了する。
【０２２２】
これに対して、定期性カウンタが閾値以上の場合（ステップＳ３１６：肯定）、情報解析部１０９は、インクリメントした定期性カウンタを有するエントリを増加用定期変化ポイントに設定し（ステップＳ３１７）、情報解析処理を終了する。
【０２２３】
一方、同じ時間帯に同じイベントタイプの情報が格納されていない場合（ステップＳ３１４：否定）、情報解析部１０９は、ＶＭスケールアウトトリガを解析学習データベース１１２に設定する（ステップＳ３１８）。
【０２２４】
次に、図１６を参照して、本実施例に係るクラウド管理装置１によるロードバランサ２００のスケールアウト処理の流れについて説明する。図１６は、実施例２に係るクラウド管理装置によるロードバランサのスケールアウト処理のシーケンス図である。
【０２２５】
ロードバランサ制御部１０５は、解析学習データベース１１２の情報を読み込む（ステップＳ３２１）。
【０２２６】
次に、ロードバランサ制御部１０５は、解析学習データベース１１２が更新されたか否かを判定する（ステップＳ３２２）。解析学習データベース１１２が更新されていない場合（ステップＳ３２２：否定）、ロードバランサ制御部１０５は、スケールアウト処理を終了する。
【０２２７】
これに対して、解析学習データベース１１２が更新された場合（ステップＳ３２２：肯定）、ロードバランサ制御部１０５は、ＬＢスケールアウトトリガが更新されたか否かを判定する（ステップＳ３２３）。ＬＢスケールアウトトリガが更新された場合（ステップＳ３２３：肯定）、ロードバランサ制御部１０５は、ステップＳ３２５へ進む。
【０２２８】
これに対して、ＬＢスケールアウトトリガが更新されていない場合（ステップＳ３２３：否定）、ロードバランサ制御部１０５は、増加用定期変化ポイントの時刻が到来したか否かを判定する（ステップＳ３２４）。増加用定期変化ポイントの時刻が来ていない場合（ステップＳ３２４：否定）、ロードバランサ制御部１０５は、ステップＳ３２８へ進む。
【０２２９】
これに対して、増加用定期変化ポイントの時刻が到来した場合（ステップＳ３２４：肯定）、ロードバランサ制御部１０５は、ステップＳ３２５へ進む。
【０２３０】
そして、ロードバランサ制御部１０５は、増加用定期変化ポイントにおける増加トラフィックの最大値を解析学習データベース１１２から取得する。そして、ロードバランサ制御部１０５は、取得した最大値の増加トラフィックから追加するロードバランサ２００の数を算出する（ステップＳ３２５）。
【０２３１】
次に、ロードバランサ制御部１０５は、ＬＢプールから算出した数のロードバランサ２００を選択し、追加するロードバランサ２００とする（ステップＳ３２６）。ここで、ＬＢプールにロードバランサ２００が足りない場合、ロードバランサ制御部１０５は、足りない分のロードバランサ２００の起動をサーバ装置２０に指示する。サーバ装置２０により起動されたロードバランサ２００は、ＬＢプールに追加される。その後、ロードバランサ制御部１０５は、ステップＳ３２６の処理を実行する。
【０２３２】
そして、ロードバランサ制御部１０５は、追加するロードバランサ２００のＩＰをＤＮＳ装置７に登録し、スケールアウト処理を終了する（ステップＳ３２７）。
【０２３３】
一方、ＬＢスケールアウトトリガが更新されておらず、且つ、増加用定期変化ポイントの時刻が来ていない場合、ロードバランサ制御部１０５は、ＬＢスケールアウト準備が更新されたか否かを判定する（ステップＳ３２８）。ＬＢスケールアウト準備が更新されていない場合（ステップＳ３２８：否定）、ロードバランサ制御部１０５は、スケールアウト処理を終了する。
【０２３４】
これに対して、ＬＢスケールアウト準備が更新された場合（ステップＳ３２８：肯定）、ロードバランサ制御部１０５は、更新されたＬＢスケールアウト準備に対応するトラフィック情報における増加トラフィックから追加するロードバランサ２００の数を算出する（ステップＳ３２９）。
【０２３５】
次に、ロードバランサ制御部１０５は、算出した数のロードバランサ２００の起動をサーバ装置２０に指示する（ステップＳ３３０）。
【０２３６】
サーバ装置２０は、ロードバランサ２００の起動の指示を受けて、指定された数のロードバランサ２００を起動する（ステップＳ３３１）。
【０２３７】
ロードバランサ２００の起動後、サーバ装置２０は、起動完了通知をロードバランサ制御部１０５へ送信する（ステップＳ３３２）。
【０２３８】
ロードバランサ制御部１０５は、起動完了通知を受信すると、追加したロードバランサ２００への設定反映をサーバ装置２０に指示する（ステップＳ３３３）。
【０２３９】
サーバ装置２０は、ロードバランサ２００への設定反映指示を受けて、追加したロードバランサ２００に指定された設定を反映させる（ステップＳ３３４）。
【０２４０】
ロードバランサ２００に対する設定反映が完了すると、サーバ装置２０は、設定反映完了の通知をロードバランサ制御部１０５へ送信する（ステップＳ３３５）。
【０２４１】
設定反映完了通知を受信すると、ロードバランサ制御部１０５は、追加されたロードバランサ２００をＬＢプールに格納する（ステップＳ３３６）。
【０２４２】
さらに、ロードバランサ制御部１０５は、ＶＭスケールアウト準備を解析学習データベース１１２に設定する（ステップＳ３３７）。
【０２４３】
次に、図１７を参照して、本実施例に係るクラウド管理装置１による仮想マシン３００のスケールアウト処理の流れについて説明する。図１７は、実施例２に係るクラウド管理装置による仮想マシンのスケールアウト処理のシーケンス図である。
【０２４４】
仮想マシン制御部１０６は、解析学習データベース１１２を読み込む（ステップＳ３４１）。
【０２４５】
次に、仮想マシン制御部１０６は、解析学習データベース１１２が更新されたか否かを判定する（ステップＳ３４２）。解析学習データベース１１２が更新されていない場合（ステップＳ３４２：否定）、仮想マシン制御部１０６は、スケールアウト処理を終了する。
【０２４６】
これに対して、解析学習データベース１１２が更新された場合（ステップＳ３４２：肯定）、仮想マシン制御部１０６は、ＶＭスケールアウトトリガが更新されたか否かを判定する（ステップＳ３４３）。ＶＭスケールアウトトリガが更新された場合（ステップＳ３４３：肯定）、仮想マシン制御部１０６は、ステップＳ３４５へ進む。
【０２４７】
これに対して、ＶＭスケールアウトトリガが更新されていない場合（ステップＳ３４３：否定）、仮想マシン制御部１０６は、増加用定期変化ポイントの時刻が到来したか否かを判定する（ステップＳ３４４）。増加用定期変化ポイントの時刻が来ていない場合（ステップＳ３４４：否定）、仮想マシン制御部１０６は、ステップＳ３４９へ進む。
【０２４８】
これに対して、増加用定期変化ポイントの時刻が到来した場合（ステップＳ３４４：肯定）、仮想マシン制御部１０６は、増加用定期変化ポイントにおける増加トラフィックの最大値を解析学習データベース１１２から取得する。そして、仮想マシン制御部１０６は、取得した最大値の増加トラフィックから追加する仮想マシン３００の数を算出する（ステップＳ３４５）。
【０２４９】
次に、仮想マシン制御部１０６は、算出した数の仮想マシン３００をＶＭプールから選択し、追加する仮想マシン３００とする（ステップＳ３４６）。ここで、ＶＭプールに仮想マシン３００が足りない場合、仮想マシン制御部１０６は、足りない分の仮想マシン３００の起動をサーバ装置３０に指示する。サーバ装置３０により起動された仮想マシン３００は、ＶＭプールに追加される。その後、仮想マシン制御部１０６は、ステップＳ３４６の処理を実行する。
【０２５０】
次に、仮想マシン制御部１０６は、追加する仮想マシン３００をロードバランサ２００に通知する（ステップＳ３４７）。
【０２５１】
ロードバランサ２００は、追加する仮想マシン３００の通知を受けて、指定された仮想マシン３００を分散対象に追加する（ステップＳ３４８）。
【０２５２】
次に、仮想マシン制御部１０６は、ＶＭスケールアウト準備が更新されたか否かを判定する（ステップＳ３４９）。
【０２５３】
ＶＭスケールアウト準備が更新されていない場合（ステップＳ３４９：否定）、仮想マシン制御部１０６は、スケールアウト処理を終了する。
【０２５４】
これに対して、ＶＭスケールアウト準備が更新された場合（ステップＳ３４９：肯定）、仮想マシン制御部１０６は、更新されたＶＭスケールアウト準備に対応するトラフィック情報における増加トラフィックから追加する仮想マシン３００の数を算出する（ステップＳ３５０）。
【０２５５】
次に、仮想マシン制御部１０６は、算出した数の仮想マシン３００の起動をサーバ装置３０に指示する（ステップＳ３５１）。
【０２５６】
サーバ装置３０は、仮想マシン３００の起動の指示を受けて、指定された数の仮想マシン３００を起動する（ステップＳ３５２）。
【０２５７】
仮想マシン３００の起動後、サーバ装置３０は、起動完了通知を仮想マシン制御部１０６へ送信する（ステップＳ３５３）。
【０２５８】
仮想マシン制御部１０６は、起動完了通知を受けて、追加した仮想マシン３００をＶＭプールに格納する（ステップＳ３５４）。
【０２５９】
次に、図１８を参照して、本実施例に係るクラウド管理装置１によるスケールインに関する情報解析処理の流れについて説明する。図１８は、実施例２に係るクラウド管理装置によるスケールインに関する情報解析処理のシーケンス図である。
【０２６０】
情報解析部１０９は、ロードバランサ２００のトラフィック情報を情報格納データベース１１１から取得する（ステップＳ４０１）。具体的には、情報解析部１０９は、ロードバランサ２００のトラフィック量の合計値を取得する。
【０２６１】
次に、情報解析部１０９は、ロードバランサ２００のトラフィック量が前回計測したトラフィック量の０．５倍以下か否かを判定する（ステップＳ４０２）。トラフィック量が前回の０．５倍より大きい場合（ステップＳ４０２：否定）、情報解析部１０９は、ステップＳ４０８へ進む。
【０２６２】
これに対して、トラフィック量が前回の０．５倍以下の場合（ステップＳ４０２：肯定）、情報解析部１０９は、解析学習データベース１１２に同じ時間帯に同じイベントタイプの情報が格納されているか否かを判定する（ステップＳ４０３）。同じ時間帯に同じイベントタイプの情報が格納されていない場合（ステップＳ４０３：否定）、情報解析部１０９は、ステップＳ４０７へ進む。
【０２６３】
これに対して、同じ時間帯に同じイベントタイプの情報が格納されている場合（ステップＳ４０３：肯定）、情報解析部１０９は、前回の時刻と今回の時刻との間の間隔を算出し、定期変化ポイントタイプを決定する。そして、情報解析部１０９は、解析学習データベース１１２の同じ時間帯の同じ定期変化ポイントタイプを有する定期性カウンタをインクリメントする（ステップＳ４０４）。
【０２６４】
次に、情報解析部１０９は、インクリメントした定期性カウンタが閾値以上か否かを判定する（ステップＳ４０５）。定期性カウンタが閾値未満の場合（ステップＳ４０５：否定）、情報解析部１０９は、ステップＳ４０８へ進む。
【０２６５】
これに対して、定期性カウンタが閾値以上の場合（ステップＳ４０５：肯定）、情報解析部１０９は、インクリメントした定期性カウンタを有するエントリを減少用定期変化ポイントに設定し（ステップＳ４０６）、ステップＳ４０８へ進む。
【０２６６】
また、情報解析部１０９は、ＬＢスケール準備を解析学習データベース１１２に設定する（ステップＳ４０７）。
【０２６７】
次に、情報解析部１０９は、仮想マシン３００のトラフィック情報を情報格納データベース１１１から取得する（ステップＳ４０８）。具体的には、情報解析部１０９は、ロードバランサ２００に登録されている仮想マシン３００のトラフィック量の合計値を取得する。
【０２６８】
次に、情報解析部１０９は、仮想マシン３００が削減可能な状態まで仮想マシン３００のトラフィック量が減少したか否かを判定する（ステップＳ４０９）。仮想マシン３００が削減可能な状態までトラフィック量が減少した場合（ステップＳ４０９：肯定）、情報解析部１０９は、ステップＳ４１１へ進む。
【０２６９】
これに対して、仮想マシン３００が削減可能な状態までトラフィック量が減少していない場合（ステップＳ４０９：否定）、情報解析部１０９は、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の下限に達したか否かを判定する（ステップＳ４１０）。
【０２７０】
ロードバランサ２００のトラフィック量が仮想マシン３００の性能の下限に達していない場合（ステップＳ４１０：否定）、情報解析部１０９は、情報解析処理を終了する。
【０２７１】
これに対して、ロードバランサ２００のトラフィック量が仮想マシン３００の性能の下限に達した場合（ステップＳ４１０：肯定）、情報解析部１０９は、ステップＳ４１１へ進む。
【０２７２】
そして、情報解析部１０９は、解析学習データベース１１２に同じ時間帯に同じイベントタイプの情報が格納されているか否かを判定する（ステップＳ４１１）。同じ時間帯に同じイベントタイプの情報が格納されている場合（ステップＳ４１１：肯定）、情報解析部１０９は、前回の時刻と今回の時刻との間の間隔を算出し、定期変化ポイントタイプを決定する。そして、情報解析部１０９は、解析学習データベース１１２の同じ時間帯の同じ定期変化ポイントタイプを有する定期性カウンタをインクリメントする（ステップＳ４１２）。
【０２７３】
次に、情報解析部１０９は、インクリメントした定期性カウンタが閾値以上か否かを判定する（ステップＳ４１３）。定期性カウンタが閾値未満の場合（ステップＳ４１３：否定）、情報解析部１０９は、情報解析処理を終了する。
【０２７４】
これに対して、定期性カウンタが閾値以上の場合（ステップＳ４１３：肯定）、情報解析部１０９は、インクリメントした定期性カウンタを有するエントリを減少用定期変化ポイントに設定し（ステップＳ４１４）、情報解析処理を終了する。
【０２７５】
一方、同じ時間帯に同じイベントタイプの情報が格納されていない場合（ステップＳ４１１：否定）、情報解析部１０９は、ＶＭスケールイン準備を解析学習データベース１１２に設定する（ステップＳ４１５）。
【０２７６】
次に、図１９を参照して、本実施例に係るクラウド管理装置１によるロードバランサ２００のスケールイン処理の流れについて説明する。図１９は、実施例２に係るクラウド管理装置によるロードバランサのスケールイン処理のシーケンス図である。
【０２７７】
ロードバランサ制御部１０５は、解析学習データベース１１２の情報を読み込む（ステップＳ４２１）。
【０２７８】
次に、ロードバランサ制御部１０５は、解析学習データベース１１２が更新されたか否かを判定する（ステップＳ４２２）。解析学習データベース１１２が更新されていない場合（ステップＳ４２２：否定）、ロードバランサ制御部１０５は、スケールイン処理を終了する。
【０２７９】
これに対して、解析学習データベース１１２が更新された場合（ステップＳ４２２：肯定）、ロードバランサ制御部１０５は、ＬＢスケールイン準備が更新されたか否かを判定する（ステップＳ４２３）。ＬＢスケールイン準備が更新されていない場合（ステップＳ４２３：否定）、ロードバランサ制御部１０５は、ステップＳ４２８へ進む。
【０２８０】
これに対して、ＬＢスケールイン準備が更新された場合（ステップＳ４２３：肯定）、ロードバランサ制御部１０５は、ロードバランサ２００のトラフィックの減少量である減少トラフィックから削減するロードバランサ２００の数を算出する（ステップＳ４２４）。
【０２８１】
次に、ロードバランサ制御部１０５は、算出した数のロードバランサ２００のＩＰをＤＮＳ装置７から削除する（ステップＳ４２５）。
【０２８２】
次に、ロードバランサ制御部１０５は、ＤＮＳ装置７から削除したロードバランサ２００をＬＢプールに格納する（ステップＳ４２６）。
【０２８３】
次に、ロードバランサ制御部１０５は、ＶＭスケールイン準備を解析学習データベース１１２へ設定し、スケールイン処理を終了する（ステップＳ４２７）。
【０２８４】
また、ＬＢスケールイン準備が更新されていない場合、ロードバランサ制御部１０５は、減少用定期変化ポイントの時刻が到来したか否かを判定する（ステップＳ４２８）。減少用定期変化ポイントの時刻が来ていない場合（ステップＳ４２８：否定）、ロードバランサ制御部１０５は、スケールイン処理を終了する。
【０２８５】
これに対して、減少用定期変化ポイントの時刻が到来した場合（ステップＳ４２８：肯定）、ロードバランサ制御部１０５は、減少用定期変化ポイントにおける減少トラフィックから削減するロードバランサ２００の数を算出する（ステップＳ４２９）。
【０２８６】
次に、ロードバランサ制御部１０５は、動作中のロードバランサ２００の中から、算出した数のロードバランサ２００を選択する（ステップＳ４３０）。
【０２８７】
次に、ロードバランサ制御部１０５は、ロードバランサ２００のＩＰをＤＮＳ装置７から削除する（ステップＳ４３１）。
【０２８８】
次に、ロードバランサ制御部１０５は、選択したロードバランサ２００の削除をサーバ装置２０へ指示する（ステップＳ４３２）。
【０２８９】
サーバ装置２０は、指定されたロードバランサ２００を削除する（ステップＳ４３３）。そして、サーバ装置２０は、ロードバランサ２００の削除完了通知をロードバランサ制御部１０５へ送信する（ステップＳ４３４）。
【０２９０】
次に、図２０を参照して、本実施例に係るクラウド管理装置１による仮想マシン３００のスケールイン処理の流れについて説明する。図２０は、実施例２に係るクラウド管理装置による仮想マシンのスケールイン処理のシーケンス図である。
【０２９１】
仮想マシン制御部１０６は、解析学習データベース１１２を読み込む（ステップＳ４４１）。
【０２９２】
次に、仮想マシン制御部１０６は、解析学習データベース１１２が更新されたか否かを判定する（ステップＳ４４２）。解析学習データベース１１２が更新されていない場合（ステップＳ４４２：否定）、仮想マシン制御部１０６は、スケールイン処理を終了する。
【０２９３】
これに対して、解析学習データベース１１２が更新された場合（ステップＳ４４２：肯定）、仮想マシン制御部１０６は、ＶＭスケールイン準備が更新されたか否かを判定する（ステップＳ４４３）。ＶＭスケールイン準備が更新されていない場合（ステップＳ４４３：否定）、仮想マシン制御部１０６は、ステップＳ４４９へ進む。
【０２９４】
これに対して、ＶＭスケールイン準備が更新された場合（ステップＳ４４３：肯定）、仮想マシン制御部１０６は、更新されたＶＭスケールイン準備に対応するトラフィック情報におけるトラフィックの減少量である減少トラフィックを算出する。そして、仮想マシン制御部１０６は、減少トラフィックから削減する仮想マシン３００の数を算出する（ステップＳ４４４）。
【０２９５】
次に、仮想マシン制御部１０６は、稼働中の仮想マシン３００の中から算出した数の仮想マシン３００を選択し、削減する仮想マシン３００を決定する（ステップＳ４４５）。
【０２９６】
次に、仮想マシン制御部１０６は、削減する仮想マシン３００をロードバランサ２００に通知する（ステップＳ４４６）。
【０２９７】
ロードバランサ２００は、削減する仮想マシン３００の通知を受けて、指定された仮想マシン３００を分散対象から解除する（ステップＳ４４７）。
【０２９８】
次に、仮想マシン制御部１０６は、削減する仮想マシン３００をＶＭプールに格納し、スケールイン処理を終了する（ステップＳ４４８）。
【０２９９】
一方、ＶＭスケールイン準備が更新されていない場合、仮想マシン制御部１０６は、減少用定期変化ポイントの時刻が到来したか否かを判定する（ステップＳ４４９）。減少用定期変化ポイントの時刻が来ていない場合（ステップＳ４４９：否定）、仮想マシン制御部１０６は、スケールイン処理を終了する。
【０３００】
これに対して、減少用定期変化ポイントの時刻が到来した場合（ステップＳ４４９：肯定）、仮想マシン制御部１０６は、減少用定期変化ポイントにおけるトラフィックの減少量である減少トラフィックを算出する。そして、仮想マシン制御部１０６は、減少トラフィックから削減する仮想マシン３００の数を算出する（ステップＳ４５０）。
【０３０１】
次に、仮想マシン制御部１０６は、稼働中の仮想マシン３００の中から算出した数の仮想マシン３００を選択し、削減する仮想マシン３００を決定する（ステップＳ４５１）。
【０３０２】
次に、仮想マシン制御部１０６は、削減する仮想マシン３００をロードバランサ２００に通知する（ステップＳ４５２）。
【０３０３】
ロードバランサ２００は、削減する仮想マシン３００の通知を受けて、指定された仮想マシン３００を分散対象から解除する（ステップＳ４５３）。
【０３０４】
次に、仮想マシン制御部１０６は、選択した仮想マシン３００の削除をサーバ装置３０へ指示する（ステップＳ４５４）。
【０３０５】
サーバ装置３０は、仮想マシン３００の削除の指示を受けて、指定された仮想マシン３００を削除する（ステップＳ４５５）。
【０３０６】
その後、サーバ装置３０は、削除完了通知を仮想マシン制御部１０６に送信する（ステップＳ４５６）。
【０３０７】
以上に説明したように、本実施例に係るクラウド管理装置は、決められた量のトラフィックの変化が起こるタイミングを学習し、そのタイミングにおいて発生する可能性が高い変化に応じたオートスケールを行う。これにより、周期的に発生する突然のトラフィック量の変化に対応することができ、トラフィック量の変化に追従した適切なオートスケールを実施することができる。
【実施例３】
【０３０８】
次に、実施例３について説明する。本実施例に係るクラウド管理装置１も図２のブロック図で表される。本実施例に係るクラウド管理装置１は、周期的なトラフィックの変化を学習し、周期的なトラフィックの増加が発生する前に予めスケールアウトの準備を実行することが実施例２と異なる。以下の説明では実施例２と同様の各部の機能については説明を省略する。
【０３０９】
本実施例に係る解析学習データベース１１２は、解析学習データベース１１２に加えて、最大配備時間情報を有する。最大配備時間は、ロードバランサ２００又は仮想マシン３００の配備にかかる時間の最大値である。最大配備時間は、ロードバランサ２００又は仮想マシン３００のそれぞれの配備時間について、配備を行う毎に更新される。以下では、ロードバランサ２００の配備にかかる時間を「ＬＢ配備時間」と言い、ＬＢ配備時間の中の最大配備時間を「ＬＢ最大配備時間」と言う。また、仮想マシン３００の配備にかかる時間を「ＶＭ配備時間」と言い、ＶＭ配備時間の中の最大配備時間を「ＶＭ最大配備時間」という。
【０３１０】
ロードバランサ制御部１０５は、ロードバランサ２００のスケールアウトの準備を行うか否かの判定時に、ＬＢスケールアウト準備が更新されたか否かの他に、ロードバランサ２００の増加用定期変化ポイントからＬＢ最大配備時間前の時刻に達したかを判定する。ここで、ロードバランサ制御部１０５は、既に取得している解析学習データベース１１２からＬＢ最大配備時間を取得することができる。そして、ＬＢスケールアウト準備が更新された場合又は増加用定期変化ポイントからＬＢ最大配備時間前の時刻に達した場合、ロードバランサ制御部１０５は、以下の処理を行う。
【０３１１】
ロードバランサ制御部１０５は、ロードバランサ２００における増加トラフィックから追加するロードバランサ２００の数を算出する。次に、ロードバランサ制御部１０５は、算出した数のロードバランサ２００の起動をサーバ装置２０に指示する。その後、起動完了通知をサーバ装置２０から受信すると、ロードバランサ制御部１０５は、追加したロードバランサ２００への設定反映をサーバ装置２０に指示する。
【０３１２】
そして、ロードバランサ制御部１０５は、ロードバランサ２００の起動を指示してから設定反映完了通知を受信するまでの時間を計測し、今回のＬＢ配備時間とする。次に、ロードバランサ制御部１０５は、ＬＢ配備時間の計測値が解析学習データベース１１２に登録されたＬＢ最大配備時間より長いか否かを判定する。ＬＢ配備時間の計測値がＬＢ最大配備時間より長い場合、ロードバランサ制御部１０５は、解析学習データベース１１２に登録されたＬＢ最大配備時間を今回のＬＢ配備時間の計測値に変更する。
【０３１３】
また、ロードバランサ制御部１０５は、追加されたロードバランサ２００をＬＢプールに格納する。さらに、ロードバランサ制御部１０５は、ＶＭスケールアウト準備を解析学習データベース１１２に設定する。
【０３１４】
仮想マシン制御部１０６は、ＶＭスケールアウトの準備を行うか否かの判定時に、ＶＭスケールアウト準備が更新されたか否かの他に、仮想マシン３００の増加用定期変化ポイントからＶＭ最大配備時間前の時刻に達したかを判定する。ここで、仮想マシン制御部１０６は、既に取得している解析学習データベース１１２からＶＭ最大配備時間を取得することができる。そして、ＶＭスケールアウト準備が更新された場合又は増加用定期変化ポイントからＶＭ最大配備時間前の時刻に達した場合、仮想マシン制御部１０６は、以下の処理を行う。
【０３１５】
仮想マシン制御部１０６は、対象としたイベントに対応するトラフィック情報における増加トラフィックを算出する。そして、仮想マシン制御部１０６は、増加トラフィックから追加する仮想マシン３００の数を算出する。仮想マシン制御部１０６は、算出した数の仮想マシン３００の起動をサーバ装置３０に指示する。さらに、仮想マシン制御部１０６は、追加した仮想マシン３００をＶＭプールに格納する。
【０３１６】
また、仮想マシン制御部１０６は、仮想マシンの起動を指示してから起動完了通知をサーバ装置３０から受信するまでの時間を計測し、今回のＶＭ配備時間とする。次に、仮想マシン制御部１０６は、ＶＭ配備時間の計測値が解析学習データベース１１２に登録されたＶＭ最大配備時間より長いか否かを判定する。ＶＭ配備時間の計測値がＶＭ最大配備時間より長い場合、仮想マシン制御部１０６は、解析学習データベース１１２に登録されたＶＭ最大配備時間を今回のＶＭ配備時間の計測値に変更する。
【０３１７】
次に、図２１を参照して、本実施例に係るクラウド管理装置１によるロードバランサ２００のスケールアウト処理の流れについて説明する。図２１は、実施例３に係るクラウド管理装置によるロードバランサのスケールアウト処理のシーケンス図である。
【０３１８】
ロードバランサ制御部１０５は、解析学習データベース１１２の情報を読み込む（ステップＳ５０１）。
【０３１９】
次に、ロードバランサ制御部１０５は、解析学習データベース１１２が更新されたか否かを判定する（ステップＳ５０２）。解析学習データベース１１２が更新されていない場合（ステップＳ５０２：否定）、ロードバランサ制御部１０５は、スケールアウト処理を終了する。
【０３２０】
これに対して、解析学習データベース１１２が更新された場合（ステップＳ５０２：肯定）、ロードバランサ制御部１０５は、ＬＢスケールアウトトリガが更新されたか否かを判定する（ステップＳ５０３）。ＬＢスケールアウトトリガが更新された場合（ステップＳ５０３：肯定）、ロードバランサ制御部１０５は、ステップＳ５０５へ進む。
【０３２１】
これに対して、ＬＢスケールアウトトリガが更新されていない場合（ステップＳ５０３：否定）、ロードバランサ制御部１０５は、ロードバランサ２００の増加用定期変化ポイントの時刻が到来したか否かを判定する（ステップＳ５０４）。増加用定期変化ポイントの時刻が来ていない場合（ステップＳ５０４：否定）、ロードバランサ制御部１０５は、ステップＳ５０８へ進む。
【０３２２】
これに対して、増加用定期変化ポイントの時刻が到来した場合（ステップＳ５０４：肯定）、ロードバランサ制御部１０５は、増加トラフィックから追加するロードバランサ２００の数を算出する（ステップＳ５０５）。
【０３２３】
次に、ロードバランサ制御部１０５は、ＬＢプールから算出した数のロードバランサ２００を選択し、追加するロードバランサ２００とする（ステップＳ５０６）。
【０３２４】
そして、ロードバランサ制御部１０５は、追加するロードバランサ２００のＩＰをＤＮＳ装置７に登録する（ステップＳ５０７）。
【０３２５】
次に、ロードバランサ制御部１０５は、ＬＢスケールアウト準備が更新されたか否かを判定する（ステップＳ５０８）。ＬＢスケールアウト準備が更新された場合（ステップＳ５０８：肯定）、ロードバランサ制御部１０５は、ステップＳ５１０へ進む。
【０３２６】
これに対して、ＬＢスケールアウト準備が更新されていない場合（ステップＳ５０８：否定）、ロードバランサ制御部１０５は、ロードバランサ２００の増加用定期変化ポイントからＬＢ最大配備時間前の時刻に達したか否かを判定する（ステップＳ５０９）。増加用定期変化ポイントからＬＢ最大配備時間前の時刻に達していない場合（ステップＳ５０９：否定）、ロードバランサ制御部１０５は、スケールアウト処理を終了する。
【０３２７】
これに対して、増加用定期変化ポイントからＬＢ最大配備時間前の時刻に達した場合（ステップＳ５０９：肯定）、ロードバランサ制御部１０５は、ステップＳ５１０へ進む。
【０３２８】
そして、ロードバランサ制御部１０５は、イベントに対応するトラフィック情報における増加トラフィックから追加するロードバランサ２００の数を算出する（ステップＳ５１０）。
【０３２９】
次に、ロードバランサ制御部１０５は、算出した数のロードバランサ２００の起動をサーバ装置２０に指示する（ステップＳ５１１）。
【０３３０】
サーバ装置２０は、ロードバランサ２００の起動の指示を受けて、指定された数のロードバランサ２００を起動する（ステップＳ５１２）。
【０３３１】
ロードバランサ２００の起動後、サーバ装置２０は、起動完了通知をロードバランサ制御部１０５へ送信する（ステップＳ５１３）。
【０３３２】
ロードバランサ制御部１０５は、起動完了通知を受信すると、追加したロードバランサ２００への設定反映をサーバ装置２０に指示する（ステップＳ５１４）。
【０３３３】
サーバ装置２０は、ロードバランサ２００への設定反映指示を受けて、追加したロードバランサ２００に指定された設定を反映させる（ステップＳ５１５）。
【０３３４】
ロードバランサ２００に対する設定反映が完了すると、サーバ装置２０は、設定反映完了の通知をロードバランサ制御部１０５へ送信する（ステップＳ５１６）。
【０３３５】
設定反映完了通知を受信すると、ロードバランサ制御部１０５は、今回のＬＢ配備時間を計測する（ステップＳ５１７）。
【０３３６】
さらに、ロードバランサ制御部１０５は、追加されたロードバランサ２００をＬＢプールに格納する（ステップＳ５１８）。
【０３３７】
次に、ロードバランサ制御部１０５は、ＬＢ配備時間の計測値が解析学習データベース１１２に登録されたＬＢ最大配備時間より長いか否かを判定する（ステップＳ５１９）。ＬＢ配備時間の計測値がＬＢ最大配備時間以下の場合（ステップＳ５１９：否定）、ロードバランサ制御部１０５は、ステップＳ５２１へ進む。
【０３３８】
一方、ＬＢ配備時間の計測値がＬＢ最大配備時間より長い場合（ステップＳ５１９：肯定）、ロードバランサ制御部１０５は、解析学習データベース１１２に登録されたＬＢ最大配備時間を今回のＬＢ配備時間の計測値に変更する（ステップＳ５２０）。
【０３３９】
さらに、ロードバランサ制御部１０５は、ＶＭスケールアウト準備を解析学習データベース１１２に設定する（ステップＳ５２１）。
【０３４０】
ここで、ステップ５１１〜５２０は、ロードバランサ２００が複数ある場合、その数だけ並行して実行される。
【０３４１】
次に、図２２を参照して、本実施例に係るクラウド管理装置１による仮想マシン３００のスケールアウト処理の流れについて説明する。図２２は、実施例３に係るクラウド管理装置による仮想マシンのスケールアウト処理のシーケンス図である。
【０３４２】
仮想マシン制御部１０６は、解析学習データベース１１２を読み込む（ステップＳ５３１）。
【０３４３】
次に、仮想マシン制御部１０６は、解析学習データベース１１２が更新されたか否かを判定する（ステップＳ５３２）。解析学習データベース１１２が更新されていない場合（ステップＳ５３２：否定）、仮想マシン制御部１０６は、スケールアウト処理を終了する。
【０３４４】
これに対して、解析学習データベース１１２が更新された場合（ステップＳ５３２：肯定）、仮想マシン制御部１０６は、ＶＭスケールアウトトリガが更新されたか否かを判定する（ステップＳ５３３）。ＶＭスケールアウトトリガが更新された場合（ステップＳ５３３：肯定）、仮想マシン制御部１０６は、ステップＳ５３５へ進む。
【０３４５】
これに対して、ＶＭスケールアウトトリガが更新されていない場合（ステップＳ５３３：否定）、仮想マシン制御部１０６は、仮想マシン３００の増加用定期変化ポイントの時刻が到来したか否かを判定する（ステップＳ５３４）。増加用定期変化ポイントの時刻が来ていない場合（ステップＳ５３４：否定）、仮想マシン制御部１０６は、ステップＳ５３９へ進む。
【０３４６】
これに対して、増加用定期変化ポイントの時刻が到来した場合（ステップＳ５３４：肯定）、仮想マシン制御部１０６は、対象としたイベントに対応するトラフィック情報における増加トラフィックを算出する。そして、仮想マシン制御部１０６は、増加トラフィックから追加する仮想マシン３００の数を算出する（ステップＳ５３５）。
【０３４７】
次に、仮想マシン制御部１０６は、算出した数の仮想マシン３００をＶＭプールから選択し、追加する仮想マシン３００とする（ステップＳ５３６）。
【０３４８】
次に、仮想マシン制御部１０６は、追加する仮想マシン３００をロードバランサ２００に通知する（ステップＳ５３７）。
【０３４９】
ロードバランサ２００は、追加する仮想マシン３００の通知を受けて、指定された仮想マシン３００を分散対象に追加する（ステップＳ５３８）。
【０３５０】
次に、仮想マシン制御部１０６は、ＶＭスケールアウト準備が更新されたか否かを判定する（ステップＳ５３９）。ＶＭスケールアウト準備が更新された場合（ステップＳ５３９：肯定）、仮想マシン制御部１０６は、ステップＳ５４１へ進む。
【０３５１】
これに対して、ＶＭスケールアウト準備が更新されていない場合（ステップＳ５３９：否定）、仮想マシン制御部１０６は、仮想マシン３００の増加用定期変化ポイントからＶＭ最大配備時間前の時刻に達したか否かを判定する（ステップＳ５４０）。増加用定期変化ポイントからＶＭ最大配備時間前の時刻に達していない場合（ステップＳ５４０：否定）、仮想マシン制御部１０６は、スケールアウト処理を終了する。
【０３５２】
これに対して、増加用定期変化ポイントからＶＭ最大配備時間前の時刻に達した場合（ステップＳ５４０：肯定）、仮想マシン制御部１０６は、ステップＳ５４１へ進む。
【０３５３】
仮想マシン制御部１０６は、対象としたイベントに対応するトラフィック情報における増加トラフィックを算出する。そして、仮想マシン制御部１０６は、増加トラフィックから追加する仮想マシン３００の数を算出する（ステップＳ５４１）。
【０３５４】
次に、仮想マシン制御部１０６は、算出した数の仮想マシン３００の起動をサーバ装置３０に指示する（ステップＳ５４２）。
【０３５５】
サーバ装置３０は、仮想マシン３００の起動の指示を受けて、指定された数の仮想マシン３００を起動する（ステップＳ５４３）。
【０３５６】
仮想マシン３００の起動後、サーバ装置３０は、起動完了通知を仮想マシン制御部１０６へ送信する（ステップＳ５４４）。
【０３５７】
起動完了通知を受信すると、仮想マシン制御部１０６は、今回のＶＭ配備時間を計測する（ステップＳ５４５）。
【０３５８】
また、仮想マシン制御部１０６は、追加した仮想マシン３００をＶＭプールに格納する（ステップＳ５４６）。
【０３５９】
次に、仮想マシン制御部１０６は、ＶＭ配備時間の計測値が解析学習データベース１１２に登録されたＶＭ最大配備時間より長いか否かを判定する（ステップＳ５４７）。ＶＭ配備時間の計測値がＬＢ最大配備時間以下の場合（ステップＳ５４７：否定）、仮想マシン制御部１０６は、スケールアウト処理を終了する。
【０３６０】
一方、ＶＭ配備時間の計測値がＶＭ最大配備時間より長い場合（ステップＳ５４７：肯定）、仮想マシン制御部１０６は、解析学習データベース１１２に登録されたＶＭ最大配備時間を今回のＶＭ配備時間の計測値に変更する（ステップＳ５４８）。
【０３６１】
ここで、ステップ５４２〜５４８は、仮想マシン３００が複数ある場合、その数だけ並行して実行される。
【０３６２】
以上に説明したように、本実施例に係るクラウド管理装置は、周期的なトラフィック量の増加が発生する時刻から、リソースの配備に係る最大時間前にスケールアウトの準備を始める。これにより、周期的なトラフィック量の増加時には既にスケールアウトの準備が完了しており、迅速にスケールアウトを実行することができる。したがって、周期的に発生する突然のトラフィック量の変化により適切に対応することができ、トラフィック量の変化に追従した適切なオートスケールを実施することができる。
【０３６３】
（ハードウェア構成）
図２３は、クラウド管理装置のハードウェア構成図である。図２３に示すように、クラウド管理装置１は、情報処理装置１０及びストレージ装置１１を有する。さらに、情報処理装置１０は、ＣＰＵ（Central  Processing  Unit）１２、メモリ１３、ハードディスク１４、及びＮＩＣ（Network  Interface  Card）１５を有する。
【０３６４】
ＣＰＵ１２は、メモリ１３、ハードディスク１４及びＮＩＣ１５とバスで接続される。また、ＣＰＵ１２は、ストレージ装置１１と接続される。ＣＰＵ１２は、ストレージ装置１１との間でデータの送受信を行う。
【０３６５】
ＮＩＣ１５は、リモートルータ６、ネットワーク装置４、並びに、サーバ装置２０及び３０に接続するためのインタフェースである。
【０３６６】
ストレージ装置１１は、図２に例示した情報格納データベース１１１、解析学習データベース１１２、リソース管理データベース１１３及びプール情報格納部１１５の機能を実現する。
【０３６７】
ハードディスク１４は、図２に例示した設定パラメタ格納部１１４の機能を実現する。さらに、ハードディスク１４は、図２に例示したユーザインタフェース制御部１０２、仮想ルータ制御部１０３及びファイアウォール制御部１０４の機能を実現するプログラムを格納する。また、ハードディスク１４は、図２に例示したロードバランサ制御部１０５、仮想マシン制御部１０６、リモートルータ情報収集部１０７及び情報収集部１０８の機能を実現するプログラムを含む各種プログラムを格納する。
【０３６８】
例えば、ＣＰＵ１２は、ハードディスク１４からユーザインタフェース制御部１０２、仮想ルータ制御部１０３及びファイアウォール制御部１０４の機能を実現するプログラムを含む各種プログラムを読み出し、メモリ１３上に展開して実行する。また、ＣＰＵ１２は、ハードディスク１４からロードバランサ制御部１０５、仮想マシン制御部１０６、リモートルータ情報収集部１０７及び情報収集部１０８の機能を実現するプログラムを含む各種プログラムを読み出し、メモリ１３上に展開して実行する。
【０３６９】
これにより、ＣＰＵ１２及びメモリ１３は、図２に例示したユーザインタフェース制御部１０２、仮想ルータ制御部１０３及びファイアウォール制御部１０４の機能を実現する。また、ＣＰＵ１２及びメモリ１３は、図２に例示したロードバランサ制御部１０５、仮想マシン制御部１０６、リモートルータ情報収集部１０７及び情報収集部１０８の機能を実現する。
【０３７０】
また、ストレージ装置１１を用いずに、ハードディスク１４により情報格納データベース１１１、解析学習データベース１１２及びリソース管理データベース１１３の機能を実現させてもよい。
【０３７１】
さらに、ここでは、ハードディスク１４にプログラムが予め格納された場合で説明したが、各機能を実現するためのプログラムは、ＣＤ（Compact  Disc）やＤＶＤ（Digital  Versatile  Disc）などのクラウド管理装置１が読み取り可能な記憶媒体に格納されてもよい。その場合、クラウド管理装置１は、ＣＤドライブやＤＶＤドライブといった記憶媒体を読み取る機器を有する。
【符号の説明】
【０３７２】
１  クラウド管理装置
４  ネットワーク装置
５  ネットワーク
６  リモートルータ
７  ＤＮＳ装置
８  操作端末
２０〜２３，３０〜３３  サーバ装置
４１  ファイアウォール装置
４０，４２，４３  仮想ルータ
１０１  ユーザインタフェース
１０２  ユーザインタフェース制御部
１０３  仮想ルータ制御部
１０４  ファイアウォール制御部
１０５  ロードバランサ制御部
１０６  仮想マシン制御部
１０７  リモートルータ情報収集部
１０８  情報収集部
１００  クラウドシステム
１１１  情報格納データベース
１１２  解析学習データベース
１１３  リソース管理データベース
１１４  設定パラメタ格納部
１１５  プール情報格納部
２００〜２０３  ロードバランサ
３００〜３０３  仮想マシン
【図１】
2018097708.tif 000003
【図２】
2018097708.tif 000004
【図３】
2018097708.tif 000005
【図４】
2018097708.tif 000006
【図５】
2018097708.tif 000007
【図６】
2018097708.tif 000008
【図７】
2018097708.tif 000009
【図８】
2018097708.tif 000010
【図９】
2018097708.tif 000011
【図１０】
2018097708.tif 000012
【図１１】
2018097708.tif 000013
【図１２】
2018097708.tif 000014
【図１３】
2018097708.tif 000015
【図１４】
2018097708.tif 000016
【図１５】
2018097708.tif 000017
【図１６】
2018097708.tif 000018
【図１７】
2018097708.tif 000019
【図１８】
2018097708.tif 000020
【図１９】
2018097708.tif 000021
【図２０】
2018097708.tif 000022
【図２１】
2018097708.tif 000023
【図２２】
2018097708.tif 000024
【図２３】
2018097708.tif 000025