(57)【要約】【課題】各呼処理プロセッサが保有するプロファイル数の均一化を図ることができると共に、呼処理プロセッサの負荷の平準化を図ることができるサーバシステムを提供する。【解決手段】負荷情報収集部６３は、呼処理プロセッサ３０〜３２から、呼処理プロセッサの負荷情報を収集する。プロセッサ決定部６２は、通信開始に際し、呼処理プロセッサ３０〜３２におけるプロファイルの分散情報と負荷情報とを参照し、呼処理信号に対して処理を行うべき呼処理プロセッサを決定する。【選択図】図１
2010140320.tif 000002
【特許請求の範囲】
【請求項１】
回線を終端する回線終端プロセッサと、
それぞれが、加入者のプロファイルを保有し、該プロファイルを用いて呼処理信号に対する信号処理を行う複数の呼処理プロセッサと、
前記複数の呼処理プロセッサのそれぞれから負荷情報を収集する負荷情報収集部と、
通信開始に際し、前記複数の呼処理プロセッサにおける前記プロファイルの分散情報と前記負荷情報とを参照し、前記呼処理信号に対して信号処理を行うべき呼処理プロセッサを決定するプロセッサ決定部とを備えるサーバシステム。
【請求項２】
前記プロセッサ決定部は、前記プロファイルの分散情報を、前記負荷情報に応じた重み係数で重み付けし、前記信号処理を行うべき呼処理プロセッサを決定する、請求項１に記載のサーバシステム。
【請求項３】
前記回線終端プロセッサは、前記複数の呼処理プロセッサのうちの何れかに呼処理信号を転送し、該呼処理信号の転送を受けた呼処理プロセッサは、前記プロセッサ決定部に、前記信号処理を行うべき呼処理プロセッサの決定を依頼する、請求項１又は２に記載のサーバシステム。
【請求項４】
前記回線終端プロセッサは、ラウンドロビンで、前記複数の呼処理プロセッサに前記呼処理信号を転送する、請求項３に記載のサーバシステム。
【請求項５】
前記呼処理プロセッサは、前記プロセッサ決定部が決定した呼処理プロセッサが自プロセッサであるか否かを判断し、自プロセッサでないと判断すると、該当する呼処理プロセッサへ前記呼処理信号を送信する、請求項３又は４に記載のサーバシステム。
【請求項６】
前記回線終端プロセッサは、前記プロセッサ決定部に前記呼処理信号を転送し、前記プロセッサ決定部は、前記信号処理を行うべき呼処理プロセッサを決定すると、前記呼処理信号を前記決定した呼処理プロセッサに送信する、請求項１又は２に記載のサーバシステム。
【請求項７】
コンピュータを用い、回線を終端する回線終端プロセッサと、それぞれが、加入者のプロファイルを保有し、該プロファイルを用いて呼処理信号に対する信号処理を行う複数の呼処理プロセッサとを有するサーバシステムにて負荷分散を行う負荷分散方法であって、
前記コンピュータが、前記複数の呼処理プロセッサのそれぞれから負荷情報を収集するステップと、
前記コンピュータが、通信開始に際し、前記複数の呼処理プロセッサにおける前記プロファイルの分散情報と前記負荷情報とを参照し、前記呼処理信号に対して信号処理を行うべき呼処理プロセッサを決定するステップとを有する負荷分散方法。
【請求項８】
前記コンピュータは、前記呼処理プロセッサを決定するステップでは、前記プロファイルの分散情報を、前記負荷情報に応じた重み係数で重み付けし、前記信号処理を行うべき呼処理プロセッサを決定する、請求項７に記載の負荷分散方法。
【請求項９】
前記回線終端プロセッサが、前記複数の呼処理プロセッサのうちの何れかに呼処理信号を転送するステップと、
前記呼処理プロセッサが、前記コンピュータに、前記信号処理を行うべき呼処理プロセッサの決定を依頼するステップとを更に有する、請求項７又は８に記載の負荷分散方法。
【請求項１０】
前記回線終端プロセッサは、前記呼処理信号を転送するステップでは、ラウンドロビンで、前記複数の呼処理プロセッサに前記呼処理信号を転送する、請求項９に記載の負荷分散方法。
【請求項１１】
前記呼処理プロセッサが、前記コンピュータが決定した信号処理を行うべき呼処理プロセッサが自プロセッサであるか否かを判断し、自プロセッサでないと判断すると、該当する呼処理プロセッサへ前記呼処理信号を送信するステップを更に有する、請求項９又は１０に記載の負荷分散方法。
【請求項１２】
前記回線終端プロセッサが、前記コンピュータに呼処理信号を転送するステップと、
前記コンピュータが、前記信号処理を行うべき呼処理プロセッサの決定後、前記呼処理信号を前記決定した呼処理プロセッサに送信するステップとを更に有する、請求項７又は８に記載の負荷分散方法。
【請求項１３】
コンピュータに、回線を終端する回線終端プロセッサと、それぞれが、加入者のプロファイルを保有し、該プロファイルを用いて呼処理信号に対する信号処理を行う複数の呼処理プロセッサとを有するサーバシステムにて負荷分散の処理を実行させるプログラムであって、前記コンピュータに、
前記複数の呼処理プロセッサのそれぞれから負荷情報を収集する処理と、
通信開始に際し、前記複数の呼処理プロセッサにおける前記プロファイルの分散情報と前記負荷情報とを参照し、前記呼処理信号に対して信号処理を行うべき呼処理プロセッサを決定する処理とを実行させるプログラム。
【請求項１４】
前記呼処理プロセッサを決定する処理では、前記プロファイルの分散情報を、前記負荷情報に応じた重み係数で重み付けし、前記信号処理を行うべき呼処理プロセッサを決定する、請求項１３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバシステムに関し、更に詳しくは、回線を終端する回線終端プロセッサと、それぞれが、加入者のプロファイルを保有し、保有するプロファイルを用いて呼処理信号に対する信号処理を行う複数の呼処理プロセッサとを有するサーバシステムに関する。また、本発明は、そのようなサーバシステムにおける負荷分散方法及びプログラムに関する。
【背景技術】
【０００２】
一般に、通信システムに用いられるサーバシステムは、加入者のプロファイルを有する呼処理プロセッサを備えている。通常、サーバシステムは、１つのシステム内に、複数の呼処理プロセッサと、呼処理プロセッサの負荷分散を行う負荷分散プロセッサを有している。サーバシステムでは、加入者の通信は、該当加入者のプロファイルが格納されている呼処理プロセッサを用いて行われる。負荷分散プロセッサは、各加入者のプロファイルがどの呼処理プロセッサに格納されているかを管理しており、通信に用いる呼処理プロセッサを選択する機能を提供する。また、負荷分散プロセッサは、呼処理プロセッサの負荷を監視しており、起呼信号に対して、その起呼信号を処理すべき呼処理プロセッサを決定する機能を提供する。
【０００３】
複数のプロセッサを有するサーバシステムにおける負荷分散に関しては、特許文献１及び特許文献２に記載された技術がある。特許文献１では、呼分配装置は、呼を処理する呼処理制御系装置（呼処理プロセッサ）を決定する際に、呼信号が新たに発生した信号であるか、或いは、既に発生済みの信号であるかを判断する。呼分配装置は、呼信号が新たに発生した呼である場合は、呼を処理する呼処理制御系装置を動的に決定する。呼分配装置は、呼処理制御系装置の決定に際しては、各呼処理制御系装置の負荷を比較し、負荷が最も低い呼処理制御系装置を動的に選択する。呼分配装置は、発生済みの呼であるときは、呼発生時に決定した呼処理制御系装置を、静的に特定する。
【０００４】
特許文献２では、各プロセッサの輻輳状態を記憶する輻輳状態管理手段を用いる。プロセッサは、収容回線から発呼があったときは、輻輳状態管理手段を用いて、各プロセッサの輻輳状態を確認する。プロセッサは、自プロセッサが輻輳状態にないときには、自プロセッサの呼設定／解除処理実行手段に、処理の実行を要求する。プロセッサは、自プロセッサが輻輳状態にある時には、輻輳状態にないプロセッサを１つ選択し、選択したプロセッサの呼設定／解除実行手段に、処理の実行を要求する。この要求を受けたプロセッサは、輻輳状態管理手段を用いて、自プロセッサが輻輳状態にないことを確認した上で、自プロセッサ内の呼設定／解除処理実行手段に、処理の実行を要求する。
【０００５】
【特許文献１】特開２０００−２５３４２９号公報
【特許文献２】特開平６−７７９９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１や特許文献２のように、プロセッサの負荷に基づいて負荷分散先を決定する方式では、各呼処理プロセッサが保有するプロファイルにばらつきが出ることになる。この場合、一斉に呼が発生したときに、プロファイルを多数保有する呼処理プロセッサの負荷が高くなることがあり、負荷の平準化を図ることができなくなるという問題がある。
【０００７】
上記問題に対し、本願発明者は、特願２００７−１５８１０８にて、呼処理プロセッサが保有する加入者のプロファイルの分散情報に基づいて、負荷分散を行うサーバシステムを提案している。特願２００７−１５８１０８では、保有するプロファイル数が少ない呼処理プロセッサを負荷分散先とすることで、各呼処理プロセッサが保有するプロファイルの均一化を図ることができる。
【０００８】
しかしながら、プロファイルを均一化した場合、トラヒック条件によっては特定の呼処理プロセッサの呼処理数が増え、その呼処理プロセッサだけ負荷が増大する可能性がある。その場合、サーバの能力的な負荷分散を行うことができないということが問題となる。
【０００９】
本発明は、各呼処理プロセッサが保有するプロファイル数の均一化を図ることができると共に、呼処理プロセッサの負荷の平準化を図ることができるサーバシステム、負荷分散方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明のサーバシステムは、回線を終端する回線終端プロセッサと、それぞれが、加入者のプロファイルを保有し、該プロファイルを用いて呼処理信号に対する信号処理を行う複数の呼処理プロセッサと、前記複数の呼処理プロセッサのそれぞれから負荷情報を収集する負荷情報収集部と、通信開始に際し、前記複数の呼処理プロセッサにおける前記プロファイルの分散情報と前記負荷情報とを参照し、前記呼処理信号に対して信号処理を行うべき呼処理プロセッサを決定するプロセッサ決定部とを備えることを特徴とする。
【００１１】
本発明の負荷分散方法は、コンピュータを用い、回線を終端する回線終端プロセッサと、それぞれが、加入者のプロファイルを保有し、該プロファイルを用いて呼処理信号に対する信号処理を行う複数の呼処理プロセッサとを有するサーバシステムにて負荷分散を行う負荷分散方法であって、前記コンピュータが、前記複数の呼処理プロセッサのそれぞれから負荷情報を収集するステップと、前記コンピュータが、通信開始に際し、前記複数の呼処理プロセッサにおける前記プロファイルの分散情報と前記負荷情報とを参照し、前記呼処理信号に対して信号処理を行うべき呼処理プロセッサを決定するステップとを有することを特徴とする。
【００１２】
本発明のプログラムは、コンピュータに、回線を終端する回線終端プロセッサと、それぞれが、加入者のプロファイルを保有し、該プロファイルを用いて呼処理信号に対する信号処理を行う複数の呼処理プロセッサとを有するサーバシステムにて負荷分散の処理を実行させるプログラムであって、前記コンピュータに、前記複数の呼処理プロセッサのそれぞれから負荷情報を収集する処理と、通信開始に際し、前記複数の呼処理プロセッサにおける前記プロファイルの分散情報と前記負荷情報とを参照し、前記呼処理信号に対して信号処理を行うべき呼処理プロセッサを決定する処理とを実行させることを特徴とする。
【発明の効果】
【００１３】
本発明のサーバシステム、負荷分散方法、及び、プログラムは、呼処理プロセッサが保有するプロファイルの数を均一化できると共に、呼処理プロセッサの負荷の平準化を図ることができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の第１実施形態のサーバシステムを示している。サーバシステム１０は、回線終端プロセッサ２０、呼処理プロセッサ３０〜３２、及び、リソース管理プロセッサ６０を有する。各プロセッサ（２０、３０〜３２、６０）は、ネットワーク７０にて接続されている。サーバシステム１０は、例えば、３ＧＰＰ（Third Generation Partnership Project）又は３ＧＰＰ２（Third Generation Partnership Project 2）におけるＲＮＣ（Radio Network Controller）／ＢＳＣ（Base Station Controller）と、ＩＭＳ網（IP Multimedia Subsystem）／ＭＭＤ（MultiMedia Domain）との間でのデータやり取りを行う。
【００１５】
回線終端プロセッサ２０は、プロトコル終端部２１を有する。プロトコル終端部２１は、呼処理信号のプロトコル変換を行う。プロトコル終端部２１は、回線側から呼処理信号を受信すると、呼処理信号を外部から内部へプロトコル変換する。また、プロトコル終端部２１は、内部プロトコルへ変換した呼処理信号の処理を行う。プロトコル終端部２１は、呼処理プロセッサ側から呼処理信号を受信すると、呼処理信号を内部から外部へプロトコル変換する。
【００１６】
呼処理プロセッサ３０〜３２は、それぞれ信号処理部４０〜４２と、プロファイル５０〜５２とを有する。信号処理部４０〜４２は、内部プロトコルに変換された呼処理信号の処理を行う。プロファイル５０〜５２は、呼処理を行うための加入者データである。信号処理部４０〜４２は、プロファイル５０〜５２を用いて信号処理を行う。
【００１７】
リソース管理プロセッサ６０は、プロファイル分散情報６１と、プロセッサ決定部６２と、負荷情報収集部６３とを有する。プロファイル分散情報６１は、プロファイルの分散状況の管理を行うための情報である。プロファイル分散情報６１を参照することで、どの加入者のプロファイルをどの呼処理プロセッサが保有しているかがわかる。また、各呼処理プロセッサが、どれくらいプロファイルを保有しているかがわかる。
【００１８】
負荷情報収集部６３は、呼処理プロセッサ３０〜３２の負荷情報を監視し、各呼処理プロセッサから負荷情報を収集する。負荷情報には、例えば呼処理プロセッサのＣＰＵ使用率を用いる。プロセッサ決定部６２は、プロファイル分散情報６１を参照し、該当加入者のプロファイルを有する呼処理プロセッサがあるか否かを判断する。プロセッサ決定部６２は、該当加入者のプロファイルを保有する呼処理プロセッサがある場合は、その呼処理プロセッサを処理を行うべき呼処理プロセッサとして決定する。プロセッサ決定部６２は、該当加入者のプロファイルを有する呼処理プロセッサがない場合は、プロファイル分散情報６１と負荷情報収集部６３が収集した負荷情報とを参照し、処理すべき呼処理プロセッサを決定する。
【００１９】
プロトコル終端部２１で終端される呼処理信号には、起呼信号と継続信号とがある。プロトコル終端部２１は、呼処理信号が起呼信号であれば、呼処理プロセッサ３０〜３２のうちの任意の１つに、起呼信号を送信する。その際、プロトコル終端部２１は、例えばラウンドロビンで、呼処理信号を送信する呼処理プロセッサを決定する。プロトコル終端部２１は、呼処理信号が継続信号であれば、継続信号から、その継続信号を処理すべき呼処理プロセッサを割り出し、割り出した呼処理プロセッサに継続信号を送信する。
【００２０】
信号処理部４０〜４２は、プロトコル終端部２１から起呼信号を受け取ると、その起呼信号を処理すべき呼処理プロセッサの決定を、リソース管理プロセッサ６０に依頼する。信号処理部４０〜４２は、プロトコル終端部２１から継続信号を受信した場合は、該当加入者のプロファイルを参照して、継続信号を処理する。
【００２１】
負荷情報収集部６３は、随時、呼処理プロセッサ３０〜３２のＣＰＵ使用率を収集する。プロセッサ決定部６２は、呼処理プロセッサ決定の依頼を受けると、プロファイル分散情報６１を参照し、該当加入者のプロファイルを有する呼処理プロセッサがあるか否かを判断する。プロセッサ決定部６２は、該当加入者のプロファイルを保有する呼処理プロセッサがあるときは、その呼処理プロセッサを、処理を行うべき呼処理プロセッサと決定する。
【００２２】
プロセッサ決定部６２は、該当加入者のプロファイルを有する呼処理プロセッサがないときは、プロファイル分散情報６１を、負荷情報収集部６３が収集した呼処理プロセッサ３０〜３２のＣＰＵ使用率に応じた重み係数で重み付けし、処理を行うべき呼処理プロセッサを決定する。より詳細には、プロセッサ決定部６２は、プロファイル分散情報６１を参照して、各呼処理プロセッサが保有するプロファイル数を調べる。プロセッサ決定部６２は、各呼処理プロセッサが保有するプロファイル数を、各呼処理プロセッサのＣＰＵ使用率に応じた重み係数で重み付けする。重み係数は、ＣＰＵ使用率が高いほど、重みが大きくなるように設定される。プロセッサ決定部６２は、重み付け後の値を比較し、処理を行うべき呼処理プロセッサを決定する。
【００２３】
信号処理部４０〜４２は、プロセッサ決定部６２から、処理を行うべき呼処理プロセッサの識別情報（プロセッサ番号）を受け取る。信号処理部４０〜４２は、受け取ったプロセッサ番号を、起呼信号に書き込む。呼処理信号へ書き込まれたプロセッサ番号は、以降の回線側との継続信号で、双方向に設定される。信号処理部４０〜４２は、処理を行うべき呼処理プロセッサが自プロセッサであるときは、該当加入者のプロファイルを作成し処理を行う。信号処理部４０〜４２は、処理を行うべき呼処理プロセッサが自プロセッサではないときは、起呼信号を、処理を行うべき呼処理プロセッサに送信する。プロセッサ番号が設定された起呼信号を受け取った呼処理プロセッサは、該当加入者のプロファイルを作成し処理を行う。
【００２４】
図２に、回線終端プロセッサ２０の処理手順を示す。プロトコル終端部２１は、回線側からの呼処理信号の受信待ちを行う（ステップＡ１）。プロトコル終端部２１は、回線側から呼処理信号を受信すると、受信した呼処理信号を内部プロトコルへ変換する。また、プロトコル終端部２１は、呼処理信号が起呼信号か否かを判定する（ステップＡ２）。プロトコル終端部２１は、呼処理信号が起呼信号であると判定すると、起呼信号を呼処理プロセッサへ分配するためのラウンドロビン用呼処理プロセッサ番号の取り出しを実施する（ステップＡ３）。
【００２５】
プロトコル終端部２１は、ステップＡ２で呼処理信号が起呼信号でない、すなわち、呼処理信号が継続信号であると判定したときは、継続信号から、前回処理を行った呼処理プロセッサのプロセッサ番号を取り出す（ステップＡ４）。プロトコル終端部２１は、ステップＡ３で取り出した番号、又は、ステップＡ４で取り出した番号の呼処理プロセッサに向けて、回線側から受信した呼処理信号を送信する（ステップＡ５）。
【００２６】
プロトコル終端部２１は、ステップＡ１の回線側からの呼処理信号の受信待ちと並行して、呼処理プロセッサ３０〜３２側からの呼処理信号の受信待ちを行う（ステップＡ６）。プロトコル終端部２１は、呼処理プロセッサ３０〜３２から呼処理信号を受信すると、受信した呼処理信号を外部プロトコルに変換し、回線側に呼処理信号を送信する（ステップＡ７）。
【００２７】
図３に、呼処理プロセッサ３０〜３２の処理手順を示す。なお、以下では、手順を、呼処理プロセッサ３０の動作として説明するが、呼処理プロセッサ３１、３２の動作も、呼処理プロセッサ３０における動作と同様である。
【００２８】
信号処理部４０は、回線側からの呼処理信号、つまり、回線終端プロセッサ２０からの呼処理信号、又は、他の呼処理プロセッサ３１、３２からの呼処理信号の受信待ちを行う（ステップＢ１）。信号処理部４０は、呼処理信号を受信すると、受信した呼処理信号が起呼信号か否かを判定する（ステップＢ２）。信号処理部４０は、受信した呼処理信号が継続信号のときは、該当加入者のプロファイルを基に信号処理を実施し（ステップＢ６）、回線終端プロセッサ２０に呼処理信号を送信する（ステップＢ７）。
【００２９】
信号処理部４０は、ステップＢ２で、受信した呼処理信号が起呼信号であると判定すると、起呼信号に、処理を行うべき呼処理プロセッサのプロセッサ番号が設定済みであるか否かを判定する（ステップＢ３）。信号処理部４０は、ステップＢ３で設定済みでないと判定すると、リソース管理プロセッサ６０へ、処理すべき呼処理プロセッサの決定を依頼する（ステップＢ８）。
【００３０】
リソース管理プロセッサ６０は、該当加入者のプロファイルを有する呼処理プロセッサがある場合は、その呼処理プロセッサのプロセッサ番号を、信号処理部４０へ返す。リソース管理プロセッサ６０は、該当加入者のプロファイルを有する呼処理プロセッサがないときは、該当加入者のプロファイルを作成すべき呼処理プロセッサを決定し、決定した呼処理プロセッサのプロセッサ番号を信号処理部４０に返す。
【００３１】
信号処理部４０は、リソース管理プロセッサ６０からステップＢ８の依頼に対する応答としてプロセッサ番号を受け取る。信号処理部４０は、受け取ったプロセッサ番号を、起呼信号へ書き込む（ステップＢ９）。その後、信号処理部４０は、処理を行うべき呼処理プロセッサが、自プロセッサであるか否かを判断する（ステップＢ１０）。信号処理部４０は、処理を行うべき呼処理プロセッサが自プロセッサでないときは、処理を行うべき呼処理プロセッサに、起呼信号を送信する（ステップＢ１１）。
【００３２】
信号処理部４０は、ステップＢ３で起呼信号に処理を行うべき呼処理プロセッサの番号が設定済みであると判定した場合、及び、ステップＢ１０で処理を行うべき呼処理プロセッサが自プロセッサであると判断した場合は、プロファイル５０に、該当加入者のプロファイルがあるか否かを判断する（ステップＢ４）。信号処理部４０は、該当加入者のプロファイルがないと判断すると、該当加入者のプロファイルを作成する（ステップＢ５）。
【００３３】
信号処理部４０は、プロファイルの作成では、呼処理信号から該当加入者の認証情報やエリア情報、契約状況に関する情報などの必要な情報を取り出し、これをプロファイルに含める。また、信号処理部４０は、プロファイルの作成後、作成した加入者のプロファイルに関する情報をリソース管理プロセッサ６０に送信し、プロファイル分散情報６１を更新させる。その後、信号処理部４０は、ステップＢ６へ移行し、作成したプロファイルを用いて、起呼信号に対する処理を実行する。信号処理部４０は、ステップＢ４で該当加入者のプロファイルがあると判断した場合は、そのままステップＢ６へ移行し、該当加入者のプロファイルを用いて、起呼信号に対する処理を実行する。
【００３４】
図４に、リソース管理プロセッサ６０の処理手順を示す。負荷情報収集部６３は、各呼処理プロセッサのＣＰＵ使用率を収集する（ステップＣ１）。プロセッサ決定部６２は、呼処理プロセッサから呼処理信号を処理すべき呼処理プロセッサ決定の依頼を受けると（ステップＣ２）、プロファイル分散情報６１を参照し、該当加入者のプロファイルを保有する呼処理プロセッサがあるか否かを判断する（ステップＣ３）。プロセッサ決定部６２は、該当加入者のプロファイルを保有する呼処理プロセッサがあるときは、その呼処理プロセッサを処理を行うべき呼処理プロセッサと決定し、呼処理プロセッサ決定の依頼元へ、決定した呼処理プロセッサのプロセッサ番号を送信する（ステップＣ７）。
【００３５】
プロセッサ決定部６２は、ステップＣ３で該当加入者のプロファイルを保有する呼処理プロセッサがないと判断すると、プロファイル分散情報６１を参照して、各呼処理プロセッサが保有するプロファイル数を調べる（ステップＣ４）。また、プロセッサ決定部６２は、ステップＣ１で収集したＣＰＵ使用率に基づいて、各呼処理プロセッサの重み係数を決定する（ステップＣ５）。プロセッサ決定部６２は、例えばＣＰＵ使用率と重み係数との関係を定めたテーブルを参照して、ＣＰＵ使用率から、重み係数を求める。或いは、プロセッサ決定部６２は、ＣＰＵ使用率を変数とする関数を用いて、ＣＰＵ使用率から重み係数を求めてもよい。重み係数の最大値は、１以上でも、１より小さくてもよい。
【００３６】
プロセッサ決定部６２は、ステップＣ４で調べた各呼処理プロセッサのプロファイル保有数と、ステップＣ５で決定した重み係数との積を求める。プロセッサ決定部６２は、各呼処理プロセッサの保有プロファイル数と重み係数との積を相互に比較し、値が最も小さい呼処理プロセッサを、処理を行うべき呼処理プロセッサとして決定する（ステップＣ６）。その後、プロセッサ決定部６２は、ステップＣ７へ進み、呼処理プロセッサ決定の依頼元へ、ステップＣ６で決定した呼処理プロセッサのプロセッサ番号を送信する。
【００３７】
図５に、呼処理プロセッサ決定の具体例を示す。各呼処理プロセッサのプロファイル保有数は、図５（ａ）に示す通りであるとする。すなわち、呼処理プロセッサ３０は、加入者のプロファイルをｘ個保有し、呼処理プロセッサ３１は、加入者のプロファイルをｙ個保有し、呼処理プロセッサ３２は、加入者のプロファイルをｚ個保有しているとする。各呼処理プロセッサが保有するプロファイル数は、プロファイル分散情報６１を参照することで、調べることができる。
【００３８】
ＣＰＵ使用率と重み係数との関係は、図５（ｂ）に示すテーブルで定義されている。係数の関係は、α＜β＜γ＜・・・である。呼処理プロセッサ３０のＣＰＵ使用率はＬ１（０＜Ｌ１＜ａ）、呼処理プロセッサ３１のＣＰＵ使用率はＬ２（ａ＜Ｌ２＜ｂ）、呼処理プロセッサ３２のＣＰＵ使用率はＬ３（ｂ＜Ｌ３＜ｃ）であったとする。プロセッサ決定部６２は、図５（ｂ）に示すテーブルを参照し、呼処理プロセッサ３０の重み係数をα、呼処理プロセッサ３１の重み係数をβ、呼処理プロセッサ３２の重み係数をγと決定する。
【００３９】
プロセッサ決定部６２は、各呼処理プロセッサのプロファイル保有数と、重み係数との積を求める。図５（ｃ）に、重み付け後の結果を示す。呼処理プロセッサ３０の重み付け後の値はｘ×αとなり、呼処理プロセッサ３１の重み付け後の値はｙ×βとなり、呼処理プロセッサ３２の重み付け後の値はｚ×γとなる。プロセッサ決定部６２は、重み付け後の値を相互に比較し、値が最も小さい呼処理プロセッサを、処理を行うべき呼処理プロセッサとして決定する。
【００４０】
例えば、保有するプロファイル数が同数の呼処理プロセッサが２つあったとする。この場合、重み係数はＣＰＵ使用率が高いほど大きい値になるので、２つの呼処理プロセッサのうち、ＣＰＵ使用率が低い呼処理プロセッサが処理を行うべき呼処理プロセッサとして決定されることになる。また、ＣＰＵ使用率が同じ呼処理プロセッサが２つあったとする。この場合、重み係数は同じ値になるので、保有するプロファイル数が少ない処理プロセッサが処理を行うべき呼処理プロセッサとして決定されることになる。
【００４１】
本実施形態では、負荷情報収集部６３は、各呼処理プロセッサの負荷情報を収集し、プロセッサ決定部６２は、プロファイルの分散情報と負荷情報とから、呼処理信号に対して処理を行うべき処理プロセッサを決定する。本実施形態では、処理を行うべき呼処理プロセッサを決定する際に、各呼処理プロセッサが保有する加入者のプロファイル数だけでなく、各呼処理プロセッサの負荷状態も考慮する。負荷が低く、かつ、保有プロファイル数が少ない呼処理プロセッサが処理を行うべき呼処理プロセッサとして決定されるようにすることで、プロファイル保有数の均一化を図りつつ、負荷の平準化が可能になる。
【００４２】
本実施形態では、回線終端プロセッサ２０は、複数の呼処理プロセッサのうちの何れかに呼処理信号を転送し、呼処理信号の転送を受けた呼処理プロセッサは、プロセッサ決定部６２に、信号処理を行うべき呼処理プロセッサの決定を依頼している。負荷分散のための負荷分散プロセッサを用いる構成では、全ての呼処理信号が１つの負荷分散プロセッサに転送されることになるので、呼処理プロセッサ数を増加させると、負荷分散プロセッサが処理すべき信号量が増加することになる。これにより、負荷分散プロセッサの処理能力不足が発生することになる。このため、呼処理プロセッサの増加に際しては、負荷分散プロセッサの処理能力向上が必要である。これに対し、本実施形態では、呼処理信号は単一のプロセッサに転送されない。このため、処理能力のネックとなる場所が存在せず、負荷分散を行うプロセッサの処理能力を向上しなくても、呼処理プロセッサ数を増加させることができる。その結果、サーバシステム１０の処理能力向上を図ることができる。
【００４３】
本実施形態では、処理を行うべき呼処理プロセッサの決定後に、処理を行うべき呼処理プロセッサのプロセッサ番号を呼処理信号に書き込んでいる。以降の通信では、呼処理信号に、呼処理信号に書き込まれたプロセッサ番号を双方向に設定する。このようにする場合、回線終端プロセッサ２０は、呼処理信号（継続信号）からプロセッサ番号を取り出すことで、呼処理信号を転送すべき呼処理プロセッサを特定することができる。その際、回線終端プロセッサ２０は、該当加入者のプロファイルをどの呼処理プロセッサが保有しているかを調べる必要がない。従って、継続信号に対する処理負担を軽減することができ、サーバシステム１０の処理能力の向上を図ることができる。
【００４４】
図６は、本発明の第２実施形態のサーバシステムを示している。本実施形態のサーバシステム１０ａは、図１に示す第１実施形態のサーバシステムの構成からリソース管理プロセッサ６０を省き、負荷分散プロセッサ８０が追加された構成である。負荷分散プロセッサ８０は、信号処理部８１、プロファイル分散情報８２、プロセッサ決定部８３、及び、負荷情報収集部８４を有する。プロファイル分散情報８２、プロセッサ決定部８３、及び、負荷情報収集部８４は、リソース管理プロセッサ６０（図１）におけるプロファイル分散情報６１、プロセッサ決定部６２、及び、負荷情報収集部６３に相当する。
【００４５】
図７に、回線終端プロセッサ２０の処理手順を示す。本実施形態における回線終端プロセッサ２０の動作は、ステップＡ８の部分が、図２に示す第１実施形態における動作と相違する。プロトコル終端部２１は、回線側からの呼処理信号の受信待ちを行う（ステップＡ１）。プロトコル終端部２１は、回線側から呼処理信号を受信すると、受信した呼処理信号を内部プロトコルへ変換する。また、プロトコル終端部２１は、呼処理信号が起呼信号か否かを判定する（ステップＡ２）。プロトコル終端部２１は、呼処理信号が起呼信号であると判定すると、呼処理信号の転送先プロセッサのプロセッサ番号を、負荷分散プロセッサ８０のプロセッサ番号に設定する（ステップＡ８）。
【００４６】
プロトコル終端部２１は、ステップＡ２で呼処理信号が起呼信号でない、すなわち、呼処理信号が継続信号であると判定したときは、継続信号から、前回処理を行った呼処理プロセッサのプロセッサ番号を取り出す（ステップＡ４）。プロトコル終端部２１は、ステップＡ８で設定したプロセッサ番号の負荷分散プロセッサ８０、又は、ステップＡ４で取り出した番号の呼処理プロセッサに向けて、回線側から受信した呼処理信号を送信する（ステップＡ５）。
【００４７】
プロトコル終端部２１は、ステップＡ１の回線側からの呼処理信号の受信待ちと並行して、呼処理プロセッサ３０〜３２側からの呼処理信号の受信待ちを行う（ステップＡ６）。プロトコル終端部２１は、呼処理プロセッサ３０〜３２から呼処理信号を受信すると、受信した呼処理信号を外部プロトコルに変換し、回線側に呼処理信号を送信する（ステップＡ７）。
【００４８】
図８に、負荷分散プロセッサ８０の処理手順を示す。信号処理部８１は、回線終端プロセッサ２０からの呼処理信号の受信待ちを行う（ステップＤ１）。信号処理部８１は、呼処理信号を受信すると、プロセッサ決定部８３に、処理を行うべき呼処理プロセッサ、つまり、呼処理信号転送先の呼処理プロセッサの決定を依頼する。プロセッサ決定部８３は、処理を行うべき呼処理プロセッサを決定する（ステップＤ２）。
【００４９】
プロセッサ決定部８３は、ステップＤ２では、図４のステップＣ１〜Ｃ６と同様な手順で、処理を行うべき呼処理プロセッサを決定する。すなわち、プロセッサ決定部８３は、該当加入者のプロファイルを保有する呼処理プロセッサがあるときは、その呼処理プロセッサを処理を行うべき呼処理プロセッサと決定する。プロセッサ決定部８３は、該当加入者のプロファイルを保有する呼処理プロセッサがないときは、プロファイル保有数とＣＰＵ使用率に応じた重み係数との積を比較し、値が最も小さい呼処理プロセッサを処理を行うべき呼処理プロセッサと決定する。
【００５０】
信号処理部８１は、プロセッサ決定部８３から、処理を行うべき呼処理プロセッサのプロセッサ番号を取得し、呼処理信号に、そのプロセッサ番号を書き込む（ステップＤ３）。信号処理部８１は、プロセッサ決定部８３が決定した呼処理プロセッサに、呼処理信号を送信する（ステップＤ４）。呼処理信号へのプロセッサ番号の書き込み、及び、呼処理プロセッサへの転送は、プロセッサ決定部８３が行ってもよい。
【００５１】
図９に、呼処理プロセッサの処理手順を示す。なお、以下では、手順を、呼処理プロセッサ３０の動作として説明するが、呼処理プロセッサ３１、３２の動作も、呼処理プロセッサ３０における動作と同様である。
【００５２】
信号処理部４０は、回線側からの呼処理信号、つまり、回線終端プロセッサ２０からの呼処理信号、又は、負荷分散プロセッサ８０からの呼処理信号の受信待ちを行う（ステップＥ１）。信号処理部４０は、呼処理信号を受信すると、受信した呼処理信号が起呼信号か否かを判定する（ステップＥ２）。
【００５３】
以降の動作は、図３のステップＢ４〜Ｂ７と同様である。すなわち、信号処理部４０は、受信した呼処理信号が継続信号のときは、該当加入者のプロファイルを基に信号処理を実施し（ステップＥ５）、回線終端プロセッサ２０に呼処理信号を送信する（ステップＥ６）。信号処理部４０は、受信した呼処理信号が起呼信号であるときは、プロファイル５０に、該当加入者のプロファイルがあるか否かを判断する（ステップＥ３）。その後、プロファイルがなければ、該当加入者のプロファイルを作成した上で（ステップＥ４）、信号処理を実施する。
【００５４】
本実施形態では、負荷分散プロセッサ８０は、プロセッサ番号が未設定の呼処理信号に対して、その呼処理信号を処理すべき呼処理プロセッサを決定し、呼処理信号を、決定した呼処理プロセッサに呼処理信号を送信する。本実施形態においても、処理を行うべきプロセッサの決定に際して、プロファイル分散情報８２と呼処理プロセッサの負荷情報とを用いているので、第１実施形態と同様に、保有プロファイル数の均一化と負荷の平準化とを実現できる。
【００５５】
また、本実施形態では、回線終端プロセッサ２０は、呼処理信号にプロセッサ番号が設定されてないとき、つまりは、呼処理信号が起呼信号であるとき、負荷分散プロセッサ８０に呼処理信号を転送する。回線終端プロセッサ２０は、呼処理信号にプロセッサ番号が設定されているときは、回線終端プロセッサ２０から呼処理プロセッサに呼処理信号を送信する。本実施形態では、継続信号については、負荷分散プロセッサ８０を経由せずに回線終端プロセッサ２０から呼処理プロセッサに送信するため、全ての呼処理信号が負荷分散プロセッサを経由する方式に比して、負荷分散プロセッサ８０の処理負担を軽減することができる。負荷分散プロセッサ８０の処理負担を軽減することで、呼処理プロセッサ数を増加させることができ、システム全体の処理能力を向上することができる。
【００５６】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のサーバシステム、負荷分散方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【００５７】
【図１】本発明の第１実施形態のサーバシステムを示すブロック図。
【図２】回線終端プロセッサの処理手順を示すフローチャート。
【図３】呼処理プロセッサの処理手順を示すフローチャート。
【図４】リソース管理プロセッサの処理手順を示すフローチャート。
【図５】（ａ）は、保有プロファイル数のデータ例、（ｂ）は、重み係数テーブルのデータ例、（ｃ）は、重み付け結果のデータ例を示す図。
【図６】本発明の第２実施形態のサーバシステムを示すブロック図。
【図７】回線終端プロセッサの処理手順を示すフローチャート。
【図８】負荷分散プロセッサの処理手順を示すフローチャート。
【図９】呼処理プロセッサの処理手順を示すフローチャート。
【符号の説明】
【００５８】
１０：サーバシステム
２０：回線終端プロセッサ
２１：プロトコル終端部
３０〜３２：呼処理プロセッサ
４０〜４２、８１：信号処理部
５０〜５２：プロファイル
６０：リソース管理プロセッサ
６１、８２：プロファイル分散情報
６２、８３：プロセッサ決定部
６３、８４：負荷情報収集部
７０：ネットワーク
８０：負荷分散プロセッサ
【図１】
2010140320.tif 000003
【図２】
2010140320.tif 000004
【図３】
2010140320.tif 000005
【図４】
2010140320.tif 000006
【図５】
2010140320.tif 000007
【図６】
2010140320.tif 000008
【図７】
2010140320.tif 000009
【図８】
2010140320.tif 000010
【図９】
2010140320.tif 000011