JP5125679B2 - 負荷分散装置及び方法とプログラム - Google Patents

負荷分散装置及び方法とプログラム Download PDF

Info

Publication number
JP5125679B2
JP5125679B2 JP2008083674A JP2008083674A JP5125679B2 JP 5125679 B2 JP5125679 B2 JP 5125679B2 JP 2008083674 A JP2008083674 A JP 2008083674A JP 2008083674 A JP2008083674 A JP 2008083674A JP 5125679 B2 JP5125679 B2 JP 5125679B2
Authority
JP
Japan
Prior art keywords
server
load
message
registration
information
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
JP2008083674A
Other languages
English (en)
Other versions
JP2009237935A (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 JP2008083674A priority Critical patent/JP5125679B2/ja
Priority to US12/410,830 priority patent/US20090245113A1/en
Publication of JP2009237935A publication Critical patent/JP2009237935A/ja
Application granted granted Critical
Publication of JP5125679B2 publication Critical patent/JP5125679B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、負荷分散装置、方法、及び、プログラムに関し、更に詳しくは、SIP(session initiation protocol)を使用してシグナリングを行う通信網に好適に利用され、サーバの負荷を分散させる負荷分散装置、負荷分散方法、及び、プログラムに関する。
近年、VoIP(voice over IP)に見られるように、IP網を使用したリアルタイム・コミュニケーションが普及している。例えば、電話端末やパソコンなどの、リアルタイム・コミュニケーションを行う両端の端末間接続を確立する国際標準プロトコルとしてSIP(session initiation protocol)を採用する状況が多くなっている。なお、本書では、SIPを使用してシグナリングを行う通信網を「SIPネットワーク」と呼ぶ。
SIPネットワークの一般的な構成については、例えば特許文献1および非特許文献1の記載が参照される。
SIPネットワークは、ロケーション・サーバと、SIPサーバと、ユーザ・エージェント(UA: user agent)とから構成されている。
UAは、非特許文献1のP.76に、「SIPは、エンド・システム間のクライアント−サーバ・モデルに基づいています。このエンド・システムに相当するのが、ユーザ・エージェント(UA: User Agent)です。ユーザ・エージェントとは、具体的には電話機やパソコンなどのエンド・システムのことですが、これらのエンド・システム間でリクエスト(要求)とレスポンス(応答)をやり取りすることによって、サービスを実現します」と説明されている。
本書では、上記説明文記載のリクエストを「SIP要求」、レスポンスを「SIP応答」と呼ぶ。
SIPサーバは、非特許文献1のP.77に記載されているように、
(a)SIP要求やSIP応答を中継するプロキシ・サーバ機能と、
(b)SIP要求の宛先の問合せに利用するリダイレクト・サーバ機能と、
(c)SIPネットワーク上のUAの位置情報の登録を受け付ける登録サーバ機能と、
を有する。
ロケーション・サーバは、非特許文献1のP.81に、「登録サーバで維持されるUAの情報を蓄積し、プロキシ・サーバ機能やリダイレクト・サーバ機能によって利用される、データベース・サービスを提供します」と記載されている。具体的には、非特許文献1のP.112に記載されているように、SIP要求のREGISTGERリクエストを使用して、UAの位置情報を蓄積する。なお、本書では、このREGISTERリクエストにより、ロケーション・サービスに登録されるUAの位置情報を「REGISTERエントリ」と呼ぶ。
更に、非特許文献1のP.81に、「SIPではロケーション・サーバへのアクセスの方法を規定していません」との記述があるように、SIPサーバとロケーション・サーバの対応は規定されていない。従って、特許文献1に記載のように、SIPサーバとロケーションサーバの組み合わせに関しては複数の構成が存在する。1つは、1つのロケーション・サーバを複数のプロキシ・サーバ機能で共有するモデルである。このモデルを「共有モデル」と呼ぶ。
他方は、1つのSIPサーバにロケーション・サーバ機能を配備させるモデルである。
このモデルを「専有モデル」と呼ぶ。
上記のような特徴を持つSIPサーバ(特に、プロキシ・サーバ機能)を負荷分散する関連技術としては、一般的に、特許文献1、特許文献2、特許文献3等に記載された方式が知られている。
負荷分散装置は、SIP要求に格納されているCall−IDヘッダの値(呼識別子、「Call−ID」とも略記される)と、SIP要求の振分先となるSIPサーバ(特に、プロキシ・サーバ機能)との対応表を備えている。
負荷分散装置は、SSIP要求に格納されているCall−IDを抽出し、このCall−IDを検索キーとして上述した対応表を検索する。
この検索の結果、検出されたSIPサーバ(特に、プロキシ・サーバ機能)にSIP要求を転送する(特許文献1、特許文献2、特許文献3等参照)。
また、SIPサーバを負荷分散する関連技術として、特許文献1には、専有モデルのSIPサーバにおいて、ユーザ端末の位置情報を示すREGISTERエントリが分散配置された環境においても、ユーザ端末のREGISTERエントリの存在するサーバを迅速に特定し、該当するサーバからREGISTERエントリを取得し、振分先サーバに格納することで、呼接続要求の転送先サーバにおいて呼接続要求の処理を可能にさせる、負荷分散装置が開示されている。
また、SIPサーバを負荷分散する関連技術として、特許文献2には、専有モデルのSIPサーバにおいて、同一ユーザ端末の位置情報を示すREGISTERエントリを全SIPサーバに登録することを特徴とした負荷分散装置が開示されている。複数のSIP端末及び複数のSIPサーバとネットワークを介して接続された負荷分散装置は、SIPサーバへの登録要求を識別する登録要求識別部と、識別されたSIP端末からの登録要求を複製する登録要求複製部と、複製された登録要求を全てのSIPサーバに送信する振り分け制御部と、SIP端末の優先接続サーバ情報を管理する振り分け情報管理部と、各SIPサーバの負荷を監視するSIPサーバ負荷監視部とを備え、振り分け制御部は、発呼したSIP端末に対応する優先接続サーバが低負荷であるとき、優先接続サーバにSIP端末からのセッションを転送する。
また、特許文献3には、第3世代移動体通信システムの標準化団体である3GPP(3rd Generation Partnership Project)において標準化が進められているIMS(IP Multimedia Subsystem)での、P−CSCF(Proxy Call Session Control Function)、I−CSCF(Interrogating Call Session Control Function)、S−CSCF(Serving Call Session Control Function)の3つのSIP(Session Initiation Protocol)サーバを介したセッション管理のシステムにおける負荷分散装置が開示されている。このシステムにおいては、REGISTERエントリが個別にS−CSCFに分散配置される専有モデルの構成となっている。
特開2007−60210号公報 特開2007−4361号公報 特開2007−221265号公報 「改訂版 SIP教科書」P.78の図3−2「ユーザ・エージェントとSIPサーバの関係」
上記特許文献1、2、3、非特許文献1の各開示は、引用をもって本書に組み込まれる。以下に、本発明による関連技術の分析を与える。
第1の問題点は、専有モデル型SIPサーバの構成の場合、SIP UAと、処理を実行するSIPサーバとの対応が、REGISTER登録時に固定的に確定するため、当該SIPサーバの負荷が変動して高負荷状態となっても、当該SIPサーバ以外のSIPサーバに処理を移譲することができない、ということである。
専有モデル型SIPサーバの構成の場合、SIP UAがREGISTER要求を出した際に、REGISTERエントリの登録されるサーバが決定する。
SIPサーバの処理は、REGISTERに対する処理だけでなく、INVITEで開始され(すなわち発信処理)、BYEで完了するSession開設・維持・終了処理が存在する。このとき、当該SIPサーバの処理に着目すると、当該SIPサーバにREGISTER登録されている1個のSIP UAからは複数のSession処理が発生しうる。従って、REGISTER登録されているSIP UAの個数の整数倍に比例した数のSession処理を実行する必要が発生し得る。
またINVITE応答(すなわち着信処理)の場合、REGISTERエントリの存在しないSIP UAからのINVITEが他SIPサーバからの中継で当該SIPサーバに到着し、当該SIPサーバは、自サーバ管理下のSIP UAへのINVITE応答中継処理を実行しなければならない。
SIP UAからは、どのSIPサーバにREGISTER登録されたかは負荷分散装置によって隠蔽されており判別がつかず、当該SIP UAが所属しているSIPサーバが高負荷状態になっていても、当該SIP UAが新規INVITEを発行する場合、当該高負荷状態のSIPサーバに対して処理を実行させることとなる。
その際、同一の負荷分散装置に接続している他のSIPサーバの負荷が低い状態であっても、当該SIP UAのREGISTER登録情報が無いため、負荷が低い他のSIPサーバへ処理を移譲することができない。
したがって、本発明の目的は、ユーザ端末より負荷分散装置を経由して接続される複数のサーバ間で、負荷分散を目的としてRegistory登録を動的に移設することを可能とする負荷分散装置および負荷分散制御方法を提供することにある。
本願で開示される発明は、前記課題を解決するため、概略以下の構成とされる。
本発明の1つの側面によれば、ネットワークに接続された複数のサーバの負荷を監視しサーバ間の負荷分散を行う負荷分散装置であって、負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバに登録されているがセッション接続がないユーザ端末が存在する場合、前記ユーザ端末の登録を、負荷が前記閾値以上の前記サーバから、負荷が前記閾値よりも小さい他のサーバに変更する負荷分散装置が提供される。
本発明においては、ネットワークを介して通信を行う複数のユーザ端末と、それぞれが前記通信を仲介する機能及びユーザ端末の位置情報登録機能を有する複数のサーバとにネットワークを介して接続され、少なくとも通信の仲介を処理すべきサーバを選定することによってサーバの負荷を分散させる負荷分散装置が、ネットワークから受信したメッセージを検査して、発信側のユーザ端末が発行した呼接続要求メッセージを検出するメッセージ解析部と、前記検出した呼接続要求メッセージを処理すべきサーバを所定のアルゴリズムに従って選定し、該選定したサーバに前記呼接続要求メッセージを転送するサーバ振分部と、前記呼接続要求メッセージの着信側ユーザ端末のアドレスを検索キーとして、ユーザ端末のアドレスとユーザ端末の位置情報登録を有するサーバとを対応付けて記憶する記憶装置を検索し、前記着信側ユーザ端末の位置情報登録を有するサーバを特定する登録情報取得部と、ネットワークから受信したメッセージを検査して、前記複数のサーバの負荷情報を定期的に取得し、前記複数のサーバの負荷情報から所定のアルゴリズムに従って、ユーザ端末のアドレスとユーザ端末の位置情報登録を有するサーバとの対応付けの変更を判断、実行する登録情報振替部と、を備える。
本発明によれば、ネットワークに接続された複数のサーバの負荷を監視しサーバ間の負荷分散を行う負荷分散方法であって、
負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバに登録されているがセッション接続がないユーザ端末が存在する場合、前記ユーザ端末の登録を、負荷が前記閾値以上の前記サーバから、負荷が前記閾値よりも小さい他のサーバに変更する負荷分散方法が提供される。
本発明によれば、ネットワークに接続された複数のサーバの負荷を監視しサーバ間の負荷分散を行う負荷分散装置を構成するコンピュータに、
負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバに登録されているがセッション接続がないユーザ端末が存在する場合、前記ユーザ端末の登録を、負荷が前記閾値以上の前記サーバから、負荷が前記閾値よりも小さい他のサーバに変更する処理を実行させるプログラムが提供される。
本発明によれば、ユーザ端末より負荷分散装置を経由して接続される複数のサーバ間で、負荷分散を目的として、Registory登録を動的に移設することを可能とする負荷分散装置および負荷分散制御方法が提供される。
上記した本発明についてさらに詳細に説述すべく添付図面を参照して以下に説明する。本発明においては、例えば定期的に取得するサーバの負荷情報に基づいて、転送すべき呼接続要求メッセージの転送先が記録されている記憶装置を変更し、サーバに対して登録情報の更新(追加ないし削除)を実行することで、サーバの負荷が変動した際に、登録情報によって特定サーバに束縛されている呼接続処理を、他の低負荷なサーバに事前に処理移設することで、複数サーバ間の処理不均衡を事前に是正し、サーバ群全体の性能向上を実現するようにしたものである。
本発明においては、ネットワークに接続された複数のサーバの負荷を監視し負荷分散を行う負荷分散装置が、負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバに登録されているがセッション接続がないユーザ端末が存在する場合、前記ユーザ端末の登録を、負荷が前記閾値以上の前記サーバから、負荷が前記閾値よりも小さいサーバに変更する。本発明の実施の形態について詳細に説明する。
図1は、本発明の一実施の形態の構成を示す図である。図1には、負荷分散装置1を有するSIPネットワークが示されている。
負荷分散装置1は、ネットワークを介して複数のUA(ユーザ端末)10−1、10−2と、複数のSIPサーバ20−1、20−2とに接続されている。なお、図1では、UAおよびSIPサーバを共に2台ずつ示しているが、3台以上のUAおよびSIPサーバでも良い。
負荷分散装置1は、SIPサーバ振分先決定部(請求の範囲の振分決定部)101と、REGISTERエントリ格納部(請求の範囲の位置情報登録部)102と、メッセージ解析部103と、メッセージ送受信部(通信インターフェイス)104と、負荷状態分析部105と、REGISTERエントリ振替指示部(請求の範囲の登録情報振替部)106とを備えている。
振分先決定部101は、
(a1)UA10−1、10−2またはSIPサーバ20−1、20−2から送信されてきたSIPパケットの種別を解析し、例えばREGISTERリクエストやINVITEリクエストなどのSIP要求を振り分けてSIPサーバを選定する機能と、
(a2)着信側UAのREGISTERエントリを振り分け対象となるSIPサーバに格納するよう、REGISTERエントリ格納部102に依頼する機能と、
(a3)SIP要求を振り分け対象となるSIPサーバに転送するようにメッセージ送受信部104に依頼する機能と、
(a4)SIP要求の振り分け対象となるSIPサーバを選定する場合に参照する情報(「振分情報」と呼ぶ)を管理する機能と、
(a5)REGISTERエントリ振替指示部106から提示されたSIPサーバに対するUAのREGISTERエントリ振替処理を行う機能と、
を有する。
なお、振分情報の例については、後に、動作の説明で詳述する。
REGISTERエントリ格納部102は、
(b1)振分先決定部101が選定したSIPサーバに対して、着信側UAのREGISTERエントリ(位置情報登録)を格納しているか否かを問い合わせる機能と、
(b2)着信側UAのREGISTERエントリを格納するSIPサーバを特定する機能と、
(b3)着信側UAのREGISTERエントリを取得し、振分先決定部101が選定したSIPサーバに、該当REGISTERエントリを格納する機能と、
を有する。
メッセージ解析部103は、
(c1)メッセージ送受信部104から転送されたSIPパケットの種別を解析し、SIP要求、または、例えば、”180 Ringing”や”200 OK”などのSIP応答が格納されたメッセージの種類を解析する機能と、
(c2)SIP要求を振分先決定部101に送信する機能と、
(c3)負荷分散装置1から送信されたSIP要求に対するSIP応答をREGISTERエントリ格納部102に送信する機能と、
(c4)SIP要求に対するSIP応答であるが、負荷分散装置1が発行したSIP要求以外のSIP要求に対するSIP応答を、メッセージ送受信部104に送信する機能と、
(c5)SIPサーバから通知されるサーバの負荷情報を負荷状態分析部に通知する機能と、
を有する。
メッセージ送受信部104は、
(d1)UAまたはSIPサーバから送信されたSIP要求またはSIP応答であるメッセージを受信する機能と、
(d2)振分先決定部101により指定されたUAまたはSIPサーバに、SIP要求またはSIP応答であるメッセージを送信する機能と、
(d3)UAまたはSIPサーバから送信されてきた、SIP要求またはSIP応答であるメッセージを受信し、SIPメッセージ解析部103に送信する機能と、
を有する。
負荷状態分析部105は、
(e1)メッセージ解析部103から通知される、各SIPサーバからの負荷情報を管理し、負荷情報に基づく振分情報を、振分先決定部101に通知する機能と、
(e2)REGISTERエントリ振替指示部106に、負荷情報に基づくエントリ振替を実行する候補となるSIPサーバの情報(この情報を「エントリ振替SIPサーバ情報」と呼ぶ)を通知する機能と、
を有する。
REGISTERエントリ振替指示部106は、
(f)負荷状態分析部105からのエントリ振替SIPサーバ情報と、振分先決定部101から取得するエントリ振替SIPサーバ情報に含まれるSIPサーバにて現在呼処理のされていない、REGISTERエントリのあるUAの情報から、振分先決定部101に対して、REGISTERエントリ振替対象となるSIPサーバを通知する機能を有する。
なお、負荷分散装置1における、SIPサーバ振分先決定部101と、REGISTERエントリ格納部102と、メッセージ解析部103と、メッセージ送受信部104と、負荷状態分析部105と、REGISTERエントリ振替指示部106の各機能・処理は、負荷分散装置1を構成するコンピュータ上で動作するプログラムにより実現するようにしてもよいことは勿論である。
次に、本実施例の負荷分散装置1の動作を説明する。図2は、負荷分散装置1における、メッセージ解析部103の処理を示すフローチャートである。
いま、メッセージ解析部103が、メッセージ送受信部104から、UAまたはSIPサーバから送信されたメッセージを受信したとする。
この時、メッセージ解析部103は、受信したメッセージの種類を検査する(ステップS201)。
ステップS201の検査で、受信したメッセージが、例えば、INVITEリクエスト(呼接続要求)やREGISTERリクエスト(位置情報登録要求)などのSIP要求であると判定した場合には、メッセージ解析部103は、受信メッセージを振分先決定部101に転送する(ステップS205)。
一方、ステップS201の検査で、受信したメッセージが、例えば、”180 Ringing”や”200 OK”などの、SIP応答であると判定した場合には、メッセージ解析部103は、更に、そのSIP応答が、負荷分散装置1から発行したSIP要求に対するSIP応答か否かを判定する(ステップS202)。この判定処理の一例を以下に説明する。
例えばREGISTERエントリ格納部102が、REGISTERリクエストを発行する場合に付加する識別子(Call−ID)を、メッセージ解析部103に、予め転送しておく。なお、この識別子は、任意の文字列でよい。例えば、INVITEリクエストの識別子と同じ、あるいは、これに何らかの符号を付加したものであってもよい。
メッセージ解析部103は、メッセージ送受信部104から受信したメッセージに含まれるCall−IDを調査し、それが予めREGISTERエントリ格納部102から通知されていたCall−IDと一致する場合には、負荷分散装置1から発行したSIP要求に対するSIP応答と判断する。
ステップS202で、受信したSIP応答が、負荷分散装置1から発行したSIP要求に対するSIP応答であると判定した場合には、メッセージ解析部103は、受信メッセージをREGISTERエントリ格納部102に転送する(ステップS204)。
ステップS202で、受信したSIP応答が、負荷分散装置1から発行したSIP要求に対するSIP応答でないと判定した場合には、メッセージ解析部103は、受信メッセージをメッセージ送受信部104に転送する(ステップS203)。
図3は、負荷分散装置1における、振分先決定部101の処理を示すフローチャートである。いま、振分先決定部101がメッセージ解析部103からSIP要求を受信したとする。
この時、振分先決定部101は、SIP要求の種別を検査する(ステップS301)。
ステップS301の検査で、振分先決定部101が取得したSIP要求がREGISTERリクエストであると判定した場合には、振分先決定部101は、REGISTERリクエストの振り分け先となるSIPサーバを決定する(ステップS302)。
なお、負荷分散装置1からSIP要求を転送する先となるSIPサーバを「振分先SIPサーバ」と呼ぶ。
ステップS302の処理の一例を以下に説明する。
例えば、REGISTERリクエストのToヘッダに含まれるAoR(address of record)や、contactヘッダに含まれるSIP URI(Uniform Resource Identifier)中の電話番号(電話番号を含むSIP URIは、一般的に「sip:電話番号@ドメイン名」として表現される)などの、検索キーを取り出す。振り分け対象となるSIPサーバの識別子を、振り分け対象となるSIPサーバの数未満の正の整数とする場合には、検索キーを正の整数に変換し、振り分け対象となるSIPサーバの数で除した余りで表現されるSIPサーバを振り分け対象とする。
振分先決定部101は、ステップS301の検査で、SIP要求がINVITEリクエストであると判定した場合には、INVITEリクエストの振分先SIPサーバを決定する(ステップS303)。この処理の一例は以下のようにして行われる。
例えばINVITEリクエストのFromヘッダに含まれるAoRや、Call−IDなどを、検索キーとして取り出す。この後の処理は、前述したREGISTERリクエストでの振分先SIPサーバの決定処理と同様である。
また、ステップS303の処理は、例えば以下の処理により、最少負荷量のSIPサーバを検出し、そのSIPサーバを振分先SIPサーバとすることも可能である。
振分先決定部101は、ステップS303の結果として取得した振分先SIPサーバの識別子と、受信したINVITEリクエストのToヘッダのAoRとを、REGISTERエントリ格納部102に通知し、着信側UAのREGISTERエントリが振分先SIPサーバに格納されるよう、REGISTERエントリ格納部102に依頼する(ステップS304)。
振分先決定部101は、ステップS301の検査で、メッセージ解析部103から受信したSIP要求の種別が、例えば、ACKリクエストやBYEリクエストなどであって、REGISTERリクエストおよびINVITEリクエスト以外の場合には、SIP要求に格納されているCall−IDを抽出する(ステップS307)。
振分先決定部101は、ステップS307の結果として取得されたCall−IDを検索キーとして、Call−IDと振分先SIPサーバの識別子の組が格納されたハッシュ表を検索する(ステップS308)。
その後、振分先決定部101は、ステップS301で検査したSIP要求の種別がBYEリクエストであるか否かを判定し(ステップS309)、SIP要求がBYEリクエストである場合には、又は、ステップS304の結果REGISTERエントリの格納依頼が完了した場合には、振分先決定部101は、振分情報を更新する(ステップS305)。
この振分情報は、ステップS308で使用した、Call−IDと振分先SIPサーバとの組を格納したハッシュ表と、ステップS303での振分先SIPサーバの決定に負荷状態分析部105からのSIPサーバ負荷情報を使用している場合、SIPサーバ負荷情報とからなる。
振分先決定部101において、Call−IDと振分先SIPサーバとの組を格納したハッシュ表の更新は、以下のようにして行われる。
ステップS301の結果、受信したSIP要求がINVITEリクエストと判明した場合には、振分先決定部101は、INVITEリクエストに格納されているCall−IDとステップS303の結果決定した振分先SIPサーバとを組としてハッシュ表に格納する。
ステップS309で、SIP要求がBYEリクエストであった場合には、振分先決定部101は、BYEリクエストに格納されているCall−IDをキーとする組をハッシュ表から削除する。
振分先決定部101は、
ステップS302の結果として振分先SIPサーバを決定した場合、または、
ステップS305の結果として振分情報の更新が完了した場合、または、
ステップS309の判定でSIP要求がBYEリクエスト以外であった場合には、
ステップS302またはステップS303またはステップS308の結果として取得した振分先SIPサーバに受信メッセージを転送するよう、メッセージ送受信部104に通知する(ステップS306)。
図4は、REGISTERエントリ格納部102の処理を示すフローチャートである。いま、REGISTERエントリ格納部102が、振分先決定部101から、振分先SIPサーバの識別子と、INVITEリクエストのToヘッダに格納された、着信側UAを示すAoRを受け取ったとする。
REGISTERエントリ格納部102は、指定されたSIPサーバに送信するREGISTERリクエストを生成する(ステップS401)。例えば、この処理は、FromヘッダとToヘッダには、振分先決定部101から送信されたAoRを挿入し、Call−IDは「ランダムとなる文字列@負荷分散装置1のIPアドレス」とし、CSeqヘッダは「1 REGISTER」とすることで実現できる。
REGISTERエントリ格納部102は、ステップS401で生成されたREGISTERリクエストを、振分先決定部101から指定されたSIPサーバに送信するよう、メッセージ送受信部104に通知することで、振分先SIPサーバに着信側UAのREGISTERエントリが存在するか否かを問い合わせる(ステップS402)。
この時、REGISTERエントリ格納部102は、更にメッセージ解析部103にステップS401で生成したCall−IDを通知する。
ステップS402で、振分先SIPサーバに着信側UAのREGISTERエントリが存在しないと判断した場合には、REGISTERエントリ格納部102は、着信側UAのREGISTERエントリを格納するSIPサーバを算出する(ステップS403)。
なお、REGISTERエントリ格納部102において、振分先SIPサーバに着信側UAのREGISTERエントリが存在するか否かの判断は、例えば以下のようにして行われる。
ステップS402においてメッセージ解析部103に送信したCall−IDを持つ、メッセージ解析部103から送信されてきたSIP応答が”200 OK”である場合には、REGISTERエントリ格納部102は、該当SIPサーバでのREGISTERエントリの検索が成功しているため、振分先SIPサーバに着信側UAのREGISTERエントリが存在すると判断できる。
逆に、SIP応答が”200 OK”以外の場合には、REGISTERエントリ格納部102は、振分先SIPサーバにREGISTERエントリが存在しないと判断できる。
更に、着信側UAのREGISTERエントリを格納したSIPサーバの算出は、前述したREGISTERリクエストの振分先SIPサーバの算出と同様の処理を実行し、この手段への入力を、振分先決定部101から渡されたAoRとすることで実現できる。
REGISTERエントリ格納部102は、ステップS403で算出された、着信側UAのREGISTERエントリを格納するSIPサーバから着信側UAのREGISTERエントリを取得する(ステップS404)。なお、この処理は、例えば、以下にようにして行われる。
REGISTERエントリ格納部102は、着信側UAを格納するSIPサーバに送信するREGISTERリクエストについては、ステップS401におけるREGISTERリクエスト生成と同様の処理で作成する。
REGISTERエントリ格納部102は、生成したREGISTERリクエストと、ステップS403で算出した着信側UAのREGISTERエントリを保持するSIPサーバの識別子を、メッセージ送受信部104に転送する。
なお、このステップS404の場合においても、ステップS402と同様に、REGISTERエントリ格納部102は、メッセージ解析部103に対して、ステップS404で生成したCall−IDを通知しておく。
REGISTERエントリ格納部102は、ステップS404で取得した、着信側UAのREGISTERエントリを、振分先SIPサーバに登録する(ステップS405)。この処理は、例えば、以下のようにして行われる。
REGISTERエントリ格納部102は、ステップS401と同様に、REGISTERリクエストにおける、FromヘッダとToヘッダには、振分先決定部101から送信されたAoRを挿入し、Call−IDは「ランダムとなる文字列@負荷分散装置1のIPアドレス」とし、CSeqヘッダは「1 REGISTER」とする。
更に、REGISTERエントリ格納部102は、contactヘッダには、ステップS404で取得したREGISTERエントリのcontactヘッダを挿入する。
その後、REGISTERエントリ格納部102は、このREGISTERリクエストを、振分先SIPサーバを送信先として、メッセージ送受信部104に送信する。
REGISTERエントリ格納部102がステップS402で、着信側UAのREGISTERエントリを問い合わせた結果、振分先決定部101から送信されたSIPサーバに、着信側UAのREGISTERエントリが存在する場合、
または、ステップS405の結果、着信側SIPサーバにREGISTERエントリを格納した場合には、
REGISTERエントリ格納部102は、処理を終了する。
図5は、メッセージ送受信部104の処理を示すフローチャートである。いま、メッセージ送受信部104がメッセージを受信したとする。
メッセージ送受信部104は、メッセージの送信元を調査する(ステップS501)。この処理は、例えば、関数呼び出しでメッセージ送受信部104が呼び出された場合には、負荷分散装置内からのメッセージと判断し、SIPネットワークを介してメッセージ送受信部104が呼び出された場合には、負荷分散装置外からのメッセージとして判断することで実現できる。
ステップS501の調査で、負荷分散装置内からのメッセージ受信と判断した場合には、メッセージ送受信部104は、指定されたあて先に、受信したメッセージを送付する(ステップS502)。
ステップS501の調査で、負荷分散装置外からのメッセージ受信と判断した場合には、メッセージ送受信部104は、メッセージ解析部103に、受信したメッセージを送付する(ステップS503)。
図6は、REGISTERエントリ振替指示部106の処理を示すフローチャートである。
REGISTERエントリ振替指示部106は、負荷状態分析部105からの各SIPサーバの情報より、サーバ負荷が設定可能な低位閾値(th−l)より大きいSIPサーバがあるか調査する(ステップS601)。該当SIPサーバがなければ、REGISTERエントリ振替指示部106は、処理を終了する。
該当サーバがある場合には、REGISTERエントリ振替指示部106は、当該サーバを低負荷サーバ振替候補リスト(Low)にリストアップする(ステップS602)。
次に、REGISTERエントリ振替指示部106は、サーバ負荷が設定可能な高位閾値(th−h)より大きいSIPサーバがあるか調査する(ステップS603)。該当SIPサーバがなければ、REGISTERエントリ振替指示部106は、処理を終了する。
該当サーバがある場合は、REGISTERエントリ振替指示部106は、振分先決定部101からのセッション維持情報に基づき、該当SIPサーバに現在呼処理がされていないUAのREGISTERが存在するか調査する(ステップS604)。該当するUAのREGISTERが無ければ、REGISTERエントリ振替指示部106は、処理を終了する。
該当するUAのREGISTERが存在する場合、REGISTERエントリ振替指示部106は、該当するSIPサーバとUAのREGISTERエントリを組として高負荷サーバ振替REGISTERリスト(High)にリストアップする(ステップS605)。
REGISTERエントリ振替指示部106は、高負荷サーバ振替REGISTERリスト(High)内の高負荷SIPサーバとUAのREGISTERエントリの組と、低負荷サーバ振替候補リスト(Low)内のSIPサーバから、REGISTER振替処理対象の高負荷SIPサーバ、UAのREGISTERエントリ、低負荷SIPサーバを選択して、REGISTER振替処理を振分先決定部101に指示する。
図7は、図1の構成のSIPネットワークにおけるUAのREGISTER登録REGISTER振替処理と、SIPサーバ負荷に基づいてREGISTER情報の切替のシーケンスを示した図である。
図7において、
UA 10−1のSIP URIを、”sip_ua1@example.com”, UA 10−2のSIP URIを、”sip_ua2@example.com”, 負荷分散装置にて付け替えを実行しているsipサーバの仮想IPアドレスを、”vip.example.com”,
SIPサーバ#1 20−1の実IPアドレスを、”svr1.example.com”,
SIPサーバ#2 20−2の実IPアドレスを、”svr2.example.com”
としている。
ステップS701はUA#1 10−1のREGISTER登録であり、負荷分散装置1にてSIPサーバ#120−1に登録されるシーケンスを示している。
ステップS702はUA#2 10−2のREGISTER登録であり、負荷分散装置1にてSIPサーバ#220−2に登録されるシーケンスを示している。
ステップS703以降は、SIPサーバの負荷に基づいたREGISTER情報の振替処理のシーケンスを示している。
SIPサーバ#1 20−1より負荷分散装置1に負荷情報として負荷80%が通知される(S703)。
SIPサーバ#2 20−2より負荷分散装置1に負荷情報として負荷5%が通知される(ステップS704)。
負荷分散装置1では、例として高位閾値(th−h)を70%、低位閾値(th−l)を30%と設定している。
その結果、SIPサーバ#1 20−1は高負荷サーバ、SIPサーバ#2 10−2は低負荷サーバと判定される(ステップS705)。
このとき、UA#1 10−1ではSIPサーバ#1内にてセッション処理登録が無く、移設可能セッションである場合、SIPサーバ#1 20−1内のUA#1 10−1をSIPサーバ#2 20−2に移設することとする(ステップS706)。
ステップS707では、UA#1 10−1のREGISTERをSIPサーバ#1 20−1に登録するシーケンスを実行している。
ステップS708では、負荷分散装置1内でのUA#1 10−1に関する仮想IPアドレスと実IPアドレス付け替えを、SIPサーバ#1からSIPサーバ#2に変更している。
ステップS709では、UA#1 10−1のREGISTERをSIPサーバ#2 20−2から削除するシーケンスを実行している。
以上の処理にて、UA#1 10−1のREGISTERのSIPサーバ#1 20−1からSIPサーバ#2 20−2への振替処理が完了する。
以上のように、本発明の第1の実行形態に係る負荷分散装置1では、負荷分散装置1に接続されるSIPサーバの負荷に応じてUAのREGISTER登録を行ったSIPサーバを更新する事ができるようになり、当該SIPサーバが高負荷状態となった際に新規のSIPセッションを別のSIPサーバで処理できるようになる。
本実施形態の作用効果を説明する。
SIP UAより負荷分散装置を経由して接続される複数のSIPサーバ間で、REGISTER登録を動的に移設する事ができることにより、特定のSIPサーバの負荷が変動して高負荷状態になった際に、当該SIPサーバにREGISTER登録されているUAのセッション処理を別のSIPサーバに振り替えることで、SIPシステム内部の処理負荷を均一化でき、全体の処理能力を向上させることができる。
特許文献2においては、SIPサーバの負荷に基づきユーザ端末を登録(REGISTER)しているが、該登録がユーザ端末起動時にのみ行われ、負荷分散されるSIPサーバ全てに登録要求フレームを複製して登録している。共通なユーザ端末の登録内容を各SIPサーバで重複して保持しており、SIPサーバ全体でみた場合、登録保持すべきデータ量が増大する。
本実施例では、最初に登録するサーバは1台であり、登録後保しておくデータ量は特許文献2よりも少ない。また特許文献2においては、セッション開始フレーム(INVITE)が検知された際に、接続すべきSIPサーバをラウンドロビン又は接続中のセッション数の少ないサーバから選択している。これに対して、本実施例では、ネットワークに接続された複数のサーバの負荷を監視し負荷分散を行い、負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバから、前記サーバに登録済みであるがセッション接続がないユーザ端末の登録を、負荷が前記閾値よりも小さいサーバに変更する。
本発明の負荷分散装置は、複数のユーザ端末及び複数のSIPサーバを有するSIPネットワークに利用できる。
なお、本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明の一実施の形態の構成を示す図である。 本発明の一実施の形態におけるメッセージ解析部の処理の一例を示すフローチャートである。 本発明の一実施の形態における振分先決定部の処理の一例を示すフローチャートである。 本発明の一実施の形態におけるREGISTERエントリ格納部の処理の一例を示すフローチャートである。 本発明の一実施の形態におけるメッセージ送受信部の処理の一例を示すフローチャートである。 本発明の一実施の形態におけるREGISTERエントリ振替指示部の処理の一例を示すフローチャートである。 本発明の一実施の形態におけるUAのREGISTER登録及びREGISTER振替処理のシーケンスの一例を示す図である。
符号の説明
1 負荷分散装置
10 UA(ユーザ・エージェント)
20 SIPサーバ
101 振分先決定部
102 REGISTERエントリ格納部
103 メッセージ解析部
104 メッセージ送受信部
105 負荷状態分析部
106 REGISTERエントリ振替指示部

Claims (26)

  1. ネットワークに接続された複数のサーバの負荷を監視しサーバ間の負荷分散を行う負荷分散装置であって、
    負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバに登録されているがセッション接続がないユーザ端末が存在する場合、前記ユーザ端末の登録を、負荷が前記閾値以上の前記サーバから、負荷が前記閾値よりも小さい他のサーバに変更し、
    前記ネットワークから受信したメッセージを検査して、発信側のユーザ端末が発行した呼接続要求を検出するメッセージ解析部と、
    前記検出した呼接続要求を処理すべきサーバを所定のアルゴリズムに従って選定し、該選定したサーバに前記呼接続要求を転送するサーバ振分部と、
    前記呼接続要求の着信側ユーザ端末のアドレスを検索キーとして、ユーザ端末のアドレスと、ユーザ端末の位置情報登録を有するサーバと、を対応付けて記憶する位置情報登録部を検索し、前記着信側ユーザ端末の位置情報登録を有するサーバを特定する振分先決定部と、
    前記複数のサーバの負荷情報から、所定のアルゴリズムに従って、ユーザ端末のアドレスと、ユーザ端末の位置情報登録を有するサーバとの対応付けの変更を制御する登録情報振替部と、
    を備える、ことを特徴とする負荷分散装置。
  2. ネットワークを介して通信を行う複数のユーザ端末と、それぞれが前記通信を仲介する機能及びユーザ端末の位置情報登録機能を有する複数のサーバとにネットワークを介して接続され、少なくとも通信の仲介を処理すべきサーバを選定することによってサーバの負荷を分散させる負荷分散装置において、
    ネットワークから受信したメッセージを検査して、発信側のユーザ端末が発行した呼接続要求メッセージを検出するメッセージ解析部と、
    前記検出した呼接続要求メッセージを処理すべきサーバを所定のアルゴリズムに従って選定し、該選定したサーバに前記呼接続要求メッセージを転送するサーバ振分部と、
    前記呼接続要求メッセージの着信側ユーザ端末のアドレスを検索キーとして、ユーザ端末のアドレスと、ユーザ端末の位置情報登録を有するサーバと、を対応付けて記憶する位置情報登録部を検索し、前記着信側ユーザ端末の位置情報登録を有するサーバを特定する振分先決定部と、
    ネットワークから受信したメッセージを検査して、前記複数のサーバの負荷情報を定期的に取得し、前記複数のサーバの負荷情報から所定のアルゴリズムに従って、ユーザ端末のアドレスとユーザ端末の位置情報登録を有するサーバとの対応付けの変更を制御する登録情報振替部と、
    を備える、ことを特徴とする負荷分散装置。
  3. 前記サーバの負荷情報を管理し、負荷情報に基づく振分情報を、前記振分先決定部に通知し、前記登録情報振替部に、負荷情報に基づくエントリ振替を実行する候補となるサーバの情報を通知する負荷状態分析部をさらに備えている、ことを特徴とする請求項又は記載の負荷分散装置。
  4. 前記メッセージ解析部は、
    メッセージ送受信部でユーザ端末またはサーバから送信されたメッセージを受信すると、受信したメッセージの種類を検査し、
    前記メッセージが要求の場合には、前記受信したメッセージを前記振分先決定部に転送し、
    前記メッセージが応答の場合には、前記応答が、前記負荷分散装置から発行した要求に対する応答か否かを判定し、その際、
    前記メッセージ送受信部から受信したメッセージに含まれる呼識別子を調査し、前記位置情報登録部から通知されていた呼識別情報と一致する場合には、発行した要求に対する応答と判断し、受信した応答が、前記負荷分散装置から発行した要求に対する応答であると判定した場合には、前記メッセージ解析部は、受信メッセージを、前記位置情報登録部に転送し、
    前記受信した応答が、前記負荷分散装置から発行した要求に対する応答でないと判定した場合には、前記メッセージ解析部は、受信メッセージを、前記メッセージ送受信部に転送する、ことを特徴とする請求項乃至のいずれか1項に記載の負荷分散装置。
  5. 前記振分先決定部は、
    前記メッセージ解析部から要求を受信し要求の種別を検査し、
    前記要求が、登録要求の場合には、登録要求の振り分け先となるサーバを決定し、
    前記要求が、呼接続要求の場合には、前記呼接続要求の振分先サーバを決定し、前記振分先のサーバに着信側ユーザ端末の登録情報が格納されるように前記位置情報登録部に依頼して振分情報を更新し、
    前記要求の種別が、登録及び呼接続要求以外の場合には、前記要求に格納されている呼識別子を抽出し、呼識別子と振分先サーバの識別子の組が格納された表を検索して振分先サーバを決定し、前記要求が終了要求の場合には振分情報を更新し、
    前記振分先サーバに、受信メッセージを転送するように、前記メッセージ送受信部に指示する、ことを特徴とする請求項乃至のいずれか1項に記載の負荷分散装置。
  6. 前記位置情報登録部は、
    指定されたサーバに送信する登録要求を生成し、前記振分先決定部で指定されたサーバに送信するよう、前記メッセージ送受信部に通知し、振分先サーバに着信側ユーザ端末の登録情報が存在するかを問い合わせ、前記振分先サーバに、前記着信側ユーザ端末の登録情報が存在しない場合、前記位置情報登録部は、着信側ユーザ端末の登録情報を格納するサーバを算出し、前記着信側ユーザ端末の登録情報を格納するサーバから前記着信側ユーザ端末の登録情報を取得し、
    着信側ユーザ端末の登録情報を、振分先サーバに登録する、ことを特徴とする請求項1乃至のいずれか1項に記載の負荷分散装置。
  7. 前記メッセージ送受信部は、
    メッセージの送信元を調査し、前記負荷分散装置内からのメッセージ受信と判断した場合には、指定された宛先に、受信したメッセージを送付し、
    前記負荷分散装置外からのメッセージ受信と判断した場合には、前記メッセージ解析部に、受信したメッセージを送付する、ことを特徴とする請求項乃至のいずれか1項に記載の負荷分散装置。
  8. 前記登録情報振替部は、
    前記負荷状態分析部からのサーバの情報より、サーバ負荷が設定可能な第1の閾値以下のサーバが存在するか調査し、該当サーバが存在する場合には、該当サーバを低負荷サーバ振替候補リストとしてリストアップし、
    前記登録情報振替部は、さらに、
    サーバ負荷が設定可能な第2の閾値以上のサーバが存在するか調査し、該当サーバが存在する場合は、前記振分先決定部からのセッション維持情報に基づき、該当サーバにおいて呼処理がされていないユーザ端末が登録されているか調査し、前記ユーザ端末が登録されている場合、該当サーバとユーザ端末の登録情報を組として、高負荷サーバ振替登録リストにリストアップし、
    前記高負荷サーバ振替登録リスト内の高負荷サーバとユーザ端末の登録情報の組と、低負荷サーバ振替候補リスト内のサーバから、登録情報振替処理対象の高負荷サーバと、ユーザ端末の登録情報、低負荷サーバを選択して、振替処理を、前記振分先決定部に指示する、ことを特徴とする請求項乃至のいずれか1項に記載の負荷分散装置。
  9. 前記位置情報登録部と、前記メッセージ送受信部と、前記負荷状態分析部と、をさらに備え、
    前記振分先決定部は、
    ユーザ端末またはサーバから送信されてきたパケットの種別を解析し、要求を振り分けてサーバを選定し、
    着信側ユーザ端末の登録情報を振り分け対象となるサーバに格納するよう、前記位置情報登録部に依頼し、
    要求を振り分け対象となるサーバに転送するように前記メッセージ送受信部に依頼し、
    要求の振り分け対象となるサーバを選定する場合に参照する振分情報を管理し、
    前記登録情報振替部から提示されたサーバに対するユーザ端末の登録情報振替処理を行う、ことを特徴とする請求項乃至のいずれか1項に記載の負荷分散装置。
  10. 前記位置情報登録部は、
    前記振分先決定部が選定したサーバに対して、着信側ユーザ端末の登録情報を格納しているか否かを問い合わせ、
    着信側ユーザ端末の登録情報を格納するサーバを特定し、
    着信側ユーザ端末の登録情報を取得し、前記振分先決定部が選定したサーバに、前記登録情報を格納し、
    前記メッセージ解析部は、
    前記メッセージ送受信部から転送されたパケットの種別を解析し、要求または応答が格納されたメッセージの種類を解析し、
    要求を前記振分先決定部に送信し、
    前記負荷分散装置から送信された要求に対する応答を前記位置情報登録部に送信し、
    前記要求に対する応答であるが、前記負荷分散装置が発行した要求以外の要求に対する応答を、前記メッセージ送受信部に送信し、
    サーバから通知されるサーバの負荷情報を前記負荷状態分析部に通知し、
    前記メッセージ送受信部は、
    前記ユーザ端末またはサーバから送信された要求または応答であるメッセージを受信し、
    前記振分先決定部により指定されたユーザ端末またはサーバに要求または応答であるメッセージを送信し、
    ユーザ端末またはサーバから送信されてきた要求または応答であるメッセージを受信し、前記メッセージ解析部に送信し、
    前記負荷状態分析部は、
    前記メッセージ解析部から通知される、サーバからの負荷情報を管理し、負荷情報に基づく振分情報を、前記振分先決定部に通知し、
    前記登録情報振替部に、負荷情報に基づく登録振替を実行する候補となるサーバの情報を通知し、
    前記登録情報振替部は、
    前記負荷状態分析部からの登録振替を行うサーバ情報と、前記振分先決定部から取得する登録振替サーバ情報に含まれるサーバで現在呼処理のされていない、登録情報のあるユーザ端末の情報から、前記振分先決定部に対して、登録情報振替対象となるサーバを通知する、ことを特徴とする請求項乃至のいずれか1項に記載の負荷分散装置。
  11. 前記サーバは、SIP(session initiation protocol)サーバである、ことを特徴とする請求項1乃至1のいずれか1項に記載の負荷分散装置。
  12. 請求項1乃至1のいずれか1項に記載の前記負荷分散装置を備え、複数のサーバ間での負荷分散が行われる、ネットワーク・システム。
  13. ネットワークを介して通信を行う複数のユーザ端末と、それぞれが前記通信を仲介する機能及びユーザ端末の位置情報登録機能を有する複数のサーバとにネットワークを介して接続され、少なくとも通信の仲介を処理すべきサーバを選定することによってサーバの負荷を分散させる負荷分散装置による負荷分散方法であって、
    ネットワークから受信したメッセージを検査して、発信側のユーザ端末が発行した呼接続要求メッセージを検出するメッセージ解析工程と、
    前記検出した呼接続要求メッセージを処理すべきサーバを所定のアルゴリズムに従って選定し、該選定したサーバに前記呼接続要求メッセージを転送するサーバ振分部と、
    前記呼接続要求メッセージの着信側ユーザ端末のアドレスを検索キーとして、ユーザ端末のアドレスと、ユーザ端末の位置情報登録を有するサーバと、を対応付けて記憶する位置情報登録部を検索し、前記着信側ユーザ端末の位置情報登録を有するサーバを特定する振分先決定工程と、
    ネットワークから受信したメッセージを検査して、前記複数のサーバの負荷情報を定期的に取得し、前記複数のサーバの負荷情報から所定のアルゴリズムに従って、ユーザ端末のアドレスとユーザ端末の位置情報登録を有するサーバとの対応付けの変更を制御する登録情報振替工程と、
    を含む、ことを特徴とする負荷分散方法。
  14. 前記サーバの負荷情報を管理し、負荷情報に基づく振分情報を、前記振分先決定工程に通知し、前記登録情報振替工程に、負荷情報に基づくエントリ振替を実行する候補となるサーバの情報を通知する負荷状態分析工程をさらに含む、ことを特徴とする請求項1記載の負荷分散方法。
  15. 前記メッセージ解析工程が、
    メッセージ送受信部でユーザ端末またはサーバから送信されたメッセージを受信すると、受信したメッセージの種類を検査し、
    要求の場合には、前記受信したメッセージを前記振分先決定工程に転送し、
    応答の場合には、前記応答が、前記負荷分散装置から発行した要求に対する応答か否かを判定し、
    前記メッセージ送受信工程から受信したメッセージに含まれる呼識別子を調査し、前記位置情報登録部から通知されていた呼識別情報と一致する場合には、発行した要求に対する応答と判断し、
    受信した応答が、前記負荷分散装置から発行した要求に対する応答であると判定した場合には、前記メッセージ解析工程は、受信メッセージを前記位置情報登録部に転送し、
    前記受信した応答が、前記負荷分散装置から発行した要求に対する応答でないと判定した場合には、前記メッセージ解析工程は、受信メッセージを前記メッセージ送受信工程に転送する、ことを特徴とする請求項1又は1記載の負荷分散方法。
  16. 前記振分先決定工程は、
    前記メッセージ解析工程から要求を受信し要求の種別を検査し、
    前記要求が、登録要求の場合には、登録要求の振り分け先となるサーバを決定し、
    前記要求が、呼接続要求の場合には、前記呼接続要求の振分先サーバを決定し、振分先のサーバに着信側ユーザ端末の登録情報が格納されるよう、前記位置情報登録部に依頼し、振分情報を更新し、
    前記要求の種別が、登録及び呼接続要求以外の場合には、前記要求に格納されている呼識別子を抽出し、呼識別子と振分先サーバの識別子の組が格納された表を検索して振分先サーバを決定し、前記要求が終了要求の場合には振分情報を更新し、
    前記振分先サーバに受信メッセージを転送するように前記メッセージ送受信工程に指示する、ことを特徴とする請求項1乃至1のいずれか1項に記載の負荷分散方法。
  17. 前記位置情報登録部では、
    指定されたサーバに送信する登録要求を生成し、前記振分先決定工程で指定されたサーバに送信するよう、前記メッセージ送受信工程に通知し、振分先サーバに着信側ユーザ端末の登録情報が存在するかを問い合わせ、
    前記振分先サーバに着信側ユーザ端末の登録情報が存在しない場合、前記位置情報登録工程は、着信側ユーザ端末の登録情報を格納するサーバを算出し、着信側ユーザ端末の登録情報を格納するサーバから着信側ユーザ端末の登録情報を取得し、
    着信側ユーザ端末の登録情報を、振分先サーバに登録する、ことを特徴とする請求項1乃至1のいずれか1項に記載の負荷分散方法。
  18. 前記メッセージ送受信工程は、メッセージの送信元を調査し、負荷分散装置内からのメッセージ受信と判断した場合には、指定された宛先に、受信したメッセージを送付し、
    負荷分散装置外からのメッセージ受信と判断した場合には、前記メッセージ解析工程に、受信したメッセージを送付する、ことを特徴とする請求項1乃至1のいずれか1項に記載の負荷分散方法。
  19. 前記登録情報振替工程は、
    前記負荷状態分析工程からのサーバの情報より、サーバ負荷が設定可能な第1の閾値以下のサーバがあるか調査し、
    該当サーバがある場合には、当該サーバを低負荷サーバ振替候補リストにリストアップし、
    サーバ負荷が設定可能な第2の閾値以上のサーバがあるか調査し、
    該当サーバがある場合は、前記振分先決定工程からのセッション維持情報に基づき、該当サーバに現在呼処理がされていないユーザ端末が登録されているか調査し、
    前記ユーザ端末が登録されている場合、該当するサーバとユーザ端末の登録情報を組として、高負荷サーバ振替登録リストにリストアップし、
    前記高負荷サーバ振替登録リスト内の高負荷サーバとユーザ端末の登録情報の組と、低負荷サーバ振替候補リスト内のサーバから、
    登録情報振替処理対象の高負荷サーバ、ユーザ端末の登録情報、低負荷サーバを選択して、振替処理を、前記振分先決定工程に指示する、ことを特徴とする請求項1乃至18のいずれか1項に記載の負荷分散方法。
  20. ネットワークを介して通信を行う複数のユーザ端末と、それぞれが前記通信を仲介する機能及びユーザ端末の位置情報登録機能を有する複数のサーバとにネットワークを介して接続され、少なくとも通信の仲介を処理すべきサーバを選定することによってサーバの負荷を分散させる負荷分散装置を構成するコンピュータに、
    ネットワークから受信したメッセージを検査して、発信側のユーザ端末が発行した呼接続要求メッセージを検出するメッセージ解析処理と、
    前記検出した呼接続要求メッセージを処理すべきサーバを所定のアルゴリズムに従って選定し、該選定したサーバに前記呼接続要求メッセージを転送するサーバ振分部と、
    前記呼接続要求メッセージの着信側ユーザ端末のアドレスを検索キーとして、ユーザ端末のアドレスと、ユーザ端末の位置情報登録を有するサーバと、を対応付けて記憶する位置情報登録部を検索し、前記着信側ユーザ端末の位置情報登録を有するサーバを特定する振分先決定処理と、
    ネットワークから受信したメッセージを検査して、前記複数のサーバの負荷情報を定期的に取得し、前記複数のサーバの負荷情報から所定のアルゴリズムに従って、ユーザ端末のアドレスとユーザ端末の位置情報登録を有するサーバとの対応付けの変更を制御する登録情報振替処理と、
    を実行させるプログラム。
  21. 前記サーバの負荷情報を管理し、負荷情報に基づく振分情報を、前記振分先決定処理に通知し、前記登録情報振替処理に、負荷情報に基づくエントリ振替を実行する候補となるサーバの情報を通知する負荷状態分析処理を前記コンピュータに実行させる、ことを特徴とする請求項2記載のプログラム。
  22. 前記メッセージ解析処理が、
    メッセージ送受信部でユーザ端末またはサーバから送信されたメッセージを受信すると、受信したメッセージの種類を検査し、
    要求の場合には、前記受信したメッセージを前記振分先決定処理に転送し、
    応答の場合には、前記応答が、前記負荷分散装置から発行した要求に対する応答か否かを判定し、
    前記メッセージ送受信処理から受信したメッセージに含まれる呼識別子を調査し、位置情報登録処理から通知されていた呼識別情報と一致する場合には、発行した要求に対する応答と判断し、
    受信した応答が、負荷分散装置から発行した要求に対する応答であると判定した場合には、前記メッセージ解析処理は、受信メッセージを位置情報登録処理に転送し、
    前記受信した応答が、負荷分散装置から発行した要求に対する応答でないと判定した場合には、前記メッセージ解析処理は、受信メッセージを前記メッセージ送受信処理に転送する、ことを特徴とする請求項2又は2記載のプログラム。
  23. 前記振分先決定処理は、
    前記メッセージ解析処理から要求を受信し要求の種別を検査し、
    前記要求が、登録要求の場合には、登録要求の振り分け先となるサーバを決定し、
    前記要求が、呼接続要求の場合には、前記呼接続要求の振分先サーバを決定し、振分先のサーバに着信側ユーザ端末の登録情報が格納されるよう、位置情報登録処理に依頼し、振分情報を更新し、
    前記要求の種別が、登録及び呼接続要求以外の場合には、前記要求に格納されている呼識別子を抽出し、呼識別子と振分先サーバの識別子の組が格納された表を検索して振分先サーバを決定し、前記要求が終了要求の場合には振分情報を更新し、
    前記振分先サーバに受信メッセージを転送するように前記メッセージ送受信処理に指示する、ことを特徴とする請求項2乃至2のいずれか1項に記載のプログラム。
  24. 位置情報登録処理は、
    指定されたサーバに送信する登録要求を生成し、前記振分先決定処理で指定されたサーバに送信するよう、前記メッセージ送受信処理に通知し、振分先サーバに着信側ユーザ端末の登録情報が存在するかを問い合わせ、
    前記振分先サーバに着信側ユーザ端末の登録情報が存在しない場合、前記位置情報登録処理は、着信側ユーザ端末の登録情報を格納するサーバを算出し、着信側ユーザ端末の登録情報を格納するサーバから着信側ユーザ端末の登録情報を取得し、
    位置情報登録処理は、着信側ユーザ端末の登録情報を、振分先サーバに登録する、ことを特徴とする請求項2乃至2のいずれか1項に記載のプログラム。
  25. 前記メッセージ送受信処理は、
    メッセージの送信元を調査し、負荷分散装置内からのメッセージ受信と判断した場合には、指定された宛先に、受信したメッセージを送付し、
    負荷分散装置外からのメッセージ受信と判断した場合には、前記メッセージ解析処理に、受信したメッセージを送付する、ことを特徴とする請求項2乃至2のいずれか1項に記載のプログラム。
  26. 前記登録情報振替処理は、
    前記負荷状態分析処理からのサーバの情報より、サーバ負荷が設定可能な第1の閾値以下のサーバがあるか調査し、該当サーバがある場合には、登録情報振替処理は、当該サーバを低負荷サーバ振替候補リストにリストアップし、
    サーバ負荷が設定可能な第2の閾値以上のサーバがあるか調査し、該当サーバがある場合は、前記振分先決定処理からのセッション維持情報に基づき、該当サーバに現在呼処理がされていないユーザ端末が登録されているか調査し、前記ユーザ端末が登録されている場合、該当するサーバとユーザ端末の登録情報を組として、高負荷サーバ振替登録リストにリストアップし、
    前記高負荷サーバ振替登録リスト内の高負荷サーバとユーザ端末の登録情報の組と、低負荷サーバ振替候補リスト内のサーバから、登録情報振替処理対象の高負荷サーバ、ユーザ端末の登録情報、低負荷サーバを選択して、振替処理を前記振分先決定処理に指示する、ことを特徴とする請求項2乃至2のいずれか1項に記載のプログラム。
JP2008083674A 2008-03-27 2008-03-27 負荷分散装置及び方法とプログラム Expired - Fee Related JP5125679B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008083674A JP5125679B2 (ja) 2008-03-27 2008-03-27 負荷分散装置及び方法とプログラム
US12/410,830 US20090245113A1 (en) 2008-03-27 2009-03-25 Load balancer, network system, load balancing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008083674A JP5125679B2 (ja) 2008-03-27 2008-03-27 負荷分散装置及び方法とプログラム

Publications (2)

Publication Number Publication Date
JP2009237935A JP2009237935A (ja) 2009-10-15
JP5125679B2 true JP5125679B2 (ja) 2013-01-23

Family

ID=41117053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008083674A Expired - Fee Related JP5125679B2 (ja) 2008-03-27 2008-03-27 負荷分散装置及び方法とプログラム

Country Status (2)

Country Link
US (1) US20090245113A1 (ja)
JP (1) JP5125679B2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055654B (zh) * 2009-11-10 2016-01-20 中兴通讯股份有限公司 一种进行网络设备负载均衡的方法及ip多媒体子系统
US8700773B2 (en) * 2009-12-07 2014-04-15 Microsoft Corporation Load balancing using redirect responses
US8676977B2 (en) * 2009-12-14 2014-03-18 Sonus Networks, Inc. Method and apparatus for controlling traffic entry in a managed packet network
JP2011159247A (ja) * 2010-02-04 2011-08-18 Nec Corp ネットワークシステム、コントローラ、ネットワーク制御方法
US8533337B2 (en) * 2010-05-06 2013-09-10 Citrix Systems, Inc. Continuous upgrading of computers in a load balanced environment
FR2960369B1 (fr) * 2010-05-20 2013-03-01 Bull Sas Procede d'optimisation de routage dans un cluster comprenant des liens de communication statiques et programme d'ordinateur mettant en oeuvre ce procede
CN101834877B (zh) * 2010-06-03 2012-08-08 华中科技大学 基于分布式sip构架的动态负载均衡的方法及系统
JP5693065B2 (ja) * 2010-07-06 2015-04-01 キヤノン株式会社 通信端末、通信端末の制御方法及びプログラム
US9065831B2 (en) * 2011-03-01 2015-06-23 Cisco Technology, Inc. Active load distribution for control plane traffic using a messaging and presence protocol
US9235447B2 (en) 2011-03-03 2016-01-12 Cisco Technology, Inc. Extensible attribute summarization
JP5633457B2 (ja) * 2011-03-30 2014-12-03 富士通株式会社 基地局、通信システム、及び通信方法
US8959222B2 (en) * 2011-05-19 2015-02-17 International Business Machines Corporation Load balancing system for workload groups
EP2549712B1 (en) * 2011-07-18 2018-04-25 Alcatel Lucent Method and apparatus for interconnecting a user agent to a cluster of servers
WO2013035719A1 (ja) * 2011-09-06 2013-03-14 日本電気株式会社 データ配置システム、分散アクセスノード、データ配置方法およびプログラム
US9621402B2 (en) * 2011-09-12 2017-04-11 Microsoft Technology Licensing, Llc Load balanced and prioritized data connections
CN103067972B (zh) * 2011-10-18 2018-06-12 中兴通讯股份有限公司 基于负载均衡机制的参数处理方法及装置
JP5947540B2 (ja) 2011-11-07 2016-07-06 株式会社スクウェア・エニックス・ホールディングス 管理装置、管理装置の制御方法
JP5834864B2 (ja) * 2011-12-12 2015-12-24 富士通株式会社 サーバ装置、sipサーバ装置、コンピュータプログラム及びメッセージ振り分け方法
US9232002B1 (en) * 2011-12-27 2016-01-05 Amazon Technologies, Inc. Migrating connection flows
CN103209136A (zh) * 2012-01-11 2013-07-17 中兴通讯股份有限公司 一种网络负荷控制方法及登记服务器
US20150156164A1 (en) * 2012-06-06 2015-06-04 Nec Corporation Communication system, communication control method, communication relay system, and communication relay control method
US9270827B2 (en) * 2012-09-07 2016-02-23 Genesys Telecommunications Laboratories, Inc. Dynamic management and redistribution of contact center media traffic
KR20140060637A (ko) * 2012-11-12 2014-05-21 인포뱅크 주식회사 부하 분산 방법, 시스템 및 장치
US9154540B2 (en) * 2012-12-11 2015-10-06 Microsoft Technology Licensing, Llc Smart redirection and loop detection mechanism for live upgrade large-scale web clusters
US9621657B2 (en) * 2012-12-26 2017-04-11 Verizon Patent And Licensing Inc. Database session dependent routing
US9832126B1 (en) * 2013-12-13 2017-11-28 West Corporation Reduction in network congestion
US9444735B2 (en) 2014-02-27 2016-09-13 Cisco Technology, Inc. Contextual summarization tag and type match using network subnetting
US9979693B2 (en) * 2016-01-28 2018-05-22 Fiber Logic Communications, Inc. IP allocation method for use in telecommunication network automatic construction
CN108509184B (zh) * 2018-03-28 2021-11-09 武汉斗鱼网络科技有限公司 消息分发方法、计算机可读存储介质及电子设备
CN109688229A (zh) * 2019-01-24 2019-04-26 江苏中云科技有限公司 一种负载均衡集群下会话保持系统
JP7310378B2 (ja) 2019-07-08 2023-07-19 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置
CN111491007B (zh) * 2020-03-04 2023-08-18 北京中盾安全技术开发公司 Sip中心信令控制服务负载均衡方法及其负载均衡器
US11570246B1 (en) 2021-11-17 2023-01-31 Saudi Arabian Oil Company Layer 7 health check automated execution framework
CN116107760B (zh) * 2023-04-07 2023-07-14 浪潮电子信息产业股份有限公司 一种负载均衡方法、装置、设备及介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004364141A (ja) * 2003-06-06 2004-12-24 Hitachi Communication Technologies Ltd Ipアドレス変換装置およびパケット転送装置
JP4433309B2 (ja) * 2005-08-24 2010-03-17 日本電気株式会社 負荷分散装置
JP2007219637A (ja) * 2006-02-14 2007-08-30 Nippon Telegr & Teleph Corp <Ntt> 負荷分散システムおよびそのプログラム
US8332514B2 (en) * 2007-07-20 2012-12-11 At&T Intellectual Property I, L.P. Methods and apparatus for load balancing in communication networks
US8339956B2 (en) * 2008-01-15 2012-12-25 At&T Intellectual Property I, L.P. Method and apparatus for providing a centralized subscriber load distribution

Also Published As

Publication number Publication date
US20090245113A1 (en) 2009-10-01
JP2009237935A (ja) 2009-10-15

Similar Documents

Publication Publication Date Title
JP5125679B2 (ja) 負荷分散装置及び方法とプログラム
US10868840B1 (en) Multiple-master DNS system
CN100531098C (zh) 一种对等网络系统及重叠网间节点的互通方法
US20060282540A1 (en) File server device, communication management server device, and network system including the file server device and the communication management server device
EP2200247B1 (en) A message processing method, apparatus and ip communication system based on the sip protocol
US10432504B2 (en) Message processing
US8386575B2 (en) Method of realizing uniqueness assurance and method of determining message destination
JP4433309B2 (ja) 負荷分散装置
WO2008047920A1 (fr) Serveur proxy, système et procédé de communication et programme
CN101815079A (zh) 基于sip的服务器集群发布服务信息的方法及系统
JP5794891B2 (ja) フロースイッチ装置を用いたシグナリングメッセージの経路制御方法及びネットワークシステム
CN108141440A (zh) 具有多个标识符的sip服务器
US20120166621A1 (en) Sharing the Status of S-CSCF Nodes Across I-CSCF Nodes in a Communications Network
JP2007004361A (ja) 負荷分散装置
CN101584183A (zh) 评估初始过滤标准
CN104539462B (zh) 一种切换至灾备应用实例的方法及装置
JP2012242994A (ja) トランザクション処理システム、トランザクション処理方法、および、トランザクション処理プログラム
JP5941434B2 (ja) セッション・ボーダ・コントローラのクラスタシステム、アプリケーション・サーバのクラスタシステム、および、そのsipダイアログ生成方法
JP5154313B2 (ja) Sipメッセージ振分方法およびsipメッセージ振分装置
JP2007219637A (ja) 負荷分散システムおよびそのプログラム
EP2096794A1 (en) Monitoring method, device and system
EP2146479A1 (en) SIP server and communication system
JP2008271501A (ja) 通信制御サーバ、通信システム及び通信制御方法
US20160302055A1 (en) Information processing system
JP2016213604A (ja) 通信装置及び管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120806

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: 20121002

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121015

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees