JP4520899B2 - Cluster control method, cluster control program, cluster system, and standby server - Google Patents

Cluster control method, cluster control program, cluster system, and standby server Download PDF

Info

Publication number
JP4520899B2
JP4520899B2 JP2005129559A JP2005129559A JP4520899B2 JP 4520899 B2 JP4520899 B2 JP 4520899B2 JP 2005129559 A JP2005129559 A JP 2005129559A JP 2005129559 A JP2005129559 A JP 2005129559A JP 4520899 B2 JP4520899 B2 JP 4520899B2
Authority
JP
Japan
Prior art keywords
execution server
server
transaction
execution
recovery
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005129559A
Other languages
Japanese (ja)
Other versions
JP2005339525A (en
Inventor
和憲 水島
貴一 石田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005129559A priority Critical patent/JP4520899B2/en
Publication of JP2005339525A publication Critical patent/JP2005339525A/en
Application granted granted Critical
Publication of JP4520899B2 publication Critical patent/JP4520899B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a cluster system in which standby computer cost is held down to the minimum even if business processing is transaction. <P>SOLUTION: An execution server monitoring thread in a standby server periodically monitors an operation state of an execution server (S400). Upon detecting time-out as a result of the monitoring (Y in S401), the thread resets the execution server (S420) and stops load balancing to an IP address of the execution server (S421). Then, the tread recovers transaction of the execution server (S442) and returns to monitoring of the operation state (S400). Then, if normality of the execution server is detected as the result of monitoring (N in S401) and an operation state in an execution server management table is "stop" (Y in S410), the thread starts the load balancing to the execution server (S412) and returns to the monitoring of the operation state (S400). In addition, transaction may be recovered using resource connection information. <P>COPYRIGHT: (C)2006,JPO&amp;NCIPI

Description

本発明は、コンピュータシステムの高可用性を実現するクラスタ制御技術に関する。   The present invention relates to a cluster control technique for realizing high availability of a computer system.

コンピュータシステムの高可用性を実現する技術として、独立して動作する複数のコン
ピュータをまとめて1台のコンピュータとして取り扱うようにしたクラスタシステムがあ
る。そのクラスタシステムには、大きく分けて、通常は全てのコンピュータを使って動作
し、障害発生時には縮退して動作を継続するスケーラブル型クラスタシステムと、障害発
生時に動作する待機系コンピュータを持つスタンバイ型クラスタシステムとがある。更に
、そのスタンバイ型クラスタシステムは、1:1待機型、1:1相互待機型、N:1待機
型、N:M待機型などに分類される。N:1待機型は、N台の現用系コンピュータと1台
の待機系コンピュータとからなるクラスタシステムである。このN:1待機型は、待機系
コンピュータのコストを抑えつつ、コンピュータシステムの高可用性および業務処理の拡
張性(スケーラビリティ)を実現することができる。また、N:M待機型は、N台の現用
系コンピュータとM台の待機系コンピュータとからなるクラスタシステムである(通常は
、N>M)。このN:M待機型は、N:1待機型の長所を受け継ぐと共に、M回の障害に
対応することができる。なお、N:1待機型クラスタシステムの一例が、特許文献1に開
示されている。
米国特許5852724号明細書(“FIG. 2”およびその説明)
As a technology for realizing high availability of a computer system, there is a cluster system in which a plurality of computers that operate independently are collectively handled as one computer. The cluster system can be broadly divided into: a scalable cluster system that normally operates using all computers, and that continues to operate when a failure occurs, and a standby cluster that has a standby computer that operates when a failure occurs. There is a system. Further, the standby type cluster system is classified into 1: 1 standby type, 1: 1 mutual standby type, N: 1 standby type, N: M standby type, and the like. The N: 1 standby type is a cluster system including N active computers and one standby computer. The N: 1 standby type can realize high availability of a computer system and scalability of business processing (scalability) while suppressing the cost of a standby computer. The N: M standby type is a cluster system including N active computers and M standby computers (normally, N> M). The N: M standby type inherits the advantages of the N: 1 standby type and can cope with M failures. An example of an N: 1 standby cluster system is disclosed in Patent Document 1.
US Pat. No. 5,852,724 (“FIG. 2” and its description)

しかしながら、従来のN:1待機型は、業務処理がトランザクションである場合、短時
間にコンピュータシステムの二重障害に対応することは困難であった。これは、1台の現
用系コンピュータに障害が発生したとき、1台の待機系コンピュータがその中断したトラ
ンザクション(業務処理)を回復し、引き継ぐことになるので、障害が発生した現用系コ
ンピュータが正常に稼働できる状態にならない限り、次に発生する他の現用系コンピュー
タの障害に対応することができないことによる。ここで、トランザクションとは、業務処
理が複数のプロセスから構成されるものの、分割することができない処理の単位をいう。
これに対して、従来のN:M待機型は、M回の障害に対応することができるが、N:1待
機型と比較して運用の複雑さや待機系コンピュータのコストなどが問題となっていた。
However, in the conventional N: 1 standby type, when the business process is a transaction, it is difficult to cope with a double failure of the computer system in a short time. This is because when a failure occurs in one active computer, the standby computer recovers and takes over the interrupted transaction (business process), so the active computer where the failure occurred is normal. This is because the failure of another active computer that occurs next cannot be dealt with unless it becomes ready for operation. Here, a transaction is a unit of processing that cannot be divided even though business processing is composed of a plurality of processes.
On the other hand, the conventional N: M standby type can cope with M failures, but the operational complexity and the cost of the standby computer are problematic as compared with the N: 1 standby type. It was.

また、従来のN:1待機型クラスタシステムでは、現用系および待機系のサーバ構成(アプリケーションプログラムの種類や取り扱うデータベースの構造など)が一様である必要があった。これは、複数の現用系コンピュータに対して、1台の待機系コンピュータがトランザクションを回復し、その後の処理を含めて引き継ぐ必要があるからである。このため、N台の現用系においてサーバ構成が異なる場合は、同じサーバ構成の現用系をグループ化し、各グループについて1台の待機系を用意しなければならず、待機系のコストが増えるという問題があった。   Further, in the conventional N: 1 standby cluster system, the server configuration of the active system and the standby system (type of application program, database structure to be handled, etc.) needs to be uniform. This is because it is necessary for one standby computer to recover the transaction for a plurality of active computers and take over it including the subsequent processing. For this reason, when the server configurations are different in the N active systems, the active systems having the same server configuration must be grouped and one standby system must be prepared for each group, which increases the cost of the standby system. was there.

以上を換言すれば、従来のスタンバイ型クラスタシステムは、業務処理がトランザクシ
ョンである場合、待機系コンピュータのコストを最小限に抑えつつ、短時間にコンピュー
タシステムの二重障害に対応することが困難であるという問題があった。
In other words, it is difficult for a conventional standby cluster system to cope with a double failure of a computer system in a short time while minimizing the cost of a standby computer when the business process is a transaction. There was a problem that there was.

そこで、本発明は、前記問題に鑑み、クラスタシステムにおいて、業務処理がトランザクションである場合であっても、待機系コンピュータのコストを最小限に抑える手段を提供することを課題とする。   In view of the above problems, an object of the present invention is to provide means for minimizing the cost of a standby computer even in a cluster system, even when business processing is a transaction.

本発明は、クライアントと通信可能であり、そのクライアントから受信した処理要求を振り分ける負荷分散装置と、
前記負荷分散装置が振り分けた処理要求を受信し、その処理を実行する実行サーバと、
前記実行サーバの障害を検出したとき、その実行サーバのトランザクションを回復する待機サーバと、がネットワーク接続されて構成されるクラスタシステムにおいて、
前記待機サーバが、前記実行サーバごとに、その稼働状態を監視し、障害が発生した実行サーバのトランザクションを回復すると共に、その実行サーバの縮退制御を行うクラスタ制御方法であって、
前記待機サーバは、前記実行サーバごとに、障害発生時のトランザクションの回復順序を制御するために、NULLまたは次にトランザクションを回復する実行サーバへのポインタを設定する回復順序ポインタを備え、
前記待機サーバは、所定の実行サーバに対して処理を行う場合、
初期化処理として、前記実行サーバの回復順序ポインタをNULLにするステップと、
所定の時間ごとに前記実行サーバの稼働状態を監視するステップと、
前記監視の結果として前記実行サーバの障害を検出したとき、前記実行サーバをリセットし、縮退させるステップと、
前記トランザクションを回復する前に、既にトランザクション回復中の実行サーバがある場合、その回復中の実行サーバから前記回復順序ポインタを辿っていったとき、最初にNULLになった回復順序ポインタに当該実行サーバへのポインタを設定するステップと、
その次に、他の実行サーバに対する処理からトランザクションの回復処理完了が通知されるのを待って、トランザクションの回復を開始して、前記実行サーバのトランザクションを回復し、前記トランザクションを回復した後、当該実行サーバの回復順序ポインタがNULLでないとき、その回復順序ポインタが示す実行サーバに対する処理に回復処理完了を通知し、その回復順序ポインタにNULLを設定し、前記稼働状態の監視に戻るステップと、
前記監視の結果として前記実行サーバの正常を検出し、かつ、前記実行サーバが縮退しているとき、前記実行サーバの縮退を解除し、前記稼働状態の監視に戻るステップと、を実行することを特徴とする。
これによって、実行サーバの障害が発生した順序に従って、その実行サーバのトランザクションを回復することができる。
The present invention is a load distribution device that can communicate with a client and distributes a processing request received from the client;
Receiving the processing request load balancer is distributed, and the executing server to execute the process,
Upon detection of a failure of the execution server, the standby server to recover transactions that execution server, but the networked constructed by torque raster system,
The standby server, for each of the execution server, monitoring the operating state, as well as restore the transaction execution the failed server, a cluster control method for performing degeneration control of the execution server,
The standby server includes, for each execution server, a recovery order pointer that sets a pointer to an execution server that recovers NULL or the next transaction in order to control the recovery order of transactions when a failure occurs,
When the standby server performs processing for a predetermined execution server,
As an initialization process, the recovery sequence pointer of the execution server is set to NULL,
Monitoring the operating state of the execution server at predetermined time intervals;
When detecting a failure of the execution server as a result of the monitoring, resetting the execution server and degenerating;
If there is an execution server that is already recovering a transaction before recovering the transaction, when the recovery order pointer is traced from the recovery execution server, the execution server is first set to the recovery order pointer that is NULL. Setting a pointer to
Next, after the completion of the transaction recovery process is notified from the processing for the other execution server, the recovery of the transaction is started, the transaction of the execution server is recovered, the transaction is recovered, When the recovery sequence pointer of the execution server is not NULL, the completion of the recovery processing is notified to the processing for the execution server indicated by the recovery sequence pointer, NULL is set in the recovery sequence pointer, and the process returns to the monitoring of the operation state;
Detecting normality of the execution server as a result of the monitoring, and when the execution server is degenerated, canceling the degeneration of the execution server and returning to the monitoring of the operating state, Features.
As a result, the transactions of the execution server can be recovered according to the order in which the failure of the execution server occurs.

この方法において、待機サーバは、実行サーバごとに行う処理として、所定の時間ごと
に実行サーバの稼働状態を監視し、障害が発生した実行サーバのトランザクションの回復
を行った後、その実行サーバの処理を引き継ぐことは行わず、再び実行サーバの稼働状態
の監視を継続する。これによって、待機サーバが障害の発生した実行サーバのトランザク
ションを随時回復するため、その回復が停滞することがなくなるので、その実行サーバの
未完了のトランザクションによる他の実行サーバの業務処理の中断を回避することができ
る。
In this method, the standby server monitors the operating state of the execution server every predetermined time as the processing to be performed for each execution server, recovers the transaction of the execution server in which the failure has occurred, and then performs the processing of the execution server. The monitoring of the operating state of the execution server is continued again. As a result, the standby server recovers the failed execution server transaction from time to time, so that the recovery does not stagnate, so it is possible to avoid interruption of business processing of other execution servers due to incomplete transactions of the execution server. can do.

また、この方法において、待機サーバは、障害が発生した実行サーバを縮退させるとき
、負荷分散装置に対して実行サーバの構成リストから当該実行サーバをはずすことを指示
するメッセージを送信する。これによって、障害が発生した実行サーバおよびそのIPア
ドレスを引き継いでトランザクションを回復する(フェールオーバ中の)待機サーバに、
負荷分散装置から不当に処理要求が来ることがなくなる。また、障害から回復して稼働で
きる状態になった実行サーバの縮退を解除するとき、負荷分散装置に対して実行サーバの
構成リストに当該実行サーバを追加することを指示するメッセージを送信する。これによ
って、稼働できる状態になった実行サーバに、負荷分散装置から処理要求が来るようにな
り、負荷分散が図られる。
In this method, when the standby server degenerates the failed execution server, the standby server transmits a message instructing the load balancer to remove the execution server from the configuration list of the execution server. As a result, the standby server that is taking over the failed execution server and its IP address and recovering the transaction (during failover)
Unfair processing requests from the load balancer are eliminated. In addition, when the degeneration of the execution server that has recovered from the failure and can be operated is released, a message instructing to add the execution server to the configuration list of the execution server is transmitted to the load balancer. As a result, a processing request comes from the load balancer to the execution server that is ready to operate, and load balancing is achieved.

続いて、この方法において、待機サーバは、障害が発生した実行サーバのリソース接続情報を取得する。そして、このリソース接続情報を用いてリソースにアクセスし、仕掛かり中のトランザクションを回復する。これによって、実行サーバの構成が一様でなくても、処理対象の実行サーバを切り替えた場合にリソース接続情報を取得するため、障害のあった実行サーバが接続していたリソースに接続でき、トランザクションを回復することができる。   Subsequently, in this method, the standby server acquires the resource connection information of the execution server in which the failure has occurred. Then, the resource is accessed using this resource connection information, and the transaction in progress is recovered. Even if the execution server configuration is not uniform, resource connection information is acquired when the execution server to be processed is switched. Can be recovered.

なお、本発明は、クラスタシステムおよび待機サーバを含む。また、請求項における「所定の実行サーバに対して処理を行う場合」の「処理」および「実行サーバに対する処理」は、後記する発明を実施するための最良の形態における「待機サーバの実行サーバ監視スレッド」に相当する。また、請求項における「実行サーバの縮退」の状態および「回復順序ポインタ」は、後記する発明を実施するための最良の形態においては、「実行サーバ管理テーブル」によって管理される。   The present invention includes a cluster system and a standby server. In addition, “processing” and “processing for an execution server” in “when processing is performed on a predetermined execution server” in the claims are “execution server monitoring of a standby server” in the best mode for carrying out the invention described later. Corresponds to “thread”. Further, the “execution server degeneration” state and “recovery order pointer” in the claims are managed by an “execution server management table” in the best mode for carrying out the invention described later.

本発明によれば、待機サーバがトランザクションを回復した後、業務処理を引き継がずに再び待機するので、待機系のコストを抑えることができる。   According to the present invention, after the standby server recovers the transaction, the standby server waits again without taking over the business process, so that the cost of the standby system can be suppressed.

以下、本発明を実施するための最良の形態(以下、「本発明の実施の形態」という)に
ついて図面を参照して詳細に説明する。
Hereinafter, the best mode for carrying out the present invention (hereinafter referred to as “embodiment of the present invention”) will be described in detail with reference to the drawings.

≪第1の実施の形態≫
(クラスタシステムの構成と概要)
図1を参照して、第1の実施の形態に係るスタンバイ型クラスタシステムの構成について説明する。このスタンバイ型クラスタシステム(図1および以下において、単に「クラスタシステム10」とする)においては、負荷分散装置100がクライアント20から受けた業務処理要求を複数の各実行サーバに分散処理させるために、各実行サーバに同一の業務処理プログラムが配備されている。クラスタシステム10は、ネットワークセグメント110に接続された1台の負荷分散装置100、N台の実行サーバ160〜162および1台の待機サーバ170と、ネットワークセグメント120に接続された2台のDBサーバ180、181とから構成されている。ネットワークセグメント110と、ネットワークセグメント120とは、ネットワーク115によって接続されている。各実行サーバ160〜162と、待機サーバ170とは、それぞれ、KA(Keep Alive)パス130〜132、リセットパス140〜142および共有ディスク装置150〜152を介して接続されている。各DBサーバ180、181は、それぞれ、実行サーバ160〜162から業務処理中に参照、更新される業務DB190、191を配下に持つ。
<< First Embodiment >>
(Cluster system configuration and overview)
With reference to FIG. 1, the configuration of the standby cluster system according to the first embodiment will be described. In this standby type cluster system (referred to simply as “cluster system 10” in FIG. 1 and the following), the load distribution apparatus 100 distributes the business processing requests received from the clients 20 to a plurality of execution servers. The same business processing program is deployed on each execution server. The cluster system 10 includes one load distribution apparatus 100 connected to the network segment 110, N execution servers 160 to 162, one standby server 170, and two DB servers 180 connected to the network segment 120. , 181 and. The network segment 110 and the network segment 120 are connected by a network 115. The execution servers 160 to 162 and the standby server 170 are connected via KA (Keep Alive) paths 130 to 132, reset paths 140 to 142, and shared disk devices 150 to 152, respectively. Each of the DB servers 180 and 181 has business DBs 190 and 191 under the control of the execution servers 160 to 162 that are referred to and updated during business processing.

負荷分散装置100は、ネットワーク30を介して接続されたクライアント20から業
務処理要求を受ける。そして、自らが保持している実行サーバの構成リスト(図示せず)
において現在有効な実行サーバに対して、その業務処理要求を振り分ける。その振り分け
には、例えば、ラウンドロビン方式を使用する。その構成リストは、待機サーバ170の
負荷分散装置制御手段171からの指示によって更新するものとする。実行サーバ160
〜162は、負荷分散装置100から振り分けられた業務処理要求に対応する業務処理を
実行するサーバであり、いわゆる現用系である。業務処理を実行するときには、DBサー
バ180を介して業務DB190を参照、更新し、DBサーバ181を介して業務DB1
91を参照、更新する。業務処理がトランザクションである場合、業務DB190および
191の両方を更新するものとする。なお、「実行サーバ1」、「実行サーバ2」および
「実行サーバN」のように数字を付与しているのは、図5に示す実行サーバ識別子501
に対応させるためである。待機サーバ170は、実行サーバが停止したときにトランザク
ションの回復処理を行うサーバであり、いわゆる予備系(待機系)である。待機サーバ1
70は、負荷分散装置制御手段171、フェールオーバ順序制御手段172およびトラン
ザクション回復処理手段173を備えている。負荷分散装置制御手段171は、負荷分散
装置100を制御する機能を持ち、特に、実行サーバの稼働状態に応じて、前記構成リス
トに対する実行サーバの追加、削除などを負荷分散装置100に指示する。フェールオー
バ順序制御手段172は、二重障害が発生したときのトランザクション回復順序を制御す
る機能を持つ。トランザクション回復処理手段173は、実行サーバが停止したとき、そ
の実行サーバの仕掛かり(未完了の)トランザクションを回復する機能を持つ。
The load balancer 100 receives a business process request from the client 20 connected via the network 30. And the configuration list (not shown) of the execution server held by itself
In FIG. 2, the business process request is distributed to the currently effective execution server. For the distribution, for example, a round robin method is used. The configuration list is updated by an instruction from the load balancer control unit 171 of the standby server 170. Execution server 160
˜162 are servers that execute business processing corresponding to business processing requests distributed from the load balancer 100, and are so-called active systems. When executing business processing, the business DB 190 is referred to and updated via the DB server 180, and the business DB 1 is transmitted via the DB server 181.
91 is referred to and updated. When the business process is a transaction, both business DBs 190 and 191 are updated. Note that numbers such as “Execution Server 1”, “Execution Server 2”, and “Execution Server N” are given numbers as the execution server identifier 501 shown in FIG.
This is to correspond to. The standby server 170 is a server that performs transaction recovery processing when the execution server stops, and is a so-called standby system (standby system). Standby server 1
70 includes a load balancer control unit 171, a failover order control unit 172, and a transaction recovery processing unit 173. The load balancer control unit 171 has a function of controlling the load balancer 100. In particular, the load balancer 100 instructs the load balancer 100 to add or delete an execution server from the configuration list in accordance with the operating state of the execution server. The failover order control means 172 has a function of controlling the transaction recovery order when a double failure occurs. The transaction recovery processing unit 173 has a function of recovering an in-process (incomplete) transaction of the execution server when the execution server is stopped.

KAパス130〜132は、待機サーバ170が各実行サーバの稼働状態を監視するた
めに使用する信号線である。リセットパス140〜142は、待機サーバ170が各実行
サーバのネットワークアダプタ停止やCPU(Central Processing Unit)リセットなど
のリセット処理を行うために使用する信号線である。共有ディスク装置150〜152は
、各実行サーバにおけるトランザクションの状態を遂次格納する。その格納されているト
ランザクションの状態は、各実行サーバおよび待機サーバ170から参照、更新可能であ
る。
The KA paths 130 to 132 are signal lines used by the standby server 170 to monitor the operating state of each execution server. The reset paths 140 to 142 are signal lines used by the standby server 170 to perform reset processing such as a network adapter stop or CPU (Central Processing Unit) reset of each execution server. The shared disk devices 150 to 152 sequentially store the transaction status in each execution server. The state of the stored transaction can be referred to and updated from each execution server and standby server 170.

第1の実施の形態では、実行サーバ160〜162に配備された各業務処理プログラムが、それぞれDBサーバ180、181に対してグローバルトランザクションを実行し、そのトランザクションの状態をそれぞれ共有ディスク装置150〜152に格納することを想定しているが、単一DBに対するローカルトランザクションを実行してもよいし、共有ディスク装置150〜152を同一の共有ディスク装置で実現してもよい。また、第1の実施の形態では、説明の便宜上、負荷分散装置、ネットワーク、ネットワークアダプタ、DBサーバなどの冗長構成を採用していないが、これらの冗長構成を採ってもよい。   In the first embodiment, each business processing program deployed on the execution servers 160 to 162 executes a global transaction with respect to the DB servers 180 and 181, respectively, and the state of the transaction is changed to the shared disk devices 150 to 152, respectively. However, a local transaction may be executed for a single DB, and the shared disk devices 150 to 152 may be realized by the same shared disk device. Further, in the first embodiment, for convenience of explanation, redundant configurations such as a load balancer, a network, a network adapter, and a DB server are not employed, but these redundant configurations may be employed.

ここで、各構成要素の実現形態について説明する。クライアント20は、PC(Person
al Computer)などのクライアント用コンピュータによって実現される。負荷分散装置1
00は、負荷分散ソフトウエアを搭載したPCや専用のハードウエアなどによって実現さ
れる。実行サーバ160〜162、待機サーバ170およびDBサーバ180、181は
、いわゆるサーバ用コンピュータによって実現される。共有ディスク装置150〜152
および業務DB190、191は、ハードディスク装置などの記憶装置によって実現され
る。また、負荷分散装置制御手段171、フェールオーバ順序制御手段172およびトラ
ンザクション回復処理手段173は、待機サーバ170に内蔵されるCPUが所定のメモ
リに記憶されたプログラムを実行することによって実現される。
Here, an implementation form of each component will be described. Client 20 is a PC (Person
al Computer). Load balancer 1
00 is realized by a PC equipped with load balancing software, dedicated hardware, or the like. The execution servers 160 to 162, the standby server 170, and the DB servers 180 and 181 are realized by so-called server computers. Shared disk devices 150-152
The business DBs 190 and 191 are realized by a storage device such as a hard disk device. Further, the load balancer control unit 171, the failover order control unit 172, and the transaction recovery processing unit 173 are realized by a CPU built in the standby server 170 executing a program stored in a predetermined memory.

(クラスタシステムの処理)
図2を参照して、第1の実施の形態に係る待機サーバの処理の流れについて説明する(適宜図1参照)。待機サーバ170は、まず、図5に示す実行サーバ管理テーブル500を初期化する(ステップS200)。ここで、実行サーバ管理テーブル500は、待機サーバ170に保存され、実行サーバの状態を管理するテーブルである。その詳細は後記する(図5参照)。次に、待機サーバ170による監視の対象となる各実行サーバにそれぞれ対応したN個の実行サーバ監視スレッドを実行する(ステップS201)。第1の実施の形態では、待機サーバ170において実行サーバを監視するために、各実行サーバに対応した複数のスレッド(プロセスの分割単位)を使用しているが、各実行サーバに対応した複数のプロセス(タスク)を利用してもよい。
(Cluster system processing)
With reference to FIG. 2, the flow of processing of the standby server according to the first embodiment will be described (see FIG. 1 as appropriate). The standby server 170 first initializes the execution server management table 500 shown in FIG. 5 (step S200). Here, the execution server management table 500 is a table that is stored in the standby server 170 and manages the state of the execution server. Details will be described later (see FIG. 5). Next, N execution server monitoring threads respectively corresponding to the execution servers to be monitored by the standby server 170 are executed (step S201). In the first embodiment, in order to monitor the execution server in the standby server 170, a plurality of threads (process division units) corresponding to each execution server are used, but a plurality of threads corresponding to each execution server are used. A process (task) may be used.

図3を参照して、第1の実施の形態に係る実行サーバ管理テーブルの初期化処理の流れについて説明する。これは、図2のステップS200の処理に相当する。待機サーバ170は、まず、実行サーバ管理テーブル500の稼働状態504(図5参照)を全て「停止」に初期化する(ステップS300)。次に、実行サーバ管理テーブル500の回復順序ポインタ505(図5参照)を全てNULLに初期化する(ステップS301)。なお、これらの初期化処理は、後記する実行サーバ監視スレッドが行うようにしてもよい。   With reference to FIG. 3, the flow of the initialization process of the execution server management table according to the first embodiment will be described. This corresponds to the process of step S200 in FIG. The standby server 170 first initializes all the operating states 504 (see FIG. 5) of the execution server management table 500 to “stop” (step S300). Next, all recovery order pointers 505 (see FIG. 5) in the execution server management table 500 are initialized to NULL (step S301). These initialization processes may be performed by an execution server monitoring thread described later.

図4を参照して、第1の実施の形態に係る実行サーバ監視スレッドの処理の流れについて説明する(適宜図1参照)。これは、図2のステップS201の処理に相当する。実行サーバM(M=1〜N)に対応する実行サーバ監視スレッドMは、まず、実行サーバMに接続されたKAパスを使用して実行サーバMの稼働状態を定期的に(所定の時間ごとに)監視する(ステップS400)。実行サーバ監視スレッドMは、稼働状態の監視がタイムアウトになったか否かによって監視対象の実行サーバMの稼働状態を判断する(ステップS401)。ここで、「稼働状態の監視がタイムアウトになった」とは、実行サーバ監視スレッドMがKAパスを介して実行サーバMに応答要求を送信したのに対して、所定のタイムアウト時間が経過しても実行サーバMから応答がなかったことを意味し、換言すれば、実行サーバMが障害によって停止していることを意味する。   With reference to FIG. 4, the flow of processing of the execution server monitoring thread according to the first embodiment will be described (see FIG. 1 as appropriate). This corresponds to the process of step S201 in FIG. The execution server monitoring thread M corresponding to the execution server M (M = 1 to N) first uses the KA path connected to the execution server M to periodically change the operating state of the execution server M (at predetermined time intervals). To monitor) (step S400). The execution server monitoring thread M determines the operation state of the execution server M to be monitored depending on whether the monitoring of the operation state has timed out (step S401). Here, “the monitoring of the operating state has timed out” means that the execution server monitoring thread M has sent a response request to the execution server M via the KA path, whereas a predetermined timeout time has elapsed. Means that there is no response from the execution server M. In other words, it means that the execution server M is stopped due to a failure.

所定のタイムアウト時間以内に稼働状態を取得できた(応答要求に対する応答があった)場合は(ステップS401のN)、図5に示す実行サーバ管理テーブル500における実行サーバMの稼働状態504をチェックする(ステップS410)。実行サーバMの稼働状態504が「停止」の場合は(ステップS410のY)、その稼働状態504を「停止」から「稼働中」に変更する(ステップS411)。そして、実行サーバ監視スレッドMの指示によって、負荷分散装置制御手段171が実行サーバMに対する負荷分散を開始する(ステップS412)。具体的には、まず、負荷分散装置制御手段171が、負荷分散装置100に対して、前記構成リストに実行サーバMを追加するように指示するメッセージを送信する。次に、負荷分散装置100は、その指示のメッセージを受信して、前記構成リストに実行サーバMを追加する。これによって、負荷分散装置100は、実行サーバMにも業務処理を振り分けるようになるので、実行サーバMに対する負荷分散が開始されたことになる。その後、実行サーバ監視スレッドMは、再び実行サーバMの稼働状態を監視する(ステップS400)。実行サーバMの稼働状態504が「停止」でない場合、すなわち、「稼働中」の場合は(ステップS410のN)、再び実行サーバMの稼働状態を監視する(ステップS400)。   If the operating state can be acquired within a predetermined timeout period (the response to the response request is received) (N in step S401), the operating state 504 of the execution server M in the execution server management table 500 shown in FIG. 5 is checked. (Step S410). When the operating state 504 of the execution server M is “stopped” (Y in step S410), the operating state 504 is changed from “stopped” to “operating” (step S411). Then, according to an instruction from the execution server monitoring thread M, the load distribution device control unit 171 starts load distribution to the execution server M (step S412). Specifically, first, the load balancer control unit 171 transmits a message instructing the load balancer 100 to add the execution server M to the configuration list. Next, the load balancer 100 receives the instruction message and adds the execution server M to the configuration list. As a result, the load distribution apparatus 100 distributes the business process to the execution server M, so that load distribution to the execution server M is started. Thereafter, the execution server monitoring thread M again monitors the operating state of the execution server M (step S400). When the operating state 504 of the execution server M is not “stopped”, that is, when it is “operating” (N in step S410), the operating state of the execution server M is monitored again (step S400).

