Patent ID: 6209019
Filing Date: 2001-03-27
Classification: G06F

Abstract:
A data processing system which allows a plurality of programs, each designed according to its own version to run concurrently, the data processing system executing processes each corresponding to one of the plurality of programs, said data processing system comprising:executing means, provided for each of said plurality of programs, for executing a firs process corresponding to a first of the programs;detecting means for detecting an execution point of said first process executed by said executing means;notifying means for notifying the internal state data of the first program when an execution point of the first process of the first program detected by said detecting means has reached a pre-defined execution checkpoint;testing means for executing an acceptance test which checks the propriety of the first program based on the internal state data of the first program when the execution point of the first process of the first program detected by said detecting means has reached the pre-defined execution checkpoint and which executes an acceptance test which checks the propriety of the programs other than the first program based on internal state data sent from some of the other programs when the execution point has not yet reached the pre-defined execution checkpoint;sending/receiving means for sending said internal state data of the first program to some programs other than the first program, the execution points of which have not yet reached the pre-defined execution checkpoint, when said testing means executes an acceptance test on the first program and, at the same time, when the result of the acceptance test is acceptable, sending back a result to the corresponding sending program when said testing means executes the acceptance test on one of said programs other than the first program, and, for receiving internal state data when it is sent from one of said programs other than said first program and for receiving a result when the result of an acceptance test is sent back from one of said other programs;judging means for making a general judgment on the first program based on the results of acceptance tests executed in the programs other than the first program when the number of results of said acceptance tests received by said sending/receiving means from said other programs reaches a specified number; andinterrupt controlling means for interrupting the processing of said executing means when said testing means executes the acceptance test on the first program and the result of the test is rejected, when the result of the general judgment made by said judging means is rejected, or when the number of acceptable results of acceptance tests on said programs other than said first program made by said testing means reaches the specified number;wherein said executing means does not continue the processing of the first program when the processing is interrupted by said interrupt controlling means, while it otherwise continues the processing of the first program.