JP5104693B2 - SIP application server load balancer and operation method thereof - Google Patents

SIP application server load balancer and operation method thereof Download PDF

Info

Publication number
JP5104693B2
JP5104693B2 JP2008248275A JP2008248275A JP5104693B2 JP 5104693 B2 JP5104693 B2 JP 5104693B2 JP 2008248275 A JP2008248275 A JP 2008248275A JP 2008248275 A JP2008248275 A JP 2008248275A JP 5104693 B2 JP5104693 B2 JP 5104693B2
Authority
JP
Japan
Prior art keywords
message
memory
application server
load balancer
cost
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
JP2008248275A
Other languages
Japanese (ja)
Other versions
JP2010079670A (en
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2008248275A priority Critical patent/JP5104693B2/en
Publication of JP2010079670A publication Critical patent/JP2010079670A/en
Application granted granted Critical
Publication of JP5104693B2 publication Critical patent/JP5104693B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、電話網やインターネット網などのネットワーク通信システムに関するもので、特に転送やプレゼンスなどの付加サービスを提供するセッション初期化プロトコル(SIP:Session Initiation Protocol)アプリケーションサーバにおけるロードバランサ(負荷分散装置)およびその動作方法に関するものである。   The present invention relates to a network communication system such as a telephone network and an Internet network, and in particular, a load balancer (load distribution device) in a session initialization protocol (SIP) application server that provides additional services such as transfer and presence. And its operating method.

従来、SIPを制御プロトコルに持つIP(Internet Protocol)電話などのサービスを提供するネットワークにおいて、転送やプレゼンスなどの付加サービスを提供するサーバとしてSIPアプリケーションサーバを用いることがある。またサーバの構成として図2のように、処理能力の向上と障害時における信頼性の確保の観点から複数のアプリケーションサーバを配置し、その前段にロードバランサを配置する形態が一般的に用いられる。   Conventionally, in a network that provides services such as an IP (Internet Protocol) telephone having SIP as a control protocol, a SIP application server is sometimes used as a server that provides additional services such as transfer and presence. Further, as shown in FIG. 2, a configuration in which a plurality of application servers are arranged from the viewpoint of improving processing capability and ensuring reliability at the time of failure and a load balancer is arranged in front of the server configuration is generally used.

また、アプリケーションサーバのプラットフオーム開発言語としてJava(米国Sun Microsystems Inc.の商標)がしばしば用いられている。Javaではプログラムが動的に確保したメモリ領域が不要になると自動的に再使用できるように開放する GC(Garbage Collection)機能がある。   Java (trademark of Sun Microsystems Inc., USA) is often used as a platform development language for application servers. Java has a GC (Garbage Collection) function that automatically releases a memory area dynamically allocated by a program when it is no longer needed.

GCにはいくつかの種類かあるが、プログラムが動的に確保できるメモリ領域が減少してくるとやがてFu11 GCと呼ばれるGCが発生する。Fu11 GCが発生すると、アプリケーションサーバ全体の処理能力が大きく低下する。   There are several types of GC, but when the memory area that the program can dynamically allocate decreases, a GC called Fu11 GC will eventually occur. When Fu11 GC occurs, the processing capacity of the entire application server is greatly reduced.

ところで、特許文献1に、Fu11 GCによる処理能力の低下を避ける方法の一つとしてメモリの使用率からFull GCの発生を予測し、ロードバランサでFu11 GC発生中のアプリケーションサーバにリクエストの振り分けを行わない例が開示されている。
特開2007-328413号公報
By the way, in Patent Document 1, as one method of avoiding the decrease in processing capacity due to Fu11 GC, the occurrence of Full GC is predicted from the memory usage rate, and the load balancer distributes requests to the application server where Fu11 GC is occurring. No examples are disclosed.
JP 2007-328413 A

従来のロードバランサにおいて、GC発生中のアプリケーションサーバを避けてリクエストの振り分けを行う場合、一度に複数のアプリケーションサーバでGCが発生した場合、全体の処理能力が著しく低下する。このときアプリケーションサーバが主体となって自サーバのメモリまたはメモリ以外のリソースの使用率を監視する方法があるが、この方法では他のアプリケーションサーバと同時にGCが発生することを避けることは難しい。ここでの同時とは、GCの発生時刻が同時という意味だけではなく、発生時刻が異なっても、ある時刻において複数のアプリケーションサーバがGC発生から終了までの間、つまりGC発生中の状態にあることを含んでいる。   In a conventional load balancer, when request distribution is performed avoiding application servers that are generating a GC, if multiple application servers generate a GC at the same time, the overall processing capacity is significantly reduced. At this time, there is a method of monitoring the usage rate of the memory of the own server or resources other than the memory mainly by the application server. However, with this method, it is difficult to avoid the occurrence of GC simultaneously with other application servers. Here, “simultaneous” means not only that the occurrence times of GC are the same, but even if the occurrence times are different, multiple application servers are in a state from the occurrence of GC to the end, that is, the occurrence of GC, at a certain time. Including that.

またロ−ドバランサがGC発生中のアプリケーションサーバを避けてリクエストの振り分けを行っている間は、トータルの単位時間当たりのリクエスト数が一定の場合、アプリケーションサーバ1台当たりの処理リクエスト数が増える。そのため、GCが発生していないアプリケーションサーバのメモリ使用率も、最初と比べて変化してしまうため、アプリケーションサーバ側で他のアプリケーションサ−バのメモリ変化を予測することも難しい。   In addition, while the load balancer distributes requests while avoiding application servers in which a GC is occurring, if the total number of requests per unit time is constant, the number of processing requests per application server increases. For this reason, the memory usage rate of the application server in which the GC has not occurred also changes compared to the first, so it is difficult for the application server side to predict the memory change of other application servers.

本発明は、このような従来技術の欠点を解消し、メモリコスト値を利用してメモリ使用量の分散を行い、より高い精度でFull GCが発生する契機を分散することにより全体のパフォーマンスを維持することができるSIPアプリケーションサーバのロードバランサおよびその動作方法を提供することを目的とする。   The present invention eliminates the disadvantages of the prior art, distributes the memory usage using the memory cost value, and maintains the overall performance by distributing the trigger for the occurrence of Full GC with higher accuracy. An object of the present invention is to provide a SIP application server load balancer that can be operated and an operation method thereof.

本発明によれば、上述の課題を解決するために、ネットワークに接続されたセッション初期化プロトコル(SIP) アプリケーションサーバのロードバランサは、ネットワークよりメッセージを受信するメッセージ受信手段と、この受信したメッセージの情報を解析するメッセージ解析手段と、メモリ変化量とメモリコスト値との対応関係をコストテーブルとしてあらかじめ準備し、解析したメッセージの情報に対応するメモリコスト値を出力するコストテーブル管理手段と、アプリケーションサーバごとのメモリコストの合計値を管理するメモリテーブル管理手段と、メモリコスト値とメモリコスト合計値情報とからメッセージの転送先のアプリケーションサーバを決定する転送処理手段と、決定されたアプリケーションサーバにメッセージを送信するメッセージ送信手段とを含むことを特徴とする。   According to the present invention, in order to solve the above-described problems, a load balancer of a session initialization protocol (SIP) application server connected to a network includes a message receiving means for receiving a message from the network, A message analysis unit for analyzing information, a cost table management unit for preparing a correspondence relationship between a memory change amount and a memory cost value in advance as a cost table, and outputting a memory cost value corresponding to the analyzed message information, and an application server A memory table management means for managing the total value of each memory cost, a transfer processing means for determining an application server as a message transfer destination from the memory cost value and the memory cost total value information, and a message to the determined application server. Sending Characterized in that it comprises a message transmission means for.

また、ネットワークに接続されたセッション初期化プロトコル(SIP) アプリケーションサーバのロードバランサの動作方法は、ネットワークよりメッセージを受信するメッセージ受信工程と、この受信したメッセージの情報を解析するメッセージ解析工程と、メモリ変化量とメモリコスト値との対応関係をコストテーブルとしてあらかじめ準備し、前記解析したメッセージの情報に対応するメモリコスト値を出力するコストテーブル管理工程と、アプリケーションサーバごとのメモリコストの合計値を管理するメモリテーブル管理工程と、メモリコスト値とメモリコスト合計値情報とからメッセージの転送先のアプリケーションサーバを決定する転送処理工程と、決定されたアプリケーションサーバにメッセージを送信するメッセージ送信工程とを含むことを特徴とする。   The operation method of the load balancer of the session initialization protocol (SIP) application server connected to the network includes a message receiving step of receiving a message from the network, a message analyzing step of analyzing information of the received message, a memory A correspondence table between the amount of change and the memory cost value is prepared in advance as a cost table, a cost table management process for outputting a memory cost value corresponding to the analyzed message information, and a total memory cost value for each application server is managed. A memory table management step, a transfer processing step for determining an application server that is a message transfer destination from the memory cost value and the total memory cost value information, and a message transmission step for transmitting a message to the determined application server Characterized in that it comprises a.

次に添付図面を参照して、本発明によるSIPアプリケーションサーバのロードバランサの実施例について詳細に説明する。   Next, embodiments of a load balancer of a SIP application server according to the present invention will be described in detail with reference to the accompanying drawings.

本実施例のロードバランサの構成100は、たとえば図1に示す通り、クライアントネットワーク対応側とアプリケーション対応側とに分かれて構成されており、メッセージ受信部とメッセージ送信部ともそれぞれ別々に設置されている。   The load balancer configuration 100 of the present embodiment is configured to be divided into a client network compatible side and an application compatible side, as shown in FIG. 1, for example, and a message receiving unit and a message transmitting unit are installed separately. .

まず、クライアントネットワーク対応側から説明する。   First, the client network side will be described.

ネットワークメッセージ受信部22は、ネットワークからアプリケーションサーバ側へのメッセージを受信し、この受信メッセージをメッセージ解析部24に送る。   The network message receiving unit 22 receives a message from the network to the application server side, and sends this received message to the message analyzing unit 24.

メッセージ解析部24は、転送メッセージ情報をコストテーブル管理部26に送信する。さらにコストテーブル管理部26から得られたメモリコスト値を転送処理部28に送信する。   The message analysis unit 24 transmits the transfer message information to the cost table management unit 26. Further, the memory cost value obtained from the cost table management unit 26 is transmitted to the transfer processing unit 28.

コストテーブル管理部26は、たとえば図3、図4に示すように、あらかじめ実験などにより得られた適切なメモリコスト値を基に転送メッセージ情報とメモリの変化量との対応関係をコストテーブルとして管理し、このコストテーブルを使いメッセージ解析部24から送られた情報に対応するメモリコスト値を選び、メッセージ解析部24に送る。   For example, as shown in FIGS. 3 and 4, the cost table management unit 26 manages the correspondence between the transfer message information and the amount of change in the memory as a cost table based on an appropriate memory cost value obtained in advance through experiments or the like. Then, using this cost table, the memory cost value corresponding to the information sent from the message analysis unit 24 is selected and sent to the message analysis unit 24.

ネットワーク転送処理部28は、メッセージ解析部24から送られたメモリコスト値情報をメモリテーブル管理部30に送り、メモリテーブル管理部30からメモリコスト合計値情報を得て、どのアプリケーションサーバにメッセージの転送を行うかを決定する。この判断結果をネットワークメッセージ送信部32に送る。   The network transfer processing unit 28 sends the memory cost value information sent from the message analysis unit 24 to the memory table management unit 30, obtains the memory cost total value information from the memory table management unit 30, and transfers the message to which application server Decide what to do. This determination result is sent to the network message transmission unit 32.

メモリテーブル管理部30は、ネットワーク転送処理部28からのメモリコスト値情報に基づきアプリケーションサーバごとのメモリコスト合計値情報をネットワーク転送処理部28に送る。それと共にメモリテーブル管理部30は、たとえば図5に示すテーブルようにアプリケーションサーバごとのメモリに関する情報を管理し、たとえば、Full GCが発生したり、再起動が行われた場合には、そのメモリコスト合計値をクリアする。   The memory table management unit 30 sends memory cost total value information for each application server to the network transfer processing unit 28 based on the memory cost value information from the network transfer processing unit 28. At the same time, the memory table management unit 30 manages information related to the memory for each application server, for example, as shown in the table of FIG. 5. For example, when a full GC occurs or restarts, the memory cost is reduced. Clear the total value.

ネットワークメッセージ送信部32は、ネットワーク転送処理部28より送られた判断結果に基づきネットワークを介してアプリケーションサーバにメッセージの転送を行う。   The network message transmission unit 32 transfers the message to the application server via the network based on the determination result sent from the network transfer processing unit 28.

つづいて、アプリケーション対応側について説明する。   Next, the application corresponding side will be described.

アプリケーションメッセージ受信部42は、アプリケーションサーバから対向する端末や他のSIPサーバへのメッセージを受信し、この受信メッセージを共通のメッセージ解析部24に送る。   The application message receiving unit 42 receives a message from the application server to the opposite terminal or another SIP server, and sends this received message to the common message analyzing unit 24.

メッセージ解析部24は、アプリケーションメッセージ受信部42から送られるメッセージの解析を行い、解析情報を直接アプリケーション転送処理部48に送る。   The message analysis unit 24 analyzes the message sent from the application message receiving unit 42, and sends the analysis information directly to the application transfer processing unit 48.

アプリケーション転送処理部48は、メッセージ解析部24から送られた解析情報から対向する端末または他のSIPサーバを確認し、アプリケーションメッセージ送信部52に送る。   The application transfer processing unit 48 checks the opposite terminal or other SIP server from the analysis information sent from the message analysis unit 24, and sends it to the application message transmission unit 52.

アプリケーションメッセージ送信部52は、アプリケーション転送処理部48からの情報に基づきメッセージを送信する。   The application message transmission unit 52 transmits a message based on information from the application transfer processing unit 48.

次に、本実施例におけるSIPアプリケーションサーバのロードバランサ100の動作方法について、図6のフローチャートを参照しながら主にクライアントネットワーク対応側の動作方法について説明する。   Next, the operation method of the load balancer 100 of the SIP application server in this embodiment will be described mainly with reference to the flowchart of FIG.

まず、インターネットなどのネットワークからネットワークメッセージ受信部22でメッセージが受信される(S102)。   First, a message is received by the network message receiving unit 22 from a network such as the Internet (S102).

受信されたメッセージは、メッセージ解析部24に送られメッセージの解析が行われる(S104)。   The received message is sent to the message analysis unit 24 for message analysis (S104).

この解析結果は、コストテーブル管理部26にあらかじめ設定、管理されている図4に示すようなテーブルと照合され、当てはまるメモリコスト値が取得される(S106)。   This analysis result is collated with a table as shown in FIG. 4 which is set and managed in advance in the cost table management unit 26, and a corresponding memory cost value is acquired (S106).

次にネットワークメッセージ転送処理部28で、負荷が分散されるように選択されたアプリケーションサーバは、メモリテーブル管理部30に蓄積した各アプリケーションサーバのコスト合計値により検証され、たとえばコスト合計値の大きい順番すなわち使用可能なメモリ領域の多い順番にアプリケーションサーバが再度選択され決定される(S108)。   Next, the application server selected so that the load is distributed by the network message transfer processing unit 28 is verified by the total cost value of each application server accumulated in the memory table management unit 30, for example, in order of increasing cost total value. That is, the application servers are selected again and determined in the order of the largest available memory area (S108).

決定されたアプリケーションサーバに対してネットワークメッセージ送信部32よりメッセージが送信される(S110)。   A message is transmitted from the network message transmitting unit 32 to the determined application server (S110).

メモリテーブル管理部30ではメッセージが送信されたアプリケーションサーバに対するメモリテーブルのコスト合計値が更新される(S112)。   The memory table management unit 30 updates the total cost of the memory table for the application server to which the message is transmitted (S112).

次に、本発明によるSIPアプリケーションサーバのロードバランサの他の実施例、すなわち第2の実施例について図7を参照にして説明する。なお第1の実施例と同じ構成部は、同じ参照符号で示し、できるだけ反復説明を避ける。   Next, another embodiment of the load balancer of the SIP application server according to the present invention, that is, the second embodiment will be described with reference to FIG. The same components as those in the first embodiment are denoted by the same reference numerals, and repeated description is avoided as much as possible.

第2の実施例の SIPアプリケーションサーバのロードバランサ200は、コストテーブル管理部26のコストテーブルのコスト値を実際のデータのやり取りから得られた実績値に基づいて設定するものである。   The load balancer 200 of the SIP application server according to the second embodiment sets the cost value of the cost table of the cost table management unit 26 based on the actual value obtained from the actual data exchange.

第1の実施例と同様にクライアントネットワーク対応側とアプリケーション対応側とに分かれて構成されているが、クライアントネットワーク対応側は、第1の実施例とほぼ同じ構成であるので説明を省略し、主にアプリケーション対応側の構成について説明する。   As in the first embodiment, the client network compatible side and the application compatible side are configured separately. However, the client network compatible side has almost the same configuration as that of the first embodiment, so that the description thereof is omitted. Next, the configuration on the application corresponding side will be described.

アプリケーションメッセージ受信部42は、アプリケーションサーバから対向する端末や他のSIPサーバへのメッセージを受信し、共通のメッセージ解析部24に送る。   The application message receiving unit 42 receives a message from the application server to the opposite terminal or another SIP server and sends it to the common message analysis unit 24.

メッセージ解析部24は、アプリケーションメッセージ受信部42から送られるメッセージの解析を行い、解析情報を直接アプリケーション転送処理部48に送るとともに、受信メッセージから得られたアプリケーションサーバのメモリ情報をコスト計算部44に送付する。   The message analysis unit 24 analyzes the message sent from the application message receiving unit 42, sends the analysis information directly to the application transfer processing unit 48, and sends the memory information of the application server obtained from the received message to the cost calculation unit 44. Send it.

コスト計算部44は、メッセージ解析部24から送られたアプリケーションサーバのメモリ情報を基にメモリコスト値を計算し、クライアントネットワーク対応側のコストテーブル管理部46に送る。   The cost calculation unit 44 calculates a memory cost value based on the memory information of the application server sent from the message analysis unit 24 and sends it to the cost table management unit 46 on the client network side.

コストテーブル管理部46は、コスト計算部44から送られたメモリコスト値を基に転送メッセージ情報とメモリの変化量との対応関係をコストテーブルとして更新管理を行う。この更新されたコストテーブルを使いメッセージ解析部24から送られた情報に対応するメモリコスト値を選び、メッセージ解析部24に送る。   Based on the memory cost value sent from the cost calculation unit 44, the cost table management unit 46 manages the correspondence between the transfer message information and the memory change amount as a cost table. Using this updated cost table, a memory cost value corresponding to the information sent from the message analysis unit 24 is selected and sent to the message analysis unit 24.

以降は、第1の実施例と同じであるので書略する。   Since the subsequent steps are the same as those in the first embodiment, they will be omitted.

次に、第2の実施例におけるSIPアプリケーションサーバのロードバランサ200の動作方法について、図8のフローチャートを参照にしながら、主に新たに変更された動作方法について説明する。なお第1の実施例と同じ動作は簡略化して、できるだけ反復説明を避ける。   Next, the operation method of the SIP application server load balancer 200 in the second embodiment will be described mainly with reference to the flowchart of FIG. It should be noted that the same operation as that of the first embodiment is simplified to avoid repeated description as much as possible.

まず、インターネットなどのネットワークからネットワークメッセージ受信部22でメッセージが受信され(S202)、メッセージ解析部24に送られメッセージの解析が行われる(S204)。   First, a message is received by the network message receiving unit 22 from a network such as the Internet (S202) and sent to the message analysis unit 24 to analyze the message (S204).

解析結果は、コスト計算部44に送られ、メッセージに含まれるアプリケーションサーバのメモリ情報からコスト値を計算する(S206)。   The analysis result is sent to the cost calculation unit 44, and the cost value is calculated from the memory information of the application server included in the message (S206).

計算されたコスト値は、コストテーブル管理部46に送られコストテーブルのデータが更新される(S208)。   The calculated cost value is sent to the cost table management unit 46, and the cost table data is updated (S208).

以降、第1の実施例と同様に、更新されたコストテーブルを基にアプリケーションサーバの振り分けが行われる(S210)。   Thereafter, as in the first embodiment, application servers are distributed based on the updated cost table (S210).

ここで、ロードバランサが受信するメッセージを送信するSIPアプリケーションサーバの一例について図9を用いて説明する。   Here, an example of a SIP application server that transmits a message received by the load balancer will be described with reference to FIG.

たとえば、SIPアプリケーションサーバ300は、メッセージ受信部62と、アプリケーション実行部64とメモリ管理部66とメッセージ送信部68とを含んで構成される。   For example, the SIP application server 300 includes a message reception unit 62, an application execution unit 64, a memory management unit 66, and a message transmission unit 68.

メッセージ受信部62は、ネットワークからメッセージを受信し、アプリケーション実行部64に送る。   The message receiving unit 62 receives a message from the network and sends it to the application execution unit 64.

アプリケーション実行部64は、メッセージ受信部62より送られたメッセージに基づきアプリケーションプログラムを実行し、そのプログラム実行結果をメッセージ送信部68に送る。   The application execution unit 64 executes the application program based on the message sent from the message reception unit 62, and sends the program execution result to the message transmission unit 68.

メモリ管理部66は、アプリケーションサーバでのメモリ使用状況などのメモリ情報を取得し、メッセージ送信部68に送る。   The memory management unit 66 acquires memory information such as the memory usage status in the application server and sends it to the message transmission unit 68.

メッセージ送信部68は、アプリケーション実行部64から送られるプログラム実行結果とメモリ管理部66から送られるメモリ情報とを含むメッセージをネットワークへ送信する。   The message transmission unit 68 transmits a message including the program execution result sent from the application execution unit 64 and the memory information sent from the memory management unit 66 to the network.

次に、SIPアプリケーションサーバの動作について図10を用いて説明する。   Next, the operation of the SIP application server will be described with reference to FIG.

インターネットなどのネットワークからメッセージ受信部62でメッセージが受信される(S302)と、メモリ監視開始指示がメモリ管理部66に出される(S304)。   When the message reception unit 62 receives a message from a network such as the Internet (S302), a memory monitoring start instruction is issued to the memory management unit 66 (S304).

メモリ管理部66ではこの開始指示に基づきその時点のメモリ使用量を保存する(S306)。   Based on this start instruction, the memory management unit 66 stores the memory usage at that time (S306).

アプリケーション実行部64でアプリケーションが実行され(S308)、終了するとメモリ監視終了指示がメモリ管理部66に出される(S310)。   The application is executed by the application execution unit 64 (S308), and when it is finished, a memory monitoring end instruction is issued to the memory management unit 66 (S310).

メモリ管理部66ではこの終了指示に基づき、終了時点でのメモリ使用量と、保存されていた開始時点のメモリ使用量とのメモリ差分計算が行われ(S312)、消費されたメモリ量が計算される。   Based on this end instruction, the memory management unit 66 calculates a memory difference between the memory usage at the end time and the memory usage at the start time stored (S312), and calculates the consumed memory amount. The

消費されたメモリ情報は、SIPメッセージのヘッダ内にパラメータ値として埋め込まれ、メモリ情報を含むヘッダをもったSIPメッセージが生成され(S314)、メッセージ送信部68より送信される(S316)。   The consumed memory information is embedded as a parameter value in the header of the SIP message, a SIP message having a header including the memory information is generated (S314), and transmitted from the message transmitting unit 68 (S316).

なお、図3に示したメッセージ分類要素は、一例であり、他にメッセージサイズなど新たな要素を加えても構わないし、処理の高速化のために分類要素を絞り込んでも構わない。   Note that the message classification elements shown in FIG. 3 are merely examples, and other elements such as a message size may be added, or the classification elements may be narrowed down to increase the processing speed.

また、第2の実施例において、アプリケーションサーバからのメモリ情報を基に毎回コスト値を計算するのではなく、運用前にメッセージ転送を試みてあらかじめ得たコスト値を基に処理することによりメモリ情報算出処理を省略し、負荷の軽減をはかることも可能である。   Further, in the second embodiment, the memory information is not calculated by calculating the cost value every time based on the memory information from the application server, but by processing based on the cost value obtained in advance by attempting message transfer before the operation. It is also possible to reduce the load by omitting the calculation process.

このように第1の実施例によれば、SIPアプリケーションサーバのロードバランサにおいて、GCが発生する契機の一つとなるメモリ使用量の分散を行い、その結果、Full GCの発生をほとんど回避させることが可能となり、全体的な性能の効率を維持することができる。   As described above, according to the first embodiment, the load balancer of the SIP application server distributes the memory usage, which is one of the triggers for the occurrence of GC, and as a result, almost no occurrence of Full GC can be avoided. And the overall performance efficiency can be maintained.

また、第2の実施例によれば、あらかじめメモリコスト値が設定できない場合やより確度の高いメモリコスト値を用いた場合でも、より正確なメモリコスト値が得られ、より高い精度で分散化を制御することを可能とし Full GC 発生を極力抑制できるロードバランサを提供することができる。   Further, according to the second embodiment, even when a memory cost value cannot be set in advance or when a memory cost value with higher accuracy is used, a more accurate memory cost value can be obtained and distributed with higher accuracy. It is possible to provide a load balancer that can be controlled and can suppress the occurrence of Full GC as much as possible.

本発明の実施例によるロードバランサを示すブロックである。3 is a block diagram illustrating a load balancer according to an embodiment of the present invention. 一般的なSIPアプリケーションサーバとロードバランサの配置図である。FIG. 2 is a layout diagram of a general SIP application server and load balancer. 本発明の実施例によるロードバランサの説明の図である。It is a figure of description of the load balancer by the Example of this invention. 本発明の実施例によるロードバランサの説明の図である。It is a figure of description of the load balancer by the Example of this invention. 本発明の実施例によるロードバランサの説明の図である。It is a figure of description of the load balancer by the Example of this invention. 図1に示す実施例におけるロードバランサの動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the load balancer in the Example shown in FIG. 本発明の他の実施例によるロードバランサを示すブロックである。6 is a block diagram illustrating a load balancer according to another embodiment of the present invention. 図7に示す実施例におけるロードバランサの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the load balancer in the Example shown in FIG. 本発明の他の実施例によるSIPアプリケーションサーバを示すブロックである。6 is a block diagram illustrating a SIP application server according to another embodiment of the present invention. 図9に示す実施例におけるSIPアプリケーションサーバの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the SIP application server in the Example shown in FIG.

符号の説明Explanation of symbols

100,200 ロードバランサ
300 SIPアプリケーションサーバ
22 ネットワークメッセージ受信部
24 メッセージ解析部
26,46 コストテーブル管理部
28 ネットワーク転送処理部
30 メモリテーブル管理部
32 ネットワークメッセージ送信部
42 アプリケーションメッセージ受信部
44 コスト計算部
48 アプリケーション転送処理部
52 アプリケーションメッセージ送信部
64 アプリケーション実行部
66 メモリ管理部
100,200 load balancer
300 SIP application server
22 Network message receiver
24 Message analysis part
26,46 Cost table management department
28 Network transfer processor
30 Memory table manager
32 Network message transmitter
42 Application message receiver
44 Cost calculator
48 Application transfer processor
52 Application message transmitter
64 Application execution part
66 Memory management

Claims (5)

ネットワークに接続されたセッション初期化プロトコル(SIP) アプリケーションサーバのロードバランサにおいて、該ロードバランサは、
ネットワークよりメッセージを受信するメッセージ受信手段と、
該受信したメッセージの情報を解析するメッセージ解析手段と、
メモリ変化量とメモリコスト値との対応関係をコストテーブルとしてあらかじめ準備し、前記解析したメッセージの情報に対応するメモリコスト値を出力するコストテーブル管理手段と、
アプリケーションサーバごとのメモリコストの合計値を管理するメモリテーブル管理手段と、
前記メモリコスト値と前記メモリコスト合計値情報とからメッセージの転送先のアプリケーションサーバを決定する転送処理手段と、
前記決定されたアプリケーションサーバにメッセージを送信するメッセージ送信手段とを含むことを特徴とするSIPアプリケーションサーバのロードバランサ。
In a session initialization protocol (SIP) application server load balancer connected to a network, the load balancer
Message receiving means for receiving messages from the network;
Message analysis means for analyzing information of the received message;
A cost table management means for preparing a correspondence relationship between a memory change amount and a memory cost value in advance as a cost table, and outputting a memory cost value corresponding to the analyzed message information;
Memory table management means for managing the total memory cost for each application server;
Transfer processing means for determining a message transfer destination application server from the memory cost value and the memory cost total value information;
A load balancer for a SIP application server, comprising message transmission means for transmitting a message to the determined application server.
請求項1のロードバランサにおいて、前記コストテーブルは、あらかじめ実験などを行いその結果から求めたことを特徴とするSIPアプリケーションサーバのロードバランサ。   2. The load balancer of a SIP application server according to claim 1, wherein the cost table is obtained from a result of an experiment conducted in advance. 請求項1のロードバランサにおいて、前記コストテーブルは、アプリケーションサーバからメッセージを受信し、該メッセージからメモリ情報を得て、該メモリ情報からメモリコスト値を計算して求めたことを特徴とするSIPアプリケーションサーバのロードバランサ。   The SIP application according to claim 1, wherein the cost table is obtained by receiving a message from an application server, obtaining memory information from the message, and calculating a memory cost value from the memory information. Server load balancer. 請求項3のロードバランサにおいて、前記アプリケーションサーバは、ネットワークからメッセージを受信し、該メッセージに基づきアプリケーションプログラムを実行し、該プログラム実行後のメモリ情報を取得し、該プログラム実行結果と該メモリ情報とを含むメッセージをネットワークに送信することを特徴とするSIPアプリケーションサーバのロードバランサ。   4. The load balancer according to claim 3, wherein the application server receives a message from the network, executes an application program based on the message, acquires memory information after executing the program, and obtains the program execution result and the memory information. A load balancer of a SIP application server, characterized by transmitting a message including a message to the network. ネットワークに接続されたセッション初期化プロトコル(SIP) アプリケーションサーバのロードバランサの動作方法において、該方法は、
ネットワークよりメッセージを受信するメッセージ受信工程と、
該受信したメッセージの情報を解析するメッセージ解析工程と、
メモリ変化量とメモリコスト値との対応関係をコストテーブルとしてあらかじめ準備し、前記解析したメッセージの情報に対応するメモリコスト値を出力するコストテーブル管理工程と、
アプリケーションサーバごとのメモリコストの合計値を管理するメモリテーブル管理工程と、
前記メモリコスト値と前記メモリコスト合計値情報とからメッセージの転送先のアプリケーションサーバを決定する転送処理工程と、
前記決定されたアプリケーションサーバにメッセージを送信するメッセージ送信工程とを含むことを特徴とするSIPアプリケーションサーバのロードバランサの動作方法。
In a method of operating a load balancer of a session initialization protocol (SIP) application server connected to a network, the method comprises:
A message receiving process for receiving a message from the network;
A message analysis step of analyzing information of the received message;
A cost table management step of preparing a correspondence relationship between a memory change amount and a memory cost value as a cost table in advance, and outputting a memory cost value corresponding to the analyzed message information;
A memory table management process for managing the total memory cost for each application server;
A transfer processing step of determining an application server to which a message is transferred from the memory cost value and the memory cost total value information;
And a message transmission step of transmitting a message to the determined application server. A method of operating a load balancer of a SIP application server.
JP2008248275A 2008-09-26 2008-09-26 SIP application server load balancer and operation method thereof Expired - Fee Related JP5104693B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008248275A JP5104693B2 (en) 2008-09-26 2008-09-26 SIP application server load balancer and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008248275A JP5104693B2 (en) 2008-09-26 2008-09-26 SIP application server load balancer and operation method thereof

Publications (2)

Publication Number Publication Date
JP2010079670A JP2010079670A (en) 2010-04-08
JP5104693B2 true JP5104693B2 (en) 2012-12-19

Family

ID=42210025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008248275A Expired - Fee Related JP5104693B2 (en) 2008-09-26 2008-09-26 SIP application server load balancer and operation method thereof

Country Status (1)

Country Link
JP (1) JP5104693B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683253A (en) * 2013-11-27 2015-06-03 北京大唐高鸿数据网络技术有限公司 Dynamic load balancing method for unified communication system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07249010A (en) * 1994-03-10 1995-09-26 Hitachi Ltd Job schedular and job scheduling method
JP2002140313A (en) * 2000-10-31 2002-05-17 Canon Inc Device and method for information processing and storage medium
JP2002342297A (en) * 2001-05-16 2002-11-29 Nec Corp Distributed simulation controller
JP4433309B2 (en) * 2005-08-24 2010-03-17 日本電気株式会社 Load balancer
JP4523921B2 (en) * 2006-02-24 2010-08-11 三菱電機株式会社 Computer resource dynamic controller
JP2008198145A (en) * 2007-02-16 2008-08-28 Mitsubishi Electric Corp Load distribution apparatus

Also Published As

Publication number Publication date
JP2010079670A (en) 2010-04-08

Similar Documents

Publication Publication Date Title
EP3637733B1 (en) Load balancing engine, client, distributed computing system, and load balancing method
CN109905259B (en) Communication connection maintaining method, system and related equipment
US20060069777A1 (en) Request message control method for using service and service providing system
US20060212597A1 (en) Multi-stage load distributing apparatus and method, and program
US9935853B2 (en) Application centric network experience monitoring
JP2010538551A (en) Method and system for automatically confirming connectivity status of an IP link on an IP network
US20170222893A1 (en) Distributed Business Transaction Path Network Metrics
CN101174994A (en) Network card test system and method thereof
CN112104679B (en) Method, apparatus, device and medium for processing hypertext transfer protocol request
JP2009026221A (en) Business process operation management system, method, process operation management device, and its program
JP5104693B2 (en) SIP application server load balancer and operation method thereof
CN113595894B (en) Communication method, device, equipment and medium between service nodes and client nodes
CN108259576B (en) Software and hardware real-time information transmission system and method
US10616081B2 (en) Application aware cluster monitoring
US20170222904A1 (en) Distributed Business Transaction Specific Network Data Capture
JP6296605B2 (en) Push notification transmission method and system, push notification apparatus and communication terminal
KR101997986B1 (en) Method and Apparatus for Cloud-Fog-Client Triangular Computing for Interactive IoT Applications
JP5702232B2 (en) Server cooperation mutual assistance system and server and server cooperation mutual assistance program
KR101625159B1 (en) Dynamic session assignment method, dynamic session management method and system
CN114268615B (en) Service processing method and system based on TCP connection
US20240098037A1 (en) Multimedia Data Stream Processing Method, Electronic Device, and Storage Medium
KR101074465B1 (en) Method and apparatus for controlling traffic by cooperating with peer
CN111083213B (en) Communication method and system
JP2011170772A (en) Message processing system, message processing device and message processing method
KR20100038798A (en) System and method for allocation of contents using proxy server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120523

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5104693

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees