JP2007316837A - Server system - Google Patents

Server system Download PDF

Info

Publication number
JP2007316837A
JP2007316837A JP2006144223A JP2006144223A JP2007316837A JP 2007316837 A JP2007316837 A JP 2007316837A JP 2006144223 A JP2006144223 A JP 2006144223A JP 2006144223 A JP2006144223 A JP 2006144223A JP 2007316837 A JP2007316837 A JP 2007316837A
Authority
JP
Japan
Prior art keywords
session
server
history
request message
end server
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.)
Pending
Application number
JP2006144223A
Other languages
Japanese (ja)
Inventor
Mitsuhiro Iwamoto
光裕 岩本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006144223A priority Critical patent/JP2007316837A/en
Publication of JP2007316837A publication Critical patent/JP2007316837A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a server system, capable of reproducing a state including a session ID uniquely issued by each server for identifying each client in a server that is a transfer destination. <P>SOLUTION: This system comprises a plurality of front end servers each including a session management means for assigning session IDs to clients sorted by a load distribution device; the load distribution device including a sorting means for sorting, according to the session IDs, a request message from each client to the plurality of front end servers, a failure detection means for detecting a failure of front end server, and an assignment change means for assigning the session which was assigned to the front end server with the failure to another front end server; a history accumulation means for accumulating the request message received from each front end server for each of the session IDs; and a state reproduction means for reproducing, based on history information accumulated in conformation to the session changed in assignment, the processing state of the corresponding session in the front end server that is a new assignment destination. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、複数のサーバでクライアントからの要求に応じた負荷を分散するクライアント・サーバ型ネットワークシステムにおいて、サーバの障害が発生した際に振替先のサーバに処理を引き継ぎ可能なサーバシステムに関する。   The present invention relates to a server system capable of taking over processing to a transfer destination server when a server failure occurs in a client-server network system in which a load corresponding to a request from a client is distributed among a plurality of servers.

ブロードバンド環境の普及に伴って、WEB閲覧サービスとともに映像および音声を含む情報配信サービスなど多様なネットワークサービスが提供されるようになっており、このようなネットワークサービスへの需要の拡大に伴って、これらのネットワークサービスの規模も年々拡大している。
このように大規模化したネットワークサービスを提供するためのサーバシステムでは、可用性の維持およびスケーラビリティの向上とともに、システムの運用コストを抑えることも重要視されている。
With the spread of the broadband environment, various network services such as information distribution services including video and audio are provided along with the WEB browsing service. As the demand for such network services expands, The scale of network services is growing year by year.
In such a server system for providing a large-scale network service, importance is also placed on maintaining system availability and improving scalability as well as reducing system operation costs.

スケーラビリティの向上を図るためのサーバシステムとして、クライアントからの要求を付加分散装置によって、同等のサービスを提供する複数のサーバに均等に配分する構成が提案されている。そして、このような負荷分散型のシステムにおいて可用性を維持するための仕組みとして、代理応答装置が各サーバに関する要求メッセージおよび応答メッセージを記録するとともに、各サーバの障害監視および障害発生時の引継ぎ処理を行うシステムが提案されている(特許文献1参照)。   As a server system for improving scalability, a configuration has been proposed in which a request from a client is equally distributed to a plurality of servers providing an equivalent service by an additional distribution device. As a mechanism for maintaining availability in such a load balancing system, the proxy response device records request messages and response messages for each server, and performs fault monitoring for each server and takeover processing when a failure occurs. A system has been proposed (see Patent Document 1).

特許文献1の技法では、代理応答装置により、各サーバがクライアントから受け取った要求メッセージおよびクライアントへ送出した応答メッセージがサーバごとに記録されており、障害が発生したときに、障害が発生したサーバに対応して記録された要求メッセージを振替先のサーバに順次に送信し、この振替先のサーバに障害が発生したサーバと同等の内部状態を再現する。このようにして、障害が発生したサーバの処理を振替先のサーバに引継ぐことにより、可用性の維持が実現されている。
特開2004−280738号公報
In the technique of Patent Document 1, a request message received by each server from a client and a response message sent to the client are recorded for each server by the proxy response device, and when a failure occurs, the server in which the failure has occurred is recorded. Correspondingly recorded request messages are sequentially transmitted to the transfer destination server, and the internal state equivalent to that of the server in which the failure has occurred is reproduced. In this way, maintenance of availability is realized by taking over the processing of the server in which the failure has occurred to the transfer destination server.
Japanese Patent Laid-Open No. 2004-280738

ところで、映像情報や音声情報を配信するサービスなどでは、配信先のクライアントを区別するために、サービスを提供するサーバが独自のセッションIDを付与し、それぞれのクライアントに関する処理の進捗を管理する場合がある。
このようなセッションIDに着目した管理が必要なサービスを提供するサーバシステムでは、上述したようにして、単純にクライアントからの要求メッセージの蓄積を振替先のサーバに渡したのでは、振替先のサーバにおいてこれらの要求メッセージの処理を行う際に、新たに別のセッションIDが付与されてしまうため、障害の発生したサーバにおいて提供されていたサービスに関する処理状況を完全に再現することはできなかった。
By the way, in a service that distributes video information and audio information, a server that provides a service may assign a unique session ID to manage the progress of processing related to each client in order to distinguish the client of the distribution destination. is there.
In a server system that provides a service that requires management focusing on the session ID, as described above, if the accumulation of request messages from the client is simply passed to the transfer destination server, the transfer destination server When processing these request messages, a new session ID is newly assigned, so that the processing status related to the service provided in the failed server cannot be completely reproduced.

本発明は、システム内のサーバに障害が発生したときに、そのサーバが各クライアントを識別するために独自に発行したセッションIDを含めて状態を振替先のサーバに再現可能なサーバシステムを提供することを目的とする。   The present invention provides a server system capable of reproducing a state to a transfer destination server including a session ID uniquely issued for identifying each client when a failure occurs in a server in the system. For the purpose.

本発明にかかわる第1のサーバシステムは、それぞれセッション管理手段を備えた複数のフロントエンドサーバと、振分手段と障害検出手段と割当変更手段とを備えた負荷分散装置と、履歴蓄積手段と、状態再現手段とから構成される。
本発明にかかわる第1のサーバシステムの原理は、以下の通りである。
少なくとも一つのクライアントからの要求メッセージを、それぞれ同等なサービスを提供可能な複数のフロントエンドサーバに振り分けて負荷を分散させる負荷分散装置を備えたサーバシステムにおいて、複数のフロントエンドサーバそれぞれは、前記負荷分散装置によって処理が振り分けられたクライアントから要求対象のサービスに対応して送出される少なくとも一つの要求メッセージからなるセッションに一意のセッションIDを付与して管理するセッション管理手段を備える。また、負荷分散装置において、振分手段は、セッションIDで示される割り当てに従って、前記各クライアントからの要求メッセージを前記複数のフロントエンドサーバに振り分ける。障害検出手段は、複数のフロントエンドサーバそれぞれの動作を監視し、これらのフロントエンドサーバの障害を検出する。割当変更手段は、障害検出手段によって障害が検出されたフロントエンドサーバに割り当てられていたセッションを別のフロントエンドサーバに割り当てる。また、履歴蓄積手段は、各フロントエンドサーバを介して当該フロントエンドサーバに振り分けられた要求メッセージおよびこの要求メッセージを含むセッションに付与されたセッションIDを受け取り、前記セッションIDごとに前記各クライアントからの要求メッセージに関する履歴情報を蓄積する。状態再現手段は、割当変更手段による割り当てが変更されたセッションを示すセッションIDに対応して蓄積された履歴情報に基づいて、新たな割当先のフロントエンドサーバに前記変更元のフロントエンドサーバにおける該当するセッションの処理状態を再現する。
A first server system according to the present invention includes a plurality of front-end servers each provided with a session management unit, a load balancer including a distribution unit, a failure detection unit, and an allocation change unit, a history storage unit, And state reproduction means.
The principle of the first server system according to the present invention is as follows.
In a server system including a load distribution device that distributes a load by distributing a request message from at least one client to a plurality of front-end servers each capable of providing an equivalent service, each of the plurality of front-end servers includes the load Session management means is provided for managing by assigning a unique session ID to a session consisting of at least one request message sent from a client to which processing is distributed by the distributed device in correspondence with the requested service. In the load balancer, the distribution unit distributes the request message from each client to the plurality of front-end servers according to the assignment indicated by the session ID. The failure detection means monitors the operation of each of the plurality of front-end servers and detects a failure of these front-end servers. The assignment changing means assigns the session assigned to the front end server in which the failure is detected by the failure detecting means to another front end server. The history storage means receives the request message distributed to the front-end server via each front-end server and the session ID assigned to the session including the request message, and receives the request ID from each client for each session ID. Stores history information about request messages. Based on the history information accumulated corresponding to the session ID indicating the session whose assignment has been changed by the assignment changing means, the state reproduction means applies the new assignment destination front-end server to the corresponding change in the front-end server. Reproduce the session processing status.

このように構成された第1のサーバシステムの動作は、下記の通りである。
クライアントからの要求メッセージが負荷分散装置の振分手段を介して複数のフロントエンドサーバのいずれかに振り分けられると、このフロントエンドサーバに備えられたセッション管理手段により、この要求メッセージを含む一連の要求メッセージからなるセッションについて一意のセッションIDが付与される。そして、以降は、このセッションに属する各要求メッセージは、このセッションにかかわるサービスに関する履歴情報として、上述したセッションIDに対応して履歴蓄積手段に蓄積される。
The operation of the first server system configured as described above is as follows.
When a request message from a client is distributed to one of a plurality of front-end servers via a distribution unit of the load balancer, a series of requests including this request message is performed by the session management unit provided in the front-end server. A unique session ID is assigned to a session consisting of a message. Thereafter, each request message belonging to this session is accumulated in the history accumulating means corresponding to the above-mentioned session ID as history information regarding the service related to this session.

その後、これらのフロントエンドサーバのいずれかに障害が発生したことが障害検出手段によって検出されると、割当変更手段により、障害が検出されたフロントエンドサーバに割り当てられていたセッションが別のフロントエンドサーバに割り当てられ、その後に到達するこのセッションに属する要求メッセージは、振分手段により、新たな割当先のフロントエンドサーバに振り分けられる。   Thereafter, when the failure detection means detects that a failure has occurred in one of these front-end servers, the session assigned to the front-end server in which the failure has been detected is assigned to another front-end by the assignment change means. A request message belonging to this session that is allocated to the server and arrives thereafter is distributed to the new allocation destination front-end server by the distribution means.

また、このとき、状態再現手段により、上述したようにして割り当てが変更されたセッションに対応して履歴蓄積手段に蓄積された履歴情報に基づいて、このセッションに関する処理がセッションIDも含めて割当先のフロントエンドサーバにおいて再現される。
本発明にかかわる第2のサーバシステムは、上述した第1のサーバシステムにおいて、状態再現手段に抽出手段と履歴転送手段と処理引継ぎ手段とを備えて構成される。
At this time, the state reproduction unit performs processing related to this session including the session ID on the basis of the history information stored in the history storage unit corresponding to the session whose assignment has been changed as described above. Reproduced on the front-end server.
A second server system according to the present invention is configured in the above-described first server system by including an extraction unit, a history transfer unit, and a process takeover unit in the state reproduction unit.

本発明にかかわる第2のサーバシステムの原理は、以下の通りである。
上述した第1のサーバシステムに備えられる状態再現手段において、抽出手段は、複数のフロントエンドサーバそれぞれに備えられ、前記負荷分散装置の前記振分手段を介して受け取った要求メッセージから、他のフロントエンドサーバによって付与されたセッションIDで示されるセッションに属する要求メッセージを抽出する。履歴転送手段は、抽出手段によって抽出された要求メッセージが属するセッションを示すセッションIDに対応して前記履歴蓄積手段に蓄積された履歴情報を前記振り分け先のフロントエンドサーバに転送する。処理引継ぎ手段は、複数のフロントエンドサーバそれぞれに備えられ、前記履歴転送手段を介して受け取った履歴情報に対応するセッションIDを引き継ぎ、前記履歴情報に含まれる要求メッセージに応じた処理を実行する。
The principle of the second server system according to the present invention is as follows.
In the state reproduction means provided in the first server system described above, the extraction means is provided in each of a plurality of front-end servers, and another request is received from the request message received via the distribution means of the load balancer. A request message belonging to the session indicated by the session ID assigned by the end server is extracted. The history transfer means transfers the history information stored in the history storage means corresponding to the session ID indicating the session to which the request message extracted by the extraction means belongs to the distribution-destination front-end server. The process takeover means is provided in each of the plurality of front-end servers, takes over the session ID corresponding to the history information received via the history transfer means, and executes a process according to the request message included in the history information.

このように構成された第2のサーバシステムの動作は、下記の通りである。
障害が発生したフロントエンドサーバに割り当てられていたセッションが他のフロントエンドサーバに割り当てられた後に、このセッションに属する新たな要求メッセージの到達に応じて、この要求メッセージが抽出手段によって抽出され、これに応じて、履歴転送手段により、このセッションを示すセッションIDに対応して履歴蓄積手段に蓄積された履歴情報が、このセッションの割当先のフロントエンドサーバに転送される。このようにして割当先のフロントエンドサーバに転送された履歴情報に基づいて、この割当先のフロントエンドサーバに備えられた処理引継ぎ手段により、対応するセッションIDが引継がれ、また、履歴情報に含まれる個々の要求メッセージに対応する処理を実行することにより、障害が発生したフロントエンドサーバにおけるこのセッションに関する処理状態が完全に再現される。
The operation of the second server system configured as described above is as follows.
After the session assigned to the failed front-end server is assigned to another front-end server, this request message is extracted by the extraction means in response to arrival of a new request message belonging to this session. In response to this, the history transfer means transfers the history information stored in the history storage means corresponding to the session ID indicating this session to the front-end server to which this session is assigned. Based on the history information transferred to the assignment-destination front-end server in this manner, the corresponding session ID is taken over by the process take-over means provided in the assignment-destination front-end server, and is included in the history information. By executing the processing corresponding to each request message, the processing state relating to this session in the front-end server where the failure has occurred is completely reproduced.

本発明にかかわる第3のサーバシステムは、上述した第1のサーバシステムにおいて、終了検出手段と、履歴消去手段とを備えて構成される。
本発明にかかわる第3のサーバシステムの原理は、以下の通りである。
上述した第1のサーバシステムにおいて、終了検出手段は、各フロントエンドサーバによって提供されるサービスそれぞれにかかわるセッションの終了を検出する。履歴消去手段は、終了検出手段によって終了が検出されたセッションを示すセッションIDに対応して前記履歴蓄積手段に蓄積された履歴情報を消去する。
A third server system according to the present invention is configured to include an end detection unit and a history deletion unit in the first server system described above.
The principle of the third server system according to the present invention is as follows.
In the first server system described above, the end detection unit detects the end of the session related to each service provided by each front-end server. The history erasure unit erases the history information stored in the history storage unit corresponding to the session ID indicating the session whose end is detected by the end detection unit.

このように構成された第3のサーバシステムの動作は、下記の通りである。
終了検出手段による検出結果に応じて、履歴消去手段により、終了したセッションにかかわる履歴情報を消去することにより、履歴蓄積手段に備えられた記憶容量を有効に利用することができる。
本発明にかかわる第4のサーバシステムは、上述した第2のサーバシステムに備えられるセッション管理手段にID生成手段を備え、履歴蓄積手段に複数の履歴管理サーバとサーバ選択手段とを備えて構成される。
The operation of the third server system configured as described above is as follows.
By deleting history information related to the terminated session by the history erasure means in accordance with the detection result by the end detection means, the storage capacity provided in the history storage means can be used effectively.
A fourth server system according to the present invention includes an ID generation unit in the session management unit provided in the second server system described above, and a plurality of history management servers and a server selection unit in the history storage unit. The

本発明にかかわる第4のサーバシステムの原理は、以下の通りである。
上述した第2のサーバシステムの各フロントエンドサーバに備えられた前記セッション管理手段において、ID生成手段は、個々のセッションに一意のサーバ内IDと自サーバを示すサーバIDとからなるセッションIDを生成する。履歴蓄積手段において、複数の履歴管理サーバは、予め割り当てられたフロントエンドサーバを示すサーバIDを含むセッションIDに対応する履歴情報をそれぞれ蓄積する。状態再現手段の履歴転送手段において、サーバ選択手段は、転送対象の履歴情報を示すセッションIDに含まれるサーバIDに基づいて、前記履歴情報の読出元の履歴管理サーバを選択し、履歴情報の転送処理に供する。
The principle of the fourth server system according to the present invention is as follows.
In the session management means provided in each front-end server of the second server system described above, the ID generation means generates a session ID including a unique in-server ID and a server ID indicating the own server for each session. To do. In the history storage means, the plurality of history management servers each store history information corresponding to a session ID including a server ID indicating a front-end server assigned in advance. In the history transfer means of the state reproduction means, the server selection means selects the history management server from which the history information is read based on the server ID included in the session ID indicating the history information to be transferred, and transfers the history information. Provide for processing.

このように構成された第4のサーバシステムの動作は、下記の通りである。
各フロントエンドサーバに備えられたセッション管理手段のID生成手段によって生成されたセッションIDに含まれるサーバIDに応じて、履歴蓄積手段を構成する複数の履歴管理サーバによって履歴情報の蓄積が分担され、また、履歴情報を転送する際には、サーバ選択手段により、転送対象の履歴情報に対応するセッションIDに含まれるサーバIDに対応する履歴管理サーバから選択的に履歴情報が読み出され、フロントエンドサーバへの転送処理に供される。
The operation of the fourth server system configured as described above is as follows.
According to the server ID included in the session ID generated by the ID generation unit of the session management unit provided in each front-end server, the accumulation of history information is shared by a plurality of history management servers constituting the history accumulation unit, When transferring history information, the history information is selectively read from the history management server corresponding to the server ID included in the session ID corresponding to the history information to be transferred by the server selection means, and the front end Used for transfer processing to the server.

