JP5549074B2 - サーバシステム、負荷分散方法、及び、プログラム - Google Patents

サーバシステム、負荷分散方法、及び、プログラム Download PDF

Info

Publication number
JP5549074B2
JP5549074B2 JP2008316967A JP2008316967A JP5549074B2 JP 5549074 B2 JP5549074 B2 JP 5549074B2 JP 2008316967 A JP2008316967 A JP 2008316967A JP 2008316967 A JP2008316967 A JP 2008316967A JP 5549074 B2 JP5549074 B2 JP 5549074B2
Authority
JP
Japan
Prior art keywords
processor
call
signal
call processing
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008316967A
Other languages
English (en)
Other versions
JP2010140320A (ja
Inventor
博史 瀬野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008316967A priority Critical patent/JP5549074B2/ja
Publication of JP2010140320A publication Critical patent/JP2010140320A/ja
Application granted granted Critical
Publication of JP5549074B2 publication Critical patent/JP5549074B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、サーバシステムに関し、更に詳しくは、回線を終端する回線終端プロセッサと、それぞれが、加入者のプロファイルを保有し、保有するプロファイルを用いて呼処理信号に対する信号処理を行う複数の呼処理プロセッサとを有するサーバシステムに関する。また、本発明は、そのようなサーバシステムにおける負荷分散方法及びプログラムに関する。
一般に、通信システムに用いられるサーバシステムは、加入者のプロファイルを有する呼処理プロセッサを備えている。通常、サーバシステムは、1つのシステム内に、複数の呼処理プロセッサと、呼処理プロセッサの負荷分散を行う負荷分散プロセッサを有している。サーバシステムでは、加入者の通信は、該当加入者のプロファイルが格納されている呼処理プロセッサを用いて行われる。負荷分散プロセッサは、各加入者のプロファイルがどの呼処理プロセッサに格納されているかを管理しており、通信に用いる呼処理プロセッサを選択する機能を提供する。また、負荷分散プロセッサは、呼処理プロセッサの負荷を監視しており、起呼信号に対して、その起呼信号を処理すべき呼処理プロセッサを決定する機能を提供する。
複数のプロセッサを有するサーバシステムにおける負荷分散に関しては、特許文献1及び特許文献2に記載された技術がある。特許文献1では、呼分配装置は、呼を処理する呼処理制御系装置(呼処理プロセッサ)を決定する際に、呼信号が新たに発生した信号であるか、或いは、既に発生済みの信号であるかを判断する。呼分配装置は、呼信号が新たに発生した呼である場合は、呼を処理する呼処理制御系装置を動的に決定する。呼分配装置は、呼処理制御系装置の決定に際しては、各呼処理制御系装置の負荷を比較し、負荷が最も低い呼処理制御系装置を動的に選択する。呼分配装置は、発生済みの呼であるときは、呼発生時に決定した呼処理制御系装置を、静的に特定する。
特許文献2では、各プロセッサの輻輳状態を記憶する輻輳状態管理手段を用いる。プロセッサは、収容回線から発呼があったときは、輻輳状態管理手段を用いて、各プロセッサの輻輳状態を確認する。プロセッサは、自プロセッサが輻輳状態にないときには、自プロセッサの呼設定/解除処理実行手段に、処理の実行を要求する。プロセッサは、自プロセッサが輻輳状態にある時には、輻輳状態にないプロセッサを1つ選択し、選択したプロセッサの呼設定/解除実行手段に、処理の実行を要求する。この要求を受けたプロセッサは、輻輳状態管理手段を用いて、自プロセッサが輻輳状態にないことを確認した上で、自プロセッサ内の呼設定/解除処理実行手段に、処理の実行を要求する。
特開2000−253429号公報 特開平6−77997号公報
特許文献1や特許文献2のように、プロセッサの負荷に基づいて負荷分散先を決定する方式では、各呼処理プロセッサが保有するプロファイルにばらつきが出ることになる。この場合、一斉に呼が発生したときに、プロファイルを多数保有する呼処理プロセッサの負荷が高くなることがあり、負荷の平準化を図ることができなくなるという問題がある。
上記問題に対し、本願発明者は、特願2007−158108にて、呼処理プロセッサが保有する加入者のプロファイルの分散情報に基づいて、負荷分散を行うサーバシステムを提案している。特願2007−158108では、保有するプロファイル数が少ない呼処理プロセッサを負荷分散先とすることで、各呼処理プロセッサが保有するプロファイルの均一化を図ることができる。
しかしながら、プロファイルを均一化した場合、トラヒック条件によっては特定の呼処理プロセッサの呼処理数が増え、その呼処理プロセッサだけ負荷が増大する可能性がある。その場合、サーバの能力的な負荷分散を行うことができないということが問題となる。
本発明は、各呼処理プロセッサが保有するプロファイル数の均一化を図ることができると共に、呼処理プロセッサの負荷の平準化を図ることができるサーバシステム、負荷分散方法、及び、プログラムを提供することを目的とする。
上記目的を達成するために、本発明のサーバシステムは、回線を終端し、前記回線側から受信した呼処理信号が起呼信号であるか否かを判定する回線終端プロセッサと、それぞれが、加入者のプロファイルを保有し、該プロファイルを用いて前記呼処理信号に対する信号処理を行う複数の呼処理プロセッサと、前記複数の呼処理プロセッサのそれぞれから負荷情報を収集する負荷情報収集部と、通信開始に際し、前記複数の呼処理プロセッサにおける前記プロファイルの分散情報と前記負荷情報とを参照し、前記呼処理信号に対して信号処理を行うべき呼処理プロセッサを決定するプロセッサ決定部とを備え、前記回線終端プロセッサは、前記回線側から受信した前記呼処理信号が起呼信号であるか否かを判定した結果に基づいて、前記回線側から受信した前記呼処理信号を前記呼処理プロセッサ又は前記プロセッサ決定部に転送することを決定し、前記回線終端プロセッサは、前記回線側から受信した前記呼処理信号が起呼信号であると判定して、前記回線側から受信した前記呼処理信号を前記呼処理プロセッサに転送することを決定した場合に、ラウンドロビンで、前記複数の呼処理プロセッサのうちの何れかに前記呼処理信号を転送し、該呼処理信号の転送を受けた呼処理プロセッサは、前記プロセッサ決定部に、前記信号処理を行うべき呼処理プロセッサの決定を依頼し、前記プロセッサ決定部は、前記回線終端プロセッサから転送された前記呼処理信号を受信し、前記呼処理信号に対して前記信号処理を行うべき呼処理プロセッサの決定の依頼を受けた場合に、前記プロファイルの分散情報を、前記負荷情報に応じた重み係数で重み付けし、前記呼処理信号に対して前記信号処理を行うべき呼処理プロセッサを決定し、前記呼処理プロセッサは、前記プロセッサ決定部が決定した前記信号処理を行うべき呼処理プロセッサが自プロセッサであるか否かを判断し、自プロセッサでないと判断すると、該当する呼処理プロセッサへ前記呼処理信号を送信することを特徴とする。
本発明の負荷分散方法は、コンピュータを用い、回線を終端する回線終端プロセッサと、それぞれが、加入者のプロファイルを保有し、該プロファイルを用いて呼処理信号に対する信号処理を行う複数の呼処理プロセッサとを有するサーバシステムにて負荷分散を行う負荷分散方法であって、前記回線終端プロセッサが、前記回線側から受信した呼処理信号が起呼信号であるか否かを判定するステップと、前記コンピュータが、前記複数の呼処理プロセッサのそれぞれから負荷情報を収集するステップと、前記コンピュータが、通信開始に際し、前記複数の呼処理プロセッサにおける前記プロファイルの分散情報と前記負荷情報とを参照し、前記呼処理信号に対して信号処理を行うべき呼処理プロセッサを決定するステップと、前記回線終端プロセッサが、前記回線側から受信した前記呼処理信号が起呼信号であるか否かを判定した結果に基づいて、前記回線側から受信した前記呼処理信号を前記呼処理プロセッサ又は前記コンピュータに転送することを決定するステップと、前記回線終端プロセッサが、前記回線側から受信した前記呼処理信号が起呼信号であると判定して、前記回線側から受信した前記呼処理信号を前記呼処理プロセッサに転送することを決定した場合に、ラウンドロビンで、前記複数の呼処理プロセッサのうちの何れかに前記呼処理信号を転送するステップと、前記呼処理プロセッサが、前記コンピュータに、前記信号処理を行うべき呼処理プロセッサの決定を依頼するステップと、前記コンピュータが、前記回線終端プロセッサから転送された前記呼処理信号を受信し、前記呼処理信号に対して前記信号処理を行うべき呼処理プロセッサの決定の依頼を受けた場合に、前記プロファイルの分散情報を、前記負荷情報に応じた重み係数で重み付けし、前記呼処理信号に対して前記信号処理を行うべき呼処理プロセッサを決定するステップと、前記呼処理プロセッサが、前記コンピュータが決定した前記信号処理を行うべき呼処理プロセッサが自プロセッサであるか否かを判断し、自プロセッサでないと判断すると、該当する呼処理プロセッサへ前記呼処理信号を送信するステップとを有することを特徴とする。
本発明のプログラムは、コンピュータに、回線を終端し、前記回線側から受信した呼処理信号が起呼信号であるか否かを判定する回線終端プロセッサと、それぞれが、加入者のプロファイルを保有し、該プロファイルを用いて呼処理信号に対する信号処理を行う複数の呼処理プロセッサとを有するサーバシステムにて負荷分散の処理を実行させるプログラムであって、前記コンピュータに、前記複数の呼処理プロセッサのそれぞれから負荷情報を収集する処理と、通信開始に際し、前記複数の呼処理プロセッサにおける前記プロファイルの分散情報と前記負荷情報とを参照し、前記呼処理信号に対して信号処理を行うべき呼処理プロセッサを決定する処理とを実行させ、前記回線終端プロセッサが、前記回線側から受信した前記呼処理信号を前記呼処理プロセッサ又は前記コンピュータに転送するため前記回線側から受信した前記呼処理信号が起呼信号であるか否かを判定し、前記回線側から受信した前記呼処理信号が起呼信号であると判定して前記回線側から受信した前記呼処理信号を前記呼処理プロセッサに転送することを決定したときに、ラウンドロビンで前記複数の呼処理プロセッサのうちの何れかに前記呼処理信号を転送し、前記呼処理プロセッサが、前記コンピュータに前記信号処理を行うべき呼処理プロセッサの決定を依頼し、前記コンピュータが前記回線終端プロセッサから転送された前記呼処理信号を受信して前記呼処理信号に対して前記信号処理を行うべき呼処理プロセッサの決定の依頼を受けた場合に、前記コンピュータに、前記呼処理プロセッサを決定する処理において、前記プロファイルの分散情報を、前記負荷情報に応じた重み係数で重み付けして前記呼処理信号に対して前記信号処理を行うべき呼処理プロセッサを決定する処理を実行させ、前記呼処理プロセッサが、前記コンピュータが決定した前記信号処理を行うべき呼処理プロセッサが自プロセッサでないと判断すると、該当する呼処理プロセッサへ前記呼処理信号を送信すことを特徴とする。
本発明のサーバシステム、負荷分散方法、及び、プログラムは、呼処理プロセッサが保有するプロファイルの数を均一化できると共に、呼処理プロセッサの負荷の平準化を図ることができる。
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の第1実施形態のサーバシステムを示している。サーバシステム10は、回線終端プロセッサ20、呼処理プロセッサ30〜32、及び、リソース管理プロセッサ60を有する。各プロセッサ(20、30〜32、60)は、ネットワーク70にて接続されている。サーバシステム10は、例えば、3GPP(Third Generation Partnership Project)又は3GPP2(Third Generation Partnership Project 2)におけるRNC(Radio Network Controller)/BSC(Base Station Controller)と、IMS網(IP Multimedia Subsystem)/MMD(MultiMedia Domain)との間でのデータやり取りを行う。
回線終端プロセッサ20は、プロトコル終端部21を有する。プロトコル終端部21は、呼処理信号のプロトコル変換を行う。プロトコル終端部21は、回線側から呼処理信号を受信すると、呼処理信号を外部から内部へプロトコル変換する。また、プロトコル終端部21は、内部プロトコルへ変換した呼処理信号の処理を行う。プロトコル終端部21は、呼処理プロセッサ側から呼処理信号を受信すると、呼処理信号を内部から外部へプロトコル変換する。
呼処理プロセッサ30〜32は、それぞれ信号処理部40〜42と、プロファイル50〜52とを有する。信号処理部40〜42は、内部プロトコルに変換された呼処理信号の処理を行う。プロファイル50〜52は、呼処理を行うための加入者データである。信号処理部40〜42は、プロファイル50〜52を用いて信号処理を行う。
リソース管理プロセッサ60は、プロファイル分散情報61と、プロセッサ決定部62と、負荷情報収集部63とを有する。プロファイル分散情報61は、プロファイルの分散状況の管理を行うための情報である。プロファイル分散情報61を参照することで、どの加入者のプロファイルをどの呼処理プロセッサが保有しているかがわかる。また、各呼処理プロセッサが、どれくらいプロファイルを保有しているかがわかる。
負荷情報収集部63は、呼処理プロセッサ30〜32の負荷情報を監視し、各呼処理プロセッサから負荷情報を収集する。負荷情報には、例えば呼処理プロセッサのCPU使用率を用いる。プロセッサ決定部62は、プロファイル分散情報61を参照し、該当加入者のプロファイルを有する呼処理プロセッサがあるか否かを判断する。プロセッサ決定部62は、該当加入者のプロファイルを保有する呼処理プロセッサがある場合は、その呼処理プロセッサを処理を行うべき呼処理プロセッサとして決定する。プロセッサ決定部62は、該当加入者のプロファイルを有する呼処理プロセッサがない場合は、プロファイル分散情報61と負荷情報収集部63が収集した負荷情報とを参照し、処理すべき呼処理プロセッサを決定する。
プロトコル終端部21で終端される呼処理信号には、起呼信号と継続信号とがある。プロトコル終端部21は、呼処理信号が起呼信号であれば、呼処理プロセッサ30〜32のうちの任意の1つに、起呼信号を送信する。その際、プロトコル終端部21は、例えばラウンドロビンで、呼処理信号を送信する呼処理プロセッサを決定する。プロトコル終端部21は、呼処理信号が継続信号であれば、継続信号から、その継続信号を処理すべき呼処理プロセッサを割り出し、割り出した呼処理プロセッサに継続信号を送信する。
信号処理部40〜42は、プロトコル終端部21から起呼信号を受け取ると、その起呼信号を処理すべき呼処理プロセッサの決定を、リソース管理プロセッサ60に依頼する。信号処理部40〜42は、プロトコル終端部21から継続信号を受信した場合は、該当加入者のプロファイルを参照して、継続信号を処理する。
負荷情報収集部63は、随時、呼処理プロセッサ30〜32のCPU使用率を収集する。プロセッサ決定部62は、呼処理プロセッサ決定の依頼を受けると、プロファイル分散情報61を参照し、該当加入者のプロファイルを有する呼処理プロセッサがあるか否かを判断する。プロセッサ決定部62は、該当加入者のプロファイルを保有する呼処理プロセッサがあるときは、その呼処理プロセッサを、処理を行うべき呼処理プロセッサと決定する。
プロセッサ決定部62は、該当加入者のプロファイルを有する呼処理プロセッサがないときは、プロファイル分散情報61を、負荷情報収集部63が収集した呼処理プロセッサ30〜32のCPU使用率に応じた重み係数で重み付けし、処理を行うべき呼処理プロセッサを決定する。より詳細には、プロセッサ決定部62は、プロファイル分散情報61を参照して、各呼処理プロセッサが保有するプロファイル数を調べる。プロセッサ決定部62は、各呼処理プロセッサが保有するプロファイル数を、各呼処理プロセッサのCPU使用率に応じた重み係数で重み付けする。重み係数は、CPU使用率が高いほど、重みが大きくなるように設定される。プロセッサ決定部62は、重み付け後の値を比較し、処理を行うべき呼処理プロセッサを決定する。
信号処理部40〜42は、プロセッサ決定部62から、処理を行うべき呼処理プロセッサの識別情報(プロセッサ番号)を受け取る。信号処理部40〜42は、受け取ったプロセッサ番号を、起呼信号に書き込む。呼処理信号へ書き込まれたプロセッサ番号は、以降の回線側との継続信号で、双方向に設定される。信号処理部40〜42は、処理を行うべき呼処理プロセッサが自プロセッサであるときは、該当加入者のプロファイルを作成し処理を行う。信号処理部40〜42は、処理を行うべき呼処理プロセッサが自プロセッサではないときは、起呼信号を、処理を行うべき呼処理プロセッサに送信する。プロセッサ番号が設定された起呼信号を受け取った呼処理プロセッサは、該当加入者のプロファイルを作成し処理を行う。
図2に、回線終端プロセッサ20の処理手順を示す。プロトコル終端部21は、回線側からの呼処理信号の受信待ちを行う(ステップA1)。プロトコル終端部21は、回線側から呼処理信号を受信すると、受信した呼処理信号を内部プロトコルへ変換する。また、プロトコル終端部21は、呼処理信号が起呼信号か否かを判定する(ステップA2)。プロトコル終端部21は、呼処理信号が起呼信号であると判定すると、起呼信号を呼処理プロセッサへ分配するためのラウンドロビン用呼処理プロセッサ番号の取り出しを実施する(ステップA3)。
プロトコル終端部21は、ステップA2で呼処理信号が起呼信号でない、すなわち、呼処理信号が継続信号であると判定したときは、継続信号から、前回処理を行った呼処理プロセッサのプロセッサ番号を取り出す(ステップA4)。プロトコル終端部21は、ステップA3で取り出した番号、又は、ステップA4で取り出した番号の呼処理プロセッサに向けて、回線側から受信した呼処理信号を送信する(ステップA5)。
プロトコル終端部21は、ステップA1の回線側からの呼処理信号の受信待ちと並行して、呼処理プロセッサ30〜32側からの呼処理信号の受信待ちを行う(ステップA6)。プロトコル終端部21は、呼処理プロセッサ30〜32から呼処理信号を受信すると、受信した呼処理信号を外部プロトコルに変換し、回線側に呼処理信号を送信する(ステップA7)。
図3に、呼処理プロセッサ30〜32の処理手順を示す。なお、以下では、手順を、呼処理プロセッサ30の動作として説明するが、呼処理プロセッサ31、32の動作も、呼処理プロセッサ30における動作と同様である。
信号処理部40は、回線側からの呼処理信号、つまり、回線終端プロセッサ20からの呼処理信号、又は、他の呼処理プロセッサ31、32からの呼処理信号の受信待ちを行う(ステップB1)。信号処理部40は、呼処理信号を受信すると、受信した呼処理信号が起呼信号か否かを判定する(ステップB2)。信号処理部40は、受信した呼処理信号が継続信号のときは、該当加入者のプロファイルを基に信号処理を実施し(ステップB6)、回線終端プロセッサ20に呼処理信号を送信する(ステップB7)。
信号処理部40は、ステップB2で、受信した呼処理信号が起呼信号であると判定すると、起呼信号に、処理を行うべき呼処理プロセッサのプロセッサ番号が設定済みであるか否かを判定する(ステップB3)。信号処理部40は、ステップB3で設定済みでないと判定すると、リソース管理プロセッサ60へ、処理すべき呼処理プロセッサの決定を依頼する(ステップB8)。
リソース管理プロセッサ60は、該当加入者のプロファイルを有する呼処理プロセッサがある場合は、その呼処理プロセッサのプロセッサ番号を、信号処理部40へ返す。リソース管理プロセッサ60は、該当加入者のプロファイルを有する呼処理プロセッサがないときは、該当加入者のプロファイルを作成すべき呼処理プロセッサを決定し、決定した呼処理プロセッサのプロセッサ番号を信号処理部40に返す。
信号処理部40は、リソース管理プロセッサ60からステップB8の依頼に対する応答としてプロセッサ番号を受け取る。信号処理部40は、受け取ったプロセッサ番号を、起呼信号へ書き込む(ステップB9)。その後、信号処理部40は、処理を行うべき呼処理プロセッサが、自プロセッサであるか否かを判断する(ステップB10)。信号処理部40は、処理を行うべき呼処理プロセッサが自プロセッサでないときは、処理を行うべき呼処理プロセッサに、起呼信号を送信する(ステップB11)。
信号処理部40は、ステップB3で起呼信号に処理を行うべき呼処理プロセッサの番号が設定済みであると判定した場合、及び、ステップB10で処理を行うべき呼処理プロセッサが自プロセッサであると判断した場合は、プロファイル50に、該当加入者のプロファイルがあるか否かを判断する(ステップB4)。信号処理部40は、該当加入者のプロファイルがないと判断すると、該当加入者のプロファイルを作成する(ステップB5)。
信号処理部40は、プロファイルの作成では、呼処理信号から該当加入者の認証情報やエリア情報、契約状況に関する情報などの必要な情報を取り出し、これをプロファイルに含める。また、信号処理部40は、プロファイルの作成後、作成した加入者のプロファイルに関する情報をリソース管理プロセッサ60に送信し、プロファイル分散情報61を更新させる。その後、信号処理部40は、ステップB6へ移行し、作成したプロファイルを用いて、起呼信号に対する処理を実行する。信号処理部40は、ステップB4で該当加入者のプロファイルがあると判断した場合は、そのままステップB6へ移行し、該当加入者のプロファイルを用いて、起呼信号に対する処理を実行する。
図4に、リソース管理プロセッサ60の処理手順を示す。負荷情報収集部63は、各呼処理プロセッサのCPU使用率を収集する(ステップC1)。プロセッサ決定部62は、呼処理プロセッサから呼処理信号を処理すべき呼処理プロセッサ決定の依頼を受けると(ステップC2)、プロファイル分散情報61を参照し、該当加入者のプロファイルを保有する呼処理プロセッサがあるか否かを判断する(ステップC3)。プロセッサ決定部62は、該当加入者のプロファイルを保有する呼処理プロセッサがあるときは、その呼処理プロセッサを処理を行うべき呼処理プロセッサと決定し、呼処理プロセッサ決定の依頼元へ、決定した呼処理プロセッサのプロセッサ番号を送信する(ステップC7)。
プロセッサ決定部62は、ステップC3で該当加入者のプロファイルを保有する呼処理プロセッサがないと判断すると、プロファイル分散情報61を参照して、各呼処理プロセッサが保有するプロファイル数を調べる(ステップC4)。また、プロセッサ決定部62は、ステップC1で収集したCPU使用率に基づいて、各呼処理プロセッサの重み係数を決定する(ステップC5)。プロセッサ決定部62は、例えばCPU使用率と重み係数との関係を定めたテーブルを参照して、CPU使用率から、重み係数を求める。或いは、プロセッサ決定部62は、CPU使用率を変数とする関数を用いて、CPU使用率から重み係数を求めてもよい。重み係数の最大値は、1以上でも、1より小さくてもよい。
プロセッサ決定部62は、ステップC4で調べた各呼処理プロセッサのプロファイル保有数と、ステップC5で決定した重み係数との積を求める。プロセッサ決定部62は、各呼処理プロセッサの保有プロファイル数と重み係数との積を相互に比較し、値が最も小さい呼処理プロセッサを、処理を行うべき呼処理プロセッサとして決定する(ステップC6)。その後、プロセッサ決定部62は、ステップC7へ進み、呼処理プロセッサ決定の依頼元へ、ステップC6で決定した呼処理プロセッサのプロセッサ番号を送信する。
図5に、呼処理プロセッサ決定の具体例を示す。各呼処理プロセッサのプロファイル保有数は、図5(a)に示す通りであるとする。すなわち、呼処理プロセッサ30は、加入者のプロファイルをx個保有し、呼処理プロセッサ31は、加入者のプロファイルをy個保有し、呼処理プロセッサ32は、加入者のプロファイルをz個保有しているとする。各呼処理プロセッサが保有するプロファイル数は、プロファイル分散情報61を参照することで、調べることができる。
CPU使用率と重み係数との関係は、図5(b)に示すテーブルで定義されている。係数の関係は、α<β<γ<・・・である。呼処理プロセッサ30のCPU使用率はL1(0<L1<a)、呼処理プロセッサ31のCPU使用率はL2(a<L2<b)、呼処理プロセッサ32のCPU使用率はL3(b<L3<c)であったとする。プロセッサ決定部62は、図5(b)に示すテーブルを参照し、呼処理プロセッサ30の重み係数をα、呼処理プロセッサ31の重み係数をβ、呼処理プロセッサ32の重み係数をγと決定する。
プロセッサ決定部62は、各呼処理プロセッサのプロファイル保有数と、重み係数との積を求める。図5(c)に、重み付け後の結果を示す。呼処理プロセッサ30の重み付け後の値はx×αとなり、呼処理プロセッサ31の重み付け後の値はy×βとなり、呼処理プロセッサ32の重み付け後の値はz×γとなる。プロセッサ決定部62は、重み付け後の値を相互に比較し、値が最も小さい呼処理プロセッサを、処理を行うべき呼処理プロセッサとして決定する。
例えば、保有するプロファイル数が同数の呼処理プロセッサが2つあったとする。この場合、重み係数はCPU使用率が高いほど大きい値になるので、2つの呼処理プロセッサのうち、CPU使用率が低い呼処理プロセッサが処理を行うべき呼処理プロセッサとして決定されることになる。また、CPU使用率が同じ呼処理プロセッサが2つあったとする。この場合、重み係数は同じ値になるので、保有するプロファイル数が少ない処理プロセッサが処理を行うべき呼処理プロセッサとして決定されることになる。
本実施形態では、負荷情報収集部63は、各呼処理プロセッサの負荷情報を収集し、プロセッサ決定部62は、プロファイルの分散情報と負荷情報とから、呼処理信号に対して処理を行うべき処理プロセッサを決定する。本実施形態では、処理を行うべき呼処理プロセッサを決定する際に、各呼処理プロセッサが保有する加入者のプロファイル数だけでなく、各呼処理プロセッサの負荷状態も考慮する。負荷が低く、かつ、保有プロファイル数が少ない呼処理プロセッサが処理を行うべき呼処理プロセッサとして決定されるようにすることで、プロファイル保有数の均一化を図りつつ、負荷の平準化が可能になる。
本実施形態では、回線終端プロセッサ20は、複数の呼処理プロセッサのうちの何れかに呼処理信号を転送し、呼処理信号の転送を受けた呼処理プロセッサは、プロセッサ決定部62に、信号処理を行うべき呼処理プロセッサの決定を依頼している。負荷分散のための負荷分散プロセッサを用いる構成では、全ての呼処理信号が1つの負荷分散プロセッサに転送されることになるので、呼処理プロセッサ数を増加させると、負荷分散プロセッサが処理すべき信号量が増加することになる。これにより、負荷分散プロセッサの処理能力不足が発生することになる。このため、呼処理プロセッサの増加に際しては、負荷分散プロセッサの処理能力向上が必要である。これに対し、本実施形態では、呼処理信号は単一のプロセッサに転送されない。このため、処理能力のネックとなる場所が存在せず、負荷分散を行うプロセッサの処理能力を向上しなくても、呼処理プロセッサ数を増加させることができる。その結果、サーバシステム10の処理能力向上を図ることができる。
本実施形態では、処理を行うべき呼処理プロセッサの決定後に、処理を行うべき呼処理プロセッサのプロセッサ番号を呼処理信号に書き込んでいる。以降の通信では、呼処理信号に、呼処理信号に書き込まれたプロセッサ番号を双方向に設定する。このようにする場合、回線終端プロセッサ20は、呼処理信号(継続信号)からプロセッサ番号を取り出すことで、呼処理信号を転送すべき呼処理プロセッサを特定することができる。その際、回線終端プロセッサ20は、該当加入者のプロファイルをどの呼処理プロセッサが保有しているかを調べる必要がない。従って、継続信号に対する処理負担を軽減することができ、サーバシステム10の処理能力の向上を図ることができる。
図6は、本発明の第2実施形態のサーバシステムを示している。本実施形態のサーバシステム10aは、図1に示す第1実施形態のサーバシステムの構成からリソース管理プロセッサ60を省き、負荷分散プロセッサ80が追加された構成である。負荷分散プロセッサ80は、信号処理部81、プロファイル分散情報82、プロセッサ決定部83、及び、負荷情報収集部84を有する。プロファイル分散情報82、プロセッサ決定部83、及び、負荷情報収集部84は、リソース管理プロセッサ60(図1)におけるプロファイル分散情報61、プロセッサ決定部62、及び、負荷情報収集部63に相当する。
図7に、回線終端プロセッサ20の処理手順を示す。本実施形態における回線終端プロセッサ20の動作は、ステップA8の部分が、図2に示す第1実施形態における動作と相違する。プロトコル終端部21は、回線側からの呼処理信号の受信待ちを行う(ステップA1)。プロトコル終端部21は、回線側から呼処理信号を受信すると、受信した呼処理信号を内部プロトコルへ変換する。また、プロトコル終端部21は、呼処理信号が起呼信号か否かを判定する(ステップA2)。プロトコル終端部21は、呼処理信号が起呼信号であると判定すると、呼処理信号の転送先プロセッサのプロセッサ番号を、負荷分散プロセッサ80のプロセッサ番号に設定する(ステップA8)。
プロトコル終端部21は、ステップA2で呼処理信号が起呼信号でない、すなわち、呼処理信号が継続信号であると判定したときは、継続信号から、前回処理を行った呼処理プロセッサのプロセッサ番号を取り出す(ステップA4)。プロトコル終端部21は、ステップA8で設定したプロセッサ番号の負荷分散プロセッサ80、又は、ステップA4で取り出した番号の呼処理プロセッサに向けて、回線側から受信した呼処理信号を送信する(ステップA5)。
プロトコル終端部21は、ステップA1の回線側からの呼処理信号の受信待ちと並行して、呼処理プロセッサ30〜32側からの呼処理信号の受信待ちを行う(ステップA6)。プロトコル終端部21は、呼処理プロセッサ30〜32から呼処理信号を受信すると、受信した呼処理信号を外部プロトコルに変換し、回線側に呼処理信号を送信する(ステップA7)。
図8に、負荷分散プロセッサ80の処理手順を示す。信号処理部81は、回線終端プロセッサ20からの呼処理信号の受信待ちを行う(ステップD1)。信号処理部81は、呼処理信号を受信すると、プロセッサ決定部83に、処理を行うべき呼処理プロセッサ、つまり、呼処理信号転送先の呼処理プロセッサの決定を依頼する。プロセッサ決定部83は、処理を行うべき呼処理プロセッサを決定する(ステップD2)。
プロセッサ決定部83は、ステップD2では、図4のステップC1〜C6と同様な手順で、処理を行うべき呼処理プロセッサを決定する。すなわち、プロセッサ決定部83は、該当加入者のプロファイルを保有する呼処理プロセッサがあるときは、その呼処理プロセッサを処理を行うべき呼処理プロセッサと決定する。プロセッサ決定部83は、該当加入者のプロファイルを保有する呼処理プロセッサがないときは、プロファイル保有数とCPU使用率に応じた重み係数との積を比較し、値が最も小さい呼処理プロセッサを処理を行うべき呼処理プロセッサと決定する。
信号処理部81は、プロセッサ決定部83から、処理を行うべき呼処理プロセッサのプロセッサ番号を取得し、呼処理信号に、そのプロセッサ番号を書き込む(ステップD3)。信号処理部81は、プロセッサ決定部83が決定した呼処理プロセッサに、呼処理信号を送信する(ステップD4)。呼処理信号へのプロセッサ番号の書き込み、及び、呼処理プロセッサへの転送は、プロセッサ決定部83が行ってもよい。
図9に、呼処理プロセッサの処理手順を示す。なお、以下では、手順を、呼処理プロセッサ30の動作として説明するが、呼処理プロセッサ31、32の動作も、呼処理プロセッサ30における動作と同様である。
信号処理部40は、回線側からの呼処理信号、つまり、回線終端プロセッサ20からの呼処理信号、又は、負荷分散プロセッサ80からの呼処理信号の受信待ちを行う(ステップE1)。信号処理部40は、呼処理信号を受信すると、受信した呼処理信号が起呼信号か否かを判定する(ステップE2)。
以降の動作は、図3のステップB4〜B7と同様である。すなわち、信号処理部40は、受信した呼処理信号が継続信号のときは、該当加入者のプロファイルを基に信号処理を実施し(ステップE5)、回線終端プロセッサ20に呼処理信号を送信する(ステップE6)。信号処理部40は、受信した呼処理信号が起呼信号であるときは、プロファイル50に、該当加入者のプロファイルがあるか否かを判断する(ステップE3)。その後、プロファイルがなければ、該当加入者のプロファイルを作成した上で(ステップE4)、信号処理を実施する。
本実施形態では、負荷分散プロセッサ80は、プロセッサ番号が未設定の呼処理信号に対して、その呼処理信号を処理すべき呼処理プロセッサを決定し、呼処理信号を、決定した呼処理プロセッサに呼処理信号を送信する。本実施形態においても、処理を行うべきプロセッサの決定に際して、プロファイル分散情報82と呼処理プロセッサの負荷情報とを用いているので、第1実施形態と同様に、保有プロファイル数の均一化と負荷の平準化とを実現できる。
また、本実施形態では、回線終端プロセッサ20は、呼処理信号にプロセッサ番号が設定されてないとき、つまりは、呼処理信号が起呼信号であるとき、負荷分散プロセッサ80に呼処理信号を転送する。回線終端プロセッサ20は、呼処理信号にプロセッサ番号が設定されているときは、回線終端プロセッサ20から呼処理プロセッサに呼処理信号を送信する。本実施形態では、継続信号については、負荷分散プロセッサ80を経由せずに回線終端プロセッサ20から呼処理プロセッサに送信するため、全ての呼処理信号が負荷分散プロセッサを経由する方式に比して、負荷分散プロセッサ80の処理負担を軽減することができる。負荷分散プロセッサ80の処理負担を軽減することで、呼処理プロセッサ数を増加させることができ、システム全体の処理能力を向上することができる。
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のサーバシステム、負荷分散方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
本発明の第1実施形態のサーバシステムを示すブロック図。 回線終端プロセッサの処理手順を示すフローチャート。 呼処理プロセッサの処理手順を示すフローチャート。 リソース管理プロセッサの処理手順を示すフローチャート。 (a)は、保有プロファイル数のデータ例、(b)は、重み係数テーブルのデータ例、(c)は、重み付け結果のデータ例を示す図。 本発明の第2実施形態のサーバシステムを示すブロック図。 回線終端プロセッサの処理手順を示すフローチャート。 負荷分散プロセッサの処理手順を示すフローチャート。 呼処理プロセッサの処理手順を示すフローチャート。
符号の説明
10:サーバシステム
20:回線終端プロセッサ
21:プロトコル終端部
30〜32:呼処理プロセッサ
40〜42、81:信号処理部
50〜52:プロファイル
60:リソース管理プロセッサ
61、82:プロファイル分散情報
62、83:プロセッサ決定部
63、84:負荷情報収集部
70:ネットワーク
80:負荷分散プロセッサ

Claims (5)

  1. 回線を終端し、前記回線側から受信した呼処理信号が起呼信号であるか否かを判定する回線終端プロセッサと、
    それぞれが、加入者のプロファイルを保有し、該プロファイルを用いて前記呼処理信号に対する信号処理を行う複数の呼処理プロセッサと、
    前記複数の呼処理プロセッサのそれぞれから負荷情報を収集する負荷情報収集部と、
    通信開始に際し、前記複数の呼処理プロセッサにおける前記プロファイルの分散情報と前記負荷情報とを参照し、前記呼処理信号に対して信号処理を行うべき呼処理プロセッサを決定するプロセッサ決定部とを備え、
    前記回線終端プロセッサは、前記回線側から受信した前記呼処理信号が起呼信号であるか否かを判定した結果に基づいて、前記回線側から受信した前記呼処理信号を前記呼処理プロセッサ又は前記プロセッサ決定部に転送することを決定し、
    前記回線終端プロセッサは、前記回線側から受信した前記呼処理信号が起呼信号であると判定して、前記回線側から受信した前記呼処理信号を前記呼処理プロセッサに転送することを決定した場合に、ラウンドロビンで、前記複数の呼処理プロセッサのうちの何れかに前記呼処理信号を転送し、該呼処理信号の転送を受けた呼処理プロセッサは、前記プロセッサ決定部に、前記信号処理を行うべき呼処理プロセッサの決定を依頼し、
    前記プロセッサ決定部は、前記回線終端プロセッサから転送された前記呼処理信号を受信し、前記呼処理信号に対して前記信号処理を行うべき呼処理プロセッサの決定の依頼を受けた場合に、前記プロファイルの分散情報を、前記負荷情報に応じた重み係数で重み付けし、前記呼処理信号に対して前記信号処理を行うべき呼処理プロセッサを決定し、
    前記呼処理プロセッサは、前記プロセッサ決定部が決定した前記信号処理を行うべき呼処理プロセッサが自プロセッサであるか否かを判断し、自プロセッサでないと判断すると、該当する呼処理プロセッサへ前記呼処理信号を送信するサーバシステム。
  2. 前記回線終端プロセッサは、前記回線側から受信した前記呼処理信号が起呼信号でないと判定した場合に、前記呼処理信号から取り出したプロセッサ番号の呼処理プロセッサに向けて前記呼処理信号を転送する、請求項に記載のサーバーシステム。
  3. コンピュータを用い、回線を終端する回線終端プロセッサと、それぞれが、加入者のプロファイルを保有し、該プロファイルを用いて呼処理信号に対する信号処理を行う複数の呼処理プロセッサとを有するサーバシステムにて負荷分散を行う負荷分散方法であって、
    前記回線終端プロセッサが、前記回線側から受信した呼処理信号が起呼信号であるか否かを判定するステップと、
    前記コンピュータが、前記複数の呼処理プロセッサのそれぞれから負荷情報を収集するステップと、
    前記コンピュータが、通信開始に際し、前記複数の呼処理プロセッサにおける前記プロファイルの分散情報と前記負荷情報とを参照し、前記呼処理信号に対して信号処理を行うべき呼処理プロセッサを決定するステップと、
    前記回線終端プロセッサが、前記回線側から受信した前記呼処理信号が起呼信号であるか否かを判定した結果に基づいて、前記回線側から受信した前記呼処理信号を前記呼処理プロセッサ又は前記コンピュータに転送することを決定するステップと、
    前記回線終端プロセッサが、前記回線側から受信した前記呼処理信号が起呼信号であると判定して、前記回線側から受信した前記呼処理信号を前記呼処理プロセッサに転送することを決定した場合に、ラウンドロビンで、前記複数の呼処理プロセッサのうちの何れかに前記呼処理信号を転送するステップと、
    前記呼処理プロセッサが、前記コンピュータに、前記信号処理を行うべき呼処理プロセッサの決定を依頼するステップと、
    前記コンピュータが、前記回線終端プロセッサから転送された前記呼処理信号を受信し、前記呼処理信号に対して前記信号処理を行うべき呼処理プロセッサの決定の依頼を受けた場合に、前記プロファイルの分散情報を、前記負荷情報に応じた重み係数で重み付けし、前記呼処理信号に対して前記信号処理を行うべき呼処理プロセッサを決定するステップと
    前記呼処理プロセッサが、前記コンピュータが決定した前記信号処理を行うべき呼処理プロセッサが自プロセッサであるか否かを判断し、自プロセッサでないと判断すると、該当する呼処理プロセッサへ前記呼処理信号を送信するステップとを有する負荷分散方法。
  4. 前記回線終端プロセッサが、前記回線側から受信した前記呼処理信号が起呼信号でないと判定した場合に、前記呼処理信号から取り出したプロセッサ番号の呼処理プロセッサに向けて前記呼処理信号を転送するステップを更に有する、請求項に記載の負荷分散方法。
  5. コンピュータに、回線を終端し、前記回線側から受信した呼処理信号が起呼信号であるか否かを判定する回線終端プロセッサと、それぞれが、加入者のプロファイルを保有し、該プロファイルを用いて呼処理信号に対する信号処理を行う複数の呼処理プロセッサとを有するサーバシステムにて負荷分散の処理を実行させるプログラムであって、前記コンピュータに、
    前記複数の呼処理プロセッサのそれぞれから負荷情報を収集する処理と、
    通信開始に際し、前記複数の呼処理プロセッサにおける前記プロファイルの分散情報と前記負荷情報とを参照し、前記呼処理信号に対して信号処理を行うべき呼処理プロセッサを決定する処理とを実行させ、
    前記回線終端プロセッサが、前記回線側から受信した前記呼処理信号を前記呼処理プロセッサ又は前記コンピュータに転送するため前記回線側から受信した前記呼処理信号が起呼信号であるか否かを判定し、前記回線側から受信した前記呼処理信号が起呼信号であると判定して前記回線側から受信した前記呼処理信号を前記呼処理プロセッサに転送することを決定したときに、ラウンドロビンで前記複数の呼処理プロセッサのうちの何れかに前記呼処理信号を転送し、前記呼処理プロセッサが、前記コンピュータに前記信号処理を行うべき呼処理プロセッサの決定を依頼し、前記コンピュータが、前記回線終端プロセッサから転送された前記呼処理信号を受信して前記呼処理信号に対して前記信号処理を行うべき呼処理プロセッサの決定の依頼を受けた場合に、前記コンピュータに、前記呼処理プロセッサを決定する処理において、前記プロファイルの分散情報を、前記負荷情報に応じた重み係数で重み付けして前記呼処理信号に対して前記信号処理を行うべき呼処理プロセッサを決定する処理を実行させ
    前記呼処理プロセッサが、前記コンピュータが決定した前記信号処理を行うべき呼処理プロセッサが自プロセッサでないと判断すると、該当する呼処理プロセッサへ前記呼処理信号を送信するプログラム。
JP2008316967A 2008-12-12 2008-12-12 サーバシステム、負荷分散方法、及び、プログラム Expired - Fee Related JP5549074B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008316967A JP5549074B2 (ja) 2008-12-12 2008-12-12 サーバシステム、負荷分散方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008316967A JP5549074B2 (ja) 2008-12-12 2008-12-12 サーバシステム、負荷分散方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2010140320A JP2010140320A (ja) 2010-06-24
JP5549074B2 true JP5549074B2 (ja) 2014-07-16

Family

ID=42350405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008316967A Expired - Fee Related JP5549074B2 (ja) 2008-12-12 2008-12-12 サーバシステム、負荷分散方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP5549074B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10243095A (ja) * 1997-02-28 1998-09-11 Nec Corp マルチプロセッサ制御交換機のトラヒック負荷分散制御 方式
JP2007179243A (ja) * 2005-12-27 2007-07-12 Hitachi Ltd 通信システム及び通信装置
JP2006270381A (ja) * 2005-03-23 2006-10-05 Nec Corp 無線ネットワーク制御装置および負荷分散方法
JP2008311971A (ja) * 2007-06-15 2008-12-25 Nec Corp サーバシステム、負荷分散方法、及び、プログラム

Also Published As

Publication number Publication date
JP2010140320A (ja) 2010-06-24

Similar Documents

Publication Publication Date Title
EP3528440B1 (en) Path selection method and system, network acceleration node, and network acceleration system
CN109218355A (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
EP3547625B1 (en) Method and system for sending request for acquiring data resource
CN1954576B (zh) 处理启动请求的方法、装置和系统
CN110602156A (zh) 一种负载均衡调度方法及装置
JP5453928B2 (ja) ルーティング装置、通信制御方法および通信システム
JP4398354B2 (ja) 中継システム
US20020143965A1 (en) Server application initiated affinity within networks performing workload balancing
CN109933431B (zh) 一种智能的客户端负载均衡方法及系统
JP6062034B2 (ja) 処理制御システム、処理制御方法、および処理制御プログラム
US20160196073A1 (en) Memory Module Access Method and Apparatus
JP2009175889A (ja) 帯域制御機能を有する負荷分散装置およびその設定方法
CN107666474B (zh) 一种网络报文处理方法、装置及网络服务器
WO2024104284A1 (zh) 一种基于nwdaf对计算资源的管理和决策的方法
EP3203686A1 (en) Virtualized network function interworking
US20110235522A1 (en) Relay node
JP6131203B2 (ja) 装置選択ネットワークシステム、装置選択サーバおよびプログラム
CN113840330A (zh) 建立连接的方法、网关设备、网络系统及调度中心
CN115226073A (zh) 报文转发方法、装置及系统、计算机可读存储介质
JP5549074B2 (ja) サーバシステム、負荷分散方法、及び、プログラム
JP2012175351A (ja) サービス振分方法、サービス振分装置、およびプログラム
Shuai et al. A cost-based distributed algorithm for load balancing in content delivery network
CN114024968B (zh) 一种基于中间设备的报文发送方法、装置和电子设备
JP4741410B2 (ja) 移動体通信システム、交換機、基地局装置、及び下り通信データ送信方法
TW201904349A (zh) 行動邊緣計算的控制方法、網路系統及控制平台

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130401

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140210

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140505

R150 Certificate of patent or registration of utility model

Ref document number: 5549074

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees