Computer system including active system and redundant system and state acquisition method

To make it possible to store a state immediately before occurrence of a trouble with little influence on normal program processing, separately from an active system in which a program operates, a redundant system is provided in which the same program as the program operates in the same execution environment as the active system. A delay execution control section gives the redundant system the same processing request as a processing request given to the active system, with a delay. When a trouble monitoring section detects a trouble of the active system, a state storage control section acquires data indicating a state of the redundant system and stores it in a state data storing section. Because the same program is executed with a delay in the redundant system having the same execution environment as the active system, a state of the redundant system at the time when the trouble occurs in the active system is equivalent to a state immediately before the occurrence of the trouble in the active system.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a computer system, a state acquisition method, and a state acquisition program product, and in particular, to a computer system, a state acquisition method, and a state acquisition program product, having a function of storing a computer state immediately before occurrence of a trouble, for investigating causes of the trouble.

2. Description of the Related Art

In general, in methods for investigating the cause of a trouble in a computer, there are a method in which data necessary for analyzing the trouble, such as contents of a memory at the time of occurrence of the trouble, is stored in a file and the data is analyzed to investigate the cause of the trouble; and a method in which data necessary for reproducing the trouble, such as contents of a memory immediately before occurrence of the trouble, is stored in a file and the trouble is reproduced using the data to investigate the cause. In the former method, though it is relatively frequently used, there is a difficulty in reliability because processing for storing data must be performed in an unstable state after the occurrence of the trouble. Contrastingly, the latter method has no such problem because data is stored before the occurrence of the trouble.

JP-A-10-198578 discloses an example of the latter method. In the method disclosed in JP-A-10-198578, during a time period till some trouble occurs on a program being executed, the processor executing the program acquires and stores data for restart, called check points, at predetermined time intervals. As a result, at the time of occurrence of the trouble, data immediately before the occurrence of the trouble is stored.

As described above, in the conventional method of acquiring data necessary for reproducing the trouble, data is acquired and stored at predetermined time intervals during a time period till the trouble occurs. Therefore, there is a problem that overhead upon execution of the program increases and it brings about delay in normal program processing. In particular, the problem becomes remarkable as the amount of data to be stored increases, for example, when it is a huge amount of data including all images in the main memory, files on an external memory device used by the program, and so on.

SUMMARY OF THE INVENTION

An object of the present invention is to make it possible to acquire data indicating a state immediately before occurrence of a trouble, with little influence on normal program processing.

A first computer system of the present invention comprises an active system in which a program operates; a redundant system in which the same program as the above program operates with a delay in the same execution environment as the active system; and state storing means for storing a state of the redundant system when a trouble occurs in the active system.

A second computer system of the present invention comprises an active system in which a program operates; a redundant system in which the same program as the above program operates in the same execution environment as the active system; delay execution control means for giving the redundant system the same processing request as a processing request given to the active system, with a delay; trouble monitoring means for detecting presence/absence of a trouble of the active system; and state storage control means for storing, in a state data storing section, data indicating a state of the redundant system at the time when the trouble monitoring means detects a trouble of the active system.

A first state acquisition method of the present invention comprises executing the same program as a program that operates in an active system, with a delay in a redundant system having the same execution environment as the active system; and storing, in a state data storing section, data indicating a state of the redundant system at the time when a trouble occurs in the active system.

A second state acquisition method of the present invention comprises a first step of executing the same program as a program that operates in an active system, in parallel in a redundant system having the same execution environment as the active system; a second step of giving the redundant system the same processing request as a processing request given to the active system, with a delay; a third step of detecting presence/absence of a trouble of the active system; and a fourth step of storing, in a state data storing section, data indicating a state of the redundant system at the time when a trouble of the active system is detected.

A first state acquisition program product of the present invention causes a computer to function as delay execution control means for executing the same program as a program that operates in an active system, with a delay in a redundant system having the same execution environment as the active system; and state storing means for storing a state of the redundant system at the time when a trouble occurs in the active system.

A second state acquisition program product of the present invention causes a computer to function as delay execution control means for giving the same processing request as a processing request given to an active system in which a program operates, to a redundant system in which the same program as the above program operates in the same execution environment as the active system, with a delay; trouble monitoring means for detecting presence/absence of a trouble of the active system; and state storage control means for storing, in a state data storing section, data indicating a state of the redundant system at the time when the trouble monitoring means detects a trouble of the active system.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Next, the best mode for carrying out the present invention will be described in detail with reference to drawings.

Referring toFIG. 1, a computer system according to an embodiment of the present invention includes an active system102in which a program101operates; a redundant system104in which the same program103as the program101operates in the same execution environment as the active system102; a delay execution control section106for give the redundant system104the same processing request as a processing request105given to the active system102, with a delay; a trouble monitoring section107for detecting presence/absence of a trouble of the active system102; and a state storage control section109for storing, in a state data storing section108, data indicating a state of the redundant system104when the trouble monitoring section107detects a trouble of the active system102.

The active system102is made up of a certain computer, a certain server machine, and so on. The active system102performs a normal service in which the processing request105is processed to output processing results, by executing the program101. The redundant system102executes the same program103as the program101, which operates in the active system102, in the same execution environment as the active system102. Here, the same execution environment means that any of the hardware environment, the software environment, and the external connection device environment, such as the architecture of the processor, OS, the main memory capacity, and contents of files on an external memory device, is substantially the same.

The delay execution control section106gives the redundant system104the processing request105with a delay from the active system102so that the processing state of the redundant system104is delayed from the processing state of the active system102. The degree of delay is arbitrary.

When the trouble monitoring section107detects occurrence of a trouble in the active system102, the trouble monitoring section107notifies the state storage control section109of that effect. The method for detecting the trouble is arbitrary. Detection of a sign of a trouble is also included in the detection of the trouble mentioned here.

When the state storage control section109receives, from the trouble monitoring section107, the notice that a trouble has occurred in the active system102, the state storage control section109stops processing of the redundant system104, collects data indicating the state of the redundant system104, and stores it in the state data storing section108. Because the redundant system104is delayed from the active system102, the state of the redundant system104at the time when the trouble occurred in the active system102is equivalent to a state immediately before the trouble occurred in the active system102. The data to be collected are data necessary for analyzing the cause of the trouble, or all data necessary for later reproducing the state at that time, such as the whole contents of the main memory device (main memory image), the contents of files on each external memory device, and the value of the register of the processor. If all data necessary for later reproducing the state at that time are to be collected, by using data stored in the state data storing section108, the state of the redundant system104can be recovered to the same state any number of times. This makes it possible to reproduce the trouble by restarting processing of the redundant system104and investigate the cause of the trouble by the reproduction of the trouble.

The above-described delay execution control section106, trouble monitoring section107, and state storage control section109can be realized by a computer and a state acquisition program. The state acquisition program is provided in a form of being recorded on a computer readable record medium such as a magnetic disk, and read by the computer, for example, at the time of starting the computer. The state acquisition program controls the operation of the computer to realize each function means of the delay execution control section106, the trouble monitoring section107, and the state storage control section109on the computer.

FIG. 2shows an effect of this embodiment. As shown inFIG. 2A, according to this embodiment, the redundant system104changes in its state with a delay from the active system102by a delay quantity T. When a trouble occurs in the active system102at a certain time t1, if the redundant system104is not stopped, the same trouble occurs after the time elapses by the delay quantity T. This is because the redundant system104is executing the same program103as the program101operating in the active system102, in the same execution environment as the active system102. Therefore, the state of the redundant system104at the time t1is equivalent to the state of the active system102at the time before the time when the trouble occurred, by the delay quantity T.

