(57)【要約】【課題】オートスケールによってＶＭ／コンテナ数等のリソース割当量を適正に制御する。【解決手段】オートスケール型性能保証システム１０は、サーバに生成されるＶＭ／コンテナＶ１〜Ｖ４（Ｖ１〜Ｖ４）の数及び、Ｖ１〜Ｖ４のリソースを増減するオートスケールを行う。コンピュート１１は、複数種類のＶ１〜Ｖ４と、Ｖ１〜Ｖ４のリソースの割当量を収集するデータ収集部１１ａと、後述のリソース制御量に応じてＶ１〜Ｖ４のリソースを増減するオートスケールを行うリソース制御部１１ｂとを備える。コントローラ１２は、上記収集された割当量を基に、Ｖ１〜Ｖ４に係る通信サービス品質を提供するための性能に対して、リソースの割当量が依存する依存有りか否かを表わす依存度を算出する依存度算出部１２ｂと、算出された依存有りの依存度に係るリソースのみを増減させるためのリソース制御量を求めるオートスケール判断部１２ｃとを備える。【選択図】図１
2020123849.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク接続されたサーバに生成されるＶＭ（Virtual Machine）及びコンテナの何れか一方又は双方であるＶＭ／コンテナの数及び、当該ＶＭ／コンテナのＣＰＵ（Central Processing Unit）及びメモリに代表されるリソースを追加又は削除して増減するオートスケールを行うオートスケール型性能保証システムであって、
複数種類の前記ＶＭ／コンテナと、
前記ＶＭ／コンテナのリソースの割当量を収集する収集部と、
前記ＶＭ／コンテナのリソースを増減するオートスケールを行う制御部と
を有する第１サーバを備えると共に、
前記収集された割当量を基に、前記ＶＭ／コンテナに係る通信サービス品質を提供するための性能に対して、前記リソースの割当量が依存する依存有りか否かを表わす依存度を算出する算出部と、
前記算出された依存有りの依存度に係るリソースのみを増減させるためのリソース制御量を求める判断部と
を有する第２サーバを備え、
前記制御部は、前記判断部で求められるリソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナのリソースを増減する
ことを特徴とするオートスケール型性能保証システム。
【請求項２】
前記算出部は、前記リソースの割当量としての前記ＶＭ／コンテナの数と前記性能との相関係数を求め、この求められた相関係数が予め定められた閾値を超える場合に前記依存度を依存有りとして算出し、
前記判断部は、前記算出された依存有りの依存度に係る前記ＶＭ／コンテナの数のみを増減させるためのリソース制御量を求め、
前記制御部は、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナの数を増減する
ことを特徴とする請求項１に記載のオートスケール型性能保証システム。
【請求項３】
前記算出部は、前記リソースの割当量としての前記ＶＭ／コンテナのリソース割当セット数と前記性能との相関係数を求め、この求められた相関係数が予め定められた閾値を超える場合に前記依存度を依存有りとして算出し、
前記判断部は、前記算出された依存有りの依存度に係る前記ＶＭ／コンテナのリソース割当セット数のみを増減させるためのリソース制御量を求め、
前記制御部は、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナのリソース割当セット数を増減する
ことを特徴とする請求項１に記載のオートスケール型性能保証システム。
【請求項４】
前記算出部は、前記リソースの割当量としての前記ＶＭ／コンテナの数と前記性能との相関係数を求め、この求められた相関係数に応じて当該ＶＭ／コンテナ毎に重み定数を算出し、
前記判断部は、前記算出されたＶＭ／コンテナ毎の重み定数に応じてＶＭ／コンテナ毎の増減数を定め、このＶＭ／コンテナ毎の増減数の比で、各ＶＭ／コンテナの数を増減させるためのリソース制御量を求め、
前記制御部は、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナの数を増減する
ことを特徴とする請求項１に記載のオートスケール型性能保証システム。
【請求項５】
前記算出部は、前記ＶＭ／コンテナのリソース割当セット数を用い、当該リソース割当セット数と前記性能との相関係数を求め、この求められた相関係数に応じて当該ＶＭ／コンテナ毎に重み定数を算出し、
前記判断部は、前記算出されたＶＭ／コンテナ毎の重み定数に応じてＶＭ／コンテナ毎の増減数を定め、このＶＭ／コンテナ毎の増減数の比で、ＶＭ／コンテナ毎にリソース割当セット数を増減させるためのリソース制御量を求め、
前記制御部は、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナ毎にリソース割当セット数を増減する
ことを特徴とする請求項１に記載のオートスケール型性能保証システム。
【請求項６】
前記算出部は、前記リソースの割当量としての前記ＶＭ／コンテナの数と前記性能との相関係数を求め、この求められた相関係数が予め定められた閾値を超える場合に前記依存度を依存有り、当該閾値以下の場合に前記依存度を依存無しと定義し、当該依存無しに係るＶＭ／コンテナ以外の依存有りのＶＭ／コンテナ毎の相関係数に応じて当該ＶＭ／コンテナ毎に重み定数を算出し、
前記判断部は、前記算出されたＶＭ／コンテナ毎の重み定数に応じてＶＭ／コンテナ毎の増減数を定め、このＶＭ／コンテナ毎の増減数の比で、各ＶＭ／コンテナの数を増減させるためのリソース制御量を求め、
前記制御部は、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナの数を増減する
ことを特徴とする請求項１に記載のオートスケール型性能保証システム。
【請求項７】
前記算出部は、前記リソースの割当量としての前記ＶＭ／コンテナのリソース割当セット数と前記性能との相関係数を求め、この求められた相関係数が予め定められた閾値を超える場合に前記依存度を依存有り、当該閾値以下の場合に前記依存度を依存無しと定義し、当該依存無しに係るＶＭ／コンテナ以外の依存有りのＶＭ／コンテナ毎の相関係数に応じて当該ＶＭ／コンテナ毎に重み定数を算出し、
前記判断部は、前記算出されたＶＭ／コンテナ毎の重み定数に応じてＶＭ／コンテナ毎の増減数を定め、このＶＭ／コンテナ毎の増減数の比で、ＶＭ／コンテナ毎にリソース割当セット数を増減させるためのリソース制御量を求め、
前記制御部は、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナ毎にリソース割当セット数を増減する
ことを特徴とする請求項１に記載のオートスケール型性能保証システム。
【請求項８】
ネットワーク接続されたサーバに生成されるＶＭ及びコンテナの何れか一方又は双方であるＶＭ／コンテナの数及び、当該ＶＭ／コンテナのＣＰＵ及びメモリに代表されるリソースを追加又は削除して増減するオートスケールを行うシステムのオートスケール型性能保証方法であって、
前記システムは、複数種類の前記ＶＭ／コンテナが生成された第１サーバと、当該第１サーバに接続された第２サーバとを備え、
前記第１サーバは、
前記ＶＭ／コンテナのリソースの割当量を収集するステップを実行し、
前記第２サーバは、
前記収集された割当量を基に、前記ＶＭ／コンテナに係る通信サービス品質を提供するための性能に対して、前記リソースの割当量が依存する依存有りか否かを表わす依存度を算出するステップと、
前記算出された依存有りの依存度に係るリソースのみを増減させるためのリソース制御量を求めるステップとを実行し、
前記第１サーバは、
前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナのリソースを増減するステップを実行する
ことを特徴とするオートスケール型性能保証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク接続されたサーバに生成されるＶＭ（Virtual Machine：仮想マシン）及びコンテナの数や、ＣＰＵ（Central Processing Unit）及びメモリ等のリソースのオートスケールを行うオートスケール型性能保証システム及びオートスケール型性能保証方法に関する。
【背景技術】
【０００２】
オートスケール型性能保証システム（システムともいう）は、ネットワークで接続される物理的なサーバに、１又は複数のＶＭ及びコンテナの何れか一方又は双方を用いた構成となっている。このＶＭ及びコンテナの何れか一方又は双方を、ＶＭ／コンテナと表現する。このＶＭ／コンテナによりＶＮＦ（Network Functions Virtualization：ＶＮＦネットワーク機能仮想化）の構成が成されている。
【０００３】
また、複数のＶＭ／コンテナを用いたネットワークにおける遅延やスループット等の通信サービスの品質を「性能」又は「性能値」という。つまり、性能が良いとは通信サービス品質が良いことを表わし、性能が悪いとは通信サービス品質が悪いことを表わす。
【０００４】
オートスケールとは、サーバ負荷に応じて、自動的にＶＭ／コンテナの数を増減させる機能である。このオートスケールによって、システムのサーバにアクセスが集中したときはＶＭ／コンテナ数を自動で増やし、アクセスが少ないときはＶＭ／コンテナ数を減らすことで、極力最適なＶＭ／コンテナ数でシステムを稼働するようになっている。
【０００５】
オートスケールには、ＶＭ／コンテナ数を増やしてサーバ性能を高めるスケールアウトと、この逆に、ＶＭ／コンテナ数を減らしてサーバ性能を適正にするスケールインがある。更に、オートスケールには、ＶＭ／コンテナのＣＰＵやメモリ等のリソースの追加を行ってサーバ性能を高めるスケールアップと、この逆に、ＶＭ／コンテナのリソースの削除を行ってサーバ性能を適正にするスケールダウンとがある。なお、スケールアウト又はスケールインをスケールアウト／インと表現し、スケールアップ又はスケールダウンをスケールアップ／ダウンと表現する。また、リソースの追加又は削除をリソース追加／削除と表現する。
【０００６】
上述したシステムのオートスケールの一例として非特許文献１，２の技術が有る。非特許文献１には、ＳＬＯ（サービスレベル目標値又は性能目標値）を意識した性能制御のコンセプトが広く開示されている。一方、非特許文献２における仕様及び機能では、仮想化技術における性能制御手法の既存のオートスケールが、ＶＭ／コンテナ毎に予め規定したリソース利用率の閾値を用いてスケール契機を判断するようになっている。このオートスケールでは、スケールアップ／ダウン或いはスケールアウト／インによるＣＰＵやメモリ等のリソース追加／削除によって、ＶＭ／コンテナへのリソース割当量の変更を実施している。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】M.G. Jaatun,et al.,“SLA-Driven Adaptive Resource Management for Web Applications on a Heterogeneous Compute Cloud”，［online］，2009，［平成３１年１月１６日検索］，インターネット〈URL: http://www.cs.ait.ac.th/~mdailey/papers/Iqbal-RTSLA.pdf〉
【非特許文献２】富士通クラウドテクノロジーズ，“ニフクラのオートスケール”，［online］，2017-2019，［平成３１年１月１６日検索］，インターネット〈URL: https://cloud.nifty.com/service/autoscale.htm〉
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献２のオートスケール技術では、リソース利用率の閾値と、リソース制御対象のＶＭ／コンテナの選定と、ＶＭ／コンテナの増減等の制御量とを、人が予め適正に規定することが必要となっている。この人による規定は容易に行えず手間暇が掛かり、規定後にオートスケール制御を行ってもＶＭ／コンテナ数やリソース割当量を適正に制御できないという問題が生じる。
【０００９】
また、複数のＶＭ／コンテナで構成されるＶＮＦでは、遅延やスループット等の性能値と、各ＶＭ／コンテナのｖＣＰＵ（仮想ＣＰＵ）数、メモリ量やＶＭ／コンテナ数等のリソース割当量とが複雑に依存し、ボトルネックとなるリソース部分が次のように存在している。
【００１０】
例えば、図１３に示すように、ＶＮＦに複数のＶＭ／コンテナＶ１，Ｖ２，…，Ｖｋ，…，Ｖｎがあるとする。この際に、ＶＮＦの性能値ｐが、ＶＭ／コンテナＶ１，Ｖ２，…，Ｖｋ，…，Ｖｎのリソース割当量ｒＶ１，ｒＶ２，…，ｒＶｋ，…，ｒＶｎに依存しているとすれば、性能値ｐは次の関数式（１）で表わされる。
【００１１】
ｐ＝ｆ（ｒＶ１，ｒＶ２，…，ｒＶｋ，…，ｒＶｎ）…（１）
【００１２】
このように性能値ｐが、ＶＭ／コンテナＶ１，Ｖ２，…，Ｖｋ，…，Ｖｎのリソース割当量の関数の場合に、図１４に示すように、ある１つのＶＭ／コンテナＶｋのリソース割当量ｒＶｋだけを増加（例えば３つに増加）させても、ＶＮＦ全体の性能値ｐを向上させることができない。この理由は次の通りである。
【００１３】
この例のように、１つのＶＭ／コンテナＶｋのリソース割当量ｒＶｋだけを３つに増加させても、これ以外の他のＶＭ／コンテナＶ１，Ｖ２，…，Ｖｎは各々１つのみなので、これらのＶＭ／コンテナＶ１，Ｖ２，…，Ｖｎで性能値ｐが不足してボトルネックとなり、ＶＮＦ全体として性能が向上しない。この場合、他のＶＭ／コンテナＶ１，Ｖ２，…，Ｖｎも増加させればよいが、人手によるため、幾つ増やせば良いかが簡単に判らず手間暇が掛かってしまう。
【００１４】
このように、あるＶＭ／コンテナＶｋのリソース割当量ｒＶｋだけを増加させるオートスケールを行っても、ＶＮＦの性能値をＳＬＯ（性能目標値）とすることができない。言い換えれば、オートスケールを行っても、ＶＭ／コンテナ数等のリソース割当量を適正に制御できない。
【００１５】
本発明は、このような事情に鑑みてなされたものであり、オートスケールによってＶＭ／コンテナ数等のリソース割当量を適正に制御できるオートスケール型性能保証システム及びオートスケール型性能保証方法を提供することを課題とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するための手段として、請求項１に係る発明は、ネットワーク接続されたサーバに生成されるＶＭ（Virtual Machine）及びコンテナの何れか一方又は双方であるＶＭ／コンテナの数及び、当該ＶＭ／コンテナのＣＰＵ（Central Processing Unit）及びメモリに代表されるリソースを追加又は削除して増減するオートスケールを行うオートスケール型性能保証システムであって、複数種類の前記ＶＭ／コンテナと、前記ＶＭ／コンテナのリソースの割当量を収集する収集部と、前記ＶＭ／コンテナのリソースを増減するオートスケールを行う制御部とを有する第１サーバを備えると共に、前記収集された割当量を基に、前記ＶＭ／コンテナに係る通信サービス品質を提供するための性能に対して、前記リソースの割当量が依存する依存有りか否かを表わす依存度を算出する算出部と、前記算出された依存有りの依存度に係るリソースのみを増減させるためのリソース制御量を求める判断部とを有する第２サーバを備え、前記制御部は、前記判断部で求められるリソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナのリソースを増減することを特徴とするオートスケール型性能保証システムである。
【００１７】
請求項８に係る発明は、ネットワーク接続されたサーバに生成されるＶＭ及びコンテナの何れか一方又は双方であるＶＭ／コンテナの数及び、当該ＶＭ／コンテナのＣＰＵ及びメモリに代表されるリソースを追加又は削除して増減するオートスケールを行うシステムのオートスケール型性能保証方法であって、前記システムは、複数種類の前記ＶＭ／コンテナが生成された第１サーバと、当該第１サーバに接続された第２サーバとを備え、前記第１サーバは、前記ＶＭ／コンテナのリソースの割当量を収集するステップを実行し、前記第２サーバは、前記収集された割当量を基に、前記ＶＭ／コンテナに係る通信サービス品質を提供するための性能に対して、前記リソースの割当量が依存する依存有りか否かを表わす依存度を算出するステップと、前記算出された依存有りの依存度に係るリソースのみを増減させるためのリソース制御量を求めるステップとを実行し、前記第１サーバは、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナのリソースを増減するステップを実行することを特徴とするオートスケール型性能保証方法である。
【００１８】
請求項１の構成及び請求項８の方法によれば、複数種類のＶＭ／コンテナのリソースの割当量を基に、ＶＭ／コンテナに係る性能に対してリソースの割当量の依存度が有るか否かを求め、依存有りに該当する割当量のリソースのみをオートスケール実行により増減可能とした。このため、従来のように、人手によるリソースの増減設定が必要なため手間暇が掛かるといったことが無くなり、本発明では、オートスケールの実行（運用）によってＶＭ／コンテナ数等のリソース割当量を適正に制御可能となる。
【００１９】
請求項２に係る発明は、前記算出部は、前記リソースの割当量としての前記ＶＭ／コンテナの数と前記性能との相関係数を求め、この求められた相関係数が予め定められた閾値を超える場合に前記依存度を依存有りとして算出し、前記判断部は、前記算出された依存有りの依存度に係る前記ＶＭ／コンテナの数のみを増減させるためのリソース制御量を求め、前記制御部は、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナの数を増減することを特徴とする請求項１に記載のオートスケール型性能保証システムである。
【００２０】
この構成によれば、次のような作用効果が得られる。通常、性能とＶＭ／コンテナの数（ＶＭ／コンテナ数）との相関係数が大きければ、ＶＭ／コンテナ数を増やすと性能が向上する。このため、性能が向上する相関係数を判別するための閾値を予め定め、この閾値を相関係数が超えた際に、性能とＶＭ／コンテナ数との依存有りを示す依存度に該当する割当量のＶＭ／コンテナ数のみを増減させるようにした。これによって、例えば増加したＶＭ／コンテナに係る性能を向上できる。
【００２１】
請求項３に係る発明は、前記算出部は、前記リソースの割当量としての前記ＶＭ／コンテナのリソース割当セット数と前記性能との相関係数を求め、この求められた相関係数が予め定められた閾値を超える場合に前記依存度を依存有りとして算出し、前記判断部は、前記算出された依存有りの依存度に係る前記ＶＭ／コンテナのリソース割当セット数のみを増減させるためのリソース制御量を求め、前記制御部は、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナのリソース割当セット数を増減することを特徴とする請求項１に記載のオートスケール型性能保証システムである。
【００２２】
この構成によれば、次のような作用効果が得られる。通常、性能とＶＭ／コンテナのリソース割当セット数との相関係数が大きければ、ＶＭ／コンテナ数を増やすと性能が向上する。このため、性能が向上する相関係数を判別するための閾値を予め定め、この閾値を相関係数が超えた際に、性能とリソース割当セット数との依存有りを示す依存度に該当する割当量のＶＭ／コンテナのリソース割当セット数のみを増減させるようにした。これによって、例えばリソース割当セット数が増加したＶＭ／コンテナに係る性能を向上できる。
【００２３】
請求項４に係る発明は、前記算出部は、前記リソースの割当量としての前記ＶＭ／コンテナの数と前記性能との相関係数を求め、この求められた相関係数に応じて当該ＶＭ／コンテナ毎に重み定数を算出し、前記判断部は、前記算出されたＶＭ／コンテナ毎の重み定数に応じてＶＭ／コンテナ毎の増減数を定め、このＶＭ／コンテナ毎の増減数の比で、各ＶＭ／コンテナの数を増減させるためのリソース制御量を求め、前記制御部は、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナの数を増減することを特徴とする請求項１に記載のオートスケール型性能保証システムである。
【００２４】
この構成によれば、オートスケール実行時に、ＶＭ／コンテナ毎の重み定数の比に応じたＶＭ／コンテナ毎の増減数の比で、各ＶＭ／コンテナを増減するので、ＶＭ／コンテナ全体として、性能を最適に向上させることが可能となる。
【００２５】
請求項５に係る発明は、前記算出部は、前記ＶＭ／コンテナのリソース割当セット数を用い、当該リソース割当セット数と前記性能との相関係数を求め、この求められた相関係数に応じて当該ＶＭ／コンテナ毎に重み定数を算出し、前記判断部は、前記算出されたＶＭ／コンテナ毎の重み定数に応じてＶＭ／コンテナ毎の増減数を定め、このＶＭ／コンテナ毎の増減数の比で、ＶＭ／コンテナ毎にリソース割当セット数を増減させるためのリソース制御量を求め、前記制御部は、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナ毎にリソース割当セット数を増減することを特徴とする請求項１に記載のオートスケール型性能保証システムである。
【００２６】
この構成によれば、オートスケール実行時に、ＶＭ／コンテナ毎の重み定数の比に応じたＶＭ／コンテナ毎の増減数の比で、ＶＭ／コンテナ毎にリソース割当セット数を増減するので、ＶＭ／コンテナ全体として、性能を最適に向上できる。
【００２７】
請求項６に係る発明は、前記算出部は、前記リソースの割当量としての前記ＶＭ／コンテナの数と前記性能との相関係数を求め、この求められた相関係数が予め定められた閾値を超える場合に前記依存度を依存有り、当該閾値以下の場合に前記依存度を依存無しと定義し、当該依存無しに係るＶＭ／コンテナ以外の依存有りのＶＭ／コンテナ毎の相関係数に応じて当該ＶＭ／コンテナ毎に重み定数を算出し、前記判断部は、前記算出されたＶＭ／コンテナ毎の重み定数に応じてＶＭ／コンテナ毎の増減数を定め、このＶＭ／コンテナ毎の増減数の比で、各ＶＭ／コンテナの数を増減させるためのリソース制御量を求め、前記制御部は、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナの数を増減することを特徴とする請求項１に記載のオートスケール型性能保証システムである。
【００２８】
この構成によれば、ＶＭ／コンテナの数と性能との相関係数が、閾値以下の場合の依存無しに係るＶＭ／コンテナが外される。この外された残りの依存有りのＶＭ／コンテナ毎の相関係数に応じてＶＭ／コンテナ毎の重み定数が算出され、この重み定数に応じたＶＭ／コンテナ毎の増減数の比で、各ＶＭ／コンテナの数が増減される。このため、ＶＭ／コンテナ全体として、性能を最適に向上できる。
【００２９】
請求項７に係る発明は、前記算出部は、前記リソースの割当量としての前記ＶＭ／コンテナのリソース割当セット数と前記性能との相関係数を求め、この求められた相関係数が予め定められた閾値を超える場合に前記依存度を依存有り、当該閾値以下の場合に前記依存度を依存無しと定義し、当該依存無しに係るＶＭ／コンテナ以外の依存有りのＶＭ／コンテナ毎の相関係数に応じて当該ＶＭ／コンテナ毎に重み定数を算出し、前記判断部は、前記算出されたＶＭ／コンテナ毎の重み定数に応じてＶＭ／コンテナ毎の増減数を定め、このＶＭ／コンテナ毎の増減数の比で、ＶＭ／コンテナ毎にリソース割当セット数を増減させるためのリソース制御量を求め、前記制御部は、前記リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナ毎にリソース割当セット数を増減することを特徴とする請求項１に記載のオートスケール型性能保証システムである。
【００３０】
この構成によれば、ＶＭ／コンテナのリソース割当セット数と性能との相関係数が、閾値以下の場合の依存無しに係るＶＭ／コンテナが外される。この外された残りの依存有りのＶＭ／コンテナ毎の相関係数に応じてＶＭ／コンテナ毎の重み定数が算出され、この重み定数に応じたＶＭ／コンテナ毎の増減数の比で、各ＶＭ／コンテナのリソース割当セット数が増減される。このため、ＶＭ／コンテナ全体として、性能を最適に向上できる。
【発明の効果】
【００３１】
本発明によれば、オートスケールによってＶＭ／コンテナ数等のリソース割当量を適正に制御するオートスケール型性能保証システム及びオートスケール型性能保証方法を提供することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施形態に係るオートスケール型性能保証システムの構成を示すブロック図である。
【図２】ＶＭ／コンテナＶ１〜Ｖ４が「１」〜「８」の何れかの数の場合の性能（遅延）を示す表である。
【図３】ＶＭ／コンテナＶ１〜Ｖ４の標本相関係数と依存度を示す表である。
【図４】ＶＭ／コンテナＶ１，Ｖ４のみの数を増加させるスケールアウトの運用様態を示す図である。
【図５】ＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数（２ＣＰＵ）が「１」〜「８」の何れかの数の場合の性能（遅延）を示す表である。
【図６】ＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数の標本相関係数と依存度を示す表である。
【図７】ＶＭ／コンテナＶ１，Ｖ４のみのリソース割当セット数（２ＣＰＵ）数を増加させるスケールアップの運用様態を示す図である。
【図８】性能とＶＭ／コンテナ数との相関係数に応じたＶＭ／コンテナＶ１〜Ｖ４毎の重み定数を示す表である。
【図９】ＶＭ／コンテナＶ１〜Ｖ４の重み定数の比に応じてＶＭ／コンテナＶ１〜Ｖ４を増加させるスケールアウトの運用様態を示す図である。
【図１０】性能とＶＭ／コンテナのリソース割当セット数との相関係数に応じたＶＭ／コンテナＶ１〜Ｖ４毎の重み定数を示す表である。
【図１１】ＶＭ／コンテナＶ１〜Ｖ４の重み定数の比に応じてＶＭ／コンテナＶ１〜Ｖ４毎のリソース割当セット数（２ＣＰＵ）を増加させるスケールアップの運用様態を示す図である。
【図１２】本実施形態に係るオートスケール型性能保証システムの動作を説明するためのシーケンス図である。
【図１３】ＶＮＦ内の複数のＶＭ／コンテナを示す図である。
【図１４】ＶＮＦ内の複数のＶＭ／コンテナの内、特定のＶＭ／コンテナをオートスケールで増加する様態を示す図である。
【発明を実施するための形態】
【００３３】
以下、本発明の実施形態を、図面を参照して説明する。
＜実施形態の構成＞
図１は、本発明の実施形態に係るオートスケール型性能保証システムの構成を示すブロック図である。
図１に示すオートスケール型性能保証システム（システム）１０は、複数種類のＶＭ／コンテナを用いたネットワークにおける遅延やスループット等の通信サービスの品質を提供するための性能（又は性能値）を、トリガとしてオートスケールを行うものである。このオートスケールでは、システム１０を構成するＶＭ／コンテナの全てをスケールアウトやスケールアップしても意味が無いため、性能を向上できるＶＭ／コンテナのみをスケールアウトやスケールアップするようにした。又は、性能を所定以上の適正値とできるＶＭ／コンテナのみをスケールインやスケールダウンするようにした。
【００３４】
このシステム１０は、ネットワークで接続される複数のコンピュート１１，…，１１に、コントローラ１２がネットワーク接続されて構成されている。各コンピュート１１及びコントローラ１２は、物理サーバ（サーバ）によって構成されている。なお、コンピュート１１は、請求項記載の第１サーバを構成する。コントローラ１２は、請求項記載の第２サーバを構成する。
【００３５】
但し、内部に仮想的に作られたＶＭ／コンテナＶ１〜Ｖ４が動くサーバを、コンピュート１１と定義している。コントローラ１２からＶＭ／コンテナを増加又は削減する指示を出し、この指示に応じてコンピュート１１がオートスケールによって、内部にＶＭ／コンテナＶ１〜Ｖ４を増設又は減設するようになっている。なお、ＶＭ／コンテナＶ１〜Ｖ４は、Ｖ１〜Ｖ４とも表現する。
【００３６】
コンピュート１１は、データ収集部１１ａと、リソース制御部１１ｂと、複数のＶＭ／コンテナＶ１〜Ｖ４とを備えて構成されている。
【００３７】
コントローラ１２は、データ収集部１２ａと、依存度算出部１２ｂと、オートスケール判断部１２ｃとを備えて構成されている。データ収集部１２ａ及び依存度算出部１２ｂは、ＤＢ（Data Base）１３に接続されている。
【００３８】
なお、データ収集部１１ａ，１２ａは、請求項記載の収集部を構成する。リソース制御部１１ｂは、請求項記載の制御部を構成する。依存度算出部１２ｂは、請求項記載の算出部を構成する。オートスケール判断部１２ｃは、請求項記載の判断部を構成する。
【００３９】
コンピュート１１のデータ収集部１１ａは、ＶＭ／コンテナＶ１〜Ｖ４のＣＰＵやメモリ等の資源であるリソースの利用状況を含むリソース割当量のデータを収集してコントローラ１２へ通知する。なお、リソースの利用状況は、物理サーバ全体のＣＰＵ使用量、ＶＭ／コンテナ数、ＶＭ／コンテナ個別のｖＣＰＵ使用量、メモリ使用量などの使用状況である。
【００４０】
コントローラ１２のデータ収集部１２ａは、上記通知されたデータをＤＢ１３に記憶する。
【００４１】
ここで、上述した性能を向上させるためには、各ＶＭ／コンテナＶ１〜Ｖ４の増加比（又は減少比）を知る必要があり、このために、データ収集部１１ａ，１２ａによってデータを収集する。これをデータ収集フェーズという。
【００４２】
データ収集フェーズは、サービスを構成するＶＭ／コンテナが生成されたことを契機に、コントローラ１２がコンピュート１１にデータ収集を指示する。この指示に応じてコンピュート１１のデータ収集部１１ａが、各ＶＭ／コンテナＶ１〜Ｖ４のリソース割当量を変更しながら、変更後のリソース割当量のデータを取得し、コントローラ１２のデータ収集部１２ａへ通知する。データ収集部１２ａは、その通知されたリソース割当量のデータを、ＤＢ１３に記憶する。
【００４３】
依存度算出部１２ｂは、データ収集部１２ａから依存度算出指示が有った際に、ＤＢ１３に記憶されたリソース割当量のデータを基に、各ＶＭ／コンテナＶ１〜Ｖ４の上記性能に対するリソース割当量の依存関係（依存度）を算出する。この依存度を算出することを依存度算出フェーズという。
【００４４】
この依存度算出フェーズでは、各Ｖ１〜Ｖ４の数や、ＣＰＵ数、メモリ量等のリソース割当量が、性能（性能値）に対して、どれ位依存度が有るか（どれ位関与しているか）を明らかにする。つまり、依存度算出部１２ｂが、各Ｖ１〜Ｖ４の依存度を算出し、この算出された依存度をオートスケール判断部１２ｃに出力する。
【００４５】
オートスケール判断部１２ｃは、その算出された依存度を基にオートスケールを次のように判断する。即ち、性能を適正な一定以上の性能値にしたいので、オートスケール判断部１２ｃは、性能が低下してきた際にリソースを増加させ、性能が向上してきた際にリソースを減少させるためのリソース制御量を求め、このリソース制御量をコンピュート１１のリソース制御部１１ｂに通知する。
【００４６】
この依存度算出フェーズの実行後に、各ＶＭ／コンテナＶ１〜Ｖ４に対するリソース追加／削除（増減）を行う運用フェーズを、リソース制御部１１ｂによって次のように実行する。即ち、リソース制御部１１ｂは、コントローラ１２から通知されたリソース制御量に応じたオートスケール、即ち、スケールアウト／イン又はスケールアップ／ダウンによって、Ｖ１〜Ｖ４のリソース増減を行う。
【００４７】
このような算出依存度に基づくリソース制御量に応じたオートスケール実行までの処理（オートスケール処理）として、次の第１〜第３オートスケール処理がある。これらのオートスケール処理には、スケールアウト／イン又はスケールアップ／ダウンの２つの処理がある。
【００４８】
＜第１オートスケール処理（スケールアウト／イン）＞
前提条件としてコンピュート１１において、図２のデータ収集結果の表に示すように、４つのＶＭ／コンテナＶ１〜Ｖ４の各々の数が、「１」〜「８」の何れか場合を想定する。性能は、遅延であるとする。
【００４９】
この条件の場合に、ＶＭ／コンテナＶ１〜Ｖ４の各々の数が「１」の場合に遅延が２００ｍｓであり、ＶＭ／コンテナＶ１の数が「２」且つＶＭ／コンテナＶ２〜Ｖ４の各々の数が「１」の場合に遅延が１８０ｍｓ、ＶＭ／コンテナＶ１〜Ｖ４の各々の数が「８」の場合に遅延が５０ｍｓであるとする。これらのデータは、コントローラ１２のデータ収集部１２ａで収集され、ＤＢ１３に記憶される。
【００５０】
次に、依存度算出部１２ｂにより、ＤＢ１３の記憶データを基に、性能ｙとＶＭ／コンテナ数ｘとの２つのデータの関係を示す標本共分散Ｓｘｙと、２つのデータのバラツキの大きさを表わす標本標準偏差Ｓｘ，Ｓｙとを用いて、２つのデータの相関関係を示す標本相関係数ｒを次式（２）から算出する。なお、標本共分散は共分散、標本標準偏差は標準偏差、標本相関係数は相関係数とも称す。
【００５１】
ｒ＝Ｓｘｙ／ＳｘＳｙ  …（２）
【００５２】
式（２）により算出された相関係数ｒは、図３に示すように、ＶＭ／コンテナＶ１が「０．６」、ＶＭ／コンテナＶ２が「０．１」、ＶＭ／コンテナＶ３が「０．０」、ＶＭ／コンテナＶ４が「０．８」であるとする。
【００５３】
通常、性能ｙとＶＭ／コンテナ数ｘとの相関係数ｒが大きければ、ＶＭ／コンテナ数を増やすと性能（遅延）が向上する。そこで、性能（遅延）を向上可能とする相関係数ｒを判別するために、閾値を予め定める。例えば、閾値＝「０．４」に定めたとする。
【００５４】
依存度算出部１２ｂは、閾値「０．４」を超える相関係数ｒ＝「０．６」，「０．８」のＶＭ／コンテナＶ１，Ｖ４が、性能（遅延）に影響が出るので、依存有りの「１」とする。一方、閾値「０．４」以下の相関係数ｒ＝「０．１」と「０．０」のＶＭ／コンテナＶ２，Ｖ３は、性能（遅延）に影響が出ないので、依存無しの「０」とする。
【００５５】
つまり、ＶＭ／コンテナＶ１，Ｖ４は、数を増やせば性能が向上するので増加させ、ＶＭ／コンテナＶ２，Ｖ３は、数を増やしても性能が向上しないので増加させないように制御するためのリソース制御量が定義できる。言い換えれば、Ｖ１，Ｖ４のみを増加させるためのリソース制御量が定義できる。
【００５６】
このことから、オートスケール判断部１２ｃは、上記算出された依存度「１」のＶＭ／コンテナＶ１，Ｖ４のみの数を増加させるように制御するためのリソース制御量を求め、コンピュート１１のリソース制御部１１ｂに通知する。
【００５７】
リソース制御部１１ｂは、その通知されたリソース制御量に応じて、図４に示すようにＶＭ／コンテナＶ１，Ｖ４のみの数を増加させるスケールアウトの制御を行う。この制御により、ＶＭ／コンテナＶ１，Ｖ４の数が増加される。
【００５８】
各ＶＭ／コンテナＶ１〜Ｖ４の数を減少させる場合も、上記同様に依存度「１」又は「０」に基づくリソース制御量に応じたスケールインの制御によって行われる。
【００５９】
＜第１オートスケール処理（スケールアップ／ダウン）＞
次に、前提条件としてコンピュート１１において、図５のデータ収集結果の表に示すように、ＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数が、「１」〜「８」の何れか場合を想定する。リソース割当セット数とは、例えばリソースであるＣＰＵのセット数が２コアの場合をいう。この場合、図７に示すように、２コアのＣＰＵ（２ＣＰＵと表わす）が「１」つとなり、この２ＣＰＵ単位でリソースを増加することになる。以降、リソース割当セット数が、２ＣＰＵ単位のセット数を引例とする。
【００６０】
図５に示すように、Ｖ１〜Ｖ４の各々のリソース割当セット数が「１」の場合に遅延が２００ｍｓであり、Ｖ１のリソース割当セット数が「２」且つＶ２〜Ｖ４の各々のリソース割当セット数が「１」の場合に遅延が１８０ｍｓ、Ｖ１〜Ｖ４の各々のリソース割当セット数が「８」の場合に遅延が５０ｍｓであるとする。これらのデータは、コントローラ１２のデータ収集部１２ａで収集され、ＤＢ１３に記憶される。
【００６１】
次に、依存度算出部１２ｂにより、ＤＢ１３の記憶データを基に、性能ｙとリソース割当セット数ｘ１との２つのデータの関係を示す標本共分散Ｓｘ１ｙ１と、２つのデータのバラツキの大きさを表わす標本標準偏差Ｓｘ１，Ｓｙ１とを用いて、２つのデータの相関関係を示す標本相関係数ｒ１を次式（３）から算出する。
【００６２】
ｒ１＝Ｓｘ１ｙ１／Ｓｘ１Ｓｙ１  …（３）
【００６３】
上式（３）により算出された性能ｙとリソース割当セット数ｘ１との相関係数ｒ１は、図６に示すように、ＶＭ／コンテナＶ１において「０．６」、ＶＭ／コンテナＶ２において「０．１」、ＶＭ／コンテナＶ３において「０．０」、ＶＭ／コンテナＶ４において「０．８」であるとする。
【００６４】
通常、性能ｙとリソース割当セット数ｘ１との相関係数ｒ１が大きければ、ＶＭ／コンテナのリソース割当セット数を増やすと性能（遅延）が向上する。そこで、性能（遅延）を向上可能とする相関係数ｒ１を判別する閾値を予め定める。例えば、閾値＝「０．４」に定めたとする。
【００６５】
依存度算出部１２ｂは、閾値「０．４」を超える相関係数ｒ１＝「０．６」，「０．８」のＶ１，Ｖ４のリソース割当セット数が、性能（遅延）に影響が出るので、依存有りの「１」とする。一方、閾値「０．４」以下の相関係数ｒ１＝「０．１」，「０．０」のＶ２，Ｖ３のリソース割当セット数は、性能（遅延）に影響が出ないので、依存無しの「０」とする。
【００６６】
つまり、ＶＭ／コンテナＶ１，Ｖ４では、リソース割当セット数を増やせば性能が向上するので増加させ、ＶＭ／コンテナＶ２，Ｖ３では、リソース割当セット数を増やしても性能が向上しないので増加させないように制御するためのリソース制御量が定義できる。言い換えれば、Ｖ１，Ｖ４のリソース割当セット数のみを増加させるためのリソース制御量が定義できる。
【００６７】
このことから、オートスケール判断部１２ｃは、上記算出された図６に示す依存度「１」のＶＭ／コンテナＶ１，Ｖ４のみのリソース割当セット数を増加させるように制御するためのリソース制御量を求め、コンピュート１１のリソース制御部１１ｂに通知する。
【００６８】
リソース制御部１１ｂは、その通知されたリソース制御量に応じて、図７に示すようにＶＭ／コンテナＶ１，Ｖ４のみの２ＣＰＵのリソース割当セット数を増加させるスケールアップの制御を行う。この制御により、ＶＭ／コンテナＶ１，Ｖ４の２ＣＰＵのリソース割当セット数が増加される。
【００６９】
ＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数を減少させる場合も、上記同様に依存度「１」又は「０」に基づくリソース制御量に応じたスケールダウンの制御によって行われる。
【００７０】
＜第２オートスケール処理（スケールアウト／イン）＞
第２オートスケール処理（スケールアウト／イン）の場合のコンピュート１１の前提条件は、図２を参照して説明した第１オートスケール処理の場合と同様である。この場合、各ＶＭ／コンテナＶ１〜Ｖ４は、数珠繋ぎのように接続されているが、全てのＶ１〜Ｖ４を同数増加しても性能は向上しない。各Ｖ１〜Ｖ４には、前述したように、ＶＭ／コンテナ数の増加に応じて性能が向上するものと、向上しないものがある。
【００７１】
このため、第２オートスケール処理では、各Ｖ１〜Ｖ４において、多く増加させたいＶＭ／コンテナと、そうでないＶＭ／コンテナとを、前述した性能ｙとＶＭ／コンテナ数ｘとの相関係数ｒ（図３参照）に応じて重み付けを行い、この重み付けによる重み定数に応じた比率で、ＶＭ／コンテナＶ１〜Ｖ４を増減するようにした。
【００７２】
従って、依存度算出部１２ｂは、性能をｙ、ＶＭ／コンテナ数をｘとして、重み定数ｗを用いて、下式（４）を求める。
【００７３】
ｙ＝ｗ１ｘ１＋ｗ２ｘ２＋ｗ３ｘ３＋ｗ４ｘ４  …（４）
【００７４】
上式（４）の重み定数ｗは、図８に示すように、Ｖ１の重み定数ｗ１が「２」、Ｖ２の重み定数ｗ２が「１」、Ｖ３の重み定数ｗ３が「１」、Ｖ４の重み定数ｗ４が「３」であるとする。
【００７５】
重み定数ｗは、大きい程に傾きが大きくなって性能ｙが上がり易く、小さい程に傾きが小さくなって性能ｙが上がり難い。図８の例では、Ｖ４は、重み定数ｗ４＝「３」なので性能が上がり易く、Ｖ２，Ｖ３は、重み定数ｗ２，ｗ３＝「１」なので性能が上がり難い。Ｖ１は、重み定数ｗ１＝「２」なのでＶ２，Ｖ３よりも性能が上がり易い。
【００７６】
このことから、オートスケール運用時に、重み定数ｗ１〜ｗ４に応じて、Ｖ１は２セットずつ増加させ、Ｖ２，Ｖ３は１セットずつ増加させ、Ｖ４は３セットずつ増加させれば、ＶＭ／コンテナＶ１〜Ｖ４全体として、性能を最適に向上させることが可能となる。
【００７７】
そこで、オートスケール判断部１２ｃによって、各重み定数ｗ１〜Ｗ４の比（２：１：１：３）を、各ＶＭ／コンテナＶ１〜Ｖ４の増減数の比（２：１：１：３）とし、この比（２：１：１：３）でＶＭ／コンテナ数の増減を制御するためのリソース制御量を求める。図８の数値の場合、Ｖ１：Ｖ２：Ｖ３：Ｖ４＝２：１：１：３の割合でＶＭ／コンテナ数の増減を行えば、全体として、性能を最適に向上可能となる。
【００７８】
このことから、オートスケール判断部１２ｃは、Ｖ１：Ｖ２：Ｖ３：Ｖ４＝２：１：１：３の割合でＶＭ／コンテナ数の増減を制御するためのリソース制御量を求め、コンピュート１１のリソース制御部１１ｂに通知する。
【００７９】
リソース制御部１１ｂは、その通知されたリソース制御量に応じて、図９に示すように、Ｖ１は２セットずつ増加させ、Ｖ２，Ｖ３は１セットずつ増加させ、Ｖ４は３セットずつ増加させるスケールアウトの制御を行う。この制御比に応じて、各ＶＭ／コンテナＶ１〜Ｖ４の数が増加される。
【００８０】
各ＶＭ／コンテナＶ１〜Ｖ４の数を減少させる場合も、上記同様にＶ１：Ｖ２：Ｖ３：Ｖ４＝２：１：１：３の比に基づくリソース制御量に応じたスケールインの制御によって行われる。
【００８１】
＜第２オートスケール処理（スケールアップ／ダウン）＞
第２オートスケール処理（スケールアップ／ダウン）の場合のコンピュート１１の前提条件は、図５を参照して説明した第１オートスケール処理の場合と同様である。この場合、各ＶＭ／コンテナＶ１〜Ｖ４には、前述したように、リソース割当セット数（２ＣＰＵとする）の増加に応じて性能が向上するものと、向上しないものがある。
【００８２】
このため、第２オートスケール処理では、各ＶＭ／コンテナＶ１〜Ｖ４において、多く増加させたいＶＭ／コンテナと、そうでないＶＭ／コンテナとを、前述した性能ｙとリソース割当セット数ｘ１との相関係数ｒ１（図６参照）に応じて重み付けを行い、この重み付けによる重み定数に応じた比率で、ＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数（２ＣＰＵ）を増減するようにした。
【００８３】
従って、依存度算出部１２ｂは、性能をｙａ、リソース割当セット数をｘａとして、重み定数ｗａを用いて、下式（５）を求める。
【００８４】
ｙａ＝ｗａ１ｘａ１＋ｗａ２ｘａ２＋ｗａ３ｘａ３＋ｗａ４ｘａ４  …（５）
【００８５】
上式（５）の重み定数ｗは、図１０に示すように、Ｖ１の重み定数ｗａ１が「２」、Ｖ２の重み定数ｗａ２が「１」、Ｖ３の重み定数ｗａ３が「１」、Ｖ４の重み定数ｗａ４が「３」であるとする。重み定数ｗａも、前述の重み定数ｗと同様に大きい程に傾きが大きくなって性能ｙが上がり易く、小さい程に傾きが小さくなって性能ｙが上がり難い。
【００８６】
このことから、オートスケール運用時に、Ｖ１では２ＣＰＵを２セットずつ増加させ、Ｖ２，Ｖ３では２ＣＰＵを１セットずつ増加させ、Ｖ４では２ＣＰＵを３セットずつ増加させれば、ＶＭ／コンテナＶ１〜Ｖ４全体として、性能を最適に向上させることが可能となる。
【００８７】
そこで、オートスケール判断部１２ｃによって、各重み定数ｗａ１〜Ｗａ４の比（２：１：１：３）を、各ＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数（２ＣＰＵ）の増減数の比（２：１：１：３）とし、この比（２：１：１：３）でリソース割当セット数の増減を制御するためのリソース制御量を求める。図１０の数値の場合、Ｖ１：Ｖ２：Ｖ３：Ｖ４＝２：１：１：３の割合でリソース割当セット数を変更すれば、全体として、性能を最適に向上可能となる。
【００８８】
このことから、オートスケール判断部１２ｃは、Ｖ１：Ｖ２：Ｖ３：Ｖ４＝２：１：１：３の割合で、各ＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数の増減を制御するためのリソース制御量を求め、コンピュート１１のリソース制御部１１ｂに通知する。
【００８９】
リソース制御部１１ｂは、その通知されたリソース制御量に応じて、図１１に示すように、Ｖ１では２ＣＰＵを２セットずつ増加させ、Ｖ２，Ｖ３では２ＣＰＵを１セットずつ増加させ、Ｖ４では２ＣＰＵを３セットずつ増加させるスケールアップの制御を行う。この制御比に応じて、各ＶＭ／コンテナＶ１〜Ｖ４の２ＣＰＵの数が増加される。
【００９０】
各ＶＭ／コンテナＶ１〜Ｖ４の２ＣＰＵの数を減少させる場合も、上記同様にＶ１：Ｖ２：Ｖ３：Ｖ４＝２：１：１：３の比に基づくリソース制御量に応じたスケールダウンの制御によって行われる。
【００９１】
＜第３オートスケール処理（スケールアウト／イン）＞
第３オートスケール処理（スケールアウト／イン）は、第１オートスケール処理（スケールアウト／イン）と同様に、依存度算出部１２ｂが、図３に示す各ＶＭ／コンテナＶ１〜Ｖ４の依存度Ｖ１＝「１」、Ｖ２＝「０」、Ｖ３＝「０」、Ｖ４＝「１」を求め、この中から依存無し「０」のＶ２，Ｖ３をオートスケール対象から外す。
【００９２】
次に、依存度算出部１２ｂは、残った依存有り「１」のＶ１，Ｖ４を用いて、第２オートスケール処理の重み付けを行う。この場合、図８を参照するように、Ｖ１の重み定数ｗ１が「２」、Ｖ４の重み定数ｗ４が「３」となる。
【００９３】
次に、オートスケール判断部１２ｃによって、各重み定数ｗ１，Ｗ４の比（２：３）を、各ＶＭ／コンテナＶ１，Ｖ４の増減数の比（２：３）とし、この比（２：３）でＶＭ／コンテナ数の増減を制御するためのリソース制御量を求める。このリソース制御量が、コンピュート１１のリソース制御部１１ｂに通知される。
【００９４】
リソース制御部１１ｂは、その通知されたリソース制御量に応じて、図１１を参照するように、Ｖ１を２セットずつ増加させ、Ｖ４を３セットずつ増加させるスケールアウトの制御を行う。この制御比に応じて、各ＶＭ／コンテナＶ１，Ｖ４のみの数が増加される。Ｖ１，Ｖ４の数を減少させる場合も、上記同様にＶ１：Ｖ４＝２：３の比に基づくリソース制御量に応じたスケールインの制御によって行われる。
【００９５】
＜第３オートスケール処理（スケールアップ／ダウン）＞
第３オートスケール処理（スケールアップ／ダウン）は、第１オートスケール処理（スケールアップ／ダウン）と同様に、依存度算出部１２ｂが、図６に示す各ＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数（２ＣＰＵとする）の依存度Ｖ１＝「１」、Ｖ２＝「０」、Ｖ３＝「０」、Ｖ４＝「１」を求め、この中から依存無し「０」のＶ２，Ｖ３をオートスケール対象から外す。
【００９６】
次に、依存度算出部１２ｂは、残った依存有り「１」のＶ１，Ｖ４を用いて、第２オートスケール処理の重み付けを行う。この場合、図１０を参照するように、Ｖ１の重み定数ｗａ１が「２」、Ｖ４の重み定数ｗａ４が「３」となる。
【００９７】
次に、オートスケール判断部１２ｃによって、各重み定数ｗａ１，Ｗａ４の比（２：３）を、各ＶＭ／コンテナＶ１，Ｖ４の増減数の比（２：３）とし、この比（２：３）でＶ１，Ｖ４のリソース割当セット数（２ＣＰＵ）の増減を制御するためのリソース制御量を求める。このリソース制御量が、コンピュート１１のリソース制御部１１ｂに通知される。
【００９８】
リソース制御部１１ｂは、その通知されたリソース制御量に応じて、図１１を参照するように、Ｖ１の２ＣＰＵを２セットずつ増加させ、Ｖ４の２ＣＰＵを３セットずつ増加させるスケールアップの制御を行う。この制御比に応じて、各ＶＭ／コンテナＶ１，Ｖ４のみの２ＣＰＵの数が増加される。Ｖ１，Ｖ４の２ＣＰＵ数を減少させる場合も、上記同様にＶ１：Ｖ４＝２：３の比に基づくリソース制御量に応じたスケールダウンの制御によって行われる。
【００９９】
＜実施形態の動作＞
次に、本実施形態に係るオートスケール型性能保証システムの動作を、図１２のシーケンス図を参照して説明する。但し、第１オートスケール処理のスケールアウト／イン処理が実行される場合を代表して説明する。
【０１００】
ステップＳ１において、コントローラ１２のデータ収集部１２ａに、コンピュート１１から各ＶＭ／コンテナＶ１〜Ｖ４（図１）が生成されたことが通知されたとする。この通知を受けたデータ収集部１２ａは、ステップＳ２において、コンピュート１１にデータ収集開始指示を行う。
【０１０１】
この指示を受けたコンピュート１１のデータ収集部１１ａは、ステップＳ３において、上記生成された各ＶＭ／コンテナＶ１〜Ｖ４の数や、遅延やスループット等のリソースの性能値のデータ収集を開始する。
【０１０２】
このデータ収集部は、ステップＳ４において、各ＶＭ／コンテナＶ１〜Ｖ４のリソースを仮想的に追加又は削除して増減する指示（リソース追加／削除指示）を、リソース制御部１１ｂに行う。ステップＳ５において、リソース制御部１１ｂは、その指示に応じてＶ１〜Ｖ４のリソースを仮想的に追加／削除する制御を行う。この制御では、図２に示したように、リソースとしてのＶ１〜Ｖ４のＶＭ／コンテナ数が仮想的に定められ、この際の性能である遅延のデータが求められる。この他に、物理サーバ全体のＣＰＵ使用量、ＶＭ／コンテナ個別のＣＰＵ使用量やリソース割当量等のリソースのデータが得られる。
【０１０３】
ステップＳ６において、リソース制御部１１ｂは、上記追加／削除により仮想的に定まったＶＭ／コンテナ数と性能のデータをデータ収集部１１ａに通知する。例えば図２に示す１行目のＶ１〜Ｖ４の全てのＶＭ／コンテナ数の「１」と、この際の性能値である遅延＝２００ｍｓとのデータがデータ収集部１１ａに通知される。
【０１０４】
データ収集部１１ａは、ステップＳ７において、その通知されたデータを収集し、この収集データを、ステップＳ８において、コントローラ１２のデータ収集部１２ａへ転送する。この転送された収集データは、ＤＢ１３（図１）に記憶される。
【０１０５】
上記ステップＳ４〜Ｓ８の処理は、例えば図２に示す各Ｖ１〜Ｖ４の数が「１」〜「８」の間で可変され、この可変時の際の遅延が得られるように繰り返される。この際、上述した物理サーバ全体のＣＰＵ使用量、ＶＭ／コンテナ個別のＣＰＵ使用量やリソース割当量等の様々なパターンのリソースのデータも得られる。この得られたデータは、ＤＢ１３に記憶される。
【０１０６】
上記ステップＳ４〜Ｓ８の処理を繰り返すことにより、様々なパターンのデータが所定数収集されると、コンピュート１１のデータ収集部１１ａからコントローラ１２のデータ収集部１２ａへデータ収集完了が通知される（ステップＳ９）。この通知をデータ収集部１２ａが受けた時にデータ収集フェーズが終了する。
【０１０７】
上記データ収集完了を受信したデータ収集部１２ａは、ステップＳ１０において、依存度算出部１２ｂに依存度の計算を依頼する。この依頼を受けた依存度算出部１２ｂは、ステップＳ１１において、ＤＢ１３に記憶された収集データを基に、図３に示した各ＶＭ／コンテナＶ１〜Ｖ４における性能（遅延）とＶＭ／コンテナ数との依存度「１」及び「０」を算出する。この算出された依存度「１」及び「０」は、ステップＳ１２において、オートスケール判断部１２ｃへ通知される。
【０１０８】
ステップＳ１３において、オートスケール判断部１２ｃは、各Ｖ１〜Ｖ４の依存度「１」及び「０」に応じて、各Ｖ１〜Ｖ４の数を増減（追加／削除）して設定（リソース制御設定）する。このリソース制御設定により依存度算出フェーズが終了する。
【０１０９】
上記リソース制御設定後、オートスケール判断部１２ｃは、ステップＳ１４において、運用開始指示をコンピュート１１へ通知する。この通知を受けたコンピュート１１のデータ収集部１１ａは、ステップＳ１５において、ＶＭ／コンテナＶ１〜Ｖ４からリソース使用量のデータを収集し、この収集データを、ステップＳ１６において、コントローラ１２のデータ収集部１２ａへ転送する。この転送された収集データは、ステップＳ１７において、データ収集部１２ａからオートスケール判断部１２ｃへ通知される。
【０１１０】
ステップＳ１８において、オートスケール判断部１２ｃは、上記ステップＳ１３のリソース制御設定、即ち、各ＶＭ／コンテナＶ１〜Ｖ４における性能（遅延）とＶＭ／コンテナ数との依存度「１」及び「０」に応じて、Ｖ１〜Ｖ４をどの位、増加又は減少するかを次のようにオートスケール判断する。
【０１１１】
即ち、オートスケール判断部１２ｃは、依存度「１」のＶＭ／コンテナＶ１，Ｖ４の数を増加させ、依存度「０」のＶＭ／コンテナＶ２，Ｖ３の数を増加させないように制御するためのリソース制御量を求める。オートスケール判断部１２ｃは、その求めたリソース制御量を、ステップＳ１９において、コンピュート１１のリソース制御部１１ｂに通知する。
【０１１２】
ステップＳ２０において、リソース制御部１１ｂは、上記通知されてきたリソース制御量に応じて、図４に示すようにＶＭ／コンテナＶ１，Ｖ４の数を増加させ、ＶＭ／コンテナＶ２，Ｖ３の数を増加させないスケールアウトの制御を行う。この制御により、ＶＭ／コンテナＶ１，Ｖ４の数が増加される。なお、Ｖ１，Ｖ４の数を減少させる場合は、依存度「１」又は「０」に基づくリソース制御量に応じたスケールインの制御によって行われる。
【０１１３】
＜実施形態の効果＞
本実施形態に係るオートスケール型性能保証システム１０の効果について説明する。このシステム１０は、ネットワーク接続されたサーバに生成されるＶＭ／コンテナＶ１〜Ｖ４の数及び、ＶＭ／コンテナＶ１〜Ｖ４のＣＰＵ及びメモリに代表されるリソースを追加又は削除して増減するオートスケールを行う。
【０１１４】
（１）複数種類のＶＭ／コンテナＶ１〜Ｖ４と、ＶＭ／コンテナＶ１〜Ｖ４のリソースの割当量を収集するデータ収集部１１ａと、ＶＭ／コンテナＶ１〜Ｖ４のリソースを増加又は削除により増減するオートスケールを行うリソース制御部１１ｂとをサーバに有して成るコンピュート１１を備える。更に、データ収集部１１ａで収集された割当量を基に、ＶＭ／コンテナＶ１〜Ｖ４に係る通信サービス品質を提供するための性能に対して、リソースの割当量が依存する依存有りか否かを表わす依存度を算出する依存度算出部１２ｂと、算出された依存有りの依存度に係るリソースのみを増減させるためのリソース制御量を求めるオートスケール判断部１２ｃとをサーバに有して成るコントローラ１２を備える。そして、リソース制御部１１ｂが、オートスケール判断部１２ｃで求められるリソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナＶ１〜Ｖ４のリソースを増減する構成とした。
【０１１５】
この構成によれば、複数種類のＶＭ／コンテナＶ１〜Ｖ４のリソースの割当量を基に、ＶＭ／コンテナＶ１〜Ｖ４に係る性能に対してリソースの割当量の依存度が有るか否かを求め、依存有りに該当する割当量のリソースのみをオートスケールの実行（運用）により増減可能とした。このため、従来のように、人手によるリソースの増減設定が必要なため手間暇が掛かるといったことが無くなり、本発明では、オートスケールの実行によってＶＭ／コンテナＶ１〜Ｖ４数等のリソース割当量を適正に制御可能となる。
【０１１６】
（２）依存度算出部１２ｂは、リソースの割当量としてＶＭ／コンテナＶ１〜Ｖ４の数を用い、当該Ｖ１〜Ｖ４の数と性能との相関係数を求め、この求められた相関係数が予め定められた閾値を超える場合に依存度を依存有りとして算出する。オートスケール判断部１２ｃは、算出された依存有りの依存度「１」に該当する割当量のＶ１〜Ｖ４の数のみを増減させるためのリソース制御量を求める。リソース制御部１１ｂは、リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナＶ１〜Ｖ４の数を増減する構成とした。
【０１１７】
この構成によれば、次のような効果が得られる。通常、性能とＶＭ／コンテナＶ１〜Ｖ４の数との相関係数が大きければ、Ｖ１〜Ｖ４数を増やすと性能が向上する。このため、性能が向上する相関係数を判別するための閾値を予め定め、この閾値を相関係数が超えた際に、性能とＶ１〜Ｖ４数との依存有りを示す依存度に該当する割当量のＶ１〜Ｖ４数のみを増減させるようにした。これによって、例えば増加したＶＭ／コンテナＶ１〜Ｖ４に係る性能を向上できる。
【０１１８】
（３）依存度算出部１２ｂは、リソースの割当量としてＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数を用い、当該リソース割当セット数と性能との相関係数を求め、この求められた相関係数が閾値を超える場合に依存度を依存有りとして算出する。オートスケール判断部１２ｃは、算出された依存有りの依存度に係るＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数のみを増減させるためのリソース制御量を求める。リソース制御部１１ｂは、リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数を増減する構成とした。
【０１１９】
この構成によれば、次のような作用効果が得られる。通常、性能とＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数との相関係数が大きければ、ＶＭ／コンテナＶ１〜Ｖ４数を増やすと性能が向上する。このため、性能が向上する相関係数を判別するための閾値を予め定め、この閾値を相関係数が超えた際に、性能とリソース割当セット数との依存有りを示す依存度に該当する割当量のＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数のみを増減させるようにした。これによって、例えばリソース割当セット数が増加したＶＭ／コンテナＶ１〜Ｖ４に係る性能を向上できる。
【０１２０】
（４）依存度算出部１２ｂは、リソースの割当量としてＶＭ／コンテナＶ１〜Ｖ４の数を用い、当該ＶＭ／コンテナＶ１〜Ｖ４の数と性能との相関係数を求め、この求められた相関係数に応じて当該ＶＭ／コンテナＶ１〜Ｖ４毎に重み定数を算出する。オートスケール判断部１２ｃは、算出されたＶＭ／コンテナＶ１〜Ｖ４毎の重み定数に応じてＶＭ／コンテナＶ１〜Ｖ４毎の増減数を定め、このＶＭ／コンテナＶ１〜Ｖ４毎の増減数の比で、各ＶＭ／コンテナＶ１〜Ｖ４の数を増減させるためのリソース制御量を求める。リソース制御部１１ｂは、リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナＶ１〜Ｖ４の数を増減する構成とした。
【０１２１】
この構成によれば、オートスケール実行時に、ＶＭ／コンテナＶ１〜Ｖ４毎の重み定数の比に応じたＶＭ／コンテナＶ１〜Ｖ４毎の増減数の比で、各ＶＭ／コンテナＶ１〜Ｖ４を増減するので、ＶＭ／コンテナＶ１〜Ｖ４全体として、性能を最適に向上させることが可能となる。
【０１２２】
（５）依存度算出部１２ｂは、ＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数を用い、当該リソース割当セット数と性能との相関係数を求め、この求められた相関係数に応じて当該ＶＭ／コンテナＶ１〜Ｖ４毎に重み定数を算出する。オートスケール判断部１２ｃは、算出されたＶＭ／コンテナＶ１〜Ｖ４毎の重み定数に応じてＶＭ／コンテナＶ１〜Ｖ４毎の増減数を定め、このＶＭ／コンテナＶ１〜Ｖ４毎の増減数の比で、ＶＭ／コンテナＶ１〜Ｖ４毎にリソース割当セット数を増減させるためのリソース制御量を求める。リソース制御部１１ｂは、リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナＶ１〜Ｖ４毎にリソース割当セット数を増減する構成とした。
【０１２３】
この構成によれば、オートスケール実行時に、ＶＭ／コンテナＶ１〜Ｖ４毎の重み定数の比に応じたＶＭ／コンテナＶ１〜Ｖ４毎の増減数の比で、ＶＭ／コンテナＶ１〜Ｖ４毎にリソース割当セット数を増減するので、ＶＭ／コンテナＶ１〜Ｖ４全体として、性能を最適に向上できる。
【０１２４】
（６）依存度算出部１２ｂは、リソースの割当量としてＶＭ／コンテナＶ１〜Ｖ４の数を用い、当該ＶＭ／コンテナＶ１〜Ｖ４の数と性能との相関係数を求め、この求められた相関係数が予め定められた閾値を超える場合に依存度を依存有り、当該閾値以下の場合に依存度を依存無しと定義し、当該依存無しに係るＶＭ／コンテナＶ１〜Ｖ４以外の依存有りのＶＭ／コンテナＶ１〜Ｖ４毎の相関係数に応じて当該ＶＭ／コンテナＶ１〜Ｖ４毎に重み定数を算出する。オートスケール判断部１２ｃは、算出されたＶＭ／コンテナＶ１〜Ｖ４毎の重み定数に応じてＶＭ／コンテナＶ１〜Ｖ４毎の増減数を定め、このＶＭ／コンテナＶ１〜Ｖ４毎の増減数の比で、各ＶＭ／コンテナＶ１〜Ｖ４の数を増減させるためのリソース制御量を求める。リソース制御部１１ｂは、リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナＶ１〜Ｖ４の数を増減する構成とした。
【０１２５】
この構成によれば、ＶＭ／コンテナＶ１〜Ｖ４の数と性能との相関係数が、閾値以下の場合の依存無しに係るＶＭ／コンテナＶ１〜Ｖ４が外される。この外された残りの依存有りのＶＭ／コンテナＶ１〜Ｖ４毎の相関係数に応じてＶＭ／コンテナＶ１〜Ｖ４毎の重み定数が算出され、この重み定数に応じたＶＭ／コンテナＶ１〜Ｖ４毎の増減数の比で、各ＶＭ／コンテナＶ１〜Ｖ４の数が増減される。このため、ＶＭ／コンテナＶ１〜Ｖ４全体として、性能を最適に向上できる。
【０１２６】
（７）依存度算出部１２ｂは、リソースの割当量としてＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数を用い、当該リソース割当セット数と性能との相関係数を求め、この求められた相関係数が予め定められた閾値を超える場合に依存度を依存有り、当該閾値以下の場合に依存度を依存無しと定義し、当該依存無しに係るＶＭ／コンテナＶ１〜Ｖ４以外の依存有りのＶＭ／コンテナＶ１〜Ｖ４毎の相関係数に応じて当該ＶＭ／コンテナＶ１〜Ｖ４毎に重み定数を算出する。オートスケール判断部１２ｃは、算出されたＶＭ／コンテナＶ１〜Ｖ４毎の重み定数に応じてＶＭ／コンテナＶ１〜Ｖ４毎の増減数を定め、このＶＭ／コンテナＶ１〜Ｖ４毎の増減数の比で、ＶＭ／コンテナＶ１〜Ｖ４毎にリソース割当セット数を増減させるためのリソース制御量を求める。リソース制御部１１ｂは、リソース制御量に応じたオートスケールの実行によって該当ＶＭ／コンテナＶ１〜Ｖ４毎にリソース割当セット数を増減する構成とした。
【０１２７】
この構成によれば、ＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数と性能との相関係数が、閾値以下の場合の依存無しに係るＶＭ／コンテナＶ１〜Ｖ４が外される。この外された残りの依存有りのＶＭ／コンテナＶ１〜Ｖ４毎の相関係数に応じてＶＭ／コンテナＶ１〜Ｖ４毎の重み定数が算出され、この重み定数に応じたＶＭ／コンテナＶ１〜Ｖ４毎の増減数の比で、各ＶＭ／コンテナＶ１〜Ｖ４のリソース割当セット数が増減される。このため、ＶＭ／コンテナＶ１〜Ｖ４全体として、性能を最適に向上できる。
【０１２８】
その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【０１２９】
１０  オートスケール型性能保証システム
１１  コンピュート（第１サーバ）
１１ａ  データ収集部
１１ｂ  リソース制御部
１２  コントローラ（第２サーバ）
１２ａ  データ収集部
１２ｂ  依存度算出部
１２ｃ  オートスケール判断部
１３  ＤＢ
Ｖ１〜Ｖ４  ＶＭ／コンテナ
【図１】
2020123849.tif 000003
【図２】
2020123849.tif 000004
【図３】
2020123849.tif 000005
【図４】
2020123849.tif 000006
【図５】
2020123849.tif 000007
【図６】
2020123849.tif 000008
【図７】
2020123849.tif 000009
【図８】
2020123849.tif 000010
【図９】
2020123849.tif 000011
【図１０】
2020123849.tif 000012
【図１１】
2020123849.tif 000013
【図１２】
2020123849.tif 000014
【図１３】
2020123849.tif 000015
【図１４】
2020123849.tif 000016