このように、サーバシステムを構成するフロントエンドサーバにかかわる履歴情報を複数の履歴管理サーバに分散して蓄積することにより、フロントエンドサーバの増設などにも柔軟に対応することが可能となる。   As described above, the history information related to the front-end servers constituting the server system is distributed and stored in a plurality of history management servers, so that it is possible to flexibly cope with the addition of front-end servers.

上述したように、本発明にかかわるサーバシステムでは、セッションごとに履歴情報を管理することにより、フロントエンドサーバの障害に応じて、他のフロントエンドサーバにセッション単位での状態を確実に復元し、セッションとしての連続性が必須なサービスを継続してクライアントに提供することができる。
特に、本発明にかかわる第2のサーバシステムでは、障害が発生したフロントエンドサーバに代わってサービスを提供する振替先のフロントエンドサーバにおいて処理状況を再現する処理を、クライアントからの新たな要求メッセージの入力に応じて実行することにより、負荷分散サーバを障害の発生に応じたフロントエンドサーバの振替処理を含む要求メッセージの振り分け処理に専念させることができる。
As described above, in the server system according to the present invention, by managing the history information for each session, according to the failure of the front-end server, the state of each session is reliably restored to other front-end servers, Services that require continuity as a session can be continuously provided to clients.
In particular, in the second server system according to the present invention, a process for reproducing the processing status in the transfer-destination front-end server that provides a service on behalf of the front-end server in which a failure has occurred is performed in a new request message from the client. By executing the process according to the input, the load distribution server can be dedicated to the request message distribution process including the transfer process of the front-end server according to the occurrence of the failure.

また、本発明にかかわる第3のサーバシステムでは、システム内のリソースを有効に利用することができるので、コストを抑えたシステムを提供することが可能である。
また一方、本発明にかかわる第4のサーバシステムでは、フロントエンドサーバの増設などにも柔軟に対応することが可能であるので、可用性の確保とともにスケーラビリティの向上を図ることができる。
In the third server system according to the present invention, resources in the system can be used effectively, so that a system with reduced costs can be provided.
On the other hand, in the fourth server system according to the present invention, it is possible to flexibly cope with the addition of front-end servers and the like, so that availability can be secured and scalability can be improved.

以下、図面に基づいて、本発明の実施形態について詳細に説明する。
(第1の実施形態)
図1に、本発明にかかわるサーバシステムの第1の実施形態を示す。
図1に示したクライアント(C)201〜(C)201は、インターネットなどのネットワークを介して負荷分散装置210を備えたサーバシステムに接続し、この負荷分散装置210を介してフロントエンドサーバ220〜220のいずれかに接続して、接続したフロントエンドサーバ220によるサービスの提供を受ける。以下、クライアント201〜201およびフロントエンドサーバ220〜220を総称する際は、単に、クライアント201およびフロントエンドサーバ220と称する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(First embodiment)
FIG. 1 shows a first embodiment of a server system according to the present invention.
Clients (C 1 ) 201 1 to (C n ) 201 n shown in FIG. 1 are connected to a server system including a load balancer 210 via a network such as the Internet, and the fronts via the load balancer 210 Connected to any of the end servers 220 1 to 220 m, the service is provided by the connected front end server 220. Hereinafter, when the clients 201 1 to 201 n and the front end servers 220 1 to 220 m are collectively referred to, they are simply referred to as the client 201 and the front end server 220.

図1において、本発明にかかわるサーバシステムは、負荷分散装置210とフロントエンドサーバ220〜220および履歴管理サーバ230はシステム内ネットワークを介して互いに接続して構成されている。また、図1に示した履歴管理サーバ230は、フロントエンドサーバ220〜220から受け取った履歴情報を後述するようにして蓄積し、これらのフロントエンドサーバ220〜220からの要求に応じて、蓄積した履歴情報を要求元のフロントエンドサーバ220に渡す。 1, the server system according to the present invention is configured such that a load balancer 210, front-end servers 220 1 to 220 m, and a history management server 230 are connected to each other via an intra-system network. Further, the history management server 230 shown in FIG. 1 accumulates history information received from the front-end servers 220 1 to 220 m as described later, and responds to requests from these front-end servers 220 1 to 220 m. Then, the accumulated history information is passed to the requesting front-end server 220.

上述した各クライアント201〜201から送出されたサービスに関する要求メッセージは、図1に示した負荷分散装置210のネットワーク通信処理部211を介して、振分処理部212に渡される。この振分処理部212により、上述した要求メッセージは、振分管理テーブル213に保持された情報に基づいて、適切なフロントエンドサーバ220に振り分けられ、システム内通信処理部215およびシステム内ネットワークを介して割当先のフロントエンドサーバ220に渡される。 Request messages related to services sent from the clients 201 1 to 201 n are transferred to the distribution processing unit 212 via the network communication processing unit 211 of the load distribution apparatus 210 shown in FIG. The distribution processing unit 212 distributes the request message described above to an appropriate front-end server 220 based on the information held in the distribution management table 213, via the intra-system communication processing unit 215 and the intra-system network. To the assigned front-end server 220.

図1に示した振分管理テーブル213には、図2(a)に示すように、サービスの要求元のクライアントに関する情報(クライアントアドレスおよびクライアントポート)と割当先のサーバに関する情報(サーバアドレスおよびサーバポート)とが格納されており、また、サーバリスト214には、サーバシステムに備えられた各フロントエンドサーバ220に関する情報(サーバアドレス、サーバポート、動作状況および負荷状況)が格納されている。   In the distribution management table 213 shown in FIG. 1, as shown in FIG. 2 (a), information (client address and client port) regarding the client requesting the service and information (server address and server) regarding the allocation destination server. The server list 214 stores information (server address, server port, operation status and load status) regarding each front-end server 220 provided in the server system.

上述した各フロントエンドサーバ220に関する情報は、図1に示した状態情報収集部216により、システム内通信処理部215を介して収集され、サーバリスト214に反映される。また、この状態情報収集部216は、フロントエンドサーバ220のいずれかにおける障害の検出に応じて、図1に示したサーバ割当処理部217に障害を検出した旨を通知し、このサーバ割当処理部217による振分管理テーブル213の更新処理(後述する)を起動する。   Information on each front-end server 220 described above is collected by the status information collection unit 216 shown in FIG. 1 via the intra-system communication processing unit 215 and reflected in the server list 214. Further, the status information collection unit 216 notifies the server allocation processing unit 217 shown in FIG. 1 that a failure has been detected in response to detection of a failure in any of the front-end servers 220, and this server allocation processing unit The update processing (to be described later) of the distribution management table 213 by 217 is activated.

次に、上述した負荷分散装置210による要求メッセージの処理にかかわる動作について説明する。
図3に、負荷分散装置の動作を表す流れ図を示す。また、図4に、クライアントとサーバシステムとの間の要求/応答メッセージの授受に関するシーケンス図を示す。
要求メッセージの受信に応じて(図3のステップ301)、図1に示した振分処理部212は、まず、振分管理テーブル213を参照し、受信した要求メッセージの発信元のクライアント201について、既に振分管理テーブル213に割当先のフロントエンドサーバ220が登録されているか否かを判定する(ステップ302)。
Next, an operation related to request message processing by the load balancer 210 will be described.
FIG. 3 is a flowchart showing the operation of the load balancer. FIG. 4 shows a sequence diagram relating to transmission / reception of request / response messages between the client and the server system.
In response to the reception of the request message (step 301 in FIG. 3), the distribution processing unit 212 shown in FIG. 1 first refers to the distribution management table 213, and regarding the client 201 that has transmitted the received request message, It is determined whether or not the allocation-destination front-end server 220 is already registered in the distribution management table 213 (step 302).

例えば、図4に符号Cで示したクライアント201から初めてサーバシステムへの要求メッセージ(図4において、符号Req(C)1を付して示す)が到達した場合に、このクライアント201に対応するフロントエンドサーバ220は上述した振分管理テーブル213に未登録であると判定される(ステップ302の否定判定)。このとき、振分処理部212からの依頼に応じて、サーバ割当処理部217により、要求メッセージの発信元のクライアントに適切なフロントエンドサーバを割り当てる処理が行われる(ステップ303)。 For example, when a request message to the server system (shown with reference symbol Req (C 2 ) 1 in FIG. 4) arrives for the first time from the client 201 indicated by reference symbol C 2 in FIG. It is determined that the front-end server 220 that has not been registered in the distribution management table 213 described above (No determination in step 302). At this time, in response to a request from the distribution processing unit 212, the server allocation processing unit 217 performs a process of allocating an appropriate front-end server to the request source client (step 303).