FIG. 2Bshows a sequence in case that the method disclosed in JP-A-10-198578 is applied and states of the active system102are stored at predetermined time intervals W in a time period till a trouble occurs. Because the active system102must be periodically stopped for storing the state, there is a very large influence on the normal service. In addition, the time difference x between the time t1 when the trouble occurred, and the state storage time immediately before the time t1, is unfixed, where it is impossible to always store the state before the time t1by the delay quantity T as in this embodiment.

According to this embodiment, the state immediately before the occurrence of the trouble can be acquired with little influence on normal program processing. The reasons are as follows. Because the same program as the program operating in the active system is operated with a delay in the redundant system having the same execution environment as the active system, the state of the redundant system at the time when the trouble occurred in the active system is equivalent to a state immediately before the occurrence of the trouble in the active system. In addition, periodic storage operations for the state of the active system as disclosed in JP-A-10-198578 are unnecessary.

Next, examples of the present invention will be described in detail with reference to drawings.

Referring toFIG. 3, a computer system according to Example 1 of the present invention is a transaction processing system, which is made up of a first processing module1and a second processing module2, each constituted by a data processing machine (a computer, a central processing unit, and a processor) operating under program control; a client3; a trouble monitoring section4; a state storage control section5; and a state data storing section6. The first processing module1includes an active server10, client communication means11, transaction duplicating means12, and an active server communication means13. The second processing module2includes a redundant server20, transaction buffer means22, and redundant server communication means23. In relation toFIG. 1, the active server10and the redundant server20correspond to the active system102and the redundant system104, respectively. The redundant server20executes the same transaction processing program as a transaction processing program operating in the active server10, in the same execution environment as the active server10.

Each of the above means generally operates as follows.

In the first processing means, the client communication means11performs communication processing with the client3, receives a processing request, and transmits processing results. The transaction duplicating means12receives the processing request received by the client communication means11, makes a duplication, and transmits the duplication to the second processing module2. The original of the processing request is given to the active server communication means13. The active server10performs transaction processing in which the active server10receives the processing request from the active server communication means13, processes the received processing request, and transmits the processing results to the active server communication means13. The processing results are further transmitted to the client3through the transaction duplicating means12and the client communication means11.

In the second processing module2, the transaction buffer means22temporarily stores the duplication of the processing request received from the first processing module1. The redundant server communication means23read out the processing request temporarily stored, and transmits it to the redundant server20. The redundant server20performs transaction processing in which the redundant server20receives the processing request from the redundant server communication means23, processes the received processing request, and transmits the processing results to the redundant server communication means23, though the processing results are not transmitted to the client3.

The client3transmits a transaction processing request to the first processing module1and receives the processing results from the first processing module1.

The trouble monitoring section4monitors the processing state of the first processing module1. When there is abnormality in processing, the trouble monitoring section4detects occurrence of a trouble and notifies the state storage control section5.

The state storage control section5controls the processing state of the second processing module2. When the state storage control section5receives the notice from the trouble monitoring section4indicating the occurrence of the trouble, the state storage control section5stores, in the state data storing section6, data of the processing state of the whole of the second processing module2including the redundant server20.

Next, operations of Example 1 will be described with reference to the block diagram ofFIG. 3and the flowcharts ofFIGS. 4 and 5.

First, an operation of this example when no trouble occurs will be described. In the client3, when a transaction processing request is generated (S101inFIG. 4), the processing request (STX) is transmitted to the first processing module1(S102). In the first processing module1, the client communication means11receives the processing request (S103), and the transaction duplicating means12makes a duplication of the processing request (S104) and transfers the duplication of the processing request to the second processing module2(S105). The original of the processing request is transmitted to the active server10through the active server communication means13and processed therein (S106). Processing results (RTX) obtained in the active server10are transmitted to the client3through the active server communication means13, the transaction duplicating means12, and the client communication means11(S107). The client3receives the processing results (S108).

In the second processing module2, the transaction buffer means22receives the duplicate of the processing request (S109) and then temporarily stores it (S110). The redundant server communication means23periodically checks whether or not a processing request to be processed exists in the transaction buffer means22(S111). If a processing request to be processed exists, the redundant server communication means23reads out the processing request (S112) and transmits it to the redundant server20, where the processing request is processed (S113).