実行サーバ監視スレッドMは、タイムアウト時間以内に稼働状態を取得できなかった場
合(ステップS401のY)、実行サーバ管理テーブル500における実行サーバMの稼
働状態504が「稼働中」であるか否かをチェックする(ステップS402)。稼働状態
504が「稼働中」でない場合、すなわち、「停止」の場合は(ステップS402のN)
、再び実行サーバMの稼働状態を監視する(ステップS400)。稼働状態504が「稼
働中」の場合は(ステップS402のY)、実行サーバMに接続されたリセットパスを使
用して、実行サーバMのネットワークアダプタ停止やCPUリセットなどのリセット処理
を行う(ステップS420)。次に、実行サーバ監視スレッドMの指示によって、負荷分
散装置制御手段171が、実行サーバMのIPアドレスに対する負荷分散を停止する(ス
テップS421)。
If the execution server monitoring thread M cannot acquire the operation state within the timeout period (Y in step S401), it is determined whether or not the operation state 504 of the execution server M in the execution server management table 500 is “in operation”. Check (step S402). When the operating state 504 is not “operating”, that is, when it is “stopped” (N in step S402).
The operating state of the execution server M is again monitored (step S400). When the operation state 504 is “in operation” (Y in step S402), reset processing such as network adapter stop or CPU reset of the execution server M is performed using the reset path connected to the execution server M (step S402). S420). Next, according to an instruction from the execution server monitoring thread M, the load balancer control unit 171 stops load distribution for the IP address of the execution server M (step S421).

