JP2003067266A - Server system and fault detection method for client server system - Google Patents

Server system and fault detection method for client server system

Info

Publication number
JP2003067266A
JP2003067266A JP2001256526A JP2001256526A JP2003067266A JP 2003067266 A JP2003067266 A JP 2003067266A JP 2001256526 A JP2001256526 A JP 2001256526A JP 2001256526 A JP2001256526 A JP 2001256526A JP 2003067266 A JP2003067266 A JP 2003067266A
Authority
JP
Japan
Prior art keywords
server
client
response result
response
server system
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
JP2001256526A
Other languages
Japanese (ja)
Inventor
Takeshi Mishima
健 三島
Etsuo Masuda
悦夫 増田
Akito Fujita
昭人 藤田
Yoichi Hijikata
陽一 土方
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.)
NTT Advanced Technology Corp
Nippon Telegraph and Telephone Corp
Original Assignee
NTT Advanced Technology Corp
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Advanced Technology Corp, Nippon Telegraph and Telephone Corp filed Critical NTT Advanced Technology Corp
Priority to JP2001256526A priority Critical patent/JP2003067266A/en
Publication of JP2003067266A publication Critical patent/JP2003067266A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a high fault-tolerant server system with simple and inexpensive configuration and a failure detection method thereof. SOLUTION: A control part 30 transfers a request for processing from a client 40 to servers 21, 22 mounted on an information processor 91 and a server 23 mounted on an information processor 92, determines the validity of the response results from respective servers, and transfers one of the valid response results to the client 40. The information processors 91, 92 are provided with server monitors 71, 72 monitoring actions of servers, and system monitors 81, 82 monitoring actions of the information processors themselves respectively. The control part 30 isolates the fault server from the system based on the output results from respective monitors.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、長時間の連続運転
が要求されるメールサーバ・Webサーバ・ECサーバ
などのインターネットビジネス用システムや通信網のノ
ードシステムなどにサーバシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a server system for an Internet business system such as a mail server, a Web server, an EC server, or a node system of a communication network, which requires continuous operation for a long time.

【0002】[0002]

【従来の技術】この種のサーバシステムは、サーバ自体
やサーバが実装された情報処理装置の障害を検出し、サ
ーバシステム全体が障害となることを防止する必要があ
る。ここで「障害」とはシステムの機能損失を意味す
る。「障害」の発生要因の具体例としては例えばハード
ウェアにおけるバグや故障,ソフトウェアにおけるバグ
などが挙げられる。そして、これら「障害」の原因を
「フォールト」と呼ぶ。仮にシステムに「フォールト」
が存在していても、そのことが直ちに「障害」を引き起
こすとは限らず潜在することもある。「フォールト」が
原因で異常が表面化することを「誤り(Error)」
という。そして「誤り」が発生したシステムが正常な状
態から逸脱すると「障害」が発生する。なお、「誤り」
はバグや故障などの狭義の「フォールト」のみが原因で
はなく、例えば間欠故障やオペレータの設定ミスや操作
ミスなども「誤り」の原因となる。
2. Description of the Related Art In this type of server system, it is necessary to detect a failure of the server itself or an information processing apparatus in which the server is mounted, and prevent the entire server system from becoming a failure. Here, “failure” means loss of system function. Specific examples of the cause of the "fault" include bugs and failures in hardware, and bugs in software. The cause of these "faults" is called "fault". Temporarily "fault" the system
The existence of a "," does not necessarily cause an "impairment" immediately, but it may be latent. "Error" means that anomalous surface is caused by "fault"
Say. When the system in which the "error" has occurred deviates from the normal state, the "failure" occurs. "Error"
Is not only caused by a narrowly defined “fault” such as a bug or failure, but also an “error” is caused by, for example, an intermittent failure, operator's setting error or operation error.

【0003】従来、耐障害性に優れた高信頼性システム
の一例として、「フォールトトレランスサーバFT61
00の高信頼化技術」,電子情報通信学会,FTS93
−56,1996年に記載されたものが提案されてい
る。この高信頼性システムの一例について図18を参照
して説明する。
Conventionally, as an example of a highly reliable system having excellent fault tolerance, a "fault tolerance server FT61" is used.
High reliability technology of 00 ”, IEICE, FTS93
The one described in -56, 1996 is proposed. An example of this high reliability system will be described with reference to FIG.

【0004】図18に示すように、この高信頼性システ
ムは、それぞれ同じスペックを有する三つのMPU(M
icro Processing Unit)101
0,1020,1030と、各MPU1010,102
0,1030に接続されたMPU監視装置1110と、
クロック供給回路1210とを備えている。
As shown in FIG. 18, this high-reliability system has three MPUs (M
micro Processing Unit) 101
0, 1020, 1030 and each MPU 1010, 102
0,1030 connected to the MPU monitoring device 1110,
And a clock supply circuit 1210.

【0005】MPU1010は、メモリ1011及びハ
ードディスク1012に対してシステムバス1013を
介して接続しており、これらの機器で一つの系を構成し
ている。同様に、MPU1020は、メモリ1021及
びハードディスク1022に対してシステムバス102
3を介して接続しており、これらの機器で一つの系を構
成している。
The MPU 1010 is connected to the memory 1011 and the hard disk 1012 via a system bus 1013, and these devices form one system. Similarly, the MPU 1020 has a system bus 102 for the memory 1021 and the hard disk 1022.
3 are connected to each other, and these devices form one system.

【0006】システムバス1013のMPU1010側
にはバッファ1310が設けられている。このバッファ
1310は、MPU1010がフォールトになった場合
に、ハイインピーダンス状態(即ち論理的に切断された
状態)にされる。これにより、システムバス1013が
MPU1010から切り離される。同様に、システムバ
ス1023のMPU1030側にはバッファ1320が
設けられている。このバッファ1320は、MPU10
20がフォールトになった場合に、ハイインピーダンス
状態(即ち論理的に切断された状態)にされる。これに
より、システムバス1023がMPU1020から切り
離される。
A buffer 1310 is provided on the MPU 1010 side of the system bus 1013. The buffer 1310 is brought into a high impedance state (that is, a logically disconnected state) when the MPU 1010 becomes a fault. As a result, the system bus 1013 is disconnected from the MPU 1010. Similarly, a buffer 1320 is provided on the MPU 1030 side of the system bus 1023. This buffer 1320 is the MPU 10
When 20 becomes a fault, it is brought to a high impedance state (that is, a logically disconnected state). As a result, the system bus 1023 is disconnected from the MPU 1020.

【0007】一方の系のシステムバス1013と他方の
系のシステムバス1023とはバッファ1330を介し
て相互に接続している。このバッファ1330は、二つ
の系のうち一方の系でフォールトが発生した場合に他方
の系より正常な信号を取り入れるためのものである。
The system bus 1013 of one system and the system bus 1023 of the other system are connected to each other via a buffer 1330. The buffer 1330 is for taking in a normal signal from the other system when a fault occurs in one of the two systems.

【0008】一方の系に属するハードディスク1012
は、他方の系のシステムバス1023と接続しており、
MPU1020からアクセス可能となっている。同様
に、他方の系に属するハードディスク1022は、一方
の系のシステムバス1013と接続しており、MPU1
010からアクセス可能となっている。
Hard disk 1012 belonging to one system
Is connected to the system bus 1023 of the other system,
It is accessible from the MPU 1020. Similarly, the hard disk 1022 belonging to the other system is connected to the system bus 1013 of the one system, and the MPU 1
It is accessible from 010.

【0009】クロック供給回路1210は、本システム
の各要素、即ちMPU1010,1020,1030、
MPU監視装置1110、メモリ1011,1021、
ハードディスク1012,1022、システムバス10
13,1023、バッファ1310,1320,133
0などに接続しており、これらの各要素を同期して動作
させるために共通の信号を供給する。なお、図18にお
いては、図面の複雑化を避けるために、クロック供給回
路1210から他の各要素へクロック信号を分配するた
めの配線については図示を省略した。
The clock supply circuit 1210 is provided for each element of this system, that is, the MPUs 1010, 1020, 1030,
MPU monitoring device 1110, memories 1011, 1021,
Hard disk 1012, 1022, system bus 10
13, 1023, buffers 1310, 1320, 133
0, etc., and supplies a common signal to operate these elements in synchronization. Note that in FIG. 18, wirings for distributing a clock signal from the clock supply circuit 1210 to each of the other elements are not shown in order to avoid complication of the drawing.

【0010】この高信頼性システムの動作について説明
する。MPU1010,1020,1030はクロック
供給回路1210からのクロック信号に基づき動作し、
互いに同期し且つ同一の処理を行っている。
The operation of this high reliability system will be described. The MPUs 1010, 1020, 1030 operate based on the clock signal from the clock supply circuit 1210,
They are synchronized with each other and perform the same processing.

【0011】MPU監視装置1110は、一マシンサイ
クルごとにMPU1010,1020,1030の出力
を比較し、いわゆる「多数決処理」を行う。この多数決
処理とは、複数の信号を互いに比較し、最も多く出力さ
れた信号を正常信号として取り扱うものである。ここで
は、MPU監視装置1110は、MPU1010,10
20,1030の出力が全て同じ場合、各MPUにフォ
ールトはないと判定して、そのまま処理を継続する。一
方、MPU1010の出力が他の二つのMPU102
0,1030と異なる場合、MPU監視装置1110は
MPU1010が故障したと判断し、バッファ1310
をハイインピーダンスとするとともに、バッファ133
0を開放する。他方、MPU1020の出力が他の二つ
のMPU1010,1030と異なる場合、MPU監視
装置1110はMPU1020が故障したと判断し、バ
ッファ1320をハイインピーダンスとするとともに、
バッファ1330を開放する。さらに、MPU1030
の出力が他の二つのMPU1010,1020と異なる
場合、MPU監視装置1110はMPU1030が故障
したと判断するが、MPU1030は多数決処理のため
だけに動作しているMPUなので、バッファ1310,
1320,1330の制御は行わない。
The MPU monitoring device 1110 compares the outputs of the MPUs 1010, 1020, 1030 for each machine cycle, and performs so-called "majority decision processing". In this majority decision processing, a plurality of signals are compared with each other, and the most output signal is treated as a normal signal. Here, the MPU monitoring device 1110 is configured so that the MPUs 1010, 10
When the outputs of 20 and 1030 are all the same, it is determined that there is no fault in each MPU, and the processing is continued. On the other hand, the output of the MPU 1010 is the other two MPU 102.
If it is different from 0, 1030, the MPU monitoring device 1110 determines that the MPU 1010 has failed, and the buffer 1310
Is set to high impedance and the buffer 133
0 is released. On the other hand, when the output of the MPU 1020 differs from the other two MPUs 1010 and 1030, the MPU monitoring device 1110 determines that the MPU 1020 has failed, sets the buffer 1320 to high impedance, and
The buffer 1330 is released. Furthermore, MPU1030
, The MPU monitoring device 1110 determines that the MPU 1030 has failed. However, since the MPU 1030 is an MPU operating only for majority processing, the buffer 1310,
The control of 1320 and 1330 is not performed.

【0012】[0012]

【発明が解決しようとする課題】上述のように、従来の
高信頼性システムでは、MPUを複数台設置し、それら
を同一のクロック供給回路を用いて同期動作させ、各々
の出力をモニタする監視装置により障害を検出するとい
う方式を採用してきた。また、障害を検出した場合に
は、システムバスをハイインピーダンスにし、正常系だ
けで動作できるようにする仕組みを備えていた。すなわ
ち、従来の高信頼性システムは、汎用コンピュータとは
全く異なるハードウェア構成を実現する必要があること
から、用途・目的を考慮して専用のシステムを構築する
必要があった。
As described above, in the conventional high-reliability system, a plurality of MPUs are installed, they are synchronously operated by using the same clock supply circuit, and each output is monitored. A method of detecting a failure by a device has been adopted. Further, when a failure is detected, the system bus is provided with a high impedance so that only the normal system can operate. That is, the conventional high-reliability system needs to realize a hardware configuration that is completely different from that of a general-purpose computer, and therefore it is necessary to construct a dedicated system in consideration of the purpose and purpose.

【0013】このため、従来の高信頼性システムは、 (1)コストが高くなる (2)次々に市場に登場する新製品(高機能プロセッサ
・大容量メモリなど)を利用した高性能な高信頼性シス
テムの開発期間が長くなる (3)クロック信号を高信頼性システム全域に分配する
必要があるため、クロックの配線長の増大による配線遅
延がネックとなり、高信頼性システムの高性能化の実現
が困難である。また、クロック供給回路を実装する位置
により系間でクロックの位相ずれが生じ得るため、位相
合わせのための回路が必要となる。その結果、回路設計
が難しく複雑な構成となってしまう (4)ハードウェアレベルの情報のみで障害検出を行う
ため、ソフトウェアの障害を見つけにくい という問題点があった。
For this reason, the conventional high-reliability system is (1) high in cost (2) high-performance and high-reliability utilizing new products (high-performance processor, large-capacity memory, etc.) appearing in the market one after another. (3) Since it is necessary to distribute the clock signal throughout the high-reliability system, wiring delay due to an increase in the clock wiring length becomes a bottleneck, and high performance of the high-reliability system is realized. Is difficult. In addition, a clock phase shift may occur between systems depending on the position where the clock supply circuit is mounted, and thus a circuit for phase matching is required. As a result, the circuit design becomes difficult and the configuration becomes complicated. (4) Since the failure detection is performed only by the hardware level information, there is a problem that it is difficult to find the software failure.

【0014】本発明は、上記事情に鑑みてなされたもの
であり、その目的とするところは、容易且つ安価な構成
で耐障害性の高いサーバシステム及びその障害検出方法
を提供することにある。
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a server system having a simple and inexpensive structure and high fault tolerance, and a fault detection method therefor.

【0015】[0015]

【課題を解決するための手段】上記目的を達成するため
に、本発明では、クライアントサーバ型システムにおけ
るサーバ側のシステムにおいて、一以上の情報処理装置
上に実装された一以上のサーバと、サーバの動作を監視
するサーバ監視手段とを備えるとともに、クライアント
とサーバとの間に、クライアントからの処理要求をサー
バに転送する処理要求転送手段と、処理要求に応じてサ
ーバから受信した応答結果を保持する応答結果保持手段
と、保持した応答結果の正当性を判定する正当性判定手
段と、正当と判定された応答結果のみを要求元のクライ
アントに転送する応答結果転送手段とを有する仲介手段
を介在させたことを特徴とする。
In order to achieve the above object, according to the present invention, in a server-side system of a client-server type system, one or more servers mounted on one or more information processing devices, and a server Server monitoring means for monitoring the operation of the server, processing request transfer means for transferring a processing request from the client to the server between the client and the server, and a response result received from the server in response to the processing request. Mediation means having a response result holding means, a validity judgment means for judging the validity of the held response result, and a response result transfer means for transferring only the response result judged to be correct to the requesting client. It is characterized by having done.

【0016】本発明によれば、仲介手段により、クライ
アントからの処理要求がサーバに転送される。そして、
サーバからの応答結果に対して正当性が判定され、正当
な応答結果のみがクライアントに転送される。これによ
り、クライアントに対してサーバにおける「誤り」を隠
蔽できる。また、サーバ監視手段によりサーバの動作が
監視できるので、サーバに障害が発生しても該サーバを
システムから切り離すなどの処理を行うことによりシス
テム全体として耐障害性に優れたものとなる。このよう
に、サーバに特別な構成を必要とすることなく誤りの隠
蔽ができるので、安価な汎用コンピュータを用いた障害
耐性に優れたシステムの構築が可能となる。また、ソフ
トウェアやハードウェアの高性能化によるサーバの高性
能化を図り、これによりシステム全体の高性能化を容易
に行うことができる。さらに、前述したクロック配線遅
延問題や位相合わせ問題も解決できるため高性能なシス
テムを構築できる。
According to the present invention, the mediation means transfers the processing request from the client to the server. And
The validity of the response result from the server is determined, and only the valid response result is transferred to the client. This makes it possible to hide the “error” in the server from the client. Further, since the operation of the server can be monitored by the server monitoring means, even if a failure occurs in the server, by performing processing such as disconnecting the server from the system, the entire system becomes excellent in fault tolerance. In this way, since errors can be concealed without requiring a special configuration in the server, it is possible to construct a system with excellent fault tolerance using an inexpensive general-purpose computer. In addition, the performance of the server can be improved by improving the performance of software and hardware, and thus the performance of the entire system can be easily improved. Further, since the clock wiring delay problem and the phase matching problem described above can be solved, a high performance system can be constructed.

【0017】なお、ここでサーバとは、クライアントに
対して所定のサービスを提供する手段として情報処理装
置を機能させるプログラムを意味する。
Here, the server means a program that causes the information processing apparatus to function as means for providing a client with a predetermined service.

【0018】本発明の好適な態様の一例として、前記サ
ーバ監視手段は、情報処理装置においてサーバが正常に
動作しているか否かを監視するとともにサーバの動作異
常があった場合にサーバ障害を前記仲介手段に通知する
第1の監視手段を備えたものを提案する。
As an example of a preferred aspect of the present invention, the server monitoring means monitors whether or not the server is operating normally in the information processing device, and when there is an abnormal operation of the server, the server failure is detected. It is proposed to have a first monitoring means for notifying the intermediary means.

【0019】また、本発明の好適な態様の他の例とし
て、前記サーバ監視手段は、情報処理装置上に実装され
且つ仲介手段に対して所定周期で生存確認メッセージを
通知する第2の監視手段を備えたものを提案する。
As another example of a preferred aspect of the present invention, the server monitoring means is a second monitoring means which is mounted on the information processing apparatus and which notifies the intermediary means of a survival confirmation message at a predetermined cycle. Propose one with.

【0020】[0020]

【発明の実施の形態】本発明の一実施の形態に係る高信
頼性サーバシステムについて図面を参照して説明する。
図1は高信頼性サーバシステムの全体構成を示すブロッ
ク図である。本実施の形態ではクライアントに対してW
ebサービスを提供するシステムについて例示する。ま
た、本実施の形態ではシステム構成するOSとしてLi
nuxを用いた。さらに、Webサービスを提供するサ
ーバプログラムとしてはApache Softwar
e Foundationのhttpサーバを用いた。
BEST MODE FOR CARRYING OUT THE INVENTION A highly reliable server system according to an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing the overall configuration of a high reliability server system. In this embodiment, the W
A system for providing an eb service will be exemplified. In addition, in the present embodiment, the system configuration OS is Li
nux was used. In addition, Apache Software is a server program that provides Web services.
e Foundation's http server was used.

【0021】このサーバシステム10は、図1に示すよ
うに、高信頼性サーバ20を構成するための情報処理装
置91,92と、高信頼性サーバ20とクライアント4
0との要求・応答を中継する情報処理装置93とで構成
される。
As shown in FIG. 1, the server system 10 includes information processing devices 91 and 92 for constructing a highly reliable server 20, a highly reliable server 20 and a client 4.
The information processing device 93 relays a request / response with respect to 0.

【0022】高信頼性サーバ20は、一つ以上のサーバ
で構成される。図1の例では、高信頼性サーバ20は、
三つのサーバ21,22,23で構成される。各サーバ
21,22,23はそれぞれ同じ要求に対しては同じ応
答を返す。
The high reliability server 20 is composed of one or more servers. In the example of FIG. 1, the high reliability server 20 is
It is composed of three servers 21, 22, 23. Each server 21, 22, 23 returns the same response to the same request.

【0023】また、高信頼性サーバ20は、一つ以上の
情報処理装置で構成される。図1の例では、高信頼性サ
ーバ20は、二つの情報処理装置91と92で構成され
る。情報処理装置91にはサーバ21及び22が実装さ
れ、情報処理装置92にはサーバ23が実装されてい
る。
The high reliability server 20 is composed of one or more information processing devices. In the example of FIG. 1, the high reliability server 20 is composed of two information processing devices 91 and 92. The servers 21 and 22 are mounted on the information processing apparatus 91, and the server 23 is mounted on the information processing apparatus 92.

【0024】高信頼性サーバ20を構成する各情報処理
装置には、サーバの他に、サーバの生存を確認するサー
バモニタと、サーバが実装された情報処理装置の生存を
確認するために定期的にaliveメッセージを送信す
るシステムモニタが実装されている。図1の例では、情
報処理装置91にはサーバモニタ71とシステムモニタ
81が実装され、情報処理装置92にはサーバモニタ7
2とシステムモニタ82が実装されている。
In addition to the server, each information processing apparatus that constitutes the high reliability server 20 has a server monitor for checking the existence of the server and a periodical operation for checking the existence of the information processing apparatus in which the server is installed. A system monitor that sends an alive message is implemented. In the example of FIG. 1, a server monitor 71 and a system monitor 81 are mounted on the information processing device 91, and the server monitor 7 is mounted on the information processing device 92.
2 and a system monitor 82 are mounted.

【0025】情報処理装置93には制御部30とメッセ
ージ受信部31が配置されている。制御部30は、サー
バ管理表60を備えており、このサーバ管理表60に各
サーバの状態(例えば「正常」若しくは「障害」)を登
録する。図2にサーバ管理表の一例を示す。図2に示す
ように、サーバ管理表60は、サーバを識別するための
サーバID,サーバのIPアドレス,ポート番号,稼働
している情報処理装置の識別子,サーバの稼働状態情報
などから構成される。制御部30は、このサーバ管理表
60を参照することにより、どのサーバにクライアント
からの要求を処理させるかを判断する。制御部30とサ
ーバ21,22,23間は、クライアントからの要求が
あった際に、後述する手順でTCP接続する。
A control unit 30 and a message receiving unit 31 are arranged in the information processing device 93. The control unit 30 includes a server management table 60, and the state (eg, “normal” or “fault”) of each server is registered in the server management table 60. FIG. 2 shows an example of the server management table. As shown in FIG. 2, the server management table 60 is composed of a server ID for identifying the server, an IP address of the server, a port number, an identifier of an operating information processing device, operating state information of the server, and the like. . The control unit 30 refers to the server management table 60 to determine which server should process the request from the client. When there is a request from a client, the control unit 30 and the servers 21, 22, 23 are connected by TCP according to the procedure described later.

【0026】メッセージ受信部31は、定期的にシステ
ムモニタ81及び82からaliveメッセージを受け
取る。また、メッセージ受信部31は、サーバに障害が
発生した場合にサーバモニタ71又は72から送られて
くる障害通知メッセージも受信する。メッセージ受信部
31とサーバモニタ71,72間、さらにメッセージ受
信部31とシステムモニタ81,82間は、予めTCP
接続しておく。
The message receiving section 31 periodically receives an alive message from the system monitors 81 and 82. The message receiving unit 31 also receives a failure notification message sent from the server monitor 71 or 72 when a failure occurs in the server. Between the message receiving unit 31 and the server monitors 71 and 72, and between the message receiving unit 31 and the system monitors 81 and 82, TCP is used in advance.
Keep connected.

【0027】クライアント40は、適当なブラウザを使
って、ネットワーク50を経由し、高信頼性サーバ20
に対してWebページなどの要求を行う。
The client 40 uses the appropriate browser to access the high reliability server 20 via the network 50.
Request a Web page or the like.

【0028】次に、制御部30の動作について図3を参
照して説明する。図3は制御部30の処理フローであ
る。
Next, the operation of the control unit 30 will be described with reference to FIG. FIG. 3 is a processing flow of the control unit 30.