Next, an operation of this example when a trouble occurs will be described. If a trouble occurs in the active server10of the first processing module1(S201inFIG. 5), the trouble monitoring section4detects the occurrence of the trouble (S202). The technique for detecting the trouble may be realized as follows. For example, a heartbeat signal is communicated with the active server10of the first processing module1and the trouble is detected by presence/absence of the response. Otherwise, the processing quantity of the processor constituting the active server10or the communication quantity of input/output is remotely monitored and the trouble is detected by abnormality therein. Further, a service processor may be used for this purpose. Thus, various techniques can be used.

When the trouble monitoring section4detects the trouble, the trouble monitoring section4sends a trouble coping instruction to the state storage control section5(S203). When the state storage control section5receives the instruction (S204), the state storage control section5starts processing for storing a state (S205). First, the state storage control section5controls the second processing module2to temporarily stop processing (S206). When processing of the second processing module2is completely stopped (S207), the state storage control section5collects state data and stores it in the state data storing section6(S208). The state data contains the states of the internal memory, the external memory, the register of the processor, and each device if it is used. If a write-in cache such as a cache in the processor or a disk cache is effective, storing the state data is performed after update processing of data of the cache is performed to reflect it on the internal and external memories.

As described above, in Example 1, the redundant processing system is prepared separately from the active processing system. In the redundant processing system, each processing request is temporarily stored and then processed with a delay. Thereby, after a trouble in the active system is detected, a processing state of the redundant state is stored before the trouble appears in the redundant system. Thus, a processing state of the computer before the trouble appears can surely be stored.

According to this example, because the redundant system is executed with a delay from the active system by giving the redundant system the same processing request as a processing request given to the active system, with a delay, in a computer system in which processing proceeds in a unit of a processing request, such as a transaction processing system, a state immediately before occurrence of a trouble can be acquired with little influence on normal program processing.

In addition to the above effect, the redundant system can be delayed from the active system by a very short time period necessary for temporarily storing a processing request and reading out it, and a state before occurrence of a trouble in the active system by the above time period can be stored.

Referring toFIG. 6, a transaction processing system according to Example 2 differs in constitution from Example 1 on the point that a timer24is added to the second processing module2in the transaction processing system according to Example 1. The timer24has a function of holding the value of the current time or the time elapsed from a certain time, and returning the value in response to a request from the transaction buffer means22and the redundant server communication means23.

Next, an operation of Example 2 will be described with reference to the block diagram ofFIG. 6and the flowchart ofFIG. 7with laying stress on the different point from Example 1. The difference of the operation of Example 2 from the operation of Example 1 is only in the part of the operation of the second processing module2when no trouble occurs. As for S101to S108ofFIG. 4and S201to S208ofFIG. 5of Example 1, the same operations are performed also in this example. In place of the operation in and after S109ofFIG. 4, the operation in and after S301ofFIG. 7is performed in this example. This will be described in detail.

In the second processing module2, when the transaction buffer means22receives the duplication of a processing request from the first processing module1(S301), the transaction buffer means22read out the current time from the timer24(S302), adds, to the processing request, the time that a predetermined delay time is added to the current time, as a processing time (S303), and stored it in a buffer (S304). For example, when the predetermined delay time is one minute, the time that one minute is added to the current time is given as the processing time and stored.

The redundant server communication means23periodically checks whether or not a processing request exists in the transaction buffer means22, and if a request exists, whether or not the processing time added to the processing request is beyond the current time indicated by the timer24(S305). If a processing request exists having the processing time beyond the current time, redundant server communication means23reads out the processing request (S306), and transmits it to the redundant server20, where the processing request is processed (S307).

As described above, in Example 2, the redundant processing system is prepared separately from the active processing system. In the redundant processing system, each processing request is temporarily stored and then processed with a delay of a predetermined time. Thereby, after a trouble in the active system is detected, a processing state of the redundant state is stored before the trouble appears in the redundant system. Thus, a processing state of the computer before the trouble appears can surely be stored.

According to this example, the redundant system can be delayed from the active system by at least a predetermined time period, and a state before occurrence of a trouble in the active system by the predetermined time period can be stored.

Referring toFIG. 8, a transaction processing system according to Example 3 differs in constitution from Example 1 on the point that a timer24is added to the second processing module2in the transaction processing system according to Example 1. The timer24has a function of holding the value of the current time or the time elapsed from a certain time, and returning the value in response to a request from the transaction buffer means22.

Next, an operation of Example 3 will be described with reference to the block diagram ofFIG. 8and the flowchart ofFIG. 9with laying stress on the different point from Example 1. The difference of the operation of Example 3 from the operation of Example 1 is only in the part of the operation of the second processing module2when no trouble occurs. As for S101to S108ofFIG. 4and S201to S208ofFIG. 5of Example 1, the same operations are performed also in this example. In place of the operation in and after S109ofFIG. 4, the operation in and after S311ofFIG. 9is performed in this example. This will be described in detail.

In the second processing module2, when the transaction buffer means22receives the duplication of a processing request from the first processing module1(S311), the transaction buffer means22read out the current time from the timer24(S312), adds the current time to the processing request (S313), and stored it in a buffer (S314).

The redundant server communication means23periodically checks whether or not the number of processing requests stored in the transaction buffer means22exceeds a predetermined threshold value (S315). If the number of existing processing requests exceeds the threshold value, the redundant server communication means23reads out the oldest processing request of them, that is, the processing request having the oldest added time (S316), and transmits it to the redundant server20, where the processing request is processed (S317).

As described above, in Example 3, the redundant processing system is prepared separately from the active processing system. In the redundant processing system, each processing request is temporarily stored and then processed with a delay of a predetermined number of transactions. Thereby, after a trouble in the active system is detected, a processing state of the redundant state is stored before the trouble appears in the redundant system. Thus, a processing state of the computer before the trouble appears can surely be stored.

In a combination of Examples 2 and 3, there is thinkable the following example. If the number of processing requests stored in the transaction buffer means22exceeds the threshold value, the oldest processing request is read out and transmitted to the redundant server. If the number of processing requests does not exceed the threshold value, it is checked whether or not the processing time of the oldest processing request is beyond the current time. If the processing time is beyond the current time, the processing request is read out and transmitted to the redundant server.

According to this example, the redundant system can be delayed from the active system by the time period corresponding to the predetermined number of processing requests, and a state before occurrence of a trouble in the active system by the time period corresponding to the predetermined number of processing requests can be stored.

Referring toFIG. 10, a transaction processing system according to Example 4 differs from Example 1 on the point that the transaction processing system according to Example 4 has a constitution for the active server communication means13and the redundant server communication means23communicating with each other.

Next, an operation of Example 4 will be described with reference to the block diagram ofFIG. 10and the flowchart ofFIG. 11with laying stress on the different point from Example 1. The difference of the operation of Example 4 from the operation of Example 1 is only in the part of the operations of the first and second processing modules1and2when no trouble occurs. As for processing of S101to S105and S107to S110ofFIG. 4of Example 1, the same operations are performed also in this example. In place of processing of S106and S111to S113ofFIG. 4, processing of S106A to S106C and S411to S413ofFIG. 11is performed in this example. This will be described in detail.

The active server communication means13of the first processing module1gives each processing request a serial number N to be processed by the active server10(S106A). When processing results to the processing request of the serial number N is returned from the active server10, the active server communication means13transmits a notice indicating completion of the processing request of the serial number N to the redundant server communication means23(S106B). The active server communication means13adds one to N (S106C), performs processing of the step S107, and continues processing repeatedly.

The redundant server communication means23of the second processing module2receives the processing completion notice from the active server communication means13of the first processing module1(S411). If it is the N-th processing completion notice, the redundant server communication means23reads out, from the transaction buffer means22, the processing request stored at the N-th time (S412), and transmits it to the redundant server20, where the processing request is processed (S413).