このとき、サーバ割当処理部217は、例えば、サーバリスト214を参照し、動作中であって最も処理負荷が小さいフロントエンドサーバ220(例えば、図2(b)に示したフロントエンドサーバ(S))を選択して新たな要求メッセージの発信元のクライアント201(C)に割り当てることができる。
この割当結果は、振分管理テーブル213に追加され(図3のステップ304および図3(a)参照)、このようにして新たに登録された情報に基づいて、上述した要求メッセージは、振分処理部212により、システム内通信処理部215を介して割当先のフロントエンドサーバ220に送信され(図3のステップ305および図4参照)、そのフロントエンドサーバ220の処理に供される。
At this time, for example, the server allocation processing unit 217 refers to the server list 214 and is operating and has the least processing load on the front end server 220 (for example, the front end server (S 1 shown in FIG. 2B)). )) Can be selected and assigned to the client 201 (C 2 ) that is the source of the new request message.
This allocation result is added to the distribution management table 213 (see step 304 in FIG. 3 and FIG. 3A). Based on the information newly registered in this way, the request message described above is distributed. The processing unit 212 transmits the data to the assigned front-end server 220 via the intra-system communication processing unit 215 (see step 305 and FIG. 4 in FIG. 3), and is provided to the processing of the front-end server 220.

図5に、本発明にかかわるフロントエンドサーバの詳細構成を示す。
図5に示したフロントエンドサーバ220,220〜220は、いずれも同等の構成を備えており、図5においては、フロントエンドサーバ220の詳細構成のみを代表して示した。
図5に示したフロントエンドサーバ220において、受付処理部222は、通信処理部221を介して受け取った要求メッセージに、必要に応じて、後述するセッションIDを付与してセッション管理テーブル223への登録あるいは状況復元部226による内部状態の復元処理(後述する)を指示した上で、サービス処理部224の処理に供する。また、図5に示した履歴更新部225は、受付処理部222によって受け付けられた要求メッセージに関する履歴情報を後述するようにしてセッションごとに生成し、通信処理部221を介して履歴管理サーバ230に送出する。
FIG. 5 shows a detailed configuration of the front-end server according to the present invention.
The front end servers 220 1 , 220 2 to 220 m shown in FIG. 5 have the same configuration, and only the detailed configuration of the front end server 220 1 is shown as a representative in FIG.
In the front-end server 220 illustrated in FIG. 5, the reception processing unit 222 adds a session ID, which will be described later, to the request message received via the communication processing unit 221 and registers it in the session management table 223. Alternatively, after instructing the internal state restoration process (described later) by the situation restoration unit 226, it is provided to the process of the service processing unit 224. Further, the history update unit 225 illustrated in FIG. 5 generates history information regarding the request message received by the reception processing unit 222 for each session as will be described later, and transmits the history information to the history management server 230 via the communication processing unit 221. Send it out.

図6に、フロントエンドサーバの動作を表す流れ図を示す。また、図7に、履歴管理処理を説明する図を示す。
図5に示した負荷分散装置210を介してフロントエンドサーバ220に渡された要求メッセージの受信に応じて(図6のステップ311)、受付処理部222は、まず、この要求メッセージにセッションIDが含まれているか否かを判定する(図6のステップ312)。
FIG. 6 is a flowchart showing the operation of the front-end server. FIG. 7 is a diagram for explaining history management processing.
In response to receiving the request message passed to the front-end server 220 1 via the load balancer 210 shown in FIG. 5 (step 311 in FIG. 6), reception processing unit 222, first, the session ID to the request message Is determined (step 312 in FIG. 6).

例えば、図4に示したようにして、負荷分散装置210を介してフロントエンドサーバ220に渡された最初の要求メッセージ(図4において符号Req(C)1を付して示した)には、まだ、フロントエンドサーバ220側でセッションIDが付与されていないので、ステップ312の否定判定となり、受付処理部222により、新規のセッションIDの割り当てが行われる(ステップ313)。このとき、受付処理部222は、フロントエンドサーバ220内で一意のサーバ内ID(Se1)と個々のフロントエンドサーバ220にあらかじめ設定されたサーバID(S)とからなるセッションIDを上述した要求メッセージの発信元のクライアント201に割り当て、このセッションIDをセッション管理テーブル223に登録するとともに(ステップ314)、上述したセッションIDを付加した要求メッセージをサービス処理部224の処理に供する。 For example, as shown in FIG. 4, the first request message (indicated by reference symbol Req (C 2 ) 1 in FIG. 4) passed to the front-end server 220 1 via the load balancer 210 is added. Since no session ID has been assigned on the front-end server 220 side, a negative determination is made in step 312 and a new session ID is assigned by the reception processing unit 222 (step 313). At this time, the reception processing unit 222 requests the above-described request for a session ID including a server ID (Se1) unique within the front-end server 220 and a server ID (S 1 ) preset for each front-end server 220. The message ID is assigned to the client 201 of the message originator, and this session ID is registered in the session management table 223 (step 314), and the request message with the above-mentioned session ID is used for the processing of the service processing unit 224.

これに応じて、図5に示したサービス処理部214により、要求メッセージに応じた処理が実行され(ステップ315)、この処理に応じた内部状態の変化が、セッション管理テーブル223のセッションIDに対応する内部状態に関する登録内容に反映される(図7(a)参照)。
ステップ315において処理された要求メッセージがセッションの終了を要求する要求メッセージでなかった場合に(ステップ316の否定判定)、履歴更新部225は、受付処理部222からサービス処理部224に渡されたセッションIDを含む要求メッセージを履歴情報として通信処理部221を介して履歴管理サーバ230に送出する(ステップ317)。このようにして履歴管理サーバ230に渡された履歴情報は、図7(b)に示すように、サーバIDとサーバ内IDとからなるセッションIDごとに順次に蓄積される。
In response to this, the service processing unit 214 shown in FIG. 5 executes processing corresponding to the request message (step 315), and the change in the internal state corresponding to this processing corresponds to the session ID in the session management table 223. It is reflected in the registered content related to the internal state (see FIG. 7A).
When the request message processed in step 315 is not a request message for requesting termination of the session (No determination in step 316), the history update unit 225 passes the session passed from the reception processing unit 222 to the service processing unit 224. A request message including the ID is sent as history information to the history management server 230 via the communication processing unit 221 (step 317). The history information passed to the history management server 230 in this way is sequentially stored for each session ID composed of the server ID and the in-server ID, as shown in FIG. 7B.

その後、図5に示したサービス処理部224により、上述したセッションIDを含んだ応答メッセージが送出され(図6のステップ318)、フロントエンドサーバ220における要求メッセージに対応する処理は終了する。
一方、上述したようにしてフロントエンドサーバ220から返された応答メッセージは、図4において符号Res(C)1を付して示すように、負荷分散装置210に渡され、これに応じて、負荷分散装置210における処理が再開される。
Thereafter, the service processing unit 224 shown in FIG. 5 sends a response message including the above-described session ID (step 318 in FIG. 6), and the process corresponding to the request message in the front-end server 220 ends.
On the other hand, the response message returned from the front-end server 220 as described above is passed to the load balancer 210 as indicated by reference numeral Res (C 2 ) 1 in FIG. Processing in the load balancer 210 is resumed.

このようにして、要求元のクライアント201によって要求メッセージが送出されてから所定の時間内に割当先のフロントエンドサーバ220から応答メッセージが返されると、図1に示した負荷分散装置210において、振分処理部212は、図3に示したステップ306の肯定判定として、ステップ307に進む。このとき、振分処理部212は、システム内通信処理部215を介して受け取ったセッションIDを含む応答メッセージを、ネットワーク通信処理部211を介して要求元のクライアント201に送出して(ステップ307および図4参照)、図3に示したステップ301で受け取った要求メッセージに対応する処理を終了する。   In this manner, when a response message is returned from the assignment-destination front-end server 220 within a predetermined time after the request message is sent by the request-source client 201, the load balancer 210 shown in FIG. The minute process part 212 progresses to step 307 as affirmation determination of step 306 shown in FIG. At this time, the distribution processing unit 212 sends a response message including the session ID received via the intra-system communication processing unit 215 to the requesting client 201 via the network communication processing unit 211 (Step 307 and 4), the process corresponding to the request message received in step 301 shown in FIG. 3 is terminated.

このようにしてクライアント201に応答メッセージとともにセッションIDが通知され、以降は、クライアント201により、継続するサービスに関する要求メッセージにこのセッションIDが付加される。
例えば、上述したようにしてサーバID(S)とサーバ内ID(Se1)とからなるセッションIDが要求元のクライアント(C)201に通知された後、このクライアント201から同一のサービスに関連して送出される要求メッセージには、上述したセッションID(S:Se1)が、例えば、ヘッダに続くメッセージの先頭に付加された上で送出される(図4において、符号Req(C)2(S;Se1)を付して示した)。
In this way, the session ID is notified to the client 201 together with the response message, and thereafter, the session ID is added by the client 201 to the request message regarding the continued service.
For example, as described above, after the session ID composed of the server ID (S 1 ) and the in-server ID (Se 1 ) is notified to the requesting client (C 2 ) 201, the client 201 relates to the same service. For example, the above-mentioned session ID (S 1 : Se1) is added to the request message sent after being added to the head of the message following the header (in FIG. 4, the code Req (C 2 )). 2 (shown with S 1 ; Se1)).