【0029】制御部30は、メッセージ受信部31から
障害通知があるかどうかをチェックし(ステップSA
1)、障害通知がある場合、さらにサーバモニタ71又
は72からのメッセージであるかどうかを判断する(ス
テップSA2)。サーバモニタ71又は72からのメッ
セージであった場合、サーバ管理表60から、当該サー
バを障害と登録しそのサーバを切り離す(ステップSA
3)。サーバモニタ71又は72からのメッセージでな
い場合、システムモニタ81又は82からのalive
メッセージが途絶えたので、サーバ管理表60に、当該
情報処理装置上のサーバを障害と登録し、そのサーバを
切り離す(ステップSA5)。
The control unit 30 checks whether there is a failure notification from the message receiving unit 31 (step SA
1) If there is a failure notification, it is further determined whether the message is from the server monitor 71 or 72 (step SA2). When the message is from the server monitor 71 or 72, the server is registered as a failure in the server management table 60 and the server is disconnected (step SA).
3). If the message is not from the server monitor 71 or 72, the alive from the system monitor 81 or 82
Since the message is lost, the server on the information processing device is registered as a failure in the server management table 60, and the server is disconnected (step SA5).

【0030】制御部30は、メッセージ受信部31から
障害通知がないと判断した場合(ステップSA1)、w
ell−knownポート(Webサービスなので80
番ポート)をチェックし、クライアントからの要求があ
るかどうかを確認する(ステップSA6)。
When the control unit 30 determines that there is no failure notification from the message receiving unit 31 (step SA1), w
ell-known port (80 because it is a Web service)
Port number) to check whether there is a request from the client (step SA6).

【0031】制御部30は、クライアントからの要求が
あった場合(ステップSA6)、TCP接続を行い、子
制御プロセスを生成する(ステップSA7)。子制御プ
ロセスの生成が完了すると、再び障害通知のチェックを
行う(ステップSA1)。
When there is a request from the client (step SA6), the control unit 30 makes a TCP connection and creates a child control process (step SA7). When the generation of the child control process is completed, the fault notification is checked again (step SA1).

【0032】例として、クライアント40がサーバシス
テム10に対して要求を出し、その要求を制御部30が
受け取り、子制御プロセス32が生成された状態を図4
に示す。なお、図4では図面の繁雑を避けるため、サー
バモニタ71,72、システムモニタ81,82、情報
処理装置91,92、メッセージ受信部31の図示は省
略した。
As an example, the state in which the client 40 issues a request to the server system 10, the control unit 30 receives the request, and the child control process 32 is created is shown in FIG.
Shown in. In FIG. 4, the server monitors 71 and 72, the system monitors 81 and 82, the information processing devices 91 and 92, and the message receiving unit 31 are not shown in order to avoid complexity of the drawing.

【0033】次に、制御部30が生成した子制御プロセ
ス32の動作について、図5乃至図9を参照して説明す
る。図5及び図6は子制御プロセスの処理フローであ
る。図7乃至図9は高信頼性サーバシステムの動作を説
明する図である。なお、図7乃至図9では図面の繁雑を
避けるため、図4と同様にサーバモニタ等の図示は省略
した。
Next, the operation of the child control process 32 generated by the control unit 30 will be described with reference to FIGS. 5 and 6 are process flows of the child control process. 7 to 9 are diagrams for explaining the operation of the high reliability server system. 7 to 9, the server monitor and the like are omitted in the same manner as in FIG. 4 in order to avoid complication of the drawings.

【0034】子制御プロセス32は、サーバ管理表60
を参照し、正常なサーバ21,22,23とTCP接続
を行う(ステップSB1)。この時の状態を図7に示
す。
The child control process 32 uses the server management table 60.
To establish a TCP connection with the normal servers 21, 22, 23 (step SB1). The state at this time is shown in FIG.

【0035】次に、子制御プロセス32は、クライアン
ト40から処理要求があるかどうかをチェックし(ステ
ップSB2)、要求がある場合にはその要求をFIFO
キューに格納し(ステップSB3)、要求がない場合
は、何もせず次のステップに処理を移行する。
Next, the child control process 32 checks whether or not there is a processing request from the client 40 (step SB2), and if there is a request, the request is FIFO.
It is stored in the queue (step SB3), and if there is no request, nothing is done and the process proceeds to the next step.

【0036】もし、子制御プロセス32がサーバからの
応答を待っており(ステップSB4)、且つ、全ての応
答が揃った場合には(ステップSB7)、応答の多数決
を行う(ステップSB12)。全ての応答が同一である
ならば(ステップSB13)、サーバに障害はないと判
断し、クライアント40へ応答を一つ返す(ステップS
B15)。もし、多数決の結果、全ての応答が同一でな
いならば(ステップSB13)、サーバ管理表60に少
数派の応答を返したサーバの稼働状態を「正常」から
「障害」へ変更し、そのサーバをシステムから切り離す
(ステップSB14)。そして、クライアント40へ正
しい応答を一つ返す(ステップSB15)(図9参
照)。
If the child control process 32 is waiting for a response from the server (step SB4) and all the responses are complete (step SB7), the majority of the responses is decided (step SB12). If all the responses are the same (step SB13), it is determined that there is no fault in the server, and one response is returned to the client 40 (step S).
B15). If all the responses are not the same as the result of the majority decision (step SB13), the operating status of the server that returned the minority response to the server management table 60 is changed from "normal" to "failure", and the server is changed. It is disconnected from the system (step SB14). Then, one correct response is returned to the client 40 (step SB15) (see FIG. 9).

【0037】その後に、子制御プロセス32は再びクラ
イアント40からの新しい要求があるかどうかのチェッ
クを行う(ステップSB2)。
After that, the child control process 32 again checks whether or not there is a new request from the client 40 (step SB2).

【0038】もし、サーバからの応答を待っておらず
(ステップSB4)、FIFOキューが空ではない(要
求がある)なら(ステップSB5)、FIFOキューの
先頭から要求を一つ取り出してコピーを作成し、接続中
の全てのサーバ21,22,23に転送する(ステップ
SB6)(図8参照)。
If the server is not waiting for a response from the server (step SB4) and the FIFO queue is not empty (there is a request) (step SB5), one request is fetched from the head of the FIFO queue to make a copy. Then, the data is transferred to all the connected servers 21, 22, and 23 (step SB6) (see FIG. 8).

【0039】また、もしサーバからの応答を待っておら
ず(ステップSB4)、FIFOキューが空であるなら
ば(ステップSB5)、クライアント40に対して行う
サービスは終了したことになり、子制御プロセス32は
消滅する。
If the server is not waiting for a response from the server (step SB4) and the FIFO queue is empty (step SB5), the service provided to the client 40 has ended and the child control process is completed. 32 disappears.

【0040】全ての応答が揃っておらず(ステップSB
7)、応答を受信したら(ステップSB8)その応答を
バッファに蓄積しタイムアウトのチェックを行う(ステ
ップSB10)。応答を受信していなかったら(ステッ
プSB8)応答の蓄積処理はせずタイムアウトのチェッ
クを行う(ステップSB10)。
Not all responses are available (step SB
7) When the response is received (step SB8), the response is stored in the buffer and a timeout is checked (step SB10). If the response has not been received (step SB8), the response is not stored and the timeout is checked (step SB10).

【0041】前記ステップSB10においてタイムアウ
トになっていたら、タイムアウトしたサーバからの応答
はNULLメッセージとし(ステップSB11)、応答
の多数決を行う(ステップSB12)。一方、タイムア
ウトになっていなかったら(ステップSB10)、クラ
イアント40からの新しい要求が来ているかをチェック
する(ステップSB2)。
If it has timed out in step SB10, the response from the timed-out server is a NULL message (step SB11), and the majority of the responses is decided (step SB12). On the other hand, if it has not timed out (step SB10), it is checked whether a new request from the client 40 has arrived (step SB2).

【0042】次に、サーバモニタの動作について図10
を参照して説明する。図10はサーバモニタの処理フロ
ーである。
Next, the operation of the server monitor will be described with reference to FIG.
Will be described with reference to. FIG. 10 is a process flow of the server monitor.

【0043】サーバモニタは、監視対象となるサーバの
プロセス番号を獲得してリスト1を作成する(ステップ
SC1)。例えば、サーバがApacheの場合には/
usr/local/apache/logs/htt
pd.pidというファイルにプロセス番号を登録する
ので、サーバモニタは該ファイルから監視対象のプロセ
ス番号を獲得する。
The server monitor acquires the process number of the server to be monitored and creates list 1 (step SC1). For example, if the server is Apache, /
usr / local / apache / logs / htt
pd. Since the process number is registered in the file pid, the server monitor acquires the process number of the monitoring target from the file.

【0044】次いで、サーバモニタは一定期間スリープ
した後に(ステップSC2)、現在稼働中のサーバのプ
ロセス番号を獲得してリスト2を作成する(ステップS
C3)。例えば、Linuxの場合、/procディレ
クトリ配下に現在稼働中のプロセス番号が登録されてい
るため、ここからリスト2を作成する。
Then, the server monitor sleeps for a certain period of time (step SC2), then acquires the process number of the server currently in operation and creates list 2 (step S).
C3). For example, in the case of Linux, since the process number currently in operation is registered under the / proc directory, list 2 is created from here.

【0045】次に、サーバモニタはリスト1に存在して
いて且つリスト2に存在しないサーバがあるかどうかを
チェックする(ステップSC4)。もし、そのようなサ
ーバがあった場合、そのサーバは何らかの理由(例え
ば、segmentationfault、bus e
rrorなど)で障害となり死んだことを意味するの
で、メッセージ受信部31にその旨を通知し(ステップ
SC5)、リスト1からこのサーバを削除する。その
後、再びスリープし(ステップSC2)、現在稼働中の
サーバのチェックを行う(ステップSC3)。
Next, the server monitor checks whether or not there is a server that exists in list 1 but not in list 2 (step SC4). If there is such a server, it will be available for some reason (eg segmentation fault, bus e).
It means that the server has died due to an error in (error, etc.), so the message receiving unit 31 is notified (step SC5), and this server is deleted from the list 1. Then, it sleeps again (step SC2) and checks the server currently in operation (step SC3).

【0046】一方、リスト1に存在していて且つリスト
2に存在しないサーバがない場合(ステップSC4)、
障害があるサーバはない(正常である)ので、再びスリ
ープした後(ステップSC2)、現在稼働中のサーバの
チェックを行う(ステップSC3)。
On the other hand, if there is no server that exists in list 1 but not in list 2 (step SC4),
Since there is no faulty server (normal), after sleeping again (step SC2), the server currently in operation is checked (step SC3).

【0047】次にシステムモニタの動作について図11
を参照して説明する。図11はシステムモニタの処理フ
ローである。
Next, the operation of the system monitor is shown in FIG.
Will be described with reference to. FIG. 11 is a process flow of the system monitor.

【0048】システムモニタは、一定期間スリープし
(ステップSD1)、メッセージ受信部31に対してa
liveメッセージを送信する(ステップSD2)とい
うステップを繰り返す。なお、システムモニタからのメ
ッセージが途絶えた場合、その情報処理装置は障害であ
ることがわかるのでサーバ管理表60からサーバを切り
離す(図3のステップSA5)。
The system monitor sleeps for a certain period of time (step SD1), and a
The step of transmitting a live message (step SD2) is repeated. If the message from the system monitor is lost, the information processing apparatus is found to be in trouble, so the server is disconnected from the server management table 60 (step SA5 in FIG. 3).