As described above, in Example 4, the redundant processing system is prepared separately from the active processing system. In the redundant processing system, each processing request is temporarily stored and then processed after confirmation of completion of processing in the active system. Thereby, after a trouble in the active system is detected, a processing state of the redundant state is stored before the trouble appears in the redundant system. Thus, a processing state of the computer before the trouble appears can surely be stored.

According to this example, the redundant system can be delayed from the active system by the time period in which one processing request is processed in the active system, and a state before occurrence of a trouble in the active system by the time period corresponding to one processing request.

Referring toFIG. 12, a transaction processing system according to Example 5 differs from Example 1 on the point that a transaction converting means30and a conversion table31are provided in the second processing module2in the transaction processing system according to Example 1.

The transaction converting means30is disposed between the transaction buffer means22and the redundant server communication means23. The transaction converting means30has a function of setting a value after conversion of a predetermined parameter in the conversion table31, and a function of converting the value of a predetermined parameter included in a processing request into the converted value set in the conversion table when the processing request stored in the transaction buffer means22is transferred to the redundant server23. The conversion table31is a table holding a set of a conversion key for uniquely defining a predetermined parameter and the converted value.

FIG. 13shows an example of processing or the transaction converting means30. If the transaction converting means30is called out when the redundant server communication means23receives processing results (RXT) from the redundant server20, the transaction converting means30starts processing ofFIG. 13Aand checks whether or not a key matching a conversion key set in the conversion table31exists in the processing results (S421). If a matching key exists (S422), the transaction converting means30sets the value of the key existing in the processing results in the conversion table31(S423). On the other hand, if the transaction converting means30is called out when the redundant server communication means23reads out a processing request (STX) from the transaction buffer means22, the transaction converting means30starts processing ofFIG. 13Band checks whether or not a key matching a conversion key set in the conversion table31exists in the processing request (S431). If a matching key exists (S432), the transaction converting means30converts the value of the key existing in the processing request into the value set in the conversion table31(S433).

In this example, as a representative parameter to be converted with the conversion table31, there is a session ID (SID). The session ID is an ID issued by a web server to a client in order that the web server can recognize a series of accesses by one user as one session. In case of the present invention, assuming that the value of a session ID generated in the active server is, for example, “20”, this is sent to the client3, and in a series of accesses, this value “20” of the session ID is contained in the next and later processing requests from the client3. In case of the active server10, because the next and later processing requests contain the value “20” of the session ID generated by the active server10itself, the active server10can recognize them as a series of accesses by the same user. However, in case of the redundant server20, because the value of the session ID generated by the redundant server20itself is not always the same as that of the active server10, if no measure is taken, session management can not be performed in the redundant server20. Therefore, for example, as shown inFIG. 14, an entry having “SID” as a conversion key is prepared in the conversion table31. By processing ofFIG. 13A, when a key matching a conversion key such as “SID=30” exists in processing results of the redundant server20, the value “30” of the key is registered in the conversion table31as shown inFIG. 14. By processing ofFIG. 13B, if a key matching a conversion key such as “SID=20” exists in the next and later processing requests, the value “20” of the key is converted into the value “30” set in the conversion table31and then sent it to the redundant server20. Thereby, the same session management as in the active server10becomes possible also in the redundant server20.

Although Example 5 is premised on Example 1, an example is thinkable in which the conversion table31and the transaction converting means30are added to the second processing module2in any of Examples 2 to 4.

According to this example, in addition to the effects obtained by the above mentioned examples, the value of a parameter of a processing request given to the redundant system can be changed into a converted value different from the value of the corresponding processing request given to the active system.

In addition to the above effect, when the value of a parameter of a processing request given to the redundant system is changed into a converted value different from the value of the corresponding processing request given to the active system, the converted value can be set in accordance with processing results of the processing request given to the redundant system.