具体的には、まず、負荷分散装置制御手段171が、負荷分散装置100に対して、前記構成リストから実行サーバMのIPアドレスを削除するように指示するメッセージを送信する。次に、負荷分散装置100は、その指示のメッセージを受信して、前記構成リストから実行サーバMのIPアドレスを削除する。これによって、負荷分散装置100は、実行サーバMのIPアドレスに業務処理を振り分けることがなくなるので、実行サーバMのIPアドレスに対する負荷分散が停止されたことになる。これは、別途トランザクションを回復するときに、待機サーバ170が実行サーバMのIPアドレスをテークオーバする(引き継ぐ)ことに起因して、クライアント20からの新たな業務処理要求に対応する業務処理が、負荷分散装置100から待機サーバ170に振り分けられるのを回避するためである。   Specifically, first, the load balancer control unit 171 transmits a message for instructing the load balancer 100 to delete the IP address of the execution server M from the configuration list. Next, the load balancer 100 receives the instruction message and deletes the IP address of the execution server M from the configuration list. As a result, the load distribution apparatus 100 does not distribute the business process to the IP address of the execution server M, so that the load distribution for the IP address of the execution server M is stopped. This is because when the transaction is separately recovered, the standby server 170 takes over (takes over) the IP address of the execution server M, so that the business process corresponding to the new business process request from the client 20 is This is to avoid being distributed from the distribution apparatus 100 to the standby server 170.

続いて、実行サーバ監視スレッドMは、実行サーバ管理テーブル500の稼働状態50
4を検索して、トランザクション「回復中」状態の実行サーバがあるか否かを判断する(
ステップS422)。「回復中」の実行サーバが存在する場合(ステップS422のY)
、実行サーバMの稼働状態504を「稼働中」から「待機中」に変更する(ステップS4
30)。次に、「回復中」状態の実行サーバの回復順序ポインタ505を順に辿り、最初
にNULLを検出した個所に実行サーバMへのポインタを書き込む(ステップS431)
。そして、実行サーバ監視スレッドMは、他の実行サーバ監視スレッドからトランザクシ
ョン回復処理の完了通知が届くまで待機する(ステップS432)。
Subsequently, the execution server monitoring thread M indicates the operating state 50 of the execution server management table 500.
4 is searched to determine whether or not there is an execution server in the transaction “in recovery” state (
Step S422). When there is an execution server “in recovery” (Y in step S422)
The operating state 504 of the execution server M is changed from “operating” to “standby” (step S4).
30). Next, the recovery order pointer 505 of the execution server in the “recovering” state is sequentially traced, and a pointer to the execution server M is written in the place where NULL is first detected (step S431).
. Then, the execution server monitoring thread M stands by until a notification of completion of transaction recovery processing is received from another execution server monitoring thread (step S432).

実行サーバ監視スレッドMは、「回復中」の実行サーバが存在しない場合(ステップS
422のN)、または、前記トランザクション回復処理の完了通知を受けた場合(ステッ
プS432の待ちが解除された場合)、実行サーバ管理テーブル500における実行サー
バMの稼働状態504を「稼働中」または「待機中」から「回復中」に変更する(ステッ
プS440)。そして、実行サーバMのIPアドレスをテークオーバ(引き継ぎ)する(
ステップS441)。具体的には、待機サーバ170のLANアダプタ(図示せず)には
固有のIPアドレスが予め設定されているが、そのIPアドレスの別名(alias)として
実行サーバMのIPアドレスを設定する。これによって、待機サーバ170は、仕掛かり
トランザクションを回復するために他の実行サーバから要求される業務処理を、実行サー
バMに代わって実行することができる。
The execution server monitoring thread M determines that there is no “recovering” execution server (step S
422 N), or when the completion notification of the transaction recovery process is received (when the wait in step S432 is released), the operation state 504 of the execution server M in the execution server management table 500 is set to “in operation” or “ “Waiting” is changed to “Recovering” (step S440). Then, the IP address of the execution server M is taken over (takeover) (
Step S441). Specifically, a unique IP address is set in advance in the LAN adapter (not shown) of the standby server 170, but the IP address of the execution server M is set as an alias of the IP address. As a result, the standby server 170 can execute, on behalf of the execution server M, business processing requested from another execution server in order to recover the in-process transaction.