【0049】次に各サーバの組み込み処理(初期化時、
障害復旧時)について図12を参照して説明する。図1
2はサーバ組み込み時のサーバモニタと制御部の処理フ
ローである。なお、ここでは情報処理装置と、その上で
動作しているサーバモニタ、システムモニタは正常に動
作しているものとする。
Next, a process for incorporating each server (at initialization,
(At the time of failure recovery) will be described with reference to FIG. Figure 1
2 is a processing flow of the server monitor and the control unit when the server is installed. Here, it is assumed that the information processing apparatus and the server monitor and system monitor operating thereon are operating normally.

【0050】サーバが動作する情報処理装置は、サーバ
であるApacheが立ち上がると/usr/loca
l/apache/logs/httpd.pidに立
ち上がったサーバのプロセス番号が登録されるため、サ
ーバモニタはこのファイルを参照することによって新た
なサーバが立ち上がったことを認識する(ステップSE
1)。そして、新しく立ち上がったサーバの情報とし
て、IPアドレス,ポート番号,情報処理装置の識別子
などをメッセージ処理部31へ転送し(ステップSE
2)、リスト1にこのサーバを追加する(ステップSE
3)。
The information processing device on which the server operates is / usr / loca when the server Apache is started up.
1 / apache / logs / httpd. Since the process number of the server started up is registered in pid, the server monitor recognizes that a new server has started up by referring to this file (step SE
1). Then, the IP address, the port number, the identifier of the information processing device, etc. are transferred to the message processing unit 31 as the information of the newly started server (step SE
2) Add this server to list 1 (step SE
3).

【0051】一方、メッセージ受信部31は、受け取っ
た情報を制御部30に伝える。制御部30はサーバ管理
表60に新たなサーバ情報を付け加え、稼働状態を「正
常」とする(ステップSE4)。
On the other hand, the message receiving section 31 conveys the received information to the control section 30. The control unit 30 adds new server information to the server management table 60 and sets the operating state to "normal" (step SE4).

【0052】以上のステップにより組み込み処理は完了
する。なお、サーバモニタ、システムモニタの起動方法
は、情報処理装置が立ち上がってからコマンドラインで
手入力するか、若しくは情報処理装置起動時にスクリプ
トで自動的に立ち上げる。
The incorporation process is completed by the above steps. The server monitor and the system monitor can be started by manually inputting them from a command line after the information processing apparatus is started up or automatically by a script when the information processing apparatus is started up.

【0053】次に、子制御プロセスが実現する要求と応
答の順序制御について図13及び図14を参照して説明
する。図13は子制御プロセス32がクライアント40
とTCP接続を行い、さらに、サーバ21,22ともT
CP接続を行っている例を示す。
Next, the request and response sequence control realized by the child control process will be described with reference to FIGS. 13 and 14. In FIG. 13, the child control process 32 is the client 40.
TCP connection with the
An example of CP connection is shown.

【0054】クライアント40から処理要求X1を受け
取った子制御プロセス32は、最初にサーバ21へ要求
X2を転送し、続いてサーバ22へ要求X3を転送す
る。次に、子制御プロセス32は、最初にサーバ22か
ら応答X4を受信し、続いてサーバ21からの応答X5
を受信している。最後に、子制御プロセス32は、クラ
イアント40へ応答X6を返す。
Upon receiving the processing request X1 from the client 40, the child control process 32 first transfers the request X2 to the server 21, and then transfers the request X3 to the server 22. Then, the child control process 32 first receives the response X4 from the server 22, and then the response X5 from the server 21.
Are being received. Finally, the child control process 32 returns a response X6 to the client 40.

【0055】このように、子制御プロセスがサーバへ処
理要求を転送する順序と、子制御プロセスがサーバから
応答をもらう順序は任意である。例えば、子制御プロセ
ス32は、最初にサーバ22へ要求X3を転送し、続い
てサーバ21へ要求X2を転送してもよい。また、子制
御プロセス32は、最初にサーバ21からの応答X5を
受信し、続いてサーバ22からの応答X4を受信しても
よい。
As described above, the order in which the child control process transfers the processing request to the server and the order in which the child control process receives the response from the server are arbitrary. For example, the child control process 32 may first transfer the request X3 to the server 22, and then transfer the request X2 to the server 21. Further, the child control process 32 may first receive the response X5 from the server 21 and subsequently receive the response X4 from the server 22.

【0056】図14は、子制御プロセス32がクライア
ント40とTCP接続を行い、さらにサーバ21,22
ともTCP接続を行っている別の例を示す。クライアン
ト40から処理要求Y1を受け取った子制御プロセス3
2は、最初にサーバ21へ要求Y2を転送し、続いてサ
ーバ22へ要求Y3を転送している。次に、子制御プロ
セス32は、サーバ22からの応答Y4を受信したが、
サーバ21からの応答Y5を受信しないうちに、クライ
アント40から新た要求Z1を受信した。
In FIG. 14, the child control process 32 makes a TCP connection with the client 40, and further the servers 21 and 22.
Another example is shown in which a TCP connection is made. Child control process 3 that received the processing request Y1 from the client 40
2 first transfers the request Y2 to the server 21, and then transfers the request Y3 to the server 22. Next, the child control process 32 receives the response Y4 from the server 22,
The new request Z1 was received from the client 40 before the response Y5 from the server 21 was received.

【0057】この場合、要求Z1をサーバ21,22へ
転送せずに、要求Y1に対する応答Y6をクライアント
40へ返すまで待たなければならない。これは、この状
況で新たな要求Z1を各サーバに転送すると、各サーバ
21,22は異なる動作をする可能性があるためであ
る。
In this case, it is necessary to wait until the response Y6 to the request Y1 is returned to the client 40 without transferring the request Z1 to the servers 21 and 22. This is because, if a new request Z1 is transferred to each server in this situation, each server 21, 22 may operate differently.

【0058】そして、子制御プロセス32は、サーバ2
1からの応答Y5を受信し、クライアント40へ応答を
返すと、要求Z2,Z3をそれぞれサーバ21,22へ
転送する。次いで、子制御プロセス32は、サーバ21
から応答Z4を受信し、続いてサーバ22から応答Z5
を受信する。最後に子制御プロセス32は、クライアン
ト40へ応答Z6を返す。
Then, the child control process 32 uses the server 2
When the response Y5 from 1 is received and the response is returned to the client 40, the requests Z2 and Z3 are transferred to the servers 21 and 22, respectively. Then, the child control process 32 sends the server 21
Response Z4 from server 22, followed by response Z5 from server 22
To receive. Finally, the child control process 32 returns the response Z6 to the client 40.

【0059】以上のように、本実施の形態に係る高信頼
性サーバシステムによれば、制御部30により、クライ
アント40からの処理要求が各サーバ21,22,23
に転送される。そして、サーバ21,22,23からの
応答結果に対して正当性が判定され、正当な応答結果の
みがクライアント40に転送される。これにより、クラ
イアント40に対してサーバにおける「誤り」を隠蔽で
きる。また、サーバモニタ71,72及びシステムモニ
タ81,82によりサーバの動作が監視できるので、サ
ーバ自体の障害又はサーバが動作している情報処理装置
の障害が発生しても該サーバをシステムから切り離すな
どの処理を行うことにより、システム全体として耐障害
性に優れたものとなる。
As described above, according to the high-reliability server system according to the present embodiment, the control unit 30 sends the processing request from the client 40 to each of the servers 21, 22, 23.
Transferred to. Then, the validity is determined with respect to the response results from the servers 21, 22, and 23, and only the valid response result is transferred to the client 40. This makes it possible to hide the “error” in the server from the client 40. Further, since the server monitor 71, 72 and the system monitor 81, 82 can monitor the operation of the server, the server is disconnected from the system even when the failure of the server itself or the failure of the information processing device in which the server operates occurs. By performing the processing of 1, the system as a whole becomes excellent in fault tolerance.

【0060】なお、異なるクライアントからの要求を別
の子制御プロセスを生成することにより、処理の並列化
を図り、これにより性能の向上を図ることができる。例
えば、図15の例では、クライアント40からの要求は
子制御プロセス32が処理をし、クライアント41から
の要求は子制御プロセス33が処理する。また、この場
合には、異なるクライアント同士の要求・応答の順序制
御は行わない。
By creating another child control process for requests from different clients, it is possible to parallelize the processing and thereby improve the performance. For example, in the example of FIG. 15, the request from the client 40 is processed by the child control process 32, and the request from the client 41 is processed by the child control process 33. Further, in this case, order control of requests / responses between different clients is not performed.

【0061】このように、サーバに特別な構成を必要と
することなく誤りの隠蔽ができるので、安価な汎用コン
ピュータを用いた障害耐性に優れたシステムの構築が可
能となる。また、ソフトウェアやハードウェアの高性能
化によるサーバの高性能化を図り、これによりシステム
全体の高性能化を容易に行うことができる。さらに、前
述したクロック配線遅延問題や位相合わせ問題も解決で
きるため高性能なシステムを構築できる。さらに、ハー
ドウェアの障害だけでなくソフトウェア(サーバ)の障
害をも検出することができるので、システム全体の耐障
害性が優れたものとなる。
In this way, since errors can be concealed without requiring a special configuration in the server, it is possible to construct a system with excellent fault tolerance using an inexpensive general-purpose computer. In addition, the performance of the server can be improved by improving the performance of software and hardware, and thus the performance of the entire system can be easily improved. Further, since the clock wiring delay problem and the phase matching problem described above can be solved, a high performance system can be constructed. Further, not only hardware failure but also software (server) failure can be detected, so that the fault tolerance of the entire system becomes excellent.

【0062】以上本発明の実施形態について説明したが
本発明はこれに限定されるものではない。本発明の範囲
は特許請求の範囲によって示されており、全ての変形例
は本発明に含まれるものである。
Although the embodiment of the present invention has been described above, the present invention is not limited to this. The scope of the invention is indicated by the claims and all the modifications are included in the invention.

【0063】例えば、各サーバは同じ応答を返すならば
同じ実装である必要はない。すなわち、バージョン・仕
様・プログラム言語・コンパイラ・コンパイラオプショ
ンなどが異なっていてもよい。また、サーバは一つのプ
ロセスから構成されていも複数のプロセスから構成され
ていてもよい。さらに、プロセスではなくオブジェクト
やスレッドでもよい。
For example, each server need not have the same implementation if it returns the same response. That is, the versions, specifications, programming languages, compilers, compiler options, etc. may be different. Further, the server may be composed of one process or a plurality of processes. Furthermore, it may be an object or thread instead of a process.

【0064】さらに、子制御プロセスと各サーバのTC
P接続のオーバヘッドを軽減するために、あらかじめ複
数の子制御プロセスを作っておき、それらをサーバとあ
らかじめTCP接続をしておき、クライアントからの要
求を待ち受けてもよい。
Furthermore, the child control process and TC of each server
In order to reduce the overhead of P connection, it is possible to create a plurality of child control processes in advance, make TCP connection with them in advance, and wait for a request from the client.

【0065】さらに、上記実施の形態では、三つのサー
バ間で多数決を行うことにより応答の正当性を判断して
いるが、応答結果のフォーマットの正常性により判断し
てもよい。例えば、応答結果がhttpのプロトコルフ
ォーマットに合致しているかどうかで正当性を判断す
る。また、要求と応答のマッチングから応答の正当性を
判断してもよい。例えば、httpにおけるGET要求
に対する応答のヘッダにContext−Length
が含まれており、ボディにデータが含まれている応答が
正当性を有する応答であると判断する。さらに、これら
の判断方法と多数決を組み合わせてもよい。
Further, in the above embodiment, the validity of the response is determined by making a majority vote among the three servers, but it may be determined based on the normality of the format of the response result. For example, the validity is determined by whether or not the response result conforms to the http protocol format. Further, the validity of the response may be judged from the matching of the request and the response. For example, in the header of the response to the GET request in http, the Context-Length
Is included, and the response in which the body contains data is determined to be a valid response. Further, these judgment methods may be combined with the majority vote.

【0066】さらに、図16に示すように、二つの制御
部30,30aを設けることにより仲介装置の冗長化を
図り、これにより仲介装置の高信頼化を図ってもよい。
Further, as shown in FIG. 16, by providing two control units 30 and 30a, the intermediary device may be made redundant, and thereby the intermediary device may be made highly reliable.

【0067】さらに、図17に示すように、処理の要求
元のクライアントに応じて、処理要求に対する処理を行
うサーバを分散させるようにしてもよい。図17では、
クライアント40についてはサーバ21,22,23が
処理を行い、クライアント41についてはサーバ24,
25,26が処理を行っている。このような構成により
負荷分散が図れるので、サーバシステム全体の処理能力
を向上できる。
Furthermore, as shown in FIG. 17, the servers that perform the processing corresponding to the processing request may be distributed according to the client that requested the processing. In FIG. 17,
For the client 40, the servers 21, 22, and 23 perform processing, and for the client 41, the server 24,
25 and 26 are processing. Since load distribution can be achieved by such a configuration, the processing capacity of the entire server system can be improved.

【0068】さらに、上記実施の形態ではOSとしてU
NIX(登録商標)の一つであるLinuxを前提とし
て説明したが、他のOSであってもよい。
Further, in the above embodiment, the OS is U
Although the description has been made on the premise of Linux which is one of the UNIX (registered trademark), other OS may be used.

【0069】[0069]

【発明の効果】以上詳述したように、本発明によれば、
仲介手段により、クライアントからの処理要求がサーバ
に転送される。そして、サーバからの応答結果に対して
正当性が判定され、正当な応答結果のみがクライアント
に転送される。これにより、クライアントに対してサー
バにおける「誤り」を隠蔽できる。また、サーバ監視手
段によりサーバの動作が監視できるので、サーバに障害
が発生しても該サーバをシステムから切り離すなどの処
理を行うことによりシステム全体として耐障害性に優れ
たものとなる。このように、サーバに特別な構成を必要
とすることなく誤りの隠蔽ができるので、安価な汎用コ
ンピュータを用いた障害耐性に優れたシステムの構築が
可能となる。また、ソフトウェアやハードウェアの高性
能化によるサーバの高性能化を図り、これによりシステ
ム全体の高性能化を容易に行うことができる。さらに、
前述したクロック配線遅延問題や位相合わせ問題も解決
できるため高性能なシステムを構築できる。
As described in detail above, according to the present invention,
The mediation means transfers the processing request from the client to the server. Then, the validity of the response result from the server is determined, and only the valid response result is transferred to the client. This makes it possible to hide the “error” in the server from the client. Further, since the operation of the server can be monitored by the server monitoring means, even if a failure occurs in the server, by performing processing such as disconnecting the server from the system, the entire system becomes excellent in fault tolerance. In this way, since errors can be concealed without requiring a special configuration in the server, it is possible to construct a system with excellent fault tolerance using an inexpensive general-purpose computer. In addition, the performance of the server can be improved by improving the performance of software and hardware, and thus the performance of the entire system can be easily improved. further,
Since the clock wiring delay problem and the phase matching problem described above can be solved, a high-performance system can be constructed.

【図面の簡単な説明】[Brief description of drawings]

【図1】高信頼性サーバシステムの全体構成を示すブロ
ック図
FIG. 1 is a block diagram showing the overall configuration of a highly reliable server system.

【図2】サーバ管理表の一例を説明する図FIG. 2 is a diagram illustrating an example of a server management table.

【図3】制御部の動作を説明するフローチャートFIG. 3 is a flowchart illustrating the operation of the control unit.

【図4】高信頼性サーバシステムの動作を説明する図FIG. 4 is a diagram for explaining the operation of the high reliability server system.

【図5】子制御プロセスの動作を説明するフローチャー
FIG. 5 is a flowchart illustrating the operation of a child control process.

【図6】子制御プロセスの動作を説明するフローチャー
FIG. 6 is a flowchart illustrating the operation of a child control process.

【図7】高信頼性サーバシステムの動作を説明する図FIG. 7 is a diagram for explaining the operation of the high reliability server system.

【図8】高信頼性サーバシステムの動作を説明する図FIG. 8 is a diagram for explaining the operation of the high reliability server system.

【図9】高信頼性サーバシステムの動作を説明する図FIG. 9 is a diagram for explaining the operation of the high reliability server system.

【図10】サーバモニタの動作を説明するフローチャー
FIG. 10 is a flowchart illustrating the operation of the server monitor.

【図11】システムモニタの動作を説明するフローチャ
ート
FIG. 11 is a flowchart illustrating the operation of the system monitor.

【図12】サーバ組み込み時のサーバモニタと制御部の
動作を説明するフローチャート
FIG. 12 is a flowchart illustrating operations of a server monitor and a control unit when the server is installed.

【図13】子制御プロセスにおける処理の順序制御を説
明する図
FIG. 13 is a diagram for explaining order control of processing in a child control process.

【図14】子制御プロセスにおける処理の順序制御を説
明する図
FIG. 14 is a diagram for explaining order control of processing in a child control process.

【図15】他の例に係る高信頼性サーバシステムの動作
を説明する図
FIG. 15 is a diagram for explaining the operation of a highly reliable server system according to another example.

【図16】他の例に係る高信頼性サーバシステムの全体
構成を説明するブロック図
FIG. 16 is a block diagram illustrating an overall configuration of a high reliability server system according to another example.

【図17】他の例に係る高信頼性サーバシステムの全体
構成を説明するブロック図
FIG. 17 is a block diagram illustrating the overall configuration of a highly reliable server system according to another example.

【図18】従来の高信頼性システムの構成図FIG. 18 is a block diagram of a conventional high reliability system.

【符号の説明】[Explanation of symbols]

10…高信頼性サーバシステム、20…高信頼性サー
バ、21,22,23…サーバ、30…制御部、31…
メッセージ受信部、32…子制御プロセス、40…クラ
イアント、50…ネットワーク、60…サーバ管理表、
71,72…サーバモニタ、81,82…システムモニ
タ、91,92,93…情報処理装置、
10 ... High-reliability server system, 20 ... High-reliability server, 21, 22, 23 ... Server, 30 ... Control unit, 31 ...
Message receiving unit, 32 ... Child control process, 40 ... Client, 50 ... Network, 60 ... Server management table,
71, 72 ... Server monitor, 81, 82 ... System monitor, 91, 92, 93 ... Information processing device,

───────────────────────────────────────────────────── フロントページの続き (72)発明者 増田 悦夫 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 (72)発明者 藤田 昭人 東京都新宿区西新宿二丁目1番1号 エ ヌ・ティ・ティ・アドバンステクノロジ株 式会社内 (72)発明者 土方 陽一 東京都新宿区西新宿二丁目1番1号 エ ヌ・ティ・ティ・アドバンステクノロジ株 式会社内 Fターム(参考) 5B034 BB15 CC01 DD05 5B042 GA12 GC10 JJ05 JJ23 KK04 5B045 JJ06 JJ38 5B089 GA11 GA21 GB02 JB17 JB22 KA12 KC29 KC30 MC06 MC08 ME02 ME06    ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Etsuo Masuda             2-3-1, Otemachi, Chiyoda-ku, Tokyo             Inside Telegraph and Telephone Corporation (72) Inventor Akito Fujita             2-1-1, Nishishinjuku, Shinjuku-ku, Tokyo             Nutty Advance Technology Co., Ltd.             Inside the company (72) Inventor Yoichi Hijikata             2-1-1, Nishishinjuku, Shinjuku-ku, Tokyo             Nutty Advance Technology Co., Ltd.             Inside the company F term (reference) 5B034 BB15 CC01 DD05                 5B042 GA12 GC10 JJ05 JJ23 KK04                 5B045 JJ06 JJ38                 5B089 GA11 GA21 GB02 JB17 JB22                       KA12 KC29 KC30 MC06 MC08                       ME02 ME06

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 クライアントサーバ型システムにおける
サーバ側のシステムにおいて、 一以上の情報処理装置上に実装された一以上のサーバ
と、 サーバの動作を監視するサーバ監視手段と、 クライアントからの処理要求をサーバに転送する処理要
求転送手段と、処理要求に応じてサーバから受信した応
答結果を保持する応答結果保持手段と、保持した応答結
果の正当性を判定する正当性判定手段と、正当と判定さ
れた応答結果のみを要求元のクライアントに転送する応
答結果転送手段とを有する仲介手段をクライアントとサ
ーバとの間に介在させたことを特徴とするサーバシステ
ム。
1. In a server-side system in a client-server system, one or more servers mounted on one or more information processing devices, a server monitoring means for monitoring the operation of the server, and a processing request from a client. Processing request transfer means for transferring to the server, response result holding means for holding the response result received from the server in response to the processing request, legitimacy judging means for judging the correctness of the held response result, and the judgment result. A server system characterized in that an intermediary means having a response result transfer means for transferring only the response result to the requesting client is interposed between the client and the server.
【請求項2】 前記サーバ監視手段は、情報処理装置に
おいてサーバが正常に動作しているか否かを監視すると
ともにサーバの動作異常があった場合にサーバ障害を前
記仲介手段に通知する第1の監視手段を備えたことを特
徴とする請求項1記載のサーバシステム。
2. The server monitoring means monitors whether or not the server is operating normally in the information processing apparatus and notifies the mediating means of a server failure when there is an abnormal operation of the server. The server system according to claim 1, further comprising a monitoring unit.
【請求項3】 前記仲介手段は、第1の監視手段からの
サーバ障害通知を受けると当該サーバをシステムから切
り離す手段を備えたことを特徴とする請求項2記載のサ
ーバシステム。
3. The server system according to claim 2, wherein the mediating means includes means for disconnecting the server from the system when the server failure notification is received from the first monitoring means.
【請求項4】 前記サーバ監視手段は、情報処理装置上
に実装され且つ仲介手段に対して所定周期で生存確認メ
ッセージを通知する第2の監視手段を備えたことを特徴
とする請求項1乃至3何れか1項記載のサーバシステ
ム。
4. The server monitoring means comprises a second monitoring means which is mounted on the information processing apparatus and which notifies the intermediary means of a survival confirmation message at a predetermined cycle. 3. The server system according to any one of 3 above.
【請求項5】 前記仲介手段は、前記所定周期より長い
所定時間経過しても前記第2の監視手段から生存確認メ
ッセージを受信しない場合に当該第2の監視手段が実装
されている情報処理装置をシステムから切り離す手段を
備えたことを特徴とする請求項4記載のサーバシステ
ム。
5. The information processing apparatus in which the second monitoring means is mounted when the mediating means does not receive a survival confirmation message from the second monitoring means even after a predetermined time longer than the predetermined cycle has elapsed. 5. The server system according to claim 4, further comprising means for disconnecting the server from the system.
【請求項6】 前記サーバを複数備えるとともに、前記
正当性判定手段は各サーバからの応答結果を互いに比較
して最も多い応答結果が正当であると判定することを特
徴とする請求項1乃至5何れか1項記載のサーバシステ
ム。
6. The apparatus according to claim 1, further comprising a plurality of the servers, wherein the validity determination means compares the response results from the servers with each other and determines that the largest number of response results is valid. The server system according to claim 1.
【請求項7】 前記正当性判定手段は所定時間内に応答
があったサーバからの応答結果の正当性を判定すること
を特徴とする請求項1乃至6何れか1項記載のサーバシ
ステム。
7. The server system according to claim 1, wherein the legitimacy determining means determines the legitimacy of the response result from the server that responds within a predetermined time.
【請求項8】 前記正当性判定手段は所定パターンを有
している応答結果が正当であると判定することを特徴と
する請求項1乃至7何れか1項記載のサーバシステム。
8. The server system according to claim 1, wherein the validity determination unit determines that the response result having the predetermined pattern is valid.
【請求項9】 前記正当性判定手段は処理要求と応答結
果との対応関係に基づき応答結果の正当性を判定するこ
とを特徴とする請求項1乃至8何れか1項記載のサーバ
システム。
9. The server system according to claim 1, wherein the legitimacy determining means determines the legitimacy of the response result based on the correspondence between the processing request and the response result.
【請求項10】 前記正当性判定手段において正当であ
るとの判定がなされなかった応答結果の出力元サーバを
システムから切り離す手段を備えたことを特徴とする請
求項1乃至9何れか1項記載のサーバシステム。
10. The device according to claim 1, further comprising means for disconnecting an output source server of a response result, which has not been determined to be valid by the validity determination means, from the system. Server system.
【請求項11】 一以上の情報処理装置上に実装された
一以上のサーバと、クライアントとサーバとの間に介在
し、且つ、クライアントからの処理要求をサーバに転送
する処理要求転送手段と、処理要求に応じてサーバから
受信した応答結果を保持する応答結果保持手段と、保持
した応答結果の正当性を判定する正当性判定手段と、正
当と判定された応答結果のみを要求元のクライアントに
転送する応答結果転送手段とを有する仲介手段を備えた
クライアントサーバ型システムにおいて、 サーバの動作を監視することにより障害を検出すること
を特徴とするクライアントサーバ型システムにおける障
害検出方法。
11. One or more servers mounted on one or more information processing devices, and a processing request transfer unit that intervenes between the client and the server and transfers a processing request from the client to the server. A response result holding unit that holds the response result received from the server in response to the processing request, a legitimacy determination unit that determines the legitimacy of the held response result, and only the response result that is determined to be legitimate to the requesting client. A failure detection method in a client-server system, comprising: detecting a failure by monitoring a server operation in a client-server system including an intermediary means having a response result transfer means for transferring.
JP2001256526A 2001-08-27 2001-08-27 Server system and fault detection method for client server system Pending JP2003067266A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001256526A JP2003067266A (en) 2001-08-27 2001-08-27 Server system and fault detection method for client server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001256526A JP2003067266A (en) 2001-08-27 2001-08-27 Server system and fault detection method for client server system

Publications (1)

Publication Number Publication Date
JP2003067266A true JP2003067266A (en) 2003-03-07

Family

ID=19084328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001256526A Pending JP2003067266A (en) 2001-08-27 2001-08-27 Server system and fault detection method for client server system

Country Status (1)

Country Link
JP (1) JP2003067266A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257588A (en) * 2006-03-27 2007-10-04 Hitachi Ltd Verification system
JP2014167678A (en) * 2013-02-28 2014-09-11 Toshiba Corp Control system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257588A (en) * 2006-03-27 2007-10-04 Hitachi Ltd Verification system
JP4495688B2 (en) * 2006-03-27 2010-07-07 株式会社日立製作所 Verification system
JP2014167678A (en) * 2013-02-28 2014-09-11 Toshiba Corp Control system

Similar Documents

Publication Publication Date Title
US6868442B1 (en) Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment
US6934880B2 (en) Functional fail-over apparatus and method of operation thereof
US7194652B2 (en) High availability synchronization architecture
JP4087271B2 (en) Proxy response device and network system
US7353259B1 (en) Method and apparatus for exchanging configuration information between nodes operating in a master-slave configuration
US7246256B2 (en) Managing failover of J2EE compliant middleware in a high availability system
US6332198B1 (en) Network device for supporting multiple redundancy schemes
US7076689B2 (en) Use of unique XID range among multiple control processors
US6314512B1 (en) Automatic notification of connection or system failure in asynchronous multi-tiered system by monitoring connection status using connection objects
EP1768320A2 (en) Information processing apparatuses, communication method, communication load decentralizing method and communication system
US20030163544A1 (en) Remote service systems management interface
JP2004519024A (en) System and method for managing a cluster containing multiple nodes
CN111949444A (en) Data backup and recovery system and method based on distributed service cluster
CN111753166A (en) Query broker for communicating dynamic system states
CN109656726B (en) Industrial information interaction system and method suitable for data center
JPH086910A (en) Cluster type computer system
JPH08212095A (en) Client server control system
US8856590B2 (en) Reliable compute engine, method and apparatus
US6625753B1 (en) Recovery facility for an SNA communication network
JP2003067214A (en) Server system, mediating device and error concealing method for client server type system
JP2003067266A (en) Server system and fault detection method for client server system
US20020194268A1 (en) Distribute object mechanism
JP2001251346A (en) Data transmission system
WO2019230228A1 (en) Information processing system, information processing device, and method for controlling information processing system
CN112073162B (en) Method for operating a redundant automation system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061031

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070327