このように、既に割当先が登録されたクライアント201を発信元とする要求メッセージの受信に応じて(図3のステップ302の肯定判定)、図1に示した負荷分散装置210の振分処理部212により、上述したステップ303,304がスキップされ、振分管理テーブル213に登録された情報に従って、セッションIDを含む要求メッセージがシステム内通信処理部215を介して振分先のフロントエンドサーバ220に送信される(ステップ305および図4参照)。   As described above, in response to the reception of the request message originating from the client 201 whose assignment destination has already been registered (affirmative determination in step 302 of FIG. 3), the distribution processing unit of the load balancer 210 shown in FIG. 212, the above-described steps 303 and 304 are skipped, and a request message including a session ID is sent to the distribution-destination front-end server 220 via the intra-system communication processing unit 215 according to the information registered in the distribution management table 213. Is transmitted (see step 305 and FIG. 4).

セッションIDを含む要求メッセージがフロントエンドサーバ220の通信処理部221に到達すると、受付処理部222は、図6に示したステップ312の肯定判定としてステップ319に進み、セッション管理テーブル223から要求メッセージに含まれたセッションIDを検索する。
上述したステップ313においてセッションIDを割り当てたクライアント201から継続しているサービスに関する新たな要求メッセージを受信した場合には、この要求メッセージに含まれているセッションIDは、セッション管理テーブル223に既に登録されている(ステップ320の肯定判定)。この場合に、この要求メッセージは、そのままサービス処理部224の処理に供され(ステップ315)、また、この要求メッセージに応じてセッションが終了されない限り、履歴更新部225により、履歴管理サーバ230に送出され(ステップ317)、このセッションIDに対応する履歴情報が追加される。
When the request message including the session ID reaches the communication processing unit 221 of the front-end server 220, the reception processing unit 222 proceeds to step 319 as an affirmative determination of step 312 shown in FIG. Search the included session ID.
When a new request message related to the continued service is received from the client 201 assigned the session ID in step 313 described above, the session ID included in the request message is already registered in the session management table 223. (Yes in step 320). In this case, this request message is directly used for the processing of the service processing unit 224 (step 315), and is sent to the history management server 230 by the history update unit 225 unless the session is terminated in response to the request message. (Step 317), history information corresponding to this session ID is added.

このようにして、各フロントエンドサーバ220が正常に動作を続けていく限りは、各クライアント201に個々のフロントエンドサーバ220が割り当てたセッションIDに対応して、各クライアント201から送出された要求メッセージがそれぞれのセッションに対応する処理に関する履歴情報として蓄積されていく(図7(b)参照)。また、これらの各フロントエンドサーバ220のサービス処理部224における処理の進行に伴う内部状態の変化は、随時に、各フロントエンドサーバ220に備えられたセッション管理テーブル223のセッションIDに対応する内部状態に関する記録内容に反映される(図7(a)参照)。   Thus, as long as each front-end server 220 continues to operate normally, the request message sent from each client 201 corresponding to the session ID assigned to each client 201 by each front-end server 220. Are accumulated as history information relating to the processing corresponding to each session (see FIG. 7B). In addition, changes in the internal state accompanying the progress of processing in the service processing unit 224 of each front-end server 220 are changed as needed from the internal state corresponding to the session ID of the session management table 223 provided in each front-end server 220. (Refer to FIG. 7A).

ところで、上述したようにしてフロントエンドサーバ220に到達した要求メッセージの処理中にフロントエンドサーバ220に障害が発生すると、要求メッセージの到達から所定に時間内に応答メッセージが負荷分散装置210に返されないために、図3に示したステップ306の否定判定となる。
このとき、状態情報収集部216は、振分先のフロントエンドサーバ220に障害が発生したと判断し、まず、サーバリスト214の該当するフロントエンドサーバ220に対応する動作状況に判断結果を反映する(ステップ308)。
By the way, if a failure occurs in the front-end server 220 during processing of the request message that has reached the front-end server 220 as described above, a response message is not returned to the load balancer 210 within a predetermined time from the arrival of the request message. Therefore, a negative determination is made in step 306 shown in FIG.
At this time, the state information collection unit 216 determines that a failure has occurred in the distribution-destination front-end server 220, and first reflects the determination result in the operation status corresponding to the corresponding front-end server 220 in the server list 214. (Step 308).

例えば、クライアント識別Cで示されるクライアント201からのk番目の要求メッセージ(図4において、符号Req(C)k(S;Se1)を付して示す)に対応するフロントエンドサーバ220からの応答メッセージが所定時間内に到達しなかった場合に、状態情報収集部216は、このフロントエンドサーバ220が障害発生のため停止中であると判断し、図2(b)に示すように、フロントエンドサーバ(S)220に対応する動作状況を動作中から停止中に更新する。 For example, (in FIG. 4, reference numeral Req (C 2) k (S 1; are denoted a Se1)) k th request message from the client 201 2 indicated by the client identification C 2 front-end server 220 corresponding to the If the response message from 1 did not reach the predetermined time, the state information collection unit 216 determines that the front-end server 220 1 is stopped for the failure, illustrated in FIG. 2 (b) As described above, the operating status corresponding to the front-end server (S 1 ) 220 1 is updated from operating to stopping.

また、この状態情報収集部216からの通知に応じて、割当処理部217により、再び、割当先のフロントエンドサーバ220が決定される(ステップ303)。このとき、割当処理部217は、例えば、サーバリスト214を参照し、動作中であることが示されているフロントエンドサーバ220の中から最も負荷状況が軽いフロントエンドサーバ220(例えば、サーバアドレスSAで示されるフロントエンドサーバ220)を新たな割当先として決定することができる。このような割り当ての変更に伴って、図2(a)に示すように、クライアントアドレスCAで示されるクライアント201に対応するサーバアドレスおよびサーバポートは、それぞれ括弧を付して示すように、サーバアドレスSAおよびサーバポートP(s)に更新される(図3のステップ304)。 Also, in response to the notification from the status information collection unit 216, the allocation processing unit 217 determines the allocation-destination front-end server 220 again (step 303). At this time, for example, the allocation processing unit 217 refers to the server list 214, and among the front-end servers 220 indicated to be operating, the front-end server 220 having the lightest load status (for example, the server address SA) the front end server 220 2) represented by 2 can be determined as a new assigned. With the change of such assignment, as shown in FIG. 2 (a), the server address and the server port corresponding to the client 201 2 indicated by client address CA 2, as respectively shown are denoted by parenthesized, The server address is updated to SA 2 and server port P (s 2 ) (step 304 in FIG. 3).

このようにして更新された振分管理テーブル213に基づいて、振分処理部212により、新たに決定された振分先のフロントエンドサーバ(S)220に、図4に示すように、フロントエンドサーバ220を示すサーバID(S)とサーバ内ID(Se1)とからなるセッションIDを含む要求メッセージ(Req(C)k(S;Se1))が送信される(ステップ305)。 Based on the distribution management table 213 updated in this manner, the distribution processing unit 212 sends the newly determined distribution-destination front-end server (S 2 ) 220 2 , as shown in FIG. A request message (Req (C 2 ) k (S 1 ; Se1)) including a session ID including a server ID (S 1 ) indicating the front-end server 220 1 and an in-server ID (Se1) is transmitted (step 305). ).

このようにして、障害が発生したフロントエンドサーバ220を振分先とする要求メッセージの受信に応じて、新たな振分先(例えば、フロントエンドサーバ220)を決定し、この新たな振分先のフロントエンドサーバ220に、クライアント201から受信した要求メッセージを渡すことができる。
このようにして新たな振分先となったフロントエンドサーバ(S)220に渡された要求メッセージに含まれているセッションIDは、このフロントエンドサーバ(S)220に備えられたセッション管理テーブル223には登録されていない(図6に示したステップ320の否定判定)。この場合に、図5に示した受付処理部222により、状況復元部226に対して、セッション管理テーブル223に未登録とされたセッションIDに関する内部状態の復元処理が指示し、これに応じて、状況復元部226により、通信処理部221を介して履歴管理サーバ230からこのセッションIDに対応して蓄積された履歴情報を取得する処理が行われる(図6のステップ321)。
In this manner, a new distribution destination (for example, the front-end server 220 2 ) is determined in response to the reception of the request message for the front-end server 220 1 in which the failure has occurred, and this new distribution is determined. The request message received from the client 201 can be passed to the front-end server 220 ahead.
Session ID this manner are included in the new distribution destination since the front-end server (S 2) 220 2 to the passed request message, provided to the front-end server (S 2) 220 2 It is not registered in the session management table 223 (determination of step 320 shown in FIG. 6). In this case, the reception processing unit 222 shown in FIG. 5 instructs the status restoration unit 226 to restore the internal state relating to the session ID that is not registered in the session management table 223. The status restoration unit 226 performs processing for acquiring the history information accumulated corresponding to the session ID from the history management server 230 via the communication processing unit 221 (step 321 in FIG. 6).