次に、実行サーバ監視スレッドMは、実行サーバ管理テーブル500における実行サー
バMの共有ディスク装置情報503から当該共有ディスク装置に格納されているトランザ
クションの状態を取得し、トランザクション回復処理手段173に指示することによって
、実行サーバMの仕掛かりトランザクションを回復する(ステップS442)。具体的に
は、トランザクション回復処理手段173が、実行サーバMのトランザクションの状態に
応じて、負荷分散装置100からのトランザクションおよび他の実行サーバからのトラン
ザクションを回復する。
Next, the execution server monitoring thread M acquires the status of the transaction stored in the shared disk device from the shared disk device information 503 of the execution server M in the execution server management table 500 and instructs the transaction recovery processing unit 173. As a result, the in-process transaction of the execution server M is recovered (step S442). Specifically, the transaction recovery processing unit 173 recovers a transaction from the load balancer 100 and a transaction from another execution server according to the transaction state of the execution server M.

負荷分散装置100からのトランザクションを回復するときには、コミットを行うこと
によってトランザクションを完了させたり、ロールバックを行うことによってトランザク
ション前の状態に戻したりする。例えば、そのトランザクションが、業務DB190の更
新が発生するプロセスAを行い、次に、業務DB191の更新が発生するプロセスBを行
うものであるとする。その場合、トランザクションの状態としてプロセスAおよびプロセ
スBが正常終了であったときには、トランザクションを完了させるために業務DB190
および191の更新を行うコミットを行う。また、プロセスAまたはプロセスBが異常終
了であったときには、トランザクション前の状態に戻すために業務DB190および19
1の更新を止めて元に戻すロールバックを行う。
When recovering a transaction from the load balancer 100, the transaction is completed by committing, or returned to the state before the transaction by performing rollback. For example, it is assumed that the transaction performs process A in which the business DB 190 is updated, and then performs process B in which the business DB 191 is updated. In this case, when the processes A and B are normally completed as the transaction state, the business DB 190 is used to complete the transaction.
And commit to update 191. When the process A or the process B is abnormally terminated, the business DBs 190 and 19 are used to return to the state before the transaction.
Roll back to stop the update of 1 and restore it.

一方、実行サーバMは、負荷分散装置100からではなく、他の実行サーバからトラン
ザクションを受けることがある。例えば、他の実行サーバが、負荷分散装置100から受
けたグローバルトランザクションを実行サーバMにブランチすることがある。実行サーバ
Mがそのブランチされたトランザクションを実行中に異常停止すると、その業務処理が中
断する。このような他の実行サーバからブランチされたトランザクションを回復するとき
、待機サーバ170のトランザクション回復処理手段173は、まず、ブランチされた仕
掛かりトランザクションに係る他の実行サーバに対して、トランザクションの回復を行う
ように指示する。これに応じて、他の実行サーバは、ブランチしたトランザクションをど
う決着するかを判断し、前記ブランチしたトランザクションの決着の指示を待機サーバ1
70に対して行う。そして、待機サーバ170のトランザクション回復処理手段173は
、他の実行サーバから受けた指示に従ってトランザクションを決着する。なお、このとき
、他の実行サーバは、ステップS441でテークオーバされた実行サーバMのIPアドレ
スを使用して、待機サーバ170とのやりとりを行うことになる。
On the other hand, the execution server M may receive a transaction from another execution server instead of from the load distribution apparatus 100. For example, another execution server may branch a global transaction received from the load balancer 100 to the execution server M. If the execution server M stops abnormally while executing the branched transaction, the business process is interrupted. When recovering a branched transaction from such another execution server, the transaction recovery processing unit 173 of the standby server 170 first recovers the transaction to the other execution server related to the branched in-process transaction. Instruct to do. In response to this, the other execution server determines how to settle the branched transaction, and gives an instruction to settle the branched transaction to the standby server 1.
70. Then, the transaction recovery processing unit 173 of the standby server 170 finalizes the transaction according to the instruction received from the other execution server. At this time, the other execution server performs an exchange with the standby server 170 using the IP address of the execution server M taken over in step S441.

以上によって、実行サーバMの仕掛かりトランザクションに起因する、他の実行サーバ
における業務処理の中断を回避することができる。特に、グローバルトランザクションの
場合、比較的長いトランザクションタイムアウト値を設定するため、仕掛かりトランザク
ションの回復処理による可用性の向上効果は大きい。
As described above, it is possible to avoid interruption of business processing in another execution server due to an in-process transaction of the execution server M. In particular, in the case of a global transaction, since a relatively long transaction timeout value is set, the effect of improving availability due to the recovery processing of an in-process transaction is great.

実行サーバ監視スレッドMは、当該共有ディスク装置に格納されたトランザクションの
状態を更新した後、テークオーバした実行サーバMのIPアドレスを破棄する(ステップ
S443)。具体的には、ステップS441において別名として設定した実行サーバMの
IPアドレスを、待機サーバ170のLANアダプタの設定からはずす。次に、実行サー
バ管理テーブル500における実行サーバMの稼働状態504を「回復中」から「停止」
に変更する(ステップS444)。そして、実行サーバ監視スレッドMは、実行サーバ管
理テーブル500における実行サーバMの回復順序ポインタ505がNULLか否かをチ
ェックする(ステップS445)。NULLの場合は(ステップS445のY)、再び実
行サーバMの稼働状態を監視する(ステップS460、S400)。NULLでない場合
は(ステップS445のN)、回復順序ポインタ505の指す実行サーバに対応する実行
サーバ監視スレッドにトランザクション回復処理の完了を通知し、その回復順序ポインタ
505をNULLにリセットする(ステップS450)。このトランザクション回復処理
の完了の通知によって、通知先の実行サーバ監視スレッドにおけるステップS432の通
知待ちが解除される。そして、再び実行サーバMの稼働状態を監視する(ステップS46
0、S400)。
The execution server monitoring thread M updates the transaction state stored in the shared disk device, and then discards the IP address of the take-over execution server M (step S443). Specifically, the IP address of the execution server M set as an alias in step S441 is removed from the LAN adapter setting of the standby server 170. Next, the operating state 504 of the execution server M in the execution server management table 500 is changed from “being recovered” to “stopped”.
(Step S444). Then, the execution server monitoring thread M checks whether or not the recovery order pointer 505 of the execution server M in the execution server management table 500 is NULL (step S445). In the case of NULL (Y in step S445), the operating state of the execution server M is monitored again (steps S460 and S400). If it is not NULL (N in Step S445), the execution server monitoring thread corresponding to the execution server pointed to by the recovery order pointer 505 is notified of the completion of the transaction recovery processing, and the recovery order pointer 505 is reset to NULL (Step S450). . With this notification of completion of the transaction recovery processing, the notification waiting in step S432 in the execution server monitoring thread that is the notification destination is released. Then, the operating state of the execution server M is monitored again (step S46).
0, S400).

第1の実施の形態では、複数の実行サーバに同一の業務処理プログラムを配備しているため、ステップS442〜S444によって、実行サーバ160〜162の多重障害が発生したときにおいても、クラスタシステム10を縮退して業務処理を継続することができる。   In the first embodiment, since the same business processing program is deployed on a plurality of execution servers, the cluster system 10 is configured even when multiple failures occur in the execution servers 160 to 162 due to steps S442 to S444. Degenerate and continue business processing.

図5を参照して、第1の実施の形態に係る実行サーバ監視スレッドが使用する実行サーバ管理テーブルの構成について説明する。実行サーバ管理テーブル500は、実行サーバを一意に識別する実行サーバ識別子501、実行サーバのLANアダプタに付与するIPアドレス502、トランザクションの状態を格納する共有ディスク装置に関する情報である共有ディスク装置情報503、実行サーバの稼働状態504およびトランザクションの回復順序ポインタ505で構成されるレコードからなるテーブルである。   The configuration of the execution server management table used by the execution server monitoring thread according to the first embodiment will be described with reference to FIG. The execution server management table 500 includes an execution server identifier 501 that uniquely identifies the execution server, an IP address 502 assigned to the LAN adapter of the execution server, and shared disk device information 503 that is information related to the shared disk device that stores the transaction status. This is a table composed of records composed of an operating state 504 of the execution server and a transaction recovery order pointer 505.

稼働状態504には、「停止」、「稼働中」、「回復中」および「待機中」がある。「
停止」は、当該実行サーバが、電源投入後、または、障害発生に対するトランザクション
回復後、まだ業務処理を行う状態になっていないことを示す。「稼働中」は、当該実行サ
ーバが、業務処理を行う状態になっていることを示す。「回復中」は、待機サーバ170
が、当該実行サーバの障害を検出して、トランザクションを回復している状態を示す。「
待機中」は、待機サーバ170が、実行サーバの多重障害が発生したとき、他の実行サー
バのトランザクションを回復中のため、当該実行サーバのトランザクションの回復を待機
させている状態を示す。
The operating state 504 includes “stopped”, “operating”, “recovering”, and “standby”. "
“Stopped” indicates that the execution server is not yet in a state of performing business processing after power-on or after recovery of a transaction for the occurrence of a failure. “In operation” indicates that the execution server is in a state of performing business processing. “Recovering” indicates standby server 170
Shows a state in which the failure of the execution server is detected and the transaction is recovered. "
“Waiting” indicates a state in which the standby server 170 is waiting for recovery of a transaction of the execution server because a transaction of another execution server is being recovered when a multiple failure of the execution server occurs.

