JP2010122731A - System, method, and program for performing redundancy, and calculator - Google Patents
System, method, and program for performing redundancy, and calculator Download PDFInfo
- 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
Links
Images
Abstract
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の冗長実行システムでは、同一の処理内容を複数の計算手段で実行し、それぞれの計算結果を結果比較手段で比較することによって、演算結果が正しいかどうかを判断する。
しかしながら、上述した特許文献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
確認計算機120a、120zは、各々、通信手段121a、121zと、状態復元手段122a、122zと、計算手段123a、123zと、状態保存手段124a、124zとを備えている。但し、確認計算機120a、120zのうち、いずれか一方は、状態復元手段122a、または状態復元手段122zを備えていなくてもよく、また、他方は、状態保存手段124a、または124zを備えていなくてもよい。
The
上記構成において、処理入力手段101は、本冗長実行システムで処理する処理内容の入力を受け付ける。処理分割手段102は、処理入力手段101で受け付けた処理内容を時間軸方向に複数の区間に分割する。通信手段103は、後述する確認計算機120aの通信手段121a、及び確認計算機120zの通信手段121zとの間で、処理内容、処理結果、及び処理状態を送受信する。結果比較手段104は、計算手段113で計算された計算結果と、確認計算機120aの計算手段123a、及び確認計算機120zの計算手段123zで計算された計算結果とを比較して、一致していれば、計算結果を結果出力手段106に通知し、一致していなければ、エラーを結果出力手段106に通知する。
In the above configuration, the
状態比較手段105は、状態保存手段114で保存された処理状態と、確認計算機120aの状態保存手段124a、または確認計算機120zの状態保存手段124zで保存された処理状態とを比較して、一致していれば、エラーなしを結果出力手段106に通知し、一致していなければ、エラーありを結果出力手段106に通知する。結果出力手段106は、結果比較手段104と状態比較手段105とからの通知の双方がエラーでない場合、結果比較手段104から通知された計算結果をシステムの処理結果として出力する一方、結果比較手段104と状態比較手段105とからの通知のどちらか一方でもエラーであった場合、システムの処理結果としてエラーを出力する。
The
計算手段113は、処理分割手段102から処理内容を受けて計算し、処理分割手段102の分割によって作成された区間の切れ目に達すると、状態保存手段114に通知する。また、計算手段113は、全処理が終了すると、その計算結果を結果比較手段104に送信する。状態保存手段114は、計算手段113からの通知を受けて、その時点での計算手段113の処理状態を保存し、これを状態比較手段105に供給するとともに、通信手段103を通じて確認計算機120aの状態復元手段122a、または確認計算機120zの状態復元手段122zに送信する。
The
確認計算機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
次に、本第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
次に、計算手段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
次に、処理状態同士が全て一致すれば、通信手段103は、計算手段113及び確認計算機120a、120zから送信されてきた計算結果を受信する(ステップSa7)。結果比較手段104は、計算手段113から供給される計算結果と、確認計算機120a、120zから送信されてきた計算結果とを比較し、一致しなければ、結果出力手段106にエラーを通知し、一致すれば、結果出力手段106にエラーなしと計算結果とを通知する(ステップSa8)。
Next, if all the processing states match, the
最後に、状態比較手段105、及び結果比較手段104の双方からエラーなしを通知されている場合、結果出力手段106は、結果比較手段104から通知された計算結果をシステムの計算結果として出力する(ステップSa9)。一方、状態比較手段105、及び結果比較手段104の少なくともどちらか一方からエラーが通知された場合、結果出力手段106は、システムの計算結果としてエラーを出力する(ステップSa10)。
Finally, when both the
次に、上述したステップ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
一方、処理内容の分割区間の終端に処理が来ると(分割区間の終端まで計算が終了すると)、状態保存手段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
そして、処理内容全体の終端に達すると、すなわち処理内容全体の計算が完了すると、計算手段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
次に、本第1の実施形態の確認計算機120a、120zの動作について説明する。
図4(a)、(b)は、各々、本第1の実施形態の確認計算機120a、120zの動作を説明するためのフローチャートである。本第1の実施形態では、2つの確認計算機120a、120zが存在し、それぞれで計算する区間を先頭と末尾とに分けるものとする。ここでは、確認計算機120aが先頭の区間を処理し、確認計算機120zが末尾の区間を処理するものとして説明する。
Next, operations of the
4A and 4B are flowcharts for explaining the operations of the
まず、図4(a)に示すように、確認計算機120aの通信手段121aは、分割された処理内容のうち、先頭の区間の処理を通信手段103から受信する(ステップSc1)。次に、計算手段123aは、上記処理内容を計算する(ステップSc2)。そして、計算手段123aは、分割区間の終端であるか否かを判定し(ステップSc3)、処理内容の分割区間の終端でない場合には、ステップSc2に戻り、計算処理を繰り返す。
First, as shown in FIG. 4A, the communication unit 121a of the
一方、計算手段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
一方、確認計算機120zの通信手段121zは、分割された処理内容のうち、末尾の区間の処理を、管理/先行計算機100の通信手段103から受信する(ステップSd1)。次に、通信手段121zは、管理/先行計算機100の状態保存手段114に保存された分割区間の始端の処理状態を通信手段103から受信する(ステップSd2)。計算手段123zは、管理/先行計算機100から受信した分割区間の始端の処理状態を利用して、上記処理内容を計算する(ステップSd3)。そして、計算手段123zは、分割区間の終端であるか否かを判定し(ステップSd4)、処理内容の分割区間の終端でない場合には、ステップSd3に戻り、計算処理を繰り返す。
On the other hand, the
一方、計算手段123zは、処理内容の分割区間の終端に処理が達すると、その計算結果を、通信手段121zを通じて管理/先行計算機100の状態比較手段105に送信する(ステップSd5)。
On the other hand, when the processing reaches the end of the divided section of the processing content, the
上述した第1の実施形態によれば、確認計算機120zが、前の区間を計算する確認計算機120aの計算完了を待たずに、管理/先行計算機100の生成した処理状態を利用して計算処理を開始し、先頭の区間を計算する確認計算機120aの計算完了後に、管理/先行計算機100が、その処理状態同士を比較することで、計算の正誤を判定するようにしたので、確認用計算の並列性を高め、管理/先行計算機100と同等の処理速度を有する確認計算機120a、120zを用いなくても、大きな速度低下を生じさせずに計算を完了でき、システムのコストを下げることができる。
According to the first embodiment described above, the
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
次に、本第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
図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
一方、計算手段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
上述した第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
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
管理計算機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
上記構成において、管理計算機300の通信手段303と、先行計算機310の通信手段311と、確認計算機320aの通信手段321a、及び確認計算機320zの通信手段321zは、処理内容、処理結果および処理状態を、他の通信手段との間で送受信する。なお、その他の構成要素については、本発明の第1の実施形態と同様の動作であるので説明を省略する。
In the above configuration, the
次に、本第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
上述した第3の実施形態によれば、管理計算機300と先行計算機310が独立した計算機であるように構成されているため、管理計算機300の各手段における負荷が高くなった場合においても、計算手段113に影響を与えることなく、処理完了までの時間を短くすることができる。
According to the third embodiment described above, the
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
管理計算機400は、処理入力手段101と、処理分割手段102と、通信手段403と、結果比較手段104と、状態比較手段105と、結果出力手段106と、送信先決定手段407とを備えている。先行計算機410は、通信手段411と、計算手段113と、状態保存手段114とを備えている。確認計算機420a〜420zは、各々、通信手段421a〜421zと、状態復元手段122a〜122zと、計算手段123a〜123zと、状態保存手段124a〜124zとを備えている。
The
上述した構成において、管理計算機400は、通信手段403により、処理分割手段102により分割された全処理内容を、先行計算機410の通信手段411に送信するとともに、先行計算機410の通信手段411から、先行計算機410での処理結果、及び状態保存手段114に保存された処理状態を受信する。
In the configuration described above, the
また、管理計算機400の送信先決定手段407は、先行計算機410から処理結果及び処理状態を受信した時点で、処理分割手段102によって分割された処理内容、及び処理状態を、確認計算機420a〜420zのうち、どの確認計算機に通信手段403から送信するかを決定する。
Also, the transmission
また、管理計算機400は、通信手段403により、分割された処理内容、及び先行計算機410での処理状態を、送信先決定手段207によって決定された確認計算機420i(i=a〜z)に対して送信し、確認計算機420a〜420zの通信手段421a〜421zから、その処理結果または処理状態を受信する。
In addition, the
先行計算機410は、通信手段411により、管理計算機400から全処理内容を受信し、計算手段113に渡すとともに、計算手段113による処理結果、及び状態保存手段114に保存された処理状態を、管理計算機400の通信手段403に送信する。
The preceding
確認計算機420a〜420zは、各々、通信手段421a〜421zにより、分割された処理内容を管理計算機400の通信手段103から受信し、それぞれにおける処理結果または処理状態を管理計算機400の通信手段403に送信する。
The
なお、その他の構成要素については、本発明の第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
次に、送信先決定手段407は、この時点で、処理状態を送信する確認計算機420i(i=a〜z)を選択する(ステップSf5)。次に、通信手段403は、上記処理状態と、その状態を開始状態とする分割区間の処理内容を確認計算機420iの通信手段421iに送信する(ステップSf6)。上記ステップSf4〜Sf6は、全ての分割区間の区切りにおける処理状態について実行される。
Next, the transmission
次に、通信手段403は、確認計算機420a〜420zから処理状態が送られてくるまで待ち、これを受信する(ステップSf7)。次に、状態比較手段105は、先行計算機410及び確認計算機420a〜420zから送られてきた処理状態のうち、同一の区間終端によって作成された処理状態同士を比較し、状態同士が1つでも一致しなければ、結果出力手段106にエラーを通知し、状態同士が全て一致すれば、結果出力手段106にエラーなしを通知する(ステップSf8)。
Next, the
次に、処理状態同士が全て一致すれば、通信手段403は、先行計算機410及び確認計算機420a〜420zから送られてきた計算結果を受信する(ステップSf9)。結果比較手段104は、先行計算機410及び確認計算機420a〜420zから送られてきた計算結果を比較し、一致しなければ、結果出力手段106にエラーを通知し、一致すれば、結果出力手段106にエラーなしと、計算結果とを通知する(ステップSf10)。
Next, if all the processing states match, the
最後に、状態比較手段105、及び結果比較手段104の双方からエラーなしを通知されている場合、結果出力手段106は、結果比較手段104から通知された計算結果をシステムの計算結果として出力する(ステップSf11)。一方、状態比較手段105、及び結果比較手段104の少なくともどちらか一方からエラーを通知された場合、結果出力手段106は、システムの計算結果としてエラーを出力する(ステップSf12)。
Finally, when both the
先行計算機410の動作については、通信手段411が処理状態を送信する先が管理計算機400の通信手段403である点を除けば、第3の実施形態における先行計算機310の動作と同様であるので説明を省略する。また、確認計算機420a〜420zの動作については、通信手段421が処理状態を受信する元が管理計算機400の通信手段403である点を除けば、第3の実施形態における先行計算機320a、320zの動作と同様であるので説明を省略する。
The operation of the preceding
上述した第4の実施形態によれば、通信手段403が処理状態を送信する時点で送信先決定手段407が送信先の確認計算機を決定するようにしているので、その時点で負荷の低い確認計算機を選択することができ、システム全体の効率を上げることができる。また、本第4の実施形態では、更に、通信手段411と通信手段421a〜421zが直接通信を行わないというように構成されているため、先行計算機411、及び確認計算機421は互いの情報を知らなくてもよく、プライバシを守ることができる。
According to the fourth embodiment described above, the transmission
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
管理/先行計算機100は、管理/先行計算用プログラム900と、処理対象プログラム901と、処理結果902と、確認計算機リスト903とを備えている。管理/先行計算用プログラム900は、処理入力手段101と、処理分割手段102と、通信手段103と、結果比較手段104と、状態比較手段105と、結果出力手段106と、計算手段113と、状態保存手段114とを実現する。
The management / preceding
確認計算機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
次に、本実施例の動作について説明する。
初めに、処理分割手段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
管理/先行計算機用プログラム分割区間(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
計算手段113は、受信した管理/先行計算機用プログラム分割区間(1)1011を実行し、処理Aを行ったあと、状態保存処理1003を行う。状態保存処理1003では、状態保存手段114がこの時点での処理状態を全て保存し、状態比較手段105に供給する。この処理状態を状態Aとする。通信手段103は、該状態Aを確認計算機リスト903にある確認計算機120zに送信する。次に、計算手段113は、続けて管理/先行計算機用プログラム分割区間(2)1012を実行し、処理が全て終わった時点で、計算結果を結果比較手段104に供給する。この計算結果を結果Zとする。
The
確認計算機120aは、確認計算機用プログラム分割区間(1)1021を受信すると、これを実行し、処理Aを行ったあと、状態保存処理1003を行う。状態保存処理1003では、状態保存手段124aがこの時点での処理状態を全て保存する。これを状態A´とする。通信手段121aは、該状態A´を、処理の送信元である管理/先行計算機100に送信する。
When the
一方、確認計算機120zは、確認計算機用プログラム分割区間(2)1022を受信すると、これを実行し、状態復元処理1004を行う。状態復元処理1004では、状態保存手段114が処理状態Aを送信してくるのを待ち、これを受信すると、状態復元手段122zが状態Aを計算手段123zに供給する。次に、計算手段123zは、処理Z1002を実行し、処理が全て終わった時点で、計算結果を、通信手段121zを通して、処理の送信元である管理/先行計算機100に送信する。この計算結果を結果Z´とする。
On the other hand, when the
管理/先行計算機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
結果出力手段106は、結果比較手段104、及び状態比較手段105からの通知のどちらかがエラーであった場合には、処理結果902としてエラーを記録する一方、結果比較手段104、及び状態比較手段105からの通知のどちらもエラーでない場合には、処理結果902として結果Zを記録する。
The
本発明によれば、計算に確認を必要とする科学技術計算用計算機といった用途に適用できる。 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.
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
1002 Processing Z
1003 State saving processing 1004
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.
前記管理/先行計算機で処理内容を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.
前記受け付けた処理内容を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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103392173A (en) * | 2011-03-10 | 2013-11-13 | 三菱电机株式会社 | Redundant device |
-
2008
- 2008-11-17 JP JP2008293350A patent/JP2010122731A/en active Pending
Cited By (4)
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 |