JP5154313B2 - Sipメッセージ振分方法およびsipメッセージ振分装置 - Google Patents

Sipメッセージ振分方法およびsipメッセージ振分装置 Download PDF

Info

Publication number
JP5154313B2
JP5154313B2 JP2008163827A JP2008163827A JP5154313B2 JP 5154313 B2 JP5154313 B2 JP 5154313B2 JP 2008163827 A JP2008163827 A JP 2008163827A JP 2008163827 A JP2008163827 A JP 2008163827A JP 5154313 B2 JP5154313 B2 JP 5154313B2
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.)
Expired - Fee Related
Application number
JP2008163827A
Other languages
English (en)
Other versions
JP2010003273A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008163827A priority Critical patent/JP5154313B2/ja
Publication of JP2010003273A publication Critical patent/JP2010003273A/ja
Application granted granted Critical
Publication of JP5154313B2 publication Critical patent/JP5154313B2/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)
  • Computer And Data Communications (AREA)

Description

この発明は、SIPメッセージの振り分け先を決定し、当該振り分け先にSIPメッセージを転送するSIPメッセージ振分方法およびSIPメッセージ振分装置に関する。
近年、IP電話の呼制御を実現するプロトコルであるSIP(Session Initiation Protocol)が普及している。このようなIP電話の普及にともないサーバ側にSIPメッセージ処理の負荷分散も必要になってきた。ただし、SIP仕様では、「パーシステンス」と呼ばれる要求条件がある。
つまり、同一のSIPセッションのメッセージは必ず同一の割当先で処理しなければならないことであり、これを実現するための仕組みが求められる。そこで、同じセッションに属するパケットを常に同じ割当先で処理させながら、処理の負荷分散を行う従来の方式として、IPパケットのレイヤ3またはレイヤ4のヘッダ情報(送信元IPアドレス、宛先IPアドレス、送信元ポート、宛先ポートなど)に基づいて、割当先を決める技術が知られている(例えば、非特許文献1参照)。
CISCO DocumentID:12023、"Understanding EtherChannel Load Balancing and Redundancy on Catalyst Switches"、[online]、[平成20年6月9日検索]、インターネット<http://www.cisco.com/warp/public/473/4.pdf>
ところで、従来の技術では、IPパケットのレイヤ2からレイヤ4までの情報からロードバランシングのポリシーを策定し、同じセッションに属するパケットを常に同じ装置あるいはプロセッサで処理させる。これは、従来のクライアント・サーバモデルと呼ばれる構成を前提とし、同じセッションに属するクライアントは一つしかないと想定されるため有効である。
しかしながら、SIPの場合には、同一のセッションに属するクライアントは通常送信側と受信側の2台があるため、レイヤ3とレイヤ4だけの情報では、この2台のクライアントがセッション中に必ず同一サーバプロセスに割当てる保証ができない。その結果、SIPプロトコルの要求条件であるパーシステンスを実現するには不十分という問題点がある。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、SIPプロトコルのパーシステンスを維持しながらSIPメッセージ処理の負荷分散を実現することを目的とする。
上述した課題を解決し、目的を達成するため、発明は、SIPメッセージの振り分け先を決定し、当該振り分け先にSIPメッセージを転送するSIPメッセージ振分方法であって、SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出するセッション情報抽出工程と、前記セッション情報抽出工程によって抽出された前記セッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出するハッシュ演算工程と、前記ハッシュ演算工程によって算出された前記ハッシュ値に応じて、SIPメッセージの振り分け先を決定する振り分け先決定工程と、を含んだことを特徴とする。
また、発明は、上記の発明において、前記セッション情報抽出工程は、前記セッション情報として、SIPメッセージの送信元を示す送信元情報、SIPメッセージの送信先を示す送信先情報、呼を一意に識別する呼識別子のいずれか一つまたは複数を前記SIPメッセージから抽出することを特徴とする。
また、発明は、上記の発明において、前記ハッシュ演算工程は、複数のハッシュ関数を用いてハッシュ演算を行い、それぞれのハッシュ値を算出し、前記ハッシュ演算工程によって算出された各ハッシュ値のヒット数をカウントして、複数のハッシュ関数をそれぞれ評価するハッシュ関数評価工程と、前記ハッシュ関数評価工程によって評価された複数のハッシュ関数のうち、最もバランスの良いハッシュ関数を採用するハッシュ関数採用工程と、をさらに含んだことを特徴とする。
また、発明は、上記の発明において、前記振り分け先決定工程は、前記SIPメッセージの振り分け先として、複数のSIPサーバのうち、いずれか一つのSIPサーバを決定することを特徴とする。
また、発明は、上記の発明において、前記振り分け先決定工程は、前記SIPメッセージの振り分け先として、複数の呼処理プロセスのうち、いずれか一つの呼処理プロセスを決定することを特徴とする。
また、発明は、SIPメッセージの振り分け先を決定し、当該振り分け先にSIPメッセージを転送するSIPメッセージ振分装置であって、SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出するセッション情報抽出手段と、前記セッション情報抽出手段によって抽出された前記セッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出するハッシュ演算手段と、前記ハッシュ演算手段によって算出された前記ハッシュ値に応じて、SIPメッセージの振り分け先を決定する振り分け先決定手段と、を備えたことを特徴とする。
また、発明は、上記の発明において、前記セッション情報抽出手段は、前記セッション情報として、SIPメッセージの送信元を示す送信元情報、SIPメッセージの送信先を示す送信先情報、呼を一意に識別する呼識別子のいずれか一つまたは複数を前記SIPメッセージから抽出することを特徴とする。
また、発明は、上記の発明において、前記ハッシュ演算手段は、複数のハッシュ関数を用いてハッシュ演算を行い、それぞれのハッシュ値を算出し、前記ハッシュ演算手段によって算出された各ハッシュ値のヒット数をカウントして、複数のハッシュ関数をそれぞれ評価するハッシュ関数評価手段と、前記ハッシュ関数評価手段によって評価された複数のハッシュ関数のうち、最もバランスの良いハッシュ関数を採用するハッシュ関数採用手段と、をさらに備えたことを特徴とする。
また、発明は、上記の発明において、前記振り分け先決定手段は、前記SIPメッセージの振り分け先として、複数のSIPサーバのうち、いずれか一つのSIPサーバを決定することを特徴とする。
また、発明は、上記の発明において、前記振り分け先決定手段は、前記SIPメッセージの振り分け先として、複数の呼処理プロセスのうち、いずれか一つの呼処理プロセスを決定することを特徴とする。
発明によれば、SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出し、抽出されたセッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出し、算出されたハッシュ値に応じて、SIPメッセージの振り分け先を決定するので、同じセッションに属するSIPメッセージを必ず同じ割当て先で処理させる結果、SIPプロトコルのパーシステンスを維持しながらSIPメッセージ処理の負荷分散を実現することが可能である。
また、発明によれば、セッション情報として、SIPメッセージの送信元を示す送信元情報、SIPメッセージの送信先を示す送信先情報、呼を一意に識別する呼識別子のいずれか一つまたは複数をSIPメッセージから抽出するので、例えば、To−URI、From−URI、Call−ID等のユニーク性の高い値からハッシュ演算を行うことが可能である。
また、発明によれば、複数のハッシュ関数を用いてハッシュ演算を行い、それぞれのハッシュ値を算出し、算出された各ハッシュ値のヒット数をカウントして、複数のハッシュ関数をそれぞれ評価し、評価された複数のハッシュ関数のうち、最もバランスの良いハッシュ関数を採用するので、各割り当て先の負荷を監視せずに、負荷分散のバランスを維持することが可能である。
また、発明によれば、SIPメッセージの振り分け先として、複数のSIPサーバのうち、いずれか一つのSIPサーバを決定するので、複数のSIP間の負荷を分散することが可能である。
また、発明によれば、SIPメッセージの振り分け先として、複数の呼処理プロセスのうち、いずれか一つの呼処理プロセスを決定するので、複数の呼処理プロセス間の負荷を分散することが可能である。
以下の実施例では、実施例1に係るSIPメッセージ振分装置の概要および特徴、SIPメッセージ振分装置の構成および処理の流れを順に説明し、最後に実施例1による効果を説明する。
以下の実施例では、実施例1に係るSIPメッセージ振分装置の構成および処理の流れを順に説明し、最後に実施例1による効果を説明する。
[実施例1に係るSIPメッセージ振分装置の概要および特徴]
まず最初に、図1を用いて、実施例1に係るSIPメッセージ振分装置の概要および特徴を説明する。図1は、実施例1に係るSIPメッセージ振分装置の概要および特徴を説明するための図である。
図1に示すように、SIPメッセージ振分装置を含むシステム(以下、SIPネットワークシステム)では、SIPを用いて通信を行う複数のSIPサーバ1〜nと複数のSIPクライアントとがネットワークを介して相互に通信可能に接続されて構成され、また、SIPサーバとネットワークとの間にはSIPメッセージ振分装置10が接続されて構成される。なお、データベース(図1では、DB)は、各SIPサーバに接続され、SIPサーバ間で共有されるユーザ情報を管理する。
このような構成において、実施例1のSIPメッセージ振分装置10では、上記したように、SIPメッセージの振り分け先であるSIPサーバを決定し、決定されたSIPサーバにSIPメッセージを転送することを概要とする。そして、このSIPメッセージ振分装置10では、SIPプロトコルのパーシステンスを維持しながらSIPメッセージ処理の負荷分散を実現する点に主たる特徴がある。
この主たる特徴について具体的に説明すると、SIPメッセージ振分装置10は、SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出する(図1の(1)参照)。具体的には、SIPメッセージ振分装置10は、SIPクライアント装置からSIPメッセージを受信すると、SIPメッセージの送信先を示す「To−URI」、SIPメッセージの送信元を示す「From−URI」および呼を一意に識別する「Call−ID」をSIPメッセージから抽出する。
そして、SIPメッセージ振分装置10は、抽出されたセッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出する(図1の(2)参照)。具体的には、SIPメッセージ振分装置10は、抽出された「To−URI」、「From−URI」および「Call−ID」の値と、予め決められたハッシュ関数とでハッシュ演算を行ってハッシュ値を得る。
続いて、SIPメッセージ振分装置10は、算出されたハッシュ値に応じて、SIPメッセージの振り分け先を決定する(図1の(3)参照)。具体的には、SIPメッセージ振分装置10は、算出されたハッシュ値に対応する割当先IDを割当先テーブル(後に図3を用いて詳述)から検索し、検索された割当先IDのSIPサーバをSIPメッセージの割り当て先に決定する。その後、SIPメッセージ振分装置10は、割り当て先に決定されたSIPサーバにSIPメッセージを転送する。
[SIPメッセージ振分装置の構成]
次に、図2〜図5を用いて、実施例1に係るSIPメッセージ振分装置の構成を説明する。図2は、SIPメッセージ振分装置の構成を示すブロック図である。図3は、振分先テーブルの一例を説明するための図である。図4は、ハッシュ演算処理について説明するための図である。図5は、SIPメッセージ振分処理を説明するための図である。
図2に示すように、このSIPメッセージ振分装置10は、通信制御I/F部11、制御部12、記憶部13を備え、ネットワークを介してSIPクライアントおよびSIPサーバと接続される。以下にこれらの各部の処理を説明する。
通信制御I/F部11は、接続されるSIPクライアントおよびSIPサーバとの間でやり取りする各種情報に関する通信を制御する。具体的には、通信制御I/F部11は、SIPクライアントからSIPメッセージを受信し、また、SIPサーバへSIPメッセージを送信する。
記憶部13は、制御部12による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、割当先テーブル13aを備える。この割当先テーブル13aは、図3に例示するように、ハッシュ値と割当て先IDとを対応付けて記憶する。図3の例では、SIPメッセージの割当先として4つのSIPサーバがある場合であり、各SIPサーバにa〜dいずれかの割当て先IDが付与されている。
制御部12は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に、セッション情報抽出部12a、ハッシュ演算部12b、振り分け先決定部12c、SIPメッセージ転送部12dを備える。
セッション情報抽出部12aは、SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出する。具体的には、セッション情報抽出部12aは、SIPクライアント装置からSIPメッセージを受信すると、SIPメッセージの送信先を示す「To−URI」、SIPメッセージの送信元を示す「From−URI」および呼を一意に識別する「Call−ID」の値をSIPメッセージから抽出し、ハッシュ演算部12bに通知する。
ハッシュ演算部12bは、抽出されたセッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出する。具体的には、ハッシュ演算部12bは、抽出された「To−URI」、「From−URI」および「Call−ID」の値をセッション情報抽出部12aから受信すると、予め決められたハッシュ関数でハッシュ演算を行ってハッシュ値を算出する。そして、ハッシュ演算部12bは、算出されたハッシュ値を振り分け先決定部12cに通知する。
ここで、図4の具体的な例を用いて、セッション情報抽出部12aおよびハッシュ演算部12bの処理について説明する。同図に示すように、セッション情報抽出部12aは、SIPクライアント装置からSIPメッセージを受信すると、「To−URI」、「From−URI」および「Call−ID」の値を抽出する。
ここで、セッション情報抽出部12aは、「To−URI」、「From−URI」および「Call−ID」の値をそれぞれ「To−URI=t,t,t,t,・・・,tn−1」、「From−URI=f,f,f,f,・・・,fn−1」、「Call−ID=c,c,c,c,・・・,cn−1」と表記する。
例えば、図4の例を用いて説明すると、From−URIが「bob」である場合には、セッション情報抽出部12aは、f=b十進数ASCIIコード=98、f=b十進数ASCIIコード=111、f=b十進数ASCIIコード=98となり、「From−URI=98,111,98」をTo−URIの値として抽出する。
続いて、ハッシュ演算部12bは、ハッシュ関数の一例として、「Hash(To−URI、From−URI、Call−ID」)=(t+t+t+t+・・・+tn−1+f+f+f+f+・・・+fn−1+c+c+c+c+・・・+cn−1)mod割当て先の数」でハッシュ演算を行ってハッシュ値を算出する。
つまり、図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」を抽出する。
そして、ハッシュ演算部12bは、ハッシュ演算「Hash=(97+108+105+99+101+98+111+98+97+98+99+49+50+51)mod4=1」を算出し、ハッシュ値「1」を得る。
振り分け先決定部12cは、算出されたハッシュ値に応じて、SIPメッセージの振り分け先を決定する。具体的には、振り分け先決定部12cは、算出されたハッシュ値をハッシュ演算部12bから受信すると、そのハッシュ値に対応する割当先IDを割当先テーブル13aから検索し、検索された割当先IDのSIPサーバをSIPメッセージの割り当て先に決定して、SIPメッセージ転送部12dに通知する。
図3の例を挙げて説明すると、振り分け先決定部12cは、算出されたハッシュ値が「1」である場合には、ハッシュ値「1」に対応する割当先ID「b」を割当先テーブル13aから検索し、検索された割当先ID「b」のSIPサーバを割り当て先に決定する。
SIPメッセージ転送部12dは、割り当て先に決定されたSIPサーバにSIPメッセージを転送する。具体的には、SIPメッセージ転送部12dは、割り当て先に決定されたSIPサーバを振り分け先決定部12cから受信すると、割り当て先に決定されたSIPサーバに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を返事する。
そして、SIPメッセージ振分装置10は、SIPクライアント1から受信した180Ringingおよび200OKリプライも、同様のハッシュ演算により同じSIPサーバ1に割当てられるので、同一のSIPセッションに関するSIPメッセージは必ず同一の割当て先で処理しなければならないとするSIPパーシステンスを維持できる。その後、SIPサーバ1のセッション管理により、180Ringingおよび200OKリプライもSIPクライアント2に転送される。
[SIPメッセージ振分装置による処理]
次に、図6を用いて、実施例1に係るSIPメッセージ振分装置10による処理を説明する。図6は、実施例1に係るSIPメッセージ振分装置の処理動作を示すフローチャートである。
同図に示すように、SIPメッセージ振分装置10は、SIPクライアント装置からSIPメッセージを受信すると(ステップS101)、SIPメッセージの送信先を示す「To−URI」、SIPメッセージの送信元を示す「From−URI」および呼を一意に識別する「Call−ID」をSIPメッセージから抽出する(ステップS102)。
そして、SIPメッセージ振分装置10は、抽出された「To−URI」、「From−URI」および「Call−ID」の値と、予め決められたハッシュ関数とでハッシュ演算を行ってハッシュ値を得る(ステップS103)。
その後、SIPメッセージ振分装置10は、算出されたハッシュ値に対応する割当先IDを割当先テーブル13aから検索し、検索された割当先IDのSIPサーバをSIPメッセージの割り当て先に決定する(ステップS104)。
[実施例1の効果]
上述してきたように、SIPメッセージ振分装置10は、SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報を抽出し、抽出されたセッション情報を用いて、ハッシュ演算を行ってハッシュ値を算出し、算出されたハッシュ値に応じて、SIPメッセージの振り分け先を決定するので、同じセッションに属するSIPメッセージを必ず同じ割当て先で処理させる結果、SIPプロトコルのパーシステンスを維持しながらSIPメッセージ処理の負荷分散を実現することが可能である。
また、実施例1によれば、セッション情報として、SIPメッセージの送信先を示すTo−URI、SIPメッセージの送信元を示すFrom−URI、呼を一意に識別するCall−IDのいずれか一つまたは複数をSIPメッセージから抽出するので、ユニーク性の高い値からハッシュ演算を行うことが可能である。
また、実施例1によれば、SIPメッセージの振り分け先として、複数のSIPサーバのうち、いずれか一つのSIPサーバを決定するので、複数のSIP間の負荷を分散することが可能である。
ところで、上記の実施例1では、予め決められた一のハッシュ関数でハッシュ演算を行う場合を説明したが、本発明はこれに限定されるものではなく、複数のハッシュ関数から最適なハッシュ関数を採用し、採用されたハッシュ関数でハッシュ演算を行うようにしてもよい。
そこで、以下の実施例2では、複数のハッシュ関数をそれぞれ評価し、一番バランスの良いハッシュ関数を採用して、ハッシュ演算を行う場合として、図7を用いて、実施例2におけるSIPメッセージ振分装置10aの処理について説明する。図7は、実施例2に係るSIPメッセージ振分装置のハッシュ関数を評価し、一番バランスが良いハッシュ関数を採用する処理を説明するための図である。
同図に示すように、SIPメッセージ振分装置10aでは、予め複数のハッシュ関数(図7の例では、ハッシュ関数1〜3)が用意され、SIPメッセージを受信するたびに、各関数で求めたハッシュ値のヒット数をカウントし、全体のバランスを評価する。
そして、SIPメッセージ振分装置10aは、評価されたハッシュ関数の中から、一番バランスの良いハッシュ関数を採用する。ここで、バランスの評価の例として、下記(1)式を用いて各ハッシュ関数のヒット数の標準偏差を求め、標準偏差が最低のハッシュ関数を一番バランスの良いハッシュ関数としてもよい。
Figure 0005154313
例えば、図7の例を挙げて説明すると、ハッシュ関数1〜3の標準偏差の値は、下記式(2)〜(4)に示すように、ハッシュ関数1の標準偏差「8164.97」、ハッシュ関数2の標準偏差「0」、ハッシュ関数3の標準偏差「14142.14」となる。この評価から、ハッシュ関数2が最も標準偏差が低く、ハッシュ関数2を使うと一番バランスの良い負荷分散ができることが分かる。なお、この評価は、導入前あるいは運用中に定期的に実施することができる。
Figure 0005154313
Figure 0005154313
Figure 0005154313
このように、SIPメッセージ振分装置10aは、複数のハッシュ関数を用いてハッシュ演算を行い、それぞれのハッシュ値を算出し、算出された各ハッシュ値のヒット数をカウントして、複数のハッシュ関数をそれぞれ評価し、評価された複数のハッシュ関数のうち、最もバランスの良いハッシュ関数を採用するので、各割り当て先の負荷を監視せずに、負荷分散のバランスを維持することが可能である。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例3として本発明に含まれる他の実施例を説明する。
(1)呼処理プロセス
上記の実施例1では、SIPメッセージの割当て先が各SIPサーバである場合を説明したが、本発明はこれに限定されるものではなく、同一装置内でマルチプロセスを実現する場合に、各マルチプロセスをSIPメッセージの割当て先として本発明を実現するようにしてもよい。
具体的には、図8に示すように、本発明のSIPメッセージ振分プログラムをマルチプロセッサまたはマルチプロセッサの装置に適用し、SIPメッセージの振分先である複数の呼処理プロセス(またはスレッド)にSIPメッセージを振り分けて、負荷を分散するようにしてもよい。
このように、SIPメッセージの振り分け先として、複数の呼処理プロセスのうち、いずれか一つの呼処理プロセスを決定するので、複数の呼処理プロセス間の負荷を分散することが可能である。
(2)システム構成等
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報(例えば、図3や図4など)については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合(例えば、振り分け先決定部12cとSIPメッセージ転送部12dとを統合するなど)して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(3)プログラム
なお、本実施例で説明したSIPメッセージ振分方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
以上のように、本発明に係るSIPメッセージ振分方法およびSIPメッセージ振分装置は、SIPメッセージの振り分け先を決定し、当該振り分け先にSIPメッセージを転送する場合に有用であり、特に、SIPプロトコルのパーシステンスを維持しながらSIPメッセージ処理の負荷分散を実現することに適する。
実施例1に係るSIPメッセージ振分装置の概要および特徴を説明するための図である。 SIPメッセージ振分装置の構成を示すブロック図である。 振分先テーブルの一例を説明するための図である。 ハッシュ演算処理について説明するための図である。 SIPメッセージ振分処理を説明するための図である。 実施例1に係るSIPメッセージ振分装置の処理動作を示すフローチャートである。 実施例2に係るSIPメッセージ振分装置のハッシュ関数を評価し、一番バランスが良いハッシュ関数を採用する処理を説明するための図である。 SIPメッセージ振分プログラムをマルチプロセッサまたはマルチプロセッサの装置に適用した場合の例を説明するための図である。
符号の説明
10 SIPメッセージ振分装置
11 通信制御I/F部
12 制御部
12a セッション情報抽出部
12b ハッシュ演算部
12c 振り分け先決定部
12d SIPメッセージ転送部
13 記憶部
13a 割当先テーブル