Referring toFIG. 15, a transaction processing system according to Example 6 differs from the transaction processing system of Example 1 on the point that a processing reproduction control section7, a processing result output section8, and a state recovery control section9are further connected to the second processing module2. InFIG. 15, illustration of the other components included in Example 1, such as the state storage control section5shown inFIG. 3, is omitted.

The state recovery control section9controls the processing state of the second processing module2. The state recovery control section9receives an instruction of the processing reproduction control section7and recovers the second processing module2to the state at the time of being stored, using data stored in the state data storing section6.

The processing reproduction control section7receives an input of a user and issues an instruction for controlling the processing state of the second processing module2. As instructions, there are a processing restart instruction, a pause instruction, an instruction for collecting the internal state of the redundant server20, and so on.

The processing result output section8performs output for displaying processing results of the redundant server20and so on. The user investigates processing results of the redundant server20, the internal state of the redundant server20, and so on, displayed on the processing result output section8to specify the cause of the trouble.

Next, an operation of this example will be described with reference to the block diagram ofFIG. 15and the flowchart ofFIG. 16.

When an instruction for state recovery is issued by a user, the processing reproduction control section7sends the instruction for state recovery to the state recovery control section9(S501). The state recovery control section9having received the instruction starts state recovery (S502, S503), reads out state data stored in the state data storing section6(S504), and sets it to the second processing module2(S505). Thereby, the transaction buffer means22, the redundant server communication means23, and the redundant server20of the second processing module2are recovered to the state at the time when the state storage was performed, and processing is in a pause state (S506). When the processing reproduction control section7confirms that the recovery of the second processing module2is completed, the processing reproduction control section7notifies the user of that effect (S507). Afterward, the user restarts or stops processing of the second processing module2through the processing reproduction control section7and observes behavior till occurrence of the trouble and the state at the time of occurrence of the trouble to investigate the cause of the trouble.

When the processing reproduction control section7receives an instruction for processing restart from the user, the processing reproduction control section7transmits the instruction for processing restart to the second processing module2(S508). In the second processing module2, when the redundant server communication means23receives the instruction for processing restart (S509), till the redundant server communication means23receives an instruction for processing stop (S510), the redundant server communication means23reads out processing requests stored in the transaction buffer means22, in order (S511), and processes them in the redundant server20(S512). The processing reproduction control section7confirms that processing has restarted, and notifies the user of that effect (S516). On the other hand, when the processing reproduction control section7receives an instruction for processing stop from the user, the processing reproduction control section7transmits the instruction for processing stop to the second processing module2(S513), and the second processing module2temporarily stops processing (S514). When the processing reproduction control section7confirms that processing has been stopped, the processing reproduction control section7notifies the user of that effect (S515).

As described above, in this example, using data of a processing state capable of continuing processing before the trouble appears, the process can be restarted and processing results can be confirmed. Thus, investigation of the cause of the trouble by reproduction of the trouble becomes possible.

Although Example 6 is premised on Example 1, an example is thinkable in which the processing reproduction control section7, the processing result output section8, and the state recovery control section9are added to the second processing module2in any of Examples 2 to 4.

Although examples of the present invention have been described, the present invention is not limited to the above examples and various other additional changes can be made therein. Functional means in each example, such as the trouble monitoring section4, the state storage control section5, the processing reproduction control means7, the processing result output means8, the state recovery control section9, the client communication means11, the transaction duplicating means12, the active server communication means13, the transaction buffer means22, the redundant server communication means23, the timer24, and the transaction converting means30, can be realized by a computer and a state acquisition program. The state acquisition program is provided in a form of being recorded on a computer readable record medium such as a magnetic disk, and reads out by the computer at the time of starting the computer and so on, to control the operation of the computer and thereby realize each of the above-described functional means on the computer.

According to the present invention, when a trouble occurs in a transaction processing system, particularly in a processing program therein, the invention can be applied to use for storing a state immediately before stop due to and the trouble and investigating the cause of the trouble.