Management device
The management device enhances blockchain communication quality to reduce delays in data addition, ensuring timely transaction finalization through priority and bandwidth controls.
Patent Information
- Application Number
- JP2022565186
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-11-25
- Filing Date
- 2021-11-05
- Publication Date
- 2025-11-27
- Estimated Expiration
- 2041-11-05
AI Technical Summary
Communication delays in adding additional data to a blockchain can cause timing issues, leading to delayed finalization of transactions.
A management device that provides quality control for communication within a group of nodes by ensuring communication quality meets a predetermined standard, using priority and bandwidth controls to expedite the addition of data to the blockchain.
Reduces delays in adding data to the blockchain, thereby accelerating the finalization of transactions by maintaining high communication quality.
Smart Images

Figure 0007777084000001 
Figure 0007777084000002 
Figure 0007777084000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a management device. [Background technology]
[0002] Systems using blockchains are known (see, for example, Patent Document 1). A blockchain is a database of data such as transaction data. The blockchain includes multiple blocks connected in series. Each block includes data such as transaction data. The blockchain is shared by multiple 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] Japanese Patent Application Publication No. 2019-213161 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. Therefore, technology to support nodes in reducing 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 the blockchain. [Means for solving the problem]
[0006] A management device according to one embodiment of the present invention includes: a provider that, when receiving a control request from a first node to control 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, provides first information corresponding to the control request to the first node; and a quality control unit that sets the communication quality of the first communication data to a quality equal to or higher than a first quality when the first communication data is communicated within the group after the first node generates first communication data having the first information. [Effects of the Invention]
[0007] According to one aspect of the present invention, nodes can be assisted to reduce delays in adding data to the blockchain. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 illustrates a network system 1. [Figure 2] FIG. 1 is a diagram illustrating an example of a blockchain BC. [Figure 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. [Figure 5] FIG. 1 illustrates an example of a management device 10. [Figure 6] FIG. 10 is a diagram illustrating 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. 10 is a diagram showing an example of transaction data D1. [Figure 9] FIG. 10 is a diagram illustrating an example of a method for generating a plurality of packets M1a. [Figure 10] FIG. 10 is a diagram illustrating an example of a method for generating a plurality of packets M2a. [Figure 11] FIG. 10 is a diagram for explaining the operation of the first modified example.
Mode for Carrying Out 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 that do not belong 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] FIG. 2 is a diagram showing an example of blockchain BC. Blockchain BC includes a plurality of blocks B1 connected in series. Each block B1 includes block-related data Q1 and target data T1.
[0014] Block-related data Q1 is based on the data included in the immediately preceding block B1. Block-related data Q1 is, for example, a hash value based on the data included in the immediately preceding block B1. Block-related data Q1 contributes to the resistance of the data in blockchain BC to falsification.
[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 called 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 personal property transactions, or data related to information transactions. The transaction data D1 is also called a transaction. The target data T1 is not limited to transaction data D1, but may also be, for example, data related to the exchange of information such as contracts. 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 below 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 different from 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 plurality of nodes 20, 30, 40, 50, and 60. The minor node aggregates a plurality of transaction data D1 into one block B1.
[0019] Block B1 is propagated from the minor node that generated block B1 to a node different from the node that generated block B1 among the plurality of nodes 20, 30, 40, 50, and 60. Upon receiving block B1, each of the plurality of nodes 20, 30, 40, 50, and 60 verifies block B1.
[0020] If the verification result of block B1 indicates validity, each of the multiple nodes 20, 30, 40, 50, and 60 adds block B1 to the existing blockchain BC. Adding block B1 to the existing blockchain BC means connecting block B1 to the existing blockchain BC. Each of block B1, target data T1, and 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 performs communication to add transaction data D1 to the blockchain BC. Hereinafter, "communication to add transaction data D1 to the blockchain BC" will also be 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 containing 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 considered 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 shortens the delay in the timing at which the transaction data D1 is added to the blockchain BC. The management device 10 shortens the timing at which the transaction data D1 is considered to be finalized. The management device 10 supports at least one of the nodes 20, 30, 40, 50, and 60 by shortening the timing at which the transaction data D1 is considered to be finalized.
[0023] 3 is a diagram illustrating 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 can communicate 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 perform 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 bandwidth used for communication. When the bandwidth of communication is widened by bandwidth control, 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 causes at least one of the communication devices 71, 72, 73, and 74 to perform QoS control, thereby reducing the delay in the timing at which the transaction data D1 is added to the blockchain BC.
[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 performs 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 illustrating 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. If 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. If the output device 22 includes a touch panel, it does not need 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 ROM (Read Only Memory), an EPROM (Erasable Programmable Read Only Memory), and an EEPROM (Electrically Erasable Programmable Read Only Memory). The volatile memory is, for example, a RAM (Random Access Memory). 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 request unit 252, a verification unit 254, and a block generation unit 255.
[0035] The operation control unit 251 may be implemented by circuits such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), and an FPGA (Field Programmable Gate Array). At least one of the request unit 252, the verification unit 254, and the block generation unit 255 may be implemented by circuits such as a DSP, an ASIC, a PLD, and an FPGA.
[0036] The operation control unit 251 controls communication for adding the transaction data D1 to the blockchain BC, that is, data addition communication.
[0037] The request unit 252 transmits a request C1 to the management device 10. The request C1 indicates a QoS control request regarding communication related to the transaction data D1. Communication related to the transaction data D1 includes communication of the transaction data D1 and communication of the block B1 including the transaction data D1. That is, communication related to the transaction data D1 means the entire communication for adding the transaction data D1 to the blockchain BC. Communication related to the transaction data D1 is an example of data addition communication. QoS control is an example of control of communication quality. The request C1 is an example of a control request that requests control of the quality of communication for adding predetermined data to the blockchain BC. A control request is a request for controlling the quality of communication for adding predetermined data (additional data) to the blockchain BC.
[0038] 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.
[0039] 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.
[0040] <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.
[0041] <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 communication device 11, storage device 12, and processing device 13.
[0042] 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.
[0043] Storage device 12 is a recording medium readable by processing device 13. Storage device 12 includes, for example, non-volatile memory and 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 the communication executed by each of nodes 20, 30, 40, 50, and 60.
[0044] Returning to the description of FIG. 5, processing device 13 includes one or more CPUs. Processing device 13 reads program 121 from storage device 12. Processing device 13 functions as providing unit 131 and quality control unit 132 by executing program 121. At least one of providing unit 131 and quality control unit 132 may be realized by circuits such as DSP, ASIC, PLD, and FPGA.
[0045] When the providing unit 131 receives the request C1 from the first node (e.g., node 20), it provides the one-time pass P1 to the first node. The one-time pass P1 is used to execute the control indicated by the request C1.
[0046] When the first node receives the one-time pass P1, it generates first communication data having the one-time pass P1. The first communication data has a plurality of packets M1a. Each of the plurality of packets M1a has the one-time pass P1 and a part of the transaction data D1. Each of the plurality of packets M1a is communicated within the group A1. Each of the plurality of packets M1a is propagated to each of the plurality of second nodes.
[0047] The quality control unit 132 controls the quality of the communication of the data having the one-time pass P1. An example of the data having the one-time pass P1 is the packet M1a. For example, in the situation where the packet M1a is communicated within the group A1, the quality control unit 132 sets the quality of the communication of the packet M1a to a quality not less than a predetermined quality. The predetermined quality is an example of the first quality.
[0048] The predetermined quality is, for example, a communication quality where the communication bandwidth is "X1" Mbps. "X1" is a positive number. In this case, the quality not less than the predetermined quality means a quality where the communication bandwidth is not less than "X1" Mbps. The predetermined quality is not limited to the communication quality where the communication bandwidth is "X1" Mbps, and may be, for example, a communication quality where the delay is "X2" ms. "X2" is a positive number. In this case, the quality not less than the predetermined quality means a quality where the delay is not more than "X2" ms. The predetermined quality may be registered in advance in the storage device 12 or may be indicated by the request C1.
[0049] <A5: Description of operations> FIG. 7 is a diagram for explaining the operation of the network system 1. For the sake of simplicity of explanation, FIG. 7 shows the operation in the case where the node 20 is a transaction request node, the node 30 is a transaction partner node (transaction node), and each of the nodes 40, 50, and 60 is a miner node.
[0050] The transaction requesting node is not limited to node 20, but may be any of nodes 30, 40, 50, and 60. The counterparty node is not limited to node 30, but may be any of nodes 20, 40, 50, and 60. The counterparty node is different from the transaction requesting node. The minor node is not limited to each of nodes 40, 50, and 60, but may be, for example, at least one of nodes 20 and 30. The number of minor nodes is not limited to three.
[0051] 7, the transaction request node is an example of a first node, and multiple nodes different from the transaction request node are an example of multiple second nodes.
[0052] 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, description of the communication device 23 will be omitted. The management device 10 communicates using the communication device 11 shown in Fig. 5. However, for the sake of simplicity, description of the communication device 11 will be omitted.
[0053] When the input device 21 of the node 20 receives content information from the user of the node 20 indicating the content of a transaction to be newly added to the blockchain BC, the operation control unit 251 of the node 20 generates transaction data D1 based on the content information.
[0054] 8 is a diagram showing an example of transaction data D1. Transaction data D1 includes information D11 indicating the transaction request node, information D12 indicating the transaction partner node, and information D13 indicating the transaction details. In the example shown in FIG. 7, information D11 indicates node 20, and information D12 indicates node 30.
[0055] 7, when the operation control unit 251 of the node 20 generates the transaction data D1, the 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.
[0056] When the providing unit 131 of the management device 10 receives the request C1 from the node 20, the providing unit 131 issues a one-time pass P1 in step S102.
[0057] Subsequently, in step S103, the providing unit 131 registers the one-time pass P1 in the one-time pass column 122a of the management table 122 (see FIG. 6).
[0058] When registering a new one-time pass in the one-time pass field 122a, the providing unit 131 sets the processing field 122b corresponding to the one-time pass in the management table 122 to "not yet".
[0059] Next, in step S104, the quality control unit 132 first identifies a one-time path (in this case, one-time path P1) for which the processing column 122b of the management table 122 is set to "Not yet." Next, the quality control unit 132 sets the communication quality of packets having the identified one-time path to a quality equal to or higher than a predetermined quality. For example, the quality control unit 132 causes the communication devices 71 to 74 to perform priority control and bandwidth control on packets having one-time path P1, thereby setting the communication quality of packets having one-time path P1 to a quality equal to or higher than the predetermined quality.
[0060] Therefore, QoS control is initiated for communication of packets having the one-time path P1. Note that the quality control unit 132 may cause the communication devices 71 to 74 to execute only one of priority control and bandwidth control.
[0061] Next, the quality control unit 132 changes the entry in the processing column 122b corresponding to the one-time path for which QoS control has started from "Not yet" to "Completed."
[0062] Subsequently, in step S105, the providing unit 131 provides the one-time path P1 to the node 20 that is the sender of the request C1. Providing the one-time path P1 to the sender of the request C1 means approval of the request C1.
[0063] Upon receiving the one-time path P1, the operation control unit 251 of the node 20 generates first communication data having a plurality of packets M1a in step S106.
[0064] In step S106, the operation control unit 251 of the node 20 generates, for example, a plurality of packets M1a as the first communication data. The plurality of packets M1a is an example of a plurality of first packets. The plurality of packets M1a correspond one-to-one to a plurality of first data E obtained by dividing the transaction data D1. Each of the plurality of packets M1a includes data corresponding to the packet M1a among the plurality of first data E and a one-time path P1.
[0065] FIG. 9 is a diagram showing an example of a method for generating a plurality of packets M1a in step S106.
[0066] The operation control unit 251 of the node 20 first divides the transaction data D1 into a plurality of first data E.
[0067] Next, the operation control unit 251 of the node 20 generates, for each piece of first data E, a packet M1 including the first data E.
[0068] Next, the operation control unit 251 of the node 20 generates a plurality of packets M1a by including the one-time path P1 in each packet M1.
[0069] Returning to FIG. 7 for the explanation, upon completing step S106, the operation control unit 251 of node 20 executes a handshake with node 40. Subsequently, in step S107, the operation control unit 251 of node 20 transmits a plurality of packets M1a to node 40. Each of the plurality of packets M1a has a one-time path P1. Therefore, in step S107, the communication quality of each of the plurality of packets M1a is equal to or higher than a predetermined quality. Therefore, the time required for communication of the plurality of packets M1a (transaction data D1) is shortened.
[0070] When the verification unit 254 of the node 40 receives the plurality of packets M1a from the node 20, the verification unit 254 generates transaction data D1 by using the plurality of packets M1a. Then, in step S108, the verification unit 254 of the node 40 verifies the transaction data D1.
[0071] Upon completing step S107, the operation control unit 251 of node 20 executes a handshake with node 30. Subsequently, in step S109, the operation control unit 251 of node 20 transmits a plurality of packets M1a to node 30. Each of the plurality of packets M1a has a one-time path P1. Therefore, in step S109, the communication quality of each of the plurality of packets M1a is equal to or higher than a predetermined quality. Therefore, the time required to communicate the plurality of packets M1a (transaction data D1) is shortened.
[0072] When the verification unit 254 of the node 30 receives the plurality of packets M1a from the node 20, the verification unit 254 generates transaction data D1 by using the plurality of packets M1a. Then, in step S110, the verification unit 254 of the node 30 verifies the transaction data D1.
[0073] Steps S109 to S110 may be executed before steps S107 to S108. Steps S109 to S110 may be executed in parallel with steps S107 to S108. In this case, the time required for steps S107 to S110 can be reduced compared to a configuration in which steps S107 to S108 and steps S109 to S110 are executed in that order.
[0074] If the verification unit 254 of the node 40 determines that the transaction data D1 is valid, the operation control unit 251 of the node 40 executes a handshake with the node 50. Subsequently, in step S111, the operation control unit 251 of the node 40 transmits a plurality of packets M1a to the node 50. Each of the plurality of packets M1a has a one-time path P1. Therefore, in step S111, the communication quality of each of the plurality of packets M1a is equal to or higher than a predetermined quality. Therefore, the time required to communicate the plurality of packets M1a (transaction data D1) is shortened.
[0075] When the verification unit 254 of the node 50 receives the plurality of packets M1a from the node 40, the verification unit 254 of the node 50 generates transaction data D1 by using the plurality of packets M1a. Then, in step S112, the verification unit 254 of the node 50 verifies the transaction data D1.
[0076] Upon completing step S111, the operation control unit 251 of node 40 executes a handshake with node 60. Subsequently, in step S113, the operation control unit 251 of node 40 transmits a plurality of packets M1a to node 60. Each of the plurality of packets M1a has a one-time path P1. Therefore, in step S113, the communication quality of each of the plurality of packets M1a is equal to or higher than a predetermined quality. Therefore, the time required to communicate the plurality of packets M1a (transaction data D1) is shortened.
[0077] When the verification unit 254 of the node 60 receives the plurality of packets M1a from the node 40, the verification unit 254 of the node 60 generates transaction data D1 by using the plurality of packets M1a. Then, in step S114, the verification unit 254 of the node 60 verifies the transaction data D1.
[0078] Steps S113 to S114 may be executed before steps S111 to S112. Steps S113 to S114 may be executed in parallel with steps S111 to S112. In this case, the time required for steps S111 to S114 can be reduced compared to a configuration in which steps S111 to S112 and steps S113 to S114 are executed in that order.
[0079] When step S113 is completed, the block generation unit 255 of the node 40 starts generating (mining) a block B1 including the transaction data D1 in step S115.
[0080] When step S112 is completed, the block generation unit 255 of the node 50 starts generating (mining) a block B1 including the transaction data D1 in step S116.
[0081] When step S114 is completed, the block generation unit 255 of the node 60 starts generating (mining) a block B1 including the transaction data D1 in step S117.
[0082] When the block generation unit 255 of the node 50 succeeds in generating (mining) the block B1 including the transaction data D1 in step S118, the operation control unit 251 of the node 50 connects the block B1 to the blockchain BC in the storage device 24.
[0083] Subsequently, the operation control unit 251 of the node 50 generates second communication data having the one-time path P1 in step S119. In this case, the node 50 is an example of a receiving node. The nodes 20, 30, 40, and 60 are each an example of a different node that is different from the receiving node (node 50) among the nodes belonging to the group A1. The second communication data includes a plurality of packets M2a.
[0084] In step S119, the operation control unit 251 of the node 50 generates, for example, a plurality of packets M2a as second communication data. The plurality of packets M2a is an example of a plurality of second packets. The plurality of packets M2a correspond one-to-one to a plurality of second data F obtained by dividing the block B1. Each of the plurality of packets M2a includes data corresponding to the packet M2a among the plurality of second data F and a one-time path P1.
[0085] FIG. 10 is a diagram showing an example of a method for generating a plurality of packets M2a in step S119.
[0086] The operation control unit 251 of the node 50 first divides the block B1 into a plurality of second data Fs.
[0087] Next, the operation control unit 251 of the node 50 generates a packet M2 including the second data F for each second data F.
[0088] Next, the operation control unit 251 of the node 50 generates a plurality of packets M2a by including the one-time path P1 in each packet M2.
[0089] Returning to Fig. 7 for the explanation, upon completing step S119, the operation control unit 251 of the node 50 transmits a plurality of packets M2a to the node 40 in step S120. Each of the plurality of packets M2a has a one-time path P1. Therefore, in step S120, the communication quality of each of the plurality of packets M2a is equal to or higher than a predetermined quality. Therefore, the time required to communicate the plurality of packets M2a (block B1) is shortened.
[0090] When the verification unit 254 of the node 40 receives the plurality of packets M2a from the node 50, it generates a block B1 by using the plurality of packets M2a. Subsequently, in step S121, the verification unit 254 of the node 40 verifies the block B1. 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.
[0091] Next, in step S122, the operation control unit 251 of the node 40 transmits a plurality of packets M2a to the node 60. Each of the plurality of packets M2a has a one-time path P1. Therefore, in step S122, the communication quality of each of the plurality of packets M2a is equal to or higher than a predetermined quality. Therefore, the time required to communicate the plurality of packets M2a (block B1) is shortened.
[0092] When the verification unit 254 of the node 60 receives the plurality of packets M2a from the node 40, it generates a block B1 by using the plurality of packets M2a. Subsequently, in step S123, the verification unit 254 of the node 60 verifies the block B1. 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.
[0093] Following step S122, the operation control unit 251 of the node 40 transmits a plurality of packets M2a to the node 20 in step S124. Each of the plurality of packets M2a has a one-time path P1. Therefore, in step S124, the communication quality of each of the plurality of packets M2a is equal to or higher than a predetermined quality. Therefore, the time required to communicate the plurality of packets M2a (block B1) is shortened.
[0094] Step S124 may be executed before step S122, or may be executed in parallel with step S122.
[0095] When the verification unit 254 of node 20 receives a plurality of packets M2a from node 40, it generates block B1 by using the plurality of packets M2a. Subsequently, in step S125, the verification unit 254 of node 20 verifies block B1. If the verification result of block B1 indicates validity, the verification unit 254 of node 20 connects block B1 to the blockchain BC in the storage device 24 of node 20.
[0096] Subsequently, the operation control unit 251 of node 20 transmits a plurality of packets M2a to node 30 in step S126. Each of the plurality of packets M2a has a one-time path P1. Therefore, the communication quality of each of the plurality of packets M2a in step S126 is equal to or higher than a predetermined quality. For this reason, the time required for the communication of the plurality of packets M2a (block B1) is shortened.
[0097] When the verification unit 254 of node 30 receives a plurality of packets M2a from node 20, it generates block B1 by using the plurality of packets M2a. Subsequently, in step S127, the verification unit 254 of node 30 verifies block B1. If the verification result of block B1 indicates validity, the verification unit 254 of node 30 connects block B1 to the blockchain BC in the storage device 24 of node 20.
[0098] <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 communication quality for adding data to the blockchain BC from the first node (for example, node 20), it provides the one-time path P1 to the first node. When the quality control unit 132 generates the first communication data having the one-time path P1 in the first node and the first communication data is communicated within the group A1, it sets the communication quality of the first communication data to a quality equal to or higher than a predetermined quality.
[0099] In a situation where data is communicated within group A1, communication for adding data to blockchain BC is executed. Therefore, if the first node generates communication data including target data T1 to be added to blockchain BC and a one-time password as first communication data, the delay in the timing when target data T1 is added to blockchain BC can be reduced. Thus, it is possible to assist the node in reducing the delay in the timing of adding target data T1 to blockchain BC.
[0100] Also, QoS control is executed契机に the generation of target data T1. Therefore, QoS control can be started from the timing when QoS control is required.
[0101] Also, if the first node generates communication data including target data T1 to be added to blockchain BC and a one-time password as first communication data, QoS control can be executed only for the communication of data including target data T1.
[0102] <B: Variant Example> The modes of variation in the above-described embodiment are shown below. Two or more modes arbitrarily selected from the following modes of variation may be appropriately combined within a range where they do not conflict with each other.
[0103] <B1: First Variant Example> In the first embodiment, QoS control may not be executed for the communication of transaction data D1.
[0104] A variant example in which QoS control is not executed for the communication of transaction data D1 but is executed for the communication of block B1 including transaction data D1 in the first embodiment will be described as the first variant example. Hereinafter, the first variant example will be described focusing on the differences from the first embodiment.
[0105] The hardware configuration in the first variant example is the same as the hardware configuration in the first embodiment. FIG. 11 is a diagram for explaining the operation of the first variant example.
[0106] In the first modified example, QoS control is initiated when node 50, which has succeeded in generating (mining) block B1, transmits request C1 to management device 10. In this case, node 50 is an example of a first node, and nodes 20, 30, 40, and 60 are examples of multiple second nodes.
[0107] When the input device 21 of the node 20 receives content information from the user of the node 20 indicating the content of a transaction to be newly added to the blockchain BC, the operation control unit 251 of the node 20 generates transaction data D1 based on the content information.
[0108] After generating the transaction data D1, the operation control unit 251 of the node 20 transmits the transaction data D1 to the node 40 in step S201.
[0109] Upon receiving transaction data D1 from node 20, verification unit 254 of node 40 verifies transaction data D1 in step S202. In the following, it is assumed that the verification result of transaction data D1 indicates validity.
[0110] After completing step S201, the operation control unit 251 of the node 20 transmits the transaction data D1 to the node 30 in step S203.
[0111] Upon receiving the transaction data D1 from the node 20, the verification unit 254 of the node 30 verifies the transaction data D1 in step S204. In the following, it is assumed that the verification result of the transaction data D1 indicates that the transaction data D1 is valid.
[0112] Steps S203 to S204 may be executed before steps S201 to S202. Steps S203 to S204 may be executed in parallel with steps S201 to S202. In this case, the time required for steps S201 to S204 can be reduced compared to a configuration in which steps S201 to S202 and steps S203 to S204 are executed in sequence.
[0113] If the verification result of the transaction data D1 in step S202 indicates that the transaction data D1 is valid, the operation control unit 251 of the node 40 transmits the transaction data D1 to the node 50 in step S205.
[0114] Upon receiving the transaction data D1 from the node 40, the verification unit 254 of the node 50 verifies the transaction data D1 in step S206. In the following, it is assumed that the verification result of the transaction data D1 indicates that the transaction data D1 is valid.
[0115] After completing step S205, the operation control unit 251 of the node 40 transmits the transaction data D1 to the node 60 in step S207.
[0116] Upon receiving the transaction data D1 from the node 40, the verification unit 254 of the node 60 verifies the transaction data D1 in step S208. In the following, it is assumed that the verification result of the transaction data D1 indicates that the transaction data D1 is valid.
[0117] Steps S207 to S208 may be executed before steps S205 to S206. Steps S207 to S208 may be executed in parallel with steps S205 to S206. In this case, the time required for steps S205 to S208 can be reduced compared to a configuration in which steps S205 to S206 and steps S207 to S208 are executed in that order.
[0118] When step S207 is completed, the block generation unit 255 of the node 40 starts generating (mining) a block B1 including the transaction data D1 in step S115.
[0119] When step S206 is completed, the block generation unit 255 of the node 50 starts generating (mining) a block B1 including the transaction data D1 in step S116.
[0120] When step S208 is completed, the block generation unit 255 of the node 60 starts generating (mining) a block B1 including the transaction data D1 in step S117.
[0121] When the block generation unit 255 of the node 50 succeeds in generating (mining) a block B1 including the transaction data D1 in step S118, the request unit 252 of the node 50 transmits a request C1 to the management device 10 in step S209. The request C1 indicates a request for QoS control for communication related to the transaction data D1.
[0122] When the providing unit 131 of the management device 10 receives the request C1 from the node 50, in step S210, it issues a one-time pass P1.
[0123] Next, in step S211, the providing unit 131 registers the one-time pass P1 in the one-time pass column 122a of the management table 122.
[0124] When registering a new one-time pass in the one-time pass field 122a, the providing unit 131 sets the processing field 122b corresponding to the one-time pass in the management table 122 to "not yet".
[0125] Next, in step S212, the quality control unit 132 first identifies a one-time path (in this case, one-time path P1) for which the processing column 122b of the management table 122 is set to "Not yet." Next, the quality control unit 132 sets the communication quality of packets having the identified one-time path to a quality equal to or higher than a predetermined quality. The method for setting the communication quality of packets having the identified one-time path to a quality equal to or higher than the predetermined quality is the same as the method in step S104.
[0126] Subsequently, in step S213, the providing unit 131 provides the one-time path P1 to the node 50, which is the sender of the request C1. Providing the one-time path P1 to the sender of the request C1 means approval of the request C1.
[0127] Hereinafter, the above steps S119 to S127 are executed. In the first modification example, the second communication data (multiple packets M2a) generated in step S119 is another example of the first communication data. In the first modification example, the multiple second data F generated by dividing the block B1 is an example of the multiple data (multiple third data) obtained by dividing the block. In the first modification example, the multiple packets M2a are an example of the multiple packets (multiple third packets).
[0128] If the delay in the communication of block B1 is small, the block B1 is more likely to arrive at each node earlier than other blocks B1. When the block B1 arrives at each node earlier than other blocks B1, the probability that the block B1 is connected to the blockchain BC increases. Therefore, a small delay in the communication of block B1 is desirable not only for users who expect early confirmation of the transaction data D1 but also for the miner node that generates the block B1.
[0129] According to the first 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 in the communication of the block B1 can be reduced. Thus, compared with a 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, early confirmation of the transaction data D1 is possible, and the probability that the block B1 is connected to the blockchain BC can be increased.
[0130] <B2: Second Modification Example> In the first embodiment and the first modification example, the quality control unit 132 may return the quality of the communication set to a quality of not less than a predetermined quality to the quality of the communication before being set to a quality of not less than a predetermined quality.
[0131] The request C1 requests control of the quality of communication related to the transaction data D1 within the group A1. That is, the request C1 is a request to control the quality of communication related to the transaction data D1 within the group A1. The transaction data D1 indicates one of multiple second nodes as a counterparty node (see FIG. 8). In response to a notification indicating that the counterparty node (transaction node) has received the block B1 including the transaction data D1, the quality control unit 132 restores the quality of communication related to the transaction data D1 within the group A1 from a predetermined quality or higher to the quality before it was set to the predetermined quality or higher.
[0132] For example, when node 30, which is indicated as a counterparty 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 counterparty node has received block B1 including transaction data D1.
[0133] In response to the notification N1, the quality control unit 132 of the management device 10 restores 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. For example, the quality control unit 132 deletes the information registered in the management table 122 (one-time path P1) 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 the state before being controlled by the quality control unit 132 (for example, a predetermined state).
[0134] For example, when a predetermined time (e.g., two minutes) has elapsed since receiving notification N1, the quality control unit 132 restores 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 be longer than the time it takes for a new block B1 to reach all nodes in group A1.
[0135] According to the second modification example, it is possible to suppress the communication quality in group A1 from becoming high-quality for a time longer than necessary.
[0136] <C: Others> (1) In each of the first embodiment, the first modification example, and the second modification example, 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.
[0137] (2) Each of the first embodiment, the first modification example, and the second modification example may be applied to a system that uses 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-WideBand), Bluetooth (registered trademark), and other appropriate systems and / or a next-generation system extended based on these.
[0138] (3) The information and the like described in each of the first embodiment, the first modification example, and the second modification example may be represented using any of various different technologies. For example, the data, information, and the like that can be referred to throughout the above description may be represented by a voltage, a current, an electromagnetic wave, a magnetic field, magnetic particles, an optical field, photons, or any combination thereof. It should be noted that terms explained in this specification and / or terms necessary for understanding this specification may be replaced with terms having the same or similar meanings.
[0139] (4) In each of the first embodiment and the first to second modifications, input and output information, etc. may be stored in a specific location (for example, a memory) or managed using a table. Input and output information, etc. may be overwritten, updated, or added. Output information, etc. may be deleted. Input information, etc. may be transmitted to another device.
[0140] (5) In each of the first embodiment and the first to second 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).
[0141] (6) The order of the exemplary processing procedures, sequences, or flowcharts shown in the first embodiment and the first to second modifications may be changed as long as there is no contradiction. For example, the methods described herein present various step elements in an exemplary order and are not limited to the specific order presented.
[0142] (7) Each function illustrated in Figure 4 or 5 may be realized by any combination of hardware and software. Each function may be realized by a single device or by two or more devices configured separately from each other.
[0143] (8) The programs exemplified in the first embodiment and each of the first to second variants should be broadly construed to mean instructions, instruction sets, code, code segments, program code, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, or functions, regardless of whether they are called software, firmware, middleware, microcode, hardware description language, or by other names. 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.
[0144] (9) In the first embodiment and the first and second modifications, the terms "system" and "network" are used interchangeably.
[0145] (10) In each of the first embodiment and the first to second 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, mobile unit, subscriber unit, wireless unit, remote unit, mobile device, wireless device, wireless communication device, remote device, mobile subscriber station, access terminal, mobile terminal, wireless terminal, remote terminal, handset, user agent, mobile client, client, or some other appropriate term.
[0146] (11) In each of the first embodiment and the first to second modifications, the phrase "based on" does not mean "based only on," unless otherwise specified. In other words, the phrase "based on" means both "based only on" and "based at least on."
[0147] (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.
[0148] (13) In each of the first embodiment and the first to second modifications, to the extent that the terms "including," "comprising," and variations thereof are used in this specification or the claims, these terms are intended to be inclusive, similar to the term "comprise." Furthermore, the term "or" used in this specification or the claims is not intended to be an exclusive or.
[0149] (14) Throughout this application, where articles have been added by translation, such as a, an and the in English, these articles include the plural unless the context clearly indicates otherwise.
[0150] (15) In this specification, the term "apparatus" may be replaced with other terms such as circuit, device, or unit.
[0151] It is obvious 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 determined based on the description of the claims. Therefore, the description in this specification is for illustrative purposes and has no restrictive meaning for the present invention. Also, a plurality of aspects selected from the aspects exemplified in this specification may be combined.
[0152] <D: Aspects grasped from the above-described forms or modified examples> The following aspects are grasped from at least one of the above-described forms or modified examples.
[0153] <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 a control request for controlling the quality of communication within a group composed of a first node and a plurality of second nodes that share a blockchain and execute communication for adding additional data to the blockchain from the first node, the providing unit provides the first node with first information corresponding to the control request. After the first node generates first communication data having the first information, the quality control unit sets the quality of communication of the first communication data to a quality of at least a first quality in a situation where the first communication data is communicated within the group.
[0154] In a situation where data is communicated within a group, communication for adding additional data to a blockchain is executed. According to this aspect, the quality of communication of first communication data having first information can be set to a quality of at least a first quality. Therefore, if the first node generates communication data including additional data to be added to the blockchain and the first information as the first communication data, the delay in the timing of adding the additional data to the blockchain can be reduced. Therefore, the node can be assisted in reducing the delay in the timing of adding data to the blockchain.
[0155] <D2: Second aspect> In the example of the first aspect (second aspect), the additional data is target data to be included in a block to be connected to the blockchain. According to this aspect, for example, a control request can be provided to the providing unit in response to the generation of the target data.
[0156] <D3: Third Aspect> In the example of the second aspect (third aspect), the first communication data has a plurality of first packets. The plurality of first packets correspond one-to-one to a plurality of first data obtained by dividing the target data. Each of the plurality of first packets has data corresponding to the first packet among the plurality of first data and the first information. According to this aspect, by using packets, the communication quality of the first communication data regarding the target data can be set to a quality of at least the first quality.
[0157] <D4: Fourth Aspect> In the example of the second or third aspect (fourth aspect), after the reception node that has received the first communication data among the plurality of second nodes generates second communication data having the first information, when the second communication data is communicated to a different node (a different node) among the nodes belonging to the group from the reception node, the quality control unit sets the communication quality of the second communication data to a quality of at least the first quality. According to this aspect, the communication quality of the second communication data generated by the reception node that has received the first communication data can be set to a quality of at least the first quality.
[0158] <D5: Fifth Aspect> In the example of the fourth aspect (fifth aspect), the second communication data has a plurality of second packets. The plurality of second packets correspond one-to-one to a plurality of second data obtained by dividing the block. Each of the plurality of second packets has data corresponding to the second packet among the plurality of second data and the first information. According to this aspect, by using packets, the communication quality of the second communication data regarding the block can be set to a quality of at least the first quality.
[0159] <Aspect 6> In the example of the first aspect (the sixth aspect), the additional data is a block to be connected to the blockchain. According to this aspect, for example, a control request can be provided to the providing unit in response to the generation of a block to be connected to the blockchain.
[0160] <Aspect 7> In the example of the sixth aspect (the seventh aspect), the first communication data has a plurality of third packets. The plurality of third packets correspond one-to-one to a plurality of third data obtained by dividing the block. Each of the plurality of third packets has data corresponding to the third packet among the plurality of third data and the first information. According to this aspect, by using packets, the communication quality of the first communication data regarding the block can be set to a quality of at least the first quality.
[0161] <Aspect 8> In the example of any one of the first aspect to the seventh aspect (the eighth aspect), the additional data is transaction data communicated within the group. The control request is a request for controlling the communication quality 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 returns the communication quality to the quality before setting it to a quality of at least the first quality in response to a notification indicating that the transaction node has received a block including the transaction data. According to this aspect, it is possible to suppress the communication quality in the group from becoming high-quality for an unnecessarily long time.
[0162] <Aspect 9> In the example of the eighth aspect (the ninth aspect), the quality control unit returns the communication quality to the quality before setting it to a quality of at least the first quality when a first period of time has elapsed since the reception of the notification. According to this aspect, it is possible to increase the possibility of maintaining the communication quality in the group at a quality of at least the first quality until the block reaches all the nodes in the group.
Description of Reference Numerals
[0163] 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...request unit, 254...verification unit, 255...block generation unit, 30...node, 40...node, 50...node, 60...node, 71-74...communication devices.
Claims
1. a providing unit that, when receiving a control request from a first node to control the quality of communication within a group configured 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, provides first information corresponding to the control request to the first node; a quality control unit that sets a communication quality of the first communication data to a first quality or higher in a situation where the first communication data is communicated within the group after the first node generates first communication data having the first information; Including, the additional data is transaction data communicated within the group; the control request is a request to control 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; 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; Management device.
2. The additional data is target data to be included in a block to be connected to the blockchain. The management device according to claim 1 .
3. the first communication data includes a plurality of first packets; the plurality of first packets correspond one-to-one to a plurality of first data obtained by dividing the target data, Each of the plurality of first packets includes data corresponding to the first packet among the plurality of first data and the first information. The management device according to claim 2 .
4. The quality control unit a receiving node that receives the first communication data among the plurality of second nodes generates second communication data having the first information, and then the second communication data is communicated to a different node that is different from the receiving node among the nodes that belong to the group, in a situation where the communication quality of the second communication data is set to a quality that is equal to or higher than the first quality; The management device according to claim 2 or 3.
5. the second communication data includes a plurality of second packets; the plurality of second packets correspond one-to-one to the plurality of second data obtained by dividing the block; Each of the plurality of second packets includes data corresponding to the second packet among the plurality of second data and the first information. The management device according to claim 4 .
6. The additional data is a block to be attached to the blockchain. The management device according to claim 1 .
7. the first communication data includes a plurality of third packets; the plurality of third packets correspond one-to-one to the plurality of third data obtained by dividing the block, Each of the plurality of third packets includes data corresponding to the third packet among the plurality of third data and the first information. The management device according to claim 6 .
8. the quality control unit returns the quality of the communication to the quality before it was set to the first quality or higher when a first time has elapsed since receiving the notification; The management device according to claim 1 .
Citation Information
Patent Citations
Message transmission method and device
CN111934990A
Message transmission method and device
CN111934998A
NETWORK QoS CONTROL SYSTEM AND CONTROL METHOD
JP2006262379A
Data transmission device, data transmission / reception system, data reception device, data transmission method, and program
JP2019161580A
Management apparatus, mobile communication system, program, and management method
JP2019213161A