JP2010122731A - System, method, and program for performing redundancy, and calculator - Google Patents

System, method, and program for performing redundancy, and calculator Download PDF

Info

Publication number
JP2010122731A
JP2010122731A JP2008293350A JP2008293350A JP2010122731A JP 2010122731 A JP2010122731 A JP 2010122731A JP 2008293350 A JP2008293350 A JP 2008293350A JP 2008293350 A JP2008293350 A JP 2008293350A JP 2010122731 A JP2010122731 A JP 2010122731A
Authority
JP
Japan
Prior art keywords
computer
processing
calculation
state
management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008293350A
Other languages
Japanese (ja)
Inventor
Kazuto Shimizu
一人 清水
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008293350A priority Critical patent/JP2010122731A/en
Publication of JP2010122731A publication Critical patent/JP2010122731A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To inexpensively perform calculation for verifying a calculation result with small delay. <P>SOLUTION: A management/preceding calculator 100 divides a processing content into a plurality of sections, preserves processing states at division points in performance, and copies the divided processing contents by each section, so as to transfer the contents to inexpensive verifying calculators 120a, 120z. The verifying calculators 120a, 120z respectively start calculation from the division points through the use of the processing states preserved in the management/preceding calculator 100 without waiting the completion of calculation of the management/preceding calculator 100 for calculating the whole sections. A result comparing means 104 and a state comparing means 105 compare the processing state and the calculation result of the management/preceding calculator 100 with the processing states and the calculation results of the verifying calculators 120a, 120z, so as to determine the correctness of the calculation result when the both are coincident. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、特に冗長実行によって計算結果が正常かどうかを判定可能な冗長実行システム、冗長実行方法、冗長実行用プログラム、及び計算機に関する。   The present invention relates to a redundant execution system, a redundant execution method, a redundant execution program, and a computer that can determine whether a calculation result is normal by redundant execution.

従来、複数の計算手段と、結果比較手段とから構成されている冗長実行システムが知られている(例えば、特許文献1参照)。該特許文献1の冗長実行システムでは、同一の処理内容を複数の計算手段で実行し、それぞれの計算結果を結果比較手段で比較することによって、演算結果が正しいかどうかを判断する。
特開2005−115795号公報 (第3〜7頁、図1)
Conventionally, a redundant execution system including a plurality of calculation means and a result comparison means is known (see, for example, Patent Document 1). In the redundant execution system of Patent Document 1, the same processing content is executed by a plurality of calculation means, and each calculation result is compared by a result comparison means to determine whether the calculation result is correct.
JP-A-2005-115795 (pages 3 to 7, FIG. 1)

しかしながら、上述した特許文献1の冗長実行システムでは、ある計算手段における計算結果を、大きな遅延を生じさせずに、他の計算手段における計算結果と比較するためには、他の全ての計算手段を上記ある計算手段と同等の性能を持ったものにしなければならない。このため、複数の計算結果の比較にかかる時間は、最も速度が遅い計算手段での計算が完了するまでの時間に左右されるという問題があった。   However, in the redundant execution system of Patent Document 1 described above, in order to compare the calculation result in one calculation means with the calculation result in another calculation means without causing a large delay, all other calculation means are used. It must have the same performance as the above calculation means. For this reason, there is a problem that the time required for comparing a plurality of calculation results depends on the time until the calculation by the slowest calculation means is completed.

本発明は、このような事情を考慮してなされたものであり、その目的は、同等の性能を持った計算手段を複数用意しなくとも、性能の低い計算機を複数利用して、計算結果の比較にかかる時間を大きく増加させることなく、演算結果が正しいかどうかを判定することができる冗長実行システム、冗長実行方法、冗長実行用プログラム、及び計算機を提供することにある。   The present invention has been made in consideration of such circumstances, and the purpose of the present invention is to use a plurality of low-performance computers and to calculate the calculation results without preparing a plurality of calculation means having equivalent performance. An object of the present invention is to provide a redundant execution system, a redundant execution method, a redundant execution program, and a computer that can determine whether or not an operation result is correct without greatly increasing the time required for comparison.

上述した課題を解決するために、本発明は、処理内容の全てを計算する管理/先行計算機と、処理内容の一部を計算する複数の確認計算機とからなる分割冗長実行システムであって、前記管理/先行計算機は、処理内容の入力を受け付ける処理入力手段と、前記受け付けた処理内容を2つ以上の処理内容に分割する処理分割手段と、前記処理内容の全てを計算する第1の計算手段とを備え、前記複数の確認計算機は、前記分割された処理内容を、分割単位毎に計算する第2の計算手段を備え、前記管理/先行計算機は、同一分割処理内容に対する、前記第1の計算手段による計算結果と、前記第2の計算手段による計算結果とを比較する結果比較手段と、同一分割処理内容に対する、前記第1の計算手段による処理状態と、前記第2の計算手段による処理状態とを比較する状態比較手段と、前記結果比較手段と前記状態比較手段との双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する結果出力手段とを更に備えたことを特徴とする分割冗長実行システムである。   In order to solve the above-described problem, the present invention is a divided redundant execution system including a management / preceding computer that calculates all of the processing content and a plurality of confirmation computers that calculate a part of the processing content, The management / preceding computer includes a process input unit that receives an input of process content, a process dividing unit that divides the received process content into two or more process contents, and a first calculation unit that calculates all of the process contents The plurality of confirmation computers includes a second calculation unit that calculates the divided processing contents for each division unit, and the management / preceding computer has the first division processing content for the same division processing content. A result comparison unit that compares a calculation result by the calculation unit with a calculation result by the second calculation unit; a processing state by the first calculation unit for the same division processing content; and the second calculation unit And a result output means for outputting a result indicating whether or not the calculation is correctly performed based on the comparison result of both the result comparison means and the state comparison means. This is a divided redundant execution system characterized by that.

また、上述した課題を解決するために、本発明は、処理内容の全てを計算する管理/先行計算機と、処理内容の一部を計算する複数の確認計算機とからなる分割冗長実行システムであって、前記管理/先行計算機は、処理内容の入力を受け付ける処理入力手段と、前記受け付けた処理内容を2つ以上の処理内容に分割する処理分割手段と、前記処理内容の全てを計算する第1の計算手段と、前記第1の計算手段による計算途中の処理状態を任意の時点で保存する第1の状態保存手段とを備え、前記複数の確認計算機は、少なくとも、前記分割された処理内容の一部を計算する第2の計算手段と、前記第2の計算手段による計算完了時点の処理状態を保存する第2の状態保存手段とを備える第1の確認計算機と、前記第1の状態保存手段で保存した処理状態を利用して計算途中の処理状態を復元する状態復元手段と、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算する第3の計算手段とを備える第2の確認計算機とからなり、前記管理/先行計算機は、同一分割処理内容に対する、前記第1の計算手段による計算結果と、前記第3の計算手段による計算結果とを比較する結果比較手段と、同一分割処理内容に対する、前記第1の状態保存手段で保存した処理状態と、前記第2の状態保存手段で保存した処理状態とを比較する状態比較手段と、前記結果比較手段と前記状態比較手段との双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する結果出力手段とを備えたことを特徴とする分割冗長実行システムである。   In order to solve the above-described problem, the present invention is a divided redundant execution system including a management / preceding computer that calculates all of the processing contents and a plurality of confirmation computers that calculate a part of the processing contents. The management / advanced computer has a process input means for receiving an input of process contents, a process dividing means for dividing the received process contents into two or more process contents, and a first for calculating all of the process contents. And a first state storage unit that stores a processing state in the middle of calculation by the first calculation unit at an arbitrary time point, and the plurality of confirmation computers includes at least one of the divided processing contents. A first confirmation computer comprising: a second calculation means for calculating a part; and a second state storage means for storing a processing state at the time of completion of calculation by the second calculation means; and the first state storage means Save with A state restoring unit that restores a processing state in the middle of calculation using the processed state, and a third calculating unit that calculates another part of the divided processing contents using the restored processing state. A second comparison computer, wherein the management / preceding computer is a result comparison unit that compares the calculation result by the first calculation unit and the calculation result by the third calculation unit with respect to the same division processing content; , A state comparison unit that compares the processing state stored by the first state storage unit with the processing state stored by the second state storage unit, and the result comparison unit and the state comparison for the same divided processing content And a result output means for outputting a result indicating whether or not the calculation has been correctly performed based on the comparison result of both of the means and the means.

また、上述した課題を解決するために、本発明は、処理内容の全てを計算する管理/先行計算機と、処理内容の一部を計算する複数の確認計算機とからなる分割冗長実行システムであって、前記管理/先行計算機は、処理内容の入力を受け付ける処理入力手段と、前記受け付けた処理内容を2つ以上の処理内容に分割する処理分割手段と、前記処理内容の全てを計算する第1の計算手段と、前記第1の計算手段による計算途中の処理状態を任意の時点で保存する第1の状態保存手段とを備え、前記複数の確認計算機は、少なくとも、前記分割された処理内容の一部を計算する第2の計算手段と、前記第2の計算手段による計算完了時点の処理状態を保存する第2の状態保存手段とを備える第1の確認計算機と、前記第1の状態保存手段で保存した処理状態を利用して計算途中の処理状態を復元する第1の状態復元手段と、前記第1の状態復元手段で復元した処理状態を用いて前記分割された処理内容の他の一部を計算する第3の計算手段とを備える第2の確認計算機と、前記第1の状態保存手段で保存した他の処理状態を利用して計算途中の処理状態を復元する第2の状態復元手段と、前記第2の状態復元手段で復元した処理状態を用いて前記分割された処理内容の他の一部を計算する第4の計算手段と、前記第4の計算手段による計算完了時点の処理状態を保存する第3の状態保存手段とを備える第3の確認計算機とからなり、前記管理/先行計算機は、同一分割処理内容に対する、前記第1の計算手段による計算結果と、前記第3の計算手段による計算結果とを比較する結果比較手段と、同一分割処理内容に対する、前記第1の状態保存手段で保存した処理状態と、前記第2の状態保存手段で保存した処理状態とを比較し、更に、前記第1の状態保存手段で保存した処理状態と、前記第3の状態保存手段で保存した処理状態とを比較する状態比較手段と、前記結果比較手段と前記状態比較手段との双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する結果出力手段とを備えたことを特徴とする分割冗長実行システムである。   In order to solve the above-described problem, the present invention is a divided redundant execution system including a management / preceding computer that calculates all of the processing contents and a plurality of confirmation computers that calculate a part of the processing contents. The management / advanced computer has a process input means for receiving an input of process contents, a process dividing means for dividing the received process contents into two or more process contents, and a first for calculating all of the process contents. And a first state storage unit that stores a processing state in the middle of calculation by the first calculation unit at an arbitrary time point, and the plurality of confirmation computers includes at least one of the divided processing contents. A first confirmation computer comprising: a second calculation means for calculating a part; and a second state storage means for storing a processing state at the time of completion of calculation by the second calculation means; and the first state storage means Save with A first state restoring unit that restores a processing state in the middle of calculation using the processed state, and another part of the divided processing contents using the processing state restored by the first state restoring unit. A second confirmation computer comprising a third calculation means for calculating; a second state restoring means for restoring a processing state in the middle of calculation using another processing state saved by the first state saving means; A fourth calculation means for calculating another part of the divided processing contents using the processing state restored by the second state restoration means; and a processing state at the time when the calculation by the fourth calculation means is completed And a third confirmation computer having a third state storage unit for storing the management / advanced computer, wherein the management / preceding computer is configured to calculate the result of the calculation by the first calculation unit and the third calculation for the same division processing content. Result ratio to compare with calculation result by means And the processing state stored by the first state storage unit for the same divided processing content and the processing state stored by the second state storage unit, and further, the first state storage unit The calculation is correctly performed based on the comparison result of the state comparison unit that compares the stored processing state with the processing state stored by the third state storage unit, and the result comparison unit and the state comparison unit. A divided redundant execution system comprising: a result output means for outputting the result of whether or not

また、上述した課題を解決するために、本発明は、管理/先行計算機により処理内容の全てを計算し、複数の確認計算機により前記処理内容の一部を計算する分割冗長実行方法であって、前記管理/先行計算機で処理内容を2つ以上の処理内容に分割するステップと、前記分割された処理内容の全てを前記管理/先行計算機で計算するステップと、前記分割された処理内容を、分割単位毎に前記複数の確認計算機で計算するステップと、前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機での計算結果と前記複数の確認計算機の計算結果とを比較するステップと、前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機での計算途中の処理状態と前記複数の確認計算機での処理状態とを比較するステップと、前記管理/先行計算機で、前記双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力するステップとを含むことを特徴とする分割冗長実行方法である。   In order to solve the above-described problem, the present invention is a divided redundant execution method in which all of the processing contents are calculated by a management / preceding computer, and a part of the processing contents is calculated by a plurality of confirmation computers, Dividing the processing contents into two or more processing contents in the management / preceding computer, calculating all the divided processing contents in the management / preceding computer, and dividing the divided processing contents The step of calculating by the plurality of confirmation computers for each unit, and the step of comparing the calculation results of the management / preceding computer and the calculation results of the plurality of confirmation computers with respect to the same division processing content in the management / preceding computer And the management / preceding computer compare the processing state in the middle of the calculation in the management / preceding computer and the processing states in the plurality of confirmation computers with respect to the same divided processing content. Steps and, in the management / prior computer is partitioned redundant execution method characterized by including the step of outputting the calculation based on both the comparison result of whether or not correct result.

また、上述した課題を解決するために、本発明は、管理/先行計算機により処理内容の全てを計算し、複数の確認計算機により前記処理内容の一部を計算する分割冗長実行方法であって、前記管理/先行計算機で、処理内容の入力を受け付けるステップと、前記管理/先行計算機で、前記受け付けた処理内容を2つ以上の処理内容に分割するステップと、前記管理/先行計算機で、前記処理内容の全てを計算するステップと、前記管理/先行計算機で、前記計算途中の処理状態を任意の時点で保存するステップと、前記複数の確認計算機のうち、少なくとも第1の確認計算機で、前記分割された処理内容の一部を計算するステップと、前記第1の確認計算機で、前記処理内容の一部の計算完了時点の処理状態を保存するステップと、前記複数の確認計算機のうち、少なくとも第2の確認計算機で、前記管理/先行計算機で保存した処理状態を利用して計算途中の処理状態を復元するステップと、前記第2の確認計算機で、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算するステップと、前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機による計算結果と、前記第2の確認計算機による計算結果とを比較するステップと、前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機で保存した処理状態と、前記第1の確認計算機で保存した処理状態とを比較するステップと、前記管理/先行計算機で、前記の双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力するステップとを含むことを特徴とする分割冗長実行方法である。   In order to solve the above-described problem, the present invention is a divided redundant execution method in which all of the processing contents are calculated by a management / preceding computer, and a part of the processing contents is calculated by a plurality of confirmation computers, The management / preceding computer receives an input of processing content, the management / preceding computer splits the received processing content into two or more processing content, and the management / preceding computer performs the processing. A step of calculating all of the contents; a step of storing the processing state in the middle of the calculation at an arbitrary time in the management / preceding computer; and at least a first confirmation computer among the plurality of confirmation computers A step of calculating a part of the processed content, a step of storing a processing state at a time when the calculation of a part of the processing content is completed in the first confirmation computer, Among the confirmation computers, at least a second confirmation computer, a step of restoring a processing state in the middle of calculation using a processing state saved by the management / preceding computer, and the restored processing by the second confirmation computer A step of calculating another part of the divided processing content using a state, a calculation result by the management / preceding computer for the same divided processing content in the management / preceding computer, and the second confirmation computer And comparing the processing state saved in the management / preceding computer and the processing state saved in the first confirmation computer for the same split processing content in the management / preceding computer. And a step of outputting a result indicating whether or not the calculation is correctly performed based on the comparison result of both of the above in the management / preceding computer. A split redundant execution method of.

また、上述した課題を解決するために、本発明は、管理/先行計算機により処理内容の全てを計算し、複数の確認計算機により前記処理内容の一部を計算する分割冗長実行方法であって、前記管理/先行計算機で、処理内容の入力を受け付けるステップと、前記管理/先行計算機で、前記受け付けた処理内容を2つ以上の処理内容に分割するステップと、前記管理/先行計算機で、前記処理内容の全てを計算するステップと、前記管理/先行計算機で、前記計算手段による計算途中の処理状態を任意の時点で保存するステップと、前記複数の確認計算機のうち、少なくとも第1の確認計算機で、前記分割された処理内容の一部を計算するステップと、前記第1の確認計算機で、前記処理内容の一部の計算完了時点の処理状態を保存するステップと、前記複数の確認計算機のうち、少なくとも第2の確認計算機で、前記管理/先行計算機で保存した処理状態を利用して計算途中の処理状態を復元するステップと、前記第2の確認計算機で、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算するステップと、前記複数の確認計算機のうち、少なくとも第3の確認計算機で、前記管理/先行計算機で保存した他の処理状態を利用して計算途中の処理状態を復元するステップと、前記第3の確認計算機で、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算するステップと、前記第3の確認計算機で、前記計算された他の一部の計算完了時点の処理状態を保存するステップと、前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機による計算結果と、前記第2の確認計算機による計算結果とを比較するステップと、前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機で保存した処理状態と、前記第1の確認計算機で保存した処理状態とを比較し、更に、前記管理/先行計算機で保存した処理状態と、前記第2の確認計算機で保存した処理状態とを比較するステップと、前記管理/先行計算機で、前記双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力するステップとを含むことを特徴とする分割冗長実行方法である。   In order to solve the above-described problem, the present invention is a divided redundant execution method in which all of the processing contents are calculated by a management / preceding computer, and a part of the processing contents is calculated by a plurality of confirmation computers, The management / preceding computer receives an input of processing content, the management / preceding computer splits the received processing content into two or more processing content, and the management / preceding computer performs the processing. A step of calculating all of the contents; a step of storing a processing state in the middle of calculation by the calculation means at an arbitrary time in the management / preceding computer; and at least a first confirmation computer of the plurality of confirmation computers A step of calculating a part of the divided processing contents, and a step of storing a processing state at a time when the calculation of a part of the processing contents is completed by the first confirmation computer. And at least a second confirmation computer of the plurality of confirmation computers, using the processing state saved by the management / preceding computer to restore the processing state in the middle of the calculation, and the second confirmation computer A step of calculating another part of the divided processing contents using the restored processing state, and at least a third confirmation computer among the plurality of confirmation computers, and stored in the management / preceding computer A step of restoring a processing state in the middle of calculation using another processing state, and a step of calculating another part of the divided processing contents using the restored processing state in the third confirmation computer And a step of storing the calculated processing state at the time of completion of the other part of the calculation in the third confirmation computer, and the management / preceding computer with respect to the same division processing content. A step of comparing a calculation result by the row computer with a calculation result by the second confirmation computer, a processing state stored in the management / preceding computer for the same division processing content in the management / preceding computer, and the first Comparing the processing state saved in the first confirmation computer, and comparing the processing state saved in the management / preceding computer with the processing state saved in the second confirmation computer; And a step of outputting a result as to whether or not the calculation is correctly performed based on the comparison result of the both in the computer.

また、上述した課題を解決するために、本発明は、処理内容の全てを管理/先行計算機により計算し、前記処理内容の一部を複数の確認計算機により計算するコンピュータに、前記管理/先行計算機で処理内容を2つ以上の処理内容に分割する処理分割処理と、前記分割された処理内容の全てを前記管理/先行計算機で計算する第1の計算処理と、前記分割された処理内容を、分割単位毎に前記複数の確認計算機で計算する第2の計算処理と、前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機での計算結果と前記複数の確認計算機での計算結果とを比較する結果比較処理と、前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機での計算途中の処理状態と前記複数の確認計算機での処理状態とを比較する状態比較処理と、前記管理/先行計算機で、前記双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する出力処理とを実行させるためのプログラムである。   In order to solve the above-described problems, the present invention provides a computer that calculates all of the processing contents by a management / preceding computer and calculates a part of the processing contents by a plurality of confirmation computers. The process dividing process for dividing the process contents into two or more process contents, the first calculation process for calculating all of the divided process contents by the management / preceding computer, and the divided process contents, A second calculation process calculated by the plurality of confirmation computers for each division unit; a calculation result by the management / preceding computer and a calculation by the plurality of confirmation computers with respect to the same division processing content by the management / preceding computer; A result comparison process for comparing the result, a processing state in the middle of the calculation in the management / preceding computer and a processing state in the plurality of confirmation computers for the same division processing content in the management / preceding computer And state comparison process for comparing the door, by the management / previous computer, a program for executing an output process of calculation based on the both comparison results and outputs whether the result was successful.

また、上述した課題を解決するために、本発明は、処理内容の全てを管理/先行計算機により計算し、前記処理内容の一部を複数の確認計算機により計算するコンピュータに、前記管理/先行計算機で、処理内容の入力を受け付ける処理入力処理と、前記管理/先行計算機で、前記受け付けた処理内容を2つ以上の処理内容に分割する処理分割処理と、前記管理/先行計算機で、前記処理内容の全てを計算する第1の計算処理と、前記管理/先行計算機で、前記計算途中の処理状態を任意の時点で保存する第1の状態保存処理と、前記複数の確認計算機のうち、少なくとも第1の確認計算機で、前記分割された処理内容の一部を計算する第2の計算処理と、前記第1の確認計算機で、前記処理内容の一部の計算完了時点の処理状態を保存する第2の状態保存処理と、前記複数の確認計算機のうち、少なくとも第2の確認計算機で、前記管理/先行計算機で保存した処理状態を利用して計算途中の処理状態を復元する状態復元処理と、前記第2の確認計算機で、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算する第3の計算処理と、前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機による計算結果と、前記第2の確認計算機による計算結果とを比較する結果比較処理と、前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機で保存した処理状態と、前記第1の確認計算機で保存した処理状態とを比較する状態比較処理と、前記管理/先行計算機で、前記の双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する出力処理とを実行させるためのプログラムである。   In order to solve the above-described problems, the present invention provides a computer that calculates all of the processing contents by a management / preceding computer and calculates a part of the processing contents by a plurality of confirmation computers. The process input process for receiving the input of the process contents, the process dividing process for dividing the received process contents into two or more process contents by the management / preceding computer, and the process contents by the management / preceding computer A first state calculation process for calculating all of the above, a first state storage process for storing the processing state in the middle of the calculation at an arbitrary time in the management / preceding computer, and at least a first of the plurality of confirmation computers The first confirmation computer stores a second calculation process for calculating a part of the divided processing content, and the first confirmation computer stores a processing state at the time of completion of the calculation for a part of the processing content. A state saving process of 2 and a state restoring process for restoring a processing state in the middle of calculation using a processing state saved in the management / preceding computer in at least a second confirmation computer among the plurality of confirmation computers; In the second confirmation computer, a third calculation process for calculating another part of the divided processing contents using the restored processing state, and the same division processing contents in the management / preceding computer, A result comparison process for comparing the calculation result by the management / preceding computer and the calculation result by the second confirmation computer, and a process stored in the management / preceding computer for the same division processing content in the management / preceding computer A state comparison process that compares the state and the processing state stored in the first confirmation computer, and the management / preceding computer correctly performed the calculation based on the comparison results of both Is a program for executing an output process of outputting whether results.

また、上述した課題を解決するために、本発明は、処理内容の全てを管理/先行計算機により計算し、前記処理内容の一部を複数の確認計算機により計算するコンピュータに、前記管理/先行計算機で、処理内容の入力を受け付ける処理入力処理と、前記管理/先行計算機で、前記受け付けた処理内容を2つ以上の処理内容に分割する処理分割処理と、前記管理/先行計算機で、前記処理内容の全てを計算する第1の計算処理と、前記管理/先行計算機で、前記第1の計算処理による計算途中の処理状態を任意の時点で保存する第1の状態保存処理と、前記複数の確認計算機のうち、少なくとも第1の確認計算機で、前記分割された処理内容の一部を計算する第2の計算処理と、前記第1の確認計算機で、前記処理内容の一部の計算完了時点の処理状態を保存する第2の状態保存処理と、前記複数の確認計算機のうち、少なくとも第2の確認計算機で、前記管理/先行計算機で保存した処理状態を利用して計算途中の処理状態を復元する第1の状態復元処理と、前記第2の確認計算機で、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算する第3の計算処理と、前記複数の確認計算機のうち、少なくとも第3の確認計算機で、前記管理/先行計算機で保存した他の処理状態を利用して計算途中の処理状態を復元する第2の状態復元処理と、前記第3の確認計算機で、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算する第4の計算処理と、前記第3の確認計算機で、前記計算された他の一部の計算完了時点の処理状態を保存する第3の状態保存処理と、前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機による計算結果と、前記第2の確認計算機による計算結果とを比較する結果比較処理と、前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機で保存した処理状態と、前記第1の確認計算機で保存した処理状態とを比較し、更に、前記管理/先行計算機で保存した処理状態と、前記第2の確認計算機で保存した処理状態とを比較する状態比較処理と、前記管理/先行計算機で、前記双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する結果出力処理とを実行させるためのプログラムである。   In order to solve the above-described problems, the present invention provides a computer that calculates all of the processing contents by a management / preceding computer and calculates a part of the processing contents by a plurality of confirmation computers. The process input process for receiving the input of the process contents, the process dividing process for dividing the received process contents into two or more process contents by the management / preceding computer, and the process contents by the management / preceding computer A first calculation process for calculating all of the above, a first state storage process for storing a processing state in the middle of calculation by the first calculation process at an arbitrary time in the management / preceding computer, and the plurality of confirmations Among the computers, at least a first confirmation computer, a second calculation process for calculating a part of the divided processing content, and a calculation completion point of a part of the processing content in the first confirmation computer A second state saving process for saving a processing state, and at least a second confirmation computer among the plurality of confirmation computers restores a processing state in the middle of calculation using the processing state saved by the management / preceding computer A first state restoring process, a third computing process for calculating another part of the divided processing contents using the restored processing state by the second confirmation computer, and the plurality of confirmations Among the computers, at least a third confirmation computer, a second state restoration process for restoring a processing state in the middle of calculation using another processing state saved by the management / preceding computer, and the third confirmation computer In the fourth calculation processing for calculating another part of the divided processing contents using the restored processing state, and the calculation of the other part of the calculation completed in the third confirmation computer 3rd to save the current processing state A state saving process, a result comparison process for comparing a calculation result by the management / preceding computer and a calculation result by the second confirmation computer for the same division processing content in the management / preceding computer, and the management / preceding computer In the computer, the processing state saved in the management / preceding computer for the same divided processing content is compared with the processing state saved in the first confirmation computer, and further, the processing state saved in the management / preceding computer , A result of outputting a result of whether or not the calculation is correctly performed based on the comparison result of the both in the management / advanced computer in the state comparison process for comparing the processing state saved in the second confirmation computer This is a program for executing output processing.

また、上述した課題を解決するために、本発明は、処理内容の入力を受け付ける処理入力手段と、前記受け付けた処理内容を2つ以上の処理内容に分割する処理分割手段と、前記処理内容の全てを計算する計算手段と、外部の確認計算機により計算された、処理内容の一部の計算結果を受信するとともに、前記外部の確認計算機による計算完了後の処理状態を受信する受信手段と、同一分割処理内容に対する、前記計算手段による計算結果と、前記受信手段により受信した前記外部の確認計算機による計算結果とを比較する結果比較手段と、同一分割処理内容に対する、前記計算手段による処理状態と、前記受信手段により受信した前記外部の確認計算機による計算完了後の処理状態とを比較する状態比較手段と、前記結果比較手段と前記状態比較手段との双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する結果出力手段とを備えることを特徴とする計算機である。   In order to solve the above-described problem, the present invention provides a process input unit that receives an input of process contents, a process dividing unit that divides the received process contents into two or more process contents, Same as the calculation means for calculating all and the reception means for receiving a calculation result of a part of the processing content calculated by the external confirmation computer and receiving the processing state after the calculation by the external confirmation computer is completed. A result comparison unit that compares a calculation result by the calculation unit with respect to the division processing content and a calculation result by the external confirmation computer received by the reception unit; a processing state by the calculation unit with respect to the same division processing content; State comparison means for comparing the processing state after completion of calculation by the external confirmation computer received by the reception means, the result comparison means and the state A computer, characterized by comprising a result output unit for calculating, based on both the result of comparison between the comparison means outputs whether the result was successful.

また、上述した課題を解決するために、本発明は、分割された処理内容の一部を計算する計算手段と、前記計算手段による計算完了時点の処理状態を保存する状態保存手段と、前記状態保存手段に保存された処理状態を送信する通信手段とを備えることを特徴とする計算機である。   In order to solve the above-described problem, the present invention includes a calculation unit that calculates a part of the divided processing content, a state storage unit that stores a processing state at the time of calculation completion by the calculation unit, and the state And a communication unit that transmits the processing state stored in the storage unit.

また、上述した課題を解決するために、本発明は、計算すべき分割された処理内容に対して外部で計算された際の処理状態を復元する状態復元手段と、前記復元した処理状態を用いて前記分割された処理内容を計算する計算手段と、前記計算手段による計算結果を送信する通信手段とを備えることを特徴とする計算機である。   Further, in order to solve the above-described problem, the present invention uses a state restoration unit that restores a processing state when it is calculated externally for the divided processing content to be calculated, and the restored processing state. And a communication means for transmitting a calculation result obtained by the calculation means.

