Management Device
The management device addresses the delay issue in blockchain systems by setting the communication quality of target nodes to a higher standard, effectively reducing the time it takes to add data to the blockchain and enhancing data confirmation efficiency.
Patent Information
- Application Number
- JP2022561874
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-11-12
- Filing Date
- 2021-11-05
- Publication Date
- 2025-04-16
- Estimated Expiration
- 2041-11-05
AI Technical Summary
In blockchain systems, the timing of adding additional data to the blockchain becomes slower over time, leading to delays, and there is a need for technology that supports nodes in reducing these delays.
A management device that includes a provision unit to provide first information corresponding to a request to a node and a quality control unit that sets the quality of communications with respect to target nodes to a quality of first quality or higher, thereby controlling the quality of data addition communications and reducing delays in adding data to the blockchain.
The management device assists nodes in reducing delays in the timing of adding data to the blockchain, thereby improving the efficiency of data confirmation and reducing the time required for data addition.
Smart Images

Figure 0007663600000001 
Figure 0007663600000002 
Figure 0007663600000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a management device. [Background technology]
[0002] A system using a blockchain is known (see, for example, Patent Document 1). A blockchain is a database of data such as transaction data. The blockchain includes a number of blocks connected in series. Each block includes data such as transaction data. The blockchain is shared by a number of nodes. When any one of the multiple nodes generates additional data (e.g., transaction data or a block) to be added to the blockchain, the additional data is communicated between the multiple nodes and added to the blockchain. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2019-213161 A Summary of the Invention [Problem to be solved by the invention]
[0004] If the communication of additional data takes time, the timing of adding the additional data to the blockchain will be delayed. For this reason, a technology to support nodes in order to reduce the delay in adding additional data to the blockchain is desired.
[0005] The objective of the present invention is to provide a technique that assists nodes in reducing the delay in adding data to a blockchain. [Means for solving the problem]
[0006] A management device according to one embodiment of the present invention includes: a provider unit that, when a first request for controlling the quality of communication within a group consisting of a first node and a plurality of second nodes that both have a blockchain and perform communication to add additional data to the blockchain is received from the first node, provides first information corresponding to the first request to the first node; and a quality control unit that, when the management device receives the first information from a receiving node among the plurality of second nodes that received the first information in addition to a second request for controlling the quality of communication regarding a control target node, which is one of the plurality of second nodes, in a situation in which the first information is communicated within the group, sets the quality of communication regarding the control target node to a quality equal to or higher than a first quality. Effect of the Invention
[0007] According to one aspect of the present invention, nodes can be assisted in reducing delays in adding data to the blockchain. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 illustrates a network system 1. [Diagram 2] A diagram showing an example of a blockchain BC. [Diagram 3] FIG. 1 is a diagram illustrating an example of a network NW. [Figure 4] FIG. 2 is a diagram illustrating an example of a node 20. [Diagram 5] FIG. 1 illustrates an example of a management device 10. [Figure 6] FIG. 2 illustrates an example of a management table 122. [Figure 7] FIG. 2 is a diagram for explaining the operation of the network system 1. [Figure 8] FIG. 2 is a diagram for explaining the operation of the network system 1. [Figure 9] FIG. 2 is a diagram showing an example of transaction data D1. [Figure 10] FIG. 11 is a diagram for explaining the operation of the first modified example. [Figure 11] FIG. is a diagram for explaining the operation of the second modification. [Figure 12] FIG. is a diagram for explaining the operation of the second modification. [Figure 13] FIG. is a diagram for explaining the operation of the third modification. [Figure 14] FIG. is a diagram for explaining the operation of the third modification. DETAILED DESCRIPTION OF THE INVENTION
[0009] <A: First Embodiment> <A1: Network System 1> FIG. 1 is a diagram showing network system 1. Network system 1 includes network NW and management device 10. Network NW includes group A1 of nodes 20, 30, 40, 50, and 60. Network NW also includes a plurality of nodes not belonging to group A1.
[0010] Node 20 is an example of a first node. Nodes 30, 40, 50, and 60 are examples of a plurality of second nodes. Each of nodes 30, 40, 50, and 60 is an example of a second node. The number of second nodes is not limited to 4 and may be 2 or more. Group A1 is an example of a group composed of a first node and a plurality of second nodes.
[0011] Nodes 20, 30, 40, 50, and 60 constitute a P2P (Peer to Peer) network. The configuration of the P2P network is not limited to the configuration shown in FIG. 1 and can be appropriately changed.
[0012] Each of nodes 20, 30, 40, 50, and 60 holds a common blockchain BC. That is, nodes 20, 30, 40, 50, and 60 share blockchain BC.
[0013] 2 is a diagram showing an example of a blockchain BC. The blockchain BC includes a plurality of blocks B1 connected in series. Each block B1 includes block-related data Q1 and target data T1.
[0014] The block-related data Q1 is based on data included in the immediately preceding block B1. The block-related data Q1 is, for example, a hash value based on data included in the immediately preceding block B1. The block-related data Q1 contributes to resistance to data tampering in the blockchain BC.
[0015] The target data T1 is, for example, transaction data D1. The transaction data D1 is, for example, data related to cryptocurrency transactions. Cryptocurrency is also referred to as virtual currency or electronic currency. The transaction data D1 is not limited to data related to cryptocurrency transactions. The transaction data D1 may be, for example, data related to real estate transactions, data related to movable property transactions, or data related to information transactions. The transaction data D1 is also referred to as a transaction. The target data T1 is not limited to transaction data D1, and may be, for example, data related to the exchange of information such as a contract. The blockchain BC is an example of a database that manages the target data T1.
[0016] For the sake of simplicity, an example will be described in which the target data T1 is transaction data D1. The transaction data D1 can be generated by each of the multiple nodes 20, 30, 40, 50, and 60.
[0017] The transaction data D1 is propagated from the node that generated the transaction data D1 to a node other than the node that generated the transaction data D1 among the plurality of nodes 20, 30, 40, 50, and 60. Upon receiving the transaction data D1, each of the plurality of nodes 20, 30, 40, 50, and 60 verifies the transaction data D1.
[0018] The block B1 is generated by a node called a minor node among the multiple nodes 20, 30, 40, 50, and 60. The minor node aggregates multiple transaction data D1 into one block B1.
[0019] The block B1 is propagated from the minor node that generated the block B1 to a node other than the node that generated the block B1 among the plurality of nodes 20, 30, 40, 50, and 60. Upon receiving the block B1, each of the plurality of nodes 20, 30, 40, 50, and 60 verifies the block B1.
[0020] If the verification result of the block B1 indicates validity, each of the multiple nodes 20, 30, 40, 50, and 60 adds the block B1 to the existing blockchain BC. Adding the block B1 to the existing blockchain BC means connecting the block B1 to the existing blockchain BC. Each of the block B1, the target data T1, and the transaction data D1 is an example of predetermined data. The predetermined data is an example of additional data.
[0021] Each of nodes 20, 30, 40, 50, and 60 executes communication for adding transaction data D1 to the blockchain BC. Hereinafter, "communication for adding transaction data D1 to the blockchain BC" is also referred to as "communication for adding data." One example of communication for adding data is communication of transaction data D1. Another example of communication for adding data is communication of block B1 including transaction data D1. In the network NW, data such as transaction data D1 and block B1 are communicated by packets.
[0022] The earlier the transaction data D1 is added to the blockchain BC, the earlier the transaction data D1 is deemed to be finalized. The management device 10 reduces the delay in the timing at which the transaction data D1 is added to the blockchain BC by controlling the quality of the data addition communication. The management device 10 accelerates the timing at which the transaction data D1 is deemed to be finalized by reducing the delay in the timing at which the transaction data D1 is added to the blockchain BC. The management device 10 supports at least one of the nodes 20, 30, 40, 50, and 60 by accelerating the timing at which the transaction data D1 is deemed to be finalized.
[0023] 3 is a diagram showing an example of a network NW. The network NW includes communication devices 71, 72, 73, and 74 in addition to nodes 20, 30, 40, 50, and 60. Each of the communication devices 71, 72, 73, and 74 is, for example, a router. The nodes 20, 30, 40, 50, and 60 and the communication devices 71, 72, 73, and 74 are capable of communicating with the management device 10.
[0024] The management device 10 controls the quality of communication in the network NW by causing at least one of the communication devices 71, 72, 73, and 74 to execute at least one of priority control and bandwidth control.
[0025] Priority control is, for example, control that gives priority to transferring packets related to a specific communication. When priority control is executed, low latency, improved throughput, high speed, high reliability, etc. are realized in the specific communication. Bandwidth control is control that adjusts the width of the band used in communication. When the band of communication is expanded by bandwidth control, for example, low latency, improved throughput, high speed, high reliability, etc. are realized in the communication. Each of priority control and bandwidth control is an example of QoS (Quality of Service) control.
[0026] The management device 10 reduces the delay in the timing at which transaction data D1 is added to the blockchain BC by having at least one of the communication devices 71, 72, 73, and 74 execute QoS control.
[0027] <A2:ノード20> The node 20 is a personal computer. The node 20 is not limited to a personal computer, and may be, for example, a smartphone or a tablet. The node 20 executes data addition communication (communication for adding transaction data D1 to the blockchain BC) with each of the nodes 30 and 40.
[0028] 4 is a diagram showing an example of the node 20. The node 20 includes an input device 21, an output device 22, a communication device 23, a storage device 24, and a processing device 25.
[0029] The input device 21 includes a keyboard. The input device 21 may include at least one of a mouse and a touch panel. When the input device 21 includes a touch panel, it does not have to include at least one of a keyboard and a mouse. The input device 21 accepts operations performed by a user.
[0030] The output device 22 includes a display. The output device 22 may include a touch panel. The output device 22 displays various information. When the output device 22 includes a touch panel, it does not have to include a display. A touch panel may be used as both the input device 21 and the output device 22.
[0031] The communication device 23 communicates with the node 30 via a communication device 71 such as a router. The communication device 23 communicates with the node 40 via a communication device 72 such as a router. The communication device 23 further communicates with the management device 10.
[0032] The storage device 24 is a recording medium that can be read by the processing device 25. The storage device 24 includes, for example, a nonvolatile memory and a volatile memory. The nonvolatile memory is, for example, a Read Only Memory (ROM), an Erasable Programmable Read Only Memory (EPROM), and an Electrically Erasable Programmable Read Only Memory (EEPROM). The volatile memory is, for example, a Random Access Memory (RAM). The storage device 24 stores an application program 241 and a blockchain BC.
[0033] The processing device 25 includes one or more central processing units (CPUs). The one or more CPUs are an example of one or more processors. Each of the processor and the CPU is an example of a computer.
[0034] The processing device 25 reads the application program 241 from the storage device 24. The processing device 25 executes the application program 241 to function as an operation control unit 251, a first request unit 252, a second request unit 253, a verification unit 254, and a block generation unit 255.
[0035] The operation control unit 251 may be realized by a circuit such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), an FPGA (Field Programmable Gate Array), etc. At least one of the first request unit 252, the second request unit 253, the verification unit 254, and the block generation unit 255 may be realized by a circuit such as a DSP, an ASIC, a PLD, an FPGA, etc.
[0036] The operation control unit 251 controls communication for adding transaction data D1 to the blockchain BC, i.e., communication for adding data.
[0037] The first request unit 252 transmits a request C1 to the management device 10. The request C1 indicates a QoS control request for communication regarding the transaction data D1. The communication regarding the transaction data D1 includes the communication of the transaction data D1 and the communication of the block B1 including the transaction data D1. That is, the communication regarding the transaction data D1 means the entire communication for adding the transaction data D1 to the blockchain BC. The communication regarding the transaction data D1 is an example of the communication for data addition. QoS control is an example of the control of the quality of communication. The request C1 is an example of the first request that requests the control of the quality of communication for adding predetermined data to the blockchain BC. The first request is a request for controlling the quality of communication for adding predetermined data (additional data) to the blockchain BC.
[0038] The second request unit 253 transmits a request C2 to the management device 10. The request C2 indicates a QoS control request for communication regarding the control target node. The control target node is one or a plurality of nodes among the plurality of second nodes. When the request C2 indicates a QoS control request for communication regarding a plurality of control target nodes, each control target node is any one of the plurality of second nodes. When the request C2 indicates a QoS control request for communication regarding one control target node, the control target node is any one of the plurality of second nodes. The request C2 is an example of the second request that requests the control of the quality of communication regarding the control target node. The second request is a request for controlling the quality of communication regarding the control target node.
[0039] The verification unit 254 verifies the transaction data D1 generated by other nodes. The verification unit 254 verifies the block B1 generated by other nodes.
[0040] The block generation unit 255 generates a block B1 including the transaction data D1. For example, the block generation unit 255 combines a plurality of transaction data D1 into one block B1.
[0041] <A3: Nodes 30, 40, 50, and 60> Each of nodes 30, 40, 50, and 60 has components similar to those of node 20. Node 30 executes data addition communication (communication for adding transaction data D1 to blockchain BC) with node 20. Node 40 executes data addition communication with each of nodes 20, 50, and 60. Node 50 executes data addition communication with node 40. Node 60 executes data addition communication with node 40.
[0042] <A4: Management device 10> FIG. 5 is a diagram showing an example of management device 10. Management device 10 is a server. Management device 10 includes a communication device 11, a storage device 12, and a processing device 13.
[0043] Communication device 11 communicates directly or indirectly with each of nodes 20, 30, 40, 50, and 60. Communication device 11 communicates directly or indirectly with each of communication devices 71, 72, 73, and 74.
[0044] Storage device 12 is a recording medium readable by processing device 13. Storage device 12 includes, for example, a non-volatile memory and a volatile memory. Storage device 12 stores program 121 and management table 122. FIG. 6 is a diagram showing an example of management table 122. Management table 122 is used to manage QoS control for nodes.
[0045] Returning to the explanation of FIG. 5, processing device 13 includes one or more CPUs. Processing device 13 reads program 121 from storage device 12. By executing program 121, processing device 13 functions as a providing unit 131 and a quality control unit 132. At least one of providing unit 131 and quality control unit 132 may be realized by a circuit such as a DSP, ASIC, PLD, and FPGA.
[0046] When the providing unit 131 receives a request C1 from a first node (e.g., node 20), it provides a one-time path P1 to the first node. The one-time path P1 is used to execute the control indicated in the request C1. The one-time path P1 is an example of predetermined information corresponding to the first request. The predetermined information is an example of first information. The one-time path P1 is communicated within the group A1. The one-time path P1 propagates to each of a plurality of second nodes. The second node uses the one-time path P1 to inform the management device 10 that the communication related to the controlled node is a communication for which QoS control is requested by the request C1.
[0047] When the quality control unit 132 receives the one-time path P1 from the receiving node that has received the one-time path P1 together with the request C2 indicating a request for QoS control for the communication related to the controlled node, the quality control unit 132 sets the quality of the communication related to the controlled node to a quality equal to or higher than a predetermined quality. The predetermined quality is an example of the first quality.
[0048] The predetermined quality is, for example, communication quality with a communication bandwidth of "X1" Mbps. "X1" is a positive number. In this case, quality equal to or higher than the predetermined quality means quality with a communication bandwidth of "X1" Mbps or more. The predetermined quality is not limited to communication quality with a communication bandwidth of "X1" Mbps, but may be, for example, communication quality with a delay of "X2" ms. "X2" is a positive number. In this case, quality equal to or higher than the predetermined quality means quality with a delay of "X2" ms or less. The predetermined quality may be registered in advance in the storage device 12, or may be indicated in the request C1.
[0049] When the quality control unit 132 receives a one-time path P1 in addition to a request C2 from a receiving node in a situation where the quality of communication regarding the controlled node is below a predetermined quality, the quality control unit 132 changes the quality of communication regarding the controlled node to a quality equal to or higher than the predetermined quality.
[0050] When the quality control unit 132 receives the one-time path P1 from the receiving node in addition to the request C2 in a situation where the quality of communication regarding the control target node is a quality equal to or higher than a predetermined quality, the quality control unit 132 maintains the quality of communication regarding the control target node.
[0051] <A5: Explanation of Operations> FIGS. 7 and 8 are diagrams for explaining the operations of the network system 1. For the sake of simplicity of explanation, FIGS. 7 and 8 show the operations in the case where the node 20 is a transaction request node, the node 30 is a trading partner node (transaction node), and each of the nodes 40, 50, and 60 is a miner node.
[0052] The transaction request node is not limited to the node 20, and may be any one of the nodes 30, 40, 50, and 60. The trading partner node is not limited to the node 30, and may be any one of the nodes 20, 40, 50, and 60. The trading partner node is different from the transaction request node. The miner node is not limited to each of the nodes 40, 50, and 60, and may be, for example, at least one of the nodes 20 and 30. The number of miner nodes is not limited to 3.
[0053] In the example shown in FIGS. 7 and 8, the transaction request node is an example of the first node. A plurality of nodes different from the transaction request node are examples of the plurality of second nodes.
[0054] Each of the nodes 20, 30, 40, 50, and 60 communicates using the communication device 23 shown in FIG. 4. However, for the sake of simplicity of explanation, the description regarding the communication device 23 is omitted. The management device 10 communicates using the communication device 11 shown in FIG. 5. However, for the sake of simplicity of explanation, the description regarding the communication device 11 is omitted.
[0055] When the input device 21 of the node 20 receives content information indicating the content of a transaction to be newly added to the blockchain BC from the user of the node 20, the operation control unit 251 of the node 20 generates transaction data D1 based on the content information.
[0056] 9 is a diagram showing an example of transaction data D1. The transaction data D1 shows information D11 indicating a transaction request node, information D12 indicating a trading partner node, and information D13 indicating transaction details. In the example shown in FIGS. 7 and 8, information D11 indicates node 20, and information D12 indicates node 30.
[0057] 7, when the operation control unit 251 of the node 20 generates the transaction data D1, the first request unit 252 of the node 20 transmits a request C1 to the management device 10. The request C1 indicates a request for QoS control for communication related to the transaction data D1.
[0058] In step S101, the first request unit 252 transmits a request C1 accompanied by a request C3 to the management device 10. The request C3 is an example of a third request requesting control of the quality of communication related to the first node. The third request is a request for controlling the quality of communication related to the first node. In this case, the request C3 indicates a request for QoS control of communication related to the node 20 that generated the transaction data D1.
[0059] The communication related to the node 20 includes communication of a packet indicating the node 20 as a source and communication of a packet indicating the node 20 as a destination. Hereinafter, communication related to a node means communication including communication of a packet indicating the node as a source and communication of a packet indicating the node as a destination.
[0060] The request C3 indicates an Internet Protocol (IP) address of the node 20 as information for identifying the node 20. The information for identifying the node 20 is not limited to the IP address of the node 20 and can be changed as appropriate.
[0061] When the providing unit 131 of the management device 10 receives the request C1 from the node 20, in step S102, it issues a one-time pass P1.
[0062] If the request C1 is accompanied by a request C3, in step S103 the providing unit 131 registers the node 20 indicated in the request C3 in the target node column 122a of the management table 122 in association with the one-time path P1 (see FIG. 6).
[0063] In step S103, the providing unit 131 reads the IP address of the node 20 from the request C3. Next, the providing unit 131 registers the IP address of the node 20 as information indicating the node 20 in the target node column 122a in association with the one-time path P1.
[0064] When newly registering information indicating a node in the target node column 122a, the providing unit 131 sets the process column 122b corresponding to the node in the management table 122 to "not yet".
[0065] It should be noted that if the providing unit 131 receives the request C1 but does not receive the request C3, the providing unit 131 does not execute step S103.
[0066] In step S104 following step S103, the quality control unit 132 first identifies a target node (in this case, node 20) for which the processing column 122b of the management table 122 is set to "not yet". Then, the quality control unit 132 sets the quality of communication for the identified node to a predetermined quality or higher.
[0067] When "Not yet" is set in the column 122b for the process corresponding to the node 20, the quality control unit 132 operates as follows. The quality control unit 132 sets the quality of communication related to the node 20 to a predetermined quality or higher by causing the communication devices 71-74 to execute priority control and bandwidth control for each of packets indicating the node 20 as the source and packets indicating the node 20 as the destination. Therefore, QoS control is started for the communication related to the node 20. Note that the quality control unit 132 may cause the communication devices 71-74 to execute only either the priority control or the bandwidth control.
[0068] Next, the quality control unit 132 changes the entry in the processing column 122b corresponding to the node for which QoS control has been started from "Not Yet" to "Completed."
[0069] Next, in step S105, the providing unit 131 provides the one-time path P1 to the node 20 that is the transmission source of the request C1. Providing the one-time path P1 to the transmission source of the request C1 means approval of the request C1.
[0070] Upon receiving the one-time path P1, the operation control unit 251 of the node 20 executes a handshake with the node 40 in step S106. In the handshake, the operation control unit 251 of the node 20 transmits the one-time path P1 and an operation request F1 to the node 40. The operation request F1 indicates a request for QoS control to the management device 10.
[0071] Upon receiving the one-time path P1 and the operation request F1, the second request unit 253 of the node 40 transmits a request C2 and the one-time path P1 to the management device 10 in step S107. In this case, the request C2 indicates a request for QoS control for communication related to the node 40. The node 40 is an example of each of a receiving node and a control target node. The request C2 indicates the IP address of the node 40 as information for identifying the node 40. The information for identifying the node 40 is not limited to the IP address of the node 40 and can be changed as appropriate.
[0072] When the quality control unit 132 of the management device 10 receives the one-time path P1 in addition to the request C2, in step S108, it registers the node 40 indicated by the request C2 in the target node column 122a of the management table 122 in association with the one-time path P1 (see FIG. 6).
[0073] In step S108, the quality control unit 132 reads the IP address of the node 40 from the request C2. Next, the quality control unit 132 registers the IP address of the node 40 as information indicating the node 40 in the target node column 122a in association with the one-time path P1.
[0074] When newly registering information indicating a node in the target node column 122a, the quality control unit 132 sets the process column 122b corresponding to the node in the management table 122 to "not yet".
[0075] It should be noted that if the quality control unit 132 receives the request C2 but does not receive the one-time path P1, the quality control unit 132 does not execute step S108.
[0076] In step S109 following step S108, the quality control unit 132 first identifies a target node (node 40 in this case) for which the processing column 122b is set to "not yet". Then, the quality control unit 132 sets the quality of communication for the identified node to a predetermined quality or higher.
[0077] When "Not Yet" is set in the column 122b for the process corresponding to the node 40, the quality control unit 132 operates as follows. The quality control unit 132 sets the quality of communication regarding the node 40 to a predetermined quality or higher by having the communication devices 71-74 execute priority control and bandwidth control for each of packets indicating the node 40 as the source and packets indicating the node 40 as the destination. Note that the quality control unit 132 may execute only either the priority control or the bandwidth control for the communication devices 71-74.
[0078] Next, in step S110, the quality control unit 132 transmits execution information G1 indicating the execution of QoS control to the node 40 which is the source of the request C2.
[0079] Upon receiving the execution information G1, the operation control unit 251 of the node 40 transmits in step S111 start information H1 indicating the start of QoS control for the node 40 to the node 20 as a response to the operation request F1.
[0080] Upon receiving the start information H1, in step S112, the operation control unit 251 of the node 20 executes a handshake with the node 30. In the handshake, the operation control unit 251 of the node 20 transmits a one-time pass P1 and an operation request F1 to the node 30.
[0081] Upon receiving the one-time path P1 and the operation request F1, the second request unit 253 of the node 30 transmits a request C2 and the one-time path P1 to the management device 10 in step S113. In this case, the request C2 indicates a request for QoS control for communication related to the node 30. The node 30 is an example of each of a receiving node and a control target node. In this case, the request C2 indicates the IP address of the node 30 as information for identifying the node 30. The information for identifying the node 30 is not limited to the IP address of the node 30 and can be changed as appropriate.
[0082] When the quality control unit 132 of the management device 10 receives the one-time path P1 in addition to the request C2, in step S114 it registers the IP address of the node 30 indicated by the request C2 in the target node column 122a in association with the one-time path P1.
[0083] Next, when the quality control unit 132 newly registers the IP address of the node 30 in the target node column 122a, it sets the process column 122b corresponding to the node in the management table 122 to "not yet".
[0084] Next, the quality control unit 132 executes step S115. In step S115, the quality control unit 132 first identifies a target node (node 30 in this case) for which the processing column 122b in the management table 122 is set to "not yet". Next, the quality control unit 132 sets the quality of communication related to the identified node to a quality equal to or higher than a predetermined quality. The method of setting the quality of communication related to the identified node to a quality equal to or higher than a predetermined quality is the same as the method of step S109. Note that in step S115, the quality control unit 132 causes the communication devices 71 to 74 to perform priority control and bandwidth control for each of packets indicating node 30 as the source and packets indicating node 30 as the destination.
[0085] Next, in step S116, the quality control unit 132 transmits execution information G1 indicating the execution of QoS control to the node 30 which is the source of the request C2.
[0086] Upon receiving the execution information G1, the operation control unit 251 of the node 30 transmits in step S117 start information H1 indicating the start of QoS control for the node 30 to the node 20 as a response to the operation request F1.
[0087] Steps S112 to S117 may be executed prior to steps S106 to S111. Steps S112 to S117 may be executed in parallel with steps S106 to S111. In this case, the time required for steps S106 to S117 can be reduced compared to a configuration in which steps S112 to S117 and steps S106 to S111 are executed in sequence.
[0088] When the operation control unit 251 of the node 20 receives the start information H1 from the node 40, in step S118, it transmits the transaction data D1 to the node 40. When the step S118 is executed, the QoS control is performed on the communication related to the node 20, so that the time required for the communication of the transaction data D1 is shortened.
[0089] When the verification unit 254 of the node 40 receives the transaction data D1 from the node 20, the verification unit 254 verifies the transaction data D1 in step S119. In the following, it is assumed that the verification result of the transaction data D1 indicates that the transaction data D1 is valid.
[0090] When the operation control unit 251 of the node 20 receives the start information H1 from the node 30, in step S120, it transmits the transaction data D1 to the node 30. When the step S120 is executed, the QoS control is performed on the communication related to the node 20, so that the time required for the communication of the transaction data D1 is shortened.
[0091] When the verification unit 254 of the node 30 receives the transaction data D1 from the node 20, the verification unit 254 verifies the transaction data D1 in step S121. In the following, it is assumed that the verification result of the transaction data D1 indicates that the transaction data D1 is valid.
[0092] Steps S120 to S121 may be executed prior to steps S118 to S119. Steps S120 to S121 may be executed in parallel with steps S118 to S119. In this case, the time required for steps S118 to S121 can be reduced compared to a configuration in which steps S118 to S119 and steps S120 to S121 are executed in sequence.
[0093] Then, steps S122 to S137 are executed. In steps S122 to S137, the same processes as those in steps S106 to S121 are executed by the nodes 40, 50, and 60 and the management device 10. When step S131 is completed, QoS control is implemented for all nodes belonging to group A1.
[0094] When step S136 is completed, the block generation unit 255 of the node 40 starts generating (mining) a block B1 including the transaction data D1 in step S138.
[0095] When step S135 is completed, the block generation unit 255 of the node 50 starts generating (mining) a block B1 including the transaction data D1 in step S139.
[0096] When step S137 is completed, the block generation unit 255 of the node 60 starts generating (mining) a block B1 including the transaction data D1 in step S140.
[0097] When the block generation unit 255 of the node 50 succeeds in generating (mining) the block B1 including the transaction data D1 in step S141, the operation control unit 251 of the node 50 connects the block B1 to the blockchain BC in the storage device 24. Next, the operation control unit 251 of the node 50 transmits the block B1 to the node 40 in step S142. When step S142 is executed, QoS control is implemented for communication related to the node 50, so the time required for communication of the block B1 is shortened.
[0098] When the verification unit 254 of the node 40 receives the block B1, the verification unit 254 verifies the block B1 in step S143. If the verification result of the block B1 indicates that the block B1 is valid, the verification unit 254 of the node 40 connects the block B1 to the blockchain BC in the storage device 24 of the node 40.
[0099] Next, in step S144, the operation control unit 251 of the node 40 transmits the block B1 to the node 60. When step S144 is executed, QoS control is being implemented for communication related to the node 40, so that the time required for communication of the block B1 is shortened.
[0100] When the verification unit 254 of the node 60 receives the block B1, the verification unit 254 verifies the block B1 in step S145. If the verification result of the block B1 indicates that the block B1 is valid, the verification unit 254 of the node 60 connects the block B1 to the blockchain BC in the storage device 24 of the node 60.
[0101] The operation control unit 251 of node 40 transmits block B1 to node 20 in step S146 following step S144. When executing step S146, since QoS control is performed for the communication related to node 40, the time required for the communication of block B1 is shortened. Step S146 may be executed earlier in time than step S144, or may be executed in parallel with step S144.
[0102] When the verification unit 254 of node 20 receives block B1, it verifies block B1 in step S147. If the verification result of block B1 indicates valid, the verification unit 254 of node 20 connects block B1 to the blockchain BC in the storage device 24 of node 20.
[0103] Subsequently, the operation control unit 251 of node 20 transmits block B1 to node 30 in step S148. When executing step S148, since QoS control is performed for the communication related to node 20, the time required for the communication of block B1 is shortened.
[0104] When the verification unit 254 of node 30 receives block B1, it verifies block B1 in step S149. If the verification result of block B1 indicates valid, the verification unit 254 of node 30 connects block B1 to the blockchain BC in the storage device 24 of node 30.
[0105] <A6: Summary of the First Embodiment> According to the first embodiment, when the providing unit 131 receives a request C1 for requesting control of the quality of communication for adding data to the blockchain BC from the first node (for example, node 20), it provides the one-time pass P1 to the first node. When the quality control unit 132 receives the one-time pass P1 from the receiving node that has received the one-time pass P1 in the situation where the one-time pass P1 is communicated within the group A1, in addition to the request C2 for requesting control of the quality of communication related to the control target node, when receiving the one-time pass P1, it sets the quality of communication related to the control target node to a quality equal to or higher than a predetermined quality.
[0106] Therefore, compared with a configuration in which the communication quality for neither the first node nor the plurality of second nodes is set to a quality equal to or higher than a predetermined quality, the delay in the timing at which data is added to the blockchain BC can be reduced. Therefore, it is possible to assist the node in reducing the delay in the timing of adding data to the blockchain BC.
[0107] In addition, QoS control is executed契机 by the generation of the transaction data D1. For this reason, QoS control can be started from the timing when QoS control is required.
[0108] <B: Modification Example> The modes of modification in the above-described embodiment are shown below. Two or more modes arbitrarily selected from the following modes of modification may be appropriately combined within a range where they do not conflict with each other.
[0109] <B1: First Modification Example> In the first embodiment, one node requests the management device 10 to perform QoS control for communication related to one node. However, one node may request the management device 10 to perform QoS control for communication related to each of the plurality of nodes. In the first modification example, one node requests the management device 10 to perform QoS control for communication related to each of the plurality of nodes. Hereinafter, the first modification example will be mainly described with differences from the first embodiment.
[0110] The hardware configuration in the first modification example is the same as the hardware configuration in the first embodiment. FIG. 10 is a diagram for explaining the operation of the first modification example.
[0111] When the input device 21 of the node 20 receives content information indicating the content of a transaction to be newly added to the blockchain BC from the user of the node 20, the operation control unit 251 of the node 20 generates transaction data D1 based on the content information.
[0112] When the operation control unit 251 of the node 20 generates the transaction data D1, the first request unit 252 of the node 20 transmits a request C1 accompanied by a request C4 in addition to the request C3 to the management device 10 in step S201.
[0113] Request C4 indicates a request for QoS control regarding communication related to a connection node connecting to node 20. Communication related to the connection node includes communication of packets indicating the connection node as a source and communication of packets indicating the connection node as a destination.
[0114] A connection node connected to node 20 is a node among a plurality of second nodes (nodes 30, 40, 50, and 60) that connects to node 20 without going through any of the plurality of second nodes. In group A1 shown in FIG. 1, each of nodes 30 and 40 is an example of a connection node connected to node 20.
[0115] The request C4 is an example of a fourth request for requesting control of the quality of communication related to the connection node. The fourth request is a request for controlling the quality of communication related to the connection node. The request C4 indicates the IP address of the connection node as information for identifying the connection node. The information for identifying the connection node is not limited to the IP address of the connection node and can be changed as appropriate.
[0116] When the providing unit 131 of the management device 10 receives the request C1 from the node 20, in step S202, it issues a one-time pass P1.
[0117] When the request C1 is accompanied by requests C3 and C4, the providing unit 131 executes step S203. In step S203, the providing unit 131 registers the node 20 indicated in the request C3 and the connection nodes (nodes 30 and 40) indicated in the request C4 in the target node column 122a of the management table 122 in association with the one-time path P1.
[0118] The providing unit 131 reads the IP address of the node 20 from the request C3. The providing unit 131 registers the IP address of the node 20 in the target node column 122a as information indicating the node 20 in association with the one-time path P1. The providing unit 131 reads the IP addresses of the connection nodes (nodes 30 and 40) from the request C4. The providing unit 131 registers the IP addresses of the connection nodes (nodes 30 and 40) in the target node column 122a as information indicating the connection node in association with the one-time path P1.
[0119] As described above, when newly registering information indicating a node in the target node field 122a, the providing unit 131 sets the process field 122b corresponding to the node in the management table 122 to "not yet".
[0120] Next, in step S204, the quality control unit 132 first identifies target nodes (in this case, each of the nodes 20, 30, and 40) for which the processing column 122b is set to "Not yet". Next, the quality control unit 132 sets the communication quality for the identified node to a quality equal to or higher than a predetermined quality. The method for setting the communication quality for the identified node to a quality equal to or higher than a predetermined quality is the same as in step S104. Next, the quality control unit 132 changes the processing column 122b corresponding to the node for which QoS control has been initiated from "Not yet" to "Completed".
[0121] Next, in step S205, the providing unit 131 provides the one-time pass P1 to the node 20 which is the source of the request C1.
[0122] Upon receiving the one-time pass P1, the operation control unit 251 of the node 20 executes a handshake with the node 40 in step S206. The operation control unit 251 of the node 20 transmits the one-time pass P1 and the transaction data D1 to the node 40 in the handshake.
[0123] When the verification unit 254 of the node 40 receives the transaction data D1 from the node 20, the verification unit 254 verifies the transaction data D1 in step S207. In the following, it is assumed that the verification result of the transaction data D1 indicates that the transaction data D1 is valid.
[0124] Furthermore, upon receiving the one-time pass P1, the operation control unit 251 of the node 20 executes a handshake with the node 30 in step S208. The operation control unit 251 of the node 20 transmits the one-time pass P1 and the transaction data D1 to the node 30 in the handshake.
[0125] When the verification unit 254 of the node 30 receives the transaction data D1 from the node 20, the verification unit 254 verifies the transaction data D1 in step S209. In the following, it is assumed that the verification result of the transaction data D1 indicates that the transaction data D1 is valid.
[0126] Steps S208 to S209 may be executed prior to steps S206 to S207. Steps S208 to S209 may be executed in parallel with steps S206 to S207. In this case, the time required for steps S206 to S209 can be reduced compared to a configuration in which steps S206 to S207 and steps S208 to S209 are executed in sequence.
[0127] If the verification result of the transaction data D1 in step S207 indicates that the transaction data D1 is valid, the second request unit 253 of the node 40 transmits the request C2a and the one-time pass P1 to the management device 10 in step S210.
[0128] Request C2a indicates a request for QoS control of communication regarding a connection node connecting to node 40. The connection node connecting to node 40 is a node different from node 20 that transmitted one-time path P1 to node 40, and is a node among nodes 30, 40, 50, and 60 that connects to node 40 without going through any of the nodes belonging to group A1. Each of nodes 50 and 60 is an example of a connection node connecting to node 40. Node 40 is an example of a receiving node. Each of nodes 50 and 60 is also an example of a controlled node. Request C2a is an example of a second request requesting control of the quality of communication regarding the controlled node.
[0129] The request C2a indicates the IP address of the node to be controlled as information for identifying the node to be controlled (each of the nodes 50 and 60). The information for identifying the node to be controlled is not limited to the IP address of the node to be controlled and can be changed as appropriate.
[0130] When the quality control unit 132 of the management device 10 receives the one-time path P1 in addition to the request C2a, in step S211 it registers the IP addresses of the nodes 50 and 60 indicated by the request C2a in the target node column 122a in association with the one-time path P1.
[0131] In step S211, the quality control unit 132 reads the IP addresses of the nodes 50 and 60 from the request C2a. Next, the quality control unit 132 registers the IP address of the node 50 in the target node column 122a as information indicating the node 50 in association with the one-time path P1. Next, the quality control unit 132 registers the IP address of the node 60 in the target node column 122a as information indicating the node 60 in association with the one-time path P1. The quality control unit 132 may register the IP address of the node 60 before registering the IP address of the node 50.
[0132] It should be noted that if the quality control unit 132 receives the request C2a but does not receive the one-time path P1, the quality control unit 132 does not execute step S211.
[0133] In step S212 following step S211, the quality control unit 132 first identifies target nodes (in this case, each of nodes 50 and 60) for which the processing column 122b is set to "not yet". Subsequently, the quality control unit 132 sets the communication quality regarding the identified nodes to a quality equal to or higher than a predetermined quality. The method of setting the communication quality regarding the identified nodes to a quality equal to or higher than a predetermined quality is the same as in step S109.
[0134] Subsequently, in step S213, the quality control unit 132 transmits the execution information G1 to node 40 which is the source of the request C2a. Hereinafter, steps S134 to S149 described above are executed.
[0135] According to the first modification example, one node can request the management device 10 to manage QoS control regarding the communication with each of a plurality of nodes. Therefore, compared with a configuration in which each node requests the management device 10 for QoS control regarding the communication regarding the node, the communication for which the management device 10 is requested for QoS control can be reduced.
[0136] <B2: Second Modification Example> In the first embodiment, QoS control may not be executed for the communication of the transaction data D1.
[0137] In the first embodiment, a modification example in which QoS control is not executed for the communication of the transaction data D1 and QoS control is executed for the communication of the block B1 including the transaction data D1 will be described as the second modification example. Hereinafter, the second modification example will be described centering on the points different from the first embodiment.
[0138] The hardware configuration in the second modification example is the same as the hardware configuration in the first embodiment. FIGS. 11 and 12 are diagrams for explaining the operation of the second modification example.
[0139] In the second modified example, first, the above-mentioned steps S118 to S121 and S134 to S141 are executed. Then, the QoS control is started from the node 50 that succeeded in generating (mining) the block B1. In this case, the node 50 is an example of a first node, and the nodes 20, 30, 40, and 60 are examples of a plurality of second nodes.
[0140] In step S301 following step S141, the first request unit 252 of the node 50 transmits a request C1 accompanied by a request C3 to the management device 10. In this case, the request C3 indicates a request for QoS control for communication related to the node 50. The request C3 indicates the IP address of the node 50 as information for identifying the node 50. The information for identifying the node 50 is not limited to the IP address of the node 50 and can be changed as appropriate.
[0141] When the providing unit 131 of the management device 10 receives the request C1 from the node 50, in step S302, it issues a one-time pass P1.
[0142] If the request C1 is accompanied by a request C3, the providing unit 131 in step S303 registers the node 50 (the IP address of the node 50) indicated in the request C3 in the target node column 122a of the management table 122 in association with the one-time path P1.
[0143] As described above, when newly registering information indicating a node in the target node field 122a, the providing unit 131 sets the process field 122b corresponding to the node in the management table 122 to "not yet".
[0144] Next, in step S304, the quality control unit 132 first identifies a target node (node 50 in this case) for which the processing column 122b is set to "not yet". Next, the quality control unit 132 sets the communication quality for the identified node to a quality equal to or higher than a predetermined quality. The method of setting the communication quality for the identified node to a quality equal to or higher than a predetermined quality is the same as the method of step S109.
[0145] Next, in step S305, the providing unit 131 provides the one-time pass P1 to the node 50 which is the source of the request C1.
[0146] Upon receiving the one-time path P1, the operation control unit 251 of the node 50 transmits the one-time path P1 and an operation request F1 to the node 40 in step S306. The operation request F1 indicates that the management device 10 is to be requested to perform QoS control.
[0147] Upon receiving the one-time path P1 and the operation request F1, the second request unit 253 of the node 40 transmits a request C2 and the one-time path P1 to the management device 10 in step S307. In this case, the request C2 indicates a request for QoS control for communication related to the node 40. The request C2 indicates the IP address of the node 40 as information for identifying the node 40. The information for identifying the node 40 is not limited to the IP address of the node 40 and can be changed as appropriate.
[0148] When the quality control unit 132 of the management device 10 receives the one-time path P1 in addition to the request C2, in step S308, it registers the IP address of the node 40 indicated by the request C2 in the target node column 122a in association with the one-time path P1.
[0149] When newly registering information indicating a node in the target node column 122a, the quality control unit 132 sets the process column 122b corresponding to the node in the management table 122 to "not yet".
[0150] It should be noted that if the quality control unit 132 receives the request C2 but does not receive the one-time path P1, the quality control unit 132 does not execute step S308.
[0151] In step S309 following step S308, the quality control unit 132 first identifies a target node (node 40 in this case) for which the processing column 122b is set to "not yet". Next, the quality control unit 132 sets the communication quality for the identified node to a quality equal to or higher than a predetermined quality. The method of setting the communication quality for the identified node to a quality equal to or higher than the predetermined quality is the same as in step S109.
[0152] Next, in step S310, the quality control unit 132 transmits execution information G1 indicating the execution of QoS control to the node 40 which is the source of the request C2.
[0153] Upon receiving the execution information G1, the operation control unit 251 of the node 40 transmits, in step S311, start information H1 indicating the start of QoS control for the node 40 as a response to the operation request F1 to the node 50. Then, the above-mentioned steps S142 to S143 and S128 to S133 are executed.
[0154] Subsequently, in step S312, the operation control unit 251 of the node 40 transmits the one-time path P1 and the operation request F1 to the node 20.
[0155] Upon receiving the one-time path P1 and the operation request F1, the second request unit 253 of the node 20 transmits a request C2 and the one-time path P1 to the management device 10 in step S313. In this case, the request C2 indicates a request for QoS control for communication related to the node 20. The request C2 indicates the IP address of the node 20 as information for identifying the node 20. The information for identifying the node 20 is not limited to the IP address of the node 20 and can be changed as appropriate.
[0156] When the quality control unit 132 of the management device 10 receives the one-time path P1 in addition to the request C2, in step S314 it registers the IP address of the node 20 indicated by the request C2 in the target node column 122a in association with the one-time path P1.
[0157] When newly registering information indicating a node in the target node column 122a, the quality control unit 132 sets the process column 122b corresponding to the node in the management table 122 to "not yet".
[0158] It should be noted that if the quality control unit 132 receives the request C2 but does not receive the one-time path P1, the quality control unit 132 does not execute step S314.
[0159] In step S315 following step S314, the quality control unit 132 first identifies a target node (node 20 in this case) for which the processing column 122b is set to "not yet". Next, the quality control unit 132 sets the communication quality for the identified node to a quality equal to or higher than a predetermined quality. The method of setting the communication quality for the identified node to a quality equal to or higher than a predetermined quality is the same as in step S109.
[0160] Next, in step S316, the quality control unit 132 transmits execution information G1 indicating the execution of QoS control to the node 20 which is the source of the request C2.
[0161] Upon receiving the execution information G1, the operation control unit 251 of the node 20 transmits start information H1 indicating the start of QoS control for the node 20 as a response to the operation request F1 to the node 40 in step S317. Then, the above-mentioned steps S144 to S147, S112 to S117, and S148 to S149 are executed.
[0162] If the delay in communication of block B1 is small, the block B1 is more likely to arrive at each node before other blocks B1. If the block B1 arrives at each node before other blocks B1, the block B1 is more likely to be connected to the blockchain BC. Therefore, a small delay in communication of block B1 is desirable not only for users who expect early confirmation of transaction data D1, but also for miner nodes that generate block B1.
[0163] According to the second modification example, QoS control is not performed for the communication of the transaction data D1, but QoS control is performed for the communication of the block B1 including the transaction data D1. Therefore, the delay can be reduced in the communication of the block B1. Thus, compared with the configuration in which QoS control is not performed for either the communication of the transaction data D1 or the communication of the block B1 including the transaction data D1, the early determination of the transaction data D1 becomes possible, and the probability that the block B1 is connected to the blockchain BC can be increased.
[0164] <B3: Third Modification Example> In the first modification example, QoS control may not be performed for the communication of the transaction data D1.
[0165] In the first modification example, a modification example in which QoS control is not performed for the communication of the transaction data D1 and QoS control is performed for the communication of the block B1 including the transaction data D1 will be described as the third modification example. Hereinafter, the second modification example will be described centering on the points different from the first modification example.
[0166] The hardware configuration in the third modification example is the same as the hardware configuration in the first embodiment. FIGS. 13 and 14 are diagrams for explaining the operation of the third modification example.
[0167] In the third modification example, first, the above-described steps S118 to S121 and S134 to S141 are executed. Subsequently, starting from the node 50 that has succeeded in generating (mining) the block B1, QoS control is started in the same manner as in the first modification example. In this case, the node 50 becomes an example of the first node, and the nodes 20, 30, 40, and 60 become examples of a plurality of second nodes.
[0168] In step S401 following step S141, the first request unit 252 of the node 50 transmits a request C1 including a request C4 in addition to the request C3 to the management device 10.
[0169] In this case, the request C4 indicates a request for QoS control regarding the communication with the connection node connected to the node 50.
[0170] A connection node connected to node 50 is a node, among a plurality of second nodes (nodes 30, 40, 50, and 60), that connects to node 50 without going through any of the plurality of second nodes. In group A1 shown in FIG. 1, node 40 is an example of a connection node connected to node 50.
[0171] When the providing unit 131 of the management device 10 receives the request C1 from the node 50, in step S402, it issues a one-time pass P1.
[0172] When the request C1 is accompanied by requests C3 and C4, the providing unit 131 executes step S403. In step S403, the providing unit 131 registers the IP address of the node 50 indicated by the request C3 and the IP address of the connection node (node 40) indicated by the request C4 in the target node column 122a of the management table 122 in association with the one-time path P1.
[0173] As described above, when newly registering information indicating a node in the target node field 122a, the providing unit 131 sets the process field 122b corresponding to the node in the management table 122 to "not yet".
[0174] Next, in step S404, the quality control unit 132 first identifies target nodes (in this case, each of nodes 40 and 50) for which the processing column 122b is set to "Not yet". Next, the quality control unit 132 sets the communication quality for the identified node to a quality equal to or higher than a predetermined quality. The method for setting the communication quality for the identified node to a quality equal to or higher than a predetermined quality is the same as in step S104. Next, the quality control unit 132 changes the processing column 122b corresponding to the node for which QoS control has been initiated from "Not yet" to "Completed".
[0175] Next, in step S405, the providing unit 131 provides the one-time pass P1 to the node 50 which is the source of the request C1.
[0176] Upon receiving the one-time path P1, the operation control unit 251 of the node 50 transmits the one-time path P1 and the block B1 generated in step S141 to the node 40 in step S406.
[0177] When the verification unit 254 of the node 40 receives the block B1, the verification unit 254 verifies the block B1 in step S407. If the verification result of the block B1 indicates that the block B1 is valid, the verification unit 254 of the node 40 connects the block B1 to the blockchain BC in the storage device 24 of the node 40.
[0178] Next, the second request unit 253 of the node 40 transmits the request C2a and the one-time pass P1 to the management device 10 in step S408.
[0179] In this case, the request C2a indicates a request for QoS control for communication regarding a connection node connected to the node 40. The connection node connected to the node 40 is a node different from the node 50 that has transmitted the one-time path P1 to the node 40, and is a node among the nodes 20, 30, 40, and 60 that connects to the node 40 without going through any of the nodes belonging to the group A1. In this case, each of the nodes 20 and 60 is an example of a connection node connected to the node 40. Each of the nodes 20 and 60 is also an example of a node to be controlled. The request C2a indicates the IP address of the node to be controlled as information for identifying the node to be controlled (each of the nodes 20 and 60). The information for identifying the node to be controlled is not limited to the IP address of the node to be controlled and can be changed as appropriate.
[0180] When the quality control unit 132 of the management device 10 receives the one-time path P1 in addition to the request C2a, in step S409, it registers the IP addresses of the nodes 20 and 60 indicated by the request C2a in the target node column 122a in association with the one-time path P1.
[0181] It should be noted that if the quality control unit 132 receives the request C2a but does not receive the one-time path P1, it does not execute step S409.
[0182] In step S410 following step S409, the quality control unit 132 first identifies target nodes (in this case, each of the nodes 20 and 60) for which the processing column 122b is set to "not yet". Then, the quality control unit 132 sets the communication quality for the identified node to a quality equal to or higher than a predetermined quality. The method of setting the communication quality for the identified node to a quality equal to or higher than a predetermined quality is the same as the method of step S109.
[0183] Next, in step S411, the quality control unit 132 transmits the execution information G1 to the node 40 which is the transmission source of the request C2a.
[0184] Upon receiving the execution information G1, the operation control unit 251 of the node 40 transmits the one-time path P1 and the block B1 to the node 60 in step S412.
[0185] When the verification unit 254 of the node 60 receives the block B1, the verification unit 254 verifies the block B1 in step S413. If the verification result of the block B1 indicates that the block B1 is valid, the verification unit 254 of the node 60 connects the block B1 to the blockchain BC in the storage device 24 of the node 60.
[0186] Furthermore, in step S414, the operation control unit 251 of the node 40 transmits the one-time path P1 and the block B1 to the node 20. Note that step S414 may be executed before step S412.
[0187] When the verification unit 254 of the node 20 receives the block B1, the verification unit 254 verifies the block B1 in step S415. If the verification result of the block B1 indicates that the block B1 is valid, the verification unit 254 of the node 20 connects the block B1 to the blockchain BC in the storage device 24 of the node 20.
[0188] Subsequently, in step S416, the second request unit 253 of the node 20 transmits the request C2a and the one-time pass P1 to the management device 10.
[0189] In this case, the request C2a indicates a request for QoS control for communication regarding a connection node connecting to the node 20. The connection node connecting to the node 20 is a node different from the node 40 that transmitted the one-time path P1 to the node 20, and is a node among the nodes 20, 30, 40, and 60 that connects to the node 20 without going through any of the nodes belonging to the group A1. In this case, the node 30 is an example of a connection node connecting to the node 20. The node 30 is also an example of a node to be controlled. The request C2a indicates the IP address of the node to be controlled (node 30) as information for identifying the node to be controlled. The information for identifying the node to be controlled is not limited to the IP address of the node to be controlled and can be changed as appropriate.
[0190] When the quality control unit 132 of the management device 10 receives the one-time path P1 in addition to the request C2a, in step S417, it registers the IP address of the node 30 indicated by the request C2a in the target node column 122a in association with the one-time path P1.
[0191] It should be noted that if the quality control unit 132 receives the request C2a but does not receive the one-time path P1, the quality control unit 132 does not execute step S417.
[0192] In step S418 following step S417, the quality control unit 132 first identifies a target node (node 30 in this case) for which the processing column 122b is set to "not yet". Then, the quality control unit 132 sets the communication quality for the identified node to a quality equal to or higher than a predetermined quality. The method of setting the communication quality for the identified node to a quality equal to or higher than a predetermined quality is the same as the method of step S109.
[0193] Subsequently, in step S419, the quality control unit 132 transmits the execution information G1 to the node 20 which is the transmission source of the request C2a.
[0194] When the operation control unit 251 of node 20 receives the execution information G1, in step S420, it transmits the one-time path P1 and the block B1 to node 30.
[0195] When the verification unit 254 of node 30 receives the block B1, it verifies the block B1 in step S421. When the verification result of the block B1 indicates validity, the verification unit 254 of node 30 connects the block B1 to the blockchain BC in the storage device 24 of node 30.
[0196] According to the third modification example, one miner node can request the management device 10 to perform QoS control for the communication regarding each of a plurality of nodes. Therefore, compared with the configuration in which each node requests the management device 10 to perform QoS control for the communication regarding the node, the communication for which the management device 10 is requested to perform QoS control can be reduced. Further, QoS control is not executed for the communication of the transaction data D1, and QoS control is executed for the communication of the block B1 including the transaction data D1. Therefore, the delay can be reduced in the communication of the block B1.
[0197] <B4: Fourth Modification Example> In the first embodiment and the second modification example, the quality control unit 132 may determine the authenticity of the transmission source of the request C2.
[0198] The quality control unit 132 receives a destination list indicating the node to which the one-time path P1 is transmitted from the node (for example, node 20) that transmits the one-time path P1 among the nodes in group A1. The destination list is an example of node information indicating the node to which predetermined information is transmitted. When the node that is the transmission source of the request C2 and the one-time path P1 matches the node indicated in the destination list, the quality control unit 132 determines that, in addition to the request C2, the one-time path P1 has been received from the receiving node that received the one-time path P1 from the node that transmits the one-time path P1. When the node that is the transmission source of the request C2 and the one-time path P1 does not match the node indicated in the destination list, the quality control unit 132 determines that the request C2 is invalid.
[0199] For example, the quality control unit 132 receives a destination list indicating the destination nodes (nodes 30 and 40) of the one-time path P1 from the node 20 that has transmitted the one-time path P1 to each of the nodes 30 and 40. When the source of the request C2 and the one-time path P1 is shown in the destination list, the quality control unit 132 determines that the request C2 and the one-time path P1 have been received from the receiving node (node 30 or 40) that has received the one-time path P1 from the node 20. When the source of the request C2 and the one-time path P1 is not shown in the destination list, the quality control unit 132 determines that the request C2 is invalid.
[0200] In addition, in the first modification example and the third modification example, a request C2a may be used instead of the request C2. For example, the quality control unit 132 receives a destination list indicating the destination nodes of the one-time path P1 from the node (for example, node 20) that transmits the one-time path P1 among the nodes in the group A1. When the source of the request C2a and the one-time path P1 is shown in the destination list, the quality control unit 132 determines that, in addition to the request C2a, the one-time path P1 has been received from the receiving node that has received the one-time path P1 from the node that transmits the one-time path P1. When the source of the request C2a and the one-time path P1 is not shown in the destination list, the quality control unit 132 determines that the request C2a is invalid.
[0201] According to the fourth modification example, for example, each of the requests C2 and C2a from a node that has obtained the one-time path P1 via an improper route can be invalidated.
[0202] <B5: Fifth Modification Example> In the first embodiment and the first to fourth modification examples, the quality control unit 132 may return the communication quality set to a quality equal to or higher than a predetermined quality to the communication quality before being set to a quality equal to or higher than the predetermined quality.
[0203] The request C1 requests control of the quality of communication related to the transaction data D1 in the group A1. That is, the request C1 is a request for controlling the quality of communication related to the transaction data D1 in the group A1. The transaction data D1 indicates one of a plurality of second nodes as a trading partner node (see FIG. 9). In response to a notification indicating that the trading partner node (trading node) has received the block B1 including the transaction data D1, the quality control unit 132 returns the quality of communication related to the transaction data D1 in the group A1 that is equal to or higher than a predetermined quality to the quality before it was set to the predetermined quality or higher.
[0204] For example, when node 30, which is indicated as a trading partner node in transaction data D1, receives block B1 including transaction data D1, operation control unit 251 of node 30 transmits notification N1 to management device 10. Notification N1 indicates that the trading partner node has received block B1 including transaction data D1.
[0205] In response to the notification N1, the quality control unit 132 of the management device 10 returns the communication quality, which was set to a quality equal to or higher than the predetermined quality, to the communication quality before it was set to the quality equal to or higher than the predetermined quality. For example, the quality control unit 132 deletes the information registered in the management table 122 (the one-time path P1 and the IP address of the node) and the information set in the management table 122 ("Not yet" and "Completed") in response to receiving the notification N1. The quality control unit 132 then executes control of the communication quality using the management table 122 (for example, the control method of step S104). In this case, the communication devices 71 to 74 return to a state before being controlled by the quality control unit 132 (for example, a predetermined state).
[0206] As an example, when a predetermined time (e.g., two minutes) has elapsed since receiving the notification N1, the quality control unit 132 returns the communication quality that was set to a quality equal to or higher than the predetermined quality to the communication quality before it was set to the quality equal to or higher than the predetermined quality. The predetermined time is not limited to two minutes, and may be longer or shorter than two minutes. It is desirable that the predetermined time is longer than the time it takes for a new block B1 to arrive at all nodes in the group A1.
[0207] According to the fifth modification example, it is possible to suppress the communication quality in group A1 from becoming high-quality for a time longer than necessary.
[0208] <B6: Sixth Modification Example> In the first embodiment and the first to fifth modification examples, the quality control unit 132 may perform QoS control on some of the plurality of nodes belonging to group A1, rather than all of them. For example, the quality control unit 132 may perform QoS control only on nodes different from node 40 among nodes 20, 30, 40, 50, and 60. For example, when the request C4 is omitted in step S201 of the first modification example shown in FIG. 10, the quality control unit 132 performs QoS control only on nodes different from node 40 among nodes 20, 30, 40, 50, and 60.
[0209] According to the sixth modification example, compared with a configuration in which QoS control is not performed on all of the plurality of nodes belonging to group A1, it is possible to reduce the delay in the timing at which data is added to the blockchain BC.
[0210] <C: Others> (1) In each of the first embodiment and the first to sixth modification examples, the storage devices 12 and 24 may include a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray (registered trademark) disk), a smart card, a flash memory device (e.g., a card, a stick, a key drive), a CD-ROM (Compact Disc-ROM), a register, a removable disk, a hard disk, a floppy (registered trademark) disk, a magnetic strip, a database, a server, and other appropriate storage media. Further, the program may be transmitted from a network via a telecommunication line.
[0211] (2) Each of the first embodiment and the first to sixth variants may be applied to a system using LTE (Long Term Evolution), LTE-A (LTE-Advanced), SUPER 3G, IMT-Advanced, 4G, 5G, FRA (Future Radio Access), W-CDMA (registered trademark), GSM (registered trademark), CDMA2000, UMB (Ultra Mobile Broadband), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, UWB (Ultra-Wide Band), Bluetooth (registered trademark), or other appropriate system, and / or a next-generation system extended based on these.
[0212] (3) The information and the like described in the first embodiment and each of the first to sixth modifications may be represented using any of a variety of different technologies. For example, data, information, and the like that may be referred to throughout the above description may be represented by voltage, current, electromagnetic waves, magnetic fields, magnetic particles, optical fields, photons, or any combination thereof. In addition, terms explained in this specification and / or terms necessary for understanding this specification may be replaced with terms having the same or similar meanings.
[0213] (4) In each of the first embodiment and the first to sixth modifications, the input and output information, etc. may be stored in a specific location (for example, a memory) or managed by a table. The input and output information, etc. may be overwritten, updated, or added. The output information, etc. may be deleted. The input information, etc. may be transmitted to another device.
[0214] (5) In each of the first embodiment and the first to sixth variants, the determination may be made based on a value represented by one bit (0 or 1), a Boolean value (true or false), or a comparison of numerical values (e.g., a comparison with a predetermined value).
[0215] (6) The order of the process procedures, sequences, or flow charts illustrated in the first embodiment and the first to sixth modifications may be changed as long as there is no inconsistency. For example, the methods described herein present elements of various steps in an exemplary order, and are not limited to the particular order presented.
[0216] (7) Each function illustrated in Figure 4 or Figure 5 may be realized by any combination of hardware and software. Furthermore, each function may be realized by a single device, or may be realized by two or more devices configured separately from each other.
[0217] (8) The programs exemplified in the first embodiment and each of the first to sixth variants should be broadly interpreted to mean instructions, instruction sets, code, code segments, program code, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures, functions, etc., regardless of whether they are called software, firmware, middleware, microcode, hardware description language, or by any other name. Software, instructions, etc. may also be transmitted or received over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using wired technologies, such as coaxial cable, fiber optic cable, twisted pair, and Digital Subscriber Line (DSL), and / or wireless technologies, such as infrared, radio, and microwave, these wired and / or wireless technologies are included within the definition of transmission media.
[0218] (9) In each of the first embodiment and the first to sixth modifications, the terms "system" and "network" are used interchangeably.
[0219] (10) In each of the first embodiment and the first to sixth modifications, at least one of the nodes 20, 30, 40, 50, and 60 may be a mobile station. A mobile station may also be referred to by those skilled in the art as a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communication device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or some other appropriate terminology.
[0220] (11) In each of the first embodiment and the first to sixth modified examples, the term "based on" does not mean "based only on," unless otherwise specified. In other words, the term "based on" means both "based only on" and "based at least on."
[0221] (12) As used herein, any reference to an element using designations such as "first" and "second" does not generally limit the quantity or order of those elements. These designations may be used herein as a convenient method of distinguishing between two or more elements. Thus, a reference to a first and a second element does not imply that only two elements may be employed or that the first element must precede the second element in some way.
[0222] (13) In the first embodiment and each of the first to sixth modifications, to the extent that the terms "including," "comprising," and variations thereof are used in this specification or claims, these terms are intended to be inclusive, similar to the term "comprises." Furthermore, the term "or" used in this specification or claims is not intended to be an exclusive logical OR.
[0223] Throughout this application, when articles are added by translation, such as a, an, and the in English, these articles include the plural unless the context clearly indicates otherwise.
[0224] (15) As used herein, the term "device" may be construed as other terms such as a circuit, a device, or a unit.
[0225] (16) It will be apparent to those skilled in the art that the present invention is not limited to the embodiments described in this specification. The present invention can be implemented in modified and changed forms without departing from the spirit and scope of the present invention as defined by the claims. Therefore, the description in this specification is for illustrative purposes only and has no restrictive meaning for the present invention. Also, a plurality of aspects selected from the aspects illustrated in this specification may be combined.
[0226] <D: Aspects understood from the above-described forms or modifications> The following aspects are understood from at least one of the above-described forms or modifications.
[0227] <D1: First aspect> The management device according to the first aspect includes a providing unit and a quality control unit. When the providing unit receives, from the first node, a first request for controlling the quality of communication within a group composed of the first node that shares a blockchain and a plurality of second nodes and executes communication for adding additional data to the blockchain, the providing unit provides the first node with first information corresponding to the first request. When the quality control unit receives the first information in a situation where the first information is communicated within the group, in addition to a second request for controlling the quality of communication regarding a control target node that is any one of the plurality of second nodes, from the receiving node that has received the first information among the plurality of second nodes, the quality control unit sets the quality of communication regarding the control target node to a quality equal to or higher than a first quality. According to this aspect, the quality of communication regarding the control target node can be set to a quality equal to or higher than the first quality. Therefore, compared to a configuration in which the quality of communication of neither the first node nor the plurality of second nodes is set to a quality equal to or higher than the first quality, the delay in the timing at which additional data is added to the blockchain can be reduced. Thus, the nodes can be assisted in order to reduce the delay in the timing at which additional data is added to the blockchain.
[0228] <D2: Second Aspect> In an example of the first aspect (second aspect), when the first request is accompanied by a third request for controlling the quality of communication regarding the first node, the quality control unit sets the quality of communication regarding the first node to a quality equal to or higher than the first quality. According to this aspect, the quality of communication regarding the first node can be set to a quality equal to or higher than the first quality. Therefore, compared to a configuration in which the quality of communication of neither the first node nor the plurality of second nodes is set to a quality equal to or higher than the first quality, the delay in the timing at which additional data is added to the blockchain can be reduced.
[0229] <D3: Third Aspect> In an example of the first aspect or the second aspect (third aspect), the control target node is the receiving node. According to this aspect, communication related to the receiving node can be set to a quality equal to or higher than the first quality. Therefore, compared with a configuration in which the quality of communication of neither the first node nor the plurality of second nodes is set to a quality equal to or higher than the first quality, the delay in the timing at which additional data is added to the blockchain can be reduced.
[0230] <D4: Fourth Aspect> In an example of the first aspect (fourth aspect), when the first request involves both a third request for controlling the quality of communication related to the first node and a fourth request for controlling the quality of communication related to a connection node connected to the first node, the quality control unit sets both the quality of communication related to the first node and the quality of communication related to the connection node to a quality equal to or higher than the first quality. The connection node is a node that connects to the first node without passing through any of the plurality of second nodes among the plurality of second nodes. According to this aspect, communication related to the connection node can be set to a quality equal to or higher than the first quality. Therefore, compared with a configuration in which the quality of communication of neither the first node nor the plurality of second nodes is set to a quality equal to or higher than the first quality, the delay in the timing at which additional data is added to the blockchain can be reduced.
[0231] <D5: Fifth Aspect> In an example of the first aspect, the second aspect, or the fourth aspect (fifth aspect), the control target node is a node different from the node that transmitted the first information to the receiving node, and is a node that connects to the receiving node without passing through any of the nodes belonging to the group among the plurality of second nodes. According to this aspect, communication related to a node that is different from the node that transmitted the first information to the receiving node and that connects to the receiving node without passing through any of the nodes belonging to the group among the plurality of second nodes can be set to a quality equal to or higher than the first quality. Therefore, compared with a configuration in which the quality of communication of neither the first node nor the plurality of second nodes is set to a quality equal to or higher than the first quality, the delay in the timing at which additional data is added to the blockchain can be reduced.
[0232] <D6: Sixth Aspect> In any example of the first to fifth aspects (sixth aspect), the first node generates data to be included in a block to be connected to the blockchain. According to this aspect, in response to the generation of the data to be included in the block to be connected to the blockchain, the first request can be provided to the providing unit.
[0233] <D7: Seventh Aspect> In any example of the first to fifth aspects (seventh aspect), the first node generates a block to be connected to the blockchain. According to this aspect, in response to the generation of the block to be connected to the blockchain, the first request can be provided to the providing unit.
[0234] <D8: Eighth Aspect> In any example of the first to seventh aspects (eighth aspect), the quality control unit receives node information indicating the node to which the first information is transmitted from the node that transmits the first information among the nodes in the group. When the node that transmits the second request and the first information to the management device matches the node indicated by the node information, the quality control unit determines that the first information has been received from the receiving node in addition to the second request. When the node that transmits the second request and the first information to the management device does not match the node indicated by the node information, the quality control unit determines that the second request is invalid. According to this aspect, the second request from a node that obtains the first information through an improper route can be invalidated.
[0235] <D9: Ninth Aspect> In an example of any one of the first to eighth aspects (ninth aspect), the additional data is transaction data communicated within the group, and the first request is a request for controlling the quality of communication related to the transaction data. The transaction data indicates any one of the plurality of second nodes as a transaction node. In response to a notification indicating that the transaction node has received a block including the transaction data, the quality control unit returns the quality of the communication to a quality before setting the quality to be equal to or higher than the first quality. According to this aspect, it is possible to suppress the quality of communication in the group from becoming high-quality for a longer time than necessary.
[0236] <D10: Tenth Aspect> In an example of the ninth aspect (tenth aspect), when a first period of time has elapsed since the reception of the notification, the quality control unit returns the quality of the communication to a quality before setting the quality to be equal to or higher than the first quality. According to this aspect, it is possible to increase the possibility of maintaining the quality of communication in the group at a quality equal to or higher than the first quality until the block reaches all the nodes in the group.
Explanation of Reference Numerals
[0237] 1... Network system, 10... Management device, 11... Communication device, 12... Storage device, 13... Processing device, 131... Providing unit, 132... Quality control unit, 20... Node, 21... Input device, 22... Output device, 23... Communication device, 24... Storage device, 25... Processing device, 251... Operation control unit, 252... First request unit, 253... Second request unit, 254... Verification unit, 255... Block generation unit, 30... Node, 40... Node, 50... Node, 60... Node, 71 to 74... Communication devices.
Claims
1. a provider that, when receiving a first request from a first node to control the quality of communication within a group formed of a first node and a plurality of second nodes that both have a blockchain and execute communication to add additional data to the blockchain, provides the first node with first information corresponding to the first request; a quality control unit that sets a quality of communication regarding a control target node, which is any one of the plurality of second nodes, to a first quality or higher when the first information is received from a receiving node that has received the first information among the plurality of second nodes in addition to a second request for controlling a quality of communication regarding the control target node, which is any one of the plurality of second nodes, in a situation in which the first information is communicated within the group; A management device including:
2. the quality control unit, when the first request is accompanied by a third request for controlling a quality of communication regarding the first node, sets the quality of communication regarding the first node to a quality equal to or higher than the first quality; The management device according to claim 1 .
3. The control target node is the receiving node. The management device according to claim 1 or 2.
4. The quality control unit includes: The first request, a third request for controlling a quality of communication with respect to the first node; and a fourth request for controlling quality of communication regarding a connection node connecting to the first node; and If both are involved, A quality of communication with respect to the first node; and a quality of communication with respect to said access node; and setting both of the first and second quality levels to a quality equal to or higher than the first quality level; the connecting node is a node among the plurality of second nodes that is connected to the first node without going through any of the plurality of second nodes; The management device according to claim 1 .
5. the control target node is a node different from the node that transmitted the first information to the receiving node, and is a node that is connected to the receiving node without going through any of the nodes belonging to the group among the plurality of second nodes; 5. The management device according to claim 1, 2 or 4.
6. The first node generates data to be included in a block to be attached to the blockchain. The management device according to claim 1 .
7. The first node generates a block to be inserted into the blockchain. The management device according to claim 1 .
8. The quality control unit includes: receiving node information indicating a node to which the first information is to be transmitted from a node transmitting the first information among the nodes in the group; If the node that transmitted the second request and the first information to the management device matches the node indicated in the node information, it is determined that the first information has been received in addition to the second request from the receiving node; determining that the second request is invalid if the node that has transmitted the second request and the first information to the management device does not match the node indicated in the node information; The management device according to claim 1 .
9. the additional data being transaction data communicated within the group; the first request is a request to control quality of communication related to the transaction data; The transaction data indicates any one of the plurality of second nodes as a transaction node; the quality control unit, in response to a notification indicating that the transaction node has received a block including the transaction data, returns the quality of the communication to a quality before the quality was set to the first quality or higher; The management device according to any one of claims 1 to 8.
10. the quality control unit, when a first time has elapsed since receipt of the notification, returns the quality of the communication to a quality before being set to the first quality or higher; The management device according to claim 9.
Citation Information
Patent Citations
Management apparatus, mobile communication system, program, and management method
JP2019213161A
Resource management system, management device, method, and program
WO2018220709A1
Systems and methods of propagating data packets in a network of nodes
WO2019224643A1
Data processing method and apparatus for blockchain, and device and medium
WO2020057158A1