(57)【要約】【課題】仮想化構成のサーバにおいてリソースの有効活用とリソースの均衡性を考慮して輻輳制御を行う。【解決手段】仮想化部１１上で動作する仮想サーバＡ，ＢのＣＰＵ使用率の合計値が所定のしきい値に達した場合は、仮想サーバＡ，Ｂそれぞれが単位時間あたりに受信する新規呼の数の比率が仮想サーバＡ，Ｂそれぞれのリソース使用量の逆数の比率となるように新規呼の受信数を変更し、仮想化部１１上で動作する仮想サーバＡ，ＢのＣＰＵ使用率の合計値が物理サーバの性能限界に達した場合は、新規呼を受信しないように規制する。これにより、仮想サーバＡ，ＢのＣＰＵ使用率の均衡を取りつつ、物理サーバのリソースを有効活用することが可能となる。【選択図】図１
2018032919.tif 000002
【特許請求の範囲】
【請求項１】
仮想化構成で動作する複数の仮想サーバの輻輳を制御する輻輳制御装置であって、
前記複数の仮想サーバそれぞれのリソース使用量を取得する取得手段と、
前記複数の仮想サーバのリソース使用量の合計値が第１閾値に達した場合、前記複数の仮想サーバのそれぞれのリソース使用量に基づいて前記複数の仮想サーバのそれぞれが受信する新規呼の数を規制する第１規制手段と、
前記複数の仮想サーバのリソース使用量の合計値が第２閾値に達した場合、前記複数の仮想サーバのそれぞれが新規呼を受信しないように規制する第２規制手段と、
を有することを特徴とする輻輳制御装置。
【請求項２】
前記第１規制手段は、前記複数の仮想サーバのそれぞれが単位時間あたりに受信する新規呼の数の比率が前記複数の仮想サーバのそれぞれのリソース使用量の逆数の比率となるように前記複数の仮想サーバが受信する新規呼の数を規制することを特徴とする請求項１記載の輻輳制御装置。
【請求項３】
仮想化構成で動作する複数の仮想サーバの輻輳を制御する輻輳制御方法であって、
前記複数の仮想サーバそれぞれのリソース使用量を取得するステップと、
前記複数の仮想サーバのリソース使用量の合計値が第１閾値に達した場合、前記複数の仮想サーバのそれぞれのリソース使用量に基づいて前記複数の仮想サーバのそれぞれが受信する新規呼の数を規制するステップと、
前記複数の仮想サーバのリソース使用量の合計値が第２閾値に達した場合、前記複数の仮想サーバのそれぞれが新規呼を受信しないように規制するステップと、
を有することを特徴とする輻輳制御方法。
【請求項４】
前記受信する新規呼の数を規制するステップは、前記複数の仮想サーバのそれぞれが単位時間あたりに受信する新規呼の数の比率が前記複数の仮想サーバのそれぞれのリソース使用量の逆数の比率となるように前記複数の仮想サーバが受信する新規呼の数を規制することを特徴とする請求項３記載の輻輳制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化構成のサーバにおいて輻輳を制御する技術に関する。
【背景技術】
【０００２】
呼制御処理を行う音声通信サーバには、輻輳によりサーバ負荷が増加した際に、リソース不足による性能劣化を防止するための輻輳制御が組み込まれている。迅速に輻輳を検出して新規呼の受信を一時的に規制することで、輻輳を沈静化し、大規模障害を回避できる。
【０００３】
従来、音声通信サーバは１つのハードウェア上で１つのアプリケーションを動作させて構成していた。１つのハードウェアに対し１つのアプリケーションを動作させる構成における輻輳制御は、図５に示すように、ハードウェア性能の限界値に基づいてＣＰＵ使用率の上限値を設定しておき、ＣＰＵ使用率が上限値に到達または近づいた際、新規呼の受信を破棄する規制制御を行う。
【０００４】
近年、仮想化技術の浸透により、１つのハードウェア上で複数のアプリケーションを動作させる傾向にある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】村合正明、他３名、「仮想化技術の通信サービスへの適用」、雑誌ＦＵＪＩＴＳＵ、富士通株式会社、２０１２年１１月、第６３巻、第６号、pp. 640-645
【発明の概要】
【発明が解決しようとする課題】
【０００６】
１つのハードウェア（物理サーバ）上で複数のアプリケーション（仮想サーバ）を動作させる仮想化構成における輻輳制御としては、仮想サーバ単位でリソース消費量を管理する方法と、仮想サーバのリソース消費量を合計して管理する方法が考えられる。
【０００７】
仮想サーバ単位でリソース消費量を管理する方法では、図６に示すように、仮想サーバＡ，Ｂのそれぞれに個別のハードウェア性能限界を設定する。そして、仮想サーバＡ，ＢのそれぞれでＣＰＵ使用率がハードウェア性能限界に達したか否かを判定し、ＣＰＵ使用率がハードウェア性能限界に達した仮想サーバＡは規制制御を行って新規呼を受信しない。ＣＰＵ使用率がハードウェア性能限界に達していない仮想サーバＢは規制制御を行わない。
【０００８】
仮想サーバのリソース消費量を合計して管理する方法では、図７に示すように、複数の仮想サーバＡ，Ｂでハードウェア性能限界を共有する。仮想サーバそれぞれのＣＰＵ使用率を合計した値がハードウェア性能限界に達したか否かを判定し、ＣＰＵ使用率の合計値がハードウェア性能限界に達した場合は、いずれの仮想サーバも規制制御を行って新規呼を受信しない。
【０００９】
しかしながら、上記の方法は、それぞれに課題が存在する。
【００１０】
仮想サーバ単位でリソース消費量を管理する方法では、物理サーバのリソースには余力が存在するにもかかわらず、仮想サーバＡは新規呼を受信しない規制が発生してしまう。そのため、物理サーバトータルでの性能を最大限に活かすことができないという問題があった。
【００１１】
仮想サーバのリソース消費量を合計して管理する方法では、一方の仮想サーバＡのＣＰＵ使用率が大きくなると他方の仮想サーバＢで使用できるリソースの上限が低くなり、仮想サーバＡ，Ｂ間での均衡性が損なわれるという問題があった。
【００１２】
本発明は、上記に鑑みてなされたものであり、仮想化構成のサーバにおいてリソースの有効活用とリソースの均衡性を考慮して輻輳制御を行うことを目的とする。
【課題を解決するための手段】
【００１３】
第１の本発明に係る輻輳制御装置は、仮想化構成で動作する複数の仮想サーバの輻輳を制御する輻輳制御装置であって、前記複数の仮想サーバそれぞれのリソース使用量を取得する取得手段と、前記複数の仮想サーバのリソース使用量の合計値が第１閾値に達した場合、前記複数の仮想サーバのそれぞれのリソース使用量に基づいて前記複数の仮想サーバのそれぞれが受信する新規呼の数を規制する第１規制手段と、前記複数の仮想サーバのリソース使用量の合計値が第２閾値に達した場合、前記複数の仮想サーバのそれぞれが新規呼を受信しないように規制する第２規制手段と、を有することを特徴とする。
【００１４】
第２の本発明に係る輻輳制御方法は、仮想化構成で動作する複数の仮想サーバの輻輳を制御する輻輳制御方法であって、前記複数の仮想サーバそれぞれのリソース使用量を取得するステップと、前記複数の仮想サーバのリソース使用量の合計値が第１閾値に達した場合、前記複数の仮想サーバのそれぞれのリソース使用量に基づいて前記複数の仮想サーバのそれぞれが受信する新規呼の数を規制するステップと、前記複数の仮想サーバのリソース使用量の合計値が第２閾値に達した場合、前記複数の仮想サーバのそれぞれが新規呼を受信しないように規制するステップと、を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、仮想化構成のサーバにおいてリソースの有効活用とリソースの均衡性を考慮して輻輳制御を行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態における輻輳制御装置の構成を示す機能ブロック図である。
【図２】本実施の形態における輻輳制御装置の処理の流れを示すフローチャートである。
【図３】ＣＰＵ使用率の合計値がしきい値に達したときの仮想サーバのＣＰＵ使用率を示す図である。
【図４】本実施の形態における輻輳制御装置が規制する様子を示す図である。
【図５】従来の１つのハードウェアに対し１つのアプリケーションを動作させる構成における輻輳制御を説明する図である。
【図６】仮想サーバ単位でリソース消費量を管理する輻輳制御を説明する図である。
【図７】仮想サーバのリソース消費量を合計して管理する輻輳制御を説明する図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について図面を用いて説明する。
【００１８】
図１は、本実施の形態における輻輳制御装置の構成を示す機能ブロック図である。図１に示す輻輳制御装置１は、仮想化部１１、取得部１２、及び規制部１３を備える。
【００１９】
仮想化部１１は、仮想化技術を用いて、１つのハードウェア（物理サーバ）のリソースを共有して複数の仮想サーバＡ，Ｂを動作させる。本実施の形態の仮想サーバＡ，Ｂは、新規呼を受信して所定の呼処理を実行する呼処理サーバである。なお、図１では仮想サーバＡ，Ｂの２つのみを図示しているが、仮想化部１１上で動作する仮想サーバＡ，Ｂの数を２台に限定するものではない。
【００２０】
取得部１２は、仮想化部１１で動作中の各仮想サーバＡ，Ｂによって使用されるリソース（ＣＰＵ、メモリなど）の消費量あるいは各仮想サーバＡ，Ｂの負荷量を取得する。
【００２１】
規制部１３は、仮想サーバＡ，Ｂのリソース消費量が所定の条件を満たすときに、各仮想サーバＡ，Ｂのリソース消費量に基づいて各仮想サーバＡ，Ｂの新規呼の受信を規制する。具体的には、仮想サーバＡ，Ｂのリソース消費量の合計値が所定のしきい値に満たない場合は規制を発動しない。仮想サーバＡ，Ｂのリソース消費量の合計値が所定のしきい値に達した場合は、仮想サーバＡ，Ｂのリソース消費量の比率に基づいて規制の度合いを調整し、物理サーバの性能限界に近づくほど仮想サーバＡ，Ｂ間でリソース消費量の均衡が取れるように、仮想サーバＡ，Ｂで新規呼を受信する数を規制する（１次規制）。仮想サーバＡ，Ｂのリソース消費量の合計値が物理サーバの性能限界に達した場合は、全ての仮想サーバＡ，Ｂで新規呼の受信を規制し、新規呼を受け付けない（２次規制）。なお、所定のしきい値は物理サーバの性能限界より低く設定する。
【００２２】
次に、本実施の形態における輻輳制御装置の処理の流れについて説明する。
【００２３】
図２は、本実施の形態における輻輳制御装置の処理の流れを示すフローチャートである。
【００２４】
取得部１２が各仮想サーバＡ，ＢのＣＰＵ使用率（リソース消費量）を取得し、規制部１３は、仮想サーバＡ，ＢのＣＰＵ使用率の合計値がしきい値に達したか否かを判定する（ステップＳ１１）。ＣＰＵ使用率の合計値がしきい値に達していない場合は規制をしない（ステップＳ１１のＮｏ）。なお、ステップＳ１１の判定方法として別の判定方法を用いてもよい。例えば、仮想サーバＡ，ＢのＣＰＵ使用率の比が所定の割合を超えたか否かを判定する。あるいは、仮想サーバＡ，ＢのいずれかのＣＰＵ使用率が所定の値（例えば５０％）に達したか否かを判定する。
【００２５】
ＣＰＵ使用率の合計値がしきい値に達した場合（ステップＳ１１のＹｅｓ）、規制部１３は、仮想サーバＡ，Ｂ間でＣＰＵ使用率の均衡が取れるように１次規制を開始する（ステップＳ１２）。
【００２６】
具体的な規制方法について図３，４を用いて説明する。図３は、ＣＰＵ使用率の合計値がしきい値（図中の「規制動作発動閾値」）に達したときの仮想サーバＡ，ＢのＣＰＵ使用率を示す図である。図３に示すように、仮想サーバＡのＣＰＵ使用率と仮想サーバＢのＣＰＵ使用率の比率がＭ：Ｎであったとする。この場合、図４に示すように、規制部１３は、単位時間あたりの仮想サーバＡの新規呼の受信数と仮想サーバＢの新規呼の受信数の比率がＮ：ＭつまりＣＰＵ使用率の逆数の比率となるように受信する新規呼の数を規制する。これにより、仮想サーバＡ，ＢのＣＰＵ使用率の比率は性能限界に近づくほど均衡が取れるようになる。なお、規制する方法は仮想サーバＡ，ＢのＣＰＵ使用率の均衡が取れるようになるものであればよい。
【００２７】
１次規制を開始後、規制部１３は、仮想サーバＡ，ＢのＣＰＵ使用率の合計値が性能限界に達したか否かを判定する（ステップＳ１３）。ＣＰＵ使用率の合計値が性能限界に達していない場合は１次規制を続ける（ステップＳ１３のＮｏ）。
【００２８】
ＣＰＵ使用率の合計値が性能限界に達した場合（ステップＳ１３のＹｅｓ）、規制部１３は、仮想サーバＡ，Ｂで新規呼の受信を規制し、新規呼を受け付けない２次規制を開始する（ステップＳ１４）。
【００２９】
その後、輻輳状態が解消し、ＣＰＵ使用率の合計値が性能限界に満たなくなると、規制を徐々に解除する。具体的には、ＣＰＵ使用率の合計値が性能限界に達していないが、所定のしきい値以上の場合は、２次規制から１次規制にする。ＣＰＵ使用率の合計値が所定のしきい値に達しなくなると規制をしない。
【００３０】
以上説明したように、本実施の形態によれば、仮想化部１１上で動作する仮想サーバＡ，ＢのＣＰＵ使用率の合計値が所定のしきい値に達した場合は、仮想サーバＡ，Ｂそれぞれが単位時間あたりに受信する新規呼の数の比率が仮想サーバＡ，Ｂそれぞれのリソース使用量の逆数の比率となるように新規呼の受信数を規制し、仮想化部１１上で動作する仮想サーバＡ，ＢのＣＰＵ使用率の合計値が物理サーバの性能限界に達した場合は、新規呼を受信しないように規制することにより、仮想サーバＡ，ＢのＣＰＵ使用率の均衡を取りつつ、物理サーバのリソースを有効活用することが可能となる。
【符号の説明】
【００３１】
１…輻輳制御装置
１１…仮想化部
１２…取得部
１３…規制部
【図１】
2018032919.tif 000003
【図２】
2018032919.tif 000004
【図３】
2018032919.tif 000005
【図４】
2018032919.tif 000006
【図５】
2018032919.tif 000007
【図６】
2018032919.tif 000008
【図７】
2018032919.tif 000009