また、上述した課題を解決するために、本発明は、計算すべき分割された処理内容に対して外部で計算された際の処理状態を利用して計算途中の処理状態を復元する状態復元手段と、前記復元した処理状態を用いて前記分割された処理内容の一部を計算する計算手段と、前記計算手段による計算完了時点の処理状態を保存する状態保存手段とを備えることを特徴とする計算機である。   Further, in order to solve the above-described problem, the present invention provides a state restoration unit that restores a processing state in the middle of calculation using a processing state when the divided processing content to be calculated is calculated externally. And a calculation means for calculating a part of the divided processing contents using the restored processing state, and a state storage means for saving the processing state at the time when the calculation is completed by the calculation means. It is a calculator.

この発明によれば、先行計算機から配布される計算途中の処理状態を別々の確認計算機で復元することによって、性能が低くとも並列で確認用計算を実行させることができるため、同等の性能を持った計算手段を複数用意しなくとも、性能の低い計算機を複数利用して、計算結果の比較にかかる時間を大きく増加させることなく、演算結果が正しいかどうかを判定することができるという利点が得られる。   According to the present invention, since the processing state in the middle of the calculation distributed from the preceding computer is restored by a separate confirmation computer, the confirmation calculation can be executed in parallel even if the performance is low. Even if multiple calculation methods are not used, it is possible to use multiple low-performance computers to determine whether the calculation results are correct without greatly increasing the time taken to compare the calculation results. It is done.

以下、本発明の一実施形態を、図面を参照して説明する。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

A.第1の実施形態
図1は、本発明の第1の実施形態による冗長実行システムの構成を示すブロック図である。図において、冗長実行システムは、プログラム処理を管理および実行する管理/先行計算機100と、プログラム処理の一部分を実行する2つの確認計算機120a、120zとから構成されている。管理/先行計算機100は、処理入力手段101と、処理分割手段102と、通信手段103と、結果比較手段104と、状態比較手段105と、結果出力手段106と、計算手段113と、状態保存手段114とを備えている。
A. First Embodiment FIG. 1 is a block diagram showing a configuration of a redundant execution system according to a first embodiment of the present invention. In the figure, the redundant execution system includes a management / preceding computer 100 that manages and executes program processing, and two confirmation computers 120a and 120z that execute a part of the program processing. The management / preceding computer 100 includes a process input unit 101, a process dividing unit 102, a communication unit 103, a result comparison unit 104, a state comparison unit 105, a result output unit 106, a calculation unit 113, and a state storage unit. 114.

確認計算機120a、120zは、各々、通信手段121a、121zと、状態復元手段122a、122zと、計算手段123a、123zと、状態保存手段124a、124zとを備えている。但し、確認計算機120a、120zのうち、いずれか一方は、状態復元手段122a、または状態復元手段122zを備えていなくてもよく、また、他方は、状態保存手段124a、または124zを備えていなくてもよい。   The confirmation computers 120a and 120z include communication units 121a and 121z, state restoration units 122a and 122z, calculation units 123a and 123z, and state storage units 124a and 124z, respectively. However, one of the confirmation computers 120a and 120z may not include the state restoration unit 122a or the state restoration unit 122z, and the other may not include the state storage unit 124a or 124z. Also good.

上記構成において、処理入力手段101は、本冗長実行システムで処理する処理内容の入力を受け付ける。処理分割手段102は、処理入力手段101で受け付けた処理内容を時間軸方向に複数の区間に分割する。通信手段103は、後述する確認計算機120aの通信手段121a、及び確認計算機120zの通信手段121zとの間で、処理内容、処理結果、及び処理状態を送受信する。結果比較手段104は、計算手段113で計算された計算結果と、確認計算機120aの計算手段123a、及び確認計算機120zの計算手段123zで計算された計算結果とを比較して、一致していれば、計算結果を結果出力手段106に通知し、一致していなければ、エラーを結果出力手段106に通知する。   In the above configuration, the process input unit 101 receives an input of process contents to be processed by the redundant execution system. The process dividing unit 102 divides the processing content received by the process input unit 101 into a plurality of sections in the time axis direction. The communication unit 103 transmits / receives processing contents, processing results, and processing states to / from a communication unit 121a of the confirmation computer 120a and a communication unit 121z of the confirmation computer 120z described later. The result comparison unit 104 compares the calculation result calculated by the calculation unit 113 with the calculation result calculated by the calculation unit 123a of the confirmation computer 120a and the calculation unit 123z of the confirmation computer 120z. The calculation result is notified to the result output means 106, and if they do not match, the error is notified to the result output means 106.

状態比較手段105は、状態保存手段114で保存された処理状態と、確認計算機120aの状態保存手段124a、または確認計算機120zの状態保存手段124zで保存された処理状態とを比較して、一致していれば、エラーなしを結果出力手段106に通知し、一致していなければ、エラーありを結果出力手段106に通知する。結果出力手段106は、結果比較手段104と状態比較手段105とからの通知の双方がエラーでない場合、結果比較手段104から通知された計算結果をシステムの処理結果として出力する一方、結果比較手段104と状態比較手段105とからの通知のどちらか一方でもエラーであった場合、システムの処理結果としてエラーを出力する。   The state comparison unit 105 compares the processing state stored in the state storage unit 114 with the processing state stored in the state storage unit 124a of the confirmation computer 120a or the state storage unit 124z of the confirmation computer 120z, and matches. If there is no error, the result output unit 106 is notified that there is no error, and if there is no match, the result output unit 106 is notified that there is an error. When both the notifications from the result comparison unit 104 and the state comparison unit 105 are not errors, the result output unit 106 outputs the calculation result notified from the result comparison unit 104 as a processing result of the system, while the result comparison unit 104 If either of the notifications from the status comparison unit 105 is an error, an error is output as a processing result of the system.

計算手段113は、処理分割手段102から処理内容を受けて計算し、処理分割手段102の分割によって作成された区間の切れ目に達すると、状態保存手段114に通知する。また、計算手段113は、全処理が終了すると、その計算結果を結果比較手段104に送信する。状態保存手段114は、計算手段113からの通知を受けて、その時点での計算手段113の処理状態を保存し、これを状態比較手段105に供給するとともに、通信手段103を通じて確認計算機120aの状態復元手段122a、または確認計算機120zの状態復元手段122zに送信する。   The calculation unit 113 receives and calculates the processing contents from the process dividing unit 102, and notifies the state storage unit 114 when the interval of the section created by the division of the process dividing unit 102 is reached. Further, when all the processes are completed, the calculation unit 113 transmits the calculation result to the result comparison unit 104. The state storage unit 114 receives the notification from the calculation unit 113, stores the processing state of the calculation unit 113 at that time, supplies this to the state comparison unit 105, and supplies the state of the confirmation computer 120a through the communication unit 103. The data is transmitted to the restoring unit 122a or the state restoring unit 122z of the confirmation computer 120z.

確認計算機120a、120zにおいて、状態復元手段122a、122zは、通信手段121a、121zを通じて、管理/先行計算機100の状態保存手段114に保存された処理状態のうち1つを受信し、計算手段123a、123zに適用して処理状態を復元する。計算手段123a、123zは、通信手段121a、121zを通じて処理内容を受信し、管理/先行計算機100の処理分割手段102によって複数区間に分割された区間のうち1つを、状態復元手段122a、122zによって復元された処理状態から計算し、区間の終わりに達すると、状態保存手段124a、124zに通知する。また、計算手段123a、123zは、処理が終了すると、その計算結果を通信手段121a、121zを通じて管理計算機100の結果比較手段104に送信する。状態保存手段124a、124zは、計算手段123a、123zからの通知を受けて、その時点での計算手段123a、123zの処理状態を保存し、これを通信手段121a、121zを通じて管理計算機100の状態比較手段105に送信する。   In the confirmation computers 120a and 120z, the state restoration means 122a and 122z receive one of the processing states stored in the state storage means 114 of the management / preceding computer 100 through the communication means 121a and 121z, and the calculation means 123a and The processing state is restored by applying to 123z. The calculation means 123a and 123z receive the processing contents through the communication means 121a and 121z, and one of the sections divided into a plurality of sections by the process dividing means 102 of the management / preceding computer 100 is obtained by the state restoration means 122a and 122z. Calculation is made from the restored processing state, and when the end of the section is reached, the state storage means 124a and 124z are notified. Further, when the processing is completed, the calculation units 123a and 123z transmit the calculation results to the result comparison unit 104 of the management computer 100 through the communication units 121a and 121z. The state storage units 124a and 124z receive the notification from the calculation units 123a and 123z, store the processing states of the calculation units 123a and 123z at that time, and compare the statuses of the management computer 100 through the communication units 121a and 121z. It transmits to the means 105.

次に、本第1の実施形態の動作について説明する。
図2は、本第1の実施形態の管理/先行計算機100の動作を説明するためのフローチャートである。まず、管理/先行計算機100の処理入力手段101は、本冗長実行システムで処理する処理内容の入力を受け付ける(ステップSa1)。次に、処理分割手段102は、処理入力手段101で受け付けた処理内容を時間軸方向に2つの区間に分割する(ステップSa2)。次に、処理分割手段102は、分割された処理内容の全てを計算手段113に供給し、分割された処理内容のうち、重複しない各1区間を、通信手段103を通じて、確認計算機120a、120zの通信手段121a、121zのそれぞれに送信する(ステップSa3)。
Next, the operation of the first embodiment will be described.
FIG. 2 is a flowchart for explaining the operation of the management / preceding computer 100 of the first embodiment. First, the process input unit 101 of the management / preceding computer 100 receives an input of process contents to be processed by the redundant execution system (step Sa1). Next, the process dividing unit 102 divides the processing content received by the process input unit 101 into two sections in the time axis direction (step Sa2). Next, the process dividing unit 102 supplies all of the divided processing contents to the calculating unit 113, and among the divided processing contents, each non-overlapping section is transmitted to the confirmation computers 120 a and 120 z through the communication unit 103. It transmits to each of the communication means 121a and 121z (step Sa3).

次に、計算手段113は、処理分割手段102から供給される全処理内容を処理する(先行処理:ステップSa4)。次に、通信手段103は、状態保存手段114に保存されている処理状態、及び確認計算機120から処理状態が供給されてくるまで待ち、これを受信する(ステップSa5)。次に、状態比較手段105は、状態保存手段114および確認計算機120から供給されてきた処理状態のうち、同一の区間終端によって作成された処理状態同士を比較し、処理状態同士が1つでも一致しなければ、結果出力手段106にエラーを通知し、処理状態同士が全て一致すれば、結果出力手段106にエラーなしを通知する(ステップSa6)。   Next, the calculation means 113 processes all the processing contents supplied from the process dividing means 102 (preceding process: step Sa4). Next, the communication unit 103 waits until the processing state stored in the state storage unit 114 and the processing state are supplied from the confirmation computer 120, and receives them (step Sa5). Next, the state comparison unit 105 compares the processing states created by the same section end among the processing states supplied from the state storage unit 114 and the confirmation computer 120, and even if there is only one processing state. If not, an error is notified to the result output means 106, and if all the processing states match, the result output means 106 is notified that there is no error (step Sa6).

次に、処理状態同士が全て一致すれば、通信手段103は、計算手段113及び確認計算機120a、120zから送信されてきた計算結果を受信する(ステップSa7)。結果比較手段104は、計算手段113から供給される計算結果と、確認計算機120a、120zから送信されてきた計算結果とを比較し、一致しなければ、結果出力手段106にエラーを通知し、一致すれば、結果出力手段106にエラーなしと計算結果とを通知する(ステップSa8)。   Next, if all the processing states match, the communication unit 103 receives the calculation results transmitted from the calculation unit 113 and the confirmation computers 120a and 120z (step Sa7). The result comparison unit 104 compares the calculation result supplied from the calculation unit 113 and the calculation result transmitted from the confirmation computers 120a and 120z. If they do not match, the result comparison unit 104 notifies the result output unit 106 of an error, and matches. Then, the result output means 106 is notified of no error and the calculation result (step Sa8).

最後に、状態比較手段105、及び結果比較手段104の双方からエラーなしを通知されている場合、結果出力手段106は、結果比較手段104から通知された計算結果をシステムの計算結果として出力する(ステップSa9)。一方、状態比較手段105、及び結果比較手段104の少なくともどちらか一方からエラーが通知された場合、結果出力手段106は、システムの計算結果としてエラーを出力する(ステップSa10)。   Finally, when both the state comparison unit 105 and the result comparison unit 104 are notified of no error, the result output unit 106 outputs the calculation result notified from the result comparison unit 104 as a calculation result of the system ( Step Sa9). On the other hand, when an error is notified from at least one of the state comparison unit 105 and the result comparison unit 104, the result output unit 106 outputs an error as a calculation result of the system (step Sa10).

次に、上述したステップSa4で説明した先行計算の詳細について説明する。
図3は、本第1の実施形態の管理/先行計算機100で行われる先行計算の動作を説明するためのフローチャートである。計算手段113は、分割された処理内容の全てを処理分割手段102から受信する(ステップSb1)。次に、計算手段113は、上記分割された処理内容を順次計算し(ステップSb2)、区間の終端であるか否かを判定し(ステップSb3)、区間終端でない場合には、処理内容全体の終端、すなわち処理内容全体の計算が完了したか否かを判定する(ステップSb4)。そして、区間終端でも処理内容全体の計算が完了した場合でもなければ、ステップSb2に戻り、計算を継続する。
Next, details of the preceding calculation described in step Sa4 will be described.
FIG. 3 is a flowchart for explaining the operation of the preceding calculation performed by the management / preceding computer 100 according to the first embodiment. The calculation unit 113 receives all of the divided processing contents from the process dividing unit 102 (step Sb1). Next, the calculation means 113 sequentially calculates the divided processing contents (step Sb2), determines whether or not it is the end of the section (step Sb3). It is determined whether the end, that is, the calculation of the entire processing content is completed (step Sb4). If the calculation of the entire processing content is not completed even at the end of the section, the process returns to step Sb2 and the calculation is continued.

一方、処理内容の分割区間の終端に処理が来ると(分割区間の終端まで計算が終了すると)、状態保存手段114に状態保存要求を通知し、状態保存手段114は、計算手段113が処理している内容のその時点での処理状態を保存する(ステップSb5)。更に、状態保存手段114は、この保存された処理状態を、状態比較手段105に供給すると共に、通信手段111を通じて確認計算機120a、120zの状態復元手段122a、122zに送信する(ステップSb6)。その後、ステップSb2に戻り、次の分割区間の処理内容の計算を継続する。   On the other hand, when the processing comes to the end of the divided section of the processing content (when the calculation is completed up to the end of the divided section), the state storage unit 114 is notified of the state storage request, and the state storage unit 114 The processing state at that time of the contents being stored is saved (step Sb5). Further, the state storage unit 114 supplies the stored processing state to the state comparison unit 105 and transmits it to the state restoration units 122a and 122z of the confirmation computers 120a and 120z through the communication unit 111 (step Sb6). Thereafter, the process returns to step Sb2, and the calculation of the processing content of the next divided section is continued.

そして、処理内容全体の終端に達すると、すなわち処理内容全体の計算が完了すると、計算手段113は、その計算結果を結果比較手段104に送信する(ステップSb7)。   When the end of the entire processing content is reached, that is, when the calculation of the entire processing content is completed, the calculation unit 113 transmits the calculation result to the result comparison unit 104 (step Sb7).

次に、本第1の実施形態の確認計算機120a、120zの動作について説明する。
図4(a)、(b)は、各々、本第1の実施形態の確認計算機120a、120zの動作を説明するためのフローチャートである。本第1の実施形態では、2つの確認計算機120a、120zが存在し、それぞれで計算する区間を先頭と末尾とに分けるものとする。ここでは、確認計算機120aが先頭の区間を処理し、確認計算機120zが末尾の区間を処理するものとして説明する。
Next, operations of the confirmation computers 120a and 120z according to the first embodiment will be described.
4A and 4B are flowcharts for explaining the operations of the confirmation computers 120a and 120z of the first embodiment, respectively. In the first embodiment, there are two confirmation computers 120a and 120z, and the sections to be calculated are divided into a head and a tail. Here, description will be made assuming that the confirmation computer 120a processes the head section and the confirmation computer 120z processes the last section.

まず、図4(a)に示すように、確認計算機120aの通信手段121aは、分割された処理内容のうち、先頭の区間の処理を通信手段103から受信する(ステップSc1)。次に、計算手段123aは、上記処理内容を計算する(ステップSc2)。そして、計算手段123aは、分割区間の終端であるか否かを判定し(ステップSc3)、処理内容の分割区間の終端でない場合には、ステップSc2に戻り、計算処理を繰り返す。   First, as shown in FIG. 4A, the communication unit 121a of the confirmation computer 120a receives the processing of the head section of the divided processing contents from the communication unit 103 (step Sc1). Next, the calculation unit 123a calculates the processing content (step Sc2). Then, the calculation unit 123a determines whether or not it is the end of the divided section (step Sc3), and if it is not the end of the divided section of the processing content, the calculation unit 123a returns to step Sc2 and repeats the calculation process.

一方、計算手段123aは、処理内容の分割区間の終端に処理が達すると、状態保存手段124aに状態保存要求を通知し、状態保存手段124aは、計算手段123aが処理している処理内容のその時点での処理状態を保存する(ステップc4)。更に、状態保存手段124aは、この保存された処理状態を、通信手段121aを通じて管理/先行計算機100の状態比較手段105に送信する(ステップSc5)。   On the other hand, when the processing reaches the end of the divided section of the processing content, the calculation unit 123a notifies the state storage unit 124a of a state storage request, and the state storage unit 124a displays the processing content processed by the calculation unit 123a. The processing state at the time is stored (step c4). Further, the state storage unit 124a transmits the stored processing state to the state comparison unit 105 of the management / preceding computer 100 through the communication unit 121a (step Sc5).

一方、確認計算機120zの通信手段121zは、分割された処理内容のうち、末尾の区間の処理を、管理/先行計算機100の通信手段103から受信する(ステップSd1)。次に、通信手段121zは、管理/先行計算機100の状態保存手段114に保存された分割区間の始端の処理状態を通信手段103から受信する(ステップSd2)。計算手段123zは、管理/先行計算機100から受信した分割区間の始端の処理状態を利用して、上記処理内容を計算する(ステップSd3)。そして、計算手段123zは、分割区間の終端であるか否かを判定し(ステップSd4)、処理内容の分割区間の終端でない場合には、ステップSd3に戻り、計算処理を繰り返す。   On the other hand, the communication unit 121z of the confirmation computer 120z receives the processing of the last section among the divided processing contents from the communication unit 103 of the management / preceding computer 100 (step Sd1). Next, the communication unit 121z receives from the communication unit 103 the processing state at the start of the divided section stored in the state storage unit 114 of the management / preceding computer 100 (step Sd2). The calculation means 123z calculates the processing content using the processing state at the start of the divided section received from the management / preceding computer 100 (step Sd3). Then, the calculation unit 123z determines whether or not it is the end of the divided section (step Sd4), and if it is not the end of the divided section of the processing content, the calculation unit 123z returns to step Sd3 and repeats the calculation process.

一方、計算手段123zは、処理内容の分割区間の終端に処理が達すると、その計算結果を、通信手段121zを通じて管理/先行計算機100の状態比較手段105に送信する(ステップSd5)。   On the other hand, when the processing reaches the end of the divided section of the processing content, the calculation unit 123z transmits the calculation result to the state comparison unit 105 of the management / preceding computer 100 through the communication unit 121z (step Sd5).

上述した第1の実施形態によれば、確認計算機120zが、前の区間を計算する確認計算機120aの計算完了を待たずに、管理/先行計算機100の生成した処理状態を利用して計算処理を開始し、先頭の区間を計算する確認計算機120aの計算完了後に、管理/先行計算機100が、その処理状態同士を比較することで、計算の正誤を判定するようにしたので、確認用計算の並列性を高め、管理/先行計算機100と同等の処理速度を有する確認計算機120a、120zを用いなくても、大きな速度低下を生じさせずに計算を完了でき、システムのコストを下げることができる。   According to the first embodiment described above, the confirmation computer 120z performs calculation processing using the processing state generated by the management / preceding computer 100 without waiting for the calculation completion of the confirmation computer 120a that calculates the previous section. Since the management / preceding computer 100 determines the correctness of the calculation by comparing the processing states after the calculation of the confirmation computer 120a that starts and calculates the first section is completed, the confirmation calculation is performed in parallel. Even if the confirmation computers 120a and 120z having the same processing speed as that of the management / preceding computer 100 are not used, the calculation can be completed without causing a large speed reduction, and the cost of the system can be reduced.

B.第2の実施形態
次に、本発明の第2の実施形態について説明する。
図5は、本第2の実施形態による冗長実行システムの構成を示すブロック図である。なお、図1に対応する部分には同一の符号を付けている。図において、冗長実行システムは、プログラム処理を管理及び実行する管理/先行計算機100と、プログラム処理の一部分を実行する、複数の確認計算機120a、120b、…、120y、120zとから構成されている。なお、図示の例では、複数の確認計算機120a、120b、…、120y、120zが示されているが、少なくとも3つ以上の確認計算機が存在すればよい。また、第1の実施形態と同様に、確認計算機120a、120b、…、120y、120zのうち、いずれか1つは、状態復元手段122i(i=a、b、…、y、z)を備えていなくてもよく、また、それ以外の1つは、状態保存手段124j(j=a、b、…、y、z)を備えなくてもよい。
B. Second Embodiment Next, a second embodiment of the present invention will be described.
FIG. 5 is a block diagram showing the configuration of the redundant execution system according to the second embodiment. In addition, the same code | symbol is attached | subjected to the part corresponding to FIG. In the figure, the redundant execution system includes a management / preceding computer 100 that manages and executes program processing, and a plurality of confirmation computers 120a, 120b,..., 120y, 120z that execute a part of the program processing. In the illustrated example, a plurality of confirmation computers 120a, 120b,..., 120y, and 120z are shown, but it is sufficient that at least three or more confirmation computers exist. Similarly to the first embodiment, any one of the confirmation computers 120a, 120b,..., 120y, 120z includes state restoration means 122i (i = a, b,..., Y, z). The other one may not include the state storage unit 124j (j = a, b,..., Y, z).

次に、本第2の実施形態の動作について説明する。
なお、本第2の実施形態の管理/先行計算機100の動作については、上述した第1の発明実施と同様であるので説明を省略する。また、本第2の実施形態では、2つ以上の確認計算機120a〜120zが存在し、それぞれで計算する区間を、先頭と中間と末尾とに分けるものとする。ここでは、確認計算機120aが先頭の区間を処理し、確認計算機120b〜120yが中間の区間を処理し、確認計算機120zが末尾の区間を処理するものとして説明する。したがって、確認計算機120a及び確認計算機120zの動作は、前述した第1の実施形態と同様であるので説明を省略する。
Next, the operation of the second embodiment will be described.
Note that the operation of the management / preceding computer 100 of the second embodiment is the same as that of the above-described first invention, and thus the description thereof is omitted. In the second embodiment, there are two or more confirmation computers 120a to 120z, and the sections to be calculated are divided into a head, an intermediate, and a tail. Here, description will be made assuming that the confirmation computer 120a processes the first section, the confirmation computers 120b to 120y process the middle section, and the confirmation computer 120z processes the last section. Therefore, the operations of the confirmation computer 120a and the confirmation computer 120z are the same as those in the first embodiment described above, and a description thereof will be omitted.

図6は、本第2の実施形態の確認計算機120b〜120yの動作を説明するためのフローチャートである。確認計算機120b〜120yの通信手段121b〜120yは、管理/先行計算機100で分割された処理内容のうち、先頭末尾以外の一区間を、管理/先行計算機100の通信手段103から受信する(ステップSe1)。次に、通信手段121b〜121yは、管理/先行計算機100の状態保存手段114に保存された各分割区間の始端における処理状態を通信手段103より受信する(ステップSe2)。計算手段123b〜123yは、管理/先行計算機100から受信した分割区間の始端の処理状態を利用して、上記処理内容を計算する(ステップSe3)。そして、計算手段123b〜123yは、分割区間の終端であるか否かを判定し(ステップSe4)、処理内容の分割区間の終端でない場合には、ステップSe3に戻り、計算処理を繰り返す。   FIG. 6 is a flowchart for explaining the operation of the confirmation computers 120b to 120y of the second embodiment. The communication units 121b to 120y of the confirmation computers 120b to 120y receive one section other than the head end from the processing contents divided by the management / preceding computer 100 from the communication unit 103 of the management / preceding computer 100 (step Se1). ). Next, the communication units 121b to 121y receive from the communication unit 103 the processing state at the beginning of each divided section stored in the state storage unit 114 of the management / preceding computer 100 (step Se2). The calculation means 123b to 123y calculate the processing contents using the processing state at the start of the divided section received from the management / preceding computer 100 (step Se3). Then, the calculation means 123b to 123y determine whether or not it is the end of the divided section (step Se4), and when it is not the end of the divided section of the processing content, the process returns to step Se3 and repeats the calculation process.

一方、計算手段123b〜123yは、処理内容の分割区間の終端に処理が達すると、状態保存手段124b〜124yに状態保存要求を通知し、状態保存手段124b〜124yは、各々、計算手段123b〜123yが処理している処理内容のその時点での処理状態を保存する(ステップe5)。更に、状態保存手段124b〜124yは、この保存された処理状態を、通信手段121b〜121yを通じて管理/先行計算機100の状態比較手段105に送信する(ステップSe6)。   On the other hand, when the processing reaches the end of the divided section of the processing content, the calculation units 123b to 123y notify the state storage units 124b to 124y of the state storage request, and the state storage units 124b to 124y respectively calculate the calculation units 123b to 123b. The processing state at that time of the processing content being processed by 123y is stored (step e5). Further, the state storage units 124b to 124y transmit the stored processing state to the state comparison unit 105 of the management / preceding computer 100 through the communication units 121b to 121y (step Se6).

上述した第2の実施形態によれば、管理/先行計算機100より処理速度が遅い確認計算機120の数を任意に増やすことにより、より並列性を高め、処理完了までの時間を更に短縮することができる。   According to the second embodiment described above, by arbitrarily increasing the number of confirmation computers 120 whose processing speed is slower than that of the management / preceding computer 100, it is possible to further increase parallelism and further shorten the time to completion of processing. it can.

C.第3の実施形態
次に、本発明の第3の実施形態について説明する。
図7は、本第3の実施形態による冗長実行システムの構成を示すブロック図である。なお、図1に対応する部分には同一の符号を付けている。図において、冗長実行システムは、プログラム処理を管理する管理計算機300と、プログラム処理を実行する先行計算機310と、プログラム処理の一部分を実行する2つの確認計算機320a、320zとから構成されている。
C. Third Embodiment Next, a third embodiment of the present invention will be described.
FIG. 7 is a block diagram showing the configuration of the redundant execution system according to the third embodiment. In addition, the same code | symbol is attached | subjected to the part corresponding to FIG. In the figure, the redundant execution system includes a management computer 300 that manages program processing, a preceding computer 310 that executes program processing, and two confirmation computers 320a and 320z that execute part of the program processing.

管理計算機300は、処理入力手段101と、処理分割手段102と、通信手段303と、結果比較手段104と、状態比較手段105と、結果出力手段106とを含む。先行計算機310は、通信手段311と、計算手段113と、状態保存手段114とを含む。すなわち、先行計算機310の機能を独立させた構成となっている。確認計算機320a、320zは、各々、通信手段321a、321zと、状態復元手段122a、122zと、計算手段123a、123zと、状態保存手段124a、124zとを含む。但し、確認計算機320a、320zのうち、いずれか一方は、状態復元手段122a、または状態復元手段122zを備えていなくてもよく、また、他方は、状態保存手段124a、または124zを備えていなくてもよい。   The management computer 300 includes a process input unit 101, a process dividing unit 102, a communication unit 303, a result comparison unit 104, a state comparison unit 105, and a result output unit 106. The preceding computer 310 includes a communication unit 311, a calculation unit 113, and a state storage unit 114. That is, the function of the preceding computer 310 is made independent. The confirmation computers 320a and 320z include communication means 321a and 321z, state restoration means 122a and 122z, calculation means 123a and 123z, and state storage means 124a and 124z, respectively. However, one of the confirmation computers 320a and 320z may not include the state restoration unit 122a or the state restoration unit 122z, and the other may not include the state storage unit 124a or 124z. Also good.

上記構成において、管理計算機300の通信手段303と、先行計算機310の通信手段311と、確認計算機320aの通信手段321a、及び確認計算機320zの通信手段321zは、処理内容、処理結果および処理状態を、他の通信手段との間で送受信する。なお、その他の構成要素については、本発明の第1の実施形態と同様の動作であるので説明を省略する。   In the above configuration, the communication unit 303 of the management computer 300, the communication unit 311 of the preceding computer 310, the communication unit 321a of the confirmation computer 320a, and the communication unit 321z of the confirmation computer 320z indicate the processing contents, processing results, and processing states. Send / receive to / from other communication means. The other components are the same as those in the first embodiment of the present invention, and thus description thereof is omitted.

