JPWO2022254589A5 - - Google Patents

Download PDF

Info

Publication number
JPWO2022254589A5
JPWO2022254589A5 JP2023525221A JP2023525221A JPWO2022254589A5 JP WO2022254589 A5 JPWO2022254589 A5 JP WO2022254589A5 JP 2023525221 A JP2023525221 A JP 2023525221A JP 2023525221 A JP2023525221 A JP 2023525221A JP WO2022254589 A5 JPWO2022254589 A5 JP WO2022254589A5
Authority
JP
Japan
Prior art keywords
cooperation
execution
control devices
control device
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2023525221A
Other languages
Japanese (ja)
Other versions
JPWO2022254589A1 (en
Filing date
Publication date
Application filed filed Critical
Priority claimed from PCT/JP2021/020908 external-priority patent/WO2022254589A1/en
Publication of JPWO2022254589A1 publication Critical patent/JPWO2022254589A1/ja
Publication of JPWO2022254589A5 publication Critical patent/JPWO2022254589A5/ja
Withdrawn legal-status Critical Current

Links

Description

本発明は、制御方法、制御プログラム、情報処理装置、およびシステムに関する。 The present invention relates to a control method, a control program, an information processing device, and a system.

従来、複数のブロックチェーンネットワークを連携させるシステムがある。例えば、連携用ブロックチェーンネットワークを利用して、複数の連携先ブロックチェーンネットワークを連携させる制御装置により、システムが実現される。ここで、システムの障害発生に対策するため、制御装置が冗長化され、待機系の制御装置と稼働系の制御装置とが用意されることがある。 Conventionally, there are systems that link multiple blockchain networks. For example, the system is realized by a control device that uses a collaboration blockchain network to coordinate multiple collaboration destination blockchain networks. Here, in order to take measures against the occurrence of a system failure, the control device may be made redundant, and a standby control device and an active control device may be provided.

先行技術としては、例えば、ネットワークノードにおいて対象シーケンス番号と同一のシーケンス番号を有する対象取引を回復するものがある。また、例えば、ノードのうちの1つが一次ノードとして機能し、他のノードがバックアップノードとして機能する技術がある。また、例えば、トランザクションリクエストをバックアップノードで実行する技術がある。 Prior art techniques include, for example, recovering target transactions having the same sequence number as a target sequence number at a network node. Also, for example, there are techniques in which one of the nodes functions as a primary node and another node functions as a backup node. Furthermore, for example, there is a technique for executing a transaction request on a backup node.

特表2020-516105号公報Special Publication No. 2020-516105 特表2020-518887号公報Special Publication No. 2020-518887 米国特許出願公開第2019/0278666号明細書US Patent Application Publication No. 2019/0278666

しかしながら、従来技術では、待機系の制御装置が、稼働系の制御装置の状態を判定することが難しいという問題がある。例えば、定期的に、待機系の制御装置が、稼働系の制御装置と通信し、稼働系の制御装置を監視する場合、それぞれの制御装置にかかる処理負担が増大し易くなる。具体的には、待機系の制御装置が、稼働系の制御装置が処理を開始した時点からの経過時間がタイムアウトするか否かを判断し、タイムアウトした場合、稼働系の制御装置に異常があると判断する手法が考えられるが、稼働系の制御装置における処理にかかる所要時間が比較的長い場合、稼働系の制御装置に異常がなくても、誤って稼働系の制御装置に異常があると判断してしまうことがあり、稼働系の制御装置と、待機系の制御装置とで、処理が競合してしまうことがある。 However, the conventional technology has a problem in that it is difficult for the standby control device to determine the state of the active control device. For example, when a standby control device periodically communicates with an active control device and monitors the active control device, the processing load placed on each control device tends to increase. Specifically, the standby control device determines whether or not the elapsed time from the time the active control device started processing will time out, and if it times out, there is an error in the active control device. However, if the time required for processing in the active control device is relatively long, it may be mistakenly assumed that there is an abnormality in the active control device even if there is no abnormality in the active control device. The active control device and the standby control device may conflict with each other in processing.

1つの側面では、本発明は、制御装置の処理負担の低減化を図ることを目的とする。 In one aspect, the present invention aims to reduce the processing load on a control device.

1つの実施態様によれば、複数の制御装置のそれぞれの制御装置に対応するノードを含むブロックチェーンネットワークから、前記それぞれの制御装置に割り当てられた処理の当該制御装置による実行実績が記録される、前記ブロックチェーンネットワークが管理するブロックを取得し、取得した前記ブロックに含まれる前記実行実績に基づいて、前記複数の制御装置の少なくともいずれかの制御装置の状態を判定する制御方法、制御プログラム、情報処理装置、およびシステムが提案される。 According to one embodiment, a blockchain network including nodes corresponding to each of a plurality of control devices records the performance of a process assigned to each of the control devices by the control device. A control method, control program, and information that acquires a block managed by the blockchain network and determines the state of at least one of the plurality of control devices based on the execution record included in the acquired block. A processing device and system are proposed.

一態様によれば、制御装置の処理負担の低減化を図ることが可能になる。例えば、稼働系の制御装置の状態を判定するにあたり、稼働系の制御装置と待機系の制御装置との間で通信せずに済ませ、それぞれの制御装置にかかる処理負担の低減化を図ることが可能になる。また、一態様によれば、稼働系の制御装置の状態を正確に判定し易くし、稼働系の制御装置に対応する待機系の制御装置が動作する契機を正確に検出することが可能になる。例えば、待機系の制御装置に割り当てられた処理にかかる所要時間が比較的長くても、待機系の制御装置に関する異常があるか否かを正確に判定することが可能になる。 According to one aspect, it is possible to reduce the processing load on the control device. For example, when determining the status of an active control device, it is possible to eliminate the need for communication between the active control device and the standby control device, thereby reducing the processing burden on each control device. It becomes possible. Further, according to one aspect, it becomes easier to accurately determine the state of an active control device, and it becomes possible to accurately detect an opportunity for a standby control device corresponding to the active control device to operate. . For example, even if the time required for processing assigned to the standby control device is relatively long, it is possible to accurately determine whether there is an abnormality regarding the standby control device.

図1は、実施の形態にかかる制御方法の一実施例を示す説明図である。FIG. 1 is an explanatory diagram showing an example of a control method according to an embodiment. 図2は、BC連携システム200の一例を示す説明図である。FIG. 2 is an explanatory diagram showing an example of the BC cooperation system 200. 図3は、情報処理装置100のハードウェア構成例を示すブロック図である。FIG. 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. 図4は、BU判定情報管理テーブル400の記憶内容の一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of the stored contents of the BU determination information management table 400. 図5は、連携用ノード201のハードウェア構成例を示すブロック図である。FIG. 5 is a block diagram showing an example of the hardware configuration of the cooperation node 201. 図6は、担当情報管理テーブル600の記憶内容の一例を示す説明図である。FIG. 6 is an explanatory diagram showing an example of the stored contents of the person-in-charge information management table 600. 図7は、BC連携システム200の機能的構成例を示すブロック図である。FIG. 7 is a block diagram showing an example of the functional configuration of the BC cooperation system 200. 図8は、BC連携システム200の動作の流れを示す説明図(その1)である。FIG. 8 is an explanatory diagram (Part 1) showing the flow of operation of the BC cooperation system 200. 図9は、BC連携システム200の動作の流れを示す説明図(その2)である。FIG. 9 is an explanatory diagram (part 2) showing the flow of the operation of the BC cooperation system 200. 図10は、BC連携システム200の動作例を示す説明図(その1)である。FIG. 10 is an explanatory diagram (part 1) showing an example of the operation of the BC cooperation system 200. 図11は、BC連携システム200の動作例を示す説明図(その2)である。FIG. 11 is an explanatory diagram (part 2) showing an example of the operation of the BC cooperation system 200. 図12は、BC連携システム200の動作例を示す説明図(その3)である。FIG. 12 is an explanatory diagram (part 3) showing an example of the operation of the BC cooperation system 200. 図13は、BC連携システム200の動作例を示す説明図(その4)である。FIG. 13 is an explanatory diagram (part 4) showing an example of the operation of the BC cooperation system 200. 図14は、BC連携システム200の動作例を示す説明図(その5)である。FIG. 14 is an explanatory diagram (part 5) showing an example of the operation of the BC cooperation system 200. 図15は、BC連携システム200の動作例を示す説明図(その6)である。FIG. 15 is an explanatory diagram (part 6) showing an example of the operation of the BC cooperation system 200. 図16は、BC連携システム200の動作例を示す説明図(その7)である。FIG. 16 is an explanatory diagram (part 7) showing an example of the operation of the BC cooperation system 200. 図17は、BC連携システム200の動作例を示す説明図(その8)である。FIG. 17 is an explanatory diagram (Part 8) showing an example of the operation of the BC cooperation system 200. 図18は、全体処理手順の一例を示すフローチャートである。FIG. 18 is a flowchart showing an example of the overall processing procedure. 図19は、連携処理手順の一例を示すフローチャートである。FIG. 19 is a flowchart illustrating an example of a cooperation processing procedure. 図20は、BU処理手順の一例を示すフローチャート(その1)である。FIG. 20 is a flowchart (Part 1) showing an example of the BU processing procedure. 図21は、BU処理手順の一例を示すフローチャート(その2)である。FIG. 21 is a flowchart (Part 2) showing an example of the BU processing procedure. 図22は、BU処理手順の一例を示すフローチャート(その3)である。FIG. 22 is a flowchart (part 3) showing an example of the BU processing procedure.

以下に、図面を参照して、本発明にかかる制御方法、制御プログラム、情報処理装置、およびシステムの実施の形態を詳細に説明する。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of a control method, a control program, an information processing device, and a system according to the present invention will be described in detail below with reference to the drawings.

(実施の形態にかかる制御方法の一実施例)
図1は、実施の形態にかかる制御方法の一実施例を示す説明図である。情報処理装置100は、稼働系の制御装置に対応する待機系の制御装置となり得るコンピュータである。
(An example of a control method according to an embodiment)
FIG. 1 is an explanatory diagram showing an example of a control method according to an embodiment. The information processing device 100 is a computer that can serve as a standby control device corresponding to an active control device.

稼働系の制御装置は、複数の連携先ブロックチェーンネットワークを連携させるためのコンピュータである。稼働系の制御装置は、例えば、複数の連携先ブロックチェーンネットワークを連携させ、一連の取引を実行可能にする。待機系の制御装置は、稼働系の制御装置の代わりとなり得る制御装置である。以下の説明では、ブロックチェーンを「BC」と表記する場合がある。 The operating system control device is a computer for coordinating multiple cooperative blockchain networks. For example, the operating system control device allows a plurality of linked blockchain networks to cooperate and execute a series of transactions. The standby control device is a control device that can replace the active control device. In the following explanation, blockchain may be referred to as "BC".

BCネットワークは、BCを管理するBC管理システムを実現する。BCネットワークは、複数のノードにより形成される。例えば、BCネットワークに含まれるそれぞれのノードが、同一のBCを記憶し、監視することにより、BCが管理される。 The BC network implements a BC management system that manages BC. A BC network is formed by multiple nodes. For example, BCs are managed by each node included in the BC network storing and monitoring the same BC.

BCは、取引情報が登録されたブロックを連結することにより、取引情報を管理する分散台帳となるリストである。取引情報は、例えば、トランザクション(Tx:Transaction)と呼ばれる。以下の説明では、トランザクションを「Tx」と表記する場合がある。BCは、例えば、ブロックに登録された取引情報の改ざんが困難である分散台帳技術を実現する。 BC is a list that becomes a distributed ledger that manages transaction information by connecting blocks in which transaction information is registered. Transaction information is called, for example, a transaction (Tx). In the following description, a transaction may be referred to as "Tx". BC realizes, for example, a distributed ledger technology that makes it difficult to tamper with transaction information registered in blocks.

従来、1つの制御装置のみで、複数の連携先BCネットワークを連携させるBC連携システムがある。BC連携システムの障害発生により、制御装置が、一連の処理を完了することができなくなる場合がある。障害は、例えば、サーバダウン、ノードダウン、または、メモリクラッシュなどである。 BACKGROUND ART Conventionally, there is a BC cooperation system that allows a plurality of cooperation destination BC networks to cooperate with each other using only one control device. Due to the occurrence of a failure in the BC coordination system, the control device may be unable to complete a series of processes. The failure is, for example, a server down, a node down, or a memory crash.

このため、制御装置を冗長化し、稼働系の制御装置と、稼働系の制御装置に対応する待機系の制御装置とを用意し、BC連携システムの障害発生に対策することが考えられる。例えば、定期的に、待機系の制御装置が、稼働系の制御装置にポーリングを行うことにより、稼働系の制御装置を監視し、稼働系の制御装置のダウンを検出した場合、稼働系の制御装置に代わり、一連の処理を継続しようとすることが考えられる。 For this reason, it is conceivable to make the control devices redundant and prepare an active control device and a standby control device corresponding to the active control device to take measures against the occurrence of failures in the BC cooperation system. For example, a standby control device periodically polls the active control device to monitor the active control device, and if it detects that the active control device is down, it can control the active control device. It is conceivable that the device may attempt to continue the series of processing on behalf of the device.

しかしながら、待機系の制御装置が、稼働系の制御装置の状態を判定することが難しいという問題がある。例えば、定期的に、待機系の制御装置が、稼働系の制御装置にポーリングを行い、稼働系の制御装置を監視すると、それぞれの制御装置にかかる処理負担が増大し易くなる。処理負担は、例えば、通信負担を含む。 However, there is a problem in that it is difficult for the standby control device to determine the state of the active control device. For example, if a standby control device periodically polls an active control device and monitors the active control device, the processing load placed on each control device tends to increase. The processing load includes, for example, a communication load.

これに対し、待機系の制御装置が、稼働系の制御装置が処理を開始した時点からの経過時間がタイムアウトするか否かを判断し、タイムアウトした場合、稼働系の制御装置に異常があると判断する手法が考えられる。この手法では、稼働系の制御装置における処理にかかる所要時間が比較的長い場合、稼働系の制御装置に異常がなくても、誤って稼働系の制御装置に異常があると判断してしまうという問題がある。そして、稼働系の制御装置と、待機系の制御装置とで、処理が競合してしまうことがある。 In contrast, the standby control device determines whether or not the elapsed time from the time the active control device started processing times out, and if it times out, it determines that there is an abnormality in the active control device. There are ways to make this determination. With this method, if the time required for processing in the active control device is relatively long, it may be mistakenly determined that there is an abnormality in the active control device, even if there is no abnormality in the active control device. There's a problem. Processing may conflict between the active control device and the standby control device.

そこで、本実施の形態では、稼働系の制御装置に関する異常があることを正確に判断し易くすると共に、稼働系の制御装置と待機系の制御装置とのそれぞれの制御装置にかかる処理負担の低減化を図ることができる制御方法について説明する。制御装置に関する異常は、例えば、制御装置自体の異常、または、制御装置の通信経路の異常などである。 Therefore, in the present embodiment, it is made easier to accurately determine that there is an abnormality regarding the active control device, and the processing burden on the respective control devices of the active control device and the standby control device is reduced. A control method that can achieve this will be explained. An abnormality related to the control device is, for example, an abnormality in the control device itself or an abnormality in a communication path of the control device.

図1において、情報処理装置100は、待機系の制御装置となり得る。稼働系の制御装置101が複数存在する。図1の例では、制御装置101が3つ存在する。それぞれの制御装置101に対応するノード111を含むBCネットワーク110が存在する。BCネットワーク110は、さらに、情報処理装置100に対応するノード111を含んでいてもよい。 In FIG. 1, the information processing device 100 can be a standby control device. There are a plurality of active control devices 101. In the example of FIG. 1, there are three control devices 101. There is a BC network 110 including nodes 111 corresponding to each control device 101. The BC network 110 may further include a node 111 corresponding to the information processing device 100.

BCネットワーク110は、それぞれの制御装置101に割り当てられた処理の当該制御装置101による実行実績が記録されるブロック121を管理する。処理は、例えば、取引である。BCネットワーク110は、例えば、ブロック121を連結したBC120を管理する。それぞれのノード111が、同一のBC120を記憶することにより、BCネットワーク110において、BC120が管理される。 The BC network 110 manages blocks 121 in which the execution results of the processes assigned to each control device 101 by the control device 101 are recorded. The processing is, for example, a transaction. The BC network 110 manages, for example, BCs 120 in which blocks 121 are connected. BCs 120 are managed in the BC network 110 by each node 111 storing the same BC 120.

制御装置101は、それぞれ、処理1~処理3の依頼を受け付け、処理1~処理3が割り振られたとする。処理1の依頼を受け付けた制御装置101-1は、処理1を完了していない。処理2の依頼を受け付けた制御装置101-2は、処理2を完了すると、処理2を完了したことを、当該制御装置101-2に対応するノード111に通知する。処理3の依頼を受け付けた制御装置101-3は、処理3を完了すると、処理3を完了したことを、当該制御装置101-3に対応するノード111に通知する。 It is assumed that the control device 101 receives requests for processes 1 to 3, and is assigned processes 1 to 3. The control device 101-1 that received the request for process 1 has not completed process 1. When the control device 101-2 that has received the request for process 2 completes process 2, it notifies the node 111 corresponding to the control device 101-2 that process 2 has been completed. When the control device 101-3 that has received the request for process 3 completes process 3, it notifies the node 111 corresponding to the control device 101-3 that process 3 has been completed.

それぞれのノード111は、受け付けた通知に基づいて、合意形成を行い、ブロック121を、BC120に追加する。それぞれのノード111は、例えば、処理2を完了したことを示す実行実績が記録されたブロック121、および、処理3を完了したことを示す実行実績が記録されたブロック121などを、BC120に追加したとする。 Each node 111 forms a consensus based on the received notification and adds the block 121 to the BC 120. Each node 111 has added to the BC 120, for example, a block 121 in which an execution record indicating that process 2 has been completed and a block 121 in which an execution record indicating that process 3 has been completed are recorded. shall be.

情報処理装置100は、BCネットワーク110から、ブロック121を取得する。情報処理装置100は、取得したブロック121に含まれる実行実績に基づいて、複数の制御装置101のうち、少なくともいずれかの制御装置101の状態を判定する。情報処理装置100は、例えば、制御装置101に割り当てられた処理が完了していなければ、当該処理と同種の他の処理が完了しているか否かに基づいて、当該制御装置101の状態を判定する。 The information processing device 100 acquires the block 121 from the BC network 110. The information processing device 100 determines the state of at least one of the plurality of control devices 101 based on the execution results included in the acquired block 121. For example, if the process assigned to the control device 101 is not completed, the information processing device 100 determines the state of the control device 101 based on whether another process of the same type as the process has been completed. do.

ある処理と同種の他の処理は、ある処理に関する所定の条件を満たす他の処理である。ある処理と同種の他の処理は、例えば、ある処理と同一の連携先BCネットワークを利用する他の処理であってもよい。ある処理と同種の他の処理は、例えば、ある処理と同一の依頼元からの他の処理であってもよい。ある処理と同種の他の処理は、例えば、ある処置と同様の所要時間がかかる他の処理であってもよい。 Another process of the same type as a certain process is another process that satisfies a predetermined condition regarding the certain process. Another process of the same type as a certain process may be, for example, another process that uses the same cooperation destination BC network as the certain process. Another process of the same type as a certain process may be, for example, another process from the same request source as the certain process. Another process of the same type as a certain process may be, for example, another process that requires the same amount of time as the certain process.

情報処理装置100は、具体的には、制御装置101-2に割り当てられた処理2が完了していない一方で、処理2と同種の処理3が完了していることを検出すると、制御装置101-2に関する異常があると判定する。情報処理装置100は、具体的には、制御装置101-2に割り当てられた処理2が完了していなくても、処理2と同種の処理3も完了していなければ、制御装置101-2に関する異常があると判定せずに済ませる。 Specifically, when the information processing device 100 detects that processing 2 assigned to the control device 101-2 has not been completed, but processing 3 of the same type as processing 2 has been completed, the information processing device 100 It is determined that there is an abnormality related to -2. Specifically, even if process 2 assigned to control device 101-2 is not completed, if process 3 of the same type as process 2 is also not completed, information processing device 100 performs processing related to control device 101-2. This can be done without determining that there is an abnormality.

情報処理装置100は、制御装置に関する異常があると判定すると、制御装置に代わり、制御装置に割り当てられた処理を実行する。以下の説明では、情報処理装置100が、制御装置に代わり、制御装置に割り当てられた処理を実行することを、「BU(BackUp)」と表記する場合がある。情報処理装置100は、例えば、制御装置101-2に関する異常があると判定すると、制御装置101-2に代わり、処理2をBUする。 When the information processing device 100 determines that there is an abnormality regarding the control device, it executes processing assigned to the control device on behalf of the control device. In the following description, the fact that the information processing device 100 executes a process assigned to the control device instead of the control device may be expressed as "BU (BackUp)." For example, when the information processing device 100 determines that there is an abnormality regarding the control device 101-2, it executes the process 2 on behalf of the control device 101-2.

これにより、情報処理装置100は、制御装置101の状態を正確に判定し易くすることができ、制御装置101に対応する待機系の制御装置として動作する契機を正確に検出することができる。情報処理装置100は、制御装置101に割り当てられた処理にかかる所要時間が比較的長くても、当該処理と同種の処理にかかる所要時間も比較的長ければ、制御装置101に関する異常がないと判定することができる。また、情報処理装置100は、それぞれの制御装置101などと通信せずに済むため、それぞれの制御装置101にかかる処理負担の低減化を図ることができ、情報処理装置100にかかる処理負担の低減化を図ることができる。 Thereby, the information processing device 100 can easily determine the state of the control device 101 accurately, and can accurately detect an opportunity to operate as a standby control device corresponding to the control device 101. The information processing device 100 determines that there is no abnormality regarding the control device 101, even if the time required for the process assigned to the control device 101 is relatively long, if the time required for the same type of process is also relatively long. can do. In addition, since the information processing device 100 does not need to communicate with each control device 101 etc., it is possible to reduce the processing load placed on each control device 101, and the processing load placed on the information processing device 100 can be reduced. It is possible to aim for

ここでは、情報処理装置100が、稼働系の制御装置ではない場合について説明したが、これに限らない。例えば、情報処理装置100が、稼働系の制御装置としての機能を有し、稼働系の制御装置としても動作する場合があってもよい。 Although the case where the information processing device 100 is not an active control device has been described here, the present invention is not limited to this. For example, the information processing device 100 may have a function as an active control device and may also operate as an active control device.

ここでは、情報処理装置100が、制御装置101に割り当てられた処理が完了しておらず、当該処理と同種の他の処理が1つ完了していれば、制御装置101に関する異常があると判定する場合について説明したが、これに限らない。 Here, if the process assigned to the control device 101 has not been completed and one other process of the same type as the process has been completed, the information processing device 100 determines that there is an abnormality regarding the control device 101. Although the case has been described above, the case is not limited to this.

ここでは、情報処理装置100に対応するノード111が存在する場合について説明したが、これに限らない。例えば、稼働系の制御装置101に対応するノード111が、情報処理装置100にも対応する場合があってもよい。 Although a case has been described here in which the node 111 corresponding to the information processing apparatus 100 exists, the present invention is not limited to this. For example, the node 111 corresponding to the active control device 101 may also correspond to the information processing device 100.

ここでは、情報処理装置100が、制御装置に関する異常があると判定すると、制御装置に代わり、制御装置に割り当てられた処理を実行する場合について説明したが、これに限らない。例えば、情報処理装置100が、判定した結果を出力する場合があってもよい。 Here, a case has been described in which, when the information processing apparatus 100 determines that there is an abnormality regarding the control device, it executes the process assigned to the control device instead of the control device, but the present invention is not limited to this. For example, the information processing device 100 may output the determined result.

具体的には、情報処理装置100は、異常があると判定した稼働系の制御装置に対応する待機系の制御装置宛てに、判定した結果を送信する場合があってもよい。この場合、待機系の制御装置が、判定した結果に基づいて、稼働系の制御装置に代わり、稼働系の制御装置に割り当てられた処理を実行する。また、具体的には、情報処理装置100が、判定した結果を、ユーザが参照可能に出力する場合があってもよい。この場合、ユーザが、待機系の制御装置を用いて、判定した結果に基づいて、稼働系の制御装置に代わり、稼働系の制御装置に割り当てられた処理を実行する。 Specifically, the information processing device 100 may transmit the determined result to a standby control device corresponding to an active control device that has been determined to have an abnormality. In this case, the standby control device executes the process assigned to the active control device in place of the active control device based on the determined result. Moreover, specifically, the information processing apparatus 100 may output the determined result so that the user can refer to it. In this case, the user uses the standby control device to execute the process assigned to the active control device instead of the active control device based on the determined result.

(BC連携システム200の一例)
次に、図2を用いて、図1に示した情報処理装置100を適用した、BC連携システム200の一例について説明する。
(Example of BC cooperation system 200)
Next, an example of a BC cooperation system 200 to which the information processing device 100 shown in FIG. 1 is applied will be described using FIG. 2.

図2は、BC連携システム200の一例を示す説明図である。図2において、BC連携システム200は、複数の情報処理装置100と、連携用BCネットワーク220と、1以上の連携先BCネットワーク230とを含む。連携用BCネットワーク220は、1以上の連携用ノード201を含む。連携先BCネットワーク230は、1以上の連携先ノード202を含む。 FIG. 2 is an explanatory diagram showing an example of the BC cooperation system 200. In FIG. 2, the BC cooperation system 200 includes a plurality of information processing devices 100, a cooperation BC network 220, and one or more cooperation destination BC networks 230. The cooperation BC network 220 includes one or more cooperation nodes 201. The cooperation destination BC network 230 includes one or more cooperation destination nodes 202.

BC連携システム200において、情報処理装置100間は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。 In the BC cooperation system 200, the information processing devices 100 are connected via a wired or wireless network 210. The network 210 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, or the like.

また、情報処理装置100と連携用BCネットワーク220とは、有線または無線のネットワーク210を介して接続される。また、情報処理装置100と連携先BCネットワーク230とは、有線または無線のネットワーク210を介して接続される。 Further, the information processing device 100 and the cooperation BC network 220 are connected via a wired or wireless network 210. Further, the information processing device 100 and the cooperation destination BC network 230 are connected via a wired or wireless network 210.

情報処理装置100は、稼働系の制御装置および待機系の制御装置として動作可能なコンピュータである。情報処理装置100は、一連の取引を開始するリクエストを受け付け、連携用ノード201に転送する。情報処理装置100は、連携用ノード201から割り当てられた取引を実行する。情報処理装置100は、例えば、割り当てられた取引を、連携先BCネットワーク230を利用して実行し、実行した取引にかかる取引情報を、連携先BCネットワーク230に記録させる。情報処理装置100は、取引を実行すると、当該取引の情報処理装置100による実行実績を、連携用BCネットワーク220が管理する連携用BCを形成するブロックに記録させる。 The information processing device 100 is a computer that can operate as an active control device and a standby control device. The information processing device 100 receives a request to start a series of transactions, and transfers the request to the cooperation node 201. The information processing device 100 executes the transaction assigned by the cooperation node 201. For example, the information processing device 100 executes the assigned transaction using the cooperation destination BC network 230 and causes the cooperation destination BC network 230 to record transaction information regarding the executed transaction. When the information processing device 100 executes a transaction, the execution record of the transaction by the information processing device 100 is recorded in a block forming a cooperation BC managed by the cooperation BC network 220.

情報処理装置100は、連携用BCネットワーク220が管理する連携用BCに含まれるブロックを取得する。情報処理装置100は、取得したブロックに記録された実行実績に基づいて、自装置に対応する他の情報処理装置100の状態を判定する。情報処理装置100は、例えば、図4に後述するBU判定情報管理テーブル400を参照して、取得したブロックに記録された実行実績に基づいて、自装置に対応する他の情報処理装置100に関する異常があるか否かを判定する。 The information processing device 100 acquires blocks included in the cooperation BC managed by the cooperation BC network 220. The information processing device 100 determines the state of the other information processing device 100 corresponding to the information processing device 100 based on the execution results recorded in the acquired block. For example, the information processing apparatus 100 refers to a BU determination information management table 400, which will be described later in FIG. Determine whether or not there is.

情報処理装置100は、自装置に対応する他の制御装置に関する異常があると判定した場合、他の情報処理装置100に割り当てられた取引を、他の情報処理装置100の代わりに実行する。情報処理装置100は、例えば、サーバ、または、PC(Personal Computer)などである。 When the information processing device 100 determines that there is an abnormality regarding another control device corresponding to the information processing device 100, the information processing device 100 executes the transaction assigned to the other information processing device 100 instead of the other information processing device 100. The information processing device 100 is, for example, a server, a PC (Personal Computer), or the like.

連携用ノード201は、連携用BCネットワーク220を形成し、連携用BCを管理するコンピュータである。連携用ノード201は、一連の取引を開始するリクエストを、情報処理装置100から受け付ける。連携用ノード201は、リクエストを受け付けると、それぞれの情報処理装置100に取引を割り当てて、それぞれの情報処理装置100に取引を実行させる。連携用ノード201は、割り当てた結果を、図6に後述する担当情報管理テーブル600を用いて管理する。 The cooperation node 201 is a computer that forms the cooperation BC network 220 and manages the cooperation BC. The cooperation node 201 receives a request to start a series of transactions from the information processing device 100. When the cooperation node 201 receives the request, it allocates the transaction to each information processing device 100 and causes each information processing device 100 to execute the transaction. The collaboration node 201 manages the assignment results using a person-in-charge information management table 600, which will be described later in FIG.

連携用ノード201は、情報処理装置100の制御に従って、実行実績を、連携用BCに記録する。連携用ノード201は、例えば、取引情報を生成するスマートコントラクトと呼ばれるロジックが配備される。連携用ノード201は、例えば、スマートコントラクトにより、実行実績に対応する取引情報を生成し、連携用BCに記録する。連携用ノード201は、例えば、サーバ、または、PCなどである。 The collaboration node 201 records the execution results in the collaboration BC under the control of the information processing device 100. The cooperation node 201 is equipped with logic called a smart contract that generates transaction information, for example. The collaboration node 201 generates transaction information corresponding to the execution results using, for example, a smart contract, and records it in the collaboration BC. The cooperation node 201 is, for example, a server or a PC.

連携先ノード202は、連携先BCネットワーク230を形成し、連携先BCを管理するコンピュータである。連携先ノード202は、情報処理装置100の制御に従って、取引情報を、連携先BCに記録する。連携先ノード202は、例えば、取引情報を生成するスマートコントラクトと呼ばれるロジックが配備される。連携先ノード202は、例えば、スマートコントラクトにより、取引情報を生成し、連携先BCに記録する。連携先ノード202は、例えば、サーバ、または、PCなどである。 The cooperation destination node 202 is a computer that forms the cooperation destination BC network 230 and manages the cooperation destination BC. The cooperation destination node 202 records transaction information in the cooperation destination BC under the control of the information processing device 100. The cooperation destination node 202 is equipped with logic called a smart contract that generates transaction information, for example. The cooperation destination node 202 generates transaction information using, for example, a smart contract, and records it in the cooperation destination BC. The cooperation destination node 202 is, for example, a server or a PC.

(情報処理装置100のハードウェア構成例)
次に、図3を用いて、情報処理装置100のハードウェア構成例について説明する。
(Example of hardware configuration of information processing device 100)
Next, an example of the hardware configuration of the information processing device 100 will be described using FIG. 3.

図3は、情報処理装置100のハードウェア構成例を示すブロック図である。図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。 FIG. 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. In FIG. 3, the information processing device 100 includes a CPU (Central Processing Unit) 301, a memory 302, a network I/F (Interface) 303, a recording medium I/F 304, and a recording medium 305. Further, each component is connected to each other by a bus 300.

ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることにより、コーディングされている処理をCPU301に実行させる。 Here, the CPU 301 is in charge of overall control of the information processing apparatus 100. The memory 302 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash ROM, and the like. Specifically, for example, a flash ROM or ROM stores various programs, and a RAM is used as a work area for the CPU 301. The program stored in the memory 302 is loaded into the CPU 301 and causes the CPU 301 to execute the coded processing.

ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。 Network I/F 303 is connected to network 210 through a communication line, and connected to other computers via network 210. The network I/F 303 serves as an internal interface with the network 210, and controls data input/output from other computers. The network I/F 303 is, for example, a modem or a LAN adapter.

記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置100から着脱可能であってもよい。 The recording medium I/F 304 controls reading/writing of data to/from the recording medium 305 under the control of the CPU 301 . The recording medium I/F 304 is, for example, a disk drive, an SSD (Solid State Drive), a USB (Universal Serial Bus) port, or the like. The recording medium 305 is a nonvolatile memory that stores data written under the control of the recording medium I/F 304. The recording medium 305 is, for example, a disk, a semiconductor memory, a USB memory, or the like. The recording medium 305 may be removable from the information processing apparatus 100.

情報処理装置100は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。 In addition to the components described above, the information processing device 100 may include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, and the like. Further, the information processing apparatus 100 may include a plurality of recording medium I/Fs 304 and recording media 305. Further, the information processing apparatus 100 does not need to have the recording medium I/F 304 or the recording medium 305.

(BU判定情報管理テーブル400の記憶内容)
次に、図4を用いて、BU判定情報管理テーブル400の記憶内容の一例について説明する。BU判定情報管理テーブル400は、例えば、図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
(Stored contents of BU determination information management table 400)
Next, an example of the stored contents of the BU determination information management table 400 will be explained using FIG. 4. The BU determination information management table 400 is realized, for example, by a storage area such as the memory 302 or the recording medium 305 of the information processing apparatus 100 shown in FIG. 3.

図4は、BU判定情報管理テーブル400の記憶内容の一例を示す説明図である。図4に示すように、BU判定情報管理テーブル400は、連携実行ID_処理IDと、処理内容と、BU条件と、conditionに合致した取引リストとのフィールドを有する。BU判定情報管理テーブル400は、取引ごとに各フィールドに情報を設定することにより、BU判定情報がレコード400-aとして記憶される。aは、任意の整数である。 FIG. 4 is an explanatory diagram showing an example of the stored contents of the BU determination information management table 400. As shown in FIG. 4, the BU determination information management table 400 has fields of cooperation execution ID_processing ID, process content, BU condition, and a list of transactions that match the condition. In the BU determination information management table 400, BU determination information is stored as a record 400-a by setting information in each field for each transaction. a is any integer.

連携実行ID_処理IDのフィールドには、一連の取引のいずれかの取引を識別可能にする情報が設定される。連携実行ID_処理IDのフィールドには、例えば、上記一連の取引の全体を識別する識別情報である連携実行IDと、上記一連の取引のいずれかの取引を識別する識別情報である処理IDとを連結した情報が設定される。 In the field of cooperation execution ID_processing ID, information that enables identification of any transaction in the series of transactions is set. For example, the cooperation execution ID_processing ID field contains the cooperation execution ID, which is identification information that identifies the entire series of transactions, and the processing ID, which is identification information that identifies any one of the transactions in the series of transactions. Concatenated information is set.

処理内容のフィールドには、上記いずれかの取引の処理内容が設定される。処理内容は、処理IDと、上記いずれかの取引に関する連携先BCネットワーク230を識別する識別情報である連携先BCIDと、上記いずれかの取引に関する処理実行パラメータのいずれかとを含む。処理内容は、例えば、一方の口座から他方の口座への送金である。処理実行パラメータは、例えば、送金元を示すfromと、送金先を示すtoと、送金額を示すamountとなどを含む。 The processing content of any of the above transactions is set in the processing content field. The processing content includes a processing ID, a cooperation partner BCID that is identification information for identifying the cooperation destination BC network 230 regarding any of the above transactions, and any one of processing execution parameters regarding any of the above transactions. The processing content is, for example, remittance from one account to another account. The processing execution parameters include, for example, "from" indicating the remittance source, "to" indicating the remittance destination, and "amount" indicating the remittance amount.

BU条件のフィールドには、上記いずれかの取引が割り当てられた制御装置に代わり、上記いずれかの取引を、他の制御装置で実行する契機となるBU条件が設定される。BU条件は、例えば、上記いずれかの取引と同種と判断される他の取引が所定数以上完了することを示す。BU条件は、例えば、同種と判断する条件を示すconditionと、同種と判断された他の取引の数と比較する所定数を示すnumberとを含む。conditionに合致した取引リストのフィールドには、conditionを満たし、上記いずれかの取引と同種と判断された他の取引それぞれに関する処理実行パラメータが登録される取引リストが設定される。 In the BU condition field, a BU condition that triggers one of the above transactions to be executed by another control device in place of the control device to which one of the above transactions is assigned is set. The BU condition indicates, for example, that a predetermined number or more of other transactions that are determined to be of the same type as any of the above transactions are completed. The BU conditions include, for example, a condition indicating a condition for determining that transactions are of the same type, and a number indicating a predetermined number to be compared with the number of other transactions determined to be of the same type. In the field of the transaction list that meets the condition, a transaction list is set in which processing execution parameters for each of the other transactions that satisfy the condition and are determined to be the same type as any of the above transactions are registered.

(連携用ノード201のハードウェア構成例)
次に、図5を用いて、連携用ノード201のハードウェア構成例について説明する。
(Example of hardware configuration of collaboration node 201)
Next, an example of the hardware configuration of the cooperation node 201 will be described using FIG. 5.

図5は、連携用ノード201のハードウェア構成例を示すブロック図である。図5において、連携用ノード201は、CPU(Central Processing Unit)501と、メモリ502と、ネットワークI/F(Interface)503と、記録媒体I/F504と、記録媒体505とを有する。また、各構成部は、バス500によってそれぞれ接続される。 FIG. 5 is a block diagram showing an example of the hardware configuration of the cooperation node 201. In FIG. 5, the cooperation node 201 includes a CPU (Central Processing Unit) 501, a memory 502, a network I/F (Interface) 503, a recording medium I/F 504, and a recording medium 505. Further, each component is connected to each other by a bus 500.

ここで、CPU501は、連携用ノード201の全体の制御を司る。メモリ502は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU501のワークエリアとして使用される。メモリ502に記憶されるプログラムは、CPU501にロードされることにより、コーディングされている処理をCPU501に実行させる。 Here, the CPU 501 is in charge of overall control of the cooperation node 201. The memory 502 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), and a flash ROM. Specifically, for example, a flash ROM or ROM stores various programs, and a RAM is used as a work area for the CPU 501. The program stored in the memory 502 is loaded into the CPU 501 and causes the CPU 501 to execute the coded processing.