回復順序ポインタ505には、実行サーバの多重障害発生時、トランザクションを回復
する順序を示すリストを形成するために、次にトランザクションを回復する実行サーバへ
のポインタを格納する。前記リストの先頭は、稼働状態504が回復中の実行サーバであ
り、前記リストの最後は、前記リストを辿っていったときに初めて回復順序ポインタ50
5がNULLとなる実行サーバである。これによれば、障害が発生した順序に従ってトランザクションを回復するので、二重障害が発生したときのトランザクション回復の整合性を保障することができる。
The recovery order pointer 505 stores a pointer to the execution server that recovers the next transaction in order to form a list indicating the order in which transactions are recovered when multiple failures occur in the execution server. The top of the list is an execution server whose operating state 504 is being recovered, and the end of the list is the recovery order pointer 50 for the first time when the list is traced.
An execution server 5 is NULL. According to this, since the transactions are recovered in the order in which the failures occur, it is possible to guarantee the consistency of transaction recovery when a double failure occurs.

≪第2の実施の形態≫
次に、第1の実施の形態と比較しながら、第2の実施の形態について説明する。図6は、第2の実施の形態に係るスタンバイ型クラスタシステムの構成を示す図である。この構成を第1の実施の形態のシステム構成(図1参照)と比較すると、図1のトランザクション回復処理手段173がトランザクション回復処理手段2(174)に置き換わっている。トランザクション回復処理手段2(174)は、実行サーバが停止した場合、その実行サーバの仕掛かりトランザクションを回復する機能を持つが、さらに、そのトランザクションを回復するためにリソースにアクセスするのに必要な情報を利用する機能を併せ持つ。
<< Second Embodiment >>
Next, the second embodiment will be described in comparison with the first embodiment. FIG. 6 is a diagram illustrating a configuration of a standby cluster system according to the second embodiment. When this configuration is compared with the system configuration of the first embodiment (see FIG. 1), the transaction recovery processing means 173 in FIG. 1 is replaced with the transaction recovery processing means 2 (174). The transaction recovery processing means 2 (174) has a function of recovering the in-process transaction of the execution server when the execution server is stopped, and further, information necessary for accessing the resource to recover the transaction. It also has a function to use.

図7は、第2の実施の形態に係る実行サーバ管理テーブルの構成を示す図である。この構成を第1の実施の形態のテーブル構成(図5参照)と比較すると、リソース接続情報506が追加されている。リソース接続情報506は、実行サーバが接続していたリソースに関する情報であり、待機サーバがそのリソースにアクセスするのに必要な情報である。リソースとは、例えば、DBサーバ180やDBサーバ181である。その場合、リソース接続情報506は、例えば、DBサーバのIPアドレス、ユーザ名、パスワード、データベース名などである。図7では、1つのまとまったリソース接続情報506をRAと表現し、RA1、RA2、RA3のように例示している。仕掛かりトランザクションが2台以上のDBサーバまたは2個以上のDBにわたっているような場合には、実行サーバ1や実行サーバNのレコードに示すように、リソース接続情報506が2つ以上のRAからなる。なお、リソースには、DBサーバの他に、トランザクション処理を実現するTPモニタ(Transaction Processing Monitor)などが考えられる。   FIG. 7 is a diagram illustrating a configuration of an execution server management table according to the second embodiment. When this configuration is compared with the table configuration of the first embodiment (see FIG. 5), resource connection information 506 is added. The resource connection information 506 is information related to the resource to which the execution server is connected, and is information necessary for the standby server to access the resource. The resource is, for example, the DB server 180 or the DB server 181. In this case, the resource connection information 506 is, for example, the DB server IP address, user name, password, database name, and the like. In FIG. 7, one set of resource connection information 506 is expressed as RA and illustrated as RA1, RA2, and RA3. When an in-process transaction spans two or more DB servers or two or more DBs, the resource connection information 506 includes two or more RAs as shown in the records of the execution server 1 and the execution server N. . In addition to the DB server, the resource may be a TP monitor (Transaction Processing Monitor) that implements transaction processing.

図8は、第2の実施の形態に係る実行サーバ監視スレッドの処理の一部を示すフローチャートである。この処理を第1の実施の形態の処理(図4参照)と比較すると、図4のステップS442がステップS801およびステップS802に置き換わっている。実行サーバ監視スレッドMは、実行サーバMのIPアドレスをテークオーバした(ステップS441)後、実行サーバ管理テーブル510から実行サーバMのリソース構成情報506を取得する(ステップS801)。そして、その取得したリソース構成情報506のトランザクションを回復する(ステップS802)。   FIG. 8 is a flowchart showing a part of processing of the execution server monitoring thread according to the second embodiment. When this process is compared with the process of the first embodiment (see FIG. 4), step S442 in FIG. 4 is replaced with step S801 and step S802. The execution server monitoring thread M takes over the IP address of the execution server M (step S441), and then acquires the resource configuration information 506 of the execution server M from the execution server management table 510 (step S801). Then, the transaction of the acquired resource configuration information 506 is recovered (step S802).

具体的には、リソース構成情報506と、実行サーバ管理テーブル510の共有ディスク装置情報503により当該共有ディスク装置から取得したトランザクションの状態とをトランザクション回復処理手段2(174)に指示することによって、実行サーバMの仕掛かりトランザクションを回復する。このとき、トランザクション回復処理手段2(174)は、実行サーバ監視スレッドMから指示されたリソース構成情報506に従ってDBサーバ180やDBサーバ181にアクセスし、同じく指示されたトランザクションの状態からトランザクションを回復する。その後、回復したトランザクションの状態を更新後、テークオーバしたIPアドレスを破棄する(ステップS443)。なお、以上説明した処理以外については、第1の実施の形態と同様である。   More specifically, the resource configuration information 506 and the transaction status acquired from the shared disk device by the shared disk device information 503 in the execution server management table 510 are instructed to the transaction recovery processing means 2 (174) to execute the transaction. The in-process transaction of the server M is recovered. At this time, the transaction recovery processing means 2 (174) accesses the DB server 180 or the DB server 181 according to the resource configuration information 506 instructed from the execution server monitoring thread M, and recovers the transaction from the state of the instructed transaction. . Thereafter, after the state of the recovered transaction is updated, the taken over IP address is discarded (step S443). The processes other than those described above are the same as in the first embodiment.

以上によれば、複数の実行サーバについて、それらのアプリケーションプログラムの種類や取り扱うデータベースの構造などのサーバ構成が一様でなくても、1台の待機サーバが各実行サーバのリソース接続情報を参照することによって、トランザクションの回復を行うことができる。なお、待機サーバが実行サーバの処理を引き継ぐことは行わないので、サーバ構成が一様である必要はない。これによれば、リソース接続情報を用いてリソースにアクセスするので、実行サーバの構成ごとに待機サーバを設ける必要はなく、待機系のコストを抑えることができる。   According to the above, one standby server refers to the resource connection information of each execution server even if the server configuration such as the types of application programs and the structure of the database to be handled is not uniform for a plurality of execution servers. Thus, transaction recovery can be performed. Since the standby server does not take over the processing of the execution server, the server configuration does not have to be uniform. According to this, since the resource is accessed using the resource connection information, it is not necessary to provide a standby server for each configuration of the execution server, and the cost of the standby system can be suppressed.

以上本発明の実施の形態について説明したが、図1に示す負荷分散装置および各サーバ
のそれぞれで実行されるプログラムをコンピュータによる読み取り可能な記録媒体に記録
し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行す
ることにより、本発明の実施の形態に係るクラスタシステムが実現されるものとする。こ
こでいうコンピュータシステムとは、OS(Operating System)などのソフトウエアや周
辺機器などのハードウエアを含むものである。
Although the embodiment of the present invention has been described above, the program executed by each of the load distribution apparatus and each server shown in FIG. 1 is recorded on a computer-readable recording medium, and the program recorded on this recording medium is recorded. It is assumed that the cluster system according to the embodiment of the present invention is realized by being read and executed by a computer system. Here, the computer system includes software such as an OS (Operating System) and hardware such as peripheral devices.

≪その他の実施の形態≫
以上本発明について好適な実施の形態について一例を示したが、本発明は前記実施の形
態に限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、以下
のような実施の形態が考えられる。
(1)前記実施の形態においては、待機サーバ170が各実行サーバを監視したり、リセ
ットしたりするためにKAパスやリセットパスなどの信号線を使用するように記載したが
、それらの機能をネットワークによって実現してもよい。これによれば、待機サーバ17
0と各実行サーバとの間に信号線を接続する必要がなくなるので、クラスタシステムの構
築コストを節減することができる。
(2)前記実施の形態においては、待機サーバ170が1台で構成されているように記載
したが、待機サーバに1:1スタンバイ構成を適用してもよい。また、現用系の実行サー
バやDBサーバなどのコストと比較して待機系として問題のないコストの範囲内で、複数
の待機サーバを配置してもよい。これによれば、待機サーバの可用性を向上させることが
できる。
<< Other embodiments >>
An example of the preferred embodiment of the present invention has been described above, but the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention. For example, the following embodiments can be considered.
(1) In the above-described embodiment, the standby server 170 is described so as to use signal lines such as the KA path and the reset path in order to monitor and reset each execution server. It may be realized by a network. According to this, the standby server 17
Since it is not necessary to connect a signal line between 0 and each execution server, the construction cost of the cluster system can be reduced.
(2) In the above-described embodiment, the standby server 170 is described as being configured as a single unit, but a 1: 1 standby configuration may be applied to the standby server. In addition, a plurality of standby servers may be arranged within a cost range that does not cause a problem as a standby system compared to the costs of the active execution server and DB server. According to this, the availability of the standby server can be improved.

