This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2022-158456, filed on Sep. 30, 2022, the entire contents of which are incorporated herein by reference.
The embodiment discussed herein is related to a control system and the like.
There is an increasing need to distribute and utilize data between organizations. In particular, in order to promote quick and flexible data utilization when a plurality of organizations cooperates in a chained and hierarchical manner, it is desirable that each organization not only requests an organization as a data generation source to provide data but also performs nth-order transmission of the data.
For example, it is inefficient for the most upstream node A to exchange data with the remaining nodes B to D one by one, and the load is concentrated on the node A. On the other hand, according to the nth-order transmission illustrated in
Japanese Laid-open Patent Publication No. 2018-005301 and International Publication Pamphlet No. WO 2018/216206 are disclosed as related art.
According to an aspect of the embodiments, there is provided a control system including a plurality of control devices configured to perform nth-order transmission, wherein each control device of the plurality of control devices includes: a storage device configured to store, in relation to the plurality of control devices, a distribution source list that stores a list of the plurality of control devices to be passed through from a most upstream control device to the control device and a distribution destination list that stores a list of the plurality of control devices to be passed through from the control device to a most downstream control device; and a processor coupled to the storage device, the processor being configured to perform control processing including: in a case where an update request in which a first distribution source list of a first control device being any one of the plurality of control devices is set is received, updating the distribution source list based on the update request, generating a new update request based on the updated distribution source list, and transmitting the new update request to a second control device being any one of the plurality of control devices other than the first control device; and in a case where an update completion response in which a second distribution destination list of the second control device is set is received from the second control device, updating the distribution destination list based on the update completion response.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
A function needed in the nth-order transmission described in the related art will be described.
For example, according to the function (1), a distribution source list 10as is set in the node A, a distribution source list 10c's is set in the node C′, and a distribution source list 10es is set in the node E. Description of distribution source lists of other nodes will be omitted. Since the node A is the most upstream node, the distribution source list 10as is an empty set. “A→B” is set in the distribution source list 10c's. “A→B→C→D” and “A→B→C′→D” are set in the distribution source list 10es.
The function (2) needed in the nth-order transmission is a function in which, in a case where data transmitted from a transmission source node to an adjacent node is transmitted to another node, a route thereof (list of nodes involved in transmission: distribution destination list) may be grasped.
For example, according to the function (2), a distribution destination list 10ad is set in the node A, a distribution destination list 10c′d is set in the node C′, and a distribution destination list 10ed is set in the node E. Description of distribution destination lists of other nodes will be omitted. “B→C→D→E” and “B→C′→D→E” are set in the distribution destination list 10ad. “D→E” is set in the distribution destination list 10c′d. Since the node E is the most downstream node, the distribution destination list 10ed is an empty set.
However, in the existing nth-order transmission in which each node transmits and receives data in an autonomously distributed manner, the functions (1) to (3) described above are not provided, and each node may not correctly grasp the data distribution source and the data distribution destination. Furthermore, when data transmission cancellation occurs, each node may not update the distribution source list and the distribution destination list.
A viewpoint of the node C is a viewpoint 11c. The node C grasps the transmission source node B, and the transmission destination node D. A viewpoint of the node C′ is a viewpoint 11c′. The node C′ grasps the transmission source node B, and the transmission destination node D. A viewpoint of the node D is a viewpoint 11d. The node D grasps the transmission source nodes C and C′, and the transmission destination node E. A viewpoint of the node E is a viewpoint 11e. The node E grasps the transmission source node D.
For example, while the node A desires to grasp information regarding the distribution destination list 10ad described in
While the node C desires to grasp the distribution source “A→B” before the node B and the distribution destination “D→E” after D, it may grasp only up to the node B as the distribution source and the node D as the distribution destination. Note that the node C is not to grasp the distribution route “B→C′→D→E” that the node C is not involved in.
In other words, in the nth-order transmission in which each node transmits and receives data in an autonomously distributed manner, each node needs to correctly grasp the data distribution source and the data distribution destination.
In one aspect, an object of the embodiment is to provide a control system, a control device, a control method, and a control program that enable each node to correctly grasp a data distribution source and a data distribution destination in nth-order transmission.
Hereinafter, an embodiment of a control system, a control device, a control method, and a control program disclosed in the present application will be described in detail with reference to the drawings. Note that the disclosure is not limited by the embodiment.
An exemplary control system according to the present embodiment will be described.
A node 100i (i=A to E) has management information 50i, and the management information 50i stores a distribution source list srci (may be referred to as “src_i”, “src_i”, or the like) and a distribution destination list dsti (may be referred to as “dsti”, “dst_i”, or the like). The distribution source list srci is a set of lists of nodes that have been passed through from the most upstream node 100A to the node 100i. The distribution destination list dsti is a set of lists of nodes to be passed through from the node 100i to the most downstream node 100E. An initial value of the distribution source list srci and the distribution destination list dsti is an empty set φ.
It is assumed that an adjacent node to which the node 100i transmits data is determined in advance by an organization that manages the node 100i.
For example, the node 100A is coupled to the node 100B, and transmits data to the node 100B. The node 100A has management information 50A. The management information 50A stores a distribution source list srcA (may be referred to as “srcA”, “src_A”, or the like) and a distribution destination list dstA (may be referred to as “dstA”, “dst_A”, or the like).
The node 100B is coupled to the nodes 100A, 100C, and 100C′, and transmits the data to the node 100C or to the node 100C′. The node 100B has management information 50B. The management information 50B stores a distribution source list srcB (may be referred to as “srcB”, “src_B”, or the like) and a distribution destination list dstB (may be referred to as “dstB”, “dst_B”, or the like)
The node 100C is coupled to the nodes 100B and 100D, and transmits the data to the node 100D. The node 100C has management information 50C. The management information 50C stores a distribution source list srcC (may be referred to as “srcC”, “src_C”, or the like) and a distribution destination list dstC (may be referred to as “dstC”, “dst_C”, or the like).
The node 100C′ is coupled to the nodes 100B and 100D, and transmits the data to the node 100D. The node 100C′ has management information 50C′. The management information 50C′ stores a distribution source list srcC′ (may be referred to as “srcC′”, “src_C′”, or the like) and a distribution destination list dstC′ (may be referred to as “dstC′”, “dst_C′”, or the like)
The node 100D is coupled to the nodes 100C, 100C′, and 100E, and transmits the data to the node 100E. The node 100D has management information 50D. The management information 50D stores a distribution source list srcD (may be referred to as “srcD”, “src_D”, or the like) and a distribution destination list dstD (may be referred to as “dstD”, “dst_D”, or the like).
The node 100E is coupled to the node 100D. The node 100E has management information 50E. The management information 50E stores a distribution source list srcE (may be referred to as “srcE”, “src_E”, or the like) and a distribution destination list dstE (may be referred to as “dstE”, “dst_E”, or the like).
Here, a node updates its own management information at the time of data transmission and reception, and transmits an update request of another piece of management information to another node. The node that has received the update request of the management information updates the management information, and transmits an update request of management information to still another node when a specific condition is satisfied.
First, an exemplary processing procedure at the time of transmission of the node 100i will be described. In
As illustrated in
If the node 100i fails to receive the update completion response (No in step S103), the process proceeds to step S102. If the node 100i has received the update completion response (Yes in step S103), the process proceeds to step S104.
The node 100i adds, to the distribution destination list dsti, “individual elements of dstj with the node 100j added to the top thereof” (step S104). Thereby, identification information of the node 100j and each element included in the dstj are added to the distribution destination list dsti of the node 100i.
The node 100y adds, to the distribution source list srcy, “individual elements of srcx with the node 100x added to the end thereof” (step S110). Thereby, identification information of the node 100x and each element included in the srcx are added to the distribution source list srcy of the node 100y. The node 100y determines whether or not a condition of dsty={φ} is satisfied (step S111). If the condition of dsty={φ} is satisfied (Yes in step S111), the node 100y transmits an update completion response (dsty) to the node 100x (step S112).
On the other hand, if the condition of dsty={φ} is not satisfied (No in step S111), the node 100y proceeds to step S113. The node 100y transmits the update request (srcy) to a node 100z (which may be a plurality of nodes) at the top of individual elements of dsty (step S113).
The node 100y stands by until receiving an update completion response (dstz) from the node 100z (step S114). If the node 100y has not received the update completion response from all the nodes 100z (No in step S115), the process proceeds to step S114.
If the node 100y has received the update completion response from all the nodes 100z (Yes in step S115), the process proceeds to step S116. The node 100y adds “individual elements of dstz with the node 100z added to the top thereof” to dsty (step S116), and the process proceeds to step S112.
The node 100y recursively executes the process when the update request is received, which has been described with reference to
In
As illustrated in
If the node 100i has not received the update completion response from all the nodes 100h (No in step S203), the process proceeds to step S202.
If the node 100i has received the update completion response from all the nodes 100h (Yes in step S203), the process is terminated.
The node 100y adds “individual elements of dstz with the node 100z added to the end thereof” to dsty (step S210). The node 100y determines whether or not the condition of dsty={φ} is satisfied (step S211). If the condition of dsty={φ} is satisfied (Yes in step S211), the node 100y transmits an update completion response to the node 100z (step S212).
The node 100y transmits the update request to the node 100x (which may be a plurality of nodes) at the end of individual elements of srcy (step S213). The node 100y stands by until receiving an update completion response from the node 100x (step S214).
If the node 100y has not received the update completion response from all the nodes 100x (No in step S215), the process proceeds to step S214. If the node 100y has received the update completion response from all the nodes 100x (Yes in step S215), the process proceeds to step S212.
The node 100y recursively executes the process when the update request is received, which has been described with reference to
Next, an exemplary process will be described in which the node 100i executes the processes illustrated in
The distribution source list of the management information 50B of the node 100B is assumed to be “srcB={[100A]}”, and the distribution destination list is assumed to be “dstB={[100C, 100D, 100E], [100C′]}”.
The distribution source list of the management information 50C of the node 100C is assumed to be “srcC={[100A, 100B]}”, and the distribution destination list is assumed to be “dstC={[100D, 100E]}”.
The distribution source list of the management information 50C′ of the node 100C′ is assumed to be “srcC′={[100A, 100B]}”, and the distribution destination list is assumed to be “dstC′={φ}”.
The distribution source list of the management information 50D of the node 100D is assumed to be “srcD={[100A, 100B, 100C]}”, and the distribution destination list is assumed to be “dstD={[100E]}”.
The distribution source list of the management information 50E of the node 100E is assumed to be “srcD={[100A, 100B, 100C, 100D]}”, and the distribution destination list is assumed to be “dstD={φ}”.
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
Next, an exemplary processing procedure at the time of transmission cancellation by the node 100i will be described.
The node 100i stands by until receiving a cancellation completion response from the node 100j (step S303). If the node 100i fails the receive the cancellation completion response (No in step S304), the process proceeds to step S303.
On the other hand, if the node 100i has received the cancellation completion response (Yes in step S304), the process proceeds to step S305. The node 100i defines as dpath, “individual elements of spath received from the node 100j with a portion matching the individual elements of srci removed from the top thereof” (step S305).
The node 100i transmits a dst cancellation request (dpath) to the node 100h at the end of the individual elements of srci (step S306). It is noted that the “dst cancellation request (dpath)” means to be a cancellation request including the data “dpath”. The node 100i stands by until receiving a cancellation completion response from the node 100h (step S307). If the node 100i has not received the cancellation completion response from all the nodes 100h (No in step S308), the process proceeds to step S307.
On the other hand, if the node 100i has received the cancellation completion response (dpath) from all the nodes 100h (Yes in step S308), the process proceeds to step S309. The node 100i removes 100i from the top of the individual elements of dpath received from the node 100h (step S309). The node 100i removes, from dsti, an element matching the element of dpath (step S310).
The node 100y receives spath (cancellation request) from the node 100x (step S401). The node 100y removes, from srcy, an element matching the element of spath (step S402).
The node 100y adds 100y to the end of the individual elements of spath (step S403). The node 100y determines whether or not the condition of dsty={φ} is satisfied (step S404). If the condition of dsty={φ} is satisfied (Yes in step S404), the node 100y proceeds to step S410.
On the other hand, if the condition of dsty={φ} is not satisfied (No in step S404), the node 100y proceeds to step S405. The node 100y transmits a src cancellation request (spath) to the node 100z at the top of the individual elements of dsty (step S405).
The node 100y stands by until receiving a cancellation completion response from the node 100z (step S406). If the node 100y has not received the cancellation completion response from all the nodes 100z (No in step S407), the process proceeds to step S406.
On the other hand, if the node 100y has received the cancellation completion response from all the nodes 100z (Yes in step S407), the process proceeds to step S408. The node 100y determines whether or not a condition of srcy={φ} is satisfied (step S408). If the condition of srcy={φ} is not satisfied (No in step S408), the node 100y proceeds to step S410.
On the other hand, if the condition of srcy={φ} is satisfied (Yes in step S408), the node 100y deletes the element of dsty (step S409). The node 100y transmits a cancellation completion response (spath) to the node 100x (step S410).
The node 100y receives dpath from the node 100z (step S501). The node 100y adds 100y to the top of the individual elements of dpath (step S502).
The node 100y determines whether or not the condition of srcy={cp} is satisfied (step S503). If the condition of srcy={φ} is satisfied (Yes in step S503), the node 100y proceeds to step S507.
On the other hand, if the condition of srcy={cp} is not satisfied (No in step S503), the node 100y transmits the dst cancellation request (dpath) to the node 100x at the end of the individual elements of srcy (step S504).
The node 100y stands by until receiving a cancellation completion response from the node 100x (step S505). If the node 100y has not received the cancellation completion response from all the nodes 100x (No in step S506), the process proceeds to step S505.
On the other hand, if the node 100y has received the cancellation completion response from all the nodes 100x (Yes in step S506), the process proceeds to step S507. The node 100y deletes 100y from the top of the individual elements of dpath (step S507).
The node 100y deletes, from dsty, an element matching the element of dpath (step S508). The node 100y transmits a cancellation completion response (dpath) to the node 100z (step S509).
Next, an exemplary process in which, when transmission cancellation is transmitted, the node 100i executes the processes illustrated in
The distribution source list of the management information 50B of the node 100B is assumed to be “srcB={[100A]}”, and the distribution destination list is assumed to be “dstB={[100C, 100D, 100E], [100C′, 100D, 100E]}”.
The distribution source list of the management information 50C of the node 100C is assumed to be “srcC={[100A, 100B]}”, and the distribution destination list is assumed to be “dstC={[100D, 100E]}”.
The distribution source list of the management information 50C′ of the node 100C′ is assumed to be “srcC′={[100A, 100B]}”, and the distribution destination list is assumed to be “dstC′={[100D, 100E]}”.
The distribution source list of the management information 50D of the node 100D is assumed to be “srcD={[100A, 100B, 100C], [100A, 100B, 100C′]}”, and the distribution destination list is assumed to be “dstD={[100E]}”.
The distribution source list of the management information 50E of the node 100E is assumed to be “srcD={[100A, 100B, 100C, 100D], [100A, 100B, 100C′, 100D]}”, and the distribution destination list is assumed to be “dstD={φ}”.
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
The description proceeds to
Here, although illustration is omitted in
The description proceeds to
The description proceeds to
The description proceeds to
Next, an exemplary configuration of the node 100i according to the present embodiment that performs the processes described above will be described. The node 100i corresponds to any one node of the nodes 100A to 100E illustrated in
The communication unit 110 executes data communication with an external device and the like via a network. The control unit 150 to be described later exchanges data with an external device via the communication unit 110.
The input unit 120 is an input device that inputs various types of information to the control unit 150 of the node 100i. The input unit 120 corresponds to a keyboard, a mouse, a touch panel, or the like.
The display unit 130 is a display device that displays information output from the control unit 150.
The storage unit 140 has the management information 50i. The storage unit 140 corresponds to a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk drive (HDD).
The management information 50i stores the distribution source list srci and the distribution destination list dsti.
The data ID is an identification number assigned to each data to be subject to the nth-order transmission, and is used to identify the distribution source list srci and the distribution destination list dsti of each node. For example, each of the individual distribution source lists srci and distribution destination lists dsti illustrated in
The distribution source list srci is a set of lists of nodes that have been passed through from the most upstream node (e.g., node 100A) to the node 100i. The distribution destination list dsti is a set of lists of nodes to be passed through from the node 100i to the most downstream node (e.g., node 100E).
The control unit 150 includes a first transmission control unit 151 and a second transmission control unit 152. The control unit 150 is implemented by a central processing unit (CPU), a graphics processing unit (GPU), a hard-wired logic such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA), or the like.
The first transmission control unit 151 executes the data transmission (Forward) from the upstream side to the downstream side described with reference to
For example, in a case where the first transmission control unit 151 receives an update request in which a distribution source list of the upstream adjacent node is set, it updates the distribution source list based on the update request, generates a new update request based on the updated distribution source list, and transmits the new update request to the downstream adjacent node.
In a case where the first transmission control unit 151 receives an update completion response in which a distribution destination list of the downstream adjacent node is set, it updates the distribution destination list based on the update completion response. Note that, in a case where the distribution destination list is an empty set, the first transmission control unit 151 transmits an update completion response to the upstream adjacent node.
Other specific processing procedures related to the first transmission control unit 151 correspond to the processing procedures illustrated in
The second transmission control unit 152 executes the processes at the time of transmission cancellation described with reference to
For example, in a case where the second transmission control unit 152 receives a cancellation request, it deletes the identification information list of the node of the cancellation request from the distribution source list, generates a new cancellation request in which the identification information of its own node is set at the end of the cancellation request list, and transmits the new cancellation request to a downstream node.
In a case where the distribution destination list of its own node is not an empty set, the second transmission control unit 152 transmits the new cancellation request to the downstream adjacent node. In a case where the distribution destination list of its own node is an empty set, the second transmission control unit 152 transmits, to the upstream adjacent node, a cancellation completion response in which the identification information of its own node is set at the end of the cancellation request list.
In a case where the second transmission control unit 152 receives a cancellation completion response from the downstream adjacent node and the distribution source list of its own node is an empty set, it sets (deletes) the distribution destination list of its own node to an empty set.
Other specific processing procedures related to the second transmission control unit 152 correspond to the processing procedures illustrated in
Next, effects of the control system according to the present embodiment will be described. In a case where the node 100i of the control system receives an update request in which a distribution source list of the upstream adjacent node is set, it updates the distribution source list based on the update request, generates a new update request based on the updated distribution source list, and transmits the new update request to the downstream adjacent node. In a case where the node 100i receives an update completion response in which a distribution destination list of the downstream adjacent node is set, it updates the distribution destination list based on the update completion response. In a case where the distribution destination list is an empty set, the node 100i transmits an update completion response to the upstream adjacent node. As a result, the node 100i is enabled to correctly grasp the data distribution source and the data distribution destination.
In a case where the node 100i of the control system receives a cancellation request, it deletes the identification information list of the node of the cancellation request from the distribution source list, generates a new cancellation request in which the identification information of its own node is set at the end of the cancellation request list, and transmits the new cancellation request to a downstream node. In a case where the distribution destination list of its own node is not an empty set, the node 100i transmits the new cancellation request to the downstream adjacent node. In a case where the distribution destination list of its own node is an empty set, the node 100i transmits, to the upstream adjacent node, a cancellation completion response in which the identification information of its own node is set at the end of the cancellation request list. In a case where the node 100i receives a cancellation completion response from the downstream adjacent node and the distribution source list of its own node is an empty set, it deletes the distribution destination list of its own node. As a result, it becomes possible to appropriately update the distribution source list and the distribution destination list when data transmission cancellation occurs.
Next, an exemplary hardware configuration of a computer that implements functions similar to those of the node 100i described above will be described.
As illustrated in
The hard disk device 207 has a first transmission control program 207a and a second transmission control program 207b. Furthermore, the CPU 201 reads each of the programs 207a and 207b, and loads it into the RAM 206.
The first transmission control program 207a functions as a first transmission control process 206a. The second transmission control program 207b functions as a second transmission control process 206b.
Processing of the first transmission control process 206a corresponds to the processing of the first transmission control unit 151. Processing of the second transmission control process 206b corresponds to the processing of the second transmission control unit 152.
Note that each of the programs 207a and 207b may not necessarily be stored in the hard disk device 207 beforehand. For example, each of the programs may be stored in a “portable physical medium” to be inserted into the computer 200, such as a flexible disk (FD), a compact disc read only memory (CD-ROM), a digital versatile disc (DVD), a magneto-optical disk, or an integrated circuit (IC) card. Then, the computer 200 may read and execute each of the programs 207a and 207b.
All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2022-158456 | Sep 2022 | JP | national |