Claims (8)

  1. SIPメッセージの振り分け先を決定し、当該振り分け先にSIPメッセージを転送するSIPメッセージ振分方法であって、
    SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報として、SIPメッセージの送信元を示す送信元情報、SIPメッセージの送信先を示す送信先情報、および、呼を一意に識別する呼識別子を抽出するセッション情報抽出工程と、
    前記セッション情報抽出工程によって抽出された送信元情報、送信先情報および呼識別子を数値化し、送信元情報の値、送信先情報の値および呼識別子の値の合計を用いて、ハッシュ演算を行ってハッシュ値を算出するハッシュ演算工程と、
    前記ハッシュ演算工程によって算出された前記ハッシュ値に応じて、SIPメッセージの振り分け先を決定する振り分け先決定工程と、
    を含んだことを特徴とするSIPメッセージ振分方法。
  2. 前記ハッシュ演算工程は、複数のハッシュ関数を用いてハッシュ演算を行い、それぞれのハッシュ値を算出し、
    前記ハッシュ演算工程によって算出された各ハッシュ値のヒット数をカウントして、前記複数のハッシュ関数をそれぞれ評価するハッシュ関数評価工程と、
    前記ハッシュ関数評価工程によって評価された前記複数のハッシュ関数のうち、最もバランスの良いハッシュ関数を採用するハッシュ関数採用工程と、
    をさらに含んだことを特徴とする請求項1に記載のSIPメッセージ振分方法。
  3. 前記振り分け先決定工程は、前記SIPメッセージの振り分け先として、複数のSIPサーバのうち、いずれか一つのSIPサーバを決定することを特徴とする請求項1または2に記載のSIPメッセージ振分方法。
  4. 前記振り分け先決定工程は、前記SIPメッセージの振り分け先として、複数の呼処理プロセスのうち、いずれか一つの呼処理プロセスを決定することを特徴とする請求項1または2のいずれか一つに記載のSIPメッセージ振分方法。
  5. SIPメッセージの振り分け先を決定し、当該振り分け先にSIPメッセージを転送するSIPメッセージ振分装置であって、
    SIPメッセージから当該SIPメッセージが属するセッションに関する情報であるセッション情報として、SIPメッセージの送信元を示す送信元情報、SIPメッセージの送信先を示す送信先情報、および、呼を一意に識別する呼識別子を抽出するセッション情報抽出手段と、
    前記セッション情報抽出手段によって抽出された送信元情報、送信先情報および呼識別子を数値化し、送信元情報の値、送信先情報の値および呼識別子の値の合計を用いて、ハッシュ演算を行ってハッシュ値を算出するハッシュ演算手段と、
    前記ハッシュ演算手段によって算出された前記ハッシュ値に応じて、SIPメッセージの振り分け先を決定する振り分け先決定手段と、
    を備えたことを特徴とするSIPメッセージ振分装置。
  6. 前記ハッシュ演算手段は、複数のハッシュ関数を用いてハッシュ演算を行い、それぞれのハッシュ値を算出し、
    前記ハッシュ演算手段によって算出された各ハッシュ値のヒット数をカウントして、前記複数のハッシュ関数をそれぞれ評価するハッシュ関数評価手段と、
    前記ハッシュ関数評価手段によって評価された前記複数のハッシュ関数のうち、最もバランスの良いハッシュ関数を採用するハッシュ関数採用手段と、
    をさらに備えたことを特徴とする請求項5に記載のSIPメッセージ振分装置。
  7. 前記振り分け先決定手段は、前記SIPメッセージの振り分け先として、複数のSIPサーバのうち、いずれか一つのSIPサーバを決定することを特徴とする請求項5または6のいずれか一つに記載のSIPメッセージ振分装置。
  8. 前記振り分け先決定手段は、前記SIPメッセージの振り分け先として、複数の呼処理プロセスのうち、いずれか一つの呼処理プロセスを決定することを特徴とする請求項5または6のいずれか一つに記載のSIPメッセージ振分装置。
JP2008163827A 2008-06-23 2008-06-23 Sipメッセージ振分方法およびsipメッセージ振分装置 Expired - Fee Related JP5154313B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008163827A JP5154313B2 (ja) 2008-06-23 2008-06-23 Sipメッセージ振分方法およびsipメッセージ振分装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008163827A JP5154313B2 (ja) 2008-06-23 2008-06-23 Sipメッセージ振分方法およびsipメッセージ振分装置

Publications (2)

Publication Number Publication Date
JP2010003273A JP2010003273A (ja) 2010-01-07
JP5154313B2 true JP5154313B2 (ja) 2013-02-27

Family

ID=41584914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008163827A Expired - Fee Related JP5154313B2 (ja) 2008-06-23 2008-06-23 Sipメッセージ振分方法およびsipメッセージ振分装置

Country Status (1)

Country Link
JP (1) JP5154313B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2822237A4 (en) * 2012-03-02 2015-10-07 Ntt Docomo Inc MOBILE COMMUNICATION SYSTEM, COMMUNICATION SYSTEM, NODE, FLOW CONTROL NETWORK, AND COMMUNICATION CONTROL METHOD
JP6074915B2 (ja) * 2012-05-18 2017-02-08 株式会社リコー 伝送管理システム、伝送システム、伝送管理方法、及び伝送管理システム用プログラム
JP5953932B2 (ja) * 2012-05-18 2016-07-20 株式会社リコー 中継装置選択装置、伝送システム、及び中継装置選択装置用プログラム
JP5941434B2 (ja) * 2013-06-04 2016-06-29 日本電信電話株式会社 セッション・ボーダ・コントローラのクラスタシステム、アプリケーション・サーバのクラスタシステム、および、そのsipダイアログ生成方法
JP6405326B2 (ja) * 2016-02-04 2018-10-17 日本電信電話株式会社 分散型呼制御システム、および、分散型呼制御方法
WO2023276001A1 (ja) * 2021-06-29 2023-01-05 日本電信電話株式会社 負荷分散システム、負荷分散方法、および、負荷分散プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11224219A (ja) * 1998-02-05 1999-08-17 Nippon Telegr & Teleph Corp <Ntt> 分散キャッシュ制御方法及び分散制御装置及び分散キャッシュシステム及び分散キャッシュ制御プログラムを格納した記憶媒体
JP2005318222A (ja) * 2004-04-28 2005-11-10 Mitsubishi Electric Corp パケット伝送システム及びパケット伝送方法
JP2008059060A (ja) * 2006-08-29 2008-03-13 Nippon Telegr & Teleph Corp <Ntt> サービス連携サーバ及び負荷分散方法