このとき、状況復元部226により、通信処理部221を介して履歴管理サーバ230にセッションID(例えば、セッションID(S;Se1))を指定して対応する履歴情報の転送が依頼され、これに応じて、履歴管理サーバ230により、上述したセッションIDに対応して蓄積された最初の要求メッセージから既に処理が完了している最後の要求メッセージ(例えば、k−1番目の要求メッセージ)までからなる履歴情報がシステム内ネットワークを介して依頼元のフロントエンドサーバ(S)220に転送される(図4および図7(b)参照)。 At this time, the status restoration unit 226 requests the history management server 230 via the communication processing unit 221 to specify the session ID (for example, session ID (S 1 ; Se1)) and transfer the corresponding history information. Accordingly, the history management server 230 starts from the first request message stored corresponding to the above-described session ID to the last request message (for example, the (k-1) th request message) that has already been processed. The history information is transferred to the requesting front-end server (S 2 ) 220 2 via the intra-system network (see FIGS. 4 and 7B).

このようにして取得された履歴情報は、状況復元部226により、順次にサービス処理部224に渡され、これに応じて、サービス処理部224が要求メッセージに応じた処理を順次に実行することにより、障害が発生したフロントエンドサーバ220(例えば、サーバ識別Sで示されるフロントエンドサーバ220)におけるクライアント201に関する処理についての内部状態が、このクライアント201に割り当てられたセッションIDも含めて完全に復元される(図6のステップ322)。 The history information acquired in this manner is sequentially transferred to the service processing unit 224 by the status restoration unit 226, and in response to this, the service processing unit 224 sequentially executes processing according to the request message. , the front-end server 220 (e.g., front end server 220 1 represented by server identification S 1) the failed internal state of the processing relating to the client 201 1 in, including the session ID assigned to the client 201 1 Fully restored (step 322 in FIG. 6).

また、この内部状態の復元処理と並行して、このフロントエンドサーバ220のセッション管理テーブル223にセッションID(S;Se1))に対応する管理情報が追加され、この管理情報に含まれる内部状態も随時に更新される(ステップ323)。
このようにして、セッション管理テーブル223の内容を含めて内部状態を完全に復元した後に、障害が発生したフロントエンドサーバ220によって既にセッションIDが割り当てられたクライアント201からの新たな要求メッセージ(Req(C)k(S:Se1))の処理が、サーバID(S)で示されるフロントエンドサーバ220によって引き継いで実行される(ステップ315)。また、このようにしてフロントエンドサーバ220に引き継がれたセッションIDを含む要求メッセージは、このセッションIDで示されるセッションにかかわる処理の履歴情報として、フロントエンドサーバ220の履歴更新部225から履歴管理サーバ230に渡され(図6のステップ317および図4参照)、該当するセッションIDに対応する履歴情報の追加される(図7(b)参照)。
Also, the recovery process of the internal state in parallel with, the front end server 220 second session ID to the session management table 223; internal management information corresponding to (S 1 Se1)) is added, is included in the management information The state is also updated as needed (step 323).
In this way, after complete restoring the internal status including the contents of the session management table 223, a new request from the client 201 2 is already a session ID assigned by the front-end server 220 1 failed message ( req (C 2) k: processing (S 1 Se1)) is performed taking over by the front-end server 2202 indicated by the server ID (S 2) (step 315). The request message including the session ID that was taken over in the front-end server 2202 in this way, as the history information of the processing relating to the session indicated by the session ID, the history from the front-end server 220 second record update section 225 It is passed to the management server 230 (see step 317 in FIG. 6 and FIG. 4), and history information corresponding to the corresponding session ID is added (see FIG. 7B).

このように、本発明にかかわる負荷分散装置210の処理は、多数のクライアント201から入力される要求メッセージを複数のフロントエンドサーバ220〜220に振り分ける処理に集約されている。そして、サーバシステムを構成する複数のフロントエンドサーバ220のいずれかに障害が発生した際に、他のフロントエンドサーバ220によって処理を引き継ぐために必要となる状態復元処理は、引継ぎ先の各フロントエンドサーバ220において分散して行われている。 As described above, the processing of the load distribution apparatus 210 according to the present invention is integrated into processing for distributing request messages input from a large number of clients 201 to a plurality of front-end servers 220 1 to 220 m . Then, when a failure occurs in any of the plurality of front-end servers 220 constituting the server system, the state restoration processing necessary for taking over the processing by the other front-end servers 220 is performed for each front-end of the takeover destination. This is performed in a distributed manner in the server 220.

つまり、各フロントエンドサーバ220において、負荷分散装置210によって振り分けられた要求メッセージに対応する処理を行う過程で、要求メッセージに含まれるセッションIDに基づいて、受け取った要求メッセージが他のフロントエンドサーバ220から振り替えられた処理にかかわっているか否かを判定し、必要に応じて、履歴管理サーバ230においてセッションIDに対応して管理されている履歴情報を取得することにより、他のフロントエンドサーバ220における内部状態が、要求メッセージを受け取ったフロントエンドサーバ220において復元される。   In other words, in the process of performing processing corresponding to the request message distributed by the load balancer 210 in each front-end server 220, the received request message is transferred to another front-end server 220 based on the session ID included in the request message. In the other front-end server 220, it is determined whether or not it is involved in the process transferred from, and if necessary, the history management server 230 acquires the history information managed corresponding to the session ID. The internal state is restored at the front-end server 220 that received the request message.

これにより、個々のフロントエンドサーバ220が独立にクライアント201に割り当てるセッションIDを含めた内部状態を完全に復元し、障害が発生したフロントエンドサーバ220の処理を他のフロントエンドサーバ220によって完璧に引き継ぐことができる。
このように、本発明にかかわるサーバシステムは、サーバシステムを構成する複数のフロントエンドサーバ220のいずれかに障害が発生したときにも、個々のクライアント201を区別するサービスを確実に維持することが可能であり、このようなサービスを提供するサーバシステムの可用性を大幅に向上することができる。
As a result, the internal state including the session ID that each front-end server 220 independently assigns to the client 201 is completely restored, and the processing of the front-end server 220 in which a failure has occurred is completely taken over by another front-end server 220. be able to.
As described above, the server system according to the present invention can reliably maintain the service for distinguishing the individual clients 201 even when a failure occurs in any of the plurality of front-end servers 220 constituting the server system. It is possible, and the availability of a server system that provides such a service can be greatly improved.

上述したようにしてサービスに関する処理を継続していき、要求メッセージによってセッションの終了が指示された場合に(図6に示したステップ316の肯定判定)、図5に示した履歴更新部225により、終了されるセッションを示すセッションIDに対応する履歴情報の削除が、通信処理部221を介して履歴管理サーバ230に指示され、これに応じて、履歴管理サーバ230において履歴情報の削除が実行される(ステップ324)。また、このとき、セッション管理テーブル223の該当する管理情報も削除される(ステップ325)。   As described above, processing related to the service is continued, and when the end of the session is instructed by the request message (affirmative determination in step 316 shown in FIG. 6), the history update unit 225 shown in FIG. Deletion of history information corresponding to the session ID indicating the session to be ended is instructed to the history management server 230 via the communication processing unit 221, and the history information is deleted in the history management server 230 accordingly. (Step 324). At this time, the corresponding management information in the session management table 223 is also deleted (step 325).

このようにして、セッションの終了に応じて、そのセッションにかかわる管理情報および履歴情報を削除して、それぞれの格納に用いられていたセッション管理テーブル223および履歴管理サーバ230の記憶領域を解放することにより、各フロントエンドサーバ220および履歴管理サーバ230に備えられた資源を有効に利用することができる。
また、本発明にかかわるサーバシステムでは、各フロントエンドサーバ220がクライアント201に割り当てるセッションIDを、個々のフロントエンドサーバ220を識別するサーバIDとフロントエンドサーバ220内で一意のサーバ内IDとの組み合わせによって示すことにより、フロントエンドサーバ220の増設などに柔軟に対応可能となっており、十分なスケーラビリティも備えている。
(第2の実施形態)
図8に、本発明にかかわるサーバシステムの第2の実施形態を示す。
In this way, when the session ends, the management information and history information related to the session are deleted, and the storage areas of the session management table 223 and the history management server 230 used for the respective storages are released. Thus, the resources provided in each front-end server 220 and history management server 230 can be used effectively.
In the server system according to the present invention, the session ID assigned to each client 201 by the front-end server 220 is a combination of a server ID for identifying the individual front-end server 220 and an in-server ID unique within the front-end server 220. In this way, it is possible to flexibly cope with the expansion of the front-end server 220 and the like, and sufficient scalability is provided.
(Second Embodiment)
FIG. 8 shows a second embodiment of the server system according to the present invention.

なお、図8に示す構成要素のうち、図1および図5に示した各部と同等のものについては、図1および図5に示した符号を付して示し、その説明を省略する。
図8に示したサーバシステムは、L個の履歴管理サーバ230〜230を備え、また、フロントエンドサーバ220は、図5に示した各部に加えて、履歴管理サーバリスト227を備えて構成されている。
8 that are the same as those shown in FIGS. 1 and 5 are denoted by the same reference numerals as those shown in FIGS. 1 and 5 and description thereof is omitted.
The server system illustrated in FIG. 8 includes L history management servers 230 1 to 230 L , and the front-end server 220 includes a history management server list 227 in addition to the components illustrated in FIG. Has been.

