JP2010003273A - Sip message distribution method and sip message distribution device - Google Patents
Sip message distribution method and sip message distribution device Download PDFInfo
- Publication number
- JP2010003273A JP2010003273A JP2008163827A JP2008163827A JP2010003273A JP 2010003273 A JP2010003273 A JP 2010003273A JP 2008163827 A JP2008163827 A JP 2008163827A JP 2008163827 A JP2008163827 A JP 2008163827A JP 2010003273 A JP2010003273 A JP 2010003273A
- Authority
- JP
- Japan
- Prior art keywords
- sip message
- hash
- sip
- distribution
- destination
- 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.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
この発明は、SIPメッセージの振り分け先を決定し、当該振り分け先にSIPメッセージを転送するSIPメッセージ振分方法およびSIPメッセージ振分装置に関する。 The present invention relates to a SIP message distribution method and a SIP message distribution device for determining a distribution destination of a SIP message and transferring the SIP message to the distribution destination.
近年、IP電話の呼制御を実現するプロトコルであるSIP(Session Initiation Protocol)が普及している。このようなIP電話の普及にともないサーバ側にSIPメッセージ処理の負荷分散も必要になってきた。ただし、SIP仕様では、「パーシステンス」と呼ばれる要求条件がある。 In recent years, SIP (Session Initiation Protocol), which is a protocol for realizing IP telephone call control, has become widespread. With the spread of such IP telephones, it is necessary to distribute the load of SIP message processing on the server side. However, in the SIP specification, there is a requirement condition called “persistence”.
つまり、同一のSIPセッションのメッセージは必ず同一の割当先で処理しなければならないことであり、これを実現するための仕組みが求められる。そこで、同じセッションに属するパケットを常に同じ割当先で処理させながら、処理の負荷分散を行う従来の方式として、IPパケットのレイヤ3またはレイヤ4のヘッダ情報(送信元IPアドレス、宛先IPアドレス、送信元ポート、宛先ポートなど)に基づいて、割当先を決める技術が知られている(例えば、非特許文献1参照)。 That is, messages of the same SIP session must be processed by the same allocation destination, and a mechanism for realizing this is required. Therefore, as a conventional method of distributing the processing load while always processing packets belonging to the same session at the same allocation destination, header information (source IP address, destination IP address, transmission of IP packet) A technique for determining an assignment destination based on a source port, a destination port, and the like is known (for example, see Non-Patent Document 1).
ところで、従来の技術では、IPパケットのレイヤ2からレイヤ4までの情報からロードバランシングのポリシーを策定し、同じセッションに属するパケットを常に同じ装置あるいはプロセッサで処理させる。これは、従来のクライアント・サーバモデルと呼ばれる構成を前提とし、同じセッションに属するクライアントは一つしかないと想定されるため有効である。
By the way, in the conventional technique, a load balancing policy is formulated from information from
しかしながら、SIPの場合には、同一のセッションに属するクライアントは通常送信側と受信側の2台があるため、レイヤ3とレイヤ4だけの情報では、この2台のクライアントがセッション中に必ず同一サーバプロセスに割当てる保証ができない。その結果、SIPプロトコルの要求条件であるパーシステンスを実現するには不十分という問題点がある。
However, in the case of SIP, there are usually two clients belonging to the same session, that is, the transmission side and the reception side. Therefore, in the information of only the
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、SIPプロトコルのパーシステンスを維持しながらSIPメッセージ処理の負荷分散を実現することを目的とする。 Therefore, the present invention has been made to solve the above-described problems of the prior art, and an object thereof is to realize load distribution of SIP message processing while maintaining the persistence of the SIP protocol.
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、SIPメッセージの振り分け先を決定し、当該振り分け先にSIPメッセージを転送するSIPメッセージ振分方法であって、SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出するセッション情報抽出工程と、前記セッション情報抽出工程によって抽出された前記セッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出するハッシュ演算工程と、前記ハッシュ演算工程によって算出された前記ハッシュ値に応じて、SIPメッセージの振り分け先を決定する振り分け先決定工程と、を含んだことを特徴とする。
In order to solve the above-described problems and achieve the object, the invention according to
また、請求項2に係る発明は、上記の発明において、前記セッション情報抽出工程は、前記セッション情報として、SIPメッセージの送信元を示す送信元情報、SIPメッセージの送信先を示す送信先情報、呼を一意に識別する呼識別子のいずれか一つまたは複数を前記SIPメッセージから抽出することを特徴とする。
In the invention according to
また、請求項3に係る発明は、上記の発明において、前記ハッシュ演算工程は、複数のハッシュ関数を用いてハッシュ演算を行い、それぞれのハッシュ値を算出し、前記ハッシュ演算工程によって算出された各ハッシュ値のヒット数をカウントして、複数のハッシュ関数をそれぞれ評価するハッシュ関数評価工程と、前記ハッシュ関数評価工程によって評価された複数のハッシュ関数のうち、最もバランスの良いハッシュ関数を採用するハッシュ関数採用工程と、をさらに含んだことを特徴とする。
In the invention according to
また、請求項4に係る発明は、上記の発明において、前記振り分け先決定工程は、前記SIPメッセージの振り分け先として、複数のSIPサーバのうち、いずれか一つのSIPサーバを決定することを特徴とする。 The invention according to claim 4 is characterized in that, in the above-mentioned invention, the distribution destination determination step determines any one SIP server among a plurality of SIP servers as a distribution destination of the SIP message. To do.
また、請求項5に係る発明は、上記の発明において、前記振り分け先決定工程は、前記SIPメッセージの振り分け先として、複数の呼処理プロセスのうち、いずれか一つの呼処理プロセスを決定することを特徴とする。 The invention according to claim 5 is the above invention, wherein the distribution destination determination step determines one of the plurality of call processing processes as a distribution destination of the SIP message. Features.
また、請求項6に係る発明は、SIPメッセージの振り分け先を決定し、当該振り分け先にSIPメッセージを転送するSIPメッセージ振分装置であって、SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出するセッション情報抽出手段と、前記セッション情報抽出手段によって抽出された前記セッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出するハッシュ演算手段と、前記ハッシュ演算手段によって算出された前記ハッシュ値に応じて、SIPメッセージの振り分け先を決定する振り分け先決定手段と、を備えたことを特徴とする。 The invention according to claim 6 is a SIP message distribution device that determines a SIP message distribution destination and forwards the SIP message to the distribution destination, and is information relating to a session to which the SIP message belongs from the SIP message. Session information extraction means for extracting session information, hash calculation means for calculating a hash value by performing a hash operation using the session information extracted by the session information extraction means, and calculated by the hash calculation means Distribution destination determining means for determining a distribution destination of the SIP message according to the hash value.
また、請求項7に係る発明は、上記の発明において、前記セッション情報抽出手段は、前記セッション情報として、SIPメッセージの送信元を示す送信元情報、SIPメッセージの送信先を示す送信先情報、呼を一意に識別する呼識別子のいずれか一つまたは複数を前記SIPメッセージから抽出することを特徴とする。 In the invention according to claim 7, in the above invention, the session information extracting means includes, as the session information, transmission source information indicating a transmission source of a SIP message, transmission destination information indicating a transmission destination of a SIP message, call Any one or more of call identifiers that uniquely identify a call is extracted from the SIP message.
また、請求項8に係る発明は、上記の発明において、前記ハッシュ演算手段は、複数のハッシュ関数を用いてハッシュ演算を行い、それぞれのハッシュ値を算出し、前記ハッシュ演算手段によって算出された各ハッシュ値のヒット数をカウントして、複数のハッシュ関数をそれぞれ評価するハッシュ関数評価手段と、前記ハッシュ関数評価手段によって評価された複数のハッシュ関数のうち、最もバランスの良いハッシュ関数を採用するハッシュ関数採用手段と、をさらに備えたことを特徴とする。 The invention according to claim 8 is the above invention, wherein the hash calculation means performs a hash calculation using a plurality of hash functions, calculates respective hash values, and calculates each hash value calculated by the hash calculation means. A hash function evaluation unit that counts the number of hits of a hash value and evaluates each of a plurality of hash functions, and a hash that employs a hash function having the best balance among the plurality of hash functions evaluated by the hash function evaluation unit And a function adoption means.
また、請求項9に係る発明は、上記の発明において、前記振り分け先決定手段は、前記SIPメッセージの振り分け先として、複数のSIPサーバのうち、いずれか一つのSIPサーバを決定することを特徴とする。 The invention according to claim 9 is characterized in that, in the above-mentioned invention, the distribution destination determining means determines any one of a plurality of SIP servers as a distribution destination of the SIP message. To do.
また、請求項10に係る発明は、上記の発明において、前記振り分け先決定手段は、前記SIPメッセージの振り分け先として、複数の呼処理プロセスのうち、いずれか一つの呼処理プロセスを決定することを特徴とする。
The invention according to
請求項1または6の発明によれば、SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出し、抽出されたセッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出し、算出されたハッシュ値に応じて、SIPメッセージの振り分け先を決定するので、同じセッションに属するSIPメッセージを必ず同じ割当て先で処理させる結果、SIPプロトコルのパーシステンスを維持しながらSIPメッセージ処理の負荷分散を実現することが可能である。
According to the invention of
また、請求項2または7の発明によれば、セッション情報として、SIPメッセージの送信元を示す送信元情報、SIPメッセージの送信先を示す送信先情報、呼を一意に識別する呼識別子のいずれか一つまたは複数をSIPメッセージから抽出するので、例えば、To−URI、From−URI、Call−ID等のユニーク性の高い値からハッシュ演算を行うことが可能である。
According to the invention of
また、請求項3または8の発明によれば、複数のハッシュ関数を用いてハッシュ演算を行い、それぞれのハッシュ値を算出し、算出された各ハッシュ値のヒット数をカウントして、複数のハッシュ関数をそれぞれ評価し、評価された複数のハッシュ関数のうち、最もバランスの良いハッシュ関数を採用するので、各割り当て先の負荷を監視せずに、負荷分散のバランスを維持することが可能である。
According to the invention of
また、請求項4または9の発明によれば、SIPメッセージの振り分け先として、複数のSIPサーバのうち、いずれか一つのSIPサーバを決定するので、複数のSIP間の負荷を分散することが可能である。 According to the invention of claim 4 or 9, since one of the plurality of SIP servers is determined as the SIP message distribution destination, the load among the plurality of SIPs can be distributed. It is.
また、請求項5または10の発明によれば、SIPメッセージの振り分け先として、複数の呼処理プロセスのうち、いずれか一つの呼処理プロセスを決定するので、複数の呼処理プロセス間の負荷を分散することが可能である。
In addition, according to the invention of
以下の実施例では、実施例1に係るSIPメッセージ振分装置の概要および特徴、SIPメッセージ振分装置の構成および処理の流れを順に説明し、最後に実施例1による効果を説明する。 In the following embodiments, the outline and features of the SIP message distribution device according to the first embodiment, the configuration of the SIP message distribution device, and the flow of processing will be described in order, and finally the effects of the first embodiment will be described.
以下の実施例では、実施例1に係るSIPメッセージ振分装置の構成および処理の流れを順に説明し、最後に実施例1による効果を説明する。 In the following embodiments, the configuration and processing flow of the SIP message distribution device according to the first embodiment will be described in order, and finally the effects of the first embodiment will be described.
[実施例1に係るSIPメッセージ振分装置の概要および特徴]
まず最初に、図1を用いて、実施例1に係るSIPメッセージ振分装置の概要および特徴を説明する。図1は、実施例1に係るSIPメッセージ振分装置の概要および特徴を説明するための図である。
[Outline and Features of SIP Message Distribution Device According to Embodiment 1]
First, the outline and features of the SIP message distribution device according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram for explaining the outline and features of the SIP message distribution device according to the first embodiment.
図1に示すように、SIPメッセージ振分装置を含むシステム(以下、SIPネットワークシステム)では、SIPを用いて通信を行う複数のSIPサーバ1〜nと複数のSIPクライアントとがネットワークを介して相互に通信可能に接続されて構成され、また、SIPサーバとネットワークとの間にはSIPメッセージ振分装置10が接続されて構成される。なお、データベース(図1では、DB)は、各SIPサーバに接続され、SIPサーバ間で共有されるユーザ情報を管理する。
As shown in FIG. 1, in a system including a SIP message distribution device (hereinafter referred to as a SIP network system), a plurality of
このような構成において、実施例1のSIPメッセージ振分装置10では、上記したように、SIPメッセージの振り分け先であるSIPサーバを決定し、決定されたSIPサーバにSIPメッセージを転送することを概要とする。そして、このSIPメッセージ振分装置10では、SIPプロトコルのパーシステンスを維持しながらSIPメッセージ処理の負荷分散を実現する点に主たる特徴がある。
In such a configuration, as described above, the SIP
この主たる特徴について具体的に説明すると、SIPメッセージ振分装置10は、SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出する(図1の(1)参照)。具体的には、SIPメッセージ振分装置10は、SIPクライアント装置からSIPメッセージを受信すると、SIPメッセージの送信先を示す「To−URI」、SIPメッセージの送信元を示す「From−URI」および呼を一意に識別する「Call−ID」をSIPメッセージから抽出する。
This main feature will be specifically described. The SIP
そして、SIPメッセージ振分装置10は、抽出されたセッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出する(図1の(2)参照)。具体的には、SIPメッセージ振分装置10は、抽出された「To−URI」、「From−URI」および「Call−ID」の値と、予め決められたハッシュ関数とでハッシュ演算を行ってハッシュ値を得る。
Then, the SIP
続いて、SIPメッセージ振分装置10は、算出されたハッシュ値に応じて、SIPメッセージの振り分け先を決定する(図1の(3)参照)。具体的には、SIPメッセージ振分装置10は、算出されたハッシュ値に対応する割当先IDを割当先テーブル(後に図3を用いて詳述)から検索し、検索された割当先IDのSIPサーバをSIPメッセージの割り当て先に決定する。その後、SIPメッセージ振分装置10は、割り当て先に決定されたSIPサーバにSIPメッセージを転送する。
Subsequently, the SIP
[SIPメッセージ振分装置の構成]
次に、図2〜図5を用いて、実施例1に係るSIPメッセージ振分装置の構成を説明する。図2は、SIPメッセージ振分装置の構成を示すブロック図である。図3は、振分先テーブルの一例を説明するための図である。図4は、ハッシュ演算処理について説明するための図である。図5は、SIPメッセージ振分処理を説明するための図である。
[Configuration of SIP Message Distribution Device]
Next, the configuration of the SIP message distribution device according to the first embodiment will be described with reference to FIGS. FIG. 2 is a block diagram showing the configuration of the SIP message distribution device. FIG. 3 is a diagram for explaining an example of the distribution destination table. FIG. 4 is a diagram for explaining the hash calculation process. FIG. 5 is a diagram for explaining SIP message distribution processing.
図2に示すように、このSIPメッセージ振分装置10は、通信制御I/F部11、制御部12、記憶部13を備え、ネットワークを介してSIPクライアントおよびSIPサーバと接続される。以下にこれらの各部の処理を説明する。
As shown in FIG. 2, the SIP
通信制御I/F部11は、接続されるSIPクライアントおよびSIPサーバとの間でやり取りする各種情報に関する通信を制御する。具体的には、通信制御I/F部11は、SIPクライアントからSIPメッセージを受信し、また、SIPサーバへSIPメッセージを送信する。
The communication control I /
記憶部13は、制御部12による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、割当先テーブル13aを備える。この割当先テーブル13aは、図3に例示するように、ハッシュ値と割当て先IDとを対応付けて記憶する。図3の例では、SIPメッセージの割当先として4つのSIPサーバがある場合であり、各SIPサーバにa〜dいずれかの割当て先IDが付与されている。
The
制御部12は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に、セッション情報抽出部12a、ハッシュ演算部12b、振り分け先決定部12c、SIPメッセージ転送部12dを備える。
The
セッション情報抽出部12aは、SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出する。具体的には、セッション情報抽出部12aは、SIPクライアント装置からSIPメッセージを受信すると、SIPメッセージの送信先を示す「To−URI」、SIPメッセージの送信元を示す「From−URI」および呼を一意に識別する「Call−ID」の値をSIPメッセージから抽出し、ハッシュ演算部12bに通知する。
The session
ハッシュ演算部12bは、抽出されたセッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出する。具体的には、ハッシュ演算部12bは、抽出された「To−URI」、「From−URI」および「Call−ID」の値をセッション情報抽出部12aから受信すると、予め決められたハッシュ関数でハッシュ演算を行ってハッシュ値を算出する。そして、ハッシュ演算部12bは、算出されたハッシュ値を振り分け先決定部12cに通知する。
The
ここで、図4の具体的な例を用いて、セッション情報抽出部12aおよびハッシュ演算部12bの処理について説明する。同図に示すように、セッション情報抽出部12aは、SIPクライアント装置からSIPメッセージを受信すると、「To−URI」、「From−URI」および「Call−ID」の値を抽出する。
Here, processing of the session
ここで、セッション情報抽出部12aは、「To−URI」、「From−URI」および「Call−ID」の値をそれぞれ「To−URI=t0,t1,t2,t3,・・・,tn−1」、「From−URI=f0,f1,f2,f3,・・・,fn−1」、「Call−ID=c0,c1,c2,c3,・・・,cn−1」と表記する。
Here, the session
例えば、図4の例を用いて説明すると、From−URIが「bob」である場合には、セッション情報抽出部12aは、f0=b十進数ASCIIコード=98、f1=b十進数ASCIIコード=111、f2=b十進数ASCIIコード=98となり、「From−URI=98,111,98」をTo−URIの値として抽出する。
For example, referring to the example of FIG. 4, when the From-URI is “bob”, the session
続いて、ハッシュ演算部12bは、ハッシュ関数の一例として、「Hash(To−URI、From−URI、Call−ID」)=(t0+t1+t2+t3+・・・+tn−1+f0+f1+f2+f3+・・・+fn−1+c0+c1+c2+c3+・・・+cn−1)mod割当て先の数」でハッシュ演算を行ってハッシュ値を算出する。
Subsequently, as an example of the hash function, the
つまり、図3の例で説明すると、To−URIが「alice」、From−URIが「bob」、Call−IDが「abc123」、SIPサーバが4つである場合には、ハッシュ演算部12bは、「To−URI=97,108,105,99,101」、「From−URI=98,111,98」、「Call−ID=97,98,99,49,50,51」を抽出する。
That is, in the example of FIG. 3, when the To-URI is “alice”, the From-URI is “bob”, the Call-ID is “abc123”, and there are four SIP servers, the
そして、ハッシュ演算部12bは、ハッシュ演算「Hash=(97+108+105+99+101+98+111+98+97+98+99+49+50+51)mod4=1」を算出し、ハッシュ値「1」を得る。
Then, the
振り分け先決定部12cは、算出されたハッシュ値に応じて、SIPメッセージの振り分け先を決定する。具体的には、振り分け先決定部12cは、算出されたハッシュ値をハッシュ演算部12bから受信すると、そのハッシュ値に対応する割当先IDを割当先テーブル13aから検索し、検索された割当先IDのSIPサーバをSIPメッセージの割り当て先に決定して、SIPメッセージ転送部12dに通知する。
The distribution destination determination unit 12c determines the distribution destination of the SIP message according to the calculated hash value. Specifically, when receiving the calculated hash value from the
図3の例を挙げて説明すると、振り分け先決定部12cは、算出されたハッシュ値が「1」である場合には、ハッシュ値「1」に対応する割当先ID「b」を割当先テーブル13aから検索し、検索された割当先ID「b」のSIPサーバを割り当て先に決定する。 Referring to the example of FIG. 3, when the calculated hash value is “1”, the distribution destination determination unit 12 c assigns the assignment destination ID “b” corresponding to the hash value “1” to the assignment destination table. A search is made from 13a, and the SIP server having the searched assignment destination ID “b” is determined as the assignment destination.
SIPメッセージ転送部12dは、割り当て先に決定されたSIPサーバにSIPメッセージを転送する。具体的には、SIPメッセージ転送部12dは、割り当て先に決定されたSIPサーバを振り分け先決定部12cから受信すると、割り当て先に決定されたSIPサーバにSIPメッセージを転送する。
The SIP
ここで、図5を用いて、SIPパーシステンスの維持について説明する。同図に示すように、SIPメッセージ振分装置10は、SIPクライアント2からSIPクライアント1に発信するため、まずSIPサーバ宛にINVITEリクエストを送信する。SIPメッセージ振分装置10は、INVITEリクエストのFrom、To、Call−IDから関数演算によりSIPサーバを選ぶ。図5の例では、割当て先がSIPサーバ1になる。SIPサーバ1は、SIPクライアント2に100Tryingを返事する。
Here, the maintenance of SIP persistence will be described with reference to FIG. As shown in the figure, the SIP
そして、SIPメッセージ振分装置10は、SIPクライアント1から受信した180Ringingおよび200OKリプライも、同様のハッシュ演算により同じSIPサーバ1に割当てられるので、同一のSIPセッションに関するSIPメッセージは必ず同一の割当て先で処理しなければならないとするSIPパーシステンスを維持できる。その後、SIPサーバ1のセッション管理により、180Ringingおよび200OKリプライもSIPクライアント2に転送される。
Since the SIP
[SIPメッセージ振分装置による処理]
次に、図6を用いて、実施例1に係るSIPメッセージ振分装置10による処理を説明する。図6は、実施例1に係るSIPメッセージ振分装置の処理動作を示すフローチャートである。
[Processing by SIP message distribution device]
Next, processing performed by the SIP
同図に示すように、SIPメッセージ振分装置10は、SIPクライアント装置からSIPメッセージを受信すると(ステップS101)、SIPメッセージの送信先を示す「To−URI」、SIPメッセージの送信元を示す「From−URI」および呼を一意に識別する「Call−ID」をSIPメッセージから抽出する(ステップS102)。
As shown in the figure, when the SIP
そして、SIPメッセージ振分装置10は、抽出された「To−URI」、「From−URI」および「Call−ID」の値と、予め決められたハッシュ関数とでハッシュ演算を行ってハッシュ値を得る(ステップS103)。
Then, the SIP
その後、SIPメッセージ振分装置10は、算出されたハッシュ値に対応する割当先IDを割当先テーブル13aから検索し、検索された割当先IDのSIPサーバをSIPメッセージの割り当て先に決定する(ステップS104)。
Thereafter, the SIP
[実施例1の効果]
上述してきたように、SIPメッセージ振分装置10は、SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出し、抽出されたセッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出し、算出されたハッシュ値に応じて、SIPメッセージの振り分け先を決定するので、同じセッションに属するSIPメッセージを必ず同じ割当て先で処理させる結果、SIPプロトコルのパーシステンスを維持しながらSIPメッセージ処理の負荷分散を実現することが可能である。
[Effect of Example 1]
As described above, the SIP
また、実施例1によれば、セッション情報として、SIPメッセージの送信先を示すTo−URI、SIPメッセージの送信元を示すFrom−URI、呼を一意に識別するCall−IDのいずれか一つまたは複数をSIPメッセージから抽出するので、ユニーク性の高い値からハッシュ演算を行うことが可能である。 Further, according to the first embodiment, as the session information, any one of To-URI indicating the transmission destination of the SIP message, From-URI indicating the transmission source of the SIP message, Call-ID for uniquely identifying the call, or Since a plurality are extracted from the SIP message, it is possible to perform a hash operation from a highly unique value.
また、実施例1によれば、SIPメッセージの振り分け先として、複数のSIPサーバのうち、いずれか一つのSIPサーバを決定するので、複数のSIP間の負荷を分散することが可能である。 Further, according to the first embodiment, since any one of the plurality of SIP servers is determined as the SIP message distribution destination, it is possible to distribute the load among the plurality of SIPs.
ところで、上記の実施例1では、予め決められた一のハッシュ関数でハッシュ演算を行う場合を説明したが、本発明はこれに限定されるものではなく、複数のハッシュ関数から最適なハッシュ関数を採用し、採用されたハッシュ関数でハッシュ演算を行うようにしてもよい。 By the way, in the first embodiment, the case where the hash calculation is performed using one predetermined hash function has been described. However, the present invention is not limited to this, and an optimal hash function is selected from a plurality of hash functions. It may be adopted to perform a hash operation with the adopted hash function.
そこで、以下の実施例2では、複数のハッシュ関数をそれぞれ評価し、一番バランスの良いハッシュ関数を採用して、ハッシュ演算を行う場合として、図7を用いて、実施例2におけるSIPメッセージ振分装置10aの処理について説明する。図7は、実施例2に係るSIPメッセージ振分装置のハッシュ関数を評価し、一番バランスが良いハッシュ関数を採用する処理を説明するための図である。 Therefore, in the following second embodiment, a case where a plurality of hash functions are evaluated, a hash function having the best balance is adopted, and a hash operation is performed is shown in FIG. Processing of the dispensing device 10a will be described. FIG. 7 is a diagram for explaining the process of evaluating the hash function of the SIP message distribution device according to the second embodiment and adopting the hash function with the best balance.
同図に示すように、SIPメッセージ振分装置10aでは、予め複数のハッシュ関数(図7の例では、ハッシュ関数1〜3)が用意され、SIPメッセージを受信するたびに、各関数で求めたハッシュ値のヒット数をカウントし、全体のバランスを評価する。
As shown in the figure, in the SIP message sorting apparatus 10a, a plurality of hash functions (hash
そして、SIPメッセージ振分装置10aは、評価されたハッシュ関数の中から、一番バランスの良いハッシュ関数を採用する。ここで、バランスの評価の例として、下記(1)式を用いて各ハッシュ関数のヒット数の標準偏差を求め、標準偏差が最低のハッシュ関数を一番バランスの良いハッシュ関数としてもよい。 Then, the SIP message distribution device 10a employs the hash function with the best balance among the evaluated hash functions. Here, as an example of balance evaluation, the standard deviation of the number of hits of each hash function may be obtained using the following equation (1), and the hash function with the lowest standard deviation may be set as the hash function with the best balance.
例えば、図7の例を挙げて説明すると、ハッシュ関数1〜3の標準偏差の値は、下記式(2)〜(4)に示すように、ハッシュ関数1の標準偏差「8164.97」、ハッシュ関数2の標準偏差「0」、ハッシュ関数3の標準偏差「14142.14」となる。この評価から、ハッシュ関数2が最も標準偏差が低く、ハッシュ関数2を使うと一番バランスの良い負荷分散ができることが分かる。なお、この評価は、導入前あるいは運用中に定期的に実施することができる。
For example, referring to the example of FIG. 7, the standard deviation values of the hash functions 1 to 3 are represented by the standard deviation “8164.97” of the
このように、SIPメッセージ振分装置10aは、複数のハッシュ関数を用いてハッシュ演算を行い、それぞれのハッシュ値を算出し、算出された各ハッシュ値のヒット数をカウントして、複数のハッシュ関数をそれぞれ評価し、評価された複数のハッシュ関数のうち、最もバランスの良いハッシュ関数を採用するので、各割り当て先の負荷を監視せずに、負荷分散のバランスを維持することが可能である。 As described above, the SIP message distribution device 10a performs a hash operation using a plurality of hash functions, calculates each hash value, counts the number of hits of each calculated hash value, and then calculates a plurality of hash functions. Since the hash function having the best balance among the plurality of evaluated hash functions is employed, it is possible to maintain the balance of load distribution without monitoring the load of each allocation destination.
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例3として本発明に含まれる他の実施例を説明する。 Although the embodiments of the present invention have been described so far, the present invention may be implemented in various different forms other than the embodiments described above. Therefore, another embodiment included in the present invention will be described below as a third embodiment.
(1)呼処理プロセス
上記の実施例1では、SIPメッセージの割当て先が各SIPサーバである場合を説明したが、本発明はこれに限定されるものではなく、同一装置内でマルチプロセスを実現する場合に、各マルチプロセスをSIPメッセージの割当て先として本発明を実現するようにしてもよい。
(1) Call processing process In the first embodiment described above, the SIP message is assigned to each SIP server. However, the present invention is not limited to this, and a multi-process is realized in the same apparatus. In this case, the present invention may be realized with each multi-process as an SIP message assignment destination.
具体的には、図8に示すように、本発明のSIPメッセージ振分プログラムをマルチプロセッサまたはマルチプロセッサの装置に適用し、SIPメッセージの振分先である複数の呼処理プロセス(またはスレッド)にSIPメッセージを振り分けて、負荷を分散するようにしてもよい。 Specifically, as shown in FIG. 8, the SIP message distribution program of the present invention is applied to a multiprocessor or a multiprocessor device, and is applied to a plurality of call processing processes (or threads) to which SIP messages are distributed. The SIP message may be distributed to distribute the load.
このように、SIPメッセージの振り分け先として、複数の呼処理プロセスのうち、いずれか一つの呼処理プロセスを決定するので、複数の呼処理プロセス間の負荷を分散することが可能である。 As described above, since any one of the plurality of call processing processes is determined as the distribution destination of the SIP message, it is possible to distribute the load among the plurality of call processing processes.
(2)システム構成等
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報(例えば、図3や図4など)については、特記する場合を除いて任意に変更することができる。
(2) System Configuration In addition, among the processes described in this embodiment, all or part of the processes described as being automatically performed can be manually performed. In addition, the processing procedures, control procedures, specific names, and information including various data and parameters (for example, FIG. 3 and FIG. 4) shown in the above documents and drawings are optional unless otherwise specified. Can be changed.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合(例えば、振り分け先決定部12cとSIPメッセージ転送部12dとを統合するなど)して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
Each component of each illustrated device is functionally conceptual and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. It can be configured by integrating (for example, integrating the distribution destination determination unit 12c and the SIP
(3)プログラム
なお、本実施例で説明したSIPメッセージ振分方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
(3) Program The SIP message distribution method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program can be distributed via a network such as the Internet. The program can also be executed by being recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO, and a DVD and being read from the recording medium by the computer.
以上のように、本発明に係るSIPメッセージ振分方法およびSIPメッセージ振分装置は、SIPメッセージの振り分け先を決定し、当該振り分け先にSIPメッセージを転送する場合に有用であり、特に、SIPプロトコルのパーシステンスを維持しながらSIPメッセージ処理の負荷分散を実現することに適する。 As described above, the SIP message distribution method and the SIP message distribution device according to the present invention are useful for determining a distribution destination of a SIP message and transferring the SIP message to the distribution destination. It is suitable for realizing the load distribution of SIP message processing while maintaining the persistence of.
10 SIPメッセージ振分装置
11 通信制御I/F部
12 制御部
12a セッション情報抽出部
12b ハッシュ演算部
12c 振り分け先決定部
12d SIPメッセージ転送部
13 記憶部
13a 割当先テーブル
DESCRIPTION OF
Claims (10)
SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出するセッション情報抽出工程と、
前記セッション情報抽出工程によって抽出された前記セッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出するハッシュ演算工程と、
前記ハッシュ演算工程によって算出された前記ハッシュ値に応じて、SIPメッセージの振り分け先を決定する振り分け先決定工程と、
を含んだことを特徴とするSIPメッセージ振分方法。 A SIP message distribution method for determining a distribution destination of a SIP message and transferring the SIP message to the distribution destination,
A session information extraction step of extracting session information, which is information about a session to which the SIP message belongs, from the SIP message;
Using the session information extracted by the session information extraction step, a hash calculation step of performing a hash calculation and calculating a hash value,
A distribution destination determination step of determining a distribution destination of the SIP message according to the hash value calculated by the hash calculation step;
SIP message distribution method characterized by comprising:
前記ハッシュ演算工程によって算出された各ハッシュ値のヒット数をカウントして、前記複数のハッシュ関数をそれぞれ評価するハッシュ関数評価工程と、
前記ハッシュ関数評価工程によって評価された前記複数のハッシュ関数のうち、最もバランスの良いハッシュ関数を採用するハッシュ関数採用工程と、
をさらに含んだことを特徴とする請求項1または2に記載のSIPメッセージ振分方法。 The hash calculation step performs a hash calculation using a plurality of hash functions, calculates each hash value,
A hash function evaluation step of counting the number of hits of each hash value calculated by the hash calculation step and evaluating each of the plurality of hash functions;
Among the plurality of hash functions evaluated by the hash function evaluation step, a hash function adoption step that employs a hash function with the best balance;
The SIP message distribution method according to claim 1, further comprising:
SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出するセッション情報抽出手段と、
前記セッション情報抽出手段によって抽出された前記セッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出するハッシュ演算手段と、
前記ハッシュ演算手段によって算出された前記ハッシュ値に応じて、SIPメッセージの振り分け先を決定する振り分け先決定手段と、
を備えたことを特徴とするSIPメッセージ振分装置。 A SIP message distribution device that determines a distribution destination of a SIP message and transfers the SIP message to the distribution destination.
Session information extraction means for extracting session information, which is information relating to a session to which the SIP message belongs, from the SIP message;
Using the session information extracted by the session information extraction unit, a hash calculation unit that calculates a hash value by performing a hash calculation;
A distribution destination determination unit that determines a distribution destination of the SIP message according to the hash value calculated by the hash calculation unit;
An SIP message distribution device comprising:
前記ハッシュ演算手段によって算出された各ハッシュ値のヒット数をカウントして、前記複数のハッシュ関数をそれぞれ評価するハッシュ関数評価手段と、
前記ハッシュ関数評価手段によって評価された前記複数のハッシュ関数のうち、最もバランスの良いハッシュ関数を採用するハッシュ関数採用手段と、
をさらに備えたことを特徴とする請求項6または7に記載のSIPメッセージ振分装置。 The hash calculation means performs a hash calculation using a plurality of hash functions, calculates each hash value,
A hash function evaluation unit that counts the number of hits of each hash value calculated by the hash calculation unit and evaluates each of the plurality of hash functions;
Among the plurality of hash functions evaluated by the hash function evaluation unit, a hash function adoption unit that employs a hash function with the best balance;
The SIP message distribution device according to claim 6 or 7, further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008163827A JP5154313B2 (en) | 2008-06-23 | 2008-06-23 | SIP message distribution method and SIP message distribution apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008163827A JP5154313B2 (en) | 2008-06-23 | 2008-06-23 | SIP message distribution method and SIP message distribution apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010003273A true JP2010003273A (en) | 2010-01-07 |
JP5154313B2 JP5154313B2 (en) | 2013-02-27 |
Family
ID=41584914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008163827A Expired - Fee Related JP5154313B2 (en) | 2008-06-23 | 2008-06-23 | SIP message distribution method and SIP message distribution apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5154313B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013129207A1 (en) * | 2012-03-02 | 2013-09-06 | 株式会社エヌ・ティ・ティ・ドコモ | Mobile communication system, communication system, node, flow-control network, and communication-control method |
WO2013172486A1 (en) * | 2012-05-18 | 2013-11-21 | Ricoh Company, Limited | Relay device selection device, transmission system, and program for relay device selection device |
WO2013172484A1 (en) * | 2012-05-18 | 2013-11-21 | Ricoh Company, Limited | Transmission management system, transmission system, and transmission management system program |
JP2014235643A (en) * | 2013-06-04 | 2014-12-15 | 日本電信電話株式会社 | Cluster system of session border controller, cluster system of application server, and its sip dialog generation method |
JP2017139645A (en) * | 2016-02-04 | 2017-08-10 | 日本電信電話株式会社 | Distributed call control system, and distributed call control method |
WO2023276001A1 (en) * | 2021-06-29 | 2023-01-05 | 日本電信電話株式会社 | Load balancing system, load balancing method, load balancing program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11224219A (en) * | 1998-02-05 | 1999-08-17 | Nippon Telegr & Teleph Corp <Ntt> | Decentralized cache control method, decentralization controller, decentralizzed cache system, and storage medium stored with decentralized cache control program |
JP2005318222A (en) * | 2004-04-28 | 2005-11-10 | Mitsubishi Electric Corp | System and method for packet transmission |
JP2008059060A (en) * | 2006-08-29 | 2008-03-13 | Nippon Telegr & Teleph Corp <Ntt> | Service coordination server and load distribution method |
-
2008
- 2008-06-23 JP JP2008163827A patent/JP5154313B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11224219A (en) * | 1998-02-05 | 1999-08-17 | Nippon Telegr & Teleph Corp <Ntt> | Decentralized cache control method, decentralization controller, decentralizzed cache system, and storage medium stored with decentralized cache control program |
JP2005318222A (en) * | 2004-04-28 | 2005-11-10 | Mitsubishi Electric Corp | System and method for packet transmission |
JP2008059060A (en) * | 2006-08-29 | 2008-03-13 | Nippon Telegr & Teleph Corp <Ntt> | Service coordination server and load distribution method |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013129207A1 (en) * | 2012-03-02 | 2013-09-06 | 株式会社エヌ・ティ・ティ・ドコモ | Mobile communication system, communication system, node, flow-control network, and communication-control method |
WO2013172486A1 (en) * | 2012-05-18 | 2013-11-21 | Ricoh Company, Limited | Relay device selection device, transmission system, and program for relay device selection device |
WO2013172484A1 (en) * | 2012-05-18 | 2013-11-21 | Ricoh Company, Limited | Transmission management system, transmission system, and transmission management system program |
JP2013243471A (en) * | 2012-05-18 | 2013-12-05 | Ricoh Co Ltd | Transmission management system, transmission system, and program for transmission management system |
JP2013243467A (en) * | 2012-05-18 | 2013-12-05 | Ricoh Co Ltd | Relay device selecting device, transmission system, and program for relay device selecting device |
AU2013261272B2 (en) * | 2012-05-18 | 2016-04-21 | Ricoh Company, Limited | Transmission management system, transmission system, and transmission management system program |
US9438971B2 (en) | 2012-05-18 | 2016-09-06 | Ricoh Company, Limited | Relay device selection device, transmission system, and program for relay device selection device |
US9450990B2 (en) | 2012-05-18 | 2016-09-20 | Ricoh Company, Limited | Transmission management system, transmission system, and transmission management system program |
JP2014235643A (en) * | 2013-06-04 | 2014-12-15 | 日本電信電話株式会社 | Cluster system of session border controller, cluster system of application server, and its sip dialog generation method |
JP2017139645A (en) * | 2016-02-04 | 2017-08-10 | 日本電信電話株式会社 | Distributed call control system, and distributed call control method |
WO2023276001A1 (en) * | 2021-06-29 | 2023-01-05 | 日本電信電話株式会社 | Load balancing system, load balancing method, load balancing program |
Also Published As
Publication number | Publication date |
---|---|
JP5154313B2 (en) | 2013-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107438994B (en) | Method, apparatus, and computer storage medium for server load balancing | |
US8863144B2 (en) | Method and apparatus for determining resources consumed by tasks | |
US8881167B2 (en) | Load balancing in network based telephony applications | |
US9231871B2 (en) | Flow distribution table for packet flow load balancing | |
US20110252127A1 (en) | Method and system for load balancing with affinity | |
US8677011B2 (en) | Load distribution system, load distribution method, apparatuses constituting load distribution system, and program | |
US8892768B2 (en) | Load balancing apparatus and load balancing method | |
US20090287846A1 (en) | Method and Apparatus for Load Balancing in Network Based Telephony Based On Call Length | |
US20090271515A1 (en) | Method and Apparatus for Load Balancing in Network Based Telephony Application | |
JP5154313B2 (en) | SIP message distribution method and SIP message distribution apparatus | |
JP2009237935A (en) | Load balancer, load balancing method and program | |
JP2015518336A (en) | Method, system and computer readable medium for performing Diameter overload control | |
CN106416197A (en) | Method and system for load balancing anycast data traffic | |
CN108881018B (en) | Methods, systems, and devices for routing DIAMETER messages at DIAMETER signaling routers | |
Xie et al. | Supporting seamless virtual machine migration via named data networking in cloud data center | |
CN107846364A (en) | A kind for the treatment of method and apparatus of message | |
US20130339540A1 (en) | Methods, systems, and computer readable media for load balancing stream control transmission protocol (sctp) messages | |
US20140229586A1 (en) | Dynamically allocating network resources for communication session | |
WO2023124309A1 (en) | Cloud native upf signaling plane load balancing selection method and system | |
CN103401799A (en) | Method and device for realizing load balance | |
Soleimanzadeh et al. | SD‐WLB: An SDN‐aided mechanism for web load balancing based on server statistics | |
JP2007219637A (en) | Load balancing system and program therefor | |
JP5871908B2 (en) | Method and system for controlling data communication within a network | |
CN111614726B (en) | Data forwarding method, cluster system and storage medium | |
WO2012159537A1 (en) | Instant messaging system and method for sharing user information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100723 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20110520 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20110520 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120406 |
|
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: 20121204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121205 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5154313 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |