Processing method by which continuous operation of communication control program is obtained

Abstract: In a computer system (10) comprising an application program (11), a communication control program (12) operating a communication access method having an active process (13) and standby process (14), an operational environment information storing portion in a common memory (15) to which the active process (13) and the standby process (14) have access, and pro­ cessor(s); a process for executing the communication control program is multiplexed by the active process (13) and the standby process, the active process forms an opera­ tional environment of a logical connection between an application program and a user terminal, and the opera­ tional environment is set in the common memory (15). When the active process (13) malfunctions and an event wherein the standby process (14) does not continue the communication occurs, in each logical connection, an under data processing flag is stored in the common memory (15), and the flag is cleared when the process of the event is completed. The standby process (14) accesses the operational environment storing portion in the common memory (15), and the operational environment information in each logical connection is taken from the active process (13). In this place, the common memory is examined to determine whether the flag is stored or not, and if the flag is stored, the logical connection is disconnected and the warning of the abnormality is sent. In the communica­ tion of the logical connection wherein the flag is not set, the communication control program operates continu­ ously, and thus a continuous operation in the computer system is obtained at a low cost.

Description: The present invention relates to a processing method by which a continuous operation of communication control program in a computer system provided with a common memory which can be accessed by an active process and a standby process for executing the communication control program, is obtained. In a computer system, when communication access method operated by a communication control program cannot be used because of a hardware malfunction or software failure in the computer system, a user utilizing the communication control program (application program or terminal operator) cannot operate the system continuously due to this malfunction or failure. Accordingly, the user must reestablish a logical connection to a communication terminal, and must restart the operation in order to continue same. Namely, the user must execute the following complicated steps: restart the communication access method; reestablish the logical connection; examine the effects and recover the process; and restart the operation when the communication access method goes down. In one possible method of solving the resulting problems involved, the communication control program is duplicated by an active process and a standby process. The active process operates during a normal operation, and the standby process, which is not affected by the failure of the active process, brought from the standby state to operate the program continuously when the active process cannot be operated. By using a common memory to which both the active process and the standby process have access, and by taking all of the data of connection operational environment or transmission and reception signals used by the active process when the active process fails, the standby process can continue the operation. Namely, a continuous operation can be obtained by the following steps. First, when the connection is made, the connection operational environment is stored in the common memory; when data is received, the received data is stored in the common memory; the data is transmitted, and upon completion thereof, the received data is cleared from the common memory; and when the active process becomes inoperative, the operational environment and received data are taken from the common memory by the standby process and the operation is continued. In the above processing, however, the storing of the received data in the common memory or the clearing of the data affects the performance of the normal operation. Further, since all of the received data is stored, a large capacity common memory is needed. Accordingly, the above steps are not a practical solution to this problem. The present invention is intended to address the above problems. EP-A-0 319 034 discloses a processing method according to the preamble of accompanying claim 1. That is, it discloses a method of the type described above wherein an outline control program is duplicated by an active process and a standby process, and in the event of a failure of the active process, the standby process takes over by using information stored in a common memory. According to the present invention, there is provided a processing method by which continuous operation of a communication control program in a computer system is obtained, wherein a process executing the communication control program is multiplexed by an active process and a standby process, and a common memory able to be accessed by the active process and the standby process is provided; said active process comprising a first process stage for setting operational environment information of a logical connection between an application program and a user terminal in said common memory; and said standby process comprising a second process stage for reading said common memory and for taking the operational environment information from the active process, in each logical connection in advance or when a warning of a failure of the operation of the active process is given; characterised in that:- said active process further comprises a third process stage for storing, when the active process malfunctions and an event occurs wherein the standby process does not continue the communication, an under-processing flag in said common memory, and when processing of the event is completed, for clearing the under-processing flag, in each logical connection; and in that:- said standby process further comprises a fourth process stage for only warning that an abnormality has occurred with regard to the logical connection for which the under-processing flag is set in said common memory, when an operation by the active process is to be taken over. Accordingly, an embodiment of the present invention may provide a processing method by which a continuous operation is obtained at a low cost to the user, by specifying a communication affected by a malfunction of a communication control program during an active operation. Reference will now be made, by way of example, to the accompanying drawings, in which:- Fig. 1 is a block diagram explaining a communication control program in a system wherein user terminals are connected to a computer system through a communication network; Fig. 2 is a block diagram explaining a possible example of a way of solving problems arising in the system of Fig. 1; Fig. 3 is a block diagram summarizing an embodiment according to the present invention; Fig. 4 is a block diagram explaining an operation of the embodiment of Fig. 3; Fig. 5 is a block diagram explaining an active process of the embodiment according to the present invention; Fig. 6 is a block diagram explaining a standby process of the embodiment of Fig. 5; Fig. 7 is a flowchart of the processing of the active process in the communication control program of the embodiment of the present invention; Fig. 8 is another flowchart of the processing of the standby process and is similar to Fig. 7; and, Fig. 9 is an explanatory diagram showing an operational environment of the logical connection. Prior to an explanation of an embodiment of the present invention, a prior proposal and a possible solution to the problems arising in the prior proposal are explained with reference to the drawings. The proposed method is explained with reference to Fig. 1. In a computer system 10, when communication access method 20 operated by a communication control program cannot operate because of a hardware malfunction or software failure in the computer system 10, a user utilizing the communication control program (application program 11 or terminal operator) cannot operate the system continuously due to the malfunction or failure. Accordingly, the user must reestablish a logical connection 23 to a communication terminal, and must restart the operation in order to continue same. Namely, the user must execute the following complicated steps, as shown in Fig. 1, when the communication access method 20 comes down (goes down or breaks down): (1) restart the communication access method 20, (2) reestablish the logical connection 23, (3) examine the effects and recover the process, and (4) restart the operation. One possible solution to the problems arising in this method is explained with reference to Fig. 2. In this method, the communication control program is duplicated by the active process 13 and the standby process 14. The active process 13 operates during a normal operation, and the standby process 14, which is not affected by a failure of the active process, is brought from the standby state to operate the process continuously when the active process 13 comes down. By using a common memory 15 to which both the active process 13 and the standby process 14 have access, and by taking all of the data of connection operational environment or transmission and reception signals used by the active process 13, when the active process 13 fails, the standby process 14 can continue the operation. Namely, as shown in Fig. 2, a continuous operation can be obtained by the following steps. (1) When the connection is made, the connection operational environment is stored in the common memory 15. (2) When data is received, the received data is stored in the common memory 15. (3) The data is transmitted, and upon the completion thereof, the received data is cleared from the common memory 15. (4) When the active process 13 becomes inoperative, the operational environment and received data are taken from the common memory 15 by the standby process 14 and the operation is continued. In the above processing, however, the storing of the received data in the common memory 15 or the clearing of the data affects the performance of the normal operation. Further, since all of the received data is stored, a large capacity common memory 15 is needed. Accordingly, the continuous operation as shown in Fig. 2, is not a practical solution to the above problems. Next, an embodiment according to the present invention is summarized with reference to Figs. 3 and 4. In Fig. 3, 10 is a computer system providing one or a plurality of processors (CPU), 11 is an application program executing processes requested by users using data communication, 12 is communication control program realizing a communication access method, 13 is an active process, 14 is a standby process, 15 is a common memory accessible by both the active process 13 and the standby process 14, and 16 is a operational environment information memory portion storing operational environment information which is taken from the active process 13 by the standby process 14. In the computer system 10, the process executing communication control program 12 is multiplexed by the active process 13 and the standby process 14. The active process 13 operates during normal operation, and the standby process 14 brought from the standby state to operate the process continuously when the active process 13 comes down. The active process 13 executes processing stages P1 and P2. In the processing stage P1, an operational environment of a logical connection between the application program 11 for the communication and user terminal to which the communication is to be made is formed, and the operational environment information is stored in the common memory 15. In the processing stage P2, when an event occurs whereby the standby process 14 cannot continue the communication while the active process 13 is operative, an under processing flag is stored in the common memory 15, in each logical connection, and when the processing of the event is completed the under processing flag is cleared. Namely, in a data transmission and reception process and the like, at the start of the processing, an indication of the processing is set in the portion corresponding to the logical connection in the operational environment information storing portion 16 in the common memory 15, and the indication of the processing is cleared at end of the processing. The standby process 14 executes processing stages P3 and P4. In the processing stage P3, the operational environment information storing portion 16 in the common memory 15 is accessed, and the operational environment information in each logical connection is taken from the active process 13, in advance or when a warning is given that the active process is inoperative. In the processing stage P4, when the information in the active process 13 is taken, a search is made in the common memory 15 for the under processing flag. In this flag is stored in the common memory 15, the logical connection having the flag is disconnected and a warning is given that the abnormality has occurred with regard to the logical connection. The operations for the other logical connections for which a flag is not set are continued by the communication program 12. Generally, the communication process in the computer system 10 has the following features: (1) In the case of either a data transmission request or a data reception request during normal operation, the request is processed instantly by the CPU. Namely, the request is not held at the communication control program 12. (2) The process of the communication control program 12 is a flow of successive controls from a start of the process to the end thereof. In consideration of these features, when the communication control program 12 malfunctions, since the cases wherein the communication control program 12 actually processes transmission or reception data of the communication are rare, little of the operation is affected by the failure of the communication control program 12. In the present invention, in consideration of the above features, the logical connections between the application program 11 and user terminals affected by the failure of the communication control program 12 are specified, only the affected application program 11 and the user terminals receive the warning of an abnormality with regard to the communication, and the application program 11 and the user terminals not affected by the failure are not informed and can operate continuously. Figure 4 is an explanatory diagram of the operation. As shown in the upper portion of Fig. 4, it is assumed that, when a connection 23 is made between the application program 11 and the terminal 22 and the communication is executed through a communication network 21 by the communication access method 20, the communication access method 20 has malfunctioned. At this time, if the communication access method 20 does not process an actual data transmission, reception or the like, as shown in the lower left portion of Fig. 4 the communication access method 20 operated by the standby process can continue the communication using the operational environment as before, given by ,the preceding connection 23. If the communication access method 20 malfunctions, while actually processing data, in this case, as shown in lower right portion of Fig. 4, the communication access method 20 disconnects the connection 23 and sends a signal indicating the occurrence of an abnormality to the application program 11 or the like. In the prior proposal, even in the case shown in the lower left portion of Fig. 4, the connection 23 is disconnected and the operation cannot be continued. According to the present invention, however, the connection 23 is only disconnected in the case shown in the lower right portion of Fig. 4, and thus the effect of the malfunction is reduced. The above-mentioned embodiment will be explained in detail. Figures 5 and 6 are block diagrams of the embodiment according to this invention, Fig. 7 is a process flowchart of the active process of this embodiment, and Fig. 8 is a process flowchart of the standby process of this embodiment. Figure 5 shows an operation of the active process 13 and Fig. 6 shows an operation of the standby process 14. In these Figures, C1 to C1 are connections (logical connections) and T1 to T3 are user terminals. (1) Operation of the active process A. The active process 13 sequentially stores the operational environment of the connections C1 to C3 in the common memory 15. B. When an event occurs between the application program 11 and user terminals T1 to T3, the indication (flag) in the course of data processing (black circle in Figs. 5 and 6) is added to the operational environment information managed by the active process 13, and the information stored in the common memory 15. The event to which the flag (under data processing) must be given is as follows. Namely, when the process of the occurring event is started, if the active process 13 malfunctions during the processing and the standby process 14 takes over the operation, the consistency of the process in the event cannot be maintained for the application program 11 or a protocol of the user terminal. For example, a loss of transmission or reception data between the application program 11 and user terminal, generation of a communication protocol inconsistency or the like is come under this heading. After the processing of this event is completed, the under data processing flag is cleared. (2) Operation of the standby process C. The operational environment of the active process 13 is formed in the standby process 14 by the information read from the common memory 15. D. The logical connections between the application program 11 and the user terminals are examined and the under data processing flag stored at the active process 13 is examined. In the connections C2 and C3 not under data processing, the standby process 14 continues the operation. In the connection C1 wherein the under data processing flag is stored, if the standby process 14 continues the operation, since an erroneous operation between the application program 11 and the user terminal T1 may occur, and a warning of an abnormality is sent to both the application program 11 and the user terminal T1. As explained above, the relationship between the application program and the user is as follows. When the data is not under processing, no warning is given to the user and the operation continues, and only when the data is under processing is such a warning given to the user. By this warning, the user can go to the recovering process when necessary. The processing flowchart of the active process 13, for example, is shown in Fig. 7. Below the processing steps S1 to S7 in Fig. 7 are explained. S1: The operational environment of the communication access method is formed by the start of the communication access method. In this embodiment, the common memory is provided and the standby process started in this step. S2: The process of activating the network resource is carried out. The network resource environment is stored in the common memory. S3: The operational environment of the logical connection is formed upon a request for the opening of the logical connection from the application program or the user terminal. In this place, when a malfunction occurs, the active process is replaced by the standby process, the information normally communicated to the user terminal, for example, communication protocol information or the like, is stored in the common memory. S4: The under data processing flag is stored in the common memory for the data transmission or reception to or from the application program or the user terminal. S5: The data transmission or reception process is carried out according to the communication protocol. If the information, for example, information to be taken out or the like is necessary, the information is stored in the common memory. S6: In the data notice/transmission process, when the communication control program informs or transmits the data, the under data processing flag is cleared. S7: The information of the logical connection in the common memory is disconnected upon a request for the disconnection of the logical connection from the application program or the user terminal. The process flowchart of the standby process 14 is shown, for example, in Fig. 8. Below the steps S11 to S19 in Fig. 8 are shown. S11: After the standby process is operated by the active process, the operational environment of the communication access method is formed. Further, to obtain information to be taken from the active process, the common memory is provided. S12: The process wherein the operational environment of the active process is set in advance is carried out at a predetermined period. Namely, in each logical connection the operational environment is formed by the information read from the common memory. The presetting is used to shorten the restart time in the standby process, when the active process malfunctions, and therefore, the presetting is not always necessary. The setting may be carried out when the standby process takes over from the active process. S13: If a warning of the failure of the active process is given, the operational environment of the active process is formed. Namely, the operational environment (network resource, logical connection environment or the like) of the active process is read and the environment wherein the active process operates is formed from the common memory. If, in step S12, the environment is preset, the forming time is shortened. S14 to S18: The logical connections that must be disconnected due to the failure of the active process, among all the logical connection, are examined. In a logical connection, if the under data processing flag is not stored, the logical connection is not affected by the malfunction, and then the next logical connection is examined. The logical connection having the flag is affected by the malfunction, and accordingly, the logical connection is disconnected and the area in the common memory is cleared. In this disconnection of the connection, an abnormality warning is given to a communication request portion. The above processes are repeated for all the logical connections. S19: The process of the step S14 is applied to all the logical connections, the standby process becomes a new active process, and a normal operation is started. Next, the operational environment of the logical connection is explained with reference to Fig. 9. The operational environment comprises the following information. (1) Information to be communicated to the application program The information to be communicated to the address space of the application program, for example, address space information for transmitting or receiving data (2) Information to be communicated to the user terminals Hardware information to be communicated to the user terminal, for example, line address, terminal address or the like (3) Operational environment of connection Environmental information so that connection operates in the communication access method, for example, exclusive information or the like (4) Communication protocol information Communication protocol information to be sent to the user terminal, for example, destination reference, source reference, protocol class, TPDU size, TPDU send sequence number, sequence number indicating the next expected DT TPDU number, or the like (for details, see ISO OSI 8073 transport layer protocol) The above information is formed in each user terminal and stored in the memory space of the active process. This information is also stored in the common memory. The standby process reads the above information from the common memory and forms the same environment in the memory space of the standby process. In the communication process using the communication control program, usually the request is processed instantly only by the CPU in the cases of both a data transmission request/data reception request., Namely, the request is not held in the communication control program. Further, the process of the communication control program is a successive flow from a start of the process to the end thereof. In the above process, the effect upon the malfunction of the communication control program is as follows. In the system having one CPU, when the communication control program malfunctions, only one or no communication under processing between the application program and the user terminal exists. When the failure occurs, there is sometimes communication between the application program and the user terminal under processing by the communication control program. When the failure occurs, there is sometimes communication between the application program and the user terminal waiting for the processing of the communication control program. Therefore, the amount of the communication between the application program and the user terminal, which is affected by the malfunction of the communication control program is considered, for example, to be less than 10 percent in a usual system. In the prior proposal, all the communications between the application program and the user terminals using the communication control program are affected by the malfunction of the communication control program and the recovering process must be carried out by the user. On the other hand, by applying this invention, more than 90 percent of the communications between the application program and the user terminals, which are not affected by the failure of the communication control program, can be continued as before. Accordingly, it is only necessary the user to carry out the recovering process for less than 10 percent of the communications.

Claims: A processing method by which continuous operation of a communication control program in a computer system (10) is obtained, wherein a process executing the communication control program (12) is multiplexed by an active process (13) and a standby process (14), and a common memory (15) able to be accessed by the active process and the standby process is provided; said active process comprising a first process (P1) stage for setting operational environment information of a logical connection between an application program (11) and a user terminal in said common memory; and said standby process comprising a second process stage (P3) for reading said common memory and for taking the operational environment information from the active process, in each logical connection in advance or when a warning of a failure of the operation of the active process is given; characterised in that:- said active process further comprises a third process stage (P2) for storing, when the active process malfunctions and an event occurs wherein the standby process does not continue the communication, an under-processing flag in said common memory, and when processing of the event is completed, for clearing the under-processing flag, in each logical connection; and in that:- said standby process further comprises a fourth process stage (P4) for only warning that an abnormality has occurred with regard to the logical connection for which the under-processing flag is set in said common memory, when an operation by the active process is to be taken over. A processing method as set forth in claim 1, further comprising a step of storing, in said common memory (15), operational environment information comprising information to be communicated to the application program (11); other information to be communicated to the user terminals; an operational environment of the logical connection; and communication protocol information. A processing method as set forth in claim 1 or 2, further comprising a step of storing, in said common memory (15), information to be taken over and the under-processing flag. A processing method as set forth in claim 1, 2 or 3, wherein when said active process (13) malfunctions between the start and end of a data transmission or reception process in the active process, said event wherein the standby process (14) does not continue the communication is determined. A processing method as set forth in any preceding claim, wherein said logical connection of the Communication to which a warning of the occurence of an abnormality is sent, is disconnected.

Inventors: KASUKAWA MASAYUKI, KASUKAWA, MASAYUKI
Applicants: FUJITSU LTD, FUJITSU LIMITED
Application year: 1990
Main classification: G06F11
IPC codes: G06F9, G06F11, G06F13