この履歴管理サーバリスト227は、例えば、図9に示すように、サーバシステムを構成する各フロントエンドサーバ220のサーバID(S、…、S)に対応して、それぞれの履歴情報の格納先として割り当てられた履歴管理サーバのアドレス(RA、…、RA)が格納されている。
また、図8に示した履歴更新部225は、受付処理部222がサービス処理部224に渡した要求メッセージに付加されているセッションIDに含まれるサーバIDに基づいて、履歴管理サーバリスト227から履歴管理サーバ230のアドレスを検索し、得られたアドレスを転送先として通信処理部221に履歴情報の転送を依頼する。
For example, as shown in FIG. 9, the history management server list 227 stores each history information corresponding to the server ID (S 1 ,..., S m ) of each front-end server 220 constituting the server system. Stores the addresses (RA 1 ,..., RA L ) of the history management server assigned as the destination.
Further, the history update unit 225 illustrated in FIG. 8 retrieves the history from the history management server list 227 based on the server ID included in the session ID added to the request message passed to the service processing unit 224 by the reception processing unit 222. The address of the management server 230 is searched, and the communication processing unit 221 is requested to transfer history information using the obtained address as a transfer destination.

一方、状況復元部226は、受付処理部222から受け取ったセッションIDに含まれるサーバIDに基づいて、同様にして、取得すべき履歴情報が蓄積されている履歴管理サーバ230のアドレスを履歴管理サーバリスト227から検索し、通信処理部221を介して、得られたアドレスで示される履歴管理サーバ230に対して、履歴情報の転送を依頼する。   On the other hand, based on the server ID included in the session ID received from the reception processing unit 222, the status restoration unit 226 similarly sets the address of the history management server 230 in which history information to be acquired is accumulated as the history management server. A search is performed from the list 227, and the history management server 230 indicated by the obtained address is requested to transfer history information via the communication processing unit 221.

このようにして、サーバシステムを構成する複数のフロントエンドサーバ220に関する履歴情報を複数の履歴管理サーバ230に分散して蓄積し、また、このように分散して蓄積された履歴情報を必要に応じて、各フロントエンドサーバ220に転送することができる。
これにより、多数のフロントエンドサーバ220を備えたサーバシステムにおける履歴情報をきわめて容易に管理することができるので、サーバシステムのスケーラビリティを更に向上し、より多数のクライアントに様々なサービスを提供する大規模なネットワークサービスシステムにも容易に適用することができる。
In this way, history information relating to the plurality of front-end servers 220 constituting the server system is distributed and stored in the plurality of history management servers 230, and the history information thus distributed and stored is used as necessary. Thus, it can be transferred to each front-end server 220.
As a result, the history information in the server system having a large number of front-end servers 220 can be managed very easily, thereby further improving the scalability of the server system and providing various services to a larger number of clients. It can be easily applied to various network service systems.

上述したように、本発明にかかわるサーバシステムは、個々のクライアントの識別が不可欠なサービスについても確実な動作を保証な可能な高度な可用性とともに、小規模のシステムから多数のフロントエンドサーバを擁する大規模なシステムまで柔軟に対応可能なスケーラビリティを備えている。また、障害が発生したフロントエンドサーバに割り当てられていたクライアントをクライアント単位で他のフロントエンドサーバに割り当てる仕組みおよび不要になった履歴情報を適宜削除する仕組みを備えることにより、サーバシステムが備えるべき処理マージンを削減することができるので、ネットワークサービスシステムを必要最小限の導入コストで提供することができる。   As described above, the server system according to the present invention has a large availability that includes a large number of front-end servers from a small-scale system with high availability capable of guaranteeing reliable operation even for a service in which identification of individual clients is indispensable. Scalability that can flexibly handle large-scale systems. In addition, by providing a mechanism for assigning clients assigned to a failed front-end server to other front-end servers on a client-by-client basis and a mechanism for appropriately deleting unnecessary history information, the server system should have Since the margin can be reduced, the network service system can be provided with a minimum introduction cost.

このような特徴は、多種多様なサービスを様々な規模のターゲットに提供するネットワークサービスのためのサーバシステムにおいて非常に有用である。
特に、映像や音楽配信のように、ストリームデータを配信するサービスのように、個々のクライアントの識別が必要不可欠なサービスについて、高度な可用性を保証可能としたことで、このようなネットワークサービスの分野におけるシステムの信頼性の向上に大きく寄与することは明らかである。
Such a feature is very useful in a server system for a network service that provides a wide variety of services to targets of various sizes.
In particular, it is possible to guarantee a high level of availability for services that require identification of individual clients, such as services that deliver stream data, such as video and music distribution. It is clear that it greatly contributes to the improvement of system reliability.

本発明にかかわるサーバシステムの第1の実施形態を示すである。1 shows a first embodiment of a server system according to the present invention. 振分処理を説明する図である。It is a figure explaining a distribution process. 負荷分散装置の動作を表す流れ図である。It is a flowchart showing operation | movement of a load distribution apparatus. 要求/応答メッセージの授受に関するシーケンス図である。It is a sequence diagram regarding transmission / reception of a request / response message. 本発明にかかわるフロントエンドサーバの詳細構成を示す図である。It is a figure which shows the detailed structure of the front-end server concerning this invention. フロントエンドサーバの動作を表す流れ図である。It is a flowchart showing operation | movement of a front end server. 履歴管理処理を説明する図である。It is a figure explaining history management processing. 本発明にかかわるサーバシステムの第2の実施形態を示す図である。It is a figure which shows 2nd Embodiment of the server system concerning this invention. 履歴管理サーバリストの例を示す図である。It is a figure which shows the example of a history management server list.

符号の説明Explanation of symbols

201 クライアント
210 負荷分散装置
211 ネットワーク通信処理部
212 振分処理部
213 振分管理テーブル
214 サーバリスト
215 システム内通信処理部
216 状態情報収集部
217 サーバ割当処理部
220 フロントエンドサーバ
221 通信処理部
222 受付処理部
223 セッション管理テーブル
224 サービス処理部
225 履歴更新部
226 状況復元部
227 履歴管理サーバリスト
230 履歴管理サーバ
201 Client 210 Load Balancing Device 211 Network Communication Processing Unit 212 Distribution Processing Unit 213 Distribution Management Table 214 Server List 215 In-System Communication Processing Unit 216 Status Information Collection Unit 217 Server Assignment Processing Unit 220 Front End Server 221 Communication Processing Unit 222 Reception Processing unit 223 Session management table 224 Service processing unit 225 History update unit 226 Status restoration unit 227 History management server list 230 History management server

Claims (4)