次に、本第3の実施形態の動作について説明する。
本第3の実施形態は、前述した第1の実施形態における計算手段113、及び状態保存手段114が管理計算機300から独立した別の先行計算機310に存在し、通信手段303および通信手段311を介して通信している点だけが異なり、その他の動作については、第1の実施形態と同様である。
Next, the operation of the third embodiment will be described.
In the third embodiment, the calculation unit 113 and the state storage unit 114 in the above-described first embodiment exist in another preceding computer 310 independent of the management computer 300, and the communication unit 303 and the communication unit 311 are used. The other operations are the same as those of the first embodiment.

上述した第3の実施形態によれば、管理計算機300と先行計算機310が独立した計算機であるように構成されているため、管理計算機300の各手段における負荷が高くなった場合においても、計算手段113に影響を与えることなく、処理完了までの時間を短くすることができる。   According to the third embodiment described above, the management computer 300 and the preceding computer 310 are configured to be independent computers. Therefore, even when the load on each unit of the management computer 300 increases, the calculation unit The time until the process is completed can be shortened without affecting 113.

D.第4の実施形態
次に、本発明の第4の実施形態について説明する。
図8は、本第4の実施形態による冗長実行システムの構成を示すブロック図である。なお、図5に対応する部分には同一の符号を付けている。図において、冗長実行システムは、プログラム処理を管理する管理計算機400と、プログラム処理を実行する先行計算機410と、複数の確認計算機120a、120b、…、120y、120zとから構成されている。なお、図示の例では、複数の確認計算機120a、120b、…、120y、120zが示されているが、少なくとも3つ以上の確認計算機が存在すればよい。また、第2の実施形態と同様に、確認計算機120a、120b、…、120y、120zのうち、いずれか1つは、状態復元手段122i(i=a、b、…、y、z)を備えていなくてもよく、また、それ以外の1つは、状態保存手段124j(j=a、b、…、y、z)を備えなくてもよい。
D. Fourth Embodiment Next, a fourth embodiment of the present invention will be described.
FIG. 8 is a block diagram showing the configuration of the redundant execution system according to the fourth embodiment. In addition, the same code | symbol is attached | subjected to the part corresponding to FIG. In the figure, the redundant execution system includes a management computer 400 that manages program processing, a preceding computer 410 that executes program processing, and a plurality of confirmation computers 120a, 120b,..., 120y, 120z. In the illustrated example, a plurality of confirmation computers 120a, 120b,..., 120y, and 120z are shown, but it is sufficient that at least three or more confirmation computers exist. Similarly to the second embodiment, any one of the confirmation computers 120a, 120b,..., 120y, 120z includes state restoration means 122i (i = a, b,..., Y, z). The other one may not include the state storage unit 124j (j = a, b,..., Y, z).

管理計算機400は、処理入力手段101と、処理分割手段102と、通信手段403と、結果比較手段104と、状態比較手段105と、結果出力手段106と、送信先決定手段407とを備えている。先行計算機410は、通信手段411と、計算手段113と、状態保存手段114とを備えている。確認計算機420a〜420zは、各々、通信手段421a〜421zと、状態復元手段122a〜122zと、計算手段123a〜123zと、状態保存手段124a〜124zとを備えている。   The management computer 400 includes a process input unit 101, a process dividing unit 102, a communication unit 403, a result comparison unit 104, a state comparison unit 105, a result output unit 106, and a transmission destination determination unit 407. . The preceding computer 410 includes a communication unit 411, a calculation unit 113, and a state storage unit 114. The confirmation computers 420a to 420z include communication units 421a to 421z, state restoration units 122a to 122z, calculation units 123a to 123z, and state storage units 124a to 124z, respectively.

上述した構成において、管理計算機400は、通信手段403により、処理分割手段102により分割された全処理内容を、先行計算機410の通信手段411に送信するとともに、先行計算機410の通信手段411から、先行計算機410での処理結果、及び状態保存手段114に保存された処理状態を受信する。   In the configuration described above, the management computer 400 transmits all the processing contents divided by the process dividing unit 102 to the communication unit 411 of the preceding computer 410 by the communication unit 403 and from the communication unit 411 of the preceding computer 410 to the preceding unit. The processing result in the computer 410 and the processing state stored in the state storage unit 114 are received.

また、管理計算機400の送信先決定手段407は、先行計算機410から処理結果及び処理状態を受信した時点で、処理分割手段102によって分割された処理内容、及び処理状態を、確認計算機420a〜420zのうち、どの確認計算機に通信手段403から送信するかを決定する。   Also, the transmission destination determination unit 407 of the management computer 400 receives the processing result and processing state from the preceding computer 410, and displays the processing content and processing state divided by the processing division unit 102 in the confirmation computers 420a to 420z. Of these, the confirmation computer to be transmitted from the communication means 403 is determined.

また、管理計算機400は、通信手段403により、分割された処理内容、及び先行計算機410での処理状態を、送信先決定手段207によって決定された確認計算機420i(i=a〜z)に対して送信し、確認計算機420a〜420zの通信手段421a〜421zから、その処理結果または処理状態を受信する。   In addition, the management computer 400 uses the communication unit 403 to determine the processing contents divided and the processing state in the preceding computer 410 with respect to the confirmation computer 420i (i = a to z) determined by the transmission destination determination unit 207. And processing results or processing states are received from the communication means 421a to 421z of the confirmation computers 420a to 420z.

先行計算機410は、通信手段411により、管理計算機400から全処理内容を受信し、計算手段113に渡すとともに、計算手段113による処理結果、及び状態保存手段114に保存された処理状態を、管理計算機400の通信手段403に送信する。   The preceding computer 410 receives all processing contents from the management computer 400 via the communication unit 411 and passes them to the calculation unit 113, and also displays the processing result of the calculation unit 113 and the processing state stored in the state storage unit 114. 400 communication means 403.

確認計算機420a〜420zは、各々、通信手段421a〜421zにより、分割された処理内容を管理計算機400の通信手段103から受信し、それぞれにおける処理結果または処理状態を管理計算機400の通信手段403に送信する。   The confirmation computers 420 a to 420 z receive the divided processing contents from the communication unit 103 of the management computer 400 by the communication units 421 a to 421 z, respectively, and transmit the processing results or the processing state of each to the communication unit 403 of the management computer 400. To do.

なお、その他の構成要素については、本発明の第1乃至第3の実施形態と同様の動作であるので説明を省略する。   The other components are the same as those in the first to third embodiments of the present invention, and thus description thereof is omitted.

次に、本第4の実施形態の動作について説明する。
図9は、本第4の実施形態の管理計算機400の動作を説明するためのフローチャートである。まず、管理計算機400の処理入力手段101は、本冗長実行システムで処理する処理内容の入力を受け付ける(ステップSf1)。次に、処理分割手段102は、処理入力手段101で受け付けた処理内容を時間軸方向に複数の区間に分割する(ステップSf2)。次に、通信手段403は、分割された処理内容の全てを、先行計算機410の通信手段411に送信する(ステップSf3)。次に、通信手段403は、先行計算機410から処理状態が送られてくるまで待ち、これを受信する(ステップSf4)。
Next, the operation of the fourth embodiment will be described.
FIG. 9 is a flowchart for explaining the operation of the management computer 400 according to the fourth embodiment. First, the process input unit 101 of the management computer 400 receives an input of process contents to be processed by the redundant execution system (step Sf1). Next, the process dividing unit 102 divides the processing content received by the process input unit 101 into a plurality of sections in the time axis direction (step Sf2). Next, the communication unit 403 transmits all of the divided processing contents to the communication unit 411 of the preceding computer 410 (step Sf3). Next, the communication means 403 waits until a processing state is sent from the preceding computer 410 and receives it (step Sf4).

次に、送信先決定手段407は、この時点で、処理状態を送信する確認計算機420i(i=a〜z)を選択する(ステップSf5)。次に、通信手段403は、上記処理状態と、その状態を開始状態とする分割区間の処理内容を確認計算機420iの通信手段421iに送信する(ステップSf6)。上記ステップSf4〜Sf6は、全ての分割区間の区切りにおける処理状態について実行される。   Next, the transmission destination determination unit 407 selects the confirmation computer 420i (i = a to z) that transmits the processing state at this time (step Sf5). Next, the communication unit 403 transmits the processing state and the processing content of the divided section whose state is the start state to the communication unit 421i of the confirmation computer 420i (step Sf6). The above steps Sf4 to Sf6 are executed for the processing states at the breaks of all the divided sections.

次に、通信手段403は、確認計算機420a〜420zから処理状態が送られてくるまで待ち、これを受信する(ステップSf7)。次に、状態比較手段105は、先行計算機410及び確認計算機420a〜420zから送られてきた処理状態のうち、同一の区間終端によって作成された処理状態同士を比較し、状態同士が1つでも一致しなければ、結果出力手段106にエラーを通知し、状態同士が全て一致すれば、結果出力手段106にエラーなしを通知する(ステップSf8)。   Next, the communication unit 403 waits until a processing state is sent from the confirmation computers 420a to 420z and receives it (step Sf7). Next, the state comparison unit 105 compares the processing states created by the same section end among the processing states sent from the preceding computer 410 and the confirmation computers 420a to 420z, and even if there is only one state. If not, an error is notified to the result output unit 106, and if all the states match, the result output unit 106 is notified that there is no error (step Sf8).

次に、処理状態同士が全て一致すれば、通信手段403は、先行計算機410及び確認計算機420a〜420zから送られてきた計算結果を受信する(ステップSf9)。結果比較手段104は、先行計算機410及び確認計算機420a〜420zから送られてきた計算結果を比較し、一致しなければ、結果出力手段106にエラーを通知し、一致すれば、結果出力手段106にエラーなしと、計算結果とを通知する(ステップSf10)。   Next, if all the processing states match, the communication unit 403 receives the calculation results sent from the preceding computer 410 and the confirmation computers 420a to 420z (step Sf9). The result comparison unit 104 compares the calculation results sent from the preceding computer 410 and the confirmation computers 420a to 420z. If they do not match, the result comparison unit 104 notifies the result output unit 106 of an error. Notification of no error and the calculation result is made (step Sf10).

最後に、状態比較手段105、及び結果比較手段104の双方からエラーなしを通知されている場合、結果出力手段106は、結果比較手段104から通知された計算結果をシステムの計算結果として出力する(ステップSf11)。一方、状態比較手段105、及び結果比較手段104の少なくともどちらか一方からエラーを通知された場合、結果出力手段106は、システムの計算結果としてエラーを出力する(ステップSf12)。   Finally, when both the state comparison unit 105 and the result comparison unit 104 are notified of no error, the result output unit 106 outputs the calculation result notified from the result comparison unit 104 as a calculation result of the system ( Step Sf11). On the other hand, when an error is notified from at least one of the state comparison unit 105 and the result comparison unit 104, the result output unit 106 outputs an error as a calculation result of the system (step Sf12).

先行計算機410の動作については、通信手段411が処理状態を送信する先が管理計算機400の通信手段403である点を除けば、第3の実施形態における先行計算機310の動作と同様であるので説明を省略する。また、確認計算機420a〜420zの動作については、通信手段421が処理状態を受信する元が管理計算機400の通信手段403である点を除けば、第3の実施形態における先行計算機320a、320zの動作と同様であるので説明を省略する。   The operation of the preceding computer 410 is the same as the operation of the preceding computer 310 in the third embodiment except that the communication unit 411 transmits the processing state to the communication unit 403 of the management computer 400, except that the destination is the communication unit 403. Is omitted. The operations of the confirmation computers 420a to 420z are the operations of the preceding computers 320a and 320z in the third embodiment, except that the communication unit 421 receives the processing state from the communication computer 403 of the management computer 400. Since it is the same as that, description is abbreviate | omitted.

上述した第4の実施形態によれば、通信手段403が処理状態を送信する時点で送信先決定手段407が送信先の確認計算機を決定するようにしているので、その時点で負荷の低い確認計算機を選択することができ、システム全体の効率を上げることができる。また、本第4の実施形態では、更に、通信手段411と通信手段421a〜421zが直接通信を行わないというように構成されているため、先行計算機411、及び確認計算機421は互いの情報を知らなくてもよく、プライバシを守ることができる。   According to the fourth embodiment described above, the transmission destination determination unit 407 determines the transmission destination confirmation computer when the communication unit 403 transmits the processing state. And the efficiency of the entire system can be increased. Further, in the fourth embodiment, since the communication unit 411 and the communication units 421a to 421z are configured not to perform direct communication, the preceding computer 411 and the confirmation computer 421 know each other's information. There is no need, and privacy can be protected.

E.具体的な実施例
次に、上述した第1乃至第4の実施形態を、より具体的な装置に適用した実施例について説明する。
図10は、本具体的な実施例の冗長実行システムの構成を示すブロック図である。なお、図1に対応する部分には同一の符号を付けている。図において、冗長実行システムは、プログラム処理を管理及び実行する管理/先行計算機100と、プログラム処理の一部分を実行する2つの確認計算機120a、120zとから構成されている。
E. Specific Example Next, an example in which the above-described first to fourth embodiments are applied to a more specific apparatus will be described.
FIG. 10 is a block diagram showing the configuration of the redundant execution system of this specific embodiment. In addition, the same code | symbol is attached | subjected to the part corresponding to FIG. In the figure, the redundant execution system includes a management / preceding computer 100 that manages and executes program processing, and two confirmation computers 120a and 120z that execute part of the program processing.

管理/先行計算機100は、管理/先行計算用プログラム900と、処理対象プログラム901と、処理結果902と、確認計算機リスト903とを備えている。管理/先行計算用プログラム900は、処理入力手段101と、処理分割手段102と、通信手段103と、結果比較手段104と、状態比較手段105と、結果出力手段106と、計算手段113と、状態保存手段114とを実現する。   The management / preceding computer 100 includes a management / preceding calculation program 900, a processing target program 901, a processing result 902, and a confirmation computer list 903. The management / advance calculation program 900 includes a process input unit 101, a process division unit 102, a communication unit 103, a result comparison unit 104, a state comparison unit 105, a result output unit 106, a calculation unit 113, a state The storage unit 114 is realized.

確認計算機120は、確認計算用プログラム920を備えている。確認計算用プログラム920は、通信手段121と、状態復元手段122と、計算手段123と、状態保存手段124とを実現する。   The confirmation computer 120 includes a confirmation calculation program 920. The confirmation calculation program 920 implements a communication unit 121, a state restoration unit 122, a calculation unit 123, and a state storage unit 124.

また、図11に示すように、処理対象プログラム901は、分割可能な複数の処理A1001、処理Z1002から構成される。また、図12に示すように、確認計算機リスト903は、本発明の分割冗長実行システムが利用可能な確認計算機120a、120zのリストを保持する。   As shown in FIG. 11, the processing target program 901 includes a plurality of processes A1001 and Z1002 that can be divided. As shown in FIG. 12, the confirmation computer list 903 holds a list of confirmation computers 120a and 120z that can be used by the divided redundant execution system of the present invention.

次に、本実施例の動作について説明する。
初めに、処理分割手段102が、本システムの入力として処理対象プログラム901を受け付ける。処理分割手段102は、これを、確認計算機リスト903が保持している確認計算機の数に分割する。ここでは、図12に示すように、確認計算機リスト903には、2つの確認計算機120a、120zが含まれるため、2つに分割する。処理分割手段102は、分割の結果、図11に示すように、管理/先行計算機用プログラム分割区間(1)1011と、管理/先行計算機用プログラム分割区間(2)1012と、確認計算機用プログラム分割区間(1)1021と、確認計算機用プログラム分割区間(2)1022とを作成する。
Next, the operation of this embodiment will be described.
First, the process dividing unit 102 accepts a process target program 901 as an input of this system. The process dividing unit 102 divides this into the number of confirmation computers held in the confirmation computer list 903. Here, as shown in FIG. 12, since the confirmation computer list 903 includes two confirmation computers 120a and 120z, it is divided into two. As shown in FIG. 11, the process dividing unit 102, as shown in FIG. 11, manages / preceding computer program division section (1) 1011, management / preceding computer program division section (2) 1012, and confirmation computer program division. A section (1) 1021 and a confirmation computer program division section (2) 1022 are created.

管理/先行計算機用プログラム分割区間(1)1011と、管理/先行計算機用プログラム分割区間(2)1012とは、計算手段113に供給される。確認計算機用プログラム分割区間(1)1021は、通信手段103を通して確認計算機リスト903にある確認計算機120aに送信される。また、確認計算機用プログラム分割区間(2)1022は、通信手段103を通して確認計算機リスト903にある確認計算機120zに送信される。   The management / preceding computer program division section (1) 1011 and the management / preceding computer program division section (2) 1012 are supplied to the calculation means 113. The confirmation computer program divided section (1) 1021 is transmitted to the confirmation computer 120a in the confirmation computer list 903 through the communication means 103. Further, the confirmation computer program division section (2) 1022 is transmitted to the confirmation computer 120z in the confirmation computer list 903 through the communication means 103.

計算手段113は、受信した管理/先行計算機用プログラム分割区間(1)1011を実行し、処理Aを行ったあと、状態保存処理1003を行う。状態保存処理1003では、状態保存手段114がこの時点での処理状態を全て保存し、状態比較手段105に供給する。この処理状態を状態Aとする。通信手段103は、該状態Aを確認計算機リスト903にある確認計算機120zに送信する。次に、計算手段113は、続けて管理/先行計算機用プログラム分割区間(2)1012を実行し、処理が全て終わった時点で、計算結果を結果比較手段104に供給する。この計算結果を結果Zとする。   The calculation unit 113 executes the received management / preceding computer program division section (1) 1011, performs the process A, and then performs the state storage process 1003. In the state storage processing 1003, the state storage unit 114 stores all the processing states at this time and supplies them to the state comparison unit 105. This processing state is referred to as state A. The communication unit 103 transmits the state A to the confirmation computer 120z in the confirmation computer list 903. Next, the calculation means 113 continues to execute the management / preceding computer program division section (2) 1012 and supplies the calculation result to the result comparison means 104 when all the processing is completed. Let this calculation result be a result Z.

確認計算機120aは、確認計算機用プログラム分割区間(1)1021を受信すると、これを実行し、処理Aを行ったあと、状態保存処理1003を行う。状態保存処理1003では、状態保存手段124aがこの時点での処理状態を全て保存する。これを状態A´とする。通信手段121aは、該状態A´を、処理の送信元である管理/先行計算機100に送信する。   When the confirmation computer 120a receives the confirmation computer program division section (1) 1021, the confirmation computer 120a executes this, performs processing A, and then performs state storage processing 1003. In the state storage process 1003, the state storage unit 124a stores all the processing states at this time. This is referred to as state A ′. The communication unit 121a transmits the state A ′ to the management / preceding computer 100 that is the transmission source of the process.

一方、確認計算機120zは、確認計算機用プログラム分割区間(2)1022を受信すると、これを実行し、状態復元処理1004を行う。状態復元処理1004では、状態保存手段114が処理状態Aを送信してくるのを待ち、これを受信すると、状態復元手段122zが状態Aを計算手段123zに供給する。次に、計算手段123zは、処理Z1002を実行し、処理が全て終わった時点で、計算結果を、通信手段121zを通して、処理の送信元である管理/先行計算機100に送信する。この計算結果を結果Z´とする。   On the other hand, when the confirmation computer 120z receives the confirmation computer program division section (2) 1022, the confirmation computer 120z executes this and executes state restoration processing 1004. In the state restoration processing 1004, the state storage unit 114 waits for the processing state A to be transmitted, and when this is received, the state restoration unit 122z supplies the state A to the calculation unit 123z. Next, the calculation unit 123z executes the process Z1002, and when all the processes are completed, the calculation unit 123z transmits the calculation result to the management / preceding computer 100 that is the transmission source of the process through the communication unit 121z. This calculation result is defined as a result Z ′.

管理/先行計算機100は、通信手段103により、確認計算機121aからの状態A´を受信すると、これを状態比較手段105に供給する。また、管理/先行計算機100は、通信手段103により、確認計算機121zからの結果Z´を受信すると、これを結果比較手段104に送信する。状態比較手段105は、状態Aと状態A´とを比較し、一致していれば、エラーなしを結果出力手段106に通知し、一致していなければ、エラーを結果出力手段106に通知する。また、結果比較手段104は、結果Zと結果Z´とを比較し、一致していれば、エラーなし、更に結果Zを結果出力手段106に通知し、一致していなければ、エラーを結果出力手段106に通知する。   When the management / preceding computer 100 receives the state A ′ from the confirmation computer 121 a via the communication unit 103, the management / preceding computer 100 supplies this to the state comparison unit 105. When the management / preceding computer 100 receives the result Z ′ from the confirmation computer 121 z via the communication unit 103, the management / preceding computer 100 transmits the result Z ′ to the result comparison unit 104. The state comparison unit 105 compares the state A and the state A ′. If they match, the state comparison unit 105 notifies the result output unit 106 of no error, and if they do not match, notifies the result output unit 106 of an error. Further, the result comparison means 104 compares the result Z with the result Z ′, and if they match, there is no error, further notifies the result output means 106 of the result Z, and if they do not match, outputs an error as a result. The means 106 is notified.

結果出力手段106は、結果比較手段104、及び状態比較手段105からの通知のどちらかがエラーであった場合には、処理結果902としてエラーを記録する一方、結果比較手段104、及び状態比較手段105からの通知のどちらもエラーでない場合には、処理結果902として結果Zを記録する。   The result output unit 106 records an error as the processing result 902 when either of the notifications from the result comparison unit 104 and the state comparison unit 105 is an error, while the result comparison unit 104 and the state comparison unit If neither of the notifications from 105 is an error, the result Z is recorded as the processing result 902.

本発明によれば、計算に確認を必要とする科学技術計算用計算機といった用途に適用できる。   INDUSTRIAL APPLICABILITY According to the present invention, the present invention can be applied to applications such as scientific and technical computing computers that require confirmation for calculation.

本発明の第1の実施形態による冗長実行システムの構成を示すブロック図である。It is a block diagram which shows the structure of the redundant execution system by the 1st Embodiment of this invention. 本第1の実施形態の管理/先行計算機100の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the management / preceding computer 100 of the 1st embodiment. 本第1の実施形態の管理/先行計算機100で行われる先行計算の動作を説明するためのフローチャートである。It is a flowchart for demonstrating the operation | movement of the preceding calculation performed with the management / preceding computer 100 of this 1st Embodiment. 各々、本第1の実施形態の確認計算機120a、120zの動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the confirmation computers 120a and 120z of this 1st Embodiment, respectively. 本第2の実施形態による冗長実行システムの構成を示すブロック図である。It is a block diagram which shows the structure of the redundant execution system by the 2nd embodiment. 本第2の実施形態の確認計算機120b〜120yの動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the confirmation computers 120b-120y of the 2nd embodiment. 本第3の実施形態による冗長実行システムの構成を示すブロック図である。It is a block diagram which shows the structure of the redundant execution system by the 3rd Embodiment. 本第4の実施形態による冗長実行システムの構成を示すブロック図である。It is a block diagram which shows the structure of the redundant execution system by the 4th embodiment. 本第4の実施形態の管理計算機400の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the management computer 400 of the 4th embodiment. 本具体的な実施例の冗長実行システムの構成を示すブロック図である。It is a block diagram which shows the structure of the redundant execution system of this specific Example. 冗長実行システムでの動作を説明するための、プログラム、処理内容を示す概念図である。It is a conceptual diagram which shows the program for describing operation | movement in a redundant execution system, and the content of a process. 冗長実行システムでの動作を説明するための、確認計算機リストを示す概念図である。It is a conceptual diagram which shows the confirmation computer list for demonstrating operation | movement in a redundant execution system.

符号の説明Explanation of symbols

100 管理/先行計算機
101 処理入力手段
102 処理分割手段
103 通信手段
104 結果比較手段
105 状態比較手段
106 結果出力手段
113 計算手段
114 状態保存手段
120 確認計算機
121 通信手段
122 状態復元手段
123 計算手段
124 状態保存手段
300 管理計算機
303 通信手段
310 先行計算機
311 通信手段
320 確認計算機
321 通信手段
400 管理計算機
403 通信手段
407 送信先決定手段
410 先行計算機
411 通信手段
420 確認計算機
421 通信手段
900 管理/先行計算用プログラム
901 処理対象プログラム
902 処理結果
903 確認計算機リスト
920 確認計算用プログラム
1001 処理A
1002 処理Z
1003 状態保存処理
1004 状態復元処理
1011 管理/先行計算機用プログラム分割区間(1)
1012 管理/先行計算機用プログラム分割区間(2)
1021 確認計算機用プログラム分割区間(1)
1022 確認計算機用プログラム分割区間(2)
DESCRIPTION OF SYMBOLS 100 Management / preceding computer 101 Process input means 102 Process division means 103 Communication means 104 Result comparison means 105 State comparison means 106 Result output means 113 Calculation means 114 State storage means 120 Confirmation computer 121 Communication means 122 State restoration means 123 Calculation means 124 State Storage means 300 Management computer 303 Communication means 310 Predecessor computer 311 Communication means 320 Confirmation computer 321 Communication means 400 Management computer 403 Communication means 407 Destination determination means 410 Predecessor computer 411 Communication means 420 Confirmation computer 421 Communication means 900 Management / advance calculation program 901 Processing target program 902 Processing result 903 Confirmation computer list 920 Confirmation calculation program 1001 Processing A
1002 Processing Z
1003 State saving processing 1004 State restoration processing 1011 Management / advanced computer program division section (1)
1012 Management / advanced computer program section (2)
1021 Program segment for confirmation computer (1)
1022 Program segment for confirmation computer (2)

Claims (22)