第1の実施の形態に係るスタンバイ型クラスタシステムの構成を示す図である。It is a figure which shows the structure of the standby type cluster system which concerns on 1st Embodiment. 第1の実施の形態に係る待機サーバの処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of the standby server which concerns on 1st Embodiment. 第1の実施の形態に係る実行サーバ管理テーブルの初期化処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the initialization process of the execution server management table which concerns on 1st Embodiment. 第1の実施の形態に係る実行サーバ監視スレッドの処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of the execution server monitoring thread | sled which concerns on 1st Embodiment. 第1の実施の形態に係る実行サーバ管理テーブルの構成を示す図である。It is a figure which shows the structure of the execution server management table which concerns on 1st Embodiment. 第2の実施の形態に係るスタンバイ型クラスタシステムの構成を示す図である。It is a figure which shows the structure of the standby type cluster system which concerns on 2nd Embodiment. 第2の実施の形態に係る実行サーバ管理テーブルの構成を示す図である。It is a figure which shows the structure of the execution server management table which concerns on 2nd Embodiment. 第2の実施の形態に係る実行サーバ監視スレッドの処理の一部を示すフローチャートである。It is a flowchart which shows a part of process of the execution server monitoring thread | sled which concerns on 2nd Embodiment.

符号の説明Explanation of symbols

10 クラスタシステム
20 クライアント
30、115 ネットワーク
100 負荷分散装置
110、120 ネットワークセグメント
130、131、132 KAパス
140、141、142 リセットパス
150、151、152 共有ディスク装置
160、161、162 実行サーバ
170 待機サーバ
171 負荷分散装置制御手段
172 フェールオーバ順序制御手段
173 トランザクション回復処理手段
180、181 DBサーバ
190、191 業務DB
506 リソース接続情報
10 Cluster system 20 Client 30, 115 Network 100 Load balancer 110, 120 Network segment 130, 131, 132 KA path 140, 141, 142 Reset path 150, 151, 152 Shared disk device 160, 161, 162 Execution server 170 Standby server 171 Load balancer control means 172 Failover order control means 173 Transaction recovery processing means 180, 181 DB server 190, 191 Business DB
506 Resource connection information

Claims (6)

クライアントと通信可能であり、そのクライアントから受信した処理要求を振り分ける負荷分散装置と、
前記負荷分散装置が振り分けた処理要求を受信し、その処理を実行する実行サーバと、
前記実行サーバの障害を検出したとき、その実行サーバのトランザクションを回復する待機サーバと、がネットワーク接続されて構成されるクラスタシステムにおいて、
前記待機サーバが、前記実行サーバごとに、その稼働状態を監視し、障害が発生した実行サーバのトランザクションを回復すると共に、その実行サーバの縮退制御を行うクラスタ制御方法であって、
前記待機サーバは、前記実行サーバごとに、障害発生時のトランザクションの回復順序を制御するために、NULLまたは次にトランザクションを回復する実行サーバへのポインタを設定する回復順序ポインタを備え、
前記待機サーバは、所定の実行サーバに対して処理を行う場合、
初期化処理として、前記実行サーバの回復順序ポインタをNULLにするステップと、
所定の時間ごとに前記実行サーバの稼働状態を監視するステップと、
前記監視の結果として前記実行サーバの障害を検出したとき、前記実行サーバをリセットし、縮退させるステップと、
前記トランザクションを回復する前に、既にトランザクション回復中の実行サーバがある場合、その回復中の実行サーバから前記回復順序ポインタを辿っていったとき、最初にNULLになった回復順序ポインタに当該実行サーバへのポインタを設定するステップと、
その次に、他の実行サーバに対する処理からトランザクションの回復処理完了が通知されるのを待って、トランザクションの回復を開始して、前記実行サーバのトランザクションを回復し、前記トランザクションを回復した後、当該実行サーバの回復順序ポインタがNULLでないとき、その回復順序ポインタが示す実行サーバに対する処理に回復処理完了を通知し、その回復順序ポインタにNULLを設定し、前記稼働状態の監視に戻るステップと、
前記監視の結果として前記実行サーバの正常を検出し、かつ、前記実行サーバが縮退しているとき、前記実行サーバの縮退を解除し、前記稼働状態の監視に戻るステップと、を実行することを特徴とするクラスタ制御方法。
A load balancer that is communicable with a client and distributes processing requests received from the client;
An execution server that receives the processing request distributed by the load balancer and executes the processing;
When a failure of the execution server is detected, a standby server that recovers the transaction of the execution server, and a cluster system configured by network connection,
The standby server is a cluster control method for monitoring the operating state of each execution server, recovering a transaction of the execution server in which a failure has occurred, and performing degeneration control of the execution server,
The standby server includes, for each execution server, a recovery order pointer that sets a pointer to an execution server that recovers NULL or the next transaction in order to control the recovery order of transactions when a failure occurs,
When the standby server performs processing for a predetermined execution server,
As an initialization process, the recovery sequence pointer of the execution server is set to NULL,
Monitoring the operating state of the execution server at predetermined time intervals;
When detecting a failure of the execution server as a result of the monitoring, resetting the execution server and degenerating;
If there is an execution server that is already recovering a transaction before recovering the transaction, when the recovery order pointer is traced from the recovery execution server, the execution server is first set to the recovery order pointer that is NULL. Setting a pointer to
Next, after the completion of the transaction recovery process is notified from the processing for the other execution server, the recovery of the transaction is started, the transaction of the execution server is recovered, the transaction is recovered, When the recovery sequence pointer of the execution server is not NULL, the completion of the recovery processing is notified to the processing for the execution server indicated by the recovery sequence pointer, NULL is set in the recovery sequence pointer, and the process returns to the monitoring of the operation state;
Detecting normality of the execution server as a result of the monitoring, and when the execution server is degenerated, canceling the degeneration of the execution server and returning to the monitoring of the operating state, A featured cluster control method.
前記負荷分散装置は、
前記処理要求を振り分ける実行サーバの構成リストを備え、
前記待機サーバは、所定の実行サーバに対して処理を行う場合、
前記実行サーバを縮退させるとき、前記負荷分散装置に対して前記構成リストから前記実行サーバをはずすことを指示するメッセージを送信し、
前記実行サーバの縮退を解除するとき、前記負荷分散装置に対して前記構成リストに前記実行サーバを追加することを指示するメッセージを送信する
ことを特徴とする請求項1に記載のクラスタ制御方法。
The load balancer is:
A configuration list of execution servers that distribute the processing requests;
When the standby server performs processing for a predetermined execution server,
When degenerating the execution server, send a message instructing the load balancer to remove the execution server from the configuration list;
The cluster control method according to claim 1, wherein when releasing the degeneration of the execution server, a message instructing the load distribution apparatus to add the execution server to the configuration list is transmitted.
前記待機サーバは、
前記実行サーバごとに、トランザクションを回復するためにリソースにアクセスするのに必要なリソース接続情報を備え、
所定の実行サーバに対して処理を行う場合、
前記実行サーバが接続していたリソースのリソース接続情報を取得するステップと、
その取得したリソース接続情報を用いてトランザクションを回復するステップと、
を更に実行することを特徴とする請求項1または請求項2に記載のクラスタ制御方法。
The standby server is
Each execution server comprises resource connection information necessary to access a resource to recover a transaction;
When processing for a given execution server,
Obtaining resource connection information of a resource to which the execution server is connected;
Recovering the transaction using the obtained resource connection information;
Furthermore cluster control method according to claim 1 or claim 2, characterized in that to perform.
請求項1ないし請求項3のいずれか一項に記載のクラスタ制御方法をサーバ用コンピュータに実行させることを特徴とするクラスタ制御プログラム。 A cluster control program for causing a server computer to execute the cluster control method according to any one of claims 1 to 3 . クライアントと通信可能であり、そのクライアントから受信した処理要求を振り分ける負荷分散装置と、
前記負荷分散装置が振り分けた処理要求を受信し、その処理を実行する実行サーバと、
前記実行サーバの障害を検出したとき、その実行サーバのトランザクションを回復する待機サーバと、
がネットワーク接続されて構成されるクラスタシステムであって、
前記待機サーバは、前記実行サーバごとに、障害発生時のトランザクションの回復順序を制御するために、NULLまたは次にトランザクションを回復する実行サーバへのポインタを設定する回復順序ポインタを備え、
前記待機サーバは、所定の実行サーバに対して処理を行う場合、
初期化処理として、前記実行サーバの回復順序ポインタをNULLにし、
所定の時間ごとに前記実行サーバの稼働状態を監視し、
前記監視の結果として前記実行サーバの障害を検出したとき、前記実行サーバをリセットし、縮退させ、
前記トランザクションを回復する前に、既にトランザクション回復中の実行サーバがある場合、その回復中の実行サーバから前記回復順序ポインタを辿っていったとき、最初にNULLになった回復順序ポインタに当該実行サーバへのポインタを設定し、
その次に、他の実行サーバに対する処理からトランザクションの回復処理完了が通知されるのを待って、トランザクションの回復を開始して、前記実行サーバのトランザクションを回復し、前記トランザクションを回復した後、当該実行サーバの回復順序ポインタがNULLでないとき、その回復順序ポインタが示す実行サーバに対する処理に回復処理完了を通知し、その回復順序ポインタにNULLを設定し、前記稼働状態の監視に戻り、
前記監視の結果として前記実行サーバの正常を検出し、かつ、前記実行サーバが縮退しているとき、前記実行サーバの縮退を解除し、前記稼働状態の監視に戻ることを特徴とするクラスタシステム。
A load balancer that is communicable with a client and distributes processing requests received from the client;
An execution server that receives the processing request distributed by the load balancer and executes the processing;
A standby server that recovers a transaction of the execution server when a failure of the execution server is detected;
Is a cluster system configured by network connection,
The standby server includes, for each execution server, a recovery order pointer that sets a pointer to an execution server that recovers NULL or the next transaction in order to control the recovery order of transactions when a failure occurs,
When the standby server performs processing for a predetermined execution server,
As an initialization process, the execution order pointer of the execution server is set to NULL,
Monitor the operating state of the execution server at predetermined time intervals,
When a failure of the execution server is detected as a result of the monitoring, the execution server is reset, degenerated,
If there is an execution server that is already recovering a transaction before recovering the transaction, when the recovery order pointer is traced from the recovery execution server, the execution server is first set to the recovery order pointer that is NULL. Set a pointer to
Next, after the completion of the transaction recovery process is notified from the processing for the other execution server, the recovery of the transaction is started, the transaction of the execution server is recovered, the transaction is recovered, When the recovery order pointer of the execution server is not NULL, the processing for the execution server indicated by the recovery order pointer is notified of the completion of the recovery process, the recovery order pointer is set to NULL, and the operation status monitoring is returned to.
A cluster system, wherein normality of the execution server is detected as a result of the monitoring, and when the execution server is degenerated, degeneration of the execution server is canceled and the operation state monitoring is resumed.
負荷分散装置がクライアントから受信して振り分けた処理要求を受信し、その処理を実行する実行サーバに接続され、前記実行サーバの障害を検出したとき、その実行サーバのトランザクションを回復する待機サーバであって、
前記実行サーバごとに、障害発生時のトランザクションの回復順序を制御するために、NULLまたは次にトランザクションを回復する実行サーバへのポインタを設定する回復順序ポインタを備え、
所定の実行サーバに対して処理を行う場合、
初期化処理として、前記実行サーバの回復順序ポインタをNULLにし、
所定の時間ごとに前記実行サーバの稼働状態を監視し、
前記監視の結果として前記実行サーバの障害を検出したとき、前記実行サーバをリセットし、縮退させ、
前記トランザクションを回復する前に、既にトランザクション回復中の実行サーバがある場合、その回復中の実行サーバから前記回復順序ポインタを辿っていったとき、最初にNULLになった回復順序ポインタに当該実行サーバへのポインタを設定し、
その次に、他の実行サーバに対する処理からトランザクションの回復処理完了が通知されるのを待って、トランザクションの回復を開始して、前記実行サーバのトランザクションを回復し、前記トランザクションを回復した後、当該実行サーバの回復順序ポインタがNULLでないとき、その回復順序ポインタが示す実行サーバに対する処理に回復処理完了を通知し、その回復順序ポインタにNULLを設定し、前記稼働状態の監視に戻り、
前記監視の結果として前記実行サーバの正常を検出し、かつ、前記実行サーバが縮退しているとき、前記実行サーバの縮退を解除し、前記稼働状態の監視に戻ることを特徴とする待機サーバ。
It is a standby server that receives a processing request received and distributed from a client by a load balancer, is connected to an execution server that executes the processing, and recovers a transaction of the execution server when a failure of the execution server is detected. And
For each execution server, in order to control the recovery order of transactions when a failure occurs, a recovery order pointer that sets a pointer to the execution server that recovers NULL or the next transaction is provided,
When processing for a given execution server,
As an initialization process, the execution order pointer of the execution server is set to NULL,
Monitor the operating state of the execution server at predetermined time intervals,
When a failure of the execution server is detected as a result of the monitoring, the execution server is reset, degenerated,
If there is an execution server that is already recovering a transaction before recovering the transaction, when the recovery order pointer is traced from the recovery execution server, the execution server is first set to the recovery order pointer that is NULL. Set a pointer to
Next, after the completion of the transaction recovery process is notified from the processing for the other execution server, the recovery of the transaction is started, the transaction of the execution server is recovered, the transaction is recovered, When the recovery order pointer of the execution server is not NULL, the processing for the execution server indicated by the recovery order pointer is notified of the completion of the recovery process, the recovery order pointer is set to NULL, and the operation status monitoring is returned to.
A standby server which detects normality of the execution server as a result of the monitoring and releases the degeneration of the execution server and returns to the monitoring of the operating state when the execution server is degenerated.
JP2005129559A 2004-04-27 2005-04-27 Cluster control method, cluster control program, cluster system, and standby server Expired - Fee Related JP4520899B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005129559A JP4520899B2 (en) 2004-04-27 2005-04-27 Cluster control method, cluster control program, cluster system, and standby server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004131071 2004-04-27
JP2005129559A JP4520899B2 (en) 2004-04-27 2005-04-27 Cluster control method, cluster control program, cluster system, and standby server