少なくとも一つのクライアントからの要求メッセージを、それぞれ同等なサービスを提供可能な複数のフロントエンドサーバに振り分けて負荷を分散させる負荷分散装置を備えたサーバシステムにおいて、
前記複数のフロントエンドサーバそれぞれは、前記負荷分散装置によって処理が振り分けられたクライアントから要求対象のサービスに対応して送出される少なくとも一つの要求メッセージからなるセッションに一意のセッションIDを付与して管理するセッション管理手段を備え、
前記負荷分散装置は、
前記セッションIDで示される割り当てに従って、前記各クライアントからの要求メッセージを前記複数のフロントエンドサーバに振り分ける振分手段と、
前記複数のフロントエンドサーバそれぞれの動作を監視し、これらのフロントエンドサーバの障害を検出する障害検出手段と、
前記障害検出手段によって障害が検出されたフロントエンドサーバに割り当てられていたセッションを別のフロントエンドサーバに割り当てる割当変更手段とを備え、
前記各フロントエンドサーバを介して当該フロントエンドサーバに振り分けられた要求メッセージおよびこの要求メッセージを含むセッションに付与されたセッションIDを受け取り、前記セッションIDごとに前記各クライアントからの要求メッセージに関する履歴情報を蓄積する履歴蓄積手段と、
前記割当変更手段による割り当てが変更されたセッションを示すセッションIDに対応して蓄積された履歴情報に基づいて、新たな割当先のフロントエンドサーバに前記変更元のフロントエンドサーバにおける該当するセッションの処理状態を再現する状態再現手段と
を備えたことを特徴とするサーバシステム。
In a server system including a load distribution device that distributes a load by distributing a request message from at least one client to a plurality of front-end servers each capable of providing an equivalent service,
Each of the plurality of front-end servers assigns a unique session ID to a session consisting of at least one request message sent from the client to which the processing is distributed by the load balancer in response to the requested service, and manages the session. Session management means to
The load balancer is:
Distribution means for distributing request messages from the clients to the plurality of front-end servers according to the assignment indicated by the session ID;
Failure detection means for monitoring the operation of each of the plurality of front-end servers and detecting failures of these front-end servers;
Assignment changing means for assigning a session assigned to a front-end server in which a failure is detected by the failure detection means to another front-end server;
A request message distributed to the front-end server via each front-end server and a session ID assigned to a session including the request message are received, and history information regarding the request message from each client is received for each session ID. A history storage means for storing;
Based on the history information stored corresponding to the session ID indicating the session whose assignment has been changed by the assignment changing means, the new assignment destination front-end server processes the corresponding session in the change-source front-end server. A server system comprising: a state reproduction means for reproducing a state.
請求項1に記載のサーバシステムにおいて、
前記状態再現手段は、
前記複数のフロントエンドサーバそれぞれに備えられ、前記負荷分散装置の前記振分手段を介して受け取った要求メッセージから、他のフロントエンドサーバによって付与されたセッションIDで示されるセッションに属する要求メッセージを抽出する抽出手段と、
前記抽出手段によって抽出された要求メッセージが属するセッションを示すセッションIDに対応して前記履歴蓄積手段に蓄積された履歴情報を前記振り分け先のフロントエンドサーバに転送する履歴転送手段と、
前記複数のフロントエンドサーバそれぞれに備えられ、前記履歴転送手段を介して受け取った履歴情報に対応するセッションIDを引き継ぎ、前記履歴情報に含まれる要求メッセージに応じた処理を実行する処理引継ぎ手段とを備えた
ことを特徴とするサーバシステム。
The server system according to claim 1,
The state reproduction means includes
A request message belonging to the session indicated by the session ID assigned by the other front-end server is extracted from the request message provided via each of the distribution means of the load balancer provided in each of the plurality of front-end servers. Extraction means to
History transfer means for transferring history information stored in the history storage means corresponding to a session ID indicating a session to which the request message extracted by the extraction means belongs, to the distribution-destination front-end server;
A process take-over means provided in each of the plurality of front-end servers, taking over a session ID corresponding to the history information received via the history transfer means, and executing a process according to a request message included in the history information; Server system characterized by having.
請求項1に記載のサーバシステムにおいて、
前記各フロントエンドサーバによって提供されるサービスそれぞれにかかわるセッションの終了を検出する終了検出手段と、
前記終了検出手段によって終了が検出されたセッションを示すセッションIDに対応して前記履歴蓄積手段に蓄積された履歴情報を消去する履歴消去手段と
を備えたことを特徴とするサーバシステム。
The server system according to claim 1,
End detection means for detecting the end of a session related to each of the services provided by each front-end server;
A server system comprising: history erasure means for erasing history information stored in the history accumulation means corresponding to a session ID indicating a session whose termination has been detected by the termination detection means.
請求項2に記載のサーバシステムにおいて、
前記各フロントエンドサーバに備えられた前記セッション管理手段は、個々のセッションに一意のサーバ内IDと自サーバを示すサーバIDとからなるセッションIDを生成するID生成手段を備え、
履歴蓄積手段は、予め割り当てられたフロントエンドサーバを示すサーバIDを含むセッションIDに対応する履歴情報をそれぞれ蓄積する複数の履歴管理サーバを備え、
前記状態再現手段の履歴転送手段は、転送対象の履歴情報を示すセッションIDに含まれるサーバIDに基づいて、前記履歴情報の読出元の履歴管理サーバを選択し、履歴情報の転送処理に供するサーバ選択手段を備えた
ことを特徴とするサーバシステム。
The server system according to claim 2,
The session management means provided in each front-end server includes ID generation means for generating a session ID including a server internal ID unique to each session and a server ID indicating the own server,
The history storage means includes a plurality of history management servers each storing history information corresponding to a session ID including a server ID indicating a pre-assigned front-end server,
A history transfer means of the state reproduction means selects a history management server from which the history information is read based on a server ID included in a session ID indicating the history information to be transferred, and provides a history information transfer process A server system comprising a selection means.
JP2006144223A 2006-05-24 2006-05-24 Server system Pending JP2007316837A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006144223A JP2007316837A (en) 2006-05-24 2006-05-24 Server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006144223A JP2007316837A (en) 2006-05-24 2006-05-24 Server system

Publications (1)

Publication Number Publication Date
JP2007316837A true JP2007316837A (en) 2007-12-06

Family

ID=38850653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006144223A Pending JP2007316837A (en) 2006-05-24 2006-05-24 Server system

Country Status (1)

Country Link
JP (1) JP2007316837A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044552A (en) * 2008-08-12 2010-02-25 Hitachi Ltd Request processing method and computer system
JP2011048678A (en) * 2009-08-27 2011-03-10 Fujitsu Ltd Job operation support method and computer apparatus
WO2012023200A1 (en) * 2010-08-20 2012-02-23 富士通株式会社 Information processing system, management device, and management method of information processing device
JP2013186481A (en) * 2012-03-05 2013-09-19 Nippon Telegr & Teleph Corp <Ntt> Life and death monitoring server, life and death monitoring program and life and death monitoring method
JP2014164479A (en) * 2013-02-25 2014-09-08 Fujitsu Ltd Control device, control method, and control program
US10749777B2 (en) 2017-03-31 2020-08-18 Nec Corporation Computer system, server machine, program, and failure detection method
JP2021144567A (en) * 2020-03-13 2021-09-24 富士通株式会社 Control unit, control system and data restoration method
WO2023165429A1 (en) * 2022-03-01 2023-09-07 百果园技术(新加坡)有限公司 Session state management method and system, apparatus, device, and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218842A (en) * 1996-02-14 1997-08-19 Fujitsu Ltd Load sharing system
JP2000163369A (en) * 1998-11-30 2000-06-16 Nippon Telegr & Teleph Corp <Ntt> Method, system and server device for process result decentralization management and storage medium storing process result decentralization managing program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218842A (en) * 1996-02-14 1997-08-19 Fujitsu Ltd Load sharing system
JP2000163369A (en) * 1998-11-30 2000-06-16 Nippon Telegr & Teleph Corp <Ntt> Method, system and server device for process result decentralization management and storage medium storing process result decentralization managing program

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044552A (en) * 2008-08-12 2010-02-25 Hitachi Ltd Request processing method and computer system
US7937437B2 (en) 2008-08-12 2011-05-03 Hitachi, Ltd. Method and apparatus for processing a request using proxy servers
JP4722973B2 (en) * 2008-08-12 2011-07-13 株式会社日立製作所 Request processing method and computer system
JP2011048678A (en) * 2009-08-27 2011-03-10 Fujitsu Ltd Job operation support method and computer apparatus
WO2012023200A1 (en) * 2010-08-20 2012-02-23 富士通株式会社 Information processing system, management device, and management method of information processing device
US8732500B2 (en) 2010-08-20 2014-05-20 Fujitsu Limited Information processing system, management apparatus, and management method of executing a processing sequence including a plurality of processing steps
JP5585654B2 (en) * 2010-08-20 2014-09-10 富士通株式会社 Information processing system, management apparatus, and information processing apparatus management method
JP2013186481A (en) * 2012-03-05 2013-09-19 Nippon Telegr & Teleph Corp <Ntt> Life and death monitoring server, life and death monitoring program and life and death monitoring method
JP2014164479A (en) * 2013-02-25 2014-09-08 Fujitsu Ltd Control device, control method, and control program
US10749777B2 (en) 2017-03-31 2020-08-18 Nec Corporation Computer system, server machine, program, and failure detection method
JP2021144567A (en) * 2020-03-13 2021-09-24 富士通株式会社 Control unit, control system and data restoration method
WO2023165429A1 (en) * 2022-03-01 2023-09-07 百果园技术(新加坡)有限公司 Session state management method and system, apparatus, device, and storage medium

Similar Documents

Publication Publication Date Title
JP2007316837A (en) Server system
JP4068473B2 (en) Storage device, assignment range determination method and program
US10904307B2 (en) Distributed management of live stream storage
US7792148B2 (en) Virtual fibre channel over Ethernet switch
KR101089562B1 (en) P2p live streaming system for high-definition media broadcasting and the method therefor
US7844775B2 (en) Distribution of data in a distributed shared storage system
US20070121490A1 (en) Cluster system, load balancer, node reassigning method and recording medium storing node reassigning program
CN106656593B (en) Method and system for streaming media live broadcast recording redundancy hot standby
JP2015172954A (en) System and method for combining pull mode and push mode
CN111182067A (en) Data writing method and device based on interplanetary file system IPFS
CN107656695B (en) Data storage and deletion method and device and distributed storage system
US20190260859A1 (en) Seamless Stream Failover With Distributed Manifest Generation
JP2007304665A (en) Device connected to peer-to-peer network and distribution system
US20060184672A1 (en) Communication channels in a storage network
JP5255035B2 (en) Failover system, storage processing apparatus, and failover control method
CN108924244A (en) Distributed system and flow allocation method and device for the system
JP5001880B2 (en) Streaming service system and method
US20150324387A1 (en) Broadcast data operations in distributed file systems
CN102413156A (en) Distributed data storage system and method
CN111050188B (en) Data stream scheduling method, system, device and medium
JP2000207370A (en) Distributed file management device and distributed file management system
JP4616035B2 (en) Server load balancing program, apparatus and method
CN108509296A (en) A kind of method and system of processing equipment failure
JP5313980B2 (en) Disk management system, disk management apparatus, and disk management method
JP2009070172A (en) Content distribution and storage system, provider server device registering method, node device, and node processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110913