ネットワークI/F503は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F503は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F503は、例えば、モデムやLANアダプタなどである。 Network I/F 503 is connected to network 210 through a communication line, and connected to other computers via network 210. The network I/F 503 serves as an internal interface with the network 210, and controls data input/output from other computers. The network I/F 503 is, for example, a modem or a LAN adapter.

記録媒体I/F504は、CPU501の制御に従って記録媒体505に対するデータのリード/ライトを制御する。記録媒体I/F504は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体505は、記録媒体I/F504の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体505は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体505は、連携用ノード201から着脱可能であってもよい。 The recording medium I/F 504 controls reading/writing of data to/from the recording medium 505 under the control of the CPU 501 . The recording medium I/F 504 is, for example, a disk drive, an SSD (Solid State Drive), a USB (Universal Serial Bus) port, or the like. The recording medium 505 is a nonvolatile memory that stores data written under the control of the recording medium I/F 504. The recording medium 505 is, for example, a disk, a semiconductor memory, a USB memory, or the like. The recording medium 505 may be removable from the cooperation node 201.

連携用ノード201は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、連携用ノード201は、記録媒体I/F504や記録媒体505を複数有していてもよい。また、連携用ノード201は、記録媒体I/F504や記録媒体505を有していなくてもよい。 In addition to the components described above, the collaboration node 201 may include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, and the like. Moreover, the cooperation node 201 may have a plurality of recording medium I/Fs 504 and recording media 505. Moreover, the cooperation node 201 does not need to have the recording medium I/F 504 or the recording medium 505.

(担当情報管理テーブル600の記憶内容)
次に、図6を用いて、担当情報管理テーブル600の記憶内容の一例について説明する。担当情報管理テーブル600は、例えば、図5に示した連携用ノード201のメモリ502や記録媒体505などの記憶領域により実現される。
(Contents stored in the person-in-charge information management table 600)
Next, an example of the contents stored in the person-in-charge information management table 600 will be explained using FIG. 6. The person-in-charge information management table 600 is realized, for example, by a storage area such as the memory 502 or the recording medium 505 of the cooperation node 201 shown in FIG.

図6は、担当情報管理テーブル600の記憶内容の一例を示す説明図である。図6に示すように、担当情報管理テーブル600は、連携先BCIDと、処理順および処理担当とのフィールドを有する。担当情報管理テーブル600は、一連の取引ごとに各フィールドに情報を設定することにより、担当情報がレコード600-bとして記憶される。bは、任意の整数である。 FIG. 6 is an explanatory diagram showing an example of the stored contents of the person-in-charge information management table 600. As shown in FIG. 6, the person in charge information management table 600 has fields for cooperation destination BCID, processing order, and person in charge of processing. In the person-in-charge information management table 600, the person-in-charge information is stored as a record 600-b by setting information in each field for each series of transactions. b is an arbitrary integer.

連携先BCIDのフィールドには、一連の取引に利用される連携先BCを識別する識別情報である連携先BCIDが設定される。処理順および処理担当のフィールドには、上記一連の取引のそれぞれの取引を担当する情報処理装置100を識別する識別情報が、上記一連の取引のそれぞれの取引を担当する順序に並べられ、処理順を示す情報として設定される。処理順および処理担当のフィールドには、上記一連の取引のうち現時点で実行中の取引を担当する情報処理装置100を識別する識別情報が、処理担当を示す情報として設定される。 The cooperation destination BCID, which is identification information for identifying the cooperation destination BC used in a series of transactions, is set in the cooperation destination BCID field. In the processing order and processing person fields, identification information for identifying the information processing devices 100 in charge of each transaction in the series of transactions is arranged in the order in which they are in charge of each transaction in the series of transactions, and the processing order It is set as information indicating. Identification information for identifying the information processing apparatus 100 that is in charge of the currently executing transaction among the series of transactions is set in the processing order and processing in charge field as information indicating the processing in charge.

(連携先ノード202のハードウェア構成例)
連携先ノード202のハードウェア構成例は、具体的には、図5に示した連携用ノード201のハードウェア構成例と同様であるため、説明を省略する。
(Example of hardware configuration of cooperation destination node 202)
The hardware configuration example of the collaboration destination node 202 is specifically the same as the hardware configuration example of the collaboration node 201 shown in FIG. 5, so the description thereof will be omitted.

(BC連携システム200の機能的構成例)
次に、図7を用いて、BC連携システム200の機能的構成例について説明する。
(Functional configuration example of BC collaboration system 200)
Next, an example of the functional configuration of the BC cooperation system 200 will be described using FIG. 7.

図7は、BC連携システム200の機能的構成例を示すブロック図である。BC連携システム200において、情報処理装置100は、第1記憶部700と、第1取得部701と、判定部702と、取引部703と、第1出力部704とを含む。 FIG. 7 is a block diagram showing an example of the functional configuration of the BC cooperation system 200. In the BC cooperation system 200, the information processing device 100 includes a first storage section 700, a first acquisition section 701, a determination section 702, a transaction section 703, and a first output section 704.

第1記憶部700は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、第1記憶部700が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、第1記憶部700が、情報処理装置100とは異なる装置に含まれ、第1記憶部700の記憶内容が情報処理装置100から参照可能である場合があってもよい。 The first storage unit 700 is realized, for example, by a storage area such as the memory 302 or the recording medium 305 shown in FIG. 3. Although a case will be described below in which the first storage unit 700 is included in the information processing device 100, the present invention is not limited to this. For example, there may be a case where the first storage unit 700 is included in a device different from the information processing device 100, and the storage contents of the first storage unit 700 can be referenced from the information processing device 100.

第1取得部701~第1出力部704は、制御部の一例として機能する。第1取得部701~第1出力部704は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。 The first acquisition unit 701 to first output unit 704 function as an example of a control unit. Specifically, the first acquisition unit 701 to the first output unit 704, for example, cause the CPU 301 to execute a program stored in a storage area such as the memory 302 or the recording medium 305 shown in FIG. The network I/F 303 realizes this function. The processing results of each functional unit are stored in a storage area such as the memory 302 or the recording medium 305 shown in FIG. 3, for example.

第1記憶部700は、各機能部の処理において参照され、または更新される各種情報を記憶する。第1記憶部700は、例えば、ブロックを記憶する。ブロックは、稼働系の複数の制御装置の少なくともいずれかの制御装置に割り当てられた処理の、当該制御装置による実行実績が記録される。処理は、例えば、取引である。処理は、具体的には、複数の連携先BCネットワーク230のいずれかの連携先BCネットワーク230に関する。 The first storage unit 700 stores various information that is referenced or updated in the processing of each functional unit. The first storage unit 700 stores blocks, for example. In the block, an execution record of a process assigned to at least one of the plurality of active control devices by the control device is recorded. The processing is, for example, a transaction. Specifically, the process relates to any one of the plurality of cooperation destination BC networks 230.

制御装置は、例えば、情報処理装置100によって実現される。換言すれば、情報処理装置100は、稼働系の制御装置、または、待機系の制御装置として動作する。制御装置は、稼働系および待機系として動作していてもよい。制御装置は、例えば、情報処理装置100以外の他のコンピュータによって実現されていてもよい。ブロックは、例えば、第1取得部701によって取得され、第1記憶部700に記憶される。ブロックは、さらに、処理依頼が記録されていてもよい。処理依頼は、実行実績に含まれていてもよい。 The control device is realized by, for example, the information processing device 100. In other words, the information processing device 100 operates as an active control device or a standby control device. The control device may operate as an active system or a standby system. The control device may be implemented, for example, by a computer other than the information processing device 100. For example, the block is acquired by the first acquisition unit 701 and stored in the first storage unit 700. The block may further have a processing request recorded therein. The processing request may be included in the execution record.

第1取得部701は、各機能部の処理に用いられる各種情報を取得する。第1取得部701は、取得した各種情報を、第1記憶部700に記憶し、または、各機能部に出力する。また、第1取得部701は、第1記憶部700に記憶しておいた各種情報を、各機能部に出力してもよい。第1取得部701は、例えば、利用者の操作入力に基づき、各種情報を取得する。第1取得部701は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。 The first acquisition unit 701 acquires various information used in processing of each functional unit. The first acquisition unit 701 stores the acquired various information in the first storage unit 700 or outputs it to each functional unit. Further, the first acquisition unit 701 may output various information stored in the first storage unit 700 to each functional unit. The first acquisition unit 701 acquires various information based on, for example, a user's operation input. The first acquisition unit 701 may receive various information from a device different from the information processing device 100, for example.

第1取得部701は、連携用BCネットワーク220から、ブロックを取得する。連携用BCネットワーク220は、複数の制御装置のそれぞれの制御装置に対応するノードを含む。連携用BCネットワーク220は、それぞれの制御装置に割り当てられた処理の、当該制御装置による実行実績が記録されるブロックを管理する。連携用BCネットワーク220は、例えば、それぞれの制御装置に割り当てられた処理の、当該制御装置による実行実績が記録されるブロックを連結して形成される連携用BCを管理する。それぞれのノードは、自ノードに対応する制御装置による処理の実行実績を取得し、ブロックに記録する。連携用BCネットワーク220は、それぞれのノードで、同一のブロックを共有することにより、それぞれの制御装置による処理の実行実績を共有する。 The first acquisition unit 701 acquires a block from the cooperation BC network 220. The cooperative BC network 220 includes nodes corresponding to each of the plurality of control devices. The cooperation BC network 220 manages blocks in which the execution results of the processes assigned to each control device by the control device are recorded. The cooperation BC network 220 manages, for example, a cooperation BC formed by connecting blocks in which execution records of processes assigned to each control device are recorded by the control devices. Each node acquires the execution results of the processing by the control device corresponding to the node and records them in a block. In the cooperative BC network 220, the nodes share the same block, thereby sharing the execution results of the processes performed by the respective control devices.

第1取得部701は、例えば、BU依頼を取得する。BU依頼は、情報処理装置100が、いずれかの稼働系の制御装置に対応する待機系の制御装置に設定されたことを示す。BU依頼は、例えば、待機系の制御装置となる情報処理装置100に対応する稼働系の制御装置を特定可能にする情報を含む。第1取得部701は、具体的には、BU依頼を、連携用ノード201から受信することにより取得する。 The first acquisition unit 701 acquires, for example, a BU request. The BU request indicates that the information processing device 100 has been set as a standby control device corresponding to any active control device. The BU request includes, for example, information that makes it possible to specify the active control device that corresponds to the information processing device 100 that is the standby control device. Specifically, the first acquisition unit 701 acquires the BU request by receiving it from the collaboration node 201.

第1取得部701は、例えば、処理依頼を取得する。処理依頼は、情報処理装置100に割り当てられた、いずれかの連携先BCネットワーク230に関する処理を示す。第1取得部701は、具体的には、処理依頼を、連携用ノード201から受信することにより取得する。第1取得部701は、より具体的には、連携用ノード201から取得したブロックに含まれる処理依頼を抽出することにより取得する。 The first acquisition unit 701 acquires a processing request, for example. The processing request indicates processing related to one of the cooperation destination BC networks 230 assigned to the information processing device 100. Specifically, the first acquisition unit 701 acquires a processing request by receiving it from the collaboration node 201. More specifically, the first acquisition unit 701 acquires the processing request by extracting the processing request included in the block acquired from the collaboration node 201.

第1取得部701は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、利用者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。 The first acquisition unit 701 may receive a start trigger that starts processing of any functional unit. The start trigger is, for example, a predetermined operation input by the user. The start trigger may be, for example, receiving predetermined information from another computer. The start trigger may be, for example, that any functional unit outputs predetermined information.

第1取得部701は、例えば、BU依頼を取得したことを、判定部702の処理を開始する開始トリガーとして受け付ける。第1取得部701は、処理依頼を取得したことを、取引部703の処理を開始する開始トリガーとして受け付ける。 The first acquisition unit 701 receives, for example, the acquisition of a BU request as a start trigger for starting the process of the determination unit 702. The first acquisition unit 701 receives the acquisition of the processing request as a start trigger for starting the processing of the transaction unit 703.

判定部702は、取得したブロックに含まれる実行実績に基づいて、少なくともいずれかの制御装置の状態を判定する。いずれかの制御装置は、例えば、情報処理装置100に対応する稼働系の制御装置として設定される。判定部702は、例えば、取得したBU依頼に含まれる、情報処理装置100に対応するいずれかの制御装置を特定可能にする情報に基づいて、いずれかの制御装置を特定する。そして、判定部702は、取得したブロックに含まれる実行実績に基づいて、特定したいずれかの制御装置の状態を判定する。 The determining unit 702 determines the state of at least one of the control devices based on the execution results included in the acquired block. One of the control devices is set as an active control device corresponding to the information processing device 100, for example. The determining unit 702 identifies one of the control devices, for example, based on information that is included in the acquired BU request and allows one of the control devices corresponding to the information processing device 100 to be specified. The determining unit 702 then determines the state of any of the identified control devices based on the execution results included in the acquired block.

判定部702は、具体的には、取得したブロックに含まれる実行実績に基づいて、いずれかの制御装置に割り当てられた処理と同種の処理と判断する条件を満たす、他の制御装置に割り当てられた処理の数を特定する。そして、判定部702は、具体的には、特定した数が、所定の数以上である場合、いずれかの制御装置の状態を異常であると判定する。制御装置の状態が異常であるとは、制御装置に関する異常があることを意味し、制御装置自体または制御装置の通信経路などに異常があることを示す。一方で、判定部702は、具体的には、特定した数が、所定の数未満である場合、いずれかの制御装置の状態を正常であると判定する。 Specifically, the determining unit 702 determines whether a process assigned to another control device satisfies conditions for determining that the process is the same type of process as the process assigned to one of the control devices, based on the execution results included in the acquired block. Determine the number of processes performed. Specifically, when the identified number is a predetermined number or more, the determination unit 702 determines that the state of one of the control devices is abnormal. An abnormal state of the control device means that there is an abnormality related to the control device, and indicates that there is an abnormality in the control device itself or a communication path of the control device. On the other hand, specifically, when the specified number is less than a predetermined number, the determination unit 702 determines that the state of one of the control devices is normal.

条件は、例えば、処理と同一のパラメータを有する処理を、処理と同種の処理と判断することを示す。パラメータは、例えば、処理内容が送金であれば、送金額、送金先、または、送金元などである。条件は、処理と同一の連携先BCネットワーク230を連携する対象とする処理を、処理と同種の処理と判断することを示す。これにより、判定部702は、制御装置に関する異常があるか否かを精度よく判定することができる。 The condition indicates, for example, that a process having the same parameters as the process is determined to be the same type of process. For example, if the processing content is remittance, the parameters include the remittance amount, remittance destination, or remittance source. The condition indicates that a process that targets the same cooperation destination BC network 230 as the process is determined to be the same type of process. Thereby, the determination unit 702 can accurately determine whether or not there is an abnormality regarding the control device.

取引部703は、処理を実行する。取引部703は、例えば、処理依頼に基づいて、情報処理装置100に割り振られた、連携先BCネットワーク230に関する処理を実行する。そして、取引部703は、例えば、処理の実行実績を、連携用BCネットワーク220が管理するブロックに記録する。これにより、取引部703は、処理の実行実績を、連携用BCネットワーク220を介して、複数の稼働系の制御装置が共有可能にすることができる。 Transaction unit 703 executes processing. For example, the transaction unit 703 executes processing related to the cooperation destination BC network 230 that is allocated to the information processing device 100 based on a processing request. Then, the transaction unit 703 records, for example, the execution results of the process in a block managed by the cooperation BC network 220. Thereby, the trading unit 703 can enable a plurality of active control devices to share the process execution results via the cooperative BC network 220.

取引部703は、例えば、情報処理装置100に対応するいずれかの制御装置の状態を異常であると判定した場合、いずれかの制御装置に割り振られる処理を情報処理装置100で実行する。そして、取引部703は、例えば、当該処理の実行実績を、連携用BCネットワーク220が管理するブロックに記録する。これにより、取引部703は、処理の実行実績を、連携用BCネットワーク220を介して、複数の稼働系の制御装置が共有可能にすることができる。また、取引部703は、異常がある制御装置に代わり処理を実行することができ、BC連携システム200を継続して正常に動作可能にすることができる。 For example, when the trading unit 703 determines that the state of any of the control devices corresponding to the information processing device 100 is abnormal, the transaction unit 703 causes the information processing device 100 to execute a process assigned to any of the control devices. Then, the transaction unit 703 records the execution results of the process in a block managed by the cooperation BC network 220, for example. Thereby, the trading unit 703 can enable a plurality of active control devices to share the process execution results via the cooperative BC network 220. Furthermore, the transaction unit 703 can execute processing in place of the abnormal control device, and can continue to enable the BC cooperation system 200 to operate normally.

第1出力部704は、各機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、第1出力部704は、各機能部の処理結果を利用者に通知可能にし、情報処理装置100の利便性の向上を図ることができる。第1出力部704は、例えば、処理の実行結果を出力する。 The first output unit 704 outputs the processing results of each functional unit. The output format is, for example, displaying on a display, printing out to a printer, transmitting to an external device via network I/F 303, or storing in a storage area such as memory 302 or recording medium 305. Thereby, the first output unit 704 can notify the user of the processing results of each functional unit, thereby improving the usability of the information processing apparatus 100. The first output unit 704 outputs, for example, the execution result of the process.

BC連携システム200において、連携用ノード201は、第2記憶部710と、第2取得部711と、割当部712と、依頼部713と、第2出力部714とを含む。 In the BC cooperation system 200, the cooperation node 201 includes a second storage section 710, a second acquisition section 711, an allocation section 712, a request section 713, and a second output section 714.

第2記憶部710は、例えば、図5に示したメモリ502や記録媒体505などの記憶領域によって実現される。以下では、第2記憶部710が、連携用ノード201に含まれる場合について説明するが、これに限らない。例えば、第2記憶部710が、連携用ノード201とは異なる装置に含まれ、第2記憶部710の記憶内容が連携用ノード201から参照可能である場合があってもよい。 The second storage unit 710 is realized, for example, by a storage area such as the memory 502 or the recording medium 505 shown in FIG. 5. Although a case will be described below in which the second storage unit 710 is included in the collaboration node 201, the present invention is not limited to this. For example, there may be a case in which the second storage unit 710 is included in a device different from the collaboration node 201, and the storage contents of the second storage unit 710 can be referenced from the collaboration node 201.

第2取得部711~第2出力部714は、制御部の一例として機能する。第2取得部711~第2出力部714は、具体的には、例えば、図5に示したメモリ502や記録媒体505などの記憶領域に記憶されたプログラムをCPU501に実行させることにより、または、ネットワークI/F503により、その機能を実現する。各機能部の処理結果は、例えば、図5に示したメモリ502や記録媒体505などの記憶領域に記憶される。 The second acquisition unit 711 to second output unit 714 function as an example of a control unit. Specifically, the second acquisition unit 711 to the second output unit 714, for example, cause the CPU 501 to execute a program stored in a storage area such as the memory 502 or the recording medium 505 shown in FIG. The network I/F 503 realizes this function. The processing results of each functional unit are stored in a storage area such as the memory 502 or the recording medium 505 shown in FIG. 5, for example.

第2記憶部710は、各機能部の処理において参照され、または更新される各種情報を記憶する。第2記憶部710は、処理を複数の制御装置に割り当てる第1の順序を記憶する。第1の順序は、例えば、管理者によって予め設定される。第1の順序は、例えば、第2取得部711によって取得され、第2記憶部710に記憶されてもよい。 The second storage unit 710 stores various information that is referenced or updated in the processing of each functional unit. The second storage unit 710 stores a first order in which processes are assigned to a plurality of control devices. The first order is set in advance by, for example, an administrator. The first order may be acquired by the second acquisition unit 711 and stored in the second storage unit 710, for example.

第2記憶部710は、待機系の制御装置を設定する第2の順序を記憶する。第2の順序は、例えば、管理者によって予め設定される。第2の順序は、例えば、第2取得部711によって取得され、第2記憶部710に記憶されてもよい。第2記憶部710は、ブロックを記憶する。第2記憶部710は、例えば、ブロックを連結した連携用BCを記憶する。 The second storage unit 710 stores a second order for setting standby control devices. The second order is set in advance by, for example, an administrator. The second order may be acquired by the second acquisition unit 711 and stored in the second storage unit 710, for example. The second storage unit 710 stores blocks. The second storage unit 710 stores, for example, a cooperation BC in which blocks are connected.

第2取得部711は、各機能部の処理に用いられる各種情報を取得する。第2取得部711は、取得した各種情報を、第2記憶部710に記憶し、または、各機能部に出力する。また、第2取得部711は、第2記憶部710に記憶しておいた各種情報を、各機能部に出力してもよい。第2取得部711は、例えば、利用者の操作入力に基づき、各種情報を取得する。第2取得部711は、例えば、連携用ノード201とは異なる装置から、各種情報を受信してもよい。 The second acquisition unit 711 acquires various information used in processing of each functional unit. The second acquisition unit 711 stores the acquired various information in the second storage unit 710 or outputs it to each functional unit. Further, the second acquisition unit 711 may output various information stored in the second storage unit 710 to each functional unit. The second acquisition unit 711 acquires various information based on, for example, a user's operation input. The second acquisition unit 711 may receive various information from a device different from the cooperation node 201, for example.

第2取得部711は、第1の順序を取得する。第1の順序は、例えば、ラウンドロビンである。第2取得部711は、例えば、管理者の操作入力に基づき、第1の順序の入力を受け付ける。 The second acquisition unit 711 acquires the first order. The first order is, for example, round robin. The second acquisition unit 711 receives input in the first order, for example, based on an operational input from the administrator.

第2取得部711は、第2の順序を取得する。第2の順序は、例えば、ラウンドロビンである。第2取得部711は、例えば、管理者の操作入力に基づき、第2の順序の入力を受け付ける。 The second acquisition unit 711 acquires the second order. The second order is, for example, round robin. The second acquisition unit 711 receives input in the second order based on, for example, an operational input by the administrator.

第2取得部711は、一連の処理を実行することを要求する連携依頼を取得する。第2取得部711は、例えば、一連の処理を実行することを要求する連携依頼を、クライアントとなる他のコンピュータから受信することにより取得する。 The second acquisition unit 711 acquires a cooperation request requesting execution of a series of processes. The second acquisition unit 711 acquires, for example, a cooperation request requesting execution of a series of processes by receiving from another computer serving as a client.

第2取得部711は、制御装置による処理の実行実績を取得する。第2取得部711は、例えば、制御装置による処理の実行実績を、制御装置から受信することにより取得する。第2取得部711は、受信した実行実績を、連携用BCに含まれるブロックに記録する。 The second acquisition unit 711 acquires the execution results of processing by the control device. The second acquisition unit 711 acquires, for example, the execution results of processes by the control device by receiving them from the control device. The second acquisition unit 711 records the received execution results in a block included in the collaboration BC.

第2取得部711は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、利用者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。第2取得部711は、例えば、連携依頼を取得したことを、割当部712と依頼部713との処理を開始する開始トリガーとして受け付ける。 The second acquisition unit 711 may receive a start trigger to start processing of any functional unit. The start trigger is, for example, a predetermined operation input by the user. The start trigger may be, for example, receiving predetermined information from another computer. The start trigger may be, for example, that any functional unit outputs predetermined information. The second acquisition unit 711 receives, for example, the acquisition of a cooperation request as a start trigger for starting processing between the allocation unit 712 and the request unit 713.

割当部712は、連携依頼を受け付けた際、第1の順序に従って、一連の処理のそれぞれの処理を、複数の制御装置に割り当てる。割当部712は、例えば、一連の処理のそれぞれの処理を、複数の制御装置に順に1つずつ割り当てていく。これにより、割当部712は、複数の制御装置の負荷分散を図ることができる。 When the assignment unit 712 receives the collaboration request, it assigns each process of the series of processes to the plurality of control devices according to the first order. For example, the allocation unit 712 sequentially allocates each process in the series of processes to a plurality of control devices one by one. Thereby, the allocation unit 712 can distribute the load among the plurality of control devices.

割当部712は、連携依頼を受け付けた際、第2の順序に従って、複数の制御装置のうち、一連の処理のそれぞれの処理に関する待機系の制御装置を設定する。割当部712は、例えば、複数の制御装置を、順に1つずつ、それぞれの処理に関する待機系の制御装置として設定していく。これにより、割当部712は、複数の制御装置の負荷分散を図ることができる。 When the allocation unit 712 receives the cooperation request, it sets a standby control device for each process in the series of processes among the plurality of control devices, according to the second order. For example, the allocation unit 712 sequentially sets a plurality of control devices one by one as a standby control device for each process. Thereby, the allocation unit 712 can distribute the load among the plurality of control devices.

依頼部713は、制御装置に割り当てた処理を実行することを要求する処理依頼を、当該制御装置に送信する。依頼部713は、一連の処理に含まれる処理を実行することを要求する処理依頼を、1つずつ順に、当該処理を割り当てた制御装置に送信する。依頼部713は、例えば、第2出力部714を介して、一連の処理に含まれる処理を実行することを要求する処理依頼を含めた実行実績を、ブロックに記録するよう制御する。これにより、依頼部713は、一連の処理を適切に実行可能にすることができる。依頼部713は、例えば、連携用ノード201において、実行実績の記録と、次の担当の割り当てとを、同一の取引で実行することができる。 The requesting unit 713 sends a processing request requesting the control device to execute the assigned process to the control device. The request unit 713 sequentially transmits processing requests requesting execution of a process included in a series of processes to the control device to which the process is assigned, one by one. The requesting unit 713 controls, for example, via the second outputting unit 714, to record the execution results including a processing request requesting execution of a process included in a series of processes in a block. Thereby, the requesting unit 713 can appropriately execute a series of processes. For example, the requesting unit 713 can record the execution results and assign the next person in charge in the same transaction in the collaboration node 201.

第2出力部714は、各機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F503による外部装置への送信、または、メモリ502や記録媒体505などの記憶領域への記憶である。これにより、第2出力部714は、各機能部の処理結果を利用者に通知可能にし、連携用ノード201の利便性の向上を図ることができる。 The second output unit 714 outputs the processing results of each functional unit. The output format is, for example, displaying on a display, printing out to a printer, transmitting to an external device via network I/F 503, or storing in a storage area such as memory 502 or recording medium 505. Thereby, the second output unit 714 can notify the user of the processing results of each functional unit, thereby improving the usability of the collaboration node 201.

第2出力部714は、例えば、ブロックを出力する。第2出力部714は、具体的には、情報処理装置100の問い合わせに応じて、ブロックを情報処理装置100に送信する。これにより、第2出力部714は、情報処理装置100がブロックに記録された実行実績を利用可能にすることができる。 The second output unit 714 outputs blocks, for example. Specifically, the second output unit 714 transmits the block to the information processing device 100 in response to an inquiry from the information processing device 100. Thereby, the second output unit 714 can enable the information processing apparatus 100 to use the execution results recorded in the block.

(BC連携システム200の動作の流れ)
次に、図8および図9を用いて、BC連携システム200の動作の流れについて説明する。
(Flow of operation of BC cooperation system 200)
Next, the flow of operation of the BC cooperation system 200 will be explained using FIGS. 8 and 9.

図8および図9は、BC連携システム200の動作の流れを示す説明図である。図8において、それぞれの情報処理装置100は、稼働系および待機系の制御装置としての機能を実現する連携エンジンを有する。図8の例では、それぞれ異なる情報処理装置100に、連携エンジン1と連携エンジン2と連携エンジン3と連携エンジン4とが存在する。それぞれの連携エンジンは、長期バッファ801と、BU判定情報管理テーブル400とを有する。 8 and 9 are explanatory diagrams showing the flow of operations of the BC cooperation system 200. In FIG. 8, each information processing device 100 has a cooperation engine that realizes functions as an active system and a standby system control device. In the example of FIG. 8, a cooperation engine 1, a cooperation engine 2, a cooperation engine 3, and a cooperation engine 4 exist in different information processing apparatuses 100, respectively. Each cooperation engine has a long-term buffer 801 and a BU determination information management table 400.

連携用ノード201は、それぞれ異なる連携エンジンに対応する。連携用ノード201は、それぞれ、処理の実行完了を示す実行実績および次の実行依頼が記録されるブロックを連結した連携用BCを管理する。それぞれの連携用ノード201は、連携ルールに従って、処理1の処理担当を設定し、処理1の実行依頼を、ブロックを介して自ノードに対応する連携エンジンに送信する。連携ルールは、一連の処理の順序を示し、処理ごとに処理ID、連携先BCID、BU条件などを示す、一連の処理を順に実行するためのルールである。処理1は、例えば、処理担当に設定された連携エンジンで実行される。ブロックに、例えば、処理1の実行完了の実行実績が記録されたとする。 The cooperation nodes 201 correspond to different cooperation engines. The collaboration node 201 manages a collaboration BC that is a combination of blocks in which execution results indicating the completion of processing execution and the next execution request are recorded. Each collaboration node 201 sets a person in charge of processing Process 1 according to the collaboration rule, and sends an execution request for Process 1 to the collaboration engine corresponding to its own node via a block. The cooperation rule is a rule for sequentially executing a series of processes, indicating the order of a series of processes, and indicating a process ID, a cooperation destination BCID, a BU condition, etc. for each process. Processing 1 is executed, for example, by a cooperation engine set to be in charge of processing. For example, suppose that the execution result of the completion of execution of process 1 is recorded in the block.

それぞれの連携用ノード201は、処理1が実行完了した場合、連携ルールに従って、連携エンジン2を処理2の処理担当に設定し、連携エンジン1を処理2のBU担当に設定し、連携エンジン1が処理2をBUする契機となるBU条件を設定する。それぞれの連携用ノード201は、処理2の実行依頼を、ブロックを介して、自ノードに対応する連携エンジンに送信する。 When the execution of process 1 is completed, each collaboration node 201 sets the collaboration engine 2 to be in charge of processing 2, sets the collaboration engine 1 to be in charge of BU of process 2, and the collaboration engine 1 Set the BU conditions that trigger BU for process 2. Each collaboration node 201 transmits a request to execute process 2 to the collaboration engine corresponding to its own node via a block.

それぞれの連携用ノード201は、処理3の処理担当を設定し、処理3の実行依頼を、ブロックを介して自ノードに対応する連携エンジンに送信したとする。処理3は、例えば、連携エンジン3で実行されたとする。また、それぞれの連携用ノード201は、処理4の処理担当を設定し、処理4の実行依頼を、ブロックを介して自ノードに対応する連携エンジンに送信したとする。処理4は、例えば、連携エンジン4で実行されたとする。その後、ブロックに、例えば、処理3の実行完了の実行実績と、処理4の実行完了の実行実績とが記録されたとする。 It is assumed that each cooperation node 201 sets a person in charge of processing Process 3 and sends an execution request for Process 3 to the cooperation engine corresponding to its own node via a block. Assume that the process 3 is executed by the cooperation engine 3, for example. Further, it is assumed that each cooperation node 201 sets a person in charge of processing Process 4, and sends an execution request for Process 4 to the cooperation engine corresponding to its own node via a block. For example, it is assumed that the process 4 is executed by the cooperation engine 4. After that, assume that, for example, an execution record of completion of execution of process 3 and an execution record of completion of execution of process 4 are recorded in the block.

連携エンジン1は、自ノードがBU担当であるため、設定されたBU条件に基づいて、連携エンジン2に関する異常があるか否かを判定する。連携エンジン1は、例えば、自装置に対応する連携用ノード201から、連携用BCに含まれるブロックを取得し、処理2と同種と判断された他の処理の実行完了の実行実績を、長期バッファ801に蓄積する。同種と判断する条件は、例えば、BU条件に含まれる。例えば、処理2と同一のパラメータを有する他の処理が、処理2と同種と判断される。例えば、処理2と同一の連携先BCネットワーク230に関する他の処理が、処理2と同種と判断される。連携用ノード201は、例えば、連携用BCに実行実績が記録されたブロックが追加された際、追加されたブロックを自ノードに対応する連携エンジンに通知する。 Since the cooperative engine 1 is in charge of the BU, the cooperative engine 1 determines whether there is an abnormality regarding the cooperative engine 2 based on the set BU conditions. For example, the cooperation engine 1 acquires blocks included in the cooperation BC from the cooperation node 201 corresponding to its own device, and stores the execution results of the completion of execution of other processes determined to be of the same type as process 2 in a long-term buffer. 801. The conditions for determining the same type are included in the BU conditions, for example. For example, another process having the same parameters as process 2 is determined to be of the same type as process 2. For example, another process related to the same cooperation destination BC network 230 as process 2 is determined to be the same type as process 2. For example, when a block whose execution record is recorded is added to the collaboration BC, the collaboration node 201 notifies the collaboration engine corresponding to its own node of the added block.

連携エンジン1は、例えば、長期バッファ801に蓄積した実行実績に基づいて、処理2と同種と判断される他の処理の実行完了の実行実績の数を算出する。連携エンジン1は、具体的には、処理2と同種と判断される処理3および処理4が存在するため、処理2と同種と判断される他の処理の数2を算出する。連携エンジン1は、算出した数2が、設定された所定の数以上であるか否かを判定する。所定の数は、例えば、BU条件に含まれる。所定の数は、例えば、2である。 For example, the cooperation engine 1 calculates the number of completed execution results of other processes that are determined to be of the same type as the process 2, based on the execution results accumulated in the long-term buffer 801. Specifically, since there are processes 3 and 4 that are determined to be the same type as process 2, the cooperation engine 1 calculates the number 2 of other processes that are determined to be the same type as process 2. The cooperation engine 1 determines whether the calculated number 2 is greater than or equal to a predetermined number. The predetermined number is included in the BU condition, for example. The predetermined number is, for example, two.

ここで、処理2と同種と判断され、連携エンジン2に関わらない他の処理が、既に実行完了しているが、処理2が、まだ実行完了していない場合、連携エンジン2に関する異常がある確率が比較的高いと考えられる。例えば、処理2に関する連携先BCネットワーク230、他の処理を実行完了した他の連携エンジンなどは正常である確率が比較的高いと考えられる。また、この場合、処理2と同種と判断された他の処理が複数実行完了しているため、処理2の所要時間が比較的長くなっており、連携エンジン2が正常である確率が比較的低いと考えられる。 Here, if another process that is determined to be the same type as Process 2 and is not related to Cooperation Engine 2 has already completed execution, but Process 2 has not yet completed execution, there is a probability that there is an abnormality related to Cooperation Engine 2. is considered to be relatively high. For example, it is considered that there is a relatively high probability that the cooperation destination BC network 230 related to process 2, other cooperation engines that have completed execution of other processes, etc. are normal. In addition, in this case, since multiple other processes determined to be of the same type as process 2 have completed execution, the time required for process 2 is relatively long, and the probability that cooperative engine 2 is normal is relatively low. it is conceivable that.

従って、連携エンジン1は、算出した数が所定の数以上である場合、連携エンジン2に関する異常があると判定する。一方で、連携エンジン1は、算出した数が所定の数未満である場合、連携エンジン2に関する異常がないと判定する。これにより、それぞれの連携エンジンは、他の連携エンジンと通信せずに済み、処理量の低減化を図ることができる。連携エンジンは、長期バッファ801に蓄積した実行実績の数を利用するため、他の連携エンジンに関する異常があるか否かを精度よく判定し易くすることができる。次に、図9の説明に移行し、BU条件の具体例について説明する。 Therefore, if the calculated number is greater than or equal to the predetermined number, the cooperation engine 1 determines that there is an abnormality regarding the cooperation engine 2. On the other hand, if the calculated number is less than the predetermined number, the cooperation engine 1 determines that there is no abnormality regarding the cooperation engine 2. Thereby, each cooperation engine does not need to communicate with other cooperation engines, and it is possible to reduce the amount of processing. Since the cooperative engine utilizes the number of execution results accumulated in the long-term buffer 801, it is possible to easily determine with accuracy whether or not there is an abnormality regarding other cooperative engines. Next, moving on to the explanation of FIG. 9, a specific example of the BU condition will be explained.

図9において、BU条件は、連携エンジンの処理が実行完了しておらず、連携エンジンに関する異常があると判断する条件である。例えば、処理1のパラメータが、chainID=“chain0”と、from=“alice”と、to=“bob”と、amount=“100”とを含むとする。例えば、処理2のパラメータが、chainID=“chain0”と、from=“alice”と、to=“taro”と、amount=“1”とを含むとする。 In FIG. 9, the BU condition is a condition for determining that the processing of the cooperation engine has not been completed and that there is an abnormality regarding the cooperation engine. For example, assume that the parameters of process 1 include chainID="chain0", from="alice", to="bob", and amount="100". For example, assume that the parameters of process 2 include chainID="chain0", from="alice", to="taro", and amount="1".

処理2に関するBU条件は、例えば、処理2と同一のchainID=“chain0”およびfrom=“alice”を有する他の処理を、処理2と同種の処理と判断することを示す。処理2に関するBU条件は、処理2と同種の他の処理の実行完了の実行実績が、number:2以上あれば、連携エンジン2の処理2が実行完了していないと判断し、連携エンジン2に関する異常があると判断することを示す。連携エンジン1は、短期バッファ901を介して、連携用ノード201から取得したブロックに基づいて、処理2に関するBU条件を満たすか否かを判定することになる。 The BU condition regarding process 2 indicates, for example, that another process having the same chain ID="chain0" and from="alice" as process 2 is determined to be the same type of process as process 2. The BU condition regarding process 2 is that if the execution record of completion of execution of another process of the same type as process 2 is number: 2 or more, it is determined that process 2 of the cooperative engine 2 has not completed execution, and the BU condition regarding the cooperative engine 2 is Indicates that it is determined that there is an abnormality. The collaboration engine 1 determines whether or not the BU condition regarding process 2 is satisfied based on the block acquired from the collaboration node 201 via the short-term buffer 901.

(BC連携システム200の動作例)
次に、図10~図17を用いて、BC連携システム200の動作例について説明する。
(Example of operation of BC cooperation system 200)
Next, an example of the operation of the BC cooperation system 200 will be described using FIGS. 10 to 17.

図10~図17は、BC連携システム200の動作例を示す説明図である。図10に示すように、動作例においては、処理ごとに、当該処理に関する処理担当の連携エンジンと、当該処理に関するBU担当の連携エンジンとが設定される。 10 to 17 are explanatory diagrams showing operation examples of the BC cooperation system 200. As shown in FIG. 10, in the operation example, for each process, a cooperation engine in charge of the process and a cooperation engine in charge of the BU regarding the process are set.

それぞれの連携用ノード201は、例えば、予め設定された連携ルールおよび割り当て順に基づいて、処理ごとに、当該処理に関する処理担当の連携エンジンと、当該処理に関するBU担当の連携エンジンとを設定する。それぞれの連携用ノード201は、例えば、自ノードに対応する連携エンジンに、処理担当およびBU担当に設定された連携エンジンを特定可能にする情報と、BU条件とを含めた、処理の実行依頼を、ブロックを介して送信する。これにより、それぞれの連携エンジンは、自装置が処理担当またはBU担当であるかを特定することができる。それぞれの連携エンジンは、いずれかの連携エンジンにより処理が実行開始されたことを特定することができる。 Each cooperation node 201 sets, for each process, a cooperation engine in charge of the process and a cooperation engine in charge of the BU regarding the process, based on a preset cooperation rule and allocation order, for example. For example, each collaboration node 201 sends a processing execution request to the collaboration engine corresponding to its own node, including information that enables identification of the collaboration engine set as the processing person and the BU person, and the BU condition. , send via block. This allows each cooperation engine to specify whether its own device is in charge of processing or in charge of BU. Each cooperation engine can specify that execution of a process has been started by one of the cooperation engines.

また、連携エンジンは、処理が実行完了すると、処理が実行完了したことを示す実行実績を、自装置に対応する連携用ノード201に通知する。それぞれの連携用ノード201は、いずれかの連携用ノード201に通知された実行実績が記録されたブロックを、連携用BCに追加して共有する。それぞれの連携用ノード201は、追加されたブロックを、自ノードに対応する連携エンジンに送信する。これにより、それぞれの連携エンジンは、いずれかの連携エンジンにより処理が実行完了したことを示す実行実績を参照することができる。 Further, when the process is completed, the cooperation engine notifies the cooperation node 201 corresponding to its own device of the execution result indicating that the process has been completed. Each collaboration node 201 adds a block in which the execution results notified to any collaboration node 201 are recorded to the collaboration BC and shares the block. Each cooperation node 201 transmits the added block to the cooperation engine corresponding to its own node. This allows each linked engine to refer to the execution results indicating that processing has been completed by any linked engine.

連携エンジンは、自装置がBU担当であれば、BU条件と、ブロックに記録された実行実績とに基づいて、BU対象の処理を、処理担当の他の連携エンジンに代わりBUするか否かを判定する。BU対象の処理は、自装置がBU担当に割り当てられた処理であり、処理担当の他の連携エンジンに割り当てられた処理である。これにより、それぞれの連携エンジンは、他の連携エンジンを監視するために他の連携エンジンと通信せずに済み、処理量の低減化を図ることができる。連携エンジンは、他の連携エンジンに関する異常があるか否かを精度よく判定し易くすることができる。動作例において、連携用BCは、例えば、コンソーシアム型である。連携用ノード201は、PeerおよびOrdererとしての機能を有する。次に、図11の説明に移行する。 If the cooperative engine is in charge of BU, the cooperative engine determines whether or not to BU the process targeted for BU on behalf of another cooperative engine in charge of the process, based on the BU conditions and the execution results recorded in the block. judge. The BU target process is a process that the own device is assigned to be in charge of BU, and a process that is assigned to another cooperation engine that is in charge of the process. Thereby, each cooperation engine does not need to communicate with other cooperation engines in order to monitor other cooperation engines, and it is possible to reduce the amount of processing. A cooperative engine can easily determine with accuracy whether or not there is an abnormality regarding other cooperative engines. In the operation example, the cooperation BC is, for example, of a consortium type. The collaboration node 201 has functions as a peer and an orderer. Next, the description will move on to FIG. 11.

図11において、連携エンジンは、BU判定情報管理テーブル400と、連携実行モジュール1111と、長期バッファ1112と、Tx・ブロック通信部(連携先BC)1120と、Tx・ブロック通信部(連携用BC)1130とを含む。 In FIG. 11, the collaboration engine includes a BU determination information management table 400, a collaboration execution module 1111, a long-term buffer 1112, a Tx/block communication unit (cooperation destination BC) 1120, and a Tx/block communication unit (cooperation BC). 1130.

Tx・ブロック通信部(連携先BC)1120は、連携先BCTx実行モジュール1121と、連携先BC監視モジュール1122と、Txプール1123と、ブロックキャッシュ1124とを含む。Tx・ブロック通信部(連携用BC)1130は、連携用BCTx実行モジュール1131と、短期バッファ1132とを含む。 The Tx/block communication unit (collaboration destination BC) 1120 includes a cooperation destination BCTx execution module 1121 , a cooperation destination BC monitoring module 1122 , a Tx pool 1123 , and a block cache 1124 . The Tx/block communication unit (BC for cooperation) 1130 includes a BCTx execution module for cooperation 1131 and a short-term buffer 1132.

連携用ノード201は、ブロック作成・配布部1140と、Tx・ブロック通信部(Peer)1150とを含む。Tx・ブロック通信部(Peer)1150は、担当情報管理テーブル600と、Tx実行・参照部1151と、記憶領域1152と、連携用BC1153とを含む。BC管理システムは、各機能部によって、各種機能を実現する。例えば、BC管理システムは、連携エンジン間共有機能と、連携処理実行機能と、BU開始機能と、BU対象の処理蓄積機能と、BU実行機能と、割当機能とを実現する。 The cooperation node 201 includes a block creation/distribution unit 1140 and a Tx/block communication unit (Peer) 1150. The Tx/block communication unit (Peer) 1150 includes a responsible information management table 600, a Tx execution/reference unit 1151, a storage area 1152, and a cooperation BC 1153. The BC management system realizes various functions by each functional unit. For example, the BC management system implements a shared function between cooperative engines, a cooperative processing execution function, a BU start function, a BU target process accumulation function, a BU execution function, and an allocation function.

連携エンジン間共有機能は、連携エンジンを冗長化する機能である。連携エンジン間共有機能は、それぞれの連携エンジンに対する処理の実行依頼を、複数の連携エンジンで共有可能にする機能である。連携エンジン間共有機能は、例えば、それぞれの連携エンジンに対する処理の実行依頼を、連携用ノード201において監視するTxを介して、複数の連携エンジンで共有可能にする機能である。 The shared function between cooperative engines is a function that makes the cooperative engines redundant. The inter-cooperation engine sharing function is a function that allows a plurality of co-operation engines to share a process execution request for each co-operation engine. The inter-cooperation engine sharing function is, for example, a function that allows a plurality of co-operation engines to share a process execution request to each co-operation engine via Tx monitored by the co-operation node 201.

連携エンジンにおいて、連携処理実行機能は、当該連携エンジンに対応する連携用ノード201から、当該連携エンジンに対して通知された処理の実行依頼に基づいて、当該連携エンジンに、処理を実行させる機能である。連携エンジンにおいて、連携処理実行機能は、例えば、実行依頼に記載された処理担当またはBU担当を特定可能にする連携エンジンIDに基づいて、当該連携エンジンが処理担当であれば、当該連携エンジンに処理を実行させる機能である。 In the cooperation engine, the cooperation processing execution function is a function that causes the cooperation engine to execute a process based on a process execution request notified to the cooperation engine from the cooperation node 201 corresponding to the cooperation engine. be. In the cooperative engine, the cooperative processing execution function executes the cooperative processing execution function, for example, based on the cooperative engine ID that makes it possible to specify the processing person or BU person in charge described in the execution request. This is a function that executes.

連携エンジンにおいて、BU開始機能は、当該連携エンジンに対応する連携用ノード201から、当該連携エンジンに対して通知された処理の実行依頼に基づいて、当該連携エンジンに、BU対象の処理を実行する契機を検出開始させる機能である。連携エンジンにおいて、BU開始機能は、例えば、実行依頼に記載された処理担当またはBU担当を特定可能にする連携エンジンIDに基づいて、当該連携エンジンがBU担当であれば、BU対象の処理を実行する契機を検出開始させる機能である。連携エンジンにおいて、BU開始機能は、具体的には、当該連携エンジンに、BU対象の処理の実行完了Txと、BU対象の処理と同種と判断される他の処理の実行完了Txとを監視開始させ、BU対象の処理を実行する契機を検出開始させる機能である。 In the cooperation engine, the BU start function causes the cooperation engine to execute the BU target process based on a process execution request notified to the cooperation engine from the cooperation node 201 corresponding to the cooperation engine. This is a function to start detecting a trigger. In the linked engine, the BU start function executes the process for the BU if the linked engine is in charge of the BU, based on the linked engine ID that enables identification of the processing person or the BU person described in the execution request. This is a function that starts detecting an opportunity to do so. Specifically, in the cooperation engine, the BU start function causes the cooperation engine to start monitoring the execution completion Tx of the BU target process and the execution completion Tx of other processes that are determined to be of the same type as the BU target process. This is a function that starts detecting an opportunity to execute a BU target process.

連携エンジンにおいて、BU対象の処理蓄積機能は、当該連携エンジンがBU担当であれば、BU対象の処理に対応付けて、BU対象の処理と同種と判断される他の処理の実行完了Txを、長期バッファ1112に蓄積する機能である。連携エンジンにおいて、BU実行機能は、当該連携エンジンがBU担当であれば、BU条件を満たした場合、BU対象の処理を実行する機能である。BU実行機能は、BU対象の処理を実行した場合、実行結果を、実行完了Txとして、連携用BCに登録する機能である。 In the cooperation engine, if the cooperation engine is in charge of BU, the BU target process accumulation function associates the BU target process with the execution completion Tx of another process that is determined to be the same type as the BU target process. This is a function to accumulate in the long-term buffer 1112. In the cooperation engine, the BU execution function is a function that executes the process for the BU if the cooperation engine is in charge of the BU and the BU condition is satisfied. The BU execution function is a function that, when a BU target process is executed, registers the execution result in the cooperation BC as an execution completion Tx.

割当機能は、連携用ノード201が有するスマートコントラクトによって実現される。連携用ノード201において、割当機能は、ラウンドロビンなどの予め設定された割り当て順に従って、処理担当およびBU担当を、それぞれの連携エンジンに設定する機能である。それぞれの連携用ノード201において、割当機能は、具体的には、同一の割り当て順に従って、処理担当およびBU担当を、同一の連携エンジンに設定することになる。 The allocation function is realized by a smart contract that the collaboration node 201 has. In the coordination node 201, the assignment function is a function of setting processing responsibility and BU responsibility to each cooperation engine according to a preset assignment order such as round robin. In each cooperation node 201, the allocation function specifically sets the processing responsibility and the BU responsibility to the same cooperation engine according to the same allocation order.

それぞれの連携用ノード201において、割当機能は、設定した処理担当およびBU担当を特定可能にする連携エンジンIDを含む、処理の実行依頼を、当該連携用ノード201に対応する連携エンジンに送信する。各機能部の具体的な動作については、図12、図14、および図15に後述する。次に、図12の説明に移行する。 In each collaboration node 201, the assignment function transmits a process execution request including a collaboration engine ID that enables identification of the set processing person and BU person to the collaboration engine corresponding to the collaboration node 201. Specific operations of each functional unit will be described later with reference to FIGS. 12, 14, and 15. Next, the explanation will move on to FIG. 12.

図12において、(12-1)連携エンジンは、連携実行依頼を、クライアントアプリ1100から受信する。連携実行依頼は、一連の処理を実行することの要求である。 In FIG. 12, (12-1) the collaboration engine receives a collaboration execution request from the client application 1100. A collaboration execution request is a request to execute a series of processes.

(12-2)連携実行モジュール1111は、連携実行依頼を受信すると、連携実行IDを生成し、連携実行依頼に付与して、連携用BCTx実行モジュール1131に送信する。連携用BCTx実行モジュール1131は、連携用ノード201と通信し、連携用ノード201において連携開始Txを実行させる。連携用ノード201は、連携開始Txを記録したブロックを、連携用BCに追加する。 (12-2) Upon receiving the collaboration execution request, the collaboration execution module 1111 generates a collaboration execution ID, assigns it to the collaboration execution request, and transmits it to the collaboration BCTx execution module 1131. The collaboration BCTx execution module 1131 communicates with the collaboration node 201 and causes the collaboration node 201 to execute collaboration start Tx. The collaboration node 201 adds the block recording the collaboration start Tx to the collaboration BC.

ブロック作成・配布部1140は、例えば、連携開始Txを記録したブロックを生成し、それぞれの連携用ノード201のTx・ブロック通信部1150に送信する。Tx・ブロック通信部1150は、例えば、連携開始Txを記録したブロックを受信し、連携用BCに追加する。 The block creation/distribution unit 1140, for example, generates a block recording the collaboration start Tx and transmits it to the Tx/block communication unit 1150 of each collaboration node 201. The Tx/block communication unit 1150 receives, for example, a block recording the collaboration start Tx, and adds it to the collaboration BC.

(12-3)Tx実行・参照部1151は、連携開始Txを記録したブロックが、連携用BCに追加されたことに応じて、記憶領域1152に記憶された連携ルールに従って、一連の処理のそれぞれの処理を特定する。Tx実行・参照部1151は、記憶領域1152に記憶された連携ルールに従って、特定した一連の処理のそれぞれの処理に関する処理担当およびBU担当を、連携エンジンに割り当てる。Tx・ブロック通信部(Peer)1150は、一連の処理のそれぞれの処理に関する処理担当およびBU担当の連携エンジンを特定可能にする連携エンジンIDを含む当該処理の実行依頼を、BC1153により、Tx・ブロック通信部(連携用BC)1130に送信する。 (12-3) The Tx execution/reference unit 1151 executes each of a series of processes according to the cooperation rules stored in the storage area 1152 in response to the addition of the block recording the cooperation start Tx to the cooperation BC. Specify the processing of The Tx execution/reference unit 1151 assigns a processing person and a BU person in charge of each of the specified series of processes to the cooperation engine according to the cooperation rules stored in the storage area 1152. The Tx/block communication unit (Peer) 1150 sends a request for execution of the process, including a cooperation engine ID that enables identification of the cooperation engine in charge of processing and BU for each process in a series of processes, to the Tx/block through the BC 1153. It is transmitted to the communication department (BC for cooperation) 1130.

Tx・ブロック通信部(連携用BC)1130は、BC1153より受信したそれぞれの処理の実行依頼を、短期バッファ1132に蓄積する。Tx・ブロック通信部(連携用BC)1130は、一連の処理の最初の処理の実行依頼を、連携実行モジュール1111に送信する。これにより、連携実行モジュール1111は、それぞれの連携エンジンにおける処理の実行開始を特定可能にすることができる。 The Tx/block communication unit (BC for cooperation) 1130 accumulates each process execution request received from the BC 1153 in the short-term buffer 1132 . The Tx/block communication unit (BC for collaboration) 1130 transmits a request for execution of the first process in a series of processes to the collaboration execution module 1111. Thereby, the collaboration execution module 1111 can specify the start of execution of processing in each collaboration engine.

(12-4)連携実行モジュール1111は、自装置の連携エンジンIDが、処理の実行依頼に含まれる処理担当またはBU担当の連携エンジンIDであるか否かを判定する。連携実行モジュール1111は、自装置の連携エンジンIDが、処理担当の連携エンジンIDであれば、図14に後述する各種動作を行い、連携処理を実行する。連携実行モジュール1111は、自装置の連携エンジンIDが、BU担当の連携エンジンIDであれば、図15に後述する各種動作を行い、BU処理を実行する。 (12-4) The cooperation execution module 1111 determines whether or not the cooperation engine ID of its own device is the cooperation engine ID of the person in charge of processing or the person in charge of BU included in the process execution request. If the cooperation engine ID of its own device is the cooperation engine ID in charge of processing, the cooperation execution module 1111 performs various operations described later in FIG. 14 to execute the cooperation processing. If the cooperation engine ID of its own device is the cooperation engine ID in charge of BU, the cooperation execution module 1111 performs various operations described later in FIG. 15 to execute the BU process.

(12-5)Tx・ブロック通信部(連携用BC)1130は、一連の処理の後続の処理の実行依頼を、順に連携実行モジュール1111に送信する。Tx・ブロック通信部(連携用BC)1130は、例えば、短期バッファ1132を参照して、直前の処理が実行完了している後続の処理を選択し、選択した処理の実行依頼を連携実行モジュール1111に送信する。以降、連携エンジンは、一連の処理の最後の処理が実行完了するまで、(12-4)および(12-5)の各種動作を繰り返すことになる。次に、図13の説明に移行し、(12-3)の動作の一例について説明する。 (12-5) The Tx/block communication unit (BC for cooperation) 1130 sequentially transmits a request for execution of subsequent processes in the series of processes to the cooperation execution module 1111. The Tx/block communication unit (BC for cooperation) 1130, for example, refers to the short-term buffer 1132, selects the subsequent process for which the previous process has been completed, and requests execution of the selected process to the cooperation execution module 1111. Send to. Thereafter, the cooperation engine repeats the various operations (12-4) and (12-5) until the last process in the series of processes is completed. Next, moving on to the explanation of FIG. 13, an example of the operation (12-3) will be explained.

図13において、それぞれの連携用ノード201は、スマートコントラクトを有する。スマートコントラクトは、Tx実行・参照部1151を実現する。いずれかの連携用ノード201は、スマートコントラクトにより、連携開始Txを記録したブロックが、連携用BCに追加されたことに応じて、記憶領域1152に記憶された連携ルールに従って、連携実行依頼された一連の処理のそれぞれの処理を特定する。例えば、処理を実行した連携エンジンに対応する連携用ノード201が、スマートコントラクトを実行する。 In FIG. 13, each cooperation node 201 has a smart contract. The smart contract implements the Tx execution/reference unit 1151. One of the collaboration nodes 201 is requested to execute collaboration according to the collaboration rules stored in the storage area 1152 in response to the addition of the block recording the collaboration start Tx to the collaboration BC by the smart contract. Identify each process in a series of processes. For example, the collaboration node 201 corresponding to the collaboration engine that executed the process executes the smart contract.

連携用ノード201は、スマートコントラクトにより、記憶領域1152に記憶された連携ルールに従って、一連の処理のそれぞれの処理に関する処理担当およびBU担当を、連携エンジンに割り当てる。連携用ノード201は、連携実行依頼が複数あれば、スマートコントラクトにより、それぞれの連携実行依頼に対応する一連の処理を含む処理群のそれぞれの処理の処理担当およびBU担当を、順に連携エンジンに割り当ててもよい。連携用ノード201は、連携先BCIDごとに、処理順番を示す連携エンジンID列と、現在の処理担当の連携エンジンIDとを、担当情報管理テーブル600に記憶する。 The coordination node 201 uses a smart contract to assign processing and BU responsibility for each of the series of processes to the coordination engine according to the coordination rules stored in the storage area 1152. If there are multiple collaboration execution requests, the coordination node 201 uses a smart contract to sequentially assign processing and BU responsibility to the coordination engine for each process in a process group that includes a series of processes corresponding to each collaboration execution request. You can. The collaboration node 201 stores, for each collaboration destination BCID, a collaboration engine ID column indicating the processing order and the collaboration engine ID currently in charge of processing in the responsible information management table 600.

連携用ノード201は、スマートコントラクトにより、一連の処理のそれぞれの処理に関する処理担当およびBU担当の連携エンジンを特定可能にする連携エンジンIDを含む当該処理の実行依頼を、それぞれの連携エンジンに送信する。連携用ノード201は、スマートコントラクトにより、連携用BCのブロックに含めた連携開始Txや実行完了Txを介して、それぞれの連携エンジンが、処理の実行依頼などを取得可能にする。これにより、それぞれの連携ノードは、連携エンジンに割り当てられた処理を、連携エンジン同士が互いにBU可能にすることができる。 The collaboration node 201 uses the smart contract to send to each collaboration engine a request to execute the process, including a collaboration engine ID that allows identification of the collaboration engine in charge of processing and BU for each process in a series of processes. . The collaboration node 201 uses a smart contract to enable each collaboration engine to obtain a process execution request, etc. via the collaboration start Tx and execution completion Tx included in the block of the collaboration BC. Thereby, each cooperation node can enable the cooperation engines to mutually BU the processes assigned to the cooperation engines.

次に、図14の説明に移行し、(12-4)において、連携実行モジュール1111により、自装置の連携エンジンIDが、処理担当の連携エンジンIDであると判定された場合の一例について説明する。図14において、連携実行モジュール1111は、自装置の連携エンジンIDが、処理の実行依頼に含まれる処理担当の連携エンジンIDであると判定する。 Next, moving on to the explanation of FIG. 14, an example will be described in which, in (12-4), the cooperation execution module 1111 determines that the cooperation engine ID of the own device is the cooperation engine ID in charge of processing. . In FIG. 14, the collaboration execution module 1111 determines that the collaboration engine ID of its own device is the collaboration engine ID in charge of the process included in the process execution request.

(14-1)連携実行モジュール1111は、処理依頼に基づいて、処理内容を特定する。連携実行モジュール1111は、特定した処理内容に基づいて、連携先BCに対するTxを生成し、生成したTxに対応するTxIDをメモリに記憶する。連携実行モジュール1111は、生成したTxを、Tx・ブロック通信部(連携先BC)1120に送信する。Tx・ブロック通信部(連携先BC)1120は、連携先ノード202に処理依頼を送信し、受信したTxを連携先ノード202で実行させ、Txが記録されたブロックを連携先BCに追加させる。 (14-1) The cooperation execution module 1111 specifies the processing content based on the processing request. The collaboration execution module 1111 generates a Tx for the collaboration destination BC based on the specified processing content, and stores the TxID corresponding to the generated Tx in the memory. The cooperation execution module 1111 transmits the generated Tx to the Tx/block communication unit (cooperation destination BC) 1120. The Tx/block communication unit (cooperation destination BC) 1120 transmits a processing request to the cooperation destination node 202, causes the cooperation destination node 202 to execute the received Tx, and adds the block in which the Tx is recorded to the cooperation destination BC.

