EP3557459B1 - Method, information processing device, management system, and program to control locking and unlocking of storage - Google Patents
Method, information processing device, management system, and program to control locking and unlocking of storage Download PDFInfo
- Publication number
- EP3557459B1 EP3557459B1 EP19158416.8A EP19158416A EP3557459B1 EP 3557459 B1 EP3557459 B1 EP 3557459B1 EP 19158416 A EP19158416 A EP 19158416A EP 3557459 B1 EP3557459 B1 EP 3557459B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- lock
- processing
- unlock
- storage
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims description 200
- 238000000034 method Methods 0.000 title claims description 45
- 230000010365 information processing Effects 0.000 title claims description 26
- 238000012545 processing Methods 0.000 claims description 186
- 230000008859 change Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 238000012508 change request Methods 0.000 description 8
- 230000000052 comparative effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- NRNCYVBFPDDJNE-UHFFFAOYSA-N pemoline Chemical compound O1C(N)=NC(=O)C1C1=CC=CC=C1 NRNCYVBFPDDJNE-UHFFFAOYSA-N 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00309—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
- G06F21/35—User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
- G06Q20/127—Shopping or accessing services according to a time-limitation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/322—Aspects of commerce using mobile devices [M-devices]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00571—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by interacting with a central unit
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00896—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys specially adapted for particular uses
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/10—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for means for safe-keeping of property, left temporarily, e.g. by fastening the property
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/10—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for means for safe-keeping of property, left temporarily, e.g. by fastening the property
- G07F17/12—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for means for safe-keeping of property, left temporarily, e.g. by fastening the property comprising lockable containers, e.g. for accepting clothes to be cleaned
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1433—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1483—Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
Definitions
- the present disclosure relates to a control method, an information processing device, a management system, and a program.
- NPL 1 Non Patent Literature 1
- NPL 1 GMO Internet Inc., GMO Internet Group, Hong Information Systems Co., Ltd., and Parco Co., Ltd. have jointly conducted the second field trial utilizing blockchain and IoT (GMO Internet Group, Hong Joho Systems, Parco ga kyodo de blockchain to IoT wo katsuyo shita jissho jikken no dainidan wo jisshi), June 21, 2017, retrieved October 25, 2018 from https://cloud.z.com/jp/news-ep/iot2/
- a key end sends transaction information carrying control information to a network system based on a block chain, wherein the control information is information for controlling a lock end, and the transaction information includes public key for identifying the key end; the lock end receives the transaction information sent by the network system; the lock end determines whether to execute operation corresponding to the control information or not according to the public key in the transaction information and a locally stored control authority list.
- the document WO 2017/190794 discloses transmitting user identification to a peer-to-peer module. After a positive verification of the user identification by comparing with stored identifications, transmitting a release information to a locking unit of a car and performing a car sharing criterion transaction.
- the present disclosure provides an information processing method and the related technologies that can reduce the time required to lock or unlock the storage.
- a control method is a control method of controlling locking or unlocking of storage using a blockchain.
- the control method is defined in the appended claims and includes:
- a control method according to the present disclosure can reduce the time required to lock or unlock storage.
- a control method is a control method of controlling locking or unlocking of storage using a blockchain.
- the control method includes: determining, when first request information indicating a lock/unlock request is received from a terminal, whether or not a keyholder identified by reading keyholder information stored in the blockchain matches an owner of the terminal that has transmitted the first request information, the lock/unlock request being a lock request or an unlock request, the keyholder information indicating a person having authority to lock or unlock the storage; performing lock/unlock processing when the keyholder is determined to match the owner, the lock/unlock processing being processing for causing the storage to lock or unlock in accordance with the first request information; and performing first storage processing after the lock/unlock processing is performed, the first storage processing being processing of storing, in the blockchain, transaction data indicating that the lock/unlock processing has been performed.
- the processing of storing transaction data in the blockchain is not included between the reception of a request to lock or unlock the storage and the actual locking or unlocking of the storage. Accordingly, the control method according to an aspect of the present disclosure can reduce the time required to lock or unlock the storage.
- control method may further include: performing second storage processing when second request information indicating a request to change the keyholder information is received from the terminal, the second storage processing being processing of storing the second request information in the blockchain; determining, when the first request information is received, whether or not the second storage processing is currently being performed; and controlling the lock/unlock processing in accordance with a result of the determining.
- the unreflected state that is a state in which the keyholder change is not reflected because the processing for changing the keyholder is currently being performed. Accordingly, it is possible to reduce the time required to lock or unlock the storage, while preventing the storage from being inappropriately locked or unlocked in the unreflected state.
- controlling of the lock/unlock processing may include prohibiting the lock/unlock processing in accordance with the first request information.
- the locking or unlocking of the storage in the unreflected state is controlled by prohibiting the lock/unlock processing. This makes it possible to more easily prevent the storage from being inappropriately locked or unlocked in the unreflected state.
- controlling of the lock/unlock processing may include standing by until the second storage processing finishes, and performing the lock/unlock processing after the second storage processing finishes.
- the locking or unlocking of the storage in the unreflected state is controlled by putting the lock/unlock processing on standby until the unreflected state finishes, and locking or unlocking the storage after the keyholder change is reflected. This makes it possible to more easily prevent the storage from being inappropriately locked or unlocked in the unreflected state.
- controlling of the lock/unlock processing may include displaying an image indicating standby until the second storage processing finishes.
- the user when the locking or unlocking of the storage in the unreflected state is controlled by putting the lock/unlock processing on standby until the unreflected state finishes, the user can be notified of the standby status through a display image. This allows the user to recognize that the lock/unlock processing is on standby until the unreflected state finishes. Moreover, this can prevent inappropriate operations or the like which may be performed by the user based on false recognition if such display is absent.
- control method may further include, when the storage has been caused to lock or unlock: obtaining result information indicating whether or not the locking or unlocking has actually been performed; and storing the transaction data in the blockchain only when the result information obtained indicates that the locking or unlocking has actually been performed.
- the lock history is updated only when the storage is actually locked or unlocked. It is thus possible to reduce the time required to lock or unlock the storage while preventing an update of the lock history if the storage was not actually locked or unlocked due to some circumstances.
- the storing of the transaction data in the blockchain may include generating a block including the transaction data, and storing the transaction data in the blockchain when a consensus is reached on the block generated.
- the management system can store, in the blockchain, a block on which a consensus has been reached among a plurality of servers.
- An information processing device is an information processing device that is one of a plurality of information processing devices and controls locking or unlocking of storage using a blockchain.
- the information processing device includes a processor, memory, and a storage device that stores a distributed ledger in a form of the blockchain.
- the blockchain stores keyholder information indicating a person having authority to lock or unlock the storage.
- the processor uses the memory: determines, when first request information indicating a lock/unlock request is received from a terminal, whether or not a keyholder identified by reading the keyholder information stored in the blockchain matches an owner of the terminal that has transmitted the first request information, the lock/unlock request being a lock request or an unlock request; performs lock/unlock processing when the keyholder is determined to match the owner, the lock/unlock processing being processing for causing the storage to lock or unlock in accordance with the first request information; and performs first storage processing after the lock/unlock processing is performed, the first storage processing being processing of storing, in the blockchain, transaction data indicating that the lock/unlock processing has been performed.
- a management system is a management system including: the plurality of information processing devices including the information processing device described above; and the storage of which locking or unlocking is controlled by the plurality of information processing devices using the blockchain.
- a program according to an aspect of the present disclosure is a program for causing a computer to execute the control method described above.
- the present embodiment describes a control method and the related technologies that can reduce the time required to lock or unlock storage.
- the control method according to the present embodiment is a method of controlling locking or unlocking of one or more storages that can store one or more items, using a distributed ledger.
- the storages are delivery boxes or coin-operated lockers, for example.
- the control method according to the present embodiment is also applicable to, for example, hotel rooms, offices, houses, and vehicles such as cars, that are locked or unlocked.
- FIG. 1 is a block diagram illustrating a configuration of management system 1 according to the present embodiment.
- management system 1 includes servers 10A, 10B, ..., and 10E, terminals 21 and 22, and storage 30.
- Servers 10A, 10B, ..., and 10E are also referred to as “servers 10A etc.”, and each of servers 10A etc. is also referred to as "server 10".
- Management system 1 manages locking or unlocking of storage 30 when user U1 is to pass item 5 to user U2 using storage 30.
- storage 30 is a delivery box and management system 1 manages locking or unlocking of the delivery box.
- management system 1 manages locking or unlocking of the delivery box. For example, when a recipient is to receive item 5 via a courier, user U1 corresponds to the courier and user U2 corresponds to the recipient.
- Each of servers 10A etc. is a server device that is an information processing device that manages locking or unlocking of storage 30 on a computer using a distributed ledger.
- Each of servers 10A etc. has a ledger for managing the locking or unlocking of storage 30, and updates the ledger while synchronizing its own ledger with ledgers of the other servers 10.
- the distributed ledger can be realized by blockchain technology having an advantage of difficulty in tampering with recorded information.
- Each of the ledgers of servers 10A etc. stores information indicating whether storage 30 is locked or unlocked and keyholder information indicating who is the keyholder, namely, the person having the authority to lock or unlock storage 30.
- Servers 10A etc. are communicably connected with terminals 21 and 22 and storage 30 via network N.
- Servers 10A etc. are connected to one another via network M to enable mutual communication.
- Network M may be connected with network N, or may be network N.
- the function to manage the locking or unlocking of storage 30 and the function to manage the keyholder may be implemented through execution of an ordinary computer program code, or may be implemented through execution of a contract code that is a program code recorded on the ledgers, in other words, using a smart contract.
- Terminals 21 and 22 are information processing terminals that receive a user's operation for locking or unlocking storage 30 and transmit information to servers 10A etc.
- terminal 21 is owned by user U1 who is to pass item 5
- terminal 22 is owned by user U2 who is to receive item 5.
- Terminals 21 and 22 are smartphones or personal computers, for example.
- Storage 30 is a temporary storage site used for passing item 5 from user U1 to user U2. It is assumed that the person having the authority to lock or unlock storage 30 is limited to a predetermined number of people.
- the predetermined number of people is, for example, one as in the following description; however, the predetermined number of people is not limited to one.
- Storage 30 includes at least a compartment for storing item 5. Storage 30 is unlocked based on an operation by user U1, and is locked after user U1 stores item 5. Thereafter, storage 30 is unlocked based on an operation by user U2 who then takes out item 5.
- management system 1 processes performed by management system 1 when, for example, user U1 is to store item 5 in storage 30; however, the same description applies to the case where item 5 is to be taken out from storage 30.
- FIG. 2 is a block diagram illustrating a functional configuration of server 10 according to the present embodiment.
- server 10 includes receiver 11, lock manager 12, ledger storage 14, and synchronizer 15.
- Receiver 11 is a processing unit that receives a lock/unlock request, that is a lock request indicating a request for locking storage 30 or an unlock request indicating a request for unlocking storage 30.
- Receiver 11 can be realized by a processor executing a given program.
- Receiver 11 receives request information indicating a lock/unlock request (also referred to as first request information) from terminal 21 of user U1 via a communication interface.
- request information indicating a lock/unlock request (also referred to as first request information) from terminal 21 of user U1 via a communication interface.
- receiver 11 performs authentication processing for authenticating user U1 who has transmitted the request information.
- the authentication processing uses, for example, identification information of terminal 21, and publicly known technology such as PKI (public-key infrastructure) is applicable to the authentication processing.
- PKI public-key infrastructure
- Lock manager 12 is a processing unit that manages locking or unlocking of storage 30.
- Lock manager 12 can be realized by a processor executing a given program.
- Lock manager 12 includes determiner 13 that determines whether or not the keyholder matches the owner of the terminal that has transmitted the request information. Specifically, when request information indicating an unlock request is received from terminal 21, determiner 13 determines whether or not the keyholder identified by reading the keyholder information stored in ledger storage 14 matches the owner of the terminal that has transmitted the request information.
- lock manager 12 When determiner 13 determines that the keyholder matches the owner, lock manager 12 performs lock/unlock processing for causing storage 30 to unlock in accordance with the request information.
- the lock/unlock processing includes transmission of a lock/unlock instruction, that is a lock instruction or an unlock instruction, to storage 30.
- Ledger storage 14 stores a distributed ledger.
- Ledger storage 14 is realized by a storage device such as a HDD (hard disk drive) or an SSD (solid state drive), and a function achieved by a processor executing a given program.
- the distributed ledger is realized by blockchain that stores transaction data in blocks.
- Ledger storage 14 stores lock history 17 and keyholder history 18.
- the latest data of lock history 17 stored in ledger storage 14 indicates the current locked/unlocked state of storage 30.
- the latest data in keyholder history 18 stored in ledger storage 14 indicates the current keyholder of storage 30.
- Synchronizer 15 is a processing unit that stores transaction data in ledger storage 14 while synchronizing ledger storages 14 of a plurality of servers 10. Synchronizer 15 can be realized by a processor executing a given program.
- synchronizer 15 stores, in lock history 17, transaction data indicating that the lock/unlock processing has been performed.
- this storage processing is also referred to as first storage processing.
- first storage processing When performing the first storage processing, an attempt is made at certain time intervals to reach a consensus with other servers 10 based on a consensus algorithm.
- synchronizer 15 When a consensus is successfully reached, synchronizer 15 includes new information in a block that is the unit of recording, and stores the block in ledger storage 14. To reach a consensus by synchronizer 15 and other servers 10, it requires about several minutes to several tens of minutes. Conventional consensus algorithms such as PBFT (practical byzantine fault tolerance) are applicable.
- FIG. 3 is an explanatory diagram illustrating a data configuration of a blockchain.
- FIG. 3 shows three blocks B1, B2, and B3 among blocks included in the blockchain.
- the blockchain is a chain of blocks, each of which is the unit of recording.
- Each block includes a plurality of pieces of transaction data and a hash value of the immediately preceding block.
- block B2 includes a hash value of the preceding block B1.
- a hash value calculated based on a plurality of pieces of transaction data included in block B2 and the hash value of block B1 is included in block B3 as the hash value of block B2.
- FIG. 4 is an explanatory diagram illustrating a data configuration of transaction data D1.
- Transaction data D1 illustrated in FIG. 4 includes data field D2 indicating the content of transaction, and signature field D3.
- Data field D2 includes (i) data indicating a history of locking or unlocking or (ii) data indicating a history of change of the keyholder.
- Signature field D3 includes an electronic signature generated by encrypting, with a signature key of a person who has generated data field D2, the hash value of the data included in data field D2.
- Transaction data D1 that includes data indicating locking or unlocking corresponds to lock history 17
- transaction data D1 that includes data indicating a change of the keyholder corresponds to keyholder history 18.
- FIG. 5 is a block diagram schematically illustrating a configuration of storage 30 according to the present embodiment.
- storage 30 includes communication unit 31 and lock controller 32.
- Communication unit 31 is a communication interface device communicably connected with another device. Communication unit 31 is connected to network N and is communicable with server 10 via network N.
- Lock controller 32 controls whether to lock or unlock storage 30.
- lock controller 32 receives an unlock instruction from lock manager 12 of server 10 via communication unit 31, lock controller 32 unlocks storage 30 in accordance with the unlock instruction received.
- lock controller 32 receives a lock instruction from lock manager 12 of server 10, lock controller 32 locks storage 30 in accordance with the lock instruction received.
- management system 1 configured as above, while comparing with a comparative example.
- FIG. 6 is a flow chart illustrating the locking or unlocking by management system 1 according to the present embodiment. A series of processing illustrated in FIG. 6 is processing performed when user U1 is to unlock storage 30 which is in the locked state.
- Step S101 receiver 11 determines whether or not a lock/unlock request, that is a lock request or an unlock request, has been received from terminal 21. If receiver 11 determines that a lock/unlock request has been received (YES in Step S101), the processing proceeds to Step S102, and if not (NO in Step S101), receiver 11 performs Step S101 again. That is to say, receiver 11 stands by in Step S101 until a lock/unlock request is received from terminal 21. The following description assumes that an unlock request has been received.
- Step S102 receiver 11 performs authentication processing on user U1 who has transmitted the unlock request received in Step S101, and determines whether or not the authentication processing succeeds. If receiver 11 determines that the authentication processing has succeeded (YES in Step S102), the processing proceeds to Step S103, and if not (NO in Step S102), the series of processing illustrated in FIG. 6 is ended.
- Step S103 determiner 13 determines whether or not user U1 of terminal 21 that has transmitted the unlock request received in Step S101 matches the current keyholder.
- the current keyholder is identified by reading keyholder history 18 in ledger storage 14.
- Step S104 if determiner 13 determines in Step S103 that the person who has transmitted the unlock request matches the current keyholder (YES in Step S104), the processing proceeds to Step S105, and if not (NO in Step S104), the processing proceeds to Step S106.
- Step S105 lock manager 12 transmits an unlock instruction to storage 30 based on the unlock request received in Step S101.
- Step S106 lock manager 12 stores history information indicating that storage 30 has been unlocked, in lock history 17 stored in ledger storage 14.
- the storage of lock history 17 is performed after update information of lock history 17 is transmitted to other servers 10 etc. and a consensus is reached based on a consensus algorithm. Note that the storage of the history information in lock history 17 in Step S106 may be performed only if result information indicating that storage 30 has actually unlocked in response to the unlock instruction transmitted in Step S105 is received.
- the series of processing from Step S101 to Step S106 is performed; however, the unlock processing from Step S101 to S105 may be performed as a series of processing, and the storing processing and the consensus reaching processing in Step S106 may be performed independently of the series of processing Step S101 to S105 in terms of timing.
- FIG. 7 is a flow chart illustrating locking or unlocking of storage 30 according to the present embodiment.
- Step S201 lock controller 32 determines whether or not a lock/unlock instruction has been received from server 10. If a lock/unlock instruction has been received, the processing proceeds to Step S202, and if not, Step S201 is performed again. That is to say, lock controller 32 stands by in Step S201 until a lock/unlock instruction is received from server 10.
- Step S202 lock controller 32 locks or unlocks storage 30 based on the lock/unlock instruction received in Step S201.
- Step S201 is performed again.
- the following describes locking or unlocking by a management system according to a comparative example.
- the management system according to the comparative example is an example of a system equivalent to a conventional management system, and is different from management system 1 according to the present embodiment in terms of timing of storing the lock history.
- the structural elements of the management system according to the comparative example are given the same names as in management system 1 of the present embodiment, but are given no reference signs.
- FIG. 8 is a flow chart illustrating the locking or unlocking by the management system according to the comparative example.
- Steps S301 and S302 are the same as Steps S101 and 102 of management system 1. The following description assumes that an unlock request has been received in Step S301.
- Step S303 the lock manager stores the request information indicating a lock/unlock request received in Step S301, in the lock history stored in the ledger storage.
- the storage of the lock history is performed after update information of the lock history is transmitted to other servers and a consensus is reached based on a consensus algorithm.
- Step S304 the determiner determines whether or not the person who has transmitted the unlock request received in Step S301 matches the current keyholder.
- the current keyholder is identified by reading the keyholder information stored in the ledger storage.
- Step S305 if the determiner determines in Step S304 that the person who has transmitted the unlock request matches the current keyholder (YES in Step S305), the processing proceeds to Step S306, and if not (NO in Step S305), the series of processing illustrated in FIG. 8 is ended.
- Step S306 the lock manager transmits an unlock instruction to storage 30 based on the unlock request received in Step S301.
- the management system according to the comparative example requires several minutes to several tens of minutes to perform the consensus reaching processing in Step S303. That is to say, a time period exceeding about several minutes to several tens of minutes is required between the reception of a lock/unlock request and the actual locking or unlocking of storage 30.
- the consensus reaching processing is not included between the reception of a lock/unlock request and the actual locking or unlocking of storage 30.
- the time period between the reception of a lock/unlock request and the actual locking or unlocking of storage 30 can be reduced to a relatively short period of time, for example, about one second or less.
- the processing of storing transaction data in the blockchain is not included between the reception of a request to lock or unlock the storage and the actual locking or unlocking of the storage. Accordingly, the control method according to an aspect of the present disclosure can reduce the time required to lock or unlock the storage.
- the lock history is updated only when the storage is actually locked or unlocked. It is thus possible to reduce the time required to lock or unlock the storage while preventing an update of the lock history if the storage was not actually locked or unlocked due to some circumstances.
- the management system can store, in the blockchain, a block on which a consensus has been reached among a plurality of servers.
- the present embodiment describes a technique by which the storage can be appropriately locked or unlocked after a change of the keyholder.
- Server 10F according to the present embodiment is partially different from server 10 according to Embodiment 1.
- the following describes server 10F etc., while mainly focusing on the difference from server 10.
- FIG. 9 is a block diagram illustrating a functional configuration of server 10F according to the present embodiment.
- server 10F includes receiver 11, lock manager 12, ledger storage 14, and synchronizer 15A.
- synchronizer 15A is different from synchronizer 15 included in server 10.
- Synchronizer 15A has the same function as that of synchronizer 15 in Embodiment 1, but further includes detector 15B.
- synchronizer 15A stores, in ledger storage 14, information to be stored in ledger storage 14, after reaching a consensus with other servers 10F etc.
- the information held by synchronizer 15A as information to be stored in ledger storage 14 is request information indicating a lock/unlock request and request information indicating a request to change the keyholder (also referred to as second request information).
- request information indicating a lock/unlock request
- request information indicating a request to change the keyholder
- Detector 15B is a processing unit that detects, from the information that is temporarily held by synchronizer 15A and is to be stored in ledger storage 14, the transaction data indicating a request to change the keyholder.
- synchronizer 15A determines, using detector 15B, whether or not the second storage processing is currently being performed, that is, whether or not the processing of storing the transaction data that is included in the information to be stored in ledger storage 14 and indicates a request to change the keyholder is currently being performed. Then, lock manager 12 controls the lock/unlock processing for storage 30 in accordance with the result of determination by detector 15B.
- the control on the lock/unlock processing may include, for example, prohibiting the lock/unlock processing in accordance with the first request information.
- the control on the lock/unlock processing may include, for example, standing by until the second storage processing finishes, and performing the lock/unlock processing after the second storage processing finishes.
- the control on the lock/unlock processing may include, for example, displaying an image indicating standby until the second storage processing finishes.
- the image is displayed by terminal 21 of user U1, for example.
- synchronizer 15A transmits a signal for displaying the image, to terminal 21 via a communication interface (not illustrated).
- FIG. 10 is a flow chart illustrating processing for changing the keyholder, performed by management system 2 according to the present embodiment.
- Step S401 receiver 11 determines whether or not a request to change the keyholder (also simply referred to as a change request) has been received from terminal 21. If receiver 11 determines that the change request has been received (YES in Step S401), the processing proceeds to Step S402, and if not (NO in Step S401), receiver 11 performs Step S401 again. That is to say, receiver 11 stands by in Step S401 until the change request is received from terminal 21.
- a request to change the keyholder also simply referred to as a change request
- Step S402 receiver 11 performs authentication processing on user U1 who has transmitted the change request received in Step S401, and determines whether or not the authentication processing succeeds. If receiver 11 determines that the authentication processing has succeeded (YES in Step S402), the processing proceeds to Step S403, and if not (NO in Step S402), the series of processing illustrated in FIG. 10 is ended.
- lock manager 12 performs processing of changing the keyholder based on the change request received in Step S401. Specifically, lock manager 12 performs storage processing of storing, in keyholder history 18, transaction data indicating a request to change the keyholder. In the storage processing, the transaction data is generated and stored in keyholder history 18 after a consensus is reached by synchronizer 15A and other servers 10F based on a consensus algorithm.
- the time required to reach a consensus depends on the type of blockchain software, and is, for example, about several minutes to several tens of minutes.
- the change request from the user is not reflected in keyholder history 18 during a time period between the reception of the change request in Step S401 and the storage of keyholder history information in ledger storage 14 in Step S403.
- This state is also referred to as an unreflected state.
- FIG. 11 is a flow chart illustrating the lock/unlock processing performed by management system 2 according to the present embodiment. The series of processing illustrated in FIG. 11 is partially different from the lock/unlock processing performed by management system 1 according to Embodiment 1 (see FIG. 6 ).
- Steps S101 to S104 and S105 to S106 illustrated in FIG. 11 are the same as those in FIG. 6 .
- Step S104A detector 15B attempts to detect transaction data indicating a request to change the keyholder, from information that is held by synchronizer 15A and is to be stored in ledger storage 14. Synchronizer 15A determines whether or not detector 15B has detected the transaction data. If synchronizer 15A determines that detector 15B has detected the transaction data (YES in Step S104A), the processing proceeds to Step S104B, and if not (NO in Step S104A), the processing proceeds to Step S105.
- Step S104B management system 2 performs predetermined processing.
- the predetermined processing is, for example, to end, at this point in time, the series of processing illustrated in FIG. 11 . Performing this processing is equivalent to performing control to prohibit the lock/unlock processing for storage 30, the request for which has been received in Step S101.
- the predetermined processing may be to stand by for a predetermined time period.
- detector 15B performs Step S104A again after a lapse of the predetermined time period.
- lock manager 12 puts the lock/unlock processing for storage 30 on standby until the change request is reflected, and performs control to transmit a lock/unlock instruction after the standby.
- the processing illustrated in FIG. 11 enables prohibition or standby of the lock/unlock processing in the above-described unreflected state. This yields an advantage of preventing the lock/unlock processing in the unreflected state.
- control method enables control on the locking or unlocking of the storage in the unreflected state, that is a state in which the keyholder change is not reflected because the processing for changing the keyholder is currently being performed. Accordingly, it is possible to reduce the time required to lock or unlock the storage, while preventing the storage from being inappropriately locked or unlocked in the unreflected state.
- the locking or unlocking of the storage in the unreflected state is controlled by prohibiting the lock/unlock processing. This makes it possible to more easily prevent the storage from being inappropriately locked or unlocked in the unreflected state.
- the locking or unlocking of the storage in the unreflected state is controlled by putting the lock/unlock processing on standby until the unreflected state finishes, and locking or unlocking the storage after the keyholder change is reflected. This makes it possible to more easily prevent the storage from being inappropriately locked or unlocked in the unreflected state.
- the user can be notified of the standby status through a display image. This allows the user to recognize that the lock/unlock processing is on standby until the unreflected state finishes. Moreover, this can prevent inappropriate operations or the like which may be performed by the user based on false recognition if such display is absent.
- the present variation describes a control method and an information processing device according to a variation of each embodiment described above.
- FIG. 12 is a flow chart illustrating the control method according to the present variation.
- the control method according to the present variation is a method for controlling locking or unlocking of storage using a blockchain.
- the blockchain stores keyholder information indicating a person who has the authority to lock or unlock the storage.
- Step S501 when the first request information indicating a lock/unlock request is received from a terminal, it is determined whether or not the keyholder identified by reading the keyholder information stored in the blockchain matches the owner of the terminal that has transmitted the first request information. When it is determined that the keyholder matches the owner, the processing proceeds to Step S502.
- Step S502 the lock/unlock processing is performed for causing the storage to lock or unlock in accordance with the first request information.
- Step S503 after the lock/unlock processing is performed, the first storage processing is performed to store, in the blockchain, transaction data indicating that the lock/unlock processing has been performed.
- FIG. 13 is a block diagram illustrating a configuration of information processing device 10G according to the present variation.
- information processing device 10G is one of a plurality of information processing devices that controls locking or unlocking of storage using a blockchain.
- Information processing device 10G includes processor 41, memory 42, and storage device 43 that stores a distributed ledger in the form of a blockchain.
- the blockchain stores keyholder information indicating a person who has the authority to lock or unlock the storage.
- processor 41 When processor 41 receives, using memory 42, the first request information indicating a lock/unlock request from a terminal, processor 41 determines, using memory 42, whether or not the keyholder identified by reading the keyholder information stored in the blockchain matches the owner of the terminal that has transmitted the first request information.
- processor 41 determines that the keyholder matches the owner, processor 41 performs, using memory 42, the lock/unlock processing for causing the storage to lock or unlock in accordance with the first request information.
- processor 41 After performing the lock/unlock processing, processor 41 performs, using memory 42, the first storage processing to store, in the blockchain, transaction data indicating that the lock/unlock processing has been performed.
- each of the structural elements in the above embodiments may be configured in the form of an exclusive hardware product, or may be implemented by executing a software program suitable for each structural element.
- Each of the structural elements may be implemented by means of a program executing unit, such as a CPU or a processor, reading and executing the software program recorded on a recording medium such as a hard disk or a semiconductor memory.
- the software that implements the information processing device etc. in the above embodiments is a program as follows: That is to say, this program causes a computer to perform a control method of controlling locking or unlocking of storage using a blockchain.
- the control method includes: determining, when first request information indicating a lock/unlock request is received from a terminal, whether or not a keyholder identified by reading keyholder information stored in the blockchain matches an owner of the terminal that has transmitted the first request information, the lock/unlock request being a lock request or an unlock request, the keyholder information indicating a person having authority to lock or unlock the storage; performing lock/unlock processing when the keyholder is determined to match the owner, the lock/unlock processing being processing for causing the storage to lock or unlock in accordance with the first request information; and performing first storage processing after the lock/unlock processing is performed, the first storage processing being processing of storing, in the blockchain, transaction data indicating that the lock/unlock processing has been performed.
- the present disclosure is applicable to, for example, a control method that can reduce the time required to lock or unlock storage. Specifically, the present disclosure is applicable to, for example, a locker available for public use.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Human Computer Interaction (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Lock And Its Accessories (AREA)
- Supports Or Holders For Household Use (AREA)
Description
- The present disclosure relates to a control method, an information processing device, a management system, and a program.
- A technique for managing, using a blockchain, locking or unlocking of storage such as a delivery box that stores items has been disclosed (see Non Patent Literature 1 (NPL 1)).
- NPL 1: GMO Internet Inc., GMO Internet Group, Saison Information Systems Co., Ltd., and Parco Co., Ltd. have jointly conducted the second field trial utilizing blockchain and IoT (GMO Internet Group, Saison Joho Systems, Parco ga kyodo de blockchain to IoT wo katsuyo shita jissho jikken no dainidan wo jisshi), June 21, 2017, retrieved October 25, 2018 from https://cloud.z.com/jp/news-ep/iot2/
- Further art is disclosed by the document
CN 106875518 which discloses a control method and a control device for an intelligent lock and the intelligent lock where locking/unlocking a door can be performed by a smartphone through a computer. The method comprises the following steps that a key end sends transaction information carrying control information to a network system based on a block chain, wherein the control information is information for controlling a lock end, and the transaction information includes public key for identifying the key end; the lock end receives the transaction information sent by the network system; the lock end determines whether to execute operation corresponding to the control information or not according to the public key in the transaction information and a locally stored control authority list. - The document
WO 2017/190794 discloses transmitting user identification to a peer-to-peer module. After a positive verification of the user identification by comparing with stored identifications, transmitting a release information to a locking unit of a car and performing a car sharing criterion transaction. - It, however, requires a relatively long time to lock or unlock the storage.
- In view of this, the present disclosure provides an information processing method and the related technologies that can reduce the time required to lock or unlock the storage.
- A control method according to an aspect of the present disclosure is a control method of controlling locking or unlocking of storage using a blockchain. The control method is defined in the appended claims and includes:
- authenticating, when first request information indicating a lock/unlock request is received from a terminal, a user of the terminal by using identification information of the terminal and a public-key infrastructure, PKI, determining whether or not a keyholder identified by keyholder information stored in the blockchain matches the authenticated user of the terminal that has transmitted the first request information, by determining whether or not the keyholder information matches information that indicates the user of the terminal that has transmitted the first request information, the lock/unlock request being a lock request or an unlock request, the keyholder information indicating a person having authority to lock or unlock the storage; performing lock/unlock processing when the keyholder is determined to match the user, the lock/unlock processing being processing for causing the storage to lock or
- unlock in accordance with the first request information, the lock/unlock processing including transmitting a lock/unlock instruction to the storage via a network to cause the storage to lock or unlock without a consensus reaching processing; andperforming first storage processing that includes consensus reaching processing performed by a plurality of servers that store transaction data in the blockchain after the lock/unlock processing is performed, the first storage processing being processing of storing, in the blockchain, the transaction data indicating that the lock/ unlock processing has been performed.
- Note that these general or specific aspects may be realized by a system, a device, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM (compact disc read only memory), or by any combination of systems, devices, integrated circuits, computer programs, and recording media.
- A control method according to the present disclosure can reduce the time required to lock or unlock storage.
-
-
FIG. 1 is a block diagram schematically illustrating a configuration of a management system according toEmbodiment 1; -
FIG. 2 is a block diagram illustrating a functional configuration of a server according toEmbodiment 1; -
FIG. 3 is an explanatory diagram illustrating a data configuration of a blockchain; -
FIG. 4 is an explanatory diagram illustrating a data configuration of transaction data; -
FIG. 5 is a block diagram schematically illustrating a configuration of storage according toEmbodiment 1; -
FIG. 6 is a flow chart illustrating locking or unlocking by the management system according toEmbodiment 1; -
FIG. 7 is a flow chart illustrating locking or unlocking of the storage according toEmbodiment 1; -
FIG. 8 is a flow chart illustrating locking or unlocking by a management system according to a comparative example; -
FIG. 9 is a block diagram illustrating a functional configuration of a server according to Embodiment 2; -
FIG. 10 is a flow chart illustrating processing for changing a keyholder, performed by a management system according to Embodiment 2; -
FIG. 11 is a flow chart illustrating lock/unlock processing performed by the management system according to Embodiment 2; -
FIG. 12 is a flow chart illustrating a control method according to a variation of each embodiment; and -
FIG. 13 is a block diagram illustrating a configuration of an information processing device according to the variation of each embodiment. - A control method according to an aspect of the present disclosure is a control method of controlling locking or unlocking of storage using a blockchain. The control method includes: determining, when first request information indicating a lock/unlock request is received from a terminal, whether or not a keyholder identified by reading keyholder information stored in the blockchain matches an owner of the terminal that has transmitted the first request information, the lock/unlock request being a lock request or an unlock request, the keyholder information indicating a person having authority to lock or unlock the storage; performing lock/unlock processing when the keyholder is determined to match the owner, the lock/unlock processing being processing for causing the storage to lock or unlock in accordance with the first request information; and performing first storage processing after the lock/unlock processing is performed, the first storage processing being processing of storing, in the blockchain, transaction data indicating that the lock/unlock processing has been performed.
- According to the above aspect, the processing of storing transaction data in the blockchain is not included between the reception of a request to lock or unlock the storage and the actual locking or unlocking of the storage. Accordingly, the control method according to an aspect of the present disclosure can reduce the time required to lock or unlock the storage.
- For example, the control method may further include: performing second storage processing when second request information indicating a request to change the keyholder information is received from the terminal, the second storage processing being processing of storing the second request information in the blockchain; determining, when the first request information is received, whether or not the second storage processing is currently being performed; and controlling the lock/unlock processing in accordance with a result of the determining.
- According to the above aspect, it is possible to control the locking or unlocking of the storage in the unreflected state, that is a state in which the keyholder change is not reflected because the processing for changing the keyholder is currently being performed. Accordingly, it is possible to reduce the time required to lock or unlock the storage, while preventing the storage from being inappropriately locked or unlocked in the unreflected state.
- For example, the controlling of the lock/unlock processing may include prohibiting the lock/unlock processing in accordance with the first request information.
- According to the above aspect, the locking or unlocking of the storage in the unreflected state is controlled by prohibiting the lock/unlock processing. This makes it possible to more easily prevent the storage from being inappropriately locked or unlocked in the unreflected state.
- For example, the controlling of the lock/unlock processing may include standing by until the second storage processing finishes, and performing the lock/unlock processing after the second storage processing finishes.
- According to the above aspect, the locking or unlocking of the storage in the unreflected state is controlled by putting the lock/unlock processing on standby until the unreflected state finishes, and locking or unlocking the storage after the keyholder change is reflected. This makes it possible to more easily prevent the storage from being inappropriately locked or unlocked in the unreflected state.
- For example, the controlling of the lock/unlock processing may include displaying an image indicating standby until the second storage processing finishes.
- According to the above aspect, when the locking or unlocking of the storage in the unreflected state is controlled by putting the lock/unlock processing on standby until the unreflected state finishes, the user can be notified of the standby status through a display image. This allows the user to recognize that the lock/unlock processing is on standby until the unreflected state finishes. Moreover, this can prevent inappropriate operations or the like which may be performed by the user based on false recognition if such display is absent.
- For example, the control method according to the above aspect may further include, when the storage has been caused to lock or unlock: obtaining result information indicating whether or not the locking or unlocking has actually been performed; and storing the transaction data in the blockchain only when the result information obtained indicates that the locking or unlocking has actually been performed.
- According to the above aspect, the lock history is updated only when the storage is actually locked or unlocked. It is thus possible to reduce the time required to lock or unlock the storage while preventing an update of the lock history if the storage was not actually locked or unlocked due to some circumstances.
- For example, the storing of the transaction data in the blockchain may include generating a block including the transaction data, and storing the transaction data in the blockchain when a consensus is reached on the block generated.
- According to the above aspect, the management system can store, in the blockchain, a block on which a consensus has been reached among a plurality of servers.
- An information processing device according to an aspect of the present disclosure is an information processing device that is one of a plurality of information processing devices and controls locking or unlocking of storage using a blockchain. The information processing device includes a processor, memory, and a storage device that stores a distributed ledger in a form of the blockchain. The blockchain stores keyholder information indicating a person having authority to lock or unlock the storage. The processor, using the memory: determines, when first request information indicating a lock/unlock request is received from a terminal, whether or not a keyholder identified by reading the keyholder information stored in the blockchain matches an owner of the terminal that has transmitted the first request information, the lock/unlock request being a lock request or an unlock request; performs lock/unlock processing when the keyholder is determined to match the owner, the lock/unlock processing being processing for causing the storage to lock or unlock in accordance with the first request information; and performs first storage processing after the lock/unlock processing is performed, the first storage processing being processing of storing, in the blockchain, transaction data indicating that the lock/unlock processing has been performed.
- A management system according to an aspect of the present disclosure is a management system including: the plurality of information processing devices including the information processing device described above; and the storage of which locking or unlocking is controlled by the plurality of information processing devices using the blockchain.
- According to the above aspect, the same advantageous effects as those of the control method described above are yielded.
- A program according to an aspect of the present disclosure is a program for causing a computer to execute the control method described above.
- According to the above aspect, the same advantageous effects as those of the control method described above are yielded.
- Note that these general or specific aspects may be realized by a system, a device, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM (compact disc read only memory), or by any combination of systems, devices, integrated circuits, computer programs, or recording media.
- The following specifically describes exemplary embodiments with reference to the drawings.
- Note that each of the following embodiments shows a general or specific example. The numerical values, shapes, materials, structural elements, the arrangement and connection of the structural elements, steps, the processing order of the steps etc. illustrated in the following embodiments are mere examples, and are not intended to limit the present disclosure. Among the structural elements in the following embodiments, those not recited in any of the independent claims representing the most generic concepts are described as optional structural elements.
- The present embodiment describes a control method and the related technologies that can reduce the time required to lock or unlock storage. The control method according to the present embodiment is a method of controlling locking or unlocking of one or more storages that can store one or more items, using a distributed ledger. Note that the storages are delivery boxes or coin-operated lockers, for example. Moreover, the control method according to the present embodiment is also applicable to, for example, hotel rooms, offices, houses, and vehicles such as cars, that are locked or unlocked.
-
FIG. 1 is a block diagram illustrating a configuration ofmanagement system 1 according to the present embodiment. - As illustrated in
FIG. 1 ,management system 1 includesservers terminals storage 30.Servers servers 10A etc.", and each ofservers 10A etc. is also referred to as "server 10". -
Management system 1 manages locking or unlocking ofstorage 30 when user U1 is to passitem 5 to userU2 using storage 30. The following description assumes an example case wherestorage 30 is a delivery box andmanagement system 1 manages locking or unlocking of the delivery box. For example, when a recipient is to receiveitem 5 via a courier, user U1 corresponds to the courier and user U2 corresponds to the recipient. - Each of
servers 10A etc. is a server device that is an information processing device that manages locking or unlocking ofstorage 30 on a computer using a distributed ledger. Each ofservers 10A etc. has a ledger for managing the locking or unlocking ofstorage 30, and updates the ledger while synchronizing its own ledger with ledgers of theother servers 10. The distributed ledger can be realized by blockchain technology having an advantage of difficulty in tampering with recorded information. - Each of the ledgers of
servers 10A etc. stores information indicating whetherstorage 30 is locked or unlocked and keyholder information indicating who is the keyholder, namely, the person having the authority to lock or unlockstorage 30.Servers 10A etc. are communicably connected withterminals storage 30 vianetwork N. Servers 10A etc. are connected to one another via network M to enable mutual communication. Network M may be connected with network N, or may be network N. - The function to manage the locking or unlocking of
storage 30 and the function to manage the keyholder may be implemented through execution of an ordinary computer program code, or may be implemented through execution of a contract code that is a program code recorded on the ledgers, in other words, using a smart contract. -
Terminals storage 30 and transmit information toservers 10A etc. Here, it is assumed thatterminal 21 is owned by user U1 who is to passitem 5 andterminal 22 is owned by user U2 who is to receiveitem 5.Terminals -
Storage 30 is a temporary storage site used for passingitem 5 from user U1 to user U2. It is assumed that the person having the authority to lock or unlockstorage 30 is limited to a predetermined number of people. The predetermined number of people is, for example, one as in the following description; however, the predetermined number of people is not limited to one. -
Storage 30 includes at least a compartment for storingitem 5.Storage 30 is unlocked based on an operation by user U1, and is locked after user U1 storesitem 5. Thereafter,storage 30 is unlocked based on an operation by user U2 who then takes outitem 5. - The following describes processing performed by
management system 1 when, for example, user U1 is to storeitem 5 instorage 30; however, the same description applies to the case whereitem 5 is to be taken out fromstorage 30. -
FIG. 2 is a block diagram illustrating a functional configuration ofserver 10 according to the present embodiment. - As illustrated in
FIG. 2 ,server 10 includesreceiver 11,lock manager 12,ledger storage 14, andsynchronizer 15. -
Receiver 11 is a processing unit that receives a lock/unlock request, that is a lock request indicating a request for lockingstorage 30 or an unlock request indicating a request for unlockingstorage 30.Receiver 11 can be realized by a processor executing a given program. -
Receiver 11 receives request information indicating a lock/unlock request (also referred to as first request information) fromterminal 21 of user U1 via a communication interface. Whenreceiver 11 receives the request information,receiver 11 performs authentication processing for authenticating user U1 who has transmitted the request information. The authentication processing uses, for example, identification information ofterminal 21, and publicly known technology such as PKI (public-key infrastructure) is applicable to the authentication processing. When user U1 is successfully authenticated,receiver 11 provides the request information to lockmanager 12. -
Lock manager 12 is a processing unit that manages locking or unlocking ofstorage 30.Lock manager 12 can be realized by a processor executing a given program.Lock manager 12 includesdeterminer 13 that determines whether or not the keyholder matches the owner of the terminal that has transmitted the request information. Specifically, when request information indicating an unlock request is received fromterminal 21,determiner 13 determines whether or not the keyholder identified by reading the keyholder information stored inledger storage 14 matches the owner of the terminal that has transmitted the request information. - When
determiner 13 determines that the keyholder matches the owner,lock manager 12 performs lock/unlock processing for causingstorage 30 to unlock in accordance with the request information. The lock/unlock processing includes transmission of a lock/unlock instruction, that is a lock instruction or an unlock instruction, tostorage 30. -
Ledger storage 14 stores a distributed ledger.Ledger storage 14 is realized by a storage device such as a HDD (hard disk drive) or an SSD (solid state drive), and a function achieved by a processor executing a given program. The distributed ledger is realized by blockchain that stores transaction data in blocks.Ledger storage 14 stores lockhistory 17 andkeyholder history 18. The latest data oflock history 17 stored inledger storage 14 indicates the current locked/unlocked state ofstorage 30. The latest data inkeyholder history 18 stored inledger storage 14 indicates the current keyholder ofstorage 30. -
Synchronizer 15 is a processing unit that stores transaction data inledger storage 14 while synchronizingledger storages 14 of a plurality ofservers 10.Synchronizer 15 can be realized by a processor executing a given program. - After
lock manager 12 performs the lock/unlock processing,synchronizer 15 stores, inlock history 17, transaction data indicating that the lock/unlock processing has been performed. Here, this storage processing is also referred to as first storage processing. When performing the first storage processing, an attempt is made at certain time intervals to reach a consensus withother servers 10 based on a consensus algorithm. When a consensus is successfully reached,synchronizer 15 includes new information in a block that is the unit of recording, and stores the block inledger storage 14. To reach a consensus bysynchronizer 15 andother servers 10, it requires about several minutes to several tens of minutes. Conventional consensus algorithms such as PBFT (practical byzantine fault tolerance) are applicable. -
FIG. 3 is an explanatory diagram illustrating a data configuration of a blockchain.FIG. 3 shows three blocks B1, B2, and B3 among blocks included in the blockchain. - The blockchain is a chain of blocks, each of which is the unit of recording. Each block includes a plurality of pieces of transaction data and a hash value of the immediately preceding block. Specifically, block B2 includes a hash value of the preceding block B1. A hash value calculated based on a plurality of pieces of transaction data included in block B2 and the hash value of block B1 is included in block B3 as the hash value of block B2. By connecting blocks like a chain while including the content of the preceding block as a hash value as described above, tampering with the stored transaction data is effectively prevented.
- If the past transaction data stored in a block of the blockchain is modified, the hash value of the block changes from the hash value before the modification. To make the tampered block look genuine, all the subsequent blocks must be remade, which is very difficult in reality.
-
FIG. 4 is an explanatory diagram illustrating a data configuration of transaction data D1. - Transaction data D1 illustrated in
FIG. 4 includes data field D2 indicating the content of transaction, and signature field D3. - Data field D2 includes (i) data indicating a history of locking or unlocking or (ii) data indicating a history of change of the keyholder.
- Signature field D3 includes an electronic signature generated by encrypting, with a signature key of a person who has generated data field D2, the hash value of the data included in data field D2.
- Transaction data D1 that includes data indicating locking or unlocking corresponds to lock
history 17, and transaction data D1 that includes data indicating a change of the keyholder corresponds to keyholderhistory 18. -
FIG. 5 is a block diagram schematically illustrating a configuration ofstorage 30 according to the present embodiment. - As illustrated in
FIG. 5 ,storage 30 includescommunication unit 31 andlock controller 32. -
Communication unit 31 is a communication interface device communicably connected with another device.Communication unit 31 is connected to network N and is communicable withserver 10 via network N. -
Lock controller 32 controls whether to lock or unlockstorage 30. Whenlock controller 32 receives an unlock instruction fromlock manager 12 ofserver 10 viacommunication unit 31,lock controller 32unlocks storage 30 in accordance with the unlock instruction received. Whenlock controller 32 receives a lock instruction fromlock manager 12 ofserver 10,lock controller 32locks storage 30 in accordance with the lock instruction received. - The following describes processing performed by
management system 1 configured as above, while comparing with a comparative example. -
FIG. 6 is a flow chart illustrating the locking or unlocking bymanagement system 1 according to the present embodiment. A series of processing illustrated inFIG. 6 is processing performed when user U1 is to unlockstorage 30 which is in the locked state. - As illustrated in
FIG. 6 , in Step S101,receiver 11 determines whether or not a lock/unlock request, that is a lock request or an unlock request, has been received fromterminal 21. Ifreceiver 11 determines that a lock/unlock request has been received (YES in Step S101), the processing proceeds to Step S102, and if not (NO in Step S101),receiver 11 performs Step S101 again. That is to say,receiver 11 stands by in Step S101 until a lock/unlock request is received fromterminal 21. The following description assumes that an unlock request has been received. - In Step S102,
receiver 11 performs authentication processing on user U1 who has transmitted the unlock request received in Step S101, and determines whether or not the authentication processing succeeds. Ifreceiver 11 determines that the authentication processing has succeeded (YES in Step S102), the processing proceeds to Step S103, and if not (NO in Step S102), the series of processing illustrated inFIG. 6 is ended. - In Step S103,
determiner 13 determines whether or not user U1 ofterminal 21 that has transmitted the unlock request received in Step S101 matches the current keyholder. The current keyholder is identified by readingkeyholder history 18 inledger storage 14. - In Step S104, if
determiner 13 determines in Step S103 that the person who has transmitted the unlock request matches the current keyholder (YES in Step S104), the processing proceeds to Step S105, and if not (NO in Step S104), the processing proceeds to Step S106. - In Step S105,
lock manager 12 transmits an unlock instruction tostorage 30 based on the unlock request received in Step S101. - In Step S106,
lock manager 12 stores history information indicating thatstorage 30 has been unlocked, inlock history 17 stored inledger storage 14. The storage oflock history 17 is performed after update information oflock history 17 is transmitted toother servers 10 etc. and a consensus is reached based on a consensus algorithm. Note that the storage of the history information inlock history 17 in Step S106 may be performed only if result information indicating thatstorage 30 has actually unlocked in response to the unlock instruction transmitted in Step S105 is received. - Note that although the processing for unlocking the locked
storage 30 has been described above, the same processing is performed when theunlocked storage 30 is to be locked. In that case, the unlock request and the unlock instruction in the above description are replaced with the lock request and the lock instruction as appropriate. - In
FIG. 6 , the series of processing from Step S101 to Step S106 is performed; however, the unlock processing from Step S101 to S105 may be performed as a series of processing, and the storing processing and the consensus reaching processing in Step S106 may be performed independently of the series of processing Step S101 to S105 in terms of timing. -
FIG. 7 is a flow chart illustrating locking or unlocking ofstorage 30 according to the present embodiment. - As illustrated in
FIG. 7 , in Step S201,lock controller 32 determines whether or not a lock/unlock instruction has been received fromserver 10. If a lock/unlock instruction has been received, the processing proceeds to Step S202, and if not, Step S201 is performed again. That is to say,lock controller 32 stands by in Step S201 until a lock/unlock instruction is received fromserver 10. - In Step S202,
lock controller 32 locks or unlocksstorage 30 based on the lock/unlock instruction received in Step S201. When the processing in Step S202 is finished, Step S201 is performed again. - The following describes locking or unlocking by a management system according to a comparative example. The management system according to the comparative example is an example of a system equivalent to a conventional management system, and is different from
management system 1 according to the present embodiment in terms of timing of storing the lock history. In the following description, the structural elements of the management system according to the comparative example are given the same names as inmanagement system 1 of the present embodiment, but are given no reference signs. -
FIG. 8 is a flow chart illustrating the locking or unlocking by the management system according to the comparative example. - Steps S301 and S302 are the same as Steps S101 and 102 of
management system 1. The following description assumes that an unlock request has been received in Step S301. - In Step S303, the lock manager stores the request information indicating a lock/unlock request received in Step S301, in the lock history stored in the ledger storage. The storage of the lock history is performed after update information of the lock history is transmitted to other servers and a consensus is reached based on a consensus algorithm.
- In Step S304, the determiner determines whether or not the person who has transmitted the unlock request received in Step S301 matches the current keyholder. The current keyholder is identified by reading the keyholder information stored in the ledger storage.
- In Step S305, if the determiner determines in Step S304 that the person who has transmitted the unlock request matches the current keyholder (YES in Step S305), the processing proceeds to Step S306, and if not (NO in Step S305), the series of processing illustrated in
FIG. 8 is ended. - In Step S306, the lock manager transmits an unlock instruction to
storage 30 based on the unlock request received in Step S301. - As can be understood from above, the management system according to the comparative example requires several minutes to several tens of minutes to perform the consensus reaching processing in Step S303. That is to say, a time period exceeding about several minutes to several tens of minutes is required between the reception of a lock/unlock request and the actual locking or unlocking of
storage 30. - In contrast, with
management system 1 according to the present embodiment, the consensus reaching processing is not included between the reception of a lock/unlock request and the actual locking or unlocking ofstorage 30. Thus, the time period between the reception of a lock/unlock request and the actual locking or unlocking ofstorage 30 can be reduced to a relatively short period of time, for example, about one second or less. - Note that the above description has focused on the processing performed by
management system 1 when user U1 is to storeitem 5 instorage 30; however, the same description applies to the case where user U2 is to take outitem 5 fromstorage 30. - As described above, with the control method according to the present embodiment, the processing of storing transaction data in the blockchain is not included between the reception of a request to lock or unlock the storage and the actual locking or unlocking of the storage. Accordingly, the control method according to an aspect of the present disclosure can reduce the time required to lock or unlock the storage.
- The lock history is updated only when the storage is actually locked or unlocked. It is thus possible to reduce the time required to lock or unlock the storage while preventing an update of the lock history if the storage was not actually locked or unlocked due to some circumstances.
- The management system can store, in the blockchain, a block on which a consensus has been reached among a plurality of servers.
- Regarding a control method and the related technologies that can reduce the time required to lock or unlock the storage, the present embodiment describes a technique by which the storage can be appropriately locked or unlocked after a change of the keyholder.
-
Server 10F according to the present embodiment is partially different fromserver 10 according toEmbodiment 1. The following describesserver 10F etc., while mainly focusing on the difference fromserver 10. -
FIG. 9 is a block diagram illustrating a functional configuration ofserver 10F according to the present embodiment. - As illustrated in
FIG. 9 ,server 10F includesreceiver 11,lock manager 12,ledger storage 14, andsynchronizer 15A. Among the functional elements ofserver 10F,synchronizer 15A is different fromsynchronizer 15 included inserver 10. -
Synchronizer 15A has the same function as that ofsynchronizer 15 inEmbodiment 1, but further includesdetector 15B. - As with
synchronizer 15,synchronizer 15A stores, inledger storage 14, information to be stored inledger storage 14, after reaching a consensus withother servers 10F etc. The information held bysynchronizer 15A as information to be stored inledger storage 14 is request information indicating a lock/unlock request and request information indicating a request to change the keyholder (also referred to as second request information). Here, the processing of storing transaction data indicating a request to change the keyholder inledger storage 14 after reaching a consensus withother servers 10F is also referred to as second storage processing. -
Detector 15B is a processing unit that detects, from the information that is temporarily held bysynchronizer 15A and is to be stored inledger storage 14, the transaction data indicating a request to change the keyholder. - When the request information indicating a request to lock or unlock
storage 30 has been received,synchronizer 15A determines, usingdetector 15B, whether or not the second storage processing is currently being performed, that is, whether or not the processing of storing the transaction data that is included in the information to be stored inledger storage 14 and indicates a request to change the keyholder is currently being performed. Then,lock manager 12 controls the lock/unlock processing forstorage 30 in accordance with the result of determination bydetector 15B. - The control on the lock/unlock processing may include, for example, prohibiting the lock/unlock processing in accordance with the first request information.
- The control on the lock/unlock processing may include, for example, standing by until the second storage processing finishes, and performing the lock/unlock processing after the second storage processing finishes.
- The control on the lock/unlock processing may include, for example, displaying an image indicating standby until the second storage processing finishes. The image is displayed by
terminal 21 of user U1, for example. In that case, synchronizer 15A transmits a signal for displaying the image, toterminal 21 via a communication interface (not illustrated). -
FIG. 10 is a flow chart illustrating processing for changing the keyholder, performed by management system 2 according to the present embodiment. - As illustrated in
FIG. 10 , in Step S401,receiver 11 determines whether or not a request to change the keyholder (also simply referred to as a change request) has been received fromterminal 21. Ifreceiver 11 determines that the change request has been received (YES in Step S401), the processing proceeds to Step S402, and if not (NO in Step S401),receiver 11 performs Step S401 again. That is to say,receiver 11 stands by in Step S401 until the change request is received fromterminal 21. - In Step S402,
receiver 11 performs authentication processing on user U1 who has transmitted the change request received in Step S401, and determines whether or not the authentication processing succeeds. Ifreceiver 11 determines that the authentication processing has succeeded (YES in Step S402), the processing proceeds to Step S403, and if not (NO in Step S402), the series of processing illustrated inFIG. 10 is ended. - In Step S403,
lock manager 12 performs processing of changing the keyholder based on the change request received in Step S401. Specifically,lock manager 12 performs storage processing of storing, inkeyholder history 18, transaction data indicating a request to change the keyholder. In the storage processing, the transaction data is generated and stored inkeyholder history 18 after a consensus is reached bysynchronizer 15A andother servers 10F based on a consensus algorithm. The time required to reach a consensus depends on the type of blockchain software, and is, for example, about several minutes to several tens of minutes. - Thus, the change request from the user is not reflected in
keyholder history 18 during a time period between the reception of the change request in Step S401 and the storage of keyholder history information inledger storage 14 in Step S403. This state is also referred to as an unreflected state. - If a lock/unlock request to lock or unlock
storage 30 is received from user U2 in the unreflected state in which the change of the keyholder from user U1 to user U2 is not reflected yet,storage 30 cannot be locked or unlocked in response to the request. -
FIG. 11 is a flow chart illustrating the lock/unlock processing performed by management system 2 according to the present embodiment. The series of processing illustrated inFIG. 11 is partially different from the lock/unlock processing performed bymanagement system 1 according to Embodiment 1 (seeFIG. 6 ). - Steps S101 to S104 and S105 to S106 illustrated in
FIG. 11 are the same as those inFIG. 6 . - In Step S104A,
detector 15B attempts to detect transaction data indicating a request to change the keyholder, from information that is held bysynchronizer 15A and is to be stored inledger storage 14.Synchronizer 15A determines whether or notdetector 15B has detected the transaction data. Ifsynchronizer 15A determines thatdetector 15B has detected the transaction data (YES in Step S104A), the processing proceeds to Step S104B, and if not (NO in Step S104A), the processing proceeds to Step S105. - In Step S104B, management system 2 performs predetermined processing. The predetermined processing is, for example, to end, at this point in time, the series of processing illustrated in
FIG. 11 . Performing this processing is equivalent to performing control to prohibit the lock/unlock processing forstorage 30, the request for which has been received in Step S101. - The predetermined processing may be to stand by for a predetermined time period. In that case,
detector 15B performs Step S104A again after a lapse of the predetermined time period. As a result,lock manager 12 puts the lock/unlock processing forstorage 30 on standby until the change request is reflected, and performs control to transmit a lock/unlock instruction after the standby. - The processing illustrated in
FIG. 11 enables prohibition or standby of the lock/unlock processing in the above-described unreflected state. This yields an advantage of preventing the lock/unlock processing in the unreflected state. - As described above, the control method according to the present embodiment enables control on the locking or unlocking of the storage in the unreflected state, that is a state in which the keyholder change is not reflected because the processing for changing the keyholder is currently being performed. Accordingly, it is possible to reduce the time required to lock or unlock the storage, while preventing the storage from being inappropriately locked or unlocked in the unreflected state.
- The locking or unlocking of the storage in the unreflected state is controlled by prohibiting the lock/unlock processing. This makes it possible to more easily prevent the storage from being inappropriately locked or unlocked in the unreflected state.
- The locking or unlocking of the storage in the unreflected state is controlled by putting the lock/unlock processing on standby until the unreflected state finishes, and locking or unlocking the storage after the keyholder change is reflected. This makes it possible to more easily prevent the storage from being inappropriately locked or unlocked in the unreflected state.
- When the locking or unlocking of the storage in the unreflected state is controlled by putting the lock/unlock processing on standby until the unreflected state finishes, the user can be notified of the standby status through a display image. This allows the user to recognize that the lock/unlock processing is on standby until the unreflected state finishes. Moreover, this can prevent inappropriate operations or the like which may be performed by the user based on false recognition if such display is absent.
- The present variation describes a control method and an information processing device according to a variation of each embodiment described above.
-
FIG. 12 is a flow chart illustrating the control method according to the present variation. - As illustrated in
FIG. 12 , the control method according to the present variation is a method for controlling locking or unlocking of storage using a blockchain. Here, the blockchain stores keyholder information indicating a person who has the authority to lock or unlock the storage. - In Step S501, when the first request information indicating a lock/unlock request is received from a terminal, it is determined whether or not the keyholder identified by reading the keyholder information stored in the blockchain matches the owner of the terminal that has transmitted the first request information. When it is determined that the keyholder matches the owner, the processing proceeds to Step S502.
- In Step S502, the lock/unlock processing is performed for causing the storage to lock or unlock in accordance with the first request information.
- In Step S503, after the lock/unlock processing is performed, the first storage processing is performed to store, in the blockchain, transaction data indicating that the lock/unlock processing has been performed.
- This can reduce the time required to lock or unlock the storage.
-
FIG. 13 is a block diagram illustrating a configuration ofinformation processing device 10G according to the present variation. - As illustrated in
FIG. 13 ,information processing device 10G according to the present variation is one of a plurality of information processing devices that controls locking or unlocking of storage using a blockchain. -
Information processing device 10G includesprocessor 41,memory 42, andstorage device 43 that stores a distributed ledger in the form of a blockchain. The blockchain stores keyholder information indicating a person who has the authority to lock or unlock the storage. - When
processor 41 receives, usingmemory 42, the first request information indicating a lock/unlock request from a terminal,processor 41 determines, usingmemory 42, whether or not the keyholder identified by reading the keyholder information stored in the blockchain matches the owner of the terminal that has transmitted the first request information. - When
processor 41 determines that the keyholder matches the owner,processor 41 performs, usingmemory 42, the lock/unlock processing for causing the storage to lock or unlock in accordance with the first request information. - After performing the lock/unlock processing,
processor 41 performs, usingmemory 42, the first storage processing to store, in the blockchain, transaction data indicating that the lock/unlock processing has been performed. - This can reduce the time required to lock or unlock the storage.
- Note that each of the structural elements in the above embodiments may be configured in the form of an exclusive hardware product, or may be implemented by executing a software program suitable for each structural element. Each of the structural elements may be implemented by means of a program executing unit, such as a CPU or a processor, reading and executing the software program recorded on a recording medium such as a hard disk or a semiconductor memory. The software that implements the information processing device etc. in the above embodiments is a program as follows:
That is to say, this program causes a computer to perform a control method of controlling locking or unlocking of storage using a blockchain. The control method includes: determining, when first request information indicating a lock/unlock request is received from a terminal, whether or not a keyholder identified by reading keyholder information stored in the blockchain matches an owner of the terminal that has transmitted the first request information, the lock/unlock request being a lock request or an unlock request, the keyholder information indicating a person having authority to lock or unlock the storage; performing lock/unlock processing when the keyholder is determined to match the owner, the lock/unlock processing being processing for causing the storage to lock or unlock in accordance with the first request information; and performing first storage processing after the lock/unlock processing is performed, the first storage processing being processing of storing, in the blockchain, transaction data indicating that the lock/unlock processing has been performed. - While the foregoing has described the control method and the related technologies according to one or more aspects of the present disclosure based on exemplary embodiments, the present disclosure is not limited to these embodiments. Various modifications to these embodiments conceivable to those skilled in the art, as well as embodiments resulting from combinations of structural elements in different embodiments may be included within the scope of one or more aspects of the present disclosure, so long as they do not depart from the essence of the present disclosure.
- Although the present invention has been described and illustrated in detail, it is clearly understood that the same is by way of example only and is not to be taken by way of limitation, the scope of the present disclosure being limited only by the terms of the appended claims.
- The present disclosure is applicable to, for example, a control method that can reduce the time required to lock or unlock storage. Specifically, the present disclosure is applicable to, for example, a locker available for public use.
-
- 1, 2
- management system
- 5
- item
- 10, 10A, 10B, 10C, 10D, 10E, 10F
- server
- 10G
- information processing device
- 11
- receiver
- 12
- lock manager
- 13
- determiner
- 14
- ledger storage
- 15, 15A
- synchronizer
- 15B
- detector
- 17
- lock history
- 18
- keyholder history
- 21, 22
- terminal
- 30
- storage
- 31
- communication unit
- 32
- lock controller
- 41
- processor
- 42
- memory
- 43
- storage device
- B1, B2, B3
- block
- D1
- transaction data
- D2
- data field
- D3
- signature field
- N, M
- network
- U1, U2
- user
Claims (10)
- A control method of controlling locking or unlocking of storage (30) using a blockchain, the control method comprising:authenticating, when first request information indicating a lock/unlock request is received from a terminal (21, 22), a user of the terminal by using identification information of the terminal and a public-key infrastructure, PKI, determining whether or not a keyholder identified by keyholder information stored in the blockchain matches the authenticated user of the terminal (21, 22) that has transmitted the first request information, by determining whether or not the keyholder information matches information that indicates the user of the terminal that has transmitted the first request information, the lock/unlock request being a lock request or an unlock request, the keyholder information indicating a person having authority to lock or unlock the storage (30);performing lock/unlock processing when the keyholder is determined to match the user, the lock/unlock processing being processing for causing the storage (30) to lock or unlock in accordance with the first request information, the lock/unlock processing including transmitting a lock/unlock instruction to the storage via a network to cause the storage (30) to lock or unlock without a consensus reaching processing; andperforming first storage processing that includes consensus reaching processing performed by a plurality of servers that store transaction data in the blockchain after the lock/unlock processing is performed, the first storage processing being processing of storing, in the blockchain, the transaction data indicating that the lock/unlock processing has been performed.
- The control method according to claim 1, further comprising:performing second storage processing when second request information indicating a request to change the keyholder information is received from the terminal (21, 22), the second storage processing being processing of storing the second request information in the blockchain;determining, when the first request information is received, whether or not the second storage processing is currently being performed; andcontrolling the lock/unlock processing in accordance with a result of the determining.
- The control method according to claim 2, whereinthe controlling of the lock/unlock processing includesprohibiting the lock/unlock processing in accordance with the first request information.
- The control method according to claim 2, whereinthe controlling of the lock/unlock processing includesstanding by until the second storage processing finishes, and performing the lock/unlock processing after the second storage processing finishes.
- The control method according to claim 4, whereinthe controlling of the lock/unlock processing includesdisplaying an image indicating standby until the second storage processing finishes.
- The control method according to any one of claims 1 to 5, further comprising, when the storage has been caused to lock or unlock:obtaining result information indicating whether or not the locking or unlocking has actually been performed; andstoring the transaction data in the blockchain only when the result information obtained indicates that the locking or unlocking has actually been performed.
- The control method according to any one of claims 1 to 6, whereinthe storing of the transaction data in the blockchain includesgenerating a block including the transaction data, and storing the transaction data in the blockchain when a consensus is reached on the block generated.
- An information processing device (10G) that is one of a plurality of information processing devices and controls locking or unlocking of storage using a blockchain, the information processing device comprising:a processor (41);memory (42); anda storage device (43) that stores a distributed ledger in a form of the blockchain, whereinthe blockchain stores keyholder information indicating a person having authority to lock or unlock the storage (30), andthe processor (41), using the memory (42):authenticates, when first request information indicating a lock/unlock request is received from a terminal (21, 22), a user of the terminal by using identification information of the terminal and a public-key infrastructure, PKI, determines whether or not a keyholder identified by the keyholder information stored in the blockchain matches the authenticated user of the terminal (21, 22) that has transmitted the first request information, by determining whether or not the keyholder information matches information that indicates the user of the terminal that has transmitted the first request information, the lock/unlock request being a lock request or an unlock request;performs lock/unlock processing when the keyholder is determined to match the user, the lock/unlock processing being processing for causing the storage (30) to lock or unlock in accordance with the first request information, the lock/unlock processing including transmitting a lock/unlock instruction to the storage via a network to cause the storage to lock or unlock without a consensus reaching processing; andperforms first storage processing that includes consensus reaching processing performed by a plurality of servers that store transaction data in the blockchain after the lock/unlock processing is performed, the first storage processing being processing of storing, in the blockchain, the transaction data indicating that the lock/unlock processing has been performed.
- A management system, comprising:the plurality of information processing devices (10G) including the information processing device according to claim 8; andthe storage (30) of which locking or unlocking is controlled by the plurality of information processing devices using the blockchain.
- A computer program product comprising instructions for causing a computer when executing the instructions, to execute the control method according to any one of claims 1 to 7.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862658862P | 2018-04-17 | 2018-04-17 | |
JP2018209389A JP7317488B2 (en) | 2018-04-17 | 2018-11-07 | Control method, information processing device, management system, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
EP3557459A1 EP3557459A1 (en) | 2019-10-23 |
EP3557459B1 true EP3557459B1 (en) | 2022-05-25 |
Family
ID=65763245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP19158416.8A Active EP3557459B1 (en) | 2018-04-17 | 2019-02-21 | Method, information processing device, management system, and program to control locking and unlocking of storage |
Country Status (4)
Country | Link |
---|---|
US (2) | US10684783B2 (en) |
EP (1) | EP3557459B1 (en) |
JP (1) | JP2023159065A (en) |
CN (1) | CN110390743A (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3550534A1 (en) | 2018-03-23 | 2019-10-09 | Panasonic Intellectual Property Corporation of America | Control method, information processing device, management system, and program |
US10825275B2 (en) * | 2018-12-19 | 2020-11-03 | Ranjeev K. Singh | Blockchain-controlled and location-validated locking systems and methods |
JPWO2020203010A1 (en) * | 2019-03-29 | 2020-10-08 | ||
US10988112B2 (en) * | 2019-09-17 | 2021-04-27 | Ford Global Technologies, Llc | Distributed vehicle authorized operations |
CN111079155A (en) * | 2019-11-13 | 2020-04-28 | 北京海益同展信息科技有限公司 | Data processing method and device, electronic equipment and computer storage medium |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
CN112184960B (en) * | 2020-09-28 | 2022-08-02 | 杭州安恒信息技术股份有限公司 | Intelligent lock control method and device, intelligent lock system and storage medium |
CN113704255A (en) * | 2021-08-04 | 2021-11-26 | 深圳市蜜蜂互联网络科技有限公司 | Data insertion method and device, and data verification method and device |
JP7157490B1 (en) | 2021-12-27 | 2022-10-20 | 株式会社Plusidea | Program, Information Processing Apparatus, Method, and Information Processing System |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1124571C (en) * | 1996-04-29 | 2003-10-15 | 株式会社日立制作所 | Electronic storage system |
JP3527499B2 (en) * | 2002-03-27 | 2004-05-17 | コナミスポーツライフ株式会社 | Electronic locking system, locking management device, locking device management method, and program |
CN101576830B (en) * | 2009-06-04 | 2011-11-30 | 中兴通讯股份有限公司 | Deadlock detection method and device of database transaction lock mechanism |
US9824095B1 (en) * | 2010-05-03 | 2017-11-21 | Panzura, Inc. | Using overlay metadata in a cloud controller to generate incremental snapshots for a distributed filesystem |
US9342380B2 (en) * | 2013-03-05 | 2016-05-17 | Oracle International Corporation | System and method for implementing reader-writer locks using hardware transactional memory |
WO2016036347A1 (en) * | 2014-09-02 | 2016-03-10 | Hewlett Packard Enterprise Development Lp | Serializing access to fault tolerant memory |
JP6467552B2 (en) * | 2016-02-19 | 2019-02-13 | 株式会社tsumug | Key unit, key management system, and key management method |
CN205582056U (en) * | 2016-04-05 | 2016-09-14 | 深圳市汇海威视科技有限公司 | Door lock system |
EP3453005A1 (en) * | 2016-05-06 | 2019-03-13 | Innogy Innovation GmbH | Traffic system |
CN111275857B (en) * | 2016-06-21 | 2022-02-01 | 创新先进技术有限公司 | Control method of intelligent lock and intelligent lock |
US9875592B1 (en) * | 2016-08-30 | 2018-01-23 | International Business Machines Corporation | Drone used for authentication and authorization for restricted access via an electronic lock |
CN106548091A (en) * | 2016-10-14 | 2017-03-29 | 北京爱接力科技发展有限公司 | A kind of data deposit card, the method and device of checking |
CN107424339A (en) * | 2017-04-19 | 2017-12-01 | 宁波瑞奥物联技术股份有限公司 | A kind of intelligent key management system and method |
CN107331012A (en) * | 2017-07-04 | 2017-11-07 | 济南浪潮高新科技投资发展有限公司 | A kind of finger vein gate control system based on block chain |
-
2019
- 2019-02-21 EP EP19158416.8A patent/EP3557459B1/en active Active
- 2019-02-25 CN CN201910136697.8A patent/CN110390743A/en active Pending
- 2019-02-25 US US16/284,224 patent/US10684783B2/en active Active
-
2020
- 2020-05-11 US US16/871,604 patent/US11500551B2/en active Active
-
2023
- 2023-07-19 JP JP2023117565A patent/JP2023159065A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20200272342A1 (en) | 2020-08-27 |
US11500551B2 (en) | 2022-11-15 |
US10684783B2 (en) | 2020-06-16 |
JP2023159065A (en) | 2023-10-31 |
US20190317677A1 (en) | 2019-10-17 |
CN110390743A (en) | 2019-10-29 |
EP3557459A1 (en) | 2019-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3557459B1 (en) | Method, information processing device, management system, and program to control locking and unlocking of storage | |
US10635801B2 (en) | Systems and methods for securing access to storage and retrieval systems | |
CN109272606B (en) | Intelligent lock supervision equipment and method based on block chain and storage medium | |
CN100587729C (en) | Authentication device, authentication system, and verification method for authentication device | |
AU2019204723B2 (en) | Cryptographic key management based on identity information | |
US11395145B2 (en) | Systems and methods of electronic lock control and audit | |
CN104919775A (en) | Keychain synchronization | |
US11282309B2 (en) | Control method, information processing device, management system, and recording medium | |
EP3591892B1 (en) | Management system, server, management method, and program for management of access rights to a delivery locker using blockchain | |
AU2019204711B2 (en) | Securely performing cryptographic operations | |
US20230100623A1 (en) | Safe Delivery Tower | |
WO2021053131A1 (en) | Method, locking system for controlling access to a resource and a locking device | |
JPWO2020080524A1 (en) | Control method, control system, first server, and data structure | |
JP7317488B2 (en) | Control method, information processing device, management system, and program | |
JP2010174516A (en) | Drawer opening/closing management system, management device, terminal device, drawer opening/closing management program, and drawer opening/closing management method | |
CN110610564A (en) | Key management device, key management method, key management system, and readable storage medium | |
KR20110111661A (en) | Rfid tag for protecting duplication, system and method for protecting duplication using the same on epc network | |
JP2009025945A (en) | Authentication system, authentication method, and authentication program | |
JP6714283B1 (en) | Electronic unlocking management system and program | |
CN111369710B (en) | Block chain supported intelligent lock system | |
CN111292444A (en) | Real estate as tradable digital assets via blockchain integration | |
KR102140462B1 (en) | Authentication processing method of block-chain service, and computer program | |
US20240243910A1 (en) | Systems and methods for hardware security module and physical safe integration | |
JP2011048514A (en) | Data management device and authentication system | |
CN115189972A (en) | Method and device for guaranteeing safe excavation of nodes and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20200415 |
|
RBV | Designated contracting states (corrected) |
Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20200604 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Ref document number: 602019015171 Country of ref document: DE Free format text: PREVIOUS MAIN CLASS: G06F0021310000 Ipc: G06Q0020120000 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G07C 9/00 20060101ALI20220110BHEP Ipc: G07F 17/10 20060101ALI20220110BHEP Ipc: G06F 21/35 20130101ALI20220110BHEP Ipc: G06F 21/31 20130101ALI20220110BHEP Ipc: G06Q 20/40 20120101ALI20220110BHEP Ipc: G06Q 20/32 20120101ALI20220110BHEP Ipc: G06Q 20/12 20120101AFI20220110BHEP |
|
INTG | Intention to grant announced |
Effective date: 20220127 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 1494560 Country of ref document: AT Kind code of ref document: T Effective date: 20220615 Ref country code: DE Ref legal event code: R096 Ref document number: 602019015171 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG9D |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20220525 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 1494560 Country of ref document: AT Kind code of ref document: T Effective date: 20220525 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220926 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220825 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220826 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220825 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220925 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602019015171 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20230228 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20230228 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20230221 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230221 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230228 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230228 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230221 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220525 Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230221 Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230221 Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230228 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230228 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20240219 Year of fee payment: 6 |