Publications (2)

Publication Number Publication Date
JP2005339525A JP2005339525A (en) 2005-12-08
JP4520899B2 true JP4520899B2 (en) 2010-08-11

Family

ID=35492976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005129559A Expired - Fee Related JP4520899B2 (en) 2004-04-27 2005-04-27 Cluster control method, cluster control program, cluster system, and standby server

Country Status (1)

Country Link
JP (1) JP4520899B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226400A (en) * 2006-02-22 2007-09-06 Hitachi Ltd Computer management method, computer management program, stand-by server for managing configuration of execution server, and computer system
JP2010176472A (en) * 2009-01-30 2010-08-12 Nec Corp System and method for providing service and program
US9069617B2 (en) * 2011-09-27 2015-06-30 Oracle International Corporation System and method for intelligent GUI navigation and property sheets in a traffic director environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184825A (en) * 1997-12-19 1999-07-09 Mitsubishi Electric Corp Cluster system
JP2002163241A (en) * 2000-11-29 2002-06-07 Ntt Data Corp Client server system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184825A (en) * 1997-12-19 1999-07-09 Mitsubishi Electric Corp Cluster system
JP2002163241A (en) * 2000-11-29 2002-06-07 Ntt Data Corp Client server system

Also Published As

Publication number Publication date
JP2005339525A (en) 2005-12-08

Similar Documents

Publication Publication Date Title
US8713362B2 (en) Obviation of recovery of data store consistency for application I/O errors
US6952766B2 (en) Automated node restart in clustered computer system
US7234075B2 (en) Distributed failover aware storage area network backup of application data in an active-N high availability cluster
US8037367B1 (en) Method and system for providing high availability to computer applications
US6996502B2 (en) Remote enterprise management of high availability systems
EP1451687B1 (en) Real composite objects for providing high availability of resources on networked systems
US7246256B2 (en) Managing failover of J2EE compliant middleware in a high availability system
JP2007226400A (en) Computer management method, computer management program, stand-by server for managing configuration of execution server, and computer system
US20070083641A1 (en) Using a standby data storage system to detect the health of a cluster of data storage servers
US20120179798A1 (en) Autonomous primary node election within a virtual input/output server cluster
EP2805239A1 (en) Systems and methods for server cluster application virtualization
US11995100B2 (en) System and method for highly available database service
US11550820B2 (en) System and method for partition-scoped snapshot creation in a distributed data computing environment
JP2009025965A (en) Computer system and method for autonomously changing succession destination in fail-over
JP2012173996A (en) Cluster system, cluster management method and cluster management program
JP2007156679A (en) Failure recovery method for server, and database system
US7401256B2 (en) System and method for highly available data processing in cluster system
US20240036997A1 (en) Methods and systems to improve input/output (i/o) resumption time during a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US11119872B1 (en) Log management for a multi-node data processing system
US8683154B2 (en) Computer system and system control method
JP4520899B2 (en) Cluster control method, cluster control program, cluster system, and standby server
US20200319918A1 (en) Transferral Of Process State And/Or Components In Computing Environments
US20050044193A1 (en) Method, system, and program for dual agent processes and dual active server processes
US12019873B2 (en) Methods and systems to improve resumption time of input/output (I/O) operations based on prefetching of configuration data and early abort of conflicting workflows during a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US20240036996A1 (en) Methods and systems to improve input/output (i/o) resumption time by batching multiple non-conflicting operations during a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100518

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100521

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4520899

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees