(57)【要約】【課題】サービス別のリソースの最低必要量の保証とリソースの有効活用を同時に実現する。【解決手段】全体リソース使用量がサービス毎輻輳発動閾値より高いか否かを判定し（Ｓ２１３、Ｓ２５３）、高いか否かを示すフラグをサービス毎輻輳状態記憶部に記憶させる（Ｓ２１５、Ｓ２５５）。全体リソース使用量がサービス毎輻輳発動閾値より高いことをフラグが示しているなら、サービス別リソース使用量がサービス別リソース最低必要量より高いサービスにつき、サービス別リソース使用量上限を、サービス別リソース最低必要量より高く、且つ、サービス別リソース使用量より低くなるように計算する。全体リソース使用量がサービス毎輻輳発動閾値より高いことをフラグが示しており、サービス別リソース使用量がサービス別リソース使用量上限より高いなら、サービス別リソース使用量をサービス別リソース使用量上限以下にするための制御を行う。【選択図】図１１
2014153841.tif 000002
【特許請求の範囲】
【請求項１】
１つのリソースを複数のサービスに使用する情報処理装置の輻輳解消方法であって、
前記情報処理装置は、前記リソースの全体の使用量である全体リソース使用量を取得する全体リソース使用量取得部と、
前記各サービスにつき、当該サービスによる前記リソースの使用量であるサービス別リソース使用量を取得するサービス別リソース使用量取得部と、
前記全体リソース使用量および前記各サービス別リソース使用量が記憶されるリソース使用量履歴記憶部と、
前記各サービスにつき、当該サービスによる前記リソースの最低必要量であるサービス別リソース最低必要量が記憶されるサービス別リソース最低必要量記憶部と、
前記各サービスにつき、当該サービスのサービス別リソース使用量の上限であるサービス別リソース使用量上限が記憶されるサービス別リソース使用量上限記憶部と、
前記全体リソース使用量が予め定められたサービス毎輻輳発動閾値より高いか否かを示すフラグが記憶されるサービス毎輻輳状態記憶部とを備え、
前記輻輳解消方法は、
前記情報処理装置のサービス毎輻輳判定部が、前記リソース使用量履歴記憶部から全体リソース使用量を読み出し、前記サービス毎輻輳発動閾値より高いか否かを判定し、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いか否かを示すフラグを前記サービス毎輻輳状態記憶部に記憶させるステップと、
前記サービス毎輻輳判定部が、前記サービス毎輻輳状態記憶部からフラグを読み出すステップと、
前記情報処理装置のサービス別リソース使用量上限計算部が、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いことを当該フラグが示しているなら、前記リソース使用量履歴記憶部から各サービス別リソース使用量を読み出し、前記サービス別リソース最低必要量記憶部から各サービス別リソース最低必要量を読み出し、当該サービス別リソース使用量が該当のサービス別リソース最低必要量より高いサービスにつき、当該サービスのサービス別リソース使用量上限を、当該サービス別リソース最低必要量より高く、且つ、当該サービス別リソース使用量より低くなるように計算し、前記サービス別リソース使用量上限記憶部に記憶させるステップと、
前記情報処理装置の処理依頼部が、前記サービス毎輻輳状態記憶部からフラグを読み出し、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いことを当該フラグが示しているなら、前記サービス別リソース使用量上限記憶部からサービス別リソース使用量上限を読み出し、前記リソース使用量履歴記憶部から該当のサービスのサービス別リソース使用量を読み出し、サービス別リソース使用量がサービス別リソース使用量上限より高いなら、当該サービス別リソース使用量をサービス別リソース使用量上限以下にするための制御を行うステップと
を含むことを特徴とする輻輳解消方法。
【請求項２】
前記サービス別リソース使用量上限計算部は、前記高いサービスのそれぞれにつき、サービス別リソース使用量上限を、前記高いサービスのサービス別リソース使用量上限からサービス別リソース最低必要量を減じた値の総和が、予め定められた全体リソース目標使用量から、（１）全てのサービスおよびサービス以外の機能が発揮されない無負荷時のリソース使用量と、（２）サービス以外の機能により使用されるリソース使用量と、（３）サービス別リソース使用量がサービス別リソース最低必要量より大きいサービスのサービス別リソース最低必要量の総和と、（４）サービス別リソース使用量がサービス別リソース最低必要量より小さいサービスのサービス別リソース使用量あるいは（４）の代わりに、（４Ａ）サービス別リソース使用量がサービス別リソース最低必要量より小さいサービスのサービス別リソース最低必要量の総和とを減じた値に一致するように計算する
ことを特徴とする請求項１記載の輻輳解消方法。
【請求項３】
前記サービス別リソース使用量上限計算部は、前記高いサービスのそれぞれにつき、サービス別リソース使用量からサービス別リソース最低必要量を減じた最低必要量超過値を計算し、当該サービス別リソース使用量上限からサービス別リソース最低必要量を減じた値である最低必要量超過可能値の総和に対する当該サービスの最低必要量超過可能値の比を、前記最低必要量超過値の総和に対する当該サービスの最低必要量超過値の比に一致させる
ことを特徴とする請求項２記載の輻輳解消方法。
【請求項４】
前記サービス別リソース使用量上限計算部が、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いことを当該フラグが示しているなら、前記リソース使用量履歴記憶部から各サービス別リソース使用量を読み出し、前記サービス別リソース最低必要量記憶部から各サービス別リソース最低必要量を読み出し、当該サービス別リソース使用量が該当のサービス別リソース最低必要量以下であるサービスにつき、当該サービスのサービス別リソース使用量上限を、当該サービス別リソース最低必要量より高くなるように計算し、前記サービス別リソース使用量上限記憶部に記憶させるステップ
を含むことを特徴とする請求項１ないし３のいずれかに記載の輻輳解消方法。
【請求項５】
１つのリソースを複数のサービスに使用する情報処理装置であって、
前記リソースの全体の使用量である全体リソース使用量を取得する全体リソース使用量取得部と、
前記各サービスにつき、当該サービスによる前記リソースの使用量であるサービス別リソース使用量を取得するサービス別リソース使用量取得部と、
前記全体リソース使用量および前記各サービス別リソース使用量が記憶されるリソース使用量履歴記憶部と、
前記各サービスにつき、当該サービスによる前記リソースの最低必要量であるサービス別リソース最低必要量が記憶されるサービス別リソース最低必要量記憶部と、
前記各サービスにつき、当該サービスのサービス別リソース使用量の上限であるサービス別リソース使用量上限が記憶されるサービス別リソース使用量上限記憶部と、
前記全体リソース使用量が予め定められたサービス毎輻輳発動閾値より高いか否かを示すフラグが記憶されるサービス毎輻輳状態記憶部と、
前記リソース使用量履歴記憶部から全体リソース使用量を読み出し、前記サービス毎輻輳発動閾値より高いか否かを判定し、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いか否かを示すフラグを前記サービス毎輻輳状態記憶部に記憶させるサービス毎輻輳判定部と、
前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いことを当該フラグが示しているなら、前記リソース使用量履歴記憶部から各サービス別リソース使用量を読み出し、前記サービス別リソース最低必要量記憶部から各サービス別リソース最低必要量を読み出し、当該サービス別リソース使用量が該当のサービス別リソース最低必要量より高いサービスにつき、当該サービスのサービス別リソース使用量上限を、当該サービス別リソース最低必要量より高く、且つ、当該サービス別リソース使用量より低くなるように計算し、前記サービス別リソース使用量上限記憶部に記憶させるサービス別リソース使用量上限計算部と、
前記サービス毎輻輳状態記憶部からフラグを読み出し、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いことを当該フラグが示しているなら、前記サービス別リソース使用量上限記憶部からサービス別リソース使用量上限を読み出し、前記リソース使用量履歴記憶部から該当のサービスのサービス別リソース使用量を読み出し、サービス別リソース使用量がサービス別リソース使用量上限より高いなら、当該サービス別リソース使用量をサービス別リソース使用量上限以下にするための制御を行う処理依頼部と
を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置の輻輳解消方法および情報処理装置に関するものである。
【背景技術】
【０００２】
情報処理装置の１つである呼処理サーバにおいてサーバ全体（ユニット）のCPU使用率が所定の閾値以上となるなど輻輳状態となった場合には、加入者優先度に応じて受付呼数密度を決定し、高優先度の呼以外を規制する（受付呼数密度を低下させる）ことで、高優先度の呼や既存呼は処理しながらも輻輳状態を解消する方法（非特許文献１を参照）がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】川村亨ほか、サービス制御ノードにおける自律輻輳制御方式、電子情報通信学会技術研究報告、 SSE94-16、IN94-16、pp. 93-98
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、複数のサービスを行う情報処理装置においては、以下の課題がある。  
(1)情報処理装置が輻輳状態になった場合、サービスの種類やサービスの優先度によらず一律規制されてしまう。また、CPU等のリソースを多く使用しているサービスの呼を他のサービスより多めに規制する等の制御ができない。すなわち、各サービスが最低でも達成すべき呼処理性能（諸元値）を定めることができない。諸元値は、サービス別のリソースの最低必要量とも言うことができる。
【０００５】
(2)各サービスが排他的にリソースを使用できるようにすれば、最低必要量を定めることも可能と考えられるが、負荷が少ない（最低必要量以下の）サービスが存在すると、情報処理装置全体としてリソースが余ることになりリソースを有効に利用できない。  
すなわち、サービス別のリソースの最低必要量の保証とリソースの有効活用は同時に実現できない。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、サービス別のリソースの最低必要量の保証とリソースの有効活用を同時に実現できる情報処理装置の輻輳解消方法および情報処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、第１の本発明は、１つのリソースを複数のサービスに使用する情報処理装置の輻輳解消方法であって、前記情報処理装置は、前記リソースの全体の使用量である全体リソース使用量を取得する全体リソース使用量取得部と、前記各サービスにつき、当該サービスによる前記リソースの使用量であるサービス別リソース使用量を取得するサービス別リソース使用量取得部と、前記全体リソース使用量および前記各サービス別リソース使用量が記憶されるリソース使用量履歴記憶部と、前記各サービスにつき、当該サービスによる前記リソースの最低必要量であるサービス別リソース最低必要量が記憶されるサービス別リソース最低必要量記憶部と、前記各サービスにつき、当該サービスのサービス別リソース使用量の上限であるサービス別リソース使用量上限が記憶されるサービス別リソース使用量上限記憶部と、前記全体リソース使用量が予め定められたサービス毎輻輳発動閾値より高いか否かを示すフラグが記憶されるサービス毎輻輳状態記憶部とを備え、前記輻輳解消方法は、前記情報処理装置のサービス毎輻輳判定部が、前記リソース使用量履歴記憶部から全体リソース使用量を読み出し、前記サービス毎輻輳発動閾値より高いか否かを判定し、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いか否かを示すフラグを前記サービス毎輻輳状態記憶部に記憶させるステップと、前記サービス毎輻輳判定部が、前記サービス毎輻輳状態記憶部からフラグを読み出すステップと、前記情報処理装置のサービス別リソース使用量上限計算部が、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いことを当該フラグが示しているなら、前記リソース使用量履歴記憶部から各サービス別リソース使用量を読み出し、前記サービス別リソース最低必要量記憶部から各サービス別リソース最低必要量を読み出し、当該サービス別リソース使用量が該当のサービス別リソース最低必要量より高いサービスにつき、当該サービスのサービス別リソース使用量上限を、当該サービス別リソース最低必要量より高く、且つ、当該サービス別リソース使用量より低くなるように計算し、前記サービス別リソース使用量上限記憶部に記憶させるステップと、前記情報処理装置の処理依頼部が、前記サービス毎輻輳状態記憶部からフラグを読み出し、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いことを当該フラグが示しているなら、前記サービス別リソース使用量上限記憶部からサービス別リソース使用量上限を読み出し、前記リソース使用量履歴記憶部から該当のサービスのサービス別リソース使用量を読み出し、サービス別リソース使用量がサービス別リソース使用量上限より高いなら、当該サービス別リソース使用量をサービス別リソース使用量上限以下にするための制御を行うステップとを含むことを特徴とする。
【０００８】
例えば、前記サービス別リソース使用量上限計算部は、前記高いサービスのそれぞれにつき、サービス別リソース使用量上限を、前記高いサービスのサービス別リソース使用量上限からサービス別リソース最低必要量を減じた値の総和が、予め定められた全体リソース目標使用量から、（１）全てのサービスおよびサービス以外の機能が発揮されない無負荷時のリソース使用量と、（２）サービス以外の機能により使用されるリソース使用量と、（３）サービス別リソース使用量がサービス別リソース最低必要量より大きいサービスのサービス別リソース最低必要量の総和と、（４）サービス別リソース使用量がサービス別リソース最低必要量より小さいサービスのサービス別リソース使用量あるいは（４）の代わりに、（４Ａ）サービス別リソース使用量がサービス別リソース最低必要量より小さいサービスのサービス別リソース最低必要量の総和とを減じた値に一致するように計算する。
【０００９】
例えば、前記サービス別リソース使用量上限計算部は、前記高いサービスのそれぞれにつき、サービス別リソース使用量からサービス別リソース最低必要量を減じた最低必要量超過値を計算し、当該サービス別リソース使用量上限からサービス別リソース最低必要量を減じた値である最低必要量超過可能値の総和に対する当該サービスの最低必要量超過可能値の比を、前記最低必要量超過値の総和に対する当該サービスの最低必要量超過値の比に一致させる。
【００１０】
例えば、前記サービス別リソース使用量上限計算部が、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いことを当該フラグが示しているなら、前記リソース使用量履歴記憶部から各サービス別リソース使用量を読み出し、前記サービス別リソース最低必要量記憶部から各サービス別リソース最低必要量を読み出し、当該サービス別リソース使用量が該当のサービス別リソース最低必要量以下であるサービスにつき、当該サービスのサービス別リソース使用量上限を、当該サービス別リソース最低必要量より高くなるように計算し、前記サービス別リソース使用量上限記憶部に記憶させるステップを含む。
【００１１】
第２の本発明は、１つのリソースを複数のサービスに使用する情報処理装置であって、前記リソースの全体の使用量である全体リソース使用量を取得する全体リソース使用量取得部と、前記各サービスにつき、当該サービスによる前記リソースの使用量であるサービス別リソース使用量を取得するサービス別リソース使用量取得部と、前記全体リソース使用量および前記各サービス別リソース使用量が記憶されるリソース使用量履歴記憶部と、前記各サービスにつき、当該サービスによる前記リソースの最低必要量であるサービス別リソース最低必要量が記憶されるサービス別リソース最低必要量記憶部と、前記各サービスにつき、当該サービスのサービス別リソース使用量の上限であるサービス別リソース使用量上限が記憶されるサービス別リソース使用量上限記憶部と、前記全体リソース使用量が予め定められたサービス毎輻輳発動閾値より高いか否かを示すフラグが記憶されるサービス毎輻輳状態記憶部と、前記リソース使用量履歴記憶部から全体リソース使用量を読み出し、前記サービス毎輻輳発動閾値より高いか否かを判定し、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いか否かを示すフラグを前記サービス毎輻輳状態記憶部に記憶させるサービス毎輻輳判定部と、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いことを当該フラグが示しているなら、前記リソース使用量履歴記憶部から各サービス別リソース使用量を読み出し、前記サービス別リソース最低必要量記憶部から各サービス別リソース最低必要量を読み出し、当該サービス別リソース使用量が該当のサービス別リソース最低必要量より高いサービスにつき、当該サービスのサービス別リソース使用量上限を、当該サービス別リソース最低必要量より高く、且つ、当該サービス別リソース使用量より低くなるように計算し、前記サービス別リソース使用量上限記憶部に記憶させるサービス別リソース使用量上限計算部と、前記サービス毎輻輳状態記憶部からフラグを読み出し、前記全体リソース使用量が前記サービス毎輻輳発動閾値より高いことを当該フラグが示しているなら、前記サービス別リソース使用量上限記憶部からサービス別リソース使用量上限を読み出し、前記リソース使用量履歴記憶部から該当のサービスのサービス別リソース使用量を読み出し、サービス別リソース使用量がサービス別リソース使用量上限より高いなら、当該サービス別リソース使用量をサービス別リソース使用量上限以下にするための制御を行う処理依頼部とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、サービス別のリソースの最低必要量の保証とリソースの有効活用を同時に実現することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態に係る情報処理装置の一例である呼処理装置の構成図である。
【図２】パラメータ記憶部１１０の構成の一例を示す図である。
【図３】リソース使用量履歴記憶部１０９の構成の一例を示す図である。
【図４】サービス別リソース使用量上限記憶部１１１の構成の一例を示す図である。
【図５】サービス毎輻輳状態記憶部１１２の構成の一例を示す図である。
【図６】パラメータ記憶部１１０における動作の一例を示す図である。
【図７】イベントキュー長取得部１０６における動作の一例を示す図である。
【図８】全体リソース使用量取得部１０７における動作の一例を示す図である。
【図９】サービス別リソース使用量取得部１０８における動作の一例を示す図である。
【図１０】イベント登録部１０５における動作の一例を示す図である。
【図１１】サービス毎輻輳判定部１１３における動作の一例を示すフローチャートである。
【図１２】サービス別リソース使用量上限計算部１１４における動作の一例を示すフローチャートである。
【図１３】処理依頼部１０３における動作の一例を示すフローチャートである。
【図１４】ステップＳ３０７における処理の一例を示す図である。
【図１５】ステップＳ３０７における処理の別な一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照して説明する。
【００１５】
図１は、本実施の形態に係る情報処理装置の一例である呼処理装置の構成図である。  
呼処理装置１は、１つのリソースであるＣＰＵを複数のサービスの呼処理に使用する装置である。
【００１６】
呼処理装置１は、前述のリソース１０１（ＣＰＵ）、処理実行部１０２、処理依頼部１０３、イベントキュー１０４、イベント登録部１０５、イベントキュー長取得部１０６、全体リソース使用量取得部１０７、サービス別リソース使用量取得部１０８、リソース使用量履歴記憶部１０９、パラメータ記憶部１１０（サービス別リソース最低必要量記憶部）、サービス別リソース使用量上限記憶部１１１、サービス毎輻輳状態記憶部１１２、サービス毎輻輳判定部１１３およびサービス別リソース使用量上限計算部１１４を備え、入力装置２に接続されている。
【００１７】
図２は、パラメータ記憶部１１０の構成の一例を示す図である。  
パラメータ記憶部１１０は、例えば、３つのサービスＡ、Ｂ、Ｃのそれぞれにつき、当該サービスによるリソース１０１の最低必要量であるサービス別リソース最低必要量を記憶する。例えば、あるサービスＡにつき、そのサービスＡによるリソース１０１の使用量であるサービス別リソース使用量が通常であればサービス別リソース最低必要量超過となるべき負荷が印加された状態でもサービス別リソース最低必要量より低くなった場合、 規定の処理性能に達していないにも関わらず規制等の制御がなされていることになる。よって、通常であればサービス別リソース最低必要量超過となるべき負荷が印加された状態では、サービス別リソース使用量はサービス別リソース最低必要量より高くなる必要がある。パラメータ記憶部１１０は、そのようなサービス別リソース最低必要量を記憶している。すなわち、パラメータ記憶部１１０は、サービス別リソース最低必要量記憶部である。
【００１８】
また、パラメータ記憶部１１０は、サービス毎の輻輳制御を発動するか否か判定で使用されるサービス毎輻輳発動閾値、ならびに、サービス毎の輻輳制御を解除するか否かの判定で使用されるサービス毎輻輳解除閾値を記憶する。サービス毎輻輳発動閾値は、サービス毎輻輳解除閾値と同じもしくはより低く設定される。
【００１９】
また、パラメータ記憶部１１０は、サービス毎の輻輳制御の発動中におけるリソース１０１の使用量の目標値（以下、全体リソース目標使用量）を記憶する。
【００２０】
また、パラメータ記憶部１１０は、サービス以外の処理の１つであるエラー応答によるリソース１０１の使用量であるエラー応答リソース使用量の上限であるエラー応答リソース使用量上限を記憶する。
【００２１】
また、イベントキュー１０４に保持されるイベント情報の数であるイベントキュー長の上限であるイベントキュー長上限を記憶する。なお、イベントキュー１０４が、各サービスについて設けられている場合、パラメータ記憶部１１０は、各サービスのイベントキュー長上限を記憶する。
【００２２】
図３は、リソース使用量履歴記憶部１０９の構成の一例を示す図である。  
リソース使用量履歴記憶部１０９は、過去における複数の時間帯のそれぞれにつき、当該時間帯でのリソース１０１の全体の使用量である全体リソース使用量、当該時間帯での各サービスによるリソース１０１の使用量であるサービス別リソース使用量、当該時間帯でのエラー応答リソース使用量、当該時間帯での他の機能によるリソース１０１の使用量である他機能リソース使用量を記憶する。エラー応答リソース使用量は、サービス別に細分化されてもよい。他機能リソース使用量は、機能ごとに細分化されていてもよい。
【００２３】
図４は、サービス別リソース使用量上限記憶部１１１の構成の一例を示す図である。  
サービス別リソース使用量上限記憶部１１１は、各サービスにつき、当該サービスのサービス別リソース使用量の上限であるサービス別リソース使用量上限を記憶する。場合によっては、サービス別リソース使用量上限は削除される（サービスＡを参照）。
【００２４】
図５は、サービス毎輻輳状態記憶部１１２の構成の一例を示す図である。  
サービス毎輻輳状態記憶部１１２は、全体リソース使用量がサービス毎輻輳発動閾値より高いか否かを示すフラグを記憶する。全体リソース使用量がサービス毎輻輳発動閾値より高い場合、フラグは「オン」にされ、そうでない場合、フラグは「オフ」にされる。なお、フラグが「オフ」にされるのは、ここでは、全体リソース使用量がサービス毎輻輳解除閾値より低い場合とする。
【００２５】
図６は、パラメータ記憶部１１０における動作の一例を示す図である。  
パラメータ記憶部１１０は、呼処理装置１が運用されるに際し、入力装置２から、各サービス別リソース最低必要量、サービス毎輻輳発動閾値、サービス毎輻輳解除閾値、全体リソース目標使用量、エラー応答リソース使用量上限、イベントキュー長上限を取得し、パラメータ記憶部１１０におけるそれぞれの記憶領域に記憶させる（Ｓ１）。これらは、運用の途中で変更してもよい。
【００２６】
図７は、イベントキュー長取得部１０６における動作の一例を示す図である。  
イベントキュー長取得部１０６は、処理依頼部１０３から依頼を受けたなら、まず、イベントキュー１０４を参照し、イベントキュー長を取得し、処理依頼部１０３に通知する（Ｓ３）。
【００２７】
図８は、全体リソース使用量取得部１０７における動作の一例を示す図である。  
全体リソース使用量取得部１０７は、定期的に全体リソース使用量を測定し、リソース使用量履歴記憶部１０９に記憶させる（Ｓ５）。
【００２８】
図９は、サービス別リソース使用量取得部１０８における動作の一例を示す図である。
【００２９】
サービス別リソース使用量取得部１０８は、定期的に、または、処理依頼部１０３が処理実行部１０２に処理を依頼したなら、または、処理実行部１０２が処理を終えたなら、リソース１０１や処理依頼部１０３から取得した情報に基づき、各サービス別リソース使用量、エラー応答リソース使用量および他機能リソース使用量を測定または推定し、リソース使用量履歴記憶部１０９に記憶させる（Ｓ７）。
【００３０】
図１０は、イベント登録部１０５における動作の一例を示す図である。  
イベント登録部１０５は、イベント情報が生成されたなら、イベント情報をイベントキュー１０４に記憶させる（Ｓ９）。
【００３１】
図１１は、サービス毎輻輳判定部１１３における動作の一例を示すフローチャートである。
【００３２】
サービス毎輻輳判定部１１３は、定期的に、または、リソース使用量履歴記憶部１０９が更新されたなら、まず、リソース使用量履歴記憶部１０９から、少なくとも直近の全体リソース使用量を読み出す（Ｓ１０１）。なお、過去に遡り、複数の全体リソース使用量を読み出してもよい。
【００３３】
次に、サービス毎輻輳判定部１１３は、サービス毎輻輳状態記憶部１１２からフラグを読み出す（Ｓ１０３）。  
次に、サービス毎輻輳判定部１１３は、フラグが「オン」か否かを判定する（Ｓ１０５）。
【００３４】
サービス毎輻輳判定部１１３は、フラグが「オン」でないなら（Ｓ１０５：ＮＯ）、パラメータ記憶部１１０からサービス毎輻輳発動閾値を読み出す（Ｓ２１１）。
【００３５】
次に、サービス毎輻輳判定部１１３は、Ｓ１０１で読み出した全体リソース使用量またはＳ１０１で読み出した複数の全体リソース使用量の平均など（以下、全体リソース使用量という）がサービス毎輻輳発動閾値より高いか否かを判定する（Ｓ２１３）。なお、パラメータ記憶部１１０から各サービス別リソース最低必要量を読み出し、リソース使用量履歴記憶部１０９から各サービス別リソース使用量を読み出し、少なくとも１つのサービス別リソース使用量が該当のサービス別リソース最低必要量より低いことを条件に加えてもよい。
【００３６】
サービス毎輻輳判定部１１３は、全体リソース使用量がサービス毎輻輳発動閾値より高いなら（Ｓ２１３：ＹＥＳ）、サービス毎輻輳状態記憶部１１２のフラグ「オフ」を「オン」に変更する（Ｓ２１５）。
【００３７】
次に、サービス毎輻輳判定部１１３は、サービス別リソース使用量上限計算部１１４を動作させる（Ｓ２５７）。
【００３８】
一方、サービス毎輻輳判定部１１３は、フラグが「オン」なら（Ｓ１０５：ＹＥＳ）、パラメータ記憶部１１０からサービス毎輻輳解除閾値を読み出す（Ｓ２５１）。
【００３９】
次に、サービス毎輻輳判定部１１３は、全体リソース使用量がサービス毎輻輳解除閾値より低いか否かを判定する（Ｓ２５３）。なお、パラメータ記憶部１１０から各サービス別リソース最低必要量を読み出し、リソース使用量履歴記憶部１０９から各サービス別リソース使用量を読み出し、全てのサービス別リソース使用量が該当のサービス別リソース最低必要量より高いことを条件としてもよい。
【００４０】
サービス毎輻輳判定部１１３は、全体リソース使用量がサービス毎輻輳解除閾値より低いなら（Ｓ２５３：ＹＥＳ）、サービス毎輻輳状態記憶部１１２のフラグ「オン」を「オフ」に変更する（Ｓ２５５）。
【００４１】
次に、サービス毎輻輳判定部１１３は、サービス別リソース使用量上限計算部１１４を動作させる（Ｓ２５７）。
【００４２】
サービス毎輻輳判定部１１３は、全体リソース使用量がサービス毎輻輳発動閾値未満なら（Ｓ２１３：ＮＯ）、または、全体リソース使用量がサービス毎輻輳解除閾値超過なら（Ｓ２５３：ＮＯ）、または、Ｓ２１５、Ｓ２５７の後、処理を終える。
【００４３】
図１２は、サービス別リソース使用量上限計算部１１４における動作の一例を示すフローチャートである。
【００４４】
サービス別リソース使用量上限計算部１１４は、定期的に、または、図１１のＳ２５７において、サービス毎輻輳判定部１１３により動作させられたなら、または、処理依頼部１０３から依頼があったなら、まず、リソース使用量履歴記憶部１０９から、少なくとも直近の全体リソース使用量と直近の各サービス別リソース使用量を読み出す（Ｓ３０１）。なお、過去に遡り、複数の全体リソース使用量およびサービス別リソース使用量を読み出してもよい。
【００４５】
次に、サービス別リソース使用量上限計算部１１４は、パラメータ記憶部１１０から、各サービス別リソース最低必要量を読み出す（Ｓ３０３）。
【００４６】
次に、サービス別リソース使用量上限計算部１１４は、１つのサービスにつき、当該サービスのサービス別リソース使用量が当該サービスのサービス別リソース最低必要量より高いか否かを判定する（Ｓ３０５）。
【００４７】
サービス別リソース使用量上限計算部１１４は、サービス別リソース使用量がサービス別リソース最低必要量より高いなら（Ｓ３０５：ＹＥＳ）、該当のサービスのサービス別リソース使用量上限を、サービス別リソース最低必要量より高く、且つ、サービス別リソース使用量より低くなるように計算し、サービス別リソース使用量上限記憶部１１１における該当のサービス別リソース使用量上限に代えて記憶させる（Ｓ３０７）。なお、Ｓ３０７では、サービス別リソース使用量に誤差が含まれる可能性がある場合には、サービス別リソース使用量上限が、サービス別リソース最低必要量に誤差を加えた値より高く、且つ、サービス別リソース使用量より低くなるようにするのが望ましい。また、リソース使用量履歴記憶部１０９から、各サービス別リソース使用量やエラー応答リソース使用量や他機能リソース使用量を読み出し、これらを用いて、サービス別リソース使用量上限を計算してもよい。Ｓ３０７の詳細のついては後述する。
【００４８】
一方、サービス別リソース使用量上限計算部１１４は、サービス別リソース使用量がサービス別リソース最低必要量未満なら（Ｓ３０５：ＮＯ）、該当のサービスのサービス別リソース使用量上限を、サービス別リソース最低必要量より高くなるように計算し、サービス別リソース使用量上限記憶部１１１における該当のサービス別リソース使用量上限に代えて記憶させる（Ｓ３０９）。なお、Ｓ３０９では、サービス別リソース使用量に誤差が含まれる可能性がある場合には、サービス別リソース使用量上限が、サービス別リソース最低必要量に誤差を加えた値より高くなるようにするのが望ましい。また、サービス別リソース使用量上限記憶部１１１における該当のサービス別リソース使用量上限を削除してもよい。
【００４９】
サービス別リソース使用量上限計算部１１４は、Ｓ３０７、Ｓ３０９の後、上記処理を行っていない他のサービスがあるか否かを判定し（Ｓ３１１）、他のサービスがあるなら（Ｓ３１１：ＹＥＳ）、Ｓ３０５に戻り、他のサービスがないなら（Ｓ３１１：ＮＯ）、処理を終える。
【００５０】
図１３は、処理依頼部１０３における動作の一例を示すフローチャートである。  
処理依頼部１０３は、定期的に、イベントキュー１０４にイベント情報が記憶されたなら、あるいは処理実行部１０２が処理を終えたなら、まず、イベントキュー１０４に次のイベント情報があるか否かを判定する（Ｓ４０１）。
【００５１】
処理依頼部１０３は、次のイベント情報があるなら（Ｓ４０１：ＹＥＳ）、処理実行部１０２への処理依頼は可能か否かを判定する（Ｓ４０３）。
【００５２】
処理依頼部１０３は、処理実行部１０２への処理依頼が可能なら（Ｓ４０３：ＹＥＳ）、イベントキュー１０４から次のイベント情報を読み出し（Ｓ４０５）、サービス毎輻輳状態記憶部１１２からフラグを読み出す（Ｓ４０７）。
【００５３】
次に、処理依頼部１０３は、フラグが「オン」か否かを判定する（Ｓ４０９）。なお、イベント情報が新規呼に相当するという条件、イベント情報が既存呼に相当するという条件、イベント情報が優先呼に相当しないという条件を加えてもよい。
【００５４】
処理依頼部１０３は、フラグが「オン」なら（Ｓ４０９：ＹＥＳ）、サービス別リソース使用量上限記憶部１１１から、例えば、当該イベント情報により行われる処理に対応するサービスのサービス別リソース使用量上限を読み出し、リソース使用量履歴記憶部１０９から、該当のサービスのサービス別リソース使用量を読み出す（Ｓ５０１）。
【００５５】
次に、処理依頼部１０３は、サービス別リソース使用量がサービス別リソース使用量上限より高いか否かを判定する（Ｓ５０３）。
【００５６】
処理依頼部１０３は、サービス別リソース使用量がサービス別リソース使用量上限以下なら（Ｓ５０３：ＮＯ）、または、フラグが「オン」でないなら（Ｓ４０９：ＮＯ）、イベント情報を処理実行部１０２に送信し、通常の処理を依頼する（Ｓ６０１）。
【００５７】
なお、サービス別リソース使用量上限記憶部１１１において、該当のサービス別リソース使用量上限が削除され、その結果、そのサービス別リソース使用量上限が存在しない場合は、イベント情報を処理実行部１０２に送信し、通常の処理を依頼すればよい。
【００５８】
通常の処理により、そのサービスについては、全ての呼を疎通させることが可能となる。
【００５９】
処理依頼部１０３は、サービス別リソース使用量がサービス別リソース使用量上限より高いなら（Ｓ５０３：ＹＥＳ）、パラメータ記憶部１１０からエラー応答リソース使用量上限を読み出し、リソース使用量履歴記憶部１０９からエラー応答リソース使用量を読み出す（Ｓ５０５）。
【００６０】
次に、処理依頼部１０３は、エラー応答リソース使用量がエラー応答リソース使用量上限より高いか否かを判定する（Ｓ５０７）。
【００６１】
処理依頼部１０３は、エラー応答リソース使用量がエラー応答リソース使用量上限より高いなら（Ｓ５０７：ＹＥＳ）、イベント情報を破棄する（Ｓ５０９）。
【００６２】
一方、処理依頼部１０３は、エラー応答リソース使用量がエラー応答リソース使用量上限以下なら（Ｓ５０７：ＮＯ）、パラメータ記憶部１１０からイベントキュー長上限を読み出すとともに、イベントキュー長取得部１０６に依頼し、イベントキュー長を取得する（Ｓ５１１）。
【００６３】
次に、処理依頼部１０３は、イベントキュー長がイベントキュー長上限より長いか否かを判定する（Ｓ５１３）。
【００６４】
処理依頼部１０３は、イベントキュー長がイベントキュー長上限以下なら（Ｓ５１３：ＮＯ）、Ｓ４０１に戻り、イベントキュー長がイベントキュー長上限より長いなら（Ｓ５１３：ＹＥＳ）、イベント情報を処理実行部１０２に送信し、エラー応答の処理を依頼する（Ｓ５１５）。これにより、例えば、ユーザには、呼を疎通できないことを示すエラーメッセージが通知される。
【００６５】
処理依頼部１０３は、次のイベント情報がないなら（Ｓ４０１：ＮＯ）、または、処理実行部１０２への処理依頼が不可能なら（Ｓ４０３：ＮＯ）、または、Ｓ６０１、Ｓ５０９、Ｓ５１５の後、処理を終える。
【００６６】
図１４は、ステップＳ３０７における処理の一例を示す図である。  
ここでは、サービスの数が２の場合に、サービスＡについてはサービス別リソース最低使用量を超過する負荷が印加されており、サービスＢについてはサービス別リソース最低使用量未満の負荷が印加されている状況ついて説明する。
【００６７】
すなわち、サービスＡのサービス別リソース使用量は当該のサービス別リソース最低必要量より大きく、サービスＢのサービス別リソース使用量は当該のサービス別リソース最低必要量より小さい。
【００６８】
θＴは、全体リソース目標使用量である。  
ＳＡ、ＳＢは、それぞれサービスＡ、Ｂのサービス別リソース最低必要量である。  
ＶＡ、ＶＢは、それぞれサービスＡ、Ｂのサービス別リソース使用量である。  
Ｍｍａｘは、保守の機能によるリソース１０１の使用量の最大値、つまり、他機能リソース使用量の最大値である。ここでは、保守以外の機能についてはないこととする。  
Ｍは、保守の機能によるリソース１０１の使用量である。  
Ｂは、サービスＡ、Ｂ、およびそれ以外の機能、具体的には、保守の機能が発揮されない無負荷時におけるリソース１０１の使用量である。  
ＣＡは、サービスＡについて計算されるサービス別リソース使用量上限である。
【００６９】
ＶＡがＳＡより高い場合、ＣＡは、図に示す式（１）で計算される。
【００７０】
つまり、サービスＡのサービス別リソース使用量上限（ＣＡ）からサービスＡのサービス別リソース最低必要量（ＳＡ）を減じた値である最低必要量超過可能値（ＣＡ−ＳＡ）が、全体リソース目標使用量（θＴ）から、無負荷時のリソース使用量（Ｂ）と、サービス以外の機能により使用されるリソース使用量（Ｍ）と、サービスＡのサービス別リソース最低必要量（ＳＡ）と、サービスＢのサービス別リソース使用量（ＶＢ）とを減じた値（Ｕ）に一致するように、ＣＡが計算される。すなわち、ＣＡは、θＴから、ＢとＭとＶＢとを減じた値に一致することとなる。なお、ＶＢのかわりにＳＢを減じてもよい。
【００７１】
これにより、ＣＡを適正化でき、その結果、各サービスを偏りなく実行することが可能となる。
【００７２】
図１５は、ステップＳ３０７における処理の別な一例を示す図である。  
ここでは、サービスの数が４の場合について説明する。サービスＡ、Ｂ、Ｃについてはサービス別リソース最低使用量を超過する負荷が印加されており、サービスＤについてはサービス別リソース最低使用量未満の負荷が印加されている状況ついて説明する。
【００７３】
θＴは、全体リソース目標使用量である。  
ＳＡ、ＳＢ、ＳＣ、ＳＤは、それぞれサービスＡ、Ｂ、Ｃ、Ｄのサービス別リソース最低必要量である。  
ＶＡ、ＶＢ、ＶＣ、ＶＤは、それぞれサービスＡ、Ｂ、Ｃ、Ｄのサービス別リソース使用量である。  
Ｍｍａｘは、保守の機能によるリソース１０１の使用量の最大値、つまり、他機能リソース使用量の最大値である。ここでは、保守以外の機能についてはないこととする。  
Ｍは、保守の機能によるリソース１０１の使用量である。  
Ｂは、サービスＡ、Ｂ、Ｃ、Ｄ、およびそれ以外の機能、具体的には、保守の機能が発揮されない無負荷時におけるリソース１０１の使用量である。  
ＣＡ、ＣＢ、ＣＣは、それぞれサービスＡ、Ｂ、Ｃについて計算されるサービス別リソース使用量上限である。
【００７４】
ＶＡがＳＡより高く、ＶＢがＳＢより高く、ＶＣがＳＣより高い場合、ＣＡ、ＣＢ、ＣＣは、図に示す式（２）で計算される。
【００７５】
つまり、サービスＡ、Ｂ、Ｃのサービス別リソース使用量上限（ＣＡ、ＣＢ、ＣＣ）からサービスＡ、Ｂ、Ｃの各サービス別リソース最低必要量（ＳＡ、ＳＢ、ＳＣ）を減じた値である最低必要量超過可能値（ＣＡ−ＳＡ、ＣＢ−ＳＢ、ＣＣ−ＳＣ）の総和が、全体リソース目標使用量（θＴ）から、（１）無負荷時のリソース使用量（Ｂ）と、（２）サービス以外の機能により使用されるリソース使用量（Ｍ）と、（３）サービスＡ、Ｂ、Ｃの各サービス別リソース最低必要量（ＳＡ、ＳＢ、ＳＣ）と、（４）サービスＤのリソース使用量（ＶＤ）とを減じた値（Ｕ）に一致するように、ＣＡ、ＣＢ、ＣＣが計算される。ＶＤのかわりにＳＤを減じてもよい。
【００７６】
また、サービスＡ、Ｂ、Ｃのそれぞれにつき、最低必要量超過可能値の総和に対する当該サービスの最低必要量超過可能値の比を、サービス別リソース使用量（ＶＡ、ＶＢ、ＶＣ）からサービス別リソース最低必要量（ＳＡ、ＳＢ、ＳＣ）を減じた最低必要量超過値（ＶＡ−ＳＡ、ＶＢ−ＳＢ、ＶＣ−ＳＣ）の総和に対する当該サービスの最低必要量超過値の比に一致させる。
【００７７】
これにより、ＣＡ、ＣＢ、ＣＣを適正化でき、その結果、各サービスを偏りなく実行することが可能となる。
【００７８】
したがって、本実施の形態によれば、情報処理装置（１）は、リソース（１０１）の全体の使用量である全体リソース使用量を取得する全体リソース使用量取得部（１０７）と、各サービスにつき、サービスによるリソースの使用量であるサービス別リソース使用量を取得するサービス別リソース使用量取得部（１０８）と、全体リソース使用量および各サービス別リソース使用量が記憶されるリソース使用量履歴記憶部（１０９）と、各サービスにつき、サービスによるリソースの最低必要量であるサービス別リソース最低必要量が記憶されるサービス別リソース最低必要量記憶部（１１０）と、各サービスにつき、サービスのサービス別リソース使用量の上限であるサービス別リソース使用量上限が記憶されるサービス別リソース使用量上限記憶部（１１１）と、全体リソース使用量が予め定められたサービス毎輻輳発動閾値より高いか否かを示すフラグが記憶されるサービス毎輻輳状態記憶部（１１２）とを備え、輻輳解消方法は、サービス毎輻輳判定部（１１３）が、リソース使用量履歴記憶部（１０９）から全体リソース使用量を読み出し、サービス毎輻輳発動閾値より高いか否かを判定し（Ｓ２１３、Ｓ２５３）、全体リソース使用量がサービス毎輻輳発動閾値より高いか否かを示すフラグをサービス毎輻輳状態記憶部（１１２）に記憶させるステップ（Ｓ２１５、Ｓ２５５）と、サービス毎輻輳判定部（１１３）が、サービス毎輻輳状態記憶部（１１２）からフラグを読み出すステップ（Ｓ１０３）と、サービス別リソース使用量上限計算部（１１４）が、全体リソース使用量がサービス毎輻輳発動閾値より高いことを当該フラグが示しているなら（Ｓ１０５：ＹＥＳ）、リソース使用量履歴記憶部（１０９）から各サービス別リソース使用量を読み出し（Ｓ３０１）、サービス別リソース最低必要量記憶部（１１０）から各サービス別リソース最低必要量を読み出し（Ｓ３０３）、サービス別リソース使用量が該当のサービス別リソース最低必要量より高いサービスにつき（Ｓ３０５：ＹＥＳ）、サービスのサービス別リソース使用量上限を、当該サービス別リソース最低必要量より高く、且つ、当該サービス別リソース使用量より低くなるように計算し、サービス別リソース使用量上限記憶部（１１１）に記憶させるステップ（Ｓ３０７）と、処理依頼部（１０３）が、サービス毎輻輳状態記憶部（１１２）からフラグを読み出し（Ｓ４０７）、全体リソース使用量がサービス毎輻輳発動閾値より高いことを当該フラグが示しているなら（Ｓ４０９：ＹＥＳ）、サービス別リソース使用量上限記憶部（１１１）からサービス別リソース使用量上限を読み出し（Ｓ５０１）、リソース使用量履歴記憶部（１０９）から該当のサービスのサービス別リソース使用量を読み出し（Ｓ５０１）、サービス別リソース使用量がサービス別リソース使用量上限より高いなら（Ｓ５０３：ＹＥＳ）、当該サービス別リソース使用量をサービス別リソース使用量上限以下にするための制御を行うステップ（Ｓ５０５〜Ｓ５１５）とを含むことで、サービス別のリソースの最低必要量の保証とリソースの有効活用を同時に実現することができる。
【００７９】
サービス別リソース使用量上限計算部（１１４）は、前記高いサービスのそれぞれにつき、サービス別リソース使用量上限を、前記高いサービスのサービス別リソース使用量上限からサービス別リソース最低必要量を減じた値である最低必要量超過可能値の総和が、全体リソース目標使用量（θＴ）から、（１）全てのサービスおよびサービス以外の機能が発揮されない無負荷時のリソース使用量（Ｂ）と、（２）サービス以外の機能により使用されるリソース使用量（Ｍ）と、（３）サービス別リソース使用量がサービス別リソース最低必要量より大きいサービスのサービス別リソース最低必要量の総和（図１４におけるＳＡ、図１５におけるＳＡ＋ＳＢ＋ＳＣ）と、（４）サービス別リソース使用量がサービス別リソース最低必要量より小さいサービスのサービス別リソース使用量（図１４ではＶＢ、図１５ではＶＤ）あるいは（４）の代わりに、（４Ａ）サービス別リソース使用量がサービス別リソース最低必要量より小さいサービスのサービス別リソース最低必要量の総和（図１４ではＳＢ、図１５ではＳＤ）とを減じた値（Ｕ）に一致するように計算する（図１４、図１５）。
【００８０】
また、サービス別リソース使用量上限計算部（１１４）は、前記高いサービスのそれぞれにつき、サービス別リソース使用量からサービス別リソース最低必要量を減じた最低必要量超過値を計算し、最低必要量超過可能値の総和に対する当該サービスの最低必要量超過可能値の比を、最低必要量超過値の総和に対する当該サービスの最低必要量超過値の比に一致させる（図１５）。
【００８１】
また、輻輳解消方法は、サービス別リソース使用量上限計算部（１１４）が、全体リソース使用量がサービス毎輻輳発動閾値より高いことを当該フラグが示しているなら（Ｓ１０５：ＹＥＳ）、リソース使用量履歴記憶部（１０９）から各サービス別リソース使用量を読み出し（Ｓ３０１）、サービス別リソース最低必要量記憶部（１１０）から各サービス別リソース最低必要量を読み出し（Ｓ３０１）、当該サービス別リソース使用量が該当のサービス別リソース最低必要量以下であるサービスにつき（Ｓ３０５：ＮＯ）、当該サービスのサービス別リソース使用量上限を、当該サービス別リソース最低必要量より高くなるように計算し、サービス別リソース使用量上限記憶部（１１１）に記憶させるステップ（Ｓ３０９）を含む。
【符号の説明】
【００８２】
１…呼処理装置
２…入力装置
１０１…リソース
１０２…処理実行部
１０３…処理依頼部
１０４…イベントキュー
１０５…イベント登録部
１０６…イベントキュー長取得部
１０７…全体リソース使用量取得部
１０８…サービス別リソース使用量取得部
１０９…リソース使用量履歴記憶部
１１０…パラメータ記憶部
１１１…サービス別リソース使用量上限記憶部
１１２…サービス毎輻輳状態記憶部
１１３…サービス毎輻輳判定部
１１４…サービス別リソース使用量上限計算部
【図１】
2014153841.tif 000003
【図２】
2014153841.tif 000004
【図３】
2014153841.tif 000005
【図４】
2014153841.tif 000006
【図５】
2014153841.tif 000007
【図６】
2014153841.tif 000008
【図７】
2014153841.tif 000009
【図８】
2014153841.tif 000010
【図９】
2014153841.tif 000011
【図１０】
2014153841.tif 000012
【図１１】
2014153841.tif 000013
【図１２】
2014153841.tif 000014
【図１３】
2014153841.tif 000015
【図１４】
2014153841.tif 000016
【図１５】
2014153841.tif 000017