(57)【要約】【課題】  テレコムサーバでの単位時間当たりの呼処理の処理数を増加させる。【解決手段】  格納手段１は、受信した呼処理メッセージを格納して受信順を管理する。保持手段２は、当該呼処理メッセージに含まれているキー情報と当該キー情報に対応付けられており当該呼処理メッセージに含まれている要素情報とを、当該呼処理メッセージの受信の度に当該キー情報毎に最新のものへと更新して保持しておく。呼処理手段３は、保持手段２で保持されているキー情報及び要素情報に基づいて、格納手段１に格納されている呼処理メッセージの各々に対する呼処理を、所定の時間間隔毎に一括して実行する。【選択図】図１
2007096564.tif 000002
【特許請求の範囲】
【請求項１】
通信交換機能を提供する通信サーバ装置であって、
受信した呼処理メッセージを格納して受信順を管理する格納手段と、
前記呼処理メッセージに含まれているキー情報と当該キー情報に対応付けられており当該呼処理メッセージに含まれている要素情報とを、当該呼処理メッセージの受信の度に当該キー情報毎に最新のものへと更新して保持しておく保持手段と、
前記保持手段で保持されている前記キー情報及び前記要素情報に基づいて、前記格納手段に格納されている呼処理メッセージの各々に対する呼処理を、所定の時間間隔毎に一括して実行する呼処理手段と、
を有することを特徴とする通信サーバ装置。
【請求項２】
前記キー情報は当該キー情報が含まれていた呼処理メッセージの発信元を示す情報であり、前記要素情報は当該発信元の状態を表す情報であることを特徴とする請求項１に記載の通信サーバ装置。
【請求項３】
前記通信サーバ装置による通信交換機能の提供のための処理の負荷の高低を判定する判定手段を更に有し、
前記呼処理手段は、前記処理の負荷が高いとの判定結果を前記判定手段が下したときには、前記呼処理の所定時間間隔毎の一括実行を行い、当該負荷が低いとの判定結果を前記判定手段が下したときには、前記呼処理メッセージを受信する度に直ちに当該呼処理メッセージに対する呼処理を実行する、
ことを特徴とする請求項１に記載の通信サーバ装置。
【請求項４】
前記判定手段は、前記呼処理手段として機能する演算装置の利用率に基づいて前記処理の負荷の高低を判定することを特徴とする請求項２に記載の通信サーバ装置。
【請求項５】
通信交換機能をコンピュータで提供させるためのプログラムであって、
受信した呼処理メッセージを格納部に格納して受信順を管理する処理と、
前記呼処理メッセージに含まれているキー情報と当該キー情報に対応付けられており当該呼処理メッセージに含まれている要素情報とを、当該呼処理メッセージの受信の度に当該キー情報毎に最新のものへと更新して保持部で保持しておく処理と、
前記保持部で保持されている前記キー情報及び前記要素情報に基づいて、前記格納部に格納されている呼処理メッセージの各々に対する呼処理を、所定の時間間隔毎に一括して行う処理と、
をコンピュータに行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ交換技術に関し、特に、通信交換機能を提供するコンピュータサーバシステムであるテレコムサーバの処理性能を向上させる技術に関する。
【背景技術】
【０００２】
本発明に関連する技術として、例えば特許文献１には、並列計算機でデータを共有する際の同期オーバーヘッドを軽減するために、並列処理の結果の情報を各計算機の記憶装置における同一アドレスに対して一度に書き込むという演算処理技術が開示されている。
【特許文献１】特開平２−１３２５７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
いわゆるＩＰ電話サービスを提供する従来のテレコムサーバでは、ＳＩＰ（Session Initiation Protocol ）等の呼制御プロトコルに従い、呼処理メッセージを受信する度に逐次的に対応する処理を行っていたため、ユーザ端末からの呼処理メッセージを短時間に過大に受信すると処理が追いつかなくなり、通話に支障が生じることがある。
【０００４】
テレコムサーバでは、図１２には「ＨＡ」として示されているメッセージ送受信のための制御処理等のような高レベルの処理が、低レベルの処理である呼処理よりも優先的に実行される。従って、テレコムサーバに対する処理負荷が低い場合には、同図（ａ）に例示するように、１ＣＰＵのコンピュータシステムからなるテレコムサーバにおいて、呼処理メッセージの受信から当該メッセージに対する応答までに３ｍｓで完了していた呼処理の所要時間が、処理負荷が高くなると、同図（ｂ）に例示するように、４ｍｓへと延びてしまう。このような処理時間の延伸の程度は使用するコンピュータシステムの構成や処理の内容により異なるが、図１３に示す実測例では、概ね７０％のＣＰＵ使用率を超えるような処理負荷を与えると、処理時間の延伸（単位時間当たりに処理可能な呼の数の頭打ち）が顕著に観測されている。なお、図１３において、ＢＨＣＡは、処理可能な最繁時呼数（Busy Hour Call Attempts ）である。
【０００５】
ここで、テレコムサーバとして利用するコンピュータシステムとして、マルチＣＰＵのシステムを使用することで、このような高い処理負荷に対処するという手法がある。ところが、呼処理のひとつである、メモリやデータベース等の記憶装置上に格納されている各種の情報の更新処理は、データの矛盾の発生の防止のために、排他的な実行、すなわち、呼処理としてテレコムサーバ上で並行して実行中の他の処理を一時的に停止した上で単独で実行をさせなければならない。そのため、マルチＣＰＵのシステムとしてコンピュータシステムの処理能力を向上させたとしても、テレコムサーバとしての処理能力向上の効果は限定的なものとなってしまう。
【０００６】
図１４について説明する。同図は、テレコムサーバで行われる制御処理のおおよその流れをフローチャートで示したものである。なお、同図において、Ｓ１００２、Ｓ１００３、及びＳ１００７の処理は、このＳ１００２及びＳ１００３は、図１２において「ＨＡ」と示されていた送受信制御処理に相当し、Ｓ１００４からＳ１００６にかけての処理が呼処理に相当する。
【０００７】
まず、Ｓ１００１において、コンピュータシステムのＯＳ（オペレーティング・システム）により、送られてきた信号（呼処理メッセージ）を受信して受信キューへ入れる処理が行われている。ここで、送受信制御処理として、Ｓ１００２において、所定の間隔で受信キューのチェックを行ってその受信キューに存在する受信信号を１つずつ取り込む処理が行われ、続くＳ１００３において、受信信号を取り込めたことによって信号の受信が確認されたときには、その受信信号を呼処理へ渡す処理が行われる。
【０００８】
呼処理では、まず、Ｓ１００４において信号分析処理が行われる。すなわち、受け取った受信信号の内容の分析、例えば、ログイン要求や通話開始要求等といった受信メッセージの種別を識別する等の処理を行う。この分析処理において、当該受信信号が有効なものであれば、その受信信号の内容、例えば受信信号の発信元を示す情報や、その発信元の状態を示す情報など、をメモリやデータベース等の記憶装置へ書き込む処理が行われる。
【０００９】
Ｓ１００５ではルーティング処理が行われる。すなわち、記憶装置上のルーティングデータを参照して、受け取った受信信号に示されている宛先へ当該受信信号の内容を届けるために適切な送信先を決定する処理が行われる。
【００１０】
Ｓ１００６では送信処理が行われる。すなわち、記憶装置に書き込まれている受信信号の内容に基づいて送信信号（受信信号に対応する応答の信号）を作成し、作成した送信信号を送受信制御処理へ渡して送信を依頼する処理が行われる。
【００１１】
送受信制御処理では、Ｓ１００７において、受け取った送信信号を送信キューへ入れる処理が行われる。
Ｓ１００８では、コンピュータシステムのＯＳにより、送信キューに存在する送信信号を、上述のルーティング処理によって決定された送信先へ送信する処理が行われる。
【００１２】
テレコムサーバでは以上のような制御処理が行われる。
この制御処理のうち、Ｓ１００４からＳ１００６にかけての呼処理は、複数のスレッドに分割できるので、マルチＣＰＵのコンピュータシステムによるマルチスレッド処理が可能である。しかし、Ｓ１００４の信号分析処理は、受け取った受信信号の内容を記憶装置へ書き込む処理を含むため、排他制御を行わなければならない。
【００１３】
図１５は、テレコムサーバで行われる上述した制御処理をＣＰＵ個数の異なるコンピュータシステムにおいて実行させた場合における、処理の進行の様子を模式的に示しており、（ａ）は１ＣＰＵの場合を、（ｂ）は２ＣＰＵの場合を、それぞれ表している。この（ａ）と（ｂ）とを対比すると分かるように、ＣＰＵ個数を２倍にしても、第一ＣＰＵで書き込み処理が実行される期間においては第二ＣＰＵに対し排他制御が行われ、本来の処理の実行を停止させてしまう等の理由により、上述の制御処理の処理能力は単純に２倍とはならず、呼処理の一部処理の処理時間が延伸してしまっている。
【００１４】
図１６は、テレコムサーバとして使用するコンピュータシステムのＣＰＵ個数と呼処理の処理数との関係の実測例である。同図の例では、ＣＰＵの個数を増やしても、３０万ＢＨＣＡ程度で処理数の増加が頭打ちとなってしまっており、ＣＰＵを４個としたときには、排他制御による他処理の実行停止の影響が大きくなるために、３個の場合よりもむしろ処理数が減少してしまっている。
【００１５】
本発明は上述した問題に鑑みてなされたものであり、その解決しようとする課題は、テレコムサーバでの単位時間当たりの呼処理の処理数を増加させることである。
【課題を解決するための手段】
【００１６】
図１について説明する。同図は、本発明に係る通信サーバ装置の基本構成を示している。この通信サーバ装置は、通信交換機能を提供するものである。
図１において、格納手段１は、受信した呼処理メッセージを格納して受信順を管理する。保持手段２は、当該呼処理メッセージに含まれているキー情報と当該キー情報に対応付けられており当該呼処理メッセージに含まれている要素情報とを、当該呼処理メッセージの受信の度に当該キー情報毎に最新のものへと更新して保持しておく。
【００１７】
呼処理手段３は、保持手段２で保持されているキー情報及び要素情報に基づいて、格納手段１に格納されている呼処理メッセージの各々に対する呼処理を、所定の時間間隔毎に一括して実行する。
【００１８】
上述した構成によれば、呼処理において排他制御が必要となるキー情及び要素情報の書き込みの処理の実行回数が、呼処理メッセージの受信の度に行っていた従来の場合に比べて少なくなるので、単位時間当たりの呼処理の処理数が増加する。
【００１９】
なお、上述した通信サーバ装置において、キー情報は例えば当該キー情報が含まれていた呼処理メッセージの発信元を示す情報であり、要素情報は例えば当該発信元の状態を表す情報である。
【００２０】
また、上述した通信サーバ装置において、当該通信サーバ装置による通信交換機能の提供のための処理の負荷の高低を判定する判定手段を更に有し、呼処理手段３は、当該処理の負荷が高いとの判定結果を当該判定手段が下したときには、当該呼処理の所定時間間隔毎の一括実行を行い、当該負荷が低いとの判定結果を当該判定手段が下したときには、当該呼処理メッセージを受信する度に直ちに当該呼処理メッセージに対する呼処理を実行するように構成してもよい。
【００２１】
なお、このとき、判定手段は、たとえば、呼処理手段として機能する演算装置の利用率に基づいて前述の処理の負荷の高低を判定するようにしてもよい。
この構成によれば、処理の負荷が低い場合には、即時処理を重視して従来と同様の処理が行われる一方で、高負荷時には高い処理能力を提供することができる。
【００２２】
なお、通信交換機能をコンピュータで提供させるためのプログラムであって、受信した呼処理メッセージを格納部に格納して受信順を管理する処理と、当該呼処理メッセージに含まれているキー情報と当該キー情報に対応付けられており当該呼処理メッセージに含まれている要素情報とを、当該呼処理メッセージの受信の度に当該キー情報毎に最新のものへと更新して保持部で保持しておく処理と、当該保持部で保持されている当該キー情報及び当該要素情報に基づいて、当該格納部に格納されている呼処理メッセージの各々に対する呼処理を、所定の時間間隔毎に一括して行う処理と、をコンピュータに行わせるためのプログラムも本発明に係るものであり、当該プログラムを当該コンピュータによって実行させることにより、上述した本発明に係る通信サーバ装置と同様の作用・効果を奏するので、前述した課題が解決される。
【発明の効果】
【００２３】
本発明によれば、以上のようにすることにより、テレコムサーバでの単位時間当たりの呼処理の処理数が増加するという効果を奏する。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態を図面に基づいて説明する。
まず、本発明を実施するテレコムサーバの動作原理について、図２を参照しながら説明する。
【００２５】
このテレコムサーバ１０では、自身で行う呼処理における処理負荷の高低の判定を行い、この判断結果に応じて処理の手法を切り替える。ここで、処理負荷が低いと判定した場合には、テレコムサーバ１０は、同図上側の処理の流れに示されているように、上り伝送路から信号（呼処理メッセージ）を受信する度に呼処理１１を直ちに実行して受信信号に対応する応答の信号を下り伝送路へ送信する。一方、処理負荷が低いと判断した場合には、テレコムサーバ１０は、同図下側の処理の流れに示されているように、上り伝送路から受信した信号に対し新規処理１２を行い、受信信号を一旦バッファリングと、その信号の内容に応じた当該信号のマージ（統合）とを行った上で一括して呼処理１１を実行するようにする。
【００２６】
次に図３について説明する。同図は、本発明を実施するテレコムサーバの機能ブロック図である。テレコムサーバとして機能するコンピュータシステムのＣＰＵでは、ＯＳ２０、ＨＡミドルウェア３０、及び呼処理ＡＰＬ（アプリケーションプログラム）４０が実行される。
【００２７】
まず、ＯＳ２０の実行により、送られてきた信号（呼処理メッセージ）を受信して受信キュー２１へ入れる処理が行われている。ここで、所定の間隔で受信キュー２１のチェックを行い、受信キュー２１に存在する受信信号を１つずつ取り出して呼処理ＡＰＬ４０へと渡す処理である、受信キュー取り出し処理３１がＨＡミドルウェア３０の実行により行われる。
【００２８】
呼処理ＡＰＬ４０が実行されると、まず、コンピュータシステムのＣＰＵの使用率を分析してその高低を判定する処理４１が行われる。この分析処理４１において、ＣＰＵ使用率が低い（例えば７０％以下）場合には、直ちに呼処理４４を実行する。一方、ＣＰＵ使用率が高い（例えば７０％以上）場合には、バッファリング処理４２及びマージ処理４３を実行してから呼処理４４を実行する。なお、バッファリング処理４２及びマージ処理４３を実行するか否かの判断を、ＣＰＵの使用率に基づいて行う代わりに、単位時間当たりの受信信号の受付数に基づいて行うようにしても良い。
【００２９】
呼処理４４では、信号分析処理４４ａ、ルーティング処理４４ｂ、及び送信処理４４ｃが行われる。これらの処理は図１４に示したＳ１００４からＳ１００６にかけての処理と同様であり、送信信号が作成される。
【００３０】
送信信号が作成されると、送信キュー繋ぎ込み処理３２、すなわち、その送信信号は送信キュー２２へ入れる処理がＨＡミドルウェア３０の実行により行われる。
その後、ＯＳ２０の実行により、送信キュー２２に存在する送信信号が、ルーティング処理４４ｂによって決定された送信先へ送信する処理が行われる。
【００３１】
次に図４について説明する。同図は、本発明を実施するテレコムサーバとして機能するコンピュータシステムのハードウェア構成を示している。
図４に示すシステムはＣＰＵ部５１、ＲＯＭ５２、ＲＡＭ５３、記憶部５４、入力部５５、表示部５６、出力部５７、及び外部インタフェース５８がバス５０を介して相互に接続されて構成されており、ＣＰＵ部５１による管理の下で相互にデータ授受を行うことができる。
【００３２】
ＣＰＵ（Central Processing Unit ）部５１はこのコンピュータシステム全体の動作制御を司り、呼処理を含む各種の処理を実行する１個若しくは複数の中央処理装置である。
ＲＯＭ（Read Only Memory）５２は、ＣＰＵ部５１によって実行される基本制御プログラムが予め格納されているメモリであり、この装置の起動時にＣＰＵ部５１がこの基本制御プログラムを実行することによってこの装置全体の動作の基本的な制御がＣＰＵ部５１によって行なわれる。
【００３３】
ＲＡＭ（Random Access Memory）５３は、各種制御プログラムをＣＰＵ部５１が実行するときにワークメモリとして使用され、また各種のデータの一時的な格納領域として必要に応じて用いられるメインメモリとしても機能するメモリである。
【００３４】
記憶部５４は例えばＨＤＤ（Hard Disk Drive ）を備えて構成されており、このシステムで実行される各種の制御処理をＣＰＵ部５１に行わせるための制御プログラムが予め格納されている。
【００３５】
入力部５５は外部からの入力を受け取ってその入力の内容をＣＰＵ部５１に渡すものであり、例えばキーボードやマウスなどといったこの装置を操作する操作者からの指示を受け取る入力装置を備えている。また、入力部５５は、ＦＤ（Flexible Disk）、ＣＤ−ＲＯＭ（Compact Disc-ROM）、ＤＶＤ−ＲＯＭ（Digital Versatile Disc-ROM）、ＭＯ（Magneto-Optics）ディスクなどといった可搬型の記録媒体の読出装置を必要に応じて備えて構成される。
【００３６】
表示部５６はＣＰＵ部５１からの指示に応じた各種の情報の表示を行うものであり、例えばＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）を備えて構成される。
【００３７】
出力部５７はＣＰＵ部５１からの指示に応じた各種の情報の出力を行うものであり、例えば表示部５６での表示内容をそのまま用紙に印刷するためのプリンタ装置などである。
外部インタフェース５８は、このシステムを伝送路に接続して他の機器との間での信号の授受を行う際の通信管理を行う。
【００３８】
以上のように、図４に示したシステムは標準的なハードウェア構成を有するコンピュータシステムであれば通常有しているものである。
次に図５について説明する。同図は、本発明を実施するテレコムサーバで行われる制御処理の流れをフローチャートで示したものである。なお、図４に示したコンピュータシステムでは、図４のシステムの記憶部５４に予め格納されている各種プログラムをＣＰＵ部５１が読み出して実行することによってこの処理が実現される。
【００３９】
図５において、Ｓ１０１及びＳ１１５の処理は、図３におけるＯＳ２０の実行によって行われる処理であり、Ｓ１０２からＳ１０３及びＳ１１４の処理は、図３におけるＨＡミドルウェア３０の実行によって行われる処理である。また、Ｓ１０４からＳ１０６及びＳ１１０からＳ１１３にかけての処理は、図３における呼処理ＡＰＬ４０の実行によって行われる処理である。
【００４０】
まず、Ｓ１０１において、送られてきた信号（呼処理メッセージ）を受信して受信キューへ入れる処理が行われている。ここで、Ｓ１０２において、所定の間隔で受信キューのチェックを行ってその受信キューに存在する受信信号をまとめて取り込む処理が行われ、続くＳ１０３において、受信信号を取り込めたことによって信号の受信が確認されたときには、その受信信号を呼処理ＡＰＬ４０へ渡す処理が行われる。
【００４１】
呼処理ＡＰＬ４０では、まず、Ｓ１０４において、ＣＰＵ使用率を分析してこの高低を判定する処理が行われる。ここで、ＣＰＵ使用率が低い（図５においては７０％以下）と判定された場合には、図３における呼処理４４に相当する処理である、Ｓ１１１の信号分析処理と、Ｓ１１２のルーティング処理と、Ｓ１１３の送信処理とが行われる。そして、送信信号が作成されると、Ｓ１１４において送信キュー繋ぎ込み処理、すなわち、その送信信号を送信キューへ入れる処理が行われ、その後、Ｓ１１５において、送信キューに存在する送信信号が、上述したＳ１１２のルーティング処理によって決定された送信先へ送信する処理が行われる。
【００４２】
これに対し、Ｓ１０４において、ＣＰＵ使用率が高い（図５においては７０％以上）と判定された場合には、Ｓ１０５のバッファリング処理、及びＳ１０６のパラメータのマージ処理を実行し、ここで一旦処理を終了する。その一方で、所定の時間間隔毎、例えばＳ１０２の受信信号の取り込み処理の実行周期と同一の周期でＳ１１０の周期処理を実行し、呼処理の最初の処理であるＳ１１１の信号分析処理を起動し、バッファリング及びマージがされた受信信号に対する信号分析を一括して行う。そしてその後は、Ｓ１１２からＳ１１５にかけての処理を行う。
【００４３】
次に、Ｓ１０５のバッファリング処理とＳ１０６のパラメータマージ処理の詳細について、図６を用いて説明する。
図６は、受信信号αの履歴データと状態情報との作成の様子を示している。ここで、受信信号αは、例えば発信元を示すキー情報Ｐと、キー情報Ｐについて対応付けられている情報（例えばキー情報Ｐで表される発信元の状態を表す情報）として、Ｅ１、Ｅ２、及びＥ３の３要素からなる要素情報（パラメータ）とを有しているものとする。
【００４４】
今、信号αを新規に受信したとし、その信号の内容が、同図（１）に示すように、キー情報Ｐについては「Ｘ」であり、また、要素情報Ｅ１、Ｅ２、及びＥ３については、それぞれ「Ａ」、「Ｄ」、及び「Ｅ」であったとする。
【００４５】
この信号αを新規に受信した時点において、他の種類の信号（信号β、γ、…）の受信数も含めて、既に計９個の信号をテレコムサーバが受信していたとすると、テレコムサーバは、受信順の管理のために、この新規に受信した信号αに対してシーケンス番号Ｓとして番号「１０」を付与した上で、同図（２）に示すように、新規受信信号αの内容（キー情報及び要素情報）を、信号αについての受信履歴情報テーブルに追加する。この処理がＳ１０５（図５）のバッファリングである。なお、受信履歴情報テーブルは、テレコムサーバの有する記憶装置（メモリ等）に格納される。
【００４６】
更に、テレコムサーバは、信号αを新規に受信すると、その直近に受信していた信号αにおけるキー情報Ｐが「Ｘ」であるものの要素情報Ｅ１、Ｅ２、及びＥ３を、図６（３）に示すように、最新の内容へと更新して記憶装置（メモリ等）で保持しておく。この処理がＳ１０６（図５）のマージ処理である。
【００４７】
図５のＳ１１０の周期処理により、呼処理の最初の処理であるＳ１１１の信号分析処理が起動されると、上述したようにして更新されて保持されているキー情報毎の要素情報を記憶装置へ書き込む処理が行われる。前述したように、この書き込みの処理は排他制御を伴いながら実行する必要がある。しかし、図５の処理によれば、ＣＰＵ利用率が高い場合にはマージ処理が実行され、そのマージ処理によって更新された最新の状態情報のみについて書き込みの処理を行うので、全ての受信信号の状態情報について書き込みの処理を実行する場合に比べ、書き込みの処理の回数、すなわち排他制御の回数が減少する。従って、その減少分だけ他のスレッド処理が実行できるので、単位時間当たりの呼処理の処理数が増加するのである。
【００４８】
次に、上述した本発明の実施による、テレコムサーバの処理能力向上の効果を説明する。
図７は、テレコムサーバとして使用するコンピュータシステムのＣＰＵが１個の場合における呼処理能力の試算例を模式的に表したものである。なお、同図の説明では、処理対象の呼処理メッセージを２．５ｍｓ間隔で受信する場合を想定する。また、ＨＡミドルウェアによる送受信制御処理は１メッセージ当たり０．５ｍｓの処理時間を要し、また、呼処理には２ｍｓの処理時間を要するものとする。
【００４９】
図７において、（ａ）は従来のテレコムサーバの場合を表している。この場合、処理対象の呼処理メッセージに対する本来の処理時間は、受信制御処理の処理時間（０．５ｍｓ）と、呼処理の処理時間（２ｍｓ）と、送信制御処理の処理時間（０．５ｍｓ）との総和、すなわち３ｍｓである。ところが、この呼処理メッセージに対応する送信信号の送信よりも後続する呼処理メッセージが受信されるため、これに対する受信制御処理（０．５ｍｓ）と呼処理（２ｍｓ）とが優先される。これは、呼処理の処理結果として作成される送信信号を取り込む送信キューの容量が一杯になるまで続く。例えばこの送信キューの容量が４０メッセージ分用意されているとすると、処理対象の呼処理メッセージを受信してから対応する送信信号を送信するまでの所要時間は、３ｍｓ＋（０．５ｍｓ＋２ｍｓ）×４０＝１０３ｍｓとなる。この場合、１００ｍｓ当たりで処理可能な呼処理メッセージ数は３８個に留まり、ＢＨＣＡで単位換算すれば１９万ＢＨＣＡに相当する。なお、この数値は、呼処理の処理量が呼処理メッセージの受信量（１００ｍｓ当たりで４０個）に追いついていないことを表している。
【００５０】
一方、図７において、（ｂ）は上述した本発明の実施例に係るテレコムサーバの場合を表しており、この場合には、呼処理メッセージに対して新規処理であるバッファリング処理とマージ処理とが実行される。なお、ここでは、この場合において、４０個の呼処理メッセージが新規処理によって一括して処理されるものとし、この新規処理に要する処理時間は０．５ｍｓであるとする。
【００５１】
この場合、４０個の呼処理メッセージに対し、受信制御処理（０．５ｍｓ）と、上述した新規処理（０．５ｍｓ）と、送信制御処理（０．５ｍｓ）とについては個々に実行され、呼処理（２ｍｓ）についてはまとめて１回だけ実行される。従って、処理対象の呼処理メッセージを受信してから対応する送信信号を送信するまでの所要時間は、０．５ｍｓ×３×４０＋２ｍｓ＝６２ｍｓとなる。この数値を、１００ｍｓ当たりで処理可能な呼処理メッセージ数に換算すると６４個となり、ＢＨＣＡで単位換算すれば３３万ＢＨＣＡに相当する。
【００５２】
この図７での試算例を図１３に示した実測例に反映させたものが図８である。このように、本実施例に係るテレコムサーバにより、ＣＰＵに対する負荷が高い場合に６０％程度の処理能力の向上の効果が期待できる。
【００５３】
次に、テレコムサーバとして使用するコンピュータシステムのＣＰＵの個数を増やした場合における呼処理能力の試算例を、図９を用いて説明する。同図は、テレコムサーバとして使用するＣＰＵ２個構成のコンピュータシステムのＣＰＵ１個当たりの呼処理能力の試算例を模式的に表したものである。なお、同図の説明では、ＨＡミドルウェアによる送受信制御処理は１メッセージ当たり０．５ｍｓの処理時間を要し、呼処理には２ｍｓの処理時間を要するものとする。また、呼処理において排他制御が行われる場合の制御時間は１回当たり０．１ｍｓであるとし、１個のＣＰＵが呼処理を１回実行する度に、２度の排他制御が必要であるとする。
【００５４】
図９において、（ａ）は従来のテレコムサーバの場合を表している。この場合において、１個の呼処理メッセージに対する処理のうち、排他制御が行われている時間は０．１ｍｓ×２＝０．２ｍｓである。従って、並行して呼処理が実行されるＣＰＵ２個構成のコンピュータシステムでは、１個の呼処理メッセージに対する処理期間のうち０．２ｍｓ×２＝０．４ｍｓの期間、排他制御が行われることとなる。ここで、従来のテレコムサーバの処理能力例として、例えば１個のＣＰＵ当たりで４０個の呼処理メッセージを１００ｍｓの処理時間で処理する（ＢＨＣＡ単位換算で２０万ＢＨＣＡの処理能力）とすれば、排他制御に起因する処理待ちの時間の割合は、０．４ｍｓ×４０÷１００ｍｓ＝１６％となる。
【００５５】
一方、図９において、（ｂ）は上述した本発明の実施例に係るテレコムサーバの場合を表しており、この場合には、呼処理メッセージに対して新規処理であるバッファリング処理とマージ処理とが実行される。なお、ここでも、図７（ｂ）の場合と同様、この場合においては、４０個の呼処理メッセージが新規処理によって一括して処理されるものとし、この新規処理に要する処理時間は０．５ｍｓであるとする。
【００５６】
この場合、図７（ｂ）において説明したように、１個のＣＰＵが４０個の呼処理メッセージをまとめて処理するときに要する時間は６２ｍｓである。この処理の期間中において、排他制御が行われる時間は０．１ｍｓ×２＝０．２ｍｓのみである。従って、並行して呼処理が実行されるＣＰＵ２個構成のコンピュータシステムでは、これらの呼処理メッセージに対する処理期間のうち０．２ｍｓ×２＝０．４ｍｓの期間、排他制御が行われることとなる。この排他制御の時間を、１００ｍｓ当たりの処理時間に換算、すなわち、図７（ｂ）において説明した１個のＣＰＵ当たり３３万ＢＨＣＡの処理能力として換算すれば、０．４ｍｓ÷６４ｍｓ×１００ｍｓ≒０．６ｍｓとなり、排他制御に起因する処理待ちの時間の割合は、０．６ｍｓ÷１００ｍｓ＝０．６％となる。
【００５７】
以上のように、本実施例によれば、排他制御による処理待ちの時間が大幅に減少するので、マルチＣＰＵのコンピュータシステムを使用してテレコムサーバを構成した場合におけるＣＰＵの個数増加による処理能力の向上が効果的に反映される。この図９での試算例を図１６に示した実測例に反映させたものが図１０である。このように、本実施例により、排他制御による他処理の実行停止の影響が低減される結果、システムのＣＰＵ個数を増加させたときに従来技術では見られていた処理数の増加の頭打ちが解消され、システムのＣＰＵ個数に応じた処理性能の向上が期待できるようになる。
【００５８】
なお、上述した実施形態において、図５に示した制御処理を図４に示したコンピュータシステムで実現させるためには、図４のシステムの記憶部５４に予め格納されている各種プログラムをＣＰＵ部５１が読み出して実行させる代わりに、当該プログラムをコンピュータで読み取り可能な記録媒体に記録させておき、そのプログラムを記録媒体からＣＰＵ部５１に読み出させて実行させるようにしてもよい。
【００５９】
記録させたプログラムをコンピュータで読み取ることの可能な記録媒体の例を図１１に示す。同図に示すように、記録媒体としては、例えば、コンピュータ６１に内蔵若しくは外付けの付属装置として備えられるＲＡＭ若しくはＲＯＭ又はハードディスク装置などのメモリ６２の他に、フレキシブルディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどといった可搬型記録媒体６３等が利用できる。
【００６０】
また、記録媒体は通信回線６４を介してコンピュータ６１と接続される、プログラムサーバ６５として機能するコンピュータが備えている記憶装置６６であってもよい。この場合には、プログラムを表現するデータ信号で搬送波を変調して得られる伝送信号を、プログラムサーバ６５から伝送媒体である通信回線６４を通じて伝送するようにし、コンピュータ６１では受信した伝送信号を復調してプログラムを再生することで当該プログラムを実行できるようになる。
【００６１】
その他、本発明は、上述した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲内で種々の改良・変更が可能である。
なお、上記した実施の形態から次のような構成の技術的思想が導かれる。
【００６２】
（付記１）  通信交換機能を提供する通信サーバ装置であって、
受信した呼処理メッセージを格納して受信順を管理する格納手段と、
前記呼処理メッセージに含まれているキー情報と当該キー情報に対応付けられており当該呼処理メッセージに含まれている要素情報とを、当該呼処理メッセージの受信の度に当該キー情報毎に最新のものへと更新して保持しておく保持手段と、
前記保持手段で保持されている前記キー情報及び前記要素情報に基づいて、前記格納手段に格納されている呼処理メッセージの各々に対する呼処理を、所定の時間間隔毎に一括して実行する呼処理手段と、
を有することを特徴とする通信サーバ装置。
【００６３】
（付記２）  前記キー情報は当該キー情報が含まれていた呼処理メッセージの発信元を示す情報であり、前期要素情報は当該発信元の状態を表す情報であることを特徴とする請求項１に記載の通信サーバ装置。
【００６４】
（付記３）  前記通信サーバ装置による通信交換機能の提供のための処理の負荷の高低を判定する判定手段を更に有し、
前記呼処理手段は、前記処理の負荷が高いとの判定結果を前記判定手段が下したときには、前記呼処理の所定時間間隔毎の一括実行を行い、当該負荷が低いとの判定結果を前記判定手段が下したときには、前記呼処理メッセージを受信する度に直ちに当該呼処理メッセージに対する呼処理を実行する、
ことを特徴とする請求項１に記載の通信サーバ装置。
【００６５】
（付記４）  前記判定手段は、前記呼処理手段として機能する演算装置の利用率に基づいて前記処理の負荷の高低を判定することを特徴とする請求項２に記載の通信サーバ装置。
【００６６】
（付記５）  通信交換の方法であって、
受信した呼処理メッセージを格納部に格納して受信順を管理し、
前記呼処理メッセージに含まれているキー情報と当該キー情報に対応付けられており当該呼処理メッセージに含まれている要素情報とを、当該呼処理メッセージの受信の度に当該キー情報毎に最新のものへと更新して保持部で保持しておき、
前記保持部で保持されている前記キー情報及び前記要素情報に基づいて、前記格納部に格納されている呼処理メッセージの各々に対する呼処理を、所定の時間間隔毎に一括して行う、
ことを特徴とする通信交換方法。
【００６７】
（付記６）  通信交換機能をコンピュータで提供させるためのプログラムであって、
受信した呼処理メッセージを格納部に格納して受信順を管理する処理と、
前記呼処理メッセージに含まれているキー情報と当該キー情報に対応付けられており当該呼処理メッセージに含まれている要素情報とを、当該呼処理メッセージの受信の度に当該キー情報毎に最新のものへと更新して保持部で保持しておく処理と、
前記保持部で保持されている前記キー情報及び前記要素情報に基づいて、前記格納部に格納されている呼処理メッセージの各々に対する呼処理を、所定の時間間隔毎に一括して行う処理と、
をコンピュータに行わせるためのプログラム。
【図面の簡単な説明】
【００６８】
【図１】本発明に係る通信サーバ装置の基本構成を示す図である。
【図２】本発明を実施するテレコムサーバの動作原理を示す図である。
【図３】本発明を実施するテレコムサーバの機能ブロック図である。
【図４】本発明を実施するテレコムサーバとして機能するコンピュータシステムのハードウェア構成を示す図である。
【図５】本発明を実施するテレコムサーバで行われる制御処理の流れをフローチャートで示した図である。
【図６】受信信号の履歴データと状態情報との作成の様子を示す図である。
【図７】テレコムサーバとして使用するコンピュータシステムのＣＰＵが１個の場合における呼処理能力の試算例を模式的に表した図である。
【図８】図７での試算例を実測例に反映させた図である。
【図９】テレコムサーバとして使用するＣＰＵ２個構成のコンピュータシステムのＣＰＵ１個当たりの呼処理能力の試算例を模式的に表した図である。
【図１０】図９での試算例を実測例に反映させた図である。
【図１１】記録させたプログラムをコンピュータで読み取ることの可能な記録媒体の例を示す図である。
【図１２】処理負荷が高い場合における呼処理の処理時間の延伸を説明する図である。
【図１３】処理負荷が高い場合における呼処理の処理時間の延伸の実測例を示す図である。
【図１４】テレコムサーバで行われる制御処理のおおよその流れをフローチャートで示した図である。
【図１５】テレコムサーバで行われる制御処理をＣＰＵ個数の異なるコンピュータシステムにおいて実行させた場合における、処理の進行の様子を模式的に示した図である。
【図１６】テレコムサーバとして使用するコンピュータシステムのＣＰＵ個数と呼処理の処理数との関係の実測例を示す図である。
【符号の説明】
【００６９】
１  格納手段
２  保持手段
３  呼処理手段
１０  テレコムサーバ
１１  呼処理
１２  新規処理
２０  ＯＳ
２１  受信キュー
２２  送信キュー
３０  ＨＡミドルウェア
３１  受信キュー取り出し処理
３２  送信キュー繋ぎ込み処理
４０  呼処理ＡＰＬ
４１  ＣＰＵ使用率分析処理
４２  バッファリング処理
４３  マージ処理
４４  呼処理
４４ａ  信号分析処理
４４ｂ  ルーティング処理
４４ｃ  送信処理
５０  バス
５１  ＣＰＵ部
５２  ＲＯＭ
５３  ＲＡＭ
５４  記憶部
５５  入力部
５６  表示部
５７  出力部
５８  外部インタフェース
６１  コンピュータ
６２  メモリ
６３  可搬型記録媒体
６４  通信回線
６５  プログラムサーバ
６６  記憶装置
【図１】
2007096564.tif 000003
【図４】
2007096564.tif 000004
【図５】
2007096564.tif 000005
【図６】
2007096564.tif 000006
【図１１】
2007096564.tif 000007
【図１３】
2007096564.tif 000008
【図１４】
2007096564.tif 000009
【図１６】
2007096564.tif 000010
【図２】
2007096564.tif 000011
【図３】
2007096564.tif 000012
【図７】
2007096564.tif 000013
【図８】
2007096564.tif 000014
【図９】
2007096564.tif 000015
【図１０】
2007096564.tif 000016
【図１２】
2007096564.tif 000017
【図１５】
2007096564.tif 000018