CONTROL METHOD, INFORMATION PROCESSING APPARATUS, MANAGEMENT SYSTEM, AND PROGRAM
The control method enhances blockchain-based container unlocking and locking efficiency by verifying key holders and delaying transaction data until the key holder information is updated, reducing the time and preventing unauthorized access.
Patent Information
- Application Number
- JP2023117565
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-04-17
- Filing Date
- 2023-07-19
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2038-11-07
AI Technical Summary
Existing systems for managing container unlocking and locking using blockchain technology are inefficient, requiring a long time to complete the process.
A control method that utilizes a blockchain to manage unlocking and locking by storing key holder information and controlling the execution of unlocking processes based on the status of key holder changes, avoiding unnecessary delays by storing transaction data only after the process is completed and ensuring the key holder information is up to date.
The method significantly reduces the time required for unlocking and locking containers by eliminating unnecessary processing steps and ensuring accurate key holder verification, thereby preventing inappropriate unlocking.
Smart Images

Figure 0007618743000001 
Figure 0007618743000002 
Figure 0007618743000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a control method, an information processing device, a management system, and a program. [Background technology]
[0002] A technology has been disclosed that uses a blockchain to manage the locking and unlocking of storage devices in which items are stored, such as delivery boxes (see Non-Patent Document 1). [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] GMO Internet, Inc., "GMO Internet Group, Saison Information Systems, and Parco jointly conduct second demonstration experiment using blockchain and IoT", [online], June 21, 2017, [Retrieved October 25, 2018], Internet〈URL:https: / / cloud.z.com / jp / news-ep / iot2 / 〉 Summary of the Invention [Problem to be solved by the invention]
[0004] However, there is a problem in that it takes a relatively long time to unlock the storage unit.
[0005] Therefore, the present invention provides an information processing method that can reduce the time required to unlock a storage device. [Means for solving the problem]
[0006] A control method according to one embodiment of the present invention is a control method for controlling unlocking, which is either unlocking or locking, using a blockchain, wherein key holder information indicating a person who has the authority to unlock is stored in the blockchain, and when second request information indicating a request to change the key holder information is obtained from a first terminal, and first request information indicating a request to unlock is received from a second terminal, the control method determines whether a second storage process for storing the second request information in the blockchain is being executed, and controls the execution of the unlocking process depending on the result of the determination.
[0007] These comprehensive or specific aspects may be realized as a system, an apparatus, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, or may be realized as any combination of a system, an apparatus, an integrated circuit, a computer program, and a recording medium. Effect of the Invention
[0008] According to the control method of the present invention, the time required to unlock the storage unit can be reduced. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram illustrating a schematic configuration of a management system according to the first embodiment. [Diagram 2] FIG. 2 is a block diagram showing a functional configuration of the server according to the first embodiment. [Diagram 3] FIG. 3 is an explanatory diagram showing the data structure of a blockchain. [Figure 4] FIG. 4 is an explanatory diagram showing the data structure of the transaction data. [Diagram 5] FIG. 5 is a block diagram illustrating a schematic configuration of a storage device according to the first embodiment. [Figure 6] FIG. 6 is a flow diagram showing the unlocking process of the management system in the first embodiment. [Figure 7]FIG. 7 is a flow diagram showing the process of unlocking the storage container in the first embodiment. [Figure 8] FIG. 8 is a flow diagram showing unlocking processing in the management system in the comparative example. [Figure 9] FIG. 9 is a block diagram showing a functional configuration of the server according to the second embodiment. In FIG. [Figure 10] FIG. 10 is a flow diagram showing processing for changing the holder of a key in the management system according to the second embodiment. [Figure 11] FIG. 11 is a flow diagram showing unlocking processing in the management system according to the second embodiment. [Figure 12] FIG. 12 is a flow chart showing a control method in a modification of each embodiment. [Figure 13] FIG. 13 is a block diagram showing a configuration of an information processing device in a modification of each embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] (Findings on which the present invention is based) A control method according to one embodiment of the present invention is a control method for controlling unlocking, which is either unlocking or locking, using a blockchain, wherein key holder information indicating a person who has the authority to unlock is stored in the blockchain, and when second request information indicating a request to change the key holder information is obtained from a first terminal, and first request information indicating a request to unlock is received from a second terminal, the control method determines whether a second storage process for storing the second request information in the blockchain is being executed, and controls the execution of the unlocking process depending on the result of the determination.
[0011] Furthermore, an information processing device according to one embodiment of the present invention is one of a plurality of information processing devices that controls unlocking, which is locking or unlocking, using a blockchain, and is equipped with a processor, a memory, and a storage device in which a distributed ledger based on the blockchain is stored, and the blockchain stores key holder information indicating a person who has the authority to unlock, and the processor uses the memory to obtain second request information indicating a request to change the key holder information from a first terminal, and when first request information indicating a request to unlock is received from a second terminal, the processor determines whether a second storage process is being executed to store the second request information in the blockchain, and controls the execution of the unlocking process depending on the result of the determination.
[0012] Moreover, a program according to one aspect of the present invention is a program for causing a computer to execute the above-described control method.
[0013] A control method according to one aspect of the present invention is a control method that uses a blockchain to control unlocking, which is the locking or unlocking of a storage device, wherein key holder information indicating a person who has the authority to unlock the storage device is stored in the blockchain, and when first request information indicating a request for unlocking is received from a terminal, a determination is made as to whether a key holder obtained by reading the key holder information stored in the blockchain matches an owner of the terminal that is the sender of the first request information, and if it is determined that the key holder and the owner match, an unlocking process is executed to cause the storage device to execute the unlocking related to the first request information, and after execution of the unlocking process, a first storage process is executed to store transaction data indicating that the unlocking process has been executed in the blockchain.
[0014] According to the above aspect, the process of storing transaction data in the blockchain is not included between receiving a request to unlock the storage device and executing the unlocking. Therefore, according to the control method according to one aspect of the present invention, the time required to unlock the storage device can be reduced.
[0015] For example, the control method may further include, when second request information indicating a request to change key holder information is received from a terminal, executing a second storage process to store the second request information in the blockchain, and, when the first request information is received, determining whether the second storage process is being executed or not, and controlling the execution of the unlocking process depending on the result of the determination.
[0016] According to the above aspect, it is possible to control the execution of unlocking and locking of the storage device in a state where the change of the key holder is not yet reflected because the process related to the change of the key holder is being executed. Therefore, it is possible to reduce the time required to unlock and lock the storage device while avoiding the inappropriate unlocking of the storage device in the unreflected state.
[0017] For example, when controlling the execution of the unlocking process, the storage device may be prohibited from executing the unlocking process related to the first request information.
[0018] According to the above aspect, the unlocking process is prohibited as a control for unlocking the storage device in the unreflected state, which makes it easier to prevent an inappropriate unlocking of the storage device in the unreflected state.
[0019] For example, when controlling the execution of the unlocking process, the process may wait until the second storing process is completed, and the unlocking process may be executed after the second storing process is completed.
[0020] According to the above aspect, as a control for executing unlocking in an unreflected state, the unlocking process is put on hold until the unreflected state ends, and the unlocking process is executed after the key holder change is reflected. This makes it easier to avoid inappropriate unlocking of the storage device in an unreflected state.
[0021] For example, when controlling the execution of the unlocking process, an image may be displayed indicating that the process will wait until the second storing process is completed.
[0022] According to the above aspect, when the control of the execution of unlocking in the unreflected state is to wait for the unlocking process to end, the display image can inform the user of the fact. This allows the user to recognize that the process is waiting until the unreflected state ends. In addition, it is possible to prevent the user from misunderstanding and performing inappropriate operations in the absence of this display.
[0023] For example, when the unlocking is performed by the storage device, result information indicating whether the unlocking has actually been performed is obtained, and the transaction data may be stored in the blockchain only if the obtained result information indicates that the unlocking has actually been performed.
[0024] According to the above aspect, the unlocking history is updated only when the unlocking of the storage device is actually performed. Therefore, it is possible to reduce the time required to unlock the storage device while avoiding the unlocking history from being updated when the unlocking is not actually performed due to some circumstances.
[0025] For example, when storing the transaction data in the blockchain, a block including the transaction data may be generated, and when consensus is reached on the generated block, the transaction data may be stored in the blockchain.
[0026] According to the above aspect, the management system can store a block on which consensus has been reached by multiple servers in the blockchain.
[0027] Moreover, an information processing device according to one aspect of the present invention is one of a plurality of information processing devices that controls unlocking, which is the locking or unlocking of a storage device, using a blockchain, and is equipped with a processor, a memory, and a storage device in which a distributed ledger based on the blockchain is stored, and the blockchain stores key holder information indicating a person who has the authority to unlock the storage device, and when the processor receives first request information indicating a request for unlocking from a terminal, the processor uses the memory to determine whether a key holder obtained by reading the key holder information stored in the blockchain matches an owner of the terminal that is the sender of the first request information, and when it is determined that the key holder and the owner match, executes an unlocking process to have the storage device execute the unlocking related to the first request information, and after executing the unlocking process, executes a first storage process to store transaction data indicating that the unlocking process has been executed in the blockchain.
[0028] In addition, a management system according to one embodiment of the present invention includes a plurality of information processing devices including the above-mentioned information processing device, and the storage device in which unlocking or locking is controlled by the plurality of information processing devices using the blockchain.
[0029] According to the above aspect, the same effects as those of the above control method are achieved.
[0030] A program according to an aspect of the present invention is a program for causing a computer to execute the above-described control method.
[0031] According to the above aspect, the same effects as those of the above control method are achieved.
[0032] These comprehensive or specific aspects may be realized as a system, an apparatus, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, or may be realized as any combination of a system, an apparatus, an integrated circuit, a computer program, or a recording medium.
[0033] Hereinafter, the embodiment will be specifically described with reference to the drawings.
[0034] The embodiments described below are all comprehensive or specific examples. The numerical values, shapes, materials, components, component arrangement and connection forms, steps, and order of steps shown in the following embodiments are merely examples and are not intended to limit the present invention. Furthermore, among the components in the following embodiments, components that are not described in an independent claim showing a top concept are described as optional components.
[0035] (Embodiment) In this embodiment, a control method that can reduce the time required to unlock and lock a storage container will be described. The control method according to this embodiment is a control method that uses a distributed ledger to control the unlocking or locking of one or more storage containers in which items can be stored. The storage containers are, for example, delivery boxes or coin lockers. The control method according to this embodiment can also be applied to things that are unlocked and locked, such as hotel rooms, offices, homes, or vehicles such as passenger cars.
[0036] FIG. 1 is a block diagram showing a configuration of a management system 1 according to the present embodiment.
[0037] 1, the management system 1 includes servers 10A, 10B, . . . , 10E, terminals 21 and 22, and a storage device 30. The servers 10A, 10B, . . . , 10E are also referred to as "servers 10A, etc.", and each of the servers 10A, etc. is also referred to as "server 10."
[0038] The management system 1 is a system that manages the unlocking and locking of the storage device 30 when an item 5 is handed over from a user U1 to a user U2 using the storage device 30. For example, a case will be described in which the storage device 30 is a delivery box and the management system 1 manages the unlocking and locking of the delivery box. For example, when a recipient receives the item 5 via a delivery company, the user U1 corresponds to the delivery company and the user U2 corresponds to the recipient.
[0039] Each of the servers 10A, etc. is a server device that is an information processing device that manages the unlocking or locking of the storage device 30 on a computer using a distributed ledger. Each of the servers 10A, etc. holds a ledger for managing the unlocking or locking, and updates the ledger while synchronizing the ledger held by the server itself with the ledgers held by the other servers 10A, etc. The distributed ledger can be realized by block chain technology, which has the advantage that it is difficult to tamper with the recorded information.
[0040] The ledger held by the server 10A etc. stores information indicating whether the storage device 30 is in an unlocked or locked state, and key holder information indicating who is the key holder who has the authority to unlock and lock the storage device 30. The server 10A etc. is connected to the terminals 21 and 22 and the storage device 30 via a network N so as to be able to communicate with each other. The server 10A etc. is connected by a network M so as to be able to communicate with each other. Note that the network M may be connected to the network N, or may be the network N.
[0041] In addition, the function of managing the locking and unlocking of the storage device 30 and the function of managing key holders may be realized by executing ordinary computer program code, or by executing contract code, which is program code recorded in a ledger, in other words, a smart contract.
[0042] The terminals 21 and 22 are information processing terminals that receive operations for unlocking or locking the storage device 30 from users and transmit information to the server 10A or the like. Here, the terminal 21 is assumed to be a terminal owned by a user U1 who hands over the item 5, and the terminal 22 is assumed to be a terminal owned by a user U2 who receives the item 5. The terminals 21 and 22 are smartphones, personal computers, or the like.
[0043] The storage device 30 is a temporary storage location for the item 5, used when the item 5 is handed over from the user U1 to the user U2. It is assumed that the number of people authorized to unlock and lock the storage device 30 is limited to a predetermined number of people. The predetermined number of people is, for example, one person, and this case will be described as an example, but the predetermined number of people is not limited to one person.
[0044] The storage container 30 has at least a storage chamber for storing an item 5. The storage container 30 is unlocked based on an operation by a user U1, and is locked after the user U1 stores the item 5. The storage container 30 is then unlocked based on an operation by a user U2, and the user U2 removes the item 5.
[0045] In the following explanation, the processing of the management system 1 when the user U1 stores the item 5 in the storage device 30 will be explained as an example, but the same explanation also applies when the item 5 is removed from the storage device 30.
[0046] FIG. 2 is a block diagram showing the functional configuration of server 10 in this embodiment.
[0047] As shown in FIG. 2, the server 10 includes a reception unit 11, an unlocking management unit 12, a ledger storage unit 14, and a synchronization unit 15.
[0048] The reception unit 11 is a processing unit that receives a request for unlocking or locking the storage device 30. The reception unit 11 can be realized by a processor executing a predetermined program.
[0049] The reception unit 11 receives request information (also called first request information) indicating a request for unlocking from the terminal 21 of the user U1 via the communication interface. When the reception unit 11 receives the request information, it performs an authentication process to authenticate the user U1 who is the sender of the request information. The authentication process uses identification information of the terminal 21, and may use known techniques such as PKI (Public-Key Infrastructure) technology. If the authentication of the user U1 is successful, the reception unit 11 provides the request information to the unlocking management unit 12.
[0050] The unlocking management unit 12 is a processing unit that manages the unlocking and locking of the storage device 30. The unlocking management unit 12 can be realized by a processor executing a predetermined program. The unlocking management unit 12 has a determination unit 13 that determines whether or not a key holder and an owner of a terminal that is a transmission source of request information match. Specifically, when request information indicating a request for unlocking is received from the terminal 21, the determination unit 13 determines whether or not a key holder obtained by reading out key holder information stored in the ledger storage unit 14 match with an owner of a terminal that is a transmission source of request information.
[0051] In addition, when the determination unit 13 determines that the key holder and the owner are the same, the unlocking / locking management unit 12 executes an unlocking process to cause the storage device 30 to execute the unlocking / locking related to the request information. In the unlocking process, the unlocking / locking management unit 12 transmits an unlocking command, which is an unlock command or a lock command, to the storage device 30.
[0052] The ledger storage unit 14 is a storage unit that stores the distributed ledger. The ledger storage unit 14 is realized by a storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and a function realized by a processor executing a predetermined program. The distributed ledger is realized by a blockchain that stores transaction data in blocks. The ledger storage unit 14 stores an unlocking history 17 and a key holder history 18. The latest data of the unlocking history 17 stored in the ledger storage unit 14 represents the unlocking state of the storage device 30 at the current time. In addition, the latest data of the key holder history 18 stored in the ledger storage unit 14 represents the key holder of the storage device 30 at the current time.
[0053] The synchronization unit 15 is a processing unit that stores transaction data in the ledger storage unit 14 while synchronizing the ledger storage units 14 among the multiple servers 10. The synchronization unit 15 can be realized by a processor executing a predetermined program.
[0054] After the unlocking management unit 12 executes the unlocking process, the synchronization unit 15 stores transaction data indicating that the unlocking process has been executed in the unlocking history 17. Here, the process related to storage is also referred to as a first storage process. When performing the first storage process, an attempt is made to reach a consensus with other servers 10 based on a consensus algorithm at a predetermined time interval. Then, when the synchronization unit 15 succeeds in reaching a consensus, the synchronization unit 15 stores the block, which is a recording unit, including new information in the block in the ledger storage unit 14. It takes several minutes to several tens of minutes for the synchronization unit 15 to reach a consensus with other servers 10. As the consensus algorithm, a conventionally proposed algorithm such as PBFT (Practical Byzantine Fault Tolerance) can be applied.
[0055] Fig. 3 is an explanatory diagram showing the data structure of a blockchain. Fig. 3 shows three blocks B1, B2, and B3 among the blocks included in the blockchain.
[0056] A blockchain is a system in which blocks, which are the units of recording, are connected in a chain. Each block contains multiple transaction data and the hash value of the immediately preceding block. Specifically, block B2 contains the hash value of the previous block B1. A hash value calculated from the multiple transaction data contained in block B2 and the hash value of block B1 is then included in block B3 as the hash value of block B2. In this way, by connecting blocks in a chain while including the contents of the previous block as a hash value, tampering with the stored transaction data is effectively prevented.
[0057] If past transaction data stored in the blockchain is changed, the block's hash value will be different from before the change, and in order to make the altered block appear correct, all blocks after it would have to be re-created, which is a very difficult task in reality.
[0058] FIG. 4 is an explanatory diagram showing the data structure of the transaction data D1.
[0059] The transaction data D1 shown in FIG. 4 includes a data field D2 indicating the contents of the transaction, and a signature field D3.
[0060] The data field D2 includes data indicating the history of unlocking and locking execution, or data indicating the history of changes in key holders.
[0061] Signature field D3 contains a digital signature generated by encrypting a hash value of the data contained in data field D2 with the signature key of the person who generated data field D2.
[0062] The transaction data D1 including data indicating the execution of unlocking corresponds to the unlocking history 17, and the transaction data D1 including data indicating a change in key holder corresponds to the key holder history 18.
[0063] FIG. 5 is a block diagram showing a schematic configuration of the storage device 30 in this embodiment.
[0064] As shown in FIG. 5, the storage device 30 includes a communication unit 31 and an unlocking control unit 32.
[0065] The communication unit 31 is a communication interface device that is connected to other devices so as to be able to communicate with the server 10 via the network N.
[0066] The unlocking / locking control unit 32 controls whether to unlock or lock the storage device 30. When the unlocking / locking control unit 32 receives an unlocking command from the unlocking / locking management unit 12 of the server 10 via the communication unit 31, it unlocks the storage device 30 according to the received unlocking command. Also, when the unlocking / locking control unit 32 receives a locking command from the unlocking / locking management unit 12 of the server 10, it locks the storage device 30 according to the received locking command.
[0067] The processing of the management system 1 configured as above will be described in comparison with a comparative example.
[0068] Fig. 6 is a flow diagram showing the unlocking process of the management system 1 in this embodiment. The series of processes shown in Fig. 6 shows the process when the user U1 unlocks the storage container 30 when the storage container 30 is in a locked state.
[0069] 6, in step S101, the reception unit 11 determines whether or not an unlock request, which is a request to unlock or lock, has been received from the terminal 21. If it is determined that an unlock request has been received (Yes in step S101), the process proceeds to step S102, and if not (No in step S101), step S101 is executed again. That is, the reception unit 11 waits in step S101 until an unlock request is received from the terminal 21. Here, the following description will proceed assuming that an unlock request has been received.
[0070] In step S102, the reception unit 11 performs authentication processing of the user U1 who is the sender of the unlock request received in step S101, and judges whether the authentication processing is successful or not. If it is judged that the authentication processing is successful (Yes in step S102), the process proceeds to step S103, and if not (No in step S102), the series of processes shown in FIG. 6 is terminated.
[0071] In step S103, the determination unit 13 determines whether the user U1 of the terminal 21 that is the sender of the unlock request received in step S101 matches the current key holder. The current key holder can be obtained by reading out the key holder history 18 from the ledger storage unit 14.
[0072] In step S104, if the judgment unit 13 determines in step S103 that the sender of the unlocking request matches the current key holder (Yes in step S104), it proceeds to step S105, and if not (No in step S104), it proceeds to step S106.
[0073] In step S105, the unlocking management unit 12 transmits an unlocking command to the storage device 30 based on the unlocking request received in step S101.
[0074] In step S106, the unlocking management unit 12 stores history information indicating that the storage device 30 has been unlocked in the unlocking history 17 of the ledger storage unit 14. The unlocking history 17 is stored after transmitting update information of the unlocking history 17 to other servers 10, etc., and reaching a consensus using a consensus algorithm. Note that the storage of the history information in the unlocking history 17 in step S106 may be performed only when result information indicating that the storage device 30 has actually executed unlocking in response to the unlocking command transmitted in step S105 is received.
[0075] In the above, the process for unlocking a locked storage container 30 has been described, but the process for locking an unlocked storage container 30 is performed in the same manner. In that case, the unlock request and unlock command in the above description should be appropriately read as a lock request and lock command, respectively.
[0076] Although FIG. 6 describes a series of processes from step S101 to step S106, the unlocking process from step S101 to S105 may be executed as a series of processes, and the storage and consensus building process of step S106 may be executed at a timing independent of the series of processes.
[0077] FIG. 7 is a flow diagram showing the process of unlocking the storage unit 30 in this embodiment.
[0078] 7, in step S201, the unlocking control unit 32 judges whether or not an unlocking command has been received from the server 10. If an unlocking command has been received, the process proceeds to step S202, and if not, the process executes step S201 again. That is, the unlocking control unit 32 waits in step S201 until an unlocking command is received from the server 10.
[0079] In step S202, the unlocking / locking control unit 32 executes the unlocking or locking of the storage unit 30 based on the unlocking / locking command received in step S201. After completing the process of step S202, step S201 is executed again.
[0080] Next, the unlocking process of the management system in the comparative example will be described. The management system in the comparative example is an example of a system equivalent to a conventional management system, and differs from the management system 1 of the present embodiment in the timing of storing the unlocking history. In the following description, the components of the management system in the comparative example will be described with the same names as those of the management system 1 of the present embodiment, without the use of reference numbers.
[0081] FIG. 8 is a flow diagram showing unlocking processing in the management system in the comparative example.
[0082] Steps S301 and S302 are the same as steps S101 and S102 of the management system 1. Here, the following description will proceed on the assumption that an unlocking request is received in step S301.
[0083] In step S303, the unlocking management unit stores the unlocking request information received in step S301 in the unlocking history of the ledger management unit. The unlocking history is stored after sending update information of the unlocking history to other servers and reaching a consensus by a consensus algorithm.
[0084] In step S304, the determination unit determines whether the sender of the unlock request received in step S301 matches the current key holder. The current key holder can be obtained by reading out the key holder information in the ledger storage unit.
[0085] In step S305, if the judgment unit determines that the sender of the unlocking request in step S304 matches the current key holder (Yes in step S305), it proceeds to step S306; if not (No in step S305), it terminates the series of processes shown in Figure 8.
[0086] In step S306, the unlocking management unit transmits an unlocking command to the storage device 30 based on the unlocking request received in step S301.
[0087] In this way, in the management system of the comparative example, the process related to the consensus formation in step S303 takes several minutes to several tens of minutes. In other words, it takes several minutes to several tens of minutes from when the unlocking request is received until the storage device 30 is actually unlocked.
[0088] On the other hand, in the management system 1 of the present embodiment, no process related to consensus building is included between receiving an unlocking request and actually unlocking the storage device 30. Therefore, the time between receiving an unlocking request and actually unlocking the storage device 30 can be shortened to a relatively short time, for example, about one second or less.
[0089] Note that the above explanation focuses on the processing of the management system 1 when user U1 stores item 5 in the storage container 30, but the same explanation also applies when user U2 removes item 5 from the storage container 30.
[0090] As described above, according to the control method of the present embodiment, the process of storing transaction data in the blockchain is not included between receiving a request to unlock the storage device and executing the unlocking. Therefore, according to the control method of one aspect of the present invention, the time required to unlock the storage device can be reduced.
[0091] In addition, the unlocking history is updated only when the unlocking of the storage device is actually performed, so that the time required to unlock the storage device can be reduced while avoiding the unlocking history from being updated when the unlocking is not actually performed due to some circumstances.
[0092] The management system can also store blocks on which consensus has been reached by multiple servers in the blockchain.
[0093] (Embodiment 2) In this embodiment, a control method capable of reducing the time required to unlock and lock a storage device will be described, as well as a technology capable of appropriately unlocking and locking a storage device after a change in key holder.
[0094] The server 10F in this embodiment is partially different from the server 10 in embodiment 1. In the following, the server 10F and the like will be mainly described with respect to the differences from the server 10.
[0095] FIG. 9 is a block diagram showing the functional configuration of the server 10F in the present embodiment.
[0096] 9, the server 10F includes a reception unit 11, an unlocking management unit 12, a ledger storage unit 14, and a synchronization unit 15A. Among the functional configurations of the server 10F, the synchronization unit 15A is different from the synchronization unit 15 of the server 10.
[0097] The synchronization unit 15A has the same functions as the synchronization unit 15 in the first embodiment, and further includes a detection unit 15B.
[0098] Similar to the synchronization unit 15, the synchronization unit 15A stores information to be stored in the ledger storage unit 14 in the ledger storage unit 14 after reaching an agreement with other servers 10F, etc. The information that the synchronization unit 15A has as information to be stored in the ledger storage unit 14 is request information indicating a request for unlocking and request information indicating a request for changing the key holder (also referred to as second request information). Here, the process of storing transaction data indicating a request for changing the key holder in the ledger storage unit 14 after reaching an agreement with other servers 10F is also referred to as second storage process.
[0099] The detection unit 15B is a processing unit that detects transaction data indicating a request to change the key holder from among the information to be stored in the ledger storage unit 14 and temporarily held by the synchronization unit 15A.
[0100] When receiving request information for unlocking the storage device 30, the synchronization unit 15A determines, by the detection unit 15B, whether or not a second storage process is being executed to store transaction data indicating a request for changing the key holder from among the information to be stored in the ledger storage unit 14. Then, depending on the result of the determination by the detection unit 15B, the synchronization unit 15A controls the execution of the unlocking process of the storage device 30.
[0101] The control of the execution of the unlocking process may include, for example, prohibiting the storage device 30 from executing the unlocking process related to the first request information.
[0102] In addition, the control of the execution of the unlocking process may include, for example, waiting until the second storage process is completed, and executing the unlocking process after the second storage process is completed.
[0103] The control of the execution of the unlocking process may include, for example, displaying an image indicating that the second storage process is to be waited for to be completed. The image is displayed, for example, by the terminal 21 of the user U1. In this case, the synchronization unit 15A transmits a signal for displaying the image to the terminal 21 via a communication interface (not shown).
[0104] FIG. 10 is a flow diagram showing processing for changing the key holder in the management system 2 in this embodiment.
[0105] 10, in step S401, the reception unit 11 determines whether or not a change request for a key holder (also simply referred to as a change request) has been received from the terminal 21. If it is determined that a change request has been received (Yes in step S401), the process proceeds to step S402, and if not (No in step S401), step S401 is executed again. In other words, the reception unit 11 waits in step S401 until a change request is received from the terminal 21.
[0106] In step S402, the reception unit 11 performs authentication processing of the user U1 who is the sender of the change request received in step S401, and judges whether the authentication processing is successful or not. If it is judged that the authentication processing is successful (Yes in step S402), the process proceeds to step S403, and if not (No in step S402), the series of processes shown in FIG. 10 is terminated.
[0107] In step S403, the unlocking management unit 12 performs a process of changing the key holder based on the change request received in step S401. Specifically, the unlocking management unit 12 performs a storage process of storing transaction data indicating a request to change the key holder in the key holder history 18. In the storage process, the transaction data is generated, and the synchronization unit 15A forms a consensus with another server 10F using a consensus algorithm, and then the transaction data is stored in the key holder history 18. The time required for forming a consensus differs depending on the type of blockchain software, but is, for example, about several minutes to several tens of minutes.
[0108] Therefore, during the period from when the change request is received in step S401 until when the key holder history information is stored in the ledger storage unit 14 in step S403, the change request from the user is not reflected in the key holder history 18. This state is also called an unreflected state.
[0109] If a request to unlock the storage device 30 is received from user U2 in an unreflected state in which the change of key holder from user U1 to user U2 has not yet been reflected, the requested unlocking cannot be executed.
[0110] Fig. 11 is a flow diagram showing the unlocking process of the management system 2 in this embodiment. The series of processes shown in Fig. 11 differs in part from the unlocking process of the management system 1 in embodiment 1 (see Fig. 6).
[0111] Steps S101 to S104 and S105 to S106 shown in FIG. 11 are the same as the steps of the same names shown in FIG.
[0112] In step S104A, detection unit 15B attempts to detect transaction data indicating a request to change the key holder from among the information held by synchronization unit 15A and to be stored in ledger storage unit 14. Synchronization unit 15A determines whether detection unit 15B has detected the above transaction data. If it is determined that the above transaction data has been detected (Yes in step S104A), the process proceeds to step S104B; otherwise (No in step S104A), the process proceeds to step S105.
[0113] In step S105B, the management system 2 performs a predetermined process. For example, the predetermined process is to end the series of processes shown in Fig. 11 at this point. Executing this process corresponds to controlling the storage device 30 to be prohibited from being unlocked, as received in step S101.
[0114] The predetermined process may be to wait for a predetermined time. If the predetermined time is waited, the detection unit 15B executes step S104A again after the predetermined time has elapsed. As a result, the unlocking management unit 12 controls the unlocking process of the storage device 30 to wait until the change request is reflected, and then executes the process of transmitting the unlocking command after waiting.
[0115] 11, the unlocking process in the unreflected state can be prohibited or put on hold, which has the advantage of avoiding the execution of the unlocking process in the unreflected state.
[0116] As described above, according to the control method of the present embodiment, it is possible to control the execution of unlocking and locking of the storage device in a state where the change of the key holder has not yet been reflected because the process related to the change of the key holder is being executed. Therefore, it is possible to reduce the time required to unlock the storage device while avoiding the inappropriate unlocking of the storage device in the unreflected state.
[0117] In addition, the execution of unlocking in the unreflected state is controlled by prohibiting the unlocking process, which makes it easier to prevent an inappropriate unlocking of a storage unit in the unreflected state.
[0118] In addition, as a control for the execution of unlocking in an unreflected state, the unlocking process is put on hold until the unreflected state ends, and the unlocking process is executed after the key holder change is reflected. This makes it easier to avoid inappropriate unlocking of the storage device in an unreflected state.
[0119] In addition, when the control of unlocking in the unreflected state is to wait for the unlocking process to end, the display image can inform the user of this. This allows the user to recognize that the process is waiting until the unreflected state ends. In addition, it is possible to prevent the user from misunderstanding and performing inappropriate operations when this display is not displayed.
[0120] (Modifications of each embodiment) In this modification, a control method and an information processing device according to a modification of each of the above embodiments will be described.
[0121] FIG. 12 is a flow chart showing a control method in this modified example.
[0122] As shown in Fig. 12, the control method in this modification is a control method in which unlocking / locking, which is the unlocking or locking of a storage device, is controlled using a blockchain. Here, the blockchain stores key holder information indicating a person who has the authority to unlock / lock the storage device.
[0123] In step S501, when first request information indicating a request to unlock is received from a terminal, it is determined whether or not the key holder obtained by reading the key holder information stored in the blockchain matches the owner of the terminal that is the sender of the first request information. If it is determined that the key holder matches the owner, the process proceeds to step S502.
[0124] In step S502, an unlocking process is executed to cause the storage device to execute the unlocking process related to the first request information.
[0125] In step S503, after the unlocking process is executed, a first storage process is executed to store transaction data indicating that the unlocking process has been executed in the block chain.
[0126] This reduces the time required to unlock the storage unit.
[0127] FIG. 13 is a block diagram showing the configuration of an information processing device 10G in this modified example.
[0128] As shown in FIG. 13, an information processing device 10G according to this modification is one of a plurality of information processing devices 10G that controls the locking or unlocking of a storage device using a blockchain.
[0129] The information processing device 10G includes a processor 41, a memory 42, and a storage device 43 in which a distributed ledger based on a blockchain is stored. The blockchain stores key holder information indicating a person who has the authority to unlock the storage device.
[0130] When the processor 41 receives first request information indicating a request to unlock from the terminal, the processor 41 uses the memory 42 to determine whether the key holder obtained by reading the key holder information stored in the blockchain matches the owner of the terminal that sent the first request information.
[0131] In addition, when the processor 41 determines using the memory 42 that the key holder and the owner match, it executes an unlocking process to cause the storage device to execute the unlocking related to the first request information.
[0132] In addition, the processor 41 uses the memory 42 to execute a first storage process in which, after the unlocking process is executed, transaction data indicating that the unlocking process has been executed is stored in the blockchain.
[0133] This reduces the time required to unlock the storage unit.
[0134] In the above-mentioned embodiment, each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory. Here, the software for realizing the information processing device of the above-mentioned embodiment is a program such as the following.
[0135] In other words, this program causes a computer to execute a control method for controlling unlocking, which is the locking or unlocking of a storage device, using a blockchain, in which key holder information indicating a person who has the authority to unlock the storage device is stored, and when first request information indicating a request for unlocking is received from a terminal, the control method determines whether a key holder obtained by reading the key holder information stored in the blockchain matches the owner of the terminal that sent the first request information, and if it is determined that the key holder and the owner match, the control method executes an unlocking process to have the storage device execute the unlocking related to the first request information, and after executing the unlocking process, executes a first storage process to store transaction data indicating that the unlocking process has been executed in the blockchain.
[0136] Although the control method according to one or more aspects has been described based on the embodiment, the present invention is not limited to this embodiment. As long as it does not deviate from the spirit of the present invention, various modifications conceived by a person skilled in the art to this embodiment and forms constructed by combining components in different embodiments may also be included within the scope of one or more aspects. [Industrial Applicability]
[0137] INDUSTRIAL APPLICABILITY The present invention can be used for a control method capable of reducing the time required to unlock and lock a storage device. Specifically, the present invention can be used for lockers that are available to the public. [Explanation of symbols]
[0138] 1, 2 Management System 5 Goods 10, 10A, 10B, 10C, 10D, 10E, 10F Server 10G Information Processing Device 11 Reception 12 Unlocking Management Department 13 Judgment section 14 Ledger storage unit 15, 15A synchronous section 15B Detection section 17 Unlocking History 18 Keyholder History 21, 22 Terminal 30 Container 31 Communications Department 32 Unlocking control section 41 Processors 42 Memory 43 Storage device B1, B2, B3 Blocks D1 Transaction Data D2 Data Fields D3 Signature Field N,M Network U1, U2 users
Claims
1. A control method for controlling unlocking or locking using a blockchain, The blockchain stores key holder information indicating a person authorized to unlock the lock, obtaining second request information indicating a request for changing the key holder information from the first terminal; When first request information indicating a request for unlocking is received from a second terminal, it is determined whether or not a second storage process is being executed to store the second request information in the block chain; When it is determined that the second storage process is not being executed, the unlocking process related to the first request information is executed; When it is determined that the second storage process is being executed, the unlocking process related to the first request information is not executed. Control methods.
2. The second storage process is a process of storing second transaction data indicating a change in the key holder information related to the second request information in the blockchain through a process related to consensus formation using a consensus algorithm. The control method according to claim 1 .
3. When controlling the execution of the unlocking process, When the second storage process is being executed, the unlocking process related to the first request information is prohibited from being executed. The control method according to claim 1 or 2.
4. When controlling the execution of the unlocking process, When the second storage process is being executed, the lock release process waits until the second storage process is completed, and executes the unlock process after the second storage process is completed. The control method according to any one of claims 1 to 3.
5. When controlling the execution of the unlocking process, When the second storage process is being executed, an image is displayed indicating that the process will be waited until the second storage process is completed. The control method according to any one of claims 1 to 4.
6. The control method further comprises: determining whether or not a key holder obtained by reading the key holder information stored in the block chain matches an owner of the second terminal that is a sender of the first request information; When it is determined that the key holder and the owner are identical, an unlocking process is executed to execute the unlocking process related to the first request information; After the unlocking process is executed, a first storage process is executed to store transaction data indicating that the unlocking process has been executed in the block chain. The control method according to any one of claims 1 to 5.
7. When the unlocking is performed, Obtain result information indicating whether the unlocking has actually been performed; The transaction data is stored in the blockchain only when the acquired result information indicates that the unlocking has actually been performed. The control method according to claim 6.
8. The first storage process is executed through a process related to consensus formation by a consensus algorithm, A process related to consensus formation by the consensus algorithm is not performed from the time the first request information is received until the unlocking process is executed. The control method according to claim 6.
9. The object for performing the unlocking or the change of the key holder information is at least one of a delivery box, a coin locker, a hotel room, an office, a house, and a mobile object. The control method according to any one of claims 1 to 8.
10. An information processing device among a plurality of information processing devices that controls unlocking or locking using a blockchain, A processor; Memory, A storage device in which the blockchain-based distributed ledger is stored, The blockchain stores key holder information indicating a person authorized to unlock the lock, The processor uses the memory to: obtaining second request information indicating a request for changing the key holder information from the first terminal; When first request information indicating a request for unlocking is received from a second terminal, it is determined whether or not a second storage process is being executed to store the second request information in the block chain; When it is determined that the second storage process is not being executed, the unlocking process related to the first request information is executed; When it is determined that the second storage process is being executed, the unlocking process related to the first request information is not executed. Information processing device.
11. The plurality of information processing devices including the information processing device according to claim 10; and a device in which unlocking or locking is controlled by the plurality of information processing devices using the blockchain. Management system.
12. A program for causing a computer to execute the control method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Blockchain fault-tolerant consensus pipeline processing method
CN113114613A
Construction method of block chain decentralized multivariate cross consensus signature lock and access control
CN114301608A
Locking control device and computer program
JP2004011397A
Data management system, information processing device, program, data management method, and data structure
JP2018055203A
Consensus loss in distributed control systems
KR1020150032200A