(57)【要約】【課題】仮想化された複数の呼制御アプリに対してコンピュータリソースの割り当て量を適正化する。【解決手段】リソース割当装置１は、仮想化された複数の呼制御アプリでそれぞれ規制されている信号量規制率を求め、複数の信号量規制率の全体に対する各信号量規制率の規制比率を呼制御アプリ毎に求め、当該規制比率に応じて呼制御アプリの信号量規制閾値を変更する演算部１１と、変更後の信号量規制閾値に基づき呼制御アプリに対するコンピュータリソースの割り当て量を変更する割当部１２と、を備える。【選択図】図２
2019032585.tif 000002
【特許請求の範囲】
【請求項１】
仮想化された複数の呼制御アプリでそれぞれ規制されている信号量規制率を求め、複数の信号量規制率の全体に対する各信号量規制率の規制比率を呼制御アプリ毎に求め、前記規制比率に応じて呼制御アプリの信号量規制閾値を変更する演算部と、
変更後の信号量規制閾値に基づき呼制御アプリに対するコンピュータリソースの割り当て量を変更する割当部と、
を備えることを特徴とするリソース割当装置。
【請求項２】
前記演算部は、
前記複数の呼制御アプリで共通する同一のリソース増減定数に対して前記規制比率を乗算し、変更前の信号量規制閾値に加算または減算することにより、呼制御アプリの信号量規制閾値を変更することを特徴とする請求項１に記載のリソース割当装置。
【請求項３】
リソース割当装置で行うリソース割当方法において、
前記リソース割当装置は、
仮想化された複数の呼制御アプリでそれぞれ規制されている信号量規制率を求め、複数の信号量規制率の全体に対する各信号量規制率の規制比率を呼制御アプリ毎に求め、前記規制比率に応じて呼制御アプリの信号量規制閾値を変更するステップと、
変更後の信号量規制閾値に基づき呼制御アプリに対するコンピュータリソースの割り当て量を変更するステップと、
を行うことを特徴とするリソース割当方法。
【請求項４】
請求項１または２に記載のリソース割当装置としてコンピュータを機能させることを特徴とするリソース割当プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化された呼制御アプリにコンピュータリソースを割り当てる技術に関する。
【背景技術】
【０００２】
現在、各種アプリケーションについて仮想化技術を適用したクラウド環境への移行が本格化しており、呼制御アプリも同様に仮想化が検討されている。呼制御アプリは、端末装置からの呼信号を処理するアプリケーションであるが、一定量以上の信号を受信しないように固定値による信号量の規制がかけられ、呼信号の処理状況に応じて信号量の規制量が調整されている。
【０００３】
例えば、非特許文献１によれば、呼制御アプリの内部処理に要する時間（ＴＡＴ：Turn Around Time）の増減に基づき信号量規制閾値（α）にリソース増減定数（Ａ）を加減し、加減後の信号量規制閾値（α±Ａ）により、呼制御アプリで処理できる信号量を変動させている。その後、当該呼制御アプリを稼働しているサーバ装置は、加減後の信号量規制閾値（α±Ａ）に基づき、当該呼制御アプリに対するコンピュータリソースの割り当て量を変更している。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】星野 幸司、外１名、“呼制御サーバ信号処理量上限値の動的変更方法”、2017年 電子情報通信学会総合大会、B-6-24、通信講演論文集２、2017年3月22日〜25日
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、呼制御アプリを仮想化させた場合、同一のサーバ上で動作しているアプリ数や割り当てられるリソース量によって呼制御アプリが利用できるリソース量は変動するため、固定値による信号量の規制は理想的ではない。
【０００６】
具体的には、非特許文献１の場合、リソース増減定数（Ａ）を加減した信号量規制閾値（α±Ａ）を用いるため、信号量規制閾値αの変動域が「α＋Ａ」または「α−Ａ」のうちいずれかの固定値となる。そのため、仮想化された全ての呼制御アプリに対する追加分または削減分として割り当てるリソース量がリソース増減定数（Ａ）分の固定量に限定され、余剰リソースを適切に配分できないという課題があった。
【０００７】
例えば、図６に示すように、仮想化された３つの呼制御アプリ１〜３が稼働している場合、呼制御アプリ１については、理想的には、信号量が増加したＡｆｔｅｒ時に、規制されていた規制量（＞リソース増減定数（Ａ））に対応する全ての信号量を処理できるように余剰リソースを割り当てるべきである。しかし、更新後の信号量規制閾値は（α１＋Ａ）になるため、（α１＋Ａ）の信号量に対応するリソース量のみが割り当てられ、つまり、（Ａ）に対応するリソース量しか追加されないことから、（α１＋Ａ）を超えた分の信号量に対するリソースが割り当てられず、信号量規制閾値を更新後も規制が引き続き発生してしまう。また、呼制御アプリ３の場合、規制されていた規制量はリソース増減定数（Ａ）よりも小さいので、リソース増減定数（Ａ）に対応するリソースが追加されても、その一部のリソースは使用されないことになる。そのため、従来のリソース割り当て方法では、サーバ装置の持つ有限なコンピュータリソースを有効に活用できない、という課題があった。
【０００８】
本発明は、上記事情を鑑みてなされたものであり、仮想化された複数の呼制御アプリに対するコンピュータリソースの割り当て量を適正化することを目的とする。
【課題を解決するための手段】
【０００９】
以上の課題を解決するため、請求項１に係るリソース割当装置は、仮想化された複数の呼制御アプリでそれぞれ規制されている信号量規制率を求め、複数の信号量規制率の全体に対する各信号量規制率の規制比率を呼制御アプリ毎に求め、前記規制比率に応じて呼制御アプリの信号量規制閾値を変更する演算部と、変更後の信号量規制閾値に基づき呼制御アプリに対するコンピュータリソースの割り当て量を変更する割当部と、を備えることを特徴とする。
【００１０】
請求項２に係るリソース割当装置は、請求項１に記載のリソース割当装置において、前記演算部は、前記複数の呼制御アプリで共通する同一のリソース増減定数に対して前記規制比率を乗算し、変更前の信号量規制閾値に加算または減算することにより、呼制御アプリの信号量規制閾値を変更することを特徴とする。
【００１１】
請求項３に係るリソース割当方法は、リソース割当装置で行うリソース割当方法において、前記リソース割当装置は、仮想化された複数の呼制御アプリでそれぞれ規制されている信号量規制率を求め、複数の信号量規制率の全体に対する各信号量規制率の規制比率を呼制御アプリ毎に求め、前記規制比率に応じて呼制御アプリの信号量規制閾値を変更するステップと、変更後の信号量規制閾値に基づき呼制御アプリに対するコンピュータリソースの割り当て量を変更するステップと、を行うことを特徴とする。
【００１２】
請求項４に係るリソース割当プログラムは、請求項１または２に記載のリソース割当装置としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、仮想化された複数の呼制御アプリに対するコンピュータリソースの割り当て量を適正化することができる。
【図面の簡単な説明】
【００１４】
【図１】コンピュータリソースの割り当て方法の概要を示す図である。
【図２】リソース割当装置の機能ブロック構成を示す図である。
【図３】リソース割当方法の処理動作を示す図である。
【図４】処理動作説明時の参照図である。
【図５】効果説明時の参照図である。
【図６】従来の信号量規制閾値の変更方法を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施する一実施の形態について図面を用いて説明する。
【００１６】
図１は、本実施の形態に係るサーバ装置で行うコンピュータリソースの割り当て方法の概要を示す図である。本実施の形態では、呼制御アプリが持つ規制量の大きさに応じて信号量規制閾値（α）を変更し、変更後の信号量規制閾値（α）に基づきコンピュータリソースの割り当て量を変更する。
【００１７】
具体的には、仮想化された各呼制御アプリ（ｉ）が保持している処理可能な信号量（Ｔｉ）と信号量規制閾値（αｉ）の大小関係から各呼制御アプリで規制が発生しているか否かを判定する。規制が発生している場合、呼制御アプリ毎に信号量（Ｔｉ）と規制量（Ｒｉ）を用いて信号量規制率（ｋｉ＝Ｒｉ／Ｔｉ）を求める。そして、規制が発生している呼制御アプリが複数ある場合、各呼制御アプリで求めた信号量規制率（ｋｉ）を規制が発生している全ての呼制御アプリで正規化して規制比率（ωｉ＝ｋｉ／Σｋｊ（ｊ＝０〜ｎ））を求める。その後、当該規制比率（ωｉ）に応じて各呼制御アプリの信号量規制閾値（αｉ）を変更し、変更後の信号量規制閾値（αｉ＝αｉ±Ａ×ωｊ）に基づきリソースの割り当て量を変更する。
【００１８】
これにより、変更後の信号量規制閾値（αｉ）には各呼制御アプリの規制量に応じた規制比率（ω）が加えられているので、それぞれの呼制御アプリが持つ規制量の大きさに応じてコンピュータリソースを割り当てることができる。その結果、仮想化された複数の呼制御アプリに対するコンピュータリソースの割り当て量を適正化することができる。
【００１９】
次に、本実施の形態に係るリソース割当装置１の機能について説明する。図２は、本実施の形態に係るリソース割当装置１の機能ブロック構成を示す図である。リソース割当装置１は、仮想化された複数の呼制御アプリが動作するサーバ装置内で動作し、図２に示す通り、演算部１１と、割当部１２と、記憶部１３と、を備えて構成される。
【００２０】
演算部１１は、仮想化された複数の呼制御アプリに対する各信号量規制閾値（αｉ）をそれぞれ求める機能部である。具体的には、演算部１１は、仮想化された複数の呼制御アプリ（ｉ）でそれぞれ規制されている信号量規制率（ｋｉ）を求め、複数の信号量規制率の全体に対する各信号量規制率の規制比率（ωｉ）を呼制御アプリ毎に求め、当該規制比率（ωｉ）に応じて呼制御アプリの信号量規制閾値（αｉ）を変更する機能を持つ。特に、演算部１１は、複数の呼制御アプリで共通する同一のリソース増減定数（Ａ）に対して規制比率（ωｉ）を乗算し、変更前の信号量規制閾値（αｉ）に加算または減算することにより、呼制御アプリの信号量規制閾値（αｉ）を変更する機能を持つ。
【００２１】
割当部１２は、各信号量規制閾値（αｉ）に応じたコンピュータリソースを複数の呼制御アプリにそれぞれ割り当てる機能部である。具体的には、割当部１２は、変更後の信号量規制閾値（αｉ）に基づき、呼制御アプリに対するコンピュータリソースの割り当て量を変更する機能を持つ。
【００２２】
記憶部１３は、信号量規制閾値αを演算するために用いる情報を記憶する機能部である。例えば、後述するＴＡＴテーブルやＴＡＴ閾値などを記憶する。
【００２３】
以上がリソース割当装置１の備える機能である。なお、コンピュータリソースとは、仮想化された複数の呼制御アプリを稼働しているサーバ装置のＣＰＵやメモリ等である。リソース割当装置１は、当該サーバ装置の内部で動作してもよいし、当該サーバ装置のＣＰＵやメモリを遠隔制御可能であれば、当該サーバ装置に通信可能に接続されたコンピュータの内部で動作してもよい。
【００２４】
また、本実施の形態では、仮想化された各呼制御アプリの処理能力は互いに等しいものとする。呼制御アプリを仮想化する方法については、公知の技術を用いて実現可能であり、例えば、仮想化ソフト（Virtual Machine Software）を用いて１つのハードウェア上で複数の呼制御アプリを仮想的に稼働させることができる。
【００２５】
次に、リソース割当装置１の処理動作について説明する。図３は、リソース割当方法の処理動作を示す図である。α；信号量規制閾値、β；αの調整下限値、γ；信号量処理実績値（過去に処理した信号量の最大値）である。リソースの割り当て処理を行う前の初期値は、α＝β＝γ＝（全てのハードウェアリソース量／呼制御数）に設定されている。また、Ａ；αの変更幅（＝リソース増減定数）、Ｗ；γの変更幅、δ；ＴＡＴ閾値（呼処理サービスを提供可能なＴＡＴの上限値）、Ｔ；現在の信号量、Ｔ’；処理対象の信号量、Ｒ：規制量（規制する信号量）である。
【００２６】
ステップＳ１；
まず、演算部１１は、仮想化された各呼制御アプリの信号量規制閾値（α）をそれぞれ取得し、各呼制御アプリが受信している現在の信号量（Ｔ）をそれぞれ取得して、（Ｔ≧α）なら（α）以上の信号量を規制し、（α）までの信号量を処理対象の信号量（Ｔ’）とする（図４（ａ））。
【００２７】
ステップＳ２；
さらに、演算部１１は、各呼制御アプリの信号量処理実績値（γ）をそれぞれ取得し、（α＞γ）かつ（Ｔ＞γ）なら（γ＋Ｗ）以上の信号量を規制し、（γ＋Ｗ）までの信号量を処理対象の信号量（Ｔ’）とする（図４（ｂ））。ここでは、（α）および（Ｔ）が（γ）を超えると、過去に経験したことのない過剰な信号量を処理することになり、呼制御アプリがバーストする可能性があるので、（γ）を超える場合は規制をかけている。
【００２８】
なお、リソースの割り当て処理を行う前の場合、（α＝γ）に設定されているので、ステップＳ２はスキップされることになる。それゆえ、この場合には、（α）以上の信号量を規制し、（α）までの信号量を処理対象の信号量（Ｔ’）として、以降の処理を行うことになる。
【００２９】
ステップＳ３；
次に、演算部１１は、例えばサーバ装置の管理者による設定に基づき、現在のフェーズが学習フェーズか閾値監視フェーズかを判断する。学習フェーズとは、閾値監視フェーズで現在のＴＡＴが良化したか悪化したかの比較を行うために用いる過去のＴＡＴを記録するフェーズである。現在のフェーズが、学習フェーズの場合はステップＳ１６へ進み、閾値監視フェーズの場合はステップＳ４へ進む。
【００３０】
ステップＳ４；
次に、演算部１１は、各呼制御アプリの（α）の調整下限値（β）をそれぞれ取得し、ステップＳ１またはステップＳ２で定義した処理対象の信号量（Ｔ’）を用いて、（Ｔ’＞β）であるかを判定する。（Ｔ’＞β）が成立するなら（α）を調整するためにステップＳ５へ進み、（Ｔ’＞β）が成立しないなら調整不要と判断して処理を終了する。
【００３１】
ステップＳ５；
続いて、演算部１１は、ＴＡＴテーブルの（γ）を参照し、（Ｔ’≦γ）であるかを判定する。そして、図４（ｃ）のパターン１のように（Ｔ’≦γ）が成立するなら、（α）を調整するためにステップＳ６へ進む。一方、図４（ｃ）のパターン２のように（Ｔ’≦γ）が成立しない、つまり、処理対象の信号量（Ｔ’）が信号量処理実績値（γ）よりも大きい場合は、呼制御アプリのバーストの発生を確実に防止するために（α）の調整は行わず、ステップＳ２で規制していた（γ＋Ｗ）以上の信号量を引き続き規制し、ステップＳ１７へ進む。
【００３２】
なお、ここでは、ＴＡＴテーブルの（γ）を用いている。ＴＡＴテーブルには、後述するステップＳ１６，Ｓ１７の通り、呼制御アプリ毎に、所定時の信号量（Ｔ，Ｔ’）でのＴＡＴ（呼制御アプリの内部処理に要する時間）が更新または追加する形式で記録されている。（γ）は、過去に処理した信号量（Ｔ，Ｔ’）の最大値であり、呼制御アプリ毎に保持されている。ステップＳ２で用いた（γ）を用いてもよい。
【００３３】
ステップＳ６；
次に、演算部１１は、ステップＳ５に該当する全ての呼制御アプリに係る処理対象の信号量（Ｔ’）の処理に要する現在のＴＡＴをそれぞれ測定し、現在のＴＡＴとＴＡＴテーブルに保持されている過去のＴＡＴとを比較する。そして、（現在のＴＡＴ＜過去のＴＡＴ）が成立するなら、呼制御アプリの処理負荷は良化しており、処理する信号量を増やしてもよいと判断し、（α）を増やし、かつ、リソースの割り当て量を増加させるステップＳ７〜Ｓ１１へ進む。一方、（現在のＴＡＴ＜過去のＴＡＴ）が成立しない場合は、（α）を減らし、かつ、リソースの割り当て量を削減させるステップＳ１２〜Ｓ１４へ進む。
【００３４】
ステップＳ７〜Ｓ１１；
演算部１１は、規制が発生している呼制御アプリの総数（ｎ）を把握し、（ｎ＞０）であるかを判定して（ステップＳ７）、（ｎ＞０）かつ（現在のＴＡＴ＜δ）なら（α）を増加する（ステップＳ８）。
【００３５】
ここで、ステップＳ８で行う（α）の更新方法について説明する。該当する呼制御アプリ（ｉ；１〜ｎ）毎に信号量（Ｔｉ）と規制量（Ｒｉ）を用いて信号量規制率（ｋ＝Ｒｉ／Ｔｉ）を求める。そして、各呼制御アプリで求めた信号量規制率（ｋｉ）を規制が発生している全ての呼制御アプリで正規化して規制比率（ωｉ＝ｋｉ／Σｋｊ（ｊ＝０〜ｎ））を求める。その後、当該規制比率（ωｉ）を（Ａ）に乗算して（αｉ）に加算する。これにより得られた値を更新後の（αｉ＝αｉ＋Ａ×ωｉ）とする。
【００３６】
なお、（Ａ）に代えて、（Ａ）に（ｎ；規制対象の呼制御アプリの総数）を乗算した値（Ａ’＝Ａ×ｎ）を用いてもよい。これにより、（αｉ＝αｉ＋Ａ’×ωｉ＝αｉ＋Ａ×ｎ×ωｉ）となるので、通常規制が発生していないときに変更する（Ａ）を規制が発生している呼制御アプリの総量（ｎ）での規制比率で按分することになり、コンピュータリソースの割り当て量をより更に適正化することができる。
【００３７】
ステップＳ８の後、演算部１１は、（γ＜Ｔ’）なら（Ｔ’＝γ）とする（ステップＳ９）。ステップＳ９と後述するステップＳ１１は、（α）を更新すると、それに合わせて規制していた信号量が増加するので、（γ＜Ｔ’）という状況であれば、過去に経験したことのない過剰な信号量となり、呼制御アプリがバーストする可能性がある。そこで、ここでは、（Ｔ’）を（γ）まで抑えるようにしている。
【００３８】
一方、ステップＳ７で（ｎ＞０）でない場合、つまり、規制対象の呼制御アプリがない場合には、（現在のＴＡＴ＜δ）なら、従来と同様に、（α）に（Ａ）を加算した値を更新後の（α＝α＋Ａ）とし（ステップＳ１０）、（γ＜Ｔ’）なら（Ｔ’＝γ）とする（ステップＳ１１）。
【００３９】
ステップＳ１２〜Ｓ１４；
演算部１１は、規制が発生している呼制御アプリの総数（ｎ）を把握し、（ｎ＞０）であるかを判定して（ステップＳ１２）、（ｎ＞０）かつ（α＞β）なら（α）を削減する（ステップＳ１３）。ステップＳ１３の更新方法はステップＳ８での更新方法と同様であるが、ここでは、規制比率（ωｉ）を（Ａ）に乗算して（αｉ）から減算する。これにより得られた値を更新後の（αｉ＝αｉ−Ａ×ωｊ）とする。この場合も、（Ａ）に代えて、（Ａ）に（ｎ）を乗算した値（Ａ’＝Ａ×ｎ）を用いてもよい。
【００４０】
一方、ステップＳ１２で（ｎ＞０）でない場合、つまり、規制対象の呼制御アプリがない場合には、（α＞β）なら、従来と同様に、（α）を（Ａ）から減算した値を更新後の（α＝α−Ａ）とする（ステップＳ１４）。
【００４１】
ステップＳ１５；
その後、割当部１２は、ステップＳ８，Ｓ１０，Ｓ１３，Ｓ１４のうちいずれかで更新された信号量規制閾値（α）に対応するリソース量を呼制御アプリに割り当てる。特に、ステップＳ８，Ｓ１３では、（Ａ）または（Ａ’）に規制比率（ωｉ）を加えているので、図５に示すように、呼制御アプリが持つ規制量の大きさに応じてコンピュータリソースを割り当てることができる。
【００４２】
ステップＳ１６；
ステップＳ３で現在のフェーズが学習フェーズと判定された場合、演算部１１は、現在の信号量（Ｔ）の処理に要する現在のＴＡＴを測定し、当該ＴＡＴと現在の信号量（Ｔ）とを関連付けて呼制御アプリ毎にＴＡＴテーブルに記録する。
【００４３】
ステップＳ１７；
ステップＳ５で現在のフェーズが学習フェーズと判定された場合、演算部１１は、処理対象の信号量（Ｔ’）の処理に要する現在のＴＡＴを測定し、当該ＴＡＴと現在の信号量（Ｔ’）とを関連付けて呼制御アプリ毎にＴＡＴテーブルに記録する。
【００４４】
以上より、本実施の形態によれば、仮想化された複数の呼制御アプリでそれぞれ規制されている信号量規制率を求め、複数の信号量規制率の全体に対する各信号量規制率の規制比率を呼制御アプリ毎に求め、当該規制比率に応じて呼制御アプリの信号量規制閾値を変更する演算部１１と、変更後の信号量規制閾値に基づき呼制御アプリに対するコンピュータリソースの割り当て量を変更する割当部１２と、を備えるので、それぞれの呼制御アプリが持つ規制量の大きさに応じてコンピュータリソースを割り当てることができる。その結果、仮想化された複数の呼制御アプリに対するコンピュータリソースの割り当て量を適正化することができる。
【００４５】
最後に、本実施の形態で説明したリソース割当装置１は、上記機能を備えるコンピュータなどで実現可能である。また、リソース割当装置１としてコンピュータを機能させるためのリソース割当プログラム、当該リソース割当プログラムの記憶媒体を作成することも可能である。
【符号の説明】
【００４６】
１…リソース割当装置
１１…演算部
１２…割当部
１３…記憶部
【図１】
2019032585.tif 000003
【図２】
2019032585.tif 000004
【図３】
2019032585.tif 000005
【図４】
2019032585.tif 000006
【図５】
2019032585.tif 000007
【図６】
2019032585.tif 000008