(57)【要約】【課題】仮想マシンの処理負荷に応じて仮想マシンの削除を行うことを可能とするオートスケールプログラム及びオートスケール方法を提供する。【解決手段】１台以上の仮想マシンをそれぞれ含む複数のグループにパケットを振り分ける負荷分散装置に対し、所定数のテストパケットを送信し、複数のグループに含まれる第１グループが負荷分散装置から受信したテストパケットの数を取得し、取得したテストパケットの数に基づき、第１グループに含まれる第１仮想マシンの削除を行うか否かを判定するための第１閾値情報を更新し、第１仮想マシンの動作状態と第１閾値情報とに基づき、第１仮想マシンの削除を行う。【選択図】図１０
2017111664.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
１台以上の仮想マシンをそれぞれ含む複数のグループにパケットを振り分ける負荷分散装置に対し、所定数のテストパケットを送信し、
前記複数のグループに含まれる第１グループが前記負荷分散装置から受信した前記テストパケットの数を取得し、
取得した前記テストパケットの数に基づき、前記第１グループに含まれる第１仮想マシンの削除を行うか否かを判定するための第１閾値情報を更新し、
前記第１仮想マシンの動作状態と前記第１閾値情報とに基づき、前記第１仮想マシンの削除を行う、
処理を実行させることを特徴とするオートスケールプログラム。
【請求項２】
請求項１において、
前記第１閾値を更新する処理では、前記負荷分散装置が前記所定数のテストパケットの全てを前記第１グループに送信した場合における、前記仮想マシンの削除を行うか否かを判定するための第３閾値情報と、前記所定数に対する前記負荷分散装置が前記第１グループに送信したテストパケットの数の割合とを乗算した値に、前記第１閾値情報を更新する、
ことを特徴とするオートスケールプログラム。
【請求項３】
請求項１において、さらに、
取得した前記テストパケットの数に基づき、前記第１グループにおいて前記第１仮想マシンの生成を行うか否かを判定するための第２閾値情報を更新し、
前記第１仮想マシンの動作状態と前記第２閾値情報とに基づき、前記第１仮想マシンの生成を行う、
処理をコンピュータに実行させることを特徴とするオートスケールプログラム。
【請求項４】
請求項３において、
前記第２閾値を更新する処理では、前記負荷分散装置が前記所定数のテストパケットを前記第１グループに送信した場合における、前記仮想マシンの生成を行うか否かを判定するための第４閾値情報と、前記所定数に対する前記負荷分散装置が前記第１グループに送信したテストパケットの数の割合とを乗算した値に、前記第２閾値情報を更新する、
ことを特徴とするオートスケールプログラム。
【請求項５】
請求項１において、
前記第１仮想マシンは、前記第１仮想マシンが実行する処理を、前記複数のグループに含まれる他のグループの仮想マシンに対して引き継ぐことに伴って、段階的に削除される仮想マシンである、
ことを特徴とするオートスケールプログラム。
【請求項６】
１台以上の仮想マシンをそれぞれ含む複数のグループにパケットを振り分ける負荷分散装置に対し、所定数のテストパケットを送信し、
前記複数のグループに含まれる第１グループが前記負荷分散装置から受信した前記テストパケットの数を取得し、
取得した前記テストパケットの数に基づき、前記第１グループに含まれる第１仮想マシンの削除を行うか否かを判定するための第１閾値情報を更新し、
前記第１仮想マシンの動作状態と前記第１閾値情報とに基づき、前記第１仮想マシンの削除を行う、
ことを特徴とするオートスケール方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オートスケールプログラム及びオートスケール方法に関する。
【背景技術】
【０００２】
利用者に対してサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、利用者に対して各種サービスを提供するために、例えば、複数台の仮想マシンによって構成される業務システムを構築する。そして、事業者は、利用者に提供するサービスの内容や業務システムに実行させる必要がある処理の量（以下、単に処理量とも呼ぶ）によって、例えば、複数台の仮想マシンに同じアプリケーションをインストールし、各仮想マシンに同じ処理を実行させる。
【０００３】
上記のような業務システムで動作するアプリケーションの更新を行う場合、事業者は、例えば、稼働中の業務システム（以下、更新前の業務システムとも呼ぶ）の他に、更新後のアプリケーションをインストールした業務システム（以下、更新後の業務システムとも呼ぶ）を構築する。そして、事業者は、更新前の業務システムが実行していた処理（利用者にサービスを提供するための処理）を、所定のタイミングで更新後の業務システムにおいて実行させる（以下、これを処理の切り替えとも呼ぶ）。これにより、事業者は、利用者に対するサービスの提供を中断することなく、アプリケーションの更新を行うことが可能になる。
【０００４】
上記のようにアプリケーションの更新を行う場合、事業者は、更新前の業務システムから更新後の業務システムに対する処理の切り替えを段階的に行う場合がある（以下、この更新方法をカナリアリリースとも呼ぶ）。このカナリアリリースによって処理の切り替えを行うことにより、事業者は、処理の切り替えの進捗に応じて、更新後の業務システムにおける仮想マシンの生成（以下、スケールアウトとも呼ぶ）及び更新前の業務システムにおける仮想マシンの削除（以下、スケールインとも呼ぶ）を段階的に行うことが可能になる。そのため、事業者は、この場合、更新前の業務システム及び更新後の業務システムにおいて同時に配備する必要がある仮想マシンの数を抑制することが可能になる。したがって、事業者は、アプリケーションの更新に伴うコストを低減させることが可能になる（例えば、特許文献１及び２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１１５０５９号公報
【特許文献２】特開２０１３−０９２８６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のようにカナリアリリースによってアプリケーションの更新を行う場合において、更新前の業務システムが実行する処理を更新後の業務システムに切り替える間に、更新後の業務システム（更新後のアプリケーション）において異常が発見される場合がある。この場合、事業者は、更新前の業務システムから更新後の業務システムに既に切り替えた処理を、更新前の業務システムに切り戻す必要がある。
【０００７】
しかしながら、オートスケール機能がある業務システムのカナリアリリースでは、更新前の業務システムから更新後の業務システムに対する処理に切り替えに伴って、更新前の業務システムにおける仮想マシンの削除を行う場合がある。そのため、更新後の業務システムに既に切り替えた処理を更新前の業務システムに切り戻す場合、更新前の業務システムが実行すべき処理量は、更新前の業務システムにおける仮想マシン（処理の切り替えに伴って一部が削除されている仮想マシン）の処理能力を超える場合がある。そのため、この場合、利用者に提供するサービスに遅延等の影響が及ぶ可能性がある。
【０００８】
そこで、一つの実施の形態の目的は、更新前と更新後の業務システム全体の仮想マシンの処理負荷に応じて更新前の業務システムの仮想マシンの削除を行うことを可能とするオートスケールプログラム及びオートスケール方法を提供することにある。
【課題を解決するための手段】
【０００９】
実施の形態の一つの側面によれば、コンピュータに、１台以上の仮想マシンをそれぞれ含む複数のグループにパケットを振り分ける負荷分散装置に対し、所定数のテストパケットを送信し、前記複数のグループに含まれる第１グループが前記負荷分散装置から受信した前記テストパケットの数を取得し、取得した前記テストパケットの数に基づき、前記第１グループに含まれる第１仮想マシンの削除を行うか否かを判定するための第１閾値情報を更新し、前記第１仮想マシンの動作状態と前記第１閾値情報とに基づき、前記第１仮想マシンの削除を行う、処理を実行させる。
【発明の効果】
【００１０】
一つの側面によれば、仮想マシンの処理負荷に応じて仮想マシンの削除を行うことを可能とする。
【図面の簡単な説明】
【００１１】
【図１】情報処理システム１０の構成を示す図である。
【図２】情報処理システム１０の詳細な構成を説明する図である。
【図３】アプリケーションの更新方法を説明する図である。
【図４】アプリケーションの更新方法を説明する図である。
【図５】アプリケーションの別の更新方法を説明する図である。
【図６】アプリケーションの別の更新方法を説明する図である。
【図７】物理マシン２Ａ及び物理マシン２Ｂのハードウエア構成を示す図である。
【図８】物理マシン２Ａの機能のブロック図である。
【図９】情報格納領域２３０Ａに記憶された情報のブロック図である。
【図１０】第１の実施の形態におけるオートスケール処理の概略を示すフローチャート図である。
【図１１】第１の実施の形態におけるオートスケール処理の概略を説明する図である。
【図１２】第１の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。
【図１３】第１の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。
【図１４】第１の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。
【図１５】第１の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。
【図１６】第１の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。
【図１７】第１の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。
【図１８】カレントカウント情報３２１Ａの具体例を説明する図である。
【図１９】カウント管理情報３２２Ａの具体例を説明する図である。
【図２０】カウント管理情報３２２Ａの具体例を説明する図である。
【図２１】状態管理情報３４２Ａの具体例を説明する図である。
【図２２】状態管理情報３４２Ａの具体例を説明する図である。
【図２３】配備数管理情報３４１Ａの具体例を説明する図である。
【図２４】テストパケット管理情報３４５Ａの具体例を説明する図である。
【図２５】計測比率管理情報３４４Ａの具体例を説明する図である。
【図２６】計測比率管理情報３４４Ａの具体例を説明する図である。
【図２７】運用手順管理情報３４３Ａの具体例を説明する図である。
【図２８】運用手順管理情報３４３Ａの具体例を説明する図である。
【図２９】運用手順管理情報３４３Ａの具体例を説明する図である。
【図３０】第２の実施の形態におけるオートスケール処理を示すフローチャート図である。
【図３１】第２の実施の形態におけるオートスケール処理を示すフローチャート図である。
【図３２】第２の実施の形態におけるオートスケール処理を示すフローチャート図である。
【図３３】第２の実施の形態におけるオートスケール処理を示すフローチャート図である。
【図３４】システム状態管理情報３４６Ａの具体例を説明する図である。
【発明を実施するための形態】
【００１２】
［情報処理システムの構成］
図１は、情報処理システム１０の構成を示す図である。図１に示す情報処理システム１０（以下、業務システム１０とも呼ぶ）は、例えば、ＶＭ管理装置１と、仮想マシン３（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を生成する物理マシン２とを有する。そして、物理マシン２には、インターネットやイントラネット等のネットワークＮＷを介して、利用者端末１１からアクセス可能になっている。
【００１３】
物理マシン２は、図１の例では複数の物理マシンから構成されており、各物理マシンは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）及びハードディスク（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等のリソースを有する。
【００１４】
物理マシン２のリソースは、複数の仮想マシン３に割り当てられる。そして、仮想マシン３は、事業者が利用者に対してサービスを提供するための処理を実行する。
【００１５】
ＶＭ管理装置１は、例えば、物理マシン２と異なる物理マシンである。ＶＭ管理装置１は、例えば、物理マシン２とアクセス可能であり、物理マシン２における仮想マシン３の生成指示や生成された仮想マシン３の管理を行う。
【００１６】
仮想化ソフトウエア４は、ＶＭ管理装置１からの指示に応じて、物理マシン２のリソースを割り当てることにより、仮想マシン３を動作させる基盤ソフトウエアである。仮想化ソフトウエア４は、図１に示すように、例えば、物理マシン２で動作する。
【００１７】
利用者端末１１は、利用者がサービスの提供を受けるために使用する端末である。利用者は、例えば、利用者端末１１を介して、サービスの提供を受けるための処理の要求を仮想マシン３に行う。そして、利用者は、例えば、利用者端末１１を介して、要求した処理の実行結果を仮想マシン３から取得する。
【００１８】
［情報システムの構成の詳細］
次に、情報処理システム１０の構成の詳細について説明を行う。図２は、情報処理システム１０の詳細な構成を説明する図である。
【００１９】
図２に示す例において、情報処理システム１０は、ＶＭ管理装置１と、物理マシン２Ａと、物理マシン２Ｂと、ロードバランサ５（以下、負荷分散装置５とも呼ぶ）と、振分管理装置６とを有する。なお、図２に示す例において、物理マシン２Ａ及び物理マシン２Ｂは、それぞれ複数の物理マシンである。また、ロードバランサ５及び振分管理装置６は、例えば、物理マシン２Ａ及び２Ｂと異なる物理マシンであってよく、物理マシン２Ａ及び２Ｂと異なる物理マシンに生成された仮想マシンであってもよい。
【００２０】
図２に示す例において、物理マシン２Ａには、１台の仮想マシン３１Ａ（以下、ＬＢ−ＶＭ３１ＡまたはＶＭ（ＬＢ）３１Ａとも呼ぶ）と、複数台の仮想マシン３２Ａ（以下、ＡＰ−ＶＭ３２Ａ、ＶＭ（ＡＰ）３２Ａまたは第１仮想マシン３２Ａとも呼ぶ）とが生成されている。また、図２に示す例において、物理マシン２Ａには、１台の仮想マシン３３Ａ（以下、ＡＳＭ−ＶＭ３３ＡまたはＶＭ（ＡＳＭ）３３Ａとも呼ぶ）が生成されている。
【００２１】
ＬＢ−ＶＭ３１Ａは、ロードバランサ５によって振り分けられたパケットを、各ＡＰ−ＶＭ３２Ａにそれぞれ振り分けるロードバランサとして機能する仮想マシンである。また、ＡＰ−ＶＭ３２Ａは、利用者にサービスを提供するための処理を実行するためのアプリケーションが動作する仮想マシンである。
【００２２】
そして、ＡＳＭ−ＶＭ３３Ａは、例えば、各ＡＰ−ＶＭ３２Ａの動作状態に応じて、物理マシン２Ａにおいて新たなＡＰ−ＶＭ３２Ａの生成または既存のＡＰ−ＶＭ３２Ａの削除をＶＭ管理装置１に指示するオートスケール管理装置として機能する仮想マシンである。また、ＡＳＭ−ＶＭ３３Ａは、物理マシン２Ａにおいて新たなＡＰ−ＶＭ３２Ａの生成または既存のＡＰ−ＶＭ３２Ａの削除が行われた場合、ＬＢ−ＶＭ３１Ａにパケットの振り分け先の変更を指示する。
【００２３】
また、図２に示す例において、物理マシン２Ｂには、１台の仮想マシン３１Ｂ（以下、ＬＢ−ＶＭ３１ＢまたはＶＭ（ＬＢ）３１Ｂとも呼ぶ）と、複数台の仮想マシン３２Ｂ（以下、ＡＰ−ＶＭ３２ＢまたはＶＭ（ＡＰ）３２Ｂとも呼ぶ）とが生成されている。また、図２に示す例において、物理マシン２Ｂには、１台の仮想マシン３３Ｂ（以下、ＡＳＭ−ＶＭ３３ＢまたはＶＭ（ＡＳＭ）３３Ｂとも呼ぶ）が生成されている。ＬＢ−ＶＭ３１Ｂ、ＡＰ−ＶＭ３２Ｂ及びＡＳＭ−ＶＭ３３Ｂは、それぞれＬＢ−ＶＭ３１Ａ、ＡＰ−ＶＭ３２Ａ及びＡＳＭ−ＶＭ３３Ａと同じ機能を有する仮想マシンである。
【００２４】
すなわち、図２に示す情報処理システム１０は、利用者端末１１から送信されたパケットを受信した際に、そのパケットに対応する処理を実行するための仮想マシンを含む仮想マシン群を２系統有している。なお、以下、物理マシン２Ａに生成された仮想マシンを含む仮想マシン群を第１グループとも呼び、物理マシン２Ｂに生成された仮想マシンを含む仮想マシン群を第２グループとも呼ぶ。
【００２５】
そして、図２に示す例において、ロードバランサ５は、利用者端末１１から受信したパケットを、ＬＢ−ＶＭ３１ＡとＬＢ−ＶＭ３１Ｂとに振り分ける。なお、ＬＢ−ＶＭ３１ＡとＬＢ−ＶＭ３１Ｂとに振り分けるパケットの割合は、振分管理装置６が決定し、ロードバランサ５に設定するものであってもよい。
【００２６】
さらに、図２に示す例において、ＶＭ管理装置１は、ＡＳＭ−ＶＭ３３ＡまたはＡＳＭ−ＶＭ３３Ｂから新たな仮想マシンの生成または既存の仮想マシンの削除の指示を受信した場合に、新たな仮想マシンの生成または既存の仮想マシンの削除を行う。
【００２７】
［アプリケーションの更新方法（１）］
次に、仮想マシンで実行されるアプリケーションの更新方法について説明を行う。図３及び図４は、アプリケーションの更新方法を説明する図である。
【００２８】
図３に示すＡＰ−ＶＭ３２Ａは、更新前のアプリケーションを実行することにより、利用者に対してサービスを提供している。また、図３に示すロードバランサ５は、ＬＢ−ＶＭ３１Ａにのみパケットの振り分けを行っている。すなわち、図３に示す情報処理システム１０では、利用者にサービスを提供するための処理を、ＡＰ−ＶＭ３２Ａのみが実行している状態である。
【００２９】
そして、事業者は、図３に示すように、例えば、ＡＰ−ＶＭ３２Ｂに更新後のアプリケーションをインストールする。
【００３０】
その後、図４に示すように、振分管理装置６は、ロードバランサ５によるパケットの振り分け先をＬＢ−ＶＭ３１ＡからＬＢ−ＶＭ３１Ｂに変更し、ＬＢ−ＶＭ３１Ｂに対してのみパケットの振り分けを行うように設定を行う。これにより、ＡＰ−ＶＭ３２Ｂは、ＬＢ−ＶＭ３１Ｂを介してパケットの振り分けが開始されたことに応じて、更新後のアプリケーションによる処理の実行を開始することが可能になる。すなわち、事業者は、この場合、利用者に対するサービスの提供を停止することなく、アプリケーションの更新を行うことが可能になる。
【００３１】
［アプリケーションの更新方法（２）］
次に、仮想マシンで実行されるアプリケーションの別の更新方法について説明を行う。図５及び図６は、アプリケーションの別の更新方法を説明する図である。
【００３２】
図５に示すロードバランサ５は、ＬＢ−ＶＭ３１Ａ及びＬＢ−ＶＭ３２Ｂに対してパケットを振分ける割合を徐々に変更することにより、パケットの振り分け先をＬＢ−ＶＭ３１ＡからＬＢ−ＶＭ３１Ｂに対して段階的に切り替える。すなわち、図５に示す更新方法では、事業者は、カナリアリリースによってアプリケーションの更新を行う。
【００３３】
また、ＡＳＭ−ＶＭ３３Ａは、この場合、ロードバランサ５からＬＢ−ＶＭ３１Ａ（ＡＰ−ＶＭ３２Ａ）に振り分けられるパケットの量の減少に応じて、ＶＭ管理装置１にＡＰ−ＶＭ３２Ａの削除を指示する。一方、ＡＳＭ−ＶＭ３３Ｂは、ロードバランサからＬＢ−ＶＭ３１Ｂ（ＡＰ−ＶＭ３２Ｂ）に振り分けられるパケットの量の増加に応じて、ＶＭ管理装置１にＡＰ−ＶＭ３２Ｂの生成を指示する。
【００３４】
すなわち、図５に示すアプリケーションの更新方法では、図４で説明したアプリケーションの更新方法と比較して、アプリケーションの更新時に物理マシン２Ａ及び物理マシン２Ｂに配備する仮想マシンの数を抑制することが可能になる。これにより、事業者は、アプリケーションの更新に伴うコストを低減させることが可能になる。
【００３５】
ここで、上記のようにカナリアリリースによるアプリケーションの更新を行う場合において、ＡＰ−ＶＭ３２Ａが実行する処理をＡＰ−ＶＭ３２Ｂに切り替える間に、更新後のアプリケーションにおいて異常が発見される場合がある。この場合、事業者は、ＡＰ−ＶＭ３２ＡからＡＰ−ＶＭ３２Ｂに既に切り替えた処理を、ＡＰ−ＶＭ３２Ａに切り戻す必要がある。
【００３６】
しかしながら、カナリアリリースでは、ＡＰ−ＶＭ３２ＡからＡＰ−ＶＭ３２Ｂに対する処理に切り替えに伴って、オートスケール機能によりＡＰ−ＶＭ３２Ａを削除する。そのため、ＡＰ−ＶＭ３２Ｂに既に切り替えた処理をＡＰ−ＶＭ３２Ａに切り戻す場合、ＡＰ−ＶＭ３２Ａ（処理の切り替えに伴って一部が削除されているＡＰ−ＶＭ３２Ａ）は、図６に示すように、処理能力を超える処理を実行する必要が生じる場合がある。また、ＶＭ管理装置１は、図６に示すように、新たなＡＰ−ＶＭ３２Ａを生成するために、ある程度の時間を要する場合がある。したがって、この場合、更新後のアプリケーションにおいて発見された異常は、利用者に提供するサービスに遅延等の影響を及ぼす可能性がある。
【００３７】
そこで、本実施の形態では、ＡＳＭ−ＶＭ３３Ａは、ロードバランサ５に対し、所定数のテストパケットを送信する。そして、ＬＢ−ＶＭ３１Ａは、所定数のテストパケットのうち、ロードバランサ５から振り分けられたテストパケットの数を取得する。その後、ＡＳＭ−ＶＭ３３Ａは、取得したテストパケットの数に基づき、ＡＰ−ＶＭ３２Ａの削除を行うか否かを判定するための閾値情報（以下、第１閾値情報とも呼ぶ）を更新し、ＡＰ−ＶＭ３２Ａの動作状態と第１閾値情報とに基づき、ＡＰ−ＶＭ３２Ａの削除を行う。
【００３８】
すなわち、ＡＳＭ−ＶＭ３３Ａは、テストパケットをロードバランサ５に送信することにより、そのテストパケットをロードバランサ５に振り分けさせる。その後、ＡＳＭ−ＶＭ３３Ａは、ロードバランサ５が振り分けたテストパケットのうち、ＬＢ−ＶＭ３１Ａに送信されたテストパケットの数を計測することで、ＡＰ−ＶＭ３２Ａが実行していた処理のうち、他の仮想マシン（例えば、ＡＰ−ＶＭ３２Ｂ）に切替えられた処理の割合を取得する。そして、ＡＳＭ−ＶＭ３３Ａは、他の仮想マシンに切替えられた処理の割合を反映させた第１閾値情報に基づき、ＡＰ−ＶＭ３２Ａの削除を行うか否かの判定を行う。
【００３９】
これにより、ＡＳＭ−ＶＭ３３Ａは、例えば、ＡＰ−ＶＭ３２Ａが実行していた処理の一部が他の仮想マシンに切替えられたことに伴って、ＡＰ−ＶＭ３２Ａの処理負荷が減少した場合であっても、ＡＰ−ＶＭ３２Ａの削除が行われることを抑制することができる。そのため、ＡＰ−ＶＭ３２Ａから他の仮想マシンに対して処理の一部が切替えられた後に、更新後のアプリケーションの不具合が発見された場合であっても、ＡＰ−ＶＭ３２Ａは、実行すべき処理を実行することが可能になる。そして、事業者は、利用者に提供するサービスへの影響を防ぐことが可能になる。
【００４０】
［情報処理システム１０のハードウエア構成］
次に、情報処理システム１０のハードウエア構成について説明する。図７は、物理マシン２Ａ及び物理マシン２Ｂのハードウエア構成を示す図である。
【００４１】
物理マシン２Ａは、プロセッサであるＣＰＵ２０１Ａと、メモリ２０２Ａと、外部インターフェース（Ｉ／Ｏユニット）２０３Ａと、記憶媒体２０４Ａとを有する。各部は、バス２０５Ａを介して互いに接続される。
【００４２】
記憶媒体２０４Ａは、例えば、記憶媒体２０４Ａ内のプログラム格納領域（図示しない）に、物理マシン２Ａにおいて新たな仮想マシン３の生成または既に生成された仮想マシン３の削除を行うための処理（以下、オートスケール処理とも呼ぶ）等を行うためのプログラム２１０Ａを記憶する。また、記憶媒体２０４Ａは、例えば、オートスケール処理を行う際に用いられる情報を記憶する情報格納領域２３０Ａ（以下、記憶部２３０Ａとも呼ぶ）を有する。
【００４３】
ＣＰＵ２０１Ａは、図７に示すように、プログラム２１０Ａの実行時に、プログラム２１０Ａを記憶媒体２０４Ａからメモリ２０２Ａにロードし、プログラム２１０Ａと協働してオートスケール処理を行う。また、外部インターフェース２０３Ａは、ＶＭ管理装置１やロードバランサ５と通信を行う。
【００４４】
また、物理マシン２Ｂは、プロセッサであるＣＰＵ２０１Ｂと、メモリ２０２Ｂと、外部インターフェース（Ｉ／Ｏユニット）２０３Ｂと、記憶媒体２０４Ｂとを有する。各部は、バス２０５Ｂを介して互いに接続される。
【００４５】
記憶媒体２０４Ｂは、例えば、記憶媒体２０４Ｂ内のプログラム格納領域（図示しない）に、オートスケール処理等を行うためのプログラム２１０Ｂを記憶する。また、記憶媒体２０４Ｂは、例えば、オートスケール処理を行う際に用いられる情報を記憶する情報格納領域２３０Ｂ（以下、記憶部２３０Ｂとも呼ぶ）を有する。
【００４６】
ＣＰＵ２０１Ｂは、図７に示すように、プログラム２１０Ｂの実行時に、プログラム２１０Ｂを記憶媒体２０４Ｂからメモリ２０２Ｂにロードし、プログラム２１０Ｂと協働してオートスケール処理を行う。また、外部インターフェース２０３Ｂは、ＶＭ管理装置１やロードバランサ５と通信を行う。
【００４７】
［情報処理システムの機能］
次に、情報処理システム１０の機能について説明する。図８は、物理マシン２Ａの機能のブロック図である。また、図９は、情報格納領域２３０Ａに記憶された情報のブロック図である。
【００４８】
物理マシン２ＡのＣＰＵ２０１Ａは、図８に示すように、プログラム２１０Ａと協働することにより、ＬＢ−ＶＭ３１Ａの機能として、例えば、パケット入出力部３１１Ａと、パケット振分部３１２Ａと、計測用パケット判定部３１３Ａとして動作する。また、物理マシン２ＡのＣＰＵ２０１Ａは、図８に示すように、プログラム２１０Ａと協働することにより、ＬＢ−ＶＭ３１Ａの機能として、例えば、カウント部３１４Ａと、情報書込み部３１５Ａと、情報読み出し部３１６Ａとして動作する。
【００４９】
そして、物理マシン２ＡのＣＰＵ２０１Ａは、図８に示すように、プログラム２１０Ａと協働することにより、ＡＳＭ−ＶＭ３３Ａの機能として、例えば、パケット入出力部３３１Ａと、増減処理判定部３３２Ａと、テストパケット作成部３３３Ａとして動作する。また、物理マシン２ＡのＣＰＵ２０１Ａは、図８に示すように、プログラム２１０Ａと協働することにより、ＡＳＭ−ＶＭ３３Ａの機能として、例えば、情報要求パケット作成部３３４Ａと、増減処理制御部３３５Ａと、システム状態判定部３３６Ａとして動作する。
【００５０】
情報格納領域２３０Ａには、図９に示すように、ＬＢ−ＶＭ３１Ａが参照する情報として、例えば、カレントカウント情報３２１Ａと、カウント管理情報３２２Ａとが記憶されている。
【００５１】
そして、情報格納領域２３０Ａには、図９に示すように、ＡＳＭ−ＶＭ３３Ａが参照する情報として、例えば、配備数管理情報３４１Ａと、状態管理情報３４２Ａと、運用手順管理情報３４３Ａとが記憶されている。また、情報格納領域２３０Ａには、図９に示すように、ＡＳＭ−ＶＭ３３Ａが参照する情報として、例えば、計測比率管理情報３４４Ａと、テストパケット管理情報３４５Ａと、システム状態管理情報３４６Ａとが記憶されている。
【００５２】
初めに、ＬＢ−ＶＭ３１Ａの機能について説明を行う。パケット入出力部３１１Ａは、ロードバランサ５やＡＰ−ＶＭ３２Ａ等との間でパケットの送受信を行う。
【００５３】
パケット振分部３１２Ａは、ロードバランサ５によって振り分けられたパケット（パケット入出力部３１１Ａによって受信されたパケット）を、各ＡＰ−ＶＭ３２Ａにそれぞれ振り分ける。そして、パケット振分部３１２Ａは、パケット入出力部３１１Ａに、振り分けたパケットの送信を指示する。パケット振分部３１２Ａは、例えば、ロードバランサ５によって振り分けられたパケットを、各ＡＰ−ＶＭ３２Ａに対して均等に振り分けるものであってよい。
【００５４】
計測用パケット判定部３１３Ａは、ロードバランサ５から送信されたパケットが計測用パケットであるか否かを判定する。計測用パケットは、ＡＰ−ＶＭ３２Ａの処理割り当てを計測するためのパケットである。具体的に、計測用パケットには、ＡＰ−ＶＭ３２Ａの処理割り当てを計測するために、ＡＳＭ−ＶＭ３３Ａがロードバランサ５に送信するテストパケットが含まれる。また、計測用パケットには、ＡＰ−ＶＭ３２Ａの処理割り当てを計測するための情報を取得するために、ＡＳＭ−ＶＭ３３ＡがＬＢ−ＶＭ３１Ａに送信する情報要求パケットが含まれる。
【００５５】
カウント部３１４Ａは、ロードバランサ５から送信されたパケットがテストパケットである場合、カレントカウント情報３２１Ａが示す値をカウントアップする。カレントカウント情報３２１Ａの具体例については後述する。
【００５６】
情報書込み部３１５Ａは、ＡＳＭ−ＶＭ３３Ａから情報要求パケットを受信した場合に、カレントカウント情報３２１Ａが示す値と現在時刻とをカウント管理情報３２２Ａに書き込む。
【００５７】
情報読み出し部３１６Ａは、ＡＳＭ−ＶＭ３３Ａから情報要求パケットを受信した場合に、カウント管理情報３２２Ａから最新時刻に対応するパケット数を読み出し、情報要求パケットの返信パケットを作成する。そして、情報読み出し部３１６Ａは、パケット入出力部３１１Ａに、返信パケットの送信を指示する。
【００５８】
次に、ＡＳＭ−ＶＭ３３Ａの機能について説明を行う。パケット入出力部３３１Ａは、ロードバランサ５やＬＢ−ＶＭ３１Ａ等との間でパケットの送受信を行う。
【００５９】
増減処理判定部３３２Ａは、配備数管理情報３４１Ａ、状態管理情報３４２Ａ及び運用手順管理情報３４３Ａに基づき、新たなＡＰ−ＶＭ３２Ａの生成または既存のＡＰ−ＶＭ３２Ａの削除を行うか否かの判定を行う。
【００６０】
テストパケット作成部３３３Ａは、例えば、増減処理判定部３３２ＡがＡＰ−ＶＭ３２Ａの削除を行う旨の判定を行った場合に、テストパケットを作成する。そして、テストパケット作成部３３３Ａは、パケット入出力部３３１Ａに、テストパケットの送信を指示する。
【００６１】
情報要求パケット作成部３３４Ａは、テストパケットをロードバランサ５に送信した後、所定時間（例えば、１０秒）が経過した場合に、情報要求パケットを作成する。そして、情報要求パケット作成部３３４Ａは、パケット入出力部３３１Ａに、情報要求パケットの送信を指示する。
【００６２】
増減処理制御部３３５Ａは、増減処理判定部３３２Ａが新たなＡＰ−ＶＭ３２Ａの生成を行う旨の判定を行った場合、パケット入出力部３１１Ａに、新たなＡＰ−ＶＭ３２Ａの生成を指示するパケット（以下、ＶＭ生成指示パケットとも呼ぶ）の送信を指示する。
【００６３】
また、増減処理制御部３３５Ａは、増減処理判定部３３２Ａが既存のＡＰ−ＶＭ３２Ａの削除を行う旨の判定を行った場合、テストパケット及び情報要求パケットの送信結果に基づいて既存のＡＰ−ＶＭ３２Ａの削除を行うか否かの判定を行う計測比率確認処理を実行する。計測比率確認処理について後述する。そして、増減処理制御部３３５Ａは、計測比率確認処理において既存のＡＰ−ＶＭ３２Ａの削除を行う旨の判定を行った場合、パケット入出力部３３１Ａに、既存のＡＰ−ＶＭ３２Ａの削除を指示するパケット（以下、ＶＭ削除指示パケット）の送信を指示する。
【００６４】
システム状態判定部３３６Ａは、処理の切り替えが現在行われている状態であって、ＡＰ−ＶＭ３２Ａが他の仮想マシンの処理の切り替え先の仮想マシンであるか否かを判定する。
【００６５】
計測比率管理情報３４４Ａ、テストパケット管理情報３４５Ａ及びシステム状態管理情報３４６Ａについては後述する。
【００６６】
なお、以下、運用手順管理情報３４３Ａは、既存のＡＰ−ＶＭ３２Ａの削除を行うか否かを判定するための第１閾値情報ＴＳ１と、新たなＡＰ−ＶＭ３２Ａの生成を行うか否かを判定するための第２閾値情報ＴＳ２とを含むものとして説明を行う。
【００６７】
また、以下、物理マシン２ＢのＣＰＵ２０１Ｂが、プログラム２１０Ｂと協働することにより、物理マシン２ＡのＣＰＵ２０１Ａと同じように動作するものとして説明を行う。また、情報格納領域２３０Ｂには、情報格納領域２３０Ａに記憶されている情報と同じ情報が記憶されているものとして説明を行う。
【００６８】
［第１の実施の形態］
次に、第１の実施の形態について説明する。図１０は、第１の実施の形態におけるオートスケール処理の概略を示すフローチャート図である。また、図１１は、第１の実施の形態におけるオートスケール処理の概略を説明する図である。図１１を参照しながら図１０のオートスケール処理の概略について説明する。
【００６９】
なお、図１０に示すフローチャート図では、物理マシン２Ａにおいて既に生成されたＡＰ−ＶＭ３２Ａの削除が行われる場合のオートスケール処理について説明を行う。また、図１１においては、図２等と異なる点のみ説明を行う。
【００７０】
ＡＳＭ−ＶＭ３３Ａは、初めに、テストパケットを送信するタイミング（以下、テストパケット送信タイミングとも呼ぶ）まで待機する（Ｓ１のＮＯ）。テストパケット送信タイミングは、例えば、既存のＡＰ−ＶＭ３２Ａの削除を行うか否かの判定を行うタイミングであってよい。
【００７１】
そして、テストパケット送信タイミングになった場合（Ｓ１のＹＥＳ）、ＡＳＭ−ＶＭ３３Ａは、図１１に示すように、ロードバランサ５に対して、所定数のテストパケットを送信する（Ｓ２）。すなわち、ＡＳＭ−ＶＭ３３Ａは、ロードバランサ５に、所定数のテストパケットを複数のグループ（例えば、第１グループ及び第２グループを含む複数のグループ）に向けて送信させる。
【００７２】
その後、ＬＢ−ＶＭ３１Ａは、図１１に示すように、第１グループがロードバランサ５から受信したテストパケットの数を取得する（Ｓ３）。そして、ＡＳＭ−ＶＭ３３Ａは、Ｓ３の処理で取得したテストパケットの数に基づき、ＡＰ−ＶＭ３２Ａの削除を行うか否かを判定するための第１閾値情報ＴＳ１を更新する（Ｓ４）。さらに、ＡＳＭ−ＶＭ３３Ａは、ＡＰ−ＶＭ３２Ａの動作状態と、Ｓ４の処理で更新した第１閾値情報ＴＳ１とに基づき、ＡＰ−ＶＭ３２Ａの削除を行う（Ｓ５）。
【００７３】
すなわち、利用者に対してサービスを提供するための処理を第１グループに含まれるＡＰ−ＶＭ３２Ａのみが実行している場合、ロードバランサ５が送信した所定数のテストパケットは、全て第１グループに送信される。そのため、第１グループが所定数のテストパケットの全てを受信することができなくなった場合、ＡＳＭ−ＶＭ３３Ａは、利用者に対してサービスを提供するための処理の一部が、他のグループ（例えば、第２グループ）に切替えられたと判定することが可能になる。
【００７４】
これにより、事業者は、ロードバランサ５を他の事業者が管理している場合等、ロードバランサ５が各グループに対してパケットを振り分ける割合の情報を取得できない場合であっても、ロードバランサ５が自グループにパケットを振り分ける割合を取得することが可能になる。
【００７５】
そして、ＡＳＭ−ＶＭ３３Ａは、ＡＰ−ＶＭ３２Ａの処理負荷が低下した場合であっても、その処理負荷の低下が処理の切り替えに伴うものである場合には、削除されるＡＰ−ＶＭ３２Ａの台数が抑制されるように、第１閾値情報ＴＳ１を更新する。
【００７６】
これにより、ＡＰ−ＶＭ３２Ａは、ＡＰ−ＶＭ３２Ａから他の仮想マシン（例えば、ＡＰ−ＶＭ３２Ｂ）に対して処理の一部が切替えられた後に、更新後のアプリケーションの異常が発見された場合であっても、実行すべき処理を実行することが可能になる。そのため、事業者は、利用者に提供するサービスへの影響を防ぐことが可能になる。
【００７７】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図１２から図１７は、第１の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。また、図１８から図２９は、第１の実施の形態におけるオートスケール処理の詳細を説明する図である。図１８から図２９を参照しながら、図１２から図１７のオートスケール処理の詳細を説明する。なお、以下、物理マシン２Ａにおいて実行されるオートスケール処理について説明を行う。
【００７８】
［ＬＢ−ＶＭ３１Ａでの処理］
初めに、ＬＢ−ＶＭ３１Ａにおけるオートスケール処理について説明を行う。ＬＢ−ＶＭ３１Ａのパケット入出力部３１１Ａは、ロードバランサ５が振り分けたパケットを受信するまで待機する（Ｓ１１のＮＯ）。そして、パケットを受信した場合（Ｓ１１のＹＥＳ）、ＬＢ−ＶＭ３１Ａの計測用パケット判定部３１３Ａは、パケット入出力部３１１Ａが受信したパケットが計測用パケットであるか否かを判定する（Ｓ１２）。
【００７９】
その結果、受信したパケットが計測用パケットでない場合（Ｓ１２のＮＯ）、ＬＢ−ＶＭ３１Ａのパケット振分部３１２Ａは、Ｓ１１の処理で受信したパケットの宛先を決定する（Ｓ１３）。
【００８０】
すなわち、パケット入出力部３１１Ａが受信したパケットが計測用パケットでない場合、その受信したパケットは、利用者がサービスの提供を受けるために利用者端末１１を介して送信したパケット（以下、処理要求パケットとも呼ぶ）である。そのため、パケット振分部３１２Ａは、この場合、受信した処理要求パケットの宛先を、ＡＰ−ＶＭ３２Ａのうちのいずれかの仮想マシンに決定する。
【００８１】
具体的に、パケット振分部３１２Ａは、この場合、各ＡＰ−ＶＭ３２Ａのうち、処理リソース（ＣＰＵの稼働率やメモリの使用量）に余裕のある仮想マシンを、処理要求パケットの宛先として決定するものであってよい。これにより、パケット振分部３１２Ａは、各ＡＰ−ＶＭ３２Ａに対し、それぞれの処理能力に応じた処理量を実行させることが可能になる。
【００８２】
そして、パケット入出力部３１１Ａは、Ｓ１１の処理で受信したパケット（処理要求パケット）を、Ｓ１３の処理で決定したＡＰ−ＶＭ３２Ａに送信する（Ｓ１４）。その後、パケット入出力部３１１Ａは、ロードバランサ５から次のパケットを受信するまで待機する（Ｓ１１のＮＯ）。
【００８３】
一方、Ｓ１１の処理で受信したパケットが計測用パケットである場合（Ｓ１２のＹＥＳ）、ＬＢ−ＶＭ３１Ａの計測用パケット判定部３１３Ａは、受信した計測用パケットの宛先が自グループであるか否かを判定する（Ｓ１５）。その結果、受信した計測用パケットの宛先が自グループである場合（Ｓ１５のＹＥＳ）、受信した計測用パケットが情報要求パケットであるか否かを判定する（Ｓ１６）。
【００８４】
そして、受信した計測用パケットが情報要求パケットでない場合、すなわち、受信した計測用パケットがテストパケットである場合（Ｓ１６のＮＯ）、カウント部３１４Ａは、カレントカウント情報３２１Ａのパケット数をカウントアップする（Ｓ１７）。カレントカウント情報３２１Ａは、パケット入出力部３１１Ａが受信したテストパケットの数を示す情報である。以下、カレントカウント情報３２１Ａの具体例について説明を行う。
【００８５】
［カレントカウント情報の具体例］
図１８は、カレントカウント情報３２１Ａの具体例を説明する図である。図１８に示すカレントカウント情報３２１Ａは、カレントカウント情報３２１Ａに含まれる各情報を識別する「項番」と、パケット入出力部３１１Ａが受信したテストパケットの数が設定される「パケット数」とを項目として有する。
【００８６】
具体的に、図１８に示すカレントカウント情報３２１Ａにおいて、「項番」が「１」である情報の「パケット数」には「５５」が設定されている。そして、図１８に示すカレントカウント情報３２１Ａにおいて、例えば、パケット入出力部３１１Ａが新たなテストパケットを受信した場合、「項番」が「１」である情報の「パケット数」には、「５６」が設定される。
【００８７】
図１２に戻り、Ｓ１７の処理の後、または、Ｓ１１の処理で受信した計測用パケットの宛先が自グループでない場合（Ｓ１５のＮＯ）、計測用パケット判定部３１３Ａは、Ｓ１１で受信した計測用パケットを破棄する（Ｓ１８）。すなわち、Ｓ１１の処理で受信した計測用パケットの宛先が自グループ以外のグループである場合（Ｓ１５のＮＯ）、ＬＢ−ＶＭ３１Ａでは、受信した計測用パケットに基づく処理を行う必要がない。また、Ｓ１１で受信した計測用パケットが第１グループ宛てのテストパケットである場合において、Ｓ１７の処理を実行した場合、受信したテストパケットを保存しておく必要はなくなる。そのため、これらの場合、計測用パケット判定部３１３Ａは、Ｓ１１で受信した計測用パケットの破棄を行う（Ｓ１８）。その後、パケット入出力部３１１Ａは、ロードバランサ５から次のパケットを受信するまで待機する（Ｓ１１のＮＯ）。
【００８８】
また、Ｓ１１の処理で受信した計測用パケットが情報要求パケットである場合（Ｓ１６のＹＥＳ）、ＬＢ−ＶＭ３１Ａのデータ書き込み部３１５Ａは、図１３に示すように、カレントカウント情報３２１Ａのパケット数及び現在時刻に基づき、カウント管理情報３２２Ａを更新する（Ｓ２１）。カウント管理情報３２２Ａは、パケット入出力部３１１Ａが情報要求パケットを受信した際に、カレントカウント情報３２１Ａに設定されていたパケット数を示す情報である。その後、データ書き込み部３１５Ａは、カレントカウント情報３２１Ａのパケット数に「０」を設定する（Ｓ２２）。以下、カウント管理情報３２２Ａの具体例について説明を行う。
【００８９】
［カウント管理情報の具体例］
図１９及び図２０は、カウント管理情報３２２Ａの具体例を説明する図である。図１９及び図２０に示すカウント管理情報３２２Ａは、カウント管理情報３２２Ａに含まれる各情報を識別する「項番」と、カウント管理情報３２２Ａに情報を設定した時刻を示す「時刻」とを項目として有する。また、図１９に示すカウント管理情報３２２Ａは、パケット入出力部３１１Ａが情報要求パケットを受信した際に、カレントカウント情報３２１Ａに設定されていたパケット数を示す「パケット数」を項目として有する。
【００９０】
具体的に、図１９に示すカウント管理情報３２２Ａにおいて、「項番」が「１」である情報には、「時刻」として「２０１５／１２／１２  １０：０７：３０」が設定されており、「パケット数」として「１００」が設定されている。また、「項番」が「２」である情報には、「時刻」として「２０１５／１２／１２  １０：１２：３０」が設定されており、「パケット数」として「１００」が設定されている。さらに、「項番」が「３」である情報には、「時刻」として「２０１５／１２／１２  １０：１７：３０」が設定されており、「パケット数」として「７０」が設定されている。図１９の他の情報については説明を省略する。
【００９１】
すなわち、図１９に示すカウント管理情報３２２Ａの「項番」が「２」である情報は、２０１５年１２月１２日１０時７分３０秒から１０時１２分３０秒までの間に、ＬＢ−ＶＭ３１Ａが１００個のテストパケットを受信したことを示している。そのため、２０１５年１２月１２日１０時７分３０秒から１０時１２分３０秒までの間に、ロードバランサ５が送信したテストパケットが１００個であった場合、ＡＳＭ−ＶＭ３３Ａは、ロードバランサ５が送信したテストパケットの全てが第１グループに送信されたものと判定できる。したがって、ＡＳＭ−ＶＭ３３Ａは、この場合、ＡＰ−ＶＭ３２Ａが実行していた処理が、他のグル―プの仮想マシン（例えば、ＡＰ−ＶＭ３２Ｂ）に切替えられていないものと判定することが可能になる。
【００９２】
一方、図１９に示すカウント管理情報３２２Ａの「項番」が「３」である情報は、２０１５年１２月１２日１０時１２分３０秒から１０時１７分３０秒までの間に、ＬＢ−ＶＭ３１Ａが７０個のテストパケットを受信したことを示している。そのため、２０１５年１２月１２日１０時１２分３０秒から１０時１７分３０秒までの間に、ロードバランサ５が送信したテストパケットが１００個であった場合、ＡＳＭ−ＶＭ３３Ａは、ロードバランサ５が送信したテストパケットの全てが第１グループに送信されていないものと判定できる。したがって、ＡＳＭ−ＶＭ３３Ａは、この場合、ＡＰ−ＶＭ３２Ａが実行していた処理の一部が、他のグループの仮想マシン（例えば、ＡＰ−ＶＭ３２Ｂ）に切替えられているものと判定することが可能になる。
【００９３】
そして、図１８に示すカレントカウント情報３２１Ａにおける「項番」が「１」である情報の「パケット数」には「５５」が設定されている。そのため、データ書き込み部３１５Ａは、図２０の下線部分に示すように、「項番」が「８」である情報として、「時刻」に現在の時刻である「２０１５／１２／１２  １０：３７：１３」を設定する。そして、データ書き込み部３１５Ａは、図２０の下線部分に示すように、「項番」が「８」である情報として、「パケット数」に、図１８に示すカレントカウント情報３２１Ａにおける「項番」が「１」である情報の「パケット数」に設定されている「５５」を設定する。
【００９４】
図１３に戻り、Ｓ２２の処理の後、データ書き込み部３１５Ａは、カウント管理情報３２２Ａの最新時刻に対応するパケット数に基づき、返信パケットを作成する（Ｓ２３）。
【００９５】
具体的に、図２０に示すカウント管理情報３２２Ａにおける最新時刻は、「項番」が「８」である情報の「時刻」に設定された「２０１５／１２／１２  １０：３７：１３」である。そのため、データ書き込み部３１５Ａは、図２０に示すカウント管理情報３２２Ａにおける「項番」が「８」である情報の「パケット数」に設定された「５５」を示す情報を含むように、返信パケットを作成する。
【００９６】
そして、パケット入出力部３１１Ａは、Ｓ２３の処理でデータ書き込み部３１５Ａが作成した返信パケットを、ＡＳＭ−ＶＭ３３Ａに送信する（Ｓ２４）。その後、パケット入出力部３１１Ａは、ロードバランサ５から次のパケットを受信するまで待機する（Ｓ１１のＮＯ）。
【００９７】
［ＡＳＭ−ＶＭ３３Ａでの処理］
次に、ＡＳＭ−ＶＭ３３Ａにおけるオートスケール処理について説明を行う。ＡＳＭ−ＶＭ３３Ａのパケット入出力部３３１Ａは、図１４に示すように、ＡＰ−ＶＭ３２Ａからアラーム通知を受信するまで待機する（Ｓ３１のＮＯ）。アラーム通知は、各ＡＰ−ＶＭ３２Ａの動作状態を示す値が予め定めた基準を超えた場合に、各ＡＰ−ＶＭ３２ＡがＡＳＭ−ＶＭ３３Ａに対して送信する通知である。具体的に、各ＡＰ−ＶＭ３２Ａは、動作状態を示す値（例えば、ＣＰＵの稼働率やメモリの使用率）が第１閾値ＴＳ１以下になった場合に、ＡＳＭ−ＶＭ３３Ａに対してアラーム通知（以下、この場合のアラーム通知をアラーム下限通知または下限通知とも呼ぶ）を送信する。また、各ＡＰ−ＶＭ３２Ａは、動作状態を示す値が第２閾値ＴＳ２以上になった場合に、ＡＳＭ−ＶＭ３３Ａに対してアラーム通知（以下、この場合のアラーム通知をアラーム上限通知または上限通知とも呼ぶ）を送信する。さらに、各ＡＰ−ＶＭ３２Ａは、動作状態が第１閾値ＴＳ１以下の状態から第１閾値ＴＳ１を上回る状態になった場合や、動作状態が第２閾値ＴＳ２以上の状態から第２閾値ＴＳ２を下回る状態になった場合に、ＡＳＭ−ＶＭ３３Ａに対してアラーム通知（以下、この場合のアラーム通知をアラーム通常通知または通常通知とも呼ぶ）を送信する。アラーム通知の具体例については後述する。
【００９８】
そして、パケット入出力部３３１ＡがＡＰ−ＶＭ３２Ａからアラーム通知を受信した場合（Ｓ３１のＹＥＳ）、ＡＳＭ−ＶＭ３３Ａの増減処理制御部３３５Ａは、Ｓ３１の処理で受信したアラーム通知を状態管理情報３４２Ａの対象リソース状態に設定する（Ｓ３２）。状態管理情報３４２Ａは、各ＡＰ−ＶＭ３２Ａの動作状態を設定する情報である。以下、状態管理情報３４２Ａの具体例について説明を行う。なお、以下、ＡＰ−ＶＭ３２Ａとして、５台の仮想マシン（ＡＰ−ＶＭ３２Ａ（１）、ＡＰ−ＶＭ３２Ａ（２）、ＡＰ−ＶＭ３２Ａ（３）、ＡＰ−ＶＭ３２Ａ（４）及びＡＰ−ＶＭ３２Ａ（５））が存在するものとして説明を行う。
【００９９】
［状態管理情報の具体例］
図２１及び図２２は、状態管理情報３４２Ａの具体例を説明する図である。図２１及び図２２に示す状態管理情報３４２Ａは、状態管理情報３４２Ａに含まれる各情報を識別する「項番」と、各ＡＰ−ＶＭ３２Ａを識別する「対象リソース名」と、各ＡＰ−ＶＭ３２Ａの状態を示す「対象リソース状態」とを項目として有する。「対象リソース状態」には、ＡＰ−ＶＭ３２Ａの動作状態を示す値が第１閾値ＴＳ１以下になっていることを示す「アラーム下限」と、ＡＰ−ＶＭ３２Ａの動作状態を示す値が第２閾値ＴＳ２以上になっていることを示す「アラーム上限」とが設定される。また、「対象リソース状態」には、ＡＰ−ＶＭ３２Ａの動作状態を示す値が第１閾値ＴＳ１以下にも第２閾値ＴＳ２以上にもなっていないことを示す「通常」が設定される。
【０１００】
具体的に、図２１に示す状態管理情報３４２Ａにおける「項番」が「１」である情報において、「対象リソース名」には「ＡＰ−ＶＭ３２Ａ（１）」が設定され、「対象リソース状態」には「通常」が設定されている。
【０１０１】
そして、例えば、パケット入出力部３３１ＡがＡＰ−ＶＭ３２Ａ（４）から送信されたアラーム下限通知を受信した場合（Ｓ３１のＹＥＳ）、増減処理制御部３３５Ａは、図２２の下線部分に示すように、「対象リソース名」が「ＡＰ−ＶＭ３２Ａ（４）」である情報の「対象リソース状態」に「アラーム下限」を設定する。
【０１０２】
図１４に戻り、増減処理判定部３３２Ａは、Ｓ３１の処理においてパケット入出力部３３１Ａが受信したアラーム通知の種別を判定する（Ｓ３３）。そして、受信したアラーム通知がアラーム上限通知である場合（Ｓ３３の上限通知）、増減処理判定部３３２Ａは、各ＡＰ−ＶＭ３２Ａが新たな仮想マシンを生成する条件を満たしているか否かを判定する（Ｓ３４）。具体的に、増減処理判定部３３２Ａは、この場合、状態管理情報３４２Ａを参照する。そして、増減処理判定部３３２Ａは、「対象リソース状態」の全てに「アラーム上限」が設定されている場合、各ＡＰ−ＶＭ３２Ａが仮想マシンを生成する条件を満たしていると判定する。
【０１０３】
なお、増減処理判定部３３２Ａは、Ｓ３４の処理において、物理マシン２Ａに配備可能な仮想マシンの数を示す配備数管理情報３４１Ａを参照するものであってよい。そして、物理マシン２Ａに新たな仮想マシンを作成しても、物理マシン２Ａに配備可能な仮想マシンの最大配備数以上にならない場合に、各ＡＰ−ＶＭ３２Ａが仮想マシンを生成する条件を満たしていると判定するものであってもよい。以下、配備数管理情報３４１Ａの具体例について説明を行う。
【０１０４】
［配備数管理情報の具体例］
図２３は、配備数管理情報３４１Ａの具体例を説明する図である。図２３に示す配備数管理情報３４１Ａは、配備数管理情報３４１Ａに含まれる各情報を識別する「項番」と、物理マシン２Ａにおける仮想マシンの初期配備数を示す「初期配備数」と、最小配備数を示す「最小配備数」と、最大配備数を示す「最大配備数」を項目として有する。
【０１０５】
具体的に、図２３に示す配備数管理情報３４１Ａにおいて、「項番」が「１」である情報には、「初期配備数」として「１（台）」が設定されており、「最小配備数」として「１（台）」が設定されており、「最大配備数」として「４０（台）」が設定されている。
【０１０６】
すなわち、物理マシン２Ａに既に４０（台）の仮想マシンが配備されている場合、増減処理判定部３３２Ａは、状態管理情報３４２Ａにおける「対象リソース状態」の全てに「アラーム上限」が設定されている場合であっても、仮想マシンを生成する条件を満たしていないと判定するものであってよい。
【０１０７】
図１４に戻り、各ＡＰ−ＶＭ３２Ａが仮想マシンを生成する条件を満たしていると判定した場合（Ｓ３４のＹＥＳ）、パケット入出力部３３１Ａは、ＶＭ管理装置１に対し、新たなＡＰ−ＶＭ３２Ａの生成を指示する（Ｓ３５）。その後、ＶＭ管理装置１は、新たなＡＰ−ＶＭ３２Ａの生成に伴う処理（例えば、新たなＡＰ−ＶＭ３２Ａの生成、新たなＡＰ−ＶＭ３２Ａの起動、新たなＡＰ−ＶＭ３２Ａに対するアプリケーションのインストール、及びＬＢ−ＶＭ３１Ａの設定等）を実行する。なお、各ＡＰ−ＶＭ３２Ａが仮想マシンを生成する条件を満たしていないと判定した場合（Ｓ３４のＮＯ）、Ｓ３５の処理を実行しない。
【０１０８】
そして、Ｓ３４の処理において、各ＡＰ−ＶＭ３２Ａが仮想マシンを生成する条件を満たしていないと判定した場合（Ｓ３４のＮＯ）、または、Ｓ３５の処理の後、パケット入出力部３１１Ａは、各ＡＰ−ＶＭ３２Ａから次にアラーム通知を受信するまで待機する（Ｓ３１のＮＯ）。同様に、Ｓ３３の処理において、受信したアラーム通知がアラーム通常通知である場合（Ｓ３３の通常通知）、パケット入出力部３１１Ａは、各ＡＰ−ＶＭ３２Ａから次にアラーム通知を受信するまで待機する（Ｓ３１のＮＯ）。
【０１０９】
一方、Ｓ３３の処理において、受信したアラーム通知がアラーム下限通知である場合（Ｓ３３の下限通知）、増減処理判定部３３２Ａは、各ＡＰ−ＶＭ３２Ａが仮想マシンを削除する条件を満たしているか否かを判定する（Ｓ３６）。具体的に、増減処理判定部３３２Ａは、状態管理情報３４２Ａを参照し、「対象リソース状態」の全てに「アラーム下限」が設定されている場合、各ＡＰ−ＶＭ３２Ａが仮想マシンを生成する条件を満たしていると判定する。
【０１１０】
なお、増減処理判定部３３２Ａは、Ｓ３６の処理において、物理マシン２Ａに配備可能な仮想マシンの数を示す配備数管理情報３４１Ａを参照するものであってよい。そして、物理マシン２Ａに配備されている仮想マシンの削除を行っても、物理マシン２Ａに配備可能な仮想マシンの最小配備数以下にならない場合に、各ＡＰ−ＶＭ３２Ａが仮想マシンを削除する条件を満たしていると判定するものであってもよい。
【０１１１】
すなわち、物理マシン２Ａに１（台）の仮想マシンのみが配備されている場合、増減処理判定部３３２Ａは、状態管理情報３４２Ａにおける「対象リソース状態」の全てに「アラーム下限」が設定されている場合であっても、仮想マシンを削除する条件を満たしていないと判定するものであってよい。
【０１１２】
そして、Ｓ３６の処理において、各ＡＰ−ＶＭ３２Ａが仮想マシンを削除する条件を満たしていないと判定した場合（Ｓ３６のＮＯ）、パケット入出力部３１１Ａは、各ＡＰ−ＶＭ３２Ａから次にアラーム通知を受信するまで待機する（Ｓ３１のＮＯ）。
【０１１３】
一方、各ＡＰ−ＶＭ３２Ａが仮想マシンを削除する条件を満たしていると判定した場合（Ｓ３６のＹＥＳ）、増減処理制御部３３５Ａは、図１５に示すように、計測比率確認処理が実行中であるか否かを判定する（Ｓ４１）。計測比率確認処理は、ＡＰ−ＶＭ３２Ａの動作状態に応じて第１閾値ＴＳ１及び第２閾値ＴＳ２を更新する処理である。計測比率確認処理の詳細については後述する。
【０１１４】
その結果、計測比率確認処理が実行中であると判定した場合（Ｓ４１のＹＥＳ）、増減処理制御部３３５Ａは、実行中の計測比率確認処理を終了する（Ｓ４２）。そして、パケット入出力部３３１Ａは、ＬＢ−ＶＭ３１Ａに情報要求パケットを送信する（Ｓ４３）。具体的に、情報要求パケット作成部３３４Ａは、Ｓ４３の処理において、情報要求パケットを作成する。そして、パケット入出力部３３１Ａは、情報要求パケット作成部３３４Ａが作成した情報要求パケットを送信する。
【０１１５】
すなわち、後述するように、ＡＰ−ＶＭ３２Ａの現在の動作状態に基づく計測比率確認処理が新たに実行される。そのため、増減処理制御部３３５Ａは、Ｓ４２の処理において、実行中であった計測比率確認処理を終了する。
【０１１６】
また、増減処理制御部３３５Ａは、Ｓ４３の処理において、ＬＢ−ＶＭ３１Ａに情報要求パケットを送信することにより、カレントカウント情報３２１Ａのパケット数を「０」に設定させる（Ｓ２２）。これにより、増減処理制御部３３５Ａは、カウント部３１４Ａに、新たに実行される計測比率確認処理において送信されるテストパケットのうち、パケット入出力部３１１Ａが受信するテストパケットの数をカウントさせることが可能になる。
【０１１７】
なお、情報要求パケット作成部３３４Ａは、ＬＢ−ＶＭ３１Ａが情報要求パケットと他のパケットとを識別することができるように情報要求パケットを作成する。具体的に、情報要求パケット作成部３３４Ａは、例えば、そのパケットが情報要求パケットであることを示す識別情報を含むように情報要求パケットの作成を行う。
【０１１８】
そして、計測比率確認処理が実行されていなかった場合（Ｓ４１のＮＯ）、または、Ｓ４２の処理が実行された後、増減処理制御部３３５Ａは、計測比率確認処理の実行を開始する（Ｓ４４）。以下、計測比率確認処理の詳細について説明を行う。なお、計測比率確認処理は、増減処理判定部３３２Ａが仮想マシンを削除する条件を満たしていると判定した場合以外にも、定期的な時間間隔（例えば、５分間隔）で実行されるものであってもよい。
【０１１９】
［計測比率確認処理の詳細］
パケット入出力部３３１Ａは、Ｓ５１の処理でテストパケット作成部３３３Ａが作成した計測用パケットを、ロードバランサ５に送信する（Ｓ５１）。具体的に、テストパケット作成部３３３Ａは、Ｓ５１の処理において、テストパケットを作成する。そして、パケット入出力部３３１Ａは、テストパケット作成部３３３Ａが作成したテストパケットを送信する。
【０１２０】
なお、テストパケット作成部３３３Ａは、ＬＢ−ＶＭ３１Ａがテストパケットと他のパケットとを識別することができるようにテストパケットを作成する。具体的に、テストパケット作成部３３３Ａは、そのパケットがテストパケットであることを示す識別情報を含むようにテストパケットの作成を行う。
【０１２１】
また、テストパケット作成部３３３Ａは、例えば、計測パケットの作成数や送信タイミングに関する情報であるテストパケット管理情報３４５Ａを参照し、テストパケットを作成する。以下、テストパケット管理情報３４５Ａの具体例について説明を行う。
【０１２２】
［テストパケット管理情報の具体例］
図２４は、テストパケット管理情報３４５Ａの具体例を説明する図である。図２４に示すテストパケット管理情報３４５Ａは、テストパケット管理情報３４５Ａに含まれる各情報を識別する「項番」と、増減処理判定部３３２Ａが仮想マシンを削除する条件を満たしていると判定した場合以外に、計測比率確認処理を実行する間隔を設定する「計測間隔」とを項目として有する。また、図２４に示すテストパケット管理情報３４５Ａは、計測比率確認処理を実行する毎に作成するテストパケットの数を示す「テストパケット数」と、ＡＳＭ−ＶＭ３３Ａがロードバランサ５に対して各テストパケットを送信する時間間隔を示す「送信間隔」とを項目として有する。
【０１２３】
具体的に、図２４に示すテストパケット管理情報３４５Ａにおいて、「項番」が「１」である情報には、「計測間隔」として「５（分）」が設定され、テストパケット数として「１００（個）」が設定され、「送信間隔」として「０．２（秒）」が設定されている。
【０１２４】
そのため、テストパケット作成部３３３Ａは、例えば、Ｓ５１の処理において、図２４に示すテストパケット管理情報３４５Ａにおける「項番」が「１」である情報の「テストパケット数」に設定された「１００（個）」を参照し、１００（個）のテストパケットを作成する。
【０１２５】
また、図２４に示すテストパケット管理情報３４５Ａにおける「項番」が「１」である情報の「送信間隔」には、「０．２（秒）」が設定されている。そのため、パケット入出力部３３１Ａは、この場合、Ｓ５１の処理でテストパケット作成部３３３Ａが作成した１００（個）のテストパケットを、０．２（秒）間隔で送信する。
【０１２６】
図１６に戻り、パケット入出力部３３１Ａは、Ｓ５１の処理の所定時間経過後、Ｓ５１の処理でテストパケット作成部３３３Ａが作成した情報要求パケットをＡＳＭ−ＶＭ３３Ａに送信する（Ｓ５２）。具体的に、パケット入出力部３３１Ａは、例えば、Ｓ５１の処理においてテストパケットの送信を行った後、１０（秒）が経過してから情報要求パケットの送信を行う。
【０１２７】
その後、増減処理制御部３３５Ａは、ＬＢ−ＶＭ３１Ａから返信パケットを受信するまで待機する（Ｓ５３のＮＯ）。そして、ＬＢ−ＶＭ３１Ａから返信パケットを受信した場合（Ｓ５３のＹＥＳ）、増減処理制御部３３５Ａは、Ｓ５３の処理で受信した返信パケットの内容に基づき、計測比率を算出する（Ｓ５４）。計測比率は、ＡＳＭ−ＶＭ３３Ａがロードバランサ５に送信したテストパケットの数に対する、ＬＢ−ＶＭ３１Ａがロードバランサ５から受信したテストパケットの数の割合である。
【０１２８】
具体的に、図２０に示すカウント管理情報３２２Ａにおける「項番」が「８」である情報（「時刻」に設定された時刻が最も新しい時刻である情報）の「パケット数」には、「５５（個）」が設定されている。そのため、ＬＢ−ＶＭ３１Ａのデータ書き込み部３１５Ａは、この場合、ＬＢ−ＶＭ３１Ａがロードバランサ５から受信したテストパケットの数が「５５（個）」であることを示す情報を含む返信パケットを作成する（Ｓ２３）。
【０１２９】
したがって、増減処理制御部３３５Ａは、この場合、返信パケットに含まれるパケット数である「５５（個）」を、ＬＢ−ＶＭ３１Ａが送信したテストパケットの数である「１００（個）」で除算することにより、計測比率として「５５（％）」を算出する。
【０１３０】
その後、増減処理制御部３３５Ａは、計測比率管理情報３４４Ａに設定されている計測比率と、Ｓ５４の処理で算出した計測比率とが異なっているか否か（計測比率が更新されているか否か）を判定する（Ｓ５５）。以下、計測比率管理情報３４４Ａの具体例について説明を行う。
【０１３１】
［計測比率管理情報の具体例］
図２５及び図２６は、計測比率管理情報３４４Ａの具体例を説明する図である。図２５及び図２６に示す計測比率管理情報３４４Ａは、計測比率管理情報３４４Ａに含まれる各情報を識別する「項番」と、計測比率が設定される「計測比率」とを項目として有している。具体的に、図２５に示す計測比率管理情報３４４Ａにおいて、「項番」が「１」である情報の「計測比率」には「７０（％）」が設定されている。
【０１３２】
そのため、増減処理制御部３３５Ａは、図２５に示す例において、計測比率管理情報３４４Ａにおける「項番」が「１」である情報の「計測比率」に設定された値（７０（％））と、Ｓ５４の処理で算出した計測比率（５５（％））とが異なると判定する（Ｓ５５）。図２６に示す計測比率管理情報３４４Ａの説明については後述する。
【０１３３】
図１６に戻り、計測比率管理情報３４４Ａの計測比率と、Ｓ５４の処理で算出した計測比率とが異なっていると判定した場合（Ｓ５５のＹＥＳ）、増減処理制御部３３５Ａは、Ｓ５４の処理で算出した計測比率と、運用手順管理情報３４３Ａの基準閾値とに基づき、第１閾値情報ＴＳ１または第２閾値情報ＴＳ２（以下、これらをまとめてアラーム閾値とも呼ぶ）を算出する（Ｓ５６）。そして、増減処理制御部３３５Ａは、算出したアラーム閾値を運用手順管理情報３４３Ａに設定する（Ｓ５６）。運用手順管理情報３４３Ａは、新たな仮想マシンの生成または既存の仮想マシンの削除を行うか否かを判定するために参照される情報である。
【０１３４】
なお、増減処理制御部３３５Ａは、Ｓ５６の処理において、算出したアラーム閾値をＡＰ−ＶＭ３２Ａに設定するものであってよい。具体的に、増減処理制御部３３５Ａは、この場合、例えば、パケット入出力部３１１Ａに、算出したアラーム閾値を示す情報の送信を指示するものであってよい。以下、運用手順管理情報３４３Ａの具体例について説明を行う。
【０１３５】
［運用手順管理情報の具体例］
図２７から図２９は、運用手順管理情報３４３Ａの具体例を説明する図である。図２７から図２９に示す運用手順管理情報３４３Ａは、運用手順管理情報３４３Ａに含まれる各情報を識別する「項番」と、運用手順の種類を示す「運用手順名」と、運用手順が適用される仮想マシンを示す「対象リソース」とを項目として有する。「運用手順」には、仮想マシンの生成を行う際の運用手順を示す「ＶＭ生成」、または、仮想マシンの削除を行う際の運用手順を示す「ＶＭ削除」が設定される。
【０１３６】
また、図２７から図２９に示す運用手順管理情報３４３Ａは、各ＡＰ−ＶＭ３２ＡがＡＳＭ−ＶＭ３３Ａにアラーム通知を送信するか否かを判定するために用いられる仮想マシンの動作状態を示す「動作状態」を項目として有する。また、図２７から図２９に示す運用手順管理情報３４３Ａは、ＡＰ−ＶＭ３２Ａで実行される処理の切り替えが行われていない場合において、各ＡＰ−ＶＭ３２ＡがＡＳＭ−ＶＭ３３Ａにアラーム通知を送信するか否かを判定するための閾値である「基準閾値」を項目として有する。
【０１３７】
また、図２７から図２９に示す運用手順管理情報３４３Ａは、各ＡＰ−ＶＭ３２ＡがＡＳＭ−ＶＭ３３Ａにアラーム通知を送信するか否かを判定するために実際に参照する閾値である「アラーム閾値」を項目として有する。さらに、図２７から図２９に示す運用手順管理情報３４３Ａは、新たな仮想マシンの生成または既存の仮想マシンの削除を行うための条件を示す「動作条件」と、「動作条件」に示す条件が満たされた場合に行われる動作を示す「動作」とを項目として有する。
【０１３８】
具体的に、図２７に示す運用手順管理情報３４３Ａにおいて、「項番」が「１」である情報には、「運用手順名」として「ＶＭ生成」が設定され、「対象リソース」として「ＡＰ−ＶＭ３２Ａ」が設定され、「動作状態」として「ＣＰＵの稼働率」が設定されている。また、図２７に示す運用手順管理情報３４３Ａにおいて、「項番」が「１」である情報には、「基準閾値」として「８０（％）」が設定され、「アラーム閾値」として「８０（％）」が設定されている。また、図２７に示す運用手順管理情報３４３Ａにおいて、「項番」が「１」である情報には、「動作条件」として「全状態がアラーム上限」が設定され、「動作」として「ＶＭ１台生成」が設定されている。
【０１３９】
さらに、図２７に示す運用手順管理情報３４３Ａにおいて、「項番」が「２」である情報には、「運用手順名」として「ＶＭ削除」が設定され、「対象リソース」として「ＡＰ−ＶＭ３２Ａ」が設定され、「動作状態」として「ＣＰＵの稼働率」が設定されている。また、図２７に示す運用手順管理情報３４３Ａにおいて、「項番」が「２」である情報には、「基準閾値」として「２０（％）」が設定され、「アラーム閾値」として「１４（％）」が設定されている。また、図２７に示す運用手順管理情報３４３Ａにおいて、「項番」が「２」である情報には、「動作条件」として「全状態がアラーム下限」が設定され、「動作」として「ＶＭ１台削除」が設定されている。
【０１４０】
すなわち、図２７に示す運用手順管理情報３４３Ａは、ＡＰ−ＶＭ３２Ａに含まれる全仮想マシンのＣＰＵの稼働率が、「項番」が「１」である情報の「アラーム閾値」に設定された値である「８０（％）」以上になった場合に、新たな仮想マシンを１台生成する旨の情報が設定されている。また、図２７に示す運用手順管理情報３４３Ａは、ＡＰ−ＶＭ３２Ａに含まれる全仮想マシンのＣＰＵの稼働率が、「項番」が「２」である情報の「アラーム閾値」に設定された値である「１４（％）」以下になった場合に、既存の仮想マシンを１台削除する旨の情報が設定されている。
【０１４１】
なお、運用手順管理情報３４３Ａにおいて、「運用手順」が「ＶＭ削除」である情報の「アラーム閾値」に設定された情報は、第１閾値情報ＴＳ１に対応し、「運用手順」が「ＶＭ生成」である情報の「アラーム閾値」に設定された情報は、第２閾値情報ＴＳ２に対応する。また、以下、運用手順管理情報３４３Ａにおいて、「運用手順」が「ＶＭ削除」である情報の「基準閾値」に設定された情報を、第３閾値情報ＴＳ３とも呼び、「運用手順」が「ＶＭ生成」である情報の「基準閾値」に設定された情報を、第４閾値情報ＴＳ４とも呼ぶ。
【０１４２】
そして、計測比率管理情報３４４Ａの計測比率と、Ｓ５４の処理で算出した計測比率とが異なっている場合、計測比率管理情報３４４Ａは、Ｓ５６の処理において、例えば、第１閾値情報ＴＳ１の算出を行う。
【０１４３】
具体的に、増減処理制御部３３５Ａは、例えば、図２７に示す運用手順管理情報３４３Ａにおける第３閾値情報ＴＳ３である「２０（％）」に、Ｓ５４の処理で算出した計測比率が「５５（％）」を乗算した値である「１１（％）」を算出する。そして、増減処理制御部３３５Ａは、図２８の下線部分に示すように、図２７に示す運用手順管理情報３４３Ａにおける第１閾値情報に「１１（％）」を設定する。
【０１４４】
これにより、増減処理制御部３３５Ａは、ＡＰ−ＶＭ３２Ａが実行していた処理の一部が他のグループの仮想マシンに切替えられていることに伴い、ＡＰ−ＶＭ３２Ａの処理負荷が低下した際に、第１閾値情報ＴＳ１を下げることが可能になる。そのため、増減処理制御部３３５Ａは、ＡＰ−ＶＭ３２Ａの処理負荷が低下した場合であっても、削除されるＡＰ−ＶＭ３２Ａの台数を抑制することが可能になる。
【０１４５】
したがって、ＡＰ−ＶＭ３２Ａから他の仮想マシン（例えば、ＡＰ−ＶＭ３２Ｂ）に対して処理の一部が切替えられた後に、更新後のアプリケーションの不具合が発見された場合であっても、ＡＰ−ＶＭ３２Ａは、実行すべき処理を実行することが可能になる。そして、事業者は、利用者に提供するサービスへの影響を防ぐことが可能になる。
【０１４６】
図１６に戻り、増減処理制御部３３５Ａは、Ｓ５４の処理で算出した計測比率に基づき、計測比率管理情報３４４Ａの計測比率を設定する（Ｓ５７）。具体的に、Ｓ５４の処理で算出した計測比率が「５５（％）」である場合、増減処理制御部３３５Ａは、図２６の下線部分に示すように、「項番」が「１」である情報の「計測比率」に「５５（％）」を設定する。
【０１４７】
そして、増減処理制御部３３５Ａは、計測比率管理情報３４４Ａの計測比率が更新されたか否かを示す情報である処理結果情報（図示しない）に「更新済」を設定する（Ｓ５８）。増減処理制御部３３５Ａは、計測比率確認処理が実行される際（Ｓ３１の処理の前）に、「未更新（初期値）」を処理結果情報に設定するものであってもよい。
【０１４８】
なお、計測比率管理情報３４４Ａの計測比率と、Ｓ５４の処理で算出した計測比率とが同一であると判定した場合（Ｓ５５のＮＯ）、増減処理制御部３３５Ａは、Ｓ５６からＳ５８の処理を実行しない。
【０１４９】
図１５に戻り、処理結果情報が「更新済」である場合（Ｓ４５のＹＥＳ）、増減処理制御部３３５Ａは、状態管理情報３４２Ａにおける「対象リソース状態」を全て「通常」に更新する（Ｓ４６）。すなわち、処理結果情報が「更新済」である場合とは、状態管理情報３４２Ａにおける「対象リソース状態」に設定される情報を決定するために参照する計測比率管理情報３４４Ａの計測比率が更新されている場合である。そのため、増減処理制御部３３５Ａは、状態管理情報３４２Ａの初期化を行う。
【０１５０】
その後、増減処理制御部３３５Ａは、処理結果情報に「未更新」を設定し、処理結果情報の初期化を行う（Ｓ４７）。
【０１５１】
一方、処理結果情報が「未更新」である場合（Ｓ４５のＮＯ）、パケット入出力部３３１Ａは、ＶＭ管理装置１に既存のＡＰ−ＶＭ３２Ａの削除を指示する（Ｓ４８）。その後、ＶＭ管理装置１は、既存ＡＰ−ＶＭ３２Ａの削除に伴う処理（例えば、削除するＡＰ−ＶＭ３２Ａの決定、ＬＢ−ＶＭ３１Ａの設定変更、及び削除するＡＰ−ＶＭ３２Ａの削除等）を実行する。すなわち、処理結果情報が「未更新」である場合とは、状態管理情報３４２Ａにおける「対象リソース状態」に設定される情報を決定するために参照する計測比率管理情報３４４Ａの計測比率が更新されていない場合である。そのため、増減処理制御部３３５Ａは、この場合、状態管理情報３４２Ａの初期化を行わず、状態管理情報３４２Ａに設定されている情報に基づいて、既存のＡＰ−ＶＭ３２Ａの削除を行う。
【０１５２】
その後、パケット入出力部３１１Ａは、各ＡＰ−ＶＭ３２Ａから次にアラーム通知を受信するまで待機する（Ｓ３１のＮＯ）。
【０１５３】
このように、ＡＳＭ−ＶＭ３３Ａは、複数のグループにパケットを振り分けるロードバランサ５に対し、所定数のテストパケットを送信する。そして、ＬＢ−ＶＭ３１Ａは、複数のグループに含まれる第１グループがロードバランサ５から受信したテストパケットの数を取得する。その後、ＡＳＭ−ＶＭ３３Ａは、ＬＢ−ＶＭ３１Ａが取得したテストパケットの数に基づき、ＡＰ−ＶＭ３２Ａの削除を行うか否かを判定するための第１閾値情報を更新する。さらに、ＡＳＭ−ＶＭ３３Ａは、ＡＰ−ＶＭ３２Ａの動作状態と第１閾値情報とに基づき、ＡＰ−ＶＭ３２Ａの削除を行う。
【０１５４】
これにより、ＡＳＭ−ＶＭ３３Ａは、ＡＰ−ＶＭ３２Ａが実行していた処理の一部が他の仮想マシン（例えば、ＡＰ−ＶＭ３２Ｂ）に切替えられたことに伴って、ＡＰ−ＶＭ３２Ａの処理負荷が減少した場合であっても、ＡＰ−ＶＭ３２Ａが削除されることを抑制することができる。そのため、ＡＰ−ＶＭ３２Ａから他の仮想マシンに対して処理の一部が切替えられた後に、更新後のアプリケーションの不具合が発見された場合であっても、ＡＰ−ＶＭ３２Ａは、実行すべき処理を実行することが可能になる。そして、事業者は、利用者に提供するサービスへの影響を防ぐことが可能になる。
【０１５５】
［ＡＰ−ＶＭ３２Ａでの処理］
次に、ＡＰ−ＶＭ３２Ａにおけるオートスケール処理について説明を行う。ＡＰ−ＶＭ３２Ａは、図１７に示すように、それぞれの動作状態を示す値（例えば、ＣＰＵの稼働率）を確認するタイミング（以下、動作状態確認タイミングとも呼ぶ）になるまで待機する（Ｓ６１のＮＯ）。動作状態確認タイミングは、例えば、１分間隔等、定期的なタイミングであってよい。
【０１５６】
そして、動作状態確認タイミングになった場合（Ｓ６１のＹＥＳ）、ＡＰ−ＶＭ３２Ａは、ＡＳＭ−ＶＭ３３Ａに対してアラーム通知を行う必要があるか否かを判定する（Ｓ６２）。その結果、ＡＳＭ−ＶＭ３３Ａに対してアラーム通知を行う必要があると判定した場合（Ｓ６２のＹＥＳ）、ＡＰ−ＶＭ３２Ａは、ＡＳＭ−ＶＭ３３Ａにアラーム通知を行う（Ｓ６３）。一方、ＡＳＭ−ＶＭ３３Ａに対してアラーム通知を行う必要がないと判定した場合（Ｓ６２のＮＯ）、Ｓ６３の処理を実行しない。
【０１５７】
具体的に、ＡＰ−ＶＭ３２Ａは、例えば、運用手順管理情報３４３Ａを定期的にＡＳＭ−ＶＭ３３Ａから取得し、動作状態確認タイミングにおいて、取得した運用手順管理情報３４３Ａに含まれる第１閾値情報ＴＳ１及び第２閾値情報ＴＳ２を参照する。そして、動作状態を示す値が第１閾値情報ＴＳ１以下である場合、または、動作状態を示す値が第２閾値情報ＴＳ２以上である場合、ＡＰ−ＶＭ３２Ａは、ＡＳＭ−ＶＭ３３Ａに対してアラーム通知を行うものであってよい。
【０１５８】
なお、ＡＰ−ＶＭ３２Ａは、Ｓ５６の処理においてＡＳＭ−ＶＭ３３Ａから送信される情報（第１閾値情報ＴＳ１及び第２閾値情報ＴＳ２を含む情報）を情報格納領域（図示しない）に記憶するものであってもよい。そして、ＡＰ−ＶＭ３２Ａは、Ｓ６２の処理において、情報格納領域に記憶した情報を参照し、ＡＳＭ−ＶＭ３３Ａに対してアラーム通知を行う必要があるか否かを判定するものであってもよい。
【０１５９】
［第１の実施の形態の変形例］
次に、第１の実施の形態の変形例について説明を行う。第１の実施の形態の変形例における増減処理制御部３３５Ａは、Ｓ５６の処理において、運用手順管理情報３４３Ａの第１閾値情報ＴＳ１に加え、運用手順管理情報３４３Ａの第２閾値情報ＴＳ２についても更新を行う。
【０１６０】
具体的に、増減処理制御部３３５Ａは、図２８に示す運用手順管理情報３４３Ａにおける第４閾値情報ＴＳ４である「８０（％）」に、Ｓ５４の処理で算出した計測比率が「５５（％）」を乗算した値である「４４（％）」を算出する。そして、増減処理制御部３３５Ａは、図２９の下線部分に示すように、運用手順管理情報３４３Ａにおける第２閾値情報ＴＳ２に「４４（％）」を設定する。
【０１６１】
すなわち、この場合、ＡＰ−ＶＭ３２Ａで実行される処理の切り替えが行われている場合、物理マシン２Ａでは、新たなＡＰ−ＶＭ３２Ａがより多く作成されることになる。そのため、ＡＰ−ＶＭ３２Ａは、処理の一部を他の仮想マシン（例えば、ＡＰ−ＶＭ３２Ｂ）に切替えた後に、更新後のアプリケーションの異常が発見された場合に、実行すべき処理を実行することができる可能性をより高めることが可能になる。そして、事業者は、利用者に提供するサービスへの影響をより防ぐことが可能になる。
【０１６２】
［第２の実施の形態］
次に、第２の実施の形態について説明する。図３０から図３３は、第２の実施の形態におけるオートスケール処理を示すフローチャート図である。また、図３４は、第２の実施の形態におけるオートスケール処理を説明する図である。図３４を参照しながら図３０から図３３のオートスケール処理について説明する。
【０１６３】
第１の実施の形態における物理マシン２Ａは、他のグループの仮想マシンにおいて実行されている処理がＡＰ−ＶＭ３２Ａに切り替えられているのか否かについての判定を行わない。そのため、他のグループの仮想マシンにおいて実行されている処理がＡＰ−ＶＭ３２Ａに切り替えられる場合であっても、物理マシン２Ａは、第１の実施の形態で説明したオートスケール処理を実行する。
【０１６４】
ここで、ＡＰ−ＶＭ３２Ａが処理の切り替え先の仮想マシンである場合、更新後のアプリケーションに異常が発見された場合であっても、ＡＰ−ＶＭ３２Ａは、他のグループの仮想マシンの処理を実行しなければならない状況にはならない。そのため、この場合、ＡＰ−ＶＭ３２Ａは、必ずしも第１の実施の形態で説明したオートスケール処理を実行し、仮想マシンの削除を抑制する必要はない。
【０１６５】
そこで、第２の実施の形態における物理マシン２Ａでは、他のグループの仮想マシンにおいて実行されている処理がＡＰ−ＶＭ３２Ａに切り替えられている場合には、第１の実施の形態で説明したオートスケール処理を実行しない。すなわち、この場合、物理マシン２Ａでは、第１閾値情報ＴＳ１を算出し、運用手順管理情報３４３Ａに設定する処理を行わない。これにより、事業者は、ＡＰ−ＶＭ３２Ａの処理の切り替えが行われる際に生成される仮想マシンの数を抑制することが可能になる。以下、第２の実施の形態の詳細について説明を行う。
【０１６６】
［第２の実施の形態の詳細］
パケット入出力部３３１Ａは、第１の実施の形態に場合と同様に、ＡＰ−ＶＭ３２Ａからアラーム通知を受信するまで待機する（Ｓ７１のＮＯ）。そして、パケット入出力部３３１ＡがＡＰ−ＶＭ３２Ａからアラーム通知を受信した場合（Ｓ７１のＹＥＳ）、増減処理制御部３３５Ａは、Ｓ７１の処理で受信したアラーム通知を状態管理情報３４２Ｂの対象リソースに設定する（Ｓ７２）。
【０１６７】
その後、増減処理判定部３３２Ａは、第１の実施の形態と同様に、Ｓ７１の処理においてパケット入出力部３３１Ａが受信したアラーム通知の種別を判定する（Ｓ７３）。そして、受信したアラーム通知がアラーム上限通知である場合（Ｓ７３の上限通知）、増減処理判定部３３２Ａは、各ＡＰ−ＶＭ３２Ａが新たな仮想マシンを生成する条件を満たしているか否かを判定する（Ｓ７４）。
【０１６８】
その結果、各ＡＰ−ＶＭ３２Ａが仮想マシンを生成する条件を満たしていると判定した場合（Ｓ７４のＹＥＳ）、パケット入出力部３３１Ａは、第１の実施の形態と同様に、ＶＭ管理装置１に対し、新たなＡＰ−ＶＭ３２Ａの生成を指示する（Ｓ７５）。その後、ＶＭ管理装置１は、新たなＡＰ−ＶＭ３２Ａの生成に伴う処理（例えば、新たなＡＰ−ＶＭ３２Ａの生成、新たなＡＰ−ＶＭ３２Ａの起動、新たなＡＰ−ＶＭ３２Ａに対するアプリケーションのインストール、及びＬＢ−ＶＭ３１Ａの設定等）を実行する。一方、各ＡＰ−ＶＭ３２Ａが仮想マシンを生成する条件を満たしていないと判定した場合（Ｓ７４のＮＯ）、Ｓ７５の処理を実行しない。
【０１６９】
そして、Ｓ７４の処理において、各ＡＰ−ＶＭ３２Ａが仮想マシンを生成する条件を満たしていないと判定した場合（Ｓ７４のＮＯ）、または、Ｓ７５の処理の後、パケット入出力部３１１Ａは、各ＡＰ−ＶＭ３２Ａから次にアラーム通知を受信するまで待機する（Ｓ７１のＮＯ）。同様に、Ｓ７３の処理において、受信したアラーム通知がアラーム通常通知である場合（Ｓ７３の通常通知）、パケット入出力部３１１Ａは、各ＡＰ−ＶＭ３２Ａから次にアラーム通知を受信するまで待機する（Ｓ７１のＮＯ）。
【０１７０】
一方、Ｓ７３の処理において、受信したアラーム通知がアラーム下限通知である場合（Ｓ７３の下限通知）、増減処理判定部３３２Ａは、各ＡＰ−ＶＭ３２Ａが仮想マシンを削除する条件を満たしているか否かを判定する（Ｓ７６）。
【０１７１】
そして、Ｓ７６の処理において、各ＡＰ−ＶＭ３２Ａが仮想マシンを削除する条件を満たしていないと判定した場合（Ｓ７６のＮＯ）、パケット入出力部３１１Ａは、各ＡＰ−ＶＭ３２Ａから次にアラーム通知を受信するまで待機する（Ｓ７１のＮＯ）。
【０１７２】
一方、各ＡＰ−ＶＭ３２Ａが仮想マシンを削除する条件を満たしていると判定した場合（Ｓ７６のＹＥＳ）、増減処理制御部３３５Ａは、システム状態管理情報３４６Ａのシステム状態が「ｕｓｕａｌ」であるか否かを判定する（Ｓ７７）。以下、システム状態管理情報３４６Ａについて説明を行う。
【０１７３】
［システム状態管理情報の具体例］
図３４は、システム状態管理情報３４６Ａの具体例を説明する図である。図３４に示すシステム状態管理情報３４６Ａは、システム状態管理情報３４６Ａに含まれる各情報を識別する「項番」と、ＡＰ−ＶＭ３２Ａが切り替え先の仮想マシンであるか否かを示す「システム状態」とを項目として有する。「システム状態」には、ＡＰ−ＶＭ３２Ａが切り替え先の仮想マシンであることを示す「ｎｅｗ」、または、ＡＰ−ＶＭ３２Ａが「ｎｅｗ」以外の状態であることを示す「ｕｓｕａｌ」が設定される。具体的に、図３４に示すシステム状態管理情報３４６Ａは、「項番」が「１」である情報の「システム状態」には「ｎｅｗ」が設定されている。
【０１７４】
図３０に戻り、システム状態管理情報３４６Ａのシステム状態が「ｕｓｕａｌ」である場合（Ｓ７７のＹＥＳ）、増減処理制御部３３５Ａは、図３１に示すように、第１の実施の形態と同様に、計測比率確認処理が実行されているか否かを判定する（Ｓ８１）。その結果、計測比率確認処理が実行されている場合（Ｓ８１のＹＥＳ）、増減処理制御部３３５Ａは、計測比率確認処理を終了する（Ｓ８２）。そして、パケット入出力部３３１Ａは、ＬＢ−ＶＭ３１Ａに情報要求パケットを送信する（Ｓ８３）。そして、計測比率確認処理が実行されていなかった場合（Ｓ８１のＮＯ）、または、Ｓ８３の処理が実行された後、増減処理制御部３３５Ａは、計測比率確認処理を実行する（Ｓ８４）。以下、計測比率確認処理の詳細について説明を行う。
【０１７５】
［計測比率確認処理の詳細］
パケット入出力部３３１Ａは、第１の実施の形態と同様に、テストパケット作成部３３３Ａが作成した計測用パケットをロードバランサ５に送信する（Ｓ９１）。そして、パケット入出力部３３１Ａは、Ｓ９１の処理の所定時間経過後、情報要求パケット作成部３３４Ａが作成した情報要求パケットをＡＳＭ−ＶＭ３３Ａに送信する（Ｓ９２）。
【０１７６】
その後、増減処理制御部３３５Ａは、第１の実施の形態と同様に、ＬＢ−ＶＭ３１Ａから返信パケットを受信するまで待機する（Ｓ９３のＮＯ）。そして、ＬＢ−ＶＭ３１Ａから返信パケットを受信した場合（Ｓ９３のＹＥＳ）、増減処理制御部３３５Ａは、Ｓ９３の処理で受信した返信パケットの内容に基づき、計測比率を算出する（Ｓ９４）。
【０１７７】
その後、増減処理制御部３３５Ａは、システム状態管理情報３４６Ａのシステム状態が「ｎｅｗ」であるか否かを判定する（Ｓ９５）。そして、システム状態管理情報３４６Ａのシステム状態が「ｎｅｗ」である場合（Ｓ９５のＹＥＳ）、増減処理制御部３３５Ａは、図３３に示すように、ＡＰ−ＶＭ３２Ａに対する処理の切り替えが完了したか否かを判定する（Ｓ１０１）。その結果、ＡＰ−ＶＭ３２Ａに対する処理の切り替えが完了している場合（Ｓ１０１のＹＥＳ）、増減処理制御部３３５Ａは、システム状態管理情報３４６Ａのシステム状態に「ｕｓｕａｌ」を設定する（Ｓ１０２）。一方、ＡＰ−ＶＭ３２Ａに対する処理の切り替えが完了していない場合（Ｓ１０１のＮＯ）、Ｓ１０２の処理を実行しない。
【０１７８】
これにより、増減処理制御部３３５Ａは、ＡＰ−ＶＭ３２Ａに対する処理の切り替えが完了している場合、増減処理制御部３３５Ａは、第１グループにおいてオートスケール処理が実行されるように設定を行うことが可能になる。
【０１７９】
一方、システム状態管理情報３４６Ａのシステム状態が「ｕｓｕａｌ」である場合（Ｓ９５のＮＯ）、増減処理制御部３３５Ａは、第１の実施の形態と同様に、計測比率が設定される情報である計測比率管理情報３４４Ａの計測比率と、Ｓ９４の処理で算出した計測比率とが異なっているか否かを判定する（Ｓ９６）。
【０１８０】
その結果、計測比率管理情報３４４Ａの計測比率と、Ｓ９４の処理で算出した計測比率とが異なっていると判定した場合（Ｓ９６のＹＥＳ）、増減処理制御部３３５Ａは、Ｓ９４の処理で算出した計測比率と、運用手順管理情報３４３Ａの基準閾値とに基づき、アラーム閾値を算出する（Ｓ９７）。そして、増減処理制御部３３５Ａは、算出したアラーム閾値を運用手順管理情報３４３Ａに設定する（Ｓ９７）。
【０１８１】
なお、増減処理制御部３３５Ａは、Ｓ９７の処理において、算出したアラーム閾値をＡＰ−ＶＭ３２Ａに設定するものであってもよい。具体的に、増減処理制御部３３５Ａは、この場合、パケット入出力部３１１Ａに、算出したアラーム閾値を示す情報の送信を指示するものであってもよい。
【０１８２】
さらに、増減処理制御部３３５Ａは、Ｓ９４の処理で算出した計測比率に基づき、計測比率管理情報３４４Ａの計測比率を設定する（Ｓ９８）。
【０１８３】
その後、増減処理制御部３３５Ａは、計測比率管理情報３４４Ａの計測比率が更新されたか否かを示すフラグである処理結果情報（図示しない）に「更新済」を設定する（Ｓ９９）。なお、計測比率管理情報３４４Ａの計測比率と、Ｓ９４の処理で算出した計測比率とが同一であると判定した場合（Ｓ９６のＮＯ）、増減処理制御部３３５Ａは、Ｓ９７からＳ９９の処理を実行しない。
【０１８４】
図３１に戻り、処理結果情報が「更新済」である場合（Ｓ８５のＹＥＳ）、増減処理制御部３３５Ａは、第１の実施の形態と同様に、状態管理情報３４２Ａにおける「対象リソース状態」を全て「通常」に更新する（Ｓ８６）。なお、Ｓ１０２の処理の後、または、ＡＰ−ＶＭ３２Ａに対する処理の切り替えが完了していない場合（Ｓ１０１のＮＯ）においても、増減処理制御部３３５Ａは、Ｓ８６の処理を実行する。
【０１８５】
その後、増減処理制御部３３５Ａは、第１の実施の形態と同様に、処理結果情報に「未更新」を設定し、処理結果情報の初期化を行う（Ｓ８７）。
【０１８６】
すなわち、増減処理制御部３３５Ａは、ＡＰ−ＶＭ３２Ａが処理の切り替え先である場合、Ｓ８１からＳ８５の処理を実行しない。これにより、増減処理制御部３３５Ａは、ＡＰ−ＶＭ３２Ａが処理の切り替え先である場合に、ＡＰ−ＶＭ３２Ａにおいて生成されるＶＭの数を抑制することが可能になる。
【０１８７】
一方、処理結果情報が「未更新」である場合（Ｓ８５のＮＯ）、パケット入出力部３３１Ａは、第１の実施の形態と同様に、ＶＭ管理装置１に既存のＡＰ−ＶＭ３２Ａの削除を指示する（Ｓ８８）。その後、ＶＭ管理装置１は、既存ＡＰ−ＶＭ３２Ａの削除に伴う処理（例えば、削除するＡＰ−ＶＭ３２Ａの決定、ＬＢ−ＶＭ３１Ａの設定変更、及び削除するＡＰ−ＶＭ３２Ａの削除等）を実行する。
【０１８８】
また、システム状態管理情報３４６Ａのシステム状態が「ｎｅｗ」である場合（Ｓ７７のＹＥＳ）においても、増減処理制御部３３５Ａは、Ｓ８８の処理を実行する。その後、パケット入出力部３１１Ａは、各ＡＰ−ＶＭ３２Ａから次にアラーム通知を受信するまで待機する（Ｓ７１のＮＯ）。
【０１８９】
なお、増減処理制御部３３５Ａは、第１の実施の形態の変形例の場合と同様に、Ｓ９７の処理において、運用手順管理情報３４３Ａの第１閾値情報ＴＳ１に加え、運用手順管理情報３４３Ａの第２閾値情報ＴＳ２についても更新を行うものであってもよい。
【０１９０】
これにより、ＡＰ−ＶＭ３２Ａは、処理の一部を他の仮想マシン（例えば、ＡＰ−ＶＭ３２Ｂ）に切替えた後に、更新後のアプリケーションの異常が発見された場合に、実行すべき処理を実行することができる可能性をより高めることが可能になる。そのため、事業者は、利用者に提供するサービスへの影響をより防ぐことが可能になる。
【０１９１】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１９２】
（付記１）
コンピュータに、
１台以上の仮想マシンをそれぞれ含む複数のグループにパケットを振り分ける負荷分散装置に対し、所定数のテストパケットを送信し、
前記複数のグループに含まれる第１グループが前記負荷分散装置から受信した前記テストパケットの数を取得し、
取得した前記テストパケットの数に基づき、前記第１グループに含まれる第１仮想マシンの削除を行うか否かを判定するための第１閾値情報を更新し、
前記第１仮想マシンの動作状態と前記第１閾値情報とに基づき、前記第１仮想マシンの削除を行う、
処理を実行させることを特徴とするオートスケールプログラム。
【０１９３】
（付記２）
付記１において、
前記第１閾値を更新する処理では、前記負荷分散装置が前記所定数のテストパケットの全てを前記第１グループに送信した場合における、前記仮想マシンの削除を行うか否かを判定するための第３閾値情報と、前記所定数に対する前記負荷分散装置が前記第１グループに送信したテストパケットの数の割合とを乗算した値に、前記第１閾値情報を更新する、
ことを特徴とするオートスケールプログラム。
【０１９４】
（付記３）
付記１において、
前記第１仮想マシンを削除する処理では、動作状態を示す値が前記第１閾値情報以下である前記第１仮想マシンが１台以上存在する場合に、前記第１仮想マシンを１台以上削除する、
ことを特徴とするオートスケールプログラム。
【０１９５】
（付記４）
付記１において、さらに、
取得した前記テストパケットの数に基づき、前記第１グループにおいて前記第１仮想マシンの生成を行うか否かを判定するための第２閾値情報を更新し、
前記第１仮想マシンの動作状態と前記第２閾値情報とに基づき、前記第１仮想マシンの生成を行う、
処理をコンピュータに実行させることを特徴とするオートスケールプログラム。
【０１９６】
（付記５）
付記４において、
前記第２閾値を更新する処理では、前記負荷分散装置が前記所定数のテストパケットを前記第１グループに送信した場合における、前記仮想マシンの生成を行うか否かを判定するための第４閾値情報と、前記所定数に対する前記負荷分散装置が前記第１グループに送信したテストパケットの数の割合とを乗算した値に、前記第２閾値情報を更新する、
ことを特徴とするオートスケールプログラム。
【０１９７】
（付記６）
付記４において、
前記第１仮想マシンを生成する処理では、動作状態を示す値が前記第２閾値情報以上である前記第１仮想マシンが１台以上存在する場合に、前記第１仮想マシンを１台以上生成する、
ことを特徴とするオートスケールプログラム。
【０１９８】
（付記７）
付記３または６において、
前記動作状態を示す値は、前記第１仮想マシンのＣＰＵの稼働率またはメモリの使用率である、
ことを特徴とするオートスケールプログラム。
【０１９９】
（付記８）
付記１において、
前記第１仮想マシンは、前記第１仮想マシンが実行する処理を、前記複数のグループに含まれる他のグループの仮想マシンに対して引き継ぐことに伴って、段階的に削除される仮想マシンである、
ことを特徴とするオートスケールプログラム。
【０２００】
（付記９）
１台以上の仮想マシンをそれぞれ含む複数のグループにパケットを振り分ける負荷分散装置に対し、所定数のテストパケットを送信し、
前記複数のグループに含まれる第１グループが前記負荷分散装置から受信した前記テストパケットの数を取得し、
取得した前記テストパケットの数に基づき、前記第１グループに含まれる第１仮想マシンの削除を行うか否かを判定するための第１閾値情報を更新し、
前記第１仮想マシンの動作状態と前記第１閾値情報とに基づき、前記第１仮想マシンの削除を行う、
ことを特徴とするオートスケール方法。
【０２０１】
（付記１０）
付記９において、
前記第１閾値を更新する工程では、前記負荷分散装置が前記所定数のテストパケットの全てを前記第１グループに送信した場合における、前記仮想マシンの削除を行うか否かを判定するための第３閾値情報と、前記所定数に対する前記負荷分散装置が前記第１グループに送信したテストパケットの数の割合とを乗算した値に、前記第１閾値情報を更新する、
ことを特徴とするオートスケール方法。
【０２０２】
（付記１１）
付記９において、さらに、
取得した前記テストパケットの数に基づき、前記第１グループにおいて前記第１仮想マシンの生成を行うか否かを判定するための第２閾値情報を更新し、
前記第１仮想マシンの動作状態と前記第２閾値情報とに基づき、前記第１仮想マシンの生成を行う、
ことを特徴とするオートスケール方法。
【０２０３】
（付記１２）
付記１１において、
前記第２閾値を更新する工程では、前記負荷分散装置が前記所定数のテストパケットを前記第１グループに送信した場合における、前記仮想マシンの生成を行うか否かを判定するための第４閾値情報と、前記所定数に対する前記負荷分散装置が前記第１グループに送信したテストパケットの数の割合とを乗算した値に、前記第２閾値情報を更新する、
ことを特徴とするオートスケール方法。
【符号の説明】
【０２０４】
１：ＶＭ管理装置            ２Ａ：物理マシン
２Ｂ：物理マシン            ５：ロードバランサ
４：仮想化ソフトウエア      １１：利用者端末
【図１】
2017111664.tif 000003
【図２】
2017111664.tif 000004
【図３】
2017111664.tif 000005
【図４】
2017111664.tif 000006
【図５】
2017111664.tif 000007
【図６】
2017111664.tif 000008
【図７】
2017111664.tif 000009
【図８】
2017111664.tif 000010
【図９】
2017111664.tif 000011
【図１０】
2017111664.tif 000012
【図１１】
2017111664.tif 000013
【図１２】
2017111664.tif 000014
【図１３】
2017111664.tif 000015
【図１４】
2017111664.tif 000016
【図１５】
2017111664.tif 000017
【図１６】
2017111664.tif 000018
【図１７】
2017111664.tif 000019
【図１８】
2017111664.tif 000020
【図１９】
2017111664.tif 000021
【図２０】
2017111664.tif 000022
【図２１】
2017111664.tif 000023
【図２２】
2017111664.tif 000024
【図２３】
2017111664.tif 000025
【図２４】
2017111664.tif 000026
【図２５】
2017111664.tif 000027
【図２６】
2017111664.tif 000028
【図２７】
2017111664.tif 000029
【図２８】
2017111664.tif 000030
【図２９】
2017111664.tif 000031
【図３０】
2017111664.tif 000032
【図３１】
2017111664.tif 000033
【図３２】
2017111664.tif 000034
【図３３】
2017111664.tif 000035
【図３４】
2017111664.tif 000036