処理内容の全てを計算する管理/先行計算機と、処理内容の一部を計算する複数の確認計算機とからなる分割冗長実行システムであって、
前記管理/先行計算機は、
処理内容の入力を受け付ける処理入力手段と、
前記受け付けた処理内容を2つ以上の処理内容に分割する処理分割手段と、
前記処理内容の全てを計算する第1の計算手段とを備え、
前記複数の確認計算機は、
前記分割された処理内容を、分割単位毎に計算する第2の計算手段を備え、
前記管理/先行計算機は、
同一分割処理内容に対する、前記第1の計算手段による計算結果と、前記第2の計算手段による計算結果とを比較する結果比較手段と、
同一分割処理内容に対する、前記第1の計算手段による処理状態と、前記第2の計算手段による処理状態とを比較する状態比較手段と、
前記結果比較手段と前記状態比較手段との双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する結果出力手段と
を更に備えたことを特徴とする分割冗長実行システム。
A divided redundant execution system comprising a management / preceding computer for calculating all of the processing contents and a plurality of confirmation computers for calculating a part of the processing contents,
The management / preceding computer is:
A process input means for accepting input of process details;
A process dividing means for dividing the received process contents into two or more process contents;
First calculating means for calculating all of the processing contents,
The plurality of confirmation calculators are:
A second calculation means for calculating the divided processing content for each division unit;
The management / preceding computer is:
A result comparison unit that compares a calculation result by the first calculation unit and a calculation result by the second calculation unit with respect to the same division processing content;
A state comparison unit that compares the processing state by the first calculation unit and the processing state by the second calculation unit with respect to the same division processing content;
A divided redundant execution system, further comprising: result output means for outputting a result indicating whether or not the calculation is correctly performed based on a comparison result of both the result comparison means and the state comparison means.
処理内容の全てを計算する管理/先行計算機と、処理内容の一部を計算する複数の確認計算機とからなる分割冗長実行システムであって、
前記管理/先行計算機は、
処理内容の入力を受け付ける処理入力手段と、
前記受け付けた処理内容を2つ以上の処理内容に分割する処理分割手段と、
前記処理内容の全てを計算する第1の計算手段と、
前記第1の計算手段による計算途中の処理状態を任意の時点で保存する第1の状態保存手段とを備え、
前記複数の確認計算機は、少なくとも、
前記分割された処理内容の一部を計算する第2の計算手段と、
前記第2の計算手段による計算完了時点の処理状態を保存する第2の状態保存手段とを備える第1の確認計算機と、
前記第1の状態保存手段で保存した処理状態を利用して計算途中の処理状態を復元する状態復元手段と、
前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算する第3の計算手段とを備える第2の確認計算機とからなり、
前記管理/先行計算機は、
同一分割処理内容に対する、前記第1の計算手段による計算結果と、前記第3の計算手段による計算結果とを比較する結果比較手段と、
同一分割処理内容に対する、前記第1の状態保存手段で保存した処理状態と、前記第2の状態保存手段で保存した処理状態とを比較する状態比較手段と、
前記結果比較手段と前記状態比較手段との双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する結果出力手段と
を備えたことを特徴とする分割冗長実行システム。
A divided redundant execution system comprising a management / preceding computer for calculating all of the processing contents and a plurality of confirmation computers for calculating a part of the processing contents,
The management / preceding computer is:
A process input means for accepting input of process details;
A process dividing means for dividing the received process contents into two or more process contents;
First calculating means for calculating all of the processing contents;
First state storage means for storing a processing state during calculation by the first calculation means at an arbitrary time point;
The plurality of confirmation computers is at least
Second calculation means for calculating a part of the divided processing contents;
A first confirmation computer comprising second state storage means for storing a processing state at the time of completion of calculation by the second calculation means;
State restoring means for restoring a processing state in the middle of calculation using the processing state saved by the first state saving means;
A second check computer comprising a third calculation means for calculating another part of the divided processing contents using the restored processing state,
The management / preceding computer is:
A result comparison unit that compares a calculation result by the first calculation unit and a calculation result by the third calculation unit with respect to the same division processing content;
A state comparison unit that compares the processing state stored by the first state storage unit and the processing state stored by the second state storage unit with respect to the same divided processing content;
A divided redundant execution system comprising: a result output means for outputting a result indicating whether or not the calculation is correctly performed based on a comparison result of both the result comparison means and the state comparison means.
処理内容の全てを計算する管理/先行計算機と、処理内容の一部を計算する複数の確認計算機とからなる分割冗長実行システムであって、
前記管理/先行計算機は、
処理内容の入力を受け付ける処理入力手段と、
前記受け付けた処理内容を2つ以上の処理内容に分割する処理分割手段と、
前記処理内容の全てを計算する第1の計算手段と、
前記第1の計算手段による計算途中の処理状態を任意の時点で保存する第1の状態保存手段とを備え、
前記複数の確認計算機は、少なくとも、
前記分割された処理内容の一部を計算する第2の計算手段と、
前記第2の計算手段による計算完了時点の処理状態を保存する第2の状態保存手段とを備える第1の確認計算機と、
前記第1の状態保存手段で保存した処理状態を利用して計算途中の処理状態を復元する第1の状態復元手段と、
前記第1の状態復元手段で復元した処理状態を用いて前記分割された処理内容の他の一部を計算する第3の計算手段とを備える第2の確認計算機と、
前記第1の状態保存手段で保存した他の処理状態を利用して計算途中の処理状態を復元する第2の状態復元手段と、
前記第2の状態復元手段で復元した処理状態を用いて前記分割された処理内容の他の一部を計算する第4の計算手段と、
前記第4の計算手段による計算完了時点の処理状態を保存する第3の状態保存手段とを備える第3の確認計算機とからなり、
前記管理/先行計算機は、
同一分割処理内容に対する、前記第1の計算手段による計算結果と、前記第3の計算手段による計算結果とを比較する結果比較手段と、
同一分割処理内容に対する、前記第1の状態保存手段で保存した処理状態と、前記第2の状態保存手段で保存した処理状態とを比較し、更に、前記第1の状態保存手段で保存した処理状態と、前記第3の状態保存手段で保存した処理状態とを比較する状態比較手段と、
前記結果比較手段と前記状態比較手段との双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する結果出力手段と
を備えたことを特徴とする分割冗長実行システム。
A divided redundant execution system comprising a management / preceding computer for calculating all of the processing contents and a plurality of confirmation computers for calculating a part of the processing contents,
The management / preceding computer is:
A process input means for accepting input of process details;
A process dividing means for dividing the received process contents into two or more process contents;
First calculating means for calculating all of the processing contents;
First state storage means for storing a processing state during calculation by the first calculation means at an arbitrary time point;
The plurality of confirmation computers is at least
Second calculation means for calculating a part of the divided processing contents;
A first confirmation computer comprising second state storage means for storing a processing state at the time of completion of calculation by the second calculation means;
First state restoring means for restoring a processing state during calculation using the processing state saved by the first state saving means;
A second confirmation computer comprising: third calculation means for calculating another part of the divided processing contents using the processing state restored by the first state restoration means;
Second state restoring means for restoring a processing state during calculation using another processing state saved by the first state saving means;
Fourth calculating means for calculating another part of the divided processing contents using the processing state restored by the second state restoring means;
A third confirmation computer comprising third state storage means for storing a processing state at the time of completion of calculation by the fourth calculation means,
The management / preceding computer is:
A result comparison unit that compares a calculation result by the first calculation unit and a calculation result by the third calculation unit with respect to the same division processing content;
The processing state stored by the first state storage unit and the processing state stored by the second state storage unit for the same divided processing content are compared, and further the processing stored by the first state storage unit State comparing means for comparing the state and the processing state stored by the third state storing means;
A divided redundant execution system comprising: a result output means for outputting a result indicating whether or not the calculation is correctly performed based on a comparison result of both the result comparison means and the state comparison means.
前記管理/先行計算機は、別体に設けられた管理計算機と先行計算機とからなり、
前記管理計算機は、
前記処理入力手段と、前記処理分割手段と、前記結果比較手段と、前記状態比較手段と、前記結果出力手段と、更に、前記先行計算機及び前記複数の確認計算機との間で情報を送受信する第1の通信手段とを備え、
前記先行計算機は、
前記第1の計算手段と、更に、前記管理計算機との間で情報を送受信する第2の通信手段とを備える
ことを特徴とする請求項1記載の分割冗長実行システム。
The management / preceding computer consists of a management computer and a preceding computer provided separately,
The management computer is
The process input means, the process division means, the result comparison means, the state comparison means, the result output means, and the first computer for transmitting and receiving information between the preceding computer and the plurality of confirmation computers. 1 communication means,
The preceding computer is
The split redundant execution system according to claim 1, further comprising: a first communication unit that further transmits and receives information to and from the management computer.
前記管理/先行計算機は、別体に設けられた管理計算機と先行計算機とからなり、
前記管理計算機は、
前記処理入力手段と、前記処理分割手段と、前記結果比較手段と、前記状態比較手段と、前記結果出力手段と、更に、前記先行計算機と前記複数の確認計算機との間で、分割された処理内容、処理結果、及び処理状態を送受信する第1の通信手段とを備え、
前記先行計算機は、
前記第1の計算手段と、前記第1の状態保存手段と、更に、前記管理計算機との間で、分割された処理内容、処理結果、及び処理状態を送受信する第2の通信手段とを備える
ことを特徴とする請求項2または3記載の分割冗長実行システム。
The management / preceding computer consists of a management computer and a preceding computer provided separately,
The management computer is
Processes divided between the process input means, the process dividing means, the result comparing means, the state comparing means, the result outputting means, and the preceding computer and the plurality of confirmation computers. A first communication means for transmitting and receiving contents, processing results, and processing states;
The preceding computer is
The first calculation means, the first state storage means, and a second communication means for transmitting and receiving divided processing contents, processing results, and processing states to and from the management computer. 4. The divided redundant execution system according to claim 2, wherein the divided redundant execution system is used.
前記処理分割手段は、
前記受け付けた処理内容を時間軸方向に2つ以上の処理に分割することを特徴とする請求項1乃至5のいずれかに記載の分割冗長実行システム。
The process dividing means includes
6. The divided redundant execution system according to claim 1, wherein the received processing content is divided into two or more processes in the time axis direction.
前記管理/先行計算機は、
前記第1の状態保存手段に保存した処理状態を送信する時点で、送信先の確認計算機を決定する送信先決定手段を更に備えたことを特徴とする請求項1乃至3、または6のいずれかに記載の分割冗長実行システム。
The management / preceding computer is:
7. The transmission apparatus according to claim 1, further comprising a transmission destination determination unit that determines a transmission destination confirmation computer at the time of transmitting the processing state stored in the first state storage unit. Split redundant execution system described in 1.
前記管理計算機は、前記保存した処理状態を送信する時点で、送信先の確認計算機を決定する送信先決定手段を更に備えたことを特徴とする請求項5記載の分割冗長実行システム。   6. The divided redundant execution system according to claim 5, wherein the management computer further comprises a transmission destination determination means for determining a transmission destination confirmation computer at the time of transmitting the stored processing state. 管理/先行計算機により処理内容の全てを計算し、複数の確認計算機により前記処理内容の一部を計算する分割冗長実行方法であって、
前記管理/先行計算機で処理内容を2つ以上の処理内容に分割するステップと、
前記分割された処理内容の全てを前記管理/先行計算機で計算するステップと、
前記分割された処理内容を、分割単位毎に前記複数の確認計算機で計算するステップと、
前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機での計算結果と前記複数の確認計算機の計算結果とを比較するステップと、
前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機での計算途中の処理状態と前記複数の確認計算機での処理状態とを比較するステップと、
前記管理/先行計算機で、前記双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力するステップと
を含むことを特徴とする分割冗長実行方法。
A division / redundant execution method for calculating all of the processing contents by a management / preceding computer and calculating a part of the processing contents by a plurality of confirmation computers,
Dividing the processing contents into two or more processing contents in the management / preceding computer;
Calculating all of the divided processing contents with the management / preceding computer;
Calculating the divided processing contents by the plurality of confirmation computers for each division unit;
A step of comparing the calculation result of the management / preceding computer and the calculation results of the plurality of confirmation computers with respect to the same division processing content in the management / preceding computer;
In the management / preceding computer, for the same split processing content, comparing the processing state in the middle of calculation in the management / preceding computer with the processing state in the plurality of confirmation computers;
And a step of outputting a result as to whether or not the calculation is correctly performed based on the comparison result of the both in the management / preceding computer.
管理/先行計算機により処理内容の全てを計算し、複数の確認計算機により前記処理内容の一部を計算する分割冗長実行方法であって、
前記管理/先行計算機で、処理内容の入力を受け付けるステップと、
前記管理/先行計算機で、前記受け付けた処理内容を2つ以上の処理内容に分割するステップと、
前記管理/先行計算機で、前記処理内容の全てを計算するステップと、
前記管理/先行計算機で、前記計算途中の処理状態を任意の時点で保存するステップと、
前記複数の確認計算機のうち、少なくとも第1の確認計算機で、前記分割された処理内容の一部を計算するステップと、
前記第1の確認計算機で、前記処理内容の一部の計算完了時点の処理状態を保存するステップと、
前記複数の確認計算機のうち、少なくとも第2の確認計算機で、前記管理/先行計算機で保存した処理状態を利用して計算途中の処理状態を復元するステップと、
前記第2の確認計算機で、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算するステップと、
前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機による計算結果と、前記第2の確認計算機による計算結果とを比較するステップと、
前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機で保存した処理状態と、前記第1の確認計算機で保存した処理状態とを比較するステップと、
前記管理/先行計算機で、前記双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力するステップと
を含むことを特徴とする分割冗長実行方法。
A division / redundant execution method for calculating all of the processing contents by a management / preceding computer and calculating a part of the processing contents by a plurality of confirmation computers,
A step of receiving an input of processing contents in the management / preceding computer;
Dividing the received processing contents into two or more processing contents in the management / preceding computer;
Calculating all of the processing contents in the management / preceding computer;
In the management / preceding computer, storing a processing state during the calculation at an arbitrary time point;
Calculating a part of the divided processing contents in at least a first confirmation computer among the plurality of confirmation computers;
In the first confirmation computer, storing a processing state at the time of completion of calculation of a part of the processing content;
Restoring the processing state in the middle of calculation using the processing state saved in the management / preceding computer at least in the second confirmation computer among the plurality of confirmation computers;
Calculating another part of the divided processing contents using the restored processing state in the second confirmation computer;
A step of comparing the calculation result by the management / preceding computer with the calculation result by the second confirmation computer for the same split processing content in the management / preceding computer;
Comparing the processing state saved in the management / preceding computer and the processing state saved in the first confirmation computer for the same split processing content in the management / preceding computer;
And a step of outputting a result as to whether or not the calculation is correctly performed based on the comparison result of the both in the management / preceding computer.
管理/先行計算機により処理内容の全てを計算し、複数の確認計算機により前記処理内容の一部を計算する分割冗長実行方法であって、
前記管理/先行計算機で、処理内容の入力を受け付けるステップと、
前記管理/先行計算機で、前記受け付けた処理内容を2つ以上の処理内容に分割するステップと、
前記管理/先行計算機で、前記処理内容の全てを計算するステップと、
前記管理/先行計算機で、前記計算手段による計算途中の処理状態を任意の時点で保存するステップと、
前記複数の確認計算機のうち、少なくとも第1の確認計算機で、前記分割された処理内容の一部を計算するステップと、
前記第1の確認計算機で、前記処理内容の一部の計算完了時点の処理状態を保存するステップと、
前記複数の確認計算機のうち、少なくとも第2の確認計算機で、前記管理/先行計算機で保存した処理状態を利用して計算途中の処理状態を復元するステップと、
前記第2の確認計算機で、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算するステップと、
前記複数の確認計算機のうち、少なくとも第3の確認計算機で、前記管理/先行計算機で保存した他の処理状態を利用して計算途中の処理状態を復元するステップと、
前記第3の確認計算機で、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算するステップと、
前記第3の確認計算機で、前記計算された他の一部の計算完了時点の処理状態を保存するステップと、
前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機による計算結果と、前記第2の確認計算機による計算結果とを比較するステップと、
前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機で保存した処理状態と、前記第1の確認計算機で保存した処理状態とを比較し、更に、前記管理/先行計算機で保存した処理状態と、前記第2の確認計算機で保存した処理状態とを比較するステップと、
前記管理/先行計算機で、前記双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力するステップと
を含むことを特徴とする分割冗長実行方法。
A division / redundant execution method for calculating all of the processing contents by a management / preceding computer and calculating a part of the processing contents by a plurality of confirmation computers,
A step of receiving an input of processing contents in the management / preceding computer;
Dividing the received processing contents into two or more processing contents in the management / preceding computer;
Calculating all of the processing contents in the management / preceding computer;
In the management / preceding computer, storing a processing state in the middle of calculation by the calculation means at an arbitrary time point;
Calculating a part of the divided processing contents in at least a first confirmation computer among the plurality of confirmation computers;
In the first confirmation computer, storing a processing state at the time of completion of calculation of a part of the processing content;
Restoring the processing state in the middle of calculation using the processing state saved in the management / preceding computer at least in the second confirmation computer among the plurality of confirmation computers;
Calculating another part of the divided processing contents using the restored processing state in the second confirmation computer;
A step of restoring a processing state in the middle of calculation using another processing state saved in the management / preceding computer in at least a third confirmation computer among the plurality of confirmation computers;
Calculating another part of the divided processing content using the restored processing state in the third confirmation computer;
In the third confirmation computer, storing the calculated processing state at the time of completion of the other part of the calculation;
A step of comparing the calculation result by the management / preceding computer with the calculation result by the second confirmation computer for the same split processing content in the management / preceding computer;
The management / preceding computer compares the processing state saved in the management / preceding computer with the processing state saved in the first confirmation computer for the same divided processing content, and further saved in the management / preceding computer. Comparing the processed state with the processed state stored in the second confirmation computer;
And a step of outputting a result as to whether or not the calculation is correctly performed based on the comparison result of the both in the management / preceding computer.
前記処理内容を分割するステップは、
前記受け付けた処理内容を時間軸方向に2つ以上の処理に分割することを特徴とする請求項9乃至11のいずれかに記載の分割冗長実行方法。
The step of dividing the processing content includes:
12. The divided redundancy execution method according to claim 9, wherein the received process content is divided into two or more processes in the time axis direction.
前記処管理/先行計算機は、
前記保存した処理状態を送信する時点で、送信先の確認計算機を決定するステップを更に含むことを特徴とする請求項9乃至12のいずれかに記載の分割冗長実行方法。
The process management / preceding computer is:
13. The divided redundancy execution method according to claim 9, further comprising a step of determining a destination confirmation computer at the time of transmitting the stored processing state.
処理内容の全てを管理/先行計算機により計算し、前記処理内容の一部を複数の確認計算機により計算するコンピュータに、
前記管理/先行計算機で処理内容を2つ以上の処理内容に分割する処理分割処理と、
前記分割された処理内容の全てを前記管理/先行計算機で計算する第1の計算処理と、
前記分割された処理内容を、分割単位毎に前記複数の確認計算機で計算する第2の計算処理と、
前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機での計算結果と前記複数の確認計算機での計算結果とを比較する結果比較処理と、
前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機での計算途中の処理状態と前記複数の確認計算機での処理状態とを比較する状態比較処理と、
前記管理/先行計算機で、前記双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する出力処理と
を実行させるためのプログラム。
A computer that calculates all of the processing contents by a management / preceding computer, and calculates a part of the processing contents by a plurality of confirmation computers,
A process dividing process for dividing the process contents into two or more process contents in the management / preceding computer;
A first calculation process for calculating all of the divided processing contents by the management / preceding computer;
A second calculation process for calculating the divided processing contents by the plurality of confirmation computers for each division unit;
In the management / preceding computer, a result comparison process for comparing a calculation result in the management / preceding computer and a calculation result in the plurality of confirmation computers with respect to the same division processing content;
In the management / preceding computer, a state comparison process for comparing the processing state in the middle of the calculation in the management / preceding computer and the processing states in the plurality of confirmation computers for the same division processing content,
A program for causing the management / advanced computer to execute an output process for outputting a result indicating whether or not the calculation is correctly performed based on the comparison result of the both.
処理内容の全てを管理/先行計算機により計算し、前記処理内容の一部を複数の確認計算機により計算するコンピュータに、
前記管理/先行計算機で、処理内容の入力を受け付ける処理入力処理と、
前記管理/先行計算機で、前記受け付けた処理内容を2つ以上の処理内容に分割する処理分割処理と、
前記管理/先行計算機で、前記処理内容の全てを計算する第1の計算処理と、
前記管理/先行計算機で、前記計算途中の処理状態を任意の時点で保存する第1の状態保存処理と、
前記複数の確認計算機のうち、少なくとも第1の確認計算機で、前記分割された処理内容の一部を計算する第2の計算処理と、
前記第1の確認計算機で、前記処理内容の一部の計算完了時点の処理状態を保存する第2の状態保存処理と、
前記複数の確認計算機のうち、少なくとも第2の確認計算機で、前記管理/先行計算機で保存した処理状態を利用して計算途中の処理状態を復元する状態復元処理と、
前記第2の確認計算機で、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算する第3の計算処理と、
前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機による計算結果と、前記第2の確認計算機による計算結果とを比較する結果比較処理と、
前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機で保存した処理状態と、前記第1の確認計算機で保存した処理状態とを比較する状態比較処理と、
前記管理/先行計算機で、前記の双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する出力処理と
を実行させるためのプログラム。
A computer that calculates all of the processing contents by a management / preceding computer, and calculates a part of the processing contents by a plurality of confirmation computers,
A process input process for receiving an input of process contents in the management / preceding computer;
In the management / preceding computer, a process dividing process for dividing the received process contents into two or more process contents;
A first calculation process for calculating all of the processing contents in the management / preceding computer;
In the management / preceding computer, a first state storage process for storing the processing state during the calculation at an arbitrary time point;
A second calculation process for calculating a part of the divided processing contents in at least a first check computer among the plurality of check computers;
A second state storage process for storing a processing state at the time of completion of calculation of a part of the processing content in the first confirmation computer;
Among the plurality of confirmation computers, at least a second confirmation computer, a state restoration process for restoring a processing state in the middle of calculation using a processing state saved by the management / preceding computer;
A third calculation process for calculating another part of the divided processing contents using the restored processing state in the second confirmation computer;
In the management / preceding computer, a result comparison process for comparing the calculation result by the management / preceding computer and the calculation result by the second confirmation computer for the same division processing content;
A state comparison process for comparing the processing state saved in the management / preceding computer with the processing state saved in the first confirmation computer for the same split processing content in the management / preceding computer;
A program for causing the management / advanced computer to execute an output process for outputting a result indicating whether or not the calculation has been correctly performed based on both the comparison results.
処理内容の全てを管理/先行計算機により計算し、前記処理内容の一部を複数の確認計算機により計算するコンピュータに、
前記管理/先行計算機で、処理内容の入力を受け付ける処理入力処理と、
前記管理/先行計算機で、前記受け付けた処理内容を2つ以上の処理内容に分割する処理分割処理と、
前記管理/先行計算機で、前記処理内容の全てを計算する第1の計算処理と、
前記管理/先行計算機で、前記第1の計算処理による計算途中の処理状態を任意の時点で保存する第1の状態保存処理と、
前記複数の確認計算機のうち、少なくとも第1の確認計算機で、前記分割された処理内容の一部を計算する第2の計算処理と、
前記第1の確認計算機で、前記処理内容の一部の計算完了時点の処理状態を保存する第2の状態保存処理と、
前記複数の確認計算機のうち、少なくとも第2の確認計算機で、前記管理/先行計算機で保存した処理状態を利用して計算途中の処理状態を復元する第1の状態復元処理と、
前記第2の確認計算機で、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算する第3の計算処理と、
前記複数の確認計算機のうち、少なくとも第3の確認計算機で、前記管理/先行計算機で保存した他の処理状態を利用して計算途中の処理状態を復元する第2の状態復元処理と、
前記第3の確認計算機で、前記復元した処理状態を用いて前記分割された処理内容の他の一部を計算する第4の計算処理と、
前記第3の確認計算機で、前記計算された他の一部の計算完了時点の処理状態を保存する第3の状態保存処理と、
前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機による計算結果と、前記第2の確認計算機による計算結果とを比較する結果比較処理と、
前記管理/先行計算機で、同一分割処理内容に対する、前記管理/先行計算機で保存した処理状態と、前記第1の確認計算機で保存した処理状態とを比較し、更に、前記管理/先行計算機で保存した処理状態と、前記第2の確認計算機で保存した処理状態とを比較する状態比較処理と、
前記管理/先行計算機で、前記双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する結果出力処理と
を実行させるためのプログラム。
A computer that calculates all of the processing contents by a management / preceding computer, and calculates a part of the processing contents by a plurality of confirmation computers,
A process input process for receiving an input of process contents in the management / preceding computer;
In the management / preceding computer, a process dividing process for dividing the received process contents into two or more process contents;
A first calculation process for calculating all of the processing contents in the management / preceding computer;
A first state storage process for storing a processing state during calculation by the first calculation process at an arbitrary time in the management / preceding computer;
A second calculation process for calculating a part of the divided processing contents in at least a first check computer among the plurality of check computers;
A second state storage process for storing a processing state at the time of completion of calculation of a part of the processing content in the first confirmation computer;
A first state restoration process for restoring a processing state in the middle of the calculation using at least a second confirmation computer among the plurality of confirmation computers using a processing state saved in the management / preceding computer;
A third calculation process for calculating another part of the divided processing contents using the restored processing state in the second confirmation computer;
A second state restoration process for restoring a processing state in the middle of calculation using at least a third confirmation computer among the plurality of confirmation computers using another processing state saved by the management / preceding computer;
A fourth calculation process for calculating another part of the divided processing contents using the restored processing state in the third confirmation computer;
A third state storage process for storing a processing state at the time when the other part of the calculated calculation is completed in the third confirmation computer;
In the management / preceding computer, a result comparison process for comparing the calculation result by the management / preceding computer and the calculation result by the second confirmation computer for the same division processing content;
The management / preceding computer compares the processing state saved in the management / preceding computer with the processing state saved in the first confirmation computer for the same divided processing content, and further saved in the management / preceding computer. A state comparison process for comparing the processed state with the processing state stored in the second confirmation computer;
A program for causing the management / advanced computer to execute a result output process for outputting a result indicating whether or not the calculation has been correctly performed based on the comparison results of the two.
前記処理分割処理は、
前記処理内容を時間軸方向に2つ以上の処理に分割することを特徴とする請求項14乃至16のいずれかに記載のプログラム。
The process dividing process is:
The program according to any one of claims 14 to 16, wherein the processing content is divided into two or more processes in a time axis direction.
前記管理/先行計算機で、前記第1の状態保存処理で保存した処理状態を送信する時点で、送信先の確認計算機を決定する決定処理をコンピュータに更に実行させることを特徴とする請求項14乃至17のいずれかに記載のプログラム。   15. The control / advanced computer causes the computer to further execute a determination process for determining a destination confirmation computer at the time of transmitting the processing state saved in the first state saving process. The program according to any one of 17. 処理内容の入力を受け付ける処理入力手段と、
前記受け付けた処理内容を2つ以上の処理内容に分割する処理分割手段と、
前記処理内容の全てを計算する計算手段と、
外部の確認計算機により計算された、処理内容の一部の計算結果を受信するとともに、前記外部の確認計算機による計算完了後の処理状態を受信する受信手段と、
同一分割処理内容に対する、前記計算手段による計算結果と、前記受信手段により受信した前記外部の確認計算機による計算結果とを比較する結果比較手段と、
同一分割処理内容に対する、前記計算手段による処理状態と、前記受信手段により受信した前記外部の確認計算機による計算完了後の処理状態とを比較する状態比較手段と、
前記結果比較手段と前記状態比較手段との双方の比較結果に基づいて計算が正しく行われたか否かの結果を出力する結果出力手段と
を備えることを特徴とする計算機。
A process input means for accepting input of process details;
A process dividing means for dividing the received process contents into two or more process contents;
A calculation means for calculating all of the processing contents;
Receiving means for receiving a calculation result of a part of the processing content calculated by an external confirmation computer and receiving a processing state after completion of calculation by the external confirmation computer;
Result comparison means for comparing the calculation result by the calculation means with respect to the same division processing content and the calculation result by the external confirmation computer received by the reception means;
A state comparison unit that compares the processing state by the calculation unit with respect to the same division processing content and the processing state after completion of calculation by the external confirmation computer received by the reception unit;
And a result output means for outputting a result indicating whether or not the calculation is correctly performed based on a comparison result of both the result comparison means and the state comparison means.
分割された処理内容の一部を計算する計算手段と、
前記計算手段による計算完了時点の処理状態を保存する状態保存手段と
前記状態保存手段に保存された処理状態を送信する通信手段と
を備えることを特徴とする計算機。
A calculation means for calculating a part of the divided processing contents;
A computer comprising: a state storage unit that stores a processing state at the time when the calculation by the calculation unit is completed; and a communication unit that transmits the processing state stored in the state storage unit.
計算すべき分割された処理内容に対して外部で計算された際の処理状態を復元する状態復元手段と、
前記復元した処理状態を用いて前記分割された処理内容を計算する計算手段と、
前記計算手段による計算結果を送信する通信手段と
を備えることを特徴とする計算機。
A state restoring means for restoring the processing state when calculated externally for the divided processing content to be calculated;
Calculation means for calculating the content of the divided processing using the restored processing state;
And a communication means for transmitting a calculation result by the calculation means.
計算すべき分割された処理内容に対して外部で計算された際の処理状態を利用して計算途中の処理状態を復元する状態復元手段と、
前記復元した処理状態を用いて前記分割された処理内容の一部を計算する計算手段と、
前記計算手段による計算完了時点の処理状態を保存する状態保存手段と
を備えることを特徴とする計算機。
A state restoration means for restoring a processing state in the middle of calculation using a processing state at the time of external calculation for the divided processing content to be calculated;
Calculation means for calculating a part of the divided processing contents using the restored processing state;
And a state storage unit that stores a processing state at the time when the calculation by the calculation unit is completed.
JP2008293350A 2008-11-17 2008-11-17 System, method, and program for performing redundancy, and calculator Pending JP2010122731A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008293350A JP2010122731A (en) 2008-11-17 2008-11-17 System, method, and program for performing redundancy, and calculator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008293350A JP2010122731A (en) 2008-11-17 2008-11-17 System, method, and program for performing redundancy, and calculator

Publications (1)

Publication Number Publication Date
JP2010122731A true JP2010122731A (en) 2010-06-03

Family

ID=42324044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008293350A Pending JP2010122731A (en) 2008-11-17 2008-11-17 System, method, and program for performing redundancy, and calculator

Country Status (1)

Country Link
JP (1) JP2010122731A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103392173A (en) * 2011-03-10 2013-11-13 三菱电机株式会社 Redundant device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103392173A (en) * 2011-03-10 2013-11-13 三菱电机株式会社 Redundant device
DE112011105021T5 (en) 2011-03-10 2013-12-19 Mitsubishi Electric Corporation redundancy device
CN103392173B (en) * 2011-03-10 2016-05-18 三菱电机株式会社 redundant device
US9491228B2 (en) 2011-03-10 2016-11-08 Mitsubishi Electric Corporation Redundancy device

Similar Documents

Publication Publication Date Title
JP2019028865A (en) Information processing apparatus, information processing method, and information processing program
CN102736948B (en) Method for checkpointing and restoring program state
CN102630315B (en) Method and system for processing data for preventing deadlock
CN104137075A (en) Resource allocation method and apparatus of gpu
JP2005284351A (en) Real-time scheduling possibility determining method and real-time system
CN111190766A (en) HBase database-based cross-machine-room cluster disaster recovery method, device and system
CN106933736B (en) Method and system for continuously integrating projects
CN101901149A (en) The equipment of process information, method and program
CN104321764A (en) Performance of predicted actions
CN110673959A (en) System, method and apparatus for processing tasks
JP2006139621A (en) Multiprocessing system and multiprocessing method
CN110706147A (en) Image processing environment determination method and device, electronic equipment and storage medium
CN103885804A (en) System and method for dynamically loading multiple function items of FPGA
US9645867B2 (en) Shuffle optimization in map-reduce processing
US20110154292A1 (en) Structure based testing
US10268482B2 (en) Multi-slice processor issue of a dependent instruction in an issue queue based on issue of a producer instruction
JP2010122731A (en) System, method, and program for performing redundancy, and calculator
US20120023379A1 (en) Storage device, storage system, and control method
CN103136043A (en) Method, system and network node for transferring asynchronous input and output (IO)
WO2009050158A2 (en) Acquisition and expansion of storage area network interoperation relationships
US9063853B2 (en) Storage device, storage system, and method for controlling storage device
JP2002014809A (en) Microprocessor and assembler and its method and recording medium with its program recorded
CN115599507A (en) Data processing method, execution workstation, electronic device and storage medium
US20180074712A1 (en) Parallel processing device, method for controlling parallel processing device, and controller used in parallel processing device
CN106302573B (en) Method, system and device for processing data by adopting erasure code

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100709