Also Published As

Publication number Publication date
JP2010003273A (ja) 2010-01-07

Similar Documents

Publication Publication Date Title
US9794332B2 (en) Method and apparatus for load balancing in network based telephony application
US8863144B2 (en) Method and apparatus for determining resources consumed by tasks
US20110252127A1 (en) Method and system for load balancing with affinity
US8881167B2 (en) Load balancing in network based telephony applications
JP6059336B2 (ja) Diameter過負荷制御を実行するための方法、システムおよびコンピュータ読取可能媒体
US20090287846A1 (en) Method and Apparatus for Load Balancing in Network Based Telephony Based On Call Length
US8892768B2 (en) Load balancing apparatus and load balancing method
US9071459B2 (en) Methods and systems for establishing electronic communications in a hosted VoIP PBX using two tiered load balancing
JP5154313B2 (ja) Sipメッセージ振分方法およびsipメッセージ振分装置
JP2009237935A (ja) 負荷分散装置及び方法とプログラム
JP2013168139A (ja) 負荷均衡装置、負荷均衡方法及び階層化データセンターシステム
CN108881018B (zh) 用于在diameter信令路由器处路由diameter消息的方法、***及装置
US9596063B2 (en) Dynamically allocating network resources for communication session
KR102346109B1 (ko) 부하분산 장치 및 방법
CN107846364A (zh) 一种报文的处理方法和装置
WO2023124309A1 (zh) 一种云原生upf信令面负载均衡选择方法及***
CN103401799A (zh) 负载均衡的实现方法和装置
Soleimanzadeh et al. SD‐WLB: An SDN‐aided mechanism for web load balancing based on server statistics
JP2007219637A (ja) 負荷分散システムおよびそのプログラム
JP5871908B2 (ja) ネットワーク内部のデータ通信を制御するための方法およびシステム
Jin et al. Content routing and lookup schemes using global bloom filter for content-delivery-as-a-service
JP2009245374A (ja) 負荷監視分析装置、方法ならびにプログラム
WO2016064303A1 (ru) Способ распределения нагрузки между серверами сети доставки контента (cdn)
JP5487137B2 (ja) 情報流通制御装置及び通信システム
JP5195585B2 (ja) 通信品質優先度設定システム、方法、装置、及びプログラム

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