(57)【特許請求の範囲】
【請求項１】
呼の処理を行う呼処理装置であって、
前記呼処理装置のＣＰＵにかかる負荷量を示すＣＰＵ負荷量が予め定めたＣＰＵ負荷量閾値より大きいか否かを判定するＣＰＵリソース管理部（１）と、
前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きくなった時点から予め定めた長さ遡った時点までの完了呼数と不完了呼数を計算する処理終了呼数計算部（２）と、
前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において単位時間に処理可能と定めた完了呼数を示す完了呼数閾値を記憶する完了呼数閾値記憶部（３）と、
前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において前記計算された完了呼数が少ないほど大きく、且つ、前記計算された不完了呼数が多いほど大きくなる係数を計算し、前記完了呼数閾値に前記係数を積算して呼数閾値を計算する呼数閾値計算部（４）と、
前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において現在時点から前記単位時間遡った時点までに処理開始した呼の数を示す処理開始呼数を計算する処理開始呼数計算部（５）と、
前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において前記処理開始呼数が前記呼数閾値以下の場合にのみ呼の処理を開始する呼処理部（６）と
を備えることを特徴とする呼処理装置。
【請求項２】
前記係数は、
係数＝｛Ｍ×（Ｇ＋Ｋ）｝／（Ｍ×Ｇ＋Ｎ×Ｋ）
を満たす、
ただし、Ｍは１完了呼を処理した際にＣＰＵにかかる負荷量、Ｎは１不完了呼を処理した際にＣＰＵにかかる負荷量、Ｇは前記計算された完了呼数、Ｋは前記計算された不完了呼数
ことを特徴とする請求項１記載の呼処理装置。
【請求項３】
呼の処理を行う呼処理装置の動作方法であって、
前記呼処理装置のＣＰＵリソース管理部（１）が、前記呼処理装置のＣＰＵにかかる負荷量を示すＣＰＵ負荷量が予め定めたＣＰＵ負荷量閾値より大きいか否かを判定し、
前記呼処理装置の処理終了呼数計算部（２）が、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きくなった時点から予め定めた長さ遡った時点までの完了呼数と不完了呼数を計算し、
前記呼処理装置の呼数閾値計算部（４）が、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において前記計算された完了呼数が少ないほど大きく、且つ、前記計算された不完了呼数が多いほど大きくなる係数を計算し、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において単位時間に処理可能と定めた完了呼数を示す完了呼数閾値に前記係数を積算して呼数閾値を計算し、
前記呼処理装置の処理開始呼数計算部（５）が、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において現在時点から前記単位時間遡った時点までに処理開始した呼の数を示す処理開始呼数を計算し、
前記呼処理装置の呼処理部（６）が、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において前記処理開始呼数が前記呼数閾値以下の場合に呼の処理を開始する
ことを特徴とする呼処理装置の動作方法。
【請求項４】
前記係数は、
係数＝｛Ｍ×（Ｇ＋Ｋ）｝／（Ｍ×Ｇ＋Ｎ×Ｋ）
を満たす、
ただし、Ｍは１完了呼を処理した際にＣＰＵにかかる負荷量、Ｎは１不完了呼を処理した際にＣＰＵにかかる負荷量、Ｇは前記計算された完了呼数、Ｋは前記計算された不完了呼数
ことを特徴とする請求項３記載の呼処理装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、呼の処理数を高めることが可能な呼処理装置およびその動作方法に関する。
【背景技術】
【０００２】
従来の呼処理装置においては、ＣＰＵの負荷量（ＣＰＵ負荷量という）が閾値（ＣＰＵ負荷量閾値という）より大きい場合に輻輳規制を行う。輻輳規制では、単位時間遡った時点から現時点までに処理開始した呼の数（処理開始呼数）が呼数閾値以下の場合にのみ呼の処理を開始する。
【０００３】
図５は、ＣＰＵ負荷量がＣＰＵ負荷量閾値に等しい場合のＣＰＵにおける余剰のリソース量（余剰ＣＰＵリソース量という）の配分の様子を示す図である。
【０００４】
余剰ＣＰＵリソース量により、完了呼を６呼処理できる場合、呼数閾値は５に設定される。なお、理解を容易とするために呼の数は実際より少なくして説明する。
例えば、完了呼を５呼処理開始しており、処理開始呼数が５である場合、さらに１完了呼を処理開始したなら、余剰ＣＰＵリソース量の全てが使用される。ただし、処理開始呼数は６になり、さらに呼を処理開始することはできなくなる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１５５０９０号公報
【特許文献２】特開２００２−４４１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
また、完了呼を１呼、不完了呼を４呼、それぞれ処理開始しており、処理開始呼数が５である場合、さらに不完了呼を１呼処理開始したなら、処理開始呼数は６になるので、さらに呼を処理開始することはできなくなる。
【０００７】
しかし、不完了呼によりＣＰＵにかかる負荷量は、完了呼によりＣＰＵにかかる負荷量より小さいので、余剰ＣＰＵリソース量の全てが使用されず、未使用部分が生じる。つまり、例えば、さらに完了呼を処理開始できるのに、処理開始呼数が６なので処理開始されず、通話が行えないという問題が生じる。
【０００８】
近年では、スクリーニング業者が、不完了呼を故意に大量発生させることで、上記の仕組みが災いし、呼の処理数が少なくなってしまうことが多い。実際には、ＣＰＵのリソースには未使用部分があり、呼の処理が可能なのであるが、見かけ上は呼の処理が不可能となっている。
【０００９】
本発明は、上記課題に鑑みてなされたものであり、呼の処理数を高めることが可能な呼処理装置およびその動作方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の本発明は、呼の処理を行う呼処理装置であって、前記呼処理装置のＣＰＵにかかる負荷量を示すＣＰＵ負荷量が予め定めたＣＰＵ負荷量閾値より大きいか否かを判定するＣＰＵリソース管理部（１）と、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きくなった時点から予め定めた長さ遡った時点までの完了呼数と不完了呼数を計算する処理終了呼数計算部（２）と、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において単位時間に処理可能と定めた完了呼数を示す完了呼数閾値を記憶する完了呼数閾値記憶部（３）と、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において前記計算された完了呼数が少ないほど大きく、且つ、前記計算された不完了呼数が多いほど大きくなる係数を計算し、前記完了呼数閾値に前記係数を積算して呼数閾値を計算する呼数閾値計算部（４）と、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において現在時点から前記単位時間遡った時点までに処理開始した呼の数を示す処理開始呼数を計算する処理開始呼数計算部（５）と、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において前記処理開始呼数が前記呼数閾値以下の場合にのみ呼の処理を開始する呼処理部（６）とを備えることを特徴とする。
【００１１】
第２の本発明は、呼の処理を行う呼処理装置の動作方法であって、前記呼処理装置のＣＰＵリソース管理部（１）が、前記呼処理装置のＣＰＵにかかる負荷量を示すＣＰＵ負荷量が予め定めたＣＰＵ負荷量閾値より大きいか否かを判定し、前記呼処理装置の処理終了呼数計算部（２）が、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きくなった時点から予め定めた長さ遡った時点までの完了呼数と不完了呼数を計算し、前記呼処理装置の呼数閾値計算部（４）が、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において前記計算された完了呼数が少ないほど大きく、且つ、前記計算された不完了呼数が多いほど大きくなる係数を計算し、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において単位時間に処理可能と定めた完了呼数を示す完了呼数閾値に前記係数を積算して呼数閾値を計算し、前記呼処理装置の処理開始呼数計算部（５）が、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において現在時点から前記単位時間遡った時点までに処理開始した呼の数を示す処理開始呼数を計算し、前記呼処理装置の呼処理部（６）が、前記ＣＰＵ負荷量が前記ＣＰＵ負荷量閾値より大きい場合において前記処理開始呼数が前記呼数閾値以下の場合に呼の処理を開始することを特徴とする。
【発明の効果】
【００１２】
本発明の呼処理装置およびその動作方法によれば、呼の処理数を高めることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係る呼処理装置の構成を示すブロック図である。
【図２】不完了呼のシーケンスを示す図である。
【図３】呼処理装置の動作方法を示すシーケンス図である。
【図４】ＣＰＵが呼の処理に使用できる全体ＣＰＵリソース量の配分の様子を示す図である。
【図５】ＣＰＵ負荷量がＣＰＵ負荷量閾値に等しい場合のＣＰＵにおける余剰のリソース量（余剰ＣＰＵリソース量）の配分の様子を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照して説明する。
【００１５】
図１は、本発明の実施の形態に係る呼処理装置の構成を示すブロック図である。
呼処理装置は、呼の処理を行う装置であって、ＣＰＵリソース管理部１と、処理終了呼数計算部２と、完了呼数閾値記憶部３と、呼数閾値計算部４と、処理開始呼数計算部５と、呼処理部６とを備える。
【００１６】
ＣＰＵリソース管理部１は、呼処理装置のＣＰＵ（図示せず）にかかる負荷量を示すＣＰＵ負荷量が予め定めたＣＰＵ負荷量閾値より大きいか否かを判定する。
【００１７】
処理終了呼数計算部２は、ＣＰＵ負荷量がＣＰＵ負荷量閾値より大きくなった時点から予め定めた長さ遡った時点までの完了呼の数（完了呼数という）と不完了呼の数（不完了呼数という）を計算する。
【００１８】
完了呼数閾値記憶部３は、ＣＰＵ負荷量がＣＰＵ負荷量閾値より大きい場合において単位時間に処理可能と定めた完了呼数を示す完了呼数閾値を記憶する。以下、単位時間を１秒とする。
呼数閾値計算部４は、完了呼数閾値に対して積算すべき係数を計算し、ＣＰＵ負荷量がＣＰＵ負荷量閾値より大きい場合において完了呼数閾値に係数を積算して呼数閾値を計算する。係数の計算方法は後述する。
【００１９】
処理開始呼数計算部５は、ＣＰＵ負荷量がＣＰＵ負荷量閾値より大きい場合において現在時点から１秒（単位時間）遡った時点までに処理開始した呼の数を示す処理開始呼数を計算する。
【００２０】
呼処理部６は、ＣＰＵ負荷量がＣＰＵ負荷量閾値より大きい場合において処理開始呼数が呼数閾値以下の場合にのみ呼の処理を開始する。
【００２１】
図２は、不完了呼のシーケンスを示す図である。
呼の処理においては、まず、発信側の通信装置（以下、発信側）がINVITE信号を呼処理装置に送信する。呼の処理はここから開始される。まず、呼処理装置がINVITE信号を受信側の通信装置（以下、受信側）に送信する。
【００２２】
次に、受信側は100信号を呼処理装置に送信し、呼処理装置は100信号を発信側に送信する。
次に、受信側は180信号を呼処理装置に送信し、呼処理装置は180信号を発信側に送信する。
次に、発信側はCANCEL信号を呼処理装置に送信し、呼処理装置はCANCEL信号を受信側に送信する。
次に、受信側は200信号を呼処理装置に送信し、呼処理装置は200信号を発信側に送信する。
次に、受信側は487信号を呼処理装置に送信し、呼処理装置は487信号を発信側に送信する。
次に、発信側はACK信号を呼処理装置に送信し、呼処理装置はACK信号を受信側に送信する。
【００２３】
例えば、呼処理装置がINVITE信号を受信側に送信してから、呼処理装置がCANCEL信号を受信側に送信するまでが１秒未満なら呼は不完了呼であり、１秒以上なら完了呼とする。
【００２４】
図３は、呼処理装置の動作方法を示すシーケンス図である。
【００２５】
ＣＰＵリソース管理部１は、ＣＰＵ負荷量がＣＰＵ負荷量閾値より大きいか否かを判定し（Ｓ１）、ＣＰＵ負荷量がＣＰＵ負荷量閾値以下（Ｓ１：ＮＯ）なら同じ判定を行い、ＣＰＵ負荷量がＣＰＵ負荷量閾値より大きい（Ｓ１：ＹＥＳ）なら、呼数閾値計算部４に通知を行う（Ｓ３）。
【００２６】
呼数閾値計算部４は、通知を受けたなら、処理終了呼数計算部２に対し、完了呼数と不完了呼数の計算を指示する（Ｓ５）。
【００２７】
処理終了呼数計算部２は、指示により、現在時点から予め定めた長さ遡った時点までの完了呼数と不完了呼数を計算する（Ｓ７）。処理終了呼数計算部２は、完了呼数と不完了呼数を図２の定義により区別するとともに呼処理終了時刻に対応づけてデータベースに記憶しておき、ステップＳ７では、データベースを用いて完了呼数と不完了呼数を計算する。処理終了呼数計算部２は、例えば、現在時点から１０秒前までの１０秒間の完了呼数と不完了呼数を計算する。そして、処理終了呼数計算部２は、計算した完了呼数と不完了呼数を呼数閾値計算部４に通知する（Ｓ９）。
【００２８】
また、呼数閾値計算部４は、完了呼数閾値記憶部３から完了呼数閾値を読み出す（Ｓ１１）。
呼数閾値計算部４は、完了呼数閾値に対して積算すべき係数を、完了呼数が少ないほど大きく、且つ、不完了呼数が多いほど大きくなるように計算する（Ｓ１３）。
【００２９】
例えば、呼数閾値計算部４は、次の式により係数を計算する。
係数＝｛Ｍ×（Ｇ＋Ｋ）｝／（Ｍ×Ｇ＋Ｎ×Ｋ）
【００３０】
ただし、Ｍは１完了呼を処理した際にＣＰＵにかかる負荷量、Ｎは１不完了呼を処理した際にＣＰＵにかかる負荷量、Ｇは計算された完了呼数、Ｋは計算された不完了呼数である。
【００３１】
例えば、Ｍが100、Ｎが60、Ｇが70,000、Ｋが30,000の場合、係数は、（100×100,000）／（100×70,000＋60×30,000）＝1.1364となる。
【００３２】
なお、係数は、完了呼数が少ないほど大きく、且つ、不完了呼数が多いほど大きくなるようなものであれば、上記式によるものでなくてもよい。例えば、１つの呼を処理した際にＣＰＵにかかる負荷量（Ｍ、Ｎ）を用いずに係数を計算してもよい。
【００３３】
次に、呼数閾値計算部４は、完了呼数閾値に対し係数を積算し、その積算結果（これを呼数閾値という）を得る（Ｓ１５）。
【００３４】
例えば、完了呼数閾値が100、係数が1.1364の場合、呼数閾値は、100×1.1364＝113.64となる。
【００３５】
次に、呼数閾値計算部４は、呼数閾値を呼処理部６に通知する（Ｓ１７）。
呼数閾値を受信した呼処理部６は、新たにINVITE信号を受信したか否かを判定し（Ｓ２１）、新たにINVITE信号を受信しなかったなら（Ｓ２１：ＮＯ）同じ判定を行い、新たにINVITE信号を受信したなら（Ｓ２１：ＹＥＳ）、処理開始呼数計算部５に対し、処理開始呼数の計算を指示する（Ｓ２３）。
【００３６】
処理開始呼数計算部５は、指示により、現在時点から１秒（単位時間）遡った時点までに処理開始した呼の数を示す処理開始呼数を計算する（Ｓ２５）。例えば、現在時点から１秒（単位時間）遡った時点までに受信したINVITE信号を処理開始呼数とすることができる。
【００３７】
処理開始呼数計算部５は、計算した処理開始呼数を呼処理部６に通知する（Ｓ２７）。
処理開始呼数を受信した呼処理部６は、処理開始呼数が呼数閾値以下か否かを判定し（Ｓ２９）、処理開始呼数が呼数閾値以下なら（Ｓ２９：ＹＥＳ）、受信したINVITE信号について呼の処理を開始し（Ｓ３１）、ステップＳ２１に戻る。呼の処理は、図２に示すように、INVITE信号を受信側に送信することから始まる。
【００３８】
なお、その後、ＣＰＵ負荷量がＣＰＵ負荷量閾値以下（Ｓ１：ＮＯ）と判定されたなら、ステップＳ２３〜Ｓ２９を経ず、呼の処理が開始される（Ｓ３１）。
【００３９】
図４は、ＣＰＵが呼の処理に使用できるリソース量（全体ＣＰＵリソース量という）の配分の様子を示す図である。
【００４０】
全体ＣＰＵリソース量は、ＣＰＵ負荷量閾値に相当するリソース量と、そのリソース量が使用されているときの余剰のリソース量（余剰ＣＰＵリソース量）に分けて考えることができる。
【００４１】
完了呼数閾値は、図左側に示すように、余剰ＣＰＵリソース量を含め、全体ＣＰＵリソース量を全て完了呼の処理だけに使用する場合における完了呼数に等しい。
【００４２】
しかし、図右側に示すように、全体ＣＰＵリソース量は、完了呼と不完了呼の処理に使用される。
例えば、ＣＰＵ負荷量閾値に相当するリソース量が、完了呼と不完了呼に使用され、割合が８：２であった場合、余剰ＣＰＵリソース量も８：２で使用されれば、全体ＣＰＵリソース量が無駄なく全て使用される。
【００４３】
呼数閾値計算部４が計算した呼数閾値は、全体ＣＰＵリソース量がこのような割合で全て使用された場合における完了呼数と不完了呼数の合計数に等しい。
【００４４】
すなわち、このように呼数閾値を計算することにより、理想的には全体ＣＰＵリソース量を無駄なく全て使用できるのである。これにより、呼の処理数を高めることができる。また、理想的でなく、例えば、完了呼の割合が増えた場合であっても、呼数閾値は完了呼数閾値より高いので、完了呼数閾値を使用する（係数を積算しない）場合に比べ、呼の処理数を高めることができる。
【００４５】
なお、本実施の形態の呼処理装置としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【符号の説明】
【００４６】
１  ＣＰＵリソース管理部
２  処理終了呼数計算部
３  完了呼数閾値記憶部
４  呼数閾値計算部
５  処理開始呼数計算部
６  呼処理部
【図１】
0006389149.tif 000002
【図２】
0006389149.tif 000003
【図３】
0006389149.tif 000004
【図４】
0006389149.tif 000005
【図５】
0006389149.tif 000006