(14-2)連携先ノード202は、連携先BCに追加したブロックを、Tx・ブロック通信部(連携先BC)1120に通知する。連携先BC監視モジュール1122は、ブロックを受信し、連携実行モジュール1111に送信する。連携実行モジュール1111は、連携先BCに含まれるブロックを受信する。連携実行モジュール1111は、メモリに記憶したTxIDをキーに、受信したブロックの中から処理内容を取得する。連携実行モジュール1111は、取得した処理内容に基づいて、実行完了Txを、連携用ノード201において実行し、実行完了Txが記録されたブロックを、連携用BCに追加させる。それぞれの連携用ノード201は、連携用BCに追加された、実行完了Txが記録されたブロックを、それぞれの連携エンジンに送信する。これにより、連携エンジンは、自装置が処理担当であれば、処理を実行することができる。また、それぞれの連携エンジンは、処理の実行完了Txを共有することができ、いずれかの処理をBUする契機を判断可能にすることができる。 (14-2) The cooperation destination node 202 notifies the Tx/block communication unit (cooperation destination BC) 1120 of the block added to the cooperation destination BC. The cooperation destination BC monitoring module 1122 receives the block and transmits it to the cooperation execution module 1111. The collaboration execution module 1111 receives blocks included in the collaboration destination BC. The cooperation execution module 1111 acquires the processing content from the received block using the TxID stored in the memory as a key. The collaboration execution module 1111 executes the execution completion Tx in the collaboration node 201 based on the acquired processing content, and causes the block in which the execution completion Tx is recorded to be added to the collaboration BC. Each collaboration node 201 transmits the block in which the execution completion Tx, which has been added to the collaboration BC, is recorded, to the respective collaboration engine. Thereby, the cooperation engine can execute the process if its own device is in charge of the process. Moreover, each cooperation engine can share the execution completion Tx of a process, and it is possible to determine an opportunity to BU any one of the processes.

次に、図15の説明に移行し、(12-4)において、連携実行モジュール1111により、自装置の連携エンジンIDが、BU担当の連携エンジンIDであると判定された場合の一例について説明する。図15において、連携実行モジュール1111は、自装置の連携エンジンIDが、BU担当の連携エンジンIDであると判定する。 Next, moving on to the explanation of FIG. 15, an example will be described in which, in (12-4), the cooperation execution module 1111 determines that the cooperation engine ID of the own device is the cooperation engine ID in charge of the BU. . In FIG. 15, the collaboration execution module 1111 determines that the collaboration engine ID of its own device is the collaboration engine ID in charge of the BU.

(15-1)連携実行モジュール1111は、処理依頼に含まれるBU条件を、処理依頼されたBU対象の処理に対応付けて、長期バッファ1112に蓄積する。 (15-1) The cooperation execution module 1111 associates the BU conditions included in the process request with the requested BU process and stores it in the long-term buffer 1112.

(15-2)連携実行モジュール1111は、Tx・ブロック通信部(連携先BC)1120内の連携先BC監視モジュール1122を通じて、BU対象の処理のパラメータに基づいて、連携先BCにおけるBU対象の処理の処理実行Txを監視する。連携先BC監視モジュール1122は、連携先ノード202から通知されるブロックを、ブロックキャッシュ1124に記憶する。連携先BC監視モジュール1122は、連携先BCにおけるBU対象の処理の処理実行Txが記録されたブロックが、ブロックキャッシュ1124に記憶されていれば、BU対象の処理の処理実行TxをTxプール1123に蓄積する。 (15-2) The collaboration execution module 1111 executes the BU target process at the collaboration target BC based on the parameters of the BU target process through the collaboration target BC monitoring module 1122 in the Tx/block communication unit (cooperation target BC) 1120. The processing execution Tx is monitored. The cooperation destination BC monitoring module 1122 stores the block notified from the cooperation destination node 202 in the block cache 1124. If the block in which the processing execution Tx of the BU target process in the collaboration target BC is recorded is stored in the block cache 1124, the collaboration destination BC monitoring module 1122 transfers the processing execution Tx of the BU target process to the Tx pool 1123. accumulate.

(15-3)連携実行モジュール1111は、Tx・ブロック通信部(連携用BC)1130内の短期バッファ1132を通じて、短期バッファ1132から、連携用BCにおけるBU対象の処理の実行完了Txを、処理IDをキーに検索する。 (15-3) The cooperation execution module 1111 sends the execution completion Tx of the BU target process in the cooperation BC from the short-term buffer 1132 in the Tx/block communication unit (cooperation BC) 1130 to the process ID Search using the key.

連携実行モジュール1111は、BU対象の処理の実行完了Txが発見されれば、BU対象の処理が正常に他の連携エンジンで実行完了しており、BU対象の処理について、自装置でBUしなくてもよいと判断する。このため、連携実行モジュール1111は、BU対象の処理について記憶したBU条件と、Txプール1123内に蓄積したBU対象の処理の処理実行Txなどを削除する。連携実行モジュール1111は、BU対象の処理の処理実行Txが発見されなければ、(15-4)および(15-5)の動作に移行する。 If the cooperation execution module 1111 finds the execution completion Tx of the BU target process, it means that the BU target process has been successfully executed by another collaboration engine, and the BU target process is not executed by its own device. I judge that it is okay. Therefore, the cooperation execution module 1111 deletes the BU conditions stored for the BU target process and the process execution Tx of the BU target process accumulated in the Tx pool 1123. If the cooperative execution module 1111 does not find the process execution Tx of the BU target process, it moves to operations (15-4) and (15-5).

(15-4)連携実行モジュール1111は、短期バッファ1132を通じて、連携用BCに含まれるブロックに記録された実行完了Txが通知される。連携実行モジュール1111は、通知された実行完了Txが、長期バッファ1112に蓄積したBU条件のconditionを満たすか否かを判定する。連携実行モジュール1111は、BU条件のconditionを満たす実行完了Txを、BU対象の処理と対応付けて、BU対象の処理と同種の他の処理に関する実行完了Txとして、BU判定情報管理テーブル400に蓄積する。 (15-4) The cooperation execution module 1111 is notified of the execution completion Tx recorded in the block included in the cooperation BC through the short-term buffer 1132. The cooperation execution module 1111 determines whether the notified execution completion Tx satisfies the BU condition stored in the long-term buffer 1112. The cooperation execution module 1111 associates the execution completion Tx that satisfies the BU condition with the BU target process, and stores it in the BU determination information management table 400 as the execution completion Tx regarding another process of the same type as the BU target process. do.

連携実行モジュール1111は、BU判定情報管理テーブル400に、BU対象の処理と対応付けて蓄積した、BU対象の処理と同種の他の処理に関する実行完了Txが、所定の数以上になったか否かを判定する。連携実行モジュール1111は、所定の数以上になった場合、BU対象の処理をBUすると判定し、BU対象の処理について記憶したBU条件と、Txプール1123内に蓄積したBU対象の処理の処理実行Txなどを削除する。 The cooperation execution module 1111 determines whether the execution completion Tx related to other processes of the same type as the BU target process, which are stored in the BU determination information management table 400 in association with the BU target process, has exceeded a predetermined number. Determine. When the number exceeds a predetermined value, the cooperation execution module 1111 determines that the BU target process is to be BU, and executes the BU target process based on the BU conditions stored for the BU target process and the BU target process accumulated in the Tx pool 1123. Delete Tx etc.

(15-5)連携実行モジュール1111は、連携先BC監視モジュール1122のTxプール1123から、BU対象の処理の処理実行Txを検索する。連携実行モジュール1111は、BU対象の処理の処理実行Txが発見された場合、連携用BCTx実行モジュール1131を介して、連携用BCにおいてBU対象の処理の実行完了Txを実行する。連携実行モジュール1111は、Txプール1123内のBU対象の処理の処理実行Txを削除する。 (15-5) The cooperation execution module 1111 searches the Tx pool 1123 of the cooperation destination BC monitoring module 1122 for the process execution Tx of the BU target process. When the process execution Tx of the BU target process is found, the collaboration execution module 1111 executes the execution completion Tx of the BU target process in the collaboration BC via the collaboration BCTx execution module 1131. The cooperation execution module 1111 deletes the process execution Tx of the BU target process in the Tx pool 1123.

連携実行モジュール1111は、BU対象の処理の処理実行Txが発見されない場合、連携先BCTx実行モジュール1121を介して、連携先BCにおいてBU対象の処理の処理実行Txを実行する。連携実行モジュール1111は、連携用BCTx実行モジュール1131を介して、連携用BCにおいてBU対象の処理の実行完了Txを実行する。連携実行モジュール1111は、BU対象の処理について記憶したBU条件と、Txプール1123内に蓄積したBU対象の処理の処理実行Txなどを削除する。 If the process execution Tx of the BU target process is not found, the collaboration execution module 1111 executes the process execution Tx of the BU target process in the collaboration destination BC via the collaboration destination BCTx execution module 1121. The collaboration execution module 1111 executes the execution completion Tx of the BU target process in the collaboration BC via the collaboration BCTx execution module 1131. The cooperation execution module 1111 deletes the BU conditions stored for the BU target process and the process execution Tx of the BU target process accumulated in the Tx pool 1123 .

また、連携実行モジュール1111は、通知された実行完了Txが、BU対象の処理の実行完了Txであれば、BU対象の処理について記憶したBU条件と、Txプール1123内に蓄積したBU対象の処理の実行完了Txなどを削除してもよい。 Further, if the notified execution completion Tx is the execution completion Tx of the BU target process, the cooperation execution module 1111 uses the BU conditions stored for the BU target process and the BU target process accumulated in the Tx pool 1123. The execution completion Tx etc. may be deleted.

これにより、連携エンジンは、BU対象の処理の実行完了を正確に特定することができ、他の連携エンジンに関する異常があることを正確に判定することができ、BU対象の処理を正確にBUすることができる。連携エンジンは、例えば、連携先BCにおけるBU対象の処理の処理実行Txと、連携用BCにおけるBU対象の処理の実行完了Txとを監視することにより、BU対象の処理の実行完了を正確に特定することができる。 As a result, the linked engine can accurately identify the completion of execution of the BU target process, accurately determine that there is an abnormality related to other linked engines, and accurately BU the BU target process. be able to. For example, the collaboration engine accurately identifies the completion of execution of the BU target process by monitoring the process execution Tx of the BU target process in the collaboration destination BC and the execution completion Tx of the BU target process in the collaboration BC. can do.

次に、図16の説明に移行し、処理2のBU担当に設定された連携エンジン1において、連携実行モジュール1111が、BU対象の処理2をBUする具体例について説明する。 Next, moving on to the description of FIG. 16, a specific example will be described in which the cooperation execution module 1111 BUs the process 2 that is the BU target in the cooperation engine 1 set to be in charge of the BU of the process 2.

図16において、(16-1)連携実行モジュール1111は、連携先BC監視モジュール1122を通じて、連携先BCにおけるBU対象の処理2の処理実行Txを監視する。これにより、連携エンジン1は、連携先BCにおいてBU対象の処理2が実行完了したか否かを特定することができ、連携エンジン2に関する異常があるか否かを判定することができ、BU対象の処理2をBUするか否かを判定することができる。 In FIG. 16, (16-1) the cooperation execution module 1111 monitors the process execution Tx of the process 2 targeted for BU in the cooperation destination BC through the cooperation destination BC monitoring module 1122. Thereby, the cooperative engine 1 can specify whether or not the process 2 for the BU target has been completed in the cooperation destination BC, and can determine whether there is an abnormality regarding the cooperative engine 2. It can be determined whether or not to perform BU on Process 2.

(16-2)連携実行モジュール1111は、短期バッファ1132を通じて、連携用BCにおける実行完了Txを監視する。この際、連携実行モジュール1111は、連携用BCにおけるBU対象の処理2の実行完了Txを監視してもよい。これにより、連携エンジン1は、連携先BCにおいてBU対象の処理2が実行完了した後、連携先BCと連携エンジン2との通信などに異常がなく、連携用BCにおいてBU対象の処理2の実行完了Txが正常に実行されたか否かを判定することができる。このため、連携エンジン1は、連携エンジン2に関する異常があるか否かを判定することができ、BU対象の処理2をBUするか否かを判定することができる。 (16-2) The cooperation execution module 1111 monitors the execution completion Tx in the cooperation BC through the short-term buffer 1132. At this time, the collaboration execution module 1111 may monitor the completion Tx of the process 2 targeted for BU in the collaboration BC. As a result, after the execution of the BU target process 2 in the collaboration destination BC is completed, the collaboration engine 1 can execute the BU target process 2 in the collaboration BC without any abnormality in communication between the collaboration destination BC and the collaboration engine 2. It is possible to determine whether the completion Tx was executed normally. Therefore, the cooperation engine 1 can determine whether or not there is an abnormality regarding the cooperation engine 2, and can determine whether or not to BU the process 2 targeted for BU.

(16-3)連携実行モジュール1111は、発見した実行完了Txのうち、BU条件のconditionを満たす実行完了Txを特定する。連携実行モジュール1111は、特定した実行完了Txを、BU対象の処理2と対応付けて、BU対象の処理2と同種の他の処理に関する実行完了Txとして、BU判定情報管理テーブル400に蓄積する。 (16-3) The cooperation execution module 1111 identifies the execution completion Tx that satisfies the BU condition among the discovered execution completion Tx. The cooperative execution module 1111 associates the specified execution completion Tx with the BU target process 2 and stores it in the BU determination information management table 400 as an execution completion Tx related to another process of the same type as the BU target process 2.

連携実行モジュール1111は、BU判定情報管理テーブル400に、BU対象の処理2と対応付けて蓄積した、BU対象の処理2と同種の他の処理に関する実行完了Txが、所定の数以上になったか否かを判定する。連携実行モジュール1111は、所定の数以上になった場合、BU条件を満たすと判定し、BU対象の処理2をBUすると判定する。連携実行モジュール1111は、BU対象の処理2について記憶したBU条件と、Txプール1123内に蓄積したBU対象の処理2の処理実行Txなどを削除する。これにより、連携エンジン1は、BU対象の処理2の所要時間が比較的大きくなる状況などを考慮しつつ、連携エンジン2に関する異常があることを正確に判定することができる。 The cooperation execution module 1111 determines whether the execution completion Tx for other processes of the same type as the BU target process 2, which are stored in the BU determination information management table 400 in association with the BU target process 2, has exceeded a predetermined number. Determine whether or not. When the number is equal to or greater than a predetermined number, the cooperation execution module 1111 determines that the BU condition is satisfied, and determines that the process 2 to be BU is to be BU. The cooperation execution module 1111 deletes the BU conditions stored for the BU target process 2 and the process execution Tx of the BU target process 2 accumulated in the Tx pool 1123 . Thereby, the cooperative engine 1 can accurately determine that there is an abnormality regarding the cooperative engine 2, while taking into account the situation where the time required for the process 2 to be BU is relatively long.

(16-4)連携実行モジュール1111は、Txプール1123から、BU対象の処理2の処理実行Txを検索する。連携実行モジュール1111は、BU対象の処理2の処理実行Txが発見された場合、BU対象の処理2をBUする。連携実行モジュール1111は、BU対象の処理2の処理実行Txが発見されない場合、連携用BCに対して、BU対象の処理2の処理実行Txを実行する。次に、図17の説明に移行し、連携実行モジュール1111が、BU条件を満たすか否かを判定する具体例について説明する。 (16-4) The cooperation execution module 1111 searches the Tx pool 1123 for the process execution Tx of process 2 that is the BU target. The cooperation execution module 1111 BUs the process 2 that is the BU target when the process execution Tx of the process 2 that is the BU target is found. If the process execution Tx of the BU target process 2 is not found, the collaboration execution module 1111 executes the process execution Tx of the BU target process 2 on the collaboration BC. Next, moving on to the description of FIG. 17, a specific example in which the cooperation execution module 1111 determines whether or not the BU condition is satisfied will be described.

図17において、BU条件は、例えば、BU対象の処理2と他の処理が同種と判断する条件を示すconditionと、BU対象の処理2と同種と判断された他の処理の数と比較する所定の数を示すnumberとを含む。numberは、例えば、2である。conditionは、例えば、chainID=“chain0”およびfrom=“alice”を含む。 In FIG. 17, the BU conditions include, for example, a condition indicating a condition for determining that BU target process 2 and other processes are of the same type, and a predetermined condition for comparing the BU target process 2 with the number of other processes determined to be of the same type. number indicating the number of . The number is, for example, 2. The condition includes, for example, chainID="chain0" and from="alice".

連携実行モジュール1111は、例えば、処理1の実行完了Txを発見したとする。処理1の実行完了Txは、例えば、処理1のパラメータとして、chainID=“chain0”と、from=“alice”と、to=“bob”と、amount=“100”とを含むとする。連携実行モジュール1111は、処理1の実行完了Txが、BU条件のconditionを満たすと判定する。連携実行モジュール1111は、BU対象の処理2と対応付けて、処理1の実行完了TxをBU判定情報管理テーブル400のconditionに合致した取引リストのフィールドに設定する。 For example, it is assumed that the cooperation execution module 1111 discovers the execution completion Tx of process 1. It is assumed that the execution completion Tx of process 1 includes, for example, chainID="chain0", from="alice", to="bob", and amount="100" as parameters of process 1. The cooperation execution module 1111 determines that the execution completion Tx of process 1 satisfies the BU condition. The cooperation execution module 1111 sets the execution completion Tx of the process 1 in the field of the transaction list that matches the condition of the BU determination information management table 400 in association with the process 2 of the BU target.

連携実行モジュール1111は、BU判定情報管理テーブル400のconditionに合致した取引リストのフィールドに、BU対象の処理2と対応付けて蓄積した、BU対象の処理2と同種の他の処理に関する実行完了Txの数を算出する。連携実行モジュール1111は、算出した数が、number:2以上になった場合、BU条件を満たすと判定する。連携実行モジュール1111は、算出した数が、number:2以上になっていない場合、BU条件を満たさないと判定する。 The cooperation execution module 1111 stores, in the field of the transaction list that matches the condition of the BU determination information management table 400, the execution completion Tx regarding other processes of the same type as the BU target process 2, which is stored in association with the BU target process 2. Calculate the number of. The cooperation execution module 1111 determines that the BU condition is satisfied when the calculated number is equal to or greater than number:2. If the calculated number is not equal to or greater than number:2, the collaboration execution module 1111 determines that the BU condition is not satisfied.

以上により、BC連携システム200は、冗長化された連携エンジンが互いに通信せずに済ませることができ、処理の所要時間のブレを考慮して連携エンジンに関する異常があるか否かを適切に判定可能にすることができる。 As described above, the BC cooperation system 200 can eliminate the need for redundant cooperation engines to communicate with each other, and can appropriately determine whether or not there is an abnormality regarding the cooperation engines, taking into account fluctuations in processing time. It can be done.

(全体処理手順)
次に、図18を用いて、情報処理装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Overall processing procedure)
Next, an example of the overall processing procedure executed by the information processing apparatus 100 will be described using FIG. 18. The overall processing is realized by, for example, the CPU 301 shown in FIG. 3, storage areas such as the memory 302 and the recording medium 305, and the network I/F 303.

図18は、全体処理手順の一例を示すフローチャートである。図18において、情報処理装置100は、クライアントアプリ1100から連携実行リクエストを受信する(ステップS1801)。 FIG. 18 is a flowchart showing an example of the overall processing procedure. In FIG. 18, the information processing apparatus 100 receives a cooperation execution request from the client application 1100 (step S1801).

次に、情報処理装置100は、連携実行モジュール1111により、連携実行IDを生成し、生成した連携実行IDを含むリクエストを、連携用BCTx実行モジュール1131に送信する(ステップS1802)。そして、情報処理装置100は、連携用BCTx実行モジュール1131により、連携用BCにおいて、連携開始Txを実行する(ステップS1803)。その後、情報処理装置100は、連携開始Txに基づく、処理担当およびBU担当を示す処理依頼を、連携用ノード201から取得し、連携実行モジュール1111に送信する(ステップS1804)。 Next, the information processing apparatus 100 generates a collaboration execution ID using the collaboration execution module 1111, and transmits a request including the generated collaboration execution ID to the collaboration BCTx execution module 1131 (step S1802). Then, the information processing apparatus 100 uses the cooperation BCTx execution module 1131 to execute the cooperation start Tx in the cooperation BC (step S1803). After that, the information processing apparatus 100 obtains a processing request indicating the processing person and the BU person from the cooperation node 201 based on the cooperation start Tx, and transmits it to the cooperation execution module 1111 (step S1804).

次に、情報処理装置100は、自装置が処理担当またはBU担当であれば、連携実行モジュール1111により、図19に後述する連携処理または図20~図22に後述するBU処理を実行する(ステップS1805)。次に、情報処理装置100は、連携開始Txに基づく、処理担当およびBU担当を示す処理依頼を、連携用ノード201から待ち受ける(ステップS1806)。 Next, if the information processing device 100 is in charge of processing or in charge of BU, the information processing device 100 uses the cooperation execution module 1111 to execute the cooperation processing described later in FIG. 19 or the BU processing described later in FIGS. 20 to 22 (step S1805). Next, the information processing apparatus 100 waits for a processing request indicating the processing person and the BU person in charge from the cooperation node 201 based on the cooperation start Tx (step S1806).

そして、情報処理装置100は、処理担当およびBU担当を示す処理依頼があったか否かを判定する(ステップS1807)。ここで、処理依頼がある場合(ステップS1807:Yes)、情報処理装置100は、ステップS1805の処理に戻る。一方で、処理依頼がない場合(ステップS1807:No)、情報処理装置100は、全体処理を終了する。 Then, the information processing apparatus 100 determines whether there is a processing request indicating the processing person and the BU person (step S1807). Here, if there is a processing request (step S1807: Yes), the information processing apparatus 100 returns to the process of step S1805. On the other hand, if there is no processing request (step S1807: No), the information processing apparatus 100 ends the overall processing.

(連携処理手順)
次に、図19を用いて、情報処理装置100が実行する、連携処理手順の一例について説明する。連携処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(Cooperation processing procedure)
Next, an example of a cooperation processing procedure executed by the information processing apparatus 100 will be described using FIG. 19. The cooperative processing is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 or the recording medium 305, and the network I/F 303.

図19は、連携処理手順の一例を示すフローチャートである。図19において、情報処理装置100は、連携実行モジュール1111により、連携先BCに対するTxを生成し、実行する(ステップS1901)。 FIG. 19 is a flowchart illustrating an example of a cooperation processing procedure. In FIG. 19, the information processing apparatus 100 uses the cooperation execution module 1111 to generate and execute Tx for the cooperation destination BC (step S1901).

次に、情報処理装置100は、連携実行モジュール1111により、実行したTxを、連携先BCから取得する(ステップS1902)。そして、情報処理装置100は、連携実行モジュール1111により、連携用BCに対する実行完了Txを生成し、連携用BCにおいて実行する(ステップS1903)。情報処理装置100は、連携処理を終了する。 Next, the information processing apparatus 100 uses the cooperation execution module 1111 to acquire the executed Tx from the cooperation destination BC (step S1902). Then, the information processing apparatus 100 uses the collaboration execution module 1111 to generate an execution completion Tx for the collaboration BC, and executes it in the collaboration BC (step S1903). The information processing device 100 ends the cooperation process.

(BU処理手順)
次に、図20~図22を用いて、情報処理装置100が実行する、BU処理手順の一例について説明する。BU処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
(BU processing procedure)
Next, an example of a BU processing procedure executed by the information processing apparatus 100 will be described using FIGS. 20 to 22. The BU process is realized by, for example, the CPU 301 shown in FIG. 3, a storage area such as the memory 302 and the recording medium 305, and the network I/F 303.

図20~図22は、BU処理手順の一例を示すフローチャートである。図20において、情報処理装置100は、連携実行モジュール1111により、BU条件を、長期バッファ1112に保存する(ステップS2001)。次に、情報処理装置100は、連携実行モジュール1111により、BU対象のTxを、連携先BC監視モジュール1122のブロックキャッシュ1124から取得する(ステップS2002)。 20 to 22 are flowcharts showing an example of a BU processing procedure. In FIG. 20, the information processing apparatus 100 stores the BU condition in the long-term buffer 1112 using the cooperation execution module 1111 (step S2001). Next, the information processing apparatus 100 uses the cooperation execution module 1111 to acquire the Tx to be BU from the block cache 1124 of the cooperation destination BC monitoring module 1122 (step S2002).

そして、情報処理装置100は、連携実行モジュール1111により、BU対象のTxが発見されたか否かを判定する(ステップS2003)。ここで、発見された場合(ステップS2003:Yes)、情報処理装置100は、ステップS2005の処理に移行する。一方で、発見されない場合(ステップS2003:No)、情報処理装置100は、ステップS2004の処理に移行する。 The information processing apparatus 100 then uses the cooperation execution module 1111 to determine whether or not a BU target Tx has been discovered (step S2003). Here, if it is found (step S2003: Yes), the information processing apparatus 100 moves to the process of step S2005. On the other hand, if it is not found (step S2003: No), the information processing apparatus 100 moves to the process of step S2004.

ステップS2004では、情報処理装置100は、連携実行モジュール1111により、BU対象のTxが、連携先BC監視モジュール1122から通知された場合、通知されたBU対象のTxを、Txプール1123に蓄積する(ステップS2004)。そして、情報処理装置100は、ステップS2006の処理に移行する。 In step S2004, the information processing apparatus 100 causes the cooperation execution module 1111 to accumulate the notified Tx for BU in the Tx pool 1123 when the Tx for BU is notified from the cooperation destination BC monitoring module 1122 ( Step S2004). The information processing apparatus 100 then proceeds to the process of step S2006.

ステップS2005では、情報処理装置100は、連携実行モジュール1111により、発見されたBU対象のTxを、Txプール1123に蓄積する(ステップS2005)。そして、情報処理装置100は、ステップS2006の処理に移行する。 In step S2005, the information processing apparatus 100 causes the cooperation execution module 1111 to accumulate the discovered Tx for BU in the Tx pool 1123 (step S2005). The information processing apparatus 100 then proceeds to the process of step S2006.

ステップS2006では、情報処理装置100は、連携実行モジュール1111により、BU対象の実行完了Txを、短期バッファ1132から検索する(ステップS2006)。そして、情報処理装置100は、図21のステップS2101の処理に移行する。 In step S2006, the information processing apparatus 100 uses the cooperation execution module 1111 to search the short-term buffer 1132 for the execution completion Tx of the BU target (step S2006). The information processing apparatus 100 then proceeds to the process of step S2101 in FIG. 21.

図21において、情報処理装置100は、連携実行モジュール1111により、BU対象の実行完了Txが発見されたか否かを判定する(ステップS2101)。ここで、発見された場合(ステップS2101:Yes)、情報処理装置100は、ステップS2102の処理に移行する。一方で、発見されない場合(ステップS2101:No)、情報処理装置100は、ステップS2103の処理に移行する。 In FIG. 21, the information processing apparatus 100 determines whether an execution completion Tx for the BU target has been discovered by the cooperation execution module 1111 (step S2101). Here, if it is found (step S2101: Yes), the information processing apparatus 100 moves to the process of step S2102. On the other hand, if it is not found (step S2101: No), the information processing apparatus 100 moves to the process of step S2103.

ステップS2102では、情報処理装置100は、連携実行モジュール1111により、BU条件を削除し、Txプール1123内にBU対象のTxがあれば削除する(ステップS2102)。そして、情報処理装置100は、BU処理を終了する。 In step S2102, the information processing apparatus 100 uses the cooperation execution module 1111 to delete the BU condition, and if there is a BU target Tx in the Tx pool 1123, delete it (step S2102). The information processing device 100 then ends the BU process.

ステップS2103では、情報処理装置100は、連携実行モジュール1111により、短期バッファ1132経由で、実行完了Txの通知を受け付ける(ステップS2103)。次に、情報処理装置100は、連携実行モジュール1111により、BU対象の実行完了Txが通知されたか否かを判定する(ステップS2104)。 In step S2103, the information processing apparatus 100 receives a notification of execution completion Tx by the cooperation execution module 1111 via the short-term buffer 1132 (step S2103). Next, the information processing apparatus 100 determines whether the cooperation execution module 1111 has been notified of the execution completion Tx of the BU target (step S2104).

ここで、通知された場合(ステップS2104:Yes)、情報処理装置100は、ステップS2105の処理に移行する。一方で、通知されない場合(ステップS2104:No)、情報処理装置100は、図22のステップS2201の処理に移行する。 Here, if notified (step S2104: Yes), the information processing apparatus 100 moves to the process of step S2105. On the other hand, if the information processing apparatus 100 is not notified (step S2104: No), the information processing apparatus 100 moves to the process of step S2201 in FIG. 22.

ステップS2105では、情報処理装置100は、連携実行モジュール1111により、BU条件を削除し、長期バッファ1112に蓄積した実行完了Txを削除し、Txプール1123内にBU対象のTxがあれば削除する(ステップS2105)。 In step S2105, the information processing apparatus 100 uses the cooperation execution module 1111 to delete the BU condition, delete the execution completion Tx accumulated in the long-term buffer 1112, and delete any Tx targeted for BU in the Tx pool 1123 ( Step S2105).

図22において、情報処理装置100は、連携実行モジュール1111により、実行完了Txが、長期バッファ1112内のBU条件に一致するか否かを判定する(ステップS2201)。ここで、一致する場合(ステップS2201:Yes)、情報処理装置100は、ステップS2202の処理に移行する。一方で、一致しない場合(ステップS2201:No)、情報処理装置100は、ステップS2203の処理に移行する。 In FIG. 22, the information processing apparatus 100 uses the cooperation execution module 1111 to determine whether the execution completion Tx matches the BU condition in the long-term buffer 1112 (step S2201). Here, if they match (step S2201: Yes), the information processing apparatus 100 moves to the process of step S2202. On the other hand, if they do not match (step S2201: No), the information processing apparatus 100 moves to the process of step S2203.

ステップS2202では、情報処理装置100は、連携実行モジュール1111により、実行完了Txを、長期バッファ1112に蓄積する(ステップS2202)。そして、情報処理装置100は、ステップS2203の処理に移行する。 In step S2202, the information processing apparatus 100 causes the cooperation execution module 1111 to accumulate the execution completion Tx in the long-term buffer 1112 (step S2202). The information processing apparatus 100 then proceeds to the process of step S2203.

ステップS2203では、情報処理装置100は、連携実行モジュール1111により、長期バッファ1112に蓄積された実行完了Txをカウントする(ステップS2203)。次に、情報処理装置100は、連携実行モジュール1111により、カウントした実行完了Txの数が一定の数以上であるか否かを判定する(ステップS2204)。 In step S2203, the information processing apparatus 100 uses the cooperation execution module 1111 to count the execution completion Tx accumulated in the long-term buffer 1112 (step S2203). Next, the information processing apparatus 100 uses the cooperation execution module 1111 to determine whether the counted number of execution completion Tx is equal to or greater than a certain number (step S2204).

ここで、一定の数以上である場合(ステップS2204:Yes)、情報処理装置100は、ステップS2205の処理に移行する。一方で、一定の数未満である場合(ステップS2204:No)、情報処理装置100は、BU処理を終了する。 Here, if the number is equal to or greater than a certain value (step S2204: Yes), the information processing apparatus 100 moves to the process of step S2205. On the other hand, if the number is less than the certain number (step S2204: No), the information processing apparatus 100 ends the BU process.

ステップS2205では、情報処理装置100は、連携実行モジュール1111により、BU条件を削除し、長期バッファ1112に蓄積した実行完了Txを削除し、BU対象のTxを、Txプール1123から検索する(ステップS2205)。 In step S2205, the information processing apparatus 100 uses the cooperation execution module 1111 to delete the BU condition, delete the execution completed Tx accumulated in the long-term buffer 1112, and search the Tx pool 1123 for Tx to be BU (step S2205 ).

次に、情報処理装置100は、連携実行モジュール1111により、BU対象のTxが発見されたか否かを判定する(ステップS2206)。ここで、発見された場合(ステップS2206:Yes)、情報処理装置100は、ステップS2207の処理に移行する。一方で、発見されない場合(ステップS2206:No)、情報処理装置100は、ステップS2208の処理に移行する。 Next, in the information processing apparatus 100, the cooperation execution module 1111 determines whether a BU target Tx has been discovered (step S2206). Here, if it is found (step S2206: Yes), the information processing apparatus 100 moves to the process of step S2207. On the other hand, if it is not found (step S2206: No), the information processing apparatus 100 moves to the process of step S2208.

ステップS2207では、情報処理装置100は、連携実行モジュール1111により、連携用BCに対して、BU対象の実行完了Txを実行する(ステップS2207)。そして、情報処理装置100は、BU処理を終了する。 In step S2207, the information processing apparatus 100 uses the cooperation execution module 1111 to execute the execution completion Tx for the BU target on the cooperation BC (step S2207). The information processing device 100 then ends the BU process.

ステップS2208では、情報処理装置100は、連携実行モジュール1111により、図19に示した連携処理を実行する(ステップS2208)。そして、情報処理装置100は、BU処理を終了する。 In step S2208, the information processing apparatus 100 uses the cooperation execution module 1111 to execute the cooperation processing shown in FIG. 19 (step S2208). The information processing device 100 then ends the BU process.

以上説明したように、情報処理装置100によれば、それぞれの制御装置に割り当てられた処理の当該制御装置による実行実績が記録される、BCネットワークが管理するブロックを取得することができる。情報処理装置100によれば、取得したブロックに含まれる実行実績に基づいて、複数の制御装置の少なくともいずれかの制御装置の状態を判定することができる。これにより、情報処理装置100は、いずれかの制御装置に割り当てられた処理をBUするか否かを適切に判定可能にすることができる。 As described above, according to the information processing apparatus 100, it is possible to acquire a block managed by the BC network in which the execution results of the processes assigned to each control device by the control device are recorded. According to the information processing device 100, the state of at least one of the plurality of control devices can be determined based on the execution results included in the acquired block. Thereby, the information processing device 100 can appropriately determine whether to BU the process assigned to any of the control devices.

情報処理装置100によれば、待機系の制御装置である自装置に対応するいずれかの制御装置の状態を判定することができる。これにより、情報処理装置100は、自装置に対応するいずれかの制御装置に割り当てられた処理をBUするか否かを適切に判定可能にすることができる。 According to the information processing device 100, it is possible to determine the state of any one of the control devices corresponding to the own device, which is a standby control device. Thereby, the information processing device 100 can appropriately determine whether to BU the process assigned to any of the control devices corresponding to the information processing device 100.

情報処理装置100によれば、待機系の制御装置である自装置に対応するいずれかの制御装置を特定可能にする情報に基づいて、いずれかの制御装置を特定することができる。情報処理装置100によれば、取得したブロックに含まれる実行実績に基づいて、特定したいずれかの制御装置の状態を判定することができる。これにより、情報処理装置100は、自装置に対応するいずれかの制御装置を適切に特定することができる。 According to the information processing device 100, any one of the control devices can be specified based on information that makes it possible to specify any of the control devices corresponding to the own device, which is a standby control device. According to the information processing apparatus 100, the state of any of the identified control devices can be determined based on the execution results included in the acquired block. Thereby, the information processing device 100 can appropriately identify any control device corresponding to the information processing device 100.

情報処理装置100によれば、複数の制御装置に含まれる制御装置として動作することができる。これにより、情報処理装置100は、稼働系および待機系として動作することができる。 According to the information processing device 100, it is possible to operate as a control device included in a plurality of control devices. Thereby, the information processing device 100 can operate as an active system and a standby system.

情報処理装置100によれば、取得したブロックに含まれる実行実績に基づいて、いずれかの制御装置に割り当てられた処理と同種の処理と判断する条件を満たす、他の制御装置に割り当てられた処理の数を算出することができる。情報処理装置100によれば、算出した数が、所定の数以上である場合、いずれかの制御装置の状態を異常であると判定することができる。これにより、情報処理装置100は、いずれかの制御装置の状態を判定する精度の向上を図ることができる。 According to the information processing device 100, a process assigned to another control device satisfies the conditions for determining that the process is the same type of process as the process assigned to one of the control devices, based on the execution results included in the acquired block. The number of can be calculated. According to the information processing device 100, if the calculated number is greater than or equal to a predetermined number, the state of one of the control devices can be determined to be abnormal. Thereby, the information processing device 100 can improve the accuracy of determining the state of any of the control devices.

情報処理装置100によれば、いずれかの制御装置に割り当てられた処理と同一のパラメータを有する処理を、いずれかの制御装置に割り当てられた処理と同種の処理と判断することができる。これにより、情報処理装置100は、いずれかの制御装置の状態を異常であると判定する精度の向上を図ることができる。 According to the information processing device 100, a process having the same parameters as a process assigned to any one of the control devices can be determined to be the same type of process as the process assigned to any one of the control devices. Thereby, the information processing device 100 can improve the accuracy of determining the state of one of the control devices as abnormal.

情報処理装置100によれば、いずれかの制御装置に割り当てられた処理と同一のBCネットワークを連携する対象とする処理を、いずれかの制御装置に割り当てられた処理と同種の処理と判断することができる。これにより、情報処理装置100は、いずれかの制御装置の状態を異常であると判定する精度の向上を図ることができる。 According to the information processing device 100, a process that is to be linked with the same BC network as a process assigned to any one of the control devices is determined to be the same type of process as the process assigned to any one of the control devices. I can do it. Thereby, the information processing device 100 can improve the accuracy of determining the state of one of the control devices as abnormal.

情報処理装置100によれば、いずれかの制御装置の状態を異常であると判定した場合、いずれかの制御装置に割り振られる処理を自装置で実行し、当該処理の実行実績を、BCネットワークが管理するブロックに記録することができる。これにより、情報処理装置100は、処理をBUすることができる。 According to the information processing device 100, when it is determined that the state of any one of the control devices is abnormal, the information processing device 100 executes the process assigned to any of the control devices, and the BC network records the execution results of the process. It can be recorded in managed blocks. Thereby, the information processing apparatus 100 can perform BU processing.

情報処理装置100によれば、予め設定された第1の順序に従って一連の処理のそれぞれの処理を割り当てられた複数の制御装置が存在する状況に適用することができる。これにより、情報処理装置100は、負荷分散された複数の制御装置が存在する状況に適用することができる。 The information processing apparatus 100 can be applied to a situation where there are a plurality of control apparatuses that are assigned respective processes of a series of processes according to a first preset order. Thereby, the information processing device 100 can be applied to a situation where a plurality of control devices whose loads are distributed exist.

情報処理装置100によれば、予め設定された第2の順序に従って一連の処理のそれぞれの処理に関する待機系の制御装置が設定される状況に適用することができる。これにより、情報処理装置100は、負荷分散された複数の制御装置が存在する状況に適用することができる。 The information processing device 100 can be applied to a situation where standby control devices for each process in a series of processes are set according to a preset second order. Thereby, the information processing device 100 can be applied to a situation where a plurality of control devices whose loads are distributed exist.

なお、本実施の形態で説明した制御方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した制御プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した制御プログラムは、インターネットなどのネットワークを介して配布してもよい。 Note that the control method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a PC or a workstation. The control program described in this embodiment is recorded on a computer-readable recording medium, and executed by being read from the recording medium by the computer. The recording medium includes a hard disk, a flexible disk, a CD (Compact Disc)-ROM, an MO (Magneto Optical disc), a DVD (Digital Versatile Disc), and the like. Furthermore, the control program described in this embodiment may be distributed via a network such as the Internet.

上述した実施の形態に関し、さらに以下の付記を開示する。 Regarding the embodiments described above, the following additional notes are further disclosed.

(付記1)複数の制御装置のそれぞれの制御装置に対応するノードを含むブロックチェーンネットワークから、前記それぞれの制御装置に割り当てられた処理の当該制御装置による実行実績が記録される、前記ブロックチェーンネットワークが管理するブロックを取得し、
取得した前記ブロックに含まれる前記実行実績に基づいて、前記複数の制御装置の少なくともいずれかの制御装置の状態を判定する、
処理をコンピュータが実行することを特徴とする制御方法。
(Additional Note 1) The blockchain network includes nodes corresponding to each of a plurality of control devices, and records execution results of processes assigned to each of the control devices by the control device. Get the block managed by
determining the state of at least one of the plurality of control devices based on the execution record included in the acquired block;
A control method characterized in that processing is executed by a computer.

(付記2)前記それぞれの制御装置は、稼働系の制御装置であり、
前記コンピュータは、前記複数の制御装置のいずれかの制御装置に対応する待機系の制御装置であり、
前記判定する処理は、
待機系の制御装置である前記コンピュータに対応する前記いずれかの制御装置の状態を判定する、ことを特徴とする付記1に記載の制御方法。
(Additional Note 2) Each of the control devices is an operating system control device,
The computer is a standby control device corresponding to any one of the plurality of control devices,
The determining process is as follows:
The control method according to appendix 1, characterized in that the state of any of the control devices corresponding to the computer, which is a standby control device, is determined.

(付記3)前記判定する処理は、
待機系の制御装置である前記コンピュータに対応する前記いずれかの制御装置を特定可能にする情報に基づいて、前記いずれかの制御装置を特定し、
取得した前記ブロックに含まれる前記実行実績に基づいて、特定した前記いずれかの制御装置の状態を判定する、ことを特徴とする付記2に記載の制御方法。
(Additional note 3) The above-mentioned determining process is
Identifying any of the control devices based on information that makes it possible to identify any of the control devices corresponding to the computer that is a standby control device;
The control method according to appendix 2, characterized in that the state of any of the identified control devices is determined based on the execution results included in the acquired block.

(付記4)前記コンピュータは、前記複数の制御装置に含まれる制御装置である、ことを特徴とする付記1~3のいずれか一つに記載の制御方法。 (Supplementary Note 4) The control method according to any one of Supplementary Notes 1 to 3, wherein the computer is a control device included in the plurality of control devices.

(付記5)前記それぞれの制御装置は、連携する対象の複数のブロックチェーンネットワークのいずれかのブロックチェーンネットワークに対する処理が割り当てられる、ことを特徴とする付記1~4のいずれか一つに記載の制御方法。 (Supplementary Note 5) The respective control devices according to any one of Supplementary Notes 1 to 4 are assigned processing for one of the plurality of blockchain networks to be cooperated with. Control method.

(付記6)前記判定する処理は、
取得した前記ブロックに含まれる前記実行実績に基づいて、前記いずれかの制御装置に割り当てられた処理と同種の処理と判断する条件を満たす、他の制御装置に割り当てられた処理の数が、所定の数以上である場合、前記いずれかの制御装置の状態を異常であると判定する、ことを特徴とする付記1~5のいずれか一つに記載の制御方法。
(Additional note 6) The process for determining the
Based on the execution results included in the obtained block, a predetermined number of processes assigned to other control devices that satisfy the conditions for determining that the processes are the same type as the processes assigned to any of the control devices is determined. 6. The control method according to any one of appendices 1 to 5, characterized in that, if the number of control devices is greater than or equal to the number of control devices, the state of one of the control devices is determined to be abnormal.

(付記7)前記条件は、前記処理と同一のパラメータを有する処理を、前記処理と同種の処理と判断することを示す、ことを特徴とする付記6に記載の制御方法。 (Supplementary note 7) The control method according to supplementary note 6, wherein the condition indicates that a process having the same parameters as the process is determined to be the same type of process as the process.

(付記8)前記条件は、前記処理と同一のブロックチェーンネットワークを連携する対象とする処理を、前記処理と同種の処理と判断することを示す、ことを特徴とする付記6または7に記載の制御方法。 (Supplementary note 8) The condition as described in supplementary note 6 or 7, wherein the condition indicates that a process that is to be linked with the same blockchain network as the process is determined to be the same type of process as the process. Control method.

(付記9)前記いずれかの制御装置の状態を異常であると判定した場合、前記いずれかの制御装置に割り振られる処理を前記コンピュータで実行し、当該処理の実行実績を、前記ブロックチェーンネットワークが管理するブロックに記録する、
処理を前記コンピュータが実行することを特徴とする付記1~8のいずれか一つに記載の制御方法。
(Additional note 9) If the state of any of the control devices is determined to be abnormal, the computer executes the process assigned to any of the control devices, and the blockchain network records the execution results of the process. Record in managed block,
9. The control method according to any one of appendices 1 to 8, characterized in that the processing is executed by the computer.

(付記10)前記ノードは、
予め設定された、処理を前記複数の制御装置に割り当てる第1の順序に従って、一連の処理の依頼を受け付けた際、前記一連の処理のそれぞれの処理を、前記複数の制御装置に割り当てる、ことを特徴とする付記1~9のいずれか一つに記載の制御方法。
(Additional Note 10) The node is
When a request for a series of processes is received, each process in the series of processes is assigned to the plurality of control apparatuses according to a preset first order of allocating processes to the plurality of control apparatuses. The control method according to any one of Supplementary Notes 1 to 9 characterized by:

(付記11)前記ノードは、
予め設定された、待機系の制御装置を設定する第2の順序に従って、一連の処理の依頼を受け付けた際、前記複数の制御装置のうち、前記一連の処理のそれぞれの処理に関する待機系の制御装置を設定する、ことを特徴とする付記1~10のいずれか一つに記載の制御方法。
(Additional Note 11) The node is
When a request for a series of processes is received according to a preset second order of setting standby control devices, control of a standby system regarding each process of the series of processes among the plurality of control devices is performed. 11. The control method according to any one of appendices 1 to 10, comprising setting the device.

(付記12)複数の制御装置のそれぞれの制御装置に対応するノードを含むブロックチェーンネットワークから、前記それぞれの制御装置に割り当てられた処理の当該制御装置による実行実績が記録される、前記ブロックチェーンネットワークが管理するブロックを取得し、
取得した前記ブロックに含まれる前記実行実績に基づいて、前記複数の制御装置の少なくともいずれかの制御装置の状態を判定する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
(Additional Note 12) The blockchain network includes nodes corresponding to each of a plurality of control devices, and records the execution results of processes assigned to each of the control devices by the control device. Get the block managed by
determining the state of at least one of the plurality of control devices based on the execution record included in the acquired block;
A control program that causes a computer to perform processing.

(付記13)複数の制御装置のそれぞれの制御装置に対応するノードを含むブロックチェーンネットワークから、前記それぞれの制御装置に割り当てられた処理の当該制御装置による実行実績が記録される、前記ブロックチェーンネットワークが管理するブロックを取得し、
取得した前記ブロックに含まれる前記実行実績に基づいて、前記複数の制御装置の少なくともいずれかの制御装置の状態を判定する、
制御部を有することを特徴とする情報処理装置。
(Additional Note 13) The blockchain network includes nodes corresponding to each of a plurality of control devices, and records the execution results of processes assigned to each of the control devices by the control device. Get the block managed by
determining the state of at least one of the plurality of control devices based on the execution record included in the acquired block;
An information processing device comprising a control section.

(付記14)複数の制御装置のそれぞれの制御装置に対応するノードを含むブロックチェーンネットワークと、待機系の制御装置とを含むシステムであって、
前記ブロックチェーンネットワークは、
前記それぞれの制御装置に割り当てられた処理の当該制御装置による実行実績が記録されるブロックを管理し、
前記待機系の制御装置は、
前記ブロックチェーンネットワークから、前記ブロックを取得し、
取得した前記ブロックに含まれる前記実行実績に基づいて、前記複数の制御装置の少なくともいずれかの制御装置の状態を判定する、
ことを特徴とするシステム。
(Additional Note 14) A system including a blockchain network including nodes corresponding to each of a plurality of control devices, and a standby control device,
The blockchain network is
managing blocks in which records of execution results of processes assigned to each of the control devices by the control devices are recorded;
The standby control device is
obtaining the block from the blockchain network;
determining the state of at least one of the plurality of control devices based on the execution record included in the acquired block;
A system characterized by:

100 情報処理装置
101 制御装置
110 BCネットワーク
111 ノード
120 BC
121 ブロック
200 BC連携システム
201 連携用ノード
202 連携先ノード
210 ネットワーク
220 連携用BCネットワーク
230 連携先BCネットワーク
300,500 バス
301,501 CPU
302,502 メモリ
303,503 ネットワークI/F
304,504 記録媒体I/F
305,505 記録媒体
400 BU判定情報管理テーブル
600 担当情報管理テーブル
700 第1記憶部
701 第1取得部
702 判定部
703 取引部
704 第1出力部
710 第2記憶部
711 第2取得部
712 割当部
713 依頼部
714 第2出力部
801,1112 長期バッファ
1100 クライアントアプリ
1111 連携実行モジュール
1120 Tx・ブロック通信部(連携先BC)
1121 連携先BCTx実行モジュール
1122 連携先BC監視モジュール
1123 Txプール
1124 ブロックキャッシュ
1130 Tx・ブロック通信部(連携用BC)
1131 連携用BCTx実行モジュール
1132 短期バッファ
1140 ブロック作成・配布部
1150 Tx・ブロック通信部(Peer)
1151 Tx実行・参照部
1152 記憶領域
1153 連携用BC
100 Information processing device 101 Control device 110 BC network 111 Node 120 BC
121 Block 200 BC linkage system 201 Linkage node 202 Linkage destination node 210 Network 220 Linkage BC network 230 Linkage destination BC network 300,500 Bus 301,501 CPU
302,502 Memory 303,503 Network I/F
304,504 Recording medium I/F
305,505 Recording medium 400 BU judgment information management table 600 Information management table in charge 700 First storage section 701 First acquisition section 702 Judgment section 703 Transaction section 704 First output section 710 Second storage section 711 Second acquisition section 712 Allocation section 713 Request unit 714 Second output unit 801, 1112 Long-term buffer 1100 Client application 1111 Cooperation execution module 1120 Tx/block communication unit (cooperation destination BC)
1121 Cooperation destination BCTx execution module 1122 Cooperation destination BC monitoring module 1123 Tx pool 1124 Block cache 1130 Tx/block communication unit (BC for cooperation)
1131 BCTx execution module for cooperation 1132 Short-term buffer 1140 Block creation/distribution unit 1150 Tx/block communication unit (Peer)
1151 Tx execution/reference unit 1152 Storage area 1153 BC for cooperation

Claims (10)

複数の制御装置のそれぞれの制御装置に対応するノードを含むブロックチェーンネットワークから、前記それぞれの制御装置に割り当てられた処理の当該制御装置による実行実績が記録される、前記ブロックチェーンネットワークが管理するブロックを取得し、
取得した前記ブロックに含まれる前記実行実績に基づいて、前記複数の制御装置の少なくともいずれかの制御装置の状態を判定する、
処理をコンピュータが実行することを特徴とする制御方法。
A block managed by a blockchain network including nodes corresponding to each of a plurality of control devices, in which a track record of execution by the control device of a process assigned to each of the control devices is recorded. get
determining the state of at least one of the plurality of control devices based on the execution record included in the acquired block;
A control method characterized in that processing is executed by a computer.
前記それぞれの制御装置は、稼働系の制御装置であり、
前記コンピュータは、前記複数の制御装置のいずれかの制御装置に対応する待機系の制御装置であり、
前記判定する処理は、
待機系の制御装置である前記コンピュータに対応する前記いずれかの制御装置の状態を判定する、ことを特徴とする請求項1に記載の制御方法。
Each of the control devices is an active control device,
The computer is a standby control device corresponding to any one of the plurality of control devices,
The determining process is as follows:
2. The control method according to claim 1, further comprising determining the state of one of the control devices corresponding to the computer, which is a standby control device.
前記判定する処理は、
待機系の制御装置である前記コンピュータに対応する前記いずれかの制御装置を特定可能にする情報に基づいて、前記いずれかの制御装置を特定し、
取得した前記ブロックに含まれる前記実行実績に基づいて、特定した前記いずれかの制御装置の状態を判定する、ことを特徴とする請求項2に記載の制御方法。
The determining process is as follows:
Identifying any of the control devices based on information that makes it possible to identify any of the control devices corresponding to the computer that is a standby control device;
3. The control method according to claim 2, further comprising determining the state of any of the identified control devices based on the execution results included in the acquired block.
前記コンピュータは、前記複数の制御装置に含まれる制御装置である、ことを特徴とする請求項1~3のいずれか一つに記載の制御方法。 4. The control method according to claim 1, wherein the computer is a control device included in the plurality of control devices. 前記それぞれの制御装置は、連携する対象の複数のブロックチェーンネットワークのいずれかのブロックチェーンネットワークに対する処理が割り当てられる、ことを特徴とする請求項1~4のいずれか一つに記載の制御方法。 5. The control method according to claim 1, wherein each of the control devices is assigned processing for one of a plurality of blockchain networks to be cooperated. 前記判定する処理は、
取得した前記ブロックに含まれる前記実行実績に基づいて、前記いずれかの制御装置に割り当てられた処理と同種の処理と判断する条件を満たす、他の制御装置に割り当てられた処理の数が、所定の数以上である場合、前記いずれかの制御装置の状態を異常であると判定する、ことを特徴とする請求項1~5のいずれか一つに記載の制御方法。
The determining process is as follows:
Based on the execution results included in the obtained block, a predetermined number of processes assigned to other control devices that satisfy the conditions for determining that the processes are the same type as the processes assigned to any of the control devices is determined. 6. The control method according to claim 1, further comprising determining that the state of one of the control devices is abnormal if the number of control devices is greater than or equal to the number of control devices.
前記いずれかの制御装置の状態を異常であると判定した場合、前記いずれかの制御装置に割り振られる処理を前記コンピュータで実行し、当該処理の実行実績を、前記ブロックチェーンネットワークが管理するブロックに記録する、
処理を前記コンピュータが実行することを特徴とする請求項1~6のいずれか一つに記載の制御方法。
If the state of any of the control devices is determined to be abnormal, the computer executes the process assigned to any of the control devices, and the execution results of the process are stored in a block managed by the blockchain network. Record,
7. The control method according to claim 1, wherein the processing is executed by the computer.
複数の制御装置のそれぞれの制御装置に対応するノードを含むブロックチェーンネットワークから、前記それぞれの制御装置に割り当てられた処理の当該制御装置による実行実績が記録される、前記ブロックチェーンネットワークが管理するブロックを取得し、
取得した前記ブロックに含まれる前記実行実績に基づいて、前記複数の制御装置の少なくともいずれかの制御装置の状態を判定する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
A block managed by a blockchain network including nodes corresponding to each of a plurality of control devices, in which a track record of execution by the control device of a process assigned to each of the control devices is recorded. get
determining the state of at least one of the plurality of control devices based on the execution record included in the acquired block;
A control program that causes a computer to perform processing.
複数の制御装置のそれぞれの制御装置に対応するノードを含むブロックチェーンネットワークから、前記それぞれの制御装置に割り当てられた処理の当該制御装置による実行実績が記録される、前記ブロックチェーンネットワークが管理するブロックを取得し、
取得した前記ブロックに含まれる前記実行実績に基づいて、前記複数の制御装置の少なくともいずれかの制御装置の状態を判定する、
制御部を有することを特徴とする情報処理装置。
A block managed by a blockchain network including nodes corresponding to each of a plurality of control devices, in which a track record of execution by the control device of a process assigned to each of the control devices is recorded. get
determining the state of at least one of the plurality of control devices based on the execution record included in the acquired block;
An information processing device comprising a control section.
複数の制御装置のそれぞれの制御装置に対応するノードを含むブロックチェーンネットワークと、待機系の制御装置とを含むシステムであって、
前記ブロックチェーンネットワークは、
前記それぞれの制御装置に割り当てられた処理の当該制御装置による実行実績が記録されるブロックを管理し、
前記待機系の制御装置は、
前記ブロックチェーンネットワークから、前記ブロックを取得し、
取得した前記ブロックに含まれる前記実行実績に基づいて、前記複数の制御装置の少なくともいずれかの制御装置の状態を判定する、
ことを特徴とするシステム。
A system including a blockchain network including nodes corresponding to each of a plurality of control devices, and a standby control device,
The blockchain network is
managing blocks in which records of execution results of processes assigned to each of the control devices by the control devices are recorded;
The standby control device is
obtaining the block from the blockchain network;
determining the state of at least one of the plurality of control devices based on the execution record included in the acquired block;
A system characterized by:
JP2023525221A 2021-06-01 2021-06-01 Withdrawn JPWO2022254589A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/020908 WO2022254589A1 (en) 2021-06-01 2021-06-01 Control method, control program, information processing device, and system

Publications (2)

Publication Number Publication Date
JPWO2022254589A1 JPWO2022254589A1 (en) 2022-12-08
JPWO2022254589A5 true JPWO2022254589A5 (en) 2023-12-11

Family

ID=84322859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023525221A Withdrawn JPWO2022254589A1 (en) 2021-06-01 2021-06-01

Country Status (2)

Country Link
JP (1) JPWO2022254589A1 (en)
WO (1) WO2022254589A1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7021747B2 (en) * 2018-09-20 2022-02-17 日本電信電話株式会社 Payment system, payment method, user device, payment program

Similar Documents

Publication Publication Date Title
US8281376B2 (en) Authentication system and authentication method
CN103392167B (en) The caching method of distributed memory system, node
US9477743B2 (en) System and method for load balancing in a distributed system by dynamic migration
KR101570892B1 (en) Method and system of using a local hosted cache and cryptographic hash functions to reduce network traffic
US20150324371A1 (en) Data Processing Method and Device in Distributed File Storage System
US10387380B2 (en) Apparatus and method for information processing
US20140181035A1 (en) Data management method and information processing apparatus
JP2011514577A (en) Query deployment plan for distributed shared stream processing system
US20120084386A1 (en) System and method for sharing network storage and computing resource
CN105339929A (en) Selecting a store for deduplicated data
JP2004246852A (en) Method and apparatus for adjusting performance of logical volume copy destination
CN107329704B (en) Cache mirroring method and controller
CN105324765A (en) Selecting a store for deduplicated data
CN110958300B (en) Data uploading method, system, device, electronic equipment and computer readable medium
US20130198198A1 (en) Generating method, generating system, and recording medium
JP6175924B2 (en) Program, information processing system, and data update control method
CN112948064A (en) Data reading method and device and data reading system
JP2023541298A (en) Transaction processing methods, systems, devices, equipment, and programs
CN111291062B (en) Data synchronous writing method and device, computer equipment and storage medium
US20100161585A1 (en) Asymmetric cluster filesystem
JP2000322292A (en) Cluster type data server system and data storage method
JP2017058710A (en) Storage control apparatus, storage control program, and storage control method
CN111367876B (en) Distributed file management method based on memory metadata
CN105359107A (en) Reporting degraded state of data retrieved for distributed object
WO2022254589A1 (en) Control method, control program, information processing device, and system