US20200074516A1 - Providing device, processing system, and communication method - Google Patents
Providing device, processing system, and communication method Download PDFInfo
- Publication number
- US20200074516A1 US20200074516A1 US16/550,358 US201916550358A US2020074516A1 US 20200074516 A1 US20200074516 A1 US 20200074516A1 US 201916550358 A US201916550358 A US 201916550358A US 2020074516 A1 US2020074516 A1 US 2020074516A1
- Authority
- US
- United States
- Prior art keywords
- contract
- blockchain
- program
- processing
- transaction
- 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.)
- Granted
Links
Images
Classifications
-
- 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/14—Payment architectures specially adapted for billing systems
-
- 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
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
-
- 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1218—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
- G06F3/1219—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to consumables, e.g. ink, toner, paper
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
-
- 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/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- 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 providing device, a processing system, and a communication method or the like.
- JP-A-2002-36582 discloses a charging device which detects the amount of remaining ink in a printer and refunds according to the amount of remaining ink, thus charging an amount according to the amount of ink used.
- Various system configurations for performing charging processing according to the status of use of an electronic apparatus are conceivable.
- a technique of linking a plurality of systems to work in cooperation with each other such as a system for collecting and aggregating data from an electronic apparatus, a system for calculation for charging based on the result of aggregation, a system for invoicing for the amount charged, and a system for settlement, is conceivable.
- a providing device includes: a communication unit communicating with a network using a blockchain; and a processing unit controlling the communication unit.
- the processing unit generates a transaction for registering, into the blockchain, a charging processing program for performing charging processing according to a status of use of an electronic apparatus that is a management target, and issues the generated transaction to the network via the communication unit.
- FIG. 1 shows a configuration example of a providing device.
- FIG. 2 shows a configuration example of a processing system.
- FIG. 3 is an explanatory view of a blockchain.
- FIG. 4 is a flowchart explaining write processing to a blockchain.
- FIG. 5 shows an example of a blockchain in an embodiment.
- FIG. 6 is a flowchart explaining processing of a contract management contract.
- FIG. 7 is a flowchart explaining collection processing to collect status-of-use data.
- FIG. 8 is a flowchart explaining processing on a cut-off date.
- FIG. 1 shows a configuration example of a providing device 100 in this embodiment.
- the providing device 100 includes a communication unit 120 communicating with a network using a blockchain, and a processing unit 110 controlling the communication unit 120 .
- the processing unit 110 generates a transaction for registering, into the blockchain, a charging processing program for performing charging processing according to the status of use of an electronic apparatus 300 that is a management target, and issues the generated transaction to the network via the communication unit 120 .
- the electronic apparatus 300 is coupled to the network using the blockchain, directly or via a processing device 200 .
- the network using the blockchain is hereinafter referred to as a blockchain network NW.
- the phrase “register into the blockchain” specifically means that data is written into a block in the blockchain.
- a data structure called a blockchain in which a plurality of blocks is linked together in the form of a chain is used.
- a transaction is a command issued when performing processing to register data into the blockchain.
- Each node in the blockchain network NW holds a blockchain of the same content. Therefore, when a transaction including a processing program issued by the providing device 100 is written into the blockchain, the processing program can be referred to from all the nodes participating in the blockchain network NW.
- the processing program in this case is, in a narrow sense, a charging processing program.
- the processing program may include various other programs related to charging, as described later. This facilitates the provision of each processing program to implement the charging processing.
- the electronic apparatus 300 in the embodiment is, for example, a printer.
- the electronic apparatus 300 may be a scanner, facsimile machine or copy machine.
- the electronic apparatus 300 may also be a multifunction peripheral (MFP) having a plurality of functions.
- MFP multifunction peripheral
- An MFP having a print function is an example of the printer.
- the electronic apparatus 300 may also be a projector, head-mounted display device, wearable device, biological information measuring device such as pulse meter or activity meter, robot, video device such as camera, portable information terminal such as smartphone, or physical quantity measuring device or the like.
- the processing unit 110 in the embodiment is formed of the following hardware.
- the hardware can include at least one of a circuit processing a digital signal and a circuit processing an analog signal.
- the hardware can be formed of one or a plurality of circuit devices or one or a plurality of circuit elements, installed at a circuit board.
- the one or plurality of circuit devices is, for example, IC(s).
- the one or plurality of circuit elements is, for example, resistor(s), capacitor(s) or the like.
- the processing unit 110 may also be implemented by the following processor.
- the providing device 100 in the embodiment includes a memory storing information, and a processor operating based on the information stored in the memory.
- the information is, for example, a program and various data or the like.
- the processor includes hardware.
- various processors can be used, such as CPU (central processing unit), GPU (graphics processing unit), or DSP (digital signal processor).
- the memory may be a semiconductor memory such as SRAM (static random-access memory) or DRAM (dynamic random-access memory), register, magnetic storage device such as hard disk device, or optical storage device such as optical disk device.
- the memory stores a computer-readable command.
- the function of each part of the providing device 100 is implemented as processing.
- the command in this case may be a command in a command set forming a program, or a command instructing the hardware circuit of the processor to perform an operation.
- FIG. 2 shows a configuration example of a processing system 10 including the providing device 100 in the embodiment, and the processing device 200 .
- the processing device 200 is a device which is provided corresponding to the electronic apparatus 300 and which executes a processing program.
- FIG. 2 shows an example where two processing devices 200 are provided and where two electronic apparatuses 300 are coupled to each processing device 200 .
- the number of processing devices 200 and the number of electronic apparatuses 300 are not limited to this example.
- FIG. 2 shows an example where the processing device 200 and the electronic apparatus 300 are different apparatuses, the electronic apparatus 300 may include the processing device 200 . That is, the electronic apparatus 300 may directly participate in the blockchain network NW.
- a client application of a blockchain is installed.
- the client application is software for participating in the blockchain network NW.
- the client application is software for executing various kinds of processing performed in the blockchain network NW, such as generation and issue of a transaction, processing of a consensus algorithm, and management of a cryptocurrency.
- a management application for managing the electronic apparatus 300 is installed in the processing device 200 .
- the client application and the management application may be different applications that can cooperate with each other, or may be implemented as one application including both the blockchain client function and the management function for the electronic apparatus 300 .
- the management application executes a processing command to the electronic apparatus 300 and thus controls the electronic apparatus 300 .
- processing commands for controlling the electronic apparatus 300 are conceivable, such as an initialization command, a restart command, and a setting change command.
- a collection program for acquiring status-of-use data of the electronic apparatus 300 is assumed to be written into the blockchain and executed by the client application.
- the management application may hold a processing program equivalent to the collection program. In this case, the management application periodically executes this processing program. Thus, the status-of-use data of the electronic apparatus 300 is acquired.
- the technique in the embodiment may be applied not only to the providing device 100 shown in FIG. 1 but also to the processing system 10 shown in FIG. 2 .
- the processing system 10 according to the embodiment includes the providing device 100 , and the processing device 200 which is provided corresponding to the electronic apparatus 300 .
- the blockchain technology will now be described. The following description is a part of elements forming the blockchain technology. A different technical element may be added. Also, a part of the technical elements described below may be omitted.
- the blockchain technology in the embodiment also includes an extended form of each technical element.
- Blockchain is a technique for distributed consensus building by participants in an open network.
- the blockchain network NW is a P2P network. Therefore, unlike a client/server system, no particular apparatus performs centralized management of data.
- data is managed based on a data structure called blockchain, where blocks are coupled together, and each node holds a common blockchain.
- FIG. 3 explains the structure of a blockchain.
- One block includes data of a plurality of transactions, and data of the hash value of a previous block.
- the hash value of a previous block is specifically the hash value of the block header of the immediately previous block. Based on the hash value, a link between blocks is achieved.
- a transaction is a command issued by a node when registering data into the blockchain. For example, when doing business in a cryptocurrency, a transaction including information of the user address of the remitter, the user address of the remittee, and the amount remitted, or the like, is generated.
- the generated transaction is broadcast with a signature of the sender and is propagated to each node in the blockchain network NW.
- the transmission of a transaction can be implemented by various data propagation algorithms used in the P2P network. For example, a method of simply transmitting a transaction to a neighboring node and repeating propagation from the neighboring node to another node may be employed. Alternatively, a particular node that is highly probable to exist, called a supernode, may be prescribed, and a transaction may be transmitted to the supernode. Defining the supernode as the destination can increase the probability that the transaction propagates to each node in the blockchain network NW.
- Addition of a block to the blockchain is executed by a node called a miner.
- a miner attempts to generate a block including the transaction.
- the block is added to the blockchain under the condition that a consensus is built based on a consensus algorithm.
- PoW Proof of Work
- the block header includes a field called a nonce.
- the nonce is set by the miner. In other words, the miner executes processing to search for a nonce such that the hash value of the block header satisfies the particular condition.
- a hash function for finding the hash value it is difficult to predict an output value from an input value. Therefore, the miner needs to search for a nonce that satisfies the condition, by changing the nonce like a round-robin event. That is, PoW is a method of building a consensus based on the amount of work.
- the block is verified at each node and then propagates in the blockchain network NW.
- the verification at each node is the processing to find a hash value and determine whether the hash value satisfies the particular condition or not. This processing can be executed within a short time.
- the consensus algorithm is not limited to PoW.
- Other consensus algorithms may be used, such as PoS (Proof of Stake), which gives the right to speak according to the amount of cryptocurrency held, or PoI (Proof of Importance), which gives the right to speak according to the degree of importance of the participant.
- PoS Proof of Stake
- PoI Proof of Importance
- a specific signature it may be unconditionally regarded that a consensus is built.
- a private network which only a limited user and terminal can access it may be unconditionally regarded that a consensus is built, without even the determination about signature.
- the consensus building based on the consensus algorithm in the embodiment includes the case where it is unconditionally regarded that a consensus is built.
- FIG. 4 is a flowchart explaining processing to write data into the blockchain.
- a node that wishes to write data into the blockchain generates a transaction including the data and broadcasts the transaction in the blockchain network NW (S 101 ).
- NW blockchain network
- the notification to each node is not limited to broadcasting and may use other measures used in the P2P network, as described above.
- each node receiving the data carries out consensus building based on a consensus algorithm in order to determine whether the data can be written into the blockchain or not (S 102 ).
- a consensus algorithm various algorithms such as PoW, PoS, and PoI can be employed, as described above.
- the processing of step S 102 is repeated until a consensus is built based on the consensus algorithm (when No in step S 103 ).
- step S 103 When a consensus is built based on the consensus algorithm (Yes in step S 103 ), the consensus building is broadcast to each node (S 104 ) and each node writes the data into the blockchain held by the node itself (S 105 ). By this processing, the data broadcast in step S 101 is added to the blockchain and becomes available to each node.
- a program executed at a node can be added to the blockchain.
- the program includes a state and a function and is executed based on the execution environment within the node.
- the state may be rephrased as a set of variables.
- the function may be rephrased as subroutine, method or the like.
- the execution environment in the node is, for example, a virtual machine.
- the writing of a program into the blockchain, based on a smart contract is similarly executed according to the flow described with reference to FIG. 4 . That is, a node that wishes to write based on a smart contract generates and broadcasts a transaction including a program that is a writing target. When a consensus is built on the transaction based on the consensus algorithm, the program is written into the blockchain, based on the smart contract.
- the processing unit 110 of the providing device 100 generates a transaction for registering a charging processing program as a smart contract into the blockchain. Writing a charging processing program into the blockchain using a smart contract in this way enables execution of the charging processing program at an arbitrary node in the blockchain network NW.
- another smart contract program can be accessed from a predetermined smart contract program. That is, as the charging processing program or the like written into the blockchain is executed based on a smart contract, a cooperation between processing programs can be easily achieved. A specific example of the cooperation will be described later.
- the processing unit 110 of the providing device 100 generates a transaction for registering, into the blockchain, a contract management program for managing contract account information to decide a charging content.
- the contract management program written as a smart contract into the blockchain is referred to as a contract management contract.
- processing to decide the charging content based on the contract content can be executed, based on a program shared using the blockchain.
- the contract account information includes contract ID, contracting party information, contract content information, information of the electronic apparatus 300 that is a management target, collection rule of status-of-use data of the electronic apparatus 300 , and the like.
- the contract ID is information univocally specifying the contract.
- the contracting party information is information of the name and ID of a client who is a contracting party.
- a predetermined contracting party may conclude a plurality of charging contracts.
- the contract content information is information including contract type, unit price, discount information, cut-off date, invoicing method, and the like.
- the contract type expresses which data of the status-of-use data is used for charging, for example, charging according to the number of sheets printed, charging according to the amount of ink consumed, charging according to the time of use, or the like.
- the contract type may include information representing the presence/absence of a fixed fee portion.
- the unit price is information of the amount charged per unit quantity, for example, information about how much yen per sheet of a predetermined sheet size, or information about how many milliliters of ink consumed for how much yen.
- the discount information is information of the discount rate, for example, a discount at what percent off the amount charged when a predetermined number of sheets or more or a predetermined amount of ink or more is used.
- the contract management contract is periodically executed and executes another program written into the blockchain, based on the smart contract, according to a condition designated in advance.
- the contract management contract itself may have a periodic execution function.
- the contract management contract may be periodically started from outside and may start another program written into the blockchain, when there is a task that needs to be done.
- the processing unit 110 of the providing device 100 generates a transaction for registering, into the blockchain, a collection program for collecting the status-of-use data of the electronic apparatus 300 .
- the collection program is a program started according to a predetermined schedule by the contract management program.
- the collection program written as a smart contract into the blockchain is referred to as a collection contract.
- the collection of the status-of-use data of the electronic apparatus 300 can be executed, based on a program shared using the blockchain.
- the acquisition of the status-of-use data based on the collection contract is executed, for example, in conformity with SNMP (Simple Network Management Protocol).
- the processing device 200 executing the collection contract is a manager of communication, and each electronic apparatus 300 is an agent of communication.
- the processing device executes the collection program, thus carries out communication in conformity with SNMP, and receives MIB (Management Information Base) information from the electronic apparatus.
- MIB Management Information Base
- the status-of-use data in the embodiment is amount-of-use information or time-of-use information of the electronic apparatus 300 .
- the amount-of-use information is information representing the degree of use of the electronic apparatus 300 as a quantity, and in a narrow sense, the amount of consumption of a consumable part.
- the electronic apparatus 300 is a printer, the number of sheets printed or the amount of ink consumed is employed.
- the amount-of-use information is not limited to the amount of a consumable part.
- the electronic apparatus 300 is a scanner, the number of documents read may be employed as the amount-of-use information.
- the amount of movement of a moving part of the electronic apparatus 300 may be employed as the amount-of-use information.
- the time-of-use information is information representing the time for which the electronic apparatus 300 is used.
- the time-of-use information is, for example, information representing the time for which the power of the electronic apparatus 300 is on.
- the time for which a particular function of the electronic apparatus 300 is used may be employed as the time-of-use information.
- various functions are conceivable, such as the print function of a printer, and the scanning function of a scanner.
- status-of-use data suitable for charging processing can be acquired.
- the collection contract also performs processing to register the acquired status-of-use data into the blockchain. Specifically, the collection contract performs issue processing for generating a transaction including the status-of-use data and registering the transaction into the blockchain.
- issue processing for generating a transaction including the status-of-use data and registering the transaction into the blockchain.
- the contract management contract holds the information about the collection rule for status-of-use data.
- the status-of-use data can be collected at a proper timing according to the contract account information. More specifically, the contract management contract designates an electronic apparatus 300 to be a collection target and starts the collection contract, and the collection contract acquires the status-of-use data of the designated electronic apparatus 300 .
- the specific start timing can be implemented with various modifications, it is desirable that the collection contract is started at least once a day.
- the processing unit 110 of the providing device 100 generates a transaction for registering, into the blockchain, an aggregation program for aggregating the status-of-use data of the electronic apparatus 300 .
- the aggregation program is a program started by the contract management program.
- the aggregation program written as a smart contract into the blockchain is referred to as an aggregation contract.
- aggregation processing of the status-of-use data collected by the collection contract can be executed, based on a program shared using the blockchain.
- the contract management contract holds the information about the cut-off date.
- the cut-off date is information representing a date that serves as a reference point in the charging processing, for example, information of the last day of every month or the like.
- the setting of the cut-off date is not limited to once a month and may be on a different cycle such as once every two months.
- the contract management contract starts the aggregation contract, the aggregation processing for charging can be executed at a proper timing.
- the contract management contract designates a contract ID, an aggregation target period, and an electronic apparatus 300 to be an aggregation target, and starts the aggregation contract.
- the electronic apparatus 300 to be an aggregation target is referred to as an aggregation target apparatus.
- the aggregation contract acquires data of the aggregation target period and about the aggregation target apparatus, of the status-of-use data saved in the blockchain, and performs aggregation processing of the acquired data.
- the aggregation processing is, in a narrow sense, arithmetic processing to calculate a total value of the amount of use or the time of use over the entire aggregation target period.
- the processing unit 110 of the providing device 100 generates a transaction for registering the charging processing program into the blockchain.
- the charging processing program is a program started by the aggregation program.
- the charging processing program written as a smart contract into the blockchain is referred to as a charging contract.
- the charging processing is started, triggered by the completion of the aggregation processing, and therefore the charging processing based on a proper aggregation result can be executed.
- the aggregation contract starts the charging contract, using the contract ID and the aggregation result as parameters.
- the aggregation contract may write the aggregation result into the blockchain, and the charging contract may acquire the aggregation result from the blockchain.
- the aggregation result can be transferred from the aggregation contract to the charging contract without using the blockchain.
- the charging contract makes an inquiry to the contract management contract, based on the acquired contract ID, and acquires a contract condition corresponding to the contract ID.
- the contract condition corresponds to the unit price and the discount information, of the contract content information.
- the charging contract decides the amount charged, based on the aggregation result and the contract condition. For example, the charging contract multiplies the number of sheets printed, which is the aggregation result, by the unit price, then makes a discount off the multiplication result, based on the discount information, and decides the resulting amount as the amount charged.
- the processing unit 110 of the providing device 100 generates a transaction for registering, into the blockchain, an invoicing program for invoicing the corresponding contract account for the amount charged decided by the charging processing program.
- the invoicing program is a program started by the charging processing program.
- the invoicing program written as a smart contract into the blockchain is referred to as an invoicing contract.
- the invoicing of the amount charged decided by the charging contract can be executed, based on a program shared using the blockchain.
- the charging contract starts the invoicing contract, using the contract ID and the amount charged as parameters.
- the invoicing contract makes an inquiry to the contract management contract, based on the acquired contract ID, and acquires an invoicing method corresponding to the contract ID.
- the invoicing method includes the destination of an invoice and the sending method for the invoice.
- the sending method is by mail or by email or the like.
- the invoicing contract sends the invoice according to the acquired invoicing method.
- the sending of the invoice is a payment request in the blockchain.
- the processing device 200 generates a transaction for registering, into the blockchain, a settlement program for making a settlement in response to the invoicing based on the invoicing program.
- the settlement program is a program for making a settlement using a cryptocurrency in the blockchain.
- the settlement program is a program started by the invoicing program.
- the settlement program written as a smart contract into the blockchain is referred to as a settlement contract.
- the settlement in response to the invoicing based on the invoicing contract can be executed, based on a program shared using the blockchain.
- the settlement contract is a contract for payment in a cryptocurrency and therefore needs to be registered into the blockchain by each contracting party for each contracting party. Therefore, the processing device 200 performs processing to generate a settlement contract and register the settlement contract into the blockchain.
- it is allowable to write a program that generates a program into the blockchain, based on a smart contract.
- the providing device 100 may provide a program for generating a settlement contract, based on a smart contract, and the processing device 200 may execute this program and thus generate a settlement contract for its own settlement.
- the settlement contract is, for example, a program holding the address of the contracting party as the remitter of the cryptocurrency.
- the invoicing contract starts the settlement contract, using an invoice as a parameter.
- the invoice is information designating the address of the remitter and the amount remitted.
- the settlement contract performs processing to pay the invoice amount in the cryptocurrency from the address held of the contracting party to the address of the cryptocurrency designated in the invoice.
- the providing device 100 in the embodiment performs the processing to write a processing program related to charging as a smart contract into the blockchain.
- the processing unit 110 of the providing device 100 performs the processing to generate a transaction for registering each processing program into a block in the blockchain.
- the generated transaction is broadcast in the blockchain network NW.
- the processing device 200 performs the processing to write a settlement program as a smart contract into the blockchain.
- the processing device 200 similarly performs the processing to generate a transaction for registering the settlement contract into a block in the blockchain.
- the flow following the generation of the transaction is as described above with reference to FIG. 4 . Specifically, processing using a consensus algorithm is performed, and the block in which the transaction is placed is added to the blockchain when a consensus is build.
- FIG. 5 shows an example of the blockchain in the embodiment.
- a transaction including a contract management contract is written in a block A.
- a transaction including a collection contract is written in a block B.
- a transaction including an aggregation contract is written in a block C.
- a transaction including a charging contract is written in a block D.
- a transaction including an invoicing contract is written in a block E.
- a transaction including a settlement contract is written in a block F.
- Adding the blocks A to F to the blockchain enables each node in the blockchain network NW to execute each processing related to charging in the embodiment.
- FIG. 5 shows an example of the structure of the blockchain.
- Each program can be written into the blockchain based on a smart contract in whatever order. Also, a plurality of contracts may be written in one block.
- the blockchain can include not only the programs written based on the smart contract shown in FIG. 5 but also arbitrary data communicated via the blockchain network NW.
- the data written into the blockchain may be, for example, data representing the result of execution of a program, information representing a cryptocurrency transaction, or other data.
- the data representing the result of execution may be status-of-use data, which is the result of execution of the collection contract, aggregation data, which is the result of execution of the aggregation contract, amount charged data, which is the result of execution of the charging contract, or the result of execution of a program not illustrated in FIG. 5 .
- the information representing a cryptocurrency transaction may be the result of execution of the settlement contract or information representing the result of a different cryptocurrency transaction from the settlement contract according to the embodiment.
- the contract in this case is, for example, a contract for print charge.
- the contract decides the information of the contract type, unit price, discount information, cut-off date, and invoicing method included in the contract management contract. Each piece of information is as described above.
- the processing unit 110 of the providing device 100 writes, into the blockchain, the above information decided by the contract, and contract account information including contracting party information, information of the electronic apparatus 300 to be managed, a collection rule for the status-of-use data of the electronic apparatus 300 , and the like.
- the contract management contract includes a variable for managing the contract account information on a contracting party basis, and a function to update the variable.
- the processing unit 110 performs processing to issue a transaction for calling the function, using the contract account information of the contracting party as a parameter, and thus write the contract account information into the blockchain.
- the charging processing in the embodiment is implemented by periodically executing two kinds of processing, that is, collection processing based on the collection contract and cut-off date processing to perform aggregation to settlement.
- the two kinds of processing are periodically executed by the contract management contract.
- FIG. 6 is a flowchart explaining the execution of the contract management contract.
- the contract management contract executes each step in FIG. 6 .
- one of the nodes in the blockchain network NW executes a program provided as a smart contract in the execution environment within the node, thus implementing each step.
- the registration of the contract management contract into the blockchain and the writing of the contract account information are considered to be executed by the providing device 100 .
- each step described below with reference to FIG. 6 may be executed by the providing device 100 or by another node such as the processing device 200 .
- the contract management contract registers the start time of the collection contract or the aggregation contract, based on the contract account information (S 201 ).
- the processing of step S 201 is processing to acquire the information of the collection rule for status-of-use data and the cut-off date, referring to the contract account information of each contracting party included in the contract management contract.
- the collection rule is, for example, information such as “collect at 09:00 every day” or “collect four times at 09:00, 12:00, 15:00, and 18:00 every day”.
- the cut-off date is, for example, information such as “09:00 on 21 of every month” or “08:00 on the first day of every month”.
- the contract management contract compares the time acquired in step S 201 with the current time and determines whether the start time has passed or not (S 202 ). When the start time has not passed (No in step S 202 ), the contract management contract returns to step S 202 and continues the processing until the start time passes.
- the contract management contract determines whether it is the start time of the collection contract or not (S 203 ).
- the contract management contract starts the collection contract, using information specifying the electronic apparatus 300 that is a target of collection of status-of-use data, as a parameter (S 204 ).
- the collection contract is not started.
- the contract management contract also determines whether it is the start time of the aggregation contract or not (S 205 ). When Yes in step S 205 , the contract management contract starts the aggregation contract, using information specifying a contract ID, an aggregation target period, and an aggregation target apparatus, as a parameter (S 206 ). When No in step S 205 , the aggregation contract is not started. When No in step S 205 , or after the processing of step S 206 , the contract management contract returns to step S 202 and repeatedly executes the processing.
- the contract management contract may have a periodic execution function. That is, the contract management contract may periodically execute the processing shown in FIG. 6 , using its own function.
- the contract management contract may not have the periodic execution function, and an external program may periodically start the contract management contract.
- the external program does not know the collection rule for status-of-use data and the cut-off date information. Therefore, the external program periodically starts the contract management contract at arbitrary intervals such as every minute, every five minutes, every 30 minutes, or every hour. Every time the contract management contract is started, the contract management contract performs the processing shown in FIG. 6 . That is, the contract management contract checks the collection rule for status-of-use data and the cut-off date, and starts the target collection contract or aggregation contract when there is a rule that is unexecuted and that has passed the scheduled time.
- the contract management contract executes two kinds of processing, that is, starting the collection contract according to the collection rule “collect at 09:00 every day”, and starting the aggregation contract according to the cut-off date “09:00 on 21 of every month (company A)”.
- FIG. 7 is a flowchart explaining the processing of the collection contract started in step S 204 .
- Each step shown in FIG. 7 is implemented by the collection contract operating in the execution environment of the processing device 200 coupled to the electronic apparatus 300 that is a collection target.
- the collection contract acquires information of the electronic apparatus 300 that is a target of collecting status-of-use data, based on the information provided as a parameter from the contract management contract (S 301 ).
- the collection contract collects status-of-use data from the electronic apparatus 300 that is a collection target, based on the information acquired in step S 301 (S 302 ).
- the collection contract may collect only the data used for charging for the number of sheets printed or the amount of remaining ink or the like, or may collect other collectable data.
- the processing of step S 302 is performed by communication in conformity with the foregoing SNMP.
- various modifications can be made to the technique for implementing step S 302 .
- the collection contract determines whether the collection from all the electronic apparatuses 300 that are collection targets is done or not (S 303 ).
- the collection contract returns to step S 302 and continues collecting the status-of-use data.
- the collection contract performs processing to generate and issue a transaction for writing the collected status-of-use data into the blockchain (S 304 ).
- the collection contract performs processing to write, into the blockchain, information specifying the electronic apparatus 300 that is a collection target, and collection time information, in association with the status-of-use data.
- the processing shown in FIG. 7 is performed once to several times a day. Thus, the status-of-use data of the electronic apparatus 300 is accumulated in the blockchain.
- FIG. 8 is a flowchart explaining the processing on the cut-off date executed, triggered by the start processing of the aggregation contract in step S 206 .
- each program written into the blockchain based on a smart contract, executes each step in FIG. 8 .
- one of the nodes in the blockchain network NW executes the program in the execution environment within the node and thus implements each step. That is, the processing in FIG. 8 may be executed by the providing device 100 or may be executed by another node such as the processing device 200 .
- the aggregation contract acquires status-of-use data from the blockchain (S 401 ) and performs aggregation processing of the status-of-use data (S 402 ). Specifically, the aggregation contract acquires status-of-use data that coincides with the information of the aggregation target period and the aggregation target apparatus provided as a parameter from the contract management contract, of the status-of-use data accumulated in the blockchain. The aggregation contract then performs aggregation processing of the acquired status-of-use data. As described above, the collection contract performs the processing to write, into the blockchain, the collection time information and the information of the electronic apparatus 300 that is a collection target, in association with the status-of-use data. This association enables the aggregation contract to use proper status-of-use data as a target of the aggregation processing.
- step S 402 represents the aggregation processing for one of the electronic apparatuses 300 of collection targets.
- the aggregation contract determines whether the aggregation processing is completed for all the electronic apparatuses 300 of collection targets or not (S 403 ).
- the aggregation contract returns to step S 402 and continues the aggregation processing.
- the aggregation contract starts the charging contract, using the contract ID and the result of aggregation as parameters (S 404 ).
- the charging contract acquires a contract condition from the blockchain (S 405 ). Specifically, the charging contract makes an inquiry to the contract management contract, based on the contract ID acquired as a parameter, and acquires the unit price and discount information as a contract condition. The charging contract then decides the amount charged, based on the contract condition and the result of aggregation acquired as a parameter (S 406 ). After deciding the amount charged, the charging contract starts the invoicing contract, using the contract ID and the amount charged as parameters (S 407 ).
- the invoicing contract acquires an invoicing method from the blockchain (S 408 ). Specifically, the invoicing contract makes an inquiry to the contract management contract, based on the contract ID acquired as a parameter, and acquires information of a destination and sending method, as the invoicing method. The invoicing contract sends an invoice by the acquired method (S 409 ).
- the invoice in step S 409 is a payment request in the blockchain.
- the invoicing contract starts the settlement contract for the contracting party that is an invoicing target, using its own cryptocurrency reception address and the invoice amount as parameters (S 410 ).
- the settlement contract uses the address of the contracting party held by the settlement contract itself, as the transmission address for the cryptocurrency.
- the settlement contract then performs processing to write, into the blockchain, transaction data to the effect that the invoice amount is remitted from the transmission address to the reception address acquired as a parameter (S 411 ).
- the actual cryptocurrency transaction is concluded after a consensus built based on a consensus algorithm is approved.
- the settlement contract may perform processing to write the shortage as an unsettled transaction into the blockchain.
- the settlement contract processes transactions in order from the unsettled transaction in the blockchain at the time of the next settlement onward, and thus executes the settlement of the unpaid invoice.
- the processing system 10 automatically executing the collection processing, the aggregation processing, the charging processing, the invoicing processing, and the settlement processing can be achieved.
- Automating the charging processing in the blockchain can achieve automatic charging via only one system. Also, a part of the processing for charging may be executed without using the blockchain, as in the case where a settlement of an invoicing made by mail or by email is made without using a cryptocurrency.
- processing for charging according to the status of use of the electronic apparatus 300 can be automated, using the blockchain technology.
- each processing of collection of status-of-use data, aggregation of the collected status-of-use data, charging based on the result of aggregation, and invoicing for the amount charged can be automated.
- a settlement based on invoicing can be automated, using a cryptocurrency in the blockchain.
- consensus building based on a consensus algorithm is carried out when writing data into the blockchain. This can restrain an issued transaction from being left unattended without being written, and can restrain the same transaction from being written twice. That is, duplicate charging and failure to charge can be restrained without a manual check.
- the contract management program itself may be an external program.
- the external program starts another contract such as the collection contract at a required timing.
- the processing unit 110 of the providing device 100 may generate a transaction for registering, into the blockchain, the collection program for collecting the status-of-use data of the electronic apparatus 300 , and the collection program may be started by the external program.
- the processing unit 110 may generate a transaction for registering, into the blockchain, the aggregation program for aggregating the status-of-use data, and the aggregation program may be started by the external program.
- the contract management program can be implemented in various forms.
- the providing device includes: a communication unit communicating with a network using a blockchain; and a processing unit controlling the communication unit.
- the processing unit generates a transaction for registering, into the blockchain, a charging processing program for performing charging processing according to a status of use of an electronic apparatus that is a management target, and issues the generated transaction to the network via the communication unit.
- the processing to register the program for charging according to the status of use of the electronic apparatus, into the blockchain is carried out.
- the charging processing program As the charging processing program is written into the blockchain, the charging processing program can be executed at each node in the network using the blockchain. Thus, charging according to the status of use of the electronic apparatus can be properly executed, using the blockchain.
- the processing unit may generate the transaction for registering, into the blockchain, a contract management program for managing contract account information to decide a charging content.
- the management of the contract account information can be executed, using the blockchain.
- the processing unit may generate the transaction for registering, into the blockchain, a collection program for collecting status-of-use data of the electronic apparatus.
- the collection of the status-of-use data can be executed, using the blockchain.
- the processing unit may generate the transaction for registering, into the blockchain, a collection program for collecting status-of-use data of the electronic apparatus.
- the collection program may be started according to a predetermined schedule by the contract management program.
- the collection of the status-of-use data can be executed, using the blockchain, and the contract management program and the collection program can be made to work in cooperation with each other.
- the processing unit may generate the transaction for registering, into the blockchain, an aggregation program for aggregating the status-of-use data.
- the aggregation of the status-of-use data can be executed, using the blockchain.
- the processing unit may generate the transaction for registering, into the blockchain, an aggregation program for aggregating the status-of-use data.
- the aggregation program may be started by the contract management program.
- the aggregation of the status-of-use data can be executed, using the blockchain, and the contract management program and the aggregation program can be made to work in cooperation with each other.
- the charging processing program may be started by the aggregation program.
- the contract management program and the charging processing program can be made to work in cooperation with each other.
- the status-of-use data may be amount-of-use information or time-of-use information of the electronic apparatus.
- data suitable for the charging processing can be properly collected as the status-of-use data.
- the processing unit may generate the transaction for registering, into the blockchain, an invoicing program for invoicing a corresponding contract account for an amount charged decided by the charging processing program.
- the invoicing program may be started by the charging processing program.
- the amount charged can be invoiced, using the blockchain, and the charging processing program and the invoicing program can be made to work in cooperation with each other.
- the processing unit may generate the transaction for registering the charging processing program as a smart contract into the blockchain.
- the charging processing program can be provided as a smart contract in the blockchain technology.
- the processing system includes: the providing device described in one of the foregoing forms; and a processing device that is provided corresponding to the electronic apparatus and that acquires the charging processing program from the blockchain and executes the charging processing program.
- the processing device may generate the transaction for registering, into the blockchain, a settlement program for making a settlement of an invoicing based on the invoicing program.
- the settlement program may make a settlement, using a cryptocurrency in the blockchain.
- the settlement processing of the invoicing can be executed, using the blockchain.
- the processing device which is the invoice receiving side, performs processing to register the settlement program.
- cryptocurrency remittance processing can be properly executed.
- the communication method is a communication method in a network using a blockchain.
- the method includes: generating a transaction for registering, into the blockchain, a charging processing program for performing charging processing according to a status of use of an electronic apparatus that is a management target; and issuing the generated transaction to the network.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
- The present application is based on, and claims priority from JP Application Serial Number 2018-158989, filed Aug. 28, 2018, the disclosure of which is hereby incorporated by reference herein in its entirety.
- The present disclosure relates to a providing device, a processing system, and a communication method or the like.
- According to the related art, a management tool for collecting information of an electronic apparatus such as a printer is known. Also, a system for charging processing according to the status of use of a consumable part of an electronic apparatus is known. For example, JP-A-2002-36582 discloses a charging device which detects the amount of remaining ink in a printer and refunds according to the amount of remaining ink, thus charging an amount according to the amount of ink used.
- Various system configurations for performing charging processing according to the status of use of an electronic apparatus are conceivable. For example, a technique of linking a plurality of systems to work in cooperation with each other, such as a system for collecting and aggregating data from an electronic apparatus, a system for calculation for charging based on the result of aggregation, a system for invoicing for the amount charged, and a system for settlement, is conceivable.
- However, according to the related art, a technique using a blockchain technology in a system for charging processing according to the status of use of an electronic apparatus is not disclosed.
- A providing device according to an aspect of the present disclosure includes: a communication unit communicating with a network using a blockchain; and a processing unit controlling the communication unit. The processing unit generates a transaction for registering, into the blockchain, a charging processing program for performing charging processing according to a status of use of an electronic apparatus that is a management target, and issues the generated transaction to the network via the communication unit.
-
FIG. 1 shows a configuration example of a providing device. -
FIG. 2 shows a configuration example of a processing system. -
FIG. 3 is an explanatory view of a blockchain. -
FIG. 4 is a flowchart explaining write processing to a blockchain. -
FIG. 5 shows an example of a blockchain in an embodiment. -
FIG. 6 is a flowchart explaining processing of a contract management contract. -
FIG. 7 is a flowchart explaining collection processing to collect status-of-use data. -
FIG. 8 is a flowchart explaining processing on a cut-off date. - Hereinafter, an embodiment will be described. The embodiment described below should not unduly limit the content of the present disclosure described in the appended claims. Not all the components described in the embodiment are necessarily essential components.
-
FIG. 1 shows a configuration example of a providingdevice 100 in this embodiment. The providingdevice 100 includes acommunication unit 120 communicating with a network using a blockchain, and aprocessing unit 110 controlling thecommunication unit 120. Theprocessing unit 110 generates a transaction for registering, into the blockchain, a charging processing program for performing charging processing according to the status of use of anelectronic apparatus 300 that is a management target, and issues the generated transaction to the network via thecommunication unit 120. As described in detail later with reference toFIG. 2 , theelectronic apparatus 300 is coupled to the network using the blockchain, directly or via aprocessing device 200. The network using the blockchain is hereinafter referred to as a blockchain network NW. The phrase “register into the blockchain” specifically means that data is written into a block in the blockchain. - In the blockchain network NW, a data structure called a blockchain in which a plurality of blocks is linked together in the form of a chain is used. A transaction is a command issued when performing processing to register data into the blockchain. Each node in the blockchain network NW holds a blockchain of the same content. Therefore, when a transaction including a processing program issued by the providing
device 100 is written into the blockchain, the processing program can be referred to from all the nodes participating in the blockchain network NW. The processing program in this case is, in a narrow sense, a charging processing program. However, the processing program may include various other programs related to charging, as described later. This facilitates the provision of each processing program to implement the charging processing. - The
electronic apparatus 300 in the embodiment is, for example, a printer. Alternatively, theelectronic apparatus 300 may be a scanner, facsimile machine or copy machine. Theelectronic apparatus 300 may also be a multifunction peripheral (MFP) having a plurality of functions. An MFP having a print function is an example of the printer. Theelectronic apparatus 300 may also be a projector, head-mounted display device, wearable device, biological information measuring device such as pulse meter or activity meter, robot, video device such as camera, portable information terminal such as smartphone, or physical quantity measuring device or the like. - The
processing unit 110 in the embodiment is formed of the following hardware. The hardware can include at least one of a circuit processing a digital signal and a circuit processing an analog signal. For example, the hardware can be formed of one or a plurality of circuit devices or one or a plurality of circuit elements, installed at a circuit board. The one or plurality of circuit devices is, for example, IC(s). The one or plurality of circuit elements is, for example, resistor(s), capacitor(s) or the like. - The
processing unit 110 may also be implemented by the following processor. The providingdevice 100 in the embodiment includes a memory storing information, and a processor operating based on the information stored in the memory. The information is, for example, a program and various data or the like. The processor includes hardware. As the processor, various processors can be used, such as CPU (central processing unit), GPU (graphics processing unit), or DSP (digital signal processor). The memory may be a semiconductor memory such as SRAM (static random-access memory) or DRAM (dynamic random-access memory), register, magnetic storage device such as hard disk device, or optical storage device such as optical disk device. For example, the memory stores a computer-readable command. As the processor executes the command, the function of each part of the providingdevice 100 is implemented as processing. The command in this case may be a command in a command set forming a program, or a command instructing the hardware circuit of the processor to perform an operation. -
FIG. 2 shows a configuration example of aprocessing system 10 including the providingdevice 100 in the embodiment, and theprocessing device 200. Theprocessing device 200 is a device which is provided corresponding to theelectronic apparatus 300 and which executes a processing program.FIG. 2 shows an example where twoprocessing devices 200 are provided and where twoelectronic apparatuses 300 are coupled to eachprocessing device 200. However, the number ofprocessing devices 200 and the number ofelectronic apparatuses 300 are not limited to this example. Also, whileFIG. 2 shows an example where theprocessing device 200 and theelectronic apparatus 300 are different apparatuses, theelectronic apparatus 300 may include theprocessing device 200. That is, theelectronic apparatus 300 may directly participate in the blockchain network NW. - In the providing
device 100 and theprocessing device 200, a client application of a blockchain is installed. The client application is software for participating in the blockchain network NW. The client application is software for executing various kinds of processing performed in the blockchain network NW, such as generation and issue of a transaction, processing of a consensus algorithm, and management of a cryptocurrency. - Also, a management application for managing the
electronic apparatus 300 is installed in theprocessing device 200. The client application and the management application may be different applications that can cooperate with each other, or may be implemented as one application including both the blockchain client function and the management function for theelectronic apparatus 300. - The management application executes a processing command to the
electronic apparatus 300 and thus controls theelectronic apparatus 300. Various processing commands for controlling theelectronic apparatus 300 are conceivable, such as an initialization command, a restart command, and a setting change command. A collection program for acquiring status-of-use data of theelectronic apparatus 300 is assumed to be written into the blockchain and executed by the client application. However, the management application may hold a processing program equivalent to the collection program. In this case, the management application periodically executes this processing program. Thus, the status-of-use data of theelectronic apparatus 300 is acquired. - The technique in the embodiment may be applied not only to the providing
device 100 shown inFIG. 1 but also to theprocessing system 10 shown inFIG. 2 . As shown inFIG. 2 , theprocessing system 10 according to the embodiment includes the providingdevice 100, and theprocessing device 200 which is provided corresponding to theelectronic apparatus 300. - The blockchain technology will now be described. The following description is a part of elements forming the blockchain technology. A different technical element may be added. Also, a part of the technical elements described below may be omitted. The blockchain technology in the embodiment also includes an extended form of each technical element.
- Blockchain is a technique for distributed consensus building by participants in an open network. The blockchain network NW is a P2P network. Therefore, unlike a client/server system, no particular apparatus performs centralized management of data. In the blockchain network NW, data is managed based on a data structure called blockchain, where blocks are coupled together, and each node holds a common blockchain.
-
FIG. 3 explains the structure of a blockchain. One block includes data of a plurality of transactions, and data of the hash value of a previous block. The hash value of a previous block is specifically the hash value of the block header of the immediately previous block. Based on the hash value, a link between blocks is achieved. A transaction is a command issued by a node when registering data into the blockchain. For example, when doing business in a cryptocurrency, a transaction including information of the user address of the remitter, the user address of the remittee, and the amount remitted, or the like, is generated. - The generated transaction is broadcast with a signature of the sender and is propagated to each node in the blockchain network NW. The transmission of a transaction can be implemented by various data propagation algorithms used in the P2P network. For example, a method of simply transmitting a transaction to a neighboring node and repeating propagation from the neighboring node to another node may be employed. Alternatively, a particular node that is highly probable to exist, called a supernode, may be prescribed, and a transaction may be transmitted to the supernode. Defining the supernode as the destination can increase the probability that the transaction propagates to each node in the blockchain network NW.
- Addition of a block to the blockchain is executed by a node called a miner. When a predetermined amount of transaction is accumulated, the miner attempts to generate a block including the transaction. The block is added to the blockchain under the condition that a consensus is built based on a consensus algorithm.
- When PoW (Proof of Work) is used as the consensus algorithm, the hash value of the block header needs to satisfy a particular condition. The particular condition is, for example, the hash value is lower than a predetermined threshold. The block header includes a field called a nonce. The nonce is set by the miner. In other words, the miner executes processing to search for a nonce such that the hash value of the block header satisfies the particular condition. With a hash function for finding the hash value, it is difficult to predict an output value from an input value. Therefore, the miner needs to search for a nonce that satisfies the condition, by changing the nonce like a round-robin event. That is, PoW is a method of building a consensus based on the amount of work.
- When a new block is generated by the miner, the block is verified at each node and then propagates in the blockchain network NW. The verification at each node is the processing to find a hash value and determine whether the hash value satisfies the particular condition or not. This processing can be executed within a short time.
- The consensus algorithm is not limited to PoW. Other consensus algorithms may be used, such as PoS (Proof of Stake), which gives the right to speak according to the amount of cryptocurrency held, or PoI (Proof of Importance), which gives the right to speak according to the degree of importance of the participant. Also, when a specific signature is given, it may be unconditionally regarded that a consensus is built. When a private network which only a limited user and terminal can access is used, it may be unconditionally regarded that a consensus is built, without even the determination about signature. The consensus building based on the consensus algorithm in the embodiment includes the case where it is unconditionally regarded that a consensus is built.
-
FIG. 4 is a flowchart explaining processing to write data into the blockchain. As this processing starts, first, a node that wishes to write data into the blockchain generates a transaction including the data and broadcasts the transaction in the blockchain network NW (S101). The notification to each node is not limited to broadcasting and may use other measures used in the P2P network, as described above. - Next, each node receiving the data carries out consensus building based on a consensus algorithm in order to determine whether the data can be written into the blockchain or not (S102). As the consensus algorithm, various algorithms such as PoW, PoS, and PoI can be employed, as described above. The processing of step S102 is repeated until a consensus is built based on the consensus algorithm (when No in step S103).
- When a consensus is built based on the consensus algorithm (Yes in step S103), the consensus building is broadcast to each node (S104) and each node writes the data into the blockchain held by the node itself (S105). By this processing, the data broadcast in step S101 is added to the blockchain and becomes available to each node.
- In the blockchain network NW, a program executed at a node can be added to the blockchain. The program includes a state and a function and is executed based on the execution environment within the node. The state may be rephrased as a set of variables. The function may be rephrased as subroutine, method or the like. The execution environment in the node is, for example, a virtual machine. Such a mechanism of adding a program to the blockchain and executing the program at a node is called a smart contract.
- The writing of a program into the blockchain, based on a smart contract, is similarly executed according to the flow described with reference to
FIG. 4 . That is, a node that wishes to write based on a smart contract generates and broadcasts a transaction including a program that is a writing target. When a consensus is built on the transaction based on the consensus algorithm, the program is written into the blockchain, based on the smart contract. - The
processing unit 110 of the providingdevice 100 according to the embodiment generates a transaction for registering a charging processing program as a smart contract into the blockchain. Writing a charging processing program into the blockchain using a smart contract in this way enables execution of the charging processing program at an arbitrary node in the blockchain network NW. - Particularly, in the blockchain technology, another smart contract program can be accessed from a predetermined smart contract program. That is, as the charging processing program or the like written into the blockchain is executed based on a smart contract, a cooperation between processing programs can be easily achieved. A specific example of the cooperation will be described later.
- The processing in the embodiment will now be described. First, a specific example of the smart contract used in the processing in the embodiment will be described. Then, a flow of the processing will be described using a flowchart.
- The
processing unit 110 of the providingdevice 100 generates a transaction for registering, into the blockchain, a contract management program for managing contract account information to decide a charging content. The contract management program written as a smart contract into the blockchain is referred to as a contract management contract. Thus, processing to decide the charging content based on the contract content can be executed, based on a program shared using the blockchain. - The contract account information includes contract ID, contracting party information, contract content information, information of the
electronic apparatus 300 that is a management target, collection rule of status-of-use data of theelectronic apparatus 300, and the like. - The contract ID is information univocally specifying the contract. The contracting party information is information of the name and ID of a client who is a contracting party. A predetermined contracting party may conclude a plurality of charging contracts.
- The contract content information is information including contract type, unit price, discount information, cut-off date, invoicing method, and the like. The contract type expresses which data of the status-of-use data is used for charging, for example, charging according to the number of sheets printed, charging according to the amount of ink consumed, charging according to the time of use, or the like. The contract type may include information representing the presence/absence of a fixed fee portion. The unit price is information of the amount charged per unit quantity, for example, information about how much yen per sheet of a predetermined sheet size, or information about how many milliliters of ink consumed for how much yen. The discount information is information of the discount rate, for example, a discount at what percent off the amount charged when a predetermined number of sheets or more or a predetermined amount of ink or more is used.
- The contract management contract is periodically executed and executes another program written into the blockchain, based on the smart contract, according to a condition designated in advance. The contract management contract itself may have a periodic execution function. Alternatively, the contract management contract may be periodically started from outside and may start another program written into the blockchain, when there is a task that needs to be done.
- The
processing unit 110 of the providingdevice 100 generates a transaction for registering, into the blockchain, a collection program for collecting the status-of-use data of theelectronic apparatus 300. The collection program is a program started according to a predetermined schedule by the contract management program. The collection program written as a smart contract into the blockchain is referred to as a collection contract. Thus, the collection of the status-of-use data of theelectronic apparatus 300 can be executed, based on a program shared using the blockchain. - The acquisition of the status-of-use data based on the collection contract is executed, for example, in conformity with SNMP (Simple Network Management Protocol). In this case, the
processing device 200 executing the collection contract is a manager of communication, and eachelectronic apparatus 300 is an agent of communication. The processing device executes the collection program, thus carries out communication in conformity with SNMP, and receives MIB (Management Information Base) information from the electronic apparatus. - The status-of-use data in the embodiment is amount-of-use information or time-of-use information of the
electronic apparatus 300. The amount-of-use information is information representing the degree of use of theelectronic apparatus 300 as a quantity, and in a narrow sense, the amount of consumption of a consumable part. When theelectronic apparatus 300 is a printer, the number of sheets printed or the amount of ink consumed is employed. However, the amount-of-use information is not limited to the amount of a consumable part. For example, when theelectronic apparatus 300 is a scanner, the number of documents read may be employed as the amount-of-use information. Alternatively, the amount of movement of a moving part of theelectronic apparatus 300, for example, the amount of rotation of a motor or the like may be employed as the amount-of-use information. The time-of-use information is information representing the time for which theelectronic apparatus 300 is used. The time-of-use information is, for example, information representing the time for which the power of theelectronic apparatus 300 is on. However, the time for which a particular function of theelectronic apparatus 300 is used may be employed as the time-of-use information. As the particular function, various functions are conceivable, such as the print function of a printer, and the scanning function of a scanner. Thus, status-of-use data suitable for charging processing can be acquired. - The collection contract also performs processing to register the acquired status-of-use data into the blockchain. Specifically, the collection contract performs issue processing for generating a transaction including the status-of-use data and registering the transaction into the blockchain. When a consensus is built based on a consensus algorithm, a block including the transaction is added to the blockchain, and this enables the status-of-use data to be referred to from each node.
- As described above, the contract management contract holds the information about the collection rule for status-of-use data. As the contract management contract starts the collection contract, the status-of-use data can be collected at a proper timing according to the contract account information. More specifically, the contract management contract designates an
electronic apparatus 300 to be a collection target and starts the collection contract, and the collection contract acquires the status-of-use data of the designatedelectronic apparatus 300. Although the specific start timing can be implemented with various modifications, it is desirable that the collection contract is started at least once a day. - The
processing unit 110 of the providingdevice 100 generates a transaction for registering, into the blockchain, an aggregation program for aggregating the status-of-use data of theelectronic apparatus 300. The aggregation program is a program started by the contract management program. The aggregation program written as a smart contract into the blockchain is referred to as an aggregation contract. Thus, aggregation processing of the status-of-use data collected by the collection contract can be executed, based on a program shared using the blockchain. - As described above, the contract management contract holds the information about the cut-off date. The cut-off date is information representing a date that serves as a reference point in the charging processing, for example, information of the last day of every month or the like. However, the setting of the cut-off date is not limited to once a month and may be on a different cycle such as once every two months. As the contract management contract starts the aggregation contract, the aggregation processing for charging can be executed at a proper timing.
- More specifically, the contract management contract designates a contract ID, an aggregation target period, and an
electronic apparatus 300 to be an aggregation target, and starts the aggregation contract. Hereinafter, theelectronic apparatus 300 to be an aggregation target is referred to as an aggregation target apparatus. The aggregation contract acquires data of the aggregation target period and about the aggregation target apparatus, of the status-of-use data saved in the blockchain, and performs aggregation processing of the acquired data. The aggregation processing is, in a narrow sense, arithmetic processing to calculate a total value of the amount of use or the time of use over the entire aggregation target period. - As described above, the
processing unit 110 of the providingdevice 100 generates a transaction for registering the charging processing program into the blockchain. The charging processing program is a program started by the aggregation program. The charging processing program written as a smart contract into the blockchain is referred to as a charging contract. Thus, the charging processing is started, triggered by the completion of the aggregation processing, and therefore the charging processing based on a proper aggregation result can be executed. - When the aggregation result is acquired, the aggregation contract starts the charging contract, using the contract ID and the aggregation result as parameters. The aggregation contract may write the aggregation result into the blockchain, and the charging contract may acquire the aggregation result from the blockchain. However, since aggregation and charging normally correspond one-to-one, the aggregation result can be transferred from the aggregation contract to the charging contract without using the blockchain.
- The charging contract makes an inquiry to the contract management contract, based on the acquired contract ID, and acquires a contract condition corresponding to the contract ID. The contract condition corresponds to the unit price and the discount information, of the contract content information. The charging contract decides the amount charged, based on the aggregation result and the contract condition. For example, the charging contract multiplies the number of sheets printed, which is the aggregation result, by the unit price, then makes a discount off the multiplication result, based on the discount information, and decides the resulting amount as the amount charged.
- The
processing unit 110 of the providingdevice 100 generates a transaction for registering, into the blockchain, an invoicing program for invoicing the corresponding contract account for the amount charged decided by the charging processing program. The invoicing program is a program started by the charging processing program. The invoicing program written as a smart contract into the blockchain is referred to as an invoicing contract. Thus, the invoicing of the amount charged decided by the charging contract can be executed, based on a program shared using the blockchain. - The charging contract starts the invoicing contract, using the contract ID and the amount charged as parameters. The invoicing contract makes an inquiry to the contract management contract, based on the acquired contract ID, and acquires an invoicing method corresponding to the contract ID. The invoicing method includes the destination of an invoice and the sending method for the invoice. The sending method is by mail or by email or the like. The invoicing contract sends the invoice according to the acquired invoicing method. When making a settlement using a cryptocurrency, the sending of the invoice is a payment request in the blockchain.
- The
processing device 200 generates a transaction for registering, into the blockchain, a settlement program for making a settlement in response to the invoicing based on the invoicing program. The settlement program is a program for making a settlement using a cryptocurrency in the blockchain. The settlement program is a program started by the invoicing program. The settlement program written as a smart contract into the blockchain is referred to as a settlement contract. Thus, the settlement in response to the invoicing based on the invoicing contract can be executed, based on a program shared using the blockchain. - The settlement contract is a contract for payment in a cryptocurrency and therefore needs to be registered into the blockchain by each contracting party for each contracting party. Therefore, the
processing device 200 performs processing to generate a settlement contract and register the settlement contract into the blockchain. In the blockchain technology, it is allowable to write a program that generates a program into the blockchain, based on a smart contract. For example, the providingdevice 100 may provide a program for generating a settlement contract, based on a smart contract, and theprocessing device 200 may execute this program and thus generate a settlement contract for its own settlement. The settlement contract is, for example, a program holding the address of the contracting party as the remitter of the cryptocurrency. - The invoicing contract starts the settlement contract, using an invoice as a parameter. The invoice is information designating the address of the remitter and the amount remitted. The settlement contract performs processing to pay the invoice amount in the cryptocurrency from the address held of the contracting party to the address of the cryptocurrency designated in the invoice.
- As described above, the providing
device 100 in the embodiment performs the processing to write a processing program related to charging as a smart contract into the blockchain. Specifically, theprocessing unit 110 of the providingdevice 100 performs the processing to generate a transaction for registering each processing program into a block in the blockchain. The generated transaction is broadcast in the blockchain network NW. Theprocessing device 200 performs the processing to write a settlement program as a smart contract into the blockchain. Theprocessing device 200 similarly performs the processing to generate a transaction for registering the settlement contract into a block in the blockchain. - The flow following the generation of the transaction is as described above with reference to
FIG. 4 . Specifically, processing using a consensus algorithm is performed, and the block in which the transaction is placed is added to the blockchain when a consensus is build. -
FIG. 5 shows an example of the blockchain in the embodiment. A transaction including a contract management contract is written in a block A. A transaction including a collection contract is written in a block B. A transaction including an aggregation contract is written in a block C. A transaction including a charging contract is written in a block D. A transaction including an invoicing contract is written in a block E. A transaction including a settlement contract is written in a block F. Adding the blocks A to F to the blockchain enables each node in the blockchain network NW to execute each processing related to charging in the embodiment.FIG. 5 shows an example of the structure of the blockchain. Each program can be written into the blockchain based on a smart contract in whatever order. Also, a plurality of contracts may be written in one block. - The blockchain can include not only the programs written based on the smart contract shown in
FIG. 5 but also arbitrary data communicated via the blockchain network NW. The data written into the blockchain may be, for example, data representing the result of execution of a program, information representing a cryptocurrency transaction, or other data. The data representing the result of execution may be status-of-use data, which is the result of execution of the collection contract, aggregation data, which is the result of execution of the aggregation contract, amount charged data, which is the result of execution of the charging contract, or the result of execution of a program not illustrated inFIG. 5 . The information representing a cryptocurrency transaction may be the result of execution of the settlement contract or information representing the result of a different cryptocurrency transaction from the settlement contract according to the embodiment. - Next, details of the processing in the embodiment will be described. The following description is based on the assumption that each of the foregoing programs is written in the blockchain, based on a smart contract, by the processing shown in
FIG. 4 . - When a contract about charging is concluded between a service provider and a contracting party using a service, registration processing to register contract account information into the blockchain is first performed as preprocessing. The contract in this case is, for example, a contract for print charge. The contract decides the information of the contract type, unit price, discount information, cut-off date, and invoicing method included in the contract management contract. Each piece of information is as described above.
- The
processing unit 110 of the providingdevice 100 writes, into the blockchain, the above information decided by the contract, and contract account information including contracting party information, information of theelectronic apparatus 300 to be managed, a collection rule for the status-of-use data of theelectronic apparatus 300, and the like. For example, the contract management contract includes a variable for managing the contract account information on a contracting party basis, and a function to update the variable. Theprocessing unit 110 performs processing to issue a transaction for calling the function, using the contract account information of the contracting party as a parameter, and thus write the contract account information into the blockchain. - The charging processing in the embodiment is implemented by periodically executing two kinds of processing, that is, collection processing based on the collection contract and cut-off date processing to perform aggregation to settlement. The two kinds of processing are periodically executed by the contract management contract.
-
FIG. 6 is a flowchart explaining the execution of the contract management contract. In the description below, it is assumed that the contract management contract executes each step inFIG. 6 . However, in practice, one of the nodes in the blockchain network NW executes a program provided as a smart contract in the execution environment within the node, thus implementing each step. The registration of the contract management contract into the blockchain and the writing of the contract account information are considered to be executed by the providingdevice 100. However, each step described below with reference toFIG. 6 may be executed by the providingdevice 100 or by another node such as theprocessing device 200. - First, the contract management contract registers the start time of the collection contract or the aggregation contract, based on the contract account information (S201). The processing of step S201 is processing to acquire the information of the collection rule for status-of-use data and the cut-off date, referring to the contract account information of each contracting party included in the contract management contract. The collection rule is, for example, information such as “collect at 09:00 every day” or “collect four times at 09:00, 12:00, 15:00, and 18:00 every day”. The cut-off date is, for example, information such as “09:00 on 21 of every month” or “08:00 on the first day of every month”.
- Next, the contract management contract compares the time acquired in step S201 with the current time and determines whether the start time has passed or not (S202). When the start time has not passed (No in step S202), the contract management contract returns to step S202 and continues the processing until the start time passes.
- When it is determined that the start time has passed (Yes in step S202), the contract management contract determines whether it is the start time of the collection contract or not (S203). When Yes in step S203, the contract management contract starts the collection contract, using information specifying the
electronic apparatus 300 that is a target of collection of status-of-use data, as a parameter (S204). When No in step S203, the collection contract is not started. - The contract management contract also determines whether it is the start time of the aggregation contract or not (S205). When Yes in step S205, the contract management contract starts the aggregation contract, using information specifying a contract ID, an aggregation target period, and an aggregation target apparatus, as a parameter (S206). When No in step S205, the aggregation contract is not started. When No in step S205, or after the processing of step S206, the contract management contract returns to step S202 and repeatedly executes the processing.
- Performing the processing in
FIG. 6 enables the start of the collection contract according to the collection rule or the start of the aggregation contract on the cut-off date. The contract management contract may have a periodic execution function. That is, the contract management contract may periodically execute the processing shown inFIG. 6 , using its own function. - Alternatively, the contract management contract may not have the periodic execution function, and an external program may periodically start the contract management contract. In this case, the external program does not know the collection rule for status-of-use data and the cut-off date information. Therefore, the external program periodically starts the contract management contract at arbitrary intervals such as every minute, every five minutes, every 30 minutes, or every hour. Every time the contract management contract is started, the contract management contract performs the processing shown in
FIG. 6 . That is, the contract management contract checks the collection rule for status-of-use data and the cut-off date, and starts the target collection contract or aggregation contract when there is a rule that is unexecuted and that has passed the scheduled time. For example, it is assumed that information “collect at 09:00 every day, collect at 09:00 every Monday” is acquired as the collection rule, that information “09:00 on 21 of every month (company A), 08:00 on the first day of every month (company B)” is acquired as the cut-off date, and that the contract management contract is started from the external program at 09:03 on 21 of a certain month. In this case, the contract management contract executes two kinds of processing, that is, starting the collection contract according to the collection rule “collect at 09:00 every day”, and starting the aggregation contract according to the cut-off date “09:00 on 21 of every month (company A)”. -
FIG. 7 is a flowchart explaining the processing of the collection contract started in step S204. Each step shown inFIG. 7 is implemented by the collection contract operating in the execution environment of theprocessing device 200 coupled to theelectronic apparatus 300 that is a collection target. As this processing is started, the collection contract acquires information of theelectronic apparatus 300 that is a target of collecting status-of-use data, based on the information provided as a parameter from the contract management contract (S301). - Next, the collection contract collects status-of-use data from the
electronic apparatus 300 that is a collection target, based on the information acquired in step S301 (S302). In step S302, the collection contract may collect only the data used for charging for the number of sheets printed or the amount of remaining ink or the like, or may collect other collectable data. For example, when theelectronic apparatus 300 is a printer, the processing of step S302 is performed by communication in conformity with the foregoing SNMP. However, various modifications can be made to the technique for implementing step S302. - Next, the collection contract determines whether the collection from all the
electronic apparatuses 300 that are collection targets is done or not (S303). When a target apparatus from which the status-of-use data is not collected yet is left (No in step S303), the collection contract returns to step S302 and continues collecting the status-of-use data. When the status-of-use data of all theelectronic apparatuses 300 is collected (Yes in step S303), the collection contract performs processing to generate and issue a transaction for writing the collected status-of-use data into the blockchain (S304). The collection contract performs processing to write, into the blockchain, information specifying theelectronic apparatus 300 that is a collection target, and collection time information, in association with the status-of-use data. The processing shown inFIG. 7 is performed once to several times a day. Thus, the status-of-use data of theelectronic apparatus 300 is accumulated in the blockchain. -
FIG. 8 is a flowchart explaining the processing on the cut-off date executed, triggered by the start processing of the aggregation contract in step S206. In the description below, it is assumed that each program written into the blockchain, based on a smart contract, executes each step inFIG. 8 . However, in practice, one of the nodes in the blockchain network NW executes the program in the execution environment within the node and thus implements each step. That is, the processing inFIG. 8 may be executed by the providingdevice 100 or may be executed by another node such as theprocessing device 200. - As this processing is started, the aggregation contract acquires status-of-use data from the blockchain (S401) and performs aggregation processing of the status-of-use data (S402). Specifically, the aggregation contract acquires status-of-use data that coincides with the information of the aggregation target period and the aggregation target apparatus provided as a parameter from the contract management contract, of the status-of-use data accumulated in the blockchain. The aggregation contract then performs aggregation processing of the acquired status-of-use data. As described above, the collection contract performs the processing to write, into the blockchain, the collection time information and the information of the
electronic apparatus 300 that is a collection target, in association with the status-of-use data. This association enables the aggregation contract to use proper status-of-use data as a target of the aggregation processing. - In the example of
FIG. 8 , when there is a plurality ofelectronic apparatuses 300 to be aggregation targets, it is assumed that the aggregation processing is performed with respect to everyelectronic apparatus 300. Therefore, the processing of step S402 represents the aggregation processing for one of theelectronic apparatuses 300 of collection targets. After step S402, the aggregation contract determines whether the aggregation processing is completed for all theelectronic apparatuses 300 of collection targets or not (S403). When a target apparatus for which aggregation is not yet done is left (No in step S403), the aggregation contract returns to step S402 and continues the aggregation processing. When the aggregation processing for all theelectronic apparatuses 300 is finished, the aggregation contract starts the charging contract, using the contract ID and the result of aggregation as parameters (S404). - The charging contract, thus started, acquires a contract condition from the blockchain (S405). Specifically, the charging contract makes an inquiry to the contract management contract, based on the contract ID acquired as a parameter, and acquires the unit price and discount information as a contract condition. The charging contract then decides the amount charged, based on the contract condition and the result of aggregation acquired as a parameter (S406). After deciding the amount charged, the charging contract starts the invoicing contract, using the contract ID and the amount charged as parameters (S407).
- The invoicing contract, thus started, acquires an invoicing method from the blockchain (S408). Specifically, the invoicing contract makes an inquiry to the contract management contract, based on the contract ID acquired as a parameter, and acquires information of a destination and sending method, as the invoicing method. The invoicing contract sends an invoice by the acquired method (S409).
- When making a settlement using a cryptocurrency, the invoice in step S409 is a payment request in the blockchain. To make a payment request, the invoicing contract starts the settlement contract for the contracting party that is an invoicing target, using its own cryptocurrency reception address and the invoice amount as parameters (S410).
- The settlement contract uses the address of the contracting party held by the settlement contract itself, as the transmission address for the cryptocurrency. The settlement contract then performs processing to write, into the blockchain, transaction data to the effect that the invoice amount is remitted from the transmission address to the reception address acquired as a parameter (S411). The actual cryptocurrency transaction is concluded after a consensus built based on a consensus algorithm is approved.
- In the settlement processing, when the account of the contracting party only holds an amount of cryptocurrency less than the invoice amount, the settlement contract may perform processing to write the shortage as an unsettled transaction into the blockchain. In this case, the settlement contract processes transactions in order from the unsettled transaction in the blockchain at the time of the next settlement onward, and thus executes the settlement of the unpaid invoice.
- Subsequently, by continuously implementing the execution processing of the contract management contract shown in
FIG. 6 , the periodic collection processing by the collection contract shown inFIG. 7 , and the cut-off date processing shown inFIG. 8 , theprocessing system 10 automatically executing the collection processing, the aggregation processing, the charging processing, the invoicing processing, and the settlement processing can be achieved. Automating the charging processing in the blockchain can achieve automatic charging via only one system. Also, a part of the processing for charging may be executed without using the blockchain, as in the case where a settlement of an invoicing made by mail or by email is made without using a cryptocurrency. - According to the embodiment, processing for charging according to the status of use of the
electronic apparatus 300 can be automated, using the blockchain technology. In a narrow sense, each processing of collection of status-of-use data, aggregation of the collected status-of-use data, charging based on the result of aggregation, and invoicing for the amount charged can be automated. Similarly, a settlement based on invoicing can be automated, using a cryptocurrency in the blockchain. In the blockchain technology, consensus building based on a consensus algorithm is carried out when writing data into the blockchain. This can restrain an issued transaction from being left unattended without being written, and can restrain the same transaction from being written twice. That is, duplicate charging and failure to charge can be restrained without a manual check. - An example where the contract management contract has a periodic execution function and an example where the contract management contract not having a periodic execution function is started by an external program are described above. In both cases, an example where the contract management program is implemented as a program written into the blockchain, based on a smart contract, is described.
- However, the contract management program itself may be an external program. The external program starts another contract such as the collection contract at a required timing.
- The
processing unit 110 of the providingdevice 100 may generate a transaction for registering, into the blockchain, the collection program for collecting the status-of-use data of theelectronic apparatus 300, and the collection program may be started by the external program. Alternatively, theprocessing unit 110 may generate a transaction for registering, into the blockchain, the aggregation program for aggregating the status-of-use data, and the aggregation program may be started by the external program. Thus, the contract management program can be implemented in various forms. - As described above, the providing device according to the embodiment includes: a communication unit communicating with a network using a blockchain; and a processing unit controlling the communication unit. The processing unit generates a transaction for registering, into the blockchain, a charging processing program for performing charging processing according to a status of use of an electronic apparatus that is a management target, and issues the generated transaction to the network via the communication unit.
- In the embodiment, the processing to register the program for charging according to the status of use of the electronic apparatus, into the blockchain, is carried out. As the charging processing program is written into the blockchain, the charging processing program can be executed at each node in the network using the blockchain. Thus, charging according to the status of use of the electronic apparatus can be properly executed, using the blockchain.
- In the embodiment, the processing unit may generate the transaction for registering, into the blockchain, a contract management program for managing contract account information to decide a charging content.
- Thus, the management of the contract account information can be executed, using the blockchain.
- In the embodiment, the processing unit may generate the transaction for registering, into the blockchain, a collection program for collecting status-of-use data of the electronic apparatus.
- Thus, the collection of the status-of-use data can be executed, using the blockchain.
- In the embodiment, the processing unit may generate the transaction for registering, into the blockchain, a collection program for collecting status-of-use data of the electronic apparatus. The collection program may be started according to a predetermined schedule by the contract management program.
- Thus, the collection of the status-of-use data can be executed, using the blockchain, and the contract management program and the collection program can be made to work in cooperation with each other.
- In the embodiment, the processing unit may generate the transaction for registering, into the blockchain, an aggregation program for aggregating the status-of-use data.
- Thus, the aggregation of the status-of-use data can be executed, using the blockchain.
- In the embodiment, the processing unit may generate the transaction for registering, into the blockchain, an aggregation program for aggregating the status-of-use data. The aggregation program may be started by the contract management program.
- Thus, the aggregation of the status-of-use data can be executed, using the blockchain, and the contract management program and the aggregation program can be made to work in cooperation with each other.
- In the embodiment, the charging processing program may be started by the aggregation program.
- Thus, the contract management program and the charging processing program can be made to work in cooperation with each other.
- In the embodiment, the status-of-use data may be amount-of-use information or time-of-use information of the electronic apparatus.
- Thus, data suitable for the charging processing can be properly collected as the status-of-use data.
- In the embodiment, the processing unit may generate the transaction for registering, into the blockchain, an invoicing program for invoicing a corresponding contract account for an amount charged decided by the charging processing program. The invoicing program may be started by the charging processing program.
- Thus, the amount charged can be invoiced, using the blockchain, and the charging processing program and the invoicing program can be made to work in cooperation with each other.
- In the embodiment, the processing unit may generate the transaction for registering the charging processing program as a smart contract into the blockchain.
- Thus, the charging processing program can be provided as a smart contract in the blockchain technology.
- The processing system according to the embodiment includes: the providing device described in one of the foregoing forms; and a processing device that is provided corresponding to the electronic apparatus and that acquires the charging processing program from the blockchain and executes the charging processing program.
- Thus, a system that performs charging processing using the blockchain and thus properly executes charging according to the status of use of the electronic apparatus can be implemented.
- In the embodiment, the processing device may generate the transaction for registering, into the blockchain, a settlement program for making a settlement of an invoicing based on the invoicing program. The settlement program may make a settlement, using a cryptocurrency in the blockchain.
- Thus, the settlement processing of the invoicing can be executed, using the blockchain. In this case, the processing device, which is the invoice receiving side, performs processing to register the settlement program. Thus, cryptocurrency remittance processing can be properly executed.
- The communication method according to the embodiment is a communication method in a network using a blockchain. The method includes: generating a transaction for registering, into the blockchain, a charging processing program for performing charging processing according to a status of use of an electronic apparatus that is a management target; and issuing the generated transaction to the network.
- The embodiment is described in detail above. However, a person skilled in the art can readily understand that various modifications can be made without substantially departing from the new matters and effects of the present disclosure. Therefore, all such modifications are included in the scope of the present disclosure. For example, a term described along with a different term having a broader meaning or the same meaning, at least once in the specification or drawings, can be replaced with the different term at any point in the specification or drawings. Also, all combinations of the embodiment and modifications are included in the scope of the present disclosure. The configuration and operation of the providing device, the processing device and the like are not limited to those described in the embodiment and can be implemented with various modifications.
Claims (13)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018158989A JP7206698B2 (en) | 2018-08-28 | 2018-08-28 | Providing device, processing system and communication method |
JP2018-158989 | 2018-08-28 | ||
JPJP2018-158989 | 2018-08-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20200074516A1 true US20200074516A1 (en) | 2020-03-05 |
US11276092B2 US11276092B2 (en) | 2022-03-15 |
Family
ID=69639403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/550,358 Active 2040-01-08 US11276092B2 (en) | 2018-08-28 | 2019-08-26 | Providing device, processing system, and communication method |
Country Status (3)
Country | Link |
---|---|
US (1) | US11276092B2 (en) |
JP (1) | JP7206698B2 (en) |
CN (1) | CN110866744A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10812581B2 (en) * | 2018-10-12 | 2020-10-20 | Bank Of America Corporation | Heterogeneous distributed ledger data curator |
CN112270466A (en) * | 2020-10-20 | 2021-01-26 | 中国联合网络通信集团有限公司 | Operation method and device of vehicle charging device |
EP3971809A1 (en) * | 2020-08-31 | 2022-03-23 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method and apparatus for starting smart contract, electronic device, and storage medium |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7487885B2 (en) * | 2020-09-30 | 2024-05-21 | Kddi株式会社 | Program, payment management system, and payment management method |
JP2023042816A (en) * | 2021-09-15 | 2023-03-28 | キヤノン株式会社 | System, information processing device, and control method thereof |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001338233A (en) * | 2000-03-24 | 2001-12-07 | Sony Corp | Electronic equipment, system and method for charging based on hours used, charging processor, recording medium and prepaid card |
JP2002036582A (en) | 2000-07-19 | 2002-02-05 | Sony Corp | Charging apparatus and method, and computer readable program memory medium in which program having charging function is recorded |
JP2003108885A (en) | 2001-09-28 | 2003-04-11 | Sony Corp | Electronic apparatus, time accounting system, time accounting method, accounting management device of electronic apparatus, storage medium and program |
US7103847B2 (en) * | 2002-07-18 | 2006-09-05 | International Business Machines Corporation | Method and system for monitoring the use of a resource in a processing system |
US10547687B2 (en) * | 2007-01-17 | 2020-01-28 | Eagency, Inc. | Mobile communication device monitoring systems and methods |
JP2008204270A (en) | 2007-02-21 | 2008-09-04 | Ricoh Co Ltd | Image forming apparatus, resource management method and program |
US10200541B2 (en) * | 2009-01-28 | 2019-02-05 | Headwater Research Llc | Wireless end-user device with divided user space/kernel space traffic policy system |
US9098333B1 (en) * | 2010-05-07 | 2015-08-04 | Ziften Technologies, Inc. | Monitoring computer process resource usage |
US10269029B1 (en) * | 2013-06-25 | 2019-04-23 | Amazon Technologies, Inc. | Application monetization based on application and lifestyle fingerprinting |
US9262470B1 (en) * | 2013-06-25 | 2016-02-16 | Amazon Technologies, Inc. | Application recommendations based on application and lifestyle fingerprinting |
US9652617B1 (en) * | 2013-06-25 | 2017-05-16 | Amazon Technologies, Inc. | Analyzing security of applications |
US9454565B1 (en) * | 2013-06-25 | 2016-09-27 | Amazon Technologies, Inc. | Identifying relationships between applications |
US9921827B1 (en) * | 2013-06-25 | 2018-03-20 | Amazon Technologies, Inc. | Developing versions of applications based on application fingerprinting |
US9449042B1 (en) * | 2013-06-25 | 2016-09-20 | Amazon Technologies, Inc. | Recommending improvements to and detecting defects within applications |
JP6146206B2 (en) | 2013-08-27 | 2017-06-14 | 株式会社リコー | Management device, management method, and program |
US20180019984A1 (en) * | 2014-03-31 | 2018-01-18 | Monticello Enterprises LLC | System and method for providing a credential management api |
US10497037B2 (en) * | 2014-03-31 | 2019-12-03 | Monticello Enterprises LLC | System and method for managing cryptocurrency payments via the payment request API |
US10504193B2 (en) * | 2014-03-31 | 2019-12-10 | Monticello Enterprises LLC | System and method for providing a universal shopping cart |
US10121186B2 (en) * | 2014-03-31 | 2018-11-06 | Monticello Enterprises LLC | System and method of using a browser application programming interface for making payments |
CA2923288A1 (en) * | 2015-03-12 | 2016-09-12 | Terracel Energy Llc | System and method for residential utility monitoring and improvement of energy efficiency |
US9870562B2 (en) * | 2015-05-21 | 2018-01-16 | Mastercard International Incorporated | Method and system for integration of market exchange and issuer processing for blockchain-based transactions |
US20180331832A1 (en) * | 2015-11-05 | 2018-11-15 | Allen Pulsifer | Cryptographic Transactions System |
US20170243216A1 (en) * | 2016-01-28 | 2017-08-24 | Bradley Elliott Kohn | Digital payment processing utilizing encrypted computer networking |
WO2017139688A1 (en) * | 2016-02-12 | 2017-08-17 | D+H Usa Corporation | Peer-to-peer financial transactions using a private distributed ledger |
GB201607476D0 (en) * | 2016-04-29 | 2016-06-15 | Eitc Holdings Ltd | Operating system for blockchain IOT devices |
US11176584B2 (en) * | 2016-08-03 | 2021-11-16 | Raise Marketplace, Llc | Cross-brand redemption in an exchange item marketplace network |
JP6703918B2 (en) | 2016-08-31 | 2020-06-03 | ヤフー株式会社 | Generation program, generation device, and generation method |
US10832247B2 (en) * | 2016-09-15 | 2020-11-10 | American Express Travel Related Services Company, Inc. | Systems and methods for blockchain based payment networks |
JP2018078702A (en) | 2016-11-08 | 2018-05-17 | 利秀 辻 | Energy system |
US11062285B2 (en) * | 2016-12-09 | 2021-07-13 | Go Moto, Inc. | Service kiosk |
US20180197155A1 (en) * | 2016-12-12 | 2018-07-12 | Topl, Llc | Method and Apparatus for Processing Mobile Payment Using Blockchain Techniques |
WO2018115929A1 (en) * | 2016-12-21 | 2018-06-28 | Valencia Renato | Method of, system for, data processing device, and integrated circuit device for implementing a distributed, ledger-based processing and recording of an electronic financial transaction |
CN106682983A (en) * | 2016-12-29 | 2017-05-17 | 深圳市喜悦智慧实验室有限公司 | Loan management system and method base on smart contract |
US10706027B2 (en) * | 2017-01-09 | 2020-07-07 | Sap Se | Database management system with dynamic allocation of database requests |
US10397348B2 (en) * | 2017-01-09 | 2019-08-27 | Visa International Service Association | Techniques for tracking recurrence across computer systems |
US11468439B2 (en) * | 2017-01-12 | 2022-10-11 | American Express Travel Related Services Company, Inc. | Systems and methods for blockchain based proof of payment |
US20180197156A1 (en) * | 2017-01-12 | 2018-07-12 | William Eugene Beesley | Distributed micro transactions for software defined networking flows |
US11037102B2 (en) * | 2017-01-20 | 2021-06-15 | Visa International Service Association | Automated data discovery with aggregated authentication |
US10810569B2 (en) * | 2017-01-30 | 2020-10-20 | Square, Inc. | Contacts for misdirected payments and user authentication |
JP2018132794A (en) | 2017-02-13 | 2018-08-23 | 株式会社野村総合研究所 | Sharing system |
WO2018148732A2 (en) * | 2017-02-13 | 2018-08-16 | Griddy Holdings Llc | Methods and systems for an automated utility marketplace platform |
US20180232693A1 (en) * | 2017-02-16 | 2018-08-16 | United Parcel Service Of America, Inc. | Autonomous services selection system and distributed transportation database(s) |
US11599883B2 (en) * | 2017-03-08 | 2023-03-07 | Visa International Service Association | System and method for fraud risk analysis in IoT |
EP3593487B1 (en) * | 2017-03-10 | 2021-04-28 | Visa International Service Association | Compact recordation protocol |
US10593129B2 (en) * | 2017-03-20 | 2020-03-17 | International Business Machines Corporation | Cognitive and dynamic vehicular parking |
US10680915B2 (en) * | 2017-03-29 | 2020-06-09 | Cisco Technology, Inc. | Consumption-based licensing of network features based on blockchain transactions |
US10719597B2 (en) * | 2017-04-04 | 2020-07-21 | Visa International Service Association | Authorization of virtual reality interactions using controlled randomization |
CN107292735A (en) * | 2017-05-27 | 2017-10-24 | 唐盛(北京)物联技术有限公司 | A kind of mortgage finance method and system based on block chain technology |
EP3631664B1 (en) * | 2017-06-02 | 2022-04-27 | Visa International Service Association | Secure biometric authentication using electronic identity |
CN107742352B (en) * | 2017-09-20 | 2018-08-24 | 黄玉宇 | Decentralization lot/queuing strategy and system based on block chain and intelligent contract |
US11449887B2 (en) * | 2017-10-09 | 2022-09-20 | American Express Travel Related Services Company, Inc. | Systems and methods for loyalty point distribution |
US20190164140A1 (en) * | 2017-11-24 | 2019-05-30 | Ramya Pasupula | System and method for blockchain based content monetization in an online trading platform |
US10320582B1 (en) * | 2017-11-30 | 2019-06-11 | Perfect Company, INC. | System for smart spoilage alerts |
US10756883B2 (en) * | 2018-01-19 | 2020-08-25 | Trist Technologies, Inc. | Systems and methods for data collection with blockchain recording |
US11140460B2 (en) * | 2018-05-29 | 2021-10-05 | At&T Intellectual Property I, L.P. | Content distribution pipeline watermarking |
US10979445B2 (en) * | 2018-07-09 | 2021-04-13 | At&T Intellectual Property I, L.P. | Security management of devices using blockchain technology |
US11126698B2 (en) * | 2018-10-26 | 2021-09-21 | Microsoft Technology Licensing, Llc | Distributed ledger system that facilitates device management |
US10901732B1 (en) * | 2019-07-10 | 2021-01-26 | Sprint Communications Company L.P. | System and method using a blockchain matrix |
-
2018
- 2018-08-28 JP JP2018158989A patent/JP7206698B2/en active Active
-
2019
- 2019-08-26 CN CN201910792416.4A patent/CN110866744A/en active Pending
- 2019-08-26 US US16/550,358 patent/US11276092B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10812581B2 (en) * | 2018-10-12 | 2020-10-20 | Bank Of America Corporation | Heterogeneous distributed ledger data curator |
EP3971809A1 (en) * | 2020-08-31 | 2022-03-23 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method and apparatus for starting smart contract, electronic device, and storage medium |
US11514446B2 (en) | 2020-08-31 | 2022-11-29 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method and apparatus for starting smart contract, electronic device, and storage medium |
CN112270466A (en) * | 2020-10-20 | 2021-01-26 | 中国联合网络通信集团有限公司 | Operation method and device of vehicle charging device |
Also Published As
Publication number | Publication date |
---|---|
JP7206698B2 (en) | 2023-01-18 |
CN110866744A (en) | 2020-03-06 |
US11276092B2 (en) | 2022-03-15 |
JP2020035041A (en) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11276092B2 (en) | Providing device, processing system, and communication method | |
US20080147774A1 (en) | Method and system for using an instant messaging system to gather information for a backend process | |
US20080301684A1 (en) | Multiple instance management for workflow process models | |
EP2783341A1 (en) | Methods and systems for processing orders in a subscription based billing system | |
MX2014002956A (en) | Marketplace for timely event data distribution. | |
JP7393426B2 (en) | An intelligent, autonomous, decentralized marketplace for distributed computing and storage | |
WO2023207146A1 (en) | Service simulation method and apparatus for esop system, and device and storage medium | |
CN110544134A (en) | resource processing method and device and computer storage medium | |
CN111813868B (en) | Data synchronization method and device | |
US20220207619A1 (en) | System and method for a revenue allocation engine for use with subscription economy | |
JP7243155B2 (en) | Provision device and processing system | |
US20130239123A1 (en) | Milestone manager | |
CN111127224B (en) | Information processing method, information processing device, electronic equipment and storage medium | |
US10901801B2 (en) | Distributed monitoring of network computers for dynamically updating assignments of tasks | |
US8873083B2 (en) | User centric print usage | |
US11321711B2 (en) | Providing apparatus and processing system | |
US20200074420A1 (en) | Providing device, processing system, and communication method | |
GB2552357A (en) | Computing system and method of operating the computing system | |
Košťál et al. | Omniscient: The Universal Blockchain Oracle | |
CN110378609B (en) | Service processing method, service processing device, electronic device and medium | |
Schaaf et al. | The OM4SPACE Activity Service-A semantically well-defined cloud-based event notification middleware | |
Kaleem | Essays on Smart Contracts and Oracles | |
CN117726462A (en) | Tax data processing method, tax data processing device, computer equipment and storage medium | |
JP2004062418A (en) | Method of accepting application and method of application | |
CN118250340A (en) | Scheduling method and device of cloud computing resources, network equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SEIKO EPSON CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YAMAKADO, HITOSHI;KAMEDA, TSUYOSHI;KURAMOTO, HIROYUKI;SIGNING DATES FROM 20190531 TO 20190604;REEL/FRAME:050160/0511 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |