BLOCKCHAIN SYSTEM, PROGRAM AND NETWORK CONNECTION APPARATUS
20220407770 · 2022-12-22
Inventors
Cpc classification
H04L41/082
ELECTRICITY
H04L41/00
ELECTRICITY
International classification
Abstract
A block chain system includes a network connection apparatus and a plurality of nodes, and includes a node information managing unit, a network connection apparatus information managing unit, a block chain network information managing unit configured to manage information related to a block chain network, a block chain node updating unit configured to update block chain nodes in response to a change in information related to the plurality of nodes, a propagating unit configured to propagate, to the block chain nodes, information that is input in the block chain network for recording, and a recording unit configured to record the information in the block chain network, in a case where agreement is achieved with respect to the information that is input.
Claims
1. A block chain system including a network connection apparatus communicatively connecting networks and a plurality of nodes connected to a network under the network connection apparatus, the block chain system comprising: a node information managing unit configured to manage information related to the plurality of nodes connected to the network under the network connection apparatus; a network connection apparatus information managing unit configured to manage information related to the network connection apparatus, the plurality of nodes being connected to the network under the network connection apparatus; a block chain network information managing unit configured to manage information related to a block chain network in which block chain nodes include at least a part of the plurality of nodes and the network connection apparatus; a block chain node updating unit configured to update the block chain nodes in response to a change in the information related to the plurality of nodes managed by the node information managing unit; a propagating unit configured to propagate, to the block chain nodes, information that is input in the block chain network for recording; and a recording unit configured to record the information that is input, in the block chain network, in a case where agreement is achieved in the block chain nodes with respect to the information that is input.
2. The block chain system as claimed in claim 1, wherein the block chain node updating unit performs addition to the block chain nodes by referring to the information related to the network connection apparatus managed by the network connection apparatus information managing unit, in a case where a number of the block chain nodes is less than or equal to a predetermined number by referring to the information related to the block chain network managed by the block chain network information managing unit.
3. The block chain system as claimed in claim 2, wherein the block chain node updating unit deletes a part of the block chain nodes from the block chain network, if the number of the block chain nodes is not less than or equal to a predetermined number by referring to the information related to the block chain network managed by the block chain network information managing unit in a case where the part of the block chain nodes is to be deleted.
4. The block chain system as claimed in claim 3, wherein the block chain node updating unit selects the node and the network connection apparatus to be added as the block chain nodes or to be deleted, based on resource statuses of the nodes connected to the network under the network connection apparatus and the network connection apparatus.
5. The block chain system as claimed in claim 4, wherein the block chain node updating unit further selects the node and the network connection apparatus to be added as the block chain nodes or to be deleted, in consideration of a communication cost.
6. The block chain system as claimed in claim 1, wherein the nodes are equipment connected to the network under the network connection apparatus of a property.
7. A non-transitory computer-readable storage medium having stored therein a program causing a network connection apparatus communicatively connecting networks to function as an apparatus comprising: a node information managing unit configured to manage information related to a plurality of nodes connected to a network under the network connection apparatus; a network connection apparatus information managing unit configured to manage information related to another network connection apparatus, a plurality of nodes being connected to a network under the another network connection apparatus; a block chain network information managing unit configured to manage information related to a block chain network in which block chain nodes includes at least a part of the nodes managed by the node information managing unit, the network connection apparatus, and the nodes managed by the network connection apparatus information managing unit; and a block chain node updating unit configured to update the block chain nodes in response to a change in the information related to the plurality of nodes managed by the node information managing unit.
8. A network connection apparatus communicatively connecting networks, the network connection apparatus comprising: a node information managing unit configured to manage information related to a plurality of nodes connected to a network under the network connection apparatus; a network connection apparatus information managing unit configured to manage information related to another network connection apparatus, a plurality of nodes being connected to a network under the another network connection apparatus; a block chain network information managing unit configured to manage information related to a block chain network in which block chain nodes include at least a part of the nodes managed by the node information managing unit, the network connection apparatus, and the nodes managed by the network connection apparatus information managing unit; and a block chain node updating unit configured to update the block chain nodes in response to a change in the information related to the plurality of nodes managed by the node information managing unit.
9. The block chain system as claimed in claim 2, wherein the nodes are equipment connected to the network under the network connection apparatus of a property.
10. The block chain system as claimed in claim 3, wherein the nodes are equipment connected to the network under the network connection apparatus of a property.
11. The block chain system as claimed in claim 4, wherein the nodes are equipment connected to the network under the network connection apparatus of a property.
12. The block chain system as claimed in claim 5, wherein the nodes are equipment connected to the network under the network connection apparatus of a property.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
EMBODIMENT FOR CARRYING OUT THE INVENTION
[0036] Next, embodiments of the present invention will be described in detail.
First Embodiment
[0037] In the present embodiment, an example of property equipment will be described as an example of multiple nodes connected to a network. The property equipment includes various equipment and devices other than personal computers (PCs), such as air conditioners, monitoring devices, security devices, and remote control devices for operating equipment.
[0038] <System Configuration>
[0039]
[0040] The cloud server 10 in
[0041] The nodes 14a to 14n are equipment of the property that is communicatively connected to the networks 18a to 18c under the GWs 12. For example, in
[0042] In the block chain system 1 according to the present embodiment, a change (addition, deletion, setting change, and the like of the node 14) in information related to the nodes 14, which are the equipment of the property, is recorded in a block chain network configured by multiple nodes 14. Here, the multiple nodes 14 included in the block chain network are updated as described below. Additionally, the block chain network may be configured by multiple nodes 14 and the GW 12, and the multiple nodes 14 and the GW 12 included in the block chain network may be updated, as described below.
[0043] It is apparent that the block chain system 1 of
[0044] <Hardware Configuration>
[0045] The cloud server 10 and the GW 12 of
[0046]
[0047] The input device 501 may be a touch panel, an operation key or button, a keyboard, a mouse, or the like that is used by a user to input various signals. The output device 502 includes a display, such as a liquid crystal display or an organic EL display for displaying a screen, a speaker for outputting sound data, such as voice or music, and the like. The communication I/F 507 is an interface that connects the computer 500 to the network 16 or 18. The computer 500 can perform data communication via the communication I/F 507.
[0048] Additionally, the HDD 508 is an example of a non-volatile storage device that stores programs and data. The stored programs and data include an OS, which is basic software that entirely controls the computer 500, an application that provides various functions on the OS, and the like.
[0049] Here, the computer 500 may use a drive device (for example, a solid state drive (SSD)) that uses a flash memory as a storage medium, instead of the HDD 508.
[0050] The external I/F 503 is an interface with an external device. The external device is a recording medium 503a or the like. The computer 500 can read data from and/or write data to the recording medium 503a via the external I/F 503. The recording medium 503a may be a flexible disk, a CD, a DVD, an SD memory card, a USB memory, or the like.
[0051] The ROM 505 is an example of a non-volatile semiconductor memory (a storage device) that can hold programs and data even when the power is turned off. The ROM 505 stores programs and data such as BIOS that is executed when the computer 500 starts, OS settings, and network settings. The RAM 504 is an example of a volatile semiconductor memory (a storage device) that temporarily holds programs and data.
[0052] The CPU 506 is an arithmetic device that achieves control and functions of the entire computer 500 by reading programs and data from the storage device, such as the RCM 505 or the HDD 508, to the RAM 504 and performing processing (including processing for generating images or sound output to the output device 502).
[0053] The cloud server 10, the GW 12, and the node 14 according to the present embodiment can perform various processes as described below by executing programs by utilizing the resource that can perform information processing as described above.
[0054] <Software Configuration>
[0055] <<Functional Block>>
[0056] Functional blocks of the cloud server 10, the GW 12, and the node 14 of the block chain system 1 according to the present embodiment will be described.
[0057] The communication unit 20 communicates via the network 16. The node information managing unit 22 manages node information described below. The GW information managing unit 24 manages GW information described below. The block chain network information managing unit 26 manages block chain network information described below.
[0058] When the block chain network includes multiple nodes 14, the block chain node updating unit 28 updates, as described below, the block chain nodes, which are the multiple nodes 14 included in the block chain network. When the block chain network includes multiple nodes 14 and GWs 12, the block chain node updating unit 28 updates, as described below, the block chain nodes, which are the multiple nodes 14 and GWs 12 included in the block chain network.
[0059] The node information management DB 30 records node information as described below. The GW information management DB 32 records GW information as described below. The block chain network information management DB 34 records block chain network information as described below.
[0060]
[0061] The communication unit 40 communicates via the network 16 or 18. The node information receiving unit 42 receives the node information (information related to the node 14) from the node 14. When the block chain network includes the multiple nodes 14, the node information transmitting unit 44 transmits the node information received by the node information receiving unit 42 to the cloud server 10.
[0062] Here, when the block chain network includes the multiple nodes 14 and GWs 12, the GW 12 includes functional blocks corresponding to a block chain network information receiving unit 62, a block chain network information management DB 64, and a transaction processing unit 68, which will be described below, in addition to the configuration in
[0063] When the block chain network includes the multiple nodes 14 and GWs 12, the node information transmitting unit 44 adds its own information, such as resource status information, to the node information received by the node information receiving unit 42 and transmits the information to the cloud server 10.
[0064]
[0065] The communication unit 60 communicates via the network 18. The block chain network information receiving unit 62 receives block chain network information described below. The block chain network information management DB 64 records the block chain network information described below that is received by the block chain network information receiving unit 62. The node information notifying unit 66 notifies the cloud server 10 of changed node information via the GW 12.
[0066] The transaction processing unit 68 performs a process related to a transaction. The propagating unit 80 propagates, to the block chain nodes, a transaction that is input into the block chain network to record information related to the changed node 14 (addition, deletion, setting change, and the like of the node 14). The block generating unit 82 generates a block according to the block chain technique. The agreement determining unit 84 performs a process for an agreement according to the agreement rules of the block chain technology that is preset. The block recording unit 86 records the agreed block in the block chain network.
[0067] The transaction generating unit 88 generates a transaction for the information related to the changed node 14 (addition, deletion, setting change, and the like of the node 14) and, by inputting the transaction into the block chain network, propagates the transaction to the block chain nodes and causes the information to be recorded in the block chain.
[0068] The GW information recorded in the GW information management DB 32 of the cloud server 10 is configured, for example, as illustrated in
[0069] The GW address is an example of identification information of the GW 12. The number of nodes is the number of the nodes 14 connected to the network 18 under the GW 12. The number of the available BC nodes is the number of the nodes 14 that are available as block chain nodes among the nodes 14 connected to the network 18 under the GW 12. The communication cost is a cost related to the communication of the nodes 14 connected to the network 18 under the GW 12.
[0070] As described, the GW information manages the number of the nodes 14 connected to the network 18 under the GW 12 (the network 18 controlled by the GW 12), the number of the nodes 14 that are available as the block chain nodes, and the communication cost.
[0071] The node information recorded in the node information management DB 30 of the cloud server 10 is configured, for example, as illustrated in
[0072] The GW address is an example of the identification information of the GW 12. The node address is an example of identification information of the node 14. The BC node availability information is an example of information indicating whether the node can be used as the block chain node. The resource status information is an example of information indicating the unused resource rate of resources (CPU, RAM, FLASH (registered trademark), and the like) of the node 14.
[0073] As described above, the node information manages the BC node availability information and the resource status information for each node 14 connected to the network 18 under the GW 12. The node information illustrated in
[0074]
[0075] The block chain network information recorded in the block chain network information management DB 34 of the cloud server 10 is configured, for example, as illustrated in
[0076] As described, the block chain network information can be managed when the block chain network includes the nodes 14 connected to the network or networks 18 under the one or more GWs 12.
[0077] The block chain network information illustrated in
[0078]
[0079] <Process>
[0080] In the block chain system 1 according to the present embodiment, the block chain network information as illustrated in
[0081] The block chain system 1 is provided with the GW 12, for example, for each property. For example, in the block chain system 1 of
[0082] At the start of the operation of the block chain system 1, the administrator or the like sets the GW information of
[0083] When the addition or deletion of the node 14 to the closed network 18 or the setting change to the node 14 occurs after the recording performed by the block chain network is started, the node 14 notifies the cloud server 10 of the change in the node information via the GW 12.
[0084]
[0085] In step S12, the node information managing unit 22 that receives the change in the node information updates the node information recorded in the node information management DB 30 to reflect the change in the node information. When the GW information is changed due to the change in the node information, the GW information managing unit 24 updates the GW information recorded in the GW information management DB 32.
[0086] In step S14, the block chain node updating unit 28 determines whether a block chain node updating process is necessary.
[0087] When determining that the block chain node updating process is necessary, the block chain node updating unit 28 performs processing from step S16. When determining that the block chain node updating process is not necessary, the block chain node updating unit 28 skips the processing from step S16.
[0088] In step S16, the block chain node updating unit 28 determines an appropriate configuration of the block chain nodes and updates the block chain nodes based on the changed node information as described below with reference to
[0089] For example, for a block chain node to be newly added to the block chain, for example, a block chain node that has a low communication cost may be selected preferentially, for example. Additionally, for a block chain node to be newly deleted from the block chain, for example, a block chain node that has a high communication cost may be selected preferentially, for example.
[0090] In step S18, the block chain network information managing unit 26 updates the block chain network information recorded in the block chain network information management DB 34 with a result of the block chain node updating process in step S16 and transmits the update to the block chain nodes.
[0091] The processing of step S14 and step S16 is performed, for example, as a flowchart illustrated in
[0092] In step S30, the block chain node updating unit 28 determines whether the number of the block chain nodes is less than or equal to a predetermined number (the number of the block chain nodes sufficient to guarantee the security of the block chain).
[0093] If the number of the block chain nodes is less than or equal to the predetermined number, the block chain node updating unit 28 proceeds to step S32 and determines whether there is a node 14 or a GW 12 that can be added to the block chain network.
[0094] If there is no node 14 or GW 12 that can be added to the block chain network, the block chain node updating unit 28 proceeds to step S34 and resets the block chain because the security of the block chain cannot be guaranteed. The block chain reset process is a process of stopping recording to the block chain.
[0095] Here, the block chain reset process may set the recording to the block chain to be pending with a time limit, and may continue the recording to the block chain if the block chain node can be added to the block chain network before the time limit is reached. The block chain reset process may immediately abort the recording to the block chain and restart the recording to the block chain from a latest block.
[0096] If there is a node 14 or a GW 12 that can be added to the block chain network, the process proceeds from step S32 to step S36, and the block chain node updating unit 28 performs a process of adding the node to the block chain network. In the process of adding the node in step S36, based on the GW information of
[0097] If the number of the block chain nodes is not less than or equal to the predetermined number, the block chain node updating unit 28 proceeds from step S30 to step S38 and determines whether there is a block chain node that can be deleted from the block chain network with the security of the block chain being guaranteed.
[0098] If there is a block chain node that can be deleted from the block chain network with the security of the block chain being guaranteed, the block chain node updating unit 28 proceeds from step S38 to step S40 and performs a process of deleting the node from the block chain network. The process of deleting the node from the block chain network in step S40 is a process of preferentially deleting a block chain node having a high communication cost from the block chain within a range in which the security of the block chain can be guaranteed.
[0099] If there is no block chain node that can be deleted from the block chain network with the security of the block chain being guaranteed, the block chain node updating unit 28 skips the processing of step S40.
[0100] In the flowchart of
[0101] Additionally, in the block chain system 1 according to the present embodiment, an example, in which the information related to the changed node 14 (e.g., addition, deletion, setting change of the node 14, and the like) is notified by the node 14, has been described. However, the cloud server 10 or the GW 12 may detect the changed information.
[0102] According to the block chain system 1 according to the present embodiment, the block chain network that can guarantee the security of the block chain is maintained by the block chain node updating process. Thus, even when the equipment of the property that may be added, deleted, or changed in the setting is used as the block chain node, the change in the information related to the node 14, which is the equipment of the property, can be recorded in the block chain with the security being guaranteed.
Second Embodiment
[0103] The block chain system 1 according to the first embodiment may be implemented in the configuration as illustrated in
[0104] In the block chain system 100, GWs 112a to 112c and nodes 114a to 114n are connected via networks 116 and 118a to 118c, such as the Internet and LANs. The block chain system 100 is configured such that the cloud server 10 of the block chain system 1 of
[0105] Among the functional blocks of the omitted cloud server 10, the functional blocks necessary for the block chain system 100 according to the second embodiment are provided in the GW 112, for example, as illustrated in
[0106]
[0107] The communication unit 140 communicates via the network 116 or the networks 118a to 118c. The node information receiving unit 142 receives node information (information related to the node 114) from the node 114.
[0108] The node information managing unit 144 manages the node information of
[0109] In the block chain system 100 according to the second embodiment, the block chain network information as illustrated in
[0110] The block chain node that receives the block chain network information can recognize other block chain nodes participating in the same block chain network by referring to the block chain network information illustrated in
[0111] The GW 12 is provided, for example, for each property, in the block chain system 100. For example, in the block chain system 100 of
[0112] Here, in the block chain system 100 according to the second embodiment, an initial block chain network may be configured by the block chain nodes of the closed network 118 for each GW 112, and when the number of the block chain nodes is less than or equal to a predetermined number, a process of adding the block chain node of another closed network 118 to the block chain network may be performed.
[0113] For example, the initial block chain network may be configured by the nodes 114a to 114c and the GW 112a of the closed network 118a of the GW 112a, and when the number of the block chain nodes is less than or equal to the predetermined number, a process of adding the nodes 114d to 114h and the GW 112b of another closed network 118b to the block chain network may be performed.
[0114] At the start of the operation of the block chain system 100, an administrator or the like sets the GW information of
[0115] When the addition or the deletion of the node 114 to the closed network 118, or the setting change to the node 114 occurs after the recording performed by the block chain network is started, the node 114 notifies the GW 112 of the change in the node information.
[0116] When receiving the change of the node information from the node 114 in step S10, the communication unit 140 of the GW 112 transmits the node information to the node information managing unit 144. In step S12, the node information managing unit 144 that receives the change of the node information updates the node information recorded in the node information management DB 152 to reflect the change of the node information. When the GW information is changed due to the change of the node information, the GW information managing unit 146 updates the GW information recorded in the GW information management DB 154.
[0117] In step S14, the block chain node updating unit 150 determines whether the block chain node updating process is necessary.
[0118] When determining that the block chain node updating process is necessary, the block chain node updating unit 150 performs the processing from step S16. When determining that the block chain node updating process is not necessary, the block chain node updating unit 150 skips the processing from step S16.
[0119] In step S16, the block chain node updating unit 150 determines an appropriate configuration of the block chain nodes and updates the block chain nodes based on the changed node information, as described above with reference to
[0120] In step S18, the block chain network information managing unit 148 updates the block chain network information recorded in the block chain network information management DB 156 with a result of the block chain node updating process in step S16, and transmits the update to the block chain nodes.
[0121] The processing of step S14 and step S16 is performed, for example, as the flowchart illustrated in
[0122] If there is no node 114 or GW 112 that can be added to the block chain network, the block chain node updating unit 150 proceeds to step S34 and resets the block chain because the security of the block chain cannot be guaranteed.
[0123] If there is a node 114 or a GW 112 that can be added to the block chain network, the process proceeds from step S32 to step S36, and the block chain node updating unit 150 performs the process of adding the node to the block chain network.
[0124] If the number of the block chain nodes is not less than or equal to the predetermined number, the block chain node updating unit 150 proceeds from step S30 to step S38 and determines whether there is a block chain node that can be deleted from the block chain network with the security of the block chain being guaranteed.
[0125] If there is a block chain node that can be deleted from the block chain network with the security of the block chain being guaranteed, the block chain node updating unit 150 proceeds from step S38 to step S40 and performs the process of deleting the node from the block chain network.
[0126] If there is no block chain node that can be deleted from the block chain network with the security of the block chain being guaranteed, the block chain node updating unit 150 skips the processing of step S40.
[0127] Additionally, although in the block chain system 100 according to the second embodiment, an example, in which the information related to the changed node 114 (e.g., addition, deletion, or setting change of the node 14) is notified by the node 114 itself, has been described, the GW 112 may detect the changed information.
[0128] In the block chain system 100 according to the second embodiment, the running cost of the cloud service can be reduced and the block chain network that can guarantee the security of the block chain can be maintained. Thus, even when the equipment of the property that may be added, deleted, or changed in setting is used as the block chain node, the change in information related to the node 114, which is the equipment of the property, can be recorded in the block chain with the security being guaranteed.
[0129] Additionally, the change in the information related to the node 114, which is the equipment of the property, is stored in the block chain without collectively storing the change in the cloud service, so that the risk of data loss and the security risk can be reduced.
[0130] Although the invention has been described according to the embodiments above, the invention is not limited to the above embodiments, and various modifications can be made within the scope of the claims. This application is based upon and claims the priority to Japanese Application No. 2019-213350, filed Nov. 26, 2019, submitted to the Japan Patent Office, the entirety of which is incorporated herein by reference.
DESCRIPTION OF THE REFERENCE NUMERALS
[0131] 1, 100 block chain system [0132] 10 cloud server [0133] 12a to 12c, 112a to 112c GW [0134] 14a to 14n, 114a to 114n node [0135] 16, 18a to 18c, 116, 118a to 118c network [0136] 20, 40, 60, 140 communication unit [0137] 22, 144 node information managing unit [0138] 24, 146 GW information managing unit [0139] 26, 148 block chain network information managing unit [0140] 28, 150 block chain node updating unit [0141] 30, 152 node information management DB [0142] 32, 154 GW information management DB [0143] 34, 156 block chain network information management DB [0144] 42, 142 node information receiving unit [0145] 44 node information transmitting unit [0146] 62 block chain network information receiving unit [0147] 64 block chain network information management DB [0148] 66 node information notifying unit [0149] 68 transaction processing unit [0150] 80 propagating unit [0151] 82 block generating unit [0152] 84 agreement determining unit [0153] 86 block recording unit [0154] 88 transaction generating unit