WO2016067420A1 - Computer, and data processing method and program - Google Patents
Computer, and data processing method and program Download PDFInfo
- Publication number
- WO2016067420A1 WO2016067420A1 PCT/JP2014/078955 JP2014078955W WO2016067420A1 WO 2016067420 A1 WO2016067420 A1 WO 2016067420A1 JP 2014078955 W JP2014078955 W JP 2014078955W WO 2016067420 A1 WO2016067420 A1 WO 2016067420A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- management number
- computer
- added
- unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
Definitions
- first and second embodiments a configuration that eliminates the need for communication processing between computers for matching the data capture timing will be described.
- a configuration that does not cause a delay for determining a failure will be described.
- the conventional method in the configuration in which the computer A and the computer B transmit data to the computer C and the computer D, respectively, when the computer A fails, the computer C and the computer D do not transmit data from the computer A. After confirming the above, it is determined that the computer A has failed, and the processing is continued only with the data from the computer B. For this reason, the conventional method has a problem that processing is delayed by the time required for failure determination.
- a configuration corresponding to this problem will be described.
- FIG. 1 shows an example of a computer system 10 targeted by the first and second embodiments.
- the computer system 10 includes a computer 101a, a computer 101b, a computer 102a, a computer 102b, a computer 103a, and a computer 103b.
- the received data processing unit 201 When the received data processing unit 201 receives the data frame 208 from the other computer 101, the received data processing unit 201 starts processing.
- the received data processing unit 201 compares the processing cycle number 300 of the received data frame 208 with the current cycle number in the cycle number storage unit 205 (S500).
- the processing cycle number 300 is a past cycle number (YES in S500)
- the received data processing unit 201 determines that the data frame 208 has arrived with a delay due to some failure in the transmission source computer 101.
- the discarded data frame 208 is discarded (S503).
- the received data processing unit 201 of the computer 102a first selects the data from the computer 101a and the data from the computer 101b.
- the data that arrived at is saved, and the data that arrived later is discarded.
- the current cycle number is updated by the time synchronization mechanism 207 every time the application processing unit 202 advances the processing cycle, and the cycle number storage unit 205 stores a new cycle number.
- the number of addition periods (in the example of FIG. 9), which is a value obtained by rounding up the division value ( ⁇ t / Tc) obtained by dividing the allowable error ⁇ t by the period Tc of the period processing. 2) is added to the current cycle N (800), the transmission data of cycle N (800) of computer 101a and the transmission data of cycle N (803) of computer 101b are cycle N + 2 (804) in computer 102a. Similarly, it is read out in the cycle N + 2 (802) in the computer 102b as well.
- the received data processing unit 901 discards the received data frame 908 (S503).
- the reception data processing unit 901 receives the data The received data frame 908 is stored in the received data storage unit 904 (S502).
- 10 computer system 100 redundant network, 101 computer, 102 computer, 103 computer, 151 data frame, 152 data frame, 201 reception data processing unit, 202 application processing unit, 203 transmission data processing unit, 204 reception data storage unit, 205 cycle number storage unit, 206 addition cycle number storage unit, 207 time synchronization mechanism, 208 data frame, 209 data frame, 901 reception data processing unit, 902 application processing unit, 903 transmission data processing unit, 904 reception data storage unit, 905 Time stamp storage unit, 906 addition time stamp storage unit, 908 data frame, 909 data frame, 910 time stamp update processing unit, 1021 received data processing unit, 1022 application processing unit, 10 3 the transmission data processing unit 1024 received data storage unit 1025 managing number storage unit, 1027 management number updating unit, 10231 management number determining unit, 10232 data transmission unit.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
In the present invention, a management number updating unit (1027) updates a management number for time management, per an established unit time. A management number storage unit (1025) stores a current management number. A management number determination unit (10231) determines, on the basis of the current management number and an allowable error in the management number update timing at a transmission destination computer, a management number to be appended to transmission data that will be transmitted to the transmission destination computer. A data transmission unit (10232) appends the management number determined by the management number determination unit (10231) to the transmission data, and transmits, as a data frame (152), the transmission data with the management number appended thereto.
Description
本発明は、計算機が冗長化された計算機システムに関する。
The present invention relates to a computer system in which computers are made redundant.
計算機が故障した場合に備え、冗長化した複数の計算機が同じ処理を多重実行し、いずれかの計算機が故障した場合、残った正常な計算機により処理を継続させる方法がある。
同じ入力に対して常に同じ出力が得られる処理の場合は問題ないが、入力のタイミングによって結果が異なる処理の場合は、多重処理を行っている計算機間で処理タイミングを一致させる必要がある。
例えば、特許文献1では入力データの取り込みタイミングを一致させることにより、計算機間での処理タイミングを一致させている。 In preparation for the case where a computer fails, there is a method in which a plurality of redundant computers execute the same process multiple times, and when one of the computers fails, the process is continued by the remaining normal computer.
There is no problem in the case of processing in which the same output is always obtained for the same input. However, in the case of processing in which the result differs depending on the input timing, it is necessary to match the processing timing between the computers performing the multiprocessing.
For example, inPatent Document 1, the processing timing between computers is matched by matching the input data capture timing.
同じ入力に対して常に同じ出力が得られる処理の場合は問題ないが、入力のタイミングによって結果が異なる処理の場合は、多重処理を行っている計算機間で処理タイミングを一致させる必要がある。
例えば、特許文献1では入力データの取り込みタイミングを一致させることにより、計算機間での処理タイミングを一致させている。 In preparation for the case where a computer fails, there is a method in which a plurality of redundant computers execute the same process multiple times, and when one of the computers fails, the process is continued by the remaining normal computer.
There is no problem in the case of processing in which the same output is always obtained for the same input. However, in the case of processing in which the result differs depending on the input timing, it is necessary to match the processing timing between the computers performing the multiprocessing.
For example, in
従来の、入力データの取り込み時に複数の計算機間でタイミングを一致させる方法の場合は、入力処理毎に計算機間で入力データの取り込みタイミングを一致させるための通信処理が必要である、という課題がある。
In the case of the conventional method of matching the timing among a plurality of computers at the time of capturing input data, there is a problem that a communication process for matching the timing of capturing input data between computers is required for each input process. .
この発明は上記の課題を解決することを主な目的とし、計算機間で同期をとらずに計算機間での処理結果を一致させる構成を実現することを主な目的とする。
The main object of the present invention is to solve the above-described problems, and to realize a configuration for matching the processing results between computers without synchronizing between computers.
本発明に係る計算機は、
それぞれが既定の単位時間ごとに時間管理のための管理番号を更新し、管理番号の更新タイミングにおける相互間の誤差が許容誤差以下であり、それぞれが、管理番号が付加されているデータを受信し、受信したデータを記憶し、記憶したデータのうち現在の管理番号と同じ管理番号が付加されているデータの処理を行う複数の送信先計算機に、
データを並列に送信する計算機であって、
前記複数の送信先計算機での更新タイミングと比較して前記許容誤差以下の誤差で、管理番号を更新する管理番号更新部と、
現在の管理番号を記憶する管理番号記憶部と、
前記管理番号記憶部で記憶されている現在の管理番号と前記許容誤差とに基づき、前記複数の送信先計算機に送信する送信データに付加する管理番号を決定する管理番号決定部と、
前記管理番号決定部により決定された管理番号を前記送信データに付加し、前記管理番号が付加されている前記送信データを前記複数の送信先計算機に並列に送信するデータ送信部とを有する。 The computer according to the present invention is:
Each of them updates the management number for time management every predetermined unit time, the error between the management number update timings is less than the tolerance, and each receives the data with the management number added The received data is stored in a plurality of destination computers that process the data with the same management number as the current management number among the stored data.
A computer that sends data in parallel,
A management number update unit that updates a management number with an error equal to or less than the allowable error compared to the update timing in the plurality of destination computers;
A management number storage unit for storing the current management number;
A management number determination unit that determines a management number to be added to transmission data to be transmitted to the plurality of transmission destination computers, based on the current management number stored in the management number storage unit and the allowable error;
A data transmission unit that adds the management number determined by the management number determination unit to the transmission data and transmits the transmission data to which the management number is added in parallel to the plurality of transmission destination computers.
それぞれが既定の単位時間ごとに時間管理のための管理番号を更新し、管理番号の更新タイミングにおける相互間の誤差が許容誤差以下であり、それぞれが、管理番号が付加されているデータを受信し、受信したデータを記憶し、記憶したデータのうち現在の管理番号と同じ管理番号が付加されているデータの処理を行う複数の送信先計算機に、
データを並列に送信する計算機であって、
前記複数の送信先計算機での更新タイミングと比較して前記許容誤差以下の誤差で、管理番号を更新する管理番号更新部と、
現在の管理番号を記憶する管理番号記憶部と、
前記管理番号記憶部で記憶されている現在の管理番号と前記許容誤差とに基づき、前記複数の送信先計算機に送信する送信データに付加する管理番号を決定する管理番号決定部と、
前記管理番号決定部により決定された管理番号を前記送信データに付加し、前記管理番号が付加されている前記送信データを前記複数の送信先計算機に並列に送信するデータ送信部とを有する。 The computer according to the present invention is:
Each of them updates the management number for time management every predetermined unit time, the error between the management number update timings is less than the tolerance, and each receives the data with the management number added The received data is stored in a plurality of destination computers that process the data with the same management number as the current management number among the stored data.
A computer that sends data in parallel,
A management number update unit that updates a management number with an error equal to or less than the allowable error compared to the update timing in the plurality of destination computers;
A management number storage unit for storing the current management number;
A management number determination unit that determines a management number to be added to transmission data to be transmitted to the plurality of transmission destination computers, based on the current management number stored in the management number storage unit and the allowable error;
A data transmission unit that adds the management number determined by the management number determination unit to the transmission data and transmits the transmission data to which the management number is added in parallel to the plurality of transmission destination computers.
本発明では、計算機は、許容誤差を参酌して送信データに付加する管理番号を決定するため、送信先計算機間に管理番号の更新タイミングにおける誤差があっても、各送信先計算機は、同じタイミングで同じデータに対する処理を行うことができ、送信先計算機間で同期をとらなくても送信先計算機間での処理結果を一致させることができる。
In the present invention, the computer determines the management number to be added to the transmission data in consideration of the allowable error. Therefore, even if there is an error in the update timing of the management number between the transmission destination computers, each transmission destination computer has the same timing. Thus, the same data can be processed, and the processing results between the transmission destination computers can be matched without synchronization between the transmission destination computers.
以下の実施の形態1及び実施の形態2では、データの取り込みタイミングを一致させるための計算機間での通信処理が不要とする構成を説明する。
また、以下の実施の形態1及び実施の形態2では、故障判断のための遅延を発生させない構成を説明する。
従来の方法では、計算機Aと計算機Bが、それぞれ、計算機Cと計算機Dにデータを送信する構成において、計算機Aが故障した場合に、計算機Cと計算機Dは、計算機Aからデータが送信されないことを確認してから計算機Aが故障したと判断し、計算機Bからのデータのみで処理を継続する。
このため、従来の方法では、故障判断に要する時間だけ処理が遅れる、という課題がある。
以下の実施の形態1及び実施の形態2では、この課題にも対応する構成を説明する。 In the following first and second embodiments, a configuration that eliminates the need for communication processing between computers for matching the data capture timing will be described.
In the following first and second embodiments, a configuration that does not cause a delay for determining a failure will be described.
In the conventional method, in the configuration in which the computer A and the computer B transmit data to the computer C and the computer D, respectively, when the computer A fails, the computer C and the computer D do not transmit data from the computer A. After confirming the above, it is determined that the computer A has failed, and the processing is continued only with the data from the computer B.
For this reason, the conventional method has a problem that processing is delayed by the time required for failure determination.
In the following first and second embodiments, a configuration corresponding to this problem will be described.
また、以下の実施の形態1及び実施の形態2では、故障判断のための遅延を発生させない構成を説明する。
従来の方法では、計算機Aと計算機Bが、それぞれ、計算機Cと計算機Dにデータを送信する構成において、計算機Aが故障した場合に、計算機Cと計算機Dは、計算機Aからデータが送信されないことを確認してから計算機Aが故障したと判断し、計算機Bからのデータのみで処理を継続する。
このため、従来の方法では、故障判断に要する時間だけ処理が遅れる、という課題がある。
以下の実施の形態1及び実施の形態2では、この課題にも対応する構成を説明する。 In the following first and second embodiments, a configuration that eliminates the need for communication processing between computers for matching the data capture timing will be described.
In the following first and second embodiments, a configuration that does not cause a delay for determining a failure will be described.
In the conventional method, in the configuration in which the computer A and the computer B transmit data to the computer C and the computer D, respectively, when the computer A fails, the computer C and the computer D do not transmit data from the computer A. After confirming the above, it is determined that the computer A has failed, and the processing is continued only with the data from the computer B.
For this reason, the conventional method has a problem that processing is delayed by the time required for failure determination.
In the following first and second embodiments, a configuration corresponding to this problem will be described.
***構成の説明***
図1は、実施の形態1及び実施の形態2が対象とする計算機システム10の例を示す。
計算機システム10には、計算機101a、計算機101b、計算機102a、計算機102b、計算機103a、計算機103bが含まれる。 *** Explanation of configuration ***
FIG. 1 shows an example of acomputer system 10 targeted by the first and second embodiments.
Thecomputer system 10 includes a computer 101a, a computer 101b, a computer 102a, a computer 102b, a computer 103a, and a computer 103b.
図1は、実施の形態1及び実施の形態2が対象とする計算機システム10の例を示す。
計算機システム10には、計算機101a、計算機101b、計算機102a、計算機102b、計算機103a、計算機103bが含まれる。 *** Explanation of configuration ***
FIG. 1 shows an example of a
The
図1において、計算機101aと計算機101b、計算機102aと計算機102b、計算機103aと計算機103bは、それぞれ多重化処理を行う計算機である。
計算機101aと計算機101b、計算機102aと計算機102b、計算機103aと計算機103bは、冗長化されたネットワーク100を介して相互に接続している。
図1に示す計算機システム10は複数の階層で構成される。
つまり、図1の計算機システム10は、計算機101aと計算機101bで多重化された階層と、計算機102aと計算機102bで多重化された階層と、計算機103aと計算機103bで多重化された階層で構成される。
なお、計算機システム10の階層を4階層以上としてもよい。
また、各階層における計算機の数を3つ以上にしてもよい。 In FIG. 1, acomputer 101a and a computer 101b, a computer 102a and a computer 102b, and a computer 103a and a computer 103b are computers that perform multiplexing processing.
Thecomputer 101a and the computer 101b, the computer 102a and the computer 102b, and the computer 103a and the computer 103b are connected to each other via the redundant network 100.
Acomputer system 10 shown in FIG. 1 includes a plurality of hierarchies.
That is, thecomputer system 10 of FIG. 1 is configured with a hierarchy multiplexed by the computers 101a and 101b, a hierarchy multiplexed by the computers 102a and 102b, and a hierarchy multiplexed by the computers 103a and 103b. The
Thecomputer system 10 may have four or more layers.
Further, the number of computers in each layer may be three or more.
計算機101aと計算機101b、計算機102aと計算機102b、計算機103aと計算機103bは、冗長化されたネットワーク100を介して相互に接続している。
図1に示す計算機システム10は複数の階層で構成される。
つまり、図1の計算機システム10は、計算機101aと計算機101bで多重化された階層と、計算機102aと計算機102bで多重化された階層と、計算機103aと計算機103bで多重化された階層で構成される。
なお、計算機システム10の階層を4階層以上としてもよい。
また、各階層における計算機の数を3つ以上にしてもよい。 In FIG. 1, a
The
A
That is, the
The
Further, the number of computers in each layer may be three or more.
計算機101aと計算機101bは、それぞれ、計算機102aと計算機102bに並列にデータを送信する。
計算機102aと計算機102bは、それぞれ、計算機101aと計算機101bから送信されたデータを受信する。
また、計算機102aと計算機102bは、それぞれ、計算機103aと計算機103bに並列にデータを送信する。
また、計算機103aと計算機103bは、それぞれ、計算機102aと計算機102bから送信されたデータを受信する。 Thecomputer 101a and the computer 101b transmit data in parallel to the computer 102a and the computer 102b, respectively.
Thecomputer 102a and the computer 102b receive data transmitted from the computer 101a and the computer 101b, respectively.
Moreover, thecomputer 102a and the computer 102b transmit data in parallel to the computer 103a and the computer 103b, respectively.
Moreover, thecomputer 103a and the computer 103b receive the data transmitted from the computer 102a and the computer 102b, respectively.
計算機102aと計算機102bは、それぞれ、計算機101aと計算機101bから送信されたデータを受信する。
また、計算機102aと計算機102bは、それぞれ、計算機103aと計算機103bに並列にデータを送信する。
また、計算機103aと計算機103bは、それぞれ、計算機102aと計算機102bから送信されたデータを受信する。 The
The
Moreover, the
Moreover, the
計算機101a、計算機101b、計算機102a、計算機102b、計算機103a、計算機103bでは、既定の単位時間(以下、単位時間Tcという)ごとに時間管理のための管理番号を更新する。
管理番号は、単位時間Tc分の時間幅ごとの連番であり、一定の刻み幅(例えば、1)で値が更新される。
以下の実施の形態1及び実施の形態2では、計算機101a、計算機101b、計算機102a、計算機102b、計算機103a、計算機103bでの管理番号の更新タイミングにおける最大の誤差を、許容誤差(以下、許容誤差Δtという)という。
例えば、計算機101aと計算機102bとの間の誤差が最大であれば、計算機101aと計算機102bとの間の誤差が許容誤差Δtとなる。
実施の形態1及び実施の形態2の計算機システム10では、計算機101a、計算機101b、計算機102a、計算機102b、計算機103a、計算機103bの相互間の誤差は許容誤差Δt以下である。 In thecomputer 101a, the computer 101b, the computer 102a, the computer 102b, the computer 103a, and the computer 103b, the management number for time management is updated every predetermined unit time (hereinafter referred to as unit time Tc).
The management number is a serial number for each time width corresponding to the unit time Tc, and the value is updated at a constant step size (for example, 1).
In the followingEmbodiment 1 and Embodiment 2, the maximum error in the update timing of the management number in the computer 101a, the computer 101b, the computer 102a, the computer 102b, the computer 103a, and the computer 103b is an allowable error (hereinafter referred to as an allowable error). Called Δt).
For example, if the error between thecomputer 101a and the computer 102b is the maximum, the error between the computer 101a and the computer 102b becomes the allowable error Δt.
In thecomputer system 10 according to the first embodiment and the second embodiment, the error between the computer 101a, the computer 101b, the computer 102a, the computer 102b, the computer 103a, and the computer 103b is an allowable error Δt or less.
管理番号は、単位時間Tc分の時間幅ごとの連番であり、一定の刻み幅(例えば、1)で値が更新される。
以下の実施の形態1及び実施の形態2では、計算機101a、計算機101b、計算機102a、計算機102b、計算機103a、計算機103bでの管理番号の更新タイミングにおける最大の誤差を、許容誤差(以下、許容誤差Δtという)という。
例えば、計算機101aと計算機102bとの間の誤差が最大であれば、計算機101aと計算機102bとの間の誤差が許容誤差Δtとなる。
実施の形態1及び実施の形態2の計算機システム10では、計算機101a、計算機101b、計算機102a、計算機102b、計算機103a、計算機103bの相互間の誤差は許容誤差Δt以下である。 In the
The management number is a serial number for each time width corresponding to the unit time Tc, and the value is updated at a constant step size (for example, 1).
In the following
For example, if the error between the
In the
なお、以下では、計算機101aと計算機101bを区別する必要がないときは、両者を合わせて計算機101と表記する。
また、計算機102aと計算機102bを区別する必要がないときは、両者を合わせて計算機102と表記する。
同様に、計算機103aと計算機103bを区別する必要がないときは、両者を合わせて計算機103と表記する。 In the following, when it is not necessary to distinguish between thecomputer 101a and the computer 101b, they are collectively referred to as the computer 101.
Further, when it is not necessary to distinguish between thecomputer 102a and the computer 102b, the two are collectively referred to as the computer 102.
Similarly, when it is not necessary to distinguish between thecomputer 103a and the computer 103b, they are collectively referred to as the computer 103.
また、計算機102aと計算機102bを区別する必要がないときは、両者を合わせて計算機102と表記する。
同様に、計算機103aと計算機103bを区別する必要がないときは、両者を合わせて計算機103と表記する。 In the following, when it is not necessary to distinguish between the
Further, when it is not necessary to distinguish between the
Similarly, when it is not necessary to distinguish between the
次に、各計算機のモジュール構成例を図2を参照して説明する。
図2では、計算機102のモジュール構成例を示すが、計算機101及び計算機103も、同じ構成である。 Next, a module configuration example of each computer will be described with reference to FIG.
Although FIG. 2 shows an example of the module configuration of thecomputer 102, the computer 101 and the computer 103 have the same configuration.
図2では、計算機102のモジュール構成例を示すが、計算機101及び計算機103も、同じ構成である。 Next, a module configuration example of each computer will be described with reference to FIG.
Although FIG. 2 shows an example of the module configuration of the
図2において、受信データ処理部1021は、複数の送信元計算機(図1の計算機101aと計算機101b)から送信されたデータフレーム151aとデータフレーム151bを受信する。
計算機101aからのデータフレームをデータフレーム151aとし、計算機101bからのデータフレームをデータフレーム151bとする。
データフレーム151a及びデータフレーム151bは、データに管理番号が付加された構成となっている。
データフレーム151aに含まれるデータとデータフレーム151bに含まれるデータは、同じである。
なお、データフレーム151aに含まれるデータ及びデータフレーム151bに含まれるデータは、受信データという。
また、データフレーム151aに含まれる管理番号とデータフレーム151bに含まれる管理番号も同じである。
なお、以下では、データフレーム151aとデータフレーム151bを区別する必要がないときは、両者を合わせてデータフレーム151という。
また、受信データ処理部1021は、同じ管理番号の複数のデータフレーム151のうちのいずれかのデータフレーム151を記憶領域である受信データ記憶部1024に格納する。 In FIG. 2, a receiveddata processing unit 1021 receives data frames 151a and 151b transmitted from a plurality of transmission source computers (computer 101a and computer 101b in FIG. 1).
A data frame from thecomputer 101a is referred to as a data frame 151a, and a data frame from the computer 101b is referred to as a data frame 151b.
Thedata frame 151a and the data frame 151b have a configuration in which a management number is added to the data.
The data included in thedata frame 151a and the data included in the data frame 151b are the same.
Note that the data included in thedata frame 151a and the data included in the data frame 151b are referred to as reception data.
The management number included in thedata frame 151a is the same as the management number included in the data frame 151b.
Hereinafter, when it is not necessary to distinguish between thedata frame 151a and the data frame 151b, the data frame 151 is collectively referred to as the data frame 151.
Also, the receptiondata processing unit 1021 stores one of the data frames 151 of the plurality of data frames 151 having the same management number in the reception data storage unit 1024 that is a storage area.
計算機101aからのデータフレームをデータフレーム151aとし、計算機101bからのデータフレームをデータフレーム151bとする。
データフレーム151a及びデータフレーム151bは、データに管理番号が付加された構成となっている。
データフレーム151aに含まれるデータとデータフレーム151bに含まれるデータは、同じである。
なお、データフレーム151aに含まれるデータ及びデータフレーム151bに含まれるデータは、受信データという。
また、データフレーム151aに含まれる管理番号とデータフレーム151bに含まれる管理番号も同じである。
なお、以下では、データフレーム151aとデータフレーム151bを区別する必要がないときは、両者を合わせてデータフレーム151という。
また、受信データ処理部1021は、同じ管理番号の複数のデータフレーム151のうちのいずれかのデータフレーム151を記憶領域である受信データ記憶部1024に格納する。 In FIG. 2, a received
A data frame from the
The
The data included in the
Note that the data included in the
The management number included in the
Hereinafter, when it is not necessary to distinguish between the
Also, the reception
アプリケーション処理部1022は、現在の管理番号と同じ管理番号が付加されているデータを用いたデータ処理(アプリケーション処理)を行う。
The application processing unit 1022 performs data processing (application processing) using data to which the same management number as the current management number is added.
送信データ処理部1023は、複数の送信先計算機(図1の計算機103aと計算機103b)にデータフレーム152aとデータフレーム152bに並列に送信する。
データフレーム152aを計算機103aへのデータフレームとし、データフレーム152bを計算機103bへのデータフレームとする。
データフレーム152a及びデータフレーム152bは、データフレーム151a及びデータフレーム151bと同様に、データに管理番号が付加された構成となっている。
データフレーム152aに含まれるデータとデータフレーム152bに含まれるデータは、同じである。
なお、データフレーム152aに含まれるデータ及びデータフレーム152bに含まれるデータは、送信データという。
また、データフレーム152aに含まれる管理番号とデータフレーム152bに含まれる管理番号も同じである。
なお、以下では、データフレーム152aとデータフレーム152bを区別する必要がないときは、両者を合わせてデータフレーム152という。 The transmissiondata processing unit 1023 transmits the data frame 152a and the data frame 152b in parallel to a plurality of transmission destination computers (computer 103a and computer 103b in FIG. 1).
Thedata frame 152a is a data frame to the computer 103a, and the data frame 152b is a data frame to the computer 103b.
Similarly to thedata frame 151a and the data frame 151b, the data frame 152a and the data frame 152b have a configuration in which a management number is added to the data.
The data included in thedata frame 152a and the data included in the data frame 152b are the same.
Note that the data included in thedata frame 152a and the data included in the data frame 152b are referred to as transmission data.
The management number included in thedata frame 152a is the same as the management number included in the data frame 152b.
Hereinafter, when it is not necessary to distinguish between thedata frame 152a and the data frame 152b, the data frame 152a and the data frame 152b are collectively referred to as the data frame 152.
データフレーム152aを計算機103aへのデータフレームとし、データフレーム152bを計算機103bへのデータフレームとする。
データフレーム152a及びデータフレーム152bは、データフレーム151a及びデータフレーム151bと同様に、データに管理番号が付加された構成となっている。
データフレーム152aに含まれるデータとデータフレーム152bに含まれるデータは、同じである。
なお、データフレーム152aに含まれるデータ及びデータフレーム152bに含まれるデータは、送信データという。
また、データフレーム152aに含まれる管理番号とデータフレーム152bに含まれる管理番号も同じである。
なお、以下では、データフレーム152aとデータフレーム152bを区別する必要がないときは、両者を合わせてデータフレーム152という。 The transmission
The
Similarly to the
The data included in the
Note that the data included in the
The management number included in the
Hereinafter, when it is not necessary to distinguish between the
送信データ処理部1023には、管理番号決定部10231とデータ送信部10232が含まれる。
管理番号決定部10231は、送信データに付加する管理番号を決定する。
より具体的には、管理番号決定部10231は、許容誤差Δtを単位時間Tcで除算して得られる除算値の端数を切り上げた整数値と、通信遅延値と、管理番号記憶部1025で記憶している現在の管理番号とに基づき、送信データに付加する管理番号を決定する。
通信遅延値は、計算機102と計算機103との間で生じる通信遅延の値である。
データ送信部10232は、管理番号決定部10231により決定された管理番号を送信データに付加して、データフレーム152aとデータフレーム152bを生成し、生成したデータフレーム152aとデータフレーム152bを複数の送信先計算機(図1の計算機103aと計算機103b)に並列に送信する。 The transmissiondata processing unit 1023 includes a management number determination unit 10231 and a data transmission unit 10232.
The managementnumber determination unit 10231 determines a management number to be added to transmission data.
More specifically, the managementnumber determination unit 10231 stores the integer value obtained by rounding up the fractional value obtained by dividing the allowable error Δt by the unit time Tc, the communication delay value, and the management number storage unit 1025. The management number to be added to the transmission data is determined based on the current management number.
The communication delay value is a value of a communication delay that occurs between thecomputer 102 and the computer 103.
Thedata transmission unit 10232 adds the management number determined by the management number determination unit 10231 to the transmission data, generates the data frame 152a and the data frame 152b, and generates the generated data frame 152a and the data frame 152b as a plurality of transmission destinations. The data is transmitted in parallel to the computers (computer 103a and computer 103b in FIG. 1).
管理番号決定部10231は、送信データに付加する管理番号を決定する。
より具体的には、管理番号決定部10231は、許容誤差Δtを単位時間Tcで除算して得られる除算値の端数を切り上げた整数値と、通信遅延値と、管理番号記憶部1025で記憶している現在の管理番号とに基づき、送信データに付加する管理番号を決定する。
通信遅延値は、計算機102と計算機103との間で生じる通信遅延の値である。
データ送信部10232は、管理番号決定部10231により決定された管理番号を送信データに付加して、データフレーム152aとデータフレーム152bを生成し、生成したデータフレーム152aとデータフレーム152bを複数の送信先計算機(図1の計算機103aと計算機103b)に並列に送信する。 The transmission
The management
More specifically, the management
The communication delay value is a value of a communication delay that occurs between the
The
受信データ記憶部1024は、データフレーム151を記憶する。
The received data storage unit 1024 stores the data frame 151.
管理番号記憶部1025は、現在の管理番号を記憶する。
Management number storage unit 1025 stores the current management number.
管理番号更新部1027は、単位時間Tcごとに管理番号を更新する。
管理番号更新部1027は、インクリメントにより管理番号を更新する。
管理番号更新部1027による管理番号の更新タイミングにおける誤差は、計算機101での更新タイミングと比較して許容誤差Δt以下である。 The managementnumber update unit 1027 updates the management number every unit time Tc.
The managementnumber update unit 1027 updates the management number by increment.
The error in the management number update timing by the managementnumber update unit 1027 is equal to or less than the allowable error Δt compared to the update timing in the computer 101.
管理番号更新部1027は、インクリメントにより管理番号を更新する。
管理番号更新部1027による管理番号の更新タイミングにおける誤差は、計算機101での更新タイミングと比較して許容誤差Δt以下である。 The management
The management
The error in the management number update timing by the management
以下の実施の形態1では、管理番号として周期番号を用いる例を説明し、実施の形態2では、管理番号としてタイムスタンプを用いる例を説明する。
つまり、実施の形態1では、単位時間Tcごとに周期番号を更新し、周期番号が付加されたデータを受信し、また、周期番号をデータに付加し、周期番号が付加されたデータを送信する計算機を説明する。
実施の形態2では、単位時間Tcごとにタイムスタンプを更新し、タイムスタンプが付加されたデータを受信し、また、タイムスタンプをデータに付加し、タイムスタンプが付加されたデータを送信する計算機を説明する。 In thefollowing Embodiment 1, an example in which a cycle number is used as a management number will be described, and in Embodiment 2, an example in which a time stamp is used as a management number will be described.
That is, in the first embodiment, the cycle number is updated every unit time Tc, the data with the cycle number added is received, the cycle number is added to the data, and the data with the cycle number added is transmitted. A computer will be described.
In the second embodiment, a computer that updates a time stamp every unit time Tc, receives data with a time stamp added thereto, adds a time stamp to the data, and transmits the data with the time stamp added thereto. explain.
つまり、実施の形態1では、単位時間Tcごとに周期番号を更新し、周期番号が付加されたデータを受信し、また、周期番号をデータに付加し、周期番号が付加されたデータを送信する計算機を説明する。
実施の形態2では、単位時間Tcごとにタイムスタンプを更新し、タイムスタンプが付加されたデータを受信し、また、タイムスタンプをデータに付加し、タイムスタンプが付加されたデータを送信する計算機を説明する。 In the
That is, in the first embodiment, the cycle number is updated every unit time Tc, the data with the cycle number added is received, the cycle number is added to the data, and the data with the cycle number added is transmitted. A computer will be described.
In the second embodiment, a computer that updates a time stamp every unit time Tc, receives data with a time stamp added thereto, adds a time stamp to the data, and transmits the data with the time stamp added thereto. explain.
実施の形態1.
***構成の説明***
図3は、本実施の形態に係る計算機のモジュール構成例を示す。
本実施の形態に係る計算機は、周期処理を行う。
このため、本実施の形態に係る計算機は、周期番号を更新する。
図3は、図2に対応し、管理番号として周期番号を用いる場合の計算機のモジュール構成例を示す。
周期番号は、単位時間Tc分の時間幅(周期)ごとの連番であり、一定の刻み幅(例えば、1)で値が更新される。
図3では、計算機102のモジュール構成例を示すが、計算機101及び計算機103も、同じ構成である。
なお、図3に示すモジュール構成を、多重処理同期システムともいう。Embodiment 1 FIG.
*** Explanation of configuration ***
FIG. 3 shows a module configuration example of the computer according to the present embodiment.
The computer according to the present embodiment performs periodic processing.
For this reason, the computer according to the present embodiment updates the cycle number.
FIG. 3 corresponds to FIG. 2 and shows an example of a module configuration of a computer when a cycle number is used as a management number.
The cycle number is a serial number for each time width (cycle) for the unit time Tc, and the value is updated at a constant step size (for example, 1).
FIG. 3 shows a module configuration example of thecomputer 102, but the computer 101 and the computer 103 have the same configuration.
The module configuration shown in FIG. 3 is also referred to as a multiprocessing synchronization system.
***構成の説明***
図3は、本実施の形態に係る計算機のモジュール構成例を示す。
本実施の形態に係る計算機は、周期処理を行う。
このため、本実施の形態に係る計算機は、周期番号を更新する。
図3は、図2に対応し、管理番号として周期番号を用いる場合の計算機のモジュール構成例を示す。
周期番号は、単位時間Tc分の時間幅(周期)ごとの連番であり、一定の刻み幅(例えば、1)で値が更新される。
図3では、計算機102のモジュール構成例を示すが、計算機101及び計算機103も、同じ構成である。
なお、図3に示すモジュール構成を、多重処理同期システムともいう。
*** Explanation of configuration ***
FIG. 3 shows a module configuration example of the computer according to the present embodiment.
The computer according to the present embodiment performs periodic processing.
For this reason, the computer according to the present embodiment updates the cycle number.
FIG. 3 corresponds to FIG. 2 and shows an example of a module configuration of a computer when a cycle number is used as a management number.
The cycle number is a serial number for each time width (cycle) for the unit time Tc, and the value is updated at a constant step size (for example, 1).
FIG. 3 shows a module configuration example of the
The module configuration shown in FIG. 3 is also referred to as a multiprocessing synchronization system.
受信データ処理部201は、図2に示す受信データ処理部1021に対応する。
つまり、受信データ処理部201は、計算機101aと計算機101bから送信された、データフレーム208aとデータフレーム208bを受信する。
データフレーム208aとデータフレーム208bは、図2に示すデータフレーム151aとデータフレーム151bに相当する。
計算機101aからのデータフレームをデータフレーム208aとし、計算機101bからのデータフレームをデータフレーム209bとする。
データフレーム208aとデータフレーム208bでは、管理番号として周期番号が含まれている。
以下では、データフレーム208aとデータフレーム208bとを区別する必要がない場合は、両者を合わせてデータフレーム208という。
受信データ処理部201は、データフレーム208aとデータフレーム208bのうちのいずれかの受信データを受信データ記憶部204に格納する。
より具体的には、受信データ処理部201は、受信したデータフレーム208の周期番号と管理番号記憶部1025で記憶されている現在の周期番号とを比較する。
そして、受信データ処理部201は、受信したデータフレーム208の周期番号が現在の周期番号よりも前の周期番号であれば、データフレーム208を廃棄する。
受信したデータフレーム208の周期番号が現在の周期番号以降の周期番号であれば、受信データ処理部201は、受信したデータフレーム208の周期番号と同じ周期番号の他のデータフレーム208が先に受信されていたか否かを判断する。
そして、他のデータフレーム208が先に受信されていた場合に、受信データ処理部201は、受信したデータフレーム208を廃棄する。
一方、他のデータフレーム208が受信されていない場合は、受信データ処理部201は、受信したデータフレーム208を受信データ記憶部204に格納する。
また、受信データ処理部201は、受信データ記憶部204から、現在の周期番号と同じ周期番号が付加されているデータフレーム208のデータを読み出す。 The receptiondata processing unit 201 corresponds to the reception data processing unit 1021 shown in FIG.
That is, the receptiondata processing unit 201 receives the data frame 208a and the data frame 208b transmitted from the computer 101a and the computer 101b.
Thedata frame 208a and the data frame 208b correspond to the data frame 151a and the data frame 151b illustrated in FIG.
A data frame from thecomputer 101a is referred to as a data frame 208a, and a data frame from the computer 101b is referred to as a data frame 209b.
In thedata frame 208a and the data frame 208b, a cycle number is included as a management number.
Hereinafter, when it is not necessary to distinguish between thedata frame 208a and the data frame 208b, they are collectively referred to as the data frame 208.
The receptiondata processing unit 201 stores the reception data of either the data frame 208 a or the data frame 208 b in the reception data storage unit 204.
More specifically, the receptiondata processing unit 201 compares the cycle number of the received data frame 208 with the current cycle number stored in the management number storage unit 1025.
The receiveddata processing unit 201 discards the data frame 208 if the cycle number of the received data frame 208 is a cycle number before the current cycle number.
If the cycle number of the received data frame 208 is a cycle number after the current cycle number, the receiveddata processing unit 201 first receives another data frame 208 having the same cycle number as the cycle number of the received data frame 208. It is judged whether it was done.
If another data frame 208 has been received first, the receiveddata processing unit 201 discards the received data frame 208.
On the other hand, if another data frame 208 has not been received, the receiveddata processing unit 201 stores the received data frame 208 in the received data storage unit 204.
In addition, the receptiondata processing unit 201 reads data of the data frame 208 to which the same cycle number as the current cycle number is added from the reception data storage unit 204.
つまり、受信データ処理部201は、計算機101aと計算機101bから送信された、データフレーム208aとデータフレーム208bを受信する。
データフレーム208aとデータフレーム208bは、図2に示すデータフレーム151aとデータフレーム151bに相当する。
計算機101aからのデータフレームをデータフレーム208aとし、計算機101bからのデータフレームをデータフレーム209bとする。
データフレーム208aとデータフレーム208bでは、管理番号として周期番号が含まれている。
以下では、データフレーム208aとデータフレーム208bとを区別する必要がない場合は、両者を合わせてデータフレーム208という。
受信データ処理部201は、データフレーム208aとデータフレーム208bのうちのいずれかの受信データを受信データ記憶部204に格納する。
より具体的には、受信データ処理部201は、受信したデータフレーム208の周期番号と管理番号記憶部1025で記憶されている現在の周期番号とを比較する。
そして、受信データ処理部201は、受信したデータフレーム208の周期番号が現在の周期番号よりも前の周期番号であれば、データフレーム208を廃棄する。
受信したデータフレーム208の周期番号が現在の周期番号以降の周期番号であれば、受信データ処理部201は、受信したデータフレーム208の周期番号と同じ周期番号の他のデータフレーム208が先に受信されていたか否かを判断する。
そして、他のデータフレーム208が先に受信されていた場合に、受信データ処理部201は、受信したデータフレーム208を廃棄する。
一方、他のデータフレーム208が受信されていない場合は、受信データ処理部201は、受信したデータフレーム208を受信データ記憶部204に格納する。
また、受信データ処理部201は、受信データ記憶部204から、現在の周期番号と同じ周期番号が付加されているデータフレーム208のデータを読み出す。 The reception
That is, the reception
The
A data frame from the
In the
Hereinafter, when it is not necessary to distinguish between the
The reception
More specifically, the reception
The received
If the cycle number of the received data frame 208 is a cycle number after the current cycle number, the received
If another data frame 208 has been received first, the received
On the other hand, if another data frame 208 has not been received, the received
In addition, the reception
アプリケーション処理部202は、図2に示すアプリケーション処理部1022に対応する。
つまり、アプリケーション処理部202は、受信データ処理部201により読み出されたデータを用いたデータ処理(アプリケーション処理)を行う。 Theapplication processing unit 202 corresponds to the application processing unit 1022 illustrated in FIG.
That is, theapplication processing unit 202 performs data processing (application processing) using the data read by the reception data processing unit 201.
つまり、アプリケーション処理部202は、受信データ処理部201により読み出されたデータを用いたデータ処理(アプリケーション処理)を行う。 The
That is, the
送信データ処理部203は、図2に示す送信データ処理部1023に相当する。
つまり、送信データ処理部203は、計算機103aと計算機103bに送信するデータフレーム209aとデータフレーム209bの周期番号を決定する。
データフレーム209aとデータフレーム209bは、図2に示すデータフレーム152aとデータフレーム152bに相当する。
データフレーム209aを計算機103aへのデータフレームとし、データフレーム209bを計算機103bへのデータフレームとする。
データフレーム209aとデータフレーム209bでは、管理番号として周期番号が含まれる。
送信データ処理部203は、周期番号が含まれるデータフレーム209aとデータフレーム209bを計算機103aと計算機103bに送信する。
なお、データフレーム209aとデータフレーム209bとを区別する必要がない場合は、両者を合わせてデータフレーム209という。 The transmissiondata processing unit 203 corresponds to the transmission data processing unit 1023 shown in FIG.
That is, the transmissiondata processing unit 203 determines the cycle numbers of the data frame 209a and the data frame 209b to be transmitted to the computer 103a and the computer 103b.
Thedata frame 209a and the data frame 209b correspond to the data frame 152a and the data frame 152b illustrated in FIG.
Thedata frame 209a is a data frame to the computer 103a, and the data frame 209b is a data frame to the computer 103b.
In thedata frame 209a and the data frame 209b, a cycle number is included as a management number.
The transmissiondata processing unit 203 transmits the data frame 209a and the data frame 209b including the cycle number to the computer 103a and the computer 103b.
Note that when there is no need to distinguish between thedata frame 209a and the data frame 209b, the two are collectively referred to as a data frame 209.
つまり、送信データ処理部203は、計算機103aと計算機103bに送信するデータフレーム209aとデータフレーム209bの周期番号を決定する。
データフレーム209aとデータフレーム209bは、図2に示すデータフレーム152aとデータフレーム152bに相当する。
データフレーム209aを計算機103aへのデータフレームとし、データフレーム209bを計算機103bへのデータフレームとする。
データフレーム209aとデータフレーム209bでは、管理番号として周期番号が含まれる。
送信データ処理部203は、周期番号が含まれるデータフレーム209aとデータフレーム209bを計算機103aと計算機103bに送信する。
なお、データフレーム209aとデータフレーム209bとを区別する必要がない場合は、両者を合わせてデータフレーム209という。 The transmission
That is, the transmission
The
The
In the
The transmission
Note that when there is no need to distinguish between the
受信データ記憶部204は、図2に示す受信データ記憶部1024に相当する。
つまり、受信データ記憶部204は、データフレーム208a又はデータフレーム208bを記憶する。 The receptiondata storage unit 204 corresponds to the reception data storage unit 1024 shown in FIG.
That is, the receptiondata storage unit 204 stores the data frame 208a or the data frame 208b.
つまり、受信データ記憶部204は、データフレーム208a又はデータフレーム208bを記憶する。 The reception
That is, the reception
周期番号記憶部205は、図2に示す管理番号記憶部1025に相当する。
つまり、周期番号記憶部205は、現在の周期番号を記憶する。 The cyclenumber storage unit 205 corresponds to the management number storage unit 1025 shown in FIG.
That is, the cyclenumber storage unit 205 stores the current cycle number.
つまり、周期番号記憶部205は、現在の周期番号を記憶する。 The cycle
That is, the cycle
加算周期数記憶部206は、周期番号記憶部205で記憶している現在の周期番号に加算する周期数を加算周期数として記憶する。
加算周期数記憶部206が記憶している加算周期数は、例えば、許容誤差Δtを単位時間Tcで除算して得られる除算値の端数を切り上げた整数値である。 The addition cyclenumber storage unit 206 stores the number of cycles to be added to the current cycle number stored in the cycle number storage unit 205 as the addition cycle number.
The addition cycle number stored in the addition cyclenumber storage unit 206 is, for example, an integer value obtained by rounding up the fractional value obtained by dividing the allowable error Δt by the unit time Tc.
加算周期数記憶部206が記憶している加算周期数は、例えば、許容誤差Δtを単位時間Tcで除算して得られる除算値の端数を切り上げた整数値である。 The addition cycle
The addition cycle number stored in the addition cycle
時刻同期機構207は、図2に示す管理番号更新部1027に相当する。
つまり、時刻同期機構207は、単位時間Tcごとに周期番号を更新する。
時刻同期機構207は、インクリメントにより周期番号を更新する。 Thetime synchronization mechanism 207 corresponds to the management number update unit 1027 shown in FIG.
That is, thetime synchronization mechanism 207 updates the cycle number every unit time Tc.
Thetime synchronization mechanism 207 updates the cycle number by increment.
つまり、時刻同期機構207は、単位時間Tcごとに周期番号を更新する。
時刻同期機構207は、インクリメントにより周期番号を更新する。 The
That is, the
The
図4は、データフレーム208及びデータフレーム209の構成を示す。
データフレーム208及びデータフレーム209は、処理周期番号300とデータ301で構成される。
データ301は、受信データ又は送信データである。
処理周期番号300は、データ301の送信先の計算機のアプリケーション処理部202にデータ301を処理させる周期の周期番号が示される。 FIG. 4 shows the configuration of the data frame 208 and the data frame 209.
The data frame 208 and the data frame 209 are composed of aprocessing cycle number 300 and data 301.
Data 301 is reception data or transmission data.
Theprocessing cycle number 300 indicates the cycle number of the cycle in which the application processing unit 202 of the computer that is the transmission destination of the data 301 processes the data 301.
データフレーム208及びデータフレーム209は、処理周期番号300とデータ301で構成される。
データ301は、受信データ又は送信データである。
処理周期番号300は、データ301の送信先の計算機のアプリケーション処理部202にデータ301を処理させる周期の周期番号が示される。 FIG. 4 shows the configuration of the data frame 208 and the data frame 209.
The data frame 208 and the data frame 209 are composed of a
The
図5は、受信データ記憶部204における記憶内容を示す。
受信データ記憶部204は、図4に示した処理周期番号300とデータ301の組(データフレーム208)を複数記憶する。 FIG. 5 shows the contents stored in the receiveddata storage unit 204.
The receptiondata storage unit 204 stores a plurality of sets (data frames 208) of the processing cycle number 300 and the data 301 shown in FIG.
受信データ記憶部204は、図4に示した処理周期番号300とデータ301の組(データフレーム208)を複数記憶する。 FIG. 5 shows the contents stored in the received
The reception
***動作の説明***
次に、本実施の形態に係る計算機の動作を説明する。
アプリケーション処理部202は、一定時間の間隔で起動し、受信データを読み出し、処理して得られた結果を他の計算機に送信する。
また、すべての計算機は、Network Time Protocol、あるいはPrecision Time Protocolなどの時刻同期機構207により、一定範囲内の時間の誤差で動作しているものとする。
以下では、計算機102aの動作を説明する。
まず、計算機102aが、他の計算機101からのデータフレーム208を受信した時の動作を、図6のフローチャートを用いて説明する。 *** Explanation of operation ***
Next, the operation of the computer according to the present embodiment will be described.
Theapplication processing unit 202 is activated at regular time intervals, reads out received data, and transmits a result obtained by processing to another computer.
Further, all the computers are assumed to be operating with a time error within a certain range by atime synchronization mechanism 207 such as a Network Time Protocol or a Precision Time Protocol.
Below, operation | movement of thecomputer 102a is demonstrated.
First, the operation when thecomputer 102a receives a data frame 208 from another computer 101 will be described with reference to the flowchart of FIG.
次に、本実施の形態に係る計算機の動作を説明する。
アプリケーション処理部202は、一定時間の間隔で起動し、受信データを読み出し、処理して得られた結果を他の計算機に送信する。
また、すべての計算機は、Network Time Protocol、あるいはPrecision Time Protocolなどの時刻同期機構207により、一定範囲内の時間の誤差で動作しているものとする。
以下では、計算機102aの動作を説明する。
まず、計算機102aが、他の計算機101からのデータフレーム208を受信した時の動作を、図6のフローチャートを用いて説明する。 *** Explanation of operation ***
Next, the operation of the computer according to the present embodiment will be described.
The
Further, all the computers are assumed to be operating with a time error within a certain range by a
Below, operation | movement of the
First, the operation when the
受信データ処理部201は、他計算機101からのデータフレーム208を受信すると処理を開始する。
受信データ処理部201は、受信したデータフレーム208の処理周期番号300を周期番号記憶部205内の現在の周期番号と比較する(S500)。
処理周期番号300が過去の周期番号である場合(S500でYES)は、送信元の計算機101に何らかの障害が発生してデータフレーム208が遅れて到着したものとして、受信データ処理部201は、受信したデータフレーム208を廃棄する(S503)。 When the receiveddata processing unit 201 receives the data frame 208 from the other computer 101, the received data processing unit 201 starts processing.
The receiveddata processing unit 201 compares the processing cycle number 300 of the received data frame 208 with the current cycle number in the cycle number storage unit 205 (S500).
When theprocessing cycle number 300 is a past cycle number (YES in S500), the received data processing unit 201 determines that the data frame 208 has arrived with a delay due to some failure in the transmission source computer 101. The discarded data frame 208 is discarded (S503).
受信データ処理部201は、受信したデータフレーム208の処理周期番号300を周期番号記憶部205内の現在の周期番号と比較する(S500)。
処理周期番号300が過去の周期番号である場合(S500でYES)は、送信元の計算機101に何らかの障害が発生してデータフレーム208が遅れて到着したものとして、受信データ処理部201は、受信したデータフレーム208を廃棄する(S503)。 When the received
The received
When the
受信したデータフレーム208の処理周期番号300が現在の周期番号以降の周期番号である場合(S500でNO)は、受信データ処理部201は、受信したデータフレーム208の処理周期番号300と同じ処理周期番号が付加されているデータが既に受信データ記憶部204に保存されているかどうかを調べる(S501)。
When the processing cycle number 300 of the received data frame 208 is a cycle number after the current cycle number (NO in S500), the reception data processing unit 201 has the same processing cycle as the processing cycle number 300 of the received data frame 208. It is checked whether the data to which the number is added is already stored in the received data storage unit 204 (S501).
受信したデータフレーム208の処理周期番号300と同じ処理周期番号が付加されているデータが既に受信データ記憶部204に保存されている場合(S501でYES)は、そのデータは他の計算機から既に送信されたものであるので、受信データ処理部201は、受信したデータフレーム208を廃棄する(S503)。
一方、受信したデータフレーム208の処理周期番号300と同じ処理周期番号が付加されているデータが受信データ記憶部204に保存されていない場合(S501でNO)は、受信データ処理部201は、受信したデータフレーム208を受信データ記憶部204に格納する(S502)。 When data having the same processing cycle number as theprocessing cycle number 300 of the received data frame 208 is already stored in the received data storage unit 204 (YES in S501), the data has already been transmitted from another computer. As a result, the received data processing unit 201 discards the received data frame 208 (S503).
On the other hand, when data having the same processing cycle number as theprocessing cycle number 300 of the received data frame 208 is not stored in the reception data storage unit 204 (NO in S501), the reception data processing unit 201 receives the data The received data frame 208 is stored in the received data storage unit 204 (S502).
一方、受信したデータフレーム208の処理周期番号300と同じ処理周期番号が付加されているデータが受信データ記憶部204に保存されていない場合(S501でNO)は、受信データ処理部201は、受信したデータフレーム208を受信データ記憶部204に格納する(S502)。 When data having the same processing cycle number as the
On the other hand, when data having the same processing cycle number as the
図6に示す手順により、例えば計算機101aと計算機101bが同じ処理を行い計算機102aに同じデータを送信すると、計算機102aの受信データ処理部201は計算機101aからのデータ及び計算機101bからのデータのうち先に届いたデータを保存し、後から届いたデータを廃棄する。
なお、現在の周期番号は、アプリケーション処理部202が処理周期を進める度に、時刻同期機構207が更新し、周期番号記憶部205が新たな周期番号を記憶する。 When, for example, thecomputer 101a and the computer 101b perform the same processing and transmit the same data to the computer 102a according to the procedure shown in FIG. 6, the received data processing unit 201 of the computer 102a first selects the data from the computer 101a and the data from the computer 101b. The data that arrived at is saved, and the data that arrived later is discarded.
The current cycle number is updated by thetime synchronization mechanism 207 every time the application processing unit 202 advances the processing cycle, and the cycle number storage unit 205 stores a new cycle number.
なお、現在の周期番号は、アプリケーション処理部202が処理周期を進める度に、時刻同期機構207が更新し、周期番号記憶部205が新たな周期番号を記憶する。 When, for example, the
The current cycle number is updated by the
次に、受信データ処理部201が、アプリケーション処理部202におけるアプリケーション処理のために、受信データ記憶部204からデータ301を読み出す際の動作を、図7のフローチャートを用いて説明する。
Next, an operation when the reception data processing unit 201 reads the data 301 from the reception data storage unit 204 for application processing in the application processing unit 202 will be described with reference to the flowchart of FIG.
受信データ処理部201は、アプリケーション処理部202が受信データの読み出し要求を行うと処理を開始する。
受信データ処理部201は、現在の周期番号に一致する処理周期番号300を持つデータ301を受信データ記憶部204内で検索する(S600)。
該当するデータが見つかった場合(S601でYES)は、受信データ処理部201は、該当するデータを受信データ記憶部204から読み出し、アプリケーション処理部202に、読み出したデータ301を渡す(S602)。
また、受信データ処理部201は、読み出したデータ301及び処理周期番号300を受信データ記憶部204から削除する。
一方、該当するデータが見つからない場合(S601でNO)は、受信データ処理部201は、該当するデータが存在しない旨をアプリケーション処理部202に応答する(S603)。 The receptiondata processing unit 201 starts processing when the application processing unit 202 issues a read data read request.
The receptiondata processing unit 201 searches the reception data storage unit 204 for data 301 having a processing cycle number 300 that matches the current cycle number (S600).
When the corresponding data is found (YES in S601), the receiveddata processing unit 201 reads the corresponding data from the received data storage unit 204, and passes the read data 301 to the application processing unit 202 (S602).
In addition, the receptiondata processing unit 201 deletes the read data 301 and the processing cycle number 300 from the reception data storage unit 204.
On the other hand, when the corresponding data is not found (NO in S601), the receptiondata processing unit 201 responds to the application processing unit 202 that the corresponding data does not exist (S603).
受信データ処理部201は、現在の周期番号に一致する処理周期番号300を持つデータ301を受信データ記憶部204内で検索する(S600)。
該当するデータが見つかった場合(S601でYES)は、受信データ処理部201は、該当するデータを受信データ記憶部204から読み出し、アプリケーション処理部202に、読み出したデータ301を渡す(S602)。
また、受信データ処理部201は、読み出したデータ301及び処理周期番号300を受信データ記憶部204から削除する。
一方、該当するデータが見つからない場合(S601でNO)は、受信データ処理部201は、該当するデータが存在しない旨をアプリケーション処理部202に応答する(S603)。 The reception
The reception
When the corresponding data is found (YES in S601), the received
In addition, the reception
On the other hand, when the corresponding data is not found (NO in S601), the reception
次に、送信データ処理部203がデータフレーム209を送信する際の動作を、図8のフローチャートを用いて説明する。
Next, the operation when the transmission data processing unit 203 transmits the data frame 209 will be described with reference to the flowchart of FIG.
送信データ処理部203は、アプリケーション処理部202がデータの送信要求を行うと処理を開始する。
送信データ処理部203は、アプリケーション処理部202から送信データを取得するとともに、送信データに付加する処理周期番号を決定し、決定した処理周期番号を送信データに付加してデータフレーム209を生成する(S700)。
送信データ処理部203は、周期番号記憶部205内の現在の周期番号に、加算周期数記憶部206内の加算周期数を加算して得られる周期番号を処理周期番号とする。
加算周期数記憶部206の加算周期数は、許容誤差Δtを吸収できる周期数である。
例えば、加算周期数は、許容誤差Δtを周期処理の周期(単位時間Tc)で除算して得られる除算値(Δt/Tc)の端数を切り上げた値である。
また、除算値(Δ/Tc)の端数を切り上げた値に計算機102aと計算機103との通信遅延を加えた値を、加算周期数としてもよい。 The transmissiondata processing unit 203 starts processing when the application processing unit 202 makes a data transmission request.
The transmissiondata processing unit 203 acquires the transmission data from the application processing unit 202, determines a processing cycle number to be added to the transmission data, and adds the determined processing cycle number to the transmission data to generate a data frame 209 ( S700).
The transmissiondata processing unit 203 uses a cycle number obtained by adding the addition cycle number in the addition cycle number storage unit 206 to the current cycle number in the cycle number storage unit 205 as a processing cycle number.
The addition period number of the addition periodnumber storage unit 206 is a period number that can absorb the allowable error Δt.
For example, the number of addition cycles is a value obtained by rounding up the fractional value (Δt / Tc) obtained by dividing the allowable error Δt by the cycle processing period (unit time Tc).
Alternatively, a value obtained by rounding up the fractional value (Δ / Tc) and adding a communication delay between thecomputer 102a and the computer 103 may be used as the number of addition cycles.
送信データ処理部203は、アプリケーション処理部202から送信データを取得するとともに、送信データに付加する処理周期番号を決定し、決定した処理周期番号を送信データに付加してデータフレーム209を生成する(S700)。
送信データ処理部203は、周期番号記憶部205内の現在の周期番号に、加算周期数記憶部206内の加算周期数を加算して得られる周期番号を処理周期番号とする。
加算周期数記憶部206の加算周期数は、許容誤差Δtを吸収できる周期数である。
例えば、加算周期数は、許容誤差Δtを周期処理の周期(単位時間Tc)で除算して得られる除算値(Δt/Tc)の端数を切り上げた値である。
また、除算値(Δ/Tc)の端数を切り上げた値に計算機102aと計算機103との通信遅延を加えた値を、加算周期数としてもよい。 The transmission
The transmission
The transmission
The addition period number of the addition period
For example, the number of addition cycles is a value obtained by rounding up the fractional value (Δt / Tc) obtained by dividing the allowable error Δt by the cycle processing period (unit time Tc).
Alternatively, a value obtained by rounding up the fractional value (Δ / Tc) and adding a communication delay between the
送信データ処理部203は、全ての送信先の計算機である計算機103a、計算機103bにデータフレーム209を送信する(S701)。
The transmission data processing unit 203 transmits the data frame 209 to the computers 103a and 103b, which are all transmission destination computers (S701).
本実施の形態のデータ処理のタイミングを、図9を用いて説明する。
The timing of data processing according to this embodiment will be described with reference to FIG.
図1のすべての計算機は、時刻同期機構207により、許容誤差Δt秒以内の誤差で動作している。
図9では、図1の計算機101a、101b、102a、102bのN番目、N+1番目、N+2番目の周期処理を、横方向を時間の経過として表している。
計算機101a及び計算機101bは、各周期処理の最後にデータを送信し、計算機102a及び102bは、各周期処理の最初に計算機101a及び計算機101bからの受信データを受信データ記憶部204から読み出す。
本実施の形態に係る方式が用いられない場合は、計算機101aの周期N(800)の送信データは、計算機102aでは周期N+1(801)の先頭で読み出され、計算機102bでは、周期N+2(802)の先頭で読み出される。
計算機102aは、このデータを周期N+1(801)で処理するため、処理結果のデータが計算機102aから計算機103a及び計算機103bに周期N+1(801)で送信される。
計算機102bは、このデータを周期N+2(802)で処理するため、処理結果のデータが計算機102bから計算機103a及び計算機103bに周期N+2(802)で送信される。
このように、本実施の形態に係る方式が用いられない場合は、各周期において計算機間で処理結果が異なってしまう。
一方、本実施の形態に係る方式では、許容誤差Δtを周期処理の周期Tcで除算して得られる除算値(Δt/Tc)の端数を切り上げた値である加算周期数(図9の例では、2)を現在の周期N(800)に加算するので、計算機101aの周期N(800)の送信データ及び計算機101bの周期N(803)の送信データは、計算機102aでは周期N+2(804)で読み出され、同様に、計算機102bでも周期N+2(802)で読み出される。
この結果、計算機102aからの送信データが計算機103a及び計算機103bに周期N+2(804)で送信され、計算機102bからの送信データが計算機103a及び計算機103bに周期N+2(802)で送信される。
図1では、2台の計算機で二重化していたが、3台以上の計算機で多重化した場合も同様の動作となる。 All the computers in FIG. 1 operate with an error within an allowable error Δt seconds by thetime synchronization mechanism 207.
In FIG. 9, the Nth, N + 1th, and N + 2th periodic processes of the computers 101a, 101b, 102a, and 102b in FIG.
Thecomputer 101a and the computer 101b transmit data at the end of each periodic process, and the computers 102a and 102b read out received data from the computer 101a and the computer 101b from the received data storage unit 204 at the beginning of each periodic process.
When the method according to the present embodiment is not used, the transmission data of the cycle N (800) of thecomputer 101a is read at the head of the cycle N + 1 (801) in the computer 102a, and the cycle N + 2 (802) in the computer 102b. ).
Since thecomputer 102a processes this data with the cycle N + 1 (801), the processing result data is transmitted from the computer 102a to the computer 103a and the computer 103b with the cycle N + 1 (801).
Since thecomputer 102b processes this data at the cycle N + 2 (802), the processing result data is transmitted from the computer 102b to the computer 103a and the computer 103b at the cycle N + 2 (802).
Thus, when the method according to the present embodiment is not used, the processing results differ between computers in each cycle.
On the other hand, in the method according to the present embodiment, the number of addition periods (in the example of FIG. 9), which is a value obtained by rounding up the division value (Δt / Tc) obtained by dividing the allowable error Δt by the period Tc of the period processing. 2) is added to the current cycle N (800), the transmission data of cycle N (800) ofcomputer 101a and the transmission data of cycle N (803) of computer 101b are cycle N + 2 (804) in computer 102a. Similarly, it is read out in the cycle N + 2 (802) in the computer 102b as well.
As a result, transmission data from thecomputer 102a is transmitted to the computer 103a and the computer 103b with a cycle N + 2 (804), and transmission data from the computer 102b is transmitted to the computer 103a and the computer 103b with a cycle N + 2 (802).
In FIG. 1, the duplication is performed by two computers, but the same operation is performed when the duplication is performed by three or more computers.
図9では、図1の計算機101a、101b、102a、102bのN番目、N+1番目、N+2番目の周期処理を、横方向を時間の経過として表している。
計算機101a及び計算機101bは、各周期処理の最後にデータを送信し、計算機102a及び102bは、各周期処理の最初に計算機101a及び計算機101bからの受信データを受信データ記憶部204から読み出す。
本実施の形態に係る方式が用いられない場合は、計算機101aの周期N(800)の送信データは、計算機102aでは周期N+1(801)の先頭で読み出され、計算機102bでは、周期N+2(802)の先頭で読み出される。
計算機102aは、このデータを周期N+1(801)で処理するため、処理結果のデータが計算機102aから計算機103a及び計算機103bに周期N+1(801)で送信される。
計算機102bは、このデータを周期N+2(802)で処理するため、処理結果のデータが計算機102bから計算機103a及び計算機103bに周期N+2(802)で送信される。
このように、本実施の形態に係る方式が用いられない場合は、各周期において計算機間で処理結果が異なってしまう。
一方、本実施の形態に係る方式では、許容誤差Δtを周期処理の周期Tcで除算して得られる除算値(Δt/Tc)の端数を切り上げた値である加算周期数(図9の例では、2)を現在の周期N(800)に加算するので、計算機101aの周期N(800)の送信データ及び計算機101bの周期N(803)の送信データは、計算機102aでは周期N+2(804)で読み出され、同様に、計算機102bでも周期N+2(802)で読み出される。
この結果、計算機102aからの送信データが計算機103a及び計算機103bに周期N+2(804)で送信され、計算機102bからの送信データが計算機103a及び計算機103bに周期N+2(802)で送信される。
図1では、2台の計算機で二重化していたが、3台以上の計算機で多重化した場合も同様の動作となる。 All the computers in FIG. 1 operate with an error within an allowable error Δt seconds by the
In FIG. 9, the Nth, N + 1th, and N + 2th periodic processes of the
The
When the method according to the present embodiment is not used, the transmission data of the cycle N (800) of the
Since the
Since the
Thus, when the method according to the present embodiment is not used, the processing results differ between computers in each cycle.
On the other hand, in the method according to the present embodiment, the number of addition periods (in the example of FIG. 9), which is a value obtained by rounding up the division value (Δt / Tc) obtained by dividing the allowable error Δt by the period Tc of the period processing. 2) is added to the current cycle N (800), the transmission data of cycle N (800) of
As a result, transmission data from the
In FIG. 1, the duplication is performed by two computers, but the same operation is performed when the duplication is performed by three or more computers.
***効果の説明***
以上のように、多重処理を行う計算機が、データを処理する周期番号を指定してデータを送信先の計算機に送信する。
データを受信した計算機では、指定された周期番号のタイミングで、受信したデータを読み出す。
このような手順により、多重処理を行う計算機間で動作タイミングを同期させなくても、処理結果を一致させることができる。 *** Explanation of effects ***
As described above, a computer that performs multiple processing designates a cycle number for processing data and transmits the data to a destination computer.
The computer that has received the data reads the received data at the timing of the specified cycle number.
According to such a procedure, the processing results can be matched even if the operation timing is not synchronized between the computers performing the multiprocessing.
以上のように、多重処理を行う計算機が、データを処理する周期番号を指定してデータを送信先の計算機に送信する。
データを受信した計算機では、指定された周期番号のタイミングで、受信したデータを読み出す。
このような手順により、多重処理を行う計算機間で動作タイミングを同期させなくても、処理結果を一致させることができる。 *** Explanation of effects ***
As described above, a computer that performs multiple processing designates a cycle number for processing data and transmits the data to a destination computer.
The computer that has received the data reads the received data at the timing of the specified cycle number.
According to such a procedure, the processing results can be matched even if the operation timing is not synchronized between the computers performing the multiprocessing.
実施の形態2.
以上の実施の形態1では、アプリケーション処理が周期処理の場合に処理周期番号を付加してデータを送信するようにしたものであるが、本実施の形態では、アプリケーション処理が非周期処理の場合に多重化した計算機間で処理結果を一致させる方式を説明する。
より具体的には、本実施の形態に係る計算機は、管理番号として、単位時間Tcごとにタイムスタンプを更新し、データにタイムスタンプを付加し、タイムスタンプが付加されたデータを送信先の計算機に送信する。
タイムスタンプは、単位時間Tc分の時間幅ごとの連番であり、一定の刻み幅(例えば、1)で値が更新される。Embodiment 2. FIG.
In the first embodiment described above, when the application process is a periodic process, the process cycle number is added and data is transmitted. However, in the present embodiment, the application process is a non-periodic process. A method of matching processing results between multiplexed computers will be described.
More specifically, the computer according to the present embodiment updates the time stamp for each unit time Tc as the management number, adds the time stamp to the data, and transmits the data with the time stamp to the destination computer. Send to.
The time stamp is a serial number for each time width corresponding to the unit time Tc, and the value is updated at a constant step size (for example, 1).
以上の実施の形態1では、アプリケーション処理が周期処理の場合に処理周期番号を付加してデータを送信するようにしたものであるが、本実施の形態では、アプリケーション処理が非周期処理の場合に多重化した計算機間で処理結果を一致させる方式を説明する。
より具体的には、本実施の形態に係る計算機は、管理番号として、単位時間Tcごとにタイムスタンプを更新し、データにタイムスタンプを付加し、タイムスタンプが付加されたデータを送信先の計算機に送信する。
タイムスタンプは、単位時間Tc分の時間幅ごとの連番であり、一定の刻み幅(例えば、1)で値が更新される。
In the first embodiment described above, when the application process is a periodic process, the process cycle number is added and data is transmitted. However, in the present embodiment, the application process is a non-periodic process. A method of matching processing results between multiplexed computers will be described.
More specifically, the computer according to the present embodiment updates the time stamp for each unit time Tc as the management number, adds the time stamp to the data, and transmits the data with the time stamp to the destination computer. Send to.
The time stamp is a serial number for each time width corresponding to the unit time Tc, and the value is updated at a constant step size (for example, 1).
***構成の説明***
図10は、本実施の形態に係る計算機のモジュール構成例を示す。
図10は、図2に対応し、管理番号としてタイムスタンプを用いる場合の計算機のモジュール構成例を示す。
図10では、計算機102のモジュール構成例を示すが、計算機101及び計算機103も、同じ構成である。
なお、図10に示すモジュール構成も、多重処理同期システムともいう。 *** Explanation of configuration ***
FIG. 10 shows a module configuration example of the computer according to the present embodiment.
FIG. 10 corresponds to FIG. 2 and shows an example of a module configuration of a computer when a time stamp is used as a management number.
FIG. 10 shows an example of the module configuration of thecomputer 102, but the computer 101 and the computer 103 have the same configuration.
The module configuration shown in FIG. 10 is also called a multiprocessing synchronization system.
図10は、本実施の形態に係る計算機のモジュール構成例を示す。
図10は、図2に対応し、管理番号としてタイムスタンプを用いる場合の計算機のモジュール構成例を示す。
図10では、計算機102のモジュール構成例を示すが、計算機101及び計算機103も、同じ構成である。
なお、図10に示すモジュール構成も、多重処理同期システムともいう。 *** Explanation of configuration ***
FIG. 10 shows a module configuration example of the computer according to the present embodiment.
FIG. 10 corresponds to FIG. 2 and shows an example of a module configuration of a computer when a time stamp is used as a management number.
FIG. 10 shows an example of the module configuration of the
The module configuration shown in FIG. 10 is also called a multiprocessing synchronization system.
受信データ処理部901は、計算機101から送信されたデータフレーム908a及びデータフレーム908bを受信する。
計算機101aからのデータフレームをデータフレーム908aとし、計算機101bからのデータフレームをデータフレーム908bとする。
データフレーム908aとデータフレーム908bには、タイムスタンプが含まれる。
また、受信データ処理部901は、データフレーム908aとデータフレーム908bのうちのいずれかの受信データを受信データ記憶部904に格納する。
受信データ処理部901は、図2に示す受信データ処理部1021に対応する。 The receptiondata processing unit 901 receives the data frame 908a and the data frame 908b transmitted from the computer 101.
A data frame from thecomputer 101a is referred to as a data frame 908a, and a data frame from the computer 101b is referred to as a data frame 908b.
Thedata frame 908a and the data frame 908b include time stamps.
In addition, the receptiondata processing unit 901 stores any reception data of the data frame 908a and the data frame 908b in the reception data storage unit 904.
The receptiondata processing unit 901 corresponds to the reception data processing unit 1021 shown in FIG.
計算機101aからのデータフレームをデータフレーム908aとし、計算機101bからのデータフレームをデータフレーム908bとする。
データフレーム908aとデータフレーム908bには、タイムスタンプが含まれる。
また、受信データ処理部901は、データフレーム908aとデータフレーム908bのうちのいずれかの受信データを受信データ記憶部904に格納する。
受信データ処理部901は、図2に示す受信データ処理部1021に対応する。 The reception
A data frame from the
The
In addition, the reception
The reception
アプリケーション処理部902は、現在のタイムスタンプと同じタイムスタンプが付加されているデータを用いたデータ処理(アプリケーション処理)を行う。
アプリケーション処理部902は、図2に示すアプリケーション処理部1022に対応する。 Theapplication processing unit 902 performs data processing (application processing) using data to which the same time stamp as the current time stamp is added.
Theapplication processing unit 902 corresponds to the application processing unit 1022 illustrated in FIG.
アプリケーション処理部902は、図2に示すアプリケーション処理部1022に対応する。 The
The
送信データ処理部903は、計算機103aと計算機103bに送信するデータフレーム909aとデータフレーム909bのタイムスタンプを決定する。
また、送信データ処理部903は、タイムスタンプが含まれるデータフレーム909aとデータフレーム909bを計算機103aと計算機103bに送信する。
データフレーム909aを計算機103aへのデータフレームとし、データフレーム909bを計算機103bへのデータフレームとする。
送信データ処理部903は、図2に示す送信データ処理部1023に相当する。 The transmissiondata processing unit 903 determines time stamps of the data frame 909a and the data frame 909b to be transmitted to the computer 103a and the computer 103b.
The transmissiondata processing unit 903 transmits the data frame 909a and the data frame 909b including the time stamp to the computer 103a and the computer 103b.
Thedata frame 909a is a data frame to the computer 103a, and the data frame 909b is a data frame to the computer 103b.
The transmissiondata processing unit 903 corresponds to the transmission data processing unit 1023 shown in FIG.
また、送信データ処理部903は、タイムスタンプが含まれるデータフレーム909aとデータフレーム909bを計算機103aと計算機103bに送信する。
データフレーム909aを計算機103aへのデータフレームとし、データフレーム909bを計算機103bへのデータフレームとする。
送信データ処理部903は、図2に示す送信データ処理部1023に相当する。 The transmission
The transmission
The
The transmission
受信データ記憶部904は、データフレーム908a又はデータフレーム908bを記憶する。
受信データ記憶部904は、図2に示す受信データ記憶部1024に相当する。 The receptiondata storage unit 904 stores the data frame 908a or the data frame 908b.
The receptiondata storage unit 904 corresponds to the reception data storage unit 1024 shown in FIG.
受信データ記憶部904は、図2に示す受信データ記憶部1024に相当する。 The reception
The reception
タイムスタンプ記憶部905は、現在のタイムスタンプを記憶する。
タイムスタンプ記憶部905は、図2に示す管理番号記憶部1025に相当する。 The timestamp storage unit 905 stores the current time stamp.
The timestamp storage unit 905 corresponds to the management number storage unit 1025 shown in FIG.
タイムスタンプ記憶部905は、図2に示す管理番号記憶部1025に相当する。 The time
The time
加算タイムスタンプ記憶部906は、タイムスタンプ記憶部905で記憶している現在のタイムスタンプに加算するタイムスタンプの値を加算タイムスタンプとして記憶する。
加算タイムスタンプ記憶部906が記憶している加算タイムスタンプは、例えば、許容誤差Δtを単位時間Tcで除算して得られる除算値の端数を切り上げた整数値である。 The addition timestamp storage unit 906 stores a time stamp value to be added to the current time stamp stored in the time stamp storage unit 905 as an addition time stamp.
The added time stamp stored in the added timestamp storage unit 906 is, for example, an integer value obtained by rounding up the fractional value obtained by dividing the allowable error Δt by the unit time Tc.
加算タイムスタンプ記憶部906が記憶している加算タイムスタンプは、例えば、許容誤差Δtを単位時間Tcで除算して得られる除算値の端数を切り上げた整数値である。 The addition time
The added time stamp stored in the added time
タイムスタンプ更新処理部910は、単位時間Tcごとにタイムスタンプを更新する。
タイムスタンプ更新処理部910は、インクリメントによりタイムスタンプを更新する。
タイムスタンプ更新処理部910は、時刻同期機構207とともに図2に示す管理番号更新部1027に相当する。
時刻同期機構207は、図3に示したものと同じであるため、説明を省略する。 The time stampupdate processing unit 910 updates the time stamp every unit time Tc.
The time stampupdate processing unit 910 updates the time stamp by increment.
The time stampupdate processing unit 910 corresponds to the management number update unit 1027 shown in FIG.
Thetime synchronization mechanism 207 is the same as that shown in FIG.
タイムスタンプ更新処理部910は、インクリメントによりタイムスタンプを更新する。
タイムスタンプ更新処理部910は、時刻同期機構207とともに図2に示す管理番号更新部1027に相当する。
時刻同期機構207は、図3に示したものと同じであるため、説明を省略する。 The time stamp
The time stamp
The time stamp
The
本実施の形態でも、計算機システム10の構成は、図1に示したものと同様である。
以下では、主に実施の形態1との差異を説明する。
以下にて説明していない事項は、実施の形態1と同じである。
また、以下では、データフレーム908aとデータフレーム908bとを区別する必要がない場合は、両者を合わせてデータフレーム908という。
同様に、データフレーム909aとデータフレーム909bとを区別する必要がない場合は、両者を合わせてデータフレーム909という。 Also in this embodiment, the configuration of thecomputer system 10 is the same as that shown in FIG.
Hereinafter, differences from the first embodiment will be mainly described.
Matters not described below are the same as those in the first embodiment.
In the following description, when it is not necessary to distinguish between thedata frame 908a and the data frame 908b, they are collectively referred to as a data frame 908.
Similarly, when it is not necessary to distinguish between thedata frame 909a and the data frame 909b, they are collectively referred to as a data frame 909.
以下では、主に実施の形態1との差異を説明する。
以下にて説明していない事項は、実施の形態1と同じである。
また、以下では、データフレーム908aとデータフレーム908bとを区別する必要がない場合は、両者を合わせてデータフレーム908という。
同様に、データフレーム909aとデータフレーム909bとを区別する必要がない場合は、両者を合わせてデータフレーム909という。 Also in this embodiment, the configuration of the
Hereinafter, differences from the first embodiment will be mainly described.
Matters not described below are the same as those in the first embodiment.
In the following description, when it is not necessary to distinguish between the
Similarly, when it is not necessary to distinguish between the
図11は、データフレーム908及びデータフレーム909の構成を示す。
データフレーム908及びデータフレーム909は、処理タイムスタンプ1000とデータ301で構成される。
データ301は、受信データ又は送信データである。
処理タイムスタンプ1000は、データ301の送信先の計算機のアプリケーション処理部902にデータ301を処理させるタイミングに対応するタイムスタンプが示される。 FIG. 11 shows the configuration of the data frame 908 and the data frame 909.
The data frame 908 and the data frame 909 are composed of aprocessing time stamp 1000 and data 301.
Data 301 is reception data or transmission data.
Theprocessing time stamp 1000 indicates a time stamp corresponding to the timing at which the application processing unit 902 of the computer that is the transmission destination of the data 301 processes the data 301.
データフレーム908及びデータフレーム909は、処理タイムスタンプ1000とデータ301で構成される。
データ301は、受信データ又は送信データである。
処理タイムスタンプ1000は、データ301の送信先の計算機のアプリケーション処理部902にデータ301を処理させるタイミングに対応するタイムスタンプが示される。 FIG. 11 shows the configuration of the data frame 908 and the data frame 909.
The data frame 908 and the data frame 909 are composed of a
The
図12は、受信データ記憶部904における記憶内容を示す。
受信データ記憶部904は、図11に示した処理タイムスタンプ1000とデータ301の組(データフレーム908)を複数記憶する。 FIG. 12 shows the contents stored in the receiveddata storage unit 904.
The receptiondata storage unit 904 stores a plurality of sets (data frames 908) of the processing time stamp 1000 and the data 301 shown in FIG.
受信データ記憶部904は、図11に示した処理タイムスタンプ1000とデータ301の組(データフレーム908)を複数記憶する。 FIG. 12 shows the contents stored in the received
The reception
***動作の説明***
次に、本実施の形態に係る計算機の動作を説明する。
アプリケーション処理部902は、予め受信データ処理部901に対して、データの読み込み要求を出しておき、他計算機からのデータフレームを待っているものとする。
そして、受信データ処理部901がデータフレームを受信したら、計算機が処理を開始するものとする。
1つの処理は単位時間Tc以内に完了する。
タイムスタンプ更新処理部910は、単位時間Tcごとの時間幅にタイムスタンプを割り当てる。
以下では、計算機102aの動作を説明する。
まず、計算機102aが、他の計算機101からデータフレーム908を受信した時の動作を、図13のフローチャートを用いて説明する。 *** Explanation of operation ***
Next, the operation of the computer according to the present embodiment will be described.
It is assumed that theapplication processing unit 902 issues a data read request to the reception data processing unit 901 in advance and waits for a data frame from another computer.
Then, when the receiveddata processing unit 901 receives a data frame, the computer starts processing.
One process is completed within the unit time Tc.
The time stampupdate processing unit 910 assigns a time stamp to the time width for each unit time Tc.
Below, operation | movement of thecomputer 102a is demonstrated.
First, the operation when thecomputer 102a receives a data frame 908 from another computer 101 will be described with reference to the flowchart of FIG.
次に、本実施の形態に係る計算機の動作を説明する。
アプリケーション処理部902は、予め受信データ処理部901に対して、データの読み込み要求を出しておき、他計算機からのデータフレームを待っているものとする。
そして、受信データ処理部901がデータフレームを受信したら、計算機が処理を開始するものとする。
1つの処理は単位時間Tc以内に完了する。
タイムスタンプ更新処理部910は、単位時間Tcごとの時間幅にタイムスタンプを割り当てる。
以下では、計算機102aの動作を説明する。
まず、計算機102aが、他の計算機101からデータフレーム908を受信した時の動作を、図13のフローチャートを用いて説明する。 *** Explanation of operation ***
Next, the operation of the computer according to the present embodiment will be described.
It is assumed that the
Then, when the received
One process is completed within the unit time Tc.
The time stamp
Below, operation | movement of the
First, the operation when the
非周期処理の計算機の動作フローである図13では、周期処理の場合の図6に対して、S500とS501をそれぞれS1200とS1201に置き換えており、それぞれ周期番号を対象にしていた処理を、タイムスタンプに置き換えたものとしている。
In FIG. 13 which is the operation flow of the computer for non-periodic processing, S500 and S501 are replaced with S1200 and S1201, respectively, as compared with FIG. 6 in the case of periodic processing. It has been replaced with a stamp.
受信データ処理部901は、他計算機101からのデータフレーム908を受信すると処理を開始する。
受信データ処理部901は、受信したデータフレーム908の処理タイムスタンプ1000をタイムスタンプ記憶部905内の現在のタイムスタンプと比較する(S1200)。
処理タイムスタンプ1000が過去のタイムスタンプである場合(S1200でYES)は、送信元の計算機101に何らかの障害が発生してデータフレーム908が遅れて到着したものとして、受信データ処理部901は、受信したデータフレーム908を廃棄する(S503)。 The receptiondata processing unit 901 starts processing when it receives a data frame 908 from another computer 101.
The receiveddata processing unit 901 compares the processing time stamp 1000 of the received data frame 908 with the current time stamp in the time stamp storage unit 905 (S1200).
If theprocessing time stamp 1000 is a past time stamp (YES in S1200), the reception data processing unit 901 determines that the data frame 908 has arrived late because of some failure in the transmission source computer 101, and the reception data processing unit 901 receives The discarded data frame 908 is discarded (S503).
受信データ処理部901は、受信したデータフレーム908の処理タイムスタンプ1000をタイムスタンプ記憶部905内の現在のタイムスタンプと比較する(S1200)。
処理タイムスタンプ1000が過去のタイムスタンプである場合(S1200でYES)は、送信元の計算機101に何らかの障害が発生してデータフレーム908が遅れて到着したものとして、受信データ処理部901は、受信したデータフレーム908を廃棄する(S503)。 The reception
The received
If the
受信したデータフレーム908の処理タイムスタンプ1000が現在のタイムスタンプ以降のタイムスタンプである場合(S1200でNO)は、受信データ処理部901は、受信したデータフレーム908の処理タイムスタンプ1000と同じ処理タイムスタンプが付加されているデータが既に受信データ記憶部904に保存されているかどうかを調べる(S1201)。
When the processing time stamp 1000 of the received data frame 908 is a time stamp after the current time stamp (NO in S1200), the received data processing unit 901 has the same processing time as the processing time stamp 1000 of the received data frame 908. It is checked whether or not the data to which the stamp is added is already stored in the received data storage unit 904 (S1201).
受信したデータフレーム908の処理タイムスタンプ1000と同じ処理タイムスタンプが付加されているデータが既に受信データ記憶部904に保存されている場合(S1201でYES)は、そのデータは他の計算機から既に送信されたものであるので、受信データ処理部901は、受信したデータフレーム908を廃棄する(S503)。
一方、受信したデータフレーム908の処理タイムスタンプ1000と同じ処理タイムスタンプが付加されているデータが受信データ記憶部904に保存されていない場合(S1201でNO)は、受信データ処理部901は、受信したデータフレーム908を受信データ記憶部904に格納する(S502)。 If data with the same processing time stamp as theprocessing time stamp 1000 of the received data frame 908 is already stored in the received data storage unit 904 (YES in S1201), the data has already been transmitted from another computer. As a result, the received data processing unit 901 discards the received data frame 908 (S503).
On the other hand, when data having the same processing time stamp as theprocessing time stamp 1000 of the received data frame 908 is not stored in the reception data storage unit 904 (NO in S1201), the reception data processing unit 901 receives the data The received data frame 908 is stored in the received data storage unit 904 (S502).
一方、受信したデータフレーム908の処理タイムスタンプ1000と同じ処理タイムスタンプが付加されているデータが受信データ記憶部904に保存されていない場合(S1201でNO)は、受信データ処理部901は、受信したデータフレーム908を受信データ記憶部904に格納する(S502)。 If data with the same processing time stamp as the
On the other hand, when data having the same processing time stamp as the
次に、送信データ処理部903がデータフレーム909を送信する際の動作を、図15のフローチャートを用いて説明する。
Next, the operation when the transmission data processing unit 903 transmits the data frame 909 will be described with reference to the flowchart of FIG.
非周期処理の計算機の動作フローである図15では、周期処理の場合の図8に対して、S700をS1400に変更し、処理周期番号をタイムスタンプに置き換えている。
In FIG. 15 which is the operation flow of the computer for non-periodic processing, S700 is changed to S1400 with respect to FIG. 8 in the case of periodic processing, and the processing cycle number is replaced with a time stamp.
送信データ処理部903は、アプリケーション処理部902がデータの送信要求を行うと処理を開始する。
送信データ処理部903は、アプリケーション処理部902から送信データを取得するとともに、送信データに付加する処理タイムスタンプを決定し、決定した処理タイムスタンプを送信データに付加してデータフレーム909を生成する(S1400)。
送信データ処理部203は、タイムスタンプ記憶部905内の現在のタイムスタンプに、加算タイムスタンプ記憶部906内の加算値を加算して得られるタイムスタンプを処理タイムスタンプとする。
加算タイムスタンプ記憶部906の加算タイムスタンプは、許容誤差Δtを吸収できる周期数である。
例えば、加算タイムスタンプは、許容誤差Δtを単位時間Tcで除算して得られる除算値(Δt/Tc)の端数を切り上げた値である。
また、除算値(Δ/Tc)の端数を切り上げた値に計算機102aと計算機103a及び計算機103bとの通信遅延を加えた値を、加算タイムスタンプとしてもよい。 The transmissiondata processing unit 903 starts processing when the application processing unit 902 makes a data transmission request.
The transmissiondata processing unit 903 acquires the transmission data from the application processing unit 902, determines a processing time stamp to be added to the transmission data, and adds the determined processing time stamp to the transmission data to generate a data frame 909 ( S1400).
The transmissiondata processing unit 203 uses a time stamp obtained by adding the addition value in the addition time stamp storage unit 906 to the current time stamp in the time stamp storage unit 905 as a processing time stamp.
The added time stamp of the added timestamp storage unit 906 is the number of cycles that can absorb the allowable error Δt.
For example, the addition time stamp is a value obtained by rounding up the fractional value (Δt / Tc) obtained by dividing the allowable error Δt by the unit time Tc.
Further, a value obtained by rounding up the fractional value (Δ / Tc) to the communication delay between thecomputer 102a, the computer 103a, and the computer 103b may be used as the addition time stamp.
送信データ処理部903は、アプリケーション処理部902から送信データを取得するとともに、送信データに付加する処理タイムスタンプを決定し、決定した処理タイムスタンプを送信データに付加してデータフレーム909を生成する(S1400)。
送信データ処理部203は、タイムスタンプ記憶部905内の現在のタイムスタンプに、加算タイムスタンプ記憶部906内の加算値を加算して得られるタイムスタンプを処理タイムスタンプとする。
加算タイムスタンプ記憶部906の加算タイムスタンプは、許容誤差Δtを吸収できる周期数である。
例えば、加算タイムスタンプは、許容誤差Δtを単位時間Tcで除算して得られる除算値(Δt/Tc)の端数を切り上げた値である。
また、除算値(Δ/Tc)の端数を切り上げた値に計算機102aと計算機103a及び計算機103bとの通信遅延を加えた値を、加算タイムスタンプとしてもよい。 The transmission
The transmission
The transmission
The added time stamp of the added time
For example, the addition time stamp is a value obtained by rounding up the fractional value (Δt / Tc) obtained by dividing the allowable error Δt by the unit time Tc.
Further, a value obtained by rounding up the fractional value (Δ / Tc) to the communication delay between the
送信データ処理部903は、全ての送信先の計算機である計算機103a、計算機103bにデータフレーム209を送信する(S701)。
The transmission data processing unit 903 transmits the data frame 209 to the computers 103a and 103b, which are all transmission destination computers (S701).
非周期処理の場合の計算機では、図3の構成と比較してタイムスタンプ更新処理部910が追加されている。
この受信データ処理部901の動作例を図14のフローチャートを用いて説明する。
タイムスタンプ更新処理部910は、単位時間Tcの時間間隔で起動される。
起動されると、タイムスタンプ更新処理部910は、現在のタイムスタンプを1増やす(S1300)。
そして、タイムスタンプ更新処理部910は、現在のタイムスタンプに一致する処理タイムスタンプ1000を持つデータを受信データ記憶部904内で検索する(S1301)。
該当するデータが見つかった場合(S1302でYES)は、受信データ処理部901は、該当するデータを受信データ記憶部904から読み出し、アプリケーション処理部902に、読み出したデータ301を渡し、アプリケーション処理部902の読み込み待ち状態を解除する(S1303)。
また、受信データ処理部901は、読み出したデータ301及び処理タイムスタンプ1000を受信データ記憶部904から削除する。
読み込み待ち状態を解除されたアプリケーション処理部902は、データ301を用いて処理を開始する。 In the computer for non-periodic processing, a time stampupdate processing unit 910 is added as compared with the configuration of FIG.
An operation example of the receptiondata processing unit 901 will be described with reference to the flowchart of FIG.
The time stampupdate processing unit 910 is activated at time intervals of the unit time Tc.
When activated, the time stampupdate processing unit 910 increments the current time stamp by 1 (S1300).
Then, the time stampupdate processing unit 910 searches the received data storage unit 904 for data having the processing time stamp 1000 that matches the current time stamp (S1301).
If the corresponding data is found (YES in S1302), the receiveddata processing unit 901 reads the corresponding data from the received data storage unit 904, passes the read data 301 to the application processing unit 902, and then receives the application processing unit 902. The waiting state for reading is canceled (S1303).
In addition, the receptiondata processing unit 901 deletes the read data 301 and the processing time stamp 1000 from the reception data storage unit 904.
Theapplication processing unit 902 that has been released from the reading waiting state starts processing using the data 301.
この受信データ処理部901の動作例を図14のフローチャートを用いて説明する。
タイムスタンプ更新処理部910は、単位時間Tcの時間間隔で起動される。
起動されると、タイムスタンプ更新処理部910は、現在のタイムスタンプを1増やす(S1300)。
そして、タイムスタンプ更新処理部910は、現在のタイムスタンプに一致する処理タイムスタンプ1000を持つデータを受信データ記憶部904内で検索する(S1301)。
該当するデータが見つかった場合(S1302でYES)は、受信データ処理部901は、該当するデータを受信データ記憶部904から読み出し、アプリケーション処理部902に、読み出したデータ301を渡し、アプリケーション処理部902の読み込み待ち状態を解除する(S1303)。
また、受信データ処理部901は、読み出したデータ301及び処理タイムスタンプ1000を受信データ記憶部904から削除する。
読み込み待ち状態を解除されたアプリケーション処理部902は、データ301を用いて処理を開始する。 In the computer for non-periodic processing, a time stamp
An operation example of the reception
The time stamp
When activated, the time stamp
Then, the time stamp
If the corresponding data is found (YES in S1302), the received
In addition, the reception
The
***効果の説明***
以上のように、本実施の形態では、非周期処理を行う計算機でも、周期処理における周期番号に変えてタイムスタンプを用いることで、アプリケーションに受信データを与えるタイミングを制御することができる。 *** Explanation of effects ***
As described above, in the present embodiment, a computer that performs non-periodic processing can control the timing at which received data is given to an application by using a time stamp instead of the periodic number in periodic processing.
以上のように、本実施の形態では、非周期処理を行う計算機でも、周期処理における周期番号に変えてタイムスタンプを用いることで、アプリケーションに受信データを与えるタイミングを制御することができる。 *** Explanation of effects ***
As described above, in the present embodiment, a computer that performs non-periodic processing can control the timing at which received data is given to an application by using a time stamp instead of the periodic number in periodic processing.
以上、本発明の実施の形態について説明したが、これら2つの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これら2つの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。 While the embodiments of the present invention have been described above, one of these two embodiments may be partially implemented.
Alternatively, these two embodiments may be partially combined.
In addition, this invention is not limited to these embodiment, A various change is possible as needed.
あるいは、これら2つの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。 While the embodiments of the present invention have been described above, one of these two embodiments may be partially implemented.
Alternatively, these two embodiments may be partially combined.
In addition, this invention is not limited to these embodiment, A various change is possible as needed.
最後に、以上の実施の形態に示した計算機101、計算機102、計算機103(以下、計算機101等という)のハードウェア構成例を図16を参照して説明する。
計算機101等の各要素をプログラムで実現することができる。
計算機101等のハードウェア構成としては、バスに、演算装置1901、外部記憶装置1902、主記憶装置1903、通信装置1904、入出力装置1905が接続されている。 Finally, a hardware configuration example of the computer 101, thecomputer 102, and the computer 103 (hereinafter referred to as the computer 101) described in the above embodiment will be described with reference to FIG.
Each element such as the computer 101 can be realized by a program.
As a hardware configuration of the computer 101 or the like, anarithmetic device 1901, an external storage device 1902, a main storage device 1903, a communication device 1904, and an input / output device 1905 are connected to the bus.
計算機101等の各要素をプログラムで実現することができる。
計算機101等のハードウェア構成としては、バスに、演算装置1901、外部記憶装置1902、主記憶装置1903、通信装置1904、入出力装置1905が接続されている。 Finally, a hardware configuration example of the computer 101, the
Each element such as the computer 101 can be realized by a program.
As a hardware configuration of the computer 101 or the like, an
演算装置1901は、プログラムを実行するCPU(Central Processing Unit)である。
外部記憶装置1902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置である。
主記憶装置1903は、RAM(Random Access Memory)である。
通信装置1904は、受信データ処理部1021、送信データ処理部1023等の物理層に対応する。
入出力装置1905は、例えばマウス、キーボード、ディスプレイ装置等である。 Thearithmetic device 1901 is a CPU (Central Processing Unit) that executes a program.
Theexternal storage device 1902 is, for example, a ROM (Read Only Memory), a flash memory, or a hard disk device.
Themain storage device 1903 is a RAM (Random Access Memory).
Thecommunication device 1904 corresponds to the physical layer such as the reception data processing unit 1021 and the transmission data processing unit 1023.
The input /output device 1905 is, for example, a mouse, a keyboard, a display device, or the like.
外部記憶装置1902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置である。
主記憶装置1903は、RAM(Random Access Memory)である。
通信装置1904は、受信データ処理部1021、送信データ処理部1023等の物理層に対応する。
入出力装置1905は、例えばマウス、キーボード、ディスプレイ装置等である。 The
The
The
The
The input /
プログラムは、通常は外部記憶装置1902に記憶されており、主記憶装置1903にロードされた状態で、順次演算装置1901に読み込まれ、実行される。
プログラムは、図2、図3、図10に示す「~部」(但し、「~記憶部」を除く、以下も同様)として説明している機能を実現するプログラムである。
更に、外部記憶装置1902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置1903にロードされ、演算装置1901はOSを実行しながら、図2、図3、図10に示す「~部」の機能を実現するプログラムを実行する。
また、以上の実施の形態の説明において、「判断する」、「判定する」、「抽出する」、「更新する」、「比較する」、「決定する」、「設定する」、「選択する」、「生成する」、「受信する」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置1903にファイルとして記憶されている。 The program is normally stored in theexternal storage device 1902, and is sequentially read into the arithmetic device 1901 and executed while being loaded in the main storage device 1903.
The program is a program that realizes a function described as “˜unit” (however, excluding “˜storage unit”, the same applies to the following) shown in FIG. 2, FIG. 3, and FIG.
Further, an operating system (OS) is also stored in theexternal storage device 1902. At least a part of the OS is loaded into the main storage device 1903, and the arithmetic device 1901 executes the OS while FIG. 2, FIG. 3, FIG. A program that realizes the function of “˜unit” shown in FIG.
In the description of the above embodiment, “determine”, “determine”, “extract”, “update”, “compare”, “decide”, “set”, “select” , Information, data, signal values, and variable values indicating the results of the processing described as “generate”, “receive”, and the like are stored in themain storage device 1903 as files.
プログラムは、図2、図3、図10に示す「~部」(但し、「~記憶部」を除く、以下も同様)として説明している機能を実現するプログラムである。
更に、外部記憶装置1902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置1903にロードされ、演算装置1901はOSを実行しながら、図2、図3、図10に示す「~部」の機能を実現するプログラムを実行する。
また、以上の実施の形態の説明において、「判断する」、「判定する」、「抽出する」、「更新する」、「比較する」、「決定する」、「設定する」、「選択する」、「生成する」、「受信する」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置1903にファイルとして記憶されている。 The program is normally stored in the
The program is a program that realizes a function described as “˜unit” (however, excluding “˜storage unit”, the same applies to the following) shown in FIG. 2, FIG. 3, and FIG.
Further, an operating system (OS) is also stored in the
In the description of the above embodiment, “determine”, “determine”, “extract”, “update”, “compare”, “decide”, “set”, “select” , Information, data, signal values, and variable values indicating the results of the processing described as “generate”, “receive”, and the like are stored in the
なお、図16の構成は、あくまでも計算機101等のハードウェア構成の一例を示すものであり、計算機101等のハードウェア構成は図16に記載の構成に限らず、他の構成であってもよい。
Note that the configuration of FIG. 16 is merely an example of the hardware configuration of the computer 101 and the like, and the hardware configuration of the computer 101 and the like is not limited to the configuration illustrated in FIG. .
また、以上の実施の形態に示す手順により、本発明に係るデータ処理方法を実現可能である。
Further, the data processing method according to the present invention can be realized by the procedure shown in the above embodiment.
10 計算機システム、100 冗長化したネットワーク、101 計算機、102 計算機、103 計算機、151 データフレーム、152 データフレーム、201 受信データ処理部、202 アプリケーション処理部、203 送信データ処理部、204 受信データ記憶部、205 周期番号記憶部、206 加算周期数記憶部、207 時刻同期機構、208 データフレーム、209 データフレーム、901 受信データ処理部、902 アプリケーション処理部、903 送信データ処理部、904 受信データ記憶部、905 タイムスタンプ記憶部、906 加算タイムスタンプ記憶部、908 データフレーム、909 データフレーム、910 タイムスタンプ更新処理部、1021 受信データ処理部、1022 アプリケーション処理部、1023 送信データ処理部、1024 受信データ記憶部、1025 管理番号記憶部、1027 管理番号更新部、10231 管理番号決定部、10232 データ送信部。
10 computer system, 100 redundant network, 101 computer, 102 computer, 103 computer, 151 data frame, 152 data frame, 201 reception data processing unit, 202 application processing unit, 203 transmission data processing unit, 204 reception data storage unit, 205 cycle number storage unit, 206 addition cycle number storage unit, 207 time synchronization mechanism, 208 data frame, 209 data frame, 901 reception data processing unit, 902 application processing unit, 903 transmission data processing unit, 904 reception data storage unit, 905 Time stamp storage unit, 906 addition time stamp storage unit, 908 data frame, 909 data frame, 910 time stamp update processing unit, 1021 received data processing unit, 1022 application processing unit, 10 3 the transmissiondata processing unit 1024 received data storage unit 1025 managing number storage unit, 1027 management number updating unit, 10231 management number determining unit, 10232 data transmission unit.
10 computer system, 100 redundant network, 101 computer, 102 computer, 103 computer, 151 data frame, 152 data frame, 201 reception data processing unit, 202 application processing unit, 203 transmission data processing unit, 204 reception data storage unit, 205 cycle number storage unit, 206 addition cycle number storage unit, 207 time synchronization mechanism, 208 data frame, 209 data frame, 901 reception data processing unit, 902 application processing unit, 903 transmission data processing unit, 904 reception data storage unit, 905 Time stamp storage unit, 906 addition time stamp storage unit, 908 data frame, 909 data frame, 910 time stamp update processing unit, 1021 received data processing unit, 1022 application processing unit, 10 3 the transmission
Claims (10)
- それぞれが既定の単位時間ごとに時間管理のための管理番号を更新し、管理番号の更新タイミングにおける相互間の誤差が許容誤差以下であり、それぞれが、管理番号が付加されているデータを受信し、受信したデータを記憶し、記憶したデータのうち現在の管理番号と同じ管理番号が付加されているデータの処理を行う複数の送信先計算機に、
データを並列に送信する計算機であって、
前記複数の送信先計算機での更新タイミングと比較して前記許容誤差以下の誤差で、管理番号を更新する管理番号更新部と、
現在の管理番号を記憶する管理番号記憶部と、
前記管理番号記憶部で記憶されている現在の管理番号と前記許容誤差とに基づき、前記複数の送信先計算機に送信する送信データに付加する管理番号を決定する管理番号決定部と、
前記管理番号決定部により決定された管理番号を前記送信データに付加し、前記管理番号が付加されている前記送信データを前記複数の送信先計算機に並列に送信するデータ送信部とを有する計算機。 Each of them updates the management number for time management every predetermined unit time, the error between the management number update timings is less than the tolerance, and each receives the data with the management number added The received data is stored in a plurality of destination computers that process the data with the same management number as the current management number among the stored data.
A computer that sends data in parallel,
A management number update unit that updates a management number with an error equal to or less than the allowable error compared to the update timing in the plurality of destination computers;
A management number storage unit for storing the current management number;
A management number determination unit that determines a management number to be added to transmission data to be transmitted to the plurality of transmission destination computers, based on the current management number stored in the management number storage unit and the allowable error;
A computer having a data transmission unit that adds the management number determined by the management number determination unit to the transmission data and transmits the transmission data to which the management number is added to the plurality of transmission destination computers in parallel. - 前記管理番号決定部は、
前記許容誤差を前記単位時間で除算して得られる除算値の端数を切り上げた整数値と、前記現在の管理番号とに基づき、前記送信データに付加する管理番号を決定する請求項1に記載の計算機。 The management number determination unit
The management number to be added to the transmission data is determined based on an integer value obtained by rounding up a fraction of a division value obtained by dividing the allowable error by the unit time and the current management number. calculator. - 前記管理番号決定部は、
前記送信先計算機との間で生じる通信遅延の値である通信遅延値と、前記許容誤差を前記単位時間で除算して得られる除算値の端数を切り上げた整数値と、前記現在の管理番号とに基づき、前記送信データに付加する管理番号を決定する請求項1に記載の計算機。 The management number determination unit
A communication delay value that is a value of a communication delay that occurs with the destination computer, an integer value obtained by rounding up the fractional value obtained by dividing the allowable error by the unit time, and the current management number, The computer according to claim 1, wherein a management number to be added to the transmission data is determined based on the information. - 前記計算機は、
それぞれが、前記管理番号として、前記単位時間ごとに周期番号を更新し、周期番号の更新タイミングにおける相互間の誤差が許容誤差以下であり、それぞれが、前記管理番号として周期番号が付加されているデータを受信し、受信したデータを記憶し、記憶したデータのうち現在の周期番号と同じ周期番号が付加されているデータの処理を行う複数の送信先計算機に、
データを並列に送信する計算機であって、
前記管理番号更新部は、
前記複数の送信先計算機での更新タイミングと比較して前記許容誤差以下の誤差で、周期番号を更新し、
前記管理番号記憶部は、
前記現在の管理番号として、現在の周期番号を記憶し、
前記管理番号決定部は、
前記管理番号記憶部で記憶されている現在の周期番号と前記許容誤差とに基づき、前記送信データに付加する周期番号を決定し、
前記データ送信部は、
前記管理番号決定部により決定された周期番号を前記送信データに付加し、前記周期番号が付加されている前記送信データを前記複数の送信先計算機に並列に送信する請求項1に記載の計算機。 The calculator is
Each of them updates the cycle number for each unit time as the management number, and the error between the update timings of the cycle numbers is less than or equal to an allowable error, and each has a cycle number added as the management number Receive data, store the received data, among the stored data to a plurality of destination computers that process the data with the same cycle number as the current cycle number,
A computer that sends data in parallel,
The management number update unit
Update the cycle number with an error equal to or less than the allowable error compared to the update timing in the plurality of destination computers,
The management number storage unit
Storing the current cycle number as the current management number;
The management number determination unit
Based on the current cycle number stored in the management number storage unit and the allowable error, determine a cycle number to be added to the transmission data,
The data transmitter is
The computer according to claim 1, wherein a cycle number determined by the management number determination unit is added to the transmission data, and the transmission data to which the cycle number is added is transmitted in parallel to the plurality of transmission destination computers. - 前記計算機は、更に、
複数の送信元計算機から送信された、それぞれに周期番号が付加されている複数のデータを受信し、現在の周期番号以降の周期番号が付加されている複数のデータのうちのいずれかのデータを記憶領域に格納し、前記記憶領域から、現在の周期番号と同じ周期番号が付加されているデータを読み出す受信データ処理部とを有する請求項4に記載の計算機。 The calculator further includes:
Receiving a plurality of data transmitted from a plurality of transmission source computers, each of which has a cycle number added thereto, and any one of a plurality of data having a cycle number added after the current cycle number 5. The computer according to claim 4, further comprising: a received data processing unit that stores data in a storage area and reads data to which the same cycle number as the current cycle number is added from the storage area. - 前記計算機は、
それぞれが、前記管理番号として、前記単位時間ごとにタイムスタンプを更新し、タイムスタンプの更新タイミングにおける相互間の誤差が許容誤差以下であり、それぞれが、前記管理番号としてタイムスタンプが付加されているデータを受信し、受信したデータを記憶し、記憶したデータのうち現在のタイムスタンプと同じタイムスタンプが付加されているデータの処理を行う複数の送信先計算機に、
データを並列に送信する計算機であって、
前記管理番号更新部は、
前記複数の送信先計算機での更新タイミングと比較して前記許容誤差以下の誤差で、タイムスタンプを更新し、
前記管理番号記憶部は、
前記現在の管理番号として、現在のタイムスタンプを記憶し、
前記管理番号決定部は、
前記管理番号記憶部で記憶されている現在のタイムスタンプと前記許容誤差とに基づき、前記送信データに付加するタイムスタンプを決定し、
前記データ送信部は、
前記管理番号決定部により決定されたタイムスタンプを前記送信データに付加し、前記タイムスタンプが付加されている前記送信データを前記複数の送信先計算機に並列に送信する請求項1に記載の計算機。 The calculator is
Each updates the time stamp for each unit time as the management number, and the error between the time stamp update timings is less than or equal to an allowable error. Each time stamp is added as the management number. Receiving data, storing the received data, among a plurality of transmission destination computers that process the data with the same time stamp as the current time stamp among the stored data,
A computer that sends data in parallel,
The management number update unit
Update the time stamp with an error equal to or less than the allowable error compared to the update timing in the plurality of destination computers,
The management number storage unit
Store the current time stamp as the current management number,
The management number determination unit
Based on the current time stamp stored in the management number storage unit and the allowable error, determine a time stamp to be added to the transmission data,
The data transmitter is
The computer according to claim 1, wherein the time stamp determined by the management number determination unit is added to the transmission data, and the transmission data to which the time stamp is added is transmitted in parallel to the plurality of transmission destination computers. - 前記計算機は、更に、
複数の送信元計算機から送信された、それぞれにタイムスタンプが付加されている複数のデータを受信し、現在のタイムスタンプ以降のタイムスタンプが付加されている複数のデータのうちのいずれかのデータを記憶領域に格納する受信データ処理部と、
前記記憶領域から、現在のタイムスタンプと同じタイムスタンプが付加されているデータを読み出すタイムスタンプ更新処理部とを有する請求項6に記載の計算機。 The calculator further includes:
Receive multiple data sent from multiple source computers, each with a time stamp, and select one of multiple data with a time stamp after the current time stamp. A received data processing unit for storing in the storage area;
The computer according to claim 6, further comprising: a time stamp update processing unit that reads data to which the same time stamp as the current time stamp is added from the storage area. - 前記計算機は、
複数の階層で構成され、各階層が2以上の計算機で多重化され、各計算機が前記単位時間ごとに管理番号を更新する計算機システムに含まれており、
前記計算機システムに含まれる計算機の間での前記管理番号の更新タイミングにおける最大の誤差が、前記許容誤差である請求項1に記載の計算機。 The calculator is
It is composed of a plurality of layers, each layer is multiplexed by two or more computers, and each computer is included in a computer system that updates the management number every unit time,
The computer according to claim 1, wherein a maximum error in the update timing of the management number among computers included in the computer system is the allowable error. - それぞれが既定の単位時間ごとに時間管理のための管理番号を更新し、管理番号の更新タイミングにおける相互間の誤差が許容誤差以下であり、それぞれが、管理番号が付加されているデータを受信し、受信したデータを記憶し、記憶したデータのうち現在の管理番号と同じ管理番号が付加されているデータの処理を行う複数の送信先計算機に、
データを並列に送信する計算機が行うデータ処理方法であって、
前記計算機が、前記複数の送信先計算機での更新タイミングと比較して前記許容誤差以下の誤差で、管理番号を更新し、
前記計算機が、現在の管理番号を記憶し、
前記計算機が、現在の管理番号と前記許容誤差とに基づき、前記複数の送信先計算機に送信する送信データに付加する管理番号を決定し、
前記計算機が、決定した管理番号を前記送信データに付加し、前記管理番号が付加されている前記送信データを前記複数の送信先計算機に並列に送信するデータ処理方法。 Each of them updates the management number for time management every predetermined unit time, the error between the management number update timings is less than the tolerance, and each receives the data with the management number added The received data is stored in a plurality of destination computers that process the data with the same management number as the current management number among the stored data.
A data processing method performed by a computer that transmits data in parallel,
The computer updates the management number with an error equal to or less than the allowable error compared to the update timing in the plurality of destination computers.
The computer stores the current management number,
The computer determines a management number to be added to transmission data to be transmitted to the plurality of transmission destination computers based on the current management number and the tolerance.
A data processing method in which the computer adds the determined management number to the transmission data, and transmits the transmission data to which the management number is added to the plurality of destination computers in parallel. - それぞれが既定の単位時間ごとに時間管理のための管理番号を更新し、管理番号の更新タイミングにおける相互間の誤差が許容誤差以下であり、それぞれが、管理番号が付加されているデータを受信し、受信したデータを記憶し、記憶したデータのうち現在の管理番号と同じ管理番号が付加されているデータの処理を行う複数の送信先計算機に、
データを並列に送信する計算機に、
前記複数の送信先計算機での更新タイミングと比較して前記許容誤差以下の誤差で、管理番号を更新する管理番号更新処理と、
現在の管理番号を記憶する管理番号記憶処理と、
前記管理番号記憶処理で記憶された現在の管理番号と前記許容誤差とに基づき、前記複数の送信先計算機に送信する送信データに付加する管理番号を決定する管理番号決定処理と、
前記管理番号決定処理により決定された管理番号を前記送信データに付加し、前記管理番号が付加されている前記送信データを前記複数の送信先計算機に並列に送信するデータ送信処理とを実行させるプログラム。
Each of them updates the management number for time management every predetermined unit time, the error between the management number update timings is less than the tolerance, and each receives the data with the management number added The received data is stored in a plurality of destination computers that process the data with the same management number as the current management number among the stored data.
To computers that send data in parallel,
A management number update process for updating a management number with an error equal to or less than the allowable error compared to the update timing in the plurality of destination computers;
A management number storage process for storing the current management number;
A management number determination process for determining a management number to be added to transmission data to be transmitted to the plurality of destination computers based on the current management number stored in the management number storage process and the allowable error;
A program for adding a management number determined by the management number determination process to the transmission data, and executing a data transmission process for transmitting the transmission data to which the management number is added to the plurality of destination computers in parallel .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/078955 WO2016067420A1 (en) | 2014-10-30 | 2014-10-30 | Computer, and data processing method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/078955 WO2016067420A1 (en) | 2014-10-30 | 2014-10-30 | Computer, and data processing method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016067420A1 true WO2016067420A1 (en) | 2016-05-06 |
Family
ID=55856804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/078955 WO2016067420A1 (en) | 2014-10-30 | 2014-10-30 | Computer, and data processing method and program |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2016067420A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018066124A1 (en) * | 2016-10-07 | 2018-04-12 | 三菱電機株式会社 | Fault tolerant system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02503122A (en) * | 1987-04-15 | 1990-09-27 | アライド・コーポレーシヨン | Operation control device for fault-tolerant multi-node processing device |
JPH06242980A (en) * | 1993-01-08 | 1994-09-02 | Cegelec | Synchronization system for redundancy task |
JP2000181737A (en) * | 1998-12-16 | 2000-06-30 | Nec Kofu Ltd | Triplet information processing system |
JP2004527829A (en) * | 2001-03-07 | 2004-09-09 | シーメンス アクチエンゲゼルシヤフト | Fault-tolerant computer array and its operation method |
-
2014
- 2014-10-30 WO PCT/JP2014/078955 patent/WO2016067420A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02503122A (en) * | 1987-04-15 | 1990-09-27 | アライド・コーポレーシヨン | Operation control device for fault-tolerant multi-node processing device |
JPH06242980A (en) * | 1993-01-08 | 1994-09-02 | Cegelec | Synchronization system for redundancy task |
JP2000181737A (en) * | 1998-12-16 | 2000-06-30 | Nec Kofu Ltd | Triplet information processing system |
JP2004527829A (en) * | 2001-03-07 | 2004-09-09 | シーメンス アクチエンゲゼルシヤフト | Fault-tolerant computer array and its operation method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018066124A1 (en) * | 2016-10-07 | 2018-04-12 | 三菱電機株式会社 | Fault tolerant system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9898521B2 (en) | Massively scalable object storage system | |
EP2521336B1 (en) | Massively scalable object storage system | |
US8712975B2 (en) | Modification of an object replica | |
US8510267B2 (en) | Synchronization of structured information repositories | |
US20170300550A1 (en) | Data Cloning System and Process | |
US9910609B2 (en) | Determining adjustments of storage device timeout values based on synchronous or asynchronous remote copy state | |
WO2014170952A1 (en) | Computer system, computer-system management method, and program | |
US9367261B2 (en) | Computer system, data management method and data management program | |
US9460178B2 (en) | Synchronized storage system operation | |
US9614926B2 (en) | Parallel I/O write processing for use in clustered file systems having cache storage | |
US20180060348A1 (en) | Method for Replication of Objects in a Cloud Object Store | |
JP6114473B2 (en) | How to process stream data using time adjustment | |
US20160259836A1 (en) | Parallel asynchronous data replication | |
JP5907419B2 (en) | Distributed processing system, distributed processing method, and distributed processing program | |
WO2016067420A1 (en) | Computer, and data processing method and program | |
US20150088958A1 (en) | Information Processing System and Distributed Processing Method | |
US20170124107A1 (en) | Data deduplication storage system and process | |
US10083121B2 (en) | Storage system and storage method | |
JP6546704B2 (en) | Data processing method, distributed data processing system and storage medium | |
JP5472885B2 (en) | Program, stream data processing method, and stream data processing computer | |
WO2017101016A1 (en) | Method and apparatus for synchronizing service request of storage node | |
US11657019B2 (en) | Method, device, and computer program product for managing application system | |
WO2022085013A1 (en) | System and method to resync flow rules | |
JP2010117791A (en) | Shared storage system and data keeping method and data keeping program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14905125 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14905125 Country of ref document: EP Kind code of ref document: A1 |