(57)【要約】      （修正有）【課題】仮想マシンが不足する場合に迅速にスケールアウトを完了する。【解決手段】本情報処理装置は、１又は複数の仮想マシンが稼働する他の情報処理装置において実行されたオートスケールの履歴データに基づき、他の情報処理装置においてスケールアウトが開始される予測時刻を特定する第１特定部（第１設定部）と、他の情報処理装置において実行されたデプロイの開始時刻および終了時刻のデータに基づき、デプロイの所要時間を特定する第２特定部（第２デプロイ部）と、特定された予測時刻と所要時間とに基づき、他の情報処理装置がデプロイを開始する開始時刻を決定する決定部（第３設定部）と、他の情報処理装置においてデプロイが開始されることを要求する第１の要求を、開始時刻において他の情報処理装置に送信するデプロイ部とを有する。【選択図】図５
2019086949.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
１又は複数の仮想マシンが稼働する他の情報処理装置において実行されたオートスケールの履歴データに基づき、前記他の情報処理装置においてスケールアウトが開始される予測時刻を特定する第１特定部と、
前記他の情報処理装置において実行されたデプロイの開始時刻および終了時刻のデータに基づき、前記デプロイの所要時間を特定する第２特定部と、
特定された前記予測時刻と前記所要時間とに基づき、前記他の情報処理装置において前記デプロイが開始される開始時刻を決定する決定部と、
前記他の情報処理装置が前記デプロイを開始することを要求する第１の要求を、前記開始時刻において前記他の情報処理装置に送信するデプロイ部と、
を有する情報処理装置。
【請求項２】
前記予測時刻から所定時間の経過後に前記他の情報処理装置においてスケールアウトが開始されない場合、前記第１の要求に応じてデプロイされた仮想マシンを削除することを要求する第２の要求を、前記他の情報処理装置に送信する削除部
をさらに有する請求項１記載の情報処理装置。
【請求項３】
前記削除部は、
前記第１の要求に応じてデプロイされた仮想マシンの数に対する前記第２の要求に応じて削除された仮想マシンの数の割合が所定値以上である場合、前記履歴データのうち所定時刻より前の部分を削除する、
請求項２記載の情報処理装置。
【請求項４】
前記情報処理装置は、
前記履歴データに基づき、前記仮想マシンにおいてスケールインが実行された後スケールアウトが開始されるまでの時間を算出する算出部
をさらに有し、
前記削除部は、
前記他の情報処理装置においてスケールインが開始され且つ前記算出部により算出された時間が前記所要時間より長い場合、前記他の情報処理装置においてデプロイされた仮想マシンを削除することを要求する第３の要求を送信する、
請求項２又は３記載の情報処理装置。
【請求項５】
前記第１特定部は、
オートスケールが完了してから次のオートスケールが開始されるまでの平均時間に基づき、前記予測時刻を特定する、
請求項１乃至４のいずれか１つ記載の情報処理装置。
【請求項６】
前記開始時刻は、前記予測時刻から前記所要時間以上前の時刻である、
請求項１乃至５のいずれか１つ記載の情報処理装置。
【請求項７】
１又は複数の仮想マシンが稼働する第１の情報処理装置と、
第２の情報処理装置と、
を有し、
前記第２の情報処理装置は、
前記第１の情報処理装置において実行されたオートスケールの履歴データに基づき、前記第１の情報処理装置においてスケールアウトが開始される予測時刻を特定する第１特定部と、
前記第１の情報処理装置において実行されたデプロイの開始時刻および終了時刻のデータに基づき、前記デプロイの所要時間を特定する第２特定部と、
特定された前記予測時刻と前記所要時間とに基づき、前記第１の報処理装置においてデプロイが開始される開始時刻を決定する決定部と、
前記第１の情報処理装置がデプロイを開始することを要求する第１の要求を、前記開始時刻において前記第１の情報処理装置に送信するデプロイ部と、
とを有する情報処理システム。
【請求項８】
コンピュータに、
１又は複数の仮想マシンが稼働する情報処理装置において実行されたオートスケールの履歴データに基づき、前記情報処理装置においてスケールアウトが開始される予測時刻を特定し、
前記情報処理装置において実行されたデプロイの開始時刻および終了時刻のデータに基づき、前記デプロイの所要時間を特定し、
特定された前記予測時刻と前記所要時間とに基づき、前記情報処理装置において前記デプロイが開始される開始時刻を決定し、
前記情報処理装置が前記デプロイを開始することを要求する第１の要求を、前記開始時刻において前記情報処理装置に送信する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンの管理技術に関する。
【背景技術】
【０００２】
クラウド上に構築されたシステムにおいては仮想マシンが稼働し、クラウドサービスの利用者は事業や個人的な目的等のために仮想マシンを使用する。このようなシステムにおいては、利用者による使用の状況に応じてオートスケールが実行される。オートスケールとは、仮想マシンの負荷に応じて仮想マシンの増設および減設を実行する技術である。
【０００３】
例えば、仮想マシンの処理の量が増加したことにより仮想マシンの負荷が基準を超えた場合、処理性能の劣化の防止のために仮想マシンの数が増やされる。これはスケールアウトと呼ばれる。一方、例えば仮想マシンの負荷が基準を下回った場合、システムにおけるリソースの使用量の減少のために仮想マシンの数が減らされる。これはスケールインと呼ばれる。或る特許文献は、このようなオートスケールに関する技術を開示する。
【０００４】
スケールアウトは、仮想マシンを配備する処理（以下、デプロイと呼ぶ）の実行後に仮想マシンの稼働を開始させることで完了する。デプロイは仮想マシンのイメージファイルを物理ディスク装置に書き込む処理を含み、デプロイが原因でスケールアウトに時間がかかるという問題がある。スケールアウトに時間がかかると仮想マシンの負荷が基準を超えた状態が長時間続くことになるため好ましくない。しかし、上記の特許文献に開示の技術によってはこのような問題を解決することはできない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１５／１３３１２５号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、１つの側面では、仮想マシンが不足する場合に迅速にスケールアウトを完了するための技術を提供することである。
【課題を解決するための手段】
【０００７】
一態様に係る情報処理装置は、１又は複数の仮想マシンが稼働する他の情報処理装置において実行されたオートスケールの履歴データに基づき、他の情報処理装置においてスケールアウトが開始される予測時刻を特定する第１特定部と、他の情報処理装置において実行されたデプロイの開始時刻および終了時刻のデータに基づき、デプロイの所要時間を特定する第２特定部と、特定された予測時刻と所要時間とに基づき、他の情報処理装置がデプロイを開始する開始時刻を決定する決定部と、他の情報処理装置においてデプロイが開始されることを要求する第１の要求を、開始時刻において他の情報処理装置に送信するデプロイ部とを有する。
【発明の効果】
【０００８】
１つの側面では、仮想マシンが不足する場合に迅速にスケールアウトを完了できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施の形態の方法を使用しない場合のオートスケールの一例を示す図である。
【図２】図２は、本実施の形態のオートスケールの一例を示す図である。
【図３】図３は、本実施の形態のシステムの概要を示す図である。
【図４】図４は、管理装置のハードウエア構成図である。
【図５】図５は、管理装置の機能ブロック図である。
【図６】図６は、グループデータ格納部に格納されるデータの一例を示す図である。
【図７】図７は、グループデータ格納部に格納されるデータの一例を示す図である。
【図８】図８は、ホスト装置のハードウエア構成図である。
【図９】図９は、オートスケールの実行を制御する処理の処理フローを示す図である。
【図１０】図１０は、負荷データ格納部に格納されるデータの一例を示す図である。
【図１１】図１１は、オートスケール履歴格納部に格納されるデータの一例を示す図である。
【図１２】図１２は、オートスケールの実行を制御する処理の処理フローを示す図である。
【図１３】図１３は、事前にデプロイされたＶＭの数ｎのデータ形式の一例を示す図である。
【図１４】図１４は、デプロイ処理の処理フローを示す図である。
【図１５】図１５は、デプロイデータ格納部に格納されるデータの一例を示す図である。
【図１６】図１６は、第２継続時間格納部に格納されるデータの一例を示す図である。
【図１７】図１７は、第１継続時間格納部に格納されるデータの一例を示す図である。
【図１８】図１８は、第１の実施の形態において事前デプロイ処理の実行を制御する処理の処理フローを示す図である。
【図１９】図１９は、第１タイマ設定処理の処理フローを示す図である。
【図２０】図２０は、デプロイの開始時刻の決定について説明するための図である。
【図２１】図２１は、事前デプロイ処理の処理フローを示す図である。
【図２２】図２２は、事前デプロイ処理の処理フローを示す図である。
【図２３】図２３は、第１の実施の形態における削除処理の処理フローを示す図である。
【図２４】図２４は、第１の実施の形態において事前デプロイ処理の実行を制御する処理の処理フローを示す図である。
【図２５】図２５は、第２の実施の形態における事前デプロイ処理の処理フローを示す図である。
【図２６】図２６は、事前デプロイ処理によりデプロイが実行された回数Ｎのデータ形式の一例を示す図である。
【図２７】図２７は、第２の実施の形態における削除処理の処理フローを示す図である。
【図２８】図２８は、事前デプロイ処理によりデプロイされたＶＭが削除された回数Ｍのデータ形式の一例を示す図である。
【図２９】図２９は、グループデータ格納部に格納されるデータの一例を示す図である。
【図３０】図３０は、第３の実施の形態におけるデプロイデータ格納部に格納されるデータの一例を示す図である。
【図３１】図３１は、第４の実施の形態におけるホスト装置の機能ブロック図である。
【発明を実施するための形態】
【００１０】
はじめに、本実施の形態の概要を説明する。
【００１１】
図１は、本実施の形態の方法を利用しない場合のオートスケールの一例を示す図である。図１において、縦軸はＶＭ（Virtual Machine）数を表し、横軸は時間を表す。ｔi（ｉは自然数）はＶＭが不足しスケールアウトが必要となった時刻を表す。「ｄｅｐｔ」はデプロイに要する時間（以下、デプロイ時間と呼ぶ）を表す。
【００１２】
図１の例においては、初期のＶＭ数は１である。最大のＶＭ数は４である。ＶＭ数が１である状態においてスケールアウトが実行されてＶＭ数が２になり、ＶＭ数が２である状態においてスケールアウトが実行されてＶＭ数が３になり、ＶＭ数が３である状態においてスケールアウトが実行されてＶＭ数が４になる。ＶＭ数が４である状態においてスケールインが実行されてＶＭ数が３になり、ＶＭ数が３である状態においてスケールインが実行されてＶＭ数が２になる。ＶＭ数が２である状態においてスケールアウトが実行されてＶＭ数が３になり、ＶＭ数が３である状態においてスケールアウトが実行されてＶＭ数が４になる。そして、ＶＭ数が４である状態においてスケールインが実行されてＶＭ数が３になり、ＶＭ数が３である状態においてスケールインが実行されてＶＭ数が２になり、ＶＭ数が２である状態においてスケールインが実行されてＶＭ数が１になる。
【００１３】
図１の例においては、デプロイは５回実行される。ＶＭの負荷が実際に不足してからデプロイが開始されているため、デプロイ時間が長いことが原因となり、ＶＭ数が不足した状態が長く続くことになる。
【００１４】
図２は、本実施の形態のオートスケールの一例を示す図である。図２において、縦軸はＶＭ数を表し、横軸は時間を表す。図２の例においても、初期のＶＭ数は１であり、最大のＶＭ数は４である。また、ＶＭ数は図１の例と同様に変化する。
【００１５】
本実施の形態においては、最初のデプロイを除き、ＶＭの負荷が高いことが実際に検出される前にデプロイが開始される。具体的には、デプロイｐｄ１、デプロイｐｄ２及びデプロイｐｄ３は、ＶＭの負荷が高いことが実際に検出される前に実行されている。このように、オートスケールの処理のうちデプロイを予め実行しておけば、ＶＭの負荷が高いことが実際に検出された後にＶＭの稼働を開始すればスケールアウトが完了するので、ＶＭの負荷が高い状態が長く続くことを防げる。つまり、ＶＭが不足する場合に迅速にスケールアウトを完了することができる。
【００１６】
また、図２の例においてはスケールインによってＶＭ数が３から２に減少した後にスケールアウトによってＶＭ数が２から３に増加しているが、図１の例と異なりデプロイは実行されておらず、全体として４回デプロイが実行される。このように、デプロイされたＶＭを削除せず後でＶＭが必要になった時に再利用することで、全体の処理時間を短縮することができ、また、ＶＭのデプロイによって発生する処理負荷を減らすことができる。
【００１７】
［実施の形態１］
図３は、本実施の形態のシステムの概要を示す図である。本実施の形態のシステムは例えばクラウドシステムであり、データセンタ等において構築される。本実施の形態のシステムは、ＶＭを稼働させるホスト装置３ａ乃至３ｃと、ＶＭの稼働を管理する管理装置１とを有する。管理装置１は、例えばＬＡＮ（Local Area Network）等のネットワークを介してホスト装置３ａ乃至３ｃに接続される。ホスト装置３ａにおいてはＶＭ３０１ａ及びＶＭ３０２ａが稼働し、ホスト装置３ｂにおいてはＶＭ３０１ｂ及びＶＭ３０２ｂが稼働し、ホスト装置３ｃにおいてはＶＭ３０１ｃ及びＶＭ３０２ｃが稼働する。図３の例においては各ホスト装置において２台のＶＭが稼働しているが、３台以上のＶＭが稼働してもよい。また、ホスト装置の数が４以上であってもよい。
【００１８】
図４は、管理装置１のハードウエア構成図である。管理装置１は、ＣＰＵ（Central Processing Unit）１１と、例えばＤＲＡＭ（Dynamic Random Access Memory）であるメモリ１２と、ＨＤＤ（Hard Disk Drive）１３と、ＮＩＣ（Network Interface Card）１４とを有する。各ハードウエアコンポーネントはバス１５に接続される。
【００１９】
図５は、管理装置１の機能ブロック図である。管理装置１は、負荷データ受信部１０１と、オートスケール制御部１０３と、事前デプロイ制御部１０５と、第１デプロイ部１０７と、第２デプロイ部１０９と、ＶＭ管理部１１１と、第１タイマ設定部１１３と、第２タイマ設定部１１５と、負荷データ格納部１２１と、オートスケール履歴格納部１２３と、グループデータ格納部１２５と、デプロイデータ格納部１２７と、第１継続時間格納部１２９と、第２継続時間格納部１３１とを含む。第１タイマ設定部１１３は、第１設定部１１３１と、第２設定部１１３２と、第３設定部１１３３とを含む。
【００２０】
本実施の形態の処理を実行するためのプログラムは、例えばＨＤＤ１３に格納されており、メモリ１２にロードされてＣＰＵ１１に実行されることで、負荷データ受信部１０１と、オートスケール制御部１０３と、事前デプロイ制御部１０５と、第１デプロイ部１０７と、第２デプロイ部１０９と、ＶＭ管理部１１１と、第１タイマ設定部１１３と、第２タイマ設定部１１５とを実現する。負荷データ格納部１２１と、オートスケール履歴格納部１２３と、グループデータ格納部１２５と、デプロイデータ格納部１２７と、第１継続時間格納部１２９と、第２継続時間格納部１３１とは、例えばメモリ１２又はＨＤＤ１３に設けられる。
【００２１】
負荷データ受信部１０１は、ホスト装置３ａ乃至３ｃから受信した負荷データを負荷データ格納部１２１に格納する。オートスケール制御部１０３は、負荷データ格納部１２１に格納されているデータ及びグループデータ格納部１２５に格納されているデータに基づき処理を実行し、処理結果をオートスケール履歴格納部１２３、第１継続時間格納部１２９及び第２継続時間格納部１３１に格納する。事前デプロイ制御部１０５は、オートスケール履歴格納部１２３に格納されているデータ、グループデータ格納部１２５に格納されているデータ、第１継続時間格納部１２９に格納されているデータ及び第２継続時間格納部１３１に格納されているデータに基づき、後述の事前デプロイ処理の実行を制御する。第１デプロイ部１０７は、後述のデプロイ処理を実行し、処理結果をデプロイデータ格納部１２７に格納する。第２デプロイ部１０９は、後述の事前デプロイ処理を実行し、処理結果に基づきデプロイデータ格納部１２７に格納されているデータを更新する。ＶＭ管理部１１１は、ＶＭの削除の要求及びＶＭの動作の開始の要求をホスト装置３ａ乃至３ｃに送信する。第１設定部１１３１、第２設定部１１３２及び第３設定部１１３３を含む第１タイマ設定部１１３は、オートスケール履歴格納部１２３に格納されているデータ、デプロイデータ格納部１２７に格納されているデータ及び第１継続時間格納部１２９に格納されているデータに基づき、ＶＭのデプロイを開始する時刻を決定する。第２タイマ設定部１１５は、デプロイデータ格納部１２７に格納されているデータに基づき、事前デプロイ処理によりデプロイされたＶＭを削除する時刻を決定する。
【００２２】
図６は、グループデータ格納部１２５に格納される第１グループデータの一例を示す図である。図６の例では、利用者の識別情報に対応付けて、当該利用者に対して割り当てられたＶＭが属するグループの識別情報が格納される。本実施の形態においては、１の利用者に対して１のグループが対応付けられる。
【００２３】
図７は、グループデータ格納部１２５に格納される第２グループデータの一例を示す図である。図７の例では、グループの識別情報に対応付けて、当該グループに属するＶＭの最大数の情報が格納される。
【００２４】
図８は、ホスト装置３ａ乃至３ｃのハードウエア構成図である。ホスト装置３ａ乃至３ｃは、１又は複数のＣＰＵ３１と、１又は複数のメモリ３２と、１又は複数のＨＤＤ３３と、１又は複数のＮＩＣ３４とを有する。各ハードウエアコンポーネントはバス３５に接続される。
【００２５】
本実施の形態においては、例えばハイパバイザ（仮想化ソフトウエアとも呼ばれる）のプログラムがＨＤＤ３３に格納されており、当該プログラムがメモリ３２にロードされてＣＰＵ３１により実行されることでハイパバイザが動作する。ハイパバイザ上ではＶＭ３０１ａ及び３０２ａ、ＶＭ３０１ｂ及び３０２ｂ、並びにＶＭ３０１ｃ及び３０２ｃが動作する。
【００２６】
次に、管理装置１が実行する処理の詳細を説明する。
【００２７】
図９は、オートスケールの実行を制御する処理の処理フローを示す図である。本処理は、グループ毎に実行される（例えば、複数のスレッドの各々が１のグループについて本処理を実行する）。
【００２８】
負荷データ受信部１０１は、ＣＰＵ負荷（例えばＣＰＵ使用率）のデータをホスト装置３ａ乃至３ｃにおいて動作する各ＶＭから受信する（図９：ステップＳ１）。負荷データ受信部１０１は、受信したＣＰＵ負荷のデータを負荷データ格納部１２１に格納する。
【００２９】
図１０は、負荷データ格納部１２１に格納されるデータの一例を示す図である。図１０の例では、各時刻について、ＶＭに割り当てられたＣＰＵ３１のＣＰＵ負荷のデータが格納される。図１０に示すようなデータは各ＶＭについて用意される。
【００３０】
オートスケール制御部１０３は、負荷データ格納部１２１に格納されているＣＰＵ負荷のデータに基づき、オートスケールを開始すべきか判定する（ステップＳ３）。例えば、直近のＣＰＵ負荷が閾値（例えば７０％）以上であるＶＭが有る場合、又は、対象のグループに属するＶＭの直近のＣＰＵ負荷の平均値が閾値（例えば７０％）以上である場合、スケールアウトを開始すべきと判定される。一方、直近のＣＰＵ負荷が閾値未満（例えば４０％）であるＶＭが有る場合、又は、対象のグループに属するＶＭの直近のＣＰＵ負荷の平均値が閾値（例えば４０％）未満である場合、スケールインを開始すべきと判定される。スケールアウト及びスケールインのいずれも開始されない場合、オートスケールは開始されない。
【００３１】
オートスケールを開始すべきではないと判定された場合（ステップＳ３：Ｎｏルート）、処理はステップＳ１に戻る。一方、オートスケールを開始すべきと判定された場合（ステップＳ３：Ｙｅｓルート）、オートスケール制御部１０３は、以下の処理を実行する。具体的には、オートスケール制御部１０３は、開始すべきオートスケールに関する情報をオートスケール履歴格納部１２３に格納する（ステップＳ５）。また、オートスケール制御部１０３は、オートスケールの開始と、開始されるオートスケールがスケールインとスケールアウトのいずれであるかを示す情報とを事前デプロイ制御部１０５に通知する。
【００３２】
図１１は、オートスケール履歴格納部１２３に格納されるデータの一例を示す図である。図１１の例では、レコードの番号と、オートスケールにより達する状態を示す情報（以下、状態情報と呼ぶ）と、状態の開始時刻と、状態の終了時刻と、状態の継続時間と、オートスケールがスケールアウトとスケールインのいずれであるかを示す情報（以下、オートスケール情報と呼ぶ）とが格納される。但し、ステップＳ５の処理時点においては、レコードの番号と、状態情報と、オートスケールの開始時刻と、オートスケール情報とが格納される。オートスケールの終了時刻及び状態の継続時間は、後の処理で格納される。或るレコードの開始時刻は、１つ前のレコードの終了時刻と同じである。
【００３３】
オートスケール制御部１０３は、開始すべきオートスケールがスケールアウトであるか判定する（ステップＳ７）。
【００３４】
開始すべきオートスケールがスケールアウトではない場合（ステップＳ７：Ｎｏルート）、オートスケール制御部１０３は、スケールインのための処理を実行する（ステップＳ８）。具体的には、ＶＭ管理部１１１に、ＶＭの稼働の停止の要求をホスト装置３ａ乃至３ｃのうちいずれかのホスト装置に送信する処理を実行させる。当該要求を受信したホスト装置は１台のＶＭの稼働を停止する。なお、今回のスケールインの前に実行されたオートスケール（すなわち、前回のオートスケール）がスケールインである場合には、ステップＳ８の処理の後、前回のスケールインによって稼働が停止されたＶＭのイメージファイルをＨＤＤ３３から削除してもよい。この場合、ステップＳ８の処理が終了した時刻を、今回のスケールインのレコードの直前のレコードについての終了時刻とみなすことができるので、オートスケール制御部１０３は、ステップＳ８の処理が終了した時刻を状態の終了時刻としてオートスケール履歴格納部１２３に格納する。また、オートスケール制御部１０３は、状態の開始時刻から状態の終了時刻までの時間である継続時間をオートスケール履歴格納部１２３に格納する。
【００３５】
一方、開始すべきオートスケールがスケールアウトである場合（ステップＳ７：Ｙｅｓルート）、処理は端子Ａを介して図１２のステップＳ９に移行する。
【００３６】
図１２の説明に移行し、オートスケール制御部１０３は、事前にデプロイされたＶＭの数ｎが１以上であるか判定する（ステップＳ９）。ｎは、例えば図１３に示すような形式でメモリ１２又はＨＤＤ１３に格納されている。
【００３７】
事前にデプロイされたＶＭの数ｎが１以上である場合（ステップＳ９：Ｙｅｓルート）、事前にデプロイされたＶＭをオートスケールに利用できるので、デプロイを実行することなく処理はステップＳ１３に移行する。
【００３８】
一方、事前にデプロイされたＶＭの数ｎが０である場合（ステップＳ９：Ｎｏルート）、オートスケール制御部１０３は、第１デプロイ部１０７を呼び出す。これに応じ、第１デプロイ部１０７は、ＶＭをデプロイするための処理であるデプロイ処理を実行する（ステップＳ１１）。
【００３９】
図１４は、デプロイ処理の処理フローを示す図である。
【００４０】
第１デプロイ部１０７は、デプロイの開始時刻（例えば、ステップＳ３１の処理時点の時刻）の情報を例えばＯＳ（Operating System）から取得する（図１４：ステップＳ３１）。
【００４１】
第１デプロイ部１０７は、ホスト装置３ａ乃至３ｃのうちいずれかのホスト装置にデプロイを実行させる（ステップＳ３３）。具体的には、第１デプロイ部１０７は、ホスト装置３ａ乃至３ｃのうちいずれかのホスト装置に対して、対象のグループに属するＶＭ１台についてデプロイの実行の要求を送信する。当該要求を受け取ったホスト装置は、例えばネットワーク上の装置からダウンロードされたイメージファイルをＨＤＤ３３に書き込むことを開始する。イメージファイルはＶＭを生成するためのファイルであって、ＶＭのＯＳがインストールされた状態のファイルである。イメージファイルは、例えば、ＯＳの種別毎に用意される。
【００４２】
デプロイが終了したことを示す通知をホスト装置から受信すると、第１デプロイ部１０７は、デプロイの終了時刻（例えば、ステップＳ３５の処理時点の時刻）の情報を例えばＯＳから取得する（ステップＳ３５）。
【００４３】
第１デプロイ部１０７は、デプロイ回数、総デプロイ時間及び平均デプロイ時間をデプロイデータ格納部１２７に格納する（ステップＳ３７）。さらに、第１デプロイ部１０７は、ｎを１インクリメントする（ステップＳ３９）。そして処理は呼び出し元に戻る。但し、既にデプロイ回数、総デプロイ時間及び平均デプロイ時間がデプロイデータ格納部１２７に格納されている場合には、更新が実行される。
【００４４】
図１５は、デプロイデータ格納部１２７に格納されるデータの一例を示す図である。図１５の例では、デプロイ回数と、総デプロイ時間と、平均デプロイ時間とが格納される。デプロイ回数は、ステップＳ３７の処理時点までに実行されたデプロイの回数である。総デプロイ時間は、実行されたデプロイにかかった総時間である。平均デプロイ時間は、総デプロイ時間をデプロイ回数で割ることで算出される。
【００４５】
図１２の説明に戻り、ＶＭ管理部１１１は、事前にデプロイされたＶＭ又はステップＳ１１においてデプロイされたＶＭの動作を開始させる（ステップＳ１３）。具体的には、ＶＭ管理部１１１は、動作の開始の要求を当該ＶＭがデプロイされたホスト装置に送信する。なお、ステップＳ１３の処理が終了した時刻を、今回のスケールアウトのレコードの直前のレコードについての終了時刻とみなすことができるので、オートスケール制御部１０３は、ステップＳ１３の処理が終了した時刻を状態の終了時刻としてオートスケール履歴格納部１２３に格納する。また、オートスケール制御部１０３は、状態の開始時刻から状態の終了時刻までの時間である継続時間をオートスケール履歴格納部１２３に格納する。
【００４６】
オートスケール制御部１０３は、ｎを１デクリメントする（ステップＳ１５）。
【００４７】
オートスケール制御部１０３は、オートスケール履歴格納部１２３に格納されている、今回のスケールアウトのレコードの直前のレコードに含まれるオートスケール情報が「スケールイン」であるか否かに基づき、今回のスケールアウトはスケールイン後のスケールアウトであるか判定する（ステップＳ１７）。
【００４８】
今回のスケールアウトはスケールイン後のスケールアウトである場合（ステップＳ１７：Ｙｅｓルート）、オートスケール制御部１０３は、以下の処理を実行する。具体的には、オートスケール制御部１０３は、オートスケール履歴格納部１２３に格納されている継続時間（ここでは、直前のステップＳ１３の後にオートスケール履歴格納部１２３に格納された継続時間）に基づき、第２継続時間格納部１３１に格納されているデータを更新する（ステップＳ１９）。そして処理は端子Ｂを介して図９のステップＳ１に戻る。ステップＳ１９において更新に使用される継続時間は、スケールイン後にスケールアウトが開始されるまでの時間、つまり、スケールインにより減ったＶＭ数がスケールアウトにより元に戻るまでの時間である。
【００４９】
図１６は、第２継続時間格納部１３１に格納されるデータの一例を示す図である。図１６の例では、状態情報と、総継続時間と、発生回数と、平均継続時間とが格納される。例えばスケールインによってＶＭ数が２に減り且つ今回のスケールアウトによってＶＭ数が３に増えた場合、１番目のレコードにおいて、直前のステップＳ１３の処理後にオートスケール履歴格納部１２３に格納された継続時間が総継続時間に加算され且つ発生回数が１インクリメントされ、総継続時間及び発生回数に基づき平均継続時間が更新される。
【００５０】
一方、今回のスケールアウトはスケールイン後のスケールアウトではない場合（ステップＳ１７：Ｎｏルート）、オートスケール制御部１０３は、以下の処理を実行する。具体的には、オートスケール制御部１０３は、オートスケール履歴格納部１２３に格納されている継続時間（ここでは、直前のステップＳ１３の後にオートスケール履歴格納部１２３に格納された継続時間）に基づき、第１継続時間格納部１２９に格納されているデータを更新する（ステップＳ２１）。
【００５１】
図１７は、第１継続時間格納部１２９に格納されるデータの一例を示す図である。図１７の例では、状態情報と、総継続時間と、発生回数と、平均継続時間とが格納される。例えば今回のスケールアウトによってＶＭ数が３から４に増えた場合、２番目のレコードにおいて、直前のステップＳ１３の処理後にオートスケール履歴格納部１２３に格納された継続時間が総継続時間に加算され且つ発生回数が１インクリメントされ、総継続時間及び発生回数に基づき平均継続時間が更新される。
【００５２】
図１８は、第１の実施の形態において事前デプロイ処理の実行を制御する処理の処理フローを示す図である。本処理は、グループ毎に実行される（例えば、複数のスレッドの各々が１のグループについて本処理を実行する）。
【００５３】
事前デプロイ制御部１０５は、オートスケール制御部１０３からの通知を受け取ったか否かに基づき、オートスケールが開始されるか判定する（図１８：ステップＳ４３）。
【００５４】
オートスケールが開始されない場合（ステップＳ４３：Ｎｏルート）、処理はステップＳ４３に戻る。一方、オートスケールが開始される場合（ステップＳ４３：Ｙｅｓルート）、事前デプロイ制御部１０５は、オートスケール制御部１０３からの通知に基づき、開始されるオートスケールがスケールアウトであるか判定する（ステップＳ４５）。
【００５５】
開始されるオートスケールがスケールアウトである場合（ステップＳ４５：Ｙｅｓルート）、事前デプロイ制御部１０５は、以下の処理を実行する。具体的には、事前デプロイ制御部１０５は、現在のＶＭ数（すなわち、ホスト装置において現在稼働中のＶＭの数）について、スケールアウトが開始されるまでの時間（ここでは、スケールアウトが実行されるまでの状態の平均継続時間）のデータが第１継続時間格納部１２９に有るか判定する（ステップＳ４９）。
【００５６】
現在のＶＭ数について、スケールアウトが実行されるまでの時間のデータが第１継続時間格納部１２９にない場合（ステップＳ４９：Ｎｏルート）、処理はステップＳ４３に戻る。一方、現在のＶＭ数について、スケールアウトが開始されるまでの時間のデータが第１継続時間格納部１２９に有る場合（ステップＳ４９：Ｙｅｓルート）、事前デプロイ制御部１０５は、第１タイマ設定部１１３を呼び出す。これに応じ、第１タイマ設定部１１３は、事前デプロイ処理の実行を開始する時刻についてタイマを設定する処理である第１タイマ設定処理を実行する（ステップＳ５０）。
【００５７】
図１９は、第１タイマ設定処理の処理フローを示す図である。
【００５８】
第１設定部１１３１は、オートスケール履歴格納部１２３から最新のレコードに含まれる開始時刻を読み出し、現在のＶＭ数に対応する平均継続時間を第１継続時間格納部１２９から読み出す。そして、第１設定部１１３１は、開始時刻から平均継続時間後の時刻を、次のスケールアウトが開始される予測時刻として算出する（図１９：ステップＳ５１）。
【００５９】
第２設定部１１３２は、デプロイデータ格納部１２７に格納されている平均デプロイ時間を読み出す（ステップＳ５２）。
【００６０】
第３設定部１１３３は、ステップＳ５１において算出された予測時刻から、ステップＳ５２において読み出された平均デプロイ時間を差し引くことで、デプロイの開始時刻を決定する。そして、第３設定部１１３３は、決定された開始時刻にタイムアウトするようにタイマを設定する（ステップＳ５３）。そして処理は呼び出し元に戻る。
【００６１】
図２０は、デプロイの開始時刻の決定について説明するための図である。図２０に示すように、デプロイの開始時刻は、スケールアウトが開始される予測時刻よりも平均デプロイ時間だけ前になるように決定される。このようにすることで、スケールアウトが開始する前にデプロイが完了し、スケールアウトの開始後迅速にＶＭを稼働させることができるので、スケールアウトが完了するまでの時間を短縮することができる。なお、ステップＳ５３においては、予測時刻から平均デプロイ時間以上前の時刻をデプロイの開始時刻としてもよい。
【００６２】
図１８の説明に戻り、事前デプロイ制御部１０５は、ステップＳ５３において設定されたタイマがタイムアウトした場合、第２デプロイ部１０９を呼び出す。そして、第２デプロイ部１０９は、事前デプロイ処理を実行する（ステップＳ５４）。事前デプロイ処理が終了すると、処理はステップＳ４３に戻る。
【００６３】
図２１は、事前デプロイ処理の処理フローを示す図である。
【００６４】
第２デプロイ部１０９は、デプロイの開始時刻（例えば、ステップＳ７１の処理時点の時刻）の情報を例えばＯＳから取得する（図２１：ステップＳ７１）。
【００６５】
第２デプロイ部１０９は、ホスト装置３ａ乃至３ｃのうちいずれかのホスト装置にデプロイを実行させる（ステップＳ７３）。具体的には、第２デプロイ部１０９は、ホスト装置３ａ乃至３ｃのうちいずれかのホスト装置に対して、対象のグループに属するＶＭ１台についてのデプロイの実行の要求を送信する。当該要求を受け取ったホスト装置は、例えばネットワーク上の装置からダウンロードされたイメージファイルのＨＤＤ３３への書き込みを開始する。
【００６６】
デプロイが終了したことを示す通知をホスト装置から受信すると、第２デプロイ部１０９は、デプロイの終了時刻（例えば、ステップＳ７５の処理時点の時刻）の情報を例えばＯＳから取得する（ステップＳ７５）。
【００６７】
第２デプロイ部１０９は、デプロイデータ格納部１２７に格納されているデプロイ回数、総デプロイ時間及び平均デプロイ時間を更新する（ステップＳ７７）。
【００６８】
第２デプロイ部１０９は、ｎを１インクリメントする（ステップＳ７９）。そして処理は端子Ｅを介して図２２のステップＳ８１に移行する。
【００６９】
図２２の説明に移行し、第２デプロイ部１０９は、第２タイマ設定部１１５を呼び出す。そして、第２タイマ設定部１１５は、第２タイマ設定処理を実行する（図２２：ステップＳ８１）。第２タイマ設定処理は、スケールアウトが開始される時刻から所定時間（例えば５分）後にタイムアウトするようにタイマを設定する処理である。
【００７０】
ステップＳ８１において設定されたタイマがタイムアウトする前にスケールアウトが開始された場合、第２タイマ設定部１１５は当該タイマの設定を破棄する。一方、ステップＳ８１において設定されたタイマがタイムアウトした場合、第２タイマ設定部１１５は、ＶＭ管理部１１１を呼び出す。そして、ＶＭ管理部１１１は、事前にデプロイされたＶＭを削除する処理である削除処理を実行する（ステップＳ８３）。
【００７１】
図２３は、第１の実施の形態における削除処理の処理フローを示す図である。
【００７２】
ＶＭ管理部１１１は、ステップＳ７３の処理によりデプロイされたＶＭの削除の要求を、ステップＳ７３において送信された要求に応じてＶＭをデプロイしたホスト装置に対して送信する（図２３：ステップＳ９１）。ＶＭの削除の要求を受信したホスト装置は、ステップＳ７３の処理によりデプロイされたＶＭのイメージファイルを削除する。
【００７３】
ＶＭ管理部１１１は、ｎを１デクリメントする（ステップＳ９３）。そして処理は呼び出し元に戻る。
【００７４】
図２２の説明に戻り、第２デプロイ部１０９は、現在のＶＭ数について、スケールアウトが開始されるまでの時間のデータを第１継続時間格納部１２９から読み出す（ステップＳ８５）。ステップＳ８５においては、現在のＶＭ数に対応する平均継続時間が第１継続時間格納部１２９から読み出される。
【００７５】
第２デプロイ部１０９は、現在の状態の開始時刻をオートスケール履歴格納部１２３から読み出す。そして、第２デプロイ部１０９は、次のスケールアウトが開始される時刻を、読み出された開始時刻にステップＳ８５において読み出された時間を加算することで算出する。そして、第２デプロイ部１０９は、現在時刻は次のスケールアウトが開始される時刻より後であるか判定する（ステップＳ８７）。
【００７６】
現在時刻は次のスケールアウトが開始される時刻より後である場合（ステップＳ８７：Ｙｅｓルート）、処理は端子Ｆを介して図２１のステップＳ７１の処理に戻る。一方、現在時刻は次のスケールアウトが開始される時刻より後ではない場合（ステップＳ８７：Ｎｏルート）、処理は呼び出し元に戻る。
【００７７】
図１８の説明に戻り、開始されるオートスケールがスケールアウトではない場合（ステップＳ４５：Ｎｏルート）、事前デプロイ制御部１０５は、以下の処理を実行する。具体的には、事前デプロイ制御部１０５は、現在のＶＭ数について、スケールイン後にスケールアウトが開始されるまでの時間（ここでは、スケールイン後の状態の平均継続時間）のデータが第２継続時間格納部１３１に有るか判定する（ステップＳ４７）。
【００７８】
現在のＶＭ数について、スケールイン後にスケールアウトが開始されるまでの時間のデータが第２継続時間格納部１３１にない場合（ステップＳ４７：Ｎｏルート）、処理はステップＳ４３に戻る。一方、現在のＶＭ数について、スケールイン後にスケールアウトが開始されるまでの時間のデータが第２継続時間格納部１３１に有る場合（ステップＳ４７：Ｙｅｓルート）、処理は端子Ｃを介して図２４のステップＳ５５に移行する。
【００７９】
図２４の説明に移行し、事前デプロイ制御部１０５は、スケールイン後にスケールアウトが開始されるまでの時間のデータを第２継続時間格納部１３１から読み出す（図２４：ステップＳ５５）。
【００８０】
事前デプロイ制御部１０５は、平均デプロイ時間をデプロイデータ格納部１２７から読み出す。そして、事前デプロイ制御部１０５は、ステップＳ５５において読み出した時間は平均デプロイ時間より長いか判定する（ステップＳ５７）。
【００８１】
ステップＳ５５において読み出した時間は平均デプロイ時間より長い場合（ステップＳ５７：Ｙｅｓルート）、事前デプロイ制御部１０５は、ＶＭ管理部１１１を呼び出す。そして、ＶＭ管理部１１１は、スケールインにより稼働を停止したＶＭの削除の要求を、当該ＶＭを稼働させるホスト装置に送信する（ステップＳ５９）。当該要求を受信したホスト装置は、スケールインにより稼働を停止したＶＭのイメージファイルをＨＤＤ３３から削除する。
【００８２】
事前デプロイ制御部１０５は、第１タイマ設定部１１３を呼び出す。これに応じ、第１タイマ設定部１１３は、事前デプロイ処理の実行を開始する時刻についてタイマを設定する処理である第１タイマ設定処理を実行する（ステップＳ６１）。第１タイマ設定処理については上で説明したとおりであるので、ここでは説明を省略する。
【００８３】
事前デプロイ制御部１０５は、ステップＳ６１において設定されたタイマがタイムアウトした場合、第２デプロイ部１０９を呼び出す。そして、第２デプロイ部１０９は、事前デプロイ処理を実行する（ステップＳ６３）。事前デプロイ処理については上で説明したとおりであるので、ここでは説明を省略する。事前デプロイ処理が終了すると、処理は端子Ｄを介して図１８のステップＳ４３に戻る。
【００８４】
一方、ステップＳ５５において読み出した時間は平均デプロイ時間より長くない場合（ステップＳ５７：Ｎｏルート）、事前デプロイ制御部１０５は、ｎを１インクリメントする（ステップＳ６５）。そして処理は端子Ｄを介して図１８のステップＳ４３に戻る。
【００８５】
以上のような処理を実行すれば、ＶＭが不足する場合に迅速にスケールアウトを完了することができる。また、予めデプロイされたＶＭが稼働しない場合にはＶＭが削除されるので、ホスト装置の記憶装置が無駄に消費されることを抑制することができる。さらに、スケールインが実行された場合には、スケールイン後にスケールアウトが開始されるまでの時間がデプロイ時間より長い場合に限りＶＭの削除及びデプロイが実行されるので、不要な削除及びデプロイを実行することを抑制できるようになる。
【００８６】
［実施の形態２］
ＶＭの使用の状況は時間の経過に伴って変化するため、オートスケールの古い履歴データを使用すると、平均デプロイ時間が適切に算出されなくなる可能性がある。そこで第２の実施の形態においては、以下のような処理が実行される。
【００８７】
図２５は、第２の実施の形態において事前デプロイ処理の実行を制御する処理の処理フローを示す図である。
【００８８】
第２デプロイ部１０９は、デプロイの開始時刻（例えば、ステップＳ１０１の処理時点の時刻）の情報を例えばＯＳから取得する（図２５：ステップＳ１０１）。
【００８９】
第２デプロイ部１０９は、ホスト装置３ａ乃至３ｃのうちいずれかのホスト装置にデプロイを実行させる（ステップＳ１０３）。具体的には、第２デプロイ部１０９は、ホスト装置３ａ乃至３ｃのうちいずれかのホスト装置に対して、対象のグループに属するＶＭ１台についてのデプロイの実行の要求を送信する。当該要求を受け取ったホスト装置は、例えばネットワーク上の装置からダウンロードされたイメージファイルのＨＤＤ３３への書き込みを開始する。
【００９０】
デプロイが終了したことを示す通知をホスト装置から受信すると、第２デプロイ部１０９は、デプロイの終了時刻（例えば、ステップＳ１０５の処理時点の時刻）の情報を例えばＯＳから取得する（ステップＳ１０５）。
【００９１】
第２デプロイ部１０９は、デプロイデータ格納部１２７に格納されているデプロイ回数、総デプロイ時間及び平均デプロイ時間を更新する（ステップＳ１０７）。
【００９２】
第２デプロイ部１０９は、事前デプロイ処理によりデプロイが実行された回数Ｎを１インクリメントする（ステップＳ１０９）。Ｎは、例えば図２６に示すような形式でメモリ１２又はＨＤＤ１３に格納されている。
【００９３】
第２デプロイ部１０９は、ｎを１インクリメントする（ステップＳ１１１）。そして処理は端子Ｅを介して図２２のステップＳ８１に移行する。端子Ｅ以降の処理については上で説明したとおりであるので、説明を省略する。
【００９４】
図２７は、第２の実施の形態における削除処理の処理フローを示す図である。
【００９５】
ＶＭ管理部１１１は、ステップＳ１０３の処理によりデプロイされたＶＭの削除の要求を、ステップＳ１０３において送信された要求に応じてＶＭをデプロイしたホスト装置に対して送信する（図２７：ステップＳ１２１）。ＶＭの削除の要求を受信したホスト装置は、ステップＳ１０３の処理によりデプロイされたＶＭのイメージファイルを削除する。
【００９６】
ＶＭ管理部１１１は、ｎを１デクリメントする（ステップＳ１２３）。
【００９７】
ＶＭ管理部１１１は、事前デプロイ処理によりデプロイされたＶＭが削除された回数Ｍを１インクリメントする（ステップＳ１２５）。Ｍは、例えば図２８に示すような形式でメモリ１２又はＨＤＤ１３に格納されている。
【００９８】
ＶＭ管理部１１１は、ＭをＮで割った値が第１の閾値（例えば０．４）以上であるか判定する（ステップＳ１２７）。
【００９９】
ＭをＮで割った値が第１の閾値以上ではない場合（ステップＳ１２７：Ｎｏルート）、処理は呼び出し元に戻る。
【０１００】
一方、ＭをＮで割った値が第１の閾値以上である場合（ステップＳ１２７：Ｙｅｓルート）、ＶＭ管理部１１１は、Ｎが第２の閾値（例えば２００）以上であるか判定する（ステップＳ１２９）。
【０１０１】
Ｎが第２の閾値以上ではない場合（ステップＳ１２９：Ｎｏルート）、処理は呼び出し元に戻る。
【０１０２】
一方、Ｎが第２の閾値以上である場合（ステップＳ１２９：Ｙｅｓルート）、ＶＭ管理部１１１は、オートスケール履歴格納部１２３に格納されているデータのうち所定時点（例えば、現在時刻より所定時間（例えば１週間）前の時点）より前のデータを削除する（ステップＳ１３１）。
【０１０３】
ＶＭ管理部１１１は、オートスケール履歴格納部１２３に格納されているデータに基づき、第１継続時間格納部１２９に格納されているデータを更新する（ステップＳ１３３）。
【０１０４】
ＶＭ管理部１１１は、オートスケール履歴格納部１２３に格納されているデータに基づき、第２継続時間格納部１３１に格納されているデータを更新する（ステップＳ１３５）。そして処理は呼び出し元に戻る。
【０１０５】
以上のような処理を実行すれば、例えば利用者による使用の状況が変わったことにより状態の継続時間が変わるような場合においても、適切な時刻にデプロイを開始することができるようになる。
【０１０６】
［実施の形態３］
イメージファイルをＨＤＤ３３に書き込むのに要する時間は、イメージファイルの種類によって大きく異なる場合がある。例えば、或る種類のイメージファイルをＨＤＤ３３に書き込むのに要する時間は約３時間であるのに対し、別の種類のイメージファイルをＨＤＤ３３に書き込むのに要する時間は約６時間であるといった場合がある。このような場合には、イメージファイル毎にデプロイ時間を算出することが好ましい。
【０１０７】
そのため、第３の実施の形態においては、例えば図２９に示すような第１グループデータがグループデータ格納部１２５に格納される。図２９の例では、利用者の識別情報と、当該利用者に割り当てられたグループの識別情報と、当該グループに属するＶＭを生成するためのイメージファイルの識別情報とが格納される。
【０１０８】
そして、第３の実施の形態においては、デプロイ時間はイメージファイル毎に算出される。図３０は、第３の実施の形態におけるデプロイデータ格納部１２７に格納されるデータの一例を示す図である。図３０の例では、イメージファイルの識別情報と、デプロイ回数と、総デプロイ時間と、平均デプロイ時間とが格納される。
【０１０９】
以上のような構成であれば、イメージファイルの種類によってデプロイ時間が大きく異なる場合においても、適切な時刻にデプロイを開始することができるようになる。
【０１１０】
［実施の形態４］
第１乃至第３の実施の形態においてはホスト装置とは別に管理装置１が設けられるが、ホスト装置が管理装置１の機能を持つようにしてもよい。図３１は、第４の実施の形態におけるホスト装置３ａの機能ブロック図である。ホスト装置３ａにおいてはＶＭ３０１ａ及びＶＭ３０２ａが稼働し、ホスト装置３ａは管理部３０を有する。管理部３０は、第１乃至第３の実施の形態における管理装置１の機能を有する。図３１の例においてはホスト装置３ａにおいて２台のＶＭが稼働しているが、３台以上のＶＭが稼働してもよい。ホスト装置３ｂ及び３ｃの機能ブロック図はホスト装置３ａの機能ブロック図と同様である。
【０１１１】
以上のような構成であれば、ホスト装置３ａ乃至３ｃとは別に管理装置１を用意しなくても運用を実施できるようになる。
【０１１２】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した管理装置１の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【０１１３】
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１１４】
また、本実施の形態においてはＶＭの生成にイメージファイルが利用されるが、スナップショットを利用してＶＭを生成してもよい。
【０１１５】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１１６】
本実施の形態の第１の態様に係る情報処理装置は、（Ａ）１又は複数の仮想マシンが稼働する他の情報処理装置において実行されたオートスケールの履歴データに基づき、他の情報処理装置においてスケールアウトが開始される予測時刻を特定する第１特定部（実施の形態における第１設定部１１３１は上記第１特定部の一例である）と、（Ｂ）他の情報処理装置において実行されたデプロイの開始時刻および終了時刻のデータに基づき、デプロイの所要時間を特定する第２特定部（実施の形態における第２設定部１１３２は上記第２特定部の一例である）と、（Ｃ）特定された予測時刻と所要時間とに基づき、他の情報処理装置がデプロイを開始する開始時刻を決定する決定部（実施の形態における第３設定部１１３３は上記決定部の一例である）と、（Ｄ）他の情報処理装置においてデプロイが開始されることを要求する第１の要求を、開始時刻において他の情報処理装置に送信するデプロイ部（実施の形態における第２デプロイ部１０９は上記デプロイ部の一例である）とを有する。
【０１１７】
時間がかかるデプロイを、他の情報処理装置においてスケールアウトが開始される前に開始できるので、仮想マシンが不足する場合に迅速にスケールアウトを完了することができるようになる。
【０１１８】
また、本情報処理装置は、（Ｅ）予測時刻から所定時間の経過後に他の情報処理装置においてスケールアウトが開始されない場合、第１の要求に応じてデプロイされた仮想マシンを削除することを要求する第２の要求を、他の情報処理装置に送信する削除部（実施の形態におけるＶＭ管理部１１１は上記削除部の一例である）をさらに有してもよい。
【０１１９】
デプロイされた仮想マシン用のリソース（例えば記憶装置）を他の用途に使用することができるようになる。
【０１２０】
また、上記削除部は、（ｅ１）第１の要求に応じてデプロイされた仮想マシンの数に対する第２の要求に応じて削除された仮想マシンの数の割合が所定値以上である場合、履歴データのうち所定時刻より前の部分を削除してもよい。
【０１２１】
スケールアウトの実行タイミング等の変化に追従できるようになる。
【０１２２】
また、本情報処理装置は、（Ｆ）履歴データに基づき、仮想マシンにおいてスケールインが実行された後スケールアウトが開始されるまでの時間を算出する算出部（実施の形態におけるオートスケール制御部１０３は上記算出部の一例である）をさらに有してもよい。そして、上記削除部は、（ｅ２）他の情報処理装置においてスケールインが開始され且つ算出部により算出された時間が所要時間より長い場合、他の情報処理装置においてデプロイされた仮想マシンを削除することを要求する第３の要求を送信してもよい。
【０１２３】
仮想マシンを無駄に削除することを抑制できるようになる。
【０１２４】
また、上記第１特定部は、（ａ１）オートスケールが完了してから次のオートスケールが開始されるまでの平均時間に基づき、予測時刻を特定してもよい。
【０１２５】
また、開始時刻は、予測時刻から所要時間以上前の時刻であってもよい。
【０１２６】
デプロイが完了した時点でスケールアウトが開始される可能性が高くなる。
【０１２７】
また、上記第２特定部は、（ｂ１）デプロイされる仮想マシンの種類毎に所要時間を特定してもよい。
【０１２８】
より適切な所要時間を特定できるようになる。
【０１２９】
本実施の形態の第２の態様に係る情報処理システムは、（Ｇ）１又は複数の仮想マシンが稼働する第１の情報処理装置と、（Ｈ）第２の情報処理装置とを有する。そして、上記第２の情報処理装置は、（ｈ１）第１の情報処理装置において実行されたオートスケールの履歴データに基づき、第１の情報処理装置においてスケールアウトが開始される予測時刻を特定する第１特定部（実施の形態における第１設定部１１３１は上記第１特定部の一例である）と、（ｈ２）第１の情報処理装置において実行されたデプロイの開始時刻および終了時刻のデータに基づき、デプロイの所要時間を特定する第２特定部（実施の形態における第２設定部１１３２は上記第２特定部の一例である）と、（ｈ３）特定された予測時刻と所要時間とに基づき、第１の報処理装置においてデプロイが開始される開始時刻を決定する決定部（実施の形態における第３設定部１１３３は上記決定部の一例である）と、（ｈ４）第１の情報処理装置がデプロイを開始することを要求する第１の要求を、開始時刻において第１の情報処理装置に送信するデプロイ部（実施の形態における第２デプロイ部１０９は上記デプロイ部の一例である）とを有するする。
【０１３０】
本実施の形態の第３の態様に係る情報処理方法は、（Ｉ）１又は複数の仮想マシンが稼働する情報処理装置において実行されたオートスケールの履歴データに基づき、情報処理装置においてスケールアウトが開始される予測時刻を特定し、（Ｊ）情報処理装置において実行されたデプロイの開始時刻および終了時刻のデータに基づき、デプロイの所要時間を特定し、（Ｋ）特定された予測時刻と所要時間とに基づき、情報処理装置においてデプロイが開始される開始時刻を決定し、（Ｌ）情報処理装置がデプロイを開始することを要求する第１の要求を、開始時刻において情報処理装置に送信する処理を含む。
【０１３１】
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１３２】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１３３】
（付記１）
情報処理装置であって、
１又は複数の仮想マシンが稼働する他の情報処理装置において実行されたオートスケールの履歴データに基づき、前記他の情報処理装置においてスケールアウトが開始される予測時刻を特定する第１特定部と、
前記他の情報処理装置において実行されたデプロイの開始時刻および終了時刻のデータに基づき、前記デプロイの所要時間を特定する第２特定部と、
特定された前記予測時刻と前記所要時間とに基づき、前記他の情報処理装置において前記デプロイが開始される開始時刻を決定する決定部と、
前記他の情報処理装置が前記デプロイを開始することを要求する第１の要求を、前記開始時刻において前記他の情報処理装置に送信するデプロイ部と、
を有する情報処理装置。
【０１３４】
（付記２）
前記予測時刻から所定時間の経過後に前記他の情報処理装置においてスケールアウトが開始されない場合、前記第１の要求に応じてデプロイされた仮想マシンを削除することを要求する第２の要求を、前記他の情報処理装置に送信する削除部
をさらに有する付記１記載の情報処理装置。
【０１３５】
（付記３）
前記削除部は、
前記第１の要求に応じてデプロイされた仮想マシンの数に対する前記第２の要求に応じて削除された仮想マシンの数の割合が所定値以上である場合、前記履歴データのうち所定時刻より前の部分を削除する、
付記２記載の情報処理装置。
【０１３６】
（付記４）
前記情報処理装置は、
前記履歴データに基づき、前記仮想マシンにおいてスケールインが実行された後スケールアウトが開始されるまでの時間を算出する算出部
をさらに有し、
前記削除部は、
前記他の情報処理装置においてスケールインが開始され且つ前記算出部により算出された時間が前記所要時間より長い場合、前記他の情報処理装置においてデプロイされた仮想マシンを削除することを要求する第３の要求を送信する、
付記２又は３記載の情報処理装置。
【０１３７】
（付記５）
前記第１特定部は、
オートスケールが完了してから次のオートスケールが開始されるまでの平均時間に基づき、前記予測時刻を特定する、
付記１乃至４のいずれか１つ記載の情報処理装置。
【０１３８】
（付記６）
前記開始時刻は、前記予測時刻から前記所要時間以上前の時刻である、
付記１乃至５のいずれか１つ記載の情報処理装置。
【０１３９】
（付記７）
前記第２特定部は、
デプロイされる仮想マシンの種類毎に前記所要時間を特定する、
付記１記載の情報処理装置。
【０１４０】
（付記８）
１又は複数の仮想マシンが稼働する第１の情報処理装置と、
第２の情報処理装置と、
を有し、
前記第２の情報処理装置は、
前記第１の情報処理装置において実行されたオートスケールの履歴データに基づき、前記第１の情報処理装置においてスケールアウトが開始される予測時刻を特定する第１特定部と、
前記第１の情報処理装置において実行されたデプロイの開始時刻および終了時刻のデータに基づき、前記デプロイの所要時間を特定する第２特定部と、
特定された前記予測時刻と前記所要時間とに基づき、前記第１の報処理装置においてデプロイが開始される開始時刻を決定する決定部と、
前記第１の情報処理装置がデプロイを開始することを要求する第１の要求を、前記開始時刻において前記第１の情報処理装置に送信するデプロイ部と、
とを有する情報処理システム。
【０１４１】
（付記９）
コンピュータに、
１又は複数の仮想マシンが稼働する情報処理装置において実行されたオートスケールの履歴データに基づき、前記情報処理装置においてスケールアウトが開始される予測時刻を特定し、
前記情報処理装置において実行されたデプロイの開始時刻および終了時刻のデータに基づき、前記デプロイの所要時間を特定し、
特定された前記予測時刻と前記所要時間とに基づき、前記情報処理装置において前記デプロイが開始される開始時刻を決定し、
前記情報処理装置が前記デプロイを開始することを要求する第１の要求を、前記開始時刻において前記情報処理装置に送信する、
処理を実行させるプログラム。
【符号の説明】
【０１４２】
１  管理装置    ３ａ，３ｂ，３ｃ  ホスト装置
１１，３１  ＣＰＵ    １２，３２  メモリ
１３，３３  ＨＤＤ    １４，３４  ＮＩＣ
１５，３５  バス
１０１  負荷データ受信部    １０３  オートスケール制御部
１０５  事前デプロイ制御部    １０７  第１デプロイ部
１０９  第２デプロイ部    １１１  ＶＭ管理部
１１３  第１タイマ設定部    １１５  第２タイマ設定部
１２１  負荷データ格納部    １２３  オートスケール履歴格納部
１２５  グループデータ格納部    １２７  デプロイデータ格納部
１２９  第１継続時間格納部    １３１  第２継続時間格納部
１１３１  第１設定部    １１３２  第２設定部
１１３３  第３設定部    ３０  管理部
３０１ａ，３０１ｂ，３０１ｃ，３０２ａ，３０２ｂ，３０２ｃ  ＶＭ
【図１】
2019086949.tif 000003
【図２】
2019086949.tif 000004
【図３】
2019086949.tif 000005
【図４】
2019086949.tif 000006
【図５】
2019086949.tif 000007
【図６】
2019086949.tif 000008
【図７】
2019086949.tif 000009
【図８】
2019086949.tif 000010
【図９】
2019086949.tif 000011
【図１０】
2019086949.tif 000012
【図１１】
2019086949.tif 000013
【図１２】
2019086949.tif 000014
【図１３】
2019086949.tif 000015
【図１４】
2019086949.tif 000016
【図１５】
2019086949.tif 000017
【図１６】
2019086949.tif 000018
【図１７】
2019086949.tif 000019
【図１８】
2019086949.tif 000020
【図１９】
2019086949.tif 000021
【図２０】
2019086949.tif 000022
【図２１】
2019086949.tif 000023
【図２２】
2019086949.tif 000024
【図２３】
2019086949.tif 000025
【図２４】
2019086949.tif 000026
【図２５】
2019086949.tif 000027
【図２６】
2019086949.tif 000028
【図２７】
2019086949.tif 000029
【図２８】
2019086949.tif 000030
【図２９】
2019086949.tif 000031
【図３０】
2019086949.tif 000032
【図３１】
2019086949.tif 000033